diff --git a/.gitignore b/.gitignore
index 1062418..75db548 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 .idea/
+*.code-workspace
 *.iml
diff --git a/Android.bp b/Android.bp
index 31895db..a9c3ea0 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,4 +1,5 @@
 package {
+    default_team: "trendy_team_android_settings_app",
     default_applicable_licenses: ["packages_apps_Settings_license"],
 }
 
@@ -23,8 +24,8 @@
 genrule {
     name: "statslog-settings-java-gen",
     tools: ["stats-log-api-gen"],
-    cmd: "$(location stats-log-api-gen) --java $(out) --module settings"
-        + " --javaPackage com.android.settings.core.instrumentation --javaClass SettingsStatsLog",
+    cmd: "$(location stats-log-api-gen) --java $(out) --module settings" +
+        " --javaPackage com.android.settings.core.instrumentation --javaClass SettingsStatsLog",
     out: ["com/android/settings/core/instrumentation/SettingsStatsLog.java"],
 }
 
@@ -43,71 +44,83 @@
     ],
 }
 
-
-// Build the Settings APK
 android_library {
     name: "Settings-core",
-    platform_apis: true,
     defaults: [
-        "SettingsLibDefaults",
         "SettingsLib-search-defaults",
+        "SettingsLintDefaults",
         "SpaPrivilegedLib-defaults",
     ],
 
-    srcs: ["src/**/*.java", "src/**/*.kt"],
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
+    exclude_srcs: [
+        "src/com/android/settings/biometrics/fingerprint2/lib/**/*.kt",
+    ],
+    use_resource_processor: true,
     resource_dirs: [
         "res",
         "res-export", // for external usage
         "res-product",
     ],
     static_libs: [
-        "androidx-constraintlayout_constraintlayout",
-        "androidx.slice_slice-builders",
-        "androidx.slice_slice-core",
-        "androidx.slice_slice-view",
-        "androidx.core_core",
-        "androidx.appcompat_appcompat",
-        "androidx.cardview_cardview",
-        "androidx.compose.runtime_runtime-livedata",
-        "androidx.activity_activity-ktx",
-        "androidx.preference_preference",
-        "androidx.recyclerview_recyclerview",
-        "androidx.window_window",
-        "com.google.android.material_material",
-        "setupcompat",
-        "setupdesign",
-        "androidx.lifecycle_lifecycle-runtime",
-        "androidx.lifecycle_lifecycle-viewmodel",
+        // External dependencies
+        "androidx.navigation_navigation-fragment-ktx",
+        "androidx.window_window-java",
+        "gson",
         "guava",
-        "jsr305",
+
+        // Android internal dependencies
+        "BiometricsSharedLib",
+        "SystemUIUnfoldLib",
+        "WifiTrackerLib",
+        "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",
+
+        // Settings dependencies
+        "FingerprintManagerInteractor",
+        "MediaDrmSettingsFlagsLib",
+        "Settings-change-ids",
+        "SettingsLib",
+        "SettingsLibActivityEmbedding",
+        "aconfig_settings_flags_lib",
+        "accessibility_settings_flags_lib",
         "app-usage-event-protos-lite",
         "battery-event-protos-lite",
         "battery-usage-slot-protos-lite",
+        "contextualcards",
+        "development_settings_flag_lib",
+        "factory_reset_flags_lib",
+        "fuelgauge-log-protos-lite",
+        "fuelgauge-usage-state-protos-lite",
         "power-anomaly-event-protos-lite",
         "settings-contextual-card-protos-lite",
         "settings-log-bridge-protos-lite",
-        "settings-telephony-protos-lite",
-        "fuelgauge-log-protos-lite",
-        "fuelgauge-usage-state-protos-lite",
-        "contextualcards",
-        "securebox",
         "settings-logtags",
+        "settings-telephony-protos-lite",
         "statslog-settings",
-        "zxing-core-1.7",
-        "android.hardware.dumpstate-V1.0-java",
-        "android.hardware.dumpstate-V1.1-java",
-        "android.hardware.dumpstate-V1-java",
-        "lottie",
-        "WifiTrackerLib",
-        "SettingsLibActivityEmbedding",
-        "Settings-change-ids",
-        "androidx.room_room-runtime",
-        "SystemUIUnfoldLib",
+        "androidx.test.rules",
+        "telephony_flags_core_java_lib",
+        "setupdesign-lottie-loading-layout",
     ],
 
     plugins: ["androidx.room_room-compiler-plugin"],
 
+    errorprone: {
+        extra_check_modules: ["//external/nullaway:nullaway_plugin"],
+        javacflags: [
+            "-XepOpt:NullAway:AnnotatedPackages=com.android.settings",
+        ],
+    },
+
     libs: [
         "telephony-common",
         "ims-common",
@@ -120,6 +133,7 @@
     system_ext_specific: true,
 }
 
+// Build the Settings APK
 android_app {
     name: "Settings",
     defaults: [
@@ -136,6 +150,7 @@
     ],
     static_libs: ["Settings-core"],
     uses_libs: ["org.apache.http.legacy"],
+    use_resource_processor: true,
     resource_dirs: [],
     optimize: {
         proguard_flags_files: ["proguard.flags"],
@@ -151,19 +166,3 @@
     name: "Settings_proguard_flags",
     srcs: ["proguard.flags"],
 }
-
-// Deprecated. The sources for Settings need to be exposed to ArcSettings, so they can run the
-// com.android.settingslib.search.IndexableProcessor over all the sources together.
-// Use "-Acom.android.settingslib.search.processor.package=" instead to generate the search data
-// separately for different modules.
-filegroup {
-    name: "Settings_srcs",
-    srcs: ["src/**/*.java", "src/**/*.kt"],
-}
-
-// Deprecated. Do not depend on this, only depend on Settings-core, and its manifest is also
-// included.
-filegroup {
-    name: "Settings_manifest",
-    srcs: ["AndroidManifest.xml"],
-}
diff --git a/AndroidManifest.xml b/AndroidManifest.xml
index 453a71e..cbc0d8e 100644
--- a/AndroidManifest.xml
+++ b/AndroidManifest.xml
@@ -11,6 +11,11 @@
         android:name="com.android.settings.BATTERY_DATA"
         android:protectionLevel="signature|privileged"/>
 
+    <!-- Permission for using the Biometric Settings Provider. -->
+    <permission
+        android:name="com.android.settings.USE_BIOMETRIC_PROVIDER"
+        android:protectionLevel="signature|privileged"/>
+
     <uses-permission android:name="android.permission.REQUEST_NETWORK_SCORES" />
     <uses-permission android:name="android.permission.WRITE_MEDIA_STORAGE" />
     <uses-permission android:name="android.permission.MANAGE_EXTERNAL_STORAGE" />
@@ -36,7 +41,7 @@
     <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED" />
     <uses-permission android:name="android.permission.QUERY_AUDIO_STATE" />
     <uses-permission android:name="android.permission.MASTER_CLEAR" />
-    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" />
+    <uses-permission android:name="com.google.android.googleapps.permission.GOOGLE_AUTH" android:maxSdkVersion="34"/>
     <uses-permission android:name="android.permission.ACCESS_DOWNLOAD_MANAGER" />
     <uses-permission android:name="android.permission.READ_CONTACTS" />
     <uses-permission android:name="android.permission.WRITE_CONTACTS" />
@@ -97,6 +102,7 @@
     <uses-permission android:name="android.permission.OVERRIDE_WIFI_CONFIG" />
     <uses-permission android:name="android.permission.RESTART_WIFI_SUBSYSTEM" />
     <uses-permission android:name="android.permission.MANAGE_FINGERPRINT" />
+    <uses-permission android:name="android.permission.RECOVERY"/>
     <uses-permission android:name="android.permission.USE_BIOMETRIC" />
     <uses-permission android:name="android.permission.USE_BIOMETRIC_INTERNAL" />
     <uses-permission android:name="android.permission.USER_ACTIVITY" />
@@ -133,6 +139,10 @@
     <uses-permission android:name="android.permission.CUSTOMIZE_SYSTEM_UI" />
     <uses-permission android:name="android.permission.REMAP_MODIFIER_KEYS" />
     <uses-permission android:name="android.permission.ACCESS_GPU_SERVICE" />
+    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
+    <uses-permission android:name="android.permission.MANAGE_GAME_MODE" />
+    <uses-permission android:name="android.permission.RESTART_PHONE_PROCESS" />
+    <uses-permission android:name="android.permission.MANAGE_ENHANCED_CONFIRMATION_STATES" />
 
     <application
             android:name=".SettingsApplication"
@@ -305,6 +315,19 @@
                        android:value="true" />
         </activity>
 
+        <activity android:name=".Settings$ResetMobileNetworkSettingsActivity"
+                  android:exported="true"
+                  android:label="@string/reset_mobile_network_settings_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.telephony.action.RESET_MOBILE_NETWORK_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.ResetNetwork"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_system"/>
+        </activity>
+
         <activity
             android:name=".Settings$ConnectedDeviceDashboardActivity"
             android:label="@string/connected_devices_dashboard_title"
@@ -433,6 +456,7 @@
         <activity
             android:name="Settings$NetworkSelectActivity"
             android:label="@string/choose_network_title"
+            android:permission="android.permission.SATELLITE_COMMUNICATION"
             android:configChanges="orientation|keyboard|keyboardHidden|screenSize|screenLayout|smallestScreenSize">
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.network.telephony.NetworkSelectSettings" />
@@ -486,6 +510,17 @@
                 android:value="@string/menu_key_display"/>
         </activity>
 
+        <activity android:name=".Settings$ScreenTimeoutActivity"
+                  android:label="@string/screen_timeout"
+                  android:exported="true">
+            <intent-filter>
+                <action android:name="android.settings.SCREEN_TIMEOUT_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.display.ScreenTimeoutSettings"/>
+        </activity>
+
         <activity
             android:name="Settings$ConfigureWifiSettingsActivity"
             android:label="@string/wifi_configure_settings_preference_title"
@@ -593,6 +628,27 @@
                 android:value="true" />
         </activity>
 
+        <activity android:name="Settings$SatelliteSettingActivity"
+                  android:label="@string/satellite_setting"
+                  android:exported="true"
+                  android:configChanges="orientation|keyboardHidden|screenSize">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.SATELLITE_SETTING" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <intent-filter>
+                <action android:name="android.intent.action.MAIN" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <category android:name="android.intent.category.VOICE_LAUNCH" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                       android:value="true" />
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.network.telephony.SatelliteSetting" />
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_network"/>
+        </activity>
+
         <activity android:name="Settings$ApnSettingsActivity"
                 android:label="@string/apn_settings"
                 android:exported="true"
@@ -607,7 +663,7 @@
                 <category android:name="android.intent.category.VOICE_LAUNCH" />
             </intent-filter>
             <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
-                android:value="true" />
+                       android:value="true" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.network.apn.ApnSettings" />
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
@@ -642,20 +698,6 @@
                        android:value="@string/menu_key_connected_devices"/>
         </activity-alias>
 
-        <activity android:name="Settings$AssistGestureSettingsActivity"
-            android:label="@string/assist_gesture_title"
-            android:exported="true"
-            android:icon="@drawable/ic_settings_gestures">
-            <intent-filter>
-                <action android:name="android.settings.ASSIST_GESTURE_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.gestures.AssistGestureSettings" />
-            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
-                       android:value="@string/menu_key_system"/>
-        </activity>
-
         <activity android:name="Settings$FaceSettingsActivity"
             android:label="@string/security_settings_face_preference_title"
             android:exported="true"
@@ -716,6 +758,13 @@
                        android:value="@string/menu_key_security"/>
         </activity>
 
+        <activity android:name=".Settings$PrivateSpaceBiometricSettingsActivity"
+                  android:label="@string/private_space_biometric_title"
+                  android:exported="false">
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.privatespace.onelock.PrivateSpaceBiometricSettings" />
+        </activity>
+
         <activity android:name=".bluetooth.DevicePickerActivity"
                 android:label="@string/device_picker"
                 android:configChanges="orientation|keyboardHidden|screenSize"
@@ -754,6 +803,11 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".network.SimOnboardingActivity"
+            android:exported="false"
+            android:permission="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
+            android:theme="@style/Theme.SpaLib.BottomSheetDialog"/>
+
         <activity android:name=".network.telephony.ToggleSubscriptionDialogActivity"
                   android:exported="false"
                   android:permission="android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS"
@@ -895,6 +949,39 @@
                        android:value="@string/menu_key_apps"/>
         </activity>
 
+        <activity-alias
+            android:name="BackupTasksActivity"
+            android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
+            android:exported="true"
+            android:targetActivity=".spa.SpaBridgeActivity"
+            android:label="@string/run_backup_tasks_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.REQUEST_RUN_BACKUP_JOBS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.spa.DESTINATION"
+                       android:value="TogglePermissionAppList/BackupTasksApps"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_apps"/>
+        </activity-alias>
+
+        <activity-alias
+            android:name="AppBackupTasksActivity"
+            android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
+            android:exported="true"
+            android:targetActivity=".spa.SpaAppBridgeActivity"
+            android:label="@string/run_backup_tasks_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.REQUEST_RUN_BACKUP_JOBS" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.spa.DESTINATION"
+                       android:value="TogglePermissionAppInfoPage/BackupTasksApps"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_apps"/>
+        </activity-alias>
+
         <activity
             android:name="Settings$DateTimeSettingsActivity"
             android:label="@string/date_and_time"
@@ -961,6 +1048,11 @@
             </intent-filter>
         </activity>
 
+        <activity android:name=".localepicker.NotificationActionActivity"
+            android:excludeFromRecents="true"
+            android:theme="@android:style/Theme.NoDisplay">
+        </activity>
+
         <activity
             android:name=".Settings$LanguageAndInputSettingsActivity"
             android:label="@string/language_settings"
@@ -1636,7 +1728,7 @@
         </activity>
 
         <activity
-            android:name="Settings$HighPowerApplicationsActivity"
+            android:name="Settings$AppBatteryUsageActivity"
             android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
             android:exported="true"
             android:label="@string/high_power_apps">
@@ -1645,6 +1737,12 @@
                 <category android:name="android.intent.category.BROWSABLE" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.BACKGROUND_RESTRICTIONS_SETTINGS" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                 android:value="com.android.settings.applications.manageapplications.ManageApplications" />
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
@@ -1745,6 +1843,8 @@
                         android:targetActivity=".spa.SpaBridgeActivity">
             <meta-data android:name="com.android.settings.spa.DESTINATION"
                        android:value="TogglePermissionAppList/UseFullScreenIntent"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_apps"/>
         </activity-alias>
 
         <activity-alias android:name="AppManageFullScreenIntent"
@@ -1757,6 +1857,8 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.spa.DESTINATION"
                        android:value="TogglePermissionAppInfoPage/UseFullScreenIntent"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_apps"/>
         </activity-alias>
 
         <activity android:name=".applications.InstalledAppOpenByDefaultActivity"
@@ -1976,7 +2078,7 @@
         <activity android:name="MonitoringCertInfoActivity"
                 android:label=""
                 android:theme="@style/Transparent"
-                android:exported="true"
+                android:exported="false"
                 android:excludeFromRecents="true">
             <intent-filter android:priority="1">
                 <action android:name="com.android.settings.MONITORING_CERT_INFO" />
@@ -2226,6 +2328,21 @@
                 android:value="true" />
         </activity>
 
+        <activity
+            android:name="Settings$AccessibilityEditShortcutsActivity"
+            android:label="@string/accessibility_settings"
+            android:exported="true"
+            android:permission="android.permission.MANAGE_ACCESSIBILITY">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.ACCESSIBILITY_SHORTCUT_SETTINGS" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                       android:value="com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment" />
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_accessibility"/>
+        </activity>
+
         <activity android:name=".accessibility.AccessibilitySettingsForSetupWizardActivity"
                 android:icon="@drawable/ic_accessibility_suggestion"
                 android:label="@string/vision_settings_title"
@@ -2505,7 +2622,7 @@
 
         <activity android:name=".biometrics.face.FaceEnrollIntroduction"
                   android:exported="true"
-                  android:screenOrientation="portrait">
+                  android:screenOrientation="nosensor">
             <intent-filter>
                 <action android:name="android.settings.FACE_ENROLL"/>
                 <category android:name="android.intent.category.DEFAULT"/>
@@ -2514,12 +2631,12 @@
 
         <activity android:name=".biometrics.face.FaceEnrollIntroductionInternal"
                   android:exported="false"
-                  android:screenOrientation="portrait"
+                  android:screenOrientation="nosensor"
                   android:taskAffinity="com.android.settings.root" />
 
         <activity android:name=".biometrics.face.FaceEnrollEducation"
             android:exported="false"
-            android:screenOrientation="portrait"/>
+            android:screenOrientation="nosensor"/>
 
         <activity android:name=".biometrics.face.FaceEnrollEnrolling"
             android:exported="false"
@@ -2567,8 +2684,17 @@
 
         <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"/>
+            android:theme="@style/GlifTheme.Light" />
 
         <activity android:name=".biometrics.fingerprint.FingerprintEnrollIntroductionInternal"
                   android:exported="false"
@@ -2588,6 +2714,17 @@
             </intent-filter>
         </activity>
 
+
+        <activity android:name=".biometrics.fingerprint2.ui.enrollment.activity.FingerprintEnrollmentV2Activity"
+            android:exported="true"
+            android:permission="android.permission.MANAGE_FINGERPRINT"
+            android:theme="@style/GlifTheme.Light">
+            <intent-filter>
+                <action android:name="android.settings.FINGERPRINT_SETUP" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+
         <activity android:name=".biometrics.fingerprint.FingerprintSuggestionActivity"
             android:exported="true"
             android:permission="android.permission.MANAGE_FINGERPRINT"
@@ -2620,6 +2757,18 @@
 
         <activity android:name=".biometrics.activeunlock.ActiveUnlockRequireBiometricSetup" android:exported="false"/>
 
+        <activity android:name=".remoteauth.RemoteAuthActivity"
+                  android:exported="true">
+            <intent-filter>
+                <action android:name="android.settings.REMOTE_AUTHENTICATOR_ENROLL" />
+                <category android:name="android.intent.category.BROWSABLE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+        </activity>
+        <activity android:name=".remoteauth.RemoteAuthActivityInternal"
+                  android:exported="false"
+                  android:taskAffinity="com.android.settings.root" />
+
         <!-- Note this must not be exported since it returns the password in the intent -->
         <activity android:name=".password.ConfirmLockPattern$InternalActivity"
             android:exported="false"
@@ -2806,6 +2955,8 @@
                 android:exported="true"
                 android:permission="android.permission.MOUNT_UNMOUNT_FILESYSTEMS" />
 
+        <receiver android:name=".localepicker.NotificationCancelReceiver" />
+
         <activity android:name="Settings$ApnEditorActivity"
                 android:configChanges="orientation|keyboardHidden|screenSize"
                 android:exported="true"
@@ -2829,11 +2980,10 @@
         </activity>
 
         <activity
-            android:name="Settings$DevelopmentSettingsDashboardActivity"
+            android:name="Settings$DevelopmentSettingsActivity"
             android:label="@string/development_settings_title"
             android:icon="@drawable/ic_settings_development"
-            android:exported="true"
-            android:enabled="false">
+            android:exported="true">
             <intent-filter android:priority="1">
                 <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
                 <action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
@@ -2841,16 +2991,8 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS" />
                 <action android:name="com.android.intent.action.SHOW_CONTRAST_DIALOG" />
             </intent-filter>
-            <meta-data android:name="com.android.settings.order" android:value="-40"/>
-            <meta-data android:name="com.android.settings.category"
-                       android:value="com.android.settings.category.ia.system" />
-            <meta-data android:name="com.android.settings.summary"
-                       android:resource="@string/summary_empty"/>
-            <meta-data android:name="com.android.settings.icon"
-                       android:resource="@drawable/ic_settings_development" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.development.DevelopmentSettingsDashboardFragment" />
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
@@ -2859,22 +3001,6 @@
                        android:value="true" />
         </activity>
 
-        <!-- The opposite of DevelopmentSettingsActivity, it's no-op and only enabled when the real
-             activity is disabled to be CTS compliant. -->
-        <activity
-            android:name=".development.DevelopmentSettingsDisabledActivity"
-            android:icon="@drawable/ic_settings_development"
-            android:label="@string/development_settings_title"
-            android:excludeFromRecents="true"
-            android:exported="true"
-            android:theme="@style/Transparent">
-            <intent-filter android:priority="-1">
-                <action android:name="android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
-                <action android:name="com.android.settings.APPLICATION_DEVELOPMENT_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-        </activity>
-
         <activity
             android:name="Settings$PrintSettingsActivity"
             android:label="@string/print_settings"
@@ -3055,23 +3181,6 @@
             </intent-filter>
         </activity>
 
-        <!-- NFC settings -->
-        <activity
-            android:name="Settings$AndroidBeamSettingsActivity"
-            android:exported="true"
-            android:label="@string/android_beam_settings_title">
-            <intent-filter android:priority="1">
-                <action android:name="android.settings.NFCSHARING_SETTINGS" />
-                <category android:name="android.intent.category.DEFAULT" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.nfc.AndroidBeam" />
-            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
-                       android:value="@string/menu_key_connected_devices"/>
-            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
-                android:value="true" />
-        </activity>
-
         <activity
             android:name="Settings$WifiDisplaySettingsActivity"
             android:label="@string/wifi_display_settings_title"
@@ -3168,11 +3277,13 @@
 
         <receiver
             android:name=".fuelgauge.batteryusage.BootBroadcastReceiver"
-            android:exported="true">
+            android:exported="true"
+            android:permission="com.android.settings.BATTERY_DATA">
             <intent-filter>
                 <action android:name="android.intent.action.BOOT_COMPLETED"/>
                 <action android:name="com.google.android.setupwizard.SETUP_WIZARD_FINISHED"/>
                 <action android:name="com.android.settings.battery.action.PERIODIC_JOB_RECHECK"/>
+                <action android:name="android.intent.action.TIME_SET"/>
             </intent-filter>
         </receiver>
 
@@ -3370,16 +3481,6 @@
                 <action android:name="android.settings.USER_SETTINGS" />
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
-            <intent-filter>
-                <action android:name="com.android.settings.action.SETTINGS" />
-            </intent-filter>
-            <meta-data android:name="com.android.settings.order" android:value="-45"/>
-            <meta-data android:name="com.android.settings.category"
-                       android:value="com.android.settings.category.ia.system" />
-            <meta-data android:name="com.android.settings.summary_uri"
-                       android:value="content://com.android.settings.dashboard.SummaryProvider/user" />
-            <meta-data android:name="com.android.settings.icon"
-                       android:resource="@drawable/ic_settings_multiuser" />
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
                        android:value="com.android.settings.users.UserSettings" />
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
@@ -3892,6 +3993,7 @@
             android:launchMode="singleTop"
             android:taskAffinity=".wifi.NetworkRequestDialogActivity"
             android:exported="true"
+            android:configChanges="orientation|keyboard|keyboardHidden|screenSize|smallestScreenSize|screenLayout"
             android:permission="android.permission.NETWORK_SETTINGS">
             <intent-filter>
                 <action android:name="com.android.settings.wifi.action.NETWORK_REQUEST" />
@@ -4204,6 +4306,40 @@
                        android:value="@string/menu_key_apps"/>
         </activity>
 
+        <!-- @FlaggedApi("com.android.media.flags.enable_privileged_routing_for_media_routing_control") -->
+        <activity-alias
+            android:name="MediaRoutingControlActivity"
+            android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
+            android:exported="true"
+            android:targetActivity=".spa.SpaBridgeActivity"
+            android:label="@string/media_routing_control_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.REQUEST_MEDIA_ROUTING_CONTROL" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.spa.DESTINATION"
+                       android:value="TogglePermissionAppList/MediaRoutingControl"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_apps"/>
+        </activity-alias>
+
+        <activity-alias
+            android:name="AppMediaRoutingControlActivity"
+            android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
+            android:exported="true"
+            android:targetActivity=".spa.SpaAppBridgeActivity"
+            android:label="@string/media_routing_control_title">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.REQUEST_MEDIA_ROUTING_CONTROL" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.spa.DESTINATION"
+                       android:value="TogglePermissionAppInfoPage/MediaRoutingControl"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                       android:value="@string/menu_key_apps"/>
+        </activity-alias>
+
         <!-- Keep compatibility with old WebView-picker implementation -->
         <activity-alias android:name=".WebViewImplementation"
                   android:targetActivity="Settings$WebViewAppPickerActivity"
@@ -4222,11 +4358,6 @@
                        android:value="@string/menu_key_system"/>
         </activity-alias>
 
-        <provider
-            android:name=".dashboard.SummaryProvider"
-            android:authorities="${applicationId}.dashboard.SummaryProvider">
-        </provider>
-
         <activity android:name=".backup.UserBackupSettingsActivity"
                   android:label="@string/privacy_settings_title"
                   android:exported="true"
@@ -4314,6 +4445,18 @@
                        android:value="true" />
         </activity>
 
+        <!-- Access to the Credential Manager list. -->
+        <activity android:name=".applications.credentials.CredentialsPickerActivity"
+                android:excludeFromRecents="true"
+                android:launchMode="singleInstance"
+                android:exported="true">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.REQUEST_SET_AUTOFILL_SERVICE" />
+                <category android:name="android.intent.category.DEFAULT" />
+                <data android:scheme="package" />
+            </intent-filter>
+        </activity>
+
         <activity
             android:name=".Settings$SystemDashboardActivity"
             android:label="@string/header_category_system"
@@ -4401,20 +4544,6 @@
         </service>
 
         <service
-            android:name=".development.qstile.DevelopmentTiles$WinscopeTrace"
-            android:label="@string/winscope_trace_quick_settings_title"
-            android:icon="@drawable/tile_icon_winscope_trace"
-            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
-            android:exported="true"
-            android:enabled="false">
-            <intent-filter>
-                <action android:name="android.service.quicksettings.action.QS_TILE" />
-            </intent-filter>
-            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
-                       android:value="true"/>
-        </service>
-
-        <service
             android:name=".development.qstile.DevelopmentTiles$SensorsOff"
             android:label="@string/sensors_off_quick_settings_title"
             android:icon="@drawable/tile_icon_sensors_off"
@@ -4456,22 +4585,6 @@
                        android:value="true"/>
         </service>
 
-        <service
-            android:name=".development.qstile.DevelopmentTiles$DesktopMode"
-            android:label="@string/desktop_mode"
-            android:icon="@drawable/tile_icon_desktop_mode"
-            android:permission="android.permission.BIND_QUICK_SETTINGS_TILE"
-            android:exported="true"
-            android:enabled="false">
-            <intent-filter>
-                <action android:name="android.service.quicksettings.action.QS_TILE" />
-            </intent-filter>
-            <meta-data android:name="android.service.quicksettings.TOGGLEABLE_TILE"
-                android:value="true"/>
-            <meta-data android:name="com.android.settings.development.qstile.REQUIRES_SYSTEM_PROPERTY"
-                       android:value="persist.wm.debug.desktop_mode" />
-        </service>
-
         <activity
             android:name=".HelpTrampoline"
             android:exported="true"
@@ -4486,19 +4599,6 @@
                 android:exported="false">
         </activity>
 
-        <activity android:name=".applications.autofill.AutofillPickerTrampolineActivity"
-                android:theme="@android:style/Theme.NoDisplay"
-                android:excludeFromRecents="true"
-                android:launchMode="singleInstance"
-                android:exported="true"
-                android:label="@string/autofill_app">
-            <intent-filter android:priority="1">
-                <action android:name="android.settings.REQUEST_SET_AUTOFILL_SERVICE" />
-                <category android:name="android.intent.category.DEFAULT" />
-                <data android:scheme="package" />
-            </intent-filter>
-        </activity>
-
         <activity android:name="Settings$AdvancedConnectedDeviceActivity"
                   android:exported="true"
                   android:label="@string/connected_device_connections_title">
@@ -4578,6 +4678,38 @@
         </activity>
 
         <activity
+            android:name="Settings$AudioStreamConfirmDialogActivity"
+            android:exported="true"
+            android:theme="@style/Transparent"
+            android:permission="android.permission.BLUETOOTH_CONNECT"
+            android:configChanges="orientation|keyboardHidden|screenSize">
+            <intent-filter android:priority="1">
+                <action android:name="android.settings.AUDIO_STREAM_DIALOG" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamConfirmDialog" />
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                android:value="true" />
+        </activity>
+
+        <activity
+            android:name=".Settings$PreviouslyConnectedDeviceActivity"
+            android:label="@string/connected_device_saved_title"
+            android:exported="true"
+            android:permission="android.permission.BLUETOOTH_CONNECT"
+            android:icon="@drawable/ic_homepage_connected_device">
+            <intent-filter android:priority="1">
+                <action android:name="com.android.settings.PREVIOUSLY_CONNECTED_DEVICE" />
+                <category android:name="android.intent.category.DEFAULT" />
+            </intent-filter>
+            <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
+                android:value="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"/>
+            <meta-data android:name="com.android.settings.PRIMARY_PROFILE_CONTROLLED"
+                android:value="true" />
+        </activity>
+
+        <activity
             android:name="Settings$StylusUsiDetailsActivity"
             android:label="@string/stylus_device_details_title"
             android:exported="true">
@@ -4650,28 +4782,6 @@
             android:permission="android.permission.MANAGE_SLICE_PERMISSIONS"
             android:exported="true" />
 
-        <!-- Couldn't be triggered from outside of settings. Statsd can trigger it because we send
-             PendingIntent to it-->
-        <receiver android:name=".fuelgauge.batterytip.AnomalyDetectionReceiver"
-                  android:exported="false" />
-
-        <receiver android:name=".fuelgauge.batterytip.AnomalyConfigReceiver"
-            android:exported="true">
-            <intent-filter>
-                <action android:name="android.app.action.STATSD_STARTED"/>
-                <action android:name="android.intent.action.BOOT_COMPLETED"/>
-            </intent-filter>
-        </receiver>
-
-        <service android:name=".fuelgauge.batterytip.AnomalyCleanupJobService"
-                 android:permission="android.permission.BIND_JOB_SERVICE" />
-
-        <service android:name=".fuelgauge.batterytip.AnomalyConfigJobService"
-                 android:permission="android.permission.BIND_JOB_SERVICE" />
-
-        <service android:name=".fuelgauge.batterytip.AnomalyDetectionJobService"
-                 android:permission="android.permission.BIND_JOB_SERVICE" />
-
         <provider
             android:name=".homepage.contextualcards.CardContentProvider"
             android:authorities="${applicationId}.homepage.CardContentProvider"
@@ -4704,6 +4814,16 @@
         </activity>
 
         <activity
+            android:name=".wifi.dpp.WifiDppConfiguratorAuthActivity"
+            android:theme="@style/Transparent"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="android.settings.WIFI_DPP_CONFIGURATOR_AUTH_QR_CODE_GENERATOR"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+        </activity>
+
+        <activity
             android:name=".wifi.dpp.WifiDppEnrolleeActivity"
             android:exported="true">
             <intent-filter>
@@ -4928,6 +5048,16 @@
         </activity>
 
         <activity
+            android:name="com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode.QrCodeScanModeActivity"
+            android:permission="android.permission.BLUETOOTH_CONNECT"
+            android:exported="false">
+            <intent-filter>
+                <action android:name="android.settings.BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER"/>
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+        </activity>
+
+        <activity
             android:name=".spa.SpaActivity"
             android:configChanges="orientation|screenLayout|screenSize|smallestScreenSize"
             android:knownActivityEmbeddingCerts="@array/config_known_host_certs"
@@ -4944,11 +5074,43 @@
                 <category android:name="android.intent.category.DEFAULT" />
             </intent-filter>
             <meta-data android:name="com.android.settings.FRAGMENT_CLASS"
-                android:value="com.android.settings.biometrics.fingerprint2.ui.fragment.FingerprintSettingsV2Fragment" />
+                android:value="com.android.settings.biometrics.fingerprint2.ui.settings.fragment.FingerprintSettingsV2Fragment" />
             <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
                 android:value="@string/menu_key_security"/>
         </activity>
 
+         <provider
+            android:name=".biometrics.BiometricSettingsProvider"
+            android:authorities="${applicationId}.biometrics.provider"
+            android:exported="true"
+            android:permission="com.android.settings.USE_BIOMETRIC_PROVIDER">
+            <intent-filter>
+                <action android:name="com.android.settings.biometrics.BIOMETRIC_SETTINGS_PROVIDER" />
+            </intent-filter>
+        </provider>
+
+        <activity
+            android:name=".privatespace.PrivateSpaceSetupActivity"
+            android:theme="@style/GlifV3Theme.Light"
+            android:exported="false" />
+
+        <activity
+            android:name=".privatespace.PrivateSpaceAuthenticationActivity"
+            android:theme="@*android:style/Theme.DeviceDefault.Settings.Dialog.NoActionBar"
+            android:exported="true">
+            <intent-filter>
+                <action android:name="com.android.settings.action.PRIVATE_SPACE_SETUP_FLOW" />
+                <category android:name="android.intent.category.DEFAULT"/>
+            </intent-filter>
+        </activity>
+
+        <activity android:name=".privatespace.PrivateProfileContextHelperActivity" android:exported="false"/>
+
+        <activity android:name=".privatespace.delete.PrivateSpaceDeleteActivity"
+                  android:label="@string/private_space_delete_header"
+                  android:exported="false">
+        </activity>
+
         <activity-alias android:name="UsageStatsActivity"
                         android:exported="true"
                         android:label="@string/testing_usage_stats"
@@ -4959,6 +5121,8 @@
             </intent-filter>
             <meta-data android:name="com.android.settings.spa.DESTINATION"
                        android:value="UsageStats"/>
+            <meta-data android:name="com.android.settings.HIGHLIGHT_MENU_KEY"
+                android:value="@string/menu_key_apps"/>
         </activity-alias>
 
         <!-- [b/197780098] Disable eager initialization of Jetpack libraries. -->
@@ -4967,6 +5131,12 @@
             android:authorities="${applicationId}.androidx-startup"
             tools:node="remove" />
 
+        <activity
+            android:name="com.android.settings.network.WepNetworkDialogActivity"
+            android:exported="false"
+            android:theme="@style/Theme.SpaLib.Dialog">
+        </activity>
+
         <!-- This is the longest AndroidManifest.xml ever. -->
     </application>
 </manifest>
diff --git a/OWNERS b/OWNERS
index 6d4f95f..12cd4ea 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,21 +1,28 @@
+# Bug component: 27091
 # Use this reviewer by default.
 android-settings-core-eng+gerrit@google.com
 
-# People who can approve changes for submission
+# Android Settings Core
 cantol@google.com
-chaohuiw@google.com
+cechkahn@google.com
 chiujason@google.com
 dswliu@google.com
 edgarwang@google.com
+jiannan@google.com
 millchen@google.com
-songchenxi@google.com
 sunnyshao@google.com
-yantingyang@google.com
+
+# Android Settings extended
+chaohuiw@google.com
+songferngwang@google.com
+tomhsu@google.com
+wengsu@google.com
 ykhung@google.com
 
 # Emergency only
-wangqi@google.com
-yanglu@google.com
+cipson@google.com
+hanxu@google.com
+yangfan@google.com
 
 # Exempt resource files (because they are in a flat directory and too hard to manage via OWNERS)
-per-file res/**=*
+per-file res*/**=*
diff --git a/TEST_MAPPING b/TEST_MAPPING
index 4e85cb8..fd6bcbf 100644
--- a/TEST_MAPPING
+++ b/TEST_MAPPING
@@ -7,13 +7,19 @@
       "name": "SettingsUnitTests",
       "options": [
         {
-          "include-filter": "com.android.settings.password"
-        },
-        {
           "include-filter": "com.android.settings.biometrics"
         },
         {
           "include-filter": "com.android.settings.biometrics2"
+        },
+        {
+          "include-filter": "com.android.settings.password"
+        },
+        {
+          "include-filter": "com.android.settings.safetycenter"
+        },
+        {
+          "include-filter": "com.android.settings.security"
         }
       ]
     }
@@ -28,6 +34,14 @@
       ]
     },
     {
+      "name": "SettingsUITests",
+      "options": [
+        {
+          "exclude-annotation": "org.junit.Ignore"
+        }
+      ]
+    },
+    {
       "name": "SettingsPerfTests"
     }
   ]
diff --git a/aconfig/Android.bp b/aconfig/Android.bp
new file mode 100644
index 0000000..d511d04
--- /dev/null
+++ b/aconfig/Android.bp
@@ -0,0 +1,68 @@
+package {
+    default_team: "trendy_team_android_settings_app",
+    default_applicable_licenses: ["packages_apps_Settings_license"],
+}
+
+aconfig_declarations {
+    name: "aconfig_settings_flags",
+    package: "com.android.settings.flags",
+    container: "system",
+    srcs: [
+        "*.aconfig",
+    ],
+}
+
+java_aconfig_library {
+    name: "aconfig_settings_flags_lib",
+    aconfig_declarations: "aconfig_settings_flags",
+}
+
+aconfig_declarations {
+    name: "factory_reset_flags",
+    package: "com.android.settings.factory_reset",
+    container: "system",
+    srcs: ["factory_reset/*.aconfig"],
+}
+
+java_aconfig_library {
+    name: "factory_reset_flags_lib",
+    aconfig_declarations: "factory_reset_flags",
+}
+
+aconfig_declarations {
+    name: "media_drm_flags",
+    package: "com.android.settings.media_drm",
+    container: "system",
+    srcs: ["media_drm/*.aconfig"],
+}
+
+java_aconfig_library {
+    name: "MediaDrmSettingsFlagsLib",
+    aconfig_declarations: "media_drm_flags",
+}
+
+aconfig_declarations {
+    name: "accessibility_flags",
+    package: "com.android.settings.accessibility",
+    container: "system",
+    srcs: ["accessibility/*.aconfig"],
+}
+
+java_aconfig_library {
+    name: "accessibility_settings_flags_lib",
+    aconfig_declarations: "accessibility_flags",
+}
+
+aconfig_declarations {
+    name: "development_settings_flags",
+    package: "com.android.settings.development",
+    container: "system",
+    srcs: [
+        "development/**/*.aconfig",
+    ],
+}
+
+java_aconfig_library {
+    name: "development_settings_flag_lib",
+    aconfig_declarations: "development_settings_flags",
+}
diff --git a/aconfig/OWNERS b/aconfig/OWNERS
new file mode 100644
index 0000000..c26a190
--- /dev/null
+++ b/aconfig/OWNERS
@@ -0,0 +1,3 @@
+per-file settings_accessibility_flag_declarations.aconfig = file:/src/com/android/settings/accessibility/OWNERS
+per-file settings_biometrics_integration_declarations.aconfig = file:platform/vendor/unbundled_google/packages/SettingsGoogle:/future/biometrics/OWNERS
+
diff --git a/aconfig/accessibility/OWNERS b/aconfig/accessibility/OWNERS
new file mode 100644
index 0000000..7a76c21
--- /dev/null
+++ b/aconfig/accessibility/OWNERS
@@ -0,0 +1 @@
+include /src/com/android/settings/accessibility/OWNERS
diff --git a/aconfig/accessibility/accessibility_flags.aconfig b/aconfig/accessibility/accessibility_flags.aconfig
new file mode 100644
index 0000000..24e108e
--- /dev/null
+++ b/aconfig/accessibility/accessibility_flags.aconfig
@@ -0,0 +1,32 @@
+package: "com.android.settings.accessibility"
+container: "system"
+
+# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
+
+flag {
+  name: "edit_shortcuts_in_full_screen"
+  namespace: "accessibility"
+  description: "Show the edit shorcuts screen in full screen, since the shortcut options are increasing."
+  bug: "300302098"
+}
+
+flag {
+  name: "enable_hearing_aid_preset_control"
+  namespace: "accessibility"
+  description: "Allows users to control hearing aid preset in the Bluetooth device details page."
+  bug: "300015207"
+}
+
+flag {
+  name: "enable_hearing_aid_volume_offset_control"
+  namespace: "accessibility"
+  description: "Allows users to control hearing aid volume offset in the Bluetooth device details page."
+  bug: "301198830"
+}
+
+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."
+  bug: "294560581"
+}
diff --git a/aconfig/development/settings_core_flag_declarations.aconfig b/aconfig/development/settings_core_flag_declarations.aconfig
new file mode 100644
index 0000000..b73b026
--- /dev/null
+++ b/aconfig/development/settings_core_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.development"
+container: "system"
+
+flag {
+  name: "deprecate_list_activity"
+  namespace: "android_settings"
+  description: "Feature flag for deprecating ListActivity in Settings"
+  bug: "299195099"
+}
diff --git a/aconfig/factory_reset/factory_reset_flag_declarations.aconfig b/aconfig/factory_reset/factory_reset_flag_declarations.aconfig
new file mode 100644
index 0000000..7feebf5
--- /dev/null
+++ b/aconfig/factory_reset/factory_reset_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.factory_reset"
+container: "system"
+
+flag {
+  name: "enable_factory_reset_wizard"
+  namespace: "wallet_integration"
+  description: "Gates whether to enable factory reset wizard."
+  bug: "301283840"
+}
diff --git a/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig b/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig
new file mode 100644
index 0000000..4697a11
--- /dev/null
+++ b/aconfig/media_drm/settings_mediadrm_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.media_drm"
+container: "system"
+
+flag {
+    name: "force_l3_enabled"
+    namespace: "media_drm"
+    description: "Feature flag of forcing L3"
+    bug: "301669353"
+}
\ No newline at end of file
diff --git a/aconfig/settings_accessibility_flag_declarations_legacy.aconfig b/aconfig/settings_accessibility_flag_declarations_legacy.aconfig
new file mode 100644
index 0000000..6e02bfe
--- /dev/null
+++ b/aconfig/settings_accessibility_flag_declarations_legacy.aconfig
@@ -0,0 +1,39 @@
+package: "com.android.settings.flags"
+container: "system"
+
+# NOTE: Don't add new accessibility flags here, since the package name doesn't follow
+# the best practice for setting's feature flag go/settings-trunk-stable
+
+# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
+
+# NOTE: All Settings flags share the same Flags class, so prefix our
+# flags with 'accessibility' to prevent naming collision.
+
+flag {
+  name: "accessibility_customize_text_reading_preview"
+  namespace: "accessibility"
+  description: "Pulls the accessibility text-reading preview pages from a config."
+  bug: "307481249"
+}
+
+flag {
+  name: "accessibility_show_app_info_button"
+  namespace: "accessibility"
+  description: "Shows an 'app info' button on non-framework a11y Service and Activity pages."
+  bug: "277378550"
+}
+
+flag {
+    name: "separate_accessibility_vibration_settings_fragments"
+    namespace: "accessibility"
+    description: "Splits VibrationSettings into two fragments, one per XML resource"
+    bug: "289967175"
+}
+
+flag {
+    name: "new_hearing_device_pairing_page"
+    namespace: "accessibility"
+    description: "New hearing device pairing page with extra MFi+ASHA filtering"
+    bug: "307473972"
+}
+
diff --git a/aconfig/settings_biometrics_framework_flag_declarations.aconfig b/aconfig/settings_biometrics_framework_flag_declarations.aconfig
new file mode 100644
index 0000000..4355ed1
--- /dev/null
+++ b/aconfig/settings_biometrics_framework_flag_declarations.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "biometric_settings_provider"
+  namespace: "biometrics_framework"
+  description: "This flag enables or disables the BiometricSettingsProvider"
+  bug: "303595205"
+}
+
+flag {
+  name: "fingerprint_v2_enrollment"
+  namespace: "biometrics_framework"
+  description: "This flag enables or disables the Fingerprint v2 enrollment"
+  bug: "295206723"
+}
diff --git a/aconfig/settings_biometrics_integration_declarations.aconfig b/aconfig/settings_biometrics_integration_declarations.aconfig
new file mode 100644
index 0000000..ea3ac19
--- /dev/null
+++ b/aconfig/settings_biometrics_integration_declarations.aconfig
@@ -0,0 +1,17 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "sfps_enroll_refinement"
+  namespace: "biometrics_integration"
+  description: "This flag controls whether the sfps pause enrollment feature should be enabled"
+  bug: "288155127"
+}
+
+flag {
+  name: "udfps_enroll_calibration"
+  namespace: "biometrics_integration"
+  description: "This flag controls whether the fps enroll calibration feature should be enabled"
+  bug: "301226085"
+}
+
diff --git a/aconfig/settings_bluetooth_declarations.aconfig b/aconfig/settings_bluetooth_declarations.aconfig
new file mode 100644
index 0000000..3e771cd
--- /dev/null
+++ b/aconfig/settings_bluetooth_declarations.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "enable_offload_bluetooth_operations_to_background_thread"
+  namespace: "pixel_cross_device_control"
+  description: "Gates whether to offload bluetooth operations to background thread"
+  bug: "305636727"
+}
+
+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"
+}
\ No newline at end of file
diff --git a/aconfig/settings_connecteddevice_flag_declarations.aconfig b/aconfig/settings_connecteddevice_flag_declarations.aconfig
new file mode 100644
index 0000000..84bb578
--- /dev/null
+++ b/aconfig/settings_connecteddevice_flag_declarations.aconfig
@@ -0,0 +1,44 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "enable_subsequent_pair_settings_integration"
+  namespace: "pixel_cross_device_control"
+  description: "Gates whether to enable subsequent pair Settings integration."
+  bug: "299405720"
+}
+
+flag {
+  name: "enable_le_audio_sharing"
+  namespace: "pixel_cross_device_control"
+  description: "Gates whether to enable LE audio sharing"
+  bug: "305620450"
+}
+
+flag {
+  name: "enable_le_audio_qr_code_private_broadcast_sharing"
+  namespace: "pixel_cross_device_control"
+  description: "Gates whether to enable LE audio private broadcast sharing via QR code"
+  bug: "308368124"
+}
+
+flag {
+  name: "enable_auth_challenge_for_usb_preferences"
+  namespace: "safety_center"
+  description: "Gates whether to require an auth challenge for changing USB preferences"
+  bug: "317367746"
+}
+
+flag {
+  name: "enable_saved_devices_order_by_recency"
+  namespace: "pixel_cross_device_control"
+  description: "Order the saved bluetooth devices by most recently connected."
+  bug: "306160434"
+}
+
+flag {
+  name: "enable_hide_exclusively_managed_bluetooth_device"
+  namespace: "dck_framework"
+  description: "Hide exclusively managed Bluetooth devices in BT settings menu."
+  bug: "322285078"
+}
\ No newline at end of file
diff --git a/aconfig/settings_development_flag_declarations.aconfig b/aconfig/settings_development_flag_declarations.aconfig
new file mode 100644
index 0000000..318f862
--- /dev/null
+++ b/aconfig/settings_development_flag_declarations.aconfig
@@ -0,0 +1,21 @@
+package: "com.android.settings.flags"
+container: "system"
+
+# NOTE: Keep alphabetized to help limit merge conflicts from multiple simultaneous editors.
+
+# NOTE: All Settings flags share the same Flags class, so prefix our
+# flags with 'development' to prevent naming collision.
+
+flag {
+    name: "development_game_default_frame_rate"
+    namespace: "game"
+    description: "This flag guards the new behavior with the addition of Game Default Frame Rate feature."
+    bug: "286084594"
+}
+
+flag {
+  name: "development_hdr_sdr_ratio"
+  namespace: "core_graphics"
+  description: "Shows hdr/sdr dev opton on the development options page from aconfig"
+  bug: "291863102"
+}
diff --git a/aconfig/settings_display_flag_declarations.aconfig b/aconfig/settings_display_flag_declarations.aconfig
new file mode 100644
index 0000000..9fe587b
--- /dev/null
+++ b/aconfig/settings_display_flag_declarations.aconfig
@@ -0,0 +1,10 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+    name: "protect_screen_timeout_with_auth"
+    namespace: "safety_center"
+    description: "Require an auth challenge for increasing screen timeout."
+    bug: "315937886"
+}
+
diff --git a/aconfig/settings_experience_flag_declarations.aconfig b/aconfig/settings_experience_flag_declarations.aconfig
new file mode 100644
index 0000000..e6cb924
--- /dev/null
+++ b/aconfig/settings_experience_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+    name: "new_apn_page_enabled"
+    namespace: "settings_experience"
+    description: "Change to the new APN page."
+    bug: "298906796"
+}
diff --git a/aconfig/settings_flag_declarations.aconfig b/aconfig/settings_flag_declarations.aconfig
new file mode 100644
index 0000000..9c3a7e1
--- /dev/null
+++ b/aconfig/settings_flag_declarations.aconfig
@@ -0,0 +1,23 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+    name: "show_factory_reset_cancel_button"
+    namespace: "android_settings"
+    description: "This flag controls whether to show a Cancel button when factory reset"
+    bug: "300634367"
+}
+
+flag {
+    name: "mainline_module_explicit_intent"
+    namespace: "android_settings"
+    description: "Enabling will provide an explicit package name for Intent to update mainline modules"
+    bug: "278987474"
+}
+
+flag {
+    name: "app_archiving"
+    namespace: "android_settings"
+    description: "Feature flag to enable the archiving feature."
+    bug: "323164382"
+}
diff --git a/aconfig/settings_globalintl_flag_declarations.aconfig b/aconfig/settings_globalintl_flag_declarations.aconfig
new file mode 100644
index 0000000..95202d3
--- /dev/null
+++ b/aconfig/settings_globalintl_flag_declarations.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+    name: "terms_of_address_enabled"
+    namespace: "globalintl"
+    description: "Feature flag for Terms of Address"
+    bug: "297798866"
+}
+
+flag {
+    name: "locale_notification_enabled"
+    namespace: "globalintl"
+    description: "Feature flag for locale notification"
+    bug: "301380610"
+}
diff --git a/aconfig/settings_notification_flag_declarations.aconfig b/aconfig/settings_notification_flag_declarations.aconfig
new file mode 100644
index 0000000..bdb6573
--- /dev/null
+++ b/aconfig/settings_notification_flag_declarations.aconfig
@@ -0,0 +1,10 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "dedupe_dnd_settings_channels"
+  namespace: "systemui"
+  description: "Controls adding group names to channel names in the DND>Apps settings page"
+  bug: "294333850"
+}
+
diff --git a/aconfig/settings_onboarding_experience_flag_declarations.aconfig b/aconfig/settings_onboarding_experience_flag_declarations.aconfig
new file mode 100644
index 0000000..8d58d40
--- /dev/null
+++ b/aconfig/settings_onboarding_experience_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "enable_sound_backup"
+  namespace: "onboarding_experience"
+  description: "Feature flag for B&R sound settings."
+  bug: "278975761"
+}
diff --git a/aconfig/settings_panel_flag_declarations.aconfig b/aconfig/settings_panel_flag_declarations.aconfig
new file mode 100644
index 0000000..efab83e
--- /dev/null
+++ b/aconfig/settings_panel_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "enable_volume_plus_quick_settings"
+  namespace: "pixel_cross_device_control"
+  description: "Gates whether to enable VolumePlus quick settings panel."
+  bug: "309052662"
+}
diff --git a/aconfig/settings_perform_backup_tasks_flag_declarations.aconfig b/aconfig/settings_perform_backup_tasks_flag_declarations.aconfig
new file mode 100644
index 0000000..d060e24
--- /dev/null
+++ b/aconfig/settings_perform_backup_tasks_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "enable_perform_backup_tasks_in_settings"
+  namespace: "backstage_power"
+  description: "Enable the Perform Backup Tasks screen in Settings"
+  bug: "320563660"
+}
\ No newline at end of file
diff --git a/aconfig/settings_security_flag_declarations.aconfig b/aconfig/settings_security_flag_declarations.aconfig
new file mode 100644
index 0000000..3684212
--- /dev/null
+++ b/aconfig/settings_security_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "protect_lock_after_timeout_with_auth"
+  namespace: "safety_center"
+  description: "Require an auth challenge to open Lock after timeout page"
+  bug: "315937886"
+}
diff --git a/aconfig/settings_telephony_flag_declarations.aconfig b/aconfig/settings_telephony_flag_declarations.aconfig
new file mode 100644
index 0000000..dab1b45
--- /dev/null
+++ b/aconfig/settings_telephony_flag_declarations.aconfig
@@ -0,0 +1,16 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+    name: "remove_key_hide_enable_2g"
+    namespace: "cellular_security"
+    description: "Stop honoring CarrierConfigManager.KEY_HIDE_ENABLE_2G. Allow 2G toggle cannot be hidden from users by carriers."
+    bug: "300248708"
+}
+
+flag {
+    name: "is_dual_sim_onboarding_enabled"
+    namespace: "settings_experience"
+    description: "Control the Dual SIM onobarding feature"
+    bug: "298898436"
+}
diff --git a/aconfig/settings_voice_activation_apps_flag_declarations.aconfig b/aconfig/settings_voice_activation_apps_flag_declarations.aconfig
new file mode 100644
index 0000000..a18e8c5
--- /dev/null
+++ b/aconfig/settings_voice_activation_apps_flag_declarations.aconfig
@@ -0,0 +1,9 @@
+package: "com.android.settings.flags"
+container: "system"
+
+flag {
+  name: "enable_voice_activation_apps_in_settings"
+  namespace: "permissions"
+  description: "Enable voice activation apps in Settings"
+  bug: "303727896"
+}
\ No newline at end of file
diff --git a/color-check-baseline.xml b/color-check-baseline.xml
index 7a5e80d..5a0e98e 100644
--- a/color-check-baseline.xml
+++ b/color-check-baseline.xml
@@ -2,18 +2,6 @@
 <issues format="4">
 
     <issue
-        id="LintError"
-        severity="Error"
-        message="No `.class` files were found in project &quot;.&quot;, so none of the classfile based checks could be run. Does the project need to be built first?"
-        category="Lint"
-        priority="10"
-        summary="Lint Failure"
-        explanation="This issue type represents a problem running lint itself. Examples include failure to find bytecode for source files (which means certain detectors could not be run), parsing errors in lint configuration files, etc.&#xA;These errors are not errors in your own code, but they are shown to make it clear that some checks were not completed.">
-        <location
-            file="."/>
-    </issue>
-
-    <issue
         id="HardCodedColor"
         severity="Error"
         message="Avoid using hardcoded color"
@@ -661,12 +649,12 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="        android:color=&quot;@color/notification_importance_button_unselected&quot;/>"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="            android:textColor=&quot;@color/power_anomaly_primary_button_text_color&quot;"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="res/drawable/button_border_unselected.xml"
-            line="21"
-            column="9"/>
+            file="res/layout/battery_tips_card.xml"
+            line="57"
+            column="13"/>
     </issue>
 
     <issue
@@ -677,12 +665,12 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="        android:color=&quot;@color/notification_importance_button_unselected&quot;/>"
-        errorLine2="        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="            android:textColor=&quot;@color/power_anomaly_primary_button_text_color&quot;"
+        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="res/drawable/button_border_unselected.xml"
-            line="21"
-            column="9"/>
+            file="res/layout/battery_tips_card.xml"
+            line="57"
+            column="13"/>
     </issue>
 
     <issue
@@ -693,8 +681,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;switchbar_switch_track_tint&quot;>#82000000&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;homepage_accessibility_background&quot;>#783BE5&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="19"
@@ -709,6 +697,22 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;homepage_support_background&quot;>#3F5FBD&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="20"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;setup_wizard_wifi_color_dark&quot;>#89ffffff&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -725,22 +729,6 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;homepage_accessibility_background&quot;>#783BE5&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="21"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;setup_wizard_wifi_color_light&quot;>#89000000&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -757,11 +745,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;homepage_support_background&quot;>#3F5FBD&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;notification_importance_button_unselected&quot;>#5F6368&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
-            line="22"
+            line="23"
             column="5"/>
     </issue>
 
@@ -805,22 +793,6 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;notification_importance_button_unselected&quot;>#5F6368&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="25"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;icon_accent&quot;>#ffabffec&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -917,6 +889,22 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;settings_dialog_colorError&quot;>#f28b82&lt;/color> &lt;!-- Red 300 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="38"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;timestamp_text_outgoing&quot;>#99323232&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -949,10 +937,10 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;settings_dialog_colorError&quot;>#f28b82&lt;/color> &lt;!-- Red 300 -->"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;message_bubble_incoming&quot;>#52534D&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="res/values-night/colors.xml"
+            file="res/values/colors.xml"
             line="40"
             column="5"/>
     </issue>
@@ -965,11 +953,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;message_bubble_incoming&quot;>#52534D&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;biometric_enroll_intro_color_bar&quot;>#5bb974&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="res/values/colors.xml"
-            line="40"
+            file="res/values-night/colors.xml"
+            line="41"
             column="5"/>
     </issue>
 
@@ -997,6 +985,22 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;biometric_enroll_intro_color_icon&quot;>#669df6&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="42"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;message_icon_background_incoming&quot;>#E6F451&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1013,8 +1017,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;biometric_enroll_intro_color_bar&quot;>#5bb974&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;biometric_enroll_intro_color_outline&quot;>#5e5e5e&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="43"
@@ -1045,8 +1049,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;biometric_enroll_intro_color_icon&quot;>#669df6&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;fingerprint_enrollment_finish_color_outline&quot;>#669df6&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="44"
@@ -1077,38 +1081,6 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;biometric_enroll_intro_color_outline&quot;>#5e5e5e&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="45"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;fingerprint_enrollment_finish_color_outline&quot;>#669df6&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="46"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;usage_graph_dots&quot;>#B0BEC5&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1129,6 +1101,38 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
+            line="47"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;sfps_enrollment_fp_error_color&quot;>#fad2cf&lt;/color> &lt;!-- Red 100 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="48"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;sfps_enrollment_progress_bar_bg_color&quot;>#3C4043&lt;/color> &lt;!-- Gray 800 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
             line="49"
             column="5"/>
     </issue>
@@ -1157,8 +1161,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;sfps_enrollment_fp_error_color&quot;>#fad2cf&lt;/color> &lt;!-- Red 100 -->"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;sfps_enrollment_progress_bar_fill_color&quot;>#669df6&lt;/color> &lt;!-- Blue 400 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="50"
@@ -1173,8 +1177,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;sfps_enrollment_progress_bar_bg_color&quot;>#3C4043&lt;/color> &lt;!-- Gray 800 -->"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;sfps_enrollment_progress_bar_error_color&quot;>#ee675c&lt;/color> &lt;!-- Red 400 -->"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="51"
@@ -1189,22 +1193,6 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;sfps_enrollment_progress_bar_fill_color&quot;>#669df6&lt;/color> &lt;!-- Blue 400 -->"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="52"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;shortcut_background&quot;>#fff5f5f5&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1221,22 +1209,6 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;sfps_enrollment_progress_bar_error_color&quot;>#ee675c&lt;/color> &lt;!-- Red 400 -->"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="53"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;homepage_network_background&quot;>#2196F3&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1317,6 +1289,22 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;power_anomaly_app_warning_hint_color&quot;>#FDD663&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="60"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;homepage_sound_background&quot;>#01B1AF&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1333,6 +1321,22 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;power_anomaly_primary_button_text_color&quot;>#2E3300&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="61"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;homepage_storage_background&quot;>#C14CE6&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1365,22 +1369,6 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;udfps_enroll_icon&quot;>#7DA7F1&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="63"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;homepage_accounts_background&quot;>#F15B8D&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
@@ -1397,8 +1385,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;udfps_moving_target_fill&quot;>#475670&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;udfps_enroll_icon&quot;>#7DA7F1&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="64"
@@ -1429,10 +1417,10 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;homepage_system_background&quot;>#9E9E9E&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;udfps_moving_target_fill&quot;>#475670&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="res/values/colors.xml"
+            file="res/values-night/colors.xml"
             line="65"
             column="5"/>
     </issue>
@@ -1445,11 +1433,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;udfps_moving_target_fill_error&quot;>#80475670&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;homepage_system_background&quot;>#9E9E9E&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
-            file="res/values-night/colors.xml"
-            line="66"
+            file="res/values/colors.xml"
+            line="65"
             column="5"/>
     </issue>
 
@@ -1477,8 +1465,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;udfps_enroll_progress&quot;>#7DA7F1&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;udfps_moving_target_fill_error&quot;>#80475670&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="67"
@@ -1509,8 +1497,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;udfps_enroll_progress_help&quot;>#607DA7F1&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;udfps_enroll_progress&quot;>#7DA7F1&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="68"
@@ -1541,8 +1529,8 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;udfps_enroll_progress_help_with_talkback&quot;>#FFEE675C&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="    &lt;color name=&quot;udfps_enroll_progress_help&quot;>#607DA7F1&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
             line="69"
@@ -1573,43 +1561,27 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;udfps_enroll_progress_help_with_talkback&quot;>#FFEE675C&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="70"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="    &lt;color name=&quot;screen_flash_color_button_outer_circle_stroke_color&quot;>#FFFFFF&lt;/color>"
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values-night/colors.xml"
-            line="73"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;switch_bar_state_disabled_color&quot;>#1FE3E3E3&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values-night/colors.xml"
-            line="76"
-            column="5"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="    &lt;color name=&quot;switchbar_switch_track_tint&quot;>#BFFFFFFF&lt;/color>"
-        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
-        <location
-            file="res/values/colors.xml"
-            line="76"
+            line="74"
             column="5"/>
     </issue>
 
@@ -1625,7 +1597,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="79"
+            line="75"
             column="5"/>
     </issue>
 
@@ -1641,7 +1613,23 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="80"
+            line="76"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;switch_bar_state_disabled_color&quot;>#1FE3E3E3&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values-night/colors.xml"
+            line="77"
             column="5"/>
     </issue>
 
@@ -1657,7 +1645,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="83"
+            line="79"
             column="5"/>
     </issue>
 
@@ -1673,7 +1661,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="84"
+            line="80"
             column="5"/>
     </issue>
 
@@ -1689,7 +1677,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="85"
+            line="81"
             column="5"/>
     </issue>
 
@@ -1705,7 +1693,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="86"
+            line="82"
             column="5"/>
     </issue>
 
@@ -1721,7 +1709,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="87"
+            line="83"
             column="5"/>
     </issue>
 
@@ -1737,7 +1725,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="90"
+            line="86"
             column="5"/>
     </issue>
 
@@ -1753,7 +1741,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="91"
+            line="87"
             column="5"/>
     </issue>
 
@@ -1769,7 +1757,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="92"
+            line="88"
             column="5"/>
     </issue>
 
@@ -1785,7 +1773,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="95"
+            line="91"
             column="5"/>
     </issue>
 
@@ -1801,7 +1789,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="103"
+            line="99"
             column="5"/>
     </issue>
 
@@ -1817,7 +1805,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="105"
+            line="101"
             column="5"/>
     </issue>
 
@@ -1833,7 +1821,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="109"
+            line="105"
             column="5"/>
     </issue>
 
@@ -1849,7 +1837,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="110"
+            line="106"
             column="5"/>
     </issue>
 
@@ -1865,7 +1853,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="111"
+            line="107"
             column="5"/>
     </issue>
 
@@ -1881,7 +1869,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="112"
+            line="108"
             column="5"/>
     </issue>
 
@@ -1897,7 +1885,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="113"
+            line="109"
             column="5"/>
     </issue>
 
@@ -1913,7 +1901,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="114"
+            line="110"
             column="5"/>
     </issue>
 
@@ -1929,7 +1917,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="115"
+            line="111"
             column="5"/>
     </issue>
 
@@ -1945,7 +1933,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="116"
+            line="112"
             column="5"/>
     </issue>
 
@@ -1961,7 +1949,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="119"
+            line="115"
             column="5"/>
     </issue>
 
@@ -1977,7 +1965,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="120"
+            line="116"
             column="5"/>
     </issue>
 
@@ -1993,7 +1981,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="121"
+            line="117"
             column="5"/>
     </issue>
 
@@ -2009,7 +1997,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="122"
+            line="118"
             column="5"/>
     </issue>
 
@@ -2025,7 +2013,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="123"
+            line="119"
             column="5"/>
     </issue>
 
@@ -2041,7 +2029,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="124"
+            line="120"
             column="5"/>
     </issue>
 
@@ -2057,7 +2045,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="125"
+            line="121"
             column="5"/>
     </issue>
 
@@ -2073,7 +2061,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="126"
+            line="122"
             column="5"/>
     </issue>
 
@@ -2089,7 +2077,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="129"
+            line="125"
             column="5"/>
     </issue>
 
@@ -2105,7 +2093,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="130"
+            line="126"
             column="5"/>
     </issue>
 
@@ -2121,7 +2109,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="131"
+            line="127"
             column="5"/>
     </issue>
 
@@ -2137,7 +2125,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="132"
+            line="128"
             column="5"/>
     </issue>
 
@@ -2153,7 +2141,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="133"
+            line="129"
             column="5"/>
     </issue>
 
@@ -2169,7 +2157,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="134"
+            line="130"
             column="5"/>
     </issue>
 
@@ -2185,7 +2173,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="137"
+            line="133"
             column="5"/>
     </issue>
 
@@ -2201,7 +2189,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="138"
+            line="134"
             column="5"/>
     </issue>
 
@@ -2217,7 +2205,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="139"
+            line="135"
             column="5"/>
     </issue>
 
@@ -2233,7 +2221,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="140"
+            line="136"
             column="5"/>
     </issue>
 
@@ -2249,7 +2237,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="141"
+            line="137"
             column="5"/>
     </issue>
 
@@ -2265,7 +2253,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="142"
+            line="138"
             column="5"/>
     </issue>
 
@@ -2281,7 +2269,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="145"
+            line="141"
             column="5"/>
     </issue>
 
@@ -2297,7 +2285,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="146"
+            line="142"
             column="5"/>
     </issue>
 
@@ -2313,7 +2301,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="147"
+            line="143"
             column="5"/>
     </issue>
 
@@ -2329,7 +2317,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="148"
+            line="144"
             column="5"/>
     </issue>
 
@@ -2345,7 +2333,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="150"
+            line="146"
             column="5"/>
     </issue>
 
@@ -2361,7 +2349,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="152"
+            line="148"
             column="5"/>
     </issue>
 
@@ -2377,7 +2365,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="155"
+            line="151"
             column="5"/>
     </issue>
 
@@ -2393,7 +2381,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="158"
+            line="154"
             column="5"/>
     </issue>
 
@@ -2409,7 +2397,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="159"
+            line="155"
             column="5"/>
     </issue>
 
@@ -2425,7 +2413,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="160"
+            line="156"
             column="5"/>
     </issue>
 
@@ -2441,7 +2429,7 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="161"
+            line="157"
             column="5"/>
     </issue>
 
@@ -2457,7 +2445,39 @@
         errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/values/colors.xml"
-            line="162"
+            line="158"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;power_anomaly_app_warning_hint_color&quot;>#D56E0C&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="173"
+            column="5"/>
+    </issue>
+
+    <issue
+        id="HardCodedColor"
+        severity="Error"
+        message="Avoid using hardcoded color"
+        category="Correctness"
+        priority="4"
+        summary="Using hardcoded color"
+        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
+        errorLine1="    &lt;color name=&quot;power_anomaly_primary_button_text_color&quot;>#FFFFFF&lt;/color>"
+        errorLine2="    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~">
+        <location
+            file="res/values/colors.xml"
+            line="174"
             column="5"/>
     </issue>
 
@@ -4581,12 +4601,12 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="            android:tint=&quot;#4F8438&quot;"
-        errorLine2="            ~~~~~~~~~~~~~~~~~~~~~~">
+        errorLine1="                android:tint=&quot;#4F8438&quot;"
+        errorLine2="                ~~~~~~~~~~~~~~~~~~~~~~">
         <location
             file="res/layout/locale_dialog.xml"
-            line="36"
-            column="13"/>
+            line="45"
+            column="17"/>
     </issue>
 
     <issue
@@ -6105,7 +6125,7 @@
         errorLine2="                                          ^">
         <location
             file="res/values/styles.xml"
-            line="930"
+            line="944"
             column="43"/>
     </issue>
 
@@ -6121,7 +6141,7 @@
         errorLine2="                                          ^">
         <location
             file="res/values/styles.xml"
-            line="930"
+            line="944"
             column="43"/>
     </issue>
 
@@ -6137,7 +6157,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/styles.xml"
-            line="931"
+            line="945"
             column="49"/>
     </issue>
 
@@ -6153,7 +6173,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/styles.xml"
-            line="931"
+            line="945"
             column="49"/>
     </issue>
 
@@ -6169,7 +6189,7 @@
         errorLine2="                                                     ^">
         <location
             file="res/values/styles.xml"
-            line="932"
+            line="946"
             column="54"/>
     </issue>
 
@@ -6185,7 +6205,7 @@
         errorLine2="                                                     ^">
         <location
             file="res/values/styles.xml"
-            line="932"
+            line="946"
             column="54"/>
     </issue>
 
@@ -6201,7 +6221,7 @@
         errorLine2="                                              ^">
         <location
             file="res/values/styles.xml"
-            line="933"
+            line="947"
             column="47"/>
     </issue>
 
@@ -6217,7 +6237,7 @@
         errorLine2="                                              ^">
         <location
             file="res/values/styles.xml"
-            line="933"
+            line="947"
             column="47"/>
     </issue>
 
@@ -6233,7 +6253,7 @@
         errorLine2="                                                  ^">
         <location
             file="res/values/styles.xml"
-            line="934"
+            line="948"
             column="51"/>
     </issue>
 
@@ -6249,7 +6269,7 @@
         errorLine2="                                                  ^">
         <location
             file="res/values/styles.xml"
-            line="934"
+            line="948"
             column="51"/>
     </issue>
 
@@ -6265,7 +6285,7 @@
         errorLine2="                                                              ^">
         <location
             file="res/values/styles.xml"
-            line="935"
+            line="949"
             column="63"/>
     </issue>
 
@@ -6281,7 +6301,7 @@
         errorLine2="                                                              ^">
         <location
             file="res/values/styles.xml"
-            line="935"
+            line="949"
             column="63"/>
     </issue>
 
@@ -6357,43 +6377,11 @@
         priority="4"
         summary="Using hardcoded color"
         explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="        &lt;item name=&quot;android:trackTint&quot;>@color/switchbar_switch_track_tint&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="115"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
-        errorLine1="        &lt;item name=&quot;android:trackTint&quot;>@color/switchbar_switch_track_tint&lt;/item>"
-        errorLine2="                                       ^">
-        <location
-            file="res/values/themes.xml"
-            line="115"
-            column="40"/>
-    </issue>
-
-    <issue
-        id="HardCodedColor"
-        severity="Error"
-        message="Avoid using hardcoded color"
-        category="Correctness"
-        priority="4"
-        summary="Using hardcoded color"
-        explanation="Hardcoded color values are bad because theme changes cannot be uniformly applied.Instead use the theme specific colors such as `?android:attr/textColorPrimary` in attributes.&#xA;This ensures that a theme change from a light to a dark theme can be uniformlyapplied across the app."
         errorLine1="        &lt;item name=&quot;android:colorError&quot;>@color/settings_dialog_colorError&lt;/item>"
         errorLine2="                                        ^">
         <location
             file="res/values/themes.xml"
-            line="127"
+            line="119"
             column="41"/>
     </issue>
 
@@ -6409,7 +6397,7 @@
         errorLine2="                                        ^">
         <location
             file="res/values/themes.xml"
-            line="127"
+            line="119"
             column="41"/>
     </issue>
 
@@ -6425,7 +6413,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes.xml"
-            line="174"
+            line="168"
             column="45"/>
     </issue>
 
@@ -6441,7 +6429,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/themes.xml"
-            line="175"
+            line="169"
             column="49"/>
     </issue>
 
@@ -6457,7 +6445,7 @@
         errorLine2="                                            ^">
         <location
             file="res/values/themes.xml"
-            line="183"
+            line="177"
             column="45"/>
     </issue>
 
@@ -6473,7 +6461,7 @@
         errorLine2="                                                ^">
         <location
             file="res/values/themes.xml"
-            line="184"
+            line="178"
             column="49"/>
     </issue>
 
diff --git a/protos/Android.bp b/protos/Android.bp
index d546e2d..560851a 100644
--- a/protos/Android.bp
+++ b/protos/Android.bp
@@ -1,4 +1,5 @@
 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"
diff --git a/protos/fuelgauge_log.proto b/protos/fuelgauge_log.proto
index e75ca48..36126a5 100644
--- a/protos/fuelgauge_log.proto
+++ b/protos/fuelgauge_log.proto
@@ -43,6 +43,7 @@
     RECHECK_JOB = 3;
     FETCH_USAGE_DATA = 4;
     INSERT_USAGE_DATA = 5;
+    TIME_UPDATED = 6;
   }
 
   optional int64 timestamp = 1;
diff --git a/res-product/values-af/strings.xml b/res-product/values-af/strings.xml
index 698883f..73fdec6 100644
--- a/res-product/values-af/strings.xml
+++ b/res-product/values-af/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Jou foon is na fabriekinstellings teruggestel. Voer jou vorige wagwoord in om dié foon te gebruik."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Jou tablet is na fabriekinstellings teruggestel. Voer vorige wagwoord in om dié tablet te gebruik."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Jou toestel is na fabriekinstellings teruggestel. Voer vorige wagwoord in om dié toestel te gebruik."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Battery laai stadig of wil nie laai nie. Kyk of die kabel en kragprop met jou foon werk"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Battery laai stadig of wil nie laai nie. Kyk of die kabel en kragprop met jou toestel werk"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Battery laai stadig of wil nie laai nie. Kyk of die kabel en kragprop met jou tablet werk"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Jou foon laai dalk stadig of laai glad nie. Gebruik ’n aanbeveelde kabel en aansluitprop om vinniger te laai."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Jou toestel laai dalk stadig of laai glad nie. Gebruik ’n aanbeveelde kabel en aansluitprop om vinniger te laai."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Jou tablet laai dalk stadig of laai glad nie. Gebruik ’n aanbeveelde kabel en aansluitprop om vinniger te laai."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sonder om jou foon te ontsluit"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sonder om jou tablet te ontsluit"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Wanneer jy jou foon tussen portret en landskap beweeg"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Wanneer jy jou tablet tussen portret en landskap beweeg"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Wanneer jy jou tablet tussen portret en landskap beweeg"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Verstel hoe kleure op jou foon gewys word"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Verstel hoe kleure op jou tablet gewys word"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Foonluidsprekers"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tabletluidsprekers"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Toestelluidsprekers"</string>
 </resources>
diff --git a/res-product/values-am/strings.xml b/res-product/values-am/strings.xml
index a8449d8..df771ea 100644
--- a/res-product/values-am/strings.xml
+++ b/res-product/values-am/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"የእርስዎ ስልክ ወደ የፋብሪካ ቅንብሮች ዳግም ተጀምሯል። ይህን ስልክ ለመጠቀም ቀዳሚውን ይለፍ ቃልዎን ያስገቡ።"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"የእርስዎ ጡባዊ ወደ የፋብሪካ ቅንብሮች ዳግም ተጀምሯል። ይህን ጡባዊ ለመጠቀም የእርስዎን ቀዳሚ የይለፍ ቃል ያስገቡ።"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"የእርስዎ መሣሪያ ወደ የፋብሪካ ቅንብሮች ዳግም ተጀምሯል። ይህን መሣሪያ ለመጠቀም የእርስዎን ቀዳሚ የይለፍ ቃል ያስገቡ።"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ባትሪው ኃይል በዝግታ በመሙላት ላይ ነው ወይም አይሞላም። ገመዱ እና የኃይል አስማሚው ከስልክዎ ጋር እንደሚሰሩ ይፈትሹ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ባትሪው ኃይል በዝግታ በመሙላት ላይ ነው ወይም አይሞላም። ገመዱ እና የኃይል አስማሚው ከእርስዎ መሣሪያ ጋር እንደሚሰሩ ይፈትሹ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ባትሪው ኃይል በዝግታ በመሙላት ላይ ነው ወይም አይሞላም። ገመዱ እና የኃይል አስማሚው ከጡባዊዎ ጋር እንደሚሰሩ ይፈትሹ"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ስልክዎ በዝግታ ኃይል እየሞላ ሊሆን ወይም ኃይል እየሞላ ላይሆን ይችላል። ይበልጥ ፈጣን ለሆነ ኃይል መሙላት የሚመከር ገመድ እና የኃይል አስማሚ ይጠቀሙ።"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"መሣሪያዎ በዝግታ ኃይል እየሞላ ሊሆን ወይም ኃይል እየሞላ ላይሆን ይችላል። ይበልጥ ፈጣን ለሆነ ኃይል መሙላት የሚመከር ገመድ እና የኃይል አስማሚ ይጠቀሙ።"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ጡባዊዎ በዝግታ ኃይል እየሞላ ሊሆን ወይም ኃይል እየሞላ ላይሆን ይችላል። ይበልጥ ፈጣን ለሆነ ኃይል መሙላት የሚመከር ገመድ እና የኃይል አስማሚ ይጠቀሙ።"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ስልክዎን ሳይከፍቱ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ጡባዊዎን ሳይክፍቱ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ስልክዎን በቁም ፎቶ እና በወርድ መካከል ሲያንቀሳቅሱ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ጡባዊዎን በቁም ፎቶ እና በወርድ መካከል ሲያንቀሳቅሱ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"ጡባዊዎን በቁም ፎቶ እና በወርድ መካከል ሲያንቀሳቅሱ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ቀለሞች በስልክዎ ላይ እንዴት እንደሚታዩ ያስተካክሉ"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ቀለሞች በጡባዊዎ ላይ እንዴት እንደሚታዩ ያስተካክሉ"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"የስልክ ድምፅ ማውጫዎች"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"የጡባዊ ድምፅ ማውጫዎች"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"የመሣሪያ ድምፅ ማውጫዎች"</string>
 </resources>
diff --git a/res-product/values-ar/strings.xml b/res-product/values-ar/strings.xml
index 99811cf..fe29067 100644
--- a/res-product/values-ar/strings.xml
+++ b/res-product/values-ar/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"تمت إعادة ضبط هاتفك على الإعدادات الأصلية. لاستخدام هذا الهاتف، أدخِل كلمة المرور السابقة."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"تمت إعادة ضبط جهازك اللوحي على الإعدادات الأصلية. لاستخدام جهازك اللوحي، أدخِل كلمة المرور السابقة."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"تمت إعادة ضبط جهازك على الإعدادات الأصلية. لاستخدام هذا الجهاز، أدخِل كلمة المرور السابقة."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"البطارية تشحن ببطء أو لا يتم شحنها. عليك التأكّد من توافق محوِّل الطاقة والكابل مع هاتفك."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"البطارية تشحن ببطء أو لا يتم شحنها. عليك التأكّد من توافق محوِّل الطاقة والكابل مع جهازك."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"البطارية تشحن ببطء أو لا يتم شحنها. عليك التأكّد من توافق محوِّل الطاقة والكابل مع جهازك اللوحي."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"قد يتم شحن هاتفك ببطء أو لا يتم شحنه. لشحن أسرع، استخدِم كابلاً ومحوِّل طاقة يُنصح باستخدامهما."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"قد يتم شحن جهازك ببطء أو لا يتم شحنه. لشحن أسرع، استخدِم كابلاً ومحوِّل طاقة يُنصح باستخدامهما."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"قد يتم شحن جهازك اللوحي ببطء أو لا يتم شحنه. لشحن أسرع، استخدِم كابلاً ومحوِّل طاقة يُنصح باستخدامهما."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"بدون فتح قفل هاتفك"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"بدون فتح قفل جهازك اللوحي"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"عند تغيير اتّجاه شاشة هاتفك بين الوضع العمودي والوضع الأفقي"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"عند تغيير اتّجاه شاشة جهازك اللوحي بين الوضع العمودي والوضع الأفقي"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"عند تغيير اتّجاه شاشة جهازك اللوحي بين الوضع العمودي والوضع الأفقي"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"يمكنك تعديل كيفية عرض الألوان على هاتفك."</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"يمكنك تعديل كيفية عرض الألوان على جهازك اللوحي."</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"مكبّرات صوت الهاتف"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"مكبّرات صوت الجهاز اللوحي"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"مكبّرات صوت الجهاز"</string>
 </resources>
diff --git a/res-product/values-as/strings.xml b/res-product/values-as/strings.xml
index 7dc0fec..a1720d3 100644
--- a/res-product/values-as/strings.xml
+++ b/res-product/values-as/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"আপোনাৰ ফ’নটো ফেক্টৰী ছেটিঙলৈ ৰিছেট কৰা হৈছিল। ফ’নটো ব্যৱহাৰ কৰিবলৈ আপোনাৰ আগৰ পাছৱৰ্ডটো দিয়ক।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"আপোনাৰ টেবলেটটো ফেক্টৰীৰ ছেটিঙলৈ ৰিছেট কৰা হৈছে। এই টেবলেটটো ব্যৱহাৰ কৰিবলৈ আপোনাৰ আগৰ পাছৱৰ্ডটো দিয়ক।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"আপোনাৰ ডিভাইচটো ফেক্টৰীৰ ছেটিঙলৈ ৰিছেট কৰা হৈছে। এই ডিভাইচটো ব্যৱহাৰ কৰিবলৈ আপোনাৰ আগৰ পাছৱৰ্ডটো দিয়ক।"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"বেটাৰী লাহে লাহে চাৰ্জ হৈছে অথবা চাৰ্জ নহ’ব। কে’বল আৰু পাৱাৰ এডাপ্টাৰটোৱে আপোনাৰ ফ’নৰ সৈতে কাম কৰেনে নকৰে পৰীক্ষা কৰক"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"বেটাৰী লাহে লাহে চাৰ্জ হৈছে অথবা চাৰ্জ নহ’ব। কে’বল আৰু পাৱাৰ এডাপ্টাৰটোৱে আপোনাৰ ডিভাইচৰ সৈতে কাম কৰেনে নকৰে পৰীক্ষা কৰক"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"বেটাৰী লাহে লাহে চাৰ্জ হৈছে অথবা চাৰ্জ নহ’ব। কে’বল আৰু পাৱাৰ এডাপ্টাৰটোৱে আপোনাৰ টেবলেটৰ সৈতে কাম কৰেনে নকৰে পৰীক্ষা কৰক"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"আপোনাৰ ফ’নটো হয়তো লাহে লাহে চাৰ্জ হৈ আছে বা চাৰ্জ হোৱা নাই। দ্ৰুত চাৰ্জিঙৰ বাবে, চুপাৰিছ কৰা কে’বল আৰু এডাপ্টাৰ ব্যৱহাৰ কৰক।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"আপোনাৰ ডিভাইচটো হয়তো লাহে লাহে চাৰ্জ হৈ আছে বা চাৰ্জ হোৱা নাই। দ্ৰুত চাৰ্জিঙৰ বাবে, চুপাৰিছ কৰা কে’বল আৰু এডাপ্টাৰ ব্যৱহাৰ কৰক।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"আপোনাৰ টেবলেটটো হয়তো লাহে লাহে চাৰ্জ হৈ আছে বা চাৰ্জ হোৱা নাই। দ্ৰুত চাৰ্জিঙৰ বাবে, চুপাৰিছ কৰা কে’বল আৰু এডাপ্টাৰ ব্যৱহাৰ কৰক।"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"আপোনাৰ ফ’নটো আনলক নকৰাকৈ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"আপোনাৰ টেবলেটটো আনলক নকৰাকৈ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"আপুনি নিজৰ ফ’নটো প’ৰ্ট্ৰেইট আৰু লেণ্ডস্কে’পৰ মাজত সালসলনি কৰিলে"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"আপুনি নিজৰ টেবলেটটো প’ৰ্ট্ৰেইট আৰু লেণ্ডস্কে’পৰ মাজত সালসলনি কৰিলে"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"আপুনি নিজৰ টেবলেটটো প’ৰ্ট্ৰেইট আৰু লেণ্ডস্কে’পৰ মাজত সালসলনি কৰিলে"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"আপোনাৰ ফ’নত ৰংবোৰ কেনেকৈ প্ৰদৰ্শিত হয় সেয়া মিলাওক"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"আপোনাৰ টেবলেটত ৰংবোৰ কেনেকৈ প্ৰদৰ্শিত হয় সেয়া মিলাওক"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ফ’নৰ স্পীকাৰ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"টেবলেটৰ স্পীকাৰ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ডিভাইচৰ স্পীকাৰ"</string>
 </resources>
diff --git a/res-product/values-az/strings.xml b/res-product/values-az/strings.xml
index ee0e2a1..efeac52 100644
--- a/res-product/values-az/strings.xml
+++ b/res-product/values-az/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefonunuz zavod ayarlarına sıfırlanıb. Telefondan istifadə etmək üçün əvvəlki parolu daxil edin."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Planşetiniz zavod ayarlarına sıfırlanıb. Bu planşeti istifadə etmək üçün əvvəlki parolu daxil edin."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Cihazınız zavod ayarlarına sıfırlanıb. Bu cihazı istifadə etmək üçün əvvəlki parolu daxil edin."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batareya asta şarj edilir və ya şarj edilmir. Kabel və cərəyan adapterinin telefon ilə işləyib-işləmədiyini yoxlayın"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batareya asta şarj edilir və ya şarj edilmir. Kabel və cərəyan adapterinin cihaz ilə işləyib-işləmədiyini yoxlayın"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batareya asta şarj edilir və ya şarj edilmir. Kabel və cərəyan adapterinin planşet ilə işləyib-işləmədiyini yoxlayın"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon asta şarj edilə, yaxud şarj edilməyə bilər. Sürətli şarj üçün tövsiyə edilən kabel və adapter istifadə edin."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Cihaz asta şarj edilə, yaxud şarj edilməyə bilər. Sürətli şarj üçün tövsiyə edilən kabel və adapter istifadə edin."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Planşet asta şarj edilə, yaxud şarj edilməyə bilər. Sürətli şarj üçün tövsiyə edilən kabel və adapter istifadə edin."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Telefonu kiliddən çıxarmadan"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Planşeti kiliddən çıxarmadan"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Telefon rejimini portret və landşaft arasında dəyişdikdə"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Planşet rejimini portret və landşaft arasında dəyişdikdə"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Planşet rejimini portret və landşaft arasında dəyişdikdə"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Telefonda rənglərin görünmə qaydasını tənzimləyin"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Planşetdə rənglərin görünmə qaydasını tənzimləyin"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefon dinamikləri"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Planşet dinamikləri"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Cihaz dinamikləri"</string>
 </resources>
diff --git a/res-product/values-b+sr+Latn/strings.xml b/res-product/values-b+sr+Latn/strings.xml
index 5df33ad..9f8486e 100644
--- a/res-product/values-b+sr+Latn/strings.xml
+++ b/res-product/values-b+sr+Latn/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon je resetovan na fabrička podešavanja. Da biste ga koristili, unesite prethodnu lozinku."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet je resetovan na fabrička podešavanja. Da biste ga koristili, unesite prethodnu lozinku."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Uređaj je resetovan na fabrička podešavanja. Da biste ga koristili, unesite prethodnu lozinku."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Baterija se sporo puni ili neće da se puni. Proverite da li kabl i adapter rade sa telefonom"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Baterija se sporo puni ili neće da se puni. Proverite da li kabl i adapter rade sa uređajem"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Baterija se sporo puni ili neće da se puni. Proverite da li kabl i adapter rade sa tabletom"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon se možda sporo puni ili se uopšte ne puni. Ako želite brže punjenje, koristite preporučeni kabl i adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Uređaj se možda sporo puni ili se uopšte ne puni. Ako želite brže punjenje, koristite preporučeni kabl i adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet se možda sporo puni ili se uopšte ne puni. Ako želite brže punjenje, koristite preporučeni kabl i adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bez otključavanja telefona"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bez otključavanja tableta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kada okrećete telefon u uspravni ili vodoravni režim"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kada okrećete tablet u uspravni ili vodoravni režim"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kada okrećete tablet u uspravni ili vodoravni režim"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Prilagodite način na koji se boje prikazuju na telefonu"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Prilagodite način na koji se boje prikazuju na tabletu"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Zvučnici telefona"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Zvučnici tableta"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Zvučnici uređaja"</string>
 </resources>
diff --git a/res-product/values-be/strings.xml b/res-product/values-be/strings.xml
index a77f689..2714695 100644
--- a/res-product/values-be/strings.xml
+++ b/res-product/values-be/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Налады тэлефона скінуты да заводскіх значэнняў. Каб карыстацца ім, увядзіце свой былы пароль."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Налады планшэта скінуты да заводскіх значэнняў. Каб карыстацца ім, увядзіце свой былы пароль."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Налады прылады скінуты да заводскіх значэнняў. Каб карыстацца ёю, увядзіце свой былы пароль."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Акумулятар не зараджаецца ці зараджаецца павольна. Праверце, ці падыходзяць да тэлефона кабель і адаптар сілкавання"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Акумулятар не зараджаецца ці зараджаецца павольна. Праверце, ці падыходзяць да прылады кабель і адаптар сілкавання"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Акумулятар не зараджаецца ці зараджаецца павольна. Праверце, ці падыходзяць да планшэта кабель і адаптар сілкавання"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Магчыма, ваш тэлефон не зараджаецца або зараджаецца павольна. Каб паскорыць зарадку, выкарыстоўвайце рэкамендаваныя кабель і адаптар."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Магчыма, ваша прылада не зараджаецца або зараджаецца павольна. Каб паскорыць зарадку, выкарыстоўвайце рэкамендаваныя кабель і адаптар."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Магчыма, ваш планшэт не зараджаецца або зараджаецца павольна. Каб паскорыць зарадку, выкарыстоўвайце рэкамендаваныя кабель і адаптар."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Без разблакіроўкі тэлефона"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Без разблакіроўкі планшэта"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Калі вы паварочваеце тэлефон для змянення арыентацыі экрана"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Калі вы паварочваеце планшэт для змянення арыентацыі экрана"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Калі вы паварочваеце планшэт для змянення арыентацыі экрана"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Наладзьце адлюстраванне колераў на экране тэлефона"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Наладзьце адлюстраванне колераў на экране планшэта"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Дынамікі тэлефона"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Дынамiкi планшэта"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Дынамікі прылады"</string>
 </resources>
diff --git a/res-product/values-bg/strings.xml b/res-product/values-bg/strings.xml
index 6d3eaea..78f7df4 100644
--- a/res-product/values-bg/strings.xml
+++ b/res-product/values-bg/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Фабр. настройки на телефона са били възстановени. За да го ползвате, въведете предишната си парола."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Фабр. настройки на таблета са били възстановени. За да го използвате, въведете предишната си парола."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Фабр. настройки на у-вото са били възстановени. За да го използвате, въведете предишната си парола."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батерията се зарежда бавно или не се зарежда. Проверете дали кабелът и захранващият адаптер са съвместими с телефона ви"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батерията се зарежда бавно или не се зарежда. Проверете дали кабелът и захранващият адаптер са съвместими с устройството ви"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батерията се зарежда бавно или не се зарежда. Проверете дали кабелът и захранващият адаптер са съвместими с таблета ви"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Възможно е телефонът ви да се зарежда бавно или да не се зарежда. За по-бързо зареждане използвайте препоръчителните кабел и адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Възможно е устройството ви да се зарежда бавно или да не се зарежда. За по-бързо зареждане използвайте препоръчителните кабел и адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Възможно е таблетът ви да се зарежда бавно или да не се зарежда. За по-бързо зареждане използвайте препоръчителните кабел и адаптер."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Без отключване на телефона"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Без отключване на таблета"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Когато завъртите телефона си вертикално или хоризонтално"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Когато завъртите таблета си вертикално или хоризонтално"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Когато завъртите таблета си вертикално или хоризонтално"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Коригирайте как цветовете се показват на телефона ви"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Коригирайте как цветовете се показват на таблета ви"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Високоговорители на телефона"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Високоговорители на таблета"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Високоговорители на устройството"</string>
 </resources>
diff --git a/res-product/values-bn/strings.xml b/res-product/values-bn/strings.xml
index 661f879..a3c4747 100644
--- a/res-product/values-bn/strings.xml
+++ b/res-product/values-bn/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"আপনার ফোন ফ্যাক্টরি সেটিংসে রিসেট করা হয়েছে। এই ফোনটি ব্যবহার করতে হলে, আগের পাসওয়ার্ডটি লিখুন।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"আপনার ট্যাবলেট ফ্যাক্টরি সেটিংসে রিসেট করা হয়েছে। এই ট্যাবলেট ব্যবহার করতে, আগের পাসওয়ার্ড লিখুন।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"আপনার ডিভাইস ফ্যাক্টরি সেটিংসে রিসেট করা হয়েছে। এই ডিভাইস ব্যবহার করতে, আপনার আগের পাসওয়ার্ড লিখুন।"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ব্যাটারি ধীরে ধীরে চার্জ হচ্ছে অথবা চার্জ হচ্ছে না। কেবেল ও পাওয়ার অ্যাডাপ্টার আপনার ফোনের সাথে মানানসই কিনা চেক করে নিন"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ব্যাটারি ধীরে ধীরে চার্জ হচ্ছে অথবা চার্জ হচ্ছে না। কেবেল ও পাওয়ার অ্যাডাপ্টার আপনার ডিভাইসে মানানসই কিনা তা চেক করে নিন"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ব্যাটারি ধীরে ধীরে চার্জ হচ্ছে অথবা চার্জ হচ্ছে না। কেবেল ও পাওয়ার অ্যাডাপ্টার আপনার ট্যাবলেটে মানানসই কিনা তা চেক করে নিন"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"আপনার ফোন হয়ত ধীরে ধীরে চার্জ হচ্ছে বা চার্জ হচ্ছে না। আরও দ্রুত চার্জের জন্য সাজেস্ট করা কেবল ও অ্যাডাপ্টার ব্যবহার করুন।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"আপনার ডিভাইস হয়ত ধীরে ধীরে চার্জ হচ্ছে বা চার্জ হচ্ছে না। আরও দ্রুত চার্জের জন্য সাজেস্ট করা কেবল ও অ্যাডাপ্টার ব্যবহার করুন।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"আপনার ট্যাবলেট হয়ত ধীরে ধীরে চার্জ হচ্ছে বা চার্জ হচ্ছে না। আরও দ্রুত চার্জের জন্য সাজেস্ট করা কেবল ও অ্যাডাপ্টার ব্যবহার করুন।"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"আপনার ফোন আনলক না করে"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"আপনার ট্যাবলেট আনলক না করে"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"আপনার ফোন, \'পোর্ট্রেট\' ও \'ল্যান্ডস্কেপ\' মোডের মধ্যে অদলবদল করলে"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"আপনার ট্যাবলেট, \'পোর্ট্রেট\' ও \'ল্যান্ডস্কেপ\' মোডের মধ্যে অদলবদল করলে"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"আপনার ট্যাবলেট, \'পোর্ট্রেট\' ও \'ল্যান্ডস্কেপ\' মোডের মধ্যে অদলবদল করলে"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"আপনার ফোনে রঙ কীভাবে দেখানো হবে তা অ্যাডজাস্ট করুন"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"আপনার ট্যাবলেটে রঙ কীভাবে দেখানো হবে তা অ্যাডজাস্ট করুন"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ফোন স্পিকার"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ট্যাবলেট স্পিকার"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ডিভাইস স্পিকার"</string>
 </resources>
diff --git a/res-product/values-bs/strings.xml b/res-product/values-bs/strings.xml
index 1897e7e..bef680a 100644
--- a/res-product/values-bs/strings.xml
+++ b/res-product/values-bs/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon je vraćen na fabričke postavke. Da koristite telefon, unesite prethodnu lozinku."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet je vraćen na fabričke postavke. Da koristite tablet, unesite prethodnu lozinku."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Uređaj je vraćen na fabričke postavke. Da koristite uređaj, unesite prethodnu lozinku."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Baterija se sporo puni ili se uopće ne puni. Provjerite funkcioniraju li kabl i adapter za napajanje s telefonom"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Baterija se sporo puni ili se uopće ne puni. Provjerite funkcioniraju li kabl i adapter za napajanje s uređajem"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Baterija se sporo puni ili se uopće ne puni. Provjerite funkcioniraju li kabl i adapter za napajanje s tabletom"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon se možda puni sporo ili se ne puni. Za brže punjenje koristite preporučen kabl i adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Uređaj se možda puni sporo ili se ne puni. Za brže punjenje koristite preporučen kabl i adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet se možda puni sporo ili se ne puni. Za brže punjenje koristite preporučen kabl i adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bez otključavanja telefona"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bez otključavanja tableta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kada mijenjate prikaz na telefonu između uspravnog i vodoravnog"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kada mijenjate prikaz na tabletu između uspravnog i vodoravnog"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kada mijenjate prikaz na tabletu između uspravnog i vodoravnog"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Podesite način na koji se boje prikazuju na telefonu"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Podesite način na koji se boje prikazuju na tabletu"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Zvučnici telefona"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Zvučnici tableta"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Zvučnici uređaja"</string>
 </resources>
diff --git a/res-product/values-ca/strings.xml b/res-product/values-ca/strings.xml
index eccdc4e..0575f52 100644
--- a/res-product/values-ca/strings.xml
+++ b/res-product/values-ca/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"S\'ha restablert la config. de fàbrica del dispositiu. Per utilitzar-lo, escriu la contrasenya antiga."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"S\'ha restablert la config. de fàbrica de la tauleta. Per utilitzar-la, escriu la contrasenya antiga."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"S\'ha restablert la config. de fàbrica del dispositiu. Per utilitzar-lo, escriu la contrasenya antiga."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"La bateria s\'està carregant lentament o no s\'està carregant. Comprova si el cable i l\'adaptador de corrent funcionen amb el teu telèfon."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"La bateria s\'està carregant lentament o no s\'està carregant. Comprova si el cable i l\'adaptador de corrent funcionen amb el teu dispositiu."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"La bateria s\'està carregant lentament o no s\'està carregant. Comprova si el cable i l\'adaptador de corrent funcionen amb la teva tauleta."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"És possible que el telèfon s\'estigui carregant lentament o que no s\'estigui carregant. Per carregar-lo ràpidament, utilitza un cable i un adaptador recomanats."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"És possible que el dispositiu s\'estigui carregant lentament o que no s\'estigui carregant. Per carregar-lo ràpidament, utilitza un cable i un adaptador recomanats."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"És possible que la tauleta s\'estigui carregant lentament o que no s\'estigui carregant. Per carregar-la ràpidament, utilitza un cable i un adaptador recomanats."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sense desbloquejar el telèfon"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sense desbloquejar la tauleta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Quan canvies entre el mode vertical i horitzontal al telèfon"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quan canvies entre el mode vertical i horitzontal a la tauleta"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Quan canvies entre el mode vertical i horitzontal a la tauleta"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta com es mostren els colors al telèfon"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta com es mostren els colors a la tauleta"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altaveus del telèfon"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Altaveus de la tauleta"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altaveus del dispositiu"</string>
 </resources>
diff --git a/res-product/values-cs/strings.xml b/res-product/values-cs/strings.xml
index e347103..c0c07d5 100644
--- a/res-product/values-cs/strings.xml
+++ b/res-product/values-cs/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon byl resetován do továrního nastavení. Chcete-li tento telefon použít, zadejte předchozí heslo."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet byl resetován do továrního nastavení. Chcete-li tento tablet použít, zadejte předchozí heslo."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Zařízení bylo resetováno do továrního nastavení. Chcete-li toto zařízení použít, zadejte předchozí heslo."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Baterie se nabíjí pomalu nebo se nenabíjí vůbec. Zkontrolujte, zda kabel a napájecí adaptér fungují s telefonem"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Baterie se nabíjí pomalu nebo se nenabíjí vůbec. Zkontrolujte, zda kabel a napájecí adaptér fungují se zařízením"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Baterie se nabíjí pomalu nebo se nenabíjí vůbec. Zkontrolujte, zda kabel a napájecí adaptér fungují s tabletem"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon se nabíjí pomalu nebo se nenabíjí vůbec. K rychlejšímu nabíjení použijte doporučený kabel a adaptér."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Zařízení se nabíjí pomalu nebo se nenabíjí vůbec. K rychlejšímu nabíjení použijte doporučený kabel a adaptér."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet se nabíjí pomalu nebo se nenabíjí vůbec. K rychlejšímu nabíjení použijte doporučený kabel a adaptér."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bez odemknutí telefonu"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bez odemknutí tabletu"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Když telefon otočíte z režimu na výšku do režimu na šířku nebo naopak"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Když tablet otočíte z režimu na výšku do režimu na šířku nebo naopak"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Když tablet otočíte z režimu na výšku do režimu na šířku nebo naopak"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Upravte si zobrazování barev v telefonu"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Upravte si zobrazování barev v tabletu"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Reproduktory telefonu"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Reproduktory tabletu"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Reproduktory zařízení"</string>
 </resources>
diff --git a/res-product/values-da/strings.xml b/res-product/values-da/strings.xml
index ab612e9..7225742 100644
--- a/res-product/values-da/strings.xml
+++ b/res-product/values-da/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Fabriksindstillingerne er gendannet på telefonen. Angiv din tidligere adgangskode for at bruge den."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Fabriksindstillingerne er gendannet på tabletten. Angiv din tidligere adgangskode for at bruge den."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Fabriksindstillingerne er gendannet på enheden. Angiv din tidligere adgangskode for at bruge den."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batteriet oplader langsomt eller slet ikke. Tjek, om kablet og strømadapteren fungerer med din telefon"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batteriet oplader langsomt eller slet ikke. Tjek, om kablet og strømadapteren fungerer med din enhed"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batteriet oplader langsomt eller slet ikke. Tjek, om kablet og strømadapteren fungerer med din tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Din telefon oplader muligvis langsomt eller slet ikke. Opnå hurtigere opladning ved at bruge et kabel og en adapter, som er anbefalet."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Din enhed oplader muligvis langsomt eller slet ikke. Opnå hurtigere opladning ved at bruge et kabel og en adapter, som er anbefalet."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Din tablet oplader muligvis langsomt eller slet ikke. Opnå hurtigere opladning ved at bruge et kabel og en adapter, som er anbefalet."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Uden at låse op for din telefon"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Uden at låse op for din tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Når du drejer telefonen til stående eller liggende format"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Når du drejer tabletten til stående eller liggende format"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Når du drejer tabletten til stående eller liggende format"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Juster, hvordan farverne vises på din telefon"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Juster, hvordan farverne vises på din tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefonens højttalere"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablettens højttalere"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Enhedens højttalere"</string>
 </resources>
diff --git a/res-product/values-de/strings.xml b/res-product/values-de/strings.xml
index 358f400..552073c 100644
--- a/res-product/values-de/strings.xml
+++ b/res-product/values-de/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Smartphone wurde auf Werkseinstellungen zurückgesetzt. Zum Verwenden vorheriges Passwort eingeben."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet wurde auf Werkseinstellungen zurückgesetzt. Zum Verwenden vorheriges Passwort eingeben."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Gerät wurde auf Werkseinstellungen zurückgesetzt. Zum Verwenden vorheriges Passwort eingeben."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Der Akku wird nur langsam oder gar nicht geladen. Prüfe, ob Netzteil und Kabel mit deinem Smartphone kompatibel sind."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Der Akku wird nur langsam oder gar nicht geladen. Prüfe, ob Netzteil und Kabel mit deinem Gerät kompatibel sind."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Der Akku wird nur langsam oder gar nicht geladen. Prüfe, ob Netzteil und Kabel mit deinem Tablet kompatibel sind."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Dein Smartphone lädt möglicherweise langsamer oder gar nicht. Damit es schneller lädt, solltest du ein empfohlenes Kabel und Netzteil verwenden."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Dein Gerät lädt möglicherweise langsamer oder gar nicht. Damit es schneller lädt, solltest du ein empfohlenes Kabel und Netzteil verwenden."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Dein Tablet lädt möglicherweise langsamer oder gar nicht. Damit es schneller lädt, solltest du ein empfohlenes Kabel und Netzteil verwenden."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Ohne dein Smartphone zu entsperren"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Ohne dein Tablet zu entsperren"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Wenn du das Smartphone drehst"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Wenn du das Tablet drehst"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Wenn du das Tablet drehst"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Hier kannst du anpassen, wie Farben auf deinem Smartphone dargestellt werden"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Hier kannst du anpassen, wie Farben auf deinem Tablet dargestellt werden"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Smartphone-Lautsprecher"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablet-Lautsprecher"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Gerätelautsprecher"</string>
 </resources>
diff --git a/res-product/values-el/strings.xml b/res-product/values-el/strings.xml
index 494f08c..fc0e35e 100644
--- a/res-product/values-el/strings.xml
+++ b/res-product/values-el/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Έγινε επαναφ. των εργοστ. ρυθμ. τηλεφ. Για να χρησιμ. το τηλέφ. εισαγάγ. τον παλιό κωδ. πρόσβασης."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Έγινε επαναφορά των εργοστ. ρυθμίσ. του tablet. Για να χρησ. το tablet εισαγ. τον προηγ. κωδ. πρόσβ."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Έγινε επαναφ. των εργοστ. ρυθμίσ. της συσκευής. Για να χρησ. τη συσκ. εισαγ. τον προηγ. κωδ. πρόσβ."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Η μπαταρία φορτίζει αργά ή δεν φορτίζει. Ελέγξτε αν το καλώδιο και ο μετασχηματιστής λειτουργούν με το τηλέφωνό σας"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Η μπαταρία φορτίζει αργά ή δεν φορτίζει. Ελέγξτε αν το καλώδιο και ο μετασχηματιστής λειτουργούν με τη συσκευή σας"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Η μπαταρία φορτίζει αργά ή δεν φορτίζει. Ελέγξτε αν το καλώδιο και ο μετασχηματιστής λειτουργούν με το tablet σας"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Το τηλέφωνό σας μπορεί να φορτίζει αργά ή να μην φορτίζει. Για πιο γρήγορη φόρτιση, χρησιμοποιήστε ένα προτεινόμενο καλώδιο και μετασχηματιστή."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Η συσκευή σας μπορεί να φορτίζει αργά ή να μην φορτίζει. Για πιο γρήγορη φόρτιση, χρησιμοποιήστε ένα προτεινόμενο καλώδιο και μετασχηματιστή."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Το tablet σας μπορεί να φορτίζει αργά ή να μην φορτίζει. Για πιο γρήγορη φόρτιση, χρησιμοποιήστε ένα προτεινόμενο καλώδιο και μετασχηματιστή."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Χωρίς να ξεκλειδώσετε το τηλέφωνό σας"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Χωρίς να ξεκλειδώσετε το tablet σας"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Όταν μετακινείτε το τηλέφωνο σε κατακόρυφο ή οριζόντιο προσανατολισμό"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Όταν μετακινείτε το tablet σε κατακόρυφο ή οριζόντιο προσανατολισμό"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Όταν μετακινείτε το tablet σε κατακόρυφο ή οριζόντιο προσανατολισμό"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Προσαρμόστε πώς θα εμφανίζονται τα χρώματα στο τηλέφωνό σας"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Προσαρμόστε πώς θα εμφανίζονται τα χρώματα στο tablet σας"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Ηχεία τηλεφώνου"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Ηχεία tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Ηχεία συσκευής"</string>
 </resources>
diff --git a/res-product/values-en-rAU/strings.xml b/res-product/values-en-rAU/strings.xml
index 7fa11dc..a22553a 100644
--- a/res-product/values-en-rAU/strings.xml
+++ b/res-product/values-en-rAU/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Your phone was reset to factory settings. To use this phone, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Your tablet was reset to factory settings. To use this tablet, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Your device was reset to factory settings. To use this device, enter your previous password."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your phone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your device"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Your phone may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Your device may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Your tablet may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Without unlocking your phone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Without unlocking your tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"When you move your phone between portrait and landscape"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colours are displayed on your phone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colours are displayed on your tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Phone speakers"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablet speakers"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Device speakers"</string>
 </resources>
diff --git a/res-product/values-en-rCA/strings.xml b/res-product/values-en-rCA/strings.xml
index 576c333..714b152 100644
--- a/res-product/values-en-rCA/strings.xml
+++ b/res-product/values-en-rCA/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Your phone was reset to factory settings. To use this phone, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Your tablet was reset to factory settings. To use this tablet, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Your device was reset to factory settings. To use this device, enter your previous password."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your phone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your device"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Your phone may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Your device may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Your tablet may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Without unlocking your phone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Without unlocking your tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"When you move your phone between portrait and landscape"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colors display on your phone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colors display on your tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Phone speakers"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablet speakers"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Device speakers"</string>
 </resources>
diff --git a/res-product/values-en-rGB/strings.xml b/res-product/values-en-rGB/strings.xml
index 92e82a1..6e2f89f 100644
--- a/res-product/values-en-rGB/strings.xml
+++ b/res-product/values-en-rGB/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Your phone was reset to factory settings. To use this phone, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Your tablet was reset to factory settings. To use this tablet, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Your device was reset to factory settings. To use this device, enter your previous password."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your phone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your device"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Your phone may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Your device may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Your tablet may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Without unlocking your phone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Without unlocking your tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"When you move your phone between portrait and landscape"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colours are displayed on your phone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colours are displayed on your tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Phone speakers"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablet speakers"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Device speakers"</string>
 </resources>
diff --git a/res-product/values-en-rIN/strings.xml b/res-product/values-en-rIN/strings.xml
index 92e82a1..6e2f89f 100644
--- a/res-product/values-en-rIN/strings.xml
+++ b/res-product/values-en-rIN/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Your phone was reset to factory settings. To use this phone, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Your tablet was reset to factory settings. To use this tablet, enter your previous password."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Your device was reset to factory settings. To use this device, enter your previous password."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your phone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your device"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Battery charging slowly or won\'t charge. Check if the cable and power adaptor work with your tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Your phone may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Your device may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Your tablet may be charging slowly or not charging. For faster charging, use a recommended cable and adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Without unlocking your phone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Without unlocking your tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"When you move your phone between portrait and landscape"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"When you move your tablet between portrait and landscape"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Adjust how colours are displayed on your phone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Adjust how colours are displayed on your tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Phone speakers"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablet speakers"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Device speakers"</string>
 </resources>
diff --git a/res-product/values-en-rXC/strings.xml b/res-product/values-en-rXC/strings.xml
index c970f31..b28e995 100644
--- a/res-product/values-en-rXC/strings.xml
+++ b/res-product/values-en-rXC/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‎Your phone was reset to factory settings. To use this phone, enter your previous password.‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎Your tablet was reset to factory settings. To use this tablet, enter your previous password.‎‏‎‎‏‎"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎Your device was reset to factory settings. To use this device, enter your previous password.‎‏‎‎‏‎"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your phone‎‏‎‎‏‎"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‎Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your device‎‏‎‎‏‎"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your tablet‎‏‎‎‏‎"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎Your phone may be charging slowly or not charging. For faster charging, use a recommended cable and adapter.‎‏‎‎‏‎"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎Your device may be charging slowly or not charging. For faster charging, use a recommended cable and adapter.‎‏‎‎‏‎"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‎‎Your tablet may be charging slowly or not charging. For faster charging, use a recommended cable and adapter.‎‏‎‎‏‎"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎Without unlocking your phone‎‏‎‎‏‎"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎Without unlocking your tablet‎‏‎‎‏‎"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎When you move your phone between portrait and landscape‎‏‎‎‏‎"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎When you move your tablet between portrait and landscape‎‏‎‎‏‎"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎When you move your tablet between portrait and landscape‎‏‎‎‏‎"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎Adjust how colors display on your phone‎‏‎‎‏‎"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎Adjust how colors display on your tablet‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎Phone speakers‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎Tablet speakers‎‏‎‎‏‎"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‎Device speakers‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res-product/values-es-rUS/strings.xml b/res-product/values-es-rUS/strings.xml
index 59c356a..c0b27c0 100644
--- a/res-product/values-es-rUS/strings.xml
+++ b/res-product/values-es-rUS/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Configuración de fábrica restablecida. Para usar este teléfono, ingresa la contraseña anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Configuración de fábrica restablecida. Para usar esta tablet, ingresa la contraseña anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Configuración de fábrica restablecida. Para usar el dispositivo, ingresa la contraseña anterior."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"La batería está cargando lento o no carga. Comprueba que el cable y el adaptador de alimentación funcionen con tu teléfono."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"La batería está cargando lento o no carga. Comprueba que el cable y el adaptador de alimentación funcionen con tu dispositivo."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"La batería está cargando lento o no carga. Comprueba que el cable y el adaptador de alimentación funcionen con tu tablet."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Es posible que tu teléfono se esté cargando lentamente o no se esté cargando. Para una carga más rápida, usa un cable y un adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Es posible que tu dispositivo se esté cargando lentamente o no se esté cargando. Para una carga más rápida, usa un cable y un adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Es posible que tu tablet se esté cargando lentamente o no se esté cargando. Para una carga más rápida, usa un cable y un adaptador recomendados."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sin desbloquear tu teléfono"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sin desbloquear tu tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Cuando muevas el teléfono entre el modo vertical y el horizontal"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Cuando muevas la tablet entre el modo vertical y el horizontal"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Cuando muevas la tablet entre el modo vertical y el horizontal"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta cómo se muestran los colores en tu teléfono"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta cómo se muestran los colores en tu tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altavoces del teléfono"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Bocinas de la tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altavoces del dispositivo"</string>
 </resources>
diff --git a/res-product/values-es/strings.xml b/res-product/values-es/strings.xml
index 2d5333e..657202b 100644
--- a/res-product/values-es/strings.xml
+++ b/res-product/values-es/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Ajustes de fábrica del teléfono restablecidos. Para usarlo, introduce tu contraseña anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Ajustes de fábrica de la tablet restablecidos. Para usarla, introduce tu contraseña anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Ajustes de fábrica del dispositivo restablecidos. Para usarlo, introduce tu contraseña anterior."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"La batería se está cargando lentamente o no se está cargando. Comprueba que el cable y el adaptador de corriente funcionan con tu teléfono."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"La batería se está cargando lentamente o no se está cargando. Comprueba que el cable y el adaptador de corriente funcionan con tu dispositivo."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"La batería se está cargando lentamente o no se está cargando. Comprueba que el cable y el adaptador de corriente funcionan con tu tablet."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Es posible que el teléfono se esté cargando muy lentamente o no se esté cargando. Para que se cargue más rápido, usa un cable y un adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Es posible que el dispositivo se esté cargando muy lentamente o no se esté cargando. Para que se cargue más rápido, usa un cable y un adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Es posible que la tablet se esté cargando muy lentamente o no se esté cargando. Para que se cargue más rápido, usa un cable y un adaptador recomendados."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sin desbloquear tu teléfono"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sin desbloquear tu tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Cuando cambias el teléfono entre vertical y horizontal"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Cuando cambias la tablet entre vertical y horizontal"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Cuando cambias la tablet entre vertical y horizontal"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajusta cómo se muestran los colores en tu teléfono"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajusta cómo se muestran los colores en tu tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altavoces del teléfono"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Altavoces de la tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altavoces del dispositivo"</string>
 </resources>
diff --git a/res-product/values-et/strings.xml b/res-product/values-et/strings.xml
index d965b3c..d0881ee 100644
--- a/res-product/values-et/strings.xml
+++ b/res-product/values-et/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon lähtestati tehaseseadetele. Telefoni kasutamiseks sisestage oma eelmine parool."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tahvelarvuti lähtestati tehaseseadetele. Tahvelarvuti kasutamiseks sisestage oma eelmine parool."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Seade lähtestati tehaseseadetele. Seadme kasutamiseks sisestage oma eelmine parool."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Akut ei laeta või laetakse aeglaselt. Kontrollige, kas kaabel ja toiteadapter töötavad teie telefoniga"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Akut ei laeta või laetakse aeglaselt. Kontrollige, kas kaabel ja toiteadapter töötavad teie seadmega."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Akut ei laeta või laetakse aeglaselt. Kontrollige, kas kaabel ja toiteadapter töötavad teie tahvelarvutiga."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Teie telefoni võidakse laadida aeglaselt või üldse mitte. Kiiremaks laadimiseks kasutage soovitatavat kaablit ja adapterit."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Teie seadet võidakse laadida aeglaselt või üldse mitte. Kiiremaks laadimiseks kasutage soovitatavat kaablit ja adapterit."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Teie tahvelarvutit võidakse laadida aeglaselt või üldse mitte. Kiiremaks laadimiseks kasutage soovitatavat kaablit ja adapterit."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Ilma telefoni avamata"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Ilma tahvelarvutit avamata"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Liigutades telefoni vertikaal- ja horisontaalrežiimi vahel"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Liigutades tahvelarvutit vertikaal- ja horisontaalrežiimi vahel"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Liigutades tahvelarvutit vertikaal- ja horisontaalrežiimi vahel"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Kohandage telefonis värvide kuvamist"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Kohandage tahvelarvutis värvide kuvamist"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefoni kõlarid"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tahvelarvuti kõlarid"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Seadme kõlarid"</string>
 </resources>
diff --git a/res-product/values-eu/strings.xml b/res-product/values-eu/strings.xml
index 403b483..e74a624 100644
--- a/res-product/values-eu/strings.xml
+++ b/res-product/values-eu/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefonoaren jatorrizko ezarpenak berrezarri dira. Telefonoa erabiltzeko, idatzi aurreko pasahitza."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tabletaren jatorrizko ezarpenak berrezarri dira. Tableta erabiltzeko, idatzi aurreko pasahitza."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Gailuaren jatorrizko ezarpenak berrezarri dira. Gailua erabiltzeko, idatzi aurreko pasahitza."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateria mantso kargatzen ari da edo ez da kargatzen. Egiaztatu kableak eta egokigailuak telefonoarekin funtzionatzen dutela."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateria mantso kargatzen ari da edo ez da kargatzen. Egiaztatu kableak eta egokigailuak gailuarekin funtzionatzen dutela."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateria mantso kargatzen ari da edo ez da kargatzen. Egiaztatu kableak eta egokigailuak tabletarekin funtzionatzen dutela."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Agian telefonoa ez da kargatzen ari edo oso mantso kargatzen ari da. Bizkorrago karga dadin, erabili gomendatutako egokigailu bat eta kable bat."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Agian gailua ez da kargatzen ari edo oso mantso kargatzen ari da. Bizkorrago karga dadin, erabili gomendatutako egokigailu bat eta kable bat."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Agian tableta ez da kargatzen ari edo oso mantso kargatzen ari da. Bizkorrago karga dadin, erabili gomendatutako egokigailu bat eta kable bat."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Telefonoa desblokeatu gabe"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Tableta desblokeatu gabe"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Telefonoaren pantailaren orientazioa bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Tabletaren pantailaren orientazioa bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Tabletaren pantailaren orientazioa bertikaletik horizontalera, eta alderantziz, aldatzen duzunean"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Doitu nola bistaratzen diren koloreak telefonoan"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Doitu nola bistaratzen diren koloreak tabletan"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefonoaren bozgorailuak"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tabletaren bozgorailuak"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Gailuaren bozgorailuak"</string>
 </resources>
diff --git a/res-product/values-fa/strings.xml b/res-product/values-fa/strings.xml
index 450ebbc..68f5cca 100644
--- a/res-product/values-fa/strings.xml
+++ b/res-product/values-fa/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"تلفن به تنظیمات کارخانه بازنشانی شده است. برای استفاده از این تلفن، گذرواژه قبلی را وارد کنید."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"رایانه لوحی به تنظیمات کارخانه بازنشانی شده است. برای استفاده از این رایانه لوحی، گذرواژه قبلی را وارد کنید."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"دستگاه به تنظیمات کارخانه بازنشانی شده است. برای استفاده از این دستگاه، گذرواژه قبلی را وارد کنید."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"باتری به‌کندی شارژ می‌شود یا اصلاً شارژ نمی‌شود. ببینید کابل و آداپتور برق با تلفنتان سازگار است یا نه"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"باتری به‌کندی شارژ می‌شود یا اصلاً شارژ نمی‌شود. ببینید کابل و آداپتور برق با دستگاهتان سازگار است یا نه"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"باتری به‌کندی شارژ می‌شود یا اصلاً شارژ نمی‌شود. ببینید کابل و آداپتور برق با رایانه لوحی‌تان سازگار است یا نه"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ممکن است تلفن شارژ نشود یا سرعت شارژ کم باشد. برای شارژ سریع‌تر، از کابل و آداپتور توصیه‌شده استفاده کنید."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ممکن است دستگاه شارژ نشود یا سرعت شارژ کم باشد. برای شارژ سریع‌تر، از کابل و آداپتور توصیه‌شده استفاده کنید."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ممکن است رایانه لوحی شارژ نشود یا سرعت شارژ کم باشد. برای شارژ سریع‌تر، از کابل و آداپتور توصیه‌شده استفاده کنید."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"بدون باز کردن قفل تلفن"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"بدون باز کردن قفل رایانه لوحی"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"وقتی تلفن را بین حالت افقی و عمودی جابه‌جا می‌کنید"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"وقتی رایانه لوحی را بین حالت افقی و عمودی جابه‌جا می‌کنید"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"وقتی رایانه لوحی را بین حالت افقی و عمودی جابه‌جا می‌کنید"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"تعیین می‌کنید رنگ‌ها چگونه در تلفن نمایش داده شود"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"تعیین می‌کنید رنگ‌ها چگونه در رایانه لوحی نمایش داده شود"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"بلندگوهای تلفن"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"بلندگوهای رایانه لوحی"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"بلندگوهای دستگاه"</string>
 </resources>
diff --git a/res-product/values-fi/strings.xml b/res-product/values-fi/strings.xml
index eabf726..3d93665 100644
--- a/res-product/values-fi/strings.xml
+++ b/res-product/values-fi/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Puhelimen laiteasetukset palautettiin. Jos haluat käyttää tätä puhelinta, lisää aiempi salasana."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tabletin tehdasasetukset palautettiin. Käytä tablettia lisäämällä aiempi salasana."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Laitteen tehdasasetukset palautettiin. Käytä laitetta lisäämällä aiempi salasana."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Akku ei lataudu tai latautuu hitaasti. Tarkista, toimiiko johto ja virtalähde puhelimesi kanssa"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Akku ei lataudu tai latautuu hitaasti. Tarkista, toimiiko johto ja virtalähde laitteesi kanssa"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Akku ei lataudu tai latautuu hitaasti. Tarkista, toimiiko johto ja virtalähde tablettisi kanssa"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Puhelin saattaa latautua hitaasti tai ei lainkaan. Käytä suositeltua johtoa ja laturia, jotta akku latautuu nopeammin."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Laite saattaa latautua hitaasti tai ei lainkaan. Käytä suositeltua johtoa ja laturia, jotta akku latautuu nopeammin."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tabletti saattaa latautua hitaasti tai ei lainkaan. Käytä suositeltua johtoa ja laturia, jotta akku latautuu nopeammin."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Avaamatta puhelimen lukitusta"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Avaamatta tabletin lukitusta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kun käännät puhelimen pysty- tai vaaka-asentoon"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kun käännät tabletin pysty- tai vaaka-asentoon"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kun käännät tabletin pysty- tai vaaka-asentoon"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Muuta värien näkymistä puhelimellasi"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Muuta värien näkymistä tabletillasi"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Puhelimen kaiuttimet"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tabletin kaiuttimet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Laitteen kaiuttimet"</string>
 </resources>
diff --git a/res-product/values-fr-rCA/strings.xml b/res-product/values-fr-rCA/strings.xml
index 52f08f0..5f55424 100644
--- a/res-product/values-fr-rCA/strings.xml
+++ b/res-product/values-fr-rCA/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Téléphone réinitialisé aux paramètres par défaut Pour l\'utiliser, entrez votre ancien mot de passe."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablette réinitialisée aux paramètres par défaut. Pour l\'utiliser, entrez votre ancien mot de passe."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Appareil réinitialisé aux paramètres par défaut. Pour l\'utiliser, entrez votre ancien mot de passe."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"La pile se recharge lentement ou pas du tout. Vérifiez que le câble et l\'adaptateur d\'alimentation sont compatibles avec votre téléphone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"La pile se recharge lentement ou pas du tout. Vérifiez que le câble et l\'adaptateur d\'alimentation sont compatibles avec votre appareil"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"La pile se recharge lentement ou pas du tout. Vérifiez que le câble et l\'adaptateur d\'alimentation sont compatibles avec votre tablette"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Votre téléphone pourrait se recharger lentement ou ne pas se recharger. Pour une recharge plus rapide, utilisez un adaptateur et un câble recommandés."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Votre appareil pourrait se recharger lentement ou ne pas se recharger. Pour une recharge plus rapide, utilisez un adaptateur et un câble recommandés."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Votre tablette pourrait se recharger lentement ou ne pas se recharger. Pour une recharge plus rapide, utilisez un adaptateur et un câble recommandés."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sans déverrouiller votre téléphone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sans déverrouiller votre tablette"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Lorsque vous orientez votre téléphone entre les modes portrait et paysage"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Lorsque vous orientez votre tablette entre les modes portrait et paysage"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Lorsque vous orientez votre tablette entre les modes portrait et paysage"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajustez l\'affichage des couleurs sur votre téléphone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajustez l\'affichage des couleurs sur votre tablette"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Haut-parleurs du téléphone"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Haut-parleurs de la tablette"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Haut-parleurs de l\'appareil"</string>
 </resources>
diff --git a/res-product/values-fr/strings.xml b/res-product/values-fr/strings.xml
index add8604..07d19e3 100644
--- a/res-product/values-fr/strings.xml
+++ b/res-product/values-fr/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Configuration d\'usine du téléphone rétablie. Pour l\'utiliser, saisissez votre mot passe précédent."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Configuration d\'usine de la tablette rétablie. Pour l\'utiliser, saisissez le mot de passe précédent."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Configuration d\'usine de l\'appareil rétablie. Pour l\'utiliser, saisissez le mot de passe précédent."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"La batterie se recharge lentement ou pas du tout. Vérifiez si le câble et l\'adaptateur secteur fonctionnent avec votre téléphone."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"La batterie se recharge lentement ou pas du tout. Vérifiez si le câble et l\'adaptateur secteur fonctionnent avec votre appareil."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"La batterie se recharge lentement ou pas du tout. Vérifiez si le câble et l\'adaptateur secteur fonctionnent avec votre tablette."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Votre téléphone se recharge peut-être lentement ou pas du tout. Pour une recharge plus rapide, utilisez un câble et un adaptateur recommandés."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Votre appareil se recharge peut-être lentement ou pas du tout. Pour une recharge plus rapide, utilisez un câble et un adaptateur recommandés."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Votre tablette se recharge peut-être lentement ou pas du tout. Pour une recharge plus rapide, utilisez un câble et un adaptateur recommandés."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sans déverrouiller votre téléphone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sans déverrouiller votre tablette"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Quand vous basculez votre téléphone en mode portrait ou paysage"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quand vous basculez votre tablette en mode portrait ou paysage"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Quand vous basculez votre tablette en mode portrait ou paysage"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuster l\'affichage des couleurs sur votre téléphone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuster l\'affichage des couleurs sur votre tablette"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Haut-parleurs du téléphone"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Haut-parleurs de la tablette"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Haut-parleurs de l\'appareil"</string>
 </resources>
diff --git a/res-product/values-gl/strings.xml b/res-product/values-gl/strings.xml
index 03e12f5..62c14dc 100644
--- a/res-product/values-gl/strings.xml
+++ b/res-product/values-gl/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Restableceuse a configuración de fábrica do teléfono. Para usalo, pon o contrasinal anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Restableceuse a configuración de fábrica da tableta. Para usala, pon o contrasinal anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Restableceuse a configuración de fábrica do dispositivo. Para usalo, pon o contrasinal anterior."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"A batería está cargando lentamente ou non está cargando. Comproba se o cable e o adaptador de corrente son compatibles co teléfono"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"A batería está cargando lentamente ou non está cargando. Comproba se o cable e o adaptador de corrente son compatibles co dispositivo"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"A batería está cargando lentamente ou non está cargando. Comproba se o cable e o adaptador de corrente son compatibles coa tableta"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"É posible que o teu teléfono estea cargando lentamente ou non cargue. Para acelerar a carga, usa un adaptador e un cable recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"É posible que o teu dispositivo estea cargando lentamente ou non cargue. Para acelerar a carga, usa un adaptador e un cable recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"É posible que a túa tableta estea cargando lentamente ou non cargue. Para acelerar a carga, usa un adaptador e un cable recomendados."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sen desbloquear o teléfono"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sen desbloquear a tableta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Ao cambiar o teléfono do modo vertical ao horizontal"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ao cambiar a tableta do modo vertical ao horizontal"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Ao cambiar a tableta do modo vertical ao horizontal"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Axusta a maneira en que se mostran as cores no teléfono"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Axusta a maneira en que se mostran as cores na tableta"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altofalantes do teléfono"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Altofalantes da tableta"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altofalantes do dispositivo"</string>
 </resources>
diff --git a/res-product/values-gu/strings.xml b/res-product/values-gu/strings.xml
index 4ed4e86..19edabe 100644
--- a/res-product/values-gu/strings.xml
+++ b/res-product/values-gu/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ફોન ફેક્ટરી સેટિંગ પર રીસેટ કરવામાં આવ્યો છે. આ ફોનનો ઉપયોગ કરવા માટે તમારો અગાઉનો પાસવર્ડ દાખલ કરો."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"તમારું ટૅબ્લેટ ફેક્ટરી સેટિંગ પર રીસેટ કરાયું છે. આ ટૅબ્લેટનો ઉપયોગ કરવા, તમારો અગાઉનો પાસવર્ડ દાખલ કરો."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"તમારું ડિવાઇસ ફેક્ટરી સેટિંગ પર રીસેટ કરાયું છે. આ ડિવાઇસનો ઉપયોગ કરવા, અગાઉનો પાસવર્ડ દાખલ કરો."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"બૅટરી ખૂબ જ ધીમેથી ચાર્જ થઈ રહી છે અથવા તો તે ચાર્જ થઈ રહી નથી. કેબલ અને પાવર અડૅપ્ટર તમારા ફોન સાથે કામ કરે છે કે નહીં તે ચેક કરો"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"બૅટરી ખૂબ જ ધીમેથી ચાર્જ થઈ રહી છે અથવા તો તે ચાર્જ થઈ રહી નથી. કેબલ અને પાવર અડૅપ્ટર તમારા ડિવાઇસ સાથે કામ કરે છે કે નહીં તે ચેક કરો"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"બૅટરી ખૂબ જ ધીમેથી ચાર્જ થઈ રહી છે અથવા તો તે ચાર્જ થઈ રહી નથી. કેબલ અને પાવર અડૅપ્ટર તમારા ટૅબ્લેટ સાથે કામ કરે છે કે નહીં તે ચેક કરો"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"તમારો ફોન ધીમે ચાર્જ થઈ રહ્યો હોય અથવા ચાર્જ ન થઈ રહ્યો હોય એવું બની શકે છે. વધુ ઝડપી ચાર્જિંગ માટે, સુઝાવ આપેલા કેબલ અને અડૅપ્ટરનો ઉપયોગ કરો."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"તમારું ડિવાઇસ ધીમે ચાર્જ થઈ રહ્યું હોય અથવા ચાર્જ ન થઈ રહ્યું હોય એવું બની શકે છે. વધુ ઝડપી ચાર્જિંગ માટે, સુઝાવ આપેલા કેબલ અને અડૅપ્ટરનો ઉપયોગ કરો."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"તમારું ટૅબ્લેટ ધીમે ચાર્જ થઈ રહ્યું હોય અથવા ચાર્જ ન થઈ રહ્યું હોય એવું બની શકે છે. વધુ ઝડપી ચાર્જિંગ માટે, સુઝાવ આપેલા કેબલ અને અડૅપ્ટરનો ઉપયોગ કરો."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"તમારો ફોન અનલૉક કર્યા વિના"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"તમારું ટૅબ્લેટ અનલૉક કર્યા વિના"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"તમારા ફોનને પોર્ટ્રેટ અને લૅન્ડસ્કેપ વચ્ચેની સ્થિતિમાં ખસેડતી વખતે"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"તમારા ટૅબ્લેટને પોર્ટ્રેટ અને લૅન્ડસ્કેપ વચ્ચેની સ્થિતિમાં ખસેડતી વખતે"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"તમારા ટૅબ્લેટને પોર્ટ્રેટ અને લૅન્ડસ્કેપ વચ્ચેની સ્થિતિમાં ખસેડતી વખતે"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"તમારા ફોન પર રંગો કેવી રીતે બતાવવામાં આવે તેની ગોઠવણી કરો"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"તમારા ટૅબ્લેટ પર રંગો કેવી રીતે બતાવવામાં આવે તેની ગોઠવણી કરો"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ફોનના સ્પીકર"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ટૅબ્લેટના સ્પીકર"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ડિવાઇસના સ્પીકર"</string>
 </resources>
diff --git a/res-product/values-hi/strings.xml b/res-product/values-hi/strings.xml
index b41c2d4..f44ecad 100644
--- a/res-product/values-hi/strings.xml
+++ b/res-product/values-hi/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"आपका फ़ोन, फ़ैक्ट्री सेटिंग पर रीसेट किया गया था. इस फ़ोन को चलाने के लिए, पिछला पासवर्ड डालें."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"आपका टैबलेट, फ़ैक्ट्री सेटिंग पर रीसेट किया गया था. इस टैबलेट को चलाने के लिए, पिछला पासवर्ड डालें."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"आपका डिवाइस, फ़ैक्ट्री सेटिंग पर रीसेट किया गया था. इस डिवाइस को चलाने के लिए, पिछला पासवर्ड डालें."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"डिवाइस की बैटरी धीरे चार्ज हो रही है या चार्ज नहीं हो रही है. देखें कि आपके फ़ोन के साथ यह केबल और पावर अडैप्टर काम करता है या नहीं"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"डिवाइस की बैटरी धीरे चार्ज हो रही है या चार्ज नहीं हो रही है. देखें कि आपके डिवाइस के साथ यह केबल और पावर अडैप्टर काम करता है या नहीं"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"डिवाइस की बैटरी धीरे चार्ज हो रही है या चार्ज नहीं हो रही है. देखें कि आपके टैबलेट के साथ यह केबल और पावर अडैप्टर काम करता है या नहीं"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ऐसा हो सकता है कि आपका फ़ोन धीरे चार्ज हो रहा हो या चार्ज न हो रहा हो. इसे फ़ास्ट चार्ज करने के लिए, सुझाए गए अडैप्टर और केबल का इस्तेमाल करें."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ऐसा हो सकता है कि आपका डिवाइस धीरे चार्ज हो रहा हो या चार्ज न हो रहा हो. इसे फ़ास्ट चार्ज करने के लिए, सुझाए गए अडैप्टर और केबल का इस्तेमाल करें."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ऐसा हो सकता है कि आपका टैबलेट धीरे चार्ज हो रहा हो या चार्ज न हो रहा हो. इसे फ़ास्ट चार्ज करने के लिए, सुझाए गए अडैप्टर और केबल का इस्तेमाल करें."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"फ़ोन अनलॉक किए बिना"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"टैबलेट अनलॉक किए बिना"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"फ़ोन को पोर्ट्रेट से लैंडस्केप मोड में स्विच करने पर, स्क्रीन अपने-आप घूम जाएगी"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"टैबलेट को पोर्ट्रेट से लैंडस्केप मोड में स्विच करने पर, स्क्रीन अपने-आप घूम जाएगी"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"टैबलेट को पोर्ट्रेट से लैंडस्केप मोड में स्विच करने पर, स्क्रीन अपने-आप घूम जाएगी"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"अपने फ़ोन पर रंगों के दिखने का तरीका बदलें"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"अपने टैबलेट पर रंगों के दिखने का तरीका बदलें"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"फ़ोन के स्पीकर"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"टैबलेट के स्पीकर"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"डिवाइस के स्पीकर"</string>
 </resources>
diff --git a/res-product/values-hr/strings.xml b/res-product/values-hr/strings.xml
index cc3a3da..17b8612 100644
--- a/res-product/values-hr/strings.xml
+++ b/res-product/values-hr/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon je vraćen na tvorničke postavke. Da biste ga koristili, unesite prethodnu zaporku."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet je vraćen na tvorničke postavke. Da biste ga koristili, unesite prethodnu zaporku."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Uređaj je vraćen na tvorničke postavke. Da biste ga koristili, unesite prethodnu zaporku."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Baterija se puni sporo ili se ne puni. Provjerite funkcioniraju li kabel i pretvarač napona s vašim telefonom"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Baterija se puni sporo ili se ne puni. Provjerite rade li kabel i pretvarač napona s vašim uređajem"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Baterija se puni sporo ili se ne puni. Provjerite rade li kabel i pretvarač napona s vašim tabletom"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon se možda sporo puni ili se ne puni. Za brže punjenje upotrijebite preporučeni kabel i pretvarač napona."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Uređaj se možda sporo puni ili se ne puni. Za brže punjenje upotrijebite preporučeni kabel i pretvarač napona."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet se možda sporo puni ili se ne puni. Za brže punjenje upotrijebite preporučeni kabel i pretvarač napona."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bez otključavanja telefona"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bez otključavanja tableta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kad izmjenjujete prikaz zaslona telefona između okomitog i vodoravnog"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kad izmjenjujete prikaz zaslona tableta između okomitog i vodoravnog"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kad izmjenjujete prikaz zaslona tableta između okomitog i vodoravnog"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Prilagodite način prikazivanja boja na telefonu"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Prilagodite način prikazivanja boja na svojem tabletu."</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Zvučnici telefona"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Zvučnici tableta"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Zvučnici uređaja"</string>
 </resources>
diff --git a/res-product/values-hu/strings.xml b/res-product/values-hu/strings.xml
index f27e3e6..1f7f7db 100644
--- a/res-product/values-hu/strings.xml
+++ b/res-product/values-hu/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"A telefon gyári beállításai visszaállítva. A telefon használatához adja meg az előző jelszavát."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"A táblagép gyári beállításai visszaállítva. A táblagép használatához adja meg az előző jelszavát."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Az eszköz gyári beállításai visszaállítva. Az eszköz használatához adja meg az előző jelszavát."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Az akkumulátor lassan vagy nem tölt. Ellenőrizze, hogy a kábel és a tápcsatlakozó használható-e a telefonjával."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Az akkumulátor lassan vagy nem tölt. Ellenőrizze, hogy a kábel és a tápcsatlakozó használható-e az eszközével."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Az akkumulátor lassan vagy nem tölt. Ellenőrizze, hogy a kábel és a tápcsatlakozó használható-e a táblagépével."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Előfordulhat, hogy telefonja lassan vagy egyáltalán nem tölt. A gyorsabb töltéshez használjon ajánlott kábelt és adaptert."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Előfordulhat, hogy eszköze lassan vagy egyáltalán nem tölt. A gyorsabb töltéshez használjon ajánlott kábelt és adaptert."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Előfordulhat, hogy táblagépe lassan vagy egyáltalán nem tölt. A gyorsabb töltéshez használjon ajánlott kábelt és adaptert."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"A telefon zárolásának feloldása nélkül"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"A táblagép zárolásának feloldása nélkül"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Amikor Ön álló vagy fekvő helyzetbe fordítja a telefont"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Amikor Ön álló vagy fekvő helyzetbe fordítja a táblagépet"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Amikor Ön álló vagy fekvő helyzetbe fordítja a táblagépet"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Beállíthatja, hogy a színek miként jelenjenek meg a telefonon"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Beállíthatja, hogy a színek miként jelenjenek meg a táblagépen"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefon hangszórója"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Táblagép hangszórója"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Eszköz hangszórója"</string>
 </resources>
diff --git a/res-product/values-hy/strings.xml b/res-product/values-hy/strings.xml
index 278df90..6861e6a 100644
--- a/res-product/values-hy/strings.xml
+++ b/res-product/values-hy/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Ձեր հեռախոսում վերականգնվել են գործարանային կարգավորումները։ Մուտքագրեք ձեր նախորդ գաղտնաբառը։"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Ձեր պլանշետում վերականգնվել են գործարանային կարգավորումները։ Մուտքագրեք ձեր նախորդ գաղտնաբառը։"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Ձեր սարքում վերականգնվել են գործարանային կարգավորումները։ Մուտքագրեք ձեր նախորդ գաղտնաբառը։"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Մարտկոցը դանդաղ է լիցքավորվում կամ չի լիցքավորվում։ Ստուգեք՝ արդյոք մալուխը և սնուցման ադապտերը համատեղելի են ձեր հեռախոսի հետ։"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Մարտկոցը դանդաղ է լիցքավորվում կամ չի լիցքավորվում։ Ստուգեք՝ արդյոք մալուխը և սնուցման ադապտերը համատեղելի են ձեր սարքի հետ։"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Մարտկոցը դանդաղ է լիցքավորվում կամ չի լիցքավորվում։ Ստուգեք՝ արդյոք մալուխը և սնուցման ադապտերը համատեղելի են ձեր պլանշետի հետ։"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Ձեր հեռախոսը կարող է դանդաղ լիցքավորվել կամ ընդհանրապես չլիցքավորվել։ Արագ լիցքավորման համար օգտագործեք խորհուրդ տրվող մալուխը և ադապտերը։"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Ձեր սարքը կարող է դանդաղ լիցքավորվել կամ ընդհանրապես չլիցքավորվել։ Արագ լիցքավորման համար օգտագործեք խորհուրդ տրվող մալուխը և ադապտերը։"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Ձեր պլանշետը կարող է դանդաղ լիցքավորվել կամ ընդհանրապես չլիցքավորվել։ Արագ լիցքավորման համար օգտագործեք խորհուրդ տրվող մալուխը և ադապտերը։"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Առանց հեռախոսն ապակողպելու"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Առանց պլանշետն ապակողպելու"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Փոխել էկրանի դիրքը ուղղաձիգի/հորիզոնականի՝ հեռախոսը պտտելիս"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Փոխել էկրանի դիրքը ուղղաձիգի/հորիզոնականի՝ պլանշետը պտտելիս"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Փոխել էկրանի դիրքը ուղղաձիգի/հորիզոնականի՝ պլանշետը պտտելիս"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Կարգավորեք գույների ցուցադրումը ձեր հեռախոսում"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Կարգավորեք գույների ցուցադրումը ձեր պլանշետում"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Հեռախոսի բարձրախոսներ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Պլանշետի բարձրախոսներ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Սարքի բարձրախոսներ"</string>
 </resources>
diff --git a/res-product/values-in/strings.xml b/res-product/values-in/strings.xml
index ce989ba..295916c 100644
--- a/res-product/values-in/strings.xml
+++ b/res-product/values-in/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Ponsel direset ke setelan pabrik. Untuk menggunakan ponsel ini, masukkan sandi sebelumnya."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet direset ke setelan pabrik. Untuk menggunakan tablet ini, masukkan sandi sebelumnya."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Perangkat direset ke setelan pabrik. Untuk menggunakan perangkat ini, masukkan sandi sebelumnya."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Pengisian daya baterai lambat atau tidak mau mengisi daya sama sekali. Periksa apakah kabel dan adaptor daya berfungsi dengan ponsel Anda"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Pengisian daya baterai lambat atau tidak mau mengisi daya sama sekali. Periksa apakah kabel dan adaptor daya berfungsi dengan perangkat Anda"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Pengisian daya baterai lambat atau tidak mau mengisi daya sama sekali. Periksa apakah kabel dan adaptor daya berfungsi dengan tablet Anda"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Ponsel Anda mungkin mengisi daya lambat atau tidak mengisi daya. Untuk mengisi daya lebih cepat, gunakan kabel dan adaptor yang direkomendasikan."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Perangkat Anda mungkin mengisi daya lambat atau tidak mengisi daya. Untuk mengisi daya lebih cepat, gunakan kabel dan adaptor yang direkomendasikan."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet Anda mungkin mengisi daya lambat atau tidak mengisi daya. Untuk mengisi daya lebih cepat, gunakan kabel dan adaptor yang direkomendasikan."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Tanpa membuka kunci ponsel Anda"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Tanpa membuka kunci tablet Anda"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Saat Anda berganti mode ponsel antara potret dan lanskap"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Saat Anda berganti mode tablet antara potret dan lanskap"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Saat Anda berganti mode tablet antara potret dan lanskap"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Sesuaikan tampilan warna di ponsel Anda"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Sesuaikan tampilan warna di tablet Anda"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Speaker ponsel"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Speaker tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Speaker perangkat"</string>
 </resources>
diff --git a/res-product/values-is/strings.xml b/res-product/values-is/strings.xml
index ce565db..4324989 100644
--- a/res-product/values-is/strings.xml
+++ b/res-product/values-is/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Síminn var núllstilltur. Til að nota símann skaltu slá inn fyrra aðgangsorð."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Spjaldtölvan var núllstillt. Til að nota spjaldtölvuna skaltu slá inn fyrra aðgangsorð."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Tækið var núllstillt. Til að nota tækið skaltu slá inn fyrra aðgangsorð."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Rafhlaða hleðst hægt eða hleðst ekki. Athugaðu hvort snúran og straumbreytirinn virki með símanum"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Rafhlaða hleðst hægt eða hleðst ekki. Athugaðu hvort snúran og straumbreytirinn virki með tækinu"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Rafhlaða hleðst hægt eða hleðst ekki. Athugaðu hvort snúran og straumbreytirinn virki með spjaldtölvunni"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Síminn þinn hleðst hugsanlega hægt eða hleðst ekki. Notaðu straumbreyti og snúru sem mælt er með til að hlaða hraðar."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Tækið þitt hleðst hugsanlega hægt eða hleðst ekki. Notaðu straumbreyti og snúru sem mælt er með til að hlaða hraðar."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Spjaldtölvan þín hleðst hugsanlega hægt eða hleðst ekki. Notaðu straumbreyti og snúru sem mælt er með til að hlaða hraðar."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Án þess að taka símann úr lás"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Án þess að taka spjaldtölvuna úr lás"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Þegar þú skiptir á milli skammsniðs og langsniðs í símanum"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Þegar þú skiptir á milli skammsniðs og langsniðs í spjaldtölvunni"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Þegar þú skiptir á milli skammsniðs og langsniðs í spjaldtölvunni"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Stilltu litabirtingu í símanum þínum"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Stilltu litabirtingu í spjaldtölvunni þinni"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Hátalarar síma"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Hátalarar spjaldtölvu"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Hátalarar tækis"</string>
 </resources>
diff --git a/res-product/values-it/strings.xml b/res-product/values-it/strings.xml
index c9a228e..a0c622c 100644
--- a/res-product/values-it/strings.xml
+++ b/res-product/values-it/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Impostazioni di fabbrica ripristinate. Per usare il telefono, inserisci la password precedente."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Impostazioni di fabbrica ripristinate. Per usare il tablet, inserisci la password precedente."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Impostazioni di fabbrica ripristinate. Per usare il dispositivo, inserisci la password precedente."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"La batteria si carica lentamente o non si carica. Controlla se il cavo e l\'alimentatore sono compatibili con il telefono"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"La batteria si carica lentamente o non si carica. Controlla se il cavo e l\'alimentatore sono compatibili con il dispositivo"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"La batteria si carica lentamente o non si carica. Controlla se il cavo e l\'alimentatore sono compatibili con il tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Lo smartphone potrebbe ricaricarsi lentamente o non ricaricarsi affatto. Per velocizzare la ricarica, usa un cavo e un alimentatore consigliati."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Il dispositivo potrebbe ricaricarsi lentamente o non ricaricarsi affatto. Per velocizzare la ricarica, usa un cavo e un alimentatore consigliati."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Il tablet potrebbe ricaricarsi lentamente o non ricaricarsi affatto. Per velocizzare la ricarica, usa un cavo e un alimentatore consigliati."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Senza sbloccare il telefono"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Senza sbloccare il tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Quando ruoti il telefono in orizzontale e verticale"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quando ruoti il tablet in orizzontale e verticale"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Quando ruoti il tablet in orizzontale e verticale"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Regola la modalità di visualizzazione dei colori sullo smartphone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Regola la modalità di visualizzazione dei colori sul tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altoparlanti smartphone"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Altoparlanti tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Speaker dispositivo"</string>
 </resources>
diff --git a/res-product/values-iw/strings.xml b/res-product/values-iw/strings.xml
index 521ff6c..f7b1b4e 100644
--- a/res-product/values-iw/strings.xml
+++ b/res-product/values-iw/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"הטלפון שלך עבר איפוס להגדרות המקוריות. כדי להשתמש בטלפון הזה, יש להזין את הסיסמה הקודמת."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"הטאבלט שלך עבר איפוס להגדרות המקוריות. כדי להשתמש בטאבלט הזה, יש להזין את הסיסמה הקודמת."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"המכשיר שלך עבר איפוס להגדרות המקוריות. כדי להשתמש במכשיר הזה, יש להזין את הסיסמה הקודמת."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"הסוללה נטענת לאט, או שלא ניתן לטעון אותה כלל. צריך לבדוק אם הכבל ומתאם המתח עובדים עם הטלפון"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"הסוללה נטענת לאט, או שלא ניתן לטעון אותה כלל. צריך לבדוק אם הכבל ומתאם המתח עובדים עם המכשיר"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"הסוללה נטענת לאט, או שלא ניתן לטעון אותה כלל. צריך לבדוק אם הכבל ומתאם המתח עובדים עם הטאבלט"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"יכול להיות שהטלפון נטען לאט או לא נטען. לטעינה מהירה יותר, כדאי להשתמש במתאם ובכבל מומלצים."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"יכול להיות שהמכשיר נטען לאט או לא נטען. לטעינה מהירה יותר, כדאי להשתמש במתאם ובכבל מומלצים."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"יכול להיות שהטאבלט נטען לאט או לא נטען. לטעינה מהירה יותר, כדאי להשתמש במתאם ובכבל מומלצים."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"בלי לבטל את נעילת הטלפון"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"בלי לבטל את נעילת הטאבלט"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"כשמזיזים את הטלפון ממצב \'לאורך\' למצב \'לרוחב\' ולהפך"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"כשמזיזים את הטאבלט ממצב \'לאורך\' למצב \'לרוחב\' ולהפך"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"כשמזיזים את הטאבלט ממצב \'לאורך\' למצב \'לרוחב\' ולהפך"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"כוונון של תצוגת הצבעים בטלפון"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"כוונון של תצוגת הצבעים בטאבלט"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"רמקולים של טלפון"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"רמקולים של טאבלט"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"רמקולים של מכשיר"</string>
 </resources>
diff --git a/res-product/values-ja/strings.xml b/res-product/values-ja/strings.xml
index 786d44d..32e2a3e 100644
--- a/res-product/values-ja/strings.xml
+++ b/res-product/values-ja/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"スマートフォンは出荷時の設定にリセットされました。使用するには、以前のパスワードを入力してください。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"タブレットは出荷時の設定にリセットされました。使用するには、以前のパスワードを入力してください。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"デバイスは出荷時の設定にリセットされました。使用するには、以前のパスワードを入力してください。"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"バッテリーの充電が遅くなるか、充電されないおそれがあります。お使いのスマートフォンで利用できるケーブルと電源アダプターであるか確認してください。"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"バッテリーの充電が遅くなるか、充電されないおそれがあります。お使いのデバイスで利用できるケーブルと電源アダプターであるか確認してください"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"バッテリーの充電が遅くなるか、充電されないおそれがあります。お使いのタブレットで利用できるケーブルと電源アダプターであるか確認してください"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"スマートフォンのバッテリーが充電されていないか、充電に非常に時間がかかっています。充電時間を短くするには、推奨されるケーブルとアダプターを使用してください。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"デバイスのバッテリーが充電されていないか、充電に非常に時間がかかっています。充電時間を短くするには、推奨されるケーブルとアダプターを使用してください。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"タブレットのバッテリーが充電されていないか、充電に非常に時間がかかっています。充電時間を短くするには、推奨されるケーブルとアダプターを使用してください。"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"スマートフォンのロックを解除せずに操作"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"タブレットのロックを解除せずに操作"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"スマートフォンを動かして縦向きと横向きを切り替えたとき"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"タブレットを動かして縦向きと横向きを切り替えたとき"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"タブレットを動かして縦向きと横向きを切り替えたとき"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"スマートフォンでの色表示を補正できます"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"タブレットでの色表示を補正できます"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"スマートフォンのスピーカー"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"タブレットのスピーカー"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"デバイスのスピーカー"</string>
 </resources>
diff --git a/res-product/values-ka/strings.xml b/res-product/values-ka/strings.xml
index c56a58f..aa1b099 100644
--- a/res-product/values-ka/strings.xml
+++ b/res-product/values-ka/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"თქვენი ტელეფონი დაბრუნდა ქარხნულ პარამეტრებზე. ამ ტელეფონის გამოსაყენებლად, შეიყვანეთ თქვენი წინა პაროლი."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"თქვენი ტაბლეტი დაბრუნდა ქარხნულ პარამეტრებზე. ამ ტაბლეტის გამოსაყენებლად შეიყვანეთ თქვენი წინა პაროლი."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"თქვენი მოწყობილობა დაბრუნდა ქარხნულ პარამეტრებზე. ამ მოწყობილობის გამოსაყენებლად შეიყვანეთ თქვენი წინა პაროლი."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ბატარეა ძალიან ნელა ან საერთოდ არ იტენება. დარწმუნდით, რომ სადენი და ელკვების ადაპტერი თავსებადია თქვენს ტელეფონთან"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ბატარეა ძალიან ნელა ან საერთოდ არ იტენება. დარწმუნდით, რომ სადენი და ელკვების ადაპტერი თავსებადია თქვენს მოწყობილობასთან"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ბატარეა ძალიან ნელა ან საერთოდ არ იტენება. დარწმუნდით, რომ სადენი და ელკვების ადაპტერი თავსებადია თქვენს ტაბლეტთან"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"თქვენი ტელეფონი შესაძლოა ნელა ან საერთოდ არ იტენებოდეს. უფრო სწრაფად დატენვისთვის გამოიყენეთ რეკომენდებული კაბელი და ადაპტერი."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"თქვენი მოწყობილობა შესაძლოა ნელა ან საერთოდ არ იტენებოდეს. უფრო სწრაფად დატენვისთვის გამოიყენეთ რეკომენდებული კაბელი და ადაპტერი."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"თქვენი ტაბლეტი შესაძლოა ნელა ან საერთოდ არ იტენებოდეს. უფრო სწრაფად დატენვისთვის გამოიყენეთ რეკომენდებული კაბელი და ადაპტერი."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"თქვენი ტელეფონის განბლოკვის გარეშე"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"თქვენი ტაბლეტის განბლოკვის გარეშე"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"როცა ტელეფონი პორტრეტის რეჟიმიდან პეიზაჟის რეჟიმზე გადაგყავთ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"როცა ტაბლეტი პორტრეტის რეჟიმიდან პეიზაჟის რეჟიმზე გადაგყავთ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"როცა ტაბლეტი პორტრეტის რეჟიმიდან პეიზაჟის რეჟიმზე გადაგყავთ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"დააკორექტირეთ, როგორ გამოჩნდეს ფერები თქვენს ტელეფონში"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"დააკორექტირეთ, როგორ გამოჩნდეს ფერები თქვენს ტაბლეტში"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ტელეფონის დინამიკები"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ტაბლეტის დინამიკები"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"მოწყობილობის დინამიკები"</string>
 </resources>
diff --git a/res-product/values-kk/strings.xml b/res-product/values-kk/strings.xml
index b5c2685..555e295 100644
--- a/res-product/values-kk/strings.xml
+++ b/res-product/values-kk/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Телефоныңыз зауыттық параметрлерге қайтарылды. Оны пайдалану үшін бұрынғы құпия сөзді енгізіңіз."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Планшетіңіз зауыттық параметрлерге қайтарылды. Оны пайдалану үшін бұрынғы құпия сөзді енгізіңіз."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Құрылғыңыз зауыттық параметрлерге қайтарылды. Оны пайдалану үшін бұрынғы құпия сөзді енгізіңіз."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батарея баяу зарядталып жатыр немесе зарядталмайды. Кабель мен қуат адаптерінің телефонда істейтінін-істемейтінін тексеріңіз."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батарея баяу зарядталып жатыр немесе зарядталмайды. Кабель мен қуат адаптерінің құрылғыда істейтінін-істемейтінін тексеріңіз."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батарея баяу зарядталып жатыр немесе зарядталмайды. Кабель мен қуат адаптерінің планшетте істейтінін-істемейтінін тексеріңіз."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Телефоныңыз баяу зарядталуы немесе мүлдем зарядталмауы мүмкін. Жылдамырақ зарядтау үшін ұсынылған кабель мен адаптерді пайдаланыңыз."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Құрылғыңыз баяу зарядталуы немесе мүлдем зарядталмауы мүмкін. Жылдамырақ зарядтау үшін ұсынылған кабель мен адаптерді пайдаланыңыз."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Планшетіңіз баяу зарядталуы немесе мүлдем зарядталмауы мүмкін. Жылдамырақ зарядтау үшін ұсынылған кабель мен адаптерді пайдаланыңыз."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Телефон құлпын ашпай-ақ қолдана аласыз."</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Планшет құлпын ашпай-ақ қолдана аласыз."</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Телефонды портрет және альбом режимі арасында ауыстырғанда"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Планшетті портрет және альбом режимі арасында ауыстырғанда"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Планшетті портрет және альбом режимі арасында ауыстырғанда"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Телефоныңызда түстердің қалай көрсетілетінін реттеңіз."</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Планшетіңізде түстердің қалай көрсетілетінін реттеңіз."</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Телефон динамиктері"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Планшет динамиктері"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Құрылғы динамиктері"</string>
 </resources>
diff --git a/res-product/values-km/strings.xml b/res-product/values-km/strings.xml
index 8ff49b3..4186609 100644
--- a/res-product/values-km/strings.xml
+++ b/res-product/values-km/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ទូរសព្ទរបស់អ្នក​ត្រូវបានកំណត់ឡើងវិញ​ដូចចេញពីរោងចក្រ។ ដើម្បីប្រើទូរសព្ទនេះ សូមបញ្ចូល​ពាក្យសម្ងាត់មុន​របស់អ្នក។"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ថេប្លេតរបស់អ្នកត្រូវបានកំណត់ឡើងវិញទៅការកំណត់ដូចចេញពីរោងចក្រ។ ដើម្បីប្រើថេប្លេតនេះ សូមបញ្ចូលពាក្យសម្ងាត់ពីមុនរបស់អ្នក។"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ឧបករណ៍របស់អ្នកត្រូវបានកំណត់ឡើងវិញទៅការកំណត់ដូចចេញពីរោងចក្រ។ ដើម្បីប្រើឧបករណ៍នេះ សូមបញ្ចូលពាក្យសម្ងាត់ពីមុនរបស់អ្នក។"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"សាកថ្មយឺត ឬសាកថ្មមិនចូល។ ពិនិត្យមើលថាតើខ្សែ និងឆ្នាំងសាកដំណើរការជាមួយទូរសព្ទរបស់អ្នកឬអត់"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"សាកថ្មយឺត ឬសាកថ្មមិនចូល។ ពិនិត្យមើលថាតើខ្សែ និងឆ្នាំងសាកដំណើរការជាមួយឧបករណ៍របស់អ្នកឬអត់"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"សាកថ្មយឺត ឬសាកថ្មមិនចូល។ ពិនិត្យមើលថាតើខ្សែ និងឆ្នាំងសាកដំណើរការជាមួយថេប្លេតរបស់អ្នកឬអត់"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ទូរសព្ទរបស់អ្នកអាចនឹងសាកថ្មយឺត ឬមិនសាក។ សម្រាប់ការសាកថ្មរហ័ស សូមប្រើខ្សែ និងអាដាប់ទ័រតាមការណែនាំ។"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ឧបករណ៍របស់អ្នកអាច​នឹងសាកថ្មយឺត ឬមិនសាក។ សម្រាប់ការសាកថ្មរហ័ស សូមប្រើខ្សែ និងអាដាប់ទ័រតាមការណែនាំ។"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ថេប្លេតរបស់អ្នកអាចនឹងសាកថ្មយឺត ឬមិនសាក។ សម្រាប់ការសាកថ្មរហ័ស សូមប្រើខ្សែ និងអាដាប់ទ័រតាមការណែនាំ។"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ដោយមិនចាំបាច់​ដោះសោ​ទូរសព្ទរបស់អ្នក"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ដោយមិនចាំបាច់​ដោះសោ​ថេប្លេតរបស់អ្នក"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"នៅពេលដែល​អ្នកដាក់​ទូរសព្ទ​របស់អ្នកឱ្យ​បញ្ឈរ និងផ្ដេក"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"នៅពេលដែល​អ្នកដាក់ថេប្លេត​របស់អ្នកឱ្យ​បញ្ឈរ និងផ្ដេក"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"នៅពេលដែល​អ្នកដាក់ថេប្លេត​របស់អ្នកឱ្យ​បញ្ឈរ និងផ្ដេក"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"កែតម្រូវរបៀបដែលពណ៌បង្ហាញនៅលើទូរសព្ទរបស់អ្នក"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"កែតម្រូវ​របៀបដែលពណ៌​បង្ហាញនៅលើ​ថេប្លេត​របស់អ្នក"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ឧបករណ៍បំពងសំឡេងរបស់ទូរសព្ទ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ឧបករណ៍បំពងសំឡេងរបស់ថេប្លេត"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ឧបករណ៍បំពងសំឡេងរបស់ឧបករណ៍"</string>
 </resources>
diff --git a/res-product/values-kn/strings.xml b/res-product/values-kn/strings.xml
index 236ab02..9df074a 100644
--- a/res-product/values-kn/strings.xml
+++ b/res-product/values-kn/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ನಿಮ್ಮ ಫೋನ್‌ ಅನ್ನು ಫ್ಯಾಕ್ಟರಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಮರುಹೊಂದಿಸಲಾಗಿದೆ. ಈ ಫೋನ್‌ ಬಳಸಲು, ನಿಮ್ಮ ಹಿಂದಿನ ಪಾಸ್‌ವರ್ಡ್‌ ನಮೂದಿಸಿ."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಫ್ಯಾಕ್ಟರಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಮರುಹೊಂದಿಸಲಾಗಿದೆ. ಈ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಬಳಸಲು, ನಿಮ್ಮ ಹಿಂದಿನ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿ."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಫ್ಯಾಕ್ಟರಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಮರುಹೊಂದಿಸಲಾಗಿದೆ. ಈ ಸಾಧನವನ್ನು ಬಳಸಲು, ನಿಮ್ಮ ಹಿಂದಿನ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ನಮೂದಿಸಿ."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ಬ್ಯಾಟರಿ ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ ಅಥವಾ ಚಾರ್ಜ್ ಆಗುತ್ತಿಲ್ಲ. ಕೇಬಲ್ ಮತ್ತು ಪವರ್ ಅಡಾಪ್ಟರ್ ನಿಮ್ಮ ಫೋನ್ ಜೊತೆಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ಬ್ಯಾಟರಿ ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ ಅಥವಾ ಚಾರ್ಜ್ ಆಗುತ್ತಿಲ್ಲ. ಕೇಬಲ್ ಮತ್ತು ಪವರ್ ಅಡಾಪ್ಟರ್ ನಿಮ್ಮ ಸಾಧನದ ಜೊತೆಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ಬ್ಯಾಟರಿ ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿದೆ ಅಥವಾ ಚಾರ್ಜ್ ಆಗುತ್ತಿಲ್ಲ. ಕೇಬಲ್ ಮತ್ತು ಪವರ್ ಅಡಾಪ್ಟರ್ ನಿಮ್ಮ ಫೋನ್ ಜೊತೆಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸಿ"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ನಿಮ್ಮ ಫೋನ್ ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿರಬಹುದು ಅಥವಾ ಚಾರ್ಜ್ ಆಗದೇ ಇರಬಹುದು. ವೇಗವಾಗಿ ಚಾರ್ಜ್ ಮಾಡಲು, ಶಿಫಾರಸು ಮಾಡಲಾದ ಕೇಬಲ್ ಮತ್ತು ಅಡಾಪ್ಟರ್ ಅನ್ನು ಬಳಸಿ."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ನಿಮ್ಮ ಸಾಧನವು ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿರಬಹುದು ಅಥವಾ ಚಾರ್ಜ್ ಆಗದೇ ಇರಬಹುದು. ವೇಗವಾಗಿ ಚಾರ್ಜ್ ಮಾಡಲು, ಶಿಫಾರಸು ಮಾಡಲಾದ ಕೇಬಲ್ ಮತ್ತು ಅಡಾಪ್ಟರ್ ಅನ್ನು ಬಳಸಿ."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ನಿಧಾನವಾಗಿ ಚಾರ್ಜ್ ಆಗುತ್ತಿರಬಹುದು ಅಥವಾ ಚಾರ್ಜ್ ಆಗದೇ ಇರಬಹುದು. ವೇಗವಾಗಿ ಚಾರ್ಜ್ ಮಾಡಲು, ಶಿಫಾರಸು ಮಾಡಲಾದ ಕೇಬಲ್ ಮತ್ತು ಅಡಾಪ್ಟರ್ ಅನ್ನು ಬಳಸಿ."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡದೆಯೇ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌‌ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡದೆಯೇ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ಫೋನ್ ಅನ್ನು ಪೋರ್ಟ್ರೇಟ್ ಹಾಗೂ ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ ನಡುವೆ ಬದಲಾಯಿಸಿದಾಗ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಪೋರ್ಟ್ರೇಟ್ ಹಾಗೂ ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ ನಡುವೆ ಬದಲಾಯಿಸಿದಾಗ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಅನ್ನು ಪೋರ್ಟ್ರೇಟ್ ಹಾಗೂ ಲ್ಯಾಂಡ್‌ಸ್ಕೇಪ್ ನಡುವೆ ಬದಲಾಯಿಸಿದಾಗ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿ ಬಣ್ಣಗಳು ಹೇಗೆ ಡಿಸ್‌ಪ್ಲೇ ಆಗಬೇಕೆಂದು ಅಡ್ಜಸ್ಟ್‌ ಮಾಡಿ"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್‌ನಲ್ಲಿ ಬಣ್ಣಗಳು ಹೇಗೆ ಡಿಸ್‌ಪ್ಲೇ ಆಗಬೇಕೆಂದು ಅಡ್ಜಸ್ಟ್‌ ಮಾಡಿ"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ಫೋನ್ ಸ್ಪೀಕರ್‌ಗಳು"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ಟ್ಯಾಬ್ಲೆಟ್‌‌ ಸ್ಪೀಕರ್‌ಗಳು"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ಸಾಧನದ ಸ್ಪೀಕರ್‌ಗಳು"</string>
 </resources>
diff --git a/res-product/values-ko/strings.xml b/res-product/values-ko/strings.xml
index 666967d..24346a6 100644
--- a/res-product/values-ko/strings.xml
+++ b/res-product/values-ko/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"휴대전화가 기본 설정으로 초기화되었습니다. 이 휴대전화를 사용하려면 이전 비밀번호를 입력하세요."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"태블릿이 기본 설정으로 초기화되었습니다. 이 태블릿을 사용하려면 이전 비밀번호를 입력하세요."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"기기가 기본 설정으로 초기화되었습니다. 이 기기를 사용하려면 이전 비밀번호를 입력하세요."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"배터리가 느리게 충전되거나 충전되지 않습니다. 케이블 및 전원 어댑터가 휴대전화와 호환되는지 확인하세요."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"배터리가 느리게 충전되거나 충전되지 않습니다. 케이블 및 전원 어댑터가 기기와 호환되는지 확인하세요."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"배터리가 느리게 충전되거나 충전되지 않습니다. 케이블 및 전원 어댑터가 태블릿과 호환되는지 확인하세요."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"휴대전화가 느리게 충전되거나 충전이 되지 않을 수 있습니다. 더 빠르게 충전하려면 권장되는 케이블과 어댑터를 사용하세요."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"기기가 느리게 충전되거나 충전이 되지 않을 수 있습니다. 더 빠르게 충전하려면 권장되는 케이블과 어댑터를 사용하세요."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"태블릿이 느리게 충전되거나 충전이 되지 않을 수 있습니다. 더 빠르게 충전하려면 권장되는 케이블과 어댑터를 사용하세요."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"휴대전화를 잠금 해제하지 않은 채 사용"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"태블릿을 잠금 해제하지 않은 채 사용"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"휴대전화를 가로 또는 세로로 움직이면 자동으로 방향 전환"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"태블릿을 가로 또는 세로로 움직이면 자동으로 방향 전환"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"태블릿을 가로 또는 세로로 움직이면 자동으로 방향 전환"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"휴대전화에서 색상이 표시되는 방식을 조정합니다."</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"태블릿에서 색상이 표시되는 방식을 조정합니다."</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"휴대전화 스피커"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"태블릿 스피커"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"기기 스피커"</string>
 </resources>
diff --git a/res-product/values-ky/strings.xml b/res-product/values-ky/strings.xml
index 5ae89ff..f394bfd 100644
--- a/res-product/values-ky/strings.xml
+++ b/res-product/values-ky/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Телефонуңуз демейки параметрлерге кайтарылды. Аны колдонуу үчүн мурунку сырсөзүңүздү киргизиңиз."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Планшет демейки параметрлерге кайтарылды. Аны колдонуу үчүн мурунку сырсөзүңүздү киргизиңиз."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Түзмөк демейки параметрлерге кайтарылды. Аны колдонуу үчүн мурунку сырсөзүңүздү киргизиңиз."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батарея кубатталган жок же жай кубатталып жатат. Кабель жана кубаттагыч адаптери телефонуңузга шайкеш келерин текшериңиз"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батарея кубатталган жок же жай кубатталып жатат. Кабель жана кубаттагыч адаптери түзмөгүңүзгө шайкеш келерин текшериңиз"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батарея кубатталган жок же жай кубатталып жатат. Кабель жана кубаттагыч адаптери планшетиңизге шайкеш келерин текшериңиз"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Телефонуңуз жай кубатталып же такыр кубатталбай жаткан болушу мүмкүн. Тезирээк кубаттоо үчүн сунушталган кабелди жана адаптерди колдонуңуз."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Түзмөгүңүз жай кубатталып же такыр кубатталбай жаткан болушу мүмкүн. Тезирээк кубаттоо үчүн сунушталган кабелди жана адаптерди колдонуңуз."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Планшетиңиз жай кубатталып же такыр кубатталбай жаткан болушу мүмкүн. Тезирээк кубаттоо үчүн сунушталган кабелди жана адаптерди колдонуңуз."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Телефонуңуздун кулпусун ачпай туруп"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Планшетиңиздин кулпусун ачпай туруп"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Телефонду тигинен же туурасынан кармаганда"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Планшетти тигинен же туурасынан кармаганда"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Планшетти тигинен же туурасынан кармаганда"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Телефонуңуздагы түстөрдү тууралаңыз"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Планшетиңиздеги түстөрдү тууралаңыз"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Телефондун динамиктери"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Планшеттин динамиктери"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Түзмөктүн динамиктери"</string>
 </resources>
diff --git a/res-product/values-lo/strings.xml b/res-product/values-lo/strings.xml
index ed6363f..b40518f 100644
--- a/res-product/values-lo/strings.xml
+++ b/res-product/values-lo/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ໂທລະສັບຂອງທ່ານຖືກຣີເຊັດເປັນຄ່າຈາກໂຮງງານແລ້ວ. ເພື່ອໃຊ້ໂທລະສັບນີ້, ໃຫ້ໃສ່ລະຫັດຜ່ານກ່ອນໜ້າຂອງທ່ານ."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ແທັບເລັດຂອງທ່ານບໍ່ໄດ້ຖືກຣີເຊັດເປັນຄ່າຈາກໂຮງງານ. ເພື່ອໃຊ້ແທັບເລັດນີ້, ໃຫ້ໃສ່ລະຫັດຜ່ານກ່ອນໜ້າຂອງທ່ານ."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ອຸປະກອນຂອງທ່ານບໍ່ໄດ້ຖືກຣີເຊັດເປັນຄ່າຈາກໂຮງງານ. ເພື່ອໃຊ້ອຸປະກອນນີ້, ໃຫ້ໃສ່ລະຫັດຜ່ານກ່ອນໜ້າຂອງທ່ານ."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ແບັດເຕີຣີສາກຊ້າ ຫຼື ບໍ່ສາກ. ກວດສອບວ່າສາຍ ແລະ ຕົວແປງໄຟຟ້າໃຊ້ກັບໂທລະສັບຂອງທ່ານໄດ້ຫຼືບໍ່"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ແບັດເຕີຣີສາກຊ້າ ຫຼື ບໍ່ສາກ. ກວດສອບວ່າສາຍ ແລະ ຕົວແປງໄຟຟ້າໃຊ້ກັບອຸປະກອນຂອງທ່ານໄດ້ຫຼືບໍ່"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ແບັດເຕີຣີສາກຊ້າ ຫຼື ບໍ່ສາກ. ກວດສອບວ່າສາຍ ແລະ ຕົວແປງໄຟຟ້າໃຊ້ກັບແທັບເລັດຂອງທ່ານໄດ້ຫຼືບໍ່"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ໂທລະສັບຂອງທ່ານອາດສາກຢ່າງຊ້າໆ ຫຼື ບໍ່ສາກ. ເພື່ອການສາກທີ່ໄວຂຶ້ນ, ໃຫ້ໃຊ້ສາຍ ແລະ ຫົວສາກທີ່ແນະນຳໃຫ້."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ອຸປະກອນຂອງທ່ານອາດສາກຢ່າງຊ້າໆ ຫຼື ບໍ່ສາກ. ເພື່ອການສາກທີ່ໄວຂຶ້ນ, ໃຫ້ໃຊ້ສາຍ ແລະ ຫົວສາກທີ່ແນະນຳໃຫ້."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ແທັບເລັດຂອງທ່ານອາດສາກຢ່າງຊ້າໆ ຫຼື ບໍ່ສາກ. ເພື່ອການສາກທີ່ໄວຂຶ້ນ, ໃຫ້ໃຊ້ສາຍ ແລະ ຫົວສາກທີ່ແນະນຳໃຫ້."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ໂດຍບໍ່ຕ້ອງປົດລັອກໂທລະສັບຂອງທ່ານ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ໂດຍບໍ່ຕ້ອງປົດລັອກແທັບເລັດຂອງທ່ານ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ເມື່ອທ່ານປິ່ນໂທລະສັບຂອງທ່ານໄປມາລະຫວ່າງແນວຕັ້ງ ແລະ ແນວນອນ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ເມື່ອທ່ານປິ່ນແທັບເລັດຂອງທ່ານໄປມາລະຫວ່າງແນວຕັ້ງ ແລະ ແນວນອນ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"ເມື່ອທ່ານປິ່ນແທັບເລັດຂອງທ່ານໄປມາລະຫວ່າງແນວຕັ້ງ ແລະ ແນວນອນ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ປັບວິທີສະແດງສີໃນໂທລະສັບຂອງທ່ານ"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ປັບວິທີສະແດງສີໃນແທັບເລັດຂອງທ່ານ"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ລຳໂພງຂອງໂທລະສັບ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ລຳໂພງຂອງແທັບເລັດ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ລຳໂພງຂອງອຸປະກອນ"</string>
 </resources>
diff --git a/res-product/values-lt/strings.xml b/res-product/values-lt/strings.xml
index 3da82b4..9528ae9 100644
--- a/res-product/values-lt/strings.xml
+++ b/res-product/values-lt/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Atkurti gamykliniai telefono nustatymai. Naudokite šį telefoną įvedę ankstesnį slaptažodį."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Atkurti gamykliniai planšetinio kompiuterio nustatymai. Naudokite jį įvedę ankstesnį slaptažodį."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Atkurti gamykliniai įrenginio nustatymai. Naudokite šį įrenginį įvedę ankstesnį slaptažodį."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Akumuliatorius įkraunamas lėtai arba neįkraunamas. Patikrinkite, ar laidas ir maitinimo adapteris suderinami su telefonu"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Akumuliatorius įkraunamas lėtai arba neįkraunamas. Patikrinkite, ar laidas ir maitinimo adapteris suderinami su įrenginiu"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Akumuliatorius įkraunamas lėtai arba neįkraunamas. Patikrinkite, ar laidas ir maitinimo adapteris suderinami su planšetiniu kompiuteriu"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefonas gali būti įkraunamas lėtai arba neįkraunamas. Kad greičiau įkrautumėte, naudokite rekomenduojamą laidą ir adapterį."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Įrenginys gali būti įkraunamas lėtai arba neįkraunamas. Kad greičiau įkrautumėte, naudokite rekomenduojamą laidą ir adapterį."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Planšetinis kompiuteris gali būti įkraunamas lėtai arba neįkraunamas. Kad greičiau įkrautumėte, naudokite rekomenduojamą laidą ir adapterį."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Neatrakinus telefono"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Neatrakinus planšetinio kompiuterio"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kai pasukate telefoną stačiai ar gulsčiai"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kai pasukate planšetinį kompiuterį stačiai ar gulsčiai"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kai pasukate planšetinį kompiuterį stačiai ar gulsčiai"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Koreguokite, kaip telefone rodomos spalvos"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Koreguokite, kaip planšetiniame kompiuteryje rodomos spalvos"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefono garsiakalbiai"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Planšetinio kompiuterio garsiakalbiai"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Įrenginio garsiakalbiai"</string>
 </resources>
diff --git a/res-product/values-lv/strings.xml b/res-product/values-lv/strings.xml
index 8dc3a6a..1f064a5 100644
--- a/res-product/values-lv/strings.xml
+++ b/res-product/values-lv/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Tālrunī atiestatīti rūpnīcas iestatījumi. Lai izmantotu tālruni, ievadiet iepriekšējo paroli."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Atiestatīti rūpnīcas iestatījumi. Lai izmantotu šo planšetdatoru, ievadiet iepriekšējo paroli."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Ierīcē atiestatīti rūpnīcas iestatījumi. Lai izmantotu šo ierīci, ievadiet iepriekšējo paroli."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Akumulators tiek uzlādēts lēni vai nemaz netiek uzlādēts. Pārbaudiet, vai vads un strāvas adapteris ir saderīgs ar jūsu tālruni."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Akumulators tiek uzlādēts lēni vai nemaz netiek uzlādēts. Pārbaudiet, vai vads un strāvas adapteris ir saderīgs ar jūsu ierīci."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Akumulators tiek uzlādēts lēni vai nemaz netiek uzlādēts. Pārbaudiet, vai vads un strāvas adapteris ir saderīgs ar jūsu planšetdatoru."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Iespējams, tālruņa uzlāde notiek lēni vai nenotiek nemaz. Lai paātrinātu uzlādi, izmantojiet kādu no ieteiktajiem vadiem un adapteriem."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Iespējams, ierīces uzlāde notiek lēni vai nenotiek nemaz. Lai paātrinātu uzlādi, izmantojiet kādu no ieteiktajiem vadiem un adapteriem."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Iespējams, planšetdatora uzlāde notiek lēni vai nenotiek nemaz. Lai paātrinātu uzlādi, izmantojiet kādu no ieteiktajiem vadiem un adapteriem."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Neatbloķējot tālruni"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Neatbloķējot planšetdatoru"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Pārvietojot tālruni no portreta režīma ainavas režīmā vai otrādi"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Pārvietojot planšetdatoru no portreta režīma ainavas režīmā vai otrādi"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Pārvietojot planšetdatoru no portreta režīma ainavas režīmā vai otrādi"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Pielāgojiet krāsu attēlojumu savā tālrunī"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Pielāgojiet krāsu attēlojumu savā planšetdatorā"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Tālruņa skaļruņi"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Planšetdatora skaļruņi"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Ierīces skaļruņi"</string>
 </resources>
diff --git a/res-product/values-mk/strings.xml b/res-product/values-mk/strings.xml
index cd0eced..5953ecd 100644
--- a/res-product/values-mk/strings.xml
+++ b/res-product/values-mk/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Телефонот беше ресетиран на фабрички поставки. За да го користите, внесете ја претходната лозинка."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Таблетот беше ресетиран на фабрички поставки. За да го користите, внесете ја претходната лозинка."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Уредот беше ресетиран на фабрички поставки. За да го користите, внесете ја претходната лозинка."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батеријата се полни бавно или не се полни. Проверете дали функционираат кабелот и адаптерот за напојување со телефонот"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батеријата се полни бавно или не се полни. Проверете дали функционираат кабелот и адаптерот за напојување со уредот"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батеријата се полни бавно или не се полни. Проверете дали функционираат кабелот и адаптерот за напојување со таблетот"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Можеби вашиот телефон се полни бавно или не се полни. За побрзо полнење, користете препорачан кабел и адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Можеби вашиот уред се полни бавно или не се полни. За побрзо полнење, користете препорачан кабел и адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Можеби вашиот таблет се полни бавно или не се полни. За побрзо полнење, користете препорачан кабел и адаптер."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Без да го отклучите телефонот"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Без да го отклучите таблетот"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Менување меѓу портрет и пејзаж кога го движите телефонот"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Менување меѓу портрет и пејзаж кога го движите таблетот"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Менување меѓу портрет и пејзаж кога го движите таблетот"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Приспособете го приказот на боите на телефонот"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Приспособете го приказот на боите на таблетот"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Звучници на телефонот"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Звучници на таблетот"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Звучници на уредот"</string>
 </resources>
diff --git a/res-product/values-ml/strings.xml b/res-product/values-ml/strings.xml
index 1bdee18..4e790ef 100644
--- a/res-product/values-ml/strings.xml
+++ b/res-product/values-ml/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ഫാക്‌ടറി ക്രമീകരണത്തിലേക്ക് ഫോൺ റീസെറ്റ് ചെയ്‌തു. ഫോൺ ഉപയോഗിക്കാനായി മുമ്പത്തെ പാസ്‌വേഡ് നൽകുക."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ഫാക്ടറി ക്രമീകരണത്തിലേക്ക് ടാബ്‌ലെറ്റ് റീസെറ്റുചെയ്തു. ഈ ടാബ്‌ലെറ്റ് ഉപയോഗിക്കാൻ മുമ്പത്തെ പാസ്‌വേഡ് നൽകൂ."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ഫാക്‌ടറി ക്രമീകരണത്തിലേക്ക് ഉപകരണം റീസെറ്റ് ചെയ്തു. ഈ ഉപകരണം ഉപയോഗിക്കാൻ, മുമ്പത്തെ പാസ്‌വേഡ് നൽകൂ."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ബാറ്ററി പതുക്കെയാണ് ചാർജ് ചെയ്യുന്നത്, അല്ലെങ്കിൽ ചാർജ് ചെയ്യുന്നില്ല. കേബിളും പവർ അഡാപ്റ്ററും നിങ്ങളുടെ ഫോണിന് അനുയോജ്യമാണോ എന്ന് പരിശോധിക്കുക"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ബാറ്ററി പതുക്കെയാണ് ചാർജ് ചെയ്യുന്നത്, അല്ലെങ്കിൽ ചാർജ് ചെയ്യുന്നില്ല. കേബിളും പവർ അഡാപ്റ്ററും നിങ്ങളുടെ ഉപകരണത്തിന് അനുയോജ്യമാണോ എന്ന് പരിശോധിക്കുക"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ബാറ്ററി പതുക്കെയാണ് ചാർജ് ചെയ്യുന്നത്, അല്ലെങ്കിൽ ചാർജ് ചെയ്യുന്നില്ല. കേബിളും പവർ അഡാപ്റ്ററും നിങ്ങളുടെ ടാബ്‌ലെറ്റിന് അനുയോജ്യമാണോ എന്ന് പരിശോധിക്കുക"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"നിങ്ങളുടെ ഫോൺ പതുക്കെയായിരിക്കാം ചാർജ് ചെയ്യുന്നത് അല്ലെങ്കിൽ ചാർജ് ചെയ്യുന്നില്ലായിരിക്കാം. വേഗത്തിലുള്ള ചാർജിംഗിനായി, നിർദ്ദേശിച്ച കേബിളും അഡാപ്റ്ററും ഉപയോഗിക്കുക."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"നിങ്ങളുടെ ഉപകരണം പതുക്കെയായിരിക്കാം ചാർജ് ചെയ്യുന്നത് അല്ലെങ്കിൽ ചാർജ് ചെയ്യുന്നില്ലായിരിക്കാം. വേഗത്തിലുള്ള ചാർജിംഗിനായി, നിർദ്ദേശിച്ച കേബിളും അഡാപ്റ്ററും ഉപയോഗിക്കുക."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"നിങ്ങളുടെ ടാബ്‌ലെറ്റ് പതുക്കെയായിരിക്കാം ചാർജ് ചെയ്യുന്നത് അല്ലെങ്കിൽ ചാർജ് ചെയ്യുന്നില്ലായിരിക്കാം. വേഗത്തിലുള്ള ചാർജിംഗിനായി, നിർദ്ദേശിച്ച കേബിളും അഡാപ്റ്ററും ഉപയോഗിക്കുക."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"നിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യാതെ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"നിങ്ങളുടെ ടാബ്‌ലെറ്റ് അൺലോക്ക് ചെയ്യാതെ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"പോർട്രെയ്‌റ്റിനും ലാൻഡ്സ്കേപ്പിനും ഇടയിൽ നിങ്ങളുടെ ഫോൺ തിരിക്കുമ്പോൾ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"പോർട്രെയ്‌റ്റിനും ലാൻഡ്സ്കേപ്പിനും ഇടയിൽ നിങ്ങളുടെ ടാബ്‌ലെറ്റ് തിരിക്കുമ്പോൾ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"പോർട്രെയ്‌റ്റിനും ലാൻഡ്സ്കേപ്പിനും ഇടയിൽ നിങ്ങളുടെ ടാബ്‌ലെറ്റ് തിരിക്കുമ്പോൾ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"നിങ്ങളുടെ ഫോണിൽ നിറങ്ങൾ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്ന് ക്രമീകരിക്കുക"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"നിങ്ങളുടെ ടാബ്‌ലെറ്റിൽ നിറങ്ങൾ എങ്ങനെ പ്രദർശിപ്പിക്കണമെന്ന് ക്രമീകരിക്കുക"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ഫോൺ സ്‌പീക്കറുകൾ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ടാബ്‌ലെറ്റ് സ്‌പീക്കറുകൾ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ഉപകരണ സ്‌പീക്കറുകൾ"</string>
 </resources>
diff --git a/res-product/values-mn/strings.xml b/res-product/values-mn/strings.xml
index 41aefa0..e306cc9 100644
--- a/res-product/values-mn/strings.xml
+++ b/res-product/values-mn/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Таны утсыг үйлдвэрийн тохиргоонд шинэчилсэн. Энэ утсыг ашиглахын тулд өмнөх нууц үгээ оруулна уу."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Таны таблетыг үйлдвэрийн тохиргоонд шинэчилсэн. Өмнөх нууц үгээ оруулж энэ таблетыг ашиглана уу."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Таны төхөөрөмжийг үйлдвэрийн тохиргоонд шинэчилсэн. Өмнөх нууц үгээ оруулж төхөөрөмжийг ашиглана уу."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батарей удаан цэнэглэж эсвэл цэнэглэхгүй байна. Кабель эсвэл тэжээлийн адаптер таны утастай ажилладаг эсэхийг шалгана уу"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батарей удаан цэнэглэж эсвэл цэнэглэхгүй байна. Кабель эсвэл тэжээлийн адаптер таны төхөөрөмжтэй ажилладаг эсэхийг шалгана уу"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батарей удаан цэнэглэж эсвэл цэнэглэхгүй байна. Кабель эсвэл тэжээлийн адаптер таны таблеттай ажилладаг эсэхийг шалгана уу"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Таны утас удаан цэнэглэгдэж эсвэл цэнэглэгдээгүй байж магадгүй. Илүү шуурхай цэнэглэхийн тулд санал болгосон кабель болон адаптерыг ашиглана уу."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Таны төхөөрөмж удаан цэнэглэгдэж эсвэл цэнэглэгдээгүй байж магадгүй. Илүү шуурхай цэнэглэхийн тулд санал болгосон кабель болон адаптерыг ашиглана уу."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Таны таблет удаан цэнэглэгдэж эсвэл цэнэглэгдээгүй байж магадгүй. Илүү шуурхай цэнэглэхийн тулд санал болгосон кабель болон адаптерыг ашиглана уу."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Утасныхаа түгжээг тайлалгүйгээр"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Таблетынхаа түгжээг тайлалгүйгээр"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Таныг утсаа босоо болон хөндлөн чиглэлийн хооронд шилжүүлэх үед"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Таныг таблетаа босоо болон хөндлөн чиглэлийн хооронд шилжүүлэх үед"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Таныг таблетаа босоо болон хөндлөн чиглэлийн хооронд шилжүүлэх үед"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Таны утсан дээр өнгийг хэрхэн үзүүлэхийг тохируулна уу"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Таны таблет дээр өнгийг хэрхэн үзүүлэхийг тохируулна уу"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Утасны чанга яригч"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Таблетын чанга яригч"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Төхөөрөмжийн чанга яригч"</string>
 </resources>
diff --git a/res-product/values-mr/strings.xml b/res-product/values-mr/strings.xml
index cec709c..2707719 100644
--- a/res-product/values-mr/strings.xml
+++ b/res-product/values-mr/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"तुमचा फोन फॅक्टरी सेटिंग्जवर रीसेट केला होता. हा फोन वापरण्यासाठी, तुमचा मागील पासवर्ड एंटर करा."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"तुमचा टॅबलेट फॅक्टरी सेटिंग्जवर रीसेट केले होता. हा टॅबलेट वापरण्यासाठी, मागील पासवर्ड एंटर करा."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"तुमचे डिव्हाइस फॅक्टरी सेटिंग्जवर रीसेट केले होते. हे डिव्हाइस वापरण्यासाठी, मागील पासवर्ड एंटर करा."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"बॅटरी हळू चार्ज होत आहे किंवा चार्ज होणार नाही. केबल आणि पॉवर अडॅप्टर तुमच्या फोनसह काम करतात का ते तपासा"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"बॅटरी हळू चार्ज होत आहे किंवा चार्ज होणार नाही. केबल आणि पॉवर अडॅप्टर तुमच्या डिव्हाइससोबत काम करतात का ते तपासा"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"बॅटरी हळू चार्ज होत आहे किंवा चार्ज होणार नाही. केबल आणि पॉवर अडॅप्टर तुमच्या टॅबलेटसोबत काम करतात का ते तपासा"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"तुमचा फोन कदाचित हळू चार्ज होत आहे किंवा चार्ज होत नाही. आणखी जलद चार्जिंगसाठी, शिफारस केलेली केबल आणि अडॅप्टर वापरा."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"तुमचे डिव्हाइस कदाचित हळू चार्ज होत आहे किंवा चार्ज होत नाही. आणखी जलद चार्जिंगसाठी, शिफारस केलेली केबल आणि अडॅप्टर वापरा."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"तुमचा टॅबलेट कदाचित हळू चार्ज होत आहे किंवा चार्ज होत नाही. आणखी जलद चार्जिंगसाठी, शिफारस केलेली केबल आणि अडॅप्टर वापरा."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"तुमचा फोन अनलॉक न करता"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"तुमचा टॅबलेट अनलॉक न करता"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"तुम्ही फोन हा पोर्ट्रेट व लॅंडस्केप मोडदरम्यान हलवल्यास"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"तुम्ही टॅबलेट हा पोर्ट्रेट व लॅंडस्केप मोडदरम्यान हलवल्यास"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"तुम्ही टॅबलेट हा पोर्ट्रेट व लॅंडस्केप मोडदरम्यान हलवल्यास"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"तुमच्या फोनवर रंग कसे दाखवले जातात ते अ‍ॅडजस्ट करा"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"तुमच्या टॅबलेटवर रंग कसे दाखवले जातात ते अ‍ॅडजस्ट करा"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"फोनचे स्पीकर"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"टॅबलेटचे स्पीकर"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"डिव्हाइसचे स्पीकर"</string>
 </resources>
diff --git a/res-product/values-ms/strings.xml b/res-product/values-ms/strings.xml
index e4a06e3..f6b8740 100644
--- a/res-product/values-ms/strings.xml
+++ b/res-product/values-ms/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon ditetapkan semula kepada tetapan kilang. Masukkan kata laluan terdahulu untuk menggunakan telefon."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet ditetapkan semula kepada tetapan kilang. Masukkan kata laluan terdahulu untuk menggunakan tablet."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Peranti ditetapkan semula kepada tetapan kilang. Masukkan kata laluan terdahulu untuk menggunakan peranti."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateri mengecas dengan perlahan atau tidak dapat dicas. Pastikan kabel dan penyesuai kuasa berfungsi dengan telefon anda"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateri mengecas dengan perlahan atau tidak dapat dicas. Pastikan kabel dan penyesuai kuasa berfungsi dengan peranti anda"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateri mengecas dengan perlahan atau tidak dapat dicas. Pastikan kabel dan penyesuai kuasa berfungsi dengan tablet anda"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon anda mungkin mengecas dengan perlahan atau tidak mengecas. Untuk pengecasan yang lebih pantas, gunakan kabel dan penyesuai yang disyorkan."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Peranti anda mungkin mengecas dengan perlahan atau tidak mengecas. Untuk pengecasan yang lebih pantas, gunakan kabel dan penyesuai yang disyorkan."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet anda mungkin mengecas dengan perlahan atau tidak mengecas. Untuk pengecasan yang lebih pantas, gunakan kabel dan penyesuai yang disyorkan."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Tanpa membuka kunci telefon anda"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Tanpa membuka kunci tablet anda"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Apabila anda menggerakkan telefon anda antara potret dengan landskap"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Apabila anda menggerakkan tablet anda antara potret dengan landskap"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Apabila anda menggerakkan tablet anda antara potret dengan landskap"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Laraskan cara warna dipaparkan pada telefon anda"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Laraskan cara warna dipaparkan pada tablet anda"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Pembesar suara telefon"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Pembesar suara tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Pembesar suara peranti"</string>
 </resources>
diff --git a/res-product/values-my/strings.xml b/res-product/values-my/strings.xml
index 3c93dd7..7011418 100644
--- a/res-product/values-my/strings.xml
+++ b/res-product/values-my/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"သင့်ဖုန်းကို စက်ရုံဆက်တင်သို့ ပြင်ဆင်သတ်မှတ်ထားသည်။ ဤဖုန်းသုံးရန် ယခင်စကားဝှက် ထည့်ပါ။"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"တက်ဘလက်ကို စက်ရုံထုတ်ဆက်တင်သို့ ပြင်ဆင်သတ်မှတ်ထားသည်။ ဤတက်ဘလက်သုံးရန် ယခင်စကားဝှက် ထည့်ပါ။"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"စက်ကို စက်ရုံထုတ်ဆက်တင်သို့ ပြင်ဆင်သတ်မှတ်ထားသည်။ ဤစက်ပစ္စည်းသုံးရန် ယခင်စကားဝှက် ထည့်ပါ။"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ဘက်ထရီ နှေးကွေးစွာ အားသွင်းနေသည် (သို့) အားမသွင်းပါ။ ကြိုးနှင့် ပါဝါ ကြားခံကိရိယာကို သင့်ဖုန်းတွင် သုံးနိုင်ခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ဘက်ထရီ နှေးကွေးစွာ အားသွင်းနေသည် (သို့) အားမသွင်းပါ။ ကြိုးနှင့် ပါဝါ ကြားခံကိရိယာကို သင့်စက်ပစ္စည်းတွင် သုံးနိုင်ခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ဘက်ထရီ နှေးကွေးစွာ အားသွင်းနေသည် (သို့) အားမသွင်းပါ။ ကြိုးနှင့် ပါဝါ ကြားခံကိရိယာကို သင့်တက်ဘလက်တွင် သုံးနိုင်ခြင်း ရှိ၊ မရှိ စစ်ဆေးပါ"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"သင့်ဖုန်းသည် နှေးကွေးစွာ အားသွင်းနေသည် (သို့) ၎င်းကို အားသွင်းမနေပါ။ အမြန်အားသွင်းခြင်းအတွက် အကြံပြုထားသော ကြိုးနှင့် အဒက်တာ သုံးပါ။"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"သင့်စက်သည် နှေးကွေးစွာ အားသွင်းနေသည် (သို့) ၎င်းကို အားသွင်းမနေပါ။ အမြန်အားသွင်းခြင်းအတွက် အကြံပြုထားသော ကြိုးနှင့် အဒက်တာ သုံးပါ။"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"သင့်တက်ဘလက်သည် နှေးကွေးစွာ အားသွင်းနေသည် (သို့) ၎င်းကို အားသွင်းမနေပါ။ အမြန်အားသွင်းခြင်းအတွက် အကြံပြုထားသော ကြိုးနှင့် အဒက်တာ သုံးပါ။"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"သင့်ဖုန်းကို လော့ခ်မဖွင့်ဘဲ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"သင့်တက်ဘလက်ကို လော့ခ်မဖွင့်ဘဲ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"သင့်ဖုန်းကို အလျားလိုက်နှင့် ဒေါင်လိုက် ပြောင်းသောအခါ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"သင့်တက်ဘလက်ကို အလျားလိုက်နှင့် ဒေါင်လိုက် ပြောင်းသောအခါ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"သင့်တက်ဘလက်ကို အလျားလိုက်နှင့် ဒေါင်လိုက် ပြောင်းသောအခါ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"သင့်ဖုန်းတွင် အရောင်များပြသပုံကို ချိန်ညှိနိုင်သည်"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"သင့်တက်ဘလက်တွင် အရောင်များပြသပုံကို ချိန်ညှိနိုင်သည်"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ဖုန်းစပီကာများ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"တက်ဘလက် စပီကာများ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"စက်ပစ္စည်း စပီကာများ"</string>
 </resources>
diff --git a/res-product/values-nb/strings.xml b/res-product/values-nb/strings.xml
index f88df54..f5f348c 100644
--- a/res-product/values-nb/strings.xml
+++ b/res-product/values-nb/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefonen er tilbakestilt til fabrikkstandard. For å bruke den, legg inn det forrige passordet."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Nettbrettet er tilbakestilt til fabrikkstandard. For å bruke det, legg inn det forrige passordet."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Enheten er tilbakestilt til fabrikkstandard. For å bruke den, legg inn det forrige passordet."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batteriet lades tregt eller ikke i det hele tatt. Sjekk om kabelen og strømadapteren fungerer med telefonen du har"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batteriet lades tregt eller ikke i det hele tatt. Sjekk om kabelen og strømadapteren fungerer med enheten du har"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batteriet lades tregt eller ikke i det hele tatt. Sjekk om kabelen og strømadapteren fungerer med nettbrettet du har"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Det kan hende at telefonen din lader tregt eller ikke i det hele tatt. For å lade den raskere bør du bruke en anbefalt kabel og adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Det kan hende at enheten din lader tregt eller ikke i det hele tatt. For å lade den raskere bør du bruke en anbefalt kabel og adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Det kan hende at nettbrettet ditt lader tregt eller ikke i det hele tatt. For å lade det raskere bør du bruke en anbefalt kabel og adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Uten å låse opp telefonen"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Uten å låse opp nettbrettet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Når du beveger telefonen mellom stående og liggende format"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Når du beveger nettbrettet mellom stående og liggende format"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Når du beveger nettbrettet mellom stående og liggende format"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Juster hvordan farger vises på telefonen"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Juster hvordan farger vises på nettbrettet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefonhøyttalere"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Nettbretthøyttalere"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Enhetshøyttalere"</string>
 </resources>
diff --git a/res-product/values-ne/strings.xml b/res-product/values-ne/strings.xml
index fab13f1..30f327e 100644
--- a/res-product/values-ne/strings.xml
+++ b/res-product/values-ne/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"तपाईंको फोन रिसेट गरी डिफल्ट सेटिङ लागू गरिएको छ। यो फोन प्रयोग गर्न अघिल्लो पासवर्ड हाल्नुहोस्।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"तपाईंको ट्याब्लेट रिसेट गरी डिफल्ट सेटिङ लागू गरिएको छ। यो ट्याब्लेट प्रयोग गर्न अघिल्लो पासवर्ड हाल्नुहोस्।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"तपाईंको डिभाइस रिसेट गरी डिफल्ट सेटिङ लागू गरिएको छ। यो डिभाइस प्रयोग गर्न अघिल्लो पासवर्ड हाल्नुहोस्।"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ब्याट्री कि त बिस्तारै चार्ज भइरहेको छ कि त चार्ज नै भएको छैन। केबल र पावर एडाप्टरले तपाईंको फोनमा काम गर्छ कि गर्दैन भन्ने कुरा जाँच्नुहोस्"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ब्याट्री कि त बिस्तारै चार्ज भइरहेको छ कि त चार्ज नै भएको छैन। केबल र पावर एडाप्टरले तपाईंको डिभाइसमा काम गर्छ कि गर्दैन भन्ने कुरा जाँच्नुहोस्"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ब्याट्री कि त बिस्तारै चार्ज भइरहेको छ कि त चार्ज नै भएको छैन। केबल र पावर एडाप्टरले तपाईंको ट्याब्लेटमा काम गर्छ कि गर्दैन भन्ने कुरा जाँच्नुहोस्"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"तपाईंको फोन बिस्तारै चार्ज भइरहेको वा चार्ज नै नभइरहेको हुन सक्छ। अझ छिटो चार्ज गर्न सिफारिस गरिएको केबल र एडाप्टर प्रयोग गर्नुहोस्।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"तपाईंको डिभाइस बिस्तारै चार्ज भइरहेको वा चार्ज नै नभइरहेको हुन सक्छ। अझ छिटो चार्ज गर्न सिफारिस गरिएको केबल र एडाप्टर प्रयोग गर्नुहोस्।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"तपाईंको ट्याब्लेट बिस्तारै चार्ज भइरहेको वा चार्ज नै नभइरहेको हुन सक्छ। अझ छिटो चार्ज गर्न सिफारिस गरिएको केबल र एडाप्टर प्रयोग गर्नुहोस्।"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"तपाईंको फोन अनलक नगरिकनै"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"तपाईंको ट्याब्लेट अनलक नगरिकनै"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"तपाईंले आफ्नो फोन पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"तपाईंले आफ्नो ट्याब्लेट पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"तपाईंले आफ्नो ट्याब्लेट पोर्ट्रेट र ल्यान्डस्केपबिच अदलबदल गर्दा"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"तपाईंको फोनमा रङहरू कस्ता देखिन्छन् भन्ने कुरा मिलाउनुहोस्"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"तपाईंको ट्याब्लेटमा रङहरू कस्ता देखिन्छन् भन्ने कुरा मिलाउनुहोस्"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"फोनका स्पिकरहरू"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ट्याब्लेटका स्पिकरहरू"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"डिभाइसका स्पिकरहरू"</string>
 </resources>
diff --git a/res-product/values-nl/strings.xml b/res-product/values-nl/strings.xml
index 7ebb96c..90ff019 100644
--- a/res-product/values-nl/strings.xml
+++ b/res-product/values-nl/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Je telefoon is teruggezet op de fabrieksinstellingen. Geef je vorige wachtwoord op."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Je tablet is teruggezet op de fabrieksinstellingen. Geef je vorige wachtwoord op."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Je apparaat is teruggezet op de fabrieksinstellingen. Geef je vorige wachtwoord op."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batterij wordt langzaam of helemaal niet opgeladen. Check of de kabel en de voedingsadapter werken met je telefoon."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batterij wordt langzaam of helemaal niet opgeladen. Check of de kabel en de voedingsadapter werken met je apparaat."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batterij wordt langzaam of helemaal niet opgeladen. Check of de kabel en de voedingsadapter werken met je tablet."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Je telefoon laadt misschien langzaam of helemaal niet op. Gebruik een aanbevolen kabel en adapter om sneller op te laden."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Je apparaat laadt misschien langzaam of helemaal niet op. Gebruik een aanbevolen kabel en adapter om sneller op te laden."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Je tablet laadt misschien langzaam of helemaal niet op. Gebruik een aanbevolen kabel en adapter om sneller op te laden."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Zonder je telefoon te ontgrendelen"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Zonder je tablet te ontgrendelen"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Als je wisselt tussen de staande en liggende telefoonstand"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Als je wisselt tussen de staande en liggende tabletstand"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Als je wisselt tussen de staande en liggende tabletstand"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Pas aan hoe kleuren worden getoond op je telefoon"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Pas aan hoe kleuren worden getoond op je telefoon"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefoonspeakers"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tabletspeakers"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Apparaatspeakers"</string>
 </resources>
diff --git a/res-product/values-or/strings.xml b/res-product/values-or/strings.xml
index 870fac7..45eb653 100644
--- a/res-product/values-or/strings.xml
+++ b/res-product/values-or/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ଆପଣଙ୍କ ଫୋନ ଫେକ୍ଟୋରୀ ସେଟିଂସରେ ରିସେଟ ହୋଇଛି। ଏହାକୁ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ ପୂର୍ବବର୍ତ୍ତୀ ପାସୱାର୍ଡ ଲେଖ।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ଆପଣଙ୍କ ଟାବଲେଟ ଫେକ୍ଟୋରୀ ସେଟିଂସରେ ରିସେଟ ହୋଇଛି। ଏହାକୁ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ ପୂର୍ବବର୍ତ୍ତୀ ପାସୱାର୍ଡ ଲେଖ।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ଆପଣଙ୍କ ଡିଭାଇସ ଫେକ୍ଟୋରୀ ସେଟିଂସରେ ରିସେଟ ହୋଇଛି। ଏହାକୁ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ ପୂର୍ବବର୍ତ୍ତୀ ପାସୱାର୍ଡ ଲେଖ।"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ବେଟେରୀ ଧୀରେ ଚାର୍ଜ ହେଉଛି କିମ୍ବା ଏହା ଚାର୍ଜ ହେବ ନାହିଁ। କେବୁଲ ଏବଂ ପାୱାର ଆଡାପ୍ଟର ଆପଣଙ୍କ ଫୋନ ସହ କାମ କରୁଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ବେଟେରୀ ଧୀରେ ଚାର୍ଜ ହେଉଛି କିମ୍ବା ଏହା ଚାର୍ଜ ହେବ ନାହିଁ। କେବୁଲ ଏବଂ ପାୱାର ଆଡାପ୍ଟର ଆପଣଙ୍କ ଡିଭାଇସ ସହ କାମ କରୁଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ବେଟେରୀ ଧୀରେ ଚାର୍ଜ ହେଉଛି କିମ୍ବା ଏହା ଚାର୍ଜ ହେବ ନାହିଁ। କେବୁଲ ଏବଂ ପାୱାର ଆଡାପ୍ଟର ଆପଣଙ୍କ ଟାବଲେଟ ସହ କାମ କରୁଛି ନା ନାହିଁ ତାହା ଯାଞ୍ଚ କରନ୍ତୁ"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ଆପଣଙ୍କ ଫୋନ ଧୀରେ ଚାର୍ଜ ହେଉଥାଇପାରେ କିମ୍ବା ଚାର୍ଜ ହେଉନଥାଇପାରେ। ଆହୁରି ଶୀଘ୍ର ଚାର୍ଜ କରିବା ପାଇଁ ସୁପାରିଶ କରାଯାଇଥିବା ଏକ କେବୁଲ ଓ ଆଡାପ୍ଟର ବ୍ୟବହାର କରନ୍ତୁ।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ଆପଣଙ୍କ ଡିଭାଇସ ଧୀରେ ଚାର୍ଜ ହେଉଥାଇପାରେ କିମ୍ବା ଚାର୍ଜ ହେଉନଥାଇପାରେ। ଆହୁରି ଶୀଘ୍ର ଚାର୍ଜ କରିବା ପାଇଁ ସୁପାରିଶ କରାଯାଇଥିବା ଏକ କେବୁଲ ଓ ଆଡାପ୍ଟର ବ୍ୟବହାର କରନ୍ତୁ।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ଆପଣଙ୍କ ଟାବଲେଟ ଧୀରେ ଚାର୍ଜ ହେଉଥାଇପାରେ କିମ୍ବା ଚାର୍ଜ ହେଉନଥାଇପାରେ। ଆହୁରି ଶୀଘ୍ର ଚାର୍ଜ କରିବା ପାଇଁ ସୁପାରିଶ କରାଯାଇଥିବା ଏକ କେବୁଲ ଓ ଆଡାପ୍ଟର ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ ନକରି"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ଆପଣଙ୍କ ଟାବଲେଟକୁ ଅନଲକ ନକରି"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ଆପଣ ଆପଣଙ୍କ ଫୋନକୁ ପୋର୍ଟ୍ରେଟ ଓ ଲାଣ୍ଡସ୍କେପ ମଧ୍ୟରେ ମୁଭ କଲେ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ଆପଣ ଆପଣଙ୍କ ଟାବଲେଟକୁ ପୋର୍ଟ୍ରେଟ ଓ ଲାଣ୍ଡସ୍କେପ ମଧ୍ୟରେ ମୁଭ କଲେ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"ଆପଣ ଆପଣଙ୍କ ଟାବଲେଟକୁ ପୋର୍ଟ୍ରେଟ ଓ ଲାଣ୍ଡସ୍କେପ ମଧ୍ୟରେ ମୁଭ କଲେ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ଆପଣଙ୍କ ଫୋନରେ ରଙ୍ଗଗୁଡ଼ିକ କିପରି ଡିସପ୍ଲେ ହୁଏ ତାହା ଆଡଜଷ୍ଟ କରନ୍ତୁ"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ଆପଣଙ୍କ ଟାବଲେଟରେ ରଙ୍ଗଗୁଡ଼ିକ କିପରି ଡିସପ୍ଲେ ହୁଏ ତାହା ଆଡଜଷ୍ଟ କରନ୍ତୁ"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ଫୋନ ସ୍ପିକରଗୁଡ଼ିକ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ଟାବଲେଟ ସ୍ପିକରଗୁଡ଼ିକ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ଡିଭାଇସ ସ୍ପିକରଗୁଡ଼ିକ"</string>
 </resources>
diff --git a/res-product/values-pa/strings.xml b/res-product/values-pa/strings.xml
index b4463e3..79d1fd2 100644
--- a/res-product/values-pa/strings.xml
+++ b/res-product/values-pa/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਫੈਕਟਰੀ ਸੈਟਿੰਗਾਂ \'ਤੇ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ। ਇਹ ਫ਼ੋਨ ਵਰਤਣ ਲਈ, ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ਤੁਹਾਡਾ ਟੈਬਲੈੱਟ ਫੈਕਟਰੀ ਸੈਟਿੰਗਾਂ \'ਤੇ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ। ਇਹ ਟੈਬਲੈੱਟ ਵਰਤਣ ਲਈ, ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ।"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਫੈਕਟਰੀ ਸੈਟਿੰਗਾਂ \'ਤੇ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ। ਇਹ ਡੀਵਾਈਸ ਵਰਤਣ ਲਈ, ਆਪਣਾ ਪੁਰਾਣਾ ਪਾਸਵਰਡ ਦਾਖਲ ਕਰੋ।"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"ਬੈਟਰੀ ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ ਜਾਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਹੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਕੇਬਲ ਅਤੇ ਪਾਵਰ ਅਡਾਪਟਰ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹਨ ਜਾਂ ਨਹੀਂ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"ਬੈਟਰੀ ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ ਜਾਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਹੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਕੇਬਲ ਅਤੇ ਪਾਵਰ ਅਡਾਪਟਰ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹਨ ਜਾਂ ਨਹੀਂ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"ਬੈਟਰੀ ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ ਜਾਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਹੀ। ਜਾਂਚ ਕਰੋ ਕਿ ਕੇਬਲ ਅਤੇ ਪਾਵਰ ਅਡਾਪਟਰ ਤੁਹਾਡੇ ਟੈਬਲੈੱਟ ਨਾਲ ਕੰਮ ਕਰ ਰਹੇ ਹਨ ਜਾਂ ਨਹੀਂ"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ਸ਼ਾਇਦ ਤੁਹਾਡਾ ਫ਼ੋਨ ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ ਜਾਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ। ਤੇਜ਼ੀ ਨਾਲ ਚਾਰਜ ਕਰਨ ਲਈ, ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਕੇਬਲ ਅਤੇ ਅਡਾਪਟਰ ਦੀ ਵਰਤੋਂ ਕਰੋ।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ਸ਼ਾਇਦ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ ਜਾਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ। ਤੇਜ਼ੀ ਨਾਲ ਚਾਰਜ ਕਰਨ ਲਈ, ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਕੇਬਲ ਅਤੇ ਅਡਾਪਟਰ ਦੀ ਵਰਤੋਂ ਕਰੋ।"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ਸ਼ਾਇਦ ਤੁਹਾਡਾ ਟੈਬਲੈੱਟ ਹੌਲੀ-ਹੌਲੀ ਚਾਰਜ ਹੋ ਰਿਹਾ ਹੈ ਜਾਂ ਚਾਰਜ ਨਹੀਂ ਹੋ ਰਿਹਾ। ਤੇਜ਼ੀ ਨਾਲ ਚਾਰਜ ਕਰਨ ਲਈ, ਸਿਫ਼ਾਰਸ਼ ਕੀਤੀ ਕੇਬਲ ਅਤੇ ਅਡਾਪਟਰ ਦੀ ਵਰਤੋਂ ਕਰੋ।"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕੀਤੇ ਬਿਨਾਂ"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ਆਪਣੇ ਟੈਬਲੈੱਟ ਨੂੰ ਅਣਲਾਕ ਕੀਤੇ ਬਿਨਾਂ"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਫ਼ੋਨ \'ਤੇ ਪੋਰਟਰੇਟ ਅਤੇ ਲੈਂਡਸਕੇਪ ਮੋਡ ਵਿਚਕਾਰ ਅਦਲਾ-ਬਦਲੀ ਕਰਦੇ ਹੋ"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਟੈਬਲੈੱਟ \'ਤੇ ਪੋਰਟਰੇਟ ਅਤੇ ਲੈਂਡਸਕੇਪ ਮੋਡ ਵਿਚਕਾਰ ਅਦਲਾ-ਬਦਲੀ ਕਰਦੇ ਹੋ"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਟੈਬਲੈੱਟ \'ਤੇ ਪੋਰਟਰੇਟ ਅਤੇ ਲੈਂਡਸਕੇਪ ਮੋਡ ਵਿਚਕਾਰ ਅਦਲਾ-ਬਦਲੀ ਕਰਦੇ ਹੋ"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ਆਪਣੇ ਫ਼ੋਨ \'ਤੇ ਰੰਗਾਂ ਨੂੰ ਦਿਖਾਉਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ਆਪਣੇ ਟੈਬਲੈੱਟ \'ਤੇ ਰੰਗਾਂ ਨੂੰ ਦਿਖਾਉਣ ਦੇ ਤਰੀਕੇ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰੋ"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ਫ਼ੋਨ ਸਪੀਕਰ"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ਟੈਬਲੈੱਟ ਸਪੀਕਰ"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ਡੀਵਾਈਸ ਸਪੀਕਰ"</string>
 </resources>
diff --git a/res-product/values-pl/strings.xml b/res-product/values-pl/strings.xml
index 0c66115..513a72c 100644
--- a/res-product/values-pl/strings.xml
+++ b/res-product/values-pl/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon został zresetowany do ustawień fabrycznych. Aby go używać, wpisz poprzednie hasło."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablet został zresetowany do ustawień fabrycznych. Aby go używać, wpisz poprzednie hasło."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Urządzenie zostało zresetowane do ustawień fabrycznych. Aby go używać, wpisz poprzednie hasło."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateria ładuje się powoli lub nie ładuje wcale. Sprawdź, czy kabel i ładowarka działają z tym telefonem"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateria ładuje się powoli lub nie ładuje wcale. Sprawdź, czy kabel i ładowarka działają z tym urządzeniem"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateria ładuje się powoli lub nie ładuje wcale. Sprawdź, czy kabel i ładowarka działają z tym tabletem"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefon może ładować się powoli lub w ogóle się nie ładować. Aby ładować go szybciej, użyj zalecanego kabla i ładowarki."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Urządzenie może ładować się powoli lub w ogóle się nie ładować. Aby ładować je szybciej, użyj zalecanego kabla i ładowarki."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tablet może ładować się powoli lub w ogóle się nie ładować. Aby ładować go szybciej, użyj zalecanego kabla i ładowarki."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bez odblokowywania telefonu"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bez odblokowywania tabletu"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Gdy obracasz telefon do pionu lub poziomu"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Gdy obracasz tablet do pionu lub poziomu"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Gdy obracasz tablet do pionu lub poziomu"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Dostosuj sposób wyświetlania kolorów na ekranie telefonu"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Dostosuj sposób wyświetlania kolorów na ekranie tabletu"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Głośniki telefonu"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Głośniki tabletu"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Głośniki urządzenia"</string>
 </resources>
diff --git a/res-product/values-pt-rBR/strings.xml b/res-product/values-pt-rBR/strings.xml
index a80a951..938944c 100644
--- a/res-product/values-pt-rBR/strings.xml
+++ b/res-product/values-pt-rBR/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"O smartphone foi redefinido para as configurações originais. Para usá-lo, digite a senha anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"O tablet foi redefinido para as configurações originais. Para usá-lo, insira a senha anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"O dispositivo foi redefinido para as configurações originais. Para usá-lo, insira a senha anterior."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateria carregando lentamente ou não carregando. Confira se o cabo e o adaptador de energia funcionam com o smartphone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateria carregando lentamente ou não carregando. Confira se o cabo e o adaptador de energia funcionam com o dispositivo"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateria carregando lentamente ou não carregando. Confira se o cabo e o adaptador de energia funcionam com o tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"O smartphone pode estar com o carregamento lento ou não estar carregando. Para um carregamento mais rápido, use um cabo e um adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"O dispositivo pode estar com o carregamento lento ou não estar carregando. Para um carregamento mais rápido, use um cabo e um adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"O tablet pode estar com o carregamento lento ou não estar carregando. Para um carregamento mais rápido, use um cabo e um adaptador recomendados."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sem desbloquear o smartphone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sem desbloquear o tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Ao virar o smartphone para as posições vertical e horizontal"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ao virar o tablet para as posições vertical e horizontal"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Ao virar o tablet para as posições vertical e horizontal"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuste as cores mostradas no smartphone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuste as cores mostradas no tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Alto-falantes do smartphone"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Alto-falantes do tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Alto-falantes do dispositivo"</string>
 </resources>
diff --git a/res-product/values-pt-rPT/strings.xml b/res-product/values-pt-rPT/strings.xml
index 8f0f1d8..a675d51 100644
--- a/res-product/values-pt-rPT/strings.xml
+++ b/res-product/values-pt-rPT/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Definições de fábrica do telemóvel repostas. Para o usar, introduza a palavra-passe anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Definições de fábrica do tablet repostas. Para o usar, introduza a palavra-passe anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Definições de fábrica do dispositivo repostas. Para o usar, introduza a palavra-passe anterior."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"A bateria está a carregar lentamente ou não carrega. Verifique se o cabo e o transformador funcionam com o seu telemóvel"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"A bateria está a carregar lentamente ou não carrega. Verifique se o cabo e o transformador funcionam com o seu dispositivo"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"A bateria está a carregar lentamente ou não carrega. Verifique se o cabo e o transformador funcionam com o seu tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"O telemóvel pode estar a carregar lentamente ou não estar a carregar. Para um carregamento mais rápido, use um cabo e um transformador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"O dispositivo pode estar a carregar lentamente ou não estar a carregar. Para um carregamento mais rápido, use um cabo e um transformador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"O tablet pode estar a carregar lentamente ou não estar a carregar. Para um carregamento mais rápido, use um cabo e um transformador recomendados."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sem desbloquear o telemóvel"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sem desbloquear o tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Quando move o telemóvel entre o modo vertical e horizontal"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Quando move o tablet entre o modo vertical e horizontal"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Quando move o tablet entre o modo vertical e horizontal"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuste a visualização das cores no telemóvel"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuste a visualização das cores no tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altifalantes do telemóvel"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Altifalantes do tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altifalantes do dispositivo"</string>
 </resources>
diff --git a/res-product/values-pt/strings.xml b/res-product/values-pt/strings.xml
index a80a951..938944c 100644
--- a/res-product/values-pt/strings.xml
+++ b/res-product/values-pt/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"O smartphone foi redefinido para as configurações originais. Para usá-lo, digite a senha anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"O tablet foi redefinido para as configurações originais. Para usá-lo, insira a senha anterior."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"O dispositivo foi redefinido para as configurações originais. Para usá-lo, insira a senha anterior."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateria carregando lentamente ou não carregando. Confira se o cabo e o adaptador de energia funcionam com o smartphone"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateria carregando lentamente ou não carregando. Confira se o cabo e o adaptador de energia funcionam com o dispositivo"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateria carregando lentamente ou não carregando. Confira se o cabo e o adaptador de energia funcionam com o tablet"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"O smartphone pode estar com o carregamento lento ou não estar carregando. Para um carregamento mais rápido, use um cabo e um adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"O dispositivo pode estar com o carregamento lento ou não estar carregando. Para um carregamento mais rápido, use um cabo e um adaptador recomendados."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"O tablet pode estar com o carregamento lento ou não estar carregando. Para um carregamento mais rápido, use um cabo e um adaptador recomendados."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Sem desbloquear o smartphone"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Sem desbloquear o tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Ao virar o smartphone para as posições vertical e horizontal"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ao virar o tablet para as posições vertical e horizontal"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Ao virar o tablet para as posições vertical e horizontal"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajuste as cores mostradas no smartphone"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajuste as cores mostradas no tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Alto-falantes do smartphone"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Alto-falantes do tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Alto-falantes do dispositivo"</string>
 </resources>
diff --git a/res-product/values-ro/strings.xml b/res-product/values-ro/strings.xml
index b114c64..0c9b9c9 100644
--- a/res-product/values-ro/strings.xml
+++ b/res-product/values-ro/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"S-a revenit la setările din fabrică ale telefonului. Ca să-l folosești, introdu parola anterioară."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"S-a revenit la setările din fabrică ale tabletei. Ca să o folosești, introdu parola anterioară."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"S-a revenit la setările din fabrică ale dispozitivului. Ca să-l folosești, introdu parola anterioară."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateria se încarcă lent sau nu se încarcă. Verifică dacă adaptorul de curent și cablul sunt compatibile cu telefonul."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateria se încarcă lent sau nu se încarcă. Verifică dacă adaptorul de curent și cablul sunt compatibile cu dispozitivul."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateria se încarcă lent sau nu se încarcă. Verifică dacă adaptorul de curent și cablul sunt compatibile cu tableta."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Este posibil ca telefonul tău să se încarce lent sau deloc. Pentru încărcare mai rapidă, folosește un cablu și un adaptor recomandat."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Este posibil ca dispozitivul tău să se încarce lent sau deloc. Pentru încărcare mai rapidă, folosește un cablu și un adaptor recomandat."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Este posibil ca tableta ta să se încarce lent sau deloc. Pentru încărcare mai rapidă, folosește un cablu și un adaptor recomandat."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Fără a debloca telefonul"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Fără a debloca tableta"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Când comuți telefonul între orientările portret și peisaj"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Când comuți tableta între orientările portret și peisaj"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Când comuți tableta între orientările portret și peisaj"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ajustează modul în care se afișează culorile pe telefon"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ajustează modul în care se afișează culorile pe tabletă"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Difuzoarele telefonului"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Difuzoarele tabletei"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Difuzoarele dispozitivului"</string>
 </resources>
diff --git a/res-product/values-ru/strings.xml b/res-product/values-ru/strings.xml
index 5500c75..62c074c 100644
--- a/res-product/values-ru/strings.xml
+++ b/res-product/values-ru/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Настройки телефона были сброшены. Чтобы использовать его, введите свой прежний пароль."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Настройки планшета были сброшены. Чтобы использовать его, введите свой прежний пароль."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Настройки устройства были сброшены. Чтобы использовать его, введите свой прежний пароль."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батарея не заряжается или заряжается медленно. Убедитесь, что кабель и адаптер питания совместимы с вашим телефоном."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батарея не заряжается или заряжается медленно. Убедитесь, что кабель и адаптер питания совместимы с вашим устройством."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батарея не заряжается или заряжается медленно. Убедитесь, что кабель и адаптер питания совместимы с вашим планшетом."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Возможно, ваш телефон заряжается медленно или не заряжается. Чтобы устранить проблему, используйте рекомендуемые кабель и адаптер питания."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Возможно, ваше устройство заряжается медленно или не заряжается. Чтобы устранить проблему, используйте рекомендуемые кабель и адаптер питания."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Возможно, ваш планшет заряжается медленно или не заряжается. Чтобы устранить проблему, используйте рекомендуемые кабель и адаптер питания."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Без разблокировки телефона"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Без разблокировки планшета"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Переключать ориентацию при изменении положения телефона"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Переключать ориентацию при изменении положения планшета"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Переключать ориентацию при изменении положения планшета"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Настроить цветопередачу на экране телефона"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Настроить цветопередачу на экране планшета"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Динамики телефона"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Динамики планшета"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Динамики устройства"</string>
 </resources>
diff --git a/res-product/values-si/strings.xml b/res-product/values-si/strings.xml
index 7b504c9..541f5fa 100644
--- a/res-product/values-si/strings.xml
+++ b/res-product/values-si/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"ඔබේ දුරකථනය කම්හල් සැකසීම් වෙත යළි සකසා ඇත. මෙම දුරකථනය භාවිතා කිරීමට, ඔබේ පෙර මුරපදය ඇතුළු කරන්න."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"ඔබේ ටැබ්ලටය කම්හල් සැකසීම් වෙත යළි සකසන ලදි. මෙම ටැබ්ලටය භාවිතය සඳහා, ඔබේ පෙර මුරපදය ඇතුළු කරන්න."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"ඔබේ උපාංගය කම්හල් සැකසීම් වෙත යළි සකසන ලදි. මෙම උපාංගය භාවිතය සඳහා, ඔබේ පෙර මුරපදය ඇතුළු කරන්න."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"බැටරිය සෙමින් ආරෝපණය වේ හෝ ආරෝපණය නොවේ. කේබලය සහ බල ඇඩැප්ටරය ඔබේ දුරකථනය සමග ක්‍රියා කරන්නේ දැයි පරීක්ෂා කරන්න"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"බැටරිය සෙමින් ආරෝපණය වේ හෝ ආරෝපණය නොවේ. කේබලය සහ බල ඇඩැප්ටරය ඔබේ උපාංගය සමග ක්‍රියා කරන්නේ දැයි පරීක්ෂා කරන්න"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"බැටරිය සෙමින් ආරෝපණය වේ හෝ ආරෝපණය නොවේ. කේබලය සහ බල ඇඩැප්ටරය ඔබේ ටැබ්ලටය සමග ක්‍රියා කරන්නේ දැයි පරීක්ෂා කරන්න"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ඔබේ දුරකථනය සෙමින් ආරෝපණය වෙමින් හෝ ආරෝපණය නොවීමට ඉඩ ඇත. වේගවත් ආරෝපණය සඳහා, නිර්දේශිත කේබලයක් සහ ඇඩප්ටරයක් භාවිත කරන්න."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ඔබේ උපාංගය සෙමින් ආරෝපණය වෙමින් හෝ ආරෝපණය නොවීමට ඉඩ ඇත. වේගවත් ආරෝපණය සඳහා, නිර්දේශිත කේබලයක් සහ ඇඩප්ටරයක් භාවිත කරන්න."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ඔබේ ටැබ්ලටය සෙමින් ආරෝපණය වෙමින් හෝ ආරෝපණය නොවීමට ඉඩ ඇත. වේගවත් ආරෝපණය සඳහා, නිර්දේශිත කේබලයක් සහ ඇඩප්ටරයක් භාවිත කරන්න."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"ඔබේ දුරකථනය අගුළු හැරීමෙන් තොරව"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"ඔබේ ටැබ්ලටය අගුළු හැරීමෙන් තොරව"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ඔබ ඔබේ දුරකථනය සිරස් සහ තිරස් අතර ගෙන යන විට"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"ඔබ ඔබේ ටැබ්ලටය සිරස් සහ තිරස් අතර ගෙන යන විට"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"ඔබ ඔබේ ටැබ්ලටය සිරස් සහ තිරස් අතර ගෙන යන විට"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ඔබේ දුරකථනයෙහි වර්ණ සංදර්ශනය වන ආකාරය සීරුමාරු කරන්න"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ඔබේ ටැබ්ලටයෙහි වර්ණ සංදර්ශනය වන ආකාරය සීරුමාරු කරන්න"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"දුරකථන ස්පීකර්"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ටැබ්ලට් ස්පීකර්"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"උපාංග ස්පීකර්"</string>
 </resources>
diff --git a/res-product/values-sk/strings.xml b/res-product/values-sk/strings.xml
index 44836dc..9146769 100644
--- a/res-product/values-sk/strings.xml
+++ b/res-product/values-sk/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"V telefóne boli obnovené výrobné nastavenia. Ak ho chcete použiť, zadajte predchádzajúce heslo."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"V tablete boli obnovené výrobné nastavenia. Ak ho chcete používať, zadajte predchádzajúce heslo."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"V zariadení boli obnovené výrobné nastavenia. Ak ho chcete používať, zadajte predchádzajúce heslo."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batéria sa nabíja pomaly alebo sa nenabíja vôbec. Skontrolujte, či sú kábel a nabíjačka s telefónom kompatibilné."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batéria sa nabíja pomaly alebo sa nenabíja vôbec. Skontrolujte, či sú kábel a nabíjačka so zariadením kompatibilné."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batéria sa nabíja pomaly alebo sa nenabíja vôbec. Skontrolujte, či sú kábel a nabíjačka s tabletom kompatibilné."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Váš telefón sa zrejme nabíja pomaly alebo sa nenabíja vôbec. Ak chcete, aby sa nabíjal rýchlejšie, použite odporúčaný kábel a nabíjačku."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Vaše zariadenie sa zrejme nabíja pomaly alebo sa nenabíja vôbec. Ak chcete, aby sa nabíjalo rýchlejšie, použite odporúčaný kábel a nabíjačku."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Váš tablet sa zrejme nabíja pomaly alebo sa nenabíja vôbec. Ak chcete, aby sa nabíjal rýchlejšie, použite odporúčaný kábel a nabíjačku."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bez odomykania telefónu"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bez odomykania tabletu"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Keď telefón otočíte z orientácie na výšku do polohy na šírku"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Keď tablet otočíte z orientácie na výšku do polohy na šírku"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Keď tablet otočíte z orientácie na výšku do polohy na šírku"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Upravte si zobrazovanie farieb v telefóne"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Upravte si zobrazovanie farieb v tablete"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Reproduktory telefónu"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Reproduktory tabletu"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Reproduktory zariadenia"</string>
 </resources>
diff --git a/res-product/values-sl/strings.xml b/res-product/values-sl/strings.xml
index 44bf365..db4f2a9 100644
--- a/res-product/values-sl/strings.xml
+++ b/res-product/values-sl/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefon je bil ponastavljen na tovarniške nastavitve. Če ga želite uporabljati, vnesite prejšnje geslo."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tablični računalnik je bil ponastavljen na tovarniške nastavitve. Če ga želite uporabljati, vnesite prejšnje geslo."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Naprava je bila ponastavljena na tovarniške nastavitve. Če jo želite uporabljati, vnesite prejšnje geslo."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Baterija se polni počasi ali se sploh ne polni. Preverite, ali sta kabel in napajalnik ustrezna za vaš telefon."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Baterija se polni počasi ali se sploh ne polni. Preverite, ali sta kabel in napajalnik ustrezna za vašo napravo."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Baterija se polni počasi ali se sploh ne polni. Preverite, ali sta kabel in napajalnik ustrezna za vaš tablični računalnik."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Baterija telefona se morda polni počasi ali se sploh ne polni. Za hitrejše polnjenje uporabite priporočena kabel in napajalnik."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Baterija naprave se morda polni počasi ali se sploh ne polni. Za hitrejše polnjenje uporabite priporočena kabel in napajalnik."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Baterija tabličnega računalnika se morda polni počasi ali se sploh ne polni. Za hitrejše polnjenje uporabite priporočena kabel in napajalnik."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Brez odklepanja telefona"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Brez odklepanja tabličnega računalnika"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Ko telefon obrnete iz navpičnega v vodoravni položaj ali obratno."</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Ko tablični računalnik obrnete iz navpičnega v vodoravni položaj ali obratno."</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Ko tablični računalnik obrnete iz navpičnega v vodoravni položaj ali obratno."</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Prilagodite prikaz barv v telefonu."</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Prilagodite prikaz barv v tabličnem računalniku."</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Zvočniki telefona"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Zvočniki tabličnega računalnika"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Zvočniki naprave"</string>
 </resources>
diff --git a/res-product/values-sq/strings.xml b/res-product/values-sq/strings.xml
index 27e58d4..9fc07a6 100644
--- a/res-product/values-sq/strings.xml
+++ b/res-product/values-sq/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefoni u rivendos në cilësimet e fabrikës. Për të përdorur telefonin, fut fjalëkalim të mëparshëm."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tableti u rivendos në cilësimet e fabrikës. Për të përdorur tabletin, fut fjalëkalimin e mëparshëm."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Pajisja u rivendos në cilësimet e fabrikës. Për të përdorur pajisjen, fut fjalëkalimin e mëparshëm."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Bateria po karikohet ngadalë ose nuk karikohet. Kontrollo nëse kablloja dhe përshtatësi elektrik funksionojnë me telefonin tënd"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Bateria po karikohet ngadalë ose nuk karikohet. Kontrollo nëse kablloja dhe përshtatësi elektrik funksionojnë me pajisjen tënde"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Bateria po karikohet ngadalë ose nuk karikohet. Kontrollo nëse kablloja dhe përshtatësi elektrik funksionojnë me tabletin tënd"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefoni yt mund të jetë duke u karikuar ngadalë ose nuk po karikohet. Për karikim më të shpejtë, përdor një kabllo dhe përshtatës të rekomanduar."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Pajisja jote mund të jetë duke u karikuar ngadalë ose nuk po karikohet. Për karikim më të shpejtë, përdor një kabllo dhe përshtatës të rekomanduar."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tableti yt mund të jetë duke u karikuar ngadalë ose nuk po karikohet. Për karikim më të shpejtë, përdor një kabllo dhe përshtatës të rekomanduar."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Pa e shkyçur telefonin"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Pa e shkyçur tabletin"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kur lëviz telefonin mes modalitetit \"portret\" e \"horizontal\""</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kur lëviz tabletin mes modalitetit \"portret\" e \"horizontal\""</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kur lëviz tabletin mes modalitetit \"portret\" e \"horizontal\""</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Rregullo mënyrën se si shfaqen ngjyrat në telefon"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Rregullo mënyrën se si shfaqen ngjyrat në tabletin tënd"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Altoparlantët e telefonit"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Altoparlantët e tabletit"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Altoparlantët e pajisjes"</string>
 </resources>
diff --git a/res-product/values-sr/strings.xml b/res-product/values-sr/strings.xml
index dc561b6..a949982 100644
--- a/res-product/values-sr/strings.xml
+++ b/res-product/values-sr/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Телефон је ресетован на фабричка подешавања. Да бисте га користили, унесите претходну лозинку."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Таблет је ресетован на фабричка подешавања. Да бисте га користили, унесите претходну лозинку."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Уређај је ресетован на фабричка подешавања. Да бисте га користили, унесите претходну лозинку."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Батерија се споро пуни или неће да се пуни. Проверите да ли кабл и адаптер раде са телефоном"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Батерија се споро пуни или неће да се пуни. Проверите да ли кабл и адаптер раде са уређајем"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Батерија се споро пуни или неће да се пуни. Проверите да ли кабл и адаптер раде са таблетом"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Телефон се можда споро пуни или се уопште не пуни. Ако желите брже пуњење, користите препоручени кабл и адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Уређај се можда споро пуни или се уопште не пуни. Ако желите брже пуњење, користите препоручени кабл и адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Таблет се можда споро пуни или се уопште не пуни. Ако желите брже пуњење, користите препоручени кабл и адаптер."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Без откључавања телефона"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Без откључавања таблета"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Када окрећете телефон у усправни или водоравни режим"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Када окрећете таблет у усправни или водоравни режим"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Када окрећете таблет у усправни или водоравни режим"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Прилагодите начин на који се боје приказују на телефону"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Прилагодите начин на који се боје приказују на таблету"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Звучници телефона"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Звучници таблета"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Звучници уређаја"</string>
 </resources>
diff --git a/res-product/values-sv/strings.xml b/res-product/values-sv/strings.xml
index 3753b19..218576a 100644
--- a/res-product/values-sv/strings.xml
+++ b/res-product/values-sv/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefonens standardinställningar har återställts. Ange det tidigare lösenordet för telefonen."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Surfplattans standardinställningar har återställts. Ange det tidigare lösenordet för surfplattan."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Enhetens standardinställningar har återställts. Ange det tidigare lösenordet för enheten."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batteriet laddas långsamt eller inte alls. Kontrollera om kabeln och nätadaptern fungerar med din telefon"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batteriet laddas långsamt eller inte alls. Kontrollera om kabeln och nätadaptern fungerar med din enhet"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batteriet laddas långsamt eller inte alls. Kontrollera om kabeln och nätadaptern fungerar med din surfplatta"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefonen kanske laddas långsamt eller inte laddas alls. Använd en rekommenderad kabel och nätadapter för snabbare laddning."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Enheten kanske laddas långsamt eller inte laddas alls. Använd en rekommenderad kabel och nätadapter för snabbare laddning."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Surfplattan kanske laddas långsamt eller inte laddas alls. Använd en rekommenderad kabel och nätadapter för snabbare laddning."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Utan att låsa upp telefonen"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Utan att låsa upp surfplattan"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"När du vänder telefonen mellan stående och liggande läge"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"När du vänder surfplattan mellan stående och liggande läge"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"När du vänder surfplattan mellan stående och liggande läge"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Ändra hur färger visas på telefonen"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Ändra hur färger visas på surfplattan"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefonens högtalare"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Surfplattans högtalare"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Enhetens högtalare"</string>
 </resources>
diff --git a/res-product/values-sw/strings.xml b/res-product/values-sw/strings.xml
index 572b719..2db568b 100644
--- a/res-product/values-sw/strings.xml
+++ b/res-product/values-sw/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Mipangilio ya kiwandani ilirejeshwa kwenye simu yako. Ili utumie simu hii, weka nenosiri lako la awali."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Mipangilio ya kiwandani ilirejeshwa kwenye kompyuta kibao yako. Ili utumie kompyuta kibao hii, weka nenosiri lako la awali."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Mipangilio ya kiwandani ilirejeshwa kwenye kifaa chako. Ili utumie kifaa hiki, weka nenosiri lako la awali."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Betri inachaji polepole au haitachaji. Angalia ikiwa kebo na adapta ya nishati zinafanya kazi kwenye simu yako"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Betri inachaji polepole au haitachaji. Angalia ikiwa kebo na adapta ya nishati zinafanya kazi kwenye kifaa chako"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Betri inachaji polepole au haitachaji. Angalia ikiwa kebo na adapta ya nishati zinafanya kazi kwenye kompyuta kibao yako"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Huenda simu yako inachaji polepole au haichaji. Ili uchaji kwa kasi, tumia kebo na adapta inayopendekezwa."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Huenda kifaa chako kinachaji polepole au hakichaji. Ili uchaji kwa kasi, tumia kebo na adapta inayopendekezwa."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Huenda kishikwambi chako kinachaji polepole au hakichaji. Ili uchaji kwa kasi, tumia kebo na adapta inayopendekezwa."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Bila kufungua simu yako"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Bila kufungua kompyuta kibao yako"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Unapobadilisha mkao wa simu yako kati ya wima na mlalo"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Unapobadilisha mkao wa kompyuta kibao yako kati ya wima na mlalo"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Unapobadilisha mkao wa kompyuta kibao yako kati ya wima na mlalo"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Rekebisha jinsi rangi zinaonekana kwenye simu yako"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Rekebisha jinsi rangi zinaonekana kwenye kishikwambi chako"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Spika za simu"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Spika za kishikwambi"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Spika za kifaa"</string>
 </resources>
diff --git a/res-product/values-ta/strings.xml b/res-product/values-ta/strings.xml
index 2ba064e..e033621 100644
--- a/res-product/values-ta/strings.xml
+++ b/res-product/values-ta/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"உங்கள் மொபைல் ஆரம்பநிலைக்கு மீட்டமைக்கப்பட்டது. இதைப் பயன்படுத்த முந்தைய கடவுச்சொல்லை உள்ளிடுங்கள்."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"உங்கள் டேப்லெட் ஆரம்பநிலைக்கு மீட்டமைக்கப்பட்டது. இதை உபயோகிக்க முந்தைய கடவுச்சொல்லை உள்ளிடுங்கள்."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"உங்கள் சாதனம் ஆரம்பநிலைக்கு மீட்டமைக்கப்பட்டது. இதைப் பயன்படுத்த முந்தைய கடவுச்சொல்லை உள்ளிடுங்கள்."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"பேட்டரி மெதுவாகச் சார்ஜாகிறது அல்லது சார்ஜாகாது. கேபிளும் பவர் அடாப்டரும் உங்கள் மொபைலுக்குப் பொருந்துகின்றனவா என்று பாருங்கள்"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"பேட்டரி மெதுவாகச் சார்ஜாகிறது அல்லது சார்ஜாகாது. கேபிளும் பவர் அடாப்டரும் உங்கள் சாதனத்திற்குப் பொருந்துகின்றனவா என்று பாருங்கள்"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"பேட்டரி மெதுவாகச் சார்ஜாகிறது அல்லது சார்ஜாகாது. கேபிளும் பவர் அடாப்டரும் உங்கள் டேப்லெட்டிற்குப் பொருந்துகின்றனவா என்று பாருங்கள்"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"உங்கள் மொபைல் மெதுவாகச் சார்ஜ் ஆகலாம் அல்லது சார்ஜ் ஆகாமல் இருக்கலாம். விரைவாகச் சார்ஜ் ஆவதற்கு, பரிந்துரைக்கப்படும் கேபிளையும் அடாப்டரையும் பயன்படுத்துங்கள்."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"உங்கள் சாதனம் மெதுவாகச் சார்ஜ் ஆகலாம் அல்லது சார்ஜ் ஆகாமல் இருக்கலாம். விரைவாகச் சார்ஜ் ஆவதற்கு, பரிந்துரைக்கப்படும் கேபிளையும் அடாப்டரையும் பயன்படுத்துங்கள்."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"உங்கள் டேப்லெட் மெதுவாகச் சார்ஜ் ஆகலாம் அல்லது சார்ஜ் ஆகாமல் இருக்கலாம். விரைவாகச் சார்ஜ் ஆவதற்கு, பரிந்துரைக்கப்படும் கேபிளையும் அடாப்டரையும் பயன்படுத்துங்கள்."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"உங்கள் மொபைலைத் திறக்காமலேயே"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"உங்கள் டேப்லெட்டைத் திறக்காமலேயே"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"போர்ட்ரெய்ட் &amp; லேண்ட்ஸ்கேப் காட்சிக்கு மொபைலை மாற்றும்போது"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"போர்ட்ரெய்ட் &amp; லேண்ட்ஸ்கேப் காட்சிக்கு டேப்லெட்டை மாற்றும்போது"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"போர்ட்ரெய்ட் &amp; லேண்ட்ஸ்கேப் காட்சிக்கு டேப்லெட்டை மாற்றும்போது"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"மொபைலில் வண்ணங்கள் காட்டப்படும் விதத்தைச் சரிசெய்யலாம்"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"டேப்லெட்டில் வண்ணங்கள் காட்டப்படும் விதத்தைச் சரிசெய்யலாம்"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"மொபைல் ஸ்பீக்கர்கள்"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"டேப்லெட் ஸ்பீக்கர்கள்"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"சாதன ஸ்பீக்கர்கள்"</string>
 </resources>
diff --git a/res-product/values-te/strings.xml b/res-product/values-te/strings.xml
index f900578..157be1a 100644
--- a/res-product/values-te/strings.xml
+++ b/res-product/values-te/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"మీ ఫోన్ ఫ్యాక్టరీ సెట్టింగ్‌లకు రీసెట్ అయింది. ఈ ఫోన్‌ను వాడాలంటే, మీ పాత పాస్‌వర్డ్ ఎంటర్ చేయండి."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"మీ టాబ్లెట్ ఫ్యాక్టరీ సెట్టింగ్స్‌కు రీసెట్ అయింది. ఈ టాబ్లెట్ వాడాలంటే పాత పాస్‌వర్డ్ ఎంటర్ చేయండి."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"మీ పరికరం, ఫ్యాక్టరీ సెట్టింగ్‌లకు రీసెట్ అయింది. ఈ పరికరం వాడాలంటే, మీ పాత పాస్‌వర్డ్ ఎంటర్ చేయండి."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"బ్యాటరీ నెమ్మదిగా ఛార్జింగ్ అవుతోంది లేదా ఛార్జింగ్ అవ్వడం లేదు. మీ ఫోన్‌తో కేబుల్, పవర్ అడాప్టర్ పని చేస్తాయో లేదో చెక్ చేయండి"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"బ్యాటరీ నెమ్మదిగా ఛార్జింగ్ అవుతోంది లేదా ఛార్జింగ్ అవ్వడం లేదు. మీ పరికరంతో కేబుల్, పవర్ అడాప్టర్ పని చేస్తాయో లేదో చెక్ చేయండి"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"బ్యాటరీ నెమ్మదిగా ఛార్జింగ్ అవుతోంది లేదా ఛార్జింగ్ అవ్వడం లేదు. మీ టాబ్లెట్‌తో కేబుల్, పవర్ అడాప్టర్ పని చేస్తాయో లేదో చెక్ చేయండి"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"మీ ఫోన్ నెమ్మదిగా ఛార్జింగ్ అవుతూ ఉండవచ్చు లేదా అస్సలు ఛార్జ్ కాకపోవచ్చు. ఛార్జింగ్ మరింత వేగవంతంగా అవ్వడం కోసం, సిఫార్సు చేయబడిన కేబుల్‌ను, అడాప్టర్‌ను ఉపయోగించండి."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"మీ పరికరం నెమ్మదిగా ఛార్జింగ్ అవుతూ ఉండవచ్చు లేదా అస్సలు ఛార్జ్ కాకపోవచ్చు. ఛార్జింగ్ మరింత వేగవంతంగా అవ్వడం కోసం, సిఫార్సు చేయబడిన కేబుల్‌ను, అడాప్టర్‌ను ఉపయోగించండి."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"మీ టాబ్లెట్ నెమ్మదిగా ఛార్జింగ్ అవుతూ ఉండవచ్చు లేదా అస్సలు ఛార్జ్ కాకపోవచ్చు. ఛార్జింగ్ మరింత వేగవంతంగా అవ్వడం కోసం, సిఫార్సు చేయబడిన కేబుల్‌ను, అడాప్టర్‌ను ఉపయోగించండి."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"మీ ఫోన్‌ను అన్‌లాక్ చేయకుండా"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"మీ టాబ్లెట్‌ను అన్‌లాక్ చేయకుండా"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"ఫోన్‌ను పోర్ట్రెయిట్, ల్యాండ్‌స్కేప్‌‌ల మధ్య మార్చినప్పుడు"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"టాబ్లెట్‌ను పోర్ట్రెయిట్, ల్యాండ్‌స్కేప్‌‌ల మధ్య మార్చినప్పుడు"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"టాబ్లెట్‌ను పోర్ట్రెయిట్, ల్యాండ్‌స్కేప్‌‌ల మధ్య మార్చినప్పుడు"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"మీ ఫోన్‌లో రంగులు ఎలా ప్రదర్శించాలో సర్దుబాటు చేయండి"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"మీ టాబ్లెట్‌లో రంగులు కనిపించే విధానాన్ని సర్దుబాటు చేయండి"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ఫోన్ స్పీకర్‌లు"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"టాబ్లెట్ స్పీకర్‌లు"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"పరికర స్పీకర్‌లు"</string>
 </resources>
diff --git a/res-product/values-th/strings.xml b/res-product/values-th/strings.xml
index 76143dd..cbf2b41 100644
--- a/res-product/values-th/strings.xml
+++ b/res-product/values-th/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"รีเซ็ตโทรศัพท์เป็นการตั้งค่าเริ่มต้นแล้ว หากต้องการใช้โทรศัพท์นี้ ให้ป้อนรหัสผ่านก่อนหน้าของคุณ"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"รีเซ็ตแท็บเล็ตเป็นการตั้งค่าเริ่มต้นแล้ว หากต้องการใช้แท็บเล็ตนี้ ให้ป้อนรหัสผ่านก่อนหน้าของคุณ"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"รีเซ็ตอุปกรณ์เป็นการตั้งค่าเริ่มต้นแล้ว หากต้องการใช้อุปกรณ์นี้ ให้ป้อนรหัสผ่านก่อนหน้าของคุณ"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"แบตเตอรี่จะชาร์จอย่างช้าๆ หรือไม่ชาร์จ ตรวจสอบว่าสายและอะแดปเตอร์ใช้กับโทรศัพท์ของคุณได้หรือไม่"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"แบตเตอรี่จะชาร์จอย่างช้าๆ หรือไม่ชาร์จ ตรวจสอบว่าสายและอะแดปเตอร์ใช้กับอุปกรณ์ของคุณได้หรือไม่"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"แบตเตอรี่จะชาร์จอย่างช้าๆ หรือไม่ชาร์จ ตรวจสอบว่าสายและอะแดปเตอร์ใช้กับแท็บเล็ตของคุณได้หรือไม่"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"โทรศัพท์อาจชาร์จอย่างช้าๆ หรือไม่ชาร์จ ให้ใช้สายและอะแดปเตอร์ที่แนะนำเพื่อให้ชาร์จได้เร็วขึ้น"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"อุปกรณ์อาจชาร์จอย่างช้าๆ หรือไม่ชาร์จ ให้ใช้สายและอะแดปเตอร์ที่แนะนำเพื่อให้ชาร์จได้เร็วขึ้น"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"แท็บเล็ตอาจชาร์จอย่างช้าๆ หรือไม่ชาร์จ ให้ใช้สายและอะแดปเตอร์ที่แนะนำเพื่อให้ชาร์จได้เร็วขึ้น"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"โดยไม่ต้องปลดล็อกโทรศัพท์"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"โดยไม่ต้องปลดล็อกแท็บเล็ต"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"เมื่อคุณหมุนโทรศัพท์ไปมาระหว่างแนวตั้งกับแนวนอน"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"เมื่อคุณหมุนแท็บเล็ตไปมาระหว่างแนวตั้งกับแนวนอน"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"เมื่อคุณหมุนแท็บเล็ตไปมาระหว่างแนวตั้งกับแนวนอน"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"ปรับวิธีแสดงสีในโทรศัพท์"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"ปรับวิธีแสดงสีในแท็บเล็ต"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"ลำโพงโทรศัพท์"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ลำโพงแท็บเล็ต"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"ลำโพงอุปกรณ์"</string>
 </resources>
diff --git a/res-product/values-tl/strings.xml b/res-product/values-tl/strings.xml
index 6de3291..91c2fa7 100644
--- a/res-product/values-tl/strings.xml
+++ b/res-product/values-tl/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Na-reset sa mga factory setting ang iyong telepono. Ilagay ang dati mong password para magamit ito."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Na-reset sa mga factory setting ang tablet mo. Ilagay ang dating password para magamit itong tablet."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Na-reset sa mga factory setting ang device mo. Ilagay ang dating password para magamit itong device."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Mabagal na nagcha-charge o hindi nagcha-charge ang baterya. Tingnan kung gumagana sa iyong telepono ang cable at power adapter"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Mabagal na nagcha-charge o hindi nagcha-charge ang baterya. Tingnan kung gumagana sa iyong device ang cable at power adapter"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Mabagal na nagcha-charge o hindi nagcha-charge ang baterya. Tingnan kung gumagana sa iyong tablet ang cable at power adapter"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Posibleng mabagal mag-charge o hindi nagcha-charge ang iyong telepono. Para sa mas mabilis na pag-charge, gumamit ng inirerekomendang cable at adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Posibleng mabagal mag-charge o hindi nagcha-charge ang iyong device. Para sa mas mabilis na pag-charge, gumamit ng inirerekomendang cable at adapter."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Posibleng mabagal mag-charge o hindi nagcha-charge ang iyong tablet. Para sa mas mabilis na pag-charge, gumamit ng inirerekomendang cable at adapter."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Nang hindi ina-unlock ang iyong telepono"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Nang hindi ina-unlock ang iyong tablet"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Kapag pinalipat-lipat ang telepono sa portrait at landscape"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Kapag pinalipat-lipat mo ang tablet sa portrait at landscape"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Kapag pinalipat-lipat mo ang tablet sa portrait at landscape"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Isaayos kung paano ipinapakita ang mga kulay sa iyong telepono"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Isaayos kung paano ipinapakita ang mga kulay sa iyong tablet"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Mga speaker ng telepono"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Mga speaker ng tablet"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Mga speaker ng device"</string>
 </resources>
diff --git a/res-product/values-tr/strings.xml b/res-product/values-tr/strings.xml
index a9c7a59..828e86b 100644
--- a/res-product/values-tr/strings.xml
+++ b/res-product/values-tr/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefonunuz fabrika ayarlarına sıfırlandı. Bu telefonu kullanmak için önceki şifrenizi girin."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Tabletiniz fabrika ayarlarına sıfırlandı. Bu tableti kullanmak için önceki şifrenizi girin."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Cihazınız fabrika ayarlarına sıfırlandı. Bu cihazı kullanmak için önceki şifrenizi girin."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Pil yavaş şarj oluyor veya hiç şarj olmuyor. Kablo ve güç adaptörünün telefonunuzla çalışıp çalışmadığını kontrol edin"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Pil yavaş şarj oluyor veya hiç şarj olmuyor. Kablo ve güç adaptörünün cihazınızla çalışıp çalışmadığını kontrol edin"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Pil yavaş şarj oluyor veya hiç şarj olmuyor. Kablo ve güç adaptörünün tabletinizde çalışıp çalışmadığını kontrol edin"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefonunuz yavaş şarj oluyor veya hiç şarj olmuyor olabilir. Daha hızlı şarj için önerilen bir kablo ve adaptör kullanın."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Cihazınız yavaş şarj oluyor veya hiç şarj olmuyor olabilir. Daha hızlı şarj için önerilen bir kablo ve adaptör kullanın."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Tabletiniz yavaş şarj oluyor veya hiç şarj olmuyor olabilir. Daha hızlı şarj için önerilen bir kablo ve adaptör kullanın."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Telefonunuzun kilidini açmak zorunda değilsiniz"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Tabletinizin kilidini açmak zorunda değilsiniz"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Telefonunuzu dikey/yatay mod arasında hareket ettirdiğinizde"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Tabletinizi dikey/yatay mod arasında hareket ettirdiğinizde"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Tabletinizi dikey/yatay mod arasında hareket ettirdiğinizde"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Renklerin telefonunuzda nasıl görüntüleneceğini düzenleyin"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Renklerin tabletinizde nasıl görüntüleneceğini düzenleyin"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefon hoparlörleri"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Tablet hoparlörleri"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Cihaz hoparlörleri"</string>
 </resources>
diff --git a/res-product/values-uk/strings.xml b/res-product/values-uk/strings.xml
index 0b118d9..5b09163 100644
--- a/res-product/values-uk/strings.xml
+++ b/res-product/values-uk/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Налаштування телефона скинуто. Щоб користуватися ним, введіть попередній пароль."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Налаштування планшета скинуто. Щоб користуватися ним, введіть попередній пароль."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Налаштування пристрою скинуто. Щоб користуватися ним, введіть попередній пароль."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Акумулятор заряджається повільно або не заряджається взагалі. Перевірте, чи кабель і адаптер живлення сумісні з вашим телефоном."</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Акумулятор заряджається повільно або не заряджається взагалі. Перевірте, чи кабель і адаптер живлення сумісні з вашим пристроєм."</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Акумулятор заряджається повільно або не заряджається взагалі. Перевірте, чи кабель і адаптер живлення сумісні з вашим планшетом."</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Можливо, телефон заряджається повільно або взагалі не заряджається. Щоб він заряджався швидше, використовуйте рекомендований кабель і адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Можливо, пристрій заряджається повільно або взагалі не заряджається. Щоб він заряджався швидше, використовуйте рекомендований кабель і адаптер."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Можливо, планшет заряджається повільно або взагалі не заряджається. Щоб він заряджався швидше, використовуйте рекомендований кабель і адаптер."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Не розблоковуючи телефон"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Не розблоковуючи планшет"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Змінення орієнтації телефона з портретної на альбомну й навпаки"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Змінення орієнтації планшета з портретної на альбомну й навпаки"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Змінення орієнтації планшета з портретної на альбомну й навпаки"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Налаштуйте відтворення кольорів на екрані телефона"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Налаштуйте відтворення кольорів на екрані планшета"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Динаміки телефона"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Динаміки планшета"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Динаміки пристрою"</string>
 </resources>
diff --git a/res-product/values-ur/strings.xml b/res-product/values-ur/strings.xml
index 4272c9a..32c1460 100644
--- a/res-product/values-ur/strings.xml
+++ b/res-product/values-ur/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"آپ کا فون فیکٹری ترتیبات پر ری سیٹ کر دیا گیا تھا۔ یہ فون استعمال کرنے کیلئے، پچھلا پاس ورڈ ڈالیں۔"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"آپ کا ٹیبلیٹ فیکٹری ترتیبات پر ری سیٹ ہوا تھا۔ یہ ٹیبلیٹ استعمال کرنے کیلئے گزشتہ پاس ورڈ ڈالیں۔"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"آپ کا آلہ فیکٹری کی ترتیبات پر ری سیٹ ہوا تھا۔ یہ آلہ استعمال کرنے کیلئے گزشتہ پاس ورڈ درج کریں۔"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"بیٹری آہستہ چارج ہو رہی ہے یا چارج نہیں ہو رہی ہے۔ چیک کریں آیا کیبل اور پاور ایڈاپٹر آپ کے فون کے ساتھ کام کرتا ہے"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"بیٹری آہستہ چارج ہو رہی ہے یا چارج نہیں ہو رہی ہے۔ چیک کریں آیا کیبل اور پاور ایڈاپٹر آپ کے آلے کے ساتھ کام کرتا ہے"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"بیٹری آہستہ چارج ہو رہی ہے یا چارج نہیں ہو رہی ہے۔ چیک کریں آیا کیبل اور پاور ایڈاپٹر آپ کے ٹیبلیٹ کے ساتھ کام کرتا ہے"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"ہو سکتا ہے کہ آپ کا فون آہستہ چارج ہو رہا ہو یا چارج نہ ہو رہا ہو۔ فاسٹ چارجنگ کے لیے، تجویز کردہ کیبل اور ایڈاپٹر استعمال کریں۔"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"ہو سکتا ہے کہ آپ کا آلہ آہستہ چارج ہو رہا ہو یا چارج نہ ہو رہا ہو۔ فاسٹ چارجنگ کے لیے، تجویز کردہ کیبل اور ایڈاپٹر استعمال کریں۔"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"ہو سکتا ہے کہ آپ کا ٹیبلیٹ آہستہ چارج ہو رہا ہو یا چارج نہ ہو رہا ہو۔ فاسٹ چارجنگ کے لیے، تجویز کردہ کیبل اور ایڈاپٹر استعمال کریں۔"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"اپنے فون کو اَن لاک کئے بغیر"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"اپنے ٹیبلیٹ کو اَن لاک کئے بغیر"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"جب آپ اپنا فون پورٹریٹ اور لینڈ اسکیپ کے درمیان گھماتے ہیں"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"جب آپ اپنا ٹیبلیٹ پورٹریٹ اور لینڈ اسکیپ کے درمیان گھماتے ہیں"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"جب آپ اپنا ٹیبلیٹ پورٹریٹ اور لینڈ اسکیپ کے درمیان گھماتے ہیں"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"اپنے فون پر رنگوں کے ڈسپلے ہونے کا طریقہ ایڈجسٹ کریں"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"اپنے ٹیبلیٹ پر رنگوں کے ڈسپلے ہونے کے طریقے کو ایڈجسٹ کریں"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"فون کے اسپیکرز"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"ٹیبلیٹ کے اسپیکرز"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"آلے کے اسپیکرز"</string>
 </resources>
diff --git a/res-product/values-uz/strings.xml b/res-product/values-uz/strings.xml
index e588240..1a050c8 100644
--- a/res-product/values-uz/strings.xml
+++ b/res-product/values-uz/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Telefoningiz zavod sozlamalariga qaytarildi. Bu telefondan foydalanish uchun avvalgi parolni kiriting."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Planshet zavod sozlamalariga qaytarildi. Bu planshetdan foydalanish uchun avvalgi parolni kiriting."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Qurilma zavod sozlamalariga qaytarildi. Bu qurilmadan foydalanish uchun avvalgi parolni kiriting."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Batareya sekin quvvatlanmoqda yoki quvvatlanmayapti. Kabel va quvvat adapteri telefoningiz bilan mos ekanini tekshiring"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Batareya sekin quvvatlanmoqda yoki quvvatlanmayapti. Kabel va quvvat adapteri qurilma bilan mos ekanini tekshiring"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Batareya sekin quvvatlanmoqda yoki quvvatlanmayapti. Kabel va quvvat adapteri planshet bilan mos ekanini tekshiring"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Telefoningiz sekin quvvat olyapti yoki umuman olmayapti. Tezroq quvvatlash uchun tavsiya etiladigan quvvat kabel va adapterdan foydalaning."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Qurilmangiz sekin quvvat olyapti yoki umuman olmayapti. Tezroq quvvatlash uchun tavsiya etiladigan quvvat kabel va adapterdan foydalaning."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Planshetingiz sekin quvvat olyapti yoki umuman olmayapti. Tezroq quvvatlash uchun tavsiya etiladigan quvvat kabel va adapterdan foydalaning."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Telefoningizni qulfdan chiqarmasdan"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Planshetingizni qulfdan chiqarmasdan"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Telefoningizni boʻyiga va eniga burganingizda"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Planshetingizni boʻyiga va eniga burganingizda"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Planshetingizni boʻyiga va eniga burganingizda"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Telefoningizda ranglar qanday chiqishini moslash"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Planshetda ranglar qanday chiqishini moslash"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Telefon karnaylari"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Planshet karnaylari"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Qurilma karnaylari"</string>
 </resources>
diff --git a/res-product/values-vi/strings.xml b/res-product/values-vi/strings.xml
index d64ea99..9605a13 100644
--- a/res-product/values-vi/strings.xml
+++ b/res-product/values-vi/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Điện thoại đã được đặt lại về trạng thái cài đặt ban đầu. Để dùng điện thoại này, hãy nhập mật khẩu trước đây của bạn."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Máy tính bảng đã được đặt lại về trạng thái cài đặt ban đầu. Để dùng máy tính bảng này, hãy nhập mật khẩu trước đây của bạn."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Thiết bị đã được đặt lại về trạng thái cài đặt ban đầu. Để dùng thiết bị này, hãy nhập mật khẩu trước đây của bạn."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Pin sạc chậm hoặc không sạc được. Hãy kiểm tra xem bạn đã dùng cáp sạc và bộ sạc phù hợp cho điện thoại hay chưa"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Pin sạc chậm hoặc không sạc được. Hãy kiểm tra xem bạn đã dùng cáp sạc và bộ sạc phù hợp cho thiết bị hay chưa"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Pin sạc chậm hoặc không sạc được. Hãy kiểm tra xem bạn đã dùng cáp sạc và bộ sạc phù hợp cho máy tính bảng hay chưa"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Điện thoại của bạn có thể sạc chậm hoặc không sạc được. Để sạc nhanh hơn, hãy dùng một bộ sạc và cáp sạc được đề xuất."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Thiết bị của bạn có thể sạc chậm hoặc không sạc được. Để sạc nhanh hơn, hãy dùng một bộ sạc và cáp sạc được đề xuất."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Máy tính bảng của bạn có thể sạc chậm hoặc không sạc được. Để sạc nhanh hơn, hãy dùng một bộ sạc và cáp sạc được đề xuất."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Không cần mở khoá điện thoại của bạn"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Không cần mở khoá máy tính bảng của bạn"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Khi bạn chuyển điện thoại giữa chế độ dọc và chế độ ngang"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Khi bạn chuyển máy tính bảng giữa chế độ dọc và chế độ ngang"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Khi bạn chuyển máy tính bảng giữa chế độ dọc và chế độ ngang"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Điều chỉnh cách hiển thị màu sắc trên điện thoại"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Điều chỉnh cách hiển thị màu sắc trên máy tính bảng"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"Loa điện thoại"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Loa máy tính bảng"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Loa thiết bị"</string>
 </resources>
diff --git a/res-product/values-zh-rCN/strings.xml b/res-product/values-zh-rCN/strings.xml
index d36c554..95aa501 100644
--- a/res-product/values-zh-rCN/strings.xml
+++ b/res-product/values-zh-rCN/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"您的手机已恢复出厂设置。如要使用此手机，请输入之前使用的密码。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"您的平板电脑已恢复出厂设置。如要使用此平板电脑，请输入之前使用的密码。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"您的设备已恢复出厂设置。如要使用此设备，请输入之前使用的密码。"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"电池充电缓慢或无法充电。请检查数据线和电源适配器与您的手机是否适配"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"电池充电缓慢或无法充电。请检查数据线和电源适配器与您的设备是否适配"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"电池充电缓慢或无法充电。请检查数据线和电源适配器与您的平板电脑是否适配"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"您的手机可能充电缓慢或未在充电。为了加快充电速度，请使用推荐的数据线和适配器。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"您的设备可能充电缓慢或未在充电。为了加快充电速度，请使用推荐的数据线和适配器。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"您的平板电脑可能充电缓慢或未在充电。为了加快充电速度，请使用推荐的数据线和适配器。"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"不解锁手机"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"不解锁平板电脑"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"当您在纵向与横向之间变换手机持握方向时"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"当您在纵向与横向之间变换平板电脑持握方向时"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"当您在纵向与横向之间变换平板电脑持握方向时"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"调整手机上的颜色显示方式"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"调整平板电脑上的颜色显示方式"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"手机扬声器"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"平板电脑扬声器"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"设备扬声器"</string>
 </resources>
diff --git a/res-product/values-zh-rHK/strings.xml b/res-product/values-zh-rHK/strings.xml
index 0c9806e..032e2d9 100644
--- a/res-product/values-zh-rHK/strings.xml
+++ b/res-product/values-zh-rHK/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"你的手機已回復原廠設定。如要使用此手機，請輸入先前的密碼。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"你的平板電腦已回復原廠設定。如要使用此平板電腦，請輸入先前的密碼。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"你的裝置已回復原廠設定。如要使用此裝置，請輸入先前的密碼。"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"充電緩慢或無法充電。請檢查連接線和電源適配器是否適用於你的手機"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"充電緩慢或無法充電。請檢查連接線和電源適配器是否適用於你的裝置"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"充電緩慢或無法充電。請檢查連接線和電源適配器是否適用於你的平板電腦"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"手機可能充電速度緩慢或未充電。如要快速充電，請使用建議的連接線和電源適配器。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"裝置可能充電速度緩慢或未充電。如要快速充電，請使用建議的連接線和電源適配器。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"平板電腦可能充電速度緩慢或未充電。如要快速充電，請使用建議的連接線和電源適配器。"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"無需解鎖手機"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"無需解鎖平板電腦"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"喺手機轉成直向或者橫向嘅時候自動旋轉畫面"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"喺平板電腦轉成直向或者橫向嘅時候自動旋轉畫面"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"喺平板電腦轉成直向或者橫向嘅時候自動旋轉畫面"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"調整手機上的顏色顯示效果"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"調整平板電腦上的顏色顯示效果"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"手機喇叭"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"平板電腦喇叭"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"裝置喇叭"</string>
 </resources>
diff --git a/res-product/values-zh-rTW/strings.xml b/res-product/values-zh-rTW/strings.xml
index e332629..05401e4 100644
--- a/res-product/values-zh-rTW/strings.xml
+++ b/res-product/values-zh-rTW/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"你的手機已恢復原廠設定。如要使用這支手機，請輸入先前使用的密碼。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"平板電腦已恢復原廠設定。如要使用這台平板電腦，請輸入先前使用的密碼。"</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"裝置已恢復原廠設定。如要使用這部裝置，請輸入先前使用的密碼。"</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"充電速度太慢或未充電，請檢查充電線和電源變壓器是否支援你的手機"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"充電速度太慢或未充電，請檢查充電線和電源變壓器是否支援你的裝置"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"充電速度太慢或未充電，請檢查充電線和電源變壓器是否支援你的平板電腦"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"你的手機可能正在緩慢充電或未充電。如要快速充電，請使用建議的傳輸線和變壓器。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"你的裝置可能正在緩慢充電或未充電。如要快速充電，請使用建議的傳輸線和變壓器。"</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"你的平板電腦可能正在緩慢充電或未充電。如要快速充電，請使用建議的傳輸線和變壓器。"</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"不必解鎖手機"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"不必解鎖平板電腦"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"在手機轉成直向或橫向時自動旋轉畫面"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"在平板電腦轉成直向或橫向時自動旋轉畫面"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"在平板電腦轉成直向或橫向時自動旋轉畫面"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"調整手機的顏色顯示方式"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"調整平板電腦的顏色顯示方式"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"手機喇叭"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"平板電腦喇叭"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"裝置喇叭"</string>
 </resources>
diff --git a/res-product/values-zu/strings.xml b/res-product/values-zu/strings.xml
index 8919f2d..e4c0010 100644
--- a/res-product/values-zu/strings.xml
+++ b/res-product/values-zu/strings.xml
@@ -347,11 +347,16 @@
     <string name="lockpassword_confirm_your_password_details_frp" product="default" msgid="1465326741724776281">"Ifoni yakho isethwe kabusha kumasethingi asekuqaleni. Ukusebenzisa le foni, sicela ufake iphasiwedi yakho yangaphambilini."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="tablet" msgid="1333164951750797865">"Ithebulethi yakho isethwe kabusha kumasethingi asekuqaleni. Ukuze usebenzise le thebulethi, faka iphasiwedi yakho yangaphambilini."</string>
     <string name="lockpassword_confirm_your_password_details_frp" product="device" msgid="116667646012224967">"Idivayisi yakho isethwe kabusha kumasethingi asekuqaleni. Ukuze usebenzise le divayisi, faka iphasiwedi yakho yangaphambilini."</string>
-    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5315451445653379744">"Ibhethri lishaja kancane noma ngeke lishaje. Hlola ukuthi ikhebuli ne-adaptha yamandla ziyasebenza yini ngefoni yakho"</string>
-    <string name="battery_tip_incompatible_charging_message" product="device" msgid="7265524281090787927">"Ibhethri lishaja kancane noma ngeke lishaje. Hlola ukuthi ikhebuli ne-adaptha yamandla ziyasebenza yini ngefoni yakho"</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="174383022413708569">"Ibhethri lishaja kancane noma ngeke lishaje. Hlola ukuthi ikhebuli ne-adaptha yamandla ziyasebenza yini ngefoni yakho"</string>
+    <string name="battery_tip_incompatible_charging_message" product="default" msgid="5097154279720383707">"Ifoni yakho kungenzeka ishaja kancane noma ayishaji. Ukuze ushaje ngokushesha, sebenzisa ikhebula ne-adaptha enconyiwe."</string>
+    <string name="battery_tip_incompatible_charging_message" product="device" msgid="4208335872169818919">"Icebo lakho ishaja kancane noma ayishaji. Ukuze ushaje ngokushesha, sebenzisa ikhebula ne-adaptha enconyiwe."</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet" msgid="5697523201841444736">"Ithebhulethi yakho kungenzeka ishaja kancane noma ayishaji. Ukuze ushaje ngokushesha, sebenzisa ikhebula ne-adaptha enconyiwe."</string>
     <string name="lockscreen_trivial_controls_summary" product="default" msgid="42562533085885152">"Ngaphandle kokuvula ifoni yakho"</string>
     <string name="lockscreen_trivial_controls_summary" product="tablet" msgid="9052068482124729345">"Ngaphandle kokuvula ithebulethi yakho"</string>
     <string name="auto_rotate_summary_a11y" product="default" msgid="2813368383309985185">"Uma uhambisa ifoni yakho phakathi kokuma ngobude nokuvundla"</string>
-    <string name="auto_rotate_summary_a11y" product="tabled" msgid="4708833814245913981">"Uma uhambisa ithebulethi yakho phakathi kokuma ngobude nokuvundla"</string>
+    <string name="auto_rotate_summary_a11y" product="tablet" msgid="4708833814245913981">"Uma uhambisa ithebulethi yakho phakathi kokuma ngobude nokuvundla"</string>
+    <string name="daltonizer_feature_summary" product="default" msgid="3940653889277283702">"Lungisa indlela imibala ebonisa ngayo efonini yakho"</string>
+    <string name="daltonizer_feature_summary" product="tablet" msgid="4006596881671077623">"Lungisa indlela imibala ebonisa ngayo kuthebulethi yakho"</string>
+    <string name="spatial_audio_speaker" product="default" msgid="7148176677982615792">"izipikha zefoni"</string>
+    <string name="spatial_audio_speaker" product="tablet" msgid="5452617980485166854">"Izipikha zethebhulethi"</string>
+    <string name="spatial_audio_speaker" product="device" msgid="6204289590128303795">"Izipikha zedivayisi"</string>
 </resources>
diff --git a/res-product/values/strings.xml b/res-product/values/strings.xml
index dd2af3f..c9dc248 100644
--- a/res-product/values/strings.xml
+++ b/res-product/values/strings.xml
@@ -719,9 +719,9 @@
     <!-- An explanation text that the password needs to be solved because the device was factory reset. [CHAR LIMIT=100] -->
     <string name="lockpassword_confirm_your_password_details_frp" product="device">Your device was reset to factory settings. To use this device, enter your previous password.</string>
     <!-- Message of incompatible charging battery tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_incompatible_charging_message" product="default">Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your phone</string>
-    <string name="battery_tip_incompatible_charging_message" product="device">Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your device</string>
-    <string name="battery_tip_incompatible_charging_message" product="tablet">Battery charging slowly or won\'t charge. Check if the cable and power adapter work with your tablet</string>
+    <string name="battery_tip_incompatible_charging_message" product="default">Your phone may be charging slowly or not charging. For faster charging, use a recommended cable and adapter.</string>
+    <string name="battery_tip_incompatible_charging_message" product="device">Your device may be charging slowly or not charging. For faster charging, use a recommended cable and adapter.</string>
+    <string name="battery_tip_incompatible_charging_message" product="tablet">Your tablet may be charging slowly or not charging. For faster charging, use a recommended cable and adapter.</string>
 
     <!-- Description for using device controls feature with a locked phone [CHAR LIMIT=NONE] -->
     <string name="lockscreen_trivial_controls_summary" product="default">Without unlocking your phone</string>
@@ -731,6 +731,18 @@
     <!-- Accessibility summary text for auto rotate [CHAR LIMIT=NONE] -->
     <string name="auto_rotate_summary_a11y" product="default">When you move your phone between portrait and landscape</string>
     <!-- Accessibility summary text for auto rotate [CHAR LIMIT=NONE] -->
-    <string name="auto_rotate_summary_a11y" product="tabled">When you move your tablet between portrait and landscape</string>
+    <string name="auto_rotate_summary_a11y" product="tablet">When you move your tablet between portrait and landscape</string>
 
+
+    <!-- The daltonizer feature summary display as a subtext as an item in a list. -->
+    <string name="daltonizer_feature_summary" product="default">Adjust how colors display on your phone</string>
+    <!-- The daltonizer feature summary display as a subtext as an item in a list. -->
+    <string name="daltonizer_feature_summary" product="tablet">Adjust how colors display on your tablet</string>
+
+    <!-- Output device type for the phone speaker that is available for spatializer effect. [CHAR LIMIT=NONE]-->
+    <string name="spatial_audio_speaker" product="default">Phone speakers</string>
+    <!-- Output device type for the phone speaker that is available for spatializer effect. [CHAR LIMIT=NONE]-->
+    <string name="spatial_audio_speaker" product="tablet">Tablet speakers</string>
+    <!-- Output device type for the phone speaker that is available for spatializer effect. [CHAR LIMIT=NONE]-->
+    <string name="spatial_audio_speaker" product="device">Device speakers</string>
 </resources>
diff --git a/res/color/color_battery_anomaly_app_warning_selector.xml b/res/color/color_battery_anomaly_app_warning_selector.xml
new file mode 100644
index 0000000..4ad78e6
--- /dev/null
+++ b/res/color/color_battery_anomaly_app_warning_selector.xml
@@ -0,0 +1,18 @@
+<?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.
+-->
+<selector xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:color="@color/power_anomaly_app_warning_hint_color"/>
+</selector>
diff --git a/res/color/color_battery_anomaly_yellow_selector.xml b/res/color/color_battery_anomaly_yellow_selector.xml
deleted file mode 100644
index 0dd79c2..0000000
--- a/res/color/color_battery_anomaly_yellow_selector.xml
+++ /dev/null
@@ -1,18 +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.
--->
-<selector xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:color="@color/palette_list_color_yellow"/>
-</selector>
diff --git a/res/drawable-night/content_protection_preference_illustration.xml b/res/drawable-night/content_protection_preference_illustration.xml
new file mode 100644
index 0000000..ebc7423
--- /dev/null
+++ b/res/drawable-night/content_protection_preference_illustration.xml
@@ -0,0 +1,95 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
+    android:viewportWidth="412"
+    android:viewportHeight="300"
+    android:width="412dp"
+    android:height="300dp">
+    <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="#000000" />
+    <path
+        android:pathData="M99.9008 50.3984C99.9132 46.1588 101.603 42.0963 104.601 39.0984C107.599 36.1005 111.661 34.4108 115.901 34.3984H299.601C303.84 34.4109 307.903 36.1005 310.901 39.0984C313.899 42.0963 315.588 46.1588 315.601 50.3984V299.598H319.601V237.998C319.601 237.998 319.601 234.102 319.601 233.998C319.601 233.998 319.598 231.058 319.601 229.998V198.098C319.598 197.039 319.601 194.098 319.601 194.098V190.098V158.198V154.198C319.601 154.198 319.598 151.258 319.601 150.198V142.198C319.598 141.139 319.601 138.198 319.601 138.198C319.601 135.602 319.601 134.198 319.601 134.198V50.3984C319.602 47.7718 319.085 45.1707 318.08 42.7439C317.075 40.3171 315.602 38.112 313.745 36.2547C311.887 34.3974 309.682 32.9242 307.255 31.9194C304.828 30.9145 302.227 30.3977 299.601 30.3984H115.801C113.174 30.3977 110.573 30.9145 108.146 31.9194C105.719 32.9242 103.514 34.3974 101.657 36.2547C99.7997 38.112 98.3265 40.3171 97.3217 42.7439C96.3169 45.1707 95.8001 47.7718 95.8008 50.3984V299.598H99.8008L99.9008 50.3984Z"
+        android:fillColor="#80868B" />
+    <path
+        android:pathData="M187.295 139.133C190.34 137.043 193.361 135.44 196.358 134.323C199.354 133.207 202.568 132.649 206 132.649C209.432 132.649 212.658 133.207 215.679 134.323C218.7 135.44 221.733 137.043 224.778 139.133C226.904 136.568 228.415 133.979 229.309 131.367C230.203 128.754 230.65 125.999 230.65 123.102C230.65 116.214 228.294 110.455 223.581 105.823C218.869 101.192 213.008 98.8766 206 98.8766C198.992 98.8766 193.131 101.192 188.419 105.823C183.706 110.455 181.35 116.214 181.35 123.102C181.35 125.999 181.809 128.754 182.727 131.367C183.646 133.979 185.168 136.568 187.295 139.133ZM205.987 125.239C203.192 125.239 200.84 124.297 198.931 122.411C197.022 120.526 196.068 118.211 196.068 115.465C196.068 112.718 197.027 110.407 198.945 108.531C200.863 106.655 203.219 105.717 206.013 105.717C208.808 105.717 211.16 106.659 213.069 108.544C214.978 110.429 215.932 112.745 215.932 115.491C215.932 118.237 214.973 120.548 213.055 122.425C211.137 124.301 208.781 125.239 205.987 125.239ZM206.034 151.602C202.048 151.602 198.291 150.853 194.763 149.357C191.234 147.861 188.153 145.818 185.519 143.23C182.885 140.641 180.806 137.618 179.284 134.162C177.761 130.706 177 127.012 177 123.083C177 119.153 177.761 115.466 179.284 112.022C180.806 108.578 182.885 105.562 185.519 102.973C188.153 100.385 191.229 98.3422 194.746 96.8459C198.263 95.3497 202.02 94.6016 206.019 94.6016C210.018 94.6016 213.77 95.3497 217.274 96.8459C220.778 98.3422 223.847 100.385 226.481 102.973C229.115 105.562 231.194 108.579 232.716 112.024C234.239 115.47 235 119.151 235 123.068C235 126.985 234.239 130.678 232.716 134.145C231.194 137.613 229.115 140.641 226.481 143.23C223.847 145.818 220.777 147.861 217.271 149.357C213.766 150.853 210.02 151.602 206.034 151.602Z"
+        android:fillColor="#CE4237" />
+    <path
+        android:pathData="M179 161.602H193V168.602H179V161.602Z"
+        android:fillColor="#FAD2CF" />
+    <path
+        android:pathData="M198 161.602H233V168.602H198V161.602Z"
+        android:fillColor="#CE4237" />
+    <path
+        android:pathData="M179 178.602H193V185.602H179V178.602Z"
+        android:fillColor="#FAD2CF" />
+    <path
+        android:pathData="M198 178.602H233V185.602H198V178.602Z"
+        android:fillColor="#CE4237" />
+    <path
+        android:pathData="M190 196.602H222V208.602H190V196.602Z"
+        android:fillColor="#FAD2CF" />
+    <path
+        android:pathData="M328.122 273.468L260.34 209.633L265.206 204.5L332.988 268.335L328.122 273.468Z"
+        android:fillType="evenOdd"
+        android:fillColor="#D2E3FC"
+        android:strokeColor="#D2E3FC"
+        android:strokeWidth="4"
+        android:strokeMiterLimit="10" />
+    <path
+        android:pathData="M332.506 289.4L275.852 236.043L292.078 218.93L348.732 272.287L332.506 289.4Z"
+        android:fillType="evenOdd"
+        android:fillColor="#5F6368" />
+    <path
+        android:pathData="M197.901 78.1597C157.127 82.8442 127.883 119.586 132.583 160.225C137.283 200.864 174.147 230.01 214.922 225.326C255.696 220.641 284.94 183.9 280.24 143.261C275.54 102.622 238.676 73.4752 197.901 78.1597ZM125.543 161.033C120.395 116.519 152.427 76.2741 197.09 71.1429C241.753 66.0116 282.132 97.9372 287.28 142.452C292.428 186.966 260.396 227.211 215.733 232.342C171.07 237.474 130.691 205.548 125.543 161.033Z"
+        android:fillType="evenOdd"
+        android:fillColor="#E8F0FE"
+        android:strokeColor="#E8F0FE"
+        android:strokeWidth="4"
+        android:strokeMiterLimit="10" />
+    <path
+        android:pathData="M304.503 154.91C327.804 154.91 346.693 136.068 346.693 112.826C346.693 89.5837 327.804 70.7422 304.503 70.7422C281.202 70.7422 262.312 89.5837 262.312 112.826C262.312 136.068 281.202 154.91 304.503 154.91Z"
+        android:fillColor="#000000" />
+    <path
+        android:pathData="M262.922 112.994C262.922 90.0243 281.615 71.5239 304.5 71.5239C327.385 71.5239 346.078 90.0243 346.078 112.994C346.078 135.966 327.536 154.464 304.5 154.464C281.464 154.464 262.922 135.966 262.922 112.994ZM269.639 112.842C269.639 131.957 285.342 147.617 304.5 147.617C323.656 147.617 339.361 132.112 339.361 112.842C339.361 93.7262 323.658 78.0663 304.5 78.0663C285.342 78.0663 269.639 93.7262 269.639 112.842Z"
+        android:fillColor="#669DF6"
+        android:strokeColor="#000000"
+        android:strokeWidth="1.84466" />
+    <path
+        android:pathData="M28.3587 77.319C31.3183 77.319 33.7175 74.9199 33.7175 71.9603C33.7175 69.0008 31.3183 66.6016 28.3587 66.6016C25.3992 66.6016 23 69.0008 23 71.9603C23 74.9199 25.3992 77.319 28.3587 77.319Z"
+        android:fillColor="#3C4043" />
+    <path
+        android:pathData="M73.455 148.202L66.4212 142.11C65.2517 141.166 63.437 141.804 63.1422 143.301L61.447 152.355C61.1523 153.853 62.6155 155.069 64.0854 154.657L72.8087 151.553C74.2785 151.142 74.63 149.288 73.455 148.202L66.4212 142.11C65.2517 141.166 63.437 141.804 63.1422 143.301L61.447 152.355C61.1523 153.853 62.6155 155.069 64.0854 154.657L72.8087 151.553C74.2785 151.142 74.63 149.288 73.455 148.202Z"
+        android:fillColor="#3C4043" />
+    <path
+        android:pathData="M355.172 221.081L361.415 214.181C362.385 213.032 361.786 211.204 360.295 210.877L351.28 208.986C349.789 208.658 348.542 210.095 348.922 211.573L351.835 220.362C352.215 221.84 354.061 222.232 355.172 221.081L361.415 214.181C362.385 213.032 361.786 211.204 360.295 210.877L351.28 208.986C349.789 208.658 348.542 210.095 348.922 211.573L351.835 220.362C352.215 221.84 354.061 222.232 355.172 221.081Z"
+        android:fillColor="#3C4043" />
+    <path
+        android:pathData="M375.237 77.1385C372.737 78.5385 369.537 77.5385 368.237 75.0385L365.637 70.2385C364.237 67.7385 365.237 64.5385 367.737 63.2385C370.237 61.8385 373.437 62.8385 374.737 65.3385L377.337 70.1385C378.637 72.6385 377.737 75.7385 375.237 77.1385Z"
+        android:fillColor="#3C4043" />
+    <path
+        android:pathData="M43.8011 251.431C42.1248 249.107 42.7529 245.814 45.0882 244.237L49.56 241.106C51.8838 239.43 55.177 240.058 56.754 242.393C58.4302 244.717 57.8021 248.01 55.4668 249.587L50.9951 252.718C48.6598 254.295 45.4773 253.755 43.8011 251.431Z"
+        android:fillColor="#3C4043" />
+    <path
+        android:pathData="M326.336 96.4466C326.336 94.6064 325.189 92.9795 323.456 92.3394L306.496 86.2053C305.536 85.8586 304.496 85.8586 303.536 86.2053L286.55 92.3394C284.817 92.9795 283.67 94.6064 283.67 96.4466V108.128C283.723 110.128 283.857 112.049 284.123 114.049C285.377 122.53 290.176 132.158 303.323 138.879C304.363 139.412 305.616 139.412 306.656 138.879C319.803 132.131 324.602 122.53 325.856 114.049C326.122 112.075 326.282 110.128 326.309 108.128V96.4466H326.336Z"
+        android:fillColor="#2F59D9" />
+    <path
+        android:pathData="M302.467 109.557C302.467 109.557 302.334 109.45 302.281 109.424C301.934 109.21 301.907 109.21 302.467 109.557Z"
+        android:fillColor="#000000" />
+    <path
+        android:pathData="M323.448 92.3394L306.489 86.2053C305.529 85.8586 304.489 85.8586 303.529 86.2053L302.862 86.4454C301.609 86.9521 300.062 87.8055 298.729 89.2991C296.942 91.2993 295.822 94.073 295.822 97.6468C295.822 97.7001 295.822 97.7268 295.822 97.7801C295.822 98.3402 295.902 101.301 297.662 104.474C299.156 107.141 301.102 108.661 302.275 109.462C303.315 110.128 307.422 112.742 308.969 113.942C311.235 115.729 312.915 117.116 314.169 119.49C316.435 123.703 315.635 127.944 315.529 128.557C314.649 133.011 311.742 135.705 310.089 136.958C320.648 130.398 324.728 121.756 325.875 114.076C326.142 112.102 326.302 110.155 326.328 108.155V96.4466C326.328 94.6064 325.182 92.9795 323.448 92.3394Z"
+        android:fillColor="#6792F8" />
+</vector>
diff --git a/res/drawable-nodpi/gesture_ambient_wake_screen.png b/res/drawable-nodpi/gesture_ambient_wake_screen.png
deleted file mode 100644
index 1914264..0000000
--- a/res/drawable-nodpi/gesture_ambient_wake_screen.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable-nodpi/gesture_assist.png b/res/drawable-nodpi/gesture_assist.png
deleted file mode 100644
index 1914264..0000000
--- a/res/drawable-nodpi/gesture_assist.png
+++ /dev/null
Binary files differ
diff --git a/res/drawable/accessibility_text_reading_preview.xml b/res/drawable/accessibility_text_reading_preview.xml
index 040ccdf..1c9e752 100644
--- a/res/drawable/accessibility_text_reading_preview.xml
+++ b/res/drawable/accessibility_text_reading_preview.xml
@@ -20,5 +20,5 @@
     android:shape="rectangle">
 
     <corners android:radius="28dp" />
-    <solid android:color="?androidprv:attr/materialColorSurfaceContainer" />
+    <solid android:color="@color/accessibility_text_reading_background" />
 </shape>
diff --git a/res/drawable/audio_sharing_guidance.png b/res/drawable/audio_sharing_guidance.png
new file mode 100644
index 0000000..c0ab637
--- /dev/null
+++ b/res/drawable/audio_sharing_guidance.png
Binary files differ
diff --git a/res/drawable/audio_sharing_rounded_bg.xml b/res/drawable/audio_sharing_rounded_bg.xml
new file mode 100644
index 0000000..db1e1bb
--- /dev/null
+++ b/res/drawable/audio_sharing_rounded_bg.xml
@@ -0,0 +1,22 @@
+<?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="?android:colorButtonNormal" />
+    <corners android:radius="12dp" />
+</shape>
\ No newline at end of file
diff --git a/res/drawable/audio_sharing_rounded_bg_ripple.xml b/res/drawable/audio_sharing_rounded_bg_ripple.xml
new file mode 100644
index 0000000..18696c6
--- /dev/null
+++ b/res/drawable/audio_sharing_rounded_bg_ripple.xml
@@ -0,0 +1,21 @@
+<?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/audio_sharing_rounded_bg"/>
+</ripple>
\ No newline at end of file
diff --git a/res/drawable/battery_hints_chip_bg.xml b/res/drawable/battery_hints_chip_bg.xml
index e7d1d0f..c2b662c 100644
--- a/res/drawable/battery_hints_chip_bg.xml
+++ b/res/drawable/battery_hints_chip_bg.xml
@@ -16,7 +16,8 @@
   -->
 
 <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="@color/settingslib_dialog_background" />
+    <solid android:color="?androidprv:attr/materialColorPrimaryContainer" />
     <corners android:radius="@dimen/battery_hints_chip_corner_radius" />
 </shape>
\ No newline at end of file
diff --git a/res/drawable/content_protection_preference_illustration.xml b/res/drawable/content_protection_preference_illustration.xml
new file mode 100644
index 0000000..1083c1f
--- /dev/null
+++ b/res/drawable/content_protection_preference_illustration.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+Copyright (C) 2015 The Android Open Source Project
+
+   Licensed under the Apache License, Version 2.0 (the "License");
+    you may not use this file except in compliance with the License.
+    You may obtain a copy of the License at
+
+         http://www.apache.org/licenses/LICENSE-2.0
+
+    Unless required by applicable law or agreed to in writing, software
+    distributed under the License is distributed on an "AS IS" BASIS,
+    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+    See the License for the specific language governing permissions and
+    limitations under the License.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"
+    android:viewportWidth="412"
+    android:viewportHeight="300"
+    android:width="412dp"
+    android:height="300dp">
+    <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="#FFFFFF" />
+    <path
+        android:pathData="M99.9008 50.3984C99.9132 46.1588 101.603 42.0963 104.601 39.0984C107.599 36.1005 111.661 34.4108 115.901 34.3984H299.601C303.84 34.4109 307.903 36.1005 310.901 39.0984C313.899 42.0963 315.588 46.1588 315.601 50.3984V299.598H319.601V237.998C319.601 237.998 319.601 234.102 319.601 233.998C319.601 233.998 319.598 231.058 319.601 229.998V198.098C319.598 197.039 319.601 194.098 319.601 194.098V190.098V158.198V154.198C319.601 154.198 319.598 151.258 319.601 150.198V142.198C319.598 141.139 319.601 138.198 319.601 138.198C319.601 135.602 319.601 134.198 319.601 134.198V50.3984C319.602 47.7718 319.085 45.1707 318.08 42.7439C317.075 40.3171 315.602 38.112 313.745 36.2547C311.887 34.3974 309.682 32.9242 307.255 31.9194C304.828 30.9145 302.227 30.3977 299.601 30.3984H115.801C113.174 30.3977 110.573 30.9145 108.146 31.9194C105.719 32.9242 103.514 34.3974 101.657 36.2547C99.7997 38.112 98.3265 40.3171 97.3217 42.7439C96.3169 45.1707 95.8001 47.7718 95.8008 50.3984V299.598H99.8008L99.9008 50.3984Z"
+        android:fillColor="#DADCE0" />
+    <path
+        android:pathData="M187.295 139.133C190.34 137.043 193.361 135.44 196.358 134.323C199.354 133.207 202.568 132.649 206 132.649C209.432 132.649 212.658 133.207 215.679 134.323C218.7 135.44 221.733 137.043 224.778 139.133C226.904 136.568 228.415 133.979 229.309 131.367C230.203 128.754 230.65 125.999 230.65 123.102C230.65 116.214 228.294 110.455 223.581 105.823C218.869 101.192 213.008 98.8766 206 98.8766C198.992 98.8766 193.131 101.192 188.419 105.823C183.706 110.455 181.35 116.214 181.35 123.102C181.35 125.999 181.809 128.754 182.727 131.367C183.646 133.979 185.168 136.568 187.295 139.133ZM205.987 125.239C203.192 125.239 200.84 124.297 198.931 122.411C197.022 120.526 196.068 118.211 196.068 115.465C196.068 112.718 197.027 110.407 198.945 108.531C200.863 106.655 203.219 105.717 206.013 105.717C208.808 105.717 211.16 106.659 213.069 108.544C214.978 110.429 215.932 112.745 215.932 115.491C215.932 118.237 214.973 120.548 213.055 122.425C211.137 124.301 208.781 125.239 205.987 125.239ZM206.034 151.602C202.048 151.602 198.291 150.853 194.763 149.357C191.234 147.861 188.153 145.818 185.519 143.23C182.885 140.641 180.806 137.618 179.284 134.162C177.761 130.706 177 127.012 177 123.083C177 119.153 177.761 115.466 179.284 112.022C180.806 108.578 182.885 105.562 185.519 102.973C188.153 100.385 191.229 98.3422 194.746 96.8459C198.263 95.3497 202.02 94.6016 206.019 94.6016C210.018 94.6016 213.77 95.3497 217.274 96.8459C220.778 98.3422 223.847 100.385 226.481 102.973C229.115 105.562 231.194 108.579 232.716 112.024C234.239 115.47 235 119.151 235 123.068C235 126.985 234.239 130.678 232.716 134.145C231.194 137.613 229.115 140.641 226.481 143.23C223.847 145.818 220.777 147.861 217.271 149.357C213.766 150.853 210.02 151.602 206.034 151.602Z"
+        android:fillColor="#D93025" />
+    <path
+        android:pathData="M179 161.602H193V168.602H179V161.602Z"
+        android:fillColor="#EE675C" />
+    <path
+        android:pathData="M198 161.602H233V168.602H198V161.602Z"
+        android:fillColor="#D93025" />
+    <path
+        android:pathData="M179 178.602H193V185.602H179V178.602Z"
+        android:fillColor="#EE675C" />
+    <path
+        android:pathData="M198 178.602H233V185.602H198V178.602Z"
+        android:fillColor="#D93025" />
+    <path
+        android:pathData="M190 196.602H222V208.602H190V196.602Z"
+        android:fillColor="#EE675C" />
+    <path
+        android:pathData="M328.122 273.468L260.34 209.633L265.206 204.5L332.988 268.335L328.122 273.468Z"
+        android:fillType="evenOdd"
+        android:fillColor="#8AB4F8"
+        android:strokeColor="#8AB4F8"
+        android:strokeWidth="4"
+        android:strokeMiterLimit="10" />
+    <path
+        android:pathData="M332.506 289.4L275.852 236.043L292.078 218.93L348.732 272.287L332.506 289.4Z"
+        android:fillType="evenOdd"
+        android:fillColor="#BDC1C6" />
+    <path
+        android:pathData="M197.901 78.1597C157.127 82.8442 127.883 119.586 132.583 160.225C137.283 200.864 174.147 230.01 214.922 225.326C255.696 220.641 284.94 183.9 280.24 143.261C275.54 102.622 238.676 73.4752 197.901 78.1597ZM125.543 161.033C120.395 116.519 152.427 76.2741 197.09 71.1429C241.753 66.0116 282.132 97.9372 287.28 142.452C292.428 186.966 260.396 227.211 215.733 232.342C171.07 237.474 130.691 205.548 125.543 161.033Z"
+        android:fillType="evenOdd"
+        android:fillColor="#8AB4F8"
+        android:strokeColor="#8AB4F8"
+        android:strokeWidth="4"
+        android:strokeMiterLimit="10" />
+    <path
+        android:pathData="M28.3587 77.319C31.3183 77.319 33.7175 74.9199 33.7175 71.9603C33.7175 69.0008 31.3183 66.6016 28.3587 66.6016C25.3992 66.6016 23 69.0008 23 71.9603C23 74.9199 25.3992 77.319 28.3587 77.319Z"
+        android:fillColor="#E8EAED" />
+    <path
+        android:pathData="M73.455 148.202L66.4212 142.11C65.2517 141.166 63.437 141.804 63.1422 143.301L61.447 152.355C61.1523 153.853 62.6155 155.069 64.0854 154.657L72.8087 151.553C74.2785 151.142 74.63 149.288 73.455 148.202L66.4212 142.11C65.2517 141.166 63.437 141.804 63.1422 143.301L61.447 152.355C61.1523 153.853 62.6155 155.069 64.0854 154.657L72.8087 151.553C74.2785 151.142 74.63 149.288 73.455 148.202Z"
+        android:fillColor="#E8EAED" />
+    <path
+        android:pathData="M355.172 221.081L361.415 214.181C362.385 213.032 361.786 211.204 360.295 210.877L351.28 208.986C349.789 208.658 348.542 210.095 348.922 211.573L351.835 220.362C352.215 221.84 354.061 222.232 355.172 221.081L361.415 214.181C362.385 213.032 361.786 211.204 360.295 210.877L351.28 208.986C349.789 208.658 348.542 210.095 348.922 211.573L351.835 220.362C352.215 221.84 354.061 222.232 355.172 221.081Z"
+        android:fillColor="#E8EAED" />
+    <path
+        android:pathData="M375.237 77.1385C372.737 78.5385 369.537 77.5385 368.237 75.0385L365.637 70.2385C364.237 67.7385 365.237 64.5385 367.737 63.2385C370.237 61.8385 373.437 62.8385 374.737 65.3385L377.337 70.1385C378.637 72.6385 377.737 75.7385 375.237 77.1385Z"
+        android:fillColor="#E8EAED" />
+    <path
+        android:pathData="M43.8011 251.431C42.1248 249.107 42.7529 245.814 45.0882 244.237L49.56 241.106C51.8838 239.43 55.177 240.058 56.754 242.393C58.4302 244.717 57.8021 248.01 55.4668 249.587L50.9951 252.718C48.6598 254.295 45.4773 253.755 43.8011 251.431Z"
+        android:fillColor="#E8EAED" />
+    <path
+        android:pathData="M304.503 154.91C327.804 154.91 346.693 136.068 346.693 112.826C346.693 89.5837 327.804 70.7422 304.503 70.7422C281.202 70.7422 262.312 89.5837 262.312 112.826C262.312 136.068 281.202 154.91 304.503 154.91Z"
+        android:fillColor="#FFFFFF" />
+    <path
+        android:pathData="M262.922 112.994C262.922 90.0243 281.615 71.5239 304.5 71.5239C327.385 71.5239 346.078 90.0243 346.078 112.994C346.078 135.966 327.536 154.464 304.5 154.464C281.464 154.464 262.922 135.966 262.922 112.994ZM269.639 112.842C269.639 131.957 285.342 147.617 304.5 147.617C323.656 147.617 339.361 132.112 339.361 112.842C339.361 93.7262 323.658 78.0663 304.5 78.0663C285.342 78.0663 269.639 93.7262 269.639 112.842Z"
+        android:fillColor="#1A73E8"
+        android:strokeColor="#FFFFFF"
+        android:strokeWidth="1.84466" />
+    <path
+        android:pathData="M326.331 96.8293C326.331 94.9891 325.184 93.3623 323.451 92.7222L306.491 86.5882C305.531 86.2414 304.491 86.2414 303.531 86.5882L286.544 92.7222C284.811 93.3623 283.664 94.9891 283.664 96.8293V108.511C283.717 110.511 283.851 112.431 284.117 114.431C285.371 122.912 290.171 132.54 303.317 139.261C304.357 139.794 305.611 139.794 306.651 139.261C319.797 132.513 324.597 122.912 325.851 114.431C326.117 112.458 326.277 110.511 326.304 108.511V96.8293H326.331Z"
+        android:fillColor="#224FB4" />
+    <path
+        android:pathData="M302.469 109.955C302.469 109.955 302.336 109.849 302.283 109.822C301.936 109.609 301.909 109.609 302.469 109.955Z"
+        android:fillColor="#000000" />
+    <path
+        android:pathData="M323.451 92.7222L306.491 86.5882C305.531 86.2414 304.491 86.2414 303.531 86.5882L302.864 86.8282C301.611 87.3349 300.064 88.1883 298.731 89.6818C296.944 91.6821 295.824 94.4557 295.824 98.0294C295.824 98.0828 295.824 98.1095 295.824 98.1628C295.824 98.7229 295.904 101.683 297.664 104.857C299.158 107.524 301.104 109.044 302.278 109.844C303.318 110.511 307.424 113.124 308.971 114.325C311.238 116.111 312.918 117.498 314.171 119.872C316.438 124.086 315.638 128.326 315.531 128.94C314.651 133.393 311.744 136.087 310.091 137.341C320.651 130.78 324.731 122.139 325.878 114.458C326.144 112.484 326.304 110.538 326.331 108.537V96.8293C326.331 94.9891 325.184 93.3623 323.451 92.7222Z"
+        android:fillColor="#578BFF" />
+</vector>
diff --git a/res/drawable/counter_1_24dp.xml b/res/drawable/counter_1_24dp.xml
new file mode 100644
index 0000000..4fcf1af
--- /dev/null
+++ b/res/drawable/counter_1_24dp.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="?android:attr/colorAccent"
+      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,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM460,680L540,680L540,280L380,280L380,360L460,360L460,680Z"/>
+</vector>
diff --git a/res/drawable/counter_2_24dp.xml b/res/drawable/counter_2_24dp.xml
new file mode 100644
index 0000000..27d63cb
--- /dev/null
+++ b/res/drawable/counter_2_24dp.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="?android:attr/colorAccent"
+      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,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM360,680L600,680L600,600L440,600L440,520Q440,520 440,520Q440,520 440,520L520,520Q553,520 576.5,496.5Q600,473 600,440L600,360Q600,327 576.5,303.5Q553,280 520,280L360,280L360,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L440,440Q407,440 383.5,463.5Q360,487 360,520L360,680Z"/>
+</vector>
diff --git a/res/drawable/counter_3_24dp.xml b/res/drawable/counter_3_24dp.xml
new file mode 100644
index 0000000..5795f84
--- /dev/null
+++ b/res/drawable/counter_3_24dp.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="?android:attr/colorAccent"
+      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,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480ZM360,680L520,680Q553,680 576.5,656.5Q600,633 600,600L600,540Q600,514 583,497Q566,480 540,480Q566,480 583,463Q600,446 600,420L600,360Q600,327 576.5,303.5Q553,280 520,280L360,280L360,360L520,360Q520,360 520,360Q520,360 520,360L520,440Q520,440 520,440Q520,440 520,440L440,440L440,520L520,520Q520,520 520,520Q520,520 520,520L520,600Q520,600 520,600Q520,600 520,600L360,600L360,680Z"/>
+</vector>
diff --git a/res/drawable/ic_audio_calls_and_alarms.xml b/res/drawable/ic_audio_calls_and_alarms.xml
new file mode 100644
index 0000000..5da27c6
--- /dev/null
+++ b/res/drawable/ic_audio_calls_and_alarms.xml
@@ -0,0 +1,32 @@
+<!--
+  Copyright (C) 2018 The Android Open Source Project
+
+  Licensed under the Apache License, Version 2.0 (the "License");
+  you may not use this file except in compliance with the License.
+  You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+
+  Unless required by applicable law or agreed to in writing, software
+  distributed under the License is distributed on an "AS IS" BASIS,
+  WITHOUT 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:pathData="M3,15V9H7L12,4V20L7,15H3ZM10,15.17V8.83L7.83,11H5V13H7.83L10,15.17Z"
+        android:fillType="evenOdd"
+        android:fillColor="?android:attr/colorPrimary"/>
+    <path
+        android:pathData="M16.5,12C16.5,10.23 15.48,8.71 14,7.97V16.02C15.48,15.29 16.5,13.77 16.5,12Z"
+        android:fillColor="?android:attr/colorPrimary"/>
+    <path
+        android:pathData="M14,3.23V5.29C16.89,6.15 19,8.83 19,12C19,15.17 16.89,17.85 14,18.71V20.77C18.01,19.86 21,16.28 21,12C21,7.72 18.01,4.14 14,3.23Z"
+        android:fillColor="?android:attr/colorPrimary"/>
+</vector>
diff --git a/res/drawable/ic_audio_play_sample.xml b/res/drawable/ic_audio_play_sample.xml
new file mode 100644
index 0000000..3666c22
--- /dev/null
+++ b/res/drawable/ic_audio_play_sample.xml
@@ -0,0 +1,32 @@
+<!--
+  ~ 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="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24"
+    android:tint="?android:attr/colorControlNormal">
+  <path
+      android:pathData="M14,8C9.6,8 6,11.6 6,16H8C8,12.7 10.7,10 14,10V8Z"
+      android:fillColor="#4E4639"/>
+  <path
+      android:pathData="M14,6V4C7.4,4 2,9.4 2,16H4C4,10.5 8.5,6 14,6Z"
+      android:fillColor="#4E4639"/>
+  <path
+      android:pathData="M16,4V12.6C15.4,12.3 14.7,12 14,12C11.8,12 10,13.8 10,16C10,18.2 11.8,20 14,20C16.2,20 18,18.2 18,16V7H22V4H16ZM14,18C12.9,18 12,17.1 12,16C12,14.9 12.9,14 14,14C15.1,14 16,14.9 16,16C16,17.1 15.1,18 14,18Z"
+      android:fillColor="#4E4639"/>
+</vector>
diff --git a/res/drawable/ic_battery_defender_tip_shield.xml b/res/drawable/ic_battery_defender_tip_shield.xml
new file mode 100644
index 0000000..1f1f73a
--- /dev/null
+++ b/res/drawable/ic_battery_defender_tip_shield.xml
@@ -0,0 +1,9 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:pathData="M20,5.64L12,2L4,5.64V11.09C4,16.14 7.41,20.85 12,22C16.59,20.85 20,16.14 20,11.09V5.64Z"
+      android:fillColor="?android:attr/colorAccent"/>
+</vector>
diff --git a/res/drawable/ic_battery_incompatible_charger.xml b/res/drawable/ic_battery_incompatible_charger.xml
new file mode 100644
index 0000000..dd84c07
--- /dev/null
+++ b/res/drawable/ic_battery_incompatible_charger.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="33dp"
+    android:height="33dp"
+    android:viewportWidth="33"
+    android:viewportHeight="33">
+  <path
+      android:pathData="M29.136,29.137L3.864,3.864L1.911,5.803L8.278,12.169C8.278,12.224 8.25,19.938 8.25,19.938L13.063,24.75V28.875H19.938V24.75L20.405,24.283L27.198,31.076L29.136,29.137ZM17.188,23.609V26.125H15.813V23.609L11,18.769V14.878L18.452,22.33L17.188,23.609ZM11,7.109L16.266,12.375H22V18.109L24.282,20.392L24.75,19.924V12.375C24.75,10.863 23.513,9.626 22,9.626V4.126H19.25V9.626H13.75V4.126H11V7.109Z"
+      android:fillColor="?android:attr/colorAccent"/>
+</vector>
diff --git a/res/drawable/ic_battery_tips_lightbulb.xml b/res/drawable/ic_battery_tips_lightbulb.xml
index 6fffefc..19b6ab8 100644
--- a/res/drawable/ic_battery_tips_lightbulb.xml
+++ b/res/drawable/ic_battery_tips_lightbulb.xml
@@ -17,9 +17,9 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="32dp"
     android:height="32dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportWidth="960"
+    android:viewportHeight="960">
     <path
         android:fillColor="@color/color_accent_selector"
-        android:pathData="M7,20h4c0,1.1 -0.9,2 -2,2S7,21.1 7,20zM5,19h8v-2H5V19zM16.5,9.5c0,3.82 -2.66,5.86 -3.77,6.5H5.27C4.16,15.36 1.5,13.32 1.5,9.5C1.5,5.36 4.86,2 9,2S16.5,5.36 16.5,9.5zM14.5,9.5C14.5,6.47 12.03,4 9,4S3.5,6.47 3.5,9.5c0,2.47 1.49,3.89 2.35,4.5h6.3C13.01,13.39 14.5,11.97 14.5,9.5zM21.37,7.37L20,8l1.37,0.63L22,10l0.63,-1.37L24,8l-1.37,-0.63L22,6L21.37,7.37zM19,6l0.94,-2.06L22,3l-2.06,-0.94L19,0l-0.94,2.06L16,3l2.06,0.94L19,6z"/>
+        android:pathData="M176,680Q114,643 77,580Q40,517 40,440Q40,323 121.5,241.5Q203,160 320,160Q437,160 518.5,241.5Q600,323 600,440Q600,517 563,580Q526,643 464,680L176,680ZM200,600L440,600Q478,571 499,529.5Q520,488 520,440Q520,357 461.5,298.5Q403,240 320,240Q237,240 178.5,298.5Q120,357 120,440Q120,488 141,529.5Q162,571 200,600ZM176,800L176,720L464,720L464,800L176,800ZM320,920Q287,920 263.5,896.5Q240,873 240,840L400,840Q400,873 376.5,896.5Q353,920 320,920ZM740,401Q740,326 687,273Q634,220 559,220Q634,220 687,167.5Q740,115 740,40Q740,115 792.5,167.5Q845,220 920,220Q845,220 792.5,273Q740,326 740,401ZM320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600Q320,600 320,600L320,600Z"/>
 </vector>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_tips_warning_icon.xml b/res/drawable/ic_battery_tips_warning_icon.xml
index c5df8a8..0dcfa6d 100644
--- a/res/drawable/ic_battery_tips_warning_icon.xml
+++ b/res/drawable/ic_battery_tips_warning_icon.xml
@@ -17,9 +17,9 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="32dp"
     android:height="32dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportWidth="960"
+    android:viewportHeight="960">
     <path
-        android:fillColor="@color/color_battery_anomaly_yellow_selector"
-        android:pathData="M1,21h22L12,2 1,21zM13,18h-2v-2h2v2zM13,14h-2v-4h2v4z"/>
+        android:fillColor="@color/color_battery_anomaly_app_warning_selector"
+        android:pathData="M40,840L480,80L920,840L40,840ZM178,760L782,760L480,240L178,760ZM480,720Q497,720 508.5,708.5Q520,697 520,680Q520,663 508.5,651.5Q497,640 480,640Q463,640 451.5,651.5Q440,663 440,680Q440,697 451.5,708.5Q463,720 480,720ZM440,600L520,600L520,400L440,400L440,600ZM480,500L480,500L480,500L480,500Z"/>
 </vector>
\ No newline at end of file
diff --git a/res/drawable/ic_battery_uninstalled.xml b/res/drawable/ic_battery_uninstalled.xml
new file mode 100644
index 0000000..2d8ea86
--- /dev/null
+++ b/res/drawable/ic_battery_uninstalled.xml
@@ -0,0 +1,33 @@
+<!--
+  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="24.0dp"
+    android:height="24.0dp"
+    android:tint="@color/battery_usage_system_icon_color"
+    android:viewportWidth="24.0"
+    android:viewportHeight="24.0">
+
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M15,4V3H9v1H4v2h1v13c0,1.1 0.9,2 2,2h10c1.1,0 2,-0.9 2,-2V6h1V4H15zM17,19H7V6h10V19z" />
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M9,8h2v9h-2z" />
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M13,8h2v9h-2z" />
+</vector>
diff --git a/res/drawable/ic_block_24px.xml b/res/drawable/ic_block_24px.xml
new file mode 100644
index 0000000..1c80dc1
--- /dev/null
+++ b/res/drawable/ic_block_24px.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:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?android:attr/colorControlNormal">
+  <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,800Q534,800 584,782.5Q634,765 676,732L228,284Q195,326 177.5,376Q160,426 160,480Q160,614 253,707Q346,800 480,800ZM732,676Q765,634 782.5,584Q800,534 800,480Q800,346 707,253Q614,160 480,160Q426,160 376,177.5Q326,195 284,228L732,676Z"/>
+</vector>
diff --git a/res/drawable/ic_bt_audio_sharing.xml b/res/drawable/ic_bt_audio_sharing.xml
new file mode 100644
index 0000000..6186773
--- /dev/null
+++ b/res/drawable/ic_bt_audio_sharing.xml
@@ -0,0 +1,87 @@
+<!--
+  ~ 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:autoMirrored="true"
+        android:height="24dp"
+        android:width="24dp"
+        android:viewportHeight="24"
+        android:viewportWidth="24"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#000000"
+        android:pathData="M16.984,24H7.279L12.131,15.508L16.984,24ZM10.481,22.144H13.781L12.131,19.257L10.481,22.144Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12.131,14.295C13.471,14.295 14.558,13.209 14.558,11.869C14.558,10.529 13.471,9.442 12.131,9.442C10.791,9.442 9.705,10.529 9.705,11.869C9.705,13.209 10.791,14.295 12.131,14.295Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4.573,21.368C4.052,20.943 3.967,20.179 4.379,19.657C4.804,19.136 5.568,19.051 6.09,19.463C6.611,19.876 6.696,20.64 6.284,21.174C6.041,21.465 5.689,21.623 5.338,21.623C5.071,21.623 4.804,21.538 4.573,21.368Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M17.991,21.162C17.579,20.628 17.663,19.876 18.185,19.451C18.707,19.039 19.471,19.124 19.896,19.646C20.308,20.167 20.223,20.931 19.702,21.344C19.471,21.526 19.204,21.611 18.949,21.611C18.586,21.611 18.234,21.453 17.991,21.162Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M1.213,17.145C0.91,16.551 1.165,15.823 1.771,15.532C2.378,15.241 3.093,15.495 3.397,16.09C3.688,16.697 3.433,17.424 2.827,17.715C2.657,17.8 2.475,17.837 2.305,17.837C1.844,17.837 1.419,17.582 1.213,17.145Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21.449,17.691C20.842,17.4 20.588,16.684 20.879,16.077C21.17,15.471 21.898,15.216 22.504,15.507C23.099,15.798 23.354,16.526 23.062,17.133C22.856,17.557 22.419,17.812 21.971,17.812C21.789,17.812 21.619,17.776 21.449,17.691Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M0,11.892C0,11.225 0.546,10.679 1.213,10.679C1.88,10.679 2.426,11.212 2.426,11.892C2.426,12.559 1.88,13.105 1.213,13.105C0.546,13.105 0,12.559 0,11.892Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21.837,11.869C21.837,11.857 21.837,11.845 21.837,11.833C21.824,11.153 22.37,10.62 23.05,10.607C23.717,10.607 24.251,11.153 24.263,11.821C24.263,11.833 24.263,11.845 24.263,11.845C24.263,11.857 24.263,11.869 24.263,11.869C24.263,12.536 23.717,13.082 23.05,13.082C22.382,13.082 21.837,12.536 21.837,11.869Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M1.759,8.242C1.152,7.963 0.898,7.235 1.189,6.628C1.48,6.022 2.196,5.767 2.802,6.058C3.409,6.349 3.664,7.077 3.372,7.684C3.166,8.108 2.729,8.363 2.281,8.363C2.099,8.363 1.929,8.327 1.759,8.242Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M20.866,7.622C20.563,7.028 20.818,6.3 21.424,6.009C22.019,5.706 22.747,5.96 23.038,6.567C23.038,6.567 23.038,6.567 23.05,6.567C23.341,7.161 23.087,7.889 22.48,8.181C22.31,8.265 22.128,8.302 21.958,8.302C21.509,8.302 21.073,8.059 20.866,7.622Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4.355,4.104C3.931,3.582 4.016,2.818 4.537,2.406C5.071,1.981 5.823,2.066 6.248,2.588C6.672,3.109 6.588,3.874 6.066,4.298C5.835,4.48 5.569,4.565 5.302,4.565C4.95,4.565 4.598,4.407 4.355,4.104Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M18.161,4.262C17.627,3.838 17.542,3.073 17.955,2.552C18.379,2.03 19.132,1.945 19.666,2.358C20.187,2.77 20.272,3.534 19.86,4.068C19.617,4.359 19.265,4.517 18.913,4.517C18.646,4.517 18.379,4.432 18.161,4.262Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M8.492,1.497C8.334,0.854 8.747,0.199 9.402,0.041C10.057,-0.105 10.7,0.308 10.858,0.963C11.003,1.606 10.591,2.261 9.948,2.407C9.851,2.431 9.754,2.443 9.669,2.443C9.123,2.443 8.613,2.067 8.492,1.497Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M14.267,2.395C13.599,2.249 13.199,1.606 13.345,0.951C13.49,0.296 14.133,-0.116 14.788,0.029C15.443,0.175 15.856,0.83 15.71,1.485C15.589,2.043 15.08,2.431 14.534,2.431C14.437,2.431 14.352,2.419 14.267,2.395Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M7,17.037C6.527,16.564 6.527,15.8 7,15.326C7.473,14.841 8.237,14.841 8.71,15.314C9.196,15.787 9.196,16.552 8.723,17.025C8.48,17.267 8.177,17.389 7.861,17.389C7.546,17.389 7.242,17.267 7,17.037Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M15.565,17.012C15.092,16.539 15.092,15.762 15.565,15.289C16.038,14.816 16.814,14.816 17.288,15.289C17.761,15.762 17.761,16.539 17.288,17.012C17.045,17.243 16.742,17.364 16.426,17.364C16.111,17.364 15.807,17.243 15.565,17.012Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4.853,11.917C4.853,11.237 5.386,10.691 6.054,10.691C6.721,10.691 7.279,11.225 7.279,11.892C7.279,12.56 6.745,13.106 6.078,13.118C5.398,13.118 4.853,12.584 4.853,11.917Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M16.984,11.868C16.984,11.856 16.984,11.844 16.984,11.832C16.984,11.832 16.984,11.82 16.984,11.807C16.972,11.14 17.506,10.582 18.185,10.582C18.852,10.57 19.398,11.116 19.41,11.783C19.41,11.795 19.41,11.82 19.41,11.832C19.41,11.844 19.41,11.856 19.41,11.868C19.41,12.535 18.865,13.081 18.197,13.081C17.53,13.081 16.984,12.535 16.984,11.868Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M6.952,8.471C6.478,7.997 6.478,7.233 6.952,6.76C6.952,6.76 6.952,6.76 6.939,6.76C7.413,6.275 8.189,6.275 8.662,6.748C9.135,7.221 9.147,7.985 8.674,8.458C8.432,8.701 8.116,8.822 7.813,8.822C7.497,8.822 7.194,8.701 6.952,8.471Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M15.529,8.399C15.043,7.938 15.043,7.161 15.504,6.688C15.977,6.203 16.742,6.203 17.227,6.664C17.7,7.137 17.712,7.901 17.239,8.387C17.009,8.629 16.693,8.751 16.378,8.751C16.075,8.751 15.759,8.629 15.529,8.399Z"/>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M10.87,5.815C10.858,5.148 11.392,4.59 12.071,4.59C12.738,4.578 13.284,5.124 13.284,5.791C13.296,6.458 12.762,7.016 12.083,7.016C11.416,7.016 10.87,6.483 10.87,5.815Z"/>
+</vector>
diff --git a/res/drawable/ic_check_circle_24px.xml b/res/drawable/ic_check_circle_24px.xml
new file mode 100644
index 0000000..c0fdefb
--- /dev/null
+++ b/res/drawable/ic_check_circle_24px.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:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?attr/colorControlNormal">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M424,664L706,382L650,326L424,552L310,438L254,494L424,664ZM480,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,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
+</vector>
diff --git a/res/drawable/ic_error_red.xml b/res/drawable/ic_error_red.xml
new file mode 100644
index 0000000..d17c85b
--- /dev/null
+++ b/res/drawable/ic_error_red.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ 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="24dp"
+        android:height="24dp"
+        android:viewportWidth="960"
+        android:viewportHeight="960"
+        android:tint="?android:attr/colorError">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M480,680Q497,680 508.5,668.5Q520,657 520,640Q520,623 508.5,611.5Q497,600 480,600Q463,600 451.5,611.5Q440,623 440,640Q440,657 451.5,668.5Q463,680 480,680ZM440,520L520,520L520,280L440,280L440,520ZM480,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,346 707,253Q614,160 480,160Q346,160 253,253Q160,346 160,480Q160,614 253,707Q346,800 480,800ZM480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Q480,480 480,480Z"/>
+</vector>
diff --git a/res/drawable/ic_keyboard_arrow_down.xml b/res/drawable/ic_keyboard_arrow_down.xml
index d72f3df..2ec6575 100644
--- a/res/drawable/ic_keyboard_arrow_down.xml
+++ b/res/drawable/ic_keyboard_arrow_down.xml
@@ -20,6 +20,6 @@
         android:viewportWidth="48"
         android:width="32dp">
     <path
-        android:fillColor="#757575"
+        android:fillColor="?android:attr/colorAccent"
         android:pathData="M14.83,16.42L24,25.59l9.17,-9.17L36,19.25l-12,12 -12,-12z"/>
 </vector>
diff --git a/res/drawable/ic_lock_open_24dp.xml b/res/drawable/ic_lock_open_24dp.xml
new file mode 100644
index 0000000..ba80956
--- /dev/null
+++ b/res/drawable/ic_lock_open_24dp.xml
@@ -0,0 +1,10 @@
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="24dp"
+        android:height="24dp"
+        android:viewportWidth="960"
+        android:viewportHeight="960"
+        android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M240,320h360v-80q0,-50 -35,-85t-85,-35q-50,0 -85,35t-35,85h-80q0,-83 58.5,-141.5T480,40q83,0 141.5,58.5T680,240v80h40q33,0 56.5,23.5T800,400v400q0,33 -23.5,56.5T720,880L240,880q-33,0 -56.5,-23.5T160,800v-400q0,-33 23.5,-56.5T240,320ZM240,800h480v-400L240,400v400ZM480,680q33,0 56.5,-23.5T560,600q0,-33 -23.5,-56.5T480,520q-33,0 -56.5,23.5T400,600q0,33 23.5,56.5T480,680ZM240,800v-400,400Z"/>
+</vector>
\ No newline at end of file
diff --git a/res/drawable/ic_private_space_icon.xml b/res/drawable/ic_private_space_icon.xml
new file mode 100644
index 0000000..fc0894d
--- /dev/null
+++ b/res/drawable/ic_private_space_icon.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:viewportWidth="24"
+        android:viewportHeight="24">
+<path
+    android:pathData="M5,3H19C20.1,3 21,3.9 21,5V19C21,20.1 20.1,21 19,21H5C3.9,21 3,20.1 3,19V5C3,3.9 3.9,3 5,3ZM13.5,15.501L12.93,12.271C13.57,11.941 14,11.271 14,10.501C14,9.401 13.1,8.501 12,8.501C10.9,8.501 10,9.401 10,10.501C10,11.271 10.43,11.941 11.07,12.271L10.5,15.501H13.5Z"
+    android:fillColor="?android:attr/colorAccent"
+    android:fillType="evenOdd"/>
+</vector>
diff --git a/res/drawable/ic_privatespace_done.xml b/res/drawable/ic_privatespace_done.xml
new file mode 100644
index 0000000..aa0d5e6
--- /dev/null
+++ b/res/drawable/ic_privatespace_done.xml
@@ -0,0 +1,19 @@
+<!--
+  ~ 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="48dp" android:height="48dp" android:viewportWidth="960" android:viewportHeight="960" android:tint="?attr/colorControlNormal">
+    <path android:fillColor="@android:color/white" android:pathData="M378,714L154,490L197,447L378,628L762,244L805,287L378,714Z"/>
+</vector>
diff --git a/res/drawable/ic_satellite_alt_24px.xml b/res/drawable/ic_satellite_alt_24px.xml
new file mode 100644
index 0000000..f9ca7dc
--- /dev/null
+++ b/res/drawable/ic_satellite_alt_24px.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:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?android:attr/colorControlNormal">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M560,928L560,848Q677,848 758.5,766.5Q840,685 840,568L920,568Q920,643 891.5,708.5Q863,774 814.5,822.5Q766,871 700.5,899.5Q635,928 560,928ZM560,768L560,688Q610,688 645,653Q680,618 680,568L760,568Q760,651 701.5,709.5Q643,768 560,768ZM222,903Q207,903 192,897Q177,891 165,880L23,738Q12,726 6,711Q0,696 0,681Q0,665 6,650.5Q12,636 23,625L150,498Q173,475 207,474.5Q241,474 264,497L314,547L342,519L292,469Q269,446 269,413Q269,380 292,357L349,300Q372,277 405.5,277Q439,277 462,300L512,350L540,322L490,272Q467,249 467,215.5Q467,182 490,159L617,32Q629,20 644,14Q659,8 674,8Q689,8 703.5,14Q718,20 730,32L872,174Q884,185 889.5,199.5Q895,214 895,230Q895,245 889.5,260Q884,275 872,287L745,414Q722,437 688.5,437Q655,437 632,414L582,364L554,392L604,442Q627,465 626.5,498.5Q626,532 603,555L547,611Q524,634 490.5,634Q457,634 434,611L384,561L356,589L406,639Q429,662 428.5,696Q428,730 405,753L278,880Q267,891 252.5,897Q238,903 222,903ZM222,824Q222,824 222,824Q222,824 222,824L264,782L122,640L80,682Q80,682 80,682Q80,682 80,682L222,824ZM307,739L349,697Q349,697 349,697Q349,697 349,697L207,555Q207,555 207,555Q207,555 207,555L165,597L307,739ZM491,555Q491,555 491,555Q491,555 491,555L547,499Q547,499 547,499Q547,499 547,499L405,357Q405,357 405,357Q405,357 405,357L349,413Q349,413 349,413Q349,413 349,413L491,555ZM689,357Q689,357 689,357Q689,357 689,357L731,315L589,173L547,215Q547,215 547,215Q547,215 547,215L689,357ZM774,272L816,230Q816,230 816,230Q816,230 816,230L674,88Q674,88 674,88Q674,88 674,88L632,130L774,272ZM448,456L448,456Q448,456 448,456Q448,456 448,456L448,456Q448,456 448,456Q448,456 448,456L448,456Q448,456 448,456Q448,456 448,456L448,456Q448,456 448,456Q448,456 448,456Z"/>
+</vector>
diff --git a/res/drawable/ic_settings_force_stop.xml b/res/drawable/ic_settings_force_stop.xml
index eda6079..4385b3e 100644
--- a/res/drawable/ic_settings_force_stop.xml
+++ b/res/drawable/ic_settings_force_stop.xml
@@ -1,5 +1,5 @@
 <!--
-  Copyright (C) 2018 The Android Open Source Project
+  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.
@@ -17,15 +17,9 @@
 <vector xmlns:android="http://schemas.android.com/apk/res/android"
     android:width="24dp"
     android:height="24dp"
-    android:viewportWidth="24"
-    android:viewportHeight="24">
+    android:viewportWidth="960"
+    android:viewportHeight="960">
   <path
       android:fillColor="#FF000000"
-      android:pathData="M12,5.99L19.53,19H4.47L12,5.99M12,2L1,21h22L12,2L12,2z"/>
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M13,16l-2,0l0,2l2,0l0,-2z"/>
-  <path
-      android:fillColor="#FF000000"
-      android:pathData="M13,10l-2,0l0,4l2,0l0,-4z"/>
+      android:pathData="M480,680Q497,680 508.5,668.5Q520,657 520,640Q520,623 508.5,611.5Q497,600 480,600Q463,600 451.5,611.5Q440,623 440,640Q440,657 451.5,668.5Q463,680 480,680ZM440,520L520,520L520,280L440,280L440,520ZM330,840L120,630L120,330L330,120L630,120L840,330L840,630L630,840L330,840ZM364,760L596,760L760,596L760,364L596,200L364,200L200,364L200,596L364,760ZM480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480L480,480Z" />
 </vector>
diff --git a/res/drawable/ic_signal_cellular_nodata_24px.xml b/res/drawable/ic_signal_cellular_nodata_24px.xml
new file mode 100644
index 0000000..9b9f391
--- /dev/null
+++ b/res/drawable/ic_signal_cellular_nodata_24px.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:viewportWidth="960"
+    android:viewportHeight="960"
+    android:tint="?android:attr/colorControlNormal">
+  <path
+      android:fillColor="@android:color/white"
+      android:pathData="M676,860L620,804L704,720L620,636L676,580L760,664L844,580L900,636L817,720L900,804L844,860L760,777L676,860ZM80,880L880,81L880,508Q862,497 842,490.5Q822,484 800,480L800,274L273,800L530,800Q538,823 550,843Q562,863 577,880L80,880ZM273,800L800,274L800,274Q800,274 800,274Q800,274 800,274Q724,350 662,411.5Q600,473 540.5,532.5Q481,592 417,656Q353,720 273,800Q273,800 273,800Q273,800 273,800L273,800Z"/>
+</vector>
diff --git a/res/drawable/ic_warning_circle_red.xml b/res/drawable/ic_warning_circle_red.xml
new file mode 100644
index 0000000..4decf3a
--- /dev/null
+++ b/res/drawable/ic_warning_circle_red.xml
@@ -0,0 +1,20 @@
+<!--
+  ~ 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 android:height="24dp" android:viewportHeight="40"
+        android:viewportWidth="40" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
+    <path android:fillColor="#F2B8B5" android:pathData="M20,30C20.567,30 21.033,29.817 21.4,29.45C21.8,29.05 22,28.567 22,28C22,27.433 21.8,26.967 21.4,26.6C21.033,26.2 20.567,26 20,26C19.433,26 18.95,26.2 18.55,26.6C18.183,26.967 18,27.433 18,28C18,28.567 18.183,29.05 18.55,29.45C18.95,29.817 19.433,30 20,30ZM18,22H22V10H18V22ZM20,40C17.233,40 14.633,39.483 12.2,38.45C9.767,37.383 7.65,35.95 5.85,34.15C4.05,32.35 2.617,30.233 1.55,27.8C0.517,25.367 0,22.767 0,20C0,17.233 0.517,14.633 1.55,12.2C2.617,9.767 4.05,7.65 5.85,5.85C7.65,4.05 9.767,2.633 12.2,1.6C14.633,0.533 17.233,-0 20,-0C22.767,-0 25.367,0.533 27.8,1.6C30.233,2.633 32.35,4.05 34.15,5.85C35.95,7.65 37.367,9.767 38.4,12.2C39.467,14.633 40,17.233 40,20C40,22.767 39.467,25.367 38.4,27.8C37.367,30.233 35.95,32.35 34.15,34.15C32.35,35.95 30.233,37.383 27.8,38.45C25.367,39.483 22.767,40 20,40ZM20,36C24.467,36 28.25,34.45 31.35,31.35C34.45,28.25 36,24.467 36,20C36,15.533 34.45,11.75 31.35,8.65C28.25,5.55 24.467,4 20,4C15.533,4 11.75,5.55 8.65,8.65C5.55,11.75 4,15.533 4,20C4,24.467 5.55,28.25 8.65,31.35C11.75,34.45 15.533,36 20,36Z"/>
+</vector>
diff --git a/res/drawable/ic_watch_24dp.xml b/res/drawable/ic_watch_24dp.xml
new file mode 100644
index 0000000..c5a391c
--- /dev/null
+++ b/res/drawable/ic_watch_24dp.xml
@@ -0,0 +1,25 @@
+<!--
+    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="24dp"
+        android:height="24dp"
+        android:viewportWidth="960"
+        android:viewportHeight="960"
+        android:tint="?attr/colorControlNormal">
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="m360,880 l-54,-182q-48,-38 -77,-95t-29,-123q0,-66 29,-123t77,-95l54,-182h240l54,182q48,38 77,95t29,123q0,66 -29,123t-77,95L600,880L360,880ZM480,680q83,0 141.5,-58.5T680,480q0,-83 -58.5,-141.5T480,280q-83,0 -141.5,58.5T280,480q0,83 58.5,141.5T480,680Z"/>
+</vector>
diff --git a/res/drawable/ic_wifi_off.xml b/res/drawable/ic_wifi_off.xml
deleted file mode 100644
index 1480a59..0000000
--- a/res/drawable/ic_wifi_off.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<!--
-  ~ Copyright (C) 2020 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24dp"
-        android:height="24dp"
-        android:viewportWidth="24"
-        android:viewportHeight="24"
-        android:tint="?android:attr/colorControlNormal">
-    <path
-        android:fillColor="@android:color/white"
-        android:pathData="M23,9c-4.11,-4.11 -9.93,-5.43 -15.15,-3.98l9.57,9.57L23,9zM5.76,5.76L2.81,2.81 1.39,4.22l2.52,2.52C2.88,7.37 1.89,8.11 1,9l11,11 2.59,-2.59 5.19,5.19 1.41,-1.41L16,16 5.76,5.76z"/>
-</vector>
\ No newline at end of file
diff --git a/res/drawable/keyboard_review_layout_background.xml b/res/drawable/keyboard_review_layout_background.xml
new file mode 100644
index 0000000..7f93f80
--- /dev/null
+++ b/res/drawable/keyboard_review_layout_background.xml
@@ -0,0 +1,22 @@
+<?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_colorSurface"/>
+    <corners android:radius="@dimen/keyboard_picker_radius"/>
+</shape>
diff --git a/res/drawable/private_space_choose_lock_illustration.xml b/res/drawable/private_space_choose_lock_illustration.xml
new file mode 100644
index 0000000..f943cb8
--- /dev/null
+++ b/res/drawable/private_space_choose_lock_illustration.xml
@@ -0,0 +1,84 @@
+<!--
+  ~ 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="364dp"
+        android:height="266dp"
+        android:viewportWidth="364"
+        android:viewportHeight="266">
+        <group>
+                <clip-path
+                    android:pathData="M0,0.95h364v265.05h-364z"/>
+                <path
+                    android:pathData="M339.42,265.47H24.58C11.07,265.47 0,254.17 0,240.39V26.42C0,12.6 11.07,1.3 24.58,1.3H339.52C352.93,1.3 364,12.6 364,26.38V240.49C364,254.17 352.93,265.47 339.42,265.47Z"
+                    android:fillColor="#000000"/>
+                <path
+                    android:pathData="M300.32,99.22C310.82,106.16 324.97,103.31 331.93,92.85C338.89,82.39 336.03,68.29 325.54,61.35L301.31,45.32C290.82,38.38 276.67,41.24 269.7,51.69C262.74,62.15 265.6,76.26 276.1,83.19L300.32,99.22Z"
+                    android:fillColor="#C7EBD4"/>
+                <path
+                    android:pathData="M323.02,78.05L314.03,79.7C313.56,79.79 313.24,80.25 313.33,80.72L314.98,89.71C315.07,90.19 315.52,90.5 316,90.41L324.99,88.76C325.46,88.68 325.78,88.22 325.69,87.75L324.04,78.76C323.95,78.28 323.5,77.97 323.02,78.05Z"
+                    android:fillColor="#5BB974"/>
+                <path
+                    android:pathData="M310.61,70.73L310.59,70.95C311.1,73.37 309.48,75.68 307.04,76.1L298.41,77.6C295.97,78.01 293.62,76.36 293.19,73.99L293.21,73.77C292.7,71.35 294.32,69.04 296.76,68.63L305.39,67.13C307.83,66.71 310.1,68.31 310.61,70.73Z"
+                    android:fillColor="#5BB974"/>
+                <path
+                    android:pathData="M280.24,67.28C283.75,69.56 288.46,68.56 290.74,65.05C293.02,61.54 292.02,56.84 288.51,54.56C285,52.28 280.29,53.28 278.02,56.79C275.73,60.3 276.73,65 280.24,67.28Z"
+                    android:fillColor="#5BB974"/>
+                <path
+                    android:pathData="M68.38,36.61C69.99,35.55 71.95,35.17 73.84,35.55C75.73,35.92 77.39,37.02 78.48,38.6L78.71,38.97L80.09,41.3C80.7,42.37 81.58,43.26 82.64,43.89C83.7,44.52 84.9,44.87 86.14,44.89L88.76,44.96C90.69,45.04 92.52,45.87 93.84,47.28C95.16,48.69 95.87,50.56 95.82,52.49C95.77,52.62 95.77,52.77 95.83,52.91L95.52,55.59C95.39,56.8 95.58,58.03 96.06,59.15C96.54,60.28 97.3,61.26 98.27,62L100.32,63.72C101.82,64.92 102.8,66.65 103.03,68.56C103.26,70.47 102.73,72.39 101.56,73.91C101.44,73.98 101.39,74.18 101.27,74.26L99.55,76.2C98.72,77.1 98.14,78.2 97.87,79.4C97.59,80.59 97.63,81.84 97.99,83.01L98.66,85.58C99.17,87.44 98.92,89.43 97.97,91.11C97.02,92.78 95.44,94.02 93.58,94.55C93.46,94.63 93.26,94.58 93.13,94.66L90.56,95.23C89.36,95.48 88.24,96.04 87.32,96.84C86.4,97.64 85.69,98.67 85.28,99.82L84.38,102.36C83.69,104.16 82.33,105.61 80.58,106.42C78.83,107.22 76.83,107.31 75.02,106.65C74.88,106.64 74.74,106.57 74.64,106.46L72.32,105.41C71.19,104.94 69.96,104.75 68.74,104.85C67.52,104.96 66.34,105.36 65.31,106.01L63.11,107.43C61.5,108.48 59.54,108.86 57.65,108.49C55.76,108.12 54.1,107.02 53.01,105.44L52.78,105.07L51.4,102.75C50.78,101.68 49.89,100.79 48.81,100.17C47.74,99.55 46.52,99.22 45.28,99.22L42.66,99.15C40.72,99.07 38.9,98.24 37.58,96.83C36.25,95.42 35.54,93.55 35.6,91.62C35.64,91.49 35.64,91.34 35.59,91.2L35.89,88.52C36.02,87.31 35.84,86.08 35.36,84.95C34.88,83.83 34.12,82.84 33.15,82.09L31.08,80.46C30.32,79.87 29.68,79.13 29.21,78.28C28.74,77.44 28.43,76.51 28.32,75.56C28.21,74.6 28.29,73.63 28.55,72.7C28.82,71.77 29.27,70.9 29.87,70.15C29.99,70.07 30.04,69.87 30.16,69.79L31.89,67.77C32.72,66.87 33.3,65.76 33.58,64.57C33.85,63.38 33.81,62.13 33.46,60.96L32.79,58.37C32.29,56.51 32.54,54.53 33.49,52.86C34.44,51.18 36.01,49.95 37.87,49.42C37.99,49.34 38.19,49.39 38.32,49.31L40.89,48.73C42.09,48.48 43.21,47.92 44.13,47.12C45.06,46.31 45.76,45.29 46.17,44.13L47.07,41.6C47.75,39.81 49.12,38.35 50.87,37.55C52.62,36.75 54.62,36.66 56.43,37.31C56.57,37.33 56.71,37.4 56.81,37.5L59.2,38.58C60.33,39.04 61.56,39.23 62.78,39.13C64,39.02 65.18,38.63 66.21,37.97L68.38,36.61Z"
+                    android:fillColor="#CEE3FF"/>
+                <path
+                    android:pathData="M60.5,74.56C59.92,74.56 59.44,74.37 59.05,73.97C58.65,73.58 58.45,73.09 58.45,72.52C58.45,71.95 58.65,71.46 59.05,71.07C59.44,70.67 59.92,70.48 60.5,70.48C61.07,70.48 61.55,70.67 61.95,71.07C62.34,71.46 62.54,71.95 62.54,72.52C62.54,73.09 62.34,73.58 61.95,73.97C61.55,74.37 61.07,74.56 60.5,74.56ZM70.3,74.56C69.73,74.56 69.25,74.37 68.85,73.97C68.46,73.58 68.26,73.09 68.26,72.52C68.26,71.95 68.46,71.46 68.85,71.07C69.25,70.67 69.73,70.48 70.3,70.48C70.88,70.48 71.36,70.67 71.75,71.07C72.15,71.46 72.35,71.95 72.35,72.52C72.35,73.09 72.15,73.58 71.75,73.97C71.36,74.37 70.88,74.56 70.3,74.56ZM65.4,83.96C69.05,83.96 72.14,82.69 74.68,80.16C77.21,77.63 78.48,74.54 78.48,70.89C78.48,70.23 78.43,69.6 78.35,68.99C78.27,68.37 78.12,67.78 77.9,67.21C77.33,67.34 76.76,67.45 76.19,67.51C75.61,67.58 75.02,67.62 74.39,67.62C71.91,67.62 69.57,67.09 67.36,66.02C65.15,64.96 63.27,63.48 61.72,61.57C60.85,63.69 59.6,65.54 57.98,67.11C56.36,68.67 54.48,69.85 52.32,70.64V70.89C52.32,74.54 53.59,77.63 56.12,80.16C58.66,82.69 61.75,83.96 65.4,83.96ZM65.4,87.23C63.14,87.23 61.01,86.8 59.03,85.94C57.04,85.09 55.31,83.92 53.84,82.45C52.36,80.98 51.2,79.25 50.34,77.26C49.48,75.27 49.05,73.15 49.05,70.89C49.05,68.62 49.48,66.5 50.34,64.51C51.2,62.52 52.36,60.79 53.84,59.32C55.31,57.85 57.04,56.69 59.03,55.83C61.01,54.97 63.14,54.54 65.4,54.54C67.66,54.54 69.79,54.97 71.77,55.83C73.76,56.69 75.49,57.85 76.96,59.32C78.43,60.79 79.6,62.52 80.46,64.51C81.32,66.5 81.74,68.62 81.74,70.89C81.74,73.15 81.32,75.27 80.46,77.26C79.6,79.25 78.43,80.98 76.96,82.45C75.49,83.92 73.76,85.09 71.77,85.94C69.79,86.8 67.66,87.23 65.4,87.23ZM63.19,58.01C64.34,59.92 65.89,61.45 67.85,62.61C69.81,63.77 71.99,64.35 74.39,64.35C74.77,64.35 75.14,64.33 75.49,64.29C75.85,64.25 76.21,64.2 76.6,64.14C75.45,62.24 73.9,60.7 71.94,59.55C69.98,58.39 67.8,57.81 65.4,57.81C65.02,57.81 64.65,57.83 64.3,57.87C63.94,57.91 63.57,57.96 63.19,58.01ZM53.02,66.76C54.41,65.97 55.62,64.95 56.66,63.69C57.69,62.44 58.47,61.04 58.98,59.49C57.6,60.28 56.38,61.3 55.35,62.55C54.31,63.8 53.54,65.21 53.02,66.76Z"
+                    android:fillColor="#559DFD"/>
+                <path
+                    android:pathData="M185.48,137.47C186.07,137.47 186.56,137.28 186.94,136.89C187.33,136.51 187.52,136.02 187.52,135.43C187.52,134.84 187.33,134.35 186.94,133.96C186.56,133.58 186.07,133.39 185.48,133.39C184.88,133.39 184.4,133.58 184.01,133.96C183.62,134.35 183.43,134.84 183.43,135.43C183.43,136.02 183.62,136.51 184.01,136.89C184.4,137.28 184.88,137.47 185.48,137.47Z"
+                    android:fillColor="#202124"/>
+                <path
+                    android:pathData="M54.83,176.56L60.78,178.1C63.63,178.83 66.64,178.74 69.45,177.82L75.29,175.92C86.88,172.14 98.07,182.63 94.99,194.4L93.44,200.33C92.69,203.18 92.78,206.18 93.69,208.97L95.6,214.79C99.37,226.35 88.83,237.52 77.03,234.47L71.09,232.93C68.23,232.19 65.22,232.29 62.42,233.2L56.58,235.11C44.98,238.89 33.8,228.4 36.88,216.63L38.43,210.7C39.17,207.85 39.08,204.85 38.17,202.06L36.27,196.23C32.49,184.68 43.03,173.51 54.83,176.56Z"
+                    android:fillColor="#FFF7DD"/>
+                <path
+                    android:pathData="M80.51,190.74m-6.18,0a6.18,6.18 0,1 1,12.37 0a6.18,6.18 0,1 1,-12.37 0"
+                    android:fillColor="#FFC800"/>
+                <path
+                    android:pathData="M50.47,219.9m-6.18,0a6.18,6.18 0,1 1,12.37 0a6.18,6.18 0,1 1,-12.37 0"
+                    android:fillColor="#FFC800"/>
+                <path
+                    android:pathData="M80.51,219.9m-6.18,0a6.18,6.18 0,1 1,12.37 0a6.18,6.18 0,1 1,-12.37 0"
+                    android:fillColor="#FFC800"/>
+                <path
+                    android:pathData="M77.6,193.13L50.21,220.52"
+                    android:strokeWidth="1.76699"
+                    android:fillColor="#00000000"
+                    android:strokeColor="#FFC800"/>
+                <path
+                    android:pathData="M80.07,219.9L50.47,219.9"
+                    android:strokeWidth="1.76699"
+                    android:fillColor="#00000000"
+                    android:strokeColor="#FFC800"/>
+                <path
+                    android:pathData="M311.22,173.59L289.22,173.9C286.98,173.93 284.78,174.55 282.85,175.7C280.92,176.85 279.34,178.48 278.25,180.44L267.53,199.55C266.44,201.5 265.88,203.71 265.91,205.95C265.94,208.18 266.56,210.38 267.72,212.3L278.99,231.12C280.14,233.04 281.78,234.63 283.74,235.72C285.7,236.81 287.91,237.36 290.15,237.33L312.15,237.01C314.39,236.99 316.59,236.37 318.52,235.22C320.45,234.08 322.04,232.45 323.14,230.49L333.84,211.37C334.93,209.41 335.49,207.21 335.45,204.97C335.42,202.73 334.79,200.54 333.64,198.62L322.38,179.8C321.23,177.88 319.59,176.3 317.63,175.21C315.67,174.12 313.46,173.56 311.22,173.59Z"
+                    android:fillColor="#CEE3FF"/>
+                <path
+                    android:pathData="M285.54,202.36C285.35,202.24 285.23,202.07 285.18,201.88C285.14,201.68 285.19,201.47 285.35,201.25C286.94,198.95 288.98,197.13 291.46,195.8C293.93,194.48 296.6,193.77 299.45,193.68C302.3,193.59 305.02,194.11 307.58,195.24C310.15,196.37 312.32,198.05 314.08,200.28C314.28,200.51 314.35,200.72 314.28,200.91C314.22,201.1 314.11,201.26 313.96,201.4C313.8,201.53 313.61,201.6 313.4,201.59C313.18,201.59 312.99,201.48 312.82,201.27C311.28,199.25 309.32,197.72 306.96,196.69C304.6,195.66 302.11,195.19 299.5,195.27C296.89,195.35 294.46,195.98 292.21,197.15C289.95,198.33 288.11,199.97 286.67,202.09C286.51,202.33 286.33,202.47 286.11,202.51C285.9,202.54 285.71,202.49 285.54,202.36ZM304.89,221.4C302.07,220.8 299.73,219.5 297.89,217.5C296.05,215.5 295.09,213.01 294.99,210.04C294.95,208.71 295.4,207.58 296.34,206.65C297.28,205.72 298.44,205.23 299.81,205.18C301.18,205.14 302.37,205.56 303.37,206.43C304.36,207.3 304.88,208.4 304.92,209.73C304.95,210.6 305.31,211.33 306,211.9C306.69,212.48 307.5,212.76 308.41,212.73C309.33,212.7 310.1,212.38 310.73,211.76C311.35,211.14 311.65,210.39 311.62,209.52C311.53,206.44 310.3,203.89 307.95,201.86C305.6,199.84 302.83,198.87 299.66,198.97C296.48,199.07 293.79,200.21 291.56,202.38C289.34,204.54 288.28,207.15 288.37,210.21C288.39,210.84 288.48,211.64 288.63,212.59C288.78,213.54 289.11,214.65 289.6,215.9C289.69,216.14 289.69,216.35 289.6,216.54C289.51,216.73 289.36,216.87 289.15,216.96C288.94,217.04 288.73,217.04 288.52,216.96C288.32,216.87 288.17,216.72 288.09,216.51C287.65,215.49 287.33,214.47 287.12,213.45C286.92,212.44 286.79,211.38 286.76,210.29C286.65,206.77 287.86,203.77 290.38,201.3C292.9,198.83 295.96,197.54 299.57,197.42C303.2,197.31 306.36,198.4 309.05,200.71C311.73,203.02 313.13,205.94 313.24,209.47C313.28,210.79 312.84,211.92 311.91,212.84C310.98,213.76 309.83,214.24 308.46,214.28C307.09,214.32 305.9,213.91 304.89,213.06C303.88,212.2 303.35,211.1 303.31,209.78C303.28,208.9 302.93,208.18 302.25,207.6C301.57,207.02 300.78,206.75 299.86,206.78C298.95,206.81 298.17,207.13 297.53,207.75C296.89,208.37 296.58,209.11 296.61,209.99C296.69,212.56 297.53,214.69 299.13,216.36C300.73,218.04 302.77,219.18 305.24,219.8C305.48,219.87 305.65,220 305.74,220.18C305.82,220.37 305.84,220.56 305.8,220.78C305.75,220.96 305.64,221.13 305.49,221.27C305.33,221.4 305.13,221.45 304.89,221.4ZM290.53,193.88C290.32,194.02 290.1,194.06 289.89,194C289.67,193.94 289.5,193.81 289.39,193.6C289.27,193.39 289.24,193.2 289.29,193.02C289.34,192.85 289.47,192.69 289.68,192.55C291.16,191.71 292.72,191.05 294.35,190.57C295.97,190.1 297.64,189.83 299.33,189.78C301.05,189.73 302.74,189.88 304.39,190.24C306.05,190.6 307.66,191.14 309.21,191.86C309.46,191.99 309.61,192.14 309.65,192.32C309.7,192.51 309.68,192.7 309.61,192.88C309.53,193.07 309.4,193.22 309.22,193.34C309.03,193.45 308.8,193.44 308.53,193.32C307.08,192.65 305.59,192.14 304.06,191.8C302.53,191.47 300.97,191.32 299.38,191.37C297.82,191.42 296.29,191.65 294.8,192.05C293.3,192.46 291.88,193.07 290.53,193.88ZM296.15,221.12C294.51,219.52 293.24,217.88 292.34,216.2C291.44,214.51 290.95,212.5 290.88,210.17C290.8,207.75 291.63,205.69 293.35,203.97C295.07,202.26 297.19,201.36 299.69,201.28C302.19,201.21 304.37,201.97 306.23,203.57C308.08,205.17 309.05,207.18 309.12,209.6C309.13,209.84 309.06,210.03 308.92,210.18C308.77,210.33 308.58,210.41 308.34,210.42C308.12,210.42 307.93,210.36 307.77,210.22C307.6,210.07 307.52,209.88 307.51,209.65C307.45,207.66 306.65,206.01 305.11,204.72C303.58,203.43 301.79,202.81 299.74,202.88C297.7,202.94 295.96,203.66 294.54,205.05C293.11,206.44 292.43,208.13 292.49,210.12C292.56,212.27 292.99,214.08 293.79,215.55C294.59,217.03 295.74,218.5 297.24,219.97C297.41,220.12 297.5,220.31 297.5,220.52C297.51,220.73 297.44,220.92 297.28,221.08C297.12,221.25 296.94,221.33 296.72,221.34C296.51,221.35 296.32,221.27 296.15,221.12ZM308.25,218.03C305.86,218.11 303.76,217.38 301.94,215.84C300.13,214.3 299.19,212.32 299.11,209.91C299.11,209.7 299.17,209.51 299.32,209.35C299.46,209.18 299.65,209.1 299.89,209.09C300.14,209.08 300.33,209.15 300.49,209.31C300.64,209.46 300.72,209.65 300.73,209.86C300.79,211.85 301.57,213.46 303.06,214.69C304.55,215.91 306.27,216.5 308.2,216.44C308.37,216.43 308.59,216.41 308.89,216.38C309.18,216.34 309.49,216.29 309.81,216.23C310.05,216.17 310.26,216.2 310.44,216.31C310.62,216.42 310.74,216.6 310.8,216.84C310.86,217.05 310.83,217.23 310.7,217.4C310.57,217.56 310.4,217.67 310.18,217.73C309.7,217.88 309.28,217.97 308.92,217.99C308.56,218.01 308.33,218.03 308.25,218.03Z"
+                    android:fillColor="#669DF6"/>
+                <path
+                    android:pathData="M214.98,100.49V166.46H149.02V100.49H214.98ZM214.98,91.07H149.02C143.83,91.07 139.59,95.31 139.59,100.49V166.46C139.59,171.64 143.83,175.88 149.02,175.88H214.98C220.17,175.88 224.41,171.64 224.41,166.46V100.49C224.41,95.31 220.17,91.07 214.98,91.07Z"
+                    android:fillColor="#669DF6"/>
+                <path
+                    android:pathData="M186.4,134.74L189.09,149.96H174.95L177.64,134.74C174.62,133.19 172.6,130.03 172.6,126.4C172.6,121.22 176.84,116.98 182.02,116.98C187.2,116.98 191.44,121.22 191.44,126.4C191.44,130.03 189.42,133.19 186.4,134.74Z"
+                    android:fillColor="#669DF6"/>
+        </group>
+</vector>
diff --git a/res/drawable/private_space_illustration.xml b/res/drawable/private_space_illustration.xml
new file mode 100644
index 0000000..7f2dba8
--- /dev/null
+++ b/res/drawable/private_space_illustration.xml
@@ -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.
+  -->
+
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="412dp"
+        android:height="300dp"
+        android:viewportWidth="364"
+        android:viewportHeight="265">
+    <group>
+        <clip-path
+            android:pathData="M0,0h364v265h-364z"/>
+        <group>
+            <clip-path
+                android:pathData="M0,0h364v265.05h-364z"/>
+            <path
+                android:pathData="M339.44,265.05H24.56C11.04,265.05 0,253.74 0,239.87V25.18C0,11.31 11.04,0 24.56,0H339.53C352.96,0 364,11.31 364,25.18V240.05C364,253.74 352.96,265.05 339.44,265.05Z"
+                android:fillColor="#000000"/>
+            <path
+                android:pathData="M85.7,153.29a17.67,18.11 0,1 0,35.34 0a17.67,18.11 0,1 0,-35.34 0z"
+                android:fillColor="#3C4043"/>
+            <path
+                android:pathData="M155.05,153.29m-18.11,0a18.11,18.11 0,1 1,36.22 0a18.11,18.11 0,1 1,-36.22 0"
+                android:fillColor="#3C4043"/>
+            <path
+                android:pathData="M208.95,153.29m-18.11,0a18.11,18.11 0,1 1,36.22 0a18.11,18.11 0,1 1,-36.22 0"
+                android:fillColor="#3C4043"/>
+            <path
+                android:pathData="M75.1,76.86L288.9,76.86A8.83,8.83 0,0 1,297.74 85.7L297.74,236.78A8.83,8.83 0,0 1,288.9 245.61L75.1,245.61A8.83,8.83 0,0 1,66.26 236.78L66.26,85.7A8.83,8.83 0,0 1,75.1 76.86z"
+                android:fillColor="#E8F0FE"/>
+            <path
+                android:pathData="M288.02,104.25C288.02,112.06 281.69,118.39 273.88,118.39C266.08,118.39 259.75,112.06 259.75,104.25C259.75,96.45 266.08,90.12 273.88,90.12C281.69,90.12 288.02,96.45 288.02,104.25Z"
+                android:fillColor="#D2E3FC"/>
+            <path
+                android:pathData="M275.92,98.6C275.92,97.39 276.99,96.37 278.35,96.37C279.71,96.37 280.78,97.39 280.78,98.6V101.88H282.72V98.6C282.72,96.33 280.74,94.53 278.35,94.53C275.96,94.53 273.98,96.33 273.98,98.6V100.96H267.57C266.18,100.96 265.05,102.03 265.05,103.35V110.7C265.05,112.02 266.18,113.09 267.57,113.09H276.7C278.09,113.09 279.22,112.02 279.22,110.7V103.35C279.22,102.03 278.09,100.96 276.7,100.96H275.92V98.6ZM267.57,102.8C267.25,102.8 266.99,103.05 266.99,103.35V110.7C266.99,111 267.25,111.25 267.57,111.25H276.7C277.02,111.25 277.28,111 277.28,110.7V103.35C277.28,103.05 277.02,102.8 276.7,102.8H267.57ZM272.14,108.68C273.1,108.68 273.88,107.94 273.88,107.03C273.88,106.11 273.1,105.37 272.14,105.37C271.17,105.37 270.39,106.11 270.39,107.03C270.39,107.94 271.17,108.68 272.14,108.68Z"
+                android:fillColor="#669DF6"
+                android:fillType="evenOdd"/>
+            <path
+                android:pathData="M102.04,147.1m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+                android:fillColor="#669DF6"/>
+            <path
+                android:pathData="M155.94,147.1m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+                android:fillColor="#669DF6"/>
+            <path
+                android:pathData="M102.04,204.53m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+                android:fillColor="#669DF6"/>
+            <path
+                android:pathData="M155.94,204.53m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+                android:fillColor="#669DF6"/>
+            <path
+                android:pathData="M210.71,203.65m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+                android:fillColor="#669DF6"/>
+            <path
+                android:pathData="M265.49,203.65m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+                android:fillColor="#669DF6"/>
+        </group>
+        <path
+            android:pathData="M86.14,46.38m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+            android:fillColor="#3C4043"/>
+        <path
+            android:pathData="M150.64,46.38m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+            android:fillColor="#3C4043"/>
+        <path
+            android:pathData="M213.36,46.38m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+            android:fillColor="#3C4043"/>
+        <path
+            android:pathData="M277.86,46.38m-19.88,0a19.88,19.88 0,1 1,39.76 0a19.88,19.88 0,1 1,-39.76 0"
+            android:fillColor="#3C4043"/>
+    </group>
+</vector>
diff --git a/res/drawable/private_space_setup_notification_illustration.xml b/res/drawable/private_space_setup_notification_illustration.xml
new file mode 100644
index 0000000..ecdb486
--- /dev/null
+++ b/res/drawable/private_space_setup_notification_illustration.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="364dp"
+        android:height="265dp"
+        android:viewportWidth="364"
+        android:viewportHeight="265">
+    <group>
+        <group>
+            <clip-path
+                android:pathData="M0,0.48h364v265.05h-364z"/>
+            <path
+                android:pathData="M339.42,264.99H24.58C11.07,264.99 0,253.7 0,239.92V25.94C0,12.12 11.07,0.83 24.58,0.83H339.52C352.93,0.83 364,12.12 364,25.91V240.01C364,253.7 352.93,264.99 339.42,264.99Z"
+                android:fillColor="#000000"/>
+        </group>
+        <path
+            android:pathData="M200.49,144.8C200.49,139.45 205.07,134.95 210.92,134.95C216.77,134.95 221.36,139.45 221.36,144.8V159.36H229.71V144.8C229.71,134.78 221.21,126.82 210.92,126.82C200.64,126.82 192.14,134.78 192.14,144.8V155.29H164.58C158.59,155.29 153.73,160.02 153.73,165.86V198.4C153.73,204.24 158.59,208.98 164.58,208.98H203.82C209.82,208.98 214.68,204.24 214.68,198.4V165.86C214.68,160.02 209.82,155.29 203.82,155.29H200.49V144.8ZM164.58,163.42C163.2,163.42 162.08,164.52 162.08,165.86V198.4C162.08,199.75 163.2,200.85 164.58,200.85H203.82C205.21,200.85 206.33,199.75 206.33,198.4V165.86C206.33,164.52 205.21,163.42 203.82,163.42H164.58ZM184.2,189.46C188.35,189.46 191.72,186.18 191.72,182.13C191.72,178.09 188.35,174.81 184.2,174.81C180.05,174.81 176.69,178.09 176.69,182.13C176.69,186.18 180.05,189.46 184.2,189.46Z"
+            android:fillColor="#C58AF9"
+            android:fillType="evenOdd"/>
+        <path
+            android:pathData="M163.56,220.47C168.99,220.47 173.39,224.87 173.39,230.3C173.39,235.72 168.99,240.13 163.56,240.13C158.13,240.13 153.73,235.72 153.73,230.3C153.73,224.87 158.13,220.47 163.56,220.47Z"
+            android:fillColor="#5F6368"/>
+        <path
+            android:pathData="M201.15,220.47C206.58,220.47 210.98,224.87 210.98,230.3C210.98,235.72 206.58,240.13 201.15,240.13C195.71,240.13 191.32,235.72 191.32,230.3C191.32,224.87 195.71,220.47 201.15,220.47Z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M89.23,28.75L257.1,28.75A13.25,13.25 0,0 1,270.35 42L270.35,79.99A13.25,13.25 0,0 1,257.1 93.24L89.23,93.24A13.25,13.25 0,0 1,75.98 79.99L75.98,42A13.25,13.25 0,0 1,89.23 28.75z"
+            android:fillColor="#E9D2FD"/>
+        <path
+            android:pathData="M145.78,43.77L241.19,43.77A5.3,5.3 0,0 1,246.49 49.07L246.49,49.07A5.3,5.3 0,0 1,241.19 54.37L145.78,54.37A5.3,5.3 0,0 1,140.48 49.07L140.48,49.07A5.3,5.3 0,0 1,145.78 43.77z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M145.34,64.97L241.64,64.97A4.86,4.86 0,0 1,246.49 69.83L246.49,69.83A4.86,4.86 0,0 1,241.64 74.69L145.34,74.69A4.86,4.86 0,0 1,140.48 69.83L140.48,69.83A4.86,4.86 0,0 1,145.34 64.97z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M108.23,81.76C120.18,81.76 129.87,72.07 129.87,60.11C129.87,48.16 120.18,38.47 108.23,38.47C96.27,38.47 86.58,48.16 86.58,60.11C86.58,72.07 96.27,81.76 108.23,81.76Z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M266.37,112.68C278.33,112.68 288.02,102.99 288.02,91.03C288.02,79.08 278.33,69.39 266.37,69.39C254.42,69.39 244.73,79.08 244.73,91.03C244.73,102.99 254.42,112.68 266.37,112.68Z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M96.3,70.05V66.96H99.39V56.14C99.39,54 100.04,52.1 101.33,50.43C102.61,48.77 104.29,47.68 106.35,47.17V46.09C106.35,45.44 106.58,44.89 107.03,44.44C107.48,43.99 108.03,43.77 108.67,43.77C109.31,43.77 109.86,43.99 110.31,44.44C110.76,44.89 110.99,45.44 110.99,46.09V47.17C113.05,47.68 114.73,48.77 116.01,50.43C117.3,52.1 117.95,54 117.95,56.14V66.96H121.04V70.05H96.3ZM108.67,74.69C107.82,74.69 107.09,74.39 106.49,73.78C105.88,73.18 105.58,72.45 105.58,71.6H111.76C111.76,72.45 111.46,73.18 110.85,73.78C110.25,74.39 109.52,74.69 108.67,74.69ZM102.49,66.96H114.85V56.14C114.85,54.43 114.25,52.98 113.04,51.77C111.83,50.56 110.37,49.95 108.67,49.95C106.97,49.95 105.51,50.56 104.3,51.77C103.09,52.98 102.49,54.43 102.49,56.14V66.96Z"
+            android:fillColor="#E9D2FD"/>
+        <path
+            android:pathData="M276.44,81.86V101.1H257.2V81.86H276.44ZM276.44,79.11H257.2C255.68,79.11 254.45,80.34 254.45,81.86V101.1C254.45,102.61 255.68,103.84 257.2,103.84H276.44C277.95,103.84 279.18,102.61 279.18,101.1V81.86C279.18,80.34 277.95,79.11 276.44,79.11Z"
+            android:fillColor="#E9D2FD"/>
+        <path
+            android:pathData="M268.09,91.85L268.87,96.29H264.75L265.54,91.85C264.65,91.39 264.06,90.47 264.06,89.42C264.06,87.9 265.3,86.67 266.81,86.67C268.33,86.67 269.56,87.9 269.56,89.42C269.56,90.47 268.97,91.39 268.09,91.85Z"
+            android:fillColor="#E9D2FD"/>
+    </group>
+</vector>
diff --git a/res/drawable/private_space_setup_preinstalled_illustration.xml b/res/drawable/private_space_setup_preinstalled_illustration.xml
new file mode 100644
index 0000000..2f01f01
--- /dev/null
+++ b/res/drawable/private_space_setup_preinstalled_illustration.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="364dp"
+        android:height="266dp"
+        android:viewportWidth="364"
+        android:viewportHeight="266">
+        <group>
+                <clip-path
+                    android:pathData="M0,0.48h364v265.05h-364z"/>
+                <path
+                    android:pathData="M339.42,264.99H24.58C11.07,264.99 0,253.7 0,239.92V25.94C0,12.13 11.07,0.83 24.58,0.83H339.52C352.93,0.83 364,12.13 364,25.91V240.01C364,253.7 352.93,264.99 339.42,264.99Z"
+                    android:fillColor="#000000"/>
+                <path
+                    android:pathData="M75.92,137.81L50.21,111.72C50.1,111.61 49.96,111.54 49.81,111.5C49.66,111.47 49.51,111.49 49.36,111.54C49.22,111.6 49.1,111.7 49.01,111.83C48.93,111.95 48.88,112.1 48.88,112.26L48.52,162.99C48.52,163.14 48.56,163.29 48.64,163.42C48.73,163.54 48.84,163.64 48.98,163.7C49.12,163.76 49.27,163.78 49.42,163.76C49.57,163.73 49.71,163.66 49.82,163.56L75.92,137.81Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M79.16,134.61L87.37,126.51L54.65,107.44C54.48,107.32 54.27,107.28 54.07,107.31C53.87,107.35 53.69,107.46 53.57,107.62C53.45,107.78 53.39,107.99 53.42,108.19C53.44,108.39 53.55,108.58 53.71,108.71L79.16,134.61Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M53.24,166.57C53.09,166.71 53.01,166.89 52.99,167.08C52.97,167.27 53.02,167.47 53.13,167.63C53.24,167.79 53.41,167.9 53.6,167.95C53.79,167.99 53.99,167.97 54.16,167.88L87.22,149.32L79.13,141.09L53.24,166.57Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M101.4,134.67L91.43,128.87L82.37,137.83L91.35,146.94L101.4,141.28C101.97,140.94 102.45,140.46 102.78,139.88C103.11,139.3 103.29,138.64 103.29,137.97C103.29,137.31 103.11,136.65 102.78,136.07C102.45,135.49 101.97,135.01 101.4,134.67Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M263.42,132.67C263.42,136.04 264.61,138.92 267,141.32C269.39,143.71 272.26,144.91 275.61,144.91C278.96,144.91 281.83,143.71 284.22,141.32C286.61,138.92 287.8,136.04 287.8,132.67C287.8,129.31 286.61,126.43 284.22,124.03C281.83,121.63 278.96,120.43 275.61,120.43C272.26,120.43 269.39,121.63 267,124.03C264.61,126.43 263.42,129.31 263.42,132.67ZM275.61,151.03C276.27,151.03 276.9,151.01 277.51,150.95C278.12,150.9 278.73,150.8 279.34,150.65L272.18,163.04C264.51,162.17 258.08,158.87 252.9,153.13C247.72,147.4 245.13,140.58 245.13,132.67C245.13,130.53 245.33,128.45 245.74,126.44C246.14,124.43 246.75,122.5 247.57,120.66L259.76,141.85C261.33,144.6 263.52,146.82 266.31,148.51C269.11,150.19 272.2,151.03 275.61,151.03ZM275.61,114.32C271.55,114.32 267.94,115.5 264.79,117.87C261.64,120.24 259.45,123.26 258.23,126.94L251.07,114.54C253.87,110.77 257.38,107.75 261.63,105.48C265.87,103.21 270.53,102.08 275.61,102.08C280.64,102.08 285.26,103.19 289.48,105.4C293.69,107.62 297.2,110.59 299.99,114.32H275.61ZM303.5,120.43C304.36,122.32 305.01,124.29 305.44,126.32C305.87,128.36 306.09,130.48 306.09,132.67C306.09,140.58 303.51,147.38 298.36,153.1C293.2,158.81 286.84,162.12 279.27,163.04L291.46,141.85C292.22,140.53 292.82,139.09 293.25,137.53C293.68,135.98 293.9,134.36 293.9,132.67C293.9,130.28 293.48,128.04 292.64,125.98C291.8,123.92 290.65,122.07 289.17,120.43H303.5Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M155.01,119.75h41.52v36.22h-41.52z"
+                    android:fillColor="#E9D2FD"/>
+                <path
+                    android:pathData="M175.77,149.2C179.47,149.2 182.62,147.91 185.21,145.33C187.8,142.76 189.09,139.63 189.09,135.95C189.09,132.26 187.8,129.13 185.21,126.56C182.62,123.98 179.47,122.69 175.77,122.69C172.07,122.69 168.93,123.98 166.34,126.56C163.75,129.13 162.46,132.26 162.46,135.95C162.46,139.63 163.75,142.76 166.34,145.33C168.93,147.91 172.07,149.2 175.77,149.2ZM175.77,143.31C173.7,143.31 171.95,142.6 170.52,141.17C169.09,139.75 168.38,138.01 168.38,135.95C168.38,133.88 169.09,132.14 170.52,130.72C171.95,129.29 173.7,128.58 175.77,128.58C177.85,128.58 179.6,129.29 181.03,130.72C182.46,132.14 183.17,133.88 183.17,135.95C183.17,138.01 182.46,139.75 181.03,141.17C179.6,142.6 177.85,143.31 175.77,143.31ZM152.1,159.51C150.47,159.51 149.07,158.93 147.92,157.77C146.76,156.62 146.18,155.24 146.18,153.62V118.28C146.18,116.65 146.76,115.27 147.92,114.11C149.07,112.96 150.47,112.39 152.1,112.39H161.42L166.9,106.5H184.65L190.13,112.39H199.45C201.08,112.39 202.47,112.96 203.63,114.11C204.79,115.27 205.37,116.65 205.37,118.28V153.62C205.37,155.24 204.79,156.62 203.63,157.77C202.47,158.93 201.08,159.51 199.45,159.51H152.1Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M109.51,182.48C121.47,182.48 131.16,172.78 131.16,160.83C131.16,148.88 121.47,139.18 109.51,139.18C97.56,139.18 87.87,148.88 87.87,160.83C87.87,172.78 97.56,182.48 109.51,182.48Z"
+                    android:fillColor="#E9D2FD"/>
+                <path
+                    android:pathData="M119.57,151.65V170.89H100.33V151.65H119.57ZM119.57,148.9H100.33C98.82,148.9 97.58,150.14 97.58,151.65V170.89C97.58,172.4 98.82,173.64 100.33,173.64H119.57C121.09,173.64 122.32,172.4 122.32,170.89V151.65C122.32,150.14 121.09,148.9 119.57,148.9Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M111.23,161.64L112.01,166.08H107.89L108.67,161.64C107.79,161.19 107.2,160.27 107.2,159.21C107.2,157.7 108.44,156.46 109.95,156.46C111.46,156.46 112.7,157.7 112.7,159.21C112.7,160.27 112.11,161.19 111.23,161.64Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M208.46,182.48C220.42,182.48 230.11,172.78 230.11,160.83C230.11,148.88 220.42,139.18 208.46,139.18C196.51,139.18 186.82,148.88 186.82,160.83C186.82,172.78 196.51,182.48 208.46,182.48Z"
+                    android:fillColor="#E9D2FD"/>
+                <path
+                    android:pathData="M218.52,151.65V170.89H199.29V151.65H218.52ZM218.52,148.9H199.29C197.77,148.9 196.54,150.14 196.54,151.65V170.89C196.54,172.4 197.77,173.64 199.29,173.64H218.52C220.04,173.64 221.27,172.4 221.27,170.89V151.65C221.27,150.14 220.04,148.9 218.52,148.9Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M210.18,161.64L210.96,166.08H206.84L207.62,161.64C206.74,161.19 206.15,160.27 206.15,159.21C206.15,157.7 207.39,156.46 208.9,156.46C210.41,156.46 211.65,157.7 211.65,159.21C211.65,160.27 211.06,161.19 210.18,161.64Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M312.72,182.48C324.67,182.48 334.36,172.78 334.36,160.83C334.36,148.88 324.67,139.18 312.72,139.18C300.76,139.18 291.07,148.88 291.07,160.83C291.07,172.78 300.76,182.48 312.72,182.48Z"
+                    android:fillColor="#E9D2FD"/>
+                <path
+                    android:pathData="M322.78,151.65V170.89H303.54V151.65H322.78ZM322.78,148.9H303.54C302.03,148.9 300.79,150.14 300.79,151.65V170.89C300.79,172.4 302.03,173.64 303.54,173.64H322.78C324.29,173.64 325.53,172.4 325.53,170.89V151.65C325.53,150.14 324.29,148.9 322.78,148.9Z"
+                    android:fillColor="#C58AF9"/>
+                <path
+                    android:pathData="M314.43,161.64L315.22,166.08H311.09L311.88,161.64C311,161.19 310.41,160.27 310.41,159.21C310.41,157.7 311.64,156.46 313.15,156.46C314.67,156.46 315.9,157.7 315.9,159.21C315.9,160.27 315.31,161.19 314.43,161.64Z"
+                    android:fillColor="#C58AF9"/>
+        </group>
+</vector>
diff --git a/res/drawable/private_space_setup_sharing_illustration.xml b/res/drawable/private_space_setup_sharing_illustration.xml
new file mode 100644
index 0000000..8cfa77f
--- /dev/null
+++ b/res/drawable/private_space_setup_sharing_illustration.xml
@@ -0,0 +1,100 @@
+<!--
+  ~ 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="364dp"
+        android:height="266dp"
+        android:viewportWidth="364"
+        android:viewportHeight="266">
+    <group>
+        <clip-path
+            android:pathData="M0,0.48h364v265.05h-364z"/>
+        <path
+            android:pathData="M339.42,264.99H24.58C11.07,264.99 0,253.7 0,239.92V25.94C0,12.13 11.07,0.83 24.58,0.83H339.52C352.93,0.83 364,12.13 364,25.91V240.01C364,253.7 352.93,264.99 339.42,264.99Z"
+            android:fillColor="#000000"/>
+        <path
+            android:pathData="M201.15,182.48C195.72,182.48 191.32,186.88 191.32,192.31C191.32,197.73 195.72,202.14 201.15,202.14C206.58,202.14 210.98,197.73 210.98,192.31C210.98,186.88 206.58,182.48 201.15,182.48Z"
+            android:fillColor="#3C4043"/>
+        <path
+            android:pathData="M163.56,182.48C158.13,182.48 153.73,186.88 153.73,192.31C153.73,197.73 158.13,202.14 163.56,202.14C168.99,202.14 173.39,197.73 173.39,192.31C173.39,186.88 168.99,182.48 163.56,182.48Z"
+            android:fillColor="#669DF6"/>
+        <path
+            android:pathData="M185.48,136.99C186.07,136.99 186.56,136.8 186.94,136.41C187.33,136.03 187.52,135.54 187.52,134.95C187.52,134.36 187.33,133.88 186.94,133.49C186.56,133.1 186.07,132.91 185.48,132.91C184.88,132.91 184.4,133.1 184.01,133.49C183.62,133.88 183.43,134.36 183.43,134.95C183.43,135.54 183.62,136.03 184.01,136.41C184.4,136.8 184.88,136.99 185.48,136.99Z"
+            android:fillColor="#202124"/>
+        <path
+            android:pathData="M338.13,145.81L322.74,131.98C319.02,128.64 313.3,128.94 309.97,132.66C306.63,136.37 306.93,142.09 310.65,145.43L326.05,159.26C329.76,162.6 335.48,162.3 338.82,158.58C342.15,154.87 341.85,149.15 338.13,145.81Z"
+            android:fillColor="#AECBFA"/>
+        <path
+            android:pathData="M325.81,64.64L295.79,43.72C293.73,42.28 290.89,42.79 289.45,44.85L268.54,74.87C267.1,76.93 267.6,79.77 269.67,81.21L299.69,102.13C301.75,103.56 304.59,103.06 306.02,100.99L326.94,70.97C328.38,68.91 327.87,66.07 325.81,64.64Z"
+            android:fillColor="#E8F0FE"/>
+        <path
+            android:pathData="M297.96,73.56C299.44,74.63 301.2,75.25 303.04,75.33C304.87,75.41 306.69,74.95 308.25,74.01C309.82,73.06 311.07,71.68 311.85,70.03C312.63,68.38 312.89,66.53 312.61,64.73C312.34,62.93 311.53,61.25 310.29,59.91C309.05,58.56 307.44,57.61 305.66,57.18C303.88,56.75 302,56.85 300.28,57.47C298.56,58.09 297.06,59.21 295.97,60.68C294.52,62.65 293.91,65.11 294.28,67.53C294.65,69.94 295.98,72.11 297.96,73.56Z"
+            android:fillColor="#669DF6"/>
+        <path
+            android:pathData="M295.71,77.78C287.35,71.94 278.5,69.93 272.37,77.85L302.63,98.92C308.76,91 304.07,83.58 295.71,77.78Z"
+            android:fillColor="#669DF6"/>
+        <path
+            android:pathData="M84.13,50.89L47.87,55.78C45.37,56.11 43.63,58.4 43.96,60.89L48.85,97.15C49.18,99.65 51.47,101.39 53.97,101.06L90.23,96.17C92.72,95.84 94.47,93.55 94.13,91.05L89.25,54.79C88.91,52.3 86.62,50.55 84.13,50.89Z"
+            android:fillColor="#E9D2FD"/>
+        <path
+            android:pathData="M69.64,76.29C71.46,76.08 73.18,75.35 74.58,74.17C75.99,72.99 77.01,71.42 77.53,69.66C78.05,67.91 78.03,66.04 77.49,64.3C76.94,62.56 75.89,61.02 74.47,59.88C73.05,58.74 71.32,58.05 69.49,57.9C67.67,57.75 65.84,58.14 64.24,59.02C62.63,59.91 61.32,61.24 60.47,62.87C59.62,64.49 59.27,66.33 59.47,68.15C59.73,70.58 60.94,72.81 62.85,74.33C64.76,75.86 67.2,76.56 69.64,76.29Z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M70.84,80.92C60.73,82.28 52.85,86.78 53.69,96.76L90.23,91.82C89.39,81.84 80.92,79.54 70.84,80.92Z"
+            android:fillColor="#C58AF9"/>
+        <path
+            android:pathData="M39.14,170.33L66.27,160.64A11.49,11.49 115.34,0 1,80.95 167.59L89.91,192.65A11.49,11.49 115.34,0 1,82.96 207.33L55.82,217.03A11.49,11.49 115.34,0 1,41.14 210.07L32.19,185.01A11.49,11.49 115.34,0 1,39.14 170.33z"
+            android:fillColor="#E8F0FE"/>
+        <path
+            android:pathData="M66.57,172.29a4.81,4.58 70.34,1 0,8.63 -3.08a4.81,4.58 70.34,1 0,-8.63 3.08z"
+            android:fillColor="#669DF6"/>
+        <group>
+            <clip-path
+                android:pathData="M39.14,170.33L66.27,160.64A11.49,11.49 115.34,0 1,80.95 167.59L89.91,192.65A11.49,11.49 115.34,0 1,82.96 207.33L55.82,217.03A11.49,11.49 115.34,0 1,41.14 210.07L32.19,185.01A11.49,11.49 115.34,0 1,39.14 170.33z"/>
+            <path
+                android:pathData="M57.86,186.51C53.39,183.04 46.83,185.22 45.32,190.67L39.9,210.23C38.18,216.44 44.17,222.01 50.24,219.85L72.6,211.86C72.78,211.79 72.95,211.72 73.12,211.65C73.31,211.59 73.49,211.54 73.68,211.47L88.87,206.04C95.09,203.82 96.05,195.42 90.49,191.86L79.38,184.73C74.99,181.92 69.13,184.01 67.52,188.97L66.21,193L57.86,186.51Z"
+                android:fillColor="#669DF6"
+                android:fillType="evenOdd"/>
+        </group>
+        <path
+            android:pathData="M297.35,169.44L324.72,178.44A11.49,11.49 63.19,0 1,332.04 192.93L323.74,218.22A11.49,11.49 63.19,0 1,309.24 225.54L281.87,216.55A11.49,11.49 63.19,0 1,274.54 202.05L282.85,176.77A11.49,11.49 63.19,0 1,297.35 169.44z"
+            android:fillColor="#E9D2FD"/>
+        <path
+            android:pathData="M317.81,187.82a4.81,4.58 108.19,1 0,8.71 2.86a4.81,4.58 108.19,1 0,-8.71 -2.86z"
+            android:fillColor="#C58AF9"/>
+        <group>
+            <clip-path
+                android:pathData="M297.35,169.44L324.72,178.44A11.49,11.49 63.19,0 1,332.04 192.93L323.74,218.22A11.49,11.49 63.19,0 1,309.24 225.54L281.87,216.55A11.49,11.49 63.19,0 1,274.54 202.05L282.85,176.77A11.49,11.49 63.19,0 1,297.35 169.44z"/>
+            <path
+                android:pathData="M302.2,193.71C300.8,188.23 294.29,185.92 289.75,189.3L273.46,201.42C268.3,205.27 269.61,213.34 275.73,215.35L298.28,222.76C298.46,222.82 298.64,222.87 298.83,222.92C299.01,222.99 299.19,223.06 299.38,223.12L314.71,228.15C320.98,230.22 326.89,224.17 324.68,217.95L320.28,205.5C318.54,200.59 312.63,198.65 308.32,201.57L304.82,203.95L302.2,193.71Z"
+                android:fillColor="#C58AF9"
+                android:fillType="evenOdd"/>
+        </group>
+    </group>
+    <path
+        android:pathData="M157.77,52.17L131.31,64.89C130.6,65.23 129.79,65.27 129.04,65.01C128.3,64.75 127.69,64.21 127.36,63.5L126.91,62.58C124.89,58.37 124.62,53.52 126.17,49.1C127.72,44.69 130.96,41.07 135.17,39.04C139.39,37.01 144.24,36.74 148.66,38.29C153.07,39.84 156.69,43.08 158.72,47.3L159.16,48.21C159.5,48.92 159.54,49.74 159.28,50.48C159.02,51.22 158.48,51.83 157.77,52.17Z"
+        android:fillColor="#669DF6"/>
+    <path
+        android:pathData="M200.49,106.81C200.49,101.46 205.07,96.96 210.92,96.96C216.77,96.96 221.36,101.46 221.36,106.81V121.37H229.71V106.81C229.71,96.79 221.21,88.83 210.92,88.83C200.64,88.83 192.14,96.79 192.14,106.81V117.3H164.58C158.59,117.3 153.73,122.03 153.73,127.87V160.41C153.73,166.26 158.59,170.99 164.58,170.99H203.82C209.82,170.99 214.68,166.26 214.68,160.41V127.87C214.68,122.03 209.82,117.3 203.82,117.3H200.49V106.81ZM164.58,125.43C163.2,125.43 162.08,126.53 162.08,127.87V160.41C162.08,161.76 163.2,162.85 164.58,162.85H203.82C205.21,162.85 206.33,161.76 206.33,160.41V127.87C206.33,126.53 205.21,125.43 203.82,125.43H164.58ZM184.2,151.47C188.35,151.47 191.72,148.19 191.72,144.14C191.72,140.1 188.35,136.82 184.2,136.82C180.05,136.82 176.69,140.1 176.69,144.14C176.69,148.19 180.05,151.47 184.2,151.47Z"
+        android:fillColor="#C58AF9"
+        android:fillType="evenOdd"/>
+    <path
+        android:pathData="M163.56,182.48C168.99,182.48 173.39,186.88 173.39,192.31C173.39,197.73 168.99,202.14 163.56,202.14C158.13,202.14 153.73,197.73 153.73,192.31C153.73,186.88 158.13,182.48 163.56,182.48Z"
+        android:fillColor="#5F6368"/>
+    <path
+        android:pathData="M201.15,182.48C206.58,182.48 210.98,186.88 210.98,192.31C210.98,197.73 206.58,202.14 201.15,202.14C195.71,202.14 191.32,197.73 191.32,192.31C191.32,186.88 195.71,182.48 201.15,182.48Z"
+        android:fillColor="#C58AF9"/>
+</vector>
diff --git a/res/drawable/privatespace_placeholder_image.xml b/res/drawable/privatespace_placeholder_image.xml
new file mode 100644
index 0000000..cde503a
--- /dev/null
+++ b/res/drawable/privatespace_placeholder_image.xml
@@ -0,0 +1,143 @@
+<?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="364dp"
+        android:height="265dp"
+        android:viewportWidth="364"
+        android:viewportHeight="265">
+    <group>
+        <clip-path
+            android:pathData="M0,0h364v265h-364z"/>
+        <path
+            android:pathData="M339.42,265H24.58C11.07,265 0,253.67 0,239.84V25.19C0,11.33 11.07,0 24.58,0H339.52C352.93,0 364,11.33 364,25.16V239.94C364,253.67 352.93,265 339.42,265Z"
+            android:fillColor="#000000"/>
+        <path
+            android:pathData="M247.65,93.87V85.83C247.65,84.73 246.73,83.82 245.61,83.82V41.94C245.61,36.42 241.02,32 235.5,32H142.1C136.49,32 132,36.52 132,41.94V233.67C132,239.2 136.59,243.62 142.1,243.62H235.5C241.12,243.62 245.61,239.1 245.61,233.67V135.85C246.73,135.85 247.65,134.95 247.65,133.84V113.86C247.65,112.75 246.73,111.85 245.61,111.85V95.88C246.84,95.88 247.65,94.97 247.65,93.87ZM243.67,233.67C243.67,238.09 240,241.71 235.5,241.71H142.1C137.61,241.71 133.94,238.09 133.94,233.67V41.94C133.94,37.52 137.61,33.91 142.1,33.91H235.5C240,33.91 243.67,37.52 243.67,41.94V233.67Z"
+            android:fillColor="#DADCE0"/>
+        <path
+            android:pathData="M151.68,46.76L225.5,46.76A7.38,7.38 0,0 1,232.89 54.15L232.89,54.15A7.38,7.38 0,0 1,225.5 61.53L151.68,61.53A7.38,7.38 0,0 1,144.3 54.15L144.3,54.15A7.38,7.38 0,0 1,151.68 46.76z"
+            android:fillColor="#444746"/>
+        <path
+            android:pathData="M147.42,187.02L228.54,187.02A8.04,8.04 0,0 1,236.58 195.06L236.58,226.97A8.04,8.04 0,0 1,228.54 235L147.42,235A8.04,8.04 0,0 1,139.38 226.97L139.38,195.06A8.04,8.04 0,0 1,147.42 187.02z"
+            android:fillColor="#1F1F1F"/>
+        <path
+            android:pathData="M154.15,77.52m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M177.52,77.52m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M200.9,77.52m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M224.27,77.52m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M154.15,99.67m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M154.15,121.81m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M154.15,143.96m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M154.15,166.11m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M177.52,99.67m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M177.52,121.81m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M177.52,143.96m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M177.52,166.11m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M200.9,99.67m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M200.9,121.81m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M200.9,143.96m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M200.9,166.11m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M224.27,99.67m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M224.27,121.81m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M224.27,143.96m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M224.27,166.11m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#D9D9D9"
+            android:fillAlpha="0.4"/>
+        <path
+            android:pathData="M154.15,199.32m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M154.15,220.24m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M177.52,199.32m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M177.52,220.24m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M200.9,199.32m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M200.9,220.24m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M224.27,199.32m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+        <path
+            android:pathData="M224.27,220.24m-7.38,0a7.38,7.38 0,1 1,14.76 0a7.38,7.38 0,1 1,-14.76 0"
+            android:fillColor="#0B57D0"/>
+    </group>
+</vector>
diff --git a/res/drawable/satellite_more_information_background_outline.xml b/res/drawable/satellite_more_information_background_outline.xml
new file mode 100644
index 0000000..b11ef07
--- /dev/null
+++ b/res/drawable/satellite_more_information_background_outline.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.
+  -->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="rectangle">
+    <corners android:radius="24dp"/>
+    <solid android:color="@android:color/transparent"/>
+    <stroke
+        android:width="1dp"
+        android:color="?android:attr/textColorPrimary"/>
+</shape>
diff --git a/res/drawable/tile_icon_winscope_trace.xml b/res/drawable/tile_icon_winscope_trace.xml
deleted file mode 100644
index 2563049..0000000
--- a/res/drawable/tile_icon_winscope_trace.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<!--
-    Copyright (C) 2018 The Android Open Source Project
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT 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:pathData="M17.115,1.535L9.984,1.535C9.38,1.535 8.887,2.029 8.887,2.632L8.887,5.923L7.241,5.923C6.638,5.923 6.144,6.417 6.144,7.021l0,5.486c0,0.603 0.494,1.097 1.097,1.097l7.131,0c0.603,0 1.097,-0.494 1.097,-1.097l0,-3.291l1.646,0c0.603,0 1.097,-0.494 1.097,-1.097L18.212,2.632C18.212,2.029 17.718,1.535 17.115,1.535ZM14.372,12.506L7.241,12.506l0,-4.388l7.131,0zM17.115,8.118L15.469,8.118L15.469,7.021C15.469,6.417 14.976,5.923 14.372,5.923L9.984,5.923L9.984,3.729l7.131,0z"
-        android:fillColor="#FFFFFFFF"/>
-    <path
-        android:pathData="m20.27,15.235c0,0.82 -0.671,1.491 -1.491,1.491 -0.134,0 -0.261,-0.015 -0.38,-0.052l-2.654,2.646C15.782,19.439 15.797,19.573 15.797,19.708c0,0.82 -0.671,1.491 -1.491,1.491 -0.82,0 -1.491,-0.671 -1.491,-1.491 0,-0.134 0.015,-0.268 0.052,-0.388L10.966,17.419C10.847,17.456 10.713,17.471 10.579,17.471 10.444,17.471 10.31,17.456 10.191,17.419L6.799,20.818C6.836,20.938 6.851,21.064 6.851,21.199 6.851,22.019 6.18,22.689 5.36,22.689 4.54,22.689 3.869,22.019 3.869,21.199c0,-0.82 0.671,-1.491 1.491,-1.491 0.134,0 0.261,0.015 0.38,0.052L9.14,16.368C9.103,16.249 9.088,16.114 9.088,15.98 9.088,15.16 9.759,14.489 10.579,14.489c0.82,0 1.491,0.671 1.491,1.491 0,0.134 -0.015,0.268 -0.052,0.388l1.901,1.901C14.038,18.232 14.172,18.217 14.306,18.217c0.134,0 0.268,0.015 0.388,0.052L17.34,15.615C17.303,15.496 17.288,15.369 17.288,15.235c0,-0.82 0.671,-1.491 1.491,-1.491 0.82,0 1.491,0.671 1.491,1.491z"
-        android:fillColor="#FFFFFFFF"/>
-</vector>
-
diff --git a/res/layout-v34/settingslib_main_switch_bar.xml b/res/layout-v34/settingslib_main_switch_bar.xml
new file mode 100644
index 0000000..3a44d2a
--- /dev/null
+++ b/res/layout-v34/settingslib_main_switch_bar.xml
@@ -0,0 +1,63 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_height="wrap_content"
+    android:layout_width="match_parent"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingTop="@dimen/settingslib_switchbar_margin"
+    android:paddingBottom="@dimen/settingslib_switchbar_margin"
+    android:orientation="vertical">
+
+    <LinearLayout
+        android:id="@+id/frame"
+        android:minHeight="@dimen/settingslib_min_switch_bar_height"
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:paddingStart="@dimen/settingslib_switchbar_padding_left"
+        android:paddingEnd="@dimen/settingslib_switchbar_padding_right"
+        android:background="@drawable/settingslib_switch_bar_bg">
+
+        <TextView
+            android:id="@+id/switch_text"
+            android:layout_height="wrap_content"
+            android:layout_width="0dp"
+            android:layout_weight="1"
+            android:layout_marginEnd="@dimen/settingslib_switch_title_margin"
+            android:layout_marginVertical="@dimen/settingslib_switch_title_margin"
+            android:layout_gravity="center_vertical"
+            android:ellipsize="end"
+            android:textAppearance="?android:attr/textAppearanceListItem"
+            android:hyphenationFrequency="normalFast"
+            android:lineBreakWordStyle="phrase"
+            style="@style/MainSwitchText.Settingslib" />
+
+        <com.google.android.material.materialswitch.MaterialSwitch
+            android:id="@android:id/switch_widget"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:background="@null"
+            android:clickable="false"
+            android:focusable="false"
+            android:theme="@style/Theme.Material3.DynamicColors.DayNight" />
+    </LinearLayout>
+
+</LinearLayout>
diff --git a/res/layout/accessibility_edit_shortcut_magnification.xml b/res/layout/accessibility_edit_shortcut_magnification.xml
index 725c4c7..0f30a01 100644
--- a/res/layout/accessibility_edit_shortcut_magnification.xml
+++ b/res/layout/accessibility_edit_shortcut_magnification.xml
@@ -46,6 +46,14 @@
                 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"
diff --git a/res/layout/accessibility_launch_activity_preference.xml b/res/layout/accessibility_launch_activity_preference.xml
index 6791206..f3841e2 100644
--- a/res/layout/accessibility_launch_activity_preference.xml
+++ b/res/layout/accessibility_launch_activity_preference.xml
@@ -21,8 +21,7 @@
     android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:paddingStart="?android:attr/listPreferredItemPaddingStart"
     android:paddingVertical="@dimen/settingslib_switchbar_margin"
-    android:background="@android:color/transparent"
-    android:importantForAccessibility="no">
+    android:background="@android:color/transparent">
 
     <FrameLayout
         android:layout_height="wrap_content"
diff --git a/res/layout/accessibility_shortcut_option_checkable.xml b/res/layout/accessibility_shortcut_option_checkable.xml
new file mode 100644
index 0000000..1551352
--- /dev/null
+++ b/res/layout/accessibility_shortcut_option_checkable.xml
@@ -0,0 +1,85 @@
+<?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.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:id="@+id/a11y_shortcut_option_container"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:gravity="center_vertical"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:paddingBottom="?android:attr/listPreferredItemPaddingEnd">
+
+    <CheckBox
+        android:id="@android:id/checkbox"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:background="@null"
+        android:clickable="false"
+        android:focusable="false"
+        android:gravity="center_vertical"
+        android:orientation="vertical"
+        app:layout_constrainedHeight="true"
+        app:layout_constrainedWidth="true"
+        app:layout_constraintBottom_toBottomOf="@android:id/title"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <TextView
+        android:id="@android:id/title"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginStart="?android:attr/listPreferredItemPaddingStart"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toEndOf="@android:id/checkbox"
+        app:layout_constraintTop_toTopOf="parent"
+        tools:text="Shortcut option title" />
+
+    <TextView
+        android:id="@android:id/summary"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary"
+        app:layout_constrainedHeight="true"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintStart_toStartOf="@android:id/title"
+        app:layout_constraintTop_toBottomOf="@android:id/title"
+        tools:text="Shortcut option summary" />
+
+    <com.airbnb.lottie.LottieAnimationView
+        android:id="@+id/image"
+        android:layout_width="0dp"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="@dimen/settingslib_illustration_padding"
+        android:layout_marginBottom="@dimen/settingslib_illustration_padding"
+        android:adjustViewBounds="true"
+        android:background="@drawable/protection_background"
+        android:maxHeight="@dimen/accessibility_imageview_size"
+        app:layout_constrainedHeight="true"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintHorizontal_bias="0"
+        app:layout_constraintStart_toStartOf="@android:id/title"
+        app:layout_constraintTop_toBottomOf="@android:id/summary"
+        app:layout_constraintWidth_max="@dimen/settingslib_illustration_width" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/accessibility_shortcut_secondary_action.xml b/res/layout/accessibility_shortcut_secondary_action.xml
index b3b81fe..80defdb 100644
--- a/res/layout/accessibility_shortcut_secondary_action.xml
+++ b/res/layout/accessibility_shortcut_secondary_action.xml
@@ -93,7 +93,7 @@
         android:layout_width="wrap_content"
         android:layout_height="match_parent"
         android:gravity="end|center_vertical"
-        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+        android:paddingHorizontal="?android:attr/listPreferredItemPaddingEnd"
         android:minWidth="58dp"
         android:orientation="vertical" />
 
diff --git a/res/layout/accessibility_text_reading_preview.xml b/res/layout/accessibility_text_reading_preview.xml
index 4b70bb4..830d9e6 100644
--- a/res/layout/accessibility_text_reading_preview.xml
+++ b/res/layout/accessibility_text_reading_preview.xml
@@ -23,6 +23,7 @@
     android:paddingStart="?android:attr/listPreferredItemPaddingStart">
 
     <LinearLayout
+        android:id="@+id/preview_background"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:background="@drawable/accessibility_text_reading_preview"
@@ -41,7 +42,8 @@
             android:id="@+id/preview_pager"
             android:layout_width="match_parent"
             android:layout_height="217dp"
-            android:contentDescription="@string/preview_pager_content_description" />
+            android:contentDescription="@string/preview_pager_content_description"
+            android:nestedScrollingEnabled="true" />
 
         <com.android.settings.widget.DotsPageIndicator
             android:id="@+id/page_indicator"
diff --git a/res/layout/anomaly_app_item_preference.xml b/res/layout/anomaly_app_item_preference.xml
index 0a19849..681fe68 100644
--- a/res/layout/anomaly_app_item_preference.xml
+++ b/res/layout/anomaly_app_item_preference.xml
@@ -35,33 +35,10 @@
 
         <Space
             android:layout_width="@dimen/secondary_app_icon_size"
-            android:layout_height="wrap_content" />
-
-        <LinearLayout
-            android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:padding="8dp"
-            android:layout_marginStart="16dp"
-            android:background="@drawable/battery_hints_chip_bg_ripple">
+            android:layout_marginEnd="16dp"/>
 
-            <ImageView
-                android:layout_width="16dp"
-                android:layout_height="16dp"
-                android:layout_gravity="center_vertical|start"
-                android:contentDescription="@string/battery_hints_warning_icon_a11y"
-                android:src="@drawable/ic_battery_tips_warning_icon" />
-
-            <TextView
-                android:id="@+id/warning_info"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:paddingHorizontal="8dp"
-                android:layout_gravity="center_vertical|start"
-                android:textAlignment="viewStart"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorPrimary"/>
-        </LinearLayout>
+        <include layout="@layout/power_anomaly_hints" />
 
     </LinearLayout>
 </LinearLayout>
\ No newline at end of file
diff --git a/res/layout/arrow_preference.xml b/res/layout/arrow_preference.xml
new file mode 100644
index 0000000..0924a44
--- /dev/null
+++ b/res/layout/arrow_preference.xml
@@ -0,0 +1,56 @@
+<?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.
+-->
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_height="wrap_content"
+    android:layout_width="match_parent"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingVertical="@dimen/settingslib_switchbar_margin"
+    android:background="@android:color/transparent">
+
+    <LinearLayout
+        android:id="@+id/background"
+        android:layout_height="wrap_content"
+        android:layout_width="match_parent"
+        android:paddingStart="@dimen/settingslib_switchbar_padding_left"
+        android:paddingEnd="@dimen/settingslib_switchbar_padding_right"
+        android:background="@drawable/settingslib_switch_bar_bg_on"
+        android:orientation="horizontal">
+
+        <TextView
+            android:id="@android:id/title"
+            android:layout_height="wrap_content"
+            android:layout_width="0dp"
+            android:layout_gravity="start|center_vertical"
+            android:layout_weight="1"
+            android:paddingVertical="@dimen/settingslib_switch_title_margin"
+            android:ellipsize="end"
+            android:textAppearance="?android:attr/textAppearanceListItem"
+            android:hyphenationFrequency="normalFast"
+            android:lineBreakWordStyle="phrase"
+            style="@style/MainSwitchText.Settingslib"/>
+
+        <ImageView
+            android:layout_width="24dp"
+            android:layout_height="24dp"
+            android:layout_gravity="center_vertical"
+            android:contentDescription="@null"
+            android:src="@drawable/ic_arrow_forward"/>
+
+    </LinearLayout>
+</FrameLayout>
diff --git a/res/layout/audio_sharing_device_item.xml b/res/layout/audio_sharing_device_item.xml
new file mode 100644
index 0000000..04ecdd7
--- /dev/null
+++ b/res/layout/audio_sharing_device_item.xml
@@ -0,0 +1,33 @@
+<?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.
+  -->
+
+<FrameLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical">
+
+    <Button
+        android:id="@+id/device_button"
+        style="@style/SettingsLibActionButton"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="4dp"
+        android:background="@drawable/audio_sharing_rounded_bg_ripple"
+        android:textAlignment="center" />
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/battery_tips_card.xml b/res/layout/battery_tips_card.xml
index c9a00bc..1a121ba 100644
--- a/res/layout/battery_tips_card.xml
+++ b/res/layout/battery_tips_card.xml
@@ -4,109 +4,58 @@
     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:paddingStart="?android:attr/listPreferredItemPaddingStart"
-    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+    android:padding="20dp">
 
-    <LinearLayout
-        android:id="@+id/tips_card"
+    <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:background="@drawable/battery_tips_all_rounded_bg_ripple"
-        android:orientation="vertical"
-        android:padding="24dp">
-
-        <ImageView
-            android:id="@+id/icon"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_vertical|start"
-            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="?android:attr/textAppearanceLarge"
-            android:textColor="?android:attr/textColorPrimary" />
-
-        <LinearLayout
-            android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layout_marginTop="8dp"
-            android:gravity="end">
-
-            <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:paddingHorizontal="16dp"
-                android:layout_marginEnd="8dp"
-                android:text="@string/battery_tips_card_dismiss_button"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorPrimary" />
-
-            <com.google.android.material.button.MaterialButton
-                android:id="@+id/main_button"
-                style="@style/Widget.Material3.Button.OutlinedButton"
-                android:paddingHorizontal="16dp"
-                android:layout_width="wrap_content"
-                android:layout_height="wrap_content"
-                android:layout_gravity="end|center_vertical"
-                android:text="@string/battery_tips_card_action_button"
-                android:textAppearance="?android:attr/textAppearanceSmall"
-                android:textColor="?android:attr/textColorPrimary"
-                app:strokeColor="@color/color_accent_selector"
-                app:strokeWidth="1dp" />
-        </LinearLayout>
-    </LinearLayout>
-
-    <Space
-        android:layout_width="0dp"
-        android:layout_height="1dp"/>
+        android:layout_marginTop="8dp"
+        android:textAlignment="viewStart"
+        android:textAppearance="@style/TextAppearance.Material3.TitleMedium"
+        android:textColor="?android:attr/textColorPrimary" />
 
     <LinearLayout
-        android:id="@+id/feedback_card"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:background="@drawable/battery_tips_half_rounded_bottom_bg"
-        android:gravity="center_vertical|start"
-        android:orientation="horizontal"
-        android:paddingHorizontal="24dp"
-        android:paddingVertical="16dp"
-        android:visibility="gone">
+        android:layout_marginTop="8dp"
+        android:gravity="end"
+        android:orientation="horizontal">
 
-        <TextView
-            android:layout_width="0dp"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="0dp"
-            android:layout_marginEnd="20dp"
-            android:layout_weight="1"
-            android:text="@string/battery_tips_card_feedback_info"
-            android:textAlignment="viewStart"
-            android:textColor="?android:attr/textColorPrimary"
-            android:textStyle="bold"/>
-
-        <ImageButton
-            android:id="@+id/thumb_up"
-            style="@style/Banner.Dismiss.SettingsLib"
+        <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="center_vertical|end"
-            android:layout_marginEnd="20dp"
-            android:src="@drawable/ic_battery_tips_thumb_up" />
+            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" />
 
-        <ImageButton
-            android:id="@+id/thumb_down"
-            style="@style/Banner.Dismiss.SettingsLib"
+        <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="center_vertical|end"
-            android:src="@drawable/ic_battery_tips_thumb_down" />
+            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/power_anomaly_primary_button_text_color"
+            app:backgroundTint="@color/color_accent_selector" />
     </LinearLayout>
 </LinearLayout>
\ 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 f9df3f5..938f103 100644
--- a/res/layout/bluetooth_find_broadcast_password_dialog.xml
+++ b/res/layout/bluetooth_find_broadcast_password_dialog.xml
@@ -31,6 +31,7 @@
         android:id="@+id/broadcast_edit_text"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
+        android:maxLength="16"
         android:minHeight="48dp"
         android:textAlignment="viewStart"/>
     <TextView
diff --git a/res/layout/bluetooth_pin_confirm.xml b/res/layout/bluetooth_pin_confirm.xml
index 7b5b046..04f1b6f 100644
--- a/res/layout/bluetooth_pin_confirm.xml
+++ b/res/layout/bluetooth_pin_confirm.xml
@@ -76,15 +76,39 @@
             android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1"
             android:visibility="gone" />
 
-        <CheckBox
-            android:id="@+id/phonebook_sharing_message_confirm_pin"
-            android:layout_width="wrap_content"
+        <LinearLayout
+            android:id="@+id/phonebook_sharing"
             android:layout_height="wrap_content"
-            android:minHeight="@dimen/min_tap_target_size"
+            android:layout_width="match_parent"
             android:layout_marginStart="@dimen/bluetooth_dialog_padding"
             android:layout_marginEnd="@dimen/bluetooth_dialog_padding"
-            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
-
+            android:orientation="horizontal">
+            <LinearLayout
+                android:layout_height="wrap_content"
+                android:layout_width="wrap_content"
+                android:layout_weight="1"
+                android:layout_marginEnd="10dp"
+                android:orientation="vertical">
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/bluetooth_pairing_phonebook_toggle_text"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
+                <TextView
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:text="@string/bluetooth_pairing_phonebook_toggle_details"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Caption" />
+            </LinearLayout>
+            <Switch
+                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" />
+        </LinearLayout>
     </LinearLayout>
 
 </ScrollView>
diff --git a/res/layout/color_picker_item.xml b/res/layout/color_picker_item.xml
index 5599eb4..a9239e2 100644
--- a/res/layout/color_picker_item.xml
+++ b/res/layout/color_picker_item.xml
@@ -26,14 +26,15 @@
 
     <ImageView
         android:id="@+id/color_swatch"
-        android:layout_width="96dp"
+        android:layout_width="match_parent"
         android:layout_height="96dp"
         android:contentDescription="@null" />
 
     <TextView
         android:id="@+id/summary"
-        android:layout_width="96dp"
+        android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:gravity="center" />
+        android:gravity="center"
+        android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Body1" />
 
 </LinearLayout>
diff --git a/res/layout/content_protection_preference_fragment.xml b/res/layout/content_protection_preference_fragment.xml
new file mode 100644
index 0000000..f85f2d1
--- /dev/null
+++ b/res/layout/content_protection_preference_fragment.xml
@@ -0,0 +1,50 @@
+<?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.
+-->
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="content_protection_preference_subpage"
+    android:title="@string/content_protection_preference_title">
+
+    <com.android.settingslib.widget.TopIntroPreference
+        android:key="content_protection_preference_top_intro"
+        android:title="@string/content_protection_preference_subpage_summary"
+        settings:searchable="false"/>
+
+    <com.android.settings.widget.SettingsMainSwitchPreference
+        android:key="content_protection_preference_user_consent_switch"
+        android:title="@string/content_protection_preference_user_consent_switch_title"
+        settings:controller=
+              "com.android.settings.security.ContentProtectionTogglePreferenceController"/>
+
+    <com.android.settingslib.widget.IllustrationPreference
+        android:key="content_protection_preference_subpage_illustration"
+        android:selectable="false"
+        settings:lottie_rawRes="@drawable/content_protection_preference_illustration"
+        settings:searchable="false" />
+
+    <com.android.settingslib.RestrictedSwitchPreference
+        android:key="content_protection_preference_user_consent_work_profile_switch"
+        android:title="@string/content_protection_preference_user_consent_work_profile_switch_title"
+        settings:controller="com.android.settings.security.ContentProtectionWorkSwitchController"
+        settings:restrictedSwitchSummary="@string/summary_placeholder"
+        settings:useAdditionalSummary="true"/>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="content_protection_preference_subpage_footer"
+        android:title="@string/content_protection_preference_subpage_info" />
+</PreferenceScreen>
diff --git a/res/layout/data_usage_summary_preference.xml b/res/layout/data_usage_summary_preference.xml
index 856d146..4cbd958 100644
--- a/res/layout/data_usage_summary_preference.xml
+++ b/res/layout/data_usage_summary_preference.xml
@@ -18,8 +18,8 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:paddingTop="22dp"
-    android:paddingBottom="32dp"
+    android:paddingTop="8dp"
+    android:paddingBottom="16dp"
     android:paddingStart="?android:attr/listPreferredItemPaddingStart"
     android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:orientation="vertical"
@@ -99,6 +99,7 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:paddingTop="12dp"
+        android:minHeight="54dp"
         android:orientation="vertical">
 
         <TextView
@@ -121,14 +122,5 @@
 
     </LinearLayout>
 
-    <Button
-        android:id="@+id/launch_mdp_app_button"
-        android:layout_marginTop="12dp"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="start"
-        android:text="@string/launch_mdp_app_text"
-        style="@style/ActionPrimaryButton" />
-
 </LinearLayout>
 
diff --git a/res/layout/dialog_audio_sharing.xml b/res/layout/dialog_audio_sharing.xml
new file mode 100644
index 0000000..aace5ab
--- /dev/null
+++ b/res/layout/dialog_audio_sharing.xml
@@ -0,0 +1,82 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingHorizontal="?android:dialogPreferredPadding"
+    android:paddingBottom="?android:dialogPreferredPadding">
+
+    <TextView
+        android:id="@+id/share_audio_subtitle1"
+        style="@style/DeviceAudioSharingText"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:paddingBottom="14dp"
+        android:textFontWeight="500"
+        android:visibility="gone" />
+
+    <TextView
+        android:id="@+id/share_audio_subtitle2"
+        style="@style/DeviceAudioSharingText"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:paddingBottom="24dp"
+        android:textFontWeight="400" />
+
+    <ImageView
+        android:id="@+id/share_audio_guidance"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:src="@drawable/audio_sharing_guidance"
+        android:visibility="gone" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/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/share_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" />
+
+    <Button
+        android:id="@+id/cancel_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:text="Not now"
+        android:visibility="gone" />
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_audio_sharing_disconnect.xml b/res/layout/dialog_audio_sharing_disconnect.xml
new file mode 100644
index 0000000..592b41b
--- /dev/null
+++ b/res/layout/dialog_audio_sharing_disconnect.xml
@@ -0,0 +1,51 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingHorizontal="?android:dialogPreferredPadding"
+    android:paddingBottom="?android:dialogPreferredPadding">
+
+    <TextView
+        android:id="@+id/share_audio_disconnect_description"
+        style="@style/DeviceAudioSharingText"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:paddingBottom="24dp" />
+
+    <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" />
+
+    <Button
+        android:id="@+id/cancel_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:text="@string/cancel" />
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_audio_sharing_join.xml b/res/layout/dialog_audio_sharing_join.xml
new file mode 100644
index 0000000..bfd4c77
--- /dev/null
+++ b/res/layout/dialog_audio_sharing_join.xml
@@ -0,0 +1,53 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingHorizontal="?android:dialogPreferredPadding"
+    android:paddingBottom="?android:dialogPreferredPadding">
+
+    <TextView
+        android:id="@+id/share_audio_subtitle"
+        style="@style/DeviceAudioSharingText"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:paddingBottom="24dp"
+        android:textFontWeight="400" />
+
+    <Button
+        android:id="@+id/share_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" />
+
+    <Button
+        android:id="@+id/cancel_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:text="Not now" />
+</LinearLayout>
\ 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
new file mode 100644
index 0000000..0513c4b
--- /dev/null
+++ b/res/layout/dialog_custom_title_audio_sharing.xml
@@ -0,0 +1,41 @@
+<?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.
+  -->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:padding="?android:dialogPreferredPadding">
+
+    <ImageView
+        android:id="@+id/title_icon"
+        android:layout_width="32dp"
+        android:layout_height="32dp"
+        android:layout_gravity="center"
+        android:tint="?android:attr/colorControlNormal" />
+
+    <TextView
+        android:id="@+id/title_text"
+        style="?android:attr/windowTitleStyle"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center"
+        android:maxLines="2"
+        android:paddingTop="14dp"
+        android:textAlignment="center"
+        android:textSize="24sp" />
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/dialog_eid_status.xml b/res/layout/dialog_eid_status.xml
index 77d6494..3297dac 100644
--- a/res/layout/dialog_eid_status.xml
+++ b/res/layout/dialog_eid_status.xml
@@ -27,8 +27,7 @@
         style="@style/device_info_dialog_value"
         android:id="@+id/esim_id_value"
         android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:textIsSelectable="true" />
+        android:layout_height="wrap_content" />
 
     <ImageView
         android:id="@+id/esim_id_qrcode"
diff --git a/res/layout/dialog_mobile_network_rename.xml b/res/layout/dialog_mobile_network_rename.xml
index 921ab86..2c583d3 100644
--- a/res/layout/dialog_mobile_network_rename.xml
+++ b/res/layout/dialog_mobile_network_rename.xml
@@ -80,13 +80,15 @@
                 android:paddingTop="@dimen/sim_label_padding"
                 android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
                 android:textColor="?android:attr/textColorPrimary"
-                android:text="@string/status_operator"/>
+                android:text="@string/status_operator"
+                android:visibility="gone"/>
 
             <TextView
                 android:id="@+id/operator_name_value"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:text="@string/device_info_not_available"/>
+                android:text="@string/device_info_not_available"
+                android:visibility="gone"/>
 
             <TextView
                 android:id="@+id/number_label"
@@ -95,13 +97,15 @@
                 android:paddingTop="@dimen/sim_label_padding"
                 android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Subhead"
                 android:textColor="?android:attr/textColorPrimary"
-                android:text="@string/status_number_sim_status"/>
+                android:text="@string/status_number_sim_status"
+                android:visibility="gone"/>
 
             <TextView
                 android:id="@+id/number_value"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:text="@string/device_info_not_available"/>
+                android:text="@string/device_info_not_available"
+                android:visibility="gone"/>
 
         </LinearLayout>
 
diff --git a/res/layout/face_enroll_accessibility_toggle.xml b/res/layout/face_enroll_accessibility_toggle.xml
index a56655d..f2987db 100644
--- a/res/layout/face_enroll_accessibility_toggle.xml
+++ b/res/layout/face_enroll_accessibility_toggle.xml
@@ -16,70 +16,53 @@
 
 <RelativeLayout
     xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
     android:orientation="vertical"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
     style="?attr/face_layout_theme">
 
-    <!-- Top divider -->
-    <View
-        android:layout_alignParentTop="true"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?android:attr/listDivider" />
-
     <!-- Title -->
     <com.google.android.setupdesign.view.RichTextView
         android:id="@+id/title"
-        android:paddingHorizontal="8dp"
-        android:paddingTop="8dp"
-        android:paddingBottom="4dp"
+        android:layout_marginBottom="4dp"
         android:gravity="start"
         android:layout_alignParentStart="true"
         android:layout_toStartOf="@+id/toggle"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:textColor="?android:attr/textColorPrimary"
-        android:textSize="@dimen/sud_description_text_size"
+        android:textSize="22sp"
+        android:letterSpacing="0"
+        android:minHeight="28dp"
+        android:fontFamily="@string/sudFontSecondary"
         />
 
     <!-- Subtitle -->
     <TextView
         android:id="@+id/subtitle"
-        android:paddingHorizontal="8dp"
-        android:paddingBottom="8dp"
         android:layout_alignParentStart="true"
         android:layout_toStartOf="@+id/toggle"
         android:layout_below="@+id/title"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:text="@string/security_settings_face_enroll_introduction_accessibility_expanded"
-        android:textColor="?android:attr/textColorSecondary"/>
-
-    <!-- Vertical divider -->
-    <View
-        android:layout_centerVertical="true"
-        android:layout_alignTop="@+id/toggle"
-        android:layout_alignBottom="@+id/toggle"
-        android:layout_toStartOf="@+id/toggle"
-        android:layout_width="1dp"
-        android:layout_height="wrap_content"
-        android:background="?android:attr/listDivider" />
+        android:textSize="14sp"
+        android:letterSpacing="0"
+        android:minHeight="20dp"
+        android:fontFamily="@string/sudFontSecondaryText"
+        android:textColor="?androidprv:attr/materialColorOnSurfaceVariant"/>
 
     <!-- Toggle -->
-    <Switch
+    <com.google.android.material.materialswitch.MaterialSwitch
         android:layout_alignParentEnd="true"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
+        android:layout_marginStart="16dp"
+        android:theme="@style/Theme.Material3.DynamicColors.DayNight"
+        android:background="@null"
         android:id="@+id/toggle"
         android:layout_centerVertical="true"
         android:checked="true"/>
 
-    <!-- Bottom divider -->
-    <View
-        android:layout_below="@+id/subtitle"
-        android:layout_width="match_parent"
-        android:layout_height="1dp"
-        android:background="?android:attr/listDivider" />
-
 </RelativeLayout>
diff --git a/res/layout/fingerprint_enroll_find_sensor_graphic.xml b/res/layout/fingerprint_enroll_find_sensor_graphic.xml
index 0690457..d818d48 100644
--- a/res/layout/fingerprint_enroll_find_sensor_graphic.xml
+++ b/res/layout/fingerprint_enroll_find_sensor_graphic.xml
@@ -25,12 +25,12 @@
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:contentDescription="@string/security_settings_fingerprint_enroll_find_sensor_content_description"
-        android:src="@drawable/fingerprint_sensor_location"
-        android:scaleType="centerInside"/>
+        android:scaleType="centerInside"
+        android:src="@drawable/fingerprint_sensor_location" />
 
     <com.android.settings.biometrics.fingerprint.FingerprintLocationAnimationView
         android:id="@+id/fingerprint_sensor_location_animation"
         android:layout_width="match_parent"
-        android:layout_height="match_parent"/>
+        android:layout_height="match_parent" />
 
-</FrameLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/fingerprint_enroll_introduction.xml b/res/layout/fingerprint_enroll_introduction.xml
index 5271e6a..37587db 100644
--- a/res/layout/fingerprint_enroll_introduction.xml
+++ b/res/layout/fingerprint_enroll_introduction.xml
@@ -81,6 +81,7 @@
                     android:id="@+id/footer_message_2"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_message_2"
                     style="@style/BiometricEnrollIntroMessage" />
             </LinearLayout>
 
@@ -102,6 +103,7 @@
                     android:id="@+id/footer_message_3"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_message_3"
                     style="@style/BiometricEnrollIntroMessage" />
             </LinearLayout>
 
@@ -110,6 +112,7 @@
                 android:id="@+id/footer_title_1"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
+                android:text="@string/security_settings_fingerprint_enroll_introduction_footer_title_1"
                 style="@style/BiometricEnrollIntroTitle" />
 
             <LinearLayout
@@ -130,6 +133,7 @@
                     android:id="@+id/footer_message_4"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_message_4"
                     style="@style/BiometricEnrollIntroMessage" />
             </LinearLayout>
 
@@ -139,7 +143,7 @@
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
                 style="@style/BiometricEnrollIntroTitle"
-                android:text="@string/security_settings_face_enroll_introduction_info_title"/>
+                android:text="@string/security_settings_fingerprint_enroll_introduction_footer_title_2"/>
 
             <LinearLayout
                 android:layout_width="match_parent"
@@ -159,6 +163,7 @@
                     android:id="@+id/footer_message_5"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_message_5"
                     style="@style/BiometricEnrollIntroMessage" />
             </LinearLayout>
 
@@ -180,6 +185,7 @@
                     android:id="@+id/footer_message_6"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
+                    android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_message_6"
                     style="@style/BiometricEnrollIntroMessage" />
             </LinearLayout>
 
diff --git a/res/layout/fingerprint_v2_enroll_find_sensor.xml b/res/layout/fingerprint_v2_enroll_find_sensor.xml
new file mode 100644
index 0000000..bff0cfb
--- /dev/null
+++ b/res/layout/fingerprint_v2_enroll_find_sensor.xml
@@ -0,0 +1,45 @@
+<?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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
+    style="?attr/fingerprint_layout_theme"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        android:id="@+id/content_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:clipChildren="false"
+        android:clipToPadding="false"
+        android:orientation="vertical">
+
+        <Space
+            android:layout_width="wrap_content"
+            android:layout_height="0dp"
+            android:layout_weight="1" />
+
+        <include
+            layout="@layout/fingerprint_enroll_find_sensor_graphic"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal" />
+
+    </LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/fingerprint_v2_enroll_introduction.xml b/res/layout/fingerprint_v2_enroll_introduction.xml
new file mode 100644
index 0000000..cf39206
--- /dev/null
+++ b/res/layout/fingerprint_v2_enroll_introduction.xml
@@ -0,0 +1,226 @@
+<?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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/setup_wizard_layout"
+    style="?attr/fingerprint_layout_theme"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        style="@style/SudContentFrame"
+        android:id="@+id/enroll_intro_content_view"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:clipChildren="false"
+        android:clipToPadding="false"
+        android:orientation="vertical">
+
+        <com.google.android.setupdesign.view.RichTextView
+            android:id="@+id/error_text"
+            style="@style/SudDescription.Glif"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+        <FrameLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content">
+
+            <ImageView
+                style="@style/SudContentIllustration"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:contentDescription="@null"
+                android:src="@drawable/fingerprint_enroll_introduction" />
+
+        </FrameLayout>
+
+        <!-- Contains the extra information text at the bottom -->
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:orientation="vertical">
+
+            <!-- How it works -->
+            <TextView
+                style="@style/BiometricEnrollIntroTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/security_settings_fingerprint_v2_enroll_introduction_footer_title_2" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/icon_fingerprint"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:contentDescription="@null"
+                    android:src="@drawable/ic_fingerprint_24dp" />
+
+                <Space
+                    android:layout_width="16dp"
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/footer_message_2"
+                    style="@style/BiometricEnrollIntroMessage"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/icon_device_locked"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:contentDescription="@null"
+                    android:src="@drawable/ic_lock_24dp" />
+
+                <Space
+                    android:layout_width="16dp"
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/footer_message_3"
+                    style="@style/BiometricEnrollIntroMessage"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content" />
+            </LinearLayout>
+
+            <!-- You're in control -->
+            <TextView
+                android:id="@+id/footer_title_1"
+                style="@style/BiometricEnrollIntroTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/icon_trash_can"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:contentDescription="@null"
+                    android:src="@drawable/ic_trash_can" />
+
+                <Space
+                    android:layout_width="16dp"
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/footer_message_4"
+                    style="@style/BiometricEnrollIntroMessage"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content" />
+            </LinearLayout>
+
+            <!-- Keep in mind -->
+            <TextView
+                android:id="@+id/footer_title_2"
+                style="@style/BiometricEnrollIntroTitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/security_settings_face_enroll_introduction_info_title" />
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/icon_info"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:contentDescription="@null"
+                    android:src="@drawable/ic_info_outline_24dp" />
+
+                <Space
+                    android:layout_width="16dp"
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/footer_message_5"
+                    style="@style/BiometricEnrollIntroMessage"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/icon_shield"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:contentDescription="@null"
+                    android:src="@drawable/ic_guarantee" />
+
+                <Space
+                    android:layout_width="16dp"
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/footer_message_6"
+                    style="@style/BiometricEnrollIntroMessage"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content" />
+            </LinearLayout>
+
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:orientation="horizontal">
+
+                <ImageView
+                    android:id="@+id/icon_link"
+                    android:layout_width="wrap_content"
+                    android:layout_height="wrap_content"
+                    android:contentDescription="@null"
+                    android:src="@drawable/ic_link_24dp" />
+
+                <Space
+                    android:layout_width="16dp"
+                    android:layout_height="wrap_content" />
+
+                <TextView
+                    android:id="@+id/footer_learn_more"
+                    style="@style/BiometricEnrollIntroMessage"
+                    android:layout_width="match_parent"
+                    android:layout_height="wrap_content"
+                    android:linksClickable="true"
+                    android:paddingBottom="0dp"
+                    android:text="@string/security_settings_fingerprint_v2_enroll_introduction_message_learn_more" />
+            </LinearLayout>
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/fingerprint_v2_enroll_main.xml b/res/layout/fingerprint_v2_enroll_main.xml
new file mode 100644
index 0000000..b3d6c3d
--- /dev/null
+++ b/res/layout/fingerprint_v2_enroll_main.xml
@@ -0,0 +1,29 @@
+<?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.
+  -->
+
+<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical">
+    <androidx.fragment.app.FragmentContainerView
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/fragment_container_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+    />
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/fingerprint_v2_rfps_enroll_enrolling.xml b/res/layout/fingerprint_v2_rfps_enroll_enrolling.xml
new file mode 100644
index 0000000..710f3fb
--- /dev/null
+++ b/res/layout/fingerprint_v2_rfps_enroll_enrolling.xml
@@ -0,0 +1,76 @@
+<?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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    style="?attr/fingerprint_layout_theme"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    >
+
+    <LinearLayout
+        xmlns:android="http://schemas.android.com/apk/res/android"
+        android:id="@+id/content_view"
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:clipChildren="false"
+        android:clipToPadding="false"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:gravity="center"
+            android:orientation="vertical">
+
+            <com.google.android.setupdesign.view.FillContentLayout
+                android:layout_width="@dimen/fingerprint_progress_bar_max_size"
+                android:layout_height="@dimen/fingerprint_progress_bar_max_size"
+                android:layout_marginVertical="24dp"
+                android:paddingTop="0dp"
+                android:paddingBottom="0dp">
+            <com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.widget.RFPSProgressBar
+                xmlns:android="http://schemas.android.com/apk/res/android"
+                android:id="@+id/fingerprint_progress_bar"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:background="@drawable/fp_illustration"
+                android:minHeight="@dimen/fingerprint_progress_bar_min_size"
+                android:progress="0"
+                    />
+
+            </com.google.android.setupdesign.view.FillContentLayout>
+
+            <TextView
+                android:id="@+id/text"
+                style="@style/TextAppearance.ErrorText"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal|bottom"
+                android:accessibilityLiveRegion="polite"
+                android:gravity="center"
+                android:visibility="invisible" />
+
+        </LinearLayout>
+
+    </LinearLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/keyboard_layout_picker.xml b/res/layout/keyboard_layout_picker.xml
index 6b163da..5e62a2c 100644
--- a/res/layout/keyboard_layout_picker.xml
+++ b/res/layout/keyboard_layout_picker.xml
@@ -17,10 +17,35 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:layout_marginHorizontal="@dimen/keyboard_picker_margin"
     android:id="@+id/keyboard_layout_picker_container"
     android:orientation="vertical">
 
     <FrameLayout
+        android:id="@+id/keyboard_layout_preview_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:background="@drawable/keyboard_review_layout_background">
+        <ImageView
+            android:id="@+id/keyboard_layout_preview"
+            android:layout_marginTop="@dimen/keyboard_picker_margin_small"
+            android:layout_marginBottom="@dimen/keyboard_picker_margin_large"
+            android:layout_marginHorizontal="@dimen/keyboard_picker_margin_small"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:adjustViewBounds="true"
+            android:scaleType="fitCenter" />
+        <TextView
+            android:id="@+id/keyboard_layout_preview_name"
+            android:layout_width="match_parent"
+            android:layout_height="@dimen/keyboard_picker_margin_large"
+            android:textSize="@dimen/keyboard_picker_text_size"
+            android:textColor="?android:attr/textColorPrimary"
+            android:layout_gravity="bottom"
+            android:gravity="center" />
+    </FrameLayout>
+
+    <FrameLayout
         android:id="@+id/keyboard_layout_title"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
diff --git a/res/layout/power_anomaly_hints.xml b/res/layout/power_anomaly_hints.xml
new file mode 100644
index 0000000..3781046
--- /dev/null
+++ b/res/layout/power_anomaly_hints.xml
@@ -0,0 +1,43 @@
+<?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.
+-->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:orientation="horizontal"
+    android:gravity="center_vertical|start"
+    android:padding="8dp"
+    android:background="@drawable/battery_hints_chip_bg_ripple">
+
+    <ImageView
+        android:layout_width="16dp"
+        android:layout_height="16dp"
+        android:contentDescription="@string/battery_hints_warning_icon_a11y"
+        android:src="@drawable/ic_battery_tips_warning_icon" />
+
+    <TextView
+        android:id="@+id/warning_info"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="8dp"
+        android:textAlignment="viewStart"
+        android:textAppearance="@style/TextAppearance.MaterialComponents.Subtitle2"
+        android:textColor="?androidprv:attr/materialColorOnSurface"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/power_usage_time.xml b/res/layout/power_usage_time.xml
new file mode 100644
index 0000000..bad68f4
--- /dev/null
+++ b/res/layout/power_usage_time.xml
@@ -0,0 +1,49 @@
+<?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.
+-->
+
+<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"
+    android:orientation="vertical">
+
+    <TextView
+        android:id="@+id/time_title"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingTop="20dp"
+        android:textAlignment="viewStart"
+        android:textAppearance="?android:attr/textAppearanceLarge"
+        android:textColor="?android:attr/textColorPrimary" />
+
+    <TextView
+        android:id="@+id/time_summary"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginVertical="4dp"
+        android:textAlignment="viewStart"
+        android:textAppearance="?android:attr/textAppearanceSmall"
+        android:textColor="?android:attr/textColorSecondary" />
+
+    <include layout="@layout/power_anomaly_hints"
+        android:visibility="gone"
+        android:id="@+id/anomaly_hints"
+        android:paddingBottom="20dp"/>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preference_compose.xml b/res/layout/preference_compose.xml
new file mode 100644
index 0000000..14cb2d7
--- /dev/null
+++ b/res/layout/preference_compose.xml
@@ -0,0 +1,21 @@
+<?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.compose.ui.platform.ComposeView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content" />
diff --git a/res/layout/preference_credential_manager_with_buttons.xml b/res/layout/preference_credential_manager_with_buttons.xml
new file mode 100644
index 0000000..1889cea
--- /dev/null
+++ b/res/layout/preference_credential_manager_with_buttons.xml
@@ -0,0 +1,127 @@
+<?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_single_target.xml with buttons added below text. -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall"
+    android:gravity="center_vertical"
+    android:orientation="vertical"
+    android:background="?android:attr/selectableItemBackground"
+    android:clipToPadding="false">
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_weight="1"
+        android:orientation="horizontal"
+        android:gravity="start|center_vertical"
+        android:clipToPadding="false"
+        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+        <LinearLayout
+            android:id="@+id/icon_frame"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="start|center_vertical"
+            android:minWidth="56dp"
+            android:orientation="horizontal"
+            android:clipToPadding="false"
+            android:paddingTop="4dp"
+            android:paddingBottom="4dp">
+            <androidx.preference.internal.PreferenceImageView
+                android:id="@android:id/icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                settings:maxWidth="48dp"
+                settings:maxHeight="48dp" />
+        </LinearLayout>
+
+        <RelativeLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:paddingTop="16dp"
+            android:paddingBottom="16dp">
+
+            <TextView
+                android:id="@android:id/title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:textAppearance="?android:attr/textAppearanceListItem"
+                android:ellipsize="marquee" />
+
+            <TextView
+                android:id="@android:id/summary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@android:id/title"
+                android:layout_alignStart="@android:id/title"
+                android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+                android:textColor="?android:attr/textColorSecondary"
+                android:hyphenationFrequency="normalFast"
+                android:lineBreakWordStyle="phrase"
+                android:maxLines="10" />
+
+        </RelativeLayout>
+
+    </LinearLayout>
+
+    <!-- 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
+        android:id="@+id/credman_button_frame"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:gravity="start|center_vertical"
+        android:minWidth="56dp"
+        android:orientation="horizontal"
+        android:clipToPadding="false"
+        android:paddingTop="4dp"
+        android:paddingLeft="80dp"
+        android:paddingBottom="4dp">
+
+            <Button
+                android:id="@+id/change_button"
+                android:layout_width="match_parent"
+                style="@style/CredentialManagerChangeButton"
+                android:layout_height="wrap_content"
+                android:text="@string/credman_button_change"/>
+
+            <Button
+                android:id="@+id/open_button"
+                style="@style/CredentialManagerOpenButton"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                android:text="@string/credman_button_open"/>
+
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preference_icon_credman.xml b/res/layout/preference_icon_credman.xml
new file mode 100644
index 0000000..3db0c3b
--- /dev/null
+++ b/res/layout/preference_icon_credman.xml
@@ -0,0 +1,98 @@
+<?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.
+  -->
+
+<!-- Based off preference_material_settings.xml except that ripple on only on the left side. -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:minHeight="?android:attr/listPreferredItemHeightSmall"
+    android:gravity="center_vertical"
+    android:background="@android:color/transparent"
+    android:clipToPadding="false">
+
+    <LinearLayout
+        android:layout_width="0dp"
+        android:layout_height="match_parent"
+        android:layout_weight="1"
+        android:background="?android:attr/selectableItemBackground"
+        android:gravity="start|center_vertical"
+        android:clipToPadding="false"
+        android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+        android:paddingEnd="?android:attr/listPreferredItemPaddingEnd">
+
+        <LinearLayout
+            android:id="@+id/icon_frame"
+            android:layout_width="48dp"
+            android:layout_height="40dp"
+            android:gravity="start|center_vertical"
+            android:minWidth="56dp"
+            android:orientation="horizontal"
+            android:clipToPadding="false"
+            android:paddingTop="4dp"
+            android:paddingBottom="4dp">
+            <androidx.preference.internal.PreferenceImageView
+                android:id="@android:id/icon"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                settings:maxWidth="32dp"
+                settings:maxHeight="32dp" />
+        </LinearLayout>
+
+        <RelativeLayout
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_weight="1"
+            android:paddingTop="16dp"
+            android:paddingBottom="16dp">
+
+            <TextView
+                android:id="@android:id/title"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:singleLine="true"
+                android:textAppearance="?android:attr/textAppearanceListItem"
+                android:ellipsize="marquee" />
+
+            <TextView
+                android:id="@android:id/summary"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_below="@android:id/title"
+                android:layout_alignStart="@android:id/title"
+                android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+                android:textColor="?android:attr/textColorSecondary"
+                android:maxLines="10" />
+
+        </RelativeLayout>
+
+    </LinearLayout>
+
+    <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:paddingEnd="16dp"
+        android:minWidth="61dp"
+        android:gravity="center"
+        android:orientation="vertical" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/preference_widget_lock.xml b/res/layout/preference_widget_lock.xml
new file mode 100644
index 0000000..a5ee455
--- /dev/null
+++ b/res/layout/preference_widget_lock.xml
@@ -0,0 +1,30 @@
+<?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.
+-->
+
+<!-- A lock icon for preference in the audio streams page. -->
+<ImageView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/lock_icon"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:layout_gravity="center"
+    android:paddingStart="24dp"
+    android:paddingEnd="24dp"
+    android:background="?android:attr/selectableItemBackground"
+    android:scaleType="center"
+    android:src="@drawable/ic_lock_closed"
+    android:importantForAccessibility="no" />
+
diff --git a/res/layout/preference_widget_primary_switch.xml b/res/layout/preference_widget_primary_switch.xml
deleted file mode 100644
index 53c06b5..0000000
--- a/res/layout/preference_widget_primary_switch.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<Switch
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/switchWidget"
-    android:layout_width="match_parent"
-    android:layout_height="match_parent"
-    android:minWidth="@dimen/two_target_min_width"
-    android:gravity="center_vertical"
-    android:clickable="false" />
diff --git a/res/layout/preference_widget_qrcode.xml b/res/layout/preference_widget_qrcode.xml
new file mode 100644
index 0000000..7994fe1
--- /dev/null
+++ b/res/layout/preference_widget_qrcode.xml
@@ -0,0 +1,25 @@
+<?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.
+  -->
+
+<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/button_icon"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:minWidth="@dimen/two_target_min_width"
+    android:minHeight="@dimen/min_tap_target_size"
+    android:layout_gravity="center"
+    android:background="?android:attr/selectableItemBackground"/>
\ No newline at end of file
diff --git a/res/layout/preference_widget_switch_compat.xml b/res/layout/preference_widget_switch_compat.xml
new file mode 100644
index 0000000..e833171
--- /dev/null
+++ b/res/layout/preference_widget_switch_compat.xml
@@ -0,0 +1,26 @@
+<?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.
+  -->
+
+<com.google.android.material.materialswitch.MaterialSwitch
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/switchWidget"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:background="@null"
+    android:clickable="false"
+    android:focusable="false"
+    android:theme="@style/Theme.Material3.DynamicColors.DayNight" />
diff --git a/res/layout/preference_widget_sync_toggle.xml b/res/layout/preference_widget_sync_toggle.xml
index c12b9f6..ae1e6f3 100644
--- a/res/layout/preference_widget_sync_toggle.xml
+++ b/res/layout/preference_widget_sync_toggle.xml
@@ -38,11 +38,5 @@
         android:layout_marginEnd="8dip"
         android:contentDescription="@string/sync_active" />
 
-    <Switch
-        android:id="@android:id/switch_widget"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:focusable="false"
-        android:clickable="false" />
+    <include layout="@layout/preference_widget_switch_compat" />
 </LinearLayout>
diff --git a/res/layout/private_space_advancing_screen.xml b/res/layout/private_space_advancing_screen.xml
new file mode 100644
index 0000000..35d6462
--- /dev/null
+++ b/res/layout/private_space_advancing_screen.xml
@@ -0,0 +1,46 @@
+<!--
+  ~ 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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/private_space_autoadvance_screen"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_private_space_icon">
+    <LinearLayout style="@style/SudContentFrame"
+                  android:layout_width="match_parent"
+                  android:layout_height="match_parent"
+                  android:orientation="vertical">
+        <ImageView
+            android:id="@+id/setup_advance_image"
+            android:layout_width="match_parent"
+            android:layout_height="0dp"
+            android:layout_weight="1"
+            android:contentDescription="@null"
+            android:src="@null"/>
+
+        <TextView
+            android:id="@+id/createMessage"
+            style="@style/PrivateSpaceSetupTextFontStyle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:textSize="14sp"
+            android:text="@string/private_space_setting_up_text"
+            android:layout_marginBottom="24dp"/>
+
+    </LinearLayout>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/private_space_confirm_deletion.xml b/res/layout/private_space_confirm_deletion.xml
new file mode 100644
index 0000000..31418e1
--- /dev/null
+++ b/res/layout/private_space_confirm_deletion.xml
@@ -0,0 +1,30 @@
+<?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.setupdesign.GlifLoadingLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/private_space_delete_confirm"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:icon="@drawable/ic_delete_accent"
+    app:sudUsePartnerHeavyTheme="true"
+    app:sudIllustrationType="default"
+    app:sudDescriptionText = "@string/private_space_confirm_deletion_summary"
+    app:sucHeaderText="@string/private_space_confirm_deletion_header">
+</com.google.android.setupdesign.GlifLoadingLayout>
\ No newline at end of file
diff --git a/res/layout/private_space_delete.xml b/res/layout/private_space_delete.xml
new file mode 100644
index 0000000..9fc3615
--- /dev/null
+++ b/res/layout/private_space_delete.xml
@@ -0,0 +1,68 @@
+<?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.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/private_space_delete_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:orientation="vertical"
+    android:icon="@drawable/ic_delete_accent"
+    app:sucHeaderText="@string/private_space_delete_header">
+
+    <ScrollView
+        android:id="@+id/private_space_delete_scrollview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+
+        <LinearLayout
+            android:id="@+id/private_space_delete_container"
+            style="@style/SudContentFrame"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="16dp"
+            android:orientation="vertical">
+
+            <TextView
+                style="@style/TextAppearance.PreferenceTitle.SettingsLib"
+                android:id="@+id/sud_layout_subtitle"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:text="@string/private_space_delete_summary"/>
+
+            <TextView
+                android:id="@+id/accounts_label"
+                style="@style/TextAppearance.PreferenceTitle.SettingsLib"
+                android:layout_marginTop="20dp"
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                android:text="@string/private_space_accounts"/>
+            <LinearLayout
+                android:id="@+id/accounts"
+                android:layout_marginTop="20dp"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:orientation="vertical"
+                android:visibility="gone">
+                <!-- Do not add any children here as they will be removed in the MainClear.java
+                   code. A list of accounts will be inserted programmatically. -->
+            </LinearLayout>
+        </LinearLayout>
+    </ScrollView>
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/private_space_education_screen.xml b/res/layout/private_space_education_screen.xml
new file mode 100644
index 0000000..0f57e1e
--- /dev/null
+++ b/res/layout/private_space_education_screen.xml
@@ -0,0 +1,101 @@
+<!--
+  ~ 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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/ps_education_screen"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:filterTouchesWhenObscured="true"
+    app:sucHeaderText="@string/private_space_setup_title"
+    app:sudDescriptionText="@string/private_space_hide_apps_summary"
+    android:icon="@drawable/ic_private_space_icon">
+    <ScrollView
+        android:id="@+id/main_clear_scrollview"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent">
+    <LinearLayout
+        android:id="@+id/sud_layout_icon_container"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical">
+        <ImageView
+            android:id="@+id/setup_education_image"
+            style="@style/SudContentIllustration"
+            android:layout_width="match_parent"
+            android:layout_marginLeft="24dp"
+            android:layout_marginRight="24dp"
+            android:layout_height="wrap_content"
+            android:src="@drawable/private_space_illustration"/>
+        <TextView
+            style="@style/PrivateSpaceSetupSubHeaderStyle"
+            android:text="@string/private_space_how_title"/>
+        <RelativeLayout
+            style="@style/PrivateSpaceSetupBulletPointLayoutStyle">
+            <ImageView
+                android:id="@+id/lockIcon"
+                style="@style/PrivateSpaceBulletPointIconStyle"
+                android:src="@drawable/ic_lock_closed" />
+            <TextView
+                style="@style/PrivateSpaceBulletPointTextFontStyle"
+                android:layout_toRightOf="@+id/lockIcon"
+                android:text="@string/private_space_protected_lock_text"/>
+        </RelativeLayout>
+        <RelativeLayout
+            style="@style/PrivateSpaceSetupBulletPointLayoutStyle">
+            <ImageView
+                android:id="@+id/bellIcon"
+                style="@style/PrivateSpaceBulletPointIconStyle"
+                android:src="@drawable/ic_notifications" />
+            <TextView
+                style="@style/PrivateSpaceBulletPointTextFontStyle"
+                android:layout_toRightOf="@+id/bellIcon"
+                android:text="@string/private_space_hidden_notifications_text"/>
+        </RelativeLayout>
+        <RelativeLayout
+            style="@style/PrivateSpaceSetupBulletPointLayoutStyle"
+            android:layout_width="fill_parent"
+            android:layout_height="wrap_content">
+            <ImageView
+                android:id="@+id/appsIcon"
+                style="@style/PrivateSpaceBulletPointIconStyle"
+                android:src="@drawable/ic_apps" />
+            <TextView
+                style="@style/PrivateSpaceBulletPointTextFontStyle"
+                android:layout_toRightOf="@+id/appsIcon"
+                android:text="@string/private_space_access_bottom_text"/>
+        </RelativeLayout>
+        <Space
+            android:layout_width="wrap_content"
+            android:layout_height="16dp"/>
+        <RelativeLayout
+            style="@style/PrivateSpaceSetupBulletPointLayoutStyle">
+            <ImageView
+                android:id="@+id/infoIcon"
+                style="@style/PrivateSpaceBulletPointIconStyle"
+                android:layout_width="18dp"
+                android:layout_height="18dp"
+                android:src="@drawable/ic_info_outline_24dp" />
+            <TextView
+                style="@style/PrivateSpaceBulletPointTextFontStyle"
+                android:textSize = "14sp"
+                android:layout_toRightOf="@+id/infoIcon"
+                android:text="@string/private_space_apps_permission_text"/>
+        </RelativeLayout>
+    </LinearLayout>
+    </ScrollView>
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/private_space_setlock_screen.xml b/res/layout/private_space_setlock_screen.xml
new file mode 100644
index 0000000..64a2ff2
--- /dev/null
+++ b/res/layout/private_space_setlock_screen.xml
@@ -0,0 +1,43 @@
+<!--
+  ~ 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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/ps_fragment_lock"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:filterTouchesWhenObscured="true"
+    app:sucHeaderText="@string/private_space_lockscreen_title"
+    app:sudDescriptionText="@string/private_space_lockscreen_summary"
+    android:icon="@drawable/ic_lock">
+    <com.google.android.setupdesign.view.FillContentLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:maxWidth="@dimen/animation_max_size"
+        android:maxHeight="@dimen/animation_max_size">
+
+        <ImageView
+            android:id="@+id/privatespace_lock_image"
+            android:layout_width="match_parent"
+            android:layout_height="match_parent"
+            android:scaleType="fitCenter"
+            android:contentDescription="@null"
+            android:src="@drawable/private_space_choose_lock_illustration"/>
+
+    </com.google.android.setupdesign.view.FillContentLayout>
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/private_space_setup_success.xml b/res/layout/private_space_setup_success.xml
new file mode 100644
index 0000000..759373f
--- /dev/null
+++ b/res/layout/private_space_setup_success.xml
@@ -0,0 +1,36 @@
+<!--
+  ~ 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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/private_space_setup_success"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:filterTouchesWhenObscured="true"
+    app:sucHeaderText="@string/private_space_success_title"
+    app:sudDescriptionText="@string/private_space_access_text"
+    android:icon="@drawable/ic_privatespace_done">
+
+    <ImageView
+        android:id="@+id/privatespace_success_image"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:layout_marginLeft="24dp"
+        android:layout_marginRight="24dp"
+        android:src="@drawable/private_space_illustration"/>
+
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/privatespace_account_login_error.xml b/res/layout/privatespace_account_login_error.xml
new file mode 100644
index 0000000..beae22f
--- /dev/null
+++ b/res/layout/privatespace_account_login_error.xml
@@ -0,0 +1,28 @@
+<?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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/ps_error_page_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:filterTouchesWhenObscured="true"
+    app:sucHeaderText="@string/private_space_retry_signin_title"
+    app:sudDescriptionText="@string/private_space_retry_summary"
+    android:icon="@drawable/ic_error_red">
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/privatespace_creation_error.xml b/res/layout/privatespace_creation_error.xml
new file mode 100644
index 0000000..0ec0cb6
--- /dev/null
+++ b/res/layout/privatespace_creation_error.xml
@@ -0,0 +1,26 @@
+<!--
+  ~ 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.
+  -->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/private_space_setup_error"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:filterTouchesWhenObscured="true"
+    app:sucHeaderText="@string/private_space_error_screen_title"
+    android:icon="@drawable/ic_warning_circle_red">
+</com.google.android.setupdesign.GlifLayout>
diff --git a/res/layout/privatespace_setup_root.xml b/res/layout/privatespace_setup_root.xml
new file mode 100644
index 0000000..79d63ad
--- /dev/null
+++ b/res/layout/privatespace_setup_root.xml
@@ -0,0 +1,33 @@
+<?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.
+  -->
+
+<FrameLayout
+    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:ignore="MergeRootFrame">
+
+    <androidx.fragment.app.FragmentContainerView
+        android:id="@+id/ps_nav_host_fragment"
+        android:name="androidx.navigation.fragment.NavHostFragment"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        app:defaultNavHost="true" />
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/qrcode_scanner_fragment.xml b/res/layout/qrcode_scanner_fragment.xml
index e6d1c32..d402dc3 100644
--- a/res/layout/qrcode_scanner_fragment.xml
+++ b/res/layout/qrcode_scanner_fragment.xml
@@ -17,7 +17,6 @@
 
 <LinearLayout
     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:orientation="vertical">
@@ -26,36 +25,22 @@
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
         android:layout_weight="3"
-        android:layout_marginBottom="35dp">
+        android:layout_marginBottom="55dp">
         <LinearLayout
             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">
-            <ImageView
-                android:src="@drawable/ic_qr_code_scanner"
-                android:tint="?androidprv:attr/materialColorPrimaryContainer"
-                android:layout_width="@dimen/qrcode_icon_size"
-                android:layout_height="@dimen/qrcode_icon_size"
-                android:contentDescription="@null"/>
-
             <TextView
                 style="@style/QrCodeScanner"
-                android:textSize="24sp"
-                android:text="@string/bluetooth_find_broadcast_button_scan"
+                android:text="Scan an audio stream QR code to listen with the active LE device"
                 android:gravity="center"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:layout_marginTop="19dp"/>
-
-            <TextView
-                style="@style/QrCodeScanner"
-                android:text="@string/bt_le_audio_scan_qr_code_scanner"
-                android:gravity="center"
-                android:layout_width="match_parent"
-                android:layout_height="wrap_content"
-                android:layout_marginTop="8dp"/>
+                android:layout_marginTop="20dp"/>
         </LinearLayout>
     </LinearLayout>
 
diff --git a/res/layout/remote_auth_enroll_enrolling.xml b/res/layout/remote_auth_enroll_enrolling.xml
new file mode 100644
index 0000000..45886f7
--- /dev/null
+++ b/res/layout/remote_auth_enroll_enrolling.xml
@@ -0,0 +1,64 @@
+<?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.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:icon="@drawable/ic_lock"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    app:sucHeaderText="@string/security_settings_remoteauth_enroll_enrolling_title" >
+
+    <LinearLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:orientation="vertical"
+        android:clipToPadding="false"
+        android:clipChildren="false">
+
+        <TextView
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_enrolling_list_heading" />
+
+        <ProgressBar
+            android:id="@+id/enrolling_list_progress_bar"
+            android:layout_width="@dimen/remoteauth_enrolling_progress_bar_size"
+            android:layout_height="@dimen/remoteauth_enrolling_progress_bar_size"
+            android:visibility="invisible"/>
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/discovered_authenticator_list"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content" />
+
+        <TextView
+            style="@style/TextAppearance.ErrorText"
+            android:id="@+id/error_text"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_horizontal|bottom"
+            android:accessibilityLiveRegion="polite"
+            android:gravity="center"
+            android:visibility="invisible"/>
+
+    </LinearLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_enroll_finish.xml b/res/layout/remote_auth_enroll_finish.xml
new file mode 100644
index 0000000..ccd42d4
--- /dev/null
+++ b/res/layout/remote_auth_enroll_finish.xml
@@ -0,0 +1,48 @@
+<?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.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_lock"
+    app:sucHeaderText="@string/security_settings_remoteauth_enroll_finish_title"
+    app:sudDescriptionText="@string/security_settings_remoteauth_enroll_finish_description">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingHorizontal="@dimen/remoteauth_fragment_padding_horizontal">
+
+        <com.airbnb.lottie.LottieAnimationView
+            android:id="@+id/enroll_finish_animation"
+            android:importantForAccessibility="no"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"
+            app:lottie_rawRes="@raw/remoteauth_enroll_finish_animation"
+            app:lottie_loop="true"
+            app:lottie_autoPlay="true" />
+
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_enroll_introduction.xml b/res/layout/remote_auth_enroll_introduction.xml
new file mode 100644
index 0000000..e55d0b2
--- /dev/null
+++ b/res/layout/remote_auth_enroll_introduction.xml
@@ -0,0 +1,142 @@
+<?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.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    android:icon="@drawable/ic_lock"
+    app:sucUsePartnerResource="false"
+    app:sucHeaderText="@string/security_settings_remoteauth_enroll_introduction_title"
+    app:sudDescriptionText="@string/security_settings_remoteauth_enroll_introduction_message">
+
+    <androidx.constraintlayout.widget.ConstraintLayout
+        style="@style/SudContentFrame"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingHorizontal="@dimen/remoteauth_fragment_padding_horizontal"
+        app:layout_optimizationLevel="barrier">
+
+        <com.android.settings.remoteauth.introduction.IntroductionImageCarousel
+            android:id="@+id/image_carousel_view"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintTop_toTopOf="parent"  />
+
+        <!-- How it works -->
+        <TextView
+            android:id="@+id/explanation_subheading_how_it_works"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_how_title"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/image_carousel_view" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_lock_open"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_lock_open_24dp"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_subheading_how_it_works" />
+
+        <TextView
+            android:id="@+id/explanation_lock_open_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_lock_open"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_lock_open"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_lock_open" />
+
+        <androidx.constraintlayout.widget.Barrier
+            android:id="@+id/explanation_lock_open_description_barrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:barrierDirection="bottom"
+            app:constraint_referenced_ids="explanation_icon_lock_open, explanation_lock_open_description" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_notifications"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_notifications"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_lock_open_description_barrier"/>
+
+        <TextView
+            android:id="@+id/explanation_notifications_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_notifications"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_notifications"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_notifications" />
+
+        <androidx.constraintlayout.widget.Barrier
+            android:id="@+id/explanation_notifications_description_barrier"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            app:barrierDirection="bottom"
+            app:constraint_referenced_ids="explanation_icon_notifications,explanation_notifications_description" />
+
+        <!-- You're in control -->
+        <TextView
+            android:id="@+id/explanation_subheading_youre_in_control"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/BiometricEnrollIntroTitle"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_youre_in_control_title"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_notifications_description_barrier" />
+
+        <ImageView
+            android:id="@+id/explanation_icon_remove_watch"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:importantForAccessibility="no"
+            android:background="@drawable/ic_delete"
+            app:layout_constraintStart_toStartOf="parent"
+            app:layout_constraintTop_toBottomOf="@id/explanation_subheading_youre_in_control" />
+
+        <TextView
+            android:id="@+id/explanation_remove_watch_description"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginStart="@dimen/remoteauth_introduction_description_start_margin"
+            style="@style/BiometricEnrollIntroMessage"
+            android:text="@string/security_settings_remoteauth_enroll_introduction_info_remove_watch"
+            app:layout_constrainedWidth="true"
+            app:layout_constraintEnd_toEndOf="parent"
+            app:layout_constraintStart_toEndOf="@id/explanation_icon_remove_watch"
+            app:layout_constraintTop_toTopOf="@id/explanation_icon_remove_watch" />
+    </androidx.constraintlayout.widget.ConstraintLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_enrolling_authenticator_item.xml b/res/layout/remote_auth_enrolling_authenticator_item.xml
new file mode 100644
index 0000000..c92222b
--- /dev/null
+++ b/res/layout/remote_auth_enrolling_authenticator_item.xml
@@ -0,0 +1,52 @@
+<?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.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/authenticator_item_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginVertical="@dimen/remoteauth_enrolling_authenticator_vertical_margin"
+    android:minHeight="@dimen/remoteauth_touchable_area_minimum_span">
+
+    <TextView
+        android:id="@+id/discovered_authenticator_name"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="@dimen/remoteauth_enrolling_authenticator_horizontal_margin"
+        android:ellipsize="end"
+        android:maxLines="1"
+        app:layout_constrainedWidth="true"
+        app:layout_constraintHorizontal_bias="0"
+        app:layout_constraintHorizontal_chainStyle="spread_inside"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toStartOf="@+id/authenticator_radio_button"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ImageView
+        android:id="@+id/authenticator_radio_button"
+        android:layout_width="@dimen/remoteauth_icon_small_size"
+        android:layout_height="@dimen/remoteauth_icon_small_size"
+        android:background="@drawable/ic_radio_button_unchecked_black_24dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toEndOf="@id/discovered_authenticator_name"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel.xml b/res/layout/remote_auth_introduction_image_carousel.xml
new file mode 100644
index 0000000..feb8e6a
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel.xml
@@ -0,0 +1,78 @@
+<?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.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingHorizontal="@dimen/remoteauth_introduction_fragment_padding_horizontal"
+    app:layout_optimizationLevel="barrier">
+
+    <androidx.viewpager2.widget.ViewPager2
+        android:id="@+id/image_carousel"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ImageView
+        android:id="@+id/carousel_back_arrow"
+        app:layout_constraintStart_toStartOf="parent"
+        android:contentDescription="@string/wizard_back"
+        android:layout_width="@dimen/remoteauth_touchable_area_minimum_span"
+        android:layout_height="@dimen/remoteauth_touchable_area_minimum_span"
+        android:scaleType="center"
+        android:tintMode="src_in"
+        app:layout_constraintEnd_toStartOf="@id/carousel_progress_indicator"
+        app:layout_constraintHorizontal_chainStyle="spread_inside"
+        app:layout_constraintTop_toTopOf="@id/carousel_progress_indicator"
+        app:layout_constraintBottom_toBottomOf="@id/carousel_progress_indicator"
+        android:background="@drawable/ic_arrow_back" />
+
+    <androidx.recyclerview.widget.RecyclerView
+        android:id="@+id/carousel_progress_indicator"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"
+        app:layout_constraintStart_toEndOf="@id/carousel_back_arrow"
+        app:layout_constraintEnd_toStartOf="@id/carousel_forward_arrow"
+        app:layout_constraintTop_toBottomOf="@id/image_carousel"
+        android:layout_marginTop="@dimen/remoteauth_carousel_progress_margin" />
+
+    <ImageView
+        android:id="@+id/carousel_forward_arrow"
+        android:contentDescription="@string/wizard_next"
+        android:layout_width="@dimen/remoteauth_touchable_area_minimum_span"
+        android:layout_height="@dimen/remoteauth_touchable_area_minimum_span"
+        android:scaleType="center"
+        android:tintMode="src_in"
+        app:layout_constraintStart_toEndOf="@id/carousel_progress_indicator"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="@id/carousel_progress_indicator"
+        app:layout_constraintBottom_toBottomOf="@id/carousel_progress_indicator"
+        android:background="@drawable/ic_arrow_forward" />
+
+    <androidx.constraintlayout.widget.Barrier
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:barrierMargin="@dimen/remoteauth_carousel_progress_margin"
+        app:barrierDirection="bottom"
+        app:constraint_referenced_ids="carousel_back_arrow,carousel_forward_arrow" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel_item.xml b/res/layout/remote_auth_introduction_image_carousel_item.xml
new file mode 100644
index 0000000..4b599e2
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel_item.xml
@@ -0,0 +1,40 @@
+<?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.
+-->
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              xmlns:app="http://schemas.android.com/apk/res-auto"
+              android:id="@+id/explanation_animation_container"
+              android:layout_width="match_parent"
+              android:layout_height="match_parent"
+              android:orientation="vertical"
+              android:gravity="center_horizontal">
+
+    <com.airbnb.lottie.LottieAnimationView
+        android:id="@+id/explanation_animation"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:importantForAccessibility="no"
+        app:lottie_loop="true"
+        app:lottie_autoPlay="true" />
+
+    <TextView
+        android:id="@+id/carousel_text"
+        android:textSize="@dimen/remoteauth_introduction_subheading_text_size"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content" />
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml b/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml
new file mode 100644
index 0000000..b9ee39a
--- /dev/null
+++ b/res/layout/remote_auth_introduction_image_carousel_progress_icon.xml
@@ -0,0 +1,23 @@
+<?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.
+-->
+
+<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
+           xmlns:app="http://schemas.android.com/apk/res-auto"
+           android:layout_width="@dimen/remoteauth_carousel_progress_circle_diameter"
+           android:layout_height="@dimen/remoteauth_carousel_progress_circle_diameter"
+           android:layout_marginHorizontal="@dimen/remoteauth_carousel_progress_circle_margin"
+           android:background="@drawable/ring_progress" />
\ No newline at end of file
diff --git a/res/layout/remote_auth_root.xml b/res/layout/remote_auth_root.xml
new file mode 100644
index 0000000..795807f
--- /dev/null
+++ b/res/layout/remote_auth_root.xml
@@ -0,0 +1,33 @@
+<?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.
+-->
+
+<FrameLayout
+    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:ignore="MergeRootFrame">
+
+    <androidx.fragment.app.FragmentContainerView
+        android:id="@+id/nav_host_fragment"
+        android:name="androidx.navigation.fragment.NavHostFragment"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        app:defaultNavHost="true" />
+
+</FrameLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_settings.xml b/res/layout/remote_auth_settings.xml
new file mode 100644
index 0000000..089dda4
--- /dev/null
+++ b/res/layout/remote_auth_settings.xml
@@ -0,0 +1,95 @@
+<?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.
+-->
+
+<com.google.android.setupdesign.GlifLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/setup_wizard_layout"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent"
+    app:sucUsePartnerResource="false"
+    app:sucHeaderText="@string/security_settings_remoteauth_settings_title"
+    app:sudDescriptionText="@string/security_settings_remoteauth_settings_description" >
+
+    <LinearLayout
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:orientation="vertical"
+        android:gravity="start"
+        android:paddingHorizontal="@dimen/remoteauth_padding_horizontal">
+
+        <androidx.recyclerview.widget.RecyclerView
+            android:id="@+id/registered_authenticator_list"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/remoteauth_settings_top_margin"/>
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:id="@+id/add_authenticator_layout"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginVertical="@dimen/remoteauth_device_vertical_margin"
+            android:minHeight="@dimen/remoteauth_touchable_area_minimum_span"
+            android:clickable="true">
+
+            <ImageView
+                android:id="@+id/add_icon"
+                android:layout_width="@dimen/remoteauth_icon_small_size"
+                android:layout_height="@dimen/remoteauth_icon_small_size"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                android:background="@drawable/ic_add_24dp"
+                android:clickable="false" />
+            <TextView
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginHorizontal="@dimen/remoteauth_settings_device_horizontal_margin"
+                android:textColor="?android:attr/textColorPrimary"
+                android:textSize="@dimen/remoteauth_device_name_text_size"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toEndOf="@id/add_icon"
+                app:layout_constraintTop_toTopOf="parent"
+                android:text="@string/security_settings_remoteauth_settings_register_new_authenticator"
+                android:clickable="false" />
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+        <ImageView
+            android:layout_marginTop="@dimen/remoteauth_settings_top_margin"
+            android:layout_width="@dimen/remoteauth_icon_small_size"
+            android:layout_height="@dimen/remoteauth_icon_small_size"
+            android:background="@drawable/ic_info_outline_24dp"/>
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/remoteauth_settings_top_margin"
+            android:textSize="@dimen/remoteauth_fragment_subtitle_text_size"
+            android:text="@string/security_settings_remoteauth_settings_info_footer"
+            android:textColor="?android:attr/textColorPrimary" />
+
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginTop="@dimen/remoteauth_settings_top_margin"
+            android:textSize="@dimen/remoteauth_fragment_subtitle_text_size"
+            android:text="@string/security_settings_remoteauth_settings_learn_more"
+            android:textColor="?android:attr/textColorPrimary" />
+
+    </LinearLayout>
+
+</com.google.android.setupdesign.GlifLayout>
\ No newline at end of file
diff --git a/res/layout/remote_auth_settings_authenticator_item.xml b/res/layout/remote_auth_settings_authenticator_item.xml
new file mode 100644
index 0000000..e2ec07c
--- /dev/null
+++ b/res/layout/remote_auth_settings_authenticator_item.xml
@@ -0,0 +1,68 @@
+<?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.constraintlayout.widget.ConstraintLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:id="@+id/authenticator_item_layout"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:layout_marginVertical="@dimen/remoteauth_device_vertical_margin"
+    android:minHeight="@dimen/remoteauth_touchable_area_minimum_span">
+
+    <ImageView
+        android:id="@+id/device_icon"
+        android:layout_width="@dimen/remoteauth_icon_small_size"
+        android:layout_height="@dimen/remoteauth_icon_small_size"
+        android:background="@drawable/ic_watch_24dp"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintStart_toStartOf="parent"
+        app:layout_constraintTop_toTopOf="parent"/>
+
+    <TextView
+        android:id="@+id/authenticator_name_text"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:layout_marginHorizontal="@dimen/remoteauth_settings_device_horizontal_margin"
+        android:ellipsize="end"
+        android:maxLines="1"
+        app:layout_constrainedWidth="true"
+        app:layout_constraintHorizontal_bias="0"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toStartOf="@+id/barrier"
+        app:layout_constraintStart_toEndOf="@id/device_icon"
+        app:layout_constraintTop_toTopOf="parent" />
+
+    <ImageView
+        android:id="@+id/remove_icon"
+        android:layout_width="@dimen/remoteauth_icon_small_size"
+        android:layout_height="@dimen/remoteauth_icon_small_size"
+        android:tint="?android:attr/colorPrimary"
+        android:background="@drawable/ic_delete"
+        app:layout_constraintBottom_toBottomOf="parent"
+        app:layout_constraintEnd_toEndOf="parent"
+        app:layout_constraintTop_toTopOf="parent"
+        android:contentDescription="@string/security_settings_remoteauth_settings_remove_device" />
+
+    <androidx.constraintlayout.widget.Barrier
+        android:id="@+id/barrier"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        app:barrierDirection="start"
+        app:constraint_referenced_ids="remove_icon" />
+
+</androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/res/layout/remove_account_button.xml b/res/layout/remove_account_button.xml
index 070ecc5..2d308ae 100644
--- a/res/layout/remove_account_button.xml
+++ b/res/layout/remove_account_button.xml
@@ -19,7 +19,7 @@
     android:layout_height="wrap_content"
     android:orientation="vertical">
 
-    <Button
+    <com.android.settings.widget.RestrictedButton
         android:id="@+id/button"
         android:text="@string/remove_account_label"
         android:layout_width="wrap_content"
diff --git a/res/layout/satellite_setting_more_information_layout.xml b/res/layout/satellite_setting_more_information_layout.xml
new file mode 100644
index 0000000..ce2fabe
--- /dev/null
+++ b/res/layout/satellite_setting_more_information_layout.xml
@@ -0,0 +1,50 @@
+<?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:background="@drawable/satellite_more_information_background_outline"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
+    android:minHeight="?android:attr/listPreferredItemHeight"
+    android:focusable="false"
+    android:gravity="center_vertical">
+
+    <TextView
+        android:id="@android:id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+        android:textColor="?android:attr/textColorSecondary"
+        android:focusable="false"
+        android:hyphenationFrequency="normalFast"
+        android:lineBreakWordStyle="phrase"
+        android:maxLines="10" />
+
+    <TextView
+        android:id="@android:id/summary"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:textAppearance="?android:attr/textAppearanceListItemSecondary"
+        android:textColor="?android:attr/textColorSecondary"
+        android:focusable="false"
+        android:hyphenationFrequency="normalFast"
+        android:lineBreakWordStyle="phrase"
+        android:maxLines="10" />
+
+</LinearLayout>
diff --git a/res/layout/search_bar.xml b/res/layout/search_bar.xml
index dfc9596..1e83e22 100644
--- a/res/layout/search_bar.xml
+++ b/res/layout/search_bar.xml
@@ -34,6 +34,9 @@
             android:paddingStart="@dimen/search_bar_padding_start"
             android:paddingEnd="@dimen/search_bar_padding_end"
             android:background="@drawable/search_bar_selected_background"
+            android:focusable="true"
+            android:focusableInTouchMode="true"
+            android:nextFocusForward="@+id/homepage_container"
             android:contentInsetStartWithNavigation="@dimen/search_bar_content_inset"
             android:navigationIcon="@drawable/ic_homepage_search">
             <TextView
diff --git a/res/layout/search_bar_two_pane_version.xml b/res/layout/search_bar_two_pane_version.xml
index f98985c..337294e 100644
--- a/res/layout/search_bar_two_pane_version.xml
+++ b/res/layout/search_bar_two_pane_version.xml
@@ -29,6 +29,9 @@
         android:paddingStart="@dimen/search_bar_padding_start_two_pane"
         android:paddingEnd="@dimen/search_bar_padding_end_two_pane"
         android:background="@drawable/search_bar_selected_background"
+        android:focusable="true"
+        android:focusableInTouchMode="true"
+        android:nextFocusForward="@+id/homepage_container"
         android:contentInsetStartWithNavigation="@dimen/search_bar_content_inset"
         android:navigationIcon="@drawable/ic_homepage_search">
         <TextView
@@ -40,4 +43,4 @@
             android:layout_gravity="start"
             android:text="@string/search_settings"/>
     </Toolbar>
-</com.google.android.material.card.MaterialCardView>
\ No newline at end of file
+</com.google.android.material.card.MaterialCardView>
diff --git a/res/layout/sfps_enroll_finish_base.xml b/res/layout/sfps_enroll_finish_base.xml
index f442e90..9e65c83 100644
--- a/res/layout/sfps_enroll_finish_base.xml
+++ b/res/layout/sfps_enroll_finish_base.xml
@@ -24,6 +24,7 @@
 
     <LinearLayout
         style="@style/SudContentFrame"
+        android:id="@+id/sfps_enrollment_finish_content_frame"
         android:layout_width="match_parent"
         android:layout_height="match_parent"
         android:orientation="vertical"
@@ -31,6 +32,7 @@
         android:clipChildren="false">
 
             <com.google.android.setupdesign.view.FillContentLayout
+                android:id="@+id/sfps_enrollment_finish_content_layout"
                 android:layout_width="@dimen/sfps_enrollment_finished_icon_max_size"
                 android:layout_height="@dimen/sfps_enrollment_finished_icon_max_size"
                 android:layout_marginTop="24dp"
diff --git a/res/layout/switch_bar.xml b/res/layout/switch_bar.xml
deleted file mode 100644
index 3bdfbd4..0000000
--- a/res/layout/switch_bar.xml
+++ /dev/null
@@ -1,52 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-/*
-** Copyright 2014, The Android Open Source Project
-**
-** Licensed under the Apache License, Version 2.0 (the "License");
-** you may not use this file except in compliance with the License.
-** You may obtain a copy of the License at
-**
-**     http://www.apache.org/licenses/LICENSE-2.0
-**
-** Unless required by applicable law or agreed to in writing, software
-** distributed under the License is distributed on an "AS IS" BASIS,
-** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-** See the License for the specific language governing permissions and
-** limitations under the License.
-*/
--->
-
-<merge xmlns:android="http://schemas.android.com/apk/res/android">
-
-    <TextView
-        android:id="@+id/switch_text"
-        android:layout_height="wrap_content"
-        android:layout_width="0dp"
-        android:layout_weight="1"
-        android:layout_gravity="center_vertical"
-        android:maxLines="2"
-        android:ellipsize="end"
-        android:textAppearance="@style/TextAppearance.Switch"
-        android:textColor="?android:attr/textColorPrimaryInverse"
-        android:textAlignment="viewStart"/>
-
-    <ImageView
-        android:id="@+id/restricted_icon"
-        android:layout_width="@dimen/restricted_icon_size"
-        android:layout_height="@dimen/restricted_icon_size"
-        android:tint="?android:attr/colorAccent"
-        android:theme="@android:style/Theme.Material"
-        android:layout_gravity="center_vertical"
-        android:layout_marginEnd="@dimen/restricted_icon_margin_end"
-        android:visibility="gone" />
-
-    <com.android.settings.widget.ToggleSwitch
-        android:id="@+id/switch_widget"
-        android:layout_width="wrap_content"
-        android:layout_height="wrap_content"
-        android:layout_gravity="center_vertical"
-        android:theme="@style/Widget.SwitchBar.Switch"/>
-
-</merge>
-
diff --git a/res/layout/udfps_enroll_enrolling_v2.xml b/res/layout/udfps_enroll_enrolling_v2.xml
index 4675606..b579bed 100644
--- a/res/layout/udfps_enroll_enrolling_v2.xml
+++ b/res/layout/udfps_enroll_enrolling_v2.xml
@@ -70,25 +70,7 @@
         app:lottie_loop="true"
         app:lottie_speed=".85" />
 
-    <com.android.settings.biometrics2.ui.widget.UdfpsEnrollView
-        android:id="@+id/udfps_animation_view"
-        android:layout_width="218.42dp"
-        android:layout_height="216dp"
-        android:layout_alignParentTop="true"
-        android:layout_centerHorizontal="true"
-        android:layout_marginTop="553dp">
-
-        <ImageView
-            android:id="@+id/udfps_enroll_animation_fp_progress_view"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" />
-
-        <!-- Fingerprint -->
-        <ImageView
-            android:id="@+id/udfps_enroll_animation_fp_view"
-            android:layout_width="match_parent"
-            android:layout_height="match_parent" />
-    </com.android.settings.biometrics2.ui.widget.UdfpsEnrollView>
+    <include layout="@layout/udfps_enroll_enrolling_v2_udfps_view"/>
 
     <Button
         style="@style/SudGlifButton.Secondary"
diff --git a/res/layout/udfps_enroll_enrolling_v2_udfps_view.xml b/res/layout/udfps_enroll_enrolling_v2_udfps_view.xml
new file mode 100644
index 0000000..a29b2fd
--- /dev/null
+++ b/res/layout/udfps_enroll_enrolling_v2_udfps_view.xml
@@ -0,0 +1,36 @@
+<?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.
+  -->
+<com.android.settings.biometrics2.ui.widget.UdfpsEnrollView
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/udfps_animation_view"
+    android:layout_width="218.42dp"
+    android:layout_height="216dp"
+    android:layout_alignParentTop="true"
+    android:layout_centerHorizontal="true"
+    android:layout_marginTop="553dp">
+
+    <ImageView
+        android:id="@+id/udfps_enroll_animation_fp_progress_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+
+    <!-- Fingerprint -->
+    <ImageView
+        android:id="@+id/udfps_enroll_animation_fp_view"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent" />
+</com.android.settings.biometrics2.ui.widget.UdfpsEnrollView>
diff --git a/res/layout/user_dictionary_add_word_fullscreen.xml b/res/layout/user_dictionary_add_word_fullscreen.xml
index 42bd197..cf73d411 100644
--- a/res/layout/user_dictionary_add_word_fullscreen.xml
+++ b/res/layout/user_dictionary_add_word_fullscreen.xml
@@ -17,31 +17,49 @@
     android:id="@+id/user_dict_settings_add_dialog_top"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
-    android:orientation="vertical" >
-
-    <EditText
-        android:id="@+id/user_dictionary_add_word_text"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:layout_gravity="fill_horizontal|center_vertical"
-        android:layout_marginBottom="8dip"
-        android:layout_marginStart="8dip"
-        android:layout_marginTop="8dip"
-        android:hint="@string/user_dict_settings_add_word_hint"
-        android:imeOptions="flagNoFullscreen"
-        android:inputType="textNoSuggestions"
-        android:maxLength="@integer/maximum_user_dictionary_word_length" >
-
-        <requestFocus />
-    </EditText>
+    android:paddingStart="@dimen/settingslib_listPreferredItemPaddingStart"
+    android:paddingLeft="@dimen/settingslib_listPreferredItemPaddingStart"
+    android:paddingEnd="@dimen/settingslib_listPreferredItemPaddingStart"
+    android:paddingRight="@dimen/settingslib_listPreferredItemPaddingStart"
+    android:orientation="vertical">
 
     <GridLayout
         android:id="@+id/user_dictionary_add_word_grid"
         android:layout_width="match_parent"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="8dip"
-        android:layout_marginStart="8dip"
-        android:columnCount="2" >
+        android:columnCount="2">
+
+        <TextView
+            android:id="@+id/user_dictionary_add_word_label"
+            style="?android:attr/textAppearanceSmall"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_gravity="start|center_vertical"
+            android:text="@string/user_dict_settings_add_word_option_name"
+            android:textColor="?android:attr/textColorPrimary" />
+
+        <EditText
+            android:id="@+id/user_dictionary_add_word_text"
+            android:layout_height="wrap_content"
+            android:layout_gravity="fill_horizontal|center_vertical"
+            android:layout_marginBottom="8dip"
+            android:layout_marginStart="8dip"
+            android:layout_marginTop="8dip"
+            android:minHeight="@dimen/min_tap_target_size"
+            android:hint="@string/user_dict_settings_add_word_hint"
+            android:imeOptions="flagNoFullscreen"
+            android:inputType="textNoSuggestions"
+            android:maxLength="@integer/maximum_user_dictionary_word_length">
+
+            <requestFocus />
+        </EditText>
+    </GridLayout>
+
+    <GridLayout
+        android:id="@+id/user_dictionary_add_shortcut_grid"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:columnCount="2">
 
         <TextView
             android:id="@+id/user_dictionary_add_shortcut_label"
@@ -49,7 +67,8 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:layout_gravity="start|center_vertical"
-            android:text="@string/user_dict_settings_add_shortcut_option_name" />
+            android:text="@string/user_dict_settings_add_shortcut_option_name"
+            android:textColor="?android:attr/textColorPrimary" />
 
         <EditText
             android:id="@+id/user_dictionary_add_shortcut"
@@ -58,6 +77,7 @@
             android:layout_marginBottom="8dip"
             android:layout_marginStart="8dip"
             android:layout_marginTop="8dip"
+            android:minHeight="@dimen/min_tap_target_size"
             android:hint="@string/user_dict_settings_add_shortcut_hint"
             android:imeOptions="flagNoFullscreen"
             android:inputType="textNoSuggestions"
diff --git a/res/layout/vpn_dialog.xml b/res/layout/vpn_dialog.xml
index 892a176..062772e 100644
--- a/res/layout/vpn_dialog.xml
+++ b/res/layout/vpn_dialog.xml
@@ -66,25 +66,6 @@
                 <EditText style="@style/vpn_value"
                         android:id="@+id/server"/>
 
-                <CheckBox style="@style/vpn_value"
-                        android:id="@+id/mppe"
-                        android:text="@string/vpn_mppe"
-                        android:visibility="gone"/>
-
-                <LinearLayout android:id="@+id/l2tp"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:orientation="vertical"
-                        android:visibility="gone">
-                    <TextView style="@style/vpn_label"
-                            android:text="@string/vpn_l2tp_secret"
-                            android:labelFor="@+id/l2tp_secret"/>
-                    <EditText style="@style/vpn_value"
-                            android:id="@+id/l2tp_secret"
-                            android:password="true"
-                            android:hint="@string/vpn_not_used"/>
-                </LinearLayout>
-
                 <LinearLayout android:id="@+id/options_ipsec_identity"
                         android:layout_width="match_parent"
                         android:layout_height="wrap_content"
@@ -154,31 +135,6 @@
                     android:layout_height="wrap_content"
                     android:orientation="vertical"
                     android:visibility="gone">
-                <LinearLayout android:id="@+id/network_options"
-                        android:layout_width="match_parent"
-                        android:layout_height="wrap_content"
-                        android:orientation="vertical">
-                    <TextView style="@style/vpn_label"
-                            android:text="@string/vpn_search_domains"
-                            android:labelFor="@+id/search_domains"/>
-                    <EditText style="@style/vpn_value"
-                            android:id="@+id/search_domains"
-                            android:hint="@string/vpn_not_used"/>
-
-                    <TextView style="@style/vpn_label"
-                            android:text="@string/vpn_dns_servers"
-                            android:labelFor="@+id/dns_servers"/>
-                    <EditText style="@style/vpn_value"
-                            android:id="@+id/dns_servers"
-                            android:hint="@string/vpn_not_used"/>
-
-                    <TextView style="@style/vpn_label"
-                            android:text="@string/vpn_routes"
-                            android:labelFor="@+id/routes"/>
-                    <EditText style="@style/vpn_value"
-                            android:id="@+id/routes"
-                            android:hint="@string/vpn_not_used"/>
-                </LinearLayout>
 
                 <TextView android:id="@+id/vpn_proxy_settings_title"
                           style="@style/vpn_label"
diff --git a/res/layout/wifi_add_network_view.xml b/res/layout/wifi_add_network_view.xml
index 480d597..d698adf 100644
--- a/res/layout/wifi_add_network_view.xml
+++ b/res/layout/wifi_add_network_view.xml
@@ -18,8 +18,7 @@
 <androidx.core.widget.NestedScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:fitsSystemWindows="true">
+    android:layout_height="wrap_content">
         <LinearLayout
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
diff --git a/res/layout/wifi_dpp_qrcode_generator_fragment.xml b/res/layout/wifi_dpp_qrcode_generator_fragment.xml
index f9c7169..f70abd5 100644
--- a/res/layout/wifi_dpp_qrcode_generator_fragment.xml
+++ b/res/layout/wifi_dpp_qrcode_generator_fragment.xml
@@ -55,6 +55,7 @@
                 android:id="@+id/password"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
+                android:minHeight="@dimen/min_tap_target_size"
                 android:layout_marginBottom="24dp"
                 android:textAlignment="center"
                 android:textIsSelectable="true"
diff --git a/res/layout/wifi_network_config.xml b/res/layout/wifi_network_config.xml
index 6fe39bf..3de1a38 100644
--- a/res/layout/wifi_network_config.xml
+++ b/res/layout/wifi_network_config.xml
@@ -22,6 +22,19 @@
     android:orientation="vertical"
     android:paddingBottom="8dip">
 
+    <LinearLayout android:id="@+id/wep_warning_layout"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:paddingBottom="20dp"
+        style="@style/wifi_item"
+        android:visibility="gone">
+        <TextView
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            style="@style/wifi_item_label"
+            android:text="@string/wifi_settings_warning_wep_network"/>
+    </LinearLayout>
+
     <LinearLayout android:id="@+id/info"
                   android:layout_width="match_parent"
                   android:layout_height="wrap_content"
@@ -413,7 +426,8 @@
         <LinearLayout android:id="@+id/metered_settings_fields"
                       android:layout_width="match_parent"
                       android:layout_height="wrap_content"
-                      style="@style/wifi_item">
+                      style="@style/wifi_item"
+                      android:visibility="gone">
 
             <TextView android:id="@+id/metered_settings_title"
                       android:layout_width="wrap_content"
diff --git a/res/navigation/private_space_delete_nav.xml b/res/navigation/private_space_delete_nav.xml
new file mode 100644
index 0000000..b8850b7
--- /dev/null
+++ b/res/navigation/private_space_delete_nav.xml
@@ -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.
+  -->
+
+<navigation xmlns:android="http://schemas.android.com/apk/res/android"
+            xmlns:app="http://schemas.android.com/apk/res-auto"
+            android:id="@+id/private_space_delete_nav"
+            app:startDestination="@id/ps_delete_fragment">
+    <fragment android:id="@+id/ps_delete_fragment"
+              android:name="com.android.settings.privatespace.delete.PrivateSpaceDeleteFragment"
+              android:label="fragment_ps_delete">
+        <action
+            android:id="@+id/action_authenticate_delete"
+            app:destination="@id/ps_delete_progress_fragment"/>
+    </fragment>
+    <fragment android:id="@+id/ps_delete_progress_fragment"
+              android:name="com.android.settings.privatespace.delete.PrivateSpaceDeletionProgressFragment"
+              android:label="fragment_ps_auto_advance"/>
+</navigation>
diff --git a/res/navigation/privatespace_main_context_nav.xml b/res/navigation/privatespace_main_context_nav.xml
new file mode 100644
index 0000000..f76afac
--- /dev/null
+++ b/res/navigation/privatespace_main_context_nav.xml
@@ -0,0 +1,68 @@
+<?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.
+  -->
+
+<navigation xmlns:android="http://schemas.android.com/apk/res/android"
+            xmlns:app="http://schemas.android.com/apk/res-auto"
+            android:id="@+id/privatespace_main_context_nav"
+            app:startDestination="@id/ps_education_fragment">
+    <fragment android:id="@+id/ps_education_fragment"
+              android:name="com.android.settings.privatespace.PrivateSpaceEducation"
+              android:label="fragment_ps_education">
+        <action
+            android:id="@+id/action_education_to_auto_advance"
+            app:destination="@id/ps_auto_advance_fragment"/>
+    </fragment>
+    <fragment android:id="@+id/ps_auto_advance_fragment"
+              android:name="com.android.settings.privatespace.AutoAdvanceSetupFragment"
+              android:label="fragment_ps_auto_advance">
+        <action
+            android:id="@+id/action_advance_profile_error"
+            app:destination="@id/ps_profile_error_fragment"/>
+        <action
+            android:id="@+id/action_set_lock_fragment"
+            app:destination="@id/ps_profile_lock_fragment"/>
+    </fragment>
+    <fragment android:id="@+id/ps_profile_error_fragment"
+              android:name="com.android.settings.privatespace.PrivateProfileCreationError"
+              android:label="fragment_ps_error">
+        <action
+            android:id="@+id/action_retry_profile_creation"
+            app:destination="@id/ps_auto_advance_fragment"/>
+    </fragment>
+    <fragment android:id="@+id/ps_profile_success_fragment"
+              android:name="com.android.settings.privatespace.SetupSuccessFragment"
+              android:label="fragment_ps_success"/>
+    <fragment android:id="@+id/ps_account_error_fragment"
+              android:name="com.android.settings.privatespace.PrivateSpaceAccountLoginError"
+              android:label="fragment_account_error">
+        <action
+            android:id="@+id/action_advance_login_error"
+            app:destination="@id/ps_account_error_fragment"/>
+        <action
+            android:id="@+id/action_success_fragment"
+            app:destination="@id/ps_profile_success_fragment"/>
+    </fragment>
+    <fragment android:id="@+id/ps_profile_lock_fragment"
+              android:name="com.android.settings.privatespace.PrivateSpaceSetLockFragment"
+              android:label="fragment_ps_lock">
+        <action
+            android:id="@+id/action_advance_login_error"
+            app:destination="@id/ps_account_error_fragment"/>
+    </fragment>
+    <action android:id="@+id/action_success_fragment"
+            app:destination="@id/ps_profile_success_fragment"/>
+</navigation>
diff --git a/res/navigation/remote_auth_navigation.xml b/res/navigation/remote_auth_navigation.xml
new file mode 100644
index 0000000..356a57f
--- /dev/null
+++ b/res/navigation/remote_auth_navigation.xml
@@ -0,0 +1,53 @@
+<?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.
+-->
+
+<navigation xmlns:android="http://schemas.android.com/apk/res/android"
+            xmlns:app="http://schemas.android.com/apk/res-auto"
+            android:id="@+id/remote_auth_navigation">
+
+    <fragment android:id="@+id/remote_auth_enroll_introduction_fragment"
+              android:name="com.android.settings.remoteauth.introduction.RemoteAuthEnrollIntroduction"
+              android:label="fragment_enroll_introduction">
+        <action
+            android:id="@+id/action_introduction_to_enrolling"
+            app:destination="@id/remote_auth_enroll_enrolling_fragment"/>
+    </fragment>
+
+    <fragment android:id="@+id/remote_auth_enroll_enrolling_fragment"
+              android:name="com.android.settings.remoteauth.enrolling.RemoteAuthEnrollEnrolling"
+              android:label="fragment_enroll_enrolling">
+        <action
+            android:id="@+id/action_enrolling_to_finish"
+            app:destination="@id/remote_auth_enroll_finish_fragment"/>
+    </fragment>
+
+    <fragment android:id="@+id/remote_auth_enroll_finish_fragment"
+              android:name="com.android.settings.remoteauth.finish.RemoteAuthEnrollFinish"
+              android:label="fragment_enroll_finish">
+        <action
+            android:id="@+id/action_finish_to_settings"
+            app:destination="@id/remote_auth_settings_fragment"/>
+    </fragment>
+
+    <fragment android:id="@+id/remote_auth_settings_fragment"
+              android:name="com.android.settings.remoteauth.settings.RemoteAuthSettings"
+              android:label="fragment_settings">
+        <action
+            android:id="@+id/action_settings_to_introduction"
+            app:destination="@id/remote_auth_enroll_introduction_fragment"/>
+    </fragment>
+</navigation>
\ No newline at end of file
diff --git a/res/raw/fold_setting_grace_period_selective_stay_awake_lottie.json b/res/raw/fold_setting_grace_period_selective_stay_awake_lottie.json
new file mode 100644
index 0000000..db56ef4
--- /dev/null
+++ b/res/raw/fold_setting_grace_period_selective_stay_awake_lottie.json
@@ -0,0 +1 @@
+{"v":"5.12.1","fr":60,"ip":0,"op":391,"w":412,"h":300,"nm":"Foldable_FoldingSetting_EDU_02_412x300_export","ddd":0,"assets":[{"id":"comp_0","nm":"Lockscreen","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"lock","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.5,214,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":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[5.921,11.333],[-9.868,11.333],[-9.868,-2],[5.921,-2]],"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.515,-0.522],[0.724,0],[0.515,0.522],[0,0.733],[-0.515,0.522],[-0.724,0],[-0.515,-0.522],[0,-0.733]],"o":[[-0.515,0.522],[-0.724,0],[-0.515,-0.522],[0,-0.733],[0.515,-0.522],[0.724,0],[0.515,0.522],[0,0.733]],"v":[[-0.115,6.55],[-1.974,7.333],[-3.832,6.55],[-4.605,4.667],[-3.832,2.783],[-1.974,2],[-0.115,2.783],[0.658,4.667]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-0.515,-0.522],[-0.724,0],[0,0],[-0.515,0.522],[0,0.733],[0,0],[0.515,0.522],[0.724,0],[0,0],[0,0],[-0.768,0.778],[-1.096,0],[-0.768,-0.778],[0,-1.111],[0,0],[1.283,1.3],[1.82,0],[1.283,-1.3],[0,-1.844],[0,0],[0,0],[0.515,-0.522],[0,-0.733],[0,0]],"o":[[0.515,0.522],[0,0],[0.724,0],[0.515,-0.522],[0,0],[0,-0.733],[-0.515,-0.522],[0,0],[0,0],[0,-1.111],[0.768,-0.778],[1.096,0],[0.768,0.778],[0,0],[0,-1.844],[-1.283,-1.3],[-1.82,0],[-1.283,1.3],[0,0],[0,0],[-0.724,0],[-0.515,0.522],[0,0],[0,0.733]],"v":[[-11.727,13.217],[-9.868,14],[5.921,14],[7.78,13.217],[8.553,11.333],[8.553,-2],[7.78,-3.883],[5.921,-4.667],[1.974,-4.667],[1.974,-7.333],[3.125,-10.167],[5.921,-11.333],[8.717,-10.167],[9.868,-7.333],[12.5,-7.333],[10.576,-12.05],[5.921,-14],[1.266,-12.05],[-0.658,-7.333],[-0.658,-4.667],[-9.868,-4.667],[-11.727,-3.883],[-12.5,-2],[-12.5,11.333]],"c":true},"ix":2},"nm":"Path 3","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":[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":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"clock","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.116,143.317,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":[[0.92,-2.182],[0,-2.945],[0,0],[-0.894,-2.182],[-1.578,-1.209],[-2.104,0],[-1.604,1.209],[-0.868,2.182],[0,2.919],[0.894,2.182],[1.604,1.21],[2.103,0],[1.604,-1.21]],"o":[[-0.894,2.182],[0,0],[0,2.971],[0.92,2.182],[1.604,1.183],[2.077,0],[1.604,-1.209],[0.894,-2.209],[0,-2.945],[-0.868,-2.182],[-1.578,-1.21],[-2.104,0],[-1.578,1.21]],"v":[[-20.775,-24.257],[-22.116,-16.565],[-22.116,-16.565],[-20.775,-8.835],[-17.028,-3.747],[-11.467,-1.972],[-5.945,-3.786],[-2.238,-8.874],[-0.897,-16.565],[-2.238,-24.257],[-5.945,-29.344],[-11.467,-31.159],[-17.028,-29.344]],"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.789,-2.051],[0,-2.735],[0,0],[0.789,-2.051],[1.446,-1.157],[1.972,0],[1.446,1.131],[0.815,2.051],[0,2.708],[-0.789,2.051],[-1.446,1.131],[-1.92,0],[-1.446,-1.157]],"o":[[0.815,2.051],[0,0],[0,2.735],[-0.789,2.051],[-1.446,1.131],[-1.946,0],[-1.446,-1.157],[-0.789,-2.077],[0,-2.735],[0.815,-2.051],[1.472,-1.157],[1.946,0],[1.446,1.131]],"v":[[-3.066,-23.744],[-1.843,-16.565],[-1.843,-16.565],[-3.027,-9.387],[-6.379,-4.575],[-11.507,-2.879],[-16.594,-4.575],[-19.986,-9.387],[-21.17,-16.565],[-19.986,-23.744],[-16.594,-28.516],[-11.507,-30.252],[-6.419,-28.516]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-1.394,-0.763],[-1.604,0],[0,0],[-0.868,0.316],[-0.657,0.473],[-0.394,0.526],[0,0],[0,0],[0,0],[-0.289,0.92],[0,1.157],[0.815,1.367],[1.42,0.815],[1.814,0],[1.42,-0.815],[0.815,-1.394],[0,-1.735],[-0.841,-1.367]],"o":[[1.394,0.763],[0,0],[1.078,0],[0.868,-0.316],[0.684,-0.5],[0,0],[0,0],[0,0],[0.526,-0.789],[0.316,-0.92],[0,-1.709],[-0.815,-1.394],[-1.42,-0.841],[-1.762,0],[-1.42,0.815],[-0.815,1.367],[0,1.735],[0.868,1.341]],"v":[[6.616,-14.317],[11.112,-13.173],[11.112,-13.173],[14.031,-13.647],[16.318,-14.83],[17.936,-16.368],[8.746,-2.524],[9.574,-2.012],[19.04,-16.447],[20.263,-19.011],[20.736,-22.127],[19.513,-26.741],[16.161,-30.054],[11.309,-31.317],[6.537,-30.094],[3.184,-26.781],[1.962,-22.127],[3.224,-17.473]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.736,-1.262],[0,-1.525],[0,0],[0.815,-1.236],[1.288,-0.657],[1.473,0],[1.315,0.71],[0.789,1.21],[0,1.551],[-0.736,1.262],[-1.262,0.736],[-1.604,0],[-1.288,-0.763]],"o":[[0.736,1.236],[0,0],[0,1.657],[-0.815,1.21],[-1.288,0.657],[-1.473,0],[-1.288,-0.71],[-0.763,-1.236],[0,-1.551],[0.736,-1.262],[1.288,-0.736],[1.63,0],[1.288,0.763]],"v":[[18.724,-26.268],[19.829,-22.127],[19.829,-22.127],[18.606,-17.788],[15.451,-14.988],[11.309,-14.002],[7.129,-15.067],[4.013,-17.946],[2.869,-22.127],[3.973,-26.347],[6.971,-29.344],[11.309,-30.449],[15.687,-29.305]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[-0.789,1.288],[0,1.788],[0,0],[0.605,0.973],[1.131,0.578],[1.578,0.079],[-0.947,0.552],[-0.473,0.92],[0,1.209],[0.736,1.104],[1.262,0.578],[1.63,0],[1.525,-1.078],[0.605,-1.709],[0,0],[-1.367,0.973],[-1.972,0],[-1.104,-0.526],[-0.631,-0.999],[0,-1.394],[0.526,-0.894],[1.052,-0.526],[1.657,0],[0,0],[0,0],[0,0],[-1.21,-0.526],[-0.579,-0.973],[0,-1.262],[0.684,-1.157],[1.262,-0.631],[1.683,0],[1.236,0.552],[0.815,0.947],[0.368,1.209],[0,0],[-0.894,-1.025],[-1.367,-0.631],[-1.814,0],[-1.367,0.684]],"o":[[0.815,-1.288],[0,0],[0,-1.367],[-0.579,-0.999],[-1.104,-0.578],[1.446,-0.158],[0.947,-0.552],[0.473,-0.92],[0,-1.604],[-0.71,-1.131],[-1.262,-0.578],[-2.235,0],[-1.499,1.078],[0,0],[0.578,-1.578],[1.367,-0.973],[1.446,0],[1.104,0.526],[0.657,0.973],[0,1.183],[-0.5,0.894],[-1.052,0.526],[0,0],[0,0],[0,0],[1.841,0],[1.209,0.526],[0.605,0.947],[0,1.63],[-0.684,1.157],[-1.236,0.605],[-1.63,0],[-1.236,-0.552],[-0.789,-0.947],[0,0],[0.342,1.236],[0.894,1.025],[1.367,0.605],[1.814,0],[1.393,-0.71]],"v":[[-3.46,27.293],[-2.238,22.679],[-2.238,22.679],[-3.145,19.169],[-5.709,16.802],[-9.732,15.816],[-6.142,14.751],[-4.013,12.542],[-3.303,9.348],[-4.407,5.285],[-7.365,2.721],[-11.704,1.854],[-17.344,3.471],[-20.499,7.652],[-19.631,8.046],[-16.713,4.22],[-11.704,2.761],[-7.878,3.55],[-5.275,5.837],[-4.289,9.387],[-5.078,12.503],[-7.405,14.633],[-11.467,15.422],[-14.425,15.422],[-14.425,16.329],[-11.388,16.329],[-6.813,17.118],[-4.131,19.366],[-3.224,22.679],[-4.249,26.86],[-7.168,29.542],[-11.546,30.449],[-15.845,29.621],[-18.922,27.372],[-20.657,24.138],[-21.525,24.533],[-19.671,27.925],[-16.279,30.409],[-11.507,31.317],[-6.734,30.291]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.92,-2.182],[0,-2.945],[-0.894,-2.182],[-1.578,-1.209],[-2.104,0],[-1.604,1.209],[-0.868,2.182],[0,2.919],[0.894,2.182],[1.604,1.209],[2.104,0],[1.604,-1.209]],"o":[[-0.894,2.182],[0,2.971],[0.92,2.182],[1.604,1.183],[2.077,0],[1.604,-1.209],[0.894,-2.209],[0,-2.945],[-0.868,-2.182],[-1.578,-1.209],[-2.104,0],[-1.578,1.209]],"v":[[2.238,8.874],[0.897,16.565],[2.238,24.296],[5.985,29.384],[11.546,31.159],[17.068,29.344],[20.775,24.256],[22.116,16.565],[20.775,8.874],[17.068,3.786],[11.546,1.972],[5.985,3.786]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.789,-2.051],[0,-2.735],[0.789,-2.051],[1.446,-1.157],[1.972,0],[1.446,1.131],[0.815,2.051],[0,2.708],[-0.789,2.051],[-1.446,1.131],[-1.919,0],[-1.446,-1.157]],"o":[[0.815,2.051],[0,2.735],[-0.789,2.051],[-1.446,1.131],[-1.946,0],[-1.446,-1.157],[-0.789,-2.077],[0,-2.735],[0.815,-2.051],[1.473,-1.157],[1.946,0],[1.446,1.131]],"v":[[19.947,9.387],[21.17,16.565],[19.986,23.744],[16.634,28.556],[11.507,30.252],[6.419,28.556],[3.027,23.744],[1.843,16.565],[3.027,9.387],[6.419,4.615],[11.507,2.879],[16.595,4.615]],"c":true},"ix":2},"nm":"Path 7","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":[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":"Vector","np":9,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.25,150.5,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":[[0,0],[0,4.314],[0,0],[6.829,0],[0,0],[0,-4.314],[0,0],[-4.553,0]],"o":[[4.553,0],[0,0],[0,-4.314],[0,0],[-4.553,0],[0,0],[0,4.314],[0,0]],"v":[[48.319,100.5],[57.25,91.034],[57.25,-94.611],[46.743,-102.5],[-51.497,-102.5],[-56.75,-95.67],[-56.75,93.67],[-51.497,100.5]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":5,"k":{"a":0,"k":[0.109,0.929,0.8,0.816,0.321,0.775,0.733,0.847,0.534,0.62,0.667,0.878,0.767,0.439,0.59,0.914,1,0.259,0.514,0.949],"ix":9}},"s":{"a":0,"k":[-63.755,106.612],"ix":5},"e":{"a":0,"k":[133.428,106.612],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Folded Gmail UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Ellipse 7590","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[86,6,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7590","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Ellipse 7594","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,160,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7594","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Ellipse 7593","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,128,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7593","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Ellipse 7592","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,96,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7592","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Ellipse 7591","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,64,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7591","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Ellipse 7589","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,32,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7589","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Rectangle 3470513","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,162.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470513","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Rectangle 3470511","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,130.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470511","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Rectangle 3470509","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,98.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470509","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Rectangle 3470507","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,66.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470507","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Rectangle 3470505","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,34.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470505","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Rectangle 3470512","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,156,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470512","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Rectangle 3470510","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,124,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470510","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Rectangle 3470508","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,92,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Rectangle 3470506","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,60,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470506","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Rectangle 3470504","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,28,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470504","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Rectangle 3470503","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[37,6.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[74,13],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470503","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0}]},{"id":"comp_2","nm":"Unfolded Gmail UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectangle 3470520","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,141.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470520","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Rectangle 3470519","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,132.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470519","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Rectangle 3470518","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,123.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470518","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Rectangle 3470517","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,114.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470517","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Rectangle 3470516","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,105.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470516","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Rectangle 3470515","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,96.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470515","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Ellipse 7584","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[296.494,74.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7584","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Ellipse 7598","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,209.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7598","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Ellipse 7597","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,182.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7597","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Ellipse 7596","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,155.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7596","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Ellipse 7595","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,128.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7595","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Ellipse 7579","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,101.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7579","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Rectangle 3470514","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[212.994,74.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[132,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470514","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Rectangle 3470502","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[120.994,74.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[32,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470502","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Rectangle 3470530","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,210.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470530","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Rectangle 3470528","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,183.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470528","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Rectangle 3470526","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,156.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470526","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Rectangle 3470524","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,129.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470524","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Rectangle 3470522","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,102.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470522","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Rectangle 3470529","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,204.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470529","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Rectangle 3470527","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,177.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470527","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Rectangle 3470525","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,150.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470525","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Rectangle 3470523","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,123.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470523","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Rectangle 3470521","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,96.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470521","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 4","sr":1,"ks":{"o":{"a":0,"k":0,"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":[88,88,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":608,"st":30,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[0,0,0],"to":[-10.833,0,0],"ti":[10.833,0,0]},{"t":80,"s":[-65,0,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,"ip":0,"op":608,"st":40,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,0],[5.09,0],[0,0],[-2.838,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[-2.838,0],[0,0],[5.089,0],[0,0]],"v":[[63.495,137.576],[54.264,146.808],[-54.501,114.37],[-54.56,-114.429],[54.282,-146.679],[63.915,-137.047]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,0],[5.09,0],[0,0],[-2.838,0],[0,0],[0,-9.436]],"o":[[0,8.464],[0,0],[-2.838,0],[0,0],[5.089,0],[0,0]],"v":[[63.623,136.911],[54.466,146.518],[-54.319,117.62],[-54.594,-117.179],[54.309,-145.697],[63.951,-135.939]],"c":true}]},{"t":80,"s":[{"i":[[0,0],[5.09,0],[0,0],[0,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[0,0],[0,0],[5.089,0],[0,0]],"v":[[63.599,105.138],[54.368,114.37],[-60.431,114.394],[-60.313,-114.39],[54.31,-114.429],[63.943,-104.797]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"op":608,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Swipe","parent":7,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":180,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":190,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":211,"s":[100]},{"t":221,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.2,"y":0},"t":180,"s":[206,226.954,0],"to":[0,0,0],"ti":[0,0,0]},{"t":200,"s":[206,205.954,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-0.546,55.954,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":[[-6.627,0],[0,-6.627],[6.627,0],[0,6.627]],"o":[[6.627,0],[0,6.627],[-6.627,0],[0,-6.627]],"v":[[0,-12],[12,0],[0,12],[-12,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,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.546,55.954],"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":180,"op":780,"st":180,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Mask","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":[[0,0],[0,0],[2.366,3.265],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[-1.491,-2.057],[0,0],[0,0],[0,0]],"v":[[61.778,-30],[61.807,42.127],[58.087,34.369],[54.722,30.063],[-56.028,30],[-56.028,-30.127]],"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":[-2.722,-132.437],"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":200,"op":249,"st":200,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"Lockscreen","refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":90,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":214,"s":[100]},{"t":224,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.644,"y":1},"o":{"x":0.7,"y":0},"t":200,"s":[206,150,0],"to":[0,0,0],"ti":[0,0,0]},{"t":230,"s":[206,-53,0]}],"ix":2,"l":2},"a":{"a":0,"k":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":51,"op":249,"st":51,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Folded Gmail UI","parent":2,"refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[67.273,-5.682,0],"ix":2,"l":2},"a":{"a":0,"k":[46,83,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":209,"s":[75,75,100]},{"i":{"x":[0.1,0.1,0.1],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0.7,0.7,0]},"t":214,"s":[90.455,90.455,100]},{"t":239,"s":[113.636,113.636,100]}],"ix":6,"l":2}},"ao":0,"w":92,"h":166,"ip":208,"op":606,"st":208,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[99,99,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"op":608,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Mask","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[206,150,0],"to":[1.444,0,0],"ti":[-2,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[214.667,150,0],"to":[2,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[218,150,0],"to":[1.083,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[221.167,150,0],"to":[1.083,0,0],"ti":[-1.111,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[224.5,150,0],"to":[1.111,0,0],"ti":[-1.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[227.833,150,0],"to":[1.333,0,0],"ti":[-1.528,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[232.5,150,0],"to":[1.528,0,0],"ti":[-1.583,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[237,150,0],"to":[1.583,0,0],"ti":[-1.889,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[242,150,0],"to":[1.889,0,0],"ti":[-2.167,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[248.333,150,0],"to":[2.167,0,0],"ti":[-2.278,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[255,150,0],"to":[2.278,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[262,150,0],"to":[2.5,0,0],"ti":[-3.556,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[270,150,0],"to":[3.556,0,0],"ti":[-2.222,0,0]},{"t":61,"s":[283.333,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[311.96,210.22],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"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,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":[43.52,5.61],"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":608,"st":30,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":0,"nm":"Unfolded Gmail UI","parent":2,"tt":1,"tp":10,"refId":"comp_2","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"t":50,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"t":61,"s":[0,100,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-2.282,113.897],[-17.976,113.897],[-121.273,113.897],[-130.36,105.242],[-130.36,-104.809],[-121.273,-113.897],[-1.197,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-8.034,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.243],[118.937,113.897],[20.423,113.897],[-1.182,113.897],[-16.193,117.028],[-121.36,141.834],[-130.185,134.804],[-130.289,-134.192],[-121.277,-142.03],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"t":61,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-1.125,113.897],[-16.101,117.189],[-121.089,144.98],[-130.176,136.326],[-130.286,-135.704],[-121.198,-144.793],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[99,99,100]},{"t":61,"s":[-1,99,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[116.74,102.33,0],"ix":1,"l":2},"s":{"a":0,"k":[114.5,114.5,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[115.717,-109.174],[-119.283,-109.174],[-119.283,299.701],[115.717,299.701]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.17,0],[0,0],[0,4.18],[0,0],[-4.17,0],[0,0],[0,-4.18]],"o":[[0,4.18],[0,0],[-4.18,0],[0,0],[0,-4.18],[0,0],[4.18,0],[0,0]],"v":[[112.07,92.13],[104.12,99.71],[-106.16,99.71],[-114.11,92.13],[-114.11,-91.75],[-106.16,-99.71],[104.12,-99.71],[112.07,-91.75]],"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.055,2.749],[0,0],[5.7,0],[0,0],[1.89,-1.05],[0.88,0.35],[0,0],[2.17,0],[0,0],[0,-5.7],[0,0],[-5.7,0],[0,0],[-1.89,1.05],[-0.85,-0.29],[0,0],[-2.17,0],[0,0],[0,5.7],[0,0],[0.055,2.493]],"o":[[0,0],[0,0],[0,-5.71],[0,0],[-2.17,0],[-0.88,0.35],[0,0],[-1.89,-1.06],[0,0],[-5.71,0],[0,0],[0,5.71],[0,0],[2.17,0],[0.83,-0.33],[0,0],[1.89,1.05],[0,0],[5.71,0],[0,0],[-0.069,-5.452],[0,0]],"v":[[114.45,-15.54],[114.45,-36.12],[114.45,-91.75],[104.12,-102.08],[6.42,-102.08],[0.23,-100.48],[-2.52,-100.47],[-2.55,-100.47],[-8.74,-102.08],[-106.16,-102.08],[-116.49,-91.75],[-116.49,91.75],[-106.16,102.08],[-8.54,102.08],[-2.35,100.48],[0.25,100.42],[0.35,100.48],[7.83,102.08],[104.12,102.08],[114.45,91.75],[114.45,31.38],[114.45,-0.88]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[1.133,-0.038],[0,0],[0,0],[0,0],[0,-1.46],[0,0],[1.133,-0.038],[0,0],[0,0],[0,0],[0,-1.46],[0,0]],"o":[[0,0],[0,0],[0,0],[1.133,0.038],[0,0],[0,1.46],[0,0],[0,0],[0,0],[1.133,0.038],[0,0],[0,1.46]],"v":[[115.165,-15.899],[114.482,-15.883],[114.517,-0.46],[115.165,-0.477],[117.209,2.203],[117.209,29.104],[115.165,31.783],[114.399,31.826],[114.42,-35.723],[115.165,-35.719],[117.209,-33.039],[117.209,-18.579]],"c":true},"ix":2},"nm":"Path 3","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":[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":[116.74,102.33],"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":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":608,"st":30,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":0,"k":[99,99,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true},"ix":2},"nm":"Path 2","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":607,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":17,"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.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]],"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":608,"st":40,"ct":1,"bm":0}],"markers":[{"tm":200,"cm":"swipe up\r","dr":0},{"tm":390,"cm":"End","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/res/raw/fold_setting_selective_stay_awake_lottie.json b/res/raw/fold_setting_selective_stay_awake_lottie.json
new file mode 100644
index 0000000..5271145
--- /dev/null
+++ b/res/raw/fold_setting_selective_stay_awake_lottie.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":244,"w":412,"h":300,"nm":"Foldable_FoldingSetting_EDU_02_412x300","ddd":0,"assets":[{"id":"comp_0","nm":"Folded Youtube UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectangle 3470505","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[195.532,168,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[29,6],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470505","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Rectangle 3470502","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.032,148.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[96,9],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470502","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"▽ Group 24","refId":"comp_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.647,94.93,0],"ix":2,"l":2},"a":{"a":0,"k":[19,5.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":38,"h":11,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Vector 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[194.532,63,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":[[-3.87,0],[0,-4.431],[0,0],[-2.777,0],[-1.047,-0.656]],"o":[[4.917,0],[0,0],[0.956,-2.133],[1.411,0],[1.184,-3.118]],"v":[[4.621,-4],[13.5,4],[-13.5,3.959],[-7.444,0.267],[-3.711,1.333]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"▽ Group 23","refId":"comp_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[227.627,73.222,0],"ix":2,"l":2},"a":{"a":0,"k":[23,6,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":46,"h":12,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":0,"nm":"▽ Group 21","refId":"comp_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[222.901,108.93,0],"ix":2,"l":2},"a":{"a":0,"k":[9.5,11.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":19,"h":23,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"▽ Group 18","refId":"comp_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[241.405,106.27,0],"ix":2,"l":2},"a":{"a":0,"k":[9.5,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":19,"h":28,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Rectangle 3470504","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.032,89.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[96,69],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,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":"Rectangle 3470504","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":0,"nm":"▽ Group 17","refId":"comp_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[163.262,132.883,0],"ix":2,"l":2},"a":{"a":0,"k":[2,4,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":4,"h":8,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Vector 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.282,133,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[36.25,0],[-36.25,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Vector 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[233.032,133,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[22,0],[-22,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Ellipse 7581","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[168.032,164,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":[{"d":1,"ty":"el","s":{"a":0,"k":[14,14],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7581","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Rectangle 3470507","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[207.032,210.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[96,69],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470507","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_1","nm":"▽ Group 24","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[19.069,5.305,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":[[-3.951,0],[0,-5.239],[0.044,-0.4],[0,0],[-2.087,0],[-0.755,-0.355],[-3.241,0],[-1.376,-1.465]],"o":[[5.194,0],[0,0.4],[0,0],[0.932,-1.687],[0.844,0],[1.154,-2.886],[2.175,0],[1.465,-3.374]],"v":[[9.656,-5.305],[19.069,4.107],[19.024,5.305],[-19.069,5.305],[-14.229,2.464],[-11.832,2.997],[-4.64,-1.887],[0.91,0.466]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_2","nm":"▽ Group 23","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[22.865,6.238,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":[[-1.376,-5.239],[-1.288,0],[-0.71,-2.619],[0,0],[-3.774,0],[-1.421,-0.977],[-5.372,0]],"o":[[0.977,-0.71],[2.841,0],[0,0],[1.199,-3.374],[1.82,0],[1.598,-4.795],[5.638,0]],"v":[[13.408,2.864],[16.915,1.798],[22.865,6.238],[-22.865,6.238],[-14.696,0.466],[-9.723,2.064],[1.731,-6.238]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_3","nm":"▽ Group 21","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 22","refId":"comp_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.264,11.313,0],"ix":2,"l":2},"a":{"a":0,"k":[9.5,11.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":19,"h":23,"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_4","nm":"▽ Group 22","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.264,11.313,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":[[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]],"v":[[-9.264,11.313],[9.264,11.313],[3.421,1.621],[7.839,1.621],[0,-11.313],[-7.839,1.621],[-3.421,1.621]],"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],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.017,10.6],[-7.981,10.6],[-2.102,0.909],[-6.52,0.909],[0.036,-9.959],[6.592,0.909],[2.173,0.909]],"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":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_5","nm":"▽ Group 18","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 20","refId":"comp_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.264,11.313,0],"ix":2,"l":2},"a":{"a":0,"k":[9.5,11.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":19,"h":23,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"▽ Group 19","refId":"comp_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.265,25.197,0],"ix":2,"l":2},"a":{"a":0,"k":[3,3,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":6,"h":6,"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_6","nm":"▽ Group 20","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.264,11.313,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":[[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]],"v":[[-9.264,11.313],[9.264,11.313],[3.421,1.621],[7.839,1.621],[0,-11.313],[-7.839,1.621],[-3.421,1.621]],"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],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[8.017,10.6],[-7.981,10.6],[-2.102,0.909],[-6.52,0.909],[0.036,-9.959],[6.592,0.909],[2.173,0.909]],"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":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_7","nm":"▽ Group 19","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[2.957,2.779,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":[[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]],"v":[[-2.957,2.779],[2.957,2.779],[2.957,-2.779],[2.245,-2.779],[2.245,2.067],[-2.245,2.067],[-2.245,-2.779],[-2.957,-2.779]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_8","nm":"▽ Group 17","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[4.46,3.883,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,3.883],[0,-3.883]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,3.883,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,3.883],[0,-3.883]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_9","nm":"Unfolded YouTube UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 9","refId":"comp_10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[156.94,145.03,0],"ix":2,"l":2},"a":{"a":0,"k":[43,12,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":86,"h":24,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Vector 6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[176.64,71.83,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":[[-8.5,0],[0,-10.8],[0,0],[-6.1,0],[-2.3,-1.6]],"o":[[10.8,0],[0,0],[2.1,-5.2],[3.1,0],[2.6,-7.6]],"v":[[10.15,-9.75],[29.65,9.75],[-29.65,9.65],[-16.35,0.65],[-8.15,3.25]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":0,"nm":"▽ Group 8","refId":"comp_11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[251.49,96.13,0],"ix":2,"l":2},"a":{"a":0,"k":[51.5,14,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":103,"h":28,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":0,"nm":"▽ Group 7","refId":"comp_12","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.22,226.963,0],"ix":2,"l":2},"a":{"a":0,"k":[2,4,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":4,"h":8,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Vector 5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[166.369,227.275,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[44,0],[-44,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.933333337307,0.403921574354,0.360784322023,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Vector 4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[256.869,227.275,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[46.5,0],[-46.5,0]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":4,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":7,"ty":0,"nm":"▽ Group 5","refId":"comp_13","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[240.856,176.561,0],"ix":2,"l":2},"a":{"a":0,"k":[21,25.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":42,"h":51,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"▽ Group 2","refId":"comp_15","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[282.536,170.581,0],"ix":2,"l":2},"a":{"a":0,"k":[21,31.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":42,"h":63,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Rectangle 3470504","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[204.99,132.58,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[216,155],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":10,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.372549027205,0.388235300779,0.407843142748,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":"Rectangle 3470504","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_10","nm":"▽ Group 9","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[42.95,11.95,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":[[-8.9,0],[0,-11.8],[0.1,-0.9],[0,0],[-4.7,0],[-1.7,-0.8],[-7.3,0],[-3.1,-3.3]],"o":[[11.7,0],[0,0.9],[0,0],[2.1,-3.8],[1.9,0],[2.6,-6.5],[4.9,0],[3.3,-7.6]],"v":[[21.75,-11.95],[42.95,9.25],[42.85,11.95],[-42.95,11.95],[-32.05,5.55],[-26.65,6.75],[-10.45,-4.25],[2.05,1.05]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_11","nm":"▽ Group 8","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[51.5,14.05,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":[[-3.1,-11.8],[-2.9,0],[-1.6,-5.9],[0,0],[-8.5,0],[-3.2,-2.2],[-12.1,0]],"o":[[2.2,-1.6],[6.4,0],[0,0],[2.7,-7.6],[4.1,0],[3.6,-10.8],[12.7,0]],"v":[[30.2,6.45],[38.1,4.05],[51.5,14.05],[-51.5,14.05],[-33.1,1.05],[-21.9,4.65],[3.9,-14.05]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_12","nm":"▽ Group 7","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[4.46,3.883,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,3.883],[0,-3.883]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,3.883,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":[[0,0],[0,0]],"o":[[0,0],[0,0]],"v":[[0,3.883],[0,-3.883]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_13","nm":"▽ Group 5","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 6","refId":"comp_14","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.866,25.481,0],"ix":2,"l":2},"a":{"a":0,"k":[21,25.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":42,"h":51,"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_14","nm":"▽ Group 6","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.866,25.481,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":[[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]],"v":[[-20.866,25.481],[20.866,25.481],[7.704,3.652],[17.656,3.652],[0,-25.481],[-17.656,3.652],[-7.704,3.652]],"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],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.057,23.876],[-17.977,23.876],[-4.735,2.046],[-14.687,2.046],[0.08,-22.431],[14.847,2.046],[4.896,2.046]],"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":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_15","nm":"▽ Group 2","fr":60,"layers":[{"ddd":0,"ind":1,"ty":0,"nm":"▽ Group 4","refId":"comp_16","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.866,25.481,0],"ix":2,"l":2},"a":{"a":0,"k":[21,25.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":42,"h":51,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":0,"nm":"▽ Group 3","refId":"comp_17","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.863,56.741,0],"ix":2,"l":2},"a":{"a":0,"k":[6.5,6.5,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":13,"h":13,"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_16","nm":"▽ Group 4","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[20.866,25.481,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":[[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]],"v":[[-20.866,25.481],[20.866,25.481],[7.704,3.652],[17.656,3.652],[0,-25.481],[-17.656,3.652],[-7.704,3.652]],"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],[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0]],"v":[[18.057,23.876],[-17.977,23.876],[-4.735,2.046],[-14.687,2.046],[0.08,-22.431],[14.847,2.046],[4.896,2.046]],"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":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]},{"id":"comp_17","nm":"▽ Group 3","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Vector","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6.661,6.26,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":[[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]],"v":[[-6.661,6.26],[6.661,6.26],[6.661,-6.26],[5.056,-6.26],[5.056,4.655],[-5.056,4.655],[-5.056,-6.26],[-6.661,-6.26]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 4","sr":1,"ks":{"o":{"a":0,"k":0,"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":[88,88,100],"ix":6,"l":2}},"ao":0,"ip":-6,"op":630,"st":30,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[0,0,0],"to":[-10.833,0,0],"ti":[10.833,0,0]},{"t":80,"s":[-65,0,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,"ip":0,"op":244,"st":40,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,0],[5.09,0],[0,0],[0,2.839],[0,0],[-2.838,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[-2.838,0],[0,0],[0,-2.838],[0,0],[5.089,0],[0,0]],"v":[[63.495,137.576],[54.264,146.808],[-54.501,114.37],[-59.648,109.223],[-59.708,-109.282],[-54.56,-114.429],[54.282,-146.679],[63.915,-137.047]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,0],[5.09,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0],[0,-9.436]],"o":[[0,8.464],[0,0],[-2.838,0],[0,0],[0,-2.838],[0,0],[5.089,0],[0,0]],"v":[[63.623,136.911],[54.466,146.518],[-54.319,117.62],[-59.648,109.223],[-59.708,-109.282],[-54.594,-117.179],[54.309,-145.697],[63.951,-135.939]],"c":true}]},{"t":80,"s":[{"i":[[0,0],[5.09,0],[0,0],[0,2.838],[0,0],[-2.838,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[-2.838,0],[0,0],[0,-2.838],[0,0],[5.089,0],[0,0]],"v":[[63.599,105.138],[54.368,114.37],[-54.501,114.37],[-59.648,109.223],[-59.708,-109.282],[-54.56,-114.429],[54.31,-114.429],[63.943,-104.797]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"op":245,"st":39,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".black 2","cl":"black","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[99,99,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"op":245,"st":39,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Folded Youtube UI","parent":2,"tt":1,"refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[0]},{"t":90,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[65,0,0],"ix":2,"l":2},"a":{"a":0,"k":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":51,"op":651,"st":51,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[99,99,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"op":245,"st":39,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Shape Layer 1","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[206,150,0],"to":[1.444,0,0],"ti":[-2,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[214.667,150,0],"to":[2,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[218,150,0],"to":[1.083,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[221.167,150,0],"to":[1.083,0,0],"ti":[-1.111,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[224.5,150,0],"to":[1.111,0,0],"ti":[-1.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[227.833,150,0],"to":[1.333,0,0],"ti":[-1.528,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[232.5,150,0],"to":[1.528,0,0],"ti":[-1.583,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[237,150,0],"to":[1.583,0,0],"ti":[-1.889,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[242,150,0],"to":[1.889,0,0],"ti":[-2.167,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[248.333,150,0],"to":[2.167,0,0],"ti":[-2.278,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[255,150,0],"to":[2.278,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[262,150,0],"to":[2.5,0,0],"ti":[-3.556,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[270,150,0],"to":[3.556,0,0],"ti":[-2.222,0,0]},{"t":61,"s":[283.333,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[311.96,210.22],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"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,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":[43.52,5.61],"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":630,"st":30,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Unfolded YouTube UI","parent":2,"tt":1,"refId":"comp_9","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"t":50,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"t":61,"s":[0,100,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-2.282,113.897],[-17.976,113.897],[-121.273,113.897],[-130.36,105.242],[-130.36,-104.809],[-121.273,-113.897],[-1.197,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-8.034,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.243],[118.937,113.897],[20.423,113.897],[-1.182,113.897],[-16.193,117.028],[-121.36,141.834],[-130.185,134.804],[-130.289,-134.192],[-121.277,-142.03],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"t":61,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-1.125,113.897],[-16.101,117.189],[-121.089,144.98],[-130.176,136.326],[-130.286,-135.704],[-121.198,-144.793],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"st":40,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[99,99,100]},{"t":61,"s":[-1,99,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"st":40,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey601","cl":"grey601","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[116.74,102.33,0],"ix":1,"l":2},"s":{"a":0,"k":[114.5,114.5,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[115.717,-109.174],[-119.283,-109.174],[-119.283,299.701],[115.717,299.701]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.17,0],[0,0],[0,4.18],[0,0],[-4.17,0],[0,0],[0,-4.18]],"o":[[0,4.18],[0,0],[-4.18,0],[0,0],[0,-4.18],[0,0],[4.18,0],[0,0]],"v":[[112.07,92.13],[104.12,99.71],[-106.16,99.71],[-114.11,92.13],[-114.11,-91.75],[-106.16,-99.71],[104.12,-99.71],[112.07,-91.75]],"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.055,2.749],[0,0],[5.7,0],[0,0],[1.89,-1.05],[0.88,0.35],[0,0],[2.17,0],[0,0],[0,-5.7],[0,0],[-5.7,0],[0,0],[-1.89,1.05],[-0.85,-0.29],[0,0],[-2.17,0],[0,0],[0,5.7],[0,0],[0.055,2.493]],"o":[[0,0],[0,0],[0,-5.71],[0,0],[-2.17,0],[-0.88,0.35],[0,0],[-1.89,-1.06],[0,0],[-5.71,0],[0,0],[0,5.71],[0,0],[2.17,0],[0.83,-0.33],[0,0],[1.89,1.05],[0,0],[5.71,0],[0,0],[-0.069,-5.452],[0,0]],"v":[[114.45,-15.54],[114.45,-36.12],[114.45,-91.75],[104.12,-102.08],[6.42,-102.08],[0.23,-100.48],[-2.52,-100.47],[-2.55,-100.47],[-8.74,-102.08],[-106.16,-102.08],[-116.49,-91.75],[-116.49,91.75],[-106.16,102.08],[-8.54,102.08],[-2.35,100.48],[0.25,100.42],[0.35,100.48],[7.83,102.08],[104.12,102.08],[114.45,91.75],[114.45,31.38],[114.45,-0.88]],"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":[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":[116.74,102.33],"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":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":254,"st":30,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":0,"k":[99,99,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true},"ix":2},"nm":"Path 2","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":244,"st":40,"bm":0},{"ddd":0,"ind":15,"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.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]],"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":245,"st":10,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/fold_setting_sleep_on_fold_lottie.json b/res/raw/fold_setting_sleep_on_fold_lottie.json
new file mode 100644
index 0000000..5204885
--- /dev/null
+++ b/res/raw/fold_setting_sleep_on_fold_lottie.json
@@ -0,0 +1 @@
+{"v":"5.12.1","fr":60,"ip":0,"op":241,"w":412,"h":300,"nm":"Foldable_FoldingSetting_EDU_03b_412x300_export","ddd":0,"assets":[{"id":"comp_0","nm":"Lockscreen_Locked_Black","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"lock","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[205.5,213.75,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":[[-0.386,-0.392],[-0.541,0],[0,0],[-0.386,0.392],[0,0.55],[0,0],[0.386,0.392],[0.541,0],[0,0],[0,0],[1.214,1.235],[1.726,0],[1.216,-1.235],[0,-1.752],[0,0],[0,0],[0.386,-0.392],[0,-0.55],[0,0]],"o":[[0.386,0.392],[0,0],[0.541,0],[0.386,-0.392],[0,0],[0,-0.55],[-0.386,-0.392],[0,0],[0,0],[0,-1.752],[-1.214,-1.235],[-1.726,0],[-1.216,1.235],[0,0],[0,0],[-0.541,0],[-0.386,0.392],[0,0],[0,0.55]],"v":[[-9.922,13.413],[-8.531,14],[8.531,14],[9.922,13.413],[10.5,12],[10.5,-2.467],[9.922,-3.879],[8.531,-4.467],[6.234,-4.467],[6.234,-7.667],[4.413,-12.148],[0.003,-14],[-4.41,-12.148],[-6.234,-7.667],[-6.234,-4.467],[-8.531,-4.467],[-9.922,-3.879],[-10.5,-2.467],[-10.5,12]],"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],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.531,12],[-8.531,12],[-8.531,-2.467],[8.531,-2.467]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.492,-0.49],[0.696,0],[0.496,0.489],[0,0.678],[-0.492,0.544],[-0.696,0],[-0.496,-0.544],[0,-0.667]],"o":[[-0.492,0.49],[-0.696,0],[-0.496,-0.489],[0,-0.678],[0.492,-0.544],[0.696,0],[0.496,0.544],[0,0.688]],"v":[[1.788,6.599],[0.006,7.333],[-1.783,6.6],[-2.527,4.85],[-1.788,3.017],[-0.006,2.2],[1.783,3.017],[2.527,4.833]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.831,0.843],[-1.184,0],[-0.829,-0.843],[0,-1.204]],"o":[[0,0],[0,0],[0,-1.204],[0.831,-0.843],[1.184,0],[0.829,0.843],[0,0]],"v":[[4.266,-4.467],[-4.266,-4.467],[-4.266,-7.667],[-3.019,-10.736],[0.004,-12],[3.023,-10.736],[4.266,-7.667]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,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":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"clock","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.116,143.317,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":[[0.92,-2.182],[0,-2.945],[0,0],[-0.894,-2.182],[-1.578,-1.209],[-2.104,0],[-1.604,1.209],[-0.868,2.182],[0,2.919],[0.894,2.182],[1.604,1.21],[2.103,0],[1.604,-1.21]],"o":[[-0.894,2.182],[0,0],[0,2.971],[0.92,2.182],[1.604,1.183],[2.077,0],[1.604,-1.209],[0.894,-2.209],[0,-2.945],[-0.868,-2.182],[-1.578,-1.21],[-2.104,0],[-1.578,1.21]],"v":[[-20.775,-24.257],[-22.116,-16.565],[-22.116,-16.565],[-20.775,-8.835],[-17.028,-3.747],[-11.467,-1.972],[-5.945,-3.786],[-2.238,-8.874],[-0.897,-16.565],[-2.238,-24.257],[-5.945,-29.344],[-11.467,-31.159],[-17.028,-29.344]],"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.789,-2.051],[0,-2.735],[0,0],[0.789,-2.051],[1.446,-1.157],[1.972,0],[1.446,1.131],[0.815,2.051],[0,2.708],[-0.789,2.051],[-1.446,1.131],[-1.92,0],[-1.446,-1.157]],"o":[[0.815,2.051],[0,0],[0,2.735],[-0.789,2.051],[-1.446,1.131],[-1.946,0],[-1.446,-1.157],[-0.789,-2.077],[0,-2.735],[0.815,-2.051],[1.472,-1.157],[1.946,0],[1.446,1.131]],"v":[[-3.066,-23.744],[-1.843,-16.565],[-1.843,-16.565],[-3.027,-9.387],[-6.379,-4.575],[-11.507,-2.879],[-16.594,-4.575],[-19.986,-9.387],[-21.17,-16.565],[-19.986,-23.744],[-16.594,-28.516],[-11.507,-30.252],[-6.419,-28.516]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[-1.394,-0.763],[-1.604,0],[0,0],[-0.868,0.316],[-0.657,0.473],[-0.394,0.526],[0,0],[0,0],[0,0],[-0.289,0.92],[0,1.157],[0.815,1.367],[1.42,0.815],[1.814,0],[1.42,-0.815],[0.815,-1.394],[0,-1.735],[-0.841,-1.367]],"o":[[1.394,0.763],[0,0],[1.078,0],[0.868,-0.316],[0.684,-0.5],[0,0],[0,0],[0,0],[0.526,-0.789],[0.316,-0.92],[0,-1.709],[-0.815,-1.394],[-1.42,-0.841],[-1.762,0],[-1.42,0.815],[-0.815,1.367],[0,1.735],[0.868,1.341]],"v":[[6.616,-14.317],[11.112,-13.173],[11.112,-13.173],[14.031,-13.647],[16.318,-14.83],[17.936,-16.368],[8.746,-2.524],[9.574,-2.012],[19.04,-16.447],[20.263,-19.011],[20.736,-22.127],[19.513,-26.741],[16.161,-30.054],[11.309,-31.317],[6.537,-30.094],[3.184,-26.781],[1.962,-22.127],[3.224,-17.473]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[-0.736,-1.262],[0,-1.525],[0,0],[0.815,-1.236],[1.288,-0.657],[1.473,0],[1.315,0.71],[0.789,1.21],[0,1.551],[-0.736,1.262],[-1.262,0.736],[-1.604,0],[-1.288,-0.763]],"o":[[0.736,1.236],[0,0],[0,1.657],[-0.815,1.21],[-1.288,0.657],[-1.473,0],[-1.288,-0.71],[-0.763,-1.236],[0,-1.551],[0.736,-1.262],[1.288,-0.736],[1.63,0],[1.288,0.763]],"v":[[18.724,-26.268],[19.829,-22.127],[19.829,-22.127],[18.606,-17.788],[15.451,-14.988],[11.309,-14.002],[7.129,-15.067],[4.013,-17.946],[2.869,-22.127],[3.973,-26.347],[6.971,-29.344],[11.309,-30.449],[15.687,-29.305]],"c":true},"ix":2},"nm":"Path 4","mn":"ADBE Vector Shape - Group","hd":false},{"ind":4,"ty":"sh","ix":5,"ks":{"a":0,"k":{"i":[[-0.789,1.288],[0,1.788],[0,0],[0.605,0.973],[1.131,0.578],[1.578,0.079],[-0.947,0.552],[-0.473,0.92],[0,1.209],[0.736,1.104],[1.262,0.578],[1.63,0],[1.525,-1.078],[0.605,-1.709],[0,0],[-1.367,0.973],[-1.972,0],[-1.104,-0.526],[-0.631,-0.999],[0,-1.394],[0.526,-0.894],[1.052,-0.526],[1.657,0],[0,0],[0,0],[0,0],[-1.21,-0.526],[-0.579,-0.973],[0,-1.262],[0.684,-1.157],[1.262,-0.631],[1.683,0],[1.236,0.552],[0.815,0.947],[0.368,1.209],[0,0],[-0.894,-1.025],[-1.367,-0.631],[-1.814,0],[-1.367,0.684]],"o":[[0.815,-1.288],[0,0],[0,-1.367],[-0.579,-0.999],[-1.104,-0.578],[1.446,-0.158],[0.947,-0.552],[0.473,-0.92],[0,-1.604],[-0.71,-1.131],[-1.262,-0.578],[-2.235,0],[-1.499,1.078],[0,0],[0.578,-1.578],[1.367,-0.973],[1.446,0],[1.104,0.526],[0.657,0.973],[0,1.183],[-0.5,0.894],[-1.052,0.526],[0,0],[0,0],[0,0],[1.841,0],[1.209,0.526],[0.605,0.947],[0,1.63],[-0.684,1.157],[-1.236,0.605],[-1.63,0],[-1.236,-0.552],[-0.789,-0.947],[0,0],[0.342,1.236],[0.894,1.025],[1.367,0.605],[1.814,0],[1.393,-0.71]],"v":[[-3.46,27.293],[-2.238,22.679],[-2.238,22.679],[-3.145,19.169],[-5.709,16.802],[-9.732,15.816],[-6.142,14.751],[-4.013,12.542],[-3.303,9.348],[-4.407,5.285],[-7.365,2.721],[-11.704,1.854],[-17.344,3.471],[-20.499,7.652],[-19.631,8.046],[-16.713,4.22],[-11.704,2.761],[-7.878,3.55],[-5.275,5.837],[-4.289,9.387],[-5.078,12.503],[-7.405,14.633],[-11.467,15.422],[-14.425,15.422],[-14.425,16.329],[-11.388,16.329],[-6.813,17.118],[-4.131,19.366],[-3.224,22.679],[-4.249,26.86],[-7.168,29.542],[-11.546,30.449],[-15.845,29.621],[-18.922,27.372],[-20.657,24.138],[-21.525,24.533],[-19.671,27.925],[-16.279,30.409],[-11.507,31.317],[-6.734,30.291]],"c":true},"ix":2},"nm":"Path 5","mn":"ADBE Vector Shape - Group","hd":false},{"ind":5,"ty":"sh","ix":6,"ks":{"a":0,"k":{"i":[[0.92,-2.182],[0,-2.945],[-0.894,-2.182],[-1.578,-1.209],[-2.104,0],[-1.604,1.209],[-0.868,2.182],[0,2.919],[0.894,2.182],[1.604,1.209],[2.104,0],[1.604,-1.209]],"o":[[-0.894,2.182],[0,2.971],[0.92,2.182],[1.604,1.183],[2.077,0],[1.604,-1.209],[0.894,-2.209],[0,-2.945],[-0.868,-2.182],[-1.578,-1.209],[-2.104,0],[-1.578,1.209]],"v":[[2.238,8.874],[0.897,16.565],[2.238,24.296],[5.985,29.384],[11.546,31.159],[17.068,29.344],[20.775,24.256],[22.116,16.565],[20.775,8.874],[17.068,3.786],[11.546,1.972],[5.985,3.786]],"c":true},"ix":2},"nm":"Path 6","mn":"ADBE Vector Shape - Group","hd":false},{"ind":6,"ty":"sh","ix":7,"ks":{"a":0,"k":{"i":[[-0.789,-2.051],[0,-2.735],[0.789,-2.051],[1.446,-1.157],[1.972,0],[1.446,1.131],[0.815,2.051],[0,2.708],[-0.789,2.051],[-1.446,1.131],[-1.919,0],[-1.446,-1.157]],"o":[[0.815,2.051],[0,2.735],[-0.789,2.051],[-1.446,1.131],[-1.946,0],[-1.446,-1.157],[-0.789,-2.077],[0,-2.735],[0.815,-2.051],[1.473,-1.157],[1.946,0],[1.446,1.131]],"v":[[19.947,9.387],[21.17,16.565],[19.986,23.744],[16.634,28.556],[11.507,30.252],[6.419,28.556],[3.027,23.744],[1.843,16.565],[3.027,9.387],[6.419,4.615],[11.507,2.879],[16.595,4.615]],"c":true},"ix":2},"nm":"Path 7","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":[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":"Vector","np":9,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"gradient","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[206.25,150.5,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":[[0,0],[0,4.314],[0,0],[6.829,0],[0,0],[0,-4.314],[0,0],[-4.553,0]],"o":[[4.553,0],[0,0],[0,-4.314],[0,0],[-4.553,0],[0,0],[0,4.314],[0,0]],"v":[[48.319,100.5],[57.25,91.034],[57.25,-94.611],[46.743,-102.5],[-51.497,-102.5],[-56.75,-95.67],[-56.75,93.67],[-51.497,100.5]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Unfolded Gmail UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectangle 3470520","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,141.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470520","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Rectangle 3470519","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,132.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470519","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Rectangle 3470518","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,123.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470518","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Rectangle 3470517","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,114.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470517","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Rectangle 3470516","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,105.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470516","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Rectangle 3470515","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,96.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470515","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Ellipse 7584","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[296.494,74.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7584","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Ellipse 7598","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,209.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7598","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Ellipse 7597","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,182.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7597","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Ellipse 7596","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,155.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7596","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Ellipse 7595","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,128.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7595","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Ellipse 7579","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,101.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7579","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Rectangle 3470514","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[212.994,74.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[132,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470514","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Rectangle 3470502","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[120.994,74.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[32,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470502","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Rectangle 3470530","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,210.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470530","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Rectangle 3470528","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,183.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470528","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Rectangle 3470526","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,156.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470526","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Rectangle 3470524","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,129.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470524","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Rectangle 3470522","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,102.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470522","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Rectangle 3470529","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,204.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470529","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Rectangle 3470527","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,177.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470527","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Rectangle 3470525","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,150.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470525","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Rectangle 3470523","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,123.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470523","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Rectangle 3470521","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,96.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470521","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 4","sr":1,"ks":{"o":{"a":0,"k":0,"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":[88,88,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":241,"st":30,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[0,0,0],"to":[-10.833,0,0],"ti":[10.833,0,0]},{"t":80,"s":[-65,0,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,"ip":0,"op":241,"st":40,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,0],[5.09,0],[0,0],[-2.838,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[-2.838,0],[0,0],[5.089,0],[0,0]],"v":[[63.495,137.576],[54.264,146.808],[-54.501,114.37],[-54.56,-114.429],[54.282,-146.679],[63.915,-137.047]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,0],[5.09,0],[0,0],[-2.838,0],[0,0],[0,-9.436]],"o":[[0,8.464],[0,0],[-2.838,0],[0,0],[5.089,0],[0,0]],"v":[[63.623,136.911],[54.466,146.518],[-54.319,117.62],[-54.594,-117.179],[54.309,-145.697],[63.951,-135.939]],"c":true}]},{"t":80,"s":[{"i":[[0,0],[5.09,0],[0,0],[0,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[0,0],[0,0],[5.089,0],[0,0]],"v":[[63.599,105.138],[54.368,114.37],[-60.431,114.394],[-60.313,-114.39],[54.31,-114.429],[63.943,-104.797]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"op":241,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Lockscreen","refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[0]},{"t":90,"s":[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":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":51,"op":651,"st":51,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[99,99,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"op":241,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Mask","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[206,150,0],"to":[1.444,0,0],"ti":[-2,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[214.667,150,0],"to":[2,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[218,150,0],"to":[1.083,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[221.167,150,0],"to":[1.083,0,0],"ti":[-1.111,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[224.5,150,0],"to":[1.111,0,0],"ti":[-1.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[227.833,150,0],"to":[1.333,0,0],"ti":[-1.528,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[232.5,150,0],"to":[1.528,0,0],"ti":[-1.583,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[237,150,0],"to":[1.583,0,0],"ti":[-1.889,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[242,150,0],"to":[1.889,0,0],"ti":[-2.167,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[248.333,150,0],"to":[2.167,0,0],"ti":[-2.278,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[255,150,0],"to":[2.278,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[262,150,0],"to":[2.5,0,0],"ti":[-3.556,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[270,150,0],"to":[3.556,0,0],"ti":[-2.222,0,0]},{"t":61,"s":[283.333,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[311.96,210.22],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"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,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":[43.52,5.61],"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":30,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Unfolded Gmail UI","parent":2,"tt":1,"tp":7,"refId":"comp_1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"t":50,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"t":61,"s":[0,100,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-2.282,113.897],[-17.976,113.897],[-121.273,113.897],[-130.36,105.242],[-130.36,-104.809],[-121.273,-113.897],[-1.197,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-8.034,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.243],[118.937,113.897],[20.423,113.897],[-1.182,113.897],[-16.193,117.028],[-121.36,141.834],[-130.185,134.804],[-130.289,-134.192],[-121.277,-142.03],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"t":61,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-1.125,113.897],[-16.101,117.189],[-121.089,144.98],[-130.176,136.326],[-130.286,-135.704],[-121.198,-144.793],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[99,99,100]},{"t":61,"s":[-1,99,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[116.74,102.33,0],"ix":1,"l":2},"s":{"a":0,"k":[114.5,114.5,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[115.717,-109.174],[-119.283,-109.174],[-119.283,299.701],[115.717,299.701]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.17,0],[0,0],[0,4.18],[0,0],[-4.17,0],[0,0],[0,-4.18]],"o":[[0,4.18],[0,0],[-4.18,0],[0,0],[0,-4.18],[0,0],[4.18,0],[0,0]],"v":[[112.07,92.13],[104.12,99.71],[-106.16,99.71],[-114.11,92.13],[-114.11,-91.75],[-106.16,-99.71],[104.12,-99.71],[112.07,-91.75]],"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.055,2.749],[0,0],[5.7,0],[0,0],[1.89,-1.05],[0.88,0.35],[0,0],[2.17,0],[0,0],[0,-5.7],[0,0],[-5.7,0],[0,0],[-1.89,1.05],[-0.85,-0.29],[0,0],[-2.17,0],[0,0],[0,5.7],[0,0],[0.055,2.493]],"o":[[0,0],[0,0],[0,-5.71],[0,0],[-2.17,0],[-0.88,0.35],[0,0],[-1.89,-1.06],[0,0],[-5.71,0],[0,0],[0,5.71],[0,0],[2.17,0],[0.83,-0.33],[0,0],[1.89,1.05],[0,0],[5.71,0],[0,0],[-0.069,-5.452],[0,0]],"v":[[114.45,-15.54],[114.45,-36.12],[114.45,-91.75],[104.12,-102.08],[6.42,-102.08],[0.23,-100.48],[-2.52,-100.47],[-2.55,-100.47],[-8.74,-102.08],[-106.16,-102.08],[-116.49,-91.75],[-116.49,91.75],[-106.16,102.08],[-8.54,102.08],[-2.35,100.48],[0.25,100.42],[0.35,100.48],[7.83,102.08],[104.12,102.08],[114.45,91.75],[114.45,31.38],[114.45,-0.88]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[1.133,-0.038],[0,0],[0,0],[0,0],[0,-1.46],[0,0],[1.133,-0.038],[0,0],[0,0],[0,0],[0,-1.46],[0,0]],"o":[[0,0],[0,0],[0,0],[1.133,0.038],[0,0],[0,1.46],[0,0],[0,0],[0,0],[1.133,0.038],[0,0],[0,1.46]],"v":[[115.165,-15.899],[114.482,-15.883],[114.517,-0.46],[115.165,-0.477],[117.209,2.203],[117.209,29.104],[115.165,31.783],[114.399,31.826],[114.42,-35.723],[115.165,-35.719],[117.209,-33.039],[117.209,-18.579]],"c":true},"ix":2},"nm":"Path 3","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":[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":[116.74,102.33],"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":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":30,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":0,"k":[99,99,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true},"ix":2},"nm":"Path 2","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":241,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":14,"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.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]],"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":332,"st":40,"ct":1,"bm":0}],"markers":[{"tm":240,"cm":"1","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/res/raw/fold_setting_stay_awake_on_fold_lottie.json b/res/raw/fold_setting_stay_awake_on_fold_lottie.json
new file mode 100644
index 0000000..3611a87
--- /dev/null
+++ b/res/raw/fold_setting_stay_awake_on_fold_lottie.json
@@ -0,0 +1 @@
+{"v":"5.12.1","fr":60,"ip":0,"op":241,"w":412,"h":300,"nm":"Foldable_FoldingSetting_EDU_01_412x300_export","ddd":0,"assets":[{"id":"comp_0","nm":"Folded Gmail UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Ellipse 7590","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[86,6,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7590","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Ellipse 7594","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,160,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7594","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Ellipse 7593","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,128,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7593","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Ellipse 7592","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,96,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7592","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Ellipse 7591","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,64,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7591","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Ellipse 7589","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[6,32,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":[{"d":1,"ty":"el","s":{"a":0,"k":[12,12],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7589","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Rectangle 3470513","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,162.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470513","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Rectangle 3470511","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,130.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470511","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Rectangle 3470509","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,98.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470509","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Rectangle 3470507","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,66.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470507","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Rectangle 3470505","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[40,34.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470505","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Rectangle 3470512","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,156,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470512","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Rectangle 3470510","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,124,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470510","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Rectangle 3470508","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,92,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470508","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Rectangle 3470506","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,60,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470506","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Rectangle 3470504","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[28.5,28,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470504","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Rectangle 3470503","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[37,6.5,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[74,13],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470503","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0}]},{"id":"comp_1","nm":"Unfolded Gmail UI","fr":60,"layers":[{"ddd":0,"ind":1,"ty":4,"nm":"Rectangle 3470520","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,141.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470520","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":2,"ty":4,"nm":"Rectangle 3470519","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,132.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470519","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":"Rectangle 3470518","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,123.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470518","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":"Rectangle 3470517","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,114.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470517","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":"Rectangle 3470516","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,105.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470516","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":"Rectangle 3470515","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[114.994,96.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[20,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470515","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Ellipse 7584","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[296.494,74.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7584","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":"Ellipse 7598","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,209.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7598","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":"Ellipse 7597","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,182.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7597","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":"Ellipse 7596","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,155.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7596","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"Ellipse 7595","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,128.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7595","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":"Ellipse 7579","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[154.494,101.582,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":[{"d":1,"ty":"el","s":{"a":0,"k":[15,15],"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.23137255013,0.250980407,0.262745112181,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":"Ellipse 7579","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":"Rectangle 3470514","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[212.994,74.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[132,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470514","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"Rectangle 3470502","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[120.994,74.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[32,15],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470502","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Rectangle 3470530","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,210.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470530","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Rectangle 3470528","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,183.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470528","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Rectangle 3470526","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,156.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470526","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Rectangle 3470524","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,129.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470524","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":"Rectangle 3470522","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[185.994,102.582,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[40,5],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470522","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":4,"nm":"Rectangle 3470529","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,204.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470529","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"Rectangle 3470527","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,177.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470527","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":22,"ty":4,"nm":"Rectangle 3470525","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,150.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470525","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"Rectangle 3470523","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,123.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470523","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"Rectangle 3470521","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[174.494,96.082,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[17,4],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":50,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"fl","c":{"a":0,"k":[0.23137255013,0.250980407,0.262745112181,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":"Rectangle 3470521","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"ct":1,"bm":0}]}],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"Null 4","sr":1,"ks":{"o":{"a":0,"k":0,"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":[88,88,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":241,"st":30,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 1","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[0,0,0],"to":[-10.833,0,0],"ti":[10.833,0,0]},{"t":80,"s":[-65,0,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,"ip":0,"op":241,"st":40,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,0],[5.09,0],[0,0],[-2.838,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[-2.838,0],[0,0],[5.089,0],[0,0]],"v":[[63.495,137.576],[54.264,146.808],[-54.501,114.37],[-54.56,-114.429],[54.282,-146.679],[63.915,-137.047]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,0],[5.09,0],[0,0],[-2.838,0],[0,0],[0,-9.436]],"o":[[0,8.464],[0,0],[-2.838,0],[0,0],[5.089,0],[0,0]],"v":[[63.623,136.911],[54.466,146.518],[-54.319,117.62],[-54.594,-117.179],[54.309,-145.697],[63.951,-135.939]],"c":true}]},{"t":80,"s":[{"i":[[0,0],[5.09,0],[0,0],[0,0],[0,0],[0,-5.089]],"o":[[0,5.09],[0,0],[0,0],[0,0],[5.089,0],[0,0]],"v":[[63.599,105.138],[54.368,114.37],[-60.431,114.394],[-60.313,-114.39],[54.31,-114.429],[63.943,-104.797]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"op":241,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".black 2","cl":"black","parent":2,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[99,99,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"op":241,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":0,"nm":"Folded Gmail UI","parent":2,"tt":1,"tp":4,"refId":"comp_0","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":80,"s":[0]},{"t":90,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[67.273,-5.682,0],"ix":2,"l":2},"a":{"a":0,"k":[46,83,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"w":92,"h":166,"ip":51,"op":241,"st":51,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-2.971,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-68.471,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0,0,0],"y":[1,1,1]},"o":{"x":[0.001,0.001,0.001],"y":[0,0,0]},"t":60,"s":[0,100,100]},{"t":80,"s":[99,99,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":1},"o":{"x":0.001,"y":0},"t":60,"s":[{"i":[[0,1.789],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-1.339]],"v":[[66.136,-9.414],[66.108,-137.044],[54.305,-148.847],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.23,149.034],[66.032,137.232],[66.136,27.401]],"c":true}]},{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0},"t":61,"s":[{"i":[[0,2.744],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,14.182],[0,0]],"o":[[0,0],[0,-14.188],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-2.275]],"v":[[76.36,-9.414],[76.369,-135.937],[54.341,-147.74],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.359,148.37],[76.385,136.568],[76.36,27.401]],"c":true}]},{"t":80,"s":[{"i":[[0,4.914],[0,0],[6.519,0],[0,0],[0,-2.523],[0,0],[-2.523,0],[0,0],[0,6.518],[0,0]],"o":[[0,0],[0,-6.519],[0,0],[-2.523,0],[0,0],[0,2.523],[0,0],[6.518,0],[0,0],[0,-4.401]],"v":[[66.136,-9.414],[66.136,-104.794],[54.333,-116.597],[-63.903,-116.597],[-68.471,-112.028],[-68.471,112.028],[-63.903,116.597],[54.334,116.597],[66.136,104.795],[66.136,27.401]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"op":241,"st":39,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":"Mask","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":48,"s":[206,150,0],"to":[1.444,0,0],"ti":[-2,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":49,"s":[214.667,150,0],"to":[2,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":50,"s":[218,150,0],"to":[1.083,0,0],"ti":[-1.083,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":51,"s":[221.167,150,0],"to":[1.083,0,0],"ti":[-1.111,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":52,"s":[224.5,150,0],"to":[1.111,0,0],"ti":[-1.333,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":53,"s":[227.833,150,0],"to":[1.333,0,0],"ti":[-1.528,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":54,"s":[232.5,150,0],"to":[1.528,0,0],"ti":[-1.583,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":55,"s":[237,150,0],"to":[1.583,0,0],"ti":[-1.889,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[242,150,0],"to":[1.889,0,0],"ti":[-2.167,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":57,"s":[248.333,150,0],"to":[2.167,0,0],"ti":[-2.278,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":58,"s":[255,150,0],"to":[2.278,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[262,150,0],"to":[2.5,0,0],"ti":[-3.556,0,0]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":60,"s":[270,150,0],"to":[3.556,0,0],"ti":[-2.222,0,0]},{"t":61,"s":[283.333,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":[{"ty":"rc","d":1,"s":{"a":0,"k":[311.96,210.22],"ix":2},"p":{"a":0,"k":[0,0],"ix":3},"r":{"a":0,"k":0,"ix":4},"nm":"Rectangle Path 1","mn":"ADBE Vector Shape - Rect","hd":false},{"ty":"st","c":{"a":0,"k":[1,1,1,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":1,"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,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":[43.52,5.61],"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":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":30,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":0,"nm":"Unfolded Gmail UI","parent":2,"tt":1,"tp":7,"refId":"comp_1","sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":40,"s":[100]},{"t":50,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[206,150,0],"ix":1,"l":2},"s":{"a":0,"k":[113.636,113.636,100],"ix":6,"l":2}},"ao":0,"w":412,"h":300,"ip":0,"op":241,"st":0,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"t":61,"s":[0,100,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-2.282,113.897],[-17.976,113.897],[-121.273,113.897],[-130.36,105.242],[-130.36,-104.809],[-121.273,-113.897],[-1.197,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-8.034,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.243],[118.937,113.897],[20.423,113.897],[-1.182,113.897],[-16.193,117.028],[-121.36,141.834],[-130.185,134.804],[-130.289,-134.192],[-121.277,-142.03],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]},{"t":61,"s":[{"i":[[0,0],[4.771,0],[0,0],[0,0],[0,0],[0,0],[0,4.772],[0,0],[-4.771,0],[0,0],[0,0],[0,-4.772]],"o":[[0,4.772],[0,0],[0,0],[0,0],[0,0],[-4.771,0],[0,0],[0,-4.772],[0,0],[0,0],[4.771,0],[0,0]],"v":[[128.025,105.242],[118.937,113.897],[20.423,113.897],[-1.125,113.897],[-16.101,117.189],[-121.089,144.98],[-130.176,136.326],[-130.286,-135.704],[-121.198,-144.793],[-1.188,-113.897],[118.937,-113.897],[128.025,-104.809]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ind":1,"ty":"sh","ix":2,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":61,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.8,0.8,0.8],"y":[0.15,1,1]},"o":{"x":[0.3,0.3,0.3],"y":[0,0,0]},"t":40,"s":[99,99,100]},{"t":61,"s":[-1,99,100]}],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":false,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":1,"k":[{"i":{"x":0.833,"y":0.833},"o":{"x":0.3,"y":0},"t":40,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":56,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.495,0.571],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.733,0.815],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.787,-0.915],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.2,-0.463],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-115.408],[-10,-118.046],[-124.313,-139.448],[-136.266,-129.393],[-136.179,129.543],[-124.572,138.847],[-9.85,117.863],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.833,"y":0.833},"o":{"x":0.167,"y":0.167},"t":59,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.498,0.671],[7.261,0],[0,-6.52],[0,0],[-17.913,0],[0,0],[0,0],[-2.833,0.748],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.896,-0.865],[0,0],[-23.138,0],[0,0],[0,6.52],[10.232,0],[0,0],[2.152,-0.545],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-12.716,-117.624],[-123.042,-143.651],[-144.273,-133.721],[-144.17,133.897],[-128.267,144.577],[-10.465,117.238],[-8.936,116.926],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"i":{"x":0.8,"y":1},"o":{"x":0.167,"y":0.167},"t":60,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.499,0.698],[0,0],[0,-12.135],[0,0],[-34.442,0],[0,0],[0,0],[-2.859,0.73],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.925,-0.851],[0,0],[-32.058,0],[0,0],[0,11.078],[0,0],[0,0],[2.14,-0.566],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.836],[-126.224,-145.794],[-160.39,-134.865],[-160.283,135.047],[-126.011,146.227],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.938,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]},{"t":61,"s":[{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.5,0.717],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.879,0.717],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.946,-0.842],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.13,-0.582],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.842],[-121.197,-147.509],[-133.002,-135.704],[-132.892,135.892],[-121.088,147.697],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true}]}],"ix":2},"nm":"Path 2","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":61,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".grey600","cl":"grey600","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0,0,0],"ix":2,"l":2},"a":{"a":0,"k":[116.74,102.33,0],"ix":1,"l":2},"s":{"a":0,"k":[114.5,114.5,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[115.717,-109.174],[-119.283,-109.174],[-119.283,299.701],[115.717,299.701]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[4.17,0],[0,0],[0,4.18],[0,0],[-4.17,0],[0,0],[0,-4.18]],"o":[[0,4.18],[0,0],[-4.18,0],[0,0],[0,-4.18],[0,0],[4.18,0],[0,0]],"v":[[112.07,92.13],[104.12,99.71],[-106.16,99.71],[-114.11,92.13],[-114.11,-91.75],[-106.16,-99.71],[104.12,-99.71],[112.07,-91.75]],"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.055,2.749],[0,0],[5.7,0],[0,0],[1.89,-1.05],[0.88,0.35],[0,0],[2.17,0],[0,0],[0,-5.7],[0,0],[-5.7,0],[0,0],[-1.89,1.05],[-0.85,-0.29],[0,0],[-2.17,0],[0,0],[0,5.7],[0,0],[0.055,2.493]],"o":[[0,0],[0,0],[0,-5.71],[0,0],[-2.17,0],[-0.88,0.35],[0,0],[-1.89,-1.06],[0,0],[-5.71,0],[0,0],[0,5.71],[0,0],[2.17,0],[0.83,-0.33],[0,0],[1.89,1.05],[0,0],[5.71,0],[0,0],[-0.069,-5.452],[0,0]],"v":[[114.45,-15.54],[114.45,-36.12],[114.45,-91.75],[104.12,-102.08],[6.42,-102.08],[0.23,-100.48],[-2.52,-100.47],[-2.55,-100.47],[-8.74,-102.08],[-106.16,-102.08],[-116.49,-91.75],[-116.49,91.75],[-106.16,102.08],[-8.54,102.08],[-2.35,100.48],[0.25,100.42],[0.35,100.48],[7.83,102.08],[104.12,102.08],[114.45,91.75],[114.45,31.38],[114.45,-0.88]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[1.133,-0.038],[0,0],[0,0],[0,0],[0,-1.46],[0,0],[1.133,-0.038],[0,0],[0,0],[0,0],[0,-1.46],[0,0]],"o":[[0,0],[0,0],[0,0],[1.133,0.038],[0,0],[0,1.46],[0,0],[0,0],[0,0],[1.133,0.038],[0,0],[0,1.46]],"v":[[115.165,-15.899],[114.482,-15.883],[114.517,-0.46],[115.165,-0.477],[117.209,2.203],[117.209,29.104],[115.165,31.783],[114.399,31.826],[114.42,-35.723],[115.165,-35.719],[117.209,-33.039],[117.209,-18.579]],"c":true},"ix":2},"nm":"Path 3","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":[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":[116.74,102.33],"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":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":241,"st":30,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":4,"nm":".black","cl":"black","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1,0,0],"ix":2,"l":2},"a":{"a":0,"k":[-2,0,0],"ix":1,"l":2},"s":{"a":0,"k":[99,99,100],"ix":6,"l":2}},"ao":0,"hasMask":true,"masksProperties":[{"inv":true,"mode":"a","pt":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-2,-197],[-237,-197],[-237,211.874],[-2,211.874]],"c":true},"ix":1},"o":{"a":0,"k":100,"ix":3},"x":{"a":0,"k":0,"ix":4},"nm":"Mask 1"}],"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.295,0.044],[0,0],[6.52,0],[0,0],[2.164,-1.2],[1.012,0.395],[0,0],[2.474,0],[0,0],[0,-6.52],[0,0],[-6.52,0],[0,0],[0,0],[-2.164,1.2],[-0.966,-0.33],[0,0],[-2.474,0],[0,0],[0,0],[0,6.519],[0,0],[0,1.668],[0,0]],"o":[[0,0],[0,-6.52],[0,0],[-2.474,0],[-1.008,0.404],[0,0],[-2.164,-1.2],[0,0],[-6.52,0],[0,0],[0,6.52],[0,0],[0,0],[2.474,0],[0.951,-0.381],[0,0],[2.163,1.2],[0,0],[0,0],[6.519,0],[0,0],[1.295,-0.044],[0,0],[0,-1.668]],"v":[[130.741,-9.416],[130.741,-104.809],[118.936,-116.613],[7.323,-116.613],[0.252,-114.783],[-2.892,-114.769],[-2.929,-114.783],[-10,-116.613],[-121.272,-116.613],[-133.077,-104.809],[-133.077,104.809],[-121.272,116.613],[-9.85,116.613],[-9.755,116.613],[-2.684,114.783],[0.286,114.719],[0.401,114.783],[8.942,116.613],[9.038,116.613],[118.937,116.613],[130.741,104.81],[130.741,27.405],[133.077,24.344],[133.077,-6.354]],"c":true},"ix":2},"nm":"Path 2","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":241,"st":40,"ct":1,"bm":0},{"ddd":0,"ind":14,"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.291,0],[0,0],[0,15.652],[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[-15.291,0],[0,0],[0,-15.652],[0,0],[15.185,0],[0,0],[0,15.544]],"v":[[178.179,150],[-178.179,150],[-206,121.522],[-206,-121.522],[-178.179,-150],[178.286,-150],[206,-121.522],[206,121.63]],"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":332,"st":40,"ct":1,"bm":0}],"markers":[{"tm":240,"cm":"1","dr":0}],"props":{}}
\ No newline at end of file
diff --git a/res/raw/gesture_ambient_wake_screen.mp4 b/res/raw/gesture_ambient_wake_screen.mp4
deleted file mode 100644
index e69de29..0000000
--- a/res/raw/gesture_ambient_wake_screen.mp4
+++ /dev/null
diff --git a/res/raw/gesture_assist.mp4 b/res/raw/gesture_assist.mp4
deleted file mode 100644
index e69de29..0000000
--- a/res/raw/gesture_assist.mp4
+++ /dev/null
diff --git a/res/raw/lottie_privatespace_hide_placeholder.json b/res/raw/lottie_privatespace_hide_placeholder.json
new file mode 100644
index 0000000..9822b49
--- /dev/null
+++ b/res/raw/lottie_privatespace_hide_placeholder.json
@@ -0,0 +1 @@
+{"v":"5.5.2","fr":1,"ip":0,"op":12,"w":760,"h":554,"nm":"@forresto/movie-to-lottie","ddd":0,"assets":[{"id":"fr_0","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAgMFBAEI/8QAShABAAECAgMKCA0CBQUAAwAAAAECAwQFBgcREhMhNlFSg5GhshQxQWFykrPRFRYXIjJTVFVxgZOxwSNCRWJzw+EkMzSC8EOi8f/EABYBAQEBAAAAAAAAAAAAAAAAAAABAv/EABoRAQEBAAMBAAAAAAAAAAAAAAARARIhQTH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPTl2BxOY4ujC4KzXev1z82imP/tkedY2W6t8Lg8NTidJMxptUxw1UW6oppp8011e4FYC068u1eWpimvFxVPLF25V+z54Fq6+0z6933LBVotLwLV19pn17vuPAtXX2mfXu+4gq0Wl4Fq6+0z6933HgWrr7TPr3fcQVaLS8C1dfaZ9e77jwLV19pn17vuIKtFpeBauvtM+vd9x4Fq6+0z6933EFWi0vAtXX2mfXu+48C1dfaZ9e77iCrRaXgWrr7TPr3fceBauvtM+vd9xBVotLwLV19pn17vuPAtXX2mfXu+4gq0Wl4Fq6+0z6933HgWrr7TPr3fcQVaLS8C1dfaZ9e77jwLV19pn17vuIKtFpeBauvtM+vd9x4Fq6+0z6933EFWi0vAtXX2mfXu+48C1dfaZ9e77iCrRaXgWrr7TPr3fceBauvtM+vd9xBVotW1kegWYTFrCY+LVc+Kd/mmf/wB+BxdJdXWOy21Xictu+HYemN1NMU7LlMfh/d+XUQQQBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAfaY2zsjbMy+O9oJhKcbpdllmuImnfd8mJ8u5iav4BYmBtYTV/orGLxFqLmaYiIiaZ8c1ePcbfJEeX/8Airs5zjHZziqsRmF+q7V/bTt2U0RyUx5ISnW/jq7+klvC7qd6w1mNlO3+6rhmerZ1IOuoxH18RQAAAAAAAAAAAAAAAAAAAAAAABLdC9MsXkWJos4muu/lszsqtVTtmiOWnk/BEgFja0dHsPbotZ7lcU+DYiY32KPo7ao2xXHmn9/xVytrRKuc21X5jg7+yubFF2ijyzGyN3T2/sqVdABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnVhx4y3pfZVIslOrDjxlvS+yqBt1qcdMX6FvuQiaWa1OOmL9C33IRE0fXwbMPZuYi7Fu1TNVUg1iQ4fIqIpicRcqqq5KeCHo+BcJza/WBFhKfgbCc2r1j4GwnNq9YEWEp+BsJzavWPgbCc2r1gRYSn4GwnNq9Y+BsJzavWBFhKfgbCc2r1j4GwnNq9YEWEp+BsJzavWPgbCc2r1gRYSn4GwnNq9Y+BsJzavWBFhKfgbCc2r1j4GwnNq9YEWEp+BsJzavWPgbCc2r1gRYSn4GwnNq9Y+BsJzavWBFhKfgbCc2r1nyrJcJMbIiuJ5YqBFx1Mwyi5hqarlqd8tx4+WHLAABbOrLiTmvSdxUy2dWXErNek7ipgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp1YceMt6X2VSLJTqw48Zb0vsqgbdanHTF+hb7kIil2tTjpi/Qt9yERASjIMLTawkXZj59zh2+byIumeW1RVgMPMeLe4jsB6AAAAAAAAAAAAAAAAAAAAAAJjbGyfEiWc4aMLjaqaOCiqN1THIlqO6TVROKtU+WKP5BxgAWzqx4lZr0ncVMtnVjxKzXpO4qZQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp1YceMt6X2VSLJTqw48Zb0vsqgbdanHTF+hb7kIil2tTjpi/Qt9yERAdzIcfTbjwa9VsiZ20TPi/BwwE7ESw2aYrDxuabm6p5tcbXo+HcVzLPqz7wSURr4dxXMs9U+8+HcVzLPVPvBJRGvh3Fcyz1T7z4dxXMs9U+8ElEa+HcVzLPVPvPh3Fcyz1T7wSURr4dxXMs9U+8+HcVzLPVPvBJRGvh3Fcyz1T7z4dxXMs9U+8ElEa+HcVzLPVPvPh3Fcyz1T7wSURr4dxXMs9U+8+HcVzLPVPvBJRGvh3Fcyz1T7z4dxXMs9U+8ElEa+HcVzLPVPvPh3Fcyz1T7wSURr4dxXMs9U+98qzzFTHBFqnzxTPvBIsRft4e1Ny7VFNMdqH43EVYrE13avLPBHJD5iMRdxFe6vXKq58/kagfAAWzqx4lZr0ncVMtnVjxKzXpO4qZQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp1YceMt6X2VSLJTqw48Zb0vsqgbdanHTF+hb7kIil2tTjpi/Qt9yERAAAGVFNVdUU0RNVU+KIjbMuvZ0azW7Ruows0x/nqimeqZBxh0cdk2YYGndYnDV00c6NlUdcOcAAAD3YDKcdj+HC4euunneKnrngB4R2rujGbW6JqnC7qOSmumZ6trkXbddquaLlNVFceOmqNkwDAAAGyxZu4i7FuxbquVz4qaY2yDWO3Rovm1dMVeDRG3yVXKYn93gx2W4zAz/wBXh67ccsxtjrjgB4wAAAB08HkWY4yiK7GFqmifFNUxTE/ht8bZidHc0w9E114WqqmPHuKoq7I4QcgfZjZOyfG+AAAtnVjxKzXpO4qZbOrHiVmvSdxUygAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiA+xEzOyOGeR8dHR23TdzvBU1eLfYnq4f4BOtG8itZZh6bl2mKsXXG2qqf7fNDuAD5MRMTExExPklAtMskowVUYzCU7mxXOyqiPFTV5vMnzm6SWqbuRY2muOCLc1fnHD/AKqABI9EMlpzG/VfxMbcNamPm8+rk/BYdFNNFMU0UxTTEbIiI2RDjaHUU29H8NNMfT3VU+ed1LtAOTn+TWc1w1XBFGJpj5lzZw/hPmdYBTVyiq3cqoriYqpnZMT5Jhi7Gl1um3pDi6aOCJmmr85piZccG7CYe5i8TbsWY23LlW5haOT5Xh8rw1NuzTE3Jj59yY4apQvQS3Tczyaqo2zbtVVR+PBH8ysMH1hetW79qq3eoprt1RsmmqNsSzAVnpRk/wVjKd62zhru2aJnycsOLsWFp7RTVktNUx86i7GyfylXsAbEx0NyO3dtRj8XRFcTP9KiY4ODyyh63cvtU2svw1ujgpptUxHUD0AAjel2R28XhbmLw9ERibcTVVsj6ceX81eLnmNsbJ8SoMwt02sdibVEbKaLlVMfhEg84ALZ1Y8Ss16TuKmWzqx4lZr0ncVMoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgN+CxFWFxlnEUcM2q4r2cuyWgBcWGv28Th7d+zVurdyN1TLarPR/P72U1TbmN9w1XjomfF54S6xpXlVyjdXLtdqebVbmZ7NoO8j2muPpw2U1Yemr+tiJ3MRyU+Wf4/Npx+mGDtUVRg6a79ezgmYmmn3oRmGNv4/FVX8TXNdyrqiOSPMDzAAn+gmPpu5dVg6qv6lmZmmOWmZ2/v+6UKfweJu4PEUX8PXNFyidsTCbZbpjhrluKcdRVaueWqmN1TP8wCVMbldNq3VXcqimimNtVU+SHEvaV5Tbo20X67s82i3VE9sQimkGkd7NImzapmzhfLTt4avx9wOZm+L8OzLEYnh2XKtsbeTxR2PGAOpo1joy/N7N6udlqdtFc+af/on8loxO2NseJTSS5BpRdwNunD4umq9h6eCmYn51McnngFhDh29KcpqpiasRVRPNqt1beyHMzTTG1FFVGXW6qq/rK42RH4R5Qa9P8fTNNnA0TtqirfK/NwbIjtlDIZ3rtd+7Vcu1TXcqnbNUzwywgH1Z2i+Ppx2T2OH+raiLdcckx/wrF7MqzG/lmKi9h6vSpnxVRySC2RG8DpfgL1EeE7vD1+WJiao649zZidLcstUTNm5Xfq8kU0TH7g7GZ4y3gMBexN2eCiNsRyz5IVFcqmuuquqdtVUzMzyy6eeZ1iM3uxNz5lmn6FuJ4I8/nlywfAAW1qx4lZr0ncVKt/VNa8I0Ux9nbuYuXKqNuzbs207EB0z0ZvaNY61auXYv2b1M1W7kRuduzxxMeSY2x1qI8AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiAAAPsRMzsh0sPkWZ4ijd2sHd3P+b5v7g5g9eMy7GYL/ysNctxyzHB1+J5AAAAerB4DFYydmFw9y7s8c008EfmDyjqXsgzSzRuq8Fc2f5dlX7OZVE0zMVRMTHjiQfAAAZUUVXK4ot0zVVPBEUxtmQYjq29Hs1uUbqnBXNnJVMUz1TO14cXhMRhK9xirNy1V/np2bQaAAAAB7cHlWOxsRVhsNcrpn+7ZsjrngbMVkmZYWmar+EuxTHjmmN1EdQOcAAAC5NTnF/E/wCvP7OZru/wXpv9t09TnF/E/wCvP7OZru/wXpv9tRVwCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOrDjxlvS+yqRZKdWHHjLel9lUDbrU46Yv0LfchEUu1qcdMX6FvuQiIAOho/apv51gqK/ozdiZ8+zh/gE20ZyC1gMPbv4miK8XVG64Y/7fmjz+dIIfQGNyim5RNFymKqZ4JiY2xKvtLcipy6uMThYmMNXOyaeZPuWG5mktqm9kWNprjxW5rj8Y4f4BVYAO/opksZpiarl//wAW1MbrZ/dPIsWzat2LVNu1RTRRTGyKaY2RDkaHW6bej+GmmOGuaqqvPO6mP2iHaAcTSLIrWZ2Kq7dNNGLpjbTXEfS80u2ApmqmaappqiYqidkxPkfHY0ttU2dIMXTRGyJqir85iJntlxwbMPZrxF+3ZtRtuV1RTTHnWhkWTYfKsPEUUxXfmPn3J8c+aOSEN0EtU3M93VUbZt2qq4/Hgj+VjA+NWKw9nFWarWIt03LdXjpqhtAVfpLlM5TjooomarFyN1bqntifPDkLC09tU15PRcmPnUXY2T+MT/wr0BLdDsioxVPhuMo3VqJ2W6J8VU8s+ZElvZZapsZdhbdEbKabdMdgPTERERERERHkgAEV0uyG3dw9zHYOiKL1HzrlNMcFUeWfxQJc0xtjZPDCocfbps47EWqfo0XKqY/KQecAFw6oblNrRrGXLk7KKLs1VTyRFPCiGsvSTC5/jsLRgN1VhsNTVEXKo2bqqrZt2R49nzY8aT6suJWa/wDv3FTyqPgCKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiA9GX4icJjrGIiNu9VxVs5dkvOAuSxdov2aLtqqKqK43VMx5YZq30d0iu5XG83aJvYWZ2xTt4aPw9yYWNJMqu0RV4VFH+WumYmAdhwdM8bThcmuW4n+pf+ZEeby9n7sMfpZl+HonweasTc8kURsj85n/lBc0zG/mWKqv4mrbPiimPFTHJAPGACwtBMbTeyucLM/1LFU8H+WZ2/vtSVUGAxl7A4mi/hq9zcp6pjknzJ3luluBv24jF7rD3fLtiZpn8JgEkfKqoopmqqYimI2zM+SHJu6R5Vbo3U4umrzURMzPYimkekteY0Th8LFVrDT9Lb9Kv8fMDkZ3i4x2a4nEx9Gur5v4RwR2Q8IA6+i2OpwGc2blydluvbbqnzT/zsWhEqYSrINKqsJapw+PpquWqY2U3KfpRHJPKCejlW9IcqrpiqMZREf5omP4czNNL8LZoqpwETfu+SqqJimOvhkHm1gY2nebGCpnbXNW+VbJ8URGyP3nqQltxV+5ir9d6/VNdyudszLUAtLRnG047J8PVFW2u3TFuuOSY4P8AlVro5Lm1/KcTvtjZVTP06J8VQLWHBwelWW36Im7cmxXPjprpn944GzFaTZXYomYxG+1c23TMzP8AAOlj8VbwWDu4m9PzLdO38fMqO7cqu3a7lf0qpmqfxl1tIM9vZtXFMRveGpnbTRt8c8suMAAC2dWXErNfxudxU8rY1ZcSs1/G53FTyo+AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgAAA9lnLMdfpiqzhMRXTP90W52dYPGN+JwuIw0xGIsXbUz4t3TNO3raAAAAbcPh72Jq3OHs3LtXJRTNU9gNQ9t3K8fapmq5gsRTTHlm3OyHiAAAB9iJmdkRwg+D3UZTmFdMVU4HEzE+Xe5eW9Zu2K9xet126uSumYkGsAAAAejDYPE4n/wAfD3bvoUTOxnicuxmGp3WIwt+3TzqqJiOsHkAAABbOrLiVmv8A79xU8rh1P0xXo5iqK4iqmq9MTExtiY2IxrWyLBZRjsFfy+1FijE01xVbp+jE07OGI8n0uxUQQBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp1YceMt6X2VSLJTqw48Zb0vsqgbdanHTF+hb7kIil2tTjpi/Qt9yERAB78hs04jOcHarjbTNyJmOWI4dnYCY6MaO28NZoxONtxXiK42xTVHBRH4cqTgDXfs279qbd6im5RV46ao2wrzSrI/gy9TesbfBbk8ET/ZPIsdy9J7FN/IsZTVH0aJrjzTHD/AKsAB29GclnNsVM3JmnDW+GuY8vJELGwuGs4W1FrD26bduPFTTDk6GWabWj9iqmOG5NVVX47Zj9oh3AEe0k0es4+zXewtFNvFxwxs4Ir80+9IQFMzE0zMTGyY4Jh8dbSqzTYz/ABdFEbKZqirZ55iJn93JBssWq792i1apmquuYiIjyysvIciw+WWaaqqYuYqY+dcmPF5o5ER0Gs03c9iqr/8AFbqrj8eCP5WMA8+OwWHx1ibWKtU3KJ5fHH4T5HoAVZpDlVeU46bUzurVXDbr5Y97lrB0+s015RbuzHz7d2Nk+aYnb/CvgEo0SyCnHf8AV4ynbh4nZTRz59yLrcyqxThstw1mmNkUW4j89nCD026KLdEUW6aaKY4IppjZEMp4Y2T4gBD9LdHrcWa8bgaIoqp4blumOCY5YjyIQuaqmKqZpqjbExsmPMqDG2osYy/ajxW7lVPVOwGgAFyanOL+J/15/aHL12/4N03+26mpzi/if9ef2hy9dv8Ag3Tf7bXiKvAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnVhx4y3pfZVIslOrDjxlvS+yqBt1qcdMX6FvuQiKXa1OOmL9C33IREB6ctxPgeYYfEeOLdcVTHLG3heYBctuum5bprtzuqKoiqJjywyV5o5pLVl1EYfFU1XMNH0Zjx0f8ACZWM7yy9RFVGOsUxyV1xTPVIOi4emOMpwuS3aNv9S/8A06Y/fsZZhpLl2EomaL0X6/JTanbt/PxIDm+Z380xU3r07I8VNEeKmAeAAFh6DYym9lPg23+pYqmNnmmdsT+/UkipMsx9/LsXTfw9WyqOCYnxVRySn2W6T5fi6Ii7c8Gu+Wm54vynxA7r5MxETMzERDwXs6y21RNVWNw8xyU1xVPVCJaRaUTjLVeFwMVUWKo2VVzwTVHJHJAOJnuLjHZvicRR9CqrZT54iNkdkPAAOzoljKcFndmq5Oyi5E26p5Nvi7dizlMJjo/pXFq1Th8y3UxTsim9HDOzzx/IJsPBRnGW10RVGOw0RPLciJ6pc3M9K8FhqKqcLV4Te8kU8FMT559wPHrAxlNOFsYOJjfKq98qjkiImI/fsQVvxuKvY3E138RXNdyudsz/AA0ALV0dxlONyfD3KZ21U0xRX6UcE+/81VOpkOcXspxO6o+fZr4LlufFMcv4gtMcjBaRZZiqInwmizVPjpuzudn5+Jnis+yzDUTVVjLVfmtVbuZ6ge7GYi3hMLdxF6dlu3TNUqiv3JvXrlyr6VdU1T+cu1pHpBczaYtWom3haZ2xT5ap5Z9zhA+AAuTU5xfxP+vP7Q5eu3/Bum/23U1OcX8T/rz+0OXrt/wbpv8Aba8RV4DKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgAAA32cJiL8bbNi7cjloomQaBndtV2qtzdoqoq5Ko2SwAAABlboruVRTbpqqqnyUxtkGI9F3B4mzTur2HvW6eWqiYh5wAAAAB6LeCxV2jdW8Nfrp5abczDTVTNNU01RMVR44kGIAAAA2WbN2/VubNuu5VyUUzMsr2Gv2P+/Zu29vPomn9waQAAAXJqc4v4n/Xn9oczXb/AIN03+26GqO5TZ0Yxt2udlFu5NUz5ohDNYek1nSLG4bwSi5GFw1NUU1XNkTVNWzbOzyeKFREQEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnVhx4y3pfZVIslOrDjxlvS+yqBt1qcdMX6FvuQiKXa1OOmL9C33IREAHuySxTis3wlmuNtFVyN1HLHjkEs0Y0atU2aMXmNEV3K9lVFurxUx545UtiIpiIpiIiPFEQPoNGLwljGWpt4m1Rco5Ko8SutJ8kqynEU1W5mrDXJ+bM+OJ5JWY5OlWHpxGRYqKo4aKd8ieSY4QVaADr6OZPVm2MmmZ3Ni3w3Kv4jzrGwGBw2As73hbNNunliOGfxnyuZoVh6bWQ2q4j516qquqfz2R2Q72wGP5I1pHo3ZxVmvEYG3FvE08M0Uxsiv8uVJ9gCmJjZMxPjfHV0osU4fPsXbojZTNUV7PSiJ/lygZW6KrlymiiJqqqmKYiPLMrG0f0cw+X2qbmJopvYqeGZmNsUeaPei2hFim/ntE1Rt3qiquPx4I/lZADx5lluFzGzNGKtRVPkq/up/CXsAVTnmWXMqx1Vi586ifnUV86HOT/T+xTXldq9s+fbuRET5pjh/aEAASTRXIIzGucRionwWidkU+Ldz7kbW5lGHjC5XhbFMbNxbjb+Pjnt2g34exaw1uLdi3RbojxU0xshlcopuUTRcpiqmeCYmNsSyAQnSvRy3Zs1YzL6NzRTw3LceSOWPchy5blFNy3VRXG2mqNkxywqDF2t4xV6zt273XVRt/CdgNIALa1Y8Ss16TuKmWzqx4lZr0ncVKoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgPXlWJjCZlhsRP0bdyJn8PL2PIAuamqmummqid1TVG2JjyskB0Z0ljBWqcLjt1NiOCiuOGafNs8sJlYzPBX7cV2sXZqpn/ADxt6gexxdL8XGFyS/Ez867G90x+Pj7Nrbj8/wAvwVuaq8RRcr8lFud1M9Xi/NX+eZtezbF75c+bap4LduPFTHvBzAAWNoPi6b2S02I+nYqmmY80zMxP79SRKmyjMr2V4um/Ynb5KqJ8VUciwct0iy/HURsvU2bnlt3Z3M9fikHYfJl5ruY4K1RNV3FWKY89cIjpJpTTftV4bLZq3FW2K7s8G2OSPeDgaQ4unG5zir9udtFVWymeWIjZE9jnADt6H4unCZ5amudlF2JtTP4+LtiFmKZjgngTfR/Su3NmmxmlU03Kfmxd2bYmPOCXjzW8fhLlO6oxViqnli5Dm5ppLgMDRO93IxF3yU252x+c+IHO1gYumjBWMJE/1K693MclMf8AM9iCPVmOMu4/F14i/O2uqfJ4ojkh5QFraP4unG5PhbtM7ZiiKao5Ko4JVS7Ojud3covTwb5h6/p0fzHnBZw52BzrL8ZRE2sTbirmVzuao/KWzE5rgcNRNV7FWafNFW2eqOEHpxN6jD2Ll67Oyiimapn8FQYi5N6/cu1eOuqap/OXf0m0inMo8HwsVUYWJ2zM8E1z5/MjgAALa1Y8Ss16TuKlW1qx4lZr0ncVKoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrVjxKzXpO4qVbWrHiVmvSdxUqgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2tWPErNek7ipVtaseJWa9J3FSqACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOrDjxlvS+yqRZKdWHHjLel9lUDbrU46Yv0LfchEUu1qcdMX6FvuQiIAAAAAAAAAAAAAAAAAAAAAAAAAAAALa1Y8Ss16TuKlW1qx4lZr0ncVKoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrVjxKzXpO4qVbWrHiVmvSdxUqgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2tWPErNek7ipVtaseJWa9J3FSqACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOrDjxlvS+yqRZKdWHHjLel9lUDbrU46Yv0LfchEUu1qcdMX6FvuQiIAAAAAAAAAAAAAAAAAAAAAAAAAAAALa1Y8Ss16TuKlW1qx4lZr0ncVKoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrVjxKzXpO4qVbWrHiVmvSdxUqgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2tWPErNek7ipVtaseJWa9J3FSqACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOrDjxlvS+yqRZKdWHHjLel9lUDbrU46Yv0LfchEUu1qcdMX6FvuQiIAAAAAAAAAAAAAAAAAAAAAAAAAAAALa1Y8Ss16TuKlW1qx4lZr0ncVKoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6sOPGW9L7KpFkp1YceMt6X2VQNutTjpi/Qt9yERS7Wpx0xfoW+5CIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAtrVjxKzXpO4qVbWrHiVmvSdxUqgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTqw48Zb0vsqkWSnVhx4y3pfZVA261OOmL9C33IRFLtanHTF+hb7kIiAAAAAAAAAAAAAAAAAAAAAAAAAAAAC2tWPErNek7ipVtaseJWa9J3FSqACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlGrOqKdN8tmqdkf1I67dUIu9mUY2vLs0wuMt8NVi5Tc2cuyfECSa1qaqdMsTVVGyK7duafPG5iP4lD1q60MrjOcqwWkGWxvlFNr+puY2zvc8MT+UzO38fMqpd+gAgAAAAAAAAAAAAAAAAAAAAAAAAA24axdxWIt2MPbquXrlUU0UUxtmZkFqatdtrQTN7tyNluJu8P4UcP7qmW5pLuNEtXlrKqa6ZxmKpm3Vuf7pnhrn8Iidn5wqNdABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABNdAtMpyP/AKHMIqu5bXPkjbNqZ8cxHljlj/6ZFmmguV59bnH6M42xbivhmiPnW9v5cNP4bOpVD0YPGYnBXd9weIu2LnOt1zTPYCW3dWuf0VbKYwtcctN3g7Yhh8nGkH1WH/Whyo0uz+P8VxU/jVtZfG/P/vXE9ce4HT+TjSD6rD/rQfJxpB9Vh/1ocz435/8AeuJ649x8b8/+9cT1x7gdP5ONIPqsP+tB8nGkH1WH/WhzPjfn/wB64nrj3Hxvz/71xPXHuB0/k40g+qw/60HycaQfVYf9aHM+N+f/AHrieuPcfG/P/vXE9ce4HT+TjSD6rD/rQfJxpB9Vh/1ocz435/8AeuJ649x8b8/+9cT1x7gdP5ONIPqsP+tB8nGkH1WH/WhzPjfn/wB64nrj3Hxvz/71xPXHuB0/k40g+qw/60HycaQfVYf9aHM+N+f/AHrieuPcfG/P/vXE9ce4HT+TjSD6rD/rQfJxpB9Vh/1ocz435/8AeuJ649x8b8/+9cT1x7gdP5ONIPqsP+tB8nGkH1WH/WhzPjfn/wB64nrj3Hxvz/71xPXHuB0/k40g+qw/60HycaQfVYf9aHM+N+f/AHrieuPcfG/P/vXE9ce4HT+TjSD6rD/rQfJxpB9Vh/1ocz435/8AeuJ649x8b8/+9cT1x7gdP5ONIPqsP+tB8nGkH1WH/WhzPjfn/wB64nrj3Hxvz/71xPXHuB0/k40g+qw/60PvycaQfVYf9aHL+N+f/euJ649x8b8/+9cT1x7gd3Casc6u1xGIvYSxR5Zmuap/KIj+UmsYXR7V/YqvX704rNJp+bHBvk+amn+yPPP/AAri/pTnl+3NFzNcXuZ8cU3Jp/Zxq66q6pqrmaqp8czO2ZVHT0jzvFZ9mdeLxc/5aKI8VFPkiHKfXxFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbZsXI/t7WM2q48cdrdVVVuvHPW+VTPLLPJY1b3VydpvdXJ2tm6nlk3U8srSNW4q5O03FXJ2s91PLJup5ZKRhuKuTtNxVydrPdTyybqeWSkYbirk7TcVcnaz3U8sm6nlkpGG4q5O03FXJ2s91PLJup5ZKRhuKuTtfYtVz4o7WW6nllnRVPLPWUjDeLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGveLnN7TeLnN7WzdVcs9ZuquWespGmu3VRG2qGDfcqnllriZ5VzsjHYbH3bPKbZ5VhHzYbH3bPKbZ5SEIpmZ2R42W83Ob2vlMzuo4ZbN1Vzp6yEY7xc5vbBvFzm9sM91Vzp6zdVc6eshGG8XOb2wbxc5vbDPdVc6es3VXOnrIRhvFzm9sG8XOb2wz3VXOnrN1Vzp6yEYbxc5vbBvFzm9sM91Vzp6zdVc6eshGG8XOb2wbxc5vbDPdVc6es3VXOnrIRhvFzm9sG8XOb2wz3VXOnrN1Vzp6yEYbxc5vbBvFzm9sM91Vzp6zdVc6eshGG8XOb2wbxc5vbDPdVc6es3VXOnrIRhvFzm9sG8XOb2wz3VXOnrN1Vzp6yEYbxc5vbBvFzm9sM91Vzp6zdVc6eshGG8XOb2wbxc5vbDPdVc6etluqudPWQjV4Pc5vbD74Pd5vbDbu6udPWyprq509ZCNMYS9P9nbA9VuqrnT1iEf/9k=","e":1},{"id":"fr_1","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QAShABAAECAwEKCQsDAgYBBQAAAAECAwQFEQcGEhMhMTZRUnKhQWFxg5GSsrPRFBUWFyJUVYGTosEyQrEjwzVFYnN0wuEzNEPw8f/EABkBAQEBAQEBAAAAAAAAAAAAAAABAgQFA//EACERAQEBAAICAgIDAAAAAAAAAAARAQQxAkEDBRIhExRR/9oADAMBAAIRAxEAPwD8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZy7A4nMcXbwuCs13r9c6U0Ux3+KPGsbLtm+FwmGjE7pMxptUxx1UW6oopp8tdXwXMorAWlXl+zy1O9qxUVTHhi7cq1/OOJ5+R7OvvP77vwIlVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLQ+R7OvvP77vwPkezr7z++78CFVeLUt5HuCzDS3hcfFq5PFE8PNM/vcbdNs6x2W2asTllz5dhqY300xTpcpjyf3fl6CKggCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+xEzMRETMzyRD4724TCU43ddllmuImnheEmJ8O9iav/UFh4C1g9n25WMXibUXM1xMRE08kzVPHvPFTHh//AIq7Os4x2c4ucRmF+q7X/bHJTRHRTHghKtr+Nrv7pbeF308HhrMRFP8A1Vccz6N76EFXf8ABAAAAAAAAAAAAAAAAAAAAAAAAASzcXuxxeRYm3ZxFdd/LZnSq1VOs246aejyck96JgLF2o7n7FFFrPsr3s4bETHCxR/TrVxxXHinw+PTpV0tnchXOcbMMywV+d9Nim7bo18GkRXT6JnuVMugAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoAyYezcxF2LdqnfVSgxiQ4fIrcUxOIuVVVdFHFDY+ZcH1a/WBFhKfmXB9Wv1j5lwfVr9YEWEp+ZcH1a/WPmXB9Wv1gRYSn5lwfVr9Y+ZcH1a/WBFhKfmXB9Wv1j5lwfVr9YEWEp+ZcH1a/WPmXB9Wv1gRYSn5lwfVr9Y+ZcH1a/WBFhKfmXB9Wv1j5lwfVr9YEWEp+ZcH1a/WPmXB9Wv1gRYSn5lwfVr9Y+ZcH1a/WBFhKfmXB9Wv1nyrJMJMcUXI8cVAi46uYZRcw1E3LVXCW45eLjhygAAWtst5nZ126/dwqla2y3mdnXbr93CqVABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvuq0WSnZjz4y3zvuqwZNqfPTF9i37EIklu1Pnpi+xb9iESXQSjIcNFnBxdmPt3ePyR4EXTLLaoqy/DzHJwcR6IQbIAAAAAAAAAAAAAAACa7ndnuY5rhaMTibtGCsVxrRv6ZqrmOne8XF5ZcfcPgbeY7q8uw9+IqtzcmuqJ5J3tM1afnosXdnj71zMq8JvppsWoj7MTxVTMROs+l6n1nA/t+X76cXM5X8Hj+u0YzzZtmOBw9V7AX6MdTTGs0RRvK/yjWdfTqgkxpOk8q29yuYXsNmdmzFVVVm7VvaqNeLj8KF7ScHawW67F02Kd7Rdim7pHgmqOPv1n83R9p9X48TPy8Hy4XN359/HyRgB4b0hEs4w0YbG1U0RpRVG+pjoS1HN0tUTirVMcsUcfpBxwAWtst5nZ126/dwqla2y3mdnXbr93CqV0AEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdmPPjLfO+6rRZKdmPPjLfO+6rBk2p89MX2LfsQiSW7U+emL7Fv2IRJdB3Mgx9NuPk16dImdaJnk8jhiCdiJYbNMVh6Yppub6mPBXxtj59xXUs+rPxBJRGvn3FdSz6s/E+fcV1LPqz8QSURr59xXUs+rPxPn3FdSz6s/EElEa+fcV1LPqz8T59xXUs+rPxBJRGvn3FdSz6s/E+fcV1LPqz8QSURr59xXUs+rPxPn3FdSz6s/EElEa+fcV1LPqz8T59xXUs+rPxBJRGvn3FdSz6s/E+fcV1LPqz8QTHJ8fcyvNMNjbMa12K4riNdNemPzXFdsZfutw9GOyvE003t7EV0VcsT0VRyxL82fPuK6ln1Z+L3a3Q421VvrU26KumnWJ/y7uFzvLieV8XNyONnz5NfpDD5fgtzVucyzXGW/sRO9jTw+LwzKpd0ubV53nWJx1UTTTcnSiif7aY4oj0IVe3RY69O+uzRXV01az/LH8+4rqWfVn4vrzvsvPl5mbkxjjcTx+DbiSiNfPuK6ln1Z+L5VnmKmNIi1Hjimfi8x2JDiL9vD2puXat7THeiGMxFWKxNd2ri308UdEPOIxF3EV769XVXPg18DEAAC1tlvM7Ou3X7uFUrW2W8zs67dfu4VSugAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoAIA9UU1V1RTRTNVU8UREazLr2NzWa3qIqjCzTE9eqKZ9EzqDjDoY7JswwNO+xOGrpo60aVRH5w54AAAN7AZTjsfGuFw9ddPW5KfTPEDRHau7mM2t0TV8l30R1a6Zn0auRct12q5ouUVUVxxTTVGkwDwAADJYs3cRdi3Yt13Lk8lNMayDGO3RuXzaqjffJojxTcp1/y0MdluMwE6YvD124nkmY1ifzjiBpgAAADp4LIsyxlEV2MLXvJ5KqpimJ9PKyYnc5mmHomuvC1VUx1JirujjByB9mJiZiY0mHwAAFrbLeZ2dduv3cKpWtst5nZ126/dwqldABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvuq0WSnZjz4y3zvuqwZNqfPTF9i37EIklu1Pnpi+xb9iESXQfYiZnSOOZfHR3PW6bueYKivjp4WJ9HGgnW5rI7eWYam5dpirGVxrVV1fFDuAD5MRMTExExPLEoFuyySjBV04zCUxTYrnSuiOSmrxeKU+c3dJapu5FjaauSLc1fnHHH+AVUACRbkMlpzK/XfxMa4a1Om969XR5FiUU00UxTRTFNMRpERGkQ42463Tb3PYaaeWvfVT4530u0A5O6DJrOa4Wr7MU4mmPsXI5fJPidYBTVyiq3cqoriaa6ZmJifBMPLsbrrdNvdFjIp4omaavzmmJlxwZsJh7mKxNqxZjW5cqimFo5NleHyvCxbs0xNcx9u5McdUoXuDtU3M8mqqOO3aqqp8usR/MrEAeL1q3ftVW71FNduqNJpqjWJewFZbqMo+asbHBazhrus0a+DphxVh7vbdNWS0VzpvqLsaT5YmFeAJluMyO3dtxj8ZRFcTP8ApUVRxcX90oat/LrdNnL8Nbo/ppt0xHoBsAAjW67I7eLwtzF4aiKcTbjfVaR/XHh/NXq5/LyKgx9umzjsTbo/pouVUx5IkGuAC1tlvM7Ou3X7uFUrW2W8zs67dfu4VSugAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoM+BxFWExljEU8c2q4r06dJYBBcWGv28Th7d6zVFVuuN9Esqssgz+/lMzbmnhcNM6zbmdNJ6YlL7G6vKrlETcu12Z6tduZ/wAag7yPbtsfThspqw8THC4j7MR0U+Gf4/NgzDdhg7VExg6K79zwTMb2mPTxoTmGNv4/FVX8TXvrlXoiOiAawAJ9uDx9N3L6sHVVEXLMzVTHTTM6/wCdUpU/g8VeweIov4euaLlE6xMJtlu7HDXKIpx9uqzc8NVEb6mf5gEqebtyi1bquXKopopjWqZ5IhxL26vKaKJqov13Z6tNurXviEU3Qbo72aUzZtU8Dhurrx1eWf4BzM3xfy7MsRidNIuV6x5OSO7RpgDqbmsdGX5xYvXJ0tT9iufFPh/xP5LSiYmImJiYnwwplJcg3UXcBbpw+Lpm9h6eKmY/qpj+YBYQ4dG6rKaqImrEVUT1Zt1ax6IczNN2NqmiqjLrdVdc8XCXI0iPJHhBj2gY+mabGBonWqJ4SvxcWkR3yhb3eu137td29XNdyqdaqp5Zl4AWhuWx9OOyezx/6tqmLdceOOSfzhV7dyrMsRlmKi9hqvFVTPJVHRILaEbwW6/AXqI+Uxcw9fh1pmqPymPgyYrdbllqjW1Xcv1eCmmiY/zoDrZnjLeAwN3E3ZjSiNYjrT4IVJcrm5XVXVOtVUzMz43Tz3OsRm16JufYs0/0WqZ4o8c9MuUAAC1tlvM7Ou3X7uFUrb2RWvlG5jNLM1b2Ll6qjXo1oiEF3Zbmb25rHW7Vy7F+zepmq3cine66csTHTHF6V9CPAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACAPsRrOkcrpYfIszxFG+t4O7vZ5N9pTr6dAcwbeMy3GYLjxWHuW45N9NPF6eRqAAAA2sHgMVjJmMLh7l3Tlmmnij8wao6l7IM0s0b6vBXNP+nSr/AA5lVM01TFUTExxTEg+AAA9UUVXK4ot0zVVPFERGsyDyOrb3PZrco31OCuRH/VMUz6Jlo4rCYjCV73E2blqrwb+mY1BgAAAAG9g8qx2NiKsNhbtdM8lWmkemeJ7xWSZjhaN9ewl2KY5ZpjfRHl0BzgAAAXBsY/4Fjv8Ayf8A1hobbv8Akvnv9tv7GP8AgWO/8n/1hobbv+S+e/22vSKuAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvuq0WSnZjz4y3zvuqwZNqfPTF9i37EIklu1Pnpi+xb9iESXQfXx0Nz9qm/nWCt1/0zdiZjp04/4QTbcxkFrAYejEYiiK8XVGvHH/ANPxR40hAHmuim5RNNymKqZjSaZjWJV9uuyOnLrkYnCxMYa5Ok09Sr4LDczdLZpvZFjaav7bc1x5Y4/4BVYAO9uUyWM0xNVy/r8ltf1af3T0LGs2rdm1Tbs0U0W6Y0immNIhx9xtqm3uew80xGtc1VVeOd9Mf4iHbAcTdFkVnM7FVdumKMZTGtNccW+8Uu2ApqumaK6qaomKonSYnwS8uvustU2d0GMpoiIiaoq/OaYme+XIBkw9mvEX7dm1G+uXKoppjxys/Ismw+VYeIopiu/MfbuzHHM+LohDtwlqm5nsVVctu1VXHl4o/lYoDFisPZxVmq1iLdNy3VyxVDKAq/dJlM5Tjt5TM1WLkb63VPfH5OQsLd7apryai5P9Vu7Gk+WJiVegJbuOyGjE0xjsbRvrWuluieSrTwz4kSW9llmmxl2GtURERRbpjuBsRERERERER4IfQBFN12QW7uHuY3B0RReojfXKaY4q48M+VA1zTETExPHEqhx9qLGNxFqnkouVUx5IkGuAC3djtym1udzG5cnSii/NVU6ckRRCKbSt0mFz/HYWjAb6rDYamrS5VGm/mrTXSJ49PsxypHsu5m5326/dwqpr0gAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfdVoslOzHnxlvnfdVgybU+emL7Fv2IRJLdqfPTF9i37EIkug2MvxE4THWMRHHwdcVadOktcQXJYu0X7NF21VFVuuIqpmPDD2rfc7uju5XHA3qZu4XXXexPHT5PgmFjdJlV6jX5VFE9WumYmAdhwN2mNpwuTXLWv+riPsUx4vDPo/y85husy/D0T8nqqxNzwRTExH5zP8ILmmYX8yxVV/E1azPFFMclMdEA0wAWDuExtN7K5wszHCWKp4ummZ119OqTKhwGMvYDFUX8NXvblPomOiU6y3dbgb9ERi9cNd8OsTNM+SYBJHyuqmiiqquYimmNZmfBDk3t0eVWqN9OLpq8VMTM/wCET3RbprmY0Th8LTVaw0/1TP8AVX5eiAcnOsXGOzXE4mP6a6/s+SOKO6IaIA6+5bG04DObNy5OluvW3XPRE/8AzotBTCV5BuqqwlqjD5hTVctU8VNynjqpjonpBPByaN0WVV0b6MZREdExMT/hzc13X4Wzbqpy+Jv3Z4oqmJimP5kGvtAxtPA2MFTOtc1cLX4o44j/ADPoQhlxV+7ir9d6/XNdyudZmWIBaW5nG047J8PVE6126Yt1x0THx5VWujkubYjKcTwljSqirirtzyVQC1hwcFuqy3EURN25Vh6/DTcif8xxMmK3TZXYomYxHC1eCm3TMzP8A6WPxVvBYO7iL06UW6dfL0QqO7XVduV3K51qqmap8sutugz6/m1cU6cFh6Z1ptxPLPTLjAAAtXZdzNzvt1+7hVS1dl3M3O+3X7uFVLvQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACADcs5Zjr9O+s4TEV0zyVRbnSfzBpjPicLiMNOmIsXbUzyb+iadfSwAAAAy4fD3sTXvcPZuXauiimap7gYhu3cqx9qiarmCxFNMcszbnSGkAAAD7ETMxERrMg+DeoynMK6d9TgsTNPTwc8bVvWbtiveXrdduvq10zE94MYAAAA2MNgsViv8A7bD3rseGaKJnR6xGX4zDU76/hb9unrVW5iPSDVAAABauy7mbnfbr93CqlvbGqaa8gx9NdMVU1YiYmJjWJjeQjm1fIsFlGOwV/L7VNijFU1763RxUxNOnHEeDXfcniX0iCAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfdVoslOzHnxlvnfdVgybU+emL7Fv2IRJLdqfPTF9i37EIkugDfyGxTiM5wdqvjpm5EzHTEcencgmO5fc7aw1i3isbbivE1Rvqaao4qI8nSk4Ax37Nu/aqt3qKblurlpqjWJV5uryOMrvU3sPEzhbk6Rr/ZPQsdy909inEZFjKav7aJrjy08f8AqwAHb3MZLObYqZuTNOGtaTXMcs+KFj4XDWcLZi1hrdNu3HJFMORuMs02tz9iqmPtXJqrq8usx/iIdwBHt0m56zj7Nd7DUU28XHHxRpFfinx+NIQFMzE0zMTExMcUxL4626qzTY3QYyiiNKZqiv85iJnvlyQe7Nqu9dotWqZqrrmKaYjwzKy8gyLD5XZpqqppuYqY+1cmOTxR0QiW4axTez2Kqv/xW6q48vFH8rGAa+OwWHx1ibWKtU3KJ5NeWPHE+BsAKr3QZVXlONm1M761VG+t19MfFzFg7vrNNeUW7sx9u3djSfFMTr/CvgEo3I5BRj4nF4ynXD0zpRR15+CLrdyqzThstwtmmNIot0x+enGDYt0U26Iot0000RxRTEaRD1MRMTExrEgCHbrdz1uLFeOwNEUVUcdy3THFMdMQhK5qqYqpmmqImmY0mJ8Kn8baixjL9mOS3cqo9E6AwgAuPY5zfxP8A3/4c3bdyZL57/bdLY5zfxP8A3/4c3bdyZL57/bazpPargGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877qtFkp2Y8+Mt877qsGTanz0xfYt+xCJJbtT56YvsW/YhEl0G1lmJ+SZhh8R4LdyKp8mvG1RBctuum5bprt1RVRVETTMeGHpXm5vdLVl1EYbFxVcw39sx/VR8YTKxnmWX6N9TjbFMdFdUUz6J0B0XD3Y4ynC5Jdo1/1L/wDp0x/nufcw3TZdhKJ3l6MRc8FNqddfz5ECzjM7+a4ub1+dIjioojkpgGgACw9wuMpvZR8n1/1LFUxp4pnWJ759CSKkyvML+W4unEYerSqOKaZ5Ko6JT7Ld1GX4uiOFuRhrvhpucn5TyA7r5MxETMzERHLMtC9nWWWqJqqx2HmI6tcVT6IRLdHuonGWqsNgIqosVcVdyeKao6I6IBxM+xdOOzfFYij+iqrSnxxEaR3Q0AB2dyWMpwWd2arkxFu5E26pnwa8nfos5TCY7n91dNq1Th8z30xTGlN6OOdPHH8gmw0KM5y2uiKox2GiJ61yIn0S5mabq8DhaKqcLV8pveCKf6Y8s/AGntAxlNOFsYOJ+3VVwlUdERrEd89yDM+NxV7G4mu/iK99crnWZ/iGABau5zGU43J8NcidaqaYorjoqji/+fzVU6mQ5xeynEzVb+3Zr/rtzPL446JBaY5GC3R5ZiqIn5TTZq8NN37Mx+c8TJis+yzDUb6rGWq/Fbq38z6AbuMxFGEwt3EXZ0ot0zVKor9ybt6u5V/VXVNU+WXZ3R7oLmazFq1TNrC0zrFM8tU9M/BwgAAXHsc5v4n/AL/8Obtu5Ml89/tulsc5v4n/AL/8Obtu5Ml89/ttZ0ntVwDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACADPZwmIvxrYsXbkdNFEz/AIBgHu7artVb27RVRV0VRpLwAAAD1boruVRTbpqqqnwUxrIPI2L2DxNmnfXsPet09NdExDXAAAAAGxbwWKuUb+3hr9dHWptzMMNVNVFU01RNNUcsTGgPIAAAAyWbN2/VvbNuu5V0UUzL1fw1+xpw9m5b169Mx/kGEAAAFwbGP+BY7/yf/WGhtu/5L57/AG25seu02dzmZXbmu8ovzVVpGvFFESiG0TdNZ3RY7Dxg6K6cLhqaoomuNKqpq01nTwckL6REQEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvuq0WSnZjz4y3zvuqwZNqfPTF9i37EIklu1Pnpi+xb9iESXQBvZHYpxWb4SzXGtFVyN9HTHLKCWbl9zdqixRi8woiu5XG+otVRxUx4NY6UspiKaYimIiI5Ih9AYcXhbGMtTbxNqi7RPgqjkV1unySrKb9NduZqwtyfsTPLTPRKy3J3U4enEZDi4qiNaKeEpnomOP4gq4AHX3OZPXm2LmmZmnD2+O5XH+I8ax8DgcNgbUW8Lapt0+HSOOfLPhcvcXYps5DZriPtXaqq6vTpHdDugTx8qMbpNzVnE2a8RgLcW8TTGs0UxpFf5dKTgKZmNJ0l8dXdRYpw2fYy3RGlM1RVp5Yif5coHq3RVcuU0W6ZqrqmIiI8MrG3P7nMPl9qm5iaKbuLnjmZ44o8UfFF9xGHpv57RVXETwVFVyNenij+VjgNPMstwuY2poxVqmqdOKuOKqnyS3AFUZ5llzKsdVYuTvqJ+1RXp/VDnrA3f2Ka8qtXtPt27kRr4pjj/hX4CSblMgjMqpxOK1jC0TpFMcW/n4I2tvKMPThcrwtmmP6bca+XTj7wbGHsWsPbi3Yt026I5KaY0h6ropuUTTcpiqmeKYmNYl6AQjdZuct2LVWNy+ne0U8dy1HJEdMfBD1y10U3KKqK4iaao0mJ8MKgxdrgMVes668HXVRr5J0BhABauy3mdnXbr93Cqlq7LeZudduv3cKqX0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfdVoslOzHnxlvnfdVgybU+emL7Fv2IRJLdqfPTF9i37EIkug28qxMYTMsNiJ/pt3ImfJrx9zUEFzUVRXTFVMxNMxrEx4YfUC3M7powVqnC47fTYp4qLkcc0R0THhhMsPmWCxFG+s4uxVHbjX0A23F3X4unC5HfiZ+3ejg6Y6deXu1Zswz7LsFRM14ii5XHJRbnfTPo5PzV/nubXs2xXCXI3tqniotxPFTHxBzAAWNuGxVN/JabOv27FU0zHimZmJ759CQqmyjMr+V4uL9jj8FVE8lUdCwsu3Q5djbcTw9Nm54aLs72Y8k8kg641buY4KzRvrmLsUx47kIluk3UU37VeFy2Z3lXFXdni1joj4g4G6DFU43OcVfo46Kq9KZ6YiNInuc4Advcfi6cJnlrhJiKLsTamZ8GvJ3xCzFMxxTrCb5BurtzaosZnVNNdPFF7TWJ8vjBLxrUY/B3Kd9RirFVPTFyHMzXdLgMFbqi3dpxF7wUW51j855IBobQMXTRgrGFif9S5Xv5j/AKY1/me5A2zmONvZhi68RiKta6vREdENYBa+QYunG5RhrtMxMxRFNXiqjilVDsbnc7uZReqje8Jh65+3R/MeMFnjnYLO8vxlETaxVuKp/srne1R+UsmJzXAYaiar2Ls0+KKomfRHGDZxN6jDYe5euzpRbpmqZ8SoMRdm9fuXav6q6pqn851d/dNuinM4+T4amqjCxOs68tfl8SOAAAtXZbzNzrt1+7hVS1dlvM3Ou3X7uFVLvQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dlvM3Ou3X7uFVLV2W8zc67dfu4VUu9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoAIAAAAAAAAAAAAAAAAAAAAAAAAAALV2W8zc67dfu4VUtXZbzNzrt1+7hVS70ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfdVoslOzHnxlvnfdVgybU+emL7Fv2IRJLdqfPTF9i37EIkugAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXZbzNzrt1+7hVS1dlvM3Ou3X7uFVLvQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dlvM3Ou3X7uFVLV2W8zc67dfu4VUu9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoAIAAAAAAAAAAAAAAAAAAAAAAAAAALV2W8zc67dfu4VUtXZbzNzrt1+7hVS70ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfdVoslOzHnxlvnfdVgybU+emL7Fv2IRJLdqfPTF9i37EIkugAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXZbzNzrt1+7hVS1dlvM3Ou3X7uFVLvQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dlvM3Ou3X7uFVLV2W8zc67dfu4VUu9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoAIAAAAAAAAAAAAAAAAAAAAAAAAAALV2W8zc67dfu4VUtXZbzNzrt1+7hVS70ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfdVoslOzHnxlvnfdVgybU+emL7Fv2IRJLdqfPTF9i37EIkugAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXZbzNzrt1+7hVS1dlvM3Ou3X7uFVLvQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d91WiyU7MefGW+d91WDJtT56YvsW/YhEkt2p89MX2LfsQiS6ACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dlvM3Ou3X7uFVLV2W8zc67dfu4VUu9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb533VaLJTsx58Zb533VYMm1Pnpi+xb9iESS3anz0xfYt+xCJLoAIAAAAAAAAAAAAAAAAAAAAAAAAAALV2W8zc67dfu4VUtXZbzNzrt1+7hVS70ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlGzOqKd2+WTVOka3I9NuqEXbeUY2vLc0wuMtxrVYuU3NOnSeOPz5ASTarRVTuyxM1RpFVu3MeON7EfxKILV2nZXTnOU4PdBln+rRTajhN7HHNueOJ/KZnXy+JVS6YAIAAAAAAAAAAAAAAAAAAAAAAAAAMuGw93FYi3Yw9uq5euVRTRRTGszMgtHZnE2tw2dXq+KjfXZ18luNVUrc3S8HuR2eWsqprpnGYqmbc6f3TPHcnyaTp+cKkUfAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAE13Bbs6sjn5FmEVXctrnXi45tTPLMR4Y6Y//AGZFmm4TK8+onH7mcdZtxXxzbj7VvX8uOnyd0KobGDxmJwV3hcHiLti51rVc0z3LUS65s0z6mqaaZwlfjpu8XfDz9W2f9TC/rQ5FO63Pqf8AmuKny16vX0wz/wDFMT6xVdT6t8/6mF/Wg+rfP+phf1ocr6XZ9+KYn1j6XZ9+KYn1ijq/Vvn/AFML+tB9W+f9TC/rQ5X0uz78UxPrH0uz78UxPrFHV+rfP+phf1oPq3z/AKmF/Whyvpdn34pifWPpdn34pifWKOr9W+f9TC/rQfVvn/Uwv60OV9Ls+/FMT6x9Ls+/FMT6xR1fq3z/AKmF/Wg+rfP+phf1ocr6XZ9+KYn1j6XZ9+KYn1ijq/Vvn/Uwv60H1b5/1ML+tDlfS7PvxTE+sfS7PvxTE+sUdX6t8/6mF/Wg+rfP+phf1ocr6XZ9+KYn1j6XZ9+KYn1ijq/Vvn/Uwv60H1b5/wBTC/rQ5X0uz78UxPrH0uz78UxPrFHV+rfP+phf1oPq3z/qYX9aHK+l2ffimJ9Y+l2ffimJ9Yo6v1b5/wBTC/rQfVvn/Uwv60OV9Ls+/FMT6x9Ls+/FMT6xR1fq3z/qYX9aD6t8/wCphf1ocr6XZ9+KYn1j6XZ9+KYn1ijq/Vvn/Uwv60H1b5/1ML+tDlfS7PvxTE+sfS7PvxTE+sUd3B7Mc5u1x8pvYTD0eGd/NU/lER/KT2MNue2fWKr1+98qzSaZiI4uEnxRT/bHjnv5Fb391OeX7c0XM1xe9nlim5NOvoceuqquqaq5mqqeOZmdZk/Q6e6PO8Vn+Z14zGTETP2aLcclFPgiHKBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABlmxcjlp73ngq+jvZq6qteWfS8az0yix44Oro7zg6uh7mZ6ZfNZ6SkeN5V0G8q6HvWek1npKR43lXQbyroe9Z6TWekpHjeVdBvKuh71npNZ6SkeN5V0G8q6HvWek1npKR43lXQ+xarnkpetZ6Xu3M8fHJSMfA3Or3nA3Or3s2s9Mms9MlRh4G51e84G51e9m1npk1npkow8Dc6vecDc6vezaz0yaz0yUYeBudXvOBudXvZtZ6ZNZ6ZKMPA3Or3nA3Or3s2s9Mms9MlGHgbnV7zgbnV72bWemTWemSjDwNzq95wNzq97NrPTJrPTJRh4G51e84G51e9m1npk1npkow8Dc6vecDc6vezaz0yaz0yUYeBudXvOBudXvZtZ6ZNZ6ZKMPA3Or3nA3Or3s2s9Mms9MlGHgbnV7zgbnV72bWemTWemSjDwNzq95wNzq97NrPTJrPTJRh4G51e84G51e9m1npk1npkow8Dc6vecDc6vezaz0yaz0yUYeBudXvOBudXvZtZ6ZNZ6ZKMPA3Or3nA3Or3s2s9Mms9MlGHgbnV7zgbnV72bWemTWemSjDwNzq95wNzq97NrPTJrPTJRh4G51e84G51e9m1npk1npkow8Dc6vecDc6vezaz0yaz0yUYeBudXvOBudXvZtZ6ZNZ6ZKMPA3Or3nA3Or3s2s9Mms9MlGHgbnV7zgbnV72bWemTWemSjBVarpjWqNHnSWa7M72OPwsS4lfNJNJfRYV80k0l9CFIpmZ0jle+AudXvfKP6o8rNrPTKaVh4G51e84G51e9m1npk1nplKrDwNzq95wNzq97NrPTJrPTJRh4G51e84G51e9m1npk1npkow8Dc6vecDc6vezaz0yaz0yUYeBudXvOBudXvZtZ6ZNZ6ZKMPA3Or3nA3Or3s2s9Mms9MlGHgbnV7zgbnV72bWemTWemSjDwNzq95wNzq97NrPTJrPTJRh4G51e84G51e9m1npk1npkow8Dc6ve+8Bc6vey6z0yaz0yUYuAudXvg4C51e+GaJnpl91npkowfJ7vU74ffk13qd8M8VT0y+xVPTPpKMMYS9PJR3wNq3VVryz6Qo//2Q==","e":1},{"id":"fr_2","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAQII/8QATxABAAECAwEKCgYHBgMJAQAAAAECAwQFEQYHEhMWITZRUpLRFDFBVHKDkaGysxVTYYGT4SI1VXFzgrEyQkXBw9IjdMIXMzRioqPT8PFE/8QAGwEBAQEBAQEBAQAAAAAAAAAAAAECAwQFBgf/xAAmEQEAAgIABgMAAgMAAAAAAAAAARECAwQSEyExUhRBkQVRMkJx/9oADAMBAAIRAxEAPwD8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZy/A4nMcXbwuCs13r9c6U00x7/ALI+1YuW7m+FwmGjE7SZjTZpjlqot1RRTT9k11dyxFisRaVeX7nlqd5Vi4qmPLF25Vr98cj58D3OvOZ7d3uKS1Xi0PA9zrzme3d7jwPc685nt3e4otV4tDwPc685nt3e48D3OvOZ7d3uKLVeLQ8D3OvOZ7d3uPA9zrzme3d7ii1Xi0PA9zrzme3d7jwPc685nt3e4otV4tDwPc685nt3e48D3OvOZ7d3uKLVeLQ8D3OvOZ7d3uPA9zrzme3d7ii1Xi0PA9zrzme3d7jwPc685nt3e4otV4tDwPc685nt3e48D3OvOZ7d3uKLVeLQ8D3OvOZ7d3uPA9zrzme3d7ii1Xi0PA9zrzme3d7jwPc685nt3e4otV4tDwPc685nt3e48D3OvOZ7d3uKLVeLQ8D3OvOZ7d3uPA9zrzme3d7ii1Xi1LeR7BZhpbwuYRauTyRPDzTP/rhxtptzrG5bZqxOWXfDsPTGs0xTpcpj93977vYUWgg9nkeIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9iJmYiImZnkiIeO9sJhKcbtdldmuImnheEmJ8u9iav+kFh4C1g9z7ZSMXibVNzNcTERNPlmqeWKNfJTHl/wDxV2dZxjs5xc4jML9V2v8Au0+KmiOimPJCV7r+Orv7S0YXfTwWGtU6U/8Amq5Zn2b32IIs/wBIAIoAAAAAAAAAAAAAAAAAAAAAAAAlmxe2WLyHE27OIuV38tqnSq1VOs246aej93in3omAsXdQ2fsUUWs+yuKZw2ImOFij+zrVy01x9k+X7dOlXS2dkK/pjcwzLB35302KbtujX7KYrp9kz7lTLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5AGTD2bmIuxbtU76qUGMSHDZFbimJxFyqqrop5IbH0Lg+rX2gRYSn6FwfVr7R9C4Pq19oEWEp+hcH1a+0fQuD6tfaBFhKfoXB9WvtH0Lg+rX2gRYSn6FwfVr7R9C4Pq19oEWEp+hcH1a+0fQuD6tfaBFhKfoXB9WvtH0Lg+rX2gRYSn6FwfVr7R9C4Pq19oEWEp+hcH1a+0fQuD6tfaBFhKfoXB9WvtH0Lg+rX2gRYSn6FwfVr7TyrJMJMaRFyPtioEXHVzDKLmHpm5aqm5bjx8nLDlAAAtXcu5m516Vfy4VUtXcu5m516dfy4VUoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5BKMgw0WcJF2Y/wCJc5deiPIi6ZZbVFWAw8x4uDiPZCDdw9m5icRasWad9duVRRRTrprMzpEMbobO84Ms/wCatfHDngAAAAAAAAAAAAAAAAAAAAIlnOGjC42qmiNKKo31MdCWo5tLVE4q1THjijWfaDjgAtXcu5m516dfy4VUtXcu5m516dfy4VUoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5B28gx9NuPBr06RM60TPi/c4ggnYiWGzTFYemKabm+pjyVxq2Pp3FdSz2Z7wSURr6dxXUs9me8+ncV1LPZnvBJRGvp3FdSz2Z7z6dxXUs9me8ElEa+ncV1LPZnvPp3FdSz2Z7wSURr6dxXUs9me8+ncV1LPZnvBJRGvp3FdSz2Z7z6dxXUs9me8ElEa+ncV1LPZnvPp3FdSz2Z7wSURr6dxXUs9me8+ncV1LPZnvBJRGvp3FdSz2Z7z6dxXUs9me8ElEa+ncV1LPZnvPp3FdSz2Z7wSURr6dxXUs9me95VnmLmNIi1T9sUz3gkWIv28Pam5dqimmPeh+MxFWKxNd2rk308kdEPMRiLuIr316ua5+3yMIAALV3LuZudenX8uFVLV3LuZudenX8uFVKACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y31vyq0WSncx58Zb635VYMm6nz0xnoW/ghEkt3U+emM9C38EIks+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAWruXczc69Ov5cKqWruXczc69Ov5cKqUAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvrflVoslO5jz4y31vyqwZN1PnpjPQt/BCJJbup89MZ6Fv4IRJZ8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXcu5m516dfy4VUtXcu5m516dfy4VUoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5dzNzr06/lwqpbe5FZ8I2YzSzM73hL1VGvRrREILtlsze2ax1uzXei/ZvUzVbuRTvddPHEx0xye1foR4BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb635VaLJTuY8+Mt9b8qsGTdT56Yz0LfwQiSW7qfPTGehb+CESWfIAIAAAAAAAAAAAAAAAAAAAAAAAAAALg3GP1Fjv+Z/6YaG7d/gvrv9Nv7jH6ix3/M/9MNDdu/wX13+m19J9quAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb635VaLJTuY8+Mt9b8qsGTdT56Yz0LfwQiSW7qfPTGehb+CESWfIAIAAAAAAAAAAAAAAAAAAAAAAAAAALd3HblNnZ3MblydKKL81VT0RFEIpulbS4XaDHYWjAb6rDYamrS5VTvd/VVprpE8un6MeNJNy3mdnXp1/LhVK/QAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5dzNzr06/lwqpau5dzNzr06/lwqpQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3MefGW+t+VWiyU7mPPjLfW/KrBk3U+emM9C38EIklu6nz0xnoW/ghElnyACAAAAAAAAAAAAAAAAAAAAAAAAAAC1ty3mdnXp1/LhVK39xqmmvZ/H010xVTViJiYmNYmN5CN7q+RYLKMdgr+X2qbFGKpr31ujkpiqnTliPJrvvF9i/QggCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y31vyq0WSncx58Zb635VYMm6nz0xnoW/ghEkt3U+emM9C38EIks+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAXHuOc38T/H/yc3du/wAF9f8A6bpbjnN/E/x/8nN3bv8ABfX/AOm1HhFXAMqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY8+Mt9b8qtFkp3MefGW+t+VWDJup89MZ6Fv4IRJLd1PnpjPQt/BCJLPkAEAAAAAAAAAAAAAAAAAAAAAAAAAAFx7jnN/E/x/wDJzd27/BfX/wCm6W45zfxP8f8Ayc3du/wX1/8AptR4RVwDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5ABAAAAAAAAAAAAAAAAAAAAAAAAAABcG4x+osd/zP/TDQ3bv8F9d/ptzceu02dm8yu3Nd5RfmqrSNZ0iiJQ/dE2ns7R47Dxg6K6cLhqaoom5GlVU1aazp5PFC/SfaJAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y31vyq0WSncx58Zb635VYMm6nz0xnoW/ghEkt3U+emM9C38EIks+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAWruXczc69Ov5cKqWruXczc69Ov5cKqUAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvrflVoslO5jz4y31vyqwZN1PnpjPQt/BCJJbup89MZ6Fv4IRJZ8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXcu5m516dfy4VUtXcu5m516dfy4VUoAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfW/KrRZKdzHnxlvrflVgybqfPTGehb+CESS3dT56Yz0LfwQiSz5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5dzNzr06/lwqpau5dzNzr06/lwqpQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3MefGW+t+VWiyU7mPPjLfW/KrBk3U+emM9C38EIklu6nz0xnoW/ghElnyACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy7mbnXp1/LhVS1dy7mbnXp1/LhVSgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY8+Mt9b8qtFkp3MefGW+t+VWDv7fZLTjtqcXeqvTROlEaRTr/chHuLNvzqrsfmnG1fODFfyfBDlNTDNo5xZt+dVdj8zizb86q7H5pGIlo5xYo85q7H5nFm35zV2PzT7KNl8xzOzF61RRas1f2a7s6b790csuhxEzLzjB9ur/a7Y8Ntyi8cZmP+MztwiamVY8WKPOaux+ZxYo85q7H5rP4iZn9fg+1V/tOImZ/X4PtVf7Wvib/Sfxnr4e0Kw4sUec1dj8zixR5zV2PzWfxEzP6/B9qr/acRMz+vwfaq/wBp8Tf6T+HXw9oVhxYo85q7H5veLFHnNXY/NZ3ETM/r8H2qv9pxEzP6/B9qr/afE3+k/h18PaFY8WbfnNXY/N5xYo85q7H5rN4jZn5xgu3X/tYcVsVmlizVconD35pjXeW6533viD4m70n8Ovh7QrjixR5zV2PzOLFHnNXY/NI66KrddVFymaaqZ0mJ5JiXXybZ3MM2o4TD0U0WfFFy5O9iZ+zyy4468sp5Yju6TnERcygvFmjzmrsfmcWaPOaux+azuImZ/X4Pt1f7TiJmf1+D7dX+12+Jv9J/GOvr9oVjxZt+c1dj83vFm35zV2PzWZVsNmcROl7BzPRFdX+1HsxwGJy3EzYxlqq3cjljXxTHTE+WGM+H2YReWMxC47ccpqJRTizb85q7H5vOLFHnNXY/NOtmdnMz2mx84TKMPN65TG+rqmd7TRHTVM8kf1lOo3EdpdOXGZRH77tz/wCN5s9uvXNZZRDtGOWXiFF8WLfnNXY/M4sUec1dj810ZruO7UYDCVX7cYLG72JmbeGu1TXp9kVU06/ujlV3XTVRVVTVE01UzpMTGkxJhtwz/wAZiUyxyx8wjnFm3p/4mrsfm84sUec1dj81sbK7me0O0eApxuHtWMJhK41t3cVXNMVx0xERM6fbpp0O7/2IbS+fZP8AjXf/AI0y36sZqcoXkynvEKK4sUec1dj8zixR5zV2PzWXthsLnmylNNzM7FFeFqq3tOIsVb+3r0TyRMffEIu3hnjnF4zbMxlj2lHOLFHnNXY/M4sUec1dj80jeNM3LsbCYSMBs7nWGprmuN7NzfTGnjomNP8A0qeXXsx+qs6/gx8NalCWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb635VaLJTuY8+Mt9b8qsE22r5wYr+T4KXKdXavnBiv5PgpcpqWBny+3Rex+GtXZ0t13aaap+yZjVgP3EIvKmmKaYppiIpiNIiPI9QXJ9uKKMNRazOzdquUxEcLb0nffbMTpyujx3yrq4rsR3v2PD8boy1xWUQ+Ht0bIynslIi3HfKuriuxHecd8q6uK7Ed7t8vR7x+ufR2espSItx3yrq4rsR3nHfKuriuxHefL0e8fp0dnrKUvEX475V1cV2I7zjvlXVxXYjvPl6PeP06Oz1lKHqLcd8q6uK7Ed7DitusDRanwXD4i7c8kVxFMe3Wf6E8XoiL54/VjRsn/WUf3QbNq1n++tRETctU116dbWY/pELKwlq3h8LZtWIiLVFEU06dGimMwxl7MMZcxOJq1u3J1nTxR0RCVbP7ZRg8JRhsxtXLtNuN7Rct6TVp5ImJ/q+Nw/GaI4rLOe0T9vft0bOjGP9LCl4i/HfK+piuxHecd8q6mK7Ed77Py9HvH68HR2espQiW6RZt1ZRYvTEcLReimmfLpMTrHuhkq24yuKZmm3iqp6N5Heh20ufXc7v0TNPBYe3/Yt66/fM9Ly8bxmjo5RzRNu3D6NnPE1S/wDcGwmGsbn9i/Yinh8ReuVXpiOXWKppiJn0YifvWK/Lu5nuhYnY2u7hrticVll+rf12oq0qoq0031Pk8URrE+PSPEtSjdr2YqpiZs5pTPRNmjk9lb+XfyHC7p2zlETMS/WcPtw5KmaWc/OG6bleAndksYare0YfGXsNOJiI0ima5iKp++OX700zfdvye3ha/orAY3EYmY/R4eKbdET9sxMz92n3qKzjNMXm+bYnMcddmvFX69/VVHJy+SI6IiNIj9zp/G8Ltx2c+UVDPE7cJxqO79n0UU26KaKKaaaKYiKaaY0iIjyQ9Ulslu1WbOX2sNtJhMTcxFumKPCcPpVwn21UzMaT0zEzr0QkH/bTsx9Vmf4FP+54t/Cb8c5vGZdsN2E4x3TXbHCYfG7K5tYxlNNVirC3Jq18mlMzE/dMRP3Px0tfdF3Wqs/yy7leR4a9hcJeje3r16Yi5XT1YiJmIifLyzrHIqh9b+L0bNUTOfa3l4rZjnMRi9AfWeNIdmf1XnX8GPhrUouvZn9V51/Bj4a1KEtQAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y31vyq0WSncx58Zb635VYJttXzgxX8nwUuU6u1fODFfyfBS5TUsPaaaq6oppiaqp5IiI1mW9GT5jMaxhLv3w6uxFmivF4i7VTE126YimejXXX+iZLEWirsRh72Gr3mItV26uiqNHxat13bkUW6aq658VNMazKdbXWaLmS3blUfp2ppqpno1mIn+rn7DWaN7ib00xNzWKYnohJhXCjJsxmNfA7vsad+zdsXJov26rdcf3ao0laaO7bWqKsut3ZpjhKbkRFX2TE8jXKiHWLNy/ci3Zt1XK58VNMay3PobMfM7vsSXYmzRTl129ERwldzezP2REcnvlIkjEVXct12q6qLtFVFdPJNNUaTD3D4e9ibm8w9uu5X0UxqlO3Nqjg8Ld3v/ABNZo1+zxt7Y61RRk9NymnSu5VM1T06TpBXcRScmzGI18Eu+xo10VUVTTXTNNUTpMTGkwtVD9ubNFOIwt6mNK7lNVNU9Ommn9ScaEfwuFv4qqacPZruTHj3sa6NirKMwppmZwd7SOiNU02Zs0Wslw+8piJrjfVT0zq6hGIqmqJpmYmNJjxxLPhcHicXr4NYuXNPHNMaxH3uvtpZot5pbropiJuW4qq08s6zGqWZNZosZXhaLcaRwdNU/bMxrMld6EDuZRmFumaqsJe0jx6U6tFayv9q7NFnOrvB0xTFURVMR0zHKTjStHC4HFYqnfYfD3LlPi31NPJ7WS9leOs25ruYW7FEeOd7rosbDWaMPh7dm3ERRRTERDIcqKobWGy/F4qjf2MPcro60RyNnN7FujP71mine25uxyR5NdNf6rDt0U26KaKIimmmNIiPFEEQqtcRlmNw9ubl7DXaKI8dW95I/e1FrTETGkxrE+OFeRhbUbSeDaa2fCN7vfs33iJika9jLcbftxXZwt2qifFVveSXzicvxmFo3+Iw12ijrTTye1ZsRERERGkR4ofNy3Tdt1UXKYqoqjSYnywvKWqsfV+iLd65RTrpTVMR7XywqQ7M/qvOv4MfDWpRdezP6rzr+DHw1qUJagARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvrflVoslO5jz4y31vyqwTbavnBiv5Pgpcp1dq+cGK/k+ClympYSDYzF2sPjb1q7VFM3aYimZ8WseT3psql9xfvRGkXbkR0RVKxIm22GLtWsrrw81RN27MaU68sRExOvuc7YnF2rdV/D3KopuVzFVGv97phF5mZnWZmZnxzIX3RayM7a4u1GEt4WKom9NcVzTHkiInxonGIvRGkXrmnpSxzyzrPLK8wmGxWLt+CXMLNURdiua4iZ8cTEdyTKp8U6xySyeEXtNJvXNPSlIyEl22xVqucPh6KoquUTNVURP9n7J+1vbHYq1XlsYeKoi9bqmZp8sxM66oRPKRMxOsTMT0wl97FrIZtri7V/FWLNqqKpsxVvpjyTOnJ7nAm/emNJu3Jj0pY1nJU+2WxVq/lVq3RVHCWo3tVPljl8bsKqpqmmdaZmJ6Yl9VX71VMxVduTE+SapWJSnY2uxVrE5nTFmqKqbVG8mqJ5JnWZSvIcXaxeWWJtVRNVFEUV0+WmYjRXL2iqqidaKppnpidEvuLVmYiJmZ0iPHKvNpcVbxeb3a7FW+oiIpiqPFOjn13rtcaV3K6o6JqmXwTlarOwGLt43C0XrNUTFUcsR/dnolnrrpt0TVXVFNMRrMzOkQqyiuu3OtFdVM9MToV3btcaV3K6o6JmZWJRu5pi6L2dXsTb5bfCRMfbEf/iwsNiLWKsUXrFcV26o1iYVc+qLldv8A7uuqnXx72dEiVWjeu0WbdVy7VTRRTGs1VTpEK8jGUTn3hkxPB8Pwn273XuaNd25ciN/crq0606vkmRalq5Ret03LVUV0VRrFUTyS+MViLWFsV3r9cU26Y1mZVhRcuW/+7rrp16s6FdddyYmuuqrTrTqvMher4S7XXEab6qZ0+98gwqQ7M/qvOv4MfDWpRdezP6rzr+DHw1qUJagARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvrflVoslO5jz4y31vyqwTbavnBiv5Pgpcp1dq+cGK/k+ClympYAEEzyjZzCeBW7mMom7duUxVMb6YinXycjcr2cyuqiYjDzTM/3ouVax7ZdHBTrg7ExyxwdP9GZ0iEVnmmDqwOYXcNM7/ezyT0xPLCXYHZnBW8PTGLoqvXpjWqd/MRE9EaODtRMRtDcnXkjea+yE8Su4417ZvLa7dVNFmbdU+KqmuqZj2yhV/CXLOYV4SZibkV7yJ8k8vIs5AMfMcaa+X/+in+sEwJJhtmsvt2aab1uq9c8tc1TGv3RL3E7NZfcs1U2bdVmvTkriuZ0n90y7QtQKxtYS5czCnBzpFybnBz9k66Sm1nZvLaLdNNdmq5VHjqqrqiZ9ko1hZidrpmJ5JxVXxSnqRBLg4/ZnBXcPVGFomzeiNaZiqZiZ6J1RHLMHVjsfaw0Tvd9PLPREcsrMQPZiY4w2+Xx7/T7eSSYElo2cyymiImxNcx/em5VrPslp5vs3hPA7leDom1dopmqI30zFWnk5UjYcZyYO/r9XV/RaFe5JgJzLH02ZqmmiImquY8cRH/2Exp2cyuKYicNMz0zcq5fej+xMxGa3dZ8dmdO1Sm6RBKLZ/s/hbWCrv4KmbVVuNZp30zFUfe4uz2WRmeMmi5VNNqiN9Xp45+xNc8nTJ8Z/Cq/ojmw3/jMT6Ef1KHb4u5X5r/7lXe4+0mQ2MLg5xWCiaIomN/RMzMaTOmsa8qXOZtNMRkeK1nyR8ULQimzWVUZnfuVX5mLNrTWI8dUz5Eo4u5X5r/7lXe5mws/8LGR9tP+aUpECF7TZJZwNqnE4TWm3NW9qomddOiYR1OtsZ0yaf4lKCpIAMqkOzP6rzr+DHw1qUXXsz+q86/gx8NalCWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb635VaLJTuY8+Mt9b8qsE22r5wYr+T4KXKdXavnBiv5PgpcpqWAZcLhr2Lv02cPRNdyrxRDscVsw08diP5vyIgeZZtHicFh6bFdum9bp5KdZ0mI6NehtXdrr00TFvC26avJM1TOn3OLmWWYrLqqYxNERTV4qqZ1iWPA4O/jr/BYaia69NZ6IjpkuRixF25iL1d27VNVyudZmXcwG0+Jw2HotXbVN6KI0iqZ0nT7XzxXzDpsdqe5zMwy/EZfdijE297vuWmqJ1if3SXI7V/a2/VbmLWHt265/vTVNWn3I5XXVXXVXXMzXVOs1T49Wxl+AxGYXZt4a3vpjlqmZ0iP3upxWzDpsdqe47jJhdqcTasxRes0Xao5N9rvZn973FbVYm7Zqos2aLVU8m/32+mP3OJjsHfwN/gsTbmirxx0THTDLluW4nMaqow1ETTT46qp0iDuNSmuqmuK6apiuJ1iqJ5delI7G1uIptxF7D27lcf3oq3uv3MHFfMOmz257nHxeGu4S/VZxFuaLkeSTuO1mG0+JxOHqs2rVNmKo0qqidZ0+xwrF2uxeou2qppronWJjyN3LcoxeY0zVh6I4OOSa6p0jXobs7L5hETMcDP2b/8luRs2trr0URFzC26qvLMVTGv3NXM9pMTjcPVZot02aKo0q0nWZjo1cfEWbmHvV2r1E0XKZ0mmW9luTYzMLfCWaIi3rpFVc6RP7i5Gng8TdwmIov2Kt7cpnWO5IaNr7sUxFWEomryzFcx/k1a9mMwppmYi1VMeSK+Wfa4t2iq1cqt3KZprpnSaZ8cSdx1s22gxGY2eB3lNq1PLVFM6zV++XPy/GXsBiab+HmIrjkmJ8Ux0S3MBkWNxtmLtuimm3P9ma50337ma7sxmFu3NURarmP7tNXL7zuN2Nrrmka4SiZ9Oe5zM4zzEZnTFuqmm1Zidd5T5Z+2XLmJpmYqiYmOSYmPE62E2ex+Js03aaKKKao1p39WkzBcjUyzML+XYjhcPMcsaVU1eKqHd43XNP8AwdHbnuc/EbOZhYtVXN5RcimNZiirWXGS5gdHOM4xGaVUxdimi1Ty00U+LXpnplz3ZsbN5hetRXNFFvXl0rq0l8YzZ/H4WxVdqooropjWreVazEdJ3kckBBIdmf1XnX8GPhrUouvZn9V51/Bj4a1KEtQAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y31vyq0WSncx58Zb635VYJttXzgxX8nwUuU6u1fODFfyfBS5TUsJPsNTHhGLq0/SimmIn757oS9AtlsxtZfjK4xH6Nq7ERNXVmPEmX0ngPPcN+LT3tYpLT2spichxEzETNM0zH2fpRH+bn7DUx4PiqtOWaojX7jarN8NcwFWEw9ym7XcmN9NM6xEROvj+5o7JZnZwdd2ziaot0XNJprnxRMdJ9qmrgba0xOU0TMcsXY0n7pdT6SwPnuG/Fp70b2uzXD4mxRhcNXFzSrf1VU+KNPFGvl8ayjobF0UxlVdUR+lVdnWfuh30P2RzaxhrVeFxVcW4mrf0V1eLxcsT0eJJfpLA+e4b8WnvI8EuHt1EeDYWdOXfzGv3N7ZGIjJLUxERM1VTP28rh7W5nYxtdmxhqouU25mqquPFM9ENvZTNsPawXguIuU2q6apmmap0iYn7elPsSpEtu6aYrwVcR+lMVxM/ZGnfKRTmeB89w34tPeh+1WZWswxVujDzvrVmJjfdMz4/u5IWfBCU7OUxTkmEimNNadffLpI5sznGF+j7eGxF2izdtRp+nOkTH73YnM8BETM43Dfddp7yBFdtqYjMrNURy1Wo1np5ZSzK6Yoy3C00xpHBU/0hBtpcwozHMN/Y14K3TvKZmPH9qTZFnWEu4C1RfvW7N23TFFUV1b2J0jSJiZT7HcQPa+mIzq5MRETNFMz7EwrzTAU0zVOMw+kdFyJn2Qgme42nH5ndv24mLfJTTr5Yjyk+CFjUUxRRTRTGlNMaRH2PXKyzPMHisLRVdv27N2I0rpuVRTy/Zr42xdzbAWrc11YyxMR5Ka4qn2QohmdUU8Zb1O9jezdp1j9+mqwFaY/GeE5pcxdNOmte+pieiPF/ROsHnWAxNim54TatTMctFyqKZifvSPJLooDFuiNq95FMbzwrxeT+0l+IzjAWLVVc4qzXp/dt1xVM/dCBxjavpbw2aeXheF3v366GRCyyeVoWM3wF61TXGLs06+SuuKZj7pfGMzrAYaxVcjEWrtURyUW64qmZ+7xNCvsREU4i7TTGkRXMRH3vh7cqmu5VVPjqmZl45yqQ7M/qvOv4MfDWpRdezP6rzr+DHw1qUSWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb635VaLJTuY8+Mt9b8qsE22r5wYr+T4KXKdXavnBiv5PgpcpqWAd3ZLAWcbjLtWIpiui1ETFE+KZnp9iZxhcPEaRYtaehCxFoq8WhOFw8xMTYtTE/+SEJ2rwFnBY+icPTvKLtO+3keKJ18hOI4o6uzOBt47M4ovxrbopm5NPTpMRp707pwmGppiKcPaiI8URRCRFirxaPgtj6i12IRHbHLrGFrs38PRFuLmtNVNMaRr06LyiNifbO5dhrWV2LnBUV3LtMV1VVU6zy+R1PBrH1FrsQRAq4Wj4NY+otdiDwax9Ra7EHKKuFo+DWPqLXYg8GsfUWuxByirdDRaXg1j6i12IPBrH1FrsQvKWq4Wj4NY+otdiHlWEw1VM01YezMT44miE5RV43s9w1vCZtiLFmJi3TMTEdGsROnvS/Z/LMLZy6xcm1Rcu3aIrqrqp1nljXSEpUCFo+DWPqLXYhr43K8Ji7FVu5Zt06xyVU0xE0z0wvKitgqje1THlidE12VyzDxl1GJu2qbl27rOtUa72NdOT2JEWqFC0fBrH1FrsQx38BhL9qbd3D2ppnopiJj90ryorF6zY6x4NjL9jXWLdc0xPTESwsqkOzP6rzr+DHw1qUXXsz+q86/gx8NalCWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb635VaLJTuY8+Mt9b8qsE22r5wYr+T4KXKdXavnBiv5PgpcpqWEn2FqiMRi6dY3000zEffPel6rcNfu4a9TdsVzRcp8Uw6nGTM/rqfw4WJRPkN24qicdhqYn9KLczMfe0+MmZ/XU/hw5WIvXMRequ365ruVTrNUkyO3sXVTTm9cTOk1WZiPtnWJ/yThVdq5XauU3LVU0V0zrFUTpMOrG0eZxERw9M/bwdPcRNCfovt1XTwOEo1/SmqqdPs0hyeMmZ/XU/hw5mMxV7F3pu4m5VXcnk1n/ACWxYeRTE5Pg9J1/4UN5W+AzfG4G1weHvaW9dYpmmJiP3atnjJmf19P4dPcWUn4gHGPM/r6fw6e44x5n9fT+HT3HNAn4gHGTM/r6fw6e44yZn9fT+HT3HMUn4gHGTM/r6fw6e44yZn9fT+HT3HMUn4gHGTM/r6fw6e4naPM5iY4en7qI7jmKfO1MxOfYrSdf7PwwmuTVU15Tg5pmJjgaI5OmI0lW1ddVyua66pqqqnWZnxzLdwObY3AUTbw16Ytzy72YiYj92qRPdVkEzERMzMREcusoBxkzL66n8OGHF55j8VZm1dv/AKFXjimmI19i8yU59yYm5XMeKZmVgbL1015Hht7Ou9iYn7J1lXzby/MsVgN94LdmiKvHTMaxP3SzE91WWIDxkzP66nsQx38/zG9aqt1X9KauSd7TET7WuaEa2b103M1xdVM60zdq0np5WoDMqkOzP6rzr+DHw1qUXXsz+q86/gx8NalElqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn3NKop23yyap0jW5H3zbqhGG3lONry3NMLjLca1WLlNzTp0nlj7/EC1Nq+cGK/k+CHKdzaem3ipwua4Wd/hsXbpmKo6dPL939JcNqWJAEAAAAAAAAHYwmzuNxWHt3rfBRRXG+iKquXT2M3FXMOtY7c9zk2sbi7NEUWsVfoojxU03JiIfX0ljvPcV+LV3g6nFXMOtY7U9xxVzDrWO1Pc5f0njvPcV+LV3n0njvPcV+LV3nYdTirmHWsdqe44q5h1rHanucv6Tx3nuK/Fq7z6Tx3nuK/Fq7zsOpxVzDrWO1Pc4mItV2L9yzciIrt1TTVp0wz/SWO89xX4tXe1apmqZmqZmZ5ZmQAAAAAAAAAAd/ZyuLeUZ5XVOlNNjWf3b2tSy1M+xcZJsRfpqne4rNJ4Oiny8HHjn2TPahVZLUACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmGxe1dGWWa8tzaiq/lN2deTlqsz0x9n2ffH2zWnIqcdZjE5JjLOMwtXi/S0mPsn7fYppsYPGYnBXeFweIvWLnWtVzTPuW0mFsTs5mceLDxPrKe95xczTzaPxKe9X3G7P9Ij6VxPJ01HG7P8A9q4n2wWUsLi7mvm0fiUd5xdzXzaPxKO9XvG/P/2rifbBxvz/APauJ9sFpSwuLua+bR+JR3nF3NfNo/Eo71e8b8//AGrifbBxvz/9q4n2wWUsLi7mvm0fiUd5xdzXzaPxKO9XvG/P/wBq4n2wcb8//auJ9sFlLC4u5r5tH4lHecXc182j8SjvV7xvz/8AauJ9sHG/P/2rifbBZSwuLua+bR+JR3nF3NfNo/Eo71e8b8//AGrifbBxvz/9q4n2wLSwuLua+bR+JR3nF3NfNo/Eo71e8b8//auJ9sHG/P8A9q4n2wFLC4u5r5tH4lHecXc182j8SjvV7xvz/wDauJ9sHG/P/wBq4n2wFLC4u5r5tH4lHecXc182j8SjvV7xvz/9q4n2wcb8/wD2rifbAUsLi7mvm0fiUd5xdzXzaPxKO9XvG/P/ANq4n2wcb8//AGrifbAUsLi7mvm0fiUd5xdzXzaPxKO9XvG/P/2rifbBxvz/APauJ9sBSwuLua+bR+JR3nF3NfNo/Eo71e8b8/8A2rifbBxvz/8AauJ9sBSwuLua+bR+JR3nF3NfNo/Eo71e8b8//auJ9sHG/P8A9q4n2wFLDp2bzSfHYpj99ynvY8fRlmzlHC53iaL2IiNaMHZnWqqfJr0R/wDeXxK8v7U57ftzRczXF72fHFNyaf6OPVVVXVNVUzNU8szM+MtKdLaLOsTn2ZV4vF6Ryb23bp/s26fJEOWCNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMs2LkeOn3vOCr6Gaqqqap1mfa+dZ6ZZtaYuDq6DeVdD7qmemXms9K2U+N5V0G8q6H3rPSaz0llPjeVdBvKuh96z0ms9JZT43lXQbyrofes9JrPSWU+N5V0G8q6H3rPSaz0llPjeVdD6i1XV4qfe91npfVEz0yWU+OBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYeBudX3nA3Or72bWemTWemSymHgbnV95wNzq+9m1npk1npksph4G51fecDc6vvZtZ6ZNZ6ZLKYKrddMa1Ro+dJZrszNMcvlYtVR5pJpL3U1Wkt5pJpL3U1KLeRTMzpEPvgbnV97yif04Z9Z6ZSVYeBudX3nA3Or72bWemTWemUsYeBudX3nA3Or72bWemTWemSxh4G51fecDc6vvZtZ6ZNZ6ZLGHgbnV95wNzq+9m1npk1npksYeBudX3nA3Or72bWemTWemSxh4G51fecDc6vvZtZ6ZNZ6ZLGHgbnV95wNzq+9m1npk1npksYeBudX3nA3Or72bWemTWemSxh4G51fecDc6vvZtZ6ZNZ6ZLGHgbnV973gLnV97LrPTJrPTJYxcBc6vvOAudX3sus9MvrWemSxg8Hu9X3w98Gu9T3wzxVPTL6pqnpksa8YS9Pio98DcoqnXxyA//Z","e":1},{"id":"fr_3","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QAURABAAECAwEKCQgIBAMHBQAAAAECAwQFEQYHEhMWITZRUpLRFBUxQVRyg6GzNVNhgZGTsuEiQlVxc4KxwjJFwdIjdMMXNGKio9PwJjNDY/H/xAAbAQEBAQEBAQEBAAAAAAAAAAAAAQIDBAUGB//EACYRAQEAAgEDBQEBAAMBAAAAAAABAhEDEiExBBNBUpEUBTJCUXH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnLsDicxxdvC4KzXev1zpTRTHv8Aoj6Vi5bub4XCYaMTtJmNNqmOWqi3VFFNP0TXV3ArEWlXl+55ane14qKpjzxduVa/XHI8+B7nXpM9u73LpNqvFoeB7nXpM9u73Hge516TPbu9xo2q8Wh4Hudekz27vceB7nXpM9u73GjarxaHge516TPbu9x4Hudekz27vcaNqvFoeB7nXpM9u73Hge516TPbu9xo2q8Wh4Hudekz27vceB7nXpM9u73GjarxaHge516TPbu9x4Hudekz27vcaNqvFoeB7nXpM9u73Hge516TPbu9xo2q8Wh4Hudekz27vceB7nXpM9u73GjarxaHge516TPbu9x4Hudekz27vcaNqvFoeB7nXpM9u73Hge516TPbu9xo2q8Wh4Hudekz27vceB7nXpM9u73GjarxaHge516TPbu9x4Hudekz27vcaNqvFqW8j2CzDS1hcfFq5PJE8PNM/wDncbabc7xuW2asTllzw7D0xrNMU6XKY/d+t9X2GjaCD7PI+IoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+xEzMRETMzyREPjvbCYSnG7XZZZriJp4XhJifPvYmr+0FhYC1g9z7ZWMZibUXM1xMRE0+eap5Yo+imPP/8AxV+dZxjs5xc4jML9V2v9WnyU0R0Ux5oSrdfxtd/aW3hd9PB4azTEU/8Aiq5Zn7N79iCrf/EAEUAAAAAAAAAAAAAAAAAAAAAAAAS3YvbLF5FibdnEV138tqnSq1M6zbjpp6P3eSUSAWLuobP4eii1n2VxTOGxExwsUf4dauWK4+ifP9OnSrpbOyFXjjcwzLB3v0psU3bdGv0UxXT9kz7lTLQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3MefGW+1+FWiyU7mPPjLfa/CrIMm6nz0xfqW/wQiSW7qfPTF+pb/BCJLfIAyYezcxF2m3apmqqUGMSHDZFbimJxFyqqrop5IhseJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0eJcH1a+0CLCU+JcH1a+0+VZJhJjSIuR9MVAi46uYZRcw1M3LVXCW48vJyw5QAALV3LeZudevX8OFVLV3LeZudevX8OFVLfAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfa/CrRZKdzHnxlvtfhVkGTdT56Yv1Lf4IRJLd1Pnpi/Ut/ghElvkEoyDDRZwcXZj9O7y6/R5kXTLLaoqy/DzHzcR9kIN3D2bmJxFqxZp3127VFFFOumszOkQxuhs7zgyz/AJq1+OHPAAAAAAAAAAAAAAAAAAAAARLOcNGGxtVNEaUVRvqY6EtR3aaqJxVqnzxRrP2g4wALV3LeZudevX8OFVLV3LeZudevX8OFVLfAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfa/CrRZKdzHnxlvtfhVkGTdT56Yv1Lf4IRJLd1Pnpi/Ut/ghElvkHbyDH0248GvTpEzrRM+T9ziCCdiJYbNMVh6Yppub6mPNXGrY8e4rqWezPeCSiNePcV1LPZnvPHuK6lnsz3gkojXj3FdSz2Z7zx7iupZ7M94JKI149xXUs9me88e4rqWezPeCSiNePcV1LPZnvPHuK6lnsz3gkojXj3FdSz2Z7zx7iupZ7M94JKI149xXUs9me88e4rqWezPeCSiNePcV1LPZnvPHuK6lnsz3gkojXj3FdSz2Z7zx7iupZ7M94JKI149xXUs9me88e4rqWezPeCSiNePcV1LPZnvfKs8xUxpEWqfpime8EhxF+3h7VVy7VFNMe9EMZiKsVia7tX608kdEPmIxF3EVb69XNc/T5mEAAFq7lvM3OvXr+HCqlq7lvM3OvXr+HCqlvgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvtfhVoslO5jz4y32vwqyDJup89MX6lv8EIklu6nz0xfqW/wQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3mbnXr1/DhVS1dy3mbnXr1/DhVS3wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBk3U+emL9S3+CESS3dT56Yv1Lf4IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5bzNzr16/hwqpau5bzNzr16/hwqpb4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb7X4VaLJTuY8+Mt9r8KsgybqfPTF+pb/AAQiSW7qfPTF+pb/AAQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3mbnXr1/DhVS29yKz4Rsxmlmat7wl6qjXo1oiEF2y2ZvbNY63auXYv2L1M1W7kU73XTyxMdMcn2r8CPAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfa/CrRZKdzHnxlvtfhVkGTdT56Yv1Lf4IRJLd1Pnpi/Ut/ghElvkAEAAAAAAAAAAAAAAAAAAAAAAAAAAFwbi/wAhY7/mf7aWhu3f5L7b/pt/cX+Qsd/zP9tLQ3bv8l9t/wBNr4T5VcAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBk3U+emL9S3+CESS3dT56Yv1Lf4IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABbu47cptbO5jcuTpRRfmqqeiIohFN0raXC7QY7C0YDfVYbDU1aXKqd7v6qtNdInl0/RjypHuW8zc69ev4cKqX4QARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvtfhVoslO5jz4y32vwqyDJup89MX6lv8EIklu6nz0xfqW/wQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3mbnXr1/DhVS1dy3mbnXr1/DhVS3wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBk3U+emL9S3+CESS3dT56Yv1Lf4IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5bzNzr16/hwqpb241TTXs/mFNdMVU1YiYmJjWJjeQjm6vkWCyjHYK/l9qmxRiqa99ap5KYmnTliPN/i8n0L8IggCKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY8+Mt9r8KtFkp3MefGW+1+FWQZN1Pnpi/Ut/ghEkt3U+emL9S3+CESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAXBuL/IWO/wCZ/tpaG7d/kvtv+m39xf5Cx3/M/wBtLQ3bv8l9t/02vhPlVwDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfa/CrRZKdzHnxlvtfhVkGTdT56Yv1Lf4IRJLd1Pnpi/Ut/ghElvkAEAAAAAAAAAAAAAAAAAAAAAAAAAAFx7jnN/E/wAf/Rzd27/Jfbf9N0txzm/if4/+jm7t3+S+2/6bXwnyq4BlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvtfhVoslO5jz4y32vwqyDJup89MX6lv8EIklu6nz0xfqW/wQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC4Nxf5Cx3/M/20tDdu/yX23/AE25uPXabGzmZXbmu8ovzVVpGs6RREohuibT2do8dhowluunC4amqKZrjSapq01nTzRyQ18J8oiAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBk3U+emL9S3+CESS3dT56Yv1Lf4IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5bzNzr16/hwqpau5bzNzr16/hwqpfgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvtfhVoslO5jz4y32vwqyDJup89MX6lv8EIklu6nz0xfqW/wQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3mbnXr1/DhVS1dy3mbnXr1/DhVS3wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBk3U+emL9S3+CESS3dT56Yv1Lf4IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau5bzNzr16/hwqpau5bzNzr16/hwqpb4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb7X4VaLJTuY8+Mt9r8KsgybqfPTF+pb/BCJJbup89MX6lv8EIkt8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXct5m5169fw4VUtXct5m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY8+Mt9r8KtFkp3MefGW+1+FWQd/b3JacftTi703ponSiNIp1/UhHuLFHpNXY/NONqvl/FfyfghylrO0c4sUek1dj8zixR6TV2PzSME3Uc4sUelVdj8zixb9Kq7H5p9lOy+ZZnZi9aot2rU/4a7s6RV+7SJlv8Rcz+fwfbq/2u2PpuXKbxxtn/xi82E7Wqy4s2/Squx+ZxZt+lVdj81m8Rcz+fwfbq/2nEXM/n8H26v9rX8nN9L+J7+H2isuLNv0qrsfmcWbfpVXY/NZvEXM/n8H26v9pxFzP5/B9ur/AGn8nN9L+Hv4faKy4s2/Squx+ZxZt+lVdj81m8Rcz+fwfbq/2nEXM/n8H26v9p/JzfS/h7+H2isuLNv0qrsfmcWbfpVXY/NZvEXM/n8H26v9rFidis1s2prpnD3pjl3tuudffEH8nN9L+Hv4faK34sUek1dj8zixR6TV2PzSOuiq3XVRXTNNdM6TExpMS6+TbO5hm1HCYeimizrpFy5OkT+7zy5Y8eWV6ZO7dzkm7UG4sUelVdj8zixR6VV2PzWbxEzP0jB9qv8A2nETM/SMH2q/9rr/ACc30v4z7/H9orLixb9Kq7H5vnFi36VV2PzWbVsLmcRyXsHP0b+r/aj2Y4DE5diZsYy1Nu5HLHRMdMT54Yz9Py4TeWNkXHlwyupUT4s0ek1dj833izR6TV2PzTjZnZzM9psfOEyfDTeuUxvq6pne00R01TPJH+qdxuI7SzET4blEa/8A7bn/ALbzZcuGHbKyOsxyy7yKL4sUek1dj8zixR6VV2PzXTmu45tRgMJVftxgsbvYmZt4W7VNen0RVTTr+6OVXNdNVFU010zTVE6TE8kxJhy8ef8AwspccsfMRzixR6VV2PzOLFv0qrsfmtnZTcy2h2kwNONw9vD4XCV8tu7iq5p4SOmmIiZ0+nTR3P8AsQ2j9Oyf727/AO2l5+LG6yyn6vRnfEUVxYo9Kq7H5nFij0mrsfmsrbDYXPNlKabmZ2KK8LVVvYxFirf29eieSJj64hGG8c8c5vG7ZsuPao5xYo9Jq7H5nFij0mrsfmkY0zuuvsLhIwGzudYamua43s3N9MaeWiY0/wDKp5dezPyVnX8H+2tShfDUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb7X4VaLJTuY8+Mt9r8Ksgm21Xy/iv5PwQ5Tq7VfL+K/k/BDlNVgZ8vt0XsfhrV2dLdd2mmqfomY1YDyEReNNMUUxTTERTEaREeZ9QbJ9uKKMNRazOzcquUxpwtvSd99MxMxyujx3yrqYrsR3v2Pp/W8GXHNZSPh8vByTK9koEX475V1MV2I7zjvlXUxXYjvdv6+D7z9Y9nk+tSgRfjvlXUxXYjvOO+VdTFdiO8/r4PvP09nk+tSgRfjvlXUxXYjvOO+VdTFdiO8/r4PvP09nk+tSgRfjvlXUxXYjvYcVt1gaLU+DYfEXLnmiuIpj7dZ/oX1fBJvrn6Tg5L/wBaj+6DZtWtoNbURE3LVNdcR1tZj+kQsnB2beHwlmzYiItUUxTTp0KZzDG3sfjbuJxNUVXLk6zp5I6IhKtntsoweEow2Y2rlym3G9ouW9Jq080TE6fa+N6f1nBPVZZ3tL8vfy8Gd4Zj8xYIi/HfKupiuxHecd8q6mK7Ed77P9fB95+vB7PJ9alKI7pFq3VlFi9VEcJReimmfPpMTrHuj7GSvbjK4p1pt4qqejeR3odtLn17O79EzTwWHt67y3rr9cz0vL631nB7Nm5du3p+Dk65daX/ALg2Ew2H3P7F+xFPD4i9cqvTEcusVTTET/LET9axX5d3M90LE7HV3cPdsTi8svVb+u1FWlVFWmm+p83k01jz6R5FqUbtWzFVMTNjNKZ6Js0ax9lb+Xf6Hpea81yktlfrPT8uHRrelnPzhum5ZgJ3Y7GGne0YfGXsNOJiOSKZrmIqn645frTTN92/J7WFr8VYDG4jEzH6PDxTboifpmJmfq0+tRWcZpi84zXEZjjrm/xV+vf1VRycvmiOiIjSI/c6f5vpeXHk68pqM+p5cbjqXb9nW6KbdFNFumKaKY0ppiNIiOh6Ulsju1WLOX2sNtLhMTcxFumKPCcPpVwmnnqpmY0npmJnXoSD/tp2Y+azL7in/c8fP6Tnxzu8bXbDmwuM7prthhcPjdlM3sYymmqxVhbk1b7zaUzMT9UxE/U/HS190Tdaqz/LLuWZHhr2Fwl+N7eu3piLldPViImYiJ8/LOsciqH1f8vg5OKW59tvJ6rkxyskfQH1nkSHZn5Lzr+D/bWpRdezPyXnX8H+2tShWoAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBNtqvl/FfyfghynV2q+X8V/J+CHKarD7TTVXVFNETVVPJERGsy3oyfMZiJjB3frh1dh7NFWLxF2qmJrt0xFMz5tfL/RMlk2irsRh72Gr3mItV26uiqNHi1bru1xRaoqrrnyU0xrMp1tdZouZLduVU612ppmmejWYif6ufsNZomnE3piOE1imJ6INdxwoybMZj/ud37Gnfs3LFyaL1uq3XH6tUaStNHdtrNFWW27s0xwlFyIir6JieRekQ6zZuX7kUWbdVyufJTTGst3xNmPol37Ek2Js0U5fdvRH/EruTTM/RERye+UiSYiq7tuu1cmi7TVRXHlpqjSYesPYvYi5vLFqu5V0UxqlG3Nqjg8Ld3scJrNOvTHlb2x1qijJ6a6Y/TuV1TVPTpOh0qik5PmMRM+B3fsaNdFVFc010zTVHJMTGkwtVD9ubNFOIwt6mIiu5TVTVPTppp/Us0iP4bC38VVNOGtV3Zjy72NdGxVk+YU0zM4O9pHRTqmmzNmi1k2HmimImuN9VPTOrqEi7VTMTTMxVExMckxLPhcHicXM+DWLlzTyzTGsQ6+2lmi3mluuimIm5biatPPOsxqlmT2aLGV4Wi3ERHB0zP0zMazJruiB3MpzC3TNVWEvaR5dKdWitZANq7VFnObsW6YpiqIqmI6ZjlLiNHC4HFYqJqw+HuXKY/Wink+17vZXjrNua7mFu00R5Z3uuixsNZow9i3ZtREUUUxTEMh0iqW1hsvxeKo39jD3K6OtFPI2M3sW6M/vWaI3tubsckebXTX+qw7dFNuimiimKaKY0iI8kQSKrXEZbjMPbm5ew12miPLVveSGotaYiYmJjWJ8yvIwtqNpPBtP+D4Rvd79G+8hZpGvh8sxuItxcs4a7VRPkq3vJLzicvxeFo3+Iw923R1pp5PtWbERERERpEeaHm5RTdt1UXKYqoqjSYnzwvSKrHu9RFF65RHkpqmI+14YVIdmfkvOv4P9talF17M/Jedfwf7a1KFagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPPjLfa/CrRZKdzHnxlvtfhVkE22q+X8V/J+CHKdXar5fxX8n4IcpqsJDsZi7VjG3bV2qKZu0xFMz5NY83vTVVLJF+9TGlN25EdEVSsukTXbDF2rWVV4eaom7dmNKYnliImJ19znbE4u1bqv4a5VFNyuYqo1/W+hF6pmqdapmZ6ZDarWRrbXF2owdvCxVE3priqaY80RE+X7USjEXo5IvXNPWljnlnWfKvUiYbFYu14Lcws1RF2K5riJ/WiYjyfYkyqYmYnWOSWScRfn/81zT1pSZCS7b4q1XNjD0VRVcomaqoif8AD9E/S3djsXauZbGHiqIvW6p1pnyzEzrqhPnImYnWJmJ+g33FrIZtri7d/F2LFqqKpsxVvpjzTOnJ7nAm/emJib1yYn/xSxluxPtlsXav5Tat0VRwlqN7VT545fK7CqqappqiaZmJjyTE6PVV+9VExVduTE+aapJkOxtdi7WKzOIs1RVTao3k1R5NdZlK8ixdrF5ZYm1VE1UURRXT54mI0Vy+0V1UTrRVNM9MTobFqzMREzM6RHnV5tLireLze7csTvqKYimKo8k6OfXeu1xpXdrqjomqZeC0WdgMXaxuFovWaomKo5Y6J6JZ66qaKZqrqimmOWZmdIhVlFddE60VVUz9E6Ptd25XGldyuqOiapk6huZpi6L2dXsTb5bfCRMfTEadywsNiLWKsU3rFcV26o1iYVc9UXK7eu8rqp16J0JVWlduUWbdVy7VFFFMazVM6RCu6cbR4+8MmJ4Ph+E+nTXuaNd25cjS5XXVH01TLyW7Ralm5Ret03LVUV0VRrExOsS8YrEWsLYrvX64popjWZlWFF25biYt3KqYnonQuV13JjhK6qtOtOq9Rou18Jdrr0031Uzo8gwqQ7M/Jedfwf7a1KLr2Z+S86/g/wBtalCtQARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHnxlvtfhVoslO5jz4y32vwqyCbbVfL+K/k/BDlOrtV8v4r+T8EOU1WABBMso2cwk4K3cxlE3btymKpjfTEU6+bkbtezmWVUTEYeqiZ/Wi5VrH2y6OCnXB2JjycHT/AEZnSRFZ5ng6sDmF3DTO+3s8k9MTywl2A2ZwVvD0xiqJu3pjWqd9MRE9EaODtRMRtDcmZ8m81+yE8STuONe2by2u3VTRZqt1T5Kqa6pmPtlCr+Ers4+rCTMTcivg4npnVZyAY+f/AKqq6PCKf6wWCSYXZrL7dmmm9bm9c89c1TGs/uiTE7NZfcs1U2bdVm55qormeX90y7YujasbODuXMwpwfJF2bnBz9E66SmtnZvLaLcU12arlUeWqquqJn7JRvCzE7XTMTGk4qrl/mlPUkHBx2zOCuYeqMLRNm9Ea0zv5mJnonVEcswdWOx9rDRO930/pT0RHlWYgezFUcYbfLHLv9PsksElt7OZZTREVWKq5j9aq5VrP2S0832cwngdyvB0Tau0UzVEb6ZirTzcqRsOM5MHf1+bq/ouoK9yTL/GWPpszVNNERNVcx5YiP/kJlTs7lcREThpn6ZuVcvvR7YmYjNbmvnsz+KlN0xKi2f7PYa1gbmIwVM26rUb6qnfTMTHn8ri7PZZGZ43eXKpptURvqtPLP0Jtnk6ZPjP4VX9Eb2H/AO94n1I/qVXbjZ3K/Rv/AFKu9x9o8hsYXBzisFFVEUTG/omZmNJ5NY15UuczaaYjI8Vr0RH/AJoXSIrs1lVGZ37lV6Ziza01iOSapnze5KOL2V+i/wDqVd7l7Cz/AMLGfvp/1SlJBC9p8ks4GzTicJvqbc1b2qiZ106JhHU62ymIyafpuUoKmQAMqkOzPyXnX8H+2tSi69mfkvOv4P8AbWpQrUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb7X4VaLJTuY8+Mt9r8Ksgm21Xy/iv5PwQ5Tq7VfL+K/k/BDlNVgGTC4a7i79NnD0TXcq8kQ7MbL5hMeWxH889xpHnK9osRgsPTZrt03rdMaU6zpMR0atq5tdemiYt4W3TV5pmqZ0+pxsyyzFZfVHhFERTPkqpnWJYsFg7+Ovxaw1G/r01nzREdMm6rHiLteIvV3btW+uVzrMu5l+0+Jw2HptXbVN6KI0pqmdJ0+l54rZh1rHanuczMcvxGX3IoxNG933+GY5Yn90r3g7d/azEV25ptYei3XP601b7T6kbrrqruVV1TM11TrMzPLMtnL8BiMwuzbw1G+mOWqZnSI/fLp8V8w6bHbnuTuMuE2qxNqzTRes0Xao5N/vt7M/vMVtVibtmaLNmi1VPJv99vpj9ziY7BX8Df4LE25oq8sdEx0wy5blmKzGuYw1vWmny1VTpEHcalNdVNyK6apiuJ30VRPLE9KR2NrcRRbiL2Ht3K4/Wid7r9TBxXzDpsdue5x8XhruEv1WcRRNFyPNJ3Hax+0+JxOHqtWrdNmKo0mqJ1nT6OhwrF2uxeou2qppronWJjzN3LcpxeYxNWHojg4nSa6p0jVvTsvmERMxNmfo3/5HcbNra6/FERcwtuqrzzFUxr9TVzPaPEY3D1WKLdNm3VGlWk6zMdGrjYizcw96q1eomi5TOk0y3suybGZhb4SxRTFvXSKq50if3G6NPB4m7hMRRfsVb25TPJ3JFRtddimIrwlE1eeYrmI/o1K9mMwppmY4GqY80V8s/a4t2iq1cqouUzTXTOkxMcsSbo62bZ/iMws8DvKbVqf8UROs1fvlz8BjL2AxNN/D1aVxyTE+SY6JbmAyLG42zF63RTTbn/DNc6a/uZr2zGY27c1RTar0/Vpr5V7jeja65pGuEo19ee5zM4zvEZnRFuqmm3Zidd5Ty6z9MuVVE01TTVExMckxPmdbB7PY/E2abtNFFFFUa07+rSZg3RqZZmF/LcRwuHmOWNKqavJVDuxtdc8+Eo19ee5z8Ts5mFi1Vc3lFyKeWYoq1n7HHTdg6OcZviMzqpi7FNFqnlpop8mvTP0uc7OH2bzC9biuaKLevLpXVpLxjNn8fhbFV2qiiuimNat5VrMR06HejkgIJDsz8l51/B/trUouvZn5Lzr+D/bWpQrUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx58Zb7X4VaLJTuY8+Mt9r8Ksgm21Xy/iv5PwQ5Tq7VfL+K/k/BDlNVhJ9hqYnEYurT9KKaYifrnuS9AtlsytZfjK4xE721diImrqzHkTKMzwPpuG+9p72sUrT2rpicixEzETNM0zH0fpRH+rn7C0x4PiqtP0t/TGv1PO1WcYa5gasJh7lN2u5Mb6aZ1iIidfL9UNHZLM7ODuXrOIneU3JiYr80THmkom7gba0xOU0TMRrF2NJ+qXU8ZYH03Dfe096ObW5rh8TYowuGri7pVv6qqfJGnmifP5Vo39iqKYyquqIjfVXZ1n6od9D9ks1sYa1cwuJri3E1b+iuryeSNYn7El8ZYH03Dfe095PBXD26iPBsLOnLv5jX6m9sjERklqYjSZqqmfp5XD2tzOxja7NjDVRXTbmZqrjya9ENzZTNsNawfguJuU2q6KpmmqqdImJ+npTfdUpRLbummK8FXp+lMVxM/RGnfKReM8Bp/wB9w33tPeh+1WZWswxVujDzvrVmJjfdMz5fq5IW+EiVbO0xTkuEimNI3uvvdFHNmc4wvi+3h8Rdos3bUafpzpEx06uxOZ4CImfDcNydF2mf9SeBFdt6YjMrNURyzajX7ZSvK6KaMtwtNEaRFqn+iEbS5hbzDMIrs/8A2rdO8pmf1vpSXI86wl3AWrd69RZu26YomK6t7E6cmsTKfKu4ge19MRnVzSIjWmmZ+xMK80wFFM1TjcPMR0XImfshBM9xtOPzO7ftxMW+SmnXyzEecqRY1FMUUU0UxpTTGkR9D65WW55g8VhaKrt+3Zu6aV03Kop5fo1bF3NsvtW5rqxliYjzU1xVP2QohmdUU8ZL1Okb2btOsfv01WArXH4zwnNLmLop0ia4qpieiPJ/ROcHnWBxNim54RatTMctFyqKZiejlSeR0UAi3RG1e83sbzwryeb/ABJhiM4wFi1VXOKs16R/ht1xVM/VCCRjavG3h00/pcLwu9+vXQpFlDQsZvgL1qK6cXZpifNXXFMx9UvGMzrAYaxVcjEWrtUR+jRbriqZn6vIor7EUxTibtNMaRFcxEfW8PtdU13Kq58tUzMvjFVIdmfkvOv4P9talF17M/Jedfwf7a1KJWoAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBNtqvl/FfyfghynV2q+X8V/J+CHJarD6O5slgLONxlyvEUxXRaiJiifJMz0/YmnguHiNIsWtPUhZBV4tCcLh5jSbFqYn/wQhO1eBs4HH0Th6Yoou077eR5InXzFxRxR1dmcDbx+ZxRejW3RRNc09OkxGnvTunCYammIpw9mIjyRFEJJsVeLR8GsfMWuxCI7Y5fZwtdm/h6Itxc1pqpp5I1jz6L0iOCe7O5dhreV2Lk2qK7lymK6qqqYmeXzOp4NY+YtdiDpFXC0fBrHzFrsQeDWPmLXYg6RVwtHwax8xa7EHg1j5i12IOkVcLR8GsfMWuxB4NY+YtdiDpNquFo+DWPmLXYh5qwmGqpmmrD2ZifLE0QdIrAb2e4a3g82xFizrFumYmmOjWInT3pfs9leFsZbYuzaoru3aIrqrqp1nljXSEkVAhaPg1j5i12Ia+NyvCYuxVbuWbcaxyVU0xE0z0xK9KK2CqN7VVTPlidE12VyzDxl1vE3LdNy7d1nWqNd7GumkfYmlQoWj4NY+YtdiGK/l+Ev2pt3cPammeimImPrXpRWYzY6x4NjL9jXXg65p16dJYWVSHZn5Lzr+D/bWpRdezPyXnX8H+2tShWoAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5jz4y32vwq0WSncx58Zb7X4VZBNtqvl/FfyfghynV2q+X8V/J+CHKarCT7DVRF/F0zMb6aaZiPrnvS9VuGv3cNepu2K5ouU+SYdTjJmfz1P3cLKifIbtxVE47DUxP6UW5mY+tp8ZMz+ep+7hyr965iL1V2/XNdyrlmqVtHb2LqppzeuJnSarNUR9M6xP+icKrtXK7Vym5aqmiumdYqidJh1Y2jzOI04emfZwkuhP0X26rp4DCUa/pTVVOn0aOTxkzP56n7uHNxeKvYy/N3E3JuXJ88+b9y9QsLIpicnwek6/wDDiG8rjA5vjcDa4PD3tLeuu9mImI/dq2eMmZ/PU/dwSifCA8ZMz+ep+7g4yZn89T93B1Q0nwgPGTM/nqfu4OMmZ/PU/dwdUNJ8IDxkzP56n7uDjJmfz1P3cHVDSfCA8ZMz+ep+7h8naPM5iY4emPpiiO46oaedqZic+xWk6/4fwwmuTVRVlODmmdY4GiPsiIVtXXVcrqrrqmquqdZmZ5ZluYDNsZgbc0Ye9pbnl3sxExH7tUl7qskmYiJmZiIjlmZQHjJmfz1P3cMOLzvMMVZm1dv/AKFXlimmI1+xeqJpzrkxNyuY8kzKwdmK6a8jw29nXSJifonWVetvAZlisBNXgt2aYq8tMxrE/VLMvdVliA8ZMz+ep+7hjv5/mN61Vbqv6U1ck72mIn7WuqJprZxXTczXF1UzrTN2rSenlaZD6zVSHZn5Lzr+D/bWpRdezPyXnX8H+2tSiVqACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJPuaVRTtvlk1TpGtyPtt1QjDbyjG15bmmFxtuNarFym5p06T5PrBam1Xy/iv5PwQ5TubT028VOGzXCTv8AC4q3TMVR06ef6v6S4bVYAEAAAAAAAAHYwmzuOxWGt36JtRRXGsb6rl0+xm4q5h1rHbnucm1jsXZoii1ir9FEeSmm5MRD34zx3puJ+9q7wdPirmHWsdue44q5h1rHbnucvxnj/TcT97V3njPH+m4n72rvXQ6nFXMOtY7c9xxVzDrWO3Pc5fjPH+m4n72rvPGeP9NxP3tXeaHU4rZh02O3Pc4mItVYe/cs3NIrt1TTVp0wz+Msd6bivvau9qzMzMzVMzM8szPnAAQAAAAAAAAd/Z2qLeT57XVyU02NZ7NallqZ/i4yXYi/TVO9xWaTwdFPn4Pzz9kz2oVWVqACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmGxe1dGWWasszaiq/lV2ddI5arMz54+j6Prj6ZrGR04614TkuMs4zDVeTSrSqPon6fsU02MHjMTgrvC4PEXrFzrWq5pn3LtNLY4u5p6PH3lPecXM09Hj7yjvV7G1+fxERGa4rSOmo44bQftXE9oNLB4u5p6NH3lHecXc09Gj7yjvV9xvz/wDauJ7Rxvz/APauJ7QaWDxdzT0aPvKO84u5p6NH3lHer7jfn/7VxPaON+f/ALVxPaDSweLuaejR95R3nF3NPRo+8o71fcb8/wD2rie0cb8//auJ7QaWDxdzT0aPvKO84u5p6NH3lHer7jfn/wC1cT2jjfn/AO1cT2g0sHi7mno0feUd5xdzT0aPvKO9X3G/P/2rie0cb8//AGrie0Glg8Xc09Gj7yjvOLuaejR95R3q+435/wDtXE9o435/+1cT2g0sHi7mno0feUd5xdzT0aPvKO9X3G/P/wBq4ntHG/P/ANq4ntBpYPF3NPRo+8o7zi7mno0feUd6vuN+f/tXE9o435/+1cT2g0sHi7mno0feUd5xdzT0aPvKO9X3G/P/ANq4ntHG/P8A9q4ntBpYPF3NPRo+8o7zi7mno0feUd6vuN+f/tXE9o435/8AtXE9oNLB4u5p6NH3lHecXc09Gj7yjvV9xvz/APauJ7Rxvz/9q4ntBpYPF3NPRo+8o733i7mno0feUd6veN+f/tXE9o435/8AtXE9oNLDp2bzOZ5bFNP77lPex4+jLNm6OGzvE0XsREa0YOzOtVU+bXoj/wCcvkV5f2pz2/bmi5muL3s8kxTcmnX7HGqqmuqaqpmap5ZmfLJs06e0WdYnPcyrxeLmI5N7bt0/4bdPmiHLBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAZZsXI8tPvh54Kvo97PVVMzyzP2vGs9Ms7XTHwdXQbyroe5memXzWemVHjeVdBvKuh71npNZ6QeN5V0G8q6HvWek1npB43lXQbyroe9Z6TWekHjeVdBvKuh71npNZ6QeN5V0PsW658ke961npe7czy8sgx8Dc6vvOBudX3s2s9Mms9MiMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMPA3Or7zgbnV97NrPTJrPTIMFVuumNao0edJZrszvY5Z8rFqsHzeyb2X3U1VHzeyb2X3U1AimZnSIeuBudX3vlMzvo/ez6z0ylVh4G51fecDc6vvZtZ6ZNZ6ZQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3nA3Or72bWemTWemQYeBudX3vvAXOr72TfT0y9b6emQYeAudX3nAXOr72bfT0y+76emQYPB7vV98Pvg93qe+GeKp6ZfYqq6Z+0GCMJenyUe+Bt26qumftAf/2Q==","e":1},{"id":"fr_4","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QAUhABAAECAwEJCwYMBAQGAwAAAAECAwQFEQYHEhMWIVFSktEUFTE2QVNUcqGiszVhgYORsiIyVWNxc4KTo7HC4UJFdNIjNMHDFyQzYtPwJkTx/8QAGwEBAQEBAQEBAQAAAAAAAAAAAAECAwQFBgf/xAAmEQEBAAIBAwUBAQADAQAAAAAAAQIRAxIhMQQTQVKRFAUyQlFx/9oADAMBAAIRAxEAPwD8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZy7A4nMcXbwuCs13r9c6U0Ux7fmj51jZbub4XCYaMTtJmNNqmPDRbqiimn9NdXZ9IKwFpV5fueWp3tWKiqY8sXblWv0xyPPce516TPXu9i6TarxaHce516TPXu9h3Hudekz17vYaNqvFodx7nXpM9e72Hce516TPXu9ho2q8Wh3Hudekz17vYdx7nXpM9e72GjarxaHce516TPXu9h3Hudekz17vYaNqvFodx7nXpM9e72Hce516TPXu9ho2q8Wh3Hudekz17vYdx7nXpM9e72GjarxaHce516TPXu9h3Hudekz17vYaNqvFodx7nXpM9e72Hce516TPXu9ho2q8Wh3Hudekz17vYdx7nXpM9e72GjarxaHce516TPXu9h3Hudekz17vYaNqvFodx7nXpM9e72Hce516TPXu9ho2q8Wh3Hudekz17vYdx7nXpM9e72GjarxalvI9gsw0t4XMItXJ5Inh5pn33G2m3OsdltmrE5Zc7uw1MazTFOlymP0f4vo+w0bQQfZ5HxFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH2ImqYiImZnkiIfHe2EwlON2uyuzXETTwvCTE+Cd7E1f0gsPAWcJufbKRjMTai5muJiImPLNU8u818lMeX/8Airs6zjHZzi5xGYX6rtf+GnwU0RzUx5ISrdfx1d/aW3hd9PB4azTEU/8Auq5Zn7N79iCrf/EAEUAAAAAAAAAAAAAAAAAAAAAAAAS3YvbLF5DibdnEV138tqnSq1VOs2456eb9HglEgFi7qOz9iii1n2VxTOGxExwsUfi61csVx80+X59OdXS2NkK+/G5hmWDv/hTYpu26Nfmpiun7Jn2KnWgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZBk3U/HTF+pb+5CJJbup+OmL9S39yESW+QBkw9m5iLtNu1TNVUoMYkOGyK3FMTiLlVVXNTyRDY7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Y7y4Po19YEWEp7y4Po19Z8qyTCTGkcJHzxUCLjq5hlFzDUzctVcJbjw8nLDlAAAtXct8Tc69ev4cKqWruW+JudevX8OFVLfAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPjxlv1vwq0WSncx8eMt+t+FWQZN1Px0xfqW/uQiSW7qfjpi/Ut/chElvkEoyDDRZwcXZj8O7y6/N5EXTLLaoqwGHmnwcHEfZCDdw9m5iMRasWad9duVRRRTrprMzpEOxm+yubZTg68VirOGrw9u5Fq7cwuMs4mLVc66U18FXVvZnSfDp4Gns74wZZ/qrX34Ty3nWV8cKsqyrJq8PTmGbWbeMuYrFd0cJTTiIq3tNO8pimJqiJnXWeTTXwgr3DYG/icHi8Va4PgcLTTVd312mmrSqqKY0pmdauWfJE6eVqrInMuEo2uxleCy6Jyu5h4wtujCW6aLdNOKj8HSI/C1jkmZ1mY8My6PeHLsLmuAw2CnB0UbRY6jG4Obtqm/wODpp39NveTpE1VV1Tb3s6azZ05IkFW4LCYjHYyzhcHZuX8Teqii3at061V1T4IiPLLAvrKKZwGc7GZricFcwGNuZ1ODrqx2AsYe5NmqKJ5aKaYiOWZ3tUxFUazpPgcvJsFjKsppxF7J8VXnteOrpzKzh8iw9+q3pTRwdFy1VFMWqJpmqfwYiKpmrWeSNAqbJ8rxecY6nCZfai5emmqud9XTRTTTTGtVVVVUxFMRETMzMxDLnmSY3JL9q3jqbWl6jhLV2xeovWrtOsxrTXRM0zyxMTpPJMJJk9F7j9m1vZbCYaq3riaLWXYquLsX7XLE2KZpn8OZp8G9q1nTkmZ01l2T7OWsLjr1/D5BRg80xGT4m7Tk+YRwvA3aLtFNuumm7+FpVrO9pr1mZiY5YkFNi3MDlWLxU5LezrAW8HtHHdlynDU5ba4fE2KLdM0f8Al5iKZr383IpmadZiJnSd7Gu7jcrouzhcVYyqjjLVlV2vCYTE4O1Rcu3qb9Ea1WaY3tVyLM3JpiadZ0pnSZiNQpYWzkGBxd3F427tBk9FjaCnLqbmDsYfL7NV+5RwulVycNMxTNyKeSNaYne61aTMb5Fd0uizbzbBRTgL+Bxk4SmcVTesW8PVXXvqtK5tW5mLczTvdYnSZ032n4XKEQAAAAAAAAAARLOcNGGxtVNEaUVRvqY5ktR3aaqJxVqnyxRrP2g4wALV3LfE3OvXr+HCqlq7lvibnXr1/DhVS3wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5j48Zb9b8KtFkp3MfHjLfrfhVkGTdT8dMX6lv7kIklu6n46Yv1Lf3IRJb5B28gx9NuO5r06RM60TPg/Q4ggnYiWGzTFYemKabm+pjyVxq2O/uK6Fnqz2gkojXf3FdCz1Z7Tv7iuhZ6s9oJPXXVcrmquqqqqfDNU6zJRXVRvt5VVTvo3s6TprHMjHf3FdCz1Z7Tv7iuhZ6s9oJLHJLo5Zm+Jy+Mw4OKLk47DVYW7N3WZimqaZmY5fD+DHh1Qnv7iuhZ6s9p39xXQs9We0Enm5XVXv5rqmvw76Z5ftfJqqmrfTM77XXXXl1Rnv7iuhZ6s9p39xXQs9We0En4SvhOE39XCa677Xl159XyqZqqmapmZnlmZRnv7iuhZ6s9p39xXQs9We0ElEa7+4roWerPad/cV0LPVntBJRGu/uK6Fnqz2nf3FdCz1Z7QSURrv7iuhZ6s9p39xXQs9We0ElEa7+4roWerPad/cV0LPVntBJRGu/uK6Fnqz2vlWeYqY0iLVPzxTPaCQ4i/bw9qq5dqimmPaiGMxFWKxNd2rk308kc0eR5xGIu4ivfXrlVc/P5GIAAFq7lvibnXr1/DhVS1dy3xNzr16/hwqpb4ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx8eMt+t+FWiyU7mPjxlv1vwqyDJup+OmL9S39yESS3dT8dMX6lv7kIkt8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXct8Tc69ev4cKqWruW+JudevX8OFVLfAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPjxlv1vwq0WSncx8eMt+t+FWQZN1Px0xfqW/uQiSW7qfjpi/Ut/chElvkbGDwtzFXN7bjSI8NU+CHYtZTh6I/Diq5PPM6fybGAsRh8LRTEfhTGtX6WwI0+9uE81709p3twnmventdCzZu36ppsW67lXh0opmZ9j5dtXLNc0XaKqKo8lUaSDQ724TzXvT2ne3Cea96e1uANPvbhPNe9Pad7cJ5r3p7W4A0+9uE81709p3twnmventbgDT724TzXvT2ne3Cea96e1uANPvbhPNe9Pad7cJ5r3p7W4A0+9uE81709p3twnmventbgDT724TzXvT2ne3Cea96e1uANPvbhPNe9Pad7cJ5r3p7W4A0+9uE81709p3twnmventbgDT724TzXvT2ne3Cea96e1uANPvbhPNe9Pa18TlFuqmZsVTRVzTyw6gCJXbdVq5NFyJpqjww8O5ntiKrNN6I/CpnSf0OGirV3LfE3OvXr+HCqlq7lvibnXr1/DhVS3wACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5j48Zb9b8KtFkp3MfHjLfrfhVkGTdT8dMX6lv7kIklu6n46Yv1Lf3IRJb5EwZcLRVcxNmi3pv6q4inWNY1meRie7VdVq5RconSqmYqifngRK8zqm9dx1OR37tm9auT3Rh6Kt7wunJNymI9sOdleKvZtNWXY+ub0101TYu1zrXbriJmNJ8Ok6aTDJdw9zMMZGZZNdp4eqrhK7M1xTXbr8umvhjXyt3EWu5ZjM6aMNbzGm3XN7DRdpnTWN7wkRHg8P4rSIi3sNYt12aaqqdZn5552i2rOK4O3FO8108urI2e5bPQ9snctnoe2WHu3837x3b+b94NM3ctnoe2TuWz0PbLD3b+b947t/N+8GmbuWz0PbJ3LZ6Htlh7t/N+8d2/m/eDTN3LZ6Htk7ls9D2yw92/m/eO7fzfvBpm7ls9D2ydy2eh7ZYe7fzfvHdv5v3g0zdy2eh7ZO5bPQ9ssPdv5v3ju3837waZu5bPQ9snctnoe2WHu3837x3b+b94NM3ctnoe2TuWz0PbLD3b+b947t/N+8GmbuWz0PbJ3LZ6Htlh7t/N+8d2/m/eDT7ibFuizVVTTpMaeWedotq9iuEtzRvNNfLq1Qaeb/J136P5wjaSZv8AJ136P5wjaNLV3LfE3OvXr+HCqlt7kVnujZjNLMzvYuXqqNebWiIQXbLZm9s1jrdq5di/ZvUzVbuRTvddPDExzxyfavwI8AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZBk3U/HTF+pb+5CJJbup+OmL9S39yESW+RKMBfjEYWivX8KI0q/S2EXweKuYW5vrc6xPhpnwS7FnNsPXT+HNVueaY1/kI6A0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PYd8sJ533Z7Abg0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PYd8sJ533Z7Abg0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PYd8sJ533Z7Abg0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PY18Tm9ummYsUzXVzzyQBnt+KbNNmJ/CqnWf0OG93blV25Ndydap8MvCKuDcX+Qsd/qf6aWhu3f5L9d/22/uL/IWO/wBT/TS0N27/ACX67/ttfCfKrgGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3MfHjLfrfhVoslO5j48Zb9b8Ksgybqfjpi/Ut/chEkt3U/HTF+pb+5CJLfIAIAAAAAAAAAAAAAAAAAAAAAAAAAALd3HblNnZ3MblydKKL81VTzRFEIpulbS4XaDHYWjAb6rDYamrS5VTvd/VVprpE8unJHhSPct8Tc69ev4cKqX4QARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHx4y3634VaLJTuY+PGW/W/CrIMm6n46Yv1Lf3IRJLd1Px0xfqW/uQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3xNzr16/hwqpau5b4m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZBk3U/HTF+pb+5CJJbup+OmL9S39yESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAWruW+JudevX8OFVLe3Gqaa9n8wprpiqmrETExMaxMbyEc3VsiwWUY7BX8vtU2KMVTXvrVH4sVU6csR5Nd94PmX4RBAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx8eMt+t+FWiyU7mPjxlv1vwqyDJup+OmL9S39yESS3dT8dMX6lv7kIkt8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAuDcX+Qsd/qf6aWhu3f5L9d/22/uL/IWO/wBT/TS0N27/ACX67/ttfCfKrgGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3MfHjLfrfhVoslO5j48Zb9b8Ksgybqfjpi/Ut/chEkt3U/HTF+pb+5CJLfIAIAAAAAAAAAAAAAAAAAAAAAAAAAALg3F/kLHf6n+mlobt3+S/Xf9tv7i/yFjv8AU/00tDdu/wAl+u/7bXwnyq4BlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHx4y3634VaLJTuY+PGW/W/CrIMm6n46Yv1Lf3IRJLd1Px0xfqW/uQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC4Nxf5Cx3+p/ppaG7d/kv13/bbm49dps7OZldua7yi/NVWka8kURKIbom09naPHYaMJbrpwuGpqima40mqatNZ08kckNfCfKIgMqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZBk3U/HTF+pb+5CJJbup+OmL9S39yESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAWruW+JudevX8OFVLV3LfE3OvXr+HCqlvgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHx4y3634VaLJTuY+PGW/W/CrIMm6n46Yv1Lf3IRJLd1Px0xfqW/uQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3xNzr16/hwqpau5b4m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZBk3U/HTF+pb+5CJJbup+OmL9S39yESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAWruW+JudevX8OFVLV3LfE3OvXr+HCqlvgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHx4y3634VaLJTuY+PGW/W/CrIMm6n46Yv1Lf3IRJLd1Px0xfqW/uQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dy3xNzr16/hwqpau5b4m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZB39vclpx+1OLvTemidKI0inX/BCPcWKPSaup/dONqvl/FfsfchylrO0c4sUek1dT+5xYo9Jq6n90jBNo5xZt+k1dT+5xZt+lVdT+6fZRsvmOZ2YvWqLdqzP4td2rSKv0aRMt/iLmfn8F16v9rvj6blym8cbZ/wDGLzYTtarLizb9Kq6n9zizb9Kq6n91m8Rcz8/g+vV/tOIuZ+fwfXq/2r/JzfS/ie/h9orLizb9Kq6n9zizb9Kq6n91m8Rcz8/g+vV/tOIuZ+fwfXq/2n8nN9L+Hv4faKy4s2/Squp/c4s2/Squp/dZvEXM/P4Pr1f7TiLmfn8H16v9p/JzfS/h7+H2isuLNv0qrqf3OLNv0qrqf3WbxFzPz+D69X+1ixOxWa2bU10zh70xy723XOvtiD+Tm+l/D38PtFb8WKPSaup/c4sUek1dT+6R10VW66qK6ZpqpnSYmNJiXXybZ3MM2t8Jh6KaLOukXLk6Uz+jncsePLLLpk7t3OSbtQXizR6TV1P7nFmj0mrqf3WbxFzPz+C69X+04i5n5/Bder/a6/yc30v4x7/H9orLixR6TV1P7nFij0mrqf3WZOw2ZxEzF/Bz80V1f7UfzHAYnLsTNjGWpt3I5Y18ExzxPlZz9Pycc3ljZGseXHK6xqKcWLfpVXU/u+cWaPSaup/dOdmdnMz2mx84TJ8NN65TG+rqmYppojnqmeSE8jcQ2k0j/wA7lEfNN25/8by58vHh2zykdZjll4iiuLFHpNXU/ucWKPSaup/ddOa7ju1GAwlV+33Fjd7EzNvDXapr0+aKqadf0Ryq5rpqoqmmuJpqpnSYmNJiTDlw5P8AjZS45Y+YjnFij0mrqf3OLNv0qrqf3WzsruZbQ7SYGnG4a3YwuErjW3dxVc08JHPTERM6fPppLuf+CG0np2Ufvbv/AMbN5+LG6yyn6vRnfEUVxYo9Jq6n9zixR6TV1P7rL2w2FzzZSmm7mdiivC1Vb2nEWKt/b15p5ImPpiEXdMc8c5vG7ZsuPao5xYo9Jq6n9zixR6TV1P7pGNM7rr7C4SMBs7nWGprmuN7NzfTGnhomNPdU8uvZn5Lzv9T/AE1qUL4agAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7mPjxlv1vwq0WSncx8eMt+t+FWQTbar5fxX7H3Icp1dqvl/FfsfchymqwM+X26L2Pw1q7Oluu7TTVPzTMasB4CIvGmmKaYppiIpiNIiPJD6g2T7cUUYai1mdm7VcpiI4W3pO++eYmY5XR475V0MV1I7X7H0/reDLjmspHw+X0/JMr2SgRfjvlXQxXUjtOO+VdDFdSO12/r4PvP1j2eT61KBF+O+VdDFdSO0475V0MV1I7T+vg+8/T2eT61KBF+O+VdDFdSO0475V0MV1I7T+vg+8/T2eT61KH1FuO+VdDFdSO1hxW3WBotT3Nh8RcueSK4imn7dZ/kX1fBO/XP0nByX/rUf3QbNq1tBraiIm5aprr06Wsx/KIWThLNvD4SzZsREWqKYpp05lNZjjL2YY27icTVE3Lk6zp4I5ohKdntsoweEow2Y2rl2m3G9ouW9N9p5ImJ0+18b0/rOCeryz8S/L38vByXhmPzFgiL8d8q6GK6kdpx3yroYrqR2vs/18H3n68Hs8n1qUIlukWrdWUWL1URwtF6KaZ+aYnWPZH2Mle3GVxTrTbxVU80UR2odtLnt7Or9EzTwWHt/iW9dfpn53l9b6zgnDlNy7dvT8HJ1y60v/cGwmGsbn9i/Yinh8ReuVXpiOXWKppiJ/ZiJ+lYr8u7mm6FiNja7uHu2JxWWXqt/XairSqirTTfU+Twaax5dI8C1KN2vZiqmJmxmlM802aNY+yt/Lv8AQ9LzXluUlsr9Z6flw6JN6Wc/OG6blmAndjsYad7Rh8Zew04mIjSKZrmIqn6Y5fpTTN92/J7WFr704DG4jEzH4PDRTboifnmJmfo0+lRWcZni83zbE5jjrk14q/Xv66o5OXyRHNERpEfodP8AN9Ny48nXlNRn1PLhcdTu/Z1FFNuimi3TFNFMaRTTGkRHND0pHZHdqsWcvtYbaXCYm5iLdMU904bSrhPnqpmY0nnmJnXmSH/xp2Y81mX7in/c8XP6Tnxzu8bXbDmwuM7prtjhcPjdlM2w+MppqsVYW5NW+8mlMzE/RMRP0Px0tfdE3Wqs/wAsu5XkeGvYXCX43t69emIuV0+WmIiZiIny8s6xyKofW/y+Dk4pbn228nquTHKyYvoD6zyJDsz8l51+p/prUouvZn5Lzr9T/TWpQrUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx8eMt+t+FWiyU7mPjxlv1vwqyCbbVfL+K/Y+5DlOrtV8v4r9j7kOU1WH2mmquqKaImqqeSIiNZlvRk+YzGsYO79jq7EWaK8XiLtVMTXbpiKZnya+H+SZLJtFXYjD3sNXvMRart1c1UaavFq3Xdrii1RVXXPgppjWZTra6zRcyW7cqp1rtTTNM82sxE/zc/YazRNOJvTH/E1iiJ5oNdxwoybMZj/AJS79jTv2bli5Nu9bqt1x/hqjSVpo7trZoqy63dmmOEpuREVfNMTrC9Ih1mzcv3Ios26rlc/4aY1lud5sx0/5O79iS7E2aKcvu3oiOEruTTM/NERye2UiSYiq7tuu1cmi7RVRXT4aao0mHrD4e9ibm8sW67lfNTGqUbc2qODwt2Kf+JrNOvPHhb2x1qijJ6a6Y/DuV1TVPPpOh0iKTk2YxEzODu8nzNGumqiuaa6ZpqjkmJjSYWqh+3NminEYW9TERXcpqpqnn000/mWaEfw2Fv4qqacParuTHh3sa6NmrJ8wppmZwd7SOanVM9mbNFrJsPNFMRNcb6qeedXUJiKpmJiZiYmJjkmJZ8Lg8Ti5nuazcuaeGaY1iHY20s0W80oropiJuW4mrTyzrMapXk9mixleFot0xEcHTM/PMxrMmhA7mU5hbpmqrCXtI8OlOrRWsgG1VqiznV2LdMUxVEVTEc8xylxGhhcBisVTNWHw9y5THlink+1kvZXjrNua7mFuxRHhne66LGw1mjD4e3ZtREUUUxTEMh0m1UtrDZfi8VRv7GHuV0dKKeT7Wxm9i3Rn96zRG9tzdjkjya6a/zWHbopt0U0UUxTRTGkRHgiCQVriMtxuHtzXew12miPDVveSGotaYiYmJiJifJKvIwtqNpO5t7rZ7o3u9+bfeAsGvYyzG4i3FdnC3aqJ8FW95JfMTl+LwtG/v4e5RR0pp5PtWZERERERpEeR5uUU3bdVFymKqKo0mJ8sL0m1Vj1fpii/cojwU1TEfa8sKkOzPyXnX6n+mtSi69mfkvOv1P9NalCtQARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHx4y3634VaLJTuY+PGW/W/CrIJttV8v4r9j7kOU6u1Xy/iv2PuQ5TVYSHYzF2rGNu2rtUUzdpiKZnwax5PamqqWSL96mIiLtyIjyRVKy6RNdsMXatZXXh5qibt2adKY8MRExOvsc7YnF2rdV/DXKopuVzFVGs/jfMi8zNUzNUzMz5ZDYtZGttcXajB0YWKom9NcVzTHkiInw/aiXdF6I0i9c09aWOZ1nWfCvUJhsVi7fctzC1VRF2K5riJ/xRMR4PsSZVPLE6xySyTiL0xpN25p60pKJLtvirVc2MPRVFVyiZqq0n8X5p+du7HYu1cy2MPFURet1TrTPhmJnXVCSJmJ1iZieeDfcWshe2mLt38VYs26oqmzFW+mPJM6cnscGb96YmJvXJieeqWMt2J9sti7V/KrVuiqOEtRvaqdeWOXwuwqqmqaaommZiY8sPdV+7VTMVXbkxPkmqSZDr7XYu1isziLNUVRao3kzHg11mUryLF2sXllibVUTVRRFFdPliYjRXL7RXVROtFU0zzxOh1C1ZmIiZmdIjyq82kxVvF5vduWJ31ERFMVR4J0c+u9drjSu7XVHNNUy8Fos7AYu3jcLRes1RMVRyxHknmlnrqpopmquqKaY5ZmZ0iFWUV10TrRVVTPzTo+13blyNK7ldUc01TJ1DczTF0Xs6vYm3y2+EiY+eI07FhYbEWsVYpvWK4rt1RrEwq56ouV2/wASuqnXmnQlFpXblFm3Vcu1RRRTGs1TOkQrqMbR3+7smJ4Ph+E08umvY0q7ty5/6lddXrTMvJbsWpauUXrdNy1VFdFUaxVE8kvGKxFrC2K71+uKbdMazMqwou3LcTFuuqmPmnQuXK7n/qV1VetOq9Rou18Jdrr0031Uzp+l5BhUh2Z+S86/U/01qUXXsz8l51+p/prUoVqACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTuY+PGW/W/CrRZKdzHx4y3634VZBNtqvl/FfsfchynV2q+X8V+x9yHKarAAgmWUbOYScFbuYyibt25TFUxvpiKdfJyN2vZzLKqJiMPNMz/ii5VrH2y6OCmJwdiY5Y4On+TM6SIrPM8HVgcwu4aZ329nknnieWEuwOzOCt4emMVRN29Ma1TvpiInmjRwdqJiNobkzPg3mv2QniSdxx72zeW126qaLNVuqfBVTXVMx9soTfwly1j6sJyTci5wcT5JnXkWcgGOn/APKap8ndFP8AOCwSTC7M5fbs003rc3rnlrmqY1n9ESYnZrL7lmqmzbqs1+SqK5nl/RMu2Lo2rGzg7lzMKcHyRdm5wc/NOukprZ2by2i3FNdmq5VHhqqrqiZ+yUbwsxO10zExpOKq+9KepIODjtmcFcw9UYWiqzeiNaZ38zEzzTqiOWYOrHY+1hone76fwp5ojllZiB7MVRxht8scu/0+fkksElt7OZZTREVWKq5j/FVcq1n7Jaeb7OYTuO5Xg6JtXaKZqiN9MxVp5OVI2HGcmDv6+bq/kuoK9yTL++WPpszM00RE1VzHhiI/+wmVOzuVxTEThpmeeblXL7Ue2JmIzW5rPhsz96lN0kKi2f7PYa1gbmIwVM267cb6ad9MxVHl8LibPZZGZ42aLlU02qI31Wnhn5k3zydMmxn6qr+SNbDf83ifUj+ZVdzi7lfo38SrtcfaPIbGFwk4rBRVRFExv6JmZjSeTWNeVLnM2mmIyPFaz5Ij3oXSIrs1lNGZX7lV+Ziza01iPDVM+T2JRxeyv0X+JV2uXsLP/CxkfPT/ANUpSQQvafJLOBs04nCa025q3tVEzrpzTCOp1tj8jT89ylBUygAMqkOzPyXnX6n+mtSi69mfkvOv1P8ATWpQrUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASncx8eMt+t+FWiyU7mPjxlv1vwqyCbbVfL+K/Y+5DlOrtV8v4r9j7kOU1WAZcLhruLv02cPRNdyrwRDsRstmGkctiP257EHnK9osRgsPTZrt03rdPJTrOkxHNq27m116aJi3haKavJM1TPscbMsrxWXTT3RREU1eCumdYlhwWDv46/wWGo39fhnyREc8rujHfu1371d27VNVyudapl3Mv2nxOGsU2rtqm9FMaU1TOk6fO88Vsw6Vjrz2OZmOX4nL7kUYmje77lpmOWJ/RK9x2721uIqtzTaw9u3XPgqmrfafQjdddVdyquuqZrqnWZnwzPO2cvwGIzC7NvDUb6Y5apmdIj9MunxXzDnsdeexO9GXCbVYm1ZpovWaL1URpv99vZn9JitqsTdszRZs0Wap5N/vt9MfocTHYO/gb/BYmiaKvDHliY54lly3LMVmNcxhqNaafxq6p0iDdGpTXVTciumqYrid9FUeGJ50jsbW4im3EXcPbuVx/iid7r9DBxWzDTw2OvPY4+Lw13CX6rOIomi5Hkk7wdrH7T4nE4eq1at02YqjSaonWdPm5nCsXa7F6i7aqmmuidaZjyN3LcpxeYxNWHojeRyTXVOka8zdnZfMIiZibM/NFf9juNq3tbeiiIuYW3VV5ZiqY1+hq5ntHiMbh6rFFumzbqjSrSdZmObVxsRZuYe9VavUTRcpnSaZb2XZLjMwtzcsUUxb10iqudIn9BujTweJu4TEUX7FW9uUzyJFRtddimN/hKJq8sxXMR/JqV7L5jTTMxFmqY8kV8s/bDi3aKrVyqi5TNNdM6TExpMSd4Otm2f4jMLPA7ym1an8aInWav0y5+X4y9gMTTfw9WlcckxPgmOaW5gMix2Nsxdt0U025/FmudNf0M13ZnMbduaoptV6f4aa+U7jeja65pGuEo18v4c9jmZxneIzOiLdVNNuzE67ynyz88uVVE01TFUTExyTE+R1sJs9j8VZpu00UUU1RrTv6tJmOdd0amWZhfy3EcLh5jljSqmrwVQ7sbXXPLhKOvPY0MRs3mFi1Vc3lFyKeWYoq1n7HGTdg6OcZviMzqpi7FNFqnlpop8GvPPPLnOzY2bzC9aiuaKLevLFNdWkvGM2fx+FsVXaqKK6KY1q3lWsxHPod6OSAgkOzPyXnX6n+mtSi69mfkvOv1P9NalCtQARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdzHx4y3634VaLJTuY+PGW/W/CrIJttV8v4r9j7kOU6u1Xy/iv2PuQ5TVYSfYamJxGLq0jfRTTET9M9iXoFstmVrL8ZXGIne2rsRE1dGY8CZRmeAn/APdw372ntax8I09q6YnIsRMxEzTNMx834UR/1c/YWmO58VVp+Fv6Y1+h82qzjD3MFVhMNcou13JjfTTOsRETr4efkhobJZnZwdy9ZxNW8puTExX5ImPJJRN3A21picpomYjWLsaTzckup3ywPpuG/e09qN7XZrh8TYowuGri5pVv6qqfBGnkifL4Vo6GxVERlVdURG+quzrP0Q76H7JZrYw1q5hcVXFuJq39FdXg8EaxM+TwJL3ywPpuG/e09pPA4e3UR3NhZ0jXfzGv0N7ZGIjJLUxGkzVVM/PyuHtbmdjG12bGGqium3M1VVx4NeaG5spm2GtYPuXE102q6apmmqqdImJ5fCm+6pSiW3dNMV4KuI/CmK4mfmjTtlIpzPARH/O4b97T2oftVmVrMMVbow8761ZiYirnmfDp83JC3wkSrZ2mKclwkUxEa06+10Uc2azjC977eHxF2izctRp+HOkVRz6uxOZ4CImZxuG+i7TP/UngRXbimIzKzVEREza5Z5+WUsyumKMtwtNMaRFqn+SD7S5hbzDMN/Y/9KimKKZ6Xl19qS5FnWEu4C1bv3qLN63TFExXVvYnSNNYmT5V3EC2upiM7uTEaa0UzPz8iY15pgKKZqnG4eYjmuRM/ZCCZ7jacfmV2/biYt8lNOvhmI8qVIsaimKKKaKY0ppjSI+Z9crLc8weKwtFV2/bs3dNK6blUU8vzati7m2AtW5rqxliYjyU1xVP2QohmdU08ZL1O9jezdp1j9OmqwFaY/Gd05pdxdNOkVVxVTE80eD+SdYPOsBibFNzum1amY5aLlcUzE/Sk8jooDFuiNrN5vY3ndXg8n4yX4jOMBYtVXJxVmvSPxbdcVTP0QgcY2rvt3dNP4XC8Lvfp10KRZY0LGcYC9aiunF2aYnyV1xTMfRLzjM6wOGsVXIxFq7VEclFuuKpmfo8DQr3EUxTibtNMaRFcxEfS8PtdU111V1eGqZmXxzqpDsz8l51+p/prUouvZn5Lzr9T/TWpRK1ABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3MfHjLfrfhVoslO5j48Zb9b8Ksgm21Xy/iv2PuQ5Tq7VfL+K/Y+5DlNVgHc2SwFnG4y5XiaYrotRExRPgmZ5/sTTuXDxGkWLWnqQsm0VeLQnC4eY0mxamJ/9kITtXgbOCx9E4eneUXad9vY8ETr5PmLNDijq7NYG3j8zii/Gtuiia5p59JiNPandOEw1NMRTh7MRHgiKISTYq8Wj3NY8xa6kIjtjl1nC12b+HoptxcmYqpp5I159F6RHBPdncuw1rK7FybVFdy5TFdVVVMTPL5HU7mseYtdSCYirhaPc1jzFrqQdzWPMWupB0irhaPc1jzFrqQdzWPMWupB0irhaPc1jzFrqQdzWPMWupB0m1XC0e5rHmLXUh8qwmGqpmmrD2ZpnwxNEHSKvG9nuGt4PNsRYs6xbpmJpjm1iJ09qX7P5ZhbOW2Lk2qK7t2iK6q6qdZ5Y10hJFQIWj3NY8xa6kNfG5XhMXYqt3LNumZjkqppiJpnniV6UVsFUb2qqmfDE6JpsrlmHjLreJuW6bl27rOtUa72NdNI+xNKhYtHuax5i11IY7+X4S/am3dw9qaZ5qYiY+lelFZDNjbHc2Mv2NdeDrmmJ59JYWVSHZn5Lzr9T/TWpRdezPyXnX6n+mtShWoAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO5j48Zb9b8KtFkp3MfHjLfrfhVkE22q+X8V+x9yHKdXar5fxX7H3IcpqsJPsNVEX8XTMxvpppmI+me1L1W4bEXcNepu2K5ouU+CYdTjJmfnqf3dKy6RPkN24qicdhqYn8KLczMfS0+MmZ+ep/dw5WIvXMRequ366q7lXhqktHb2LrppzeuJnSarVUR886xP8A0ThVdq5XauU3LdU0V0zrFUTpMOtG0eZxERw9M/sU9hLoT5F9ua6eBwtGv4U1VTp82jk8ZMz89T+7hzcZir2MvTdxNyblyfLK3IWFkcxOT4PSdf8AhRDeVxgM3xuBtcFh72lvXXezETEfo1bPGTM/PU/u4JkJ8IDxkzPz1P7uDjJmfnqf3cHVDSfCA8ZMz89T+7g4yZn56n93B1Q0nwgPGTM/PU/u4OMmZ+ep/dwdUNJ8IDxkzPz1P7uHydo8zmJjh6Y/RRHYdUNPG1MxOfYrSdfxfuwm2TVU1ZRg5pnWOBoj6YiIlW1yuq5cmuuqaqqp1mZ8My3cBm2MwNubeHvb2ieXezETEfo1SXuqyCZiImZmIiOWZlAeMmZ+ep/dww4vO8wxVmbV2/8A8OrwxTTEa/YvVE051yYm5XMeCZmVg7MV01ZHht7OukTE/NOsq9beAzLFYCau5bs0RV4aZjWJ+iWZe6rLEB4yZn56n93DHfz/ADG9aqt1X9Kao0ne0xE/a11RNNbOK6a81xlVM60zdq0nn5WoDNVIdmfkvOv1P9NalF17M/Jedfqf6a1KJWoAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk+5pVFO2+WTVOka3I+23VCMNvKMbXluaYXG241qsXabmnPpPLH0+AFqbVfL+K/Y+5DlO5tPTbxU4bNcJO/wuLt0zFUc+nl+j+UuG1WABAAAAAAAAB2MJs5jsVhrd+ibUUVxrEVVcujNxWzDnsdeexyLWPxdmiKLOKv26I8FNNyYiHvvljvTcV+9q7VHU4rZhz2OvPYcVsw57HXnscvvljvTcV+9q7TvljvTcV+9q7TsOpxWzDnsdeew4rZhz2OvPY5ffLHem4r97V2nfLHem4r97V2nYdTitmHPY689jiYi1Vh79yzc0iuiqaZ054Z++WO9NxX72rtaszMzM1TMzPLMz5QAEAAAAAAAAHf2dqi3k+e11clNNjWerWpZamfYuMl2Iv01TvcVmk8Hbp8vB+WfsmetCqytQARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEw2L2royy1VlubUTfym7OukctVmZ8sfN830x881pyKnHWe6ckxljGYarwTFXLHzT8/2KabGDxmJwV3hcHiL1i50rVc0z7F2li2OLmaejxP1lPa+cXc09G/iUdqvqdr8/piIjNcVpH/ALn3jhtB+VcT1jsaWBxdzT0b+JR2nF3NPRv4lHar/jhtB+VcT1jjhtB+VcT1jsaWBxdzT0b+JR2nF3NPRv4lHar/AI4bQflXE9Y44bQflXE9Y7GlgcXc09G/iUdpxdzT0b+JR2q/44bQflXE9Y44bQflXE9Y7GlgcXc09G/iUdpxdzT0b+JR2q/44bQflXE9Y44bQflXE9Y7GlgcXc09G/iUdpxdzT0b+JR2q/44bQflXE9Y44bQflXE9Y7GlgcXc09G/iUdpxdzT0b+JR2q/wCOG0H5VxPWOOG0H5VxPWOxpYHF3NPRv4lHacXc09G/iUdqv+OG0H5VxPWOOG0H5VxPWOxpYHF3NPRv4lHacXc09G/iUdqv+OG0H5VxPWOOG0H5VxPWOxpYHF3NPRv4lHacXc09G/iUdqv+OG0H5VxPWOOG0H5VxPWOxpYHF3NPRv4lHacXc09G/iUdqv8AjhtB+VcT1jjhtB+VcT1jsaWBxdzT0b+JR2nF3NPRv4lHar/jhtB+VcT1jjhtB+VcT1jsaWBxdzT0b+JR2vvF3NPRv4lHar7jhtB+VcT1jjhtB+VcT1jsaWFTs3mdU8timn9NyntY8dTlmzlHDZ3iaL2IiNaMHZnWqqfJrzR/95fAry/tTnt+3NFzNcXvZ5Jim5NOv2ONVVNVU1VTM1TyzMzyybNOntFnWJz3Mq8Xi5iOTe27dP4tunyRDlgigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMs2LkeGn2w88FXze1nqqmZ5Zn7XjWeeWdrpj4OrmN5VzPczPPL5rPPKjxvKuY3lXM96zzms84PG8q5jeVcz3rPOazzg8byrmN5VzPes85rPODxvKuY3lXM96zzms84PG8q5n2LVc+CHrWed7tzPLyyDHwNzo+04G50fazazzyazzyIw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gw8Dc6PtOBudH2s2s88ms88gwVW66Y1qjR50lmuzO9jlnwsWqwfN7JvZfdTVUfN7JvZfdTUCKZmYiIeuBudH2vlMzvo/Sz6zzylVh4G50facDc6PtZtZ55NZ55QYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2nA3Oj7WbWeeTWeeQYeBudH2vvAXOj7WTfTzy9b6eeQYeAudH2nAXOj7WbfTzy+76eeQYO57vR9sPvc13oe2GeKp55fYqq55+0GCMJfnwUe2BuW6p55+0F0/9k=","e":1},{"id":"fr_5","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QAUhABAAECAwALCwcKBQEIAwAAAAECAwQFEQYHEhMWIVFSkqHRFBUxNkFTVHKDorM1YXGBkbLhIkJVY3OCk6OxwjJFdMPSIxckJjRiwdPwM0Tx/8QAGwEBAQEBAQEBAQAAAAAAAAAAAAECAwQFBgf/xAAlEQEBAAIBAwUBAQADAAAAAAAAAQIRAxIhMQQTQVKRFAUyQnH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnL8DicxxdvC4KzXev1zpTRTHX80fOsbLdrfC4TDRidkmY02qY46qLdUUU0/TXV2ArAWlXl+15anc1YqKpjyxduVa/XHE89x7XXpM9O72LpNqvFodx7XXpM9O72Hce116TPTu9ho2q8Wh3Htdekz07vYdx7XXpM9O72GjarxaHce116TPTu9h3Htdekz07vYaNqvFodx7XXpM9O72Hce116TPTu9ho2q8Wh3Htdekz07vYdx7XXpM9O72GjarxaHce116TPTu9h3Htdekz07vYaNqvFodx7XXpM9O72Hce116TPTu9ho2q8Wh3Htdekz07vYdx7XXpM9O72GjarxaHce116TPTu9h3Htdekz07vYaNqvFodx7XXpM9O72Hce116TPTu9ho2q8Wh3Htdekz07vYdx7XXpM9O72GjarxaHce116TPTu9h3Htdekz07vYaNqvFqW8j2BZhpawuPi1cniid/mmffcbZNtdY7LbNWJy253dhqY1mmKdLlMfR+d9X2Gl2ggCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA+xEzMRETMz4Ih8d7YJhKcbsuyyzXETTvu+TE+XcxNX9oLCwFrCbX2xSMZibUXM1xMREx5ZqnjijXyUx5f8A+KvzrOMdnOLnEZhfqu1/m0/m0RyUx5ISvbfx1d/ZLbwu6ne8NZiIp/8AVVxzP2bn7EEWoAIoAAAAAAAAAAAAAAAAAAAAAAAAluwvZji8ixNuziK67+W1TpVaqnWbcctPJ9HgnrRIBYu2hsfw9FFrPsrimcNiJjfYo/w61ccVx9Pl+fTlV0tnYhX342r8ywd+d1Nim7bo18mkRXT9kz1KmWgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5AGTD2bmIu027VM1VSgxiQ4fIrcUxOIuVVVclPFDY7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19I7y4Pm19IEWEp7y4Pm19J8qyTCTGkRcj54qBFx1cwyi5hqZuWp3y3Hh4uOHKAABau1b4m5169fw4VUtXat8Tc69ev4cKqW+AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2sfHjLfa/CrRZKdrHx4y32vwqyDJtp+OmL9S39yESS3bT8dMX6lv7kIkt8glGQYaLWDi7Mf9S5x6/N5EXTLLaoqwGHmPNxH2Qg3cPZuYjEWrFmndXblUUUU66azM6RDsZxsUzbKMJcxWLs4evD27kWbtzC4uziYtVzrpTXvVdW5nin/Fp4Gnsd8YMs/1Vr78J5bzvK+GFWU5Tk1eHpx+bWbeMuYrFd0b5TTiIq3NNO4pimJqiJnXWeLTXwgr3DYG/icHjMVa3vecLTTVd3V2mmrSqqKY3NMzrVxz5InTytVZHfHfKNl2MrwWXROV3MPGFt0YS3TRbppxUfk6RH5WscUzVrMxrrMujOQ5dhc1wGGwc4OijZFjqMbg5vWqb+84Omnd029xMxE1VV1Tb3M6azZ04okFW4LCYjHYuzhcHZuX8Teqii3at061V1T4IiPLLAvrKKZwGc7C81xGCuYDG3c6nB11Y7AWMPcmzVFE8dFNMRHHM7mqYiqNZ0nwOXk2DxlWUU4i9k+Krz2vHV05lZw+RYe/Vb0po3ui5aqimLVE0zVPFERVM1azxRoFTZPlmLzjH04PAW6a71VNVc7uumimmmmJmqqqqqYimmIiZmZmIZc9yTG5JftW8dTZmm9Rvlq7YvUXrV2nWY1promaZ44mOKeKYlI8oou8Ps2o2LYPD1UTOJptZdia4uRiLWsxNiJpmd3M066bmrWdOKddNZhlGx21hcddxGH2P04PNcRk2Ju05NmP/V3m7Tcoi3XTTc/K0q1nc016zMxMccSCmhbmBynF4qclvZ1gLWD2Rx3Zcpw1OW2t/wATYot0zR/3eYima93NcUzNOsxEzpO5jXdxuV0XZwuKsZVROyWrKrteEwmJwVqi5dvU36I1qs0xuarkWZuTTE06zpTOkzEahSwtrIMDi7uLxt3ZBk9FjZBTl1NeDsYfL7NV+5RvulVycNMxTNyKeKNaYnc61REzG6RTbLt2bebYKKcBfwOMnCUziqb1i3h6rle6q0rm1bmYtzNO51idJnTdaflcYRAAAAAAAAAABEs5w0YbG1U0RpRVG6pjkS1Hdk1UTirVPlijWftBxgAWrtW+JudevX8OFVLV2rfE3OvXr+HCqlvgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdrHx4y32vwq0WSnax8eMt9r8Ksgybafjpi/Ut/chEkt20/HTF+pb+5CJLfIO3kGPptx3NenSJnWiZ8H0OIIJ2Ilhs0xWHpimm5uqY8lcatjv7iuZZ6M9oJKI139xXMs9Ge07+4rmWejPaCT111XKpqrqmqqfDMzrMlFddG63FVVO6jczpOmsciMd/cVzLPRntO/uK5lnoz2gkscU8To5Zm+Jy6Mw3qKLk47DVYW7N3WZimqaZmY4/D+THh1Qnv7iuZZ6M9p39xXMs9Ge0Enm5XNe7qrqmvw7qZ43yaqpq3UzO6111149UZ7+4rmWejPad/cVzLPRntBJ98r3zfJrq3euu6149eXV8qmapmapmZnjmZRnv7iuZZ6M9p39xXMs9Ge0ElEa7+4rmWejPad/cVzLPRntBJRGu/uK5lnoz2nf3Fcyz0Z7QSURrv7iuZZ6M9p39xXMs9Ge0ElEa7+4rmWejPad/cVzLPRntBJRGu/uK5lnoz2vlWeYqY0iLVPzxTPaCQ4i/bw9qbl2qKaY60QxmIqxWJru1fnTxRyQ84jEXcRXur1yqufn8jEAAC1dq3xNzr16/hwqpau1b4m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau1b4m5169fw4VUtXat8Tc69ev4cKqW+AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2sfHjLfa/CrRZKdrHx4y32vwqyDJtp+OmL9S39yESS3bT8dMX6lv7kIkt8jYwmFuYq5ubcaRHhqnwQ7FrKcPRH5e6uT886f0bGAsRh8LRREflTGtX0tgRp97cJ5r3p7TvbhPNe9Pa6Fmzdv1bmxaruVeHSimZnqfLtq5Zr3F2iqiuPzaomJBod7cJ5r3p7TvbhPNe9Pa3AGn3twnmventO9uE81709rcAafe3Cea96e0724TzXvT2twBp97cJ5r3p7TvbhPNe9Pa3AGn3twnmventO9uE81709rcAafe3Cea96e0724TzXvT2twBp97cJ5r3p7TvbhPNe9Pa3AGn3twnmventO9uE81709rcAafe3Cea96e0724TzXvT2twBp97cJ5r3p7TvbhPNe9Pa3AGn3twnmventa+Jyi3VTM2Kppq5J44dQBErtuq1cmi5ExVHhh4dzPbEVWab0R+VTOkz8zhoq1dq3xNzr16/hwqpau1b4m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5EwZcLRVcxVmi3pu6q4inWNY11Ynu1XVau0XKJ0romKonkmBErzTdXr2OpyO/dsXbNye6MPRVud93PFNymI64c7K8VdzSastx9dV/d0VTYu1/lV264jWOPknTSYZbuHuY/GxmWTXaYv11b5XZ3yKa7dfl8M8ca8jdxVruWqczppwtvMabdW/4aLtM6TMbnfIiJ4p4/8KiIN7DWLddmmqqnWZ18s8rRbVnFb3bijca6eXVEbPctnmdcnctnmdcsPd36v3ju79X7wmmbuWzzOuTuWzzOuWHu79X7x3d+r94NM3ctnmdcnctnmdcsPd36v3ju79X7waZu5bPM65O5bPM65Ye7v1fvHd36v3g0zdy2eZ1ydy2eZ1yw93fq/eO7v1fvBpm7ls8zrk7ls8zrlh7u/V+8d3fq/eDTN3LZ5nXJ3LZ5nXLD3d+r947u/V+8GmbuWzzOuTuWzzOuWHu79X7x3d+r94NM3ctnmdcnctnmdcsPd36v3ju79X7wPuJsW6LNVVNOkxp5Z5Wi2r2K3y3NG4018urVFaeb/J136v6wjaSZv8nXfq/rCNo0tXat8Tc69ev4cKqW3tRWe6NjGaWZncxcvVUa8mtEQguzLYze2NY63ZrvRfsXqZqt3Ip3OunhiY5Y4vtX4EeAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2sfHjLfa/CrRZKdrHx4y32vwqyDJtp+OmL9S39yESS3bT8dMX6lv7kIkt8iUYC/GIwtFcT+VEaVfS2EXwmKuYW5urc6xPhpnwS7FrNsPXT+XNVueSY1/oI6A0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PYd8sJ533Z7Abg0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PYd8sJ533Z7Abg0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PYd8sJ533Z7Abg0++WE877s9h3ywnnfdnsBuDT75YTzvuz2HfLCed92ewG4NPvlhPO+7PY18Tm9ummYsUzVVyzxQBnt+KbNNmJ/KqnWfocN7u3K7tya7k61T4ZeEVcG0v8AIWO/1P8AbS0Nu7/Jfbf7bf2l/kLHf6n+2lobd3+S+2/22vhPlVwDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBk20/HTF+pb+5CJJbtp+OmL9S39yESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAW7tO3KbOx3MblydKKL81VTyRFEIptlbJcLsgx2FowG6qw2GpqiLlVO53dVWmukTx6cUeFI9q3xNzr16/hwqpr4QAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnax8eMt9r8KtFkp2sfHjLfa/CrIMm2n46Yv1Lf3IRJLdtPx0xfqW/uQiS3yACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dq3xNzr16/hwqpau1b4m5169fw4VUt8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau1b4m5169fw4VUt/aappr2P5hTXTFVNWI0mJjWJjcQje2vkWCyjHYK/l9qmxRiqa91bo4qYqp044jya7rwfM18IggDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBk20/HTF+pb+5CJJbtp+OmL9S39yESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAXBtL/IWO/1P9tLQ27v8l9t/tt/aX+Qsd/qf7aWht3f5L7b/ba+E+VXAMqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABcG0v8hY7/U/20tDbu/yX23+239pf5Cx3+p/tpaG3d/kvtv8Aba+E+VXAMqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABcG0v8hY7/AFP9tLQ27v8AJfbf7bc2nrtNnY5mV25ruKL81VaRrxRRGqH7Ymyezsjx2HjB0V04XDU1RRNyNKqpq01nTyeCGvhPlEgGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2sfHjLfa/CrRZKdrHx4y32vwqyDJtp+OmL9S39yESS3bT8dMX6lv7kIkt8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXat8Tc69ev4cKqWrtW+JudevX8OFVL8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTtY+PGW+1+FWiyU7WPjxlvtfhVkGTbT8dMX6lv7kIklu2n46Yv1Lf3IRJb5ABAAAAAAAAAAAAAAAAAAAAAAAAAABau1b4m5169fw4VUtXat8Tc69ev4cKqW+AAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2sfHjLfa/CrRZKdrHx4y32vwqyDJtp+OmL9S39yESS3bT8dMX6lv7kIkt8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXat8Tc69ev4cKqWrtW+JudevX8OFVLfAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBk20/HTF+pb+5CJJbtp+OmL9S39yESW+QAQAAAAAAAAAAAAAAAAAAAAAAAAAAWrtW+JudevX8OFVLV2rfE3OvXr+HCqlvgAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdrHx4y32vwq0WSnax8eMt9r8Ksg7+z3Jacdspxd6b00TpRGkU6/mQj3Bij0mrofinGyr5fxX7n3IcpaztHODFHpNXQ/E4MUek1dD8UjBN1HODFv0qroficGbfpVXQ/FPso2L5lmdmL1qm3atT/hru1aRV9EREy6HATM/SMF06v+Ltj6blym8cbZ/4xebCXVqseDNv0qroficGbfpVXQ/FZ3ATM/SMF06v+JwEzP0jBdOr/i1/Jz/S/ie/h9orHgzb9Kq6H4nBm36VV0PxWdwEzP0jBdOr/icBMz9IwXTq/wCJ/Jz/AEv4e/h9orHgzb9Kq6H4nBm36VV0PxWdwEzP0jBdOr/icBMz9IwXTq/4n8nP9L+Hv4faKx4M2/Squh+JwYt+k19D8VncBMz9IwXTq/4sOJ2FZrZtTXROHvTH5luudZ+2IP5Ob6X8X38PtFb8GbfpVXQ/E4MW/Squh+KSV0VW66qK6ZpqpnSaZjSYl1sm2O5hm1G+Yeimiz4N8uTuaZ+jyy5TjyyvTJ3buck3agvBm36VV0PxODNv0qrofis7gJmfn8F06v8AicBMz8/gunV/xdf5Of6X8c/fw+0VjwYt+k19D8Tgxb9Jr6H4rNnYLmcROl7BzPJu6v8AijuY4DE5diZsYy1Nu5HHx8cTHLE+VnP0/LhN5Y2RrHlxyupUU4MW/Squh+JwZt+k1dD8U52M7HM02TY/uTJ8NN65TG6rqmdzTRHLVM+BO42kNkkxE925RHzTduf/ABvLny8eHbOyOsxyy8RRfBij0mroficGKPSauh+K6c12ndlGX4Sq/ajBY3cxMzbwt2qa9PmiqmnX6I41c1UzRVNNdM01ROkxMaTEmHLhyf8AC7MscsfMRzgzR6TV0PxODFHpNXQ/FbGxXay2Q7JMDTjMNbsYXCV8du7iq5oi5HLEREzp8+mju/8AYhsk9Oyf+Nc/+NMufixusspKswzveRRXBij0mroficGKPSauh+Ky9mGwXPNilNNzM7FFeFqq3MYixVu7evJPFEx9cQi7eGeOc3jds2ZY9qjnBij0mrofi+8GKPSauh+KRDTO66+wXCRgNjudYaK5rjczc3Uxp4aJjT3VPLr2M/Jedfsf7a1KFagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBNtlXy/iv3PuQ5Tq7Kvl/FfufchymqwM+X26L2Pw1u7Oluu7TTVPzTMasB4PARF5U0xRTFNMRFMRpER5IEGyfZxRRh6LWZ2blVymNN9t6TuvnmJmON0eG+VczFdCO1+x9P63gy45rKR8Pl4OSZXslAi/DfKuZiuhHacN8q5mK6Edrt/XwfefrHs8n1qUCL8N8q5mK6Edpw3yrmYroR2n9fB95+ns8n1qUCL8N8q5mK6Edpw3yrmYroR2n9fB95+ns8n1qUCL8N8q5mK6EdrDitnWBotT3Nh8RcueSK4imn651n+hfV8E79c/ScHJf8ArUf2wbNu1sgmbURFVy1TXXEc7WY/pELJwlm3h8Las2IiLVFMU06cmimcxxt7MMZdxWJq3V25Os6eCOSISrY9syjB4SjDZjauXabcbmi5b0mrTyRMTp9r43p/WcE9Vlne0vivfy8HJ7MnzFgiL8N8q5mK6Edpw3yrmYroR2vs/wBfB95+vB7PJ9alKI7ZFq3VlFi9VEb7ReimmfLpMTrHVH2MlezjK4p1i3iqp5NxHah2yXPr2d4iiZo3rD2/8FvXX65nleX1vrOCcNnVLt29PwcnXLrS/wDaGwmGsbX9i/Yinf8AEXrlV6Yjj3UVTTET+7ET9axX5d2tNsLEbDq7uGvWJxWWX693XairSqirTTdU+TwRGseXSPAtSjbq2MVUxM2M0pnkmzRr1Vv5d/oel5rzXKS2V+s9Py4dGrdLOfnDbNyzATtx2MNO5ow+MvYacTEcUUzXMRVP1xx/TKaZtt35PawtferAY3EYmY/I36KbdET88xMz9Wn1qKzjNMVm+a4nMsdcmvFX693XVHFpPkiOSIjSI+h0/wA303LjydeU1GfU8uFx1O79nUU00UU0UUxTRTGlNNMaREckPSkdiO3VYs5faw2yXCYmu/bpinunD6Vb5p5aqZmNJ5ZiZ15Eh/7adjHmsy/gU/8AJ4+f0nPjnd42u2HNhcZ3TXZjhcPjdiubYfG001WKsLcmrdeTSmZifqmIn6n46WvtibbVWfZZdyvI8NewuEvxub129MRcrp8tMREzERPl451jiVQ+r/l8HJxS3OaleT1XJjlZMX0B9Z5Eh2M/Jedfsf7a1KLr2M/Jedfsf7a1KFagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBNtlXy/iv3PuQ5Tq7Kvl/Ffufchymqw+001V1RTRE1VTOkREazLejJ8xmNYwd364dXYRZorxeIu1UxNdFMRTM+TXw/0TJZNoq7EYe9hq9xiLVdurkqjR4t267tcUWqKq658FNMazKd7LrNFzJbtyqPy7U0zTPJrMRP9XO2DWaJoxN6YibkTFETyQaVwoybMZjXuS79jTv2bli5NF+3Vbrj82qNJWmj2zazRVltu7NP/UpuREVeXSYniOlENs2bl+5FFm3VcrnwU0xrLc7zZjpr3Hd+xJdhNminL7t6IjfK7k0zPzREcXXKRExFV3bddq5NF2iqiunimmqNJh6w+HvYm5uLFuu5VyUxqlOzm1RveGu7mN81mnX5vC3dh1qijJ6a6adK7ldU1Ty6TpBoRScnzGI1nB3fsaNdNVFU010zTVE6TExpMLVQ/ZzZopxGFvUxpXciqmqeXTTT+pZoR/C4W/iq5pw1mu7MeHcxro2KsnzCmmapwd7SOSnVNNjNqi1k2HmimImuN1VPLLqExFUzExMxVGkx4YlnwuDxOLme5rNy5p4Zpjih2Nmlmi3mlFdFOk3LcTVp5Z1mNUryazRYyvC0W6YiN7pqn55mNZk13EDuZTmFumaqsJe3MeHSnVorWQDZXaos51di3TFMVRFUxHLMcZcRo4bAYrFUzVh8PcuUxxaxTxfa93srx1m3NdzC3aaI8M7nXRY2Gs0YfD27NqIiiimKYhkOk2qltYbL8ZiqN3h8Ncro50Rxfa2c3sW6M/vWaKdzbm7HFHk107VhUUU26KaKKYpppjSIjwRBIqtcRlmNw9ua72Gu00R4atzxQ1FrTETExMaxPkV5GFtRsk7m3Otnujc7n/07rwFiNfD5ZjcRbi5Zw12qifBVueKXzE5fi8LRu8Rh7tujnTTxfasyIiIiIjSI8EPNyim7bqouUxVRVGkxPlhek2qse71MUX7lEeCmqYj7XhhUh2M/Jedfsf7a1KLr2M/Jedfsf7a1KFagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBNtlXy/iv3PuQ5Tq7Kvl/FfufchymqwkOw3F2rGNu2rtUUzdpiKZnwax5OtNVUskX71MRFN25ER5IqlZdImuzDF2reV14eao327NOlOvHERMTr1OdsJxdq3Vfw1yqKa65iqjX87lhF6pmqdapmZ5ZDYtZGtmuLtdx0YWKom9NcVzTHkiInw/aiUYi9EaReuaetLHM6zrPhOoTDYVi7fctzC1VRF2K5riJ/OiYjwfYkyqYnSdY8LJ3Re00365p60kyEl2b4q1XvGHoqiq5RM1VaT/h+aW7sOxdqvLow8VRF23VMzTPhmJnXWEJImYnWJ0nlNi1kL2aYu1fxdixaqiqbMVbqY8kzpxdTgzfvTGk3rkx60sZbsT7Yti7V/KrVuiqN8tRua6fLHH4XYVVTVNNUTTMxMeWHqq/eqjSq7XMT5JqmSZDsbLsVaxWZ0xZqiqm1RuJqjwa6zKV5Di7WLyyxNqqJqooporp8sTEaK5faK6qJ1oqmmeWJ0OruLVmYiJmZ0iPKrzZLireLze5XYndUREUxVHgnRz6712uNK7tdUck1TLwW7FnYDF2sbhbd+zVExVHHHNnklnrrpopmquqKaY45mZ0iFWUV1251oqqpn5p0fa71yuNK7ldUck1TJ1Gm5mmKovZ1exNrWq3vkTHzxGnYsLDYi1ibFN2xXFduqNYmFXPVFyu3/wDjrqp15s6EotK7cos26rl2qKKKY1mqZ0iFdxjaO/vdkxO9b/vnz7nXsaNy7XciIuV1VfTMy8luxalq5Ret03LVcV0VRrFUTrEvGKxFrC2K71+uKKKY1mZVjRduW4mLddVOvNnR8uV13JjfK6qtOWdV6jRdr3y7XXppuqpnR5BhUh2M/Jedfsf7a1KLr2M/Jedfsf7a1KFagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBNtlXy/iv3PuQ5Tq7Kvl/FfufchymqwAIJnlGxzCTgrdzGUTdu3KYqmN1MRTr5OJuV7HMsqomIw80zP50XKtY+2XRwUxODsTE6xNun+jM6aRWeZ4OrA5hdw0zutzMbmeWJ44S7A7GcFbw9MYuib16Y1qndTERPJGjg7KJiNkFydeKNxr9kJ4kncce9sby2u3VTRZqt1T4Kqa6pmPtlCb+EuWswqwmsTci5vcT5JnXiWcgGPn/AMU1f6in+sFgkmF2NZfbs0037dV65px1zXMaz9ESYnY1l9yzVTZt1Wa/JVFczpP0TLti6grGzhLlzMKcHxU3Jub3PzTrpKa2djeW0W6aa7NVyqPDVVXVEz9ko3hZidl0zE8U4qrSf3pT1JBwcdsZwVzD1RhaJs3ojWmd3MxM8k6ojlmDqx2PtYaJ3O6njnkiOOVmIHsYmOENvjjj3en2SWCS0bHMspoiJsVVzH503KtZ+yWnm+xzCdx3LmDpm1dopmqI3UzFXzcaRsOM4sHf183V/RdQV7kmA75Y+mxNU00RG6rmPDER/wDYTKnY7lcUxE4eZmPLNyrj60e2ETEZrc18tmfvUpukhUWz/Y/hrWBuYjBRNuq3G6mmapmKo8vhcXY9lsZnjZouVTTat07qrTwz8ya558kYz9lV/RHNg0/97xWvm4/qWK7fB3K9P/K/zKu1x9kmQ2MLg6sVgoqoiiY3dEzMxpPFrGvGlzmbJpiMjxWvJH3oXSIrsZymjMr1yq/MxYtaaxHhqmfJ1JRweyv0X+ZV2uXsFn/pYz6af/dKUkEM2TZJZwNmnE4TWm3NW5qomddOSYRxOtmMx3lq+e5TogqZAAyqQ7GfkvOv2P8AbWpRdexn5Lzr9j/bWpQrUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnax8eMt9r8KtFkp2sfHjLfa/CrIJtsq+X8V+59yHKdXZV8v4r9z7kOU1WAZcLhruLv02cPRNdyrwRDsRsWzDTw2I/fnsQecr2R4nA4emzXRTet0xpTrOkxHJryNq5stvzRMW8Lbpq8kzVM6fU4+ZZXisuqjumjSmriiqmdYlhwODv46/FrDUTXXprPkiI5Za3Riv3q8Reru3qpquVzrMz5Xdy/ZPicNYptXbVF6KY0iqZ0nT53ngtmHOsdKexzMxy/EZfdijFW9zuv8NUTrE/RJ3Hbv7LL9VuYs4e3brn86at1p9SN111V3Kq6qpmuqdZmfLLYy7AYjMLs28NRupjjqmZ0iPpl1OC2Yctjpz2HejJhNlWJtWaaL9mi9VHFu91uZn6X3FbK8Tds1UWbNFmqeLd67qY+hxcdg7+Bvb1ibc0Vaax5YmPmZMuyzE5jVVGGo1pp/xVVTpEG6NSmuqmuK6apiuJ3UVa8cSkdjZZiKbcU3sPbuVx+dFW51+pgnYtmEeWxP789jj4vDXcJfqs4iiaLkeSU7wdnMNk+JxOHqtWrVNndRpNUTrOnzOJZu12btF21VNNdM6xPI3MtynF5jTVVh6I3uJ0muqdI15G7OxfMIiZ/6M/NFf4Hejat7Lr8URFzC26qvLMVTGv1NTM9kmIxuHqsUW6bNuuNKtJ1mY5NXHxFm5h71Vq/RNFymdJpnyN7LslxmPtzcsUUxb10iqudIn6DdGng8TdweIov2KtzconilIqdl13cxu8JRNXlmK5hp17GMwppmYi1VMeSK+OfthxrlFdq5VRcpmmumdJifDEm7B1s3z/EZjZmzuKbVmfDFM6zV9MudgMZewGJpv4eYiuOKYnjiY5JbuAyLHY2zF21RRTbn/DNdWmv0M13YzmNuiaoptXJj82irjn7V7jdjZdc0jXCUTPrz2ObnGd4jM6It1U027MTruKfLPzy5VUTTVMVRMTHFMT5HWwex7H4qzTdpooopqjWnd1aTMfQm7RqZZmF/LsRvuHmJ1jSqmrwVQ7sbLrmnHhKNfXnsaGJ2OZhYtVXNxRcinjmKKtZ+xxTdg6WcZviMzqpi7FNFqnjpop8GvLPLLnOzY2N5hetxXNFFvXyV1aS8YzY/j8LYqu1UUV0U8dW4q1mI5dDvRyQEEh2M/Jedfsf7a1KLr2M/Jedfsf7a1KFagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7WPjxlvtfhVoslO1j48Zb7X4VZBNtlXy/iv3PuQ5Tq7Kvl/Ffufchymqwk+wamO6MXVpG6immIn657EvQLYtmVrL8ZXGInc2rsRE1c2Y8H1JlGZYGf/AN3Dfxae1rFK09ldMTkWImYjWmaZj5vyoj/3c/YNTHc+Lq045qpjX6nzZVm+GuYCrCYe5TdruTG6mmdYpiJ18P1NHYnmljBV3bOJqiii5MTTXPgiY5T5VNnA2a0xOU0TMRrF2NJ+qXU75YH03Dfxae1G9l2a4fE2KMLha4u6VbquqnjiOSIny+FakdDYVREZVXVERuqrs6z9UO+h+xLNbGGtV4XFVxbiat3RXV4PJrE8ngSXvlgfTcN/Fp7UngcPZzEdzYWdOPdzGv1N7YjEd5LUxERrVVM/PxuHstzOxja7NjDVRXTbmaqq48EzyQ3NiebYa1gu5cTcptVU1TNNVU6RMT858qlKJbOqKYrwVcR+VMVxM/NGnbKRd88Bp/53Dfxae1D9lWZWswxVqjDzurVmJjdcszprp83FC3wkSrY7TFOS4SKY0/J165dFHNjWcYXvfbw+Iu0Wblri/LnSKo+l2JzPAREzONw3FyXae0ngRXZvTEZlZqiIiZtcc8vHKWZXTFGW4WmmNIi1T/RB9k2YW8wzHd2eO1RTuKZ08PH4UlyLOsJcwFq3fvW7N23TFExXVFMTpGmsJ8juIHsvpiM7uTEaTNFMz8/EmFeaYCimapxuH0jkuRM/ZCCZ5jacfmd2/biYt8VNOvhmI8pfBFjUUxRRTRTGlNMaRHJD65WW55g8VhaKrt+3Zu6aV03Kop4/m1bF3NsvtW5rqxliYjyU1xVP2QohmdU08JL1OkbmbtOscuumqwFaY/Gd05pdxdNOkVVxVTE8keD+idYPOsBibFNzum1amY46LlcUzE/Wk8ldFAItURsr3G5jcd1eDyf4kwxGcYCxaqrnFWa9PzbdcVTP1QgcY6rvr3dNMa77vu5+vXQpFljQsZxgL1qK6cXZpifJXXFMx9UvOMzrA4axVcjEWrtURxUW64qmZ+pRXuIiKcTdppjSIrmIj63h9rqmu5VXV4apmZfGKqQ7GfkvOv2P9talF17GfkvOv2P9talErUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnax8eMt9r8KtFkp2sfHjLfa/CrIJtsq+X8V+59yHKdXZV8v4r9z7kOU1WAd3YlgLONxlyvEUxXTaiJiifBMzy/YmcYXDxGkWLWnqQsm0Vc+rQnC4eY0mxamPUhCdleBs4LH0Th6Ypou07rcR4InXyfMWK4o6uxrA28dmcUXo1t0UzXNPLxxGnWndOEw1NMRTh7MRHgiKISTYq8Wj3NY8xa6EIjswy6zhblm/h6ItxcmaaqaeKNeXRbiiNifbHMuw1rK7FybNFdy7TFdVVVMTPH5HU7mseYtdCDpFXC0e5rHmLXQg7mseYtdCDpFXC0e5rHmLXQg7mseYtdCDpFXC0e5rHmLXQg7mseYtdCDpFXC0e5rHmLXQh8qwmGqpmmrD2ZifDE0QdIq8b2e4a3g82xFizxW6ZiYjk1iJ060v2PZZhrOW2Lk2qK7t2iK6q6qdZ4410hNd1QIWj3NY8xa6ENfG5XhMXYqt3LNumZjiqppiJpnlhelFbBVE01TTPknRNdiuWYeMut4m5bouXbus61RruY100j7E0qFC0e5rHmLXQhixGX4TEWpt3cPammeSmImPrXpRWYzY6x3Njb9jXWLdc0xPLpLCyqQ7GfkvOv2P8AbWpRdexn5Lzr9j/bWpQrUAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnax8eMt9r8KtFkp2sfHjLfa/CrIJtsq+X8V+59yHKdXZV8v4r9z7kOU1WEn2DVRGIxdMzG6mmmYj657UvVbhsRdw16m7Yrmi5T4Jh1OEmZ+ep/hwsqJ8huziqJx2GpifyotzMx9bT4SZn56n+HDlYi/dxF6q7frmu5V4apW3Y7ewuumnN64mdJqtTEfPOsT/wCycKrtXK7Vym5bqmmumdYqidJh1Y2R5nERG/0z+5HYkuhP0X2dV07zhKNfypqqnT5tHJ4SZn56n+HDm4vFXsZem7iLk3K58s+RbkLCyOYnJ8HpOv8A0obyuMDm+NwNqbWHvaW9ddzMRMR9GrZ4SZn56n+HBMhPhAeEmZ+ep/hwcJMz89T/AA4OqGk+EB4SZn56n+HBwkzPz1P8ODqhpPhAeEmZ+ep/hwcJMz89T/Dg6oaT4QHhJmfnqf4cPk7I8zmJjf6Y+iinsOqGnnZRMTn2K0nX/D92E1yaqKspwc0zExvNEfXEaK2rrquV1V11TVVVOszM8cy3cDm2NwNuaMNemm3PHuZiJiPo1SXuqyCZiImZnSI8MygPCTM/PU/w4YcXneYYqzVau3/yKvDFNMRr9i9UTTnXJiblcx4JmZWDsYqpqyPDbmddImJ+adZV628BmWLwG67luzTFXhpmImJ+qWZe6rLEB4SZn56n+HDHfz/Mb1qq3Vf0pq4p3NMRP2tdUTTWzium5muMqpnWmbtWk8vG1AZqpDsZ+S86/Y/21qUXXsZ+S86/Y/21qUStQARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ9rSqKdm+WTVOka3I+ubdUIw28oxteW5phcbbjWqxdpuacuk8cfX4AWpsq+X8V+59yHKdzZPTbxU4bNcJO7wuLtxMVRy6eX6v6S4bVYoAgAAAAAAAA6+E2OY7FYa3ft71FFyN1G6q49PsZuCuYctjpz2OTax2Ls24os4q/bojwU03JiIe++eO9NxP8WrtaV1OCuYc6x0p7DgrmHOsdKexy++WP8ATcV/Fq7Tvlj/AE3Ffxau1OyOpwVzDnWOlPYcFcw51jpT2OX3yx/puK/i1dp3yx/puK/i1dp2HU4K5hzrHTnscXEWa8PfuWbmkV0VTTVpywz98sd6biv4tXa1KpmqZmqZmZ45mfKAAgAAAAAAAA7+x2uLeT57XVxU02NZ6NallqZ9i4yXYPfpqnc4rNJ3u3T5d78s/ZM9KFVlagAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJhsL2V0ZZZqyzNqJv5TdnXSOOqzM+WPm+b64+ea05HTjrPdOSYyzjMNV4Jir8qPmn5/sU02MHjMTgru+YPEXrFznWq5pnqXaWLZ4OZp6NH8SntfODuaejfzKe1XsbLs/iIiM1xXFy1anC/P/0riekqaWFwdzT0b+ZT2nB3NPRv5lPar3hfn/6VxPSOF+f/AKVxPSDSwuDuaejfzKe04O5p6N/Mp7Ve8L8//SuJ6Rwvz/8ASuJ6QaWFwdzT0b+ZT2nB3NPRv5lPar3hfn/6VxPSOF+f/pXE9INLC4O5p6N/Mp7Tg7mno38yntV7wvz/APSuJ6Rwvz/9K4npBpYXB3NPRv5lPacHc09G/mU9qveF+f8A6VxPSOF+f/pXE9INLC4O5p6N/Mp7Tg7mno38yntV7wvz/wDSuJ6Rwvz/APSuJ6QaWFwdzT0b+ZT2nB3NPRv5lPar3hfn/wClcT0jhfn/AOlcT0g0sLg7mno38yntODuaejfzKe1XvC/P/wBK4npHC/P/ANK4npBpYXB3NPRv5lPacHc09G/mU9qveF+f/pXE9I4X5/8ApXE9INLC4O5p6N/Mp7Tg7mno38yntV7wvz/9K4npHC/P/wBK4npBpYXB3NPRv5lPacHc09G/mU9qveF+f/pXE9I4X5/+lcT0g0sLg7mno38yntODuaejfzKe1XvC/P8A9K4npHC/P/0riekGlh07G8zmePD00/Tcp7WPH05Zsco33O8RRexERrRg7M61VT5NeSP/ALx+BXl/ZTnt+3NFzNcXuZ8MU3Jp1+xxqqpqqmqqZmqeOZmeOU2unT2RZ1ic+zKvF4uYji3Nu3T/AIbdPkphywRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWbFyPDT1w871XydbPVVMzOsz9rHrPLKbXTxvdXIbirke5meLjfNZ5ZEeNxVyG4q5HvWeWTWeUXTxuKuQ3FXI96zyms8oPG4q5DcVcj3rPKazyg8birkNxVyPes8prPKDxuKuR9i1XPgjretZ5XuiZ4+ORGPebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGHebnN6zebnN62bWeWTWeWQYd5uc3rN5uc3rZtZ5ZNZ5ZBh3m5zes3m5zetm1nlk1nlkGCq3XTGtUaPOks16ZmmNZ8rFqsHzcybmX3U1VHzcybmX3U1AimZmIjwy9bzc5vW+U/4o+ln1nllKrDvNzm9ZvNzm9bNrPLJrPLKDDvNzm9ZvNzm9bNrPLJrPLIMO83Ob1m83Ob1s2s8sms8sgw7zc5vWbzc5vWzazyyazyyDDvNzm9ZvNzm9bNrPLJrPLIMO83Ob1m83Ob1s2s8sms8sgw7zc5vWbzc5vWzazyyazyyDDvNzm9ZvNzm9bNrPLJrPLIMO83Ob1m83Ob1s2s8sms8sgw7zc5vW+7xc5vWybqeWXrdTyyDDvFzm9ZvFzm9bNup5Zfd1PLIMHc93m9cPvc13mdcM8VTyy+xVPLP2gwRhL8+CjrgbluqeWQXT//Z","e":1},{"id":"fr_6","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAQMEBQII/8QAThABAAEBBAIMCQoEBQMEAwAAAAECAwQFEQfRBhITFBU2UVJUoaKzFiExQVNyg5GSIjVVYWNxc6OywjJFdIFCZaSxwyOT4iQ0Q2KC8PH/xAAaAQEBAQEBAQEAAAAAAAAAAAAAAQIDBAYF/8QAJxEBAAICAgEBCQEBAAAAAAAAAAERAgMxQQQSBRQVITIzNFFSoZH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAOnD7jecRvdndblY121vXOVNFMdf1R9axcN0b3W6XaLzskxGmypjx1UWdUUU0/VNdWoFYi0q8P0eWU7Su9RVMeeLW0qz/ALx4nzvPR10mfjtdS0lqvFobz0ddJn47XUbz0ddJn47XUUWq8WhvPR10mfjtdRvPR10mfjtdRRarxaG89HXSZ+O11G89HXSZ+O11FFqvFobz0ddJn47XUbz0ddJn47XUUWq8WhvPR10mfjtdRvPR10mfjtdRRarxaG89HXSZ+O11G89HXSZ+O11FFqvFobz0ddJn47XUbz0ddJn47XUUWq8WhvPR10mfjtdRvPR10mfjtdRRarxaG89HXSZ+O11G89HXSZ+O11FFqvFobz0ddJn47XUbz0ddJn47XUUWq8WhvPR10mfjtdRvPR10mfjtdRRarxaG89HXSZ+O11G89HXSZ+O11FFqvFqWeB7AsQysrrf4srSfFE7vNM9t42ybR1fcNsarzhtpv67UxnNMU5WlMfd/i/t7iltBAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmImZiIiZmfJEMPe2CXSm+7LsMsa4iad13SYnz7WJq/aCwrhY3TR9sUi+Xmyi0xW8xETHnmqfHFGfmpjz/8A8VfjWMX7Gb3N4xC3qta/8NP+GiOSmPNCVaX79Xb7JbO67adzu1jERT/9qvHM+7a+5BVn9IAIoAAAAAAAAAAAAAAAAAAAAAAAAluwvZje8CvNnY3iuu3w2qcqrKqc5s45aeT7vJPWiQCxdKGx+woossewuKZu14y3WKP4c58cVx9U+f68uVXS2diFfDGi/ErnbztpsKbWzoz+qIrp90z1KmWQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqyBs0p8dL36ln+iESS3Snx0vfqWf6IRJZ5AGy72NpeLWmzsqZqqlBrEhu2BWcUxN4tKqquSnxQ6OBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iOBbnza/iBFhKeBbnza/iYqwS6TGURaR9cVAi49XEMItLtTNpZTulnHl8Xjh5QAALV0W8Tca9evu4VUtXRbxNxr16+7hVSzwACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvte6rRZKdGPHjDfa91WQNmlPjpe/Us/0QiSW6U+Ol79Sz/RCJLPIJRgF2ixucWsx8u08ef1eZF0yw2qKrhd5j0cR7oQdt3sa7xeLOwsadta2lUUUxnlnMzlHlexi+xXFsJulper1ZXau72dpFla2l1vljeYsq58lNe5V1bWfFP8WXkcex3jBhn9VZfrhO7PGsLnZhVhWFYNXd6b/i1jZ3y0vV63xulNN4ira007SmKYmqImc8/Jln5QV9drjb3m53u9WW57jdaaarXbWtNNWVVUUxlTM51eOfNE5edyrI4S3SjZdfK7lh0Thdpd6brZ0XSzpos6ab1Hycoj5WceKZnOZjPOZejOBYbdcWuF2uc3OijZFfqL7c5trKm33G5007emz2k5RNVVdU2e1nLObHLxRIKtuV0vF+vljdbnY2lvebaqKLOys4zqrqnyREeeWhfWEUzcMZ2F4reLlaXC+WmNTc66r9cLC72k2NUUT46KaYiPHM7WqYiqM5ynyPLwa5XyrCKbxa4Peq8drv1dOJWN3wK729VnlTRudFpZVRTFlRNM1T4oiKpmrOfFGQVNg+GXvF79TdLhZxaW001Vztq6aKaaaYmZqqqqmKaaYiJmZmYhtx3BL7glvZWV+pssrajdLK1sLai2srWnOYzpromaZ8cTHinxTCSYRTbRs9xaz2L3S71UZ3iiyw681xaRb2XjibCmaZnb1TTnltas5y8UzOWctwjY7ZXO/WtvdsApueK3jB7zaxg+IU7ruNrTaUU2ddNNp8rKrOdrTXnMzEx44kFOC3LjhN7vU4LbY1cLK57I435aU3anDbLd7zYUWdM0f+nmIpmvbzXFMzTnMRM5TtYz7b9hdFrVdb1YYVR4S1YVa13S6Xm5WVFpa2tNvRGdVjTG1qtIsZtJpiac5ypnKZiMwpYW1sfuN7tb3fbXZBg9Fhsgpw6m0udhd8Psare0o3XKq0m7TMUzaRT4ozpidrnVETMbZFNJdFjZ4tcopuFvcb5N0pm9U21hZ3equvbVZVzY2czFnM07XOJymcttl8rxhEAAAAAAAAAAESxm7Rdr7VTRGVFUbamORLUd2TVRN6sqfPFGc+8HjAAtXRbxNxr16+7hVS1dFvE3GvXr7uFVLPAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VZA2aU+Ol79Sz/RCJJbpT46Xv1LP9EIks8g9vAL/AE2cb2tpyiZzomfJ9zxBBOxErtid6u9MU02m2pjzVxm6OHb1zLH4Z1gkojXDt65lj8M6zh29cyx+GdYJPXXVaVTVaVTVVPlmZzmSiuqjbbSqqnbRtZynLOORGOHb1zLH4Z1nDt65lj8M6wSWPFPiejhmL3nDoxDcootJvt2qutrNpnMxTVNMzMePy/Jjy5oTw7euZY/DOs4dvXMsfhnWCTzaVzXt5rqmvy7aZ8bG2qmrbTM7bPPPPx5ozw7euZY/DOs4dvXMsfhnWCT7evdNvtqtvnnts/Hny5sVTNUzNUzMz45mUZ4dvXMsfhnWcO3rmWPwzrBJRGuHb1zLH4Z1nDt65lj8M6wSURrh29cyx+GdZw7euZY/DOsElEa4dvXMsfhnWcO3rmWPwzrBJRGuHb1zLH4Z1nDt65lj8M6wSURrh29cyx+GdbFWOXqYyiLKn64pnWCQ3i3s7vZTaWtUU0x1ohfLxVerzXa1f4p8UckPm8Xi1vFe2trSqufr8zUAAC1dFvE3GvXr7uFVLV0W8Tca9evu4VUs8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb7Xuq0WSnRjx4w32vdVkDZpT46Xv1LP8ARCJJbpT46Xv1LP8ARCJLPIAIAAAAAAAAAAAAAAAAAAAAAAAAAALV0W8Tca9evu4VUtXRbxNxr16+7hVSzwACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvte6rRZKdGPHjDfa91WQNmlPjpe/Us/0QiSW6U+Ol79Sz/RCJLPI6LpdbS9Wm1s4yiPLVPkh7FlhN3oj5e2tJ+ucv9nRcLCLvdaKIj5UxnV97oEcfBt09F2p1nBt09F2p1u6imquqKaKZqqnyREZzLExMTMTGUwDi4Nunou1Os4Nunou1Ot2AOPg26ei7U6zg26ei7U63YA4+Dbp6LtTrODbp6LtTrdgDj4Nunou1Os4Nunou1Ot2AOPg26ei7U6zg26ei7U63YA4+Dbp6LtTrODbp6LtTrdgDj4Nunou1Os4Nunou1Ot2AOPg26ei7U6zg26ei7U63YA4+Dbp6LtTrODbp6LtTrdgDj4Nunou1Os4Nunou1Ot2AOPg26ei7U63PecIs6qZmwqmmrknxw9QBErWzqsrSaLSJiqPLD4e5jthFVjTbRHyqZyn7nhoq1dFvE3GvXr7uFVLV0W8Tca9evu4VUs8AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb7Xuq0WSnRjx4w32vdVkDZpT46Xv1LP9EIklulPjpe/Us/0QiSzyJgAIlkzb0X644ZhddjcYt7Ciqq1inKqqZpz8dXl+7Jy2lva3u7YrY4jNjeba6UfIt4pjbZxXFP8Xnjx+culdd+puVvcbSzoxS6URZxZ11RG6Ux/DNOfiziPFl9TVfq6bhcLxd67SztL/fK4qt9zmJps6YnPa5x4s5ny5cgPCd12sLOuxpqqpzmc/PPK4XVY3rc7OKNpnl58xHTvWx5nXJvWx5nXLTv77PtG/vs+0JTdvWx5nXJvWx5nXLTv77PtG/vs+0FN29bHmdcm9bHmdctO/vs+0b++z7QU3b1seZ1yb1seZ1y07++z7Rv77PtBTdvWx5nXJvWx5nXLTv77PtG/vs+0FN29bHmdcm9bHmdctO/vs+0b++z7QU3b1seZ1yb1seZ1y07++z7Rv77PtBTdvWx5nXJvWx5nXLTv77PtG/vs+0FN29bHmdcm9bHmdctO/fs+0b++z7SqzebCzosaqqacpjLzzyuF1W163SzmjaZZ+fNyoOPF/m61/t/vCNpJi/zda/2/3hG0aWrot4m4169fdwqpbeiKx3xsYxSxmdrFpbVUZ8mdEQguzLYzbbGr9Z2NdtFvYW1M1WdpFO1zy8sTHLHi969CPAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VZA2aU+Ol79Sz/RCJJbpT46Xv1LP9EIks8iUXC3i8XWiuJ+VEZVfe6EXul6tLrabaznOJ8tM+SXsWWLXeun5c1Wc8kxn/sI9AcfCV09L2Z1HCV09L2Z1A7Bx8JXT0vZnUcJXT0vZnUDsHHwldPS9mdRwldPS9mdQOwcfCV09L2Z1HCV09L2Z1A7Bx8JXT0vZnUcJXT0vZnUDsHHwldPS9mdRwldPS9mdQOwcfCV09L2Z1HCV09L2Z1A7Bx8JXT0vZnUcJXT0vZnUDsHHwldPS9mdRwldPS9mdQOwcfCV09L2Z1HCV09L2Z1A7Bx8JXT0vZnUcJXT0vZnUDsHHwldPS9mdTnvOL2dNMxYUzVVyzGUAY7bxTY02MT8qqc5+54b7tbSq1tJrtJzqnyy+EVcGhf5iv39T+2HBpu/kvtv+N36F/mK/f1P7YcGm7+S+2/42uk7VcAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvte6rRZKdGPHjDfa91WQNmlPjpe/Us/0QiSW6U+Ol79Sz/RCJLPIAIAAAAAAAAAAAAAAAAAAAAAAAAAALd0O2lNjsdxG0tJyoot5qqnkiKIzRTSVsluuyC/XWi4baq7XamqItKqdrt6qss8onx5eKPKkei3ibjXr193CqmukAGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqyBs0p8dL36ln+iESS3Snx0vfqWf6IRJZ5ABAAAAAAAAAAAAAAAAAAAAAAAAAABaui3ibjXr193Cqlq6LeJuNevX3cKqWeAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqyBs0p8dL36ln+iESS3Snx0vfqWf6IRJZ5ABAAAAAAAAAAAAAAAAAAAAAAAAAABaui3ibjXr193Cqlv6Gqaa9j+IU10xVTVeMpiYziY2kI3pXwK5YRfrlb4fZU2FF6pr21nR4qYqpy8cR5s9t5Pqa6RBAGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqyBs0p8dL36ln+iESS3Snx0vfqWf6IRJZ5ABAAAAAAAAAAAAAAAAAAAAAAAAAABcGhf5iv39T+2lwabv5L7b/jd+hf5iv39T+2lwabv5L7b/ja6TtVwDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VZA2aU+Ol79Sz/RCJJbpT46Xv1LP9EIks8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAuDQv8xX7+p/bS4NN38l9t/wAbv0L/ADFfv6n9tLg03fyX23/G10nargGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqyBs0p8dL36ln+iESS3Snx0vfqWf6IRJZ5ABAAAAAAAAAAAAAAAAAAAAAAAAAABcGhf5iv39T+2lwabv5L7b/jdmh61psdjmJWtpntKLeaqsoz8UURmiGkTZPY7I79d4udFdN1u1NUUTaRlVVNWWc5ebyQ10naIgMqAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb7Xuq0WSnRjx4w32vdVkDZpT46Xv1LP9EIklulPjpe/Us/0QiSzyACAAAAAAAAAAAAAAAAAAAAAAAAAAC1dFvE3GvXr7uFVLV0W8Tca9evu4VUvQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VZA2aU+Ol79Sz/RCJJbpT46Xv1LP9EIks8gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXRbxNxr16+7hVS1dFvE3GvXr7uFVLPAAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VZA2aU+Ol79Sz/RCJJhpOs67bZxerOypmquqmziIjz/Ihy3HY3TtYqvlpM1cyjyR/dZ5EZE3jAsPiP/b5/wD51azgPDuj9urWUloQJvwHh3R+3VrOA8O6P26taFoQJvwHh3R+3VrOA8O6P26tYWhAm/AeHdH7dWs4Dw7o/bq1haECb8B4d0ft1azgPDuj9urWFoQJvwHh3R+3VrOA8O6P26tYWhAm/AeHdH7dWs4Dw7o/bq1haECb8B4d0ft1azgPDuj9urWFoQJvwHh3R+3VrOA8O6P26tYWhAm/AeHdH7dWs4Dw7o/bq1haECb8B4d0ft1azgPDuj9urWFoQJvwHh3R+3VrOA8O6P26tYWhAm/AeHdH7dWs4Dw7o/bq1haECZW+x+5WlOVnTXZTy01TP+6P4phNvcPlT/1LGf8AHEeT748wWsPRbxNxr16+7hVS1dFvE3GvXr7uFVLPCgCAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvte6rRZKdGPHjDfa91WQJbsjsbGvZRf71TlVXVtbPPk2tMRMe+Jcb6tK5tLSuuqc6qpmqZ+uXyrAAAAAAAAAAAAAAAAAAAAAAAAAAA+bSim0oqorpiqmqMpifO+gHr7A7nvLY3j1l/g29dVMzyTZwp5dmxmqeCMap80WOfZq1KTJ4agARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPHjDfa91WiyU6MePGG+17qsEgZYZVgAAAAAAAAAAAAAAAAAAAAAAAAAAABIdjPzXjX4P7a1KLr2M/NeNfg/trUoS1AAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VYJAywyrAAAAAAAAAAAAAAAAAAAAAAAAAAAACQ7GfmvGvwf21qUXXsZ+a8a/B/bWpQlqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqwSBlhlWAAAAAAAAAAAGaKZrqimiJqqqnKIjyzIPllNsP2J3O53Om9Y/eNzz/8AjiuKYp+qZ88/d1uijDNieIVRYXS2iztp/h2tpVEzP1bfxS9+Hs7blj6pqL4vt5svJwiaj5oAy9fZHgVvgtvEVzul3r/gtYjLP6p5JeQ8m3Vlqy9OcVLvjnGcXiAObQAAAAAAAAACQ7GfmvGvwf21qUXXsZ+a8a/B/bWpQlqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqwSBlhlWAAAAAAAAAAB7uwnesY5Ta321srKixomumbWqKYmrxRHl8/jz/ALPMw7D71iV43C5WU2lplnOWUREcszL1fBDGejUf92nW9GjVsnKM8cZmIc9meMRUzTTstxOrEsZtpptIru9lVNFltZzpyjyzH3z5/ueL5PIkEbD8Z6NR/wB2nWz4IYz0ej/u063ffr8jdsnOcJ/5Lnrz1YYxj6oe/dLaca2BXrfU7e1u1NXy58udEbaJ+/LxK/WVgOD3257FsSuV4s6abxbbptKYqic86IiPH96H3vYxi10u9dta3bOzojOra1xVMRy5RL0eTp27NGGWWM+qLty1bMMdmURPyeMA/Ie0AAAAAAAAABIdjPzXjX4P7a1KLr2M/NeNfg/trUoS1AAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VYJAywyrAAAAAAAAAACcaMI8eJT5/8ApfuTpBtGP8z9l+9OX13sn8aH4vm/dkHBjmKWOEXCq828TV49rRRHlqq5HgYHszov1/ou16u8WO61bWiumrOM/NE63r2+Tq05RjnNTLhhqzziZxhLjLPxT44GXafnDHai4ZYhl8Hs+qX0WPEADDQAAAAAAACQ7GfmvGvwf21qUXXsZ+a8a/B/bWpQlqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN9r3VaLJTox48Yb7XuqwSBlhlWAAAAAAAAAAE50Y/wAz9l+9OUG0Y/zP2X705fXeyvxofieb92Xi7LcIrxjDIsrCqItrOvb0RPiirxTGXWieAbE8QjE7G1vtlFhY2NcVzM1RM1ZTnlGU9axmXXyfA1+RnGefTOryctWM44gwy9lVFQ4cyouGWIZfB7Pql9FjxAAw0AAAAAAAAkOxn5rxr8H9talF17GfmvGvwf21qUJagARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPHjDfa91WiyU6MePGG+17qsEgZYZVgAAAAAAAAAB62xzG7bBLzXaWVEWtlaREV2czlnl5JieXy+9I/D//ACz/AFH/AIoMPXp87fpx9OGVQ47PH17JvKE58Pv8s/1H/ieH3+Wf6j/xQYdfinlf1/kOfuer9Jz4ff5b/qP/ABab7s7trW7V2d2uVNja1RlFpNrttr9eWUeNDA+KeT/X+Qvumr9MMg8Ezc3L0ACKAAAAAAAAkOxn5rxr8H9talF17GfmvGvwf21qUJagARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPHjDfa91WiyU6MePGG+17qsEgZYZVgAAAAAAAAAAAAAAAAAAAAAAAAAAABIdjPzXjX4P7a1KLr2M/NeNfg/trUoS1AAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG+17qtFkp0Y8eMN9r3VYJAywyrAAAAAAAAAAAAAAAAAAAAAAAAAAAACQ7GfmvGvwf21qUXXsZ+a8a/B/bWpQlqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn0aVRTs3wyapyjO0j+82dUIw68IvteG4pdb7ZxnVYWtNply5T44/v5AWDa0TZ2tdFUZVUzMT975exsgu9nbTZYpcp29zvdMWkVR5pmPJP/wC8rx1YAAAAAAAAAAAAAAAAAAAAAAAAAAAZopqrrimimaqqpyiIjOZkEg2Pf9LA8btq/FZ7jPj+6mqZ/wB1KLi2Z3inY5sIm5baN+X7OiYj6/45+6Iyp/vCnSWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABMtg+y6MIoqw7FKJt8KtZ8mWc2Uz54+r6v7x9c44CsMRsd9YFfbG8XeryRNXk+rPl+qclKui53y83K13W53i2sLTnWVc0z1LaTC2J2O4pE5b2z+60p1seD2KdF/Mo1q+jZdj8RERit6/vVmeF+yD6VvPvgtKWD4PYp0X8yjWeD2KdF/Mo1q+8L9kH0reffB4X7IPpW8++Cylg+D2KdF/Mo1ng9inRfzKNavvC/ZB9K3n3weF+yD6VvPvgspYPg9inRfzKNZ4PYp0X8yjWr7wv2QfSt598Hhfsg+lbz74LKWD4PYp0X8yjWeD2KdF/Mo1q+8L9kH0reffB4X7IPpW8++Cylg+D2KdF/Mo1ng9inRfzKNavvC/ZB9K3n3weF+yD6VvPvgspYPg9inRfzKNZ4PYp0X8yjWr7wv2QfSt598Hhfsg+lbz74LKWD4PYp0X8yjWeD2KdF/Mo1q+8L9kH0reffB4X7IPpW8++Cylg+D2KdF/Mo1ng9inRfzKNavvC/ZB9K3n3weF+yD6VvPvgspYPg9inRfzKNZ4PYp0X8yjWr7wv2QfSt598Hhfsg+lbz74LKWD4PYp0X8yjWeD2KdF/Mo1q+8L9kH0reffB4X7IPpW8++Cylg+D2KdF/Mo1ng9inRfzKNavvC/ZB9K3n3weF+yD6VvPvgspYPg9inRfzKNZ4PYp0X8yjWr7wv2QfSt598Hhfsg+lbz74LKWNYbGcStKsq6LOxjlrrif9s3Ve7zguw6ym2vtvF4xDL5FnTlt/7R/hj65+v7lV2+ynHbezmi0xW97WfLFNpNOfueNVVNVU1VTM1T45mZzmSynp7I8bvWPYnXfL5MRM/Jos48lnT5oh5YI0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2zYWkeWnrh87lXydbfNUzPjmfe15zyylrT43OrkNpVyPuZnxeNjOeWRHxtKuQ2lXI+855ZM55RafG0q5DaVcj7znlM55QfG0q5DaVcj7znlM55QfG0q5DaVcj7znlM55QfG0q5GYsq58kdb6znlfdEz4/HIjXuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDTuNpzes3G05vW3ZzyyZzyyDRVZ10xnVGT5ylutpmaYznztWawMbWTayzmZqjG1k2ss5mYEUzMxEeWX1uNpzetin+KPvb855ZSVadxtOb1m42nN627OeWTOeWUGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9ZuNpzetuznlkznlkGncbTm9bO4WnN62zbTyy+ttPLINO4WnN6zcLTm9bdtp5ZZ208sg0b3teb1wzva15nXDfFU8ssxVPLPvBoi6W8+SjrgdlnVPLILT/2Q==","e":1},{"id":"fr_7","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAQMEBQII/8QAThABAAEBBAINBwoDBwMEAwAAAAECAwQFEQfRBhITFBU2UVJUkqGisxYhMUFTcoMiNVVhY3Fzk7LCRYGRMmV0pLHBwyNC4iQzQ2KC8PH/xAAaAQEBAQEBAQEAAAAAAAAAAAAAAQIDBAYF/8QAKREBAAICAgEBCAIDAAAAAAAAAAERAgMEMUESBRQVITIzNFFSoXGBkf/aAAwDAQACEQMRAD8A/KgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA6cPuN5xG92d1uVjXbW9c5U0Ux2/VH1rGw3RvdLpdovOyTEabKmPPVRZ1RRTT9U11agVgLSrw/R5ZTtar1EzHri1tKs/5x5nzvPR10meva6loVeLQ3no66TPXtdRvPR10meva6iktV4tDeejrpM9e11G89HXSZ69rqKLVeLQ3no66TPXtdRvPR10meva6ii1Xi0N56Oukz17XUbz0ddJnr2uootV4tDeejrpM9e11G89HXSZ69rqKLVeLQ3no66TPXtdRvPR10meva6ii1Xi0N56Oukz17XUbz0ddJnr2uootV4tDeejrpM9e11G89HXSZ69rqKLVeLQ3no66TPXtdRvPR10meva6ii1Xi0N56Oukz17XUbz0ddJnr2uootV4tDeejrpM9e11G89HXSZ69rqKLVeLQ3no66TPXtdRvPR10meva6ii1Xi1LLA9gWIZWV1v+5Wk+id3mme/Dxdk2ju/YbY1XnDbTf12pjOaYpytKY+7/ALv5f0KLQUBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYiZmIiJmZ9EQw97YJdKb7suwyxriJp3XdJifXtYmr9oLCuFjdNH2xWL5ebKLTFbzERNPrmqfPtPqpj1//AMVfjWMX7Gb3N4xC3qta/wDtp9FNEclMeqEq0v36u32S0XXbTuV2sYyp/wDtV55n+m1/ogqygAigAAAAAAAAAAAAAAAAAAAAAAACW7C9mN7wK82djeK67fDapyqsqpzmzjlp5Pu9EokAsXShsesKKLLHsL2s3a8zG6xR/Zzq88Vx9/r+vLlV0tnYhXwxowxK5287abCm1s6M/qpiun+kz2KmWQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN+L4VaLJTox48Yb8XwqwbNKfHS9+5Z/ohEkt0p8dL37ln+iESWewBsu9jaXi1izsqZqqlBrEhu2BWcUxN4tKqquSnzQ6OBbnza+sCLCU8C3Pm19Y4FufNr6wIsJTwLc+bX1jgW582vrAiwlPAtz5tfWOBbnza+sCLCU8C3Pm19Y4FufNr6wIsJTwLc+bX1jgW582vrAiwlPAtz5tfWOBbnza+sCLCU8C3Pm19Y4FufNr6wIsJTwLc+bX1jgW582vrAiwlPAtz5tfWOBbnza+sCLCU8C3Pm19ZirBLpMZRFpH1xUCLj1cQwi0u1M2llVulnHp83nh5QAALV0XcTcb9+vw4VUtXRdxNxv36/DhVSyACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvxfCrRZKdGPHjDfi+FWDZpT46Xv3LP8ARCJJbpT46Xv3LP8ARCJLPYJRgN2ixucWsx/1LTz5/V6kXTLDaoquF3mPZxH9IQdt3sa7xeLKwsadta2lUUUU55ZzM5RD2cY2KYvhNzrvV6sbvaXeztIsrS0ut7sbzFlXOeVNe5V1bWZynLPLPJw7HuMGGf4qy/XCe2WNYX5XzhWFYNXd6b/i1jZ3y0vV63xulFN4ira007SmKYmYiZz20+bLP05hXt2uNvebne71ZbnuN1ppqtdtaU01ZVVRTGVMznV559UTl63KsicR3SjZdfK7lh8Thdpd4utnRdLOmiimm9R8nKI+VnHmmZzmY9My9GcBw664rcLtcpudFGyK/UX25zbWVNvuNzpp29NntZmImqquqbPazlnNjl5okFW3K6Xi/XuxutzsbS3vNtVFFnZWcZ1V1T6IiPXLQvrCKZuOM7C8VvNytLjfbXGt511X64WF3tJsaoonz0U0xEeeZ2tUxFUZzlPoeXg1yvlWEU3i2we9V47Xfq6cSsbvgV3t6rPKmjc6LSyqimLKiaZqn5MRFUzVnPmjIKmwfDL1i9+oulws4rtqomqdtXTRTTTEZ1VVVVTEUxEeeZmYhux7BL7gd4srK/U2UxbUbpZWthbUW1la05zGdNdEzTPniY80+aYSPCLO18v8Up2L3S7zZTviiyw69Vxaxb2M5xNhTNM/Lna+ja1Zzl5pzyzl2EbHbG6362t7vgEXTFbbB7zbU4NiEbrFjaUWlnFnXTTafKyqzna015zMxl8qJBTYty44TfL1wLbY1cLK57I435aU3anDbLd7zYUWdM0f+nmIpmvbzXFMzTnMRM+faxn237C6LWbrerDCqPKWrCrWu6XS83KyotLW2pt6IzqsaY2tVpFjNpNMTTnOVM5TMRmFLC2sAuN7tb3fbXZBg9Fhsgpw6mu52F3w+xqt7SjdcqrSbtMxTNpFPmjOmJ2udURMxtkT0l0WNni1yim4W9xvm9KZvVNtYWd3qrr21WVc2VnMxZzNO1zicpnLbZfK84REAAAAAAAAABEsYu0Xa+1U0RlRVG2pjkS1Hdk1UTerKn1xRnP9QeMAC1dF3E3G/fr8OFVLV0XcTcb9+vw4VUsgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb8Xwq0WSnRjx4w34vhVg2aU+Ol79yz/AEQiSW6U+Ol79yz/AEQiSz2D3MAv9NnG9racomc6Jn0fc8MQTsRK7YpervEU02m2pj1V+d0cO3rmWPVnWCSiNcO3rmWPVnWcO3rmWPVnWCT111WlU1V1TVVPpmZzmSiuujbbSqqnbRtZynLOORGOHb1zLHqzrOHb1zLHqzrBJXo4Zi95w7hDcootJvt2qutrNrnMxTVNMzMef0/Jj05oTw7euZY9WdZw7euZY9WdYJPNpXNpt5rqmv07aZ87E1VTVtpmdtnnnn580Z4dvXMserOs4dvXMserOsEn3SvdN0murb557bPz58ubFUzVMzVMzM+eZlGeHb1zLHqzrOHb1zLHqzrBJRGuHb1zLHqzrOHb1zLHqzrBJRGuHb1zLHqzrOHb1zLHqzrBJRGuHb1zLHqzrOHb1zLHqzrBJRGuHb1zLHqzrOHb1zLHqzrBJRGuHb1zLHqzrYqxy9TGURZR9cUzrBIrxb2d3sqrS1qimmO1D75eKr1ea7WrzbafNHJD5vF4tbxXtra0qrn6/U1AAAtXRdxNxv36/DhVS1dF3E3G/fr8OFVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG/F8KtFkp0Y8eMN+L4VYNmlPjpe/cs/wBEIklulPjpe/cs/wBEIks9gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXRdxNxv36/DhVS1dF3E3G/fr8OFVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG/F8KtFkp0Y8eMN+L4VYNmlPjpe/cs/0QiSW6U+Ol79yz/RCJLPY6LndbS9Wm1s4yiPTVPoh7FjhV3oj5e2tJ5ZnL/R0XCwi73WiiI+VMZ1fe6BHHwbdPZd6dZwbdPZd6dbuopqrqimimaqp9ERGcyxMTEzExlMeqQcXBt09l3p1nBt09l3p1uwBx8G3T2XenWcG3T2XenW7AHHwbdPZd6dZwbdPZd6dbsAcfBt09l3p1nBt09l3p1uwBx8G3T2XenWcG3T2XenW7AHHwbdPZd6dZwbdPZd6dbsAcfBt09l3p1nBt09l3p1uwBx8G3T2XenWcG3T2XenW7AHHwbdPZd6dZwbdPZd6dbsAcfBt09l3p1nBt09l3p1uwBx8G3T2XenW57zhFnVTM2FU0VeqJ88PUARK1s6rK0mi0jKqPTD4e5jthFVjTbRHyqZyn7nhoq1dF3E3G/fr8OFVLV0XcTcb9+vw4VUsgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb8Xwq0WSnRjx4w34vhVg2aU+Ol79yz/RCJJbpT46Xv3LP9EIks9iYACJZaVW9niFxwzDK7K5bvYWdVVpTTlVVM05znV6f5Q0V21re7ri1jiEWN4t7pRnReNrG3ziuKf7UemPPPpa7nXXiFFytrnaWdGJXKmKNzrmI3Sin+zMZ+bOI9TTf64w+5Xi71WtnaX+9VRVbbnMTTZ0xOe1zjzZzP8ATIHiO67WFlXYU1VU5zOfrnlcLqsb1udnFG0zy9eYOnetjzO2TetjzO2Wnf32feN/fZ94Zpu3rY8ztk3rY8ztlp399n3jf32feCm7etjzO2TetjzO2Wnf32feN/fZ94Kbt62PM7ZN62PM7Zad/fZ94399n3gpu3rY8ztk3rY8ztlp399n3jf32feCm7etjzO2TetjzO2Wnf32feN/fZ94Kbt62PM7ZN62PM7Zad/fZ94399n3gpu3rY8ztk3rY8ztlp399n3jf32feCm7etjzO2TetjzO2Wnf32feN/fZ94GbzYWVFhVVTTlMZeueVwuq2vW6Wc0bTLP15uUVx4v83Wv8v9YRtJMX+brX+X+sI2S0tXRdxNxv36/DhVS29EVjvjYxiljM7XdLaqjPL0Z0RCC7MtjNtsav1nZV2sW9jbUzVZ2kU7XPL0xMcseb+pPSI8AigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG/F8KtFkp0Y8eMN+L4VYNmlPjpe/cs/0QiSW6U+Ol79yz/RCJLPYlFwt4vF1oriflRGVX3uhF7perS617aznzT6aZ9EvYssWu9dPy5qs55JjP/QR6A4+E7p7XuzqOE7p7XuzqB2Dj4Tunte7Oo4Tunte7OoHYOPhO6e17s6jhO6e17s6gdg4+E7p7XuzqOE7p7XuzqB2Dj4Tunte7Oo4Tunte7OoHYOPhO6e17s6jhO6e17s6gdg4+E7p7XuzqOE7p7XuzqB2Dj4Tunte7Oo4Tunte7OoHYOPhO6e17s6jhO6e17s6gdg4+E7p7XuzqOE7p7XuzqB2Dj4Tunte7Oo4Tunte7OoHYOPhO6e17s6nPecXs6aZiwpmqrlnzQBjtvFNjTYxPyqpzmPqeG+7W0qtbSa7SZmqfTL4RVwaF/mK/f4n9tLg03fwX43/G79C/zFfv8T+2lwabv4L8b/ja8J5VcAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvxfCrRZKdGPHjDfi+FWDZpT46Xv3LP9EIklulPjpe/cs/0QiSz2ACAAAAAAAAAAAAAAAAAAAAAAAAAAC3dDtpTZbHcRtLScqKLeaqp5IiiM0U0lbJLrsgv11ouG2qu12pqiLSqna7eass8onz5fJj0pHot4m4379fhwqpqekAGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN+L4VaLJTox48Yb8XwqwbNKfHS9+5Z/ohEkt0p8dL37ln+iESWewAQAAAAAAAAAAAAAAAAAAAAAAAAAAWrot4m4379fhwqpaui3ibjfv1+HCqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPHjDfi+FWiyU6MePGG/F8KsGzSnx0vfuWf6IRJLdKfHS9+5Z/ohElnsAEAAAAAAAAAAAAAAAAAAAAAAAAAAFq6LeJuN+/X4cKqW9oappr2P4hTXTFVNV4ymJjOJjaQjmlbArlhF+uVvh9lTYUXqmvbWdHmpiacvPEerPbej6mp6RBAGVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN+L4VaLJTox48Yb8XwqwbNKfHS9+5Z/ohEkt0p8dL37ln+iESWewAQAAAAAAAAAAAAAAAAAAAAAAAAAAXHoc4v3n8f/AGebpt/gvx/+N6Whzi/efx/9nm6bf4L8f/ja8J5VcAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvxfCrRZKdGPHjDfi+FWDZpT46Xv3LP9EIklulPjpe/cs/0QiSz2ACAAAAAAAAAAAAAAAAAAAAAAAAAAC49DnF+8/j/wCzzdNv8F+P/wAb0tDnF+8/j/7PN02/wX4//G14Tyq4BlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPHjDfi+FWiyU6MePGG/F8KsGzSnx0vfuWf6IRJLdKfHS9+5Z/ohElnsAEAAAAAAAAAAAAAAAAAAAAAAAAAAFwaF/mK/f4n9tLg03fwX43/ABuzQ9a02OxzErW0z2lFvNVWUZ+aKIzRDSJsmsdkV/u8XOium63amqKJrjKapqyznL1eiGvCeURAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjx4w34vhVoslOjHjxhvxfCrBs0p8dL37ln+iESS3Snx0vfuWf6IRJZ7ABAAAAAAAAAAAAAAAAAAAAAAAAAABaui7ibjfv1+HCqlq6LuJuN+/X4cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN+L4VaLJTox48Yb8XwqwbNKfHS9+5Z/ohEkt0p8dL37ln+iESWewAQAAAAAAAAAAAAAAAAAAAAAAAAAAWrou4m4379fhwqpaui7ibjfv1+HCqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPHjDfi+FWiyU6MePGG/F8KsGzSnx0vfuWf6IRJMNJ1nXbbOL1Z2VM1V1U2cREev5EOW47G6coqvlpM1cyj0R/NZ7RGRNowPDsv8A2M//AM6tbPAeHdH79WsotCBN+A8O6P36tZwHh3R+/VrKLQgTfgPDuj9+rWcB4d0fv1ayi0IE34Dw7o/fq1nAeHdH79WsotCBN+A8O6P36tZwHh3R+/VrKLQgTfgPDuj9+rWcB4d0fv1ayi0IE34Dw7o/fq1nAeHdH79WsotCBN+A8O6P36tZwHh3R+/VrKLQgTfgPDuj9+rWcB4d0fv1ayi0IE34Dw7o/fq1nAeHdH79WsotCBN+A8O6P36tZwHh3R+/VrKLQgTfgPDuj9+rWcB4d0fv1ayi0IE34Dw7o/fq1nAeHdH79WsotCBMrbY/crSnKzprsp5aapn/AFR/FMJt7h8uZ3Sxz/txHo++PUlFrD0XcTcb9+vw4VUtXRdxNxv3q/DhVSz0oAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb8Xwq0WSnRjx4w34vhVgluySxsatlF/vVOVVdW1s9tyRTTETH9c3Gza11WlrXXVOdVUzVP3y+WpYlkBAAAAAAAAAAAAAAAAAAAAAAAAAfNpRTaUVUV0xVTVGUxPrfQD19glz3jsbx6xjz0bauqmfqmzhTy7NjVU8EY1T6osc+7VqUmS1AAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG/F8KtFkp0Y8eMN+L4VYJAyxDLUsACAAAAAAAAAAAAAAAAAAAAAAAAAACQ7GfmrG/wAD9talF17GfmrG/wAD9talCWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjx4w34vhVoslOjHjxhvxfCrBIIZYhlqWABAAAAAAAAAAAAAAAAAAAAAAAAAABIdjPzVjf4H7a1KLr2M/NWN/gftrUoS1AAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MePGG/F8KtFkp0Y8eMN+L4VYJBDLEMtSwAIAAAAAAAAAM001V1RTRE1VTOURHpmQYE2w/Ync7nc4vWyC8RZ5//HFcUxH1TPpmfqjtdFGGbE8RqiwultFnaz6NraVRMz9W380vfh7O25Y+qaj/AD5ebLk4RNR80BHr7I8Ct8Ft4iud0u9f9i1iMs/qnkl5DybdWWrL05xUu2GcZxeIA5tgAAAAAAAAAJDsZ+asb/A/bWpRdexn5qxv8D9talCWoAEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjx4w34vhVoslOjHjxhvxfCrBIIZYhlqWABAAAAAAAAAe7sJi6xjtNrfbWysrOxomumbWqKYmrzRHp9fnz/k8vDsPvOJXjcbnZTaWmWc+fKIjlmZev5H4z0aj82nW9GjXsnKM8cZmIc9meMR6ZmmjZdidWJYxbTFpFd3sqpostrOdOUeuPvn1vGSDyPxno1H5tOs8j8Z6NR+bTrd9+vkbtk5zhLnry1YYxj6oe/dbaca2B3rfU7e1u1NUbefTnREVRP35eZX8LKwDB75c9i2I3K3s4pvFtum0p20TE50REef74Q++bGMWul3rt7W7Z2dEZ1bWuKpiOXKJejk6duzRhlljPqi/+OWrZhjsyiJ+Txhhl+Q9oAAAAAAAAACQ7GfmrG/wP21qUXXsZ+asb/A/bWpQlqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN+L4VaLJTox48Yb8XwqwSCGWIZalgAQAAAAAAAATnRhEZ4lOXn/6X705QbRj/ABP4X705fXeyfxofi837sg4MbxSxwi4VXm3iavPtaKI9NVU+p4GB7MqL9f6LtervFjutW1s66as4z9US9e3k6tMxjnNTLhhqzziZxjpLjLPzT54lkdp6c47UXDLEMvg9n1S+jx6gAYaAAAAAAAASHYz81Y3+B+2tSi69jPzVjf4H7a1KEtQAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvxfCrRZKdGPHjDfi+FWCQQyxDLUsACAAAAAAAACc6Mf4n8L96coNox/ifwv3py+u9k/jR/t+Lzfuy8XZbhFpjGGRZWFURb2de6URPoq80xl2ongGxPEIxOxtb7ZRYWNjXFczNUTNWU55RlPasYdeTwNfJzjPPwxq5OWrGccWRhl7KqKcLuVFwyxDL4PZ9UvoseoAGGgAAAAAAAEh2M/NWN/gftrUouvYz81Y3+B+2tShLUACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox48Yb8Xwq0WSnRjx4w34vhVgkEMsQy1LAAgAAAAAAAA9XY5jltgl5rtLOzi1s7SIiuzmcs8vROfqn0/1STy+/u3/Mf+KDD16edv0Y+nXlUOOzj69k3lCc+X392f5j/xPL7+7P8AMf8Aigw6/FOV/L+oc/c9X6Tny+/uz/Mf+LRfNnVta3a0s7tcosbWqMotJtdttfriMo86Gh8U5P8AL+oX3TV+mGQeCZubl6ABFAAAAAAAASHYz81Y3+B+2tSi69jPzVjf4H7a1KEtQAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHjxhvxfCrRZKdGPHjDfi+FWCQQyxDLUsACAAAAAAAAAAAAAAAAAAAAAAAAAACQ7GfmrG/wP21qUXXsZ+asb/A/bWpQlqABFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8eMN+L4VaLJTox48Yb8XwqwSCGWIZalgAQAAAAAAAAAAAAAAAAAAAAAAAAAASHYz81Y3+B+2tSi69jPzVjf4H7a1KEtQAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAk+jSqKdm+GzVOUZ2kfzmzqhGHXhF9rw3FLrfbOM6rC1ptMuXKfR/MFgWlE2dpXRV5qqZmJ++GHsbILvZ2u5Ypcp29zvlMWkVR6pnl//AHleO1LAAgAAAAAAAAAAAAAAAAAAAAAAAAAzTTVXXTTRE1VVTlERGczIJBse/wCngeN21fms9xnz/dTVM/6wpRcWzK8UbHNhE3HbRvy+50TEfX/bn7oj5P8AOFOktQAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACZbB9l0YRRVh2KUTb4Vaz6Ms5spn1x9X1fzj65xOBXfEbHfWBX2xvF3q9ETV6Pqz5fqnJSroud8vNytd1ud4trC051lXNM9i2kwtidjuKR6Ltn8SnWx5PYr0SfzKdavo2X4/ERHCt5/nUeV+P/AEreesWlLB8nsV6JP5lOs8nsV6JP5lOtX3lfj/0reeseV+P/AEreesWUsHyexXok/mU6zyexXok/mU61feV+P/St56x5X4/9K3nrFlLB8nsV6JP5lOs8nsV6JP5lOtX3lfj/ANK3nrHlfj/0reesWUsHyexXok/mU6zyexXok/mU61feV+P/AEreeseV+P8A0reesWUsHyexXok/mU6zyexXok/mU61feV+P/St56x5X4/8ASt56xZSwfJ7FeiT+ZTrPJ7FeiT+ZTrV95X4/9K3nrHlfj/0reesWUsHyexXok/mU6zyexXok/mU61feV+P8A0reeseV+P/St56xZSwfJ7FeiT+ZTrPJ7FeiT+ZTrV95X4/8ASt56x5X4/wDSt56xZSwfJ7FeiT+ZTrPJ7FeiT+ZTrV95X4/9K3nrHlfj/wBK3nrFlLB8nsV6JP5lOs8nsV6JP5lOtX3lfj/0reeseV+P/St56xZSwfJ7FeiT+ZTrPJ7FeiT+ZTrV95X4/wDSt56x5X4/9K3nrFlLB8nsV6JP5lOs8nsV6JP5lOtX3lfj/wBK3nrHlfj/ANK3nrFlLGsNjGI2lWVdnRYxy11xP+mbqvd5wbYdZTbXy3i8YhlO0sqctt/KP+375+v7lV2+ynHbezmi0xW97WfTFNpNOf8AR49VVVdU1VTNVU+eZmc5ktaelsjxu9Y9idd8vk5TPyaLOPRRT6oh5YIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADbNhaR6ae2HzuVfJ2t9VVWfpn+r4znllLGvc6uQ3OrkfdUzyyxnPLIPjaVchtKuR95zyyZzyyD42lXIbSrkfec8smc8sg+NpVyG0q5H3nPLJnPLIPjaVchtKuR95zyyZzyyD42lXIzFlXPojtfWc8svuzmfP55Br3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBp3G05vabjac3tbs55ZM55ZBoqs66YzqjJ85S32szNPnlpWBjKTKWRaGMpMpZChiKZmYiPTL73G05va+af7UOjOeWUGncbTm9puNpze1uznlkznllLGncbTm9puNpze1uznlkznlksadxtOb2m42nN7W7OeWTOeWSxp3G05vabjac3tbs55ZM55ZLGncbTm9puNpze1uznlkznlksadxtOb2m42nN7W7OeWTOeWSxp3G05vabjac3tbs55ZM55ZLGncbTm9puNpze1uznlkznlksadxtOb2m42nN7W7OeWTOeWSxp3G05vazuFpze1tznlkznlksatwtOb2m4WnN7W3OeWX1nPLJY0b3teb2wzve15nbDfFU8ssxVPLJY0RdLefRR2wOyiqc/TID//2Q==","e":1},{"id":"fr_8","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QATRABAAECAwEJCgkLBAICAwAAAAECAwQFEQcGEhMhMTZRUqEVQWFygYORkrPRFBciVXGxssHhFiMyNEJDU1Rjk6I1YnTCRcOk0iQz8f/EABsBAQEAAwEBAQAAAAAAAAAAAAABBAUGAwIH/8QAKBEBAAICAgICAgEFAQEAAAAAAAECAxEEMQUSIUETFFEGFSIyoUKB/9oADAMBAAIRAxEAPwD8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADZy/A4nMcXbwuCs13r9c6U0Ux2+CPCsbLdm+FwmGjE7pMxptUxx1UW6oopp+mur3ArAWlXl+zy1O9qxUVTHfi7cq18scTz8D2dfzM+vd9y6TarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxaHwPZ1/Mz6933HwPZ1/Mz6933GjarxalvI9wWYaWsLj4tXJ4onh5pn/Nxt02zrG5bZqxOW3Ph2GpjWaYp0uUx9H7Xk9BpdoIAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPsRMzEREzM8kQ+O9uEwlON3XZZZriJp4XhJie/vYmr/qCwsBawmz7cpGMxNqLma4mIiY781TxxRr3qY7//APFX51nGOznFziMwv1Xa/wBmn9miOimO9CVbX8bXf3S28Lvp4LDWYiKf91XHM+je+hBVlABFAAAAAAAAAAAAAAAAAAAAAAAAEt3F7scXkWJt2cRXXfy2qdKrVU6zbjpp6Po5JRIBYu1Dc/YootZ9lcUzhsRMcLFH6Os8cVx9Pf8ADp0q6WzuQr7sbL8ywd+d9Nim7bo15eKIrp9Ez2KmWQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7AGTD2bmIu027VM1VSgxiQ4fIrcUxOIuVVVdFPFDY7i4Pq1+sCLCU9xcH1a/WO4uD6tfrAiwlPcXB9Wv1juLg+rX6wIsJT3FwfVr9Y7i4Pq1+sCLCU9xcH1a/WO4uD6tfrAiwlPcXB9Wv1juLg+rX6wIsJT3FwfVr9Y7i4Pq1+sCLCU9xcH1a/WO4uD6tfrAiwlPcXB9Wv1juLg+rX6wIsJT3FwfVr9Y7i4Pq1+sCLCU9xcH1a/WfKskwkxpEXI8MVAi46uYZRcw1M3LU8Jbjl4uOHKAABauy3mbnXj1+zhVS1dlvM3OvHr9nCqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdmPPjLfO+yrRZKdmPPjLfO+yrIGTanz0xfiW/sQiSW7U+emL8S39iESWewSjIMNFrBxdmPzlzj18HeRdMstqirAYeY/hxHohBsgAAAAAAAAAAAAAAAAAAAAAIlnOGjDY2qmiNKKo31MdCWo7umqicVap78Uaz6QcYAFq7LeZudePX7OFVLV2W8zc68ev2cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7B28gx9NuPg16dImdaJnk+hxBBOxEsNmmKw9MU03N9THerjVsd3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfed3cV1LPqz7wSURru7iupZ9Wfe+VZ5ipjSItU+GKZ94JDiL9vD2puXaoppjtRDGYirFYmu7V+1PFHRDziMRdxFe+vXKq58PeYgAAWrst5m5149fs4VUtXZbzNzrx6/ZwqpZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvsq0WSnZjz4y3zvsqyBk2p89MX4lv7EIklu1Pnpi/Et/YhElnsAEAeqKaq6opopmqqeKIiNZl17G5rNb1EVRhZpievVFM+iZ1Bxh0Mdk2YYGnfYnDV00daNKojyw54AAAN7AZVjsfGuFw1ddPW5KfTPEDRHau7mc2t0TVOF30R1a6Zn0auRct12q5ouU1UVxxTTVGkwDwAADJYs3cRdi3Yt13Lk8lNMayDGO3RuXzaunffBop8E3KYn62hjstxmAmIxeHrtxPJMxrE+WOIGmAAAAOngsizLGURXYwte8nkqqmKYn08rJidzmaYeia68JVVTHLNExV2Rxg5A+zExMxMaTD4AAC1dlvM3OvHr9nCqlq7LeZudePX7OFVLPQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d9lWiyU7MefGW+d9lWQMm1Pnpi/Et/YhEkt2p89MX4lv7EIks9g+xEzMREazL46O523TdzzBUV/o8LE+jj+5BOtzWR28sw1Ny7TFWMrjWqqf2fBDuAD5MRMTExExPLEoFuyySjBVU4zCU72xXOldEclNXg8Ep85u6S3TdyLG018kW5q8sccfUCqgASLchktOZX6r+JjXDWp03vXq6PoWJRTTRTFNFMU0xGkREaRDjbjrdNG57DTTHHVvqpnpnfS7QDk7oMms5rhao3sU4mmPzdz7p8DrAKauUVW7lVFcTTXTM0zE96YeXY3XW6be6HGRRGkTNNXlmmJlxwZsJh7mKxNqxZjW5cqimFo5NleHyvCxasUxNcx8u5McdUoXuDt0155NVXLbtVVU/TrEffKxAHi9at37VVu9RTXbqjSaao1iXsBWW6jJ+5WNjgtZw13Wbcz3umHFWHu9t01ZLTXP6VF2JifpiYV4Ame4zI7d21GPxlEVxM/mqKo4uL9qUMW/l1umzl+Gt0fo026Yj0A2AARrddkdvF4a5i8NRFOJtxvqtP247/lV6ueVQY+3TZx2Jt0fo0XKqY+iJkGuAC1dlvM3OvHr9nCqlq7LeZudePX7OFVLPQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d9lWiyU7MefGW+d9lWQMm1Pnpi/Et/YhEkt2p89MX4lv7EIks9gz4HEThcZYxFPHNuuK9OnSWAQXFhr9vE4e3es1RVbrjfUyyqyyDP7+UzNuY4XDVTrNuZ008MSl9jdZlVyjW5drsz1a7czPZqDvI9u2x9OGymrDxP53EfJiOinvz93lYMw3Y4O1RMYOiu/c70zG9p7eNCcwxt/H4mq/ia99cq9ER0QDWABPtwePpu5fVg6p/OWZmqmOmmZ1+vX0pSp7B4m9g8RRfw9c0XKJ1iYTbLd2OGuURTj7dVm536qI31M/fAJW83blFq3VcuVRTRTGtUzyRDiXt1eU26Jqov13J6tNurXtiEU3Qbo7+Z0zZtUzZwvfp146vp9wOZm+L+HZniMTyRcr1j6OSOzRpgDqbmsdTl+cWL1ydLU60Vz0RPf+qVpRMTGsTrEqZSXIN1F3AW6bGLom9h6eKmYn5VMffALCHDt7qspqoiasRVRPVqt1a9kOZmu7G1TRNGW26q65/eXI0iPojvgx7QMdTNNjA0TrVE8JX4OLSI7ZQtkvXbl+7XdvVzXcrnWqqeWZYwFoblsfTjsnsaT+ctUxbrjwxyT5YVe3cqzLEZZiovYarwVUzyVR0SC2hG8Fuvy+9RHwmLmHr7+tM1R5Jj3MmK3W5Zao1s13L9XeppomPr0B1szxlvAYG7ibsxpRGsR0z3oVJcrm5cqrqnWqqZmZ8Lp55nWIza7E3dKLNM/It0zxR4Z6ZcoAAFq7LeZudePX7OFVLb2RWfhG5jNLMzvYuXqqNejWiIQXdluZvbmsdbs13ov2L1M1W7kU73XTliY6Y4vSv0I8AgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb532VaLJTsx58Zb532VZAybU+emL8S39iESS3anz0xfiW/sQiSz2ACAPsRrOkcrpYfIszxFG+t4O7vemrSn69AcwbeNy7GYL9aw123HWmOL08jUAAABs4PAYrGzMYXD3LunLNNPFHlBrDqXsgzSzRvq8FcmP8AbpV9TmVRNMzFUTExxTEg+AAA9UUVXK4ot01VVTxRFMazIPI6tvc9mtyjfU4K5Ef7pimfRM6tHFYTEYSve4mzctT3t/TpqDAAAAAN3B5VjsbG+w2Fu10z+1ppHpniZMVkuY4Wmar+EuxTHLNMb6I9AOcAAAC4Ni/+hY7/AJP/AFpaG27/AML57/1t/Yv/AKFjv+T/ANaWhtu/8L57/wBb6+k+1XAPlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdmPPjLfO+yrRZKdmPPjLfO+yrIGTanz0xfiW/sQiSW7U+emL8S39iESWewfXx0Nz9mm/nWCt18dM3YmY6dOP7kE23L5BawGHoxGJoirGVRrxx/wDr8EeFIQB5ropuUTRXTFVMxpMTGsSr7ddkdOXXKcThY0w1ydJp6lXuWG5m6WzTeyLG01fs25rj6Y4/uBVYAO9uUyWM0xNVy/E/BbX6X+6ehY1m1bs2qbdmimi3TGkU0xpEOPuNtU29z2HmmOOuaqqvDO+mPqiHbAcTdHkVnNLFVy3TTRjKY1prji33gl2wFNV0zRVNNUTFVM6TE96Xl191lqmzuhxlNEaRNUVeWaYme2ZcgGTD2a8Rft2bUb65cqimmPDKz8iybD5Vh4iimKr8x8u7Mccz4OiEO3C2qbme76rlt2qq4+nij71igMWKw9nFWarWIt03LdXLFUMoCr90mUzlOO3lMzVYuRvrdU9seRyFhbvbVNeTUXJ/St3Y0n6YmFegJduOyG3iqPh2No31uJ0t255KvDPgRFb2WWqbGXYa1RyUW6Y7AbERFMRERERHJEPoAim67ILd3D3Mbg6IovURvrlNMcVcd+fpQNc0xExMTGsSqDHWosY3EWqf0aLlVMeSdAYAAW7sduU2dzuY3Lk6UUX5qqnoiKI1RTaVulwu6DHYWjAb6rDYamqIuVU73f1Vaa6RPHpxRypHst5m5149fs4VU+vpAB8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb532VaLJTsx58Zb532VZAybU+emL8S39iESS3anz0xfiW/sQiSz2DYy/EThMdYxERrwdcVadOk8jXEFyWLtF+zRdtVRVbriKqZjvw9q33Pbo7uVxwN6mb2F113uvHT9HuTCxukyq9RFXwqKJ79NdMxMA7DgbtMbThcmrta/ncR8imPB359H1vOYbrMvw9E/B6qsTc70UxMR5Zn7kFzTML+ZYqq/iatZ5KaY5KY6IBpgAsHcJjab2VzhZmOEsVTpHTTM66+nVJlQYDGXsBiqMRhq97cp9Ex0T4E7y3ddgb9ERi99hrvf1iaqZ+iY+8EkfK6qaKKqq5iKaY1mZ70OTd3R5Vao304umrwUxMzPYie6LdNczGicPhaarWGn9KZ/Sr90A5OdYuMfmuJxMfo11/J+iOKOyGiAOvuWxtOAzqzcuTpbr1t1T0RP46LQUwleQbqqsJapw+YU1XLVPFTcp46qY6J6QTwcmjdFlVdO+jGURHRMTE/U5ma7r8Lat1U5fE37veqmJimPTxyDBtAxtMWbGCpnWuauEr8EckfXPoQhlxWIu4rEV3r9c13K51mZYgFpbmcbTjsnw9UTrXbpi3XHRMcXbyqtdHJc1xGU4nhLGlVFXFXbnkqgFrDg4LdVluIoibtyrD19+mumfrjiZMVunyqxRMxiOFq71NumZmfuB0sfireCwd3EXp0ot06/TPehUd2uq5cruV8dVUzVP0y626DPr+bVxRpwWGpnWm3E66+GXGAABauy3mbnXj1+zhVS1dlvM3OvHr9nCqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdmPPjLfO+yrRZKdmPPjLfO+yrIGTanz0xfiW/sQiSW7U+emL8S39iESWewAQAbljLMdfo31nB4iumeSqLc6A0xnxOFxGGnTE2LtqZ5N/TNOvpYAAAAZcPh72Jr3uHs3LtXRRTNU9gMQ3buVY+1RvrmCxFNMcszbnSGkAAAD7ETMxERrMg+DeoynMa6d9TgcTNPTwctW9Zu2K95et126+rXTMT2gxgAAADYw2DxOK/VsPeux00UTL1iMvxmGp32Iwt+3T1qqJiPSDVAAABauy3mbnXj1+zhVS39jVNNe5/MKa6YqpqxGkxMaxMbyEc2r5Fgsox2Cv5fapsUYqmvfW6OKmKqdOOI72u+5PA+vpEDAfKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d9lWiyU7MefGW+d9lWQMm1Pnpi/Et/YhEkt2p89MX4lv7EIks9gDfyGzTiM5wdquNaZuRMx0xHGgmO5fc7aw1ijFY23FeJqjfU01RrFEfR0pOAMd+zbxFqq3ft03LdXLTVGsSrzdXkcZXepvYfWcLcnSNf2J6FjuXunsU4jIcZTVH6NE1x4Jp4/uBVgAO1uYyac2xUzcmacNa0muY5Z8ELHwuGs4WzFrDWqbduOSKYcncXZptbn7FVMfKuzVXVPTOsx9UQ7gCPbpNz1nH2a72Gopt4yOPWOKK/BPh8KQgKZmJiZiYmJjimJfHW3VWabG6DGUURpTNUV+WYiZ7ZckHuzarvXaLVqmaq65immI78ysvIMiw+V2aaqqabmKmPlXJjk8EdEIluGsU3s9iqqNeCt1Vx9PFH3rGAa+OwWHx1ibWKtU3KJ6eWPDE95sAKrz/Kq8px02pmarVUb63X0x73MWDu+s015Rbu6fKt3Y0nwTE6/cr4BKNyOQU4//wDMxlOuHpnSijrzHT4EXW7lVinDZbhbNPJRbpjy6cYNi3RTboii3TTTRHFFNMaRD1MaxpPIAIdut3PWosV43A0RRVR8q5bp5JjpiEJXNVTFVM01RExMaTEqfxtqLGMv2Y5Ldyqj0ToDCAC4Ni/+hY7/AJP/AFpaG27kyXz3/rb+xf8A0LHf8n/rS0Nt3Jkvnv8A1vr6T7VcA+VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7Bs5bifgeYYfEcsW7kVTHg142sILlt103LdNduqKqKo1iY78PSvNze6WrLqIw2LpquYb9mY/So98JlYzzLL9EVUY2xTHRXXFE+iQdFw92WMpwuSXaNfzl/83TH19j7mG6bLcJRO8vRiLneptcevl5ECzjM7+aYub1+YiI4qKI5KYBoAAsPcLjKb+UfB9Y4SxVMaeCZ1ifr9CSKjyvH38txdOIw9WlUcUxPJVHRKfZbuoy/F0Rw1z4Nd79Nzk8k8gO8+TMREzM6RHLMtC9nWWWqN9VjsPMf7K4qn0QiW6PdROMtVYXARVRZq4q7k8U1R0RHegHEz3Fxjs3xWIo46Kq9KZ6YiNI7IaAA7O5PGU4LO7NVydLdzW3VPRryduizlMJjuf3WU2rVOHzPfTFMaU3o4508MfeCbDQoznLa6N9TjsNEf7rkRPolzM03V4HC0TGFq+E3u9FP6MfTPuBp7QcZTThbGDpn5dVXCVR0RGsR2z2IMz43FXsbia7+Irmq5XOsz9zAAtXc5jKcbk+GuUzrVTTFFcdFUcU+9VTqZDnF7KMRNVHy7Nf6duZ5fDHhBaY5GC3R5Zi6In4TTZq79N2d7MeXkZMTn2WYeiaq8Zar8FurfzPoBu4zEW8JhbuIuzpRbpmqVQ3rlV29Xcr/Srqmqfpl2t0e6C5msxatUzawtM6xTPLVPTPucIAAFwbF/9Cx3/J/60tDbdyZL57/1t/Yv/oWO/wCT/wBaWhtu5Ml89/6319J9quAfKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d9lWiyU7MefGW+d9lWQMm1Pnpi/Et/YhEkt2p89MX4lv7EIks9gAgAz2cJiL8a2MPeuR00UTP1AwD3dtV2qt7doqoq6Ko0l4AAAB6t267lUU26aqqp71MayDyNi9g8TZp317D3rdPTVRMQ1wAAAABsW8FirlG/t4a/XR1qbczDDVTVRVNNUTTVHLExoDyAAAAMlmzdvVb2zbruVdFFMzL1ew1+xpw9m7a169Ex9YMIAAALg2L/AOhY7/k/9aWhtu/8L57/ANbc2PXabO5zMrtzXeUX5qq0jXiiiNUP2ibp7O6PHYeMHRXThcNTVFE3I0qqmrTWdO9yQ+vpPtEgHyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfZVoslOzHnxlvnfZVkDJtT56YvxLf2IRJLdqfPTF+Jb+xCJLPYA3skw9OKzfCWa41oquRvo6Y5ZQSvcvubtUWKMXmFEXLlcRVRbqjipjwx35S2mIpiIiIiI5Ih9AYMXhbGMtTaxNqi7RPeqhXe6fJJym/TXamasLcn5Ezy0z0Sstyd1OHpxGQ4uKo46KeEieiY4/eCrgAdfc5k9ebYuaZmaMPb47lcfVHhWPgcDhsDZi3hbVNunv6Rxz9M99y9xVimzkFmuI+Vdqqrqny6R2Q7oCMbpNzVnE2a8RgLcW8TTGs0UxpFfk6UnAUzMaTpPK+OruosU4bPsZbojSnfRVEfTET97lA9W6KrlymiiJqrqmIiI78rG3P7nMPl9qm5iaKbuLnjmZjWKPBHvRbcRh6b+e0VVxrwVFVyI8PFH3rIAaeZZbhcxtTRirVNU96qOKqn6JbgCqM8yy5lWOqsXJ31E/Kor0/Shz1gbv7FNeVWr2ny7dyI18Exx/VCvwEk3KZBGZVTicVrGFonSKY4t/PuRtbeUYenC5XhbNMfo241+nTWe0Gxh7FrD2ot2LdFuiOSmmNIeq6KblE0V0xVTPLExrEvQCEbrNzluxaqxuX072injuWo5Ijpj3IeuW5RTXRVRXETTVExMT34VBi7XAYq9Z114Ouqj0ToDCAC1dlvM3OvHr9nCqlq7LeZudePX7OFVL9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb532VaLJTsx58Zb532VZAybU+emL8S39iESS3anz0xfiW/sQiSz2DbyrExg8yw2In9G3ciqfo14+xqCC5qaorpiqmYmmY1iY78PqBbmd00YK1ThcdFVViOKi5HHNEdEx34TKxmWCxFG+s4uxVHjxr6Abbi7r8XThcjvxM/LvRwdMdOvL2asuPz/LsFRM14mi5XHJRanfTPo5PKr/Pc2vZtiuEufJt08VFuJ4qY94OaACxdw2Lpv5LFnX5diqaZjwTOsT2z6EiVNlGZX8rxkX7E696qieSqOhYWXbosuxtETw9Nm536Ls72Y8vJIOuNW9mODs0767irFMeG5CJbpN1FN+1Xhctmd5VxV3ZjTWOiPeDgboMVTjc5xV+jjoqq0pnpiI0iexzgB29x+LpwmeWpuTEUXYm1Mz4eTtiFmKZidJ1jlTfc/urtzaosZpVNNdMaRe01ir6fD4QS8a1GPwdyjfUYqxVT0xchzM03S4DBW6ot3acRe71FudY8s8gOftAxVNOCsYWJ/OXK9/Mf7Y/GexBGzmONvZhi68RiKta6u93ojohrALX3P4unG5RhbtM6zvIpq8FUcUqodjc7nd3KL1Ub2bmHrn5dH3x4QWeOdgs6y/GURVaxVuJn9iud7VHklkxOa4DDUTVexdmnTvRVEz6I4wbOJvUYbD3L12dKLdM1TPghUGIuzev3LtX6VdU1T5Z1d/dNuiqzOPg+GiqjCxOs68tf0+BHAAAWrst5m5149fs4VUtXZbzNzrx6/ZwqpZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvsq0WSnZjz4y3zvsqyBk2p89MX4lv7EIklu1Pnpi/Et/YhElnsAEAAAAAAAAAAAAAAAAAAAAAAAAAAFq7LeZudePX7OFVLV2W8zc68ev2cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7BtYfA3b0RVpFFPTLJlmGi7XNyuNaaeSOmXYQczuX/W/x/E7l/wBb/H8XTAczuX/W/wAfxO5f9b/H8XTAczuX/W/x/E7l/wBb/H8XTAczuX/W/wAfxO5f9b/H8XTAczuX/W/x/E7l/wBb/H8XTAczuX/W/wAfxO5f9b/H8XTAczuX/W/x/E7l/wBb/H8XTAczuX/W/wAfxO5f9b/H8XTAczuX/W/x/E7l/wBb/H8XTAczuX/W/wAfxO5f9b/H8XTF1JtzO5f9b/H8TuX/AFv8fxdMNSbcucrnTiuxM+Glp4jDXbE/Lp4umORIHmummumaao1ieWEEbGbF2ZsX6qO9yx9DCC1dlvM3OvHr9nCqlq7LeZudePX7OFVLPQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d9lWiyU7MefGW+d9lWQMm1Pnpi/Et/YhEkt2p89MX4lv7EIks9juZZERg6Jjv6z2tpq5b+pW/L9ctpAAAAAAAAAAAAAAAABf+ynZ3gMJlOGzbOsNbxOOxFEXbdu7TvqLNM8cfJnimrTSePkWnTTTRTFNMRTTHFERGkQw5ffs4rAYbEYWYnD3bdNduY5N7Max2Nhv8GKtKRpq8uSbW+QB76h5bHyqmKqZpqiJpnliY11fQ1BtVW1XZ3gMXlOJzbJcNbw2Ow9E3blu1TvaL1Mcc/JjiirTWeLlUA/ZmYYizhcBicRipiLFq3VcuTPJvYjWex+M2p5+KtJi0fbP415tExLl5zHHanvzrH1Oa6ec/ufL9zmNeylq7LeZudePX7OFVLV2W8zc68ev2cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7Hcy39St+X65bTVy39St+X65bSAAAAAAAAAAAAAAAAC0Nmu0+dz2DoyvOrV2/l9E/mrtvjrtR0aTy09seFZ1O1PcfNMTObTTM96cNe1j/B+YRl4uZkx19YeF+PW87fp/40tx3zx/8W9/9D40tx3zx/8AFvf/AEfmAen9wyfxD5/Vo/T/AMaW4754/wDi3v8A6PlW1PcfFMzGbTVMd6MNe1n/AAfmEP7hk/iD9Wi0NpW0+d0ODryvJrV2xgK5/O3bnFXdjo0jkp7Z8CrwYuXNbLO7PamOKRqHMzn9z5fucx085/c+X7nMeT7Wrst5m5149fs4VUtXZbzNzrx6/ZwqpZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvsq0WSnZjz4y3zvsqyBk2p89MX4lv7EIklu1Pnpi/Et/YhElnsdzLf1K35frltNXLf1K35frltIPtFFVdcU0RNVUzpER33bwuRa0xVirkxM/s0d7yve5vDRFurEVR8qZ3tPgjvu26XxPiKZ6fmzdfUNVzebbHb0xuTXkWGmPkV3aZ6dYn7nIzDLruCnWr5dueKK4+9LXm7bpu26rdyNaao0mG05Hg+NkpMY41LDxeQy1t/lO4QcZcVZmxiLlqf2apjVicTlxzivNLdw39LResWj7HSy/KbuKpi5XPB2p5JmOOfoYcpw0YrG0UVRrRHyqvohLojSNIbfxHjI5kzfJ/rDC5vLnBHrXuXKjIsLpx13denWPc0sbkldqma8NVNyI5aZjj/FIh0d/CcS1dRXX/ANauvPzxO5lBR1d0OFiziabtEaU3ddY8MOU4zmcWeLmnFP03uDLGakXgbGCwd3GXN7ajijlqnkhrxGs6QmWAw1OFw1Fqnl01qnpl7eN4M83L69RHb45XIjBTf20LWQ2Ip/O3LlVXg0iHjEZDbmmZw92qKuivjh2h139l4etev/ZaT9/Pve0JxFm5h7s27tO9qhjSnPMLF/BVVxH5y38qJ8HfRZynk/H/AKWTUfNZ6bnicn89Nz2PtFFVdcU0RNVUzpER33x39zmGiLdeIqj5UzvafBHfYnF49uTljFX7e2bLGKk3l4wuRa0xOKuTEz+zR3vK2K8iw0x8iu7TPTrE/c6w7TH4PiUrq1dy0NvIZpncTpEswy67gp1q+XbniiuPvaScXbdN23VbuRrTVGkwheKszYxFy1PLTVo5/wAv4uOJrJj/ANZ/42fC5k5v8b9uRnP7ny/c5jp5z+58v3OY0bYLV2W8zc68ev2cKqWrst5m5149fs4VUs9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTsx58Zb532VaLJTsx58Zb532VZAybU+emL8S39iESS3anz0xfiW/sQiSz2O5lv6lb8v1y2mrlv6lb8v1y2kEqyGqJyy3EctMzE+nV0EYyPHU4W7Nu7Olqvv8ARKTxMTETE6xLvPC8mubjxWO6/DnOfimmWZ+pAamY42jB2ZqqmJuTHyaeltb3rSs2tPxDDrWbTqEdzmqKszvzTyaxHoiGk+11TXXNVU61TOsy+PzfmZYy573r1MuqwUmmOKy625uYjG1xPLNudPTCSIVhL9WGxFF2jlpnk6YTDC4i3irUXLVWsTyx348Euk/p3PT0tinvtqvKY7e0X+mUHm5XTbomu5VFNMcsy6bempcfdNVHA2ae/NUyj7czXF/DMVNccVunipjwNNwPmeRXPyZmnUfDpODinHijb3Yqim9bqq5IqiZ9KboKk+S4+m/Yps3KtL1Eacf7UdLK/p/k0xZZpb/08fJYrXpFo+nTAdo0LDjZinB35nk3k/Uhbu59j6aqJw1mddf05j6nCcf/AFDyaZL1xV+dN54zFNazafsSrIaoqyy3EctMzE+mZ+9FXUyPHRhbs27s6Wq+/wBEtf4jk14/Ji1up+GTzcU5cUxHaTBExMRMTrEj9AiYmNw5qY0IlnVUVZnfmnk1iPREJFmONowdmZmYm5MfJp6URrqmuuaqp1qmdZlzn9Q8ikYoxfe9tp4zFb3m/wBOXnP7ny/c5jp5z+58v3OY49vFq7LeZudePX7OFVLV2W8zc68ev2cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7Hcy39St+X65bTVy39St+X65bSA2cNj8Tho0tXZinqzxw1h6Y8t8U+2OdS+bUreNWjbo15zjKo0iumnw00tC5XXcrmq5VNVU8szLyPbNzORmjWS0zDzx4MdPmsADFewyWL92xXvrNdVFXgYx9Vtak+1Z1KTEWjUulGdYyKdN9RM9O9amJxd/Ez+euVVeDkj0MAyr87k3r62vOnjXj4qzuKxsAYb3CJmJiYmYmO/AETob9nN8ZbpiOEiuI60avOIzPFX6Zpqub2me9TGjSGb+/wAr19fedPD9bDvfrGwBhzMz8y9+gBBs4bH4nDRvbV2Yp6s8cNivOcZVTpFdNPhppc4ZmPncnHX1pedPC3HxWndqw9XK67lc1XKpqqnlmZeQYt72vPtady9q1isahzM5/c+X7nMdPOf3Pl+5zHyq1dlvM3OvHr9nCqlq7LeZudePX7OFVLPQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU7MefGW+d9lWiyU7MefGW+d9lWQMm1Pnpi/Et/YhEkt2p89MX4lv7EIks9juZb+pW/L9ctpq5b+pW/L9ctpBs4DCV4y/Fujijlqq6ISfCYDD4amODtxNXWq45au56zFGA4T9q5VM6+COL3uo7DwvjMcY4z5Y3M9NHz+Xb3/HSdRDzct0XKd7XTTVHRMauLmuUUxRVewsaTHHNHudwbjk8HDya+t6sLFyL4p3WUFGzmdqLGPvW6f0YnWI+nj+9rPz3kYpw5LY5+pdNjv70i38vtMTVVFNMazPFEQkmXZRas0RXiKYuXeieOI97m7nrUXMfvqv2KZqj6eT70nb3wXj8efeXLG4j6a7yHJtj1Snw+U000072IiI6Iho43K8PiaZmmmLdzvVUx9cN8dTk4uHJX0tWNNPXNek+0T8oTiLNeHvVWrkaVUyxu7umtR+ZuxHHOtM/d97hOC8jxI4meccdfTpOLm/Nji09jrZRlfwmOGv6xa70db8HKt0zXcppjlqmITe3RTbt00URpTTGkQyPD8GvLyz7/wCsPLncicNP8e5ebNm1Zp0tW6aI8EPOIwtjEUzF63TV4dOP0sw7aONiinp6xr+Gg/Lfftv5RPNcvqwVyJpnfWqv0Z6PBLRTDNLUXsBepnvUzVH0xxoe4zzPArxckWx/6y3vA5M5q6t3A2cBhK8Zfi3RxRy1VdENZJtz1mKMDwn7VyqZ18EcXvYXA4v7WeMf19sjk5vw45s2sJgMPhqY4O3E1daqNZbFy3Rcp3tdNNUdExq9DvsXEw4aelKxpzd817z7Wlw81ymmKKr2FjSY45o9zgp0h2Z2YsY+9bp4qYq1iOiJ4/vc153x+PDWM2KNfy2vj+Va8/jv8uHnP7ny/c5jp5z+58v3OY5ltlq7LeZudePX7OFVLV2W8zc68ev2cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp2Y8+Mt877KtFkp2Y8+Mt877KsgZNqfPTF+Jb+xCJJbtT56YvxLf2IRJZ7Hcy39St+X65bTVy39St+X65bSCTbnrsV4Dg+/bqmNPp43UQ7AYuvB34uUccTxVU9MJPhMfh8TTG8uRFXVq4pdp4Tn0yYow2n/AChoefxrVvN4j4ltDzXXRbp1rqppjpmdHFzXN6Zoqs4WdZniqr9zb8jlYuPSb3lhYsN8tvWsOVmd2L+PvXKeOmatI8nE1gfnfJy/my2yfzLp8VPSkV/h09z12LeYb2qdN/TNMfTy/ck6DU1TTVFVM6TE6xMJJl2b2r1EUYiqLd2O/PFE+5vvA87Hi3hyTrfTXeR49r6yVdUfIqiqnfRMTHTEtHG5pYw1MxTVFy53qaZ+uXVXzUx19rTqGnrS1p1ENHdNdj8zaiePjqn7vvcJkxF6vEXqrtydaqpY3A+T5UcrPN69fTpOJhnDjis9vtuqaLlNUctMxKb266blumuidaao1iUHdbKM0+DRwN/WbXenq/gyfC82nFyzGTqzx5+CctN17hJBjs3rV6nW1cprjwS84jFWMPTM3blNPg14/Q7b8lNe2/hoPW29aY8zuxZwF6qrv0zTH0zxIe381zCrG3IimJptU8kdPhloOM85zqcjJFMc7irfeP49sVZtbuRJtz12K8Bwf7VuqY9PGjLZwGLrwd+LlHHE8VVPTDB8byv1c8ZJ6+2RysP5sc1jtMRq4TH4fE0xvLkRV1ap0lsV10W6da6qaY6ZnR+gY81Mlfak7hzVsdqTqYekOzO7F/H3q6eOJnSPJxOrmub0zRVZws6zPFVX0fQ4LmfPc7HesYKTv+W28dx7Vn8lvhzM5/c+X7nMdPOf3Pl+5zHLNutXZbzNzrx6/Zwqpauy3mbnXj1+zhVSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOzHnxlvnfZVoslOzHnxlvnfZVkDJtT56YvxLf2IRJLdqfPTF+Jb+xCJLPY7GU3IqsTR36Z7G8jti7VZuRXRyx2uzh8ZavRHyopq6soNkAABZmZNACAAAAu5TUACKAAALuU1AAigAAC7mE1APkzFMazMRHhaWLx9FETTZmKq+mOSEVq5tciq/TRH7EdrRfZmZmZmdZnjfAWrst5m5149fs4VUtXZbzNzrx6/ZwqpZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnZjz4y3zvsq0WSnZjz4y3zvsqyBk2p89MX4lv7EIklu1Pnpi/Et/YhElnsAEAAAAAAAAAAAAAAAAAAAAAAAAAAFq7LeZudePX7OFVLV2W8zc68ev2cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEn2aVRTu3yyap0jW5Hlm3VCMNvKMbXluaYXG241qsXabmnTpPHHl5ASTarRVTuyxM1RpFVu3MeGN7EfdKILV2nZVTnOVYPdBlkcLRTajhN7xzNueOJ8kzOv0+BVSyQAIAAAAAAAAAAAAAAAAAAAAAAAAAMuGsXcViLdjD26rl65VFNFFMazMyC0dmccFuGzq9XxUb67Ov0W41VStzdLwe5HZ5ayqmumcZiqZt1THfmeO5P0aTp5YVGsgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmu4LdlVkc/Aswiq7ltc68UazameWYjvx0x5fpkWabhMrz6icfuZx1m3TXxzbj5VvXycdP0aeSFUNjB4zE4K7wuDxF6xc61quaZ7F2Jdd2a59RXvaacLcjppu8XbEPHxb7oP4WH/vQ5Ubrs/j/wArivLUflfn/wA64n0m0dX4t90H8LD/AN6D4t90H8LD/wB6HK/K/P8A51xPpPyvz/51xPpNjq/Fvug/hYf+9B8W+6D+Fh/70OV+V+f/ADrifSflfn/zrifSbHV+LfdB/Cw/96D4t90H8LD/AN6HK/K/P/nXE+k/K/P/AJ1xPpNjq/Fvug/hYf8AvQfFvug/hYf+9Dlflfn/AM64n0n5X5/864n0mx1fi33QfwsP/eg+LfdB/Cw/96HK/K/P/nXE+k/K/P8A51xPpNjq/Fvug/hYf+9B8W+6D+Fh/wC9Dlflfn/zrifSflfn/wA64n0mx1fi33QfwsP/AHoPi33QfwsP/ehyvyvz/wCdcT6T8r8/+dcT6TY6vxb7oP4WH/vQfFvug/hYf+9Dlflfn/zrifSflfn/AM64n0mx1fi33QfwsP8A3oPi33QfwsP/AHocr8r8/wDnXE+k/K/P/nXE+k2Or8W+6D+Fh/70Hxb7oP4WH/vQ5X5X5/8AOuJ9J+V+f/OuJ9JsdX4t90H8LD/3oPi33QfwsP8A3ocr8r8/+dcT6T8r8/8AnXE+k2Or8W+6D+Fh/wC9B8W+6D+Fh/70OV+V+f8AzrifSflfn/zrifSbHdwezHObtcfCL2Ew9Hfma5qnyREfek1jDbntn1iq9fvfCs0mnSI4uEnwRT+xHhnt5FcX91Oe37c0XM1xe9nimKbk06+hxqqpqqmqqZmqeOZmdZkHT3R53is/zOvGYydJn5NFuOS3T3ohywRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWbFyOWnth54Kvo7WeqqZmdZn0ses9MptdPHB1dBvKuh7mZ4uN81npkR43lXQbyroe9Z6ZNZ6RdPG8q6DeVdD3rPSaz0g8byroN5V0Pes9JrPSDxvKug3lXQ96z0ms9IPG8q6H2LVc8kdr1rPS90TPHxyIx8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9Mgw8Dc6vacDc6vazaz0yaz0yDDwNzq9pwNzq9rNrPTJrPTIMPA3Or2nA3Or2s2s9Mms9MgwVW66Y1qjR50lmvTM0xrPfYtVgfN7JvZfdTVUfN7JvZfdTUCKZmYiOWXrgbnV7Xyn9KPpZ9Z6ZSVYeBudXtOBudXtZtZ6ZNZ6ZQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7X3gLnV7WTfT0y9b6emQYeAudXtOAudXtZt9PTL7vp6ZBg+D3er2w+/BrvU7YZ4qnpl9iqemfSDBGEvzyUdsDct1T0yC6f//Z","e":1},{"id":"fr_9","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAUGAwQHAgEI/8QATxABAAECAwEJCwcLAgQHAQAAAAECAwQFEQcGEhMhMTZRUqEVQWFygYORkrPB0RQXIlVxsbIWIzI0QlNUY5Oi4UNFYnPCwyQzNXSk0vDx/8QAGwEBAQADAQEBAAAAAAAAAAAAAAEEBQYDAgf/xAAoEQEAAgICAgIBBAMBAQAAAAAAAQIDEQQxBRIhQRMGFCJRFTKhQoH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnL8DicxxdvC4KzXev1zpTRTHb4I8LouW7N8LhMNGJ3SZjTapjjqot1RRTT4Jrq+AOYjqVeX7PLU72rFxVMd+LtyrXyxxPPyPZ1/Ez6934LocvHUPkezr+Jn17vwPkezr+Jn17vwNJty8dQ+R7Ov4mfXu/A+R7Ov4mfXu/A0bcvHUPkezr+Jn17vwPkezr+Jn17vwNG3Lx1D5Hs6/iZ9e78D5Hs6/iZ9e78DRty8dQ+R7Ov4mfXu/A+R7Ov4mfXu/A0bcvHUPkezr+Jn17vwPkezr+Jn17vwNG3Lx1D5Hs6/iZ9e78D5Hs6/iZ9e78DRty8dQ+R7Ov4mfXu/A+R7Ov4mfXu/A0bcvHUPkezr+Jn17vwPkezr+Jn17vwNG3Lx1D5Hs6/iZ9e78D5Hs6/iZ9e78DRty8dQ+R7Ov4mfXu/A+R7Ov4mfXu/A0bcvHUPkezr+Jn17vwPkezr+Jn17vwNG3Lx1S3kW4LMPzeFx8Wrk8UT8ommf70Lum2d47LbNWJy258uw1MazTFOlymPs/a8noNG1FARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB9iJmYiImZnkiHxPbhMJTjd12WWa4iaeF4SYnv72Jq/6QdCwFnCbPtysYzE2ouZriYiJp781Tx7zwUx3/8A+OX51nGOznFziMwv1Xa/2aeSmiOimO9C1bX8dXf3S0YXfTwWGsxpT/xVccz6N76FFWUAEUAAAAAAAAAAAAAAAAAAAAAAAAW3cXuxxeRYm3ZxFdd/Lap0qtVTrNuOmno+zklUgHRdqG5+xRRaz7K97OGxMxwsUfo6zxxXH29/w6dLnTrO5CvuxsvzLB35302KbtujXwRFdPomexyZZABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWnZjz4y3zvsq1WWnZjz4y3zvsqwZNqfPTF+Jb/BCpLbtT56YvxLf4IVJZ7AGTD2bmIuxbtUzVVKDGLDhsitxTE4i5VVV0U8UNjuLg+rX6wKsLT3FwfVr9Y7i4Pq1+sCrC09xcH1a/WO4uD6tfrAqwtPcXB9Wv1juLg+rX6wKsLT3FwfVr9Y7i4Pq1+sCrC09xcH1a/WO4uD6tfrAqwtPcXB9Wv1juLg+rX6wKsLT3FwfVr9Y7i4Pq1+sCrC09xcH1a/WO4uD6tfrAqwtPcXB9Wv1juLg+rX6wKsLT3FwfVr9Z8qyTCTGkRcjwxUCriVzDKLmGpm5aq4S3HLxccIoAAHVdl3M3O/Hr9nDlTquy7mbnfj1+zhypZABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWnZjz4y3zvsq1WWnZjz4y3zvsqwZNqfPTF+Jb/BCpLbtT56YvxLf4IVJZ7BaMhw0WsHF2Y+nc49fB3lXXLLaoqwGHmP3cR6IQbIAAAAAAAAAAAAAAAAAAAAACpZxhow2NqpojSiqN9THQtqu7pqonFWqe/FGs+kEMADquy7mbnfj1+zhyp1XZdzNzvx6/Zw5UsgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALTsx58Zb532VarLTsx58Zb532VYMm1Pnpi/Et/ghUlt2p89MX4lv8ABCpLPYJzIMfTbj5NenSJnWiZ5PsQYgvYqWGzTFYeIppub6mO9Xxtju7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8Tu7iupZ9WfiCyitd3cV1LPqz8XyrPMVMaRFqPDFM/EFhxF+3h7U3LtW9pjtVDGYirFYmu7Vxb6eKOiHnEYi7iK99euVVz4e8xAAA6rsu5m5349fs4cqdV2Xczc78ev2cOVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07MefGW+d9lWqy07MefGW+d9lWDJtT56YvxLf4IVJbdqfPTF+Jb/AAQqSz2ACAPVFNVdUU0UzVVPFERGsyl7G5rNb1EVRhZpievVFM+iZ1BDCQx2TZhgad/icNXTR1o0qiPLCPAAABvYDKcdj41wuHrrp63JT6Z4gaImru5jNrdG+nC76I6tdMz6NURct12q5ouUVUVxxTTVGkwDwAADJYs3cRdi3Yt13Lk8lNMayDGJujcvm1dG++TRHgm5TE/e0MdluMwE6YvD12470zGsT5Y4gaYAAAAk8FkWZYyiK7GFr3k8lVUxTE+nlZMTudzTD0TXXhKqqY79ExV2RxgiB9mJidJ4ph8AAB1XZdzNzvx6/Zw5U6rsu5m5349fs4cqWQAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFp2Y8+Mt877KtVlp2Y8+Mt877KsGTanz0xfiW/wQqS27U+emL8S3+CFSWewfYiZmIiNZl8SO563TdzzBUV/o8LE+jj9yC9bmcjt5Zhqbl2mKsZXGtVU/s+CE4APkxExMTETE8UxKhbsskowVVOMwlO9sVzpXRHJTV4PBK/I3dJapu5FjaauSLc1eWOOPuByoAFi3IZLTmV+q/iY1w1qdN716uj7HRKKaaKIpopimmOKIiNIhDbjrdNG57DTTHHXvqp8M76fhCaARO6DJrOa4Wr6MU4mmPzdzv/ZPgSwDjVyiq3cqoriaa6ZmmYnvTDymN11um3uhxcURpEzTV5ZpiZQ4M2Ew9zF4m1YsxrcuVRTDqOTZXh8rwsWrFMTXMfTuTHHVKl7g7dNeeTVVHHbtVVU/brEe+XRAHi9at37VVu9RTXbqjSaao1iXsBzLdRk/crGxwWs4a7rNEz3umEK6Hu9t01ZLRXP6VF2JjyxMOeALluMyK3dtxj8ZRFcTP5qiqOLi/alTXX8ut02cvw1uj9Gm3TEegGwACtbrsjt4vC3MXhqIpxNuN9VpH6cd/wArnrs/LyuQY+3TZx2JtUfo0XKqY+yJBrgA6rsu5m5349fs4cqdV2Xczc78ev2cOVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07MefGW+d9lWqy07MefGW+d9lWDJtT56YvxLf4IVJbdqfPTF+Jb/BCpLPYM+BxE4XGWL9PHNuuK9OnSWAQdiw1+3icPbvWat9brjfRLK5lkGf38pmbenC4aqdZtzOmnhiVvsbq8quURNy7XZnq125n7tQTyvbtsfThcpqw8T+dxH0Yjop78+7ysGYbscHaomMFRXfud6Zje0x6eNScwxt/H4mq/ia99cq9ER0QDWABftwePpu5fVg6p/OWZmaY6aZnX79fStLj+DxV7B4ii/h65ouUTrEwu2W7scNcoinH26rNzv1URvqZ98AtTzduUWrdVy5VFNFMa1TPehCXt1eU26Jqov13Z6tNuqJ7YhVN0G6O/mdM2bVPA4Xv068dX2z7gRmb4v5dmeIxPeuV60/ZyR2RDTAEpuax1OX5xYvXJ0tT9CueiJ7/wB0upxMTETE6xPfcYWXIN1F3AW6cPi6JvYenipmJ+lT8YB0IQdG6rKKqImrEVUT1ardWvZCMzTdlapoqoy23VVXPFwlyNIj7I74Me0DH0zTYwNE61RPCV+Di0iO2VLe7125fu13b1c13K51qqnlmXgB1Dcrjqcdk9jSfzlqmLdceGOSfLDl7dyrMsRlmKi9hqvBVTPJVHRIOtCt4HdfgL1EfKYuYevv60zVHkmPgyYrdbllqjWzXcv1d6mmiY+/QEtmeMt4DA3cTdmNKKdYjrT3ockuVzcrqrqnWqqZmZ8KTzzOsRm12Ju/Qs0/oW6eSPDPTKKAAB1XZdzNzvx6/Zw5U63sis/KNzGaWZne8Jeqo105NaIhRd2W5m9uax1u1Xdi/ZvUzVbuRTvddOWJjpjWPSs9IrwCKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALTsx58Zb532VarLTsx58Zb532VYMm1Pnpi/Et/ghUlt2p89MX4lv8EKks9gAgD7EazpHKksPkWZ4ijfWsHd3vTVpT9+gIwbeNy7GYL9aw1y3HWmOL08jUAAABtYPAYrGzMYXD3LunLNNPFHlBqiUvZBmlmjfV4K7p/w6VdkIyqJpqmKomJjliQfAAAeqKKrlcU26aqqp4oimNZkHkStvc9mtyjfU4K5Ef8AFMUz6JnVo4rCYjCV73E2blqrvb+mY1+wGAAAAAbuDyrHY2N9hsLdrpnkq00j0zxMmKyTMsLTvr2DuxTHLNMb6I9AI4AAAHYNi/8A6Fjv/c/9NLQ23f7L57/tt/Yv/wChY7/3P/TS0Nt3+y+e/wC2+vpPty4B8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALTsx58Zb532VarLTsx58Zb532VYMm1Pnpi/Et/ghUlt2p89MX4lv8ABCpLPYPr4kNz9qm/nWCt18dM3YmY6dOP3ILtuXyC1gMPRiMRRFWMrjXjj/y/BHhWEAea6KblE0XKYqpmNJiY1iXPt12R05dcpxOFiYw1ydJp6lXwdDRm6WzTeyLG01d63NcfbHH7gcrABPblMljNMTVcvxPyW1+l/wAU9Do1m1bsWqbdmimi3TGkU0xpEIfcbapt7nsPNMcdc1VVeGd9MfdEJsBCbo8is5nYqrt000YymNaa44t94JTYDjVdM0V1U1RMVROkxPel5S+6y1Ta3QYymiNImqKvLNMTPbKIBkw9mvEX7dm1G+uXKoppjwy6fkeTYfKsPEUUxXfmPp3ZjjmfB0Qp24S1Tcz3fVctu1VXH28Ue90UBixWHs4qzVaxFum5bq5YqhlAcv3SZTOU47eUzNVi5G+t1T2x5EQ6Fu+tU15NRcn9K3djSftif/3kc9AW3cdkNvFU/LcbRvrWulu3PJV4Z8CpOvZZZpsZdhrVH6NNumOwGxERERERERHJEPoAqm67ILd2xcxuDoii9RG+uU0xxVx35+1Q3ZpiJiYmNYlyDHWosY3EWqf0bdyqmPJOgMAAOu7HblNrc7mNy5OlFF+aqp6IiiNVU2lbpMLugx2FowG+qw2GpqiLlVOm/mrTXSJ49OKOVY9lvM3O/Hr9nDlT6+kAHyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtOzHnxlvnfZVqstOzHnxlvnfZVgybU+emL8S3+CFSW3anz0xfiW/wQqSz2DYy/EThMdYxEazwdcVaR34ieRriDsli7Rfs0XbVUVW64iqmY78Pbm+57dHdyuOBvUzewuuu9146fs+C4WN0mVXqIn5VFE9FdMxMAmEBu0xtOFyau1r+dxH0KY8Hfn3eV5zDdZl+Hon5PVVibneimJiPLM+5Rc0zC/mWKqv4mrWeSmmOSmOiAaYAOg7hMbTeyucLMxwliqdI6aZnXX06rM5DgMZewGKoxGGr3tyn0THRPgXrLd12Bv24jF77DXe/rE1Uz9kwCyPldVNFM1VzEU0xrMz3oRN7dHlVqjfTi6avBREzP3Knui3TXMxonD4Wmq1hp/Smf0q/hAInOsXGOzXE4in9Guv6P2RxR2RDRAEvuWxtOAzmzcuTpar1t1z0RP8AnR1Bxha8g3VVYS1Rh8fTVctU8VNynjqpjonpBfBE0bosqro30YyiPBMTE/cjM13X4Wzbqpy+Jv3Z5KpiYpj3yDBtAxtMWbGCpmJrmrhK/BEcUffPoUhlxWIu4rEV3r9c13K51mZYgHUtzONpx2T4eqJ+nbpi3XHRMfHlctSOTZtiMqxPCWNKqKuKu3PJVAOrCBwW6rLMRRE3blWHr79NyJ++OJkxO6bK7FEzGI4WrvU26ZmZ9wJLH4q3gsHdxF6dKLdOv2+ByO7XVcuVXK51qqmap+2Utugz6/m1cUacFhqZ1ptxPL4ZQwAAOq7LeZud+PX7OHKnVdlvM3O/Hr9nDlSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtOzHnxlvnfZVqstOzHnxlvnfZVgybU+emL8S3+CFSW3anz0xfiW/wQqSz2ACADcs5Zjr9G+s4PEV0z+1FudJ8oNMZ8RhcRhpiMTYu2pnk39M06+lgAAABlw+HvYmve4ezcu1dFFM1T2AxDdu5Xj7VE13MFiKaY5Zm3OkNIAAAH2ImZiIjWZB8G9RlOYV076nA4maeng5at6zdsV7y9brt19WumYntBjAAAAGxhsFicV+rYe9djpoomYesTl2Mw1O+xGFv26etVRMR6QaoAAAOq7LeZud+PX7OHKnXtjVNNe5/MKa6YqpqxGkxMaxMbyFc2rZFgsox2Cv5fapsUYqmvfW6OKmJp044jva77k8D6npFEAfKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07MefGW+d9lWqy07MefGW+d9lWDJtT56YvxLf4IVJbdqfPTF+Jb/BCpLPYA38hs04jOcHar46ZuRMx0xHH7kFx3L7nbWFs28VjbcV4mqN9TTVGsUR9nSs4Ax37Nu/aqt37dNy3Vy01RrDnm6vI4yu9Tew+s4W5Oka/sT0OjovdPYpv5FjKao/RomuPBNPH7gcsABNbmMlnNsVVNyZpw1vTfzHLPgh0fC4azhLMWsNbpt245IphE7jLNNrc/Yqpj6Vyaq6vDOsx90QnAFe3SbnrOPs13sNRTbxccesRpFfgnw+FYQHGZiYmYmJiY5Yl8S26qzTYz/GUURpE1RX5ZiJntlEg92bVd67RatUzVXXMU0xHfmXS8gyLD5XZpqqppuYqY+lcmNdPBHRCpbhrNN3Paaqo14K3VXH28Ue90YBr47BYfHWJtYq1Tconk15Y8MT3mwA5XugyqvKcdNqZmq1V9K3X0x8UY6Du+s015RbuzH0rd2NJ8ExOvuc+AWjcjkFOO/8AF4ynXD0zpRR15+Cruu5VYpw2W4WzRGkUW6Y8unGDYt0U26Iot0000RxRTTGkQ9TGsaTyACnbrdz1uLFeNwFEUVUcdy3THFMdMdCkuzVUxVTNNUa0zGkxPfcgxtqLGMv2Y5Ldyqj0ToDAADsmxvm/if8An+5Gbbv9l89/20nsb5v4n/n+5Gbbv9l89/2319J9uXAPlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABadmPPjLfO+yrVZadmPPjLfO+yrBk2p89MX4lv8EKktu1Pnpi/Et/ghUlnsG1luJ+R5hh8RyxbuRVMdMa8bVEHZbddNy3TXbqiqiqImJjvw9Oebm90tWXURhsXFVzDfszH6VHxhcrGd5ZfoiqjHWIjorriifRIJFB7scZThcku0a/nL/wCbpj7+x9zDdNluEoneXoxFzvU2uPt5FCzjM7+aYub1/SIjioojkpgGgADoe4XGU38o+T6/nLFUxp4JnWJ+/wBCyOR5Xj72W4unEYedKo4pieSqOiV+y3dRl+LoiL1z5Nd79Nzk8k8gJ58mYiJmZ0iOWZaF7OsstUTVVjsPMf8ABXFU+iFS3R7qPllqrC4CKqLFXFXcnimqOiI70AhM9xcY7N8ViKOOiqvSmemIjSOyGgAJncljKcFndmq5Olu5E26p6NeTt0dOcYXHc/urptWqcPme+mKY0pvRGs6eGPeC7DQoznLa6Iqpx2G0nrXIifRKMzTdXgcLRMYWr5Te70U/ox9s/AGntAxlNOFsYOmfzlVXCVR0RGsR9/YozPjcVexuJrv4ivfXK51mfcwAOq7nMZTjcnw1ymdaqaYorjoqjin4+VypKZDnF7KMRNVH07NX6duZ5fDHhB1MRGC3R5Zi6In5TTZq79N2d7MeXkZMVn2WYejfVYy1X4LdW/mfQDdxmIowmFu37s6UW6ZqlyG9cm7euXKv0q6pqn7ZTe6PdBczWYtWqZtYWmdYpmeOqemfggQAAdk2N838T/z/AHIzbd/svnv+2k9jfN/E/wDP9yM23f7L57/tvr6T7cuAfKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07MefGW+d9lWqy07MefGW+d9lWDJtT56YvxLf4IVJbdqfPTF+Jb/BCpLPYAIAM9nCYi/GtixduR00UTP3AwD3dtV2q97doqoq6Ko0l4AAAB6t0V3Kopt01VVT3qY1kHkbF3B4mzTvr2HvW6emqiYhrgAAAADYt4LFXKN/bw1+unpptzMMNVNVFU01RNNUcsTGgPIAAAAyWbN2/VvbNuu5V0UUzMvV/DX7GnD2btvXr0TH3gwgAAA7BsX/APQsd/7n/ppaG27/AGXz3/bbmx67TZ3OZldua7yi/NVWka8UURqp+0TdPZ3R47Dxg6K6cLhqaoomuNKqpq01nTvckPr6T7VIB8qAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALTsx58Zb532VarLTsx58Zb532VYMm1Pnpi/Et/ghUlt2p89MX4lv8EKks9gDeyTD04rN8JZrjWiq5G+jpjllBbNy+5u1RYoxeYURXcriKqLdUcVMdMx35WymIpiIpiIiOSIfQGDF4WxjLU28Taou0T3qo+7oc73T5JVlOIpqtTNWFuT9CZ5aZ6JdLRO6nD04jIcXFUcdFPCRPRMcfxBy4AEvucyevNsXNMzNFi3x3K4+6PC6PgcDhsBZi3hbNNunv6Rxz9s99F7irFNnILNcR9K7VVXV6dPuhOgKxuk3NWcTZrxGAtxbxNMazRTGkV+TpWcBxmY0nSeV8Su6ixThs+xluiNKd9FUR9sRPvRQPVuiq5cpooiaq6piIiO/Lo25/c5h8vtUXcTRTexc8czVGsUeCPiq24jD0389oqrjXgqKrkR4eKPe6QA08yy3C5jamjFWoq6Ko4qqfsluAOU55llzKsdVYrnfUTG+or0/ShHOgbv7FNeVWr2kb+3ciInwTE6/dDn4CyblMgjMqpxOK1jC0TpFPJv5+Ctut5Rh6cLleFs0xpvbca/bprPaDYw9i1h7cW7Fui3RHJTTGkPVdFNyiablMVUzyxMaxL0ApG6vc5bsWqsbl9O9op47lqOSI6Y+Cnuy3KKblFVFca01RpMT34cgxdr5Pi71nl4Ouqj0ToDCADquy7mbnfj1+zhyp1XZdzNzvx6/Zw5Us9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALTsx58Zb532VarLTsx58Zb532VYMm1Pnpi/Et/ghUlt2p89MX4lv8EKks9g28qxMYTMsNiJ/Rt3IqnTo14+xqCDs1FUV0xVTMTTMaxMd99ULczumjBWqcLj99VYp4qLkcc0R0THQuVjMsFfo31nF2Ko8eNfQDbQu6/F04XI78TP070cHTHTry9mrNmGfZdgqJmvEUXK45KLU76Z9HJ5XPs9za9m2L4S59G3TxW7cclMfEEaADou4bFU38lizr9OxVNMx4JnWJ7Z9CxOTZRmV/K8XF+xOveqonkqjodCy3dDl2NoieHps3O/RdnezHl5JBLjVvZjg7NG+u4qxTT4bkKluk3UU37VeFy2Z3lXFXdni1joj4ggN0GKpxuc4q/Rx0VV6Uz0xEaRPYjgBN7j8XThM8tTXOlF2JtTP28nbEOmOMxxTrC75BurtzaosZpVNNynii9prFX2+Hwgt41qMfg7lG+oxViqnpi5CNzTdLgMFbq4O7TiL3eotzrHlnkBHbQMXTRgbGFifp3K9/MdFMa++exRGzmONvZhi68RiKta6u93ojohrAOr7n8XTjMow12mdZ3kU1eCqOKXKExudzu7lF6qNJuYeufp0e+PCDp4jsFnWXYyiJtYq3FU/sVzvao8ksmKzXAYWiar2LsxEd6KomfRHGDYxN6jDYe5euzpRbpmqZ8DkOIuzev3LtX6VdU1T5Z1T+6bdFVmcfJ8LFVvCxOs68tf2+BXAAAdV2Xczc78ev2cOVOq7LuZud+PX7OHKlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABadmPPjLfO+yrVZadmPPjLfO+yrBk2p89MX4lv8EKktu1Pnpi/Et/ghUlnsAEAAAAAAAAAAAAAAAAAAAAAAAAAAHVdl3M3O/Hr9nDlTquy7mbnfj1+zhypZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWnZjz4y3zvsq1WWnZjz4y3zvsqwZNqfPTF+Jb/BCpLbtT56YvxLf4IVJZ7BtYfA3b0RPFTT0yyZZh4u1zcrjWmnvdMphBGdy/wCd/b/k7l/zv7f8pMBGdy/539v+TuX/ADv7f8pMBGdy/wCd/b/k7l/zv7f8pMBGdy/539v+TuX/ADv7f8pMBGdy/wCd/b/k7l/zv7f8pMBGdy/539v+TuX/ADv7f8pMBGdy/wCd/b/k7l/zv7f8pMBGdy/539v+TuX/ADv7f8pMBGdy/wCd/b/k7l/zv7f8pMBGdy/539v+TuX/ADv7f8pMXUm0Z3L/AJ39v+TuX/O/t/ykw1JtFzlc6cV2Jnw0tPEYa5Yn85HF0xyLA810010zTVGsTywgrYzYuzNi/VR3uWPsYQdV2Xczc78ev2cOVOq7LuZud+PX7OHKlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABadmPPjLfO+yrVZadmPPjLfO+yrBk2p89MX4lv8EKktu1Pnpi/Et/ghUlnsTmWREYOiY7+v3tpq5b+pW/L98tpAAAAAAAAAAAAAAAAB3/ZTs7wGEynDZtnWGt4nH4iiLtu3dp31FmmeOn6M8U1acfHyOp00000xTTEU0xyREaRDDgL9nFYHDYjDTE4e7bprtzHJvZjWOxsN/gxVpSNNXlyTa3yAPfUPPY+VUxVTNNURNM8UxMaxL6GoNuVbVdnWAxeU4nNslw1vDY/D0TduW7VO9pvUxx1fRjiirTWeLlcAfszML9nC4DE4jFTEYe1bquXJnkimImZ7H4zann4q1mLV+2bxrzaJiUXnMRranv8AHH3I1J5z/o+X3Ixr2W6rsu5m5349fs4cqdV2Xczc78ev2cOVLPQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07MefGW+d9lWqy07MefGW+d9lWDJtT56YvxLf4IVJbdqfPTF+Jb/BCpLPYnMt/Urfl++W01ct/Urfl++W0gAAAAAAAAAAAAAAAA6hs12nzufwdGV51au38vo/8q7b467UdGk8tPbHhdOp2p7j5piZzaaZnvThr3F/Y/MIy8XMyY6+sPC/Hredy/T/zpbjvrj/4t7/6Hzpbjvrj/wCLe/8Ao/MA9P8AIZP6h8/taP0/86W4764/+Le/+j5VtT3HxTMxm01T0Rhr3H/Y/MIn+Qyf1B+1o6htK2nzugwdeV5Lau2Mvrn87ducVd2I72kclPbPgcvBjZc1ss7s9qY4pGoRmc/6Pl9yMSec/wCj5fcjHk+3Vdl3M3O/Hr9nDlTquy7mbnfj1+zhypZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWnZjz4y3zvsq1WWnZjz4y3zvsqwZNqfPTF+Jb/BCpLbtT56YvxLf4IVJZ7E5lv6lb8v3y2mrlv6lb8v3y2kH2iiq5XFFETVVPFEQm8LkWtMTibkxM/s0d7yve5vDRFurE1R9KZ3tPgjvpt0vifEUz0/Nm6+oarm822O3pjRNeRYaafo13YnpmYn3IfMMuu4KdatK7czpFce9bnm7bpu2qrdyNaao0mG05HguNekxjjUsPH5DLW38p3CjjLirM2MRctT+zOmvSxOKy47YrzS3cN/S0XrFoEll+U3cVTFyurg7U8kzHHLDlOGjFY2iiqNaI+lV9kLdEaRpEaQ23iPGRzJm+T/WGFzeXOCPWvcoqMiwunHXd16dY+DSxuSV2qZrw9U3Ij9mY4/8AKxDo7+E4lq6iuv8A61dfIZoncyos8Qld0OFiziabtEaU3eWPCinGczjTxc04p+m9wZozUi8DYwWDu4u5vbUcUctU8kNeI1nSFywGGpwuGot0xx8tU9MvbxvBnm5fXqI7fHK5EYKb+0fayGxFP527cqq8GkQ84jIbc0zOHu1RV0V8cJodd/hOHrXr/wBlpP3+fe9qTiLFzD3Zt3aZpqjtY1pzzCxfwVVcR+ctxvonwd9VnKeT8fPCyaj5rPTc8Tk/npuex9ooquVxRRE1VTxREPif3N4amLdeIqjWqZ3tPgjvsTi8e3Jyxir9vbNljFSby8YXItaYnE3JiZ/Zo73lbFeRYaafo13aZ6ZmJ9yWHaY/B8StdTXctDbyGaZ3E6VLMMuvYKdatK7c8UVx72kvF23Tdt1W641pqjSYUzFWZsYi5an9mdNeloPL+LjiayY/9Z/42fC5k5v437Q+c/6Pl9yMSec/6Pl9yMaJsHVdl3M3O/Hr9nDlTquy7mbnfj1+zhypZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWnZjz4y3zvsq1WWnZjz4y3zvsqwZNqfPTF+Jb/BCpLbtT56YvxLf4IVJZ7E5lv6lb8v3y2mrlv6lb8v3y2kFqyGqJyy3EctMzE+lIKxkmOjC3ard2dLVc8vVlZ4mJiJidYl3nheTXNx4rHdfhznPxTTLM/UgNTMcbRg7MzMxNyY+jT0tre9aVm1p+IYdazadQruc1RVmd+Y6Yj0RDSfa6prqmqqdapnWZfH5vzMsZc9r16mXVYKTTHFZ+ktuamIxtyO/NudPTCyKVhL9WGxFF2jlpnk6Y6FvwuIt4q1Fy1VrE8sd+PA6T9O56elsU99tV5THPtF/pmB5uV026JruVRTTHLMum6alD7pqo4CxT35qmVfbma4v5ZiprjWKKeKmPA03BeZ5Fc/JmadR8Ok4OKceKIs92KopvW6p5IqiZ9K7qKs+S4+m/ZptXJ0vURpx/tQyv0/yKYss0t/6ePksVr0i0fSTAdm0LDjZinB35nk3k/cpadz/H01UThrNWus/TmPuQTj/wBQ8mmS9cVfpvPGYrVrNp+xashqicstxHLTMxPpVVJ5JjqcLdqt3Z0tVzy9WWv8RyK8fkxa3U/DJ5uKcuKYjtZwiYmImJ1iR+gRMTG4c0KlnNUVZnfmOmI9EQsWY42jB2ZmZibkx9GnpVGuqa6pqqnWqZ1mXOfqHkUjFGL73ttPGY7e83+kXnP+j5fcjEnnP+j5fcjHHt46rsu5m5349fs4cqdV2Xczc78ev2cOVLPQAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC07MefGW+d9lWqy07MefGW+d9lWDJtT56YvxLf4IVJbdqfPTF+Jb/BCpLPYnMt/Urfl++W01ct/Urfl++W0gNrDY/E4aNLV2Yp6s8cNUemPLfFPtSdS+bUreNWjaRrznGVRpFVNPhiloXLldyuarlU1VTyzMvI9s3M5GaNZLTMPPHgx0+awAMV7DJYv3bFe+s11UVeBjH1W1qT7VnUpMRaNSkozrGRTpNVEz0zS1MTi7+JnW/cqq8HJHoYBlZOdyb19bXnTxrx8VZ3FY2AMN7hEzExMTMTHfgDob9nN8Zbp04SK4jrRq8YjM8Vfpmmq5vaZ71MaNMZv7/levr7zpj/ALbDvfrGwBhzMz8y94jQAitnDY/E4aNLV2Yp6s8cNivOcZVGkVU0+GKUcMzFzuTjr60vOnhbj4rTu1YerlddyuarlU1VTyzMvIMW97Xn2tO5e1axWNQjM5/0fL7kYk85/wBHy+5GPlXVdl3M3O/Hr9nDlTquy7mbnfj1+zhypZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWnZjz4y3zvsq1WWnZjz4y3zvsqwZNqfPTF+Jb/AAQqS27U+emL8S3+CFSWexOZb+pW/L98tpq5b+pW/L98tpBsYDCV4y/FujiiOOqrohaMJgMPhqYi3biautVGsy1tz1mKMBFzT6VyZnXwRxJN2HhfGY4xRmyxuZ620fP5dpv+Ok6iHmu3Rcp3tymmqnomNULmuUUxbqvYWNJjjqo+CcG45PBw8mvrerBxci+Kd1lRRs5naixj71umNIirWI8E8fvaz895GL8OS2Ofp0+O/vSLf2+00zVVFNMTMzOkRCyZdlFqzRFeIpi5dnvTyR8UbuetU3Mw31Ua7ymao+3k96zt74Px+PPvLljcR9Nd5Dk2x6pT4fIpiKdIiIjoiGjjcrw+JpmaaYt3O9VTH3w3x1OTi4clfS1Y009c16z7RPypOIs14e9VbuRpVSxp3dNajWzeiOOdaZ93vQTgfI8SOJnnHHX06Pi5vzY4tPYlsoyv5THDX9Ytd6Ot/hFW6ZruU0xy1TELvaopt26aKY0ppjSIZPh+DXl5f5/6w8+dyJw0/j3LzZsWrNMRat00R4IecRhbGIp0vW6avDpx+lmHbRxsUU9PWNf1poPy337b+VTzXL6sFciaZmq1V+jPR4JaK4Zpai9gL1M96mao+2ONT3GeZ4FeLki2P/WW94PJnNXVu4GxgMJXjL8W6OKI46quiGus+56zFGAi5p9K5Mzr4I4mDwOL+6zxj+vtkcnN+HHNmzhMBh8LTEW7cTV1qo1mWxXRRcp3tymmqOiY1eh3+LiYcNfSlY05u+a959rSg81yimLdV7Cxppx1UfBAr0p2Z2osY+9bpjSIq1iPBPH73Ned8djw1jNjjX9w2vj+Ta8/jv8AKDzn/R8vuRiTzn/R8vuRjmW2dV2Xczc78ev2cOVOq7LuZud+PX7OHKlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABadmPPjLfO+yrVZadmPPjLfO+yrBk2p89MX4lv8EKktu1Pnpi/Et/ghUlnsTmW/qVvy/fLaauW/qVvy/fLaQWfc9eivAcH37dUxp4J40mpuAxdeDvxco445KqemFowmPw+JpiaLkRV1ap0l2vhOfTJhjDef5Q0PP41q3m9Y+JbQ8110W6d9XVTTHTM6IXNc3pm3VZws6zPFVX4PA23I5WPj0m95YWLDfLb1rCKzO7F/H3q6eOJnSJ+ziawPzvk5fzZbZP7l0+Kn46RX+knueuxbx+9qnTf0zTH28vuWdRqappqiqmZiYnWJhZMuze1eoijE1Rbux355J+DfeB52PFvDknW+mu8jx7X1kr9JUfIqpmnfRMTHTEtHG5ph8NTMRVFy53qaZ19Lqr5qY6+1p1DTVpa06iGjumux+Zsxy8dU+73oJkxF6vEXqrlydaqpY3A+U5ccrPN69fTpeJhnDjis9vVureXKao5aZiV2tV03LdNdE601RrEqOlsnzT5NEWb+s2u9VH7P8Ahk+F5tOLlmMnVnjz8E5abr3CyDHZvWr1Otq5TXHgnV5xGKsYemZu3KafBrx+h235Ka9t/DQett60x5ndps4C9VVPLTNMfbPEp7fzXMKsbXFNMTTZp5I6fDLQcZ5znU5OSKY53FW+8fx7Yq+1u5Fm3PXYuYDeftW6pjTwTxqy2MBi68Hfi5RxxyVU9MMHx3K/a54yT19sjlYfzY5rHa5DVwmPw+JpiaLkRV1auKWxXXRbp31dVNMdMzo/QMeamSvtSdw5q1LVnUw9Kdmd2L+PvV08cTOkT4I4vclc1zemaKrOFnWZ4qq/ggXM+e52O9YwUnf9tt47j2rP5LIzOf8AR8vuRiTzn/R8vuRjlm3dV2Xczc78ev2cOVOq7LuZud+PX7OHKlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABadmPPjLfO+yrVZadmPPjLfO+yrBk2p89MX4lv8EKktu1Pnpi/Et/ghUlnsTGU3IqsTb79M9jeV2xdqs3Iro5Y7Uzh8ZavRH0opq6soNkAABZmZNACAAAAu5TUACKAAALuU1AAigAAC7mE1APkzFMazMRHhaWKx9FETTZmKq+nvQitXNrkV36aI/YjtaL7MzMzM8czyvgOq7LuZud+PX7OHKnVdl3M3O/Hr9nDlSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtOzHnxlvnfZVqstOzHnxlvnfZVgybU+emL8S3+CFSW3anz0xfiW/wQqSz2ACAAAAAAAAAAAAAAAAAAAAAAAAAADquy7mbnfj1+zhyp1XZdzNzvx6/Zw5Us9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALPs0qindvls1TpGtyPLNuqFYbeUY2vLc0wuNtxrVYu03NOnSeTygsm1WiqndliZqjSKrduY8Mb2I90qg6rtOyunOcqwe6DLI4Wim1HCb3jmbc8cT5Jmdft8DlSyACAAAAAAAAAAAAAAAAAAAAAAAAADLhrF3FYi3Yw9uq5euVRTRRTGszMg6jszibW4bOr1fFRvrs6/ZbjVyl1zdLwe5HZ5aymmuJxmKpm3Vp35njuT9mk73yw5GsoAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC67gt2VWRz8izCKrmW1zrxRrNqZ5Zjpjpj/8ATYc03CZXn1E4/c1jrNumvjm3H0revk46fs09DlLYweMxOCu8Lg8ResXOtarmmexYFuubNc+pnSn5JXHTTe+MQ8/Nvn/7vD/1YRMbrs/iIjuriZ+2rV9/LDP/AK0xHpj4HwJT5uM//d4f+rB83Gf/ALvD/wBWEV+V+f8A1piPTB+V+f8A1piPTB8CV+bjP/3eH/qwfNxn/wC7w/8AVhFflfn/ANaYj0wflfn/ANaYj0wfAlfm4z/93h/6sHzcZ/8Au8P/AFYRX5X5/wDWmI9MH5X5/wDWmI9MHwJX5uM//d4f+rB83Gf/ALvD/wBWEV+V+f8A1piPTB+V+f8A1piPTB8CV+bjP/3eH/qwfNxn/wC7w/8AVhFflfn/ANaYj0wflfn/ANaYj0wfAlfm4z/93h/6sHzcZ/8Au8P/AFYRX5X5/wDWmI9MH5X5/wDWmI9MHwJX5uM//d4f+rB83Gf/ALvD/wBWEV+V+f8A1piPTB+V+f8A1piPTB8CV+bjP/3eH/qwfNxn/wC7w/8AVhFflfn/ANaYj0wflfn/ANaYj0wfAlfm4z/93h/6sHzcZ/8Au8P/AFYRX5X5/wDWmI9MH5X5/wDWmI9MHwJX5uM//d4f+rB83Gf/ALvD/wBWEV+V+f8A1piPTB+V+f8A1piPTB8CV+bjP/3eH/qwfNxn/wC7w/8AVhFflfn/ANaYj0wflfn/ANaYj0wfAlfm4z/93h/6sHzcZ/8Au8P/AFYRX5X5/wDWmI9MH5X5/wDWmI9MHwJ3B7Mc5u1x8ovYSxR35muap8kRHvWaxhdz2z6xVev3vlWaTTpEcXCT4Kaf2I8M/wCHOL+6nPL9uaLma4vezyxTcmnX0IeqqquqaqpmqqeOZmdZk+ESW6PO8Vn2Z14zFzpM/RotxyUU96IRYIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADLNi5HLT2w88FX0drPVVVrPHPpedZ6ZTYxcHV0HB1dD3VM9Mvms9Mg8byroN5V0Pes9Mms9Mg8byroN5V0Pes9Mms9Mg8byroN5V0Pes9Mms9Mg8byroN5V0Pes9Mms9Mg8byrofYtVzyR2vWs9MvduZ4+OQY+BudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYeBudXtOBudXtZtZ6ZNZ6ZBh4G51e04G51e1m1npk1npkGHgbnV7TgbnV7WbWemTWemQYKrddMa1Ro86Sz3ZmaeOWFYHzSTSX0XQ+aSaS+hofIpmZiI5Ze+BudXtfKf0o+1n1nplBh4G51e04G51e1m1npk1nplNjDwNzq9pwNzq9rNrPTJrPTJsYeBudXtOBudXtZtZ6ZNZ6ZNjDwNzq9pwNzq9rNrPTJrPTJsYeBudXtOBudXtZtZ6ZNZ6ZNjDwNzq9pwNzq9rNrPTJrPTJsYeBudXtOBudXtZtZ6ZNZ6ZNjDwNzq9pwNzq9rNrPTJrPTJsYeBudXtOBudXtZtZ6ZNZ6ZNjDwNzq9r7wFzq9rLrPTJrPTJsYuAudXtOAudXtZdZ6ZetZ6ZNjB8nu9Xth9+TXep2wzxVPTL7FU9MmxgjCX55KO2BuUVTryyA//9k=","e":1},{"id":"fr_10","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QATxABAAEDAQEJCwYNAgQHAQAAAAECAwQFEQYHEhMhMTZRUhVBYXKBg5GSobPRFCJxsbLBFhcjMjRCU1RVY5Oi4UNFYnPCwyQzNXSk0vDx/8QAGwEBAQADAQEBAAAAAAAAAAAAAAEEBQYDAgf/xAAoEQEAAgICAgIBBAMBAQAAAAAAAQIDEQQxBRIhQRMGFCJRFTKhQoH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnT8HJ1HLt4uFZrvX652U0Ux7fBHhWLpu9vi4mNGTuk1Gm1THLVRbqiimnwTXV8AViLSr0/e8tTwasuKpjvxduVbfLHI8/I97r95n17vwXQq8Wh8j3uv3mfXu/A+R73X7zPr3fgaTarxaHyPe6/eZ9e78D5HvdfvM+vd+Bo2q8Wh8j3uv3mfXu/A+R73X7zPr3fgaNqvFofI97r95n17vwPke91+8z6934GjarxaHyPe6/eZ9e78D5HvdfvM+vd+Bo2q8Wh8j3uv3mfXu/A+R73X7zPr3fgaNqvFofI97r95n17vwPke91+8z6934GjarxaHyPe6/eZ9e78D5HvdfvM+vd+Bo2q8Wh8j3uv3mfXu/A+R73X7zPr3fgaNqvFofI97r95n17vwPke91+8z6934GjarxaHyPe6/eZ9e78D5HvdfvM+vd+Bo2q8Wh8j3uv3mfXu/A+R73X7zPr3fgaNqvFqW9C3Bah+Txc+LVyeSJ+UTTP8Ae4u6be7ztNs1ZOm3Pl2NTG2aYp2XKY+j9byeg0bQUBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH2ImZiIiZmeaIfHe3CYlObuu0yzXETTxvGTE9/gxNX/AEgsLAs4m99uVjMybUXNVyYiJp781Ty8DwUx3/8A+Kv1rWM7WcucjUL9V2v9WnmpojqpjvQlW+/nV390tGLwp4rGsxsp/wCKrlmfRwfQgqygAigAAAAAAAAAAAAAAAAAAAAAAACW7i92OXoWTbs5Fdd/Tap2VWqp2zbjrp6vo5pRIBYu+juesUUWte0vgzjZMxxsUfm7Z5Yrj6e/4dnWrpbO5CvuxvX6lh354U2Kbtujb4Iiun0TPsVMsgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTvY9ONN877qtFkp3senGm+d91WDJvp9NMvxLf2IRJLd9Pppl+Jb+xCJLPYAyY9m5kXYt2qZqqlBjEhxtCtxTE5Fyqqrqp5IbHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrHcXD7NfrAiwlPcXD7NfrPlWiYkxsiLkeGKgRcdTUNIuY1M3LU8Zbjn5OWHLAABau9d0N1vx6/dwqpau9d0N1vx6/dwqpZABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWewSjQcaLWHF2Y+fc5dvg7yLplptUVYGPMfs4j0Qg2QAAAAAAAAAAAAAAAAAAAAAES1jGjGzaqaI2UVRwqY6ktR3dNVE5VqnvxRtn0g4wALV3ruhut+PX7uFVLV3ruhut+PX7uFVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU72PTjTfO+6rRZKd7HpxpvnfdVgyb6fTTL8S39iESS3fT6aZfiW/sQiSz2DuaBn024+TXp2RM7aJnm+hwxBOxEsbVMrHiKabnCpjvV8rY7u5XYs+rPxBJRGu7uV2LPqz8Tu7ldiz6s/EElEa7u5XYs+rPxO7uV2LPqz8QSURru7ldiz6s/E7u5XYs+rPxBJRGu7uV2LPqz8Tu7ldiz6s/EElEa7u5XYs+rPxO7uV2LPqz8QSURru7ldiz6s/E7u5XYs+rPxBJRGu7uV2LPqz8Tu7ldiz6s/EElEa7u5XYs+rPxO7uV2LPqz8QSURru7ldiz6s/E7u5XYs+rPxBJRGu7uV2LPqz8XyrXMqY2RFqPDFM/EEhyL9vHtTcu1cGmPaiGZkVZWTXdq5OFPJHVDzkZF3Ir4V65VXPh7zEAAC1d67obrfj1+7hVS1d67obrfj1+7hVSyACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9gAgD1RTVXVFNFM1VTyRERtmXXsbmtVvURVGLNMT26opn0TO0HGHQztG1DBp4eTjV00dqNlUR5Yc8AAAG9gaTnZ8bcXHrrp7XNT6Z5AaI7V3cxq1ujhTi8KI7NdMz6NrkXLddquaLlFVFcck01RsmAeAAAZLFm7kXYt2Lddy5PNTTG2QYx26Ny+rV0cL5NEeCblMT9bQztNzMCdmXj124nmmY2xPljkBpgAAADp4WhalmURXYxa+BPNVVMUxPp52TJ3O6pj0TXXiVVUx36Jir2Ryg5A+zExMxMbJh8AABau9d0N1vx6/dwqpau9d0N1vx6/dwqpZABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWewfYiZmIiNsy+Ojuet03dcwqK/zeNifRy/cgnW5nQ7emY1Ny7TFWZXG2qqf1fBDuAD5MRMTExExPPEoFuy0SjCqpzMSng2K52V0RzU1eDwSnzm7pLVN3Qs2mrmi3NXljlj6gVUACRbkNFp1K/VfyYmca1Ozg9urq+hYlFNNFEU0UxTTHJERGyIcbcdbpo3PY00xy18KqfDPCn4Q7QDk7oNGs6ri1fNinJpj8nc7/0T4HWAU1coqt3KqK4mmumZpmJ70w8uxuut0290OXFEbImaavLNMTLjgzYmPcy8m1YsxtuXKophaOjaXj6XixasUxNcx8+5MctUoXuDt0165NVUctu1VVT9O2I++ViAPF61bv2qrd6imu3VGyaao2xL2ArLdRo/crNjits413bNEz3uuHFWHu9t01aLRXP51F2JjyxMK8ATLcZoVu7bjPzKIriZ/JUVRycn60oat/TrdNnT8a3R+bTbpiPQDYABGt12h28vFuZeNRFOTbjhVbI/Pjv7fCr1c/Pzqgz7dNnOybVH5tFyqmPoiQa4ALV3ruhut+PX7uFVLV3ruhut+PX7uFVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU72PTjTfO+6rRZKd7HpxpvnfdVgyb6fTTL8S39iESS3fT6aZfiW/sQiSz2DPg5E4uZYv08s264r2deyWAQXFjX7eTj271mrhW644USyqy0DX7+kzNvZxuNVO2bczs2eGJS+xur0q5RE3LtdmezXbmfq2g7yPbts+nF0mrHifyuR82I6qe/P3eVg1Ddjh2qJjCorv3O9MxwaY9PKhOoZt/Pyar+TXwrlXoiOqAawAJ9uDz6bun1YdU/lLMzNMddMzt+vb6UpU/h5V7DyKL+PXNFyidsTCbaduxxrlFNOfbqs3O/VRHCpn74BKnm7cotW6rlyqKaKY21TPehxL26vSbdE1UX67s9mm3VE+2IRTdBujv6nTNm1TxOL36dvLV9M/cDmavl/LtTyMnvXK9tP0c0eyIaYA6m5rOp0/WLF65Oy1PzK56onv/VK04mJiJidsT31MJLoG6i7gW6bGXRN7Hp5KZifnU/GAWEOHRuq0iqiJqyKqJ7NVurb7IczVN2VqmiqjTbdVVc8nGXI2RH0R3wY98DPpmmxg0TtqieMr8HJsiPbKFvd67cv3a7t6ua7lc7aqp55l4AWhuVzqc7R7GyfylqmLdceGOafLCr27pWpZGmZUXsarwVUzzVR1SC2hG8HdfgXqI+Uxcx6+/tpmqPJMfBkyt1umWqNtmu5fq71NNEx9ewHW1PMt4GDdybsxsop2xHanvQqS5XNyuquqdtVUzMz4XT1zWsjVrsTd+ZZp/Mt080eGeuXKAABau9d0N1vx6/dwqpbe9FZ+UbmNUszPB4y9VRt2c22iIQXdluZvbms63aruxfs3qZqt3Ip4O3ZzxMdcbY9Kz0iPAIoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9gAgD7EbZ2Rzulj6FqeRRwrWHd4PXVsp+vYDmDbzdOzML9KxrluO1Mcnp5moAAADaw8DKzZmMXHuXdnPNNPJHlBqjqXtA1SzRwq8K5s/4dlXshzKommqYqiYmOeJB8AAB6ooquVxTbpqqqnkiKY2zIPI61vc9qtyjhU4VyI/4pimfRM7WhlYmRiV8HJs3LVXe4dMxt+gGAAAAAbuHpWdmxwsbFu10zzVbNkemeRkytE1LFp4V7DuxTHPNMcKI9AOcAAAC4N5f/0LO/8Ac/8ATS0N+7/ZfPf9tv7y/wD6Fnf+5/6aWhv3f7L57/tvr6T7VcA+VAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3senGm+d91WiyU72PTjTfO+6rBk30+mmX4lv7EIklu+n00y/Et/YhElnsH18dDc/apv61hW6+WmbsTMdezl+5BNty+gWsDHoyMiiKsyuNvLH/AJfgjwpCAPNdFNyiaLlMVUzGyYmNsSr7ddodOnXKcnFiYxrk7Jp7FXwWG5m6WzTe0LNpq71ua4+mOX7gVWADvblNFjVMmq5fifktqfnf8U9SxrNq3YtU27NFNFumNkU0xsiHH3G2qbe57HmmOWuaqqvDPCmPqiHbAcTdHoVnU7FVdummjMpjbTXHJwvBLtgKarpmiuqmqJiqJ2TE96Xl191lqm1ugzKaI2RMxV5ZpiZ9suQDJj2a8i/bs2o4Vy5VFNMeGVn6Ho2PpWPEUUxXfmPn3ZjlmfB1Qh24S1Tc13hVc9u1VXH08kfesUBiysezlWarWRbpuW6ueKoZQFX7pNJnSc7gUzNVi5HCt1T7Y8jkLC3fWqa9GouT+dbuxsn6Yn/95FegJbuO0G3lU/Lc2jhWtuy3bnmq8M+BElvaZZpsadjWqPzabdMewGxERTERERERzRD6AIpuu0C3dsXM3Doii9RHCuU0xyVx35+lA1zTETExMbYlUGdaixm5Fqn823cqpjyTsBgABbu87cps7ndRuXJ2UUX5qqnqiKI2opvlbpMXdBnYtGBwqsbGpqiLlVOzhzVs27Inl2ckc6R71vQ3W/Hr93Cqn1PSAD5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWewbGn5E4mdYyIjbxdcVbOuInma4guSxdov2aLtqqKrdcRVTMd+HtW+57dHd0uOJvUzexdu3g7eWn6PgmFjdJpV6iJ+VRRPVXTMTAOw4G7TNpxdGrtbfyuR8ymPB359H1vOobrNPx6J+T1VZNzvRTExHlmfuQXVNQv6llVX8mrbM8kUxzUx1QDTABYO4TNpvaXOLMxxliqdkddMzt2+nakyocDMvYGVRkY1fBuU+iY6p8Cdabuuwb9uIy+FjXe/tiaqZ+iYBJHyuqmimaq5iKaY2zM96HJvbo9KtUcKcumrwURMz9SJ7ot01zUaJx8Wmq1jT+dM/nV/CAcnWsuM7VcnIp/Nrr+b9EckeyIaIA6+5bNpwNZs3Lk7LVe23XPVE/wCdi0FMJXoG6qrEtUY+fTVctU8lNynlqpjqnrBPByaN0WlV0cKMyiPBMTE/U5mq7r8Wzbqp0+Jv3Z5qpiYpj75Bg3wM2mLNjCpmJrmrjK4jvRHJH1z6EIZcrIu5WRXev1zXcrnbMyxALS3M5tOdo+PVE/Pt0xbrjqmPjzqtdHRtWyNKyeMsbKqKuSu3PNVALWHBwt1WmZFETduVY9ffpuUz9ccjJk7ptLsUTMZHG1d6m3TMzP3A6WflW8LDu5F6dlFunb9PgVHdrqu3K66+WqqZqn6ZdbdBr1/Vq4o2cVjUztptxPP4ZcYAAFq71vQ3W/Hr93Cqlq71vQ3W/Hr93CqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKd7HpxpvnfdVoslO9j0403zvuqwZN9Pppl+Jb+xCJJbvp9NMvxLf2IRJZ7ABABuWNMzr9HCs4eRXT2otzsnyg0xnyMXIxpiMmxdtTPNw6Zp2+lgAAABlx8e9k18HHs3LtXVRTNU+wGIbt3Ss+zRwrmFkU0xzzNudkNIAAAH2ImZiIjbMg+Deo0nUK6eFTg5M09fFy1b1m7Yr4F63Xbr7NdMxPtBjAAAAGxjYWTlfo2Peux10UTMPWRp2ZjU8LIxb9untVUTEekGqAAAC1d63obrfj1+7hVS3t5qmmvc/qFNdMVU1ZGyYmNsTHAhHN9bQsLSM7Cv6fapsUZVNfCt0clMVU7OWI723hc3gfU9IggD5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWewBv6DZpyNZw7VfLTNyJmOuI5fuQTHcvudtYtm3lZtuK8mqOFTTVG2KI+jrScAY79m3ftVW79um5bq56ao2wrzdXocaXepvY+2cW5OyNv6k9Sx3L3T2Kb+hZlNUfm0TXHgmnl+4FWAA7W5jRZ1bKqm5M041vZw5jnnwQsfFxrOJZi1jW6bduOaKYcncZZptbn7FVMfOuzVXV4Z2zH1RDuAI9uk3PWc+zXexqKbeXHLtiNkV+CfD4UhAUzMTEzExMTHel8dbdVZpsa/mUURsiaor8sxEz7ZckHuzarvXaLVqmaq65immI78ysvQNCx9Ls01VU03MqY+dcmNuzwR1QiW4azTd12mqqNvFW6q4+nkj71jANfOwsfOsTayrVNyiebbzx4YnvNgBVe6DSq9JzptTM1WqvnW6+uPi5iwd31mmvSLd2Y+dbuxsnwTE7fuV8AlG5HQKc7/wAXmU7cemdlFHbn4Iut3SrFONpuLZojZFFumPLs5QbFuim3RFFummmiOSKaY2RD1MbY2TzACHbrdz1uLFebgURRVRy3LdMckx1x1ISuaqmKqZpqjbTMbJie+qDNtRYzL9mOa3cqo9E7AYAAXHvOdH8n/n/c5u/d/svnv+26W850fyf+f9zm793+y+e/7b6jpPtVwD5UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWewbWm5PyPUMfI54t3IqmOuNvK1RBctuum5bprt1RVRVETEx34elebm90tWnURjZcVXMb9WY/Oo+MJlY1vTL9EVUZ1iI6q64on0SDouHuxzKcXRLtG38pf8AydMfX7H3UN02m4lE8C9F+53qLXLt8vMgWsanf1TLm9f2REclFEc1MA0AAWHuFzKb+kfJ9v5SxVMbPBM7Yn6/Qkio9Lz72m5dN/HnZVHJMTzVR1Sn2m7qNPy6Ii9c+TXe/Tc5vJPMDvPkzERMzOyI55loXta0y1RNVWdjzH/BXFU+iES3R7qPllqrFwIqosVcldyeSao6ojvQDia7lxnavlZFHLRVXspnriI2R7IaAA7O5LMpwtbs1XJ2W7kTbqnq283t2LOUwmO5/dXTatU4+p8KYpjZTeiNs7PDH3gmw0KNZ02uiKqc7G2T2rkRPolzNU3V4OLRMYtXym93op/Nj6Z+ANPfAzKacWxh0z+Uqq4yqOqI2xH1+xBmfNyr2bk138ivhXK52zP3MAC1dzmZTm6PjXKZ21U0xRXHVVHJPx8qqnU0HWL2kZM1URw7Nf59uZ5/DHVILTHIwt0emZdET8pps1d+m7PBmPLzMmVr2mY9HCqzLVfgt1cOZ9AN3MyKMTFu37s7KLdM1SqG9cm7euXKvzq6pqn6ZdvdHuguarMWrVM2sWmdsUzPLVPXPwcEAAFx7znR/J/5/wBzm793+y+e/wC26W850fyf+f8Ac5u/d/svnv8AtvqOk+1XAPlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKd7HpxpvnfdVoslO9j0403zvuqwZN9Pppl+Jb+xCJJbvp9NMvxLf2IRJZ7ABABns4mRfjbYsXbkddFEz9QMA93bVdqvg3aKqKuqqNkvAAAAPVuiu5VFNumqqqe9TG2QeRsXcPJs08K9j3rdPXVRMQ1wAAAABsW8LKuUcO3jX66eum3Mww1U1UVTTVE01RzxMbAeQAAABks2bt+rg2bddyrqopmZer+NfsbOPs3be3t0TH1gwgAAAuDeX/wDQs7/3P/TS0N+7/ZfPf9tubz12mzuc1K7c28Ci/NVWyNvJFEbUP3xN09ndHnY8YdFdOLjU1RRNcbKqpq2bZ2d7mh9fSfaJAPlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKd7HpxpvnfdVoslO9j0403zvuqwZN9Pppl+Jb+xCJJbvp9NMvxLf2IRJZ7AG9oePTlaviWa420VXI4Udcc8oJZuX3NWqLFGXqFEV3K44VFuqOSmOuY78pZTEUxEUxERHNEPoDBl4tjMtTbybVF2ie9VH1dSu90+iVaTkU1WpmrFuT8yZ56Z6pWW5W6nHpyNBy4qjlop4yJ6pjl+IKtAB19zmj16tlzTMzRYt8tyuPqjwrHwcHGwLMW8WzTbp7+yOWfpnvuXuKsU2dAs1xHzrtVVdXp2fVDugIxuk3NWcmzXkYFuLeTTG2aKY2RX5OtJwFMzGydk8746u6ixTja9mW6I2U8KKoj6YifvcoHq3RVcuU0URNVdUxERHflY25/c5j6faou5NFN3Lnlmao2xR4I+KLbiMem/rtFVcbeKoquRHh5I+9ZADT1LTcXUbU0ZVqKuqqOSqn6JbgCqdc0y5pWdVYrnhUTHCor2fnQ5ywN39imvSrV7ZHDt3IiJ8ExO36oV+Akm5TQI1KqcnK2xi0Tsinm4c/BG1t6Rj04ul4tmmNnBtxt+nZtn2g2Mexax7cW7Fui3RHNTTGyHquim5RNNymKqZ54mNsS9AIRur3OW7FqrN0+ng0U8ty1HNEdcfBD1y3KKblFVFcbaao2TE9+FQZdr5Pl3rPPxddVHonYDCAC1d67obrfj1+7hVS1d67obrfj1+7hVSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9g29KyYxNSxsifzbdyKp2dW3l9jUEFzUVRXTFVMxNMxtiY776gW5ndNGFapxc/hVWKeSi5HLNEdUx1JlY1LCv0RVZy7FUePG2PIDbcXdfl04uh34mfn3o4umOvbz+zazahr2nYVEzXkUXK45qLU8KZ9HN5Vfa7q17VsvjLnzbdPJbtxzUx8Qc0AFi7hsqm/osWdvz7FU0zHgmdsT7Z9CRKm0jUr+l5cX7E7e9VRPNVHUsLTd0OnZtETx9Nm536Ls8GY8vNIOuNW9qOHZo4V3KsU0+G5CJbpN1FN+1Xi6bM8CrkruzybY6o+IOBugyqc3Wcq/Ry0VV7KZ64iNkT7HOAHb3H5dOJrlqa52UXYm1M/Tze2IWYpmOSdsJvoG6u3NqixqlU03KeSL2zbFX0+Hwgl41qM/DuUcKjKsVU9cXIc3VN0uBhW6uLu05F7vUW52x5Z5gc7fAy6aMGxixPz7lfDmOqmNv3z7EEbOo5t7UMuvIyKttdXe70R1Q1gFr7n8unM0jGu0ztngRTV4Ko5JVQ7G53W7ukXqo2Tcx65+fR98eEFnjnYWtadmURNrKtxVP6lc8GqPJLJlargYtE1XsuzER3oqiZ9EcoNjJvUY2PcvXZ2UW6ZqmfAqHIuzev3LtX51dU1T5Z2u/um3RVanHyfFiq3ixO2dvPX9PgRwAAFq713Q3W/Hr93Cqlq713Q3W/Hr93CqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKd7HpxpvnfdVoslO9j0403zvuqwZN9Pppl+Jb+xCJJbvp9NMvxLf2IRJZ7ABAAAAAAAAAAAAAAAAAAAAAAAAAABau9d0N1vx6/dwqpau9d0N1vx6/dwqpZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWewbWPg3b0RVyU0z35ZNMx4u1zcrjbTT3uuXYQczuX/O/t/wAncv8Anf2/5dMBzO5f87+3/J3L/nf2/wCXTAczuX/O/t/ydy/539v+XTAczuX/ADv7f8ncv+d/b/l0wHM7l/zv7f8AJ3L/AJ39v+XTAczuX/O/t/ydy/539v8Al0wHM7l/zv7f8ncv+d/b/l0wHM7l/wA7+3/J3L/nf2/5dMBzO5f87+3/ACdy/wCd/b/l0wHM7l/zv7f8ncv+d/b/AJdMXUm3M7l/zv7f8ncv+d/b/lOd77cz+E+uxj3aqqMSzTxl+qnn2beSmPDM/euGNX0nQKvkej6bai3b+bVVbmKNs/TsmZ+mWdw/H5OXP8WNyOVTBH8n5knS52cl2Jnw0tPIxrlifnxydccz9J7odzmk7stHyMnTcWjF1azEzHBiKeHPPwatnJMT188exRddEVRVRXTyc0xL45nCycS3rd9YORXPG6o0M2XZ4i/VR3ueJ8DCw3utXeu6G6349fu4VUtXeu6G6349fu4VUs9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTvY9ONN877qtFkp3senGm+d91WDJvp9NMvxLf2IRJLd9Pppl+Jb+xCJLPY7emREYdEx39s+1ttXTf0K35frltIAAAAAAAAAAAAAAAAL/3qt7vAxNJxtW1rGt5OfkURdt27tPCos0zy0/NnkmrZy8vMtOmmmimKaYimmOaIjZEMOBfs5WBjZGNMTYu26bluY5uDMbY9jYb/BirSkaavLkm1vkAe+oee2lqVMzRRV3omYUxn4t3Cyrli/TMV0zs2z3/AAwvKqmKqZpqjbEufk6VavTHDiiuI5orpidjO4fJjB8SxuRhnLHwgW4ixXYpys29tox+Bs2zzTs5ZnyKAzbtN/NyLtETFNy5VVH0TO1+vb1vG07ByMnKmOJs2qq65mNkRTEbZ9j8eNX5vkfmmJhmeNw/jiYly9Zj51qe/O37nNdPWf8AR8v3OY59tVq713Q3W/Hr93Cqlq713Q3W/Hr93CqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKd7HpxpvnfdVoslO9j0403zvuqwZN9Pppl+Jb+xCJJbvp9NMvxLf2IRJZ7Hc039Ct+X65bTV039Ct+X65bSAAAAAAAAAAAAAAAAC0N7XfPnc/h0aXrVq7f0+j/yrtvlrtRPe2Tz0+2PCs6nfT3HzTEzq00zPenGvcn9j8wjLx8zJjr6w8L8et53L9P/AI0tx38Y/wDi3v8A6H40tx38Y/8Ai3v/AKPzAPT/ACGT+ofP7Wj9P/jS3Hfxj/4t7/6PlW+nuPimZjVpqnqjGvcv9j8wif5DJ/UH7Wi0N8rfPndDh16Xotq7Y0+ufyt25yV3Y6tkc1PtnwKvBjZc1ss7s9qY4pGoczWf9Hy/c5jp6z/o+X7nMeT7WrvXdDdb8ev3cKqWrvXdDdb8ev3cKqWegAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp3senGm+d91WiyU72PTjTfO+6rBk30+mmX4lv7EIklu+n00y/Et/YhElnsdzTf0K35frltNXTf0K35frltIPtFFVyuKKImqqeSIh28XQttMTlXJiZ/Vo73le9zeNEW6smqPnTPBp8Ed923S+J8RTPT82br6hqubzbY7emNya9Cxpp+bXdieuZifucfUNOu4U7atlduZ2RXH3pc83bdN21VbuRtpqjZMNpyPBca9JjHGpYePyGWtv5TuEHGXKszYyLlqf1Z2beticVlx2xXmlu4b+lovWLQOlp+k3cqmLldXF2p5pmOWWHScaMrNooqjbRHzqvohLojZGyI2Q23iPGRzJm+T/AFhhc3lzgj1r3LlRoWLs5a7u3r2x8Glm6JXapmvHqm5EfqzHL/lIh0d/CcS1dRXX/wBauvkM0TuZQWR1d0OLFnJpu0Rspu88eFynGczjTxc04p+m9wZozUi8DYwsO7mXODajkjnqnmhrxG2dkJlgY1OLjUW6Y5eeqeuXt43gzzcvr1EdvjlciMFN/bn2tBsRT+VuXKqvBsiHnI0G3NMzj3aoq6q+WHaHXf4Th616/wDZaX/IZ972hORYuY92bd2maao9rGlOuYsX8OquI/KW44UT4O+izlPJ+PnhZNR81npuOJyfz03PcD7RRVcriiiJqqnkiIfHf3N41MW68iqNtUzwafBHfYnF49uTljFX7e2bLGKk3l4xdC20xOVcmJn9WjveVsV6FjTT82u7E9czE/c6w7TH4TiUrq1dy0NvIZrTuJ0iWoadewp21bK7c8kVx97STi7bpu26rdcbaao2TCGZVmbGRctT+rOzb1tB5fxccTWTH/rP/Gz4XMnN/G/bj6z/AKPl+5zHT1n/AEfL9zmNE2C1d67obrfj1+7hVS1d67obrfj1+7hVSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9juab+hW/L9ctpq6b+hW/L9ctpBKtBqidMtxHPTMxPpdBGNEzoxbtVu7Oy1XPP2ZSeJiYiYnbEu88Lya5uPFY7r8Oc5+KaZZn6kBqajm0YdmZmdtyY+bT1tre9aVm1p+IYdazadQjus1RVqd+Y64j0RDSfa6prqmqqdtUztmXx+bcvLGXPe9epl1WCk0xxWXW3NTEZtyO/NudnphJEKxL9WNkUXaOemebrjqS/FyLeVai5aq2xPPHfjwOl/TuenpbFPfbVeUxz7Rf6ZgebldNuia7lUU0xzzLpumpcfdNVHEWKe/NUyj7c1XL+WZU1xtiinkpjwNNwXmeRXPyZmnUfDpODinHiiLPdiqKb1uqeaKomfSm6CpPoufTkWabNydl6iNnL+tDK/T/ACaYss0t/wCnj5LFa9ItH06YDs2hYc2Ypw78zzcCfqQt3dfz6aqJxrNW3bPz5j6nCcf+oeTTJeuKv03njMU1rNp+xKtBqidMtxHPTMxPpRV09EzqcW7VbuzstVzz9mWv8RyK8fkxa3U/DJ5uKcuKYjtJwiYmImJ2xI/QImJjcOaES1mqKtTvzHXEeiISLUc2jDszMzE3Jj5tPWiNdU11TVVO2qZ2zLnP1DyKRijF9722njMdveb/AE5es/6Pl+5zHT1n/R8v3OY49vFq713Q3W/Hr93Cqlq713Q3W/Hr93CqlnoAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKd7HpxpvnfdVoslO9j0403zvuqwZN9Pppl+Jb+xCJJbvp9NMvxLf2IRJZ7Hc039Ct+X65bTV039Ct+X65bSA2sbPycaNlq7MU9meWGqPTHlvin2pOpfNqVvGrRt0a9ZzKo2RVTT4YpaFy5Xcrmq5VNVU88zLyPbNzORmjWS0zDzx4MdPmsADFewyWL92xXwrNdVFXgYx9Vtak+1Z1KTEWjUulGtZkU7JqomeuaWpk5d/JnbfuVVeDmj0MAysnP5N6+trzp414+Ks7isbAGG9wiZiYmJmJjvwB0N+zq+Zbp2cZFcf8AFG14yNTy79M01XODTPepjY0xmxz+VFfX3nTH/bYd79Y2AMOZmfmXvEaAEVs42fk40bLV2Yp7M8sNivWcyqNkVU0+GKXOGZj53Jx19aXnTwtx8Vp3asPVyuu5XNVyqaqp55mXkGLe9rz7WncvatYrGoczWf8AR8v3OY6es/6Pl+5zHyq1d67obrfj1+7hVS1d67obrfj1+7hVSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9juab+hW/L9ctpq6b+hW/L9ctpBsYGJXmX4t0ckRy1VdUJRiYGPjUxFu3E1dqqNsy1tz1mKMCLmz51yZnb4I5HTdh4XxmOMUZssbmettHz+Xab/jpOoh5rt0XKeDcopqp6pja4uq6RTFuq9ixsmOWqj4O4NxyeDh5NfW9WDi5F8U7rKCjZ1OzFjPvW6Y2RFW2I+nl+9rPz3kYvw5bY5+nT4r+9It/b7TTNVUU0xMzM7IiEk07SLVmiK8imLl2e9PNHxc3c9apuahwqo28Cmao+nm+9J298H4/Hn3lyxuI+mu8hybY9Up8PkUxFOyIiI6oho5ul4+TTM00xbud6qmPrhvjqcnFw5K+lqxpp65r1n2iflCcizXj3qrdyNlVLG7u6a1G2zeiOWdtM/d97hOB8jxI4meccdfTo+Lm/Nji09jraRpfymOOv7Ytd6O1/hyrdM13KaY56piE3tUU27dNFMbKaY2RDJ8Pwa8vL/P/AFh587kThp/HuXmzYtWaYi1bpojwQ85GLYyKdl63TV4dnL6WYdtHGxRT09Y1/Wmg/Lfftv5RPVdPqwrkTTM1WqvzZ6vBLRTDVLUXsC9TPepmqPpjlQ9xfmeBXiZItj/1lveDyZzV1buBsYGJXmX4t0ckRy1VdUNdJ9z1mKMCLmz51yZnb4I5GFwOL+6zxj+vtkcnN+HHNmziYGPi0xFu3E1dqqNsy2K7dFyng3Kaao6pja9Dv8XEw4a+lKxpzd817z7TLh6rpFMW6r2LGzZy1UfBwU6Q7U7MWM+9bpjZEVbYjwTy/e5rzvjseGsZsca/uG18fybXn8d/lw9Z/wBHy/c5jp6z/o+X7nMcy2y1d67obrfj1+7hVS1d67obrfj1+7hVSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9juab+hW/L9ctpq6b+hW/L9ctpBJ9z16K8Di+/bqmNngnldNDcDLrw78XKOWOaqnrhKMTPx8mmJouRFXZqnZLtfCc+mTDGG8/yhoefxrVvN6x8S2h5rrot08KuqmmOuZ2OLqur0zbqs4s7Znkqr8HgbbkcrHx6Te8sLFhvlt61hytTuxfz71dPLEzsifo5GsD875OX82W2T+5dPip+OkV/p09z12Lefwap2cOmaY+nn+5J0GpqmmqKqZmJidsTCSadq9q9RFGTVFu7Hfnmn4N94HnY8W8OSdb6a7yPHtfWSv06o+RVTNPCiYmOuJaObqmPjUzEVRcud6mmdvpdVfNTHX2tOoaatLWnUQ0d012PyNmOflqn7vvcJkyL1eRequXJ21VSxuB8py45Web16+nS8TDOHHFZ7erdXAuU1Rz0zEptarpuW6a6J201RtiUHdXSNU+TRFm/tm13qo/V/wyfC82nFyzGTqzx5+CctN17hJRjs3rV6nbauU1x/wztecjKsY9MzduU0+Dby+h235Ka9t/DQett60x6ndps4F6qqeemaY+meRD2/quoVZtcU0xNNmnmjr8MtBxnnOdTk5IpjncVb7x/Htir7W7kSfc9eivA4vv26pjZ4J5UYbGBl14d+LlHLHNVT1wwfG8r9rnjJPX2yOVh/NjmsdpkNXEz8fJpiaLkRV2auSWxXXRbp4VdVNMdczsfoGPNTJX2pO4c1alqzqYekO1O7F/PvV08sTOyJ8Ecn3Orqur0zRVZxZ2zPJVX8HBcz57nY71jBSd/wBtt47j2rP5LOZrP+j5fucx09Z/0fL9zmOWbdau9d0N1vx6/dwqpau9d0N1vx6/dwqpZ6ABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnex6cab533VaLJTvY9ONN877qsGTfT6aZfiW/sQiSW76fTTL8S39iESWex2NJuRVYm336Z9jeR2xdqs3Iro549rs4+ZavRHzopq7MoNkAABZmZNACAAAAu5TUACKAAALuU1AAigAAC7mE1APkzFMbZmIjwtLKz6KKZpszFVfX3oRWrq1yK79NEfqR7Wi+zMzMzPLM874C1d67obrfj1+7hVS1d67obrfj1+7hVSz0ACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlO9j0403zvuq0WSnex6cab533VYMm+n00y/Et/YhEkt30+mmX4lv7EIks9gAgAAAAAAAAAAAAAAAAAAAAAAAAAAtXeu6G6349fu4VUtXeu6G6349fu4VUs9AAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJPvaVRTu302ap2RtuR5Zt1QjDb0jNr03VMXNtxtqsXabmzr2TzeUEk31aKqd2WTNUbIqt25jwxwYj7pRBau+dpdOs6Vh7oNMjjaKbUcZwY2zNueWJ8kzO36fAqpZABAAAAAAAAAAAAAAAAAAAAAAAAABlxrF3KyLdjHt1XL1yqKaKKY2zMyC0d7KJtbhtavV8lHCuzt+i3G1VK3N0vF7kd7y1pNNcTmZVM26tnfmeW5P0bJ4PlhUaygAigAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJruC3ZVaHPyLUIqu6bXO3kjbNqZ55iO/HXH/6ZFqm4TS9eonP3NZ1m3TXyzbj51vb5OWn6NnkhVDYw8zJwrvG4eResXO1armmfYuxLrm9rr1M7KfklcddN74xDz+LfX/2eP8A1YcmN12vxER3VyZ+mra+/hhr/wDFMj0x8D4HU/Fxr/7PH/qwfi41/wDZ4/8AVhyvwv1/+KZHpg/C/X/4pkemD4HV/Fxr/wCzx/6sH4uNf/Z4/wDVhyvwv1/+KZHpg/C/X/4pkemD4HV/Fxr/AOzx/wCrB+LjX/2eP/Vhyvwv1/8AimR6YPwv1/8AimR6YPgdX8XGv/s8f+rB+LjX/wBnj/1Ycr8L9f8A4pkemD8L9f8A4pkemD4HV/Fxr/7PH/qwfi41/wDZ4/8AVhyvwv1/+KZHpg/C/X/4pkemD4HV/Fxr/wCzx/6sH4uNf/Z4/wDVhyvwv1/+KZHpg/C/X/4pkemD4HV/Fxr/AOzx/wCrB+LjX/2eP/Vhyvwv1/8AimR6YPwv1/8AimR6YPgdX8XGv/s8f+rB+LjX/wBnj/1Ycr8L9f8A4pkemD8L9f8A4pkemD4HV/Fxr/7PH/qwfi41/wDZ4/8AVhyvwv1/+KZHpg/C/X/4pkemD4HV/Fxr/wCzx/6sH4uNf/Z4/wDVhyvwv1/+KZHpg/C/X/4pkemD4HV/Fxr/AOzx/wCrB+LjX/2eP/Vhyvwv1/8AimR6YPwv1/8AimR6YPgdX8XGv/s8f+rB+LjX/wBnj/1Ycr8L9f8A4pkemD8L9f8A4pkemD4Hdw97HWbtcfKL2JYo78zXNU+SIj70msYu57e+sVXr975Vqk07Ijk4yfBTT+pHhn28yuL+6nXL9uaLmq5fBnnim5NO30OPVVVXVNVUzVVPLMzO2ZPhHS3R63la9qdeZlzsmfm0W45qKe9EOWCKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAyzYuRz0+2Hniq+r2s81VcKeWfS8bZ602MfF1dRxdXU91TPXL5tnrkHjgVdRwKup72z1ybZ65B44FXUcCrqe9s9cm2euQeOBV1HAq6nvbPXJtnrkHjgVdRwKup72z1ybZ65B44FXU+xarnmj2vW2euXqiZ2c8g8cTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgxcTc7PtOJudn2svCnrk4U9cgw1W66Y21Rsedkst2Z4PPLGsD5sk2S+i6HzZJsl9DQ+RTMzERzy98Tc7PtfKPzoZuFPXKSMXE3Oz7TibnZ9rLwp65OFPXKbGLibnZ9pxNzs+1l4U9cnCnrk2MXE3Oz7TibnZ9rLwp65OFPXJsYuJudn2nE3Oz7WXhT1ycKeuTYxcTc7PtOJudn2svCnrk4U9cmxi4m52facTc7PtZeFPXJwp65NjFxNzs+04m52fay8KeuThT1ybGLibnZ9pxNzs+1l4U9cnCnrk2MXE3Oz7TibnZ9rLwp65OFPXJsYuJudn2vvEXOz7WThT1ycKeufSbGPiLnZ9pxFzs+1miZ65fds9cmxg+T3ez7Yffk93se2GeKp65fYqnrk2MEYl+eaj2wNyiqdvPID/2Q==","e":1},{"id":"fr_11","w":760,"h":554,"u":"","p":"data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/4gHYSUNDX1BST0ZJTEUAAQEAAAHIAAAAAAQwAABtbnRyUkdCIFhZWiAH4AABAAEAAAAAAABhY3NwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAA9tYAAQAAAADTLQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlkZXNjAAAA8AAAACRyWFlaAAABFAAAABRnWFlaAAABKAAAABRiWFlaAAABPAAAABR3dHB0AAABUAAAABRyVFJDAAABZAAAAChnVFJDAAABZAAAAChiVFJDAAABZAAAAChjcHJ0AAABjAAAADxtbHVjAAAAAAAAAAEAAAAMZW5VUwAAAAgAAAAcAHMAUgBHAEJYWVogAAAAAAAAb6IAADj1AAADkFhZWiAAAAAAAABimQAAt4UAABjaWFlaIAAAAAAAACSgAAAPhAAAts9YWVogAAAAAAAA9tYAAQAAAADTLXBhcmEAAAAAAAQAAAACZmYAAPKnAAANWQAAE9AAAApbAAAAAAAAAABtbHVjAAAAAAAAAAEAAAAMZW5VUwAAACAAAAAcAEcAbwBvAGcAbABlACAASQBuAGMALgAgADIAMAAxADb/2wBDAAYEBQYFBAYGBQYHBwYIChAKCgkJChQODwwQFxQYGBcUFhYaHSUfGhsjHBYWICwgIyYnKSopGR8tMC0oMCUoKSj/2wBDAQcHBwoIChMKChMoGhYaKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCj/wAARCAIqAvgDASIAAhEBAxEB/8QAHAABAAIDAQEBAAAAAAAAAAAAAAYHAwQFAgEI/8QASxABAAECAgMKCQwABAUEAwAAAAECAwQFBxFRBhITITE2UnKhsxQVQWGDkZKy0RYXIjJTVFVxgZOxwSNCRcM1YnN0wiQzNPCi4fH/xAAWAQEBAQAAAAAAAAAAAAAAAAAAAQL/xAAZEQEAAwEBAAAAAAAAAAAAAAAAARExIUH/2gAMAwEAAhEDEQA/APyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAANnL8DicxxdvC4KzXev1zqpopjt80edY2W6N8JhMNGJ3SZjTapjjqot1RRTT5prq+AKwFpV5fo8tTvasVEzHli7cq1/rHE8+B6OvvM+3d+C0KvFoeB6OvvM+3d+B4Ho6+8z7d34FJarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxaHgejr7zPt3fgeB6OvvM+3d+BRarxalrI9wWYarWFx/BXJ5J4eaZ/8Azhxd02jvHZbZqxOW3PDsNTGuaYp1XKY/L/N+nqKLQUBFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAH2ImZiIiZmeSIfHe3CYSnG7rsss1xE08LwkxPl3sTV/wCILCwFnCaPtysYzE2ouZriYiJp8s1Tx7zzUx5f/wCKvzrOMdnOLnEZhfqu1/5aeSmiNlMeSEq0v46u/ulowu+ngsNZjVT/AM1XHM+re+pBVlABFAAAAAAAAAAAAAAAAAAAAAAAAEt3F7scXkWJt2cRXXfy2qdVVqqdc24207Py5JRIBYulDc9YootZ9le9nDYmY4WKPq66uOK4/Py+fVtV0tnchX440YZlg7876bFN23Rr81MV0+qZ7FTLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MefGW+l7qtFkp0Y8+Mt9L3VYMmlPnpi+pb9yESS3Snz0xfUt+5CJLOgDJh7NzEXYt2qZqqlBjEhw2RW4picRcqqq2U8UNjxLg+jX7QIsJT4lwfRr9o8S4Po1+0CLCU+JcH0a/aPEuD6NftAiwlPiXB9Gv2jxLg+jX7QIsJT4lwfRr9o8S4Po1+0CLCU+JcH0a/aPEuD6NftAiwlPiXB9Gv2jxLg+jX7QIsJT4lwfRr9o8S4Po1+0CLCU+JcH0a/aPEuD6NftAiwlPiXB9Gv2jxLg+jX7QIsJT4lwfRr9p8qyTCTGqIuR54qBFx1cwyi5hqZuWquEtxy8XHDlAAAtXRdzNzvr193Cqlq6LuZud9evu4VUsgAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJTox58Zb6Xuq0WSnRjz4y30vdVgyaU+emL6lv3IRJLdKfPTF9S37kIks6CUZDhos4OLsx/iXOPX5vIi6ZZbVFWAw8x9nEeqEGyAAAAAAAAAAAAAAAAAAAAAAiWcYaMNjaqaI1UVRvqY2Jaju6aqJxVqnyxRrn1g4wALV0Xczc769fdwqpaui7mbnfXr7uFVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MefGW+l7qtFkp0Y8+Mt9L3VYMmlPnpi+pb9yESS3Snz0xfUt+5CJLOg7mQY+m3Hg16dUTOuiZ5PycMQTsRLDZpisPEU03N9THkr42x49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+J49xXQs+zPxBJRGvHuK6Fn2Z+L5VnmKmNURajzxTPxBIsRft4e1Vcu1RTTHah+MxFWKxNd2ri308UbIecRiLuIr3165VXPn8jEAAC1dF3M3O+vX3cKqWrou5m5316+7hVSyACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHnxlvpe6rRZKdGPPjLfS91WDJpT56YvqW/chEkt0p89MX1LfuQiSzoAIA9UU1V1RTRTNVU8UREa5l17G5rNr1EVRhZpienVFM+qZ1g4w6GOybMMDTv8Thq6aOlGqqI/WHPAAABvYDKcdj414XDV109Lkp9c8QNEdq7uYza3Rvpwu+iOjXTM+rW5Fy3Xarmi5RVRXHFNNUapgHgAAGSxZu4i7FuxbruXJ5KaY1yDGO3RuXzaujfeDRHmm5TE/y0MdluMwE6sXh67cTyTMa4n9Y4gaYAAAA6eCyLMsZRFdjC17yeSqqYpifXysmJ3O5ph6JrrwlVVMeWiYq7I4wcgfZiYnVPFL4AAC1dF3M3O+vX3cKqWrou5m5316+7hVSyACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHnxlvpe6rRZKdGPPjLfS91WDJpT56YvqW/chEkt0p89MX1LfuQiSzoPsRMzERGuZfHR3PW6bueYKiv6vCxPq4/wCkE63M5HbyzDU3LtMVYyuNdVU/5fNDuAD5MRMTExExPFMSgW7LJKMFVTjMJTvbFc6q6I5KZ83mlPnN3SWqbuRY2mrki3NX6xxx/AKqABItyGS05lfqv4mNeGtTq3vTq2fksSimmimKaKYppjiiIjVEONuOt00bnsLNMcde+qnzzvpdoByd0GTWc1wtX0YpxNMf4dzy69k+Z1gFNXKKrdyqiuJprpmYmJ8kvLsbrrdNvdDi4ojVEzTV+s0xMuODNhMPcxeJtWLMa7lyqKYWjk2V4fK8LFqxTE1zH07k8tUoXuDt0155NVUcdu1VVT+euI/uViAPF61bv2qrd6imu3VGqaao1xL2ArLdRk/irGxwWucNd1zbmfJthxVh7vbdNWS0Vz9ai7Ex+sTCvAEy3GZFbu24x+MoiuJn/Coqji4v80oat/LrdNnL8Nbo+rTbpiPUDYABGt12R28XhrmLw1EU4m3G+q1R9ePL+qvVz8vKqDH26bOOxNqj6tFyqmPyiQa4ALV0Xczc769fdwqpaui7mbnfXr7uFVLIAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MefGW+l7qtFkp0Y8+Mt9L3VYMmlPnpi+pb9yESS3Snz0xfUt+5CJLOgz4LEThcZYxFPHNuuK9W3VLAILiw1+3icPbvWat9brjfRLKrLIM/v5TM29XC4aqdc25nVq88Sl9jdXlVyiJuXa7M9Gu3M/wAawd5Ht22PpwuU1YeJ/wAXEfRiNlPln+v1YMw3Y4O1RMYKiu/X5JmN7T28aE5hjb+PxNV/E1765V6ojZANYAE+3B4+m7l9WDqnVcszM0xtpmdf860pU/g8TeweIov4euaLlE64mE2y3djhrlEU4+3XZueWqiN9TP8AcAlTzduUWrdVy5VFNFMa6pnyQ4l7dVlNuiaqL9d2ejRbqie2IRTP90d/M6Zs2qZs4Xy06+Or85/oHMzfF+HZliMT5LlWun8uSOyIaYA6m5rHU5fnFi9cnVanXRXOyJ8v8StOJiYiYnXEqYSXIN1F3AW6bGLpm9h44qZifpUx/cAsIcO3uqymqiJqxFVE9Gq3Vr7IczNN2VqmiqjLbdVVc8XCXI1RH5R5QY9IGPpmmxgaJ11RPCV+bi1RHbKFvd67cv3a7t6ua7lc66qp5Zl4AWhuVx1OOyexqn/EtUxbrjzxyT+sKvbuVZliMsxUXsNV5qqZ5Ko2SC2hG8DuvwF6iPCYuYevy66Zqj9Jj4MmK3W5Zao12a7l+ryU00TH86gdbM8ZbwGBu4m7MaqKdcR0p8kKkuVzcrqrqnXVVMzM+d088zrEZtdibuqizT9S1TyR552y5QAALV0Xczc769fdwqpbeiKz4RuYzSzM73hL1VGvVya6IhBd2W5m9uax1u1Xdi/ZvUzVbuRTvderliY2xxetZxEeARQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPPjLfS91WiyU6MefGW+l7qsGTSnz0xfUt+5CJJbpT56YvqW/chElnQAQB9iNc6o5XSw+RZniKN9awd3e7atVP86gcwbeNy7GYL/wCVhrluOlMcXr5GoAAADZweAxWMmYwuHuXdXLNNPFH6g1h1L2QZpZo31eCuav8Al1Vfw5lUTTVMVRMTHFMT5AfAAAeqKKrlcU26aqqp4oimNcyDyOrb3PZrco31OCuRH/NMUz6pnW0cVhMRhK97ibNy1V5N/TMa/wAgYAAAABu4PKsdjY32Gwt2unpatUeueJkxWSZlhad9ewd2KY5ZpjfRHqBzgAAAXBoX/wCBY7/uf/Gloabv9F9N/tt/Qv8A8Cx3/c/+NLQ03f6L6b/ba8T1VwDKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MefGW+l7qtFkp0Y8+Mt9L3VYMmlPnpi+pb9yESS3Snz0xfUt+5CJLOg+vjobn7VN/OsFbr46ZuxMxt1cf9IJtuXyC1gMPRiMRRFWMrjXxx/7fmjzpCAPNdFNyiaLlMVUzGqYmNcSr7ddkdOXXKcThYmMNcnVNPQq+Cw3M3S2ab2RY2mryW5rj844/6BVYAO/uUyWM0xNVy/E+C2vreTfTsWLZtW7Fqm3Zopot0xqimmNUQ4+421Tb3PYaaY465qqq8876Y/iIdsBxN0eRWczw9ddummnF0xrprji33ml2wFNV0zRVNNUTFUTqmJ8kvLr7rLVNrdDjKaI1RNUVfrNMTPbLkAyYezXiL9uzajfXLlUU0x55WfkeTYfKsPEUUxXfmPp3ZjjmfNshDtwlqm5nu+q5bdqquPz4o/tYoDFisPZxVmq1iLdNy3VyxVDKAq/dJlM5Tjt5TM1WLkb63VPbH6OQsLd9apryai5P1rd2NU/nE/8A39FegJbuOyG3iqfDcbRvrWvVbtzyVeefMiS3sss02Muw1qj6tNumOwGxERERERERHJEPoAim67ILd2xcxuDoii9RG+uU0xxVx5Z/NA1zTETExPHEqgx1qLGNxFqn6tu5VTH6TqBgABbuh25Ta3O5jcuTqoovzVVOyIojWimkrdJhd0GOwtGA31WGw1NURcqp3u/mrVr1RPHq+jHKkei3mbnfXr7uFVNTiADKgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACU6MefGW+l7qtFkp0Y8+Mt9L3VYMmlPnpi+pb9yESS3Snz0xfUt+5CJLOg2MvxE4THWMRHHwdcVatsRPI1xBcli7Rfs0XbVUVW64iqmY8sPat9z26O7lccDepm9hdeve6+On8vgmFjdJlV6iJ8KiidldMxMA7DgbtMdThcmrtRP+LiPoUx5vLPq/l5zDdZl+HonweqrE3PJFMTEfrM/0guaZhfzLFVX8TVrnkimOSmNkA0wAWDuExtN7K5wszHCWKp1Rtpmdev160mVBgMZewGKoxGGr3tyn1TGyfMneW7rsDiKIjF77DXfLriaqZ/KY/sEkfK6qaKZqrmIppjXMz5Icm7ujyq1RvpxdNXmpiZmexE90W6a5mNE4fC01WsNP1pn61f57IByc7xcY7NcTiY+rXX9H8o4o7IhogDr7lsbTgM5s3Lk6rVeu3XOyJ/8A3qWgphK8g3VVYS1Rh8fTVctU8VNynjqpjZO0E8HJo3RZVXRvoxlEeaYmJ/hzM13X4Wzbqpy+Jv3Z5KpiYpj+5Bg0gY2ngbGConXXNXCV+aI4o/mfUhDLir93FX671+ua7lc65mWIBaW5nG047J8PVE/Tt0xbrjZMfHlVa6OTZtiMqxPCWNVVFXFXbnkqgFrDg4LdVlmIoibtyrD1+Wm5E/zHEyYndNldiiZjEcLV5KbdMzM/0DpY/FW8Fg7uIvTqot06/wA/MqO7XVduV118dVUzVP5y626DPr+bVxRq4LDUzrptxPL55cYAAFq6LeZud9evu4VUtXRbzNzvr193CqlnAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8+Mt9L3VaLJTox58Zb6XuqwZNKfPTF9S37kIklulPnpi+pb9yESWdABABuWcsx1+iK7OExFdM8lUW51SDTGfEYXEYaYjE2LtqZ5N/TNOv1sAAAAMuHw97E173D2bl2rZRTNU9gMQ3buVY+1RvrmCxFNMcszbnVDSAAAB9iJmYiI1zIPg3qMpzCunfU4HEzTt4OWres3bFe8vW67dfRrpmJ7QYwAAABsYbBYnFf/Gw967G2iiZesRl2Mw1O+xGFv26elVRMR6waoAAALV0W8zc769fdwqpb2hqmmvc/mFNdMVU1YjVMTGuJjeQjmlbIsFlGOwV/L7VNijFU1763RxUxNOrjiPJr33J5mpxEEAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0Ab+Q2acRnODtV8dM3ImY2xHH/SCY7l9ztrDWKMVjbcV4muN9TTVGuKI/Lak4Ax37Nu/aqt37dNy3Vy01RrhXm6vI4yu9Tew+ucLcnVGv8AyTsWO5e6exTfyLGU1R9Wia48008f9AqwAHb3MZLObYqZuTNOGtaprmOWfNCx8LhrOFsxaw9um3bjkpphyNxlmm1ufsVUx9K5NVdXnnXMfxEO4Aj26Tc9Zx9mu9hqKbeLjj1xGqK/NPn86QgKZmJiZiYmJjliXx1t1Vmmxn+MoojVTNUV/rMRM9suSD3ZtV3rtFq1TNVdcxTTEeWZWXkORYfK7NNVVNNzFTH0rkxyeaNkIluGs03c9pqqjXwVuquPz4o/tYwDXx2Cw+OsTaxVqm5RPJr5Y88T5GwAqvdBlVeU46bUzNVqr6VuvbHxcxYO76zTXlFu7MfSt3Y1T5pidf8ASvgEo3I5BTjv/V4ynXh6Z1UUdOfgi63cqsU4bLcLZojVFFumP11cYNi3RTboii3TTTRHFFNMaoh6mNcap5ABDt1u563FivG4CiKKqOO5bpjimNsbEJXNVTFdM01RrpmNUxPlVBjbUWMZfsxyW7lVHqnUDAAC49DnN/E/9f8ApzdNv+i+n/23S0Oc38T/ANf+nN02/wCi+n/22vE9VcAyoAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAlOjHnxlvpe6rRZKdGPPjLfS91WDJpT56YvqW/chEkt0p89MX1LfuQiSzoNrLcT4HmGHxHLFu5FUxtjXxtUQXLbrpuW6a7dUVUVRExMeWHpXm5vdLVl1EYbFxVcw3+WY+tR8YTKxneWX6Iqox1iI2V1xRPqkHRcPdjjKcLkl2jX/AIl//Dpj+ex9zDdNluEoneXoxFzyU2uPX+vIgWcZnfzTFzev6oiOKiiOSmAaAALD3C4ym/lHg2v/ABLFUxq80zrif59SSKjyvH38txdOIw8/SjimmeSqNkp9lu6jL8XRHDXPBrvlpucn6TyA7z5MxETMzqiOWZaF7OsstUTVVjsPMf8AJXFU+qES3R7qPDLVWFwEVUWKuKu5PFNUbIjyQDiZ9i4x2b4rEUTroqq1Uz5ojVH8NAAdncljKcFndmq5Oq3cibdU7NfJ26lnKYTHc/urptWqcPme+mKY1U3o451eeP7BNhoUZzltdEVU47Dap6VyIn1S5mabq8DhaJjC1eE3vJFP1Y/OfgDT0gYymnC2MHTP+JVVwlUbIjXEfz2IMz43FXsbia7+Ir31yudcz/TAAtXc5jKcbk+GuUzrqppiiuNlUcU/H9VVOpkOcXsoxM1URv7Nf17czy+ePOC0xyMFujyzF0RPhNNmry03Z3sx+vIyYrPssw9G+qxlqvzW6t/M+oG7jMRRhMLdv3Z1UW6ZqlUN65N29cuVfWrqmqfzl290e6C5msxatUzawtM64pmeOqds/BwQAAXHoc5v4n/r/wBObpt/0X0/+26Whzm/if8Ar/05um3/AEX0/wDtteJ6q4BlQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPPjLfS91WiyU6MefGW+l7qsGTSnz0xfUt+5CJJbpT56YvqW/chElnQAQAZ7OExF+NdixduRtoomf4BgHu7artV727RVRVsqjVLwAAAD1boruVRTbpqqqnyUxrkHkbF3B4mzTvr2HvW6dtVExDXAAAAAGxbwWKuUb+3hr9dO2m3Mww1U1UVTTVE01RyxMageQAAABks2bt6re2bddyrZRTMy9X8NfsauHs3bevp0TH8gwgAAAuDQv/wACx3/c/wDjS0NN3+i+m/225oeu02dzmZXbmveUX5qq1Rr4oojWiGkTdNZ3R47D+B0V04XDU1RRNcaqqpq1a51eTkhrxPURAZUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0Ab2SWKcVm+Es1xroquRvo2xHHKCWbl9zdqixRi8woiu5XEVUW6o4qY2zHllLKYimIimIiI5Ih9AYMXhbGMtTbxNqi7RPkqj+Niu90+SVZTiKarUzVhbk/QmeWmdkrLcndTh6cRkOLiqOOinhInZMcfxBVwAOvucyevNsXNMzNNijjuVx/EedY+BwOGwFmLeFs026fLqjjn858rl7irFNnILNcR9K7VVXVP66v4h3QEY3SbmrOJs14jAW4t4mmNc0Uxqiv9NqTgKZmNU6p5Xx1d1FinDZ9jLdEaqd9FUR+cRP9uUD1boquXKaKImquqYiIjyysbc/ucw+X2qbmJopvYueOZmNcUeaPii24jD0389oqrjXwVFVyI8/FH9rIAaeZZbhcxtTRirUVT5K44qqfyluAKpzzLLmVY6qxcnfUT9KivV9aHOWBu/sU15Vavao39u5ERPmmJ1/xCvwEk3KZBGZVTicVrjC0Tqink38/BG1uZRh6cLleFs0xq3tuNf56tc9oM+HsWsPbi3Yt0W6I5KaY1Q9V0U3KJpuUxVTPLExriXoBCN1m5yixaqxuX072injuWo5IjbHwQ9ctyim5RVRXGumqNUxPlhUGLteD4u9Z5eDrqo9U6gYQAWrou5m5316+7hVS1dF3M3O+vX3cKqWcABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0G3lWJjB5lhsRP1bdyKp/LXx9jUEFzUVRXTFVMxNMxriY8r6gW5ndNGCtU4XH76qxTxUXI45ojZMbEysZlgb9G+s4uxVHXjX6gbbi7r8XThcjvxM/TvRwdMbdfL2a2bMM+y7BUTNeIouVxyUWp30z6uT9VfZ7m17NsXwlz6Nunit245KY+IOaACxdw2Kpv5LFmJ+nYqmmY80zMxP8+pIlTZRmV7K8XF+xx+SqieSqNiwst3Q5djaInh6bNzy27s72fXySDrjVvZjg7NG+u4qxTHnuQiW6TdRTftV4XLZneVcVd3k1xsj4g4G6HFU43OcVfo46KqtVM7YiNUT2OcAO3uPxdOEzy1Nc6qLsTamfz5O2IWYpmOKdcJvkG6u3NqixmlU03KeKL2rXFX5+fzgl41qMfg7lG+oxViqnbFyHMzTdLgMFbqi3dpxF7yUW51x+s8gOfpAxdNGBsYWJ+ncr38xspjX/c9iCNnMcbezDF14jEVa66vJ5IjZDWAWvufxdOMyjC3aZ1zvIpq81UcUqodjc7nd3KL1UapuYeufp0f3HnBZ452CzrL8ZRE2sVbiqf8AJXO9qj9JZMVmuAwtE1XsXZjzRVEz6o4wbGJvUYbD3L12dVFumapnzKhxF2b1+5dq+tXVNU/rOt39026KrM48HwsVW8LE6518tf5+ZHAAAWrou5m5316+7hVS1dF3M3O+vX3cKqWcABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0AEAAAAAAAAAAAAAAAAAAAAAAAAAAFq6LuZud9evu4VUtXRdzNzvr193CqlnAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8+Mt9L3VaLJTox58Zb6XuqwZNKfPTF9S37kIklulPnpi+pb9yESWdABAAAAAAAAAAAAAAAAAAAAAAAAAABaui7mbnfXr7uFVLV0Xczc769fdwqpZwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPPjLfS91WiyU6MefGW+l7qsGTSnz0xfUt+5CJJbpT56YvqW/chElnQAQAAAAAAAAAAAAAAAAAAAAAAAAAAWrou5m5316+7hVS1dF3M3O+vX3cKqWcABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0AEAAAAAAAAAAAAAAAAAAAAAAAAAAFq6LuZud9evu4VUtXRdzNzvr193CqlnAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8+Mt9L3VaLJTox58Zb6XuqwZNKfPTF9S37kIklulPnpi+pb9yESWdABAAAAAAAAAAAAAAAAAAAAAAAAAABaui7mbnfXr7uFVLV0Xczc769fdwqpZwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPPjLfS91WiyU6MefGW+l7qsGTSnz0xfUt+5CJJbpT56YvqW/chElnQAQAAAAAAAAAAAAAAAAAAAAAAAAAAWrou5m5316+7hVS1dF3M3O+vX3cKqWcABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0AEAAAAAAAAAAAAAAAAAAAAAAAAAAFq6LuZud9evu4VUtXRdzNzvr193CqlnAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8+Mt9L3VaLJTox58Zb6XuqwZNKfPTF9S37kIklulPnpi+pb9yESWdABAAAAAAAAAAAAAAAAAAAAAAAAAABaui7mbnfXr7uFVLV0Xczc769fdwqpZwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABKdGPPjLfS91WiyU6MefGW+l7qsGTSnz0xfUt+5CJJbpT56YvqW/chElnQAQAAAAAAAAAAAAAAAAAAAAAAAAAAWrou5m5316+7hVS1dF3M3O+vX3cKqWcABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASnRjz4y30vdVoslOjHnxlvpe6rBk0p89MX1LfuQiSW6U+emL6lv3IRJZ0AEAAAAAAAAAAAAAAAAAAAAAAAAAAFq6LuZud9evu4VUtXRdzNzvr193CqlnAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEp0Y8+Mt9L3VaLJTox58Zb6XuqwZNKfPTF9S37kIklulPnpi+pb9yESWdABAAAAAAAAAAAAAAAAAAAAAAAAAABaui7mbnfXr7uFVLV0Xczc769fdwqpZwAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABJ9GlUU7t8tmqdUa7kfrNuqEYbeUY2vLc0wuNtxrqsXabmrbqnk/UEk0q0VU7ssTNUaoqt25jzxvYj+pRBauk7K6c5yrB7oMsjhaKbUcJveOZtzxxP6TM6/z8yqlkAEAAAAAAAAAAAAAAAAAAAAAAAAAGXDWLuKxFuxh7dVy9cqimiimNczMgtHRnE2tw2dXq+KjfXZ1/lbjWqlbm6Xg9yOjy1lNNcTjMVTNurV5ZnjuT+URO9/WFRrKACKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAmu4LdlVkc+BZhFV3LK518Ua5tTPLMbY2x/8AZkOabhMrz6icfuax1m3TXxzbj6VvX+nHT+Wr1KpbGDxmJwV3hcHiL1i50rVc0z2LYl1zRrn1M6qfBK4203vjEPPzb5/9nh/3YcmN12fxER41xM/nVrfflhn/AOKYj1x8Dg6nzcZ/9nh/3YPm4z/7PD/uw5Xyvz/8UxHrg+V+f/imI9cHB1fm4z/7PD/uwfNxn/2eH/dhyvlfn/4piPXB8r8//FMR64ODq/Nxn/2eH/dg+bjP/s8P+7DlfK/P/wAUxHrg+V+f/imI9cHB1fm4z/7PD/uwfNxn/wBnh/3Ycr5X5/8AimI9cHyvz/8AFMR64ODq/Nxn/wBnh/3YPm4z/wCzw/7sOV8r8/8AxTEeuD5X5/8AimI9cHB1fm4z/wCzw/7sHzcZ/wDZ4f8Adhyvlfn/AOKYj1wfK/P/AMUxHrg4Or83Gf8A2eH/AHYPm4z/AOzw/wC7DlfK/P8A8UxHrg+V+f8A4piPXBwdX5uM/wDs8P8AuwfNxn/2eH/dhyvlfn/4piPXB8r8/wDxTEeuDg6vzcZ/9nh/3YPm4z/7PD/uw5Xyvz/8UxHrg+V+f/imI9cHB1fm4z/7PD/uwfNxn/2eH/dhyvlfn/4piPXB8r8//FMR64ODq/Nxn/2eH/dg+bjP/s8P+7DlfK/P/wAUxHrg+V+f/imI9cHB1fm4z/7PD/uwfNxn/wBnh/3Ycr5X5/8AimI9cHyvz/8AFMR64ODu4PRjnN2uPCL2EsUeWZrmqf0iI/tJrGF3PaPrFV6/e8KzSadURxcJPmpp/wAkeee3kVxf3U55ftzRczXF72eWKa5p1+px6qqq6pqqmaqp45mZ1zJxHS3R53is+zOvGYudUz9Gi3HJRT5IhywRQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGWbFyOWnth54KvZ2s81Vb6eOfWx652yljxwdWw4OrY91TO2XzXO2QeN5VsN5Vse9c7ZNc7ZB43lWw3lWx71ztk1ztkHjeVbDeVbHvXO2TXO2QeN5VsN5Vse9c7ZNc7ZB43lWx9i1XPJHa9a52y9UTOrlkHjgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGLgbnR7TgbnR7WXfTtk307ZBi4G50e04G50e1l307ZN9O2QYuBudHtOBudHtZd9O2TfTtkGGq3XTGuqNTzqlluzO95ZY1gfNUmqX0Wh81SapfQofIpmZiI5Ze+BudHtfKPrQza52ygxcDc6PacDc6Pay652ya52yDFwNzo9pwNzo9rLrnbJrnbIMXA3Oj2nA3Oj2suudsmudsgxcDc6PacDc6Pay652ya52yDFwNzo9pwNzo9rLrnbJrnbIMXA3Oj2nA3Oj2suudsmudsgxcDc6PacDc6Pay652ya52yDFwNzo9pwNzo9rLrnbJrnbIMXA3Oj2nA3Oj2suudsmudsgxcDc6Pa+8Bc6Paya52y+xVO2UsYuAudHtOAudHtZomdsvuudsljB4Pd6PbD74Pd6HbDPFU7ZfYqnbJYwRhL88lHbA3KKp18sgP/2Q==","e":1}],"layers":[{"ddd":0,"ind":1,"ty":2,"nm":"fr_0.jpg","cl":"jpg","refId":"fr_0","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":0,"op":1,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":2,"nm":"fr_1.jpg","cl":"jpg","refId":"fr_1","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":1,"op":2,"st":1,"bm":0},{"ddd":0,"ind":3,"ty":2,"nm":"fr_2.jpg","cl":"jpg","refId":"fr_2","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":2,"op":3,"st":2,"bm":0},{"ddd":0,"ind":4,"ty":2,"nm":"fr_3.jpg","cl":"jpg","refId":"fr_3","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":3,"op":4,"st":3,"bm":0},{"ddd":0,"ind":5,"ty":2,"nm":"fr_4.jpg","cl":"jpg","refId":"fr_4","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":4,"op":5,"st":4,"bm":0},{"ddd":0,"ind":6,"ty":2,"nm":"fr_5.jpg","cl":"jpg","refId":"fr_5","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":5,"op":6,"st":5,"bm":0},{"ddd":0,"ind":7,"ty":2,"nm":"fr_6.jpg","cl":"jpg","refId":"fr_6","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":6,"op":7,"st":6,"bm":0},{"ddd":0,"ind":8,"ty":2,"nm":"fr_7.jpg","cl":"jpg","refId":"fr_7","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":7,"op":8,"st":7,"bm":0},{"ddd":0,"ind":9,"ty":2,"nm":"fr_8.jpg","cl":"jpg","refId":"fr_8","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":8,"op":9,"st":8,"bm":0},{"ddd":0,"ind":10,"ty":2,"nm":"fr_9.jpg","cl":"jpg","refId":"fr_9","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":9,"op":10,"st":9,"bm":0},{"ddd":0,"ind":11,"ty":2,"nm":"fr_10.jpg","cl":"jpg","refId":"fr_10","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":10,"op":11,"st":10,"bm":0},{"ddd":0,"ind":12,"ty":2,"nm":"fr_11.jpg","cl":"jpg","refId":"fr_11","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[380,277,0],"ix":2},"a":{"a":0,"k":[380,277,0],"ix":1},"s":{"a":0,"k":[100,100,100],"ix":6}},"ao":0,"ip":11,"op":12,"st":11,"bm":0}],"markers":[]}
\ No newline at end of file
diff --git a/res/raw/remoteauth_enroll_finish_animation.json b/res/raw/remoteauth_enroll_finish_animation.json
new file mode 100644
index 0000000..a06ae37
--- /dev/null
+++ b/res/raw/remoteauth_enroll_finish_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":248,"w":412,"h":300,"nm":"Active_Unlock_PT2_V05","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[0]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[360]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[360]},{"t":237,"s":[0]}],"ix":10},"p":{"a":0,"k":[85.699,151.401,0],"ix":2,"l":2},"a":{"a":0,"k":[84.949,150.651,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"t":237,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[2.768]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[4.568]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[4.568]},{"t":237,"s":[2.768]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94.549,146.301],"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":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[171.326,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[186.326,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[186.326,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[171.326,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":20,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":83,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":103,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":123,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":125,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":145,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":165,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":208,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":228,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":248,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[191.201,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[206.201,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[206.201,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[191.201,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":7,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":27,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":47,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":76,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":96,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":116,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":132,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":152,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":172,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":201,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":221,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":241,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[210.701,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[225.701,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[225.701,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[210.701,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":14,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":34,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":54,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":69,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":89,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":109,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":139,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":159,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":179,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":194,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":214,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":234,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[230.076,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[245.076,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[245.076,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[230.076,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":41,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":61,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":62,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":82,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":102,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":146,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":166,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":186,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":187,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":207,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":227,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue400","cl":"blue400","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.431,10.775,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":88,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":207,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":217,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":227,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"t":247,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":2,"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":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[315.859,148.919,0],"ix":2,"l":2},"a":{"a":0,"k":[9.912,13.777,0],"ix":1,"l":2},"s":{"a":0,"k":[147,147,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.067,0],[0,1.067],[1.067,0],[0,-1.068]],"o":[[1.067,0],[0,-1.068],[-1.067,0],[0,1.067]],"v":[[0,6.764],[1.932,4.831],[0,2.898],[-1.932,4.831]],"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.533],[0,0],[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0]],"o":[[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0],[0,0],[0,-0.533],[0,0]],"v":[[-6.763,-1.932],[-7.73,-0.966],[-7.73,10.629],[-6.763,11.594],[6.763,11.594],[7.73,10.629],[7.73,-0.966],[6.763,-1.932]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-1.601],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0]],"o":[[0,0],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0],[0,0],[0,-1.601],[0,0]],"v":[[-5.797,-3.865],[5.797,-3.865],[6.763,-3.865],[9.662,-0.966],[9.662,10.629],[6.763,13.527],[-6.763,13.527],[-9.662,10.629],[-9.662,-0.966],[-6.763,-3.865]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,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":[9.912,13.777],"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":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,150,0],"ix":2,"l":2},"a":{"a":0,"k":[56.29,104.464,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],[4.337,0],[0,0],[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337]],"o":[[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337],[0,0],[4.337,0],[0,0]],"v":[[52.107,94.382],[44.242,102.248],[-46.208,102.248],[-54.074,94.382],[-54.074,-94.382],[-46.208,-102.248],[44.242,-102.248],[52.107,-94.382]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"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":0,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039245605,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":[56.29,104.464],"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":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,152.207,0],"ix":2,"l":2},"a":{"a":0,"k":[74.06,74.06,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":[[3.72,-30.74],[30.74,3.72],[-3.719,30.741],[-30.74,-3.719]],"o":[[-3.72,30.74],[-30.74,-3.719],[3.72,-30.74],[30.74,3.72]],"v":[[55.66,6.735],[-6.735,55.66],[-55.66,-6.735],[6.735,-55.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[33]},{"t":120,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.06,74.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":60,"s":[0,0]},{"t":120,"s":[610,610]}],"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":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".blue300matte","cl":"blue300matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,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],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"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,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"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":[0.541176470588,0.705882352941,0.972549019608,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":[317.85,151.9],"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":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue600","cl":"blue600","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[314.647,152.796,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":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[225]},{"t":248,"s":[585]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"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 2","np":3,"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":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[45]},{"t":248,"s":[405]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"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":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,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],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"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,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"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":[0.541176470588,0.705882352941,0.972549019608,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":[317.85,151.9],"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":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[88.803,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[88.803,150.5,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":[[24.601,0],[0,24.6],[-24.6,0],[0,-24.6]],"o":[[-24.6,0],[0,-24.6],[24.601,0],[0,24.6]],"v":[[-1.45,44.6],[-46.05,-0.001],[-1.45,-44.6],[43.151,-0.001]],"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":[[1.5,0],[0,0],[24.101,0],[0,-26.1],[-26.1,0],[-3.8,22.401],[0,0],[0,1.5],[0,0]],"o":[[0,0],[-2.9,-23.299],[-26.1,0],[0,26.1],[23.4,0],[0,0],[1.5,0],[0,0],[0.099,-1.5]],"v":[[46.051,-5.9],[45.551,-5.9],[-1.45,-47.299],[-48.75,-0.001],[-1.45,47.299],[45.25,7.799],[45.95,7.799],[48.651,5.1],[48.651,-3.199]],"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":[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":[88.849,150.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":"Group 8","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"ClockFace_Mask","parent":24,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.399,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[87.399,150.5,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":[[-25.405,0],[0,25.405],[25.404,0],[0,-25.405]],"o":[[25.404,0],[0,-25.405],[-25.405,0],[0,25.405]],"v":[[0,46],[46,0],[0,-46],[-46,0]],"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":[87.399,150.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":"Group 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey300","cl":"grey300","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":50,"s":[6]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":187,"s":[6]},{"t":237,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[86.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.7,"y":0.7},"t":50,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":187,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"t":237,"s":[86.4,150.05,0]}],"ix":2,"l":2},"a":{"a":0,"k":[87.4,151.05,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,0],[0,0],[5.1,0],[0,0],[0.5,-4.3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.1,0],[0,0],[-0.5,4.3],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.5,-4.3],[0,0],[-5.1,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,4.301],[0,0],[5.1,0],[0,0],[0,0],[0,0]],"v":[[29.3,-7.85],[29.4,-9.35],[29.1,-9.35],[22.699,-68.05],[12.8,-75.65],[-12,-75.65],[-21.9,-68.15],[-29,-9.35],[-29.4,-9.35],[-29.301,-7.65],[-29.4,-6.45],[-29.2,-6.45],[-22.801,68.049],[-12.9,75.65],[11.9,75.65],[21.8,68.15],[29,-6.45],[29.3,-6.45]],"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":[87.4,151.05],"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 10","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
diff --git a/res/raw/remoteauth_explanation_notification_animation.json b/res/raw/remoteauth_explanation_notification_animation.json
new file mode 100644
index 0000000..21298a7
--- /dev/null
+++ b/res/raw/remoteauth_explanation_notification_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.4","fr":60,"ip":0,"op":301,"w":412,"h":300,"nm":"WatchUnlock_Swipe_V02","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":3,"nm":"ARM_MOVEIN","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[-36]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[1]},{"t":123,"s":[0]}],"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[-109]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[-29]},{"t":123,"s":[-29]}],"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[278.5]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":98,"s":[288.5]},{"t":123,"s":[288.5]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":2,"ty":3,"nm":"Null 69","parent":1,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.4],"y":[0.016]},"t":142,"s":[-41]},{"t":172,"s":[180]}],"ix":10},"p":{"a":0,"k":[111.832,-121.374,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,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","parent":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.4,"y":0.01},"t":142,"s":[0.873,0.253,0],"to":[0,0,0],"ti":[0,0,0]},{"t":172,"s":[3.123,8.128,0]}],"ix":2,"l":2},"a":{"a":0,"k":[-1.7,5.7,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":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.4,"y":0.01},"t":142,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[12.517,5.049],[-2.516,5.511],[-15.017,14.239]],"c":false}]},{"t":172,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[7.341,-2.523],[0.246,-9.791],[-15.652,5.505]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":1,"k":[{"i":{"x":[0.05],"y":[1]},"o":{"x":[0.4],"y":[0.01]},"t":142,"s":[2.768]},{"t":172,"s":[4]}],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":114,"s":[100]},{"t":137,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"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.68,0.68,0.68],"y":[0,0,0]},"t":114,"s":[70,70,100]},{"t":154,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":109,"s":[100]},{"t":132,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"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.68,0.68,0.68],"y":[0,0,0]},"t":109,"s":[70,70,100]},{"t":149,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":7,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.68],"y":[0]},"t":104,"s":[100]},{"t":127,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.401,-121.376,0],"ix":2,"l":2},"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.68,0.68,0.68],"y":[0,0,0]},"t":104,"s":[70,70,100]},{"t":144,"s":[165,165,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-21.155,0],[0,21.155],[21.155,0],[0,-21.155]],"o":[[21.155,0],[0,-21.155],[-21.155,0],[0,21.155]],"v":[[0,38.304],[38.304,0],[0,-38.304],[-38.304,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.40000000596,0.615686297417,0.964705884457,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":8,"ty":4,"nm":".blue400","cl":"blue400","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.832,-121.374,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":[[-10.594,-9.096],[0,0],[-0.6,-0.662],[0,0],[0.662,-0.6],[0,0],[10.309,-9.354],[10.42,11.484],[-11.484,10.42]],"o":[[0,0],[0.662,-0.6],[0,0],[0.6,0.662],[0,0],[7.288,11.344],[-11.484,10.42],[-10.42,-11.484],[10.603,-9.621]],"v":[[18.303,-21.346],[18.509,-21.533],[20.794,-21.422],[24.106,-17.771],[23.995,-15.486],[23.666,-15.188],[18.899,20.825],[-20.825,18.895],[-18.895,-20.829]],"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":[[-9.811,-10.813],[-10.813,9.811],[9.811,10.813],[10.813,-9.811]],"o":[[9.811,10.813],[10.813,-9.811],[-9.811,-10.813],[-10.813,9.811]],"v":[[-19.607,17.79],[17.794,19.608],[19.611,-17.794],[-17.79,-19.611]],"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":[0.40000000596,0.615686297417,0.964705884457,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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":9,"ty":4,"nm":".black","cl":"black","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.834,-121.376,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.077,0],[0,15.077],[15.077,0],[0,-15.077]],"o":[[15.077,0],[0,-15.077],[-15.077,0],[0,15.077]],"v":[[0,27.3],[27.3,0],[0,-27.3],[-27.3,0]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".grey600","cl":"grey600","parent":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[111.779,-121.054,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":[[3.708,0],[0,0],[0,-3.708],[0,0],[-3.708,0],[0,0],[0,3.708],[0,0]],"o":[[0,0],[-3.708,0],[0,0],[0,3.708],[0,0],[3.708,0],[0,0],[0,-3.708]],"v":[[7.89,-43.955],[-7.89,-43.955],[-14.604,-37.241],[-14.604,37.241],[-7.89,43.955],[7.89,43.955],[14.604,37.241],[14.604,-37.241]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.501960813999,0.525490224361,0.54509806633,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":-45.085,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":"ARM_MATTE","td":1,"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.291,0],[0,0],[0,15.544],[0,0],[15.185,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[15.291,0],[0,0],[0,-15.652],[0,0],[-15.291,0],[0,0],[0,15.652]],"v":[[-178.179,150],[178.179,150],[206,121.63],[206,-121.522],[178.286,-150],[-178.179,-150],[-206,-121.522],[-206,121.522]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":12,"ty":4,"nm":".ARM","cl":"ARM","parent":1,"tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[99.741,-103.962,0],"ix":2,"l":2},"a":{"a":0,"k":[70.741,184.538,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":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.655,-2.066],[-3.456,3.089],[-0.727,2.001],[6.57,-2.938],[1.123,-0.781]],"o":[[3.09,3.858],[1.562,-1.396],[-1.59,-3.044],[-0.621,0.278],[-1.445,2.431]],"v":[[-7.102,3.861],[5.015,3.281],[8.462,-2.035],[-4.657,-4.993],[-7.478,-3.205]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[179.859,51.354],"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":"NAIL02","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":[[-2.789,-3.482],[-3.664,3.275],[-0.776,1.898],[0.965,1.317],[3.65,-0.938],[0.629,-0.271]],"o":[[3.275,4.09],[1.497,-1.338],[-0.114,-1.715],[-1.943,-2.652],[-0.576,0.148],[-5.718,3.453]],"v":[[-7.41,5.19],[5.435,4.575],[8.852,-0.454],[7.201,-5.191],[-1.476,-7.214],[-3.288,-6.57]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[193.112,61.459],"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":"NAIL03","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":[[-2.785,-3.297],[-3.598,2.935],[-0.359,2.597],[1.361,1.315],[3.021,-1.351],[0.459,-0.402]],"o":[[2.726,3.227],[2.715,-2.215],[-0.34,-1.711],[-2.006,-1.939],[-0.64,0.361],[-4.343,3.807]],"v":[[-7.079,6.003],[3.759,5.398],[8.503,-1.933],[5.848,-6.523],[-2.397,-7.083],[-4.066,-5.926]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[200.839,77.801],"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":"NAIL04","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0.054,0.069],[3.134,-3.216],[-3.656,-0.921],[-2.12,1.21],[2.5,3.492]],"o":[[-3.115,0.692],[-3.74,3.838],[2.277,-1.784],[5.445,-3.108],[-0.051,-0.072]],"v":[[5.47,-8.52],[-4.469,-2.73],[-4.24,8.52],[2.352,3.972],[5.636,-8.315]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[197.006,138.999],"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":"NAIL05","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.218,-1.793],[-2.951,2.16],[-0.735,1.587],[3.737,-0.592],[1.715,-0.583]],"o":[[2.081,3.065],[1.426,-1.044],[-1.139,-2.009],[-1.553,0.246],[-1.704,1.884]],"v":[[-5.994,2.581],[3.488,2.745],[6.766,-1.405],[-0.383,-4.508],[-5.294,-3.253]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.760784327984,0.478431373835,0.40000000596,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[161.194,48.38],"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":"NAIL01","np":1,"cix":2,"bm":0,"ix":5,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[181.885,95.635],"ix":2},"a":{"a":0,"k":[181.885,95.635],"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":"**NAILS_ALL","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[0,0],[0,0]],"o":[[19.626,-23.614],[0,0]],"v":[[-22.789,21.283],[22.789,-21.283]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[162.285,79.254],"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":"HAND_LINE02","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],[0,0]],"o":[[17.08,-19.479],[0,0]],"v":[[-20.252,19.975],[20.252,-19.975]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[174.516,92.317],"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":"HAND_LINE03","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,0],[-4.46,5.397]],"o":[[0,0],[0,0]],"v":[[-2.244,4.895],[2.244,-4.895]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[151.152,152.075],"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":"HAND_LINE04","np":1,"cix":2,"bm":0,"ix":3,"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],[0,0]],"o":[[-23.247,14.788],[0,0]],"v":[[21.471,-19.895],[-21.471,19.895]],"c":false},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"st","c":{"a":0,"k":[0.596078455448,0.321568638086,0.239215686917,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":2,"ix":5},"lc":2,"lj":2,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[146.926,70.198],"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":"HAND_LINE01","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[160.112,103.636],"ix":2},"a":{"a":0,"k":[160.112,103.636],"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":"**HANDLINES","np":4,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.419,-0.748],[5.969,-0.945],[10.255,-24.939],[-36.35,-2.06],[-17.34,9.896],[2.5,3.492],[3.993,-1.291],[7.157,-4.738],[6.054,-3.157],[0,0],[-14.285,16.96],[-6.401,8.234],[3.021,2.921],[3.564,-2.542],[7.775,-6.976],[-1.695,1.94],[2.084,2.844],[3.65,-0.938],[1.658,-0.984],[0.655,2.35],[7.279,-3.256]],"o":[[0.159,-2.71],[-24.069,3.813],[-11.885,28.904],[32.782,1.857],[5.445,-3.108],[-2.429,-3.393],[-2.891,0.935],[-6.302,4.173],[-6.053,3.158],[0,0],[9.729,-11.551],[3.338,-4.294],[-2.537,-2.453],[-1.787,1.274],[9.925,-9.708],[2.32,-2.655],[-1.943,-2.652],[-1.357,0.349],[0.878,-1.227],[-0.933,-3.346],[-1.364,0.61]],"v":[[25.212,-63.227],[17.166,-69.856],[-62.543,5.248],[-16.676,69.9],[55.713,29.243],[58.997,16.956],[47.025,14.009],[36.082,19.299],[20.024,30.081],[9.751,33.451],[36.325,0.072],[63.773,-31.101],[63.042,-42.45],[52.466,-41.676],[36.191,-27.576],[56.718,-47.307],[56.668,-57.46],[47.992,-59.484],[43.473,-57.441],[45.072,-63.423],[31.556,-67.367]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[143.645,113.728],"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":"HAND_MAIN","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],[0,0],[0,0],[0,0],[0,0]],"o":[[-21.556,20.677],[0,0],[0,0],[0,0],[0,0]],"v":[[27.077,-29.148],[-27.077,29.148],[-14.87,27.435],[6.884,12.719],[18.881,-4.638]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[94.789,96.955],"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":"HAND_PATCH","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,0],[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[-105.823,62.116],[-50.508,114.467],[105.823,-53.888],[57.346,-114.467]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[37.822,210.857],"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":"ARM","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[1.088,0.077],[3.356,-3.614],[0,0],[0,0],[0,0],[3.196,-0.137]],"o":[[-4.92,-0.347],[0,0],[0,0],[0,0],[0,0],[-0.776,0.033]],"v":[[10.868,5.348],[-2.224,10.502],[-14.819,0],[-7.352,-10.502],[11.989,-4.804],[13.744,5.43]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.678431391716,0.403921574354,0.305882364511,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[116.337,178.271],"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":"HAND","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[70.741,184.538],"ix":2},"a":{"a":0,"k":[70.741,184.538],"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":"**ARM_MAIN","np":4,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":13,"ty":3,"nm":"PHONE_REPO","sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":1,"k":[{"i":{"x":[0.8],"y":[0.15]},"o":{"x":[0.3],"y":[0]},"t":70,"s":[206]},{"i":{"x":[0.1],"y":[1]},"o":{"x":[0.05],"y":[0.536]},"t":76.834,"s":[244]},{"t":103,"s":[301]}],"ix":3},"y":{"a":0,"k":150,"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":3,"nm":"Launcher_ScaleIN","parent":13,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":1.25,"ix":3},"y":{"a":0,"k":22.5,"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":144,"s":[80,80,100]},{"i":{"x":[0.1,0.1,0.1],"y":[1,1,1]},"o":{"x":[0.05,0.05,0.05],"y":[0.7,0.7,0]},"t":152.334,"s":[88,88,100]},{"t":194,"s":[100,100,100]}],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":"Launcher_01","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-37.512,40.271,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":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.807843148708,0.917647063732,0.839215695858,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":"Launcher_02","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-13.623,40.271,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":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.996078431606,0.937254905701,0.764705896378,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":"Launcher_03","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[10.266,40.121,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":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.980392158031,0.823529422283,0.811764717102,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":"Launcher_04","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[34.155,40.271,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":[[-3.112,0],[0,3.112],[3.112,0],[0,-3.112]],"o":[[3.112,0],[0,-3.112],[-3.112,0],[0,3.112]],"v":[[0,5.635],[5.635,0],[0,-5.635],[-5.635,0]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.823529422283,0.890196084976,0.988235294819,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".grey800","cl":"grey800","parent":14,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":144,"s":[0]},{"t":154,"s":[100]}],"ix":11,"x":"var $bm_rt;\n$bm_rt = thisComp.layer('Launcher_ScaleIN').transform.opacity;"},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-1.803,57.487,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":[[3.134,0],[0,0],[0,-3.134],[0,0],[-3.134,0],[0,0],[0,3.134],[0,0]],"o":[[0,0],[-3.134,0],[0,0],[0,3.134],[0,0],[3.134,0],[0,0],[0,-3.134]],"v":[[36.718,-5.872],[-36.718,-5.872],[-42.393,-0.197],[-42.393,0.197],[-36.718,5.872],[36.718,5.872],[42.393,0.197],[42.393,-0.197]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.235294118524,0.250980407,0.262745112181,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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":20,"ty":3,"nm":"SWIPE_MOVE","parent":13,"sr":1,"ks":{"o":{"a":0,"k":0,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"s":true,"x":{"a":0,"k":0,"ix":3},"y":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":40,"s":[0]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":70,"s":[-35]},{"i":{"x":[0.833],"y":[1]},"o":{"x":[0.167],"y":[0]},"t":130,"s":[-35]},{"t":160,"s":[-65]}],"ix":4}},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[100,100,100],"ix":6,"l":2}},"ao":0,"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":21,"ty":4,"nm":"SWIPE","parent":20,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":10,"s":[100]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":55,"s":[100]},{"t":65,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.05,"y":1},"o":{"x":0.45,"y":0},"t":0,"s":[-19.564,102.3,0],"to":[0,0,0],"ti":[-0.936,17.2,0]},{"t":30,"s":[0.436,77.3,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[6.432,0],[0,0],[0,-6.432],[0,0],[-6.432,0],[0,0],[0,6.432],[0,0]],"o":[[0,0],[-6.432,0],[0,0],[0,6.432],[0,0],[6.432,0],[0,0],[0,-6.432]],"v":[[0,-3.467],[0,-3.467],[-11.645,8.179],[-11.645,9.321],[0,20.967],[0,20.967],[11.645,9.321],[11.645,8.179]],"c":true}]},{"t":60,"s":[{"i":[[6.432,0],[0,0],[0,-6.432],[0,0],[-6.432,0],[0,0],[0,6.432],[0,0]],"o":[[0,0],[-6.432,0],[0,0],[0,6.432],[0,0],[6.432,0],[0,0],[0,-6.432]],"v":[[0,-20.967],[0,-20.967],[-11.645,-9.321],[-11.645,9.321],[0,20.967],[0,20.967],[11.645,9.321],[11.645,-9.321]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":15,"k":{"a":0,"k":[0.079,0.4,0.616,0.965,0.089,0.396,0.612,0.963,0.1,0.392,0.608,0.961,0.154,0.375,0.596,0.959,0.208,0.357,0.584,0.957,0.262,0.341,0.573,0.955,0.316,0.325,0.561,0.953,0.368,0.314,0.553,0.953,0.421,0.302,0.545,0.953,0.471,0.292,0.537,0.951,0.522,0.282,0.529,0.949,0.57,0.275,0.525,0.949,0.618,0.267,0.522,0.949,0.663,0.263,0.518,0.949,0.708,0.259,0.514,0.949,0.079,0,0.089,0.026,0.1,0.052,0.154,0.176,0.208,0.3,0.262,0.407,0.316,0.514,0.368,0.601,0.421,0.689,0.471,0.756,0.522,0.824,0.57,0.873,0.618,0.921,0.663,0.951,0.708,0.98],"ix":9}},"s":{"a":0,"k":[0,20.967],"ix":5},"e":{"a":0,"k":[0,-20.967],"ix":6},"t":1,"nm":"Gradient Fill 1","mn":"ADBE Vector Graphic - G-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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":"SCREEN_MASK","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - 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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector 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}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":25,"ty":4,"nm":".notif_01","cl":"notif_01","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[20]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-19.366,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":[[2.058,0],[0,0],[0,-2.058],[0,0],[-2.058,0],[0,0],[0,2.058],[0,0]],"o":[[0,0],[-2.058,0],[0,0],[0,2.058],[0,0],[2.058,0],[0,0],[0,-2.058]],"v":[[41.08,-10.024],[-41.08,-10.024],[-44.805,-6.298],[-44.805,6.298],[-41.08,10.024],[41.08,10.024],[44.805,6.298],[44.805,-6.298]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":26,"ty":4,"nm":"SCREEN_MASK 5","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - 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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector 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}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":27,"ty":4,"nm":".notif_02","cl":"notif_02","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[20]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,5.366,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":[[2.058,0],[0,0],[0,-2.058],[0,0],[-2.058,0],[0,0],[0,2.058],[0,0]],"o":[[0,0],[-2.058,0],[0,0],[0,2.058],[0,0],[2.058,0],[0,0],[0,-2.058]],"v":[[41.08,-10.024],[-41.08,-10.024],[-44.805,-6.298],[-44.805,6.298],[-41.08,10.024],[41.08,10.024],[44.805,6.298],[44.805,-6.298]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":28,"ty":4,"nm":"SCREEN_MASK 4","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - 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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector 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}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":29,"ty":4,"nm":".white_LOCK","cl":"white_LOCK","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,58.668,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":[[-0.367,-0.367],[-0.515,0],[0,0],[-0.367,0.367],[0,0.515],[0,0],[0.367,0.367],[0.515,0],[0,0],[0,0],[1.155,1.157],[1.642,0],[1.157,-1.157],[0,-1.641],[0,0],[0,0],[0.367,-0.367],[0,-0.515],[0,0]],"o":[[0.367,0.367],[0,0],[0.515,0],[0.367,-0.367],[0,0],[0,-0.515],[-0.367,-0.367],[0,0],[0,0],[0,-1.641],[-1.155,-1.157],[-1.642,0],[-1.157,1.157],[0,0],[0,0],[-0.515,0],[-0.367,0.367],[0,0],[0,0.515]],"v":[[-9.441,12.564],[-8.118,13.114],[8.118,13.114],[9.441,12.564],[9.991,11.24],[9.991,-2.311],[9.441,-3.634],[8.118,-4.184],[5.932,-4.184],[5.932,-7.181],[4.2,-11.379],[0.003,-13.114],[-4.196,-11.379],[-5.932,-7.181],[-5.932,-4.184],[-8.118,-4.184],[-9.441,-3.634],[-9.991,-2.311],[-9.991,11.24]],"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],[0,0]],"o":[[0,0],[0,0],[0,0],[0,0]],"v":[[8.118,11.24],[-8.118,11.24],[-8.118,-2.311],[8.118,-2.311]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0.468,-0.459],[0.663,0],[0.472,0.458],[0,0.635],[-0.468,0.51],[-0.663,0],[-0.472,-0.51],[0,-0.624]],"o":[[-0.468,0.459],[-0.663,0],[-0.472,-0.458],[0,-0.635],[0.468,-0.51],[0.663,0],[0.472,0.51],[0,0.644]],"v":[[1.702,6.181],[0.005,6.869],[-1.696,6.182],[-2.404,4.543],[-1.702,2.826],[-0.005,2.061],[1.696,2.826],[2.404,4.527]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ind":3,"ty":"sh","ix":4,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[-0.791,0.789],[-1.126,0],[-0.789,-0.789],[0,-1.128]],"o":[[0,0],[0,0],[0,-1.128],[0.791,-0.789],[1.126,0],[0.789,0.789],[0,0]],"v":[[4.059,-4.184],[-4.059,-4.184],[-4.059,-7.181],[-2.873,-10.057],[0.004,-11.24],[2.876,-10.057],[4.059,-7.181]],"c":true},"ix":2},"nm":"Path 4","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":[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":"Vector","np":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":30,"ty":4,"nm":"SCREEN_MASK 3","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - 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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector 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}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":31,"ty":4,"nm":".white_TIME","cl":"white_TIME","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.436,-54.05,0],"ix":2,"l":2},"a":{"a":0,"k":[301.436,95.95,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.657,-0.758],[-0.859,-0.375],[-0.878,0],[-0.977,0.557],[-0.558,0.959],[0,1.169],[0.549,0.95],[0.923,0.53],[1.077,0],[0.969,-0.822],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-0.585,0.302],[-0.658,0],[-0.767,-0.776],[0,-1.187],[0.776,-0.749],[1.223,0],[0.731,0.667],[0.292,1.114],[0,0]],"o":[[0.658,0.759],[0.859,0.374],[1.223,0],[0.978,-0.557],[0.557,-0.959],[0,-1.169],[-0.549,-0.949],[-0.922,-0.529],[-1.408,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.365,-0.53],[0.585,-0.301],[1.205,0],[0.768,0.777],[0,1.205],[-0.776,0.749],[-1.024,0],[-0.731,-0.667],[0,0],[0.273,1.114]],"v":[[-4.96,7.33],[-2.685,9.029],[-0.082,9.59],[3.219,8.755],[5.522,6.48],[6.356,3.289],[5.535,0.11],[3.329,-2.11],[0.329,-2.904],[-3.234,-1.671],[-3.343,-1.699],[-2.604,-7.371],[5.179,-7.371],[5.179,-9.59],[-4.521,-9.59],[-5.726,-0.136],[-3.37,0.904],[-1.945,-0.343],[-0.082,-0.794],[2.877,0.37],[4.028,3.316],[2.863,6.247],[-0.136,7.371],[-2.768,6.371],[-4.301,3.699],[-6.356,4.522]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[317.59,96.169],"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":"Vector","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],[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]],"v":[[-2.206,-3.754],[1.083,-6.11],[1.083,9.371],[3.411,9.371],[3.411,-9.371],[1.932,-9.371],[-3.411,-5.535]],"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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[303.957,95.95],"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":"Vector","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,-0.493],[-0.339,-0.338],[-0.493,0],[-0.339,0.338],[0,0.493],[0.338,0.339],[0.494,0],[0.338,-0.338]],"o":[[0,0.493],[0.338,0.338],[0.494,0],[0.338,-0.338],[0,-0.493],[-0.339,-0.338],[-0.493,0],[-0.339,0.339]],"v":[[-1.754,-5.316],[-1.247,-4.069],[0,-3.562],[1.247,-4.069],[1.754,-5.316],[1.247,-6.563],[0,-7.069],[-1.247,-6.563]],"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.475],[-0.339,-0.338],[-0.493,0],[-0.339,0.339],[0,0.493],[0.338,0.338],[0.494,0],[0.338,-0.338]],"o":[[0,0.493],[0.338,0.339],[0.494,0],[0.338,-0.338],[0,-0.475],[-0.339,-0.338],[-0.493,0],[-0.339,0.338]],"v":[[-1.754,5.316],[-1.247,6.562],[0,7.069],[1.247,6.562],[1.754,5.316],[1.247,4.096],[0,3.589],[-1.247,4.096]],"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":[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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[296.053,98.251],"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":"Vector","np":1,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"gr","it":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-0.548,-0.85],[-0.969,-0.493],[-1.187,0],[-0.968,0.494],[-0.557,0.85],[0,1.041],[0.576,0.795],[0.932,0.457],[0,0],[-0.466,0.722],[0,0.786],[0.484,0.804],[0.868,0.457],[1.078,0],[0.867,-0.456],[0.484,-0.803],[0,-0.986],[-0.466,-0.722],[-0.731,-0.438],[0,0],[0.576,-0.795],[0,-1.06]],"o":[[0.548,0.85],[0.968,0.494],[1.169,0],[0.968,-0.493],[0.557,-0.85],[0,-1.06],[-0.575,-0.795],[0,0],[0.712,-0.438],[0.466,-0.722],[0,-0.986],[-0.484,-0.803],[-0.868,-0.456],[-1.096,0],[-0.868,0.457],[-0.484,0.804],[0,0.786],[0.466,0.722],[0,0],[-0.932,0.457],[-0.575,0.795],[0,1.041]],"v":[[-5.508,7.056],[-3.233,9.069],[0,9.809],[3.206,9.069],[5.494,7.056],[6.33,4.22],[5.466,1.439],[3.206,-0.439],[3.206,-0.548],[4.973,-2.288],[5.672,-4.549],[4.946,-7.234],[2.918,-9.124],[0,-9.809],[-2.945,-9.124],[-4.973,-7.234],[-5.7,-4.549],[-5.001,-2.288],[-3.206,-0.548],[-3.206,-0.439],[-5.467,1.439],[-6.33,4.22]],"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,-1.005],[0.758,-0.648],[1.114,0],[0.767,0.648],[0,1.041],[-0.767,0.648],[-1.114,0],[-0.758,-0.648]],"o":[[0,1.041],[-0.758,0.648],[-1.114,0],[-0.767,-0.648],[0,-1.005],[0.767,-0.648],[1.114,0],[0.758,0.648]],"v":[[3.946,4.083],[2.808,6.618],[0,7.59],[-2.822,6.618],[-3.973,4.083],[-2.822,1.603],[0,0.63],[2.808,1.603]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,-0.913],[0.621,-0.566],[0.968,0],[0.63,0.567],[0,0.914],[-0.63,0.539],[-0.969,0],[-0.63,-0.539]],"o":[[0,0.914],[-0.621,0.567],[-0.969,0],[-0.63,-0.566],[0,-0.913],[0.63,-0.539],[0.949,0],[0.63,0.539]],"v":[[3.315,-4.603],[2.384,-2.384],[0,-1.534],[-2.398,-2.384],[-3.343,-4.603],[-2.398,-6.782],[0,-7.59],[2.37,-6.782]],"c":true},"ix":2},"nm":"Path 3","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":[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":"Vector","np":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false},{"ty":"tr","p":{"a":0,"k":[285.257,95.95],"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":"Vector","np":1,"cix":2,"bm":0,"ix":4,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":32,"ty":4,"nm":".grey600","cl":"grey600","parent":13,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[0.436,-1.2,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":[[0,-1.086],[0,0],[1.086,0],[0,0],[0,-1.086],[0,0],[1.086,0],[0,0],[5.421,0],[0,0],[0,5.421],[0,0],[-5.421,0],[0,0],[0,-5.421],[0,0]],"o":[[0,0],[0,1.086],[0,0],[1.086,0],[0,0],[0,1.086],[0,0],[0,5.421],[0,0],[-5.421,0],[0,0],[0,-5.421],[0,0],[5.421,0],[0,0],[1.086,0]],"v":[[56.04,-51.124],[56.04,-43.259],[54.073,-41.292],[54.073,-25.562],[56.04,-23.596],[56.04,-3.933],[54.073,-1.966],[54.073,94.382],[44.242,104.214],[-46.208,104.214],[-56.04,94.382],[-56.04,-94.382],[-46.208,-104.214],[44.242,-104.214],[54.073,-94.382],[54.073,-53.09]],"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,4.337],[0,0],[4.337,0],[0,0],[0,-4.337],[0,0],[-4.337,0]],"o":[[4.337,0],[0,0],[0,-4.337],[0,0],[-4.337,0],[0,0],[0,4.337],[0,0]],"v":[[44.242,102.248],[52.107,94.382],[52.107,-94.382],[44.242,-102.248],[-46.208,-102.248],[-54.073,-94.382],[-54.073,94.382],[-46.208,102.248]],"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":[0.501960813999,0.525490224361,0.54509806633,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":"Vector","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":33,"ty":4,"nm":"SCREEN_MASK 2","parent":20,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.547,-1.2,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.8,"y":0},"t":40,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-102.248],[-45.225,-102.248],[-53.09,-94.383],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-94.382]],"c":true}]},{"t":70,"s":[{"i":[[4.341,0],[0,0],[0,-4.341],[0,0],[-4.341,0],[0,0],[0,4.341],[0,0]],"o":[[0,0],[-4.341,0],[0,0],[0,4.341],[0,0],[4.341,0],[0,0],[0,-4.341]],"v":[[45.224,-68.498],[-45.225,-68.498],[-53.09,-60.633],[-53.09,94.383],[-45.225,102.248],[45.224,102.248],[53.09,94.382],[53.09,-60.632]],"c":true}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - 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":"Vector","np":1,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector 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}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":34,"ty":4,"nm":"Gradient","parent":20,"tt":1,"sr":1,"ks":{"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":48,"s":[100]},{"t":58,"s":[0]}],"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[-0.464,-1.411,0],"ix":2,"l":2},"a":{"a":0,"k":[0,0,0],"ix":1,"l":2},"s":{"a":0,"k":[101,100,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[4.35,0],[0,0],[0,-4.35],[0,0],[-4.35,0],[0,0],[0,4.35],[0,0]],"o":[[0,0],[-4.35,0],[0,0],[0,4.35],[0,0],[4.35,0],[0,0],[0,-4.35]],"v":[[45.319,-102.459],[-45.318,-102.459],[-53.2,-94.577],[-53.2,94.578],[-45.319,102.459],[45.319,102.459],[53.2,94.578],[53.2,-94.578]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"gf","o":{"a":0,"k":100,"ix":10},"r":1,"bm":0,"g":{"p":13,"k":{"a":0,"k":[0.079,0.929,0.8,0.816,0.158,0.837,0.761,0.833,0.236,0.745,0.722,0.851,0.324,0.659,0.684,0.869,0.411,0.573,0.647,0.886,0.496,0.504,0.618,0.898,0.58,0.435,0.588,0.91,0.659,0.386,0.567,0.92,0.738,0.337,0.545,0.929,0.811,0.308,0.533,0.935,0.883,0.278,0.522,0.941,0.941,0.269,0.518,0.945,1,0.259,0.514,0.949],"ix":9}},"s":{"a":0,"k":[-80.036,123.908],"ix":5},"e":{"a":0,"k":[121.911,123.908],"ix":6},"t":2,"h":{"a":0,"k":0,"ix":7},"a":{"a":0,"k":0,"ix":8},"nm":"Gradient Fill_1","mn":"ADBE Vector Graphic - G-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":"Vector","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"ct":1,"bm":0},{"ddd":0,"ind":35,"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.291,0],[0,0],[0,15.544],[0,0],[15.185,0],[0,0],[0,-15.652],[0,0]],"o":[[0,0],[15.291,0],[0,0],[0,-15.652],[0,0],[-15.291,0],[0,0],[0,15.652]],"v":[[-178.179,150],[178.179,150],[206,121.63],[206,-121.522],[178.286,-150],[-178.179,-150],[-206,-121.522],[-206,121.522]],"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":"Vector","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/remoteauth_explanation_swipe_animation.json b/res/raw/remoteauth_explanation_swipe_animation.json
new file mode 100644
index 0000000..a06ae37
--- /dev/null
+++ b/res/raw/remoteauth_explanation_swipe_animation.json
@@ -0,0 +1 @@
+{"v":"5.9.0","fr":60,"ip":0,"op":248,"w":412,"h":300,"nm":"Active_Unlock_PT2_V05","ddd":0,"assets":[],"layers":[{"ddd":0,"ind":1,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[0]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[360]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[360]},{"t":237,"s":[0]}],"ix":10},"p":{"a":0,"k":[85.699,151.401,0],"ix":2,"l":2},"a":{"a":0,"k":[84.949,150.651,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":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":62,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.7,"y":0},"t":92,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-23.725,4.75],[-11.85,14.35],[7.725,-9.125]],"c":false}]},{"t":237,"s":[{"i":[[0,0],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0]],"v":[[-9.6,-20.75],[-9.6,4.35],[9.6,20.75]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":62,"s":[2.768]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":92,"s":[4.568]},{"i":{"x":[0.3],"y":[1]},"o":{"x":[0.8],"y":[0]},"t":187,"s":[4.568]},{"t":237,"s":[2.768]}],"ix":5},"lc":1,"lj":1,"ml":10,"bm":0,"nm":"Stroke 1","mn":"ADBE Vector Graphic - Stroke","hd":false},{"ty":"tr","p":{"a":0,"k":[94.549,146.301],"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":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":3,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[171.326,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[186.326,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[186.326,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[171.326,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":0,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":20,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":40,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":83,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":103,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":123,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":125,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":145,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":165,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":208,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":228,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":248,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":4,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[191.201,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[206.201,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[206.201,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[191.201,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":7,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":27,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":47,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":76,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":96,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":116,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":132,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":152,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":172,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":201,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":221,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":241,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":5,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[210.701,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[225.701,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[225.701,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[210.701,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":14,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":34,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":54,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":69,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":89,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":109,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":139,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":159,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":179,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":194,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":214,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":234,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":6,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[230.076,149.999,0],"to":[2.5,0,0],"ti":[-2.5,0,0]},{"i":{"x":0.3,"y":0.3},"o":{"x":0.7,"y":0.7},"t":50,"s":[245.076,149.999,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.3,"y":1},"o":{"x":0.8,"y":0},"t":187,"s":[245.076,149.999,0],"to":[-2.5,0,0],"ti":[2.5,0,0]},{"t":237,"s":[230.076,149.999,0]}],"ix":2,"l":2},"a":{"a":0,"k":[211.701,150.999,0],"ix":1,"l":2},"s":{"a":1,"k":[{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":21,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":41,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":61,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":62,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":82,"s":[130,130,100]},{"i":{"x":[0.833,0.833,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":102,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":146,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":166,"s":[130,130,100]},{"i":{"x":[0.1,0.1,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":186,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.563],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.186],"y":[0,0,0]},"t":187,"s":[100,100,100]},{"i":{"x":[0.1,0.1,0.669],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.318],"y":[0,0,0]},"t":207,"s":[130,130,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.3,0.3,0.432],"y":[0,0,0]},"t":227,"s":[100,100,100]},{"i":{"x":[0.3,0.3,0.833],"y":[1,1,1]},"o":{"x":[0.8,0.8,0.167],"y":[0,0,0]},"t":263,"s":[100,100,100]},{"t":283,"s":[0,0,100]}],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[2.1,0],[0,-2.2],[-2.2,0],[0,2.2]],"o":[[-2.101,0],[0,2.2],[2.1,0],[0,-2.2]],"v":[[0.001,-3.9],[-3.899,0],[0.001,3.9],[3.9,0]],"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":[211.701,150.999],"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 4","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":10,"ty":4,"nm":".blue400","cl":"blue400","parent":11,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[9.431,10.775,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":1,"k":[{"i":{"x":0,"y":1},"o":{"x":0.167,"y":0.167},"t":58,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.167,"y":0},"t":88,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":207,"s":[{"i":[[0,0],[0,3.938],[0.896,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[-0.896,0],[0,4.188],[0,0]],"v":[[14.875,-2.531],[14.875,-7.219],[10.274,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0.667,"y":1},"o":{"x":0.333,"y":0},"t":217,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"i":{"x":0,"y":1},"o":{"x":0.333,"y":0},"t":227,"s":[{"i":[[0,0],[0,3.938],[-0.932,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.932,0],[0,4.188],[0,0]],"v":[[-4.5,-2.531],[-4.5,-7.219],[0.282,-12.156],[5.375,-7.281],[5.375,-0.281]],"c":false}]},{"t":247,"s":[{"i":[[0,0],[0,3.938],[-0.938,0],[0,-4.188],[0,0]],"o":[[0,0],[0,-3.938],[0.938,0],[0,4.188],[0,0]],"v":[[-4.562,-0.031],[-4.562,-4.719],[0.25,-9.656],[5.375,-4.781],[5.375,-0.281]],"c":false}]}],"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","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":2,"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":"Shape 1","np":3,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":11,"ty":4,"nm":".blue400","cl":"blue400","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[315.859,148.919,0],"ix":2,"l":2},"a":{"a":0,"k":[9.912,13.777,0],"ix":1,"l":2},"s":{"a":0,"k":[147,147,100],"ix":6,"l":2}},"ao":0,"shapes":[{"ty":"gr","it":[{"ind":0,"ty":"sh","ix":1,"ks":{"a":0,"k":{"i":[[-1.067,0],[0,1.067],[1.067,0],[0,-1.068]],"o":[[1.067,0],[0,-1.068],[-1.067,0],[0,1.067]],"v":[[0,6.764],[1.932,4.831],[0,2.898],[-1.932,4.831]],"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.533],[0,0],[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0]],"o":[[-0.534,0],[0,0],[0,0.533],[0,0],[0.534,0],[0,0],[0,-0.533],[0,0]],"v":[[-6.763,-1.932],[-7.73,-0.966],[-7.73,10.629],[-6.763,11.594],[6.763,11.594],[7.73,10.629],[7.73,-0.966],[6.763,-1.932]],"c":true},"ix":2},"nm":"Path 2","mn":"ADBE Vector Shape - Group","hd":false},{"ind":2,"ty":"sh","ix":3,"ks":{"a":0,"k":{"i":[[0,0],[0,0],[0,0],[0,-1.601],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0]],"o":[[0,0],[0,0],[1.601,0],[0,0],[0,1.601],[0,0],[-1.601,0],[0,0],[0,-1.601],[0,0]],"v":[[-5.797,-3.865],[5.797,-3.865],[6.763,-3.865],[9.662,-0.966],[9.662,10.629],[6.763,13.527],[-6.763,13.527],[-9.662,10.629],[-9.662,-0.966],[-6.763,-3.865]],"c":true},"ix":2},"nm":"Path 3","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,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":[9.912,13.777],"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":6,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":14,"ty":4,"nm":"MATTE","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,150,0],"ix":2,"l":2},"a":{"a":0,"k":[56.29,104.464,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],[4.337,0],[0,0],[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337]],"o":[[0,4.337],[0,0],[-4.337,0],[0,0],[0,-4.337],[0,0],[4.337,0],[0,0]],"v":[[52.107,94.382],[44.242,102.248],[-46.208,102.248],[-54.074,94.382],[-54.074,-94.382],[-46.208,-102.248],[44.242,-102.248],[52.107,-94.382]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"mm","mm":1,"nm":"Merge Paths 1","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"gr","it":[{"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":0,"cix":2,"bm":0,"ix":3,"mn":"ADBE Vector Group","hd":false},{"ty":"mm","mm":4,"nm":"Merge Paths 2","mn":"ADBE Vector Filter - Merge","hd":false},{"ty":"fl","c":{"a":0,"k":[0.498039245605,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":[56.29,104.464],"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":5,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":600,"st":0,"bm":0},{"ddd":0,"ind":15,"ty":4,"nm":".blue400","cl":"blue400","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.981,152.207,0],"ix":2,"l":2},"a":{"a":0,"k":[74.06,74.06,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":[[3.72,-30.74],[30.74,3.72],[-3.719,30.741],[-30.74,-3.719]],"o":[[-3.72,30.74],[-30.74,-3.719],[3.72,-30.74],[30.74,3.72]],"v":[[55.66,6.735],[-6.735,55.66],[-55.66,-6.735],[6.735,-55.66]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"fl","c":{"a":0,"k":[0.4,0.61568627451,0.964705882353,1],"ix":4},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":60,"s":[0]},{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":73,"s":[33]},{"t":120,"s":[0]}],"ix":5},"r":1,"bm":0,"nm":"Fill 1","mn":"ADBE Vector Graphic - Fill","hd":false},{"ty":"tr","p":{"a":0,"k":[74.06,74.06],"ix":2},"a":{"a":0,"k":[0,0],"ix":1},"s":{"a":1,"k":[{"i":{"x":[0.667,0.667],"y":[1,1]},"o":{"x":[0.333,0.333],"y":[0,0]},"t":60,"s":[0,0]},{"t":120,"s":[610,610]}],"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":600,"st":0,"bm":0},{"ddd":0,"ind":16,"ty":4,"nm":".blue300matte","cl":"blue300matte","td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,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],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"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,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"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":[0.541176470588,0.705882352941,0.972549019608,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":[317.85,151.9],"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":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":17,"ty":4,"nm":".blue600","cl":"blue600","tt":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[314.647,152.796,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":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[225]},{"t":248,"s":[585]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"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 2","np":3,"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":[[0,0],[0,3.941],[0,0],[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0]],"o":[[3.941,0],[0,0],[0,-3.941],[0,0],[-3.941,0],[0,0],[0,3.941],[0,0]],"v":[[48.189,101.203],[55.325,94.067],[55.283,-97.818],[48.147,-104.954],[-45.468,-104.954],[-52.605,-97.818],[-52.563,94.067],[-45.426,101.203]],"c":true},"ix":2},"nm":"Path 1","mn":"ADBE Vector Shape - Group","hd":false},{"ty":"tm","s":{"a":0,"k":0,"ix":1},"e":{"a":0,"k":25,"ix":2},"o":{"a":1,"k":[{"i":{"x":[0.833],"y":[0.833]},"o":{"x":[0.167],"y":[0.167]},"t":0,"s":[45]},{"t":248,"s":[405]}],"ix":3},"m":1,"ix":2,"nm":"Trim Paths 1","mn":"ADBE Vector Filter - Trim","hd":false},{"ty":"st","c":{"a":0,"k":[0.101960784314,0.450980392157,0.909803921569,1],"ix":3},"o":{"a":0,"k":100,"ix":4},"w":{"a":0,"k":7,"ix":5},"lc":1,"lj":1,"ml":10,"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":3,"cix":2,"bm":0,"ix":2,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":300,"st":0,"bm":0},{"ddd":0,"ind":18,"ty":4,"nm":".blue300","cl":"blue300","sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[316.85,150.9,0],"ix":2,"l":2},"a":{"a":0,"k":[317.85,151.9,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],[4.4,0],[0,0],[0,4.399],[0,0],[-4.4,0],[0,0],[0,-4.4]],"o":[[0,4.3],[0,0],[-4.3,0],[0,0],[0,-4.3],[0,0],[4.3,0],[0,0]],"v":[[52.15,94.3],[44.25,102.199],[-46.25,102.199],[-54.15,94.3],[-54.15,-94.4],[-46.25,-102.3],[44.25,-102.3],[52.15,-94.4]],"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,1.1],[0,0],[1.1,0],[0,0],[5.4,0],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[0,1.1],[0,0],[1.1,0],[0,0]],"o":[[0,0],[0,-1.1],[0,0],[0,-5.4],[0,0],[-5.4,0],[0,0],[0,5.4],[0,0],[5.4,0],[0,0],[1.1,0],[0,0],[0,-1.1],[0,0],[1.1,0]],"v":[[56.05,-43.3],[56.05,-51.2],[54.05,-53.2],[54.05,-94.4],[44.25,-104.2],[-46.25,-104.2],[-56.05,-94.4],[-56.05,94.4],[-46.25,104.199],[44.25,104.199],[54.05,94.4],[54.05,-1.9],[56.05,-3.9],[56.05,-23.6],[54.05,-25.6],[54.05,-41.3]],"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":[0.541176470588,0.705882352941,0.972549019608,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":[317.85,151.9],"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":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":19,"ty":4,"nm":".blue400","cl":"blue400","parent":24,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[88.803,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[88.803,150.5,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":[[24.601,0],[0,24.6],[-24.6,0],[0,-24.6]],"o":[[-24.6,0],[0,-24.6],[24.601,0],[0,24.6]],"v":[[-1.45,44.6],[-46.05,-0.001],[-1.45,-44.6],[43.151,-0.001]],"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":[[1.5,0],[0,0],[24.101,0],[0,-26.1],[-26.1,0],[-3.8,22.401],[0,0],[0,1.5],[0,0]],"o":[[0,0],[-2.9,-23.299],[-26.1,0],[0,26.1],[23.4,0],[0,0],[1.5,0],[0,0],[0.099,-1.5]],"v":[[46.051,-5.9],[45.551,-5.9],[-1.45,-47.299],[-48.75,-0.001],[-1.45,47.299],[45.25,7.799],[45.95,7.799],[48.651,5.1],[48.651,-3.199]],"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":[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":[88.849,150.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":"Group 8","np":4,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":23,"ty":4,"nm":"ClockFace_Mask","parent":24,"td":1,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":0,"k":0,"ix":10},"p":{"a":0,"k":[87.399,150.5,0],"ix":2,"l":2},"a":{"a":0,"k":[87.399,150.5,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":[[-25.405,0],[0,25.405],[25.404,0],[0,-25.405]],"o":[[25.404,0],[0,-25.405],[-25.405,0],[0,25.405]],"v":[[0,46],[46,0],[0,-46],[-46,0]],"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":[87.399,150.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":"Group 9","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0},{"ddd":0,"ind":24,"ty":4,"nm":".grey300","cl":"grey300","tt":2,"sr":1,"ks":{"o":{"a":0,"k":100,"ix":11},"r":{"a":1,"k":[{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":0,"s":[0]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":50,"s":[6]},{"i":{"x":[0.2],"y":[1]},"o":{"x":[0.7],"y":[0]},"t":187,"s":[6]},{"t":237,"s":[0]}],"ix":10},"p":{"a":1,"k":[{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":0,"s":[86.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":0.2},"o":{"x":0.7,"y":0.7},"t":50,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"i":{"x":0.2,"y":1},"o":{"x":0.7,"y":0},"t":187,"s":[121.4,150.05,0],"to":[0,0,0],"ti":[0,0,0]},{"t":237,"s":[86.4,150.05,0]}],"ix":2,"l":2},"a":{"a":0,"k":[87.4,151.05,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,0],[0,0],[5.1,0],[0,0],[0.5,-4.3],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[-5.1,0],[0,0],[-0.5,4.3],[0,0],[0,0]],"o":[[0,0],[0,0],[0,0],[-0.5,-4.3],[0,0],[-5.1,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0,0],[0.5,4.301],[0,0],[5.1,0],[0,0],[0,0],[0,0]],"v":[[29.3,-7.85],[29.4,-9.35],[29.1,-9.35],[22.699,-68.05],[12.8,-75.65],[-12,-75.65],[-21.9,-68.15],[-29,-9.35],[-29.4,-9.35],[-29.301,-7.65],[-29.4,-6.45],[-29.2,-6.45],[-22.801,68.049],[-12.9,75.65],[11.9,75.65],[21.8,68.15],[29,-6.45],[29.3,-6.45]],"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":[87.4,151.05],"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 10","np":2,"cix":2,"bm":0,"ix":1,"mn":"ADBE Vector Group","hd":false}],"ip":0,"op":1800,"st":0,"bm":0}],"markers":[]}
diff --git a/res/values-af/arrays.xml b/res/values-af/arrays.xml
index 581c5d4..44a2d54 100644
--- a/res/values-af/arrays.xml
+++ b/res/values-af/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Beskikbaar"</item>
     <item msgid="6096962300722555553">"Buite reikwydte"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Gedeaktiveer"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast en Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Gebruik stelselverstek: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Ná 1 minuut"</item>
     <item msgid="1574040255478150028">"Ná 5 minute"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-af/strings.xml b/res/values-af/strings.xml
index 9b1c98d..262803d 100644
--- a/res/values-af/strings.xml
+++ b/res/values-af/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Jy is nou \'n ontwikkelaar!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Toemaar, jy is reeds \'n ontwikkelaar."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktiveer asseblief eers ontwikkelaaropsies."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Net die admingebruikers het toegang tot ontwikkelaarinstellings."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Stelsel"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In diens"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Diens is nie beskikbaar nie"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Boonste skerm skakel aan wanneer jy jou toestel vou"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Slegs speletjies, video’s en meer"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Boonste skerm skakel aan vir apps wat keer dat jou skerm onaktief word"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swiep op om voort te gaan"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Vou jou foon en swiep op die boonste skerm op om voort te gaan om die app te gebruik, of wag ’n paar sekondes vir die skerm om te sluit"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nooit"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Boonste skerm sluit wanneer jy jou toestel vou"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Gebruik outodraai"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Soortgelyk"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Luitoon en wekkers"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Oudio tydens oproepe"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Kennsgewings en stelselklanke"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media- en stelselklanke"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Kennisgewings"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Oudio-uitvoer word by verstek deur individuele apps bepaal"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Onbenoemde Bluetooth-toestel"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Soek"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Kanselleer"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Deaktiveer Bluetooth LE-oudio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Deaktiveer Bluetooth LE oudio-kenmerk as die toestel LE oudiohardewarevermoëns ondersteun."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE-oudiomodus"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Wys LE-oudiowisselaar in Toestelbesonderhede"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Aktiveer Bluetooth LE-oudiotoelaatlys"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Aktiveer Bluetooth LE-oudiotoelaatlyskenmerk."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omseil Bluetooth LE-oudiotoelaatlys"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Gebruik LE-oudio by verstek, selfs as LE-oudio se randtoestel nie geverifieer is vir voldoening aan toelaatlyskriteria nie."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediatoestelle"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Oproeptoestelle"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Ander toestelle"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gestoorde toestelle"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Word met rekening geassosieer"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Voorheen met rekening gebruik"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth sal aangeskakel word om saam te bind"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Verbindingvoorkeure"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Voorheen gekoppel"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth is aangeskakel"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Sien alles"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Sien alles"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Puntknoppiedruk"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (werkprofiel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skryf in teksvelde"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoreer alle stilusknoppiedrukke"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Oudiodeling"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deel oudio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Oproepe en alarms"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Koppel aan ’n oudiostroom met gebruik van ’n QR-kode"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Geen oudiostroom is gevind nie."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum en tyd"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Instaanbediener"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Maak skoon"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Gaan na programtaalinstellings vir elke program om ’n taal te kies."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"Kom meer te wete oor apptale"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Verander stelseltaal na %s ?"</string>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Voeg %s by voorkeurtale?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Dit laat apps en webwerwe weet dat jy ook hierdie taal verkies."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Jou toestelinstellings en streeksvoorkeure sal verander."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Verander"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s is nie beskikbaar nie"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Saterdag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"As ’n app nie streeksvoorkeure steun nie, sal die app sy versteklocale-instellings gebruik."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Kom meer te wete oor taalvoorkeure."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Bykomende voorkeure"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Aanspreekvorms"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Stel hoe jy aangespreek wil word"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps kan jou aanspreekvorms gebruik om te personaliseer hoe hulle jou aanspreek."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nie gespesifiseer nie"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Vroulik"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Manlik"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutraal"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Verwyder geselekteerde taal?}other{Verwyder geselekteerde tale?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Teks sal in \'n ander taal gewys word."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Kan nie alle tale verwyder nie"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Ligging"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Gebruik ligging"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Af"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Aan – # app het toegang tot ligging}other{Aan – # apps het toegang tot ligging}}"</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">"Programme 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 programme 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="5329024810729665156">"Kom meer te wete oor ligginginstellings."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Kom meer te wete oor ligginginstellings"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Om liggingtoegang te verander, gaan na Instellings &gt; Sekuriteit en Privaatheid &gt; Privaatheidkontroles."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Rekeninge"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sekuriteit"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Enkripsie en eiebewyse"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Gebruik vir die beste resultate ’n skermbeskermer wat Gemaak vir Google-gesertifiseer is. Jou kind se vingerafdruk sal dalk nie met ander skermbeskermers werk nie."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Horlosieontsluiting"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Wanneer jy Gesigslot en Vingerafdrukslot opstel, sal jou foon vir jou vingerafdruk vra as jy ’n masker dra of in die donker is.\n\nJy kan met jou horlosie ontsluit wanneer jou gesig of vingerafdruk nie herken word nie."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Jy kan met jou horlosie ontsluit wanneer jou vingerafdruk nie herken word nie."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Jy kan met jou horlosie ontsluit wanneer jou gesig nie herken word nie."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Wanneer jy Gesigslot en Vingerafdrukslot opstel, sal jou foon vir jou vingerafdruk vra wanneer jy ’n masker dra of in die donker is.\n\nHorlosieontsluiting is nog ’n gerieflike manier om jou foon te ontsluit, byvoorbeeld wanneer jou vingers nat is of jou gesig nie herken word nie."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Horlosieontsluiting is nog ’n gerieflike manier om jou foon te ontsluit, byvoorbeeld wanneer jou vingerafdruk nie herken word nie."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Horlosieontsluiting is nog ’n gerieflike manier om jou foon te ontsluit, byvoorbeeld wanneer jou gesig nie herken word nie."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Gebruik vingerafdruk of horlosie om te"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Gebruik gesig of horlosie om te"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Gebruik gesig, vingerafdruk of horlosie om te"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Horlosieontsluiting is nog ’n gerieflike manier waarop jy hierdie foon kan ontsluit; byvoorbeeld, wanneer jou vingers nat is of jou gesig nie herken word nie.\n\nJy kan jou horlosie gebruik om hierdie foon te ontsluit wanneer jy:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Nie nou nie"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Gaan voort"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Meer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Hoe dit werk"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Jou horlosie moet ontsluit, om jou pols en binne bereik van hierdie foon wees. Jy hoef jou horlosie nie weer te ontsluit terwyl dit om jou pols is nie."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Jy sal op jou horlosie in kennis gestel word wanneer hierdie foon ontsluit word. Tik op die kennisgewing om die foon weer te sluit as jy dit onbedoeld ontsluit het."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Jy is in beheer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Jy kan jou horlosie enige tyd in Instellings uit Horlosieontsluiting verwyder"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tik op ’n kennisgewing"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swiep boontoe op die sluitskerm"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Kies jou horlosie"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Beskikbare horlosies"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Kanselleer"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Bevestig"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Jy is gereed!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Jy kan nou jou horlosie gebruik om hierdie foon te ontsluit wanneer jy op die sluitskerm boontoe swiep of op ’n kennisgewing tik"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Klaar"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Horlosieontsluiting"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Jy kan jou horlosie gebruik om hierdie foon te ontsluit wanneer jy op die sluitskerm boontoe swiep of op ’n kennisgewing tik"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Om Horlosieontsluiting te gebruik, moet jou horlosie ontsluit, om jou pols, binne bereik en aan hierdie foon gekoppel wees. As die verbinding onderbreek word, sal jy die foon moet ontsluit voordat jy Horlosieontsluiting kan gebruik.\n\nHou in gedagte:\nJy kan net een horlosie op ’n slag opgestel hê. Om ’n ander horlosie by te voeg, moet jy eers die huidige een verwyder."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sekuriteit"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privaatheid"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Werkprofiel"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privaat ruimte"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Behou private apps gesluit en versteek"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Hou privaat apps in ’n aparte ruimte wat jy kan versteek of sluit"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Privaat ruimte-slot"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Jy kan jou privaat ruimte ontsluit nes jy jou toestel ontsluit of jy kan ’n ander slot kies"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gebruik toestelskermslot"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Gesig- en Vingerafdrukslot"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Vingerafdrukslot"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Gesigslot"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tik om op te stel"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Vingerafdrukslot vir privaat ruimte"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Gesigslot vir privaat ruimte"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Maniere om te ontsluit"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Dieselfde as toestelskermslot"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Wil jy ’n nuwe slot vir privaat ruimte kies?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Sluit privaat ruimte outomaties"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Jy kan jou privaat ruimte outomaties sluit as jy jou toestel vir \'n tydperk nie gebruik het nie"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Elke keer as die toestel sluit"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Ná 5 minute se onaktiwiteit"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nooit"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Versteek as dit gesluit is"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Versteek privaat ruimte as dit gesluit is"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Jy kan privaat ruimte op jou appslys versteek as jy nie wil hê ander mense moet weet dat jy dit op jou toestel het nie"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Kry toegang tot privaat ruimte wanneer dit versteek is"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Voer in jou appslys “privaat ruimte” op die soekbalk in"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tik op die privaat ruimte-teël"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Ontsluit jou privaat ruimte"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Af"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aan"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Stelsel"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Vee privaat ruimte uit"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Wil jy privaat ruimte uitvee?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Jou privaat ruimte sal van jou toestel verwyder word. Alle apps en data sal uitgevee word. Jy kan nie hierdie handeling ontdoen nie."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Die volgende rekeninge sal uit jou privaat ruimte verwyder word:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Vee uit"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Vee tans privaat ruimte uit …"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Dit sal ’n paar oomblikke neem"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privaat ruimte is uitgevee"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Kon nie privaat ruimte uitvee nie"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privaat ruimte ontsluit"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Stel ’n skermslot"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Stel ’n skermslot op dié toestel om jou privaat ruimte te gebruik"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Stel skermslot"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Kanselleer"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Kanselleer"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Stel op"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Stel ’n privaat ruimte op"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Hou privaat apps in ’n aparte ruimte wat jy kan versteek of sluit"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Hoe dit werk"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Jy kan van die onderkant van jou lys apps af toegang tot jou privaat ruimte kry"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps in jou privaat ruimte word deur ’n slot beskerm"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Kennisgewings vanaf apps in jou privaat ruimte word versteek as dit gesluit is"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps in jou privaat ruimte sal nie in toestemmingbestuurder, privaatheidkontroleskerm en ander instellings verskyn wanneer jou privaat ruimte gesluit is nie.\n\nJou privaat ruimte kan nie na ’n nuwe toestel geskuif word nie. Jy sal ’n ander privaat ruimte moet opstel as jy dit op ’n ander toestel wil gebruik.\n\nEnigiemand wat jou toestel aan ’n rekenaar koppel of skadelike apps op jou toestel installeer, sal moontlik toegang tot jou privaat ruimte kan kry."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Stel tans privaat ruimte op …"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Kennisgewings van privaat ruimte-apps word versteek as dit gesluit is"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Ontsluit jou privaat ruimte om foto’s of lêers te deel"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Sommige apps is reeds in jou privaat ruimte geïnstalleer"</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_lockscreen_title" msgid="6034864097861137509">"Wil jy skermslot gebruik om privaat ruimte te ontsluit?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Jy kan jou privaat ruimte ontsluit nes jy jou toestel ontsluit of jy kan ’n ander slot kies"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gebruik skermslot"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Kies nuwe slot"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Gereed!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Gaan na jou appslys en rollees af om jou privaat ruimte te kry"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Klaar"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Rollees af om privaat ruimte te vind"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Meld aan"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Meld aan by ’n rekening om saam met jou privaat ruimte te gebruik"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Nie nou nie"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Gaan voort"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Kies ’n slot vir jou privaat ruimte"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Jy kan jou privaat ruimte met jou vingerafdruk ontsluit. Om veiligheidsredes vereis hierdie opsie ’n rugsteunslot."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Stel \'n PIN vir jou privaat ruimte"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Stel \'n wagwoord vir jou privaat ruimte"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Stel \'n patroon vir jou privaat ruimte"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Jy kan tot <xliff:g id="COUNT">%d</xliff:g> vingerafdrukke byvoeg"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Jy het die maksimum aantal vingerafdrukke bygevoeg"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Kan nie nog vingerafdrukke byvoeg nie"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patroon"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Wagwoord"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vee skermslot uit?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Verwyder alle soorte toestelontsluitings"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Verwyder profielbeskerming?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"\'n Patroon beskerm jou foon as dit verlore raak of gesteel word"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"\'n Patroon beskerm jou foon as dit verlore raak of gesteel word.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Dit vee ook die vingerafdrukmodel uit wat op jou toestel geberg is. Jou gesigmodel sal ook permanent en veilig uitgevee word. Jy sal nie jou gesig of vingerafdruk vir stawing in programme kan gebruik nie."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"\'n PIN beskerm jou foon as dit verlore raak of gesteel word"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Jy sal gestoorde data soos jou PIN verloor.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarte wat opgestel is vir kontaklose betaling sal verwyder word.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Beursies en ander apps wat toestelontsluiting benodig sal dalk nie behoorlik werk nie."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"\'n PIN beskerm jou foon as dit verlore raak of gesteel word.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dit vee ook die vingerafdrukmodel uit wat op jou toestel geberg is. Jy sal nie jou vingerafdruk vir stawing in programme kan gebruik nie."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Jy sal gestoorde data soos jou PIN en vingerafdrukmodel verloor.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarte wat opgestel is vir kontaklose betaling sal verwyder word.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Beursies en ander apps wat toestelontsluiting benodig sal dalk nie behoorlik werk nie."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"\'n PIN beskerm jou foon as dit verlore raak of gesteel word.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Jou gesigmodel sal ook permanent en veilig uitgevee word. Jy sal nie jou gesig vir stawing in programme kan gebruik nie."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Jy sal gestoorde data soos jou PIN en gesigmodel verloor.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarte wat opgestel is vir kontaklose betaling sal verwyder word.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Beursies en ander apps wat toestelontsluiting benodig sal dalk nie behoorlik werk nie."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"\'n PIN beskerm jou foon as dit verlore raak of gesteel word.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dit vee ook die vingerafdrukmodel uit wat op jou toestel geberg is. Jou gesigmodel sal ook permanent en veilig uitgevee word. Jy sal nie jou gesig of vingerafdruk vir stawing in programme kan gebruik nie."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Jy sal gestoorde data soos jou PIN, gesig- en vingerafdrukmodelle verloor.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarte wat opgestel is vir kontaklose betaling sal verwyder word.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Beursies en ander apps wat toestelontsluiting benodig sal dalk nie behoorlik werk nie."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"\'n Wagwoord beskerm jou foon as dit verlore raak of gesteel word"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"\'n Wagwoord beskerm jou foon as dit verlore raak of gesteel word.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Bind saam met <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Voeg nuwe lid by die bestaande gekoördineerde stel"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Bevestig om die tweede stuk van jou oudiotoestel by te voeg"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-saambindkode"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Voer die saambindkode in en druk dan Return of Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN bevat letters of simbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Moet 16 syfers hê"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Jy sal hierdie PIN dalk op die ander toestel ook moet invoer."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Jy sal hierdie sleutel dalk op die ander toestel ook moet invoer."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Bevestig om met die gekoördineerde stel saam te bind"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Bevestig om met die oudiotoestel saam te bind"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Laat toegang tot jou kontakte en oproepgeskiedenis toe"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Gee ook toegang tot kontakte en oproepgeskiedenis"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Inligting sal vir oproepaankondigings en meer gebruik word"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Kon nie aan <xliff:g id="DEVICE_NAME">%1$s</xliff:g> koppel nie."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Beskikbare toestelle"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Koppel"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ontkoppel"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Bind saam en koppel"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Wanneer Bluetooth aangeskakel is, kan jou toestel met ander nabygeleë Bluetooth-toestelle kommunikeer."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Wanneer Bluetooth aangeskakel is, kan jou toestel met ander nabygeleë Bluetooth-toestelle kommunikeer"</string>
     <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_scan_change" msgid="1744636222637390367">"Verander"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Toestelbesonderhede"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Laat ART toe om greepkode vir ontfoutbare programme te verifieer"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Wys herlaaikoers"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Wys die huidige vertoonskermherlaaikoers"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Wys HDR/SDR-verhouding"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Wys die huidige HDR/SDR-verhouding"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vereis toestelontsluiting vir NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In vliegtuigmodus"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Stel in kennis oor publieke netwerke"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Stel in kennis wanneer \'n publieke netwerk van hoë gehalte beskikbaar is"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Laat BEP-netwerke toe"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"BEP is ’n ouer sekuriteitprotokol wat minder veilig is"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Jou diensverskaffer laat nie BEP-netwerke toe nie omdat hulle minder veilig is"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Skakel Wi-Fi outomaties aan"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi sal weer aanskakel naby gestoorde netwerke van hoë gehalte, soos jou tuisnetwerk"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Onbeskikbaar omdat ligging afgeskakel is. Skakel "<annotation id="link">"ligging"</annotation>" aan."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-fi-opsporing maak dit vir programme en dienste moontlik om enige tyd na Wi-Fi-netwerke te soek, selfs wanneer Wi-Fi af is. Dit kan byvoorbeeld gebruik word om ligginggegronde kenmerke en dienste te verbeter."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Skakel aan"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-opsporing is aangeskakel"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Hierdie netwerk gebruik ’n ouer sekuriteitprotokol wat minder veilig is"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> is geblokkeer"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Hierdie netwerk gebruik ’n ouer sekuriteitprotokol genaamd BEP, wat minder veilig is. Jy kan BEP-netwerke toelaat om in elk geval te koppel."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Jou diensverskaffer laat jou nie toe om aan hierdie netwerk te koppel nie, want dit gebruik \'n ouer sekuriteitsprotokol wat minder veilig is"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Laat BEP toe"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Maak toe"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Gevorderde opsies"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Gevorderde Opsies-aftreklys"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"vou uit"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Bly op Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Moet nooit weer wys nie"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Koppel"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi is aangeskakel"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Gekoppel aan <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Koppel tans aan <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Koppel tans …"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Netwerkverbinding het misluk"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Netwerk nie binne sendbereik nie"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Vergeet"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Wysig"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Kon netwerk nie vergeet nie"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Stoor"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Netwerkstoring het misluk"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Kanselleer"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobiele data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Laai tans"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Laai tans"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Warmkolverbinding"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Verbindingsterkte"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Gestoorde netwerke"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Geen wagwoord is gestel nie"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Warmkolnaam"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Warmkolwagwoord"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP-band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Skakel warmkol outomaties af"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Wanneer geen toestelle gekoppel is nie"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Brei versoenbaarheid uit"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Wys witbalans"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Hou aan om apps te gebruik wanneer gevou"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Gladde Vertoning"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Verhoog die herlaaikoers vir sommige inhoud outomaties van 60 tot <xliff:g id="ID_1">%1$s</xliff:g> Hz. Verhoog batterygebruik."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Deaktiveer verstekraamtempo vir speletjies"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Deaktiveer die beperking van die maksimum raamtempo vir speletjies teen <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Gladde vertoning"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Verhoog die herlaaitempo vir sommige inhoud outomaties na <xliff:g id="ID_1">%1$d</xliff:g> Hz. Verhoog batterygebruik."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Dwing na hoogste herlaaikoers"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Hoogste herlaaikoers vir verbeterde raaksensitiwiteit en animasiegehalte. Verhoog batterygebruik."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Skermaandag"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Skermaandag gebruik die voorste kamera om te sien of iemand na die skerm kyk. Dit werk op die toestel, en prente word nooit geberg of na Google toe gestuur nie."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Skakel skermaandag aan"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Hou skerm aan terwyl jy daarna kyk"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Langer skermuitteltyd sal meer battery gebruik."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera is gesluit"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera moet ontsluit wees vir gesigbespeuring"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kamera moet ontsluit word vir skermaandag"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM-gleuf <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM-gleuf <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primêr)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Kies gestoorde netwerk om te bekyk"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-weergawe"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Batteryvlak"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Gemeenskaplik"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Gemeenskaplike instellings"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellietboodskappe"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Toegangspuntname"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Redigeer toegangspunt"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Voeg toegangspunt by"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nie gestel nie"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nie gestel nie"</string>
     <string name="apn_name" msgid="6677695784108157953">"Naam"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN is geaktiveer"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN gedeaktiveer"</string>
     <string name="bearer" msgid="3231443241639159358">"Draer"</string>
+    <string name="network_type" msgid="748590707422733595">"Netwerktipe"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Ongespesifiseer"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-tipe"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-waarde"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Vee toegangspunt uit"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Stoor"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Kanselleer"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplikaat-apn-inskrywing."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Die naamveld kan nie leeg wees nie."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Die APN kan nie leeg wees nie."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-veld moet 3 syfers wees."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Die MNC-veld moet uit 2 of 3 syfers bestaan."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Diensverskaffer laat nie toe dat APN\'e van tipe %s bygevoeg word nie."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-veld moet geldig wees."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Laai verstek APN-instellings terug"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Stel terug na verstek"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Terugstel van verstek APN-instellings voltooi"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Stel terug"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth en wi‑fi is teruggestel"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Vee e-SIM-kaarte uit"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Dit sal geen mobielediensplanne kanselleer nie. Kontak jou diensverskaffer om vervanging-SIM\'s af te laai."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Dit sal nie jou mobieldiensplan kanselleer nie. Kontak jou diensverskaffer om ’n vervanging-SIM te kry."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Stel instellings terug"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Stel alle netwerkinstellings terug? Jy kan nie hierdie handeling ontdoen nie."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Stel alle netwerkinstellings terug en vee e-SIM-kaarte uit? Jy kan nie hierdie handeling ontdoen nie."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Stel terug?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Netwerkterugstelling is nie vir hierdie gebruiker beskikbaar nie"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Netwerkinstellings is teruggestel"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Kan nie SIM-kaarte uitvee nie"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"E-SIM-kaarte kan vanweë ’n fout nie uitgevee word nie.\n\nHerbegin jou toestel en probeer weer."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Kan nie e-SIM’s uitvee nie"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Iets het skeefgeloop en jou e-SIM’s is nie uitgevee nie.\n\nHerbegin jou toestel en probeer weer."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Vee alle data uit (fabriekterugstelling)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Vee alle data uit (fabriekterugstelling)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musiek"</li>\n<li>"Foto\'s"</li>\n<li>"Ander gebruikerdata"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"e-SIM-kaarte"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Dit sal nie jou mobiele diensplan kanselleer nie."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Al jou persoonlike inligting en afgelaaide programme sal uitgevee word. Jy kan nie hierdie handeling ontdoen nie."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Al jou persoonlike inligting, insluitend afgelaaide programme en SIM-kaarte, sal uitgevee word. Jy kan nie hierdie handeling ontdoen nie."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Al jou persoonlike inligting, insluitend afgelaaide apps en e-SIM’s, sal uitgevee word. Jy kan nie hierdie handeling ontdoen nie."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vee alle data uit?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Fabriekterugstelling is nie vir hierdie gebruiker beskikbaar nie"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Vee tans uit"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Warmkol, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Deel nie tans internet met ander toestelle nie"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Af"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Verbinding"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Moenie Wi-Fi-warmkol gebruik nie"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deel internet net deur USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deel internet net deur Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Deel internet net deur Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deel internet net deur USB en Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Deel internet net deur USB en Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Deel internet net deur Bluetooth en Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Deel internet net deur USB, Bluetooth en Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-verbinding"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-verbinding"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-verbinding"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Gebruik warmkol en verbinding om deur jou Wi-Fi- of mobiele dataverbinding internet aan ander toestelle te verskaf. Programme kan ook \'n warmkol skep om inhoud met toestelle in die omtrek te deel."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hulp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobiele netwerk"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobiele plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-program"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Verander SMS-program?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Gebruik <xliff:g id="NEW_APP">%1$s</xliff:g> in plaas van <xliff:g id="CURRENT_APP">%2$s</xliff:g> as jou SMS-program?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Verander Wi-Fi-assistent?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Gebruik <xliff:g id="NEW_APP">%1$s</xliff:g> in plaas van <xliff:g id="CURRENT_APP">%2$s</xliff:g> om jou netwerkverbindings te bestuur?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Gebruik <xliff:g id="NEW_APP">%s</xliff:g> om jou netwerkverbindings te bestuur?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Onbekende SIM-operateur"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> het geen bekende voorsieningwebwerf nie"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Steek asseblief SIM-kaart in en herbegin"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Koppel asseblief aan die internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Onlangse liggingversoeke"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Ligging vir werkprofiel"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Programliggingtoestemmings"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Maak toegang skoon"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontroles"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forseer stop"</string>
+    <string name="archive" msgid="9074663845068632127">"Argiveer"</string>
+    <string name="restore" msgid="7622486640713967157">"Stel terug"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Stel tans terug"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Stel tans terug."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Stel tans terug …"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Stel tans terug …"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Totaal"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Programgrootte"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB-berging-program"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Kon nie pakketgrootte bereken nie."</string>
     <string name="version_text" msgid="7628938665256107608">"weergawe <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Skuif"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Kon nie argiveer nie"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> is geargiveer"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Kon nie terugstel nie"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> word teruggestel"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"\'n Ander migrasie is reeds aan die gang."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nie genoeg stoorplek nie."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Program bestaan ​​nie."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Beskikbare skermsleutelbord"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Bestuur sleutelborde op die skerm"</string>
     <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="6922850403920596246">"Aktiveer Hopsleutels vir fisiese sleutelbordtoeganklikheid"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Stadige sleutels"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Aktiveer Stadige sleutels vir fisiese sleutelbordtoeganklikheid"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Taaisleutels"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Aktiveer Taaisleutels vir fisiese sleutelbordtoeganklikheid"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tik op die raakpaneel se hoek onder regs vir meer opsies"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Wyserspoed"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Leer raakpaneelgebare"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Gaan na tuisskerm"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swiep op met drie vingers enige plek op jou raakpaneel"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Gaan terug"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sorteer volgens gebruikstyd"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sorteer volgens laas gebruik"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sorteer volgens programnaam"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Laas gebruik"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Laas gebruik"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nooit"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Gebruikstyd"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Toeganklikheid"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Toeganklikheids-instellings"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Vergroot met trippeltik"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Vergroot met kortpad"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Vergroot met kortpad en trippeltik"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Meer oor <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gebruik toeganklikheidknoppie om oop te maak"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hou volumesleutels om oop te maak"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tripeltik op skerm om oop te maak"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Tweevinger-dubbeltik op skerm om oop te maak"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gebruik gebaar om oop te maak"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gebruik toeganklikheidsgebaar"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tik op die toeganklikheidknoppie <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> onderaan jou skerm om hierdie kenmerk te gebruik.\n\nRaak en hou die toeganklikheidknoppie om tussen kenmerke te wissel."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tik op die toeganklikheidknoppie op jou skerm om hierdie kenmerke te gebruik."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Druk en hou albei volumesleutels om hierdie kenmerk te gebruik."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tripeltik enige plek op jou skerm om vergroting te begin en te stop."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Dubbeltik met twee vingers enige plek op jou skerm om vergroting te begin en te stop."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Swiep met 2 vingers van die onderkant van die skerm af op om hierdie kenmerk te gebruik.\n\nSwiep met 2 vingers op en hou om tussen kenmerke te wissel."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Swiep met 3 vingers van die onderkant van die skerm af op om hierdie kenmerk te gebruik.\n\nSwiep met 3 vingers op en hou om tussen kenmerke te wissel."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Swiep met 2 vingers van die onderkant van die skerm af op om \'n toeganklikheidkenmerk te gebruik.\n\nSwiep met 2 vingers op en hou om tussen kenmerke te wissel."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Swiep met 3 vingers van die onderkant van die skerm af op om \'n toeganklikheidkenmerk te gebruik.\n\nSwiep met 3 vingers op en hou om tussen kenmerke te wissel."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Het dit"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Toeganklikheidknoppie-instellings"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Knoppie-instellings"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>-kortpad"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Toeganklikheidknoppie"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Toeganklikheidsgebaar"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hou volumesleutels in"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hou 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tweevinger-dubbeltik op skerm"</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="6863958573135995927">"tripeltik op skerm"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Kom meer te wete oor toeganklikheidknoppie en -gebaar"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Gebruik tans toeganklikheidsknoppie. Die gebaar is nie beskikbaar met 3-knoppienavigasie nie."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Kry vinnig toegang tot toeganklikheidskenmerke"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Begin só"</b>\n"1. Gaan na toeganklikheidsinstellings\n2. Kies ’n kenmerk en tik op die kortpad\n3. Kies of jy ’n knoppie of gebaar wil gebruik om toegang tot die kenmerk te kry"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Begin só"</b>\n"1. Gaan na toeganklikheidsinstellings\n2. Kies ’n kenmerk en tik op die kortpad\n3. Kies die knoppie om toegang tot die kenmerk te kry"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Om te begin&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gaan na toeganklikheidsinstellings&lt;br/&gt; {1,number,integer}. Kies ’n kenmerk en tik op die kortpad&lt;br/&gt; {2,number,integer}. Kies of jy ’n knoppie of gebaar wil gebruik om toegang tot die kenmerk te kry&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Om te begin&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gaan na toeganklikheidsinstellings&lt;br/&gt; {1,number,integer}. Kies ’n kenmerk en tik op die kortpad&lt;br/&gt; {2,number,integer}. Kies die knoppie om toegang tot die kenmerk te kry&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Gebruik knoppie of gebaar"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Ligging"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Grootte"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Kragknoppie beëindig oproep"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Groot muiswyser"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Maak die muiswyser meer opmerklik"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Maak alle apps donker"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Geld vir apps sonder hul eie donkertema. Sommige apps kan skermprobleme hê, soos omgekeerde kleure."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Verwyder animasies"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Verminder beweging op die skerm"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono-oudio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Gebruik vibrasie en fisiese terugvoer"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Wekkervibrasie"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Mediavibrasie"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Sleutelbordvibrasie"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Luivibrasie"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Kennisgewingvibrasie"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Raakterugvoer"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Kanselleer"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"As jy op <xliff:g id="STOP">%1$s</xliff:g> tik, sal dit <xliff:g id="SERVICE">%2$s</xliff:g> stop."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Skakel af"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Hou aan"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Skakel <xliff:g id="SERVICE">%1$s</xliff:g> af?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Geen dienste geïnstalleer nie"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Geen diens is gekies nie"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Geen beskrywing verskaf nie."</string>
     <string name="settings_button" msgid="2195468788019730377">"Instellings"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ligsensitiwiteit, fotofobie, donkertema, migraine, hoofpyn, leesmodus, nagmodus, verlaag helderheid, witpunt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Gebruiksgemak, toegangsgemak, bystand, ondersteunend"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visie, gehoor, blind, doof, motories, handigheid, ondersteunend, bystand, gebruiksgemak, toegangsgemak, hand, hulp"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Venstervergrootglas, zoem, vergroting, swak sig, vergroot, maak groter"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Onderskrifte, onderskrifte, CC, kitstranskripsie, hardhorend, gehoorverlies, CART, spraak-na-teks, onderskrifte"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kleurkontras"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motories, muis"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"gehoortoestelle, hardhorend, gehoorverlies, kogleêre inplantings, klankversterkingtoestelle, klankverwerkers"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motories, muis, eksterne muis, hoofmuis, aannpasbare muis, rolstoel, speelstok"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"gehoortoestelle, hardhorend, gehoorverlies, kogleêre inplantings, klankversterkingtoestelle, klankverwerkers, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hardhorend, gehoorverlies, onderskrifte, telesetter, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"drie knoppies"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"handigheid, motories, senior, artritis, rsi, beroerte, bewing, verspreide sklerose, serebrale verlamming, geskud, ooreisingbesering, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"vertraging, handigheid, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Druk"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Af"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 drukdiens is aan}other{# drukdienste is aan}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> oor"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> tot gelaai"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Skermtyd"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Agtergrondtyd"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Lae battery"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Laat die program toe om in die agtergrond te loop"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Beperk agtergrondaktiwiteit?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"As jy agtergrondaktiwiteit vir \'n program beperk, kan dit verkeerd werk"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Hierdie program is nie gestel om batterykrag te optimeer nie en daarom kan jy dit nie beperk nie.\n\nOm die program te beperk, moet jy eers batterykrag-optimering aanskakel."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Bestuur batterygebruik"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Laat agtergrondgebruik toe"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktiveer vir intydse opdaterings, deaktiveer om battery te spaar"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Onbeperk"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Geoptimeer"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Beperk"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Sien programme met die hoogste gebruik"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Laaiproses word geoptimeer om jou battery te beskerm"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Laaiproses is geoptimeer om jou battery se lewensduur te help verleng"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Laaiproses word geoptimeer om jou battery te beskerm"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Laaiproses word geoptimeer terwyl gedok om jou battery se leeftyd te help verleng"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Laaiproses word geoptimeer om jou battery te beskerm"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Laaiproses word geoptimeer terwyl gedok om jou battery se leeftyd te help verleng"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Laaiproses is klaar"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Die laaiproses sal volgende keer as jou tablet gedok is geoptimeer word om die battery te beskerm"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Kom meer te wete oor laaiproses wat onderbreek is"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Hervat laaiproses"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Sluit hoëkrag-agtergrondaktiwiteit in"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Hierdie program sal batterykrag op die agtergrond kan gebruik. Jou battery sal dalk gouer as verwag afloop."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Verwyder"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Kanselleer"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Laai tot vol"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Kwessie met laaibykomstigheid"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Gaan die laaibykomstigheid na"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Kom meer te wete oor onversoenbare laaiproses"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batterybestuurder"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Bestuur programme outomaties"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"sedert battery laas volgelaai is"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Stelselprogramme"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Gedeïnstalleerde apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Ander"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Geskatte tyd oor"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Tot battery volgelaai is"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: minder as \'n min."</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Agtergrond: minder as \'n min."</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Skermtyd: minder as een min."</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Minder as ’n minuut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Totaal: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Agtergrond: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Skermtyd: • <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"nou"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>-<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Batterygebruikgrafiek"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafiek van daaglikse batterygebruik"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafiek van uurlikse batterygebruik"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Batteryvlakpersentasie vanaf <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> tot <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Batterygebruik sedert dit laas volgelaai is"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Batterygebruik vir <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Skermtyd sedert battery laas volgelaai is"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Noodoproepsein"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Stel gedrag wanneer \'n noodoproep gemaak word"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Rugsteun"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Aan"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Af"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Rugsteun en laai terug"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Persoonlike data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Rugsteun my data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobiele data en wi‑fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Outosinkroniseer persoonlike data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Outo-sinkroniseer werkdata"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Outosinkroniseer privaat data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Verander siklus..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dag van maand om dataverbruiksiklus terug te stel:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Geen programme het gedurende hierdie tydperk data gebruik nie."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Naam"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipe"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Bedieneradres"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-enkripsie (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-geheim"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifiseerder"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec voorafgedeelde sleutel"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-gebruikersertifikaat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-sertifikaat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-bedienersertifikaat"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Wys gevorderde opsies"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-soekdomeine"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-bedieners (bv. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Aanstuurroetes (bv. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Gebruikernaam"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Wagwoord"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Stoor rekeninginligting"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nie gebruik nie)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(moenie bediener verifieer nie)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ontvang van bediener)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Dié VPN-tipe kan nie te alle tye gekoppel bly nie"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Altyd-aan VPN steun net numeriese bedieneradresse"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"\'n DNS-bediener moet gespesifiseer word vir altyd-aan VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-bediener se adresse moet numeries wees vir altyd-aan VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Die inligting wat ingevoer is, steun nie altyd-aan VPN nie"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Kanselleer"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Maak toe"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokkeer verbindings sonder VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vereis VPN-verbinding?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nie veilig nie. Dateer op na \'n IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Kon nie ongesteunde VPN begin nie."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Kies \'n VPN-profiel om altyd aan gekoppel te bly. Netwerkverkeer sal net toegelaat word wanneer verbind aan hierdie VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Geen"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Altydaan-VPN vereis \'n IP-adres vir beide die bediener en DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER-berigte"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Ontvang bulletins oor kinderontvoerings"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Herhaal"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktiveer oproepbestuurder"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Laat hierdie diens toe om te bestuur hoe jou oproepe gemaak word."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Oproepbestuurder"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Draadlose noodwaarskuwings"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Netwerkoperateurs"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Toegangspuntname"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-status (SIM-gleuf %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-kaarte is verander."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Jou SIM-kaarte het verander"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tik om op te stel"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vra elke keer"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Keuse vereis"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Onlangse apps, verstekapps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Kennisgewingtoegang is nie vir programme in die werkprofiel beskikbaar nie."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Wagwoorde en rekeninge"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gestoorde wagwoorde, outovul, gesinkroniseerde rekeninge"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Voorstelle vir aanmelding en outovul"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Verstekprogramme"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Gekloonde Apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Skep ’n tweede geval van ’n app sodat jy twee rekeninge op dieselfde tyd kan gebruik."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betaal, tik, betalings"</string>
     <string name="keywords_backup" msgid="707735920706667685">"rugsteun, rugsteun"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gebaar"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"gesig, ontsluit, stawing, meld aan"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"gesig, ontsluit, stawing, aanmelding, vingerafdruk, biometries"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-weergawe, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"teksgrootte, grootdruk, groot lettertipe, groot teks, swak sig, maak teks groter, teksvergroter, lettertipevergroting"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"altyd-aan-stemmingsaansig, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, merker, leser"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"sleutelbord, tasbare terugvoer, vibreer,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibrasie, Moenie Steur Nie"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Mediavolume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Uitsaaivolume"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Aanskakel-klanke"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Kitsopskrif"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Gee outomaties mediaopskrifte"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Foonluidsprekers"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tabletluidsprekers"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Toestelluidsprekers"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Draadoorfone"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Oudio vanaf versoenbare media word meer meesleurend"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Af"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Wys alle kennisgewinginhoud"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Wys sensitiewe inhoud net wanneer dit ontsluit is"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Moet glad nie kennisgewings wys nie"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hoe wil jy hê moet die sluitskerm lyk?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Wat wil jy hê moet jou sluitskerm wys?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Sluitskerm"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Wys alle werkkennisgewinginhoud"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Versteek sensitiewe werkinhoud"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Onlangse gesprekke is verwyder"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Gesprek is verwyder"</string>
     <string name="clear" msgid="5092178335409471100">"Vee uit"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Vee uit <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioriteit- en gewysigde gesprekke sal hier verskyn"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Nadat jy \'n gesprek as prioriteit gemerk het, of enige ander veranderinge aan gesprekke gemaak het, sal hulle hier verskyn. \n\nHoe om gesprekinstellings te verander: \nSwiep van die bokant van die skerm af om die kennisgewingskerm oop te maak, en raak en hou dan \'n gesprek."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimeer"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Kennisgewingbedaring"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Pas bedaring toe op alle kennisgewings"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Verminder die aantal kennisgewings geleidelik wanneer jy baie agtereenvolgende kennisgewings van dieselfde app af kry"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Pas bedaring toe op gesprekke"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Verminder die aantal kennisgewings geleidelik wanneer jy in ’n kort tydperk baie boodskappe van dieselfde klets af kry"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Moenie kennisgewingbedaring gebruik nie"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Moet nooit die aantal kennisgewings verminder nie, ongeag hoeveel agtereenvolgende kennisgewings daar van dieselfde app af kom"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibreer wanneer dit ontsluit is"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibreer slegs wanneer skerm ontsluit is"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Pas toe op werkprofiele"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Pas jou persoonlike profiel se kennisgewingbedaringinstellings op jou werkprofiel toe"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-helperdienste"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Geen geïnstalleerde programme het versoek om as VR-helperdienste te werk nie."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Gee <xliff:g id="SERVICE">%1$s</xliff:g> toegang tot VR-diens?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Af"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Programvasspeld"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Deur programme vas te speld, kan jy die huidige program in sig hou totdat jy dit ontspeld. Hierdie kenmerk kan byvoorbeeld gebruik word om dit vir \'n vertroude vriend moontlik te maak om \'n spesifieke speletjie te speel."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Wanneer ’n program vasgespeld is, kan die vasgespelde program ander programme oopmaak en kan daar dalk toegang tot persoonlike data verkry word. \n\nOm programvasspeld te gebruik: 	\n1. Skakel programvasspeld aan 	\n2. Maak Oorsig oop 	\n3. Tik op die programikoon boaan die skerm en tik dan op Speld Vas"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Wanneer ’n program vasgespeld is, kan die vasgespelde program ander programme oopmaak en kan daar dalk toegang tot persoonlike data verkry word. \n\nProbeer eerder ’n gasgebruiker gebruik as jy jou toestel veilig met iemand wil deel. \n\nOm programvasspeld te gebruik: 	\n1. Skakel programvasspeld aan 	\n2. Maak Oorsig oop 	\n3. Tik op die programikoon boaan die skerm en tik dan op Speld Vas"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Wanneer ’n app vasgespeld is, kan die vasgespelde app ander apps oopmaak en kan daar dalk toegang tot persoonlike data verkry word. \n\nOm appvasspeld te gebruik: 	\n{0,number,integer}. Skakel appvasspeld aan 	\n{1,number,integer}. Maak Oorsig oop 	\n{2,number,integer}. Tik op die appikoon boaan die skerm en tik dan op Speld Vas"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Wanneer ’n app vasgespeld is, kan die vasgespelde app ander apps oopmaak en kan daar dalk toegang tot persoonlike data verkry word. \n\nProbeer eerder ’n gasgebruiker gebruik as jy jou toestel veilig met iemand wil deel. \n\nOm appvasspeld te gebruik: 	\n{0,number,integer}. Skakel appvasspeld aan 	\n{1,number,integer}. Maak Oorsig oop 	\n{2,number,integer}. Tik op die appikoon boaan die skerm en tik dan op Speld Vas"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Wanneer program vasgespeld is: \n\n•	 Kan daar dalk toegang tot persoonlike data verkry word (soos kontakte en e-posinhoud) \n\n•	 Vasgespelde program kan ander programme oopmaak \n\nGebruik net programvasspeld met mense wat jy vertrou."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Vra ontsluitpatroon voordat jy ontspeld"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vra PIN voordat jy ontspeld"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Vra wagwoord voordat jy ontspeld"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Sluit toestel wanneer jy ontspeld"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bevestig dat SIM uitgevee word"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Bevestig dat jy jou e-SIM wil uitvee"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifieer dat dit jy is voordat jy ’n e-SIM uitvee"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Gevorderde geheuebeskermingbeta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Gevorderde geheuebeskerming"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ongebruikte programinstellings"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Onderbreek programaktiwiteit as ongebruik"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Verwyder toestemmings, vee tydelike lêers uit, en stop kennisgewings"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Bestuur app indien ongebruik"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Verwyder toestemmings, vee tydelike lêers uit, stop kennisgewings en argiveer die app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Geïnstalleerde programme"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Kitsprogramme"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Beskikbaar"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Geheue wat deur programme gebruik word"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app het geheue gebruik in die afgelope {time}}other{# apps het geheue gebruik in die afgelope {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Aktiveer geheuegebruikprofielbepaling"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Geheuegebruikprofielbepaling vereis bykomende stelselhulpbronne."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Geheueprofielbepaling is gedeaktiveer"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekwensie"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimum gebruik"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Geen data is gebruik nie"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Wys bo-oor ander programme"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Laat toe dat dit bo-oor ander programme wys"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Laat hierdie program toe om te wys bo-oor ander programme wat jy gebruik. Hierdie program sal kan sien waarop jy tik of verander wat op die skerm gewys word."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Verander media-uitset"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Laat app toe om media-uitset te ruil"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Laat hierdie app toe om te kies watter gekoppelde toestel oudio of video van ander apps af speel. Indien toegelaat, kan hierdie app toegang kry tot ’n lys beskikbare toestelle soos oorfone en luidsprekers, en kies watter uitsettoestel gebruik word om oudio of video te stroom of uit te saai."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Toegang tot alle lêers"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Laat toegang toe om alle lêers te bestuur"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Laat hierdie program toe om alle lêers op hierdie toestel of enige gekoppelde bergingvolumes te lees, te wysig en uit te vee. Indien toestemming verleen word, kan die program sonder jou uitdruklike medewete by lêers ingaan."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan by alle lêers ingaan"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps met stemaktivering"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Laat stemaktivering toe"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Stemaktivering gebruik stemopdrag om goedgekeurde apps handvry aan te skakel. Ingeboude aanpasbare waarneming verseker dat data privaat bly net vir jou.\n\n"<a href="">"Meer oor beskermde aanpasbare waarneming"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Volskermkennisgewings"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Laat volskermkennisgewings van hierdie app af toe"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Laat hierdie app toe om kennisgewings te wys wat die volle skerm beslaan wanneer die toestel gesluit is. Apps kan dit gebruik om wekkers, inkomende oproepe en ander dringende kennisgewings uit te lig."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g>-datawaarskuwing"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g>-datalimiet"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g>-datawaarskuwing / <xliff:g id="ID_2">^2</xliff:g>-datalimiet"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Diensverskaffer se datarekening kan van toestel se rekening verskil"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Sluit data uit wat deur diensverskaffernetwerke gebruik word"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> gebruik"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Stel datawaarskuwing"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> gelede opgedateer"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Sopas opgedateer deur <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Sopas opgedateer"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Bekyk plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Bekyk besonderhede"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Databespaarder"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Onbeperkte data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> het meer batterykrag as gewoonlik gebruik terwyl dit op die agtergrond was"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> het meer batterykrag gebruik terwyl dit op die voorgrond was"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> het meer batterykrag as gewoonlik gebruik terwyl dit op die voorgrond was"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Onreëlmatigheid met batterygebruik"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Hoë batterygebruik"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hoë batterygebruik op die agtergrond"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hoë batterygebruik op die voorgrond"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Kitsinstellings-ontwikkelaarteëls"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Deaktiveer uitteltyd vir ADB-magtiging"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Deaktiveer outomatiese herroeping van ADB-magtigings vir stelsels wat nie binne die verstek- (7 dae) of gebruikeropgstelde (minimum 1 dag) tydperk herkoppel het nie."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-spoor"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensors Af"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Werkprofielinstellings"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Soek werkgidskontakte in persoonlike apps"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"stelselnavigasie, 2-knoppienavigasie, 3-knoppienavigasie, gebaarnavigasie, swiep"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitale assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swiep om assistent op te roep"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swiep op van \'n onderste hoek af om digitale bystandprogram op te roep."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swiep op van ’n onderste hoek af om digitale bystandapp op te roep"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hou Tuis vir Assistent"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Druk en hou die tuisknoppie om digitaleasistentprogram op te roep."</string>
     <string name="low_label" msgid="6525629096999711220">"Laag"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Outovuldiens"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Verstekoutovuldiens"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Wagwoorde"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Wagwoorde, toegangsleutels en datadienste"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Bykomende verskaffers"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Voorkeurdiens"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Bykomende dienste"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# wagwoord}other{# wagwoorde}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"outomaties, invul, outovul, wagwoord"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, toegangsleutel, wagwoord"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"outo, vul, outovul, data, toegangsleutel, wagwoord"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Verander"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Maak oop"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Niks is gekies nie"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Maak seker dat jy hierdie program vertrou&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Outovul&gt;%1$s&lt;/xliff:g&gt; gebruik wat op jou skerm is om te bepaal wat outomaties ingevul kan word."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Gebruik &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; gebruik wat op jou skerm is om te bepaal wat outomaties ingevul kan word. Nuwe wagwoorde, toegangsleutels en ander inligting sal van nou af hier gestoor word."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Wagwoorde, toegangsleutels en datadienste"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Gebruik &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nuwe wagwoorde, toegangsleutels en ander inligting sal van nou af hier gestoor word. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan dalk gebruik wat op jou skerm is om te bepaal wat outomaties ingevul kan word."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Voorkeurdiens vir wagwoorde, toegangsleutels en outovul"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Skakel %1$s af?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Skakel hierdie diens af?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Gestoorde inligting soos wagwoorde, toegangsleutels, betaalmetodes en ander inligting sal nie ingevul word wanneer jy aanmeld nie. Kies ’n wagwoord, toegangsleutel of datadiens om jou gestoorde inligting te gebruik."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Wagwoorde, toegangsleutels en outovul"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Skakel alle dienste af?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Wagwoorde, toegangsleutels en ander gestoorde inligting sal nie vir outovul beskikbaar wees wanneer jy aanmeld nie"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Verander jou voorkeurdiens na &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nuwe wagwoorde, toegangsleutels en ander inligting sal van nou af hier gestoor word. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan dalk gebruik wat op jou skerm is om te bepaal wat outomaties ingevul kan word"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Gebruik %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Skakel af"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Verander"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Jy kan net 5 dienste aan hê"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Skakel ten minste 1 diens af om nog een by te voeg"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s gebruik wat op jou skerm is om te bepaal wat outomaties ingevul kan word."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limiet vir wagwoorde, toegangsleutels en datadienste"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Jy kan tot 5 wagwoorde, toegangsleutels en datadienste tegelyk aktief hê. Skakel ’n diens af om meer by te voeg."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limiet vir wagwoorde, toegangsleutels en datadienste"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Jy kan tot 5 wagwoorde, toegangsleutels en datadienste tegelyk aktief hê. Skakel ’n diens af om meer by te voeg."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Skakel af"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Outovul"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Aantekeningvlak"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Veranderinge aan programversoenbaarheid kan net vir ontfoutbare programme gewysig word. Installeer \'n ontfoutbare program en probeer weer."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Hang van \'n ander instelling af"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Rekening"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d rekeninge"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Toestelnaam"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basiese inligting"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Wetlik en regulerend"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Laat hierdie app toe om te begin wanneer ’n NFC-merker geskandeer word.\nAs hierdie toestemming aan is, sal die app as ’n opsie beskikbaar wees elke keer wanneer ’n merker bespeur word."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Speel media na"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Speel <xliff:g id="LABEL">%s</xliff:g> op"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Oudio sal speel op"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Hierdie toestel"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Onbeskikbaar tydens oproepe"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Antwoord oproep op"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Demp"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"As jy wil aktiveer, moet jy eers \"Druk en hou aan/af-skakelaar\" na die aan/af-kieslys verander."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Netwerkbesonderhede"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Programme op jou foon kan jou toestelnaam sien. Ander mense sal dit dalk ook kan sien wanneer jy aan Bluetooth-toestelle koppel, aan \'n wi-fi-netwerk koppel of \'n wi-fi-warmkol opstel."</string>
     <string name="devices_title" msgid="649715719278562515">"Toestelle"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Kies netwerk"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Ontkoppel"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Naam"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Kleur (gebruik deur versoenbare programme)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Stoor"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Gebruik SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Gebruik hierdie SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Af"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Verwyder hierdie SIM-kaart om dit te deaktiveer"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tik om <xliff:g id="CARRIER">%1$s</xliff:g> te aktiveer"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vee SIM uit"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Verwyder die SIM-kaart om hierdie SIM af te skakel"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tik om jou <xliff:g id="CARRIER">%1$s</xliff:g>-SIM te aktiveer"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Vee e-SIM uit"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Voorkeurnetwerktipe"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Verander die netwerkbedryfsmodus"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Voorkeurnetwerktipe"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Kry pryse by jou netwerkverskaffer."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Appdatagebruik"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ongeldige netwerkmodus <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignoreer."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellietboodskappe"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Stuur en ontvang teksboodskappe via satelliet. Ingesluit by jou rekening."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Stuur en ontvang teksboodskappe via satelliet. Nie by jou rekening ingesluit nie."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellietboodskappe"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Meer oor satellietboodskappe"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Jy kan as deel van ’n kwalifiserende <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-rekening teksboodskappe via satelliet stuur en ontvang."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Jou <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-pakket"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellietboodskappe is by jou rekening ingesluit"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellietboodskappe is nie by jou rekening ingesluit nie"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Voeg satellietboodskappe by"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Hoe dit werk"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"As jy nie ’n selnetwerk het nie"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Jou foon sal outomaties aan ’n satelliet verbind. Vir die beste verbinding, maak seker jy kan die lug duidelik sien."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Nadat jou foon aan ’n satelliet verbind"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Jy kan ’n teksboodskap na enigiemand stuur, insluitend nooddienste. Jou foon sal weer aan ’n selnetwerk verbind wanneer dit beskikbaar is."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellietboodskappe kan langer neem en is net in sekere gebiede beskikbaar. Die weer en sekere strukture kan jou satellietverbinding affekteer. Oproepe via satelliet is nie beskikbaar nie.\n\nDit kan ’n tydjie neem voor veranderinge aan jou rekening in Instellings sal wys. Kontak <xliff:g id="CARRIER_NAME">%1$s</xliff:g> vir besonderhede."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Meer oor satellietboodskappe"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Toegangspuntname"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Onbeskikbaar wanneer gekoppel aan <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Skakel oor na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Skakel oor om SIM-kaart te gebruik?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Gebruik <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Net een SIM kan op \'n slag aktief wees.\n\nAs jy na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> toe oorskakel, sal dit nie jou <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-diens kanselleer nie."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Slegs 1 e-SIM kan op ’n slag aktief wees.\n\nJou <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-diens sal nie gekanselleer word as jy na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> toe oorskakel nie."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Net een SIM kan op \'n slag aktief wees.\n\nAs jy oorskakel, sal dit nie jou <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-diens kanselleer nie."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Net 1 SIM op ’n slag kan aan wees.\n\nOorskakeling na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> sal nie jou <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-diens kanselleer nie."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Net 1 e-SIM op ’n slag kan aan wees.\n\nOorskakeling na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> sal nie jou <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-diens kanselleer nie."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Net 1 SIM op ’n slag kan aan wees.\n\nOorskakeling sal nie jou <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-diens kanselleer nie."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Jy kan 2 SIM\'s op dieselfde tyd gebruik. Skakel ander SIM af om <xliff:g id="CARRIER_NAME">%1$s</xliff:g> te gebruik."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Skakel oor na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Skakel <xliff:g id="CARRIER_NAME">%1$s</xliff:g> af"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"As jy \'n SIM afskakel, sal dit nie jou diens kanselleer nie"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Koppel tans aan netwerk …"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Skakel oor na <xliff:g id="CARRIER_NAME">%1$s</xliff:g> vir oproepe en boodskappe …"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Kan nie na \'n ander diensverskaffer toe oorskakel nie"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Kan weens \'n fout nie na \'n ander diensverskaffer toe oorskakel nie."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiveer tans jou SIM …"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Skakel tans oor na <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Kan nie SIM-kaarte wissel nie"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Iets het skeefgeloop. Kan nie SIM-kaarte wissel nie."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Skakel <xliff:g id="CARRIER_NAME">%1$s</xliff:g> af?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Skakel SIM af?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Skakel tans SIM af <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Kan nie diensverskaffer deaktiveer nie"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Iets was fout en jou diensverskaffer kon nie gedeaktiveer word nie."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Kan nie SIM afskakel nie"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Iets het skeefgeloop en jou SIM kon nie afgeskakel word nie."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Gebruik 2 SIM-kaarte?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Hierdie toestel kan 2 SIM-kaarte op dieselfde tyd aktief hê. Tik op \"Nee, dankie\" om aan te hou om 1 SIM op \'n slag te gebruik."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Herbegin toestel?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nee, dankie"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Kanselleer"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Skakel oor"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Skakel af"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kan nie SIM aktiveer nie"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Probeer weer om die SIM aan te skakel. Herbegin jou toestel as die probleem voortduur."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Stel jou SIM op"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Sstel jou selnetwerkvoorkeure om veelvuldige SIM’s op hierdie toestel te gebruik"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Merk jou SIM’s"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Jy sal hierdie etikette in Instellings sien en wanneer jy oproepe maak, SMS’e stuur en data gebruik"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-etiket"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiket"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Kies watter SIM’s om te gebruik"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Jy kan 2 SIM’s op ’n slag gebruik"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Stel jou primêre SIM’s"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Kies watter SIM’s om by verstek te gebruik vir oproepe, SMS’e en data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Jou primêre SIM’s"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Oproepe"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS’e"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Outomatiese datawisseling"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Gebruik data vanaf enige SIM na gelang van dekking en beskikbaarheid"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Net data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Stel op"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Volgende"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Skakel tans <xliff:g id="CARRIER_NAME">%1$s</xliff:g> aan …"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Selnetwerk"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Foonnommer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-etiket en -kleur"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netwerkaktivering"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Diensverskafferoorskakeling"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> is aktief"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Jou <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-SIM is aktief"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tik om SIM-instellings op te dateer"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Gewissel na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Gewissel na \'n ander diensverskaffer"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Jou selnetwerk het verander"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Stel jou ander SIM op"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Kies jou aktiewe SIM of gebruik tegelyk 2 SIM\'s"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Kies \'n nommer om te gebruik"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 nommer is op hierdie toestel beskikbaar, maar net een kan op \'n slag gebruik word}=2{2 nommers is op hierdie toestel beskikbaar, maar net een kan op \'n slag gebruik word}other{# nommers is op hierdie toestel beskikbaar, maar net een kan op \'n slag gebruik word}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiveer tans <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Kan nie nou onmiddellik geaktiveer word nie"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Kies ’n SIM om te gebruik"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM is op hierdie toestel beskikbaar, maar net een kan op \'n slag gebruik word}=2{2 SIM-kaarte is op hierdie toestel beskikbaar, maar net een kan op \'n slag gebruik word}other{# SIM-kaarte is op hierdie toestel beskikbaar, maar net een kan op \'n slag gebruik word}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Skakel tans aan <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Kon nie op die oomblik hierdie SIM aanskakel nie"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Gebruik <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> sal vir mobiele data, oproepe en SMS\'e gebruik word"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Geen aktiewe SIM-kaarte beskikbaar nie"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Gaan na jou netwerkinstellings om mobiele data, oproepkenmerke en SMS\'e later te kan gebruik"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vee hierdie e-SIM uit?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"As jy hierdie SIM uitvee, word <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-diens van hierdie toestel verwyder.\n\nDiens vir <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> sal nie gekanselleer word nie."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Dit verwyder <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> se diens van hierdie toestel af, maar jou <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-pakket sal nie gekanselleer word nie."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Vee uit"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Vee tans SIM uit …"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kan nie SIM uitvee nie"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hierdie SIM kan weens \'n fout nie uitgevee word nie.\n\nHerbegin jou toestel en probeer weer."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"e-SIM word uitgevee …"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Kan nie e-SIM uitvee nie"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Iets het skeefgeloop en hierdie e-SIM is nie uitgevee nie.\n\nHerbegin jou toestel en probeer weer."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Koppel aan toestel"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g>-program wil \'n tydelike Wi‑Fi-netwerk gebruik om aan jou toestel te koppel"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Geen toestelle gekry nie. Maak seker dat toestelle aangeskakel is en beskikbaar is om te koppel."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Noodoproepe"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Jou diensverskaffer steun nie noodoproepe oor Wi‑Fi nie.\nDie toestel skakel outomaties na \'n selnetwerk toe oor om \'n noodoproep te maak.\nNoodoproepe is net moontlik in gebiede met sellulêre dekking."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Gebruik Wi-Fi vir oproepe om gehalte te verbeter"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Rugsteunoproepe"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Gebruik jou mobieledata-SIM <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> vir oproepe as <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> of swerwing nie beskikbaar is nie."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"rugsteunoproepe"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Inkomende MMS-boodskap"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Kan nie MMS-boodskap stuur nie"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tik om MMS-boodskappe op <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> toe te laat wanneer mobiele data af is"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Jou werkbeleidinligting"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Instellings wat deur jou IT-admin bestuur word"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Selflaai met 16K-bladsygrootte"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Selflaaitoestel wat 16K-bladsygrootte ondersteunde kern gebruik"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Herlaai met 16KB-bladsye versoenbare kern?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WAARSKUWING: Sommige apps is dalk nie versoenbaar met hierdie modus nie. Toestel sal ná bevestiging herlaai."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Herlaai met 4KB-bladsye versoenbare kern?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Toestel sal ná bevestiging herlaai."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Kon nie kern opdateer na 16KB-bladsy versoenbare kern nie."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Pas tans verandering toe"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Foutverslaghanteerder"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Bepaal watter program die Foutverslag-kortpad op jou toestel hanteer."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persoonlik"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Laat programme wat oor ander programme kan wys toe om Instellings-skerms te oorlê"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Laat skynmodem toe"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Laat hierdie toestel toe om skymodemdiens vir instrumenttoetse te gebruik. Moenie dit tydens normale gebruik van die foon aktiveer nie"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Deaktiveer skermdelingbeskerming"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Deaktiveer stelseltoegepaste app- en kennisgewingsbeskerming tydens skermdeling"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Speld mediaspeler vas"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Mediaspeler bly oop in Kitsinstellings om terugspeel vinnig te hervat"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Wys media op sluitskerm"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Mediaspeler bly oop op sluitskerm om terugspeel vinnig te hervat"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Wys media-aanbevelings"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Wys media-aanbevelings vir Assistent"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Gegrond op jou aktiwiteit"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Versteek speler"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Wys speler"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Laat kamerasagteware-uitbreidings toe"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Aktiveer die versteksagteware-implementering van gevorderde kamera-eienskappe soos videografie vir swaksiendes."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth sal aanskakel"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM\'s"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"e-SIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"e-SIM-kaarte"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktief"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Onaktief"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Aan"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Af"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Verstek vir <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"oproepe"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Oudio vanaf versoenbare media word meer meesleurend"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Kopnasporing"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Oudio verander wanneer jy jou kop beweeg om natuurliker te klink"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinkroniseer toestemmings"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Gee <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> dieselfde apptoestemmings wat jy op <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> toegelaat het."</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinkroniseer toestemmings van foon af"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Gee jou horlosie dieselfde apptoestemmings as wat jy op hierdie foon toegelaat het"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Oudiotoesteltipe"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Onbekend"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Luidspreker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Hoog"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Hierdie app kan net in 1 venster oopgemaak word"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Aan"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Af"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Af"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Af"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Aan"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Af"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Aan"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Af"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Maak ligte skerms donker en donker skerms lig"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoem in op die skerm"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Af"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Af"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Skandeer vir misleidende apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Gaan appaktiwiteit na vir uitvissing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gebruik skandering vir misleidende apps"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gebruik skandering vir misleidende werkapps"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Wagwoord is nou opgestel"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Wys wyser terwyl daar gehou word"</string>
 </resources>
diff --git a/res/values-am/arrays.xml b/res/values-am/arrays.xml
index 4bdfd0b..54af56f 100644
--- a/res/values-am/arrays.xml
+++ b/res/values-am/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"የሚገኝ"</item>
     <item msgid="6096962300722555553">"ከክልል ውጭ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"ተሰናክሏል"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"የስርዓት ነባሪ ይጠቀሙ፦ <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"ከ1 ደቂቃ በኋላ"</item>
     <item msgid="1574040255478150028">"ከ5 ደቂቃዎች በኋላ"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-am/strings.xml b/res/values-am/strings.xml
index 5c4f1e1..00d357d 100644
--- a/res/values-am/strings.xml
+++ b/res/values-am/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"አሁን ገንቢ ሆነዋል!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"አያስፈልግም፣ አስቀድሞ ገንቢ ሆነዋል።"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"እባክዎ በመጀመሪያ የገንቢ አማራጮችን ያንቁ።"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"የአስተዳዳሪ ተጠቃሚዎች ብቻ የገንቢ ቅንብሮችን መድረስ ይችላሉ።"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ስርዓት"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"በአገልግሎት ውስጥ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ከአገልግሎት ውጭ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"የፊት ማሳያ መሣሪያዎን ሲያጠፉ ይበራል"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ጨዋታዎች፣ ቪድዮዎች እና ሌሎችም ብቻ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"የፊት ማሳያ የእርስዎ ማያ ገጽ ሥራ ፈት እንዳይሆን ለሚያስቆሙት መተግበሪያዎችን ይበራል።"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ለመቀጠል ወደ ላይ ያንሸራትቱ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"መተግበሪያውን በመጠቀም ለመቀጠል ስልክዎን ይጠፉ እና የፊት ማያ ገጽ ላይ ያንሸራትቱ፣ ወይም ማያ ገጹ እንዲቆለፍ ጥቂት ሰከንዶች ይጠብቁ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"በጭራሽ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"የፊት ማሳያ መሣሪያዎን ሲያጠፉ ይቆለፋል"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ራስ-አዙርን ይጠቀሙ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ተዛማጅ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"የጥሪ ቅላጼ እና ማንቂያዎች"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ኦዲዮ በጥሪዎች ወቅት"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"ሚዲያ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"ማሳወቂያዎች እና ሌሎች የሥርዓት ድምፆች"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"የሚዲያ እና የስርዓት ድምጾች"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"ማሳወቂያዎች"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"በነባሪ የድምፅ ውፅዓት የሚወሰነው በግለሰብ መተግበሪያዎች ነው"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"ስም አልባ የብሉቱዝ መሣሪያ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"በመፈለግ ላይ"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ይቅር"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"የብሉቱዝ LE ኦዲዮን ያሰናክሉ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"መሣሪያው የLE ኦዲዮ ሃርድዌር ችሎታዎችን የሚደግፍ ከሆነ የብሉቱዝ ኦዲዮ ባህሪን ያሰናክላል።"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"የብሉቱዝ LE ኦዲዮ ሁነታ"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"በመሣሪያ ዝርዝሮች ውስጥ LE ኦዲዮ መቀያየሪያን አሳይ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"የብሉቱዝ LE ኦዲዮ የዝርዝር ፈቃድን አንቃ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"የብሉቱዝ LE ኦዲዮ የዝርዝር ባህሪ ፈቃድን አንቃ።"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"የብሉቱዝ LE ኦዲዮ የተፈቀዱ ዝርዝርን እለፍ"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE ኦዲዮ ተቀጥላ የተፈቀዱ ዝርዝር መስፈርቶችን እንደሚያሟላ ባይረጋገጥም እንኳን LE ኦዲዮን በነባሪ መጠቀም።"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"የማህደረ መረጃ መሣሪያዎች"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ወደ መሣሪያዎች ደውል"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ሌሎች መሣሪያዎች"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"የተቀመጡ መሣሪያዎች"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ከመለያ ጋር የተጎዳኘ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ቀደም ብሎ በመለያ ጥቅም ላይ ውሏል"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ብሉቱዝ ለማጣመር ይበራል"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"የግንኙነት ምርጫዎች"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ከዚህ ቀደም የተገናኘ"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ብሉቱዝ በርቷል"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ሁሉንም ይመልከቱ"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ሁሉንም ይመልከቱ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ብሮስፌ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"የጭራ አዝራርን መጫን"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (የሥራ መገለጫ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"በጽሑፍ መስኮች ውስጥ ይፃፉ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ሁሉንም የብሮስፌ አዝራር መጫኖችን ችላ ይበሉ"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ብሮስፌ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ኦዲዮ ማጋራት"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ኦዲዮ ያጋሩ"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ጥሪዎች እና ማንቂያ ደወሎች"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ኮድ በመጠቀም ከኦዲዮ ዥረት ጋር ያገናኙ"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"በአቅራቢያ ያለ ምንም አይነት የኦዲዮ ዥረት አልተገኘም።"</string>
     <string name="date_and_time" msgid="1788358029823431692">"ቀን እና ሰዓት"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ተኪ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"አጽዳ"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s ወደ ተመራጭ ቋንቋዎች ይታከል?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"እንዲሁም እርስዎ ይህን ቋንቋ እንደሚመርጡ ይህ መተግበሪያዎች እና ድር ጣቢያዎችን ያሳውቃቸዋል።"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"የእርስዎ የመሣሪያ ቅንብሮች እና ክልላዊ አማራጮች ይለወጣሉ።"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ለውጥ"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s አይገኝም"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ቅዳሜ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"አንድ መተግበሪያ ክልላዊ ምርጫዎችን የማይደግፍ ከሆነ መተግበሪያው የእሱን ነባሪ የአካባቢ ቅንብሮች ይጠቀማል።"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ስለቋንቋ ምርጫዎች የበለጠ ይወቁ።"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ተጨማሪ ምርጫዎች"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"የአጠራር ደንቦች"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"እንዴት መጠራት እንደሚፈልጉ ያዘጋጁ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"መተግበሪያዎች እርስዎን እንዴት እንደሚያነጋግሩ ግላዊነት ለማላበስ የአጠራር ቃላትዎን መጠቀም ይችላሉ።"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"አልተገለጸም"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"እንስት"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ተባዕታይ"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ገለልተኛ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{የተመረጠው ቋንቋ ይወገድ?}one{የተመረጠው ቋንቋ ይወገድ?}other{የተመረጡ ቋንቋዎች ይወገዱ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ጽሁፍ በሌላ ቋንቋ ይታያል።"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ሁሉንም ቋንቋዎች ማስወገድ አይቻልም"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"አካባቢ"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"አካባቢን ተጠቀም"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ጠፍቷል"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{በርቷል - # መተግበሪያ የአካባቢ መዳረሻ አለው}one{በርቷል - # መተግበሪያ የአካባቢ መዳረሻ አለው}other{በርቷል - # መተግበሪያዎች የአካባቢ መዳረሻ አላቸው}}"</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_location_off" msgid="8568995909147566720">"ለመተግበሪያዎች እና ለአገልግሎቶች የአካባቢ መዳረሻ ጠፍቷል። ወደ የአደጋ ጊዜ ቁጥር ሲደውሉ ወይም የጽሑፍ መልዕክት ሲልኩ የመሣሪያዎ አካባቢ አሁንም ወደ የድንገተኛ ጊዜ አደጋ ምላሽ ሰጪዎች ሊላክ ይችላል።"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ስለአካባቢ ቅንብሮች የበለጠ ይወቁ።"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ስለ የአካባቢ ቅንብሮች የበለጠ ይወቁ"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"የአካባቢ መዳረሻን ለመቀየር ወደ ቅንብሮች &gt; ደህንነት እና ግላዊነት &gt; የግላዊነት መቆጣጠሪያዎች ይሂዱ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"መለያዎች"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ደህንነት"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ምስጠራ እና ምስክርነቶች"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ለምርጥ ውጤቶች ለGoogle የተሰራ የተረጋገጠ የማያ ገፅ መከላከያን ይጠቀሙ። በሌሎች የማያ ገፅ መከላከያዎች አማካኝነት የልጅዎ የጣት አሻራ ላይሰራ ይችላል።"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"በእጅ ሰዓት መክፈቻ"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ሲያዋቅሩ ጭምብል በለበሱበት ጊዜ ወይም ጨለማ በሆነ ቦታ ውስጥ ሲሆኑ ስልክዎ የጣት አሻራዎን ይጠይቃል።\n\nመልክዎ ወይም የጣት አሻራዎ ሳይታወቅ ሲቀር በእጅ ሰዓትዎ መክፈት ይችላሉ።"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"የጣት አሻራዎ ሳይለይ ሲቀር በእጅ ሰዓትዎ መክፈት ይችላሉ።"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"መልክዎ ሳይለይ ሲቀር በእጅ ሰዓትዎ መክፈት ይችላሉ።"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"በመልክ መክፈት እና በጣት አሻራ መክፈቻን ሲያዋቅሩ፣ ጭምብል በለበሱበት ጊዜ ወይም ጨለማ በሆነ ቦታ ውስጥ ሲሆኑ ስልክዎ የጣት አሻራዎን ይጠይቃል።\n\nበእጅ ሰዓት መክፈቻ ስልክዎን ለመክፈት ሌላ ምቹ መንገድ ነው፣ ለምሳሌ፦ ጣቶችዎ እርጥብ ሲሆኑ ወይም መልክ ሳይታወቅ ሲቀር።"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"በእጅ ሰዓት መክፈቻ ስልክዎን ለመክፈት ሌላኛው ምቹ መንገድ ነው፣ ለምሳሌ፦ የጣት አሻራዎ ሳይታወቅ ሲቀር።"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"በእጅ ሰዓት መክፈቻ ስልክዎን ለመክፈት ሌላኛው ምቹ መንገድ ነው፣ ለምሳሌ፦ መልክዎ ሳይታወቅ ሲቀር።"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"የጣት አሻራ ወይም የእጅ ሰዓት ይጠቀሙ ለ"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ፊት ወይም የእጅ ሰዓት ይጠቀሙ ለ"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ፊት፣ የጣት አሻራ ወይም የእጅ ሰዓትን ይጠቀሙ ለ"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"በእጅ ሰዓት መክፈቻ ለምሳሌ ጣቶችዎ እርጥብ ሲሆኑ ወይንም ፊትዎ ሳይለይ ሲቀር ይህን ስልክ ለመክፈት ሌላኛው አመቺ መንገድ ነው።\n\nየሚከተሉትን ሲያደርጉ ይህን ስልክ ለመክፈት የእጅ ሰዓትዎን መጠቀም ይችላሉ፦"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"አሁን አይደለም"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ቀጥል"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ተጨማሪ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"እንዴት እንደሚሠራ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"የእጅ ሰዓትዎ የተከፈተ፣ በእጅዎ ላይ ያለ እና ከስልኩ በቅርብ ርቀት ላይ መሆን አለበት። በእጅዎ ላይ በሚሆንበት ጊዜ የእጅ ሰዓትዎን በድጋሚ መክፈት አያስፈልግዎትም።"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ይህ ስልክ ሲከፈት በእጅ ሰዓትዎ ላይ ማሳወቂያ ይደርስዎታል። የተከፈተው ሳይፈልጉት ከነበረ በድጋሚ ስልኩን ለመቆለፍ ማሳወቂያውን መታ ያድርጉ።"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"እርስዎ ነዎት የሚቆጣጠሩት"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"በማንኛውም ጊዜ በቅንብሮች ውስጥ የእጅ ሰዓትዎን ከእጅ ሰዓት መክፈቻ ማስወገድ ይችላሉ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"ማሳወቂያን መታ ያድርጉ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ማያ ገጽ ቁልፉ ላይ ወደ ላይ ያንሸራትቱ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"የእጅ ሰዓትዎን ይምረጡ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"የሚገኙ የእጅ ሰዓቶች"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ይቅር"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"አረጋግጥ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ጨርሰዋል!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"አሁን የማያ ገጽ ቁልፉ ላይ ወደ ላይ ሲያንሸራትቱ ወይም ማሳወቂያን መታ ሲያደርጉ ይህን ስልክ ለመክፈት የእጅ ሰዓትዎን መጠቀም ይችላሉ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ተከናውኗል"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"በእጅ ሰዓት መክፈቻ"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"የማያ ገጽ ቁልፉ ላይ ወደ ላይ ሲያንሸራትቱ ወይም ማሳወቂያን መታ ሲያደርጉ ይህን ስልክ ለመክፈት የእጅ ሰዓትዎን መጠቀም ይችላሉ"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"በእጅ ሰዓት መክፈቻን ለመጠቀም የእጅ ሰዓትዎ መከፈት፣ በአንጓዎ ላይ መሆን፣ በቅርብ ርቀት ላይ መኖር እና ከዚህ ስልክ ጋር መገናኘት አለበት። ግንኙነቱ ከተቋረጠ በእጅ ሰዓት መክፈቻን መጠቀም ከመቻልዎ በፊት ስልኩን መክፈት ይኖርብዎታል።\n\nያስታውሱ፦\nበአንድ ጊዜ ማዋቀር የሚችሉት አንድ የእጅ ሰዓት ብቻ ነው። ሌላ የእጅ ሰዓት ለማከል በመጀመሪያ የአሁኑን ያስወግዱ።"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"በመልክ እና በጣት አሻራ መክፈቻ ለሥራ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ውቅረት ያስፈልጋል"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ደህንነት"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ግላዊነት"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"የሥራ መገለጫ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"የግል ቦታ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"የግል መተግበሪያዎችን ቆልፈው እና ደብቀው ያስቀምጡ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"የግል መተግበሪያዎችን መደበቅ ወይም መቆለፍ በሚችሉት የተለየ ቦታ ላይ ያቆዩ"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"የግል ቦታ ቁልፍ"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"መሣሪያዎን እንደከፈቱት በተመሳሳይ መንገድ የግል ቦታዎን መክፈት ወይም የተለየ ቁልፍ መምረጥ ይችላሉ"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"የመሣሪያ ማያ ገጽ መቆለፊያን ይጠቀሙ"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"በመልክ &amp; በጣት አሻራ መክፈቻ"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"በጣት አሻራ መክፈቻ"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"በመልክ መክፈት"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ለማዋቀር መታ ያድርጉ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ለግል ቦታ በጣት አሻራ መክፈቻ"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ለግል ቦታ በመልክ መክፈት"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"የሚከፈትባቸው መንገዶች"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ከመሣሪያ ማያ ገጽ መቆለፊያ ጋር ተመሳሳይ"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ለግል ቦታ አዲስ ቁልፍ ይመርጣሉ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"የግል ቦታን በራስ-ሰር ቆልፍ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"መሣሪያዎን ለተወሰነ ጊዜ ካልተጠቀሙበት የግል ቦታዎን በራስ-ሰር መቆለፍ ይችላሉ"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"መሣሪያ በተቆለፈ ቁጥር"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"ከ5 ደቂቃዎች እንቅስቃሴ-አልባነት በኋላ"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"በጭራሽ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"በሚቆለፍበት ጊዜ ደብቅ"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"በሚቆለፍበት ጊዜ የግል ቦታን ይደብቁ"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ሌሎች ሰዎች በመሣሪያዎ ላይ የግል ቦታ እንዳለዎት እንዳያውቁ ለማስቆም፣ ከመተግበሪያዎችዎ ዝርዝር ውስጥ መደበቅ ይችላሉ"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"በሚደበቅበት ጊዜ የግል ቦታን ይድረሱ"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ከመተግበሪያዎች ዝርዝርዎ ውስጥ፣ በፍለጋ አሞሌው ውስጥ «የግል ቦታ» ያስገቡ"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"የግል ቦታ ሰቁን መታ ያድርጉ"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"የግል ቦታዎን ይክፈቱ"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ጠፍቷል"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"በርቷል"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ሥርዓት"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"የግል ቦታን ይሰርዙ"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"የግል ቦታ ይሰረዝ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"የግል ቦታዎ ከመሣሪያዎ ይወገዳል። ሁሉም የግል መተግበሪያዎች እና ውሂብ ይሰረዛሉ። ይህን ተግባር መቀልበስ አይችሉም።"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"የሚከተሉት መለያዎች ከግል ቦታዎ ይወገዳሉ፦"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ሰርዝ"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"የግል ቦታን በመሰረዝ ላይ…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ይህ ጥቂት ጊዜ ይወስዳል"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"የግል ቦታ ተሰርዟል"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"የግል ቦታ መሰረዝ አልቻለም"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"የግል ቦታ ተከፍቷል"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ማያ ገፅ መቆለፊያን ያቀናብሩ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"የግል ቦታን ለመጠቀም በዚህ መሣሪያ ላይ ማያ ገጽ መቆለፊያን ያቀናብሩ"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ማያ ገፅ መቆለፊያን አቀናብር"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ይቅር"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ይቅር"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ያዋቅሩ"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"የግል ቦታን ያዋቅሩ"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"የግል መተግበሪያዎችን መደበቅ ወይም መቆለፍ በሚችሉት የተለየ ቦታ ላይ ያቆዩ"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"እንዴት እንደሚሠራ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ከመተግበሪያዎ ዝርዝር የታችኛው ክፍል ላይ የግል ቦታዎን መድረስ ይችላሉ"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"በግል ቦታዎ ውስጥ ያሉ መተግበሪያዎች በቁልፍ ጥበቃ ይደረግላቸዋል"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"በሚቆለፍበት ጊዜ በእርስዎ የግል ቦታ ውስጥ ካሉ መተግበሪያዎች የሚመጡ ማሳወቂያዎች ይደበቃሉ"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"በእርስዎ የግል ቦታ ላይ ያሉ መተግበሪያዎች የእርስዎ የግል ቦታ ሲቆለፍ በፍቃድ አስተዳዳሪ፣ በግላዊነት ዳሽቦርድ እና በሌሎች ቅንብሮች ውስጥ አይታዩም።\n\nየእርስዎ የግል ቦታ ወደ አዲስ መሣሪያ ሊወሰድ አይችልም። የግል ቦታን በሌላ መሣሪያ ላይ መጠቀም ከፈለጉ ሌላ የግል ቦታን ማዋቀር ያስፈልግዎታል።\n\nመሣሪያዎን ከኮምፒውተር ጋር የሚያገናኘው ወይም በመሣሪያዎ ላይ ጎጂ መተግበሪያዎችን የሚጭን ማንኛውም ሰው የእርስዎን የግል ቦታ ሊደርስ ይችላል።"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"የግል ቦታን በማዋቀር ላይ…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ከግል ቦታ መተግበሪያዎች የሚመጡ ማሳወቂያዎች ሲቆለፍ ይደበቃሉ"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ፎቶዎችን ወይም ፋይሎችን ለማጋራት የግል ቦታን ይክፈቱ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"አንዳንድ መተግበሪያዎች አስቀድመው በእርስዎ የግል ቦታ ላይ ተጭነዋል"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"የግል ቦታን ማዋቀር አልተቻለም"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"እንደገና ይሞክሩ"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"የግል ቦታን ለመክፈት ማያ ገጽ መቆለፊያን ይጠቀሙ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"መሣሪያዎን እንደከፈቱት በተመሳሳይ መንገድ የግል ቦታዎን መክፈት ወይም የተለየ ቁልፍ መምረጥ ይችላሉ"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ማያ ገጽ መቆለፊያን ይጠቀሙ"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"አዲስ ቁልፍ ይምረጡ"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"ሁሉም ዝግጁ!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"የግል ቦታዎን ለማግኘት፣ ወደ የመተግበሪያዎች ዝርዝርዎ ይሂዱ እና ወደ ታች ይሸብልሉ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ተከናውኗል"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"የግል ቦታን ለማግኘት ወደ ታች ይሸብልሉ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"በመለያ ይግቡ"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"በግል ቦታዎ ለመጠቀም ወደ መለያ ይግቡ"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"አሁን አይደለም"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ቀጥል"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ለግል ቦታዎ ቁልፍን ይምረጡ"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"የጣት አሻራዎን በመጠቀም የግል ቦታዎን መክፈት ይችላሉ። ለደህንነት ሲባል ይህ አማራጭ ምትኬ ቁልፍ ያስፈልገዋል።"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ለግል ቦታዎ ፒን ያዘጋጁ"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ለግል ቦታዎ የይለፍ ቃል ያዘጋጁ"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ለግል ቦታዎ የሚሆን ስርዓተ ጥለት ያዘጋጁ"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"እስከ <xliff:g id="COUNT">%d</xliff:g> የሚደርሱ የጣት አሻራዎችን ማከል ይችላሉ"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"የሚፈቀደውን ከፍተኛ የጣት አሻራ ብዛት አክለዋል"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ተጨማሪ የጣት አሻራዎችን ማከል አይቻልም"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ሥርዓተ ጥለት"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"ፒን"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"የይለፍ ቃል"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"የማያ ገፅ መቆለፊያ ይሰረዝ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ሁሉም ዓይነት የመሣሪያ መክፈቻ ይወገድ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"የመገለጫ ጥበቃ ይወገድ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"ስልክዎ ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"ስልክዎ ከጠፋ ወይም ከተሰረቀ ሥርዓተ ጥለት ይጠብቀዋል።<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>እንዲሁም በእርስዎ ስልክ ላይ የተከማቸውን የጣት አሻራ ሞዴል በቋሚነት እና ደህንነቱ በተጠበቀ ሁኔታ ይሰረዛል። የእርስዎ መልክ ሞዴል በቋሚነት እና ደህንነቱ በተጠበቀ ሁኔታ ይሰረዛል። በመተግበሪያዎች ውስጥ ማንነትን ለማረጋገጥ የእርስዎን መልክ ወይም የጣት አሻራ መጠቀም አይችሉም።"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"ስልክዎ ቢጠፋ ወይም ቢሰረቅ ፒን ይጠብቀዋል"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"እንደ ፒንዎ ያሉ የተቀመጡ ውሂቦችን ያጣሉ።<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ለክፍያ የተዘጋጁ ካርዶች ይወገዳሉ።<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>የWalletዎች እና ሌሎች የመሣሪያ መቆለፊያ እንዲከፈት የሚጠይቁ መተግበሪያዎች በትክክል ላይሰሩ ይችላሉ።"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"ስልክዎ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ይህ እንዲሁም በመሣሪያዎ ላይ የተከማቸውን የጣት አሻራ ሞዴል ይሰርዛል። በመተግበሪያዎች ውስጥ ማንነትን ለማረጋገጥ የጣት አሻራዎን መጠቀም አይችሉም።"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"እንደ ፒን እና የጣት አሻራ ሞዴል ያሉ የተቀመጡ ውሂቦችን ያጣሉ።<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ለክፍያ የተዘጋጁ ካርዶች ይወገዳሉ።<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>የWalletዎች እና ሌሎች የመሣሪያ መቆለፊያ እንዲከፈት የሚጠይቁ መተግበሪያዎች በትክክል ላይሰሩ ይችላሉ።"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"ስልክዎ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።<xliff:g id="EMPTY_LINE">
 
 </xliff:g>እንዲሁም የእርስዎ የመልክ ሞዴል በቋሚነት እና ደህንነቱ በተጠበቀ ሁኔታ ይሰረዛል። በመተግበሪያዎች ውስጥ ማንነትን ለማረጋገጥ መልክዎን መጠቀም አይችሉም።"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"እንደ ፒንዎ እና የመልክ ሞዴልዎ ያሉ የተቀመጡ ውሂቦችን ያጣሉ።<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ለክፍያ የተዘጋጁ ካርዶች ይወገዳሉ።<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>የWalletዎች እና ሌሎች የመሣሪያ መክፈቻ የሚያስፈልጋቸው መተግበሪያዎች በትክክል ላይሰሩ ይችላሉ።"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"ስልክዎ ከጠፋ ወይም ከተሰረቀ ፒን ይጠብቀዋል።<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ይህ እንዲሁም በመሣሪያዎ ላይ የተከማቸውን የጣት አሻራ ሞዴል ይሰርዛል። የእርስዎ መልክ ሞዴል በቋሚነት እና ደህንነቱ በተጠበቀ ሁኔታ ይሰረዛል። በመተግበሪያዎች ውስጥ ማንነትን ለማረጋገጥ የእርስዎን መልክ ወይም የጣት አሻራ መጠቀም አይችሉም።"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"እንደ ፒን፣ መልክ እና የጣት አሻራ ሞዴሎች ያሉ የተቀመጡ ውሂቦችን ያጣሉ።<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ለክፍያ የተዘጋጁ ካርዶች ይወገዳሉ።<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>የWalletዎች እና ሌሎች የመሣሪያ መቆለፊያ እንዲከፈት የሚጠይቁ መተግበሪያዎች በትክክል ላይሰሩ ይችላሉ።"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"ስልክዎ ቢጠፋ ወይም ቢሰረቅ የይለፍ ቃልዎ ይጠብቀዋል"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"ስልክዎ ከጠፋ ወይም ከተሰረቀ የይለፍ ቃል ይጠብቀዋል።<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ብሉቱዝ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ብሉቱዝ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"ከ<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ጋር ይጣመር?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"አዲስ አባል ወደ ነባሩ የተቀናጀ ስብስብ ያክሉ"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"የኦዲዮ መሣሪያዎን ሁለተኛ ክፍል ለማከል ያረጋግጡ"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"የብሉቱዝ ማጣመሪያ ኮድ"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"የማጣመር ኮድ ይተይቡና ከዚያም Return ወይም Enter የሚለውን ይጫኑ"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"ፒን  ፊደሎች ወይም ምልክቶች ይይዛል"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 አሃዞች መሆን አለበት"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ይህን ፒን  በሌላ መሣሪያ ላይማስገባት ሊያስፈልግህ ይችላል።"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ይህን የይለፍ ቁልፍ በሌላ መሣሪያ ላይማስገባት ሊያስፈልግህ ይችላል።"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ከተባባሪ ስብስቡ ጋር ለመጣመር ያረጋግጡ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ከኦዲዮ መሣሪያው ጋር ለማጣመር ያረጋግጡ"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"የእርስዎን የእውቂያዎች እና የጥሪ ታሪክ መዳረሻ ይፍቀዱ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"እንዲሁም ለዕውቂያዎች እና ለጥሪ ታሪክ መዳረሻ ይፍቀዱ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"መረጃው ለደውል ማስታወቂያዎች እና ለሌሎችም ጥቅም ላይ ይውላል"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"ወደ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>ማገናኘት አልተቻለም።"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"የሚገኙ መሣሪያዎች"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"አያይዝ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"አለያይ"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"አጣምር&amp;  አያይዝ"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ብሉቱዝ ሲበራ መሣሪያዎ ሌልች በአቅራቢያ ካሉ መሣሪያዎች ጋር መገናኘት ይችላል።"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ብሉቱዝ ሲበራ መሣሪያዎ ሌልች በአቅራቢያ ካሉ መሣሪያዎች ጋር መገናኘት ይችላል"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ብሉቱዝ ሲበራ የእርስዎ መሣሪያ በአቅራቢያ ካሉ ሌሎች የብሉቱዝ መሣሪያዎች ጋር መነጋገር ይችላል።\n\nየመሣሪያ ተሞክሮን ለማሻሻል መተግበሪያዎች እና አገልግሎቶች ብሉቱዝ ጠፍቶ ቢሆንም እንኳን አሁንም በማንኛውም ጊዜ በአቅራቢያ ያሉ መሣሪያዎችን መቃኘት ይችላሉ። ይህ ለምሳሌ በአካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ጥቅም ላይ መዋል ይችላል። ይህን የብሉቱዝ ቅኝት ቅንብሮች ውስጥ መለወጥ ይችላሉ።"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ቀይር"</string>
     <string name="device_details_title" msgid="1155622417516195481">"የመሣሪያ ዝርዝሮች"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART ሊታረሙ ለሚችሉ መተግበሪያዎች ባይት ኮድን እንዲያረጋግጥ ይፍቀዱ"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"የዕድሳት ድግምግሞሽ መጠንን አሳይ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"አሁን ያለውን የማሳያ ዕድሳት ድግምግሞሽ መጠንን አሳይ"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"የ ኤችዲአር/ኤስዲአር ውድር አሳይ"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"የአሁኑን ኤችዲአር/ኤስዲአር ውድር አሳይ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"ለNFC የመሣሪያ መከፈት ይፈለግ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"አውሮፕላን ሁኔታ"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ለይፋዊ አውታረ መረቦች አሳውቅ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ባለከፍተኛ ጥራት ይፋዊ አውታረ መረብ የሚገኝ ሲሆን አሳውቅ"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"የWEP አውታረ መረቦችን ይፍቀዱ"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ደህንነቱ አነስተኛ የሆነ የቆየ የደህንነት ፕሮቶኮል ነው"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"አገልግሎት አቅራቢዎ የWEP አውታረ መረቦች ደህንነታቸው ያነሰ ስለሆነ አይፈቅድም"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fiን በራስ-ሰር አብራ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"እንደ የቤትዎ አውታረ መረብ ካሉ የተቀመጡ አውታረ መረቦች አጠገብ ሲሆኑ Wi‑Fi ተመልሶ ይበራል"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"መገኛ አካባቢ ስለጠፋ ሊገኝ አይችልም። "<annotation id="link">"መገኛ አካባቢ"</annotation>"።"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi ቅኝት አደራረግ በማናቸውም ጊዜ የWi‑Fi አውታረመረቦችን መተግበሪያዎች እና አገልግሎቶች Wi‑Fi ጠፍቶ እያለ እንኳ እንዲቃኙ ያስችላል። ይህ ለምሳሌ በአካባቢ ላይ የተመሠረቱ ባህሪያትን እና አገልግሎቶችን ለማሻሻል ሥራ ላይ ሊውል ይችላል።"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"አብራ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi ቅኝት በርቷል"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ይህ አውታረ መረብ ደህንነቱ ያነሰ የቆየ የደህንነት ፕሮቶኮልን ይጠቀማል"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ታግዷል"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ይህ አውታረ መረብ WEP የሚባል የቆየ የደህንነት ፕሮቶኮል ይጠቀማል፣ ይህም ደህንነቱ ያነሰ ነው። ለማንኛውም ለመገናኘት የWEP አውታረ መረቦችን መፍቀድ ይችላሉ።"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"አገልግሎት አቅራቢዎ ከዚህ አውታረ መረብ ጋር እንዲገናኙ አይፈቅድልዎትም ምክንያቱም ደህንነቱ ያነሰ የቆየ የደህንነት ፕሮቶኮል ይጠቀማል"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEPን ፍቀድ"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ዝጋ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"የላቁ አማራጮች"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"የተቆልቋይ ዝርዝር የላቁ አማራጮች"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ዘርጋ"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"በWi-Fi ላይ ይቆዩ"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"በፍፁም ዳግመኛ አታሳይ"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"አያይዝ"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi በርቷል"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"ከ<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ጋር ተገናኝቷል"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"ወደ <xliff:g id="NETWORK_NAME">%1$s</xliff:g> በመገናኘት ላይ"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"በመገናኘት ላይ…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ከአውታረ መረቡ ጋር መገናኘት አልተሳካም"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"አውታረ መረብ በክክል ውስጥ አይደለም"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"እርሳ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ቀይር"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"አውታረ መረብ መርሳት አልተሳካም"</string>
     <string name="wifi_save" msgid="2312643132472226807">"አስቀምጥ"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"አውታረ መረብ ማስቀመጥ አልተሳካም"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ይቅር"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"የተንቀሳቃሽ ስልክ ውሂብ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ኢተርኔት"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ኃይል በመሙላት ላይ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ኃይል በመሙላት ላይ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"የመገናኛ ነጥብ ግንኙነት"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"የግንኙነት ጥንካሬ"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"የተቀመጡ አውታረ መረቦች"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"ምንም የይለፍ ቃል አልተቀናበረም"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"የመገናኛ ነጥብ ስም"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"የመገናኛ ነጥብ የይለፍ ቃል"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"የኤፒ ባንድ"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"መገናኛ ነጥብን በራስሰር አጥፋ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ምንም መሣሪያዎች ካልተገናኙ"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"ተኳዃኝነትን ያራዝሙ"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ነጭ ሚዛንን አሳይ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"መተግበሪያዎችን በእጠፍ ላይ መጠቀም ቀጥል"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ለስላሳ ማሳያ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ለአንዳንድ ይዘት የማደሻ ፍጥነቱን በራስ-ሰር ከ60 ወደ <xliff:g id="ID_1">%1$s</xliff:g> ኸርዝ ያሳድገዋል። የባትሪ አጠቃቀምን ይጨምራል።"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ለጨዋታዎች የክፈፍ ፍጥነትትን ያሰናክሉ"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ለጨዋታዎች ከፍተኛውን የክፈፍ ፍጥነት በ<xliff:g id="FRAME_RATE">%1$d</xliff:g> ኸርዝ መገደብን ያሰናክሉ።"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"ለስላሳ ማሳያ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ለአንዳንድ ይዘት የዕድሳት ፍጥነቱን በራስ-ሰር እስከ <xliff:g id="ID_1">%1$d</xliff:g> ኸርዝ ድረስ ያሳድገዋል። የባትሪ አጠቃቀምን ይጨምራል።"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ከፍተኛ የእድሳት ፍጥነትን አስገድድ"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ለተሻሻለ የንክኪ አጸፋ እና የእነማ ጥራት በጣም ከፍተኛው ዕድሳት ፍጥነት የባትሪ ፍጆታን ይጨምራል።"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"የማያ ገፅ ትኩረት"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"የማያ ገፅ ትኩረት በማያ ገጹ ላይ የሆነ ሰው እያየ መሆኑን ለመመልከት የፊት ካሜራውን ይጠቀማል። በመሣሪያ ላይ ይሠራል፣ እና ምስሎች በጭራሽ ወደ Google አይላኩም ወይም በዚያ አይከማቹም።"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"የማያ ገፅ ትኩረትን ያብሩ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ማያ ገጹን ሲመለከቱት እንደበራ ይቆይ"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ረዘም ያለ ማያ ጊዜው ማለቂያው ተጨማሪ ባትሪ ይጠቀማል።"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ካሜራ ተቆልፏል"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ለመልክ ማወቂያ ካሜራ መከፈት አለበት"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ለየማያ ገፅ ትኩረት ካሜራ መከፈት አለበት"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (የሲም ማስገቢያ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (የሲም ማስገቢያ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ቀዳሚ)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"ለመመልከት የተቀመጠ አውታረ መረብን ይምረጡ"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"ዝቅተኛ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL ስሪት"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"የባትሪደረጃ፡"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"የጋራ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"የጋራ ቅንብሮች"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"በሳተላይት መልዕክት መላላክ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"የመዳረሻ ነጥብ አርትዕ"</string>
+    <string name="apn_add" msgid="9069613192201630934">"የመዳረሻ ነጥብ ያክሉ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"አልተዘጋጀም"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"አልተቀናበረም"</string>
     <string name="apn_name" msgid="6677695784108157953">"ስም"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ነቅቷል"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN ተሰናክሏል"</string>
     <string name="bearer" msgid="3231443241639159358">"ተሸካሚ"</string>
+    <string name="network_type" msgid="748590707422733595">"የአውታረ መረብ ዓይነት"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"ያልተገለጸ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO ዓይነት"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO ዋጋ"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN ሰርዝ"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"አስቀምጥ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ይቅር"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"የተባዛ የኤፒኤን ግቤት።"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"የስም መስክ ባዶ ሊሆን አይችልም"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ባዶ መሆን አይችልም።"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"የMCC መስክ 3 አሀዝ መሆን አለበት።"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"የMNC መስክ 2 ወይም 3 አሀዝ መሆን አለበት።"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"የአገልግሎት አቅራቢ ዓይነታቸው %s የሆኑ ኤፒኤንዎችን ማከልን አይፈቅድም።"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"የኤምኤምኤስሲ መስክ ትክክለኛ መሆን አለበት።"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ነባሪ የAPN ቅንብሮችን እነበረበት ይመልሱ"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ወደ ነባሪ ዳግም አስጀምር"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"የዳግም አስጀምር ነባሪ APN ቅንብሮች ተጠናቀዋል"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ዳግም አስጀምር"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ብሉቱዝ እና Wi-Fi ዳግም ተጀምረዋል"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ኢሲሞችን ደምስስ"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ይህ ማናቸውም የተንቀሳቃሽ ስልክ አገልግሎት ዕቅዶችን አይሰርዝም። ተተኪ ሲሞችን ለማውረድ፣ የአገልግሎት አቅራቢዎን ያነጋግሩ።"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ይህ የሞባይል አገልግሎት ዕቅድዎን አይሰርዘውም። ምትክ ሲም ለማግኘት የአገልግሎት አቅራቢዎን ያነጋግሩ።"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ቅንብሮችን ዳግም ያቀናብሩ"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"ሁሉም አውታረ መረብ ቅንብሮች ዳግም ይጀምሩ? ይህን እርምጃ መቀልበስ አይችሉም።"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"ሁሉም የአውታረ መረብ ቅንብሮች እንደገና ይጀምሩ እና ኢሲሞች ይደምሰሱ? ይህን ተግባር መቀልበስ አይችሉም።"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ዳግም ይቀናበር?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"የአውታረመረብ ዳግም ማስጀመር ለዚህ ተጠቃሚ አይገኝም"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"የአውታረ መረብ ቅንብሮች ዳግም ጀምረዋል።"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"ሲሞችን መደምሰስ አይቻልም"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"በስሕተት ምክንያት ኢሲሞች መደምሰስ አልቻሉም።\n\nመሣሪያዎን እንደገና ያስጀምሩ እና እንደገና ይሞክሩ።"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ኢሲሞችን መደምሰስ አልተቻለም"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"የሆነ ስህተት ተከስቷል እና የእርስዎ ኢሲሞች አልተደመሰሱም።\n\nመሣሪያዎን እንደገና ያስጀምሩትና እንደገና ይሞክሩ።"</string>
     <string name="main_clear_title" msgid="277664302144837723">"ሁሉንም ውሂብ ደምስስ (የፋብሪካ ዳግም ማስጀመር)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ሁሉንም ውሂብ ደምስስ (የፋብሪካ ዳግም ማስጀመር)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"ሙዚቃ"</li>\n<li>"ፎቶዎች"</li>\n<li>"ሌላ የተጠቃሚ ውሂብ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMዎች"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ይህ የተንቀሳቃሽ ስልክ አገልግሎት እቅድዎን አይሰርዘውም።"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ሁሉም የእርስዎ የግል መረጃ እና የወረዱ መተግበሪያዎች ይሰረዛሉ። ይህን ተግባር መቀልበስ አይችሉም።"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"የወረዱ መተግበሪያዎች እና ሲሞችን ጨምሮ ሁሉም የግል መረጃዎ ይሰረዛሉ። ይህን ተግባር መቀልበስ አይችሉም።"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"የወረዱ መተግበሪያዎች እና ኢሲሞችን ጨምሮ ሁሉም የግል መረጃዎ ይሰረዛሉ። ይህን ተግባር መቀልበስ አይችሉም።"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ሁሉም ውሂብ ይደምሰስ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"የፋብሪካ ዳግም ማስጀመር ለዚህ ተጠቃሚ አይገኝም"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"በመደምሰስ ላይ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"መገናኛ ነጥብ፣ ዩኤስቢ፣ ብሉቱዝ፣ ኤተርኔት"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"በይነመረብ ለሌሎች መሣሪያዎች አይጋራም"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"አጥፋ"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"እንደ ሞደም መሰካት"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"የWi‑Fi መገናኛ ነጥብን አትጠቀም"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"በዩኤስቢ በኩል ብቻ በይነመረብን አጋራ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"በብሉቱዝ በኩል ብቻ በይነመረብን አጋራ"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"በኤተርኔት በኩል ብቻ በይነመረብን አጋራ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"በዩኤስቢ እና በብሉቱዝ በኩል ብቻ አጋራ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"በዩኤስቢ እና በኤተርኔት በኩል ብቻ አጋራ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"በብሉቱዝ እና በኤተርኔት በኩል ብቻ በይነመረብን አጋራ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"በዩኤስቢ፣ በብሉቱዝ እና በኤተርኔት በኩል ብቻ በይነመረብን አጋራ"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB መሰካት"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ብሉቱዝ ማያያዝ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"የኢተርኔት ማስተሳሰር"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"በእርስዎ Wi-Fi ወይም የተንቀሳቃሽ ስልክ ውሂብ ግንኙነት በኩል በይነመረቡ ለሌሎች መሣሪያዎች ለማቅረብ የመገናኛ ነጥብን እና እንደ ሞደም መሰካትን ይጠቀሙ። መተግበሪያዎች እንዲሁም ይዘቶችን በአቅራቢያ ላሉ መሣሪያዎች ለማጋራት መገናኛ ነጥብን መፍጠር ይችላሉ።"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"እገዛ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"የተንቀሳቃሽ ስልክ አውታረ መረብ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"የሞባይል ዕቅድ"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"የኤስኤምኤስ መተግበሪያ"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"የኤስ ኤም ኤስ መተግበሪያ ይለወጥ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ከ<xliff:g id="CURRENT_APP">%2$s</xliff:g> ይልቅ <xliff:g id="NEW_APP">%1$s</xliff:g> እንደ እርስዎ ኤስኤምኤስ መተግበሪያ ይጠቀሙበት?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"የWi‑Fi ረዳት ይቀየር?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"የአውታረ መረብ ግንኙነቶችዎን ለማቀናበር ከ<xliff:g id="CURRENT_APP">%2$s</xliff:g> ይልቅ <xliff:g id="NEW_APP">%1$s</xliff:g>ን ይጠቀሙ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"የአውታረ መረብ ግንኙነቶችዎን ለማቀናበር <xliff:g id="NEW_APP">%s</xliff:g>ን ይጠቀሙ?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"ያልታወቀ የሲም አንቀሳቃሽ"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> ምንም የሚታወቅ የማቅረቢያ ድር ጣቢያ የለውም"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"እባክዎ SIM ካርድ ያስገቡና ዳግም ያስጀምሩ"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"እባክዎ ከበይነ መረብ ጋር ያገናኙ"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"የቅርብ ጊዜ የአካባቢ ጥያቄዎች"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"የስራ መገለጫ አካባቢ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"የመተግበሪያ አካባቢ ፈቃዶች"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"መዳረሻውን አጥራ"</string>
     <string name="controls_label" msgid="8671492254263626383">"ይቆጣጠራል"</string>
     <string name="force_stop" msgid="2681771622136916280">"በኃይል ማቆም"</string>
+    <string name="archive" msgid="9074663845068632127">"በማህደር አስቀምጥ"</string>
+    <string name="restore" msgid="7622486640713967157">"ወደነበረበት መልስ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ወደነበረበት በመመለስ ላይ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ወደነበረበት በመመለስ ላይ።"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ወደነበረበት በመመለስ ላይ.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ወደነበረበት በመመለስ ላይ..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"ጠቅላላ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"የመተግበሪያ መጠን"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"የUSB ማከማቻ ትግበራ"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"የጥቅል መጠንን ለማስላት አልተቻለም።"</string>
     <string name="version_text" msgid="7628938665256107608">"ሥሪት<xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"አንቀሳቅስ"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"በማህደር ማስቀመጥ አልተሳካም"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> በማህደር ተቀምጧል"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ወደነበረበት መመለስ አልተሳካም"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>ን ወደነበረበት በመመለስ ላይ"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ሌላ ዝውውር አስቀድሞ በሂደት ላይ ነው።"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"በቂ ማከማቻ ቦታ የለም::"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"መተግበሪያ የለም::"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ታይታ የቁልፍ ሰሌዳ ይገኛል"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"የማያ ገፅ ላይ ቁልፍ ሰሌዳዎችን ያቀናብሩ"</string>
     <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="6922850403920596246">"ለአካላዊ ቁልፍ ሰሌዳ ተደራሽነት የመንጠሪያ ቁልፎችን ያንቁ"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ቀርፋፋ ቁልፎች"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ለአካላዊ ቁልፍ ሰሌዳ ተደራሽነት ቀርፋፋ ቁልፎችን ያንቁ"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ተጣባቂ ቁልፎች"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ለአካላዊ ቁልፍ ሰሌዳ ተደራሽነት ተጣባቂ ቁልፎችን ያንቁ"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ለተጨማሪ አማራጮች የመዳሰሻ ሰሌዳውን የታችኛው ቀኝ ጠርዝ መታ ያድርጉ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"የጠቋሚ ፍጥነት"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"የመዳሰሻ ሰሌዳ ምልክቶችን ይወቁ"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ወደ መነሻ ይሂዱ"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"በመዳሰሻ ሰሌዳዎ ማንኛውም ቦታ ላይ በሦስት ጣቶች ወደ ላይ ያንሸራትቱ"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ይመለሱ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"በአጠቃቀም ጊዜ ደርድር"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ለመጨረሻ ጊዜ ሥራ ላይ በዋለበት ጊዜ ደርድር"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"በመተግበሪያ ስም ደርድር"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ለመጨረሻ ጊዜ ጥቅም ላይ የዋለበት ጊዜ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ሥራ ላይ የዋለበት የመጨረሻ ቀን"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"በፍፁም"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ጊዜ አጠቃቀም"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ተደራሽነት"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ተደራሽነት ቅንብሮች"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ሶስቴ መታ በማድረግ ያጉሉ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"በአቋራጭ ያጉሉ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"በአቋራጭ እና ሦስቴ መታ በማድረግ ያጉሉ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"ስለ<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ለመክፈት የተደራሽነት አዝራር ይጠቀሙ"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ለመክፈት የድምጽ ቁልፎችን ይያዙ"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ለመክፈት ማያ ገጹን ሦስት ጊዜ መታ ያድርጉ"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ለመክፈት ማያ ገጽን በሁለት ጣት ሁለቴ መታ ያድርጉ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ለመክፈት የጣት ምልክትን ይጠቀሙ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"የተደራሽነት እጅ ምልክትን ይጠቀሙ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ይህን ባህሪ ለመጠቀም በማያ ገጽዎ ግርጌ ላይ ያለውን የተደራሽነት አዝራሩን <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> መታ ያድርጉ።\n\nባህሪያት መካከል ለመቀያየር የተደራሽነት አዝራሩን ነክተው ይያዙ።"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ይህን ባህሪ ለመጠቀም በማያ ገጽዎ ላይ ያለውን የተደራሽነት አዝራር መታ ያድርጉ።"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ይህን ባህሪ ለመጠቀም ሁለቱንም የድምጽ ቁልፎች ተጭነው ይያዙ።"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ማጉላትን ለመጀመር እና ለማቆም በማያ ገጽዎ ላይ ማንኛውም ቦታ ላይ ሦስት ጊዜ መታ ያድርጉ።"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ማጉላትን ለመጀመር እና ለማቆም በማያ ገጽዎ ላይ ማንኛውም ቦታ ላይ በሁለት ጣቶች ሁለቴ መታ ያድርጉ።"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ይህን ባህሪ ለመጠቀም በ2 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ2 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ይህን ባህሪ ለመጠቀም በ3 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ3 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"የተደራሽነት ባሕሪን ለመጠቀም በ2 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ2 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"የተደራሽነት ባሕሪን ለመጠቀም በ3 ጣቶች ከማያ ገጹ ግርጌ ወደ ላይ ይጥረጉ።\n\nበባሕሪያት መካከል ለመቀያየር በ3 ጣቶች ወደ ላይ ጠርገው ይያዙ።"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ገባኝ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"የተደራሽነት አዝራር ቅንብሮች"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"የአዝራር ቅንብሮች"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"የ<xliff:g id="SERVICE">%1$s</xliff:g> አቋራጭ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"የተደራሽነት አዝራር"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"የተደራሽነት እጅ ምልክት"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"የድምፅ አዝራሮችን ይያዙ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"የድምጽ አዝራሮችን ይያዙ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ሁለቱንም የድምፅ ቁልፎች ተጭነው ይያዙ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ማያ ገጽን በሁለት ጣት ሁለቴ መታ ያድርጉ"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ማያ ገጽን በሁለት ጣት ሁለቴ መታ ያድርጉ"</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="6863958573135995927">"ማያ ገጽን ሦስቴ መታ ያድርጉ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ማያ ገጹን በፍጥነት {0,number,integer} ጊዜዎችን መታ ያድርጉ። ይህ አቋራጭ መሣሪያዎን ሊያንቀራፍፈው ይችላል።"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ስለተደራሽነት አዝራር እና ምልክት የበለጠ ይወቁ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"የተደራሽነት አዝራርን መጠቀም። የእጅ ምልክቱ በባለ3-አዝራር ዳሰሳ አይገኝም።"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"የተደራሽነት ባህሪያትን በፍጥነት ይድረሱባቸው"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ለመጀመር"</b>\n"1. ወደ የተደራሽነት ቅንብሮች ይሂዱ\n2. ባህሪ ይምረጡ እና አቋራጩን መታ ያድርጉ\n3. ባህሪውን ለመድረስ አዝራር ወይም የእጅ ምልክት መጠቀም ይፈልጉ እንደሆነ ይምረጡ"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ለመጀመር"</b>\n"1. ወደ የተደራሽነት ቅንብሮች ይሂዱ\n2. ባህሪ ይምረጡ እና አቋራጩን መታ ያድርጉ\n3. ባህሪውን ለመድረስ አዝራሩን ይምረጡ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;ለመጀመር&lt;/b&gt;&lt;br/&gt; {0፣ቁጥር፣ኢንቲጀር}። ወደ የተደራሽነት ቅንብሮች&lt;br/&gt; {1፣ቁጥር፣ኢንቲጀር} ይሂዱ። ባህሪን ይምረጡ እና አቋራጩን&lt;br/&gt; {2፣ቁጥር፣ኢንቲጀር} መታ ያድርጉ። ባህሪውን ለመድረስ አዝራርን ወይም ምልክትን ለመጠቀም ይፈልጉ እንደሆነ ይምረጡ&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;ለመጀመር&lt;/b&gt;&lt;br/&gt; {0፣ቁጥር፣ኢንቲጀር}። ወደ የተደራሽነት ቅንብሮች&lt;br/&gt; {1፣ቁጥር፣ኢንቲጀር} ይሂዱ። ባህሪን ይምረጡ እና አቋራጩን&lt;br/&gt; {2፣ቁጥር፣ኢንቲጀር} መታ ያድርጉ። ባህሪውን ለመድረስ አዝራሩን ይምረጡ&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"አዝራርን ወይም የእጅ ምልክትን ይጠቀሙ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"አካባቢ"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"መጠን"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"የኃይል አዘራር ጥሪውን ይዘገዋል"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ትልቅ የመዳፊት ጠቋሚ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"የመዳፊት ጠቋሚው ይበልጥ እንዲታይ ያድርጉ"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"ሁሉም መተግበሪያዎች ጠቆር ያሉ እንዲሆኑ ያድርጉ"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"የራሳቸው ጠቆር ያለ ገጽታ በሌላቸው መተግበሪያዎች ላይ ተፈጻሚ ይሆናል። አንዳንድ መተግበሪያዎች እንደ የተገለበጡ ቀለማት ያሉ የማሳያ ችግሮች ሊኖሯቸው ይችላል።"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"እነማዎችን ያስወግዱ"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"በማያ ገጹ ላይ ያለውን እንቅስቃሴ ቀንስ"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ሞኖ ኦዲዮ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ንዝረት እና ረቂቅ ንዝረትን ይጠቀሙ"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"የማንቂያ ንዝረት"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"የሚዲያ ንዝረት"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"የቁልፍ ሰሌዳ ንዝረት"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"የጥሪ ንዝረት"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"የማሳወቂያ ንዝረት"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"የንክኪ ግብረመልስ"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"አቁም"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ተወው"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> ይቁም?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> መታ ማድረግ <xliff:g id="SERVICE">%2$s</xliff:g> ን ያስቆመዋል።"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"አጥፋ"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"አቆይ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ይጥፋ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"ምንም አገልግሎቶች አልተጫኑም"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ምንም አገልግሎት አልተመረጠም"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"ምንም መግለጫ አልቀረበም።"</string>
     <string name="settings_button" msgid="2195468788019730377">"ቅንብሮች"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"የብርሃን ስሜታዊነት፣ የፎቶፊብያ፣ ጠቆር ያለ ገጽታ፣ ማይግሬን፣ ራስ ምታት፣ የንባብ ሁነታ፣ የማታ ሁነታ፣ ብሩህነትን ይቀንሱ፣ ነጭ ነጥብ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"የአጠቃቀም ቀላልነት፣ የመዳረሻ ቀላልነት፣ እርዳታ፣ ረዳት"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ዕይታ፣ መስማት፣ ዓይነ ስውር፣ መስማት የተሳነው፣ ሞተር፣ ቅልጥፍና፣ ረዳት፣ ዕርዳታ፣ የአጠቃቀም ቀላልነት፣ የመድረስ ቀላልነት፣ እጅ፣ እገዛ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"የመስኮት ማጉያ፣ ኣጕላ፣ ማጉላት፣ ዝቅተኛ-ዕይታ፣ ማተለቅ፣ ያተልቁ"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"የመግለጫ ጽሑፎች፣ ዝግ መግለጫ ጽሑፎች፣ ካርቦን ቅጂ (ካቅ)፣ የቀጥታ ጽሁፍ ግልባጭ፣ የመስማት ችግር፣ መስማት አለመቻል፣ ተሳቢ፣ ከንግግር- ወደ-ጽሁፍ፣ የግርጌ ጽሑፎች"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"የቀለም ንጽጽር"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ሞተር፣ መዳፊት"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"የመስሚያ አጋዥ መሣሪያዎች፣ የመስማት ችግር፣ የመስማት ችሎታን ማጣት፣ ኮክሌር ተከላዎች፣ የማጉያ መሣሪያዎች፣ የድምፅ ማቀናበሪያዎች"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ሞተር፣ መዳፊት፣ ውጪያዊ መዳፊት፣ ዋና መዳፊት፣ የሚለምድ መዳፊት፣ ተሽከርካሪ ወንበር፣ ጆይስቲክ"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"የመስሚያ አጋዥ መሣሪያዎች፣ የመስማት ችግር፣ የመስማት ችሎታን ማጣት፣ ኮክሌር ተከላዎች፣ የማጉያ መሣሪያዎች፣ የድምፅ ማቀናበሪያዎች፣ ፒኤስኤፒ"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"የመስማት ችግር፣ መስማት አለመቻል፣ መግለጫ ጽሑፎች፣ TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ሦስት አዝራሮች"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ቅልጥፍና፣ ሞተር፣ አዛውንት፣ አርትራይተስ፣ አርኤስአይ፣ ስትሮክ፣ መንቀጥቀጥ፣ መልቲፕል ስክሌሮሲስ፣ ሰረብራክል ፓልሲ፣ መንቀጥቀጥ፣ ተደጋጋሚ የጫና ጉዳት፣ እጅ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"መዘግየት፣ ቅልጥፍና፣ የበላይ"</string>
     <string name="print_settings" msgid="8519810615863882491">"ማተም"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ጠፍቷል"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 የህትመት አገልግሎት በርቷል}one{# የህትመት አገልግሎት በርቷል}other{# የህትመት አገልግሎቶች በርተዋል}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ይቀራል"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"ለመሙላት <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> ይቀረዋል"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"የማያ ገፅ ጊዜ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"የዳራ ጊዜ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ዝቅተኛ ባትሪ"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"መተግበሪያው በበስተጀርባ እንዲሄድ ይፍቀዱለት።"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"የጀርባ እንቅስቃሴ ይገደብ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"የአንድ መተግበሪያ የጀርባ እንቅስቃሴን ከገደቡ ያልተገባ ባህሪ ሊያሳይ ይችላል"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ይህ መተግበሪያ ባትሪን ለማላቅ አልተቀናበረም፣ ሊገድቡት አይችሉም።\n\nመተግበሪያውን ለመገደብ፣ የባትሪ ማላቅን በመጀመሪያ ያብሩ።"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"የባትሪ አጠቃቀምን ያስተዳድሩ"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"የዳራ አጠቃቀምን ይፍቀዱ"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ለእውነተኛ ጊዜ ዝማኔዎች ያንቁ፣ ባትሪን ለመቆጠብ ያሰናክሉ"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ያልተገደበ"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"እንዲተባ ተደርጓል"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ተገድቧል"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ከፍተኛ አጠቃቀም ያላቸውን መተግበሪያዎች ይመልከቱ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ባትሪዎን ለመጠበቅ ኃይል መሙላት እንዲተባ ተደርጓል"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"የባትሪዎን ዕድሜ ዘመን ለማራዘም እንዲያግዝ ኃይል መሙላት እንዲተባ ተደርጓል"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ባትሪዎን ለመጠበቅ ኃይል መሙላት እንዲተባ ተደርጓል"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"የባትሪዎን ዕድሜ ለማራዘም እንዲያግዝ ኃይል መሙላት ተሰክቶ እያለ እንዲተባ ተደርጓል"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ባትሪዎን ለመጠበቅ ኃይል መሙላት እንዲተባ ተደርጓል"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"የባትሪዎን ዕድሜ ለማራዘም እንዲያግዝ ኃይል መሙላት ተሰክቶ እያለ እንዲተባ ተደርጓል"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"እስኪሞላ ደረስ ኃይል መሙላት"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ባትሪዎን ለመጠበቅ የእርስዎ ጡባዊ በሚተከልበት በቀጣዩ ጊዜ ላይ ኃይል መሙላት እንዲተባ ይደረጋል"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ስለኃይል መሙላት ባለበት ቆሟል የበለጠ ይወቁ"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ኃይል መሙላትን ከቆመበት ቀጥል"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ከፍተኛ ኃይል ያለው የበስተጀርባ እንቅስቃሴን ያካትታል"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ይህ መተግበሪያ በበስተጀርባ ባትሪን መጠቀም ይችላል። ባትሪዎ ከተጠበቀው ጊዜ ቀድሞ ሊያልቅ ይችላል።"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"አስወግድ"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ይቅር"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"እስኪሞላ ኃይል ሙላ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ተለዋዋጭን ኃይል በመሙላት ላይ ችግር"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"የኃይል መሙላት መለዋወጫን ይፈትሹ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ስለ ተኳዃኝ ያልሆነ ኃይል መሙላት የበለጠ ይወቁ"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"የባትሪ አስተዳዳሪ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"መተግበሪያዎችን በራስ-ሰር ያቀናብሩ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ከመጨረሻው ሙሉ የኃይል ሙሌት በኋላ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"የሥርዓት መተግበሪያዎች"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"የተራገፉ መተግበሪያዎች"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ሌሎች"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"የተገመተው ቀሪ ጊዜ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"ኃይሉ ሙሉ እስኪሞላ ድረስ"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"ጠቅላላ፦ ከአንድ ደቂቃ በታች"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ዳራ፦ ከአንድ ደቂቃ በታች"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"የማያ ገፅ ጊዜ፦ ከአንድ ደቂቃ ያነሰ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ከአንድ ደቂቃ ያነሰ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"ጠቅላላ፦ <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ዳራ፦ <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"የማያ ገፅ ጊዜ፦ <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"አሁን"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g><xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g><xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"የባትሪ አጠቃቀም ገበታ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ዕለታዊ የባትሪ አጠቃቀም ገበታ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ሰዓታዊ የባትሪ አጠቃቀም ገበታ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"የባትሪ ደረጃ መቶኛ ከ<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> እስከ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ከመጨረሻው ሙሉ የኃይል ሙሌት በኋላ ያለው የባትሪ አጠቃቀም"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"ለ<xliff:g id="SLOT">%s</xliff:g> የባትሪ አጠቃቀም"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"ሙሉ ኃይል ከተሞላበት የመጨረሻው ጊዜ ጀምሮ የማያ ገፅ ጊዜ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"የድንገተኛ አደጋ መወደያ ሲግናል"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"የአደጋጊዜ ጥሪ ሲደረግ ባህሪ አዘጋጅ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ምትኬ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"በርቷል"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ጠፍቷል"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ምትኬ &amp; እነበረበት መልስ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"የግል ውሂብ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ውሂቤን መጠባበቂያ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"የተንቀሳቃሽ ስልክ ውሂብ እና Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"የግል ውሂብ ራስ-አመሳስል"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"የስራ ውሂብ ራስ-አመሳስል"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"የግል ውሂብን በራስ-ሰር አስምር"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ዑደት ለውጥ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"የውሂብ አጠቃቀም ዑደትን ዳግም ለማስጀመር ከወር ውስጥ፡ ቀን"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"በዚህ ጊዜ ውስጥ ምንም መተግበሪያዎች ውሂብ ጥቅም ላይ አልዋሉም።"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ስም"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ዓይነት"</string>
     <string name="vpn_server" msgid="2908816134941973935">"የአገልጋይ አድራሻ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"የPPP ምስጠራ(MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ሚስጥር"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"የIPSec መለያ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec  ቀድሞ- የተጋራቁልፍ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"የIPSec ተጠቃሚ ዕውቅና ማረጋገጫ"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"የIPSec CA ዕውቅና ማረጋገጫ"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"የIPSec አገልጋይ ዕውቅና ማረጋገጫ"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"የላቁ አማራጮችን አሳይ"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"የDNS ፍለጋ ጎራዎች"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"የDNS አገልጋዮች (ምሳሌ 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ማስተላለፊያ መንገድ (ምሳሌ፡ 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"የተጠቃሚ ስም"</string>
     <string name="vpn_password" msgid="1183746907642628127">"የይለፍ ቃል"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"የመለያ መረጃ አስቀምጥ"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(አላገለገለም)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(አገልጋይ አታረጋግጥ)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ከአገልጋይ የደረሰ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ይህ የቪፒኤን ዓይነት ሁልጊዜ እንደተገናኘ መቆየት አይችልም"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ሁልጊዜ የሚበራ ቪፒኤን ቁጥራዊ የአገልጋይ አድራሻዎችን ብቻ ነው የሚደግፈው"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"አንድ የዲኤንኤስ አገልጋይ ሁልጊዜ ለሚበራ ቪፒኤን መገለጽ አለበት"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"የዲኤንኤስ አገልጋይ አድራሻዎች ሁልጊዜ ለሚበራ ቪፒኤን ቁጥራዊ መሆን አለባቸው"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"የገባው መረጃ ሁልጊዜ የሚበራ ቪፒኤንን አይደግፍም"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ይቅር"</string>
     <string name="vpn_done" msgid="5137858784289564985">"አሰናብት"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"ቪፒኤን የሌላቸው ግንኙነቶችን አግድ"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"የVPN ግንኙነት ይጠይቅ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ደህንነቱ አልተጠበቀም። ወደ IKEv2 VPN ያዘምኑ"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ያልተደገፈ VPNን ማስጀመር አልተሳካም።"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ሁልጊዜ እንደተገናኙ የሚቆዩበት የVPN መገለጫ ይምረጡ። ከዚህ VPN ጋር ሲገናኝ ብቻ ነው የአውታረ መረብ ትራፊክ የሚፈቀደው።"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ምንም"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ሁልጊዜ የበራ VPN ለአገልጋይም ለDNSም የአይ.ፒ. አድራሻ ያስፈልገዋል።"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"የAMBER ማንቂያዎች"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"የልጅ ጠለፋዎች ማስታወቂያዎችን ይቀበሉ"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ድገም"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"የጥሪ አቀናባሪን ያንቁ"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"ይህ አገልግሎት እንዴት ጥሪዎችዎ እንደሚደረጉ እንዲያቀናብር ይፍቀዱለት።"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"የጥሪ አቀናባሪ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ገመድ-አልባ የድንገተኛ አደጋ ማንቂያዎች"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"የአውታረ መረብ ትእምርተ ከዋኝ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"የመዳረሻ ነጥብ ስሞች"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"የSIM ሁኔታ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"የሲም ሁኔታ (የሲም ማስገቢያ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> ል.ም/በደ. <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"ሲሞች ተቀይረዋል።"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"ሲሞችዎ ተቀይረዋል"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ለማዋቀር ነካ ያድርጉ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ሁልጊዜ ጠይቅ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"መምረጥ ይጠየቃል"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"የቅርብ ጊዜ መተግበሪያዎች፣ ነባሪ መተግበሪያዎች"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"የማሳወቂያ መዳረሻ በስራ መገለጫ ውስጥ ላሉ መተግበሪያዎች አይገኝም።"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"የይለፍ ቃላት መለያዎች"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"የተቀመጡ የይለፍ ቃላት፣ ራስ-ሙላ፣ የተመሳሰሉ መለያዎች"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"የመግባት እና &amp; ራስ-ሙላ ጥቆማዎች"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ነባሪ መተግበሪያዎች"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"የተባዙ መተግበሪያዎች"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ሁለት መለያዎችን በአንድ ጊዜ መጠቀም እንዲችሉ የአንድ መተግበሪያ ሁለተኛ አብነት ይፍጠሩ።"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ይክፈሉ፣ መታ ያድርጉ፣ ክፍያዎች"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ምትኬ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"የጣት ምልክት"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"በመልክ ፣ መክፈት፣ ፈቀዳ፣ በመለያ መግቢያ"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"መልክ፣ ይክፈቱ፣ ፈቃድ፣ በመለያ ይግቡ፣ የጣት አሻራ፣ ባዮሜትሪክ"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei፣ meid፣ ደቂቃ፣ prl ስሪት፣ imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"የጽሁፍ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሁፍ፣ ዝቅተኛ-ዕይታ፣ ጽሁፍን ያተልቁ መጠን፣ ትልቅ ህትመት፣ ትልቅ ቅርጸ-ቁምፊ፣ ትልቅ ጽሁፍ፣ ዝቅተኛ-ዕይታ፣ ጽሁፍን ያተልቁ፣ ቅርጸ-ቁምፊ ማተለቂያ፣ ቅርጸ-ቁምፊ ማተለቅ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ሁልጊዜ የበራ የድባብ ማሳያ፣ AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"የኤንኤፍሲ፣ መለያ፣ አንባቢ"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"የቁልፍ ሰሌዳ፣ ረቂቅ ንዝረት፣ ንዝረት፣"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ድምፅ፣ ንዝረት፣ አትረብሽ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"የማህደረመረጃ ክፍልፍል"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ድምፅን Cast አድርግ"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ድምፆችን ያብሩ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"የቀጥታ ስርጭት መግለጫ ጽሁፍ"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ራስሰር የሥዕል መግለጫ ጽሑፍን ሚዲያ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"የስልክ ድምፅ ማውጫዎች"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"የጡባዊ ድምፅ ማውጫዎች"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"የመሣሪያ ድምፅ ማውጫዎች"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ባለገመድ የጆሮ ማዳመጫ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"ከተኳኋኝ ሚዲያ የሚመጣ ኦዲዩ ይበልጥ መሳጭ ይሆናል"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"አጥፋ"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ሁሉንም የማሳወቂያ ይዘቶችን አሳይ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"በሚከፈትበት ጊዜ ብቻ አደጋን ሊያስከትል የሚችል ይዘትን አሳይ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"በጭራሽ ማሳወቂያዎችን አታሳይ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ማያ ገፅ መቆለፊያ እንዴት እንዲያሳይ ይፈልጋሉ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"የማያ ገጽ ቁልፍዎ ላይ ምን እንዲታይ ይፈልጋሉ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ማያ ገፅ ቁልፍ"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ሚስጥራዊነት ያለው የስራ ማሳወቂያ ይዘት አሳይ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"አደጋ ሊያስከትል የሚችል የሥራ ይዘትን ደብቅ"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"የቅርብ ጊዜ ውይይቶች ተወግደዋል"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"ውይይት ተወግዷል"</string>
     <string name="clear" msgid="5092178335409471100">"አጽዳ"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"አጽዳ <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ቅድሚያ ተሰጪ እና የተሻሻሉ ውይይቶች እዚህ ላይ ብቅ ይላሉ"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"አንድን ውይይት እንደ ቅድሚያ ተሰጪ አንድ ጊዜ ምልክት ካደረጉበት ወይም በውይይቶች ላይ ማናቸውንም ሌሎች ለውጦች ካደረጉ በኋላ እዚህ ላይ ብቅ ይላሉ። \n\nየእርስዎን ውይይት ቅንብሮች ለመለወጥ፦ \nወደ ታች ተጎታች መጋረጃን ለመክፈት ከማያ ገጹ አናት ላይ ወደ ታች በጣት ጠረግ ያድርጉ፣ በመቀጠል ውይይትን ነካ ያድርጉ እና ይያዙ።"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"አሳንስ"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"የማሳወቂያ ረጋ ማለት"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ለሁሉም ማሳወቂያዎች ረጋ ማለትን ይተግብሩ"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ከተመሳሳይ መተግበሪያ በርካታ ተከታታይ ማሳወቂያዎችን ሲያገኙ የማሳወቂያ መጠኑን በጊዜ ሂደት ይቀንሱ"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ለውይይቶች ረጋ ማለትን ይተግበሩ"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ከተመሳሳይ ውይይት በአጭር ጊዜ ውስጥ በርካታ መልዕክቶችን ሲያገኙ የማሳወቂያ መጠኑን በቀስታ ይቀንሱ"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"የማሳወቂያ ረጋ ማለትን አይጠቀሙ"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ከተመሳሳይ መተግበሪያ የሚመጡ ተከታታይ ማሳወቂያዎች መጠን ምንም ቢሆን በጭራሽ የማሳወቂያ መጠንን አይቀንሱ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ሲከፈት ንዝረት ይኑረው"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"የማያ ገፅ ሲከፈት ብቻ ንዝረት ይኑረው"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"የሥራ መገለጫዎች ላይ ይተግብሩ"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"የማሳወቂያ ረጋ ማለት ቅንብሮቹን ከግል መገለጫዎ ወደ የሥራ መገለጫዎ ይተግብሩ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"የምናባዊ ዕውነታ አጋዥ አገልግሎቶች"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ምንም የተጫኑ መተግበሪያዎች እንደ የምናባዊ ዕውነታ አጋዥ አገልግሎቶች ሆነው እንዲሄዱ አልጠየቁም።"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"ለ<xliff:g id="SERVICE">%1$s</xliff:g> የምናባዊ ዕውነታ መዳረሻ ይፈቀድለት?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"አጥፋ"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"መተግበሪያን መሰካት"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"መተግበሪያን መሰካት የአሁኑን መተግብሪያ እስኪነቅሉት ድረስ በዕይታ ውስጥ እንዲቆይ እንዲያደርጉት ያስችልዎታል። ይህ ባህሪ ለምሳሌ አንድ የታመነ ጓደኛ አንድ የተወሰነ ጨዋታን እንዲጫወት ያስችላል።"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"አንድ መተግበሪያ ሲሰካ, የተሰካው መተግበሪያ ሌሎች መተግበሪያዎችን ሊከፍት ይችላል እና በዚህም የግል ውሂብ ተደራሽ ሊሆን ይችላል። \n\nመተግበሪያን መሰካትን ለመጠቀም፦ 	\n1. መተግበሪያ መሰካትን ያብሩ 	\n2. አጠቃላይ ዕይታን ይክፈቱ 	\n3. በማያ ገጹ አናት ላይ የመተግበሪያ አዶውን መታ ያድርጉ፣ ከዚያ ሰካን መታ ያድርጉ"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"አንድ መተግበሪያ ሲሰካ, የተሰካው መተግበሪያ ሌሎች መተግበሪያዎችን ሊከፍት ይችላል እና በዚህም የግል ውሂብ ተደራሽ ሊሆን ይችላል። \n\nመሣሪያዎን ደህንነቱ በተጠበቀ ሁኔታ ለሆነ ሰው ማጋራት ከፈለጉ፣ በምትኩ እንግዳ ተጠቃሚን ለመጠቀም ይሞክሩ። \n\nመተግበሪያን መሰካትን ለመጠቀም፦ 	\n1. መተግበሪያ መሰካትን ያብሩ \n2. አጠቃላይ እይታን ይክፈቱ 	\n3. በማያ ገጹ አናት ላይ የመተግበሪያ አዶውን መታ ያድርጉ፣ ከዚያ ሰካን መታ ያድርጉ"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"አንድ መተግበሪያ ሲሰካ የተሰካው መተግበሪያ ሌሎች መተግበሪያዎችን ሊከፍት ይችላል እና በዚህም የግል ውሂብ ተደራሽ ሊሆን ይችላል። \n\nየመተግበሪያን መሰካት ለመጠቀም፦ 	\n{0፣ቁጥር፣ኢንቲጀር}። የመተግበሪያን መሰካት ያብሩ 	\n{1፣ቁጥር፣ኢንቲጀር}። አጠቃላይ እይታን ይክፈቱ 	\n{2፣ቁጥር፣ኢንቲጀር}። በማያ ገጹ አናት ላይ የመተግበሪያ አዶውን መታ ያድርጉ፣ ከዚያም ሰካን መታ ያድርጉ"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"አንድ መተግበሪያ ሲሰካ የተሰካው መተግበሪያ ሌሎች መተግበሪያዎችን ሊከፍት ይችላል እና በዚህም የግል ውሂብ ተደራሽ ሊሆን ይችላል። \n\nመሣሪያዎን ደህንነቱ በተጠበቀ ሁኔታ ለሆነ ሰው ማጋራት ከፈለጉ በምትኩ የእንግዳ ተጠቃሚን ለመጠቀም ይሞክሩ። \n\nየመተግበሪያን መሰካት ለመጠቀም 	\n{0፣ቁጥር፣ኢንቲጀር}። የመተግበሪያን መሰካት ያብሩ 	\n{1፣ቁጥር፣ኢንቲጀር}። አጠቃላይ እይታን ይክፈቱ 	\n{2፣ቁጥር፣ኢንቲጀር}። በማያ ገጹ አናት ላይ የመተግበሪያ አዶውን መታ ያድርጉ፣ ከዚያም ሰካን መታ ያድርጉ"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"መተግበሪያ ሲሰካ፦ \n\n• የግል ውሂብ ተደራሽ ሊሆን ይችላል \n (እንደ እውቂያዎች እና የኢሜይል ይዘት ያለ) \n•	የተሰካ መተግበሪያ ሌሎች መተግበሪያዎችን ሊከፍት ይችላል \n\nመተግበሪያ መሰካትን ከሚያምኗቸው ሰዎች ጋር ብቻ ይጠቀሙ።"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ከመንቀል በፊት የማስከፈቻ ስርዓተ-ጥለት ጠይቅ"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ከመንቀል በፊት ፒን ጠይቅ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ከመንቀል በፊት የይለፍ ቃል ጠይቅ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ሲነቀል መሣሪያ ቆልፍ"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"የሲም ስረዛን ያረጋግጡ"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ኢሲምዎን መሰረዝ እንደሚፈልጉ ያረጋግጡ"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"አንድ ኢሲምን ከመደምሰስዎ በፊት እርስዎ መሆንዎን ያረጋግጡ"</string>
     <string name="memtag_title" msgid="5096176296797727201">"የላቀ የማህደረ ትውስታ ጥበቃ ቅድመ ይሁንታ"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"የላቀ የማህደረ ትውስታ ጥበቃ"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ሥራ ላይ ያልዋሉ የመተግበሪያ ቅንብሮች"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"የመተግበሪያ እንቅስቃሴ ሥራ ላይ ካልዋለ ባለበት አቁም"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ፈቃዶችን አስወግድ፣ ጊዜያዊ ፋይሎችን ሰርዝ እና ማሳወቂያዎችን አቁም"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ጥቅም ላይ ካልዋለ መተግበሪያን ያስተዳድሩ"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ፈቃዶችን ያስወግዱ፣ ጊዜያዊ ፋይሎችን ይሰርዙ፣ ማሳወቂያዎችን ያቁሙ እና መተግበሪያውን በማህደር ያስቀምጡ"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ሁሉም መተግበሪያዎች"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"የተጫኑ መተግበሪያዎች"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ቅጽበታዊ መተግበሪያዎች"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ነፃ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"በመተግበሪያዎች ጥቅም ላይ የዋለ ማህደረ ትውስታ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 መተግበሪያ ባለፉት {time} ውስጥ ማህደረ ትውስታን ተጠቅሟል}one{# መተግበሪያ ባለፉት {time} ውስጥ ማህደረ ትውስታን ተጠቅሟል}other{# መተግበሪያዎች ባለፉት {time} ውስጥ ማህደረ ትውስታን ተጠቅመዋል}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"የማህደረ ትውስታ አጠቃቀም መገለጫን ምዘና ያንቁ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"የማህደረ ትውስታ አጠቃቀም መገለጫን ምዘና ተጨማሪ የሥርዓት ንብረቶችን ይጠይቃል።"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"የማህደረ ትውስታ አጠቃቀም መገለጫን ምዘና ተሰናክሏል"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ድግግሞሽ"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"ከፍተኛ አጠቃቀም"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"ምንም ውሂብ ጥቅም ላይ አልዋለም"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"በሌሎች መተግበሪያዎች ላይ አሳይ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"በሌሎች መተግበሪያዎች ላይ ማሳየትን ፍቀድ"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ይህን መተግበሪያ እየተጠቀሙ ባሉ ሌሎች መተግበሪያዎች ላይ እንዲያሳይ ይፍቀዱለት። ይህ መተግበሪያ የት መታ እንደሚያደርጉ ማየት ወይም በማያ ገፅ ላይ የሚታየውን ነገር መቀየር ይችላል።"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"የሚዲያ ውጤትን ይቀይሩ"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"መተግበሪያ የሚዲያ ውጤትን እንዲቀይር ይፍቀዱለት"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"ይህ መተግበሪያ የትኛው የተገናኘ መሣሪያ ከሌሎች መተግበሪያዎች ላይ ኦዲዮን ወይም ቪዲዮን እንደሚጫወት እንዲመርጥ ይፍቀዱለት። ከተፈቀደ፣ ይህ መተግበሪያ እንደ የራስ ላይ ማዳመጫዎች እና ድምጽ ማውጫዎች ያሉ የሚገኙትን መሣሪያዎች ዝርዝር መድረስ እና የትኛውን የውጽዓት መሣሪያ ኦዲዮን ወይም ቪዲዮን ለመልቀቅ ወይም cast ለማድረግ ጥቅም ላይ እንደሚውል መምረጥ ይችላል።"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"የሁሉም ፋይሎች መዳረሻ"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ሁሉንም ፋይሎች ለማስተዳደር መዳረሻ ፍቀድ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ይህ መተግበሪያ በዚህ መሣሪያ ላይ ወይም በማናቸውም የተገናኙ የማከማቻ መጠኖች ላይ ሁሉንም ፋይሎች እንዲያነብ፣ እንዲያሻሽል እና እንዲሰርዝ ይፍቀዱ። ፈቃድ ከተሰጠ፣ መተግበሪያ ያለ የእርስዎ ግልፅ የሆነ ዕውቀት ፋይሎችን መድረስ ይችላል።"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"ሁሉንም ፋይሎች መድረስ ይችላል"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ድምፅ ገቢር ማድረጊያ መተግበሪያዎች"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ድምፅ ገቢር ማድረግን ፍቀድ"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"የድምጽ ማግበር የጸደቁ መተግበሪያዎችን፣ ከእጅ ነጻ፣ የድምጽ ትዕዛዝን በመጠቀም ያበራል። አብሮገነብ የሚለምደዉ ዳሰሳ ውሂብ ለእርስዎ ብቻ ሚስጥራዊ ሆኖ እንደሚቆይ ያረጋግጣል።\n\n"<a href="">" ስለተጠበቀ የማስማማት ዳሳሽ ተጨማሪ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"የሙሉ ገጽ ዕይታ ማሳወቂያዎች"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ከዚህ መተግበሪያ የሙሉ ገጽ ዕይታ ማሳወቂያዎችን ይፍቀዱ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ይህ መተግበሪያ መሣሪያው በሚቆለፍበት ጊዜ ሙሉ ገጽ ዕይታውን የሚይዙ ማሳወቂያዎችን እንዲያሳይ ይፍቀዱለት። መተግበሪያዎች ማንቂያዎችን፣ ገቢ ጥሪዎችን ወይም ሌሎች አስቸኳይ ማሳወቂያዎችን ለማድመቅ እነዚህን ሊጠቀሙ ይችላሉ።"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"የ<xliff:g id="ID_1">^1</xliff:g> ውሂብ ማስጠንቀቂያ"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"የ<xliff:g id="ID_1">^1</xliff:g> ውሂብ ገደብ"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"የ<xliff:g id="ID_1">^1</xliff:g> ውሂብ ማስጠንቀቂያ / የ<xliff:g id="ID_2">^2</xliff:g> ውሂብ ገደብ"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"የአገልግሎት አቅራቢ ውሂብ የሂሳብ አከፋፈል ከመሳሪያ የሂሳብ አከፋፈል የተለየ ሊሆን ይችላል"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"የአገልግሎት አቅራቢ አውታረ መረቦች የሚጠቀሙበትን ውሂብ አያካትትም"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ጥቅም ላይ ውሏል"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"የውሂብ ማስጠንቀቂያ አዘጋጅ"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"ከ<xliff:g id="ID_1">^2</xliff:g> በፊት ተዘምኗል"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"አሁን በ<xliff:g id="ID_1">^1</xliff:g> ተዘምኗል"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"አሁን ተዘምኗል"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ዕቅድን ይመልከቱ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"ዝርዝሮችን አሳይ"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ውሂብ ቆጣቢ"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ያልተገደበ ውሂብ"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ዳራው ውስጥ ሳለ ከተለመደው ተጨማሪ ባትሪ ተጠቅሟል"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> የፊት ገፁ ውስጥ ሳለ ተጨማሪ ባትሪ ተጠቅሟል"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> የፊት ገፁ ውስጥ ሳለ ከተለመደው ተጨማሪ ባትሪ ተጠቅሟል"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ያልተለመደ የባትሪ አጠቃቀም"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ከፍተኛ የባትሪ አጠቃቀም"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"በዳራ ውስጥ ያለ ከፍተኛ የባትሪ አጠቃቀም"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"በፊት ገፁ ውስጥ ያለ ከፍተኛ የባትሪ አጠቃቀም"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"የፈጣን ቅንብሮች ገንቢ ሰድሮች"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"የ adb ፈቃድ ጊዜ ማብቂያን አሰናክል"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"በነባሪው (7 ቀናት) ወይም በተጠቃሚ የተዋቀረ (ቢያንስ 1 ቀን) ጊዜ ውስጥ ዳግም ያልተገናኙ ሥርዓቶች የ adb ፈቃዶችን ራስ-ሰር መሻሪያን ያሰናክሉ።"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope መከታተያ"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ዳሳሾች ጠፍተዋል"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"የስራ መገለጫ ቅንብሮች"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"በግል መተግበሪያዎች ውስጥ የስራ ማውጫ እውቂያዎችን ይፈልጉ"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"የሥርዓት ዳሰሳ፣ 2 አዝራር ዳሰሳ፣ 3 አዝራር ዳሰሳ፣ የእጅ ውዝውዜ ዳሰሳ፣ በጣት ጠረግ ማድረግ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ዲጂታል ረዳት"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ረዳትን ለመጥራት ያንሸራትቱ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"የዲጂታል ረዳት መተግበሪያን ለመጥራት ከግርጌው ጥግ ጀምረው ወደ ላይ ያንሸራትቱ።"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ዲጂታል ረዳት መተግበሪያን ለመጥራት ከታች ጥግ ወደ ላይ ያንሸራትቱ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ረዳትን ለማግኘት መነሻን ይያዙ"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"የዲጂታል ረዳት መተግበሪያን ለመጥራት የመነሻ አዝራሩን ተጭነው ይያዙ።"</string>
     <string name="low_label" msgid="6525629096999711220">"ዝቅተኛ"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"የራስ-ሙላ አገልግሎት"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ነባሪ የራስ-ሙላ አገልግሎት"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"የይለፍ ቃላት"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ተጨማሪ አቅራቢዎች"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ተመራጭ አገልግሎት"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"ተጨማሪ አገልግሎቶች"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# የይለፍ ቃል}one{# የይለፍ ቃል}other{# የይለፍ ቃሎች}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ራስ-ሰር፣ ሙላ፣ ራስ-ሙላ፣ የይለፍ ቃል"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ውሂብ፣ የይለፍ ቁልፍ፣ የይለፍ ቃል"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ራስ ሰር፣ ሙላ፣ ውሂብ፣ የይለፍ ቁልፍ፣ የይለፍ ቃል"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ለውጥ"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ክፈት"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ምንም አልተመረጠም"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ይህን መተግበሪያ የሚያምኑት መሆንዎን ያረጋግጡ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google ራስ-ሙላ&gt;%1$s&lt;/xliff:g&gt; ምን በራስ መሞላት እንደሚችል ለማወቅ በማያ ገጽዎ ላይ ያለውን ነገር ይጠቀማል።"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ምን በራስ መሞላት እንደሚችል ለማወቅ በማያ ገጽዎ ላይ ያለውን ይጠቀማል። ከእንግዲህ አዲስ የይለፍ ቃላት፣ የይለፍ ቁልፎች እና ሌላ መረጃ እዚህ ይቀመጣሉ።"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; አዳዲስ የይለፍ ቃሎች፣ የይለፍ ቁልፎች እና ሌላ መረጃ ከአሁን በኋላ እዚህ ይቀመጣሉ። &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ምን በራስ-ሙላ ሊሆን እንደሚችል ለማወቅ በማያ ገፅዎ ላይ ያለውን ነገር ይጠቀማል።"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"ለይለፍ ቃላት፣ የይለፍ ቁልፎች እና &amp; ራስ-ሙላ ተመራጭ አገልግሎት"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s ይጥፋ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ይህ አገልግሎት ይጥፋ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; እንደ ይለፍ ቃላት፣ ይለፍ ቁልፎች፣ የመክፈያ ዘዴዎች እና ሌሎች መረጃዎች ያለ የተቀመጠ መረጃ በመለያ በሚገቡበት ጊዜ አይሞሉም። የእርስዎን የተቀመጠ መረጃ ለመጠቀም የይለፍ ቃል፣ የይለፍ ቁልፍ ወይም የውሂብ አገልግሎት ይምረጡ።"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"የይለፍ ቃላት፣ የይለፍ ቁልፎች እና &amp; ራስ-ሙላ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ሁሉም አገልግሎቶች ይጥፉ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ሲገቡ የይለፍ ቃሎች፣ የይለፍ ቁልፎች እና ሌላ የተቀመጡ መረጃዎች ለራስ-ሙላ አይገኙም"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;የመረጡትን አገልግሎት ወደዚህ ይለውጡ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; አዲስ የይለፍ ቃሎች፣ የይለፍ ቁልፎች እና ሌሎች መረጃዎች ከአሁን በኋላ እዚህ ይቀመጣሉ። &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ምን በራስ-ሙላ ሊሆን እንደሚችል ለማወቅ በማያ ገፅዎ ላይ ያለውን ነገር ይጠቀማል።"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ጥቅም ላይ ይዋል?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"አጥፋ"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ለውጥ"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"5 የበሩ አገልግሎቶች ብቻ ሊኖሩዎት ይችላል"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ሌላ ለማከል ቢያንስ 1 አገልግሎት ያጥፉ"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ምን በራስ-ሰር እንደሚሞላ ለመወሰን በማያ ገጽዎ ላይ ያለውን ይጠቀማል።"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች ገደብ"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"እስከ 5 የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች በአንድ ጊዜ ማግበር ይችላሉ። ተጨማሪ ለማከል አንድ አገልግሎት ያጥፉ።"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች ገደብ"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"እስከ 5 የይለፍ ቃላት፣ የይለፍ ቁልፎች እና የውሂብ አገልግሎቶች በአንድ ጊዜ ማግበር ይችላሉ። ተጨማሪ ለማከል አንድ አገልግሎት ያጥፉ።"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"አጥፋ"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ራስ-ሙላ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"የምዝግብ ማስታወሻ ደረጃ"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"የመተግበሪያ ተኳኋኝነት ለውጦች ሊታረሙ ለሚችሉ መተግበሪያዎች ብቻ ነው ሊቀየሩ የሚችሉት። ሊታረም የሚችል መተግበሪያን ይጫኑ እና እንደገና ይሞክሩ"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"በሌላ ቅንብር ላይ ይመረኮዛል"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"መለያ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d መለያዎች"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"የመሣሪያ ስም"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"መሠረታዊ መረጃ"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"የሕግ &amp; የቁጥጥር"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"ይህን መተግበሪያ የኤንኤፍሲ መለያ ስም በሚቃኝበት ጊዜ እንዲጀምር ይፍቀዱለት።\nይህ ፈቃድ ከበራ በማንኛውም ጊዜ መለያ ሲገኝ መተግበሪያው እንደ አማራጭ ይገኛል።"</string>
     <string name="media_output_title" msgid="8283629315159510680">"ሚዲያ አጫወት ወደ"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g>ን ያጫውቱ በ"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ኦዲዮ ይጫወታል"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ይህ መሣሪያ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"በጥሪዎች ጊዜ አይገኝም"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ጥሪው ባዶ እጅ ይነሳ"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ድምጸ-ከል አድርግ"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ለማንቃት መጀመሪያ «የማብሪያ/ማጥፊያ ቁልፉን ተጭነው ይያዙ»ን ወደ የኃይል ምናሌው ይለውጡ።"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"የአውታረ መረብ ዝርዝሮች"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"የመሣሪያዎ ስም በእርስዎ ስልክ ላይ ላሉ መተግበሪያዎች ይታያል። እንዲሁም ከብሉቱዝ መሣሪያዎች ጋር ሲገናኙ፣ ከWi-Fi አውታረ መረብ ሲገናኙ ወይም የWi-Fi መገናኛ ነጥብን ሲያቀናብሩ በሌሎች ሰዎች የሚታይ ሊሆን ይችላል።"</string>
     <string name="devices_title" msgid="649715719278562515">"መሣሪያዎች"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"አውታረ መረብ ይምረጡ"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ግንኙነት ተቋርጧል"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ስም"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ቀለም (በተኳኋኝ መተግበሪያዎች ሥራ ላይ የሚውል)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"አስቀምጥ"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ሲም ይጠቀሙ"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ይህን ሲም ይጠቀሙ"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ጠፍቷል"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ይህን ሲም ለማሰናከል፣ የሲም ካርድ ያስወግዱ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> ን ለማግበር መታ ያድርጉ"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ሲምን ደምስስ"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ይህን ሲም ለማጥፋት፣ SIM ካርዱን ያስወግዱ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"የእርስዎን <xliff:g id="CARRIER">%1$s</xliff:g> ሲም ለማግበር መታ ያድርጉ"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ኢሲምን ይደምስሱ"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"የሚመረጠው የአውታረ መረብ ዓይነት"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"የአውታረ መረቡን የክወና ሁነታን ለውጥ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"የሚመረጠው የአውታረ መረብ ዓይነት"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ለዋጋው የአውታረ መረብ አቅራቢዎ ጋር ይመልከቱ።"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"የመተግበሪያ ውሂብ አጠቃቀም"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ልክ ያልሆነ አውታረ መረብ ሁነታ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>። ችላ በል።"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"በሳተላይት መልዕክት መላላክ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ኤስኤምኤሶችን በሳተላይት ይላኩ እና ይቀበሉ። ከመለያዎ ጋር ተካትቷል።"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ኤስኤምኤሶችን በሳተላይት ይላኩ እና ይቀበሉ። ከመለያዎ ጋር አልተካተተም።"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"በሳተላይት መልዕክት መላላክ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"በሳተላይት መልክት ስለመላላክ"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"የብቁ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> መለያ አካል እንደመሆንዎ ኤስኤምኤሶችን በሳተላይት መላክ እና መቀበል ይችላሉ"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"የእርስዎ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> እቅድ"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"በሳተላይት መልዕክት መላላክ ከመለያዎ ጋር ተካትቷል"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"በሳተላይት መልዕክት መላላክ ከመለያዎ ጋር አልተካተተም"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"በሳተላይት መልዕክት መላላክን ያክሉ"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"እንዴት እንደሚሠራ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"የተንቀሳቃሽ ስልክ አውታረ መረብ ሳይኖርዎት ሲቀር"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ስልክዎ ከሳተላይት ጋር በራስ-ሰር ይገናኛል። ለምርጥ ግንኙነት፣ የሰማይ ጥርት ያለ ዕይታ ይኑርዎት።"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"ስልክዎ ከሳተላይት ጋር ከተገናኘ በኋላ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"ድንገተኛ አደጋ አገልግሎቶችን ጨምሮ ለማንም ሰው መላክ ይችላሉ። የተንቀሳቃሽ ስልክ አውታረ መረብ ሲገኝ ከስልክዎ ጋር እንደገና ይገናኛል።"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"በሳተላይት መልዕክት መላላክ ረዘም ያለ ጊዜ ሊወስድ ይችላል እና በአንዳንድ አካባቢዎች ብቻ ይገኛል፣ እንዲሁም የአየር ሁኔታ እና የተወሰኑ አወቃቀሮች በሳተላይት ግንኙነትዎ ላይ ተጽዕኖ ሊያሳድሩ ይችላሉ። በሳተላይት መደወል አይገኝም።\n\nበእርስዎ መለያ ላይ የተደረጉ ለውጦች በቅንብሮች ውስጥ እስኪታዩ ድረስ የተወሰነ ጊዜ ሊወስድ ይችላል። ለዝርዝሮች <xliff:g id="CARRIER_NAME">%1$s</xliff:g> የሚለውን ያነጋግሩ።"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"በሳተላይት መልዕክት ስለመላላክ ተጨማሪ መረጃ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"የመዳረሻ ነጥብ ስም"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"ኤፒኤን"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"ከ<xliff:g id="CARRIER">%1$s</xliff:g> ጋር ሲገናኝ የማይገኝ"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"ወደ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ይቀየር?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ወደ ሲም ካርድ መጠቀም ይቀይሩ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ን ይጠቀሙ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"በአንድ ጊዜ አንድ ሲም ብቻ ነው ገባሪ ሊሆን የሚችለው።\n\nወደ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> መቀየር የ<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> አገልግሎትዎን አይሰርዘውም።"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"በአንድ ጊዜ ገቢር መሆን የሚችለው 1 ኢሲም ብቻ ነው።\n\nወደ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> መቀየር የ<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> አገልግሎትዎን አይሰርዝም።"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"በአንድ ጊዜ አንድ ሲም ብቻ ነው ገቢር ሊሆን የሚችለው።\n\nመቀየር የ<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> አገልግሎትዎን አይሰርዘውም።"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"በአንድ ጊዜ ገቢር መሆን የሚችለው 1 ሲም ብቻ ነው።\n\nወደ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> መቀየር የ<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> አገልግሎትዎን አይሰርዝም።"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"በአንድ ጊዜ ገቢር መሆን የሚችለው 1 ኢሲም ብቻ ነው።\n\nወደ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> መቀየር የ<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> አገልግሎትዎን አይሰርዝም።"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"በአንድ ጊዜ ገቢር መሆን የሚችለው 1 ሲም ብቻ ነው።\n\n መቀየር የ<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> አገልግሎትዎን አይሰርዝም።"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"በአንድ ጊዜ 2 ሲሞችን መጠቀም ይችላሉ። <xliff:g id="CARRIER_NAME">%1$s</xliff:g>ን ለመጠቀም ሌላኛው ሲም ያጥፉ።"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"ወደ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ይቀይሩ"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ን ያጥፉ"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"ሲም ማጥፋት አገልግሎትዎን አይሰርዘውም"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ከአውታረ መረብ ጋር በመገናኘት ላይ…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"ለጥሪዎች እና መልዕክቶች ወደ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> በመቀየር ላይ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"አገልግሎት አቅራቢን መቀየር አልተቻለም"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"በስህተት ምክንያት አገልግሎት አቅራቢው መቀየር አልተቻለም።"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"ሲምዎን ንቁ ያድርጉ"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"ወደ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> በመቀየር ላይ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"ሲሞች መቀየር አይቻልም።"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"የሆነ ችግር ተፈጥሯል። ሲሞች መቀየር አይቻልም።"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ይጥፋ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"ሲም ይጥፋ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ሲምን በማጥፋት ላይ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"አገልግሎት አቅራቢን ማሰናከል አልተቻለም"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"የሆነ ችግር ተፈጥሯል፣ እና የእርስዎ አገልግሎት አቅራቢ ሊሰናከል አልቻለም።"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"ሲም ማጥፋት አይቻልም"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"የሆነ ችግር ተፈጠረ እና ሲምዎን ማጥፋት አልተቻለም።"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 ሲሞች ይጠቀሙ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ይህ መሣሪያ በአንድ ጊዜ 2 ሲሞች ነው ሊኖሩት የሚችሉት። በአንድ ጊዜ 1 ሲም መጠቀሙን ለመቀጠል «አይ፣ አመሰግናለሁ»ን መታ ያድርጉ።"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"መሣሪያ ዳግም ይነሳ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"አይ፣ አመሰግናለሁ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ይቅር"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ማብሪያ/ማጥፊያ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"አጥፋ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ሲምን ማግበር አልተቻለም"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ሲሙን እንደገና ለማብራት ይሞክሩ። ችግሩ ከቀጠለ መሣሪያዎን ዳግም ያስነሱት።"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ሲምዎን ያዋቅሩ"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"በዚህ መሣሪያ ላይ በርካታ ሲሞች እንዲጠቀሙ የተንቀሳቃሽ ስልክ አውታረ መረብዎን ቅንብሮች ያዘጋጁ"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ሲሞችዎን ይሰይሙ"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"እነዚህን ስያሜዎች ጥሪዎችን ሲያደርጉ፣ የጽሑፍ መልዕክቶችን ሲላኩ እና ውሂብ ሲጠቀሙ እና በቅንብሮች ውስጥ ያያሉ"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"የሲም መሰየሚያ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ስያሜ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"የትኞቹን ሲሞች እንደሚጠቀሙ ይምረጡ"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"በአንድ ጊዜ 2 ሲሞችን መጠቀም ይችላሉ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ዋና ሲምዎን ያዘጋጁ"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ለጥሪዎች፣ ጽሑፎች እና ውሂቦች የትኞቹን ሲምዎች በነባሪነት እንደሚጠቀሙ ይምረጡ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"የእርስዎ ዋና ሲሞች"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ጥሪዎች"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ጽሑፎች"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ራስ-ሰር የውሂብ መቀየር"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"በሽፋን እና በተገኝነት ላይ በመመስረት ከሁለቱም የሲም ውሂብ ይጠቀሙ"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ውሂብ-ብቻ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ያዋቅሩ"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ቀጣይ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ን በማብራት ላይ…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"የተንቀሳቃሽ ስልክ አውታረ መረብ"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ስልክ ቁጥር"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"የሲም መሰየሚያ እና ቀለም"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"አውታረ መረብን ማግበር"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"የአገልግሎት አቅራቢን መቀየር"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ገቢር ነው"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"የእርስዎ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ሲም ንቁ ነው"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"የሲም ቅንብሮችን ለማዘመን መታ ያድርጉ"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"ወደ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ተቀይሯል"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"ወደ ሌላ አገልግሎት አቅራቢ ተቀይሯል"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"የእርስዎ የተንቀሳቃሽ ስልክ አውታረ መረብ ተቀይሯል"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"የእርስዎን ሌላ ሲም ያቀናብሩ"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"የእርስዎን ገቢር ሲም ይምረጡ ወይም በአንድ ጊዜ 2 ሲሞችን ይጠቀሙ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"የሚጠቀሙበትን ቁጥር ይምረጡ"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 ቁጥር በዚህ መሣሪያ ላይ ይገኛል፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}=2{2 ቁጥሮች በዚህ መሣሪያ ላይ ይገኛሉ፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}one{# ቁጥሮች በዚህ መሣሪያ ላይ ይገኛሉ፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}other{# ቁጥሮች በዚህ መሣሪያ ላይ ይገኛሉ፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"በማግበር ላይ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"አሁን ማግበር አልተቻለም"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"የሚጠቀሙበትን ሲም ይምረጡ"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 ሲም በዚህ መሣሪያ ላይ ይገኛል፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}=2{2 ሲሞች በዚህ መሣሪያ ላይ ይገኛሉ፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}one{# ሲሞች በዚህ መሣሪያ ላይ ይገኛሉ፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}other{# ሲሞች በዚህ መሣሪያ ላይ ይገኛሉ፣ ነገር ግን በአንድ ጊዜ አንዱን ብቻ ነው መጠቀም የሚቻለው}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> የሚለውን በማብራት ላይ"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ይህን ሲም አሁን ማብራት አልተቻለም"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ን ይጠቀሙ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ለተንቀሳቃሽ ስልክ ውሂብ፣ ጥሪዎች እና ኤስኤምኤስ ሥራ ላይ ይውላል።"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ምንም ገቢር ሲሞች የሉም"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"የተንቀሳቃሽ ስልክ ውሂብን፣ የስልክ ጥሪ ባህሪያትን እና ኤስኤምኤስን ለመጠቀም ወደ የእርስዎ አውታረ መረብ ቅንብሮች ይሂዱ።"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ሲም"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ይህ ኢሲም ይደምሰስ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ይህን ሲም መደምሰስ የ<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> አገልግሎቱን ከዚህ መሣሪያ ያስወግደዋል።\n\nለ<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> የሆነ አገልግሎት አይሰረዝም።"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ይህ ከዚህ መሳሪያ ላይ የ<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> አገልግሎትን ያስወግዳል፣ ነገር ግን የ<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ዕቅድዎ አይሰረዝም።"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ደምስስ"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"ሲም በመደምሰስ ላይ…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ሲምን መደምሰስ አልተቻለም"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ይኼ ሲም በስህተት ምክንያት ሊደመሰስ አይችልም።\n\nየእርስዎን መሣሪያ ዳግም ያስጀምሩ እና እንደገና ይሞክሩ።"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ኢሲም በመደምሰስ ላይ…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ኢሲምን መደምሰስ አልተቻለም"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"የሆነ ስህተት ተከስቷል እና ይህ ኢሲም አልተደመሰሰም።\n\nመሣሪያዎን እንደገና ያስጀምሩትና እንደገና ይሞክሩ።"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ከመሣሪያ ጋር ያገናኙ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"የ<xliff:g id="APPNAME">%1$s</xliff:g> መተግበሪያ ከመሣሪያዎ ጋር ለመገናኘት ጊዜያዊ የWi‑Fi አውታረ መረብን መጠቀም ይፈልጋል"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ምንም መሣሪያዎች አልተገኙም መሣሪያዎች እንደበሩ እና ለመገናኘት የሚገኝ መሆኑን ያረጋግጡ።"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"የአደጋ ጥሪዎች"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"በየWi‑Fi ጥሪ ማድረጊያ በኩል የሚደረጉ የድንገተኛ አደጋ የስልክ ጥሪዎች በአገልግሎት አቅራቢው የሚደገፉ አይደሉም።\nየድንገተኛ አደጋ ጥሪን ለማድረግ መሣሪያው በራስሰር ወደ ተንቀሳቃሽ ስልክ አውታረ መረብ ይቀይራል።\nየድንገተኛ አደጋ የስልክ ጥሪዎችን ማድረግ የተንቀሳቃሽ ስልክ ሽፋን ባለባቸው አካባቢዎች ላይ ብቻ የሚቻል ነው።"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ጥራትን ለማሻሻል Wi‑Fiን ለጥሪዎች ይጠቀሙ"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ምትኬ ጥሪ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> የማይገኝ ወይም በማንዣበብ ላይ ከሆነ ለ<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ጥሪዎች የተንቀሳቃሽ ስልክ ውሂብ ሲምዎን ይጠቀሙ።"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ምትኬ ጥሪ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ገቢ የኤምኤምኤስ መልዕክት"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"የኤምኤምኤስ መልዕክት መላክ አይቻልም"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"የሞባይል ውሂብ ሲጠፋ በ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> የኤምኤምኤስ መልዕክቶችን መላላክ ለመፍቀድ መታ ያድርጉ"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"የእርስዎ የስራ መመሪያ መረጃ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"በአይቲ አስተዳዳሪዎ የሚቀናበሩ ቅንብሮች"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"ጂፒዩ"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"በ16ኪባ የገጽ መጠን አስነሳ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"በ16ኪባ ገጽ መጠን የሚደገፍ ከርነል በመጠቀም መሳሪያን አስነሳ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"ከ16ኪባ ገጾች ጋር ተኳዃኝ በሆነ ከርነል ዳግም ይነሳ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ማስጠንቀቂያ፦ አንዳንድ መተግበሪያዎች ከዚህ ሁነታ ጋር ተኳዃኝ ላይሆኑ ይችላሉ። መሣሪያው ከማረጋገጫ በኋላ ዳግም ይነሳል።"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"ከ4ኪባ ገጾች ጋር ተኳዃኝ በሆነ ከርነል ዳግም ይነሳ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"መሣሪያው ከማረጋገጫ በኋላ ዳግም ይነሳል።"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"ከርነልን ወደ 16ኪባ ገጾች ተኳዃኝ ከርነል ማዘመን አልተሳካም።"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ለውጦችን በመተግበር ላይ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"የሳንካ ሪፖርት ተቆጣጣሪ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"በእርስዎ መሣሪያ ላይ የሳንካ ሪፖርት አቋራጭን የትኛው መተግበሪያ እንደሚቆጣጠር ይወስናል።"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"የግል"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"የቅንብሮች ማያ ገጾችን ለመደራረብ በሌሎች መተግበሪያዎች ላይ የሚያሳዩ መተግበሪያዎችን ይፍቀዱ"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"የማስመሰያ ሞደምን ፍቀድ"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ይህ መሣሪያ ለመሣሪያ ሙከራ የማስመሰያ ሞደም አገልግሎትን እንዲያሄድ ይፍቀዱለት። ስልኩን በመደበኛነት ሲጠቀሙ ይህንን አያንቁ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"የማያ ገጽ መጋራት መከላከያዎችን ያሰናክሉ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"ማያ ገጽን በማጋራት ወቅት የስርዓት መተግበሪያ እና ማሳወቂያዎችን መከላከያዎችን ያሰናክላል"</string>
     <string name="media_controls_title" msgid="403271085636252597">"ሚዲያ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"ሚዲያ ማጫወቻ ይሰኩ"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"መልሶ ማጫዎትን በፍጥነት ካቆሙበት ለመቀጠል ሚዲያ ማጫወቻን በፈጣን ቅንብሮች ውስጥ ክፍት ሆኖ ይቆያል"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ሚዲያን በማያ ገፅ መቆለፊያው ላይ አሳይ"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"መልሶ ማጫወትን በፍጥነት ካቆሙበት ለመቀጠል የሚዲያ ማጫወቻ በማያ ገፅ መቆለፊያው ላይ ክፍት ሆኖ ይቆያል"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"የሚዲያ ምክሮችን አሳይ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"የረዳት ሚዲያ ምክሮችን አሳይ"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"በእርስዎ እንቅስቃሴ ላይ በመመስረት"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ተጫዋች ደብቅ"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ተጫዋች አሳይ"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"ሚዲያ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"የካሜራ ሶፍትዌር ቅጥያዎችን ፍቀድ"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"እንደ አይስ ፍሪ ቪዲዮግራፊ ያሉ የላቁ የካሜራ ባህሪያትን፣ የላቁ የካሜራ ባህሪያት ነባሪ የሶፍትዌር ትግበራን ያነቃል።"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ብሉቱዝ ይበራል"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"በይነመረብ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMዎች"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ሲም"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ኢሲም"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ኢሲሞች"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"ንቁ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ያልነቃ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"በርቷል"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ጠፍቷል"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / ለ<xliff:g id="ID_1">%1$s</xliff:g> ነባሪ"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ጥሪዎች"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"ኤስኤምኤስ"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ከተኳኋኝ ሚዲያ የሚመጣው ድምፅ ይበልጥ መሳጭ ይሆናል"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"የጭንቅላት ክትትል"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ጭንቅላትዎን ወደ ይበልጥ ተፈጥሯዊ ድምፅ ሲያንቀሳቅሱት ኦዲዮው ይቀየራል"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"የማስመር ፈቃዶች"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> ላይ የፈቀዷቸውን ተመሳሳይ የመተግበሪያ ፈቃዶች ለ<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ይስጡ"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ከስልክ ላይ ፈቃዶች ያስምሩ"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"በዚህ ስልክ ላይ የተፈቀዱትን ተመሳሳይ የመተግበሪያ ፈቃዶች ለእጅ ሰዓትዎ ይስጡ"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"የኦዲዮ መሣሪያ ዓይነት"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"ያልታወቀ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ድምጽ ማጉያ"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"መካከለኛ"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ከፍተኛ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ይህ መተግበሪያ መከፈት የሚችለው በ1 መስኮት ብቻ ነው"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"በርቷል"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ጠፍቷል"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ጠፍቷል"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ጠፍቷል"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"በርቷል"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ጠፍቷል"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"በርቷል"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ጠፍቷል"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ብርሃን የማያ ገጾችን ወደ ጨለማ እና ጨለማ የማያ ገጾችን ደግሞ ወደ ብርሃን ይለውጣል"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"በማያ ገጹ ላይ አጉላ"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ጠፍቷል"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ጠፍቷል"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"አታላይ የሆኑ መተግበሪያዎችን በመቃኘት ላይ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ማስገርን በተመለከተ የመተግበሪያ እንቅስቃሴን ይፈትሹ"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ለአሳሳች መተግበሪያዎች መቃኘትን ይጠቀሙ"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ለሥራ አሳሳች መተግበሪያዎች መቃኘትን ይጠቀሙ"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"የይለፍ ቃል አሁን ተዘጋጅቷል"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"በማንዣበብ ጊዜ ጠቋሚን አሳይ"</string>
 </resources>
diff --git a/res/values-ar/arrays.xml b/res/values-ar/arrays.xml
index 966767e..81a2d93 100644
--- a/res/values-ar/arrays.xml
+++ b/res/values-ar/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"متوفر"</item>
     <item msgid="6096962300722555553">"خارج النطاق"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"غير مفعَّل"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"‏‫Unicast وBroadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"استخدام الإعداد التلقائي للنظام: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"بعد دقيقة واحدة"</item>
     <item msgid="1574040255478150028">"بعد 5 دقائق"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ar/strings.xml b/res/values-ar/strings.xml
index daa43bf..e8a1f8b 100644
--- a/res/values-ar/strings.xml
+++ b/res/values-ar/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"لقد أصبحت الآن مطور برامج!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"لا حاجة لذلك، فأنت مطور برامج فعلاً."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"يُرجى تفعيل خيارات المطوري أولاً."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"يمكن للمستخدمين المشرفين وحدهم الوصول إلى إعدادات المطوّر."</string>
     <string name="header_category_system" msgid="1665516346845259058">"النظام"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"قيد الخدمة"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"خارج نطاق الخدمة"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"يتم تشغيل الشاشة الأمامية عند طيّ الجهاز."</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"الألعاب والفيديوهات فقط وغير ذلك"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"يتم تشغيل الشاشة الأمامية للتطبيقات التي تمنع انتقال الشاشة إلى \"وضع عدم النشاط\"."</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"التمرير سريعًا للأعلى لمواصلة استخدام التطبيق"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"عليك طي هاتفك ثم التمرير سريعًا للأعلى على الشاشة الأمامية لمواصلة استخدام التطبيق، أو الانتظار بضع لحظات إلى أن يتم قفل الشاشة."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"أبدًا"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"يتم قفل الشاشة الأمامية عند طيّ الجهاز."</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"استخدام التدوير التلقائي"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"أدوات مشابهة"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"نغمة الرنين والمنبّهات"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"الصوت أثناء المكالمات"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"الوسائط"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"الإشعارات وأصوات النظام الأخرى"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"أصوات الوسائط والنظام"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"الإشعارات"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"يتم تلقائيًا تحديد مصدر إخراج الصوت بواسطة التطبيقات الفردية."</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"جهاز بلوتوث بدون اسم"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"البحث"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"إلغاء"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"‏إيقاف ميزة Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"‏يؤدي هذا الخيار إلى إيقاف ميزة Bluetooth LE audio إذا كان الجهاز متوافقًا مع إمكانيات جهاز الصوت المنخفض الطاقة."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"‏وضع Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"‏إظهار خيار تفعيل LE Audio أو إيقافه في تفاصيل الجهاز"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"‏تفعيل القائمة المسموح بها لتطبيق Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"‏يسمح هذا الخيار بتفعيل ميزة القائمة المسموح بها لتطبيق Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"‏استبعاد القائمة المسموح بها لتطبيق Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"‏استخدِم تطبيق LE Audio تلقائيًا حتى إذا لم يتم التأكّد من توافق الجهاز الملحق مع معايير القائمة المسموح بها."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"أجهزة الوسائط"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"أجهزة الاتصال"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"أجهزة أخرى"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"الأجهزة المحفوظة"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"الأجهزة المرتبطة بالحساب"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"الأجهزة التي سبق استخدام الحساب عليها"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"سيتم تفعيل البلوتوث للإقران."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"إعدادات الاتصال المفضّلة"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"الأجهزة المتصلة سابقًا"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"تم تفعيل البلوتوث."</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"عرض الكل"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"عرض الكل"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"قلم الشاشة"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"الضغط على زرّ قلم الشاشة"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"تطبيق \"<xliff:g id="APP_NAME">%s</xliff:g>\" (الملف الشخصي للعمل)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"الكتابة بخط اليد في الحقول النصية"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"تجاهل كل الأزرار التي تم الضغط عليها باستخدام قلم الشاشة"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"قلم الشاشة"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"مشاركة الصوت"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"مشاركة الصوت"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"المكالمات والمنبّهات"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"الاتصال بجهاز بث صوتي باستخدام رمز الاستجابة السريعة"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"لم يتم العثور على أجهزة بث صوتي قريبة."</string>
     <string name="date_and_time" msgid="1788358029823431692">"التاريخ والوقت"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"الخادم الوكيل"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"محو"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"‏هل تريد إضافة %s إلى اللغات المفضَّلة؟"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"يسمح ذلك للتطبيقات والمواقع الإلكترونية بمعرفة أنّك تفضل هذه اللغة أيضًا."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"سيتم تغيير إعدادات الجهاز والإعدادات المفضّلة لمنطقتك."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"تغيير"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"‏لا تتوفّر اللغة %s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"السبت"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"سيستخدم التطبيق الذي لا يتوافق مع الإعدادات المفضّلة لمنطقتك إعداداته التلقائية للّغة."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"تعرَّف على مزيد من المعلومات عن الإعدادات المفضّلة للّغة."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"الإعدادات المفضَّلة الإضافية"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"صيغة المخاطبة"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"يمكنك ضبط صيغة المخاطبة التي تفضّلها."</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"يمكن للتطبيقات استخدام هذه الميزة لتخصيص صيغة المخاطبة الخاصة بك"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"عدم تحديد صيغة مخاطبة"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"صيغة مخاطبة مؤنثة"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"صيغة مخاطبة مذكّرة"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"صيغة مخاطبة محايدة"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{هل تريد إزالة اللغة المحددة؟}zero{هل تريد إزالة اللغات المحددة؟}two{هل تريد إزالة اللغتَين المحددتَين؟}few{هل تريد إزالة اللغات المحددة؟}many{هل تريد إزالة اللغات المحددة؟}other{هل تريد إزالة اللغات المحددة؟}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"سيتم عرض النص بلغة أخرى."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"تتعذر إزالة كل اللغات"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"الموقع الجغرافي"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"استخدام الموقع الجغرافي"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"خدمة الموقع الجغرافي غير مفعّلة."</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{الميزة مفعَّلة، ويملك تطبيق واحد إذن الوصول إلى بيانات الموقع الجغرافي.}zero{الميزة مفعَّلة، ويملك # تطبيق إذن الوصول إلى بيانات الموقع الجغرافي.}two{الميزة مفعَّلة، ويملك تطبيقان إذن الوصول إلى بيانات الموقع الجغرافي.}few{الميزة مفعَّلة، وتملك # تطبيقات إذن الوصول إلى بيانات الموقع الجغرافي.}many{الميزة مفعَّلة، ويمتلك # تطبيقًا إذن الوصول إلى بيانات الموقع الجغرافي.}other{الميزة مفعَّلة، ويمتلك # تطبيق إذن الوصول إلى بيانات الموقع الجغرافي.}}"</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_location_off" msgid="8568995909147566720">"ميزة وصول التطبيقات والخدمات إلى الموقع الجغرافي غير مفّعلة. قد يستمر إرسال الموقع الجغرافي لجهازك إلى مسؤولي الاستجابة لحالات الطوارئ عند الاتصال برقم طوارئ أو مراسلته نصيًا."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"اطّلِع على مزيد من المعلومات عن \"إعدادات الموقع الجغرافي\"."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"مزيد من المعلومات حول إعدادات الموقع الجغرافي"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"‏لتغيير إذن الوصول إلى الموقع الجغرافي، انتقِل إلى الإعدادات &gt; الأمان والخصوصية &gt; عناصر التحكّم في الخصوصية."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"الحسابات"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"الأمان"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"التشفير وبيانات الاعتماد"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"‏للحصول على أفضل النتائج، استخدم واقي شاشة مُعتمَد ويحمل شعار Made for Google. قد لا تعمل بصمة إصبع طفلك مع واقيات الشاشة الأخرى."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"فتح الهاتف من الساعة"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"في حال إعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\"، سيطلب منك الهاتف إدخال بصمة إصبعك عندما تكون في منطقة مظلمة أو ترتدي كمّامة.\n\nيمكنك فتح الهاتف من ساعتك عندما لا يتم التعرف على وجهك أو بصمة إصبعك."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"يمكنك فتح الجهاز من ساعتك عندما لا يتم التعرف على بصمة إصبعك."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"يمكنك فتح الجهاز من ساعتك عندما لا يتم التعرف على وجهك."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"في حال إعداد ميزتَي \"فتح الجهاز بالتعرف على الوجه\" و\"فتح الجهاز ببصمة الإصبع\"، سيطلب منك الهاتف إدخال بصمة إصبعك عندما تكون مرتديًا كمامة أو متواجدًا في منطقة مظلمة.\n\nوتوفِّر لك ميزة \"فتح الهاتف من الساعة\" طريقة سهلة أخرى لفتح هاتفك عندما تكون أصابعك مبتلة أو عندما لا يتم التعرّف على وجهك."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"توفِّر لك ميزة \"فتح الهاتف من الساعة\" طريقة سهلة أخرى لفتح قفل هاتفك عندما لا يتم التعرّف على بصمة إصبعك."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"توفِّر لك ميزة \"فتح الهاتف من الساعة\" طريقة سهلة أخرى لفتح قفل هاتفك عندما لا يتم التعرّف على وجهك."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"استخدام بصمة الإصبع أو الساعة من أجل"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"استخدام الوجه أو الساعة من أجل"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"استخدام بصمة الإصبع أو الساعة من أجل"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"إنّ ميزة \"فتح الهاتف من الساعة\" هي طريقة أخرى مناسبة لفتح قفل هذا الهاتف، مثلاً عندما لا يتم التعرّف على وجهك أو عندما تكون أصابعك مبتلة.\n\nيمكنك استخدام ساعتك لفتح قفل هذا الهاتف عند:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"لاحقًا"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"متابعة"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"المزيد"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"طريقة العمل"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"يجب أن تكون ساعتك مفتوحة القفل وعلى معصمك وقريبة من هذا الهاتف. لن تحتاج إلى فتح قفل ساعتك مرة أخرى عندما تكون على معصمك."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"عندما يتم فتح قفل هذا الهاتف، ستتلقّى إشعارًا بذلك على ساعتك. وفي حال فتح قفل الهاتف بدون قصد، يمكنك النقر على الإشعار لقفله مرّة أخرى."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"القرار لك"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"يمكنك إزالة ساعتك من ميزة \"فتح الهاتف من الساعة\" في أي وقت من خلال \"الإعدادات\"."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"انقر على أحد الإشعارات."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"مرِّر سريعًا للأعلى على شاشة القفل."</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"اختَر ساعتك"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"الساعات المتاحة"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"إلغاء"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"تأكيد"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"تم الانتهاء من عملية الإعداد."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"يمكنك الآن استخدام ساعتك لفتح قفل هذا الهاتف عند التمرير سريعًا للأعلى على شاشة القفل أو النقر على أحد الإشعارات."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"تم"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ميزة \"فتح الهاتف من الساعة\""</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"يمكنك استخدام ساعتك لفتح قفل هذا الهاتف عند التمرير سريعًا للأعلى على شاشة القفل أو النقر على أحد الإشعارات."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"لاستخدام ميزة \"فتح الهاتف من الساعة\"، يجب أن تكون ساعتك مفتوحة القفل وعلى معصمك وقريبة من هذا الهاتف ومتصلة به. في حال انقطاع الاتصال بينهما، سيكون عليك فتح قفل الهاتف لتتمكَّن من استخدام ميزة \"فتح الهاتف من الساعة\".\n\nملاحظة مهمّة:\nيمكنك إعداد ساعة واحدة فقط في كل مرّة. ولإضافة ساعة أخرى، يجب إزالة الساعة الحالية أولاً."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"فتح الجهاز ببصمة الإصبع وبالتعرف على الوجه للملف الشخصي للعمل"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"يجب ضبط الإعدادات"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"الأمان"</string>
     <string name="privacy_header" msgid="5526002421324257007">"الخصوصية"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"الملف الشخصي للعمل"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"المساحة الخاصة"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"إبقاء التطبيقات الخاصة مقفلة ومخفية"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"احتفِظ بالتطبيقات الخاصة في مساحة منفصلة يمكنك إخفاؤها أو قفلها."</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"قفل المساحة الخاصة"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"يمكنك فتح قفل المساحة الخاصة بالطريقة نفسها المستخدَمة لفتح قفل جهازك، أو يمكنك اختيار طريقة أخرى."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"استخدام قفل شاشة الجهاز"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"فتح الجهاز ببصمة الإصبع والتعرّف على الوجه"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"فتح الجهاز ببصمة الإصبع"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"فتح الجهاز بالتعرّف على الوجه"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"انقر لإعداد هذه الميزة."</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"استخدام ميزة \"فتح الجهاز ببصمة الإصبع\" للمساحة الخاصة"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"استخدام ميزة \"فتح الجهاز بالتعرّف على الوجه\" للمساحة الخاصة"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"طُرق فتح القفل"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"نفس قفل شاشة الجهاز"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"هل تريد اختيار طريقة جديدة لقفل المساحة الخاصة؟"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"قفل المساحة الخاصة تلقائيًا"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"يمكنك قفل مساحتك الخاصة تلقائيًا إذا لم تستخدم جهازك لفترة زمنية."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"في كل مرة يتم فيها قفل الجهاز"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"بعد توقّف النشاط لمدة 5 دقائق"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"أبدًا"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"الإخفاء بعد القفل"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"إخفاء المساحة الخاصة إذا كانت مقفلة"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"يمكنك إخفاء المساحة الخاصة من قائمة التطبيقات على جهازك لمنع وصول الآخرين إليها."</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"الوصول إلى المساحة الخاصة بعد إخفائها"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"أدخِل عبارة \"مساحة خاصة\" في شريط البحث ضمن قائمة التطبيقات."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"انقر على مربّع \"المساحة الخاصة\"."</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"افتح قفل المساحة الخاصة."</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"غير مفعَّل"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"مفعَّل"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"النظام"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"حذف المساحة الخاصّة"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"هل تريد حذف المساحة الخاصّة؟"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ستتم إزالة المساحة الخاصّة من جهازك. وسيتم حذف جميع التطبيقات والبيانات المدرَجة فيها. لا يمكنك التراجع عن هذا الإجراء."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ستتم إزالة الملفات الشخصية التالية من المساحة الخاصّة:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"حذف"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"جارٍ حذف المساحة الخاصّة…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"سيستغرق هذا الإجراء بضع لحظات."</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"تم حذف المساحة الخاصة."</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"تعذَّر حذف المساحة الخاصة."</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"تم فتح قفل المساحة الخاصة."</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ضبط قفل شاشة"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"لاستخدام المساحة الخاصة، يجب ضبط قفل شاشة على هذا الجهاز."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ضبط قفل الشاشة"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"إلغاء"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"إلغاء"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"إعداد"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"إعداد مساحة خاصة"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"احتفِظ بالتطبيقات الخاصة في مساحة منفصلة يمكنك إخفاؤها أو قفلها."</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"طريقة العمل"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"يمكنك الوصول إلى المساحة الخاصة من أسفل قائمة التطبيقات."</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"تتم حماية التطبيقات في المساحة الخاصة باستخدام قفل."</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"يتم إخفاء الإشعارات الواردة من تطبيقات المساحة الخاصة إذا كانت المساحة الخاصة مقفلة."</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"لن تظهر التطبيقات في المساحة الخاصة ضِمن \"إدارة الأذونات\" أو \"لوحة بيانات الخصوصية\" أو الإعدادات الأخرى إذا كانت المساحة الخاصة مقفلة.\n\nلا يمكن نقل المساحة الخاصة إلى جهاز جديد. إذا أردت استخدام مساحة خاصة على جهاز آخر، عليك إعداد مساحة خاصة على ذلك الجهاز.\n\n.في حال تمكَّن شخص من ربط جهازك بجهاز كمبيوتر أو تثبيت تطبيقات ضارة على جهازك، قد يستطيع هذا الشخص الوصول إلى المساحة الخاصة."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"جارٍ إعداد المساحة الخاصة…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"يتم إخفاء الإشعارات الواردة من تطبيقات المساحة الخاصة إذا كانت المساحة مقفلة"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"فتح قفل المساحة الخاصة لمشاركة الصور أو الملفات"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"بعض التطبيقات سبَق أن تم تثبيتها في المساحة الخاصة"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"تعذَّر إعداد مساحة خاصة"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"إعادة المحاولة"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"هل تريد استخدام قفل الشاشة لفتح قفل مساحتك الخاصة؟"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"يمكنك فتح قفل المساحة الخاصة بالطريقة نفسها المستخدَمة لفتح قفل هاتفك، أو يمكنك اختيار طريقة أخرى."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"استخدام قفل الشاشة"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"اختيار قفل جديد"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"اكتملت عملية الإعداد"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"للعثور على المساحة الخاصة، انتقِل إلى قائمة التطبيقات ثم مرِّر سريعًا للأسفل."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"تم"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"انتقِل للأسفل للعثور على مساحة خاصة."</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"تسجيل الدخول"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"يجب تسجيل الدخول إلى حساب لاستخدامه مع مساحتك الخاصة."</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"لاحقًا"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"متابعة"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"اختيار قفل للمساحة الخاصة"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"يمكنك فتح قفل المساحة الخاصة باستخدام بصمة إصبعك. ولأغراض تتعلق بالأمان، يتطلب هذا الخيار استخدام قفل احتياطي."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ضبط رقم تعريف شخصي للمساحة الخاصّة"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ضبط كلمة مرور للمساحة الخاصّة"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ضبط نقش للمساحة الخاصّة"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"يمكنك إضافة ما يصل إلى <xliff:g id="COUNT">%d</xliff:g> بصمات إصبع"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"لقد أضفت الحد الأقصى لعدد بصمات الإصبع"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"يتعذر إضافة مزيد من بصمات الإصبع"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"نقش"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"رقم تعريف شخصي"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"كلمة مرور"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"هل تريد حذف قفل الشاشة؟"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"هل تريد إزالة جميع وسائل فتح قفل الجهاز؟"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"هل تريد إزالة حماية الملف الشخصي؟"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"يحمي النقش هاتفك في حال فقدانه أو سرقته."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"يحمي النقش هاتفك في حال فقدانه أو سرقته.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>سيؤدي هذا إلى حذف نموذج بصمة الإصبع المُخزَّن على جهازك. سيتم أيضًا حذف نموذج وجهك نهائيًا وبأمان. لن تتمكن من استخدام وجهك أو بصمة إصبعك للمصادقة في التطبيقات."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"يحمي رقم التعريف الشخصي هاتفك في حال فقدانه أو سرقته."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"بعد هذا الإجراء، ستفقد البيانات المحفوظة، مثل رقم التعريف الشخصي.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ستتم إزالة البطاقات التي تم إعدادها للدفع بدون تلامس الأجهزة.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>قد لا تعمل بشكلٍ صحيح بعض التطبيقات التي تتطلّب فتح قفل الجهاز، مثل المَحافظ الرقمية."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"يحمي رقم التعريف الشخصي هاتفك في حال فقدانه أو سرقته.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>سيؤدي هذا أيضًا إلى حذف نموذج بصمة الإصبع المُخزَّن على جهازك. لن تتمكن من استخدام بصمة الإصبع للمصادقة في التطبيقات."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"بعد هذا الإجراء، ستفقد البيانات المحفوظة، مثل رقم التعريف الشخصي وبصمة الإصبع.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ستتم إزالة البطاقات التي تم إعدادها للدفع بدون تلامس الأجهزة.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>قد لا تعمل بشكلٍ صحيح بعض التطبيقات التي تتطلّب فتح قفل الجهاز، مثل المَحافظ الرقمية."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"يحمي رقم التعريف الشخصي هاتفك في حال فقدانه أو سرقته.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>سيتم أيضًا حذف نموذج وجهك نهائيًا وبأمان. لن تتمكن من استخدام وجهك للمصادقة في التطبيقات."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"بعد هذا الإجراء، ستفقد البيانات المحفوظة، مثل رقم التعريف الشخصي ونموذج الوجه.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ستتم إزالة البطاقات التي تم إعدادها للدفع بدون تلامس الأجهزة.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>قد لا تعمل بشكلٍ صحيح بعض التطبيقات التي تتطلّب فتح قفل الجهاز، مثل المَحافظ الرقمية."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"يحمي رقم التعريف الشخصي هاتفك في حال فقدانه أو سرقته.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>سيؤدي هذا إلى حذف نموذج بصمة الإصبع المُخزَّن على جهازك. سيتم أيضًا حذف نموذج وجهك نهائيًا وبأمان. لن تتمكن من استخدام وجهك أو بصمة إصبعك للمصادقة في التطبيقات."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"بعد هذا الإجراء، ستفقد البيانات المحفوظة، مثل رقم التعريف الشخصي ونموذج الوجه وبصمة الإصبع.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ستتم إزالة البطاقات التي تم إعدادها للدفع بدون تلامس الأجهزة.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>قد لا تعمل بشكلٍ صحيح بعض التطبيقات التي تتطلّب فتح قفل الجهاز، مثل المَحافظ الرقمية."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"تحمي كلمة المرور هاتفك في حال فقدانه أو سرقته."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"تحمي كلمة المرور هاتفك في حال فقدانه أو سرقته.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"بلوتوث"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"بلوتوث"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"هل تريد الإقران مع <xliff:g id="DEVICE_NAME">%1$s</xliff:g>؟"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"إضافة عضو جديد إلى مجموعة الأجهزة المنظمة الحالية"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"يُرجى تأكيد إضافة القطعة الثانية من جهازك السماعي."</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"رمز إقران البلوتوث"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"اكتب رمز الإقران، ثم اضغط على \"رجوع\" أو \"إدخال\""</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"‏يشتمل رمز PIN على أحرف ورموز"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"يجب أن يتكون من ١٦ رقمًا"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"‏قد يلزم أيضًا كتابة رمز PIN هذا على الجهاز الآخر."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"قد يلزم أيضًا كتابة مفتاح المرور هذا على الجهاز الآخر."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"تأكيد الاقتران بمجموعة الأجهزة المنظمة"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"يُرجى تأكيد الإقران بالجهاز السماعي."</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"السماح بالوصول إلى جهات الاتصال وسجلّ المكالمات"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"السماح أيضًا بالوصول إلى جهات الاتصال وسجلّ المكالمات"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"سيتم استخدام المعلومات في إشعارات المكالمات وغير ذلك."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"تعذر الاتصال بـ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"الأجهزة المتاحة"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"اتصال"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"قطع الاتصال"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"الاقتران والاتصال"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"عند تفعيل البلوتوث، يمكن للجهاز الاتصال بأجهزة البلوتوث الأخرى القريبة."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"يتيح تفعيل البلوتوث الاتصال بالأجهزة القريبة."</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"عندما تكون تقنية البلوتوث مفعّلة، يمكن للجهاز التواصل مع الأجهزة الأخرى المجاورة التي تتضمّن بلوتوث.\n\nولتحسين تجربة استخدام الجهاز، يمكن للتطبيقات والخدمات أيضًا البحث عن الأجهزة المجاورة في أي وقت، حتى عندما تكون تقنية البلوتوث غير مفعّلة. ويمكن استخدام هذا الإجراء لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي مثلاً. ويمكنك تغيير هذا الإعداد في إعدادات بحث البلوتوث."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"تغيير"</string>
     <string name="device_details_title" msgid="1155622417516195481">"تفاصيل الجهاز"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏تمكين ART من التحقُّق من رمز البايت للتطبيقات القابلة للتصحيح"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"إظهار معدّل إعادة التحميل"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"إظهار معدّل إعادة التحميل الحالي للشاشة"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"‏عرض نسبة نطاق HDR أو نطاق SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"‏عرض نسبة نطاق HDR أو نطاق SDR الحالية"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"‏الاتصال القصير المدى (NFC)"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏يجب فتح قفل الجهاز لاستخدام تقنية الاتصال القصير المدى (NFC)"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"‏شعاع Android"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"في وضع الطيران"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"إشعاري بالشبكات العامة"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"الإشعار عند توفر شبكة عامة عالية الجودة"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"‏السماح بالاتصال بشبكات الخصوصية المكافئة للشبكات السلكية (WEP)"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"بروتوكول \"الخصوصية المكافئة للشبكات السلكية\" هو بروتوكول أمني قديم بمستوى أمان أقل."</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"لا يسمح مشغّل شبكة الجوّال بالاتصال بشبكات الخصوصية المكافئة للشبكات السلكية لأنّها أقل أمانًا."</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"‏تفعيل اتّصال Wi‑Fi تلقائيًا"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‏إعادة تفعيل اتّصال Wi‑Fi بالقرب من الشبكات المحفوظة العالية الجودة، مثل الشبكة المنزلية"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"غير متاحة نظرًا لإيقاف خدمة الموقع. فعِّل خدمة "<annotation id="link">"الموقع"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"‏تتيح ميزة \"البحث عن شبكات Wi‑Fi\" للتطبيقات والخدمات إمكانية البحث عن شبكات Wi‑Fi في أي وقت، حتى في حال عدم تفعيل Wi‑Fi. ويمكن استخدام هذه البيانات مثلاً لتحسين الميزات والخدمات المستندة إلى الموقع الجغرافي."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"تفعيل"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏ميزة \"البحث عن شبكات Wi‑Fi\" مفعّلة"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"تستخدِم هذه الشبكة بروتوكولاً أمنيًا قديمًا بمستوى أمان أقل."</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"تم حظر شبكة \"<xliff:g id="NAME">%1$s</xliff:g>\""</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"تستخدِم هذه الشبكة بروتوكولاً أمنيًا قديمًا أقل أمانًا يُسمى \"الخصوصية المكافئة للشبكات السلكية\". وللاتصال بها على أي حال، يمكنك السماح بالاتصال بشبكات الخصوصية المكافئة للشبكات السلكية."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"لا يسمح مشغّل شبكة الجوّال بالاتصال بهذه الشبكة لأنّها تستخدِم بروتوكولاً أمنيًا قديمًا بمستوى أمان أقل."</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"السماح بالاتصال بشبكة الخصوصية المكافئة للشبكات السلكية"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"إغلاق"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"الخيارات المتقدمة"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"القائمة المنسدلة \"الخيارات المتقدمة\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"توسيع"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"‏الإبقاء على الاتصال بشبكة Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"عدم الإظهار مرة أخرى"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"اتصال"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"‏تم تفعيل Wi‑Fi."</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"متّصل بـ <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"جارٍ الربط بـ <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"جارٍ الاتصال…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"تعذّر التوصيل بالشبكة"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"الشبكة ليست في النطاق."</string>
     <string name="wifi_forget" msgid="3485573280364015620">"حذف"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"تعديل"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"تعذّر حذف الشبكة"</string>
     <string name="wifi_save" msgid="2312643132472226807">"حفظ"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"تعذّر حفظ الشبكة"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"إلغاء"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"بيانات الجوّال"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"إيثرنت"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"‫<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g>: جارٍ الشحن"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"‫<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g>: جارٍ الشحن"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"الاتصال بالإنترنت عبر نقطة اتصال"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"قوة الاتصال بالشبكة"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"الشبكات المحفوظة"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"لم يتم ضبط كلمة مرور"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"اسم نقطة الاتصال"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"كلمة مرور نقطة الاتصال"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"نطاق نقطة الوصول"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"إيقاف نقطة الاتصال تلقائيًا"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"عندما لا يكون هناك أي أجهزة متصلة"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"زيادة التوافق"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"موازنة اللون الأبيض للشاشة"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"مواصلة استخدام التطبيقات أثناء طيّ الهاتف"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"العرض السلس"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"تعمل هذه الميزة على رفع معدل التحديث تلقائيًا من 60 إلى <xliff:g id="ID_1">%1$s</xliff:g> هرتز لبعض أنواع المحتوى. يؤدي هذا إلى زيادة استخدام البطارية."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"إيقاف عدد اللقطات في الثانية التلقائي"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"إيقاف الحدّ من عدد اللقطات الأقصى في الثانية للألعاب عند <xliff:g id="FRAME_RATE">%1$d</xliff:g> هرتز."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"العرض السلس"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"تعمل هذه الميزة على رفع معدّل التحديث في الشاشة إلى <xliff:g id="ID_1">%1$d</xliff:g> هرتز لبعض أنواع المحتوى، علمًا بأنّ ذلك يؤدي زيادة استخدام البطارية."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"فرض معدل إعادة التحميل الأقصى"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"أعلى معدل إعادة تحميل لتحسين استجابة اللمس وجودة الصور المتحركة. يؤدي هذا إلى زيادة استخدام البطارية."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"استعراض الشاشة"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"‏يستخدم إعداد \"استعراض الشاشة\" الكاميرا الأمامية لمعرفة ما إذا كان أحد ينظر إلى الشاشة. يعمل هذا الإعداد على الجهاز ولا يتم تخزين أي صور أو إرسالها إلى Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"تفعيل ميزة \"استعراض الشاشة\""</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"إبقاء شاشتك قيد التفعيل أثناء النظر إليها"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"تؤدي إطالة المهلة قبل غلق الشاشة إلى استهلاك قدر كبير من طاقة البطارية."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"الكاميرا مُقفَلة"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"يجب فتح قفل الكاميرا لاستخدام تقنية \"التعرّف على الوجوه\"."</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"يجب فتح قفل الكاميرا لاستخدام ميزة \"استعراض الشاشة\"."</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"‏IMEI (المنفذ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g> لشريحة SIM)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"‏IMEI (المنفذ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> لشريحة SIM) (الرئيسي)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"‏لعرض عنوان MAC، اختَر شبكة محفوظة."</string>
+    <string name="status_imei" msgid="5719752369250485007">"‏رمز IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"‏رمز IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"دقيقة"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"‏إصدار PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"مستوى البطارية"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"الإعدادات المشتركة"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"الإعدادات المشتركة"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"المراسلة باستخدام القمر الصناعي"</string>
     <string name="apn_settings" msgid="4295467389400441299">"أسماء نقاط الوصول"</string>
     <string name="apn_edit" msgid="2003683641840248741">"تعديل نقطة الوصول"</string>
+    <string name="apn_add" msgid="9069613192201630934">"إضافة نقطة وصول"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"لم يتم الضبط."</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"لم يتم ضبط أي قيمة."</string>
     <string name="apn_name" msgid="6677695784108157953">"الاسم"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"‏تم تفعيل APN"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"‏تم إيقاف APN"</string>
     <string name="bearer" msgid="3231443241639159358">"الحامل"</string>
+    <string name="network_type" msgid="748590707422733595">"نوع الشبكة"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"غير محدَّد"</string>
     <string name="mvno_type" msgid="4734654257494971247">"‏نوع MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"‏قيمة MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"‏حذف APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"حفظ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"إلغاء"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"‏إدخال متكرر لاسم نقطة الوصول (‎APN)."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"لا يمكن أن يكون حقل الاسم فارغًا."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"‏لا يمكن أن يكون APN فارغًا."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"‏يجب أن يكون حقل MCC من ثلاثة أرقام."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"‏يجب أن يتكون حقل MNC من رقمين أو ثلاثة أرقام."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"‏لا يسمح مشغّل شبكة الجوّال بإضافة APN من النوع %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"‏يجب أن يكون حقل MMSC صالحًا."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"‏جارٍ استعادة إعدادات APN التلقائية."</string>
     <string name="menu_restore" msgid="4310539620115151551">"إعادة الضبط على الإعداد التلقائي"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‏اكتملت إعادة ضبط إعدادات APN التلقائية."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"إعادة الضبط"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏تمت إعادة ضبط البلوتوث وWi‑Fi."</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‏محو بيانات شرائح eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"‏لن يؤدي هذا إلى إلغاء أيّ خطة من خطط خدمة الجوّال. لتنزيل شرائح SIM بديلة، يمكنك التواصل مع مشغّل شبكة الجوّال."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"‏لن يؤدي هذا الإجراء إلى إلغاء خطّة خدمة الجوّال. تواصَل مع مشغّل شبكة الجوّال للحصول على شريحة SIM بديلة."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"إعادة ضبط الإعدادات"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"هل تريد إعادة ضبط جميع إعدادات الشبكة؟ لا يمكنك التراجع عن هذا الإجراء."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"‏هل تريد إعادة ضبط كل إعدادات الشبكة ومحو بيانات شرائح eSIM؟ لا يمكنك التراجع عن هذا الإجراء."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"هل تريد إعادة الضبط؟"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"إعادة ضبط الشبكة ليست متاحة لهذا المستخدم"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"تمت إعادة ضبط إعدادات الشبكة"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"‏يتعذّر محو بيانات شرائح SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"‏يتعذّر محو بيانات شرائح eSIM هذه بسبب حدوث خطأ.\n\nيمكنك إعادة تشغيل الجهاز والمحاولة مرة أخرى."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"‏يتعذّر محو بيانات شرائح eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"‏تعذَّر محو بيانات شرائح eSIM هذه بسبب حدوث خطأ.\n\nيمكنك إعادة تشغيل الجهاز وإعادة المحاولة."</string>
     <string name="main_clear_title" msgid="277664302144837723">"محو جميع البيانات (إعادة الضبط على الإعدادات الأصلية)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"محو جميع البيانات (إعادة الضبط على الإعدادات الأصلية)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"الموسيقى"</li>\n<li>"الصور"</li>\n<li>"بيانات المستخدم الأخرى"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729">"‏"<li>"شرائح eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"لن يؤدي هذا إلى إلغاء خطة خدمة الجوّال."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"سيتم حذف جميع المعلومات الشخصية والتطبيقات التي تم تنزيلها. لا يمكنك التراجع عن هذا الإجراء."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"‏سيتم حذف جميع المعلومات الشخصية، بما في ذلك التطبيقات وشرائح SIM التي تم تنزيلها. لا يمكنك التراجع عن هذا الإجراء."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"‏سيتم حذف جميع المعلومات الشخصية، بما في ذلك التطبيقات وشرائح eSIM التي تم تنزيلها. لا يمكنك التراجع عن هذا الإجراء."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"هل تريد محو جميع البيانات؟"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"لا تتوفر إمكانية إعادة الضبط على الإعدادات الأصلية لهذا المستخدم"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"جارٍ محو البيانات"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"‏نقطة اتصال، USB، بلوتوث، إيثرنت"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"عدم مشاركة الإنترنت مع الأجهزة الأخرى"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"الميزة غير مفعّلة"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"التوصيل"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏عدم استخدام نقطة اتصال Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏مشاركة اتصال الإنترنت من خلال USB فقط"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"مشاركة اتصال الإنترنت من خلال البلوتوث فقط"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"مشاركة الإنترنت من خلال إيثرنت فقط"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏مشاركة اتصال الإنترنت من خلال USB والبلوتوث فقط"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"‏مشاركة اتصال الإنترنت من خلال USB وإيثرنت فقط"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"مشاركة اتصال الإنترنت من خلال البلوتوث وإيثرنت"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"‏مشاركة اتصال الإنترنت من خلال USB والبلوتوث وإيثرنت"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏التوصيل عبر USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"التوصيل عبر البلوتوث"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"التوصيل عبر إيثرنت"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"‏يمكنك استخدام نقطة الاتصال والتوصيل لتوفير اتصال بالإنترنت للأجهزة الأخرى من خلال شبكة Wi‑Fi أو اتصال بيانات الجوّال، كما يمكن للتطبيقات إنشاء نقطة اتصال لمشاركة المحتوى مع الأجهزة المجاورة."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"مساعدة"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"شبكة الجوّال"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"خطة الجوّال"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"‏تطبيق SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"‏هل تريد تغيير تطبيق الرسائل القصيرة SMS؟"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"‏هل تريد استخدام <xliff:g id="NEW_APP">%1$s</xliff:g> بدلاً من <xliff:g id="CURRENT_APP">%2$s</xliff:g> كتطبيق للرسائل القصيرة SMS؟"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"‏هل تريد تغيير مساعد Wi‑Fi؟"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"هل تريد استخدام <xliff:g id="NEW_APP">%1$s</xliff:g> بدلاً من <xliff:g id="CURRENT_APP">%2$s</xliff:g> لإدارة اتصالات الشبكة لديك؟"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"هل تريد استخدام <xliff:g id="NEW_APP">%s</xliff:g> لإدارة اتصالات الشبكة لديك؟"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"‏مشغل SIM (مشغل شبكة الجوّال) غير معروف"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"ليس لدى <xliff:g id="OPERATOR">%1$s</xliff:g> موقع إلكتروني معروف لإدارة حسابات"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"‏يُرجى إدخال شريحة SIM وإعادة التشغيل"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"يُرجى الاتصال بالإنترنت"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"طلبات الموقع الجغرافي الأخيرة"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"الموقع الجغرافي للملف الشخصي للعمل"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"أذونات التطبيقات لتحديد الموقع الجغرافي"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"محو إمكانية الدخول"</string>
     <string name="controls_label" msgid="8671492254263626383">"عناصر التحكم"</string>
     <string name="force_stop" msgid="2681771622136916280">"فرض الإيقاف"</string>
+    <string name="archive" msgid="9074663845068632127">"أرشفة"</string>
+    <string name="restore" msgid="7622486640713967157">"استعادة"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"جارٍ الاستعادة"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"جارٍ الاستعادة."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"جارٍ الاستعادة.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"جارٍ الاستعادة…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"المجموع"</string>
     <string name="application_size_label" msgid="6407051020651716729">"حجم التطبيق"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"‏تطبيق وحدة تخزين USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"يتعذر حساب حجم الحزمة."</string>
     <string name="version_text" msgid="7628938665256107608">"الإصدار <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"نقل"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"تعذّرت عملية الأرشفة"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"تمت أرشفة \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"تعذَّرت استعادة التطبيق."</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"جارٍ استعادة تطبيق \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"هناك عملية نقل أخرى قيد التقدم حاليًا."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ليست هناك مساحة تخزين كافية."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"التطبيق غير موجود."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"لوحة المفاتيح على الشاشة متاحة"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"إدارة لوحات المفاتيح على الشاشة"</string>
     <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="6922850403920596246">"يمكنك تفعيل ميزة \"تجاهُل النقرات المتكرّرة\" لتسهيل استخدام لوحة المفاتيح الخارجية."</string>
+    <string name="slow_keys" msgid="2891452895499690837">"المفاتيح البطيئة"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"يمكنك تفعيل ميزة \"المفاتيح البطيئة\" لتسهيل استخدام لوحة المفاتيح الخارجية."</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"تثبيت المفاتيح"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"يمكنك تفعيل ميزة \"تثبيت المفاتيح\" لتسهيل استخدام لوحة المفاتيح الخارجية."</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"انقر أسفل يسار لوحة اللمس للحصول على مزيد من الخيارات."</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"سرعة المؤشر"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"التعرّف على إيماءات لوحة اللمس"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"الانتقال إلى الشاشة الرئيسية"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"مرّر سريعًا للأعلى باستخدام 3 أصابع بأي مكان على لوحة اللمس."</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"الرجوع"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"الترتيب حسب وقت الاستخدام"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"الترتيب حسب وقت آخر استخدام"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"الترتيب حسب اسم التطبيق"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"آخر مرة تم استخدامه"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"تاريخ آخر استخدام"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"مطلقًا"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"وقت الاستخدام"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"تسهيل الاستخدام"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"إعدادات تسهيل الاستخدام"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"التكبير بالنقر ثلاث مرّات"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"التكبير باستخدام الاختصار"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"التكبير باستخدام الزر والنقر الثلاثي"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"لمحة عن <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"الفتح باستخدام زر \"أدوات تسهيل الاستخدام\""</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"اضغط مع الاستمرار على مفتاحَي مستوى الصوت لتفعيل الميزة"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"انقر على الشاشة ثلاث مرات لتفعيل الميزة"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"النقر على الشاشة مرّتين باستخدام إصبعين للفتح"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"استخدام إيماءة للفتح"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"استخدام إيماءة تسهيل الاستخدام"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"لاستخدام هذه الميزة، انقر على زر أدوات تمكين الوصول <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> في أسفل الشاشة.\n\nللتبديل بين الميزات، انقر مع الاستمرار على زر أدوات تمكين الوصول."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"لاستخدام هذه الميزة، انقر على زر أدوات تسهيل الاستخدام في شاشتك."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"لاستخدام هذه الميزة، اضغط مع الاستمرار على كلا مفتاحَي مستوى الصوت."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"لبدء استخدام ميزة التكبير أو إيقافها، انقر ثلاث مرات في أي مكان على الشاشة."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"لبدء استخدام ميزة التكبير أو إيقافها، انقر مرّتين في أي مكان على الشاشة باستخدام إصبعين."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"لاستخدام هذه الميزة، مرِّر سريعًا من أسفل الشاشة للأعلى بإصبعين.\n\nللتبديل بين الميزات، مرِّر سريعًا للأعلى بإصبعين مع تثبيتهما."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"لاستخدام إحدى ميزات إمكانية الوصول، مرّر سريعًا من أسفل الشاشة للأعلى بثلاثة أصابع.\n\nللتبديل بين الميزات، مرّر سريعًا للأعلى بثلاثة أصابع مع تثبيتها."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"لاستخدام إحدى ميزات إمكانية الوصول، مرّر سريعًا من أسفل الشاشة للأعلى بإصبعين.\n\nللتبديل بين الميزات، مرّر سريعًا للأعلى بإصبعين مع تثبيتهما."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"لاستخدام إحدى ميزات إمكانية الوصول، مرّر سريعًا من أسفل الشاشة للأعلى بثلاثة أصابع.\n\nللتبديل بين الميزات، مرّر سريعًا للأعلى بثلاثة أصابع مع تثبيتها."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"حسنًا"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"إعدادات زر أدوات تسهيل الاستخدام"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"إعدادات الأزرار"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"اختصار <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"زر تسهيل الاستخدام"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"إيماءة تسهيل الاستخدام"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"الضغط مع الاستمرار على مفتاحَي التحكم في مستوى الصوت"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"الضغط مع الاستمرار على مفتاحَي التحكّم في مستوى الصوت"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"اضغط مع الاستمرار على مفتاحَي مستوى الصوت."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"النقر على الشاشة مرّتين باستخدام إصبعين"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"النقر على الشاشة مرّتين باستخدام إصبعين"</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="6863958573135995927">"النقر ثلاث مرات على الشاشة"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏انقر على الشاشة {0,number,integer} مرة. يمكن أن يؤدي استخدام هذا الاختصار إلى إبطاء الجهاز."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"تعرّف على مزيد من المعلومات حول إيماءة وزرّ أدوات تسهيل الاستخدام"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"استخدام زرّ أدوات تسهيل الاستخدام: لا تتوفّر إيماءة التنقُّل باستخدام ثلاثة أزرار"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"الوصول السريع إلى ميزات تسهيل الاستخدام"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"للبدء:"</b>\n"1- انتقِل إلى إعدادات تسهيل الاستخدام.\n2- اختَر ميزة وانقر على الاختصار.\n3- اختَر ما إذا كنت تريد استخدام زر أو إيماءة للوصول إلى الميزة."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"للبدء"</b>\n"1- انتقِل إلى إعدادات تسهيل الاستخدام.\n2- اختَر ميزة وانقر على الاختصار.\n3- انقر على الزر للوصول إلى الميزة."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"‏&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"‏&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"استخدام الزرّ أو الإيماءة"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"الموقع"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"حجم الزر"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"إنهاء الاتصال عبر زر التشغيل"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"مؤشر الماوس الكبير"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"جعل مؤشّر الماوس أكثر وضوحًا"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"تطبيق المظهر الداكن على كل التطبيقات"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ينطبق هذا الإعداد على التطبيقات التي لا تحتوي على مظهر داكن. قد تظهر في بعض التطبيقات مشاكل في العرض، مثل قلب الألوان."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"إزالة الصور المتحركة"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"تقليل الحركة على الشاشة"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"صوت أحادي"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"استخدام الاهتزاز واللمس"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"اهتزاز المنبّه"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"اهتزاز الوسائط"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"اهتزاز لوحة المفاتيح"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"الاهتزاز عند الرنين"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"الاهتزاز عند تلقّي إشعارات"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"الاهتزاز عند لمس الشاشة"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"إيقاف"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"إلغاء"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"هل تريد إيقاف \"<xliff:g id="SERVICE">%1$s</xliff:g>\"؟"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"سيؤدي النقر على \"<xliff:g id="STOP">%1$s</xliff:g>\" إلى إيقاف \"<xliff:g id="SERVICE">%2$s</xliff:g>\"."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"إيقاف"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"إبقاء"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"هل تريد إيقاف \"<xliff:g id="SERVICE">%1$s</xliff:g>\"؟"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"لم يتم تثبيت أي خدمات"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"لم يتم اختيار أي خدمة"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"لم يتم تقديم أي وصف."</string>
     <string name="settings_button" msgid="2195468788019730377">"الإعدادات"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"حساسية الضوء، رهاب الضوء، المظهر الداكن، الصداع الشقِّي، الصداع، وضع القراءة، الوضع الليلي، تقليل درجة السطوع، النقطة البيضاء"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"سهولة الاستخدام، سهولة الوصول، المساعدة، تلبية احتياجات المستهلك"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"نظر، سمع، كفيف، أصم، مهارات حركية، مهارات، مساعِد، مساعدة، سهولة الاستخدام، سهولة الوصول، يد، مساعدة"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"أداة تكبير النوافذ، تصغير/تكبير، التكبير، ضعف في النظر، تكبير، جعله أكبر"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"‏شرح، ترجمة وشرح، CC، كتابة مباشرة، ضعيف السمع، فقدان السمع، الترجمة في الوقت الفعلي، تحويل الكلام إلى نص، ترجمة"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"تباين الألوان"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"المهارات الحركية، الماوس"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"سماعات الأذن الطبية، ضعيف السمع، فقدان السمع، القواقع المزروعة، أجهزة تضخيم الصوت، معالجات الصوت"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"مهارات حركية، ماوس، ماوس خارجي، ماوس يتبع حركة الرأس، ماوس تكيّفي، كرسي متحرك، ذراع تحكُّم"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"‏سماعات أذن طبية، ضعيف السمع، فقدان السمع، قواقع مزروعة، أجهزة تضخيم الصوت، معالِجات صوتية، منتجات تضخيم الصوت الشخصية (PSAP)"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"‏ضعيف السمع، فقدان السمع، شرح، المبرقة، tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ثلاثة أزرار"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"مهارات يدوية، مهارات حركية، كبار السن، التهاب المفاصل، إصابة الإجهاد المتكرر، سكتة دماغية، رعّاش، تصلّب متعدد، شلل دماغي، اهتزاز، إصابة الإجهاد المتكرر، يد"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"مهلة، مهارات يدوية، كبار السن"</string>
     <string name="print_settings" msgid="8519810615863882491">"الطباعة"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"غير مفعّلة"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{خدمة طباعة واحدة قيد التشغيل}zero{# خدمة طباعة قيد التشغيل}two{خدمتا طباعة قيد التشغيل}few{# خدمات طباعة قيد التشغيل}many{# خدمة طباعة قيد التشغيل}other{# خدمة طباعة قيد التشغيل}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"الوقت المتبقي: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> للشحن"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"مدّة الاستخدام في المقدّمة"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"مدّة الاستخدام في الخلفية"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"طاقة البطارية منخفضة"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"السماح بتشغيل التطبيق في الخلفية"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"هل تريد وضع حد لنشاط التطبيق في الخلفية؟"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"قد يتأثر أداء أحد التطبيقات سلبًا في حالة وضع حد لنشاطه في الخلفية"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"نظرًا لعدم تعيين هذا التطبيق للعمل على تحسين البطارية، فلا يمكنك تقييده.\n\nلتقييد التطبيق، فعِّل ميزة تحسين البطارية أولاً."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"إدارة استخدام البطارية"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"السماح بالاستخدام في الخلفية"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"يمكن تفعيل هذا الإعداد للحصول على المعلومات في الوقت الفعلي، أو إيقافه لتوفير شحن البطارية."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"الاستخدام غير المحدّد بقيود"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"الاستخدام المحسَّن"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"الاستخدام المحدّد بقيود"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"عرض التطبيقات ذات أعلى معدّل استخدام للبطارية"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"تم تحسين الشحن لحماية البطارية"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"للمساعدة في إطالة عمر البطارية، يتم تحسين الشحن."</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"تم تحسين الشحن لحماية البطارية"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"للمساعدة في إطالة عمر البطارية، يتم تحسين الشحن في وضع الإرساء."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"تم تحسين الشحن لحماية البطارية"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"للمساعدة في إطالة عمر البطارية، يتم تحسين الشحن في وضع الإرساء."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"الشحن بالكامل"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"لحماية البطارية، سيتم تحسين الشحن في المرة التالية التي يكون فيها الجهاز اللوحي في وضع الإرساء."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"مزيد من المعلومات عن إيقاف الشحن مؤقتًا"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"استئناف الشحن"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"يشمل النشاط الكثيف لطاقة البطارية في الخلفية"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"سيتمكّن هذا التطبيق من استخدام البطارية في الخلفية، وقد يؤدي ذلك إلى نفاد شحنها قبل الوقت المتوقع."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"إزالة"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"إلغاء"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"شحن الجهاز تمامًا"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"مشكلة متعلّقة بجهاز الشحن الملحق"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"فحص ملحق الشحن"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"مزيد من المعلومات عن الشحن بمحوِّل طاقة غير متوافق"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"مدير البطارية"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"إدارة التطبيقات تلقائيًا"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"منذ آخر عملية شحن كاملة"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"تطبيقات النظام"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"التطبيقات التي تم إلغاء تثبيتها"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"غير ذلك"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"الوقت التقديري المتبقي"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"إلى أن يتم الشحن بالكامل"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"مدة الاستخدام الإجمالي: أقل من دقيقة"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"مدة استخدام البطارية في الخلفية: أقل من دقيقة"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"مدّة النظر إلى الشاشة: أقل من دقيقة"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"أقل من دقيقة واحدة"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"مدة الاستخدام الإجمالي: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"مدة استخدام البطارية في الخلفية: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"مدّة النظر إلى الشاشة: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"الآن"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"‏‫‎<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> ‏- ‎<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> ‏<xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"رسم بياني لاستخدام البطارية"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"رسم بياني لاستخدام البطارية في اليوم"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"رسم بياني لاستخدام البطارية في الساعة"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"نسبة مستوى البطارية من <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> إلى <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"استخدام البطارية منذ آخر عملية شحن كاملة"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"استخدام البطارية: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"مدّة النظر إلى الشاشة منذ آخر عملية شحن كاملة"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"إشارة اتصال الطوارئ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"تعيين السلوك عند إجراء اتصال بالطوارئ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"الاحتفاظ بنسخة احتياطية"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"مفعّل"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"غير مفعّل"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"النسخ الاحتياطي والاستعادة"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"البيانات الشخصية"</string>
     <string name="backup_data_title" msgid="507663517227498525">"احتفاظ بنسخة لبياناتي"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"‏بيانات الجوّال وWi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"مزامنة البيانات الشخصية تلقائيًا"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"مزامنة بيانات العمل تلقائيًا"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"مزامنة البيانات الخاصة تلقائيًا"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"تغيير الدورة الزمنية…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"يوم من الشهر لإعادة تعيين دورة استخدام البيانات:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"لم يستخدم أي تطبيق البيانات خلال هذه الفترة."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"الاسم"</string>
     <string name="vpn_type" msgid="5533202873260826663">"النوع"</string>
     <string name="vpn_server" msgid="2908816134941973935">"عنوان الخادم"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"‏الترميز PPP‏ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"‏سر L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"‏ معرف IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"‏مفتاح IPSec مشترك مسبقًا"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"‏شهادة IPSec للمستخدم"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"‏شهادة CA لـ IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"‏شهادة خادم IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"إظهار الخيارات المتقدمة"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"نطاقات بحث نظام أسماء النطاقات"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"‏خوادم DNS (مثل 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"مسارات إعادة التوجيه (مثل 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"اسم المستخدم"</string>
     <string name="vpn_password" msgid="1183746907642628127">"كلمة المرور"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"حفظ معلومات الحساب"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(غير مستخدم)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(عدم التحقق من ملكية الخادم)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(الواردة من الخادم)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"‏لا يمكن أن يظل هذا النوع من الشبكات الافتراضية الخاصة (VPN) متصلاً في جميع الأوقات."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"‏لا تتوافق الشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا إلا مع عناوين الخادم الرقمية"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"‏يجب تحديد خادم نظام أسماء نطاقات (DNS) للشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"‏يجب أن تكون عناوين خادم نظام أسماء النطاقات (DNS) رقمية للشبكة الافتراضية الخاصة التي يتم تشغيلها دائمًا"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"‏المعلومات التي تم إدخالها لا تتوافق مع الشبكة الافتراضية الخاصة (VPN) التي يتم تشغيلها دائمًا."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"إلغاء"</string>
     <string name="vpn_done" msgid="5137858784289564985">"تجاهل"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"حظر أي اتصالات بدون شبكة افتراضية خاصة"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"‏أيتطلب الأمر اتصالاً بشبكة VPN؟"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"‏هذا التطبيق غير آمن. يُرجى التحديث إلى شبكة افتراضية خاصة (VPN) باستخدام بروتوكول IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"‏تعذَّر تفعيل شبكة افتراضية خاصة (VPN) غير متوافقة."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"‏حدد ملفًا شخصيًا للشبكة الافتراضية الخاصة (VPN) للاتصال الدائم بها. لن يتم السماح بحركة مرور الشبكة إلا عند الاتصال بهذه الشبكة الافتراضية الخاصة."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"بدون"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"‏تتطلب الشبكة الافتراضية الخاصة (VPN) دائمة التفعيل عنوان IP لكل من الخادم ونظام أسماء النطاقات."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"‏تنبيهات AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"تلقي نشرات حول اختطاف الأطفال"</string>
     <string name="repeat_title" msgid="8676570486899483606">"التكرار"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"تفعيل مدير المكالمات"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"السماح لهذه الخدمة بإدارة كيفية إجراء المكالمات."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"مدير المكالمات"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"تنبيهات الطوارئ اللاسلكية"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"مشغلو الشبكة"</string>
     <string name="access_point_names" msgid="5768430498022188057">"أسماء نقاط الوصول"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"‏وضع شريحة SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏حالة شريحة SIM (المنفذ %1$d لشريحة SIM)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> ديسبل ميلي واط <xliff:g id="ASU">%2$d</xliff:g> وحدة إشارة واحدة"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"‏تم تغيير شرائح SIM"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"‏تم إجراء تغيير على شريحتَي SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"انقر للإعداد."</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"طرح السؤال كل مرة"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"يلزم التحديد"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"التطبيقات المُستخدِمة مؤخرًا، التطبيقات التلقائية"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"لا تتوفر إمكانية الدخول إلى الإشعارات للتطبيقات في الملف الشخصي للعمل."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"كلمات المرور والحسابات"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"الملء التلقائي والحسابات التي تتم مزامنتها وكلمات المرور المحفوظة"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"اقتراحات تسجيل الدخول وميزة \"الملء التلقائي\""</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"التطبيقات التلقائية"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"استنساخ التطبيقات"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"يمكنك إنشاء نسخة ثانية من أحد التطبيقات لتتمكن من استخدام حسابَين في الوقت نفسه."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"محفظة"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"دفع، نقر، دفعات"</string>
     <string name="keywords_backup" msgid="707735920706667685">"نسخ احتياطية، نسخة احتياطية"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"إيماءة"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"بالوجه، فتح الجهاز، مصادقة، تسجيل الدخول"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"الوجه، فتح القفل، المصادقة، تسجيل الدخول، بصمة الإصبع، المقاييس الحيوية"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"‏imei‏، meid‏، min‏، إصدار prl‏، imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"حجم النص، طباعة كبيرة، خط كبير، نص كبير، ضعف في النظر، تكبير النص، أداة تكبير الخط، تكبير الخط"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"‏عرض دائم لشاشة الاستراحة، AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"‏قارئ، علامة، nfc"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"لوحة المفاتيح، تقنية اللمس، الاهتزاز،"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"مستوى الصوت والاهتزاز ووضع\"عدم الإزعاج\""</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"مستوى صوت الوسائط"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"مستوى صوت الإرسال"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"أصوات تشغيل الجهاز"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"النسخ النصي التلقائي"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"شرح تلقائي للوسائط"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"مكبّرات صوت الهاتف"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"مكبّرات صوت الجهاز اللوحي"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"مكبّرات صوت الجهاز"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"سماعات الرأس السلكية"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"الصوت الصادر من الوسائط المتوافقة يصبح أكثر غمورًا."</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"غير مفعّل"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"عرض محتوى الإشعارات كاملاً"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"عرض المحتوى الحسّاس عند فتح القفل فقط"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"عدم عرض الإشعارات على الإطلاق"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"كيف تريد عرض شاشة القفل؟"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ما هي الطريقة التي تريد استخدامها في عرض الإشعارات على شاشة القفل؟"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"شاشة القفل"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"عرض محتوى إشعارات العمل كاملاً"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"إخفاء محتوى العمل الحساس"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"تمت إزالة المحادثات الحديثة."</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"تمت إزالة المحادثة."</string>
     <string name="clear" msgid="5092178335409471100">"محو"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"محو المحادثة مع \"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>\""</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ستظهر هنا المحادثات ذات الأولوية والمُعدَّلة"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"بعد وضع علامة على محادثة لمنحها الأولوية، أو إجراء أي تغييرات أخرى على المحادثات، ستظهر هذه المحادثات هنا. \n\nلتغيير إعدادات المحادثة: \nمرّر سريعًا إلى أسفل الشاشة من أعلاها لفتح مركز الإشعارات المنسدل ثم انقر مع الاستمرار على المحادثة."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"تصغير"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"فترة توقُّف الإشعارات"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"تطبيق فترة التوقّف على كل الإشعارات"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"يتم تخفيض مستوى صوت الإشعارات تدريجيًا عند تلقّيك إشعارات كثيرة متتالية من التطبيق نفسه."</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"تطبيق فترة التوقّف على المحادثات"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"يتم تخفيض مستوى صوت الإشعارات تدريجيًا عند تلقّيك رسائل كثيرة من المحادثة نفسها خلال فترة زمنية قصيرة."</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"عدم استخدام فترة التوقّف مع الإشعارات"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"لا يتم تخفيض مستوى صوت الإشعارات مطلقًا، بغض النظر عن عدد الإشعارات المتتالية التي تتلقّاها من التطبيق نفسه."</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"الاهتزاز عند فتح القفل"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"يهتز الجهاز فقط عندما تكون الشاشة مفتوحة."</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"التطبيق على ملفات العمل"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"يتم تطبيق إعدادات فترة توقُّف الإشعارات من ملفك الشخصي على ملف العمل."</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"خدمات مساعد الواقع الافتراضي"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"لم تطلب أي تطبيقات مثبَّتة أن يتم تشغيلها كخدمات مساعد واقع افتراضي."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"هل تريد السماح لخدمة \"<xliff:g id="SERVICE">%1$s</xliff:g>\" بالوصول إلى خدمة الواقع الافتراضي؟"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"الميزة غير مفعَّلة"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"تثبيت الشاشة على تطبيق معيّن"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"تسمح لك ميزة \"تثبيت الشاشة على تطبيق معيّن\" بالحفاظ على التطبيق الحالي في حيز رؤيتك إلى أن تتم إزالة تثبيتها. على سبيل المثال، يمكن استخدام هذه الميزة للسماح لصديق موثوق فيه بلعب لعبة معيّنة."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"عندما يتم تثبيت الشاشة على تطبيق معيّن، يمكن لهذا التطبيق فتح التطبيقات الأخرى والوصول إلى البيانات الشخصية. \n\nلاستخدام ميزة \"تثبيت الشاشة على تطبيق معيّن\"، يجب تنفيذ ما يلي: 	\n1- تفعيل ميزة \"تثبيت الشاشة على تطبيق معيّن\" 	\n2- فتح \"نظرة عامة\" 	\n3- النقر على رمز التطبيق في أعلى الشاشة ثم النقر على \"تثبيت\""</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"عندما يتم تثبيت الشاشة على تطبيق معيّن، يمكن لهذا التطبيق فتح التطبيقات الأخرى والوصول إلى البيانات الشخصية. \n\nإذا أردت مشاركة جهازك بأمان مع أحد الأشخاص، اجعله يستخدم حساب ضيف بدلاً من استخدام حسابك. \n\nلاستخدام ميزة تثبيت التطبيقات، يجب تنفيذ ما يلي: 	\n1- تفعيل ميزة تثبيت التطبيقات 	\n2- فتح \"نظرة عامة\" 	\n3- النقر على رمز التطبيق في أعلى الشاشة ثم النقر على \"تثبيت\""</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"‏عندما يتم تثبيت الشاشة على تطبيق معيّن، يمكن لهذا التطبيق فتح التطبيقات الأخرى والوصول إلى البيانات الشخصية. \n\nلاستخدام ميزة \"تثبيت الشاشة على تطبيق معيّن\"، اتّبِع الخطوات التالية: 	\n{0,number,integer}. فعِّل ميزة \"تثبيت الشاشة على تطبيق معيّن\" 	\n{1,number,integer}. افتح \"نظرة عامة\" 	\n{2,number,integer}. انقر على رمز التطبيق في أعلى الشاشة، ثم انقر على \"تثبيت\"."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"‏عندما يتم تثبيت الشاشة على تطبيق معيّن، يمكن لهذا التطبيق فتح التطبيقات الأخرى والوصول إلى البيانات الشخصية. \n\nإذا أردت مشاركة جهازك بأمان مع أحد الأشخاص، اجعله يستخدم حساب ضيف بدلاً من استخدام حسابك. \n\nلاستخدام ميزة \"تثبيت الشاشة على تطبيق معيّن\"، اتّبِع الخطوات التالية: 	\n{0,number,integer}. فعِّل ميزة \"تثبيت الشاشة على تطبيق معيّن\" 	\n{1,number,integer}. افتح \"نظرة عامة\" 	\n{2,number,integer}. انقر على رمز التطبيق في أعلى الشاشة، ثم انقر على \"تثبيت\"."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"عندما يتم تثبيت الشاشة على تطبيق معيّن: \n\n•	 يمكن الوصول إلى البيانات الشخصية \n		(مثلاً جهات الاتصال ومحتوى الرسائل الإلكترونية) \n•	 يمكن للتطبيق المثبت فتح التطبيقات الأخرى \n\nلا تستخدِم ميزة \"تثبيت الشاشة على تطبيق معيّن\" إلا مع المستخدمين الموثوق فيهم."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"طلب إدخال النقش الخاص بإلغاء القفل قبل إزالة التثبيت"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"طلب إدخال رقم التعريف الشخصي قبل إزالة التثبيت"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"طلب إدخال كلمة المرور قبل إزالة التثبيت"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"إقفال الجهاز عند إزالة التثبيت"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏تأكيد حذف بيانات شريحة SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"‏تأكيد أنّك تريد محو بيانات شريحة eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"‏يجب إثبات هويتك قبل محو بيانات شريحة eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"الحماية المتقدمة للذاكرة (تجريبية)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"الحماية المتقدمة للذاكرة"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"إعدادات التطبيقات غير المُستخدَمة"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"إيقاف نشاط التطبيق مؤقتًا عند عدم استخدامه"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"إزالة الأذونات وحذف الملفات المؤقتة وإيقاف الإشعارات"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"إدارة التطبيق في حال عدم استخدامه"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"إزالة الأذونات وحذف الملفات المؤقتة وإيقاف الإشعارات وأرشفة التطبيق"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"جميع التطبيقات"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"التطبيقات المثبَّتة"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"التطبيقات الفورية"</string>
@@ -3661,7 +3847,7 @@
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"السماح للتطبيق المساعد بالوصول إلى صورة للشاشة"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"إظهار وميض على الشاشة"</string>
     <string name="assist_flash_summary" msgid="3032289860177784594">"إظهار وميض على حدود الشاشة عند وصول التطبيق المساعد إلى النص من الشاشة أو لقطة الشاشة"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"بإمكان التطبيقات المساعِدة مساعدتك استنادًا إلى المعلومات على الشاشة التي تشاهدها. وتتوافق بعض التطبيقات مع كل من خدمة المشغّل وخدمة الإدخال الصوتي لتوفير مساعدة متكاملة لك."</string>
+    <string name="assist_footer" msgid="8248015363806299068">"بإمكان التطبيقات المساعِدة مساعدك استنادًا إلى المعلومات التي تظهر على شاشتك. وتعمل بعض التطبيقات مع كل من خدمة المشغّل وخدمة الإدخال الصوتي لتوفير مساعدة متكاملة لك."</string>
     <string name="average_memory_use" msgid="717313706368825388">"متوسط ​​استخدام الذاكرة"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"الاستخدام الأقصى للذاكرة"</string>
     <string name="memory_usage" msgid="5594133403819880617">"استخدام الذاكرة"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"الذاكرة المتاحة"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"الذاكرة المستخدمة بواسطة التطبيقات"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{استخدَم تطبيق واحد الذاكرة خلال آخر {time}.}zero{استخدَم # تطبيق الذاكرة خلال آخر {time}.}two{استخدَم تطبيقان الذاكرة خلال آخر {time}.}few{استخدَمت # تطبيقات الذاكرة خلال آخر {time}.}many{استخدَم # تطبيقًا الذاكرة خلال آخر {time}.}other{استخدَم # تطبيق الذاكرة خلال آخر {time}.}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"تفعيل تحليل استخدام الذاكرة"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"يتطلب تحليل استخدام الذاكرة موارد إضافية للنظام."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"تم إيقاف تحليل استخدام الذاكرة."</string>
     <string name="running_frequency" msgid="7260225121706316639">"معدل الاستخدام"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"الاستخدام الأقصى"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"لم يتم استخدام أي بيانات"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"إظهار فوق التطبيقات الأخرى"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"السماح بظهور التطبيق فوق التطبيقات الأخرى"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"يمكنك السماح بعرض واجهة هذا التطبيق فوق التطبيقات الأخرى التي تستخدمها. سيتمكّن هذا التطبيق من معرفة الأماكن التي تنقر عليها أو من تغيير ما يتم عرضه على الشاشة."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"تغيير جهاز إخراج الوسائط"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"السماح للتطبيق بتبديل جهاز إخراج الوسائط"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"يؤدي تفعيل هذا الإعداد إلى السماح لهذا التطبيق باختيار واحد من الأجهزة المتصلة لتشغيل الصوت أو الفيديو من تطبيقات أخرى. في حال تفعيل الإعداد، يمكن لهذا التطبيق الوصول إلى قائمة بالأجهزة المتاحة، مثل سمّاعات الرأس ومكبّرات الصوت، ثم اختيار جهاز إخراج لتشغيل الصوت أو الفيديو أو بثّهما."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"الوصول إلى كل الملفات"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"السماح بالوصول إلى كل الملفات لإدارتها"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"يسمح هذا الإعداد لهذا التطبيق بقراءة كل الملفات وتعديلها وحذفها من هذا الجهاز أو أي وحدات تخزين متصلة. في حال تفعيله، يمكن أن يصل التطبيق إلى الملفات بدون إعلامك بذلك."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"يمكن الوصول إلى كل الملفات"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"التطبيقات التي تستخدم التشغيل بالصوت"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"السماح بميزة التشغيل بالصوت"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"توفِّر ميزة التشغيل بالصوت إمكانية تشغيل التطبيقات المُعتمَدة باستخدام الطلبات الصوتية وبدون لمس الجهاز. يضمن نظام الاستشعار التكيُّفي والمدمَج أن تظل البيانات خاصة بك فقط.\n\n"<a href="">"مزيد من المعلومات حول نظام الاستشعار التكيُّفي المحمي"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"الإشعارات بملء الشاشة"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"السماح بعرض الإشعارات من هذا التطبيق بملء الشاشة"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"يتم السماح لهذا التطبيق بعرض إشعارات بملء الشاشة عندما يكون الجهاز مُقفَلاً. قد تستخدم التطبيقات هذا الإذن لإبراز المنبّهات أو المكالمات الواردة أو غيرها من الإشعارات العاجلة."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"سيتم تحذيرك عند استخدام <xliff:g id="ID_1">^1</xliff:g> من البيانات."</string>
     <string name="cell_data_limit" msgid="256855024790622112">"الحد الأقصى للبيانات <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"حد التحذير بشأن البيانات <xliff:g id="ID_1">^1</xliff:g> / الحد الأقصى للبيانات <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"قد تختلف طريقة احتساب بيانات مشغِّل شبكة الجوّال عن طريقة الاحتساب على الجهاز."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"تم استبعاد البيانات التي تستخدمها شبكات مشغِّلي شبكات الجوّال."</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> مستخدَمة"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ضبط تحذيرات استخدام البيانات"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"تم التحديث قبل <xliff:g id="ID_1">^2</xliff:g>."</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"تم التحديث بواسطة <xliff:g id="ID_1">^1</xliff:g> الآن."</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"تم التحديث الآن."</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"عرض الخطة"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"عرض التفاصيل"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"توفير البيانات"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"استخدام البيانات بدون قيود"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"استهلك تطبيق \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" مقدارًا أكبر من المُعتاد من طاقة البطارية أثناء تشغيله في الخلفية."</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"استهلك تطبيق \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" مقدارًا أعلى من طاقة البطارية أثناء تشغيله في المقدّمة."</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"استهلك تطبيق \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" مقدارًا أكبر من المُعتاد من طاقة البطارية أثناء تشغيله في المقدّمة."</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"استخدام غير عادي للبطارية"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"استهلاك مرتفع للبطارية"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"استهلاك مرتفع للبطارية في الخلفية"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"استهلاك مرتفع للبطارية في المقدّمة"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"فئات مطوّري البرامج في الإعدادات السريعة"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏إيقاف مهلة تفويض أداة Adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‏إيقاف الإبطال التلقائي لتفويضات أداة Adb الممنوحة للأنظمة التي لم تُعد الاتصال خلال الفترة التلقائية (7 أيام) أو الفترة التي يضبطها المستخدم (الحد الأدنى يوم واحد)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"‏تتبّع أنشطة Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"إيقاف أجهزة الاستشعار"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"إعدادات ملف العمل"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"البحث عن جهات اتصال دليل العمل في التطبيقات الشخصية"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"التنقل داخل النظام، التنقُّل باستخدام زرّين، التنقُّل باستخدام ثلاثة أزرار، التنقل بالإيماءات، التمرير سريعًا"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"المساعد الرقمي"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"التمرير سريعًا لاستدعاء تطبيق المساعد"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"مرِّر سريعًا من الزاوية السفلية لاستدعاء تطبيق المساعد الرقمي."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"مرِّر سريعًا للأعلى من أسفل أحد جانبَي الشاشة لاستدعاء تطبيق \"المساعد الرقمي\"."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"تفعيل \"مساعد\" بالضغط مع الاستمرار على زر \"الشاشة الرئيسية\""</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"اضغط مع الاستمرار على زر الشاشة الرئيسية لاستدعاء تطبيق المساعد الرقمي."</string>
     <string name="low_label" msgid="6525629096999711220">"منخفضة"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"خدمة الملء التلقائي"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"الخدمة التلقائية للملء التلقائي"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"كلمات المرور"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"كلمات المرور ومفاتيح المرور وخدمات البيانات"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"مقدّمو الخدمات الإضافيون"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"الخدمة المفضَّلة"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"الخدمات الإضافية"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{كلمة مرور واحدة}zero{# كلمة مرور}two{كلمتا مرور}few{# كلمات مرور}many{# كلمة مرور}other{# كلمة مرور}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"تلقائي، ملء، ملء تلقائي، كلمة مرور"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"البيانات، مفتاح المرور، كلمة المرور"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"تلقائي، ملء، ملء تلقائي، بيانات، مفتاح مرور، كلمة مرور"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"تغيير"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"فتح"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"لم يتم اختيار أي عنصر"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"‏&lt;b&gt;تأكّد من أنك تثق بهذا التطبيق&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; تستخدم البيانات المعروضة على الشاشة لتحديد ما يمكن ملؤه تلقائيًا."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"‏&lt;b&gt;هل تريد استخدام \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\"؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; يستخدم تطبيق \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\" المحتوى الذي يظهر على شاشتك لتحديد ما يمكن ملؤه تلقائيًا. سيتم حفظ مفاتيح المرور وكلمات المرور الجديدة والمعلومات الأخرى هنا من الآن فصاعدًا."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"كلمات المرور ومفاتيح المرور وخدمات البيانات"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"‏&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; سيتم حفظ مفاتيح المرور وكلمات المرور الجديدة والمعلومات الأخرى هنا من الآن فصاعدًا. قد يستخدم تطبيق &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; المحتوى الذي يظهر على شاشتك لتحديد ما يمكن ملؤه تلقائيًا."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"الخدمة المفضّلة لكلمات المرور ومفاتيح المرور وميزة \"الملء التلقائي\""</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"‏هل تريد إيقاف %1$s؟"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"‏&lt;b&gt;هل تريد إيقاف هذه الخدمة؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; لن يتم ملء المعلومات المحفوظة، مثل كلمات المرور ومفاتيح المرور وطرق الدفع والمعلومات الأخرى عند تسجيل الدخول. لاستخدام معلوماتك المحفوظة، اختَر كلمة مرور أو مفتاح مرور أو خدمة بيانات."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"كلمات مرور ومفاتيح مرور والملء التلقائي"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"‏&lt;b&gt;هل تريد إيقاف جميع الخدمات؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; لن يتوفَّر الملء التلقائي لكلمات المرور ومفاتيح المرور وغيرها من المعلومات المحفوظة عند تسجيل الدخول."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"‏&lt;b&gt;يجب تغيير الخدمة المفضّلة إلى &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; سيتم حفظ مفاتيح المرور وكلمات المرور الجديدة والمعلومات الأخرى هنا من الآن فصاعدًا. وقد يستخدم تطبيق &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; المحتوى الذي يظهر على شاشتك لتحديد ما يمكن ملؤه تلقائيًا."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"‏هل تريد استخدام %1$s؟"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"إيقاف"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"تغيير"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"لا يمكن اختيار أكثر من 5 خدمات"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"يجب إيقاف خدمة واحدة على الأقل لإضافة خدمة أخرى."</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"‏يستخدم %1$s المحتوى الذي يظهر على شاشتك لتحديد ما يمكن ملؤه تلقائيًا."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"الحد الأقصى المسموح به لكلمات المرور ومفاتيح المرور وخدمات البيانات"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"يمكن أن يكون لديك ما يصل إلى 5 كلمات مرور ومفاتيح مرور وخدمات بيانات نشطة في الوقت نفسه. عليك إيقاف خدمة لإضافة المزيد."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"الحد الأقصى المسموح به لكلمات المرور ومفاتيح المرور وخدمات البيانات"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"يمكن أن يكون لديك ما يصل إلى 5 كلمات مرور ومفاتيح مرور وخدمات بيانات نشطة في الوقت نفسه. لإضافة المزيد، عليك إيقاف إحدى الخدمات."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"إيقاف"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"الملء التلقائي"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"مستوى التسجيل"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"يمكن تعديل تغييرات التوافق فقط للتطبيقات التي تتيح تصحيح الأخطاء فيها. ما عليك سوى تثبيت تطبيق يمكن تصحيح الأخطاء فيه، ثم إعادة المحاولة."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"يعتمد على إعداد آخر"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"الحساب"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"‏عدد الحسابات: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"اسم الجهاز"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"المعلومات الأساسية"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"المعلومات القانونية والتنظيمية"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"‏السماح بتشغيل هذا التطبيق عندما يتم مسح علامة NFC ضوئيًا\nإذا كان هذا الإذن مفعّلاً، سيتوفّر التطبيق كخيار كلّما تم رصد علامة."</string>
     <string name="media_output_title" msgid="8283629315159510680">"تشغيل الوسائط على"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"تشغيل <xliff:g id="LABEL">%s</xliff:g> على"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"سيتم تشغيل الصوت"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"هذا الجهاز"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"غير متاح أثناء المكالمات"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"تلقي المكالمة على"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"كتم الصوت"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"لتفعيل الخيار، عليك أولاً تغيير إعداد \"الضغط مع الاستمرار على زر التشغيل\" إلى قائمة زر التشغيل."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"تفاصيل الشبكة"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"‏اسم جهازك مرئي للتطبيقات على هاتفك. ويمكن أيضًا للآخرين الاطّلاع على اسم جهازك عند الاتصال بأجهزة تتضمّن بلوتوث أو الاتصال بشبكة Wi-Fi أو إعداد نقطة اتصال Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"الأجهزة"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"اختيار شبكة"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"غير متصلة"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"الاسم"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"اللون (تستخدمه التطبيقات المتوافقة)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"حفظ"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"‏استخدام شريحة SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"‏استخدام شريحة SIM هذه"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"غير مفعّل"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"‏لإيقاف شريحة SIM هذه، يمكنك إزالتها."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"يمكنك النقر لتفعيل <xliff:g id="CARRIER">%1$s</xliff:g>."</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏محو بيانات شريحة SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"‏لإيقاف شريحة SIM هذه، يمكنك إزالتها."</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"‏انقر لتفعيل شريحة SIM من شركة <xliff:g id="CARRIER">%1$s</xliff:g>."</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"‏محو بيانات eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع الشبكة المفضّل"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"تغيير وضع تشغيل الشبكة"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"نوع الشبكة المفضّل"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"راجع مقدِّم الشبكة للتعرُّف على الأسعار."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"استخدام التطبيقات للبيانات"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"وضع الشبكة <xliff:g id="NETWORKMODEID">%1$d</xliff:g> غير صالح، وعليك تجاهله."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"المراسلة باستخدام القمر الصناعي"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"يمكنك إرسال رسائل نصية واستلامها باستخدام القمر الصناعي. هذه الميزة مدرجة ضمن حسابك."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"يمكنك إرسال رسائل نصية واستلامها باستخدام القمر الصناعي. هذه الميزة غير مدرجة ضمن حسابك."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"المراسلة باستخدام القمر الصناعي"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"لمحة عن المراسلة باستخدام القمر الصناعي"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"يمكنك إرسال الرسائل النصية واستلامها عبر الأقمار الصناعية كجزء من حساب <xliff:g id="CARRIER_NAME">%1$s</xliff:g> مؤهَّل."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"خطّتك من <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ميزة المراسلة باستخدام القمر الصناعي مدرجة ضمن حسابك"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ميزة المراسلة باستخدام القمر الصناعي غير مدرجة ضمن حسابك"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"إضافة ميزة المراسلة باستخدام القمر الصناعي"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"طريقة العمل"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"في حال عدم وجود تغطية شبكة جوّال"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"سيتصل هاتفك تلقائيًا بالقمر الصناعي. للحصول على أفضل تجربة اتصال، يُرجى البقاء في مكان مفتوح بدون عوائق بين الجهاز والسماء."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"بعد اتصال الهاتف بالقمر الصناعي"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"يمكنك إرسال رسائل نصية إلى أي شخص، وكذلك الاستفادة من خدمات الطوارئ. سيحاول هاتفك الاتصال بشبكة جوّال مجددًا عند توفُّرها."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"قد تستغرق المراسلة باستخدام القمر الصناعي وقتًا أطول ولا تتوفر إلا في بعض المناطق، وقد يؤثّر الطقس وبعض المباني في اتصالك بالقمر الصناعي. لا تتوفر حاليًا ميزة إجراء المكالمات باستخدام القمر الصناعي.\n\nقد يستغرق ظهور التغييرات في حسابك ضمن \"الإعدادات\" بعض الوقت. تواصَل مع <xliff:g id="CARRIER_NAME">%1$s</xliff:g> لمعرفة التفاصيل."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"مزيد من المعلومات حول ميزة المراسلة باستخدام القمر الصناعي"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"أسماء نقاط الوصول"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"عدم التوفُّر عند الربط بمشغّل شبكة الجوّال <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"هل تريد التبديل إلى <xliff:g id="CARRIER_NAME">%1$s</xliff:g>؟"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"‏هل تريد التبديل إلى استخدام شريحة SIM؟"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"هل تريد استخدام <xliff:g id="CARRIER_NAME">%1$s</xliff:g>؟"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"‏لا يمكن تفعيل أكثر من شريحة SIM واحدة في آنٍ واحد.\n\nلن يؤدي التبديل إلى <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> إلى إلغاء خدمة <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"‏لا يمكن تفعيل أكثر من شريحة eSIM واحدة في آنٍ واحد.\n\nلن يؤدي التبديل إلى \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" إلى إلغاء خدمة \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"‏لا يمكن تفعيل أكثر من شريحة SIM واحدة في آنٍ واحد.\n\nلن يؤدي التبديل إلى إلغاء خدمة <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"‏لا يمكن تفعيل أكثر من شريحة SIM واحدة في الوقت نفسه.\n\nلن يؤدي التبديل إلى <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> إلى إلغاء خدمة <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"‏لا يمكن تفعيل أكثر من شريحة eSIM واحدة في الوقت نفسه.\n\nلن يؤدي التبديل إلى <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> إلى إلغاء خدمة <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"‏لا يمكن تفعيل أكثر من شريحة SIM واحدة في الوقت نفسه.\n\nلن يؤدي التبديل بين الشرائح إلى إلغاء خدمة <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"‏يمكنك استخدام شريحتَي SIM في آنٍ واحد. لاستخدام <xliff:g id="CARRIER_NAME">%1$s</xliff:g>، عليك إيقاف شريحة SIM الأخرى."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"التبديل إلى <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"إيقاف <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"‏لن يؤدي إيقاف شريحة SIM إلى إلغاء الخدمة."</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"جارٍ الاتصال بالشبكة…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"جارٍ التبديل إلى <xliff:g id="CARRIER_NAME">%1$s</xliff:g> للمكالمات والرسائل…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"يتعذَّر تبديل مشغِّل شبكة الجوّال"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"يتعذَّر تبديل مشغِّل شبكة الجوّال بسبب حدوث خطأ."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"‏جارٍ تفعيل شريحة SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"جارٍ التبديل إلى شريحة <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"‏تعذُّر التبديل بين شريحتَي SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"‏يتعذّر التبديل بين شريحتَي SIM بسبب حدوث خطأ."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"هل تريد إيقاف <xliff:g id="CARRIER_NAME">%1$s</xliff:g>؟"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"‏هل تريد إيقاف شريحة SIM؟"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‏جارٍ إيقاف شريحة SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"يتعذّر إيقاف مشغِّل شبكة الجوّال"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"حدث خطأ ما أدى إلى تعذُّر إيقاف مشغِّل شبكة الجوّال."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"‏يتعذّر إيقاف شريحة SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"‏تعذّر إيقاف شريحة SIM بسبب حدوث خطأ."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"‏هل تريد استخدام شريحتَي SIM؟"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"‏يمكن تفعيل شريحتَي SIM على هذا الجهاز في وقتٍ واحد. ولمواصلة استخدام شريحة SIM واحدة في كل مرة، انقر على \"لا، شكرًا\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"هل تريد إعادة تشغيل الجهاز؟"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"لا، شكرًا"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"إلغاء"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"تبديل"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"إيقاف"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‏يتعذّر تفعيل شريحة SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‏حاوِل تفعيل شريحة SIM مرة أخرى. إذا استمرت المشكلة، عليك إعادة تشغيل الجهاز."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"‏إعداد شريحة SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"‏يمكنك ضبط الإعدادات المفضّلة لشبكة الجوّال لاستخدام شرائح SIM متعددة على هذا الجهاز."</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"‏تصنيف شرائح SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ستظهر هذه التصنيفات عند إجراء مكالمات أو إرسال رسائل نصية أو استخدام بيانات الجوّال، ويمكن الوصول إليها في \"الإعدادات\"."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"‏تصنيف شريحة SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"التصنيف"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"‏اختيار شرائح SIM لاستخدامها"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"‏يمكنك استخدام شريحتَي SIM في آنٍ واحد."</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"‏إعداد شرائح SIM الرئيسية"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"‏يمكنك اختيار شرائح SIM التي تريد استخدامها تلقائيًا لإجراء المكالمات أو إرسال الرسائل النصية أو استخدام بيانات الجوّال."</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"‏شرائح SIM الرئيسية"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"المكالمات"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"الرسائل النصية"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"‏التبديل التلقائي لبيانات SIM"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"‏استخدِم البيانات المستمدة من شريحة SIM اعتمادًا على مدى التغطية أو التوفّر."</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"البيانات فقط"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"إعداد"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"التالي"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"جارٍ تفعيل <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"شبكة الجوّال"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"رقم الهاتف"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"‏تصنيف شريحة SIM ولونها"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"تفعيل الشبكة"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"جارٍ تبديل مشغِّل شبكة الجوّال"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"مشغّل شبكة الجوّال <xliff:g id="CARRIER_NAME">%1$s</xliff:g> مفعّل"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"‏شريحة SIM من <xliff:g id="CARRIER_NAME">%1$s</xliff:g> مفعَّلة"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"‏انقر لتعديل إعدادات شريحة SIM."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"تم التبديل إلى <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"تم التبديل إلى مشغّل شبكة جوّال آخر"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"تم تغيير شبكة الجوّال."</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"‏إعداد شريحة SIM الأخرى"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"‏اختَر شريحة SIM المفعّلة أو استخدِم شريحتي SIM في وقت واحد."</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"اختيار الرقم الذي تريد استخدامه"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{يتوفّر رقم واحد على هذا الجهاز، غير أنّه لا يمكن استخدام سوى رقم واحد في كل مرّة.}=2{يتوفّر رقمان على هذا الجهاز، غير أنّه لا يمكن استخدام سوى رقم واحد في كل مرّة.}zero{يتوفّر # رقم على هذا الجهاز، غير أنّه لا يمكن استخدام سوى رقم واحد في كل مرّة.}few{يتوفّر # أرقام على هذا الجهاز، غير أنّه لا يمكن استخدام سوى رقم واحد في كل مرّة.}many{يتوفّر # رقمًا على هذا الجهاز، غير أنّه لا يمكن استخدام سوى رقم واحد في كل مرّة.}other{يتوفّر # رقم على هذا الجهاز، غير أنّه لا يمكن استخدام سوى رقم واحد في كل مرّة.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"جارٍ التفعيل<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"تعذَّر التفعيل الآن."</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"‏اختيار شريحة SIM لاستخدامها"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{‏تتوفّر شريحة SIM واحدة على هذا الجهاز، علمًا بأنّه لا يمكن استخدام سوى شريحة واحدة في كل مرّة.}=2{‏تتوفّر شريحتا SIM على هذا الجهاز، علمًا بأنّه لا يمكن استخدام سوى شريحة واحدة في كل مرّة.}zero{‏تتوفّر # شريحة SIM على هذا الجهاز، علمًا بأنّه لا يمكن استخدام سوى شريحة واحدة في كل مرّة.}few{‏تتوفّر # شرائح SIM على هذا الجهاز، علمًا بأنّه لا يمكن استخدام سوى شريحة واحدة في كل مرّة.}many{‏تتوفّر # شريحة SIM على هذا الجهاز، علمًا بأنّه لا يمكن استخدام سوى شريحة واحدة في كل مرّة.}other{‏تتوفّر # شريحة SIM على هذا الجهاز، علمًا بأنّه لا يمكن استخدام سوى شريحة واحدة في كل مرّة.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"جارٍ التفعيل<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"‏تعذَّر تفعيل شريحة SIM هذه في الوقت الحالي."</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"هل تريد استخدام <xliff:g id="CARRIER_NAME">%1$s</xliff:g>؟"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"سيتم استخدام <xliff:g id="CARRIER_NAME">%1$s</xliff:g> لبيانات الجوَّال والمكالمات والرسائل القصيرة."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"‏لا تتوفّر أي شرائح SIM مفعّلة"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"لاستخدام بيانات الجوّال وميزات المكالمات والرسائل القصيرة في وقتٍ لاحق، انتقِل إلى إعدادات الشبكة."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"‏شريحة SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"‏هل تريد محو بيانات شريحة eSIM؟"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‏سيؤدي محو بيانات شريحة SIM هذه إلى إزالة خدمة <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> من هذا الجهاز.\n\nلن يتم إلغاء خدمة <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"سيؤدي هذا الإجراء إلى إزالة خدمة <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> من هذا الجهاز، ولكن لن يتم إلغاء خطّتك من <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"محو البيانات"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"‏جارٍ محو بيانات شريحة SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‏يتعذّر محو بيانات شريحة SIM."</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‏يتعذّر محو بيانات شريحة SIM هذه بسبب حدوث خطأ.\n\nيمكنك إعادة تشغيل الجهاز والمحاولة مرة أخرى."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"‏جارٍ محو بيانات شريحة eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"‏يتعذّر محو بيانات شريحة eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"‏تعذَّر محو بيانات شريحة eSIM هذه بسبب حدوث خطأ.\n\nيمكنك إعادة تشغيل الجهاز وإعادة المحاولة."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"الاتصال بالجهاز"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏يريد تطبيق <xliff:g id="APPNAME">%1$s</xliff:g> استخدام شبكة Wi‑Fi مؤقتة للاتصال بجهازك."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"لم يتمّ العثور على أيّ أجهزة. تأكَّد من تشغيل الأجهزة وتوفّرها للاتصال."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"مكالمات الطوارئ"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"‏لا يتيح مشغّل شبكة الجوّال مكالمات الطوارئ من خلال ميزة \"الاتصال عبر Wi-Fi\".\nويتم تبديل الجهاز تلقائيًا إلى شبكة جوّال لإجراء مكالمة طوارئ.\nلا يمكن إجراء مكالمات الطوارئ إلا في المناطق التي تتوفّر فيها تغطية شبكة الجوّال."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"‏استخدام شبكة Wi‑Fi لإجراء المكالمات لتحسين الجودة"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"الاتصال الاحتياطي"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"‏إذا لم يكن <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> متاحًا أو تم تفعيل التجوال، استخدِم بيانات الجوَال لشريحة SIM لإجراء وتلقّي مكالمات <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"الاتصال الاحتياطي"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"رسالة وسائط متعددة واردة"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"يتعذّر إرسال رسالة وسائط متعددة"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"انقر للسماح بالمراسلة باستخدام رسائل الوسائط المتعددة على <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> عند إيقاف بيانات الجوّال."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"معلومات سياسة العمل"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"يتولى مشرف تكنولوجيا المعلومات إدارة الإعدادات."</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"وحدة معالجة الرسومات"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"التشغيل مع صفحات حجمها 16 كيلوبايت"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"التشغيل بنواة متوافقة مع صفحات حجمها 16 كيلوبايت"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"هل تريد إعادة التشغيل بنواة متوافقة مع الصفحات التي حجمها 16 كيلوبايت؟"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"تحذير: قد لا تتوافق بعض التطبيقات مع هذا الوضع. وستتم إعادة تشغيل الجهاز بعد التأكيد."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"هل تريد إعادة التشغيل بنواة متوافقة مع الصفحات التي حجمها 4 كيلوبايت؟"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"ستتم إعادة تشغيل الجهاز بعد التأكيد."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"تعذَّر تحديث النواة إلى إصدار متوافق مع الصفحات التي حجمها 16 كيلوبايت."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"جارٍ تطبيق التغييرات"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"معالِج تقارير الأخطاء"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"يحدّد هذا الإعداد التطبيق الذي سيعالج اختصار \"تقرير الأخطاء\" على جهازك."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"شخصي"</string>
@@ -4510,16 +4759,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"السماح للتطبيقات التي يمكن عرضها على التطبيقات الأخرى بالظهور فوق المحتوى على شاشات \"الإعدادات\""</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"السماح بخدمة مودم وهمي"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"يمكنك السماح لهذا الجهاز بتشغيل خدمة المودم الوهمي لتنفيذ اختبار لقياس حالة التطبيق. لا تفعِّل هذه الخدمة أثناء الاستخدام العادي للهاتف."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"إيقاف إجراءات الحماية المطبّقة أثناء مشاركة الشاشة"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"يؤدي هذا الخيار إلى إيقاف إجراءات الحماية التي يطبِّقها النظام على التطبيقات والإشعارات أثناء مشاركة الشاشة."</string>
     <string name="media_controls_title" msgid="403271085636252597">"الوسائط"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"تثبيت مشغّل الوسائط"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"لاستئناف التشغيل بسرعة، يظل مشغّل الوسائط مفتوحًا في \"الإعدادات السريعة\"."</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"إظهار الوسائط على شاشة القفل"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"لاستئناف التشغيل بسرعة، يظل مشغِّل الوسائط مفتوحًا في شاشة القفل."</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"إظهار اقتراحات الوسائط"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"‏عرض اقتراحات الوسائط من \"مساعد Google\""</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"استنادًا إلى أنشطتك"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"إخفاء المشغِّل"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"إظهار المشغِّل"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"الوسائط"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"السماح بإضافات برنامج الكاميرا"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"‏إتاحة التنفيذ البرمجي التلقائي لميزات الكاميرا المتقدّمة، مثل Eyes Free videography"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"سيتم تفعيل البلوتوث."</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"الإنترنت"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"‏شرائح SIM"</string>
@@ -4547,8 +4800,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"‏شرائح eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"نشطة"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"غير نشطة"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"مفعَّلة"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"غير مفعَّلة"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / إعدادات <xliff:g id="ID_1">%1$s</xliff:g> التلقائية"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"المكالمات"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"الرسائل القصيرة"</string>
@@ -4704,8 +4957,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"الصوت الصادر من الوسائط المتوافقة يصبح أكثر وضوحًا."</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"تتبُّع حركة الرأس"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"يتغيّر الصوت بينما تُحرك رأسك ليبدو طبيعيًا جدًا."</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"مزامنة الأذونات"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"منح <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> أذونات التطبيقات نفسها التي سبق السماح بها على <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"مزامنة الأذونات من الهاتف"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"امنح ساعتك أذونات التطبيقات نفسها التي سبق أن سمحت بها على هذا الهاتف."</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"نوع الجهاز السماعي"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"غير معروف"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"مكبّر صوت"</string>
@@ -4801,4 +5054,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"متوسط"</string>
     <string name="contrast_high" msgid="3988567609694797696">"مرتفع"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"لا يمكن فتح هذا التطبيق إلا في نافذة واحدة."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"الميزة مفعّلة"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"الميزة غير مفعّلة"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"الاختصار غير مفعَّل"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"الاختصار غير مفعَّل"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"الميزة مفعَّلة"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"الميزة غير مفعَّلة"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"الميزة مفعَّلة"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"الميزة غير مفعَّلة"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"تحوّل هذه الميزة الشاشات المضيئة إلى معتمة والشاشات المعتمة إلى مضيئة."</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"يمكنك تكبير الشاشة."</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"الميزة غير مفعَّلة"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"الخيار غير مفعَّل"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"الفحص بحثًا عن التطبيقات المخادِعة"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"التحقُّق من النشاط على التطبيقات بحثًا عن محاولات التصيّد الاحتيالي"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"استخدام الفحص بحثًا عن التطبيقات المخادِعة"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"استخدام الفحص بحثًا عن التطبيقات المخادِعة في ملف العمل"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"تم إعداد كلمة المرور."</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"إظهار المؤشر عند التمرير"</string>
 </resources>
diff --git a/res/values-as/arrays.xml b/res/values-as/arrays.xml
index 702d076..40eb7d7 100644
--- a/res/values-as/arrays.xml
+++ b/res/values-as/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"উপলব্ধ"</item>
     <item msgid="6096962300722555553">"সীমাৰ বাহিৰত"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"অক্ষম কৰা আছে"</item>
+    <item msgid="7781484297606806796">"ইউনিকাষ্ট"</item>
+    <item msgid="6667451574264144311">"ইউনিকাষ্ট আৰু সম্প্ৰচাৰ"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ছিষ্টেম ডিফ\'ল্ট ব্যৱহাৰ কৰক: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"১"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"১ মিনিটৰ পাছত"</item>
     <item msgid="1574040255478150028">"৫ মিনিটৰ পাছত"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-as/strings.xml b/res/values-as/strings.xml
index abf5e53..50535a1 100644
--- a/res/values-as/strings.xml
+++ b/res/values-as/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"এতিয়া আপুনি এগৰাকী বিকাশকৰ্তা!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"কোনো প্ৰয়োজন নাই, আপুনি ইতিমধ্যে এগৰাকী ডেভেলপাৰ।"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"অনুগ্ৰহ কৰি প্ৰথমে বিকাশকৰ্তাৰ বিকল্পসমূহ সক্ষম কৰক।"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"কেৱল প্ৰশাসক ব্যৱহাৰকাৰীসকলেহে বিকাশকৰ্তাৰ ছেটিং এক্সেছ কৰিব পাৰে।"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ছিষ্টেম"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"সেৱাত আছে"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"সেৱাত নাই"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"আপুনি নিজৰ ডিভাইচটো জপালে ফ্ৰণ্ট ডিছপ্লে’ অন হয়"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"কেৱল গে’ম, ভিডিঅ’ আৰু বহুতো"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"আপোনাৰ স্ক্ৰীনখন নিষ্ক্ৰিয় হোৱাটো বন্ধ কৰা এপৰ বাবে ফ্ৰণ্ট ডিছপ্লে’ অন কৰে"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"অব্যাহত ৰাখিবলৈ ওপৰলৈ ছোৱাইপ কৰক"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"এপ্‌টো ব্যৱহাৰ কৰি থাকিবলৈ আপোনাৰ ফ’নটো ভাঁজ কৰক আৰু ফ্ৰণ্ট ডিছপ্লে’ত ওপৰলৈ ছোৱাইপ কৰক বা স্ক্ৰীনখন লক হোৱাৰ বাবে কেইছেকেণ্ডমান অপেক্ষা কৰক"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"কেতিয়াও নহয়"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"আপুনি নিজৰ ডিভাইচটো জপালে ফ্ৰণ্ট ডিছপ্লে’ লক হয়"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"স্বয়ং-ঘূৰ্ণনৰ সুবিধা ব্যৱহাৰ কৰক"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"প্ৰাসংগিক"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ৰিংট’ন আৰু এলাৰ্ম"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"কল কৰি থকাৰ সময়ত অডিঅ’"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"মিডিয়া"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"জাননী আৰু ছিষ্টেমৰ অন্য ধ্বনি"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"মিডিয়া আৰু ছিষ্টেমৰ ধ্বনি"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"জাননী"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ডিফ’ল্ট হিচাপে ব্যক্তিগত এপ্‌সমূহে অডিঅ’ আউটপুট নিৰ্ধাৰণ কৰে"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"নামবিহীন ব্লুটুথ ডিভাইচ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"সন্ধান কৰি থকা হৈছে"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"বাতিল কৰক"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ব্লুটুথ LE অডিঅ’ অক্ষম কৰক"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ডিভাইচটোৱে LE অডিঅ’ হাৰ্ডৱেৰ ক্ষমতাসমূহ সমৰ্থন কৰিলে ই ব্লুটুথ LE অডিঅ’ সুবিধাসমূহ অক্ষম কৰে।"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ব্লুটুথ LE অডিঅ’ ম’ড"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ডিভাইচৰ সবিশেষত LE অডিঅ’ৰ ট’গল দেখুৱাওক"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ব্লুটুথ LE অডিঅ’ অনুমতি দিয়া সূচীৰ সুবিধাটো অক্ষম কৰক"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ব্লুটুথ LE অডিঅ’ অনুমতি দিয়া সূচীৰ সুবিধাটো অক্ষম কৰক।"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ব্লুটুথ LE অডিঅ’ৰ অনুমতি দিয়া সূচী বাইপাছ কৰক"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE অডিঅ’ৰ পৰিধীয় ডিভাইচে অনুমতি দিয়া সূচীৰ যোগ্যতাৰ মাপকাঠী মানি চলিছে বুলি সত্যাপন নকৰিলেও ডিফ’ল্ট হিচাপে LE অডিঅ’ ব্যৱহাৰ কৰক।"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"মিডিয়া ডিভাইচসমূহ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"কল ডিভাইচসমূহ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"অন্য ডিভাইচসমূহ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ছেভ কৰি থোৱা ডিভাইচসমূহ"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"একাউণ্টৰ সৈতে সম্পৰ্কিত"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"পূৰ্বতে একাউণ্টৰ সৈতে ব্যৱহাৰ কৰা হৈছে"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"পেয়াৰ কৰিবলৈ ব্লুটুথ অন হ’ব"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"সংযোগৰ অগ্ৰাধিকাৰসমূহ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"আগতে সংযোগ কৰা"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ব্লুটুথ অন কৰা হ’ল"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"আটাইবোৰ চাওক"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"আটাইবোৰ চাওক"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ষ্টাইলাছ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"টেইল বুটাম টিপা"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (কৰ্মস্থানৰ প্ৰ’ফাইল)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"পাঠৰ ক্ষেত্ৰসমূহত লিখক"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ষ্টাইলাছ বুটামত দিয়া আটাইবোৰ টিপা উপেক্ষা কৰক"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ষ্টাইলাছ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"অডিঅ’ শ্বেয়াৰ কৰা"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"অডিঅ’ শ্বেয়াৰ কৰক"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"কল আৰু এলাৰ্ম"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"কিউআৰ ক’ড ব্যৱহাৰ কৰি এটা অডিঅ’ ষ্ট্ৰীমৰ সৈতে সংযোগ কৰক"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"কোনো নিকটৱৰ্তী অডিঅ’ ষ্ট্ৰীম পোৱা নগ’ল।"</string>
     <string name="date_and_time" msgid="1788358029823431692">"তাৰিখ আৰু সময়"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"প্ৰক্সি"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"মচক"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"অগ্ৰাধিকাৰপ্ৰাপ্ত ভাষাসমূহত %s যোগ দিবনে?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"এইটোৱে এপ্‌ আৰু ৱেবছাইটসমূক জানিবলৈ দিয়ে যে আপুনিও এই ভাষাটোক অগ্ৰাধিকাৰ দিয়ে।"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"আপোনাৰ ডিভাইচৰ ছেটিং আৰু আঞ্চলিক অগ্ৰাধিকাৰসমূহ সলনি হ’ব।"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"সলনি কৰক"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s উপলব্ধ নহয়"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"শনিবাৰ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"যদি কোনো এপে আঞ্চলিক অগ্ৰাধিকাৰ সমৰ্থন নকৰে, এপ্‌টোৱে নিজৰ ডিফ’ল্ট স্থানীয় ছেটিং ব্যৱহাৰ কৰিব।"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ভাষাৰ অগ্ৰাধিকাৰৰ বিষয়ে অধিক জানক।"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"অতিৰিক্ত অগ্ৰাধিকাৰসমূহ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"সম্বোধনৰ চৰ্তাৱলী"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"আপোনাক কেনেকৈ সম্বোধন কৰাটো বিচাৰে সেয়া ছেট কৰক"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"এপ্‌সমূহে আপোনাক কেনেকৈ সম্বোধন কৰে সেইটো ব্যক্তিগতকৰণ কৰিবলৈ আপোনাৰ সম্বোধন সম্পৰ্কীয় শব্দসমূহ ব্যৱহাৰ কৰিব পাৰে।"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"নিৰ্দিষ্ট কৰা হোৱা নাই"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"নাৰী-বিষয়ক"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"পুৰুষ-বিষয়ক"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"নিৰপেক্ষ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{বাছনি কৰা ভাষাটো আঁতৰাবনে?}one{বাছনি কৰা ভাষাসমূহ আঁতৰাবনে?}other{বাছনি কৰা ভাষাসমূহ আঁতৰাবনে?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"পাঠ অইন এটা ভাষাত দেখুওৱা হ\'ব।"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"আটাইবোৰ ভাষা আঁতৰাব নোৱাৰি"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"অৱস্থান"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"অৱস্থান ব্যৱহাৰ কৰক"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"অফ আছে"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{অন আছে - # টা এপে অৱস্থান এক্সেছ কৰিব পাৰে}one{অন আছে - # টা এপে অৱস্থান এক্সেছ কৰিব পাৰে}other{অন আছে - # টা এপে অৱস্থান এক্সেছ কৰিব পাৰে}}"</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_location_off" msgid="8568995909147566720">"এপ্‌ আৰু সেৱাৰ বাবে অৱস্থানৰ এক্সেছ অফ কৰা আছে। আপুনি কোনো জৰুৰীকালীন নম্বৰলৈ কল কৰিলে অথবা বাৰ্তা পঠিয়ালে আপোনাৰ ডিভাইচৰ অৱস্থান তথাপি জৰুৰীকালীন পৰিস্থিতিত সঁহাৰি দিয়া লোকলৈ পঠিওৱা হ’ব পাৰে।"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"অৱস্থানৰ ছেটিঙৰ বিষয়ে অধিক জানক।"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"অৱস্থানৰ ছেটিঙৰ বিষয়ে অধিক জানক"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"অৱস্থানৰ এক্সেছ সলাবলৈ, ছেটিং &gt; সুৰক্ষা আৰু গোপনীয়তা &gt; গোপনীয়তাৰ নিয়ন্ত্ৰণলৈ যাওক"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"একাউণ্টসমূহ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"সুৰক্ষা"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"এনক্ৰিপশ্বন আৰু ক্ৰিডেনশ্বিয়েল"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"সকলোতকৈ ভাল ফলাফল পাবলৈ, Made for Google বুলি প্ৰমাণিত এটা স্ক্ৰীনৰ সুৰক্ষা প্ৰদানকাৰী ব্যৱহাৰ কৰক। অন্য স্ক্ৰীনৰ সুৰক্ষা প্ৰদানকাৰীৰ সৈতে আপোনাৰ শিশুৰ ফিংগাৰপ্ৰিণ্টে কাম নকৰিব পাৰে।"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধা"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"আপুনি ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিলে, আপুনি মুখ ঢকা বন্ধনী পিন্ধি থাকিলে অথবা কোনো অন্ধকাৰ ঠাইত থাকিলে আপোনাৰ ফ’নটোৱে আপোনাৰ ফিংগাৰপ্ৰিণ্ট বিচাৰিব।\n\nআপোনাৰ মুখাৱয়ব অথবা ফিংগাৰপ্ৰিণ্ট চিনাক্ত কৰিব নোৱাৰিলে আপুনি আপোনাৰ ঘড়ীটোৰ জৰিয়তে আনলক কৰিব পাৰিব।"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"আপোনাৰ ফিংগাৰপ্ৰিণ্ট চিনাক্ত কৰিব নোৱাৰিলে আপুনি আপোনাৰ ঘড়ীটোৰ জৰিয়তে আনলক কৰিব পাৰিব।"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"আপোনাৰ মুখাৱয়ব চিনাক্ত কৰিব নোৱাৰিলে আপুনি আপোনাৰ ঘড়ীটোৰ জৰিয়তে আনলক কৰিব পাৰিব।"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"আপুনি ফেচ আনলক আৰু ফিংগাৰপ্ৰিণ্ট আনলক ছেট আপ কৰিলে, আপুনি মুখা পিন্ধি থাকিলে অথবা কোনো অন্ধকাৰ ঠাইত থাকিলে আপোনাৰ ফ’নটোৱে আপোনাৰ ফিংগাৰপ্ৰিণ্ট বিচাৰিব।\n\nঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটো আপোনাৰ ফ’নটো আনলক কৰাৰ অন্য এটা বিশ্বাসযোগ্য উপায়, যেনে, যেতিয়া আপোনাৰ আঙুলিবোৰ আঙুলিকেইটা তিতি থাকিলে অথবা আপোনাৰ মুখাৱয়ব চিনাক্ত কৰিব নোৱাৰিলে।"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটো আপোনাৰ ফ’নটো আনলক কৰাৰ অন্য এটা বিশ্বাসযোগ্য উপায়, যেনে, যেতিয়া আপোনাৰ ফিংগাৰপ্ৰিণ্ট চিনাক্ত কৰিব নোৱাৰিলে।"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটো আপোনাৰ ফ’নটো আনলক কৰাৰ অন্য এটা বিশ্বাসযোগ্য উপায়, যেনে, যেতিয়া আপোনাৰ মুখাৱয়ব চিনাক্ত কৰিব নোৱাৰিলে।"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"এয়া কৰিবলৈ ফিংগাৰপ্ৰিণ্ট অথবা ঘড়ী ব্যৱহাৰ কৰক"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"এয়া কৰিবলৈ মুখাৱয়ব অথবা ঘড়ী ব্যৱহাৰ কৰক"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"এয়া কৰিবলৈ মুখাৱয়ব, ফিংগাৰপ্ৰিণ্ট অথবা ঘড়ী ব্যৱহাৰ কৰক"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটো হৈছে এই ফ’নটো আনলক কৰাৰ অন্য এটা বিশ্বাসযোগ্য উপায়, যেনে, আপোনাৰ আঙুলিকেইটা তিতি থাকিলে অথবা মুখাৱয়ব চিনাক্ত নকৰিলে।\n\nআপুনি এইবোৰ পৰিস্থিতিত এই ফ’নটো আনলক কৰিবলৈ আপোনাৰ ঘড়ীটো ব্যৱহাৰ কৰিব পাৰে:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"এতিয়া নহয়"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"অব্যাহত ৰাখক"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"অধিক"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"এইটোৱে কেনেকৈ কাম কৰে"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"আপোনাৰ ঘড়ীটো আনলক কৰা অৱস্থাত, আপোনাৰ হাতৰ মণিবন্ধত থকাৰ লগতে এই ফ’নটোৰ ওচৰত থাকিবই লাগিব। আপোনাৰ ঘড়ীটো আপোনাৰ হাতৰ মণিবন্ধত থকাৰ সময়ত আপুনি সেইটো পুনৰ আনলক কৰিব নালাগে।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"এই ফ’নটো আনলক কৰিলে, আপুনি নিজৰ ঘড়ীত জাননী পাব। এইটো আপুনি নিবিচৰাকৈ আনলক কৰা হ’লে, পুনৰ ফ’নটো লক কৰিবলৈ জাননীত টিপক।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"নিয়ন্ত্ৰণ আপোনাৰ হাতত আছে"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"আপুনি ছেটিঙত যিকোনো সময়তে ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটোৰ পৰা আপোনাৰ ঘড়ীটো আঁতৰাব পাৰে"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"কোনো জাননীত টিপক"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"লক স্ক্ৰীনত ওপৰলৈ ছোৱাইপ কৰক"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"আপোনাৰ ঘড়ীটো বাছনি কৰক"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"উপলব্ধ ঘড়ী"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"বাতিল কৰক"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"নিশ্চিত কৰক"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"আপুনি সম্পূৰ্ণ সাজু!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"আপুনি এতিয়া লক স্ক্ৰীনত ওপৰলৈ ছোৱাইপ কৰোঁতে অথবা কোনো জাননীত টিপাৰ সময়ত আপুনি নিজৰ ফ’নটো আনলক কৰিবলৈ আপোনাৰ ঘড়ীটো ব্যৱহাৰ কৰিব পাৰে"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"কৰা হ’ল"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধা"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"আপুনি লক স্ক্ৰীনত ওপৰলৈ ছোৱাইপ কৰিলে অথবা কোনো জাননীত টিপিলে নিজৰ ফ’নটো আনলক কৰিবলৈ আপোনাৰ ঘড়ীটো ব্যৱহাৰ কৰিব পাৰে"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটো ব্যৱহাৰ কৰিবলৈ, আপোনাৰ ঘড়ীটো আনলক কৰা অৱস্থাত হাতৰ মণিবন্ধত থকাৰ লগতে সেইটো ওচৰতে তথা ফ’নটোৰ সৈতে সংযুক্ত হৈ থাকিবই লাগিব। যদি সংযোগটো ব্যাহত হয়, আপুনি ঘড়ীৰ দ্বাৰা আনলক কৰাৰ সুবিধাটো ব্যৱহাৰ কৰিব পৰা হোৱাৰ পূৰ্বে ফ’নটো আনলক কৰিব লাগিব।\n\nমনত ৰাখিব:\nআপুনি এবাৰত কেৱল এটা ঘড়ী ছেট আপ কৰি ৰাখিব পাৰে। আন এটা ঘড়ী যোগ দিবলৈ, প্ৰথমে বৰ্তমানৰটো আঁতৰাওক।"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"কাৰ্যৰ বাবে ফেচ আৰু ফিংগাৰপ্ৰিন্ট আনলক"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ছেটআপৰ আৱশ্যক"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"সুৰক্ষা"</string>
     <string name="privacy_header" msgid="5526002421324257007">"গোপনীয়তা"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"কৰ্মস্থানৰ প্ৰ’ফাইল"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ব্যক্তিগত স্পে’চ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ব্যক্তিগত এপ্‌ লক কৰি লুকুৱাই ৰাখক"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ব্যক্তিগত এপ্‌সমূহ আপুনি লুকুৱাই ৰাখিব বা লক কৰিব পৰা এটা পৃথক স্পেচত ৰাখক"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ব্যক্তিগত স্পে’চৰ লক"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"আপুনি আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ব্যৱহাৰ কৰা একেটা পদ্ধতি ব্যৱহাৰ কৰি আপোনাৰ ব্যক্তিগত স্পে’চ আনলক কৰিব পাৰে অথবা অন্য কোনো লক বাছনি কৰিব পাৰে"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ডিভাইচৰ স্ক্ৰীন লক ব্যৱহাৰ কৰক"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"মুখাৱয়ব আৰু ফিংগাৰপ্ৰিণ্টৰ দ্বাৰা আনলক কৰা"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ফিংগাৰপ্ৰিণ্ট আনলক"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ফে’চ আনলক"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ছেট আপ কৰিবলৈ টিপক"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ব্যক্তিগত স্পে’চৰ বাবে ফিংগাৰপ্ৰিণ্ট আনলক"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ব্যক্তিগত স্পে’চৰ বাবে ফে’চ আনলক"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"আনলক কৰাৰ উপায়"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ডিভাইচৰ স্ক্ৰীন লকৰ দৰে একেই"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ব্যক্তিগত স্পে’চৰ বাবে নতুন লক বাছনি কৰিবনে?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"প্ৰাইভেট স্পেচ স্বয়ংক্ৰিয়ভাৱে লক কৰক"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"যদি আপুনি কিছু সময়ৰ বাবে আপোনাৰ ডিভাইচ ব্যৱহাৰ কৰা নাই, তেন্তে আপুনি আপোনাৰ প্ৰাইভেট স্পেচ স্বয়ংক্ৰিয়ভাৱে লক কৰিব পাৰে"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"প্ৰতিবাৰ ডিভাইচটো লক হ’লে"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"৫ মিনিটৰ নিষ্ক্ৰিয়তাৰ পাছত"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"কেতিয়াও নহয়"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"লক হৈ থকাৰ সময়ত লুকুৱাওক"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"লক কৰি থোৱা অৱস্থাত ব্যক্তিগত স্পে’চ লুকুৱাওক"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"আপোনাৰ ডিভাইচত ব্যক্তিগত স্পে’চ থকাৰ বিষয়ে অন্য লোকে জনাটো বন্ধ কৰিবলৈ, আপুনি এইটো আপোনাৰ এপৰ সূচীৰ পৰা লুকুৱাব পাৰে"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"লুকুৱাই ৰখা অৱস্থাত ব্যক্তিগত স্পে’চ এক্সেছ কৰক"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"আপোনাৰ এপৰ সূচীৰ পৰা, সন্ধানৰ দণ্ডত \"প্ৰাইভেট স্পেচ\" দিয়ক"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ব্যক্তিগত স্পে’চৰ টাইলত টিপক"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"আপোনাৰ ব্যক্তিগত স্পে’চ আনলক কৰক"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"অফ আছে"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"অন আছে"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ছিষ্টেম"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"প্ৰাইভেট স্পে’চ মচক"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"প্ৰাইভেট স্পে’চ মচিবনে?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"আপোনাৰ ডিভাইচৰ পৰা আপোনাৰ প্ৰাইভেট স্পে’চ আঁতৰোৱা হ’ব। আটাইবোৰ ব্যক্তিগত এপ্‌ আৰু ডেটা মচা হ’ব। আপুনি এই কাৰ্য আনডু কৰিব নোৱাৰে।"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"তলত উল্লেখিত একাউণ্টসমূহ আপোনাৰ প্ৰাইভেট স্পে’চৰ পৰা আঁতৰোৱা হ’ব:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"মচক"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"প্ৰাইভেট স্পে’চ মচি থকা হৈছে…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ইয়াৰ বাবে কেইমুহূৰ্তমান লাগিব"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ব্যক্তিগত স্পে’চ মচা হ’ল"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ব্যক্তিগত স্পে’চ মচিব পৰা নগ’ল"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"প্ৰাইভেট স্পেচ আনলক কৰা হৈছে"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"এটা স্ক্ৰীন লক ছেট কৰক"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"আপোনাৰ ব্যক্তিগত স্পে’চ ব্যৱহাৰ কৰিবলৈ ডিভাইচত এটা স্ক্ৰীন লক ছেট কৰক"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"স্ক্ৰীন লক ছেট কৰক"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"বাতিল কৰক"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"বাতিল কৰক"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ছেট আপ কৰক"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ব্যক্তিগত স্পে’চ এটা ছেট আপ কৰক"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ব্যক্তিগত এপ্‌সমূহ আপুনি লুকুৱাই ৰাখিব অথবা লক কৰিব পৰা এটা পৃথক স্পেচত ৰাখক"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ই কেনেকৈ কাম কৰে"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"আপুনি আপোনাৰ এপৰ সূচীখনৰ একেবাৰে তলৰ পৰা আপোনাৰ ব্যক্তিগত স্পে’চ এক্সেছ কৰিব পাৰে"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ব্যক্তিগত স্পে’চত থকা এপ্ এটা লকেৰে সুৰক্ষিত কৰা হয়"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"আপোনাৰ ব্যক্তিগত স্পে’চ লক হৈ থাকিলে তাত থকা এপৰ জাননী লুকুওৱা হয়"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"আপোনাৰ ব্যক্তিগত স্পে’চ লক কৰি থোৱা অৱস্থাত আপোনাৰ ব্যক্তিগত স্পে’চত এপ্‌সমূহ অনুমতিৰ পৰিচালক, গোপনীয়তাৰ ডেশ্বব’ৰ্ড আৰু অন্য ছেটিঙত প্ৰদৰ্শিত নহ’ব।\n\nআপোনাৰ ব্যক্তিগত স্পে’চ এটা নতুন ডিভাইচলৈ নিব নোৱাৰি। আপুনি অন্য এটা ডিভাইচত ব্যক্তিগত স্পে’চ ব্যৱহাৰ কৰিব বিচাৰিলে আপুনি অন্য এটা ব্যক্তিগত স্পে’চ ছেট আপ কৰিব লাগিব।\n\nআপোনাৰ ডিভাইচটো কোনো কম্পিউটাৰৰ সৈতে সংযোগ কৰা অথবা আপোনাৰ ডিভাইচত ক্ষতিকাৰক এপ্ ইনষ্টল কৰা যিকোনো লোকে আপোনাৰ ব্যক্তিগত স্পে’চ এক্সেছ কৰিব পাৰিব পাৰে।"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ব্যক্তিগত স্পে’চ ছেট আপ কৰি থকা হৈছে…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ব্যক্তিগত স্পে’চ লক হৈ থাকিলে তাত থকা এপৰ জাননী লুকুওৱা হয়"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ফট’ অথবা ফাইল শ্বেয়াৰ কৰিবলৈ ব্যক্তিগত স্পে’চ আনলক কৰক"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"কিছুমান এপ ইতিমধ্যে আপোনাৰ ব্যক্তিগত স্পে’চত ইনষ্টল কৰা হৈছে"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"কোনো ব্যক্তিগত স্পে’চ ছেট আপ কৰিব পৰা নগ’ল"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"পুনৰ চেষ্টা কৰক"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ব্যক্তিগত স্পে’চ আনলক কৰিবলৈ স্ক্ৰীন লক ব্যৱহাৰ কৰিবনে?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"আপুনি আপোনাৰ ডিভাইচটো আনলক কৰিবলৈ ব্যৱহাৰ কৰা একেটা পদ্ধতি ব্যৱহাৰ কৰি আপোনাৰ ব্যক্তিগত স্পে’চ আনলক কৰিব পাৰে অথবা অন্য কোনো লক বাছনি কৰিব পাৰে"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"স্ক্ৰীন লক ব্যৱহাৰ কৰক"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"নতুন লক বাছনি কৰক"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"সকলো সাজু!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"আপোনাৰ ব্যক্তিগত স্পে’চ বিচাৰিবলৈ কৰিবলৈ, আপোনাৰ এপৰ সূচীখনলৈ গৈ তাৰ পাছত তললৈ স্ক্ৰ’ল কৰক"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"কৰা হ’ল"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ব্যক্তিগত স্পে’চ বিচাৰিবলৈ তললৈ স্ক্ৰ’ল কৰক"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ছাইন ইন কৰক"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"আপোনাৰ প্ৰাইভেট স্পেচৰ জৰিয়তে ব্যৱহাৰ কৰিবলৈ এটা একাউণ্টত ছাইন ইন কৰক"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"এতিয়া নহয়"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"অব্যাহত ৰাখক"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"আপোনাৰ ব্যক্তিগত স্পে’চৰ বাবে এটা লক বাছনি কৰক"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"আপুনি আপোনাৰ ফিংগাৰপ্ৰিণ্ট ব্যৱহাৰ কৰি আপোনাৰ ব্যক্তিগত স্পে’চ আনলক কৰিব পাৰে। সুৰক্ষাৰ বাবে, এই বিকল্পটোক এটা বেকআপ লকৰ আৱশ্যক।"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"প্ৰাইভেট স্পেচৰ বাবে এটা পিন ছেট কৰক"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"প্ৰাইভেট স্পেচৰ বাবে এটা পাছৱৰ্ড ছেট কৰক"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"প্ৰাইভেট স্পেচৰ বাবে এটা আৰ্হি ছেট কৰক"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"আপুনি <xliff:g id="COUNT">%d</xliff:g> টালৈকে ফিংগাৰপ্ৰিণ্ট যোগ কৰিব পাৰে"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"আপুনি সৰ্বাধিক সংখ্যক ফিংগাৰপ্ৰিণ্টবোৰ যোগ কৰিছে"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"আৰু অধিক ফিংগাৰপ্ৰিণ্ট যোগ কৰিব নোৱাৰি"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"আৰ্হি"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"পিন"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"পাছৱৰ্ড"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"স্ক্ৰীন লক মচিবনে?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"সকলো প্ৰকাৰৰ ডিভাইচ আনলক আঁতৰাবনে?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"প্ৰ\'ফাইল সুৰক্ষা আঁতৰাবনে?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"এটা আৰ্হিয়ে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"এটা আৰ্হিয়ে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে।<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>ই আপোনাৰ ডিভাইচত ষ্ট’ৰ হৈ থকা ফিংগাৰপ্ৰিণ্টৰ মডেলটো মচে। আপোনাৰ মুখাৱয়বৰ মডেলটোও স্থায়ী তথা সুৰক্ষিতভাৱে মচা হ’ব। আপুনি আপোনাৰ মুখাৱয়ব অথবা ফিংগাৰপ্ৰিণ্ট এপত বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ বাবে ব্যৱহাৰ কৰিব নোৱাৰিব।"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"এটা পিনে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"আপুনি নিজৰ পিনৰ দৰে ছেভ কৰি থোৱা ডেটা হেৰুৱাব।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>স্পৰ্শহীন পৰিশোধৰ সুবিধাৰ বাবে কাৰ্ডৰ ছেট আপ আঁতৰোৱা হ’ব।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ডিভাইচ আনলকৰ প্ৰয়োজন হোৱা ৱালেট আৰু অন্য এপ্‌সমূহে সঠিকভাৱে কাম নকৰিব পাৰে।"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"এটা পিনে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ই আপোনাৰ ডিভাইচত ষ্ট’ৰ হৈ থকা ফিংগাৰপ্ৰিণ্টৰ ম’ডেলটোও মচে। আপুনি আপোনাৰ ফিংগাৰপ্ৰিণ্ট এপত বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ বাবে ব্যৱহাৰ কৰিব নোৱাৰিব।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"আপুনি নিজৰ পিন আৰু ফিংগাৰপ্ৰিণ্ট মডেলৰ দৰে ছেভ কৰি থোৱা ডেটা হেৰুৱাব।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>স্পৰ্শহীন পৰিশোধৰ সুবিধাৰ বাবে কাৰ্ডৰ ছেট আপ আঁতৰোৱা হ’ব।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ডিভাইচ আনলকৰ প্ৰয়োজন হোৱা ৱালেট আৰু অন্য এপ্‌সমূহে সঠিকভাৱে কাম নকৰিব পাৰে।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"এটা পিনে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>আপোনাৰ মুখাৱয়বৰ মডেলটোও স্থায়ী তথা সুৰক্ষিতভাৱে মচা হ’ব। আপুনি আপোনাৰ মুখাৱয়ব এপত বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ বাবে ব্যৱহাৰ কৰিব নোৱাৰিব।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"আপুনি নিজৰ পিন আৰু মুখাৱয়বৰ মডেলৰ দৰে ছেভ কৰি থোৱা ডেটা হেৰুৱাব।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>স্পৰ্শহীন পৰিশোধৰ সুবিধাৰ বাবে কাৰ্ডৰ ছেট আপ আঁতৰোৱা হ’ব।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ডিভাইচ আনলকৰ প্ৰয়োজন হোৱা ৱালেট আৰু অন্য এপ্‌সমূহে সঠিকভাৱে কাম নকৰিব পাৰে।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"এটা পিনে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ই আপোনাৰ ডিভাইচত ষ্ট’ৰ হৈ থকা ফিংগাৰপ্ৰিণ্টৰ মডেলটো মচে। আপোনাৰ মুখাৱয়বৰ মডেলটোও স্থায়ী তথা সুৰক্ষিতভাৱে মচা হ’ব। আপুনি আপোনাৰ মুখাৱয়ব অথবা ফিংগাৰপ্ৰিণ্ট এপত বিশ্বাসযোগ্যতা প্ৰমাণীকৰণৰ বাবে ব্যৱহাৰ কৰিব নোৱাৰিব।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"আপুনি নিজৰ পিন, মুখাৱয়বৰ মডেল আৰু ফিংগাৰপ্ৰিণ্ট মডেলৰ দৰে ছেভ কৰি থোৱা ডেটা হেৰুৱাব।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>স্পৰ্শহীন পৰিশোধৰ সুবিধাৰ বাবে কাৰ্ডৰ ছেট আপ আঁতৰোৱা হ’ব।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ডিভাইচ আনলকৰ প্ৰয়োজন হোৱা ৱালেট আৰু অন্য এপ্‌সমূহে সঠিকভাৱে কাম নকৰিব পাৰে।"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"এটা পাছৱৰ্ডে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"এটা পাছৱৰ্ডে আপোনাৰ ফ’নটো হেৰালে অথবা চুৰি হ’লে তাক সুৰক্ষিত কৰে।<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ব্লুটুথ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ব্লুটুথ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ সৈতে পেয়াৰ কৰিবনে?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"আগৰে পৰা থকা সংগতিপূৰ্ণ ছেটটোত নতুন সদস্য যোগ দিয়ক"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"আপোনাৰ দ্বিতীয়টো অডিঅ’ ডিভাইচ যোগ দিবলৈ নিশ্চিত কৰক"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ব্লুটুথ পেয়াৰ কৰিবৰ বাবে ক’ড"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"যোৰা লগোৱা ক’ডটো টাইপ কৰক আৰু তাৰ পাছত ৰিটাৰ্ণ বা এণ্টাৰ হেঁচক"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"পিনত বৰ্ণ বা প্ৰতীকবোৰ থাকে"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"১৬টা অংকযুক্ত হ\'ব লাগিব"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"আপুনি এই পিনটো অন্যটো ডিভাইচত টাইপ কৰিবলগীয়াও হ’ব পাৰে৷"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"আপুনি এই পাছকীটো অন্য ডিভাইচত টাইপ কৰিবলগীয়াও হ’ব পাৰে৷"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"সংগতিপূৰ্ণ ছেটৰ সৈতে পেয়াৰ কৰিবলৈ নিশ্চিত কৰক"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"অডিঅ’ ডিভাইচটো পেয়াৰ কৰিবলৈ নিশ্চিত কৰক"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"আপোনাৰ সম্পৰ্কসূচী আৰু কলৰ ইতিহাস এক্সেছ কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"লগতে আপোনাৰ সম্পৰ্কসমূহ আৰু কলৰ ইতিহাস এক্সেছ কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"এই তথ্য কল ঘোষণা আৰু অধিক কাৰ্যৰ বাবে ব্যৱহাৰ কৰা হ’ব"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ৰ সৈতে সংযোগ কৰিব পৰা নগ\'ল।"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"উপলব্ধ ডিভাইচসমূ্হ"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"সংযোগ কৰক"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"সংযোগ বিচ্ছিন্ন কৰক"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"পেয়াৰ আৰু সংযোগ কৰক"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"যেতিয়া ব্লুটুথ অন থাকে, তেতিয়া আপোনাৰ ডিভাইচে ওচৰত থকা আন ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে।"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"যেতিয়া ব্লুটুথ অন থাকে, তেতিয়া আপোনাৰ ডিভাইচে নিকটৱৰ্তী আন ব্লুটুথ ডিভাইচৰ সৈতে যোগাযোগ কৰিব পাৰে"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ব্লুটুথ অন হৈ থকা অৱস্থাত আপোনাৰ ডিভাইচটোৱে অন্য নিকটৱৰ্তী ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ স্থাপন কৰিব পাৰে।\n\nডিভাইচ ব্যৱহাৰৰ অভিজ্ঞতা উন্নত কৰিবলৈ এপ্‌ আৰু সেৱাসমূহে তথাপি যিকোনো সময়ত, আনকি ব্লুটুথ অফ থকা অৱস্থাতো নিকটৱৰ্তী ডিভাইচৰ সন্ধান কৰিব পাৰে। ইয়াক অৱস্থানভিত্তিক সুবিধা আৰু সেৱা উন্নত কৰা আদিৰ দৰে কাৰ্যৰ বাবে ব্যৱহাৰ কৰিব পাৰি। আপুনি এইটো ব্লুটুথ স্কেনিঙৰ ছেটিঙত সলনি কৰিব পাৰে।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"সলনি কৰক"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ডিভাইচৰ বিষয়ে সবিশেষ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"বাগ সমাধান কৰিব পৰা এপ্‌সমূহৰ বাবে বাইটক’ড সত্যাপন কৰিবলৈ ARTক অনুমতি দিয়ক"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ৰিফ্ৰেশ্বৰ হাৰ দেখুৱাওক"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"বৰ্তমানৰ ডিছপ্লে’ ৰিফ্ৰেশ্বৰ হাৰ দেখুৱাওক"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDRৰ অনুপাত দেখুৱাওক"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"বর্তমানৰ HDR/SDRৰ অনুপাত দেখুৱাওক"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFCৰ বাবে ডিভাইচ আনলক কৰাৰ প্ৰয়োজন"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android বীম"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"এয়াৰপ্লেইন ম\'ডত আছে"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ৰাজহুৱা নেটৱৰ্কসমূহৰ বাবে জাননী দিয়ক"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"এটা উচ্চ গুণমানৰ ৰাজহুৱা নেটৱৰ্ক উপলব্ধ হ\'লে মোক জনাওক"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP নেটৱৰ্কক অনুমতি দিয়ক"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP হৈছে এটা অধিক পুৰণি সুৰক্ষাৰ প্ৰট’কল, যিটো কম সুৰক্ষিত"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"আপোনাৰ বাহকে WEP নেটৱৰ্কক অনুমতি নিদিয়ে, কাৰণ সেইসমূহ কম সুৰক্ষিত"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"ৱাই-ফাই স্বয়ংক্ৰিয়ভাৱে অন কৰক"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"ছেভ কৰি থোৱা উচ্চ মানৰ সংৰক্ষিত নেটৱৰ্ক পালেহে ৱাই-ফাই  অন হ\'ব, যেনে আপোনাৰ ঘৰৰ নেটৱৰ্ক"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"উপলব্ধ নহয় কাৰণ অৱস্থান সেৱা অফ কৰি থোৱা হৈছে। "<annotation id="link">"অৱস্থান"</annotation>" অন কৰক।"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ৱাই-ফাই স্কেনিং সুবিধাই ৱাই-ফাই অফ থকা অৱস্থাতো যিকোনো সময়ত এপ্ আৰু সেৱাসমূহক ৱাই-ফাই নেটৱৰ্ক স্কেন কৰিবলৈ দিয়ে। উদাহৰণস্বৰূপে, ইয়াক অৱস্থান আধাৰিত সুবিধা আৰু সেৱাসমূহক উন্নত কৰিবলৈ ব্যৱহাৰ কৰিব পাৰি।"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"অন কৰক"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ৱাই-ফাই স্কেনিং অন আছে"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"এই নেটৱৰ্কটোৱে এটা কম সুৰক্ষিত অধিক পুৰণি সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> অৱৰোধ কৰা হৈছে"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"এই নেটৱৰ্কটোৱে এটা কম সুৰক্ষিত অধিক পুৰণি WEP নামৰ সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে। তথাপি সংযোগ কৰিবলৈ, আপুনি WEP নেটৱৰ্কক অনুমতি দিব পাৰে।"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"আপোনাৰ বাহকে আপোনাক এই নেটৱৰ্কটোৰ সৈতে সংযোগ কৰিবলৈ নিদিয়ে কাৰণ ই এটা কম সুৰক্ষিত অধিক পুৰণি সুৰক্ষাৰ প্ৰট’কল ব্যৱহাৰ কৰে"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP অনুমতি দিয়ক"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"বন্ধ কৰক"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"উচ্চখাপৰ বিকল্প"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ড্ৰ’প ডাউন তালিকাৰ উন্নত বিকল্পসমূহ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"বিস্তাৰিত কৰক"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"বাই-ফাইত থাকক"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"আকৌ কেতিয়াও নেদেখুৱাব"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"সংযোগ কৰক"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"ৱাই-ফাই অন কৰা হ’ল"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>ৰ সৈতে সংযোগ কৰা হৈছে"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>ৰ সৈতে সংযোগ কৰি থকা হৈছে"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"সংযোগ কৰি থকা হৈছে…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"নেটৱৰ্কৰ সৈতে সংযোগ কৰিব পৰা নগ\'ল"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"নেটৱৰ্ক পৰিসৰত নাই"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"পাহৰক"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"সংশোধন কৰক"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"নেটৱৰ্ক পাহৰিব পৰা নগ\'ল"</string>
     <string name="wifi_save" msgid="2312643132472226807">"ছেভ কৰক"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"নেটৱৰ্ক ছেভ কৰাত ব্যৰ্থ হ’ল"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"বাতিল কৰক"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"ৱাই-ফাই"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ম’বাইল ডেটা"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ইথাৰনেট"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ চাৰ্জ হৈ আছে"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ চাৰ্জ হৈ আছে"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"হটস্পটৰ সৈতে সংযোগ"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"সংযোগৰ ক্ষমতা"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ছেভ কৰি ৰখা নেটৱৰ্কসমূহ"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"কোনো পাছৱৰ্ড ছেট কৰা হোৱা নাই"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"হটস্পটৰ নাম"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"হটস্পটৰ পাছৱৰ্ড"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"এপি বেণ্ড"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"স্বয়ংক্ৰিয়ভাৱে হটস্পট  অফ কৰক"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"যেতিয়া কোনো ডিভাইচ সংযোজিত হৈ নাথাকে"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"সমিল হোৱাটো বৃদ্ধি কৰক"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"শুভ্ৰতাৰ সমতা দেখুৱাওক"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"জপাই থোৱা অৱস্থাত এপ্ ব্যৱহাৰ কৰি থাকক"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"মসৃণ ডিছপ্লে’"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"কিছুমান সমলৰ বাবে ৰিফ্ৰেশ্বৰ হাৰ স্বয়ংক্ৰিয়ভাৱে ৬০ৰ পৰা <xliff:g id="ID_1">%1$s</xliff:g> হাৰ্টজলৈ বঢ়ায়। বেটাৰীৰ ব্যৱহাৰ বৃদ্ধি কৰে।"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"গে’মৰ বাবে ডিফ’ল্ট ফ্ৰে’ম ৰে’ট অক্ষম কৰক"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"গে’মৰ বাবে <xliff:g id="FRAME_RATE">%1$d</xliff:g> হাৰ্টজত সৰ্বাধিক ফ্ৰে’ম ৰে’ট সীমিত কৰাটো অক্ষম কৰক।"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"কিছুমান সমলৰ বাবে ৰিফ্ৰেশ্বৰ হাৰ স্বয়ংক্ৰিয়ভাৱে <xliff:g id="ID_1">%1$d</xliff:g> হাৰ্টজলৈ বঢ়ায়। বেটাৰীৰ ব্যৱহাৰ বৃদ্ধি কৰে।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"সৰ্বাধিক ৰিফ্ৰেশ্বৰ হাৰ বলপূৰ্বকভাৱে প্ৰয়োগ কৰক"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"স্পৰ্শৰ উন্নত সংবেদনশীলতা আৰু এনিমেশ্বনৰ গুণগত মানৰ বাবে সৰ্বোচ্চ ৰিফ্ৰেশ্বৰ হাৰ। বেটাৰীৰ ব্যৱহাৰ বৃদ্ধি কৰে।"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"স্ক্ৰীনৰ সতর্কতা"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"স্ক্ৰীনৰ সতর্কতাই কোনোবাই স্ক্ৰীনখন চাই আছে নেকি জানিবলৈ সন্মুখৰ কেমেৰা ব্যৱহাৰ কৰে। এই সুবিধাটোৱে ডিভাইচত কাম কৰে আৰু প্ৰতিচ্ছবিবোৰ কেতিয়াও ষ্ট’ৰ কৰা নহয় বা Googleলৈ পঠিওৱা নহয়।"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"স্ক্ৰীনৰ সতর্কতা অন কৰক"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"স্ক্ৰীনখন চাই থকা অৱস্থাত সেইখন অন কৰি ৰাখক"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"স্ক্ৰীন টাইমআউট দীঘলীয়া হ’লে অধিক বেটাৰীৰ ব্যৱহাৰ হ’ব।"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"কেমেৰাটো লক আছে"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"মুখাৱয়ব চিনাক্তকৰণৰ বাবে কেমেৰাটো আনলক কৰিবই লাগিব"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"স্ক্ৰীনৰ সতর্কতাৰ বাবে কেমেৰা আনলক কৰি ৰাখিবই লাগিব"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ছিমৰ শ্ল’ট <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ছিমৰ শ্ল’ট <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (প্ৰাথমিক)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"চাবলৈ ছেভ কৰি থোৱা নেটৱর্ক বাছনি কৰক"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"নিম্নতম"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"পিআৰএল সংস্কৰণ"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"বেটাৰীৰ পৰিমাণ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"সম্প্ৰদায়ৰ সৈতে জড়িত"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"সম্প্ৰদায়ৰ সৈতে জড়িত ছেটিং"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰা"</string>
     <string name="apn_settings" msgid="4295467389400441299">"এপিএনসমূহ"</string>
     <string name="apn_edit" msgid="2003683641840248741">"এক্সেছ পইণ্ট সম্পাদনা কৰক"</string>
+    <string name="apn_add" msgid="9069613192201630934">"এক্সেছ পইণ্ট যোগ দিয়ক"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"ছেট কৰা হোৱা নাই"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ছেট কৰা হোৱা নাই"</string>
     <string name="apn_name" msgid="6677695784108157953">"নাম"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN সক্ষম হৈছে"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"এপিএন অক্ষম কৰা হৈছে"</string>
     <string name="bearer" msgid="3231443241639159358">"বহনকাৰী"</string>
+    <string name="network_type" msgid="748590707422733595">"নেটৱৰ্কৰ প্ৰকাৰ"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"অনিৰ্দিষ্ট"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNOৰ প্ৰকাৰ"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"এমভিএনঔ মান"</string>
     <string name="menu_delete" msgid="9199740901584348273">"এপিএন মচক"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"ছেভ কৰক"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"বাতিল কৰক"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ডুপ্লিকেট এপিএন এণ্ট্ৰী।"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"নামৰ ঠাইখন খালী থাকিব নোৱাৰে"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"এপিএন খালী থাকিব নোৱাৰে।"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"এমচিচি ফিল্ড ৩টা অংকৰ হ\'বই লাগিব।"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ফিল্ড ২ বা ৩ টা সংখ্যাৰ হ\'ব লাগিব।"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"বাহকে %s প্ৰকাৰৰ এপিএনবোৰ যোগ কৰিব নিদিয়ে।"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ক্ষেত্ৰখন মান্য হ’বই লাগিব।"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ডিফ’ল্ট এপিএন ছেটিং পুনঃস্থাপন কৰি থকা হৈছে।"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ডিফ\'ল্টলৈ ৰিছেট কৰক"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ডিফ’ল্ট এপিএন ছেটিং ৰিছেট কৰা সম্পূৰ্ণ হৈছে৷"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ৰিছেট কৰক"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ব্লুটুথ আৰু ৱাই-ফাই ৰিছেট কৰা হৈছে"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ই-ছিমসমূহ মচক"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ই কোনো ম’বাইল সেৱাৰ আঁচনি বাতিল নকৰে। সলনি কৰা ছিম ডাউনল’ড কৰিবলৈ আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"এইটোৱে আপোনাৰ ম’বাইলৰ সেৱাৰ আঁচনি বাতিল নকৰে। সলনা-সলনি কৰা এখন ছিম পাবলৈ, আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ছেটিং ৰিছেট কৰক"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"নেটৱৰ্কৰ আটাইবোৰ ছেটিং ৰিছেট কৰিবনে? আপুনি এই কাৰ্যটো আনডু কৰিব নোৱাৰিব।"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"সকলো নেটৱৰ্ক ছেটিংসমূহ ৰিছেট কৰি ই-ছিম মচিবনে? আপুনি এই কাৰ্য আনডু কৰিব নোৱাৰে।"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ৰিছেট কৰিবনে?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"এই ব্যৱহাৰকাৰীৰ বাবে নেটৱৰ্ক ৰিছেট উপলব্ধ নহয়"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"নেটৱৰ্ক ছেটিং ৰিছেট কৰা হ’ল"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"ছিমবোৰ আঁতৰাব পৰা নগ’ল"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ই-ছিম কোনো অজ্ঞাত আসোঁৱাহৰ বাবে মচিব নোৱাৰি।\n\nআপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰি আকৌ চেষ্টা কৰক।"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ই-ছিম মচিব নোৱাৰি"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"কিবা ভুল হ’ল আৰু আপোনাৰ ই-ছিম মচা হোৱা নাছিল।\n\nআপোনাৰ ডিভাইচ ৰিষ্টাৰ্ট কৰক আৰু পুনৰ চেষ্টা কৰক।"</string>
     <string name="main_clear_title" msgid="277664302144837723">"আটাইবোৰ ডেটা মচক (ফেক্টৰী ৰিছেট)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"আটাইবোৰ ডেটা মচক (ফেক্টৰী ৰিছেট)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"সংগীত"</li>\n<li>"ফট’"</li>\n<li>"অন্য ব্যৱহাৰকাৰীৰ ডেটা"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"ই-ছিমসমূহh"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"এইটোৱে আপোনাৰ ম’বাইল সেৱাৰ আঁচনি বাতিল নকৰে।"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"আপোনাৰ আটাইবোৰ ব্যক্তিগত তথ্য আৰু ডাউনল’ড কৰা এপ্‌ মচা হ’ব। আপুনি এই কাৰ্য আনডু কৰিব নোৱাৰে।"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ডাউনল’ড কৰা এপ্‌সমূহ আৰু ছিমকে ধৰি আপোনাৰ আটাইবোৰ ব্যক্তিগত তথ্য মচা হ’ব। আপুনি এই কাৰ্য আনডু কৰিব নোৱাৰে।"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ডাউনল’ড কৰা এপ্‌সমূহ আৰু ই-ছিমকে ধৰি আপোনাৰ আটাইবোৰ ব্যক্তিগত তথ্য মচা হ’ব। আপুনি এই কাৰ্য আনডু কৰিব নোৱাৰে।"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"আটাইবোৰ ডেটা মচিবনে?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"এই ব্যৱহাৰকাৰীগৰাকীৰ বাবে ফেক্টৰী ৰিছেট সুবিধাটো উপলব্ধ নহয়"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"মচি থকা হৈছে"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"হটস্পট, ইউএছবি, ব্লুটুথ, ইথাৰনেট"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"অন্য ডিভাইচৰ সৈতে ইণ্টাৰনেট শ্বেয়াৰ কৰা হোৱা নাই"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"অফ আছে"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"টিথাৰিং কৰি থকা হৈছে"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ৱাই-ফাই হ\'টস্প\'ট ব্যৱহাৰ নকৰিব"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"কেৱল ইউএছবিৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"কেৱল ব্লুটুথৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"কেৱল ইথাৰনেটৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"কেৱল ব্লুটুথ আৰু ইউএছবিৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"কেৱল ইউএছবি আৰু ইথাৰনেটৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"কেৱল ব্লুটুথ আৰু ইথাৰনেটৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"কেৱল ইউএছবি, ব্লুটুথ আৰু ইথাৰনেটৰ জৰিয়তে ইণ্টাৰনেট শ্বেয়াৰ কৰক"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ইউএছবি টেডাৰিং"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ব্লুটুথ টেডাৰিং"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ইথাৰনেট টে\'ডাৰিং"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"আপোনাৰ ৱাই-ফাই অথবা ম’বাইল ডেটাৰ জৰিয়তে অন্য ডিভাইচসমূহক ইণ্টাৰনেট প্ৰদান কৰিবলৈ হটস্পট আৰু টে\'ডাৰিং ব্যৱহাৰ কৰক। নিকটৱৰ্তী ডিভাইচসমূহৰ সৈতে সমল শ্বেয়াৰ কৰিবলৈ এপ্‌সমূহেও এটা হটস্পট সৃষ্টি কৰিব পাৰে।"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"সহায়"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"ম’বাইল নেটৱৰ্ক"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ম’বাইল আঁচনি"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"এছএমএছ এপ্"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"এছএমএছ এপ্ সলনি কৰিবনে?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"আপোনাৰ এছএমএছ এপ্ হিচাপে <xliff:g id="CURRENT_APP">%2$s</xliff:g>ৰ পৰিৱৰ্তে <xliff:g id="NEW_APP">%1$s</xliff:g> ব্যৱহাৰ কৰিবনে?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"ৱাই-ফাই সহায়কক সলনি কৰিবনে?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"নেটৱৰ্ক সংযোগ পৰিচালনাৰ কাৰণে <xliff:g id="CURRENT_APP">%2$s</xliff:g>ৰ সলনি <xliff:g id="NEW_APP">%1$s</xliff:g>ক ব্যৱহাৰ কৰিব নেকি?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"আপোনাৰ নেটৱৰ্কৰ সংযোগসমূহ পৰিচালনা কৰিবলৈ <xliff:g id="NEW_APP">%s</xliff:g>ক ব্যৱহাৰ কৰিবনে?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"অজ্ঞাত ছিম অপাৰেটৰ"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>ৰ কোনো জ্ঞাত প্ৰ\'ভিজনিং ৱেবছাইট নাই"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"অনুগ্ৰহ কৰি ছিম কাৰ্ড সুমুৱাওক আৰু ৰিষ্টাৰ্ট কৰক"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"অনুগ্ৰহ কৰি ইণ্টানেটত সংযোগ কৰক"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"শেহতীয়া অৱস্থানৰ অনুৰোধ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"কৰ্মস্থানৰ প্ৰ’ফাইলৰ বাবে অৱস্থান"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"এপৰ অৱস্থানৰ অনুমতি"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"এক্সেছ আঁতৰাওক"</string>
     <string name="controls_label" msgid="8671492254263626383">"নিয়ন্ত্ৰণ"</string>
     <string name="force_stop" msgid="2681771622136916280">"বলেৰে ৰখাওক"</string>
+    <string name="archive" msgid="9074663845068632127">"আৰ্কাইভ কৰক"</string>
+    <string name="restore" msgid="7622486640713967157">"পুনঃস্থাপন কৰক"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"পুনঃস্থাপন কৰি থকা হৈছে"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"পুনঃস্থাপন কৰি থকা হৈছে।"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"পুনঃস্থাপন কৰি থকা হৈছে.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"পুনঃস্থাপন কৰি থকা হৈছে..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"মুঠ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"এপৰ আকাৰ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"ইউএছবি ষ্ট’ৰেজ এপ্"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"পেকেজৰ আকাৰ গণনা কৰিব পৰা নগ\'ল।"</string>
     <string name="version_text" msgid="7628938665256107608">"সংস্কৰণ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"স্থানান্তৰ কৰক"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"আৰ্কাইভ কৰাটো বিফল হৈছে"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"আৰ্কাইভ কৰা <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"পুনঃস্থাপন কৰিব পৰা নগ’ল"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> পুনঃস্থাপন কৰি থকা হৈছে"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"অন্য এটা স্থানান্তৰণ কাৰ্য ইতিমধ্যে চলি আছে৷"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ষ্ট’ৰেজত পৰ্যাপ্ত খালী ঠাই নাই।"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"এপ্‌টোৰ অস্তিত্ব নাই"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"উপলব্ধ-অন-স্ক্ৰীন কীব’ৰ্ড"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"অন-স্ক্ৰীন কীব’ৰ্ডসমূহ পৰিচালনা কৰক"</string>
     <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="6922850403920596246">"কায়িক কীব’ৰ্ডৰ সাধ্য সুবিধাৰ বাবে বাউন্স কী সক্ষম কৰক"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ধীৰ গতিৰ কী"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"কায়িক কীব’ৰ্ডৰ সাধ্য সুবিধাৰ বাবে ধীৰ গতিৰ কী সক্ষম কৰক"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ষ্টিকী কী"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"কায়িক কীব’ৰ্ডৰ সাধ্য সুবিধাৰ বাবে ষ্টিকী কী সক্ষম কৰক"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"অধিক বিকল্প পাবলৈ টাচ্চপেডৰ একেবাৰে তলৰ সোঁফালৰ কোণটোত টিপক"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"পইণ্টাৰৰ গতিবেগ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"টাচ্চপেডৰ নিৰ্দেশসমূহ শিকক"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"গৃহ পৃষ্ঠালৈ যাওক"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"আপোনাৰ টাচ্চপেডৰ যিকোনো ঠাইত তিনিটা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰক"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"উভতি যাওক"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ব্যৱহাৰৰ সময় অনুসৰি সজাওক"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"শেষবাৰ ব্যৱহাৰ কৰা অনুসৰি সজাওক"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"এপৰ নাম অনুসৰি সজাওক"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"অন্তিমবাৰ ব্যৱহাৰ হৈছে"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"অন্তিমবাৰ ব্যৱহাৰ কৰাৰ সময়"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"কেতিয়াও খোলা নাই"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ব্যৱহাৰৰ সময়"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"সাধ্য সুবিধা"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"দিব্যাংগসকলৰ বাবে থকা সুবিধাসমূহৰ ছেটিং"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"তিনিবাৰ টুকুৰিয়াই বিবৰ্ধন কৰক"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"শ্বৰ্টকাটৰ দ্বাৰা বিৱৰ্ধিত কৰক"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"শ্বৰ্টকাটৰ দ্বাৰা আৰু তিনিবাৰ টিপি বিৱৰ্ধিত কৰক"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>ৰ বিষয়ে"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"খুলিবলৈ সাধ্য সুবিধাৰ বুটাম ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"খুলিবলৈ ভলিউম কীসমূহ টিপি ধৰি থাকক"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"খুলিবলৈ স্ক্ৰীনখনত তিনিবাৰ টিপক"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"খুলিবলৈ দুটা আঙুলিৰে স্ক্ৰীনত দুবাৰ টিপা"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"খুলিবলৈ ভংগিমা ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"সাধ্য সুবিধাৰ নিৰ্দেশ ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, আপোনাৰ স্ক্রীনখনৰ একেবাৰে তলৰ অংশত থকা সাধ্য-সুবিধাৰ বুটামটোত <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> টিপক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ সাধ্য-সুবিধাৰ বুটামটো স্পৰ্শ কৰি ধৰি ৰাখক।"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ আপোনাৰ স্ক্ৰীনত থকা সাধ্য-সুবিধাৰ বুটামটোত টিপক।"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, দুয়োটা ভলিউম কী টিপি ধৰি ৰাখক।"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"বিবৰ্ধন আৰম্ভ কৰিবলৈ আৰু বন্ধ কৰিবলৈ আপোনাৰ স্ক্ৰীনখনৰ যিকোনো অংশত তিনিবাৰ টিপক।"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"বিবৰ্ধন আৰম্ভ কৰিবলৈ আৰু বন্ধ কৰিবলৈ আপোনাৰ স্ক্ৰীনখনৰ যিকোনো অংশত দুটা আঙুলিৰে দুবাৰ টিপক।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ২ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"এই সুবিধাটো ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"কোনো এটা সাধ্য-সুবিধা ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ২ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ২ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"কোনো এটা সাধ্য-সুবিধা ব্যৱহাৰ কৰিবলৈ, স্ক্রীনখনৰ একেবাৰে তলৰ পৰা ওপৰলৈ ৩ টা আঙুলিৰে ছোৱাইপ কৰক।\n\nসুবিধাসমূহ সালসলনিকৈ ব্যৱহাৰ কৰিবলৈ ৩ টা আঙুলিৰে ওপৰলৈ ছোৱাইপ কৰি ধৰি ৰাখক।"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"বুজি পালোঁ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"সাধ্য-সুবিধা বুটামৰ ছেটিং"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"বুটামৰ ছেটিং"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>ৰ শ্বৰ্টকাট"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"সাধ্য-সুবিধাৰ বুটাম"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"সাধ্য-সুবিধাৰ নিৰ্দেশ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ভলিউম কীসমূহ ধৰি ৰাখক"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ভলিউম কীসমূহ হেঁচি ধৰি ৰাখক"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"দুয়োটা ভলিউম কী টিপক আৰু হেঁচি ৰাখক"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"দুটা আঙুলিৰে স্ক্ৰীনত দুবাৰ টিপা"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"দুটা আঙুলিৰে স্ক্ৰীনত দুবাৰ টিপা"</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="6863958573135995927">"স্ক্রীনখনত তিনিবাৰ টিপক"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্ৰীনখনত ক্ষিপ্ৰতাৰে {0,number,integer} বাৰ টিপক। এই শ্বৰ্টকাটটোৱে আপোনাৰ ডিভাইচটো লেহেমীয়া কৰিব পাৰে"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"সাধ্য সুবিধাৰ বুটাম আৰু নিৰ্দেশৰ বিষয়ে অধিক জানক"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"সাধ্য-সুবিধাৰ বুটামটো ব্যৱহাৰ কৰি। ৩ টা বুটামেৰে কৰা নেভিগেশ্বনৰ বাবে নিৰ্দেশটো উপলব্ধ নহয়।"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"সাধ্য সুবিধাসমূহ ক্ষিপ্ৰতাৰে এক্সেছ কৰক"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"আৰম্ভ কৰিবলৈ"</b>\n"১) সাধ্য সুবিধাৰ ছেটিঙলৈ যাওক\n২) এটা সুবিধা বাছনি কৰক আৰু শ্বৰ্টকাটটোত টিপক\n৩) আপুনি এই সুবিধাটো এক্সেছ কৰিবলৈ এটা বুটাম নে আঙুলিৰ স্পৰ্শৰে নিৰ্দেশ ব্যৱহাৰ কৰিব বিচাৰে সেয়া বাছনি কৰক"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"আৰম্ভ কৰিবলৈ"</b>\n"১) সাধ্য সুবিধাৰ ছেটিঙলৈ যাওক\n২) এটা সুবিধা বাছনি কৰক আৰু শ্বৰ্টকাটটোত টিপক\n৩) সুবিধাটো এক্সেছ কৰিবলৈ বুটামটো বাছনি কৰক"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"বুটাম অথবা নিৰ্দেশ ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"অৱস্থান"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"আকাৰ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"পাৱাৰ বুটাম টিপিলে কল সমাপ্ত হ\'ব"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"মাউছৰ পইণ্টাৰ ডাঙৰ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"মাউছৰ পইণ্টাৰটো অধিক লক্ষণীয় কৰি তোলক"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"আটাইবোৰ এপৰ থীম গাঢ় ৰঙৰ কৰক"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"এপ্‌সমূহৰ নিজা গাঢ় ৰঙৰ থীমৰ অবিহনে সেইসমূহত প্ৰয়োগ হয়। কিছুমান এপৰ ডিছপ্লে’ সম্পৰ্কীয় সমস্যা থাকিব পাৰে, যেনে, ওলোটা কৰা ৰং।"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"এনিমেশ্বন আঁতৰাওক"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"স্ক্ৰীনখনত গতিবিধি হ্ৰাস কৰক"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ম’ন’ অডিঅ’"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"কম্পন আৰু হেপ্‌টিক ব্যৱহাৰ কৰক"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"এলাৰ্মৰ কম্পন"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"মিডিয়াৰ কম্পন"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"কীব’ৰ্ডৰ কম্পন"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ৰিং কম্পন"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"জাননীৰ কম্পন"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"স্পৰ্শৰ প্ৰতিক্ৰিয়া"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"বন্ধ কৰক"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"বাতিল কৰক"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> বন্ধ কৰিবনে?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> টিপিলে <xliff:g id="SERVICE">%2$s</xliff:g> বন্ধ হ\'ব।"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"অফ কৰক"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"অন ৰাখক"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> অফ কৰিবনে?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"কোনো সেৱা ইনষ্টল কৰা হোৱা নাই"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"কোনো সেৱা বাছনি কৰা হোৱা নাই"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"কোনো বিৱৰণ যোগান ধৰা হোৱা নাই।"</string>
     <string name="settings_button" msgid="2195468788019730377">"ছেটিং"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"পোহৰৰ প্ৰতি সংবেদনশীলতা, ফট’ফ’বিয়া, গাঢ় থীম, মাই-গ্ৰেইন, মূৰৰ বিষ, পঢ়াৰ ম’ড, নৈশ ম’ড, উজ্জ্বলতা কমাওক, হোৱাইট পইণ্ট"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ব্যৱহাৰ কৰাৰ বাবে সুবিধাজনক, এক্সেছ কৰাৰ বাবে সুবিধাজনক, সহায়তা, সহায়ক"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"দৃষ্টিশক্তি, শ্ৰৱণশক্তি, দৃষ্টিশক্তিহীন, শ্ৰৱণশক্তিহীন, মটৰ, দক্ষতা, সহায়তা, সহায়ক, ব্যৱহাৰ কৰাৰ বাবে সুবিধাজনক, এক্সেছ কৰাৰ বাবে সুবিধাজনক, হাত, সহায়"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ৱিণ্ড’ বিবৰ্ধক, জুম, বিবৰ্ধন, কম দৃষ্টিশক্তি, প্ৰসাৰিত কৰক, ডাঙৰ কৰক"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"কেপশ্বন, ক্ল’জ্‌ড কেপশ্বন, CC, লাইভ ট্ৰেন্সক্ৰাইব, কমকৈ শুনা, শ্ৰৱণশক্তিৰ ক্ষয়, CART, কথনৰ পৰা পাঠ, ছাবটাইটেল"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ৰঙৰ কনট্ৰাষ্ট"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"মটৰ, মাউছ"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"শ্ৰৱণ যন্ত্ৰ, শুনাৰ ক্ষেত্ৰত সমস্যা, শ্ৰৱণ শক্তি হ্ৰাস, ক’ক্লিয়াৰ ইমপ্লাণ্ট, পৰিৱৰ্ধন ডিভাইচ, ধ্বনি প্ৰ’চেছৰ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"মটৰ, মাউছ, বাহ্যিক মাউছ, হে’ড মাউছ, অভিযোজিত মাউছ, হুইলচ্চেয়াৰ, জয়ষ্টিক"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"শ্ৰৱণ যন্ত্ৰ, কমকৈ শুনা, শ্ৰৱণশক্তিৰ ক্ষয়, ক’ক্লিয়াৰ ইমপ্লাণ্ট, ধ্বনি পৰিৱৰ্ধক ডিভাইচ, ধ্বনি প্ৰ’চেছৰ, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"কমকৈ শুনা, শ্ৰৱণশক্তিৰ ক্ষয়, কেপশ্বন, টেলিটাইপ, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"তিনিটা বুটাম"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"দক্ষতা, মটৰ, জ্যেষ্ঠ, অৰ্থ্ৰাইটিছ, আৰএছআই, ষ্ট্ৰ’ক, ট্ৰিম’ৰ, একাধিক স্ক্লেৰ’চিছ, চেৰেব্ৰেল পলছি, কঁপনি, পুনৰাবৃত্তিমূলক ষ্ট্ৰেইন আঘাত, হাত"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"বিলম্ব, দক্ষতা, জ্যেষ্ঠ"</string>
     <string name="print_settings" msgid="8519810615863882491">"প্ৰিণ্ট কৰি থকা হৈছে"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"অফ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{১ টা প্ৰিণ্ট সেৱা অন আছে}one{# টা প্ৰিণ্ট সেৱা অন আছে}other{# টা প্ৰিণ্ট সেৱা অন আছে}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> বাকী আছে"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"চাৰ্জ হ\'বলৈ <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ডিভাইচত অতিবাহিত কৰা সময়"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"নেপথ্যৰ সময়"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"বেটাৰী কমিছে"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"এই এপ্‌টো নেপথ্যত চলিবলৈ অনুমতি দিয়ক"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"নেপথ্যৰ কাৰ্যকলাপ সীমিত কৰিবনে?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"আপুনি এটা এপৰ নেপথ্য কাৰ্যকলাপ সীমিত কৰিলে ই অস্বাভাৱিক আচৰণ কৰিব পাৰে"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"যিহেতু এই এপ্‌টো বেটাৰী অপ্টিমাইজ কৰিবলৈ ছেট কৰি থোৱা হোৱা নাই, সেয়ে ইয়াক আপুনি সীমিত কৰিব নোৱাৰে।\n\nএপ্‌টো সীমিত কৰিবলৈ প্ৰথমে বেটাৰী অপ্টিমাইজেশ্বন অন কৰক।"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"বেটাৰীৰ ব্যৱহাৰ পৰিচালনা কৰক"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"নেপথ্যত ব্যৱহাৰ কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ৰিয়েল-টাইমৰ আপডে’ট পাবলৈ সক্ষম কৰক, বেটাৰী ৰাহি কৰিবলৈ অক্ষম কৰক"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"বাধাহীন"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"অপ্টিমাইজ কৰা"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"সীমিত"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"আটাইতকৈ বেছিকৈ ব্যৱহাৰ কৰা এপ্‌সমূহ চাওক"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"আপোনাৰ বেটাৰী সুৰক্ষিত কৰিবলৈ, চাৰ্জিং অপ্টিমাইজ কৰা হৈছে"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"আপোনাৰ বেটাৰীৰ জীৱনকাল বৃদ্ধি কৰাত সহায় কৰিবলৈ, চাৰ্জিং অপ্টিমাইজ কৰা হয়"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"আপোনাৰ বেটাৰী সুৰক্ষিত কৰিবলৈ, চাৰ্জিং অপ্টিমাইজ কৰা হৈছে"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"আপোনাৰ বেটাৰীৰ জীৱনকাল বৃদ্ধি কৰাত সহায় কৰিবলৈ, ড’ক কৰাৰ সময়ত চাৰ্জিং অপ্টিমাইজ কৰা হয়"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"আপোনাৰ বেটাৰী সুৰক্ষিত কৰিবলৈ, চাৰ্জিং অপ্টিমাইজ কৰা হৈছে"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"আপোনাৰ বেটাৰীৰ জীৱনকাল বৃদ্ধি কৰাত সহায় কৰিবলৈ, ড’ক কৰাৰ সময়ত চাৰ্জিং অপ্টিমাইজ কৰা হয়"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"বেটাৰী সম্পূৰ্ণ হোৱালৈ চাৰ্জিং কৰা"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"আপোনাৰ বেটাৰী সুৰক্ষিত কৰিবলৈ, আপোনাৰ টেবলেটটো ইয়াৰ পাছত ড’ক কৰিলে, চাৰ্জিং অপ্টিমাইজ কৰা হ’ব"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"চাৰ্জিঙৰ বিষয়ে অধিক জানক সুবিধাটো পজ কৰা হৈছে"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"চাৰ্জ কৰা পুনৰ আৰম্ভ কৰক"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"বেছি বেটাৰি ব্যয় হোৱা নেপথ্যৰ কাৰ্যকলাপ অন্তৰ্ভুক্ত হয়"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"এই এপে নেপথ্য়ত বেটাৰী ব্যৱহাৰ কৰিব পাৰে। আপোনাৰ বেটাৰীৰ চাৰ্জ আশা কৰাতকৈ আগতেই শেষ হ\'ব পাৰে।"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"আঁতৰাওক"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"বাতিল কৰক"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"চাৰ্জ সম্পূৰ্ণ হ’ব হৈছে"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"চাৰ্জিঙৰ আনুষংগিক সামগ্ৰীত সমস্যা হৈছে"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"চাৰ্জিঙৰ সৈতে জড়িত আনুষংগিক সামগ্ৰী পৰীক্ষা কৰক"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"অমিল চাৰ্জিঙৰ বিষয়ে অধিক জানক"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"বেটাৰী মেনেজাৰ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"এপসমূহক স্বয়ংক্ৰিয়ভাৱে পৰিচালনা কৰক"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ কৰাৰ পৰা"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"ছিষ্টেম এপ্‌"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"আনইনষ্টল কৰা এপ্"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"অন্য"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"বাকী থকা মোটামুটি সময়"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"সম্পূৰ্ণৰূপে চাৰ্জ নোহোৱা পৰ্যন্ত"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"মুঠ: এক মিনিটতকৈ কম"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"নেপথ্য: এক মিনিটতকৈ কম"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"ডিভাইচত অতিবাহিত কৰা সময়: এক মিনিটতকৈ কম"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"এক মিনিটতকৈ কম"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"মুঠ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"নেপথ্য: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"ডিভাইচত অতিবাহিত কৰা সময়: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"এতিয়া"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"বেটাৰীৰ ব্যৱহাৰৰ তালিকা"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"দৈনিক বেটাৰীৰ ব্যৱহাৰৰ তালিকা"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"প্ৰতি ঘণ্টাত বেটাৰীৰ ব্যৱহাৰৰ তালিকা"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"বেটাৰিৰ বাকী থকা শতাংশ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>ৰ পৰা <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>লৈ"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত বেটাৰীৰ ব্যৱহাৰ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g>ৰ বেটাৰীৰ ব্যৱহাৰ"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"অন্তিমবাৰ সম্পূৰ্ণৰূপে চাৰ্জ হোৱাৰ পাছত ডিভাইচত অতিবাহিত কৰা সময়"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"জৰুৰীকালীন অৱস্থাত ডায়েল কৰা ছিগনেল"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"জৰুৰীকালীন কল কৰোতে কৰিবলগীয়া আচৰণ ছেট কৰক"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"বেকআপ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"অন হৈ আছে"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"অফ হৈ আছে"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"বেকআপ আৰু পুনঃস্থাপন"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ব্যক্তিগত ডেটা"</string>
     <string name="backup_data_title" msgid="507663517227498525">"মোৰ ডেটাৰ বেকআপ লওক"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ম’বাইল ডেটা আৰু ৱাই-ফাই"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ব্যক্তিগত ডেটা স্বয়ং-ছিংক কৰক"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"কৰ্মস্থানৰ ডেটা স্বয়ং-ছিংক কৰক"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ব্যক্তিগত ডেটা স্বয়ং-ছিংক কৰক"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"চক্ৰ সলনি কৰক…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ডেটা চক্ৰ ৰিছেট কৰিবলৈ মাহৰ দিনটো:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"এই সময় চোৱাত এটাও এপে ডেটা ব্যৱহাৰ কৰা নাছিল।"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"নাম"</string>
     <string name="vpn_type" msgid="5533202873260826663">"প্রকাৰ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ছাৰ্ভাৰৰ ঠিকনা"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"পিপিপি এনক্ৰিপশ্বন (এমপিপিই)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP গোপন"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec চিনাক্তকৰণকাৰী"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec পূৰ্বে শ্বেয়াৰ কৰা কী"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ব্যৱহাৰকাৰী প্ৰমাণপত্ৰ"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec চিএ প্ৰমাণপত্ৰ"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ছাৰ্ভাৰ প্ৰমাণপত্ৰ"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"উচ্চখাপৰ বিকল্পবোৰ দেখাওক"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS অনুসন্ধান ড\'মেইনসমূহ"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"ডিএনএছ ছাৰ্ভাৰ (যেনে: ৮.৮.৮.৮)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ফৰৱাৰ্ড কৰাৰ ঠিকনাসমূহ (যেনে, ১০.০.০.০/৮)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ব্যৱহাৰকাৰীৰ নাম"</string>
     <string name="vpn_password" msgid="1183746907642628127">"পাছৱৰ্ড"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"একাউণ্টৰ তথ্য ছেভ কৰক"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ব্যৱহৃত হোৱা নাই)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ছাৰ্ভাৰ সত্যাপন নকৰিব)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ছাৰ্ভাৰৰ পৰা লাভ কৰা হৈছে)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"এই ধৰণৰ ভিপিএন সেৱাই অনবৰতে সংযোগ বৰ্তাই ৰাখিব নোৱাৰে"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"সদা-সক্ৰিয় ভিপিএনে কেৱল ছাৰ্ভাৰৰ সাংখ্যিক ঠিকনাহে সমৰ্থন কৰে"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"সদা-সক্ৰিয় ভিপিএনৰ বাবে এটা ডিএনছ ছাৰ্ভাৰ নিৰ্দিষ্ট কৰিবই লাগিব"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"সদা-সক্ৰিয় ভিপিএনৰ বাবে ডিএনএছ ছাৰ্ভাৰৰ ঠিকনা সাংখ্যিক হ\'ব লাগিব"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"প্ৰদান কৰা তথ্যই সদায় অন ভিপিএন সমৰ্থন কৰা নাই"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"বাতিল কৰক"</string>
     <string name="vpn_done" msgid="5137858784289564985">"প্ৰত্যাখ্যান কৰক"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"ভিপিএন নোহোৱাকৈয়ে সংযোগবোৰ অৱৰোধ কৰক"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN সংযোগৰ প্ৰয়োজন নেকি?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"সুৰক্ষিত নহয়। এটা IKEv2 ভিপিএনলৈ আপডে’ট কৰক"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"অসমৰ্থিত ভিপিএন আৰম্ভ কৰিব পৰা নগ’ল।"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"যিকোনো সময়ত সংযোগ হৈ থাকিবলৈ ভিপিএন প্ৰ\'ফাইল বাছনি কৰক। এই ভিপিএনত সংযোগ হ\'লেহে ইণ্টাৰনেট ব্যৱহাৰ কৰিব পাৰিব।"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"নাই"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"সদা-সক্ৰিয় ভিপিএনৰ ক্ষেত্ৰত ছাৰ্ভাৰ আৰু ডিএনএছ দুয়োটাৰ বাবে আইপি ঠিকনা থকাটো দৰকাৰী।"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"এম্বাৰ বিপদ-সংকেত"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"শিশু অপহৰণৰ বিষয়ে প্ৰচাৰপত্ৰ পাওক"</string>
     <string name="repeat_title" msgid="8676570486899483606">"পুনৰাই দিয়ক"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"কল মেনেজাৰক সক্ষম কৰক"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"আপোনাৰ কলসমূহ কেনেকৈ কৰা হয় তাক পৰিচালনা কৰিবলৈ এই সেৱাক অনুমতি দিয়ক।"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"ক\'ল মেনেজাৰ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ৱায়াৰলেছ জৰুৰীকালীন সতৰ্কবার্তাসমূহ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"নেটৱৰ্ক অপাৰেটৰ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"একচেছ পইণ্টসমূহৰ নাম"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"ছিমৰ স্থিতি"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ছিমৰ স্থিতি (ছিমৰ শ্লট %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"ছিম সলনি কৰা হৈছে।"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"আপোনাৰ ছিম সলনি কৰা হৈছে"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ছেট আপ কৰিবলৈ টিপক"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"প্ৰতিবাৰতে সোধক"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"বাছনি কৰা প্ৰয়োজন"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"শেহতীয়া এপ্‌সমূহ, ডিফ’ল্ট এপ্‌সমূহ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"কৰ্মস্থলৰ প্ৰ’ফাইলত থকা এপৰ বাবে জাননী সম্পৰ্কীয় এক্সেছ নাথাকে।"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"পাছৱৰ্ড আৰু একাউণ্ট"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"ছেভ কৰি থোৱা পাছৱৰ্ড, স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱা সুবিধা, ছিংক কৰা একাউণ্ট"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ছাইন ইন আৰু স্বয়ংক্রিয়ভাৱে পূৰ হোৱাৰ সুবিধাৰ বাবে পৰামৰ্শ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ডিফ\'ল্ট এপ্‌সমূহ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ক্ল’ন কৰা এপ্‌"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"এটা এপৰ দ্বিতীয় আৰ্হি এটা সৃষ্টি কৰক যাতে আপুনি একে সময়তে দুটা একাউণ্ট ব্যৱহাৰ কৰিব পাৰে।"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"ৱালেট"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"পৰিশোধ, টিপক, ধন পৰিশোধ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"বেকআপ, বেক আপ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"নিৰ্দেশ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"মুখমণ্ডল, আনলক, প্ৰমাণীকৰণ, ছাইন ইন"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ফেচ, আনলক, প্ৰমাণীকৰণ, ছাইন ইন, ফিংগাৰপ্ৰিণ্ট, বায়’মেট্ৰিক"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl সংস্কৰণ, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"পাঠৰ আকাৰ, ডাঙৰ প্ৰিণ্ট, ডাঙৰ ফণ্ট, ডাঙৰ পাঠ, কম দৃষ্টিশক্তি, পাঠৰ আকাৰ ডাঙৰ কৰক, ফণ্ট প্ৰসাৰিত কৰোঁতা, ফণ্টৰ প্ৰসাৰণ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"এম্বিয়েণ্ট ডিছপ্লে’ সদায় অন কৰি ৰাখক, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, টেগ, ৰীডাৰ"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"কীব’ৰ্ড, হেপ্‌টিক্স, কম্পন কৰক,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ভলিউম, কম্পন, অসুবিধা নিদিব"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"মিডিয়াৰ ভলিউম"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ভলিউম কাষ্ট কৰক"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"পাৱাৰ অনৰ ধ্বনিসমূহ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"লাইভ কেপশ্বন"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"স্বয়ংক্ৰিয় কেপশ্বন মিডিয়া"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ফ’নৰ স্পীকাৰ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"টেবলেটৰ স্পীকাৰ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ডিভাইচৰ স্পীকাৰ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"তাঁৰযুক্ত হেডফ’ন"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"সমিল মিডিয়াৰ পৰা অহা অডিঅ’ অধিক নিমগ্ন হৈ পৰে"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"অফ আছে"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"আটাইবোৰ জাননী দেখুৱাওক"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"সংবেদনশীল সমল কেৱল আনলক থাকিলেহে দেখুৱাব"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"জাননী কেতিয়াও নেদেখুৱাব"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"আপুনি লক স্ক্ৰীন কিদৰে দেখুওৱাটো বিচাৰে?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"আপোনাৰ লক স্ক্ৰীনে কি দেখুওৱাটো আপুনি বিচাৰে?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"লক স্ক্ৰীন"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"কৰ্মস্থানৰ আটাইবোৰ জাননী সমল দেখুৱাওক"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"কৰ্মস্থানৰ সংবেদনশীল সমল লুকুৱাওক"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"শেহতীয়া বাৰ্তালাপ আঁতৰোৱা হ\'ল"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"বাৰ্তালাপ আঁতৰোৱা হ’ল"</string>
     <string name="clear" msgid="5092178335409471100">"মচক"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> মচক"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"অগ্ৰাধিকাৰপ্ৰাপ্ত আৰু সংশোধন কৰা বার্তালাপসমূহ ইয়াত দেখা যাব"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"আপুনি কোনো বার্তালাপক অগ্ৰাধিকাৰপ্ৰাপ্ত হিচাপে চিহ্নিত কৰিলে অথবা বার্তালাপসমূহত অন্য সালসলনি কৰিলে সেইবোৰ ইয়াত দেখা যাব। \n\nবার্তালাপৰ ছেটিং সলনি কৰিবলৈ: \nপুল-ডাউন শ্বেডটো খুলিবলৈ স্ক্ৰীনখনৰ একেবাৰে ওপৰৰ পৰা তললৈ ছোৱাইপ কৰক, তাৰ পাছত স্পর্শ কৰক আৰু এটা বার্তালাপ ধৰি ৰাখক।"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"সৰু কৰক"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"জাননী কুলডাউন কৰা"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"আটাইবোৰ জাননীত কুলডাউন প্ৰয়োগ কৰক"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"আপুনি একেটা এপৰ পৰা ক্ৰমাগতভাৱে বহুতো জাননী পালে জাননীৰ ভলিউম পৰ্যায়ক্ৰমে কমাওক"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"বাৰ্তালাপসমূহত কুলডাউন প্ৰয়োগ কৰক"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"আপুনি একেটা চাটৰ পৰা কম সময়ৰ ভিতৰতে বহুতো বাৰ্তা পালে জাননীৰ ভলিউম পৰ্যায়ক্ৰমে কমাওক"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"জাননী কুলডাউন কৰাটো ব্যৱহাৰ নকৰিব"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"একেটা এপৰ পৰা যিমান জাননী ক্ৰমাগতভাৱে পালেও কেতিয়াও জাননীৰ ভলিউম নকমাব"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"আনলক হৈ থকাৰ সময়ত কম্পন কৰক"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"কেৱল স্ক্ৰীনখন আনলক হৈ থাকিলেহে কম্পন কৰক"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"কৰ্মস্থানৰ প্ৰ’ফাইলত প্ৰয়োগ কৰক"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"আপোনাৰ ব্যক্তিগত প্ৰ’ফাইলৰ পৰা আপোনাৰ কৰ্মস্থানৰ প্ৰ’ফাইলত জাননী কুলডাউন কৰাৰ ছেটিং প্ৰয়োগ কৰক"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ভিআৰ সহায়ক সেৱা"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ইনষ্টল কৰি থোৱা কোনো এপে ভিআৰ সহায়ক সেৱা হিচাপে চলাবলৈ অনুৰোধ কৰা নাই।"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR সেৱাক <xliff:g id="SERVICE">%1$s</xliff:g>ৰ এক্সেছ দিবনে?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"অফ আছে"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"এপ্ পিন কৰা"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"এপ্‌ পিন কৰা সুবিধাটোৱে আপোনাক আপুনি বৰ্তমানৰ এপ্‌টো আনপিন নকৰা পৰ্যন্ত সেইটোক দেখা পোৱা কৰি ৰাখিবলৈ দিয়ে। কোনো বিশ্বাসী বন্ধুক এটা নিৰ্দিষ্ট গে’ম খেলিবলৈ দিয়াৰ দৰে কাৰ্যৰ বাবে এই সুবিধাটো ব্যৱহাৰ কৰিব পাৰি।"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"কোনো এটা এপ্‌ পিন কৰি ৰাখিলে, পিন কৰি ৰখা এপ্‌টোৱে হয়তো অন্য এপ্‌সমূহ খুলিব পাৰে আৰু ব্যক্তিগত ডেটা এক্সেছ কৰিব পৰা হ’ব পাৰে। \n\nএপ্‌ পিন কৰাৰ সুবিধাটো ব্যৱহাৰ কৰিবলৈ: 	\n১) এপ্‌ পিন কৰাৰ সুবিধাটো অন কৰক 	\n২) ৰূপৰেখা খোলক 	\n৩) স্ক্ৰীনখনৰ একেবাৰে ওপৰত থকা এপৰ চিহ্নটোত টিপক, তাৰ পাছত পিন কৰকত টিপক"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"কোনো এটা এপ্‌ পিন কৰি ৰাখিলে, পিন কৰি ৰখা এপ্‌টোৱে হয়তো অন্য এপ্‌সমূহ খুলিব পাৰে আৰু ব্যক্তিগত ডেটা এক্সেছ কৰিব পৰা হ’ব পাৰে। \n\nযদি আপুনি আপোনাৰ ডিভাইচটো কাৰোবাৰ সৈতে সুৰক্ষিতভাৱে শ্বেয়াৰ কৰিবলৈ বিচাৰে, তেন্তে ইয়াৰ পৰিৱৰ্তে এটা অতিথি প্ৰ’ফাইল ব্যৱহাৰ কৰি চাওক। \n\nএপ্‌ পিন কৰাৰ সুবিধাটো ব্যৱহাৰ কৰিবলৈ: 	\n১) এপ্‌ পিন কৰাৰ সুবিধাটো অন কৰক 	\n২) ৰূপৰেখা খোলক 	\n৩) স্ক্ৰীনখনৰ একেবাৰে ওপৰত থকা এপৰ চিহ্নটোত টিপক, তাৰ পাছত পিন কৰকত টিপক"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"কোনো এটা এপ্‌ পিন কৰিলে, পিন কৰা এপ্‌টোৱে হয়তো অন্য এপ্‌সমূহ খুলিব পাৰে আৰু ব্যক্তিগত ডেটা এক্সেছ কৰিব পৰা হ’ব পাৰে। \n\nএপ্‌ পিন কৰা সুবিধাটো ব্যৱহাৰ কৰিবলৈ: 	\n{0,number,integer}। এপ্‌ পিন কৰা সুবিধাটো অন কৰক 	\n{1,number,integer}। ৰূপৰেখা খোলক 	\n{2,number,integer}। স্ক্ৰীনখনৰ একেবাৰে ওপৰত থকা এপৰ চিহ্নটোত টিপক, তাৰ পাছত পিন কৰকত টিপক"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"কোনো এটা এপ্‌ পিন কৰিলে, পিন কৰা এপ্‌টোৱে হয়তো অন্য এপ্‌সমূহ খুলিব পাৰে আৰু ব্যক্তিগত ডেটা এক্সেছ কৰিব পৰা হ’ব পাৰে। \n\nযদি আপুনি আপোনাৰ ডিভাইচটো কাৰোবাৰ সৈতে সুৰক্ষিতভাৱে শ্বেয়াৰ কৰিবলৈ বিচাৰে, তেন্তে ইয়াৰ পৰিৱৰ্তে এটা অতিথি প্ৰ’ফাইল ব্যৱহাৰ কৰি চাওক। \n\nএপ্‌ পিন কৰা সুবিধাটো ব্যৱহাৰ কৰিবলৈ: 	\n{0,number,integer}। এপ্‌ পিন কৰা সুবিধাটো অন কৰক 	\n{1,number,integer}। ৰূপৰেখা খোলক 	\n{2,number,integer}। স্ক্ৰীনখনৰ একেবাৰে ওপৰত থকা এপৰ চিহ্নটোত টিপক, তাৰ পাছত পিন কৰকত টিপক"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"কোনো এটা এপ্ পিন কৰি ৰখাৰ সময়ত: \n\n•		ব্যক্তিগত ডেটা এক্সেছ কৰিব পৰা যাব পাৰে \n		(যেনে সম্পর্কসমূহ আৰু ইমেইলৰ সমল) \n•	 পিন কৰি ৰখা এপ্‌টোৱে হয়তো অন্য এপ্‌সমূহ খুলিব পাৰে \n\nআপুনি বিশ্বাস কৰা লোকসকলৰ সৈতেহে এপ্ পিন কৰা সুবিধাটো ব্যৱহাৰ কৰক।"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"আনপিন কৰাৰ পূৰ্বে আনলক আৰ্হি দিবলৈ কওক"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"আনপিন কৰোতে পাছৱৰ্ড বিচাৰক"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"আনপিন কৰোতে পাছৱৰ্ড বিচাৰক"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"আনপিন কৰোঁতে ডিভাইচ লক কৰক"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ছিম মচাটো নিশ্চিত কৰক"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"আপুনি আপোনাৰ ই-ছিমখন মচিব বিচাৰে বুলি নিশ্চিত কৰক"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"কোনো ই-ছিম মচাৰ পূৰ্বে এইগৰাকী আপুনিয়েই বুলি সত্যাপন কৰক"</string>
     <string name="memtag_title" msgid="5096176296797727201">"উন্নত মেম’ৰী সুৰক্ষাৰ বিটা"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"উন্নত মেম’ৰী সুৰক্ষা"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ব্যৱহাৰ নকৰা এপৰ ছেটিং"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"অব্যৱহৃত হৈ থাকিলে এপৰ কাৰ্যকলাপ পজ কৰক"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"অনুমতি আঁতৰাওক, অস্থায়ী ফাইল মচক আৰু জাননী বন্ধ কৰক"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"যদি ব্যৱহাৰ হোৱা নাই এপ্‌টো পৰিচালনা কৰক"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"অনুমতি আঁতৰাওক, অস্থায়ী ফাইল মচক, জাননী বন্ধ কৰক আৰু এপ্‌টো আৰ্কাইভ কৰক"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"আটাইবোৰ এপ্"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ইনষ্টল কৰা হোৱা এপ্‌সমূহ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"তাৎক্ষণিক এপ্‌সমূহ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"খালী ঠাই"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"এপে ব্যৱহাৰ কৰা মেম’ৰিৰ পৰিমাণ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{যোৱা {time}ত ১ টা এপে মেম’ৰী ব্যৱহাৰ কৰিছে}one{যোৱা {time}ত # টা এপে মেম’ৰী ব্যৱহাৰ কৰিছে}other{যোৱা {time}ত # টা এপে মেম’ৰী ব্যৱহাৰ কৰিছে}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"মেম’ৰী ব্যৱহাৰৰ প্ৰ’ফাইলিং সক্ষম কৰক"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"মেম’ৰী ব্যৱহাৰৰ প্ৰ’ফাইলিঙৰ বাবে অতিৰিক্ত ছিষ্টেম সম্পদৰ আৱশ্যক"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"মেম’ৰীৰ প্ৰ’ফাইলিং অক্ষম কৰা হৈছে"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ফ্ৰিকুৱেন্সী"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"সৰ্বাধিক ব্যৱহাৰ"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"কোনো ডেটা ব্যৱহাৰ হোৱা নাই"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"অন্য এপ্‌সমূহত দেখুৱাওক"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"অইন এপৰ ওপৰত দেখুৱাবলৈ অনুমতি দিয়ক"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"আপুনি ব্যৱহাৰ কৰি থকা অন্য এপ্‌সমূহৰ ওপৰত এই এপ্‌টোক প্ৰদর্শন কৰিবলৈ অনুমতি দিয়ক। আপুনি ক\'ত টিপে অথবা সলনি কৰে তথা স্ক্ৰীনখনত কি প্ৰদর্শন কৰা হয় সেয়া এই এপ্‌টোৱে চাব পাৰিব।"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"মিডিয়া আউটপুট সলনি কৰক"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"এপক মিডিয়াৰ আউটপুট সলনি কৰিবলৈ অনুমতি দিয়ক"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"কোনটো সংযুক্ত এপে অন্য এপৰ পৰা অডিঅ’ অথবা ভিডিঅ’ প্লে’ কৰে, এই এপ্‌টোক সেয়া বাছনি কৰিবলৈ অনুমতি দিয়ক। যদি অনুমতি দিয়া হয়, এই এপ্‌টোৱে হেডফ’ন আৰু স্পীকাৰৰ দৰে উপলব্ধ ডিভাইচৰ এখন সূচী এক্সেছ কৰিব পাৰে আৰু ষ্ট্ৰিম কৰিবলৈ অথবা অডিঅ’ অথবা ভিডিঅ’ কাষ্ট কৰিবলৈ কোনটো আউটপুট ডিভাইচ ব্যৱহাৰ কৰা হয়, সেয়া বাছনি কৰিব পাৰে।"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"আটাইবোৰ ফাইলৰ এক্সেছ"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"আটাইবোৰ ফাইল পৰিচালনা কৰিবলৈ এক্সেছ দিয়ক"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"এই এপ্‌টোক এই ডিভাইচটোত অথবা অন্য যিকোনো সংযুক্ত ষ্ট’ৰেজৰ ভলিউমসমূহত আটাইবোৰ ফাইল পঢ়িবলৈ, সংশোধন কৰিবলৈ আৰু মচিবলৈ অনুমতি দিয়ক। যদি অনুমতি দিয়ে, আপোনাৰ নিশ্চিত জ্ঞানৰ অবিহনে এপে ফাইলবোৰ এক্সেছ কৰিব পাৰে।"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"আটাইবোৰ ফাইল এক্সেছ কৰিব পাৰে"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"কন্ঠস্বৰ সক্ৰিয়কৰণৰ এপ্"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"কণ্ঠস্বৰ সক্ৰিয়কৰণৰ অনুমতি দিয়ক"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"কন্ঠস্বৰ সক্ৰিয়কৰণে কণ্ঠস্বৰৰ নিৰ্দেশেৰে অনুমোদিত এপ্, হেণ্ডছ্‌-ফ্ৰী অন কৰে। বিল্ট-ইন অভিযোজিত ছেন্সিঙে ডেটা কেৱল আপোনাৰ বাবে ব্যক্তিগত হৈ থকাটো নিশ্চিত কৰে।\n\n"<a href="">"সুৰক্ষিত অভিযোজিত ছেন্সিঙৰ বিষয়ে অধিক"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"সম্পূৰ্ণ স্ক্ৰীনৰ জাননী"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"এই এপ্‌টোৰ পৰা সম্পূৰ্ণ স্ক্ৰীনৰ জাননীৰ অনুমতি দিয়ক"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"এই এপ্‌টোক ডিভাইচ লক হৈ থাকোঁতে পূৰ্ণ স্ক্ৰীনত ওলোৱা জাননীসমূহ দেখুওৱাৰ অনুমতি দিয়ক। এপ্‌সমূহে এইবোৰ এলাৰ্ম, অন্তৰ্গামী কল অথবা অন্য জৰুৰী জাননীসমূহ হাইলাইট কৰিবলৈ ব্যৱহাৰ কৰিব পাৰে।"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"ডেটাৰ ব্যৱহাৰ সম্পৰ্কীয় সকীয়নি <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"ডেটাৰ সীমা <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"ডেটাৰ ব্যৱহাৰ সম্পৰ্কীয় সকীয়নি <xliff:g id="ID_1">^1</xliff:g> / ডেটাৰ সীমা <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"বাহকৰ ডেটা গণনা কাৰ্য ডিভাইচৰ গণনাতকৈ পৃথক হ’ব পাৰে"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"বাহকৰ নেটৱর্কে ব্যৱহাৰ কৰা ডেটা বহিৰ্ভূত কৰে"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> খৰচ কৰা হৈছে"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ডেটা ব্যৱহাৰৰ সকীয়নি ছেট কৰক"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> আগত আপডে’ট কৰা হ’ল"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g>এ এই মাত্ৰ আপডে’ট কৰিলে"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"এই মাত্ৰ আপডে’ট কৰা হ’ল"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ডেটা আঁচনি চাওক"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"সবিশেষ চাওক"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ডেটা সঞ্চয়কাৰী"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"অপৰিমিত ডেটা"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g>এ পৃষ্ঠভূমিত থকাৰ সময়ত সাধাৰণতে কৰাতকৈ অধিক বেটাৰী ব্যৱহাৰ কৰিছে"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g>এ অগ্ৰভূমিত থকাৰ সময়ত অধিক বেটাৰী ব্যৱহাৰ কৰিছে"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g>এ অগ্ৰভূমিত থকাৰ সময়ত সাধাৰণতে কৰাতকৈ অধিক বেটাৰী ব্যৱহাৰ কৰিছে"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"বেটাৰী ব্যৱহাৰৰ বিসংগতি"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"অত্যাধিক বেটাৰীৰ ব্যৱহাৰ"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"পৃষ্ঠভূমিত অত্যাধিক বেটাৰীৰ ব্যৱহাৰ"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"অগ্ৰভূমিত অত্যাধিক বেটাৰীৰ ব্যৱহাৰ"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ক্ষিপ্ৰ ছেটিং বিকাশকৰ্তাৰ টাইল"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adbৰ কৰ্তৃত্ব প্ৰদান কৰাৰ টাইমআউট অক্ষম কৰক"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ডিফ\'ট (৭ দিন) অথবা ব্যৱহাৰকাৰীয়ে কনফিগাৰ কৰা (অতি কমেও ১ দিন) সময়ৰ ভিতৰত পুনৰ সংযোগ নকৰা ছিষ্টেমবোৰৰ বাবে adbৰ কর্তৃত্ব প্ৰদান স্বয়ংক্ৰিয়ভাৱে বাতিল কৰিব পৰা সুবিধাটো অক্ষম কৰক।"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"ৱিনস্ক\'প ট্ৰেচ"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ছেন্সৰ অফ"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"কৰ্মস্থানৰ প্ৰ’ফাইলৰ ছেটিং"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ব্যক্তিগত এপত কৰ্মস্থানৰ ডাইৰেক্টৰীত থকা সম্পৰ্কৰ সন্ধান কৰক"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ছিষ্টেম নেভিগেশ্বন, ২ টা বুটামেৰে কৰা নেভিগেশ্বন, ৩ টা বুটামেৰে কৰা নেভিগেশ্বন, আঙুলিৰ স্পৰ্শৰ নিৰ্দেশেৰে কৰা নেভিগেশ্বন, ছোৱাইপ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ডিজিটেল সহায়ক"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"সহায়ক এপক কামত লগাবলৈ ছোৱাইপ কৰক"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ডিজিটেল সহায়ক এপক কামত লগাবলৈ তলৰ একোণৰ পৰা ওপৰলৈ ছোৱাইপ কৰক।"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ডিজিটেল সহায়ক এপক কামত লগাবলৈ তলৰ এটা কোণৰ পৰা ওপৰলৈ ছোৱাইপ কৰক"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistantৰ বাবে গৃহপৃষ্ঠা বুটামটোত টিপি ধৰি থাকক"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ডিজিটেল সহায়ক এপ্‌টো কামত লগাবলৈ গৃহপৃষ্ঠা বুটামটো দবাই ৰাখক।"</string>
     <string name="low_label" msgid="6525629096999711220">"নিম্ন"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"স্বয়ংপূৰ্তি সেৱা"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ডিফ’ল্ট স্বয়ংক্ৰিয়ভাৱে পূৰ হোৱাৰ সেৱা"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"পাছৱৰ্ড"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱা"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"অতিৰিক্ত প্ৰদানকাৰী"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"অগ্ৰাধিকাৰপ্ৰাপ্ত সেৱা"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"অতিৰিক্ত সেৱা"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# টা পাছৱৰ্ড}one{# টা পাছৱৰ্ড}other{# টা পাছৱৰ্ড}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"স্বয়ংক্ৰিয়, পূৰ, স্বয়ংক্রিয়ভাৱে পূৰ হোৱা, পাছৱৰ্ড"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ডেটা, পাছকী, পাছৱৰ্ড"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"স্বয়ংক্রিয়, পূৰ হোৱা, স্বয়ংক্রিয়ভাৱে পূৰ হোৱাৰ সুবিধা, ডেটা, পাছকী, পাছৱৰ্ড"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"সলনি কৰক"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"খোলক"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"একো বাছনি কৰা হোৱা নাই"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;আপুনি এই এপ্‌টোক বিশ্বাস কৰাটো নিশ্চিত কৰক&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; এ স্বয়ংপূৰ্তিৰ বাবে নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীনত দেখা দিয়া বস্তুবোৰ ব্যৱহাৰ কৰে।"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;এ কি স্বয়ংক্রিয়ভাৱে পূৰ কৰা হ’ব সেয়া নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীনত প্ৰদৰ্শিত সমল ব্যৱহাৰ কৰে। এতিয়াৰ পৰা নতুন পাছৱৰ্ড, পাছকী আৰু অন্য তথ্য ইয়াৰ পৰা ছেভ কৰা হ’ব।"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱা"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ব্যৱহাৰ কৰিবনে?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; এতিয়াৰ পৰা ইয়াত নতুন পাছৱৰ্ড, পাছকী আৰু অন্য তথ্য ছেভ কৰা হ’ব। &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;এ কি স্বয়ংক্ৰিয়ভাৱে পূৰ কৰা হ’ব সেয়া নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীনত প্ৰদৰ্শিত সমল ব্যৱহাৰ কৰিব পাৰে।"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"পাছৱৰ্ড, পাছকী আৰু স্বয়ংক্রিয়ভাৱে পূৰ হোৱাৰ সুবিধাৰ বাবে অগ্ৰাধিকাৰপ্ৰাপ্ত সেৱা"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s অফ কৰিবনে?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;এই সেৱাটো অফ কৰিব নেকি?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; আপুনি ছাইন ইন কৰিলে পাছৱৰ্ড, পাছকী, পৰিশোধ পদ্ধতিৰ দৰে ছেভ কৰি থোৱা তথ্য আৰু অন্য তথ্য পূৰ কৰা নহ’ব। আপোনাৰ ছেভ হৈ থকা তথ্য ব্যৱহাৰ কৰিবলৈ, এটা পাছৱৰ্ড, পাছকী অথবা ডেটা সেৱা বাছনি কৰক।"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"পাছৱৰ্ড, পাছকী আৰু স্বয়ংক্রিয় পূৰ হোৱা"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;আটাইবোৰ সেৱা অফ কৰিবনে?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; আপুনি ছাইন ইন কৰিলে পাছৱৰ্ড, পাছকী আৰু ছেভ কৰি থোৱা অন্য তথ্য স্বয়ংক্ৰিয়ভাৱে পূৰ কৰাৰ বাবে উপলব্ধ নহ’ব"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;আপোনাৰ অগ্ৰাধিকাৰপ্ৰাপ্ত সেৱা &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;লৈ সলনি কৰক এতিয়াৰ পৰা নতুন পাছৱৰ্ড, পাছকী আৰু অন্য তথ্য ইয়াত ছেভ কৰা হ’ব। &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;এ কি স্বয়ংক্ৰিয়ভাৱে পূৰ কৰিব পাৰি সেয়া নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীনত প্ৰদৰ্শিত সমল ব্যৱহাৰ কৰিব পাৰে"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ব্যৱহাৰ কৰিব নেকি?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"অফ কৰক"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"সলনি কৰক"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"আপোনাৰ কেৱল ৫ টা সেৱা অন হৈ থাকিব পাৰে"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"অন্য কোনো সেৱা যোগ দিবলৈ অতি কমেও ১ টা সেৱা অফ কৰক"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$sএ স্বয়ংক্ৰিয়ভাৱে কি পূৰাব পাৰি সেয়া নিৰ্ধাৰণ কৰিবলৈ আপোনাৰ স্ক্ৰীনত থকা বস্তুবোৰ ব্যৱহাৰ কৰে।"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱাৰ সীমা"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"একে সময়তে আপোনাৰ ৫ টা পৰ্যন্ত পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱা সক্ৰিয় হৈ থাকিব পাৰে। অধিক যোগ দিবলৈ এটা সেৱা অফ কৰক।"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱাৰ সীমা"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"একে সময়তে আপোনাৰ ৫ টা পৰ্যন্ত পাছৱৰ্ড, পাছকী আৰু ডেটা সেৱা সক্ৰিয় হৈ থাকিব পাৰে। অধিক যোগ দিবলৈ এটা সেৱা অফ কৰক।"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"অফ কৰক"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"স্বয়ংপূৰ্তি"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"লগিঙৰ স্তৰ"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"এপৰ সুসমতা সম্পৰ্কীয় সালসলনিসমূহ ডিবাগ কৰিব পৰা এপ্‌সমূহৰ বাবেহে সংশোধন কৰিব পাৰি। এটা ডিবাগ কৰিব পৰা এপ্‌ ইনষ্টল কৰক আৰু পুনৰ চেষ্টা কৰক।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"অইন এটা ছেটিঙৰ ওপৰত নিৰ্ভৰশীল"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"একাউণ্ট"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d টা একাউণ্ট"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ডিভাইচৰ নাম"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"প্ৰাথমিক তথ্য"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"আইনী আৰু নিয়ামক"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"এটা NFC টেগ স্কেন কৰাৰ সময়ত এই এপ্‌টোক লঞ্চ কৰিবলৈ দিয়ক।\nযদি এই অনুমতিটো অন কৰা থাকে, কোনো টেগ চিনাক্ত কৰাৰ সময়ত এপ্‌টো এটা বিকল্প হিচাপে থাকিব।"</string>
     <string name="media_output_title" msgid="8283629315159510680">"প্লে কৰিবলগীয়া মিডিয়া"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> ইয়াত প্লে’ কৰক"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"অডিঅ’ প্লে’ হ’ব"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"এইটো ডিভাইচ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"কল চলি থকাৰ সময়ত অনুপলব্ধ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ইয়াৰ জৰিয়তে কলৰ প্ৰত্য়ুত্তৰ দিয়ক"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"মিউট"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"সক্ষম কৰিবলৈ, প্ৰথমতে \"পাৱাৰ বুটামটো টিপি ধৰি ৰাখক\"টো পাৱাৰ মেনুলৈ সলনি কৰক।"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"নেটৱৰ্কৰ সবিশেষ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"আপোনাৰ ডিভাইচটোৰ নাম আপোনাৰ ফ’নটোত থকা এপ্‌সমূহৰ বাবে দৃশ্যমান। আপুনি ব্লুটুথ ডিভাইচৰ সৈতে সংযোগ কৰোঁতে, ৱাই-ফাই নেটৱৰ্কৰ সৈতে সংযোগ কৰোঁতে অথবা ৱাই-ফাই হটস্পট ছেট আপ কৰোঁতেও এইটো অন্য লোকে দেখা পাব পাৰে।"</string>
     <string name="devices_title" msgid="649715719278562515">"ডিভাইচসমূহ"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"নেটৱৰ্ক বাছনি কৰক"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"সংযোগ বিচ্ছিন্ন কৰা হ’ল"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"নাম"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ৰং (সমিল এপ্‌সমূহত ব্যৱহৃত)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ছেভ কৰক"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ছিম ব্যৱহাৰ কৰক"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"এই ছিমখন ব্যৱহাৰ কৰক"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"অফ আছে"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"এই ছিমটো অক্ষম কৰিবলৈ, ছিম কাৰ্ডটো এৰুৱাওক"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> সক্ৰিয় কৰিবলৈ টিপক"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ছিম মচক"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"এই ছিমখন অফ কৰিবলৈ, ছিম কাৰ্ডখন আঁতৰাওক"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"আপোনাৰ <xliff:g id="CARRIER">%1$s</xliff:g> ছিমখন সক্ৰিয় কৰিবলৈ টিপক"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ই-ছিম মচক"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ প্ৰকাৰ"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"নেটৱৰ্ক অপাৰেটিং ম\'ডটো সলনি কৰক"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"অগ্ৰাধিকাৰ দিয়া নেটৱৰ্কৰ প্ৰকাৰ"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"দাম জানিবলৈ আপোনাৰ বাহকৰ সৈতে যোগাযোগ কৰক।"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"এপৰ ডেটা ব্যৱহাৰ"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"অমান্য নেটৱৰ্কৰ ম’ড <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। উপেক্ষা কৰক।"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰা"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"উপগ্ৰহৰ জৰিয়তে পাঠ বাৰ্তা পঠিয়াওক আৰু লাভ কৰক। আপোনাৰ একাউণ্টত অন্তৰ্ভুক্ত কৰা হয়।"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"উপগ্ৰহৰ জৰিয়তে পাঠ বাৰ্তা পঠিয়াওক আৰু লাভ কৰক। আপোনাৰ একাউণ্টত অন্তৰ্ভুক্ত কৰা নহয়।"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰা"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰাৰ বিষয়ে"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"এটা যোগ্য <xliff:g id="CARRIER_NAME">%1$s</xliff:g> একাউণ্টৰ অংশ হিচাপে আপুনি উপগ্ৰহৰ জৰিয়তে পাঠ বাৰ্তা পঠিয়াব বা লাভ কৰিব পাৰে"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"আপোনাৰ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>ৰ আঁচনি"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰাটো আপোনাৰ একাউণ্টত অন্তৰ্ভুক্ত কৰা হয়"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰাটো আপোনাৰ একাউণ্টত অন্তৰ্ভুক্ত কৰা নহয়"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰাটো যোগ দিয়ক"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ই কেনেকৈ কাম কৰে"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"যেতিয়া আপোনাৰ কোনো ম’বাইল নেটৱৰ্ক নাথাকে"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"আপোনাৰ ফ’নটো এটা উপগ্ৰহৰ সৈতে স্বয়ংক্ৰিয়ভাৱে সংযুক্ত হ’ব। আটাইতকৈ ভাল সংযোগৰ বাবে, আকাশখন ভালকৈ দেখাকৈ ৰাখক।"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"আপোনাৰ ফ’নটো এটা উপগ্ৰহৰ সৈতে সংযুক্ত হোৱাৰ পাছত"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"আপুনি জৰুৰীকালীন সেৱাকে ধৰি যিকোনো ব্যক্তিকে পাঠ বাৰ্তা পঠিয়াব পাৰে। আপোনাৰ ফ’নটোৱে উপলব্ধ হ’লে কোনো ম’বাইল নেটৱৰ্কৰ সৈতে পুনৰ সংযোগ কৰিব।"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰোঁতে অধিক সময় লাগিব পাৰে আৰু ই কেৱল কিছুমান অঞ্চলতহে উপলব্ধ, বতৰ আৰু নিৰ্দিষ্ট কিছুমান গাঁথনিয়ে আপোনাৰ উপগ্ৰহৰ সংযোগত প্ৰভাৱ পেলাব পাৰে। উপগ্ৰহৰ জৰিয়তে কল কৰাটো উপলব্ধ নহয়।\n\nআপোনাৰ একাউণ্টত কৰা সালসলনিসমূহ ছেটিঙত দেখুৱাবলৈ কিছু সময় লাগিব পাৰে। সবিশেষৰ বাবে <xliff:g id="CARRIER_NAME">%1$s</xliff:g>ৰ সৈতে যোগাযোগ কৰক।"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"উপগ্ৰহৰ জৰিয়তে বাৰ্তা বিনিময় কৰাৰ বিষয়ে অধিক"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"এক্সেছ পইণ্টৰ নাম"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"এপিএন"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>ৰ সৈতে সংযোগ কৰিলে উপলব্ধ নহয়"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰিবনে?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ছিম কাৰ্ড ব্যৱহাৰলৈ সলনি কৰিবনে?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ব্যৱহাৰ কৰিবনে?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"এবাৰত কেৱল এখন ছিমহে সক্ৰিয় হৈ থাকিব পাৰে। \n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰিলে আপোনাৰ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> সেৱা বাতিল নহয়।"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"এটা সময়ত ১ খন ই-ছিমহে সক্ৰিয় কৰিব পাৰি। \n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰিলে আপোনাৰ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> সেৱা বাতিল নহয়।"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"এবাৰত কেৱল এখন ছিমহে সক্ৰিয় হৈ থাকিব পাৰে। \n\nসলনি কৰিলে আপোনাৰ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> সেৱা বাতিল নহয়।"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"এবাৰত কেৱল ১ খনহে ছিম সক্ৰিয় হৈ থাকিব পাৰে।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰা কাৰ্যই আপোনাৰ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> সেৱা বাতিল নকৰে।"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"এবাৰত কেৱল ১ খনহে ই-ছিম সক্ৰিয় হৈ থাকিব পাৰে।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰা কাৰ্যই আপোনাৰ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> সেৱা বাতিল নকৰে।"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"এবাৰত কেৱল ১ খনহে ছিম সক্ৰিয় হৈ থাকিব পাৰে।\n\nসলনি কৰা কাৰ্যই আপোনাৰ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> সেৱা বাতিল নকৰে।"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"আপুনি একে সময়তে ২ খন ছিম ব্যৱহাৰ কৰিব পাৰে। <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ব্যৱহাৰ কৰিবলৈ, অন্য ছিমখন অফ কৰক।"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰক"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> অফ কৰক"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"এখন ছিম অফ কৰাটোৱে আপোনাৰ সেৱা বাতিল নকৰিব"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"নেটৱৰ্কৰ সৈতে সংযোগ কৰি থকা হৈছে…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"কল আৰু বাৰ্তাৰ বাবে <xliff:g id="CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰি থকা হৈছে…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"বাহক সলনি কৰিব নোৱাৰি"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"কিবা এটা আসোঁৱাহ থকাৰ কাৰণে বাহক সলনি কৰিব নোৱাৰি।"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"আপোনাৰ ছিমখন সক্ৰিয় কৰি থকা হৈছে…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰি থকা হৈছে…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"ছিম সলনি কৰিব নোৱাৰি"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"কিবা ভুল হৈছে। ছিম সলনি কৰিব নোৱাৰি।"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> অফ কৰিবনে?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"ছিম অফ কৰিবনে?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ছিম অফ কৰি থকা হৈছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"বাহকক অক্ষম কৰিব নোৱাৰি"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"কিবা ভুল হ’ল আৰু সেয়ে আপোনাৰ বাহকক অক্ষম কৰিব পৰা নগ’ল।"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"ছিমখন অফ কৰিব নোৱাৰি"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"কিবা ভুল হৈছে আৰু আপোনাৰ ছিমখন অফ কৰিব পৰা নগ’ল।"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"২ খন ছিম ব্যৱহাৰ কৰিবনে?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"এই ডিভাইচটোত এবাৰত ২ খন ছিম সক্ৰিয় হৈ থাকিব পাৰে। এবাৰত ১ খন ছিম ব্যৱহাৰ কৰাটো অব্যাহত ৰাখিবলৈ \"নালাগে ধন্যবাদ\"ত টিপক।"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ডিভাইচটো ৰিষ্টাৰ্ট কৰিবনে?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"নালাগে, ধন্যবাদ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"বাতিল কৰক"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"সলনি কৰক"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"অফ কৰক"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ছিমখন সক্ৰিয় কৰিব নোৱাৰি"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ছিমখন পুনৰ অন কৰিবলৈ চেষ্টা কৰক। সমস্যাটো অব্যাহত থাকিলে আপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰক।"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"আপোনাৰ ছিমখন ছেট আপ কৰক"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"এই ডিভাইচটোত একাধিক ছিম ব্যৱহাৰ কৰিবলৈ আপোনাৰ ম’বাইল নেটৱৰ্কৰ অগ্ৰাধিকাৰ ছেট কৰক"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"আপোনাৰ ছিমত লেবেল যোগ দিয়ক"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"কল কৰোঁতে, পাঠ বাৰ্তা পঠিয়াওঁতে আৰু ডেটা ব্যৱহাৰ কৰোঁতে আপুনি ছেটিঙত এই লেবেলসমূহ দেখিব"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"ছিমৰ লেবেল"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"লেবেল"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"কি ছিম ব্যৱহাৰ কৰিব বাছনি কৰক"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"আপুনি এবাৰত ২ খন ছিম ব্যৱহাৰ কৰিব পাৰে"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"আপোনাৰ মুখ্য ছিম ছেট কৰক"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"কল, পাঠ বাৰ্তা আৰু ডেটাৰ বাবে ডিফ’ল্ট হিচাপে কোনখন ছিম ব্যৱহাৰ কৰিব সেয়া বাছনি কৰক"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"আপোনাৰ মুখ্য ছিম"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"কল"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"পাঠ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"স্বয়ংক্ৰিয় ডেটা সলনি কৰা"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ক’ভাৰেজ আৰু উপলব্ধতাৰ ওপৰত নিৰ্ভৰ কৰি যিকোনো এখন ছিমৰ পৰা ডেটা ব্যৱহাৰ কৰক"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"কেৱল ডেটা"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ছেট আপ কৰক"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"পৰৱৰ্তী"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> অন কৰি থকা হৈছে…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"ম’বাইল নেটৱৰ্ক"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ফ’ন নম্বৰ"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"ছিমৰ লেবেল আৰু ৰং"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"নেটৱৰ্ক সক্ৰিয়কৰণ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"বাহক সলনি কৰা কাৰ্য"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> সক্ৰিয় হৈ আছে"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"আপোনাৰ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ছিমখন সক্ৰিয় হৈ আছে"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"ছিমৰ ছেটিং আপডে’ট কৰিবলৈ টিপক"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>লৈ সলনি কৰা হ’ল"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"অন্য বাহকলৈ সলনি কৰা হ’ল"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"আপোনাৰ ম’বাইল নেটৱৰ্ক সলনি হৈছে"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"আপোনাৰ আনখন ছিম ছেট আপ কৰক"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"আপোনাৰ সক্ৰিয় ছিমখন বাছনি কৰক অথবা একেলগে ২ খন ছিম ব্যৱহাৰ কৰক"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ব্যৱহাৰ কৰিবলৈ এটা নম্বৰ বাছনি কৰক"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{এই ডিভাইচটোত ১ টা নম্বৰ আছে, কিন্তু এবাৰত এটাহে ব্যৱহাৰ কৰিব পাৰি}=2{এই ডিভাইচটোত ২ টা নম্বৰ আছে, কিন্তু এবাৰত এটাহে ব্যৱহাৰ কৰিব পাৰি}one{এই ডিভাইচটোত # টা নম্বৰ আছে, কিন্তু এবাৰত এটাহে ব্যৱহাৰ কৰিব পাৰি}other{এই ডিভাইচটোত # টা নম্বৰ আছে, কিন্তু এবাৰত এটাহে ব্যৱহাৰ কৰিব পাৰি}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"সক্ৰিয় কৰি থকা হৈছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"এই মুহূৰ্তত সক্ৰিয় কৰিব পৰা নগ’ল"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ব্যৱহাৰ কৰিবলৈ এখন ছিম বাছনি কৰক"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{এই ডিভাইচটোত ১ খন ছিম আছে, কিন্তু এবাৰত এখনহে ব্যৱহাৰ কৰিব পাৰি}=2{এই ডিভাইচটোত ২ খন ছিম আছে, কিন্তু এবাৰত এখনহে ব্যৱহাৰ কৰিব পাৰি}one{এই ডিভাইচটোত # খন ছিম আছে, কিন্তু এবাৰত এখনহে ব্যৱহাৰ কৰিব পাৰি}other{এই ডিভাইচটোত # খন ছিম আছে, কিন্তু এবাৰত এখনহে ব্যৱহাৰ কৰিব পাৰি}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"অন কৰি থকা হৈছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"এই মুহূৰ্তত এই ছিমখন অন কৰিব পৰা নগ’ল"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ব্যৱহাৰ কৰিবনে?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"ম’বাইল ডেটা, কল আৰু এছএমএছৰ বাবে <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ব্যৱহাৰ কৰা হ’ব।"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"কোনো সক্ৰিয় ছিম উপলব্ধ নহয়"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"পাছত ম’বাইল ডেটা, কলৰ সুবিধা আৰু এছএমএছ ব্যৱহাৰ কৰিবলৈ আপোনাৰ নেটৱৰ্ক ছেটিঙলৈ যাওক"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ছিম"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"এই ই-ছিমখন মচিবনে?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"এই ছিমখন আঁতৰালে এই ডিভাইচটোৰ পৰা <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> সেৱা আঁতৰোৱা হ’ব।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>ৰ সেৱা বাতিল কৰা নহয়।"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"এইটোৱে এই ডিভাইচটোৰ পৰা <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>ৰ সেৱা আঁতৰায়, কিন্তু আপোনাৰ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>ৰ আঁচনি বাতিল কৰা নহ’ব।"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"মচক"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"ছিম মচি থকা হৈছে…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ছিম মচিব নোৱাৰি"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"এই ছিমখন কোনো অজ্ঞাত আসোঁৱাহৰ বাবে আঁতৰাব নোৱাৰি।\n\nআপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰি আকৌ চেষ্টা কৰক।"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ই-ছিমখন মচি থকা হৈছে…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ই-ছিমখন মচিব নোৱাৰি"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"কিবা ভুল হৈছে আৰু এই ই-ছিমখন মচা হোৱা নাই।\n\nআপোনাৰ ডিভাইচটো ৰিষ্টাৰ্ট কৰক আৰু পুনৰ চেষ্টা কৰক।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ডিভাইচৰ সৈতে সংযোগ কৰক"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> এপ্‌টোৱে আপোনাৰ ডিভাইচটোৰ সৈতে সংযোগ কৰিবলৈ এটা অস্থায়ী ৱাই-ফাই নেটৱৰ্ক ব্যৱহাৰ কৰিব বিচাৰিছে"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"কোনো ডিভাইচ বিচাৰি পোৱা নগ’ল। ডিভাইচ যাতে অন হৈ থাকে আৰু সংযোগ কৰিব পৰাকৈ উপলব্ধ থাকে সেইয়া নিশ্চিত কৰক।"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"জৰুৰীকালীন কল"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"আপোনাৰ বাহকত ৱাই-ফাই কলিং ব্যৱহাৰ কৰি জৰুৰীকালীন কল কৰাৰ সুবিধা নাই।\nজৰুৰীকালীন কল কৰিবলৈ ডিভাইচটোৱে স্বয়ংক্ৰিয়ভাৱে চেলুলাৰ নেটৱৰ্কলৈ সলনি কৰে।\nকেৱল চেলুলাৰ নেটৱৰ্ক থকা ঠাইৰ পৰাহে জৰুৰীকালীন কল কৰিব পৰা যায়।"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"মান উন্নত কৰিবলৈ কল কৰোঁতে ৱাই-ফাই ব্যৱহাৰ কৰক"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"বেকআপ কলিং"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"যদি <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> উপলব্ধ নহয় অথবা ৰ’মিঙত আছে, তেন্তে <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> কলৰ বাবে আপোনাৰ ম’বাইল ডেটা ছিম ব্যৱহাৰ কৰক।"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"বেকআপ কলিং"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"অন্তৰ্গামী এমএমএছ বার্তা"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"এমএমএছ বার্তা পঠিয়াব নোৱাৰি"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ম’বাইল ডেটা অফ হৈ থকাৰ সময়তো <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>ত এমএমএছ বার্তা পঠিওৱাৰ অনুমতি দিবলৈ টিপক"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"আপোনাৰ কর্মস্থান নীতিৰ তথ্য"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"আপোনাৰ আইটি প্ৰশাসকে পৰিচালনা কৰা ছেটিং"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"১৬ কেবি পৃষ্ঠাৰ আকাৰৰ সৈতে বুট কৰক"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"১৬ কেবি পৃষ্ঠা আকাৰৰ সমৰ্থিত কাৰ্নেল ব্যৱহাৰ কৰি ডিভাইচ বুট কৰক"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"১৬ কেবি পৃষ্ঠাৰ সমিল কাৰ্নেলৰ সৈতে ৰিবুট কৰিবনে?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"সকীয়নি: কিছুমান এপ্লিকেশ্বন এই ম’ডৰ সৈতে সমিল নহ’বও পাৰে। নিশ্চিতকৰণৰ পাছত ডিভাইচটো ৰিবুট হ’ব।"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"৪ কেবি পৃষ্ঠাৰ সমিল কাৰ্নেলৰ সৈতে ৰিবুট কৰিবনে?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"নিশ্চিতকৰণৰ পাছত ডিভাইচটো ৰিবুট হ’ব।"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"কাৰ্নেলক ১৬ কেবি পৃষ্ঠাৰ সৈতে সমিল কাৰ্নেললৈ আপডে’ট কৰিব পৰা নগ’ল।"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"সালসলনি প্ৰয়োগ কৰি থকা হৈছে"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"বাগ ৰিপ’ৰ্ট নিয়ন্ত্ৰণ কৰোঁতা"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"আপোনাৰ ডিভাইচত কোনটো এপে বাগ ৰিপ’ৰ্টৰ শ্বৰ্টকাট নিয়ন্ত্ৰণ কৰে সেয়া নিৰ্ধাৰণ কৰে।"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ব্যক্তিগত"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"এনে এপ্‌সমূহক অনুমতি দিয়ে যি Settingsৰ স্ক্ৰীন অ’ভাৰলে’ কৰিবলৈ অন্য এপ্‌সমূহৰ ওপৰত প্ৰদৰ্শিত হ’ব পাৰে"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"নকল মডেম সেৱা ব্যৱহাৰ কৰাৰ অনুমতি দিয়ক"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ইনষ্ট্ৰুমেণ্টেশ্বন পৰীক্ষণৰ বাবে এই ডিভাইচটোক নকল মডেম সেৱা ব্যৱহাৰ কৰাৰ অনুমতি দিয়ক। ফ’নটো স্বাভাৱিকভাৱে ব্যৱহাৰ কৰাৰ সময়ত এইটো সক্ষম নকৰিব"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"স্ক্ৰীণ শ্বেয়াৰ কৰাৰ সুৰক্ষাসমূহ অক্ষম কৰক"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"স্ক্ৰীন শ্বেয়াৰ কৰাৰ সময়ত ছিষ্টেম প্ৰয়োগ কৰা এপ্ আৰু জাননীৰ সুৰক্ষা অক্ষম কৰে"</string>
     <string name="media_controls_title" msgid="403271085636252597">"মিডিয়া"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"মিডিয়া প্লে’য়াৰ পিন কৰক"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"প্লে’বেক ক্ষিপ্ৰতাৰে পুনৰ আৰম্ভ কৰিবলৈ ক্ষিপ্ৰ ছেটিঙত মিডিয়া প্লে’য়াৰ খোলা থাকে"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"লক স্ক্ৰীনত মিডিয়া দেখুৱাওক"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"প্লে’বেক ক্ষিপ্ৰতাৰে পুনৰ আৰম্ভ কৰিবলৈ লক স্ক্ৰীনত মিডিয়া প্লে’য়াৰ খোলা থাকে"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"মিডিয়াৰ চুপাৰিছসমূহ দেখুৱাওক"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistantএ প্ৰদান কৰা মিডিয়াৰ চুপাৰিছ দেখুৱাওক"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"আপোনাৰ কাৰ্যকলাপৰ ওপৰত আধাৰিত"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"প্লে’য়াৰটো লুকুৱাওক"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"প্লে’য়াৰটো দেখুৱাওক"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"মিডিয়া"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"কেমেৰা ছফ্টৱেৰৰ এক্সটেনশ্বনৰ অনুমতি দিয়ক"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"চাই নথকাকৈ কৰিব পৰা ভিডিঅ’গ্ৰাফীৰ দৰে কেমেৰাৰ উচ্চখাপৰ সুবিধাৰ ডিফ’ল্ট ছফ্টৱেৰৰ ৰূপায়ণ সক্ষম কৰে।"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ব্লুটুথ অন কৰা হ’ব"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ইণ্টাৰনেট"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"ছিম"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ছিম"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ই-ছিম"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ই-ছিম"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"সক্ৰিয় হৈ আছে"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"নিষ্ক্ৰিয় হৈ আছে"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"অন আছে"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"অফ আছে"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g>ৰ বাবে ডিফ’ল্ট"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"কল"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"এছএমএছ"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"সমিল মিডিয়াৰ পৰা অহা অডিঅ’ অধিক ইমাৰ্ছিভ হৈ পৰে"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"হে’ড ট্ৰেকিং"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"আপুনি নিজৰ মূৰটো লৰচৰ কৰিলে শ্ৰৱণৰ অভিজ্ঞতা অধিক স্বতঃস্ফূৰ্ত কৰিবলৈ অডিঅ’ সলনি হয়"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"অনুমতিসমূহ ছিংক কৰক"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>ত আপুনি <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>ত দিয়া একে এপৰ অনুমতি দিয়ক"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ফ’নৰ পৰা অনুমতিসমূহ ছিংক কৰক"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"আপোনাৰ ঘড়ীটোক আপুনি এই ফ’নটোত দিয়া একে এপৰ অনুমতি দিয়ক"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"অডিঅ’ ডিভাইচৰ প্ৰকাৰ"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"অজ্ঞাত"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"স্পীকাৰ"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"মধ্যমীয়া"</string>
     <string name="contrast_high" msgid="3988567609694797696">"উচ্চ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"এই এপ্‌টো কেৱল ১ খন ৱিণ্ড’ত খুলিব পাৰি"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"অন আছে"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"অফ আছে"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"অফ আছে"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"অফ আছে"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"অন আছে"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"অফ আছে"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"অন আছে"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"অফ আছে"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"পাতল স্ক্ৰীনসমূহ গাঢ় আৰু গাঢ় স্ক্ৰীনসমূহ পাতল কৰি তোলে"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"স্ক্ৰীনখনত জুম ইন কৰক"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"অফ আছে"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"অফ আছে"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"প্ৰতাৰণামূলক এপৰ বাবে স্কেন কৰি থকা হৈছে"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ফিশ্বিঙৰ বাবে এপৰ কাৰ্যকলাপ পৰীক্ষা কৰক"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"প্ৰতাৰণামূলক এপ্‌ বিচাৰি উলিয়াবলৈ স্কেন কৰাৰ সুবিধা ব্যৱহাৰ কৰক"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"কৰ্মস্থানৰ প্ৰতাৰণামূলক এপ্‌ বিচাৰি উলিয়াবলৈ স্কেন কৰাৰ সুবিধা ব্যৱহাৰ কৰক"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"পাছৱৰ্ড এতিয়া ছেট আপ কৰা হৈছে"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"মাউছৰ কাৰ্ছৰডাল লৰচৰ কৰি থাকিলে পইণ্টাৰ দেখুৱাওক"</string>
 </resources>
diff --git a/res/values-az/arrays.xml b/res/values-az/arrays.xml
index ed6a3f2..c7c30cc 100644
--- a/res/values-az/arrays.xml
+++ b/res/values-az/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Mümkün"</item>
     <item msgid="6096962300722555553">"Diapazondan kənar"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Deaktiv"</item>
+    <item msgid="7781484297606806796">"Vahid yayım"</item>
+    <item msgid="6667451574264144311">"Vahid yayım və yayım"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Sistem Defoltundan istifadə edin: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 dəqiqə sonra"</item>
     <item msgid="1574040255478150028">"5 dəqiqə sonra"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-az/strings.xml b/res/values-az/strings.xml
index 48f4a8f..c95807e 100644
--- a/res/values-az/strings.xml
+++ b/res/values-az/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Siz indi tərtibatçısınız!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Ehtiyac yoxdur, Siz artı gəlişdiricisiniz."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Əvvəlcə developer seçimlərini aktiv edin."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Yalnız admin istifadəçilər developer ayarlarına daxil ola bilər."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Xidmətdə"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Xidmətdən Kənarda"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Cihazı qatladıqda ön ekran yandırılır"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Yalnız oyun, video və s."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Ekranın hərəkətsiz qalmasının qarşısını alan tətbiqlər üçün ön ekran yandırılır"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Davam etmək üçün yuxarı sürüşdürün"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Tətbiqdən istifadəyə davam etmək üçün telefonunuzu qatlayıb, ön ekranda yuxarı sürüşdürün və ya ekranın kilidlənməsi üçün bir neçə saniyə gözləyin"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Heç vaxt"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Cihazı qatladıqda ön ekran kilidlənir"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Ekran avtomatik dönsün"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Oxşar"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Zəng melodiyası, zəngli saat"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zənglər zamanı audio"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Bildiriş, digər sistem səsləri"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media və sistem səsləri"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Bildirişlər"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Audio çıxışını defolt olaraq fərdi tətbiqlər müəyyənləşdirir"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Adsız Bluetooth cihazı"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Axtarılır"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Ləğv edin"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE audionu deaktiv edin"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Cihaz LE audio avadanlıq imkanlarını dəstəkləyirsə, Bluetooth LE audio funksiyasını deaktiv edir."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio rejimi"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE audio açarı görünsün: Cihaz detalları"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE audio icazə siyahısını aktivləşdirin"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE audio icazə siyahısı funksiyasını aktivləşdirin."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio üzrə icazə verilənlər siyahısına qoşulmayın"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio periferik cihazının icazə verilənlər siyahısı üzrə meyarlara cavab verdiyi doğrulanmasa da, defolt olaraq LE Audio istifadə edin."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media cihazları"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Zəng cihazları"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Digər cihazlar"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Yadda saxlanmış cihazlar"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Hesab ilə əlaqələndirilib"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Əvvəllər hesab ilə istifadə edilib"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth qoşulmaq üçün aktiv ediləcək"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Bağlantı tərcihləri"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Öncə qoşulmuş cihazlar"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth aktivdir"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Hamısına baxın"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Hamısına baxın"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Qələm"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Başlıq düyməsinin basılması"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (İş profili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Mətn sahələrinə yazın"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Qələmlə düymə basılmalarını nəzərə almayın"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Qələm"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio paylaşımı"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audio paylaşın"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Zəng və zəngli saatlar"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR kodu ilə audio yayımına qoşulun"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Yaxınlıqda audio yayımı tapılmadı."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Vaxt və tarix"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proksi"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Təmizlə"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s tərcih edilən dillərə əlavə edilsin?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Bununla tətbiq və veb-saytlar bu dili tərcih etdiyinizi bilir."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Cihaz ayarları və regional tərcihlər dəyişəcək."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Dəyişin"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s əlçatan deyil"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Şənbə"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Tətbiq regional tərcihləri dəstəkləmirsə, defolt ayarlardan istifadə edəcək."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Dil tərcihləri haqqında ətraflı."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Əlavə tərcihlər"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Xitab tərzi"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Xitab şəkli seçin"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Tətbiqlər seçdiyiniz fərdi xitab tərzi ilə sizə xitab edə bilər."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Göstərilməyib"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Qadın"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Kişi"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neytral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Seçilmiş dil silinsin?}other{Seçilmiş dillər silinsin?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Mətn başqa dildə göstəriləcək."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Bütün dilləri silmək mümkün deyil."</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Məkan"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Məkan işlədin"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Deaktiv"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Aktiv - # tətbiqin məkana giriş icazəsi var}other{Aktiv - # tətbiqin məkana giriş icazəsi var}}"</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_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="5329024810729665156">"Məkan Ayarları haqqında daha ətraflı."</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="3574930966097093550">"Məkana girişi dəyişin: Ayarlar &gt; Güvənlik və məxfilik &gt; Məxfilik nizamlayıcıları"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Hesablar"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Güvənlik"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Şifrələmə və kimlik bilgiləri"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Ən yaxşı nəticələr üçün \"Google üçün hazırlanıb\" sertifikatlı ekran qoruyucusu istifadə edin. Digər ekran qoruyucuları ilə uşağınızın barmaq izi işləməyə bilər."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Saat ilə kiliddən çıxarma"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Üz ilə kiliddən çıxarma və Barmaq izi ilə kiliddən çıxarma ayarladıqda maska taxdığınız, yaxud qaranlıq yerdə olduğunuz zaman telefonunuz barmaq izinizi istəyəcək.\n\nÜzünüz və ya barmaq iziniz tanınmadıqda saatınızla kiliddən çıxara bilərsiniz."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Barmaq iziniz tanınmadıqda saatınızla kiliddən çıxara bilərsiniz."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Üzünüz tanınmadıqda saatınızla kiliddən çıxara bilərsiniz."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Üzlə Kilidaçma və Barmaqla Kilidaçma ayarladıqda maska taxarkən və ya qaranlıqda olarkən telefon barmaq izinizi istəyəcək.\n\nSaatla Kilidaçma telefonu kiliddən çıxarmağın digər rahat yoludur (məsələn, barmaqlar yaş olduqda və ya üz tanınmadıqda)."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Saatla Kilidaçma telefonu kiliddən çıxarmağın digər rahat yoludur (məsələn, barmaq izi tanınmadıqda)."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Saatla Kilidaçma telefonu kiliddən çıxarmağın digər rahat yoludur (məsələn, üz tanınmadıqda)."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Barmaq izi və ya saat istifadə edin"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Üz və ya saat istifadə edin"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Üz, barmaq izi və ya saat istifadə edin"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Barmaq yaş olduqda, yaxud üz tanınmadıqda Saatla Kilidaçma ilə bu telefonu asanlıqla kiliddən çıxara bilərsiniz.\n\nAşağıdakı hallarda bu telefonu saat ilə kiliddən çıxarmaq olar:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"İndi yox"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Davam edin"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Ardı"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Haqqında"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Saat kiliddən çıxarılmalı, biləkdə və bu telefona yaxın olmalıdır. Biləkdə olarkən saatı yenidən kiliddən çıxarmaq lazım deyil."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Bu telefon kiliddən çıxarıldıqda saatda bildiriş alacaqsınız. İstəmədiyiniz halda kiliddən çıxarılarsa, telefonu yenidən kilidləmək üçün bildirişə toxunun."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Hər şey nəzarətiniz altındadır"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Ayarlarda saatı Saatla Kilidaçmadan silə bilərsiniz"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Bildirişə toxunun"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Kilid ekranında yuxarı sürüşdürün"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Saatınızı seçin"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Əlçatan saatlar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Ləğv edin"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Təsdiq edin"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Hər şey hazırdır!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Kilid ekranında yuxarı sürüşdürdükdə və ya bildirişə toxunduqda saat ilə bu telefonu kiliddən çıxara bilərsiniz"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Hazırdır"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Saatla Kilidaçma"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Kilid ekranında yuxarı sürüşdürməklə və ya bildirişə toxunmaqla bu telefonu saat ilə kiliddən çıxara bilərsiniz"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Saatla Kilidaçmadan istifadə üçün saat kiliddən çıxarılmalı, biləkdə, yaxında olmalı və bu telefona qoşulmalıdır. Bağlantı dayandıqda Saatla Kilidaçmadan istifadə üçün telefonu kiliddən çıxarmalısınız.\n\nUnutmayın:\nEyni anda yalnız bir saat ayarlamaq olar. Başqa saat əlavə etmək üçün cari saatı silin."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Təhlükəsizlik"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Məxfilik"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"İş profili"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Şəxsi sahə"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Şəxsi tətbiqləri kilidli və gizli saxlayın"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Şəxsi tətbiqləri gizlədə və ya kilidləyə biləcəyiniz ayrı yerdə saxlayın"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Şəxsi sahə kilidi"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Şəxsi sahənin kilidini cihaz ilə eyni qaydada aça və ya başqa kilid seçə bilərsiniz"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Cihazın ekran kilidini istifadə edin"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Üz və Barmaqla Kiliddən Açma"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Barmaqla kilidaçma"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Üzlə kilidaçma"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ayarlamaq üçün toxunun"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Şəxsi sahə üçün barmaqla kilidaçma"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Şəxsi sahə üçün üzlə kilidaçma"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Kiliddən çıxarma üsulları"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Cihazın ekran kilidi ilə eyni"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Şəxsi sahə üçün yeni kilid seçilsin?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Şəxsi sahəni avtomatik kilidləyin"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Cihazı bir müddət istifadə etmədikdə şəxsi sahəni avtomatik kilidləyə bilərsiniz"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Hər dəfə cihaz kilidləndikdə"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 dəqiqə fəaliyyətsizlikdən sonra"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Heç vaxt"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Kilidli olduqda gizlədin"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Kilidli olduqda şəxsi sahəni gizlədin"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Digərlərinin cihazdakı şəxsi sahədən xəbərdar olmaması üçün onu tətbiq siyahısından gizlədə bilərsiniz"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Gizli olduqda şəxsi sahəyə giriş"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Tətbiq siyahısının axtarış panelində \"şəxsi sahə\" daxil edin"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Şəxsi sahə mozaikinə toxunun"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Şəxsi sahəni kiliddən çıxarın"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Deaktiv"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktiv"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Şəxsi sahəni silin"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Şəxsi sahə silinsin?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Şəxsi sahə cihazdan silinəcək. Şəxsi tətbiqlər və data silinəcək. Bu əməliyyatı geri qaytarmaq olmur."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Aşağıdakı hesablar şəxsi sahədən silinəcək:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Silin"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Şəxsi sahə silinir…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Bir neçə dəqiqə çəkəcək"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Şəxsi sahə silindi"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Şəxsi sahə silinmədi"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Şəxsi sahə kiliddən çıxarıldı"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ekran kilidi quraşdırın"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Bu cihazda ekran kilidi qurmaqla məxfi yerdən istifadə edin"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekran kilidi quraşdırın"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Ləğv edin"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Ləğv edin"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Ayarlayın"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Məxfi yer ayarlayın"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Şəxsi tətbiqləri gizlədə və ya kilidləyə biləcəyiniz ayrı yerdə saxlayın"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Haqqında"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Tətbiq siyahısının aşağısından məxfi yerə daxil ola bilərsiniz"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Məxfi yerdəki tətbiqlər kilid ilə qorunur"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Məxfi yer kilidlənəndə oradakı tətbiq bildirişləri gizlədilir"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Məxfi yer kilidləndikdə məxfi yerdəki tətbiqlər icazə meneceri, məxfilik paneli və digər ayarlarda görünməyəcək.\n\nMəxfi yer yeni cihaza köçürülə bilməz. Başqa cihazda istifadə etmək istəsəniz, başqa məxfi yer ayarlamalısınız.\n\nCihazı kompüterə qoşan və ya cihazda zərərli tətbiqlər quraşdıran istənilən şəxs məxfi yerə daxil ola bilər."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Məxfi yer ayarlanır…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Kilidli olduqda şəxsi sahə tətbiqlərinin bildirişləri gizlədilir"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Foto və ya fayl paylaşmaq üçün şəxsi sahənin kilidini açın"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Bəzi tətbiqlər artıq məxfi yerdə quraşdırılıb"</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_lockscreen_title" msgid="6034864097861137509">"Məxfi yer ekran kilidi ilə açılsın?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Məxfi yerin kilidini cihaz ilə eyni qaydada aça və ya başqa kilid seçə bilərsiniz"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Ekran kilidi istifadə edin"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Yeni kilid seçin"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tam hazırdır!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Şəxsi sahəni tapmaq üçün tətbiq siyahısına keçib, aşağı sürüşdürün"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Hazırdır"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Məxfi yer tapmaq üçün aşağı sürüşdürün"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Daxil olun"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Şəxsi sahə ilə istifadə üçün hesaba daxil olun"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"İndi yox"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Davam edin"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Məxfi yer üçün kilid seçin"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Barmaq izi ilə məxfi yeri kiliddən çıxara bilərsiniz. Güvənlik üçün bu seçim yedək kilid tələb edir."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Şəxsi sahə üçün PIN qurun"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Şəxsi sahə üçün parol qurun"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Şəxsi sahə üçün model qurun"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> ədədə qədər barmaq izi əlavə edə bilərsiniz"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Maksimum sayda barmaq izi əlavə etmisiniz"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Daha artıq barmaq izi əlavə edilə bilməz"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Qrafik açar"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PİN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Parol"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ekran kilidi silinsin?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Cihazı kiliddən çıxarma üzrə bütün modellər silinsin?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Profil qorunması silinsin?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Telefonunuz itdikdə və ya oğurlandıqda model onu qoruyur"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Telefonunuz itdikdə və ya oğurlandıqda model onu qoruyur.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Bu, cihazınızda saxlanılan barmaq izi modelini silir. Üz modeliniz də həmişəlik və təhlükəsiz qaydada silinəcək. Tətbiqlərdə əsllik yoxlaması üçün üzünüzdən və ya barmaq izinizdən istifadə edə bilməyəcəksiniz."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Telefonunuz itdikdə və ya oğurlandıqda PIN onu qoruyur"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN kimi yadda saxlanmış datanı itirəcəksiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsız ödəmə kartları silinəcək.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihazı kiliddən çıxarmağı tələb edən pulqabı və digər tətbiqlər düzgün işləməyə bilər."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Telefonunuz itdikdə və ya oğurlandıqda PIN onu qoruyur.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bu, cihazınızda saxlanılan barmaq izi modelini də silir. Tətbiqlərdə əsllik yoxlaması üçün barmaq izinizdən istifadə edə bilməyəcəksiniz."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN və barmaq izi modeli kimi yadda saxlanmış datanı itirəcəksiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsız ödəmə kartları silinəcək.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihazı kiliddən çıxarmağı tələb edən pulqabı və digər tətbiqlər düzgün işləməyə bilər."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Telefonunuz itdikdə və ya oğurlandıqda PIN onu qoruyur.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Üz modeliniz də həmişəlik və təhlükəsiz qaydada silinəcək. Tətbiqlərdə əsllik yoxlaması üçün üzünüzdən istifadə edə bilməyəcəksiniz."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN və üz modeli kimi yadda saxlanmış datanı itirəcəksiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsız ödəmə kartları silinəcək.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihazı kiliddən çıxarmağı tələb edən pulqabı və digər tətbiqlər düzgün işləməyə bilər."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Telefonunuz itdikdə və ya oğurlandıqda PIN onu qoruyur.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bu, cihazınızda saxlanılan barmaq izi modelini silir. Üz modeliniz də həmişəlik və təhlükəsiz qaydada silinəcək. Tətbiqlərdə əsllik yoxlaması üçün üzünüzdən və ya barmaq izinizdən istifadə edə bilməyəcəksiniz."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN, üz və barmaq izi modelləri kimi yadda saxlanmış datanı itirəcəksiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsız ödəmə kartları silinəcək.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihazı kiliddən çıxarmağı tələb edən pulqabı və digər tətbiqlər düzgün işləməyə bilər."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Telefonunuz itdikdə və ya oğurlandıqda parol onu qoruyur"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Telefonunuz itdikdə və ya oğurlandıqda parol onu qoruyur.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> əlavə edilsin?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Əlaqələndirilmiş qrupa yeni cihaz əlavə edin"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Audio cihazının ikinci hissəsini əlavə etmək üçün təsdiq edin"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth qoşulma kodu"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Cütlənmə kodunu yazın, sonra Geriyə və ya Enter düyməsini basın"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN hərflər və ya simvollar ehtiva edir"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 rəqəm olmalıdır"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Siz, həmçinin, digər cihaza bu PIN kodu daxil etməli ola bilərsiniz."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Siz bu əsas açarı digər cihazda da yazmalı ola bilərsiniz."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Əlaqələndirilmiş dəstlə birləşdirməyi təsdiq edin"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Audio cihazı ilə birləşdirmək üçün təsdiq edin"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Kontaktlar və zəng tarixçəsinə giriş icazəsi verin"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Kontaktlar və zəng tarixçəsinə də giriş imkanı verin"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Məlumat zəng elanı və s. üçün istifadə ediləcək"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> cihazına qoşula bilmədi."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Əlçatan cihazlar"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Qoşulsun"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ayrılın"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"cütləndirin və əlaqə yaradın"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth aktiv olan zaman cihazınız yaxınlıqdakı Bluetooth cihazları ilə bağlantı qura bilər."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth aktiv olduqda cihaz yaxınlıqdakı Bluetooth cihazları ilə bağlantı qura bilər"</string>
     <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_scan_change" msgid="1744636222637390367">"Dəyişin"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Cihaz məlumatları"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART sazlanmaya uyğun tətbiqlərin bayt-kodunu yoxlaya bilsin"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Təzələnmə tezliyi göstərilsin"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ekranın cari təzələnmə tezliyi göstərilsin"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR nisbətini göstərin"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Cari HDR/SDR nisbətini göstərin"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC üçün cihaz kilidinin açılması tələb olunsun"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Uçuş rejimində"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"İctimai şəbəkələr barədə bildirilsin"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Yüksək keyfiyyətli ictimai şəbəkə əlçatan olduqda bildirin"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP şəbəkələrinə icazə verin"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP güvənliyi az olan köhnə təhlükəsizlik protokoludur"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Güvənliyi az olduğu üçün operator WEP şəbəkələrinə icazə vermir"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi avtomatik aktiv olsun"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Siqnalı keyfiyyətli olan saxlanmış şəbəkələr zonasında Wi-Fi aktivləşsin"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Əlçatan deyil çünki məkan deaktivdir. "<annotation id="link">"Məkanı"</annotation>" aktiv edin."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Bu funksiya hətta Wi-Fi deaktiv olanda da tətbiqlərə və xidmətlərə Wi-Fi axtarmağa imkan yaradır. Bununla da məkan haqqında məlumata ehtiyacı olan funksiya və xidmətlərin iş keyfiyyəti artmış olur."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktiv edin"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi skanı deaktiv edildi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Bu şəbəkə güvənliyi az olan köhnə təhlükəsizlik protokolundan istifadə edir"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> bloklanıb"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Bu şəbəkə güvənliyi az olan WEP adlı köhnə təhlükəsizlik protokolundan istifadə edir. Qoşulmaq üçün WEP şəbəkələrinə icazə verə bilərsiniz."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Güvənliyi az olan köhnə təhlükəsizlik protokolundan istifadə etdiyi üçün operator bu şəbəkəyə qoşulmağa icazə vermir"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP-ə icazə verin"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Bağlayın"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Qabaqcıl seçimlər"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Aşağıya açılan siyahı Qabaqcıl Seçimləri"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"genişləndirin"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi‑Fi şəbəkəsində qalın"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Daha göstərməyin"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Qoşul"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi aktivdir"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> şəbəkəsinə qoşulub"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> şəbəkəsinə qoşulur"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Qoşulur…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Şəbəkəyə qoşulmaq alınmadı"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Şəbəkə aralıqda deyil"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Unudulsun"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Dəyişdirin"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Şəbəkəni unutmaq alınmadı"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Yadda saxlayın"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Şəbəkəni yadda saxlamaq alınmadı"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Ləğv edin"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobil data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Şarj edilir"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Şarj edilir"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot bağlantısı"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Bağlantı gücü"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saxlanılmış şəbəkələr"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Parol ayarlanmayıb"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot adı"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot parolu"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP Diapazonu"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot avtomatik deaktiv edilsin"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Heç bir cihaz qoşulmadıqda"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Uyğunluğu artır"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ağlıq balansını göstərin"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Qatlandıqda tətbiqlərdən istifadəyə davam edin"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Rahat Displey"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Bəzi kontent üçün 60-<xliff:g id="ID_1">%1$s</xliff:g> Hs yeniləmə dərəcəsini avtomatik artırır. Batareya istifadəsini artırır."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Defolt kadr tezliyini söndürün"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Oyunlar üçün kadr tezliyinin maksimum <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hs-də məhdudlaşmasnı deaktiv edin."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Hamar ekran görünüşü"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Bəzi kontentlər üçün yeniləmə dərəcəsini <xliff:g id="ID_1">%1$d</xliff:g> Hs-ə qədər avtomatik yüksəldir. Batareya istifadəsini artırır."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Pik yeniləmə dərəcəsini məcburi tətbiq edin"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Təzələnmə tezliyini artıraraq sensor həssaslığını və animasiya axıcılığını artırır. Enerji sərfiyyatını artırır."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Ekran həssaslığı"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Adaptiv yuxu rejimi aktiv olanda cihaz ekrana baxdığınızı bilmək üçün ön kameranı istifadə edir. Şəkillər heç vaxt cihazdan kənara göndərilmir."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ekran həssaslığını aktiv edin"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ekrana baxarkən onu aktiv saxlayın"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Ekranın sönmə müddəti uzun olsa, çox batareya enerjisi istifadə ediləcək."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera kilidlidir"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Üzün aşkarlanması üçün kameranın kilidi açılmalıdır"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Ekran Həssaslığı üçün kamera kiliddən çıxarılmalıdır"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (sim yuvası <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (sim yuvası <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (əsas)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Baxmaq üçün saxlanılmış şəbəkə seçin"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"DƏQ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL versiyası"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Enerji səviyyəsi"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Kommunal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Kommunal ayarlar"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Peyk vasitəsilə mesajlaşma"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-lər"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Giriş nöqtəsinə düzəliş edin"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Giriş nöqtəsi əlavə edin"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Təyin edilməyib"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ayarlanmayıb"</string>
     <string name="apn_name" msgid="6677695784108157953">"Ad"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN aktiv"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN deaktiv"</string>
     <string name="bearer" msgid="3231443241639159358">"Daşıyıcı"</string>
+    <string name="network_type" msgid="748590707422733595">"Şəbəkə növü"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Qeyd olunmayıb"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Mobil virtual şəbəkə operatoru növü"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Mobil virtual şəbəkə operatoru dəyəri"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN silin"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Yadda saxlayın"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Ləğv edin"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Dublikat APN daxiletməsi."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Ad sahəsi boş ola bilməz."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN boş ola bilməz."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC sahəsində 3 rəqəm olmalıdır."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC sahəsi 2 və ya 3 rəqəm olmalıdır."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operator %s növündə olan APN-lərin əlavə edilməsinə icazə vermir."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC sahəsi düzgün olmalıdır."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Defolt APN ayarları bərpa olunur."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Sıfırlayın"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Varsayılan APN ayarlarının sıfırlanması tamamlandı."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Sıfırlayın"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi sıfırlanıb"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM\'ləri silin"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Yeni SIM kart endirmək üçün operatorla əlaqə saxlayın. Tarif planınıza təsir etməyəcək."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Mobil xidmət planı ləğv edilməyəcək. Əvəzləyici SIM əldə etmək üçün operator ilə əlaqə saxlayın."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ayarları sıfırlayın"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Bütün şəbəkə ayarları sıfırlansın? Bu əməliyyatı geri qaytara bilməzsiniz."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Bütün şəbəkə ayarları sıfırlansın və eSIM\'lər silinsin? Bu əməliyyatı geri qaytara bilməzsiniz."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Sıfırlansın?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Şəbəkə sıfırlaması bu istifadəçi üçün əlçatan deyil"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Şəbəkə ayarları sıfırlandı"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-ləri silmək mümkün deyil"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Xəta baş verdiyinə görə eSIM\'ləri silmək mümkün deyil.\n\nCihazı yenidən başlatdıqdan sonra cəhd edin."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM-ləri silmək olmur"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Xəta oldu və eSIM-lər silinmədi.\n\nCihazı yenidən başladın və təkrar cəhd edin."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Bütün datanı silin (zavod sıfırlaması)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Bütün datanı silin (zavod sıfırlaması)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musiqi"</li>\n<li>"Fotolar"</li>\n<li>"Digər istifadəçi datası"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-lər"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Bununla mobil xidmət planı ləğv edilməyəcək."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Şəxsi məlumat və endirilən tətbiqlərin hamısı silinəcək. Bu əməliyyatı geri qaytara bilməzsiniz."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Endirilən tətbiqlər və SIM-lər daxil olmaqla şəxsi məlumatın hamısı silinəcək. Bu əməliyyatı geri qaytara bilməzsiniz."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Endirilən tətbiq və SIM-lər daxil olmaqla şəxsi məlumatlar silinəcək. Bu əməliyyatı geri qaytara bilməzsiniz."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Bütün data silinsin?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Zavod sıfırlaması bu istifadəçi üçün əlçatan deyil"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Silinir"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"İnternet digər cihazlarla paylaşılmır"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Deaktiv"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Modem rejimi"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi hotspot istifadə etməyin"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"İnterneti yalnız USB vasitəsilə paylaşın"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"İnterneti yalnız Bluetooth vasitəsilə paylaşın"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"İnterneti yalnız Ethernet vasitəsilə paylaşın"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"İnterneti yalnız USB və Bluetooth vasitəsilə paylaşın"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"İnterneti yalnız USB və Ethernet vasitəsilə paylaşın"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"İnterneti yalnız Bluetooth və Ethernet vasitəsilə paylaşın"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"İnterneti yalnız USB, Bluetooth və Ethernet vasitəsilə paylaşın"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-modem"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-modem"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-modem"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Digər cihazları mobil internetlə təmin etmək üçün hotspot və modem rejimini istifadə edin. Tətbiqlər kontent paylaşmaq üçün hotspot da yarada bilər."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Yardım"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobil şəbəkə"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobil plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS tətbiqi"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS tətbiqi dəyişilsin?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="NEW_APP">%1$s</xliff:g> tətbiqi <xliff:g id="CURRENT_APP">%2$s</xliff:g> yerinə SMS tətbiqiniz olaraq işlənsin?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi yardımçısı dəyişdirilsin?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Şəbəkə bağlantılarını idarə etmək üçün <xliff:g id="CURRENT_APP">%2$s</xliff:g> əvəzinə <xliff:g id="NEW_APP">%1$s</xliff:g> istifadə edilsin?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Şəbəkə bağlantılarını idarə edilmək üçün <xliff:g id="NEW_APP">%s</xliff:g> istifadə edilsin?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Naməlum SIM operatoru"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> naməlum vebsayt təminatçısına malikdir"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Lütfən, SİM kart daxil edin və yenidən başladın"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Lütfən. internetə qoşulun"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Son məkan sorğuları"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"İş profili üçün yer"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Tətbiq məkanı icazələri"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Girişi təmizləyin"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrollar"</string>
     <string name="force_stop" msgid="2681771622136916280">"Dayandırılsın"</string>
+    <string name="archive" msgid="9074663845068632127">"Arxivə atın"</string>
+    <string name="restore" msgid="7622486640713967157">"Bərpa edin"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Bərpa edilir"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Bərpa edilir."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Bərpa edilir…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Bərpa edilir..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Toplam"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tətbiq ölçüsü"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB yaddaş tətbiqi"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Paket ölçüsü hesablana bilmədi."</string>
     <string name="version_text" msgid="7628938665256107608">"versiya <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Daşıyın"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arxivə atılmadı"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arxivə atıldı: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Bərpa edilmədi"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> bərpa edilir"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Digər miqrasiya artıq icra olunur."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Kifayət qədər yer yoxdur."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Tətbiq mövcud deyil."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Əlçatan Ekran klaviaturası"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Ekran klaviaturalarını idarə edin"</string>
     <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="6922850403920596246">"Fiziki klaviatura əlçatımlığı üçün Sıçrama düymələrini aktivləşdirin"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Asta düymələr"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Fiziki klaviatura əlçatımlığı üçün Asta düymələri aktivləşdirin"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Əvəzedici düymələr"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Fiziki klaviatura əlçatımlığı üçün Əvəzedici düymələri aktivləşdirin"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Kursor sürəti"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Taçped jestlərini öyrənin"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Əsas səhifəyə qayıdın"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Taçpedin istənilən yerində üç barmağınızla yuxarı sürüşdürün"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Geri qayıdın"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"İstifadə vaxtı üzrə çeşidləyin"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Son istifadə üzrə çeşidləyin"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Tətbiq adı üzrə çeşidləyin"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Son istifadə vaxtı"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Son istifadə"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"heç vaxt"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"İstifadə müddəti"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Əlçatımlılıq"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Əlçatımlılıq parametrləri"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Üç dəfə klikləməklə böyüdün"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Qısayol ilə böyüdün"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Qısayol &amp; üç toxunuşla böyüdün"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> haqqında"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Xüsusi imkanlar düyməsini istifadə edin"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Açmaq üçün səs düymələrini basıb saxlayın"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Açmaq üçün ekrana üç dəfə toxunun"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Açmaq üçün ekrana iki barmaqla iki dəfə toxunun"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Açmaq üçün jestdən istifadə edin"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Əlçatımlılıq jestindən istifadə edin"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Bu funksiyanı işlətmək üçün ekranın altındakı xüsusi imkanlar düyməsinə <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> toxunun.\n\nFunksiyadan funksiyaya keçmək üçün xüsusi imkanlar düyməsinə toxunub saxlayın."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Bu funksiyanı işlətmək üçün xüsusi imkanlar düyməsinə toxunun."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Bu funksiyanı istifadə etmək üçün hər iki səs düyməsini basıb saxlayın."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Böyütməni başlatmaq və dayandırmaq üçün ekranda istənilən yerə üç dəfə toxunun."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Böyütməni başlatmaq və dayandırmaq üçün ekrana iki barmaqla iki dəfə toxunun."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Bu funksiyanı istifadə etmək üçün 2 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 2 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Bu funksiyanı istifadə etmək üçün 3 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 3 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Əlçatımlılıq funksiyasını istifadə etmək üçün 2 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 2 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Əlçatımlılıq funksiyasını istifadə etmək üçün 3 barmaq ilə ekranın aşağısından yuxarıya doğru sürüşdürün.\n\nFunksiyalar arasında keçid etmək üçün 3 barmaq ilə yuxarıya sürüşdürüb saxlayın."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Anladım"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Əlçatımlılıq düyməsi ayarları"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Düymə ayarları"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> qısayolu"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Xüsusi imkanlar düyməsi"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Əlçatımlılıq jesti"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Səs düymələrinə basıb saxlayın"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"səs düymələrinə basıb saxlayın"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"ekrana iki 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="6863958573135995927">"ekrana üç 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Əlçatımlılıq düyməsi və jest haqqında ətraflı öyrənin"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Xüsusi imkanlar düyməsi istifadə edilir. 3 düyməli naviqasiyada jest əlçatmazdır."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Xüsusi imkanlara cəld keçid"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Başlamaq üçün:"</b>\n"1. Əlçatımlılıq ayarlarına keçin\n2. Funksiyanı seçib qısayola toxunun\n3. Funksiyaya giriş üçün düymə və ya jestdən istifadə edib-etməyəcəyinizi seçin"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Başlamaq üçün:"</b>\n"1. Əlçatımlılıq ayarlarına keçin\n2. Funksiyanı seçib qısayola toxunun\n3. Funksiyaya giriş üçün düyməni seçin"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Başlamaq üçün&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Əlçatımlıq ayarlarına keçin&lt;br/&gt; {1,number,integer}. Funksiya seçin və qısayola toxunun&lt;br/&gt; {2,number,integer}. Funksiyaya giriş üsulu (düymə və ya jest) seçin&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Başlamaq üçün&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Əlçatımlıq ayarlarına keçin&lt;br/&gt; {1,number,integer}. Funksiya seçin və qısayola toxunun&lt;br/&gt; {2,number,integer}. Funksiyaya giriş üçün düymə seçin&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Düymə və ya jestdən istifadə edin"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Məkan"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Ölçü"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Qidalanma düyməsi zəngi sonlandırır"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Böyük maus kursoru"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Maus göstəricisini daha nəzərəçarpan edin"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Bütün tətbiqləri tündləşdirin"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Tətbiqlərə tünd tema olmadan aid edilir. Bəzi tətbiqlərdə görüntü problemi ola bilər."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animasiyalar silinsin"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Ekranda hərəkəti azaldın"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Vibrasiya və taktil əks-əlaqədən istifadə edin"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Siqnal vibrasiyası"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Media vibrasiyası"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Klaviatura vibrasiyası"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Zəng vibrasiyası"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Bildiriş vibrasiyası"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Toxunuş vibrasiyası"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Dayandırın"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Ləğv edin"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> dayandırılsın?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> seçiminə toxunduqda <xliff:g id="SERVICE">%2$s</xliff:g> dayandırılacaq."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Deaktiv"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Aktiv"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> deaktiv edilsin?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Heç bir xidmət quraşdırılmayıb"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Xidmət seçilmədi"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Heç bir təsvir verilməyib."</string>
     <string name="settings_button" msgid="2195468788019730377">"Ayarlar"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"işıq həssaslığı, fotofobiya, qaranlıq tema, miqren, baş ağrısı, oxu rejimi, gecə rejimi, parlaqlığı azalt, ağ nöqtə"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Asan istifadə, asan giriş, yardım, yardımçı"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"görmə, eşitmə, kor, kar, motorika, çeviklik, köməkçi, yardım, asan istifadə, asan giriş, əl, kömək"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Pəncərə Böyüdücü, Zoom, Böyütmə, Zəif görmə, Böyüt, böyüt"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Altyazı, qapalı altyazılar, Nüsxəni alan, Canlı Transkripsiya, eşitmə çətinliyi, eşitmə qabiliyyətinin itirilməsi, CART, nitqin mətnə çevrilməsi, subtitr"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"rəng kontrastı"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"sistem, maus"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"eşitmə aparatları, eşitmə çətinliyi, eşitmə qabiliyyətinin itməsi, qulaq ilbizi implantları, gücləndirmə cihazları, səs prosessorları"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorika, maus, xarici maus, baş ilə hərəkət etdirilən maus, adaptiv maus, əlil arabası, coystik"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"eşitmə aparatları, eşitmə çətinliyi, eşitmə qabiliyyətinin itməsi, qulaq ilbizi implantları, gücləndirmə cihazları, səs prosessorları, fərdi səs gücləndirmə məhsulları"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"eşitmə çətinliyi, eşitmə qabiliyyətinin itirilməsi, altyazılar, Teletayp, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"üç düymə"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"çeviklik, motorika, yaşlı, artrit, rsi, iflic, əsmə, dağınıq skleroz, serebral iflic, titrəmə, təkrarlanan gərginlik zədəsi, əl"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"gecikmə, çeviklik, yaşlı"</string>
     <string name="print_settings" msgid="8519810615863882491">"Çap"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Deaktiv"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 çap xidməti aktivdir}other{# çap xidməti aktivdir}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> qalır"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Şarjın bitməsinə var: <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Ekran vaxtı"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Arxa fon vaxtı"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Enerji azdır"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Tətbiqin arxa fonda işləməsinə icazə verin"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Arxa fon fəaliyyəti məhdudlaşdırılsın?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Tətbiqin arxa fon fəaliyyətini məhdudlaşdırsanız, o səhv işləyə bilər"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Bu tətbiq üçün enerji qənaəti aktiv deyil.\n\nMəhdudiyyət tətbiq etmək üçün onu aktivləşdirin."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Batareya istifadəsini idarə edin"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Arxa fonda istifadəsinə icazə verin"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Real vaxt yeniləmələri üçün aktivləşdirin. Batareyaya qənaət üçün deaktiv edin."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Məhdudiyyətsiz"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimal"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Məhdud"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ən çox istifadə edilən tətbiqlərə baxın"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Batareyanı qorumaq üçün şarj optimallaşdırılıb"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Batareya ömrünü uzatmaq üçün şarj optimallaşdırılıb"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Batareyanı qorumaq üçün şarj optimallaşdırılıb"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Batareyanın ömrünü uzatmaq üçün dokda olarkən şarj optimallaşdırılıb"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Batareyanı qorumaq üçün şarj optimallaşdırılıb"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Batareyanın ömrünü uzatmaq üçün dokda olarkən şarj optimallaşdırılıb"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Tam dolana qədər şarj edilmə"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Batareyanı qorumaq üçün növbəti dəfə planşet dokda olduqda şarj optimallaşdırılacaq"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Şarjın durdurulması haqqında ətraflı məlumat"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Şarja davam edin"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Batareyadan çox istifadə edən arxa fon fəaliyyəti daxildir"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Bu tətbiq fon rejimində batareya enerjisi işlətdiyi üçün enerji tez qurtara bilər."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Silin"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Ləğv edin"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Tam şarj edin"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Şarj aksesuarı ilə bağlı problem"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Şarj aksesuarını yoxlayın"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Uyğunsuz şarj haqqında daha ətraflı"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batareya Meneceri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Tətbiqləri avtomatik idarə edin"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"son tam şarjdan sonra"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistem tətbiqləri"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Sistemdən silinmiş tətbiqlər"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Digərləri"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Təxmini qalan vaxt"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Tam enerji yığana kimi"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Cəmi: bir dəqiqədən az"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Arxa fon: bir dəqiqədən az"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Ekran vaxtı: bir dəqiqədən az"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Bir dəqiqədən az"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Cəmi: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Arxa fon: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Ekran vaxtı: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"indi"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g>, <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g>, <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Enerji istifadəsi diaqramı"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gündəlik batareyadan istifadə qrafiki"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Saatlıq batareyadan istifadə qrafiki"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Batareya səviyyəsinin faizi: <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>-<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Sonuncu tam şarjdan sonra batareya istifadəsi"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> üçün batareya istifadəsi"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Sonuncu tam şarjdan sonra ekran vaxtı"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Təcili zəng siqnalı"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Təcili zəng olduqda davranış təyin et"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Yedək"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Aktiv"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Deaktiv"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Yedəkləyin &amp; bərpa edin"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Şəxsi məlumat"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Məlumatlarımın rezervlə"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobil data və Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Şəxsi datanı avtomatik sinxronlaşdırın"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"İş datasını avtomatik sinxronlaşdırın"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Şəxsi datanın avtosinxronu"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Tsikli dəyiş..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Data istifadə dövrünü sıfırlamaq üçün ayın günü:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Bu dövr əzrində heç bir tətbiq data istifadə etməyib."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Ad"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Növ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Server ünvanı"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP şifrələmə (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatoru"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec öncədən paylaşılmış açar"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec istifadəçi sertifikatı"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA sertifikatı"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server sertifikatı"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Digər seçimlər"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS axtarış domenləri"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serverləri (məsələn, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Yönləndirmə marşrutları (məsələn, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"İstifadəçi adı"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Parol"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Hesab məlumatı yadda saxlayın"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(istifadə edilməyib)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(serveri yoxlama)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(serverdən alınıb)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Bu VPN növü həmişə qoşulu qala bilmir"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Həmişə aktiv olan VPN yalnız rəqəmli server ünvanlarını dəstəkləyir"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Həmişə aktiv olan VPN üçün DNS serveri göstərilməlidir"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Həmişə aktiv olan VPN üçün DNS server ünvanları rəqəmli olmalıdır"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Daxil edilən məlumat həmişə aktiv olan VPN\'i dəstəkləmir"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Ləğv edin"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Rədd edin"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN\'siz bağlantıları blok edin"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN bağlantısı tələb edilir?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Güvənli deyil. IKEv2 VPN seçiminə güncəlləyin"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Dəstəklənməyən VPN başladılmadı."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Həmişə qoşulu qalmaq üçün VPN profili seçin. Yalnız bu VPN\'ə qoşulu olduqda şəbəkə trafikinə icazə veriləcək."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Heç biri"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Qoşulu VPN həmişə server və DNS üçün IP ünvan tələb edir."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"KƏHRƏBAYI siqnallar"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Uşaqların qaçırılması haqqında bülletenlər əldə edin"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Təkrarla"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Çağrı Menecerinə icazə verin"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Bu xidmətə çağrılarınızın edilməsini idarə etməyə icazə verin."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Çağrı Meneceri"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Fövqəladə hal xəbərdarlıqları"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Şəbəkə operatorları"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Giriş nöqtəsi adları"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM statusu"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM statusu (sim slot %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM\'lər dəyişdirildi."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-lər dəyişdi"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Quraşdırmaq üçün tıklayın"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Həmişə soruşulsun"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seçim tələb olunur"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Ən son istifadə edilən tətbiqlər, defolt tətbiqlər"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Bildiriş girişi iş profilindəki tətbiqlər üçün əlçatan deyil."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Parollar və hesablar"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saxlanılan parollar, avto doldurma, sinxronlaşdırılmış hesablar"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Giriş və avtodoldurma təklifləri"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Defolt tətbiqlər"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klon Tətbiqlər"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Eyni anda iki hesabdan istifadə edə bilməniz üçün tətbiqin ikinci nümunəsini yaradın."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"pulqabı"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ödəyin, tıklayın, ödəmələr"</string>
     <string name="keywords_backup" msgid="707735920706667685">"yedəkləmə, yedəkləyin"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"jest"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"üz, kiliddən çıxarma, orijinal, giriş"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"üz, kilidin açılması, doğrulama, giriş, barmaq izi, biometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl versiyası, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"mətn ölçüsü, böyük çap, böyük şrift, böyük mətn, zəif görmə, mətni daha böyük et, şrift böyüdücü, şrift böyütmə"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"həmişə aktiv ambient displey, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, teq, oxuyucu"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klaviatura, taktil funksiyalar, vibrasiya,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Səs, vibrasiya, \"Narahat etməyin\" rejimi"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media səsi"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Yayım həcmi"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Səsləri aktiv edin"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Avtomatik subtitrlər"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Avtomatik başlıq mediası"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefon dinamikləri"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Planşet dinamikləri"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Cihaz dinamikləri"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Simli qulaqlıq"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Uyğun mediadan gələn audio daha immersiv olur"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Deaktiv"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Bütün bildirişlər göstərilsin"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Məxfi məlumatlar kilidsiz ekranda görünsün"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Bildirişlər heç göstərilməsin"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ekran kilidində necə göstərilməsini istəyirsiniz?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ekran kilidində nə göstərilməsini istəyirsiniz?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekran kilidi"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Bütün iş bildirişləri göstərilsin"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Həssas məlumatı gizlədin"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Son söhbətlər silinib"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Söhbət silinib"</string>
     <string name="clear" msgid="5092178335409471100">"Silin"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> adlı söhbəti silin"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Önəmli və dəyişilmiş söhbətlər burada görünəcək"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Söhbəti önəmli kimi işarələdikdə və ya digər dəyişiklik etdikdə, söhbət burada görünəcək. \n\nSöhbət ayarlarını dəyişmək üçün: \nEkranın yuxarısından aşağı sürüşdürərək bildiriş panelini açın, sonra söhbətə toxunub saxlayın."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Kiçildin"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Bildiriş səsinin azaldılması"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Bütün bildirişlərin səsini azaldın"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Eyni tətbiqdən ardıcıl bildirişlər aldıqda bildiriş səsini tədricən azaldın"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Söhbətlərin bildiriş səsini azaldın"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Qısa müddətdə eyni söhbətdən çoxlu mesaj aldıqda bildiriş səsini tədricən azaldın"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Bildiriş səsini azaltmayın"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Eyni tətbiqdən gələn ardıcıl bildiriş miqdarından asılı olmayaraq bildiriş səsini azaltmayın"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Kilid açıldıqda vibrasiya"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Yalnız ekran kilidi açıldıqda titrəsin"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"İş profillərinə tətbiq edin"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Bildiriş səsinin azaldılması ayarlarını şəxsi profildən iş profilinə tətbiq edin"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR köməkçi xidmətləri"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Heç bir tətbiq VR köməkçi xidmətləri kimi çalışma sorğusu göndərməyib."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR xidmətinə <xliff:g id="SERVICE">%1$s</xliff:g> üçün girişə icazə verilsin?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Deaktiv"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Tətbiq bərkidilməsi"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Bununla cari tətbiqi ekranda bərkidərək digər tətbiqlərə girişi bağlamaq olar. Bu funksiya, örnək olaraq, cihazda oyun oynamaq üçün onu digər şəxsə verdiyiniz zaman lazım olur."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Tətbiq bərkidildikdə, bu tətbiq başqa tətbiqləri aça bilər və şəxsi dataya giriş edilə bilər. \n\nTətbiq bərkidilməsini istifadə etmək üçün: 	\n1. Tətbiq bərkidilməsini aktiv edin \n2. İcmalı Açın \n3. Ekranın yuxarısında tətbiq ikonasına toxunun, sonra \"Bərkidin\" seçiminə toxunun"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Tətbiq bərkidildikdə, bu tətbiq başqa tətbiqləri aça bilər və şəxsi dataya giriş edilə bilər. \n\nCihazınızı etibarlı şəkildə başqası ilə paylaşmaq istəyirsinizsə, qonaq istifadəçi istifadə edin. \n\nTətbiq bərkidilməsini istifadə etmək üçün: 	\n1. Tətbiq bərkidilməsini aktiv edin \n2. İcmalı Açın 	\n3. Ekranın yuxarısında tətbiq ikonasına toxunun, sonra \"Bərkidin\" seçiminə toxunun"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Bərkidilmiş tətbiq digər tətbiqləri aça və şəxsi dataya giriş edə bilər. \n\nTətbiq bərkidilməsindən istifadə üçün: 	\n{0,number,integer}. Tətbiq bərkidilməsini aktiv edin 	\n{1,number,integer}. İcmalı açın 	\n{2,number,integer}. Ekranın yuxarısında tətbiq ikonasına, sonra \"Bərkidin\" seçiminə toxunun"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Bərkidilmiş tətbiq digər tətbiqləri aça və şəxsi dataya giriş edə bilər. \n\nQonaq istifadəçi seçimi vasitəsilə cihazı başqası ilə təhlükəsiz paylaşa bilərsiniz. \n\nTətbiq bərkidilməsindən istifadə üçün: 	\n{0,number,integer}. Tətbiq bərkidilməsini aktiv edin 	\n{1,number,integer}. İcmalı açın 	\n{2,number,integer}. Ekranın yuxarısında tətbiq ikonasına, sonra \"Bərkidin\" seçiminə toxunun"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Tətbiq sancıldıqca:\n\n• şəxsi məlumatlara girə bilər (kontaktlar və ya mesajlar kimi);\n• digər tətbiqləri aça bilər.\n\n\nBu funksiyanı cihazı verdiyiniz şəxsə güvəndiyiniz halda istifadə edin."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Qrafik açar istənilsin"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ayırmadan öncə PIN istənilsin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ayırmadan öncə parol istənilsin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bərkidilmə ləğv ediləndə cihaz kilidlənsin"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM\'in silinməsini təsdiq edin"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM-i silmək istədiyinizi təsdiq edin"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM\'i silməzdən əvvəl kimliyinizi doğrulayın"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Qabaqcıl yaddaş qorunması beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Qabaqcıl yaddaş qorunması"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"İstifadə edilməyən tətbiq ayarları"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"İstifadə edilmədikdə tətbiq fəaliyyətini durdurun"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"İcazələri silin, müvəqqəti faylları silin və bildirişləri dayandırın"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"İstifadə edilmədikdə tətbiqi idarə edin"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"İcazələri, müvəqqəti faylları silin, bildirişləri dayandırın və tətbiqi arxivə atın"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Bütün tətbiqlər"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Quraşdırılmış tətbiqlər"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ani tətbiqlər"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Boş"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Tətbiq tərəfindən istifadə olunmuş yaddaş"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 tətbiq son {time} ərzində yaddaşdan istifadə edib}other{# tətbiq son {time} ərzində yaddaşdan istifadə edib}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Yaddaş incələməsini aktivləşdirin"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Yaddaş istifadəsinin incələnməsi üçün əlavə sistem resursları lazımdır."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Yaddaş incələməsi deaktivdir"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Tezlik"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimum istifadə"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Data istifadə olunmayıb"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Tətbiqlərin üzərində"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Tətbiqlərin üzərində"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Bu tətbiqə işlətdiyiniz digər tətbiqlərin üzərində göstərilmək icazəsi verin. Bu tətbiq hara toxunduğunuzu görə və ya ekranda göstəriləni dəyişə biləcək."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Media çıxışını dəyişin"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Tətbiqə media çıxışını dəyişmək icazəsi verin"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Bu tətbiqə digər tətbiqlərdən audio və ya video oxudacaq qoşulmuş cihazı seçmək icazəsi verin. İcazə verilsə, bu tətbiq qulaqlıq və dinamiklər kimi əlçatan cihazların siyahısına daxil ola, audio və ya video yayımlamaq üçün istifadə ediləcək çıxış cihazını seçə bilər."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Bütün fayllara giriş"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Bütün faylları idarə etmək üçün giriş icazəsi verin"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu tətbiqə bu cihazda və ya qoşulmuş cihazların yaddaşındakı bütün faylları oxumaq, dəyişmək və silmək icazəsi verin. İcazə verilsə, tətbiq xəbəriniz olmadan fayllara daxil ola bilər."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Bütün fayllara daxil ola bilər"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Səslə aktivləşdirmə tətbiqləri"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Səslə aktivləşdirməyə icazə verin"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Səslə aktivləşdirmə təsdiqlənmiş tətbiqləri səsli əmrdən istifadə edərək, səsli idarəetmə vasitəsilə aktiv edir. Daxili qorunan adaptiv sensor datanın yalnız sizin üçün görünməsini təmin edir.\n\n"<a href="">"Qorunan adaptiv sensor haqqında ətraflı məlumat"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Tam ekran bildirişləri"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Bu tətbiqin tam ekran bildirişlərinə icazə verin"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Bu tətbiqə cihaz kilidli olduqda tam ekranı tutan bildirişlər göstərmək icazəsi verin. Bunlar zəngli saat, gələn zəng və ya digər təcili bildirişlər üçündür."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> trafik xəbərdarlığı"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> trafik limiti"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> data xəbərdarlığı / <xliff:g id="ID_2">^2</xliff:g> data limiti"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operator data hesablanması cihazınızın hesablamasından fərqli ola bilər"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Operatorun işlətdiyi trafik istisnadır"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> istifadə edildi"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Xəbərdarlıq ayarlayın"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> əvvəl yeniləndi"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> tərəfindən indicə yeniləndi"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"İndi güncəlləşdirilib"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Plana baxın"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Detallara baxın"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Trafikə qənaət"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Məhdudlaşmamış mobil internet"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> arxa fonda həmişəkindən çox batareya enerjisi istifadə edib"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön planda çox batareya enerjisi istifadə edib"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön planda həmişəkindən çox batareya enerjisi istifadə edib"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Batareya istifadəsi anomaliyası"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Yüksək batareya istifadəsi"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Arxa fonda yüksək batareya istifadəsi"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ön planda yüksək batareya istifadəsi"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Cəld ayarlarda elementlər"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Adb icazəsi vaxt bitməsi deaktiv edilsin"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Defolt (7 gün) və ya istifadəçi tərəfindən müəyyən edilmiş (minimum 1 gün) müddətdə təkrar qoşulmayan sistemlər üçün adb icazələrinin avtomatik ləğvi deaktiv edilsin."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Fəaliyyəti"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensorlar Deaktivdir"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"İş profil ayarları"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Şəxsi tətbiqlərdə iş kataloqu kontaktlarını axtarın"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"sistem naviqasiyası, 2 düyməli naviqasiya, 3 düyməli naviqasiya, jest naviqasiyası, sürüşdürmə"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Rəqəmsal assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistenti aktiv etmək üçün sürüşdürün"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Rəqəmsal assistent tətbiqini aktiv etmək üçün aşağı küncdən yuxarı sürüşdürün."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Rəqəmsal assistent tətbiqini aktiv etmək üçün aşağı küncdən yuxarı sürüşdürün"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistent üçün Əsas Səhifə seçimini basıb saxlayın"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Rəqəmsal assistent tətbiqini işə salmaq üçün Əsas ekran düyməsini basıb saxlayın."</string>
     <string name="low_label" msgid="6525629096999711220">"Aşağı"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Avtodoldurma xidməti"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Defolt avtomatik doldurma xidməti"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Parollar"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Parol, açar və data xidmətləri"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Əlavə provayderlər"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Tərcih edilən xidmət"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Əlavə xidmətlər"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# parol}other{# parol}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"avto, doldur, avto doldurma, parol"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, giriş açarı, parol"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"avto, doldurma, avto doldurma, data, giriş açarı, parol"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Dəyişin"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Açın"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Heç nə seçilməyib"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Bu tətbiqə inana biləcəyinizi dəqiqləşdirin&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Avtodoldurma&gt;%1$s&lt;/xliff:g&gt; ekranı analiz edərək avtomatik doldurula bilən sahələri tapır."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;İstifadə edin: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; avtomatik doldurulan məlumatları müəyyənləşdirmək üçün ekrandakı kontentdən istifadə edir. Yeni parol, açar və digər məlumatlar burada saxlanacaq."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Parol, açar və data xidmətləri"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; istifadə edilsin?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Yeni parol, giriş açarı və digər məlumatlar burada yadda saxlanacaq. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; avtomatik doldurulacaq məlumatı müəyyənləşdirmək üçün ekrandakı kontentdən istifadə edə bilər."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Parol, giriş açarı və avtodoldurma üzrə tərcih edilən xidmət"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s deaktiv edilsin?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Bu xidmət deaktiv edilsin?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Daxil olduqda parol, giriş açarı, ödəniş metodu və s. kimi saxlanmış məlumatlar doldurulmayacaq. Saxlanmış məlumatdan istifadə etmək üçün parol, giriş açarı və ya data xidməti seçin."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Parol, giriş açarı və avtodoldurma"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Bütün xidmətlər deaktiv edilsin?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Daxil olduqda parol, giriş açarı və yadda saxlanmış digər məlumatlar avtomatik doldurulmayacaq"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Tərcih edilən xidməti buna dəyişin: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Yeni parol, giriş açarı və digər məlumatlar burada yadda saxlanacaq. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; avtomatik doldurulacaq məlumatı müəyyənləşdirmək üçün ekrandakı kontentdən istifadə edə bilər"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s istifadə edilsin?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Deaktiv edin"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Dəyişin"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Yalnız 5 xidmət aktiv ola bilər"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Başqa xidmət əlavə etmək üçün ən azı 1-ni deaktiv edin"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s avto doldurma üçün ekrandakı məlumatdan istifadə edir."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Parol, açar və data xidmətləri limiti"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Eyni anda maksimum 5 parol, açar və data xidməti aktiv ola bilər. Yenisini əlavə etmək üçün xidmətlərdən birini deaktiv edin."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Parol, giriş açarı və data xidmətləri limiti"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Eyni anda maksimum 5 parol, giriş açarı və data xidməti aktiv ola bilər. Yenisini əlavə etmək üçün bir xidməti deaktiv edin."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Deaktiv edin"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Avtodoldurma"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Jurnal səviyyəsi"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Yalnız sazlanmaya açıq tətbiqlərin uyğunluq parametrlərinə dəyişiklik mümkündür. Sazlana bilən tətbiq quraşdırıb təkrar cəhd edin."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Digər ayardan aslıdır"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Hesab"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d hesab"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Cihaz adı"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Əsas məlumat"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Hüquqi və normativ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC teq skanlandıqda bu tətbiqin başladılmasına icazə verin.\nBu icazə aktivdirsə, teq aşkarlandıqda tətbiq seçim kimi əlçatan olacaq."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Medianı oxudun"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> burada oxudulsun:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio oxudulacaq"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Bu cihaz"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Zənglər zamanı əlçatan deyil"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Zəng qəbul edin"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Susdurun"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Aktiv etmək üçün \"Qidalanma düyməsini basıb saxlamanı\" qidalanma menyusuna dəyişin."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Şəbəkə detalları"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Cihazın adı telefondakı tətbiqlərdə görünəcək. Bluetooth cihazlarına qoşulduqda və ya Wi-Fi hotspotu ayarladıqda digərləri də onu görə bilər."</string>
     <string name="devices_title" msgid="649715719278562515">"Cihazlar"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Şəbəkə seçin"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Bağlantı kəsildi"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Ad"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Rəng (uyğun cihazlarda istifadə edilir)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Yadda saxlayın"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM istifadə edin"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Bu SIM-dən istifadə edin"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Deaktiv"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Bu SIM-i deaktiv etmək üçün SIM kartı silin"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> operatorunu aktiv etmək üçün toxunun"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM-i silin"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Bu SIM-i deaktiv etmək üçün SIM kartı çıxarın"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toxunaraq <xliff:g id="CARRIER">%1$s</xliff:g> SIM-ni aktivləşdirin"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM-i silin"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Şəbəkə növü"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Şəbəkə əməliyyat rejimini dəyişin"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Şəbəkə növü"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Qiymətlər üçün şəbəkə provayderi ilə yoxlayın."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Tətbiq trafiki"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Yanlış Şəbəkə Rejimi <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. İqnor edin."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Peyk vasitəsilə mesajlaşma"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Peyk vasitəsilə mətn mesajları göndərin və qəbul edin. Hesaba daxil edilib."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Peyk vasitəsilə mətn mesajları göndərin və qəbul edin. Hesaba daxil edilməyib."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Peyk vasitəsilə mesajlaşma"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Peyk vasitəsilə mesajlaşma haqqında"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Uyğun <xliff:g id="CARRIER_NAME">%1$s</xliff:g> hesabında peyk vasitəsilə mətn mesajları göndərə və qəbul edə bilərsiniz"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> planınız"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Peyk vasitəsilə mesajlaşma hesaba daxil edilib"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Peyk vasitəsilə mesajlaşma hesaba daxil edilməyib"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Peyk vasitəsilə mesajlaşma əlavə edin"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Haqqında"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Mobil şəbəkə olmadıqda"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefon peykə avtomatik qoşulacaq. Yaxşı bağlantı üçün səma aydın görünməlidir."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Telefon peykə qoşulduqdan sonra"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Təcili xidmətlər daxil olmaqla istədiyiniz şəxsə mesaj yaza bilərsiniz. Əlçatan olduqda telefon mobil şəbəkəyə yenidən qoşulacaq."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Peyk vasitəsilə mesajlaşma uzun çəkə bilər və yalnız bəzi ərazilərdə əlçatandır. Hava və müəyyən strukturlar peyk bağlantısına təsir edə bilər. Peyk vasitəsilə zəng əlçatan deyil.\n\nHesaba edilən dəyişikliklərin Ayarlarda görünməsi bir qədər vaxt apara bilər. Ətraflı məlumat üçün <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ilə əlaqə saxlayın."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Peyk vasitəsilə mesajlaşma haqqında ətraflı"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Giriş nöqtəsi adları"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> ünvanına qoşulduqda əlçatan deyil"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatoruna keçilsin?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM kart istifadəsinə keçilsin?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> istifadə edilsin?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Eyni vaxtda yalnız bir SIM aktiv ola bilər.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatoruna keçdikdə <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xidməti ləğv edilməyəcək."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Eyni vaxtda yalnız 1 eSIM aktiv ola bilər.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatoruna keçdikdə <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xidməti ləğv edilməyəcək."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Eyni vaxtda yalnız bir SIM aktiv ola bilər.\n\nDigərinə keçdikdə <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> xidməti ləğv edilməyəcək."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Eyni anda yalnız 1 SIM aktiv ola bilər.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatoruna dəyişdikdə <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xidməti ləğv edilməyəcək."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Eyni anda yalnız 1 eSIM aktiv ola bilər.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatoruna dəyişdikdə <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xidməti ləğv edilməyəcək."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Eyni anda yalnız 1 eSIM aktiv ola bilər.\n\nDəyişdikdə <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> xidməti ləğv edilməyəcək."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Eyni vaxtda 2 SIM istifadə edə bilərsiniz. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> istifadə etmək üçün digər SIM\'i deaktiv edin."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatoruna keçin"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> cihazını deaktiv edin"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM\'i deaktiv etdikdə xidmət ləğv edilməyəcək"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Şəbəkəyə qoşulur…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Zənglər və mesajlar üçün <xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatoruna keçirilir…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Başqa operatora keçmək mümkün deyil"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Xəta səbəbi ilə başqa operatora keçmək mümkün deyil."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM aktivləşdirilir…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatoruna keçirsiniz…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM-ləri dəyişmək olmur"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Xəta oldu. SIM-ləri dəyişmək olmur."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> deaktiv edilsin?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM deaktiv edilsin?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM deaktiv edilir<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operatoru deaktiv etmək mümkün deyil"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Xəta baş verdi və operatoru deaktiv etmək mümkün olmadı."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM-i deaktiv etmək olmur"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Xəta oldu. SIM deaktiv edilmədi."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 SIM istifadə edilsin?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Bu cihazda eyni vaxtda 2 SIM aktiv ola bilər. Eyni vaxtda 1 SIM istifadə etmək üçün imtina edin."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Cihaz yenidən başladılsın?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Xeyr, təşəkkür"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Ləğv edin"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Keçin"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Deaktiv edin"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-i aktiv etmək mümkün deyil"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM-i yenidən aktiv etməyə çalışın. Problem həll olmasa, cihazı yenidən başladın."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM ayarlayın"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Bu cihazda bir neçə SIM istifadə etmək üçün mobil şəbəkə tərcihlərini ayarlayın"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM-ləri etiketləyin"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Zəng edərkən, mətn mesajı göndərərkən, data istifadəsi zamanı, habelə Ayarlarda bu etiketləri görəcəksiniz"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM etiketi"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiket"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"İstifadə üçün SIM-ləri seçin"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Eyni anda 2 SIM istifadə edə bilərsiniz"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Əsas SIM-ləri ayarlayın"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Zənglər, mətn mesajları və data üçün defolt istifadə ediləcək SIM-ləri seçin"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Əsas SIM-lər"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Zənglər"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mətn mesajları"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Avtomatik data keçirmə"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Əhatə dairəsi və əlçatanlıqdan asılı olaraq istənilən SIM-in datasından istifadə edin"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Yalnız data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Ayarlayın"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Növbəti"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> aktiv edilir…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobil şəbəkə"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefon nömrəsi"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM etiketi və rəngi"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Şəbəkənin aktiv edilməsi"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operator dəyişdirilir"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> aktivdir"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM-i aktivdir"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM ayarlarını yeniləmək üçün toxunun"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatoruna keçdiniz"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Digər operatora keçdiniz"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobil şəbəkəniz dəyişib"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Digər SIM kartı ayarlayın"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Aktiv SIM-i seçin və ya eyni vaxtda 2 SIM-dən istifadə edin"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"İstifadə üçün rəqəm seçin"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Bu cihazda 1 nömrə əlçatandır, lakin hər dəfə sadəcə birindən istifadə etmək mümkündür}=2{Bu cihazda 2 nömrə əlçatandır, lakin hər dəfə sadəcə birindən istifadə etmək mümkündür}other{Bu cihazda # nömrə əlçatandır, lakin hər dəfə sadəcə birindən istifadə etmək mümkündür}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiv edilir<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Hazırda aktiv etmək mümkün olmadı"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"İstifadə etmək üçün SIM seçin"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Bu cihazda 1 SIM var. Hər dəfə sadəcə birindən istifadə etmək mümkündür}=2{Bu cihazda 2 SIM var. Hər dəfə sadəcə birindən istifadə etmək mümkündür}other{Bu cihazda # SIM var. Hər dəfə sadəcə birindən istifadə etmək mümkündür}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Aktiv edilir<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Bu SIM-i aktiv etmək olmadı"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> istifadə edilsin?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> mobil data, zəng və SMS üçün istifadə ediləcək."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Aktiv SIM yoxdur"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Sonradan mobil data, zəng funksiyaları və SMS-dən istifadə etmək üçün şəbəkə ayarlarına keçin"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Bu eSIM silinsin?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Bu SIM silindikdə <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> xidməti bu cihazdan silinəcək.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> üçün xidmət ləğv edilməyəcək."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Bu cihazdan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> xidməti silinir, lakin <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> planı ləğv edilməyəcək."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Silin"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM silinir…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-i silmək mümkün deyil"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Xəta baş verdiyinə görə bu SIM-i silmək mümkün deyil.\n\nCihazı yenidən başlatdıqdan sonra cəhd edin."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM silinir…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM silinmir"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Xəta oldu və bu eSIM silinmədi.\n\nCihazı yenidən başladın və təkrar cəhd edin."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Cihaza qoşulun"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> cihazınıza qoşulmaq üçün müvəqqəti Wi‑Fi şəbəkəsindən istifadə etmək istəyir"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Cihaz tapılmadı. Cihazların aktiv olması və qoşulmaq üçün əlçatan olmasından əmin olun."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Təcili zənglər"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Operator Wi‑Fi Zəngi ilə təcili zəngləri dəstəkləmir.\nTəcili zəng etmək üçün cihaz avtomotik olaraq mobil şəbəkəyə keçir.\nTəcili zənglər yalnız mobil əhatə dairələrində əlçatandır."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Keyfiyyəti təkmilləşdirmək üçün zənglər zamanı Wi‑Fi şəbəkəsindən istifadə edin"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Yedək zəng"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> əlçatan olmasa və ya rouminq rejimində olsa, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> zəngləri üçün mobil data SIM-inizdən istifadə edin."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"yedək zəng"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Gələn MMS mesajı"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS mesajı göndərmək mümkün deyil"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Mobil data deaktiv olduqda <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> ilə MMS mesajı göndərməyə icazə vermək üçün toxunun"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"İş siyasətiniz haqqında məlumat"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ayarlar IT admininiz tərəfindən idarə edilir"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K səhifə ölçüsü ilə yükləyin"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Cihazı 16K səhifə ölçüsünə uyğun özək ilə yükləyin"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB səhifələrə uyğun özək ilə yenidən yüklənsin?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"XƏBƏRDARLIQ: Bəzi tətbiqlər bu rejim ilə uyğun olmaya bilər. Təsdiqdən sonra cihaz yenidən yüklənəcək."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB səhifələrə uyğun özək ilə yenidən yüklənsin?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Təsdiqdən sonra cihaz yenidən yüklənəcək."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Özək 16KB səhifələrə uyğun özəyə güncəllənmədi."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Dəyişiklik tətbiq edilir"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Baq hesabatı idarəedicisi"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Seçilmiş tətbiq xəta hesabatının göndərilməsi düyməsini basanda işə salınacaq."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Şəxsi"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Digər tətbiqlərin üzərində görünmək icazəsi olan tətbiqlərə ayarlar üzərində görünmək icazəsi verilsin"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Əvəzləyici Modemə icazə verin"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Bu cihaza alət testi üçün Əvəzləyici Modem xidmətini işə salmağa icazə verin. Telefonun normal istifadəsi zamanı bunu aktiv etməyin"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Ekran paylaşımı qorumalarını deaktiv edin"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Ekran paylaşımı zamanı sistemin təmin etdiyi tətbiq və bildiriş qorumalarını deaktiv edir"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Mediapleyer bərkidilsin"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Oxutmanı cəld davam etdirmək üçün media pleyer Sürətli Ayarlarda açıq qalır"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Kilid ekranında medianı göstərin"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Oxutmanı cəld davam etdirmək üçün media pleyer kilid ekranında açıq qalır"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Media tövsiyələri göstərilsin"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistent media tövsiyələrini göstərin"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Fəaliyyətinizə əsaslanır"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Oyunçunu gizlədin"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Pleyerə baxın"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Kamera üçün proqram təminatı artırmalarına icazə verin"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Eyes Free videoqrafiyası kimi qabaqcıl kamera funksiyalarının defolt proqram təminatı tətbiqinə imkan verir."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth aktivləşəcək"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"İnternet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-lər"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM\'lər"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiv"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"İnaktiv"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Aktiv"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Deaktiv"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> üçün defolt"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"zənglər"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Uyğun mediadan gələn audio daha immersiv olur"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Baş izləməsi"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Daha təbii səslənmək üçün başınızı hərəkət etdirdikcə səs dəyişir"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"İcazələri sinxronlaşdırın"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> cihazına <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> cihazındakı tətbiq icazələrini verin"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"İcazələri telefondan sinxronlaşdırın"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Saata bu telefondakı ilə eyni tətbiq icazələri verin"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audiocihaz növü"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Naməlum"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Dinamik"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Orta"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Yüksək"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Bu tətbiq yalnız 1 pəncərədə açıla bilər"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Aktiv"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Deaktiv"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Deaktiv"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Deaktiv"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Aktiv"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Deaktiv"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Aktiv"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Deaktiv"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"İşıqlı ekranları tündləşdirir, tünd ekranları işıqlandırır"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Ekranda yaxınlaşdırın"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Deaktiv"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Deaktiv"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Aldadıcı tətbiqlərin skanlanması"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Tətbiq fəaliyyətində fişinqin yoxlanması"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Aldadıcı tətbiqlər üçün skandan istifadə"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Aldadıcı iş tətbiqləri üçün skandan istifadə"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Parol qurulub"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mausla tuşlayarkən poynteri göstərin"</string>
 </resources>
diff --git a/res/values-b+sr+Latn/arrays.xml b/res/values-b+sr+Latn/arrays.xml
index 177def6..a5fe9e7 100644
--- a/res/values-b+sr+Latn/arrays.xml
+++ b/res/values-b+sr+Latn/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Dostupno"</item>
     <item msgid="6096962300722555553">"Izvan opsega"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Onemogućeno"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast i Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Koristi podrazumevano sistemsko podešavanje: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Posle 1 minuta"</item>
     <item msgid="1574040255478150028">"Posle 5 minuta"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-b+sr+Latn/strings.xml b/res/values-b+sr+Latn/strings.xml
index b7ef05b..661d6f9 100644
--- a/res/values-b+sr+Latn/strings.xml
+++ b/res/values-b+sr+Latn/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Postali ste programer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nema potrebe, već ste programer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Prvo omogućite opcije za programere."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Samo korisnici sa administratorskim pravima mogu da pristupe podešavanjima za programere."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Radi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne radi"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Prednji ekran se uključuje kada zatvorite uređaj"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Samo igre, videi i drugo"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Prednji ekran se uključuje za aplikacije koje onemogućavaju da ekran bude neaktivan"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Prevucite nagore da biste nastavili"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Zatvorite telefon i prevucite nagore na prednjem ekranu da biste i dalje korisili aplikaciju ili sačekajte nekoliko sekundi da se ekran zaključa"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nikad"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Prednji ekran se zaključava kada zatvorite uređaj"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Koristi automatsko rotiranje"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Srodno"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Melodija zvona i alarmi"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zvuk tokom poziva"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Mediji"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Obaveštenja i drugi sistemski zvuci"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Zvuci medija i sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Obaveštenja"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Audio izlaz podrazumevano određuju pojedinačne aplikacije"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Neimenovani Bluetooth uređaj"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Pretražuje se"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Otkaži"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Onemogući Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Onemogućava funkciju Bluetooth LE audio ako uređaj podržava mogućnosti LE audio hardvera."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio režim"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE Audio prekidač u detaljima o uređaju"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Omogući Bluetooth LE Audio listu dozvola"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Omogućava funkciju Bluetooth LE Audio listu dozvola."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Zaobiđi Bluetooth LE Audio listu dozvoljenih"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Podrazumevano koristi LE Audio čak i ako nije potvrđeno da LE Audio periferni uređaj zadovoljava kriterijume liste dozvoljenih."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medijski uređaji"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Uređaji za pozivanje"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Drugi uređaji"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Sačuvani uređaji"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Povezano sa nalogom"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Prethodno korišćeno sa nalogom"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth će se uključiti radi uparivanja"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Podešavanja povezivanja"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Prethodno povezani"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je uključen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Prikaži sve"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Prikaži sve"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisaljka"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritisak na dugme sa zadnje strane"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (poslovni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pišite u poljima za tekst"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoriši sva pritiskanja dugmeta pomoću pisaljke"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Deljenje zvuka"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deli zvuk"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Pozivi i alarmi"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Povežite se sa audio strimom pomoću QR koda"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nema audio strimova u blizini."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum i vreme"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proksi"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Obriši"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Želite da dodate %s u željene jezike?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Time se aplikacije i veb-sajtovi obaveštavaju da vam je taj jezik željeni."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Podešavanja uređaja i regionalna podešavanja će se promeniti."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Promeni"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Nije dostupno: %s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"subota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ako aplikacija ne podržava regionalna podešavanja, koristiće podrazumevana podešavanja lokaliteta."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Saznajte više o podešavanjima jezika."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Dodatna podešavanja"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Željeni rod za obraćanje"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Podesite rod u kom želite da vam se obraća"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Da bi način obraćanja bio personalizovan, aplikacije mogu da vam se obraćaju u rodu koji izaberete"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nije navedeno"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Ženski rod"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Muški rod"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutralno"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Želite li da uklonite izabrani jezik?}one{Želite li da uklonite izabrane jezike?}few{Želite li da uklonite izabrane jezike?}other{Želite li da uklonite izabrane jezike?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekst će biti prikazan na nekom drugom jeziku."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nije moguće ukloniti sve jezike"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokacija"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Koristi lokaciju"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Isključena"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Saznajte više o podešavanjima lokacije."</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="3574930966097093550">"Za promenu pristupa lokaciji: Podešavanja &gt; Bezbednost i privatnost &gt; Kontrole privatnosti"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Nalozi"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Bezbednost"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifrovanje i akreditivi"</string>
@@ -280,7 +306,7 @@
     <string name="security_settings_face_enroll_education_title_accessibility" msgid="3701874093226957891">"Podesite otključavanje licem"</string>
     <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"Potvrdite identitet licem"</string>
     <string name="security_settings_face_enroll_education_message" msgid="4308030157487176799"></string>
-    <string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"Započnite"</string>
+    <string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"Započni"</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_message" msgid="2965952386172202665">"Ako je otključavanje licem sa funkcijom pristupačnosti isključeno, neki koraci za podešavanje možda neće ispravno raditi sa TalkBack-om."</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_negative" msgid="7872647360361245461">"Nazad"</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_positive" msgid="3148077647572203458">"Nastavite podešavanje"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Da biste imali najbolje rezultate, koristite zaštitu za ekran sa sertifikatom Napravljeno za Google. Otisak prsta deteta možda neće raditi sa drugim zaštitama za ekran."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Otključavanje satom"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Kad podesite otključavanje licem i otključavanje otiskom prsta, telefon će vam tražiti otisak prsta kad nosite masku ili se nalazite na nekom mračnom mestu.\n\nAko nije moguće prepoznati lice ili otisak prsta, možete da ga otključate satom."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Ako otisak prsta ne može da se prepozna, možete da otključate uređaj satom."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Ako lice ne može da se prepozna, možete da otključate uređaj satom."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Kad podesite otključavanje licem i otključavanje otiskom prsta, telefon će vam tražiti otisak prsta kad nosite masku ili se nalazite na nekom mračnom mestu.\n\nOtključavanje satom je još jedan pogodan način za otključavanje telefona, na primer, kada su vam prsti mokri ili se lice ne prepoznaje."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Otključavanje satom je još jedan pogodan način za otključavanje telefona, na primer, kada otisak prsta nije prepoznat."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Otključavanje satom je još jedan pogodan način za otključavanje telefona, na primer, kada vam se lice ne prepoznaje."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Koristite otisak prsta ili sat za"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Koristite lice ili sat za"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Koristite lice, otisak prsta ili sat za"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Otključavanje satom je još jedan pogodan način za otključavanje ovog telefona, na primer, kada su vam prsti mokri ili se lice ne prepoznaje.\n\nMožete da koristite sat da biste otključali ovaj telefon kada:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ne sada"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Nastavi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Još"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Princip rada"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Sat mora da bude otključan, na zglobu i u domašaju ovog telefona. Sat nećete morati da otključavate ponovo dok vam je na zglobu."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Dobićete obaveštenje na satu kada se ovaj telefon otključa. Ako se otključao kada to niste želeli, dodirnite obaveštenje da biste ga ponovo zaključali."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Ti imaš kontrolu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Sat možete da uklonite iz otključavanja satom u bilo kom trenutku u podešavanjima"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Dodirnite obaveštenje"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Prevucite nagore na zaključanom ekranu"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Odaberite sat"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Dostupni satovi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Otkaži"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potvrdi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Spremni ste!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Sada možete da koristite sat da biste otključali ovaj telefon kada prevučete nagore na zaključanom ekranu ili dodirnete obaveštenje"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Gotovo"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Otključavanje satom"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Možete da koristite sat da biste otključali ovaj telefon kada prevučete nagore na zaključanom ekranu ili dodirnete obaveštenje"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Da biste koristili otključavanje satom, sat mora da bude otključan, na zglobu, u domašaju i povezan sa ovim telefonom. Ako se veza prekine, moraćete da otključate telefon da biste mogli da koristite otključavanje satom.\n\nImajte na umu:\nU jednom navratu možete da podesite samo jedan sat. Da biste dodali drugi sat, prvo uklonite aktuelni sat."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Bezbednost"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privatnost"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Poslovni profil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privatni prostor"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Neka privatne aplikacije budu zaključane i sakrivene"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Čuvajte privatne aplikacije u zasebnom prostoru koji možete da sakrijete ili zaključate"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Zaključavanje privatnog prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Privatni prostor možete da otključavate isto kao što otključavate uređaj ili da odaberete drugačiji tip otključavanja"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Koristi zaključavanje ekrana uređaja"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Otključavanje licem i otiskom prsta"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Otključavanje otiskom prsta"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Otključavanje licem"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dodirnite da biste podesili"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Otključavanje otiskom prsta za privatni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Otključavanje licem za privatni prostor"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Načini za otključavanje"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Isto kao zaključavanje ekrana uređaja"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Odabraćete novo zaključavanje za privatni prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automatski zaključajte privatan prostor"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Možete automatski da zaključate privatan prostor ako uređaj niste koristili neko vreme"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Svaki put kad se uređaj zaključa"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Posle 5 minuta neaktivnosti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nikad"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Sakrij kad je zaključan"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Sakrij privatni prostor kad je zaključan"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Privatni prostor možete da sakrijete na listi aplikacija kako drugi ne bi znali da ga imate na uređaju"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Pristupajte privatnom prostoru kad je sakriven"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Na listi apl. unesite „privatni prostor“ u traku za pretragu"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Dodirnite pločicu Privatni prostor"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Otključajte privatni prostor"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Isključeno"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Uključeno"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Izbriši privatni prostor"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Želite da izbrišete privatni prostor?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Privatni prostor će biti uklonjen sa uređaja. Sve privatne aplikacije i podaci će biti izbrisani. Ne možete da opozovete ovu radnju."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Sledeći nalozi će biti uklonjeni iz privatnog prostora:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Izbriši"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Privatni prostor se briše…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Potrajaće nekoliko trenutaka"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privatni prostor je izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Brisanje privatnog prostora nije uspelo"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privatni prostor je otključan"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Podesite zaključavanje ekrana"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Da biste koristili privatni prostor, podesite zaključavanje ekrana na ovom uređaju"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Podesi zaključavanje ekrana"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Otkaži"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Otkaži"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Podesi"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Podesite privatni prostor"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Čuvajte privatne aplikacije u zasebnom prostoru koji možete da sakrijete ili zaključate"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Princip rada"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Privatnom prostoru možete da pristupite sa dna liste aplikacija"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikacije u privatnom prostoru su zaštićene zaključavanjem"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Obaveštenja iz aplikacija u privatnom prostoru su skrivena kad je on zaključan"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Kad je privatni prostor zaključan, aplikacije u njemu se neće prikazivati u menadžeru dozvola, na kontrolnoj tabli za privatnost ni u drugim podešavanjima.\n\nPrivatni prostor ne možete da premestite na novi uređaj. Morate da podesite drugi privatni prostor ako želite da ga koristite na drugom uređaju.\n\nSvako ko vaš uređaj poveže sa računarom ili na njega instalira štetne aplikacije moći će da pristupi vašem privatnom prostoru."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Podešava se privatni prostor…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Obaveštenja iz aplikacija u privatnom prostoru su skrivena kad je on zaključan"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Otključajte privatni prostor da biste delili slike ili fajlove"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Neke aplikacije su već instalirane u privatnom prostoru"</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_lockscreen_title" msgid="6034864097861137509">"Otključati privatni prostor otključavanjem ekrana?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Privatni prostor možete da otključavate isto kao što otključavate uređaj ili da odaberete drugačiji tip otključavanja"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Koristi otključavanje ekrana"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Odaberi novi tip otključavanja"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Gotovo!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Da biste pronašli privatni prostor, otvorite listu aplikacija i skrolujte nadole"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Gotovo"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Skrolujte nadole da biste pronašli privatni prostor"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Prijavi me"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Prijavite se na nalog koji ćete koristiti sa privatnim prostorom"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ne sada"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Nastavi"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Odaberite tip otključavanja za privatni prostor"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Privatni prostor možete da otključate pomoću otiska prsta. Ova opcija zahteva rezervni tip otključavanja iz bezbednosnih razloga."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Podesite PIN za privatni prostor"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Podesite lozinku za privatni prostor"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Podesite obrazac za privatni prostor"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Možete da ih dodate do <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste maksimalan broj otisaka prstiju"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ne možete da dodate još otisaka prstiju"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Šablon"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Lozinka"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Želite da izbrišete otključavanje ekrana?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Želite da uklonite sve tipove zaključavanja uređaja?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Želite li da uklonite zaštitu profila?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Šablon štiti telefon ako ga izgubite ili ga neko ukrade"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Šablon štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Time se briše model otiska prsta koji je sačuvan na uređaju. Model lica će se takođe trajno i bezbedno izbrisati. Nećete moći da potvrđujete identitet licem ili otiskom prsta u aplikacijama."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN štiti telefon ako ga izgubite ili ga neko ukrade"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Izgubićete sačuvane podatke kao što je PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje ste podesili za beskontaktno plaćanje će biti uklonjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtevaju otključavanje uređaja možda neće raditi pravilno."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Time se briše i model otiska prsta koji je sačuvan na uređaju. Nećete moći da potvrđujete identitet otiskom prsta u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Izgubićete sačuvane podatke kao što su PIN i model otiska prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje ste podesili za beskontaktno plaćanje će biti uklonjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtevaju otključavanje uređaja možda neće raditi pravilno."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Model lica će se takođe trajno i bezbedno izbrisati. Nećete moći da potvrđujete identitet licem u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Izgubićete sačuvane podatke kao što su PIN i model lica.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje ste podesili za beskontaktno plaćanje će biti uklonjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtevaju otključavanje uređaja možda neće raditi pravilno."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Time se briše model otiska prsta koji je sačuvan na uređaju. Model lica će se takođe trajno i bezbedno izbrisati. Nećete moći da potvrđujete identitet licem ili otiskom prsta u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Izgubićete sačuvane podatke kao što su PIN, model lica i model otiska prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje ste podesili za beskontaktno plaćanje će biti uklonjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtevaju otključavanje uređaja možda neće raditi pravilno."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Lozinka štiti telefon ako ga izgubite ili ga neko ukrade"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Lozinka štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Želite da uparite sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Dodajte novog člana u postojeći koordinisani skup"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potvrdite da biste dodali drugi deo audio uređaja"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kôd za uparivanje sa Bluetooth uređajem"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Unesite kôd za uparivanje, pa pritisnite Return ili Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN sadrži slova ili simbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Mora da sadrži 16 cifara"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Možda će biti potrebno da unesete ovaj PIN i na drugom uređaju."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Možda će biti potrebno da unesete ovaj pristupni kôd i na drugom uređaju."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potvrdite radi uparivanja sa koordinisanim skupom"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potvrdite radi uparivanja sa audio uređajem"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Dozvoli pristup kontaktima i istoriji poziva"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Dozvoli i pristup kontaktima i istoriji poziva"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informacije će se koristiti za obaveštenja o pozivima i drugo"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nije moguće povezati se sa uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dostupni uređaji"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Poveži"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Prekini vezu"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Upari i poveži"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kada je Bluetooth uključen, uređaj može da komunicira sa drugim Bluetooth uređajima u blizini"</string>
     <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_scan_change" msgid="1744636222637390367">"Promeni"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalji o uređaju"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dozvoli da ART potvrdi binarni kôd aplikacija iz kojih mogu da se otklone greške"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži učestalost osvežavanja"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikazuje aktuelnu učestalost osvežavanja ekrana"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaži HDR ili SDR razmeru"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikazuje aktuelnu HDR ili SDR razmeru"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Traži da se otključa uređaj za korišćenje NFC-a"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"U Režimu rada u avionu"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Obavesti me o javnim mrežama"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Obaveštava vas kad god je dostupna javna mreža visokog kvaliteta"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Dozvoli WEP mreže"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP je stariji bezbednosni protokol koji je manje siguran"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Mobilni operater ne dozvoljava WEP mreže jer su manje bezbedne"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Automatski uključi Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"WiFi će se ponovo uključiti u  blizini sačuvanih mreža visokog kvaliteta, kao što je kućna mreža"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nije dostupno jer je lokacija isključena. Uključite "<annotation id="link">"lokaciju"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"WiFi skeniranje omogućava aplikacijama i uslugama da traže WiFi mreže u bilo kom trenutku, čak i kada je WiFi isključen. Ovo, na primer, može da se koristi za poboljšanje funkcija i usluga zasnovanih na lokaciji."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi skeniranje je uključeno"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ova mreža koristi stariji bezbednosni protokol koji je manje siguran"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Mreža <xliff:g id="NAME">%1$s</xliff:g> je blokirana"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Mreža koristi stariji bezbednosni protokol zvani WEP koji je manje siguran. Da biste se ipak povezali, dozvolite WEP mreže."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Mobilni operater ne dozvoljava da se povežete sa ovom mrežom jer ona koristi stariji bezbednosni protokol koji je manje siguran"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Dozvoli WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zatvori"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Padajuća lista sa naprednim opcijama"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"proširite"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Ostani na Wi‑Fi-ju"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ne prikazuj ponovo"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Poveži"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"WiFi je uključen"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Povezano je na mrežu <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Povezujete se na <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Povezuje se…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Povezivanje sa mrežom nije uspelo"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Mreža nije u dometu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Zaboravi"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Izmeni"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Brisanje mreže nije uspelo"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Sačuvaj"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Čuvanje mreže nije uspelo"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Otkaži"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"WiFi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobilni podaci"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Eternet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Punjenje"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Punjenje"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot veza"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Jačina veze"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Sačuvane mreže"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Niste podesili lozinku"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Naziv hotspota"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Lozinka hotspota"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Opseg pristupne tačke"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatski isključi hotspot"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kada nijedan uređaj nije povezan"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Povećaj kompatibilnost"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balans bele ekrana"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Nastavi sa korišćenjem apl. po zatvaranju"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Tečan prikaz"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatski podiže učestalost osvežavanja sa 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Onemogući podraz. brz. kadrova"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Onemogućite ograničavanje maksimalne brzine kadrova za igre na <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Tečni prikaz"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatski podiže učestalost osvežavanja do <xliff:g id="ID_1">%1$d</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Nametni maksimalnu učestalost osvežavanja"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najveća učestalost osvežavanja za poboljšan odziv na dodir i kvalitet animacije. Povećava potrošnju baterije."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Pažnja ekrana"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Pažnja ekrana koristi prednju kameru da bi utvrdila da li neko gleda u ekran. Radi na uređaju, a slike se nikada ne čuvaju niti šalju Google-u."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Uključite pažnju ekrana"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Sprečite isključivanje ekrana dok ga gledate"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Duže vreme za gašenje ekrana troši više baterije."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera je zaključana"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera mora da bude otključana radi prepoznavanja lica"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kamera mora da bude otključana radi pažnje ekrana"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (otvor za SIM karticu <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (otvor za SIM karticu <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primarni)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Da biste videli, odaberite sačuvanu mrežu"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL verzija"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivo baterije"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Zajedničko"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Zajednička podešavanja"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satelitska razmena poruka"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Nazivi pristupnih tačaka"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Izmena pristupne tačke"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Dodajte pristupnu tačku"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nije podešeno"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nije podešeno"</string>
     <string name="apn_name" msgid="6677695784108157953">"Naziv"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Naziv pristupne tačke je omogućen"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Naziv pristupne tačke je onemogućen"</string>
     <string name="bearer" msgid="3231443241639159358">"Nosilac"</string>
+    <string name="network_type" msgid="748590707422733595">"Tip mreže"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nije navedeno"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tip MVNO-a"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Vrednost MVNO-a"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Izbriši naziv pristupne tačke"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Sačuvaj"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Otkaži"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Dupliran unos naziva pristupne tačke."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Polje Naziv ne sme da bude prazno."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Polje Naziv pristupne tačke ne sme da bude prazno."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Polje MCK mora da sadrži 3 cifre."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC polje mora da sadrži 2 ili 3 cifre."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Mobilni operater ne dozvoljava nazive pristupnih tačaka tipa %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Polje za MMSC mora da ima važeću vrednost."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Vraćanje podrazumevanih podešavanja naziva pristupne tačke."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Resetuj na podrazumevano"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ponovno postavljanje podrazumevanih podešavanja naziva pristupne tačke je završeno."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetuj"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i WiFi su resetovani"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Obriši eSIM-ove"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Ovim ne otkazujete nijedan tarifni paket. Da biste preuzeli nove SIM kartice, obratite se mobilnom operateru."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Time nećete otkazati mobilni tarifni paket. Da biste dobili zamenski SIM, obratite se mobilnom operateru."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetuj podešavanja"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Želite li da resetujete sva podešavanja mreže? Ova radnja ne može da se opozove."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Želite li da resetujete sva podešavanja mreže i obrišete eSIM-ove? Ne možete da opozovete ovu radnju."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Želite da resetujete?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Resetovanje mreže nije dostupno za ovog korisnika"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Podešavanja mreže su resetovana"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Brisanje SIM kartica nije uspelo"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-ovi ne mogu da se obrišu zbog greške.\n\nRestartujte uređaj i probajte ponovo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Brisanje eSIM kartica nije uspelo"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Došlo je do greške i eSIM kartice nisu izbrisane.\n\nRestartujte uređaj i probajte ponovo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Obriši sve podatke (fabrička podešavanja)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Obriši sve podatke (fabrička podešavanja)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"muziku"</li>\n<li>"slike"</li>\n<li>"druge podatke korisnika"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-ovi"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Na taj način nećete otkazati mobilni tarifni paket."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Izbrisaćete sve lične podatke i preuzete aplikacije. Ova radnja ne može da se opozove."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Svi lični podaci, uključujući preuzete aplikacije i SIM kartice, biće izbrisani. Ova radnja ne može da se opozove."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Izbrisaće se svi lični podaci, uključujući preuzete aplikacije i eSIM kartice. Ova radnja ne može da se opozove."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Želite da obrišete sve podatke?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Resetovanje na fabrička podešavanja nije dostupno za ovog korisnika"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Briše se"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, eternet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet se ne deli sa drugim uređajima"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Isključeno"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Privezivanje"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nemoj da koristiš Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deli internet samo preko USB-a"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deli internet samo preko Bluetooth-a"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Deli internet samo preko eterneta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deli internet samo preko USB-a i Bluetooth-a"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Deli internet samo preko USB-a i eterneta"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Deli internet samo preko Bluetooth-a i eterneta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Deli internet samo preko USB-a, Bluetooth-a i eterneta"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB privezivanje"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth privezivanje"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Privezivanje eterneta"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Koristite hotspot i privezivanje da biste omogućili internet na drugim uređajima pomoću WiFi veze ili veze za prenos podataka preko mobilnog operatera. Aplikacije mogu i da prave hotspotove za deljenje sadržaja sa uređajima u blizini."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pomoć"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilna mreža"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Tarifni paket za mobilni uređaj"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikacija za SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Želite li da promenite aplikaciju za SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Želite li da koristite <xliff:g id="NEW_APP">%1$s</xliff:g> umesto <xliff:g id="CURRENT_APP">%2$s</xliff:g> kao aplikaciju za SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Želite da promenite Wi‑Fi pomoćnik?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Želite li da koristite aplikaciju <xliff:g id="NEW_APP">%1$s</xliff:g> umesto aplikacije <xliff:g id="CURRENT_APP">%2$s</xliff:g> za upravljanje mrežnim vezama?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Želite li da koristite aplikaciju <xliff:g id="NEW_APP">%s</xliff:g> za upravljanje mrežnim vezama?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nepoznati SIM operater"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nema poznat veb-sajt za dodelu"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Ubacite SIM karticu i restartujte"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Povežite se sa internetom"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nedavni zahtevi za lokaciju"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokacija za poslovni profil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Dozvole za lokaciju aplikacije"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Obriši pristup"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrole"</string>
     <string name="force_stop" msgid="2681771622136916280">"Prinudno zaustavi"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhiviraj"</string>
+    <string name="restore" msgid="7622486640713967157">"Vrati"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Vraća se"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Vraća se."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Vraća se.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Vraća se…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Ukupno"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Veličina aplikacije"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikacija USB memorije"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nije moguće izračunati veličinu paketa."</string>
     <string name="version_text" msgid="7628938665256107608">"verzija <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Premesti"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhiviranje nije uspelo"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arhivirano: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Vraćanje nije uspelo"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Vraća se: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Drugi prenos je već u toku."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nema dovoljno prostora u memoriji."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikacija ne postoji."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Dostupna tastatura na ekranu"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Upravljajte tastaturama na ekranu"</string>
     <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="6922850403920596246">"Omogućite Duži odziv tastera za fizičku pristupačnost tastature"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Spori tasteri"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Omogućite spore tastere za fizičku pristupačnost tastature"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Lepljivi tasteri"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Omogućite Lepljive tastere za fizičku pristupačnost tastature"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Dodirnite donji desni ugao tačpeda za više opcija"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Brzina pokazivača"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučite pokrete za tačped"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Idi na početni ekran"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Prevucite nagore sa tri prsta bilo gde na tačpedu"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Nazad"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sortiraj po vremenu korišćenja"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sortiraj po posl. korišćenju"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sortiraj po nazivu aplikacije"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Poslednji put korišćeno"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Poslednji put korišćeno"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nikad"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Vreme korišćenja"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Pristupačnost"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Podešavanja pristupačnosti"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Uvećanje pomoću trostrukog dodira"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Uvećavajte pomoću prečice"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Uvećavajte pomoću prečice i trostrukog dodira"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"O usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvarajte pomoću dugmeta za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Zadržite tastere za jačinu zvuka da biste otvorili"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triput dodirnite ekran da biste otvorili"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Dvaput dodirnite ekran pomoću dva prsta da biste otvorili"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvarajte pomoću pokreta"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Koristite pokret za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Da biste koristili ovu funkciju, dodirnite dugme Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dnu ekrana.\n\nDa biste prelazili sa jedne funkcije na drugu, dodirnite i zadržite dugme Pristupačnost."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Da biste koristili ovu funkciju, dodirnite dugme Pristupačnost na ekranu."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Da biste koristili ovu funkciju, pritisnite i zadržite oba tastera za jačinu zvuka."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Da biste pokrenuli i zaustavili uvećanje, triput dodirnite bilo gde na ekranu."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Da biste pokrenuli i zaustavili uvećanje, dvaput dodirnite bilo gde na ekranu pomoću dva prsta."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Da biste koristili ovu funkciju, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Da biste koristili ovu funkciju, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Da biste koristili funkciju pristupačnosti, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Da biste koristili funkciju pristupačnosti, 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_tutorial_dialog_button" msgid="2031773187678948436">"Važi"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Podešavanja dugm. Pristupačnost"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Podešavanja dugmeta"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečica za: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Dugme Pristupačnost"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Pokret za pristupačnost"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Zadržite tastere za jačinu zvuka"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"zadržite tastere 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dvaput dodirnite ekran pomoću dva 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="6863958573135995927">"dodirnite ekran 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Saznajte više o dugmetu i pokretu Pristupačnost"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Korišćenje dugmeta Pristupačnost. Pokret nije dostupan uz navigaciju pomoću 3 dugmeta."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Brzo pristupajte funkcijama pristupačnosti"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Da biste započeli"</b>\n"1. Idite u podešavanja pristupačnosti\n2. Izaberite funkciju i dodirnite prečicu\n3. Odaberite da li želite da koristite dugme ili pokret za pristup toj funkciji"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Da biste započeli"</b>\n"1. Idite u podešavanja pristupačnosti\n2. Izaberite funkciju i dodirnite prečicu\n3. Odaberite dugme koje ćete koristiti za pristup toj funkciji"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Da biste započeli&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Idite u podešavanja pristupačnosti&lt;br/&gt; {1,number,integer}. Izaberite funkciju i dodirnite prečicu shortcut&lt;br/&gt; {2,number,integer}. Odaberite da li želite da koristite dugme ili pokret da biste pristupili funkciji&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Da biste započeli&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Idite u podešavanja pristupačnosti&lt;br/&gt; {1,number,integer}. Izaberite funkciju i dodirnite prečicu shortcut&lt;br/&gt; {2,number,integer}. Odaberite dugme koje ćete koristiti za pristup toj funkciji&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Koristite dugme ili pokret"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokacija"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Veličina"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Dugme za uključivanje prekida poziv"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Veliki pokazivač miša"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Omogućite da pokazivač miša bude uočljiviji"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Neka sve aplikacije budu tamne"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Primenjuje se na aplikacije bez tamne teme. Neke možda imaju probleme sa prikazom, npr. obrnute boje."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Ukloni animacije"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Smanjite pomeranja na ekranu"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono zvuk"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Koristi vibriranje i haptiku"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibriranje alarma"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibriranje medija"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibriranje tastature"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibriranje zvona"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibriranje obaveštenja"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Taktilni odziv"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Zaustavi"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Otkaži"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Želite li da zaustavite <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ako dodirnete <xliff:g id="STOP">%1$s</xliff:g>, zaustavićete uslugu <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Isključi"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Nastavi"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Želite da isključite uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nijedna usluga nije instalirana"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nijedna usluga nije izabrana"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nije naveden opis."</string>
     <string name="settings_button" msgid="2195468788019730377">"Podešavanja"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"osetljivost na svetlost, fotofobija, tamna tema, migrena, glavobolja, režim čitanja, noćni režim, smanjivanje osvetljenosti, bela tačka"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"jednostavnost korišćenja, lakši pristup, pomoć, pomoćno"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vid, sluh, slepi, gluvi, motorika, spretnost, pomoćno, pomoć, jednostavno korišćenje, jednostavni pristup, ruka, pomoć"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"uveličavanje prozora, zumiranje, uvećanje, slabovidost, uveličavanje, povećati"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"titl, titlovi, CC, transkripcija uživo, oštećenje sluha, gubitak sluha, CART, pretvaranje govora u tekst, titlovanje"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontrast boja"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorika, miš"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"slušni aparati, sa oštećenjem sluha, gubitak sluha, kohlearni implanti, uređaji za pojačavanje zvuka, procesori zvuka"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorika, miš, spoljni miš, miš za glavu, adaptivni miš, invalidska kolica, džojstik"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"slušni aparati, sa oštećenjem sluha, gubitak sluha, kohlearni implanti, uređaji za pojačavanje zvuka, procesori zvuka, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"oštećenje sluha, gubitak sluha, titl, teleprinter, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tri dugmeta"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"spretnost, motorika, starije osobe, artritis, učestala traumatska istegnuća zgloba, moždani udar, tremor, multipla skleroza, cerebralna paraliza, drhtavica, povreda izazvana ponavljajućim pokretima, ruka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"odlaganje, spretnost, starija osoba"</string>
     <string name="print_settings" msgid="8519810615863882491">"Štampanje"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Isključeno"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 usluga štampanja je uključena}one{# usluga štampanja je uključena}few{# usluge štampanja su uključene}other{# usluga štampanja je uključeno}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Još <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Puni se još <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Vreme na ekranu"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Vreme u pozadini"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Nizak nivo baterije"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Dozvolite aplikaciji da se pokreće u pozadini"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Želite li da ograničite aktivnosti u pozadini?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ako ograničite aktivnosti aplikacije u pozadini, možda će se ponašati neočekivano."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Apl. nije podešena za optimizaciju baterije, pa ne možete da je ograničite. \n\nZa ogr. apl. uključite optimizaciju baterije."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljajte potrošnjom baterije"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Dozvoli korišćenje u pozadini"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogućite za ažuriranja u realnom vremenu, onemogućite da biste uštedeli bateriju"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neograničeno"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizovano"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ograničeno"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Pogledajte aplikacije sa najvećom potrošnjom baterije"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Punjenje je optimizovano da bi se zaštitila baterija"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Punjenje je optimizovano da bi se produžio vek trajanja baterije"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Punjenje je optimizovano da bi se zaštitila baterija"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Da bi se produžio vek trajanja baterije, punjenje se optimizuje dok je uređaj na baznoj stanici"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Punjenje je optimizovano da bi se zaštitila baterija"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Da bi se produžio vek trajanja baterije, punjenje se optimizuje dok je uređaj na baznoj stanici"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Potpuno punjenje"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Da bi se zaštitila baterija, punjenje će se optimizovati sledeći put kada tablet bude na baznoj stanici"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Saznajte više o tome zašto je punjenje pauzirano"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nastavi sa punjenjem"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Uključuje aktivnosti u pozadini sa velikom potrošnjom"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ova aplikacija će moći da koristi bateriju u pozadini. Baterija može da se isprazni ranije nego što je očekivano."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ukloni"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Otkaži"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Puni do kraja"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem sa dodatnim priborom za punjenje"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Proverite dodatnu opremu za punjenje"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Saznajte više o nekompatibilnom punjenju"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Menadžer baterije"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Upravljajte aplikacijama automatski"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od poslednjeg potpunog punjenja"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistemske aplikacije"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Deinstalirane aplikacije"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Drugo"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Procenjeno preostalo vreme"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do potpunog punjenja"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Ukupno: manje od minut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Pozadina: manje od minut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Vreme ispred ekrana: manje od minuta"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Manje od minuta"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Ukupno: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Pozadina: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Vreme ispred ekrana: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"sada"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Grafikon potrošnje baterije"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafikon dnevne potrošnje baterije"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafikon potrošnje baterije po satima"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Nivo napunjenosti baterije od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Potrošnja baterije od poslednjeg potpunog punjenja"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Potrošnja baterije za <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Vreme ispred ekrana od poslednjeg potpunog punjenja"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Podešavanje ponašanja kada se uspostavlja hitan poziv"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Rezervna kopija"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Uključeno"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Isključeno"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Rezervna kopija i resetovanje"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Lični podaci"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Pravljenje rezervnih kopija podataka"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobilni podaci i WiFi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autom. sinhron. lične podatke"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autom. sinhr. podatke za posao"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sinhronizuj privatne podatke"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Promena ciklusa..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dan u mesecu kada se ponovo postavlja ciklus potrošnje podataka:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"U ovom periodu aplikacije nisu koristile podatke."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Naziv"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tip"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresa servera"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifrovanje (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Tajni L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikator"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec unapred deljeni ključ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec sertifikat korisnika"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA sertifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec sertifikat servera"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Prikaži napredne opcije"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS domeni za pretragu"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveri (npr. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rute za prosleđivanje (npr. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Korisničko ime"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Lozinka"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Sačuvaj informacije o nalogu"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ne koristi se)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne verifikuj server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(primljeno sa servera)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ovaj tip VPN-a ne može uvek da ostane povezan"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Uvek uključeni VPN podržava samo numeričke adrese servera"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS server mora da se odredi za uvek uključeni VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adrese DNS servera moraju da budu numeričke za uvek uključeni VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Unete informacije ne podržavaju uvek uključeni VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Otkaži"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Odbaci"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj veze bez VPN-a"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Treba vam VPN veza?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nije bezbedno. Ažurirajte na IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Pokretanje nepodržanog VPN-a nije uspelo."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Izaberite VPN profil sa kojim ćete uvek biti povezani. Mrežni sadržaj će biti dozvoljen samo kada ste povezani sa ovim VPN-om."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nijedan"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Stalno uključen VPN zahteva IP adresu za server i DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER obaveštenja"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Prijem objava o kidnapovanju dece"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ponavljanje"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Omogući Menadžer poziva"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Omogućite ovoj usluzi da upravlja načinom na koji se upućuju pozivi."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Menadžer poziva"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Bežična upozorenja o hitnim slučajevima"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Mrežni operateri"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nazivi pristupnih tačaka"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM kartice"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM kartice (otvor za SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-ovi su promenjeni."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-ovi su se promenili"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dodirnite da biste podesili"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pitaj svaki put"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Potrebno je da izaberete nešto"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, podrazumevane aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Pristup obaveštenjima nije dostupan za aplikacije na radnom profilu."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Lozinke i nalozi"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Sačuvane lozinke, automatsko popunjavanje, sinhronizovani nalozi"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Predlozi za prijavljivanje i automatsko popunjavanje"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Podrazumevane aplikacije"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonirane aplikacije"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Napravite drugu instancu aplikacije da biste istovremeno mogli da koristite dva naloga."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"novčanik"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"platite, dodirnite, plaćanja"</string>
     <string name="keywords_backup" msgid="707735920706667685">"rezervna kopija, praviti rezervnu kopiju"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"pokret"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"lice, otključavanje, potvrda identiteta, prijavljivanje"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"lice, otključavanje, autorizacija, prijavljivanje, otisak prsta, biometrija"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, verzija prl-a, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"veličina teksta, velika slova, velik font, velik tekst, slabovidost, povećanje teksta, uvećavanje fonta, povećanje fonta"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"zvek uključen ambijentalni prikaz, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, oznaka, čitač"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastatura, haptika, vibracija,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Jačina zvuka, vibracija, Ne uznemiravaj"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Jačina zvuka medija"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Jačina zvuka za prebacivanje"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Zvukovi pri uključivanju"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Titl uživo"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatski titl za medije"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Zvučnici telefona"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Zvučnici tableta"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Zvučnici uređaja"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Žičane slušalice"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Zvuk kompatibilnih medija postaje realističniji"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Isključeno"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži sav sadržaj obaveštenja"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osetljiv sadržaj samo kada je otključan"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ne prikazuj uopšte obaveštenja"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kako želite da se prikazuje sadržaj na zaključanom ekranu?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Šta želite da se prikazuje na zaključanom ekranu?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključan ekran"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Prikazuj sav sadržaj obaveštenja o poslovnom profilu"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sakrij osetljiv sadržaj poslovnog profila"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nedavne konverzacije su uklonjene"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Konverzacija je uklonjena"</string>
     <string name="clear" msgid="5092178335409471100">"Obriši"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Obriši <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioritetne i izmenjene konverzacije se prikazuju ovde"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Kada označite konverzaciju kao prioritetnu ili obavite druge promene u konverzacijama, prikazivaće se ovde. \n\nDa biste promenili podešavanja konverzacija: \nPrevucite nadole od vrha ekrana da biste otvorili klizni panel, pa dodirnite i zadržite konverzaciju."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Umanji"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Mirovanje za obaveštenja"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Primeni mirovanje na sva obaveštenja"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Postepeno smanjuje jačinu zvuka obaveštenja kada dobijete mnogo uzastopnih obaveštenja iz iste aplikacije"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Primeni mirovanje na sve konverzacije"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Postepeno smanjuje jačinu zvuka obaveštenja kada dobijete mnogo poruka iz istog ćaskanja u kratkom periodu"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ne koristi mirovanje za obaveštenja"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nikada ne smanjuje jačinu zvuka obaveštenja, bez obzira na broj uzastopnih poruka iz iste aplikacije"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibriraj kada je ekran otključan"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrira samo kada je ekran otključan"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Primeni na poslovne profile"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Primenjuje podešavanja mirovanja za obaveštenja sa ličnog profila na poslovni profil"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Usluge pomagača za virtuelnu realnost"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nijedna instalirana aplikacija nije zahtevala da se pokrene kao usluga pomagača za virtuelnu realnost."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Dozvoljavate pristup usluzi virtuelne realnosti za <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Isključeno"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Kačenje aplikacija"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Kačenje aplikacija vam omogućava da zadržite prikaz aktuelne aplikacije dok je ne otkačite. Pomoću ove funkcije možete, na primer, da dozvolite pouzdanom prijatelju da igra određenu igru."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kada je aplikacija zakačena, može da otvara druge aplikacije i lični podaci mogu da budu dostupni. \n\nDa biste koristili kačenje aplikacija: 	\n1. Uključite kačenje aplikacija 	\n2. Otvorite Pregled 	\n3. Dodirnite ikonu aplikacije u vrhu ekrana, pa dodirnite Zakači"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kada je aplikacija zakačena, može da otvara druge aplikacije i lični podaci mogu da budu dostupni. \n\nAko želite da bezbedno delite uređaj sa nekim, bolje koristite profil gosta. \n\nDa biste koristili kačenje aplikacija: 	\n1. Uključite kačenje aplikacija 	\n2. Otvorite Pregled 	\n3. Dodirnite ikonu aplikacije u vrhu ekrana, pa dodirnite Zakači"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kada je aplikacija zakačena, može da otvara druge aplikacije i lični podaci mogu da budu dostupni. \n\nDa biste koristili kačenje aplikacija: 	\n{0,number,integer}. Uključite kačenje aplikacija 	\n{1,number,integer}. Otvorite Pregled 	\n{2,number,integer}. Dodirnite ikonu aplikacije u vrhu ekrana, pa dodirnite Zakači"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kada je aplikacija zakačena, može da otvara druge aplikacije i lični podaci mogu da budu dostupni. \n\nAko želite da bezbedno delite uređaj sa nekim, bolje koristite profil gosta. \n\nDa biste koristili kačenje aplikacija: 	\n{0,number,integer}. Uključite kačenje aplikacija 	\n{1,number,integer}. Otvorite Pregled 	\n{2,number,integer}. Dodirnite ikonu aplikacije u vrhu ekrana, pa dodirnite Zakači"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kada je aplikacija zakačena: \n\n•	 Mogu da budu dostupni lični podaci \n		(na primer, kontakti i sadržaj imejlova) \n•	 Zakačena aplikacija može da otvara druge aplikacije \n\nKoristite kačenje aplikacija samo sa ljudima kojima verujete."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Traži šablon za otključavanje pre otkačinjanja"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Traži PIN pre otkačinjanja"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Traži lozinku pre otkačinjanja"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zaključaj uređaj pre otkačinjanja"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrda brisanja SIM kartice"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potvrdite da želite da obrišete eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Potvrdite da ste to vi pre brisanja eSIM-a"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Napredna zaštita memorije beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Napredna zaštita memorije"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Podešavanja nekorišćenih aplikacija"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pauziraj aktivnosti ako se ne koristi"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Uklonite dozvole, izbrišite privremene fajlove i zaustavite obaveštenja"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Upravljaj aplikacijom ako se ne koristi"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Uklonite dozvole, izbrišite privremene fajlove, zaustavite obaveštenja i arhivirajte aplikaciju"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Sve aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalirane aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant aplikacije"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Slobodno"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memorija koju koriste aplikacije"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikacija je koristila memoriju u poslednjem periodu od {time}}one{# aplikacija je koristila memoriju u poslednjem periodu od {time}}few{# aplikacije su koristile memoriju u poslednjem periodu od {time}}other{# aplikacija je koristilo memoriju u poslednjem periodu od {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Omogući profilisanje korišćenja memorije"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Za profilisanje korišćenja memorije su potrebni dodatni sistemski resursi."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilisanje memorije je onemogućeno"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Učestalost"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimum korišćenja"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Ne koriste se nikakvi podaci"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Prikaz preko drugih aplikacija"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dozvoli prikaz preko drugih aplikacija"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Omogućite ovoj aplikaciji da se prikazuje preko drugih aplikacija koje koristite. Ova aplikacija će moći vidi gde dodirujete ili da promeni ono što se prikazuje na ekranu."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Promenite medijski izlaz"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Dozvoli aplikaciji da menja medijski izlaz"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Dozvoli ovoj aplikaciji da odabere koji povezani uređaj reprodukuje zvuk ili video iz drugih aplikacija. Ako dobije dozvolu, ova aplikacija može da pristupi listi dostupnih uređaja kao što su slušalice i zvučnici i da odabere koji izlazni uređaj se koristi za strimovanje ili prebacivanje zvuka ili videa."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Pristup svim datotekama"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dozvoli pristup za upravljanje svim datotekama"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dozvolite da ova aplikacija čita, menja i briše sve datoteke na ovom uređaju ili svim povezanim uređajima za skladištenje. Ako to dozvolite, aplikacija može da pristupa datotekama bez vašeg znanja."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Može da pristupa svim datotekama"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije sa aktivacijom glasom"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dozvoli aktivaciju glasom"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovna aktivacija uključuje odobrene aplikacije hendsfri pomoću glasovne komande. Ugrađeno prilagodljivo otkrivanje garantuje da će vaši podaci ostati privatni.\n\n"<a href="">"Još o zaštićenom prilagodljivom otkrivanju"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Obaveštenja preko celog ekrana"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Dozvolite obaveštenja preko celog ekrana od ove aplikacije"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Dozvolite ovoj aplikaciji da prikazuje obaveštenja preko celog ekrana kada je uređaj zaključan. Aplikacije mogu da ih koriste radi isticanja alarma, dolaznih poziva ili drugih hitnih obaveštenja."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Upozorenje za potrošnju podataka: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Ograničenje potrošnje podataka: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Upozorenje za potrošnju podataka: <xliff:g id="ID_1">^1</xliff:g>/Ograničenje potrošnje podataka: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Obračun podataka kod mobilnog operatera se možda razlikuje od obračuna uređaja."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ne obuhvata podatke koje koriste mreže mobilnih operatera"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Potrošili ste <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Podesi upozorenje o podacima"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Ažurirano je pre <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Malopre ažurirao operater <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Ažurirano je malopre"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Prikaži plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Prikaži detalje"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Ušteda podataka"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neograničen pristup podacima"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> koristi više baterije nego obično dok je u pozadini"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> koristi više energije dok je u prvom planu"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> koristi više energije nego obično dok je u prvom planu"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalija u vezi sa potrošnjom baterije"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Velika potrošnja baterije"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Velika potrošnja baterije u pozadini"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Velika potrošnja baterije u prvom planu"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Pločice programera za brza podešavanja"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Onemogući vremensko ograničenje ovlašćenja adb-a"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Onemogućava automatsko opozivanje ovlašćenja adb-a za sisteme koji se ne povežu ponovo tokom podrazumevanog vremenskog perioda (7 dana) ili vremenskog perioda koji konfiguriše korisnik (najmanje 1 dan)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope trag"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzori su isključeni"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Podešavanja poslovnog profila"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Traži kontakte iz poslovnog direktorijuma u ličnim aplikacijama"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigacija kroz sistem, navigacija pomoću 2 dugmeta, navigacija pomoću 3 dugmeta, navigacija pomoću pokreta, prevlačenje"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni pomoćnik"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Prevucite da biste pokrenuli pomoćnik"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Prevucite nagore iz nekog od donjih ulova da biste pokrenuli aplikaciju digitalnog pomoćnika."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Prevucite nagore iz nekog od donjih ulova da biste pokrenuli aplikaciju digitalnog pomoćnika"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Za pokretanje Pomoćnika zadržite dugme za početni ekran"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pritisnite i zadržite dugme za početni ekran da biste pokrenuli aplikaciju digitalnog pomoćnika."</string>
     <string name="low_label" msgid="6525629096999711220">"Niska"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Usluga automatskog popunjavanja"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Podrazumevana usluga automatskog popunjavanja"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Lozinke"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Usluge za lozinke, pristupne kodove i podatke"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Dodatni dobavljači usluga"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Željena usluga"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Dodatne usluge"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# lozinka}one{# lozinka}few{# lozinke}other{# lozinki}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatski, popuniti, automatski popuniti, lozinka"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"podaci, pristupni kôd, lozinka"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatski, popunjavanje, automatsko popunjavanje, podaci, pristupni ključ, lozinka"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Promeni"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Otvori"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ništa nije izabrano"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Uverite se da je ova aplikacija pouzdana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google automatsko popunjavanje&gt;%1$s&lt;/xliff:g&gt; koristi sadržaj ekrana za utvrđivanje podataka koji mogu automatski da se popune."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Koristićete aplikaciju &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; koristi ono što je na ekranu radi određivanja šta može automatski da se popuni. Nove lozinke, pristupni kodovi i drugi podaci će se od sada čuvati ovde."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Usluge za lozinke, pristupne kodove i podatke"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Koristite &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nove lozinke, pristupni ključevi i drugi podaci će se od sada čuvati ovde. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; može da koristi ono što je na ekranu radi određivanja šta može automatski da se popuni."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Željena usluga za lozinke, pristupne ključeve i automatsko popunjavanje"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Želite da isključite: %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Želite da isključite ovu uslugu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Sačuvane informacije kao što su lozinke, pristupni ključevi, načini plaćanja i drugi podaci se neće popunjavati kada ste prijavljeni. Da biste koristili sačuvane informacije, odaberite uslugu za lozinke, pristupne ključeve ili podatke."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Lozinke, prist. ključevi, aut. popunjavanje"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Želite da isključite ovu uslugu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Lozinke, pristupni ključevi i druge sačuvane informacije neće biti dostupne za automatsko popunjavanje kada se prijavite"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Promenite željenu uslugu u &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nove lozinke, pristupni ključevi i drugi podaci će se od sada čuvati ovde. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; može da koristi ono što je na ekranu radi određivanja šta može automatski da se popuni"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Želite da koristite %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Isključi"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Promeni"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Može da bude uključeno samo 5 usluga"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Isključite bar 1 uslugu da biste mogli da dodate drugu"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s koristi sadržaj na ekranu da bi utvrdio šta može automatski da se popuni."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Ograničenje usluga za lozinke, pristupne kodove i podatke"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Možete istovremeno da imate najviše 5 usluga za lozinke, pristupne kodove i podatke. Isključite neku od njih da biste dodali još."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Ograničenje usluga za lozinke, pristupne kodove i podatke"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Možete istovremeno da imate najviše 5 usluga za lozinke, pristupne kodove i podatke. Isključite neku od njih da biste dodali još."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Isključi"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatsko popunjavanje"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivo evidentiranja"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Promene kompatibilnosti aplikacija mogu da se izmene samo za aplikacije sa otklonjivim greškama. Instalirajte aplikaciju sa otklonjivim greškama i probajte ponovo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Zavisi od drugog podešavanja"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Nalog"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d naloga"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Naziv uređaja"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Osnovne informacije"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Pravne informacije i informacije u vezi sa regulativama"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Dozvolite da se ova aplikacija pokreće kada se skenira NFC oznaka.\nAko je ova dozvola uključena, aplikacija će biti dostupna kao opcija svaki put kada se oznaka otkrije."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Puštaj medijski sadržaj na"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Pusti <xliff:g id="LABEL">%s</xliff:g> na"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Zvuk se pušta"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Ovaj uređaj"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nedostupno tokom poziva"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preuzmi poziv"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Isključi zvuk"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Da biste omogućili ovo, prvo promenite opciju Pritisnite i zadržite dugme za uključivanje u meni dugmeta za uključivanje."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalji o mreži"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Aplikacije na telefonu mogu da vide naziv uređaja. I drugi ljudi mogu da vide naziv uređaja mogu kada se povežete sa Bluetooth uređajima ili WiFi mrežom ili podesite WiFi hotspot."</string>
     <string name="devices_title" msgid="649715719278562515">"Uređaji"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Odaberite mrežu"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Veza je prekinuta"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Naziv"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Boja (koriste kompatibilne aplikacije)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Sačuvaj"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Koristi SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Koristi ovaj SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Isključeno"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Da biste onemogućili ovu SIM karticu, uklonite je"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Dodirnite da biste aktivirali <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Obriši SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Da biste isključili ovu SIM karticu, uklonite je"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Dodirnite da biste aktivirali <xliff:g id="CARRIER">%1$s</xliff:g> SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Obrišite eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Željeni tip mreže"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Promena režima rada mreže"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Željeni tip mreže"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Cene proverite kod mobilnog operatera."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Potrošnja podataka aplikacije"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Nevažeći režim mreže <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorišite."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satelitska razmena poruka"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Šaljite i primajte tekstualne poruke preko satelita. Obuhvaćeno je nalogom."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Šaljite i primajte tekstualne poruke preko satelita. Nije obuhvaćeno nalogom."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satelitska razmena poruka"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"O satelitskoj razmeni poruka"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Ako kod mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> imate nalog koji ispunjava uslove, možete da šaljete i primate tekstualne poruke preko satelita."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Paket kod mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satelitska razmena poruka je obuhvaćena nalogom"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelitska razmena poruka nije obuhvaćena nalogom"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Dodaj satelitsku razmenu poruka"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Princip rada"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kad nemate pristup mobilnoj mreži"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefon će se automatski povezati na satelit. Za najbolji kvalitet veze, uverite se da vam ništa ne zaklanja pogled na nebo."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Kad se telefon poveže na satelit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Možete da šaljete poruke bilo kome, uključujući hitne službe. Telefon će se ponovo povezati na mobilnu mrežu kada bude dostupna."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satelitska razmena poruka može da traje duže i dostupna je samo u određenim oblastima. Vremenski uslovi i određene strukture mogu da utiču na satelitsku vezu. Pozivanje preko satelita nije dostupno.\n\nMože da prođe neko vreme dok se promene na nalogu ne prikažu u Podešavanjima. Obratite se mobilnom operateru <xliff:g id="CARRIER_NAME">%1$s</xliff:g> za više detalja."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Više o satelitskoj razmeni poruka"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazivi pristupnih tačaka"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"Naziv pristupne tačke"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nedostupno kada je povezano sa: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Želite li da pređete na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Želite li da pređete na SIM karticu?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Želite da koristite <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"U datom trenutku može da bude aktivna samo jedna SIM kartica.\n\nPrebacivanjem na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nećete otkazati uslugu <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"U datom trenutku može da bude aktivan samo 1 eSIM.\n\nPrebacivanje na operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> neće otkazati uslugu operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"U datom trenutku može da bude aktivna samo jedna SIM kartica.\n\nPrebacivanjem nećete otkazati uslugu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"U datom trenutku može da bude aktivan samo 1 SIM.\n\nPrelaskom na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ne otkazujete usluge kod mobilnog operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"U datom trenutku može da bude aktivan samo 1 eSIM.\n\nPrelaskom na <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ne otkazujete usluge kod mobilnog operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"U datom trenutku može da bude aktivan samo 1 SIM.\n\nPrelaskom na drugi ne otkazujete usluge kod mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Možete da koristite 2 SIM kartice istovremeno. Da biste koristili <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, isključite drugu SIM karticu."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Pređi na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Isključite <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Isključivanje SIM kartice neće otkazati uslugu"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Povezuje se sa mrežom…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Prelazi se na operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> za pozive i poruke…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Promena mobilnog operatera nije uspela"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Promena mobilnog operatera nije uspela zbog greške."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM se aktivira…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Prelazite na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Promena SIM-a nije uspela"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Došlo je do greške. Promena SIM-a nije uspela."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Želite da isključite uslugu <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Želite da isključite SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM se isključuje<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Onemogućavanje mobilnog operatera nije uspelo"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Došlo je do greške i onemogućavanje mobilnog operatera nije uspelo."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Isključivanje SIM-a nije uspelo"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Došlo je do greške i SIM nije isključen."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Želite li da koristite 2 SIM kartice?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Na ovom uređaju 2 SIM kartice mogu da budu aktivne istovremeno. Da biste nastavili da koristite samo 1 SIM karticu, dodirnite „Ne, hvala“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Želite li da restartujete uređaj?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Otkaži"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Pređi"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Isključi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Aktiviranje SIM kartice nije uspelo"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Probajte ponovo da uključite SIM karticu. Ako se problem i dalje javlja, restartujte uređaj."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Podesite SIM karticu"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Podesite podešavanja mobilne mreže da biste koristili više SIM kartica na ovom uređaju"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Označite SIM kartice"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Videćete ove oznake u toku poziva, slanja SMS poruka i korišćenja prenosa podataka, kao i u Podešavanjima."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Oznaka SIM kartice"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Oznaka"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Izbor SIM kartica za upotrebu"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Možete da koristite 2 SIM kartice istovremeno"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Podesite primarne SIM kartice"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Odaberite koje SIM kartice ćete koristiti podrazumevano za pozive, SMS poruke i prenos podataka"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Primarne SIM kartice"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Pozivi"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS poruke"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Auto. zamena prenosa podataka"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Koristi prenos podataka sa bilo kog SIM-a u zavisnosti od pokrivenosti i dostupnosti"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Samo prenos podataka"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Podesi"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Dalje"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Uključuje se <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilna mreža"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Broj telefona"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Oznaka i boja SIM kartice"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivacija mreže"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Prelazak na drugog mobilnog operatera"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Mobilni operater <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivan"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM je aktivan"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Dodirnite da biste ažurirali podešavanja SIM-a"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Prešli ste na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Prešli ste na drugog mobilnog operatera"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilna mreža je promenjena"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Podesite drugi SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Odaberite aktivan SIM ili koristite 2 SIM-a istovremeno"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Odaberite broj za korišćenje"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 broj je dostupan na ovom uređaju i samo jedan broj može da se koristi u datom trenutku}=2{2 broja su dostupna na ovom uređaju, ali samo jedan broj može da se koristi u datom trenutku}one{# broj je dostupan na ovom uređaju, ali samo jedan broj može da se koristi u datom trenutku}few{# broja su dostupna na ovom uređaju, ali samo jedan broj može da se koristi u datom trenutku}other{# brojeva je dostupno na ovom uređaju, ali samo jedan broj može da se koristi u datom trenutku}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktivira se<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Trenutno ne može da se aktivira"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Izaberite SIM koji će se koristiti"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM je dostupan na ovom uređaju i samo jedan može da se koristi u datom trenutku}=2{2 SIM-a su dostupna na ovom uređaju, ali samo jedan može da se koristi u datom trenutku}one{# SIM je dostupan na ovom uređaju, ali samo jedan može da se koristi u datom trenutku}few{# SIM-a su dostupna na ovom uređaju, ali samo jedan može da se koristi u datom trenutku}other{# SIM-ova je dostupno na ovom uređaju, ali samo jedan može da se koristi u datom trenutku}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Uključuje se<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Trenutno ne možemo da uključimo ovaj SIM"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Želite li da koristite <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> će se koristiti za mobilne podatke, pozive i SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nije dostupan nijedan aktivan SIM"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Da biste kasnije koristili mobilne podatke, funkcije poziva i SMS, idite na podešavanja mreže"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Želite da obrišete ovaj eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Brisanjem ove SIM kartice uklonićete uslugu mobilnog operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sa ovog uređaja.\n\nUsluga mobilnog operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće biti otkazana."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Time uklanjate usluge mobilnog operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sa uređaja, ali paket koji imate kod mobilnog operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće biti otkazan."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Obriši"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM se briše…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Brisanje SIM-a nije uspelo"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ovaj SIM ne može da se obriše zbog greške.\n\nRestartujte uređaj i probajte ponovo."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Briše se eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Brisanje eSIM-a nije uspelo"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Došlo je do greške i eSIM nije izbrisan.\n\nRestartujte uređaj i pokušajte ponovo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Povežite sa uređajem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi da koristi privremenu Wi‑Fi mrežu da bi se povezala sa uređajem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nije pronađen nijedan uređaj Proverite da li je uređaj uključen i dostupan za povezivanje."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Hitni pozivi"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Mobilni operater ne podržava hitne pozive pomoću funkcije Pozivanje preko WiFi-a.\nUređaj automatski prelazi na mobilnu mrežu da bi uputio hitan poziv.\nHitni pozivi su mogući samo u oblastima pokrivenim mobilnom mrežom."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Koristite Wi‑Fi za pozive da biste poboljšali kvalitet"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Rezervni način za pozivanje"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ako usluga <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nije dostupna ili je u romingu, koristite SIM za mobilne podatke za<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>pozive."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"rezervni način za pozivanje"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Dolazna MMS poruka"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Slanje MMS poruka nije moguće"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Dodirnite da biste omogućili slanje MMS poruka na uređaju <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> kada su mobilni podaci isključeni"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacije o smernicama za posao"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Podešavanjima upravlja IT administrator"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Uključi uz veličinu stranica 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Uključi uređaj uz jezgro podržano za 16 KB stranice"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Želite li da restartujete uređaj sa jezgrom kompatibilnim sa 16 KB stranicama?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"UPOZORENJE: Neke aplikacije možda nisu kompatibilne sa ovim režimom. Uređaj će se restartovati posle potvrde."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Želite li da restartujete uređaj sa jezgrom kompatibilnim sa 4 KB stranicama?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Uređaj će se restartovati posle potvrde."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ažuriranje na jezgro kompatibilno sa 16 KB stranicama nije uspelo."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Primenjuje se promena"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Obrađivač izveštaja o grešci"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Određuje koja aplikacija upravlja prečicom za izveštaj o grešci na uređaju."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Lično"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Aplikacije koje mogu da se prikazuju preko drugih aplikacija prekrivaju sadržaj ekrana Podešavanja"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Dozvoli lažni modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Želite li da dozvolite ovom uređaju da pokrene uslugu lažnog modema za test instrumentacije. Nemojte omogućavati tokom normalne upotrebe telefona"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Onemogući zaštitu pri deljenju sadržaja ekrana"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Tokom deljenja sadržaja ekrana, onemogućava zaštitu koju sistem primenjuje u vezi sa obaveštenjima i aplikacijama"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Mediji"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Zakači medija plejer"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Da biste brzo nastavili reprodukciju, medija plejer ostaje otvoren u Brzim podešavanjima"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Prikazuj medijski sadržaj na zaključanom ekranu"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Da biste brzo nastavili reprodukciju, medija plejer ostaje otvoren na zaključanom ekranu"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Prikazuj preporuke za medije"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Prikaži preporuke za medije Pomoćnika"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Na osnovu aktivnosti"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Sakrij plejer"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Prikaži plejer"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"mediji"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Dozvoli dodatke softvera kamere"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Omogućava primenu podrazumevanog softvera naprednih funkcija kamere, kao što je nevizuelna videografija."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth će se uključiti"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM kartice"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-ovi"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktivno"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktivno"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Uključeno"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Isključeno"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /Podrazumevano za: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"pozivi"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Zvuk kompatibilnih medija postaje realističniji"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Praćenje glave"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Zvuk se menja kako pomerate glavu da bi delovao prirodnije"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinhronizujte dozvole"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Odobrite iste dozvole za <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> kao na uređaju <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinhronizuj dozvole sa telefona"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Odobrite iste dozvole za aplikacije na satu kao na ovom telefonu"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tip audio uređaja"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Nepoznato"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Zvučnik"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Srednje"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Visoko"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ova aplikacija može da se otvori samo u jednom prozoru"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Uključeno"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Isključeno"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Isključeno"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Isključeno"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Uključeno"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Isključeno"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Uključeno"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Isključeno"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Svetli ekrani postaju tamni, a tamni ekrani svetli"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Uvećanje ekrana"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Isključeno"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Isključeno"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Provera radi otkrivanja obmanjujućih aplikacija"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Proverite aktivnosti u aplikacijama radi otkrivanja „pecanja“"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Koristi skeniranje za obmanjujuće aplikacije"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Koristi skeniranje za obmanjujuće aplikacije za posao"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Lozinka je podešena"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Prikaži pokazivač pri prelasku pisaljkom"</string>
 </resources>
diff --git a/res/values-be/arrays.xml b/res/values-be/arrays.xml
index e26b403..bb2c26f 100644
--- a/res/values-be/arrays.xml
+++ b/res/values-be/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Даступны"</item>
     <item msgid="6096962300722555553">"Выхад за дазволеныя межы"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Выкарыстоўваць стандартныя налады сістэмы: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Праз 1 хвіліну"</item>
     <item msgid="1574040255478150028">"Праз 5 хвілін"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-be/strings.xml b/res/values-be/strings.xml
index b1d76b3..d5271f8 100644
--- a/res/values-be/strings.xml
+++ b/res/values-be/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Цяпер вы - распрацоўшчык!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Не трэба, вы ўжо з\'яўляецеся распрацоўшчыкам."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Спачатку ўключыце параметры распрацоўшчыка."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Налады для распрацоўшчыкаў даступныя толькі адміністратарам."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Сістэма"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Працуе"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не працуе"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Пярэдні дысплэй уключаецца пры складванні прылады"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Толькі гульні, відэа і да т. п."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Пярэдні дысплэй уключаецца для праграм, якія не даюць экрану перайсці ў рэжым чакання"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Калі правесці па экране ўверх"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Складзіце тэлефон і правядзіце пальцам уверх на пярэднім дысплэі, каб працягнуць выкарыстанне праграмы, або пачакайце некалькі секунд, пакуль экран заблакіруецца"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Ніколі"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Пярэдні дысплэй блакіруецца пры складванні прылады"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Выкарыстоўваць аўтапаварот"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Звязанае"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Рынгтон і будзільнікі"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Гук падчас выклікаў"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Мультымедыя"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Апавяшчэнні і сістэмныя гукі"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Гукі мультымедыя і сістэмы"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Апавяшчэнні"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Стандартна налады вываду гуку задаюцца асобнымі праграмамі"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Безназоўная прылада Bluetooth"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Пошук"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Скасаваць"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Адключыць Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Адключае функцыю Bluetooth LE audio, калі прылада падтрымлівае апаратнае забеспячэнне LE audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Рэжым Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Паказ пераключальніка LE audio у Звестках пра прыладу"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Уключыць белы спіс Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Уключыць функцыю белага спіса Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Абыходзіць белы спіс Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Выкарыстоўваць LE Audio стандартна, нават калі перыферыйная прылада LE Audio не адпавядае крытэрыям белага спіса."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Носьбіты даных"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Выклікаць прылады"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Іншыя прылады"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Захаваныя прылады"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Звязана з уліковым запісам"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Раней выкарыстоўваліся з уліковым запісам"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth уключыцца, каб выканаць спалучэнне"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Параметры падключэння"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Раней падключаныя"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth уключаны"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Паказаць усе"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Паглядзець усе"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стылус"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Пры націсканні на кнопку пяра"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Працоўны профіль)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Увод тэксту ў тэкставыя палі"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ігнараваць націсканні кнопак стілусам"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стылус"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Абагульванне аўдыя"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Абагульваць аўдыя"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Выклікі і будзільнікі"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Падключыцца да аўдыяплыні з дапамогай QR-кода"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Аўдыяплыней паблізу не знойдзена."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Дата і час"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Проксі-сервер"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Ачысціць"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Дадаць %s у прыярытэтныя мовы?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Праграмам і сайтам будзе паведамляцца, што вы аддаяце перавагу гэтай мове."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Налады вашай прылады, у тым ліку рэгіянальныя, будуць зменены."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Змяніць"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Недаступна: %s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Субота"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Калі праграма не падтрымлівае рэгіянальныя налады, яна будзе выкарыстоўваць стандартныя налады для рэгіёнаў."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Даведацца больш пра налады мовы."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Дадатковыя параметры"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Форма звароту"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Укажыце, як да вас звяртацца"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Інфармацыя пра тое, якой форме звароту вы аддаяце перавагу, можа выкарыстоўвацца для персаналізацыі праграм."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Не вызначана"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Жаночая"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Мужчынская"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Нейтральныя"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Выдаліць выбраную мову?}one{Выдаліць выбраныя мовы?}few{Выдаліць выбраныя мовы?}many{Выдаліць выбраныя мовы?}other{Выдаліць выбраныя мовы?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Тэкст будзе адлюстроўвацца на іншай мове."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Не атрымалася выдаліць усе мовы"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Месцазнаходжанне"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Выкарыстоўваць геалакацыю"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Выкл."</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Уключана – # праграма мае доступ да даных месцазнаходжання}one{Уключана – # праграма мае доступ да даных месцазнаходжання}few{Уключана – # праграмы маюць доступ да даных месцазнаходжання}many{Уключана – # праграм маюць доступ да даных месцазнаходжання}other{Уключана – # праграмы маюць доступ да даных месцазнаходжання}}"</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_location_off" msgid="8568995909147566720">"Для праграм і сэрвісаў доступ да геаданых выключаны. Інфармацыя пра месцазнаходжанне вашай прылады можа адпраўляцца экстранным службам, калі вы робіце выклік на іх нумар ці адпраўляеце ім SMS."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Даведацца больш пра налады месцазнаходжання."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Даведацца больш пра налады месцазнаходжання"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Наладзьце доступ да геаданых тут: \"Налады &gt; Бяспека і прыватнасць &gt; Налады прыватнасці\""</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Уліковыя запісы"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Бяспека"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шыфраванне і ўліковыя даныя"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Каб атрымліваць найлепшыя вынікі, карыстайцеся ахоўнай плёнкай, якая мае сертыфікат \"Made for Google\". Калі выкарыстоўваць іншыя ахоўныя плёнкі, сканер адбіткаў пальцаў вашага дзіцяці можа не працаваць."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Разблакіроўка гадзіннікам"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Пасля наладжвання разблакіроўкі праз распазнаванне твару і адбітка пальца тэлефон будзе запытваць адбітак пальца, калі навокал цёмна ці ў вас на твары маска.\n\nКалі твар або адбітак пальца не распазнаюцца, можна выканаць разблакіроўку з дапамогай гадзінніка."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Калі адбітак пальца не распазнаецца, можна выканаць разблакіроўку з дапамогай гадзінніка."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Калі твар не распазнаецца, можна выканаць разблакіроўку з дапамогай гадзінніка."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Пасля наладжвання разблакіроўкі адбіткам пальца і праз распазнаванне твару тэлефон будзе запытваць адбітак пальца, калі навокал цёмна ці ў вас на твары маска.\n\nРазблакіроўку гадзіннікам зручна выкарыстоўваць, калі, напрыклад, у вас мокрыя пальцы або калі ваш твар не распазнаецца."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Разблакіроўку гадзіннікам зручна выкарыстоўваць, калі, напрыклад, ваш адбітак пальца не распазнаецца."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Разблакіроўку гадзіннікам зручна выкарыстоўваць, калі, напрыклад, ваш твар не распазнаецца."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Скарыстайце адбітак пальца або гадзіннік, каб"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Скарыстайце распазнаванне твару ці гадзіннік, каб"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Скарыстайце распазнаванне твару, адбітак пальца або гадзіннік, каб"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Разблакіроўку гадзіннікам зручна выкарыстоўваць, калі, напрыклад, у вас мокрыя пальцы або калі ваш твар не распазнаецца.\n\nНіжэй паказваецца, як карыстацца гэтай функцыяй."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Не зараз"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Працягнуць"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Яшчэ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Як гэта працуе"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Гадзіннік павінен быць разблакіраваны і знаходзіцца на вашым запясці і побач з тэлефонам. Пакуль гадзіннік знаходзіцца на руцэ, яго не трэба будзе разблакіраваць зноў."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Калі тэлефон будзе разблакіраваны, на гадзінніку з\'явіцца апавяшчэнне. Вы можаце націснуць на яго, калі хочаце зноў заблакіраваць тэлефон."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Усё пад кантролем"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Вы можаце ў любы час выдаліць функцыю разблакіроўкі гадзіннікам праз Налады"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Націсніце на апавяшчэнне"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Правядзіце пальцам уверх па экране блакіроўкі"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Выберыце гадзіннік"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Даступныя гадзіннікі"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Скасаваць"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Пацвердзіць"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Усё гатова!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Цяпер вы можаце выкарыстоўваць гадзіннік для разблакіроўкі тэлефона: вам дастаткова будзе правесці пальцам уверх па экране блакіроўкі або націснуць на апавяшчэнне"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Гатова"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Разблакіроўка гадзіннікам"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Вы можаце разблакіраваць тэлефон гадзіннікам. Для гэтага правядзіце пальцам уверх па экране блакіроўкі або націсніце на апавяшчэнне."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Каб скарыстаць разблакіроўку гадзіннікам, ён павінен быць разблакіраваны, знаходзіцца на вашым запясці і паблізу ад падключанага да яго тэлефона. Калі падключэнне перарвецца, вам трэба будзе разблакіраваць тэлефон, перш чым выкарыстоўваць разблакіроўку гадзіннікам.\n\nМайце на ўвазе:\nналадзіць для гэтай функцыі можна толькі адзін гадзіннік. Каб дадаць іншы гадзіннік, спачатку выдаліце ўжо падключаны."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Разблакіроўка тварам і адбіткам пальца для працоўнага профілю"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Патрабуецца наладжванне"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Бяспека"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Прыватнасць"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Працоўны профіль"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Прыватная прастора"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Схавайце прыватныя праграмы ў асобную прастору і закрыйце доступ да яе"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Стварыце асобную вобласць для прыватных праграм, якую можна схаваць або абараніць з дапамогай блакіроўкі"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Блакіроўка прыватнай прасторы"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Прыватную прастору можна разблакіроўваць тым жа спосабам, які выкарыстоўваецца пры блакіроўцы прылады, або выбраць іншы спосаб"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Ужываць блакіроўку экрана прылады"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Распазнаванне твару і разблакіроўка адбіткам пальца"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Разблакіроўка адбіткам пальца"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Распазнаванне твару"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Дакраніцеся, каб наладзіць"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Разблакіроўка адбіткам пальца для прыватнай прасторы"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Распазнаванне твару для прыватнай прасторы"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Спосабы разблакіроўкі"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Аднолькава з блакіроўкай экрана прылады"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Выбраць новы спосаб блакіроўкі прыватнай прасторы?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Аўтаматычная блакіроўка прыватнай прасторы"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Прыватная прастора можа аўтаматычна блакіравацца, калі вы не карысталіся прыладай на працягу пэўнага часу"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Пры кожнай блакіроўцы прылады"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Пасля 5 хвілін бяздзейнасці"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Ніколі"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Хаваць, калі доступ заблакіраваны"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Хаваць прыватную прастору, калі доступ да яе заблакіраваны"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Вы можаце схаваць прыватную прастору так, каб яна не паказвалася ў спісе праграм на прыладзе. Дзякуючы гэтаму староннія асобы не будуць ведаць, што вы карыстаецеся гэтай функцыяй."</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Доступ да прыватнай прасторы, калі яна схавана"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"У спісе праграм набярыце \"прыватная прастора\" ў радку пошуку"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Націсніце на плітку \"Прыватная прастора\""</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Разблакіруйце прыватную прастору"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Выключана"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Уключана"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Сістэма"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Выдаліць прыватную прастору"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Выдаліць прыватную прастору?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Прыватная прастора будзе выдалена з прылады. Усе прыватныя праграмы і даныя будуць выдалены. Гэта дзеянне нельга адрабіць."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"З вашай прыватнай прасторы будуць выдалены наступныя ўліковыя запісы:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Выдаліць"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Ідзе выдаленне прыватнай прасторы…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Гэты працэс зойме крыху часу"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Прыватная прастора выдалена"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Не ўдалося выдаліць прыватную прастору"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Прыватная прастора разблакіравана"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Наладзьце блакіроўку экрана"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Каб выкарыстоўваць прыватную прастору, на прыладзе неабходна наладзіць блакіроўку экрана"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Наладзіць блакіроўку экрана"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Скасаваць"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Скасаваць"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Наладзіць"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Наладжванне прыватнай прасторы"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Стварыце асобную вобласць для прыватных праграм, якую можна схаваць або абараніць з дапамогай блакіроўкі"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Як гэта працуе"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Вы можаце атрымаць доступ да прыватнай прасторы ў ніжняй частцы спіса праграм"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Доступ да праграм у прыватнай прасторы можна заблакіраваць"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Калі доступ да прыватнай прасторы заблакіраваны, апавяшчэнні з дададзеных у яе праграм не паказваюцца"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Калі доступ да прыватнай прасторы заблакіраваны, праграмы з яе не паказваюцца ў менеджары дазволаў і на панэлі кіравання доступам, а таксама ў іншых наладах.\n\nПрыватную прастору нельга перамясціць на іншую прыладу. Для кожнай прылады трэба будзе наладжваць асобную прыватную прастору.\n\nДоступ да вашай прыватнай прасторы можа атрымаць чалавек, які ўсталюе на вашай прыладзе шкодныя праграмы або падключыць яе да камп\'ютара."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Ідзе наладжванне прыватнай прасторы…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Калі доступ да прыватнай прасторы заблакіраваны, апавяшчэнні з дададзеных у яе праграм не паказваюцца"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Каб абагульваць фота і файлы, разблакіруйце доступ да прыватнай прасторы"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Некаторыя праграмы ўжо ўсталяваны ў прыватнай прасторы"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Не ўдалося наладзіць прыватную прастору"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Паўтарыць спробу"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Выкарыстоўваць спосаб, выбраны для экрана?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Прыватную прастору можна разблакіраваць тым жа спосабам, які выкарыстоўваецца пры блакіроўцы прылады, або выбраць іншы спосаб"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Выкарыстоўваць спосаб, выбраны для экрана"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Выбраць новы спосаб блакіроўкі"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Гатова!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Каб знайсці прыватную прастору, перайдзіце да спіса праграм і прагартайце ўніз"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Гатова"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Каб знайсці прыватную прастору, прагартайце ўніз"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Уваход"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Каб карыстацца прыватнай прасторай, увайдзіце ва ўліковы запіс"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Не зараз"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Працягнуць"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Выберыце спосаб блакіроўкі доступу да прыватнай прасторы"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Вы можаце разблакіраваць доступ да прыватнай прасторы адбіткам пальца. У мэтах бяспекі неабходна наладзіць таксама дадатковы спосаб блакіроўкі."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Задайце PIN-код для прыватнай прасторы"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Задайце пароль для прыватнай прасторы"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Узор разблакіроўкі для прыват. прасторы"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Вы можаце дадаць да <xliff:g id="COUNT">%d</xliff:g> адбіткаў пальца"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Вы дадалі максімальную колькасць адбіткаў пальцаў"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Немагчыма дадаць больш адбіткаў пальцаў"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Узор"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-код"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Пароль"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Выдаліць блакіроўку экрана?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Выдаліць усе тыпы разблакіроўкі прылады?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Выдаліць абарону профілю?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Узор разблакіроўкі абараняе ваш тэлефон у выпадку страты ці крадзяжу"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Узор разблакіроўкі абараняе ваш тэлефон у выпадку страты ці крадзяжу.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Гэта дзеянне выдаліць мадэль адбіткаў пальцаў, захаваную на вашай прыладзе. Акрамя таго, будзе канчаткова і бяспечна выдалена мадэль вашага твару. Вы не зможаце скарыстаць функцыі распазнавання твару і разблакіравання адбіткам пальца для аўтэнтыфікацыі ў праграмах."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-код абараняе ваш тэлефон у выпадку страты ці крадзяжу"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN-код і іншыя захаваныя даныя будуць страчаны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карткі, наладжаныя для бескантактнай аплаты, будуць выдалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кашалькі і іншыя праграмы, для выкарыстання якіх патрабуецца разблакіроўка, могуць працаваць няправільна."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-код абараняе ваш тэлефон у выпадку страты ці крадзяжу.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Гэта дзеянне таксама выдаліць мадэль адбіткаў пальцаў, захаваную на вашай прыладзе. Вы не зможаце скарыстаць функцыю разблакіравання адбіткам пальца для аўтэнтыфікацыі ў праграмах."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN-код, мадэль адбітка пальца і іншыя захаваныя даныя будуць страчаны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карткі, наладжаныя для бескантактнай аплаты, будуць выдалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кашалькі і іншыя праграмы, для выкарыстання якіх патрабуецца разблакіроўка, могуць працаваць няправільна."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-код абараняе ваш тэлефон у выпадку страты ці крадзяжу.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Таксама будзе канчаткова і бяспечна выдалена мадэль вашага твару. Вы не зможаце скарыстаць функцыю распазнавання твару для аўтэнтыфікацыі ў праграмах."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN-код, мадэль твару і іншыя захаваныя даныя будуць страчаны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карткі, наладжаныя для бескантактнай аплаты, будуць выдалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кашалькі і іншыя праграмы, для выкарыстання якіх патрабуецца разблакіроўка, могуць працаваць няправільна."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-код абараняе ваш тэлефон у выпадку страты ці крадзяжу.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Гэта дзеянне выдаліць мадэль адбіткаў пальцаў, захаваную на вашай прыладзе. Акрамя таго, будзе канчаткова і бяспечна выдалена мадэль вашага твару. Вы не зможаце скарыстаць функцыі распазнавання твару і разблакіравання адбіткам пальца для аўтэнтыфікацыі ў праграмах."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN-код, мадэль твару і адбітка пальца, а таксама іншыя захаваныя даныя будуць страчаны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карткі, наладжаныя для бескантактнай аплаты, будуць выдалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кашалькі і іншыя праграмы, для выкарыстання якіх патрабуецца разблакіроўка, могуць працаваць няправільна."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Пароль абараняе ваш тэлефон у выпадку страты ці крадзяжу"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Пароль абараняе ваш тэлефон у выпадку страты ці крадзяжу.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Спалучыцца з <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Дадайце ў існуючы ўзгоднены набор новага ўдзельніка"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Пацвердзіце, каб дадаць другі кампанент аўдыяпрылады"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Код спалучэння па Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Увядзіце код спалучэння, затым націсніце кнопку Назад або Ўвод"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-код складаецца з літар ці знакаў"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Павінна быць 16 лічбаў"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Вам таксама можа спатрэбіцца ўвесці гэты PIN-код на іншай прыладзе."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Вам таксама можа спатрэбіцца ўвесці гэты ключ доступу на іншай прыладзе."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Пацвердзіце спалучэнне з узгодненым наборам"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Пацвердзіце, каб ажыццявіць спалучэнне з аўдыяпрыладай"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Дазволіць доступ да сваіх кантактаў і гісторыі выклікаў"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Дазволіць доступ таксама да кантактаў і гісторыі выклікаў"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Гэта інфармацыя будзе выкарыстоўвацца для апавяшчэнняў аб выкліках і іншых функцый"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Не атрымалася падключыцца да прылады <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Даступныя прылады"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Падключыцца"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Адключыць"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Спалучыць і падключыць"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Калі Bluetooth уключаны, ваша прылада можа звязвацца з іншымі прыладамі з Bluetooth, якія знаходзяцца побач."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Калі Bluetooth уключаны, ваша прылада можа звязвацца з іншымі прыладамі з Bluetooth, якія знаходзяцца побач"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Калі Bluetooth уключаны, прылада можа абменьвацца данымі з іншымі прыладамі з Bluetooth, якія знаходзяцца паблізу.\n\nПраграмы і сэрвісы будуць шукаць прылады паблізу, нават калі Bluetooth выключаны. Гэту функцыю можна выкарыстоўваць для паляпшэння працы прылады, напрыклад для больш дакладнага вызначэння месцазнаходжання. Вы можаце змяніць яе ў наладах пошуку Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Змяніць"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Звесткі пра прыладу"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дазволіць ART спраўдзіць байт-код праграм з магчымасцю адладкі"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Паказваць хуткасць абнаўлення"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Паказваць цяперашнюю хуткасць абнаўлення дысплэя"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Паказваць суадносіны HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Паказваць бягучыя суадносіны HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Патрабаваць разблакіроўку прылады для NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"У рэжыме палёту"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Апавяшчаць пра агульнадаступныя сеткі"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Апавяшчаць, калі даступная высакаякасная сетка агульнага доступу"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Дазволіць падключацца да сетак WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP – гэта ўстарэлы пратакол бяспекі з нізкім узроўнем абароны"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Ваш аператар не дазваляе падключацца да сетак WEP па прычыне нізкага ўзроўню іх абароны"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Уключаць Wi‑Fi аўтаматычна"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi будзе ўключацца аўтаматычна побач з захаванымі высакаякаснымі сеткамі, напрыклад у вашай дамашняй сетцы"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Недаступна, таму што выключана вызначэнне месцазнаходжання. Уключыце "<annotation id="link">"Вызначаць месцазнаходжанне"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Пошук сетак Wi-Fi дазваляе праграмам і сэрвісам шукаць сеткі Wi‑Fi, нават калі Wi‑Fi не ўключаны, для паляпшэння функцый і сэрвісаў, якія выкарыстоўваюць геалакацыю."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Уключыць"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Пошук сетак Wi-Fi уключаны"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Гэта сетка выкарыстоўвае ўстарэлы пратакол бяспекі з нізкім узроўнем абароны"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Сетка \"<xliff:g id="NAME">%1$s</xliff:g>\" заблакіравана"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Гэта сетка выкарыстоўвае ўстарэлы пратакол бяспекі WEP з нізкім узроўнем абароны. Калі вы ўсё роўна хочаце выкарыстаць яе, вы можаце дазволіць падключэнне да сетак WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Ваш аператар забараніў вам падключацца да гэтай сеткі, бо яна выкарыстоўвае ўстарэлы пратакол бяспекі з нізкім узроўнем абароны"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Дазволіць падключэнне да сетак WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Закрыць"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Дадатковыя параметры"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Выпадны спіс \"Дадатковыя параметры\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"разгарнуць"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Заставацца ў сетцы Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Больш не паказваць"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Падключыцца"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi уключаны"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Падключана да сеткi <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Ідзе падключэнне да сеткі \"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>\""</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Ідзе падключэнне…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Не атрымалася падключыцца да сеткі"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Сетка не ў зоне дасягальнасці"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Забыць"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Змяніць"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Не атрымалася iгнараваць сетку"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Захаваць"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Не атрымалася захаваць сетку"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Скасаваць"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мабільная перадача даных"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – зараджаецца"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – зараджаецца"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Падключэнне да хот-спота"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Якасць падключэння"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Захаваныя сеткі"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Пароль не ўстаноўлены"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Назва хот-спота"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Пароль хот-спота"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Дыяпазон частот Wi-Fi"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Аўтаматычна выключаць хот-спот"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Калі няма падключаных прылад"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Максімальная сумяшчальнасць"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Паказваць баланс белага"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Працягваць выкарыстоўваць праграмы, калі прылада складзена"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плаўны паказ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Аўтаматычна павялічвае частату абнаўлення пэўнага змесціва з 60 да <xliff:g id="ID_1">%1$s</xliff:g> Гц. Павышае выкарыстанне зараду акумулятара."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Адключэнне ст. частаты кадраў"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Адключыць абмежаванне на максімальную частату кадраў для гульняў (<xliff:g id="FRAME_RATE">%1$d</xliff:g> Гц)."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Плаўны паказ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Аўтаматычна павялічвае частату абнаўлення пэўнага змесціва да <xliff:g id="ID_1">%1$d</xliff:g> Гц. Павышае выкарыстанне зараду акумулятара."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Прымусовая пікавая частата абнаўлення"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Найвышэйшая частата абнаўлення для лепшага рэагавання на дотыкі і вышэйшай якасці анімацыі. Павышае выкарыстанне зараду акумулятара."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Адаптыўны рэжым"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Адаптыўны рэжым з дапамогай пярэдняй камеры вызначае, калі хто-небудзь глядзіць на экран. Функцыя працуе толькі на прыладзе: відарысы не захоўваюцца і не адпраўляюцца ў Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Уключыць адаптыўны рэжым"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Не дазваляць экрану выключацца, калі на яго глядзяць"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Чым даўжэйшы час да выключэння экрана, тым хутчэй разраджаецца акумулятар."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камера заблакіравана"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Каб выкарыстоўваць функцыю выяўлення твару, трэба разблакіраваць камеру"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Для адаптыўнага рэжыму трэба разблакіраваць камеру"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (трымальнік SIM-карты <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (трымальнік SIM-карты <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (асноўны)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Для прагляду выберыце захаваную сетку"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Версiя PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Узровень батарэі"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Супольныя"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Супольныя налады"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Абмен паведамленнямі па спадарожнікавай сувязі"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Змяніць пункт доступу"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Дадаванне пункта доступу"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Не зададзена"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не зададзена"</string>
     <string name="apn_name" msgid="6677695784108157953">"Назва"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN уключаны"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN адключаны"</string>
     <string name="bearer" msgid="3231443241639159358">"Прад\'яўнік"</string>
+    <string name="network_type" msgid="748590707422733595">"Тып сеткі"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Не ўказана"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Тып MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Значэнне MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Выдаліць APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Захаваць"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Скасаваць"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Такі пункт APN ужо існуе."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Поле «Імя» не можа быць пустым."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Значэнне APN не можа быць пустым."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"У полі MCC павінна быць 3 сімвалы."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"У полі MCC павінна быць 2 ці 3 сімвала."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Аператар не дазваляе дадаваць APN тыпу %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Значэнне ў полі MMSC несапраўднае."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Аднаўленне стандартных параметраў APN"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Скінуць налады"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Стандартныя налады адноўлены."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Скінуць"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Налады Bluetooth і Wi‑Fi скінуты"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Сцерці eSIM-карты"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Гэта дзеянне не прывядзе да скасавання тарыфных планаў. Каб спампаваць новыя SIM-карты, звярніцеся да аператара."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Гэта дзеянне не прывядзе да скасавання вашага мабільнага тарыфнага плана. Каб атрымаць новую SIM-карту, звярніцеся да аператара."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Скінуць налады"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Скінуць усе налады сеткі? Гэта дзеянне нельга адрабіць."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Скінуць усе налады сеткі і сцерці eSIM-карты? Гэта дзеянне нельга адрабіць."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Скінуць?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Скід налад сеткі недаступны для гэтага карыстальніка"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Налады сеткі былі скінутыя"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Не ўдалося сцерці даныя SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Памылка сцірання eSIM-карты.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Не ўдалося выдаліць eSIM-карты"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Адбылася памылка, і eSIM-карты не былі выдалены.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Сцерці ўсе даныя (скід да заводскіх налад)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Сцерці ўсе даныя (скід да заводскіх налад)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музыку;"</li>\n<li>"фота;"</li>\n<li>"іншую інфармацыю карыстальніка."</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-карты"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Гэта дзеянне не прывядзе да скасавання вашага тарыфнага плана."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Уся асабістая інфармацыя і спампаваныя праграмы будуць выдалены. Гэта дзеянне нельга адрабіць."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Уся асабістая інфармацыя, у тым ліку спампаваныя праграмы і SIM-карты, будзе выдалена. Гэта дзеянне нельга адрабіць."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Уся асабістая інфармацыя, у тым ліку спампаваныя праграмы і eSIM-карты, будзе выдалена. Гэта дзеянне нельга адрабіць."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Сцерці ўсе даныя?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Скід да заводскіх налад недаступны для гэтага карыстальніка"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Даныя сціраюцца"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Хот-спот, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Інтэрнэт не абагульваецца з іншымі прыладамі"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Выключана"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Мадэм"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не выкарыстоўваць хот-спот Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Абагульваць інтэрнэт толькі праз USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Абагульваць інтэрнэт толькі праз Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Абагульваць інтэрнэт толькі праз Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Абагульваць інтэрнэт толькі праз USB і Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Абагульваць інтэрнэт толькі праз USB і Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Абагульваць інтэрнэт толькі праз Bluetooth і Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Абагульваць інтэрнэт толькі праз USB, Bluetooth і Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-мадэм"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-мадэм"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Мадэм Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Для падключэння да інтэрнэту іншых прылад праз Wi-Fi ці мабільную перадачу даных выкарыстоўвайце хот-спот і рэжым мадэма. Для абагульвання змесціва з прыладамі паблізу праграмы таксама могуць ствараць хот-спот."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Даведка"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мабільная сетка"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Тарыфны план"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Праграма для SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Змяніць праграму для SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Выкарыстоўваць праграму \"<xliff:g id="NEW_APP">%1$s</xliff:g>\" замест \"<xliff:g id="CURRENT_APP">%2$s</xliff:g>\" для SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Змяніць памочніка Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Выкарыстоўваць <xliff:g id="NEW_APP">%1$s</xliff:g> замест <xliff:g id="CURRENT_APP">%2$s</xliff:g> для кіравання сеткавымі падлучэннямі?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Выкарыстоўваць <xliff:g id="NEW_APP">%s</xliff:g> для кіравання вашымі падлучэннямі да сеткі?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Невядомы аператар SIM-карты"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"У <xliff:g id="OPERATOR">%1$s</xliff:g> няма вядомага вэб-сайта для забеспячэння паслуг"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Калі ласка, устаўце SIM-карту і перазагрузіце"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Калі ласка, падлучыцеся да Інтэрнэту"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Апошнія запыты геаданых"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Месца для рабочага профілю"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Дазволы на доступ да геаданых"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Выдалiць даныя доступу"</string>
     <string name="controls_label" msgid="8671492254263626383">"Сродкі кіравання"</string>
     <string name="force_stop" msgid="2681771622136916280">"Прымусовае спыненне"</string>
+    <string name="archive" msgid="9074663845068632127">"Архіваваць"</string>
+    <string name="restore" msgid="7622486640713967157">"Аднавіць"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Ідзе аднаўленне"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Ідзе аднаўленне."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Ідзе аднаўленне.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Ідзе аднаўленне..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Усяго"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Памер праграмы"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Прыкладанне для захоўвання на USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Не атрымалася вызначыць памер пакета."</string>
     <string name="version_text" msgid="7628938665256107608">"версія <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Перамясціць"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Збой архівавання"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> – архівавана"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Збой аднаўлення"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Ідзе аднаўленне праграмы \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Іншы перанос ужо выконваецца."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Не хапае месца для захоўвання."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Праграма не існуе."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Даступная экранная клавіятура"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Кіраваць экраннай клавіятурай"</string>
     <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="6922850403920596246">"Уключыць у якасці спецыяльнай магчымасці для фізічнай клавіятуры ігнараванне паўторнага націскання"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Запавольванне рэакцыі на націсканне"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Уключыць у якасці спецыяльнай магчымасці для фізічнай клавіятуры запавольванне рэакцыі на націсканне"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Заліпанне клавіш"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Уключыць у якасці спецыяльнай магчымасці для фізічнай клавіятуры заліпанне клавіш"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Націсніце правы ніжні вугал сэнсарнай панэлі, каб убачыць больш параметраў"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Хуткасць указальніка"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Даведацца пра жэсты сэнсарнай панэлі"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"На галоўную старонку"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Правядзіце трыма пальцамі ўверх у любым месцы сэнсарнай панэлі"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Назад"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Сартаваць па працягласці"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Сартаваць па часе карыстання"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Сартаваць па назве праграмы"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Апошняе выкарыстанне"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Апошняе выкарыстанне"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ніколі"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Час выкарыстання"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Спецыяльныя магчымасці"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Налады спецыяльных магчымасцей"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Павялічваць трайным дотыкам"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Павялічваць спалучэннем клавіш"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Павялічваць спалучэннем клавіш і трайным дотыкам"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Інфармацыя пра службу \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Адкрывайце кнопкай спецыяльных магчымасцей"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Каб адкрыць, утрымлівайце клавішы гучнасці"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Каб адкрыць, тройчы націсніце на экран"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Каб адкрыць, двойчы націсніце на экран двума пальцамі"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Адкрывайце жэстам"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Скарыстаць жэст спецыяльных магчымасцей"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Каб скарыстаць гэту функцыю, націсніце кнопку спецыяльных магчымасцей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унізе экрана.\n\nКаб пераключыцца на іншую функцыю, утрымлівайце кнопку спецыяльных магчымасцей націснутай."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Каб выкарыстоўваць гэту функцыю, націсніце на экране кнопку спецыяльных магчымасцей."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Каб скарыстаць гэту функцыю, націсніце і ўтрымлівайце абедзве клавішы гучнасці."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Каб запусціць і спыніць функцыю павелічэння, тройчы націсніце ў любым месцы экрана."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Каб запусціць і спыніць функцыю павелічэння, двойчы націсніце ў любым месцы экрана двума пальцамі."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Каб скарыстаць гэту функцыю, правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце двума пальцамі ўверх і ўтрымлівайце іх на экране."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Каб скарыстаць гэту функцыю, правядзіце па экране трыма пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце трыма пальцамі ўверх і ўтрымлівайце іх на экране."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Каб скарыстаць спецыяльную магчымасць, правядзіце па экране двума пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце двума пальцамі ўверх і ўтрымлівайце іх на экране."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Каб скарыстаць спецыяльную магчымасць, правядзіце па экране трыма пальцамі знізу ўверх.\n\nКаб пераключыцца на іншую функцыю, правядзіце трыма пальцамі ўверх і ўтрымлівайце іх на экране."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Зразумела"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Налады кнопкі спецмагчымасцей"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Налады кнопкі"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Хуткі доступ да службы \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Кнопка спецыяльных магчымасцей"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Жэст спецыяльных магчымасцей"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Утрымліваць клавішы гучнасці націснутымі"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"утрыманне клавіш гучнасці націснутымі"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Націсніце і ўтрымлівайце абедзве клавішы гучнасці"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двойчы націсніце на экран двума пальцамі"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"двойчы націсніце на экран двума пальцамі"</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="6863958573135995927">"трайное націсканне на экран"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Хутка націсніце на экран некалькі разоў ({0,number,integer}). Выкарыстанне гэтай каманды можа запаволіць працу прылады"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Даведацца больш пра кнопку спецыяльных магчымасцей і жэст"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Выкарыстанне кнопкі спецыяльных магчымасцей. Гэты жэст недаступны з 3-кнопачнай навігацыяй."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Хуткі доступ да спецыяльных магчымасцей"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Каб пачаць, выканайце наступныя дзеянні:"</b>\n"1. Перайдзіце да налад спецыяльных магчымасцей.\n2. Выберыце патрэбную функцыю і націсніце ярлык.\n3. Выберыце, як вы будзеце атрымліваць доступ да гэтай функцыі: праз кнопку ці праз жэст"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Каб пачаць, выканайце наступныя дзеянні:"</b>\n"1. Перайдзіце да налад спецыяльных магчымасцей.\n2. Выберыце патрэбную функцыю і націсніце ярлык.\n3. Выберыце кнопку для доступу да функцыі"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Выкарыстоўваць кнопку або жэст"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Месцазнаходжанне"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Памер"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Завяршыць выклік кнопкай сілкавання"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Вялікі ўказальнік мышы"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Зрабіць курсор больш прыметным"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Цёмная тэма ва ўсіх праграмах"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Дзейнічае для праграм без уласнай цёмнай тэмы. Здараюцца праблемы (напрыклад, інвертаванне колераў)."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Адключыць анімацыю"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Паменшыць рух на экране"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Монафанія"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Выкарыстоўваць вібрацыю і тактыльны водгук"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Вібрацыя падчас сігналаў"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Вібрацыя ў час прайгравання мультымедыя"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Вібрацыя клавіятуры"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вібрацыя пры выкліку"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вібрацыя пры апавяшчэнні"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Вібрацыя тактыльнага водгуку"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Спыніць"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Скасаваць"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Адключыць сэрвіс \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Націск кнопкі \"<xliff:g id="STOP">%1$s</xliff:g>\" спыніць працу сэрвісу \"<xliff:g id="SERVICE">%2$s</xliff:g>\"."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Выключыць"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Не выключаць"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Выключыць сэрвіс \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Няма ўсталяваных службаў"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Служба не выбрана"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Няма апісання."</string>
     <string name="settings_button" msgid="2195468788019730377">"Налады"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"адчувальнасць да святла, фотафобія, цёмная тэма, мігрэнь, галаўны боль, рэжым чытання, начны рэжым, паменшыць яркасць, кропка белага"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Лёгкасць выкарыстання, прастата доступу, дапамога, дапаможны"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"зрок, слых, сляпы, глухі, рухальныя працэсы, рухальныя магчымасці, дапаможны, дапамога, лёгкасць выкарыстання, просты доступ, рука, дапамога"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Лупа для акна, маштаб, павелічэнне, слабы зрок, павялічыць, зрабіць большым"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Субцітры, цітры, Імгненная расшыфроўка, слабы слых, страта слыху, расшыфроўка ў рэальным часе, пераўтварэнне маўлення ў тэкст, субцітр"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"кантрастнасць колераў"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"маторыка, мыш"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"слыхавыя апараты, асобы с парушэннем слыху, парушаны слых, кахлеарныя імпланты, прылады для ўзмацнення гуку, апрацоўка гуку"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"рухальныя працэсы, мыш, знешняя мыш, кіраванне курсорам з дапамогай рухаў галавы, адаптыўная мыш, інвалідная каляска, джойсцік"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"слыхавыя апараты, парушэнне слыху, страта слыху, кахлеарныя імпланты, прылады для ўзмацнення гуку, апрацоўка гуку, персанальныя прадукты для ўзмацнення гуку"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"слабы слых, страта слыху, субцітры, тэлетайп, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"тры кнопкі"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"рухальныя працэсы, рухальныя магчымасці, пажылы чалавек, артрыт, траўма ад рэгулярных нагрузак, інсульт, трэмар, рассеяны склероз, цэрэбральны параліч, дрыжанне, рука"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"затрымка, рухальныя магчымасці, пажылы чалавек"</string>
     <string name="print_settings" msgid="8519810615863882491">"Друк"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Выключана"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Уключаны 1 сэрвіс друку}one{Уключаны # сэрвіс друку}few{Уключана # сэрвісы друку}many{Уключана # сэрвісаў друку}other{Уключана # сэрвісу друку}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Застаецца <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Да поўнай зарадкі засталося <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Час выкарыстання"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Час у фонавым рэжыме"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Нізкі зарад акумулятара"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Дазволіць праграме працаваць у фонавым рэжыме"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Абмежаваць фонавую дзейнасць?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Абмежаванне фонавай дзейнасці праграмы можа прывесці да збояў"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Паколькі ў гэтай праграме не наладжана аптымізацыя выкарыстання зараду акумулятара, вы не можаце абмежаваць яе працу. \n\n Для гэтага спачатку  ўключыце аптымізацыю акумулятара."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Кіраваць выкарыстаннем зараду"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дазволіць фонавае выкарыстанне"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Уключыце, каб атрымліваць абнаўленні ў рэальным часе, выключыце для эканоміі зараду акумулятара"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Без абмежаванняў"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Аптымізавана"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"З абмежаваннямі"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Паглядзіце, якія праграмы найбольш спажываюць зарад"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Дзеля зберажэння акумулятара зарадка аптымізавана"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Дзеля падаўжэння тэрміну службы акумулятара зарадка аптымізуецца"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Дзеля зберажэння акумулятара зарадка аптымізавана"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Калі прылада падключана да док-станцыі, дзеля падаўжэння тэрміну службы акумулятара зарадка аптымізуецца"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Дзеля зберажэння акумулятара зарадка аптымізавана"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Калі прылада падключана да док-станцыі, дзеля падаўжэння тэрміну службы акумулятара зарадка аптымізуецца"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Поўная зарадка"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Калі планшэт зноў падключыцца да док-станцыі, дзеля зберажэння акумулятара зарадка будзе аптымізавацца"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Даведацца больш наконт прыпынення зарадкі"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Узнавіць зарадку"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Утрымлівае энергазатратныя дзеянні ў фонавым рэжыме"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Гэта праграма будзе спажываць зарад акумулятара ў фонавым рэжыме. Зарад можа скончыцца хутчэй, чым звычайна."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Зняць"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Скасаваць"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Зарадзіць поўнасцю"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Праблема з зараднай прыладай"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Праверце зарадную прыладу"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Даведацца больш пра несумяшчальную зарадную прыладу"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Менеджар акумулятара"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Аўтаматычнае кіраванне праграмамі"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"з апошняй поўнай зарадкі"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Сістэмныя праграмы"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Выдаленыя праграмы"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Іншае"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Прыблзіны час, які застаўся"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Да поўнай зарадкі"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Усяго: менш адной хвіліны"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"У фонавым рэжыме: менш адной хвіліны"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Час карыстання прыладай: менш за хвіліну"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Менш за хвіліну"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Усяго: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"У фонавым рэжыме: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Час карыстання прыладай: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"цяпер"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>-<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Дыяграма выкарыстання зараду"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Дыяграма выкарыстання зараду па днях"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Дыяграма выкарыстання зараду па гадзінах"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Узровень зараду акумулятара ў працэнтах: з <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> да <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Выкарыстанне зараду з моманту апошняй поўнай зарадкі"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Выкарыстанне зараду для часавага інтэрвалу \"<xliff:g id="SLOT">%s</xliff:g>\""</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Час карыстання прыладай з моманту апошняй поўнай зарадкі"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сігнал набору нумару ў аварыйнай сітуацыі"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Задаць паводзіны на выпадак экстранага выкліку"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Рэзервовае капіраванне"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Укл."</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Выкл."</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Рэзервовае капіяванне і аднаўленне"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Асабістыя дадзеныя"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Рэзервовае капіяванне дадзеных"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мабільная перадача даных і Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Аўтам. сінхран. асабіст. даных"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Аўтасінхранізацыя прац. даных"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Аўтасінхраніз. прыватных даных"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Змяніць цыкл..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Дзень месяца для скіду цыкла выкарыстання дадзеных"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Зараз ніякія прыкладаннi не выкарыстоўваюць дадзеныя."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Назва"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Тып"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Адрас сервера"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-шыфраванне (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Сакрэт L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Ідэнтыфікатар IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Папярэдне размеркаваны ключ IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Сертыфікат карыстальніка IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"CA-сертыфікат IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"сертыфікат сервера IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Паказаць пашыраныя параметры"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Дамены DNS-пошуку"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-серверы (напрыклад, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Перасылка маршрутаў (напрыклад, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Імя карыстальніка"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Пароль"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Захаваць інфармацыю аб уліковым запісе"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(Не выкарыстоўваецца)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не правяраць сервер)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(атрыманыя з сервера)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Гэта сетка VPN не можа заўсёды заставацца ўключанай"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Для заўсёды ўключанай VPN падыходзяць толькі адрасы сервераў, якія складаюцца з лічбаў"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Для заўсёды ўключанай VPN павінен быць пазначаны DNS-сервер"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Для заўсёды ўключанай VPN адрасы DNS-сервераў павінны складацца з лічбаў"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Уведзеная інфармацыя не сумяшчальная з заўсёды ўключанай VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Скасаваць"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Адхіліць"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Блакіраваць злучэнні без VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Патрабуецца падключэнне VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Сетка VPN не абаронена. Перайдзіце на пратакол IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Не ўдалося падключыцца да сеткі VPN, якая не падтрымліваецца."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Дазволiць, каб VPN заўсёды заставаўся падключаным да сеткi, можна будзе толькi пасля падключэння да гэтага VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Няма"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Заўсёды ўключаны VPN патрабуе IP-адрас для сервера і DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Абвесткі сістэмы AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Атрымліваць бюлетэні пра выкраданні дзяцей"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Паўтараць"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Уключыць Call Manager (Менеджар выклікаў)"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Дазволіць гэтай службе кіраваць тым, як робяцца выклікі."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager (Менеджар выклікаў)"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Аварыйныя абвесткі па бесправадных сетках"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Сеткавыя аператары"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Назвы пунктаў доступу"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM-карты"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Стан SIM-карты (слот для SIM-карты %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> дБм <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-карты зменены."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-карты зменены"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Краніце, каб наладзіць"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Заўсёды пытацца"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Трэба выбраць"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Нядаўнія праграмы, стандартныя праграмы"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Праграмы ў працоўным профілі не маюць доступу да апавяшчэнняў."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Паролі і ўліковыя запісы"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Захаваныя паролі, аўтазапаўненне, сінхранізаваныя ўліковыя запісы"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Прапановы для ўваходу і аўтазапаўнення"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Стандартныя праграмы"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Кланіраваныя праграмы"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Стварыце яшчэ адзін экзэмпляр праграмы, каб можна было выкарыстоўваць два ўліковыя запісы адначасова."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"кашалёк"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"плаціць, дакранацца, плацяжы"</string>
     <string name="keywords_backup" msgid="707735920706667685">"рэзервовае капіраванне, стварыць рэзервовую копію"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"жэст"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"твар, распазнаванне, аўтарызацыя, уваход"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"твар, разблакіроўка, аўтэнтыфікацыя, уваход, адбітак пальца, біяметрычны"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, мін, версія prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"памер тэксту, вялікі шрыфт, буйны шрыфт, павялічаны тэкст, слабы зрок, павялічыць тэкст, праграма для павелічэння шрыфту, павелічэнне шрыфту"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"заўсёды ўключаная экранная застаўка"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, цэтлік, тэрмінал"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"клавіятура, тактыльны водгук, вібрыраваць,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Гучнасць, вібрацыя, рэжым \"Не турбаваць\""</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Гучнасць медыя"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Гучнасць трансляцыі"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Гукі пры ўключэнні"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Аўтаматычныя субцітры"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Аўтаматычна дадаваць субцітры"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Дынамікі тэлефона"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Дынамiкi планшэта"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Дынамікі прылады"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Правадныя навушнікі"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Гук з сумяшчальных мультымедыйных прылад стварае больш глыбокі эфект прысутнасці"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Выключана"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Паказваць усе апавяшчэнні"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Паказваць канфідэнцыяльныя даныя толькі пасля разблакіроўкі"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не паказваць апавяшчэнні"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Якім чынам будзе паказвацца экран блакіроўкі?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Як паказваць паведамленні на экране блакіроўкі?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Экран блакіроўкі"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Паказваць усё змесціва ў працоўных апавяшчэннях"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Схаваць канфідэнцыяльныя працоўныя даныя"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Нядаўнія размовы выдалены"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Размова выдалена"</string>
     <string name="clear" msgid="5092178335409471100">"Ачысціць"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Ачысціць размову \"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>\""</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Прыярытэтныя і змененыя размовы будуць паказвацца тут"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Калі вы пазначыце размову як прыярытэтную ці ўнесяце ў яе іншыя змяненні, размова будзе паказана тут. \n\nКаб змяніць налады размовы, выканайце наступныя дзеянні: \nПравядзіце пальцам па экране зверху ўніз, каб адкрыць панэль апавяшчэнняў, потым націсніце і ўтрымлівайце размову."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Згарнуць"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Зніжэнне гучнасці апавяшчэнняў"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Зніжаць гучнасць усіх апавяшчэнняў"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Паступова змяншаць гучнасць апавяшчэнняў, калі прыходзіць вялікая колькасць апавяшчэнняў падрад ад адной праграмы"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Зніжаць гучнасць размоў"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Паступова змяншаць гучнасць апавяшчэнняў пры атрыманні вялікай колькасці паслядоўных паведамленняў з аднаго чата за кароткі перыяд часу"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Не зніжаць гучнасць апавяшчэнняў"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Ніколі не зніжаць гучнасць апавяшчэнняў, незалежна ад колькасці паслядоўных апавяшчэнняў ад адной праграмы"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Вібрацыя пры разблакіроўцы"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Вібрыраваць, толькі калі экран разблакіраваны"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Прымяніць да працоўных профіляў"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Зніжаць гучнасць апавяшчэнняў у працоўным профілі ў адпаведнасці з наладамі асабістага"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Дапаможныя VR-сэрвісы"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Усталяваныя праграмы не запытвалі выканання ў якасці дапаможных VR-сэрвісаў."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Дазволіць сэрвісу віртуальнай рэальнасці (VR) доступ да <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Выключана"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Замацаванне праграмы"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Замацаванне праграмы дазваляе трымаць праграму ў полі зроку, пакуль яна не будзе адмацавана. Гэту функцыю можна скарыстаць, каб, напрыклад, дазволіць даверанаму сябру пагуляць у пэўную гульню."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Калі праграма замацавана, яна можа адкрываць іншыя праграмы і даваць доступ да асабістых даных. \n\nКаб выкарыстоўваць замацаванне праграмы, выканайце наступныя дзеянні: 	\n1. Уключыце замацаванне праграмы. 	\n2. Адкрыйце \"Агляд\". 	\n3. Націсніце на значок праграмы ўверсе экрана, а потым выберыце \"Замацаваць\"."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Калі праграма замацавана, яна можа адкрываць іншыя праграмы і даваць доступ да асабістых даных. \n\nКалі вы хочаце бяспечна абагуліць з кім-небудзь сваю прыладу, лепш скарыстайце профіль гасцявога карыстальніка. \n\nКаб выкарыстоўваць замацаванне праграмы, выканайце наступныя дзеянні: 	\n1. Уключыце замацаванне праграмы. 	\n2. Адкрыйце \"Агляд\". 	\n3. Націсніце на значок праграмы ўверсе экрана, а потым выберыце \"Замацаваць\"."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Калі праграма замацавана, яна можа адкрываць іншыя праграмы і даваць доступ да асабістых даных. \n\nКаб замацаваць праграму, зрабіце наступнае: 	\n{0,number,integer}. Уключыце функцыю \"Замацаванне праграмы\". 	\n{1,number,integer}. Адкрыйце Агляд. 	\n{2,number,integer}. Націсніце на значок праграмы ўверсе экрана, а потым выберыце \"Замацаваць\"."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Калі праграма замацавана, яна можа адкрываць іншыя праграмы і даваць доступ да асабістых даных. \n\nТаму, калі вы хочаце даць прыладу іншаму чалавеку, але пры гэтым абараніць свае даныя, рэкамендуем выкарыстоўваць профіль гасцявога карыстальніка. \n\nКаб замацаваць праграму, зрабіце наступнае: 	\n{0,number,integer}. Уключыце функцыю \"Замацаванне праграмы\". 	\n{1,number,integer}. Адкрыйце Агляд. 	\n{2,number,integer}. Націсніце на значок праграмы ўверсе экрана, а потым выберыце \"Замацаваць\"."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Калі праграма замацавана: \n\n•		Могуць быць даступныя асабістыя даныя \n		(напрыклад, кантакты і змесціва электроннай пошты) \n•	 Замацаваная праграма можа адкрываць іншыя праграмы \n\nВыкарыстоўвайце замацаванне праграм толькі з людзьмі, якім давяраеце."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Запытваць узор разблакіроўкі перад адмацаваннем"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Запытваць PIN-код перад адмацаваннем"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запытваць пароль перад адмацаваннем"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Заблакіраваць прыладу падчас адмацавання"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Пацвярджаць выдаленне даных SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Пацвердзіце выдаленне eSIM-карты"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Перш чым сціраць eSIM-карту, пацвердзіце, што гэта вы"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Пашыраная абарона памяці (бэта)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Пашыраная абарона памяці"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Налады неактыўных праграм"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Прыпыніць дзеянні ў неактыўнай праграме"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Выдаліць дазволы, часовыя файлы і спыніць апавяшчэнні"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Кіраваць праграмай, якой не карыстаюцца"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Выдаліць дазволы, часовыя файлы, спыніць адпраўку апавяшчэнняў і архіваваць праграму"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Усе праграмы"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Усталяваныя праграмы"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Імгненныя праграмы"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Свабодна"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Выкарыстанне памяці праграмамі"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{У апошні(я) {time} памяць выкарыстоўвалася 1 праграмай}one{У апошні(я) {time} памяць выкарыстоўвалася # праграмай}few{У апошні(я) {time} памяць выкарыстоўвалася # праграмамі}many{У апошні(я) {time} памяць выкарыстоўвалася # праграмамі}other{У апошні(я) {time} памяць выкарыстоўвалася # праграмамі}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Уключыць аналіз выкарыстання памяці"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Для аналізу выкарыстання памяці патрабуюцца дадатковыя сістэмныя рэсурсы."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Аналіз выкарыстання памяці адключаны"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Частата"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Максімальнае выкарыстанне"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Даныя не выкарыстоўваліся"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Паказваць паверх іншых праграм"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Дазволіць паказ паверх іншых праграм"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Дазволіць гэтай праграме паказвацца паверх іншых праграм, якія вы выкарыстоўваеце. Гэтай праграме будуць даступныя звесткі пра тое, што вы націскаеце або змяняеце на экране."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Змяненне прылады вываду медыя"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Дазволіць праграме кіраваць вывадам медыя"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Дазволіць гэтай праграме кіраваць тым, на якой з падключаных прылад будзе прайгравацца аўдыя і відэа з іншых праграм. Атрымаўшы дазвол, праграма будзе мець доступ да спіса падключаных прылад, такіх як навушнікі і дынамікі, і магчымасць выбіраць прыладу вываду, на якой будзе трансліравацца аўдыя і відэа."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Доступ да ўсіх файлаў"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Дазволіць доступ да кіравання ўсімі файламі"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дазвольце гэтай праграме чытаць, змяняць і выдаляць усе файлы на гэтай прыладзе ці ў падключаных сховішчах. З такім дазволам праграма зможа атрымліваць доступ да файлаў без вашага ведама."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Магчымы доступ да ўсіх файлаў"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Праграмы з галасавой актывацыяй"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дазволіць галасавую актывацыю"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Дзякуючы функцыі галасавой актывацыі ўхваленыя праграмы можна ўключаць з дапамогай галасавога кіравання, выкарыстоўваючы каманды. Прымяненне ўбудаванай адаптыўнай сістэмы распазнавання дазваляе захаваць прыватнасць вашых даных.\n\n"<a href="">"Падрабязней пра абароненую адаптыўную сістэму распазнавання"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Поўнаэкранныя апавяшчэнні"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Дазволіць поўнаэкранныя апавяшчэнні ад гэтай праграмы"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Гэта праграма зможа паказваць поўнаэкранныя апавяшчэнні, калі прылада заблакіравана. Дзякуючы гэтаму дазволу праграмы могуць паказваць сігналы будзільнікаў, уваходныя выклікі і іншыя тэрміновыя апавяшчэнні."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Папярэджанне пра выкарыстанне трафіка: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Абмежаванне трафіка: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Папярэджанне перадачы даных: <xliff:g id="ID_1">^1</xliff:g> / Ліміт трафіка: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Улік даных аператара можа адрознівацца ад уліку прылады"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Без уліку трафіка, выкарыстанага сеткамі аператара"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> выкарыстана"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Укл. папярэджанне пра трафік"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Абноўлена <xliff:g id="ID_1">^2</xliff:g> таму"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Абноўлена зараз аператарам <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Абноўлена толькі што"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Паглядзець тарыфны план"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Праглядзець звесткі"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Эканомія трафіка"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Неабмежаваная перадача даных"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Праграма \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" выкарыстала ў фонавым рэжыме больш зараду акумулятара, чым звычайна"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Праграма \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" выкарыстала больш зараду акумулятара ў актыўным рэжыме"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Праграма \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" выкарыстала ў актыўным рэжыме больш зараду акумулятара, чым звычайна"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Анамальнае выкарыстанне зараду"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Высокае выкарыстанне зараду"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Высокае выкарыстанне зараду ў фонавым рэжыме"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Высокае выкарыстанне зараду ў актыўным рэжыме"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Пліткі хуткіх налад для распрацоўшчыкаў"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Выключыць час чакання аўтарызацыі ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Выключыць аўтаматычнае адкліканне аўтарызацый ADB для сістэм, якія не падключаліся паўторна на працягу стандартнага (7 дзён) або вызначанага карыстальнікам (мінімум 1 дзень) перыяду часу."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Трасіроўка Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Датчыкі выключаны"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Налады працоўнага профілю"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Шукаць кантакты ў асабістых праграмах з выкарыстаннем працоўнага каталога"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"сістэмная навігацыя, 2-кнопачная навігацыя, 3-кнопачная навігацыя, навігацыя жэстамі, прагартаць"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Лічбавы памочнік"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Выклік памочніка з дапамогай жэстаў"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Каб выклікаць лічбавага памочніка, правядзіце пальцам уверх з ніжняга вугла"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Каб выклікаць лічбавага памочніка, правядзіце пальцам уверх з аднаго з ніжніх вуглоў"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Для выкліку Памочніка ўтрымлівайце кнопку галоўнага экрана"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Націсніце і ўтрымлівайце кнопку галоўнага экрана, каб выклікаць праграму \"Лічбавы памочнік\"."</string>
     <string name="low_label" msgid="6525629096999711220">"Нізкая"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Служба аўтазапаўнення"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Стандартная служба аўтазапаўнення"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Паролі"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Сэрвісы для захоўвання пароляў, ключоў доступу і даных"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Дадатковыя пастаўшчыкі"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Прыярытэтны сэрвіс"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Дадатковыя сэрвісы"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# пароль}one{# пароль}few{# паролі}many{# пароляў}other{# пароля}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"аўта, запаўненне, аўтазапаўненне, пароль"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"даныя, ключ доступу, пароль"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"аўта, запаўненне, аўтазапаўненне, даныя, ключ доступу, пароль"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Змяніць"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Адкрыць"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Нічога не выбрана"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Упэўніцеся, што давяраеце гэтай праграме&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Аўтазапаўненне Google&gt;%1$s&lt;/xliff:g&gt; выкарыстоўвае тое, што знаходзіцца на вашым экране, каб вызначыць, што можна запоўніць аўтаматычна."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Скарыстаць &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; аналізуе змесціва экрана, каб выявіць палі, якія можна запоўніць аўтаматычна. Цяпер новыя паролі, ключы доступу і іншая інфармацыя будуць захоўвацца тут."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Сэрвісы для захоўвання пароляў, ключоў доступу і даных"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Выкарыстоўваць праграму \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\"?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Новыя паролі, ключы доступу і іншыя даныя будуць захоўвацца ў ёй. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; можа аналізаваць змесціва экрана, каб выявіць палі для аўтазапаўнення."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Прыярытэтны сэрвіс для пароляў, ключоў доступу і даных аўтазапаўнення"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Выключыць %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Адключыць гэты сэрвіс?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Паролі, ключы доступу, спосабы аплаты і іншая захаваная інфармацыя не будуць аўтаматычна падстаўляцца пры ўваходзе. Каб выкарыстоўваць захаваную інфармацыю, выберыце пароль, ключ доступу або сэрвіс перадачы даных."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Паролі, ключы доступу і аўтазапаўненне"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Выключыць усе сэрвісы?&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;Пасля ўваходу вы не зможаце выкарыстоўваць для аўтазапаўнення паролі, ключы доступу і іншыя захаваныя даныя"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Вы хочаце стандартна выкарыстоўваць сэрвіс \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\"?&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;Новыя паролі, ключы доступу і іншыя даныя будуць захоўвацца там. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; можа аналізаваць змесціва экрана, каб выяўляць палі для аўтазапаўнення."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Выкарыстоўваць %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Выключыць"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Змяніць"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Вы можаце ўключыць не больш за 5 сэрвісаў"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Каб дадаць іншы сэрвіс, выключыце прынамсі адзін з існуючых"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s выкарыстоўвайце звесткі пра тое, што ў вас на экране, каб вызначыць, да чаго можна прымяніць аўтазапаўненне."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Перавышаны ліміт сэрвісаў для захоўвання пароляў, ключоў доступу і даных"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Адначасова можна выкарыстоўваць да пяці сэрвісаў для захоўвання пароляў, ключоў доступу і даных. Каб дадаць новы сэрвіс, адключыце адзін з існуючых."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Перавышаны ліміт сэрвісаў для захоўвання пароляў, ключоў доступу і даных"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Адначасова можна выкарыстоўваць да пяці сэрвісаў для захоўвання пароляў, ключоў доступу і даных. Каб дадаць новы сэрвіс, адключыце адзін з існуючых."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Выключыць"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Аўтазапаўненне"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Узровень запісаў"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Змяненні ў сумяшчальнасці праграм могуць быць прыменены толькі да праграм з магчымасцю адладкі. Усталюйце такую праграму і паўтарыце спробу."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Залежыць ад іншай налады"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Уліковы запіс"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Уліковыя запісы: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Назва прылады"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Асноўныя звесткі"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Прававая інфармацыя і нарматыўныя патрабаванні"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Дазвольце запускаць гэту праграму для сканіравання цэтліка NFC.\nКалі гэты дазвол дадзены, пры выяўленні цэтліка праграма будзе даступнай для выбару."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Дзе прайграваць"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g>: дзе прайграваць"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Дзе будзе прайгравацца аўдыя:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Гэта прылада"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недаступна падчас выклікаў"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Адказаць"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Выключыць гук"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Каб уключыць гэту функцыю, спачатку змяніце ў меню кнопкі сілкавання наладу \"Доўгае націсканне кнопкі сілкавання\"."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Інфармацыя аб сетцы"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Назва вашай прылады даступная для праграм на вашым тэлефоне. Яе таксама будуць бачыць іншыя людзі, калі вы падключыцеся да прылад праз Bluetooth, падключыцеся да сеткі Wi-Fi ці наладзіце хот-спот Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Прылады"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Выбраць сетку"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Адключана"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Назва"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Колер (ужываюць сумяшчальныя праграмы)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Захаваць"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Выкарыстоўваць SIM-карту"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Выкарыстоўваць гэту SIM-карту"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Выключана"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Каб адключыць SIM-карту, выміце яе"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Націсніце, каб актываваць аператара \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Сцерці даныя SIM-карты"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Каб адключыць гэту SIM-карту, выміце яе з прылады"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Націсніце, каб актываваць SIM-карту аператара \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Выдаліць eSIM-карту"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Прыярытэтны тып сеткі"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Змяніць рэжым работы сеткі"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Прыярытэтны тып сеткі"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Высветліце цану ў свайго інтэрнэт-правайдара."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Выкарыстанне трафіка"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Несапраўдны рэжым сеткі <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ігнараваць."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Абмен паведамленнямі па спадарожнікавай сувязі"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Адпраўка і атрыманне тэкставых паведамленняў па спадарожнікавай сувязі даступныя для вашага ўліковага запісу."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Адпраўка і атрыманне тэкставых паведамленняў па спадарожнікавай сувязі недаступныя для вашага ўліковага запісу."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Абмен паведамленнямі па спадарожнікавай сувязі"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Пра абмен паведамленнямі па спадарожнікавай сувязі"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Ваш уліковы запіс ад аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" дазваляе вам адпраўляць і атрымліваць тэкставыя паведамленні па спадарожнікавай сувязі"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Ваш тарыфны план ад аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\""</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Функцыя абмену паведамленнямі па спадарожнікавай сувязі даступная для вашага ўліковага запісу."</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Функцыя абмену паведамленнямі па спадарожнікавай сувязі недаступная для вашага ўліковага запісу."</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Дадаць магчымасць абмену паведамленнямі па спадарожнікавай сувязі"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Як гэта працуе"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Калі няма мабільнай сеткі"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Ваш тэлефон аўтаматычна падключыцца да спадарожнікавай сувязі. Для аптымальнай якасці падключэння вам лепш знаходзіцца на вуліцы пад адкрытым небам"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Пасля падключэння тэлефона да спадарожнікавай сувязі"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Вы можаце адпраўляць тэкставыя паведамленні каму хочаце, у тым ліку экстранным службам. Ваш тэлефон зноў падключыцца да мабільнай сеткі, калі яна стане даступнай."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Абмен паведамленнямі па спадарожнікавай сувязі можа займаць больш часу і быць даступным толькі ў некаторых рэгіёнах. На якасць спадарожнікавага падключэння могуць уплываць надвор\'е і некаторыя віды пабудоў. Выклікі праз спадарожнікавую сувязь недаступныя.\n\nМожа спатрэбіцца некаторы час, каб змяненні ў вашым уліковым запісе з\'явіліся ў наладах. Па падрабязныя звесткі звяртайцеся да аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Падрабязней пра абмен паведамленнямі па спадарожнікавай сувязі"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Назвы пунктаў доступу"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недаступна праз аператара \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Пераключыцца на аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Пераключыцца на выкарыстанне SIM-карты?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Выкарыстоўваць паслугі аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Нельга актываваць адначасова некалькі SIM-карт.\n\nПераключэнне на аператара \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" не скасуе абслугоўванне ў аператара \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Нельга актываваць адначасова некалькі eSIM-карт.\n\nПераключэнне на аператара \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" не скасуе абслугоўванне ў аператара \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Нельга актываваць адначасова некалькі SIM-карт.\n\nПераключэнне не скасуе абслугоўванне ў аператара \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\"."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Адначасова можна выкарыстоўваць толькі адну SIM-карту.\n\nПераключэнне на карту аператара \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" не скасуе мабільны тарыфны план аператара \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Адначасова можна выкарыстоўваць толькі адну eSIM-карту.\n\nПераключэнне на карту аператара \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" не скасуе мабільны тарыфны план аператара \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Адначасова можна выкарыстоўваць толькі адну SIM-карту.\n\nПераключэнне на карту іншага аператара не скасуе мабільны тарыфны план аператара \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\"."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Вы можаце выкарыстоўваць 2 SIM-карты адначасова. Каб выкарыстоўваць паслугі аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\", выключыце іншую SIM-карту."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Пераключыцца на аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\""</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Выключыць паслугі аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\""</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Выключэнне SIM-карты не скасуе абслугоўванне ў аператара"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Ідзе падключэнне да сеткі…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Ідзе пераключэнне на аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" для выканання выклікаў і адпраўкі паведамленняў…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Не ўдалося пераключыць аператара"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Не ўдалося пераключыць аператара з-за памылкі."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Ідзе актывацыя SIM-карты…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Ідзе пераключэнне на аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Не ўдаецца змяніць SIM-карту"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Адбылася памылка. Пераключыцца на другую SIM-карту не ўдаецца."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Адключыць аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Адключыць SIM-карту?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Адключаецца SIM-карта<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Не ўдалося адключыць аператара"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Нешта пайшло не так. Не ўдалося адключыць вашага аператара."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Не ўдаецца адключыць SIM-карту"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Адбылася памылка, і адключыць SIM-карту не ўдалося."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Выкарыстоўваць 2 SIM-карты?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"На гэтай прыладзе можна актываваць адначасова 2 SIM-карты. Каб і далей карыстацца толькі адной SIM-картай, націсніце \"Не, дзякуй\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Перазапусціць прыладу?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, дзякуй"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Скасаваць"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Пераключыцца"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Выключыць"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не ўдалося актываваць SIM-карту"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Паспрабуйце зноў уключыць SIM-карту. Калі праблема застанецца, перазапусціце прыладу."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Наладзьце SIM-карту"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Наладзьце ў параметрах мабільнай сеткі выкарыстанне некалькіх SIM-карт на гэтай прыладзе"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Дадайце меткі для SIM-карт"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Вы будзеце бачыць гэтыя меткі ў наладах, а таксама калі робіце выклікі, адпраўляеце тэкставыя паведамленні і выкарыстоўваеце перадачу даных"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Метка SIM-карты"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Метка"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Выберыце пажаданыя SIM-карты"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Вы можаце выкарыстоўваць дзве SIM-карты адначасова"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Задайце асноўныя SIM-карты"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Выберыце, якія SIM-карты будуць стандартна выкарыстоўвацца для выклікаў, адпраўкі тэкставых паведамленняў і перадачы даных"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Асноўныя SIM-карты"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Выклікі"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Тэкставыя паведамленні"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Аўтапераключэнне SIM-карт"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Выкарыстоўвайце для перадачы даных любую з SIM-карт у залежнасці ад пакрыцця і даступнасці"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Толькі перадача даных"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Наладзіць"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Далей"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>: уключаецца SIM-карта…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мабільная сетка"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Нумар тэлефона"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Метка і колер SIM-карты"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Актывацыя сеткі"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Пераключаецца аператар"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Сетка \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" актыўная"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-карта аператара \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" актыўная"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Націсніце, каб абнавіць налады SIM-карты"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Пераключана на сетку \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\""</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Пераключана на іншага аператара"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мабільная сетка змянілася"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Наладзьце іншую SIM-карту"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Выберыце актыўную SIM-карту ці выкарыстоўвайце 2 SIM-карты адначасова"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Выберыце нумар для выкарыстання"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{На гэтай прыладзе ёсць 1 даступны нумар, але адначасова можа выкарыстоўвацца толькі адзін}=2{На гэтай прыладзе ёсць 2 даступныя нумары, але адначасова можа выкарыстоўвацца толькі адзін}one{На гэтай прыладзе ёсць # даступны нумар, але адначасова можа выкарыстоўвацца толькі адзін}few{На гэтай прыладзе ёсць # даступныя нумары, але адначасова можа выкарыстоўвацца толькі адзін}many{На гэтай прыладзе ёсць # даступных нумароў, але адначасова можа выкарыстоўвацца толькі адзін}other{На гэтай прыладзе ёсць # даступнага нумара, але адначасова можа выкарыстоўвацца толькі адзін}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Ідзе актывацыя<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Цяпер не ўдалося актываваць"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Выберыце SIM-карту"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{На гэтай прыладзе даступная 1 SIM-карта (выкарыстоўваць некалькі карт адначасова нельга)}=2{На гэтай прыладзе даступныя 2 SIM-карты, але выкарыстоўваць некалькі карт адначасова нельга}one{На гэтай прыладзе даступная # SIM-карта, але выкарыстоўваць некалькі карт адначасова нельга}few{На гэтай прыладзе даступныя # SIM-карты, але выкарыстоўваць некалькі карт адначасова нельга}many{На гэтай прыладзе даступныя # SIM-карт, але выкарыстоўваць некалькі карт адначасова нельга}other{На гэтай прыладзе даступныя # SIM-карты, але выкарыстоўваць некалькі карт адначасова нельга}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Уключаецца<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Уключыць гэту SIM-карту цяпер не ўдалося"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Выкарыстоўваць сетку \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Для мабільнай перадачы даных, выклікаў і SMS будзе выкарыстоўвацца сетка \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Актыўныя SIM-карты недаступныя"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Каб пазней карыстацца мабільнай перадачай даных, функцыямі выклікаў і SMS, перайдзіце ў налады сеткі"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-карта"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Сцерці гэту eSIM-карту?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Сціранне даных гэтай SIM-карты выдаляе з гэтай прылады магчымасць карыстацца паслугамі аператара \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\".\n\nАбслугоўванне ў аператара \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" не будзе спынена."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Вы больш не зможаце карыстацца паслугамі аператара \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\" на гэтай прыладзе, але тарыфны план аператара \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" не будзе скасаваны."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Сцерці"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Сціраюцца даныя SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не ўдалося сцерці даныя SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Памылка сцірання даных гэтай SIM.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Ідзе выдаленне eSIM-карты…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Не ўдалося выдаліць eSIM-карту"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Адбылася памылка, і eSIM-карта не была выдалена.\n\nПеразапусціце прыладу і паўтарыце спробу."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Падключыць да прылады"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Праграма \"<xliff:g id="APPNAME">%1$s</xliff:g>\" запытвае дазвол на часовае выкарыстанне сеткі Wi‑Fi для падключэння да вашай прылады"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Прылады не знойдзены. Пераканайцеся, што прылады ўключаны і даступныя для падключэння."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Экстранныя выклікі"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Экстранныя выклікі праз Wi‑Fi-тэлефанію не падтрымліваюцца вашым аператарам.\nКаб зрабіць экстранны выклік, прылада аўтаматычна пераключыцца на мабільную сетку.\nЭкстранныя выклікі можна рабіць толькі ў зонах сотавага пакрыцця."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Каб палепшыць якасць выклікаў, выкарыстоўвайце Wi‑Fi"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Ствараць рэзервовыя копіі выклікаў"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Калі сувязь праз <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> недаступная ці ў роўмінгу, для выклікаў у сетцы <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> выбірайце перадачу даных SIM."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ствараць рэзервовыя копіі выклікаў"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Уваходнае MMS-паведамленне"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Не ўдалося адправіць MMS-паведамленне"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Націсніце, каб дазволіць адпраўляць MMS-паведамленні ў <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>, калі мабільная перадача даных адключана"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Інфармацыя пра вашу працоўную палітыку"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Наладамі кіруе ваш ІТ-адміністратар"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Графічны працэсар"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Загрузіць са старонкамі ў 16 КБ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Загрузіць прыладу з ядром са старонкамі ў 16 КБ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Перазагрузіць з ядром, сумяшчальным са старонкамі памерам 16 КБ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"УВАГА! Некаторыя праграмы могуць быць несумяшчальнымі з гэтым рэжымам. Прылада перазагрузіцца пасля пацвярджэння."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Перазагрузіць з ядром, сумяшчальным са старонкамі памерам 4 КБ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Прылада перазагрузіцца пасля пацвярджэння."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Не ўдалося змяніць ядро на сумяшчальнае са старонкамі памерам 16 КБ."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Прымяняецца змяненне"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Апрацоўшчык справаздачы пра памылкі"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Праграма, якая запускаецца пры націсканні на ярлык для адпраўкі справаздачы пра памылку."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Асабістая"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Дазвольце праграмам, якія могуць паказвацца паверх іншых, накладацца на экраны Налад"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Дазволіць фіктыўны мадэм"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Дазвольце гэтай прыладзе запускаць паслугу фіктыўнага мадэма для тэсціравання апаратуры. Не ўключайце гэту функцыю падчас звычайнага выкарыстання тэлефона"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Адключыць абарону змесціва пры абагульванні экрана"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Гэта налада адключае сістэмныя сродкі абароны праграм і апавяшчэнняў, якія прымяняюцца пры абагульванні экрана"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Мультымедыя"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Замацаваць медыяпрайгравальнік"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Каб хутка ўзнавіць прайграванне, медыяпрайгравальнік застаецца адкрытым у хуткіх наладах"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Паказваць мультымедыя на экране блакіроўкі"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Медыяпрайгравальнік застаецца адкрытым на экране блакіроўкі, каб можна было хутка ўзнавіць прайграванне"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Паказваць рэкамендацыі мультымедыя"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Паказваць рэкамендацыі мультымедыйнага змесціва ад Памочніка"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"На аснове вашых дзеянняў"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Схаваць прайгравальнік"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Паказаць прайгравальнік"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"мультымедыя"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Дазволіць выкарыстанне пашырэнняў ПЗ камеры"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Дазваляе выкарыстоўваць стандартную праграмную рэалізацыю пашыраных функцый камеры, такіх як здымка відэа без неабходнасці глядзець на экран"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Будзе ўключаны Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Інтэрнэт"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-карты"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM-карта"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM-карта"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-карты"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Актыўная"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Неактыўная"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Уключана"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Выключана"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Стандартна для наступнага: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"выклікі"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Гук з сумяшчальных мультымедыйных прылад стварае больш глыбокі эфект прысутнасці"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Адсочванне рухаў галавы"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Калі вы рухаеце галавой, гук змяняецца. Дзякуючы гэтаму вы чуеце больш натуральнае гучанне"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Сінхранізацыя дазволаў"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Даць прыладзе \"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>\" такія ж дазволы для праграм, якія ёсць у прылады \"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>\""</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Сінхранізуйце дазволы на гадзінніку і тэлефоне"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Дайце праграмам на гадзінніку такія ж дазволы, як і на тэлефоне"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Тып аўдыяпрылады"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Невядома"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Дынамік"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Сярэдняя"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Высокая"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Гэту праграму можна адкрыць толькі ў адным акне"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Уключана"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Выключана"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Выключана"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Выключана"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Уключана"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Выключана"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Уключана"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Выключана"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Інверсія колераў мяняе светлыя колеры на экране на цёмныя, а цёмныя - на светлыя"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Уключыць функцыю павелічэння маштабу на экране"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Выключана"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Выключана"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Сканіраванне на наяўнасць падманных праграм"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Правяраць дзеянні ў праграме на фішынг"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Выкарыстоўваць сканіраванне для выяўлення падманных праграм"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Выкарыстоўваць сканіраванне для выяўлення падманных праграм, прызначаных для працы"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Пароль зададзены"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Не хаваць паказальнік пры навядзенні"</string>
 </resources>
diff --git a/res/values-bg/arrays.xml b/res/values-bg/arrays.xml
index f2f9d44..9ea9033 100644
--- a/res/values-bg/arrays.xml
+++ b/res/values-bg/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Налице"</item>
     <item msgid="6096962300722555553">"Извън обхват"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Деактивирано"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast и Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Използване на стандартната системна настройка: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"След 1 минута"</item>
     <item msgid="1574040255478150028">"След 5 минути"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-bg/strings.xml b/res/values-bg/strings.xml
index 971037e..023c6e7 100644
--- a/res/values-bg/strings.xml
+++ b/res/values-bg/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Вече сте програмист!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Не е необходимо – вече сте програмист."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Моля, първо активирайте опциите за програмисти."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Само потребителите с администраторски достъп имат достъп до настройките за програмисти."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Системни"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"В употреба"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не работи"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Предният дисплей се включва, когато сгънете устройството си"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Само игри, видеоклипове и др."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Предният дисплей се включва за приложенията, които не позволяват на екрана да премине в неактивно състояние"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Плъзнете пръст нагоре, за да продължите"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Затворете телефона си и плъзнете пръст нагоре по предния дисплей, за да продължите да използвате приложението, или изчакайте няколко секунди, за да се заключи екранът"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Никога"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Предният дисплей се заключва, когато сгънете устройството си"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Използване на автоматичното завъртане"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Сродни"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Мелодия и будилници"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Звук по време на обаждания"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Мултимедия"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Известия и др. системни звуци"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Мултимедия и системни звуци"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Известия"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"По подразбиране аудиоизходът се определя от отделните приложения"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Устройство с Bluetooth без име"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Търси се"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Отказ"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Деактивиране на Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Деактивира Bluetooth LE Audio, ако устройството поддържа хардуер с възможност за LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Режим за Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Показване на превключват. за LE Audio в подробн. за у-вото"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Активиране на списъка с разрешени устройства за Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Служи за активиране на функцията за списък с разрешени устройства за Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Заобикаляне на списъка на разрешените устройства с Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Използване на LE Audio по подразбиране дори ако не е потвърдено, че периферното устройство с LE Audio отговаря на критериите на списъка на разрешените устройства."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Мултимедийни устройства"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Устройства за обаждания"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Други устройства"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Запазени устройства"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Асоциирано с профила"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Използвано по-рано с профил"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ще се включи с цел сдвояване"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Предпочитания за свързването"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"По-рано свързвани"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Функцията за Bluetooth е включена"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Преглед на всички"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Преглед на всички"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Писалка"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Натискане на бутона в горната част"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (служебен потребителски профил)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Ръкописно въвеждане в текстовите полета"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Игнориране на натисканията на бутони с писалката"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Писалка"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Споделяне на аудио"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Споделяне на аудио"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Обаждания и будилници"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Свързване с аудиопоток чрез QR код"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Няма открити аудиопотоци в близост."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Дата и час"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси сървър"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Изчистване"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Искате ли да добавите %s към предпочитаните езици?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Така ще уведомите приложенията и уебсайтовете, че този език също е предпочитан."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Настройките на устройството и регионалните ви предпочитания ще бъдат променени."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Промяна"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s не е налице"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"събота"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ако дадено приложение не поддържа регионалните предпочитания, то ще използва стандартните си настройки за локала."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Научете повече за езиковите предпочитания."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Допълнителни предпочитания"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Форма на обръщение"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Задайте форма на обръщение към вас"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Приложенията могат да използват зададената от вас форма на обръщение, за да персонализират начина, по който се обръщат към вас."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Не е посочено"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Женски род"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Мъжки род"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Неутрално"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Да се премахне ли избраният език?}other{Да се премахнат ли избраните езици?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текстът ще се показва на друг език."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Не могат да се премахнат всички езици"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Местоположение"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Използване на местоположението"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Изкл."</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Включено – # приложение има достъп до местоположението}other{Включено – # приложения имат достъп до местоположението}}"</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_location_off" msgid="8568995909147566720">"Достъпът до местоположението е изключен за приложенията и услугите. Местоположението на устройството ви пак може да се изпраща до органите за бързо реагиране, когато се обадите на номер за спешни случаи или изпратите SMS до такъв."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Научете повече за настройките за местоположението."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Научете повече за настройките за местоположението"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"За промени в достъпа до местопол.: „Настройки &gt; Сигурност и поверителност &gt; Контроли за поверителност“"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Профили"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Сигурност"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифроване и идентификационни данни"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"За най-добри резултати използвайте защитен слой на екрана, който е със сертификат „Създадено за Google“. Отпечатъкът на детето ви може да не работи с други защитни слоеве."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Отключване чрез часовника"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Когато носите маска или се намирате на тъмно място и сте настроили опциите за отключване с лице и отпечатък, телефонът ви ще поиска да използвате отпечатъка си.\n\nМожете да отключите телефона чрез часовника си, ако лицето или отпечатъкът ви не бъдат разпознати."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Можете да отключите устройството чрез часовника си, ако отпечатъкът ви не бъде разпознат."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Можете да отключите устройството чрез часовника си, ако лицето ви не бъде разпознато."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Когато носите маска или се намирате на тъмно място и сте настроили функциите „Отключване с лице“ и „Отключване с отпечатък“, телефонът ви ще поиска да използвате отпечатъка си.\n\nФункцията за отключване чрез часовника е друг удобен начин да отключвате телефона си, например когато пръстите ви са мокри или лицето ви не бъде разпознато."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Функцията за отключване чрез часовника е друг удобен начин да отключвате телефона си, например когато отпечатъкът ви не бъде разпознат."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Функцията за отключване чрез часовника е друг удобен начин да отключвате телефона си, например когато лицето ви не бъде разпознато."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Използвайте отпечатък или часовник за"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Използвайте лице или часовник за"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Използвайте лице, отпечатък или часовник за"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Функцията за отключване чрез часовника е друг удобен начин да отключвате този телефон, например когато пръстите ви са мокри или лицето ви не бъде разпознато.\n\nМожете да отключвате този телефон чрез часовника си, като:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Не сега"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Напред"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Още"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Как работи"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Часовникът ви трябва да е отключен, да е на китката ви и да е близо до този телефон. Няма да е необходимо отново да отключвате часовника си, докато е на китката ви."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Ще получавате известие на часовника си, когато телефонът е отключен. Ако не сте възнамерявали да отключите телефона си, докоснете известието, за да го заключите отново."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Контролът е във ваши ръце"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Можете да премахнете часовника си от функцията „Отключване чрез часовника“ по всяко време от настройките"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Докоснете известие"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Прекарайте пръст нагоре през заключения екран"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Изберете часовника си"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Налични часовници"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Отказ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Потвърждаване"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Готово!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Вече можете да отключвате този телефон чрез часовника си, като прекарате пръст нагоре през заключения екран или докоснете известие"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Готово"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Отключване чрез часовника"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Можете да отключвате този телефон чрез часовника си, като прекарате пръст нагоре през заключения екран или докоснете известие"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"За да използвате функцията за отключване чрез часовника, той трябва да е отключен, да е на китката ви, да е наблизо и да е свързан с този телефон. Ако връзката е прекъснала, ще трябва да отключите телефона, преди да можете да използвате отключване чрез часовника.\n\nИмайте предвид следното:\nВ даден момент може да е настроен само един часовник. За да добавите друг, първо премахнете текущия."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Отключване с лице и отпечатък за служебни цели"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Необходимо е настройване"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Сигурност"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Поверителност"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Служебен потребителски профил"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Частно пространство"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Заключване и скриване на частните приложения"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Частните приложения са на отделно място, което можете да скриете или заключите"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Опция за заключване на частното пространство"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Можете да отключвате частното пространство по същия начин, по който отключвате устройството си, или да изберете друга опция за заключване"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Използване на опцията за заключване на екрана на у-вото"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Отключване с лице и отпечатък"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Отключване с отпечатък"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Отключване с лице"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Докоснете, за да настроите"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"„Отключване с отпечатък“ за частното пространство"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"„Отключване с лице“ за частното пространство"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Начини за отключване"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Като опцията за заключване на екрана на устройството"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Ново заключване на частното пространство?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Автоматично заключване на частното пространство"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Частното ви пространство може да се заключва автоматично, ако не сте използвали устройството си за определен период от време"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"При всяко заключване на устройството"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"След 5 минути неактивност"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Никога"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Скриване, когато е заключено"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Скриване на частното пространство, когато е заключено"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"За да бъде тайно частното пространство на устройството ви, можете да го скриете от списъка с приложения"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Достъп до частното пространство, когато е скрито"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"В списъка с приложения потърсете „частно пространство“"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Докоснете панела за частното пространство"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Отключване на частното ви пространство"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Изкл."</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Вкл."</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Изтриване на частното пространство"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Да се изтрие ли частното пространство?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Частното ви пространство ще бъде премахнато от устройството ви. Всички частни приложения и данни ще бъдат изтрити. Не можете да отмените това действие."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Следните профили ще бъдат премахнати от частното ви пространство:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Изтриване"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Частното пространство се изтрива…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Това ще отнеме известно време"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Частното пространство бе изтрито"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Частното пространство не бе изтрито"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Частното пространство е отключено"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Настройте заключване на екрана"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"За да ползвате частното си пространство, настройте заключване на екрана на устройството."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Настройване на закл. на екрана"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Отказ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Отказ"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Настройване"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Настройване на частно пространство"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Частните приложения са на отделно място, което можете да скриете или заключите"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Начин на работа"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Можете да осъществите достъп до частното пространство от долната част на списъка с приложения"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Приложенията в частното простр. са защитени със заключване"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Известията от приложенията в частното ви пространство са скрити, когато то е заключено"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Когато частното ви пространство е заключено, приложенията в него няма да се показват в мениджъра на разрешенията, таблото за управление на поверителността и други настройки.\n\nЧастното ви пространство не може да бъде преместено на ново устройство. В такъв случай ще трябва да настроите друго частно пространство.\n\nВсеки, който свърже устройството ви с компютър или инсталира опасни приложения на него, би могъл да осъществи достъп до частното ви пространство."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Частното пространство се настройва…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Известията от приложенията в частното пространство са скрити, когато то е заключено"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Отключете частното пространство, за да споделяте снимки или файлове"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Някои приложения вече са инсталирани в частното ви пространство"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Не бе настроено частно пространство"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Нов опит"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Да се отключва ли частното простр. по същия начин?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Можете да отключвате частното пространство по същия начин, по който отключвате устройството си, или да изберете друга опция за заключване"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Използване на закл. на екрана"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Избиране на нова опция за заключване"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Готово!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"За да намерите частното си пространство, отворете списъка с приложения и превъртете надолу"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Превъртете надолу, за да намерите частното пространство"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Вход"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Влезте в профил, който да използвате с частното си пространство"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Не сега"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Напред"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Изберете опция за заключване на частното ви пространство"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Можете да отключвате частното си пространство посредством отпечатъка си. От съображения за сигурност трябва да зададете резервна опция за заключване."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Задайте ПИН код за частното пространство"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Задайте парола за частното пространство"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Задайте фигура за частното пространство"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Можете да добавите до <xliff:g id="COUNT">%d</xliff:g> отпечатъка"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Добавихте максималния брой отпечатъци"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Не могат да се добавят още отпечатъци"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Фигура"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"ПИН"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Парола"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Да се изтрие ли опцията за заключване на екрана?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Да се премахнат ли всички опции за заключване на екрана?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Да се премахне ли защитата на потребителския профил?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Фигурата защитава телефона ви, ако бъде изгубен или откраднат"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Фигурата защитава телефона ви, ако бъде изгубен или откраднат.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Това действие ще изтрие модела на отпечатъка, съхраняван на устройството ви. Моделът на лицето ви също ще бъде изтрит надеждно и за постоянно. Няма да можете да използвате лицето и отпечатъка си за удостоверяване в приложения."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"ПИН кодът защитава телефона ви, ако устройството бъде изгубено или откраднато"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Ще загубите запазени данни, като например ПИН кода си.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картите, настроени за безконтактно плащане, ще бъдат премахнати.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Портфейлите и другите приложения, които изискват отключване на устройството, може да не работят правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"ПИН кодът защитава телефона ви, ако устройството бъде изгубено или откраднато.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Това действие ще изтрие и модела на отпечатъка, съхраняван на устройството ви. Няма да можете да използвате отпечатъка си за удостоверяване в приложения."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Ще загубите запазени данни, като например ПИН кода и модела на отпечатъка си.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картите, настроени за безконтактно плащане, ще бъдат премахнати.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Портфейлите и другите приложения, които изискват отключване на устройството, може да не работят правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"ПИН кодът защитава телефона ви, ако устройството бъде изгубено или откраднато.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Моделът на лицето ви също ще бъде изтрит надеждно и за постоянно. Няма да можете да използвате лицето си за удостоверяване в приложения."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Ще загубите запазени данни, като например ПИН кода и модела на лицето си.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картите, настроени за безконтактно плащане, ще бъдат премахнати.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Портфейлите и другите приложения, които изискват отключване на устройството, може да не работят правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"ПИН кодът защитава телефона ви, ако устройството бъде изгубено или откраднато.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Това действие ще изтрие модела на отпечатъка, съхраняван на устройството ви. Моделът на лицето ви също ще бъде изтрит надеждно и за постоянно. Няма да можете да използвате лицето и отпечатъка си за удостоверяване в приложения."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Ще загубите запазени данни, като например ПИН кода и моделите на лицето и отпечатъците си.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картите, настроени за безконтактно плащане, ще бъдат премахнати.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Портфейлите и другите приложения, които изискват отключване на устройството, може да не работят правилно."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Паролата защитава телефона ви, ако бъде изгубен или откраднат"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Паролата защитава телефона ви, ако бъде изгубен или откраднат.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Искате ли да сдвоите с(ъс) <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Добавете нов член към съществуващия координиран набор"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Потвърдете, за да добавите втория компонент на аудиоустройството си"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Код за сдвояване с Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Въведете кода за сдвояване, след което натиснете „Return“ или „Enter“"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"ПИН кодът съдържа букви или символи"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Трябва да е 16 цифри"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Възможно е също така да се наложи да въведете този ПИН на другото устройство."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Възможно е също така да се наложи да въведете този код за достъп на другото устройство."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Потвърдете, за да сдвоите с координирания набор"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Потвърдете, за да сдвоите аудиоустройството си"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Разрешаване на достъпа до контактите и историята на обажданията ви"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Разрешаване и на достъпа до контактите и историята на обажданията"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Информацията ще се използва за съобщения чрез обаждания и др."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Не можа да се установи връзка със: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Налични устройства"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Свързване"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Изключване"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Сдвояване и свързване"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"При включен Bluetooth устройството ви може да се свързва с други устройства с Bluetooth в района."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Когато включите Bluetooth, у-вото ви може да се свързва с други у-ва с Bluetooth в близост"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Когато включите Bluetooth, устройството ви може да се свързва с други устройства с Bluetooth в близост.\n\nС цел подобряване на практическата работа с устройството приложенията и услугите пак могат да сканират за устройства в близост по всяко време дори когато функцията за Bluetooth e изключена. Това може да послужи например за подобряване на базиращите се на местоположението функции и услуги. Можете да промените това от настройките за сканиране през Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Промяна"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Подробности за устройството"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Разрешаване на ART да потвърждава байткода за приложенията с възможност за отстраняване на грешки"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Честота на опресняване"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показва текущата честота на опресняване на екрана"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Показване на съотношението HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Показване на текущото съотношение HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Изискване за отключване на устройството за NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"В самолетен режим"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Известяване за обществени мрежи"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Известяване при наличие на висококачествена обществена мрежа"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Разрешаване на мрежи с WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP е по-стар протокол за сигурност, който не е толкова надежден"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Операторът ви не разрешава мрежи с WEP, тъй като не са толкова надеждни"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Автоматично включване на Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi ще се включва при наличие на висококачествени запазени мрежи, като например тази в дома ви"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Не е налице, защото местоположението е изключено. Включете "<annotation id="link">"настройката"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Сканирането за Wi‑Fi разрешава на приложенията и услугите да сканират за Wi‑Fi мрежи по всяко време дори когато функцията за Wi‑Fi e изключена. Това може да послужи например за подобряване на базиращите се на местоположението функции и услуги."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Включване"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Сканирането за Wi-Fi е включено"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Тази мрежа използва по-стар протокол за сигурност, който не е толкова надежден"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Мрежата „<xliff:g id="NAME">%1$s</xliff:g>“ е блокирана"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Тази мрежа използва по-стар протокол за сигурност, наречен WEP, който не е толкова надежден. За да се свържете въпреки това, можете да разрешите мрежите с WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Операторът ви не разрешава да се свържете с тази мрежа, защото тя използва по-стар протокол за сигурност, който не е толкова надежден"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Разрешаване на WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Затваряне"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Разширени опции"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Падащ списък за разширени опции"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"разгъване"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Придържане към Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Повече да не се показва"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Свързване"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Функцията за Wi-Fi е включена"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Установена е връзка с(ъс) <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Свързване към <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Свързва се…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Свързването с мрежата не бе успешно"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Мрежата не е в обхват"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Забравяне"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Промяна"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Забравянето на мрежата не бе успешно"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Запазване"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Запазването на мрежата не бе успешно"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Отказ"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобилни данни"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Зарежда се"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Зарежда се"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Връзка с точка за достъп"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Сила на връзката"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Запазени мрежи"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Няма зададена парола"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Име на точката за достъп"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Парола за точката за достъп"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Честота на точката за достъп"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Автоматично изключване на точката за достъп"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Когато няма свързани устройства"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Разширяване на съвместимостта"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс на бялото на дисплея"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Продължаване на използването на приложенията при сгъване"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавно показване"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматично увеличава честотата на опресняване от 60 на <xliff:g id="ID_1">%1$s</xliff:g> Hz за част от съдържанието. По-интензивно използване на батерията."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Деакт. на осн. скорост на кадрите за игрите"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Деактивиране на ограничаването на максималната скорост на кадрите за игрите при <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Плавно показване"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматично увеличава честотата на опресняване до <xliff:g id="ID_1">%1$d</xliff:g> Hz за част от съдържанието. По-интензивно използване на батерията."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Принудителна най-висока честота на опресняване"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Най-висока честота на опресняване за по-добро реагиране при докосване и качество на анимациите. По-интензивно използване на батерията."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Внимание към екрана"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Функцията „Внимание към екрана“ използва предната камера, за да види дали някой гледа в екрана. Тя работи на устройството и изображенията не се съхраняват, нито се изпращат до Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Вкл. на функцията „Внимание към екрана“"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Екранът остава включен, докато гледате към него"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"По-дългото време до автоматично изключване на екрана изразходва повече батерия."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камерата е заключена"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Камерата трябва да е отключена за лицевото разпознаване"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Камерата трябва да е отключена за функцията „Внимание към екрана“"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM слот <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM слот <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (основен)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"За преглед изберете запазена мрежа"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Версия на списъка с предпочитания за роуминг"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Ниво на батерията"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Общи"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Общи настройки"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Сателитни съобщения"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Редакт. на точка за достъп"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Добавяне на точка за достъп"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Не е зададено"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не е зададено"</string>
     <string name="apn_name" msgid="6677695784108157953">"Име"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Името на точката за достъп (APN) е активирано"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Името на точката за достъп (APN) е деактивирано"</string>
     <string name="bearer" msgid="3231443241639159358">"Носител"</string>
+    <string name="network_type" msgid="748590707422733595">"Тип мрежа"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Непосочено"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Тип MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Стойност на MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Изтриване на името на точката за достъп (APN)"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Запазване"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Отказ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Въведеното име на точката за достъп (APN) е дублирано."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Полето за име трябва да се попълни."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Името на точката за достъп (APN) трябва да се попълни."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Полето за мобилен код на държавата трябва да е 3 цифри."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Полето за код на мобилна мрежа (MNC) трябва да е с 2 или 3 цифри"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Операторът не позволява добавянето на имена на точки за достъп (APN) от типа „%s“."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Полето MMSC трябва да съдържа валидна стойност."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Стандартните настройки за името на точката за достъп (APN) се възстановяват."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Възстановяване на стандартни"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Възстановяването на стандартните настройки за името на точката за достъп (APN) завърши."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Нулиране"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Настройките за Bluetooth и Wi‑Fi са нулирани"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Изтриване на електронните SIM карти"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Плановете за мобилни услуги няма да бъдат анулирани. Обърнете се към оператора си, за да изтеглите резервни SIM карти."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Планът ви за мобилна услуга няма да бъде анулиран. За да получите друга SIM карта, се свържете с оператора си."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Нулиране на настройките"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Да се нулират ли всички настройки за мрежата? Не можете да отмените това действие."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Да се нулират ли всички мрежови настройки и да се изтрият ли електронните SIM карти? Не можете да отмените това действие."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Нулиране?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Този потребител не може да нулира мрежовите настройки"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Мрежовите настройки са нулирани"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM картите не могат да се изтрият"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Електронните SIM карти не могат да бъдат изтрити поради грешка.\n\nРестартирайте устройството си и опитайте отново."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Електронните SIM карти не бяха изтрити"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Нещо се обърка и електронните ви SIM карти не бяха изтрити.\n\nРестартирайте устройството си и опитайте отново."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Изтриване на всички данни (възстановяване на фабричните настройки)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Изтрив. на данните (възст. на фабр. настр.)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музика"</li>\n<li>"снимки"</li>\n<li>"други потребителски данни."</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"електронни SIM карти"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Планът ви за мобилна услуга няма да бъде анулиран."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Цялата ви лична информация и всички изтеглени приложения ще бъдат изтрити. Не можете да отмените това действие."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Цялата ви лична информация, включително изтеглените приложения и SIM карти, ще бъде изтрита. Не можете да отмените това действие."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Цялата ви лична информация, включително изтеглените приложения и електронни SIM карти, ще бъде изтрита. Не можете да отмените това действие."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Да се изтрият ли всички данни?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"За този потребител не е налице възстановяване на фабричните настройки"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Изтрива се"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Точка за достъп, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Връзката с интернет не се споделя с други устройства"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Изкл."</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Тетъринг"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Без използване на точка за достъп до Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Споделете достъпа до интернет само през USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Споделяне на достъпа до интернет само през Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Споделяне на достъпа до интернет само през Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Споделяне на достъпа до интернет само през USB и Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Споделяне на достъпа до интернет само през USB и Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Споделяне на достъпа до интернет само през Bluetooth и Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Споделяне на достъпа до интернет само през USB, Bluetooth и Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Тетъринг през USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Тетъринг през Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Тетъринг през Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Използвайте точка за достъп и тетъринг, за да предоставите достъп до интернет на други устройства чрез Wi-Fi или мобилната си връзка за данни. Приложенията могат също да създават точки за достъп, за да споделят съдържание с устройства в близост."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Помощ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобилна мрежа"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Мобилен план"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Приложение за SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Да се промени ли приложението за SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Да се използва ли <xliff:g id="NEW_APP">%1$s</xliff:g> вместо <xliff:g id="CURRENT_APP">%2$s</xliff:g> като приложение за SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Да се промени ли асистентът за Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Да се използва ли <xliff:g id="NEW_APP">%1$s</xliff:g> вместо <xliff:g id="CURRENT_APP">%2$s</xliff:g> за управление на мрежовите ви връзки?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Да се използва ли <xliff:g id="NEW_APP">%s</xliff:g> за управление на мрежовите ви връзки?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Неизвестен SIM оператор"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Няма известен администриращ уебсайт за <xliff:g id="OPERATOR">%1$s</xliff:g>"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Моля, поставете SIM карта и рестартирайте"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Моля, свържете се с интернет"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Скорошни заявки за местопол."</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Местоп. за служ. потр. профил"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Разрешения на приложенията за достъп до местоп."</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Премахване на достъпа"</string>
     <string name="controls_label" msgid="8671492254263626383">"Контроли"</string>
     <string name="force_stop" msgid="2681771622136916280">"Принудител­но спиране"</string>
+    <string name="archive" msgid="9074663845068632127">"Архивиране"</string>
+    <string name="restore" msgid="7622486640713967157">"Възстановяване"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Възстановяване"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Възстановява се."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Възстановява се.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Възстановява се..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Общо"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Размер на приложението"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Приложение за USB хранилище"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Размерът на пакета не можа да бъде изчислен."</string>
     <string name="version_text" msgid="7628938665256107608">"версия <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Преместване"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Архивирането не бе успешно"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Успешно архивиране на <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Възстановяването не бе успешно"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> се възстановява"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Вече се извършва друго мигриране."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Няма достатъчно място в хранилището."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Приложението не съществува."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Налична екранна клавиатура"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Управление на екранните клавиатури"</string>
     <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="6922850403920596246">"Активиране на игнорирането на многократното натискане за достъпност чрез физическата клавиатура"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Забавяне на сигнала от клавишите"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Активиране на забавянето на сигнала от клавишите с цел достъпност на физическата клавиатура"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Фиксирани клавиши"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Активиране на фиксираните клавиши за достъпност чрез физическата клавиатура"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"За още опции докоснете долния десен ъгъл на сензорния панел"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Скорост на курсора"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Жестове със сензорния панел: Урок"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Към началния екран"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Прекарайте три пръста нагоре по сензорния панел"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Връщане назад"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Сортиране по време на използв."</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Сортиране по последно използв."</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Сортиране по име на прилож."</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Последно използване"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Последно използване"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"никога"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Време на употреба"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Достъпност"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Настройки за достъпност"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Увеличаване с трикратно докосване"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Увеличаване на мащаба с пряк път"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увелич. на мащаба с пряк път и трикратно докосване"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Всичко за „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отваряне с бутона за достъпност"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"За отваряне натиснете и задръжте бутоните за силата на звука"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Трикратно докосване на екрана с цел отваряне"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Отваряне с двукратно докосване на екрана с два пръста"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Отваряне с жест"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Използване на жеста за достъпност"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"За да използвате тази функция, докоснете бутона за достъпност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в долната част на екрана.\n\nДокоснете и задръжте този бутон и за превключване между функциите."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"За да използвате тази функция, докоснете бутона за достъпност на екрана."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"За да използвате тази функция, натиснете и задръжте двата бутона за силата на звука."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"За стартиране и спиране на увеличението докоснете три пъти където и да е на екрана."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"За стартиране и спиране на увеличението докоснете два пъти с два пръста където и да е на екрана."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"За да използвате тази функция, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте два пръста нагоре и задръжте."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"За да използвате тази функция, прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте три пръста нагоре и задръжте."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"За да използвате функцията за достъпност, прекарайте два пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте два пръста нагоре и задръжте."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"За да използвате функцията за достъпност, прекарайте три пръста нагоре от долната част на екрана.\n\nЗа превключване между функциите прекарайте три пръста нагоре и задръжте."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Разбрах"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Настройки за бутона"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Настройки за бутона"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Пряк път за <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Бутон за достъпност"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Жест за достъпност"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задържане на бутоните за силата на звука"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"задържане на бутоните за силата на звука"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Натиснете и задръжте двата бутона за силата на звука"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двукратно докосване на екрана с два пръста"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"двукратно докосване на екрана с два пръста"</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="6863958573135995927">"трикратно докосване на екрана"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Бързо докоснете екрана {0,number,integer} пъти. Този пряк път може да забави работата на устройството ви."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Научете повече за бутона и жеста за достъпност"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Използване на бутона за достъпност. Жестът не е налице посредством навигиране с 3 бутона."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Бърз достъп до функциите за достъпност"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"За да започнете:"</b>\n"1. Отворете настройките за достъпност.\n2. Изберете функция и докоснете прекия път.\n3. Изберете как да осъществявате достъп до функцията – чрез бутон или жест."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"За да започнете:"</b>\n"1. Отворете настройките за достъпност.\n2. Изберете функция и докоснете прекия път.\n3. Изберете бутона за достъп до функцията."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Използване на бутона или жеста"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Местоположение"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Размер"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Край на обажд. с бутона за вкл./изкл."</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Голям курсор на мишката"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Промяна на курсора на мишката така, че да се вижда по-лесно"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Тъмна тема за всички приложения"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Отнася се за приложения без тъмна тема. Може да има проблеми с показването, като обърнати цветове."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Премахване на анимациите"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Намаляване на движенията по екрана"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Монозвук"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Използване на вибриране и осезателна обратна връзка"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Вибриране за будилници"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Вибриране за мултимедия"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Вибриране при използване на клавиатурата"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибриране при звънене"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибриране при известия"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Обратна връзка при докосване"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Спиране"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Отказ"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Да се спре ли „<xliff:g id="SERVICE">%1$s</xliff:g>“?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Докосването на „<xliff:g id="STOP">%1$s</xliff:g>“ ще спре „<xliff:g id="SERVICE">%2$s</xliff:g>“."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Изключване"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Не"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Да се изключи ли <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Няма инсталирани услуги"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Няма избрана услуга"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Няма описание."</string>
     <string name="settings_button" msgid="2195468788019730377">"Настройки"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"чувствителност към светлина, фотофобия, тъмна тема, мигрена, главоболие, режим за четене, нощен режим, намаляване на яркостта, точка на бялото"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Лекота на използване, лесен достъп, помощ, помощно"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"зрение, слух, незрящо лице, лице, лишено от слух, моторно, двигателно, помощно, асистенция, лесно използване, лесен достъп, ръка, помощ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"инструмент за увеличаване на прозорци, промяна на мащаба, ниво на мащаба, слабо зрение, уголемяване, увеличение"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Надписи, субтитри, „Незабавно транскрибиране“, увреден слух, загуба на слуха, надписи в реално време (CART), транскрибиране на говор"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"контраст на цветовете"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"двигателна система, мишка"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"слухови апарати, лице с увреден слух, загуба на слуха, кохлеарни импланти, устройства за усилване на звука, звукови процесори"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"моторно, мишка, външна мишка, управлявана чрез главата мишка, адаптивна мишка, инвалидна количка, джойстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"слухови апарати, лице с увреден слух, загуба на слуха, кохлеарни импланти, устройства за усилване на звука, звукови процесори, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"увреден слух, загуба на слуха, надписи, телетайп, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"три бутона"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"двигателно, моторно, възрастно лице, артрит, повтарящо се нараняване на щама (RSI), удар, тремор, множествена склероза, церебрална парализа, треперене, ръка"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"забавяне, двигателно, възрастен човек"</string>
     <string name="print_settings" msgid="8519810615863882491">"Отпечатване"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Изключено"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Включена е 1 услуга за отпечатване}other{Включени са # услуги за отпечатване}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Остава: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> до зареждане"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Време на ползване"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Време на заден план"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Изтощена батерия"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Разрешаване приложението да се изпълнява на заден план"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Да се ограничи ли активността на заден план?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ако ограничите активността на заден за дадено приложение, то може да не функционира правилно"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Тъй като прил. не е зададено да оптимизира батерията, можете да го ограничите.\n\nЗа тази цел първо включете оптим. на батерията."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управление на използването на батерията"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Разрешаване на използването на заден план"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Активиране за актуализации в реално време, деактивиране с цел пестене на батерията"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Неограничено"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимизирано"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Вижте приложенията с най-голямо използване"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Зареждането е оптимизирано с цел запазване на батерията ви"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"С цел удължаване на живота на батерията зареждането е оптимизирано"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Зареждането е оптимизирано с цел запазване на батерията ви"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"С цел удължаване на живота на батерията ви зареждането е оптимизирано, докато е установена връзка с докинг станция"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Зареждането е оптимизирано с цел запазване на батерията ви"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"С цел удължаване на живота на батерията ви зареждането е оптимизирано, докато е установена връзка с докинг станция"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Зарежда се докрай"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"С цел запазване на батерията зареждането ще бъде оптимизирано следващия път, когато таблетът ви е свързан с докинг станция"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Научете повече за това защо зареждането е на пауза"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Възобновяване на зареждането"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Включва активността на заден план, изразходваща много енергия"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Това приложение ще може да използва батерията на заден план. Тя може да се изтощи по-рано от очакваното."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Премахване"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Отказ"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Пълно зареждане"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Проблем със зарядното устройство"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Проверете аксесоара за зареждане"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Научете повече за несъвместимите начини на зареждане"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Мениджър на батерията"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Автоматично управление на приложенията"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"от последното пълно зареждане"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системни приложения"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Деинсталирани приложения"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Други"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Приблизително оставащо време"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"До пълно зареждане"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Общо: По-малко от една минута"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"На заден план: По-малко от една минута"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Време на ползване: по-малко от минута"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"По-малко от минута"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Общо: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"На заден план: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Време на ползване: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"сега"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Диаграма за използването на батерията"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Диаграма на ежедневното използване на батерията"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Диаграма на почасовото използване на батерията"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Процент на нивото на батерията от <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> до <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Използване на батерията след последното пълно зареждане"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Използване на батерията за периода <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Време на ползване след последното пълно зареждане"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал за набиране при спешен случай"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Задаване на поведение при спешно обаждане"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервно копие"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Включено"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Изключено"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Резервни копия и възстановяване"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Лични данни"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Резервно копие на данните ми"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобилни данни и Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Авт. синхрон. на лични данни"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Авт. синхрон. на служебни данни"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Авт. синхр. на частните данни"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Промяна на цикъла…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Ден от месец за възстанов. на цикъла за използване на данни:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Приложенията не са ползвали данни в този период."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Име"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Адрес на сървъра"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифроване (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP тайна"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Идентификатор на IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Предварително споделен ключ за IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Потребителски сертификат за IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Сертификат от сертиф. орган за IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертификат за IPSec на сървъра"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Показване на разширените опции"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS домейни за търсене"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS сървъри (напр. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Маршрути за пренас. (напр. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Потребителско име"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Парола"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Запазване на информацията за профила"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(неизползвано)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(без потвърждаване на сървъра)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(получено от сървъра)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Не можете да поддържате постоянна връзка с виртуални частни мрежи (VPN) от този тип"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Винаги включените виртуални частни мрежи (VPN) поддържат само адреси на сървър, съставени от цифри"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Трябва да посочите DNS сървър за винаги включената виртуална частна мрежа (VPN)"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Адресите на DNS сървър за винаги включени виртуални частни мрежи (VPN) трябва да са съставени от цифри"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Въведената информация не се поддържа от винаги включените виртуални частни мрежи (VPN)"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Отказ"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Отхвърляне"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Блокиране на връзките без VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Да се изисква ли връзка с VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Няма защита. Актуализирайте до VPN от типа IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Неподдържаната VPN не бе стартирана."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Изберете потребителски профил за виртуална частна мрежа (VPN), за да останете винаги свързани с нея. Мрежовият трафик ще бъде разрешен само при връзка с тази VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Няма"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Винаги включената виртуална частна мрежа (VPN) изисква IP адрес както за сървъра, така и за DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Сигнали за изчезнали деца"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Получаване на бюлетини за отвличания на деца"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Повтаряне"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Активиране на мениджъра на обажданията"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Разрешаване на тази услуга да управлява как се извършват обажданията ви."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Мениджър на обажданията"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Безжични сигнали при спешни случаи"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Мрежови оператори"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Имена на точките за достъп"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Състояние на SIM картата"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Съст. на SIM картата (слот %1$d за SIM)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm, <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Променихте SIM картите."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM картите ви бяха променени"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Докоснете, за да настроите"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Извеждане на запитване всеки път"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Изборът е задължителен"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Скорошни и стандартни приложения"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Достъпът до известията не е налице за приложенията в служебния потребителски профил."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Пароли и профили"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Запазени пароли, автоматично попълване и синхронизирани профили"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Предложения за вход в профила и автоматично попълване"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Приложения по подразбиране"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Клонирани приложения"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Създайте втори екземпляр на дадено приложение, така че да можете да използвате едновременно два профила."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"портфейл"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"плащане, докосване, плащания"</string>
     <string name="keywords_backup" msgid="707735920706667685">"резервно копие, създаване на резервно копие"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"жест"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"лице, отключване, удостоверяване, вход"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"лице, отключване, удостоверяване, вход, отпечатък, биометрика"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl версия, версия на софтуера на imei"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"размер на текста, едър шрифт, голям шрифт, големи знаци, слабо зрение, уголемяване на знаците, инструмент за уголемяване на шрифта, уголемяване на шрифта"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"винаги включен фонов дисплей, дисплей, открояващ важни неща"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, маркер, четец"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"клавиатура, осезателна обратна връзка, вибриране,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Сила на звука, вибриране, „Не безпокойте“"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Сила на звука за мултимедия"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Сила на звука при предаване"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Звуци при включване"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Надписи на живо"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Мултимедия с автоматични надписи"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Високоговорители на телефона"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Високоговорители на таблета"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Високоговорители на устройството"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Слушалки с кабел"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Звукът от съвместимите източници става по-реалистичен"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Изкл."</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Показв. на цялото съдържание от известията"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Показв. на деликатно съдърж. само при откл. екран"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Да не се показват известията"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Как искате да се показват известията на заключения екран?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Какво да се показва на заключения ви екран?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заключен екран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Показване на цялото съдържание на служ. известия"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Скриване на поверителното служебно съдържание"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Скорошните разговори са премахнати"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Разговорът е премахнат"</string>
     <string name="clear" msgid="5092178335409471100">"Изчистване"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Изчистване на разговора с(ъс) <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Приоритетните и променените разговори ще се показват тук"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"След като означите даден разговор като приоритетен или направите други промени в разговорите, те ще се показват тук. \n\nЗа да промените настройките за разговорите: \nПлъзнете пръст надолу от горната част на екрана, за да отворите падащия панел, след което докоснете даден разговор и го задръжте."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Намаляване"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Изчакване за известията"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Прилагане на изчакване за всички известия"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Постепенно намаляване на силата на звука за известията при получаване на множество последователни известия от едно приложение"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Прилагане на изчакване за разговорите"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Постепенно намаляване на силата на звука за известията при получаване на множество съобщения в един чат за кратък период от време"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Да не се използва изчакване за известията"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Силата на звука за известията не се намалява, независимо от това колко последователни известия са получени от едно приложение"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Вибриране, когато е отключен"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Вибриране само когато екранът е отключен"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Прилагане към служебните потребителски профили"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Прилагане на личните настройки за изчакване за известията към служебния потребителски профил"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Помощни услуги за VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Никое инсталирано приложение не е заявило да се изпълнява като помощна услуга за VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Искате ли <xliff:g id="SERVICE">%1$s</xliff:g> да има достъп като услуга за VR?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Изкл."</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Фиксиране на приложения"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Функцията за фиксиране на приложения ви дава възможност да задържите текущото приложение на преден план, докато не го премахнете. С нейна помощ можете например да позволите на доверен приятел да играе конкретна игра."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Когато дадено приложение е фиксирано, то може да отваря други приложения. Възможно е също някои лични данни да са достъпни. \n\nЗа да използвате функцията за фиксиране на приложения: 	\n1. Включете я. 	\n2. Отворете екрана за общ преглед. 	\n3. Докоснете иконата на приложението в горната част на екрана, след което изберете „Фиксиране“."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Когато дадено приложение е фиксирано, то може да отваря други приложения. Възможно е също някои лични данни да са достъпни. \n\nАко искате по сигурен начин да споделите устройството си с друг човек, използвайте режима на гост. \n\nЗа да използвате функцията за фиксиране на приложения: 	\n1. Включете я. 	\n2. Отворете екрана за общ преглед. 	\n3. Докоснете иконата на приложението в горната част на екрана, след което изберете „Фиксиране“."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Когато дадено приложение е фиксирано, то може да отваря други приложения. Възможно е също някои лични данни да са достъпни. \n\nЗа да използвате функцията за фиксиране на приложения: 	\n{0,number,integer}. Включете я. 	\n{1,number,integer}. Отворете екрана за общ преглед. 	\n{2,number,integer}. Докоснете иконата на приложението в горната част на екрана, след което изберете „Фиксиране“."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Когато дадено приложение е фиксирано, то може да отваря други приложения. Възможно е също някои лични данни да са достъпни. \n\nАко искате по сигурен начин да споделите устройството си с друг човек, използвайте режима на гост. \n\nЗа да използвате функцията за фиксиране на приложения: 	\n{0,number,integer}. Включете я. 	\n{1,number,integer}. Отворете екрана за общ преглед. 	\n{2,number,integer}. Докоснете иконата на приложението в горната част на екрана, след което изберете „Фиксиране“."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Когато дадено приложение е фиксирано: \n\n•		някои лични данни може да бъдат достъпни \n		(като например контактите и съдържанието на имейлите); \n•		то може да отваря други приложения. \n\nИзползвайте функцията само с хора, на които имате доверие."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Запитване за фигура за отключване преди освобождаване"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ПИН код преди освобождаване"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запитване за парола преди освобождаване"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Заключване на устройството при освобождаване"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Потвърждаване на изтриването на SIM картата"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Потвърдете, че искате да изтриете електронната си SIM карта"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Потвърдете самоличността си, преди да изтриете електронна SIM карта"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Разшир. защита на паметта (бета)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Разширена защита на паметта"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Настройки за неизползваните приложения"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Поставяне на активн. в прилож. на пауза, ако не се ползва"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Премахване на разрешенията, изтриване на временните файлове и спиране на известията"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Управление на прилож., ако не се ползва"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Премахване на разрешенията, изтриване на временните файлове, спиране на известията и архивиране на приложението"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Всички приложения"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Инсталирани приложения"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Мигновени приложения"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Свободна памет"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Използвана от приложенията памет"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 приложение е използвало памет през последния период от {time}}other{# приложения са използвали памет през последния период от {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Вкл. на профилирането на използв. памет"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Профилирането на използваната памет изисква допълнителни системни ресурси."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Профилирането на паметта е деактивирано"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Честота"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Максимално използвана"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Не са използвани данни"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Показване върху други приложения"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Разрешаване на показв. върху други приложения"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Разрешаване на приложението да се показва върху другите използвани от вас приложения. То ще може да вижда къде докосвате екрана и да избира какво да се показва на него."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Промяна на мултимедийния изход"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Разреш. на прил. да променя мултимед. изход"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Разрешаване на това приложение да избира от кое свързано устройство да се възпроизвежда аудио или видео от други приложения. Ако има разрешение, приложението може да отваря списъка с налични изходни устройства, като например слушалки и високоговорители, и да избира кое от тях да се използва за поточно предаване или предаване на аудио/видео."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Достъп до всички файлове"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Разрешаване на достъп за управл. на всички файлове"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Разрешете на това приложение да чете, променя и изтрива всички файлове на устройството или обемите на свързаните хранилища. Ако то получи разрешението, може да осъществява достъп до файловете без изричното ви знание."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да осъществява достъп до всички файлове"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Приложения с гласово активиране"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Разрешаване на гласовото активиране"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Функцията за гласово активиране дава възможност да включвате одобрените приложения чрез гласова команда, без да използвате ръцете си. Вградената функция за адаптивно установяване гарантира, че данните ви няма да бъдат споделени с никого.\n\n"<a href="">"Още информация относно функцията за защитено адаптивно установяване"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Известия на цял екран"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Разрешаване на известията на цял екран от това приложение"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Разрешаване на това приложение да показва известия, които заемат целия екран, когато устройството е заключено. Приложенията могат да ги използват, за да открояват будилници, входящи обаждания или други спешни известия."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Предупреждение за данните: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Лимит за данните: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Предупреждение за данните: <xliff:g id="ID_1">^1</xliff:g>/ограничение за данните: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Отчетените от оператора данни може да се различават от показаните на устройството"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Изключва данните, които се използват от мрежите на операторите"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Използвали сте <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Задаване на предупр. за данните"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Актуализирано преди <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Актуализирано току-що от <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Актуализирано току-що"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Преглед на плана"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Преглед на подробностите"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Икономия на данни"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Неограничен достъп до данни"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Приложението <xliff:g id="APP_LABEL">%1$s</xliff:g> е използвало повече батерия от обичайното на заден план"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Приложението <xliff:g id="APP_LABEL">%1$s</xliff:g> е използвало повече батерия на преден план"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Приложението <xliff:g id="APP_LABEL">%1$s</xliff:g> е използвало повече батерия от обичайното на преден план"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Аномалия в използването на батерията"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Интензивно използване на батерията"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Интензивно използване на батерията на заден план"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Интензивно използване на батерията на преден план"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Плочки за бързи настройки за програмисти"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Деакт. на времето за изчакване за упълном. на adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Деактивиране на автоматичната отмяна на упълномощаванията на adb за системи, които не са установили повторна връзка в рамките на стандартния период (7 дни) или този, конфигуриран от потребителя (най-малко 1 ден)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Трасиране на Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Сензорите са изключени"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Настройки за служебния потребителски профил"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Търсене на контакти от служебния указател в личните приложения"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"навигиране в системата, навигиране с 2 бутона, навигиране с 3 бутона, навигиране с жестове, прекарване на пръст"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дигитален асистент"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Плъзгане на пръст за извикване на асистент"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Плъзнете пръст нагоре от долен ъгъл на екрана, за да извикате приложението за дигитален асистент."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Прекарайте пръст нагоре от долен ъгъл на екрана, за да извикате приложението за дигитален асистент"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Задръжте бутона „Начало“, за да извикате Асистент"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Натиснете и задръжте бутона „Начало“, за да извикате приложението за дигитален асистент."</string>
     <string name="low_label" msgid="6525629096999711220">"Ниска"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Услуга за автоматично попълване"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Основна услуга за автоматично попълване"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Пароли"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Пароли, ключове за достъп и услуги за данни"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Допълнителни доставчици"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Предпочитана услуга"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Допълнителни услуги"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# парола}other{# пароли}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"автоматично, попълване, автоматично попълване, парола"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"данни, код за достъп, парола"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"автоматично, попълване, автоматично попълване, данни, ключ за достъп, парола"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Промяна"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Отваряне"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Нищо не е избрано"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Уверете се, че имате доверие на това приложение&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Функцията на Google за автоматично попълване&gt;%1$s&lt;/xliff:g&gt; използва това, което е на екрана ви, за да определи какво може да се попълни автоматично."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Ще използвате &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; използва съдържанието на екрана ви, за да определи какво може да бъде попълнено автоматично. От сега нататък тук ще се запазват новите пароли, ключове за достъп и друга информация."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Пароли, ключове за достъп и услуги за данни"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Да се използва ли &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; От сега нататък тук ще се запазват новите пароли, ключове за достъп и друга информация. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може да използва съдържанието на екрана ви, за да определи какво може да бъде попълнено автоматично."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Предпочитана услуга за пароли, ключове за достъп и автоматично попълване"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Искате ли да изключите %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Искате ли да изключите тази услуга?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Запазената информация, като например пароли, ключове за достъп, начини на плащане и други данни, няма да се попълва автоматично, когато влизате в даден профил. За да използвате запазената си информация, изберете услуга за пароли, ключове за достъп или данни."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Пароли, ключове за достъп и авт. попълв."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Да се изключат ли всички услуги?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Паролите, ключовете за достъп и другите данни няма да са налице, когато влизате в профил"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Искате ли да зададете &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; като предпочитана услуга?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; От сега нататък тук ще се запазват новите пароли, ключове за достъп и други данни. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може да използва съдържанието на екрана ви, за да определи какво може да бъде попълнено автоматично"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Да се използва ли %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Изключване"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Промяна"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Можете да включите само 5 услуги"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"За да добавите друга услуга, изключете поне 1"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s използва съдържанието на екрана ви, за да определи какво може да бъде попълнено автоматично."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Ограничение за паролите, ключовете за достъп и услугите за данни"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Не можете да имате едновременно повече от 5 активни пароли, ключа за достъп и услуги за данни. Изключете една от услугите, за да добавите друга."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Ограничение за паролите, ключовете за достъп и услугите за данни"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Не можете да имате едновременно повече от 5 активни пароли, ключа за достъп и услуги за данни. Изключете една от услугите, за да добавите друга."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Изключване"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Автоматично попълване"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Ниво на регистриране"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Промени в съвместимостта на приложенията могат да се извършват само за приложения с възможност за отстраняване на грешки. Инсталирайте такова и опитайте отново."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Зависи от друга настройка"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Профил"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d профила"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Име на устройството"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Основна информация"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Правна и нормативна информация"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Разрешете на това приложение да се стартира при сканиране на маркер за NFC.\nАко предоставите това разрешение, приложението ще бъде налице като опция, когато сканирате маркер."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Възпроизв. на мултимедия на"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Пускане на <xliff:g id="LABEL">%s</xliff:g> на"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Аудиото ще продължи да се възпроизвежда"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Това устройство"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Заето по време на обаждания"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Устройство за приемане на обаждането"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Спиране на звука"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"За да активирате, първо променете „Натиснете и задръжте бутона за захранване“ към менюто за включване/изключване."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Подробности за мрежата"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Името на устройството ви е видимо за приложенията на телефона ви. То може да се вижда и от други хора, когато се свържете с устройства с Bluetooth или настроите точка за достъп до Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Устройства"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Избиране на мрежа"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Връзката е прекратена"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Име"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Цвят (ползван от съвместими приложения)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Запазване"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Използване на SIM карта"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Използване на тази SIM карта"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Изключено"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"За да деактивирате тази SIM карта, трябва да я премахнете"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Докоснете, за да активирате <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Изтриване на SIM картата"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"За да деактивирате тази SIM карта, трябва да я извадите"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Докоснете, за да активирате SIM картата от <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Изтриване на данните за електронната SIM карта"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Предпочитан тип мрежа"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Промяна на операционния режим на мрежата"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Предпочитан тип мрежа"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"За цени се обърнете към оператора си."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Пренос на данни от приложенията"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Невалиден мрежов режим <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Пренебрегване."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Сателитни съобщения"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Изпращайте и получавайте текстови съобщения чрез сателит. Услугата е включена с профила ви."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Изпращайте и получавайте текстови съобщения чрез сателит. Услугата не е включена с профила ви."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Сателитни съобщения"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Информация за сателитните съобщения"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Можете да изпращате и получавате текстови съобщения чрез сателит, ако имате отговарящ на условията профил от <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Вашият план от <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Услугата за сателитни съобщения е включена с профила ви"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Услугата за сателитни съобщения не е включена с профила ви"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Добавяне на услугата за сателитни съобщения"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Начин на работа"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Когато нямате достъп до мобилна мрежа"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Телефонът ви ще се свърже автоматично със сателит. За оптимална връзка трябва да сте на място с ясен изглед към небето."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"След като телефонът ви се свърже със сателит"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Можете да изпращате текстови съобщения на когото пожелаете, включително на службите за спешни случаи. Телефонът ви ще се свърже отново с мобилна мрежа, когато е възможно."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Доставянето на сателитни съобщения може да отнеме по-дълго време. Услугата се предлага само в някои райони и сателитната връзка може да бъде повлияна от времето и определени структури. Не се поддържат обаждания чрез сателит.\n\nМоже да измине известно време, докато промените в профила ви се покажат в настройките. За подробности се обърнете към <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Още за сателитните съобщения"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Имена на точки за достъп"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"име на точката за достъп"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Не е налице, когато е установена връзка с(ъс) <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Да се превключи ли към <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Искате ли да превключите към използването на SIM карта?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Да се използва ли <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Само една SIM карта може да бъде активна в даден момент.\n\nПревключването към <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> няма да анулира услугата на <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"В даден момент може да бъде активна само една електронна SIM карта.\n\nПревключването към <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> няма да анулира услугата на <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Само една SIM карта може да бъде активна в даден момент.\n\nПревключването няма да анулира услугата на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"В даден момент може да бъде включена само една SIM карта.\n\nПревключването към <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> няма да анулира услугата от <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"В даден момент може да бъде включена само една електронна SIM карта.\n\nПревключването към <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> няма да анулира услугата от <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"В даден момент може да бъде включена само една SIM карта.\n\nПревключването няма да анулира услугата от <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"В даден момент можете да използвате 1 SIM карта. За да използвате <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, изключете другата SIM карта."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Превключване към <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Изключване на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Изключването на дадена SIM карта няма да анулира услугата ви"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Установява се връзка с мрежата…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Превключва се към <xliff:g id="CARRIER_NAME">%1$s</xliff:g> за обажданията и SMS съобщенията…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Не може да се превключи към друг оператор"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Не може да се превключи към друг оператор поради грешка."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM картата ви се активира…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Превключва се към <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Не може да се превключи между SIM картите"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Нещо се обърка. Не може да се превключи между SIM картите."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Да се изключи ли <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Да се изключи ли SIM картата?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM картата се изключва<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Операторът не може да бъде деактивиран"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Нещо се обърка и операторът ви не бе деактивиран."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM картата не може да се деактивира"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Нещо се обърка и SIM картата ви не бе деактивирана."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Искате ли да използвате 2 SIM карти?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"На това устройство може да има 2 активни SIM карти едновременно. За да продължите да използвате само една, докоснете „Не, благодаря“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Да се рестартира ли устройството?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, благодаря"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Отказ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Превключване"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Изключване"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM картата не може да се активира"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Включете отново SIM картата. Ако проблемът не се отстрани, рестартирайте устройството си."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Настройване на SIM картата ви"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Задайте предпочитанията си за мобилната мрежа, за да използвате няколко SIM карти на това устройство"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Обозначаване на SIM картите ви"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Ще виждате тези етикети, когато извършвате обаждания, изпращате текстови съобщения и използвате данни, както и в настройките"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Етикет на SIM картата"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Етикет"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Изберете SIM карти за ползване"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Можете да използвате 2 SIM карти едновременно"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Задаване на основни SIM карти"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Изберете кои SIM карти да се използват по подразбиране за обаждания, текстови съобщения и данни"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Основните ви SIM карти"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Обаждания"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Текстови съобщения"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Авт. превключване на данните"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Използване на данни от която и да е от двете SIM карти в зависимост от покритието и наличността"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Само за данни"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Настройване"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Напред"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> се включва…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобилна мрежа"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Телефонен номер"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Етикет и цвят на SIM картата"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активиране на мрежа"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Превключване на оператора"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Услугата <xliff:g id="CARRIER_NAME">%1$s</xliff:g> е активна"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM картата от <xliff:g id="CARRIER_NAME">%1$s</xliff:g> е активирана"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Докоснете, за да актуализирате настройките за SIM картата"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Превключихте към <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Превключихте към друг оператор"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мобилната ви мрежа е променена"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Настройване на другата ви SIM карта"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Изберете активната си SIM карта или използвайте 2 SIM карти едновременно"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Изберете номер, който да използвате"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 номер е наличен на това устройство, но в даден момент може да бъде използван само един номер}=2{2 номера са налични на това устройство, но в даден момент може да бъде използван само един от тях}other{# номера са налични на това устройство, но в даден момент може да бъде използван само един от тях}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Активира се<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Не можа да се активира в момента"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Изберете SIM карта, която да използвате"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM карта е налична на това устройство, но в даден момент може да бъде използвана само една SIM карта}=2{2 SIM карти са налични на това устройство, но в даден момент може да бъде използвана само една от тях}other{# SIM карти са налични на това устройство, но в даден момент може да бъде използвана само една от тях}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Включва се<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"SIM картата не бе включена в момента"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Да се използва ли <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ще се използва за мобилни данни, обаждания и SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Няма активни SIM карти"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"За да използвате мобилни данни, функции за обаждания и SMS по-късно, отворете настройките за мрежата"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM карта"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Да се изтрие ли тази електронна SIM карта?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"С изтриването на тази SIM карта услугата на <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> се премахва от устройството.\n\nУслугата за <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> няма да бъде анулирана."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Услугата от <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ще бъде премахната от това устройство, но планът ви от <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> няма да бъде анулиран."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Изтриване"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM картата се изтрива…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM картата не може да се изтрие"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Тази SIM карта не може да бъде изтрита поради грешка.\n\nРестартирайте устройството си и опитайте отново."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Електронната SIM карта се изтрива…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Електронната SIM карта не бе изтрита"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Нещо се обърка и тази електронна SIM карта не бе изтрита.\n\nРестартирайте устройството си и опитайте отново."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Свързване с устройство"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Приложението <xliff:g id="APPNAME">%1$s</xliff:g> иска да използва временна Wi-Fi мрежа, за да се свърже с устройството ви"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Няма намерени устройства. Уверете се, че устройствата са включени и налице за свързване."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Спешни обаждания"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Операторът ви не поддържа спешни обаждания през Wi-Fi.\nУстройството автоматично превключва към мобилна мрежа, за да извърши спешно обаждане.\nИзвършването на спешни обаждания е възможно само в райони с мобилно покритие."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Използване на Wi-Fi за обажданията с цел подобряване на качеството"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Обаждания през друга SIM карта"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ако <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> не е налице или е в роуминг, използвайте SIM картата си с мобилни данни за обаждания от <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"обаждания през друга SIM карта"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Входящо MMS съобщение"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Не могат да бъдат изпращани MMS съобщения"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Докоснете, за да разрешите MMS съобщенията за <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>, когато мобилните данни са изключени"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Информация за служебните правила"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Настройки, управлявани от системния администратор"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"ГП"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Стартиране със стр. с размер 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Стартиране на у-вото с ядро за стр. с размер 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Да се рестартира ли с ядро, съвместимо със страници с размер 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ПРЕДУПРЕЖДЕНИЕ: Някои приложения може да не са съвместими с този режим. Устройството ще се рестартира, след като потвърдите."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Да се рестартира ли с ядро, съвместимо със страници с размер 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Устройството ще се рестартира, след като потвърдите."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ядрото не бе актуализирано до такова, съвместимо със страници с размер 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Промяната се прилага"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Манипулатор за сигналите за програмни грешки"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Определя кое приложение да обработва прекия път за сигнали за програмни грешки на устройството ви."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Лично"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Разрешаване на приложенията, които могат да се показват върху други приложения, да се наслагват върху екрана на „Настройки“"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Разрешаване на услугата за мним модем"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Разрешаване на това устройство да изпълнява услугата за мним модем с цел инструментално тестване. Тази услуга да не се активира при обичайно използване на телефона"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Деактивиране на защитата при споделяне на екрана"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Деактивира приложената от системата защита за приложенията и известията при споделяне на екрана"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Мултимедия"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Фиксиране на медийния плейър"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"С цел бързо възобновяване на възпроизвеждането медийният плейър остава отворен в бързите настройки"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Показване на медийния плейър на заключения екран"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"С цел бързо възобновяване на възпроизвеждането медийният плейър остава отворен на заключения екран"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Показване на препоръки за мултимедия"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Показване на препоръките на Асистент за мултимедия"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Въз основа на активността ви"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Скриване на плейъра"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Показване на плейъра"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"мултимедия"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Разрешаване на разширенията за софтуера на камерата"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Дава възможност за внедряването на основния софтуер за разширените функции на камерата, като например невизуално видеозаснемане."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Ще се включи Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM карти"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM карта"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"Електронна SIM карта"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Електронни SIM карти"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Активна"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Неактивна"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Вкл."</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Изкл."</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /основна за <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"обаждания"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Звукът от съвместимите източници става по-реалистичен"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Проследяване на движенията на главата"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Звукът се променя, докато движите главата си, с цел да бъде по-естествен"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синхронизиране на разрешенията"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> получава същите разрешения за приложенията, които сте предоставили на <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Синхронизиране на разрешенията от телефона"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Часовникът ви получава същите разрешения за приложенията, които сте предоставили на този телефон"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Тип аудиоустройство"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Неизвестно"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Високоговорител"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Среден"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Висок"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Това приложение може да се отвори само в 1 прозорец"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Вкл."</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Изкл."</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Изкл."</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Изкл."</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Вкл."</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Изкл."</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Вкл."</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Изкл."</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Прави светлите екрани тъмни, а тъмните – светли"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Приближаване на екрана"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Изкл."</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Изкл."</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Сканиране за подвеждащи приложения"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверка на активността в приложенията за фишинг"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Използване на сканирането за подвеждащи приложения"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Използване на сканирането за подвеждащи приложения за служебния потребителски профил"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Паролата е зададена"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Показване на курсора при задържане на мишката върху елементи"</string>
 </resources>
diff --git a/res/values-bn/arrays.xml b/res/values-bn/arrays.xml
index d977a18..5e50ea8 100644
--- a/res/values-bn/arrays.xml
+++ b/res/values-bn/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"উপলব্ধ"</item>
     <item msgid="6096962300722555553">"পরিষেবার বাইরে"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"বন্ধ করা আছে"</item>
+    <item msgid="7781484297606806796">"ইউনিকাস্ট"</item>
+    <item msgid="6667451574264144311">"ইউনিকাস্ট ও ব্রডকাস্ট"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"সিস্টেম ডিফল্ট ব্যবহার করুন: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"১"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"১ মিনিট পর"</item>
     <item msgid="1574040255478150028">"৫ মিনিট পর"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-bn/strings.xml b/res/values-bn/strings.xml
index bda86db..7db70b3 100644
--- a/res/values-bn/strings.xml
+++ b/res/values-bn/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"আপনি এখন একজন ডেভেলপার!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"কোনও প্রয়োজন নেই, আপনি ইতিমধ্যেই একজন ডেভেলপার।"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"প্রথমে ডেভেলপারের বিকল্পগুলি সক্রিয় করুন।"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"শুধু অ্যাডমিন ব্যবহারকারীরা ডেভেলপার সেটিংস অ্যাক্সেস করতে পারবেন।"</string>
     <string name="header_category_system" msgid="1665516346845259058">"সিস্টেম"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"পরিষেবায়"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"পরিষেবার বাইরে"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"আপনি ডিভাইস ফোল্ড করলে ফ্রন্ট ডিসপ্লে চালু হয়ে যায়"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"শুধুমাত্র গেম, ভিডিও ও আরও অনেক কিছু"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"যেসব অ্যাপ আপনার স্ক্রিন নিষ্ক্রিয় করে দেয় সেগুলির জন্য ফ্রন্ট ডিসপ্লে চালু হয়ে যায়"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"চালিয়ে যেতে, উপরের দিকে সোয়াইপ করুন"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"অ্যাপটি ব্যবহার করা চালিয়ে যেতে আপনার ফোন ফোল্ড করুন এবং ফ্রন্ট ডিসপ্লেতে উপরের দিকে সোয়াইপ করুন বা স্ক্রিন লক না হওয়া পর্যন্ত কয়েক সেকেন্ড অপেক্ষা করুন"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"কখনওই নয়"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"আপনার ডিভাইস ফোল্ড করলে ফ্রন্ট ডিসপ্লে লক হয়ে যায়"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"\'অটো রোটেট\' সেটিং ব্যবহার করুন"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"সম্পর্কিত"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"রিংটোন ও অ্যালার্ম"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"কল করার সময় ব্যবহৃত অডিও ডিভাইস"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"মিডিয়া"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"বিজ্ঞপ্তি ও সিস্টেমের অন্য শব্দ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"মিডিয়া এবং সিস্টেম সাউন্ড"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"বিজ্ঞপ্তি"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ডিফল্ট হিসেবে, অডিও আউটপুট কেমন হবে প্রতিটি অ্যাপ তা নির্ধারণ করে"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"নামবিহীন ব্লুটুথ ডিভাইস"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"সার্চ করা হচ্ছে"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"বাতিল করুন"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ব্লুটুথ LE অডিও বন্ধ করুন"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ডিভাইসে LE অডিও হার্ডওয়্যার কাজ করলে, ব্লুটুথ LE অডিও ফিচার বন্ধ করে।"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ব্লুটুথ LE অডিও মোড"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ডিভাইসের বিবরণে LE অডিও টগল দেখুন"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ব্লুটুথ LE অডিও অনুমোদন করার তালিকা চালু করুন"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ব্লুটুথ LE অডিও অনুমোদন করার তালিকা সংক্রান্ত ফিচার চালু করুন।"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ব্লুটুথ LE অডিও-এর সাদাতালিকা বাইপাস করুন"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE অডিও-এর সাদাতালিকার শর্ত পূর্ণ করতে LE অডিও-এর পেরিফেরাল যাাচাই করা না হলেও ডিফল্ট হিসেবে LE অডিও ব্যবহার করুন।"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"মিডিয়া ডিভাইস"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"কল করার ডিভাইস"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"অন্যান্য ডিভাইস"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"সেভ করে রাখা ডিভাইস"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"অ্যাকাউন্টের সাথে যুক্ত করা হয়েছে"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"অ্যাকাউন্টের সাথে আগে ব্যবহার করা হয়েছে"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"পেয়ার করার জন্য ব্লুটুথ চালু হবে"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"কানেকশন অভিরুচি"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"আগে কানেক্ট করা"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ব্লুটুথ চালু হয়েছে"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"সবগুলি দেখুন"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"সবকটি দেখুন"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"স্টাইলাস"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"টেল বোতাম প্রেস করুন"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (অফিস প্রোফাইল)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"টেক্সট ফিল্ডে লিখুন"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"স্টাইলাসের মাধ্যমে প্রেস করা হয়েছে এমন বোতাম এড়িয়ে যান"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"স্টাইলাস"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"অডিও শেয়ার করা"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"অডিও শেয়ার করুন"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"কল ও অ্যালার্ম"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR কোড ব্যবহার করে কোনও একটি অডিও স্ট্রিমে কানেক্ট করুন"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"আশেপাশে কোনও অডিও স্ট্রিম পাওয়া যায়নি।"</string>
     <string name="date_and_time" msgid="1788358029823431692">"দিন ও তারিখ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"প্রক্সী"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"সাফ করুন"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"আপনার পছন্দের ভাষায় %s যোগ করবেন?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"এতে অ্যাপ ও ওয়েবসাইট জানতে পারবে যে আপনিও এই ভাষা ব্যবহার করতে চান।"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"আপনার ডিভাইসের সেটিংস ও আঞ্চলিক অভিরুচি বদলে যাবে।"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"পরিবর্তন করুন"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ভাষা উপলভ্য নেই"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"শনিবার"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"কোনও অ্যাপে আঞ্চলিক অভিরুচি অনুযায়ী ভাষা ব্যবহার করা না গেলে, সেটি ডিফল্ট লোকেল সেটিংস ব্যবহার করবে।"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"পছন্দের ভাষার ব্যাপারে আরও জানুন।"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"অতিরিক্ত পছন্দ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"সম্বোধনের নিয়মাবলী"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"আপনাকে কীভাবে সম্বোধন করা হবে তা সেট করুন"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"অন্যরা কীভাবে আপনাকে সম্বোধন করবেন তা পছন্দমতো করার জন্য অ্যাপ, \'সম্বোধনের নিয়মাবলী\' ব্যবহার করতে পারবে।"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"নির্দিষ্ট করে উল্লেখ করা নেই"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"মহাশয়া"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"মহাশয়"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"নিরপেক্ষ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{বেছে নেওয়া ভাষা মুছে দিতে চান?}one{বেছে নেওয়া ভাষা মুছে দিতে চান?}other{বেছে নেওয়া ভাষা মুছে দিতে চান?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"পাঠ্য অন্য ভাষায় প্রদর্শিত হবে৷"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"সমস্ত ভাষা সরানো যাবে না"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"লোকেশন"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"লোকেশন ব্যবহার করুন"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"বন্ধ আছে"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{চালু আছে - #টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে}one{চালু আছে - #টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে}other{চালু আছে - #টি অ্যাপ লোকেশন অ্যাক্সেস করতে পারবে}}"</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_location_off" msgid="8568995909147566720">"অ্যাপ ও পরিষেবার লোকেশন অ্যাক্সেস বন্ধ রয়েছে। জরুরি নম্বরে কল অথবা টেক্সট করলে সাহায্যকারীর কাছে আপনার ডিভাইসের লোকেশন এখনও পাঠানো হতে পারে।"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"\'লোকেশন সেটিংস\' সম্পর্কে আরও জানুন।"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"\'লোকেশন সেটিংস\' সম্পর্কে আরও জানুন"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"লোকেশন অ্যাক্সেস পরিবর্তন করতে, সেটিংস &gt; সুরক্ষা ও গোপনীয়তা &gt; গোপনীয়তার নিয়ন্ত্রণে যান"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"অ্যাকাউন্টগুলি"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"নিরাপত্তা"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"এনক্রিপশন ও ক্রেডেনশিয়াল"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"সবচেয়ে ভাল ফলাফল পেতে, Google-এর জন্য তৈরি হিসেবে সার্টিফিকেট প্রাপ্ত একটি স্ক্রিন প্রোটেকটর ব্যবহার করুন। অন্য কোনও স্ক্রিন প্রোটেকটর ব্যবহার করলে, আপনার সন্তানের আঙ্গুলের ছাপ কাজ নাও করতে পারে।"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ঘড়ি আনলক করা"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"\'ফেস আনলক\' ও \'ফিঙ্গারপ্রিন্ট আনলক\' ফিচার সেট-আপ করলে, আপনি মাস্ক পরে বা অন্ধকার জায়গায় থাকলে পরিচয় যাচাই করার জন্য ফোন আপনার ফিঙ্গারপ্রিন্ট চাইবে।\n\nআপনার ফেস বা ফিঙ্গারপ্রিন্ট চেনা না গেলে আপনি ওয়াচের মাধ্যমে আনলক করতে পারবেন।"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"আপনার ফিঙ্গারপ্রিন্ট চেনা না গেলে ওয়াচের মাধ্যমে আনলক করতে পারবেন।"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"আপনার ফেস চেনা না গেলে ওয়াচের মাধ্যমে আনলক করতে পারবেন।"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"আপনি \'ফেস আনলক\' ও \'ফিঙ্গারপ্রিন্ট আনলক\' ফিচার, সেট-আপ করার সময় মাস্ক পরলে বা অন্ধকার জায়গায় থাকলে আপনার ফোন ফিঙ্গারপ্রিন্ট চাইবে।\n\nআপনার ফোন আনলক করার আরেকটি সুবিধাজনক উপায় হল \'ঘড়ি আনলক করা\' ফিচার, যেমন, যখন আপনার আঙুল ভিজে থাকে বা মুখ শনাক্ত করা যায় না।"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"আপনার ফোন আনলক করার আরেকটি সুবিধাজনক উপায় হল \'ঘড়ি আনলক করা\' ফিচার, যেমন, যখন আপনার ফিঙ্গারপ্রিন্ট শনাক্ত করা যায় না।"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"আপনার ফোন আনলক করার আরেকটি সুবিধাজনক উপায় হল \'ঘড়ি আনলক করা\' ফিচার, যেমন, যখন আপনার মুখ শনাক্ত করা যায় না।"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"এগুলি করতে ফিঙ্গারপ্রিন্ট বা ওয়াচ ব্যবহার করুন"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"এগুলি করতে ফেস বা ওয়াচ ব্যবহার করুন"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"এগুলি করতে ফেস, ফিঙ্গারপ্রিন্ট বা ওয়াচ ব্যবহার করুন"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"\'ঘড়ি আনলক করা\' ফিচার এই ফোন আনলক করার আরেকটি সুবিধাজনক উপায়, যেমন আপনার আঙুল ভিজে থাকলে বা মুখ শনাক্ত না করা গেলে।\n\nআপনি এই ফোন আনলক করতে নিজের ঘড়ি ব্যবহার করতে পারবেন যখন:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"এখন নয়"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"চালিয়ে যান"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"আরও দেখুন"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"এটি কীভাবে কাজ করে"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"আপনার ঘড়ি অবশ্যই আনলক করা, হাতের কব্জিতে থাকতে হবে ও এই ফোনের কাছাকাছি রাখতে হবে। কব্জিতে থাকাকালীন আপনাকে ঘড়ি আবার আনলক করতে হবে না।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"এই ফোন আনলক করা হলে, আপনার ঘড়িতে বিজ্ঞপ্তি পাবেন। আপনি না চাইলেও এটি আনলক হয়ে গেলে, ফোন আবার লক করতে বিজ্ঞপ্তির উপরে ট্যাপ করুন।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"আপনি নিয়ন্ত্রণ করছেন"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"সেটিংসে গিয়ে আপনি যেকোনও সময় \'ঘড়ি আনলক করা\' ফিচার থেকে ঘড়ি সরিয়ে দিতে পারবেন"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"বিজ্ঞপ্তির উপর ট্যাপ করুন"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"লক স্ক্রিনে উপরের দিকে সোয়াইপ করুন"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"আপনার ঘড়ি বেছে নিন"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"উপলভ্য ঘড়ি"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"বাতিল করুন"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"কনফার্ম করুন"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"আপনি একদম রেডি!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"আপনি লক স্ক্রিনে উপরের দিকে সোয়াইপ করলে বা কোনও বিজ্ঞপ্তির উপর ট্যাপ করলে, এই ফোন আনলক করতে এখন নিজের ঘড়ি ব্যবহার করতে পারবেন"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"হয়ে গেছে"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ঘড়ি আনলক করুন"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"আপনি লক স্ক্রিনে উপরের দিকে সোয়াইপ করলে বা কোনও বিজ্ঞপ্তির উপর ট্যাপ করলে, এই ফোন আনলক করতে নিজের ঘড়ি ব্যবহার করতে পারবেন"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"\'ঘড়ি আনলক করুন\' ফিচার ব্যবহার করতে, আপনার ঘড়ি অবশ্যই আনলক করা অবস্থায়, কব্জিতে, কাছাকাছি এবং এই ফোনের সাথে কানেক্ট থাকতে হবে। কানেকশনে কোনও বিঘ্ন ঘটলে, \'ঘড়ি আনলক করুন\' ফিচার ব্যবহার করার আগে আপনাকে ফোন আনলক করতে হবে।\n\nমনে রাখবেন:\nএকবারে আপনি শুধুমাত্র একটি ঘড়ি সেট-আপ করতে পারবেন। অন্য কোনও ঘড়ি যোগ করতে, প্রথমে বর্তমান ঘড়িটি সরান।"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"অফিস প্রোফালের জন্য \'ফেস ও ফিঙ্গারপ্রিন্ট আনলক\' ফিচার"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"সেট-আপ করতে হবে"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"নিরাপত্তা"</string>
     <string name="privacy_header" msgid="5526002421324257007">"গোপনীয়তা"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"অফিস প্রোফাইল"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"প্রাইভেট স্পেস"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ব্যক্তিগত অ্যাপ লক করে লুকিয়ে রাখুন"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"আপনি লুকাতে বা লক করতে পারবেন এমন কোনও আলাদা স্পেসে ব্যক্তিগত অ্যাপ রাখুন"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"প্রাইভেট স্পেস লক"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"যেভাবে আপনার ডিভাইস আনলক করেন সেইভাবেই আপনার প্রাইভেট স্পেস আনলক করতে অথবা অন্য কোনও লক বেছে নিতে পারবেন"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ডিভাইসের স্ক্রিন লক ব্যবহার করুন"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ফেস ও ফিঙ্গারপ্রিন্ট আনলক"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ফিঙ্গারপ্রিন্ট আনলক"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ফেস আনলক"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"সেট-আপ করতে ট্যাপ করুন"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"প্রাইভেট স্পেসের জন্য \'ফিঙ্গারপ্রিন্ট আনলক\'"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"প্রাইভেট স্পেসের জন্য \'ফেস আনলক\'"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"আনলক করার বিভিন্ন উপায়"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ডিভাইসের স্ক্রিন লকের মত একরকমের"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"প্রাইভেট স্পেসের জন্য নতুন লক বেছে নেবেন?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"প্রাইভেট স্পেস অটোমেটিক লক করুন"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"আপনি বেশ কিছুক্ষণ নিজের ডিভাইস ব্যবহার না করলে আপনার প্রাইভেট স্পেস অটোমেটিক লক করতে পারেন"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"প্রতিবার ডিভাইস লক হলে"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"৫ মিনিট অ্যাক্টিভ না থাকলে"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"কখনই নয়"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"লক থাকাকালীন লুকান"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"লক থাকাকালীন প্রাইভেট স্পেস লুকিয়ে রাখুন"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"আপনার ডিভাইসে যে প্রাইভেট স্পেস আছে সে কথা অন্য লোকজনকে জানানো বন্ধ করতে, এটি আপনার অ্যাপ তালিকা থেকে লুকাতে পারবেন"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"লুকানো থাকাকালীন প্রাইভেট স্পেস অ্যাক্সেস করুন"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"আপনার অ্যাপ তালিকা থেকে সার্চ বারে \"প্রাইভেট স্পেস\" লিখুন"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"প্রাইভেট স্পেসের টাইলে ট্যাপ করুন"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"আপনার প্রাইভেট স্পেস আনলক করুন"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"বন্ধ আছে"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"চালু আছে"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"সিস্টেম"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"প্রাইভেট স্পেস মুছুন"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"প্রাইভেট স্পেস মুছবেন?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"আপনার ডিভাইস থেকে প্রাইভেট স্পেস সরিয়ে ফেলা হবে। সব অ্যাপ ও ডেটা মুছে ফেলা হবে। এটি আগের অবস্থায় আর ফেরানো যাবে না।"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"আপনার প্রাইভেট স্পেস থেকে এইসব অ্যাকাউন্ট মুছে ফেলা হবে:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"মুছে দিন"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"প্রাইভেট স্পেস মুছে ফেলা হচ্ছে…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"এটির জন্য কিছুক্ষণ সময় লাগতে পারে"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"প্রাইভেট স্পেস মোছা হয়েছে"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"প্রাইভেট স্পেস মোছা যায়নি"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"প্রাইভেট স্পেস আনলক করা আছে"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"\'স্ক্রিন লক\' সেট করুন"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"নিজের প্রাইভেট স্পেস ব্যবহার করতে, এই ডিভাইসে \'স্ক্রিন লক\' সেট করুন"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"\'স্ক্রিন লক\' সেট করুন"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"বাতিল করুন"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"বাতিল করুন"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"সেট-আপ করুন"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"প্রাইভেট স্পেস সেট-আপ করুন"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"প্রাইভেট অ্যাপ কোনও আলাদা স্পেসে রাখুন যেটি আপনি লুকাতে বা লক করতে পারবেন"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"এটি কীভাবে কাজ করে"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"আপনার অ্যাপ তালিকার নিচ থেকে নিজের প্রাইভেট স্পেস অ্যাক্সেস করতে পারবেন"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"আপনার প্রাইভেট স্পেসে অ্যাপ, লকের মাধ্যমে সুরক্ষিত থাকে"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"আপনার প্রাইভেট স্পেস লক থাকলে, সেখানে থাকা অ্যাপ থেকে পাওয়া বিজ্ঞপ্তি লুকানো থাকে"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"আপনার প্রাইভেট স্পেস লক থাকাকালীন, সেখানে থাকা অ্যাপ পার্মিশন ম্যানেজার, প্রাইভেসি ড্যাশবোর্ড এবং অন্যান্য সেটিংসে দেখা যাবে না।\n\nনতুন ডিভাইসে আপনার প্রাইভেট স্পেস সরানো যাবে না। আপনি অন্য ডিভাইসে প্রাইভেট স্পেস ব্যবহার করতে চাইলে আরেকটি সেট-আপ করতে হবে।\n\nকোনও কম্পিউটারের সাথে আপনার ডিভাইস কানেক্ট করতে পারেন বা আপনার ডিভাইসে ক্ষতিকর অ্যাপ ইনস্টল করতে পারেন এমন যেকেউ হয়ত প্রাইভেট স্পেস ব্যবহার করতে পারেন।"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"প্রাইভেট স্পেস সেট-আপ করা হচ্ছে…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"এটি লক করা থাকলে প্রাইভেট স্পেস অ্যাপ থেকে বিজ্ঞপ্তি লুকানো থাকে"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ফটো অথবা ফাইল শেয়ার করার জন্য প্রাইভেট স্পেস আনলক করুন"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"কিছু অ্যাপ আগেই আপনার প্রাইভেট স্পেসে ইনস্টল করা আছে"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"কোনও প্রাইভেট স্পেস সেট-আপ করা যায়নি"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"আবার চেষ্টা করুন"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"প্রাইভেট স্পেস আনলক করতে স্ক্রিন লক ব্যবহার করবেন?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"যেভাবে আপনার ডিভাইস আনলক করেন, একইভাবে নিজের প্রাইভেট স্পেস আনলক করতে বা অন্য কোনও লক বেছে নিতে পারেন"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"স্ক্রিন লক ব্যবহার করুন"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"নতুন লক বেছে নিন"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"সব রেডি!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"আপনার প্রাইভেট স্পেস খুঁজে দেখতে অ্যাপ তালিকায় যান, তারপর নিচের দিকে স্ক্রল করুন"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"হয়ে গেছে"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"প্রাইভেট স্পেস খুঁজতে নিচের দিকে স্ক্রল করুন"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"সাইন-ইন করুন"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"আপনার প্রাইভেট স্পেসের সাথে ব্যবহার করতে অ্যাকাউন্টে সাইন-ইন করুন"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"এখন নয়"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"চালিয়ে যান"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"আপনার প্রাইভেট স্পেসের জন্য লক বেছে নিন"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"আপনি নিজের ফিঙ্গারপ্রিন্ট ব্যবহার করে প্রাইভেট স্পেস আনলক করতে পারবেন। সুরক্ষার জন্য, এই বিকল্পের একটি ব্যাক-আপ লকের প্রয়োজন।"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"আপনার প্রাইভেট স্পেসের জন্য পিন সেট করুন"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"আপনার প্রাইভেট স্পেসের জন্য পাসওয়ার্ড সেট করুন"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"আপনার প্রাইভেট স্পেসের জন্য প্যাটার্ন সেট করুন"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"আপনি সর্বাধিক <xliff:g id="COUNT">%d</xliff:g>টি ফিঙ্গারপ্রিন্ট যোগ করতে পারবেন"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"আপনি অনুমোদিত সর্বোচ্চ সংখ্যক আঙ্গুলের ছাপ যোগ করেছেন"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"এর বেশি আঙ্গুলের ছাপ যোগ করা যাবে না"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"প্যাটার্ন"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"পিন"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"পাসওয়ার্ড"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"স্ক্রিন লক মুছবেন?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ডিভাইস আনলক করার সব সুবিধা সরিয়ে দিতে চান?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"প্রোফাইলের সুরক্ষা সরাবেন?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, প্যাটার্ন সেটি সুরক্ষিত রাখে।<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g> এটি আপনার ডিভাইসে স্টোর করা ফিঙ্গারপ্রিন্ট মডেল মুছে ফেলে। আপনার ফেস মডেলও স্থায়ীভাবে এবং নিরাপদে মুছে ফেলা হবে। অ্যাপে যাচাইকরণ করার জন্য আপনার ফেস বা আঙ্গুলের ছাপ ব্যবহার করতে পারবেন না।"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"আপনি পিনের মতো নিজের সেভ করা ডেটাতে অ্যাক্সেস হারিয়ে ফেলবেন।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>কন্ট্যাক্টলেস পেমেন্টের জন্য সেট আপ করা কার্ড সরিয়ে দেওয়া হবে।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ওয়ালেট এবং অন্যান্য অ্যাপ যা ব্যবহার করতে ডিভাইস আনলক করতে হয়, তা সঠিকভাবে কাজ নাও করতে পারে।"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।<xliff:g id="EMPTY_LINE">
 
 </xliff:g> এটি আপনার ডিভাইসে স্টোর করা ফিঙ্গারপ্রিন্ট মডেলও মুছে ফেলে। অ্যাপে যাচাইকরণ করার জন্য আপনার আঙ্গুলের ছাপ ব্যবহার করতে পারবেন না।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"আপনি পিন ও ফিঙ্গারপ্রিন্ট মডেলের মতো নিজের সেভ করা ডেটাতে অ্যাক্সেস হারিয়ে ফেলবেন।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>কন্ট্যাক্টলেস পেমেন্টের জন্য সেট আপ করা কার্ড সরিয়ে দেওয়া হবে।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ওয়ালেট এবং অন্যান্য অ্যাপ যা ব্যবহার করতে ডিভাইস আনলক করতে হয়, তা সঠিকভাবে কাজ নাও করতে পারে।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>আপনার ফেস মডেলও স্থায়ীভাবে এবং নিরাপদে মুছে ফেলা হবে। ফেস ব্যবহার করে আপনি অ্যাপে যাচাইকরণ করতে পারবেন না।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"আপনি পিন ও ফেস মডেলের মতো নিজের সেভ করা ডেটাতে অ্যাক্সেস হারিয়ে ফেলবেন।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>কন্ট্যাক্টলেস পেমেন্টের জন্য সেট আপ করা কার্ড সরিয়ে দেওয়া হবে।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ওয়ালেট এবং অন্যান্য অ্যাপ যা ব্যবহার করতে ডিভাইস আনলক করতে হয়, তা সঠিকভাবে কাজ নাও করতে পারে।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, পিন সেটি সুরক্ষিত রাখে।<xliff:g id="EMPTY_LINE">
 
 </xliff:g> এটি আপনার ডিভাইসে স্টোর করা ফিঙ্গারপ্রিন্ট মডেল মুছে ফেলে। আপনার ফেস মডেলও স্থায়ীভাবে এবং নিরাপদে মুছে ফেলা হবে। অ্যাপে যাচাইকরণ করার জন্য আপনার ফেস বা আঙ্গুলের ছাপ ব্যবহার করতে পারবেন না।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"আপনি পিন, ফেস ও ফিঙ্গারপ্রিন্ট মডেলের মতো নিজের সেভ করা ডেটাতে অ্যাক্সেস হারিয়ে ফেলবেন।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>কন্ট্যাক্টলেস পেমেন্টের জন্য সেট আপ করা কার্ড সরিয়ে দেওয়া হবে।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ওয়ালেট এবং অন্যান্য অ্যাপ যা ব্যবহার করতে ডিভাইস আনলক করতে হয়, তা সঠিকভাবে কাজ নাও করতে পারে।"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"আপনার ফোন হারিয়ে বা চুরি হয়ে গেলে, পাসওয়ার্ড সেটি সুরক্ষিত রাখে।<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ব্লুটুথ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ব্লুটুথ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> এর সাথে যুক্ত করবেন?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"আগে থেকে রয়েছে এমন কো-অর্ডিনেটেড সেটে নতুন মেম্বার যোগ করুন"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"আপনার অডিও ডিভাইসের দ্বিতীয় অংশ যোগ করতে কনফার্ম করুন"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ব্লুটুথ এর সাথে জোড়ার জন্য কোড"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"যুক্ত করার কোড লিখে Return বা Enter টিপুন"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"পিন এ অক্ষর বা চিহ্ন রয়েছে"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"১৬ সংখ্যার হওয়া আবশ্যক"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"আপনাকে অন্য ডিভাইসে এই পিন টাইপ করতে হতে পারে।"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"আপনাকে অন্য ডিভাইসে এই পাস কী টাইপ করতে হতে পারে।"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"কো-অর্ডিনেটেড সেটের সাথে পেয়ার করার বিষয়টি কনফার্ম করুন"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"অডিও ডিভাইসের সাথে পেয়ার করতে কনফার্ম করুন"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"আপনার পরিচিতি এবং কল ইতিহাস অ্যাক্সেসের অনুমতি দিন"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"এছাড়াও পরিচিতি ও কলের ইতিহাস অ্যাক্সেস করার অনুমতি দিন"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"কল সম্পর্কিত ঘোষণা ও আরও অনেক কিছুর জন্য তথ্য ব্যবহার করা হবে"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> এ কানেকশন করতে পারেনি।"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"উপলভ্য ডিভাইস"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"কানেক্ট করুন"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ডিসকানেক্ট করুন"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"যুক্ত করুন ও কানেক্ট করুন"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"যখন ব্লুটুথ চালু করা হয়, তখন আপনার অন্যান্য কাছাকাছির ব্লুটুথ ডিভাইসগুলির সাথে যোগাযোগ করতে পারে৷"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ব্লুটুথ চালু করা হলে, আপনার ডিভাইস আশেপাশের অন্যান্য ব্লুটুথ ডিভাইসের সাথে যোগাযোগ করতে পারে"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ব্লুটুথ চালু করা থাকলে, আপনার ডিভাইস কাছাকাছি অন্যান্য ব্লুটুথ ডিভাইসের সাথে যোগাযোগ করতে পারবে।\n\nডিভাইস ব্যবহারের অভিজ্ঞতা উন্নত করতে, এমনকি ব্লুটুথ বন্ধ থাকাকালীনও, অ্যাপ ও পরিষেবাগুলি কাছাকাছি থাকা ডিভাইস যেকোনও সময় স্ক্যান করতে পারবে। যেমন, এটি লোকেশন-ভিত্তিক ফিচার এবং পরিষেবা উন্নত করার মতো বিভিন্ন কাজের জন্য ব্যবহার করা হতে পারে। আপনি ব্লুটুথ স্ক্যানিং সেটিংস থেকে এটি পরিবর্তন করতে পারবেন।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"পরিবর্তন করুন"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ডিভাইসের বিবরণ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ডিবাগযোগ্য অ্যাপের বাইটকোট যাচাই করতে ART-কে অনুমতি দিন"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"রিফ্রেশ রেট দেখান"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"সাম্প্রতিক সময়ের ডিসপ্লে রিফ্রেশ রেট দেখান"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR রেশিও দেখুন"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"বর্তমান HDR/SDR রেশিও দেখুন"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-এর জন্য ডিভাইস আনলক প্রয়োজন"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android বীম"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"বিমান মোডে"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"সর্বজনীন নেটওয়ার্কের জন্য বিজ্ঞপ্তি"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"কোনও উচ্চ মানের বিনামূল্যের নেটওয়ার্ক উপলভ্য হলে জানান"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP নেটওয়ার্ককে অনুমতি দিন"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP হল পুরনো সুরক্ষা প্রোটোকল, যেটি কম সুরক্ষিত"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"আপনার পরিষেবা প্রদানকারী WEP নেটওয়ার্ককে অনুমতি দেয় না, কারণ এটি কম সুরক্ষিত"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"অটোমেটিক ওয়াই-ফাই চালু করুন"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"উচ্চ মানের সেভ করা নেটওয়ার্কের কাছাকাছি এলেই ওয়াই-ফাই আবার চালু হবে, যেমন আপনার বাড়ির নেটওয়ার্ক"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"লোকেশন বন্ধ থাকার কারণে অনুপলভ্য। "<annotation id="link">"লোকেশন"</annotation>" চালু করুন।"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ওয়াই-ফাই স্ক্যানিং চালু থাকলে অ্যাপ এবং পরিষেবাগুলি যেকোনও সময় ওয়াই-ফাই নেটওয়ার্ক স্ক্যান করতে পারে, এমনকি ওয়াই-ফাই বন্ধ থাকলেও। এটি বিভিন্ন ক্ষেত্রে কাজে লাগতে পারে, যেমন লোকেশন-ভিত্তিক বৈশিষ্ট্য এবং পরিষেবার উন্নতির জন্য।"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"চালু করুন"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ওয়াই-ফাই স্ক্যানিং চালু করা হয়েছে"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"এই নেটওয়ার্ক একটি পুরনো সুরক্ষা প্রোটোকল ব্যবহার করে, যেটি কম সুরক্ষিত"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ব্লক করা আছে"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"এই নেটওয়ার্ক WEP নামের একটি পুরনো সুরক্ষা প্রোটোকল ব্যবহার করে, যেটি কম সুরক্ষিত। তবুও কানেক্ট করতে, আপনি WEP নেটওয়ার্ককে অনুমতি দিতে পারবেন।"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"আপনার পরিষেবা প্রদানকারী এই নেটওয়ার্কের সাথে কানেক্ট করার অনুমতি আপনাকে দেয় না, কারণ এটি এমন এক পুরনো সুরক্ষা প্রোটোকল ব্যবহার করে যেটি কম সুরক্ষিত"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP-কে অনুমতি দিন"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"বন্ধ করুন"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"উন্নত বিকল্প"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ড্রপ-ডাউন তালিকায় থাকা উন্নত বিকল্প"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"বড় করুন"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"ওয়াই-ফাই এ থাকুন"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"আর কখনও দেখাবেন না"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"কানেক্ট করুন"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"ওয়াই-ফাই চালু আছে"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>-এ কানেক্ট আছে"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>-এ কানেক্ট করা হচ্ছে"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"কানেক্ট করা হচ্ছে…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"নেটওয়ার্কের সাথে কানেক্ট করতে ব্যর্থ হয়েছে"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"নেটওয়ার্ক পরিষেবা সীমার মধ্যে নেই"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ভুলে যান"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"বদলান"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"নেটওয়ার্ক ভুলে যেতে করতে ব্যর্থ হয়েছে"</string>
     <string name="wifi_save" msgid="2312643132472226807">"সেভ করুন"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"নেটওয়ার্ক সংরক্ষণ করতে ব্যর্থ হয়েছে"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"বাতিল করুন"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"ওয়াই-ফাই"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"মোবাইল ডেটা"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ইথারনেট"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ চার্জ হচ্ছে"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ চার্জ হচ্ছে"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"হটস্পট কানেকশন"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"কানেকশন কোয়ালিটি"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"সেভ করা নেটওয়ার্ক"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"পাসওয়ার্ড সেট করা নেই"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"হটস্পটের নাম"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"হটস্পটের পাসওয়ার্ড"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP ব্যান্ড"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"নিজে থেকে হটস্পট বন্ধ করুন"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"যখন কোনও ডিভাইস কানেক্ট করা থাকে না"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"কমপ্যাটিবিলিটি প্রসারিত করুন"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"হোয়াইট ব্যালান্স ডিসপ্লে"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ফোল্ড থাকা অবস্থায় অ্যাপ ব্যবহার করা চালিয়ে যান"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"স্মুথ ডিসপ্লে"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"কিছু কন্টেন্টের রিফ্রেশ রেট অটোমেটিক 60 থেকে <xliff:g id="ID_1">%1$s</xliff:g> Hz পর্যন্ত বেড়ে যায়। ব্যাটারির খরচও বেড়ে যায়।"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"গেমের জন্য ডিফল্ট ফ্রেম রেট বন্ধ করুন"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz-এ গেমের জন্য সর্বাধিক ফ্রেম রেট সীমিত করার সুবিধা বন্ধ করুন।"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"স্মুথ ডিসপ্লে"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"কিছু কন্টেন্টের রিফ্রেশ রেট অটোমেটিক <xliff:g id="ID_1">%1$d</xliff:g> Hz পর্যন্ত বেড়ে যায়। ব্যাটারি বেশি খরচ হয়।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"সবচেয়ে বেশি রিফ্রেশ রেটে সেট করা হয়েছে"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"সর্বাধিক রিফ্রেশ রেট সেট করে টাচ রেসপন্সিভনেস এবং অ্যানিমেশন কোয়ালিটি উন্নত করুন। ব্যাটারির খরচ বেড়ে যায়।"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"স্ক্রিন অ্যাটেনশন"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"স্ক্রিন অ্যাটেনশন ফিচারটি মোবাইলের সামনের ক্যামেরা ব্যবহার করে জানতে পারে যে কেউ স্ক্রিনের দিকে তাকিয়ে আছে কিনা। এটি ডিভাইসে কাজ করে এবং ছবি কখনই স্টোর করা বা Google-কে পাঠানো হয় না।"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"\'স্ক্রিন অ্যাটেনশন\' চালু করুন"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"স্ক্রিনের দিকে তাকিয়ে থাকলে সেটি বন্ধ হবে না"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"যত বেশি স্ক্রিন টাইম ব্যবহার করা হবে, তত বেশি ব্যাটারি খরচ হবে।"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ক্যামেরা লক করা আছে"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ফেস ডিটেকশনের জন্য ক্যামেরা অবশ্যই আনলক করা থাকতে হবে"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"স্ক্রিন অ্যাটেনশন ফিচারের জন্য ক্যামেরা আনলক থাকতে হবে"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (সিম কার্ড স্লট <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI সিম কার্ড স্লট <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (প্রাথমিক)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"দেখার জন্য সেভ করা নেটওয়ার্ক বেছে নিন"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL ভার্সন"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ব্যাটারি স্তর"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"কমিউনাল"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"\'কমিউনাল\' সেটিংস"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"স্যাটেলাইট মেসেজিং"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"অ্যাক্সেস পয়েন্ট এডিট করুন"</string>
+    <string name="apn_add" msgid="9069613192201630934">"অ্যাক্সেস পয়েন্ট যোগ করুন"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"সেট করা নেই"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"সেট করা নেই"</string>
     <string name="apn_name" msgid="6677695784108157953">"নাম"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN সক্ষম"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN অক্ষম"</string>
     <string name="bearer" msgid="3231443241639159358">"বিয়ারার"</string>
+    <string name="network_type" msgid="748590707422733595">"নেটওয়ার্কের ধরন"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"নির্দিষ্ট করা নেই"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO প্রকার"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO মান"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN মুছে দিন"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"সেভ করুন"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"বাতিল করুন"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ডুপ্লিকেট APN এন্ট্রি।"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"নাম ফিল্ডটি খালি থাকতে পারে না।"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN খালি থাকতে পারে না।"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ফিল্ড ৩ ডিজিটের হতে হবে।"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ফিল্ড ২ অথবা ৩ সংখ্যার হতে হবে।"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"পরিষেবা প্রদানকারী %s এর মতো APN যোগ করার অনুমতি দেয়নি।"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ফিল্ড অবশ্যই সঠিক হতে হবে।"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ডিফল্ট APN সেটিংস পুনরুদ্ধার করা হচ্ছে।"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ডিফল্টে রিসেট করুন"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ডিফল্ট APN সেটিংস রিসেট করা হয়েছে।"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"রিসেট করুন"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ব্লুটুথ ও ওয়াই-ফাই রিসেট করা হয়েছে"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ই-সিম মুছুন"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"এটি মোবাইল পরিষেবার কোনও প্ল্যান বাতিল করবে না। পরিবর্ত সিম ডাউনলোড করতে আপনার পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন।"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"এর ফলে আপনার মোবাইল পরিষেবার প্ল্যান বাতিল হয়ে যাবে না। পরিবর্তে অন্য সিম পেতে পরিষেবা প্রদানকারীর সাথে যোগাযোগ করুন।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"সেটিংস রিসেট করুন"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"সব নেটওয়ার্ক সেটিংস রিসেট করবেন? আগের সেটিংসে আর ফিরে যেতে পারবেন না।"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"সব নেটওয়ার্ক সেটিং রিসেট করে ই-সিম মুছবেন? এটি আগের অবস্থায় আর ফিরিয়ে আনতে পারবেন না।"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"আবার সেট করবেন?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"এই ব্যবহারকারীদের জন্য নেটওয়ার্ক আবার সেট করুন উপলব্ধ নয়"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"নেটওয়ার্ক সেটিংস আবার সেট করা হয়েছে"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"সিমগুলি মোছা যাচ্ছে না"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"কোনও সমস্যার জন্য ই-সিম মোছা যাচ্ছে না।\n\nআপনার ডিভাইস রিস্টার্ট করে আবার চেষ্টা করুন।"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ই-সিম মোছা যাচ্ছে না"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"কিছু সমস্যা হয়েছে এবং আপনার ই-সিম মোছা যায়নি।\n\nআপনার ডিভাইস আবার চালু করে চেষ্টা করুন।"</string>
     <string name="main_clear_title" msgid="277664302144837723">"সমস্ত ডেটা মুছুন (ফ্যাক্টরি রিসেট)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"সমস্ত ডেটা মুছুন (ফ্যাক্টরি রিসেট)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"মিউজিক"</li>\n<li>"ফটো"</li>\n<li>"অন্যান্য ব্যবহারকারী ডেটা"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"ই-সিম"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"এতে আপনার মোবাইল পরিষেবার প্ল্যান বাতিল হবে না।"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ডাউনলোড করা অ্যাপ সহ আপনার সব ব্যক্তিগত তথ্য মুছে যাবে। এটি আগের অবস্থায় আর ফিরিয়ে আনা যাবে না।"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ডাউনলোড করা অ্যাপ ও সিম সহ আপনার সব ব্যক্তিগত তথ্য মুছে যাবে। এটি আগের অবস্থায় আর ফিরিয়ে আনা যাবে না।"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ডাউনলোড করা অ্যাপ ও ই-সিম সহ আপনার সব ব্যক্তিগত তথ্য মুছে যাবে। এটি আগের অবস্থায় আর ফেরানো যাবে না।"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"সমস্ত ডেটা মুছে ফেলতে চান?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"এই ব্যবহারকারীর জন্য ফ্যাক্টরি রিসেটের সুবিধা উপলভ্য নেই"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"মোছা হচ্ছে"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"হটস্পট, ইউএসবি, ব্লুটুথ, ইথারনেট"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"অন্যান্য ডিভাইসের সাথে ইন্টারনেট শেয়ার করা হচ্ছে না"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"বন্ধ রয়েছে"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"টিথারিং"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ওয়াই-ফাই হটস্পট ব্যবহার করবেন না"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"শুধুমাত্র ইউএসবির মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"শুধুমাত্র ব্লুটুথের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"শুধুমাত্র ইথারনেটের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"শুধুমাত্র ইউএসবি এবং ব্লুটুথের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"শুধুমাত্র ইউএসবি এবং ইথারনেটের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"শুধুমাত্র ব্লুটুথ এবং ইথারনেটের মাধ্যমে ইন্টারনেট শেয়ার করুন"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"শুধুমাত্র ইউএসবি, ব্লুটুথ এবং ইথারনেটের মাধ্যমে শেয়ার করুন"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB টিথারিং"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ব্লুটুথ টিথারিং"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ইথারনেট টিথারিং"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"আপনার মোবাইল ডেটা কানেকশন অথবা ওয়াই-ফাই থেকে অন্যান্য ডিভাইসে ইন্টারনেট কানেকশন দিতে হটস্পট এবং টিথারিং ব্যবহার করুন। অ্যাপগুলিও আশেপাশের ডিভাইসের সাথে কন্টেন্ট শেয়ার করার জন্য হটস্পট তৈরি করে নিতে পারে।"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"সহায়তা"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"মোবাইল নেটওয়ার্ক"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"মোবাইল প্ল্যান"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS অ্যাপ"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS অ্যাপ্লিকেশান পরিবর্তন করবেন?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> এর পরিবর্তে <xliff:g id="NEW_APP">%1$s</xliff:g> কে SMS অ্যাপ্লিকেশান হিসেবে ব্যবহার করবেন?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"ওয়াই-ফাই সহকারী পরিবর্তন করবেন?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"আপনার নেটওয়ার্ক কানেকশন পরিচালনা করার জন্য <xliff:g id="CURRENT_APP">%2$s</xliff:g> এর পরিবর্তে <xliff:g id="NEW_APP">%1$s</xliff:g> ব্যবহার করবেন?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"আপনার নেটওয়ার্ক কানেকশন পরিচালনা করার জন্য <xliff:g id="NEW_APP">%s</xliff:g> ব্যবহার করবেন?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"সিম এর পরিষেবা প্রদানকারী অজানা"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> এর কোনো পরিচিত প্রভিশনিং ওয়েবসাইট নেই"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"দয়া করে সিম কার্ড ঢোকান এবং পুনর্সূচনা করুন"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"দয়া করে ইন্টারনেটের সঙ্গে কানেক্ট হোন"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"সাম্প্রতিক লোকেশন অনুরোধগুলি"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"অফিস প্রোফাইলের জন্য লোকেশন"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"অ্যাপের ক্ষেত্রে লোকেশনের অনুমতি"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"অ্যাক্সেস সরান"</string>
     <string name="controls_label" msgid="8671492254263626383">"নিয়ন্ত্রণগুলি"</string>
     <string name="force_stop" msgid="2681771622136916280">"জোর করে বন্ধ করুন"</string>
+    <string name="archive" msgid="9074663845068632127">"আর্কাইভ করুন"</string>
+    <string name="restore" msgid="7622486640713967157">"ফিরিয়ে আনুন"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ফিরিয়ে আনা হচ্ছে"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ফিরিয়ে আনা হচ্ছে।"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ফিরিয়ে আনা হচ্ছে…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ফিরিয়ে আনা হচ্ছে…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"সর্বমোট"</string>
     <string name="application_size_label" msgid="6407051020651716729">"অ্যাপের সাইজ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB স্টোরেজ অ্যাপ্লিকেশন"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"প্যাকেজের মাপ গণনা করা যায়নি"</string>
     <string name="version_text" msgid="7628938665256107608">"ভার্সন <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"সরান"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"আর্কাইভ করা যায়নি"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> আর্কাইভ করা হয়েছে"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ফিরিয়ে আনা যায়নি"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ফিরিয়ে আনা যায়নি"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"আরেকটি স্থানান্তরনের কাজ আগে থেকেই চলছে৷"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"পর্যাপ্ত স্টোরেজ নেই।"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"অ্যাপ্লিকেশানটি বিদ্যমান নেই।"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"স্ক্রিনের কীবোর্ড ফিচার উপলভ্য"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"অন-স্ক্রিন কীবোর্ড ম্যানেজ করুন"</string>
     <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="6922850403920596246">"ফিজিক্যাল কীবোর্ডের অ্যাক্সেসিবিলিটির জন্য বাউন্স \'কী\' চালু করুন"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"স্লো কী"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ফিজিক্যাল কীবোর্ড অ্যাক্সেসিবিলিটির জন্য স্লো কী চালু করুন"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"স্টিকি \'কী\'"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ফিজিক্যাল কীবোর্ডের অ্যাক্সেসিবিলিটির জন্য স্টিকি \'কী\' চালু করুন"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"আরও বিকল্পের জন্য টাচপ্যাডের নিচে ডানদিকের কোণায় ট্যাপ করুন"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"পয়েন্টারের গতি"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"টাচপ্যাডের জেসচার সম্পর্কে জানুন"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"হোম স্ক্রিনে যান"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"আপনার টাচপ্যাডে তিনটি আঙুলের সাহায্যে উপরের দিকে সোয়াইপ করুন"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ফিরে যান"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ব্যবহারের সময় অনুযায়ী সাজান"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"শেষবারের ব্যবহার অনুযায়ী সাজান"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"অ্যাপের নাম অনুযায়ী সাজান"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"সর্বশেষ ব্যবহার হয়েছে"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"শেষবার ব্যবহার করা হয়েছে"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"কখনই নয়"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ব্যবহারের সময়"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"অ্যাক্সেসিবিলিটি"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"সহজ ব্যবহার সেটিংস"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"তিনবার ট্যাপ করে বড় করে দেখুন"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"শর্টকাটের সাহায্যে বড় করে দেখা"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"শর্টকাটের মাধ্যমে ও তিনবার ট্যাপ করে বড় করুন"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\' সম্পর্কে"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"অ্যাক্সেসিবিলিটি বোতাম ব্যবহার করে খোলা"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"খোলার জন্য ভলিউম কী প্রেস করে ধরে থাকুন"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"খুলতে স্ক্রিনে ট্রিপল ট্যাপ করুন"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"খুলতে স্ক্রিনে দুই আঙুল দিয়ে ডবল ট্যাপ করুন"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ইঙ্গিতের মাধ্যমে খোলা"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"\'অ্যাক্সেসিবিলিটি\' জেসচার ব্যবহার করুন"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"এই ফিচারটি ব্যবহার করার জন্য, স্ক্রিনের নিচের দিকের অ্যাক্সেসিবিলিটি বোতামে <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ট্যাপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, অ্যাক্সেসিবিলিটি বোতাম টাচ করে ধরে থাকুন।"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"এই ফিচার ব্যবহার করতে, আপনার স্ক্রিনে অ্যাক্সেসিবিলিটি বোতামে ট্যাপ করুন।"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"এই ফিচার ব্যবহার করার জন্য, উভয় ভলিউম কী প্রেস করে ধরে থাকুন।"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ম্যাগনিফিকেশন চালু বা বন্ধ করতে, স্ক্রিনের যেকোনও জায়গায় ট্রিপল ট্যাপ করুন।"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"\'বড় করে দেখা\' ফিচার চালু বা বন্ধ করতে, স্ক্রিনের যেকোনও জায়গায় দুই আঙুল দিয়ে ডবল ট্যাপ করুন।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"এই ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ২টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ২টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"এই ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ৩টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ৩টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"অ্যাক্সেসিবিলিটি ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ২টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ২টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"অ্যাক্সেসিবিলিটি ফিচার ব্যবহার করার জন্য, স্ক্রিনের নিচ থেকে উপরের দিকে ৩টি আঙ্গুল দিয়ে সোয়াইপ করুন।\n\nএকটি ফিচার থেকে অন্যটিতে যেতে, ৩টি আঙ্গুল দিয়ে নিচের থেকে উপরের দিকে সোয়াইপ করে ধরে থাকুন।"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"বুঝেছি"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"অ্যাক্সেসিবিলিটি বোতামের সেটিংস"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"বোতামের সেটিংস"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\' শর্টকাট"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"অ্যাক্সেসিবিলিটি বোতাম"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"অ্যাক্সেসিবিলিটি জেসচার"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ভলিউম কী কিছু সময় প্রেস করে রাখুন"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ভলিউম কী প্রেস করে রাখুন"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"উভয় ভলিউম কী প্রেস করে ধরে থাকুন"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"দুই আঙুল দিয়ে স্ক্রিনে ডবল ট্যাপ করুন"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"দুই আঙুল দিয়ে স্ক্রিনে ডবল ট্যাপ করুন"</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="6863958573135995927">"স্ক্রিনে ট্রিপল-ট্যাপ করা"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"স্ক্রিনে ঝটপট {0,number,integer} বার ট্যাপ করুন। এই শর্টকাট ব্যবহারের ফলে আপনার ডিভাইসের স্পিড কমে যেতে পারে"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"অ্যাক্সেসিবিলিটি বোতাম এবং জেসচারের বিষয়ে আরও জানুন"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"অ্যাক্সেসিবিলিটি বোতাম ব্যবহার করা। ৩টি-বোতাম দিয়ে করা নেভিগেশন এর ক্ষেত্রে জেসচারটি কাজ করবে না।"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"সহজেই অ্যাক্সেসেবিলিটি ফিচার অ্যাক্সেস করুন"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"শুরু করা"</b>\n"১. অ্যাক্সেসিবিলিটি সেটিংসে যাওয়া\n২. একটি ফিচার বেছে নিয়ে \'শর্টকাট\' বিকল্পে ট্যাপ করা\n৩. বোতাম বা জেসচার, কোনটি ব্যবহার করে ফিচার অ্যাক্সেস করতে চান সেটি বেছে নিন"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"শুরু করা"</b>\n"১. অ্যাক্সেসিবিলিটি সেটিংসে যাওয়া\n২. একটি ফিচার বেছে নিয়ে \'শর্টকাট\' বিকল্পে ট্যাপ করা\n৩. ফিচার অ্যাক্সেস করার জন্য বোতাম বেছে নিন"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"বোতাম বা জেসচার ব্যবহার করুন"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"লোকেশন"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"সাইজ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"পাওয়ার বোতামে কল শেষ হয়"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"বড় মাউস পয়েন্টার"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"মাউস পয়েন্টার আরও স্পষ্ট করে তুলুন"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"সব অ্যাপে ডার্ক থিম ব্যবহার করুন"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"অ্যাপের নিজস্ব ডার্ক থিম ছাড়া সেগুলিতে প্রযোজ্য। কিছু অ্যাপের ডিসপ্লের সমস্যা হতে পারে, যেমন বিপরীত রঙগুলি।"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"অ্যানিমেশন সরিয়ে দিন"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"স্ক্রিনের নড়াচড়া কমিয়ে দিন"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"মোনো অডিও"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ভাইব্রেশন এবং হ্যাপটিক ব্যবহার করুন"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"অ্যালার্ম ভাইব্রেশন"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"মিডিয়া ভাইব্রেশন"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"কীবোর্ড ভাইব্রেশন"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"রিং ভাইব্রেশন"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"বিজ্ঞপ্তির ভাইব্রেশন"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"টাচ ফিডব্যাক"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"বন্ধ করুন"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"বাতিল করুন"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> থামাবেন?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> বিকল্পে ট্যাপ করলে <xliff:g id="SERVICE">%2$s</xliff:g> বন্ধ হয়ে যাবে।"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"বন্ধ করুন"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"চালু রাখুন"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> পরিষেবা বন্ধ করতে চান?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"কোনো পরিষেবা ইনস্টল করা নেই"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"কোনো সার্ভিস বেছে নেওয়া হয়নি"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"কোনো বিবরণ প্রদান করা নেই।"</string>
     <string name="settings_button" msgid="2195468788019730377">"সেটিংস"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"লাইট সেন্সিটিভিটি, ফটোফোবিয়া, ডার্ক থিম, মাইগ্রেন, মাথাব্যথা, রিডিং মোড, রাতের মোড, স্ক্রিনের উজ্জ্বলতা কমান, হোয়াইট পয়েন্ট"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"সহজে ব্যবহার করার সুবিধা, সহজে অ্যাক্সেস করার সুবিধা, সহায়তা, সহায়ক"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"দৃষ্টিশক্তি, শ্রবণশক্তি, অন্ধ, বধির, মোটর, দক্ষতা, সহায়ক, সহায়তা, ব্যবহারের সহজলভ্যতা, সহজলভ্য অ্যাক্সেস, হাত, সাহায্য"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"উইন্ডো ম্যাগনিফায়ার, জুম, বড় করে দেখা, কম দৃষ্টি, আকারে বড় করুন, আরও বড় করুন"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"ক্যাপশন, ক্লোজড ক্যাপশন, CC, লাইভ ট্রানস্ক্রাইব, কম শুনতে পাওয়া, শুনতে সমস্যা হওয়া, CART, স্পিচ টু টেক্সট, সাবটাইটেল"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"কালার কনট্রাস্ট"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"মোটর, মাউস"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"হিয়ারিং এড, আংশিক বধির, শুনতে না পাওয়া, কক্লিয়ার ইমপ্ল্যান্ট, অ্যামপ্লিফিকেশন ডিভাইস, সাউন্ড প্রসেসর"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"মোটর, মাউস, এক্সটার্নাল মাউস, হেড মাউস, অ্যাডাপ্টিভ মাউস, হুইলচেয়ার, জয়স্টিক"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"হিয়ারিং এড, আংশিক বধির, শুনতে না পাওয়া, কক্লিয়ার ইমপ্ল্যান্ট, অ্যামপ্লিফিকেশন ডিভাইস, সাউন্ড প্রসেসর, পিএসএপি"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"কম শুনতে পাওয়া, শুনতে সমস্যা হওয়া, ক্যাপশন, টেলিটাইপ, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"তিনটি বোতাম"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"দক্ষতা, মোটর, সিনিয়র, আর্থ্রাইটিস, আরএসআই, স্ট্রোক, কাঁপুনি, মাল্টিপল স্ক্লেরোসিস, সেরিব্রাল পাল্‌সি, ঝাঁকুনি, ক্রমাগত চাপের ফলে আঘাত, হাত"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"দেরি, দক্ষতা, সিনিয়র"</string>
     <string name="print_settings" msgid="8519810615863882491">"প্রিন্টিং"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"বন্ধ আছে"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{১টি প্রিন্ট পরিষেবা চালু আছে}one{#টি প্রিন্ট পরিষেবা চালু আছে}other{#টি প্রিন্ট পরিষেবা চালু আছে}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> অবশিষ্ট রয়েছে"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> চার্জ করা বাকি"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"স্ক্রিন টাইম"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ব্যাকগ্রাউন্ড টাইম"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"চার্জ কম আছে"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"অ্যাপটি পটভূমিতে চলতে দিন"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ব্যাকগ্রাউন্ড অ্যাক্টিভিটি সীমিত করবেন?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"কোনও অ্যাপের ব্যাকগ্রাউন্ড অ্যাক্টিভিটি সীমিত করলে তা সঠিক ভাবে কাজ নাও করতে পারে"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"যেহেতু এই অ্যাপটিকে ব্যাটারি অপ্টিমাইজ করার জন্য সেট করা হয়নি, তাই আপনি এটির অ্যাক্টিভিটি সীমিত করতে পারবেন না।\n\nঅ্যাপের অ্যাক্টিভিটি সীমিত করতে আগে ব্যাটারি অপ্টিমাইজেশন চালু করুন।"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ব্যাটারির ব্যবহার ম্যানেজ করুন"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ব্যাকগ্রাউন্ডে চলার জন্য অনুমতি দিন"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"রিয়েল-টাইম আপডেটের জন্য চালু করুন, ব্যাটারির চার্জ সাশ্রয় করতে বন্ধ করুন"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"সীমিত নয়"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"অপ্টিমাইজ করা আছে"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"সীমিত"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"কোন অ্যাপে ব্যাটারি সবচেয়ে বেশি খরচ হয়"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"আপনার ব্যাটারি সুরক্ষিত রাখতে চার্জিং অপ্টিমাইজ করা হয়"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"আপনার ব্যাটারির আয়ু বাড়াতে, চার্জিং অপ্টিমাইজ করা হয়েছে"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"আপনার ব্যাটারি সুরক্ষিত রাখতে চার্জিং অপ্টিমাইজ করা হয়"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ডক করার সময়ে আপনার ব্যাটারি আরও বেশিদিন ভাল রাখতে সাহায্যের জন্য, চার্জিং অপ্টিমাইজ করা হয়েছে"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"আপনার ব্যাটারি সুরক্ষিত রাখতে চার্জিং অপ্টিমাইজ করা হয়"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ডক করার সময়ে আপনার ব্যাটারি আরও বেশিদিন ভাল রাখতে সাহায্যের জন্য, চার্জিং অপ্টিমাইজ করা হয়েছে"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"১০০%% চার্জ করা হচ্ছে"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"পরের বার আপনার ট্যাবলেট ডক করা হলে, আপনার ব্যাটারি সুরক্ষিত রাখতে চার্জিং অপ্টিমাইজ করা হবে"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"চার্জিং পজ করা সম্পর্কে আরও জানুন"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"চার্জ করা আবার চালু করুন"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"বেশি ব্যাটারি খরচ হয় এমন ব্যাকগ্রাউন্ড অ্যাক্টিভিটি অন্তর্ভুক্ত"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"এই অ্যাপটি ব্যাকগ্রাউন্ডে ব্যাটারি ব্যবহার করতে পারবে। প্রত্যাশিত সময়ের আগেই আপনার ব্যাটারির চার্জ শেষ হয়ে যেতে পারে।"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"সরান"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"বাতিল করুন"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"পুরো চার্জ দিন"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"চার্জিং অ্যাক্সেসরি সংক্রান্ত সমস্যা"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"চার্জিং অ্যাক্সেসরি চেক করুন"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"মানানসই নয় এমন চার্জিং সম্পর্কে আরও জানুন"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ব্যাটারি ম্যানেজার"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"নিজে থেকে অ্যাপ পরিচালনা করুন"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"শেষবার ফুল চার্জ হওয়ার পরে"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"সিস্টেম অ্যাপ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"আনইনস্টল করা অ্যাপ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"অন্যান্য"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"আনুমানিক কতক্ষণ বাকি"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"সম্পূর্ণ চার্জ না হওয়া পর্যন্ত"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"মোট: এক মিনিটের থেকে কম"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ব্যাকগ্রাউন্ড: এক মিনিটের থেকে কম"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"স্ক্রিন টাইম: এক মিনিটের থেকে কম"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"এক মিনিটেরও কম"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"মোট: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ব্যাকগ্রাউন্ড: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"স্ক্রিন টাইম: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"এখন"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ব্যাটারির ব্যবহারর চার্ট"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ব্যাটারির ব্যবহার সংক্রান্ত দৈনিক চার্ট"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ব্যাটারির ব্যবহার সংক্রান্ত প্রতি ঘণ্টার চার্ট"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ব্যাটারি লেভেল <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> থেকে <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> শতাংশ"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"শেষবার ফুল চার্জ হওয়ার পরে ব্যাটারির ব্যবহার"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g>-এর জন্য ব্যাটারির ব্যবহার"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"শেষবার ফুল চার্জ হওয়ার পরে স্ক্রিন টাইম"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"আপদকালীন ডায়ালিং সিগন্যাল"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"জরুরি কল স্থাপন করা সময় কি ধরণের অ্যাক্টিভিটি করবে তা সেট করুন"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ব্যাক-আপ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"চালু"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"বন্ধ"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ব্যাকআপ ও পুনরুদ্ধার"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ব্যক্তিগত ডেটা"</string>
     <string name="backup_data_title" msgid="507663517227498525">"আমার তথ্য ব্যাকআপ করুন"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"মোবাইল ডেটা এবং ওয়াই-ফাই"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ব্যক্তিগত ডেটা স্বতঃসিঙ্ক"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"অফিস ডেটা নিজে থেকে সিঙ্ক"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ব্যক্তিগত ডেটা অটো-সিঙ্ক করুন"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"চক্র পরিবর্তন করুন..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ডেটা ব্যবহারের চক্র আবার সেট করতে মাসের দিন:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"এই সময়ের মধ্যে কোনো অ্যাপ্লিকেশান ডেট ব্যবহার করবে না।"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"নাম"</string>
     <string name="vpn_type" msgid="5533202873260826663">"প্রকার"</string>
     <string name="vpn_server" msgid="2908816134941973935">"সার্ভার ঠিকানা"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP এনক্রিপশন (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP সিক্রেট"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec আইডেন্টিফায়ার"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec আগে থেকে শেয়ার করা কী"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ব্যবহারকারী সার্টিফিকেট"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA সার্টিফিকেট"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec সার্ভার সার্টিফিকেট"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"উন্নত বিকল্প দেখান"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS সার্চ ডোমেন"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS সার্ভার (যেমন ৮.৮.৮.৮)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ফরওয়ার্ডিং রুট (উদাহরণ 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ইউজারনেম"</string>
     <string name="vpn_password" msgid="1183746907642628127">"পাসওয়ার্ড"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"অ্যাকাউন্ট তথ্য সেভ করুন"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(অব্যবহৃত)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(সার্ভার যাচাই করবেন না)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(সার্ভার থেকে প্রাপ্ত)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"এই প্রকারের VPN সব সময়ে কানেক্ট থাকতে পারে না"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"সর্বদা-চালু VPN গুলিতে শুধুমাত্র সেই DNS সার্ভারগুলি কাজ করে যেগুলির ঠিকানা সংখ্যায় আছে"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"সর্বদা-চালু VPN গুলির জন্য একটি DNS সার্ভার উল্লেখ করা আবশ্যক"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"সর্বদা-চালু VPN গুলির জন্য DNS সার্ভারের ঠিকানাগুলি সংখ্যায় হওয়া আবশ্যক"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"দিয়ে থাকা তথ্য \'সর্বদা-চালু VPN\'-এ কাজ করে না"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"বাতিল"</string>
     <string name="vpn_done" msgid="5137858784289564985">"খারিজ করুন"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN বিহীন সংযোগগুলি ব্লক করুন"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN কানেকশন প্রয়োজন?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"নিরাপদ নয়। IKEv2 VPN-এ আপডেট করুন"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ব্যবহার করা যায় না সেই VPN চালু করা যায়নি।"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"সর্বদা কানেক্ট থাকতে একটি VPN প্রোফাইল বেছে নিন। এই VPN এ কানেক্ট থাকাকালীন শুধুমাত্র নেটওয়ার্ক ট্রাফিকের অনুমতি দেওয়া হবে।"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"কোনো কিছুই নয়"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"সর্বদা-চালু VPN এর সার্ভার্র এবং DNS উভয়েরই জন্য আইপি অ্যাড্রেস প্রয়োজন।"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER সতর্কতা"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"শিশু অপহরণ সম্পর্কে বুলেটিন পান"</string>
     <string name="repeat_title" msgid="8676570486899483606">"পুনরাবৃত্তি করুন"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"কল ম্যানেজার সক্ষম করুন"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"আপনার কল কীভাবে করা হবে তা পরিচালনা করতে এই পরিষেবাকে অনুমতি দিন।"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"কল ম্যানেজার"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ওয়্যারলেস জরুরি সতর্কতা"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"নেটওয়ার্ক অপারেটরগুলি"</string>
     <string name="access_point_names" msgid="5768430498022188057">"অ্যাক্সেস পয়েন্টের নামগুলি"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"সিম কার্ডের স্টাটাস"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"সিম স্ট্যাটাস (সিম স্লট %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"সিম কার্ড পরিবর্তন করা হয়েছে।"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"আপনার সিম কার্ড পরিবর্তন করা হয়েছে"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"সেট-আপ করার জন্য আলতো চাপুন"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"প্রতিবার জিজ্ঞাসা করুন"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"নির্বাচন করার প্রয়োজন"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"সাম্প্রতিক অ্যাপ, ডিফল্ট অ্যাপ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"কাজের প্রোফাইলে অ্যাপের জন্য বিজ্ঞপ্তি অ্যাক্সেস উপলভ্য নয়।"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"পাসওয়ার্ড ও অ্যাকাউন্ট"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"সেভ করা পাসওয়ার্ড, অটোফিল, সিঙ্ক করা অ্যাকাউন্ট"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"সাইন-ইন &amp; অটোফিলের জন্য সাজেশন"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ডিফল্ট অ্যাপ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ক্লোন করা অ্যাপ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"আপনি যাতে একই সময়ে দুটি অ্যাকাউন্ট ব্যবহার করতে পারেন তার জন্য অ্যাপের দ্বিতীয় ইন্সট্যান্স তৈরি করুন।"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"অর্থপ্রদান, আলতো চাপা, পেমেন্ট"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ব্যাক-আপ, ব্যাক-আপ করুন"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ইঙ্গিত"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ফেস, আনলক, যাচাই, সাইন-ইন"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"মুখ, আনলক করুন, যাচাইকরণ, সাইন-ইন করুন, আঙ্গুলের ছাপ, বায়োমেট্রিক"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl ভার্সন, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"টেক্সটের সাইজ, বড় প্রিন্ট, বড় ফন্ট, বড় টেক্সট, কম দৃষ্টি, টেক্সট আরও বড় করুন, ফন্ট বড় করার টুল, ফন্ট বড় করা"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"\'সবসময় চালু\' অ্যাম্বিয়েন্ট ডিসপ্লে, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ট্যাগ, রিডার"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"কীবোর্ড, হ্যাপটিক, ভাইব্রেট,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ভলিউম, ভাইব্রেশন, বিরক্ত করবে না"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"মিডিয়া ভলিউম"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"কাস্টের ভলিউম"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ধ্বনিগুলিতে শক্তি"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"লাইভ ক্যাপশন"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"অটোমেটিক মিডিয়া ক্যাপশন দেখুন"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ফোন স্পিকার"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ট্যাবলেট স্পিকার"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ডিভাইস স্পিকার"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"তারযুক্ত হেডফোন"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"মানানসই মিডিয়ার অডিও আরও বেশি শ্রবণযোগ্য হয়"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"বন্ধ আছে"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"সব বিজ্ঞপ্তি দেখতে চাই"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"গুরুত্বপূর্ণ কন্টেন্ট শুধুমাত্র আনলক অবস্থায় দেখুন"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"কোনও বিজ্ঞপ্তি দেখতে চাই না"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"আপনার লক স্ক্রিন কীভাবে দেখাতে চান?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"আপনার লক স্ক্রিনে কী দেখতে চান?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"লক স্ক্রিন"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"সমস্ত কর্মস্থলের বিজ্ঞপ্তির কন্টেন্ট দেখুন"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"কাজের সংবেদনশীল কন্টেন্ট লুকান"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"সাম্প্রতিক কথোপকথন সরানো হয়েছে"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"কথোপকথন সরানো হয়েছে"</string>
     <string name="clear" msgid="5092178335409471100">"মুছুন"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> সরিয়ে দিন"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"গুরুত্বপূর্ণ এবং পরিবর্তন করা কথোপকথন এখানে দেখানো হবে"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"কথোপকথনকে গুরুত্বপূর্ণ হিসেবে চিহ্নিত করলে বা কথোপকথনে অন্য পরিবর্তন করলে, এখানে সেগুলি দেখানো হবে। \n\nকথোপকথন সেটিংস পরিবর্তন করার জন্য: \nপুল-ডাউন শেড খোলার জন্য স্ক্রিনের উপর থেকে নিচের দিকে সোয়াইপ করুন তারপর কথোপকথনটি টাচ করে ধরে থাকুন।"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ছোট করা"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"বিজ্ঞপ্তির কুলডাউন"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"সব বিজ্ঞপ্তিতে কুলডাউন প্রয়োগ করুন"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"একই অ্যাপ থেকে আপনি একাধিক মেসেজ পাওয়ার সময় ধীরে ধীরে বিজ্ঞপ্তির ভলিউম কমে যায়"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"কথোপকথনে কুলডাউন প্রয়োগ করুন"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"কম সময়ের মধ্যে একই চ্যাট থেকে আপনি একাধিক মেসেজ পাওয়ার সময় ধীরে ধীরে বিজ্ঞপ্তির ভলিউম কমে যায়"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"বিজ্ঞপ্তির কুলডাউন ব্যবহার করবেন না"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"একই অ্যাপ থেকে যতগুলি বিজ্ঞপ্তি পাওয়া যাক না কেন, কখনই বিজ্ঞপ্তির ভলিউম কম হয় না"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"আনলক থাকাকালীন শুধুমাত্র ভাইব্রেট করে"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"স্ক্রিন আনলক থাকাকালীন শুধুমাত্র ভাইব্রেট করে"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"অফিস প্রোফাইলে প্রয়োগ করুন"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"আপনার ব্যক্তিগত প্রোফাইল থেকে অফিস প্রোফাইলে বিজ্ঞপ্তির কুলডাউন সেটিংস প্রয়োগ করুন"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ভিআর(VR) সহায়তাকারী পরিষেবা"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"VR সহায়তাকারী পরিষেবা হিসেবে চলার জন্য কোনও অ্যাপ ইনস্টল করা নেই৷"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> এর জন্য (ভিআর)VR পরিষেবার অ্যাক্সেসের অনুমতি দেবেন?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"বন্ধ আছে"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"অ্যাপ পিন করার ফিচার"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"অ্যাপ পিন করার ফিচারটি ব্যবহার করে আপনি বর্তমান অ্যাপটিকে আনপিন না করা পর্যন্ত দেখতে পাবেন। এই ফিচারটি অনেক কিছুর জন্য ব্যবহার করা যেতে পারে, যেমন, কোনও বিশ্বস্ত বন্ধুকে ডিভাইসে কেবল একটি নির্দিষ্ট গেম খেলতে দেওয়া।"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"কোনও অ্যাপ পিন করা হলে, পিন করা অ্যাপটি অন্যান্য অ্যাপ খুলতে এবং ব্যক্তিগত ডেটা অ্যাক্সেস করতে পারে। \n\n\'অ্যাপ পিন করার\' ফিচার ব্যবহার করতে: 	\n১. \'অ্যাপ পিন করার\' ফিচার চালু করুন 	\n২. \'ওভারভিউ\' বিকল্পটি খুলুন 	\n৩. স্ক্রিনের উপরে অ্যাপ আইকন ট্যাপ করে \'পিন করুন\' বিকল্পে ট্যাপ করুন"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"কোনও অ্যাপ পিন করা হলে, পিন করা অ্যাপটি অন্যান্য অ্যাপ খুলতে এবং ব্যক্তিগত ডেটা অ্যাক্সেস করতে পারে। \n\nআপনি নিরাপদে কারও সাথে ডিভাইস শেয়ার করতে চাইলে, পরিবর্তে কোনও গেস্ট ইউজার ব্যবহার করে চেষ্টা করুন। \n\n\'অ্যাপ পিন করার\' ফিচার ব্যবহার করতে: 	\n১. \'অ্যাপ পিন করার\' ফিচার চালু করুন 	\n২. \'ওভারভিউ\' বিকল্পটি খুলুন 	\n৩. স্ক্রিনের উপরে অ্যাপ আইকন ট্যাপ করে \'পিন করুন\' বিকল্পে ট্যাপ করুন"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"কোনও অ্যাপ পিন করা হলে, পিন করা অ্যাপটি অন্যান্য অ্যাপ খুলতে এবং ব্যক্তিগত ডেটা অ্যাক্সেস করতে পারে। \n\n\'অ্যাপ পিন করার ফিচার\' ব্যবহার করতে: 	\n{0,number,integer} \'অ্যাপ পিন করার ফিচার\' চালু করুন 	\n{1,number,integer} \'এক নজরে\' বিভাগ খুলুন 	\n{2,number,integer} স্ক্রিনের উপরে অ্যাপ আইকন ট্যাপ করে \'পিন করুন\' বিকল্পে ট্যাপ করুন"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"কোনও অ্যাপ পিন করা হলে, পিন করা অ্যাপটি অন্যান্য অ্যাপ খুলতে এবং ব্যক্তিগত ডেটা অ্যাক্সেস করতে পারে। \n\nআপনি নিরাপদে কারও সাথে ডিভাইস শেয়ার করতে চাইলে, পরিবর্তে কোনও গেস্ট ইউজার ব্যবহার করে চেষ্টা করুন। \n\n\'অ্যাপ পিন করার ফিচার\' ব্যবহার করতে: 	\n{0,number,integer} \'অ্যাপ পিন করার ফিচার\' চালু করুন 	\n{1,number,integer} \'এক নজরে\' বিভাগ খুলুন 	\n{2,number,integer} স্ক্রিনের উপরে অ্যাপ আইকন ট্যাপ করে \'পিন করুন\' বিকল্পে ট্যাপ করুন"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"যখন কোনও অ্যাপ পিন করা থাকে: \n\n•	 ব্যক্তিগত ডেটা অ্যাক্সেসযোগ্য হতে পারে \n		(যেমন পরিচিতি এবং ইমেল কন্টেন্ট) \n•	 পিনযুক্ত অ্যাপটি অন্যান্য অ্যাপ খুলতে পারে\n\nআপনি বিশ্বাস করেন শুধু এমন ব্যক্তির সাথে অ্যাপ পিন করার ফিচারটি ব্যবহার করুন।"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"আনপিন করার আগে আনলক প্যাটার্ন চান"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"আনপিন করার আগে পিন চান"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"আনপিন করার আগে পাসওয়ার্ড চান"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"আনপিন করার সময় ডিভাইস লক করুন"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"সিম মুছে ফেলার বিষয়টি কনফার্ম করুন"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"আপনি ই-সিম মুছতে চান কিনা তা কনফার্ম করুন"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ই-সিম মুছে ফেলার আগে নিজের পরিচয় যাচাই করুন"</string>
     <string name="memtag_title" msgid="5096176296797727201">"\'উন্নত মেমরি সুরক্ষা\' বিটা"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"উন্নত মেমরি সুরক্ষা"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ব্যবহার না হওয়া অ্যাপের সেটিংস"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ব্যবহার না হলে অ্যাপ অ্যাক্টিভিটি পজ করুন"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"অনুমতি সরান, অস্থায়ী ফাইল মুছুন এবং বিজ্ঞপ্তি বন্ধ করুন"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ব্যবহার না করা হলে অ্যাপ ম্যানেজ করুন"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"অনুমতি সরান, অস্থায়ী ফাইল মুছুন এবং বিজ্ঞপ্তি বন্ধ করুন এবং অ্যাপ আর্কাইভ করুন"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"সমস্ত অ্যাপ্লিকেশন"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ইনস্টল করা অ্যাপগুলি"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ইনস্ট্যান্ট অ্যাপ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"খালি আছে"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"অ্যাপ্লিকেশানগুলির দ্বারা ব্যবহৃত মেমরি"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{শেষ {time}-এ ১টি অ্যাপ মেমরি ব্যবহার করেছে}one{শেষ {time}-এ #টি অ্যাপ মেমরি ব্যবহার করেছে}other{শেষ {time}-এ #টি অ্যাপ মেমরি ব্যবহার করেছে}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"মেমরি ব্যবহারের প্রোফাইলিং চালু করুন"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"মেমরি ব্যবহারের প্রোফাইলিংয়ের জন্য অতিরিক্ত সিস্টেম রিসোর্স প্রয়োজন।"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"মেমরি ব্যবহারের প্রোফাইলিং বন্ধ করা আছে"</string>
     <string name="running_frequency" msgid="7260225121706316639">"পুনরাবৃত্তির হার"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"সর্বাধিক ব্যবহার"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"কোনও ডেটা ব্যবহৃত হয়নি"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"অন্য অ্যাপের উপরে দেখানো"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"অন্য অ্যাপের উপর দেখানোর অনুমতি দিন"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"আপনি অন্য যে সমস্ত অ্যাপ ব্যবহার করছেন, সেগুলির উপরে এই অ্যাপটিকে দেখানোর অনুমতি দিন। আপনি কোথায় ট্যাপ করছেন অথবা স্ক্রিনে কি দেখা যাচ্ছে এই অ্যাপ সবকিছুই দেখতে পাবে।"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"মিডিয়া আউটপুট পরিবর্তন করুন"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"অ্যাপকে মিডিয়া আউটপুট পাল্টানোর অনুমতি দিন"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"অন্য অ্যাপ থেকে কোন কানেক্ট করা ডিভাইস অডিও বা ভিডিও প্লে করবে তা বেছে নিতে এই অ্যাপকে অনুমতি দিন। অনুমতি দেওয়া হলে, এই অ্যাপ উপলভ্য থাকা ডিভাইসের তালিকা অ্যাক্সেস করতে পারবে যেমন, হেডফোন ও স্পিকার এবং বেছে নিতে পারবে কোন আউটপুট ডিভাইস, অডিও বা ভিডিও স্ট্রিম অথবা কাস্ট করা জন্য ব্যবহার করা হয়েছে।"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"সব ফাইলে অ্যাক্সেস"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"সব ফাইল ম্যানেজ করতে অ্যাক্সেস দিন"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"এই ডিভাইস অথবা এতে কানেক্ট রয়েছে এমন যেকোনও স্টোরেজে থাকা সব ফাইল পড়তে, পরিবর্তন করতে এবং মুছতে এই অ্যাপকে অনুমতি দিন। অনুমতি দিলে এই অ্যাপ আপনাকে না জানিয়েই ফাইলগুলি অ্যাক্সেস করতে পারবে।"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"সব ফাইল অ্যাক্সেস করতে পারে"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ভয়েস অ্যাক্টিভেশন অ্যাপ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ভয়েস অ্যাক্টিভেশনের অনুমতি দিন"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ভয়েস অ্যাক্টিভেশন, ভয়েস কমান্ড ব্যবহার করে অনুমোদিত অ্যাপ, হ্যান্ডস-ফ্রি সুবিধা চালু করে। ডেটা যাতে শুধুমাত্র আপনার জন্যই ব্যক্তিগত থাকে, বিল্ট-ইন অ্যাডাপ্টিভ সেন্সিং তা নিশ্চিত করে।\n\n"<a href="">"সুরক্ষিত অ্যাডাপ্টিভ সেন্সিং সম্পর্কে অনেক কিছু"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ফুল স্ক্রিন বিজ্ঞপ্তি"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"এই অ্যাপকে ফুল স্ক্রিন জুড়ে বিজ্ঞপ্তি দেখানোর অনুমতি দিন"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ডিভাইস লক থাকার সময় এই অ্যাপকে ফুল স্ক্রিন জুড়ে বিজ্ঞপ্তি দেখানোর অনুমতি দিন। অ্যালার্ম, ইনকামিং কল অথবা অন্যান্য জরুরি বিজ্ঞপ্তি হাইলাইট করতে, অ্যাপ এগুলি ব্যবহার করতে পারে।"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> ডেটার বিষয়ে সতর্কতা"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> ডেটার সীমা"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> ডেটার বিষয়ে সতর্কতা / <xliff:g id="ID_2">^2</xliff:g> ডেটার সীমা"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"পরিষেবা প্রদানকারী ডেটার হিসাব, ডিভাইসের হিসাব থেকে ভিন্ন হতে পারে"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"পরিষেবা প্রদানকারী নেটওয়ার্কের ব্যবহৃত ডেটা বাদ দিয়ে"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ব্যবহৃত হয়েছে"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ডেটা সতর্কতা সেট করুন"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> আগে আপডেট করা হয়েছে"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> এইমাত্র আপডেট করেছে"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"এইমাত্র আপডেট করা হয়েছে"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"প্ল্যান দেখুন"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"বিবরণ দেখুন"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ডেটা সেভার"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"অসীমিত ডেটা"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ব্যাকগ্রাউন্ডে থাকাকালীন স্বাভাবিকের চেয়ে আরও বেশি ব্যাটারি ব্যবহার করেছে"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ফোরগ্রাউন্ডে থাকাকালীন আরও বেশি ব্যাটারি ব্যবহার করেছে"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ফোরগ্রাউন্ডে থাকাকালীন স্বাভাবিকের চেয়ে আরও বেশি ব্যাটারি ব্যবহার করেছে"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ব্যাটারির ব্যবহারে অসঙ্গতি"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ব্যাটারির বেশি ব্যবহার"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ব্যাকগ্রাউন্ডে ব্যাটারির বেশি ব্যবহার"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ফোরগ্রাউন্ডে বেশি ব্যাটারির ব্যবহার"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"দ্রুত সেটিংস ডেভেলপার টাইলস"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb অনুমোদন টাইম-আউট বন্ধ করুন"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ব্যবহারকারীর কনফিগার করা (কমপক্ষে ১ দিন) অথবা ডিফল্ট (৭ দিন) সময়ের মধ্যে আবার কানেক্ট করা হয়নি এমন সিস্টেমের adb অনুমোদন অটোমেটিক প্রত্যাহার করার বিকল্প বন্ধ করে দিন।"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"উইনস্কোপ ট্রেস"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"সেন্সর বন্ধ করা আছে"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"অফিস প্রোফাইলের সেটিংস"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"অফিস ডিরেক্টরি ব্যবহার করে ব্যক্তিগত অ্যাপগুলিকে পরিচিতি সার্চ করার অনুমতি দিন"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"সিস্টেম নেভিগেশন, ২টি বোতাম দিয়ে করা নেভিগেশন, ৩টি বোতাম দিয়ে করা নেভিগেশন, জেসচার করে করা নেভিগেশন, সোয়াইপ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"\'ডিজিটাল অ্যাসিস্ট্যান্ট\'"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"\'অ্যাসিস্ট্যান্ট\' চালু করতে সোয়াইপ করুন"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ডিজিটাল অ্যাসিস্ট্যান্ট\' অ্যাপ চালু করতে নিচের কোণা থেকে উপরের দিকে সোয়াইপ করুন।"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ চালু করতে নিচের কোণ থেকে উপরের দিকে সোয়াইপ করুন"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ব্যবহার করার জন্য হোম বোতাম প্রেস করে ধরে রাখুন"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ডিজিটাল অ্যাসিস্ট্যান্ট অ্যাপ চালু করতে \'হোম\' বোতাম প্রেস করে ধরে রাখুন।"</string>
     <string name="low_label" msgid="6525629096999711220">"কম করুন"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"আটোফিল পরিষেবা"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ডিফল্ট অটোফিল পরিষেবা"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"পাসওয়ার্ড"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবা"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"অতিরিক্ত পরিষেবা প্রদানকারী"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"পছন্দের পরিষেবা"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"অতিরিক্ত পরিষেবা"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{#টি পাসওয়ার্ড}one{#টি পাসওয়ার্ড}other{#টি পাসওয়ার্ড}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"অটো, ফিল, অটোফিল, পাসওয়ার্ড"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ডেটা, পাসকী, পাসওয়ার্ড"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"অটো, ফিল, অটো-ফিল ফিচার, ডেটা, পাসকি, পাসওয়ার্ড"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"পরিবর্তন করুন"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"খুলুন"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"কিছুই বেছে নেওয়া হয়নি"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;নিশ্চিত করুন যে এই অ্যাপটি বিশ্বাসযোগ্য&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; কোনও তথ্য নিজে থেকে পূরণ করা যাবে কিনা, তা নির্ণয় করতে &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; অ্যাপটি আপনার স্ক্রিনে যা দেখা যাচ্ছে সেই অনুযায়ী সিদ্ধান্ত নেয়।"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ব্যবহার করবেন?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; আপনার স্ক্রিনে যা যা দেখা যাচ্ছে সেগুলি ব্যবহার করে কোন অংশ অটোমেটিক পূরণ করা যাবে তা নির্ধারণ করে। এখন থেকে নতুন পাসওয়ার্ড, পাসকী এবং অন্যান্য তথ্য এখানে সেভ করা হবে।"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবা"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; এখন থেকে নতুন পাসওয়ার্ড, পাসকী ও অন্যান্য তথ্য এখানে সেভ করা হবে। কী কী অটোফিল করা যেতে পারে তা নির্ধারণ করতে, আপনার স্ক্রিনে দেখানো বিষয় &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ব্যবহার করতে পারে।"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"পাসওয়ার্ড, পাসকী &amp; অটোফিল"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s বন্ধ করবেন?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;এই পরিষেবা বন্ধ করবেন?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; পাসওয়ার্ড, \'পাসকী\', পেমেন্ট পদ্ধতির মতো তথ্য ও অন্যান্য সেভ করে রাখা তথ্য, আপনি সাইন-ইন করার সময় উপলভ্য হবে না। আপনার সেভ করে রাখা তথ্য ব্যবহার করতে, একটি পাসওয়ার্ড, \'পাসকী\' বা ডেটা পরিষেবা বেছে নিন।"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"পাসওয়ার্ড, পাসকী &amp; অটোফিল"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;সবকটি পরিষেবা বন্ধ করবেন?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; আপনি সাইন-ইন করার সময় পাসওয়ার্ড, \'পাসকী\' ও অন্যান্য তথ্য উপলভ্য হবে না"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;আপনার পছন্দের পরিষেবা পাল্টে এটি করুন: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; এখন থেকে নতুন পাসওয়ার্ড, \'পাসকী\' ও অন্যান্য তথ্য এখানে সেভ করা হবে। কী কী অটোফিল করা যেতে পারে তা নির্ধারণ করতে, আপনার স্ক্রিনে দেখানো বিষয় &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ব্যবহার করতে পারে"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ব্যবহার করবেন?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"বন্ধ করুন"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"পরিবর্তন করুন"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"একবারে আপনি শুধুমাত্র ৫টি পরিষেবা চালু রাখতে পারবেন"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"অন্য একটি পরিষেবা যোগ করতে হলে অন্তত ১টি পরিষেবা বন্ধ করুন"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"কী কী অটোফিল করা যাবে তা নির্ধারণ করতে, %1$s, আপনার স্ক্রিনে যা দেখা যাচ্ছে সেগুলি ব্যবহার করে।"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবার সীমা"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"আপনি একই সময়ে সর্বাধিক ৫টি পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবা চালু রাখতে পারবেন। আরও পরিষেবা যোগ করতে একটি বন্ধ করুন।"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবার সীমা"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"আপনি একই সময়ে সর্বাধিক ৫টি পাসওয়ার্ড, পাসকী ও ডেটা পরিষেবা চালু রাখতে পারবেন। আরও পরিষেবা যোগ করতে একটি বন্ধ করুন।"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"বন্ধ করুন"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"অটো-ফিল"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"লগ-ইন লেভেল"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"অ্যাপ মানানসই করা সম্পর্কিত পরিবর্তন শুধুমাত্র ডিবাগ করা যাবে এমন অ্যাপগুলির ক্ষেত্রে প্রযোজ্য। ডিবাগ করা যাবে এমন একটি অ্যাপ ইনস্টল করে আবার চেষ্টা করুন।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"অন্য একটি সেটিং-এর উপর নির্ভর করে"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"অ্যাকাউন্ট"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%dটি অ্যাকাউন্ট"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ডিভাইসের নাম"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"মূল তথ্য"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"আইন সংক্রান্ত ও রেগুলেটরি"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ট্যাগ স্ক্যান করার সময় এই অ্যাপকে চালু করার অনুমতি দিন।\nএই অনুমতি চালু থাকলে, যখনই একটি ট্যাগ শনাক্ত করা হবে, অ্যাপটি তখন একটি বিকল্প হিসেবে উপলভ্য হবে।"</string>
     <string name="media_output_title" msgid="8283629315159510680">"মিডিয়া এতে চালান"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g>-এ চালান"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"অডিও বাজবে"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"এই ডিভাইস"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"কলের সময় অনুপলভ্য"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"এতে কথা বলুন:"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"মিউট"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"চালু করতে, আগে পাওয়ার মেনুতে \"পাওয়ার বোতাম প্রেস করে ধরে রাখুন\" বিকল্পটি পরিবর্তন করুন।"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"নেটওয়ার্কের বিবরণ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"আপনার ফোনের অ্যাপে আপনার ডিভাইসের নাম দেখা যাবে। আপনি ব্লুটুথ ডিভাইসে বা ওয়াই-ফাই নেটওয়ার্কে কানেক্ট করলে অথবা ওয়াই-ফাই হটস্পট সেট আপ করলে এটি অন্যরাও হয়ত দেখতে পাবেন।"</string>
     <string name="devices_title" msgid="649715719278562515">"ডিভাইস"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"নেটওয়ার্ক বেছে নিন"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ডিসকানেক্ট আছে"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"নাম"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"রঙ (মানানসই অ্যাপের দ্বারা ব্যবহৃত)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"সেভ করুন"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"সিম ব্যবহার করুন"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"এই সিম ব্যবহার করুন"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"বন্ধ"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"এই সিমটি বন্ধ করার জন্য সিম কার্ডটি সরিয়ে দিন"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> চালু করতে ট্যাপ করুন"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"সিম মুছে ফেলুন"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"এই সিম কার্ড বন্ধ করতে, সিম কার্ডটি খুলে নিন"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> সিম কার্ড চালু করতে ট্যাপ করুন"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ই-সিম মুছে দিন"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"পছন্দের নেটওয়ার্ক"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"নেটওয়ার্ক অপারেটিং মোড পরিবর্তন করুন"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"পছন্দের নেটওয়ার্ক"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"দামের বিষয়ে জানতে নেটওয়ার্ক প্রদানকারীর সাথে যোগাযোগ করুন।"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"অ্যাপ ডেটার ব্যবহার"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ভুল নেটওয়ার্ক মোড <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। এড়িয়ে যান।"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"স্যাটেলাইট মেসেজিং"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"স্যাটেলাইটের মাধ্যমে টেক্সট মেসেজ পাঠান ও পান। আপনার অ্যাকাউন্টে অন্তর্ভুক্ত।"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"স্যাটেলাইটের মাধ্যমে টেক্সট মেসেজ পাঠান ও পান। আপনার অ্যাকাউন্টে অন্তর্ভুক্ত নয়।"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"স্যাটেলাইট মেসেজিং"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"স্যাটেলাইট মেসেজিং সম্পর্কে"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"উপযুক্ত <xliff:g id="CARRIER_NAME">%1$s</xliff:g> অ্যাকাউন্টের অংশ হিসেবে আপনি স্যাটেলাইটের মাধ্যমে টেক্সট মেসেজ পেতে ও পাঠাতে পারবেন"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"আপনার <xliff:g id="CARRIER_NAME">%1$s</xliff:g> প্ল্যান"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"আপনার অ্যাকাউন্টে স্যাটেলাইট মেসেজিং অন্তর্ভুক্ত আছে"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"আপনার অ্যাকাউন্টে স্যাটেলাইট মেসেজিং অন্তর্ভুক্ত নেই"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"স্যাটেলাইট মেসেজিং যোগ করুন"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"এটি কীভাবে কাজ করে"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"আপনার মোবাইল নেটওয়ার্ক না থাকলে"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"আপনার ফোন স্যাটেলাইটের সাথে অটোমেটিক কানেক্ট হয়ে যাবে। সবচেয়ে ভাল কানেকশনের জন্য পরিষ্কার আকাশ দেখা যায় এমন জায়গায় থাকুন।"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"আপনার ফোন স্যাটেলাইটে কানেক্ট করার পরে"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"আপনি জরুরি পরিষেবা সহ যেকোনও ব্যক্তিকে মেসেজ পাঠাতে পারেন। মোবাইল নেটওয়ার্ক পাওয়া গেলে ফোন সেটির সাথে আবার কানেক্ট করবে।"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"স্যাটেলাইট মেসেজিংয়ে আরও বেশি সময় লাগতে পারে এবং এটি শুধু কিছু জায়গাতে উপলভ্য। আবহাওয়া এবং নির্দিষ্ট স্ট্রাকচার আপনার স্যাটেলাইট কানেকশনে বিঘ্ন ঘটাতে পারে। স্যাটেলাইটের মাধ্যমে কল করা যায় না।\n\nআপনার অ্যাকাউন্টে পরিবর্তন সেটিংসে দেখাতে কিছু সময় লাগতে পারে। বিস্তারিত জানতে <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-এর সাথে যোগাযোগ করুন।"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"স্যাটেলাইট মেসেজিং সম্পর্কে আরও তথ্য"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"অ্যাক্সেস পয়েন্টের নাম"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>-এ কনেক্ট থাকলে উপলভ্য থাকে না"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-এ পাল্টাতে চান?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"সিম কার্ডে পাল্টাতে চান?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ব্যবহার করতে চান?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"যেকোনও সময় শুধুমাত্র একটি সিম কাজ করবে।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-এ পাল্টালে <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-এর পরিষেবা বাতিল হয়ে যাবে না।"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"একবারে শুধু ১টি ই-সিম চালু থাকতে পারে।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-এ পাল্টালে আপনার <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> পরিষেবা বাতিল হবে না।"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"যেকোনও সময় শুধুমাত্র একটি সিম কাজ করবে।\n\nপাল্টালে <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-এর পরিষেবা বাতিল করা হবে না।"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"একবারে ১টি সিম চালু থাকতে পারে।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-এ পাল্টালে আপনার <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> পরিষেবা বাতিল হয়ে যাবে না।"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"একবারে শুধু ১টি ই-সিম চালু থাকতে পারে।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-এ পাল্টালে আপনার <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> পরিষেবা বাতিল হয়ে যাবে না।"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"একবারে ১টি সিম চালু থাকতে পারে।\n\nপাল্টালে আপনার <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> পরিষেবা বাতিল হয়ে যাবে না।"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"আপনি একসাথে ২টি সিম কার্ড ব্যবহার করতে পারবেন না। <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-এর সিম কার্ড ব্যবহার করতে, অন্য সিম কার্ড বন্ধ করুন।"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-এ পাল্টান"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> বন্ধ করুন"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"সিম কার্ড বন্ধ করলেও আপনার পরিষেবা বাতিল করা হবে না"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"নেটওয়ার্কে কানেক্ট করা হচ্ছে…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"কল ও মেসেজের জন্য <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-এ বদল করা হচ্ছে…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"পরিষেবা প্রদানকারী পাল্টানো যাচ্ছে না"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"একটি সমস্যার কারণে পরিষেবা প্রদানকারী পাল্টানো যাবে না।"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"আপনার সিম কার্ড চালু করা হচ্ছে…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-এ পরিবর্তন করা হচ্ছে…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"সিম কার্ড পরিবর্তন করা যাচ্ছে না"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"কোনও সমস্যা হয়েছে। সিম কার্ড পরিবর্তন করা যাচ্ছে না।"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> পরিষেবা বন্ধ করতে চান?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"সিম বন্ধ করতে চান?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"সিম বন্ধ করা হচ্ছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"পরিষেবা প্রদানকারীকে বন্ধ করা যাচ্ছে না"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"কোনও সমস্যা হয়েছে এবং আপনার পরিষেবা প্রদানকারীর পরিষেবা বন্ধ করা যায়নি।"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"সিম কার্ড বন্ধ করা যাচ্ছে না"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"কোনও সমস্যা হয়েছে এবং আপনার সিম কার্ডটি বন্ধ করা যায়নি।"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"২টি সিম ব্যবহার করতে চান?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"এই ডিভাইসে একসাথে ২টি সিম চালু থাকতে পারে। একবারে ১টি সিম ব্যবহার করা চালিয়ে যেতে \"না থাক\" বিকল্পে ট্যাপ করুন।"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ডিভাইস রিস্টার্ট করতে চান?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"না থাক"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"বাতিল করুন"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"পাল্টান"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"বন্ধ করুন"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"সিম চালু করা যাচ্ছে না"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"সিমটি আবার চালু করার চেষ্টা করুন। এতেও সমস্যা ঠিক না হলে, ডিভাইস রিস্টার্ট করুন।"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"আপনার সিম সেট-আপ করুন"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"এই ডিভাইসে একাধিক সিম ব্যবহার করার জন্য আপনার মোবাইল নেটওয়ার্ক সংক্রান্ত পছন্দ সেট করুন"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"আপনার সিমে লেবেল লাগান"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"আপনি কল, টেক্সট মেসেজ করা ও ডেটা ব্যবহার করার সময় ও সেটিংসে এইসব লেবেল দেখতে পাবেন"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"সিম লেবেল"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"লেবেল"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"যে সিম ব্যবহার করতে চান তা বেছে নিন"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"আপনি একসাথে ২টি সিম ব্যবহার করতে পারবেন"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"আপনার প্রাথমিক সিম বেছে নিন"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"কল, টেক্সট মেসেজ করা ও ডেটা ব্যবহার করার সময় ডিফল্ট হিসেবে কোন সিম ব্যবহার করতে চান তা বেছে নিন"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"আপনার প্রাথমিক সিম"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"কল"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"টেক্সট"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"অটোমেটিক ডেটা পরিবর্তন করা"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"কভারেজ ও উপলভ্যতার উপর নির্ভর করে কোনও একটি সিমের ডেটা ব্যবহার করুন"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"শুধু ডেটা"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"সেট-আপ করুন"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"পরবর্তী"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> চালু করা হচ্ছে…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"মোবাইল নেটওয়ার্ক"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ফোন নম্বর"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"সিম লেবেল ও কালার"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"নেটওয়ার্ক চালু করা"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"পরিষেবা প্রদানকারী পাল্টানো হচ্ছে"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> চালু আছে"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"আপনার <xliff:g id="CARRIER_NAME">%1$s</xliff:g> সিম কার্ড চালু হয়ে গেছে"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"সিম সেটিংস আপডেট করতে ট্যাপ করুন"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> নেটওয়ার্ক ব্যবহার করা শুরু করেছেন"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"অন্য একটি পরিষেবা প্রদানকারীর নেটওয়ার্ক ব্যবহার করা শুরু করেছেন"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"আপনার মোবাইল নেটওয়ার্কে পরিবর্তন করা হয়েছে"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"অন্য সিম সেট আপ করুন"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"আপনার চালু সিম বেছে নিন অথবা ২টি সিম একসাথে ব্যবহার করুন"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ব্যবহার করতে একটি নম্বর বেছে নিন"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{এই ডিভাইসে ১টি নম্বর উপলভ্য আছে, তবে শুধুমাত্র একটি নম্বরই ব্যবহার করা যাবে}=2{এই ডিভাইসে ২টি নম্বর উপলভ্য আছে, তবে শুধুমাত্র একটি নম্বরই ব্যবহার করা যাবে}one{এই ডিভাইসে #টি নম্বর উপলভ্য আছে, তবে শুধুমাত্র একটি নম্বরই ব্যবহার করা যাবে}other{এই ডিভাইসে #টি নম্বর উপলভ্য আছে, তবে শুধুমাত্র একটি নম্বরই ব্যবহার করা যাবে}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"চালু করা হচ্ছে<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"এই মুহূর্তে চালু করা যাবে না"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ব্যবহার করার জন্য সিম কার্ড বেছে নিন"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{এই ডিভাইসে ১টি সিম কার্ড উপলভ্য আছে, তবে একবারে একটি সিম ব্যবহার করা যাবে}=2{এই ডিভাইসে ২টি সিম কার্ড উপলভ্য আছে, তবে একবারে একটি সিম ব্যবহার করা যাবে}one{এই ডিভাইসে #টি সিম কার্ড উপলভ্য আছে, তবে একবারে একটি সিম ব্যবহার করা যাবে}other{এই ডিভাইসে #টি সিম কার্ড উপলভ্য আছে, তবে একবারে একটি সিম ব্যবহার করা যাবে}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g>চালু করা হচ্ছে"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"এই মুহূর্তে এই সিম কার্ড চালু করা যায়নি"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> নেটওয়ার্ক ব্যবহার করতে চান?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"মোবাইল ডেটা, কল এবং এসএমএসের জন্য <xliff:g id="CARRIER_NAME">%1$s</xliff:g> নেটওয়ার্ক ব্যবহার করা হবে।"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"কোনও চালু সিম নেই"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"পরে মোবাইল ডেটা, কল ফিচার এবং এসএমএস ব্যবহার করতে, আপনার \'নেটওয়ার্ক\' সেটিংসে যান"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"সিম কার্ড"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ই-সিম মুছবেন?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"এই সিম মুছে দিলে এই ডিভাইসে <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> পরিষেবা আর পাওয়া যাবে না।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> পরিষেবা কিন্তু বাতিল হবে না।"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"এটি এই ডিভাইস থেকে <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-এর পরিষেবা সরিয়ে দেবে, কিন্তু আপনার <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> প্ল্যান বাতিল হবে না।"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"মুছুন"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"সিম মুছে ফেলা হচ্ছে…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"সিম মুছে ফেলা যায়নি"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"কোনও সমস্যার জন্য এই সিম মোছা যাচ্ছে না।\n\nআপনার ডিভাইস রিস্টার্ট করে আবার চেষ্টা করুন।"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ই-সিম মোছা হচ্ছে…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ই-সিম মোছা যাচ্ছে না"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"কিছু সমস্যা হয়েছে এবং এই ই-সিম মোছা যায়নি।\n\nআপনার ডিভাইস আবার চালু করে চেষ্টা করুন।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ডিভাইসে কানেক্ট করুন"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"আপনার ডিভাইসে কানেক্ট করার জন্য <xliff:g id="APPNAME">%1$s</xliff:g> অ্যাপ সাময়িকভাবে একটি ওয়াই-ফাই নেটওয়ার্ক ব্যবহার করতে চায়"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"কোনও ডিভাইস খুঁজে পাওয়া যায়নি। ডিভাইস চালু আছে এবং কানেক্ট করার জন্য তৈরি কিনা তা ভাল করে দেখে নিন।"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"জরুরি কলগুলি"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"আপনার পরিষেবা প্রদানকারী নেটওয়ার্কের মাধ্যমে ওয়াই-ফাই কলিং ফিচারের সাহায্যে জরুরি কল করা যাবে না।\nজরুরি কল করতে ডিভাইস নিজে থেকে মোবাইল নেটওয়ার্ক পরিবর্তন করে নেবে।\nমোবাইল কভারেজ আছে এমন জায়গাতেই শুধুমাত্র জরুরি কল করা যাবে।"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"কল কোয়ালিটির উন্নতি করতে ওয়াই-ফাই ব্যবহার করুন"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ব্যাক-আপ কলিং"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> উপলভ্য না হলে বা রোমিংয়ে থাকলে, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-এ কল করতে ও পেতে আপনার মোবাইল ডেটা সিম ব্যবহার করুন।"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ব্যাক-আপ কলিং"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ইনকামিং এমএমএস মেসেজ"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"এমএমএস মেসেজ পাঠানো যায়নি"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"মোবাইল ডেটা বন্ধ থাকার সময়ে <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>-এ এমএমএস মেসেজের অনুমতি দিতে ট্যাপ করুন"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"অফিসের নীতি সংক্রান্ত তথ্য"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"আইটি অ্যাডমিন সেটিংস ম্যানেজ করে"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"১৬K সাইজের পৃষ্ঠা সহ বুট করুন"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"বুট ডিভাইস ১৬K সাইজের পৃষ্ঠার জন্য মানানসই কার্নেল ব্যবহার করছে"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"১৬KB পৃষ্ঠার জন্য মানানসই কার্নেল সহ রিবুুট করবেন?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"সতর্কতা: কিছু অ্যাপ্লিকেশন এই মোডে কাজ নাও করতে পারে। কনফার্ম করলে ডিভাইস রিবুট করবে।"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"৪KB পৃষ্ঠার জন্য মানানসই কার্নেল সহ রিবুুট করবেন?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"কনফার্ম করলে ডিভাইস রিবুট করবে।"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"কার্নেল ১৬KB পৃষ্ঠার জন্য মানানসই কার্নেলে আপডেট করা যায়নি।"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"পরিবর্তন প্রয়োগ করা হচ্ছে"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"সমস্যার রিপোর্টের পরিচালক"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"আপনার ডিভাইসে কোন অ্যাপটি সমস্যার রিপোর্টের শর্টকাট পরিচালনা করবে তা নির্ধারণ করে।"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ব্যক্তিগত"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"যেসব অ্যাপ অন্যান্য অ্যাপের উপর কন্টেন্ট দেখাতে পারে সেগুলিকে সেটিংস স্ক্রিনের উপর ওভারলে করার অনুমতি দিন"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"মক মোডেম পরিষেবা ব্যবহারের অনুমতি দিন"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ইনস্ট্রুমেন্টেশন টেস্টিংয়ের জন্য এই ডিভাইসকে মক মোডেম পরিষেবা ব্যবহারের অনুমতি দিন। স্বাভাবিকভাবে ফোন ব্যবহারের সময় এই পরিষেবা চালু করবেন না"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"স্ক্রিন শেয়ার করা সংক্রান্ত সুরক্ষা বন্ধ করুন"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"স্ক্রিন শেয়ার করার সময় সিস্টেমে প্রযোজ্য অ্যাপ ও বিজ্ঞপ্তি সংক্রান্ত সুরক্ষা বন্ধ করে দেয়"</string>
     <string name="media_controls_title" msgid="403271085636252597">"মিডিয়া"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"মিডিয়া প্লেয়ার পিন করুন"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"প্লেব্যাক দ্রুত আবার চালু করতে, \'দ্রুত সেটিংস\' মেনুতে মিডিয়া প্লেয়ার খোলা থাকে"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"লক স্ক্রিনে মিডিয়া দেখা"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"প্লেব্যাক ঝটপট আবার চালু করার জন্য, লক স্ক্রিনে মিডিয়া প্লেয়ার খোলা থাকে"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"মিডিয়া সাজেশন দেখুন"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant-এর মিডিয়া সাজেশন দেখুন"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"আপনার অ্যাক্টিভিটি অনুযায়ী"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"প্লেয়ার লুকান"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"প্লেয়ার দেখুন"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"মিডিয়া"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"ক্যামেরা সফ্টওয়্যার এক্সটেনশনের অনুমতি দিন"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"উন্নত ক্যামেরা ফিচারের জন্য ডিফল্ট সফ্টওয়্যার প্রয়োগ করার প্রসেস চালু করে যেমন, চোখের সাহায্য ছাড়াই ভিডিওগ্রাফি।"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth চালু হবে"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ইন্টারনেট"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"সিম"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"সিম"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ই-সিম"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ই-সিম"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"অ্যাক্টিভ আছে"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"অ্যাক্টিভ নেই"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"চালু আছে"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"বন্ধ আছে"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g>-এর জন্য ডিফল্ট হিসেবে"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"কল"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"এসএমএস"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"মানানসই মিডিয়ার অডিও আরও বেশি শ্রবণযোগ্য"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"হেড ট্র্যাকিং"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"মাথা নাড়াচাড়া করার সাথে সাথে অডিও পরিবর্তন হয় যাতে আরও স্বাভাবিক শব্দ হয়"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"অনুমতি সিঙ্ক করুন"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"আপনি <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>-কে যে অ্যাপ সংক্রান্ত অনুমতি দিয়েছেন, <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>-কেও সেই একই অনুমতি দিন"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ফোন থেকে অনুমতি সিঙ্ক করুন"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"এই ফোনে অ্যাপকে যে অনুমতি দেওয়া হয়েছে, আপনার ওয়াচেও সেই একই অনুমতি দিন"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"অডিও ডিভাইসের ধরন"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"অজানা"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"স্পিকার"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"মিডিয়াম"</string>
     <string name="contrast_high" msgid="3988567609694797696">"হাই"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"এই অ্যাপটি শুধুমাত্র ১টি উইন্ডোতে খোলা যেতে পারে"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"চালু আছে"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"বন্ধ আছে"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"বন্ধ আছে"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"বন্ধ আছে"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"চালু আছে"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"বন্ধ আছে"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"চালু আছে"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"বন্ধ আছে"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"হালকা স্ক্রিন ডার্ক ও ডার্ক স্ক্রিন হালকা করে"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"স্ক্রিন বড় করুন"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"বন্ধ আছে"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"বন্ধ আছে"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"প্রতারণামূলক অ্যাপ শনাক্ত করতে স্ক্যান করা"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ফিশিংয়ের জন্য অ্যাপ অ্যাক্টিভিটি চেক করুন"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"প্রতারণামূলক অ্যাপ দেখলেই স্ক্যান করুন"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"কাজের ক্ষেত্রে প্রতারণামূলক অ্যাপ দেখলেই স্ক্যান করুন"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"পাসওয়ার্ড এখন সেট আপ হয়ে গেছে"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"কার্সর সরানোর সময় পয়েন্টার দেখান"</string>
 </resources>
diff --git a/res/values-bs/arrays.xml b/res/values-bs/arrays.xml
index 2a21b78..a774197 100644
--- a/res/values-bs/arrays.xml
+++ b/res/values-bs/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Dostupno"</item>
     <item msgid="6096962300722555553">"Izvan opsega"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Onemogućeno"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast i emitiranje"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Korištenje zadanih postavki sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Nakon 1 min"</item>
     <item msgid="1574040255478150028">"Nakon 5 min"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-bs/strings.xml b/res/values-bs/strings.xml
index 54fc1f7..d866df6 100644
--- a/res/values-bs/strings.xml
+++ b/res/values-bs/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Postali ste programer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nema potrebe, već ste programer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Prvo omogućite opcije za programere."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Samo administratori mogu pristupati postavkama programera."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Aktivan"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne radi"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Prednji ekran se uključuje kada sklopite uređaj"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Samo igre, videozapisi i drugo"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Prednji ekran se uključuje za aplikacije koje sprečavaju neaktivnost ekrana"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Prevucite nagore da nastavite"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Sklopite telefon i prevucite nagore na prednjem ekranu da nastavite koristiti aplikaciju ili pričekajte nekoliko sekundi da se ekran zaključa"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nikada"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Prednji ekran se zaključava kada sklopite uređaj"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Koristi automatsko rotiranje"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Srodno"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Melodija zvona i alarmi"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zvuk tokom poziva"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Mediji"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Obavještenja i drugi zvukovi sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Zvukovi medija i sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Obavještenja"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Prema zadanim postavkama pojedinačne aplikacije određuju izlaz zvuka"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Neimenovani Bluetooth uređaj"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Pretraživanje"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Otkaži"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Onemogući Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Onemogućava funkciju Bluetooth LE Audio ako uređaj podržava mogućnosti hardvera za LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio način rada"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Prikaži prekidač za LE Audio u Detalj. uređ."</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Omogući listu dozvoljenih za Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Omogućite funkciju liste dozvoljenih za Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Zaobiđi Listu dozvoljenih za Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Koristite LE Audio prema zadanim postavkama čak i ako nije potvrđeno da LE Audio periferni uređaj ispunjava kriterije Liste dozvoljenih."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Uređaji za medije"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Uređaji za pozive"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Drugi uređaji"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Sačuvani uređaji"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Povezano s računom"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Prethodno korišteno s računom"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth će se uključiti za uparivanje"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Postavke veze"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Prethodno povezano"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je uključen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Prikaži sve"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Prikaži sve"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisaljka"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritiskanje gornjeg dugmeta"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (radni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisanje u poljima za tekst"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoriranje svih pritisaka dugmeta za pisaljku"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Dijeljenje zvuka"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Dijeli zvuk"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Pozivi i alarmi"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Povežite se s prijenosom zvuka putem QR koda"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"U blizini nije pronađen nijed. prijenos zvuka"</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum i vrijeme"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proksi server"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Obriši"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Dodati %s u preferirane jezike?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Ovo aplikacijama i web lokacijama daje do znanja da je i ovo vaš preferirani jezik."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Postavke uređaja i regionalne postavke će se promijeniti."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Promijeni"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nije dostupan"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"subota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ako aplikacija ne podržava regionalne postavke, koristit će svoje zadane postavke jezika/zemlje."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Saznajte više o postavkama jezika."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Dodatne postavke"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Rodni oblici obraćanja"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Postavite kako želite da vam se obraćaju"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikacije mogu koristiti rodne oblike obraćanja da personaliziraju način na koji vam se obraćaju."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nije navedeno"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Ženski rod"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Muški rod"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutralno"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Ukloniti odabrani jezik?}one{Ukloniti odabrane jezike?}few{Ukloniti odabrane jezike?}other{Ukloniti odabrane jezike?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekst će biti prikazan na drugom jeziku"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Ne mogu se ukloniti svi jezici"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokacija"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Koristi lokaciju"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Isključeno"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Saznajte više o postavkama lokacije."</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="3574930966097093550">"Promijenite pristup lokaciji u Postavke &gt; Sigurnost i privatnost &gt; Kontrole privatnosti"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Računi"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sigurnost"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifriranje i akreditivi"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Za najbolje rezultate koristite zaštitu ekrana koja ima oznaku Proizvedeno za Google. Moguće je da otisak prsta vašeg djeteta neće funkcionirati s drugim zaštitama ekrana."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Otključavanje pomoću sata"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Kada postavite otključavanje licem i otključavanje otiskom prsta, vaš telefon će tražiti otisak prsta ako nosite masku ili se nalazite u mračnom prostoru.\n\nKada se vaše lice ili otisak prsta ne prepozna, možete otključati pomoću sata."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Kada se vaš otisak prsta ne prepozna možete otključati pomoću sata."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Kada se vaše lice ne prepozna možete otključati pomoću sata."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Kada postavite otključavanje licem i otključavanje otiskom prsta, telefon će zatražiti otisak prsta kada nosite masku ili se nalazite u mračnom području.\n\nOtključavanje pomoću sata je drugi praktični način za otključavanje telefona, naprimjer kada su vam prsti vlažni ili lice nije prepoznato."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Otključavanje pomoću sata je drugi praktični način za otključavanje telefona, naprimjer kada vam otisak prsta nije prepoznat."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Otključavanje pomoću sata je drugi praktični način za otključavanje telefona, naprimjer kada vam lice nije prepoznato."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Koristite otisak prsta ili sat da"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Koristite lice ili sat da"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Koristite lice, otisak prsta ili sat da"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Otključavanje pomoću sata je još jedan praktičan način otključavanja telefona, npr. kada su vam vlažni prsti ili kada se ne prepoznaje vaše lice.\n\nTelefon možete otključati pomoću sata kada:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ne sada"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Nastavi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Više"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Kako funkcionira"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Sat mora biti otključan, nalaziti se na zglobu šake i nadohvat ovog telefona. Dok je sat na zglobu šake, više ga nećete morati otključavati."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kada se telefon otključa, dobit ćete obavještenje na satu. Ako se telefon otključao kada niste namjeravali, dodirnite obavještenje da ponovo zaključate telefon."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Vi upravljate svime"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Možete ukloniti sat iz Otključavanja pomoću sada bilo kada u Postavkama"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Dodirnite obavještenje"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Prevucite nagore na zaključanom ekranu"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Odaberite sat"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Dostupni satovi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Otkaži"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potvrdi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Spremni ste!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Sada možete otključati telefon pomoću sata kada prevučete nagore na zaključanom ekranu ili dodirnete obavještenje"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Gotovo"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Otključavanje pomoću sata"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Možete otključati telefon pomoću sata kada prevučete nagore na zaključanom ekranu ili dodirnete obavještenje"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Da koristite Otključavanje pomoću sata, sat mora biti otključan, nalaziti se na zglobu šake, nadohvat ovog telefona i povezan s njim. Ako se prekine veza, trebate otključati telefon da možete koristiti Otključavanje pomoću sata.\n\nImajte na umu:\nu datom trenutku možete imati samo jedan postavljen sat. Da dodate drugi sat, prvo uklonite trenutni."</string>
+    <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">"Otisak prsta i otključavanje licem"</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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sigurnost"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privatnost"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Radni profil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privatni prostor"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Ostavite privatne aplikacije zaključane i sakrivene"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Držite privatne aplikacije u zasebnom prostoru koji možete sakriti ili zaključati"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Zaključavanje privatnog prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Privatni prostor možete otključati na isti način kao što otključavate uređaj ili odaberite drugi način zaključavanja"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Koristi zaključavanje ekrana uređaja"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Otključavanje licem i otiskom prsta"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Otključavanje otiskom prsta"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Otključavanje licem"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dodirnite da postavite"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Otključavanje otiskom prsta za privatni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Otključavanje licem za privatni prostor"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Načini otključavanja"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Isto kao i zaključavanje ekrana uređaja"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Odabrati novo zaključavanje privatnog prostora?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automatski zaključaj privatni prostor"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Možete automatski zaključati privatni prostor ako niste koristili uređaj neko vrijeme"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Svaki put kada se ekran zaključa"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Nakon 5 minuta neaktivnosti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nikada"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Sakrij kada je zaključano"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Sakrij privatni prostor kada je zaključan"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Kako drugi ne bi saznali da imate privatni prostor na uređaju, možete ga sakriti s liste aplikacija"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Pristupite privatnom prostoru kada je sakriven"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"S liste aplikacija unesite \"privatni prostor\" u traku za pretr."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Dodirnite karticu privatnog prostora"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Otključajte privatni prostor"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Isključeno"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Uključeno"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Izbriši privatni prostor"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Izbrisati privatni prostor?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Privatni prostor će se ukloniti s uređaja. Sve privatne aplikacije i podaci će se izbrisati. Ovu radnju ne možete opozvati."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Sljedeći računi će se ukloniti iz vašeg privatnog prostora:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Izbriši"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Brisanje privatnog prostora…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Ovo će potrajati nekoliko trenutaka"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privatni prostor je izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Brisanje privatnog prostora nije uspjelo"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privatni prostor je otključan"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Postavite zaključavanje ekrana"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Da koristite privatni prostor, postavite zaključavanje ekrana na uređaju"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Postavite zaključavanje ekrana"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Otkaži"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Otkaži"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Postavi"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Postavite privatni prostor"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Držite privatne aplikacije u zasebnom prostoru koji možete sakriti ili zaključati"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Kako ovo funkcionira"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Možete pristupiti privatnom prostoru s dna liste aplikacija"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikacije u privatnom prostoru su zaštićene zaključavanjem"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Obavještenja iz aplikacija u privatnom prostoru su sakrivena kada je prostor zaključan"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikacije u vašem privatnom prostoru se neće prikazivati u upravitelju odobrenja, na kontrolnoj tabli za privatnost ni u drugim postavkama kada je privatni prostor zaključan.\n\nPrivatni prostor se ne može premjestiti na novi uređaj. Morate postaviti drugi privatni prostor ako ga želite koristiti na drugom uređaju.\n\nAko neko poveže vaš uređaj s računarom ili na njega instalira štetne aplikacije, možda će moći pristupiti vašem privatnom prostoru."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Postavljanje privatnog prostora…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Obavještenja iz aplikacija u privatnom prostoru su sakrivena kada je prostor zaključan"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Otključajte privatni prostor da dijelite fotografije ili fajlove"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Neke aplikacije su već instalirane u vašem privatnom prostoru"</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_lockscreen_title" msgid="6034864097861137509">"Koristiti zaklj. ekrana za otklj. priv. prostora?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Privatni prostor možete otključati na isti način kao što otključavate uređaj ili odaberite drugi način zaključavanja"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Koristi zaključavanje ekrana"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Odaberite novi način zaključavanja"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Sve je spremno!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Da pronađete privatni prostor, idite na listu aplikacija i kliznite nadolje"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Gotovo"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Kliznite nadolje da pronađete privatni prostor"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Prijava"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Prijavite se na račun da ga koristite s privatnim prostorom"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ne sada"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Nastavi"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Odaberite zaključavanje za privatni prostor"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Privatni prostor možete otključati pomoću otiska prsta. Iz sigurnosnih razloga ova opcija zahtijeva alternativni način zaključavanja."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Postavite PIN za privatni prostor"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Postavite lozinku za privatni prostor"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Postavite uzorak za privatni prostor"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Broj otisaka prstiju koje možete dodati: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste maksimalan broj otisaka prstiju"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nije moguće dodati još otisaka prstiju"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Uzorak"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Lozinka"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Izbrisati zaključavanje ekrana?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Ukloniti sve vrste otključavanja uređaja?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Želite li ukloniti zaštitu profila?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Uzorak štiti telefon ako ga izgubite ili ga neko ukrade"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Uzorak štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Ovim brišete model otiska prsta pohranjen na uređaju. Vaš model lica će se također trajno i sigurno izbrisati. Nećete moći koristiti lice niti otisak prsta za autentifikaciju u aplikacijama."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN štiti telefon ako ga izgubite ili ga neko ukrade"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Izgubit ćete sačuvane podatke, kao što je PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Uklonit će se kartice postavljene za beskontaktno plaćanje.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanik i druge aplikacije za koje je potrebno otključati uređaj možda neće funkcionirati ispravno."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ovim također brišete model otiska prsta pohranjen na uređaju. Nećete moći koristiti otisak prsta za autentifikaciju u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Izgubit ćete sačuvane podatke, kao što su PIN i model otiska prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Uklonit će se kartice postavljene za beskontaktno plaćanje.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanik i druge aplikacije za koje je potrebno otključati uređaj možda neće funkcionirati ispravno."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Vaš model lica će se također trajno i sigurno izbrisati. Nećete moći koristiti lice za autentifikaciju u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Izgubit ćete sačuvane podatke, kao što su PIN i model lica.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Uklonit će se kartice postavljene za beskontaktno plaćanje.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanik i druge aplikacije za koje je potrebno otključati uređaj možda neće funkcionirati ispravno."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ovim brišete model otiska prsta pohranjen na uređaju. Vaš model lica će se također trajno i sigurno izbrisati. Nećete moći koristiti lice niti otisak prsta za autentifikaciju u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Izgubit ćete sačuvane podatke, kao što su PIN, model lica i model otiska prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Uklonit će se kartice postavljene za beskontaktno plaćanje.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanik i druge aplikacije za koje je potrebno otključati uređaj možda neće funkcionirati ispravno."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Lozinka štiti telefon ako ga izgubite ili ga neko ukrade"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Lozinka štiti telefon ako ga izgubite ili ga neko ukrade.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Upariti s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Dodajte novog člana u postojećem koordiniranom skupu"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potvrdite da dodate drugi dio audio uređaja"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kôd za uparivanje putem Bluetootha"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Upišite kod za uparivanje, zatim pritisnite Return ili Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN sadrži slova ili simbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Mora imati 16 znamenki"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Možda ćete morati otkucati ovaj PIN i na drugom uređaju."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Možda ćete morati otkucati ovaj pristupni kôd na drugom uređaju."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potvrdite da uparite s koordiniranim kompletom"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potvrdite da uparite s audio uređajem"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Dozvoli pristup kontaktima i historiji poziva"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Također dozvolite pristup kontaktima i historiji poziva"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Podaci će se koristiti za obavještenja o pozivu i još mnogo toga"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nije uspjelo povezivanje sa uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dostupni uređaji"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Poveži se"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Prekini vezu"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Upari i poveži"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, uređaj može komunicirati s drugim uređajima s Bluetoothom u blizini."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kada je Bluetooth uključen, uređaj može komunicirati s drugim Bluetooth uređajima u blizini"</string>
     <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_scan_change" msgid="1744636222637390367">"Promijenite"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalji o uređaju"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dopustite ART-u da potvrdi bajtni kôd za aplikacije iz kojih se mogu uklanjati greške"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži brzinu osvježavanja"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaz trenutne brzine osvježavanja ekrana"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaži omjer HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikaži trenutni omjer HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtijevaj otključavanje uređaja za NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"U načinu rada u avionu"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Šalji obavještenja o javnim mrežama"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Obavještava vas kada bude dostupna javna mreža visokog kvaliteta"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Dozvoli mreže s WEP protokolom"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP protokol je stariji sigurnosni protokol koji je manje siguran"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operater ne dozvoljava mreže s WEP protokolom jer su manje sigurne"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Automatski uključi WiFi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"WiFi se automatski ponovo uključuje u blizini sačuvanih mreža visokog kvaliteta, kao što je kućna mreža"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nije dostupno jer je lokacija isključena. Uključite "<annotation id="link">"lokaciju"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Skeniranje WiFi mreže omogućava aplikacijama i uslugama da traže WiFi mreže u svakom trenutku, čak i kada je WiFi isključen. Ovim se, naprimjer, mogu poboljšati funkcije i usluge zasnovane na lokaciji."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skeniranje WiFi mreže je uključeno"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ova mreža koristi stariji sigurnosni protokol koji je manje siguran"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Mreža <xliff:g id="NAME">%1$s</xliff:g> je blokirana"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ova mreža koristi stariji sigurnosni protokol pod nazivom WEP protokol, koji je manje siguran. Da se ipak povežete, možete dozvoliti mreže s WEP protokolom."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operater vam ne dozvoljava da se povežete s ovom mrežom jer koristi stariji sigurnosni protokol koji je manje siguran"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Dozvoli WEP protokol"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zatvori"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Padajuća lista Naprednih opcija"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"proširivanje"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Ostani na WiFi mreži"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Nemoj više prikazivati"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Poveži se"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"WiFi je uključen"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Povezano s mrežom <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Povezivanje s mrežom <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Povezivanje…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Povezivanje na mrežu nije uspjelo"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Mreža nije u dometu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Zaboravi"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Izmijeni"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Zaboravljanje mreže nije uspjelo"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Sačuvaj"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Čuvanje mreže nije uspjelo"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Otkaži"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"WiFi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Prijenos podataka na mobilnoj mreži"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – punjenje"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – punjenje"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Veza pristupne tačke"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Jačina veze"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Sačuvane mreže"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Lozinka nije postavljena"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Naziv pristupne tačke"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Lozinka pristupne tačke"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP opseg"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatski isključi pristupnu tačku"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kada nijedan uređaj nije povezan"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Proširi kompatibilnost"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balans bijele boje prikaza"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Nastavak korištenja aplikacija nakon sklapanja"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Glatki prikaz"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatski povećava učestalost osvježavanja sa 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Onemogući zadani br. sl. u s za igre"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Onemogućite ograničavanje maksimalnog broja slika u sekundi za igre pri <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Glatki prikaz"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatski podiže učestalost osvježavanja do <xliff:g id="ID_1">%1$d</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Nametni maksimalnu brzinu osvježavanja"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najveća brzina osvježavanja za poboljšanu reakciju na dodir i kvalitet animacije. Povećava potrošnju baterije."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Svjesni ekran"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Funkcija Svjesni ekran koristi prednju kameru da utvrdi gleda li neko u ekran. Funkcionira na uređaju, a slike se nikada ne arhiviraju niti šalju Googleu."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Uključite svjesni ekran"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Zadržava ekran uključenim dok gledate u njega"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Duži istek vremena ekrana će povećati potrošnju baterije."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera je zaključana"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera se mora otključati za Prepoznavanje lica"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Morate otključati kameru za Svjesni ekran"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (utor za SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (utor za SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primarno)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Za prikaz odaberite sačuvanu mrežu"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Verzija PRL-a"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivo napunjenosti baterije"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Opće"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Opće postavke"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satelitska razmjena poruka"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-ovi"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Uredi pristupnu tačku"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Dodajte pristupnu tačku"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nije postavljeno"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nije postavljeno"</string>
     <string name="apn_name" msgid="6677695784108157953">"Naziv"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN omogućen"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN onemogućen"</string>
     <string name="bearer" msgid="3231443241639159358">"Nosilac"</string>
+    <string name="network_type" msgid="748590707422733595">"Vrsta mreže"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Neodređeno"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO vrsta"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO vrijednost"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Izbriši APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Sačuvaj"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Otkaži"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplikat APN unosa."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Polje Ime ne može ostati prazno."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Naziv pristupne tačke ne može biti prazan."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC polje mora imati 3 cifre."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC polje mora imati 2 ili 3 cifre."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operater ne dozvoljava dodavanje APN-a tipa %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC polje mora biti važeće."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Vraćanje zadanih postavki za APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Vrati na zadano"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Vraćanje zadanih postavki za APN je završeno."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Vrati na zadano"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i WiFi su vraćeni na zadano"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Potpuno izbriši eSIM-ove"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Ovim se neće otkazati paketi mobilnih usluga. Da preuzmete zamjenske SIM-ove, kontaktirajte svog mobilnog operatera."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Ovim se neće otkazati paket mobilne usluge. Da dobijete zamjenski SIM, kontaktirajte operatera."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Vrati postavke na zadano"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Vratiti sve postavke mreže na zadano? Ovu radnju ne možete opozvati."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vratiti sve postavke mreže na zadano i potpuno izbrisati eSIM-ove? Ovu radnju ne možete opozvati."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Vratiti na zadano?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Ponovno postavljanje mreže nije dostupno za ovog korisnika"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Postavke mreže vraćene su na zadano"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Nije moguće izbrisati SIM-ove"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Nije moguće izbrisati eSIM-ove zbog greške.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Nije moguće potpuno izbrisati podatke na eSIM-ovima"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Nešto nije uredu i podaci na eSIM-ovima nisu potpuno izbrisani.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Izbriši sve podatke (vraćanje na fabričke postavke)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Izbriši sve podatke"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"muziku"</li>\n<li>"fotografije"</li>\n<li>"ostale korisničke podatke"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-ove"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Ovim se neće otkazati vaš plan usluga mobilnog operatera."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Izbrisat će se svi vaši lični podaci i preuzete aplikacije. Ovu radnju ne možete poništiti."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Izbrisat će se svi vaši lični podaci, uključujući preuzete aplikacije i SIM-ove. Ovu radnju ne možete poništiti."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Izbrisat će se sve vaše lične informacije, uključujući preuzete aplikacije i eSIM-ove. Ovu radnju ne možete opozvati."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Potpuno izbrisati sve podatke?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Vraćanje na fabričke postavke nije dostupno za ovog korisnika"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Brisanje"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Pristupna tačka, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet se ne dijeli s drugim uređajima"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Isključeno"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Dijeljenje internetske veze"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne koristi WiFi pristupnu tačku"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Dijeljenje interneta isključivo putem USB-a"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Dijeljenje interneta isključivo putem Bluetootha"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Dijeljenje interneta isključivo putem Etherneta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Dijeljenje interneta isključivo putem USB-a i Bluetootha"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Dijeljenje interneta isključivo putem USB-a i Etherneta"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Dijeljenje interneta isključivo putem Bluetootha i Etherneta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Dijeljenje interneta isključivo putem USB-a, Bluetootha i Etherneta"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Dijeljenje internetske veze putem USB-a"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Dijeljenje internetske veze putem Bluetootha"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Dijeljenje internetske veze putem Etherneta"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Koristite pristupnu tačku i dijeljenje internetske veze da omogućite internet drugim uređajima putem WiFi-ja ili prijenosa podataka na mobilnoj mreži. Aplikacije također mogu kreirati pristupne tačke za dijeljenje sadržaja s uređajima u blizini."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pomoć"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilna mreža"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Paket mobilne usluge"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikacija za SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Promijeniti aplikaciju za SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Koristiti <xliff:g id="NEW_APP">%1$s</xliff:g> umjesto aplikacije <xliff:g id="CURRENT_APP">%2$s</xliff:g> kao aplikaciju za SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Promijeniti WiFi asistenta?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Želite li koristiti aplikaciju <xliff:g id="NEW_APP">%1$s</xliff:g> umjesto aplikacije <xliff:g id="CURRENT_APP">%2$s</xliff:g> za upravljanje mrežnim vezama?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Koristiti <xliff:g id="NEW_APP">%s</xliff:g> za upravljanje vašim mrežnim vezama?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nepoznati SIM operater"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nema poznatu web lokaciju za omogućavanje upotrebe"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Umetnite SIM karticu i ponovo pokrenite uređaj"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Povežite se na Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nedavni zahtjevi za lokaciju"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokacija za radni profil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Odobrenja lokacije za aplikacije"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Pristup je slobodan"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrole"</string>
     <string name="force_stop" msgid="2681771622136916280">"Prisilno zaustavi"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhiviraj"</string>
+    <string name="restore" msgid="7622486640713967157">"Vrati"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Vraćanje"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Vraćanje."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Vraćanje…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Vraćanje…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Ukupno"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Veličina aplikacije"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikacija USB pohrane"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nije bilo moguće izračunati veličinu paketa."</string>
     <string name="version_text" msgid="7628938665256107608">"verzija <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Premjesti"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhiviranje nije uspjelo"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arhivirano: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Vraćanje nije uspjelo"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Vraćanje aplikacije <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Druga migracija je već u toku."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nema dovoljno prostora za pohranu."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikacija ne postoji."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tastatura na ekranu je dostupna"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Upravljajte tastaturama na ekranu"</string>
     <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">"Zanemari slučajne pritiske tipki"</string>
+    <string name="bounce_keys_summary" msgid="6922850403920596246">"Omogućite opciju Zanemari slučajne pritiske tipki za pristupačnost fizičke tastature"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Sporo reagiranje tipki"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Omogućite sporo reagiranje tipki radi pristupačnosti fizičke tastature"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Ljepljive tipke"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Omogućite Ljepljive tipke za pristupačnost fizičke tastature"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Dodirnite donji desni ugao dodirne podloge za više opcija"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Brzina pokazivača"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučite pokrete dodirne podloge"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Idite na početni ekran"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Prevucite nagore s tri prsta bilo gdje na dodirnoj podlozi"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Nazad"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Poredaj prema vrem. korištenja"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Pored. prema poslj. korištenja"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Poredaj prema imenu aplikacije"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Posljednji put korišteno"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Posljednja upotreba"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nikada"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Vrijeme korištenja"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Pristupačnost"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Postavke pristupačnosti"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Uvećavanje trostrukim dodirom"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Uvećavanje pomoću prečice"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Uvećajte pomoću prečice i trostrukog dodira"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"O usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvorite pomoću dugmeta za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Držite tipke za jačinu zvuka da otvorite"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triput dodirnite ekran da otvorite"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Otvaranje dvostrukim dodirom ekrana s dva prsta"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvorite pokretom"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Korištenje pokreta za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Da koristite ovu funkciju, dodirnite dugme Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na dnu ekrana.\n\nDa prebacujete između funkcija, dodirnite i zadržite dugme Pristupačnost."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Da koristite ovu funkciju, dodirnite dugme za pristupačnost na ekranu."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Da koristite ovu funkciju, pritisnite i držite obje tipke za jačinu zvuka."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Da pokrenete i zaustavite uvećavanje, triput dodirnite bilo gdje na ekranu."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Da pokrenete i zaustavite uvećavanje, dvaput dodirnite bilo gdje na ekranu s dva prsta."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Da koristite ovu funkciju, prevucite s 2 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 2 prsta nagore i zadržite."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Da koristite ovu funkciju, prevucite s 3 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 3 prsta nagore i zadržite."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Da koristite funkciju pristupačnosti, prevucite s 2 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 2 prsta nagore i zadržite."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Da koristite funkciju pristupačnosti, prevucite s 3 prsta nagore s dna ekrana.\n\nDa prebacujete između funkcija, prevucite s 3 prsta nagore i zadržite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Razumijem"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Postavke dugmeta za pristup."</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Postavke dugmeta"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečica za: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Dugme Pristupačnost"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Pokret za pristupačnost"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Držite tipke za jačinu zvuka"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"držite 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dvostruki dodir ekrana s dva 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="6863958573135995927">"dodirnite ekran triput"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Saznajte više o dugmetu za pristupačnost i pokretu"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Korištenje dugmeta za pristupačnost. Pokret nije dostupan s navigiranjem pomoću 3 dugmeta."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Brzo pristupite funkcijama pristupačnosti"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Da započnete"</b>\n"1. Idite u postavke pristupačnosti\n2. Odaberite funkciju i dodirnite prečicu\n3. Odaberite želite li koristiti dugme ili pokret da pristupite funkciji"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Da započnete"</b>\n"1. Idite u postavke pristupačnosti\n2. Odaberite funkciju i dodirnite prečicu\n3. Odaberite dugme da pristupite funkciji"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Da započnete:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Idite u postavke pristupačnosti&lt;br/&gt; {1,number,integer}. Odaberite funkciju i dodirnite prečicu&lt;br/&gt; {2,number,integer}. Odaberite želite li koristiti dugme ili pokret da pristupite funkciji&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Da započnete:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Idite u postavke pristupačnosti&lt;br/&gt; {1,number,integer}. Odaberite funkciju i dodirnite prečicu&lt;br/&gt; {2,number,integer}. Odaberite dugme da pristupite funkciji&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Korištenje dugmeta ili pokreta"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokacija"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Veličina"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Dugme uklj./isklj. prekida poziv"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Veliki pokazivač miša"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Isticanje pokazivača miša da bude uočljiviji"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Zatamnjivanje svih aplikacija"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Odnosi se na apl. bez vlastite tamne teme. Neke apl. mogu imati problem s prikazom, kao obrtanje boja."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Ukloni animacije"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Smanjite kretanje na ekranu ekranu"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono zvuk"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Koristi vibraciju i haptiku"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibracija pri alarmu"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibracija medijskog sadržaja"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibracija tastature"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibracija pri zvonu"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibracija pri obavještenjima"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Povratne informacije na dodir"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Zaustavi"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Otkaži"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Zaustaviti uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Dodirom na <xliff:g id="STOP">%1$s</xliff:g> zaustavit će se usluga <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Isključi"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Ostavi uklj."</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Isključiti uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nema instaliranih usluga"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nije odabrana usluga"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nije naveden opis."</string>
     <string name="settings_button" msgid="2195468788019730377">"Postavke"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"osjetljivost na svjetlost, fotofobija, tamna tema, migrena, glavobolja, način rada za čitanje, noćni način rada, smanjivanje osvjetljenja, bijela tačka"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Jednostavno korištenje, jednostavni pristup, pomoć, od pomoći"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vid, sluh, slijepi, gluhi, motorika, pokretljivost ruku, pomoćni, pomoć, jednostavnost korištenja, jednostavnost pristupa, ruka, pomoć"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"povećalo prozora, zumiranje, uvećavanje, slabi vid, uvećanje, povećavanje"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"titlovi, titlovanje, cc, automatska transkripcija, poteškoće sa sluhom, gubitak sluha, transkripcija u stvarnom vremenu pomoću računara, pretvaranje govora u tekst"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontrast boja"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorika, miš"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"slušni aparati, poteškoće sa sluhom, gubitak sluha, kohlearni implantati, uređaji za pojačavanje zvuka, procesori zvuka"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorika, miš, vanjski miš, naglavni miš, prilagodljivi miš, invalidska kolica, džojstik"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"slušni aparati, oštećenje sluha, gubitak sluha, kohlearni implantati, uređaji za pojačavanje zvuka, procesori zvuka, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"poteškoće sa sluhom, gubitak sluha, titlovi, teletype, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tri dugmeta"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"pokretljivost ruku, motorika, starija osoba, artritis, RSI, moždani udar, tremor, multipla skleroza, cerebralna paraliza, drhtanje, povreda uzrokovana učestalim ponavljanjem radnje, ruka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"odgoda, pokretljivost ruku, starija osoba"</string>
     <string name="print_settings" msgid="8519810615863882491">"Štampanje"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Isključeno"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Uključena je 1 usluga štampanja}one{Uključena je # usluga štampanja}few{Uključene su # usluge štampanja}other{Uključeno je # usluga štampanja}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Preostalo <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> do pune baterije"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Vrijeme korištenja uređaja"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Vrijeme u pozadini"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Baterija je slaba"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Dopustite aplikaciji da radi u pozadini"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Ograničiti aktivnost u pozadini?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ako aplikaciji ograničite aktivnost u pozadini, može raditi nepravilno"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikaciju ne možete ograničiti jer nije postavljena optimizacija baterije.\n\nDa je ograničite prvo uključite optimizaciju."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljajte potrošnjom baterije"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Omogućite korištenje u pozadini"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogućite za ažuriranja u stvarnom vremenu. Onemogućite radi uštede baterije"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neograničeno"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizirano"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ograničeno"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Pogledajte aplikacije s najvećom potrošnjom"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Punjenje je optimizirano radi zaštite baterije"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Radi produženja vijeka trajanja baterije, punjenje je optimizirano"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Punjenje je optimizirano radi zaštite baterije"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Radi produženja vijeka trajanja baterije punjenje je optimizirano dok je uređaj priključen"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Punjenje je optimizirano radi zaštite baterije"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Radi produženja vijeka trajanja baterije punjenje je optimizirano dok je uređaj priključen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Punjenje do kraja"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Radi zaštite baterije punjenje će se optimizirati sljedeći put kada tablet bude priključen"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Saznajte više o pauziranju punjenja"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nastavi punjenje"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Uključuje aktivnost u pozadini s velikom potrošnjom baterije"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ova aplikacija će moći koristiti bateriju u pozadini. Vaša baterija bi se mogla isprazniti prije nego što očekujete."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ukloni"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Otkaži"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Punjenje do kraja"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem s opremom za punjenje"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Provjerite opremu za punjenje"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Saznajte više o nekompatibilnom punjenju"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Upravitelj baterije"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatsko upravljanje aplikacijama"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od posljednjeg potpunog punjenja"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistemske aplikacije"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Deinstalirane aplikacije"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Ostalo"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Procjena preostalog vremena"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do potpune napunjenosti"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Ukupno: manje od minute"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Pozadina: manje od minute"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Vrijeme korištenja uređaja: manje od jedne minute"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Manje od jedne minute"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Ukupno: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Pozadina: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Vrijeme korištenja uređaja: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"sada"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Grafikon potrošnje baterije"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafikon dnevne potrošnje baterije"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafikon potrošnje baterije po satu"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Postotak napunjenosti baterije od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Potrošnja baterije od posljednjeg potpunog punjenja"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Potrošnja baterije za period <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Vrijeme korištenje uređaja od posljednjeg potpunog punjenja"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Postavi ponašanje prilikom upućivanja hitnog poziva"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Izrada sigurnosne kopije"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Uključeno"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Isključeno"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sigurnosna kopija i vraćanje"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Lični podaci"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Izrada sigurnosne kopije podataka"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Prijenos podataka na mobilnoj mreži i WiFi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Automatska sinhronizacija ličnih podataka"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Automatska sinhronizacija podataka za posao"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Automatski sinhroniziraj privatne podatke"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Promijeni ciklus…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dan u mjesecu za poništavanje ciklusa prijenosa podataka:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nijedna apl. nije koristila pod. u ovom periodu."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Naziv"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Vrsta"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresa servera"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifriranje (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP tajna"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikator"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Unaprijed dijeljeni IPSec ključ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec korisnički certifikat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec certifikat servera"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Prikaži napredne opcije"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domene DNS pretraživanja"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveri (npr. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rute prosljeđivanja (npr. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Korisničko ime"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Lozinka"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Sačuvajte informacije o računu"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ne koristi se)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne potvrđuj server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(primljeno od servera)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ova vrsta VPN-a ne može biti stalno povezana"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Uvijek aktivni VPN podržava samo numeričke adrese servera"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS server mora biti naveden za uvijek aktivni VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adrese DNS servera moraju biti numeričke za uvijek aktivni VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Unesena informacija ne podržava uvijek aktivni VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Otkaži"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Odbaci"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj veze bez VPN-a"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Treba li zahtijevati VPN vezu?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nije sigurno. Ažurirajte na IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Pokretanje nepodržanog VPN-a nije uspjelo."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Odaberite VPN profil s kojim će uvijek biti uspostavljena veza. Mrežni saobraćaj će biti dopušten samo kad je uspostavljena veza s tim VPN-om."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ništa"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Uvijek aktivni VPN zahtijeva IP adresu i za server i za DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER upozorenja"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Prijem objava o otmicama djece"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ponovi"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Omogući Upravitelj pozivima"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Dozvoli ovoj usluzi da upravlja upućivanjem poziva."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Upravitelj za pozive"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Hitna upozorenja putem bežične mreže"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Mrežni operateri"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nazivi pristupnih tačaka"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM-a"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM-a (utor za sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-ovi su promijenjeni."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM je promijenjen"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dodirnite za postavke"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pitaj svaki put"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Potreban odabir"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, zadane aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Pristup obavještenjima nije dostupan za aplikacije u novom radnom profilu."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Lozinke i računi"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Sačuvane lozinke, automatsko popunjavanje, sinhronizirani računi"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Prijedlozi za prijavu i automatsko popunjavanje"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Zadane aplikacije"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonirane aplikacije"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Kreirajte drugu instancu aplikacije tako da možete istovremeno koristiti dva računa."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"novčanik"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plati, dodir, plaćanja"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sigurnosna kopija"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"pokret"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"lice, otključaj, autentifikacija, prijava"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"lice, otključavanje, autentifikacija, prijava, otisak prsta, biometrija"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl verzija, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"veličina teksta, velika slova, veliki font, veliki tekst, slabi vid, povećavanje teksta, povećalo fonta, povećavanje fonta"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"uvijek uključeni ambijentalni prikaz (always on ambient display, AOD)"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, oznaka, čitač"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastatura, haptika, vibriraj"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Jačina zvuka, vibracija, Ne ometaj"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Jačina zvuka medija"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Jačina zvuka emitiranja"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Uključivanje zvukova"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Automatski titlovi"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatski titlovi za medije"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Zvučnici telefona"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Zvučnici tableta"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Zvučnici uređaja"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Žičane slušalice"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Zvuk iz kompatibilnih medija postaje prostraniji"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Isključeno"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži sav sadržaj obavještenja"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osjetljiv sadržaj samo kada je ekran otključan"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Uopće ne prikazuj obavještenja"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kako želite da se obavještenja prikazuju na zaključanom ekranu?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Šta želite da vam zaključani ekran prikazuje?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključani ekran"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Prikaži sav sadržaj obavještenja radnog profila"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sakrij osjetljivi sadržaj radnog profila"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nedavni razgovori su uklonjeni"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Razgovor je uklonjen"</string>
     <string name="clear" msgid="5092178335409471100">"Obriši"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Brisanje razgovora <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Ovdje će se prikazati prioritetni i promijenjeni razgovori"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Ovdje će se prikazati razgovori koje označite kao prioritetne i na kojima izvršite neke druge promjene. \n\nDa promijenite postavke razgovora: \nprevucite s vrha ekrana prema dolje da otvorite padajuću traku, a zatim dodirnite i zadržite razgovor."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimiziraj"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Mirovanje za obavještenja"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Primijeni mirovanje na sva obavještenja"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Postepeno smanjujte jačinu zvuka obavještenja kada dobijate previše uzastopnih obavještenja od iste aplikacije"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Primijeni mirovanje na razgovore"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Postepeno smanjujte jačinu zvuka obavještenja kada u kratkom periodu dobijate previše poruka od istog chata"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nemoj koristiti mirovanje za obavještenja"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Jačina zvuka obavještenja se nikad ne smanjuje, bez obzira na količinu uzastopnih obavještenja od iste aplikacije"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibriraj kada je otključano"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrira samo kada je ekran otključan"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Primijeni na poslovne profile"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Primijenite postavke mirovanja za obavještajna s ličnog profila na poslovni profil"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Usluge pomagača za VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nijedna instalirana aplikacija nije zatražila da bude pokrenuta kao usluga pomagača za VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Dozvoliti pristup usluzi VR-a za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Isključeno"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Kačenje aplikacije"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Kačenje aplikacije omogućava da se trenutna aplikacija zadrži na ekranu dok je ne otkačite. Naprimjer, koristeći ovu funkciju možete omogućiti pouzdanom prijatelju da igra određenu igru."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kada je aplikacija zakačena, ona može otvoriti druge aplikacije i omogućiti pristup ličnim podacima. \n\nDa koristite kačenje aplikacije: 	\n1. Uključite kačenje aplikacije 	\n2. Otvorite Pregled 	\n3. Dodirnite ikonu aplikacije na vrhu ekrana, a zatim dodirnite Zakači"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kada je aplikacija zakačena, ona može otvoriti druge aplikacije i omogućiti pristup ličnim podacima. \n\nAko želite dijeliti uređaj s nekim na siguran način, pokušajte koristiti profil za gosta. \n\nDa koristite kačenje aplikacije: 	\n1. Uključite kačenje aplikacije 	\n2. Otvorite Pregled 	\n3. Dodirnite ikonu aplikacije na vrhu ekrana, a zatim dodirnite Zakači"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kada je aplikacija zakačena, ona može otvoriti druge aplikacije i omogućiti pristup ličnim podacima. \n\nDa koristite kačenje aplikacije: 	\n{0,number,integer}. Uključite kačenje aplikacije 	\n{1,number,integer}. Otvorite Pregled 	\n{2,number,integer}. Dodirnite ikonu aplikacije u gornjem dijelu ekrana, a zatim dodirnite Zakači"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kada je aplikacija zakačena, ona može otvoriti druge aplikacije i omogućiti pristup ličnim podacima. \n\nAko želite dijeliti uređaj s nekim na siguran način, pokušajte koristiti profil za gosta. \n\nDa koristite kačenje aplikacije: 	\n{0,number,integer}. Uključite kačenje aplikacije 	\n{1,number,integer}. Otvorite Pregled 	\n{2,number,integer}. Dodirnite ikonu aplikacije u gornjem dijelu ekrana, a zatim dodirnite Zakači"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kada je aplikacija zakačena: \n\n•		Lični podaci mogu biti dostupni \n		(kao što su kontakti i sadržaj e-pošte) \n•		Zakačena aplikacija može otvoriti druge aplikacije \n\nKačenje aplikacije koristite samo s osobama kojima vjerujete."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Traži uzorak za otključavanje prije poništavanja kačenja"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Traži PIN prije poništavanja kačenja"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Traži lozinku prije poništavanja kačenja"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zaključaj uređaj kada se ekran otkači"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrda brisanja SIM-a"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potvrdite da želite potpuno izbrisati podatke eSIM-a"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Potvrdite identitet prije potpunog brisanja eSIM-a"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta v. Napredne zaštite memorije"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Napredna zaštita memorije"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Postavke za nekorištene aplikacije"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pauziraj aktivnost apl. ako se ne koristi"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Uklonite odobrenja, izbrišite privremene fajlove i zaustavite obavještenja"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Upravljanje aplikacijom ako se ne koristi"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Uklonite odobrenja, izbrišite privremene fajlove, zaustavite obavještenja i arhivirajte aplikaciju"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Sve aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalirane aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant aplikacije"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Slobodno"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memorija koju koriste aplikacije"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikacija je koristila memoriju u posljednjem periodu: {time}}one{# aplikacija je koristila memoriju u posljednjem periodu: {time}}few{# aplikacije su koristile memoriju u posljednjem periodu: {time}}other{# aplikacija je koristilo memoriju u posljednjem periodu: {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Omogući profiliranje korištenja memorije"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profiliranje korištenja memorije zahtijeva dodatne izvore sistema."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profiliranje memorije je onemogućeno"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekvencija"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimalno korištenje"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nema iskorištenih podataka"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Prikaz preko drugih aplikacija"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dozvoli prikaz preko drugih aplikacija"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Dozvolite ovoj aplikaciji da prekrije ostale aplikacije koje koristite. Ova aplikacija će moći vidjeti gdje dodirujete ili promijeniti ono što je prikazano na ekranu."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Promijeni izlaz med. sadržaja"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Dozvoli apl. da prebacuje izlaz med. sadržaja"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Dozvoljava ovoj aplikaciji da odabere koji povezani uređaj reproducira zvuk ili videozapis iz drugih aplikacija. Ako je dozvoljeno, ova aplikacija može pristupiti listi dostupnih uređaja kao što su slušalice i zvučnici te odabrati koji izlazni uređaj se koristi za prijenos ili emitiranje zvuka ili videozapisa."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Pristup svim fajlovima"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dozvoli pristup za upravljanje svim fajlovima"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dozvolite ovoj aplikaciji da čita, mijenja i briše sve fajlove na ovom uređaju ili svim povezanim uređajima za pohranu. Ako to dozvolite, aplikacija može pristupati fajlovima bez vašeg znanja."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Može da pristupa svim fajlovima"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije s glasovnom aktivacijom"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dozvoli glasovnu aktivaciju"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovna aktivacija pomoću glasovne komande bez dodira uključuje odobrene aplikacije. Ugrađena prilagodljiva detekcija osigurava da vaši podaci ostanu privatni.\n\n"<a href="">"Više o sigurnoj prilagodljivoj detekciji"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Obavještenja preko cijelog ekrana"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Dozvoli obavještenja ove aplikacije preko cijelog ekrana"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Dozvolite aplikaciji da prikazuje obavještenja koja zauzimaju cijeli ekran kada je uređaj zaključan. Aplikacije ih mogu koristiti da istaknu alarme, dolazne pozive ili druga hitna obavještenja."</string>
@@ -3745,7 +3940,7 @@
     <string name="disabled_by_policy_title_camera" msgid="6616508876399613773">"Korištenje kamere nije moguće"</string>
     <string name="disabled_by_policy_title_screen_capture" msgid="6085100101044105811">"Izrada snimaka ekrana nije moguća"</string>
     <string name="disabled_by_policy_title_suspend_packages" msgid="4223983156635729793">"Nije moguće otvoriti aplikaciju"</string>
-    <string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"Blokirao vaš dobavljač kredita"</string>
+    <string name="disabled_by_policy_title_financed_device" msgid="2328740314082888228">"Blokirao vaš dobavljač uređaja na kredit"</string>
     <string name="disabled_by_policy_title_biometric_parental_consent" msgid="2463673997797134678">"Potreban je roditelj"</string>
     <string name="disabled_by_policy_content_biometric_parental_consent" msgid="7124116806784305206">"Predaj telefon roditelju da započne postavljanje"</string>
     <string name="disabled_by_policy_parental_consent" msgid="9166060049019018978">"Daj telefon roditelju da dozvoli promjenu ove postavke."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Upozorenje o prijenosu podataka: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Ograničenje prijenosa podataka: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Upozorenje o prijenosu podataka: <xliff:g id="ID_1">^1</xliff:g> / Ograničenje prijenosa podataka: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Obračun podataka koji vrši operater se može razlikovati od obračuna koji vrši uređaj."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ne obuhvata podatke koje koriste mreže mobilnog operatera"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Iskorišteno je <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Postavi upozor. o prij. podat."</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Ažurirano prije <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Upravo ažurirao mob. operater <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Upravo ažurirano"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Pogledaj plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Prikaži detalje"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Ušteda podataka"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neograničen prijenos podataka"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je potrošila više baterije nego inače pri radu u pozadini"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je potrošila više baterije pri radu u prvom planu"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je potrošila više baterije nego inače pri radu u prvom planu"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Nepravilnost u potrošnji baterije"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Visoka potrošnja baterije"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Visoka potrošnja baterije u pozadini"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Visoka potrošnja baterije u prvom planu"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Pločice programera za brze postavke"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Onemogući istek vremena za ADB ovlaštenje"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Onemogućite automatsko ukidanje ADB ovlaštenja za sisteme koji se nisu ponovo povezali u zadanom roku (7 dana) ili u roku koji je konfigurirao korisnik (minimalno 1 dan)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope praćenje"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzori su isključeni"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Postavke radnog profila"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Pretražujte kontakte iz poslovnog imenika u ličnim aplikacijama"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigacija za sistem, navigacija pomoću 2 dugmeta, navigacija pomoću 3 dugmeta, navigacija pokretima, prevlačenje"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni asistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Prevucite da pozovete asistenta na radnju"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Prevucite s donjeg ugla prema gore da pozovete na radnju aplikaciju digitalnog asistenta."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Prevucite s donjeg ugla prema gore da pozovete na radnju aplikaciju digitalnog asistenta"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Zadržavanje dugmeta za početni ekran za Asistenta"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pritisnite i zadržite dugme za početni ekran da aktivirate aplikaciju digitalnog asistenta."</string>
     <string name="low_label" msgid="6525629096999711220">"Nisko"</string>
@@ -4068,14 +4261,14 @@
     <string name="toast_allows_restricted_settings_successfully" msgid="1219116121291466102">"Ograničene postavke su dozvoljene za aplikaciju <xliff:g id="APP_NAME">%s</xliff:g>"</string>
     <string name="blocked_by_restricted_settings_content" msgid="3628660029601161080">"Radi vaše sigurnosti, ova postavka je trenutno nedostupna."</string>
     <string name="financed_privacy_settings" msgid="2575114436197204145">"Informacije o finansiranom uređaju"</string>
-    <string name="financed_privacy_intro" msgid="7836497475568741579">"Vaš dobavljač kredita može promijeniti postavke i instalirati softver na ovom uređaju tokom postavljanja.\n\nAko propustite plaćanje, vaš dobavljač kredita može zaključati uređaj i promijeniti postavke uređaja.\n\nDa saznate više, kontaktirajte dobavljača kredita."</string>
+    <string name="financed_privacy_intro" msgid="7836497475568741579">"Vaš dobavljač uređaja na kredit može promijeniti postavke i instalirati softver na ovom uređaju tokom postavljanja.\n\nAko propustite plaćanje, dobavljač uređaja na kredit može zaključati uređaj i promijeniti postavke uređaja.\n\nDa saznate više, kontaktirajte dobavljača uređaja na kredit."</string>
     <string name="financed_privacy_restrictions_category" msgid="2472659467919651602">"Ako je vaš uređaj finansirani uređaj, ne možete:"</string>
     <string name="financed_privacy_install_apps" msgid="7381718005710210851">"instalirati aplikacije izvan Play trgovine"</string>
     <string name="financed_privacy_safe_mode" msgid="5362149445732602578">"ponovo pokrenuti uređaj u sigurnom načinu rada"</string>
     <string name="financed_privacy_multi_users" msgid="1727194928477613081">"dodati više korisnika na uređaj"</string>
     <string name="financed_privacy_config_date_time" msgid="8567370445374984365">"promijeniti datum, vrijeme i vremenske zone"</string>
     <string name="financed_privacy_developer_options" msgid="7602001474669831672">"koristiti opcije za programere"</string>
-    <string name="financed_privacy_credit_provider_capabilities_category" msgid="8737902277892987998">"Vaš dobavljač kredita može:"</string>
+    <string name="financed_privacy_credit_provider_capabilities_category" msgid="8737902277892987998">"Vaš dobavljač uređaja na kredit može:"</string>
     <string name="financed_privacy_IMEI" msgid="1852413860963824799">"pristupiti vašem IMEI broju"</string>
     <string name="financed_privacy_factory_reset" msgid="5505016667590160732">"vratiti uređaj na fabričke postavke ako nešto ne bude uredu"</string>
     <string name="financed_privacy_locked_mode_category" msgid="3708288398912647751">"Ako se vaš uređaj zaključa, možete samo:"</string>
@@ -4083,7 +4276,7 @@
     <string name="financed_privacy_system_info" msgid="4158031444108708927">"pregledati informacije o sistemu kao što su datum, vrijeme, status mreže i podaci o bateriji"</string>
     <string name="financed_privacy_turn_on_off_device" msgid="3331566753152790571">"uključiti ili isključiti uređaj"</string>
     <string name="financed_privacy_notifications" msgid="5932303271274089968">"pregledati obavještenja i tekstualne poruke"</string>
-    <string name="financed_privacy_allowlisted_apps" msgid="8333040812194879963">"pristupati aplikacijama koje je dozvolio dobavljač kredita"</string>
+    <string name="financed_privacy_allowlisted_apps" msgid="8333040812194879963">"pristupati aplikacijama koje je dozvolio dobavljač uređaja na kredit"</string>
     <string name="financed_privacy_fully_paid_category" msgid="9221763928564246923">"Kada platite cjelokupni iznos:"</string>
     <string name="financed_privacy_restrictions_removed" msgid="3182636815294595072">"sva ograničenja se uklanjaju s uređaja"</string>
     <string name="financed_privacy_uninstall_creditor_app" msgid="6339004120497310705">"možete deinstalirati aplikaciju povjerioca"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Usluga automatskog popunjavanja"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Zadana usluga automatskog popunjavanja"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Lozinke"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Usluge za lozinke, pristupne ključeve i podatke"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Dodatni pružaoci usluga"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Željena usluga"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Dodatne usluge"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# lozinka}one{# lozinka}few{# lozinke}other{# lozinki}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatski, popunjavanje, automatsko popunjavanje, lozinka"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"podaci, pristupni ključ, lozinka"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatski, popuniti, automatsko popunjavanje, podaci, pristupni ključ, lozinka"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Promijenite"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Otvori"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nije ništa odabrano"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Provjerite je li ova aplikacija pouzdana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Automatsko popunjavanje&gt;%1$s&lt;/xliff:g&gt; koristi sadržaj na vašem ekranu da odredi šta se može automatski popuniti."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Koristiti aplikaciju &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; koristi ono što je na ekranu radi utvrđivanja podataka koji se mogu automatski popuniti. Nove lozinke, pristupni ključevi i druge informacije od sada će se pohranjivati ovdje."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Usluge za lozinke, pristupne ključeve i podatke"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Koristite aplikaciju &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nove lozinke, pristupni ključevi i druge informacije će se odsad pohranjivati ovdje. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; može koristiti ono što je na ekranu da utvrdi šta se može automatski popuniti."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Željena usluga za lozinke, pristupne ključeve i automatsko popunjavanje"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Isključiti %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Isključiti uslugu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Sačuvane informacije kao što su lozinke, pristupni ključevi, načini plaćanja i druge informacije se neće popunjavati prilikom prijave. Da koristite sačuvane informacije, odaberite lozinku, pristupni ključ ili uslugu za podatke."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Lozinke, prist. ključevi i autom. popunjav."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Isključiti sve usluge?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Lozinke, pristupni ključevi i druge sačuvane informacije neće biti dostupne za automatsko popunjavanje kada se prijavite"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Promijenite željenu uslugu u &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nove lozinke, pristupni ključevi i druge informacije od sada će se pohranjivati na tu uslugu. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; može koristiti ono što je na ekranu da utvrdi šta se može automatski popuniti"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Koristiti uslugu %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Isključi"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Promijeni"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Možete imati samo 5 uključenih usluga"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Isključite barem 1 uslugu da dodate drugu"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s koristi sadržaj na ekranu da odredi šta se može automatski popuniti."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Ograničeni broj usluga za lozinke, pristupne ključeve i podatke"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Istovremeno možete imati najviše 5 aktivnih usluga za lozinke, pristupne ključeve i podatke. Isključite jednu uslugu da dodate drugu."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Ograničeni broj usluga za lozinke, pristupne ključeve i podatke"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"U datom trenutku možete imati najviše 5 aktivnih usluga za lozinke, pristupne ključeve i podatke. Isključite uslugu da dodate više."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Isključi"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatsko popunjavanje"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivo zapisivanja"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Promjene kompatibilnosti aplikacije je moguće izmijeniti isključivo kod aplikacija kod kojih je moguće izvršiti otklanjanje grešaka. Instalirajte aplikaciju kod koje je moguće izvršiti otklanjanje grešaka i pokušajte ponovo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Zavisi od druge postavke"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Račun"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d račun(a)"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Naziv uređaja"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Osnovne informacije"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Pravne informacije i propisi"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Dozvolite aplikaciji da se pokrene kada se NFC oznaka skenira.\nAko je ovo odobrenje uključeno, aplikacija će biti dostupna kao opcija kad god se oznaka otkrije."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reprodukcija medija na"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reproduciraj <xliff:g id="LABEL">%s</xliff:g> na"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Zvuk će se reproducirati na uređaju"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Ovaj uređaj"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nedostupno za vrijeme poziva"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Primanje poziva"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Isključen zvuk"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Da omogućite, najprije promijenite opciju \"Pritisnite i zadržite dugme za uključivanje\" u meni napajanja."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalji o mreži"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Aplikacije na vašem telefonu će moći vidjeti naziv vašeg uređaja. Također će ga moći vidjeti druge osobe kada se povežete s Bluetooth uređajima ili WiFi mrežom, ili kada postavite WiFi pristupnu tačku."</string>
     <string name="devices_title" msgid="649715719278562515">"Uređaji"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Odaberite mrežu"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Veza je prekinuta"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Naziv"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Boja (koriste kompatibilne aplikacije)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Sačuvaj"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Koristi SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Koristi ovaj SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Isključeno"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Uklonite SIM karticu da onemogućite ovaj SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Dodirnite da aktivirate operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Da isključite ovaj SIM, uklonite SIM karticu"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Dodirnite da aktivirate SIM operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Potpuno izbriši podatke na eSIM-u"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferirana vrsta mreže"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Promijenite način rada mreže"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferirana vrsta mreže"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Raspitajte se kod svog mobilnog operatera za cijene."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Prijenos podataka u aplikaciji"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mrežni način <xliff:g id="NETWORKMODEID">%1$d</xliff:g> nije važeći. Zanemarite."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satelitska razmjena poruka"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Šaljite i primajte poruke putem satelita. Uključeno je uz račun."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Šaljite i primajte poruke putem satelita. Nije uključeno uz račun."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satelitska razmjena poruka"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"O satelitskoj razmjeni poruka"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Mogućnost slanja i primanja poruka putem satelita imate u okviru računa kod operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> koji ispunjava uslove"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Vaš paket kod operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satelitska razmjena poruka je uključena uz račun"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelitska razmjena poruka nije uključena uz račun"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Dodajte satelitsku razmjenu poruka"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Kako funkcionira"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kada nemate mobilnu mrežu"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefon će se automatski povezati sa satelitom. Da veza bude najbolja, pogled na nebo ne smije biti zapriječen."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Nakon što se telefon poveže sa satelitom"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Poruke možete slati svakome, uključujući hitne službe. Telefon će se ponovo povezati s mobilnom mrežom kada bude dostupna."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satelitska razmjena poruka može trajati duže i dostupna je samo u nekim područjima, a na satelitsku vezu mogu uticati vremenske prilike i određeni objekti. Pozivanje putem satelita nije dostupno.\n\nPrikazivanje promjena računa u Postavkama može potrajati. Za detalje kontaktirajte operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Više o satelitskoj razmjeni poruka"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazivi pristupne tačke"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nedostupno kada ste povezani s operaterom <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Prebaciti na operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Prebaciti na korištenje SIM kartice?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Koristiti operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"U datom trenutku može biti aktivan samo jedan SIM.\n\nPrebacivanjem na operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> neće se otkazati usluga mobilnog operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"U datom trenutku može biti aktivan samo 1 eSIM.\n\nPrebacivanjem na operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> se neće otkazati usluga operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"U datom trenutku može biti aktivan samo jedan SIM.\n\nPrebacivanjem se neće otkazati usluga mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"U svakom trenutku može biti uključen samo 1 SIM.\n\nPrebacivanjem na operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> se neće otkazati usluga operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"U svakom trenutku može biti uključen samo 1 eSIM.\n\nPrebacivanjem na operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> se neće otkazati usluga operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"U svakom trenutku može biti uključen samo 1 SIM.\n\nPrebacivanjem se neće otkazati usluga operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Možete istovremeno koristiti 2 SIM-a. Da koristite operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, isključite drugi SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Prebaci na operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Isključite operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Isključivanjem SIM-a nećete otkazati uslugu"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Povezivanje s mrežom…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Prebacivanje na operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> za pozive i poruke…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Nije moguće zamijeniti mobilne operatere"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Nije moguće zamijeniti mobilne operatere zbog greške."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiviranje SIM-a…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Prebacivanje na operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nije moguće promijeniti SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Nešto nije uredu. Nije moguće promijeniti SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Isključiti mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Isključiti SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Isključivanje SIM-a<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Nije moguće onemogućiti mobilnog operatera"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Nešto nije uredu i nismo mogli onemogućiti vašeg operatera."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Nije moguće isključiti SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Nešto nije uredu. Isključivanje SIM-a nije uspjelo."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Koristiti 2 SIM-a?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Na uređaju mogu istovremeno biti aktivna dva SIM-a. Da nastavite koristiti samo jedan SIM, dodirnite \"Ne, hvala\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Ponovo pokrenuti uređaj?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Otkaži"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Prebaci"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Isključi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nije moguće aktivirati SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Pokušajte ponovo uključiti SIM. Ako se problem ne riješi, ponovo pokrenite uređaj."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Postavite SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Postavite postavke mobilne mreže da koristite više SIM-ova na uređaju"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Označite SIM-ove"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Vidjet ćete ove oznake prilikom upućivanja poziva, slanja poruka i korištenja prijenosa podataka i u Postavkama"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Oznaka SIM-a"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Oznaka"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Odaberite SIM-ove za korištenje"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Možete istovremeno koristiti 2 SIM-a"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Postavite primarne SIM-ove"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Odaberite SIM-ove koji će se prema zadanim postavkama koristiti za pozive, poruke i prijenos podataka"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Primarni SIM-ovi"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Pozivi"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Poruke"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Autom. prebac. na prij. podataka"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Koristite prijenos podataka s bilo kojeg SIM-a ovisno o pokrivenosti i dostupnosti"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Samo prijenos podataka"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Postavi"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Naprijed"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Uključivanje operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilna mreža"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Broj telefona"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Oznaka i boja SIM-a"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktiviranje mreže"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Promjena operatera"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Operater <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivan"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivan"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Dodirnite da ažurirate postavke SIM-a"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Prebacili ste se na operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Prebacili ste se na drugog mobilnog operatera"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Vaša mobilna mreža je promijenjena"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Postavite svoj drugi SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Odaberite aktivni SIM ili koristite 2 SIM-a istovremeno"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Izaberite broj koji ćete koristiti"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 broj je dostupan na ovom uređaju, ali istovremeno je moguće koristiti samo jedan}=2{2 broja su dostupna na ovom uređaju, ali istovremeno je moguće koristiti samo jedan}one{# broj je dostupan na ovom uređaju, ali istovremeno je moguće koristiti samo jedan}few{# broja su dostupna na ovom uređaju, ali istovremeno je moguće koristiti samo jedan}other{# brojeva je dostupno na ovom uređaju, ali istovremeno je moguće koristiti samo jedan}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiviranje<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Aktiviranje nije uspjelo"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Odaberite SIM koji želite koristiti"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM je dostupan na ovom uređaju, ali u svakom trenutku možete koristiti samo jedan}=2{2 SIM-a su dostupna na ovom uređaju, ali u svakom trenutku možete koristiti samo jedan}one{# SIM je dostupan na ovom uređaju, ali u svakom trenutku možete koristiti samo jedan}few{# SIM-a su dostupna na ovom uređaju, ali u svakom trenutku možete koristiti samo jedan}other{# SIM-ova je dostupno na ovom uređaju, ali u svakom trenutku možete koristiti samo jedan}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Uključivanje<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Uključivanje SIM-a trenutno nije uspjelo"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Koristiti operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Usluge operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> će se koristiti za prijenos podataka na mobilnoj mreži, pozive i SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nema dostupnih SIM-ova"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Da kasnije koristite prijenos podataka na mobilnoj mreži, funkcije poziva i SMS, idite u postavke mreže"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Potpuno izbrisati ovaj eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ako potpuno izbrišete ovaj SIM, s ovog uređaja će se ukloniti usluga operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nUsluga za operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće se otkazati."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Ovim se uklanja usluga operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> s uređaja, ali se vaš paket kod operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće otkazati."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Potpuno izbriši"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Potpuno brisanje SIM-a…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nije moguće potpuno izbrisati SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Nije moguće potpuno izbrisati ovaj SIM zbog greške.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Potpuno brisanje podataka na eSIM-u…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Nije moguće potpuno izbrisati podatke na eSIM-u"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Nešto nije uredu i podaci na eSIM-u nisu potpuno izbrisani.\n\nPonovo pokrenite uređaj i pokušajte ponovo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Povezivanje s uređajem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi koristiti privremenu WiFi mrežu da se poveže s vašim uređajem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nije pronađen nijedan uređaj Provjerite jesu li uređaji uključeni i dostupni za povezivanje."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Hitni pozivi"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Vaš operater ne podržava hitne pozive preko funkcije Pozivanje putem WiFi-ja.\nUređaj će se automatski prebaciti na mobilnu mrežu kako bi se uspostavio hitni poziv.\nHitni pozivi su mogući samo na područjima pokrivenim mobilnom mrežom."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Korištenje WiFi-ja za pozive radi poboljšanja kvaliteta"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Pomoćno pozivanje"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ako <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nije dostupan ili je u romingu, koristite SIM za prijenos podataka na mobilnoj mreži za <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> pozive."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"pomoćno pozivanje"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Dolazna MMS poruka"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nije moguće poslati MMS poruku"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Dodirnite da dozvolite MMS poruke na mreži <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> kada je isključen prijenos podataka na mobilnoj mreži"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacije o radnim pravilima"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Postavkama upravlja vaš IT administrator"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Pokreni uz veličinu stranica od 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Pokrenite uređaj s jezgrom podržanom za str. od 16 kB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Ponovo pokrenuti s jezgrom kompatibilnom sa stranicama od 16 kB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"UPOZORENJE: određene aplikacije možda nisu kompatibilne s ovim načinom rada. Uređaj će se ponovo pokrenuti nakon potvrde."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Ponovo pokrenuti s jezgrom kompatibilnom sa stranicama od 4 kB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Uređaj će se ponovo pokrenuti nakon potvrde."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ažuriranje jezgre u jezgru kompatibilnu sa stranicama od 16 kB nije uspjelo."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Primjena promjene"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Obrađivač izvještaja o greškama"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Određuje koja aplikacija obrađuje prečicu za Izvještaj o greškama na uređaju."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Lično"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Dozvolite aplikacijama koje mogu prikazivati preko drugih aplikacija da preklapaju ekrane Postavki"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Dozvoli Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Dozvolite ovom uređaju da pokrene uslugu Mock Modem za instrumentacijsko testiranje. Nemojte to omogućavati za vrijeme normalnog korištenja telefona"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Onemogući zaštite tokom dijeljenja ekrana"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Onemogućava zaštite aplikacija i obavještenja koje sistem primjenjuje tokom dijeljenja ekrana"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Mediji"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Zakači plejer medija"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Za brzo nastavljanje reprodukcije plejer medija ostaje otvoren u Brzim postavkama"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Prikazuj medije na zaključanom ekranu"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Za brzo nastavljanje reprodukcije plejer medija ostaje otvoren na zaključanom ekranu"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Prikaži preporuke medija"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Prikaži preporuke medija od Asistenta"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Na osnovu vaše aktivnosti"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Sakrij plejer"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Prikaži plejer"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"mediji"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Dozvoli softverske ekstenzije kamere"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Omogućava zadanu softversku primjenu naprednih funkcija kamere kao što je videografija za slijepe i slabovidne."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth će se uključiti"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-ovi"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-ovi"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktivno"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktivno"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Uključeno"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Isključeno"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Zadano za: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"pozivi"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Zvuk iz kompatibilnih medija postaje prostraniji"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Praćenje glave"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Zvuk se mijenja dok pomjerate glavu radi prirodnijeg zvuka"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinhroniziraj odobrenja"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Na uređaju <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> dodijelite ista odobrenja za aplikaciju koja ste dozvoliti na uređaju <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinhronizirajte odobrenja s telefona"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Na satu dodijelite ista odobrenja za aplikaciju koja ste dozvolili na ovom telefonu"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Vrsta audio uređaja"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Nepoznato"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Zvučnik"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Srednje"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Visoko"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ova aplikacija se može otvoriti samo u 1 prozoru"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Uključeno"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Isključeno"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Isključeno"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Isključeno"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Uključeno"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Isključeno"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Uključeno"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Isključeno"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Mijenja svijetle ekrane u tamne i tamne ekrane u svijetle"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Uvećajte na ekranu"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Isključeno"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Isključeno"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Skeniranje obmanjujućih aplikacija"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Provjerite aktivnost aplikacije radi otkrivanja krađe identiteta"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Koristi skeniranje obmanjujućih aplikacija"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Koristi skeniranje obmanjujućih aplikacija za posao"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Lozinka je sada postavljena"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Prikaži pokazivač prilikom postavljanja pokazivača miša iznad stavke"</string>
 </resources>
diff --git a/res/values-ca/arrays.xml b/res/values-ca/arrays.xml
index 3dfd06f..15671a2 100644
--- a/res/values-ca/arrays.xml
+++ b/res/values-ca/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponible"</item>
     <item msgid="6096962300722555553">"Fora de l\'abast"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Desactivat"</item>
+    <item msgid="7781484297606806796">"Monodifusió"</item>
+    <item msgid="6667451574264144311">"Monodifusió i difusió"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Utilitza la quantitat predeterminada del sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Després d\'1 minut"</item>
     <item msgid="1574040255478150028">"Després de 5 minuts"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ca/strings.xml b/res/values-ca/strings.xml
index f8dfa7a..2094def 100644
--- a/res/values-ca/strings.xml
+++ b/res/values-ca/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Ara ja ets un desenvolupador"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"No és necessari, ja ets un desenvolupador"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primer activa les opcions per a desenvolupadors."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Només els usuaris administradors poden accedir a la configuració per a desenvolupadors."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servei"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de servei"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"La pantalla frontal s\'encén quan plegues el dispositiu"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Només jocs, vídeos i més"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"La pantalla frontal s\'encén per a les aplicacions que eviten que la pantalla es quedi inactiva"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Llisca cap amunt per continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Plega el telèfon i llisca cap amunt a la pantalla frontal per continuar utilitzant l\'aplicació, o bé espera uns segons que la pantalla es bloquegi"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Mai"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"La pantalla frontal es bloqueja quan plegues el dispositiu"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Gira automàticament"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionats"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"So de trucada i alarmes"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Àudio durant les trucades"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimèdia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificacions i sons del sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons multimèdia i del sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificacions"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"De manera predeterminada, cada aplicació determina la sortida d\'àudio"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositiu Bluetooth sense nom"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"S\'està cercant"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancel·la"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Desactiva Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Desactiva la funció Bluetooth LE Audio si el dispositiu admet les funcions de maquinari d\'LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Mode Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Botó d\'LE Audio a Detalls del dispositiu"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Activa la llista d\'accés permès per Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Activa la funció de llista d\'accés permès de Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omet la llista d\'accés permès de Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Utilitza LE Audio de manera predeterminada encara que no s\'hagi verificat si el dispositiu perifèric de LE Audio compleix els criteris de la llista d\'accés permès."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositius multimèdia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositius de trucada"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Altres dispositius"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositius desats"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associat al compte"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Utilitzats anteriorment amb el compte"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"El Bluetooth s\'activarà per vincular"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferències de connexió"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Connectats prèviament"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"S\'ha activat el Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Mostra-ho tot"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Mostra-ho tot"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Llapis òptic"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Prem el botó del darrere"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de treball)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escriu als camps de text"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Omet la premuda repetida del botó de llapis òptic"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Llapis òptic"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Ús compartit d\'àudio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Comparteix l\'àudio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Trucades i alarmes"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connecta\'t a un flux d\'àudio fent servir un codi QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No s\'ha trobat cap flux d\'àudio a prop."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data i hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Servidor intermediari"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Esborra"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Vols afegir %s als idiomes preferits?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Això permet que les apps i llocs web sàpiguen que també prefereixes aquest idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"La configuració del dispositiu i les preferències regionals canviaran."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Canvia"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Aquest idioma (%s) no està disponible"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Dissabte"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si una aplicació no admet preferències regionals, utilitzarà la seva configuració regional predeterminada."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Més informació sobre les preferències d\'idioma"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferències addicionals"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Formes de dirigir-se a tu"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Configura com vols que es dirigeixin a tu"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Les aplicacions poden utilitzar diferents formes personalitzades per dirigir-se a tu."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Sense especificar"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femení"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculí"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutre"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Vols suprimir l\'idioma seleccionat?}other{Vols suprimir els idiomes seleccionats?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"El text es mostrarà en un altre idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"No es poden suprimir tots els idiomes"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Ubicació"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utilitza la ubicació"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivat"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Activat (# aplicació té accés a la ubicació)}other{Activat (# aplicacions tenen accés a la ubicació)}}"</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_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="5329024810729665156">"Obtén més informació sobre la configuració d\'ubicació."</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="3574930966097093550">"Canvia l\'accés a la ubicació a Configuració &gt; Seguretat i priv. &gt; Controls de priv."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Comptes"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Seguretat"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encriptació i credencials"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Per obtenir els millors resultats, utilitza un protector de pantalla que tingui la certificació Made For Google. Si utilitzes altres protectors de pantalla, pot ser que l\'empremta digital del teu fill o filla no funcioni."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueig amb rellotge"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Quan configuris Desbloqueig facial i Desbloqueig amb empremta digital, el telèfon et demanarà l\'empremta digital si portes mascareta o et trobes en una zona fosca.\n\nPots desbloquejar el telèfon amb el rellotge quan no es reconegui la teva cara o l\'empremta digital."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Pots desbloquejar el dispositiu amb el rellotge quan no es reconegui la teva empremta digital."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Pots desbloquejar el dispositiu amb el rellotge quan no es reconegui la teva cara."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Si configures Desbloqueig facial i Desbloqueig amb empremta digital, el telèfon et demanarà la teva empremta digital quan portis mascareta o quan estiguis en una zona fosca.\n\nLa funció Desbloqueig amb rellotge és una altra manera pràctica de desbloquejar el telèfon (per exemple, quan tens els dits mullats o quan no se\'t reconeix la cara)."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"La funció Desbloqueig amb rellotge és una altra manera pràctica de desbloquejar el telèfon (per exemple, quan no se\'t reconeix l\'empremta digital)."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"La funció Desbloqueig amb rellotge és una altra manera pràctica de desbloquejar el telèfon (per exemple, quan no se\'t reconeix la cara)."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Utilitza l\'empremta digital o el rellotge per"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Utilitza la cara o el rellotge per"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Utilitza la cara, l\'empremta digital o el rellotge per"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"La funció Desbloqueig amb rellotge és una altra manera pràctica de desbloquejar el telèfon (per exemple, quan tens els dits mullats o quan no se\'t reconeix la cara).\n\nPots utilitzar el rellotge per desbloquejar el telèfon quan:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ara no"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continua"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Més"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Com funciona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"El rellotge ha d\'estar desbloquejat, al canell i a l\'abast d\'aquest telèfon. No cal que tornis a desbloquejar el rellotge mentre el tinguis al canell."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Quan aquest telèfon estigui desbloquejat, rebràs notificacions al rellotge. Si desbloqueges el telèfon sense voler, toca la notificació per tornar-lo a bloquejar."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Ets tu qui té el control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Pots suprimir el rellotge de Desbloqueig amb rellotge en qualsevol moment a Configuració"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Toca una notificació"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Llisca cap amunt a la pantalla de bloqueig"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Tria el rellotge"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Rellotges disponibles"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancel·la"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirma"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Ja està tot a punt!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Ara pots utilitzar el rellotge per desbloquejar aquest telèfon quan llisques cap amunt a la pantalla de bloqueig o quan toques una notificació"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Fet"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueig amb rellotge"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Pots utilitzar el rellotge per desbloquejar aquest telèfon quan llisques cap amunt a la pantalla de bloqueig o quan toques una notificació"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Per utilitzar Desbloqueig amb rellotge, el rellotge ha d\'estar desbloquejat, al canell, a l\'abast i connectat a aquest telèfon. Si s\'interromp la connexió, hauràs de desbloquejar el telèfon abans d\'utilitzar Desbloqueig amb rellotge.\n\nInformació important:\nNomés pots tenir un rellotge configurat cada vegada. Per afegir un altre rellotge, abans has de suprimir l\'actual."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Seguretat"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privadesa"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de treball"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espai privat"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantén les aplicacions privades bloquejades i amagades"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantén les aplicacions privades en un espai separat que puguis amagar o bloquejar"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueig d\'espai privat"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Pots desbloquejar l\'espai privat de la mateixa manera que desbloqueges el dispositiu, o triar un altre bloqueig"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Utilitza el bloqueig de pantalla del dispositiu"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueig facial i amb empremta digital"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueig amb empremta digital"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueig facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toca per configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueig amb empremta digital per a l\'espai privat"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueig facial per a l\'espai privat"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Formes de desbloqueig"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"El mateix bloqueig de pantalla que el del dispositiu"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Vols triar un bloqueig nou per a l\'espai privat?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloqueja l\'espai privat automàticament"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Pots bloquejar l\'espai privat automàticament si no has utilitzat el dispositiu durant un temps"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Cada vegada que es bloquegi el dispositiu"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Després de 5 minuts d\'inactivitat"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Mai"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Amaga quan estigui bloquejat"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Amaga l\'espai privat quan estigui bloquejat"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Per evitar que altres persones sàpiguen que tens un espai privat al dispositiu, pots amagar-lo de la llista d\'aplicacions"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Accedeix a l\'espai privat quan està amagat"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Escriu \"espai privat\" a la barra de cerca de la llista d\'apps"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Toca la icona d\'espai privat"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloqueja l\'espai privat"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desactivat"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activat"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Suprimeix l\'espai privat"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Vols suprimir l\'espai privat?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Se suprimirà el teu espai privat del dispositiu i també totes les dades i aplicacions privades. Aquesta acció no es pot desfer."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Els comptes següents se suprimiran del teu espai privat:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Suprimeix"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"S\'està suprimint l\'espai privat…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Aquesta acció tardarà una estona"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"S\'ha suprimit l\'espai privat"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"L\'espai privat no s\'ha pogut suprimir"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espai privat desbloquejat"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Defineix un bloqueig de pantalla"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Per utilitzar l\'espai privat, defineix un bloqueig de pantalla en aquest dispositiu"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Defineix un bloqueig de pantalla"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel·la"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancel·la"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configura"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configura un espai privat"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantén les aplicacions privades en un espai separat que puguis amagar o bloquejar"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Com funciona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Pots accedir a l\'espai privat des del final de la llista d\'aplicacions"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Les apps de l\'espai privat estan protegides amb un bloqueig"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Quan està bloquejat, les notificacions de les aplicacions de l\'espai privat s\'amaguen"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Les aplicacions de l\'espai privat no es mostraran al gestor de permisos, al tauler de privadesa ni en altres opcions de configuració quan l\'espai privat estigui bloquejat.\n\nL\'espai privat no es pot traslladar a un dispositiu nou. Caldrà que configuris un altre espai privat si el vols utilitzar en un altre dispositiu.\n\nQualsevol persona que connecti el teu dispositiu a un ordinador o instal·li aplicacions perjudicials al teu dispositiu podria accedir a l\'espai privat."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"S\'està configurant l\'espai privat…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Quan està bloquejat, les notificacions de les aplicacions de l\'espai privat s\'amaguen"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloqueja l\'espai privat per compartir fotos o fitxers"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Algunes aplicacions ja estan instal·lades a 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_lockscreen_title" msgid="6034864097861137509">"Vols utilitzar el bloqueig de pantalla per desbloquejar l\'espai privat?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Pots desbloquejar l\'espai privat de la mateixa manera que desbloqueges el dispositiu, o triar un altre bloqueig"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Utilitza el bloqueig de pantalla"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Tria un bloqueig nou"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tot a punt!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Per trobar l\'espai privat, ves a la llista d\'aplicacions i desplaça\'t cap avall"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Fet"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Desplaça\'t cap avall per trobar l\'espai privat"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Inicia la sessió"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Inicia la sessió en un compte per utilitzar l\'espai privat"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ara no"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continua"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Tria un bloqueig per a l\'espai privat"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Pots desbloquejar l\'espai privat amb l\'empremta digital. Per motius de seguretat, aquesta opció requereix un bloqueig alternatiu."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Defineix un PIN per a l\'espai privat"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Defineix contrasenya per a l\'espai privat"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Defineix un patró per a l\'espai privat"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Pots afegir un màxim de <xliff:g id="COUNT">%d</xliff:g> empremtes digitals"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Has afegit el nombre màxim d\'empremtes digitals"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No es poden afegir més empremtes digitals"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patró"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Contrasenya"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vols suprimir el bloqueig de pantalla?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Vols suprimir tots els tipus de desbloqueig del dispositiu?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Vols suprimir la protecció del perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Un patró protegeix el teu telèfon si es perd o te\'l roben"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Un patró protegeix el teu telèfon si es perd o te\'l roben.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Aquesta acció suprimeix el model d\'empremta digital emmagatzemat al dispositiu. El teu model facial també se suprimirà permanentment i de manera segura. No podràs utilitzar la teva cara o empremta digital per a l\'autenticació en aplicacions."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"El PIN protegeix el teu telèfon si es perd o te\'l roben"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Perdràs dades desades, com ara el PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se suprimiran les targetes que hagis configurat per pagar sense contacte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>És possible que les carteres i altres aplicacions que requereixen el desbloqueig del dispositiu no funcionin correctament."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"El PIN protegeix el teu telèfon si es perd o te\'l roben.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Aquesta acció també suprimeix el model d\'empremta digital emmagatzemat al dispositiu. No podràs utilitzar la teva empremta digital per a l\'autenticació en aplicacions."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Perdràs dades desades, com ara el PIN i el model d\'empremta digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se suprimiran les targetes que hagis configurat per pagar sense contacte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>És possible que les carteres i altres aplicacions que requereixen el desbloqueig del dispositiu no funcionin correctament."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"El PIN protegeix el teu telèfon si es perd o te\'l roben.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>El teu model facial també se suprimirà permanentment i de manera segura. No podràs utilitzar la cara per a l\'autenticació en aplicacions."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Perdràs dades desades, com ara el PIN i el model facial.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se suprimiran les targetes que hagis configurat per pagar sense contacte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>És possible que les carteres i altres aplicacions que requereixen el desbloqueig del dispositiu no funcionin correctament."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"El PIN protegeix el teu telèfon si es perd o te\'l roben.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Aquesta acció suprimeix el model d\'empremta digital emmagatzemat al dispositiu. El teu model facial també se suprimirà permanentment i de manera segura. No podràs utilitzar la teva cara o empremta digital per a l\'autenticació en aplicacions."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Perdràs dades desades, com ara el PIN i el model facial i d\'empremta digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se suprimiran les targetes que hagis configurat per pagar sense contacte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>És possible que les carteres i altres aplicacions que requereixen el desbloqueig del dispositiu no funcionin correctament."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Una contrasenya protegeix el teu telèfon si es perd o te\'l roben"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Una contrasenya protegeix el teu telèfon si es perd o te\'l roben.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Vols vincular <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Afegeix un membre nou al conjunt coordinat existent"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirma per afegir la segona peça del dispositiu d\'àudio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Codi de vinculació per Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Escriu el codi de vinculació i, a continuació, prem la tecla de retorn."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"El PIN conté lletres o símbols"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Ha de tenir 16 dígits"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Pot ser que també hagis d\'introduir aquest PIN a l\'altre dispositiu."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Pot ser que també hagis d\'introduir aquesta clau d\'accés a l\'altre dispositiu."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirma per vincular amb el conjunt coordinat"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirma per vincular amb el dispositiu d\'àudio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permet l\'accés als contactes i a l\'historial de trucades"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Permet també l\'accés als contactes i a l\'historial de trucades"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"La informació s\'utilitzarà per als avisos de trucades i més"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"No s\'ha pogut connectar amb <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositius disponibles"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connecta"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconnecta"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Vincula i connecta"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Amb el Bluetooth activat, el dispositiu pot comunicar-se amb dispositius Bluetooth propers."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Amb el Bluetooth activat, el dispositiu pot comunicar-se amb dispositius Bluetooth a prop"</string>
     <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 del dispositiu, les 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-la a la configuració de cerca de dispositius Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Canvia"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalls del dispositiu"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permet que ART verifiqui el codi de bytes de les aplicacions depurables"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Freqüència d\'actualització"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra la freqüència d\'actualització de la pantalla actual"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostra la proporció HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostra la proporció HDR/SDR actual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Sol·licita el desbloqueig del dispositiu per a l\'NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"En mode d\'avió"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notifica quan es detectin xarxes públiques"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notifica\'m quan hi hagi disponible una xarxa pública d\'alta qualitat"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permet xarxes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP és un protocol de seguretat més antic que és menys segur"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"El teu operador no permet les xarxes WEP perquè són menys segures"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activa la Wi‑Fi automàticament"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"La Wi-Fi es tornarà a activar automàticament prop de xarxes d\'alta qualitat desades, com la de casa teva"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"No disponible perquè la ubicació està desactivada. Activa la "<annotation id="link">"ubicació"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La cerca de xarxes Wi-Fi permet que les aplicacions i els serveis cerquin xarxes Wi-Fi en qualsevol moment, fins i tot quan la Wi-Fi estigui desactivada. Aquesta opció es pot utilitzar, per exemple, per millorar les funcions i els serveis basats en la ubicació."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activa"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"S\'ha activat la cerca de xarxes Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Aquesta xarxa utilitza un protocol de seguretat més antic que és menys segur"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> s\'ha bloquejat"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Aquesta xarxa utilitza un protocol de seguretat més antic anomenat \"WEP\", que és menys segur. Per connectar-t\'hi de totes maneres, pots permetre les xarxes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"El teu operador no et permet connectar-te a aquesta xarxa perquè utilitza un protocol de seguretat més antic que és menys segur"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permet les xarxes WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Tanca"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opcions avançades"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Llista desplegable Opcions avançades"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"desplega"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Mantén la connexió a la Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"No ho mostris mai més"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Connecta"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"La xarxa Wi‑Fi està activada"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"T\'has connectat a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"S\'està connectant a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"S\'està connectant…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"No s\'ha pogut connectar a la xarxa"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"La xarxa està fora de l\'abast"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Oblida"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modifica"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"No s\'ha pogut oblidar la xarxa"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Desa"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"No s\'ha pogut desar la xarxa"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancel·la"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Dades mòbils"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ S\'està carregant"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ S\'està carregant"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Connexió del punt d\'accés Wi-Fi"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Intensitat de connexió"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Xarxes desades"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No s\'ha definit cap contrasenya"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nom del punt d\'accés Wi-Fi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Contrasenya del punt d\'accés Wi-Fi"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda del punt d\'accés"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactiva el punt d\'accés Wi-Fi automàticament"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quan no hi ha cap dispositiu connectat"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Amplia la compatibilitat"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Mostra el balanç de blancs"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Segueix utilitzant aplicacions en plegar-lo"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Augmenta automàticament la freqüència d\'actualització de 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz en alguns continguts. Augmenta l\'ús de la bateria."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Des. fotog. seg. pred. per a jocs"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Desactiva la limitació màxima de fotogrames per segon per als jocs a <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Augmenta automàticament la freqüència d\'actualització fins a <xliff:g id="ID_1">%1$d</xliff:g> Hz en alguns continguts. Augmenta l\'ús de la bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Força la freqüència d\'actualització màxima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"La freqüència d\'actualització més alta millora la resposta tàctil i la qualitat de les animacions. Augmenta l\'ús de la bateria."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atenció a la pantalla"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"La funció Atenció a la pantalla fa servir la càmera frontal per detectar si algú està mirant la pantalla. Només funciona al dispositiu, i les imatges mai no s\'emmagatzemen ni s\'envien a Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activa l\'atenció a la pantalla"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantén la pantalla activada mentre la mires"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Si s\'allarga el temps d\'espera de la pantalla, es consumirà més bateria."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"La càmera està bloquejada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"La càmera ha d\'estar desbloquejada per a la detecció facial"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"La càmera ha d\'estar desbloquejada per accedir a la funció Atenció a la pantalla"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ranura de la SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ranura de la SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Selecciona una xarxa desada per veure-la"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versió de PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivell de la bateria"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Comuna"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Configuració comuna"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Missatges per satèl·lit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edita el punt d\'accés"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Afegeix un punt d\'accés"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"No definit"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"No definit"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nom"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN activat"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN desactivat"</string>
     <string name="bearer" msgid="3231443241639159358">"Portador"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipus de xarxa"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Sense especificar"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipus d\'OMV"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor d\'OMV"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Suprimeix l\'APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Desa"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel·la"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada d\'APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"El camp Nom no pot ser buit."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"L\'APN no pot ser buit."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"El camp MCC ha de tenir 3 dígits."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"El camp MNC ha de tenir 2 o 3 dígits."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"L\'operador no permet afegir APN de tipus %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"El camp MMSC ha de ser vàlid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"S\'està restaurant la configuració predeterminada d\'APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Restableix els valors predeterminats"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"S\'ha restablert la configuració d\'APN predeterminada."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restableix"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"S\'han restablert el Bluetooth i la Wi‑Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Esborra les eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Aquesta acció no cancel·larà cap dels plans de serveis mòbils. Per baixar targetes SIM de substitució, contacta amb el teu operador."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Aquesta acció no cancel·larà el teu pla de serveis mòbils. Per obtenir una SIM de substitució, contacta amb l\'operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restableix la configuració"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Vols restablir totes les opcions de configuració de la xarxa? Aquesta acció no es pot desfer."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vols restablir totes les opcions de configuració de la xarxa i esborrar les eSIM? Aquesta acció no es pot desfer."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Restablir?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"El restabliment de xarxa no està disponible per a aquest usuari"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"S\'ha restablert la configuració de la xarxa"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"No es poden esborrar les targetes SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Les eSIM no s\'han pogut esborrar a causa d\'un error.\n\nReinicia el dispositiu i torna-ho a provar."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"No es poden esborrar les eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"S\'ha produït un error i les eSIM no s\'han pogut esborrar.\n\nReinicia el dispositiu i torna-ho a provar."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Esborra totes les dades (restabliment de fàbrica)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Esborra totes les dades (restabliment dades fàbrica)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"La música"</li>\n<li>"Les fotos"</li>\n<li>"Altres dades d\'usuari"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"No es cancel·larà el teu pla de serveis mòbils."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Se suprimiran tota la teva informació personal i les aplicacions baixades. Aquesta acció no es pot desfer."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Se suprimirà tota la teva informació personal, incloses les targetes SIM i les aplicacions que hagis baixat. Aquesta acció no es pot desfer."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Se suprimirà tota la teva informació personal, incloses les eSIM i les aplicacions que hagis baixat. Aquesta acció no es pot desfer."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vols esborrar totes les dades?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"El restabliment de fàbrica no està disponible per a aquest usuari"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"S\'està esborrant"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Punt d\'accés Wi‑Fi, USB, Bluetooth i Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"No s\'està compartint la connexió a Internet amb altres dispositius"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desactivat"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Compartició de xarxa"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"No utilitzis el punt d\'accés Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Comparteix Internet només per USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Comparteix Internet només per Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Comparteix Internet només per Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Comparteix Internet només per USB i Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Comparteix Internet només per USB i Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Comparteix Internet només per Bluetooth i Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Comparteix Internet només per USB, Bluetooth i Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Compartició de xarxa per USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Compartició de xarxa per Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Compartició de xarxa per Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utilitza el punt d\'accés Wi‑Fi i la compartició de xarxa per proporcionar Internet a altres dispositius amb la teva connexió Wi‑Fi o de dades mòbils. Les aplicacions també poden crear un punt d\'accés Wi‑Fi per compartir contingut amb els dispositius propers."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ajuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Xarxa mòbil"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Pla mòbil"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplicació d\'SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vols canviar l\'aplicació d\'SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Vols fer servir <xliff:g id="NEW_APP">%1$s</xliff:g> en lloc de <xliff:g id="CURRENT_APP">%2$s</xliff:g> com a aplicació d\'SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Vols canviar l\'assistent de Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Confirmes que vols fer servir <xliff:g id="NEW_APP">%1$s</xliff:g>, i no pas <xliff:g id="CURRENT_APP">%2$s</xliff:g>, per gestionar les connexions de la xarxa?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Vols fer servir <xliff:g id="NEW_APP">%s</xliff:g> per gestionar les connexions de la xarxa?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operador de SIM desconegut"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> no té cap lloc web d\'administració conegut"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Insereix la targeta SIM i reinicia"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Connecta a Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Sol·licituds d\'ubicació recents"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Ubicació per al perfil de treball"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permisos d\'ubicació d\'aplicacions"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Esborra l\'accés"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controls"</string>
     <string name="force_stop" msgid="2681771622136916280">"Força l\'aturada"</string>
+    <string name="archive" msgid="9074663845068632127">"Arxiva"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaura"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"S\'està restaurant"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"S\'està restaurant."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"S\'està restaurant.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"S\'està restaurant..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Mida de l\'aplicació"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"En emmagatzematge USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"No s\'ha pogut calcular la mida del paquet."</string>
     <string name="version_text" msgid="7628938665256107608">"versió <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mou"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"No s\'ha pogut arxivar"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"S\'ha arxivat <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restauració fallida"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"S\'està restaurant <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Ja hi ha una migració en curs."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"No hi ha prou espai d\'emmagatzematge."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"L\'aplicació no existeix."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclat en pantalla disponible"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gestiona els teclats en pantalla"</string>
     <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="6922850403920596246">"Activa les tecles de rebot per millorar l\'accessibilitat del teclat físic"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Tecles lentes"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Activa les tecles lentes per millorar l\'accessibilitat del teclat físic"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Tecles permanents"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Activa les tecles permanents per millorar l\'accessibilitat del teclat físic"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Velocitat del punter"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprèn els gestos del ratolí tàctil"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ves a la pàgina d\'inici"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Fes lliscar tres dits cap amunt al ratolí tàctil"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Torna"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordena pel temps d\'ús"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordena pel darrer ús"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordena per nom de l\'aplicació"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Darrer ús"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Darrer ús"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"mai"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Temps d\'ús"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibilitat"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Configuració d\'accessibilitat"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Amplia amb tres tocs"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Amplia amb una drecera"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Amplia amb una drecera i tres tocs"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilitza el botó d\'accessibilitat per obrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Per obrir, mantén premudes les tecles de volum"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Per obrir, fes triple toc a la pantalla"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Fes doble toc a la pantalla amb dos dits per obrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilitza un gest per obrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utilitza el gest d\'accessibilitat"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> a la part inferior de la pantalla.\n\nPer canviar entre funcions, mantén premut el botó d\'accessibilitat."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Per utilitzar aquesta funció, toca el botó d\'accessibilitat de la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Per utilitzar aquesta funció, mantén premudes les dues tecles de volum."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Per iniciar o aturar l\'ampliació, fes triple toc en qualsevol punt de la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Per iniciar o aturar l\'ampliació, fes doble toc en qualsevol punt de la pantalla amb dos dits."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Per utilitzar aquesta funció, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Per utilitzar aquesta funció, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Per utilitzar una funció d\'accessibilitat, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Per utilitzar una funció d\'accessibilitat, 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_tutorial_dialog_button" msgid="2031773187678948436">"Entesos"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Opcions botó d\'accessibilitat"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Configuració del botó"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Drecera a <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botó d\'accessibilitat"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gest d\'accessibilitat"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantén premudes les tecles de volum"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantén premudes les 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"doble toc a la pantalla amb dos 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="6863958573135995927">"fes tres tocs a la pantalla"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Més informació sobre els gestos i el botó d\'accessibilitat"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"S\'està utilitzant el botó d\'accessibilitat. El gest no està disponible amb la navegació amb 3 botons."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accedeix ràpidament a les funcions d\'accessibilitat"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Per començar"</b>\n"1. Ves a la configuració d\'accessibilitat.\n2. Selecciona una funció i toca la drecera.\n3. Tria si vols utilitzar un botó o gest per accedir a la funció."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Per començar"</b>\n"1. Ves a la configuració d\'accessibilitat.\n2. Selecciona una funció i toca la drecera.\n3. Tria el botó per accedir a la funció."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Per començar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ves a la configuració d\'accessibilitat.&lt;br/&gt; {1,number,integer}. Selecciona una funció i toca la drecera.&lt;br/&gt; {2,number,integer}. Tria si vols utilitzar un botó o un gest per accedir a la funció.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Per començar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ves a la configuració d\'accessibilitat.&lt;br/&gt; {1,number,integer}. Selecciona una funció i toca la drecera.&lt;br/&gt; {2,number,integer}. Tria el botó per accedir a la funció.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utilitza el botó o el gest"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Ubicació"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Mida"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"El botó d\'engegada penja"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Punter de ratolí gran"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Fes que el punter del ratolí sigui més visible"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Enfosqueix les aplicacions"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Per a les apps que no tinguin tema fosc. Algunes poden tenir problemes, com ara colors invertits."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Suprimeix les animacions"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Redueix el moviment a la pantalla"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Àudio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Utilitza la vibració i la tecnologia hàptica"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibració de les alarmes"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibració del contingut multimèdia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibració del teclat"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibració de les trucades"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibració de les notificacions"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Resposta tàctil"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Atura"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel·la"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Vols aturar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Si toques <xliff:g id="STOP">%1$s</xliff:g>, <xliff:g id="SERVICE">%2$s</xliff:g> s\'aturarà."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactiva"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Mantén"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vols desactivar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No hi ha cap servei instal·lat"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No s\'ha seleccionat cap servei"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No s\'ha proporcionat cap descripció."</string>
     <string name="settings_button" msgid="2195468788019730377">"Configuració"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilitat a la llum, fotofòbia, tema fosc, migranya, mal de cap, mode de lectura, mode nocturn, redueix la brillantor, punt blanc"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"fàcil d\'utilitzar, fàcil accés, assistència, suport"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visió, audició, invident, sord, motricitat, destresa, suport, assistència, facilitat d\'ús, facilitat d\'accés, mà, ajuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ampliador de finestres, zoom, ampliació, poca visió, ampliar, fer més gran"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"subtítols, transcripció instantània, deficiències auditives, pèrdua auditiva, CART, parla a text, subtítol"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contrast de color"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, ratolí"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"audiòfons, deficiències auditives, pèrdua d\'audició, implants coclears, dispositius d\'amplificació, processadors de so"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motricitat, ratolí, ratolí extern, ratolí de cap, ratolí adaptatiu, cadira de rodes, palanca de control"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"audiòfons, deficiències auditives, pèrdua d\'audició, implants coclears, dispositius d\'amplificació, processadors de so, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"deficiències auditives, pèrdua auditiva, subtítols, teletip, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tres botons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destresa, motricitat, sènior, artritis, rsi, accident cerebrovascular, tremolor, esclerosi múltiple, paràlisi cerebral, tremolors, lesió per moviment repetitiu, mà"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"retard, destresa, sènior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impressió"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desactivat"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 servei d\'impressió activat}other{# serveis d\'impressió activats}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Temps restant: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> per completar la càrrega"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Temps de connexió"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Temps en segon pla"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria baixa"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permet que l\'aplicació s\'executi en segon pla"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Vols limitar l\'activitat en segon pla?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limites l\'activitat en segon pla d\'una aplicació, és possible que no funcioni correctament"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Com que aquesta aplicació no s\'ha configurat per optimitzar la bateria, no pots restringir-la.\n\nPer restringir l\'aplicació, activa l\'optimització de la bateria."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestiona l\'ús de la bateria"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permet l\'ús en segon pla"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activa per a actualitzacions en temps real; desactiva per estalviar bateria"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sense restriccions"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimitzat"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restringit"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Mostra les aplicacions que més bateria utilitzen"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"La càrrega s\'ha optimitzat per protegir la bateria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Per ajudar-te a allargar la vida útil de la bateria, la càrrega s\'ha optimitzat"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"La càrrega s\'ha optimitzat per protegir la bateria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Per ajudar-te a allargar la vida útil de la bateria, la càrrega s\'optimitzarà mentre el dispositiu estigui acoblat"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"La càrrega s\'ha optimitzat per protegir la bateria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Per ajudar-te a allargar la vida útil de la bateria, la càrrega s\'optimitzarà mentre el dispositiu estigui acoblat"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"S\'està carregant completament"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Per protegir la bateria, la càrrega s\'optimitzarà la pròxima vegada que la tauleta s\'acobli"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Més informació sobre la càrrega en pausa"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprèn la càrrega"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclou l\'activitat en segon pla que consumeix molta bateria"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aquesta aplicació podrà utilitzar la bateria en segon pla, cosa que pot provocar que s\'esgoti abans del previst."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Suprimeix"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel·la"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Carrega completament"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema relacionat amb l\'accessori de càrrega"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Revisa l\'accessori de càrrega"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Més informació sobre la càrrega incompatible"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestor de bateria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestiona les aplicacions automàticament"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"des de l\'última càrrega completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplicacions del sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Aplicacions desinstal·lades"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Altres"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Temps estimat restant"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Fins a completar la càrrega"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menys d\'un minut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"En segon pla: menys d\'un minut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Temps de connexió: menys d\'un minut"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menys d\'un minut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"En segon pla: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Temps de connexió: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ara"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>-<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gràfic de l\'ús de la bateria"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gràfic de l\'ús diari de la bateria"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gràfic de l\'ús de la bateria per hores"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Percentatge del nivell de bateria de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> a <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Ús de la bateria des de la darrera càrrega completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Ús de la bateria: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Temps de connexió des de la darrera càrrega completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Senyal de trucada d\'emergència"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Defineix el comportament quan es fa una trucada d\'emergència"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Còpia de seguretat"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activada"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desactivat"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Còpia de seguretat i restauració"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dades personals"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Còpia de seguretat de les meves dades"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dades mòbils i Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronitza les dades personals automàticament"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronitza les dades professionals automàticament"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincronitza automàticament"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Canvia el cicle..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dia del mes per restablir el cicle d\'ús de dades:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Cap aplicació no ha utilitzat dades en aquest període."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipus"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adreça del servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Encriptació PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador d\'IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Clau precompartida d\'IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat d\'usuari IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat de CA d\'IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostra opcions avançades"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Dominis de cerca DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidors DNS (p. ex., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rutes de desviació (p. ex., 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nom d\'usuari"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Contrasenya"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Desa la informació del compte"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(no utilitzat)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(no comprovis el servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(rebut del servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Aquest tipus de VPN no pot estar connectat en tot moment"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Una VPN sempre activada només admet adreces de servidor numèriques"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"S\'ha d\'especificar un servidor DNS per a una VPN sempre activada"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Les adreces del servidor DNS han de ser numèriques per a una VPN sempre activada"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"La informació indicada no és compatible amb una VPN sempre activada"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancel·la"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ignora"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloqueja les connexions sense VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"La connexió VPN ha de ser obligatòria?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"No és segura. Actualitza a una VPN IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"No s\'ha pogut iniciar la VPN no admesa."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN per estar-hi sempre connectat. El trànsit de la xarxa només es permetrà quan estiguis connectat a aquesta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Cap"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Per tenir la VPN sempre activada cal una adreça IP per al servidor i per al DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertes AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Rep butlletins sobre segrestos infantils."</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetició"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Activació del gestor de trucades"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permet que aquest servei gestioni com es fan les trucades."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gestor de trucades"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertes d\'emergència sense fil"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operadors de xarxa"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Noms dels punts d\'accés"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Estat de la SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estat de la SIM (ranura de la SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Les SIM s\'han canviat."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Les SIM han canviat"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toca per configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pregunta sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Has de seleccionar una preferència."</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicacions recents, aplicacions predeterminades"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les aplicacions del perfil de treball no tenen accés a les notificacions."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Contrasenyes i comptes"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Contrasenyes desades, emplenament automàtic i comptes sincronitzats"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggeriments per a l\'inici de sessió i Emplenament automàtic"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplicacions predeterminades"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplicacions clonades"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crea una segona instància d\'una aplicació per poder utilitzar dos comptes alhora."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"paga, toca, pagaments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"còpia de seguretat, crear una còpia de seguretat"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gest"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"desbloqueig, facial, autenticació, iniciar la sessió"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"desbloqueig, facial, autentificació, iniciar la sessió, empremta digital, biometria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versió de prl, versió de software d\'imei"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"mida del text, impressió gran, lletra gran, text gran, poca visió, fer el text més gran, ampliador de font, ampliació de font"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"pantalla ambient sempre activa, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiqueta, lector"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclat, tecnologia hàptica, vibració,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, vibració, No molestis"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volum de multimèdia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volum emès"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Sons d\'inici"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtítols instantanis"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Subtitula el contingut multimèdia automàticament"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altaveus del telèfon"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Altaveus de la tauleta"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Altaveus del dispositiu"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Auriculars amb cable"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"L\'àudio dels continguts multimèdia compatibles esdevé més immersiu"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Desactivat"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostra tot el contingut de les notificacions"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostra el contingut sensible només en desbloquejar"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"No mostris cap notificació"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Què vols que es mostri a la pantalla de bloqueig?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Què vols que es mostri a la pantalla de bloqueig?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueig"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostra tot el contingut de notificacions de feina"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Amaga el contingut de feina sensible"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Les converses recents s\'han suprimit"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"S\'ha suprimit la conversa"</string>
     <string name="clear" msgid="5092178335409471100">"Esborra"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Esborra <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Les converses que hagis marcat com a prioritàries o en què hagis fet canvis es mostraran aquí"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Quan marquis una conversa com a prioritària, o quan facis qualsevol altre canvi en una conversa, es mostrarà aquí. \n\nPer canviar la configuració de les converses:\nllisca cap avall des de la part superior de la pantalla per obrir l\'àrea desplegable i, a continuació, mantén premuda una conversa."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimitza"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Abaixa el volum de notificacions"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Abaixa el volum de totes les notificacions"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Abaixa gradualment el volum de les notificacions quan en reps moltes seguides de la mateixa aplicació"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Abaixa el volum de les converses"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Abaixa gradualment el volum de les notificacions quan reps molts missatges del mateix xat en un període curt de temps"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"No abaixis el volum de les notificacions"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"No abaixis mai el volum de les notificacions, independentment de la quantitat de notificacions seguides de la mateixa aplicació"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibra quan estigui desbloquejada"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibra només quan la pantalla estigui desbloquejada"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplica als perfils de treball"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplica la configuració per abaixar el volum de les notificacions del teu perfil personal al perfil de treball"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serveis d\'ajuda per a RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Cap aplicació instal·lada no ha sol·licitat que s\'executi com un servei d\'ajuda per a RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Vols permetre que <xliff:g id="SERVICE">%1$s</xliff:g> accedeixi al servei RV?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desactivat"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fixació d\'aplicacions"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"La fixació d\'aplicacions permet mantenir l\'aplicació actual visible fins que es deixa de fixar. Aquesta funció serveix, per exemple, perquè un amic de confiança pugui jugar a un joc concret."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Quan una aplicació està fixada, pot obrir-ne d\'altres i accedir a les dades personals. \n\nPer utilitzar la fixació d\'aplicacions: 	\n1. Activa la fixació d\'aplicacions. 	\n2. Obre Aplicacions recents. 	\n3. Toca la icona de l\'aplicació a la part superior de la pantalla i, a continuació, toca Fixa."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Quan una aplicació està fixada, pot obrir-ne d\'altres i accedir a les dades personals. \n\nSi vols compartir el teu dispositiu amb algú de manera segura, prova d\'utilitzar un usuari convidat. \n\nPer utilitzar la fixació d\'aplicacions: 	\n1. Activa la fixació d\'aplicacions. 	\n2. Obre Aplicacions recents. 	\n3. Toca la icona de l\'aplicació a la part superior de la pantalla i, a continuació, toca Fixa."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Quan una aplicació està fixada, pot obrir-ne d\'altres i accedir a les dades personals. \n\nPer utilitzar la fixació d\'aplicacions: 	\n{0,number,integer}. Activa la fixació d\'aplicacions. 	\n{1,number,integer}. Obre Aplicacions recents. 	\n{2,number,integer}. Toca la icona de l\'aplicació a la part superior de la pantalla i, a continuació, toca Fixa."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Quan una aplicació està fixada, pot obrir-ne d\'altres i accedir a les dades personals. \n\nSi vols compartir el teu dispositiu amb algú de manera segura, prova d\'utilitzar un usuari convidat. \n\nPer utilitzar la fixació d\'aplicacions: 	\n{0,number,integer}. Activa la fixació d\'aplicacions. 	\n{1,number,integer}. Obre Aplicacions recents. 	\n{2,number,integer}. Toca la icona de l\'aplicació a la part superior de la pantalla i, a continuació, toca Fixa."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Quan es fixa una aplicació: \n\n•		Es pot accedir a les dades personals \n		(com ara els contactes i el contingut dels correus electrònics). \n•		L\'aplicació fixada pot obrir altres aplicacions. \n\nUtilitza la fixació d\'aplicacions només amb gent de confiança."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Sol·licita el patró de desbloqueig per deixar de fixar"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demana el PIN per deixar de fixar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demana la contrasenya per deixar de fixar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloqueja el dispositiu en deixar de fixar"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirma la supressió de la SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirma que vols esborrar l\'eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifica la teva identitat abans d\'esborrar una eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protec. avançada de memòria beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protecció avançada de la memòria"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Configuració d\'aplicació no utilitzada"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Posa en pausa l\'activitat a l\'aplicació quan no s\'utilitza"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Suprimeix els permisos i els fitxers temporals, i atura les notificacions"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gestiona l\'aplicació si no s\'utilitza"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Suprimeix els permisos i els fitxers temporals, atura les notificacions i arxiva l\'aplicació"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Totes les aplicacions"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicacions instal·lades"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicacions instantànies"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Memòria disponible"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memòria utilitzada per les aplicacions"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplicació ha utilitzat la memòria durant els darrers {time}}other{# aplicacions han utilitzat la memòria durant els darrers {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Activa elaboració perfils d\'ús de memòria"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"L\'elaboració de perfils d\'ús de memòria requereix recursos del sistema addicionals."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Elaboració de perfils de memòria desactivada"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Freqüència"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Ús màxim"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No s\'han utilitzat dades"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Mostra sobre altres aplicacions"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permet mostrar sobre altres aplicacions"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permet que aquesta aplicació es mostri a sobre de les altres aplicacions que estiguis utilitzant. L\'aplicació podrà veure on toques i canviar el que es mostra en pantalla."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Canvia la sortida multimèdia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permet que l\'app canviï la sortida multimèdia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permet que aquesta aplicació triï quin dispositiu connectat reprodueix àudio o vídeo des d\'altres aplicacions. Si té el permís, l\'aplicació pot accedir a una llista de dispositius disponibles, com ara auriculars i altaveus, i triar quin dispositiu de sortida s\'utilitza per reproduir o emetre àudio o vídeo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Accés a tots els fitxers"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permet l\'accés per gestionar tots els fitxers"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permet que aquesta aplicació llegeixi, modifiqui i suprimeixi tots els fitxers d\'aquest dispositiu o de qualsevol volum d\'emmagatzematge connectat. L\'aplicació podrà accedir als fitxers sense el teu coneixement explícit."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pot accedir a tots els fitxers"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicacions d\'activació per veu"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permet l\'activació per veu"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'activació per veu activa les aplicacions aprovades mitjançant les ordres de veu amb mans lliures. La detecció adaptativa integrada garanteix la privadesa de les teves dades.\n\n"<a href="">"Més informació sobre la detecció adaptativa protegida"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificacions de pantalla completa"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permet les notificacions de pantalla completa d\'aquesta aplicació"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permet que aquesta aplicació mostri notificacions que ocupen tota la pantalla quan el dispositiu està bloquejat. Les aplicacions poden utilitzar aquesta opció per destacar alarmes, trucades entrants o altres notificacions urgents."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Advertiment de dades: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Límit de dades: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Advertiment de dades: <xliff:g id="ID_1">^1</xliff:g> / Límit de dades: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"El recompte de dades de l\'operador de telefonia mòbil pot ser diferent del calculat pel dispositiu"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"No inclou les dades que utilitzen les xarxes d\'operadors"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Dades utilitzades: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Defineix l\'advertiment de dades"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Actualitzat fa <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Actualitzat per <xliff:g id="ID_1">^1</xliff:g> ara mateix"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Actualitzat ara mateix"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Mostra el pla"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Mostra els detalls"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Estalvi de dades"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dades sense restricció"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"L\'aplicació <xliff:g id="APP_LABEL">%1$s</xliff:g> ha consumit més bateria de l\'habitual en segon pla"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"L\'aplicació <xliff:g id="APP_LABEL">%1$s</xliff:g> ha consumit més bateria en primer pla"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"L\'aplicació <xliff:g id="APP_LABEL">%1$s</xliff:g> ha consumit més bateria de l\'habitual en primer pla"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia en l\'ús de la bateria"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Ús elevat de la bateria"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Ús elevat de la bateria en segon pla"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ús elevat de la bateria en primer pla"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Icones de configuració ràpida per a desenvolupadors"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Desactiva el temps d\'espera per a autoritzacions adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Desactiva la revocació automàtica d\'autoritzacions adb per als sistemes que no s\'han tornat a connectar durant el temps predeterminat (7 dies) o el temps configurat per l\'usuari (mínim 1 dia)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Traça de Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensors desactivats"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Configuració del perfil de treball"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Cerca contactes del directori de la feina a les apps personals"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegació del sistema, navegació amb 2 botons, navegació amb 3 botons, navegació amb gestos, lliscar"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistent digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Llisca per invocar l\'assistent"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Llisca cap amunt des d\'un extrem inferior per invocar l\'aplicació de l\'assistent digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Llisca cap amunt des d\'un extrem inferior per invocar l\'aplicació de l\'assistent digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mantén premut el botó d\'inici per obrir l\'Assistent"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Mantén premut el botó d\'inici per invocar l\'aplicació de l\'assistent digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Servei d\'emplenament automàtic"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Servei d\'emplenament automàtic predeterminat"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Contrasenyes"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Serveis de contrasenyes, claus d\'accés i dades"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Proveïdors addicionals"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Servei preferit"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Serveis addicionals"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# contrasenya}other{# contrasenyes}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automàtic, emplenament, emplenament automàtic, contrasenya"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dades, clau d\'accés, contrasenya"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, emplena, emplenament automàtic, dades, clau d\'accés, contrasenya"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Canvia"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Obre"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"No s\'ha seleccionat res"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Assegura\'t que confies en aquesta aplicació&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Emplenament automàtic amb Google&gt;%1$s&lt;/xliff:g&gt; utilitza el contingut que es mostra a la pantalla per determinar què es pot emplenar automàticament."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Vols utilitzar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; fa servir el que es mostra a la pantalla per determinar què es pot emplenar automàticament. Les noves contrasenyes, claus d\'accés i altres dades es desaran aquí a partir d\'ara."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Serveis de contrasenyes, claus d\'accés i dades"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Utilitza &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les noves contrasenyes, claus d\'accés i altres dades es desaran aquí a partir d\'ara. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pot fer servir el que es mostra a la pantalla per determinar què es pot emplenar automàticament."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Servei preferit per a les contrasenyes, les claus d\'accés i Emplenament automàtic"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vols desactivar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vols desactivar aquest servei?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; La informació desada, com ara contrasenyes, claus d\'accés i formes de pagament, entre d\'altres, no s\'emplenarà quan iniciïs la sessió. Per utilitzar la teva informació desada, tria una contrasenya, una clau d\'accés o un servei de dades."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Contrasenyes, claus i Emplenament automàtic"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Vols desactivar tots els serveis?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les contrasenyes, les claus d\'accés i altres dades desades no estaran disponibles per a l\'emplenament automàtic quan iniciïs la sessió."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Vols canviar el teu proveïdor de serveis preferit a &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les noves contrasenyes, claus d\'accés i altres dades es desaran aquí a partir d\'ara. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pot fer servir el que es mostra a la pantalla per determinar què es pot emplenar automàticament."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Vols utilitzar %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desactiva"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Canvia"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Només pots tenir 5 serveis activats"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desactiva almenys 1 servei per afegir-ne un altre"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s fa servir el que es mostra a la pantalla per determinar què es pot emplenar automàticament."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Límit de serveis de contrasenyes, claus d\'accés i dades"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Pots tenir fins a 5 serveis de contrasenyes, claus d\'accés i dades actius alhora. Desactiva un servei per afegir-ne més."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Límit de contrasenyes, claus d\'accés i serveis de dades"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Pots tenir fins a 5 contrasenyes, claus d\'accés i serveis de dades actius alhora. Desactiva un servei per afegir-ne més."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desactiva"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Emplenament automàtic"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivell de registre"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Els canvis en la compatibilitat de les aplicacions només poden modificar-se a les aplicacions depurables. Instal·la una aplicació depurable i torna-ho a provar."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depèn d\'una altra opció de configuració"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d comptes"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nom del dispositiu"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informació bàsica"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legislació i normativa"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permet que aquesta aplicació s\'iniciï en escanejar una etiqueta NFC.\nSi aquest permís està activat, l\'aplicació estarà disponible com una opció quan es detecti una etiqueta."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reprodueix contingut multimèdia a"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reprodueix <xliff:g id="LABEL">%s</xliff:g> a"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"L\'àudio es reproduirà a"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Aquest dispositiu"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"No està disponible durant les trucades"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Accepta la trucada a"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Silencia"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Per activar la funció, al menú d\'engegada, primer canvia l\'opció Mantén premut el botó d\'engegada."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalls de la xarxa"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"El nom del dispositiu és visible per a les aplicacions del telèfon. 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="devices_title" msgid="649715719278562515">"Dispositius"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Tria una xarxa"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Desconnectada"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nom"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Color (utilitzat en aplicacions compatibles)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Desa"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Utilitza la SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Utilitza aquesta SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desactivat"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Per desactivar aquesta SIM, extreu-la"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toca per activar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Esborra la targeta SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Per desactivar aquesta SIM, treu la targeta SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toca per activar la SIM de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Esborra l\'eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipus de xarxa preferent"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Canvia el mode de funcionament de la xarxa"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipus de xarxa preferent"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Contacta amb el proveïdor de xarxa per saber els preus."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Ús de dades de l\'aplicació"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"El mode de xarxa <xliff:g id="NETWORKMODEID">%1$d</xliff:g> no és vàlid. Ignora."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Missatges per satèl·lit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envia i rep missatges de text per satèl·lit. S\'inclou amb el teu compte."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envia i rep missatges de text per satèl·lit. No s\'inclou amb el teu compte."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Missatges per satèl·lit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Sobre els missatges per satèl·lit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Pots enviar i rebre missatges de text per satèl·lit com a part d\'un compte de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> apte"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"El teu pla de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Els missatges per satèl·lit s\'inclouen amb el teu compte"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Els missatges per satèl·lit no s\'inclouen amb el teu compte"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Afegeix els missatges per satèl·lit"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Com funciona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Quan no tinguis connexió a una xarxa mòbil"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"El telèfon es connectarà automàticament a un satèl·lit. Per obtenir la millor connexió possible, has de ser en una zona en què es vegi bé el cel."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Quan el telèfon es connecti a un satèl·lit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Pots enviar missatges de text a qualsevol persona, inclosos els serveis d\'emergències. El telèfon es tornarà a connectar a una xarxa mòbil quan estigui disponible."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Els missatges per satèl·lit poden tardar més i només estan disponibles en algunes zones. Les condicions meteorològiques i determinades estructures poden afectar la teva connexió per satèl·lit. Les trucades per satèl·lit no estan disponibles.\n\nÉs possible que els canvis al teu compte tardin una estona a mostrar-se a Configuració. Contacta amb <xliff:g id="CARRIER_NAME">%1$s</xliff:g> per obtenir més informació."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Més informació sobre els missatges per satèl·lit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Noms de punts d\'accés"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"No està disponible quan està connectat a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vols canviar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vols utilitzar la targeta SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Vols utilitzar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Només pot haver-hi una SIM activa.\n\nSi canvies a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, el teu servei amb <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> no es cancel·larà."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Només pot haver-hi 1 eSIM activa alhora.\n\nEncara que canviïs a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, el teu servei amb <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> no es cancel·larà."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Només pot haver-hi una SIM activa.\n\nSi canvies de SIM, el teu servei amb <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> no es cancel·larà."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Només pot haver-hi 1 SIM activa cada vegada.\n\nEncara que canviïs a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, el teu servei de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> no es cancel·larà."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Només pot haver-hi 1 eSIM activa cada vegada.\n\nEncara que canviïs a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, el teu servei de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> no es cancel·larà."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Només pot haver-hi 1 SIM activa cada vegada.\n\nEncara que canviïs de SIM, el teu servei de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> no es cancel·larà."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Pots utilitzar 2 SIM alhora. Per utilitzar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desactiva una altra SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Canvia a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desactiva <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Desactivar la SIM no cancel·larà el teu servei"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"S\'està connectant a la xarxa…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"S\'està canviant a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> per fer trucades i enviar missatges…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"No es pot canviar d\'operador"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"S\'ha produït un error i no es pot canviar d\'operador."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"S\'està activant la SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"S\'està canviant a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"No es pot canviar entre SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"S\'ha produït un error. No es pot canviar entre SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vols desactivar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vols desactivar la SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"S\'està desactivant la SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"No es pot desactivar l\'operador"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"S\'ha produït un error i no s\'ha pogut desactivar l\'operador."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"No es pot desactivar la SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"S\'ha produït un error i la SIM no s\'ha pogut desactivar."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Vols utilitzar 2 SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Aquest dispositiu pot tenir 2 SIM actives alhora. Per continuar utilitzant només 1 SIM, toca \"No, gràcies\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Vols reiniciar el dispositiu?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, gràcies"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel·la"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Canvia"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactiva"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"No s\'ha pogut activar la SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prova de tornar a activar la SIM. Si el problema continua, reinicia el dispositiu."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configura la SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Defineix les teves preferències de xarxa mòbil per utilitzar diverses SIM en aquest dispositiu"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etiqueta les teves SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Veuràs aquestes etiquetes quan facis trucades, enviïs missatges de text i utilitzis dades, i a Configuració"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etiqueta de la SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiqueta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Tria quines SIM vols utilitzar"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Pots utilitzar 2 SIM alhora"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Defineix les SIM principals"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Tria quines SIM vols utilitzar de manera predeterminada per fer trucades, enviar missatges de text i utilitzar dades"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Les teves SIM principals"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Trucades"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Missatges de text"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Canvi de dades automàtic"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Utilitza dades de qualsevol de les SIM en funció de la cobertura i la disponibilitat"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Només dades"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configura"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Següent"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"S\'està activant <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Xarxa mòbil"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de telèfon"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Etiqueta i color de la SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activació de la xarxa"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Canvi d\'operador"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> està actiu"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"La SIM de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> està activa"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Toca per actualitzar la configuració de la targeta SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"S\'ha canviat a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"S\'ha canviat a un altre operador"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"La xarxa mòbil ha canviat"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configura l\'altra SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Tria la SIM activa o utilitza\'n dues alhora"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Tria el número que vols utilitzar"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Hi ha 1 número disponible en aquest dispositiu, però no se\'n pot utilitzar més d\'1 alhora}=2{Hi ha 2 números disponibles en aquest dispositiu, però no se\'n pot utilitzar més d\'1 alhora}other{Hi ha # números disponibles en aquest dispositiu, però no se\'n pot utilitzar més d\'1 alhora}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"S\'està activant<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"No s\'ha pogut activar en aquests moments"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Tria una SIM per utilitzar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Hi ha 1 SIM disponible en aquest dispositiu, però no se\'n pot utilitzar més d\'1 alhora}=2{Hi ha 2 SIM disponibles en aquest dispositiu, però no se\'n pot utilitzar més d\'1 alhora}other{Hi ha # SIM disponibles en aquest dispositiu, però no se\'n pot utilitzar més d\'1 alhora}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"S\'està activant<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"No s\'ha pogut activar aquesta SIM ara mateix"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Vols utilitzar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Es farà servir l\'operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g> per a les dades mòbils, les trucades i els SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No hi ha cap SIM activa disponible"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Per utilitzar les dades mòbils, les funcions de trucada i els SMS més tard, ves a la configuració de xarxa."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vols esborrar aquesta eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si esborres aquesta targeta SIM, el servei de l\'operador <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> se suprimirà del dispositiu.\n\nEl servei de l\'operador <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> no es cancel·larà."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Se suprimirà el servei de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> d\'aquest dispositiu, però el teu pla de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> no es cancel·larà."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Esborra"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"S\'està esborrant la SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"No es pot esborrar la SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"No s\'ha pogut esborrar la targeta SIM a causa d\'un error.\n\nReinicia el dispositiu i torna-ho a provar."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"S\'està esborrant l\'eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"No es pot esborrar l\'eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"S\'ha produït un error i aquesta eSIM no s\'ha pogut esborrar.\n\nReinicia el dispositiu i torna-ho a provar."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connexió al dispositiu"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'aplicació <xliff:g id="APPNAME">%1$s</xliff:g> vol fer servir una xarxa Wi‑Fi temporal per connectar-se al teu dispositiu"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No s\'ha trobat cap dispositiu. Comprova que els dispositius estiguin activats i disponibles per connectar-s\'hi."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Trucades d\'emergència"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"El teu operador de telefonia mòbil no permet fer trucades d\'emergència a través de la funció Trucades per Wi‑Fi.\nEl dispositiu canvia automàticament a una xarxa mòbil per fer una trucada d\'emergència.\nNomés es poden fer trucades d\'emergència en zones amb cobertura mòbil."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Fes trucades amb Wi‑Fi per augmentar-ne la qualitat"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Trucades alternatives"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Si <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> no està disponible o està en itinerància, utilitza la SIM de dades mòbils per trucar amb <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"trucades alternatives"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Missatge MMS entrant"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"No es pot enviar el missatge MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Toca per permetre els missatges MMS amb <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> quan les dades mòbils estiguin desactivades"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informació de les teves polítiques professionals"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configuració gestionada per l\'administrador de TI"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Inicia amb pàgines de 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Inicia amb un nucli compatible amb pàgines de 16 kB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Vols reiniciar amb un nucli compatible amb pàgines de 16 kB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ADVERTIMENT: és possible que algunes aplicacions no siguin compatibles amb aquest mode. El dispositiu es reiniciarà després de la confirmació."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Vols reiniciar amb un nucli compatible amb pàgines de 4 kB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"El dispositiu es reiniciarà després de la confirmació."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"No s\'ha pogut actualitzar el nucli a un compatible amb pàgines de 16 kB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"S\'està aplicant el canvi"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Gestor d\'informes d\'errors"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina quina aplicació gestiona la drecera de l\'informe d\'errors al dispositiu."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permet que les aplicacions que poden mostrar-se sobre altres aplicacions se superposin a les pantalles de Configuració"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permet el mòdem simulat"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permet que aquest dispositiu executi el servei del mòdem simulat per fer proves d\'instrumentalització. No activis aquesta opció durant l\'ús normal del telèfon."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Desactiva les proteccions de compartició de pantalla"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Desactiva les proteccions d\'aplicacions i notificacions aplicades pel sistema durant la compartició de pantalla"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multimèdia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fixa el reproductor multimèdia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Per reprendre la reproducció ràpidament, el reproductor multimèdia continua obert a la configuració ràpida"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostra el contingut multimèdia a la pantalla de bloqueig"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Per reprendre la reproducció ràpidament, el reproductor multimèdia continua obert a la pantalla de bloqueig"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostra les recomanacions multimèdia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostra recomanacions de contingut multimèdia de l\'Assistent"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"A partir de la teva activitat"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Amaga el reproductor"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostra el reproductor"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"multimèdia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permet les extensions de programari de la càmera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Activa la implementació predeterminada de programari de funcions avançades de la càmera, com ara la videografia accessible."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"S\'activarà el Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Targetes SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Activa"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactiva"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activada"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Desactivada"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Predeterminada per a <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"trucades"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"L\'àudio dels continguts multimèdia compatibles esdevé més immersiu"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Seguiment del cap"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"L\'àudio canvia a mesura que mous el cap per sonar més natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sincronitza els permisos"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Concedeix a <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> els mateixos permisos de l\'aplicació que has permès a <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronitza els permisos des del telèfon"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Concedeix al rellotge els mateixos permisos de l\'aplicació que has permès en aquest telèfon"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipus de dispositiu d\'àudio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Desconegut"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Altaveu"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Mitjà"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alt"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Aquesta aplicació només pot obrir-se en 1 finestra"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Activada"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Desactivada"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Desactivada"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desactivada"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Activat"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desactivat"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Activada"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desactivada"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Enfosqueix les pantalles clares i aclareix les fosques"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Amplia la pantalla"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desactivat"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desactivat"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"S\'estan cercant aplicacions enganyoses"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Comprova l\'activitat de les aplicacions per detectar pesca de credencials"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utilitza la funció de cerca per detectar aplicacions enganyoses"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utilitza la funció de cerca per detectar aplicacions de treball enganyoses"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"S\'ha configurat la contrasenya"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostra el punter en col·locar el cursor sobre un element"</string>
 </resources>
diff --git a/res/values-cs/arrays.xml b/res/values-cs/arrays.xml
index c0b73a5..1625064 100644
--- a/res/values-cs/arrays.xml
+++ b/res/values-cs/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"K dispozici"</item>
     <item msgid="6096962300722555553">"Mimo dosah"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Použít výchozí nastavení systému: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Po 1 minutě"</item>
     <item msgid="1574040255478150028">"Po 5 minutách"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-cs/strings.xml b/res/values-cs/strings.xml
index c405019..77a6b80 100644
--- a/res/values-cs/strings.xml
+++ b/res/values-cs/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Voilà! Stal se z vás vývojář."</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Není potřeba, již jste vývojář."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Nejprve prosím aktivujte možnosti pro vývojáře."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"K nastavením pro vývojáře mají přístup jen administrativní uživatelé."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Systém"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"V provozu"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Mimo provoz"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Když zařízení složíte, přední displej se zapne"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Pouze hry, videa a další"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"U aplikací, které obrazovce brání v přechodu do režimu nečinnosti, se zapne přední displej"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Pokračovat přejetím nahoru"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Pokud chcete aplikaci dál používat, složte telefon a po předním displeji přejeďte prstem nahoru nebo pár sekund počkejte, než se obrazovka zamkne"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nikdy"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Když zařízení složíte, přední displej se uzamkne"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Automaticky otáčet obrazovku"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Související"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Vyzvánění a budíky"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zvuk během hovorů"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Média"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Oznámení a jiné systémové zvuky"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Zvuky médií a systémové zvuky"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Oznámení"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Ve výchozím nastavení určují zvukový výstup jednotlivé aplikace"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Nepojmenované zařízení Bluetooth"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Hledání"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Zrušit"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Deaktivovat Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Vypne funkci zvuku přes Bluetooth LE, pokud zařízení podporuje hardwarové zvukové funkce LE."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Režim Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Zobrazit přepínač LE Audio v Podrobnostech o zařízení"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Zapnout seznam povolených zařízení Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Povolit funkci seznamu povolených zařízení Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Obejít seznam povolených pro Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Ve výchozím nastavení použít LE Audio i v případě, že u periferního zařízení LE Audio nebylo ověřeno splnění kritérií na seznamu povolených."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediální zařízení"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Volání na zařízení"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Ostatní zařízení"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Uložená zařízení"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Přidružení k účtu"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Dříve použito s účtem"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Za účelem spárování se Bluetooth zapne"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Předvolby připojení"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Dříve připojeno"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je zapnuto"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Zobrazit vše"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Zobrazit vše"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Dotykové pero"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Stisknutí tlačítka dotykového pera"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (pracovní profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Psát do textových polí"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorovat všechna stisknutí tlačítka na dotykovém peru"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Dotykové pero"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Sdílení zvuku"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Sdílet zvuk"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Hovory a budíky"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Připojení ke zvukovému streamu pomocí QR kódu"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nebyly nalezeny žádné zvukové streamy v okolí."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum a čas"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy server"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Vymazat"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Přidat jazyk %s k preferovaným jazykům?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Aplikace a weby budou vědět, že také preferujete tento jazyk."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Změní se nastavení vašeho zařízení a regionální preference."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Změnit"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s není k dispozici"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"sobota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Pokud aplikace regionální preference nepodporuje, použije výchozí nastavení národního prostředí."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Další informace o jazykových preferencích"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Další předvolby"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Způsob oslovení"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Jak chcete být oslovováni"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikace vás může oslovovat tak, jak jí určíte."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Neurčeno"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Žena"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Muž"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutrální"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Odstranit vybraný jazyk?}few{Odstranit vybrané jazyky?}many{Odstranit vybrané jazyky?}other{Odstranit vybrané jazyky?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text se bude zobrazovat v jiném jazyce."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nelze odstranit všechny jazyky"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Poloha"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Používat polohu"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Vypnuto"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Zapnuto – # aplikace má přístup k poloze}few{Zapnuto – # aplikace mají přístup k poloze}many{Zapnuto – # aplikace má přístup k poloze}other{Zapnuto – # aplikací má přístup k poloze}}"</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_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="5329024810729665156">"Přečtěte si další informace o nastavení polohy."</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="3574930966097093550">"Pokud chcete změnit přístup k poloze, přejděte do Nastavení &gt; Zabezpečení a ochrana soukromí &gt; Nastavení ochrany soukromí"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Účty"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Zabezpečení"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifrování a pověření"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Nejlepších výsledků dosáhnete s ochranou displeje, která má certifikát Made for Google. S ostatními ochranami displeje nemusí otisk prstu dítěte fungovat."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Odemknutí pomocí hodinek"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Pokud budete mít při odemykání obličejem zakrytou tvář nebo bude vaše okolí tmavé, telefon bude žádat o nasnímání otisku prstu.\n\nPokud nerozpozná váš obličej nebo otisk, můžete ho odemknout hodinkami."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Telefon můžete odemknout hodinkami, pokud nerozpozná váš otisk prstu."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Telefon můžete odemknout hodinkami, pokud nerozpozná váš obličej."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Když nastavíte odemknutí obličejem a otiskem prstu, bude telefon žádat o zadání otisku prstu, pokud budete mít zakrytou tvář nebo budete v tmavém prostředí.\n\nOdemknutí pomocí hodinek je další pohodlný způsob, jak odemknout telefon, například když máte mokré prsty nebo když nerozpozná váš obličej."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Odemknutí pomocí hodinek je další pohodlný způsob, jak odemknout telefon, například když rozpozná váš otisk prstu."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Odemknutí pomocí hodinek je další pohodlný způsob, jak odemknout telefon, například když nerozpozná váš obličej."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Použít otisk prstu nebo hodinky k"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Použít obličej nebo hodinky k"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Použít obličej, otisk prstu nebo hodinky k"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Odemknutí pomocí hodinek je další pohodlný způsob, jak tento telefon odemknout, například když máte mokré prsty nebo když nerozpozná váš obličej.\n\nPomocí hodinek můžete tento telefon odemknout, když:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Teď ne"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Pokračovat"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Další možnosti"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Jak to funguje"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Hodinky musí být odemknuté, nasazené na ruce a v dosahu telefonu. Nasazené hodinky nebudete muset znovu odemykat."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Když se telefon odemkne, obdržíte na hodinky oznámení. Pokud byl odemknutý, aniž byste to chtěli, klepnutím na oznámení ho můžete znovu zamknout."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Vše máte ve svých rukou"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Hodinky můžete z odemykání pomocí hodinek kdykoli odstranit v Nastavení"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Klepněte na oznámení"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Přejeďte po obrazovce uzamčení nahoru"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Vyberte své hodinky"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Dostupné hodinky"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Zrušit"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potvrdit"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"A je to."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Když po obrazovce uzamčení přejedete prstem nahoru nebo klepnete na oznámení, můžete nyní tento telefon odemknout pomocí hodinek"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Hotovo"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Odemknutí pomocí hodinek"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Když po obrazovce uzamčení přejedete prstem nahoru nebo klepnete na oznámení, můžete tento telefon odemknout pomocí hodinek"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"K odemknutí pomocí hodinek musíte být hodinky odemknuté, nasazené na ruce, v dosahu a připojené k tomuto telefonu. V případě přerušení připojení budete odemknutí pomocí hodinek moci používat až poté, co telefon odemknete.\n\nMějte na paměti:\nV jednu chvíli lze mít nastavené jen jedny hodinky. Pokud chcete přidat další hodinky, nejdříve odstraňte ty aktuální."</string>
+    <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í pomocí otisku prstu nebo obličeje"</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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Zabezpečení"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Ochrana soukromí"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Pracovní profil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Soukromý prostor"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mějte soukromé aplikace uzamknuté a skryté"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Nechat soukromé aplikace v odděleném prostoru, který můžete skrýt nebo zamknout"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Zámek soukromého prostoru"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Soukromý prostor můžete odemykat stejně, jako odemykáte své zařízení, nebo můžete zvolit jiný zámek"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Použít zámek obrazovky zařízení"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Odemknutí obličejem a otiskem prstu"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Odemknutí otiskem prstu"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Odemknutí obličejem"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Klepnutím nastavíte"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Odemknutí otiskem prstu pro soukromý prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Odemknutí obličejem pro soukromý prostor"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Způsoby odemykání"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Stejný jako zámek obrazovky zařízení"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Vybrat nový zámek pro soukromý prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automaticky zamykat soukromý prostor"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Pokud zařízení nějakou dobu nepoužijete, soukromý prostor se může automaticky zamknout"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Vždy, když se zařízení zamkne"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Po 5 minutách nečinnosti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nikdy"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Při uzamčení skrýt"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Při uzamčení soukromý prostor skrýt"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Pokud chcete, aby o soukromém prostoru ve vašem zařízení nikdo nevěděl, můžete ho skrýt ze seznamu aplikací"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Přístup do soukromého prostoru, když je skrytý"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"V seznamu aplikací zadejte do vyhledávacího pole „soukromý prostor“"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Klepněte na dlaždici Soukromý prostor"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Odemknutí soukromého prostoru"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Vypnuto"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Zapnuto"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Systém"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Smazat soukromý prostor"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Smazat soukromý prostor?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Váš soukromý prostor bude ze zařízení odstraněn. Budou smazány všechny soukromé aplikace a data. Tuto akci nebude možné vrátit zpět."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Z vašeho soukromého prostoru budou odstraněny následující účty:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Smazat"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Mazání soukromého prostoru…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Bude to chvíli trvat"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Soukromý prostor byl vymazán"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Soukromý prostor se nepodařilo vymazat"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Odemknutý soukromý prostor"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Nastavte zámek obrazovky"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Pokud chcete používat soukromý prostor, nastavte na tomto zařízení zámek obrazovky"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Nastavit zámek obrazovky"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Zrušit"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Zrušit"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Nastavit"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Nastavení soukromého prostoru"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Nechat soukromé aplikace v odděleném prostoru, který můžete skrýt nebo zamknout"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Jak to funguje"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Soukromý prostor můžete otevřít ze spodní části seznamu aplikací"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikace v soukromém prostoru jsou chráněny zámkem"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Když je soukromý prostor uzamčen, jsou oznámení aplikací v soukromém prostoru skryta"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Když je soukromý prostor uzamčen, aplikace v soukromém prostoru se nezobrazují ve správci oprávnění, na panelu ochrany soukromí ani v dalších nastaveních.\n\nSoukromý prostor nelze přesunout do nového zařízení. Na novém zařízení bude nutné nastavit nový soukromý prostor.\n\nDo soukromého prostoru se může dostat kdokoli, kdo vaše zařízení připojí k počítači nebo nainstaluje škodlivé aplikace."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavování soukromého prostoru…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Když je soukromý prostor uzamčen, jsou oznámení aplikací v soukromém prostoru skryta"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Pokud chcete sdílet fotky nebo soubory, odemkněte soukromý prostor"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Některé aplikace už jsou v soukromém prostoru nainstalované"</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_lockscreen_title" msgid="6034864097861137509">"Používat zámek obrazovky k odemknutí s. prostoru?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Soukromý prostor můžete odemykat stejně, jako odemykáte své zařízení, nebo můžete zvolit jiný zámek"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Použít zámek obrazovky"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Zvolit nový zámek"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Hotovo!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Pokud chcete najít soukromý prostor, navštivte seznam aplikací a posuňte zobrazení dolů"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Hotovo"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Soukromý prostor najdete dole"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Přihlásit se"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Pokud chcete používat soukromý prostor, přihlaste se k účtu"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Teď ne"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Pokračovat"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Vyberte zámek pro pracovní prostor"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Soukromý prostor můžete odemknout otiskem prstu. Z bezpečnostních důvodů tato možnost vyžaduje záložní zámek."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Nastavte PIN pro svůj soukromý prostor"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Nastavte heslo pro svůj soukromý prostor"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Nastavte vzor pro svůj soukromý prostor"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Maximální počet otisků prstů, které lze přidat: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Přidali jste maximální počet otisků prstů"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Další otisky prstů nelze přidat"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Gesto"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Heslo"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Smazat zámek obrazovky?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Odebrat všechny typy odemknutí zařízení?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Odstranit ochranu profilu?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Gesto chrání telefon v případě ztráty nebo odcizení"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Gesto chrání telefon v případě ztráty nebo odcizení.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Touto akcí smažete model otisku prstu uložený v zařízení. Bude také trvale a bezpečně smazán model obličeje. Obličej ani otisk prstu nebudete moci používat ani k ověřování v aplikacích."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"V případě ztráty nebo odcizení telefonu ho PIN chrání."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Přijdete o uložená data, jako je PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené pro bezkontaktní platby budou odstraněny.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peněženky a další aplikace, které vyžadují odemknutí zařízení, nemusí fungovat správně."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN chrání telefon v případě ztráty nebo odcizení.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Touto akcí také vymažete model otisku prstu uložený v zařízení. Otisk prstu nebudete moci používat ani k ověřování v aplikacích."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Přijdete o uložená data, jako jsou PIN a model otisku prstu.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené pro bezkontaktní platby budou odstraněny.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peněženky a další aplikace, které vyžadují odemknutí zařízení, nemusí fungovat správně."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN chrání telefon v případě ztráty nebo odcizení.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bude také trvale a bezpečně smazán model obličeje. K ověření v aplikacích nebudete moci používat obličej."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Přijdete o uložená data, jako jsou PIN a model obličeje.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené pro bezkontaktní platby budou odstraněny.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peněženky a další aplikace, které vyžadují odemknutí zařízení, nemusí fungovat správně."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN chrání telefon v případě ztráty nebo odcizení.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Touto akcí smažete model otisku prstu uložený v zařízení. Bude také trvale a bezpečně smazán model obličeje. Obličej ani otisk prstu nebudete moci používat ani k ověřování v aplikacích."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Přijdete o uložená data, jako jsou PIN a modely obličeje a otisku prstu.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené pro bezkontaktní platby budou odstraněny.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peněženky a další aplikace, které vyžadují odemknutí zařízení, nemusí fungovat správně."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Heslo chrání telefon v případě ztráty nebo odcizení"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Heslo chrání telefon v případě ztráty nebo odcizení.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Spárovat se zařízením <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Přidat nového člena do existující koordinované sady"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potvrďte přidání druhé části audiozařízení"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Párovací kód Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Zadejte párovací kód a poté stiskněte Return nebo Enter."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Kód PIN obsahuje písmena nebo symboly"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Je nutné zadat 16 číslic."</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Tento kód PIN bude možná nutné zadat i v dalším zařízení."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Tento přístupový klíč bude možná nutné zadat i v druhém zařízení."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potvrďte párování s koordinovanou sadou"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potvrďte spárování s audiozařízením"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Povolit přístup ke kontaktům a historii volání"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Povolit také přístup ke kontaktům a historii volání"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informace se budou používat k oznamování hovorů a k dalším účelům"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"K zařízení <xliff:g id="DEVICE_NAME">%1$s</xliff:g> se nelze připojit."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dostupná zařízení"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Připojit"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Odpojit"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Spárovat a připojit"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Když je připojení Bluetooth zapnuto, vaše zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Když je připojení Bluetooth zapnuto, vaše zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Když je zapnuté připojení Bluetooth, zařízení může komunikovat s ostatními zařízeními Bluetooth v okolí.\n\nAplikace a služby mohou za účelem vylepšení funkcí nadále vyhledávat zařízení v okolí, i když je Bluetooth vypnuté. Lze tak například 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_scan_change" msgid="1744636222637390367">"Změnit"</string>
     <string name="device_details_title" msgid="1155622417516195481">"O zařízení"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Povolit nástroji ART ověřovat bajtkód aplikací k ladění"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Zobrazovat frekvenci obnovení"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Zobrazovat aktuální obnovovací frekvenci displeje"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Zobrazit poměr HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Zobrazit aktuální poměr HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Před použitím NFC vyžadovat odemknutí zařízení"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Při režimu Letadlo"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Upozorňovat na veřejné sítě"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Zobrazit oznámení, když je dostupná kvalitní veřejná síť"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Povolit sítě WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP je starší bezpečnostní protokol, který je méně bezpečný"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Váš operátor sítě WEP nepovoluje, protože jsou méně bezpečné"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Zapínat Wi-Fi automaticky"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"V dosahu kvalitních uložených sítí, jako je například vaše domácí síť, se Wi-Fi znovu zapne"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nedostupné, protože je vypnuto určování polohy. Zapněte "<annotation id="link">"určování polohy"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Tato funkce umožňuje aplikacím a službám vyhledávat sítě Wi-Fi kdykoli, i když je připojení Wi‑Fi vypnuté. Lze tak například zlepšit funkce a služby závislé na poloze."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Zapnout"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Vyhledávání Wi‑Fi je zapnuto"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Tato síť používá starší bezpečnostní protokol, který je méně bezpečný"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Síť <xliff:g id="NAME">%1$s</xliff:g> je blokována"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Tato síť používá starší bezpečnostní protokol nazývaný WEP, který je méně bezpečný. Pokud se přesto chcete připojit, můžete povolit sítě WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Váš operátor připojení k této síti nepovoluje, protože používá starší bezpečnostní protokol, který je méně bezpečný"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Povolit WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zavřít"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Rozšířené možnosti"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rozbalovací seznam Pokročilé možnosti"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"rozbalit"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Zůstat na Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Již nikdy nezobrazovat"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Připojit"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Připojení Wi-Fi je zapnuto"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Připojeno k <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Připojování k síti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Připojování…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Připojení k síti se nezdařilo."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Síť není v dosahu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Zapomenout"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Upravit"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Zapomenutí sítě se nezdařilo."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Uložit"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Uložení sítě se nezdařilo."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Zrušit"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobilní data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – nabíjí se"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – nabíjí se"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Připojení přes hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Síla připojení"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Uložené sítě"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Není nastaveno žádné heslo"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Název hotspotu"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Heslo hotspotu"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Pásmo přístupového bodu"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot automaticky vypínat"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Když nejsou připojena žádná zařízení"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Rozšířit kompatibilitu"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Vyvážení bílé na obrazovce"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Při složení pokračovat v používání aplikací"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Plynulé zobrazení"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"U některého obsahu automaticky zvýší obnovovací frekvenci z 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz. Zvyšuje využití baterie."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Deaktivovat výchozí snímkovou frekvenci her"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Deaktivovat omezení snímkové frekvence her na maximálně <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Plynulý obraz"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"U některého obsahu automaticky zvýší obnovovací frekvenci až na <xliff:g id="ID_1">%1$d</xliff:g> Hz. Zvyšuje využití baterie."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vynutit nejvyšší obnovovací frekvenci"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Vyšší obnovovací frekvence za účelem vylepšení responzivity klepnutí a kvality animace. Zvyšuje využití baterie."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Vnímavá obrazovka"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Funkce vnímavá obrazovka dokáže pomocí přední kamery určit, zda se někdo na obrazovku dívá. Data se zpracovávají v zařízení a snímky se nikdy neukládají ani neodesílají do Googlu."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Zapnutí vnímavé obrazovky"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Nechat obrazovku zapnutou, když na ni koukáte"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Delší interval vypnutí obrazovky bude spotřebovávat víc baterie"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Fotoaparát je uzamčený"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Při rozpoznávání obličeje musí být fotoaparát odemknutý"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Při použití vnímavé obrazovky musí být fotoaparát odemknutý"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot na SIM kartu <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot na SIM kartu <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primární)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"K zobrazení je potřeba vybrat uloženou síť."</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Verze PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Stav baterie"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Komunální"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Komunální nastavení"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satelitní zprávy"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Přístupové body"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Upravit přístupový bod"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Přidání přístupového bodu"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nenastaveno"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nenastaveno"</string>
     <string name="apn_name" msgid="6677695784108157953">"Název"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Přístupový bod je povolen"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Přístupový bod je zakázán"</string>
     <string name="bearer" msgid="3231443241639159358">"Nositel"</string>
+    <string name="network_type" msgid="748590707422733595">"Typ sítě"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nespecifikováno"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Typ MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Hodnota MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Smazat přístupový bod"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Uložit"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Zrušit"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplicitní záznam APN."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Pole Jméno nesmí být prázdné."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Název přístupového bodu nesmí být prázdný."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Pole MCC musí obsahovat 3 číslice."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Pole MNC musí obsahovat 2 nebo 3 číslice."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operátor přidání přístupových bodů typu %s neumožňuje."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Pole MMSC musí být platné."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Obnovování výchozích nastavení přístupového bodu"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Obnovit výchozí"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Výchozí nastavení přístupového bodu bylo obnoveno."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetovat"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth a Wi-Fi byly resetovány"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Vymazat eSIM karty"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Tímto krokem nezrušíte mobilní tarif. Pokud chcete stáhnout náhradní SIM karty, obraťte se na svého operátora."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Váš mobilní tarif zrušen nebude. Pokud chcete náhradní SIM kartu, kontaktujte operátora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetovat nastavení"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Chcete resetovat všechna nastavení sítí? Tuto akci nelze vrátit zpět."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Resetovat všechna nastavení sítě a vymazat eSIM karty? Tuto akci nebude možné vrátit."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Obnovit nastavení?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Pro tohoto uživatele resetování sítě není k dispozici"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Nastavení sítí bylo resetováno"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM karty nelze vymazat"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM kartu nelze vymazat z důvodu chyby.\n\nRestartujte zařízení a zkuste to znovu."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM karty nelze vymazat"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Něco se pokazilo a vaše eSIM karty nebyly vymazány.\n\nRestartujte zařízení a zkuste to znovu."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Vymazat data (tovární reset)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Vymazat data (tovární reset)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"hudbu"</li>\n<li>"fotky"</li>\n<li>"další uživatelská data"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Tímto krokem nebude zrušen mobilní tarif."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Všechny osobní údaje a stažené aplikace budou smazány. Tuto akci nelze vrátit zpět."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Budou smazány všechny vaše osobní údaje, včetně stažených aplikací a SIM karet. Tuto akci nelze vrátit zpět."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Budou smazány všechny vaše osobní údaje, včetně stažených aplikací a eSIM karet. Tuto akci nebude možné vrátit."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vymazat všechna data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Pro tohoto uživatele není resetování do továrního nastavení dostupné"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Mazání"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet není sdílen s dalšími zařízeními"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Vypnuto"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nepoužívat Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Sdílet internet pouze přes USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Sdílet internet pouze přes Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Internet sdílet pouze přes Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Sdílet internet pouze přes USB a Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Internet sdílet pouze přes USB a Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Internet sdílet pouze přes Bluetooth a Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Internet sdílet pouze přes USB, Bluetooth a Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering přes USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering přes Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering přes ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Hotspot a tethering umožňují poskytovat internet jiným zařízením prostřednictvím vašeho připojení Wi-Fi nebo vašeho mobilního datového připojení. Hotspot ke sdílení obsahu s okolními zařízeními mohou vytvářet i aplikace."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Nápověda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilní síť"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilní tarif"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikace pro SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Chcete změnit aplikaci SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Chcete pro zprávy SMS používat aplikaci <xliff:g id="NEW_APP">%1$s</xliff:g> místo aplikace <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Změnit asistenta pro Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Chcete spravovat síťová připojení pomocí aplikace <xliff:g id="NEW_APP">%1$s</xliff:g> namísto aplikace <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Chcete spravovat síťová připojení pomocí aplikace <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operátor SIM karty není znám"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Operátor <xliff:g id="OPERATOR">%1$s</xliff:g> nemá žádný známý web pro správu účtů"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Vložte SIM kartu a restartujte zařízení."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Připojte se prosím k internetu."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nedávné žádosti o určení polohy"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Umístění pracovního profilu"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Oprávnění aplikací pro přístup k poloze"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Zrušit přístup"</string>
     <string name="controls_label" msgid="8671492254263626383">"Ovládací prvky"</string>
     <string name="force_stop" msgid="2681771622136916280">"Vynutit ukončení"</string>
+    <string name="archive" msgid="9074663845068632127">"Archivovat"</string>
+    <string name="restore" msgid="7622486640713967157">"Obnovit"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Obnovování"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Obnovování."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Obnovování…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Obnovování…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Celkem"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Velikost aplikace"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikace úložiště USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nepodařilo se určit velikost balíčku."</string>
     <string name="version_text" msgid="7628938665256107608">"verze <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Přesunout"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archivování se nezdařilo"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Archivováno: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Obnovení se nezdařilo"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Obnovování aplikace <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Probíhá jiná migrace."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nedostatek místa v úložišti."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikace neexistuje."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Dostupná softwarová klávesnice"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Spravovat softwarové klávesnice"</string>
     <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="6922850403920596246">"Usnadnit používání fyzické klávesnice ignorováním opakovaných stisknutí"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Zpomalení kláves"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Usnadnit používání fyzické klávesnice zapnutím funkce Zpomalení kláves"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Jedním prstem"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Usnadnit používání fyzické klávesnice zapnutím funkce Jedním prstem"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Rychlost kurzoru"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučte se gesta touchpadu"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Přejít na domovskou stránku"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Přejeďte třemi prsty nahoru kdekoli na touchpadu"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Zpět"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Seřadit podle času použití"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Seřadit podle posl. použití"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Seřadit podle názvu aplikace"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Naposledy použito"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Naposledy použito"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nikdy"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Doba použití"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Přístupnost"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Nastavení přístupnosti"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Zvětšení trojitým klepnutím"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Zvětšení zkratkou"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Zvětšení zkratkou a trojitým klepnutím"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otevření pomocí tlačítka přístupnosti"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Otevřete podržením tlačítek hlasitosti"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Otevřete trojitým klepnutím na obrazovku"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Otevření provedete dvojitým klepnutím dvěma prsty na obrazovku"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otevření gestem"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Použití gesta přístupnosti"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tuto funkci použijete klepnutím na tlačítko Přístupnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolní části obrazovky.\n\nChcete-li přepnout mezi funkcemi, tlačítko Přístupnost podržte."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Pokud chcete použít tuto funkci, klepněte na tlačítko přístupnosti."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Tuto funkci použijete tak, že stisknete a podržíte obě tlačítka hlasitosti."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Zvětšení aktivujete nebo deaktivujete trojitým klepnutím kamkoliv na obrazovce."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Zvětšení aktivujete nebo deaktivujete dvojitým klepnutím dvěma prsty kamkoliv na obrazovku."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Tuto funkci použijete tak, že přejedete dvěma prsty z dolního okraje obrazovky nahoru.\n\nPokud chcete přepnout mezi funkcemi, přejeďte dvěma prsty nahoru a podržte je."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Tuto funkci použijete tak, že přejedete třemi prsty z dolního okraje obrazovky nahoru.\n\nChcete-li přepnout mezi funkcemi, přejeďte třemi prsty nahoru a podržte je."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Funkce pro usnadnění přístupu použijete tak, že přejedete dvěma prsty z dolního okraje obrazovky nahoru.\n\nPokud chcete přepnout mezi funkcemi, přejeďte dvěma prsty nahoru a podržte je."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Funkce pro usnadnění přístupu použijete tak, že přejedete třemi prsty z dolního okraje obrazovky nahoru.\n\nChcete-li přepnout mezi funkcemi, přejeďte třemi prsty nahoru a podržte je."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Nastavení tlačítka přístupnosti"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Nastavení tlačítka"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> – zkratka"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Tlačítko přístupnosti"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto přístupnosti"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Podržení tlačítek hlasitosti"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"podržení tlačítek 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dvakrát klepněte na obrazovku dvěma 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="6863958573135995927">"trojité klepnutí na obrazovku"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Další informace o tlačítku a gestu přístupnosti"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Použije se tlačítko přístupnosti. Toto gesto není k dispozici u navigace třemi tlačítky."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Rychlý přístup k funkcím pro usnadnění přístupu"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Jak začít"</b>\n"1. Přejděte na nastavení přístupnosti.\n2. Vyberte funkci a klepněte na zkratku.\n3. Vyberte, zda chcete pro přístup k funkci používat tlačítko, nebo gesto."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Začněte takto"</b>\n"1. Přejděte na nastavení přístupnosti.\n2. Vyberte funkci a klepněte na zkratku.\n3. Vyberte tlačítko, které chcete použít pro přístup k funkci."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Jak na to&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Přejděte do nastavení přístupnosti&lt;br/&gt; {1,number,integer}. Vyberte funkci a klepněte na zkratku&lt;br/&gt; {2,number,integer}. Vyberte tlačítko nebo gesto, které chcete použít pro přístup k funkci&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Jak na to&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Přejděte do nastavení přístupnosti&lt;br/&gt; {1,number,integer}. Vyberte funkci a klepněte na zkratku&lt;br/&gt; {2,number,integer}. Vyberte tlačítko, které chcete použít pro přístup k funkci&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Používat tlačítko nebo gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Umístění"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Velikost"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Vypínač ukončí hovor"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Velký kurzor myši"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Zvýraznit ukazatel myši"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Nastavit všechny jako tmavé"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Platí pro aplikace bez vlastního tmavého motivu. V některých se můžou vyskytnout problémy."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Odstranit animace"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Omezit pohyb na obrazovce"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Zvuk mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Používat vibrace a hmatovou odezvu"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibrace u budíku"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibrace u médií"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibrace klávesnice"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrace při vyzvánění"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrace při oznámení"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odezva při klepnutí"</string>
@@ -2128,16 +2311,15 @@
     <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 namísto 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="7295448112784528196">"Ukončit"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Zrušit"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Vypnout funkci <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Klepnutím na <xliff:g id="STOP">%1$s</xliff:g> ukončíte službu <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Vypnout"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Nevypínat"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vypnout službu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Žádná služba není nainstalována"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Není vybrána žádná služba"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"K dispozici není žádný popis."</string>
     <string name="settings_button" msgid="2195468788019730377">"Nastavení"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"citlivost na světlo, fotofobie, tmavý motiv, migréna, bolest hlavy, režim čtení, noční režim, snížení jasu, bílý bod"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Usnadnění přístupu, přístupnost, asistence, asistenční"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"zrak, sluch, nevidomý, neslyšící, pohyb, obratnost, asistenční, asistence, snadné používání, snadný přístup, ruka, pomoc"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Zvětšení oken, velikost zobrazení, zoom, zvětšení, slabozrakost, zvětšit"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Titulky pro neslyšící, skryté titulky, Okamžitý přepis, nedoslýchavost, ztráta sluchu, převod řeči na text, titulky"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"barevný kontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorika, myš"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"naslouchátka, nedoslýchavost, kochleární implantáty, zesilovací zařízení, zvukové procesory"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"pohyb, myš, externí myš, náhlavní myš, adaptivní myš, invalidní vozík, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"naslouchátka, nedoslýchavost, ztráta sluchu, kochleární implantáty, zesilovací zařízení, zvukové procesory, osobní zesilovač zvuku"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"nedoslýchavost, ztráta sluchu, titulky pro neslyšící, Teletype, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tři tlačítka"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"obratnost, pohyb, senior, artritida, syndrom rsi, mozková mrtvice, třes, roztroušená skleróza, mozková obrna, poškození z opakovaného namáhání, ruka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"prodleva, obratnost, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Tisk"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Vypnuto"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 tisková služba je zapnutá}few{# tiskové služby jsou zapnuté}many{# tiskové služby je zapnutých}other{# tiskových služeb je zapnutých}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Zbývá <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> do nabití"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Doba na obrazovce"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Doba běhu na pozadí"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Slabá baterie"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Povolit aplikaci spouštění na pozadí"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Omezit aktivitu na pozadí?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Pokud u aplikace omezíte aktivitu na pozadí, může dojít k nepředvídatelnému chování"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikace není nastavena k optimalizaci baterie, nelze ji tedy omezit.\n\nChcete-li ji omezit, nejprve zapněte optimalizaci."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Správa využití baterie"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Povolení použití na pozadí"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivujte, pokud máte zájem o aktualizace v reálném čase, deaktivujte, pokud chcete šetřit baterii"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neomezeno"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalizováno"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Omezeno"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Zobrazte aplikace s největším využitím baterie"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Nabíjení je optimalizované za účelem ochrany baterie"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Za účelem prodloužení životnosti baterie je nabíjení optimalizované"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Nabíjení je optimalizované za účelem ochrany baterie"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Za účelem prodloužení životnosti baterie je nabíjení v doku optimalizované"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Nabíjení je optimalizované za účelem ochrany baterie"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Za účelem prodloužení životnosti baterie je nabíjení v doku optimalizované"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Nabíjení do úplného nabití"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Za účelem ochrany baterie bude příští nabíjení v doku optimalizované"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Další informace o pozastavením nabíjení"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Obnovit nabíjení"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Zahrnuje energeticky náročnou aktivitu na pozadí"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aplikace začne využívat baterii na pozadí. Baterie se možná vybije dřív, než se očekávalo."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Odstranit"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Zrušit"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Úplně nabít"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problém s nabíjecím příslušenstvím"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Zkontrolujte nabíjecí příslušenství"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Další informace o nekompatibilním nabíjení"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Správce baterie"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatická správa aplikací"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od posledního úplného nabití"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Systémové aplikace"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Odinstalované aplikace"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Jiné"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Odhadovaný zbývající čas"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do úplného nabití"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Celkem: méně než minuta"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Na pozadí: méně než minuta"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Doba používání: méně než minuta"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Méně než minuta"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Celkem: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Na pozadí: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Doba používání: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"teď"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Graf využití baterie"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Graf denního využití baterie"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Graf hodinového využití baterie"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Procento nabití baterie od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Využití baterie od posledního úplného nabití"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Využití baterie: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Doba používání od posledního úplného nabití"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signál nouzového vytáčení"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nastavit chování při tísňovém volání"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Zálohování"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Zapnuto"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Vypnuto"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Zálohování a obnovení"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Osobní údaje"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Zálohování mých dat"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobilní data a Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Automaticky synchronizovat osobní data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Automaticky synchronizovat pracovní data"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Automatická synchronizace soukromých dat"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Změnit cyklus..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Den v měsíci, kdy se má obnovit počítání datových přenosů:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"V tomto období nevyužily datové připojení žádné aplikace."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Název"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresa serveru"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Šifrování PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Tajný klíč L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikátor protokolu IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Předem sdílený klíč IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Uživatelský certifikát IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certifikát CA protokolu IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certifikát serveru IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Zobrazit rozšířené možnosti"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domény vyhledávání DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servery DNS (např. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Přesměrovávací trasy (např. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Uživatelské jméno"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Heslo"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Uložit údaje o účtu"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nepoužívá se)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(neověřovat server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(přijato ze serveru)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Tento typ sítě VPN nemůže zůstat trvale připojen"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Trvalé sítě VPN podporují pouze číselné adresy serverů"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"U trvalé sítě VPN musí být zadán server DNS"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresy serverů DNS trvalých sítí VPN musejí být číselné"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Zadané údaje trvalou síť VPN nepodporují"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Zrušit"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Zavřít"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokovat připojení bez VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vyžadovat připojení VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nezabezpečeno. Proveďte aktualizaci na IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nepodporovanou VPN se nepodařilo spustit."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Vyberte profil VPN, ke kterému chcete zůstat trvale připojeni. Síťový provoz bude povolen pouze v případě, že budete připojeni k této síti VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Žádná"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Trvalá síť VPN vyžaduje IP adresu pro server i DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Upozornění AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Přijímat bulletiny o únosech dětí"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Opakovat"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktivovat Správce hovorů"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Povolí této službě spravovat způsob uskutečňování hovorů."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Správce hovorů"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Bezdrátové výstražné zprávy"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Síťoví operátoři"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Názvy přístupových bodů"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Stav SIM karty"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stav SIM karty (slot na SIM kartu %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM karty se změnily."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM karty se změnily"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Klepnutím přejděte do Nastavení"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pokaždé se zeptat"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Vyžadován výběr"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedávné aplikace, výchozí aplikace"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Aplikace v pracovním profilu nemají přístup k oznámením."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Hesla a účty"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Uložená hesla, automatické vyplňování, synchronizované účty"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Návrhy pro přihlašování a automatické vyplňování"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Výchozí aplikace"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonované aplikace"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Vytvořte druhou instanci aplikace, abyste mohli používat dva účty současně."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"peněženka"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"platit, klepnout, platby"</string>
     <string name="keywords_backup" msgid="707735920706667685">"záloha, zálohování"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"obličej, odemknutí, autorizace, přihlášení"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"obličej, odemknutí, ověření, přihlášení, otisk prstu, biometrika"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, verze prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"velikost textu, velké písmo, velký text, slabozrakost, zvětšení textu, zvětšovač písma, zvětšení písma"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"vždy zapnuté ambientní zobrazení, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, štítek, čtečka"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klávesnice, hmatová odezva, vibrace,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hlasitost, vibrace, režim Nerušit"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Hlasitost médií"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Hlasitost odesílání"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Zvuky při spouštění"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Živý přepis"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatické přepisy médií"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Reproduktory telefonu"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Reproduktory tabletu"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Reproduktory zařízení"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Sluchátka s kabelem"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Zvuk z kompatibilních médií bude realističtější"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Vypnuto"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Zobrazovat veškerý obsah oznámení"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Citlivý obsah zobrazovat jen po odemknutí"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Oznámení vůbec nezobrazovat"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Jak chcete obrazovku uzamčení zobrazovat?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Co se má na obrazovce uzamčení zobrazovat?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Obrazovka uzamčení"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Zobrazí se veškerý obsah pracovních oznámení"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skrýt citlivý pracovní obsah"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nedávné konverzace byly odstraněny"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Konverzace byla odstraněna"</string>
     <string name="clear" msgid="5092178335409471100">"Vymazat"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Vymazat uživatele <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Tady se budou zobrazovat prioritní a upravené konverzace"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Když nějakou konverzaci označíte jako prioritní nebo v konverzacích něco upravíte, zobrazí se tady. \n\nJak změnit nastavení konverzace: \nPřejetím prstem z horní části obrazovky dolů otevřete vysouvací panel a potom konverzaci podržte."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimalizovat"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Zeslabení oznámení"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Použít zeslabení u všech oznámení"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Postupně snižovat hlasitost oznámení, když dostáváte mnoho oznámení za sebou ze stejné aplikace"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Použít zeslabení u konverzací"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Postupně snižovat hlasitost oznámení, když v krátké době dostáváte mnoho zpráv ze stejného chatu"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nepoužívat zeslabení u oznámení"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nikdy nesnižovat hlasitost oznámení bez ohledu na množství oznámení za sebou ze stejné aplikace"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrovat při odemknutí"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrovat jen při odemknuté obrazovce"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Použít na pracovní profily"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Použít nastavení zeslabení oznámení z osobního profilu také v pracovním profilu"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pomocné služby VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Žádné nainstalované aplikace nepožádaly o spuštění jako pomocná služba VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Povolit službě <xliff:g id="SERVICE">%1$s</xliff:g> přístup ke službě virtuální reality?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Vypnuto"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Připnutí aplikace"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Připnutí aplikace vám umožňuje nechat aktuální aplikaci zobrazenou, dokud ji neodepnete. Tuto funkci lze použít, například když chcete nechat důvěryhodného přítele hrát konkrétní hru."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Když je aplikace připnutá, může otevírat další aplikace a mít přístup k soukromým datům. \n\nPoužití připnutí aplikace: 	\n1. Zapněte připnutí aplikace 	\n2. Otevřete Přehled 	\n3. Klepněte na ikonu aplikace v horní části obrazovky a potom na Připnout"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Když je aplikace připnutá, může otevírat další aplikace a mít přístup k soukromým datům. \n\nChcete-li s někým bezpečně sdílet zařízení, zkuste místo toho použít režim hosta. \n\nPoužití připnutí aplikace: 	\n1. Zapněte připnutí aplikace 	\n2. Otevřete Přehled 	\n3. Klepněte na ikonu aplikace v horní části obrazovky a potom na Připnout"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Když je aplikace připnutá, může otevírat další aplikace a mít přístup k soukromým datům. \n\nPoužití připnutí aplikace: 	\n{0,number,integer}. Zapněte připnutí aplikace 	\n{1,number,integer}. Otevřete Přehled 	\n{2,number,integer}. Klepněte na ikonu aplikace v horní části obrazovky a potom na Připnout"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Když je aplikace připnutá, může otevírat další aplikace a mít přístup k soukromým datům. \n\nChcete-li s někým bezpečně sdílet zařízení, zkuste místo toho použít režim hosta. \n\nPoužití připnutí aplikace: 	\n{0,number,integer}. Zapněte připnutí aplikace 	\n{1,number,integer}. Otevřete Přehled 	\n{2,number,integer}. Klepněte na ikonu aplikace v horní části obrazovky a potom na Připnout"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Když je aplikace připnutá: \n\n• Může mít přístup k soukromým datům \n (například kontaktům a obsahu e-mailů) \n• Připnutá aplikace může otevírat další aplikace \n\nPřipnutí aplikace používejte pouze s lidmi, kterým důvěřujete."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Před uvolněním požádat o bezpečnostní gesto"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Před uvolněním požádat o PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Před odepnutím požádat o heslo"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Při odepnutí uzamknout zařízení"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrzovat smazání SIM karty"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potvrďte, že chcete vymazat eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Před vymazáním eSIM karty ověřovat svoji totožnost"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Pokročilá ochrana paměti beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Pokročilá ochrana paměti"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Nastavení nepoužívaných aplikací"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pozastavit aktivitu při nepoužívání"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Odebrat oprávnění, smazat dočasné soubory a zastavit oznámení"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Spravovat aplikaci, pokud se nepoužívá"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Odebrat oprávnění, smazat dočasné soubory, zastavit oznámení a archivovat aplikaci"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Všechny aplikace"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Nainstalované aplikace"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Okamžité aplikace"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Volná"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Paměť používaná aplikacemi"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{V poslední době ({time}) využila paměť 1 aplikace}few{V poslední době ({time}) využily paměť # aplikace}many{V poslední době ({time}) využilo paměť # aplikace}other{V poslední době ({time}) využilo paměť # aplikací}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Zapnout profilování využití paměti"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilování využití paměti vyžaduje další systémové prostředky."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilování paměti vypnuto"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekvence"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximální využití"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nebyla využita žádná data"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Zobrazení přes ostatní aplikace"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Povolit zobrazení přes jiné aplikace"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Když tuto možnost povolíte, aplikace se bude moci zobrazovat přes ostatní aplikace, které používáte. Aplikace uvidí, kam jste klepli, nebo změní, co je zobrazeno na obrazovce."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Změna mediálního výstupu"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Povolení pro aplikaci přepnout výstup médií"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Povolit této aplikaci určit, které připojené zařízení bude přehrávat zvuk nebo video z ostatních aplikací. S oprávněním bude aplikace mít k dispozici seznam dostupných zařízení (jako jsou sluchátka a reproduktory) a bude moct vybrat, které z výstupních zařízeních se bude používat ke streamování nebo odesílání zvuku či videa."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Přístup ke všem souborům"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Povolit přístup ke správě všech souborů"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Když tuto možnost povolíte, aplikace bude moci načítat, upravovat a mazat soubory v tomto zařízení a v připojených úložištích. Aplikace bude mít přístup k souborům i bez vašeho vědomí."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Mají přístup ke všem souborům"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikace aktivované hlasem"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Povolit hlasovou aktivaci"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Hlasová aplikace zapne schválené aplikace po vyslovení hlasového příkazu, handsfree. Vestavěné adaptivní zjišťování zajišťuje, abyste k datům měli přístup pouze vy.\n\n"<a href="">"Další informace o chráněném adaptivním zjišťování"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Oznámení na celou obrazovku"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Povolte oznámení z této aplikace na celou obrazovku"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Povolte této aplikaci zobrazovat oznámení na celou obrazovku, když bude zařízení zamknuté. Aplikace tak mohou zvýraznit budíky, příchozí hovory a další důležitá oznámení."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Upozornění na data při <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limit dat <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Upozornění na data: <xliff:g id="ID_1">^1</xliff:g> / limit dat: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operátor může data počítat jinak než zařízení"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Graf nezahrnuje data využitá sítěmi operátora."</string>
     <string name="data_used_template" msgid="8229342096562327646">"Využito <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Nastavit upozornění na data"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Aktualizováno před <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Aktualizováno operátorem <xliff:g id="ID_1">^1</xliff:g> teď"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Aktualizováno teď"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Zobrazit tarif"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Zobrazit podrobnosti"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Spořič dat"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neomezená data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikace <xliff:g id="APP_LABEL">%1$s</xliff:g> spotřebovala na pozadí více baterie než obvykle"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikace <xliff:g id="APP_LABEL">%1$s</xliff:g> spotřebovala v popředí více baterie"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikace <xliff:g id="APP_LABEL">%1$s</xliff:g> spotřebovala v popředí více baterie než obvykle"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomálie využití baterie"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Vysoké využití baterie"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Vysoké využití baterie na pozadí"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Vysoké využití baterie v popředí"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Dlaždice rychlého nastavení pro vývojáře"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Vypnout časový limit autorizací adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Vypnout automatické zrušení autorizací adb u systémů, které se nepřipojily do výchozí (7 dní) nebo uživatelem nastavené doby (minimálně 1 den)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Trasování Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzory jsou vypnuty"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Nastavení pracovního profilu"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Vyhledávat kontakty z pracovního adresáře v osobních aplikacích"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"systémová navigace, navigace dvěma tlačítky, navigace třemi tlačítky, navigace gesty, přejetí prstem"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitální asistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vyvolat asistenta přejetím prstem"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Aplikaci digitálního asistenta vyvoláte přejetím prstem nahoru ze spodního rohu obrazovky."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Aplikaci digitálního asistenta vyvoláte přejetím prstem nahoru ze spodního rohu obrazovky"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Aktivovat Asistenta podržením tlačítka plochy"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Aplikaci digitálního asistenta vyvoláte podržením tlačítka plochy."</string>
     <string name="low_label" msgid="6525629096999711220">"Nízká"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Služba automatického vyplňování"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Výchozí služba automatického vyplňování"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Hesla"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Hesla, přístupové klíče a datové služby"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Další poskytovatelé"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferovaná služba"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Další služby"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# heslo}few{# hesla}many{# hesla}other{# hesel}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automaticky, vyplnit, vyplnit automaticky, heslo"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, přístupový klíč, heslo"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatické, vyplňování, automatické vyplňování, údaje, přístupový klíč, heslo"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Změnit"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Otevřít"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nejsou vybrány žádné položky"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Zkontrolujte, zda se jedná o důvěryhodnou aplikaci&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Automatické doplňování Google&gt;%1$s&lt;/xliff:g&gt; určuje, co lze automaticky vyplnit, na základě obsahu obrazovky."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Použít &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; používá obsah obrazovky k určení, co lze automaticky vyplnit. Odteď se sem budou ukládat nová hesla, přístupové klíče a další údaje."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Hesla, přístupové klíče a datové služby"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Používat aplikaci &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nová hesla, přístupové klíče a další informace se budou od této chvíle ukládat sem. Aplikace &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; může používat obsah obrazovky k určení, co lze automaticky vyplnit."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferovaná služba pro hesla, přístupové klíče a automatické vyplňování"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vypnout poskytovatele %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vypnout tuto službu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Při přihlášení se nebudou vyplňovat uložené údaje, jako jsou hesla, přístupové klíče, platební metody a podobně. Pokud chcete používat uložené údaje, zvolte heslo, přístupový klíč nebo datovou službu."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Hesla, přístupové klíče a automatické vyplňování"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Vypnout všechny služby?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Hesla, přístupové klíče a další uložené údaje nebude možné po přihlášení automaticky vyplňovat"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Změnit preferovanou službu na &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nová hesla, přístupové klíče a další informace se budou od této chvíle ukládat sem. Aplikace &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; může používat obsah obrazovky k určení, co lze automaticky vyplnit."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Použít %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Vypnout"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Změnit"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Lze mít maximálně pět zapnutých služeb"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Pokud chcete přidat další službu, alespoň jednu vypněte"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s určuje údaje, které lze automaticky vyplnit, na základě obsahu obrazovky."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limit hesel, přístupových klíčů a datových služeb"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"V jednu chvíli můžete mít aktivních až 5 hesel, přístupových klíčů a datových služeb. Pokud chcete přidat další, některou službu vypněte."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limit hesel, přístupových klíčů a datových služeb"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"V jednu chvíli můžete mít aktivních až 5 hesel, přístupových klíčů a datových služeb. Pokud chcete přidat další, některou službu vypněte."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Vypnout"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatické vyplňování"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Úroveň protokolování"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Kompatibilitu lze upravovat pouze u laditelných aplikací. Nainstalujte laditelnou aplikaci a zkuste to znovu."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Závisí na jiném nastavení"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Účet"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Účty: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Název zařízení"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Základní informace"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Právní předpisy"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Povolit spuštění této aplikace při naskenování štítku NFC.\nPokud je toto oprávnění zapnuté, aplikace bude dostupná jako možnost při každém rozpoznání štítku."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Kde přehrávat média"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Pustit <xliff:g id="LABEL">%s</xliff:g> přes"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Zvuk se přehraje na"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Toto zařízení"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Při volání nedostupné"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Přijmout hovor v zařízení"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Vypnout zvuk"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Pokud chcete zapnout tuto možnost, nejdříve změňte akci přidruženou k podržení vypínače tak, aby se jím otevírala nabídka vypínače."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Podrobnosti sítě"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Název vašeho zařízení je viditelný pro aplikace v telefonu. 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="devices_title" msgid="649715719278562515">"Zařízení"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Vybrat síť"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Odpojeno"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Název"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Barva (používají kompatibilní aplikace)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Uložit"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Používat SIM kartu"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Použít tuhle SIM kartu"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Vypnuto"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Chcete-li tuto SIM kartu deaktivovat, vyjměte ji"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Klepnutím aktivujte operátora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vymazat SIM kartu"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Pokud chcete tuhle SIM kartu vypnout, vyjměte ji"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"SIM kartu <xliff:g id="CARRIER">%1$s</xliff:g> aktivujete klepnutím"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Vymazat eSIM kartu"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferovaný typ sítě"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Změnit provozní režim sítě"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferovaný typ sítě"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Ceny vám sdělí poskytovatel datových služeb."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Využití dat aplikacemi"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Neplatný režim sítě <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorovat."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satelitní zprávy"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Odesílání a přijímání textových zpráv přes satelit. Je součástí vašeho účtu."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Odesílání a přijímání textových zpráv přes satelit. Není součástí vašeho účtu."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satelitní zprávy"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Informace o satelitních zprávách"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Můžete odesílat a přijímat textové zprávy přes satelit v rámci způsobilého účtu <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Váš tarif <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satelitní zprávy jsou součástí vašeho účtu"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelitní zprávy nejsou součástí vašeho účtu"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Přidat satelitní zprávy"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Jak to funguje"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Když nebudete mít mobilní síť"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Váš telefon se automaticky připojí k satelitu. Nejlepšího připojení dosáhnete na otevřeném prostranství."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Jakmile se telefon připojí k satelitu"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Můžete posílat textové zprávy komukoli, včetně tísňových linek. Telefon se opět připojí k mobilní síti, až bude k dispozici."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Odesílání satelitních zpráv může trvat déle a je dostupné pouze v některých oblastech. Na satelitní připojení může mít vliv počasí i některé stavby. Volání přes satelit není dostupné.\n\nMůže chvíli trvat, než se změny účtu projeví v Nastavení. Další podrobnosti vám sdělí operátor <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Další informace o satelitních zprávách"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Názvy přístupových bodů"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Při připojení k operátorovi <xliff:g id="CARRIER">%1$s</xliff:g> nedostupné"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Přepnout na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Přepnout na SIM kartu?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Použít operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"V jednu chvíli může být aktivní pouze jedna SIM karta.\n\nPřepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte službu <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"V jednu chvíli může být aktivní pouze jedna SIM karta.\n\nPřepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte tarif u operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"V jednu chvíli může být aktivní pouze jedna SIM karta.\n\nPřepnutím nezrušíte službu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"V jednu chvíli může být zapnutá pouze jedna SIM karta.\n\nPřepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte tarif u operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"V jednu chvíli může být zapnutá pouze jedna eSIM karta.\n\nPřepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte tarif u operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"V jednu chvíli může být zapnutá pouze jedna SIM karta.\n\nPřepnutím nezrušíte tarif u operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Můžete používat dvě SIM karty současně. Pokud chcete použít operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, vypněte jinou SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Přepnout na síť <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Vypnout operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Vypnutím SIM karty nezrušíte svůj tarif."</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Připojování k síti…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Přepínání na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pro hovory a zprávy…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operátora nelze přepnout"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operátora kvůli chybě nelze přepnout."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktivování SIM karty…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Přepínání na uživatele <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM karty nejde přepnout"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Něco se pokazilo. SIM karty nejde přepnout."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vypnout operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vypnout SIM kartu?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Vypínání SIM karty<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operátora nelze deaktivovat"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Něco se pokazilo a deaktivace operátora se nezdařila."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM kartu nejde vypnout"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Něco se pokazilo a SIM kartu se nepodařilo vypnout."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Používat dvě SIM karty?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"V tomto zařízení lze používat dvě SIM karty současně. Pokud chcete používat jen jednu, klepněte na „Ne, díky“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Restartovat zařízení?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, díky"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Zrušit"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Přepnout"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Vypnout"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM kartu nelze aktivovat"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Zkuste SIM kartu znovu zapnout. Pokud problém přetrvává, restartujte zařízení."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Nastavení SIM karty"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Nastavte si předvolby mobilní sítě pro používání několika SIM karet v zařízení"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Štítky SIM karet"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Tyhle štítky uvidíte při volání, psaní SMS, používání dat a v Nastavení"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Štítek SIM karty"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Štítek"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Vyberte, které chcete použít"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Můžete používat dvě SIM karty současně"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Nastavení primárních SIM karet"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Určete, které SIM karty se budou používat jako výchozí pro volání, SMS a data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Primární SIM karty"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Volání"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatické přepínání dat"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Používat data z obou SIM karet v závislosti na pokrytí a dostupnosti"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Pouze data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Nastavit"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Další"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Zapínání operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilní síť"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonní číslo"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Štítek a barva SIM karty"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivace sítě"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Přepnutí operátora"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Číslo <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivní"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM karta <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivní"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Klepnutím aktualizujete nastavení SIM karty"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Přepnuto na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Přepnuto na jiného operátora"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilní síť se změnila"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Nastavte druhou SIM kartu"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Vyberte aktivní SIM kartu nebo použijte dvě SIM karty naráz"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Vyberte číslo, které chcete použít"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{V zařízení je k dispozici 1 číslo, ale v jednu chvíli lze použít jen jedno}=2{V zařízení jsou k dispozici 2 čísla, ale v jednu chvíli lze použít jen jedno}few{V zařízení jsou k dispozici # čísla, ale v jednu chvíli lze použít jen jedno}many{V zařízení je k dispozici # čísla, ale v jednu chvíli lze použít jen jedno}other{V zařízení je k dispozici # čísel, ale v jednu chvíli lze použít jen jedno}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Probíhá aktivace<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Teď nelze aktivovat"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Vyberte SIM kartu, která se použije"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{V zařízení je k dispozici 1 SIM karta, ale v jednu chvíli lze použít jen jedno}=2{V zařízení jsou k dispozici 2 SIM karty, ale v jednu chvíli lze použít jen jedno}few{V zařízení jsou k dispozici # SIM karty, ale v jednu chvíli lze použít jen jedno}many{V zařízení je k dispozici # SIM karty, ale v jednu chvíli lze použít jen jedno}other{V zařízení je k dispozici # SIM karet, ale v jednu chvíli lze použít jen jedno}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Zapínání<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Tuhle SIM kartu se teď nepodařilo zapnout"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Použít operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Číslo <xliff:g id="CARRIER_NAME">%1$s</xliff:g> se bude používat pro mobilní data, volání a SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nejsou k dispozici žádné aktivní SIM karty"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Pokud budete chtít později používat mobilní data, volání a SMS, přejděte do nastavení sítě"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM karta"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vymazat tuto eSIM kartu?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Když vymažete tuto SIM kartu, ze zařízení bude odebrána služba operátora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nNeznamená to však, že služba operátora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> bude zrušena."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Tímto odstraníte službu operátora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> z tohoto zařízení, ale váš tarif u operátora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nebude zrušen."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Vymazat"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Mazání SIM karty…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM kartu nelze vymazat"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Tuto SIM kartu nelze vymazat z důvodu chyby.\n\nRestartujte zařízení a zkuste to znovu."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Mazání eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM nelze vymazat"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Něco se pokazilo a tato eSIM karta nebyla vymazána.\n\nRestartujte zařízení a zkuste to znovu."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Připojení k zařízení"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikace <xliff:g id="APPNAME">%1$s</xliff:g> chce za účelem připojení k zařízení použít dočasnou síť Wi-Fi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nebyla nalezena žádná zařízení. Zajistěte, aby zařízení byla zapnutá a dostupná k připojení."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Tísňová volání"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Tísňová volání pomocí funkce volání přes Wi-Fi váš operátor nepodporuje.\nZařízení se automaticky přepne na mobilní síť, aby mohlo provést tísňové volání.\nTísňová volání lze uskutečnit jen v oblastech s mobilním signálem."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Používat k volání připojení Wi-Fi s cílem zvýšit kvalitu"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Záložní volání"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Pokud <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> není k dispozici nebo vyžaduje roaming, použije se k hovorům přes <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> SIM karta na mobilní data."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"záložní volání"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Příchozí zpráva MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Zprávu MMS se nepodařilo odeslat"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Klepnutím povolíte zprávy MMS u operátora <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> při vypnutých mobilních datech"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informace o pracovních zásadách"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nastavení spravováno administrátorem IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Spustit s velikostí stránek 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Spustit zařízení s jádrem, které podporuje velikost stránek 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Restartovat s jádrem kompatibilním se 16KB stránkami?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"UPOZORNĚNÍ: Některé aplikace s tímto režimem nemusí být kompatibilní. Po potvrzení se zařízení restartuje."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Restartovat s jádrem kompatibilním se 4KB stránkami?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Po potvrzení se zařízení restartuje."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Jádro se nepodařilo aktualizovat na kompatibilní se 16KB stránkami."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Změna se uplatňuje"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Nástroj pro zprávy o chybách"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Určuje, která aplikace na vašem zařízení zpracovává zkratku k odeslání zprávy o chybě."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobní"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Povolte aplikace, které se smí zobrazovat přes jiné aplikace a vytvářet vrstvy obrazovek Nastavení"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Povolit simulovaný modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Povolte tomuto zařízení používat službu simulovaného modemu pro účely instrumentačního testu. Během běžného používání telefonu tuto možnost nepovolujte"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Deaktivovat ochranu sdílení obrazovky"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Během sdílení obrazovky deaktivuje ochranu aplikací a oznámení použitých systémem"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Média"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Připnout přehrávač médií"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Přehrávač médií zůstane otevřený v Rychlém nastavení, aby bylo možné rychle obnovit přehrávání"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Zobrazovat média na obrazovce uzamčení"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Přehrávač médií zůstane otevřený na obrazovce uzamčení, aby bylo možné rychle obnovit přehrávání"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Zobrazovat doporučení médií"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Zobrazit doporučení médií od Asistenta"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Na základě vaší aktivity"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Skrýt přehrávač"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Zobrazit přehrávač"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"média"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Povolit softwarová rozšíření fotoaparátu"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Aktivuje výchozí implementaci softwaru pro pokročilé funkce fotoaparátu, jako je videografie Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Zapne se Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM karty"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM karta"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM karty"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktivní"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktivní"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Zapnuto"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Vypnuto"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Výchozí pro <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"hovory"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Zvuk z kompatibilních médií bude realističtější"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Sledování hlavy"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Při pohybu hlavou se zvuk mění, aby zněl přirozeněji"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Oprávnění synchronizace"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Dejte zařízení <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> stejná oprávnění pro aplikace, jaká jste povolili v zařízení <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synchronizace oprávnění z telefonu"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Dejte hodinkám stejná oprávnění pro aplikace, jaká jste povolili v telefonu"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Typ zvukového zařízení"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Neznámé"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Reproduktor"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Střední"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Vysoká"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Tuto aplikaci lze otevřít jen v jednom okně"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Zapnuto"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Vypnuto"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Vypnuto"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Vypnuto"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Zapnuto"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Vypnuto"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Zapnuto"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Vypnuto"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Světlou obrazovku změní na tmavou a tmavou na světlou"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Přiblížení obrazovky"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Vypnuto"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Vypnuto"</string>
+    <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="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">"Mluvnický rod"</string>
+    <string name="grammatical_gender_dialog_title" msgid="8754048592099871587">"Vyberte mluvnický rod"</string>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Vyhledávání podvodných aplikací"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrola aplikace ohledně phishingu"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Používat detekci podvodných aplikací"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Používat detekci podvodných pracovních aplikací"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Heslo je nyní nastaveno"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Při umístění kurzoru zobrazovat ukazatel"</string>
 </resources>
diff --git a/res/values-da/arrays.xml b/res/values-da/arrays.xml
index ed77359..0a7b4aa 100644
--- a/res/values-da/arrays.xml
+++ b/res/values-da/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Tilgængelig"</item>
     <item msgid="6096962300722555553">"Uden for rækkevidde"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Deaktiveret"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast og Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Brug systemstandarden: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Efter 1 minut"</item>
     <item msgid="1574040255478150028">"Efter 5 minutter"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-da/strings.xml b/res/values-da/strings.xml
index 5c4b07e..f25ef2f 100644
--- a/res/values-da/strings.xml
+++ b/res/values-da/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Nu er du udvikler!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Det behøver du ikke. Du er allerede udvikler."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktivér Indstillinger for udviklere først."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Kun administratorerne kan tilgå udviklerindstillinger."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"I drift"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ude af drift"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Skærm på forsiden tændes, når du folder din enhed"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Kun spil, videoer m.m."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Skærmen på forsiden tændes i forbindelse med apps, der forhindrer din skærm i at blive inaktiv"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Stryg opad for at fortsætte"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Fold din telefon, og stryg opad på skærmen på forsiden for at fortsætte med at bruge appen, eller vent et par sekunder, så skærmen låses"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Aldrig"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Skærmen på forsiden låses, når du folder din enhed"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Brug automatisk rotering"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relaterede"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringetone og alarmer"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Lyd under opkald"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Medier"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notifikationer og systemlyde"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Medie- og systemlyde"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifikationer"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Som standard fastlægges lydudgangen af de enkelte apps"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Unavngiven Bluetooth-enhed"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Søger"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Deaktiver"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Deaktiver Bluetooth LE-lyd"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Deaktiverer funktionen Bluetooth LE-lyd, hvis enheden understøtter denne LE-lyd til hardware."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Tilstanden Bluetooth LE-lyd"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Vis kontakten til LE-lyd i Enhedsoplysninger"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Aktivér tilladelseslisten for Bluetooth LE-lyd"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Aktivér funktionen for tilladelseslisten for Bluetooth LE-lyd"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omgå tilladelsesliste for Bluetooth LE-lyd"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Brug LE-lyd som standard, selvom det ikke er verificeret, at den eksterne LE-lydenhed opfylder kriterierne for tilladelseslisten."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medieenheder"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Opkaldsenheder"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andre enheder"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gemte enheder"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Knyttet til kontoen"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Tidligere anvendt med kontoen"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth aktiveres for at parre"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Præferencer for forbindelser"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Tidligere forbindelser"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth er aktiveret"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Se alle"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Se alt"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Styluspen"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ved tryk på knappen til styluspennen"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (arbejdsprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skriv i tekstfelter"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer alle tryk på styluspen-knappen"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Styluspen"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Deling af lyd"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Del lyd"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Opkald og alarmer"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Opret forbindelse til en lydstream ved hjælp af en QR-kode"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Ingen lydstreams blev fundet i nærheden."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Dato og klokkeslæt"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Ryd"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Vil du føje %s til dine foretrukne sprog?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Dette fortæller apps og websites, at du også foretrækker dette sprog."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Dine enhedsindstillinger og regionsindstillinger ændres."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Rediger"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s er ikke tilgængeligt"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Lørdag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Hvis en app ikke understøtter regionsindstillinger, anvender appen sine lokale standardindstillinger."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Få flere oplysninger om sprogpræferencer."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Yderligere præferencer"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Tiltaleform"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Angiv, hvordan du vil tiltales"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps kan bruge din valgte tiltaleform for at tilpasse, hvordan de tiltaler dig."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Ikke angivet"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femininum"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maskulinum"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Vil du fjerne det valgte sprog?}one{Vil du fjerne det valgte sprog?}other{Vil du fjerne de valgte sprog?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Al tekst vises på et andet sprog."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Du kan ikke fjerne alle sprog."</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokation"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Brug lokation"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Fra"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Få flere oplysninger om lokationsindstillinger."</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="3574930966097093550">"Rediger lokationsadgangen ved at gå til Indstillinger &gt; Sikkerhed og privatliv &gt; Privatlivsindstillinger"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Konti"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sikkerhed"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Kryptering og loginoplysninger"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Du får de bedste resultater ved at bruge en skærmbeskytter, der er Made For Google-certificeret. Dit barns fingeraftryk virker muligvis ikke med andre skærmbeskyttere."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Uroplåsning"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Når du konfigurerer ansigts- og fingeroplåsning, beder din telefon om dit fingeraftryk, hvis du er iført en maske eller befinder dig et mørkt sted.\n\nDu kan låse op med dit ur, når dit ansigt eller fingeraftryk ikke kan genkendes."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Du kan låse op med dit ur, når dit fingeraftryk ikke kan genkendes."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Du kan låse op med dit ur, når dit ansigt ikke kan genkendes."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Når du konfigurerer ansigts- og fingeroplåsning, beder din telefon om dit fingeraftryk, hvis du er iført en maske eller befinder dig et mørkt sted.\n\nUroplåsning er en nem måde at låse telefonen op, f.eks. når dine hænder er våde eller dit ansigt ikke genkendes."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Uroplåsning er en nem måde at låse telefonen op, f.eks. når dit fingeraftryk ikke genkendes."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Uroplåsning er en nem måde at låse telefonen op, f.eks. når dit ansigt ikke genkendes."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Brug dit fingeraftryk eller ur til at"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Brug dit ansigt eller ur til at"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Brug dit ansigt, fingeraftryk eller ur til at"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Uroplåsning er en nem måde at låse telefonen op, f.eks. når dine hænder er våde, eller dit ansigt ikke genkendes.\n\nDu kan bruge dit ur til at låse denne telefon op, når du:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ikke nu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Fortsæt"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mere"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Sådan fungerer det"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Dit ur skal være oplåst, sidde omkring dit håndled og være tæt på denne telefon. Du behøver ikke at låse dit ur op igen, når det sidder omkring dit håndled."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Når denne telefon låses op, får du en notifikation på dit ur. Hvis den låses op ved en fejl, kan du trykke på notifikationen for at låse telefonen igen."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Du bestemmer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Du kan til enhver tid fjerne dit ur fra uroplåsning i Indstillinger"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tryk på en notifikation"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Stryg opad på låseskærmen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Vælg dit ur"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Tilgængelige ure"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Annuller"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Bekræft"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Så er du klar!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Du kan nu bruge dit ur til at låse denne telefon op, når du stryger opad på låseskærmen eller trykker på en notifikation"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Udfør"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Uroplåsning"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Du kan bruge dit ur til at låse denne telefon op, når du stryger opad på låseskærmen eller trykker på en notifikation"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Hvis du vil bruge uroplåsning, skal uret være oplåst, sidde omkring dit håndled og være tæt på samt forbundet til denne telefon. Hvis forbindelsen afbrydes, skal du låse telefonen op, før du kan bruge uroplåsning.\n\nHusk!\nDu kan kun konfigurere ét ur ad gangen. For at tilføje et nyt ur skal du først fjerne det aktuelle ur."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sikkerhed"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privatliv"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Arbejdsprofil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privat område"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Hold private apps låste og skjulte"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Gem private apps i et separat område, som du kan skjule eller låse"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Lås til privat område"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Du kan låse dit private område op på samme måde, som du låser din enhed op, eller du kan vælge en anden lås"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Brug enhedens skærmlås"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Ansigtsoplåsning og fingeroplåsning"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingeroplåsning"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Ansigtsoplåsning"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tryk for at konfigurere"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingeroplåsning til privat område"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Ansigtsoplåsning til privat område"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Muligheder for oplåsning"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Den samme som enhedens skærmlås"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Vil du vælge en ny lås til det private område?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lås det private område automatisk"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Du kan låse dit private område automatisk, hvis du ikke har brugt din enhed i et stykke tid"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Hver gang enheden låses"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Efter 5 minutters inaktivitet"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Aldrig"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Skjul, når det er låst"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Skjul det private område, når det er låst"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Hvis andre ikke må vide, at du har et privat område på din enhed, kan du skjule det på applisten"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Åbn dit private område, når det er skjult"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"På applisten skal du angive \"privat område\" i søgefeltet"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tryk på handlingsfeltet Privat område"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Lås dit private område op"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Fra"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Til"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Slet privat område"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Vil du slette det private område?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Dit private område fjernes fra din enhed. Alle private apps og data slettes. Denne handling kan ikke fortrydes."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Følgende konti fjernes fra dit private område:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Slet"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Sletter privat område…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Dette tager et øjeblik"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Det private område er slettet"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Det private område kunne ikke slettes"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privat område er låst op"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Konfigurer en skærmlås"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Konfigurer en skærmlås på enheden for at bruge dit private område"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Konfigurer skærmlås"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuller"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Annuller"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Konfigurer"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Konfigurer et privat område"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Gem private apps i et separat område, som du kan skjule eller låse"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Sådan fungerer det"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Du kan få adgang til dit private område nederst på din liste over apps"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps i dit private område er beskyttet af en lås"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notifikationer fra apps i dit private område er skjult, når det er låst"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps i dit private område vises ikke i tilladelsesmanager, privatlivspanelet eller andre indstillinger, når det private område er låst.\n\nDu kan ikke flytte dit private område til en ny enhed. Hvis du vil bruge det private område på en anden enhed, skal du konfigurere et nyt privat område.\n\nPersoner, der slutter din enhed til en computer eller installerer skadelige apps på din enhed, kan muligvis få adgang til dit private område."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfigurerer et privat område…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notifikationer fra apps i dit private område er skjult, når området er låst"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Du kan låse dit private område op for at dele billeder og filer"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Visse apps er allerede installeret i dit private 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_lockscreen_title" msgid="6034864097861137509">"Brug skærmlås til at låse dit private område op?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Du kan låse dit private område op på samme måde, som du låser din enhed op, eller ved at vælge en anden lås"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Brug skærmlås"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Vælg en ny lås"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Det var det hele."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Du kan finde dit private område ved at gå til din appliste og rulle ned"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Udfør"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Rul ned for at finde det private område"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Log ind"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Log ind på en konto for at bruge dit private område"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ikke nu"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Fortsæt"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Vælg en lås til dit private område"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Du kan låse dit private område op med dit fingeraftryk. Af hensyn til sikkerheden kræver denne mulighed en alternativ lås."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Angiv en pinkode til dit private område"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Angiv en adgangskode til dit private område"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Angiv et mønster til dit private område"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Du kan tilføje op til <xliff:g id="COUNT">%d</xliff:g> fingeraftryk"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du har tilføjet det maksimale antal fingeraftryk"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Du kan ikke tilføje flere fingeraftryk"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mønster"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Pinkode"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Adgangskode"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vil du slette skærmlåsen?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Vil du fjerne alle typer enhedsoplåsning?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Vil du fjerne profilbeskyttelsen?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Et mønster beskytter din telefon, hvis den bliver væk eller stjålet"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Et mønster beskytter din telefon, hvis den bliver væk eller stjålet.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Dette medfører også sletning af den fingeraftryksmodel, der er gemt på din enhed. Din ansigtsmodel bliver også slettet permanent og på sikker vis. Du kan ikke længere bruge dit ansigt eller fingeraftryk til godkendelse i apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"En pinkode beskytter din telefon, hvis den bliver væk eller stjålet"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Du mister gemte data såsom din pinkode.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort, som er konfigureret til kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Apps til digitale punge og andre apps, der kræver enhedsoplåsning, fungerer muligvis ikke korrekt."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"En pinkode beskytter din telefon, hvis den bliver væk eller stjålet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dette medfører også sletning af den fingeraftryksmodel, der er gemt på din enhed. Du kan ikke længere bruge dit fingeraftryk til godkendelse i apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Du mister gemte data såsom din pinkode og fingeraftryksmodel.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort, som er konfigureret til kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Apps til digitale punge og andre apps, der kræver enhedsoplåsning, fungerer muligvis ikke korrekt."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"En pinkode beskytter din telefon, hvis den bliver væk eller stjålet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Din ansigtsmodel bliver også slettet permanent og på sikker vis. Du kan ikke længere bruge dit ansigt til godkendelse i apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Du mister gemte data såsom din pinkode og ansigtsmodel.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort, som er konfigureret til kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Apps til digitale punge og andre apps, der kræver enhedsoplåsning, fungerer muligvis ikke korrekt."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"En pinkode beskytter din telefon, hvis den bliver væk eller stjålet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dette medfører også sletning af den fingeraftryksmodel, der er gemt på din enhed. Din ansigtsmodel bliver også slettet permanent og på sikker vis. Du kan ikke længere bruge dit ansigt eller fingeraftryk til godkendelse i apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Du mister gemte data såsom din pinkode samt dine ansigts- og fingeraftryksmodeller.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort, som er konfigureret til kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Apps til digitale punge og andre apps, der kræver enhedsoplåsning, fungerer muligvis ikke korrekt."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"En adgangskode beskytter din telefon, hvis den bliver væk eller stjålet"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"En adgangskode beskytter din telefon, hvis den bliver væk eller stjålet.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Vil du parre med <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Føj et nyt medlem til det eksisterende koordinerede sæt"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Bekræft for at tilføje den anden del af din lydenhed"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-parringskode"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Angiv parringskoden, og tryk på Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Pinkode indeholder bogstaver eller symboler"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Skal bestå af 16 cifre"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Du skal muligvis også indtaste denne pinkode på den anden enhed."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Du skal muligvis også indtaste denne adgangsnøgle på den anden enhed."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Bekræft for at parre med det koordinerede sæt"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Bekræft for at parre med lydenheden"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Giv adgang til dine kontakter og din opkaldshistorik"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Tillad også adgang til kontakter og opkaldshistorik"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Oplysningerne bruges til opkaldsmeddelelser m.m."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Der kunne ikke oprettes forbindelse til <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Tilgængelige enheder"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Forbind"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Afbryd"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Par og forbind med denne enhed"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Når Bluetooth er aktiveret, kan enheden kommunikere med andre Bluetooth-enheder i nærheden."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Når Bluetooth er aktiveret, kan enheden kommunikere med andre Bluetooth-enheder i nærheden"</string>
     <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_scan_change" msgid="1744636222637390367">"Rediger"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Enhedsoplysninger"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Tillad, at ART verificerer bytekoden for apps, der kan fejlrettes"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Vis opdateringshastighed"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Vis skærmens aktuelle opdateringshastighed"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Vis HDR-/SDR-forhold"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Vis det aktuelle HDR-/SDR-forhold"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kræv, at enheden låses op til NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"I flytilstand"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Underret om offentlige netværk"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Giv besked, hvis et offentligt netværk af høj kvalitet er tilgængeligt"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Tillad WEP-netværk"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP er en ældre og mindre sikker sikkerhedsprotokol"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Dit mobilselskab tillader ikke WEP-netværk, fordi de er mindre sikre"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Aktivér Wi-Fi automatisk"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi aktiveres igen, når du er i nærheden af gemte netværk af høj kvalitet, f.eks dit hjemmenetværk"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Ikke tilgængelig, fordi lokation er deaktiveret. Aktivér "<annotation id="link">"lokation"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi-scanning tillader, at apps og tjenester til enhver tid kan søge efter Wi-Fi-netværk, også selvom Wi-Fi er deaktiveret. Dette kan f.eks. bruges til at forbedre lokationsbaserede funktioner og tjenester."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivér"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-scanning er slået til"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Dette netværk bruger en ældre og mindre sikker sikkerhedsprotokol"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> er blokeret"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Dette netværk bruger en ældre og mindre sikker sikkerhedsprotokol, der kaldes for WEP. Hvis du vil fortsætte alligevel, kan du tillade WEP-netværk."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Dit mobilselskab tillader ikke, at du opretter forbindelse til dette netværk, da det bruger en ældre og mindre sikker sikkerhedsprotokol"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Tillad WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Luk"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Avancerede valgmuligheder"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rulleliste med avancerede valgmuligheder"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"udvid"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Bliv på Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Vis aldrig igen"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Forbind"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi er slået til"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Forbundet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Opretter forbindelse til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Tilslutter…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Der kunne ikke oprettes forbindelse til netværket"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Netværket er ikke inden for rækkevidde"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Glem"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Rediger"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Netværket kunne ikke glemmes"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Gem"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Netværk kunne ikke gemmes"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Annuller"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobildata"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – oplades"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – oplades"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot-forbindelse"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Signalstyrke"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Gemte netværk"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Der er ikke indstillet nogen adgangskode"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Navn på hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Adgangskode til hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP-bånd"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Deaktiver hotspot automatisk"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Når der ikke er forbundet nogen enheder"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Udvid kompatibilitet"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Skærmens hvidbalance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Fortsæt med at bruge apps på foldet skærm"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Øger automatisk opdateringshastigheden fra 60 til <xliff:g id="ID_1">%1$s</xliff:g> Hz for noget indhold. Medfører højere batteriforbrug."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Deaktiver std. frekvens i spil"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Deaktiver begrænsning af den maksimale billedfrekvens i spil på <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Øger automatisk opdateringshastigheden op til <xliff:g id="ID_1">%1$d</xliff:g> Hz for noget indhold. Medfører højere batteriforbrug."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Gennemtving højeste opdateringshastighed"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Den højeste opdateringshastighed, som giver forbedret animationskvalitet og reaktionsevne ved berøring. Medfører højere batteriforbrug."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Opmærksom skærm"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Den opmærksomme skærm bruger frontkameraet til at tjekke, om der er nogen, der kigger på skærmen. Funktionen fungerer kun lokalt på enheden, og den gemmer ikke billeder eller sender billeder til Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Aktivér opmærksom skærm"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Hold skærmen tændt, så længe du kigger på den"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Længerevarende timeout for skærm bruger mere batteri."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kameraet er låst"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kameraet skal låses op, før du kan bruge ansigtsgenkendelse"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kameraet skal låses op, før du kan bruge opmærksom skærm"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI-nummer (SIM-kortrille <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI-nummer (SIM-kortrille <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> – primær)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Vælg et gemt netværk for at se"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI-nummer"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Batteriniveau"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Fælles"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Fælles indstillinger"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellitbeskeder"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Adgangspunkter"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Rediger adgangspunkt"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Tilføj adgangspunkt"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ikke angivet"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ikke angivet"</string>
     <string name="apn_name" msgid="6677695784108157953">"Navn"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Adgangspunktet er aktiveret"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Adgangspunktet er deaktiveret"</string>
     <string name="bearer" msgid="3231443241639159358">"Bærer"</string>
+    <string name="network_type" msgid="748590707422733595">"Netværkstype"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Ikke angivet"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-værdi"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Slet adgangspunkt"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Gem"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Luk"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Dupliker APN-indgang."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Feltet Navn skal udfyldes."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Du skal angive et adgangspunkt."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-feltet skal indeholde 3 tal."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-feltet skal indeholde 2 eller 3 tal."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Mobilselskabet tillader ikke, at du tilføjer adgangspunkter af typen %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-feltet skal være gyldigt."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Gendannelse af standardindstillingerne for adgangspunktet."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Nulstil til standard"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Standardindstillingerne for adgangspunktet er nulstillet."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Nulstil"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth og Wi‑Fi er blevet nulstillet"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Slet eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Mobilabonnementer opsiges ikke. Kontakt dit mobilselskab for at downloade nye SIM-kort."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Dette opsiger ikke dit mobilabonnement. Kontakt dit mobilselskab for at få et nyt SIM-kort."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Nulstil indstillinger"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Vil du nulstille alle netværksindstillinger? Denne handling kan ikke fortrydes."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vil du rydde alle netværksindstillinger og rydde eSIM? Denne handling kan ikke fortrydes."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Vil du nulstille?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Gendannelse af netværk er ikke tilgængeligt for denne bruger"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Netværksindstillingerne er blevet nulstillet"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-kortene kan ikke ryddes"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM kan ikke ryddes på grund af en fejl.\n\nGenstart din enhed, og prøv igen."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM-kort kunne ikke ryddes"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Noget gik galt, og dine eSIM-kort blev ikke ryddet.\n\nGenstart din enhed, og prøv igen."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Ryd alle data (gendan fabriksindstillinger)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Ryd alle data (gendan fabriksindstillinger)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musik"</li>\n<li>"Billeder"</li>\n<li>"Andre brugerdata"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Dette opsiger ikke automatisk dit mobilabonnement."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Alle dine personlige oplysninger og downloadede apps slettes. Denne handling kan ikke fortrydes."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Alle dine personlige oplysninger, bl.a. downloadede apps og SIM-kort, slettes. Denne handling kan ikke fortrydes."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Alle dine personlige oplysninger, bl.a. downloadede apps og eSIM-kort, slettes. Denne handling kan ikke fortrydes."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vil du rydde alle data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Det er ikke muligt for denne bruger at gendanne fabriksindstillingerne"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Rydder"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Deler ikke internet med andre enheder"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Fra"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Netdeling"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Brug ikke Wi-Fi-hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Del kun internet via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Del kun internet via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Del kun internet via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Del kun internet via USB og Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Del kun internet via USB og Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Del kun internet via Bluetooth og Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Del kun internet via USB, Bluetooth og Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Netdeling via USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Netdeling via Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Netdeling via Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Brug hotspot og netdeling til at give andre enheder adgang til internettet via din Wi-Fi- eller mobildataforbindelse. Apps kan også oprette et hotspot til at dele indhold med enheder i nærheden."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hjælp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilnetværk"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilabonnement"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Sms-app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vil du skifte sms-app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Vil du bruge <xliff:g id="NEW_APP">%1$s</xliff:g> i stedet for <xliff:g id="CURRENT_APP">%2$s</xliff:g> som din standardapp til sms?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Vil du skifte Wi-Fi-assistent?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Vil du bruge <xliff:g id="NEW_APP">%1$s</xliff:g> i stedet for <xliff:g id="CURRENT_APP">%2$s</xliff:g> til at administrere dine netværksforbindelser?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Vil du bruge <xliff:g id="NEW_APP">%s</xliff:g> til at administrere dine netværksforbindelser?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"SIM fra ukendt mobilselskab"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> har intet kendt website til provisionering"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Indsæt SIM-kort, og genstart"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Opret forbindelse til internettet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Seneste lokationsanmodninger"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokation for arbejdsprofil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Lokationstilladelse for apps"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Ryd adgang"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrolelementer"</string>
     <string name="force_stop" msgid="2681771622136916280">"Tving til at standse"</string>
+    <string name="archive" msgid="9074663845068632127">"Arkivér"</string>
+    <string name="restore" msgid="7622486640713967157">"Gendan"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Gendanner"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Gendanner."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Gendanner…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Gendanner…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"I alt"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Appstørrelse"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Appdata på USB-lager"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Pakkestørrelsen kunne ikke beregnes."</string>
     <string name="version_text" msgid="7628938665256107608">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Flyt"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arkivering mislykkedes"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> er arkiveret"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Gendannelsen mislykkedes"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Gendanner <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"En anden migrering er allerede i gang."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ikke nok lagerplads."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Appen findes ikke."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tilgængeligt skærmtastatur"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Administrer tastaturer på skærmen"</string>
     <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="6922850403920596246">"Aktiver Elastiktaster som hjælpefunktion til det fysiske tastatur"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Træge taster"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Aktivér Træge taster som hjælpefunktion til det fysiske tastatur"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Træge taster"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Aktiver Træge taster som hjælpefunktion til det fysiske tastatur"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tryk nederst til højre på touchpladen for at se mere"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Markørens hastighed"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Se bevægelser på touchpladen"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Gå til startskærmen"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Stryg opad med tre fingre et vilkårligt sted på touchpladen"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Gå tilbage"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sortér efter tidsforbrug"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sortér efter sidst anvendt"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sortér efter appnavn"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Sidst anvendt"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Sidst brugt"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"aldrig"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Brugstid"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Hjælpefunktioner"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Indstillinger for hjælpefunktioner"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Tryk tre gange for at forstørre"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Brug en genvej til forstørrelse"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Brug en genvej til forstørrelse med tre tryk"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Brug knappen til hjælpefunktioner til at åbne"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold lydstyrkeknapperne nede for at åbne"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tryk tre gange på skærmen for at åbne"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Tryk to gange på skærmen med to fingre for at åbne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Brug en bevægelse til at åbne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Brug bevægelsen for hjælpefunktioner"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tryk på knappen til hjælpefunktioner <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skærmen for at bruge denne funktion.\n\nDu kan skifte mellem funktioner ved at holde knappen til hjælpefunktioner nede."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tryk på knappen til hjælpefunktioner på din skærm for at bruge denne funktion."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Hold begge lydstyrkeknapper nede for at bruge denne funktion."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Du kan starte og stoppe forstørrelse ved at trykke tre gange på skærmen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Du kan starte og stoppe forstørrelse ved at trykke to gange på skærmen med to fingre."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Stryg opad fra bunden af skærmen med to fingre for at bruge denne funktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Stryg opad fra bunden af skærmen med tre fingre for at bruge denne funktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Stryg opad fra bunden af skærmen med to fingre for at bruge en hjælpefunktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med to fingre og holde dem nede."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Stryg opad fra bunden af skærmen med tre fingre for at bruge en hjælpefunktion.\n\nDu kan skifte mellem funktioner ved at stryge opad med tre fingre og holde dem nede."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Indst. for hjælpefunktionsknap"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Indstillinger for knap"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Genvej for <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Knap til hjælpefunktioner"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Bevægelse for hjælpefunktioner"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold lydstyrkeknapperne nede"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold lydstyrkeknapperne nede"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tryk to gange på skærmen med to 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="6863958573135995927">"tryk tre gange på skærmen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Få flere oplysninger om knappen til hjælpefunktioner og bevægelser for hjælpefunktioner"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Brug af knappen til hjælpefunktioner. Bevægelsen er ikke tilgængelig med navigation med tre knapper."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Få hurtigt adgang til hjælpefunktioner"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Sådan kommer du i gang"</b>\n"1. Gå til indstillingerne for hjælpefunktioner\n2. Vælg en funktion, og tryk på genvejen\n3. Vælg, om du vil bruge en knap eller en bevægelse for at tilgå funktionen"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Sådan kommer du i gang"</b>\n"1. Gå til indstillingerne for hjælpefunktioner\n2. Vælg en funktion, og tryk på genvejen\n3. Vælg knappen for at tilgå funktionen"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Sådan kommer du i gang&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gå til indstillinger for hjælpefunktioner&lt;br/&gt; {1,number,integer}. Vælg en funktion, og tryk på genvejen&lt;br/&gt; {2,number,integer}. Vælg, om du vil bruge en knap eller en bevægelse for at tilgå funktionen&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Sådan kommer du i gang&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gå til indstillinger for hjælpefunktioner&lt;br/&gt; {1,number,integer}. Vælg en funktion, og tryk på genvejen&lt;br/&gt; {2,number,integer}. Vælg den knap, du vil bruge for at tilgå funktionen&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Brug knap eller bevægelse"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokation"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Størrelse"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Afbryderknap afslutter opkald"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Stor musemarkør"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Gør musemarkøren mere synlig"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Brug mørkt tema i alle apps"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gælder for apps uden eget mørkt tema. Nogle apps kan have visningsproblemer, f.eks. ombyttede farver."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Fjern animationer"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Begrænser bevægelse på skærmen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monolyd"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Brug vibration og haptik"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibration for alarm"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibration for medier"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Tastaturvibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration ved opkald"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration ved notifikation"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback ved tryk"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuller"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Vil du standse <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Når du trykker på <xliff:g id="STOP">%1$s</xliff:g>, stoppes <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Slå fra"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Slå ikke fra"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vil du slå <xliff:g id="SERVICE">%1$s</xliff:g> fra?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Der er ikke installeret nogen tjenester"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Der er ikke valgt nogen tjeneste"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Ingen beskrivelse til rådighed."</string>
     <string name="settings_button" msgid="2195468788019730377">"Indstillinger"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"lysfølsomhed, fotofobi, mørkt tema, migræne, hovedpine, læsetilstand, nattilstand, dæmp lyset, hvidt punkt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Brugervenlighed, nem at bruge, nem adgang, hjælp, hjælpsom"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"syn, hørelse, blind, døv, mobilitet, fingerbevægelighed, hjælp, hjælpefunktion, brugervenlighed, nem adgang, hånd, assistance"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Forstørrelse af vindue, zoom, forstørrelse, nedsat syn, forstør, gør større"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Tekster, undertekster for hørehæmmede, undertekster, Livetransskribering, hørehæmmet, hørelsestab, CART, indtaling, undertekst"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"farvekontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorik, fingerfærdighed, mus"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"høreapparater, hørehæmmet, tab af hørelse, cochlear-implantater, lydforstærkere, lydprocessorer"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"mobilitet, ekstern mus, hovedmus, adaptiv mus, kørestol, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"høreapparater, hørehæmmet, tab af hørelse, cochlear-implantater, lydforstærkere, lydprocessorer, produkter til lydforstærkning"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hørehæmmet, hørelsestab, undertekster, teleprinter, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tre knapper"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"fingerbevægelighed, mobilitet, ældre, gigt, rsi, slagtilfælde, ufrivillige bevægelser, multipel sklerose, spastisk lammelse, rystelser, belastningsskade, hånd"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"forsinkelse, fingerbevægelighed, ældre"</string>
     <string name="print_settings" msgid="8519810615863882491">"Udskrivning"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Fra"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 udskrivningstjeneste er aktiveret}one{# udskrivningstjeneste er aktiveret}other{# udskrivningstjenester er aktiveret}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> tilbage"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> til batteriet er opladt"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Skærmtid"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tid i baggrunden"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Lavt batteriniveau"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Giv appen tilladelse til at køre i baggrunden"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Vil du begrænse baggrundsaktiviteten?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Hvis du begrænser en apps baggrundsaktivitet, kan det medføre, at den ikke fungerer korrekt"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Appen kan ikke begrænses, da batterioptimering er deaktiveret.\n\nAktivér batterioptimering for at begrænse appen."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Administrer batteriforbrug"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Tillad brug i baggrunden"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivér for at få opdateringer i realtid, deaktiver for at spare på batteriet"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ubegrænset"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimeret"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Begrænset"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Se apps med højest forbrug"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Opladning optimeres for at beskytte dit batteri"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Opladning optimeres for at hjælpe med at forlænge batteriets levetid"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Opladningen optimeres for at beskytte dit batteri"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Opladningen optimeres, mens enheden er i dockingstationen, for at hjælpe med at forlænge batteriets levetid"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Opladning er optimeret for at beskytte dit batteri"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Opladning er optimeret, mens enheden er i dockingstationen, for at hjælpe med at forlænge batteriets levetid"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Lader helt op"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"For at beskytte dit batteri optimeres opladningen, næste gang din tablet sættes i dockingstationen"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Få flere oplysninger om, hvad det betyder, når opladning er sat på pause"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Genoptag opladning"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Omfatter batterikrævende aktivitet i baggrunden"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Denne app vil kunne bruge batteri i baggrunden. Enheden løber muligvis tør for batteri hurtigere end forventet."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Fjern"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuller"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Oplad helt"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem med opladertilbehør"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Tjek opladningstilbehøret"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Få flere oplysninger om opladning med inkompatible strømadaptere"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batteriadministration"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Administrer automatisk apps"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"siden sidste fulde opladning"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Systemapps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Afinstallerede apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Andre"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Estimeret resterende tid"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Indtil den er fuldt opladet"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"I alt: Under et minut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Baggrund: Under et minut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Skærmtid: Under et minut"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Mindre end et minut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"I alt: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Baggrund: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Skærmtid: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"nu"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>-<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> og <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Diagram over batteriforbrug"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagram med batteriforbrug pr. dag"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagram med batteriforbrug pr. time"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Batteriniveau (i procent) fra <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> til <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Batteriforbrug siden sidste fulde opladning"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Batteriforbrug for <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Skærmtid siden sidste fulde opladning"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ringesignal i nødsituationer"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Angiv adfærd ved nødopkald"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sikkerheds­kopiering"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Til"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Fra"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sikkerhedskopiering og gendannelse"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personlige oplysninger"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sikkerhedskopiér data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobildata og Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Automatisk synk. af persondata"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Synkroniser arbejdsdata automatisk"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Automatisk synkronisering af private data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Skift cyklus..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dag i måneden, hvor cyklus for dataforbrug skal nulstilles"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ingen apps har brugt data i denne periode."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Navn"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Serveradresse"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-kryptering (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-hemmelighed"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifikator"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPsec-forhåndsdelt nøglekodning"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-brugercertifikat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-certifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-servercertifikat"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Vis avancerede valgmuligheder"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-søgedomæner"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-servere (f.eks. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Videresendelsesruter (f.eks. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Brugernavn"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Adgangskode"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Gem kontooplysninger"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(bruges ikke)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ingen verificering af serveren)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(modtaget fra serveren)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Denne VPN-type kan ikke være forbundet hele tiden"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Konstant VPN understøtter kun numeriske serveradresser"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Der skal angives en DNS-server for konstant VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-serveradressen skal være numerisk for altid aktiverede VPN-netværk"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"De indtastede oplysninger understøtter ikke konstant VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Annuller"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Annuller"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloker forbindelser uden VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vil du kræve VPN-forbindelse?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ikke sikkert. Opdater til et IKEv2 VPN-netværk"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Den ikke-understøttede VPN kunne ikke startes."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Vælg en VPN-profil, der altid skal være forbindelse til. Netværkstrafik tillades kun, når der er forbindelse til dette VPN-netværk."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ingen"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Et konstant VPN kræver en IP-adresse til både server og DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"GULE underretninger"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Modtag bulletiner om kidnapning af børn"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Gentag"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktivér Opkaldsstyring"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Giv denne tjeneste tilladelse til at styre, hvordan du foretager opkald."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Opkaldsstyring"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Mobilbaseret varsling"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Netværksudbydere"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Adgangspunkter (APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-status (SIM-kortrille %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Der blev skiftet SIM-kort."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Dine SIM-kort er ændret"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tryk for at konfigurere"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Spørg hver gang"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Du har ikke valgt endnu"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Seneste apps, standardapps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Apps i arbejdsprofilen har ikke adgang til notifikationsindstillingerne."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Adgangskoder og konti"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gemte adgangskoder, autofyld, synkroniserede konti"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Forslag til login og autofyld"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Standardapps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonede apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Opret en anden forekomst af appen, så du kan bruge to konti på samme tid."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betal, tryk, betalinger"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sikkerhedskopiering, sikkerhedskopiér"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"bevægelse"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ansigt, oplåsning, godkendelse, log ind"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ansigt, lås op, ansigtsoplåsning, godkendelse, log ind, fingeraftryk, biometri, biometrisk"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl version, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tekststørrelse, stor skrifttype, store bogstaver, stor skrifttype, stor tekst, nedsat syn, gør teksten større, større skrifttype, forstørrelse af skrifttype"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"altid tændt pauseskærm, AOD (always on ambient display)"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, læser"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastatur, haptisk teknologi, vibration"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Lydstyrke, vibration, Forstyr ikke"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Lydstyrke for medier"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Lydstyrke for castet indhold"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Aktivér lyde"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Livetekstning"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Undertekster til medier"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefonens højttalere"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablettens højttalere"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Enhedens højttalere"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Høretelefoner med ledning"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Lyden fra kompatible medieenheder bliver endnu bedre"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Fra"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Vis alt indhold i notifikationer"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Vis kun følsomt indhold, når skærmen er låst op"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Vis slet ingen notifikationer"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hvordan skal låseskærmen vises?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Hvad skal der vises på låseskærmen?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Låseskærm"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Vis alt indhold i arbejdsnotifikationer"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skjul følsomt arbejdsindhold"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"De seneste samtaler blev fjernet"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Samtalen blev fjernet"</string>
     <string name="clear" msgid="5092178335409471100">"Ryd"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Ryd <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioriterede og ændrede samtaler vises her"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Hvis du markerer en samtale som prioriteret eller foretager andre ændringer af samtaler, vises de her. \n\nSådan ændrer du samtaleindstillinger: \nStryg ned fra toppen af skærmen for at åbne rullepanelet, og hold derefter en samtale nede."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimer"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Dæmpning af notifikationer"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Anvend dæmpning på alle notifikationer"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Dæmp gradvist lydstyrken for notifikationer, når du får mange notifikationer i træk fra samme app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Anvend dæmpning på alle samtaler"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Sænk gradvist lydstyrken for notifikationer, når du får mange beskeder fra samme chat på kort tid"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Brug ikke dæmpning for notifikationer"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Sænk aldrig lydstyrken for notifikationer, uanset hvor mange notifikationer du får i træk fra samme app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrer, når enheden er ulåst"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrer kun, når skærmen er ulåst"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Anvend på arbejdsprofiler"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Anvend indstillingen for dæmpning af notifikationer fra din personlige profil på din arbejdsprofil"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-hjælpetjenester"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ingen installerede apps har anmodet om at blive kørt som VR-hjælpetjenester."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Vil du tillade, at <xliff:g id="SERVICE">%1$s</xliff:g> får adgang til VR-tjenesten?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Fra"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Appfastgørelse"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Med appfastgørelse kan du beholde den aktuelle app i visningen, indtil du frigør den. Denne funktion kan f.eks. anvendes til at give en ven, du har tillid til, mulighed for at spille et specifikt spil."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Når en app fastgøres, kan den fastgjorte app muligvis åbne andre apps og få adgang til personoplysninger. \n\nSådan bruger du appfastgørelse: 	\n1. Aktivér appfastgørelse 	\n2. Åbn Oversigt 	\n3. Tryk på appikonet øverst på skærmen, og tryk derefter på Fastgør"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Når en app fastgøres, kan den fastgjorte app muligvis åbne andre apps og få adgang til personoplysninger. \n\nHvis du vil dele din enhed med en anden på en sikker måde, kan du prøve at bruge en gæstebruger i stedet. \n\nSådan bruger du appfastgørelse: 	\n1. Aktivér appfastgørelse 	\n2. Åbn Oversigt 	\n3. Tryk på appikonet øverst på skærmen, og tryk derefter på Fastgør"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Når en app fastgøres, kan den fastgjorte app muligvis åbne andre apps og få adgang til private data. \n\nSådan bruger du appfastgørelse: 	\n{0,number,integer}. Slå appfastgørelse til 	\n{1,number,integer}. Åbn Oversigt 	\n{2,number,integer}. Tryk på appikonet øverst på skærmen, og tryk derefter på Fastgør"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Når en app fastgøres, kan den fastgjorte app muligvis åbne andre apps og få adgang til private data. \n\nHvis du vil dele din enhed med en anden på en sikker måde, kan du prøve at bruge en gæstebruger i stedet. \n\nSådan bruger du appfastgørelse: 	\n{0,number,integer}. Slå appfastgørelse til 	\n{1,number,integer}. Åbn Oversigt 	\n{2,number,integer}. Tryk på appikonet øverst på skærmen, og tryk derefter på Fastgør"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Når en app er fastgjort: \n\n•	 Personoplysninger kan muligvis tilgås \n		(f.eks. kontakter og mailindhold) \n•	 Den fastgjorte app kan muligvis åbne andre apps \n\nBrug kun appfastgørelse til brugere, du har tillid til."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Bed om oplåsningsmønster inden frigørelse"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Bed om pinkode inden frigørelse"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Bed om adgangskode inden frigørelse"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lås enheden ved frigørelse"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bekræft sletning af SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Bekræft, at du vil slette dit eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verificer din identitet, inden du rydder et eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Avanceret beskyttelse af hukommelsen (beta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Avanceret beskyttelse af hukommelsen"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ubrugte appindstillinger"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Sæt appaktivitet på pause ved inaktivitet"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Fjern tilladelser, slet midlertidige filer, og stop notifikationer"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Administrer appen, hvis den ikke bruges"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Fjern tilladelser, slet midlertidige filer, deaktiver notifikationer, og arkivér appen"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installerede apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant-apps"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Ledig"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Hukommelse, der bruges af apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app har brugt hukommelse inden for den seneste {time}}one{# app har brugt hukommelse inden for den seneste {time}}other{# apps har brugt hukommelse inden for den seneste {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Aktivér profilering af hukommelsesforbrug"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilering af hukommelsesforbrug kræver yderligere systemressourcer."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilering af hukommelse er deaktiveret"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Hyppighed"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimal forbrug"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Der blev ikke brugt nogen data"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Vis oven på andre apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Tillad visning over andre apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Tillad, at denne app vises oven på de andre apps, du bruger. Denne app kan registrere, hvor du trykker, eller ændre det, der vises på skærmen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Skift medieoutput"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Tillad at appen skifter medieoutput"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Giv denne app tilladelse til at vælge, hvilken forbundet enhed der afspiller lyd eller video fra andre apps. Hvis du giver tilladelse, kan denne app få adgang til en liste over tilgængelige enheder som f.eks. høretelefoner og højttalere og vælge, hvilken outputenhed der skal bruges til at streame eller caste lyd eller video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Adgang til alle filer"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Tillad admin­istrations­adgang til alle filer"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Giv denne app tilladelse til at læse, ændre og slette alle filer på denne enhed eller andre tilsluttede lagringsløsninger. Hvis du giver tilladelse til dette, kan appen få adgang til dine filer, uden du specifikt bliver gjort opmærksom på det."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Kan få adgang til alle filer"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Stemmeaktiverede apps"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Tillad stemmeaktivering"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Stemmeaktivering aktiverer godkendte apps håndfrit ved hjælp af stemmekommandoer. Indbygget adaptiv registrering sørger for, at dine private data forbliver beskyttet.\n\n"<a href="">"Få flere oplysninger om beskyttelse med adaptiv registrering"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notifikationer i fuld skærm"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Tillad notifikationer i fuld skærm fra denne app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Tillad appen at vise notifikationer, der fylder hele skærmen, når enheden er låst. Apps kan benytte denne mulighed til at fremhæve alarmer, indgående opkald og andre presserende notifikationer."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Dataadvarsel ved <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Datagrænse på <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Dataadvarsel ved <xliff:g id="ID_1">^1</xliff:g>/datagrænse på <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Mobilselskabets dataopgørelse kan afvige fra enhedens opgørelse."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Omfatter ikke data, der anvendes af mobilnetværk"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> brugt"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Konfigurer dataadvarsel"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Opdateret for <xliff:g id="ID_1">^2</xliff:g> siden"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Netop opdateret af <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Netop opdateret"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Se abonnement"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Se oplysninger"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Datasparefunktion"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Ubegrænset data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri end normalt i baggrunden"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri i forgrunden"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brugte mere batteri end normalt i forgrunden"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Afvigelse i batteriforbrug"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Højt batteriforbrug"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Højt batteriforbrug i baggrunden"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Højt batteriforbrug i forgrunden"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Felter for udviklere til Kvikmenu"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Deaktiver timeout for adb-godkendelser"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Deaktiver automatisk tilbagekaldelse af adb-godkendelser for systemer, der ikke har genoprettet forbindelsen indenfor standardperioden (7 dage) eller den brugerkonfigurerede tidsperiode (mindst 1 dag)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Sporing af Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensorer er slået fra"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Indstillinger for arbejdsprofil"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Søg efter kontakter ved hjælp af indekset for arbejdsprofil i personlige apps"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"systemnavigation, navigering med to knapper, navigering med tre knapper, navigering med bevægelser, stryg"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Stryg for at aktivere assistenten"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Stryg opad fra et af de nederste hjørner for at aktivere appen for din digitale assistent."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Stryg opad fra et af de nedre hjørner for at aktivere appen for din digitale assistent."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold knappen Hjem nede for at aktivere Assistent"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Hold knappen Hjem nede for at aktivere appen for den digitale assistent."</string>
     <string name="low_label" msgid="6525629096999711220">"Lav"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Autofyld-tjeneste"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Standardtjeneste til autofyld"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Adgangskoder"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Adgangskoder, adgangsnøgler og datatjenester"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Yderligere udbydere"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Foretrukne tjeneste"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Yderligere tjenester"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# adgangskode}one{# adgangskode}other{# adgangskoder}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatisk, udfyld, autofyld, adgangskode"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, adgangsnøgle, adgangskode"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatisk, udfyldning, autofyld, data, adgangsnøgle, adgangskode"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Ændring"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Åbn"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Der er ikke valgt noget"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Sørg for, at du har tillid til denne app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; anvender indholdet af din skærm til at fastslå, hvad der kan udfyldes automatisk."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Vil du bruge &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; bruger det, der vises på din skærm, til at afgøre, hvad der kan udfyldes automatisk. Nye adgangskoder, adgangsnøgler og andre nye oplysninger gemmes her fra nu af."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Adgangskoder, adgangsnøgler og datatjenester"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Brug &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fra nu af gemmes nye adgangskoder, adgangsnøgler og andre oplysninger her. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan bruge, hvad der er på din skærm, til at vurdere, hvad der kan udfyldes automatisk."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Foretrukken tjeneste til adgangskoder, adgangsnøgler og autofyld"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vil du deaktivere %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vil du deaktivere denne tjeneste?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Gemte oplysninger som f.eks. adgangskoder, adgangsnøgler, betalingsmetoder og andre oplysninger udfyldes ikke, når du logger ind. Hvis du vil bruge dine gemte oplysninger, skal du vælge en adgangskode, en adgangsnøgle eller en datatjeneste."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Adgangskoder, adgangsnøgler og autofyld"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Vil du deaktivere alle tjenester?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Adgangskoder, adgangsnøgler og andre gemte oplysninger kan ikke udfyldes automatisk, når du logger ind"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Skift din foretrukne tjeneste til &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fra nu af gemmes nye adgangskoder, adgangsnøgler og andre oplysninger her. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan bruge, hvad der er på din skærm, til at vurdere, hvad der kan udfyldes automatisk"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Vil du bruge %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Deaktiver"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Skift"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Du kan kun have 5 tjenester aktiveret"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Deaktiver mindst 1 tjeneste for at tilføje en anden"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s bruger det, der vises på din skærm, til at afgøre, hvad der kan udfyldes automatisk."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Grænse for antal adgangskoder, adgangsnøgler og datatjenester"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Du kan have op til 5 aktive adgangskoder, adgangsnøgler og datatjenester ad gangen. Deaktiver en tjeneste, hvis du vil tilføje en ny."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Grænse for antal adgangskoder, adgangsnøgler og datatjenester"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Du kan have op til 5 aktive adgangskoder, adgangsnøgler og datatjenester ad gangen. Deaktiver en tjeneste, hvis du vil tilføje en ny."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Deaktiver"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autofyld"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logningsniveau"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Det er kun apps med fejlretningsmuligheder, som kan få ændret appkompatibiliteten. Installer en app med fejlretningsmuligheder, og prøv igen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Er afhængig af en anden indstilling"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d konti"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Enhedens navn"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Grundlæggende oplysninger"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Juridiske og lovmæssige oplysninger"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Giv appen tilladelse til at åbne, når der scannes et NFC-tag.\nHvis denne tilladelse er aktiveret, kan appen vælges, når der registreres et tag."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Afspil medier på"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Afspil <xliff:g id="LABEL">%s</xliff:g> på"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Lyden afspilles på"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Denne enhed"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Enheden kan ikke bruges under opkald"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Besvar opkald på"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Slå lyden fra"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Hvis du vil aktivere funktionen, skal du først ændre \"Hold afbryderknappen nede\" til menuen for afbryderknappen."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Netværksoplysninger"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Din enheds navn er synligt for apps på din telefon. 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="devices_title" msgid="649715719278562515">"Enheder"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Vælg netværk"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Afbrudt"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Navn"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Farve (anvendes af kompatible apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Gem"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Brug SIM-kort"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Brug dette SIM-kort"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Fra"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Fjern SIM-kortet for at deaktivere det"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tryk for at aktivere <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ryd SIM-kort"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Fjern SIM-kortet for at deaktivere det"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tryk for at aktivere dit SIM-kort fra <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Ryd eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Foretrukken netværkstype"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Skift driftstilstand for netværket"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Foretrukken netværkstype"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Kontakt din netværksudbyder for at få oplyst priser."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Dataforbrug i apps"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ugyldig netværkstilstand <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorer."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellitbeskeder"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Send og modtag beskeder via satellit. Inkluderet på din konto."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Send og modtag beskeder via satellit. Ikke inkluderet på din konto."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellitbeskeder"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Om satellitbeskeder"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Du kan sende og modtage beskeder via satellit som en del af en kvalificeret <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-konto"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Dit <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-abonnement"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Din konto omfatter satellitbeskeder"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Din konto omfatter ikke satellitbeskeder"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Tilføj satellitbeskeder"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Sådan fungerer det"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Når du ikke har et mobilnetværk"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Din telefon opretter automatisk forbindelse til en satellit. Du opnår den bedst mulige forbindelse, hvis du står udenfor med frit udsyn til himlen."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Når din telefon har oprettet forbindelse til en satellit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Du kan sende en besked til alle, herunder nødtjenester. Din telefon opretter forbindelse til et mobilnetværk igen, når det er tilgængeligt."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellitbeskeder kan tage længere tid og er kun tilgængelige i nogle områder. Vejret og visse fysiske betingelser kan påvirke din satellitforbindelse. Opkald via satellit er ikke tilgængeligt.\n\nDer kan gå noget tid, før ændringer af din konto vises under Indstillinger. Kontakt <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for at få flere oplysninger."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Flere oplysninger om satellitbeskeder"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Adgangspunkter"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Utilgængelig ved forbindelse til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vil du skifte til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vil du skifte til at bruge SIM-kort?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Vil du bruge <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Der kan kun være ét aktivt SIM-kort ad gangen.\n\nSelvom du skifter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, opsiges din tjeneste fra <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ikke."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Der kan kun være 1 aktivt eSIM ad gangen.\n\nDin <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-tjeneste opsiges ikke, hvisdu skifter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Der kan kun være ét aktivt SIM-kort ad gangen.\n\nSelvom du skifter SIM-kort, opsiges din tjeneste fra <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ikke."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Der kan kun være 1 aktivt SIM ad gangen.\n\nDin <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-tjeneste opsiges ikke, hvis du skifter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Der kan kun være 1 aktivt eSIM ad gangen.\n\nDin <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-tjeneste opsiges ikke, hvis du skifter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Der kan kun være 1 aktivt SIM ad gangen.\n\nDin <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-tjeneste opsiges ikke, hvis du skifter."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Du kan ikke bruge 2 SIM-kort ad gangen. Hvis du vil bruge <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, skal du deaktivere et andet SIM-kort."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Skift til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Deaktiver <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Din tjeneste deaktiveres ikke, når du deaktiverer SIM-kortet"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Opretter forbindelse til netværket…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Skifter til <xliff:g id="CARRIER_NAME">%1$s</xliff:g> til opkald og beskeder…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Det lykkedes ikke at skifte mobilselskab"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Det lykkedes ikke at skifte mobilselskab på grund af en fejl."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiverer dit SIM-kort…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Skifter til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Det var ikke muligt at skifte SIM-kort"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Noget gik galt. Det var ikke muligt at skifte SIM-kort."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vil du deaktivere <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vil du deaktivere SIM-kortet?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Deaktiverer SIM-kort<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Mobilselskabet kunne ikke deaktiveres"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Noget gik galt, og dit mobilselskab kunne ikke deaktiveres."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM-kortet kan ikke deaktiveres"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Noget gik galt, og dit SIM-kort kunne ikke deaktiveres."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Vil du bruge to SIM-kort?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Denne enhed kan have to aktive SIM-kort på samme tid. Hvis du vil fortsætte med kun at bruge ét SIM-kort ad gangen, kan du trykke på \"Nej tak\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Vil du genstarte enheden?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nej tak"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuller"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Skift"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Deaktiver"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-kortet kunne ikke aktiveres"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prøv at aktivere SIM-kortet igen. Genstart enheden, hvis problemet fortsætter."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Konfigurer dit SIM-kort"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Angiv dine præferencer for mobilnetværket for at bruge flere SIM-kort på denne enhed"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Navngiv dine SIM-kort"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Du kan se disse etiketter, når du foretager opkald, sender beskeder, bruger data og under Indstillinger"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-etiket"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiket"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Vælg, hvilke SIM-kort du vil bruge"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Du kan bruge 2 SIM-kort ad gangen"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Angiv dine primære SIM-kort"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Vælg, hvilke SIM-kort der skal bruges som standard i forbindelse med opkald, beskeder og data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Dine primære SIM-kort"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Opkald"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Beskeder"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatisk dataskift"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Brug data fra begge SIM-kort afhængigt af dækning og tilgængelighed"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Kun data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Konfigurer"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Næste"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Aktiverer <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilnetværk"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonnummer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-etiket og -farve"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netværksaktivering"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Nyt mobilselskab"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> er aktiv"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Dit SIM-kort fra <xliff:g id="CARRIER_NAME">%1$s</xliff:g> er aktiveret"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tryk for at opdatere indstillingerne for SIM-kort"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Skiftet til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Der er skiftet til et andet mobilselskab"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Dit mobilnetværk er ændret"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Konfigurer dit andet SIM-kort"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Vælg dit aktive SIM-kort, eller brug to SIM-kort samtidigt"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Vælg et nummer, du vil bruge"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Der er 1 tilgængeligt nummer på denne enhed, men der kan kun bruges ét ad gangen}=2{Der er 2 tilgængelige numre på denne enhed, men der kan kun bruges ét ad gangen}one{Der er # tilgængeligt nummer på denne enhed, men der kan kun bruges ét ad gangen}other{Der er # tilgængelige numre på denne enhed, men der kan kun bruges ét ad gangen}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiverer<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Aktiveringen kan ikke gennemføres lige nu"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Vælg det SIM-kort, du vil bruge"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Der er 1 tilgængeligt SIM-kort på denne enhed, men der kan kun bruges ét ad gangen}=2{Der er 2 tilgængelige SIM-kort på denne enhed, men der kan kun bruges ét ad gangen}one{Der er # tilgængeligt SIM-kort på denne enhed, men der kan kun bruges ét ad gangen}other{Der er # tilgængelige SIM-kort på denne enhed, men der kan kun bruges ét ad gangen}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Aktiverer<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Dette SIM-kort kan ikke aktiveres lige nu"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Vil du bruge <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> anvendes til mobildata, opkald og sms-beskeder."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Der er ingen tilgængelige aktive SIM-kort"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Hvis du senere vil bruge mobildata, opkaldsfunktioner og sms, kan du gå til dine netværksindstillinger"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-kort"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vil du rydde dette eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Hvis du rydder dette SIM-kort, fjernes tjenesten fra <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> på denne enhed.\n\nTjenesten fra <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> opsiges ikke."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Dette fjerner <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-tjenesten på denne enhed, men dit <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-abonnement opsiges ikke."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ryd"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Rydder SIM-kort…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-kortet kan ikke ryddes"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Dette SIM-kort kan ikke ryddes på grund af en fejl.\n\nGenstart din enhed, og prøv igen."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Sletter eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Dette eSIM kan ikke ryddes"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Noget gik galt, og dette eSIM blev ikke ryddet.\n\nGenstart din enhed, og prøv igen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Opret forbindelse til enheden"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Appen <xliff:g id="APPNAME">%1$s</xliff:g> vil gerne have midlertidig adgang til dit Wi-Fi-netværk for at oprette forbindelse til din enhed"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Der blev ikke fundet nogen enheder. Sørg for, at enhederne er tændt, og at der kan oprettes forbindelse til dem."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Nødopkald"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Nødopkald via Wi‑Fi-opkald understøttes ikke af dit mobilselskab.\nEnheden skifter automatisk til et mobilnetværk for at foretage et nødopkald.\nDer kan kun foretages nødopkald i områder med mobilnetværksdækning."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Brug Wi‑Fi til opkald for at få en bedre kvalitet"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Alternativ løsning til opkald"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Hvis <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> roamer eller ikke er tilgængeligt, kan du bruge mobildata fra dit SIM-kort til <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-opkald."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"alternativ løsning til opkald"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Indgående mms-besked"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Mms-beskeden kan ikke sendes"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tryk for at tillade mms-beskeder via <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>, når mobildata er slået fra"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Oplysninger om din arbejdspolitik"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Indstillinger, som administreres af din it-administrator"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafikprocessor"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Genstart med sidestørrelsen 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Genstart enheden med en sidestørrelse på 16 kB, der understøtter kernen"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Vil du genstarte med en sidestørrelse på 16 kB, der er kompatibel med kernen?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ADVARSEL! Nogle apps er muligvis ikke kompatible med denne tilstand. Enheden genstartes efter bekræftelsen."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Vil du genstarte med en sidestørrelse på 4 kB, der er kompatibel med kernen?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Enheden genstartes efter bekræftelsen."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Sidestørrelsen kunne ikke opdateres til 16 kB, der er kompatibel med kernen."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Anvender ændringer"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Håndtering af fejlrapport"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Afgør, hvilken app der håndterer genvejen til fejlrapporten på din enhed."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personlig"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Giv apps, som kan vises over andre apps, tilladelse til at overlejre skærme fra appen Indstillinger"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Tillad imiteret modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Tillad, at denne enhed anvender tjenesten til imitation af modem til instrumenteringstest. Undlad at aktivere dette under normal brug af telefonen"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Deaktiver beskyttelse ved skærmdeling"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Deaktiverer systemaktiveret app- og notifikationsbeskyttelse ved skærmdeling"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Medier"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fastgør medieafspiller"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Medieafspilleren forbliver åben i Kvikmenu, så du hurtigt kan genoptage afspilningen"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Vis medier på låseskærmen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Medieafspilleren forbliver åben på låseskærmen, så du hurtigt kan genoptage afspilningen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Vis medieforslag"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Vis Assistent-medieanbefalinger"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Baseret på din aktivitet"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Skjul afspiller"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Vis afspiller"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"Medier"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Tillad udvidelser for kamerasoftware"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Aktiverer implementeringen af standardsoftware for avancerede kamerafunktioner, f.eks. Eyes Free-videooptagelser."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth aktiveres"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-kort"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiv"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inaktiv"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Til"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Fra"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Standard til <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"opkald"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"sms"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Lyden fra kompatible medieenheder bliver endnu bedre"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Registrering af hovedbevægelser"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Lyden ændrer sig, når du bevæger dit hoved, for at opnå en mere naturlig lyd"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synkroniser tilladelser"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Giv <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> de samme apptilladelser, som du har givet på <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synkroniser tilladelser fra telefonen"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Giv dit ur de samme apptilladelser, som denne telefon har"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Type af lydenhed"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Ukendt"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Højttaler"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Middel"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Høj"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Denne app kan kun åbnes i 1 vindue"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Til"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Fra"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Fra"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Fra"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Til"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Fra"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Til"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Fra"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Gør lyse skærme mørke og mørke skærme lyse"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom ind på skærmen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Fra"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Fra"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning af vildledende apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Tjek appaktivitet for phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Brug scanning til at registrere vildledende apps"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Brug scanning til at registrere vildledende arbejdsapps"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Der er nu konfigureret en adgangskode"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Vis markøren, når du holder den over indhold"</string>
 </resources>
diff --git a/res/values-de/arrays.xml b/res/values-de/arrays.xml
index de855c4..8e9bdc4 100644
--- a/res/values-de/arrays.xml
+++ b/res/values-de/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Verfügbar"</item>
     <item msgid="6096962300722555553">"Außerhalb des Bereichs"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Systemstandard verwenden: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Nach 1 Minute"</item>
     <item msgid="1574040255478150028">"Nach 5 Minuten"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-de/strings.xml b/res/values-de/strings.xml
index 0e80532..1067cb1 100644
--- a/res/values-de/strings.xml
+++ b/res/values-de/strings.xml
@@ -28,6 +28,7 @@
     <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="dev_settings_disabled_warning" msgid="6971867026249671244">"Bitte aktiviere die Entwickleroptionen zuerst."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Nur Administratoren können auf Entwicklereinstellungen zugreifen."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In Betrieb"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Außer Betrieb"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Beim Zuklappen des Geräts wird das Frontdisplay eingeschaltet"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Nur Spiele, Videos und mehr"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Frontdisplay wird für Apps eingeschaltet, die das Display aktiv lassen"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Zum Fortfahren hochwischen"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Wenn du die App nach dem Zuklappen weiter verwenden möchtest, kannst du auf dem Frontdisplay nach oben wischen; tust du nichts, wird das Display nach ein paar Sekunden gesperrt"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nie"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Beim Zuklappen des Geräts wird das Frontdisplay gesperrt"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"„Automatisch drehen“ verwenden"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Ähnlich"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Klingeltöne und Wecker"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio bei Anrufen"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Medien"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Benachrichtigungen &amp; Systemtöne"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Medien- und Systemtöne"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Benachrichtigungen"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Standardmäßig wird die Audioausgabe durch individuelle Apps bestimmt"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Unbenanntes Bluetooth-Gerät"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Suche läuft"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Abbrechen"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audio deaktivieren"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Deaktiviert die Bluetooth LE Audio-Funktion, wenn das Gerät LE Audio-Hardwarefunktionen unterstützt."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio-Modus"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Ein/Aus für LE Audio in Gerätedetails"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Zulassungsliste für Bluetooth LE-Audio aktivieren"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Aktiviert die Zulassungslistenfunktion für Bluetooth LE-Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio-Zulassungsliste umgehen"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio wird standardmäßig verwendet, selbst wenn ein LE Audio-Peripheriegerät nicht die Kriterien der Zulassungsliste erfüllt."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediengeräte"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Anrufgeräte"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andere Geräte"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gespeicherte Geräte"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Mit Konto verknüpft"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Zuvor mit Konto verwendet"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth wird aktiviert, um das Koppeln zu ermöglichen"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Verbindungs­einstellungen"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Zuletzt verbundene Geräte"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth aktiviert"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Alle anzeigen"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Alle anzeigen"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Eingabestift"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Drücken der Eingabestifttaste"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Arbeitsprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Textfelder ausfüllen"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Drücken der Taste am Eingabestift ignorieren"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Eingabestift"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audiofreigabe"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audioinhalte freigeben"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Anrufe und Wecker"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Über QR-Code mit einem Audiostream verbinden"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Keine Audiostreams in der Nähe gefunden."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum &amp; Uhrzeit"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Löschen"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s zu bevorzugten Sprachen hinzufügen?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Damit teilst du Apps und Websites mit, dass du auch diese Sprache verstehst."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Hierdurch werden deine Geräteinstellungen und deine regionalen Einstellungen geändert."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Ändern"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nicht verfügbar"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Samstag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Wenn eine App keine regionalen Einstellungen unterstützt, werden für sie stattdessen ihre Standard-Spracheinstellungen verwendet."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Weitere Informationen zu Spracheinstellungen."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Zusätzliche Einstellungen"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Anrede"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Anrede prüfen"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Du kannst die Anrede festlegen, um zu personalisieren, wie Apps dich ansprechen."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nicht angegeben"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Weiblich"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Männlich"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Ausgewählte Sprache entfernen?}other{Ausgewählte Sprachen entfernen?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text wird in einer anderen Sprache angezeigt."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Du kannst nicht alle Sprachen entfernen"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Standort"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Standort verwenden"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Aus"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{An: # App hat Zugriff auf den Standort}other{An: # Apps haben Zugriff auf den Standort}}"</string>
+    <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{An / # App hat Zugriff auf den Standort}other{An / # 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_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="5329024810729665156">"Weitere Informationen zu Standorteinstellungen"</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="3574930966097093550">"Du kannst den Standortzugriff in den Einstellungen &gt; „Sicherheit und Datenschutz“ &gt; „Datenschutzeinstellungen“ ändern"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Konten"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sicherheit"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Verschlüsselung &amp; Anmeldedaten"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Die besten Ergebnisse erzielst du mit einem Displayschutz, der das Zertifikat „Made for Google“ hat. Bei anderen Displayschutzfolien wird der Fingerabdruck deines Kindes möglicherweise nicht erkannt."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Mit Smartwatch entsperren"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Wenn du die Entsperrung per Gesichtserkennung und die Entsperrung per Fingerabdruck einrichtest, wirst du auf dem Smartphone nach deinem Fingerabdruck gefragt, wenn du eine Maske trägst oder dich im Dunkeln befindest.\n\nDu kannst dein Gerät mit deiner Smartwatch entsperren, wenn dein Gesicht oder dein Fingerabdruck nicht erkannt werden."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Du kannst dein Gerät mit deiner Smartwatch entsperren, wenn dein Fingerabdruck nicht erkannt wird."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Du kannst dein Gerät mit deiner Smartwatch entsperren, wenn dein Gesicht nicht erkannt wird."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Wenn du auf dem Smartphone die Entsperrung per Gesichtserkennung und die Entsperrung per Fingerabdruck einrichtest, wirst du im Dunkeln oder beim Tragen einer Maske nach deinem Fingerabdruck gefragt.\n\n„Mit Smartwatch entsperren“ ist eine weitere bequeme Möglichkeit, dein Smartphone zu entsperren, z. B. wenn deine Finger nass sind oder dein Gesicht nicht erkannt wird."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"„Mit Smartwatch entsperren“ ist eine weitere bequeme Möglichkeit, dein Smartphone zu entsperren, z. B. wenn dein Fingerabdruck nicht erkannt wird."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"„Mit Smartwatch entsperren“ ist eine weitere bequeme Möglichkeit, dein Smartphone zu entsperren, z. B. wenn dein Gesicht nicht erkannt wird."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Fingerabdruck oder Smartwatch für Folgendes verwenden"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Gesicht oder Smartwatch für Folgendes verwenden"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Gesicht, Fingerabdruck oder Smartwatch für Folgendes verwenden"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"„Mit Smartwatch entsperren“ ist eine weitere bequeme Möglichkeit, das Smartphone zu entsperren, z. B. wenn deine Finger nass sind oder dein Gesicht nicht erkannt wird.\n\nDu kannst das Smartphone in den folgenden Fällen mit deiner Smartwatch entsperren:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Nicht jetzt"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Weiter"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mehr"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"So gehts"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Deine Smartwatch muss entsperrt sein und sich an deinem Handgelenk sowie in Reichweite des Smartphones befinden. Während du die Smartwatch am Handgelenk trägst, musst du sie nicht noch einmal entsperren."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Wenn dieses Smartphone entsperrt ist, wirst du auf der Smartwatch benachrichtigt. Wenn es versehentlich entsperrt wurde, tippe auf die Benachrichtigung, um das Smartphone wieder zu sperren."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Du hast die Kontrolle"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Du kannst deine Smartwatch jederzeit in den Einstellungen aus „Mit Smartwatch entsperren“ entfernen"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Auf eine Benachrichtigung tippen"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Auf dem Sperrbildschirm nach oben wischen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Smartwatch auswählen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Verfügbare Smartwatches"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Abbrechen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Bestätigen"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Fertig."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Du kannst dieses Smartphone jetzt mit deiner Smartwatch entsperren, indem du auf dem Sperrbildschirm nach oben wischst oder auf eine Benachrichtigung tippst"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Fertig"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Mit Smartwatch entsperren"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Du kannst dieses Smartphone mit deiner Smartwatch entsperren, indem du auf dem Sperrbildschirm nach oben wischst oder auf eine Benachrichtigung tippst"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Wenn du „Mit Smartwatch entsperren“ verwenden möchtest, muss deine Smartwatch entsperrt und an deinem Handgelenk sein. Außerdem muss es sich in Reichweite des Smartphones befinden und mit diesem verbunden sein. Wenn die Verbindung unterbrochen wird, musst du das Smartphone entsperren, um „Mit Smartwatch entsperren“ verwenden zu können.\n\nHinweis:\nFür diese Funktion kann immer nur eine Smartwatch auf einmal eingerichtet sein. Wenn du eine andere Smartwatch einrichten möchtest, musst du zuerst die aktuelle löschen."</string>
+    <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 &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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sicherheit"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Datenschutz"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Arbeitsprofil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privater Bereich"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Hier kannst du deine privaten Apps verstecken und sperren"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Du kannst für interne Apps einen separaten Bereich nutzen, der sich ausblenden oder sperren lässt"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Sperrmethode für privaten Bereich"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Du kannst zum Entsperren des privaten Bereichs dieselbe Methode wie für das Entsperren deines Geräts verwenden oder aber eine andere Sperrmethode einrichten"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Displaysperre des Geräts verwenden"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Entsperrung per Gesichtserkennung und Fingerabdruck"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Entsperrung per Fingerabdruck"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Entsperrung per Gesichtserkennung"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Zum Einrichten tippen"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Entsperrung per Fingerabdruck für den privaten Bereich"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Entsperrung per Gesichtserkennung für den privaten Bereich"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Entsperrmöglichkeiten"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Gleiche Methode wie für Displaysperre des Geräts verwenden"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Neue Sperrmethode für privaten Bereich festlegen?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Privaten Bereich automatisch sperren"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Du kannst deinen privaten Bereich automatisch sperren lassen, wenn du dein Gerät längere Zeit nicht verwendest"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Jedes Mal, wenn Gerät gesperrt wird"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Nach 5 Minuten Inaktivität"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nie"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ausblenden, wenn gesperrt"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Privaten Bereich ausblenden, wenn gesperrt"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Du kannst den privaten Bereich in deiner App-Liste ausblenden, damit niemand weiß, dass diese Funktion auf deinem Gerät aktiviert ist"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Auf privaten Bereich zugreifen, wenn ausgeblendet"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Gib in der App-Liste „privater Bereich“ in die Suchleiste ein"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tippe auf die Kachel für den privaten Bereich"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Privaten Bereich entsperren"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Aus"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"An"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Privaten Bereich löschen"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Privaten Bereich löschen?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Dein privater Bereich wird von deinem Gerät entfernt. Sämtliche internen Apps und Daten werden gelöscht. Diese Aktion lässt sich nicht rückgängig machen."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Die folgenden Konten werden aus deinem privaten Bereich entfernt:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Löschen"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Privater Bereich wird gelöscht…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Das kann einen Moment dauern"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privater Bereich gelöscht"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Privater Bereich konnte nicht gelöscht werden"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privates Profil entsperrt"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Displaysperre einrichten"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Richte zur Nutzung deines privaten Bereichs auf dem Gerät die Displaysperre ein"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Displaysperre einrichten"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Abbrechen"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Abbrechen"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Einrichten"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Privaten Bereich einrichten"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Du kannst für interne Apps einen separaten Bereich nutzen, der sich ausblenden oder sperren lässt"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"So funktionierts"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Auf deinen privaten Bereich kannst du vom unteren Teil deiner App-Liste aus zugreifen"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps im privaten Bereich sind durch eine Sperre geschützt"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Benachrichtigungen aus Apps im privaten Bereich werden nicht angezeigt, wenn dieser gesperrt ist"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Wenn dein privates Profil gesperrt ist, werden Apps in deinem privaten Profil unter „Berechtigungsmanager“, „Privatsphäredashboard“ und in anderen Einstellungen nicht angezeigt.\n\nDein privates Profil kann nicht auf ein neues Gerät übertragen werden. Du musst ein weiteres privates Profil einrichten, wenn du es auf einem anderen Gerät verwenden möchtest.\n\nJeder, der dein Gerät mit einem Computer verbindet oder auf dem Gerät schädliche Apps installiert, kann möglicherweise auf dein privates Profil zugreifen."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Der private Bereich wird eingerichtet…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Benachrichtigungen von Apps im privaten Bereich werden nicht angezeigt, wenn dieser gesperrt ist"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Privaten Bereich entsperren, um Fotos oder Dateien zu teilen"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Einige Apps sind bereits in deinem privaten Bereich installiert"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Der private Bereich konnte nicht eingerichtet werden"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Noch einmal versuchen"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Privaten Bereich mit Displaysperre entsperren?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Du kannst zum Entsperren des privaten Bereichs dieselbe Methode wie für das Entsperren deines Geräts verwenden oder aber eine andere Sperrmethode einrichten"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Displaysperre verwenden"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Neue Sperre auswählen"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Fertig!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Ruf deine App-Liste auf und scrolle nach unten, um auf deinen privaten Bereich zuzugreifen"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Fertig"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scrolle nach unten, um den privaten Bereich zu finden"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Anmelden"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Melde dich in einem Konto an, um es in deinem privaten Bereich zu nutzen"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Nicht jetzt"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Weiter"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Sperre für privaten Bereich auswählen"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Du kannst deinen privaten Bereich mit deinem Fingerabdruck entsperren. Aus Sicherheitsgründen benötigst du bei dieser Option eine alternative Sperre."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"PIN für privaten Bereich einrichten"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Passwort für privaten Bereich einrichten"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Muster für privaten Bereich einrichten"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Du kannst bis zu <xliff:g id="COUNT">%d</xliff:g> Fingerabdrücke hinzufügen."</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du hast die maximale Anzahl an Fingerabdrücken hinzugefügt"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Es können keine Fingerabdrücke mehr hinzugefügt werden"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Muster"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Passwort"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Displaysperre löschen?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Alle Arten der Geräteentsperrung entfernen?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Profilschutz entfernen?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Ein Muster schützt dein Smartphone, falls es verloren geht oder gestohlen wird"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Ein Muster schützt dein Smartphone, falls es verloren geht oder gestohlen wird.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Dadurch wird das Fingerabdruckmodell gelöscht, das auf deinem Gerät gespeichert ist. Außerdem wird dein Gesichtsmodell dauerhaft und sicher gelöscht. Du kannst dein Gesicht oder deinen Fingerabdruck nicht mehr zur Authentifizierung in Apps verwenden."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Eine PIN schützt dein Smartphone, falls es verloren geht oder gestohlen wird"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Du verlierst gespeicherte Daten wie deine PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karten, die für kontaktloses Bezahlen eingerichtet wurden, werden entfernt.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets und andere Apps, für die die Entsperrung des Geräts erforderlich ist, funktionieren möglicherweise nicht mehr richtig."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Eine PIN schützt dein Smartphone, falls es verloren geht oder gestohlen wird.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dadurch wird auch das Fingerabdruckmodell gelöscht, das auf deinem Gerät gespeichert ist. Du kannst deinen Fingerabdruck dann nicht mehr zur Authentifizierung in Apps verwenden."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Du verlierst gespeicherte Daten wie deine PIN und dein Fingerabdruckmodell.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karten, die für kontaktloses Bezahlen eingerichtet wurden, werden entfernt.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets und andere Apps, für die die Entsperrung des Geräts erforderlich ist, funktionieren möglicherweise nicht mehr richtig."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Eine PIN schützt dein Smartphone, falls es verloren geht oder gestohlen wird.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Außerdem wird dein Gesichtsmodell dauerhaft und sicher gelöscht. Du kannst dein Gesicht nicht mehr zur Authentifizierung in Apps verwenden."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Du verlierst gespeicherte Daten wie deine PIN und dein Gesichtsmodell.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karten, die für kontaktloses Bezahlen eingerichtet wurden, werden entfernt.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets und andere Apps, für die die Entsperrung des Geräts erforderlich ist, funktionieren möglicherweise nicht mehr richtig."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Eine PIN schützt dein Smartphone, falls es verloren geht oder gestohlen wird.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dadurch wird das Fingerabdruckmodell gelöscht, das auf deinem Gerät gespeichert ist. Außerdem wird dein Gesichtsmodell dauerhaft und sicher gelöscht. Du kannst dein Gesicht oder deinen Fingerabdruck nicht mehr zur Authentifizierung in Apps verwenden."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Du verlierst gespeicherte Daten wie deine PIN, dein Gesichtsmodell und dein Fingerabdruckmodell.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karten, die für kontaktloses Bezahlen eingerichtet wurden, werden entfernt.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets und andere Apps, für die die Entsperrung des Geräts erforderlich ist, funktionieren möglicherweise nicht mehr richtig."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Ein Passwort schützt dein Smartphone, falls es verloren geht oder gestohlen wird"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Ein Passwort schützt dein Smartphone, falls es verloren geht oder gestohlen wird.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Mit <xliff:g id="DEVICE_NAME">%1$s</xliff:g> koppeln?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Neues Mitglied zu koordinierten Geräten hinzufügen"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Bestätigen, um den anderen Teil des Audiogeräts hinzuzufügen"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-Kopplungscode"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Gib den Kopplungscode ein und tippe dann auf die Eingabetaste."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Die PIN enthält Buchstaben oder Symbole."</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Muss aus 16 Ziffern bestehen"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Eventuell musst du diese PIN auch auf dem anderen Gerät eingeben."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Eventuell musst du diesen Zugangscode auch auf dem anderen Gerät eingeben."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Bestätigen, um die Geräte in koordinierter Art und Weise zu koppeln"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Bestätigen, um mit Audiogerät zu koppeln"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Zugriff auf meine Kontakte und meine Anrufliste zulassen"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Auch den Zugriff auf Kontakte und Anruflisten erlauben"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Die Daten werden für Anrufbenachrichtigungen und anderes verwendet"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Keine Verbindung zu <xliff:g id="DEVICE_NAME">%1$s</xliff:g> möglich"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Verfügbare Geräte"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Verbinden"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Verbindung trennen"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Koppeln und verbinden"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bei aktiviertem Bluetooth kann dein Gerät mit Bluetooth-Geräten in der Nähe kommunizieren"</string>
     <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_scan_change" msgid="1744636222637390367">"Ändern"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Gerätedetails"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART die Überprüfung des Bytecodes für debug-fähige Apps gestatten"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Aktualisierungsrate anzeigen"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Aktuelle Aktualisierungsrate des Displays anzeigen"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR-Verhältnis anzeigen"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Aktuelles HDR/SDR-Verhältnis anzeigen"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Für NFC muss das Gerät entsperrt werden"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Im Flugmodus"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Über öffentliche Netzwerke informieren"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Benachrichtigen, wenn ein leistungsstarkes öffentliches Netzwerk verfügbar ist"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP-Netzwerke zulassen"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ist ein älteres Sicherheitsprotokoll, das weniger sicher ist"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Dein Mobilfunkanbieter lässt keine WEP-Netzwerke zu, weil sie weniger sicher sind"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"WLAN automatisch aktivieren"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Die WLAN-Funktion wird automatisch eingeschaltet, wenn du in den Abdeckungsbereich gespeicherter WLANs kommst und die Signalqualität gut ist."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nicht verfügbar, weil die Einstellung \"Standort\" deaktiviert ist. Aktiviere die Einstellung "<annotation id="link">"Standort"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wenn die Funktion „WLAN-Suche“ aktiviert ist, dürfen Apps und Dienste immer nach WLANs suchen, auch wenn die WLAN-Funktion deaktiviert ist. Das hilft z. B. dabei, standortbasierte Funktionen und Dienste zu verbessern."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivieren"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"WLAN-Suche aktiviert"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Dieses Netzwerk verwendet ein älteres Sicherheitsprotokoll, das weniger sicher ist"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ist blockiert"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Dieses Netzwerk verwendet ein älteres Sicherheitsprotokoll namens WEP, das weniger sicher ist. Du kannst WEP-Netzwerke zulassen, um trotzdem eine Verbindung herzustellen."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Dein Mobilfunkanbieter lässt nicht zu, dass du dich mit diesem Netzwerk verbindest, da es ein älteres Sicherheitsprotokoll verwendet, das weniger sicher ist"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP zulassen"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Schließen"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Erweiterte Optionen"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down-Liste \"Erweiterte Optionen\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"maximieren"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Weiterhin WLAN verwenden"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Nicht mehr anzeigen"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Verbinden"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"WLAN ist aktiviert"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Verbunden mit <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Verbindung zu <xliff:g id="NETWORK_NAME">%1$s</xliff:g> wird hergestellt"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Verbinden…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Netzwerkverbindung konnte nicht hergestellt werden."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Netzwerk außer Reichweite"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Entfernen"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Ändern"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Netzwerk konnte nicht entfernt werden."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Speichern"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Netzwerk konnte nicht gespeichert werden."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Abbrechen"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"WLAN"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobile Daten"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Wird geladen"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Wird geladen"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot-Verbindung"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Verbindungsstärke"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Gespeicherte WLANs"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Kein Passwort festgelegt"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Name des Hotspots"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Passwort des Hotspots"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Band für Zugangspunkt"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot automatisch deaktivieren"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Wenn keine Geräte verbunden sind"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Kompatibilität erweitern"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Weißabgleich des Bildschirms"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Apps nach Zuklappen weiter verwenden"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Setzt die Aktualisierungsrate für einige Inhalte automatisch von 60 auf <xliff:g id="ID_1">%1$s</xliff:g> Hz herauf. Erhöht den Akkuverbrauch."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Standard-Framerate für Spiele deaktivieren"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Dadurch wird die Begrenzung der Framerate für Spiele auf <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz deaktiviert."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Setzt die Aktualisierungsrate für einige Inhalte automatisch auf <xliff:g id="ID_1">%1$d</xliff:g> Hz herauf. Dadurch wird die Akkunutzung erhöht."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Maximale Aktualisierungsrate erzwingen"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Höchste Aktualisierungsrate für bessere Touchscreen-Reaktion und flüssigere Animationen. Erhöhter Akkuverbrauch."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Aufmerksamkeitserkennung"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Die Funktion „Aufmerksamkeitserkennung“ verwendet die Frontkamera, um zu erkennen, ob jemand den Bildschirm ansieht. Es werden dabei keine Bilder gespeichert und auch nie an Google gesendet."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Aufmerksamkeitserkennung aktivieren"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Display aktiviert lassen, solange du es ansiehst"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Wenn das Display länger eingeschaltet bleibt, wird die Akkulaufzeit verkürzt."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera ist gesperrt"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Für die Gesichtserkennung muss die Kamera entsperrt sein"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Für die Funktion „Aufmerksamkeitserkennung“ muss die Kamera entsperrt sein"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM-Steckplatz <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM-Steckplatz <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (Primär)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Zum Ansehen gespeichertes Netzwerk auswählen"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-Version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Akkustand"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Gemeinschaftlich"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Gemeinschaftliche Einstellungen"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Nachrichten per Satellit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Zugangspunkt bearbeiten"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Zugangspunkt hinzufügen"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nicht definiert"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nicht festgelegt"</string>
     <string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN aktiviert"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN deaktiviert"</string>
     <string name="bearer" msgid="3231443241639159358">"Träger"</string>
+    <string name="network_type" msgid="748590707422733595">"Netzwerktyp"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Keine Angabe"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-Typ"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-Wert"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN löschen"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Speichern"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Abbrechen"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Es existiert bereits ein identischer APN-Eintrag."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Das Namensfeld darf nicht leer sein."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN darf nicht leer sein."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Das MCC-Feld muss 3 Zeichen enthalten."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Das MNC-Feld muss 2 oder 3 Zeichen enthalten."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Der Anbieter erlaubt das Hinzufügen von APNs des Typs %s nicht."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Der Wert im Feld „MMSC“ muss gültig sein."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Standard-APN-Einstellungen werden wiederhergestellt"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Auf Standard zurücksetzen"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Zurücksetzen auf Standard-APN-Einstellungen abgeschlossen."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Zurücksetzen"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth und WLAN wurden zurückgesetzt"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs löschen"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Dein Mobilfunkvertrag wird dadurch nicht gekündigt. Wende dich an deinen Mobilfunkanbieter, um Ersatz-SIMs herunterzuladen."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Dein Mobilfunkvertrag wird dadurch nicht gekündigt. Um eine Ersatz-SIM-Karte zu erhalten, wende dich an deinen Mobilfunkanbieter."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Einstellungen zurücksetzen"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Sämtliche Netzwerkeinstellungen zurücksetzen? Dieser Vorgang kann nicht rückgängig gemacht werden."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Alle Netzwerkeinstellungen zurücksetzen und eSIMs löschen? Diese Aktion lässt sich nicht rückgängig machen."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Zurücksetzen?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Das Zurücksetzen der Netzwerkeinstellungen ist für diesen Nutzer nicht verfügbar."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Die Netzwerkeinstellungen wurden zurückgesetzt."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIMs können nicht gelöscht werden"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMs können aufgrund eines Fehlers nicht gelöscht werden.\n\nBitte starte dein Gerät neu und versuch es dann noch einmal."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Löschen der eSIMs nicht möglich"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Ein Fehler ist aufgetreten und deine eSIMs wurden nicht gelöscht.\n\nStarte dein Gerät neu und versuche es noch einmal."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Alle Daten löschen (auf Werkseinstellungen zurücksetzen)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Alle Daten löschen"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musik"</li>\n<li>"Fotos"</li>\n<li>"Sonstige Nutzerdaten"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Dein Mobilfunkvertrag wird dadurch nicht gekündigt."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Alle deine personenbezogenen Daten und heruntergeladenen Apps werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Alle deine personenbezogenen Daten, einschließlich heruntergeladener Apps und SIMs, werden gelöscht. Dieser Vorgang kann nicht rückgängig gemacht werden."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Alle deine persönlichen Inhalte und Daten sowie die heruntergeladenen Apps und eSIMs werden gelöscht. Diese Aktion lässt sich nicht rückgängig machen."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Alle Daten löschen?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Das Zurücksetzen auf Werkseinstellungen ist für diesen Nutzer nicht verfügbar."</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Wird gelöscht…"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetverbindung wird nicht für andere Geräte freigegeben"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Aus"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"WLAN-Hotspot nicht verwenden"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internet nur über USB freigeben"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internet nur über Bluetooth teilen"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Internet nur über Ethernet freigeben"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internet nur über USB und Bluetooth freigeben"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Internet nur über USB und Ethernet freigeben"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Internet nur über Bluetooth und Ethernet freigeben"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Internet nur über USB, Bluetooth und Ethernet freigeben"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-Tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-Tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-Tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Mithilfe der Hotspot- und Tethering-Funktion kannst du anderen Geräten erlauben, deine Internetverbindung (WLAN oder mobile Daten) mitzunutzen. Es gibt auch Apps für das Erstellen eines Hotspots, damit Inhalte mit Geräten in der Nähe geteilt werden können."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hilfe"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilfunknetz"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilfunktarif"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-App"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS-App wechseln?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="NEW_APP">%1$s</xliff:g> statt <xliff:g id="CURRENT_APP">%2$s</xliff:g> als SMS-App verwenden?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"WLAN-Assistenten ändern?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"<xliff:g id="NEW_APP">%1$s</xliff:g> statt <xliff:g id="CURRENT_APP">%2$s</xliff:g> zur Verwaltung von Netzwerkverbindungen nutzen?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"<xliff:g id="NEW_APP">%s</xliff:g> zur Verwaltung von Netzwerkverbindungen nutzen?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Unbekannter SIM-Anbieter"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> hat keine bekannte Bereitstellungswebsite"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Lege die SIM ein und starte das Gerät neu."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Bitte stelle eine Verbindung zum Internet her."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Letzte Standortanfragen"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Standort für Arbeitsprofil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Berechtigungen zur Standortermittlung"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Zugriff löschen"</string>
     <string name="controls_label" msgid="8671492254263626383">"Steuerung"</string>
     <string name="force_stop" msgid="2681771622136916280">"Beenden erzwingen"</string>
+    <string name="archive" msgid="9074663845068632127">"Archivieren"</string>
+    <string name="restore" msgid="7622486640713967157">"Wiederherstellen"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Wird wiederhergestellt"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Wird wiederhergestellt."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Wird wiederhergestellt…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Wird wiederhergestellt…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Insgesamt"</string>
     <string name="application_size_label" msgid="6407051020651716729">"App-Größe"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB-Speicher-App"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Paketgröße konnte nicht berechnet werden."</string>
     <string name="version_text" msgid="7628938665256107608">"Version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Verschieben"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Fehler beim Archivieren"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> archiviert"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Fehler bei der Wiederherstellung"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> wird wiederhergestellt"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Es wird schon eine andere Migration durchgeführt."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nicht genügend Speicherplatz"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"App ist nicht vorhanden."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Verfügbare Bildschirmtastatur"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Bildschirmtastaturen verwalten"</string>
     <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="6922850403920596246">"Bounce-Tasten für Bedienungshilfen auf einer physischen Tastatur aktivieren"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Anschlagverzögerung"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Anschlagverzögerung für Bedienungshilfen auf einer physischen Tastatur aktivieren"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Einfingerbedienung"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Einfingerbedienung für Bedienungshilfen auf einer physischen Tastatur aktivieren"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tippe unten rechts auf das Touchpad für weitere Optionen"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Zeigergeschwindigkeit"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Informationen zu Touchpad-Gesten"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Zum Start­bildschirm"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Wische irgendwo auf dem Touchpad mit drei Fingern nach oben"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Zurück"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Nach Nutzungszeit sortieren"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Nach „Zuletzt verwendet“ sortieren"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Nach App-Name sortieren"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Zuletzt verwendet"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Zuletzt verwendet"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nie"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Nutzungszeit"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Bedienungshilfen"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Einstellungen für Bedienungshilfen"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Dreimal tippen zum Vergrößern"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Mit Tastenkombination vergrößern"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Mit Tastenkombination und 3-mal Tippen vergrößern"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Die Bedienungshilfe „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Zum Öffnen Schaltfläche „Bedienungshilfen“ nutzen"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Zum Öffnen die Lautstärketasten gedrückt halten"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Zum Öffnen dreimal auf das Display tippen"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Zum Öffnen mit zwei Fingern auf das Display doppeltippen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Zum Öffnen Touch-Geste verwenden"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Touch-Geste für Bedienungshilfen verwenden"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Wenn du diese Funktion verwenden möchtest, tippe unten auf dem Display auf die Schaltfläche \"Bedienungshilfen\" <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nWenn du zwischen den Funktionen wechseln möchtest, halte diese Schaltfläche gedrückt."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tippe zum Verwenden dieser Funktion auf dem Display auf die Schaltfläche „Bedienungshilfen“."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Wenn du diese Funktion verwenden möchtest, halte beide Lautstärketasten gedrückt."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tippe dreimal auf das Display, um die Vergrößerung zu starten oder zu beenden."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Doppeltippe zum Starten oder Beenden der Vergrößerung mit zwei Fingern auf das Display."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Wenn du diese Funktion verwenden möchtest, wische vom unteren Displayrand 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Wenn du diese Funktion verwenden möchtest, wische vom unteren Displayrand 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Wenn du eine Bedienungshilfe verwenden möchtest, wische vom unteren Displayrand 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Wenn du eine Bedienungshilfe verwenden möchtest, wische vom unteren Displayrand 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Einstellungen für die Schaltfläche „Bedienungshilfen“"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Schaltflächeneinstellungen"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Kurzbefehl für <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Schaltfläche „Bedienungshilfen“"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Touch-Geste für Bedienungshilfen"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Lautstärketasten gedrückt halten"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"Lautstärketasten gedrückt halten"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"Mit zwei Fingern auf das Display doppeltippen"</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="6863958573135995927">"dreimal auf den Bildschirm 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Weitere Informationen zur Schaltfläche „Bedienungshilfen“ und zu Gesten"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Schaltfläche „Bedienungshilfen“ wird verwendet. Bei Bedienung über 3 Schaltflächen ist die Touch-Geste nicht verfügbar."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Schnell auf Bedienungshilfen zugreifen"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Die ersten Schritte"</b>\n"1. Gehe zu den Einstellungen für Bedienungshilfen\n2. Wähle eine Funktion aus und tippe auf das Tastenkürzel\n3. Wähle aus, ob du eine Taste oder eine Touch-Geste für den Zugriff auf die Funktion verwenden möchtest"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Die ersten Schritte"</b>\n"1. Gehe zu den Einstellungen für Bedienungshilfen\n2. Wähle eine Funktion aus und tippe auf das Tastenkürzel\n3. Wähle die Taste aus, die du für den Zugriff auf die Funktion verwenden möchtest"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;So gehts&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Geh zu den Einstellungen für Bedienungshilfen&lt;br/&gt; {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl&lt;br/&gt; {2,number,integer}. Wähle aus, ob du eine Taste oder eine Touch-Geste für den Zugriff auf die Bedienungshilfe verwenden möchtest&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;So gehts&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Geh zu den Einstellungen für Bedienungshilfen&lt;br/&gt; {1,number,integer}. Wähle eine Bedienungshilfe aus und tippe auf den Kurzbefehl&lt;br/&gt; {2,number,integer}. Wähle die Taste aus, die du für den Zugriff auf die Bedienungshilfe verwenden möchtest&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Schaltfläche oder Touch-Geste verwenden"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Ort"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Größe"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Ein/Aus-Taste beendet Anruf"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Großer Mauszeiger"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Sichtbarkeit des Mauszeigers verbessern"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Dunkles Design nutzen (alle Apps)"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gilt für Apps ohne eigenes dunkles Design. Es kann zu Anzeigeproblemen wie umgekehrte Farben kommen."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animationen entfernen"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Bewegung auf dem Bildschirm verringern"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono-Audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Vibration &amp; haptisches Feedback verwenden"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibration für Wecker"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibration für Medien"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Tastenvibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration bei Klingeln"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration bei Benachrichtigungseingang"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Haptisches Feedback"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Beenden"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Abbrechen"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> beenden?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Wenn du auf \"<xliff:g id="STOP">%1$s</xliff:g>\" tippst, wird \"<xliff:g id="SERVICE">%2$s</xliff:g>\" beendet."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Aus"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Ein lassen"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> deaktivieren?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Keine Dienste installiert"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Kein Dienst ausgewählt"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Es wurde keine Beschreibung bereitgestellt."</string>
     <string name="settings_button" msgid="2195468788019730377">"Einstellungen"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"Lichtempfindlichkeit, Photophobie, dunkles Design, Migräne, Kopfschmerzen, Lesemodus, Nachtmodus, Helligkeit verringern, Weißpunkt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Einfache Verwendung, einfacher Zugriff, Unterstützung, unterstützend"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"Sehfähigkeit, Hörfähigkeit, blind, Sehbehinderung, gehörlos, Hörbehinderung, motorische Einschränkungen, Feinmotorik, Unterstützung, Nutzerfreundlichkeit, Zugänglichkeit, Hand, Hilfe"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Fenstervergrößerung, Zoom, Vergrößerung, eingeschränktes Sehvermögen, Vergrößerung, größer machen"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Untertitel, Automatische Transkription, Schwerhörigkeit, Hörverlust, Spracherkennung in Echtzeit (CART), Spracherkennung"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"Farbkontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"Motorik, Maus"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"Hörgeräte, schwerhörig, Hörverlust, Cochlea-Implantate, Audioverstärker, Geräuschprozessor"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorische Einschränkungen, Maus, externe Maus, Kopfmaus, adaptive Maus, Rollstuhl, Joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"Hörgeräte, schwerhörig, Hörverlust, Cochlea-Implantate, Audioverstärker, Geräuschprozessor, persönliche Tonverstärker"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"Schwerhörigkeit, Hörverlust, Untertitel, Fernschreiber, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"drei Schaltflächen"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"Feinmotorik, motorische Einschränkungen, Senioren, Arthritis, RSI-Syndrom, Schlaganfall, Tremor, multiple Sklerose, zerebrale Kinderlähmung, Zittern, Repetitive-Strain-Injury-Syndrom, Hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"Verzögerung, Feinmotorik, Senioren"</string>
     <string name="print_settings" msgid="8519810615863882491">"Drucken"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Aus"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 Druckdienst aktiviert}other{# Druckdienste aktiviert}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Noch <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Verbleibende Ladezeit: <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Bildschirmzeit"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Hintergrundzeit"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Niedriger Akkustand"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"App darf im Hintergrund ausgeführt werden"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Hintergrundaktivität einschränken?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Wenn du die Hintergrundaktivität einer App einschränkst, kann dies zu unerwünschtem Verhalten führen"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Da bei dieser App die Akkunutzung nicht optimiert wird, kannst du sie nicht einschränken.\n\nDu musst du zunächst die Akkuoptimierung aktivieren."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akkunutzung verwalten"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Hintergrundnutzung zulassen"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Du kannst die Hintergrundnutzung aktivieren, um Updates in Echtzeit herunterzuladen, oder deaktivieren, um die Akkulaufzeit zu verlängern"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Uneingeschränkt"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimiert"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Eingeschränkt"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Apps mit der höchsten Nutzung anzeigen"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Zur Schonung deines Akkus wird er im optimierten Modus geladen"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Der Akku wird im optimierten Modus geladen, um ihn zu schonen"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Zur Schonung deines Akkus wird er im optimierten Modus geladen"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Wenn sich das Gerät im Dock befindet, wird der Akku im optimierten Modus geladen, um ihn zu schonen"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Zur Schonung deines Akkus wird er im optimierten Modus geladen"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Wenn sich das Gerät im Dock befindet, wird der Akku im optimierten Modus geladen, um ihn zu schonen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Vollständig aufladen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Zur Schonung deines Akkus wird er im optimierten Modus geladen, wenn sich dein Tablet das nächste Mal im Dock befindet"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Weitere Informationen zum pausierten Ladevorgang"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Ladevorgang fortsetzen"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Umfasst Hintergrundaktivitäten mit hohem Stromverbrauch"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Diese App kann dann im Hintergrund laufen und beansprucht dabei den Akku. Er könnte deshalb früher als erwartet leer sein."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Entfernen"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Abbrechen"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Vollständig aufladen"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem mit dem Ladezubehör"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Ladezubehör prüfen"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Weitere Informationen zu nicht kompatiblen Ladegräten"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akku-Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Apps automatisch verwalten"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"seit dem letzten kompletten Aufladen"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"System-Apps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Deinstallierte Apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Sonstige"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Geschätzte verbleibende Akkulaufzeit"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Bis zur vollständigen Aufladung"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Gesamt: weniger als eine Minute"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Hintergrund: weniger als eine Minute"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Bildschirmzeit: weniger als eine Minute"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Weniger als eine Minute"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Gesamt: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Hintergrund: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Bildschirmzeit: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,13 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"jetzt"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"von <xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> bis <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Diagramm zur Akkunutzung"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagramm zur täglichen Akkunutzung"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagramm zur stündlichen Akkunutzung"</string>
+    <!-- String.format failed for translation -->
+    <!-- no translation found for battery_level_percentage (1433178290838842146) -->
+    <skip />
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Akkunutzung seit dem letzten kompletten Aufladen"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Akkunutzung von <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Bildschirmzeit seit dem letzten kompletten Aufladen"</string>
@@ -2461,8 +2652,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Notrufsignal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Verhalten bei einem Notruf festlegen"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sicherung"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"An"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Aus"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sicherung &amp; Wiederherstellung"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personenbezogene Daten"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Meine Daten sichern"</string>
@@ -2551,6 +2740,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobile Daten und WLAN"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Private Daten autom. synchronisieren"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Arbeitsdaten autom. synchronisieren"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Pers. Daten autom. synchr."</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Zyklus ändern..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Tag, an dem Datenverbrauchszyklus zurückgesetzt wird:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Kein Datenverbrauch in diesem Zeitraum"</string>
@@ -2600,27 +2790,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Name"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Serveradresse"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-Verschlüsselung (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-Schlüssel"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-ID"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Vorinstallierter IPSec-Schlüssel"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-Nutzerzertifikat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec-CA-Zertifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-Serverzertifikat"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Erweiterte Optionen anzeigen"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-Suchdomains"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-Server (z. B. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Weiterleitungsrouten (z. B. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nutzername"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Passwort"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Kontoinformationen speichern"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nicht verwendet)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(Server nicht überprüfen)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(vom Server erhalten)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Dieser VPN-Typ kann nicht durchgehend verbunden bleiben"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Durchgehend aktives VPN unterstützt numerische Serveradressen"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Ein DNS-Server muss für durchgehend aktives VPN angegeben werden"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-Serveradressen müssen für durchgehend aktives VPN numerisch sein"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Bei den eingegebenen Informationen wird durchgehend aktives VPN nicht unterstützt"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Abbrechen"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Schließen"</string>
@@ -2656,6 +2837,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Verbindungen ohne VPN blockieren"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN-Verbindung erforderlich?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Unsicher. Update auf IKEv2-VPN empfohlen."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nicht unterstütztes VPN konnte nicht gestartet werden."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Wähle ein VPN-Profil für eine durchgehende Verbindung aus. Netzwerkverkehr ist nur möglich, wenn eine Verbindung zu diesem VPN besteht."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Keines"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Für ein durchgehend aktives VPN ist eine IP-Adresse für den Server und für das DNS erforderlich."</string>
@@ -2738,8 +2920,8 @@
     <string name="user_remove_user" msgid="8468203789739693845">"Nutzer löschen"</string>
     <string name="user_enable_calling_and_sms_confirm_title" msgid="4041510268838725520">"Telefonieren &amp; SMS zulassen?"</string>
     <string name="user_enable_calling_and_sms_confirm_message" msgid="367792286597449922">"Anrufliste und SMS-Verlauf werden für diesen Nutzer freigegeben."</string>
-    <string name="user_revoke_admin_confirm_title" msgid="3057842401861731863">"Administrator­berechti­gun­gen widerrufen?"</string>
-    <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Wenn du die Administratorberechtigungen für diesen Nutzer entfernst, können sie von dir oder einem anderen Administrator später wiederhergestellt werden."</string>
+    <string name="user_revoke_admin_confirm_title" msgid="3057842401861731863">"Administrator­­berechti­gun­gen widerrufen?"</string>
+    <string name="user_revoke_admin_confirm_message" msgid="9207187319308572958">"Wenn du die Administrator­berechtigungen für diesen Nutzer entfernst, können sie von dir oder einem anderen Administrator später wiederhergestellt werden."</string>
     <string name="emergency_info_title" msgid="8233682750953695582">"Notfallinformationen"</string>
     <string name="emergency_info_summary" msgid="8463622253016757697">"Informationen und Kontaktdaten für <xliff:g id="USER_NAME">%1$s</xliff:g>"</string>
     <string name="open_app_button" msgid="5025229765547191710">"„<xliff:g id="APP_NAME">%1$s</xliff:g>“ öffnen"</string>
@@ -2790,11 +2972,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER Alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Bulletins über Kindesentführungen erhalten"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Wiederholen"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Anrufverwaltung aktivieren"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Diesem Dienst die Verwaltung der Anrufabwicklung gestatten"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Anrufverwaltung"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Notfall­benachrichtigungen an Mobilgeräte"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Netzbetreiber"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Zugangspunkte (APNs)"</string>
@@ -2856,7 +3033,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status der SIM-Karte"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-Status (SIM-Steckplatz %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs geändert."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Deine SIMs wurden gewechselt"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Zum Einrichten tippen"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Jedes Mal fragen"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Auswahl erforderlich"</string>
@@ -2880,7 +3057,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Kürzlich geöffnete Apps, Standard-Apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Für Apps im Arbeitsprofil ist der Benachrichtigungszugriff nicht verfügbar."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Passwörter &amp; Konten"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gespeicherte Passwörter, Autofill, synchronisierte Konten"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Vorschläge für Anmeldung &amp; Autofill"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Standard-Apps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Geklonte Apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Du kannst eine zweite Instanz einer App erstellen, um zwei Konten gleichzeitig zu verwenden."</string>
@@ -2948,7 +3125,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Geldbörse"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"Bezahlen, kontaktlos, Zahlungen"</string>
     <string name="keywords_backup" msgid="707735920706667685">"Sicherung, sicherung"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"Touch-Geste"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"Gesicht, Entsperrung, Entsperrung per Gesichtserkennung, Gesichtserkennung, Anmeldung"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"Gesicht, entsperren, Authentifizierung, Anmeldung, Fingerabdruck, Biometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, Min., prl version, imei sv"</string>
@@ -2999,6 +3175,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"Textgröße, Großdruck, Großschrift, großer Text, eingeschränktes Sehvermögen, Text vergrößern, Textvergrößerung"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"immer aktiver Bildschirmschoner, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, Tag, Lesegerät"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"Tastatur, Haptik, Vibration"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Lautstärke, Vibration, Bitte nicht stören"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medienlautstärke"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Streaminglautstärke"</string>
@@ -3034,9 +3211,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Töne beim Hochfahren"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Automatische Untertitel"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Medien automatisch untertiteln"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Smartphone-Lautsprecher"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablet-Lautsprecher"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Gerätelautsprecher"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Kabelgebundene Kopfhörer"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Der Klang von kompatiblen Medien wird noch voller"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Aus"</string>
@@ -3221,7 +3395,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Gesamten Benachrichtigungs­inhalt anzeigen"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Sensible Inhalte nur im entsperrten Zustand anzeigen"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Keine Benachrichtigungen anzeigen"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Wie sollen Benachrichtigungen auf dem Sperrbildschirm angezeigt werden?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Was soll auf deinem Sperrbildschirm angezeigt werden?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Sperrbildschirm"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Alle geschäftlichen Benachrichtigungen anzeigen"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Vertrauliche geschäftliche Inhalte ausblenden"</string>
@@ -3250,6 +3424,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Neueste Unterhaltungen wurden entfernt"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Unterhaltung wurde entfernt"</string>
     <string name="clear" msgid="5092178335409471100">"Löschen"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> löschen"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Hier werden vorrangige und geänderte Unterhaltungen angezeigt"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Wenn du einer Unterhaltung Priorität gibst oder andere Änderungen daran vornimmst, wird sie hier angezeigt. \n\nSo änderst du die Einstellungen für eine Unterhaltung:\nWische vom oberen Displayrand nach unten, um die Benachrichtigungsleiste zu öffnen, und halte die entsprechende Unterhaltung gedrückt."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimieren"</string>
@@ -3308,6 +3483,17 @@
     <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="6121016426991791557">"Verringern der Benachrichtigungslautstärke"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Verringern der Lautstärke auf alle Benachrichtigungen anwenden"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Benachrichtigungslautstärke schrittweise verringern, wenn von derselben App viele Benachrichtigungen nacheinander eingehen"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Verringern der Lautstärke auf Unterhaltungen anwenden"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Benachrichtigungslautstärke schrittweise verringern, wenn von demselben Chat viele Nachrichten innerhalb kurzer Zeit eingehen"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Verringern der Benachrichtigungslautstärke nicht verwenden"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Benachrichtigungslautstärke nie verringern, unabhängig von der Anzahl der von derselben App nacheinander erhaltenen Benachrichtigungen"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibration, wenn entsperrt"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibration nur bei entsperrtem Display"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Auf Arbeitsprofile anwenden"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Einstellungen für das Verringern der Benachrichtigungslautstärke des privaten Profils auf das Arbeitsprofil anwenden"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-Hilfsdienste"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Keine installierte App hat die Ausführung als VR-Hilfedienst angefordert."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR-Dienstzugriff für <xliff:g id="SERVICE">%1$s</xliff:g> erlauben?"</string>
@@ -3502,14 +3688,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Aus"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Bildschirmfixierung"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Mit der Option „Bildschirmfixierung“ kannst du festlegen, dass auf deinem Gerät vorübergehend nur eine App ausgeführt und angezeigt wird. Auf diese Weise kannst du z. B. jemanden ein bestimmtes Spiel auf deinem Gerät spielen lassen."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Die App, die während der Bildschirmfixierung angezeigt wird, kann unter Umständen andere Apps öffnen, wodurch private Daten zugänglich gemacht werden können. \n\nSo verwendest du die Funktion „Bildschirmfixierung“: 	\n1. Aktiviere „Bildschirmfixierung“ 	\n2. Tippe auf „Übersicht“ 	\n3. Tippe auf das App-Symbol oben auf dem Bildschirm und dann auf „Fixieren“"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Die App, die während der Bildschirmfixierung angezeigt wird, kann unter Umständen andere Apps öffnen, wodurch private Daten zugänglich gemacht werden können. \n\nWenn du dein Gerät sicher mit jemandem teilen möchtest, kannst du stattdessen ein Gastprofil verwenden. \n\nSo verwendest du die Funktion „Bildschirmfixierung“: 	\n1. Aktiviere „Bildschirmfixierung“ 	\n2. Tippe auf „Übersicht“ 	\n3. Tippe auf das App-Symbol oben auf dem Bildschirm und dann auf „Fixieren“"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Die App, die während der Bildschirmfixierung angezeigt wird, kann unter Umständen andere Apps öffnen, wodurch private Daten zugänglich gemacht werden können. \n\nSo verwendest du die Funktion „Bildschirmfixierung“: 	\n{0,number,integer}. Aktiviere die Funktion „Bildschirmfixierung“ 	\n{1,number,integer}. Tippe auf „Übersicht“ 	\n{2,number,integer}. Tippe auf das App-Symbol oben auf dem Bildschirm und dann auf „Fixieren“"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Die App, die während der Bildschirmfixierung angezeigt wird, kann unter Umständen andere Apps öffnen, wodurch private Daten zugänglich gemacht werden können. \n\nWenn du dein Gerät sicher mit jemandem teilen möchtest, kannst du stattdessen ein Gastprofil verwenden. \n\nSo verwendest du die Funktion „Bildschirmfixierung“: 	\n{0,number,integer}. Aktiviere die Funktion „Bildschirmfixierung“ 	\n{1,number,integer}. Tippe auf „Übersicht“ 	\n{2,number,integer}. Tippe auf das App-Symbol oben auf dem Bildschirm und dann auf „Fixieren“"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Wenn eine App auf dem Bildschirm fixiert ist, gilt Folgendes: \n\n•	 Personenbezogene Daten könnten dennoch\nzugänglich sein (z. B. Kontakte oder E-Mails) \n• Eine fixierte App kann andere Apps öffnen \n\nVerwende die Funktion „Bildschirmfixierung“ nur dann, wenn du deinem Gegenüber vertraust."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Zum Loslösen nach Entsperrungsmuster fragen"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vor Beenden nach PIN fragen"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Vor dem Beenden nach Passwort fragen"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Gerät beim Loslösen der App sperren"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Löschen der SIM bestätigen"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Bestätigen, dass deine eSIM gelöscht werden soll"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Bestätige deine Identität, um eine eSIM zu löschen"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Erweiterter-Speicherschutz-Beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Erweiterter Speicherschutz"</string>
@@ -3569,6 +3755,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Einstellungen für App bei Nichtnutzung"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"App-Aktivität bei Nichtnutzung stoppen"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Berechtigungen entfernen, temporäre Dateien löschen und Benachrichtigungen stoppen"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"App bei Nichtnutzung pausieren"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Berechtigungen entfernen, temporäre Dateien löschen, Benachrichtigungen stoppen und die App archivieren"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle Apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installierte Apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
@@ -3661,7 +3849,7 @@
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Der Assistent-App den Zugriff auf eine Aufnahme deines Bildschirms gestatten"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"Bildschirm kurz aufleuchten lassen"</string>
     <string name="assist_flash_summary" msgid="3032289860177784594">"Bildschirmränder kurz aufleuchten lassen, wenn die Assistent-App auf Bildschirmtext oder Screenshot zugreift"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"Assistent-Apps können dir bei bestimmten Dingen helfen. Dazu greifen sie auf die Informationen zu, die aktuell auf deinem Bildschirm angezeigt werden. Damit sie dir eine umfassende Hilfe sind, unterstützen einige Apps sowohl Launcher- als auch Spracheingabedienste."</string>
+    <string name="assist_footer" msgid="8248015363806299068">"Assistent-Apps können dir bei bestimmten Dingen helfen. Dazu greifen sie auf die Informationen zu, die aktuell auf deinem Bildschirm angezeigt werden. Einige Apps unterstützen sowohl Launcher- als auch Spracheingabedienste."</string>
     <string name="average_memory_use" msgid="717313706368825388">"Durchschnittl. Speicherverbrauch"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"Maximaler Speicherverbrauch"</string>
     <string name="memory_usage" msgid="5594133403819880617">"Speicherverbrauch"</string>
@@ -3677,6 +3865,9 @@
     <string name="free_memory" msgid="439783742246854785">"Frei"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Von Apps verbrauchter Speicher"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 App nutzte Arbeitsspeicher in den letzten {time}}other{# Apps nutzten Arbeitsspeicher in den letzten {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Arbeitsspeichernutzungs-Profiling aktivieren"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Das Arbeitsspeichernutzungs-Profiling erfordert zusätzliche Systemressourcen."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Arbeitsspeichernutzungs-Profiling deaktiviert"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Häufigkeit"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximaler Verbrauch"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Keine Daten genutzt"</string>
@@ -3695,10 +3886,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Über anderen Apps einblenden"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Einblendung über anderen Apps zulassen"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Erlaube, dass diese App über anderen Apps, die du gerade verwendest, eingeblendet wird. Diese App erkennt, wo du tippst oder welche Elemente auf dem Bildschirm du änderst."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Medienausgabe ändern"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"App erlauben, die Medienausgabe zu wechseln"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Dieser App erlauben, festzulegen, welches verbundene Gerät Audio- oder Videoinhalte aus anderen Apps abspielt. Sie hat dann Zugriff auf eine Liste mit verfügbaren Geräten wie Kopfhörern und Lautsprechern und kann festlegen, welches Ausgabegerät Audio- oder Videoinhalte aus anderen Apps streamt oder überträgt."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Zugriff auf alle Dateien"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Zugriff zum Verwalten aller Dateien zulassen"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Du kannst dieser App erlauben, alle Dateien auf diesem Gerät und auf allen verbundenen Laufwerken zu lesen, zu ändern und zu löschen. Sie kann dann ohne deine explizite Zustimmung auf Dateien zugreifen."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Auf alle Dateien zugreifen"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps mit Sprachaktivierung"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Sprachaktivierung zulassen"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Mit der Sprachaktivierung lassen sich zugelassene Apps per Sprachbefehl starten. Ein integrierter adaptiver Sensor sorgt dafür, dass deine Daten privat bleiben.\n\n"<a href="">"Weitere Informationen zum geschützten adaptiven Sensor"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Vollbildbenachrichtigungen"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Vollbildbenachrichtigungen von dieser App erlauben"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Diese App darf Benachrichtigungen anzeigen, die das gesamte Display ausfüllen, wenn das Gerät gesperrt ist. Apps können diese verwenden, um Wecker, eingehende Anrufe oder andere dringende Benachrichtigungen hervorzuheben."</string>
@@ -3807,7 +4004,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Warnlimit für mobile Datennutzung: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Datenlimit: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Warnlimit für mobile Datennutzung: <xliff:g id="ID_1">^1</xliff:g>/Datenlimit: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Dein Mobilfunkanbieter berechnet die Datennutzung eventuell anders als das Gerät"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Beinhaltet keine im Mobilfunknetz verbrauchten Daten"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Verbrauchte Daten: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Datenwarnung festlegen"</string>
@@ -3833,7 +4029,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Vor <xliff:g id="ID_1">^2</xliff:g> aktualisiert"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Gerade von <xliff:g id="ID_1">^1</xliff:g> aktualisiert"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Gerade aktualisiert"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Tarif anzeigen"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Details ansehen"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Datensparmodus"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Uneingeschränkte Datennutzung"</string>
@@ -3864,6 +4059,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> hat den Akku im Hintergrund stärker als üblich beansprucht"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> hat den Akku im Vordergrund stärker beansprucht"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> hat den Akku im Vordergrund stärker als üblich beansprucht"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie bei der Akkunutzung"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Hohe Akkunutzung"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hohe Akkunutzung im Hintergrund"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hohe Akkunutzung im Vordergrund"</string>
@@ -3932,7 +4128,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Kacheln für Schnelleinstellungen für Entwickler"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Zeitlimit für ADB-Autorisierung deaktivieren"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Automatische Aufhebung von ADB-Autorisierungen für Systeme deaktivieren, die sich nicht innerhalb der Standardzeit (7 Tage) oder der vom Nutzer festgelegten Zeit (mindestens 1 Tag) wieder verbunden haben."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensoren aus"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Einstellungen für Arbeitsprofil"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"In privaten Apps nach Verzeichniskontakten deiner Arbeit suchen"</string>
@@ -3962,7 +4157,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"Systemsteuerung, Bedienung über 2 Schaltflächen, Bedienung über 3 Schaltflächen, Gestensteuerung, Bedienung über Gesten, wischen"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitaler Assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Zum Öffnen des Assistenten wischen"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Wische von einer unteren Ecke nach oben, um die App für den digitalen Assistenten aufzurufen."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Wische von einer unteren Ecke nach oben, um die App für den digitalen Assistenten aufzurufen"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Aufrufen von Assistant per Drücken der Startbildschirmtaste"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Halte die Startbildschirmtaste gedrückt, um die App für den digitalen Assistenten aufzurufen."</string>
     <string name="low_label" msgid="6525629096999711220">"Niedrig"</string>
@@ -4122,21 +4317,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Autofill-Service"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Standard-Autofill-Service"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Passwörter"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Passwörter, Passkeys und Datendienste"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Zusätzliche Anbieter"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Bevorzugter Dienst"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Weitere Dienste"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# Passwort}other{# Passwörter}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatisch, füllen, ausfüllen, Passwort, auto, fill, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"Daten, Passkey, Passwort"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatisch, ausfüllen, Autofill, Daten, Passkey, Passwort"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Ändern"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Öffnen"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nichts ausgewählt"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Nur für vertrauenswürdige Apps&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; greift auf die Displayanzeige zu, um zu bestimmen, welche Felder automatisch ausgefüllt werden können. Die Funktion sollte daher nur für vertrauenswürdige Apps zugelassen werden."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; verwenden?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; bestimmt anhand des Bildschirminhalts, was automatisch ausgefüllt werden kann. Ab jetzt werden neue Passwörter, Passkeys und andere Informationen hier gespeichert."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Passwörter, Passkeys und Datendienste"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Soll &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; verwendet werden?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Neue Passwörter, Passkeys und weitere Informationen werden ab sofort hier gespeichert. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kann anhand dessen, was auf deinem Bildschirm zu sehen ist, bestimmen, was automatisch ausgefüllt werden kann."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Bevorzugte Dienste für Passwörter, Passkeys &amp; Autofill"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s deaktivieren?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Diesen Dienst deaktivieren?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Gespeicherte Daten wie Passwörter, Passkeys, Zahlungsmethoden usw. werden beim Anmelden nicht eingetragen. Wenn du deine gespeicherten Daten verwenden möchtest, nutze einen Passwort-, Passkey- oder Datendienst."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Passwörter, Passkeys &amp; Autofill"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Alle Dienste deaktivieren?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passwörter, Passkeys und andere gespeicherte Informationen werden nicht mehr automatisch ausgefüllt, wenn du dich anmeldest"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Bevorzugten Dienst zu &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ändern?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Neue Passwörter, Passkeys und weitere Informationen werden ab sofort hier gespeichert. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kann anhand dessen, was auf deinem Bildschirm zu sehen ist, bestimmen, was automatisch ausgefüllt werden kann."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s verwenden?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Deaktivieren"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Ändern"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Es können nur fünf Dienste aktiviert sein"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Deaktiviere mindestens einen Dienst, um einen anderen hinzuzufügen"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ermittelt anhand der Inhalte auf deinem Bildschirm, welche Informationen automatisch ausgefüllt werden können."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Beschränkung für Passwörter, Passkeys und Datendienste"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Es können bis zu 5 Passwörter, Passkeys und Datendienste gleichzeitig aktiviert sein. Wenn du einen weiteren Dienst hinzufügen möchtest, deaktiviere einen anderen."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Beschränkung für Passwörter, Passkeys und Datendienste"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Es können bis zu 5 Passwörter, Passkeys und Datendienste gleichzeitig aktiviert sein. Wenn du einen weiteren Dienst hinzufügen möchtest, deaktiviere einen anderen."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Deaktivieren"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autofill"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Protokollierungsebene"</string>
@@ -4193,6 +4398,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Die Kompatibilität kann nur bei debug-fähigen Apps geändert werden. Installiere eine debug-fähige App und versuch es noch einmal."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Hängt von einer anderen Einstellung ab"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d Konten"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Gerätename"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Allgemeine Informationen"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Rechtliche Informationen"</string>
@@ -4206,6 +4412,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Erlauben, dass diese App gestartet wird, wenn ein NFC-Tag gescannt wird.\nWenn Apps diese Berechtigung haben, stehen sie als Option zur Verfügung, wenn ein Tag erkannt wird."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Medien hier abspielen:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> abspielen über"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio wird fortgesetzt"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Dieses Gerät"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Während Anrufen nicht verfügbar"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Anruf annehmen auf"</string>
@@ -4219,7 +4426,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Stummschalten"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Ändere zum Aktivieren erst „Ein-/Aus-Taste gedrückt halten“ zu „Ein-/Aus-Menü“."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Netzwerkdetails"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Dein Gerätename ist für Apps auf deinem Smartphone 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="devices_title" msgid="649715719278562515">"Geräte"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Netzwerk auswählen"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Nicht verbunden"</string>
@@ -4302,11 +4508,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Name"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Farbe (verwendet von kompatiblen Apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Speichern"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM verwenden"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Diese SIM verwenden"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Aus"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"SIM-Karte entfernen, um sie zu deaktivieren"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Zum Aktivieren von <xliff:g id="CARRIER">%1$s</xliff:g> tippen"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM löschen"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Entferne zum Deaktivieren der SIM die SIM-Karte"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tippe, um deine <xliff:g id="CARRIER">%1$s</xliff:g>-SIM zu aktivieren"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM löschen"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Bevorzugter Netztyp"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Netzmodus ändern"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Bevorzugter Netztyp"</string>
@@ -4325,6 +4531,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Wenn du Informationen zu Preisen erhalten möchtest, wende dich bitte an deinen Netzwerkanbieter."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Datennutzung durch Apps"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ungültiger Netzmodus <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorieren."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Nachrichten per Satellit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Nachrichten per Satellitenfunk senden und empfangen. Dein Konto unterstützt diesen Dienst."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Nachrichten per Satellitenfunk senden und empfangen. Dein Konto unterstützt diesen Dienst nicht."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Nachrichten per Satellit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Über Nachrichten per Satellit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Mit einem berechtigten <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-Konto kannst du Nachrichten per Satellitenfunk versenden und empfangen."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Mein <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-Vertrag"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Dein Konto unterstützt Nachrichten per Satellit"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Dein Konto unterstützt keine Nachrichten per Satellit"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Nachrichten per Satellit hinzufügen"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"So funktionierts"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Wenn kein Mobilfunknetz verfügbar ist"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Dein Smartphone stellt automatisch eine Satellitenverbindung her. Für die bestmögliche Verbindung sollte eine freie Sicht zum Himmel bestehen."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Nach Verbindung deines Smartphones mit einem Satelliten"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Du kannst Nachrichten an beliebige Empfänger versenden, auch an den Rettungsdienst. Sobald wieder ein Mobilfunknetz verfügbar ist, verbindet sich dein Smartphone damit."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Das Senden von Nachrichten per Satellit kann länger dauern und ist nicht überall verfügbar. Wetterbedingungen und bestimmte Gebäude, Bäume usw. können die Satellitenverbindung beeinträchtigen. Anrufe über Satellit sind nicht möglich.\n\nEs kann eine Weile dauern, bis die Änderungen in deinen Konto-Einstellungen angezeigt werden. Wenn du mehr erfahren möchtest, wende dich an <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mehr zu Nachrichten per Satellit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Zugangspunkte (APNs)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Bei Verbindung mit <xliff:g id="CARRIER">%1$s</xliff:g> nicht verfügbar"</string>
@@ -4334,22 +4557,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Zu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> wechseln?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM-Karte wechseln?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> verwenden?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Es kann immer nur eine SIM-Karte aktiv sein.\n\nDein Mobilfunkvertrag bei <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> wird nicht gekündigt, wenn du zu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> wechselst."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Es kann immer nur eine eSIM aktiv sein.\n\nDein Mobilfunkvertrag bei <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> wird nicht gekündigt, wenn du zu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> wechselst."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Es kann immer nur eine SIM-Karte aktiv sein.\n\nDein Mobilfunkvertrag bei <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> wird nicht gekündigt, wenn du die SIM-Karte wechselst."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Es kann immer nur eine SIM-Karte aktiv sein.\n\nDein Mobilfunkvertrag bei <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> wird nicht gekündigt, wenn du zu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> wechselst."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Es kann immer nur eine eSIM aktiv sein.\n\nDein Mobilfunkvertrag bei <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> wird nicht gekündigt, wenn du zu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> wechselst."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Es kann immer nur eine SIM-Karte aktiv sein.\n\nDurch einen Anbieterwechsel wird dein Mobilfunkvertrag bei <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nicht gekündigt."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Du kannst 2 SIMs gleichzeitig verwenden. Wenn du <xliff:g id="CARRIER_NAME">%1$s</xliff:g> verwenden möchtest, musst du eine andere SIM deaktivieren."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Zu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> wechseln"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> deaktivieren"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Wenn du eine SIM deaktivierst, wird dein Mobilfunkvertrag nicht gekündigt"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Verbindung zum Mobilfunknetz wird hergestellt…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Für Anrufe und Nachrichten wird zu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> gewechselt…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Mobilfunkanbieter kann nicht gewechselt werden"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Der Mobilfunkanbieter kann aufgrund eines Fehlers nicht gewechselt werden."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Deine SIM wird aktiviert…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Wechsel zu <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM kann nicht gewechselt werden"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Ein Fehler ist aufgetreten. SIM kann nicht gewechselt werden."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> deaktivieren?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM deaktivieren?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM wird deaktiviert<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Mobilfunkanbieter kann nicht deaktiviert werden"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ein Problem ist aufgetreten. Dein Mobilfunkanbieter konnte nicht deaktiviert werden."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM kann nicht deaktiviert werden"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Ein Fehler ist aufgetreten und deine SIM konnte nicht deaktiviert werden."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Zwei SIM-Karten verwenden?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Auf diesem Gerät können zwei SIM-Karten gleichzeitig aktiv sein. Wenn du weiterhin nur eine SIM-Karte verwenden möchtest, tippe auf „Nein danke“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Gerät neu starten?"</string>
@@ -4358,32 +4581,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nein danke"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Abbrechen"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Wechseln"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Deaktivieren"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM kann nicht aktiviert werden"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Versuche, die SIM noch einmal zu aktivieren. Sollte das Problem weiterhin bestehen, starte das Gerät neu."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM einrichten"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Du kannst in den Einstellungen für das Mobilfunknetz festlegen, dass auf diesem Gerät mehrere SIM-Karten verwendet werden"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Label zu SIM-Karten hinzufügen"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Diese Labels werden angezeigt, wenn du Anrufe tätigst, SMS sendest, Daten verwendest oder die Einstellungen aufrufst"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-Label"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"SIM-Karten auswählen"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Du kannst zwei SIM-Karten gleichzeitig verwenden"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Primäre SIM-Karten festlegen"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Du kannst auswählen, welche SIM-Karten standardmäßig für Anrufe, SMS und Daten verwendet werden"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Meine primären SIM-Karten"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Anrufe"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Daten automatisch wechseln"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Du kannst je nach Abdeckung und Verfügbarkeit Daten von beiden SIM-Karten verwenden"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Nur für Daten"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Einrichten"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Weiter"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> wird aktiviert…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilfunknetz"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonnummer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-Label und Farbe"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netzwerkaktivierung"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Wechsel des Mobilfunkanbieters"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ist aktiviert"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Deine <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-SIM-Karte ist aktiviert"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tippe, um die SIM-Einstellungen zu aktualisieren"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Zu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> gewechselt"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Zu einem anderen Mobilfunkanbieter gewechselt"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Dein Mobilfunknetz hat sich geändert"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Andere SIM-Karte einrichten"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Du kannst die aktive SIM-Karte auswählen oder zwei SIM-Karten gleichzeitig verwenden"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Nummer für die Nutzung auswählen"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Auf diesem Gerät ist 1 Nummer verfügbar und es kann jeweils nur eine verwendet werden}=2{Auf diesem Gerät sind 2 Nummern verfügbar, es kann aber jeweils nur eine verwendet werden}other{Auf diesem Gerät sind # Nummern verfügbar, es kann aber jeweils nur eine verwendet werden}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Wird aktiviert<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Kann momentan nicht aktiviert werden"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"SIM für Verwendung auswählen"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Auf diesem Gerät ist 1 SIM verfügbar und es kann jeweils nur eine verwendet werden}=2{Auf diesem Gerät sind 2 SIMs verfügbar, es kann aber jeweils nur eine verwendet werden}other{Auf diesem Gerät sind # SIMs verfügbar, es kann aber jeweils nur eine verwendet werden}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Wird aktiviert<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Diese SIM konnte momentan nicht aktiviert werden"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> verwenden?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Für mobile Daten, Anrufe und SMS wird <xliff:g id="CARRIER_NAME">%1$s</xliff:g> verwendet."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Keine aktiven SIM-Karten verfügbar"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Wenn du mobile Daten, Anruffunktionen und SMS später einrichten möchtest, kannst du das in deinen Netzwerkeinstellungen tun"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Diese eSIM löschen?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Wenn du diese SIM löschst, wird der <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-Dienst von diesem Gerät entfernt.\n\nDer Mobilfunkvertrag bei <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> wird dadurch nicht gekündigt."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Dadurch wird der <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-Dienst von diesem Gerät entfernt, dein Vertrag bei <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> wird jedoch nicht gekündigt."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Löschen"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM wird gelöscht…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM kann nicht gelöscht werden"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Beim Löschen der SIM ist ein Fehler aufgetreten.\n\nBitte starte dein Gerät neu und versuch es dann noch einmal."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM wird gelöscht…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Löschen der eSIM nicht möglich"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Ein Fehler ist aufgetreten und die eSIM wurde nicht gelöscht.\n\nStarte dein Gerät neu und versuche es noch einmal."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Mit Gerät verbinden"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Die App „<xliff:g id="APPNAME">%1$s</xliff:g>“ möchte sich über ein temporäres WLAN mit deinem Gerät verbinden"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Keine Geräte gefunden. Achte darauf, dass die Geräte eingeschaltet und zur Verbindung bereit sind."</string>
@@ -4445,9 +4691,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Notrufe"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Notrufe über WLAN-Telefonie werden von deinem Mobilfunkanbieter nicht unterstützt.\nDas Gerät wechselt automatisch zu einem Mobilfunknetz, um einen Notruf abzusetzen.\nNotrufe sind nur in Bereichen mit Mobilfunkabdeckung möglich."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Für Anrufe WLAN verwenden, um die Qualität zu verbessern"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Back-up für Anrufe"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Wenn <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> oder Roaming nicht verfügbar ist, kannst du über deine SIM für mobile Daten <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-Anrufe starten und annehmen."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"Back-up für Anrufe"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Eingehende MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS kann nicht gesendet werden"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tippen, um MMS über <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> zuzulassen, wenn mobile Daten deaktiviert sind"</string>
@@ -4458,6 +4701,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informationen zu den Arbeitsrichtlinien"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Einstellungen, die von deinem IT-Administrator verwaltet werden"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Mit 16K-Seitengröße starten"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Mit 16K-Seitengröße unterstützendem Kernel starten"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Mit 16-KB-Seiten-kompatiblem Kernel neu starten?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WARNUNG: Einige Apps sind möglicherweise nicht mit diesem Modus kompatibel. Das Gerät startet nach der Bestätigung neu."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Mit 4-KB-Seiten-kompatiblem Kernel neu starten?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Das Gerät startet nach der Bestätigung neu."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Kernel konnte nicht auf mit 16-KB-Seiten kompatiblen Kernel aktualisiert werden."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Änderung wird übernommen"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Fehlerbericht-Handler"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Bestimmt, welche App die Verknüpfung zum Fehlerbericht auf deinem Gerät verarbeitet"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persönlich"</string>
@@ -4506,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Apps, die über anderen Apps angezeigt werden dürfen, dürfen auch über den Einstellungen angezeigt werden"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem zulassen"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Erlaube diesem Gerät die Ausführung des Mock Modem-Dienstes für Instrumentierungstests. Aktiviere diese Funktion nicht während der normalen Nutzung des Smartphones."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Schutzmaßnahmen für Bildschirmfreigabe deaktivieren"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Dadurch werden die vom System angewendeten Schutzmaßnahmen für Apps und Benachrichtigungen während der Bildschirmfreigabe deaktiviert"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Medien"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Mediaplayer fixieren"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Damit die Wiedergabe schnell fortgesetzt werden kann, bleibt der Mediaplayer in den Schnelleinstellungen geöffnet"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Medien auf dem Sperrbildschirm anzeigen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Damit die Wiedergabe schnell fortgesetzt werden kann, bleibt der Mediaplayer auf dem Sperrbildschirm geöffnet"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Medienempfehlungen anzeigen"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Medienempfehlungen von Assistant anzeigen"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Basierend auf deinen Aktivitäten"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Player ausblenden"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Player anzeigen"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"Medien"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Kamerasoftware-Erweiterungen zulassen"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Dadurch kann die Software von erweiterten Kamerafunktionen wie „Eyes Free“-Aufnahmetechniken standardmäßig implementiert werden."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth wird aktiviert"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-Karten"</string>
@@ -4543,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiv"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inaktiv"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"An"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Aus"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Standard für <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"Anrufe"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Klang von kompatiblen Medien wird noch voller"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Erfassung von Kopfbewegungen"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Änderungen am Ton, während du deinen Kopf bewegst, damit er natürlicher klingt"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Berechtigungen synchronisieren"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Gib <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> dieselben App-Berechtigungen, die du auch auf <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> gewährt hast"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Berechtigungen von Smartphone synchronisieren"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Gib deiner Smartwatch die gleiche App-Berechtigung, die du auch deinem Smartphone gegeben hast"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audiogerätetyp"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Unbekannt"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Lautsprecher"</string>
@@ -4797,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Mittel"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Hoch"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Diese App kann nur in einem einzigen Fenster geöffnet werden"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"An"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Aus"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Aus"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Aus"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"An"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Aus"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"An"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Aus"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Helle Displays werden dunkel und dunkle Displays hell angezeigt"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Heranzoomen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Aus"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Aus"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Nach Apps mit irreführenden Funktionen suchen"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"App-Aktivitäten auf Phishing prüfen"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Nach Apps mit irreführenden Funktionen suchen"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Nach geschäftlichen Apps mit irreführenden Funktionen suchen"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Das Passwort ist jetzt eingerichtet"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Zeiger einblenden, während der Eingabestift bewegt wird"</string>
 </resources>
diff --git a/res/values-el/arrays.xml b/res/values-el/arrays.xml
index 2884bf0..68c9e3b 100644
--- a/res/values-el/arrays.xml
+++ b/res/values-el/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Διαθέσιμος"</item>
     <item msgid="6096962300722555553">"Εκτός εμβέλειας"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Χρήση προεπιλογής συστήματος: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Μετά από 1 λεπτό"</item>
     <item msgid="1574040255478150028">"Μετά από 5 λεπτά"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-el/strings.xml b/res/values-el/strings.xml
index b233fc2..26494c2 100644
--- a/res/values-el/strings.xml
+++ b/res/values-el/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Είστε πλέον προγραμματιστής!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Δεν χρειάζεται, είστε ήδη προγραμματιστής."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Ενεργοποιήστε πρώτα τις επιλογές για προγραμματιστές."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Μόνο οι χρήστες με δικαιώματα διαχειριστή μπορούν να αποκτήσουν πρόσβαση στις ρυθμίσεις για προγραμματιστές."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Σύστημα"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Σε υπηρεσία"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Εκτός υπηρεσίας"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Η μπροστινή προβολή ενεργοποιείται όταν διπλώνετε τη συσκευή σας"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Μόνο παιχνίδια, βίντεο κ.ά."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Η μπροστινή προβολή ενεργοποιείται για εφαρμογές που αποτρέπουν την είσοδο της οθόνης σε κατάσταση αδράνειας"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Σύρετε προς τα πάνω για συνέχεια"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Διπλώστε το τηλέφωνό σας και σύρετε προς τα πάνω στην μπροστινή οθόνη για να συνεχίσετε να χρησιμοποιείτε την εφαρμογή ή περιμένετε λίγα δευτερόλεπτα για να κλειδώσει η οθόνη"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Ποτέ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Η μπροστινή προβολή κλειδώνει όταν διπλώνετε τη συσκευή σας"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Χρήση αυτόματης περιστροφής"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Σχετικά"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ήχος κλήσης και ξυπνητήρια"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Ήχος κατά τη διάρκεια κλήσεων"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Μέσα"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Ειδοποιήσεις και άλλοι ήχοι συστήματος"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Ήχοι μέσων και συστήματος"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Ειδοποιήσεις"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Από προεπιλογή, η έξοδος ήχου καθορίζεται ξεχωριστά από τις εφαρμογές"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Συσκευή Bluetooth χωρίς όνομα"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Αναζήτηση"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Ακύρωση"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Απενεργοποίηση Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Απενεργοποιεί τη λειτουργία Bluetooth LE Audio αν η συσκευή υποστηρίζει δυνατότητες εξοπλισμού LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Λειτουργία Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Εναλλαγή LE Audio στις λεπτομ. συσκευής"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Ενεργοποίηση λίστας επιτρεπόμενων Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Ενεργοποίηση λειτουργίας λίστας επιτρεπόμενων Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Παράκαμψη λίστας επιτρεπομένων Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Χρήση του LE Audio από προεπιλογή, ακόμα και αν το περιφερειακό LE Audio δεν έχει επαληθευτεί, ώστε να πληροί τα κριτήρια της λίστας επιτρεπομένων."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Συσκευές μέσων"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Συσκευές κλήσεων"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Άλλες συσκευές"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Αποθηκευμένες συσκευές"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Συσχετισμός με λογαριασμό"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Στο παρελθόν χρησιμοποιήθηκε με λογαριασμό"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Το Bluetooth θα ενεργοποιηθεί για σύζευξη"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Προτιμήσεις σύνδεσης"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Συνδέθηκαν στο παρελθόν"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Ενεργοποιημένο Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Προβολή όλων"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Εμφάνιση όλων"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Γραφίδα"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Πάτημα κουμπιού πίσω μέρους"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Προφίλ εργασίας)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Γραφή σε πεδία κειμένου"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Παράβλεψη όλων των πατημάτων του κουμπιού γραφίδας"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Γραφίδα"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Κοινή χρήση ήχου"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Κοινή χρήση ήχου"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Κλήσεις και ξυπνητήρια"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Συνδεθείτε σε μια ροή ήχου χρησιμοποιώντας τον κωδικό QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Δεν βρέθηκαν ροές ήχου κοντά."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Ημερομηνία &amp; ώρα"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Διακομιστής μεσολάβησης"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Διαγραφή"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Να προστεθούν τα %s στις προτιμώμενες γλώσσες;"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Έτσι οι εφαρμογές και οι ιστότοποι θα γνωρίζουν ότι προτιμάτε και αυτήν τη γλώσσα."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Οι ρυθμίσεις συσκευής και οι προτιμήσεις περιοχής σας θα αλλάξουν."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Αλλαγή"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Τα %s δεν είναι διαθέσιμα"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Σάββατο"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Αν μια εφαρμογή δεν υποστηρίζει τις προτιμήσεις περιοχής, θα χρησιμοποιήσει τις προεπιλεγμένες τοπικές ρυθμίσεις."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Μάθετε περισσότερα σχετικά με τις προτιμήσεις γλώσσας."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Επιπλέον προτιμήσεις"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Όροι προσφώνησης"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Ρυθμίστε πώς θέλετε να απευθύνονται σε εσάς"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Οι εφαρμογές μπορούν να χρησιμοποιήσουν τους όρους προσφώνησής σας για να εξατομικεύσετε πώς θα απευθύνονται σε εσάς."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Δεν έχει καθοριστεί"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Θηλυκό"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Αρσενικό"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Ουδέτερα"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Να αφαιρεθεί η επιλεγμένη γλώσσα;}other{Να αφαιρεθούν οι επιλεγμένες γλώσσες;}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Το κείμενο θα προβληθεί σε άλλη γλώσσα."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Δεν είναι δυνατή η κατάργηση όλων των γλωσσών"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Τοποθεσία"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Χρήση τοποθεσίας"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Απενεργοποίηση"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Ενεργή - # εφαρμογή έχει πρόσβαση στην τοποθεσία}other{Ενεργή - # εφαρμογές έχουν πρόσβαση στην τοποθεσία}}"</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_location_off" msgid="8568995909147566720">"Η πρόσβαση στην τοποθεσία είναι απενεργοποιημένη για τις εφαρμογές και τις υπηρεσίες. Η τοποθεσία της συσκευής σας ενδέχεται ωστόσο να αποστέλλεται στους χειριστές των κέντρων εκτάκτων αναγκών, όταν καλείτε ή στέλνετε μήνυμα σε έναν αριθμό έκτακτης ανάγκης."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Μάθετε περισσότερα σχετικά με τις ρυθμίσεις τοποθεσίας."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Μάθετε περισσότερα σχετικά με τις Ρυθμίσεις τοποθεσίας"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Αλλαγή πρόσβασης τοποθεσίας από Ρυθμίσεις &gt; Ασφάλεια και απόρρητο &gt; Στοιχεία ελέγχου απορρήτου"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Λογαριασμοί"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Ασφάλεια"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Κρυπτογράφηση και διαπιστευτήρια"</string>
@@ -276,7 +302,7 @@
     <string name="security_settings_face_preference_summary_none" msgid="523320857738436024">"Απαιτείται ρύθμιση"</string>
     <string name="security_settings_face_preference_title" msgid="2126625155005348417">"Ξεκλείδωμα με το πρόσωπο"</string>
     <string name="security_settings_face_profile_preference_title" msgid="7519527436266375005">"Ξεκλείδωμα με το πρόσωπο για επαγγελματική χρήση"</string>
-    <string name="security_settings_face_enroll_education_title" msgid="6448806884597691208">"Τρόπος ρύθμισης του Ξεκλειδώματος με το πρόσωπο"</string>
+    <string name="security_settings_face_enroll_education_title" msgid="6448806884597691208">"Ρύθμιση του Ξεκλειδ.με το πρόσωπο"</string>
     <string name="security_settings_face_enroll_education_title_accessibility" msgid="3701874093226957891">"Ρύθμιση της λειτουργίας Ξεκλείδωμα με το πρόσωπο"</string>
     <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"Χρήση προσώπου για έλεγχο ταυτότητας"</string>
     <string name="security_settings_face_enroll_education_message" msgid="4308030157487176799"></string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Για βέλτιστα αποτελέσματα, χρησιμοποιήστε ένα προστατευτικό οθόνης που έχει την πιστοποίηση Made for Google. Με άλλα προστατευτικά οθόνης ενδέχεται να μην λειτουργεί το δακτυλικό αποτύπωμα του παιδιού σας."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Ξεκλείδωμα ρολογιού"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Όταν ρυθμίσετε το Ξεκλείδωμα με το πρόσωπο και το Ξεκλείδωμα με δακτυλικό αποτύπωμα, το τηλέφωνό σας θα ζητά το δακτυλικό σας αποτύπωμα όταν φοράτε μάσκα ή βρίσκεστε σε σκοτεινό χώρο.\n\nΜπορείτε να ξεκλειδώσετε το τηλέφωνο με το ρολόι σας όταν δεν αναγνωρίζεται το πρόσωπο ή το δακτυλικό σας αποτύπωμα."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Μπορείτε να ξεκλειδώσετε το τηλέφωνο με το ρολόι σας όταν δεν αναγνωρίζεται το δακτυλικό σας αποτύπωμα."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Μπορείτε να ξεκλειδώσετε το τηλέφωνο με το ρολόι σας όταν δεν αναγνωρίζεται το πρόσωπό σας."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Όταν ρυθμίσετε το Ξεκλείδωμα με το πρόσωπο και το Ξεκλείδωμα με δακτυλικό αποτύπωμα, το τηλέφωνό σας θα ζητά το δακτυλικό σας αποτύπωμα όταν φοράτε μάσκα ή βρίσκεστε σε σκοτεινό χώρο.\n\nΤο Ξεκλείδωμα ρολογιού είναι ένας άλλος βολικός τρόπος για να ξεκλειδώνετε το τηλέφωνό σας όταν, για παράδειγμα, τα δάχτυλά σας είναι βρεγμένα ή όταν δεν αναγνωρίζεται το πρόσωπό σας."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Το Ξεκλείδωμα ρολογιού είναι ένας άλλος βολικός τρόπος για να ξεκλειδώνετε το τηλέφωνό σας όταν, για παράδειγμα, δεν αναγνωρίζεται το δακτυλικό σας αποτύπωμα."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Το Ξεκλείδωμα ρολογιού είναι ένας άλλος βολικός τρόπος για να ξεκλειδώνετε το τηλέφωνό σας, για παράδειγμα, όταν δεν αναγνωρίζεται το πρόσωπό σας."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Χρήση δακτυλικού αποτυπώματος ή ρολογιού για"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Χρήση προσώπου ή ρολογιού για"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Χρήση προσώπου, δακτυλικού αποτυπώματος ή ρολογιού για"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Το ξεκλείδωμα ρολογιού είναι ένας άλλος βολικός τρόπος για να ξεκλειδώνετε αυτό το τηλέφωνο, για παράδειγμα, όταν τα δάχτυλά σας είναι βρεγμένα ή δεν αναγνωρίζεται το πρόσωπό σας.\n\nΜπορείτε να χρησιμοποιήσετε το ρολόι σας για να ξεκλειδώσετε αυτό το τηλέφωνο όταν:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Όχι τώρα"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Συνέχεια"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Περισσότερα"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Πώς λειτουργεί"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Το ρολόι σας πρέπει να είναι ξεκλειδωμένο, να το φοράτε στον καρπό σας και να βρίσκεται κοντά στο τηλέφωνο. Δεν θα χρειαστεί να ξεκλειδώσετε ξανά το ρολόι σας όσο το φοράτε στον καρπό σας."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Όταν αυτό το τηλέφωνο ξεκλειδώνεται, θα ειδοποιείστε στο ρολόι σας. Αν ξεκλειδωθεί κατά λάθος, πατήστε την ειδοποίηση για να κλειδώσετε ξανά το τηλέφωνο."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Εσείς έχετε τον έλεγχο"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Μπορείτε να καταργήσετε το ρολόι σας από το ξεκλείδωμα ρολογιού οποιαδήποτε στιγμή στις Ρυθμίσεις"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Πατήστε μια ειδοποίηση"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Σύρετε προς τα επάνω στην οθόνη κλειδώματος"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Επιλέξτε το ρολόι σας"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Διαθέσιμα ρολόγια"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Ακύρωση"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Επιβεβαίωση"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Είστε έτοιμοι!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Μπορείτε πλέον να χρησιμοποιήσετε το ρολόι σας για να ξεκλειδώσετε αυτό το τηλέφωνο όταν σύρετε προς τα πάνω στην οθόνη κλειδώματος ή πατήσετε μια ειδοποίηση"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Τέλος"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Ξεκλείδωμα ρολογιού"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Μπορείτε να χρησιμοποιήσετε το ρολόι σας για να ξεκλειδώσετε αυτό το τηλέφωνο όταν σύρετε προς τα πάνω στην οθόνη κλειδώματος ή πατήσετε μια ειδοποίηση"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Για να χρησιμοποιήσετε το Ξεκλείδωμα ρολογιού, το ρολόι σας πρέπει να είναι ξεκλειδωμένο, να το φοράτε στον καρπό σας, να βρίσκεται κοντά και να είναι συνδεδεμένο σε αυτό το τηλέφωνο. Αν η σύνδεση διακοπεί, θα χρειαστεί να ξεκλειδώσετε το τηλέφωνο για να μπορέσετε να χρησιμοποιήσετε το Ξεκλείδωμα ρολογιού.\n\nΝα θυμάστε ότι:\nΜπορείτε να ρυθμίσετε μόνο ένα ρολόι τη φορά. Διαγράψτε πρώτα το τρέχον ρολόι για να προσθέσετε ένα άλλο."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Ξεκλείδωμα με πρόσωπο και δακτυλικό αποτύπωμα για την εργασία"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Απαιτείται ρύθμιση"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Ασφάλεια"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Απόρρητο"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Προφίλ εργασίας"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Απόρρητος χώρος"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Διατηρήστε τις ιδιωτικές εφαρμογές κλειδωμένες και κρυφές"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Διατηρήστε τις ιδιωτικές εφαρμογές σας σε ξεχωριστό χώρο που μπορείτε να κρύψετε ή να κλειδώσετε"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Κλείδωμα απόρρητου χώρου"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Μπορείτε να ξεκλειδώσετε τον απόρρητο χώρο όπως ξεκλειδώνετε τη συσκευή σας ή να επιλέξετε διαφορετικό κλείδωμα"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Χρήση κλειδώματος οθόνης συσκευής"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Ξεκλείδωμα με το πρόσωπο και με δακτυλικό αποτύπωμα"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Ξεκλείδωμα με δακτυλικό αποτύπωμα"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Ξεκλείδωμα με το πρόσωπο"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Πατήστε για ρύθμιση"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Ξεκλείδωμα με δακτυλικό αποτύπωμα για απόρρητο χώρο"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Ξεκλείδωμα με το πρόσωπο για απόρρητο χώρο"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Τρόποι ξεκλειδώματος"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Ίδιο με το κλείδωμα οθόνης της συσκευής"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Επιλογή νέου κλειδώματος για τον απόρρητο χώρο;"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Αυτόματο κλείδωμα απόρρητου χώρου"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Μπορείτε να κλειδώσετε αυτόματα τον απόρρητο χώρο σας αν δεν έχετε χρησιμοποιήσει τη συσκευή σας για μεγάλο χρονικό διάστημα"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Κάθε φορά που κλειδώνεται η συσκευή"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Μετά από 5 λεπτά αδράνειας"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Ποτέ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Απόκρυψη κατά το κλείδωμα"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Απόκρυψη απόρρητου χώρου κατά το κλείδωμα"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Για να μην γνωρίζουν άλλοι ότι έχετε κάποιον απόρρητο χώρο στη συσκευή σας, μπορείτε να τον κρύψετε ώστε να μην εμφανίζεται στη λίστα εφαρμογών"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Πρόσβαση στον απόρρητο χώρο κατά την απόκρυψη"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Στη λίστα εφαρμ., πληκτρ. \"απόρρητος χώρος\" στη γραμμή αναζ."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Πατήστε το πλακάκι του απόρρητου χώρου"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Ξεκλείδωμα απόρρητου χώρου"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Ανενεργός"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ενεργός"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Σύστημα"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Διαγραφή απόρρητου χώρου"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Διαγραφή απόρρητου χώρου;"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Ο απόρρητος χώρος σας θα καταργηθεί από τη συσκευή σας. Όλες οι ιδιωτικές εφαρμογές και τα δεδομένα θα διαγραφούν. Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Οι ακόλουθοι λογαριασμοί θα καταργηθούν από τον απόρρητο χώρο σας:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Διαγραφή"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Διαγραφή απόρρητου χώρου…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Η διαδικασία θα διαρκέσει λίγη ώρα"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Ο απόρρητος χώρος διαγράφηκε"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Δεν ήταν δυνατή η διαγραφή του απόρρητου χώρου"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Ο απόρρητος χώρος ξεκλειδώθηκε"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ορισμός κλειδώματος οθόνης"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Για να χρησιμοποιήσετε τον ιδιωτικό χώρο σας, ορίστε ένα κλείδωμα οθόνης στη συσκευή"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ρύθμιση κλειδώματος οθόνης"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Ακύρωση"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Ακύρωση"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Ρύθμιση"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Ρύθμιση ιδιωτικού χώρου"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Διατηρήστε τις ιδιωτικές εφαρμογές σας σε ξεχωριστό χώρο που μπορείτε να κρύψετε ή να κλειδώσετε"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Πώς λειτουργεί"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Μπορείτε να αποκτήσετε πρόσβαση στον ιδιωτικό χώρο σας από το κάτω μέρος της λίστας εφαρμογών"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Οι εφαρμογές στον ιδιωτικό χώρο προστατεύονται με κλείδωμα"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Οι ειδοποιήσεις από εφαρμογές στον ιδιωτικό χώρο είναι κρυφές όταν είναι κλειδωμένος"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Οι εφαρμογές στον ιδιωτικό χώρο σας δεν θα εμφανίζονται στη Διαχείριση αδειών, στον πίνακα ελέγχου απορρήτου και σε άλλες ρυθμίσεις όταν ο ιδιωτικός χώρος είναι κλειδωμένος.\n\nΟ ιδιωτικός χώρος σας δεν μπορεί να μετακινηθεί σε νέα συσκευή. Θα πρέπει να δημιουργήσετε άλλον ιδιωτικό χώρο αν επιθυμείτε να τον χρησιμοποιήσετε σε μια άλλη συσκευή.\n\nΕάν κάποιος συνδέσει τη συσκευή σας σε έναν υπολογιστή ή εγκαταστήσει επιβλαβείς εφαρμογές στη συσκευή σας, μπορεί να αποκτήσει πρόσβαση στον ιδιωτικό χώρο σας."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Ρύθμιση ιδιωτικού χώρου…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Οι ειδοποιήσεις από εφαρμογές του απόρρητου χώρου είναι κρυφές όταν είναι κλειδωμένος"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Ξεκλείδωμα απόρρητου χώρου για την κοινοποίηση φωτογραφιών ή αρχείων"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Ορισμένες εφαρμογές έχουν ήδη εγκατασταθεί στον ιδιωτικό χώρο σας"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Δεν ήταν δυνατή η ρύθμιση ενός απόρρητου χώρου"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Επανάληψη"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Χρήση κλειδώματος οθόνης για τον ιδιωτικό χώρο;"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Μπορείτε να ξεκλειδώσετε τον ιδιωτικό χώρο όπως ξεκλειδώνετε τη συσκευή σας ή να επιλέξετε διαφορετικό κλείδωμα"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Χρήση κλειδώματος οθόνης"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Επιλογή νέου κλειδώματος"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Όλα έτοιμα!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Για να βρείτε τον απόρρητο χώρο, μεταβείτε στη λίστα εφαρμογών και έπειτα κάντε κύλιση προς τα κάτω"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Τέλος"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Κάντε κύλιση προς τα κάτω για να βρείτε τον ιδιωτικό χώρο"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Σύνδεση"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Συνδεθείτε σε έναν λογαριασμό για χρήση με τον απόρρητο χώρο"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Όχι τώρα"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Συνέχεια"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Επιλέξτε ένα κλείδωμα για τον ιδιωτικό χώρο σας"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Μπορείτε να ξεκλειδώσετε τον ιδιωτικό χώρο χρησιμοποιώντας το δακτυλικό σας αποτύπωμα. Για λόγους ασφάλειας, αυτή η επιλογή απαιτεί εφεδρικό κλείδωμα."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Ορισμός PIN απόρρητου χώρου"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Ορισμός κωδ. πρόσβασης απόρρητου χώρου"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Ορισμός μοτίβου απόρρητου χώρου"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Μπορείτε να προσθέσετε έως <xliff:g id="COUNT">%d</xliff:g> δακτυλικά αποτυπώματα"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Έχετε προσθέσει τον μέγιστο αριθμό δακτυλικών αποτυπωμάτων"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Δεν είναι δυνατή η προσθήκη περισσότερων δακτυλικών αποτυπωμάτων"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Μοτίβο"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Κωδικός πρόσβασης"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Διαγραφή κλειδώματος οθόνης;"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Να καταργηθούν όλοι οι τύποι ξεκλειδώματος συσκευής;"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Κατάργηση προστασίας προφίλ;"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Ένα μοτίβο προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Ένα μοτίβο προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Αυτή η ενέργεια θα διαγράψει το μοντέλο δακτυλικού αποτυπώματος που είναι αποθηκευμένο στη συσκευή σας. Επίσης, το μοντέλο προσώπου θα διαγραφεί οριστικά και με ασφάλεια. Δεν θα μπορείτε να χρησιμοποιείτε το πρόσωπο ή το δακτυλικό σας αποτύπωμα για τον έλεγχο ταυτότητας σε εφαρμογές."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Ένα PIN προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Θα χάσετε αποθηκευμένα δεδομένα, όπως είναι το PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Οι κάρτες που έχουν ρυθμιστεί για ανεπαφικές πληρωμές θα καταργηθούν.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Τα πορτοφόλια και άλλες εφαρμογές που απαιτούν το ξεκλείδωμα της συσκευής μπορεί να μην λειτουργούν σωστά."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Ένα PIN προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Επίσης, αυτή η ενέργεια θα διαγράψει το μοντέλο δακτυλικού αποτυπώματος που είναι αποθηκευμένο στη συσκευή σας. Δεν θα μπορείτε να χρησιμοποιείτε το δακτυλικό σας αποτύπωμα για τον έλεγχο ταυτότητας σε εφαρμογές."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Θα χάσετε αποθηκευμένα δεδομένα, όπως είναι το PIN και το μοντέλο δακτυλικών αποτυπωμάτων.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Οι κάρτες που έχουν ρυθμιστεί για ανεπαφικές πληρωμές θα καταργηθούν.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Τα πορτοφόλια και άλλες εφαρμογές που απαιτούν το ξεκλείδωμα της συσκευής μπορεί να μην λειτουργούν σωστά."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Ένα PIN προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Επίσης, το μοντέλο προσώπου θα διαγραφεί οριστικά και με ασφάλεια. Δεν θα μπορείτε να χρησιμοποιείτε το πρόσωπό σας για τον έλεγχο ταυτότητας σε εφαρμογές."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Θα χάσετε αποθηκευμένα δεδομένα, όπως είναι το PIN και το μοντέλο προσώπου.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Οι κάρτες που έχουν ρυθμιστεί για ανεπαφικές πληρωμές θα καταργηθούν.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Τα πορτοφόλια και άλλες εφαρμογές που απαιτούν το ξεκλείδωμα της συσκευής μπορεί να μην λειτουργούν σωστά."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Ένα PIN προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Αυτή η ενέργεια θα διαγράψει το μοντέλο δακτυλικού αποτυπώματος που είναι αποθηκευμένο στη συσκευή σας. Επίσης, το μοντέλο προσώπου θα διαγραφεί οριστικά και με ασφάλεια. Δεν θα μπορείτε να χρησιμοποιείτε το πρόσωπο ή το δακτυλικό σας αποτύπωμα για τον έλεγχο ταυτότητας σε εφαρμογές."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Θα χάσετε αποθηκευμένα δεδομένα, όπως είναι το PIN, το μοντέλο προσώπου και το μοντέλο δακτυλικών αποτυπωμάτων.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Οι κάρτες που έχουν ρυθμιστεί για ανεπαφικές πληρωμές θα καταργηθούν.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Τα πορτοφόλια και άλλες εφαρμογές που απαιτούν το ξεκλείδωμα της συσκευής μπορεί να μην λειτουργούν σωστά."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Ένας κωδικός πρόσβασης προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Ένας κωδικός πρόσβασης προστατεύει το τηλέφωνό σας σε περίπτωση απώλειας ή κλοπής.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Σύζευξη με <xliff:g id="DEVICE_NAME">%1$s</xliff:g>;"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Προσθέστε νέο μέλος στο υπάρχον συντονισμένο σύνολο"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Επιβεβαιώστε για προσθήκη του δεύτερου μέρους της συσκευής ήχου"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Κωδικός σύζευξης Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Πληκτρολογήστε τον κωδικό σύζευξης και, στη συνέχεια, πατήστε Επιστροφή ή Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Το PIN περιέχει γράμματα ή σύμβολα"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Πρέπει να περιέχει 16 ψηφία"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Επίσης, ενδέχεται να χρειαστεί να πληκτρολογήσετε αυτό το PIN στην άλλη συσκευή."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Επίσης, ενδέχεται να χρειαστεί να πληκτρολογήσετε το κλειδί πρόσβασης στην άλλη συσκευή."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Επιβεβαίωση σύζευξης με συντονισμένο σύνολο συσκευών"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Επιβεβαιώστε για σύζευξη με τη συσκευή ήχου"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Να επιτρέπεται η πρόσβαση στις επαφές σας και στο ιστορικό κλήσεων"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Επιτρέψτε επίσης την πρόσβαση στις επαφές και το ιστορικό κλήσεων"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Οι πληροφορίες θα χρησιμοποιούνται για ανακοινώσεις κλήσεων κ.ά."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Δεν ήταν δυνατή η σύνδεση με τη συσκευή <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Διαθέσιμες συσκευές"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Σύνδεση"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Αποσύνδεση"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Σύζευξη και σύνδεση"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Όταν είναι ενεργοποιημένο το Bluetooth, η συσκευή σας μπορεί να επικοινωνεί με άλλες συσκευές Bluetooth που βρίσκονται κοντά."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Με ενεργό το Bluetooth, η συσκευή μπορεί να επικοινωνεί με άλλες κοντινές συσκευές Bluetooth"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Όταν είναι ενεργό το Bluetooth, η συσκευή σας μπορεί να επικοινωνεί με άλλες κοντινές συσκευές Bluetooth.\n\nΓια τη βελτίωση της εμπειρίας χρήσης της συσκευής, οι εφαρμογές και οι υπηρεσίες μπορούν ακόμα να πραγματοποιούν σάρωση για συσκευές σε κοντινή απόσταση ανά πάσα στιγμή, ακόμα και όταν το Bluetooth είναι απενεργοποιημένο. Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη βελτίωση λειτουργιών και υπηρεσιών που εκτελούνται βάσει τοποθεσίας. Μπορείτε να αλλάξετε αυτή την επιλογή στις ρυθμίσεις σάρωσης Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Αλλαγή"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Λεπτομέρειες συσκευής"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Επιτρέψτε στο ART να επαληθεύσει τον κώδικα byte για εφαρμογές με δυνατότητα εντοπισμού σφαλμάτων"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Εμφάνιση ρυθμού ανανέωσης"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Εμφάνιση του τρέχοντα ρυθμού ανανέωσης"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Εμφάνιση αναλογίας HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Εμφάνιση της τρέχουσας αναλογίας HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Να απαιτείται ξεκλείδωμα της συσκευής για το NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Σε λειτουργία πτήσης"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Ειδοποίηση για δημόσια δίκτυα"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Να εμφανίζεται ειδοποίηση όταν υπάρχει διαθέσιμο δημόσιο δίκτυο υψηλής ποιότητας"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Να επιτρέπονται δίκτυα WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"Το WEP είναι ένα παλαιότερο πρωτόκολλο ασφαλείας που είναι λιγότερο ασφαλές"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Η εταιρεία κινητής τηλεφωνίας σας δεν επιτρέπει δίκτυα WEP επειδή είναι λιγότερο ασφαλή"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Αυτόματη ενεργοποίηση Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Το Wi‑Fi θα ενεργοποιείται ξανά κοντά σε αποθηκευμένα δίκτυα υψηλής ποιότητας, όπως το οικιακό δίκτυό σας"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Μη διαθέσιμο επειδή η τοποθεσία είναι απενεργοποιημένη Ενεργοποιήστε την "<annotation id="link">"τοποθεσία"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Η σάρωση Wi-Fi επιτρέπει στις εφαρμογές και στις υπηρεσίες να εκτελούν σάρωση για δίκτυα Wi‑Fi ανά πάσα στιγμή, ακόμη και όταν το Wi‑Fi είναι απενεργοποιημένο. Αυτό μπορεί να χρησιμοποιηθεί, για παράδειγμα, για τη βελτίωση λειτουργιών και υπηρεσιών που παρέχονται βάσει τοποθεσίας."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ενεργοποίηση"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Ενεργοποιήθηκε η σάρωση Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Αυτό το δίκτυο χρησιμοποιεί ένα παλαιότερο πρωτόκολλο ασφαλείας που είναι λιγότερο ασφαλές"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Το <xliff:g id="NAME">%1$s</xliff:g> αποκλείστηκε"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Αυτό το δίκτυο χρησιμοποιεί ένα παλαιότερο πρωτόκολλο ασφαλείας με την ονομασία WEP, το οποίο είναι λιγότερο ασφαλές. Για να συνδεθείτε, μπορείτε να επιτρέψετε τα δίκτυα WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Επειδή αυτό το δίκτυο χρησιμοποιεί παλαιότερο πρωτόκολλο ασφαλείας που είναι λιγότερο ασφαλές, η εταιρεία κινητής τηλεφωνίας σας δεν επιτρέπει τη σύνδεση σε αυτό"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Να επιτρέπεται το WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Κλείσιμο"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Σύνθετες επιλογές"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Σύνθετες επιλογές αναπτυσσόμενης λίστας"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ανάπτυξη"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Παραμονή σε Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Να μην εμφανιστεί ξανά"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Σύνδεση"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Το Wi-Fi ενεργοποιήθηκε"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Σύνδεση σε <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Σύνδεση στο δίκτυο <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Σύνδεση…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Αποτυχία σύνδεσης στο δίκτυο"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Το δίκτυο δεν βρίσκεται εντός εμβέλειας"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Διαγραφή"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Τροποποίηση"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Αποτυχία κατάργησης απομνημόνευσης δικτύου"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Αποθήκευση"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Αποτυχία αποθήκευσης δικτύου"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Ακύρωση"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Δεδομένα κινητής τηλεφωνίας"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Φόρτιση σε εξέλιξη"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Φόρτιση σε εξέλιξη"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Σύνδεση σε σημείο πρόσβασης Wi-Fi"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Ισχύς σύνδεσης"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Αποθηκευμένα δίκτυα"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Δεν έχει οριστεί κωδικός πρόσβασης"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Όνομα σημείου πρόσβασης Wi-Fi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Κωδικός σημείου πρόσβασης Wi-Fi"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Ζώνη σημείου πρόσβασης"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Αυτόματη απενεργοποίηση σημείου πρόσβασης Wi-Fi"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Όταν δεν υπάρχουν συνδεδεμένες συσκευές"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Επέκταση συμβατότητας"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Εμφάνιση ισορροπίας λευκού"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Συνέχιση χρήσης εφαρμογών κατά την αναδίπλωση"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Αυξάνει αυτόματα τον ρυθμό ανανέωσης από τα 60 στα <xliff:g id="ID_1">%1$s</xliff:g> Hz για ορισμένο περιεχόμενο. Αυξάνει τη χρήση μπαταρίας."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Απεν. προεπ. ρυθμού καρέ παιχ."</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Απενεργοποίηση περιορισμού μέγιστου ρυθμού καρέ για παιχνίδια στα <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Αυξάνει αυτόματα τον ρυθμό ανανέωσης έως και <xliff:g id="ID_1">%1$d</xliff:g> Hz για ορισμένο περιεχόμενο. Αυξάνει τη χρήση μπαταρίας."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Επιβολή μέγιστου ρυθμού ανανέωσης"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Ο υψηλότερος δυνατός ρυθμός ανανέωσης για βελτιωμένη απόκριση αφής και ποιότητα κινούμενων εικόνων. Αυξάνει τη χρήση της μπαταρίας."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Παρακολούθηση οθόνης"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Η λειτουργία Παρακολούθηση οθόνης χρησιμοποιεί την μπροστινή κάμερα για να διαπιστώσει αν κάποιος χρήστης κοιτάζει την οθόνη. Λειτουργεί στη συσκευή και οι εικόνες δεν αποθηκεύονται ούτε αποστέλλονται στην Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ενεργοποίηση παρακολούθησης οθόνης"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Η οθόνη διατηρείται αναμμένη όταν την κοιτάτε"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Θα χρησιμοποιηθεί περισσότερη μπαταρία, εάν το χρονικό όριο κλεισίματος οθόνης είναι μεγαλύτερο."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Η κάμερα είναι κλειδωμένη"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Η κάμερα πρέπει να είναι ξεκλειδωμένη για την Ανίχνευση προσώπων"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Η κάμερα πρέπει να είναι ξεκλειδωμένη για την Παρακολούθηση οθόνης"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"Αριθμός IMEI (υποδοχή κάρτας <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"Αριθμός IMEI (υποδοχή κάρτας <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (κύρια)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Για προβολή, επιλέξτε το αποθηκευμένο δίκτυο"</string>
+    <string name="status_imei" msgid="5719752369250485007">"Αριθμός IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"ΛΕΠΤΟ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Έκδοση PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Επίπεδο μπαταρίας"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Κοινόχρηστες"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Κοινόχρηστες ρυθμίσεις"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Ανταλλαγή μηνυμάτων μέσω δορυφόρου"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Επεξ/σία σημ. πρόσβ."</string>
+    <string name="apn_add" msgid="9069613192201630934">"Προσθήκη σημείου πρόσβασης"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Δεν έχει ρυθμιστεί"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Δεν ορίστηκε"</string>
     <string name="apn_name" msgid="6677695784108157953">"Όνομα"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Το APN έχει ενεργοποιηθεί"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Απενεργοποιημένο APN"</string>
     <string name="bearer" msgid="3231443241639159358">"Φορέας"</string>
+    <string name="network_type" msgid="748590707422733595">"Τύπος δικτύου"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Δεν έχει καθοριστεί"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Τύπος MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Τιμή MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Διαγραφή APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Αποθ/ση"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Ακύρωση"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Διπλότυπη καταχώριση APN."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Το πεδίο Όνομα δεν μπορεί να είναι κενό."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Το APN δεν μπορεί να είναι κενό."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Το πεδίο MCC πρέπει να αποτελείται από 3 ψηφία."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Το πεδίο MNC πρέπει να αποτελείται από 2 ή 3 ψηφία."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Η εταιρεία κινητής τηλεφωνίας δεν επιτρέπει την προσθήκη APN του τύπου %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Το πεδίο MMSC πρέπει να είναι έγκυρο."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Επαναφορά προεπιλεγμένων ρυθμίσεων APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Επαναφορά στις προεπιλογές"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Η επαναφορά των προεπιλογών APN ολοκληρώθηκε."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Επαναφορά"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Έγινε επαναφορά των ρυθμίσεων Bluetooth και Wi‑Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Διαγραφή των eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Με αυτή την ενέργεια, δεν θα ακυρωθεί κανένα πρόγραμμα υπηρεσιών κινητής τηλεφωνίας. Για τη λήψη SIM αντικατάστασης, επικοινωνήστε με την εταιρεία κινητής τηλεφωνίας σας."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Αυτή η ενέργεια δεν θα ακυρώσει το πρόγραμμα υπηρεσιών κινητής τηλεφωνίας σας. Για να λάβετε μια αντικατάσταση για τη SIM, επικοινωνήστε με την εταιρεία κινητής τηλεφωνίας σας."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Επαναφορά ρυθμίσεων"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Επαναφορά όλων των ρυθμίσεων δικτύου; Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Επαναφορά όλων των ρυθμίσεων δικτύου και διαγραφή των eSIM; Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Να γίνει επαναφορά;"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Η επαναφορά δικτύου δεν είναι διαθέσιμη γι\' αυτόν το χρήστη"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Έγινε επαναφορά των ρυθμίσεων δικτύου."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Δεν είναι δυνατή η διαγραφή των SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Δεν είναι δυνατή η διαγραφή των eSIM λόγω σφάλματος.\n\nΕπανεκκινήστε τη συσκευή σας και δοκιμάστε ξανά."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Δεν είναι δυνατή η διαγραφή των eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Προέκυψε πρόβλημα και οι eSIM δεν διαγράφηκαν.\n\nΕπανεκκινήστε τη συσκευή και δοκιμάστε ξανά."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Διαγραφή όλων των δεδομένων (επαναφ. ρυθμίσεων)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Διαγρ. δεδομ. (εργ. επαναφ.)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Μουσική"</li>\n<li>"Φωτογραφίες"</li>\n<li>"Άλλα δεδομένα χρήστη"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Με αυτή την ενέργεια, δεν θα ακυρωθεί το πρόγραμμα υπηρεσιών κινητής τηλεφωνίας που χρησιμοποιείτε."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Θα διαγραφούν όλα τα προσωπικά στοιχεία και όλες οι ληφθείσες εφαρμογές σας. Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Θα διαγραφούν όλα τα προσωπικά στοιχεία, μεταξύ άλλων οι ληφθείσες εφαρμογές σας και οι SIM. Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Θα διαγραφούν όλα τα προσωπικά στοιχεία, μεταξύ άλλων οι ληφθείσες εφαρμογές σας και οι eSIM. Δεν μπορείτε να αναιρέσετε αυτή την ενέργεια."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Διαγραφή όλων των δεδομένων;"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Η επαναφορά των εργοστασιακών ρυθμίσεων δεν είναι διαθέσιμη γι\' αυτόν το χρήστη."</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Διαγραφή"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Σημείο πρόσβασης Wi-Fi, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Δεν γίνεται κοινή χρήση του διαδικτύου με άλλες συσκευές"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Ανενεργό"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Σύνδεση"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Να μην χρησιμοποιηθεί σημείο πρόσβασης Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Κοινή χρήση διαδικτύου μόνο μέσω USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Κοινοποίηση μόνο μέσω Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Κοινή χρήση διαδικτύου μόνο μέσω Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Κοινή χρήση διαδικτύου μόνο μέσω USB και Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Κοινή χρήση διαδικτύου μόνο μέσω USB και Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Κοινή χρήση διαδικτύου μόνο μέσω Bluetooth και Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Κοινή χρήση διαδικτύου μόνο μέσω USB, Bluetooth και Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Σύνδεση με USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Σύνδεση με Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Σύνδεση Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Χρησιμοποιήστε το σημείο πρόσβασης Wi-Fi και τη σύνδεση, για να παρέχετε σύνδεση στο διαδίκτυο σε άλλες συσκευές, μέσω του δικτύου Wi-Fi ή της σύνδεσης δεδομένων κινητής τηλεφωνίας που χρησιμοποιείτε. Οι εφαρμογές μπορούν επίσης να δημιουργούν ένα σημείο πρόσβασης Wi-Fi, για να μοιράζονται περιεχόμενο με κοντινές συσκευές."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Βοήθεια"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Δίκτυο κινητής τηλεφωνίας"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Πρόγραμμα κινητής τηλεφωνίας"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Εφαρμογή SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Αλλαγή εφαρμογής SMS;"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Χρήση του <xliff:g id="NEW_APP">%1$s</xliff:g> αντί του <xliff:g id="CURRENT_APP">%2$s</xliff:g> ως εφαρμογή SMS;"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Αλλαγή βοηθού Wi-Fi;"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Χρήση της εφαρμογής <xliff:g id="NEW_APP">%1$s</xliff:g> αντί για την εφαρμογή <xliff:g id="CURRENT_APP">%2$s</xliff:g> για τη διαχείριση των συνδέσεων δικτύου σας;"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Χρήση της εφαρμογής <xliff:g id="NEW_APP">%s</xliff:g> για τη διαχείριση των συνδέσεων δικτύου σας;"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Κάρτα SIM άγνωστης εταιρείας κινητής τηλεφωνίας"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Ο τελεστής <xliff:g id="OPERATOR">%1$s</xliff:g> δεν διαθέτει γνωστό ιστότοπο παροχής"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Εισαγάγετε την κάρτα SIM και κάντε επανεκκίνηση"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Συνδεθείτε στο διαδίκτυο"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Πρόσφατα αιτήματα τοποθεσίας"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Τοποθεσία για προφίλ εργασίας"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Άδειες τοποθεσίας εφαρμογών"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Διαγραφή πρόσβασης"</string>
     <string name="controls_label" msgid="8671492254263626383">"Στοιχεία ελέγχου"</string>
     <string name="force_stop" msgid="2681771622136916280">"Αναγκαστική διακοπή"</string>
+    <string name="archive" msgid="9074663845068632127">"Αρχειοθέτηση"</string>
+    <string name="restore" msgid="7622486640713967157">"Επαναφορά"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Επαναφορά"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Επαναφορά."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Επαναφορά…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Επαναφορά…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Σύνολο"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Μέγεθος εφαρμογής"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Εφαρμογή αποθηκευτικού χώρου USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Δεν ήταν δυνατός ο υπολογισμός του μεγέθους του πακέτου."</string>
     <string name="version_text" msgid="7628938665256107608">"έκδοση <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Μετακίνηση"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Η αρχειοθέτηση απέτυχε"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Αρχειοθετήθηκε η εφαρμογή <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Η επαναφορά απέτυχε"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Γίνεται επαναφορά του στοιχείου <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Μια άλλη μετεγκατάσταση είναι ήδη σε εξέλιξη."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Δεν υπάρχει επαρκής αποθηκευτικός χώρος."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Η εφαρμογή δεν υπάρχει."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Διαθέσιμο πληκτρολόγιο οθόνης"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Διαχείριση πληκτρολογίων οθόνης"</string>
     <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="6922850403920596246">"Ενεργοποιήστε τα ελαστικά πλήκτρα για προσβασιμότητα σε φυσικό πληκτρολόγιο"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Αργά πλήκτρα"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Ενεργοποιήστε την επιλογή Αργά πλήκτρα για προσβασιμότητα σε φυσικό πληκτρολόγιο"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Ασύγχρονα πλήκτρα"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Ενεργοποιήστε τα ασύγχρονα πλήκτρα για προσβασιμότητα σε φυσικό πληκτρολόγιο"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Πατήστε κάτω δεξιά στην επιφάνεια αφής για περισ. επιλογές."</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Ταχύτητα δείκτη"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Μάθετε κινήσεις επιφάνειας αφής"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Μετάβαση στην αρχική οθόνη"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Σύρετε επάνω με τρία δάχτ. από οποιοδ. σημείο της επιφ. αφής"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Επιστροφή"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ταξινόμηση κατά χρόνο χρήσης"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ταξινόμηση κατά τελευταία χρήση"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ταξινόμηση κατά όνομα εφαρμογής"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Τελευταία χρήση"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Τελευταία χρήση"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ποτέ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Χρόνος χρήσης"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Προσβασιμότητα"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Ρυθμίσεις προσβασιμότητας"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Μεγέθ. με 3πλό πάτημα"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Συντόμ. μεγέθυνσης"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Μεγέθυνση με συντόμευση και τριπλό πάτημα"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Σχετικά με <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Χρήση κουμπιού προσβασιμότητας για άνοιγμα"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Παρατεταμένο πάτημα πλήκτρων έντασης για άνοιγμα"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Πατήστε τρεις φορές για να ανοίξει η οθόνη"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Διπλό πάτημα οθόνης με δύο δάχτυλα για άνοιγμα"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Χρήση κίνησης για άνοιγμα"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Χρήση κίνησης προσβασιμότητας"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, πατήστε το κουμπί προσβασιμότητας <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> στο κάτω μέρος της οθόνης.\n\nΓια εναλλαγή μεταξύ λειτουργιών, αγγίξτε παρατεταμένα το κουμπί προσβασιμότητας."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, πατήστε το κουμπί προσβασιμότητας στην οθόνη σας."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, πιέστε παρατεταμένα και τα δύο πλήκτρα έντασης ήχου."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Για έναρξη και διακοπή της μεγιστοποίησης, πατήστε τρεις φορές οπουδήποτε στην οθόνη σας."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Για έναρξη και διακοπή της μεγιστοποίησης, πατήστε δύο φορές οπουδήποτε στην οθόνη με δύο δάχτυλα."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 2 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 2 και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Για να χρησιμοποιήσετε αυτήν τη λειτουργία, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 3 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 3 και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Για να χρησιμοποιήσετε μια λειτουργία προσβασιμότητας, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 2 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 2 δάχτυλα και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Για να χρησιμοποιήσετε μια λειτουργία προσβασιμότητας, σύρετε προς τα επάνω από το κάτω μέρος της οθόνης χρησιμοποιώντας 3 δάχτυλα.\n\nΓια εναλλαγή μεταξύ λειτουργιών, σύρετε προς τα επάνω με 3 δάχτυλα και κρατήστε τα δάχτυλά σας στην οθόνη."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ΟΚ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Ρυθμίσεις κουμπιού προσβασιμ."</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Ρυθμίσεις κουμπιών"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Συντόμευση <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Κουμπί προσβασιμότητας"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Κίνηση προσβασιμότητας"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Πατήστε παρατεταμένα τα πλήκτρα έντασης"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"παρατεταμένο πάτημα πλήκτρων έντασης"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Πατήστε παρατεταμένα και τα δύο πλήκτρα έντασης ήχου."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Διπλό πάτημα οθόνης με δύο δάχτυλα"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"διπλό πάτημα οθόνης με δύο δάχτυλα"</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="6863958573135995927">"τριπλό πάτημα οθόνης"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Πατήστε γρήγορα στην οθόνη {0,number,integer} φορές. Αυτή η συντόμευση μπορεί να μειώσει την ταχύτητα της συσκευής σας."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Μάθετε περισσότερα για το κουμπί και την κίνηση προσβασιμότητας"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Χρήση του κουμπιού προσβασιμότητας. Η κίνηση δεν είναι διαθέσιμη με Πλοήγηση με τρία κουμπιά."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Γρήγορη πρόσβαση σε λειτουργίες προσβασιμότητας"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Για να ξεκινήσετε"</b>\n"1. Μεταβείτε στις ρυθμίσεις προσβασιμότητας\n2. Επιλέξτε μια λειτουργία και πατήστε τη συντόμευση\n3. Επιλέξτε εάν θέλετε να χρησιμοποιήσετε ένα κουμπί ή μια κίνηση για πρόσβαση στη λειτουργία"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Για να ξεκινήσετε"</b>\n"1. Μεταβείτε στις ρυθμίσεις προσβασιμότητας\n2. Επιλέξτε μια λειτουργία και πατήστε τη συντόμευση\n3. Επιλέξτε το κουμπί για πρόσβαση στη λειτουργία"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Χρήση κουμπιού ή κίνησης"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Τοποθεσία"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Μέγεθος"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Τερματ. κλήσης με κουμπί λειτουργίας"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Μεγάλος δείκτης ποντικιού"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Κάντε τον δείκτη του ποντικιού πιο ευδιάκριτο"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Σκούρο θέμα για όλες τις εφαρμογές"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Ισχύει για εφαρμογές χωρίς σκούρο θέμα. Μπορεί να εμφανιστούν προβλήματα, όπως αντιστροφή χρωμάτων."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Κατάργηση κινούμενων εικόνων"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Περιορίστε την κίνηση στην οθόνη"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Μονοφωνικός ήχος"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Χρήση δόνησης και απτικής λειτουργίας"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Δόνηση ξυπνητηριού"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Δόνηση μέσων"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Δόνηση πληκτρολογίου"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Δόνηση κλήσης"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Δόνηση ειδοποίησης"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Ανάδραση αφής"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Διακοπή"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Ακύρωση"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Διακοπή <xliff:g id="SERVICE">%1$s</xliff:g>;"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Εάν πατήσετε το στοιχείο <xliff:g id="STOP">%1$s</xliff:g> θα διακοπεί η υπηρεσία <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Απενεργοπ."</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Ενεργό"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Απενεργοποίηση <xliff:g id="SERVICE">%1$s</xliff:g>;"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Δεν έχουν εγκατασταθεί υπηρεσίες"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Δεν έχει επιλεγεί κάποια υπηρεσία"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Δεν υπάρχει περιγραφή."</string>
     <string name="settings_button" msgid="2195468788019730377">"Ρυθμίσεις"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ευαισθησία στο φως, φωτοφοβία, σκούρο θέμα, ημικρανία, πονοκέφαλος, λειτουργία ανάγνωσης, νυχτερινή λειτουργία, μείωση φωτεινότητας, λευκό σημείο"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ευκολία χρήσης, εύκολη πρόσβαση, βοήθεια, υποβοήθηση"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"όραση, ακοή, τυφλός, τυφλή, τυφλοί, κωφός, κωφή, κωφοί, κινητική υποβοήθηση, κινητικότητα, υποβοήθηση, εξυπηρέτηση, ευκολία χρήσης, ευκολία πρόσβασης, χέρι, βοήθεια"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Εργαλείο μεγέθυνσης παραθύρου, Εστίαση, Μεγιστοποίηση, Χαμηλή όραση, Μεγέθυνση, αύξηση μεγέθους"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Υπότιτλοι, υπότιτλοι, Υπότιτλοι, Ζωντανή απομαγνητοφώνηση, βαρήκοοι, απώλεια ακοής, CART, ομιλία σε κείμενο, υπότιτλος"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"χρωματική αντίθεση"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"κινητικά προβλήματα, ποντίκι"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"βοηθήματα ακοής, βαρήκοος, βαρήκοη, βαρήκοοι, απώλεια ακοής, κοχλιακά εμφυτεύματα, συσκευές ενίσχυσης, συσκευές ενίσχυσης ήχου, επεξεργαστές ήχου"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"κινητική υποβοήθηση, ποντίκι, εξωτερικό ποντίκι, ποντίκι κεφαλιού, προσαρμοστικό ποντίκι, αναπηρικό αμαξίδιο, χειριστήριο"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"βοηθήματα ακοής, βαρήκοος, βαρήκοη, βαρήκοοι, απώλεια ακοής, κοχλιακά εμφυτεύματα, συσκευές ενίσχυσης, συσκευές ενίσχυσης ήχου, επεξεργαστές ήχου, προσωπικός ενισχυτής ακοής"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"βαρήκοοι, απώλεια ακοής, υπότιτλοι, Τηλέτυπο, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"τρία κουμπιά"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"κινητικότητα, κινητική υποβοήθηση, ηλικιωμένος, αρθρίτιδα, rsi, εγκεφαλικό, τρέμουλο, σκλήρυνση κατά πλάκας, εγκεφαλική παράλυση, ρίγος, κάκωση λόγω επαναλαμβανόμενης καταπόνησης, χέρι"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"καθυστέρηση, κινητικότητα, ηλικιωμένος"</string>
     <string name="print_settings" msgid="8519810615863882491">"Εκτύπωση"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Ανενεργή"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 ενεργή υπηρεσία εκτύπωσης}other{# ενεργές υπηρεσίες εκτύπωσης}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Απομένουν <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> για τη φόρτωση"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Χρόνος χρήσης"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Χρόνος στο παρασκήνιο"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Χαμηλή ισχύς μπαταρίας"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Να επιτρέπεται στην εφαρμογή να εκτελείται στο παρασκήνιο"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Να περιοριστεί η δραστηριότητα στο παρασκήνιο;"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Εάν περιορίσετε τη δραστηριότητα στο παρασκήνιο για μια εφαρμογή, μπορεί να μην λειτουργήσει σωστά"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Εφόσον δεν έχει οριστεί βελτιστοποίηση μπαταρίας, δεν είναι δυνατός ο περιορισμός της εφαρμογής.\n\nΓια περιορισμό, ενεργοποιήστε τη βελτιστοποίηση."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Διαχείριση χρήσης μπαταρίας"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Επιτρέψτε τη χρήση στο παρασκήνιο"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ενεργοποιήστε για ενημερώσεις σε πραγματικό χρόνο, απενεργοποιήστε για εξοικονόμηση μπαταρίας"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Απεριόριστη"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Βελτιστοποιημένη"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Περιορισμένη"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Εμφάνιση εφαρμογών με την πιο υψηλή χρήση"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Η φόρτιση βελτιστοποιήθηκε για την προστασία της μπαταρίας"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Για την επέκταση της διάρκειας ζωής της μπαταρίας, η φόρτιση βελτιστοποιήθηκε"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Η φόρτιση βελτιστοποιήθηκε για την προστασία της μπαταρίας"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Για την επέκταση της διάρκειας ζωής της μπαταρίας, η φόρτιση βελτιστοποιήθηκε όσο η συσκευή ήταν στη βάση σύνδεσης."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Η φόρτιση βελτιστοποιήθηκε για την προστασία της μπαταρίας"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Για την επέκταση της διάρκειας ζωής της μπαταρίας, η φόρτιση βελτιστοποιήθηκε όσο η συσκευή ήταν στη βάση σύνδεσης."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Πλήρης φόρτιση"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Για την προστασία της μπαταρίας, την επόμενη φορά που το tablet θα βρίσκεται στη βάση σύνδεσης, η φόρτιση θα βελτιστοποιηθεί"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Μάθετε περισσότερα σχετικά με την παύση της φόρτισης"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Συνέχιση φόρτισης"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Περιλαμβάνει δραστηριότητα παρασκηνίου υψηλής κατανάλωσης ενέργειας"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Αυτή η εφαρμογή θα μπορεί να χρησιμοποιήσει μπαταρία στο παρασκήνιο. Η μπαταρία σας μπορεί να εξαντληθεί πιο σύντομα από το αναμενόμενο."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Κατάργηση"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Ακύρωση"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Πλήρης φόρτιση"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Πρόβλημα αξεσουάρ φόρτισης"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Έλεγχος αξεσουάρ φόρτισης"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Μάθετε περισσότερα για τη μη συμβατή φόρτιση"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Διαχείριση μπαταρίας"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Αυτόματη διαχείριση εφαρμογών"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"από την τελευταία πλήρη φόρτιση"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Εφαρμογές συστήματος"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Απεγκατεστημένες εφαρμογές"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Άλλα"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Εκτιμώμενος υπολειπόμενος χρόνος"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Μέχρι την πλήρη φόρτιση"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Σύνολο: λιγότερο από ένα λεπτό"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Παρασκήνιο: λιγότερο από ένα λεπτό"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Χρόνος χρήσης: λιγότερο από ένα λεπτό"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Λιγότερο από ένα λεπτό"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Σύνολο: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Παρασκήνιο: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Χρόνος χρήσης: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"τώρα"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Γράφημα χρήσης μπαταρίας"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Γράφημα ημερήσιας χρήσης μπαταρίας"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Γράφημα ωριαίας χρήσης μπαταρίας"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Ποσοστό επιπέδου μπαταρίας από <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> έως <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Χρήση μπαταρίας από την τελευταία φόρτιση"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Χρήση μπαταρίας για <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Χρόνος χρήσης από την τελευταία πλήρη φόρτιση"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Σήμα κλήσης έκτακτης ανάγκης"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Ορισμός συμπεριφοράς κατά την πραγματοποίηση κλήσης επείγουσας ανάγκης"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Δημιουργία αντιγράφων ασφαλείας"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Ενεργή"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Ανενεργή"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Δημιουργία αντιγράφου ασφαλείας και επαναφορά"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Προσωπικά δεδομένα"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Δημ/γία αντ/φων ασφ."</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Δεδ. κιν. τηλ. &amp; Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Αυτόματος συγχ. προσ. δεδομ."</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Αυτόματος συγχρ. δεδ.εργασίας"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Αυτόμ. συγχρον. ιδιωτ. δεδομ."</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Αλλαγή κύκλου..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Η ημέρα που θα γίνει η επαναφορά του κύκλου χρήσης δεδομένων:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Καμία εφαρμ. δεν χρησιμ. δεδ. αυτή την περίοδο"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Όνομα"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Τύπος"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Διεύθυνση διακομιστή"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Κρυπτογράφηση PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Μυστικό L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Αναγνωριστικό IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Ήδη κοινόχρηστο κλειδί IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Πιστοποιητικό χρήστη IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Πιστοποιητικό CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Πιστοποιητικό διακομιστή IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Εμφάνιση σύνθετων επιλογών"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Τομείς αναζήτησης DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Διακομιστής DNS (π.χ. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Διαδρομές προώθησης (π.χ. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Όνομα χρήστη"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Κωδικός πρόσβασης"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Αποθήκευση πληροφοριών λογαριασμού"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(δεν χρησιμοποιείται)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(να μην γίνεται επαλήθευση διακομιστή)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(Λήφθηκε από το διακομιστή)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Αυτός ο τύπος VPN δεν μπορεί να παραμένει πάντα συνδεδεμένος"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Το μονίμως ενεργό VPN υποστηρίζει μόνο αριθμητικές διευθύνσεις διακομιστή"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Θα πρέπει να καθοριστεί ένας διακομιστής DNS για το μονίμως ενεργό VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Οι διευθύνσεις διακομιστή DNS πρέπει να είναι αριθμητικές για το μονίμως ενεργό VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Οι πληροφορίες που έχουν εισαχθεί δεν υποστηρίζουν το μονίμως ενεργό VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Ακύρωση"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Παράβλεψη"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Αποκλεισμός συνδέσεων χωρίς VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Να απαιτείται σύνδεση VPN;"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Μη ασφαλές. Ενημέρωση σε VPN IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Απέτυχε η εκκίνηση του μη υποστηριζόμενου VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Επιλέξτε ένα προφίλ VPN στο οποίο θα παραμένετε πάντα συνδεδεμένοι. Η κίνηση δικτύου θα επιτρέπεται μόνο κατά τη σύνδεση σε αυτό το VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Κανένα"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Το VPN που έχει ρυθμιστεί να είναι ενεργοποιημένο πάντα απαιτεί μια διεύθυνση IP τόσο για τον διακομιστή όσο και για το DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Ειδοποιήσεις AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Λήψη ανακοινώσεων σχετικά με απαγωγές παιδιών"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Επανάληψη"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Ενεργοποίηση Διαχειριστή κλήσεων"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Επιτρέψτε σε αυτή την υπηρεσία να διαχειριστεί πώς γίνονται οι κλήσεις σας."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Διαχειριστής κλήσεων"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Ασύρματες ειδοποιήσεις έκτακτης ανάγκης"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Εταιρείες δικτύου"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Ονόματα σημείων πρόσβασης"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Κατάσταση κάρτας SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Κατάσταση SIM (υποδοχή sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Οι SIM άλλαξαν."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Οι SIM άλλαξαν"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Πατήστε για ρύθμιση"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ερώτηση κάθε φορά"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Απαιτείται επιλογή"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Πρόσφατες εφαρμογές, προεπιλεγμένες εφαρμογές"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Η πρόσβαση ειδοποίησης δεν είναι διαθέσιμη για εφαρμογές στο προφίλ εργασίας."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Λογαριασμοί και κωδικοί πρόσβασης"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Αποθηκευμένοι κωδικοί πρόσβασης, αυτόματη συμπλήρωση, συγχρονισμένοι λογαριασμοί"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Προτάσεις για σύνδεση και αυτόματη συμπλήρωση"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Προεπιλεγμένες εφ."</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"κλωνοποιημένες εφαρμογές"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Δημιουργήστε μια δεύτερη παρουσία μιας εφαρμογής, ώστε να μπορείτε να χρησιμοποιείτε δύο λογαριασμούς ταυτόχρονα."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"πορτοφόλι"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"πληρωμή, πάτημα, πληρωμές"</string>
     <string name="keywords_backup" msgid="707735920706667685">"αντίγραφο ασφαλείας, δημιουργία αντιγράφου ασφαλείας"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"κίνηση"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"πρόσωπο, ξεκλείδωμα, εξουσιοδότηση, σύνδεση"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"πρόσωπο, ξεκλείδωμα, έλεγχος ταυτότητας, σύνδεση, δακτυλικό αποτύπωμα, βιομετρικά"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"αριθμός imei, meid, min, έκδοση prl, sv αριθμού imei"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"μέγεθος οθόνης, μεγάλη εκτύπωση, μεγάλη γραμματοσειρά, μεγάλο κείμενο, χαμηλή όραση, αύξηση μεγέθους κειμένου, εργαλείο αύξησης μεγέθους γραμματοσειράς, αύξηση μεγέθους γραμματοσειράς"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"πάντα ενεργή οθόνη ambient, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"εκπ, ετικέτα, αναγνώστης"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"πληκτρολόγιο, απτική λειτουργία, δόνηση,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ένταση ήχου, δόνηση, λειτουργία \"Μην ενοχλείτε\""</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Ένταση ήχου πολυμέσων"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Ένταση ήχου μετάδοσης"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ήχοι ενεργοποίησης"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Ζωντανοί υπότιτλοι"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Αυτόματοι υπότιτλοι στο μέσο"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Ηχεία τηλεφώνου"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Ηχεία tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Ηχεία συσκευής"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Ενσύρματα ακουστικά"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Ο ήχος από συμβατά μέσα γίνεται πιο καθηλωτικός"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Ανενεργό"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Εμφάνιση όλου του περιεχομένου ειδοποιήσεων"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Εμφάνιση ευαίσθητου περιεχ. μόνο με ξεκλείδωμα"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Να μην εμφανίζονται ειδοποιήσεις"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Πώς θέλετε να εμφανίζεται η οθόνη κλειδώματος;"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Τι θέλετε να δείχνει η οθόνη κλειδώματος;"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Οθόνη κλειδώματος"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Εμφάνιση όλου του περιεχομ. ειδοποιήσεων εργασίας"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Απόκρυψη ευαίσθητου περιεχομένου εργασίας"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Οι πρόσφατες συζητήσεις καταργήθηκαν"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Η συνομιλία καταργήθηκε"</string>
     <string name="clear" msgid="5092178335409471100">"Διαγραφή"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Διαγραφή συζήτησης <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Εδώ θα εμφανίζονται οι συνομιλίες προτεραιότητας και οι τροποποιημένες συνομιλίες"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Όταν επισημάνετε μια συνομιλία ως προτεραιότητα ή κάνετε τυχόν αλλαγές σε συνομιλίες, θα εμφανίζονται εδώ. \n\nΓια να αλλάξετε τις ρυθμίσεις συνομιλίας: \nΣύρετε προς τα κάτω από το επάνω μέρος της οθόνης για να ανοίξετε το αναπτυσσόμενο πλαίσιο σκίασης και έπειτα πατήστε παρατεταμένα μια συνομιλία."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Ελαχιστοποίηση"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Περίοδος cooldown ειδοποιήσεων"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Εφαρμογή περιόδου cooldown σε όλες τις ειδοποιήσεις"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Σταδιακή μείωση της έντασης ήχου των ειδοποιήσεων όταν λαμβάνετε διαδοχικά πολλές ειδοποιήσεις από την ίδια εφαρμογή"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Εφαρμογή περιόδου cooldown σε συζητήσεις"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Σταδιακή μείωση της έντασης ήχου των ειδοποιήσεων όταν λαμβάνετε πολλά μηνύματα από την ίδια συζήτηση σε σύντομο χρονικό διάστημα"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Να μην χρησιμοποιείται περίοδος cooldown για τις ειδοποιήσεις"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Να μην μειώνεται ποτέ η ένταση ήχου των ειδοποιήσεων, ανεξάρτητα από τον αριθμό των διαδοχικών ειδοποιήσεων από την ίδια εφαρμογή"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Δόνηση όταν είναι ξεκλειδωμένη"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Να δονείται μόνο όταν είναι ξεκλειδωμένη η οθόνη"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Εφαρμογή σε προφίλ εργασίας"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Εφαρμογή των ρυθμίσεων περιόδου cooldown ειδοποιήσεων από το προσωπικό προφίλ σας στο προφίλ εργασίας σας"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Βοηθητικές υπηρεσίες Εικονικής Πραγματικότητας"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Δεν έχει ζητηθεί η εκτέλεση εγκατεστημένων εφαρμογών ως βοηθητικών υπηρεσιών Εικονικής Πραγματικότητας."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Να επιτρέπεται στην υπηρεσία <xliff:g id="SERVICE">%1$s</xliff:g> να έχει πρόσβαση στην υπηρεσία Εικονικής Πραγματικότητας;"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Ανενεργή"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Καρφίτσωμα εφαρμογών"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Το καρφίτσωμα εφαρμογών σάς επιτρέπει να διατηρείτε την τρέχουσα εφαρμογή ορατή έως ότου την ξεκαρφιτσώσετε. Για παράδειγμα, αυτή η λειτουργία μπορεί να χρησιμοποιηθεί για να επιτρέψετε σε έναν έμπιστο φίλο να παίξει ένα συγκεκριμένο παιχνίδι."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Όταν μια εφαρμογή έχει καρφιτσωθεί, η συγκεκριμένη εφαρμογή μπορεί να ανοίξει άλλες εφαρμογές και να είναι δυνατή η πρόσβαση σε προσωπικά δεδομένα. \n\nΓια να χρησιμοποιήσετε το καρφίτσωμα εφαρμογών: 	\n1. Ενεργοποιήστε το καρφίτσωμα εφαρμογών. 	\n2. Ανοίξτε την Επισκόπηση. 	\n3. Πατήστε το εικονίδιο εφαρμογής στο επάνω μέρος της οθόνης και έπειτα πατήστε Καρφίτσωμα."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Όταν μια εφαρμογή έχει καρφιτσωθεί, η συγκεκριμένη εφαρμογή μπορεί να ανοίξει άλλες εφαρμογές και να είναι δυνατή η πρόσβαση σε προσωπικά δεδομένα. \n\nΕάν θέλετε να μοιράζεστε με ασφάλεια τη συσκευή σας με κάποιο άλλο άτομο, δοκιμάστε να χρησιμοποιήσετε έναν χρήστη-επισκέπτη. \n\nΓια να χρησιμοποιήσετε το καρφίτσωμα εφαρμογών: 	\n1. Ενεργοποιήστε το καρφίτσωμα εφαρμογών. 	\n2. Ανοίξτε την Επισκόπηση. 	\n3. Πατήστε το εικονίδιο εφαρμογής στο επάνω μέρος της οθόνης και έπειτα πατήστε Καρφίτσωμα."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Όταν μια εφαρμογή έχει καρφιτσωθεί, η συγκεκριμένη εφαρμογή μπορεί να ανοίξει άλλες εφαρμογές και να είναι δυνατή η πρόσβαση σε προσωπικά δεδομένα. \n\nΓια να χρησιμοποιήσετε το καρφίτσωμα εφαρμογών: 	\n{0,number,integer}. Ενεργοποιήστε το καρφίτσωμα εφαρμογών 	\n{1,number,integer}. Ανοίξτε την Επισκόπηση 	\n{2,number,integer}. Πατήστε το εικονίδιο εφαρμογής στο επάνω μέρος της οθόνης και έπειτα πατήστε Καρφίτσωμα."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Όταν μια εφαρμογή έχει καρφιτσωθεί, η συγκεκριμένη εφαρμογή μπορεί να ανοίξει άλλες εφαρμογές και να είναι δυνατή η πρόσβαση σε προσωπικά δεδομένα. \n\nΕάν θέλετε να μοιράζεστε με ασφάλεια τη συσκευή σας με κάποιο άλλο άτομο, δοκιμάστε να χρησιμοποιήσετε έναν χρήστη-επισκέπτη. \n\nΓια να χρησιμοποιήσετε το καρφίτσωμα εφαρμογών: 	\n{0,number,integer}. Ενεργοποιήστε το καρφίτσωμα εφαρμογών 	\n{1,number,integer}. Ανοίξτε την Επισκόπηση 	\n{2,number,integer}. Πατήστε το εικονίδιο εφαρμογής στο επάνω μέρος της οθόνης και έπειτα πατήστε Καρφίτσωμα."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Όταν μια εφαρμογή είναι καρφιτσωμένη: \n\n•	 Τα προσωπικά δεδομένα ενδέχεται να είναι προσβάσιμα \n		(όπως επαφές και περιεχόμενο μηνυμάτων ηλεκτρονικού ταχυδρομείου) \n•	 Η καρφιτσωμένη εφαρμογή μπορεί να ανοίξει άλλες εφαρμογές \n\nΧρησιμοποιήστε το καρφίτσωμα εφαρμογών μόνο με άτομα που εμπιστεύεστε."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Να ζητείται το μοτίβο ξεκλειδώματος πριν από το ξεκαρφίτσωμα"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Να ζητείται το PIN πριν από το ξεκαρφίτσωμα"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Να ζητείται κωδικός πρόσβασης πριν από το ξεκαρφίτσωμα"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Κλείδωμα της συσκευής κατά το ξεκαρφίτσωμα"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Επιβεβαίωση διαγραφής SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Επιβεβαιώστε ότι θέλετε να διαγράψετε την eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Επαληθεύστε την ταυτότητά σας πριν από τη διαγραφή μιας eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Advanced memory protection beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Advanced memory protection"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ρυθμίσεις μη χρησιμοποιούμενων εφαρμογών"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Παύση δραστηριότητας αδρανούς εφαρμογής"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Κατάργηση αδειών, διαγραφή προσωρινών αρχείων και διακοπή ειδοποιήσεων"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Διαχείρ. εφαρμ. αν δεν χρησιμοποιείται"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Κατάργηση αδειών, διαγραφή προσωρινών αρχείων, διακοπή ειδοποιήσεων και αρχειοθέτηση της εφαρμογής"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Όλες οι εφαρμογές"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Εγκατεστημένες εφαρμογές"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Εφαρμογές"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Ελεύθερη"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Μνήμη που χρησιμοποιείται από εφαρμογές"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 εφαρμογή χρησιμοποίησε μνήμη το τελευταίο χρονικό διάστημα {time}}other{# εφαρμογές χρησιμοποίησαν μνήμη το τελευταίο χρονικό διάστημα {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Ενεργ. αξιολόγησης προφίλ χρήσης μνήμης"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Η αξιολόγηση προφίλ χρήσης μνήμης απαιτεί επιπλέον πόρους συστήματος."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Η αξιολόγηση προφίλ μνήμης είναι απενεργοποιημένη"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Συχνότητα"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Μέγιστη χρήση"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Δεν χρησιμοποιούνται δεδομένα"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Εμφάνιση πάνω σε άλλες εφαρμογές"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Να επιτρέπεται η εμφάνιση πάνω σε άλλες εφαρμογές"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Επιτρέψτε σε αυτή την εφαρμογή να εμφανίζεται πάνω από άλλες εφαρμογές που χρησιμοποιείτε. Αυτή η εφαρμογή θα μπορεί να δει τα σημεία που πατάτε ή να αλλάζει το περιεχόμενο που εμφανίζεται στην οθόνη."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Αλλαγή εξόδου μέσων"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Να επιτρέπεται η αλλαγή εξόδου μέσων"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Να επιτρέπεται στην εφαρμογή να επιλέγει ποια συνδεδεμένη συσκευή θα αναπαράγει ήχο ή βίντεο από άλλες εφαρμογές. Αν επιτρέπεται, η εφαρμογή θα έχει πρόσβαση σε μια λίστα διαθέσιμων συσκευών, όπως ακουστικά και ηχεία και θα επιλέγει ποια συσκευή εξόδου θα χρησιμοποιείται για ροή ή μετάδοση ήχου ή βίντεο."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Πρόσβαση σε όλα τα αρχεία"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Να επιτρέπεται η πρόσβαση για τη διαχείριση όλων των αρχείων"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Να επιτρέπεται σε αυτή την εφαρμογή η ανάγνωση, η τροποποίηση και η διαγραφή όλων των αρχείων σε αυτήν τη συσκευή και σε κάθε συνδεδεμένη μονάδα αποθήκευσης. Εάν εκχωρηθούν σχετικά δικαιώματα, η εφαρμογή μπορεί να έχει πρόσβαση σε αρχεία χωρίς να έχετε ενημερωθεί ρητά."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Με πρόσβαση σε όλα τα αρχεία"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Εφαρμογές που ενεργοποιούνται μέσω φωνής"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Επιτρέπεται η φωνητική ενεργοποίηση"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Η φωνητική ενεργοποίηση ενεργοποιεί handsfree τις εγκεκριμένες εφαρμογές, με χρήση φωνητικών εντολών. Η ενσωματωμένη προσαρμοστική ανίχνευση διασφαλίζει την ιδιωτικότητα των δεδομένων σας.\n\n"<a href="">"Περισσότερες πληροφορίες για την προσαρμοστική ανίχνευση"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Ειδοποιήσεις σε πλήρη οθόνη"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Να επιτρέπονται οι ειδοποιήσεις σε πλήρη οθόνη από αυτή την εφαρμογή"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Να επιτρέπεται στην εφαρμογή η εμφάνιση ειδοποιήσεων σε πλήρη οθόνη όταν η συσκευή είναι κλειδωμένη. Οι εφαρμογές ενδέχεται να χρησιμοποιούν αυτήν τη λειτουργία για επισήμανση ξυπνητηριών, εισερχόμενων κλήσεων ή άλλων επειγουσών ειδοποιήσεων."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Προειδοποίηση <xliff:g id="ID_1">^1</xliff:g> δεδομένων"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Όριο <xliff:g id="ID_1">^1</xliff:g> δεδομένων"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Προειδοποίηση <xliff:g id="ID_1">^1</xliff:g> δεδομένων/Όριο <xliff:g id="ID_2">^2</xliff:g> δεδομένων"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Ο υπολογισμός των δεδομένων από την εταιρεία κινητής τηλεφωνίας μπορεί να διαφέρει από τον υπολογισμό της συσκευής"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Εξαιρούνται δεδομένα που χρησιμοποιούνται από δίκτυα εταιρειών κινητής τηλεφωνίας."</string>
     <string name="data_used_template" msgid="8229342096562327646">"Χρησιμοποιήθηκαν <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Ορισμός προειδοπ. δεδομένων"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Ενημερώθηκε πριν από <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Ενημερώθηκε από <xliff:g id="ID_1">^1</xliff:g> μόλις τώρα"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Ενημερώθηκε μόλις τώρα"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Προβολή προγράμματος"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Προβολή λεπτομερειών"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Εξοικονόμηση δεδομένων"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Απεριόριστα δεδομένα"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Η εφαρμογή <xliff:g id="APP_LABEL">%1$s</xliff:g> χρησιμοποίησε περισσότερη μπαταρία στο παρασκήνιο από ό,τι συνήθως"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Η εφαρμογή <xliff:g id="APP_LABEL">%1$s</xliff:g> χρησιμοποίησε περισσότερη μπαταρία στο προσκήνιο"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Η εφαρμογή <xliff:g id="APP_LABEL">%1$s</xliff:g> χρησιμοποίησε περισσότερη μπαταρία στο προσκήνιο από ό,τι συνήθως"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Ανωμαλία στη χρήση της μπαταρίας"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Υψηλή χρήση μπαταρίας"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Υψηλή χρήση μπαταρίας στο παρασκήνιο"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Υψηλή χρήση μπαταρίας στο προσκήνιο"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Πλακίδια προγραμματιστή για γρήγορες ρυθμίσεις"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Απενεργοποίηση χρονικού ορίου εξουσιοδότησης adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Απενεργοποιήστε την αυτόματη ανάκληση των εξουσιοδοτήσεων adb για συστήματα που δεν έχουν επανασυνδεθεί εντός της προεπιλεγμένης χρονικής περιόδου (7 ημέρες) ή της περιόδου που διαμορφώνεται από τον χρήστη (τουλάχιστον 1 ημέρα)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Ίχνος Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Αισθητήρες ανενεργοί"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Ρυθμίσεις προφίλ εργασίας"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Αναζήτηση επαφών καταλόγου εργασίας στις προσωπικές εφαρμογές"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"πλοήγηση συστήματος, πλοήγηση με δύο κουμπιά, πλοήγηση με τρία κουμπιά, πλοήγηση με κινήσεις, ολίσθηση"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Ψηφιακός βοηθός"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Σύρετε για άνοιγμα του βοηθού"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Σύρετε προς τα επάνω από μια από τις κάτω γωνίες για άνοιγμα της εφαρμογής ψηφιακού βοηθού."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Σύρετε προς τα επάνω από μια από τις κάτω γωνίες για να ανοίξετε την εφαρμογή ψηφιακού βοηθού"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Πατήστε παρατεταμένα το κουμπί αρχικής σελίδας για τον Βοηθό"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Πατήστε παρατεταμένα το κουμπί αρχικής οθόνης για ενεργοποίηση της εφαρμογής ψηφιακού βοηθού."</string>
     <string name="low_label" msgid="6525629096999711220">"Χαμηλή"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Υπηρεσία αυτόμ. συμπλήρωσης"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Προεπιλεγμένη υπηρεσία αυτόματης συμπλήρωσης"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Κωδικοί πρόσβασης"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Κωδικοί πρόσβασης, κλειδιά πρόσβασης και υπηρεσίες δεδομένων"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Πρόσθετοι πάροχοι"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Προτιμώμενη υπηρεσία"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Πρόσθετες υπηρεσίες"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# κωδικός πρόσβασης}other{# κωδικοί πρόσβασης}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"αυτόματη, συμπλήρωση, αυτόματη συμπλήρωση, κωδικός πρόσβασης"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"δεδομένα, κλειδί πρόσβασης, κωδικός πρόσβασης"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"αυτόματη, συμπλήρωση, αυτόματη συμπλήρωση, δεδομένα, κλειδί πρόσβασης, κωδικός πρόσβασης"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Αλλαγή"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Άνοιγμα"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Καμία επιλογή"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Βεβαιωθείτε ότι εμπιστεύεστε αυτή την εφαρμογή&lt;/b&gt;&lt;br/&gt; &lt;br/&gt; &lt;xliff:g Το id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; χρησιμοποιεί το περιεχόμενο της οθόνης σας για να διαπιστώσει τι μπορεί να συμπληρωθεί αυτόματα."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Χρήση &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Η εφαρμογή &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; χρησιμοποιεί το περιεχόμενο της οθόνης για να καθορίσει ποια στοιχεία μπορούν να συμπληρωθούν αυτόματα. Στο εξής, οι νέοι κωδικοί πρόσβασης, τα κλειδιά πρόσβασης και άλλες πληροφορίες θα αποθηκεύονται εδώ."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Κωδικοί πρόσβασης, κλειδιά πρόσβασης και υπηρεσίες δεδομένων"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Χρήση του &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Από εδώ και στο εξής, οι νέοι κωδικοί πρόσβασης, τα κλειδιά πρόσβασης και άλλες πληροφορίες θα αποθηκεύονται εδώ. Το &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ενδέχεται να χρησιμοποιεί το περιεχόμενο που εμφανίζεται στην οθόνη σας για να προσδιορίσει πού μπορεί να γίνει αυτόματη συμπλήρωση."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Προτιμώμενη υπηρεσία για κωδικούς πρόσβασης, κλειδιά πρόσβασης και αυτόματη συμπλήρωση"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Απενεργοποίηση του %1$s;"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Απενεργοποίηση αυτής της υπηρεσίας; &lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Αποθηκευμένες πληροφορίες, όπως κωδικοί πρόσβασης, κλειδιά πρόσβασης, τρόποι πληρωμής και άλλα, δεν θα συμπληρώνονται όταν είστε συνδεδεμένοι. Για να χρησιμοποιήσετε τις αποθηκευμένες πληροφορίες σας, επιλέξτε έναν κωδικό πρόσβασης, ένα κλειδί πρόσβασης ή μια υπηρεσία δεδομένων."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Κωδ. πρόσβ., κλειδιά πρόσβ., αυτ. συμπλ."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Να απενεργοποιηθούν όλες οι υπηρεσίες;&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Οι κωδικοί πρόσβασης, τα κλειδιά πρόσβασης και άλλες αποθηκευμένες πληροφορίες δεν θα διατίθενται για αυτόματη συμπλήρωση όταν συνδέεστε"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Αλλάξτε την υπηρεσία που προτιμάτε σε &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Από εδώ και στο εξής, οι νέοι κωδικοί πρόσβασης, τα κλειδιά πρόσβασης και άλλες πληροφορίες θα αποθηκεύονται εδώ. Η υπηρεσία &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ενδέχεται να χρησιμοποιήσει το περιεχόμενο που εμφανίζεται στην οθόνη για να προσδιορίσει τι μπορεί να συμπληρωθεί αυτόματα."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Χρήση %1$s;"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Απενεργοποίηση"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Αλλαγή"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Μπορείτε να έχετε μόνο 5 ενεργές υπηρεσίες"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Απενεργοποιήστε τουλάχιστον 1 υπηρεσία για να προσθέσετε κάποια άλλη"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"Το %1$s χρησιμοποιεί το περιεχόμενο που εμφανίζεται στην οθόνη για να προσδιορίσει τα στοιχεία που μπορούν να συμπληρωθούν αυτόματα."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Όριο για κωδικούς πρόσβασης, κλειδιά πρόσβασης και υπηρεσίες δεδομένων"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Μπορείτε να ενεργοποιήσετε έως και 5 κωδικούς πρόσβασης, κλειδιά πρόσβασης και υπηρεσίες δεδομένων ταυτόχρονα. Για να προσθέσετε μια άλλη υπηρεσία, απενεργοποιήστε μια από τις υπάρχουσες."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Όριο κωδικών πρόσβασης, κλειδιών πρόσβασης και υπηρεσιών δεδομένων"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Μπορείτε να έχετε ταυτόχρονα ενεργοποιημένους έως και 5 κωδικούς πρόσβασης, κλειδιά πρόσβασης και υπηρεσίες δεδομένων. Για να προσθέσετε μια άλλη υπηρεσία, απενεργοποιήστε μια από τις υπάρχουσες."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Απενεργοποίηση"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Αυτόματη συμπλήρωση"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Επίπεδο καταγραφής"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Οι αλλαγές στη συμβατότητα εφαρμογής μπορούν να τροποποιηθούν μόνο για εφαρμογές με δυνατότητα εντοπισμού σφαλμάτων. Εγκαταστήστε μια εφαρμογή με δυνατότητα εντοπισμού σφαλμάτων και δοκιμάστε ξανά."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Εξαρτάται από άλλη ρύθμιση"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Λογαριασμός"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d λογαριασμοί"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Όνομα συσκευής"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Βασικές πληροφορίες"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Νομικές και κανονιστικές πληροφορίες"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Να επιτρέπεται σε αυτή την εφαρμογή η εκκίνηση κατά τη σάρωση μιας ετικέτας ΕΚΠ.\nΑν αυτή η άδεια είναι ενεργοποιημένη, η εφαρμογή θα είναι διαθέσιμη ως επιλογή κάθε φορά που εντοπίζεται μια ετικέτα."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Αναπαραγωγή μέσων σε"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Αναπαραγωγή <xliff:g id="LABEL">%s</xliff:g> σε"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Θα γίνει αναπαραγωγή ήχου στο"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Αυτή η συσκευή"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Μη διαθέσιμη κατά τη διάρκεια κλήσεων"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Αποδοχή κλήσης"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Σίγαση"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Για ενεργοποίηση, αρχικά αλλάξτε την επιλογή \"Πατήστε παρατεταμένα το κουμπί λειτουργίας\" στο μενού λειτουργίας."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Λεπτομέρειες δικτύου"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Το όνομα της συσκευής σας είναι ορατό σε εφαρμογές στο τηλέφωνό σας. Ενδέχεται επίσης να είναι ορατό και σε άλλα άτομα, όταν συνδέεστε σε συσκευές Bluetooth, συνδέεστε σε ένα δίκτυο Wi-Fi ή ρυθμίζετε ένα σημείο πρόσβασης Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Συσκευές"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Επιλογή δικτύου"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Αποσυνδέθηκε"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Όνομα"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Χρώμα (χρήση από συμβατές εφαρμογές)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Αποθήκευση"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Χρήση SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Χρήση αυτής της SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Ανενεργή"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Για να απενεργοποιήσετε αυτήν τη SIM, καταργήστε την κάρτα SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Πατήστε για ενεργοποίηση <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Διαγραφή SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Για να απενεργοποιήσετε αυτή τη SIM, αφαιρέστε την κάρτα SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Πατήστε για να ενεργοποιήσετε τη SIM της <xliff:g id="CARRIER">%1$s</xliff:g>."</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Διαγραφή eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Προτιμώμενος τύπος δικτύου"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Αλλαγή κατάστασης λειτουργίας δικτύου"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Προτιμώμενος τύπος δικτύου"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Επικοινωνήστε με τον πάροχο του δικτύου για πληροφορίες σχετικά με τις τιμές."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Χρήση δεδομένων εφαρμογών"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Μη έγκυρη λειτουργία δικτύου <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Παράβλεψη."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Ανταλλαγή μηνυμάτων μέσω δορυφόρου"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Στείλτε και λάβετε μηνύματα κειμένου μέσω δορυφόρου. Περιλαμβάνεται στον λογαριασμό σας."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Στείλτε και λάβετε μηνύματα κειμένου μέσω δορυφόρου. Δεν περιλαμβάνεται στον λογαριασμό σας."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Ανταλλαγή μηνυμάτων μέσω δορυφόρου"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Πληροφορίες για την ανταλλαγή μηνυμάτων μέσω δορυφόρου"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Μπορείτε να στέλνετε και να λαμβάνετε μηνύματα κειμένου μέσω δορυφόρου στο πλαίσιο ενός κατάλληλου λογαριασμού <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Το πρόγραμμά σας <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Η ανταλλαγή μηνυμάτων μέσω δορυφόρου συμπεριλαμβάνεται στον λογαριασμό σας"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Η ανταλλαγή μηνυμάτων μέσω δορυφόρου δεν συμπεριλαμβάνεται στον λογαριασμό σας"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Προσθήκη ανταλλαγής μηνυμάτων μέσω δορυφόρου"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Πώς λειτουργεί"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Όταν δεν έχετε δίκτυο κινητής τηλεφωνίας"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Το τηλέφωνό σας θα συνδεθεί αυτόματα με έναν δορυφόρο. Για την καλύτερη δυνατή σύνδεση, φροντίστε να φαίνεται ο ουρανός χωρίς να παρεμβάλλονται εμπόδια."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Μετά τη σύνδεση του τηλεφώνου σας με έναν δορυφόρο"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Μπορείτε να στέλνετε μηνύματα σε οποιονδήποτε, ακόμα και στις υπηρεσίες έκτακτης ανάγκης. Το τηλέφωνό σας θα συνδεθεί ξανά σε ένα δίκτυο κινητής τηλεφωνίας όταν είναι διαθέσιμο."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Η ανταλλαγή μηνυμάτων μέσω δορυφόρου μπορεί να διαρκέσει περισσότερο και είναι διαθέσιμη μόνο σε ορισμένες περιοχές. Ο καιρός και ορισμένες κατασκευές ενδέχεται να επηρεάσουν τη δορυφορική σύνδεση. Οι κλήσεις μέσω δορυφόρου δεν είναι διαθέσιμες.\n\nΜπορεί να χρειαστεί λίγος χρόνος για να εμφανιστούν στις ρυθμίσεις οι αλλαγές στον λογαριασμό σας. Για λεπτομέρειες, επικοινωνήστε με την εταιρεία <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Περισσότερες πληροφορίες για την ανταλλαγή μηνυμάτων μέσω δορυφόρου"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Ονόματα σημείων πρόσβασης"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Δεν διατίθεται κατά τη σύνδεση σε <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Εναλλαγή σε <xliff:g id="CARRIER_NAME">%1$s</xliff:g>;"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Εναλλαγή στη χρήση κάρτας SIM;"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Χρήση <xliff:g id="CARRIER_NAME">%1$s</xliff:g>;"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Μόνο μία SIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή στο δίκτυο <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> δεν θα ακυρώσει την υπηρεσία <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Μόνο μία eSIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή στην εταιρεία <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> δεν θα ακυρώσει την παροχή υπηρεσιών από την εταιρεία <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Μόνο μία SIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή δεν θα ακυρώσει την υπηρεσία <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Μόνο μία SIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή στην εταιρεία <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> δεν θα ακυρώσει την παροχή υπηρεσιών από την εταιρεία <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Μόνο μία eSIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή στην εταιρεία <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> δεν θα ακυρώσει την παροχή υπηρεσιών από την εταιρεία <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Μόνο μία SIM μπορεί να είναι ενεργή κάθε φορά.\n\nΗ εναλλαγή δεν θα ακυρώσει την παροχή υπηρεσιών από την εταιρεία <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Μπορείτε να χρησιμοποιείτε 2 SIM τη φορά. Για να χρησιμοποιήσετε την <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, απενεργοποιήστε κάποια άλλη SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Εναλλαγή σε <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Απενεργοποίηση <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Η απενεργοποίηση μιας SIM δεν θα ακυρώσει την υπηρεσία"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Σύνδεση στο δίκτυο…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Εναλλαγή σε <xliff:g id="CARRIER_NAME">%1$s</xliff:g> για κλήσεις και μηνύματα…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Δεν είναι δυνατή η εναλλαγή εταιρείας κινητής τηλεφωνίας"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Δεν είναι δυνατή η εναλλαγή εταιρείας κινητής τηλεφωνίας λόγω ενός σφάλματος."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Ενεργοποίηση της SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Εναλλαγή σε <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Δεν είναι δυνατή η εναλλαγή των SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Προέκυψε πρόβλημα. Δεν είναι δυνατή η εναλλαγή των SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Απενεργοποίηση <xliff:g id="CARRIER_NAME">%1$s</xliff:g>;"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Απενεργοποίηση SIM;"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Απενεργοποίηση SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Δεν είναι δυνατή η απενεργοποίηση της εταιρείας κινητής τηλεφωνίας"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Παρουσιάστηκε κάποιο πρόβλημα και δεν ήταν δυνατή η απενεργοποίηση της εταιρείας κινητής τηλεφωνίας σας."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Δεν είναι δυνατή η απενεργοποίηση της SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Προέκυψε πρόβλημα και δεν ήταν δυνατή η απενεργοποίηση της SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Χρήση 2 SIM;"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Αυτή η συσκευή μπορεί να έχει 2 ενεργές SIM ταυτόχρονα. Για να συνεχίσετε χρησιμοποιώντας 1 SIM τη φορά, πατήστε Όχι, ευχαριστώ."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Επανεκκίνηση συσκευής;"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Όχι, ευχαριστώ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Ακύρωση"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Εναλλαγή"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Απενεργοποίηση"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Δεν είναι δυνατή η ενεργοποίηση της SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Δοκιμάστε να ενεργοποιήσετε ξανά τη SIM. Εάν το πρόβλημα δεν επιλυθεί, επανεκκινήστε τη συσκευή σας."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Ρύθμιση της SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Ορίστε τις προτιμήσεις δικτύου κινητής τηλεφωνίας για χρήση πολλών SIM σε αυτή τη συσκευή"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Προσθέστε ετικέτες στις SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Αυτές οι ετικέτες θα εμφανίζονται κατά την πραγματοποίηση κλήσεων, την αποστολή μηνυμάτων, τη χρήση δεδομένων και στις Ρυθμίσεις"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Ετικέτα SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Ετικέτα"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Επιλέξτε ποιες SIM θα χρησιμ."</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Μπορείτε να χρησιμοποιείτε 2 SIM τη φορά"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Ορίστε την κύρια SIM"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Επιλέξτε ποιες SIM θέλετε να χρησιμοποιούνται από προεπιλογή για κλήσεις, μηνύματα και δεδομένα"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Η κύρια SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Κλήσεις"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Μηνύματα"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Αυτόματη εναλλαγή δεδομένων"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Χρήση είτε της μίας είτε της άλλης SIM, ανάλογα με την κάλυψη και τη διαθεσιμότητα"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Μόνο δεδομένα"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Ρύθμιση"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Επόμενο"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Ενεργοποίηση <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Δίκτυο κινητής τηλεφωνίας"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Αριθμός τηλεφώνου"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Ετικέτα και χρώμα SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ενεργοποίηση δικτύου"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Εναλλαγή εταιρείας κινητής τηλεφωνίας"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Η εταιρεία κινητής τηλεφωνίας <xliff:g id="CARRIER_NAME">%1$s</xliff:g> είναι ενεργή"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Η SIM της <xliff:g id="CARRIER_NAME">%1$s</xliff:g> είναι ενεργή"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Πατήστε για ενημέρωση των ρυθμίσεων SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Έγινε εναλλαγή σε <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Έγινε εναλλαγή σε άλλη εταιρεία κινητής τηλεφωνίας"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Το δίκτυο κινητής τηλεφωνίας σας άλλαξε."</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Ρύθμιση της άλλης SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Επιλέξτε την ενεργή SIM ή χρησιμοποιήστε 2 SIM ταυτόχρονα"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Επιλέξτε έναν αριθμό για χρήση"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 αριθμός είναι διαθέσιμος σε αυτήν τη συσκευή, αλλά μπορεί να χρησιμοποιηθεί μόνο ένας κάθε φορά.}=2{2 αριθμοί είναι διαθέσιμοι σε αυτήν τη συσκευή, αλλά μπορεί να χρησιμοποιηθεί μόνο ένας κάθε φορά.}other{# αριθμοί είναι διαθέσιμοι σε αυτήν τη συσκευή, αλλά μπορεί να χρησιμοποιηθεί μόνο ένας κάθε φορά.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Ενεργοποίηση<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Η ενεργοποίηση δεν ήταν δυνατή αυτήν τη στιγμή"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Επιλογή SIM για χρήση"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM είναι διαθέσιμη σε αυτή τη συσκευή, αλλά μπορεί να χρησιμοποιηθεί μόνο μία κάθε φορά}=2{2 SIM είναι διαθέσιμες σε αυτή τη συσκευή, αλλά μπορεί να χρησιμοποιηθεί μόνο μία κάθε φορά}other{# SIM είναι διαθέσιμες σε αυτή τη συσκευή, αλλά μπορεί να χρησιμοποιηθεί μόνο μία κάθε φορά}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Ενεργοποίηση<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Δεν ήταν δυνατή η ενεργοποίηση της συγκεκριμένης SIM αυτή τη στιγμή"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Χρήση <xliff:g id="CARRIER_NAME">%1$s</xliff:g>;"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Η εταιρεία κινητής τηλεφωνίας <xliff:g id="CARRIER_NAME">%1$s</xliff:g> θα χρησιμοποιείται για δεδομένα κινητής τηλεφωνίας, κλήσεις και SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Δεν υπάρχουν διαθέσιμες ενεργές SIM"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Για να χρησιμοποιήσετε αργότερα δεδομένα κινητής τηλεφωνίας, λειτουργίες κλήσεων και SMS, μεταβείτε στις ρυθμίσεις δικτύου σας."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Διαγραφή αυτής της eSIM;"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Η διαγραφή αυτής της SIM καταργεί την υπηρεσία <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> από αυτήν τη συσκευή.\n\nΗ υπηρεσία για <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> δεν θα ακυρωθεί."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Με αυτή την ενέργεια, η υπηρεσία <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> καταργείται από αυτή τη συσκευή, αλλά το πρόγραμμά σας <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> δεν θα ακυρωθεί."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Διαγραφή"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Διαγραφή SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Δεν είναι δυνατή η διαγραφή της SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Δεν είναι δυνατή η διαγραφή της SIM λόγω ενός σφάλματος .\n\nΕπανεκκινήστε τη συσκευή σας και δοκιμάστε ξανά."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Διαγραφή eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Δεν είναι δυνατή η διαγραφή της eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Προέκυψε πρόβλημα και δεν διαγράφηκε αυτή η eSIM.\n\nΕπανεκκινήστε τη συσκευή και δοκιμάστε ξανά."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Σύνδεση με τη συσκευή"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Η εφαρμογή <xliff:g id="APPNAME">%1$s</xliff:g> θέλει να χρησιμοποιήσει ένα προσωρινό δίκτυο Wi‑Fi για να συνδεθεί στη συσκευή σας."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Δεν βρέθηκαν συσκευές. Βεβαιωθείτε ότι οι συσκευές είναι ενεργοποιημένες και διαθέσιμες για σύνδεση."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Κλήσεις έκτακτης ανάγκης"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Οι κλήσεις έκτακτης ανάγκης μέσω Κλήσης Wi‑Fi δεν υποστηρίζονται από την εταιρεία κινητής τηλεφωνίας σας.\nΗ συσκευή αλλάζει αυτόματα σε δίκτυο κινητής τηλεφωνίας για την πραγματοποίηση μιας κλήσης έκτακτης ανάγκης.\nΗ πραγματοποίηση κλήσεων έκτακτης ανάγκης είναι δυνατή μόνο σε περιοχές με κάλυψη δικτύου κινητής τηλεφωνίας."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Χρήση Wi‑Fi για κλήσεις για βελτίωση της ποιότητας"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Δημιουργία αντιγράφων ασφαλείας κλήσεων"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Όταν δεν είναι διαθέσιμο το <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ή κατά την περιαγωγή, χρησιμοπ. SIM δεδομένων κιν. τηλεφ. για κλήσεις <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"δημιουργία αντιγράφων ασφαλείας κλήσεων"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Εισερχόμενο μήνυμα MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Αδυναμία αποστολής μηνύματος MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Πατήστε για να επιτρέψετε τα μηνύματα MMS στο <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> όταν τα δεδομένα κιν. τηλεφ. είναι απενεργοποιημένα"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Οι πληροφορίες πολιτικής εργασίας σας"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Η διαχείριση των ρυθμίσεων πραγματοποιείται από τον διαχειριστή IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Εκκίνηση με μέγεθος σελίδας 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Εκκίν. συσκ. με πυρήνα που υποστ. μέγ. σελ. 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Επανεκκίνηση με πυρήνα που είναι συμβατός με σελίδες μεγέθους 16 KB;"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Ορισμένες εφαρμογές μπορεί να μην είναι συμβατές με αυτή τη λειτουργία. Θα γίνει επανεκκίνηση της συσκευής μετά την επιβεβαίωση."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Επανεκκίνηση με πυρήνα που είναι συμβατός με σελίδες μεγέθους 4 KB;"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Θα γίνει επανεκκίνηση της συσκευής μετά την επιβεβαίωση."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Απέτυχε η ενημέρωση του πυρήνα ώστε να είναι συμβατός με σελίδες μεγέθους 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Εφαρμόζεται η αλλαγή"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Χειρισμός Αναφοράς σφάλματος"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Καθορίζει ποια εφαρμογή διαχειρίζεται τη συντόμευση της Αναφοράς σφάλματος στη συσκευή σας."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Προσωπικό"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Να επιτρέπονται εφαρμογές που μπορούν να εμφανίζονται πάνω από άλλες εφαρμογές για επικάλυψη των οθονών ρυθμίσεων"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Επιτρέπεται η Προσομοίωση μόντεμ"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Να επιτρέπεται σε αυτήν τη συσκευή η εκτέλεση της υπηρεσίας Προσομοίωση μόντεμ για δοκιμή ενορχήστρωσης. Μην ενεργοποιείτε αυτή την επιλογή κατά την κανονική χρήση του τηλεφώνου."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Απενεργ. μέτρων προστασίας για κοινή χρήση οθόνης"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Απενεργοποιεί τα μέτρα προστασίας για εφαρμογές και ειδοποιήσεις που εφαρμόζει το σύστημα κατά την κοινή χρήση της οθόνης"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Μέσα"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Καρφίτσωμα προγράμματος αναπαραγωγής μέσων"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Για γρήγορη συνέχιση της αναπαραγωγής, το πρόγραμμα αναπαραγωγής μέσων παραμένει ανοικτό στις Γρήγορες ρυθμίσεις"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Εμφάνιση μέσων στην οθόνη κλειδώματος"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Για να συνεχιστεί γρήγορα η αναπαραγωγή, το πρόγραμμα αναπαραγωγής μέσων παραμένει ανοικτό στην οθόνη κλειδώματος."</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Εμφάνιση προτάσεων μέσων"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Εμφάνιση προτάσεων μέσων του Βοηθού"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Με βάση τη δραστηριότητά σας"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Απόκρυψη προγράμματος αναπαραγωγής"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Εμφάνιση προγράμματος αναπαραγωγής"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"μέσα"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Να επιτρέπονται οι επεκτάσεις λογισμικού κάμερας"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Ενεργοποιεί την προεπιλεγμένη εφαρμογή λογισμικού σύνθετων λειτουργιών της κάμερας, όπως η φωνητική βιντεοσκόπηση."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Το Bluetooth θα ενεργοποιηθεί."</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Διαδίκτυο"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Κάρτες SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Ενεργή"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Ανενεργή"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Ενεργή"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Ανενεργή"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Προεπιλογή για <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"κλήσεις"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Ο ήχος από συμβατά μέσα γίνεται πιο καθηλωτικός"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Παρακολούθηση κίνησης κεφαλιού"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Ο ήχος αλλάζει καθώς κινείτε το κεφάλι σας προκειμένου να ακούγεται πιο φυσικός"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Συγχρονισμός αδειών"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Παραχωρήστε στη συσκευή <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> τις ίδιες άδειες εφαρμογών που παραχωρήσατε στη συσκευή <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Συγχρονισμός αδειών από το τηλέφωνο"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Εκχωρήστε στο ρολόι σας τις ίδιες άδειες εφαρμογών που έχετε επιτρέψει για το τηλέφωνό σας"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Τύπος συσκευής ήχου"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Άγνωστο"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Ηχείο"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Μέτρια"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Υψηλή"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Αυτή η εφαρμογή μπορεί να ανοίξει μόνο σε ένα παράθυρο"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Η λειτουργία είναι ενεργή"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Η λειτουργία είναι ανενεργή"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Η συντόμευση είναι ανενεργή"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Ανενεργή"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Ενεργή"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Ανενεργή"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Ενεργή"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Ανενεργή"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Μετατρέπει τις ανοιχτόχρωμες οθόνες σε σκουρόχρωμες και τις σκουρόχρωμες οθόνες σε ανοιχτόχρωμες"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Μεγεθύνετε στην οθόνη"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Ανενεργή"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Ανενεργή"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Σάρωση για παραπλανητικές εφαρμογές"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Έλεγχος δραστηριότητας σε εφαρμογές για ηλεκτρονικό ψάρεμα (phishing)"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Χρήση σάρωσης για παραπλανητικές εφαρμογές"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Χρήση σάρωσης για παραπλανητικές εφαρμογές για την εργασία"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Ο κωδικός πρόσβασης έχει πλέον οριστεί"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Εμφάνιση δείκτη κατά την τοποθέτηση"</string>
 </resources>
diff --git a/res/values-en-rAU/arrays.xml b/res/values-en-rAU/arrays.xml
index 7f5af74..8eb51ad 100644
--- a/res/values-en-rAU/arrays.xml
+++ b/res/values-en-rAU/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Available"</item>
     <item msgid="6096962300722555553">"Out of range"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Use system default: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"After one minute"</item>
     <item msgid="1574040255478150028">"After five minutes"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-en-rAU/strings.xml b/res/values-en-rAU/strings.xml
index e008693..cda67ff 100644
--- a/res/values-en-rAU/strings.xml
+++ b/res/values-en-rAU/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"You are now a developer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"No need, you are already a developer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Only the admin users can access developer settings."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Front display turns on when you fold your device"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Only games, videos and more"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Front display turns on for apps that stop your screen going idle"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swipe up to continue"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Fold your phone and swipe up on the front display to continue using the app, or wait a few seconds for the screen to lock"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Never"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Front display locks when you fold your device"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Use auto-rotate"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Related"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringtone and alarms"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio during calls"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notifications and other system sounds"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media and system sounds"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"By default, audio output is determined by individual apps"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Searching"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancel"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Disable Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Disables the Bluetooth LE audio feature if the device supports LE audio hardware capabilities."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio mode"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Show LE Audio toggle in Device details"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Enable Bluetooth LE Audio allow List"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Enable Bluetooth LE Audio allow list feature."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bypass Bluetooth LE Audio allowlist"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Use LE Audio by default even if LE Audio peripheral hasn\'t been verified to meet allowlist criteria."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associated with account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Previously used with account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Previously connected"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Add %s to preferred languages?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"This lets apps and websites know that you also prefer this language."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Your device settings and regional preferences will change."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Change"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s not available"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Saturday"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"If an app doesn’t support regional preferences, the app will use its default locale settings."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Learn more about language preferences."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Additional preferences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Terms of address"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Set how you want to be addressed"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps can use your terms of address to personalise how they address you."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Not specified"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminine"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculine"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remove selected language?}other{Remove selected languages?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text will be displayed in another language."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Can’t remove all languages"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Location"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Use location"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{On – # app has access to location}other{On – # apps have access to location}}"</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_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="5329024810729665156">"Learn more about location settings."</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="3574930966097093550">"To change location access, go to Settings &gt; Security and privacy &gt; Privacy controls"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Accounts"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Security"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encryption and credentials"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"For best results, use a screen protector that’s Made For Google certified. With other screen protectors, your child’s fingerprint may not work."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Watch Unlock"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nYou can unlock with your watch when your face or fingerprint isn’t recognised."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"You can unlock with your watch when your fingerprint isn’t recognised."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"You can unlock with your watch when your face isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nWatch Unlock is another convenient way to unlock your phone, for example, when your fingers are wet or face isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Watch Unlock is another convenient way to unlock your phone, for example, when your fingerprint isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Watch Unlock is another convenient way to unlock your phone, for example, when your face isn’t recognised."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use fingerprint or watch to"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use face or watch to"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use face, fingerprint or watch to"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn\'t recognised.\n\nYou can use your watch to unlock this phone when you:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Not now"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continue"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"More"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"How it works"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Your watch must be unlocked, on your wrist and within reach of this phone. You won\'t need to unlock your watch again while it\'s on your wrist."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"When this phone is unlocked, you\'ll get notified on your watch. If it was unlocked when you didn\'t intend to, tap the notification to lock the phone again."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"You\'re in control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"You can remove your watch from Watch Unlock at any time in Settings"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swipe up on the lock screen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Choose your watch"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Available watches"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancel"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirm"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"You\'re ready to go!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Done"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Watch Unlock"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"You can use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"To use Watch Unlock, your watch must be unlocked, on your wrist, within reach and connected to this phone. If the connection is interrupted, you\'ll need to unlock the phone before you can use Watch Unlock.\n\nKeep in mind:\nYou can only have one watch set up at a time. To add another watch, remove the current one first."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Security"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Private space"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Keep private apps locked and hidden"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Private space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Face and Fingerprint Unlock"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingerprint Unlock"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Face Unlock"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Face Unlock for private space"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Ways to unlock"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Choose a new lock for private space?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lock private space automatically"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"You can lock your private space automatically if you haven\'t used your device for a period of time"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Every time device locks"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"After 5 minutes of inactivity"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Never"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Hide private space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"To stop other people knowing that you have a private space on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Access private space when hidden"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"From your apps list, enter \'private space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tap the private space tile"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Unlock your private space"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Delete private space"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Delete private space?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Your private space will be removed from your device. All private apps and data will be deleted. You can’t undo this action."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"The following accounts will be removed from your private space:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Delete"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Deleting private space…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"This will take a few moments"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Private space deleted"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Private space could not be deleted"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Private space unlocked"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"To use your private space, set a screen lock on this device"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancel"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Set up"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Set up a private space"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"How it works"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"You can access your private space from the bottom of your apps list"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps in your private space are protected by a lock"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notifications from apps in your private space are hidden when it’s locked"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps in your private space won\'t appear in permission manager, privacy dashboard and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notifications from private space apps are hidden when it\'s locked"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Unlock private space to share photos or files"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Some apps are already installed in your 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_lockscreen_title" msgid="6034864097861137509">"Use screen lock to unlock private space?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Choose new lock"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"All set!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"To find your private space, go to your apps list then scroll down"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Done"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scroll down to find private space"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Sign in"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Sign in to an account to use with your private space"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Not now"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continue"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Choose a lock for your private space"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"You can unlock your private space using your fingerprint. For security, this option requires a backup lock."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Set a PIN for your private space"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Set a password for your private space"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Set a pattern for your private space"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Password"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Delete screen lock?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remove all types of device unlock?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remove profile protection?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"A pattern protects your phone if it’s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"A pattern protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"A PIN protects your phone if it’s lost or stolen"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"You will lose saved data, like your PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This also deletes the fingerprint model stored on your device. You won’t be able to use your fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"You will lose saved data, like your PIN and fingerprint model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Your face model will also be permanently and securely deleted. You won’t be able to use your face for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"You will lose saved data, like your PIN and face model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"You will lose saved data, like your PIN, face and fingerprint models.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"A password protects your phone if it’s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"A password protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Pair with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Add new member to the existing coordinated set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirm to add the second piece of your audio device"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth pairing code"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Type the pairing code then press Return or Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN contains letters or symbols"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Must be 16 digits"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"You may also need to type this PIN on the other device."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"You may also need to type this passkey on the other device."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirm to pair with the coordinated set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirm to pair with the audio device"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Allow access to your contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Also allow access to contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Info will be used for call announcements and more"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Couldn\'t connect to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Available devices"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair &amp; connect"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
     <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_scan_change" msgid="1744636222637390367">"Change"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In aeroplane mode"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notify for public networks"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notify when a high‑quality public network is available"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Allow WEP networks"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP is an older security protocol that\'s less secure"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Your operator doesn\'t allow WEP networks because they\'re less secure"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Turn on Wi‑Fi automatically"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi will turn back on near high‑quality saved networks, like your home network"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Unavailable because location is turned off. Turn on "<annotation id="link">"location"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi scanning allows apps and services to 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"This network uses an older security protocol that\'s less secure"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> is blocked"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"This network uses an older security protocol called WEP, which is less secure. To connect anyway, you can allow WEP networks."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Your operator doesn\'t allow you to connect to this network because it uses an older security protocol that’s less secure"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Allow WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Close"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Stay on Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Never show again"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Connect"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi turned on"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connected to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connecting to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connecting…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Failed to connect to network"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Network not in range"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Forget"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modify"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Failed to forget network"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Save"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Failed to save network"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancel"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobile data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – charging"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – charging"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot connection"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Connection strength"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saved networks"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No password set"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot name"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot password"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Disable default frame rate for games"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Disable limiting the maximum frame rate for games at <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness and animation quality. Increases battery usage."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Screen attention uses the front camera to see if someone is looking at the screen. It works on-device, and images are never stored or sent to Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Turn on screen attention"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Keep screen on when looking at it"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Longer screen timeout will use more battery."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Camera is locked"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Camera must be unlocked for face detection"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Camera must be unlocked for screen attention"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM slot <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM slot <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primary)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Battery level"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Communal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellite messaging"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
     <string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN enabled"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN disabled"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Network type"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Unspecified"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO value"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Delete APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplicate APN entry."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"The Name field can\'t be empty."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"The APN cannot be empty."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC field must be 3 digits."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC field must be 2 or 3 digits."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operator does not allow adding APNs of type %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC field must be valid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restoring default APN settings."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Reset to default"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your operator."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"This won’t cancel your mobile service plan. To get a replacement SIM, contact your operator."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Reset all network settings? You can\'t undo this action."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Reset all network settings and erase eSIMs? You can’t undo this action."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Reset?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Network reset is not available for this user"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Network settings have been reset"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Can’t delete SIMs"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMs can’t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Can’t erase eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Something went wrong and your eSIMs weren’t erased.\n\nRestart your device and try again."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Erase all data (factory reset)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Erase all data (factory reset)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Music"</li>\n<li>"Photos"</li>\n<li>"Other user data"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"This will not cancel your mobile service plan."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"All of your personal information and downloaded apps will be deleted. You can’t undo this action."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"All of your personal information, including downloaded apps &amp; SIMs, will be deleted. You can’t undo this action."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"All of your personal information, including downloaded apps and eSIMs, will be deleted. You can’t undo this action."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Erase all data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Factory reset is not available for this user"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Erasing"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Off"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Only share Internet via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Only share Internet via USB and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Only share Internet via Bluetooth and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Only share Internet via USB, Bluetooth and Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use hotspot and tethering to provide Internet to other devices through your Wi‑Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Help"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobile network"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobile plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Change SMS app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> as your SMS app?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Change Wi‑Fi assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> to manage your network connections?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Use <xliff:g id="NEW_APP">%s</xliff:g> to manage your network connections?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Unknown SIM operator"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> has no known provisioning website"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Please insert SIM card and restart"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Please connect to the internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Recent location requests"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Location for work profile"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"App location permissions"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Clear access"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controls"</string>
     <string name="force_stop" msgid="2681771622136916280">"Force stop"</string>
+    <string name="archive" msgid="9074663845068632127">"Archive"</string>
+    <string name="restore" msgid="7622486640713967157">"Restore"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restoring"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restoring."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restoring.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restoring…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"App size"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB storage app"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Couldn\'t compute the package size."</string>
     <string name="version_text" msgid="7628938665256107608">"Version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Move"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiving failed"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Archived <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restoring failed"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restoring <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Another migration is already in progress."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Not enough storage space."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"App doesn\'t exist."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Available on-screen keyboard"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Manage on-screen keyboards"</string>
     <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="6922850403920596246">"Enable bounce keys for physical keyboard accessibility"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Enable slow keys for physical keyboard accessibility"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Enable sticky keys for physical keyboard accessibility"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom-right corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Go home"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swipe up with three fingers anywhere on your touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Go back"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sort by usage time"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sort by last time used"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sort by app name"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Last time used"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Last used"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"never"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Usage time"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibility"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Accessibility settings"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use Accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Two-finger double-tap screen to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the Accessibility button on your screen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"To start and stop magnification, double-tap anywhere on your screen with two fingers."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"To use an accessibility feature, 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Accessibility button settings"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Button settings"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Accessibility button"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Accessibility gesture"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"Two-finger double-tap screen"</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="6863958573135995927">"triple-tap screen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Learn more about accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose whether you want to use a button or gesture to access the feature"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose the button to access the feature"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose whether you want to use a button or gesture to access the feature&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose the button to access the feature&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Size"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Power button ends call"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Large mouse cursor"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Make the mouse pointer more noticeable"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Make all apps dark"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Applies to apps without their own Dark theme. Some apps may have display issues, like inverted colours."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remove animations"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce movement on the screen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Use vibration and haptics"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarm vibration"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Media vibration"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Keyboard vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Keep on"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Turn off <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
     <string name="settings_button" msgid="2195468788019730377">"Settings"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ease of use, ease of access, assistance, assistive"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Window magnifier, zoom, magnification, low vision, enlarge, make bigger"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"colour contrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hard of hearing, hearing loss, captions, Teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"three buttons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"delay, dexterity, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printing"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Off"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 print service on}other{# print services on}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> remaining"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> to charge"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Screen time"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Background time"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Low battery"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Allow the app to run in the background"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limit background activity?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimise battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimisation."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimised"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Charging optimised to protect your battery"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"To help extend your battery\'s lifespan, charging is optimised"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Charging optimised to protect your battery"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"To help extend your battery\'s lifespan, charging is optimised while docked"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Charging optimised to protect your battery"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"To help extend your battery\'s lifespan, charging is optimised while docked"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Charging to full"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"To protect your battery, charging will be optimised the next time your tablet is docked"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Learn more about charging is paused"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Includes high-power background activity"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Charge to full"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Issue with charging accessory"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Check charging accessory"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Learn more about incompatible charging"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"since last full charge"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"System apps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Uninstalled apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Others"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Estimated time left"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Until fully charged"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: less than a min."</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Background: less than a min"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Screen time: less than a min"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Less than a min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Background: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Screen time: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"now"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Battery usage chart"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Daily battery usage chart"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Hourly battery usage chart"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Battery level percentage from <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> to <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Battery usage since last full charge"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Battery usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Screen time since last full charge"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"On"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Off"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup &amp; restore"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personal data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Back up my data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobile data and Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Auto-sync personal data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Auto-sync work data"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Auto-sync private data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Change cycle…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Day of month to reset data usage cycle:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"No apps used data during this period."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Name"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec preshared key"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Username"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Password"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don\'t verify server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Failed to start unsupported VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receive bulletins about child abductions"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repeat"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Enable Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Allow this service to manage how your calls are made."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Wireless emergency alerts"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Network operators"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Access point names"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (SIM slot %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs changed."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Your SIM\'s changed"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Passwords and accounts"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saved passwords, autofill, synced accounts"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions for sign-in and autofill"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Default apps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Cloned apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Create a second instance of an app so that you can use two accounts at the same time."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesture"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"face, unlock, auth, sign in"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"face, unlock, auth, sign in, fingerprint, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl version, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"text size, large print, large font, large text, low vision, make text bigger, font enlarger, font enlargement"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"always on ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, reader"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"keyboard, haptics, vibrate,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Power on sounds"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatically caption media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Phone speakers"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablet speakers"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Device speakers"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Wired headphones"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio from compatible media becomes more immersive"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Off"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Recent conversations removed"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversation removed"</string>
     <string name="clear" msgid="5092178335409471100">"Clear"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Clear <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Priority and modified conversations will appear here"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Once you mark a conversation as priority, or make any other changes to conversations, they will appear here. \n\nTo change conversation settings: \nSwipe down from the top of the screen to open the pull-down shade, then touch and hold a conversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimise"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Apply cooldown to all notifications"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Gradually lower the notification volume when you get many successive notifications from the same app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Apply cooldown to conversations"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Gradually lower the notification volume when you get many messages from the same chat within a short period of time"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Don\'t use notification cooldown"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Never lower notification volume, regardless of the amount of successive notifications from the same app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrate when unlocked"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Only vibrate when screen is unlocked"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Apply the notification cooldown settings from your personal profile to your work profile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"No installed apps have requested to be run as VR helper services."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Allow VR service access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Off"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"App pinning"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to securely share your device with someone, try using a guest user instead. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to share your device with someone securely, try using a guest user instead. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"When app is pinned: \n\n• Personal data may be accessible \n(such as contacts and email content) \n• Pinned app may open other apps \n\nOnly use app pinning with people you trust."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Ask for unlock pattern before unpinning"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirm that you want to erase your eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verify that it\'s you before erasing an eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Advanced memory protection beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Advanced memory protection"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Unused app settings"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pause app activity if unused"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remove permissions, delete temporary files and stop notifications"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Manage app if unused"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remove permissions, delete temporary files, stop notifications and archive the app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Free"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memory used by apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app used memory in the last {time}}other{# apps used memory in the last {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Enable memory usage profiling"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Memory usage profiling requires additional system resources."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Memory profiling disabled"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequency"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximum usage"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No data used"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Allow this app to display on top of other apps that you’re using. This app will be able to see where you tap or change what’s displayed on the screen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Change media output"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Allow app to switch media output"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Allow this app to choose which connected device plays audio or video from other apps. If allowed, this app can access a list of available devices such as headphones and speakers and choose which output device is used to stream or cast audio or video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Full-screen notifications"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full-screen notifications from this app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls or other urgent notifications."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> data warning"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> data limit"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> data warning/<xliff:g id="ID_2">^2</xliff:g> data limit"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operator data accounting may differ from device accounting"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Excludes data used by operator networks"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Set data warning"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Updated <xliff:g id="ID_1">^2</xliff:g> ago"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Updated by <xliff:g id="ID_1">^1</xliff:g> just now"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Updated just now"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"View plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"View details"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Data Saver"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Unrestricted data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Quick settings developer tiles"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Disable adb authorisation timeout"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Disable automatic revocation of adb authorisations for systems that have not reconnected within the default (seven days) or user-configured (minimum one day) amount of time."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensors Off"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Search for work directory contacts in personal apps"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2-button navigation, 3-button navigation, gesture navigation, swipe"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke the assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from the bottom corner to invoke digital assistant app."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Auto-fill service"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Default auto-fill service"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Passwords"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Passwords, passkeys and data services"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferred service"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Additional services"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# password}other{# passwords}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, fill, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fill, autofill, data, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Change"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Open"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"None selected"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled. New passwords, passkeys and other info will be saved here from now on."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Passwords, passkeys and data services"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferred service for passwords, passkeys and autofill"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Turn off %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Turn off this service?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Saved info like passwords, passkeys, payment methods and other info won\'t be filled in when you sign in. To use your saved info, choose a password, passkey or data service."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Passwords, passkeys and autofill"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passwords, passkeys and other saved info won\'t be available for autofill when you sign in"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Change your preferred service to &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Use %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Turn off"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Change"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"You can only have 5 services on"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Turn off at least 1 service to add another"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Passwords, passkeys and data services limit"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"You can have up to five passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Passwords, passkeys and data services limit"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"You can have up to five passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Turn off"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Auto-fill"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logging level"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d accounts"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Device name"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basic info"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legal and regulatory"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Allow this app to launch when an NFC tag is scanned.\nIf this permission is on, the app will be available as an option whenever a tag is detected."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Play media to"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Play <xliff:g id="LABEL">%s</xliff:g> on"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio will play on"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"This device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Mute"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"To enable, first change \'Press &amp; hold power button\' to the power menu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Network details"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Your device name is visible to apps on your phone. 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="devices_title" msgid="649715719278562515">"Devices"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Choose network"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Disconnected"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Name"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Colour (used by compatible apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Save"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Use SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Use this SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"To turn off this SIM, remove the SIM card"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tap to activate your <xliff:g id="CARRIER">%1$s</xliff:g> SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Erase eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Check with your network provider for pricing."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"App data usage"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellite messaging"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Send and receive text messages by satellite. Included with your account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Send and receive text messages by satellite. Non included with your account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellite messaging"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"About satellite messaging"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"You can send and receive text messages by satellite as part of an eligible <xliff:g id="CARRIER_NAME">%1$s</xliff:g> account"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> plan"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellite messaging is included with your account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellite messaging isn’t included with your account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Add satellite messaging"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"How it works"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"When you don’t have a mobile network"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Your phone will auto-connect to a satellite. For the best connection, keep a clear view of the sky."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"After your phone connects to a satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"You can text anyone, including emergency services. Your phone will reconnect to a mobile network when available."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellite messaging may take longer and is available only in some areas, weather and certain structures may affect your satellite connection. Calling by satellite isn’t available.\n\nIt may take some time for changes to your account to show in Settings. Contact <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for details."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"More about satellite messaging"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Switch to using SIM card?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Only one SIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Only one eSIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Only one SIM can be active at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Only one SIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Only one eSIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Only one SIM can be on at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"You can use two SIMs at a time. To use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, turn off another SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Turning off a SIM won’t cancel your service"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connecting to network…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for calls and messages…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Can’t switch operator"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"The operator can’t be switched because of an error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activating your SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Can\'t switch SIMs"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Something went wrong. Can\'t switch SIMs."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Turn off SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Can’t disable operator"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Can\'t turn off SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Something went wrong and your SIM could not be turned off."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Use two SIMs?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"This device can have two SIMs active at once. To continue using one SIM at a time, tap \'No, thanks\'."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Restart device?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Set up your SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Set your mobile network preferences to use multiple SIMs on this device"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Label your SIMs"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"You’ll see these labels when making calls, sending texts and using data, and in Settings"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM label"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Select which SIMs to use"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"You can use two SIMs at a time"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Set your primary SIMs"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Choose which SIMs to use by default for calls, texts and data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Your primary SIMs"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Calls"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Texts"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatic data switching"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Use data from either SIM depending on coverage and availability"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data only"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Set up"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Next"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Turning on <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobile network"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Phone number"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM label and colour"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operator switching"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> is active"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM is active"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tap to update SIM settings"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Switched to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Switched to another operator"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Your mobile network has changed"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Choose a SIM to use"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM is available on this device, but only one can be used at a time}=2{2 SIMs are available on this device, but only one can be used at a time}other{# SIMs are available on this device, but only one can be used at a time}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Turning on<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Couldn\'t turn on this SIM right now"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> will be used for mobile data, calls and SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No active SIMs available"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"To use mobile data, call features and SMS at a later time, go to your network settings"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Erase this eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"This removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device, but your <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> plan won\'t be cancelled."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Erasing eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Can\'t erase eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Something went wrong and this eSIM wasn\'t erased.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Emergency calls"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Emergency calls over Wi‑Fi Calling are not supported by your operator.\nThe device switches automatically to a mobile network to place an emergency call.\nEmergency calls are only possible in areas with mobile coverage."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Use Wi‑Fi for calls to improve quality"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Backup calling"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"If <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> is unavailable or roaming, use your mobile data SIM for <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> calls."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"backup calling"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Incoming MMS message"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Can’t send MMS message"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tap to allow MMS messaging on <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> when mobile data is off"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Boot with 16K page size"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Boot device using 16K page size supported kernel"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reboot with 16 KB pages compatible kernel?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WARNING: Some applications may not be compatible with this mode. Device will reboot after confirmation."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reboot with 4 KB pages compatible kernel?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Device will reboot after confirmation."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Failed to update kernel to 16 KB pages compatible kernel."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Applying change"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Allow apps that can display over other apps to overlay settings screens"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Allow mock modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Allow this device to run mock modem service for instrumentation testing. Do not enable this during normal usage of the phone"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Disable screen share protections"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Disables system applied app and notifications protections during screen sharing"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Pin media player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"To quickly resume playback, media player stays open in Quick Settings"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Show media on lock screen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"To quickly resume playback, media player stays open on lock screen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Show media recommendations"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Show Assistant media recommendations"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Based on your activity"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Hide player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Show player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Allow camera software extensions"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Enables the default software implementation of advanced camera features, such as Eyes Free videography."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth will turn on"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Active"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactive"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"On"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Off"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Default for <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"calls"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio from compatible media becomes more immersive"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Head tracking"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio changes as you move your head to sound more natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sync permissions"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Give <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> the same app permissions that you\'ve allowed on <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sync permissions from phone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Give your watch the same app permissions that you’ve allowed on this phone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio Device Type"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Unknown"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
     <string name="contrast_high" msgid="3988567609694797696">"High"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"This app can only be opened in one window"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"On"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Off"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Off"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Off"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"On"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Off"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"On"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Off"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Turns light screens dark and dark screens light"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom in on the screen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Off"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Off"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Password is now set up"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Show pointer while hovering"</string>
 </resources>
diff --git a/res/values-en-rCA/arrays.xml b/res/values-en-rCA/arrays.xml
index 46c29b1..a69d633 100644
--- a/res/values-en-rCA/arrays.xml
+++ b/res/values-en-rCA/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Available"</item>
     <item msgid="6096962300722555553">"Out-of-range"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Use System Default: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"After 1 minute"</item>
     <item msgid="1574040255478150028">"After 5 minutes"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-en-rCA/strings.xml b/res/values-en-rCA/strings.xml
index 968f684..31d61c6 100644
--- a/res/values-en-rCA/strings.xml
+++ b/res/values-en-rCA/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"You are now a developer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"No need, you are already a developer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Only the admin users can access developer settings."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In Service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of Service"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Front display turns on when you fold your device"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Only games, videos, and more"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Front display turns on for apps that stop your screen going idle"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swipe up to continue"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Fold your phone and swipe up on the front display to continue using the app, or wait a few seconds for the screen to lock"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Never"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Front display locks when you fold your device"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Use auto-rotate"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Related"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringtone and alarms"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio during calls"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notifications and other system sounds"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media and system sounds"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"By default, audio output is determined by individual apps"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Searching"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancel"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Disable Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Disables Bluetooth LE audio feature if the device supports LE audio hardware capabilities."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio mode"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Show LE audio toggle in Device Details"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Enable Bluetooth LE audio Allow List"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Enable Bluetooth LE audio allow list feature."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bypass Bluetooth LE Audio Allowlist"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Use LE Audio by default even if LE Audio peripheral hasn\'t been verified to meet Allowlist criteria."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associated with account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Previously used with account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Previously connected"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Add %s to preferred languages?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"This lets apps and websites know you also prefer this language."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Your device settings and regional preferences will change."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Change"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s not available"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Saturday"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"If an app doesn’t support regional preferences, the app will use its default locale settings."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Learn more about language preferences."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Additional preferences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Terms of address"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Set how you want to be addressed"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps can use your terms of address to personalize how they address you."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Not specified"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminine"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculine"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remove selected language?}other{Remove selected languages?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text will be displayed in another language."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Can’t remove all languages"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Location"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Use location"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{On—# app has access to location}other{On—# apps have access to location}}"</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_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="5329024810729665156">"Learn more about Location Settings."</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="3574930966097093550">"To change location access, go to Settings &gt; Security and Privacy &gt; Privacy controls"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Accounts"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Security"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encryption &amp; credentials"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"For best results, use a screen protector that’s Made for Google certified. With other screen protectors, your child’s fingerprint may not work."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Watch Unlock"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nYou can unlock with your watch when your face or fingerprint isn’t recognized."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"You can unlock with your watch when your fingerprint isn’t recognized."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"You can unlock with your watch when your face isn’t recognized."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nWatch Unlock is another convenient way to unlock your phone, for example, when your fingers are wet or face isn’t recognized."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Watch Unlock is another convenient way to unlock your phone, for example, when your fingerprint isn’t recognized."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Watch Unlock is another convenient way to unlock your phone, for example, when your face isn’t recognized."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use fingerprint or watch to"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use face or watch to"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use face, fingerprint, or watch to"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn’t recognized.\n\nYou can use your watch to unlock this phone when you:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Not now"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continue"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"More"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"How it works"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Your watch must be unlocked, on your wrist, and within reach of this phone. You won’t need to unlock your watch again while it’s on your wrist."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"When this phone is unlocked, you’ll get notified on your watch. If it was unlocked when you didn’t intend to, tap the notification to lock the phone again."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"You’re in control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"You can remove your watch from Watch Unlock at any time in Settings"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swipe up on the lock screen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Choose your watch"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Available watches"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancel"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirm"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"You’re all set!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Done"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Watch Unlock"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"You can use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"To use Watch Unlock, your watch must be unlocked, on your wrist, within reach, and connected to this phone. If the connection is interrupted, you’ll need to unlock the phone before you can use Watch Unlock.\n\nKeep in mind:\nYou can only have one watch set up at a time. To add another watch, first remove the current one."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Security"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Private space"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Keep private apps locked and hidden"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Private space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Face &amp; Fingerprint Unlock"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingerprint Unlock"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Face Unlock"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Face Unlock for private space"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Ways to unlock"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Choose a new lock for private space?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lock private space automatically"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"You can lock your private space automatically if you havent used your device for a period of time"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Every time device locks"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"After 5 minutes of inactivity"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Never"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Hide private space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"To stop other people knowing you have a private space on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Access private space when hidden"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"From your apps list, enter \"private space\" in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tap the private space tile"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Unlock your private space"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Delete private space"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Delete private space?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Your private space will be removed from your device. All private apps and data will be deleted. You can’t undo this action."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"The following accounts will be removed from your private space:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Delete"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Deleting private space…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"This will take a few moments"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Private space deleted"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Private space could not be deleted"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Private space unlocked"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"To use your private space, set a screen lock on this device"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancel"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Set up"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Set up a private space"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"How it works"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"You can access your private space from the bottom of your apps list"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps in your private space are protected by a lock"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notifications from apps in your private space are hidden when it’s locked"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notifications from private space apps are hidden when it’s locked"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Unlock private space to share photos or files"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Some apps are already installed in your 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_lockscreen_title" msgid="6034864097861137509">"Use screen lock to unlock private space?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Choose new lock"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"All set!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"To find your private space, go to your apps list then scroll down"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Done"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scroll down to find private space"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Sign in"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Sign in to an account to use with your private space"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Not now"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continue"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Choose a lock for your private space"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"You can unlock your private space using your fingerprint. For security, this option requires a backup lock."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Set a PIN for your private space"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Set a password for your private space"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Set a pattern for your private space"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Password"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Delete screen lock?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remove all types of device unlock?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remove profile protection?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"A pattern protects your phone if it\'s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"A pattern protects your phone if it\'s lost or stolen.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won\'t be able to use your face or fingerprint for authentication in apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"A PIN protects your phone if it\'s lost or stolen"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"You will lose saved data like your PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"A PIN protects your phone if it\'s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This also deletes the fingerprint model stored on your device. You won\'t be able to use your fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"You will lose saved data like your PIN and fingerprint model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"A PIN protects your phone if it\'s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Your face model will also be permanently and securely deleted. You won\'t be able to use your face for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"You will lose saved data like your PIN and face model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"A PIN protects your phone if it\'s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won\'t be able to use your face or fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"You will lose saved data like your PIN, face and fingerprint models.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"A password protects your phone if it\'s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"A password protects your phone if it\'s lost or stolen.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Pair with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Add new member to the existing coordinated set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirm to add the second piece of your audio device"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth pairing code"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Type the pairing code then press Return or Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN contains letters or symbols"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Must be 16 digits"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"You may also need to type this PIN on the other device."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"You may also need to type this passkey on the other device."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirm to pair with the coordinated set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirm to pair with the audio device"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Allow access to your contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Also allow access to contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Info will be used for call announcements and more"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Couldn’t connect to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Available devices"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair &amp; connect"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
     <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_scan_change" msgid="1744636222637390367">"Change"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In Airplane mode"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notify for public networks"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notify when a high‑quality public network is available"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Allow WEP networks"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP is an older security protocol that\'s less secure"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Your carrier doesn\'t allow WEP networks because they\'re less secure"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Turn on Wi‑Fi automatically"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi will turn back on near high‑quality saved networks, like your home network"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Unavailable because location is turned off. Turn on "<annotation id="link">"location"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi scanning allows apps and services to 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"This network uses an older security protocol that\'s less secure"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> is blocked"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"This network uses an older security protocol called WEP, which is less secure. To connect anyway, you can allow WEP networks."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Your carrier doesn\'t allow you to connect to this network because it uses an older security protocol that’s less secure"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Allow WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Close"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop down list Advanced Options"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Stay on Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Never show again"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Connect"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi turned on"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connected to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connecting to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connecting…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Failed to connect to network"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Network not in range"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Forget"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modify"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Failed to forget network"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Save"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Failed to save network"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancel"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobile data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Charging"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Charging"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot connection"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Connection strength"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saved networks"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No password set"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot name"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot password"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP Band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Disable default frame rate for games"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Disable limiting the maximum frame rate for games at <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness &amp; animation quality. Increases battery usage."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Screen attention uses the front camera to see if someone is looking at the screen. It works on device, and images are never stored or sent to Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Turn on screen attention"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Keep screen on when looking at it"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Longer screen timeout will use more battery."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Camera is locked"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Camera must be unlocked for Face Detection"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Camera must be unlocked for Screen Attention"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (sim slot <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (sim slot <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primary)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Battery level"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Communal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellite Messaging"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
     <string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN enabled"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN disabled"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Network type"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Unspecified"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO value"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Delete APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplicate apn entry."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"The Name field can’t be empty."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"The APN can’t be empty."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC field must be 3 digits."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC field must be 2 or 3 digits."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Carrier does not allow adding APNs of type %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC field must be valid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restoring default APN settings."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Reset to default"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your carrier."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"This won’t cancel your mobile service plan. To get a replacement SIM, contact your carrier."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Reset all network settings? You can\'t undo this action."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Reset all network settings and erase eSIMs? You can’t undo this action."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Reset?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Network reset is not available for this user"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Network settings have been reset"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Can’t erase SIMs"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMs can’t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Can’t erase eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Something went wrong and your eSIMs weren’t erased.\n\nRestart your device and try again."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Erase all data (factory reset)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Erase all data (factory reset)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Music"</li>\n<li>"Photos"</li>\n<li>"Other user data"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"This will not cancel your mobile service plan."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"All of your personal information and downloaded apps will be deleted. You can’t undo this action."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"All of your personal information, including downloaded apps &amp; SIMs, will be deleted. You can’t undo this action."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"All of your personal information, including downloaded apps &amp; eSIMs, will be deleted. You can’t undo this action."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Erase all data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Factory reset is not available for this user"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Erasing"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing internet with other devices"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Off"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share internet via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share internet via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Only share internet via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share internet via USB and Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Only share internet via USB and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Only share internet via Bluetooth and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Only share internet via USB, Bluetooth and Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use hotspot and tethering to provide internet to other devices through your Wi‑Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Help"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobile network"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobile plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Change SMS app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> as your SMS app?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Change Wi‑Fi assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> to manage your network connections?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Use <xliff:g id="NEW_APP">%s</xliff:g> to manage your network connections?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Unknown SIM operator"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> has no known provisioning website"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Please insert SIM card and restart"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Please connect to the internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Recent location requests"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Location for work profile"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"App location permissions"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Clear access"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controls"</string>
     <string name="force_stop" msgid="2681771622136916280">"Force stop"</string>
+    <string name="archive" msgid="9074663845068632127">"Archive"</string>
+    <string name="restore" msgid="7622486640713967157">"Restore"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restoring"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restoring."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restoring.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restoring..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"App size"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB storage app"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Couldn’t compute package size."</string>
     <string name="version_text" msgid="7628938665256107608">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Move"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiving failed"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Archived <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restoring failed"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restoring <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Another migration is already in progress."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Not enough storage space."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"App doesn’t exist."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Available On-screen keyboard"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Manage on-screen keyboards"</string>
     <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="6922850403920596246">"Enable Bounce keys for physical keyboard accessibility"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Enable Slow keys for physical keyboard accessibility"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Enable Sticky keys for physical keyboard accessibility"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom right corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Go home"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swipe up with three fingers anywhere on your touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Go back"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sort by usage time"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sort by last time used"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sort by app name"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Last time used"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Last used"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"never"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Usage time"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibility"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Accessibility settings"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Two finger double tap screen to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the accessibility button on your screen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"To start and stop magnification, double-tap anywhere on your screen with two fingers."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"To use an accessibility feature, 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_tutorial_dialog_button" msgid="2031773187678948436">"Got it"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Accessibility button settings"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Button settings"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Accessibility button"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Accessibility gesture"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"two-finger double-tap screen"</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="6863958573135995927">"triple-tap screen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Learn more about accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn\'t available with three-button navigation"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose whether you want to use a button or gesture to access the feature"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose the button to access the feature"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose whether you want to use a button or gesture to access the feature&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose the button to access the feature&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Size"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Power button ends call"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Large mouse pointer"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Make the mouse pointer more noticeable"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Make all apps dark"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Applies to apps without their own dark theme. Some apps may have display issues, like inverted colors."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remove animations"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce movement on the screen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Use vibration and haptics"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarm vibration"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Media vibration"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Keyboard vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Keep on"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Turn off <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
     <string name="settings_button" msgid="2195468788019730377">"Settings"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ease of use, ease of access, assistance, assistive"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"color contrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hard of hearing, hearing loss, captions, Teletype, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"three buttons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"delay, dexterity, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printing"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Off"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 print service on}other{# print services on}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> remaining"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> to charge"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Screen time"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Background time"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Low battery"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Allow the app to run in the background"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limit background activity?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimize battery, you can\'t restrict it.\n\nTo restrict the app, first turn on battery optimization."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimized"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Charging optimized to protect your battery"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"To help extend your battery\'s lifespan, charging is optimized"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Charging optimized to protect your battery"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"To help extend your battery\'s lifespan, charging is optimized while docked"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Charging optimized to protect your battery"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"To help extend your battery\'s lifespan, charging is optimized while docked"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Charging to full"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"To protect your battery, charging will be optimized the next time your tablet is docked"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Learn more about charging is paused"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Includes high-power background activity"</string>
@@ -2252,8 +2436,8 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Charge to full"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Issue with charging accessory"</string>
+    <string name="battery_tip_charge_to_full_button" msgid="9172893341338732733">"Override"</string>
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Check charging accessory"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Learn more about incompatible charging"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
@@ -2293,6 +2477,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"since last full charge"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"System apps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Uninstalled apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Others"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Estimated time left"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Until fully charged"</string>
@@ -2336,6 +2521,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: less than a min"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Background: less than a min"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Screen time: less than a min"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Less than a min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Background: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Screen time: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2529,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"now"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Battery usage chart"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Daily battery usage chart"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Hourly battery usage chart"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Battery level percentage from <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> to <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Battery usage since last full charge"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Battery usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Screen time since last full charge"</string>
@@ -2461,8 +2649,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialing signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behavior when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"On"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Off"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup &amp; restore"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personal data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Back up my data"</string>
@@ -2551,6 +2737,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobile data &amp; Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Auto-sync personal data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Auto-sync work data"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Auto-sync private data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Change cycle…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Day of month to reset data usage cycle:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"No apps used data during this period."</string>
@@ -2600,27 +2787,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Name"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec pre-shared key"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Username"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Password"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don’t verify server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2656,6 +2834,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Failed to start unsupported VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -2790,11 +2969,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receive bulletins about child abductions"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repeat"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Enable Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Allow this service to manage how your calls are made."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Wireless emergency alerts"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Network operators"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Access point names"</string>
@@ -2856,7 +3030,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (sim slot %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs changed."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Your SIMs changed"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
@@ -2880,7 +3054,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Passwords and accounts"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saved passwords, autofill, synced accounts"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions for sign-in &amp; autofill"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Default apps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Cloned Apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Create a second instance of an app so that you can use two accounts at the same time."</string>
@@ -2948,7 +3122,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesture"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"face, unlock, auth, sign in"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"face, unlock, auth, sign in, fingerprint, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl version, imei sv"</string>
@@ -2999,6 +3172,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"text size, large print, large font, large text, low vision, make text bigger, font enlarger, font enlargement"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"always on ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, reader"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"keyboard, haptics, vibrate,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
@@ -3034,9 +3208,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Power on sounds"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatically caption media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Phone speakers"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablet speakers"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Device speakers"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Wired headphones"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio from compatible media becomes more immersive"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Off"</string>
@@ -3221,7 +3392,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3250,6 +3421,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Recent conversations removed"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversation removed"</string>
     <string name="clear" msgid="5092178335409471100">"Clear"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Clear <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Priority and modified conversations will appear here"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Once you mark a conversation as a priority or make any other changes to conversations, they\'ll appear here.\n\nTo change conversation settings: \nSwipe down from the top of the screen to open the pull-down shade, then touch and hold a conversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimize"</string>
@@ -3308,6 +3480,17 @@
     <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="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Apply cooldown to all notifications"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Gradually lower the notification volume when you get many successive notifications from the same app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Apply cooldown to conversations"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Gradually lower the notification volume when you get many messages from the same chat within a short period of time"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Don\'t use notification cooldown"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Never lower notification volume, regardless of the amount of successive notifications from the same app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrate when unlocked"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Only vibrate when screen is unlocked"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Apply the notification cooldown settings from your personal profile to your work profile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"No installed apps have requested to be run as VR helper services."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Allow VR service access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3685,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Off"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"App pinning"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to securely share your device with someone, try using a guest user instead. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to securely share your device with someone, try using a guest user instead. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"When app is pinned: \n\n•		Personal data may be accessible \n		(such as contacts and email content) \n•		Pinned app may open other apps \n\nOnly use app pinning with people you trust."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Ask for unlock pattern before unpinning"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirm you want to erase your eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verify it\'s you before erasing an eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Advanced memory protection beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Advanced memory protection"</string>
@@ -3569,6 +3752,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Unused app settings"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pause app activity if unused"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remove permissions, delete temporary files, and stop notifications"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Manage app if unused"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remove permissions, delete temporary files, stop notifications, and archive the app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant apps"</string>
@@ -3677,6 +3862,9 @@
     <string name="free_memory" msgid="439783742246854785">"Free"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memory used by apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app used memory in the last {time}}other{# apps used memory in the last {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Enable memory usage profiling"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Memory usage profiling requires additional system resources."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Memory profiling disabled"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequency"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximum usage"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No data used"</string>
@@ -3695,10 +3883,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Allow this app to display on top of other apps you’re using. This app will be able to see where you tap or change what’s displayed on the screen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Change media output"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Allow app to switch media output"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Allow this app to choose which connected device plays audio or video from other apps. If allowed, this app can access a list of available devices such as headphones and speakers and choose which output device is used to stream or cast audio or video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns-on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Full screen notifications"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full screen notifications from this app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls, or other urgent notifications."</string>
@@ -3807,7 +4001,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> data warning"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> data limit"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> data warning / <xliff:g id="ID_2">^2</xliff:g> data limit"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Carrier data accounting may differ from device accounting"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Excludes data used by carrier networks"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Set data warning"</string>
@@ -3833,7 +4026,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Updated <xliff:g id="ID_1">^2</xliff:g> ago"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Updated by <xliff:g id="ID_1">^1</xliff:g> just now"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Updated just now"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"View plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"View details"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Data Saver"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Unrestricted data"</string>
@@ -3864,6 +4056,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -3932,7 +4125,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Quick settings developer tiles"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Disable adb authorization timeout"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Disable automatic revocation of adb authorizations for systems that have not reconnected within the default (7 days) or user-configured (minimum 1 day) amount of time."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensors Off"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Search for work directory contacts in personal apps"</string>
@@ -3962,7 +4154,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, two-button navigation, three-button navigation, gesture navigation, swipe"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from a bottom corner to invoke digital assistant app"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4122,21 +4314,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Autofill service"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Default autofill service"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Passwords"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Passwords, passkeys and data services"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferred service"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Additional services"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# password}other{# passwords}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, fill, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fill, autofill, data, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Change"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Open"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"None selected"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Make sure you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled. New passwords, passkeys and other info will be saved here from now on."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Passwords, passkeys and data services"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys, and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferred service for passwords, passkeys &amp; autofill"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Turn off %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Turn off this service?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Saved info like passwords, passkeys, payment methods, and other info won\'t be filled in when you sign in. To use your saved info, choose a password, passkey, or data service."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Passwords, passkeys &amp; autofill"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passwords, passkeys, and other saved info won\'t be available for autofill when you sign in"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Change your preferred service to &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys, and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Use %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Turn off"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Change"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"You can only have 5 services on"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Turn off at least 1 service to add another"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s uses what\'s on your screen to determine what can be autofilled."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Passwords, passkeys and data services limit"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"You can have up to 5 passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Passwords, passkeys, and data services limit"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"You can have up to 5 passwords, passkeys, and data services active at the same time. Turn off a service to add more."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Turn off"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autofill"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logging level"</string>
@@ -4193,6 +4395,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d accounts"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Device name"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basic info"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legal &amp; regulatory"</string>
@@ -4206,6 +4409,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Allow this app to launch when an NFC tag is scanned.\nIf this permission is on, the app will be available as an option whenever a tag is detected."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Play media to"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Play <xliff:g id="LABEL">%s</xliff:g> on"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio will play on"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"This device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
@@ -4219,7 +4423,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Mute"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"To enable, first change \"Press and hold power button\" to the power menu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Network details"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Your device name is visible to apps on your phone. 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="devices_title" msgid="649715719278562515">"Devices"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Choose network"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Disconnected"</string>
@@ -4302,11 +4505,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Name"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Color (used by compatible apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Save"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Use SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Use this SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"To turn off this SIM, remove the SIM card"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tap to activate your <xliff:g id="CARRIER">%1$s</xliff:g> SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Erase eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4325,6 +4528,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Check with your network provider for pricing."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"App data usage"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid Network Mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellite messaging"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Send and receive text messages by satellite. Included with your account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Send and receive text messages by satellite. Non included with your account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellite messaging"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"About satellite messaging"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"You can send and receive text messages by satellite as part of an eligible <xliff:g id="CARRIER_NAME">%1$s</xliff:g> account"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> plan"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellite messaging is included with your account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellite messaging isn’t included with your account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Add satellite messaging"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"How it works"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"When you don’t have a mobile network"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Your phone will auto-connect to a satellite. For the best connection, keep a clear view of the sky."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"After your phone connects to a satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"You can text anyone, including emergency services. Your phone will reconnect to a mobile network when available."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellite messaging may take longer and is available only in some areas, Weather and certain structures may affect your satellite connection. Calling by satellite isn’t available.\n\nIt may take some time for changes to your account to show in Settings. Contact <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for details."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"More about satellite messaging"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access Point Names"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4554,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Switch to using SIM card?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Only one SIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Only 1 eSIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Only one SIM can be active at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Only 1 SIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Only 1 eSIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Only 1 SIM can be on at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"You can use 2 SIMs at a time. To use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, turn off another SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Turning off a SIM won’t cancel your service"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connecting to network…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for calls and messages…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Can’t switch carrier"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"The carrier can’t be switched due to an error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activating your SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Can’t switch SIMs"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Something went wrong. Can’t switch SIMs."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Turn off SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Can’t disable carrier"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your carrier could not be disabled."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Can’t turn off SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Something went wrong and your SIM could not be turned off."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Use 2 SIMs?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"This device can have 2 SIMs active at once. To continue using 1 SIM at a time, tap \"No thanks\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Restart device?"</string>
@@ -4358,32 +4578,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Set up your SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Set your mobile network preferences to use multiple SIMs on this device"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Label your SIMs"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"You’ll see these labels when making calls, sending texts, and using data, and in Settings"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM label"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Select which SIMs to use"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"You can use 2 SIMs at a time"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Set your primary SIMs"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Choose which SIMs to use by default for calls, texts, and data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Your primary SIMs"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Calls"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Texts"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatic data switching"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Use data from either SIM depending on coverage and availability"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data only"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Set up"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Next"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Turning on <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobile network"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Phone number"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM label and color"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Carrier switching"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> is active"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM is active"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tap to update SIM settings"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Switched to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Switched to another carrier"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Your mobile network has changed"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use 2 SIMs at once"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated right now"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Choose a SIM to use"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM is available on this device, but only one can be used at a time}=2{2 SIMs are available on this device, but only one can be used at a time}other{# SIMs are available on this device, but only one can be used at a time}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Turning on<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Couldn’t turn on this SIM right now"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> will be used for mobile data, calls, and SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No active SIMs available"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"To use mobile data, call features, and SMS at a later time, go to your network settings"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Erase this eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be canceled."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"This removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device, but your <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> plan won\'t be canceled."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Erasing eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Can\'t erase eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Something went wrong and this eSIM wasn\'t erased.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure devices are turned on and available to connect."</string>
@@ -4445,9 +4688,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Emergency calls"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Emergency calls over Wi‑Fi Calling are not supported by your carrier.\nThe device switches automatically to a cellular network to place an emergency call.\nEmergency calls are only possible in areas with cellular coverage."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Use Wi‑Fi for calls to improve quality"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Backup calling"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"If <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> is unavailable or roaming, use your mobile data SIM for <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> calls."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"backup calling"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Incoming MMS message"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Can’t send MMS message"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tap to allow MMS messaging on <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> when mobile data is off"</string>
@@ -4458,6 +4698,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Boot with 16K page size"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Boot device using 16K page size supported kernel"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reboot with 16KB pages compatible kernel?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WARNING: Some applications may not be compatible with this mode. Device will reboot after confirmation."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reboot with 4KB pages compatible kernel?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Device will reboot after confirmation."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Failed to update kernel to 16KB pages compatible kernel."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Applying change"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the Bug Report shortcut on your device."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4754,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Allow apps that can display over other apps to overlay Settings screens"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Allow Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Allow this device to run Mock Modem service for instrumentation testing. Do not enable this during normal usage of the phone"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Disable screen share protections"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Disables system applied app and notifications protections during screen sharing"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Pin media player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"To quickly resume playback, media player stays open in Quick Settings"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Show media on lock screen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"To quickly resume playback, media player stays open on lock screen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Show media recommendations"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Show Assistant media recommendations"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Based on your activity"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Hide player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Show player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Allow camera software extensions"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Enables the default software implementation of advanced camera features, such as Eyes Free videography."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth will turn on"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4795,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Active"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactive"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"On"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Off"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Default for <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"calls"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4952,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio from compatible media becomes more immersive"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Head tracking"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio changes as you move your head to sound more natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sync permissions"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Give <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> the same app permissions that you’ve allowed on <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sync permissions from phone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Give your watch the same app permissions that you’ve allowed on this phone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio Device Type"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Unknown"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5049,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
     <string name="contrast_high" msgid="3988567609694797696">"High"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"This app can only be opened in 1 window"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"On"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Off"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Off"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Off"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"On"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Off"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"On"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Off"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Turns light screens dark and dark screens light"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom in on the screen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Off"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Off"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Password is now set up"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Show pointer while hovering"</string>
 </resources>
diff --git a/res/values-en-rGB/arrays.xml b/res/values-en-rGB/arrays.xml
index 7f5af74..8eb51ad 100644
--- a/res/values-en-rGB/arrays.xml
+++ b/res/values-en-rGB/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Available"</item>
     <item msgid="6096962300722555553">"Out of range"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Use system default: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"After one minute"</item>
     <item msgid="1574040255478150028">"After five minutes"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-en-rGB/strings.xml b/res/values-en-rGB/strings.xml
index a436caa..84ef060 100644
--- a/res/values-en-rGB/strings.xml
+++ b/res/values-en-rGB/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"You are now a developer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"No need, you are already a developer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Only the admin users can access developer settings."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Front display turns on when you fold your device"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Only games, videos and more"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Front display turns on for apps that stop your screen going idle"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swipe up to continue"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Fold your phone and swipe up on the front display to continue using the app, or wait a few seconds for the screen to lock"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Never"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Front display locks when you fold your device"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Use auto-rotate"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Related"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringtone and alarms"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio during calls"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notifications and other system sounds"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media and system sounds"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"By default, audio output is determined by individual apps"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Searching"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancel"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Disable Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Disables the Bluetooth LE audio feature if the device supports LE audio hardware capabilities."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio mode"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Show LE Audio toggle in Device details"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Enable Bluetooth LE Audio allow List"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Enable Bluetooth LE Audio allow list feature."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bypass Bluetooth LE Audio allowlist"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Use LE Audio by default even if LE Audio peripheral hasn\'t been verified to meet allowlist criteria."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associated with account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Previously used with account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Previously connected"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Add %s to preferred languages?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"This lets apps and websites know that you also prefer this language."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Your device settings and regional preferences will change."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Change"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s not available"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Saturday"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"If an app doesn’t support regional preferences, the app will use its default locale settings."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Learn more about language preferences."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Additional preferences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Terms of address"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Set how you want to be addressed"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps can use your terms of address to personalise how they address you."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Not specified"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminine"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculine"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remove selected language?}other{Remove selected languages?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text will be displayed in another language."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Can’t remove all languages"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Location"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Use location"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{On – # app has access to location}other{On – # apps have access to location}}"</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_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="5329024810729665156">"Learn more about location settings."</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="3574930966097093550">"To change location access, go to Settings &gt; Security and privacy &gt; Privacy controls"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Accounts"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Security"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encryption and credentials"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"For best results, use a screen protector that’s Made For Google certified. With other screen protectors, your child’s fingerprint may not work."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Watch Unlock"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nYou can unlock with your watch when your face or fingerprint isn’t recognised."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"You can unlock with your watch when your fingerprint isn’t recognised."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"You can unlock with your watch when your face isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nWatch Unlock is another convenient way to unlock your phone, for example, when your fingers are wet or face isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Watch Unlock is another convenient way to unlock your phone, for example, when your fingerprint isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Watch Unlock is another convenient way to unlock your phone, for example, when your face isn’t recognised."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use fingerprint or watch to"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use face or watch to"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use face, fingerprint or watch to"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn\'t recognised.\n\nYou can use your watch to unlock this phone when you:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Not now"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continue"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"More"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"How it works"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Your watch must be unlocked, on your wrist and within reach of this phone. You won\'t need to unlock your watch again while it\'s on your wrist."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"When this phone is unlocked, you\'ll get notified on your watch. If it was unlocked when you didn\'t intend to, tap the notification to lock the phone again."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"You\'re in control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"You can remove your watch from Watch Unlock at any time in Settings"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swipe up on the lock screen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Choose your watch"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Available watches"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancel"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirm"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"You\'re ready to go!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Done"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Watch Unlock"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"You can use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"To use Watch Unlock, your watch must be unlocked, on your wrist, within reach and connected to this phone. If the connection is interrupted, you\'ll need to unlock the phone before you can use Watch Unlock.\n\nKeep in mind:\nYou can only have one watch set up at a time. To add another watch, remove the current one first."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Security"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Private space"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Keep private apps locked and hidden"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Private space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Face and Fingerprint Unlock"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingerprint Unlock"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Face Unlock"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Face Unlock for private space"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Ways to unlock"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Choose a new lock for private space?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lock private space automatically"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"You can lock your private space automatically if you haven\'t used your device for a period of time"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Every time device locks"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"After 5 minutes of inactivity"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Never"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Hide private space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"To stop other people knowing that you have a private space on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Access private space when hidden"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"From your apps list, enter \'private space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tap the private space tile"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Unlock your private space"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Delete private space"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Delete private space?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Your private space will be removed from your device. All private apps and data will be deleted. You can’t undo this action."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"The following accounts will be removed from your private space:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Delete"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Deleting private space…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"This will take a few moments"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Private space deleted"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Private space could not be deleted"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Private space unlocked"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"To use your private space, set a screen lock on this device"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancel"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Set up"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Set up a private space"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"How it works"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"You can access your private space from the bottom of your apps list"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps in your private space are protected by a lock"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notifications from apps in your private space are hidden when it’s locked"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps in your private space won\'t appear in permission manager, privacy dashboard and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notifications from private space apps are hidden when it\'s locked"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Unlock private space to share photos or files"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Some apps are already installed in your 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_lockscreen_title" msgid="6034864097861137509">"Use screen lock to unlock private space?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Choose new lock"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"All set!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"To find your private space, go to your apps list then scroll down"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Done"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scroll down to find private space"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Sign in"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Sign in to an account to use with your private space"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Not now"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continue"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Choose a lock for your private space"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"You can unlock your private space using your fingerprint. For security, this option requires a backup lock."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Set a PIN for your private space"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Set a password for your private space"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Set a pattern for your private space"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Password"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Delete screen lock?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remove all types of device unlock?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remove profile protection?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"A pattern protects your phone if it’s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"A pattern protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"A PIN protects your phone if it’s lost or stolen"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"You will lose saved data, like your PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This also deletes the fingerprint model stored on your device. You won’t be able to use your fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"You will lose saved data, like your PIN and fingerprint model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Your face model will also be permanently and securely deleted. You won’t be able to use your face for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"You will lose saved data, like your PIN and face model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"You will lose saved data, like your PIN, face and fingerprint models.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"A password protects your phone if it’s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"A password protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Pair with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Add new member to the existing coordinated set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirm to add the second piece of your audio device"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth pairing code"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Type the pairing code then press Return or Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN contains letters or symbols"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Must be 16 digits"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"You may also need to type this PIN on the other device."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"You may also need to type this passkey on the other device."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirm to pair with the coordinated set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirm to pair with the audio device"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Allow access to your contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Also allow access to contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Info will be used for call announcements and more"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Couldn\'t connect to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Available devices"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair &amp; connect"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
     <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_scan_change" msgid="1744636222637390367">"Change"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In aeroplane mode"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notify for public networks"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notify when a high‑quality public network is available"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Allow WEP networks"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP is an older security protocol that\'s less secure"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Your operator doesn\'t allow WEP networks because they\'re less secure"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Turn on Wi‑Fi automatically"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi will turn back on near high‑quality saved networks, like your home network"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Unavailable because location is turned off. Turn on "<annotation id="link">"location"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi scanning allows apps and services to 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"This network uses an older security protocol that\'s less secure"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> is blocked"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"This network uses an older security protocol called WEP, which is less secure. To connect anyway, you can allow WEP networks."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Your operator doesn\'t allow you to connect to this network because it uses an older security protocol that’s less secure"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Allow WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Close"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Stay on Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Never show again"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Connect"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi turned on"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connected to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connecting to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connecting…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Failed to connect to network"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Network not in range"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Forget"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modify"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Failed to forget network"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Save"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Failed to save network"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancel"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobile data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – charging"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – charging"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot connection"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Connection strength"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saved networks"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No password set"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot name"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot password"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Disable default frame rate for games"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Disable limiting the maximum frame rate for games at <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness and animation quality. Increases battery usage."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Screen attention uses the front camera to see if someone is looking at the screen. It works on-device, and images are never stored or sent to Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Turn on screen attention"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Keep screen on when looking at it"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Longer screen timeout will use more battery."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Camera is locked"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Camera must be unlocked for face detection"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Camera must be unlocked for screen attention"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM slot <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM slot <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primary)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Battery level"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Communal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellite messaging"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
     <string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN enabled"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN disabled"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Network type"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Unspecified"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO value"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Delete APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplicate APN entry."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"The Name field can\'t be empty."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"The APN cannot be empty."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC field must be 3 digits."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC field must be 2 or 3 digits."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operator does not allow adding APNs of type %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC field must be valid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restoring default APN settings."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Reset to default"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your operator."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"This won’t cancel your mobile service plan. To get a replacement SIM, contact your operator."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Reset all network settings? You can’t undo this action."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Reset all network settings and erase eSIMs? You can’t undo this action."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Reset?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Network reset is not available for this user"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Network settings have been reset"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Can’t delete SIMs"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMs can’t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Can’t erase eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Something went wrong and your eSIMs weren’t erased.\n\nRestart your device and try again."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Erase all data (factory reset)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Erase all data (factory reset)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Music"</li>\n<li>"Photos"</li>\n<li>"Other user data"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"This will not cancel your mobile service plan."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"All of your personal information and downloaded apps will be deleted. You can’t undo this action."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"All of your personal information, including downloaded apps &amp; SIMs, will be deleted. You can’t undo this action."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"All of your personal information, including downloaded apps and eSIMs, will be deleted. You can’t undo this action."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Erase all data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Factory reset is not available for this user"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Erasing"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Off"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Only share Internet via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Only share Internet via USB and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Only share Internet via Bluetooth and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Only share Internet via USB, Bluetooth and Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use hotspot and tethering to provide Internet to other devices through your Wi‑Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Help"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobile network"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobile plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Change SMS app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> as your SMS app?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Change Wi‑Fi assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> to manage your network connections?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Use <xliff:g id="NEW_APP">%s</xliff:g> to manage your network connections?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Unknown SIM operator"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> has no known provisioning website"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Please insert SIM card and restart"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Please connect to the internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Recent location requests"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Location for work profile"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"App location permissions"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Clear access"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controls"</string>
     <string name="force_stop" msgid="2681771622136916280">"Force stop"</string>
+    <string name="archive" msgid="9074663845068632127">"Archive"</string>
+    <string name="restore" msgid="7622486640713967157">"Restore"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restoring"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restoring."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restoring.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restoring…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"App size"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB storage app"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Couldn\'t compute the package size."</string>
     <string name="version_text" msgid="7628938665256107608">"Version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Move"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiving failed"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Archived <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restoring failed"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restoring <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Another migration is already in progress."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Not enough storage space."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"App doesn\'t exist."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Available on-screen keyboard"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Manage on-screen keyboards"</string>
     <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="6922850403920596246">"Enable bounce keys for physical keyboard accessibility"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Enable slow keys for physical keyboard accessibility"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Enable sticky keys for physical keyboard accessibility"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom-right corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Go home"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swipe up with three fingers anywhere on your touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Go back"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sort by usage time"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sort by last time used"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sort by app name"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Last time used"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Last used"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"never"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Usage time"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibility"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Accessibility settings"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use Accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Two-finger double-tap screen to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the Accessibility button on your screen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"To start and stop magnification, double-tap anywhere on your screen with two fingers."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"To use an accessibility feature, 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Accessibility button settings"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Button settings"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Accessibility button"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Accessibility gesture"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"Two-finger double-tap screen"</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="6863958573135995927">"triple-tap screen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Learn more about accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose whether you want to use a button or gesture to access the feature"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose the button to access the feature"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose whether you want to use a button or gesture to access the feature&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose the button to access the feature&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Size"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Power button ends call"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Large mouse cursor"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Make the mouse pointer more noticeable"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Make all apps dark"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Applies to apps without their own Dark theme. Some apps may have display issues, like inverted colours."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remove animations"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce movement on the screen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Use vibration and haptics"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarm vibration"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Media vibration"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Keyboard vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Keep on"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Turn off <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
     <string name="settings_button" msgid="2195468788019730377">"Settings"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ease of use, ease of access, assistance, assistive"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Window magnifier, zoom, magnification, low vision, enlarge, make bigger"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"colour contrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hard of hearing, hearing loss, captions, Teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"three buttons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"delay, dexterity, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printing"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Off"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 print service on}other{# print services on}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> remaining"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> to charge"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Screen time"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Background time"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Low battery"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Allow the app to run in the background"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limit background activity?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimise battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimisation."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimised"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Charging optimised to protect your battery"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"To help extend your battery\'s lifespan, charging is optimised"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Charging optimised to protect your battery"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"To help extend your battery\'s lifespan, charging is optimised while docked"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Charging optimised to protect your battery"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"To help extend your battery\'s lifespan, charging is optimised while docked"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Charging to full"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"To protect your battery, charging will be optimised the next time your tablet is docked"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Learn more about charging is paused"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Includes high-power background activity"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Charge to full"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Issue with charging accessory"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Check charging accessory"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Learn more about incompatible charging"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"since last full charge"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"System apps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Uninstalled apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Others"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Estimated time left"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Until fully charged"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: less than a min."</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Background: less than a min"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Screen time: less than a min"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Less than a min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Background: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Screen time: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"now"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Battery usage chart"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Daily battery usage chart"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Hourly battery usage chart"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Battery level percentage from <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> to <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Battery usage since last full charge"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Battery usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Screen time since last full charge"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"On"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Off"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup &amp; restore"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personal data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Back up my data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobile data and Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Auto-sync personal data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Auto-sync work data"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Auto-sync private data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Change cycle…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Day of month to reset data usage cycle:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"No apps used data during this period."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Name"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec preshared key"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Username"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Password"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don\'t verify server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Failed to start unsupported VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receive bulletins about child abductions"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repeat"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Enable Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Allow this service to manage how your calls are made."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Wireless emergency alerts"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Network operators"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Access point names"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (SIM slot %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs changed."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Your SIM\'s changed"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Passwords and accounts"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saved passwords, autofill, synced accounts"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions for sign-in and autofill"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Default apps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Cloned apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Create a second instance of an app so that you can use two accounts at the same time."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesture"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"face, unlock, auth, sign in"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"face, unlock, auth, sign in, fingerprint, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl version, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"text size, large print, large font, large text, low vision, make text bigger, font enlarger, font enlargement"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"always on ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, reader"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"keyboard, haptics, vibrate,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Power on sounds"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatically caption media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Phone speakers"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablet speakers"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Device speakers"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Wired headphones"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio from compatible media becomes more immersive"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Off"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Recent conversations removed"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversation removed"</string>
     <string name="clear" msgid="5092178335409471100">"Clear"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Clear <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Priority and modified conversations will appear here"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Once you mark a conversation as priority, or make any other changes to conversations, they will appear here. \n\nTo change conversation settings: \nSwipe down from the top of the screen to open the pull-down shade, then touch and hold a conversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimise"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Apply cooldown to all notifications"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Gradually lower the notification volume when you get many successive notifications from the same app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Apply cooldown to conversations"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Gradually lower the notification volume when you get many messages from the same chat within a short period of time"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Don\'t use notification cooldown"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Never lower notification volume, regardless of the amount of successive notifications from the same app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrate when unlocked"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Only vibrate when screen is unlocked"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Apply the notification cooldown settings from your personal profile to your work profile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"No installed apps have requested to be run as VR helper services."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Allow VR service access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Off"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"App pinning"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to securely share your device with someone, try using a guest user instead. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to share your device with someone securely, try using a guest user instead. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"When app is pinned: \n\n• Personal data may be accessible \n(such as contacts and email content) \n• Pinned app may open other apps \n\nOnly use app pinning with people you trust."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Ask for unlock pattern before unpinning"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirm that you want to erase your eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verify that it\'s you before erasing an eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Advanced memory protection beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Advanced memory protection"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Unused app settings"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pause app activity if unused"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remove permissions, delete temporary files and stop notifications"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Manage app if unused"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remove permissions, delete temporary files, stop notifications and archive the app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Free"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memory used by apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app used memory in the last {time}}other{# apps used memory in the last {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Enable memory usage profiling"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Memory usage profiling requires additional system resources."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Memory profiling disabled"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequency"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximum usage"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No data used"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Allow this app to display on top of other apps that you’re using. This app will be able to see where you tap or change what’s displayed on the screen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Change media output"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Allow app to switch media output"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Allow this app to choose which connected device plays audio or video from other apps. If allowed, this app can access a list of available devices such as headphones and speakers and choose which output device is used to stream or cast audio or video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Full-screen notifications"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full-screen notifications from this app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls or other urgent notifications."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> data warning"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> data limit"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> data warning/<xliff:g id="ID_2">^2</xliff:g> data limit"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operator data accounting may differ from device accounting"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Excludes data used by operator networks"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Set data warning"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Updated <xliff:g id="ID_1">^2</xliff:g> ago"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Updated by <xliff:g id="ID_1">^1</xliff:g> just now"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Updated just now"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"View plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"View details"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Data Saver"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Unrestricted data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Quick settings developer tiles"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Disable adb authorisation timeout"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Disable automatic revocation of adb authorisations for systems that have not reconnected within the default (seven days) or user-configured (minimum one day) amount of time."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensors Off"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Search for work directory contacts in personal apps"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2-button navigation, 3-button navigation, gesture navigation, swipe"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke the assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from the bottom corner to invoke digital assistant app."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Auto-fill service"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Default auto-fill service"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Passwords"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Passwords, passkeys and data services"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferred service"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Additional services"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# password}other{# passwords}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, fill, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fill, autofill, data, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Change"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Open"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"None selected"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled. New passwords, passkeys and other info will be saved here from now on."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Passwords, passkeys and data services"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferred service for passwords, passkeys and autofill"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Turn off %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Turn off this service?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Saved info like passwords, passkeys, payment methods and other info won\'t be filled in when you sign in. To use your saved info, choose a password, passkey or data service."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Passwords, passkeys and autofill"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passwords, passkeys and other saved info won\'t be available for autofill when you sign in"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Change your preferred service to &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Use %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Turn off"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Change"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"You can only have 5 services on"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Turn off at least 1 service to add another"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Passwords, passkeys and data services limit"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"You can have up to five passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Passwords, passkeys and data services limit"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"You can have up to five passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Turn off"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Auto-fill"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logging level"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d accounts"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Device name"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basic info"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legal and regulatory"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Allow this app to launch when an NFC tag is scanned.\nIf this permission is on, the app will be available as an option whenever a tag is detected."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Play media to"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Play <xliff:g id="LABEL">%s</xliff:g> on"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio will play on"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"This device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Mute"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"To enable, first change \'Press &amp; hold power button\' to the power menu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Network details"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Your device name is visible to apps on your phone. 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="devices_title" msgid="649715719278562515">"Devices"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Choose network"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Disconnected"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Name"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Colour (used by compatible apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Save"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Use SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Use this SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"To turn off this SIM, remove the SIM card"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tap to activate your <xliff:g id="CARRIER">%1$s</xliff:g> SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Erase eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Check with your network provider for pricing."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"App data usage"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellite messaging"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Send and receive text messages by satellite. Included with your account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Send and receive text messages by satellite. Non included with your account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellite messaging"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"About satellite messaging"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"You can send and receive text messages by satellite as part of an eligible <xliff:g id="CARRIER_NAME">%1$s</xliff:g> account"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> plan"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellite messaging is included with your account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellite messaging isn’t included with your account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Add satellite messaging"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"How it works"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"When you don’t have a mobile network"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Your phone will auto-connect to a satellite. For the best connection, keep a clear view of the sky."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"After your phone connects to a satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"You can text anyone, including emergency services. Your phone will reconnect to a mobile network when available."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellite messaging may take longer and is available only in some areas, weather and certain structures may affect your satellite connection. Calling by satellite isn’t available.\n\nIt may take some time for changes to your account to show in Settings. Contact <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for details."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"More about satellite messaging"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Switch to using SIM card?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Only one SIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Only one eSIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Only one SIM can be active at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Only one SIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Only one eSIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Only one SIM can be on at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"You can use two SIMs at a time. To use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, turn off another SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Turning off a SIM won’t cancel your service"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connecting to network…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for calls and messages…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Can’t switch operator"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"The operator can’t be switched because of an error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activating your SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Can\'t switch SIMs"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Something went wrong. Can\'t switch SIMs."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Turn off SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Can’t disable operator"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Can\'t turn off SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Something went wrong and your SIM could not be turned off."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Use two SIMs?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"This device can have two SIMs active at once. To continue using one SIM at a time, tap \'No, thanks\'."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Restart device?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Set up your SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Set your mobile network preferences to use multiple SIMs on this device"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Label your SIMs"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"You’ll see these labels when making calls, sending texts and using data, and in Settings"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM label"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Select which SIMs to use"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"You can use two SIMs at a time"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Set your primary SIMs"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Choose which SIMs to use by default for calls, texts and data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Your primary SIMs"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Calls"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Texts"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatic data switching"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Use data from either SIM depending on coverage and availability"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data only"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Set up"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Next"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Turning on <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobile network"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Phone number"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM label and colour"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operator switching"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> is active"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM is active"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tap to update SIM settings"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Switched to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Switched to another operator"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Your mobile network has changed"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Choose a SIM to use"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM is available on this device, but only one can be used at a time}=2{2 SIMs are available on this device, but only one can be used at a time}other{# SIMs are available on this device, but only one can be used at a time}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Turning on<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Couldn\'t turn on this SIM right now"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> will be used for mobile data, calls and SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No active SIMs available"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"To use mobile data, call features and SMS at a later time, go to your network settings"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Erase this eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"This removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device, but your <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> plan won\'t be cancelled."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Erasing eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Can\'t erase eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Something went wrong and this eSIM wasn\'t erased.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Emergency calls"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Emergency calls over Wi‑Fi Calling are not supported by your operator.\nThe device switches automatically to a mobile network to place an emergency call.\nEmergency calls are only possible in areas with mobile coverage."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Use Wi‑Fi for calls to improve quality"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Backup calling"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"If <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> is unavailable or roaming, use your mobile data SIM for <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> calls."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"backup calling"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Incoming MMS message"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Can’t send MMS message"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tap to allow MMS messaging on <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> when mobile data is off"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Boot with 16K page size"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Boot device using 16K page size supported kernel"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reboot with 16 KB pages compatible kernel?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WARNING: Some applications may not be compatible with this mode. Device will reboot after confirmation."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reboot with 4 KB pages compatible kernel?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Device will reboot after confirmation."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Failed to update kernel to 16 KB pages compatible kernel."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Applying change"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Allow apps that can display over other apps to overlay settings screens"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Allow mock modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Allow this device to run mock modem service for instrumentation testing. Do not enable this during normal usage of the phone"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Disable screen share protections"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Disables system applied app and notifications protections during screen sharing"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Pin media player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"To quickly resume playback, media player stays open in Quick Settings"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Show media on lock screen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"To quickly resume playback, media player stays open on lock screen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Show media recommendations"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Show Assistant media recommendations"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Based on your activity"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Hide player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Show player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Allow camera software extensions"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Enables the default software implementation of advanced camera features, such as Eyes Free videography."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth will turn on"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Active"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactive"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"On"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Off"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Default for <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"calls"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio from compatible media becomes more immersive"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Head tracking"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio changes as you move your head to sound more natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sync permissions"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Give <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> the same app permissions that you\'ve allowed on <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sync permissions from phone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Give your watch the same app permissions that you’ve allowed on this phone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio Device Type"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Unknown"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
     <string name="contrast_high" msgid="3988567609694797696">"High"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"This app can only be opened in one window"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"On"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Off"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Off"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Off"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"On"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Off"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"On"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Off"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Turns light screens dark and dark screens light"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom in on the screen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Off"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Off"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Password is now set up"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Show pointer while hovering"</string>
 </resources>
diff --git a/res/values-en-rIN/arrays.xml b/res/values-en-rIN/arrays.xml
index 7f5af74..8eb51ad 100644
--- a/res/values-en-rIN/arrays.xml
+++ b/res/values-en-rIN/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Available"</item>
     <item msgid="6096962300722555553">"Out of range"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Use system default: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"After one minute"</item>
     <item msgid="1574040255478150028">"After five minutes"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-en-rIN/strings.xml b/res/values-en-rIN/strings.xml
index 4a9ffcf..f7c0b53 100644
--- a/res/values-en-rIN/strings.xml
+++ b/res/values-en-rIN/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"You are now a developer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"No need, you are already a developer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Please enable developer options first."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Only the admin users can access developer settings."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Out of service"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Front display turns on when you fold your device"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Only games, videos and more"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Front display turns on for apps that stop your screen going idle"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swipe up to continue"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Fold your phone and swipe up on the front display to continue using the app, or wait a few seconds for the screen to lock"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Never"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Front display locks when you fold your device"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Use auto-rotate"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Related"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringtone and alarms"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio during calls"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notifications and other system sounds"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media and system sounds"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"By default, audio output is determined by individual apps"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Unnamed Bluetooth device"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Searching"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancel"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Disable Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Disables the Bluetooth LE audio feature if the device supports LE audio hardware capabilities."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio mode"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Show LE Audio toggle in Device details"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Enable Bluetooth LE Audio allow List"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Enable Bluetooth LE Audio allow list feature."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bypass Bluetooth LE Audio allowlist"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Use LE Audio by default even if LE Audio peripheral hasn\'t been verified to meet allowlist criteria."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media devices"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Call devices"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Other devices"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saved devices"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associated with account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Previously used with account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth will turn on to pair"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Connection preferences"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Previously connected"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth turned on"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"See all"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"See all"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tail button press"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Work profile)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Write in text fields"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignore all stylus button presses"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio sharing"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Share audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Calls and alarms"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connect to an audio stream using QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No nearby audio streams were found."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Date and time"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Clear"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Add %s to preferred languages?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"This lets apps and websites know that you also prefer this language."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Your device settings and regional preferences will change."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Change"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s not available"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Saturday"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"If an app doesn’t support regional preferences, the app will use its default locale settings."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Learn more about language preferences."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Additional preferences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Terms of address"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Set how you want to be addressed"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps can use your terms of address to personalise how they address you."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Not specified"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminine"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculine"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remove selected language?}other{Remove selected languages?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text will be displayed in another language."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Can’t remove all languages"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Location"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Use location"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{On – # app has access to location}other{On – # apps have access to location}}"</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_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="5329024810729665156">"Learn more about location settings."</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="3574930966097093550">"To change location access, go to Settings &gt; Security and privacy &gt; Privacy controls"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Accounts"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Security"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encryption and credentials"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"For best results, use a screen protector that’s Made For Google certified. With other screen protectors, your child’s fingerprint may not work."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Watch Unlock"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nYou can unlock with your watch when your face or fingerprint isn’t recognised."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"You can unlock with your watch when your fingerprint isn’t recognised."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"You can unlock with your watch when your face isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nWatch Unlock is another convenient way to unlock your phone, for example, when your fingers are wet or face isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Watch Unlock is another convenient way to unlock your phone, for example, when your fingerprint isn’t recognised."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Watch Unlock is another convenient way to unlock your phone, for example, when your face isn’t recognised."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use fingerprint or watch to"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use face or watch to"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use face, fingerprint or watch to"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn\'t recognised.\n\nYou can use your watch to unlock this phone when you:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Not now"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continue"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"More"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"How it works"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Your watch must be unlocked, on your wrist and within reach of this phone. You won\'t need to unlock your watch again while it\'s on your wrist."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"When this phone is unlocked, you\'ll get notified on your watch. If it was unlocked when you didn\'t intend to, tap the notification to lock the phone again."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"You\'re in control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"You can remove your watch from Watch Unlock at any time in Settings"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swipe up on the lock screen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Choose your watch"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Available watches"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancel"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirm"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"You\'re ready to go!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Done"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Watch Unlock"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"You can use your watch to unlock this phone when you swipe up on the lock screen or tap a notification"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"To use Watch Unlock, your watch must be unlocked, on your wrist, within reach and connected to this phone. If the connection is interrupted, you\'ll need to unlock the phone before you can use Watch Unlock.\n\nKeep in mind:\nYou can only have one watch set up at a time. To add another watch, remove the current one first."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Security"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Work profile"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Private space"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Keep private apps locked and hidden"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Private space lock"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Use device screen lock"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Face and Fingerprint Unlock"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingerprint Unlock"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Face Unlock"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tap to set up"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingerprint Unlock for private space"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Face Unlock for private space"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Ways to unlock"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Same as device screen lock"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Choose a new lock for private space?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lock private space automatically"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"You can lock your private space automatically if you haven\'t used your device for a period of time"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Every time device locks"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"After 5 minutes of inactivity"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Never"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Hide when locked"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Hide private space when locked"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"To stop other people knowing that you have a private space on your device, you can hide it from your apps list"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Access private space when hidden"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"From your apps list, enter \'private space\' in the search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tap the private space tile"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Unlock your private space"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Delete private space"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Delete private space?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Your private space will be removed from your device. All private apps and data will be deleted. You can’t undo this action."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"The following accounts will be removed from your private space:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Delete"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Deleting private space…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"This will take a few moments"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Private space deleted"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Private space could not be deleted"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Private space unlocked"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Set a screen lock"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"To use your private space, set a screen lock on this device"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Set screen lock"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancel"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancel"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Set up"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Set up a private space"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Keep private apps in a separate space that you can hide or lock"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"How it works"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"You can access your private space from the bottom of your apps list"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps in your private space are protected by a lock"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notifications from apps in your private space are hidden when it’s locked"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps in your private space won\'t appear in permission manager, privacy dashboard and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setting up private space…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notifications from private space apps are hidden when it\'s locked"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Unlock private space to share photos or files"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Some apps are already installed in your 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_lockscreen_title" msgid="6034864097861137509">"Use screen lock to unlock private space?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"You can unlock your private space the same way you unlock your device, or choose a different lock"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Use screen lock"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Choose new lock"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"All set!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"To find your private space, go to your apps list then scroll down"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Done"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scroll down to find private space"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Sign in"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Sign in to an account to use with your private space"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Not now"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continue"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Choose a lock for your private space"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"You can unlock your private space using your fingerprint. For security, this option requires a backup lock."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Set a PIN for your private space"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Set a password for your private space"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Set a pattern for your private space"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"You can add up to <xliff:g id="COUNT">%d</xliff:g> fingerprints"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Password"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Delete screen lock?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remove all types of device unlock?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remove profile protection?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"A pattern protects your phone if it’s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"A pattern protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"A PIN protects your phone if it’s lost or stolen"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"You will lose saved data, like your PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This also deletes the fingerprint model stored on your device. You won’t be able to use your fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"You will lose saved data, like your PIN and fingerprint model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Your face model will also be permanently and securely deleted. You won’t be able to use your face for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"You will lose saved data, like your PIN and face model.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"A PIN protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"You will lose saved data, like your PIN, face and fingerprint models.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"A password protects your phone if it’s lost or stolen"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"A password protects your phone if it’s lost or stolen.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Pair with <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Add new member to the existing coordinated set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirm to add the second piece of your audio device"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth pairing code"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Type the pairing code then press Return or Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN contains letters or symbols"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Must be 16 digits"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"You may also need to type this PIN on the other device."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"You may also need to type this passkey on the other device."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirm to pair with the coordinated set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirm to pair with the audio device"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Allow access to your contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Also allow access to contacts and call history"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Info will be used for call announcements and more"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Couldn\'t connect to <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Available devices"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connect"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnect"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pair &amp; connect"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices"</string>
     <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_scan_change" msgid="1744636222637390367">"Change"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Device details"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Allow ART to verify bytecode for debuggable apps"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Show refresh rate"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Show the current display refresh rate"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Show HDR/SDR ratio"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Show the current HDR/SDR ratio"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Require device unlock for NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In aeroplane mode"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notify for public networks"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notify when a high‑quality public network is available"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Allow WEP networks"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP is an older security protocol that\'s less secure"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Your operator doesn\'t allow WEP networks because they\'re less secure"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Turn on Wi‑Fi automatically"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi will turn back on near high‑quality saved networks, like your home network"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Unavailable because location is turned off. Turn on "<annotation id="link">"location"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi scanning allows apps and services to 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Turn on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi scanning turned on"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"This network uses an older security protocol that\'s less secure"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> is blocked"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"This network uses an older security protocol called WEP, which is less secure. To connect anyway, you can allow WEP networks."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Your operator doesn\'t allow you to connect to this network because it uses an older security protocol that’s less secure"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Allow WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Close"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Advanced options"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Drop-down list Advanced Options"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expand"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Stay on Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Never show again"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Connect"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi turned on"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connected to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connecting to <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connecting…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Failed to connect to network"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Network not in range"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Forget"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modify"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Failed to forget network"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Save"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Failed to save network"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancel"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobile data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – charging"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – charging"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot connection"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Connection strength"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saved networks"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No password set"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot name"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot password"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Turn off hotspot automatically"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"When no devices are connected"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extend compatibility"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Display white balance"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continue using apps on fold"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatically raises the refresh rate from 60 to <xliff:g id="ID_1">%1$s</xliff:g> Hz for some content. Increases battery usage."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Disable default frame rate for games"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Disable limiting the maximum frame rate for games at <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatically raises the refresh rate up to <xliff:g id="ID_1">%1$d</xliff:g> Hz for some content. Increases battery usage."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Force peak refresh rate"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Highest refresh rate for improved touch responsiveness and animation quality. Increases battery usage."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Screen attention"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Screen attention uses the front camera to see if someone is looking at the screen. It works on device and images are never stored or sent to Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Turn on screen attention"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Keep screen on when looking at it"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Longer screen timeout will use more battery."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Camera is locked"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Camera must be unlocked for face detection"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Camera must be unlocked for screen attention"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM slot <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM slot <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primary)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"To view, choose saved network"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Battery level"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Communal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Communal settings"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellite messaging"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edit access point"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Add access point"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Not set"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Not set"</string>
     <string name="apn_name" msgid="6677695784108157953">"Name"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN enabled"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN disabled"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Network type"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Unspecified"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO value"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Delete APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancel"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplicate APN entry."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"The Name field can\'t be empty."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"The APN cannot be empty."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC field must be 3 digits."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC field must be 2 or 3 digits."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operator does not allow adding APNs of type %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC field must be valid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restoring default APN settings."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Reset to default"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset default APN settings completed"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi have been reset"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Erase eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"This won’t cancel any mobile service plans. To download replacement SIMs, contact your operator."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"This won’t cancel your mobile service plan. To get a replacement SIM, contact your operator."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset settings"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Reset all network settings? You can’t undo this action."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Reset all network settings and erase eSIMs? You can’t undo this action."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Want to reset?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Network reset is not available for this user"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Network settings have been reset"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Can’t delete SIMs"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMs can’t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Can’t erase eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Something went wrong and your eSIMs weren’t erased.\n\nRestart your device and try again."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Erase all data (factory reset)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Erase all data (factory reset)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Music"</li>\n<li>"Photos"</li>\n<li>"Other user data"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"This will not cancel your mobile service plan."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"All of your personal information and downloaded apps will be deleted. You can’t undo this action."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"All of your personal information, including downloaded apps &amp; SIMs, will be deleted. You can’t undo this action."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"All of your personal information, including downloaded apps and eSIMs, will be deleted. You can’t undo this action."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Erase all data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Factory reset is not available for this user"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Erasing"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Not sharing Internet with other devices"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Off"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Don’t use Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Only share Internet via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Only share Internet via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Only share Internet via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Only share Internet via USB and Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Only share Internet via USB and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Only share Internet via Bluetooth and Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Only share Internet via USB, Bluetooth and Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use hotspot and tethering to provide Internet to other devices through your Wi‑Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Help"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobile network"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobile plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Change SMS app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> as your SMS app?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Change Wi‑Fi assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Use <xliff:g id="NEW_APP">%1$s</xliff:g> instead of <xliff:g id="CURRENT_APP">%2$s</xliff:g> to manage your network connections?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Use <xliff:g id="NEW_APP">%s</xliff:g> to manage your network connections?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Unknown SIM operator"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> has no known provisioning website"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Please insert SIM card and restart"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Please connect to the internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Recent location requests"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Location for work profile"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"App location permissions"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Clear access"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controls"</string>
     <string name="force_stop" msgid="2681771622136916280">"Force stop"</string>
+    <string name="archive" msgid="9074663845068632127">"Archive"</string>
+    <string name="restore" msgid="7622486640713967157">"Restore"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restoring"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restoring."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restoring.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restoring…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"App size"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB storage app"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Couldn\'t compute the package size."</string>
     <string name="version_text" msgid="7628938665256107608">"Version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Move"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiving failed"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Archived <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restoring failed"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restoring <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Another migration is already in progress."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Not enough storage space."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"App doesn\'t exist."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Available on-screen keyboard"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Manage on-screen keyboards"</string>
     <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="6922850403920596246">"Enable bounce keys for physical keyboard accessibility"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Slow keys"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Enable slow keys for physical keyboard accessibility"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Sticky keys"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Enable sticky keys for physical keyboard accessibility"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tap the bottom-right corner of the touchpad for more options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pointer speed"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Learn touchpad gestures"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Go home"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swipe up with three fingers anywhere on your touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Go back"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sort by usage time"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sort by last time used"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sort by app name"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Last time used"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Last used"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"never"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Usage time"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibility"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Accessibility settings"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Magnify with triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Magnify with shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Magnify with shortcut &amp; triple-tap"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"About <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use Accessibility button to open"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volume keys to open"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triple-tap screen to open"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Two-finger double-tap screen to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Use gesture to open"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Use accessibility gesture"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"To use this feature, tap the accessibility button <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> on the bottom of your screen.\n\nTo switch between features, touch and hold the accessibility button."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"To use this feature, tap the Accessibility button on your screen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"To use this feature, press and hold both volume keys."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"To start and stop magnification, triple-tap anywhere on your screen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"To start and stop magnification, double-tap anywhere on your screen with two fingers."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"To use this feature, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"To use this feature, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"To use an accessibility feature, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"To use an accessibility feature, 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Accessibility button settings"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Button settings"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> shortcut"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Accessibility button"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Accessibility gesture"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold volume keys"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"Two-finger double-tap screen"</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="6863958573135995927">"triple-tap screen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Learn more about accessibility button &amp; gesture"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Using the accessibility button. The gesture isn’t available with 3-button navigation."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Quickly access accessibility features"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose whether you want to use a button or gesture to access the feature"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"To get started"</b>\n"1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose the button to access the feature"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose whether you want to use a button or gesture to access the feature&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose the button to access the feature&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Use button or gesture"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Location"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Size"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Power button ends call"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Large mouse cursor"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Make the mouse pointer more noticeable"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Make all apps dark"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Applies to apps without their own Dark theme. Some apps may have display issues, like inverted colours."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remove animations"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce movement on the screen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Use vibration and haptics"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarm vibration"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Media vibration"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Keyboard vibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ring vibration"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Notification vibration"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Touch feedback"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancel"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Stop <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Tapping <xliff:g id="STOP">%1$s</xliff:g> will stop <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Turn off"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Keep on"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Turn off <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No services installed"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No service selected"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No description provided."</string>
     <string name="settings_button" msgid="2195468788019730377">"Settings"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ease of use, ease of access, assistance, assistive"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Window magnifier, zoom, magnification, low vision, enlarge, make bigger"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"colour contrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hard of hearing, hearing loss, captions, Teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"three buttons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"delay, dexterity, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printing"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Off"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 print service on}other{# print services on}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> remaining"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> to charge"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Screen time"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Background time"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Low battery"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Allow the app to run in the background"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limit background activity?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"If you limit background activity for an app, it may misbehave"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Since this app is not set to optimise battery, you can’t restrict it.\n\nTo restrict the app, first turn on battery optimisation."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Manage battery usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Allow background usage"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Enable for real-time updates, disable to save battery"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Unrestricted"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimised"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restricted"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"See apps with highest usage"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Charging optimised to protect your battery"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"To help extend your battery\'s lifespan, charging is optimised"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Charging optimised to protect your battery"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"To help extend your battery\'s lifespan, charging is optimised while docked"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Charging optimised to protect your battery"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"To help extend your battery\'s lifespan, charging is optimised while docked"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Charging to full"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"To protect your battery, charging will be optimised the next time your tablet is docked"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Learn more about charging is paused"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Resume charging"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Includes high-power background activity"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"This app will be able to use battery in the background. Your battery may run out sooner than expected."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remove"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancel"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Charge to full"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Issue with charging accessory"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Check charging accessory"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Learn more about incompatible charging"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Manage apps automatically"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"since last full charge"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"System apps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Uninstalled apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Others"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Estimated time left"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Until fully charged"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: less than a min."</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Background: less than a min"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Screen time: less than a min"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Less than a min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Background: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Screen time: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"now"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Battery usage chart"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Daily battery usage chart"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Hourly battery usage chart"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Battery level percentage from <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> to <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Battery usage since last full charge"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Battery usage for <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Screen time since last full charge"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Emergency dialling signal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Set behaviour when an emergency call is placed"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"On"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Off"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup &amp; restore"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personal data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Back up my data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobile data and Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Auto-sync personal data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Auto-sync work data"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Auto-sync private data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Change cycle…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Day of month to reset data usage cycle:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"No apps used data during this period."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Name"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Server address"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secret"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec preshared key"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec user certificate"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certificate"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec server certificate"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Show advanced options"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS search domains"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS servers (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Forwarding routes (e.g. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Username"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Password"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Save account information"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(not used)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(don\'t verify server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(received from server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"This VPN type can\'t stay connected at all times"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN only supports numeric server addresses"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"A DNS server must be specified for always-on VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS server addresses must be numeric for always-on VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"The information entered doesn\'t support always-on VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancel"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Dismiss"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Block connections without VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Require VPN connection?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Not secure. Update to an IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Failed to start unsupported VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"None"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Always-on VPN requires an IP address for both server and DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receive bulletins about child abductions"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repeat"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Enable Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Allow this service to manage how your calls are made."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Wireless emergency alerts"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Network operators"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Access point names"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM status (SIM slot %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs changed."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Your SIM\'s changed"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tap to set up"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ask every time"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selection required"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recent apps, default apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Notification access is not available for apps in the work profile."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Passwords and accounts"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saved passwords, autofill, synced accounts"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions for sign-in and autofill"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Default apps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Cloned apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Create a second instance of an app so that you can use two accounts at the same time."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesture"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"face, unlock, auth, sign in"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"face, unlock, auth, sign in, fingerprint, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl version, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"text size, large print, large font, large text, low vision, make text bigger, font enlarger, font enlargement"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"always on ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, reader"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"keyboard, haptics, vibrate,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Do Not Disturb"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Media volume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Cast volume"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Power on sounds"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatically caption media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Phone speakers"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablet speakers"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Device speakers"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Wired headphones"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio from compatible media becomes more immersive"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Off"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Show all notification content"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Show sensitive content only when unlocked"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Don\'t show notifications at all"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"How do you want the lock screen to display?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"What do you want your lock screen to show?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Show all work notification content"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hide sensitive work content"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Recent conversations removed"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversation removed"</string>
     <string name="clear" msgid="5092178335409471100">"Clear"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Clear <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Priority and modified conversations will appear here"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Once you mark a conversation as priority, or make any other changes to conversations, they will appear here. \n\nTo change conversation settings: \nSwipe down from the top of the screen to open the pull-down shade, then touch and hold a conversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimise"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Notification cooldown"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Apply cooldown to all notifications"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Gradually lower the notification volume when you get many successive notifications from the same app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Apply cooldown to conversations"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Gradually lower the notification volume when you get many messages from the same chat within a short period of time"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Don\'t use notification cooldown"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Never lower notification volume, regardless of the amount of successive notifications from the same app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrate when unlocked"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Only vibrate when screen is unlocked"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Apply to work profiles"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Apply the notification cooldown settings from your personal profile to your work profile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR helper services"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"No installed apps have requested to be run as VR helper services."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Allow VR service access for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Off"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"App pinning"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to securely share your device with someone, try using a guest user instead. \n\nTo use app pinning: 	\n1. Turn on app pinning 	\n2. Open Overview 	\n3. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"When an app is pinned, the pinned app may open other apps and personal data may be accessible. \n\nIf you want to share your device with someone securely, try using a guest user instead. \n\nTo use app pinning: 	\n{0,number,integer}. Turn on app pinning 	\n{1,number,integer}. Open Overview 	\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"When app is pinned: \n\n• Personal data may be accessible \n(such as contacts and email content) \n• Pinned app may open other apps \n\nOnly use app pinning with people you trust."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Ask for unlock pattern before unpinning"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Ask for PIN before unpinning"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Ask for password before unpinning"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lock device when unpinning"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirm SIM deletion"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirm that you want to erase your eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verify that it\'s you before erasing an eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Advanced memory protection beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Advanced memory protection"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Unused app settings"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pause app activity if unused"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remove permissions, delete temporary files and stop notifications"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Manage app if unused"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remove permissions, delete temporary files, stop notifications and archive the app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"All apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installed apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Free"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memory used by apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app used memory in the last {time}}other{# apps used memory in the last {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Enable memory usage profiling"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Memory usage profiling requires additional system resources."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Memory profiling disabled"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequency"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximum usage"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No data used"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Display over other apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Allow display over other apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Allow this app to display on top of other apps that you’re using. This app will be able to see where you tap or change what’s displayed on the screen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Change media output"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Allow app to switch media output"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Allow this app to choose which connected device plays audio or video from other apps. If allowed, this app can access a list of available devices such as headphones and speakers and choose which output device is used to stream or cast audio or video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"All files access"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Allow access to manage all files"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Can access all files"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Voice activation apps"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Allow voice activation"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Voice activation turns on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n"<a href="">"More about protected adaptive sensing"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Full-screen notifications"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Allow full-screen notifications from this app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls or other urgent notifications."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> data warning"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> data limit"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> data warning/<xliff:g id="ID_2">^2</xliff:g> data limit"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operator data accounting may differ from device accounting"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Excludes data used by operator networks"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> used"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Set data warning"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Updated <xliff:g id="ID_1">^2</xliff:g> ago"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Updated by <xliff:g id="ID_1">^1</xliff:g> just now"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Updated just now"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"View plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"View details"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Data Saver"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Unrestricted data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the background"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery while in the foreground"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> used more battery than usual while in the foreground"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Battery usage anomaly"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"High battery usage"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"High battery usage in the background"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"High battery usage in the foreground"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Quick settings developer tiles"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Disable adb authorisation timeout"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Disable automatic revocation of adb authorisations for systems that have not reconnected within the default (seven days) or user-configured (minimum one day) amount of time."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensors Off"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Work profile settings"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Search for work directory contacts in personal apps"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2-button navigation, 3-button navigation, gesture navigation, swipe"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistant"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipe to invoke the assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe up from a bottom corner to invoke digital assistant app."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe up from the bottom corner to invoke digital assistant app."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold Home for Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Press and hold the Home button to invoke digital assistant app."</string>
     <string name="low_label" msgid="6525629096999711220">"Low"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Auto-fill service"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Default auto-fill service"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Passwords"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Passwords, passkeys and data services"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Additional providers"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferred service"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Additional services"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# password}other{# passwords}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, fill, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fill, autofill, data, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Change"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Open"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"None selected"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Make sure that you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Auto-fill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled. New passwords, passkeys and other info will be saved here from now on."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Passwords, passkeys and data services"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferred service for passwords, passkeys and autofill"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Turn off %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Turn off this service?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Saved info like passwords, passkeys, payment methods and other info won\'t be filled in when you sign in. To use your saved info, choose a password, passkey or data service."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Passwords, passkeys and autofill"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passwords, passkeys and other saved info won\'t be available for autofill when you sign in"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Change your preferred service to &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Use %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Turn off"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Change"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"You can only have 5 services on"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Turn off at least 1 service to add another"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s uses what\'s on your screen to determine what can be auto-filled."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Passwords, passkeys and data services limit"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"You can have up to five passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Passwords, passkeys and data services limit"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"You can have up to five passwords, passkeys and data services active at the same time. Turn off a service to add more."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Turn off"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Auto-fill"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logging level"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depends on another setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d accounts"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Device name"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basic info"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legal and regulatory"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Allow this app to launch when an NFC tag is scanned.\nIf this permission is on, the app will be available as an option whenever a tag is detected."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Play media to"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Play <xliff:g id="LABEL">%s</xliff:g> on"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio will play on"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"This device"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Unavailable during calls"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Take call on"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Mute"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"To enable, first change \'Press &amp; hold power button\' to the power menu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Network details"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Your device name is visible to apps on your phone. 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="devices_title" msgid="649715719278562515">"Devices"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Choose network"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Disconnected"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Name"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Colour (used by compatible apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Save"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Use SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Use this SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"To disable this SIM, remove the SIM card"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tap to activate <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Erase SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"To turn off this SIM, remove the SIM card"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tap to activate your <xliff:g id="CARRIER">%1$s</xliff:g> SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Erase eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferred network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Change the network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferred network type"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Check with your network provider for pricing."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"App data usage"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid network mode <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellite messaging"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Send and receive text messages by satellite. Included with your account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Send and receive text messages by satellite. Non included with your account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellite messaging"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"About satellite messaging"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"You can send and receive text messages by satellite as part of an eligible <xliff:g id="CARRIER_NAME">%1$s</xliff:g> account"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> plan"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellite messaging is included with your account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellite messaging isn’t included with your account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Add satellite messaging"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"How it works"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"When you don’t have a mobile network"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Your phone will auto-connect to a satellite. For the best connection, keep a clear view of the sky."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"After your phone connects to a satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"You can text anyone, including emergency services. Your phone will reconnect to a mobile network when available."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellite messaging may take longer and is available only in some areas, weather and certain structures may affect your satellite connection. Calling by satellite isn’t available.\n\nIt may take some time for changes to your account to show in Settings. Contact <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for details."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"More about satellite messaging"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Access point names"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Unavailable when connected to <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Switch to using SIM card?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Only one SIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Only one eSIM can be active at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Only one SIM can be active at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Only one SIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Only one eSIM can be on at a time.\n\nSwitching to <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> won’t cancel your <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> service."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Only one SIM can be on at a time.\n\nSwitching won’t cancel your <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> service."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"You can use two SIMs at a time. To use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, turn off another SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Switch to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Turning off a SIM won’t cancel your service"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connecting to network…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for calls and messages…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Can’t switch operator"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"The operator can’t be switched because of an error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activating your SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Switching to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Can\'t switch SIMs"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Something went wrong. Can\'t switch SIMs."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Turn off <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Turn off SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Turning off SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Can’t disable operator"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Something went wrong and your operator could not be disabled."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Can\'t turn off SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Something went wrong and your SIM could not be turned off."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Use two SIMs?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"This device can have two SIMs active at once. To continue using one SIM at a time, tap \'No, thanks\'."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Restart device?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, thanks"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancel"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Switch"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Turn off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Can’t activate SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Try turning on the SIM again. If the problem continues, restart your device."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Set up your SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Set your mobile network preferences to use multiple SIMs on this device"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Label your SIMs"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"You’ll see these labels when making calls, sending texts and using data, and in Settings"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM label"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Select which SIMs to use"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"You can use two SIMs at a time"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Set your primary SIMs"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Choose which SIMs to use by default for calls, texts and data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Your primary SIMs"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Calls"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Texts"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatic data switching"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Use data from either SIM depending on coverage and availability"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data only"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Set up"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Next"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Turning on <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobile network"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Phone number"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM label and colour"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Network activation"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operator switching"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> is active"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Your <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM is active"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tap to update SIM settings"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Switched to <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Switched to another operator"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Your mobile network has changed"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Set up your other SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choose your active SIM or use two SIMs at once"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Choose a number to use"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 number is available on this device, but only one can be used at a time}=2{2 numbers are available on this device, but only one can be used at a time}other{# numbers are available on this device, but only one can be used at a time}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activating<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Couldn’t be activated at the moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Choose a SIM to use"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM is available on this device, but only one can be used at a time}=2{2 SIMs are available on this device, but only one can be used at a time}other{# SIMs are available on this device, but only one can be used at a time}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Turning on<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Couldn\'t turn on this SIM right now"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Use <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> will be used for mobile data, calls and SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No active SIMs available"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"To use mobile data, call features and SMS at a later time, go to your network settings"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Erase this eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Erasing this SIM removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> won\'t be cancelled."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"This removes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> service from this device, but your <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> plan won\'t be cancelled."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Erase"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Erasing SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Can\'t erase SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"This SIM can\'t be erased due to an error.\n\nRestart your device and try again."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Erasing eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Can\'t erase eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Something went wrong and this eSIM wasn\'t erased.\n\nRestart your device and try again."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connect to device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> app wants to use a temporary Wi‑Fi network to connect to your device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No devices found. Make sure that devices are turned on and available to connect."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Emergency calls"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Emergency calls over Wi‑Fi Calling are not supported by your operator.\nThe device switches automatically to a mobile network to place an emergency call.\nEmergency calls are only possible in areas with mobile coverage."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Use Wi‑Fi for calls to improve quality"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Backup calling"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"If <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> is unavailable or roaming, use your mobile data SIM for <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> calls."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"backup calling"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Incoming MMS message"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Can’t send MMS message"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tap to allow MMS messaging on <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> when mobile data is off"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Your work policy info"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Settings managed by your IT admin"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Boot with 16K page size"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Boot device using 16K page size supported kernel"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reboot with 16 KB pages compatible kernel?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WARNING: Some applications may not be compatible with this mode. Device will reboot after confirmation."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reboot with 4 KB pages compatible kernel?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Device will reboot after confirmation."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Failed to update kernel to 16 KB pages compatible kernel."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Applying change"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Bug report handler"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determines which app handles the bug report shortcut on your device."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Allow apps that can display over other apps to overlay settings screens"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Allow mock modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Allow this device to run mock modem service for instrumentation testing. Do not enable this during normal usage of the phone"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Disable screen share protections"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Disables system applied app and notifications protections during screen sharing"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Pin media player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"To quickly resume playback, media player stays open in Quick Settings"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Show media on lock screen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"To quickly resume playback, media player stays open on lock screen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Show media recommendations"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Show Assistant media recommendations"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Based on your activity"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Hide player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Show player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Allow camera software extensions"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Enables the default software implementation of advanced camera features, such as Eyes Free videography."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth will turn on"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Active"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactive"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"On"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Off"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Default for <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"calls"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio from compatible media becomes more immersive"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Head tracking"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio changes as you move your head to sound more natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sync permissions"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Give <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> the same app permissions that you\'ve allowed on <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sync permissions from phone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Give your watch the same app permissions that you’ve allowed on this phone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio Device Type"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Unknown"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medium"</string>
     <string name="contrast_high" msgid="3988567609694797696">"High"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"This app can only be opened in one window"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"On"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Off"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Off"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Off"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"On"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Off"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"On"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Off"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Turns light screens dark and dark screens light"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom in on the screen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Off"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Off"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scanning for deceptive apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Check app activity for phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Use scanning for deceptive apps"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Use scanning for deceptive apps for work"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Password is now set up"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Show pointer while hovering"</string>
 </resources>
diff --git a/res/values-en-rXC/arrays.xml b/res/values-en-rXC/arrays.xml
index d7800e6..62da2df 100644
--- a/res/values-en-rXC/arrays.xml
+++ b/res/values-en-rXC/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎Available‎‏‎‎‏‎"</item>
     <item msgid="6096962300722555553">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎Out-of-range‎‏‎‎‏‎"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎Disabled‎‏‎‎‏‎"</item>
+    <item msgid="7781484297606806796">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎Unicast‎‏‎‎‏‎"</item>
+    <item msgid="6667451574264144311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‏‏‏‎Unicast and Broadcast‎‏‎‎‏‎"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎Use System Default: ‎‏‎‎‏‏‎<xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</item>
     <item msgid="5818942631838356082">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎1‎‏‎‎‏‎"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‎After 1 minute‎‏‎‎‏‎"</item>
     <item msgid="1574040255478150028">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎After 5 minutes‎‏‎‎‏‎"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-en-rXC/strings.xml b/res/values-en-rXC/strings.xml
index 4c6741f..33ddeaa 100644
--- a/res/values-en-rXC/strings.xml
+++ b/res/values-en-rXC/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‎You are now a developer!‎‏‎‎‏‎"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎No need, you are already a developer.‎‏‎‎‏‎"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎Please enable developer options first.‎‏‎‎‏‎"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎Only the admin users can access developer settings.‎‏‎‎‏‎"</string>
     <string name="header_category_system" msgid="1665516346845259058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎System‎‏‎‎‏‎"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎In Service‎‏‎‎‏‎"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎Out of Service‎‏‎‎‏‎"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‎‏‏‎‎Front display turns on when you fold your device‎‏‎‎‏‎"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎Only games, videos, and more‎‏‎‎‏‎"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎Front display turns on for apps that stop your screen going idle‎‏‎‎‏‎"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‎Swipe up to continue‎‏‎‎‏‎"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎Fold your phone and swipe up on the front display to continue using the app, or wait a few seconds for the screen to lock‎‏‎‎‏‎"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎Never‎‏‎‎‏‎"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‎Front display locks when you fold your device‎‏‎‎‏‎"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎Use auto-rotate‎‏‎‎‏‎"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‎Related‎‏‎‎‏‎"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎Ringtone and alarms‎‏‎‎‏‎"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎Audio during calls‎‏‎‎‏‎"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎Media‎‏‎‎‏‎"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‎‏‎Notifications and other system sounds‎‏‎‎‏‎"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎Media and system sounds‎‏‎‎‏‎"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‏‏‎‏‎‏‏‏‎Notifications‎‏‎‎‏‎"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎By default, audio output is determined by individual apps‎‏‎‎‏‎"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‏‎Unnamed Bluetooth device‎‏‎‎‏‎"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎Searching‎‏‎‎‏‎"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎Cancel‎‏‎‎‏‎"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎Disable Bluetooth LE audio‎‏‎‎‏‎"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‏‎‎Disables Bluetooth LE audio feature if the device supports LE audio hardware capabilities.‎‏‎‎‏‎"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎Bluetooth LE Audio mode‎‏‎‎‏‎"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎Show LE audio toggle in Device Details‎‏‎‎‏‎"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‎Enable Bluetooth LE audio Allow List‎‏‎‎‏‎"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎Enable Bluetooth LE audio allow list feature.‎‏‎‎‏‎"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎‎‎Bypass Bluetooth LE Audio Allowlist‎‏‎‎‏‎"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‎‎Use LE Audio by default even if LE Audio peripheral hasn\'t been verified to meet Allowlist criteria.‎‏‎‎‏‎"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‎Media devices‎‏‎‎‏‎"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‎‎Call devices‎‏‎‎‏‎"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎Other devices‎‏‎‎‏‎"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎Saved devices‎‏‎‎‏‎"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎Associated with account‎‏‎‎‏‎"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎Previously used with account‎‏‎‎‏‎"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎Bluetooth will turn on to pair‎‏‎‎‏‎"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‎‎Connection preferences‎‏‎‎‏‎"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎Previously connected‎‏‎‎‏‎"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‎Bluetooth turned on‎‏‎‎‏‎"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎See all‎‏‎‎‏‎"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎See all‎‏‎‎‏‎"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎Stylus‎‏‎‎‏‎"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎Tail button press‎‏‎‎‏‎"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="APP_NAME">%s</xliff:g>‎‏‎‎‏‏‏‎ (Work profile)‎‏‎‎‏‎"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎Write in text fields‎‏‎‎‏‎"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎Ignore all stylus button presses‎‏‎‎‏‎"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎Stylus‎‏‎‎‏‎"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‎Audio sharing‎‏‎‎‏‎"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎Share audio‎‏‎‎‏‎"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎Calls and alarms‎‏‎‎‏‎"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎Connect to an audio stream using QR code‎‏‎‎‏‎"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎No nearby audio streams were found.‎‏‎‎‏‎"</string>
     <string name="date_and_time" msgid="1788358029823431692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎Date &amp; time‎‏‎‎‏‎"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‏‎‎Proxy‎‏‎‎‏‎"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎Clear‎‏‎‎‏‎"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‏‎‎Add %s to preferred languages?‎‏‎‎‏‎"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎This lets apps and websites know you also prefer this language.‎‏‎‎‏‎"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎Your device settings and regional preferences will change.‎‏‎‎‏‎"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‎Change‎‏‎‎‏‎"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎%s not available‎‏‎‎‏‎"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎Saturday‎‏‎‎‏‎"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎‏‏‎‎‎If an app doesn’t support regional preferences, the app will use its default locale settings.‎‏‎‎‏‎"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎‎‎‎‏‎Learn more about language preferences.‎‏‎‎‏‎"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎Additional preferences‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎Terms of address‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‎‎‎Set how you want to be addressed‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎Apps can use your terms of address to personalize how they address you.‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎Not specified‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎Feminine‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‎‎Masculine‎‏‎‎‏‎"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‎‎‏‏‏‏‎‎Neutral‎‏‎‎‏‎"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎Remove selected language?‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎Remove selected languages?‎‏‎‎‏‎}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎Text will be displayed in another language.‎‏‎‎‏‎"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‎Can’t remove all languages‎‏‎‎‏‎"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎Location‎‏‎‎‏‎"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‎‏‏‏‎Use location‎‏‎‎‏‎"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‎Off‎‏‎‎‏‎"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎On - # app has access to location‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎On - # apps have access to location‎‏‎‎‏‎}}"</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_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="5329024810729665156">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎Learn more about Location Settings.‎‏‎‎‏‎"</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="3574930966097093550">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‎‎To change location access, go to Settings &gt; Security and Privacy &gt; Privacy controls‎‏‎‎‏‎"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎Accounts‎‏‎‎‏‎"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‏‎‎Security‎‏‎‎‏‎"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎Encryption &amp; credentials‎‏‎‎‏‎"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‎For best results, use a screen protector that’s Made for Google certified. With other screen protectors, your child’s fingerprint may not work.‎‏‎‎‏‎"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎Watch Unlock‎‏‎‎‏‎"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‎‎When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can unlock with your watch when your face or fingerprint isn’t recognized.‎‏‎‎‏‎"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎You can unlock with your watch when your fingerprint isn’t recognized.‎‏‎‎‏‎"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎You can unlock with your watch when your face isn’t recognized.‎‏‎‎‏‎"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Watch Unlock is another convenient way to unlock your phone, for example, when your fingers are wet or face isn’t recognized.‎‏‎‎‏‎"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎Watch Unlock is another convenient way to unlock your phone, for example, when your fingerprint isn’t recognized.‎‏‎‎‏‎"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎Watch Unlock is another convenient way to unlock your phone, for example, when your face isn’t recognized.‎‏‎‎‏‎"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎Use fingerprint or watch to‎‏‎‎‏‎"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎Use face or watch to‎‏‎‎‏‎"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎Use face, fingerprint, or watch to‎‏‎‎‏‎"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn’t recognized.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can use your watch to unlock this phone when you:‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‎‎‎Not now‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎Continue‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎More‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‎How it works‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎Your watch must be unlocked, on your wrist, and within reach of this phone. You won’t need to unlock your watch again while it’s on your wrist.‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎When this phone is unlocked, you’ll get notified on your watch. If it was unlocked when you didn’t intend to, tap the notification to lock the phone again.‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎You’re in control‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎You can remove your watch from Watch Unlock at any time in Settings‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎Tap a notification‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‏‎Swipe up on the lock screen‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎Choose your watch‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎Available watches‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎Cancel‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‎‏‏‏‎‎‎Confirm‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎You’re all set!‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎Done‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎Watch Unlock‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎You can use your watch to unlock this phone when you swipe up on the lock screen or tap a notification‎‏‎‎‏‎"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎To use Watch Unlock, your watch must be unlocked, on your wrist, within reach, and connected to this phone. If the connection is interrupted, you’ll need to unlock the phone before you can use Watch Unlock.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Keep in mind:‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎You can only have one watch set up at a time. To add another watch, first remove the current one.‎‏‎‎‏‎"</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‎Security‎‏‎‎‏‎"</string>
     <string name="privacy_header" msgid="5526002421324257007">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‎‏‏‏‏‎Privacy‎‏‎‎‏‎"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎Work profile‎‏‎‎‏‎"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‏‎Private space‎‏‎‎‏‎"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‎‎Keep private apps locked and hidden‎‏‎‎‏‎"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‎‎Keep private apps in a separate space that you can hide or lock‎‏‎‎‏‎"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎Private space lock‎‏‎‎‏‎"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎You can unlock your private space the same way you unlock your device, or choose a different lock‎‏‎‎‏‎"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‎Use device screen lock‎‏‎‎‏‎"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎Face &amp; Fingerprint Unlock‎‏‎‎‏‎"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‏‎Fingerprint Unlock‎‏‎‎‏‎"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎Face Unlock‎‏‎‎‏‎"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎Tap to set up‎‏‎‎‏‎"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‏‏‎Fingerprint Unlock for private space‎‏‎‎‏‎"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎Face Unlock for private space‎‏‎‎‏‎"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‏‎‎Ways to unlock‎‏‎‎‏‎"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‏‏‏‎‏‏‏‎‎Same as device screen lock‎‏‎‎‏‎"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎Choose a new lock for private space?‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎Lock private space automatically‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎You can lock your private space automatically if you havent used your device for a period of time‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‎‎Every time device locks‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‏‎After 5 minutes of inactivity‎‏‎‎‏‎"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎Never‎‏‎‎‏‎"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎Hide when locked‎‏‎‎‏‎"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎Hide private space when locked‎‏‎‎‏‎"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‎‎To stop other people knowing you have a private space on your device, you can hide it from your apps list‎‏‎‎‏‎"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎Access private space when hidden‎‏‎‎‏‎"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎From your apps list, enter \"private space\" in the search bar‎‏‎‎‏‎"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎Tap the private space tile‎‏‎‎‏‎"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎Unlock your private space‎‏‎‎‏‎"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‎Off‎‏‎‎‏‎"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‎On‎‏‎‎‏‎"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎System‎‏‎‎‏‎"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎Delete private space‎‏‎‎‏‎"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎Delete private space?‎‏‎‎‏‎"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎Your private space will be removed from your device. All private apps and data will be deleted. You can’t undo this action.‎‏‎‎‏‎"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎‏‎‏‏‎The following accounts will be removed from your private space:‎‏‎‎‏‎"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎Delete‎‏‎‎‏‎"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎Deleting private space…‎‏‎‎‏‎"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎This will take a few moments‎‏‎‎‏‎"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎Private space deleted‎‏‎‎‏‎"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‏‎Private space could not be deleted‎‏‎‎‏‎"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎Private space unlocked‎‏‎‎‏‎"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎Set a screen lock‎‏‎‎‏‎"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎To use your private space, set a screen lock on this device‎‏‎‎‏‎"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‎Set screen lock‎‏‎‎‏‎"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎Cancel‎‏‎‎‏‎"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‏‎‏‏‎‎Cancel‎‏‎‎‏‎"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‎Set up‎‏‎‎‏‎"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎Set up a private space‎‏‎‎‏‎"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎Keep private apps in a separate space that you can hide or lock‎‏‎‎‏‎"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎How it works‎‏‎‎‏‎"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‏‎‏‎You can access your private space from the bottom of your apps list‎‏‎‎‏‎"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎Apps in your private space are protected by a lock‎‏‎‎‏‎"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‏‎Notifications from apps in your private space are hidden when it’s locked‎‏‎‎‏‎"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎Apps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when your private space is locked.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Your private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Anyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space.‎‏‎‎‏‎"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎Setting up private space…‎‏‎‎‏‎"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎Notifications from private space apps are hidden when it’s locked‎‏‎‎‏‎"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎Unlock private space to share photos or files‎‏‎‎‏‎"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‎‎Some apps are already installed in your 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_lockscreen_title" msgid="6034864097861137509">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎Use screen lock to unlock private space?‎‏‎‎‏‎"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‎You can unlock your private space the same way you unlock your device, or choose a different lock‎‏‎‎‏‎"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‎Use screen lock‎‏‎‎‏‎"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‎Choose new lock‎‏‎‎‏‎"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎All set!‎‏‎‎‏‎"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎To find your private space, go to your apps list then scroll down‎‏‎‎‏‎"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎Done‎‏‎‎‏‎"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎Scroll down to find private space‎‏‎‎‏‎"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎Sign in‎‏‎‎‏‎"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‎Sign in to an account to use with your private space‎‏‎‎‏‎"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎Not now‎‏‎‎‏‎"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎Continue‎‏‎‎‏‎"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎Choose a lock for your private space‎‏‎‎‏‎"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎You can unlock your private space using your fingerprint. For security, this option requires a backup lock.‎‏‎‎‏‎"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎Set a PIN for your private space‎‏‎‎‏‎"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎Set a password for your private space‎‏‎‎‏‎"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎Set a pattern for your private space‎‏‎‎‏‎"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎You can add up to ‎‏‎‎‏‏‎<xliff:g id="COUNT">%d</xliff:g>‎‏‎‎‏‏‏‎ fingerprints‎‏‎‎‏‎"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎You’ve added the maximum number of fingerprints‎‏‎‎‏‎"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎Can’t add more fingerprints‎‏‎‎‏‎"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎Pattern‎‏‎‎‏‎"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎PIN‎‏‎‎‏‎"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‏‏‏‎‎‏‎Password‎‏‎‎‏‎"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎Delete screen lock?‎‏‎‎‏‎"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‏‎‎Remove all types of device unlock?‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎Remove profile protection?‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‎A pattern protects your phone if it’s lost or stolen‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎A pattern protects your phone if it’s lost or stolen.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>‎‏‎‎‏‏‏‎This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps.‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎A PIN protects your phone if it’s lost or stolen‎‏‎‎‏‎"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‎You will lose saved data like your PIN.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>‎‏‎‎‏‏‏‎Cards set up for tap to pay will be removed.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>‎‏‎‎‏‏‏‎Wallets and other apps that require device unlock may not work properly.‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎A PIN protects your phone if it’s lost or stolen.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE">
 
 </xliff:g>‎‏‎‎‏‏‏‎This also deletes the fingerprint model stored on your device. You won’t be able to use your fingerprint for authentication in apps.‎‏‎‎‏‎"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎You will lose saved data like your PIN and fingerprint model.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>‎‏‎‎‏‏‏‎Cards set up for tap to pay will be removed.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>‎‏‎‎‏‏‏‎Wallets and other apps that require device unlock may not work properly.‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‏‎A PIN protects your phone if it’s lost or stolen.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE">
 
 </xliff:g>‎‏‎‎‏‏‏‎Your face model will also be permanently and securely deleted. You won’t be able to use your face for authentication in apps.‎‏‎‎‏‎"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‏‎‎You will lose saved data like your PIN and face model.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>‎‏‎‎‏‏‏‎Cards set up for tap to pay will be removed.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>‎‏‎‎‏‏‏‎Wallets and other apps that require device unlock may not work properly.‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‎‎‎‎A PIN protects your phone if it’s lost or stolen.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE">
 
 </xliff:g>‎‏‎‎‏‏‏‎This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won’t be able to use your face or fingerprint for authentication in apps.‎‏‎‎‏‎"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‏‎‏‎You will lose saved data like your PIN, face and fingerprint models.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>‎‏‎‎‏‏‏‎Cards set up for tap to pay will be removed.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>‎‏‎‎‏‏‏‎Wallets and other apps that require device unlock may not work properly.‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎A password protects your phone if it’s lost or stolen‎‏‎‎‏‎"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎‎‎A password protects your phone if it’s lost or stolen.‎‏‎‎‏‏‎<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‏‏‎Bluetooth‎‏‎‎‏‎"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‎Bluetooth‎‏‎‎‏‎"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎Pair with ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‎Add new member to the existing coordinated set‎‏‎‎‏‎"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‎Confirm to add the second piece of your audio device‎‏‎‎‏‎"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‎Bluetooth pairing code‎‏‎‎‏‎"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎Type the pairing code then press Return or Enter‎‏‎‎‏‎"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‏‎‏‎‏‏‎PIN contains letters or symbols‎‏‎‎‏‎"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎Must be 16 digits‎‏‎‎‏‎"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎You may also need to type this PIN on the other device.‎‏‎‎‏‎"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‏‎You may also need to type this passkey on the other device.‎‏‎‎‏‎"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎Confirm to pair with the coordinated set‎‏‎‎‏‎"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎Confirm to pair with the audio device‎‏‎‎‏‎"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‏‎Allow access to your contacts and call history‎‏‎‎‏‎"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎‎‏‎‎Also allow access to contacts and call history‎‏‎‎‏‎"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎Info will be used for call announcements and more‎‏‎‎‏‎"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‎‎‎‎Couldn’t connect to ‎‏‎‎‏‏‎<xliff:g id="DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‎Available devices‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎Connect‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‎Disconnect‎‏‎‎‏‎"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎Pair &amp; connect‎‏‎‎‏‎"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.‎‏‎‎‏‎"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices‎‏‎‎‏‎"</string>
     <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_scan_change" msgid="1744636222637390367">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎Change‎‏‎‎‏‎"</string>
     <string name="device_details_title" msgid="1155622417516195481">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‎Device details‎‏‎‎‏‎"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎Allow ART to verify bytecode for debuggable apps‎‏‎‎‏‎"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‏‎Show refresh rate‎‏‎‎‏‎"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎Show the current display refresh rate‎‏‎‎‏‎"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎Show HDR/SDR ratio‎‏‎‎‏‎"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎Show the current HDR/SDR ratio‎‏‎‎‏‎"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎NFC‎‏‎‎‏‎"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎Require device unlock for NFC‎‏‎‎‏‎"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎Android Beam‎‏‎‎‏‎"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎In Airplane mode‎‏‎‎‏‎"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‎Notify for public networks‎‏‎‎‏‎"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎Notify when a high‑quality public network is available‎‏‎‎‏‎"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎Allow WEP networks‎‏‎‎‏‎"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎WEP is an older security protocol that\'s less secure‎‏‎‎‏‎"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎Your carrier doesn\'t allow WEP networks because they\'re less secure‎‏‎‎‏‎"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎Turn on Wi‑Fi automatically‎‏‎‎‏‎"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎Wi‑Fi will turn back on near high‑quality saved networks, like your home network‎‏‎‎‏‎"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‎Unavailable because location is turned off. Turn on ‎‏‎‎‏‏‎"<annotation id="link">"‎‏‎‎‏‏‏‎location‎‏‎‎‏‏‎"</annotation>"‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‏‎Wi‑Fi scanning allows apps and services to 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.‎‏‎‎‏‎"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎Turn on‎‏‎‎‏‎"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎Wi‑Fi scanning turned on‎‏‎‎‏‎"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎This network uses an older security protocol that\'s less secure‎‏‎‎‏‎"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is blocked‎‏‎‎‏‎"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎This network uses an older security protocol called WEP, which is less secure. To connect anyway, you can allow WEP networks.‎‏‎‎‏‎"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‏‎‏‏‎Your carrier doesn\'t allow you to connect to this network because it uses an older security protocol that’s less secure‎‏‎‎‏‎"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎Allow WEP‎‏‎‎‏‎"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‎‎Close‎‏‎‎‏‎"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‎Advanced options‎‏‎‎‏‎"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎Drop down list Advanced Options‎‏‎‎‏‎"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‎expand‎‏‎‎‏‎"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎Stay on Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎Never show again‎‏‎‎‏‎"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎Connect‎‏‎‎‏‎"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‎Wi‑Fi turned on‎‏‎‎‏‎"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎Connected to ‎‏‎‎‏‏‎<xliff:g id="NETWORK_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎Connecting to ‎‏‎‎‏‏‎<xliff:g id="NETWORK_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎Connecting…‎‏‎‎‏‎"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎Failed to connect to network‎‏‎‎‏‎"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎Network not in range‎‏‎‎‏‎"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‎‎Forget‎‏‎‎‏‎"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‎Modify‎‏‎‎‏‎"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎Failed to forget network‎‏‎‎‏‎"</string>
     <string name="wifi_save" msgid="2312643132472226807">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎Save‎‏‎‎‏‎"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎Failed to save network‎‏‎‎‏‎"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎‏‎‎Cancel‎‏‎‎‏‎"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎Mobile data‎‏‎‎‏‎"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‏‏‎‎Ethernet‎‏‎‎‏‎"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g>‎‏‎‎‏‏‏‎ ‑ Charging‎‏‎‎‏‎"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ ‑ Charging‎‏‎‎‏‎"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎Hotspot connection‎‏‎‎‏‎"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎Connection strength‎‏‎‎‏‎"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎Saved networks‎‏‎‎‏‎"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎No password set‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎Hotspot name‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‏‎‎‏‎‎Hotspot password‎‏‎‎‏‎"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‏‎‎AP Band‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎Turn off hotspot automatically‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎When no devices are connected‎‏‎‎‏‎"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎Extend compatibility‎‏‎‎‏‎"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎Display white balance‎‏‎‎‏‎"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎Continue using apps on fold‎‏‎‎‏‎"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‎‏‎‎‏‏‏‎Smooth Display‎‏‎‎‏‎"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎Automatically raises the refresh rate from 60 to ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ Hz for some content. Increases battery usage.‎‏‎‎‏‎"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‏‎Disable default frame rate for games‎‏‎‎‏‎"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‏‎Disable limiting the maximum frame rate for games at ‎‏‎‎‏‏‎<xliff:g id="FRAME_RATE">%1$d</xliff:g>‎‏‎‎‏‏‏‎ Hz.‎‏‎‎‏‎"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎Smooth display‎‏‎‎‏‎"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‏‏‏‎‎Automatically raises the refresh rate up to ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$d</xliff:g>‎‏‎‎‏‏‏‎ Hz for some content. Increases battery usage.‎‏‎‎‏‎"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎Force peak refresh rate‎‏‎‎‏‎"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‎Highest refresh rate for improved touch responsiveness &amp; animation quality. Increases battery usage.‎‏‎‎‏‎"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎Screen attention‎‏‎‎‏‎"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎Screen attention uses the front camera to see if someone is looking at the screen. It works on device, and images are never stored or sent to Google.‎‏‎‎‏‎"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎Turn on screen attention‎‏‎‎‏‎"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‏‎‎Keep screen on when looking at it‎‏‎‎‏‎"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‎Longer screen timeout will use more battery.‎‏‎‎‏‎"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎Camera is locked‎‏‎‎‏‎"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‎‎Camera must be unlocked for Face Detection‎‏‎‎‏‎"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎Camera must be unlocked for Screen Attention‎‏‎‎‏‎"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎IMEI (sim slot ‎‏‎‎‏‏‎<xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‎IMEI (sim slot ‎‏‎‎‏‏‎<xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>‎‏‎‎‏‏‏‎) (primary)‎‏‎‎‏‎"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎To view, choose saved network‎‏‎‎‏‎"</string>
+    <string name="status_imei" msgid="5719752369250485007">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‏‎IMEI‎‏‎‎‏‎"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎IMEI SV‎‏‎‎‏‎"</string>
     <string name="status_min_number" msgid="4492899165438225714">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‎‎MIN‎‏‎‎‏‎"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎MSID‎‏‎‎‏‎"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‎PRL version‎‏‎‎‏‎"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‎Battery level‎‏‎‎‏‎"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‏‎Communal‎‏‎‎‏‎"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‎Communal settings‎‏‎‎‏‎"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎Satellite Messaging‎‏‎‎‏‎"</string>
     <string name="apn_settings" msgid="4295467389400441299">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎APNs‎‏‎‎‏‎"</string>
     <string name="apn_edit" msgid="2003683641840248741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎Edit access point‎‏‎‎‏‎"</string>
+    <string name="apn_add" msgid="9069613192201630934">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎Add access point‎‏‎‎‏‎"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎Not set‎‏‎‎‏‎"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎Not set‎‏‎‎‏‎"</string>
     <string name="apn_name" msgid="6677695784108157953">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎Name‎‏‎‎‏‎"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎APN enabled‎‏‎‎‏‎"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‎‏‎APN disabled‎‏‎‎‏‎"</string>
     <string name="bearer" msgid="3231443241639159358">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎Bearer‎‏‎‎‏‎"</string>
+    <string name="network_type" msgid="748590707422733595">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎Network type‎‏‎‎‏‎"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎Unspecified‎‏‎‎‏‎"</string>
     <string name="mvno_type" msgid="4734654257494971247">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‎MVNO type‎‏‎‎‏‎"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎MVNO value‎‏‎‎‏‎"</string>
     <string name="menu_delete" msgid="9199740901584348273">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎Delete APN‎‏‎‎‏‎"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎Save‎‏‎‎‏‎"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‎Cancel‎‏‎‎‏‎"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎Duplicate apn entry.‎‏‎‎‏‎"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎The Name field can’t be empty.‎‏‎‎‏‎"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎The APN can’t be empty.‎‏‎‎‏‎"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎MCC field must be 3 digits.‎‏‎‎‏‎"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎MNC field must be 2 or 3 digits.‎‏‎‎‏‎"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎Carrier does not allow adding APNs of type %s.‎‏‎‎‏‎"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎MMSC field must be valid.‎‏‎‎‏‎"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‎‎‎‏‎Restoring default APN settings.‎‏‎‎‏‎"</string>
     <string name="menu_restore" msgid="4310539620115151551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎Reset to default‎‏‎‎‏‎"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎Reset default APN settings completed.‎‏‎‎‏‎"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‎Reset‎‏‎‎‏‎"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎Bluetooth &amp; Wi‑Fi have been reset‎‏‎‎‏‎"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎Erase eSIMs‎‏‎‎‏‎"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎This won’t cancel any mobile service plans. To download replacement SIMs, contact your carrier.‎‏‎‎‏‎"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‎‏‏‏‏‎This won’t cancel your mobile service plan. To get a replacement SIM, contact your carrier.‎‏‎‎‏‎"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎Reset settings‎‏‎‎‏‎"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‏‎Reset all network settings? You can’t undo this action.‎‏‎‎‏‎"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‎Reset all network settings and erase eSIMs? You can’t undo this action.‎‏‎‎‏‎"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‎Reset?‎‏‎‎‏‎"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‏‎‏‎‏‎Network reset is not available for this user‎‏‎‎‏‎"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎Network settings have been reset‎‏‎‎‏‎"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎Can’t erase SIMs‎‏‎‎‏‎"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‎‎‏‎‎eSIMs can’t be erased due to an error.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‏‎Can’t erase eSIMs‎‏‎‎‏‎"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‎‎Something went wrong and your eSIMs weren’t erased.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
     <string name="main_clear_title" msgid="277664302144837723">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎Erase all data (factory reset)‎‏‎‎‏‎"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎Erase all data (factory reset)‎‏‎‎‏‎"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Music‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Photos‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎Other user data‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‎"<li>"‎‏‎‎‏‏‏‎eSIMs‎‏‎‎‏‏‎"</li>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎This will not cancel your mobile service plan.‎‏‎‎‏‎"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎All of your personal information and downloaded apps will be deleted. You can’t undo this action.‎‏‎‎‏‎"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎All of your personal information, including downloaded apps &amp; SIMs, will be deleted. You can’t undo this action.‎‏‎‎‏‎"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎All of your personal information, including downloaded apps &amp; eSIMs, will be deleted. You can’t undo this action.‎‏‎‎‏‎"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎Erase all data?‎‏‎‎‏‎"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎Factory reset is not available for this user‎‏‎‎‏‎"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‎Erasing‎‏‎‎‏‎"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‎Hotspot, USB, Bluetooth, Ethernet‎‏‎‎‏‎"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‏‎‎‎‎‎‎Not sharing internet with other devices‎‏‎‎‏‎"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‎‎‎‏‏‎‎Off‎‏‎‎‏‎"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‏‎‎Tethering‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎Don’t use Wi‑Fi hotspot‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎Only share internet via USB‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎Only share internet via Bluetooth‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‎‎‏‏‏‏‎‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎Only share internet via Ethernet‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎Only share internet via USB and Bluetooth‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‎‎‎Only share internet via USB and Ethernet‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎Only share internet via Bluetooth and Ethernet‎‏‎‎‏‎"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎Only share internet via USB, Bluetooth and Ethernet‎‏‎‎‏‎"</string>
-    <string name="usb_title" msgid="1157283449840612901">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎USB‎‏‎‎‏‎"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎USB tethering‎‏‎‎‏‎"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‎‏‎‏‎‎‏‎Bluetooth tethering‎‏‎‎‏‎"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎Ethernet tethering‎‏‎‎‏‎"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‎Use hotspot and tethering to provide internet to other devices through your Wi‑Fi or mobile data connection. Apps can also create a hotspot to share content with nearby devices.‎‏‎‎‏‎"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‎Help‎‏‎‎‏‎"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‎‎Mobile network‎‏‎‎‏‎"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‎Mobile plan‎‏‎‎‏‎"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‎‏‎SMS app‎‏‎‎‏‎"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎Change SMS app?‎‏‎‎‏‎"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‎Use ‎‏‎‎‏‏‎<xliff:g id="NEW_APP">%1$s</xliff:g>‎‏‎‎‏‏‏‎ instead of ‎‏‎‎‏‏‎<xliff:g id="CURRENT_APP">%2$s</xliff:g>‎‏‎‎‏‏‏‎ as your SMS app?‎‏‎‎‏‎"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‎Change Wi‑Fi assistant?‎‏‎‎‏‎"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎Use ‎‏‎‎‏‏‎<xliff:g id="NEW_APP">%1$s</xliff:g>‎‏‎‎‏‏‏‎ instead of ‎‏‎‎‏‏‎<xliff:g id="CURRENT_APP">%2$s</xliff:g>‎‏‎‎‏‏‏‎ to manage your network connections?‎‏‎‎‏‎"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎Use ‎‏‎‎‏‏‎<xliff:g id="NEW_APP">%s</xliff:g>‎‏‎‎‏‏‏‎ to manage your network connections?‎‏‎‎‏‎"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎Unknown SIM operator‎‏‎‎‏‎"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="OPERATOR">%1$s</xliff:g>‎‏‎‎‏‏‏‎ has no known provisioning website‎‏‎‎‏‎"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎Please insert SIM card and restart‎‏‎‎‏‎"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‎‎‎Please connect to the internet‎‏‎‎‏‎"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‎Recent location requests‎‏‎‎‏‎"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‎‎‏‎‎Location for work profile‎‏‎‎‏‎"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎App location permissions‎‏‎‎‏‎"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎Clear access‎‏‎‎‏‎"</string>
     <string name="controls_label" msgid="8671492254263626383">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎Controls‎‏‎‎‏‎"</string>
     <string name="force_stop" msgid="2681771622136916280">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎‎Force stop‎‏‎‎‏‎"</string>
+    <string name="archive" msgid="9074663845068632127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎Archive‎‏‎‎‏‎"</string>
+    <string name="restore" msgid="7622486640713967157">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎Restore‎‏‎‎‏‎"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎Restoring‎‏‎‎‏‎"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎Restoring.‎‏‎‎‏‎"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‏‏‎Restoring..‎‏‎‎‏‎"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‎Restoring...‎‏‎‎‏‎"</string>
     <string name="total_size_label" msgid="2052185048749658866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎Total‎‏‎‎‏‎"</string>
     <string name="application_size_label" msgid="6407051020651716729">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‎‏‎App size‎‏‎‎‏‎"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎USB storage app‎‏‎‎‏‎"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‎‎‏‎Couldn’t compute package size.‎‏‎‎‏‎"</string>
     <string name="version_text" msgid="7628938665256107608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎version ‎‏‎‎‏‏‎<xliff:g id="VERSION_NUM">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="move_app" msgid="5421158479447276791">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎Move‎‏‎‎‏‎"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎Archiving failed‎‏‎‎‏‎"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎Archived ‎‏‎‎‏‏‎<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‎Restoring failed‎‏‎‎‏‎"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎Restoring ‎‏‎‎‏‏‎<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎Another migration is already in progress.‎‏‎‎‏‎"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎Not enough storage space.‎‏‎‎‏‎"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎App doesn’t exist.‎‏‎‎‏‎"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎Available On-screen keyboard‎‏‎‎‏‎"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎Manage on-screen keyboards‎‏‎‎‏‎"</string>
     <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="6922850403920596246">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎Enable Bounce keys for physical keyboard accessibility‎‏‎‎‏‎"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‏‎‏‎Slow keys‎‏‎‎‏‎"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎Enable Slow keys for physical keyboard accessibility‎‏‎‎‏‎"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‎Sticky keys‎‏‎‎‏‎"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‎Enable Sticky keys for physical keyboard accessibility‎‏‎‎‏‎"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎‎Tap the bottom right corner of the touchpad for more options‎‏‎‎‏‎"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎Pointer speed‎‏‎‎‏‎"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎Learn touchpad gestures‎‏‎‎‏‎"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‏‏‎‏‎Go home‎‏‎‎‏‎"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎Swipe up with three fingers anywhere on your touchpad‎‏‎‎‏‎"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎Go back‎‏‎‎‏‎"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‎‏‎Sort by usage time‎‏‎‎‏‎"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎Sort by last time used‎‏‎‎‏‎"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎Sort by app name‎‏‎‎‏‎"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎Last time used‎‏‎‎‏‎"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎Last used‎‏‎‎‏‎"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎never‎‏‎‎‏‎"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎Usage time‎‏‎‎‏‎"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎Accessibility‎‏‎‎‏‎"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎Accessibility settings‎‏‎‎‏‎"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‏‎Magnify with triple-tap‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎Magnify with shortcut‎‏‎‎‏‎"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎Magnify with shortcut &amp; triple-tap‎‏‎‎‏‎"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎About ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎Use accessibility button to open‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‎Hold volume keys to open‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‎‎‎Triple tap screen to open‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‏‎‎Two finger double tap screen to open‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎Use gesture to open‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‏‎Use accessibility gesture‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎To use this feature, tap the accessibility button ‎‏‎‎‏‏‎<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>‎‏‎‎‏‏‏‎ on the bottom of your screen.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To switch between features, touch &amp; hold the accessibility button.‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎To use this feature, tap the accessibility button on your screen.‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎To use this feature, press &amp; hold both volume keys.‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎To start and stop magnification, triple-tap anywhere on your screen.‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎To start and stop magnification, double-tap anywhere on your screen with two fingers.‎‏‎‎‏‎"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‎‏‏‎‎‏‏‎‎To use this feature, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‏‎To use this feature, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎To use an accessibility feature, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‎To use an accessibility feature, 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_tutorial_dialog_button" msgid="2031773187678948436">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎Got it‎‏‎‎‏‎"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎Accessibility button settings‎‏‎‎‏‎"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‎Button settings‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ shortcut‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‏‏‎‏‎Accessibility button‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎Accessibility gesture‎‏‎‎‏‎"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‎‎Hold volume keys‎‏‎‎‏‎"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎hold 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎two-finger double-tap screen‎‏‎‎‏‎"</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="6863958573135995927">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎triple-tap screen‎‏‎‎‏‎"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‎Learn more about accessibility button &amp; gesture‎‏‎‎‏‎"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎Using the accessibility button. The gesture isn’t available with 3-button navigation.‎‏‎‎‏‎"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‏‎‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎Quickly access accessibility features‎‏‎‎‏‎"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To get started‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎1. Go to accessibility settings‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎2. Select a feature and tap the shortcut‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎3. Choose whether you want to use a button or gesture to access the feature‎‏‎‎‏‎"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‏‎‎‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎"<b>"‎‏‎‎‏‏‏‎To get started‎‏‎‎‏‏‎"</b>"‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎1. Go to accessibility settings‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎2. Select a feature and tap the shortcut‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎3. Choose the button to access the feature‎‏‎‎‏‎"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose whether you want to use a button or gesture to access the feature&lt;br/&gt;‎‏‎‎‏‎"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‏‏‎‏‏‏‏‎&lt;b&gt;To get started&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Go to accessibility settings&lt;br/&gt; {1,number,integer}. Select a feature and tap the shortcut&lt;br/&gt; {2,number,integer}. Choose the button to access the feature&lt;br/&gt;‎‏‎‎‏‎"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎Use button or gesture‎‏‎‎‏‎"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‎Location‎‏‎‎‏‎"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎Size‎‏‎‎‏‎"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎Power button ends call‎‏‎‎‏‎"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‎Large mouse pointer‎‏‎‎‏‎"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎Make the mouse pointer more noticeable‎‏‎‎‏‎"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‏‎Make all apps dark‎‏‎‎‏‎"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎Applies to apps without their own dark theme. Some apps may have display issues, like inverted colors.‎‏‎‎‏‎"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎‏‎‎Remove animations‎‏‎‎‏‎"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‎Reduce movement on the screen‎‏‎‎‏‎"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎Mono audio‎‏‎‎‏‎"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎Use vibration &amp; haptics‎‏‎‎‏‎"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‏‏‏‏‎‎‏‎Alarm vibration‎‏‎‎‏‎"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎Media vibration‎‏‎‎‏‎"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‎‏‎Keyboard vibration‎‏‎‎‏‎"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎Ring vibration‎‏‎‎‏‎"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎Notification vibration‎‏‎‎‏‎"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎Touch feedback‎‏‎‎‏‎"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎Stop‎‏‎‎‏‎"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎Cancel‎‏‎‎‏‎"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎Stop ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎Tapping ‎‏‎‎‏‏‎<xliff:g id="STOP">%1$s</xliff:g>‎‏‎‎‏‏‏‎ will stop ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%2$s</xliff:g>‎‏‎‎‏‏‏‎.‎‏‎‎‏‎"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎Turn off‎‏‎‎‏‎"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‎‎Keep on‎‏‎‎‏‎"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‎‎‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎Turn off ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‏‎No services installed‎‏‎‎‏‎"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎No service selected‎‏‎‎‏‎"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎No description provided.‎‏‎‎‏‎"</string>
     <string name="settings_button" msgid="2195468788019730377">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‏‎Settings‎‏‎‎‏‎"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‎light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point‎‏‎‎‏‎"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‏‏‎Ease of use, ease of access, assistance, assistive‎‏‎‎‏‎"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help‎‏‎‎‏‎"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‏‏‎‎Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger‎‏‎‎‏‎"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle‎‏‎‎‏‎"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‏‎color contrast‎‏‎‎‏‎"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‏‎motor, mouse‎‏‎‎‏‎"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors‎‏‎‎‏‎"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick‎‏‎‎‏‎"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP‎‏‎‎‏‎"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎hard of hearing, hearing loss, captions, Teletype, tty‎‏‎‎‏‎"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎three buttons‎‏‎‎‏‎"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‎dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand‎‏‎‎‏‎"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎delay, dexterity, senior‎‏‎‎‏‎"</string>
     <string name="print_settings" msgid="8519810615863882491">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‎Printing‎‏‎‎‏‎"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎1 print service on‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎# print services on‎‏‎‎‏‎}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="LEVEL">%1$s</xliff:g>‎‏‎‎‏‏‏‎ - ‎‏‎‎‏‏‎<xliff:g id="STATUS">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‏‎‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="REMAIN">%1$s</xliff:g>‎‏‎‎‏‏‏‎ remaining‎‏‎‎‏‎"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>‎‏‎‎‏‏‏‎ to charge‎‏‎‎‏‎"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎Screen time‎‏‎‎‏‎"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‏‏‎Background time‎‏‎‎‏‎"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‏‎Low battery‎‏‎‎‏‎"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎Allow the app to run in the background‎‏‎‎‏‎"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎Limit background activity?‎‏‎‎‏‎"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎If you limit background activity for an app, it may misbehave‎‏‎‎‏‎"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‏‏‏‏‎‎Since this app is not set to optimize battery, you can’t restrict it.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To restrict the app, first turn on battery optimization.‎‏‎‎‏‎"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‎Manage battery usage‎‏‎‎‏‎"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‎‎Allow background usage‎‏‎‎‏‎"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‎Enable for real-time updates, disable to save battery‎‏‎‎‏‎"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‎‎Unrestricted‎‏‎‎‏‎"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‎Optimized‎‏‎‎‏‎"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎Restricted‎‏‎‎‏‎"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎See apps with highest usage‎‏‎‎‏‎"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎Charging optimized to protect your battery‎‏‎‎‏‎"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‎To help extend your battery\'s lifespan, charging is optimized‎‏‎‎‏‎"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‎Charging optimized to protect your battery‎‏‎‎‏‎"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎To help extend your battery\'s lifespan, charging is optimized while docked‎‏‎‎‏‎"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎Charging optimized to protect your battery‎‏‎‎‏‎"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‎‏‏‎To help extend your battery\'s lifespan, charging is optimized while docked‎‏‎‎‏‎"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‎‏‎Charging to full‎‏‎‎‏‎"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‏‎To protect your battery, charging will be optimized the next time your tablet is docked‎‏‎‎‏‎"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎Learn more about charging is paused‎‏‎‎‏‎"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎Resume charging‎‏‎‎‏‎"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎Includes high-power background activity‎‏‎‎‏‎"</string>
@@ -2252,8 +2436,8 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‏‎This app will be able to use battery in the background. Your battery may run out sooner than expected.‎‏‎‎‏‎"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‎‎Remove‎‏‎‎‏‎"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎‎‏‏‎Cancel‎‏‎‎‏‎"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‎‏‎Charge to full‎‏‎‎‏‎"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‎‏‎‎‎Issue with charging accessory‎‏‎‎‏‎"</string>
+    <string name="battery_tip_charge_to_full_button" msgid="9172893341338732733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‎Override‎‏‎‎‏‎"</string>
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎Check charging accessory‎‏‎‎‏‎"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‎‏‎Learn more about incompatible charging‎‏‎‎‏‎"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‎Battery Manager‎‏‎‎‏‎"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‎‎Manage apps automatically‎‏‎‎‏‎"</string>
@@ -2293,6 +2477,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎since last full charge‎‏‎‎‏‎"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‎System apps‎‏‎‎‏‎"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎Uninstalled apps‎‏‎‎‏‎"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎Others‎‏‎‎‏‎"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎Estimated time left‎‏‎‎‏‎"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎Until fully charged‎‏‎‎‏‎"</string>
@@ -2336,6 +2521,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎Total: less than a min‎‏‎‎‏‎"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‏‎‏‎Background: less than a min‎‏‎‎‏‎"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎Screen time: less than a min‎‏‎‎‏‎"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎‎‎‎‎Less than a min‎‏‎‎‏‎"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎Total: ‎‏‎‎‏‏‎<xliff:g id="TIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎Background: ‎‏‎‎‏‏‎<xliff:g id="TIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎Screen time: ‎‏‎‎‏‏‎<xliff:g id="TIME">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
@@ -2343,9 +2529,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‏‎now‎‏‎‎‏‎"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>‎‏‎‎‏‏‏‎ - ‎‏‎‎‏‏‎<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="DAY">%1$s</xliff:g>‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎<xliff:g id="HOUR">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="TIME_INFO">%1$s</xliff:g>‎‏‎‎‏‏‏‎ ‎‏‎‎‏‏‎<xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎Battery usage chart‎‏‎‎‏‎"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎Daily battery usage chart‎‏‎‎‏‎"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎Hourly battery usage chart‎‏‎‎‏‎"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‎‎Battery level percentage from ‎‏‎‎‏‏‎<xliff:g id="START_PERCENTAGE">%1$s</xliff:g>‎‏‎‎‏‏‏‎ to ‎‏‎‎‏‏‎<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‏‎‎Battery usage since last full charge‎‏‎‎‏‎"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎Battery usage for ‎‏‎‎‏‏‎<xliff:g id="SLOT">%s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎Screen time since last full charge‎‏‎‎‏‎"</string>
@@ -2461,8 +2649,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎Emergency dialing signal‎‏‎‎‏‎"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎Set behavior when an emergency call is placed‎‏‎‎‏‎"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‎‏‎Backup‎‏‎‎‏‎"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎On‎‏‎‎‏‎"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎Off‎‏‎‎‏‎"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‎Backup &amp; restore‎‏‎‎‏‎"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎‏‎‎Personal data‎‏‎‎‏‎"</string>
     <string name="backup_data_title" msgid="507663517227498525">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‎Back up my data‎‏‎‎‏‎"</string>
@@ -2551,6 +2737,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎Mobile data &amp; Wi‑Fi‎‏‎‎‏‎"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‏‎Auto-sync personal data‎‏‎‎‏‎"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎Auto-sync work data‎‏‎‎‏‎"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎Auto-sync private data‎‏‎‎‏‎"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‏‏‎Change cycle…‎‏‎‎‏‎"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎Day of month to reset data usage cycle:‎‏‎‎‏‎"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‎‎No apps used data during this period.‎‏‎‎‏‎"</string>
@@ -2600,27 +2787,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎Name‎‏‎‎‏‎"</string>
     <string name="vpn_type" msgid="5533202873260826663">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎Type‎‏‎‎‏‎"</string>
     <string name="vpn_server" msgid="2908816134941973935">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎Server address‎‏‎‎‏‎"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎PPP encryption (MPPE)‎‏‎‎‏‎"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎L2TP secret‎‏‎‎‏‎"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‎‎‏‎IPSec identifier‎‏‎‎‏‎"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎IPSec pre-shared key‎‏‎‎‏‎"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎IPSec user certificate‎‏‎‎‏‎"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‏‏‎IPSec CA certificate‎‏‎‎‏‎"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‎‎‎IPSec server certificate‎‏‎‎‏‎"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎Show advanced options‎‏‎‎‏‎"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‏‎‎‎‎DNS search domains‎‏‎‎‏‎"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‎‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎DNS servers (e.g. 8.8.8.8)‎‏‎‎‏‎"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎Forwarding routes (e.g. 10.0.0.0/8)‎‏‎‎‏‎"</string>
     <string name="vpn_username" msgid="8671768183475960068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎‎‎‎‏‎‎‎Username‎‏‎‎‏‎"</string>
     <string name="vpn_password" msgid="1183746907642628127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎Password‎‏‎‎‏‎"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‎‎‏‎‎‏‏‎‏‎‏‎‎Save account information‎‏‎‎‏‎"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‏‎‎‏‏‎‏‎‎(not used)‎‏‎‎‏‎"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎(don’t verify server)‎‏‎‎‏‎"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‏‏‎(received from server)‎‏‎‎‏‎"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‎‎‎‎‏‏‎‎‎This VPN type can\'t stay connected at all times‎‏‎‎‏‎"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‏‎‏‎‏‎‏‎Always-on VPN only supports numeric server addresses‎‏‎‎‏‎"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎A DNS server must be specified for always-on VPN‎‏‎‎‏‎"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎DNS server addresses must be numeric for always-on VPN‎‏‎‎‏‎"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎The information entered doesn\'t support always-on VPN‎‏‎‎‏‎"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎Cancel‎‏‎‎‏‎"</string>
     <string name="vpn_done" msgid="5137858784289564985">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‏‎Dismiss‎‏‎‎‏‎"</string>
@@ -2656,6 +2834,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‏‏‎‎‎‏‏‎‎Block connections without VPN‎‏‎‎‏‎"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎Require VPN connection?‎‏‎‎‏‎"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‏‎‎‏‎‎‎Not secure. Update to an IKEv2 VPN‎‏‎‎‏‎"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‎Failed to start unsupported VPN.‎‏‎‎‏‎"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN.‎‏‎‎‏‎"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎None‎‏‎‎‏‎"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎Always-on VPN requires an IP address for both server and DNS.‎‏‎‎‏‎"</string>
@@ -2790,11 +2969,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‏‏‏‏‎AMBER alerts‎‏‎‎‏‎"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‏‎‏‎‏‏‎Receive bulletins about child abductions‎‏‎‎‏‎"</string>
     <string name="repeat_title" msgid="8676570486899483606">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‏‎‎Repeat‎‏‎‎‏‎"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‎‏‎‏‏‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎Enable Call Manager‎‏‎‎‏‎"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎Allow this service to manage how your calls are made.‎‏‎‎‏‎"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‎‎Call Manager‎‏‎‎‏‎"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‏‏‏‏‏‎Wireless emergency alerts‎‏‎‎‏‎"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‏‎‏‎‎Network operators‎‏‎‎‏‎"</string>
     <string name="access_point_names" msgid="5768430498022188057">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‎Access point names‎‏‎‎‏‎"</string>
@@ -2856,7 +3030,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‎SIM status‎‏‎‎‏‎"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎SIM status (sim slot %1$d)‎‏‎‎‏‎"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="DBM">%1$d</xliff:g>‎‏‎‎‏‏‏‎ dBm ‎‏‎‎‏‏‎<xliff:g id="ASU">%2$d</xliff:g>‎‏‎‎‏‏‏‎ asu‎‏‎‎‏‎"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎SIMs changed.‎‏‎‎‏‎"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎Your SIMs changed‎‏‎‎‏‎"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎Tap to set up‎‏‎‎‏‎"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎Ask every time‎‏‎‎‏‎"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‎Selection required‎‏‎‎‏‎"</string>
@@ -2880,7 +3054,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‎‎Recent apps, default apps‎‏‎‎‏‎"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‎Notification access is not available for apps in the work profile.‎‏‎‎‏‎"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‏‎‏‏‎‏‏‎‏‎‎Passwords &amp; accounts‎‏‎‎‏‎"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‎‎‎‎‎Saved passwords, autofill, synced accounts‎‏‎‎‏‎"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‎Suggestions for sign-in &amp; autofill‎‏‎‎‏‎"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‎‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎Default apps‎‏‎‎‏‎"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎Cloned Apps‎‏‎‎‏‎"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‎‎Create a second instance of an app so that you can use two accounts at the same time.‎‏‎‎‏‎"</string>
@@ -2948,7 +3122,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‏‎‏‏‎‎‎wallet‎‏‎‎‏‎"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‏‎‏‏‎pay, tap, payments‎‏‎‎‏‎"</string>
     <string name="keywords_backup" msgid="707735920706667685">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‎‏‎‏‎backup, back up‎‏‎‎‏‎"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‎gesture‎‏‎‎‏‎"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‎‎face, unlock, auth, sign in‎‏‎‎‏‎"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‎‎face, unlock, auth, sign in, fingerprint, biometric‎‏‎‎‏‎"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‏‎‎imei, meid, min, prl version, imei sv‎‏‎‎‏‎"</string>
@@ -2999,6 +3172,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎text size, large print, large font, large text, low vision, make text bigger, font enlarger, font enlargement‎‏‎‎‏‎"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎always on ambient display, AOD‎‏‎‎‏‎"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎nfc, tag, reader‎‏‎‎‏‎"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‎keyboard, haptics, vibrate,‎‏‎‎‏‎"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‎‎‎‎Volume, vibration, Do Not Disturb‎‏‎‎‏‎"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‏‏‏‎‎Media volume‎‏‎‎‏‎"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎Cast volume‎‏‎‎‏‎"</string>
@@ -3034,9 +3208,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎Power on sounds‎‏‎‎‏‎"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‏‎Live Caption‎‏‎‎‏‎"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎Automatically caption media‎‏‎‎‏‎"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎Phone speakers‎‏‎‎‏‎"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎Tablet speakers‎‏‎‎‏‎"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‏‎‏‎Device speakers‎‏‎‎‏‎"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‎Wired headphones‎‏‎‎‏‎"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎Audio from compatible media becomes more immersive‎‏‎‎‏‎"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎Off‎‏‎‎‏‎"</string>
@@ -3221,7 +3392,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎‎‎Show all notification content‎‏‎‎‏‎"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‎‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‏‎Show sensitive content only when unlocked‎‏‎‎‏‎"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎Don’t show notifications at all‎‏‎‎‏‎"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‎‏‏‏‎How do you want the lock screen to display?‎‏‎‎‏‎"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎What do you want your lock screen to show?‎‏‎‎‏‎"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎‏‏‎Lock screen‎‏‎‎‏‎"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‎Show all work notification content‎‏‎‎‏‎"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‎Hide sensitive work content‎‏‎‎‏‎"</string>
@@ -3250,6 +3421,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎Recent conversations removed‎‏‎‎‏‎"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‎Conversation removed‎‏‎‎‏‎"</string>
     <string name="clear" msgid="5092178335409471100">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‎Clear‎‏‎‎‏‎"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‏‏‎‎‎‎Clear ‎‏‎‎‏‏‎<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎Priority and modified conversations will appear here‎‏‎‎‏‎"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎Once you mark a conversation as priority, or make any other changes to conversations, they will appear here. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To change conversation settings: ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Swipe down from the top of the screen to open the pull-down shade, then touch &amp; hold a conversation.‎‏‎‎‏‎"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‎‏‎Minimize‎‏‎‎‏‎"</string>
@@ -3308,6 +3480,17 @@
     <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="6121016426991791557">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‏‎Notification cooldown‎‏‎‎‏‎"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‎Apply cooldown to all notifications‎‏‎‎‏‎"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‎‎‎‏‎‏‎‎‎‏‏‎‏‎‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‎Gradually lower the notification volume when you get many successive notifications from the same app‎‏‎‎‏‎"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‏‎‏‏‎‏‎Apply cooldown to conversations‎‏‎‎‏‎"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‎‏‏‏‎‏‎‎Gradually lower the notification volume when you get many messages from the same chat within a short period of time‎‏‎‎‏‎"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎Don\'t use notification cooldown‎‏‎‎‏‎"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‎‎‎Never lower notification volume, regardless of the amount of successive notifications from the same app‎‏‎‎‏‎"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎Vibrate when unlocked‎‏‎‎‏‎"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‏‎‏‏‎Only vibrate when screen is unlocked‎‏‎‎‏‎"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‏‏‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‏‎Apply to work profiles‎‏‎‎‏‎"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎Apply the notification cooldown settings from your personal profile to your work profile‎‏‎‎‏‎"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‎VR helper services‎‏‎‎‏‎"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎No installed apps have requested to be run as VR helper services.‎‏‎‎‏‎"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‎‏‎Allow VR service access for ‎‏‎‎‏‏‎<xliff:g id="SERVICE">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
@@ -3502,14 +3685,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‎‎‎‏‏‎Off‎‏‎‎‏‎"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‎‎‏‎‏‎‏‎‎‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‏‎‎‎‏‏‎‎App pinning‎‏‎‎‏‎"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‏‎App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game.‎‏‎‎‏‎"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎When an app is pinned, the pinned app may open other apps and personal data may be accessible. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To use app pinning: 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎1. Turn on app pinning 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎2. Open Overview 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎3. Tap the app icon at the top of the screen, then tap Pin‎‏‎‎‏‎"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‎‏‏‎‏‏‎When an app is pinned, the pinned app may open other apps and personal data may be accessible. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎If you want to securely share your device with someone, try using a guest user instead. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To use app pinning: 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎1. Turn on app pinning 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎2. Open Overview 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎3. Tap the app icon at the top of the screen, then tap Pin‎‏‎‎‏‎"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‎‎When an app is pinned, the pinned app may open other apps and personal data may be accessible. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To use app pinning: 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎{0,number,integer}. Turn on app pinning 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎{1,number,integer}. Open Overview 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin‎‏‎‎‏‎"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎When an app is pinned, the pinned app may open other apps and personal data may be accessible. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎If you want to securely share your device with someone, try using a guest user instead. ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎To use app pinning: 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎{0,number,integer}. Turn on app pinning 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎{1,number,integer}. Open Overview 	‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin‎‏‎‎‏‎"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‏‎‏‏‏‎‎When app is pinned: ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎•		Personal data may be accessible ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎		(such as contacts and email content) ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎•		Pinned app may open other apps ‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Only use app pinning with people you trust.‎‏‎‎‏‎"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎Ask for unlock pattern before unpinning‎‏‎‎‏‎"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‏‎‎‏‏‏‏‏‏‎Ask for PIN before unpinning‎‏‎‎‏‎"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‎Ask for password before unpinning‎‏‎‎‏‎"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‏‏‎‎‎Lock device when unpinning‎‏‎‎‏‎"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎Confirm SIM deletion‎‏‎‎‏‎"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‏‎‏‎Confirm you want to erase your eSIM‎‏‎‎‏‎"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎Verify it\'s you before erasing an eSIM‎‏‎‎‏‎"</string>
     <string name="memtag_title" msgid="5096176296797727201">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎Advanced memory protection beta‎‏‎‎‏‎"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎Advanced memory protection‎‏‎‎‏‎"</string>
@@ -3569,6 +3752,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‎Unused app settings‎‏‎‎‏‎"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‏‏‎‎‎Pause app activity if unused‎‏‎‎‏‎"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‎‎‏‎‎Remove permissions, delete temporary files, and stop notifications‎‏‎‎‏‎"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‏‎‏‎Manage app if unused‎‏‎‎‏‎"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎Remove permissions, delete temporary files, stop notifications, and archive the app‎‏‎‎‏‎"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‏‎‏‏‎All apps‎‏‎‎‏‎"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‎Installed apps‎‏‎‎‏‎"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‎Instant apps‎‏‎‎‏‎"</string>
@@ -3677,6 +3862,9 @@
     <string name="free_memory" msgid="439783742246854785">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎Free‎‏‎‎‏‎"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‏‎‏‏‎‏‎‎‏‏‎Memory used by apps‎‏‎‎‏‎"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎1 app used memory in the last ‎‏‎‎‏‏‎{time}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎# apps used memory in the last ‎‏‎‎‏‏‎{time}‎‏‎‎‏‏‏‎‎‏‎‎‏‎}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‏‏‏‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‏‎Enable memory usage profiling‎‏‎‎‏‎"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‎‎‎‎‎Memory usage profiling requires additional system resources.‎‏‎‎‏‎"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‎‎Memory profiling disabled‎‏‎‎‏‎"</string>
     <string name="running_frequency" msgid="7260225121706316639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‏‎Frequency‎‏‎‎‏‎"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‎‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‏‏‎Maximum usage‎‏‎‎‏‎"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎No data used‎‏‎‎‏‎"</string>
@@ -3695,10 +3883,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‎Display over other apps‎‏‎‎‏‎"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‏‎‏‏‎Allow display over other apps‎‏‎‎‏‎"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‎‏‎‎Allow this app to display on top of other apps you’re using. This app will be able to see where you tap or change what’s displayed on the screen.‎‏‎‎‏‎"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎Change media output‎‏‎‎‏‎"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‎Allow app to switch media output‎‏‎‎‏‎"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‎‎‎‎‏‏‎‏‏‎‏‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‏‎‎‎‎‏‏‏‎Allow this app to choose which connected device plays audio or video from other apps. If allowed, this app can access a list of available devices such as headphones and speakers and choose which output device is used to stream or cast audio or video.‎‏‎‎‏‎"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎All files access‎‏‎‎‏‎"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‏‎‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‏‎Allow access to manage all files‎‏‎‎‏‎"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‎‏‎Allow this app to read, modify and delete all files on this device or any connected storage volumes. If granted, app may access files without your explicit knowledge.‎‏‎‎‏‎"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‎‎Can access all files‎‏‎‎‏‎"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‎‎‏‎‎‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎Voice activation apps‎‏‎‎‏‎"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‎Allow voice activation‎‏‎‎‏‎"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‏‎‏‎‎‎‏‏‎‏‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎Voice activation turns-on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎"<a href="">"‎‏‎‎‏‏‏‎More about protected adaptive sensing‎‏‎‎‏‏‎"</a>"‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‏‎‎Full screen notifications‎‏‎‎‏‎"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎Allow full screen notifications from this app‎‏‎‎‏‎"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎Allow this app to show notifications that take up the full screen when the device is locked. Apps may use these to highlight alarms, incoming calls, or other urgent notifications.‎‏‎‎‏‎"</string>
@@ -3807,7 +4001,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ data warning‎‏‎‎‏‎"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‎‎‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ data limit‎‏‎‎‏‎"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ data warning / ‎‏‎‎‏‏‎<xliff:g id="ID_2">^2</xliff:g>‎‏‎‎‏‏‏‎ data limit‎‏‎‎‏‎"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‎Carrier data accounting may differ from device accounting‎‏‎‎‏‎"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‎‏‎‎‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‎‎‏‎Excludes data used by carrier networks‎‏‎‎‏‎"</string>
     <string name="data_used_template" msgid="8229342096562327646">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎ used‎‏‎‎‏‎"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎‎‏‏‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‏‏‎‎Set data warning‎‏‎‎‏‎"</string>
@@ -3833,7 +4026,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‎‎Updated ‎‏‎‎‏‏‎<xliff:g id="ID_1">^2</xliff:g>‎‏‎‎‏‏‏‎ ago‎‏‎‎‏‎"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎Updated by ‎‏‎‎‏‏‎<xliff:g id="ID_1">^1</xliff:g>‎‏‎‎‏‏‏‎ just now‎‏‎‎‏‎"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‎‎‎Updated just now‎‏‎‎‏‎"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎View plan‎‏‎‎‏‎"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‎‎View details‎‏‎‎‏‎"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‎Data Saver‎‏‎‎‏‎"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‏‏‏‎Unrestricted data‎‏‎‎‏‎"</string>
@@ -3864,6 +4056,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎<xliff:g id="APP_LABEL">%1$s</xliff:g>‎‏‎‎‏‏‏‎ used more battery than usual while in the background‎‏‎‎‏‎"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‏‏‎<xliff:g id="APP_LABEL">%1$s</xliff:g>‎‏‎‎‏‏‏‎ used more battery while in the foreground‎‏‎‎‏‎"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‏‏‎‏‏‎‏‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="APP_LABEL">%1$s</xliff:g>‎‏‎‎‏‏‏‎ used more battery than usual while in the foreground‎‏‎‎‏‎"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‎‎Battery usage anomaly‎‏‎‎‏‎"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‎‎High battery usage‎‏‎‎‏‎"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‎High battery usage in the background‎‏‎‎‏‎"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎High battery usage in the foreground‎‏‎‎‏‎"</string>
@@ -3932,7 +4125,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‏‎‏‏‏‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎Quick settings developer tiles‎‏‎‎‏‎"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‎‎Disable adb authorization timeout‎‏‎‎‏‎"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‎‏‎‎Disable automatic revocation of adb authorizations for systems that have not reconnected within the default (7 days) or user-configured (minimum 1 day) amount of time.‎‏‎‎‏‎"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‎Winscope Trace‎‏‎‎‏‎"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎Sensors Off‎‏‎‎‏‎"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‏‏‏‎‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎Work profile settings‎‏‎‎‏‎"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎‎‏‎‎‏‎‎‏‎Search for work directory contacts in personal apps‎‏‎‎‏‎"</string>
@@ -3962,7 +4154,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‏‏‎‎system navigation, 2 button navigation, 3 button navigation, gesture navigation, swipe‎‏‎‎‏‎"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‎‎‏‏‎‎‎‎‎Digital assistant‎‏‎‎‏‎"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‎‎Swipe to invoke assistant‎‏‎‎‏‎"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‎Swipe up from a bottom corner to invoke digital assistant app.‎‏‎‎‏‎"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‏‎Swipe up from a bottom corner to invoke digital assistant app‎‏‎‎‏‎"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‏‎‏‎‏‎‎‏‎‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‎‎‎‏‎Hold Home for Assistant‎‏‎‎‏‎"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‎Press and hold the Home button to invoke digital assistant app.‎‏‎‎‏‎"</string>
     <string name="low_label" msgid="6525629096999711220">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎‎‎Low‎‏‎‎‏‎"</string>
@@ -4122,21 +4314,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎Autofill service‎‏‎‎‏‎"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‏‎‏‏‎‎Default autofill service‎‏‎‎‏‎"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‏‎‎‎‏‏‏‏‏‎‎‎‎‎‎‎‏‏‏‎‏‏‏‎‏‏‎Passwords‎‏‎‎‏‎"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‎Passwords, passkeys and data services‎‏‎‎‏‎"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‏‎‏‏‎‏‏‏‏‎Additional providers‎‏‎‎‏‎"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‎Preferred service‎‏‎‎‏‎"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‎‏‏‏‏‏‎‎‎‎‎‏‎‎Additional services‎‏‎‎‏‎"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎# password‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‎‎‏‎‏‎# passwords‎‏‎‎‏‎}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‏‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‎auto, fill, autofill, password‎‏‎‎‏‎"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‏‏‎‏‎‎‎‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‏‎‎data, passkey, password‎‏‎‎‏‎"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎auto, fill, autofill, data, passkey, password‎‏‎‎‏‎"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎Change‎‏‎‎‏‎"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‎‏‎‎Open‎‏‎‎‏‎"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎None selected‎‏‎‎‏‎"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‎&lt;b&gt;Make sure you trust this app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled.‎‏‎‎‏‎"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎‏‎‎‏‎&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; uses what\'s on your screen to determine what can be autofilled. New passwords, passkeys and other info will be saved here from now on.‎‏‎‎‏‎"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‏‎‏‎‎‎‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‎‎Passwords, passkeys and data services‎‏‎‎‏‎"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys, and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled.‎‏‎‎‏‎"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎‎Preferred service for passwords, passkeys &amp; autofill‎‏‎‎‏‎"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‏‎‎‏‎Turn off %1$s?‎‏‎‎‏‎"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎&lt;b&gt;Turn off this service?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Saved info like passwords, passkeys, payment methods, and other info won\'t be filled in when you sign in. To use your saved info, choose a password, passkey, or data service.‎‏‎‎‏‎"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‎Passwords, passkeys &amp; autofill‎‏‎‎‏‎"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‎‏‎‏‎‏‎‏‏‎‏‎‎‎‏‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passwords, passkeys, and other saved info won\'t be available for autofill when you sign in‎‏‎‎‏‎"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‎‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‎‎‎‎‎‏‏‎‏‏‎‏‏‏‏‎‏‏‎&lt;b&gt;Change your preferred service to &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; New passwords, passkeys, and other info will be saved here from now on. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; may use what\'s on your screen to determine what can be autofilled‎‏‎‎‏‎"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‏‎Use %1$s?‎‏‎‎‏‎"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‎‎‏‎‎‏‎Turn off‎‏‎‎‏‎"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‎Change‎‏‎‎‏‎"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‎‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‏‎You can only have 5 services on‎‏‎‎‏‎"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎Turn off at least 1 service to add another‎‏‎‎‏‎"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‎‏‎‎‏‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‎%1$s uses what\'s on your screen to determine what can be autofilled.‎‏‎‎‏‎"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‎‏‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‎‏‏‎‏‏‎‎‎‎‏‎‎‎‏‎Passwords, passkeys and data services limit‎‏‎‎‏‎"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎You can have up to 5 passwords, passkeys and data services active at the same time. Turn off a service to add more.‎‏‎‎‏‎"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎‎‎‎‎‎‎‎Passwords, passkeys, and data services limit‎‏‎‎‏‎"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‏‎‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎You can have up to 5 passwords, passkeys, and data services active at the same time. Turn off a service to add more.‎‏‎‎‏‎"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‏‏‎‏‎‎‎‏‎Turn off‎‏‎‎‏‎"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎Autofill‎‏‎‎‏‎"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‎‎‏‏‎Logging level‎‏‎‎‏‎"</string>
@@ -4193,6 +4395,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‎‎‎App compatibility changes can only be modified for debuggable apps. Install a debuggable app and try again.‎‏‎‎‏‎"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‏‎‎‎‎Depends on another setting‎‏‎‎‏‎"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‎Account‎‏‎‎‏‎"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎‏‎%d accounts‎‏‎‎‏‎"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‏‎Device name‎‏‎‎‏‎"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎Basic info‎‏‎‎‏‎"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‏‏‎Legal &amp; regulatory‎‏‎‎‏‎"</string>
@@ -4206,6 +4409,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‏‏‎‏‏‏‎‎‏‏‎Allow this app to launch when an NFC tag is scanned.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎If this permission is on, the app will be available as an option whenever a tag is detected.‎‏‎‎‏‎"</string>
     <string name="media_output_title" msgid="8283629315159510680">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‎‏‏‏‎‏‎‎‏‏‎‎‎‎Play media to‎‏‎‎‏‎"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‎‎‎‏‎‏‏‎‏‎‎‏‏‎‎‎Play ‎‏‎‎‏‏‎<xliff:g id="LABEL">%s</xliff:g>‎‏‎‎‏‏‏‎ on‎‏‎‎‏‎"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‎Audio will play on‎‏‎‎‏‎"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎This device‎‏‎‎‏‎"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‏‏‎‏‏‎Unavailable during calls‎‏‎‎‏‎"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎Take call on‎‏‎‎‏‎"</string>
@@ -4219,7 +4423,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‏‏‎‏‏‎‏‎‏‎Mute‎‏‎‎‏‎"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎To enable, first change \"Press &amp; hold power button\" to the power menu.‎‏‎‎‏‎"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‎‎Network details‎‏‎‎‏‎"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‏‏‎‎‎‏‏‎‎‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‎Your device name is visible to apps on your phone. 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="devices_title" msgid="649715719278562515">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‎‎‎‎‎‏‏‎‎‏‏‎‏‎‎‏‏‎Devices‎‏‎‎‏‎"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‎Choose network‎‏‎‎‏‎"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‏‎‏‎Disconnected‎‏‎‎‏‎"</string>
@@ -4302,11 +4505,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎Name‎‏‎‎‏‎"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎Color (used by compatible apps)‎‏‎‎‏‎"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‎‎‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎Save‎‏‎‎‏‎"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎‎‏‎‎‎Use SIM‎‏‎‎‏‎"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎Use this SIM‎‏‎‎‏‎"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‎‎‏‏‏‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‏‏‏‏‎Off‎‏‎‎‏‎"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‎‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎To disable this SIM, remove the SIM card‎‏‎‎‏‎"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‎‎Tap to activate ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‏‎‎‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‏‎‎‏‎‎Erase SIM‎‏‎‎‏‎"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‎‎‏‏‏‎To turn off this SIM, remove the SIM card‎‏‎‎‏‎"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‎‏‎‎‏‎Tap to activate your ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎ SIM‎‏‎‎‏‎"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‎‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎Erase eSIM‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‎‎‎‏‏‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‎Preferred network type‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‎‎‎‎‎‏‎‎‏‏‏‏‎‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎Change the network operating mode‎‏‎‎‏‎"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‏‎Preferred network type‎‏‎‎‏‎"</string>
@@ -4325,6 +4528,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‏‏‎‎‏‏‎‏‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‎‏‎Check with your network provider for pricing.‎‏‎‎‏‎"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎App data usage‎‏‎‎‏‎"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎Invalid Network Mode ‎‏‎‎‏‏‎<xliff:g id="NETWORKMODEID">%1$d</xliff:g>‎‏‎‎‏‏‏‎. Ignore.‎‏‎‎‏‎"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‏‎‎‏‎Satellite messaging‎‏‎‎‏‎"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‎‎‏‎‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‏‏‏‎‏‎Send and receive text messages by satellite. Included with your account.‎‏‎‎‏‎"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎Send and receive text messages by satellite. Non included with your account.‎‏‎‎‏‎"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‏‎‎‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎Satellite messaging‎‏‎‎‏‎"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎About satellite messaging‎‏‎‎‏‎"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‎‎‎‏‏‎‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‎‎‏‎You can send and receive text messages by satellite as part of an eligible ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ account‎‏‎‎‏‎"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎Your ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ plan‎‏‎‎‏‎"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‎Satellite messaging is included with your account‎‏‎‎‏‎"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‎‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‎‎‎‎‏‎‎‎‎‎‏‎Satellite messaging isn’t included with your account‎‏‎‎‏‎"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‎‏‏‎‏‎‎‎‎‏‏‎‏‎‏‎‏‎‎‎‎‎Add satellite messaging‎‏‎‎‏‎"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‏‎‎‎‎How it works‎‏‎‎‏‎"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‎‎‎‎‎When you don’t have a mobile network‎‏‎‎‏‎"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‎‎‎‎Your phone will auto-connect to a satellite. For the best connection, keep a clear view of the sky.‎‏‎‎‏‎"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‏‏‏‎‎‏‏‎After your phone connects to a satellite‎‏‎‎‏‎"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‏‎‎‎‏‎‎You can text anyone, including emergency services. Your phone will reconnect to a mobile network when available.‎‏‎‎‏‎"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‎‏‎‎‎‎‏‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎Satellite messaging may take longer and is available only in some areas, Weather and certain structures may affect your satellite connection. Calling by satellite isn’t available.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎It may take some time for changes to your account to show in Settings. Contact ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ for details.‎‏‎‎‏‎"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‎‎‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎More about satellite messaging‎‏‎‎‏‎"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‎‎‎‏‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‏‏‏‏‎‎Access Point Names‎‏‎‎‏‎"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‏‏‎‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎apn‎‏‎‎‏‎"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‏‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‎‎‎‏‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‏‏‎Unavailable when connected to ‎‏‎‎‏‏‎<xliff:g id="CARRIER">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
@@ -4334,22 +4554,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‎‏‎‏‏‎‏‏‎‎‎‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎Switch to ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‎‎‎‎Switch to using SIM card?‎‏‎‎‏‎"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‎Use ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‎‏‏‎‎‎‎‏‏‎‏‏‎‎‏‏‎‎‎Only one SIM can be active at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching to ‎‏‎‎‏‏‎<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won’t cancel your ‎‏‎‎‏‏‎<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‏‎Only 1 eSIM can be active at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching to ‎‏‎‎‏‏‎<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won’t cancel your ‎‏‎‎‏‏‎<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‎Only one SIM can be active at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching won’t cancel your ‎‏‎‎‏‏‎<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎Only 1 SIM can be on at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching to ‎‏‎‎‏‏‎<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won’t cancel your ‎‏‎‎‏‏‎<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‏‎‎‏‏‎‏‎‏‏‎‎‎‎‎‎‎‎‏‎‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‎‎‎‎‏‎‎Only 1 eSIM can be on at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching to ‎‏‎‎‏‏‎<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won’t cancel your ‎‏‎‎‏‏‎<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‎‎‏‏‎‎‏‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‏‎‎‎‎‏‏‏‎‏‎Only 1 SIM can be on at a time.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Switching won’t cancel your ‎‏‎‎‏‏‎<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service.‎‏‎‎‏‎"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‎‏‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‎You can use 2 SIMs at a time. To use ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎, turn off another SIM.‎‏‎‎‏‎"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‏‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎Switch to ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‎‏‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‎Turn off ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‏‏‎‎‎‎Turning off a SIM won’t cancel your service‎‏‎‎‏‎"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎Connecting to network…‎‏‎‎‏‎"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‎‏‏‎‎‎‎‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‏‏‎‎Switching to ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ for calls and messages…‎‏‎‎‏‎"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‏‎‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‏‎Can’t switch carrier‎‏‎‎‏‎"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‏‎‏‎‎‏‏‎‏‎‎‏‎‎‎‎The carrier can’t be switched due to an error.‎‏‎‎‏‎"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‎‏‎‏‎‎‎‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‎‎‎‎‎Activating your SIM…‎‏‎‎‏‎"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‎Switching to ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎…‎‏‎‎‏‎"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‏‎‎‏‎‎‎‎‎‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‏‏‏‎‎‏‎‏‎‏‎‏‎‎‏‎‏‎Can’t switch SIMs‎‏‎‎‏‎"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‎Something went wrong. Can’t switch SIMs.‎‏‎‎‏‎"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‎Turn off ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‏‏‏‎‏‎‎‏‏‏‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‎‎Turn off SIM?‎‏‎‎‏‎"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎Turning off SIM‎‏‎‎‏‏‎<xliff:g id="ELLIPSIS">…</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‏‎‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‎‎‎‏‏‎Can’t disable carrier‎‏‎‎‏‎"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‎‏‏‎‏‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‎‏‎‏‎‏‏‎Something went wrong and your carrier could not be disabled.‎‏‎‎‏‎"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‎‎‎‎‎‎‏‏‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‎‏‎‎‏‎Can’t turn off SIM‎‏‎‎‏‎"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‎Something went wrong and your SIM could not be turned off.‎‏‎‎‏‎"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‏‎‎‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‏‏‏‏‎‏‏‏‏‏‎‏‏‏‎‎‏‎‏‎‎‎‏‎Use 2 SIMs?‎‏‎‎‏‎"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‎‏‎‏‎‎‎‏‏‎‏‎This device can have 2 SIMs active at once. To continue using 1 SIM at a time, tap \"No thanks\".‎‏‎‎‏‎"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‎‎‏‎Restart device?‎‏‎‎‏‎"</string>
@@ -4358,32 +4578,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‏‎No thanks‎‏‎‎‏‎"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‎Cancel‎‏‎‎‏‎"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‏‏‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‎‏‏‏‎‎‎‏‏‎‏‏‎Switch‎‏‎‎‏‎"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‏‎‏‎‎‎‎Turn off‎‏‎‎‏‎"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‎‏‎‎Can’t activate SIM‎‏‎‎‏‎"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‎‎‎‎‎‎‏‏‏‎‎‎‎‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‎Try turning on the SIM again. If the problem continues, restart your device.‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‏‎‎‏‏‏‏‎Set up your SIM‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‏‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎Set your mobile network preferences to use multiple SIMs on this device‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎Label your SIMs‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‎‎‎‏‎‎‏‎‎‎‏‏‎‏‎‎‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎You’ll see these labels when making calls, sending texts, and using data, and in Settings‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‏‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‎SIM label‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎Label‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‏‏‏‎Select which SIMs to use‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‎‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‎‏‏‎‏‎‏‎‎‏‏‎‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‏‎‏‎‎‎‎You can use 2 SIMs at a time‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‎Set your primary SIMs‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎Choose which SIMs to use by default for calls, texts, and data‎‏‎‎‏‎"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‏‎‏‏‏‎‎Your primary SIMs‎‏‎‎‏‎"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‎‎‎‏‎‏‎‏‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‎‎‏‎‏‎Calls‎‏‎‎‏‎"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‏‎‏‎‎‏‏‎‎‎‏‎‏‎‏‎Texts‎‏‎‎‏‎"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‎‎‎‎‎‎‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎Automatic data switching‎‏‎‎‏‎"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‏‎‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‏‏‎‏‏‎‎‏‏‎Use data from either SIM depending on coverage and availability‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‎‎‎‎‏‏‎‎‏‎‏‎‏‎‏‎‎‏‏‎‏‏‏‏‎‎Data only‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‏‎‏‏‏‏‎Set up‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‎‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‎‎‏‏‏‏‏‏‎‎‏‎‎‎‏‏‎‏‏‎Next‎‏‎‎‏‎"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‏‎‎‏‏‏‏‎‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‎‎‎‎‎‏‎‏‎‎‏‏‎‎Turning on ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎…‎‏‎‎‏‎"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‏‎‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‏‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‏‏‎‎‏‏‎‏‎‏‎Mobile network‎‏‎‎‏‎"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎‏‏‎‏‏‎‎‏‏‎‏‏‎‎‎‎Phone number‎‏‎‎‏‎"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‏‏‎‎‎‏‎‏‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‎‎‎SIM label and color‎‏‎‎‏‎"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‏‎‎‎‏‎‏‎‏‏‎‏‎‏‏‎‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‎‏‎‏‏‏‎‎‏‎‏‎‎‏‏‎‏‎‎‏‏‎Network activation‎‏‎‎‏‎"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‎‎‏‎‎‎‏‏‏‎‎‏‎‏‎‎‎‎‏‎‏‎‎‏‎‏‎Carrier switching‎‏‎‎‏‎"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‏‏‏‏‎‏‎‏‏‎‏‎‏‎‎‎‏‎‎‎‎‏‎‏‏‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is active‎‏‎‎‏‎"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‏‏‎‎‎‏‎‎‏‎‏‏‏‏‏‎‎‎‎‎‎‎‎‎‏‎‏‏‎‎‏‎‏‏‏‏‏‎‎‏‏‏‎‎‎‎‏‎‏‎‏‏‏‏‎‏‎‎Your ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ SIM is active‎‏‎‎‏‎"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‎‎‎‎‏‏‏‎‏‎‎‏‏‎‎‏‎‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‎‎‎‏‏‎‏‎‎‎‏‎‎Tap to update SIM settings‎‏‎‎‏‎"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‏‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‎‎‎Switched to ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‎‎‏‎‎‏‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‎‎‏‎‏‎‏‎‎Switched to another carrier‎‏‎‎‏‎"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‏‏‎‏‎‏‎‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‎‎‏‎‎‏‏‏‏‏‎‏‏‏‏‎‎‏‎‏‏‎Your mobile network has changed‎‏‎‎‏‎"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‏‎‎‎‏‏‎‎‏‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎Set up your other SIM‎‏‎‎‏‎"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‎‎‏‏‎‏‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‎Choose your active SIM or use 2 SIMs at once‎‏‎‎‏‎"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‎‏‏‎‏‏‎‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‏‏‏‎‎Choose a number to use‎‏‎‎‏‎"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎1 number is available on this device, but only one can be used at a time‎‏‎‎‏‎}=2{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎2 numbers are available on this device, but only one can be used at a time‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‎‎‏‏‏‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‏‎‏‏‎‏‎‎‏‏‏‏‎# numbers are available on this device, but only one can be used at a time‎‏‎‎‏‎}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‏‎‏‏‎‎‎‏‏‏‎‎‏‎‏‏‎‎‏‎‎‎‎‏‏‎‎‏‏‏‏‎‏‎‎‎‎Activating‎‏‎‎‏‏‎<xliff:g id="ELLIPSIS">…</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‏‏‏‎‎‏‏‎‏‎‎‎‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‏‎‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‏‎Couldn’t be activated right now‎‏‎‎‏‎"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‎‏‏‏‏‎‎‎‏‎‏‎‎‎‎‏‎‏‎Choose a SIM to use‎‏‎‎‏‎"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎1 SIM is available on this device, but only one can be used at a time‎‏‎‎‏‎}=2{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎2 SIMs are available on this device, but only one can be used at a time‎‏‎‎‏‎}other{‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‎‎‎‎‏‎‎‏‎‎‎# SIMs are available on this device, but only one can be used at a time‎‏‎‎‏‎}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‏‎‎‎‎‎‎‎‎‏‎‏‎‎‏‎‏‏‎‎‏‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‏‏‎‎Turning on‎‏‎‎‏‏‎<xliff:g id="ELLIPSIS">…</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‎‏‎‏‎Couldn’t turn on this SIM right now‎‏‎‎‏‎"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‎‎‏‎‏‎‏‎‏‎‎‏‏‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‎‎‎‏‏‏‏‎‏‎‎‎‎‎‏‏‎‏‎Use ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎?‎‏‎‎‏‎"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ will be used for mobile data, calls, and SMS.‎‏‎‎‏‎"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‎‏‏‎‏‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‏‎‎‎‎‎‏‏‏‎‎‏‎‏‏‏‎‎‏‏‏‏‏‎‏‏‏‎No active SIMs available‎‏‎‎‏‎"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‏‏‎‏‎‎‏‎‏‏‏‏‏‏‎‎‏‎‏‏‏‎‎‎‎To use mobile data, call features, and SMS at a later time, go to your network settings‎‏‎‎‏‎"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎SIM‎‏‎‎‏‎"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‏‎‎Erase this eSIM?‎‏‎‎‏‎"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‏‎‎‎‎‏‏‎‏‏‎‎‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‏‎‏‏‎‎‏‎‏‏‎‏‎Erasing this SIM removes ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service from this device.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Service for ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>‎‏‎‎‏‏‏‎ won\'t be canceled.‎‏‎‎‏‎"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‎‎‎‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‎‎‎‎This removes ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>‎‏‎‎‏‏‏‎ service from this device, but your ‎‏‎‎‏‏‎<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>‎‏‎‎‏‏‏‎ plan won\'t be canceled.‎‏‎‎‏‎"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎Erase‎‏‎‎‏‎"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‎‏‏‏‎‎‏‎‏‎‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‎‏‏‎Erasing SIM…‎‏‎‎‏‎"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‏‏‏‎‎‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‏‎‎‎‏‏‎‏‏‎Can\'t erase SIM‎‏‎‎‏‎"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‎‏‏‎‎‏‏‏‏‏‎‏‏‏‏‏‎‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎This SIM can\'t be erased due to an error.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‏‏‎‎‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‏‎‎‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‎‏‎‎‎‎‏‏‎‏‏‏‎‏‎‎Erasing eSIM…‎‏‎‎‏‎"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎‏‎‏‎‎‎‏‏‏‏‎‎‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‏‏‏‎Can\'t erase eSIM‎‏‎‎‏‎"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‏‏‏‎‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‎‎‏‎‏‏‎‏‏‎Something went wrong and this eSIM wasn\'t erased.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Restart your device and try again.‎‏‎‎‏‎"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‏‏‏‏‏‏‎‎‏‎‎‎‎‏‎‎‎‏‎‎‎‏‏‎‏‎‎Connect to device‎‏‎‎‏‎"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎‎‏‏‎‎‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‏‎‎‎‏‎‎‏‏‎<xliff:g id="APPNAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ app wants to use a temporary Wi‑Fi network to connect to your device‎‏‎‎‏‎"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‎‏‏‏‎‎‏‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎‎No devices found. Make sure devices are turned on and available to connect.‎‏‎‎‏‎"</string>
@@ -4445,9 +4688,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‎‏‏‎‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎‎‏‏‏‎‎‏‎‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‏‎‎Emergency calls‎‏‎‎‏‎"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‎‎‏‏‎‎‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‏‎‎‎‏‎‏‏‏‎‎‏‎‏‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‏‎‎‎Emergency calls over Wi‑Fi Calling are not supported by your carrier.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎The device switches automatically to a cellular network to place an emergency call.‎‏‎‎‏‏‎\n‎‏‎‎‏‏‏‎Emergency calls are only possible in areas with cellular coverage.‎‏‎‎‏‎"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‎‏‎‏‏‎‏‏‎‎‏‎‏‎‏‎‎‏‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‎‎‎‏‎‎‎‎‎‏‎‎‎‎‏‏‏‎Use Wi‑Fi for calls to improve quality‎‏‎‎‏‎"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‎‎‎‎‏‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‏‏‎‎Backup calling‎‏‎‎‏‎"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‏‎‏‎‎‎‏‏‏‎‏‎‎‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‏‏‏‎‏‎If ‎‏‎‎‏‏‎<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>‎‏‎‎‏‏‏‎ is unavailable or roaming, use your mobile data SIM for ‎‏‎‎‏‏‎<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>‎‏‎‎‏‏‏‎ calls.‎‏‎‎‏‎"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‎‎‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‎‎backup calling‎‏‎‎‏‎"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‏‎‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‎‎‎‏‎‏‏‏‎‎‎‎‏‏‎‎‎‏‏‎‏‏‎‏‎‏‎‏‎‎‎‎Incoming MMS message‎‏‎‎‏‎"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‏‎‎‎‏‎‎‏‎‏‎‎‏‏‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‏‏‎Can’t send MMS message‎‏‎‎‏‎"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‎‏‏‏‎‏‎‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‏‎‎‎‎‎‏‎‎‏‎‎‏‎‏‏‏‏‏‏‎‏‎‎‎Tap to allow MMS messaging on ‎‏‎‎‏‏‎<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ when mobile data is off‎‏‎‎‏‎"</string>
@@ -4458,6 +4698,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‏‎‎‏‎‏‎‏‎‎‏‏‏‏‎‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‏‏‎‎‏‎‎‎Your work policy info‎‏‎‎‏‎"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‎‏‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‎‎‎‎‎‏‎‏‎Settings managed by your IT admin‎‏‎‎‏‎"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‎‏‎‏‏‏‏‏‏‎GPU‎‏‎‎‏‎"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‏‏‎‎‎‏‏‎‎‏‎‏‎‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‎‏‏‏‎‏‏‎‏‏‎‏‏‏‏‏‎Boot with 16K page size‎‏‎‎‏‎"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‏‎‎‎‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎‏‎‏‎‎‏‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‏‏‏‎‎Boot device using 16K page size supported kernel‎‏‎‎‏‎"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‎‏‎‎‏‎‎‏‎‏‏‎‎‎‏‏‎‏‏‏‏‎‎‏‏‏‎‏‏‏‎‏‎‎Reboot with 16KB pages compatible kernel?‎‏‎‎‏‎"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‎‎‎‎‎‏‎‎‏‎‏‎‎‏‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎‎‏‎‎‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎WARNING: Some applications may not be compatible with this mode. Device will reboot after confirmation.‎‏‎‎‏‎"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‏‎‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‏‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‏‏‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‏‏‏‏‎Reboot with 4KB pages compatible kernel?‎‏‎‎‏‎"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‏‏‏‎‎‎‏‏‎‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‎Device will reboot after confirmation.‎‏‎‎‏‎"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎‏‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‎‎‏‏‏‎‏‏‏‏‏‎Failed to update kernel to 16KB pages compatible kernel.‎‏‎‎‏‎"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‏‎‏‎‏‏‎‏‏‎‎‎‏‏‎‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‎‏‏‏‎‏‎Applying change‎‏‎‎‏‎"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‏‏‎‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‎‏‏‏‎‏‏‎‏‎‏‎‏‎‎‏‏‎‏‎Bug report handler‎‏‎‎‏‎"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‏‎‎‏‎‎‎‎‎‏‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‏‏‎‏‎‎‏‎‎‏‎Determines which app handles the Bug Report shortcut on your device.‎‏‎‎‏‎"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‏‎‏‏‎‎‎‎‏‎‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‎‎‏‎‏‎‏‏‎‎‎‏‏‏‏‎‎‏‏‏‎‎‎Personal‎‏‎‎‏‎"</string>
@@ -4506,16 +4754,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‏‎‎‏‎‏‏‎‎‏‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‎‎‎‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‎‎Allow apps that can display over other apps to overlay Settings screens‎‏‎‎‏‎"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‏‏‎‏‏‏‏‎‎‎‎‏‎‎‎‏‎‎‏‏‎‎‎‏‏‏‎‎‏‏‏‏‎‏‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎Allow Mock Modem‎‏‎‎‏‎"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‏‏‎‏‎‏‏‎‎‎‏‎‎‎‏‎‎‏‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‏‏‎‎Allow this device to run Mock Modem service for instrumentation testing. Do not enable this during normal usage of the phone‎‏‎‎‏‎"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎‏‎‏‏‏‎‏‎‏‏‎‎‎‏‏‎‎‏‏‎‏‎‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‏‎‎‏‎Disable screen share protections‎‏‎‎‏‎"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‎‎‏‏‏‏‎‎‎‎‎‎‏‎‏‏‎‏‏‎‎‏‎‎‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‎‎‏‏‏‏‎‏‏‎‎‎‏‎‎‏‎‎‎Disables system applied app and notifications protections during screen sharing‎‏‎‎‏‎"</string>
     <string name="media_controls_title" msgid="403271085636252597">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‏‎‎‏‏‎‎‎‏‎‏‏‎‏‎‎‏‏‏‎‏‎‏‎‎‏‏‎‏‏‏‏‏‎‎‎‏‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‎‏‎‏‎Media‎‏‎‎‏‎"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‏‏‏‏‏‎‏‏‏‏‏‏‏‎‎‎‏‎‎‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‎‏‎‏‎‎‏‎‎Pin media player‎‏‎‎‏‎"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‎‏‎‎‏‎‏‎‎‏‎‎‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‎‏‎To quickly resume playback, media player stays open in Quick Settings‎‏‎‎‏‎"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‏‎‏‎‏‎‏‏‎‏‏‏‎‎‏‎‎‎‏‏‏‏‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎Show media on lock screen‎‏‎‎‏‎"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‎‏‎‎‎‎‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‎‏‎‏‏‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‏‏‎‎To quickly resume playback, media player stays open on lock screen‎‏‎‎‏‎"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‏‏‏‎‏‎‏‎‏‎‎‏‏‏‏‏‏‏‏‎‏‎Show media recommendations‎‏‎‎‏‎"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‎‎‏‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‎‏‏‏‎‎‎‎Show Assistant media recommendations‎‏‎‎‏‎"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‏‏‎‎‎‎‏‎‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‎‏‏‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‎Based on your activity‎‏‎‎‏‎"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‎‎‎‏‎‏‏‏‏‎‎‎‏‎‎‏‏‎‏‎‏‏‏‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‏‏‎‎‎‎‎‏‏‎‎‎‏‎‏‏‏‏‎Hide player‎‏‎‎‏‎"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‎‏‎‏‏‎‏‎‎‏‎‎‏‏‎‏‏‎‏‎‏‎‎‎‎‎‏‎‏‎Show player‎‏‎‎‏‎"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‎‏‏‎‎‏‏‏‏‎‎‎‎‎‎‎‎‏‎‎‏‏‏‎‎media‎‏‎‎‏‎"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‎‎‎‎‎‎‏‏‎‎‎‎‎‏‎‎‏‏‎‎‎‏‎‏‏‏‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‏‎Allow camera software extensions‎‏‎‎‏‎"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‎‏‏‎‏‏‏‏‏‎‏‎‎‎‏‎‏‏‎‎‏‎‎‎‏‎‎‎‎Enables the default software implementation of advanced camera features, such as Eyes Free videography.‎‏‎‎‏‎"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‏‎‎‎‎‏‏‎‏‎‏‎‎‏‏‏‏‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‏‏‎‏‏‏‎‎‎‏‏‎‎‎Bluetooth will turn on‎‏‎‎‏‎"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‎‎‎‏‎‎‎‏‏‎‎‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‏‎‏‏‎Internet‎‏‎‎‏‎"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‎‎‎‏‏‎‏‏‎‏‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‎‎‏‎‏‎‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‏‎‏‎‎‏‎‏‏‎‎SIMs‎‏‎‎‏‎"</string>
@@ -4543,8 +4795,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‎‎‎‎‎‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‏‎‏‏‏‎‎‏‎‎‏‏‎‎‏‏‏‎‎‎‎‎‏‎‏‏‏‏‏‎SIM‎‏‎‎‏‎"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‏‏‏‏‏‏‎‏‏‎‏‎‎‎‏‏‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‎‏‎‏‎‏‏‎‏‎‏‎‏‎‎‎‎‏‏‎‏‏‎‏‎‎‎‎eSIM‎‏‎‎‏‎"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‎‎‎‎‎‏‏‎‏‏‎‏‏‏‎‎‎‎‏‎‏‎‏‎‏‎‏‎‎‎‏‎‎‎‏‏‏‎‎‎‏‎‎‎‎‏‎‎eSIMs‎‏‎‎‏‎"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‏‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‏‎‎‏‎‎‎‏‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‏‎‏‎‎‏‏‏‎‎‎‏‏‎‎‎Active‎‏‎‎‏‎"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‎‎‎‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‏‎‏‎‎‎‎‎‎‎‎‏‏‎‎‎‏‏‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‎Inactive‎‏‎‎‏‎"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‎‏‏‏‎‏‏‏‏‎‎‎‎‏‏‎‏‏‎‎‏‎‏‎‎‏‏‎‏‎‎‎‏‏‎‏‏‏‎‎‏‏‎‏‏‏‏‎‎‏‎‎On‎‏‎‎‏‎"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‎‎‏‏‏‏‏‎‎‏‎‏‎‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‏‎‎Off‎‏‎‎‏‎"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" ‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‏‎‎‎‏‎‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‏‎ / Default for ‎‏‎‎‏‏‎<xliff:g id="ID_1">%1$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‎‎‎‏‎‎‏‎‏‏‏‎‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‏‏‏‎‎‎‎‎‎‏‎‏‎‎‎‎‏‏‏‏‎‎‎‎‎‏‎‏‏‎‎calls‎‏‎‎‏‎"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‏‏‏‏‏‎‎‏‏‎‎‏‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‎‏‎‏‏‎‏‏‎‎‎‏‏‏‏‎‎‎‏‏‎‎‎‎‏‎‏‎‏‎‎‏‎SMS‎‏‎‎‏‎"</string>
@@ -4700,8 +4952,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‎‏‏‏‎‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‎‏‏‎‏‏‏‏‎‏‎‏‎‎‏‎‎‏‏‏‎‏‏‏‏‏‏‎‏‎‏‏‎‎‎Audio from compatible media becomes more immersive‎‏‎‎‏‎"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‏‏‏‏‎‎‏‏‏‏‎‎‏‏‏‎‏‎‏‏‏‎‏‎‏‎‏‎‏‎‎‏‎‏‎‏‏‎‏‏‏‎‎‎‎‏‏‏‎Head tracking‎‏‎‎‏‎"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‏‏‎‏‎‏‏‎‏‎‎‏‎‏‎‏‎‎‎‎‎‎‏‏‎‎‏‏‏‎‏‎‏‎‎‎‏‎‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‏‎Audio changes as you move your head to sound more natural‎‏‎‎‏‎"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‏‎‎‎‏‎‎‏‏‎‏‏‎‎‏‎‏‎Sync permissions‎‏‎‎‏‎"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‎‎‎‏‎‎‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‎Give ‎‏‎‎‏‏‎<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ the same app permissions that you’ve allowed on ‎‏‎‎‏‏‎<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>‎‏‎‎‏‏‏‎‎‏‎‎‏‎"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‏‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‎‏‏‎‎‏‏‎‎‏‎‏‎‏‎‎‎‏‎‎‏‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‏‎Sync permissions from phone‎‏‎‎‏‎"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‎‏‏‏‎‏‏‏‏‏‏‏‏‏‎‎‏‏‏‎‏‏‎‎‏‏‏‎‎‎‏‏‏‎‎‎‎‏‏‏‏‏‎‏‏‎Give your watch the same app permissions that you’ve allowed on this phone‎‏‎‎‏‎"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‏‎‏‏‏‎‏‏‏‏‎‎‎‏‎‎‎‏‏‎‎‏‎‏‏‏‏‏‏‎‏‎‏‎‎‏‎‎‎‏‏‎‏‏‏‎‏‎‎‏‏‎‏‎‏‏‏‎‎Audio Device Type‎‏‎‎‏‎"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‏‏‏‎‏‎‎‏‎‏‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‎‏‏‏‏‏‎‎Unknown‎‏‎‎‏‎"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‏‏‎‏‏‎‏‏‏‏‎‎‏‎‏‎‏‎‏‎‎‎‎‏‎‎‏‏‎‎‎‎‎‎‎‎‎‎‎‏‎‎‏‎‏‏‏‎‎‎‏‎‏‏‏‏‎‎‎Speaker‎‏‎‎‏‎"</string>
@@ -4797,4 +5049,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‏‎‏‎‏‏‎‏‏‎‏‏‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‏‎‎‎‏‏‏‎‏‏‎‎‏‏‎Medium‎‏‎‎‏‎"</string>
     <string name="contrast_high" msgid="3988567609694797696">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‎‏‎‏‏‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‏‏‏‏‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎High‎‏‎‎‏‎"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‏‏‎‎‎‎‏‎‎‏‏‎‏‏‏‏‏‏‎‏‏‏‏‏‎‏‎‏‏‏‏‏‎‎‏‎‏‏‏‎‎‏‎‎‏‎‎‎‏‎‎‎‏‏‎‎‎This app can only be opened in 1 window‎‏‎‎‏‎"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‏‎‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‏‏‏‏‎‎‎‏‏‎‎‏‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‏‎‎‎‎On‎‏‎‎‏‎"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‎‏‎‎‎‎‎‏‏‏‎‎‏‏‎‏‎‏‎‏‏‏‏‏‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‎‏‎‎‏‎‎‏‏‎‎‎Off‎‏‎‎‏‎"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‏‎‎‏‏‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‎‏‏‎‏‎‎‏‏‎Off‎‏‎‎‏‎"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‎‎‎‏‎‎‏‏‎‏‏‏‏‎‎‎‎‏‏‏‎‎‎‏‏‎‏‎‏‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‎‎‎‎‎‏‏‎‏‎‎‎‎‏‏‎Off‎‏‎‎‏‎"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‎‎‎‏‎‏‏‏‎‎‏‏‏‏‎‏‏‏‏‏‏‏‏‏‏‏‎‎‏‎‎‎‏‏‏‏‎‏‎‎‎‏‎‎‏‏‎‎‏‏‏‏‎On‎‏‎‎‏‎"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‏‎‎‎‎‏‎‏‎‎‎‏‎‎‏‎‏‎‏‏‎‎‏‏‎‏‏‏‎‎‏‏‏‎‏‏‎‎‏‎‎‏‏‎‏‏‏‎‏‏‎‎‏‏‎Off‎‏‎‎‏‎"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‏‎‎‏‎‏‏‏‎‎‏‎‏‏‏‏‎‏‎‏‏‏‎‏‎‎‏‎‎‎‎‎‏‏‏‎‏‎‎‏‎‎‏‏‎‎‎‎‎On‎‏‎‎‏‎"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‎‎‎‎‎‎‎‎‏‏‏‎‎‏‏‎‎‏‏‏‏‏‎‏‎‏‏‎‎‏‏‎‎‏‏‎‏‏‎‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‎‎‎‏‏‎‎‎Off‎‏‎‎‏‎"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‏‎‎‎‏‎‏‏‏‎‏‎‎‎‏‏‎‎‎‏‏‎‎‎‏‎‏‏‎‎‎‏‏‎‏‏‎‏‏‏‏‏‏‏‏‎Turns light screens dark and dark screens light‎‏‎‎‏‎"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‎‏‎‎‎‎‎‎‏‎‎‏‎‏‏‎‎‎‏‎‎‎‎‏‎‏‎‎‏‏‎‏‏‎‎‏‎‏‏‏‎‏‏‏‎‏‎‏‎‎‎‎‎‏‏‎‎‎Zoom in on the screen‎‏‎‎‏‎"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‏‎‎‏‎‎‏‏‎‎‎‎‏‎‎‎‏‏‏‎‏‎‏‏‏‏‎‎‏‏‎‏‎‎‏‏‎‏‏‎‏‏‏‏‏‎‏‎‏‎‏‎‎‎‎‏‎‎‎‎Off‎‏‎‎‏‎"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‎‎‏‏‎‎‏‎‏‎‏‏‎‏‎‏‏‏‏‎‏‏‎‎‎‏‎‏‎‏‏‏‏‏‏‎‏‏‎‎‎‏‎‏‏‎‎‏‏‏‏‎‎‎‎‎‎‏‏‎Off‎‏‎‎‏‎"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‏‏‎‏‎‎‎‎‏‎‎‏‎‎‏‎‎‎‏‎‎‎‎‎‎‏‎‏‏‏‏‎‎‎‏‏‏‏‏‎‎‏‏‏‏‎‎‏‎‎Scanning for deceptive apps‎‏‎‎‏‎"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‏‎‏‎‎‎‎‏‎‎‎‎‏‏‏‎‎‎‏‎‎‎‏‎‏‏‎‏‏‏‎‎‎‎‏‎‎‎‎‏‏‏‏‎‏‏‎‏‏‏‏‎‎‏‏‏‏‎Check app activity for phishing‎‏‎‎‏‎"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‏‎‎‎‎‎‎‎‏‏‏‎‎‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‏‎‎‎‏‏‏‏‎‏‏‏‎‏‎‎Use scanning for deceptive apps‎‏‎‎‏‎"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‏‏‎‎‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‎‏‏‎‏‎‏‎‎‏‎‎‎‏‏‏‏‏‎‎‎‎‏‏‎‎‎‎‏‏‎‎‏‎‏‎Use scanning for deceptive apps for work‎‏‎‎‏‎"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‎‎‎‏‏‏‏‏‎‏‏‎‏‎‎‎‎‏‏‎‎‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‏‎‎‏‎‏‏‏‏‏‎‎‏‏‎‏‎‏‎Password is now set up‎‏‎‎‏‎"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‎‏‏‏‎‎‎‎‎‎‏‏‎‎‏‎‏‎‎‎‎‏‎‎‎‎‎‏‎‏‏‎‏‎‎‏‎‏‏‎‎‏‎‎‏‏‏‎‎‏‎‏‏‎‏‏‏‏‎‏‎‎Show pointer while hovering‎‏‎‎‏‎"</string>
 </resources>
diff --git a/res/values-es-rUS/arrays.xml b/res/values-es-rUS/arrays.xml
index 8032bde..a52af72 100644
--- a/res/values-es-rUS/arrays.xml
+++ b/res/values-es-rUS/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponible"</item>
     <item msgid="6096962300722555553">"Fuera de rango"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usar valores predeterminados del sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Después de 1 minuto"</item>
     <item msgid="1574040255478150028">"Después de 5 minutos"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-es-rUS/strings.xml b/res/values-es-rUS/strings.xml
index 092c70e..bfb9e66 100644
--- a/res/values-es-rUS/strings.xml
+++ b/res/values-es-rUS/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"¡Ya eres desarrollador!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"No es necesario, ya eres programador."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primero habilita las opciones para programador."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Solo los usuarios administradores pueden acceder a la configuración para desarrolladores."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servicio"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fuera de servicio"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"La pantalla frontal se enciende cuando pliegas el dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Solo juegos, videos y otros"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"La pantalla frontal se enciende para las apps que evitan que la pantalla quede inactiva."</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Deslizar el dedo hacia arriba para continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Cierra el teléfono y desliza el dedo hacia arriba en la pantalla frontal para continuar usando la app, o bien espera unos segundos para que se bloquee la pantalla"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nunca"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"La pantalla frontal se bloquea cuando pliegas el dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Girar automáticamente"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionado"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Tono y alarmas"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio durante las llamadas"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Contenido multimedia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificaciones y otros sonidos"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sonidos del sist. y multimedia"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificaciones"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"De forma predeterminada, las apps son las que determinan la salida de audio"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositivo Bluetooth sin nombre"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Buscando"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancelar"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Inhabilitar Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Inhabilita la función Bluetooth LE Audio si el dispositivo admite funciones de hardware de ese tipo."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modo Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Botón de LE Audio en Detalles del disp."</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Habilitar la lista de permitidos de Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Habilita la función de la lista de permitidos de Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omitir lista de entidades permitidas de Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Usa LE Audio de forma predeterminada incluso si no se verificó si el dispositivo periférico de LE Audio cumple con los criterios de lista de entidades permitidas."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos de medios"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos para llamar"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Otros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Asociado con la cuenta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Se usaron previamente con la cuenta"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Se activará el Bluetooth para vincular"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectados anteriormente"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Se activó el Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pluma stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Presionar el botón de la pluma stylus"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabajo)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escribir en campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todas las pulsaciones del botón de la pluma stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pluma stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Uso compartido de audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Comparte audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Llamadas y alarmas"</string>
+    <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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectarse a una reproducción de audio usando un código QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No hay reproducciones de audio cercanas."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Fecha y hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Eliminar"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"¿Quieres agregar %s a los idiomas preferidos?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Esto permite que las apps y los sitios web sepan que prefieres este idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Cambiarán la configuración y las preferencias regionales de tu dispositivo."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Cambiar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s no está disponible"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sábado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si una app no admite preferencias regionales, usará su configuración regional predeterminada."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Obtén más información sobre las preferencias de idioma."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferencias adicionales"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Tratamiento"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Establece el tratamiento que prefieres"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Las apps pueden usar el tratamiento que prefieres para personalizar la forma en que se dirigen a ti."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Sin especificar"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femenino"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculino"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{¿Quitar el idioma seleccionado?}other{¿Quitar los idiomas seleccionados?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Se mostrará el texto en otro idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"No se pueden quitar todos los idiomas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Ubicación"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar ubicación"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivado"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Obtén más información sobre la configuración de la ubicación."</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="3574930966097093550">"Cambia el acceso a la ubicación en Config. &gt; Seguridad y priv. &gt; Controles de priv."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Cuentas"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Seguridad"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encriptación y credenciales"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para obtener los mejores resultados, usa un protector de pantalla que tenga certificación Made for Google. Es posible que la huella dactilar de tu hijo no funcione con otros protectores."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueo con reloj"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Si configuras las funciones Desbloqueo facial y Desbloqueo con huellas dactilares, el teléfono te pedirá la huella dactilar en caso de que tengas puesta una mascarilla o estés en una zona oscura.\n\nPuedes usar el reloj para desbloquear el dispositivo cuando no se reconozcan tu rostro ni tu huella dactilar."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Puedes desbloquear con el reloj cuando no se reconozca tu huella dactilar."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Puedes desbloquear con el reloj cuando no se reconozca tu rostro."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Si configuras las funciones Desbloqueo facial y Desbloqueo con huellas dactilares, el teléfono te pedirá que ingreses tu huella dactilar cuando uses una máscara o estés en una zona oscura.\n\nDesbloqueo con reloj es otra forma cómoda de desbloquear el teléfono, por ejemplo, cuando tienes los dedos mojados o no se reconoce tu rostro."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Desbloqueo con reloj es otra forma cómoda de desbloquear el teléfono, por ejemplo, cuando no se reconoce tu huella dactilar."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Desbloqueo con reloj es otra forma cómoda de desbloquear el teléfono, por ejemplo, cuando no se reconoce tu rostro."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Usa tu huella dactilar o reloj para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Usa tu rostro o reloj para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Usa tu rostro, huella dactilar o reloj para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Desbloqueo con reloj es otra forma conveniente de desbloquear el teléfono cuando, por ejemplo, tienes los dedos mojados o no se reconoce tu rostro.\n\nPuedes usar el reloj para desbloquear este teléfono en estos casos:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ahora no"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Más"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Cómo funciona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"El reloj debe estar desbloqueado, en tu muñeca y cerca del teléfono. No deberás volver a desbloquear el reloj mientras lo tengas en la muñeca."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Cuando se desbloquee el teléfono, recibirás una notificación en el reloj. Si se desbloqueó, pero no era tu intención hacerlo, presiona la notificación para volver a bloquearlo."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Tú tienes el control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Puedes quitar el reloj de la función Desbloqueo con reloj en cualquier momento desde Configuración"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Presiona una notificación"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Desliza el dedo hacia arriba en la pantalla de bloqueo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Elige tu reloj"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Relojes disponibles"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancelar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmar"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Todo listo"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Ahora puedes usar tu reloj para desbloquear este teléfono cuando deslizas el dedo hacia arriba en la pantalla de bloqueo o presionas una notificación"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Listo"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueo del reloj"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Puedes usar tu reloj para desbloquear este teléfono cuando deslizas el dedo hacia arriba en la pantalla de bloqueo o presionas una notificación"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar Desbloqueo con reloj, el reloj debe estar desbloqueado, en tu muñeca, cerca y conectado a este teléfono. Si la conexión se interrumpe, deberás desbloquear el teléfono antes de poder usar Desbloqueo con reloj.\n\nImportante:\nSolo puedes tener un reloj configurado a la vez. Si quieres agregar otro, deberás quitar el actual."</string>
+    <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 huella dactilar"</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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Seguridad"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacidad"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabajo"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espacio privado"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantén las apps privadas bloqueadas y ocultas"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantén las apps privadas en un espacio separado que puedes ocultar o bloquear"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueo de espacio privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Puedes desbloquear el espacio privado de la misma manera que desbloqueas el dispositivo o elegir un bloqueo diferente"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar el bloqueo de pantalla del dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueo facial y con huellas dactilares"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueo con huellas dactilares"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueo facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Presiona para configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueo con huellas dactilares para espacio privado"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueo facial para espacio privado"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Métodos de desbloqueo"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual al bloqueo de pantalla del dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"¿Quieres un nuevo bloqueo para tu espacio privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloquear espacio privado automáticamente"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Puedes bloquear el espacio privado automáticamente si no usas el dispositivo por cierto periodo de tiempo"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Cada vez que el dispositivo se bloquea"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Después de 5 minutos de inactividad"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nunca"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Se oculta con el dispositivo bloqueado"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ocultar espacio privado con el dispositivo bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Oculta el espacio privado de tu lista de apps en el dispositivo para que otras personas no puedan verlo"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Accede al espacio privado cuando está oculto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Lista de apps: ingresa \"espacio privado\" en barra de búsq."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Presiona la tarjeta de espacio privado"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloquea tu espacio privado"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desactivado"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activado"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Borra un espacio privado"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"¿Quieres borrar un espacio privado?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Se quitará el espacio privado de tu dispositivo, además de todos los datos y las apps privadas. No podrás deshacer esta acción."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Las siguientes cuentas se quitarán de tu espacio privado:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Borrar"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Borrando el espacio privado…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"El proceso tardará unos minutos"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Se borró el espacio privado"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"No se pudo borrar el espacio privado"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Se desbloqueó el Espacio privado"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Configura un bloqueo de pant."</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para usar el espacio privado, configura un bloqueo de pantalla en el dispositivo"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Configurar bloqueo de pantalla"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancelar"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurar"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Cómo configurar el espacio privado"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantén las apps privadas en un espacio separado que puedes ocultar o bloquear"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Cómo funciona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Puedes acceder al espacio privado desde el final de tu lista de apps"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Las apps en el espacio privado están protegidas con bloqueo"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Las notificaciones de las apps en el espacio privado se ocultan cuando está bloqueado"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Las apps del espacio privado no se mostrarán en el Administrador de permisos, el panel de privacidad ni en ningún otro parámetro de configuración cuando el espacio privado esté bloqueado.\n\nTu espacio privado no puede moverse a un dispositivo nuevo. Deberás configurar uno nuevo si quieres usar la función en otro dispositivo.\n\nCualquier persona que conecte tu dispositivo a una computadora o le instale apps dañinas podría acceder a tu espacio privado."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espacio privado…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Las notificaciones de las apps en el espacio privado se ocultan cuando está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloquea el espacio privado para compartir fotos y archivos"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Algunas apps podrían ya estar instaladas en el 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_lockscreen_title" msgid="6034864097861137509">"¿Desbloquear espacio privado con bloq. de pant.?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Puedes desbloquear el espacio privado de la misma manera que desbloqueas el dispositivo o elegir un bloqueo diferente"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueo de pantalla"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Elegir nuevo bloqueo"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Todo listo"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para encontrar el espacio privado, ve a tu lista de apps y desplázate hacia abajo"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Listo"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Desplázate hacia abajo para encontrar el espacio privado"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Acceder"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Accede a una cuenta para usar el espacio privado"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ahora no"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuar"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Elige un bloqueo para tu espacio privado"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Puedes desbloquear el espacio privado con tu huella dactilar. Por razones de seguridad, esta opción requiere un método secundario de bloqueo."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Establece un PIN para tu espacio privado"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Establece contraseña para espacio priv."</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Establece patrón para espacio privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puedes agregar hasta <xliff:g id="COUNT">%d</xliff:g> huellas dactilares"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Agregaste la cantidad máxima permitida de huellas digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No se pueden agregar más huellas digitales"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patrón"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Contraseña"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"¿Quieres borrar el bloqueo de pantalla?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"¿Quieres quitar todos los tipos de desbloqueo del dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"¿Quieres quitar la protección del perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"En caso de robo o extravío, un patrón protege tu teléfono"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"En caso de robo o extravío, un patrón protege tu teléfono.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Se borrará el modelo de huella dactilar almacenado en el dispositivo. También se borrará tu modelo de rostro de forma permanente y segura. No podrás usar tu rostro ni tu huella dactilar para autenticarte en apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"En caso de robo o extravío, un PIN protege tu teléfono"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Perderás datos guardados como tu PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se quitarán las tarjetas configuradas para el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Las billeteras y otras apps que requieran el desbloqueo del dispositivo podrían no funcionar correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"En caso de robo o extravío, un PIN protege tu teléfono.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>También se borrará el modelo de huella dactilar almacenado en el dispositivo. No podrás usar tu huella dactilar para autenticarte en apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Perderás datos guardados como tu PIN y modelo huella dactilar.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se quitarán las tarjetas configuradas para el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Las billeteras y otras apps que requieran el desbloqueo del dispositivo podrían no funcionar correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"En caso de robo o extravío, un PIN protege tu teléfono.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>También se borrará tu modelo de rostro de forma permanente y segura. No podrás usar tu rostro para autenticarte en apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Perderás datos guardados como tu PIN y modelo de rostro.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se quitarán las tarjetas configuradas para el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Las billeteras y otras apps que requieran el desbloqueo del dispositivo podrían no funcionar correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"En caso de robo o extravío, un PIN protege tu teléfono.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Se borrará el modelo de huella dactilar almacenado en el dispositivo. También se borrará tu modelo de rostro de forma permanente y segura. No podrás usar tu rostro ni tu huella dactilar para autenticarte en apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Perderás datos guardados como tu PIN y modelo de rostro y huella dactilar.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se quitarán las tarjetas configuradas para el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Las billeteras y otras apps que requieran el desbloqueo del dispositivo podrían no funcionar correctamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"En caso de robo o extravío, una contraseña protege tu teléfono"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"En caso de robo o extravío, una contraseña protege tu teléfono.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"¿Vincular con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Agrega un miembro nuevo al conjunto coordinado existente"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirma para agregar la segunda pieza al Dispositivo de audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Código de vinculación Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Ingresa el código de sincronización y luego presiona Intro."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"El PIN contiene letras o símbolos."</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Debe contener 16 dígitos"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Puede que también tengas que escribir este PIN en el otro dispositivo."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Puede que también tengas que escribir esta clave de acceso en otro dispositivo."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirma para vincular con el conjunto coordinado"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirma para vincular con el dispositivo de audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permitir el acceso a tus contactos y al historial de llamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"También se permite acceso a los contactos y el historial de llamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"La información se usará para anuncios de llamadas y otras funciones"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"No se pudo establecer conexión con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivos disponibles"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Vincular y conectar"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Cuando Bluetooth está activado, permite conectarse con dispositivos cercanos que tengan Bluetooth."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Activa el Bluetooth para conectarte a dispositivos"</string>
     <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_scan_change" msgid="1744636222637390367">"Cambiar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalles del dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que ART verifique el bytecode de apps depurables"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Frecuencia de actualización"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Muestra la frecuencia de actualización actual de pantalla"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar la relación entre HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar la relación actual entre HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Usar NFC solo si el dispositivo está desbloqueado"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"En modo avión"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificar si se detectan redes públicas"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notificarme cuando haya una red pública de alta calidad"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permitir redes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP es un protocolo de seguridad antiguo que es menos seguro"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Tu operador no permite redes WEP porque son menos seguras"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activar Wi-Fi automáticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"La conexión Wi-Fi se volverá a activar cerca de las redes de alta calidad guardadas, como tu red doméstica"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"No se encuentra disponible porque la ubicación está desactivada. "<annotation id="link">"Actívala"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La búsqueda de Wi-Fi permite que las apps y los servicios busquen redes de este tipo en cualquier momento, incluso cuando la conexión Wi-Fi está desactivada. Puedes usar esta función, por ejemplo, para mejorar las funciones y los servicios basados en la ubicación."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Se activó la búsqueda de Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Esta red usa un protocolo de seguridad antiguo que es menos seguro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Se bloqueó <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Esta red usa un protocolo de seguridad antiguo llamado WEP que es menos seguro. Para conectarte de todas formas, puedes permitir las redes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Tu operador no permite que te conectes a esta red porque usa un protocolo de seguridad antiguo que es menos seguro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permitir WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Cerrar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opciones avanzadas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista desplegable \"Opciones avanzadas\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expandir"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Seguir usando Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"No volver a mostrar"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Conectar"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi activado"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Estableciendo conexión con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Conectando…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"No se pudo establecer conexión con la red."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Red fuera de alcance"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Olvidar"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modificar"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"No se pudo borrar la red."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Guardar"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"No se pudo guardar la red."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancelar"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Datos móviles"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> - Cargando"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> - Cargando"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Conexión de hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Intensidad de la conexión"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes guardadas"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No se configuró una contraseña"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nombre del hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Contraseña del hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda del PA"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactivar hotspot automáticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Cuando no hay dispositivos conectados"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extender la compatibilidad"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Mostrar balance de blancos"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar usando apps con el dispositivo plegado"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automáticamente la frecuencia de actualización de 60 Hz a <xliff:g id="ID_1">%1$s</xliff:g> Hz para cierto contenido. Incrementa el uso de batería."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Inhabilitar fotogr. predeterm."</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Inhabilita el límite máximo de velocidad de fotogramas de los juegos de <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automáticamente la frecuencia de actualización a <xliff:g id="ID_1">%1$d</xliff:g> Hz para cierto contenido. Incrementa el uso de batería."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar frecuencia de actualización máxima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"La máxima frecuencia de actualización mejora la respuesta táctil y la calidad de las animaciones. Incrementa el uso de batería."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atención a la pantalla"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"La función de atención a la pantalla usa la cámara frontal para detectar si hay alguien mirando la pantalla. Funciona en el dispositivo, y las imágenes no se almacenan ni se envían a Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activar la atención a la pantalla"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantener la pantalla encendida cuando la miras"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Si se extiende tiempo de espera de la pantalla, se consumirá más batería."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"La cámara está bloqueada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"La cámara debe estar desbloqueada para la detección de rostro"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"La cámara debe estar desbloqueada para la atención a la pantalla"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ranura de SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ranura de SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Elige una red guardada para verla"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versión de PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivel de la batería"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Comunal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Configuraciones compartidas"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mensajería satelital"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editar punto de acceso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Agregar punto de acceso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Sin establecer"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Sin definir"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nombre"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN activado"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN inhabilitado"</string>
     <string name="bearer" msgid="3231443241639159358">"Portador"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo de red"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Sin especificar"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo de OMV"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor de OMV"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Eliminar APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Guardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada de APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"El campo Nombre no puede estar vacío."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"El APN no puede estar vacío."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"El campo de MCC debe contener 3 dígitos."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"El campo MNC debe contener 2 ó 3 dígitos."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"El proveedor no permite que se agreguen APN del tipo %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"El campo MMSC debe ser válido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restaurando la configuración APN predeterminada"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Restablecer valores predeterminados"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Se restableció la configuración predeterminada de APN."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restablecer"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Se restablecieron el Bluetooth y el Wi-Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Borrar eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Esta acción no cancelará ningún plan de servicio móvil. Para descargar tarjetas SIM de reemplazo, comunícate con tu proveedor."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"No se cancelará tu plan de servicios de telefonía móvil. Contacta a tu operador para recibir una SIM de reemplazo."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restablecer configuración"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"¿Quieres restablecer toda la configuración de red? No podrás deshacer esta acción."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"¿Quieres restablecer toda la configuración de red y borrar las eSIMs? No podrás deshacer esta acción."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"¿Restablecer?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"El restablecimiento de la red no está disponible para este usuario."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Se restableció la configuración de red."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"No se pueden borrar las tarjetas SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"No es posible borrar las eSIMs porque se produjo un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"No se puede borrar las eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Se produjo un error y tus eSIM no se borraron.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Borrar todo (restablecer configuración de fábrica)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Borrar todo (restablecer configuración de fábrica)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Música"</li>\n<li>"Fotos"</li>\n<li>"Otros datos del usuario"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"No se cancelará tu plan de servicio móvil."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Se borrarán las apps que hayas descargado y tu información personal. No podrás deshacer esta acción."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Se borrará toda tu información personal, incluidas las apps y las tarjetas SIM descargadas. No podrás deshacer esta acción."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Se borrará toda tu información personal, incluidas las apps y las eSIM descargadas. No podrás deshacer esta acción."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"¿Quieres borrar todos los datos?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"El restablecimiento de la configuración de fábrica no está disponible para este usuario"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Borrando"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth y Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"No se comparte Internet con otros dispositivos"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desactivada"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Conexión mediante dispositivo móvil"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"No usar hotspot de Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Solo compartir la conexión a Internet mediante USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Solo compartir la conexión a Internet mediante Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Solo compartir mediante Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Solo compartir la conexión a Internet mediante USB y Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Solo compartir la conexión a Internet mediante USB y Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Solo compartir la conexión a Internet mediante Bluetooth y Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Solo compartir la conexión a Internet mediante USB, Bluetooth y Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Conexión a red por USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Conexión Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Conexión Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Usa Hotspot y conexión mediante dispositivos móviles para brindar acceso a Internet a otros dispositivos a través de una conexión Wi-Fi o de datos móviles. Las apps también pueden crear un hotspot para compartir contenido con dispositivos cercanos."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ayuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Red móvil"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plan móvil"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"¿Quieres cambiar la aplicación de SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"¿Quieres usar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> como la aplicación de SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"¿Cambiar de asistente de Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"¿Deseas usar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para administrar tus conexiones de red?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"¿Deseas usar <xliff:g id="NEW_APP">%s</xliff:g> para administrar tus conexiones de red?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operador SIM desconocido"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> no tiene ningún sitio web de aprovisionamiento"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Inserta la tarjeta SIM y reinicia."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Conéctate a Internet."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Solicitudes de ubicaciones recientes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Ubicación de perfil de trabajo"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permisos de ubicación de apps"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Borrar acceso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controles"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forzar detención"</string>
+    <string name="archive" msgid="9074663845068632127">"Archivar"</string>
+    <string name="restore" msgid="7622486640713967157">"Restablecer"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restablecer"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restableciendo."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restableciendo.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restableciendo…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tamaño de la app"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplicación en el almacenamiento USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"No se pudo calcular el tamaño del paquete."</string>
     <string name="version_text" msgid="7628938665256107608">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mover"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Se produjo un error al archivar"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Se archivó <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Se produjo un error al intentar restablecer"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restableciendo <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Hay otra migración en curso."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"No hay suficiente espacio de almacenamiento."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"La aplicación no existe."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclado en pantalla disponible"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Administrar teclados en pantalla"</string>
     <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="6922850403920596246">"Habilita el rechazo de teclas para mejorar la accesibilidad del teclado físico"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Habilita las teclas lentas para mejorar la accesibilidad del teclado físico"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Teclas especiales"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Habilita teclas especiales para mejorar la accesibilidad del teclado físico"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Combinaciones de teclas"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Mostrar lista de combinación de teclas"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Teclados y herramientas del perfil de trabajo"</string>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Velocidad del puntero"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprende los gestos del panel táctil"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ir a la pantalla principal"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Desliza hacia arriba con tres dedos en el panel táctil"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Atrás"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenar por tiempo de uso"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenar por último uso"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenar por nombre de app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Última utilización"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Última fecha de uso"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nunca"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Hora de uso"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accesibilidad"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Configuración de accesibilidad"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar presionando tres veces"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar con gesto"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar con acceso directo y presionar tres veces"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Información sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa el botón de accesibilidad para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantén presionadas las teclas de volumen para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Presiona tres veces para abrir el servicio"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Presiona dos veces la pantalla con dos dedos para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usa el gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usa los gestos de accesibilidad"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esta función, presiona el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ubicado en la parte inferior de la pantalla.\n\nSi quieres cambiar de función, mantén presionado el botón de accesibilidad."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esta función, presiona el botón de accesibilidad en la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esta función, mantén presionadas las teclas de volumen."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar y detener la ampliación, presiona tres veces en cualquier parte de la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Para iniciar y detener la amplificación, presiona dos veces la pantalla con dos dedos."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esta función, desliza 2 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 2 dedos hacia arriba y mantén presionada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esta función, desliza 3 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 3 dedos hacia arriba y mantén presionada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar una función de accesibilidad, desliza 2 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 2 dedos hacia arriba y mantén presionada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Para usar una función de accesibilidad, desliza 3 dedos hacia arriba desde la parte inferior de la pantalla.\n\nSi quieres cambiar de función, desliza 3 dedos hacia arriba y mantén presionada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entendido"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Configuración del botón de accesibilidad"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Configuración del botón"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Combinación de accesibilidad para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botón de accesibilidad"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto de accesibilidad"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantener presionadas las teclas de volumen"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantener presionadas las 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"presiona dos veces la pantalla con dos 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="6863958573135995927">"presionar tres veces la pantalla"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Más información sobre el botón de accesibilidad y los gestos"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Se está usando el botón de accesibilidad. El gesto no está disponible con navegación con 3 botones."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accede rápidamente a funciones de accesibilidad"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para comenzar"</b>\n"1. Ve a la configuración de accesibilidad.\n2. Selecciona una función y presiona el atajo.\n3. Elige si quieres usar un botón o gesto para acceder a la función."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para comenzar, haz lo siguiente:"</b>\n"1. Ve a la configuración de accesibilidad.\n2. Selecciona una función y presiona el atajo.\n3. Elige el botón para acceder a la función."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para comenzar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ve a la configuración de accesibilidad.&lt;br/&gt; {1,number,integer}. Selecciona una función y presiona la combinación de teclas.&lt;br/&gt; {2,number,integer}. Elige si quieres usar un botón o un gesto para acceder a la función.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para comenzar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ve a la configuración de accesibilidad.&lt;br/&gt; {1,number,integer}. Selecciona una función y presiona la combinación de teclas.&lt;br/&gt; {2,number,integer}. Elige el botón para acceder a la función.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Usar botón o gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Ubicación"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamaño"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Cortar con el botón de encendido"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Puntero del mouse grande"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Destaca más el puntero del mouse"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Cambia todas las apps a tema oscuro"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Aplica a apps sin tema oscuro propio. Algunas pueden tener problemas de pantalla."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Quitar animaciones"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce el movimiento de la pantalla"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Usar vibración y tecnología táctil"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibración de alarmas"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibración de contenido multimedia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibración del teclado"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibración del tono"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibración de las notificaciones"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respuesta táctil"</string>
@@ -2128,16 +2311,15 @@
     <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Puede realizar el seguimiento de 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="7295448112784528196">"Detener"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"¿Quieres detener <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Si presionas <xliff:g id="STOP">%1$s</xliff:g>, se detendrá <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactivar"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Mantener"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"¿Quieres desactivar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No se instaló ningún servicio."</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No se seleccionó ningún servicio"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No se proporcionó ninguna descripción."</string>
     <string name="settings_button" msgid="2195468788019730377">"Configuración"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilidad a la luz, fotofobia, tema oscuro, migraña, dolor de cabeza, modo de lectura, modo nocturno, disminuir el brillo, punto blanco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Facilidad de uso, facilidad de acceso, asistencia, asistivo"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visión, audición, persona ciega, persona sorda, motriz, destreza, asistivo, asistencia, facilidad de uso, facilidad de acceso, mano, ayuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Ampliación de ventanas, zoom, ampliación, visión reducida, agrandar, hacer más grande"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Subtítulos, subtítulos opcionales, subtítulos para personas sordas, Transcripción instantánea, persona con hipoacusia, pérdida de la audición, transcripción en tiempo real asistida por computadora, voz a texto, subtítulo"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste de color"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"audífonos, persona con hipoacusia, pérdida auditiva, implantes cocleares, dispositivos de amplificación, procesadores de sonido"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motriz, mouse, mouse externo, mouse de cabeza, mouse adaptativo, silla de ruedas, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"audífonos, persona con hipoacusia, pérdida auditiva, implantes cocleares, dispositivos de amplificación, procesadores de sonido, amplificador personal de sonido"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"persona con hipoacusia, pérdida de la audición, subtítulos, Teletipo, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tres botones"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destreza, motriz, persona mayor, artritis, LER, accidente cerebrovascular, temblor, esclerosis múltiple, parálisis cerebral, temblores, lesiones por esfuerzo repetitivo, mano"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"retraso, destreza, persona mayor"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impresión"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desactivado"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 servicio de impresión activado}other{# servicios de impresión activados}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Tiempo restante: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Carga completa en <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tiempo de uso"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tiempo en segundo plano"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Batería baja"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permite que la app se ejecute en segundo plano"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"¿Limitar actividad en segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limitas la actividad en segundo plano de una app, es posible que no funcione correctamente"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Como no se configuró la app para optimizar la batería, no puedes restringirla.\n\nPrimero, activa optimización de batería."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Administrar uso de batería"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir uso en segundo plano"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Habilitar para actualizaciones en tiempo real; inhabilitar para ahorrar batería"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sin restricciones"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizado"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restringido"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Consulta las apps que consumen más batería"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Carga optimizada para proteger la batería"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Para extender la vida útil de la batería, se optimiza la carga"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Carga optimizada para proteger la batería"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para extender la vida útil de la batería, se optimiza la carga cuando el dispositivo está conectado"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Carga optimizada para proteger la batería"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para extender la vida útil de la batería, se optimiza la carga cuando el dispositivo está conectado"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Cargando por completo"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para proteger la batería, se optimizará la carga la próxima vez que se conecte la tablet"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Más información sobre por qué se pausó la carga"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reanudar la carga"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Incluye actividad en segundo plano de alta potencia"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta app podrá usar la batería en segundo plano. La batería podría agotarse antes de lo esperado."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Quitar"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Cargar por completo"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema con el accesorio de carga"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Verifica el accesorio de carga"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Más información sobre la carga no compatible"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Administrador de batería"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Administra apps automáticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"desde la última carga completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Apps del sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Apps desinstalada"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Otros"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tiempo restante estimado"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Para completar la carga"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menos de un minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"En segundo plano: menos de un minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tiempo de uso: menos de un minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menos de un minuto"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"En segundo plano: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tiempo de uso: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ahora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>-<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gráfico del uso de batería"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gráfico de uso de batería diario"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gráfico de uso de batería por hora"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Porcentaje del nivel de batería de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> a <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Uso de batería desde la última carga completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Uso de batería del <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tiempo de uso de pantalla desde la última carga completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Indicador de marcado de emergencia"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Establecer el comportamiento cuando se establece una llamada de emergencia"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Copia de seguridad"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activado"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desactivado"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Crear copia de seguridad y Restablecer"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Datos personales"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Hacer una copia de seguridad de mis datos"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Wi-Fi y datos móviles"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizar datos personales"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronizar datos de trabajo"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sinc. auto. datos privados"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Cambiar el ciclo..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Día del mes para restablecer el ciclo de uso de datos:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ninguna aplicación usó datos durante este período."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nombre"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Dirección del servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Encriptación de PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secreto"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Clave de IPSec compartida previamente"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuario IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA de IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opciones avanzadas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Dominios de búsqueda de DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores DNS (por ejemplo, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rutas de reenvío (por ejemplo, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nombre de usuario"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Contraseña"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Guardar información de la cuenta"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(No se utiliza)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(no verificar el servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(recibido desde el servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN no puede permanecer conectada todo el tiempo"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN siempre activada solo es compatible con direcciones de servidor numéricas"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Debe especificarse un servidor DNS para VPN siempre activada"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Las direcciones de servidor DNS deben ser numéricas para VPN siempre activada"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"La información ingresada no es compatible con la VPN siempre activada."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ignorar"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexiones sin VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"¿Requerir una conexión VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"La VPN no es segura. Actualiza a una VPN IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"No se pudo iniciar la VPN no compatible."</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="vpn_lockdown_none" msgid="455915403560910517">"Ninguna"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"La VPN siempre activada requiere una dirección IP tanto para el servidor como para el DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Recibir boletines sobre secuestros de menores"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Habilitar el Administrador de llamadas"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permitir que este servicio administre la forma de hacer llamadas"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Administrador de llamadas"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertas de emergencia inalámbricas"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Proveedores de red"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nombres de puntos de acceso"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Estado de SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado de SIM (ranura de SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm y <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Se cambiaron las SIMs"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Cambiaron las SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Presiona para configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Preguntar siempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selección requerida"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recientes y predeterminadas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Las apps del perfil de trabajo no tienen acceso a las notificaciones."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Cuentas y contraseñas"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Contraseñas guardadas, autocompletar y cuentas sincronizadas"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugerencias para autocompletar y acceso"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Apps predeterminadas"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Apps clonadas"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crea una segunda instancia de una app para usar dos cuentas al mismo tiempo."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"billetera"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, presionar, pagos"</string>
     <string name="keywords_backup" msgid="707735920706667685">"copia de seguridad, copia"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"rostro, desbloqueo, autorización, acceder"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"rostro, desbloqueo, autenticación, acceder, huella dactilar, datos biométricos"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versión de prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tamaño del texto, letra grande, fuente grande, texto grande, visión reducida, agrandar el texto, agrandar la fuente, agrandamiento de la fuente"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"pantalla ambiente siempre encendida, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiqueta, lector"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclado, tecnología táctil, vibración,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volumen, vibración, No interrumpir"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volumen multimedia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumen de transmisión"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Activar los sonidos"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtitulado instantáneo"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Muestra subtítulos automáticos"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altavoces del teléfono"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Bocinas de la tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Altavoces del dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Auriculares con cable"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"El audio del contenido multimedia compatible se hace más envolvente"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"No"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo el contenido de las notificaciones"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostrar contenido sensible solo al desbloquear"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"No mostrar notificaciones"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"¿Cómo quieres que se muestren las notificaciones en la pantalla de bloqueo?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"¿Qué quieres que muestre tu pantalla de bloqueo?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueo"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar el contenido de notificaciones de trabajo"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar contenido de trabajo confidencial"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Se quitaron las conversaciones recientes"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Se quitó la conversación"</string>
     <string name="clear" msgid="5092178335409471100">"Borrar"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Borrar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Las conversaciones prioritarias y modificadas aparecerán aquí"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Las conversaciones que marques como prioritarias o modifiques aparecerán aquí. \n\nPara cambiar la configuración de las conversaciones, haz lo siguiente: \nDesliza el dedo hacia abajo desde la parte superior de la pantalla para abrir el panel desplegable y mantén presionada una conversación."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizar"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Inactividad de notificaciones"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplicar período de inactividad a todas las notificaciones"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Disminuir gradualmente el volumen de notificación cuando recibes muchas consecutivas de la misma app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplicar período de inactividad a las conversaciones"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Disminuir gradualmente el volumen de notificación cuando recibes muchos mensajes del mismo chat en un período breve"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"No usar el período de inactividad de las notificaciones"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nunca disminuir el volumen de notificación, sin importar la cantidad de notificaciones sucesivas de la misma app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrar cuando se desbloquea"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Solo vibrar cuando la pantalla está desbloqueada"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfiles de trabajo"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplicar la configuración de período de inactividad de notificaciones de tu perfil personal al de trabajo"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servicio de ayuda de RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ninguna app instalada solicitó que se la ejecutara como servicio de ayuda de RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"¿Quieres permitir que el servicio de RV acceda a <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desactivada"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fijación de apps"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Al fijar una app, esta se mantiene visible hasta que dejas de fijarla. Esta función se puede utilizar, por ejemplo, para dejar que alguien de confianza juegue un juego específico."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Si fijas una app, esta podrá abrir otras apps y acceder a tus datos personales. \n\nPara usar la fijación de apps, sigue estos pasos: 	\n1. Activa la fijación de apps. 	\n2. Abre Recientes. 	\n3. Presiona el icono de la app que se encuentra en la parte superior de la pantalla y, luego, Fijar."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Si fijas una app, esta podrá abrir otras apps y acceder a tus datos personales. \n\nSi quieres compartir tu dispositivo con alguien de forma segura, usa un perfil de invitado. \n\nPara fijar una app, sigue estos pasos: 	\n1. Activa fijar apps. 	\n2. Abre Recientes. 	\n3. Presiona el icono de la app que se encuentra en la parte superior de la pantalla y, luego, Fijar."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Si fijas una app, esta podrá abrir otras apps y acceder a tus datos personales. \n\nPara usar la fijación de apps, haz lo siguiente: 	\n{0,number,integer}. Activa la fijación de apps. 	\n{1,number,integer}. Abre Recientes. 	\n{2,number,integer}. Presiona el ícono de la app que se encuentra en la parte superior de la pantalla y, luego, Fijar."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Si fijas una app, esta podrá abrir otras apps y acceder a tus datos personales. \n\nSi quieres compartir tu dispositivo con alguien de forma segura, usa un perfil de invitado. \n\nPara usar la fijación de apps, haz lo siguiente: 	\n{0,number,integer}. Activa la fijación de apps. 	\n{1,number,integer}. Abre Recientes. 	\n{2,number,integer}. Presiona el ícono de la app que se encuentra en la parte superior de la pantalla y, luego, Fijar."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Cuando fijas una app, puede ocurrir lo siguiente: \n\n•		Esta podrá acceder a datos personales (como contactos y contenido de los correos electrónicos). \n•	 Es posible que las apps fijadas abran otras apps.		 \n\nUsa la función para fijar apps solo con personas de confianza.\n"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Solicitar desbloqueo para quitar fijación"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicitar PIN para quitar fijación"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicitar contraseña para quitar fijación"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo al quitar fijación"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar eliminación de SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirma que quieres borrar tu eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifica tu identidad antes de borrar una eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protección de mem. avanzada beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protección de memoria avanzada"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Configuración de app sin usar"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausar actividad en la app si no se usa"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Quitar permisos, borrar archivos temporales y detener notificaciones"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Administrar la app si no se usa"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Quita permisos, borra archivos temporales, detiene notificaciones y archiva la app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas las apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantáneas"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Libre(s)"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memoria que utilizan las aplicaciones"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app usó la memoria en las últimas {time}}other{# apps usaron la memoria en las últimas {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Habilitar la gen. de per. de uso de mem."</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"La generación de perfiles del uso de memoria requiere recursos de sistema adicionales."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Se inhabilitó la generación de perfiles de memoria"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frecuencia"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Uso máximo"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No se usaron datos"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Mostrar sobre otras apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir mostrar sobre otras apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permite que esta app se muestre sobre otras en uso. La app podrá ver si tocas o cambias lo que aparece en la pantalla."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Cambia la salida multimedia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permite a las apps cambiar salidas multimedia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permite que esa app elija el dispositivo conectado que reproduce audio o video de otras apps. Si lo permites, esta app podrá acceder a listas de dispositivos disponibles, como auriculares y bocinas, y elegir el dispositivo de salida que se usa para transmitir audio o video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acceso a todos los archivos"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir administrar todos los archivos"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta app lea, modifique y borre todos los archivos en el dispositivo o cualquier volumen de almacenamiento conectado. Si habilitas el permiso, es posible que la app acceda a archivos sin tu conocimiento explícito."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pueden acceder a todos los archivos"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps con activación por voz"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir la activación por voz"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Las activaciones por voz inician apps aprobadas, sin usar las manos, a través de comandos por voz. Los sensores incorporados y adaptativos garantizan que los datos sean privados solo para ti.\n\n"<a href="">"Más información sobre los sensores adaptativos protegidos"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificaciones de pantalla completa"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificaciones de pantalla completa de esta app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite que esta app muestre notificaciones que ocupan toda la pantalla cuando el dispositivo está bloqueado. Las apps pueden usarlas para destacar alarmas, llamadas entrantes y otras notificaciones urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Advertencia de datos: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Límite de datos: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Advertencia de datos: <xliff:g id="ID_1">^1</xliff:g>/Límite de datos: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"El cálculo de datos del proveedor puede diferir del que hace el dispositivo."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Excluye los datos que usan las redes de los proveedores"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Datos usados: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Configurar advertencia"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Actualizado hace <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Actualizado recién por <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Actualizado recién"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ver plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ver detalles"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Ahorro de datos"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Datos sin restricciones"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usó más batería de la habitual estando en segundo plano"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usó más batería estando en primer plano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usó más batería de la habitual estando en primer plano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Uso de batería anómalo"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Uso de la batería alto"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Uso de la batería alto en segundo plano"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Uso de la batería alto en primer plano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Azulejos de configuración rápida para desarrolladores"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Inhabilitar tiempo de espera de autorización ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Inhabilita la revocación automática de autorizaciones ADB para sistemas que no se volvieron a conectar dentro de un período predeterminado (7 días) o uno configurado por el usuario (mínimo de 1 día)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Seguimiento de Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensores desactivados"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Configuración del perfil de trabajo"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Buscar contactos del directorio de trabajo en apps personales"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegación del sistema, navegación con 2 botones, navegación con 3 botones, navegación por gestos, deslizar"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistente digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Desliza el dedo para invocar al asistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Desliza el dedo hacia arriba desde una de las esquinas inferiores para invocar a la app de asistente digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Desliza el dedo hacia arriba desde una de las esquinas inferiores para invocar a la app de asistente digital."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mantén presionado el botón de inicio para activar Asistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Mantén presionado el botón de inicio para abrir la app de asistente digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Baja"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Servicio Autocompletar"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Servicio de autocompletado predeterminado"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Contraseñas"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Servicios de contraseñas, llaves de acceso y datos"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Proveedores adicionales"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Servicio preferido"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Servicios adicionales"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# contraseña}other{# contraseñas}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automático, completar, autocompletar, contraseña"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"datos, llave de acceso, contraseña"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automático, rellenar, autocompletar, datos, llave de acceso, contraseña"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Cambiar"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Abrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"No se seleccionó ningún elemento"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Asegúrate de que esta app sea confiable&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; usa el contenido de tu pantalla para determinar qué se puede autocompletar."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;¿Quieres usar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; usa el contenido de tu pantalla para determinar qué se puede autocompletar. A partir de ahora, las nuevas contraseñas, llaves de acceso y otros datos se guardarán aquí."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Servicios de contraseñas, llaves de acceso y datos"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;¿Quieres usar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A partir de ahora, las nuevas contraseñas, llaves de acceso y otros datos se guardarán aquí. Es posible que &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; use el contenido de la pantalla para determinar lo que se puede autocompletar."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Servicio preferido para contraseñas, llaves de acceso y autocompletar"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"¿Quieres desactivar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;¿Quieres desactivar este servicio?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; La información guardada, como contraseñas, llaves de acceso, formas de pago y otros datos, no se rellenará cuando accedas. Para usar la información guardada, elige un servicio de contraseña, llave de acceso o datos."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Contraseña/llave de acceso/autocompletar"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;¿Quieres desactivar todos los servicios?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Las contraseñas, llaves de acceso y otra información guardada no estarán disponibles para autocompletar cuando accedas"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;¿Quieres cambiar tu servicio preferido a &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Las contraseñas, llaves de acceso y otra información nueva se guardarán en ese servicio de ahora en adelante. Es posible que &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; use el contenido de la pantalla para determinar lo que se puede autocompletar."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"¿Usar %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desactivar"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Cambiar"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Solo puedes tener 5 servicios activos"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desactiva al menos 1 servicio para agregar otro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s usa el contenido de tu pantalla para determinar qué se puede autocompletar."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Límite de servicios de contraseñas, llaves de acceso y datos"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Puedes tener hasta 5 servicios de contraseñas, llaves de acceso y datos activos al mismo tiempo. Desactiva un servicio para agregar otros."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Límite de servicios de contraseñas, llaves de acceso y datos"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Puedes tener hasta 5 servicios de contraseñas, llaves de acceso y datos activos al mismo tiempo. Desactiva un servicio para agregar otros."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desactivar"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autocompletar"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivel de registro"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Solo se pueden implementar cambios de compatibilidad para las apps depurables. Instala una app depurable y vuelve a intentarlo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de otra opción de configuración"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Cuenta"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d cuentas"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nombre del dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Información básica"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Información reglamentaria y legal"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permite que se inicie esta app cuando se escanee una etiqueta NFC.\nSi se activa este permiso, la app estará disponible como opción siempre que se detecte una etiqueta."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reproducir contenido multimedia en"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reproduce <xliff:g id="LABEL">%s</xliff:g> en"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Se reproducirá el audio en"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"este dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"No disponible durante llamadas"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender llamada en"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Silenciar"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"A fin de habilitar la función, cambia \"Mantener presionado el botón de encendido\" para acceder al menú de encendido."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalles de la red"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"El nombre de tu dispositivo es visible para las apps del teléfono. 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="devices_title" msgid="649715719278562515">"Dispositivos"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Elegir una red"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Desconectado"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nombre"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Color (utilizado por apps compatibles)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Guardar"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Usar SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usar esta SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desactivado"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para inhabilitar esta tarjeta SIM, quítala"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Presiona para activar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar tarjeta SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para desactivar esta tarjeta SIM, quítala"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Presiona para activar la SIM de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Borrar eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de red preferido"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Cambiar el modo operativo de la red"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo de red preferido"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Para saber los precios, consulta con tu proveedor de red."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Uso de datos de las apps"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"El modo de red no es válido: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorar."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mensajería satelital"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envía y recibe mensajes de texto a través de satélites (incluido con tu cuenta)."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envía y recibe mensajes de texto a través de satélites (no incluido con tu cuenta)."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mensajería satelital"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Información sobre la mensajería satelital"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Puedes enviar y recibir mensajes de texto por satélite como parte de una cuenta de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> apta"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Tu plan de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"La mensajería satelital está incluida con tu cuenta"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"La mensajería satelital no está incluida con tu cuenta"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Agregar mensajería satelital"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Cómo funciona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Cuando no tienes una red móvil"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Tu teléfono se conectará automáticamente a un satélite. Para tener una mejor conexión, mantén una vista clara del cielo."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Luego de que tu teléfono se conecta a un satélite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Puedes enviar mensajes de texto a quien quieras, incluidos los servicios de emergencia. Tu teléfono se volverá a conectar a la red móvil cuando esté disponible."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"La mensajería satelital podría demorar más y solo está disponible en ciertas áreas. El clima y ciertas estructuras podrían afectar su conexión. Las llamadas satelitales no están disponibles.\n\nPuede que los cambios en tu cuenta tarden un tiempo en mostrarse en la Configuración. Comunícate con <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para obtener más información."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Más información sobre la mensajería satelital"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nombres de puntos de acceso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"No está disponible cuando estás conectado a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"¿Quieres cambiar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"¿Cambiar a uso de tarjeta SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"¿Quieres usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Solo se puede activar una tarjeta SIM a la vez.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará el servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Solo puede estar activa una sola eSIM a la vez.\n\nSin embargo, si cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Solo se puede activar una tarjeta SIM a la vez.\n\nSi cambias, no se cancelará el servicio de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Solo puede haber 1 SIM activa a la vez.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Solo puede haber 1 eSIM activa a la vez.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, se no cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Solo puede haber 1 SIM activa a la vez.\n\nSi cambias a la otra SIM, no se cancelará tu servicio de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Puedes usar 2 SIM a la vez. Para utilizar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desactiva otra SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Cambiar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desactivar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Desactivar una SIM no cancelará tu servicio"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Estableciendo conexión con la red…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Cambiando a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para llamadas y mensajes…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"No se puede cambiar de proveedor"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"No se puede cambiar de proveedor debido a un error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activando la SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Cambiando a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"No se puede cambiar de SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Se produjo un error. No se puede cambiar de SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"¿Quieres desactivar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"¿Quieres desactivar la tarjeta SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desactivando SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"No se puede inhabilitar el proveedor"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Se produjo un error y no se pudo inhabilitar tu proveedor."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"No se puede desactivar la SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Se produjo un error y no se pudo desactivar la SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"¿Quieres usar 2 tarjetas SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo puede tener 2 tarjetas SIM activas al mismo tiempo. Para seguir usando una sola, presiona \"No, gracias\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"¿Quieres reiniciar el dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, gracias"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambiar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactivar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"No se puede activar la SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Vuelve a activar la SIM. Si el problema persiste, reinicia el dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configura tu SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Configura las preferencias de tu red móvil para usar varias SIM en este dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etiqueta tus SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Verás estas etiquetas cuando realices llamadas, envíes mensajes de texto y uses datos, y en la Configuración"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etiqueta de SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiqueta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Selecciona qué SIM usar"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Puedes usar 2 SIM a la vez"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Configura tus SIM principales"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Elige qué SIM se deben usar de manera predeterminada para llamadas, mensajes de texto y datos"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Tus SIM principales"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Llamadas"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mensajes de texto"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Cambio de datos automático"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Usa datos de cualquier SIM según la cobertura y la disponibilidad"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Solo datos"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configuración"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Siguiente"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Activando <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Red móvil"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de teléfono"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Color y etiqueta de SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activación de red"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Cambio de proveedor"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> está activo"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"La SIM de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está activa"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Presiona para actualizar la configuración de la tarjeta SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Se cambió a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Se cambió a otro proveedor"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Se modificó la red móvil"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configura la otra SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Elige tu SIM activa o usa 2 al mismo tiempo"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Elige el número que quieras usar"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Hay 1 número disponible en este dispositivo, pero solo se puede usar uno a la vez}=2{Hay 2 números disponibles en este dispositivo, pero solo se puede usar uno a la vez}other{Hay # números disponibles en este dispositivo, pero solo se puede usar uno a la vez}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"No se puede activar en este momento"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Elige una SIM para usar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Hay 1 SIM disponible en este dispositivo, pero solo se puede usar una a la vez}=2{Hay 2 SIM disponibles en este dispositivo, pero solo se puede usar una a la vez}other{Hay # SIM disponibles en este dispositivo, pero solo se puede usar una a la vez}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Activando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"No se puede activar esta SIM ahora mismo"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"¿Deseas usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Se usará <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para datos móviles, llamadas y SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No hay tarjetas SIM activas disponibles"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para usar datos móviles, funciones de llamada y SMS en otro momento, ve a la configuración de red"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"¿Quieres borrar esta eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si borras esta tarjeta SIM, se quitará el servicio de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de este dispositivo.\n\nSin embargo, no se cancelará el servicio de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Se quitará el servicio de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de este dispositivo, pero no se cancelará tu plan de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Borrar"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Borrando tarjeta SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"No se puede borrar la tarjeta SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"No es posible borrar esta tarjeta SIM porque se produjo un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Borrando eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"No se puede borrar la eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Se produjo un error y esta eSIM no se borró.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar al dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"La app de <xliff:g id="APPNAME">%1$s</xliff:g> quiere usar una red Wi-Fi temporal para conectarse a tu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No se encontraron dispositivos. Asegúrate de que los dispositivos estén encendidos y puedan conectarse."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Llamadas de emergencia"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Tu proveedor no admite llamadas de emergencia mediante la función Llamada por Wi-Fi.\nEl dispositivo cambia automáticamente a una red móvil para hacer una llamada de emergencia.\nEste tipo de llamadas solo se pueden realizar en áreas con cobertura móvil."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Usar Wi‑Fi para mejorar la calidad de las llamadas"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Llamada de copia de seguridad"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Si <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> no está disponible o usas roaming, usa los datos móviles de tu SIM para las llamadas de <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"llamada de copia de seguridad"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mensaje MMS entrante"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"No se puede enviar el mensaje MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Presiona para permitir los mensajes MMS en <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> cuando los datos móviles estén desactivados"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Información sobre la política de tu trabajo"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configuración gestionada por tu administrador de TI"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Inicia con páginas de 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Inicia con kernel compatible con páginas de 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"¿Quieres reiniciar con el kernel compatible con páginas de 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ADVERTENCIA: Algunas aplicaciones podrían no ser compatibles con este modo. El dispositivo se reiniciará luego de la confirmación."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"¿Quieres reiniciar con el kernel compatible con páginas de 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"El dispositivo se reiniciará luego de la confirmación."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"No se pudo actualizar el kernel a uno compatible con páginas de 16 KB"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Aplicando cambio"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador de informes de errores"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qué app controla el acceso directo a los informes de errores en el dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permite que las apps que pueden mostrar contenido sobre otras se superpongan a las pantallas de Configuración"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permitir módem de prueba"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permite que este dispositivo ejecute un servicio de módem de prueba para realizar una prueba de instrumentación. No habilites esta opción durante el uso normal del teléfono."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Inhabilitar protecciones cuando compartes pantalla"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Desactiva las protecciones que se aplican a apps y notificaciones cuando se comparte la pantalla"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Contenido multimedia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fijar reproductor multimedia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Para reanudar rápidamente la reproducción, el reproductor multimedia permanece abierto en Configuración rápida"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostrar contenido multimedia en la pantalla de bloqueo"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Para reanudar rápidamente la reproducción, el reproductor multimedia permanece abierto en la pantalla de bloqueo"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostrar recomendaciones multimedia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostrar recomendaciones multimedia de Asistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Según tu actividad"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ocultar reproductor"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostrar reproductor"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"contenido multimedia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permitir extensiones de software de la cámara"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Permite la implementación predeterminada de software de funciones avanzadas de la cámara, como la videografía Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Se activará el Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Activa"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactiva"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activa"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"No activa"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Configuración predeterminada para <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"llamadas"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"El audio de contenido multimedia compatible se hace más envolvente"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Seguimiento de cabeza"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"El audio cambia a medida que mueves la cabeza para sonar más natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sincronización de permisos"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Otórgale al <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> los mismos permisos de la app que tiene <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronización de permisos desde el teléfono"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Otórgale al reloj los mismos permisos de la app de este teléfono"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo de dispositivo de audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Desconocido"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Bocina"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Esta app solo puede estar abierta en 1 ventana"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Función activada"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Función desactivada"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Acceso directo desactivado"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desactivado"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Activada"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desactivada"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Activada"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desactivada"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Aclara las pantallas oscuras y oscurece las pantallas claras"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Acerca la pantalla"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desactivado"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desactivado"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Análisis de apps engañosas"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Revisar la actividad en las apps en busca de phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar análisis para apps engañosas"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar análisis para apps de trabajo engañosas"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Se estableció la contraseña"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostrar el puntero cuando el cursor se coloca sobre un elemento"</string>
 </resources>
diff --git a/res/values-es/arrays.xml b/res/values-es/arrays.xml
index caf220d..703bb51 100644
--- a/res/values-es/arrays.xml
+++ b/res/values-es/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponible"</item>
     <item msgid="6096962300722555553">"Fuera del alcance"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usar opción predeterminada del sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Tras 1 minuto"</item>
     <item msgid="1574040255478150028">"Tras 5 minutos"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-es/strings.xml b/res/values-es/strings.xml
index ca05447..295a8cc 100644
--- a/res/values-es/strings.xml
+++ b/res/values-es/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"¡Ahora están activadas las opciones para desarrolladores!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Las opciones para desarrolladores ya están activadas."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Habilita primero las opciones para desarrolladores."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Solo los usuarios administradores pueden acceder a los ajustes para desarrolladores."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servicio"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fuera de servicio"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"La pantalla frontal se enciende cuando pliegas el dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Solo juegos, vídeos y otras"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"La pantalla frontal se enciende para las aplicaciones que evitan que la pantalla quede inactiva"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Deslizar hacia arriba para continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Pliega tu teléfono y desliza hacia arriba en la pantalla frontal para seguir usando la aplicación, o espera unos segundos hasta que se bloquee la pantalla"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nunca"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"La pantalla frontal se bloquea cuando pliegas el dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Usar giro automático"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionados"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Tono de llamada y alarmas"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio durante las llamadas"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimedia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificaciones y otros sonidos"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sonidos multimedia y del sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificaciones"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"De forma predeterminada, la salida de audio la determinan aplicaciones concretas"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositivo Bluetooth sin nombre"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Buscando"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancelar"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Inhabilitar Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Inhabilita la función Bluetooth LE Audio si el dispositivo es compatible con las capacidades de hardware de LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modo Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Botón LE Audio en Detalles del dispositivo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Habilitar la lista de permitidos de Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Habilita la función de lista de permitidos de Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ignorar lista de permitidos de Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Usa LE Audio de forma predeterminada aunque no se haya verificado que el periférico LE Audio cumpla los criterios de la lista de permitidos."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos multimedia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de llamada"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Otros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Asociado a la cuenta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usados previamente con una cuenta"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"El Bluetooth se activará para emparejar"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectado anteriormente"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Lápiz óptico"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pulsar botón superior"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabajo)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escribir en campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todas las pulsaciones del botón del lápiz óptico"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Lápiz óptico"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Uso compartido de audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartir audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Llamadas y alarmas"</string>
+    <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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectar a un stream de audio mediante código QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"No se han encontrado streams cercanos."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Fecha y hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Borrar"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"¿Añadir %s a los idiomas preferidos?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Esto permite que los sitios web y apps sepan que también prefieres este idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Los ajustes y preferencias regionales de tu dispositivo cambiarán."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Cambiar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s no está disponible"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sábado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si una aplicación no admite preferencias regionales, usará sus ajustes predeterminados de configuración regional."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Más información sobre las preferencias de idioma"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferencias adicionales"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Formas de dirigirse a ti"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Configura cómo quieres que se dirijan a ti"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Las aplicaciones pueden utilizar diferentes formas personalizadas para dirigirse a ti."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Sin especificar"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femenino"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculino"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutro"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{¿Eliminar idioma seleccionado?}other{¿Eliminar idiomas seleccionados?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"El texto se mostrará en otro idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"No puedes quitar todos los idiomas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Ubicación"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar ubicación"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivado"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Más información sobre los ajustes de ubicación"</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="3574930966097093550">"Cambia el acceso a la ubicación en Ajustes &gt; Seguridad y priv. &gt; Controles de priv."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Cuentas"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Seguridad"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Cifrado y credenciales"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para obtener mejores resultados, usa un protector de pantalla con certificado Made for Google. Con otros protectores de pantalla, puede que la huella digital de tu hijo/a no funcione."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueo con reloj"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Cuando configures Desbloqueo facial y Desbloqueo con huella digital, el teléfono te pedirá la huella digital si llevas mascarilla o estás en un lugar con poca luz.\n\nPuedes desbloquear el teléfono con tu reloj si no reconoce tu cara o tu huella digital."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Puedes desbloquear el teléfono con tu reloj cuando no reconozca tu huella digital."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Puedes desbloquear el teléfono con tu reloj cuando no reconozca tu cara."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Si configuras Desbloqueo facial y Desbloqueo con huella digital, el teléfono te pedirá la huella digital si llevas mascarilla o estás en un entorno con poca luz.\n\nDesbloqueo con reloj es otra forma cómoda de desbloquear el teléfono, por ejemplo, si tienes los dedos húmedos o no se reconoce tu cara."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Desbloqueo con reloj es otra forma cómoda de desbloquear el teléfono, por ejemplo, cuando no se reconoce tu huella digital."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Desbloqueo con reloj es otra forma cómoda de desbloquear el teléfono, por ejemplo, cuando no se reconoce tu cara."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Usa la huella digital o el reloj para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Usa la cara o el reloj para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Usa la cara, la huella digital o el reloj para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Desbloqueo con reloj es otra forma útil de desbloquear el teléfono, como cuando tus dedos están húmedos o no se reconoce tu cara.\n\nPuedes usar tu reloj para desbloquear este teléfono al realizar estas acciones:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ahora no"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Más"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Cómo funciona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Tu reloj debe estar desbloqueado, en tu muñeca y dentro del alcance de este teléfono. No tendrás que volver a desbloquear el reloj mientras esté en tu muñeca."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Cuando el teléfono esté desbloqueado, recibirás una notificación en tu reloj. Si desbloqueas el teléfono sin querer, toca la notificación para volver a bloquearlo."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Tú tienes el control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Puedes quitar tu smartwatch de Desbloqueo con reloj en cualquier momento desde Ajustes"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Toca una notificación"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Desliza hacia arriba en la pantalla de bloqueo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Elige tu reloj"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Relojes disponibles"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancelar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmar"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"¡Listo!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Ahora puedes usar tu reloj para desbloquear este teléfono cuando deslices hacia arriba en la pantalla de bloqueo o toques una notificación"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Hecho"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueo con reloj"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Puedes usar tu reloj para desbloquear este teléfono cuando deslices hacia arriba en la pantalla de bloqueo o toques una notificación"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar Desbloqueo con reloj, tu reloj debe estar desbloqueado, en tu muñeca, dentro del alcance y conectado a este teléfono. Si se interrumpe la conexión, tendrás que desbloquear el teléfono para usar Desbloqueo con reloj.\n\nNota:\nNo puedes tener más de un reloj configurado a la vez. Para añadir otro reloj, primero quita el anterior."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Seguridad"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacidad"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabajo"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espacio privado"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Bloquea y oculta tus aplicaciones privadas"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantén las aplicaciones privadas en un espacio separado que puedas ocultar o bloquear"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueo de espacio privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Puedes desbloquear el espacio privado de la misma forma que desbloqueas tu dispositivo, o bien con un bloqueo diferente"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar el bloqueo de pantalla del dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueo facial y con huella digital"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueo con huella digital"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueo facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toca para configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueo con huella digital para espacio privado"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueo facial para espacio privado"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Formas de desbloqueo"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual que el bloqueo de pantalla del dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"¿Elegir un nuevo bloqueo para el espacio privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloquear automáticamente el espacio privado"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Puedes bloquear tu espacio privado automáticamente si no has usado el dispositivo durante un tiempo"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Cada vez que el dispositivo se bloquea"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Después de 5 minutos de inactividad"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nunca"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar cuando esté bloqueado"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ocultar espacio privado si está bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Para evitar que se sepa que tienes un espacio privado en tu dispositivo, puedes ocultarlo desde tu lista de aplicaciones"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Acceder al espacio privado cuando está oculto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Escribe \"espacio privado\" en la barra de búsqueda de la lista"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Toca el recuadro de espacio privado"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloquea tu espacio privado"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desactivado"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activado"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Eliminar espacio privado"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"¿Eliminar espacio privado?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Se eliminará tu espacio privado del dispositivo. Se eliminarán los datos y las aplicaciones. No podrás deshacer esta acción."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Las siguientes cuentas se eliminarán de tu espacio privado:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Eliminar"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Eliminando espacio privado…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Tardará un momento"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Espacio privado eliminado"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"El espacio privado no se ha podido eliminar"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espacio privado desbloqueado"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Define un bloqueo de pantalla"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para usar el espacio privado, define un bloqueo de pantalla en este dispositivo"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Define un bloqueo de pantalla"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancelar"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurar"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configurar un espacio privado"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantén las aplicaciones privadas en un espacio separado que puedas ocultar o bloquear"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Cómo funciona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Puedes acceder al espacio privado desde la parte inferior de tu lista de aplicaciones"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Las apps del espacio privado están protegidas con un bloqueo"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Las notificaciones de las aplicaciones del espacio privado se ocultan si está bloqueado"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Las aplicaciones del espacio privado no se mostrarán en el Gestor de permisos, el panel de privacidad o en otros ajustes si el espacio privado está bloqueado.\n\nTu espacio privado no se puede trasladar a otro dispositivo. Debes configurar otro espacio privado si quieres usarlo en otro dispositivo.\n\nCualquier persona que conecte tu dispositivo a un ordenador o instale aplicaciones dañinas en tu dispositivo podría acceder a tu espacio privado."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espacio privado…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Las notificaciones de las aplicaciones del espacio privado se ocultan si está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloquea el espacio privado para compartir fotos o archivos"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Algunas aplicaciones ya están instaladas en tu 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_lockscreen_title" msgid="6034864097861137509">"¿Usar bloqueo de pantalla para desbloquear espacio?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Puedes desbloquear el espacio privado de la misma forma que desbloqueas tu dispositivo, o bien con un bloqueo diferente"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueo de pantalla"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Elegir nuevo aspecto"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"¡Todo listo!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para acceder a tu espacio privado, ve a la lista de aplicaciones y desplázate hacia abajo"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Hecho"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Desplázate hacia abajo para encontrar un espacio privado"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Iniciar sesión"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Inicia sesión en una cuenta para usarla con tu espacio privado"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ahora no"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuar"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Elige un bloqueo para tu espacio privado"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Puedes desbloquear tu espacio privado con tu huella digital. Por motivos de seguridad, para utilizar esta opción necesitas un bloqueo alternativo."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Configura un PIN para el espacio"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Configura una contraseña para el espacio"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Configura un patrón para el espacio"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puedes añadir hasta <xliff:g id="COUNT">%d</xliff:g> huellas digitales"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Has añadido el número máximo de huellas digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"No se pueden añadir más huellas digitales"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patrón"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Contraseña"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"¿Eliminar bloqueo de pantalla?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"¿Eliminar todos los tipos de desbloqueo del dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"¿Quitar la protección del perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"El patrón protege tu teléfono si lo pierdes o te lo roban"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"El patrón protege tu teléfono si lo pierdes o te lo roban.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Esta acción eliminará el modelo de huella digital guardado en tu dispositivo. Tu modelo facial también se eliminará de forma permanente y segura. No podrás usar tu cara ni tu huella digital para autenticarte en aplicaciones."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"El PIN protege tu teléfono si lo pierdes o te lo roban"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Perderás datos guardados, como el PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se eliminarán las tarjetas que uses con el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Es posible que las aplicaciones de cartera y otras que requieren el desbloqueo del dispositivo no funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"El PIN protege tu teléfono si lo pierdes o te lo roban.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Esta acción también eliminará el modelo de huella digital guardado en tu dispositivo. No podrás usar tu huella digital para autenticarte en aplicaciones."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Perderás datos guardados, como el PIN y el modelo de la huella digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se eliminarán las tarjetas que uses con el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Es posible que las aplicaciones de cartera y otras que requieren el desbloqueo del dispositivo no funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"El PIN protege tu teléfono si lo pierdes o te lo roban.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Tu modelo facial también se eliminará de forma permanente y segura. No podrás usar tu cara para autenticarte en aplicaciones."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Perderás datos guardados, como el PIN y el modelo facial.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se eliminarán las tarjetas que uses con el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Es posible que las aplicaciones de cartera y otras que requieren el desbloqueo del dispositivo no funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"El PIN protege tu teléfono si lo pierdes o te lo roban.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Esta acción también eliminará el modelo de huella digital guardado en tu dispositivo. Tu modelo facial también se eliminará de forma permanente y segura. No podrás usar tu cara ni tu huella digital para autenticarte en aplicaciones."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Perderás datos guardados, como el PIN y el modelo facial y de la huella digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Se eliminarán las tarjetas que uses con el pago sin contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Es posible que las aplicaciones de cartera y otras que requieren el desbloqueo del dispositivo no funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"La contraseña protege tu teléfono si lo pierdes o te lo roban"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"La contraseña protege tu teléfono si lo pierdes o te lo roban.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"¿Emparejar con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Añade un nuevo miembro al conjunto coordinado"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirma para añadir la segunda pieza de tu dispositivo de audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Código de emparejamiento por Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Escribe el código de vinculación y, a continuación, pulsa la tecla Intro"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"El PIN contiene letras o símbolos."</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Debe tener 16 dígitos"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Es posible que tengas que introducir este PIN en el otro dispositivo."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Es posible que tengas que introducir la llave de acceso en el otro dispositivo."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirma para emparejar con el conjunto coordinado"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirma para emparejar con el dispositivo de audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permitir acceso a tus contactos y al historial de llamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"También permite acceder a los contactos y al historial de llamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"La información se utilizará para avisos de llamada y más"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"No se ha podido establecer conexión con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivos disponibles"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Emparejar y conectar"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Cuando el Bluetooth está activado, tu dispositivo se puede comunicar con otros dispositivos cercanos que tengan Bluetooth"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Con el Bluetooth activado, tu dispositivo se puede comunicar con dispositivos Bluetooth cercanos"</string>
     <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_scan_change" msgid="1744636222637390367">"Cambiar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalles del dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que el ART verifique el bytecode de aplicaciones depurables"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar tasa de refresco"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Muestra la tasa de refresco de la pantalla"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar proporción HDR-SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Muestra la proporción HDR-SDR actual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Requerir que el dispositivo esté desbloqueado para usar NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Modo Avión"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificar si hay redes públicas"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Recibe una notificación si hay una red pública de alta calidad disponible"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permitir redes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP es un protocolo de seguridad antiguo que es menos seguro"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Tu operador no admite redes WEP porque son menos seguras"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activar Wi-Fi automáticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"La conexión Wi-Fi se volverá a activar automáticamente cerca de las redes de alta calidad guardadas, como la de tu casa"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"No está disponible porque la ubicación no está activada. Activa la "<annotation id="link">"ubicación"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La búsqueda de redes Wi‑Fi permite que las aplicaciones y los servicios busquen redes Wi‑Fi en cualquier momento aunque la conexión Wi‑Fi esté desactivada. Esto se puede usar para, por ejemplo, mejorar las funciones y servicios basados en la ubicación."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Búsqueda de redes Wi‑Fi activada"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Esta red usa un protocolo de seguridad antiguo que es menos seguro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> está bloqueada"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Esta red usa un protocolo de seguridad antiguo denominado WEP, que es menos seguro. Si quieres conectarte igualmente, puedes habilitar las redes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Tu operador no te permite conectarte a esta red porque usa un protocolo de seguridad antiguo que es menos seguro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permitir WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Cerrar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opciones avanzadas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista desplegable de opciones avanzadas"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"mostrar"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Mantener conexión Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"No volver a mostrar"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Conectar"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Red Wi‑Fi activada"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Conectando a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Conectando…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Error al conectar a la red"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"La red está fuera de rango"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Olvidar"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modificar"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Error al olvidar la red"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Guardar"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Error al guardar la red"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancelar"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Datos móviles"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Cargando"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Cargando"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Conexión de punto de acceso"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Calidad de conexión"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes guardadas"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"No se ha definido ninguna contraseña"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nombre del punto de acceso"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Contraseña del punto de acceso"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda del punto de acceso"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactivar Compartir Internet automáticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Cuando no hay dispositivos conectados"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Ampliar compatibilidad"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balance de blancos de pantalla"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Seguir usando apps al plegarlo"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Pantalla fluida"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Incrementa automáticamente la frecuencia de actualización de 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz en determinados tipos de contenido. Aumenta el uso de batería."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Inhabilitar velocidad de fotogramas predeterminada en juegos"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Inhabilita el límite máximo de velocidad de fotogramas de los juegos de <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Pantalla fluida"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Incrementa automáticamente la frecuencia de actualización a <xliff:g id="ID_1">%1$d</xliff:g> Hz en determinados tipos de contenido. Aumenta el uso de la batería."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar tasa de refresco máxima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Se usa la tasa de refresco más alta posible para mejorar la capacidad de respuesta táctil y la calidad de las animaciones. Aumenta el uso de la batería."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Pantalla atenta"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"La función Pantalla atenta usa la cámara frontal para detectar si hay alguien mirando la pantalla. Funciona solo en el propio dispositivo y las imágenes no se almacenan ni se envían a Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activa Pantalla atenta"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantiene la pantalla encendida al mirarla"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Un tiempo de espera de la pantalla más largo consumirá más batería."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"La cámara está bloqueada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"La cámara tiene que estar desbloqueada para usar Detección de caras"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"La cámara debe estar desbloqueada para activar la función de pantalla atenta"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ranura de SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ranura de SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>, primario)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Para verla, selecciona una red guardada"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versión de PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivel de batería"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Comunes"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Ajustes comunes"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mensajes por satélite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editar punto de acceso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Añadir punto de acceso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Sin establecer"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Sin configurar"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nombre"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN habilitado"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN inhabilitado"</string>
     <string name="bearer" msgid="3231443241639159358">"Tipo de conexión"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo de red"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Sin especificar"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo de OMV"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor de OMV"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Eliminar APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Guardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada de APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"El campo Nombre no puede estar vacío."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"El campo APN no puede estar vacío."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"El campo MCC debe contener 3 dígitos."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"El campo MNC debe contener 2 o 3 dígitos."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"El operador no permite que se añadan APNs de tipo %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"El campo MMSC debe ser válido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restaurando la configuración de APN predeterminada"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Restablecer ajustes"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Se ha restablecido la configuración predeterminada de APN."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restablecer"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"El Bluetooth y el Wi-Fi se han restablecido"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Borrar eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"No se cancelará ningún plan de servicios móviles. Para descargar una tarjeta SIM de sustitución, ponte en contacto con tu operador."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Esta acción no cancelará tu plan de servicios móviles. Para obtener una SIM de recambio, ponte en contacto con tu operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restablecer ajustes"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"¿Quieres restablecer la configuración de red? No podrás deshacer esta acción."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"¿Restablecer todos los ajustes de red y borrar las eSIMs? No podrás deshacer esta acción."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"¿Restablecer?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Este usuario no puede restablecer la red"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Se han recuperado los ajustes de red"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"No se pueden borrar las SIMs"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"No se pueden borrar las eSIMs debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"No se pueden borrar las eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Se ha producido un error y tus eSIMs no se han borrado.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Volver al estado de fábrica (borrar todo)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Volver al estado de fábrica (borrar todo)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Música"</li>\n<li>"Fotos"</li>\n<li>"Otros datos de usuario"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"No se cancelará tu plan móvil."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Se eliminarán las aplicaciones que hayas descargado y tu información personal. No podrás deshacer esta acción."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Se eliminará toda tu información personal, incluidas las aplicaciones y las tarjetas SIM descargadas. No podrás deshacer esta acción."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Se eliminará toda tu información personal, incluidas las aplicaciones y las eSIM descargadas. No podrás deshacer esta acción."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"¿Borrar todos los datos?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Este usuario no puede restablecer el estado de fábrica"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Borrando"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Compartir Internet, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"No se está compartiendo Internet con otros dispositivos"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desactivado"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Compartir conexión"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"No usar Compartir Internet"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartir Internet solo mediante USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartir Internet solo mediante Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Compartir Internet solo por Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartir Internet solo mediante USB y Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Compartir Internet solo por USB y Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Compartir Internet solo por Bluetooth y Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Compartir Internet solo por USB, Bluetooth y Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Compartir conexión por USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Compartir conexión por Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Compartir conexión por Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Usa Compartir Internet para que otros dispositivos puedan conectarse a Internet a través de tu red Wi‑Fi o de datos móviles. Las aplicaciones también pueden crear un punto de acceso para compartir contenido con dispositivos cercanos."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ayuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Red móvil"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plan móvil"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplicación de SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"¿Cambiar aplicación de SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"¿Usar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> como aplicación de SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"¿Cambiar asistente de Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"¿Usar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para administrar tus conexiones de red?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"¿Usar <xliff:g id="NEW_APP">%s</xliff:g> para administrar tus conexiones de red?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operador de SIM desconocido"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> no tiene ningún sitio web de aprovisionamiento"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Inserta la tarjeta SIM y reinicia el dispositivo"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Debes conectarte a Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Solicitudes de ubicación recientes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Ubicación para el perfil de trabajo"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permisos de ubicación de aplicaciones"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Permitir acceso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controles"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forzar detención"</string>
+    <string name="archive" msgid="9074663845068632127">"Archivar"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurar"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restaurando"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restaurando."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restaurando.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restaurando..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tamaño de la aplicación"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"En almacenamiento USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"No se ha podido calcular el tamaño del paquete."</string>
     <string name="version_text" msgid="7628938665256107608">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mover"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"No se ha podido archivar"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> archivado"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"No se ha podido restaurar"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restaurando <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Hay otra migración en curso."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"No hay suficiente espacio de almacenamiento."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"La aplicación no existe."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclado en pantalla disponible"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gestionar teclados en pantalla"</string>
     <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="6922850403920596246">"Habilita teclas de rebote para mejorar la accesibilidad del teclado físico"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Habilita teclas lentas para mejorar la accesibilidad del teclado físico"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Teclas persistentes"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Habilita teclas persistentes para mejorar la accesibilidad del teclado físico"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Combinaciones de teclas"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Muestra lista de combinaciones de teclas"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Perfiles de trabajo y herramientas"</string>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Velocidad del puntero"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Consultar gestos del panel táctil"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ir a inicio"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Desliza tres dedos hacia arriba en el panel táctil"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Ir atrás"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenar por tiempo de uso"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenar por último uso"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenar por nombre de app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Último uso"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Último uso"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nunca"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Tiempo de uso"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accesibilidad"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Ajustes de accesibilidad"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar con tres toques"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliación con acceso directo"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Amplía con un acceso directo y tres toques"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Información de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa el botón de accesibilidad para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantén pulsadas las teclas de volumen para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toca tres veces la pantalla para abrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Toca dos veces la pantalla para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar gesto de accesibilidad"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esta función, toca el botón de accesibilidad <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>, situado en la parte inferior de la pantalla.\n\nPara pasar de una función a otra, mantén pulsado el botón de accesibilidad."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esta función, toca el botón de accesibilidad de la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esta función, mantén pulsadas las dos teclas de volumen."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar o detener la ampliación, toca tres veces en cualquier parte de la pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Para iniciar o detener la ampliación, toca dos veces en cualquier parte de la pantalla con dos dedos."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esta función, desliza hacia arriba con dos dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esta función, desliza hacia arriba con tres dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con tres dedos y mantén pulsada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar una función de accesibilidad, desliza hacia arriba con dos dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con dos dedos y mantén pulsada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Para usar una función de accesibilidad, desliza hacia arriba con tres dedos desde la parte inferior de la pantalla.\n\nPara pasar de una función a otra, desliza hacia arriba con tres dedos y mantén pulsada la pantalla."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entendido"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Ajustes del botón de accesibilidad"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Configuración del botón"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Acceso directo a <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botón de accesibilidad"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto de accesibilidad"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mantener teclas de volumen"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantener pulsadas las 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tocar dos veces la pantalla con dos 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="6863958573135995927">"tocar tres veces la pantalla"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Más información sobre el botón y el gesto de accesibilidad"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Usando el botón de accesibilidad. El gesto no está disponible si se usa la navegación con 3 botones."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accede rápidamente a funciones de accesibilidad"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para empezar:"</b>\n"1. Ve a los ajustes de accesibilidad.\n2. Selecciona una función y toca el acceso directo.\n3. Elige si quieres usar un botón o un gesto para acceder a la función."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para empezar:"</b>\n"1. Ve a los ajustes de accesibilidad.\n2. Selecciona una función y toca el acceso directo.\n3. Elige el botón con el que quieres acceder a la función."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para empezar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ve a los ajustes de accesibilidad.&lt;br/&gt; {1,number,integer}. Selecciona una función y toca el acceso directo.&lt;br/&gt; {2,number,integer}. Elige si quieres usar un botón o un gesto para acceder a la función.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para empezar:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ve a los ajustes de accesibilidad.&lt;br/&gt; {1,number,integer}. Selecciona una función y toca el acceso directo.&lt;br/&gt; {2,number,integer}. Elige el botón que quieres usar para acceder a la función.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Usar botón o gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Ubicación"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamaño"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Colgar con botón de encendido"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Cursor del ratón grande"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Haz más visible el cursor del ratón"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Oscurecer todas las aplicaciones"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Para las apps que no tengan tema oscuro. Algunas pueden tener problemas, como colores invertidos."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Quitar animaciones"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce el movimiento de la pantalla"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio en mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Usar vibración y vibración al pulsar"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibración de alarmas"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibración de contenido multimedia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibración del teclado"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibración del tono"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibración de las notificaciones"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respuesta táctil"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Detener"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"¿Detener <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Si tocas <xliff:g id="STOP">%1$s</xliff:g>, se detendrá <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactivar"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Dejar activado"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"¿Desactivar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"No se ha instalado ningún servicio."</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"No se ha seleccionado ningún servicio"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"No se ha especificado ninguna descripción."</string>
     <string name="settings_button" msgid="2195468788019730377">"Ajustes"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"fotosensibilidad, fotofobia, tema oscuro, migraña, dolor de cabeza, modo lectura, modo noche, reducir brillo, punto blanco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"facilidad de uso, facilidad de acceso, asistencia, ayuda"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visión, audición, invidente, sordo, motricidad, destreza, asistencia, facilidad de uso, facilidad de acceso, mano, ayuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"lupa, zoom, ampliación, baja visión, ampliar, agrandar, hacer más grande"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"subtítulos, Transcripción instantánea, deficiencia auditiva, pérdida de audición, transcripción en tiempo real, transcripción de voz"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste de color"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"habilidades motoras, motricidad, ratón"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"audífonos, deficiencia auditiva, pérdida de audición, implantes cocleares, dispositivos de amplificación de sonido, procesadores de sonido"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motricidad, ratón, ratón externo, ratón de cabeza, ratón adaptable, silla de ruedas, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"audífonos, deficiencia auditiva, pérdida de audición, implantes cocleares, dispositivos de amplificación de sonido"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"deficiencia auditiva, pérdida de audición, subtítulos, teletipo"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tres botones"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destreza, motricidad, persona mayor, artritis, rsi, accidente cerebrovascular, temblor, esclerosis múltiple, parálisis cerebral, temblores, lesión por esfuerzo repetitivo, mano"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"retraso, destreza, persona mayor"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impresión"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desactivado"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 servicio de impresión activo}other{# servicios de impresión activos}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Quedan <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> para completar la carga"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tiempo de pantalla"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tiempo en segundo plano"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Batería baja"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permite que la aplicación se ejecute en segundo plano"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"¿Limitar actividad en segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limitas la actividad en segundo plano de una aplicación, puede que no funcione correctamente"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Esta aplicación no optimiza la batería, por lo que no puedes restringirla.\n\nPara hacerlo, activa antes la optimización."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestionar el uso de batería"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir uso en segundo plano"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Habilita esta opción para recibir notificaciones en tiempo real, inhabilítala para ahorrar batería"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sin restricciones"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizado"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restringido"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Consulta las aplicaciones que consumen más batería"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Carga optimizada para proteger la batería"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Para prolongar la vida útil de la batería, se optimiza la carga"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Carga optimizada para proteger la batería"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para prolongar la vida útil de la batería, la carga se optimiza cuando tu dispositivo está en la base"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Carga optimizada para proteger la batería"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para prolongar la vida útil de la batería, la carga se optimiza cuando tu dispositivo está en la base"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Cargando por completo"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para proteger la batería, la carga se optimizará la próxima vez que tu tablet esté en la base"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Más información sobre la carga en pausa"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Seguir cargando"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Se incluye la actividad en segundo plano que consume mucha batería"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta aplicación podrá usar la batería en segundo plano. Es posible que la batería se agote antes de lo esperado."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Quitar"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Cargar por completo"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema con el accesorio de carga"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Comprueba el accesorio de carga"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Más información sobre la carga con adaptadores incompatibles"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestor de batería"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestionar aplicaciones automáticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"desde la última carga completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplicaciones del sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Aplicaciones desinstaladas"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Otros"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tiempo restante estimado"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Hasta completar la carga"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menos de 1 minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"En segundo plano: menos de 1 minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tiempo de pantalla: menos de un minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menos de un minuto"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"En segundo plano: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tiempo de pantalla: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ahora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gráfico del uso de batería"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gráfico de uso de batería diario"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gráfico de uso de batería por horas"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Porcentaje del nivel de batería de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> a <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Uso de batería desde la última carga completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Uso de batería (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tiempo de pantalla desde la última carga completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Señal de llamada de emergencia"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Establecer comportamiento al realizar una llamada de emergencia"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Copia de seguridad"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activada"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desactivado"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Copia de seguridad y restauración"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Datos personales"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Copia de seguridad de mis datos"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Datos móviles y Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizar datos personales automáticamente"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronizar datos de trabajo automáticamente"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincronizar automáticamente"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Cambiar ciclo…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Día del mes para restablecer ciclo de uso de datos:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ninguna aplicación ha usado datos en este periodo."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nombre"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Dirección del servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Cifrado de PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP secreto"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador de IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Clave precompartida de IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuario de IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado AC de IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado del servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opciones avanzadas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Dominios de búsqueda de DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores de DNS (por ejemplo, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rutas de reenvío (por ejemplo, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nombre de usuario"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Contraseña"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Guardar información de la cuenta"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(no se usa)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(no verificar servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(recibido desde el servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN no puede estar activo siempre"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"El modo de VPN siempre activada solo admite direcciones de servidor numéricas"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Debes especificar un servidor DNS para el modo de VPN siempre activada"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Las direcciones del servidor DNS deben ser numéricas en el modo de VPN siempre activada"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"La información introducida no es compatible con el modo de VPN siempre activada"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Cerrar"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexiones sin VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"¿Requerir una conexión VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"No es segura. Cambia a una VPN IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"No se ha podido iniciar la VPN no compatible."</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_lockdown_none" msgid="455915403560910517">"Ninguno"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Las redes VPN activadas continuamente requieren una dirección IP para el servidor y el DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Recibir boletines sobre secuestros de menores"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Habilitar el administrador de llamadas"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permite que este servicio administre la forma de hacer llamadas."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Administrador de llamadas"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertas de emergencia inalámbricas"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operadores de red"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nombres de punto de acceso"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Estado de la SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado de la SIM (ranura SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs cambiadas."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Has cambiado de SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toca para configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Preguntar siempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Debes seleccionar una opción"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicaciones recientes y aplicaciones predeterminadas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Las aplicaciones del perfil de trabajo no tienen acceso a las notificaciones."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Contraseñas y cuentas"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Contraseñas guardadas, Autocompletar, cuentas sincronizadas"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugerencias para inicio de sesión y Autocompletar"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplicaciones predeterminadas"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplicaciones clonadas"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crea una segunda instancia de una aplicación para poder usar dos cuentas a la vez."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"cartera"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagos"</string>
     <string name="keywords_backup" msgid="707735920706667685">"copia de seguridad, copia seguridad"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"desbloqueo, facial, autorización, iniciar sesión"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"desbloqueo, facial, autenticar, autenticación, iniciar sesión, inicio de sesión, huella digital, biometría"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versión de prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tamaño del texto, letras grandes, fuente grande, texto grande, baja visión, hacer el texto más grande, agrandar texto, ampliar texto, ampliador de fuente, ampliación de la fuente"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"pantalla ambiente siempre encendida, pantalla siempre activa"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiqueta, lector"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclado, tecnología de vibración al pulsar, vibrar,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volumen, vibración, No molestar"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volumen de multimedia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumen de envío"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Sonidos de encendido"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtítulos automáticos"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Subtitula automáticamente el contenido multimedia"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altavoces del teléfono"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Altavoces de la tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Altavoces del dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Auriculares con cable"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"El audio del contenido multimedia compatible se hace más inmersivo"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Desactivado"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo el contenido de las notificaciones"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostrar contenido sensible solo al desbloquear"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"No mostrar ninguna notificación"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"¿Cómo quieres que se muestren las notificaciones en la pantalla de bloqueo?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"¿Qué quieres que se muestre en tu pantalla de bloqueo?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueo"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar todo (notificaciones de trabajo)"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar contenido de trabajo sensible"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Quitadas conversaciones recientes"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversación quitada"</string>
     <string name="clear" msgid="5092178335409471100">"Borrar"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Borrar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Las conversaciones prioritarias y las modificadas se mostrarán aquí"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Cuando marques una conversación como prioritaria o hagas un cambio en una conversación, aparecerá aquí. \n\nPara cambiar los ajustes de las conversaciones: \nDesliza el dedo hacia abajo desde la parte superior de la pantalla para abrir el panel desplegable y, a continuación, mantén pulsada una conversación."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizar"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Bajar volumen de notificaciones"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Bajar el volumen de todas las notificaciones"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Baja gradualmente el volumen de las notificaciones cuando recibes muchas sucesivas de la misma aplicación"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Bajar el volumen de las conversaciones"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Baja gradualmente el volumen de las notificaciones cuando recibes muchos mensajes del mismo chat durante un breve periodo de tiempo"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"No bajar el volumen"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"No baja nunca el volumen de las notificaciones, independientemente de la cantidad de notificaciones sucesivas de la misma aplicación"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrar cuando esté desbloqueada"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibra solo cuando la pantalla está desbloqueada"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfiles de trabajo"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplica los ajustes para bajar el volumen de notificaciones de tu perfil personal a tu perfil de trabajo"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servicios de ayuda de RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ninguna aplicación instalada ha solicitado ejecutarse como servicio de ayuda de RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"¿Permitir que el servicio de RV acceda a <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desactivado"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fijar aplicaciones"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Fijar una aplicación te permite mantenerla visible hasta que dejes de fijarla. Esta función se puede usar para, por ejemplo, dejar que alguien de confianza juegue a un juego específico."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Al fijar una aplicación, esta puede abrir otras aplicaciones y se puede acceder a datos personales. \n\nPara fijar una aplicación, sigue estos pasos: 	\n1. Activa la función de fijar aplicaciones. 	\n2. Abre Aplicaciones recientes. 	\n3. En la parte superior de la pantalla, toca el icono de la aplicación y, después, toca Fijar."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Al fijar una aplicación, esta puede abrir otras aplicaciones y se puede acceder a datos personales. \n\nSi quieres compartir tu dispositivo con alguien de forma segura, prueba con la función para usuarios invitados. \n\nPara fijar una aplicación, sigue estos pasos: 	\n1. Activa la función de fijar aplicaciones. 	\n2. Abre Aplicaciones recientes. 	\n3. En la parte superior de la pantalla, toca el icono de la aplicación y, después, toca Fijar."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Cuando una aplicación está fijada, esta puede abrir otras aplicaciones y se puede acceder a datos personales. \n\nPara fijar una aplicación, sigue estos pasos: 	\n{0,number,integer}. Activa la función de fijar aplicaciones. 	\n{1,number,integer}. Abre Aplicaciones recientes. 	\n{2,number,integer}. En la parte superior de la pantalla, toca el icono de la aplicación y, después, toca Fijar."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Cuando una aplicación está fijada, esta puede abrir otras aplicaciones y se puede acceder a datos personales. \n\nSi quieres compartir tu dispositivo con alguien de forma segura, prueba con la función para usuarios invitados. \n\nPara fijar una aplicación, sigue estos pasos: 	\n{0,number,integer}. Activa la función de fijar aplicaciones. 	\n{1,number,integer}. Abre Aplicaciones recientes. 	\n{2,number,integer}. En la parte superior de la pantalla, toca el icono de la aplicación y, después, toca Fijar."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Al fijar una aplicación: \n\n• Es posible que se pueda acceder a datos personales (como contactos y contenido de correos). \n• Es posible que las aplicaciones fijadas abran otras aplicaciones. \n\n\nUsa Fijar aplicaciones solo con personas de confianza."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pedir patrón de desbloqueo para dejar de fijar"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicitar PIN para desactivar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicitar contraseña para desactivar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo al dejar de fijar"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar eliminación de SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirma que quieres borrar tu eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifica que eres tú antes de borrar una eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protección memoria avanzada beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protección de memoria avanzada"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ajustes de aplicación sin usar"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausar actividad de la aplicación si no se usa"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Quita permisos, elimina archivos temporales y detiene las notificaciones"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gestionar la aplicación si no se usa"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Quita permisos, elimina archivos temporales, detiene las notificaciones y archiva la aplicación"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas las aplicaciones"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicaciones instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicaciones instantáneas"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Libre"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memoria usada por aplicaciones"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplicación ha usado memoria en los últimos {time}}other{# aplicaciones han usado memoria en los últimos {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Habilitar elaboración de perfiles"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"La elaboración de perfiles de uso de memoria requiere recursos del sistema adicionales."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Elaboración de perfiles de memoria inhabilitados"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frecuencia"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Uso máximo"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"No ha usado datos"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Mostrar sobre otras aplicaciones"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir mostrar sobre otras aplicaciones"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permite que esta aplicación se muestre sobre otras aplicaciones que estés usando. La aplicación podrá ver dónde tocas o cambiar lo que se muestre en la pantalla."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Cambiar salida multimedia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permitir que cambie la salida multimedia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permitir que esta app elija qué dispositivo conectado reproduce audio o vídeo desde otras aplicaciones. Si se permite, esta aplicación puede acceder a una lista de dispositivos disponibles, como auriculares y altavoces, y elegir qué dispositivo de salida se utiliza para transmitir o enviar audio o vídeo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acceso a todos los archivos"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dar acceso para gestionar todos los archivos"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta aplicación lea, modifique y elimine todos los archivos de este dispositivo o de cualquier volumen de almacenamiento conectado. Si le das permiso, podrá acceder a archivos sin avisarte expresamente."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Puede acceder a todos los archivos"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicaciones de activación por voz"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir la activación por voz"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"La activación por voz activa las aplicaciones aprobadas con solo usar un comando de voz. La detección adaptativa integrada asegura que tus datos se mantengan privados.\n\n"<a href="">"Más información sobre la detección adaptativa protegida"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificaciones a pantalla completa"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificaciones a pantalla completa de esta aplicación"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite que esta aplicación muestre notificaciones que ocupan toda la pantalla cuando el dispositivo está bloqueado. La aplicación puede usar esta opción para resaltar alarmas, llamadas entrantes u otras notificaciones urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Advertencia de datos: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Límite de datos: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Advertencia de datos: <xliff:g id="ID_1">^1</xliff:g> / Límite de datos: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"El cálculo del uso de datos del operador puede ser diferente al calculado por el dispositivo."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"No se incluyen datos usados por redes de operadores"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> usados"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Establecer advertencia de datos"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Actualizado hace <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Actualizado por <xliff:g id="ID_1">^1</xliff:g> justo ahora"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Actualizado justo ahora"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ver el plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ver detalles"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Ahorro de datos"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Datos sin restricción"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha usado más batería de lo habitual en segundo plano"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha usado más batería en primer plano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha usado más batería de lo habitual en primer plano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalía en el uso de la batería"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Uso de batería alto"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Uso de batería alto en segundo plano"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Uso de batería alto en primer plano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Recuadros para desarrolladores en ajustes rápidos"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Inhabilitar tiempo de espera de autorización adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Inhabilita la revocación automática de autorizaciones adb para sistemas que no se han vuelto a conectar durante el periodo predeterminado (7 días) o configurado por el usuario (mínimo 1 día)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Rastro de Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensores desactivados"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Ajustes del perfil de trabajo"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Buscar contactos del directorio de trabajo en aplicaciones personales"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegación del sistema, navegación con 2 botones, navegación con 3 botones, navegación por gestos, deslizar"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistente digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslizar para abrir asistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Desliza el dedo desde una de las esquinas inferiores de la pantalla para abrir una aplicación de asistente digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Desliza desde una de las esquinas inferiores para abrir una aplicación de asistente digital."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mantener pulsado Inicio para activar el Asistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Mantén pulsado el botón de inicio para abrir la aplicación del asistente digital"</string>
     <string name="low_label" msgid="6525629096999711220">"Baja"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Servicio de autocompletado"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Servicio de autocompletado predeterminado"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Contraseñas"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Servicios de contraseñas, llaves de acceso y datos"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Proveedores adicionales"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Servicio preferido"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Servicios adicionales"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# contraseña}other{# contraseñas}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automático, completar, autocompletar, contraseña"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"datos, llave de acceso, contraseña"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automático, completar, autocompletar, datos, llave de acceso, contraseña"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Cambiar"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Abrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"No hay nada seleccionado"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Asegúrate de que confías en esta aplicación&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Autocompletar de Google&gt;%1$s&lt;/xliff:g&gt; utiliza el contenido que se muestra en la pantalla para determinar el texto que se puede autocompletar."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;¿Usar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; usa el contenido que hay en tu pantalla para determinar qué se puede autocompletar. Las nuevas contraseñas, llaves de acceso y otra información se guardarán aquí a partir de ahora."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Servicios de contraseñas, llaves de acceso y datos"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;¿Usar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Las nuevas contraseñas, llaves de acceso y otra información se guardarán aquí a partir de ahora. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; puede usar el contenido que hay en tu pantalla para determinar qué se puede autocompletar."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Servicio preferido para contraseñas, llaves de acceso y autocompletado"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"¿Desactivar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;¿Desactivar este servicio?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; La información guardada, como contraseñas, llaves de acceso, métodos de pago y otros datos no se rellenarán cuando inicies sesión. Para usar tu información guardada, elige un servicio de contraseñas, llaves de acceso o datos."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Contraseñas, llaves de acceso y Autocompletar"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;¿Desactivar todos los servicios?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Las contraseñas, llaves de acceso y otra información guardada no estarán disponibles para autocompletar cuando inicies sesión."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;¿Cambiar tu proveedor de servicios preferido a &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Las nuevas contraseñas, llaves de acceso y otra información se guardarán aquí a partir de ahora. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; puede usar el contenido que hay en tu pantalla para determinar qué se puede autocompletar."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"¿Usar %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desactivar"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Cambiar"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Solo puedes tener 5 servicios activados"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desactiva al menos un servicio para añadir otro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s usa los elementos en pantalla para determinar lo que se puede autocompletar."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Límite de servicios de contraseñas, llaves de acceso y datos"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Puedes tener hasta 5 servicios de contraseñas, llaves de acceso y datos activos al mismo tiempo. Desactiva un servicio para añadir más."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Límite de contraseñas, llaves de acceso y servicios de datos"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Puedes tener hasta 5 contraseñas, llaves de acceso y servicios de datos activos al mismo tiempo. Desactiva un servicio para añadir más."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desactivar"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autocompletar"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivel de registro"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Los cambios en la compatibilidad de las aplicaciones solo se pueden modificar en aplicaciones depurables; instala una aplicación de este tipo e inténtalo de nuevo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de otra opción"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Cuenta"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d cuentas"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nombre del dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Información básica"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legislación y normativa"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permite que esta aplicación se inicie al escanear una etiqueta NFC.\nSi este permiso está activado, la aplicación estará disponible como opción siempre que se detecte una etiqueta."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reproducir contenido multimedia en"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reproducir <xliff:g id="LABEL">%s</xliff:g> en"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"El audio se reproducirá en"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Este dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"No disponible durante las llamadas"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender llamada en"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Silenciar"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Para habilitarlo, primero cambia \"Mantener pulsado el botón de encendido\" en el menú de encendido."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalles de red"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Las aplicaciones de tu teléfono 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="devices_title" msgid="649715719278562515">"Dispositivos"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Elegir red"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Desconectado"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nombre"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Color (en aplicaciones compatibles)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Guardar"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Usar SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usar esta SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desactivado"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para deshabilitar la SIM, extráela"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toca para activar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para desactivar esta SIM, extráela"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toca para activar la SIM de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Borrar eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de red preferido"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Cambiar el modo operativo de la red"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo de red preferido"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Ponte en contacto con tu proveedor de red para consultar el precio."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Uso de datos de aplicaciones"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"El modo de red <xliff:g id="NETWORKMODEID">%1$d</xliff:g> no es válido. Ignorar."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mensajes por satélite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envía y recibe mensajes de texto por satélite. Incluido con tu cuenta."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envía y recibe mensajes de texto por satélite. No incluido con tu cuenta."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mensajes por satélite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Acerca de los mensajes por satélite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Puedes enviar y recibir mensajes de texto por satélite como parte de una cuenta de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> apta"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Tu plan de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Los mensajes por satélite están incluidos en tu cuenta"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Los mensajes por satélite no están incluidos en tu cuenta"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Añadir mensajes por satélite"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Cómo funciona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Cuando no tengas conexión de red móvil"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Tu teléfono se conectará automáticamente a un satélite. Para obtener la mejor conexión, debes estar en una zona en la que se vea bien el cielo."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Cuando tu teléfono se conecte a un satélite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Puedes intercambiar mensajes de texto con cualquiera, incluidos los servicios de emergencias. Tu teléfono se volverá a conectar a una red móvil cuando esté disponible."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Los mensajes por satélite pueden tardar más y solo están disponibles en ciertas zonas. Las condiciones meteorológicas y algunas estructuras pueden afectar a tu conexión por satélite. La llamada por satélite no está disponible.\n\nLos cambios en tu cuenta pueden tardar un poco en aparecer en Ajustes. Ponte en contacto con <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para saber más."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Más información sobre los mensajes por satélite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nombres de puntos de acceso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"No está disponible cuando se está conectado a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"¿Cambiar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"¿Cambiar a usar tarjeta SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"¿Quieres usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Solo puede haber una tarjeta SIM activa a la vez.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Solo puede haber una eSIM activa.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Solo puede haber una tarjeta SIM activa a la vez.\n\nEl cambio no cancelará tu servicio de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Solo puede haber una SIM activa.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Solo puede haber una eSIM activa.\n\nSi cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, no se cancelará tu servicio de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Solo puede haber una SIM activa.\n\nSi cambias, no se cancelará tu servicio de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Puedes usar 2 SIMs al mismo tiempo. Para usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desactiva otra SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Cambiar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desactivar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Desactivar una SIM no hará que se cancele tu servicio"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Conectándose a la red…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Cambiando a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para hacer llamadas y enviar mensajes…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"No se ha podido cambiar de operador"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"No se ha podido cambiar de operador debido a un error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activando tu SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Cambiando a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"No se puede cambiar de SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Se ha producido un error. No se puede cambiar de SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"¿Desactivar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"¿Desactivar tarjeta SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desactivando tarjeta SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"No se ha podido inhabilitar el operador"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Se ha producido un error y no se ha podido inhabilitar tu operador."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"No se puede desactivar la SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Se ha producido un error y no se ha podido desactivar tu SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"¿Usar 2 tarjetas SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo puede tener 2 tarjetas SIM activas a la vez. Para seguir usando solo una, toca \"No, gracias\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"¿Reiniciar el dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, gracias"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambiar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactivar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"No se ha podido activar la tarjeta SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prueba a activar la tarjeta SIM de nuevo. Si el problema continúa, reinicia el dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configura tu SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Configura tus preferencias de red móvil para usar varias SIMs en este dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etiqueta tus SIMs"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Verás estas etiquetas cuando hagas llamadas, envíes mensajes de texto y uses datos, y en Ajustes"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etiqueta de la SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiqueta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Selecciona qué SIMs quieras usar"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Puedes usar 2 SIMs al mismo tiempo"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Configura tus SIMs principales"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Elige las SIMs que quieres usar de forma predeterminada para llamadas, mensajes de texto y datos"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Tus SIMs principales"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Llamadas"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mensajes de texto"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Cambio automático de datos"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Usa los datos de cualquiera de las dos SIMs en función de la cobertura y la disponibilidad"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Solo datos"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configurar"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Siguiente"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Activando <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Red móvil"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de teléfono"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Etiqueta y color de la SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activación de la red"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Cambiando de operador"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> está activo"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"La SIM de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> se ha activado"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Toca para actualizar los ajustes de la tarjeta SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Se ha pasado a usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Se ha pasado a usar otro operador"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Tu red móvil ha cambiado"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configura tu otra tarjeta SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Elige tu SIM activa o utiliza dos SIM al mismo tiempo"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Elige el número que quieres usar"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Hay 1 número disponible en este dispositivo, pero no puedes usar más de uno a la vez}=2{Hay 2 números disponibles en este dispositivo, pero no puedes usar más de uno a la vez}other{Hay # números disponibles en este dispositivo, pero no puedes usar más de uno a la vez}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"No se ha podido activar en estos momentos"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Elige la SIM que quieras usar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Hay 1 SIM disponible en este dispositivo, pero no puedes usar más de una a la vez}=2{Hay 2 SIMs disponibles en este dispositivo, pero no puedes usar más de una a la vez}other{Hay # SIMs disponibles en este dispositivo, pero no puedes usar más de una a la vez}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Activando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"No se ha podido activar esta SIM en este momento"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"¿Usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Se usará <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para los datos móviles, las llamadas y los SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"No hay ninguna SIM activa disponible"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para usar datos móviles, funciones de llamada y SMS más adelante, ve a los ajustes de tu red"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"¿Borrar esta eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si borras esta SIM, el servicio de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> dejará de estar disponible en este dispositivo.\n\nNo se cancelará el servicio de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Se eliminará el servicio de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de este dispositivo, pero el plan de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> no se cancelará."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Borrar"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Borrando SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"No se puede borrar la SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"No se puede borrar esta SIM debido a un error.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Borrando eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"No se puede borrar la eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Se ha producido un error y esta eSIM no se ha borrado.\n\nReinicia el dispositivo y vuelve a intentarlo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar a dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"La aplicación <xliff:g id="APPNAME">%1$s</xliff:g> quiere usar una red Wi-Fi temporal para conectarse a tu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"No se ha encontrado ningún dispositivo. Comprueba que estén encendidos y listos para conectarse."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Llamadas de emergencia"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Este operador no admite las llamadas de emergencia por Wi‑Fi.\nEl dispositivo cambia automáticamente a una red móvil para hacer una llamada de emergencia.\nSolo se pueden hacer llamadas de emergencia en zonas con cobertura móvil."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Usar Wi‑Fi en las llamadas para mejorar la calidad"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Alternativa para llamadas"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Si <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> no está disponible o está en roaming, usa tu SIM con datos móviles para las llamadas de <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"alternativa para llamadas"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mensaje MMS entrante"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"No se puede enviar el mensaje MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Toca para permitir mensajes MMS con <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> cuando los datos móviles estén desactivados"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Información de tu política de trabajo"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ajustes gestionados por tu administrador de TI"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Iniciar con páginas de 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Inicia con kernel compatible con páginas de 16 kB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"¿Reiniciar con un kernel compatible con páginas de 16 kB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ADVERTENCIA: Algunas aplicaciones pueden no ser compatibles con este modo. El dispositivo se reiniciará tras la confirmación."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"¿Reiniciar con un kernel compatible con páginas de 4 kB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"El dispositivo se reiniciará tras la confirmación."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"No se ha podido actualizar el kernel a uno compatible con páginas de 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Aplicando cambio"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador de informes de errores"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qué aplicación controla el acceso directo a los informes de errores del dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permite que las aplicaciones que se muestran sobre otras se superpongan en pantallas de ajustes"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permitir módem de simulación"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permite que este dispositivo use el servicio del módem de simulación para hacer pruebas de instrumentación. No habilites esta opción cuando uses tu teléfono de forma habitual."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Inhabilitar protecciones de pantalla compartida"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Inhabilita las protecciones de aplicaciones y notificaciones aplicadas por el sistema durante la pantalla compartida"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multimedia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fijar reproductor multimedia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Para seguir rápidamente por donde lo habías dejado, el reproductor multimedia se queda abierto en los ajustes rápidos"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostrar contenido multimedia en la pantalla de bloqueo"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"El reproductor multimedia permanece abierto en la pantalla de bloqueo para que puedas reanudar rápidamente la reproducción"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostrar recomendaciones de contenido multimedia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostrar recomendaciones de contenido multimedia del Asistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Según tu actividad"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ocultar reproductor"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostrar reproductor"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"multimedia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permitir extensiones de software de la cámara"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Permite la implementación predeterminada de software de funciones de la cámara avanzadas, como la videografía accesible."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Se activará el Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Activa"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactiva"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activa"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Inactiva"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Predeterminada para <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"llamadas"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"El audio del contenido multimedia compatible se hace más inmersivo"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Seguimiento de cabeza"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"El audio cambia a medida que mueves la cabeza para sonar más natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sincronización de permisos"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Concede a <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> los mismos permisos de aplicaciones que has permitido en <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizar permisos desde el teléfono"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Concede a tu reloj los mismos permisos de aplicaciones que has permitido en este teléfono"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo de dispositivo de audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Desconocido"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Altavoz"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Esta aplicación solo puede abrirse en una ventana"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Activada"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Desactivada"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Desactivado"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desactivado"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Activado"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desactivado"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Activado"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desactivado"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Hace que las pantallas claras se vuelvan oscuras y que las pantallas oscuras se vuelven claras"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Amplía la pantalla"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desactivado"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desactivado"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Buscar aplicaciones engañosas"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Comprueba la actividad de las aplicaciones en busca de phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Buscar aplicaciones engañosas"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Buscar aplicaciones de trabajo engañosas"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"La contraseña ya está configurada"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostrar el puntero al colocar el cursor sobre un elemento"</string>
 </resources>
diff --git a/res/values-et/arrays.xml b/res/values-et/arrays.xml
index bdc9736..6ae2cb1 100644
--- a/res/values-et/arrays.xml
+++ b/res/values-et/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Saadaval"</item>
     <item msgid="6096962300722555553">"Vahemikust väljas"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Keelatud"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast ja Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Kasuta süsteemi vaikeseadet: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 minuti pärast"</item>
     <item msgid="1574040255478150028">"5 minuti pärast"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-et/strings.xml b/res/values-et/strings.xml
index e1a34a3..216b4c4 100644
--- a/res/values-et/strings.xml
+++ b/res/values-et/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Olete nüüd arendaja!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Ei ole vaja, olete juba arendaja."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lubage esmalt arendaja valikud."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Arendaja seadetele pääsevad juurde ainult administraatoriõigustega kasutajad."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Süsteem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Teenus toimib"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Teenus ei toimi"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Esiekraan lülitub seadme kokkuvoltimisel sisse"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Ainult mängude, videote jne puhul"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Esiekraan lülitub sisse rakenduste jaoks, mis takistavad ekraanil unerežiimile lülitumist"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Jätkamiseks pühkige üles"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Voltige telefon kokku ja pühkige esiekraanil üles, et jätkata rakenduse kasutamist, või oodake mõni sekund, et ekraan lukustuks"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Mitte kunagi"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Esiekraan lukustub seadme kokkuvoltimisel"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Kasuta automaatset pööramist"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Seotud"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Helin ja äratused"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Heli kõnede ajal"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Meedia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Märguanded ja muud süsteemihelid"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Meedia- ja süsteemihelid"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Märguanded"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Vaikimisi määravad heliväljundi individuaalsed rakendused"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Nimetu Bluetooth-seade"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Otsimine"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Tühista"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Keela Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Keelab funktsiooni Bluetooth LE Audio, kui seade toetab LE Audio riistvara võimalusi."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio režiim"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Kuva seadme üksikasjades LE Audio lüliti"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Luba Bluetooth LE Audio lubamisloend"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Lubab Bluetooth LE Audio lubamisloendi funktsiooni."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio lubamisloendist möödaminek"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audiot kasutatakse vaikimisi isegi siis, kui LE Audio välisseadme vastavust lubamisloendi kriteeriumitele pole kinnitatud."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Meediaseadmed"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Helistamisseadmed"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Muud seadmed"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Salvestatud seadmed"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Kontoga seotud"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Varem kontoga kasutatud"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth lülitatakse sidumiseks sisse"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ühenduse eelistused"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Eelnevalt ühendatud"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth on sisse lülitatud"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Kuva kõik"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Kuva kõik"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Elektronpliiats"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Otsanupu vajutus"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (tööprofiil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Kirjutamine tekstiväljadele"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Elektronpliiatsi kõigi nupuvajutuste eiramine"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Elektronpliiats"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Heli jagamine"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Heli jagamine"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Kõned ja äratused"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR-koodi kaudu helivooga ühendamine"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Läheduses asuvaid helivooge ei leitud"</string>
     <string name="date_and_time" msgid="1788358029823431692">"Kuupäev ja kellaaeg"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Puhverserver"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Kustuta"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Kas lisada %s eelistatud keelte hulka?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"See annab rakendustele ja veebisaitidele teada, et eelistate ka seda keelt."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Teie seadme seaded ja piirkondlikud eelistused muutuvad."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Muuda"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s pole saadaval"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Laupäev"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Kui rakendus ei toeta piirkondlikke eelistusi, kasutab rakendus oma vaikelokaadi seadeid."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Vaadake keele-eelistuste kohta lisateavet."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Lisaeelistused"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Aadressitingimused"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Määrake, kuidas soovite, et teie poole pöördutaks"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Rakendused võivad kasutada teie aadressitingimusi, et isikupärastada, kuidas teie poole pöörduda."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Pole määratud"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Naissoost"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Meessoost"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutraalne"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Kas eemaldada valitud keel?}other{Kas eemaldada valitud keeled?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekst kuvatakse teises keeles."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Kõiki keeli ei saa eemaldada"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Asukoht"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Kasuta asukohta"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Väljas"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Sees – # rakendusel on asukohale juurdepääs}other{Sees – # rakendusel on asukohale juurdepääs}}"</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_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="5329024810729665156">"Vaadake lisateavet asukohaseadete kohta."</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="3574930966097093550">"Asukohale juurdepääsu muutmiseks avage Seaded &gt; Turvalisus ja privaatsus &gt; Privaatsusseaded"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Kontod"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Turvalisus"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Krüpteerimine ja mandaadid"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Parimate tulemuste jaoks kasutage ekraanikaitset, millel on sertifikaat Made for Google. Teiste ekraanikaitsetega ei pruugi teie lapse sõrmejälg toimida."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Kellaga avamine"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Kui seadistate näoga ja sõrmejäljega avamise, küsib telefon teie sõrmejälge, kui kannate maski või olete hämaras.\n\nKui teie nägu või sõrmejälge ei tunta ära, saate avada ka kellaga."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Kui teie sõrmejälge ei tunta ära, saate avada kellaga."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Kui teie nägu ei tunta ära, saate avada kellaga."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Kui seadistate näoga ja sõrmejäljega avamise, küsib telefon teie sõrmejälge, kui kannate maski või olete hämaras.\n\nKellaga avamine on veel üks mugav viis selle telefoni avamiseks, näiteks kui teie sõrmed on märjad või nägu ei tuvastata."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Kella avamine on veel üks mugav viis telefoni avamiseks, näiteks kui teie sõrmejälge ei tuvastata."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Kellaga avamine on veel üks mugav viis selle telefoni avamiseks, näiteks kui teie nägu ei tuvastata."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Sõrmejälje või kella kasutamine:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Näo või kella kasutamine:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Näo, sõrmejälje või kella kasutamine:"</string>
@@ -385,7 +411,34 @@
     <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="security_settings_biometric_preference_title" msgid="5012627247749093938">"Sõrmejälje ja Näoga avamine"</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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Kellaga avamine on veel üks mugav viis selle telefoni avamiseks, näiteks kui teie sõrmed on märjad või nägu ei tuvastata.\n\nSaate kasutada oma kella telefoni avamiseks järgmistel juhtudel."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Mitte praegu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Jätka"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Rohkem"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Tööpõhimõtted"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Teie kell peab olema lukustamata, randmel ja telefoni lähedal. Seni, kuni kell on teie randmel, ei pea te seda uuesti avama."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kui telefon avatakse, saate märguande oma kellas. Kui see avati kogemata, puudutage telefoni uuesti lukustamiseks märguannet."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Kontroll on teie käes"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Võite oma kella funktsioonist Kellaga avamine igal ajal seadete kaudu eemaldada"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Puudutage märguannet"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Pühkige lukustuskuval üles"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Kella valimine"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Saadaolevad kellad"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Tühista"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Kinnita"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Valmis!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Saate nüüd kasutada oma kella selle telefoni avamiseks, kui pühite lukustuskuval üles või puudutate märguannet"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Valmis"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Kellaga avamine"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Saate kasutada oma kella selle telefoni avamiseks, kui pühite lukustuskuval üles või puudutate märguannet"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Kellaga avamise kasutamiseks peab teie kell olema lukustamata, randmel, käeulatuses ja ühendatud selle telefoniga. Kui ühendus katkeb, peate enne kellaga avamise kasutamist telefoni avama.\n\nPidage meeles.\nKorraga saab seadistada ainult ühe kella. Teise kella lisamiseks eemaldage esmalt praegune kell."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Turvalisus"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privaatsus"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Tööprofiil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privaatne ruum"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Hoidke privaatsed rakendused lukustatud ja peidetuna"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Hoidke privaatseid rakendusi eraldi ruumis, mida saate peita või lukustada"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Privaatse ruumi lukk"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Oma privaatse ruumi saate lukust avada samal viisil, nagu avate lukust oma seadme. Võite ka valida muu luku."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Seadme ekraaniluku kasutamine"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Näo ja sõrmejäljega avamine"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Sõrmejäljega avamine"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Näoga avamine"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Seadistamiseks puudutage"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Privaatse ruumi sõrmejäljega avamine"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Privaatse ruumi näoga avamine"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Võimalused avamiseks"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama mis seadme ekraanilukk"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Kas valida privaatse ruumi jaoks uus lukk?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Privaatse ruumi automaatselt lukustamine"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Saate oma privaatse ruumi automaatselt lukustada, kui te pole oma seadet teatud perioodi jooksul kasutanud"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Iga kord, kui seade lukustatakse"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Pärast 5 minutit tegevusetust"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Mitte kunagi"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Peida lukustatuna"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Privaatse ruumi peitmine, kui see on lukustatud"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Privaatse ruumi saate oma rakenduste loendis peita, et teised ei teaks selle olemasolust teie seadmes"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Juurdepääs privaatsele ruumile, kui see on peidetud"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Sisestage rakenduste loendis otsinguribale „privaatne ruum”"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Puudutage privaatse ruumi paani"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Avage oma privaatne ruum"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Väljas"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Sees"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Süsteem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Privaatse ruumi kustutamine"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Kas kustutada privaatne ruum?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Teie privaatne ruum eemaldatakse seadmest. Kõik privaatsed rakendused ja andmed kustutatakse. Seda toimingut ei saa tagasi võtta."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Järgmised kontod eemaldatakse teie privaatsest ruumist."</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Kustuta"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Privaatse ruumi kustutamine …"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"See võtab vaid mõne hetke"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privaatne ruum on kustutatud"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Privaatset ruumi ei saanud kustutada"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privaatne ruum on avatud"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ekraaniluku seadistamine"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Seadistage oma privaatse ruumi jaoks seadmele ekraanilukk"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Seadistage ekraanilukk"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Tühista"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Tühista"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Seadistamine"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Seadistage privaatne ruum"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Hoidke privaatseid rakendusi eraldi ruumis, mida saate peita või lukustada"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Tööpõhimõtted"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Privaatsele ruumile pääsete juurde oma rakenduste loendi allosas"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Privaatse ruumi rakendused on lukuga kaitstud"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Kui privaatne ruum on lukustatud, siis on privaatse ruumi rakenduste märguanded peidetud"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Kui teie privaatne ruum on lukustatud, ei kuvata teie privaatses ruumis olevaid rakendusi lubade halduris, privaatsuse juhtpaneelil ega muudes seadetes.\n\nTeie privaatset ruumi ei saa uude seadmesse teisaldada. Kui soovite seda mõnes teises seadmes kasutada, peate seadistama teise privaatse ruumi.\n\nKõik, kes ühendavad teie seadme arvutiga või installivad teie seadmesse kahjulikke rakendusi, võivad pääseda juurde teie privaatsele ruumile."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Privaatse ruumi seadistamine …"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Kui privaatne ruum on lukustatud, siis on privaatse ruumi rakenduste märguanded peidetud"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Fotode ja failide jagamiseks privaatse ruumi avamine"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Mõned rakendused on teie privaatsesse ruumi juba installitud"</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_lockscreen_title" msgid="6034864097861137509">"Kas kasutada privaatse ruumi avamiseks ekraanilukku?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Oma privaatse ruumi saate lukust avada samal viisil, nagu avate lukust oma seadme. Võite ka valida erineva luku."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Kasuta ekraanilukku"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Uue luku valimine"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Valmis!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Privaatse ruumi leidmiseks avage oma rakenduste loend ja kerige seejärel alla"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Valmis"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Privaatse ruumi leidmiseks kerige alla"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Logi sisse"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Logige sisse oma privaatse ruumiga kasutamiseks mõeldud kontole"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Mitte praegu"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Jätka"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Valige oma privaatse ruumi jaoks lukk"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Saate oma privaatse ruumi avada sõrmejälje abil. Turvalisuse tagamiseks nõuab see valik varulukku."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Määrake privaatse ruumi jaoks PIN-kood"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Määrake oma privaatse ruumi jaoks parool"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Määrake oma privaatse ruumi jaoks muster"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Saate lisada kuni <xliff:g id="COUNT">%d</xliff:g> sõrmejälge"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Olete lisanud maksimaalse arvu sõrmejälgi"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Rohkem sõrmejälgi ei saa lisada"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Muster"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-kood"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Parool"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Kas kustutada ekraanilukk?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Kas eemaldada kõik seadme avamise tüübid?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Kas eemaldada profiili kaitsefunktsioonid?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Muster kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Muster kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>See kustutab teie seadmesse salvestatud sõrmejäljemudeli. Samuti kustutatakse jäädavalt ja turvaliselt teie näomudel. Te ei saa oma nägu ega sõrmejälge rakendustes autentimiseks kasutada."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-kood kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Kaotate salvestatud andmed, nt PIN-koodi.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Viipemakseks seadistatud kaardid eemaldatakse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Rahakotid ja muud rakendused, mis nõuavad seadme avamist, ei pruugi korralikult töötada."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-kood kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Samuti kustutab see teie seadmesse salvestatud sõrmejäljemudeli. Te ei saa oma sõrmejälge rakendustes autentimiseks kasutada."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Kaotate salvestatud andmed, nt PIN-koodi ja sõrmejäljemudeli.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Viipemakseks seadistatud kaardid eemaldatakse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Rahakotid ja muud rakendused, mis nõuavad seadme avamist, ei pruugi korralikult töötada."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-kood kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Samuti kustutatakse jäädavalt ja turvaliselt teie näomudel. Te ei saa oma nägu rakendustes autentimiseks kasutada."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Kaotate salvestatud andmed, nt PIN-koodi ja näomudeli.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Viipemakseks seadistatud kaardid eemaldatakse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Rahakotid ja muud rakendused, mis nõuavad seadme avamist, ei pruugi korralikult töötada."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-kood kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>See kustutab teie seadmesse salvestatud sõrmejäljemudeli. Samuti kustutatakse jäädavalt ja turvaliselt teie näomudel. Te ei saa oma nägu ega sõrmejälge rakendustes autentimiseks kasutada."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Kaotate salvestatud andmed, nt PIN-koodi, näo- ja sõrmejäljemudeli.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Viipemakseks seadistatud kaardid eemaldatakse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Rahakotid ja muud rakendused, mis nõuavad seadme avamist, ei pruugi korralikult töötada."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Parool kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Parool kaitseb teie telefoni olukorras, kus see läheb kaotsi või varastatakse.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Kas siduda seadmega <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Olemasolevasse koordineeritud komplekti uue liikme lisamine"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Kinnitage oma audioseadme teise osa lisamine"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetoothi sidumiskood"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Sisestage sidumiskood ja vajutage seejärel sisestusklahvi"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-kood sisaldab tähti või sümboleid"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Peab olema 16-kohaline"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Võib-olla peate selle PIN-koodi sisestama ka teise seadmesse."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Võib-olla peate selle parooli sisestama ka teise seadmesse."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Kinnitage koordineeritud komplektiga sidumiseks"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Kinnitage audioseadmega sidumiseks"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Luba juurdepääs kontaktidele ja kõneajaloole"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Lubage juurdepääs ka kontaktidele ja kõneajaloole"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Teavet kasutatakse kõne teadaannete ja muu jaoks"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Seadmega <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ei saanud ühendust."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Saadaval seadmed"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Ühenda"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Katkesta ühendus"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Seo ja ühenda"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kui Bluetooth on sisse lülitatud, saab seade suhelda teiste lähikonna Bluetooth-seadmetega."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kui Bluetooth on sisse lülitatud, saab seade suhelda teiste lähikonna Bluetooth-seadmetega"</string>
     <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_scan_change" msgid="1744636222637390367">"Muutke"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Seadme üksikasjad"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Luba ART silutavate rakenduste baidikoodi kinnitamiseks"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Kuva värskendussagedus"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Kuva ekraani praegune värskendussagedus"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Kuva HDR-/SDR-suhe"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Kuva praegune HDR-/SDR-suhe"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Nõua NFC puhul seadme avamist"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Lennurežiimis"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Teavita avalike võrkude puhul"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Teavita, kui kvaliteetne avalik võrk on saadaval"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Luba WEP-võrgud"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP on vanem turvaprotokoll, mis on vähem turvaline"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Teie operaator ei luba WEP-võrkude kasutamist, kuna need on vähem turvalised"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Lülita WiFi automaatselt sisse"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"WiFi lülitub uuesti sisse kvaliteetsete salvestatud võrkude, näiteks teie koduse võrgu läheduses"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Pole saadaval, sest asukoha otsimine on välja lülitatud. Lülitage valik "<annotation id="link">"Asukoht"</annotation>" sisse."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"WiFi-skannimine lubab rakendustel ja teenustel alati otsida WiFi-võrke, isegi kui WiFi on väljas. Seda saab kasutada näiteks asukohapõhiste funktsioonide ja teenuste täiustamiseks."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Lülita sisse"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"WiFi-skannimine on lülitatud sisse"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"See võrk kasutab vanemat turvaprotokolli, mis on vähem turvaline"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> on blokeeritud"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"See võrk kasutab vanemat turvaprotokolli WEP, mis on vähem turvaline. Kui soovite ikkagi ühenduse luua, saate WEP-võrgud lubada."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Teie operaator ei luba teil selle võrguga ühendust luua, kuna see kasutab vanemat turvaprotokolli, mis on vähem turvaline"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Luba WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Sule"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Täpsemad valikud"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rippmenüü loend Täpsemad valikud"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"laienda"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Kasuta edasi WiFi-t"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ära näita enam kunagi"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Ühenda"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"WiFi on sisse lülitatud"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Ühendatud võrguga <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Ühendamine võrguga <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Ühendamine …"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Võrguga ühenduse loomine ebaõnnestus"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Te ei ole võrgu levialas"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Unusta"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Muuda"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Võrgu unustamine ebaõnnestus"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Salvesta"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Võrgu säilitamine ebaõnnestus"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Tühista"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"WiFi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobiilne andmeside"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – laadimine"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – laadimine"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Kuumkoha ühendus"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Ühenduse tugevus"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Salvestatud võrgud"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Parool on määramata"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Kuumkoha nimi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Kuumkoha parool"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Pääsupunkti sagedusriba"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Lülita kuumkoht automaatselt välja"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kui ükski seade pole ühendatud"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Laienda ühilduvust"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ekraani valge tasakaal"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Jätka rakenduste kasutamist voldituna"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Suurendab teatud sisu puhul värskendussagedust 60 hertsilt <xliff:g id="ID_1">%1$s</xliff:g> hertsini. Akukasutus suureneb."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Keela mängude vaikekaadrisagedus"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Keela mängude jaoks maksimaalse kaadrisageduse piirangu seadmine väärtusele <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Suurendab teatud sisu puhul värskendamissagedust automaatselt kuni <xliff:g id="ID_1">%1$d</xliff:g> hertsini. Akukasutus suureneb."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Jõusta kõrgeim värskendamissagedus"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kõrgeim värskendamissagedus täiustab puutetundlikkust ja pakub sujuvamaid animatsioone. Akukasutus suureneb."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Ekraanivaatamise tuvastus"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Ekraanivaatamise tuvastuse funktsioon kontrollib esikaamera abil, kas keegi vaatab ekraani. See töötab ainult seadmes ja pilte ei salvestata kunagi ega saadeta Google\'ile."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Lülita ekraanivaatamise tuvastus sisse"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ekraan jääb vaatamise ajal sisselülitatuks"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Pikem ekraani ajalõpp kasutab rohkem akutoidet."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kaamera on lukus"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Näotuvastuse kasutamiseks peab kaamera olema avatud"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kaamera peab ekraanivaatamise tuvastuse kasutamiseks olema avatud"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM-kaardi pesa <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM-kaardi pesa <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (peamine)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Vaatamiseks valige salvestatud võrk"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-versioon"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Aku tase"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Ühised"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Ühised seaded"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellidipõhine sõnumside"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Pääsupunktid (APN-id)"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Pääsupunkti muutmine"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Pääsupunkti lisamine"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Määramata"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Määramata"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nimi"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN on lubatud"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN on keelatud"</string>
     <string name="bearer" msgid="3231443241639159358">"Kandja"</string>
+    <string name="network_type" msgid="748590707422733595">"Võrgu tüüp"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Määramata"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO tüüp"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO väärtus"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Kustuta pääsupunktinimi"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvesta"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Tühista"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN-i duplikaatkanne."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Nimeväli ei tohi tühi olla."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ei saa olla tühi."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-väli peab olema kolmekohaline."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-väli peab olema kahe- või kolmekohaline."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operaator ei luba tüübiga %s APN-ide lisamist."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC väli peab olema kehtiv."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"APN-i vaikeseadete taastamine."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Lähtesta vaikeseadetele"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN-i vaikeseadete lähtestamine on lõpule viidud."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Lähtesta"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ja WiFi on lähtestatud"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-ide kustutamine"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"See ei tühista mobiilsideteenuse pakette. Asendus-SIM-ide allalaadimiseks võtke ühendust operaatoriga."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"See ei tühista teie mobiilsideteenuse paketti. Asendus-SIM-i saamiseks võtke ühendust oma operaatoriga."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Lähtesta seaded"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Kas soovite kõik võrguseaded lähtestada? Seda toimingut ei saa tagasi võtta."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Kas lähtestada kõik võrguseaded ja kustutada eSIM-id? Seda toimingut ei saa tagasi võtta."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Kas lähtestada?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Võrguseadete lähtestamine pole selle kasutaja puhul saadaval"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Võrguseaded lähtestati"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-kaarte ei saa kustutada"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-e ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM-e ei saa kustutada"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Midagi läks valesti ja teie eSIM-e ei kustutatud.\n\nTaaskäivitage seade ja proovige uuesti."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Kõigi andmete kustutamine (tehaseseaded)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Kõigi andmete kustutamine (tehaseseaded)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Muusika"</li>\n<li>"Fotod"</li>\n<li>"Muud kasutajaandmed"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-id"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"See ei tühista teie mobiilsideteenuse paketti."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Kõik teie isiklikud andmed ja allalaaditud rakendused kustutatakse. Seda toimingut ei saa tagasi võtta."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Kõik teie isiklikud andmed, sealhulgas allalaaditud rakendused ja SIM-kaardid kustutatakse. Seda toimingut ei saa tagasi võtta."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Kõik teie isiklikud andmed, sealhulgas allalaaditud rakendused ja eSIM-id kustutatakse. Seda toimingut ei saa tagasi võtta."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Kas kustutada kõik andmed?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Tehaseseadetele lähtestamine pole selle kasutaja puhul saadaval"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Kustutamine"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Kuumkoht, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetiühendust ei jagata teiste seadmetega"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Väljas"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Jagamine"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ära kasuta WiFi-kuumkohta"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Jaga internetti ainult USB kaudu"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Jaga internetti ainult Bluetoothi kaudu"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Jaga internetti ainult Etherneti kaudu"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Jaga internetti ainult USB või Bluetoothi kaudu"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Jaga internetti ainult USB ja Etherneti kaudu"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Jaga internetti ainult Bluetoothi ja Etherneti kaudu"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Jaga internetti ainult USB, Bluetoothi ja Etherneti kaudu"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Jagamine USB-ga"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Jagamine Bluetoothiga"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Jagamine Ethernetiga"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Teistele seadmetele WiFi- või mobiilse andmesidevõrgu kaudu internetiühenduse pakkumiseks kasutage kuumkohta ja ühenduse jagamist. Samuti saavad kuumkoha luua rakendused, et jagada sisu läheduses olevate seadmetega."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Abi"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobiilsidevõrk"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobiilipakett"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-rakendus"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Kas muuta SMS-i rakendust?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Kas kasutada SMS-i rakendusena rakenduse <xliff:g id="NEW_APP">%1$s</xliff:g> asemel rakendust <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Kas muuta WiFi Assistanti?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Kas kasutada võrguühenduste haldamiseks rakenduse <xliff:g id="CURRENT_APP">%2$s</xliff:g> asemel rakendust <xliff:g id="NEW_APP">%1$s</xliff:g>?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Kas kasutada võrguühenduste haldamiseks rakendust <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Tundmatu SIM-kaardi operaator"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Operaatoril <xliff:g id="OPERATOR">%1$s</xliff:g> pole ettevalmistuse veebisaite"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Sisestage SIM-kaart ja taaskäivitage"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Looge Interneti-ühendus"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Hiljutised asukohapäringud"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Tööprofiili asukohaluba"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Asukohale juurdepääsu load"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Tühista juurdepääs"</string>
     <string name="controls_label" msgid="8671492254263626383">"Juhtnupud"</string>
     <string name="force_stop" msgid="2681771622136916280">"Sunni peatuma"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhiivi"</string>
+    <string name="restore" msgid="7622486640713967157">"Taasta"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Taastamine"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Taastamine."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Taastamine …"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Taastamine …"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Kokku"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Rakenduse suurus"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Rakendus USB-mäluseadmel"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Paketi suurust ei saanud arvutada."</string>
     <string name="version_text" msgid="7628938665256107608">"versioon <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Teisalda"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhiivimine ebaõnnestus"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Rakendus <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> on arhiivitud"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Taastamine ebaõnnestus"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Rakenduse <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> taastamine"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Teine üleviimine on juba pooleli."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ei ole piisavalt ruumi."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Rakendust ei ole olemas."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Saadaolev ekraanil kuvatav klaviatuur"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Ekraanil kuvatavate klaviatuuride haldamine"</string>
     <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="6922850403920596246">"Füüsilise klaviatuuri kasutamise hõlbustamiseks saate lubada ühekordse puudutusega klahvid"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Aeglased klahvid"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Füüsilise klaviatuuri kasutamise hõlbustamiseks saate lubada aeglased klahvid"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Nakkeklahvid"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Füüsilise klaviatuuri kasutamise hõlbustamiseks saate lubada nakkeklahvid"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Lisavalikute nägemiseks puudutage puuteplaadi paremat alaosa"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kursori kiirus"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Õppige puuteplaadi liigutusi"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Avalehele liikumine"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Pühkige puuteplaadil kolme sõrmega üles"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Tagasiliikumine"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sordi kasutusaja järgi"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sordi viimatise kasutuse järgi"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sordi rakenduse nime järgi"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Viimane kasutamine"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Viimati kasutatud"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"mitte kunagi"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Kasutusaeg"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Juurdepääsetavus"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Juurdepääsetavuse seaded"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Kolmikpuudutusega suurendamine"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Otsetee abil suurendamine"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Otsetee ja kolmikpuudutusega suurendamine"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Teave funktsiooni <xliff:g id="SERVICE">%1$s</xliff:g> kohta"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Avamiseks juurdepääsetavuse nupu kasutamine"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Avamiseks hoidke helitugevuse klahve all"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Avamiseks puudutage ekraani kolm korda"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Avamiseks ekraani kahe sõrmega topeltpuudutamine"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Kasutage avamiseks liigutust"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Juurdepääsuliigutuse kasutamine"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Selle funktsiooni kasutamiseks puudutage ekraanikuva allosas juurdepääsetavuse nuppu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nFunktsioonide vahel vahetamiseks puudutage juurdepääsetavuse nuppu pikalt."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Selle funktsiooni kasutamiseks puudutage ekraanikuval juurdepääsetavuse nuppu."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Selle funktsiooni kasutamiseks vajutage pikalt mõlemat helitugevuse klahvi."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Suurenduse käivitamiseks ja peatamiseks puudutage ekraani kolm korda."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Suurenduse käivitamiseks ja peatamiseks topeltpuudutage ekraani kahe sõrmega."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Selle funktsiooni kasutamiseks pühkige ekraanikuva allosast kahe sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke sõrmi ekraanil."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Selle funktsiooni kasutamiseks pühkige ekraanikuva allosast kolme sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke sõrmi ekraanil."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Juurdepääsufunktsiooni kasutamiseks pühkige ekraanikuva allosast kahe sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kahe sõrmega üles ja hoidke sõrmi ekraanil."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Juurdepääsufunktsiooni kasutamiseks pühkige ekraanikuva allosast kolme sõrmega üles.\n\nFunktsioonide vahel vahetamiseks pühkige kolme sõrmega üles ja hoidke sõrmi ekraanil."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Selge"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Juurdepääsetavuse nupu seaded"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Nupu seaded"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Funktsiooni <xliff:g id="SERVICE">%1$s</xliff:g> otsetee"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Juurdepääsetavuse nupp"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Juurdepääsuliigutus"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Helitugevuse klahvide allhoidmine"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"helitugevuse klahvide allhoidmine"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"ekraani kahe sõrmega topeltpuudutamine"</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="6863958573135995927">"ekraani kolmikpuudutamine"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Lisateave juurdepääsetavuse nupu ja liigutuse kohta"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Juurdepääsetavuse nupu kasutamine. Liigutus ei ole kolme nupuga navigeerimise puhul saadaval."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Kiirjuurdepääs juurdepääsufunktsioonidele"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Alustamiseks tehke järgmist."</b>\n"1. Avage juurdepääsetavuse seaded.\n2. Valige funktsioon ja puudutage otseteed.\n3. Valige, kas soovite funktsioonile juurdepääsemiseks kasutada nuppu või liigutust."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Alustamiseks tehke järgmist."</b>\n"1. Avage juurdepääsetavuse seaded.\n2. Valige funktsioon ja puudutage otseteed.\n3. Valige nupp, millega funktsioonile juurde pääseda."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Alustamiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Avage juurdepääsetavuse seaded.&lt;br/&gt; {1,number,integer}. Valige funktsioon ja puudutage otseteed.&lt;br/&gt; {2,number,integer}. Valige, kas soovite funktsioonile juurdepääsemiseks kasutada nuppu või liigutust.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Alustamiseks toimige järgmiselt.&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Avage juurdepääsetavuse seaded.&lt;br/&gt; {1,number,integer}. Valige funktsioon ja puudutage otseteed.&lt;br/&gt; {2,number,integer}. Valige nupp, millega funktsioonile juurde pääseda.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Nupu või liigutuse kasutamine"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Asukoht"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Suurus"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Toitenupp lõpetab kõne"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Suur hiirekursor"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Muutke hiirekursor paremini nähtavaks"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Muutke kõik rakendused tumedaks"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Rakendub rakendustele, millel pole oma tumedat teemat. Mõnel rakendusel võib olla kuvamisega seotud probleeme, näiteks pöördvärvid."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animatsioonide eemaldamine"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Ekraanikuval liikumise vähendamine"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monoheli"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Vibreerimise ja värintagasiside kasutamine"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Äratuse vibreerimine"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Meedia vibreerimine"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Klaviatuuri vibreerimine"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Helin koos vibreerimisega"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Märguanne koos vibreerimisega"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Puudutuste tagasiside"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Peata"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Tühista"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Kas peatan teenuse <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Nupu <xliff:g id="STOP">%1$s</xliff:g> puudutamisel teenus <xliff:g id="SERVICE">%2$s</xliff:g> peatatakse."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Lülita välja"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Hoia sees"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Kas lülitada <xliff:g id="SERVICE">%1$s</xliff:g> välja?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ühtki teenust pole installitud"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ükski teenus ei ole valitud"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Kirjeldust ei ole sisestatud."</string>
     <string name="settings_button" msgid="2195468788019730377">"Seaded"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"valgustundlikkus, fotofoobia, tume teema, migreen, peavalu, lugemisrežiim, öörežiim, ereduse vähendamine, valge punkt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Lihtne kasutada, lihtne juurdepääs, abi, abistav"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"nägemine, kuulmine, pime, kurt, kurtus, motoorika, peenmotoorika, abi, abistav, kasutusmugavus, lihtne juurdepääs, käsi"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Akna suurendaja, suum, suurendamine, halb nähtavus, suurendus, suuremaks muutmine"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Subtiitrid, reaalajas transkriptsioon, kuulmislangus, kuulmiskadu, CART, kõnesüntees"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"värvikontrastsus"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motoorika, hiir"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"kuuldeaparaadid, kuulmislangus, kuulmiskadu, kõrvaimplantaadid, võimendusseadmed, heliprotsessorid"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motoorika, hiir, väline hiir, peahiir, adaptiivne hiir, ratastool, juhtkang"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"kuuldeaparaadid, kuulmislangus, kuulmiskadu, kõrvaimplantaadid, võimendusseadmed, heliprotsessorid, isiklik helivõimendi, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"kuulmislangus, kuulmiskadu, subtiitrid, teletaip, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"kolm nuppu"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"peenmotoorika, motoorika, eakas, artriit, liigesepõletik, ülekoormusvigastused, ülekoormushaigus, treemor, insult, rabandus, multiipelskleroos, hulgiskleroos, hulgikoldekõvastumus, ajuhalvatus, tserebraalparalüüs, värisemine, värin, värinad, käsi"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"viide, peenmotoorika, eakas"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printimine"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Väljas"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 printimisteenus on sees}other{# printimisteenust on sees}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Jäänud on <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> laadimise lõpuni"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Ekraaniaeg"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Taustal veedetud aeg"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Akutase on madal"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Lubatakse rakenduse taustal käitamine"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Kas piirata taustal tegevust?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Kui piirate rakenduse tegevust taustal, võib rakendus toimida valesti."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Kuna rak. pole aku optimeerimine seadistatud, ei saa te seda piirata.\n\nRak. piiramiseks lülit. esmalt sisse aku optimeerimine."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akukasutuse haldamine"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Taustal kasutamise lubamine"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Lubage, et saada reaalajas värskendusi. Keelake, et säästa akut."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Piiranguteta"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimeeritud"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Piiratud"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Vaadake suurima akukasutusega rakendusi"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Laadimine on aku kaitsmiseks optimeeritud"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Laadimine on optimeeritud, et pikendada teie aku tööiga"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Laadimine on aku kaitsmiseks optimeeritud"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Aku tööea pikendamiseks on laadimine dokitud olekus optimeeritud"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Laadimine on aku kaitsmiseks optimeeritud"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Aku tööea pikendamiseks on laadimine dokitud olekus optimeeritud"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Laaditakse täissaamiseni"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Järgmisel korral, kui teie tahvelarvuti on dokitud, on laadimine aku kaitsmiseks optimeeritud"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Lisateave peatatud laadimise kohta"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Jätka laadimist"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Hõlmab akut koormavaid taustategevusi"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"See rakendus saab taustal akut kasutada. Aku võib oodatust varem tühjaks saada."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Eemalda"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Tühista"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Laadi täissaamiseni"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Probleem laadimistarvikuga"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Kontrollige laadimistarvikut"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Lisateave ühildumatu laadimise kohta"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akuhaldur"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Halda rakendusi automaatselt"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"alates viimasest täislaadimisest"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Süsteemirakendused"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Desinstallitud rakendused"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Muu"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Hinnanguline järelejäänud aeg"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Täislaadimiseni"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Kokku: vähem kui minut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Taustal: vähem kui minut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Ekraaniaeg: vähem kui minut"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Vähem kui minut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Kokku: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Taustal: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Ekraaniaeg: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"praegu"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Akukasutuse diagramm"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Aku päevapõhise kasutuse diagramm"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Aku tunnipõhise kasutuse diagramm"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Akutaseme protsent vahemikus <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> kuni <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Akukasutus pärast viimast täislaadimist"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Akukasutus: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Ekraaniaeg pärast viimast täislaadimist"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Hädaabikõne signaal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Määra käitumine hädaabikõne korral"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Varundamine"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Sees"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Väljas"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Varundamine ja taastamine"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Isikuandmed"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Minu andmete varundamine"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobiilne andmeside, WiFi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Isiklike andmete autom. sünk."</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Tööandmete autom. sünkroon."</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Privaatandmete autom. sünkr."</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Tsükli muutmine ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Kuupäev andmekasutustsükli lähtestamiseks:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Sel perioodil ei kasut. andmeid ükski rakendus."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nimi"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tüüp"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Serveri aadress"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP krüpteerimine (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP saladus"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSeci tunnus"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSeci eeljagatud võti"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSeci kasutaja sertifikaat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSeci CA-sertifikaat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Serveri IPSeci sertifikaat"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Kuva täpsemad valikud"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-i otsingudomeenid"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-serverid (nt 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Edastamismarsruudid (nt 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Kasutajanimi"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Parool"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Salvesta kontoteave"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ei kasutata)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ära kinnita serverit)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(serverist saadud)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Seda tüüpi VPN ei saa olla alati ühendatud"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Alati sisselülitatud VPN toetab ainult numbritest koosnevaid serveriaadresse"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Alati sisselülitatud VPN-i puhul peab olema määratud DNS-server"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Alati sisselülitatud VPN-i puhul peab DNS-serveri aadress koosnema numbritest"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Sisestatud teave ei toeta alati sisselülitatud VPN-i"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Tühista"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Loobu"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN-ita ühenduste blokeerimine"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Kas vajate VPN-i ühendust?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Pole turvaline. Värskendage versioonile IKEv2 VPN."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Toetamata VPN-i käivitamine ebaõnnestus."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Valige VPN-i profiil, millega olla alati ühendatud. Võrguliiklus on lubatud ainult siis, kui olete ühendatud selle VPN-iga."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Puudub"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Alati sees VPN-i jaoks on vaja IP-aadressi nii serverile kui ka DNS-ile."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Lasteröövi märguanded"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Teadaannete vastuvõtmine lasteröövide kohta"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Kordamine"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Kõnehalduri lubamine"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Lubage sellel teenusel hallata, kuidas kõnesid tehakse."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Kõnehaldur"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Eriolukorra raadiosideteatised"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Võrguoperaatorid"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Pääsupunktide nimed"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-i olek"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-kaardi olek (SIM-kaardi pesa %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-id on muudetud."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-kaardid on vahetatud"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Puudutage seadistamiseks"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Küsi iga kord"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Valik on tegemata"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Hiljutised rakendused, vaikerakendused"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Tööprofiilil pole märguannete juurdepääs rakenduste puhul saadaval."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Paroolid ja kontod"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Salvestatud paroolid, automaattäide ja sünkroonitud kontod"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sisselogimise ja automaattäite soovitused"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Vaikerakendused"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Kloonitud rakendused"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Looge rakenduse teine eksemplar, et saaksite korraga kahte kontot kasutada."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"maksa, puuduta, maksed"</string>
     <string name="keywords_backup" msgid="707735920706667685">"varukoopia, varundamine"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"liigutus"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"nägu, avamine, autentimine, sisselogimine"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"nägu, avamine, autentimine, sisselogimine, sõrmejälg, biomeetria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-i versioon, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"teksti suurus, suur tekst, suur font, halb nähtavus, teksti suuremaks muutmine, fondi suurendaja, fondi suurendamine"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"alati sisse lülitatud taustakuva, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, kiip, lugeja"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klaviatuur, värintagasiside, vibreerimine,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Helitugevus, vibreerimine, režiim Mitte segada"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Meedia helitugevus"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Ülekantava sisu helitugevus"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Sisselülitamise helid"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Reaalajas subtiitrid"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Meediasisu automaatsed subtiitrid"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefoni kõlarid"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tahvelarvuti kõlarid"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Seadme kõlarid"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Juhtmega kõrvaklapid"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Ühilduva meedia heli muutub ruumilisemaks"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Väljas"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Kuva kogu märguande sisu"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Kuva tundlik sisu ainult avatuna"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ära kuva märguandeid üldse"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kuidas soovite lukustuskuva kuvada?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Mida soovite oma lukustuskuval näha?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lukustuskuva"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Kuva tööprofiili märguannete kogu sisu"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Peida tundlik töösisu"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Hiljutine vestlus eemaldati"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Vestlus eemaldati"</string>
     <string name="clear" msgid="5092178335409471100">"Kustuta"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Kustuta <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioriteetsed ja muudetud vestlused kuvatakse siin"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Kui märgite vestluse prioriteetseks või teete vestluses teisi muudatusi, kuvatakse need siin. \n\nVestluse seadete muutmine: \npühkige ekraani ülaosast alla, et avada allatõmmatav ala. Seejärel puudutage pikalt vestlust."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimeeri"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Märguannete rahunemine"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Rahunemise rakendamine kõigile märguannetele"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Vähendab järk-järgult märguannete helitugevust, kui saate samast rakendusest mitu järjestikust teavitust"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Rahunemise rakendamine vestlustele"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Vähendab järk-järgult märguannete helitugevust, kui saate samast vestlusest mitu järjestikust teavitust"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ära kasuta märguannete rahunemist"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Ei vähenda kunagi märguannete helitugevust, olenemata sama rakenduse järjestikuste märguannete arvust"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Avatuna vibreerimine"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibreerib ainult, kui ekraan on avatud"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Tööprofiilidele rakendamine"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Rakendab märguannete rahunemise seaded teie isiklikult profiililt teie tööprofiilile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-abilise teenused"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ükski installitud rakendus pole taotlenud VR-abilise teenusena käitamist."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Kas lubada VR-teenuse juurdepääs teenusele <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Väljas"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Rakenduse kinnitamine"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Rakenduse kinnitamise abil saate hoida praeguse rakenduse kuval seni, kuni selle vabastate. Seda funktsiooni saab kasutada näiteks selleks, et lubada usaldusväärsel sõbral teatud mängu mängida."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kui rakendus on kinnitatud, saab kinnitatud rakendus avada teisi rakendusi ja isiklikud andmed võivad olla juurdepääsetavad. \n\nRakenduse kinnitamise kasutamiseks toimige järgmiselt. 	\n1. Lülitage rakenduse kinnitamine sisse. 	\n2. Avage leht Ülevaade. 	\n3. Puudutage ekraanikuva ülaosas rakenduse ikooni ja siis käsku Kinnita."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kui rakendus on kinnitatud, saab kinnitatud rakendus avada teisi rakendusi ja isiklikud andmed võivad olla juurdepääsetavad. \n\nKui soovite oma seadet kellegagi turvaliselt jagada, proovige selle asemel kasutada külaliskasutajat. \n\nRakenduse kinnitamise kasutamiseks toimige järgmiselt. 	\n1. Lülitage rakenduse kinnitamine sisse. 	\n2. Avage leht Ülevaade. 	\n3. Puudutage ekraanikuva ülaosas rakenduse ikooni ja siis käsku Kinnita."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kui rakendus on kinnitatud, saab kinnitatud rakendus avada teisi rakendusi ja isiklikud andmed võivad olla juurdepääsetavad. \n\nRakenduse kinnitamise kasutamiseks: 	\n{0,number,integer}. Rakenduse kinnitamise sisselülitamiseks 	\n{1,number,integer}. Avage ülevaade 	\n{2,number,integer}. Puudutage ekraanikuva ülaosas rakenduse ikooni ja siis käsku Kinnita."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kui rakendus on kinnitatud, saab kinnitatud rakendus avada teisi rakendusi ja isiklikud andmed võivad olla juurdepääsetavad. \n\nKui soovite oma seadet kellegagi turvaliselt jagada, proovige selle asemel kasutada külaliskasutajat. \n\nRakenduse kinnitamise kasutamiseks: 	\n{0,number,integer}. Rakenduse kinnitamise sisselülitamiseks 	\n{1,number,integer}. Avage ülevaade 	\n{2,number,integer}. Puudutage ekraanikuva ülaosas rakenduse ikooni ja siis käsku Kinnita."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kui rakendus on kinnitatud: \n\n•		võivad isiklikud andmed (nt kontaktid\nja meilide sisu) olla juurdepääsetavad; \n•		kinnitatud rakendus võib avada teisi rakendusi. \n\nKasutage rakenduse kinnitamist ainult usaldusväärsete inimestega."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Enne vabastamist küsi avamismustrit"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Enne vabastamist küsi PIN-koodi"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Enne vabastamist küsi parooli"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Vabastamise korral lukusta seade"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM-i kustutamise kinnitamine"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Kinnitage, et soovite oma eSIM-i kustutada"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Enne eSIM-i kustutamist kinnitage oma isik"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Täiustatud mälukaitse (beeta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Täiustatud mälukaitse"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Kasutamata rakenduse seaded"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Tegevusetuna rakenduse tegevuste peatamine"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Eemaldatakse load, kustutatakse ajutised failid ja peatatakse märguanded"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Halda kasutamata rakendusi"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Eemalda load, kustuta ajutised failid, peata märguanded ja arhiivi rakendus"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Kõik rakendused"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installitud rakendused"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Installimata avat. rakendused"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Vaba"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Rakenduste kasutatav mälu"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 rakendus kasutas viimase {time} jooksul mälu}other{# rakendust kasutasid viimase {time} jooksul mälu}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Luba mälukasutuse profiilimine"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Mälukasutuse profiilimine nõuab täiendavaid süsteemiressursse."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Mälu profiilimine on keelatud"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Sagedus"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimaalne kasutus"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Andmesidet pole kasutatud"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Muude rakenduste peal kuvamine"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Luba muude rakenduste peal kuvamine"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Lubage seda rakendust kuvada muude kasutatavate rakenduste peal. See rakendus näeb, kus puudutate, või saab muuta seda, mis ekraanil kuvatakse."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Muutke meediaväljundit"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Lubage rakendusel meediaväljundit muuta"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Lubage sellel rakendusel valida, milline ühendatud seade esitab teiste rakenduste heli või videot. Kui see on lubatud, pääseb see rakendus juurde saadaolevate seadmete (nt kõrvaklapid ja kõlarid) loendile ning valida, millist väljundseadet heli või video voogesitamiseks või ülekandmiseks kasutatakse."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Juurdepääs kõikidele failidele"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Luba juurdepääs kõikide failide haldamisele"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Sellel rakendusel lubatakse lugeda, muuta ja kustutada kõiki selles seadmes ning ühendatud andmekandjatel olevaid faile. Loa andmisel võib rakendus failidele juurde pääseda ilma teie teadmata."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pääseb failidele juurde"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Häälaktiveeritavad rakendused"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Luba häälaktiveerimine"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Häälega aktiveerimine lülitab sisse kinnitatud rakendused, vabakäerežiimi ja häälkäskluste kasutamise. Sisseehitatud kohanduv tuvastamine tagab, et andmed jäävad teie jaoks privaatseks.\n\n"<a href="">"Lisateave turvalise kohanduva tuvastamise kohta"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Kogu ekraani katvad märguanded"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Luba selle rakenduse kogu ekraani katvad märguanded"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Lubage sellel rakendusel kuvada kogu ekraani katvaid märguandeid, kui seade on lukustatud. Rakendused võivad selle abil tõsta esile alarme, sissetulevaid kõnesid või muid pakilisi märguandeid."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> – andmemahu hoiatus"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> – andmemahu piirang"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> – andmemahu hoiatus / <xliff:g id="ID_2">^2</xliff:g> – andmemahu piirang"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operaatori andmemahuarvestus võib erineda seadme andmemahuarvestusest"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ei sisalda operaatorite võrkude kasutatavat andmemahtu"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> on kasutatud"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Andmekasutuse hoiatuse määramine"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Värskendati <xliff:g id="ID_1">^2</xliff:g> tagasi"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Operaator <xliff:g id="ID_1">^1</xliff:g> värskendas äsja"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Värskendati äsja"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Kuva pakett"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Kuva üksikasjad"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Andmemahu säästja"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Piiramata andmeside"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> kasutas taustal tavapärasest rohkem akut"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> kasutas esiplaanil rohkem akut"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> kasutas esiplaanil tavapärasest rohkem akut"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akukasutuse anomaalia"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Suur akukasutus"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Suur akukasutus taustal"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Suur akukasutus esiplaanil"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Arendaja kiirseadete paanid"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Keela ADB volituse ajalõpp"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Keelake ADB volituste automaatne tühistamine süsteemides, mis ei loo uuesti ühendust vaikeaja (7 päeva) või kasutaja määratud aja (vähemalt 1 päev) jooksul."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Andurid on väljas"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Tööprofiili seaded"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Otsi isiklikes rakendustes töökataloogi kontakte"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"süsteemis navigeerimine, kahe nupuga navigeerimine, kolme nupuga navigeerimine, liigutustega navigeerimine, pühkimine"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitaalne assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistendi käivitamiseks pühkimine"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pühkige ekraanikuva alanurgast üles, et digitaalse assistendi rakendus käivitada."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pühkige ekraanikuva alanurgast üles, et digitaalse assistendi rakendus käivitada"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistendi kasutamiseks nupu Avakuva allhoidmine"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Vajutage avakuva nuppu pikalt, et digitaalse assistendi rakendus käivitada."</string>
     <string name="low_label" msgid="6525629096999711220">"Väike"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Automaattäite teenus"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Automaattäite vaiketeenus"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Paroolid"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Paroolid, pääsuvõtmed ja andmesideteenused"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Lisapakkujad"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Eelistatud teenus"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Lisateenused"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# parool}other{# parooli}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automaatne, täitmine, automaattäide, parool"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"andmesideteenus, pääsuvõti, parool"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automaatne, täitmine, automaattäide, andmed, pääsuvõti, parool"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Muuda"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ava"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ühtegi pole valitud"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Veenduge, et rakendus oleks usaldusväärne&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google\'i automaatne täitmine&gt;%1$s&lt;/xliff:g&gt; kasutab automaatse täitmise sisestuse määramiseks ekraanil kuvatut."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Kas kasutada rakendust &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kasutab teie ekraanil olevat sisu, et määratleda, mida saab automaatselt täita. Uued paroolid, pääsuvõtmed ja muu teave salvestatakse edaspidi siia."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Paroolid, pääsuvõtmed ja andmeteenused"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Uued paroolid, pääsuvõtmed ja muu teave salvestatakse edaspidi siia. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; võib kasutada teie ekraanil kuvatut, et otsustada, millise osa saab automaatselt täita."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Paroolide, pääsuvõtmete ja automaattäite puhul eelistatud teenus"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Kas lülitada %1$s välja?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Kas lülitada see teenus välja?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Salvestatud teavet, nagu paroolid, pääsuvõtmed, makseviisid ja muu teave, sisselogimisel ei täideta. Salvestatud teabe kasutamiseks valige üks paroolide, pääsuvõtmete või andmete talletamise teenus."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Paroolid, pääsuvõtmed ja automaattäide"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Lülitage kõik teenused välja?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Paroolid, pääsuvõtmed ja muu salvestatud teave poole sisselogides automaattäitmiseks saadaval"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Määrake eelistatud teenusepakkujaks &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Uued paroolid, pääsuvõtmed ja muu teave salvestatakse edaspidi siia. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; võib kasutada teie ekraanil kuvatut, et otsustada, millise osa saab automaatselt täita"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Kas kasutada teenust %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Lülita välja"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Muutus"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Sisse võib olla lülitatud ainult viis teenust"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Lülitage vähemalt üks teenus välja, et lisada uus teenus"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s kasutab ekraanil kuvatut, et otsustada, mida saab automaatselt täita."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Paroolide, pääsuvõtmete ja andmesideteenuste piirang"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Korraga saavad aktiivsed olla kuni 5 parooli, pääsuvõtit ja andmesideteenust. Nende lisamiseks lülitage mõni olemasolev välja."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Paroolide, pääsuvõtmete ja andmesideteenuste piirang"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Korraga saavad aktiivsed olla kuni 5 parooli, pääsuvõtit ja andmesideteenust. Teenuse lisamiseks lülitage mõni olemasolev välja."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Lülita välja"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automaattäide"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logimistase"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Rakenduse ühilduvuse muudatusi saab muuta silutavate rakenduste puhul. Installige silutav rakendus ja proovige uuesti."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Oleneb teisest seadest"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d kontot"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Seadme nimi"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Põhiteave"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Juriidiline ja regulatiivteave"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Lubage see rakendus käivitada, kui skannitakse NFC-kiip.\nKui see luba on sisse lülitatud, on rakendus kiibi tuvastamisel valikuna saadaval."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Meedia esitamise seade:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Esita rakendust <xliff:g id="LABEL">%s</xliff:g> väljundis"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Jätkatakse heli esitamist"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"See seade"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Pole kõnede ajal saadaval"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Vasta kõnele seadmes"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Vaigistamine"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Lubamiseks muutke esmalt toitemenüüs valikut „Toitenupu pikalt vajutamine“."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Võrgu üksikasjad"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Teie seadme nimi on teie telefonis olevatele 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="devices_title" msgid="649715719278562515">"Seadmed"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Võrgu valimine"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Ühendus on katkestatud"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nimi"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Värv (kasutavad ühilduvad rakendused)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Salvesta"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Kasuta SIMi"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Kasuta seda SIM-i"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Väljas"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Selle SIM-i keelamiseks eemaldage SIM-kaart"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Puudutage operaatori <xliff:g id="CARRIER">%1$s</xliff:g> aktiveerimiseks"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Kustuta SIM-kaart"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Selle SIM-kaardi väljalülitamiseks eemaldage SIM-kaart"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Puudutage operaatori <xliff:g id="CARRIER">%1$s</xliff:g> SIM-kaardi aktiveerimiseks"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM-i kustutamine"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Eelistatud võrgutüüp"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Võrgu töörežiimi muutmine"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Eelistatud võrgutüüp"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Hinnakirja küsige oma võrguteenuse pakkujalt."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Rakenduste andmekasutus"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Võrgu režiim <xliff:g id="NETWORKMODEID">%1$d</xliff:g> on sobimatu. Eirake seda."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellidipõhine sõnumside"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Tekstisõnumite saatmine ja vastuvõtmine satelliidi kaudu. On teie kontoga lubatud."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Tekstisõnumite saatmine ja vastuvõtmine satelliidi kaudu. Ei ole teie kontoga lubatud."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellidipõhine sõnumside"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Teave satelliidipõhise sõnumside kohta"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Saate saata ja vastu võtta tekstisõnumeid satelliidi kaudu, kui teil on sobilik operaatori <xliff:g id="CARRIER_NAME">%1$s</xliff:g> konto"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Teie operaatori <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pakett"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellidipõhine sõnumside on teie konto osa"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelliidipõhine sõnumside ei ole teie konto osa"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Satelliidipõhise sõnumside lisamine"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Tööpõhimõtted"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kui teil ei ole mobiilsidevõrku"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Teie telefon ühendatakse satelliidiga automaatselt. Parima ühenduse tagamiseks asuge taeva all."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Kui telefon on satelliidiga ühenduse loonud"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Saate sõnumeid saata kellele tahes, sealhulgas hädaabiteenustele. Teie telefon loob uuesti ühenduse mobiilsidevõrguga, kui see on saadaval."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satelliitsõnumite saatmine võib võtta kauem aega ja on saadaval ainult teatud piirkondades. Ilm ja teatud struktuurid võivad mõjutada teie satelliidiühendust. Satelliidi kaudu helistamine pole saadaval.\n\nKontol tehtud muudatuste jõustumiseks seadetes võib kuluda veidi aega. Võtke ühendust operaatoriga <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ja küsige lisateavet."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Lisateave satellidipõhise sõnumside kohta"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Pääsupunktide nimed"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Pole saadaval, kui on ühendus on loodud operaatoriga <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Kas soovite aktiveerida operaatori <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Kas aktiveerida SIM-kaardi kasutamine?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Kas kasutada operaatorit <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Korraga saab aktiivne olla vaid üks SIM.\n\nOperaatori <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> aktiveerimisel ei tühistata operaatori <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> teenust."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Korraga saab aktiivne olla vaid üks eSIM.\n\nOperaatori <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> aktiveerimisel ei tühistata operaatori <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> teenust."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Korraga saab aktiivne olla vaid üks SIM.\n\nAktiveerimine ei tühista operaatori <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> teenust."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Korraga saab sisse lülitada ainult ühe SIM-kaardi.\n\nOperaatori <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> aktiveerimisel ei tühistata operaatori <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> teenust."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Korraga saab sisse lülitada ainult ühe eSIM-i.\n\nOperaatori <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> aktiveerimisel ei tühistata operaatori <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> teenust."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Korraga saab sisse lülitada ainult ühe SIM-kaardi.\n\nOperaatori vahetamisel ei tühistata operaatori <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> teenust."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Saate korraga kasutada kahte SIM-i. Operaatori <xliff:g id="CARRIER_NAME">%1$s</xliff:g> kasutamiseks lülitage teine SIM välja."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Aktiveeri operaator <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Lülita <xliff:g id="CARRIER_NAME">%1$s</xliff:g> välja"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM-i väljalülitamine ei tühista teenust"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Võrguga ühendamine …"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Kõnede ja sõnumite puhul lülitutakse operaatorile <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operaatorit ei saa vahetada"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operaatorit ei saa vea tõttu vahetada."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM-kaardi aktiveerimine …"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Üleminek operaatorile <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM-kaarte ei saa vahetada"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Midagi läks valesti. SIM-kaarte ei saa vahetada."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Kas lülitada <xliff:g id="CARRIER_NAME">%1$s</xliff:g> välja?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Kas lülitada SIM-kaart välja?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-kaardi väljalülitamine <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operaatorit ei saa keelata"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Midagi läks valesti ja teie operaatorit ei saanud keelata."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM-kaarti ei saa välja lülitada"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Midagi läks valesti ja SIM-kaarti ei saanud välja lülitada."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Kas kasutada kahte SIMi?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Selles seadmes saavad korraga aktiivsed olla kaks SIMi. Korraga ühe SIMi kasutamise jätkamiseks puudutage valikut „Tänan, ei”."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Kas soovite seadme taaskäivitada?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Tänan, ei"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Loobu"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Vaheta"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Lülita välja"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-kaarti ei saa aktiveerida"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Lülitage SIM-kaart uuesti sisse. Kui probleem jätkub, taaskäivitage seade."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM-i seadistamine"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Seadistage oma mobiilsidevõrgu eelistused, et selles seadmes mitut SIM-i kasutada"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM-idele sildi lisamine"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Näete neid silte helistamisel, tekstsõnumite saatmisel ja andmeside kasutamisel ning seadetes"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-i silt"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Silt"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Kasutamiseks SIM-ide valimine"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Saate korraga kasutada kahte SIM-i"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Peamiste SIM-ide määramine"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Valige, milliseid SIM-e kõnede, tekstisõnumite ja andmeside jaoks vaikimisi kasutada"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Teie peamised SIM-id"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Kõned"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Tekstsõnumid"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automaatne andmeside vahetamine"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Levialast ja saadavusest olenevalt kasutage mõlema SIM-i andmesidet"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Ainult andmeside"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Seadistamine"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Järgmine"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Teenuse <xliff:g id="CARRIER_NAME">%1$s</xliff:g> sisselülitamine …"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobiilsidevõrk"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefoninumber"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-i silt ja värv"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Võrgu aktiveerimine"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operaatori vahetamine"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> on aktiivne"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Operaatori <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM-kaart on aktiivne"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Puudutage SIM-kaardi seadete värskendamiseks"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Lülituti operaatorile <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Lülituti teisele operaatorile"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Teie mobiilsidevõrku on muudetud"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Teise SIM-kaardi seadistamine"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Valige aktiivne SIM-kaart või kasutage korraga kahte SIM-kaarti"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Kasutatava numbri valimine"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Selles seadmes on saadaval 1 number, kuid korraga saab kasutada vaid üht}=2{Selles seadmes on saadaval 2 numbrit, kuid korraga saab kasutada vaid üht}other{Selles seadmes on saadaval # numbrit, kuid korraga saab kasutada vaid üht}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiveerimine <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Praegu ei saa aktiveerida"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Valige kasutatav SIM-kaart"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Selles seadmes on saadaval üks SIM-kaart, kuid korraga saab kasutada vaid üht}=2{Selles seadmes on saadaval kaks SIM-kaarti, kuid korraga saab kasutada vaid üht}other{Selles seadmes on saadaval # SIM-kaarti, kuid korraga saab kasutada vaid üht}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Profiili <xliff:g id="ELLIPSIS">…</xliff:g> lülitatakse sisse"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Seda SIM-kaarti ei saanud praegu sisse lülitada"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Kas kasutada operaatorit <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Mobiilse andmeside, kõnede ja SMS-ide jaoks kasutatakse operaatorit <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Aktiivseid SIMe pole saadaval"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Avage oma võrguseaded, et hiljem mobiilset andmesidet, kõnefunktsioone ja SMS-e kasutada."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Kas soovite selle eSIM-i kustutada?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"SIMi kustutamisel eemaldatakse seadmest operaatori <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> teenus.\n\nOperaatori <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> teenust ei tühistata."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"See eemaldab sellest seadmest operaatori <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> teenuse, kuid operaatori <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> paketti ei tühistata."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Kustuta"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM-kaardi kustutamine …"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-kaarti ei saa kustutada"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Seda SIM-kaarti ei saa vea tõttu kustutada.\n\nTaaskäivitage seade ja proovige uuesti."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM-i kustutamine …"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM-i ei saa kustutada"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Midagi läks valesti ja seda eSIM-i ei kustutatud.\n\nTaaskäivitage seade ja proovige uuesti."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Seadmega ühendamine"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Rakendus <xliff:g id="APPNAME">%1$s</xliff:g> soovib kasutada ajutist WiFi-võrku, et teie seadmega ühendus luua"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Seadmeid ei leitud. Veenduge, et seadmed oleksid sisse lülitatud ja ühendamiseks saadaval."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Hädaabikõned"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Teie operaator ei toeta hädaabikõnesid WiFi-kõnede kaudu.\nSeade lülitub hädaabikõne tegemiseks automaatselt mobiilsidevõrgule.\nHädaabikõned on võimalikud ainult mobiilsidevõrgu levialas."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Kvaliteedi parandamiseks kasutage kõnede puhul WiFi-t"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Helistamise varuviis"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Kui <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> pole rändluseks saadaval, kasutage operaatori <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> kõnede puhul mobiilse andmeside SIM-kaarti."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"helistamise varuviis"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Sissetulev MMS-sõnum"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS-i ei saa saata"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Puudutage, et lubada MMS-sõnumside operaatori <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> võrgus, kui mobiilne andmeside on välja lülitatud"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Teie tööeeskirjade teave"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Seadeid haldab teie IT-administraator"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Käivita 16 kB lehesuurusega"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Seadme käivitamine 16 kB lehesuuruse toega tuumaga"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Kas taaskäivitada 16 kB lehtedega ühilduva tuumaga?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"HOIATUS! Mõni rakendus ei pruugi selle režiimiga ühilduda. Seade taaskäivitatakse pärast kinnitamist."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Kas taaskäivitada 4 kB lehtedega ühilduva tuumaga?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Seade taaskäivitatakse pärast kinnitamist."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ei õnnestunud tuuma 16 kB lehtedega ühilduvale tuumale värskendada."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Muudatuse rakendamine"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Veaaruannete töötleja"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Määrab, milline rakendus kasutab teie seadmes veaaruannete otseteed."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Isiklik"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Lubage rakendustel, mida tohib kuvada teiste rakenduste peal, katta Seadete ekraanikuvasid"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Luba matkitud modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Lubab sellel seadmel käitada matkitud modemi teenust instrumentide testimiseks. Ärge lubage seda telefoni tavapärase kasutuse ajal."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Ekraani jagamise kaitsemeetmete keelamine"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Keelab ekraani jagamise ajal süsteemi rakendatud rakenduste ja märguannete kaitsemeetmed"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Meedia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Meediapleieri kinnitamine"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Kiirelt taasesituse jätkamiseks jääb meediapleier kiirseadetes avatuks"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Kuva meedia lukustuskuval"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Kiirelt taasesituse jätkamiseks jääb meediapleier lukustuskuval avatuks"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Kuva meediasoovitusi"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Kuva assistendi meediasoovitused"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Teie tegevuse põhjal"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Peida pleier"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Kuva pleier"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"meedia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Luba kaamera tarkvaralaiendused"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Lubab kaamera täiustatud funktsioonide (nt vaegnägijate videograafia) vaiketarkvararakenduse."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth lülitub sisse"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-id"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM-kaart"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-id"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiivne"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Mitteaktiivne"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Sees"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Väljas"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / vaikevalik üksus(t)e <xliff:g id="ID_1">%1$s</xliff:g> puhul"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"kõned"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Ühilduva meedia heli muutub ruumilisemaks"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Pea jälgimine"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Heli muutub pead liigutades, et kõla oleks loomulikum"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Lubade sünkroonimine"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Andke seadmele <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> samad rakenduse load, mille olete lubanud seadmes <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Lubade sünkroonimine telefonist"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Andke oma kellale samad rakenduse load, mille olete andnud selles telefonis"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Heliseadme tüüp"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Teadmata"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Kõlar"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Keskmine"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Kõrge"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Selle rakenduse saab avada ainult ühes aknas"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Sees"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Väljas"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Väljas"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Väljas"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Sees"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Väljas"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Sees"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Väljas"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Muudab heledad ekraanid tumedaks ja tumedad heledaks"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Suumige ekraanil sisse"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Väljas"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Väljas"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Petturlike rakenduste skannimine"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Rakenduse tegevuste kontrollimine andmepüügi suhtes"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Kasuta petturlike rakenduste tuvastamiseks skannimist"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Kasuta tööl petturlike rakenduste tuvastamiseks skannimist"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Parool on seadistatud"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Kuva kursor hõljutamise ajal"</string>
 </resources>
diff --git a/res/values-eu/arrays.xml b/res/values-eu/arrays.xml
index 7b9a208..cf4a036 100644
--- a/res/values-eu/arrays.xml
+++ b/res/values-eu/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Erabilgarri"</item>
     <item msgid="6096962300722555553">"Urrutiegi"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Desgaituta"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast eta Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Erabili sistemaren balio lehenetsia: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Minutu bat igarotakoan"</item>
     <item msgid="1574040255478150028">"Bost minutu igarotakoan"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-eu/strings.xml b/res/values-eu/strings.xml
index 1b44bd9..659a89f 100644
--- a/res/values-eu/strings.xml
+++ b/res/values-eu/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Garatzailea zara!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Ez dago zertan, dagoeneko garatzailea zara."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lehendabizi, gaitu garatzaileen aukerak."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Administratzaileak diren erabiltzaileek soilik atzi ditzakete garatzaileen ezarpenak."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Erabilgarri"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ez erabilgarri"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Gailua tolestean, aurreko pantaila pizten da"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Jokoak, bideoak eta abar soilik"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Pantaila inaktibo ezartzea galarazten duten aplikazioekin, aurreko pantaila pizten da"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Aurrera egiteko, pasatu hatza gora"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Aplikazioa erabiltzen jarraitzeko, tolestu telefonoa eta pasatu hatza gora aurreko pantailan; bestela, itxaron segundo batzuk pantaila blokeatu arte"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Inoiz ez"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Gailua tolestean, aurreko pantaila blokeatzen da"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Erabili automatikoki biratzeko aukera"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Antzekoak"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Tonua eta alarmak"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Deietako audioa"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimedia-edukia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Jakinarazpenak eta bestelako sistema-soinuak"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Multimedia-eduki eta sistemaren soinuak"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Jakinarazpenak"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Modu lehenetsian, audio-irteera aplikazioaren araberakoa da"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Izenik gabeko Bluetooth bidezko gailua"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Bilatzen"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Utzi"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Desgaitu Kontsumo txikiko Bluetooth bidezko audioa"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Kontsumo txikiko Bluetooth bidezko audioa darabilten hardware-gaitasunak gailuarekin bateragarriak badira, Kontsumo txikiko Bluetooth bidezko audioa eginbidea desgaitzen du."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Kontsumo txikiko Bluetooth bidezko audioaren modua"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Erakutsi kontsumo txikiko audioaren etengailua gailuaren xehetasunetan"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Gaitu kontsumo txikiko Bluetooth bidezko audioaren Onartutakoen zerrenda"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Gaitu kontsumo txikiko Bluetooth bidezko audioaren Onartutakoen zerrenda eginbidea."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ez aplikatu kontsumo txikiko Bluetooth bidezko audioaren baimendutakoen zerrenda"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Erabili kontsumo txikiko audioa modu lehenetsian, hura darabilen gailu periferikoak baimendutakoen zerrendako irizpideak betetzen dituen egiaztatu ez bada ere."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Multimedia-gailuak"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Deiak jaso eta egiteko gailuak"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Beste gailu batzuk"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Gordetako gailuak"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Kontuarekin erlazionatuta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Aurretik erabili da kontuarekin"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth bidezko konexioa aktibatuko da parekatu ahal izateko"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Konexio-hobespenak"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Aurretik konektatutakoak"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Aktibatu da Bluetootha"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ikusi guztiak"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Ikusi guztiak"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Arkatza"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Muturreko botoia sakatzean"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (laneko profila)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Idatzi testu-eremuetan"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Egin ez ikusi arkatzarekin sakatzen diren botoi guztiei"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Arkatza"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audioa partekatzea"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partekatu audioa"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Deiak eta alarmak"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Konektatu zuzeneko audio-igorpen batera QR kodea erabilita"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Ez da aurkitu zuzeneko audio-igorpenik."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data eta ordua"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxya"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Garbitu"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Aplikazio bakoitzerako hizkuntza bat hautatzeko, joan aplikazioaren hizkuntza-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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s hizkuntza hobetsien zerrendan gehitu nahi duzu?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Zuk ere hizkuntza hori hobesten duzula jakinaraziko zaie aplikazio eta webguneei."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Gailuaren ezarpenak eta lurraldeko hobespenak aldatuko dira."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Aldatu"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ez dago erabilgarri"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Larunbata"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Aplikazio batek lurraldeko hobespenak onartzen ez baditu, lurraldeko ezarpen lehenetsiak erabiliko ditu."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Lortu hizkuntza-hobespenei buruzko informazio gehiago."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Hobespen gehigarriak"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Zuri zuzentzeko modua"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Ezarri jaso nahi duzun trataera"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Erabiltzen dituzun aplikazioek zuri zuzentzeko ezarri duzun modua erabil dezakete zurekiko komunikazioa pertsonalizatzeko."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Zehaztugabea"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Emakumezkoa"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Gizonezkoa"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutrala"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Hautatutako hizkuntza kendu nahi duzu?}other{Hautatutako hizkuntzak kendu nahi dituzu?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Testua beste hizkuntza batean bistaratuko da."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Ezin dira kendu hizkuntza guztiak"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Kokapena"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Erabili kokapena"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desaktibatuta"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Aktibatuta: # aplikaziok kokapena atzi dezake}other{Aktibatuta: # aplikaziok kokapena atzi dezakete}}"</string>
+    <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Aktibatuta / # aplikaziok kokapena atzi dezake}other{Aktibatuta / # aplikaziok kokapena atzi dezakete}}"</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_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="5329024810729665156">"Lortu kokapen-ezarpenei buruzko informazio gehiago."</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="3574930966097093550">"Kokapen-baimenak aldatzeko, joan &gt; Segurtasuna eta pribatutasuna &gt; Pribatutasun-ezarpenak atalera"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Kontuak"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Segurtasuna"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Enkriptatzea eta kredentzialak"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Emaitza onenak lortzeko, erabili Made for Google ziurtagiria duen pantaila babesteko osagarri bat. Besterik erabiliz gero, baliteke haurraren hatz-markak ez funtzionatzea."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Erloju bidez desblokeatzea"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Aurpegi eta hatz-marka bidez desblokeatzeko eginbideak konfiguratzen badituzu, telefonoak hatz-marka eskatuko dizu inoiz maskara bat jantzita edo argi gutxirekin telefonoa aurpegiaren bidez desblokeatzen saiatuz gero.\n\nAurpegia edo hatz-marka ezagutzen ez bada, erlojuaren bidez desblokea dezakezu telefonoa."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Hatz-marka ezagutzen ez bada, erlojuaren bidez desblokea dezakezu telefonoa."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Aurpegia ezagutzen ez bada, erlojuaren bidez desblokea dezakezu telefonoa."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Aurpegi eta hatz-marka bidez desblokeatzeko eginbideak konfiguratzen badituzu, telefonoak hatz-marka eskatuko dizu inoiz maskara bat jantzita edo argi gutxirekin telefonoa aurpegiaren bidez desblokeatzen saiatuz gero.\n\nTelefonoa desblokeatzeko beste modu eroso bat da Erloju bidez desblokeatzea; adibidez, hatzak bustita dauzkazunean edo aurpegia ezagutzen ez denean."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Telefonoa desblokeatzeko beste modu eroso bat da Erloju bidez desblokeatzea; adibidez, hatz-marka ezagutzen ez denean."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Telefonoa desblokeatzeko beste modu eroso bat da Erloju bidez desblokeatzea; adibidez, aurpegia ezagutzen ez denean."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Erabili hatz-marka edo erlojua"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Erabili aurpegia edo erlojua"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Erabili aurpegia, hatz-marka edo erlojua"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Telefonoa desblokeatzeko beste modu eroso bat da Erloju bidez desblokeatzea; adibidez, hatzak bustita dauzkazunean edo aurpegia ezagutzen ez denean.\n\nEkintza hauek eginda erabil dezakezu erlojua telefonoa desblokeatzeko:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Orain ez"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Egin aurrera"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Gehiago"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Nola funtzionatzen du?"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Desblokeatuta, eskumuturrean eta telefonotik gertu egon behar du erlojuak. Eskumuturrean daramazun bitartean, ez duzu berriro desblokeatu beharko."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Telefonoa desblokeatzen denean, jakinarazpen bat jasoko duzu erlojuan. Telefonoa nahi gabe desblokeatu bada, sakatu jakinarazpena telefonoa berriro blokeatzeko."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Zeuk duzu kontrola"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Erloju bidez desblokeatzeko eginbideak darabiltzan gailuen zerrendatik kentzeko erlojua, joan ezarpenetara"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Sakatu jakinarazpen bat"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Pantaila blokeatuan, pasatu hatza gora"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Aukeratu erlojua"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Erabilgarri dauden erlojuak"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Utzi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Berretsi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Prest zaude!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Orain, telefonoa desblokeatzeko erabil dezakezu erlojua, pantaila blokeatuan hatza gora pasatuta edo jakinarazpen bat sakatuta"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Eginda"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Erloju bidez desblokeatzea"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Telefonoa desblokeatzeko erabil dezakezu erlojua, pantaila blokeatuan hatza gora pasatuta edo jakinarazpen bat sakatuta"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Erloju bidez desblokeatzea erabiltzeko, desblokeatuta, eskumuturrean, zugandik gertu eta telefonora konektatuta egon behar du erlojuak. Konexioa eteten bada, telefonoa desblokeatu beharko duzu Erloju bidez desblokeatzea erabili ahal izan aurretik.¡.\n\nGogoan izan:\nErloju bakarra eduki dezakezu konfiguratuta aldiko. Beste bat gehitzeko, kendu une honetan konfiguratuta daukazuna."</string>
+    <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-markaren eta aurpegiaren 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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Segurtasuna"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Pribatutasuna"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Laneko profila"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Eremu pribatua"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantendu aplikazio pribatuak blokeatuta eta ezkutatuta"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantendu aplikazio pribatuak ezkutatu edo blokea dezakezun eremu bereiz batean"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Eremu pribatuaren blokeoa"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Gailua desblokeatzeko darabilzun modu berarekin desblokea dezakezu eremu pribatua. Bestela, aukeratu beste blokeo bat."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Erabili gailuaren pantailaren blokeoa"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Aurpegiaren eta hatz-markaren bidez desblokeatzeko eginbidea"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Hatz-marka bidez desblokeatzea"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Aurpegi bidez desblokeatzea"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Konfiguratzeko, sakatu hau"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desblokeatu eremu pribatua hatz-marka bidez"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desblokeatu eremu pribatua aurpegi bidez"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Desblokeatzeko moduak"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Gailuaren pantailaren blokeo bera"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Eremu pribatua blokeatzeko modua aldatu nahi duzu?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Blokeatu eremu pribatua automatikoki"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Gailua epe jakin batean erabili ez baduzu, eremu pribatua automatikoki blokeatzea aukera dezakezu"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Gailua blokeatzen den aldiro"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 minutuz inaktibo egon ondoren"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Inoiz ez"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ezkutatu blokeatuta dagoenean"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ezkutatu eremu pribatua blokeatuta dagoenean"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Inork jakin ez dezan gailuan eremu pribatu bat daukazula, aplikazio-zerrendatik ezkuta dezakezu"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Atzitu eremu pribatua ezkutatuta dagoenean ere"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Aplikazio-zerrendan, idatzi \"eremu pribatua\" bilaketa-barran"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Sakatu eremu pribatuaren lauza"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desblokeatu eremu pribatua"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desaktibatuta"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktibatuta"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Ezabatu eremu pribatua"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Eremu pribatua ezabatu nahi duzu?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Eremu pribatua gailutik kenduko da. Aplikazio pribatu eta datu guztiak ezabatuko dira. Ezin da desegin ekintza."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Kontu hauek eremu pribatutik kenduko dira:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Ezabatu"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Eremu pribatua ezabatzen…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Une bat beharko da"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Ezabatu da eremu pribatua"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Ezin izan da ezabatu eremu pribatua"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Desblokeatu da eremu pribatua"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ezarri pantailaren blokeoa"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Eremu pribatua erabiltzeko, ezarri pantaila blokeatzeko aukera bat gailuan"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ezarri pantailaren blokeoa"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Utzi"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Utzi"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Konfiguratu"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Konfiguratu eremu pribatu bat"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantendu aplikazio pribatuak ezkutatu edo blokea dezakezun eremu bereiz batean"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Nola funtzionatzen du?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Eremu pribatua aplikazio-zerrendaren behealdetik atzi dezakezu"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Eremu pribatuko aplikazioak blokeo bidez babesten dira"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Eremu pribatua blokeatuta badago, hango aplikazioen jakinarazpenak ezkutatzen dira"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Eremu pribatua blokeatuta badago, hango aplikazioak ez dira agertuko baimenen kudeatzailean, pribatutasun-panelean eta beste ezarpenetan.\n\nEremu pribatua ezin da eraman beste gailu batera. Eremu pribatua beste gailu batean erabili nahi baduzu, beste bat konfiguratu beharko duzu.\n\nBaliteke zure gailua ordenagailu batekin konektatzen duten edo gailuan aplikazio kaltegarriak instalatzen dituzten guztiek zure eremu pribatua atzitu ahal izatea."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Eremu pribatua konfiguratzen…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Eremu pribatua blokeatuta badago, hango aplikazioen jakinarazpenak ezkutatzen dira"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Argazki edo fitxategiak partekatzeko, desblokeatu eremu pribatua"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Aplikazio batzuk jada instalatuta daude eremu pribatuan"</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_lockscreen_title" msgid="6034864097861137509">"Pantailaren blokeoa erabili nahi duzu eremu pribatua desblokeatzeko?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Gailua desblokeatzeko darabilzun modu berarekin desblokea dezakezu eremu pribatua. Bestela, aukeratu beste blokeo bat."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Erabili pantailaren blokeoa"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Aukeratu beste blokeo bat"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Dena prest!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Eremu pribatua aurkitzeko, joan aplikazio-zerrendara eta egin behera"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Eginda"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Eremu pribatua ikusteko, egin behera"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Hasi saioa"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Eremu pribatua erabiltzeko, hasi saioa kontu batekin"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Orain ez"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Egin aurrera"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Aukeratu eremu pribatua blokeatzeko modu bat"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Hatz-marka erabil dezakezu eremu pribatua desblokeatzeko. Segurtasuna bermatzeko, blokeatzeko ordezko modu bat konfiguratu behar da."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Ezarri PIN bat eremu pribaturako"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Ezarri pasahitz bat eremu pribaturako"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Ezarri eredu bat eremu pribaturako"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> hartz-marka gehi ditzakezu gehienez"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Iritsi zara onartzen den gehieneko hatz-marka kopurura"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ezin duzu gehitu beste hatz-markarik"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Eredua"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PINa"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Pasahitza"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Pantailaren blokeoa ezabatu nahi duzu?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Gailua desblokeatzeko modu guztiak kendu nahi dituzu?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Profilaren babes-sistema kendu nahi duzu?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Ereduak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Ereduak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Gailuan gordetako hatz-markaren eredua ezabatuko da. Halaber, aurpegi-eredua modu seguruan eta betiko ezabatuko da. Ezingo duzu erabili aurpegia edo hatz-marka aplikazioetan autentifikatzeko."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PINak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Gordetako datuak galduko dituzu, hala nola PINa.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontakturik gabe ordaintzeko konfiguratutako txartelak kendu egingo dira.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Baliteke diru-zorroek eta gailua desblokeatzea behar duten beste aplikazio batzuek behar bezala ez funtzionatzea."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PINak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Gailuan gordetako hatz-markaren eredua ere ezabatuko da. Ezingo duzu erabili hatz-marka aplikazioetan autentifikatzeko."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Gordetako datuak galduko dituzu, hala nola PINa eta hatz-markaren eredua.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontakturik gabe ordaintzeko konfiguratutako txartelak kendu egingo dira.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Baliteke diru-zorroek eta gailua desblokeatzea behar duten beste aplikazio batzuek behar bezala ez funtzionatzea."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PINak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Halaber, aurpegi-eredua modu seguruan eta betiko ezabatuko da. Ezingo duzu erabili aurpegia aplikazioetan autentifikatzeko."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Gordetako datuak galduko dituzu, hala nola PINa eta aurpegi-eredua.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontakturik gabe ordaintzeko konfiguratutako txartelak kendu egingo dira.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Baliteke diru-zorroek eta gailua desblokeatzea behar duten beste aplikazio batzuek behar bezala ez funtzionatzea."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PINak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Gailuan gordetako hatz-markaren eredua ere ezabatuko da. Halaber, aurpegi-eredua modu seguruan eta betiko ezabatuko da. Ezingo duzu erabili aurpegia edo hatz-marka aplikazioetan autentifikatzeko."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Gordetako datuak galduko dituzu, hala nola PINa, aurpegi-eredua eta hatz-markaren eredua.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontakturik gabe ordaintzeko konfiguratutako txartelak kendu egingo dira.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Baliteke diru-zorroek eta gailua desblokeatzea behar duten beste aplikazio batzuek behar bezala ez funtzionatzea."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Pasahitzak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Pasahitzak babestu egiten du telefonoa hura galtzen baduzu edo lapurtzen badizute.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetootha"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetootha"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailuarekin parekatu nahi duzu?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Gehitu beste kide bat lehendik dagoen sorta koordinatuan"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Audio-gailuaren bigarren zatia gehitzeko, berretsi hau"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth bidez parekatzeko kodea"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Idatzi parekatze-kodea eta sakatu Sartu edo Itzuli"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PINak hizkiak edo ikurrak ditu"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 digitu izan behar ditu"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Baliteke PIN hau beste gailuan ere idatzi behar izatea."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Baliteke pasahitz hau beste gailuan ere idatzi behar izatea."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Berretsi multzo koordinatuarekin parekatzeko"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Audio-gailuarekin parekatzeko, berretsi hau"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Eman kontaktuak eta deien historia erabiltzeko baimena"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Eman kontaktuak eta deien historia erabiltzeko baimena ere"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Deiak iragartzeko eta beste gauza batzuetarako erabiliko da informazioa"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Ezin izan da <xliff:g id="DEVICE_NAME">%1$s</xliff:g> gailura konektatu."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Gailu erabilgarriak"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Konektatu"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Deskonektatu"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parekatu eta konektatu"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetootha aktibatuta badago, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetootha aktibatuta badago, inguruko Bluetooth bidezko gailuekin komunika daiteke gailua"</string>
     <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_scan_change" msgid="1744636222637390367">"Aldatu"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Gailuaren xehetasunak"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Eman aratz daitezkeen aplikazioen byte-kodea egiaztatzeko baimena ART egiaztatzaileari"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Erakutsi freskatze-abiadura"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Erakutsi pantailaren freskatze-abiadura"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Erakutsi HDR/SDR erlazioa"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Erakutsi oraingo HDR/SDR erlazioa"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFCa"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Behartu gailua desblokeatzera NFCa erabiltzeko"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Hegaldi moduan"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Jakinarazi sare publikoak daudela"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Jakinarazi kalitate handiko sare publikoak erabilgarri daudenean"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Eman WEP sareak erabiltzeko baimena"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP hain segurua ez den segurtasun-protokolo zaharrago bat da"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Zure operadoreak ez ditu onartzen WEP sareak, ez direlako hain seguruak"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Aktibatu wifi-konexioa automatikoki"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Gordetako kalitate handiko sare batetik (adibidez, etxeko saretik) gertu zaudenean aktibatuko da berriro wifi-konexioa"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Ez dago erabilgarri kokapena desaktibatuta dagoelako. Aktibatu "<annotation id="link">"kokapena"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wifi-sareen bilaketari esker, aplikazioek eta zerbitzuek edonoiz bila ditzakete wifi-sareak, baita wifi-konexioa desaktibatuta dagoenean ere. Kokapenean oinarritutako eginbideak eta zerbitzuak hobetzeko erabil daiteke, besteak beste."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktibatu"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Aktibatu da Wifi-sareen bilaketa"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Sare honek hain segurua ez den segurtasun-protokolo zaharrago bat erabiltzen du"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Blokeatu da <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Sareak hain segurua ez den segurtasun-protokolo zaharrago bat erabiltzen du: WEP. Hala eta guztiz ere konektatu nahi baduzu, eman WEP sareak erabiltzeko baimena."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Zure operadoreak ez dizu uzten sare honetara konektatzen, hain segurua ez den segurtasun-protokolo zaharrago bat erabiltzen duelako"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Eman WEP sareak erabiltzeko baimena"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Itxi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Aukera aurreratuak"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Aukera aurreratuak dago hautatuta goitibeherako zerrendan"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"zabaldu"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Jarraitu wifi-konexioa erabiltzen"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ez erakutsi berriro"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Konektatu"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi konexioa aktibatu da"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> sarera konektatuta"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> sarera konektatzen"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Konektatzen…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Ezin izan da sarera konektatu"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Sarea ez dago barrutian"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Ahaztu"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Aldatu"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Ezin izan da sarea ahaztu"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Gorde"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Ezin izan da sarea gorde"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Utzi"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wifia"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Datu-konexioa"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Etherneta"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Kargatzen"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Kargatzen"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Wifi-gunerako konexioa"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Konexioaren indarra"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Gordetako sareak"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Ez da ezarri pasahitzik"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Wifi-gunearen izena"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Wifi-guneko pasahitza"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Sarbide-puntuaren banda"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desaktibatu automatikoki wifi-gunea"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Gailurik konektatuta ez dagoenean"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Hedatu bateragarritasuna"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Pantailaren zuri-balantzea"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Jarraitu aplikazioak erabiltzen gailua tolestuta egon bitartean"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatikoki igotzen du freskatze-abiadura 60 Hz-tik <xliff:g id="ID_1">%1$s</xliff:g> Hz-ra zenbait edukitarako. Bateria gehiago erabiltzen du."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Desgaitu jokoen irudi-abiadura lehenetsia"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Desgaitu <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz dituzten jokoen gehieneko irudi-abiadura mugatzeko aukera."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Zenbait edukiren freskatze-abiadura <xliff:g id="ID_1">%1$d</xliff:g> Hz-eraino igotzen du automatikoki. Bateria gehiago erabiltzen du."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Erabili gehieneko freskatze-abiadura"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Freskatze-abiadura handiena, ukipenei erantzuteko gaitasuna eta animazioen kalitatea hobetzeko. Bateria gehiago erabiltzen du."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Pantaila kontzientea"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Pantaila kontzientea eginbideak aurreko kamera erabiltzen du inor pantailari begira dagoen jakiteko. Gailuan funtzionatzen du, eta irudiak ez dira inoiz gordetzen, ez eta Google-ra bidaltzen ere."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Aktibatu pantaila kontzientea"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantendu pantaila piztuta hari begira zaudenean"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Pantailaren denbora-muga luzatzen baduzu, bateria gehiago erabiliko du."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera blokeatuta dago"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Aurpegi-hautematea eginbidea erabiltzeko, kamerak desblokeatuta egon behar du"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Pantaila kontzientea erabiltzeko, kamerak desblokeatuta egon behar du"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEIa (SIMaren <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>. ataka)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEIa (SIMaren <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>. ataka) (nagusia)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Hura ikusteko, aukeratu gordetako sarea"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEIa"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEISVa"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL bertsioa"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Bateria-maila"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Komunak"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Ezarpen komunak"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satelite bidezko mezularitza"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNak"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editatu sarbide-puntua"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Gehitu sarbide-puntu bat"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ezarri gabe"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ez da ezarri"</string>
     <string name="apn_name" msgid="6677695784108157953">"Izena"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APNa gaituta"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APNa desgaituta"</string>
     <string name="bearer" msgid="3231443241639159358">"Jabea"</string>
+    <string name="network_type" msgid="748590707422733595">"Sare mota"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Zehaztugabea"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO mota"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO balioa"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Ezabatu APNa"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Gorde"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Utzi"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN sarrera bikoiztua."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Izena eremuak ezin du hutsik egon."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APNak ezin du hutsik egon."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC eremuak 3 digitu izan behar ditu."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC eremuak 2 edo 3 digitu izan behar ditu."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operadoreak ez du onartzen %s motako APN identifikatzailerik."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC eremuak balioduna izan behar du."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"APNaren ezarpen lehenetsiak leheneratzen."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Berrezarri balio lehenetsiak"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APNaren ezarpen lehenetsiak berrezarri dira."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Berrezarri"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Berrezarri dira Bluetootha eta wifia"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Ezabatu eSIMetako eduki guztia"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Ez da utziko bertan behera mugikorretarako zerbitzu-planik. Ordezko SIMak deskargatzeko, jarri operadorearekin harremanetan."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Ez da utziko bertan behera mugikorretarako zerbitzu-plana. Ordezko SIM bat lortzeko, jarri operadorearekin harremanetan."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Berrezarri ezarpenak"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Sareko ezarpen guztiak berrezarri nahi dituzu? Ezin da desegin ekintza hori."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Sarearen ezarpen guztiak berrezarri nahi dituzu, eta eSIMetako eduki guztia ezabatu? Ezin da desegin ekintza."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Berrezarri?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Erabiltzaileak ez du sarea berrezartzeko baimenik"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Berrezarri dira sareko ezarpenak"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Ezin da ezabatu SIM txarteletako eduki guztia"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Ezin da ezabatu eSIMetako eduki guztia errore bat gertatu delako.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Ezin da ezabatu eSIMetako eduki guztia"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Arazoren bat izan da, eta ez da ezabatu eSIMetako eduki guztia.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Ezabatu datu guztiak (berrezarri jatorrizkoak)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Ezabatu datu guztiak (berrezarri jatorrizkoak)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"musika"</li>\n<li>"argazkiak"</li>\n<li>"bestelako erabiltzaile-datuak"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM txartelak"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Ez da utziko bertan behera mugikorretarako zerbitzu-plana."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Informazio pertsonal guztia eta deskargatutako aplikazioak ezabatuko dira. Ezin da desegin ekintza."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Informazio pertsonal guztia ezabatuko da, deskargatutako aplikazioak eta SIM txartelak barne. Ezin da desegin ekintza."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Informazio pertsonal guztia ezabatuko da, deskargatutako aplikazioak eta eSIMak barne. Ezin da desegin ekintza."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Datu guztiak ezabatu nahi dituzu?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Erabiltzaileak ez du jatorrizko datuak berrezartzeko baimenik"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Eduki guztia ezabatzen"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Wifi-gunea, USB, Bluetooth eta Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Ez zara partekatzen ari Interneteko konexiorik beste gailuekin"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desaktibatuta"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Konexioa partekatzea"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ez erabili wifi-gunerik"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Partekatu Interneteko konexioa USB bidez"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Partekatu Interneteko konexioa Bluetooth bidez"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Partekatu Interneteko konexioa Ethernet bidez soilik"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Partekatu Interneteko konexioa USB eta Bluetooth bidez"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Partekatu Interneteko konexioa USB eta Ethernet bidez soilik"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Partekatu Interneteko konexioa Bluetooth eta Ethernet bidez soilik"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Partekatu Interneteko konexioa USB, Bluetooth eta Ethernet bidez soilik"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Konexioa partekatzea (USB)"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Konexioa partekatzea (Bluetooth)"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Konexioa partekatzea (Ethernet)"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Erabili wifi-guneak eta konexioa partekatzeko aukera beste gailu batzuei Interneteko konexioa emateko wifi- edo datu-konexioaren bidez. Aplikazioek ere wifi-guneak sor ditzakete edukia inguruko gailuekin partekatzeko."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Laguntza"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Sare mugikorra"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mugikorretarako plana"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMSetarako aplikazioa"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMSetarako aplikazioa aldatu nahi duzu?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="NEW_APP">%1$s</xliff:g> aplikazioaren ordez, <xliff:g id="CURRENT_APP">%2$s</xliff:g> erabili nahi duzu SMSetarako aplikazio gisa?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wifi-laguntzailea aldatu nahi duzu?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Sareko konexioak kudeatzeko <xliff:g id="NEW_APP">%1$s</xliff:g> erabili nahi duzu, <xliff:g id="CURRENT_APP">%2$s</xliff:g> erabili beharrean?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"<xliff:g id="NEW_APP">%s</xliff:g> erabili nahi duzu sareko konexioak kudeatzeko?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"SIM operadore ezezaguna"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> operadoreak ez du hornikuntza-webgune ezagunik"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Sartu SIM txartela eta berrabiarazi"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Konektatu Internetera"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Azken kokapen-eskaerak"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Laneko profilaren kokapena"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Aplikazioen kokapen-baimenak"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Garbitu sarbidea"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrolatzeko aukerak"</string>
     <string name="force_stop" msgid="2681771622136916280">"Behartu gelditzera"</string>
+    <string name="archive" msgid="9074663845068632127">"Artxibatu"</string>
+    <string name="restore" msgid="7622486640713967157">"Leheneratu"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Leheneratzen"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Leheneratzen."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Leheneratzen.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Leheneratzen..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Guztira"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Aplikazioaren tamaina"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB bidezko memoriaren aplikazioa"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Ezin izan da paketearen tamaina kalkulatu."</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> bertsioa"</string>
     <string name="move_app" msgid="5421158479447276791">"Eraman"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Ezin izan da artxibatu"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Artxibatu da <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Ezin izan da leheneratu"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> leheneratzen"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Beste migrazio bat abian da dagoeneko."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ez dago behar adina memoria."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikazioa ez dago."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Pantailako teklatu erabilgarria"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Kudeatu pantailako teklatuak"</string>
     <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="6922850403920596246">"Teklatu fisikoaren erabilerraztasuna areagotzeko, gaitu errebote-teklak"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Tekla motelak"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Teklatu fisikoaren erabilerraztasuna areagotzeko, gaitu Tekla motelak"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Tekla itsaskorrak"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Teklatu fisikoaren erabilerraztasuna areagotzeko, gaitu Tekla itsaskorrak"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Aukera gehiago ikusteko, sakatu ukipen-panelaren beheko eskuinaldeko izkina"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Erakuslearen abiadura"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Lortu ukipen-panelean erabiltzeko keinuei buruzko informazioa"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Hasierako pantailara joan"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Ukipen-panelean, pasatu hiru hatz gora"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Atzera egin"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenatu erabilera-dataren arabera"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenatu azken erabilera-dataren arabera"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenatu aplikazio-izenaren arabera"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Erabilitako azken aldia"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Azken erabiltze-data"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"inoiz ez"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Erabilera-denbora"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Erabilerraztasuna"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Erabilerraztasun-ezarpenak"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Handitzeko, sakatu hiru aldiz"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Handitu pantaila lasterbidearekin"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Handitu pantaila lasterbide eta hiru ukitutxorekin"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> aplikazioari buruz"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Erabili Erabilerraztasuna botoia irekitzeko"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Irekitzeko, eduki sakatuta bolumen-botoiak"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Irekitzeko, sakatu pantaila hiru aldiz"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Irekitzeko, sakatu pantaila birritan 2 hatzekin"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Erabili keinua irekitzeko"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Erabili erabilerraztasun-keinua"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Eginbide hau erabiltzeko, sakatu pantailaren behealdeko <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> Erabilerraztasuna botoia.\n\nEginbide batetik bestera aldatzeko, eduki sakatuta Erabilerraztasuna botoia."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Eginbide hau erabiltzeko, sakatu pantailako Erabilerraztasuna botoia."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Eginbide hau erabiltzeko, eduki sakatuta bi bolumen-botoiak."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Luparen eginbidea abiarazteko eta gelditzeko, sakatu hiru aldiz pantailako edozein puntu."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Lupa abiarazteko eta gelditzeko, sakatu birritan pantailako edozein puntu 2 hatzekin."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Eginbide hau erabiltzeko, pasatu bi hatz pantailaren behealdetik gora.\n\nEginbide batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Eginbide hau erabiltzeko, pasatu hiru hatz pantailaren behealdetik gora.\n\nEginbide batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki pantaila sakatuta."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Erabilerraztasun-eginbide bat erabiltzeko, pasatu bi hatz pantailaren behealdetik gora.\n\nEginbide batetik bestera aldatzeko, pasatu bi hatz gorantz eta eduki pantaila sakatuta."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Erabilerraztasun-eginbide bat erabiltzeko, pasatu hiru hatz pantailaren behealdetik gora.\n\nEginbide batetik bestera aldatzeko, pasatu hiru hatz gorantz eta eduki pantaila sakatuta."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ados"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Erabilerraztasuna botoiaren ezarpenak"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Botoiaren ezarpenak"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> eginbidearen lasterbidea"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Erabilerraztasuna botoia"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Erabilerraztasun-keinua"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Eduki sakatuta bolumen-botoiak"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"eduki sakatuta 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"sakatu pantaila birritan 2 hatzekin"</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="6863958573135995927">"sakatu pantaila hiru aldiz"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Lortu informazio gehiago Erabilerraztasuna botoiari eta keinuari buruz"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Erabili erabilerraztasun-botoia. Keinuak ez du funtzionatzen hiru botoiko nabigazioarekin."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Atzitu bizkor erabilerraztasun-eginbideak"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Erabiltzen hasteko:"</b>\n"1. Joan erabilerraztasun-ezarpenetara.\n2. Hautatu eginbide bat eta sakatu hari dagokion lasterbidea.\n3. Aukeratu eginbidea atzitzeko erabili nahi duzun keinua edo botoia."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Erabiltzen hasteko:"</b>\n"1. Joan erabilerraztasun-ezarpenetara.\n2. Hautatu eginbide bat eta sakatu hari dagokion lasterbidea.\n3. Aukeratu eginbidea atzitzeko erabili nahi duzun botoia."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Hasteko:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Joan erabilerraztasun-ezarpenetara.&lt;br/&gt; {1,number,integer}. Hautatu eginbide bat eta sakatu lasterbidea.&lt;br/&gt; {2,number,integer}. Aukeratu botoi edo keinu bat erabili nahi duzun eginbidea atzitzeko.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Hasteko:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Joan erabilerraztasun-ezarpenetara.&lt;br/&gt; {1,number,integer}. Hautatu eginbide bat eta sakatu lasterbidea.&lt;br/&gt; {2,number,integer}. Aukeratu eginbidea atzitzeko erabili nahi duzun botoia.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Erabili botoia edo keinua"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Kokapena"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamaina"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Amaitu deiak etengailuarekin"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Saguaren erakusle handia"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Nabarmendu gehiago saguaren erakuslea"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Ilundu aplikazio guztiak"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gai ilun propiorik ez duten aplikazioei dagokie. Agian aplikazio batzuek bistaratze-arazoak dituzte, hala nola kolore alderantzikatuak."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Kendu animazioak"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Murriztu pantailako mugimendua"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio monofonikoa"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Erabili dardara eta teknologia haptikoa"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarmen dardara"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Multimedia-edukiaren dardara"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Teklatuaren dardara"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Tonuaren dardara"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Jakinarazpenen dardara"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Ukipen bidezko interakzioa"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Gelditu"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Utzi"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> gelditu?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> sakatuz gero, <xliff:g id="SERVICE">%2$s</xliff:g> gelditu egingo da."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desaktibatu"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Mantendu"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> desaktibatu nahi duzu?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ez dago zerbitzurik instalatuta"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ez da hautatu zerbitzurik"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Ez da azalpenik eman."</string>
     <string name="settings_button" msgid="2195468788019730377">"Ezarpenak"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"argi-sentikortasuna, fotofobia, gai iluna, migraina, buruko mina, irakurtzeko modua, gau modua, murriztu distira, puntu zuria"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"erabiltzeko erraztasuna, sartzeko erraztasuna, laguntza, erabilerraztasuna"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ikusmena, entzumena, itsua, gorra, mugimendua, trebetasuna, laguntzailea, laguntza, erabilerraztasuna, irisgarritasuna, eskua, lagundu"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"leihoetarako lupa, zooma, lupa, ikusmen txarra, handitu, handiagotu"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"azpitituluak, istanteko transkripzioa, entzumen txarra, entzumen-galera, CART, ordenagailuz lagundutako transkripzioa denbora errealean, ahotsa testu bihurtzea"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kolore-kontrastea"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorra, sagua"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"audifonoak, entzumen-urritasuna, entzumen-galera, kokleako inplanteak, anplifikazio-gailuak, soinu-prozesadoreak"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"mugimendua, sagua, kanpoko sagua, buruaz gidatutako sagua, sagu moldagarria, gurpil-aulkia, joko-palanka"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"audifonoak, entzumen-urritasuna, entzumen-galera, kokleako inplanteak, anplifikazio-gailuak, soinu-prozesadoreak, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"entzumen txarra, entzumen-galera, azpitituluak, teletipoa, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"hiru botoi"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"trebetasuna, mugimendua, hirugarren adina, artritisa, tendinitisa, buruko isuria, dardara, esklerosi anizkoitza, garun-paralisia, eskua"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"atzerapena, trebetasuna, hirugarren adina"</string>
     <string name="print_settings" msgid="8519810615863882491">"Inprimatzea"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desaktibatuta"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 inprimatze-zerbitzu aktibatuta dago}other{# inprimatze-zerbitzu aktibatuta daude}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Geratzen den denbora: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Kargatu arteko denbora: <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Erabilera-denbora"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Atzeko planoan igarotako denbora"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria gutxi"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Eman atzeko planoan exekutatzeko baimena aplikazioari"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Atzeko planoko jarduerak mugatu nahi dituzu?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Aplikazio baten atzeko planoko jarduerak mugatzen badituzu, baliteke aplikazioak behar bezala ez funtzionatzea"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikazio hau bateria optimizatzeko konfiguratuta ez dagoenez, ezin duzu mugatu.\n\nMugatzeko, aktibatu bateriaren optimizazioa."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Kudeatu bateria-erabilera"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Eman atzeko planoan erabiltzeko baimena"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Gaitu denbora errealeko berritasunak jasotzeko eta desgaitu bateria aurrezteko"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Mugagabea"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizatua"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Mugatua"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ikusi bateria gehien erabiltzen duten aplikazioak"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Kargatzeko modua optimizatu egiten da bateria ez kaltetzeko"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Kargatzeko modua optimizatu egiten da bateriaren balio-bizitza luzatzeko"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Kargatzeko modua optimizatu egiten da bateria ez kaltetzeko"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Oinarrian dagoenean, kargatzeko modua optimizatu egiten da bateriaren balio-bizitza luzatzeko"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Kargatzeko modua optimizatu egiten da bateria ez kaltetzeko"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Oinarrian dagoenean, kargatzeko modua optimizatu egiten da bateriaren balio-bizitza luzatzeko"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Guztiz kargatzen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Tableta oinarrian jartzen duzun hurrengoan, kargatzeko modua optimizatu egingo da bateria ez kaltetzeko"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Lortu kargatzea pausatzeari buruzko informazio gehiago"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Berrekin kargatzeari"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Energia asko erabiltzen duten atzeko planoko jarduerak barne"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Atzeko planoan exekutatu arren, baliteke aplikazio honek bateria erabiltzea. Horregatik, baliteke espero baino lehenago agortzea bateria."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Kendu"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Utzi"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Kargatu guztiz"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Arazo bat dago kargatzeko osagarriarekin"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Eman begiratu bat kargatzeko osagarriari"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Lortu kargatze bateraezinei buruzko informazio gehiago"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Bateria-kudeatzailea"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Kudeatu aplikazioak automatikoki"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"guztiz kargatu zenetik"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistemaren aplikazioak"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Desinstalatutako aplikazioak"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Beste batzuk"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Geratzen den denbora estimatua"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"guztiz kargatu arte"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Guztira: minutu bat baino gutxiago"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Atzeko planoa: minutu bat baino gutxiago"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Erabilera-denbora: minutu bat baino gutxiago"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Minutu bat baino gutxiago"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Guztira: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Atzeko planoa: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Erabilera-denbora: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"orain"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Bateria-erabileraren diagrama"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Eguneroko bateria-erabileraren diagrama"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Ordueroko bateria-erabileraren diagrama"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Bateria-maila ehuneko <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> eta <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> artekoa da"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Bateria-erabilera gailua guztiz kargatu zenetik"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Bateria-erabilera (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Erabilera-denbora gailua guztiz kargatu zenetik"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Larrialdi-deien seinalea"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Ezarri larrialdi-deiak egitean izan beharreko portaera."</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Babeskopiak"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Aktibatuta"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desaktibatuta"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Babeskopiak eta leheneratzea"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Datu pertsonalak"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Egin nire datuen babeskopia"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Datu- eta wifi-konexioa"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sinkr. datu pertsonalak auto."</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sinkronizatu laneko datuak auto."</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sinkronizatu datu pribatuak automatikoki"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Aldatu zikloa…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Datu-erabilera-zikloa berrezarri beharreko hilabeteko eguna:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ez dago epean daturik erabili duen aplikaziorik."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Izena"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Mota"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Zerbitzariaren helbidea"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP enkriptatzea (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP sekretua"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatzailea"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec aurrez partekatutako gakoa"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec erabiltzaile-ziurtagiria"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Autoritate ziurtagiri-emaile batek jaulkitako IPSec ziurtagiria"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec zerbitzari-ziurtagiria"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Erakutsi aukera aurreratuak"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS bilaketa-domeinuak"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS zerbitzariak (adibidez, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Desbideratze-ibilbideak (adibidez, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Erabiltzaile-izena"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Pasahitza"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Gorde kontuari buruzko informazioa"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ez da erabiltzen)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ez egiaztatu zerbitzaria)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(zerbitzaritik jasoa)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Mota honetako VPN sareek ezin dute egon konektatuta beti"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Beti aktibatuta dagoen VPN sareak zenbakizko zerbitzari-helbideak soilik onartzen ditu"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Beti aktibatuta dagoen VPN sarearen DNS zerbitzaria zehaztu egin behar da"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS zerbitzariaren helbideak zenbakizkoa izan behar du beti aktibatuta dagoen VPN sarerako"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Egindako aukerarekin ezin da erabili beti aktibatuta dagoen VPNa"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Utzi"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Baztertu"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokeatu VPNrik gabeko konexioak"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN konexioak erabiltzera derrigortu?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ez da segurua. Eguneratu IKEv2 motako VPN batera."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Ezin izan da abiarazi VPN bateraezina."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Hautatu beti konektatuta egoteko VPN profila. VPN horrekin konektatuta zaudenean soilik onartuko da sare-trafikoa."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Bat ere ez"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Beti aktibatutako VPNa izateko, IP helbidea izan behar dute zerbitzariak nahiz DNSak."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER alertak"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Jaso umeen bahiketei buruzko mezuak"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Errepikapena"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Gaitu dei-kudeatzailea"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Baimendu zerbitzu honi deiak egiteko modua kudeatzea."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Dei-kudeatzailea"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Hari gabeko larrialdi-alertak"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Sare-operadoreak"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Sarbide-puntuen izenak"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIMaren egoera"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIMaren egoera (SIMaren %1$d. ataka)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMak aldatu dira."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIMak aldatu dira"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Konfiguratzeko, sakatu hau"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Galdetu beti"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Zerbait hautatu behar da"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Azkenaldiko aplikazioak, aplikazio lehenetsiak"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Laneko profilaren aplikazioek ezin dituzte atzitu jakinarazpenak."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Pasahitzak eta kontuak"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Gordetako pasahitzak, betetze automatikoa, sinkronizatutako kontuak"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Saioa hasteko eta betetze automatikorako iradokizunak"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplikazio lehenetsiak"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplikazio klonatuak"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Sortu aplikazio baten bigarren kopia bat bi kontu aldi berean erabili ahal izateko."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"diru-zorroa"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ordaindu, ukitu, ordainketak"</string>
     <string name="keywords_backup" msgid="707735920706667685">"babeskopia, segurtasun kopia"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"keinua"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"aurpegia, desblokeatzea, autentifikazioa, hasi saioa"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"aurpegia, desblokeatu, autentifikatu, hasi saioa, hatz-marka, biometrikoa"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl bertsioa, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"testuaren tamaina, letra-tipo handia, letra handia, testu handia, ikusmen txarra, handitu testua, testua handitzea, letra handitzea, letra handiagoa"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"girotzeko irudia beti aktibatuta, pantaila etengabe piztuta mantentzeko eginbidea"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc-a, etiketa, irakurgailua"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teklatua, teknologia haptikoa, dardara"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Bolumena, dardara, ez molestatzeko modua"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Multimedia-edukiaren bolumena"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Igorpenaren bolumena"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Pizteko soinuak"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Istanteko azpitituluak"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Ezarri azpitituluak automatikoki"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefonoaren bozgorailuak"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tabletaren bozgorailuak"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Gailuaren bozgorailuak"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Entzungailu kabledunak"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Euskarri bateragarrietako audioa murgiltzaileagoa da"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Desaktibatuta"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Erakutsi jakinarazpenen eduki osoa"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Erakutsi kontuzko edukia pantaila desblokeatuta dagoenean soilik"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ez erakutsi jakinarazpenik"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Nola nahi duzu pantaila blokeatua bistaratzea?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Zer nahi duzu agertzea pantaila blokeatuan?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantaila blokeatua"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Erakutsi eduki guztia laneko jakinarazpenetan"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ezkutatu laneko kontuzko informazioa"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Kendu dira azken elkarrizketak"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Kendu da elkarrizketa"</string>
     <string name="clear" msgid="5092178335409471100">"Garbitu"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Garbitu <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Lehentasunezko edo aldatutako elkarrizketak agertuko dira hemen"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Elkarrizketak lehentasunezko gisa markatzen badituzu edo elkarrizketetan bestelako aldaketarik egiten baduzu, hemen agertuko dira. \n\nElkarrizketen ezarpenak aldatzeko: \npasatu hatza pantailaren goialdetik behera goitibeherako barra irekitzeko; ondoren, eduki sakatuta elkarrizketa."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizatu"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Jakinarazpenen bolumena jaisteko aldia"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplikatu bolumena jaisteko aldia jakinarazpen guztiei"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Jaitsi jakinarazpenen bolumena pixkanaka, aplikazio berak jakinarazpen ugari jarraian bidaltzen dizkizunean"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplikatu bolumena jaisteko aldia elkarrizketa guztiei"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Jaitsi jakinarazpenen bolumena pixkanaka, txat berean mezu ugari jarraian jasotzen dituzunean"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ez aplikatu jakinarazpenen bolumena jaisteko aldia"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Ez jaitsi jakinarazpenen bolumena inoiz, aplikazio berak jakinarazpen ugari jarraian bidatzen badizkit ere"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Egin dardara desblokeatuta dagoenean"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Egin dardara pantaila desblokeatuta dagoenean soilik"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplikatu laneko profiletan"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplikatu profil pertsonaleko jakinarazpenen bolumena jaisteko ezarpenak laneko profilean"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Errealitate birtualeko laguntza-zerbitzuak"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ez dago errealitate birtualeko laguntza-zerbitzu gisa abiaraztea eskatu duen aplikaziorik instalatuta."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Errealitate birtualeko zerbitzuak erabiltzeko baimena eman nahi diozu <xliff:g id="SERVICE">%1$s</xliff:g> zerbitzuari?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desaktibatuta"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Aplikazioak ainguratzea"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Ainguratuz gero, aplikazio hau begien bistan izango duzu beti, harik eta aingura kentzen diozun arte. Lagun fidagarri bati joko zehatz batean aritzea ahalbidetzeko erabil dezakezu, adibidez."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Aplikazio bat ainguratuta dagoenean, baliteke beste aplikazio batzuk irekitzeko gai izatea, eta haiek zure datu pertsonalak atzitu ahal izango dituzte agian. \n\nAplikazioak ainguratzeko aukera erabiltzeko: 	\n1. Aktibatu aplikazioak ainguratzeko aukera. 	\n2. Ireki Ikuspegi orokorra. 	\n3. Sakatu pantailaren goialdean dagoen aplikazioaren ikonoa eta, ondoren, sakatu Ainguratu."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Aplikazio bat ainguratuta dagoenean, baliteke beste aplikazio batzuk irekitzeko gai izatea, eta haiek zure datu pertsonalak atzitu ahal izango dituzte agian. \n\nGailua segurtasunez partekatu nahi baduzu beste norbaitekin, gonbidatuentzako erabiltzaile-profil bat ere erabil dezakezu. \n\nAplikazioak ainguratzeko aukera erabiltzeko: 	\n1. Aktibatu aplikazioak ainguratzeko aukera. 	\n2. Ireki Ikuspegi orokorra. 	\n3. Sakatu pantailaren goialdean dagoen aplikazioaren ikonoa eta, ondoren, sakatu Ainguratu."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Aplikazio bat ainguratuta dagoenean, baliteke beste aplikazio batzuk hura irekitzeko gai izatea, eta zure datu pertsonalak atzitu ahal izango dituzte agian. \n\nAplikazioak ainguratzeko eginbidea erabiltzeko: 	\n{0,number,integer}. Aktibatu aplikazioak ainguratzeko eginbidea. 	\n{1,number,integer}. Ireki Ikuspegi orokorra. 	\n{2,number,integer}. Sakatu pantailaren goialdean dagoen aplikazioaren ikonoa eta, ondoren, sakatu Ainguratu."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Aplikazio bat ainguratuta dagoenean, baliteke beste aplikazio batzuk hura irekitzeko gai izatea, eta zure datu pertsonalak atzitu ahal izango dituzte agian. \n\nGailua beste norbaitekin segurtasunez partekatu nahi baduzu, gonbidatuentzako erabiltzaile-profil bat erabil dezakezu. \n\nAplikazioak ainguratzeko eginbidea erabiltzeko: 	\n{0,number,integer}. Aktibatu aplikazioak ainguratzeko eginbidea. 	\n{1,number,integer}. Ireki Ikuspegi orokorra. 	\n{2,number,integer}. Sakatu pantailaren goialdean dagoen aplikazioaren ikonoa eta, ondoren, sakatu Ainguratu."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Aplikazioa ainguratuta dagoenean: \n\n• Baliteke zure datu pertsonalak atzitzeko aukera egotea (adibidez, kontaktuak eta posta elektronikoko edukia). \n\n• Baliteke beste aplikazio batzuk irekitzeko gai izatea. \n\nPertsona fidagarriekin soilik erabili beharko zenuke aplikazioak ainguratzeko aukera."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Eskatu desblokeatzeko eredua aingura kendu aurretik"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Eskatu PINa aingura kendu aurretik"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Eskatu pasahitza aingura kendu aurretik"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Blokeatu gailua aingura kentzean"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Berretsi SIMeko edukia ezabatu nahi duzula"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Berretsi eSIMa ezabatu nahi duzula"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM bateko eduki guztia ezabatu aurretik, egiaztatu zeu zarela"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Memoriaren babes aurreratua (beta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Memoriaren babes aurreratua"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Erabili gabeko aplikazioen ezarpenak"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausatu aplikazioko jarduerak, erabiltzen ez bada"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Kendu baimenak, ezabatu aldi baterako fitxategiak eta geldiarazi jakinarazpenak"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Kudeatu aplikazioa erabiltzen ez bada"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Kendu baimenak, ezabatu aldi baterako fitxategiak, geldiarazi jakinarazpenak eta artxibatu aplikazioa"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Aplikazio guztiak"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalatutako aplikazioak"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Zuzeneko aplikazioak"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Erabilgarri"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Aplikazioek erabilitako memoria"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikaziok memoria erabili du azken {time}}other{# aplikaziok memoria erabili dute azken {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Gaitu memoriaren erabileraren ebaluazioa"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Memoriaren erabilera ebaluatzeko, sistemaren baliabide gehiago behar dira."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Memoriaren erabileraren ebaluazioa desgaituta dago"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Maiztasuna"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Gehieneko erabilera"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Ez da erabili daturik"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Bistaratu beste aplikazioen gainean"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Eman beste aplik. gainean bistaratzeko baimena"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Eman erabiltzen ari zaren aplikazioen gainean agertzeko baimena aplikazioari. Zerbait sakatzen baduzu edo pantailan ikusten dena aldatzen baduzu, aplikazioa hori ikusteko gai izango da."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Aldatu multimedia-irteera"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Utzi multimedia-irteera aldatzen aplikazioari"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Eman beste aplikazioen bidez audioa edo bideoa erreproduzi dezaketen konektatutako gailuak aukeratzeko baimena aplikazioari. Baimena ematen badiozu, erabilgarri dauden gailuen (hala nola entzungailuen eta bozgorailuen) zerrenda atzitu ahal izango du aplikazioak, eta audioa edo bideoa zuzenean erreproduzitzeko edo igortzeko zein irteera-gailu erabiltzen den aukeratu."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Fitxategi guztietarako sarbidea"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Eman fitxategi guztiak kudeatzeko baimena"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Eman gailuko edo konektatutako biltegiratze-unitateetako fitxategiak irakurtzeko, aldatzeko eta ezabatzeko baimena aplikazioari. Baimena emanez gero, baliteke aplikazioak fitxategiak atzitzea zuk jakin ez arren."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Fitxategi guztiak atzi ditzake"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ahots bidez aktibatzen diren aplikazioak"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Eman ahots bidezko aktibazioa erabiltzeko baimena"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ahots bidezko aktibazioarekin, onartutako aplikazioak aktibatzen dira eskurik erabili gabe, ahozko aginduen bidez. Hautemate egokitu integratuari esker, zuk bakarrik atzitu ahal izango dituzu datuak.\n\n"<a href="">"Hautemate egokitu babestuari buruzko informazio gehiago"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Pantaila osoko jakinarazpenak"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Eman pantaila osoko jakinarazpenak erakusteko baimena aplikazioari"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Eman gailua blokeatuta dagoenean pantaila osoa hartzen duten jakinarazpenak erakusteko baimena aplikazioari. Alarmen, sarrerako deien edo bestelako premiazko jakinarazpenen berri emateko erabil dezakete aplikazioek."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Datu-erabileraren abisua: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Datuen muga: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Datu-erabileraren abisua: <xliff:g id="ID_1">^1</xliff:g>. Datuen muga: <xliff:g id="ID_2">^2</xliff:g>."</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Agian ez dira bat etorriko gailuak eta operadoreak egindako datu-kontsumoen neurketak"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ez dira barne hartzen operadorearen sareek erabilitako datuak"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> erabilita"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Ezarri datu-erabileraren abisua"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Duela <xliff:g id="ID_1">^2</xliff:g> eguneratu da"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> operadoreak oraintxe eguneratu du"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Oraintxe eguneratu da"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ikusi plana"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ikusi xehetasunak"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Datu-aurreztailea"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Datu-erabilera mugagabea"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> aplikazioak ohi baino bateria gehiago erabili du atzeko planoan"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> aplikazioak bateria gehiago erabili du aurreko planoan"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> aplikazioak ohi baino bateria gehiago erabili du aurreko planoan"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia bat dago bateria-erabileran"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Bateriaren erabilera handia"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Bateriaren atzeko planoko erabilera handia"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Bateriaren aurreko planoko erabilera handia"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Ezarpen bizkorretako garatzaileentzako lauzak"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Desgaitu ADB baimenaren denbora-muga"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Desgaitu ADB baimenen baliogabetze automatikoa lehenetsitako epean (zazpi egun) edo erabiltzaileak konfiguratutako epean (gutxienez egun bat) berriro konektatu ez diren sistemetan"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope arrastoa"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sentsoreak desaktibatuta"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Laneko profilaren ezarpenak"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Bilatu laneko kontaktuak aplikazio pertsonaletan"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"sisteman nabigatzeko modua, sistemako nabigazioa, bi botoiko nabigazioa, hiru botoiko nabigazioa, keinu bidezko nabigazioa"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Laguntzaile digitala"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Laguntzaile digitala abiarazteko, pasatu hatza"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Laguntzaile digitalaren aplikazioa abiarazteko, pasatu hatza beheko izkina batetik gora."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Laguntzaile digitalaren aplikazioa abiarazteko, pasatu hatza beheko ertz batetik gora"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Laguntzailea abiarazteko, eduki sakatuta Hasiera"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Laguntzaile digitalaren aplikazioari deitzeko, eduki sakatuta Hasiera botoia"</string>
     <string name="low_label" msgid="6525629096999711220">"Txikia"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Betetze automatikoaren zerbitzua"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Automatikoki betetzeko zerbitzu lehenetsia"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Pasahitzak"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Pasahitzak, sarbide-gakoak eta datu-zerbitzuak"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Hornitzaile gehigarriak"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Zerbitzu hobetsia"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Zerbitzu gehigarriak"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# pasahitz}other{# pasahitz}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatikoa, bete, betetze automatikoa, pasahitza"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"datuak, sarbide-gakoa, pasahitza"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatikoa, bete, betetze automatikoa, datuak, sarbide-gakoa, pasahitza"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Aldatu"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ireki"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ez da hautatu bat ere"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Ziurtatu aplikazioa fidagarria dela&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; aplikazioak pantailan dagoena erabiltzen du automatikoki bete daitekeena zehazteko."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; erabili nahi duzu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pantailako edukian oinarritzen da automatikoki zer bete daitekeen erabakitzeko. Pasahitz, sarbide-gako eta bestelako datu berri guztiak hemen gordeko dira hemendik aurrera."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Pasahitzak, sarbide-gakoak eta datu-zerbitzuak"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Erabili &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Aurrerantzean, hemen gordeko dira pasahitz, sarbide-gako eta bestelako datu berriak. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; agian pantailako edukian oinarrituko da automatikoki zer bete daitekeen erabakitzeko."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Pasahitzak, sarbide-gakoak eta betetze automatikoa kudeatzeko zerbitzu hobetsia"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s desaktibatu nahi duzu?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Zerbitzu hau desaktibatu nahi duzu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Saioa hasita eduki arren, ez dira automatikoki beteko pasahitzak, sarbide-gakoak, ordainketa-metodoak, etab. Gordeta daukazun informazioa erabili ahal izateko, aukeratu pasahitzen, sarbide-gakoen edo datuen zerbitzu bat."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Pasahitzak, sarbide-gakoak eta betetze automatikoa"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Zerbitzu guztiak desaktibatu nahi dituzu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Pasahitzak, sarbide-gakoak eta gordetako bestelako datuak ezingo dira automatikoki bete saioa hasten duzunean."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Zerbitzu hobetsia aldatu eta &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ezarri nahi duzu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Aurrerantzean, hemen gordeko dira pasahitz, sarbide-gako eta bestelako datu berriak. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; agian pantailako edukian oinarrituko da automatikoki zer bete daitekeen erabakitzeko."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s erabili nahi duzu?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desaktibatu"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Aldatu"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"5 zerbitzu soilik izan ditzakezu aktibatuta"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desaktibatu gutxienez zerbitzu bat beste bat gehitzeko"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s zerbitzuak pantailan dagoena erabiltzen du, automatikoki bete daitekeena zehazteko."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Pasahitzen, sarbide-gakoen eta datu-zerbitzuen muga"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Gehienez ere bost pasahitz, sarbide-gako eta datu-zerbitzu aktibo eduki ditzakezu aktibo aldi berean. Desaktibatu zerbitzu bat beste bat gehitzeko."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Pasahitzen, sarbide-gakoen eta datu-zerbitzuen muga"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Gehienez ere 5 pasahitz, sarbide-gako eta datu-zerbitzu eduki ditzakezu aktibo aldi berean. Desaktibatu zerbitzu bat beste bat gehitzeko."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desaktibatu"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Betetze automatikoa"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Erregistratze-maila"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Aratz daitezkeen aplikazioetan soilik egin daitezke bateragarritasun-aldaketak. Instalatu araz daitekeen aplikazio bat eta saiatu berriro."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Beste ezarpen baten araberakoa da"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Kontua"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d kontu"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Gailuaren izena"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Oinarrizko informazioa"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Lege-informazioa eta arauei buruzkoa"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Eman NFC etiketak eskaneatzen direnean exekutatzeko baimena aplikazioari.\nBaimena aktibatuta badago, aplikazio hau aukeren artean agertuko da etiketak hautematen direnean."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Erreproduzitu multimedia-edukia hemen:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Erreproduzitu <xliff:g id="LABEL">%s</xliff:g> hemen:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audioa erreproduzitzen jarraituko du"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Gailu hau"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ez dago erabilgarri deiak egin bitartean"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Erantzun deiei hemen:"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Desaktibatu audioa"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Gaitzeko, aldatu lehenik \"Eduki sakatuta etengailua\" aukera itzaltzeko menuan."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Sarearen xehetasunak"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Mugikorreko aplikazioek gailuaren izena ikus dezakete. Halaber, jendeak ere ikus dezake Bluetooth bidezko gailuetara edo wifi-sare batera konektatzen zarenean, edo wifi-gune bat konfiguratzen duzunean."</string>
     <string name="devices_title" msgid="649715719278562515">"Gailuak"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Aukeratu sarea"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Deskonektatuta"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Izena"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Kolorea (aplikazio bateragarrietarako)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Gorde"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Erabili SIMa"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Erabili SIM hau"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desaktibatuta"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"SIMa desgaitu nahi baduzu, ken ezazu"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Sakatu <xliff:g id="CARRIER">%1$s</xliff:g> aktibatzeko"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ezabatu SIMeko eduki guztia"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"SIM hau desaktibatzeko, kendu SIM txartela"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Sakatu hau <xliff:g id="CARRIER">%1$s</xliff:g> operadorearen SIMa aktibatzeko"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Ezabatu eSIMeko eduki guztia"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Sare mota lehenetsia"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Aldatu sare modua"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Sare mota lehenetsia"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Eskatu prezioari buruzko informazioa sare-hornitzaileari."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Aplikazioen datu-erabilera"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"<xliff:g id="NETWORKMODEID">%1$d</xliff:g> sare moduak ez du balio. Egin ez ikusi."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satelite bidezko mezularitza"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Bidali eta jaso testu-mezuak satelite bidez. Kontuarekin dator."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Bidali eta jaso testu-mezuak satelite bidez. Ez dator kontuarekin."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satelite bidezko mezularitza"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Satelite bidezko mezularitzari buruz"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Baldintzak betetzen dituen <xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadoreko kontu bat duzunez, testu-mezuak satelite bidez bidali eta jaso ditzakezu"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorearekin duzun plana"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satelite bidezko mezularitza kontuarekin dator"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelite bidezko mezularitza ez dator kontuarekin"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Gehitu satelite bidezko mezularitza"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Nola funtzionatzen du?"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Sare mugikorrik ez duzunean"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefonoa automatikoki konektatuko da satelite batera. Ahalik eta konexio onena izateko, ziurtatu zerua argi ikus dezakezula."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Telefonoa satelite batera konektatu ondoren"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Edonori bidal diezazkiokezu testu-mezuak, baita larrialdi-zerbitzuei ere. Telefonoa sare mugikor batera konektatuko da berriro, halakorik erabilgarri dagoenean."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Baliteke denbora gehiago behar izatea satelite bidezko mezuak bidaltzeko, eta eremu batzuetan soilik daude erabilgarri. Litekeena da satelite bidezko konexioak eguraldiaren eta egitura jakin batzuen eragina jasatea. Satelite bidez deitzeko aukera ez dago erabilgarri.\n\nBaliteke denbora pixka bat behar izatea kontuan egindako aldaketak ezarpenetan agertzeko. Xehetasunak lortzeko, jarri <xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorearekin harremanetan."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Satelite bidezko mezularitzari buruzko informazio gehiago"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Sarbide-puntuen izenak"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APNa"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ez dago erabilgarri <xliff:g id="CARRIER">%1$s</xliff:g> operadorera konektatuta egoteagatik"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorera aldatu nahi duzu?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM txartela erabiltzen hasi nahi duzu?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> erabili nahi duzu?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"SIM bakarra aktiba daiteke aldiko.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operadorera aldatuta ere, ez da bertan behera utziko <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> operadorearen zerbitzua."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"eSIM bakarra egon daiteke aktibo aldi bakoitzeko.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operadorera aldatuta ere, ez da bertan behera utziko <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> zerbitzua."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"SIM bakarra aktiba daiteke aldiko.\n\nAldatuta ere, ez da bertan behera utziko <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operadorearen zerbitzua."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"SIM bakarra egon daiteke aktibo aldiko.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operadorera aldatuta ere, ez da utziko bertan behera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> operadorearen zerbitzua."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"eSIM bakarra egon daiteke aktibo aldiko.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operadorera aldatuta ere, ez da utziko bertan behera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> operadorearen zerbitzua."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"SIM bakarra egon daiteke aktibo aldiko.\n\nOperadorea aldatuta ere, ez da utziko bertan behera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operadorearen zerbitzua."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Bi SIM erabil ditzakezu batera. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> erabiltzeko, desaktibatu beste SIMa."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Aldatu (<xliff:g id="CARRIER_NAME">%1$s</xliff:g>)"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desaktibatu <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIMa desaktibatu arren, zerbitzua ez da geratuko bertan behera"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Sarera konektatzen…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorera aldatzen deiak eta mezularitza erabiltzeko…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Ezin da aldatu operadorea"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Errore bat gertatu da eta ezin da aldatu operadorea."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIMa aktibatzen…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorera aldatzen…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Ezin da aldatu SIMa"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Arazoren bat izan da. Ezin da aldatu SIMa."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> desaktibatu nahi duzu?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIMa desaktibatu nahi duzu?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIMa desaktibatzen<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Ezin da desgaitu operadorea"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Arazo bat izan da, eta ezin izan da desgaitu operadorea."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Ezin da desaktibatu SIMa"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Arazoren bat izan da, eta ezin izan da desaktibatu SIMa."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Bi SIM erabili nahi dituzu?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Gailu honek bi SIM izan ditzake aktibo aldi berean. SIM bakarra erabili nahi baduzu, sakatu \"Ez, eskerrik asko\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Gailua berrabiarazi nahi duzu?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ez, eskerrik asko"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Utzi"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Aldatu"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desaktibatu"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Ezin da aktibatu SIMa"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Saiatu berriro SIMa aktibatzen. Arazoak badirau, berrabiarazi gailua."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Konfiguratu SIMa"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Gailu honetan SIM bat baino gehiago erabiltzeko, ezarri sare mugikorraren hobespenak"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Ezarri etiketak SIMei"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Deiak egitean, testu-mezuak bidaltzean, datuak erabiltzean eta ezarpenetan ikusiko dituzu etiketa horiek"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIMaren etiketa"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiketa"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Hautatu zein SIM erabili"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"2 SIM erabil ditzakezu aldi berean"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Ezarri zure SIM nagusiak"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Aukeratu zein SIM erabili nahi duzun modu lehenetsian deiak egiteko, testu-mezuak bidaltzeko eta datuak erabiltzeko"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Zure SIM nagusiak"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Deiak"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Testu-mezuak"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Datuak automatikoki aldatzea"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Erabili SIMetako baten datuak, estalduraren eta erabilgarritasunaren arabera"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Datuak soilik"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Konfiguratu"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Hurrengoa"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> aktibatzen…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Sare mugikorra"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefono-zenbakia"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIMaren etiketa eta kolorea"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Sarearen aktibazioa"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operadore-aldaketa"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Aktibo dago <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorearen SIMa aktibo dago"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Sakatu hau SIM txartelarenaren ezarpenak eguneratzeko"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorera aldatu zara"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Beste operadore batera aldatu zara"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Aldatu egin da sare mugikorra"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Konfiguratu beste SIMa"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Aukeratu SIM txartel aktiboa edo erabili bi SIM txartel aldi berean"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Aukeratu erabili nahi duzun zenbakia"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 zenbaki dago erabilgarri gailuan, baina bakarra erabil daiteke aldiko}=2{2 zenbaki daude erabilgarri gailu honetan, baina bakarra erabil daiteke aldiko}other{# zenbaki daude erabilgarri gailu honetan, baina bakarra erabil daiteke aldiko}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktibatzen<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Ezin izan da aktibatu"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Aukeratu erabili nahi duzun SIMa"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM dago erabilgarri gailuan, baina bakarra erabil daiteke aldiko}=2{2 SIM daude erabilgarri gailu honetan, baina bakarra erabil daiteke aldiko}other{# SIM daude erabilgarri gailu honetan, baina bakarra erabil daiteke aldiko}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Aktibatzen<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Ezin izan da aktibatu SIM hau une honetan"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> erabili nahi duzu?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operadorearen bitartez egingo dira deiak, SMS bidalketak eta datu-konexioak."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Ez dago SIM txartel aktiborik erabilgarri"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Geroago datu-konexioa, deien eginbideak eta SMSak erabiltzeko, joan sarearen ezarpenetara"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIMa"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"eSIM honetako eduki guztia ezabatu nahi duzu?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"SIM honetako eduki guztia ezabatuz gero, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> operadorearen zerbitzua gailu honetatik kenduko da.\n\nEz da utziko bertan behera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> operadorearen zerbitzua."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> operadorearen zerbitzua gailu honetatik kenduko da, baina ez da utziko bertan behera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> operadorearekin duzun plana."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ezabatu eduki guztia"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM txarteleko eduki guztia ezabatzen…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Ezin da ezabatu SIM txarteleko eduki guztia"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ezin da ezabatu SIM txarteleko eduki guztia errore bat gertatu delako.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIMeko eduki guztia ezabatzen…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Ezin da ezabatu eSIMeko eduki guztia"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Arazoren bat izan da, eta ez da ezabatu eSIM honetako eduki guztia.\n\nBerrabiarazi gailua eta saiatu berriro."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Konektatu gailura"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> aplikazioak aldi baterako wifi-sare bat erabili nahi du zure gailura konektatzeko"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Ez da aurkitu gailurik. Ziurtatu gailuak piztuta daudela eta konekta daitezkeela."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Larrialdi-deiak"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Zure operadoreak ez ditu onartzen wifi bidezko larrialdi-deiak.\nLarrialdi-dei bat egin behar dela hautematean, gailua automatikoki aldatzen da sare mugikor batera deia egiteko.\nSare mugikorren estaldura-eremuetan bakarrik egin daitezke larrialdi-deiak."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Kalitatea hobetzeko, erabili wifi-konexioa deietan"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Deietarako ordezko aukera"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> erabilgarri ez badago edo ibiltaritzan badago, erabili datu-konexioa duen SIMa <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> bidez deiak egiteko."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"deietarako ordezko aukera"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS mezu bat jaso duzu"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Ezin da bidali MMS mezua"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Sakatu hau <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> operadorearekin MMS mezuak erabiltzeko baimena emateko datu-konexioa desaktibatuta dagoenean"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Laneko gidalerroen informazioa"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IKT saileko administratzaileak kudeatzen ditu ezarpenak"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPUa"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Abiarazi 16 kB-ko orriekin"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Abiarazi gailua 16 kB-ko orrien kernel bateragarriarekin"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16 kB-ko orrien kernel bateragarriarekin berrabiarazi nahi duzu?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ABISUA: baliteke aplikazio batzuk ez izatea bateragarriak modu honekin. Berretsi ondoren berrabiaraziko da gailua."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 kB-ko orrien kernel bateragarriarekin berrabiarazi nahi duzu?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Berretsi ondoren berrabiaraziko da gailua."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ezin izan da bertsio-berritu kernel-a 16 kB-ko orriekin bateragarria izan dadin."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Aldaketa aplikatzen"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Akatsen txostenen kudeatzailea"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Gailuko Akatsen txostenaren lasterbidea zein aplikaziok kontrolatzen duen zehazten du."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pertsonala"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Eman ezarpenen pantailetan gainjartzeko baimena aplikazioen gainean bistara daitezkeen aplikazioei"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Eman probarako modem bat erabiltzeko baimena"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Eman probarako modemaren zerbitzua exekutatzeko baimena gailu honi, instrumentazio-probak egiteko. Ez ezazu gaitu telefonoa ohiko moduan erabili bitartean."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Desgaitu pantaila partekatzeko eginbidearen babesak"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Sistemak aplikatutako aplikazioen eta jakinarazpenen babesak desgaitzen ditu pantaila partekatu bitartean"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multimedia-edukia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Ainguratu multimedia-erreproduzigailua"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Erreprodukzioari bizkor berrekin ahal izateko, multimedia-erreproduzigailua irekita gelditzen da Ezarpen bizkorrak menuan"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Erakutsi multimedia-edukia pantaila blokeatuan"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Erreprodukzioari bizkor berrekin ahal izateko, multimedia-erreproduzigailua irekita gelditzen da pantaila blokeatuan"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Erakutsi multimedia-edukiaren inguruko gomendioak"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Erakutsi multimedia-edukiaren inguruko Laguntzailea zerbitzuaren gomendioak"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Zure jardueretan oinarrituta"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ezkutatu erreproduzigailua"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Erakutsi erreproduzigailua"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"multimedia-edukia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Eman kameraren software-luzapenak erabiltzeko baimena"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Kamera-eginbide aurreratuen softwarea modu lehenetsian inplementatzeko aukera gaitzen du, hala nola pantaila ikusi beharrik gabeko bideografia."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth bidezko konexioa aktibatuko da"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMak"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIMa"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIMa"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMak"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktibo"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inaktibo"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Aktibatuta"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Desaktibatuta"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> aukera lehenetsia"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"Deietarako"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMSetarako"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Euskarri bateragarrietako audioa murgiltzaileagoa da"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Buruaren jarraipena"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Burua mugitu ahala audioa aldatu egiten da, soinua naturalagoa izan dadin"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinkronizatu baimenak"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Eman <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> gailuari <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> gailuak dituen aplikazio-baimen berak"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinkronizatu telefonoko baimenak"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Eman erlojuari telefonoak dituen aplikazio-baimen berak"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio-gailu mota"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Ezezaguna"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Bozgorailua"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Tartekoa"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Altua"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Leiho bakar batean ireki daiteke aplikazioa"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Aktibatuta"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Desaktibatuta"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Desaktibatuta"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desaktibatuta"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Aktibatuta"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desaktibatuta"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Aktibatuta"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desaktibatuta"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Pantaila argiak iluntzen ditu, eta pantaila ilunak argitzen"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Handitu pantaila"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desaktibatuta"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desaktibatuta"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Azpikeriazko aplikazioak bilatzea"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Bilatu phishinga aplikazioetako jardueretan"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Erabili azpikeriazko aplikazioak bilatzeko aukera"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Erabili laneko aplikazioen artean azpikeriazko aplikazioak bilatzeko aukera"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Pasahitza konfiguratuta dago"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Erakutsi erakuslea hura gainetik pasatzean"</string>
 </resources>
diff --git a/res/values-fa/arrays.xml b/res/values-fa/arrays.xml
index 53b5cd3..313dba4 100644
--- a/res/values-fa/arrays.xml
+++ b/res/values-fa/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"در دسترس"</item>
     <item msgid="6096962300722555553">"خارج از محدوده"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"استفاده از پیش‌فرض سیستم: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"پس‌از ۱ دقیقه"</item>
     <item msgid="1574040255478150028">"پس‌از ۵ دقیقه"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-fa/strings.xml b/res/values-fa/strings.xml
index 05890b4..c1ee37f 100644
--- a/res/values-fa/strings.xml
+++ b/res/values-fa/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"شما اکنون یک برنامه‌نویس هستید!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"نیازی نیست، شما در حال حاضر یک برنامه‌نویس هستید."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"لطفاً ابتدا گزینه‌های تولیدکننده را فعال کنید."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"فقط کاربران سرپرست می‌توانند به تنظیمات توسعه‌دهنده دسترسی داشته باشند."</string>
     <string name="header_category_system" msgid="1665516346845259058">"سیستم"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"سرویس دارد"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"خارج از سرویس"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"وقتی دستگاه را به حالت تاخوردگی می‌برید، نمایشگر جلو روشن می‌شود"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"فقط بازی‌ها، ویدیوها، و موارد دیگر"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"نمایشگر جلو برای برنامه‌هایی که حالت آزاد صفحه‌نمایش را متوقف می‌کنند روشن می‌شود"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"تند کشیدن به‌بالا برای ادامه دادن"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"برای ادامه استفاده از برنامه، تلفن را تا کنید و روی نمایشگر جلویی تند به‌بالا بکشید، یا چند ثانیه صبر کنید تا صفحه‌نمایش قفل شود"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"هرگز"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"وقتی دستگاه را به حالت تاخوردگی می‌برید، نمایشگر جلو قفل می‌شود"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"استفاده از چرخش خودکار"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"مرتبط شده"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"آهنگ زنگ و هشدار"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"صدا درطول تماس"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"رسانه"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"اعلان و دیگر صداهای سیستم"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"صداهای رسانه و سیستم"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"اعلان‌ها"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"به‌طور پیش‌فرض، خروجی صوتی توسط هر برنامه تعیین می‌شود"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"دستگاه بلوتوث بدون نام"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"در حال جستجو"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"لغو"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"غیرفعال کردن «صدای بلوتوث کم‌مصرف»"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"اگر دستگاه از ویژگی‌های سخت‌افزار «صدای کم‌مصرف» پشتیبانی کند، ویژگی «صدای بلوتوث کم‌مصرف» را غیرفعال می‌کند."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"حالت «صدای بلوتوث کم‌مصرف»"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"نمایش تنظیم «صدای کم‌مصرف» در جزئیات دستگاه"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"فعال کردن فهرست مجاز صدای بلوتوث کم‌مصرف"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ویژگی فهرست مجاز صدای بلوتوث کم‌مصرف را فعال می‌کند."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"کنار گذاشتن فهرست «صدای بلوتوث کم‌مصرف» مجاز"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"استفاده از «صدای کم‌مصرف» به‌طور پیش‌فرض حتی درصورتی‌که دستگاه جانبی مجهز به «صدای کم‌مصرف» ازلحاظ مطابقت با معیارهای «فهرست مجازها» تأیید نشده باشد"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"دستگاه‌های ذخیره‌سازی"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"دستگاه‌های برقراری تماس"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"دستگاه‌های دیگر"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"دستگاه‌های ذخیره‌شده"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"مرتبط با حساب"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"قبلاً با حساب استفاده شده است"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"بلوتوث برای جفت کردن روشن خواهد شد"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"اولویت‌های اتصال"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"قبلاً متصل‌شده"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"بلوتوث روشن شد"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"دیدن همه"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"دیدن همه"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"قلم"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"فشار دادن دکمه قلم"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (نمایه کاری)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"نوشتن در فیلدهای نوشتاری"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"نادیده گرفتن همه موارد فشردن دکمه قلم"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"قلم"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"هم‌رسانی صدا"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"هم‌رسانی صدا"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"تماس‌ها و زنگ‌های هشدار"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"اتصال به جاری‌سازی صوتی با رمزینه پاسخ‌سریع"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"هیچ جاری‌سازی صوتی در اطراف پیدا نشد."</string>
     <string name="date_and_time" msgid="1788358029823431692">"تاریخ و زمان"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"پروکسی"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"پاک کردن"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"‏%s به زبان‌های ترجیحی اضافه شود؟"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"این کار به برنامه‌ها و وب‌سایت‌ها اطلاع می‌دهد که این زبان را نیز ترجیح می‌دهید."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"تنظیمات دستگاه و اولویت‌های منطقه‌ای تغییر می‌کند."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"تغییر دادن"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"‏%s دردسترس نیست"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"شنبه"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"اگر برنامه‌ای از اولویت‌های منطقه‌ای پشتیبانی نکند، آن برنامه از تنظیمات منطقه زبانی پیش‌فرض استفاده می‌کند."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"درباره اولویت‌های زبان بیشتر بدانید."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"اولویت‌های اضافی"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"واژگان خطاب"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"انتخاب کنید چگونه می‌خواهید شما را خطاب کنند"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"برنامه‌ها می‌توانند از واژگان خطاب شما برای شخصی‌سازی نحوه خطاب کردن شما استفاده کنند."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"مشخص نشده"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"مؤنث"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"مذکر"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"عادی"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{زبان انتخاب‌شده حذف شود؟}one{زبان انتخاب‌شده حذف شود؟}other{زبان‌های انتخاب‌شده حذف شود؟}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"نوشتار به زبان دیگری نشان داده می‌شود."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"همه زبان‌ها حذف نمی‌شوند"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"مکان"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"استفاده از مکان"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"خاموش"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{روشن - # برنامه به مکان شما دسترسی دارد}one{روشن - # برنامه به مکان شما دسترسی دارد}other{روشن - # برنامه به مکان شما دسترسی دارند}}"</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_location_off" msgid="8568995909147566720">"دسترسی به مکان برای برنامه‌ها و سرویس‌ها خاموش است. وقتی با شماره تلفن اضطراری تماس می‌گیرید یا به آن پیامک ارسال می‌کنید، ممکن است مکان دستگاهتان همچنان برای مسئولان خدمات اضطراری ارسال شود."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"درباره «تنظیمات مکان» بیشتر بدانید."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"درباره «تنظیمات مکان» بیشتر بدانید"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"برای تغییر دسترسی به مکان، به «تنظیمات &gt; امنیت و حریم خصوصی &gt; تنظیمات حریم خصوصی» بروید"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"حساب‌ها"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"امنیت"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"رمزگذاری و اطلاعات اعتباری"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"‏برای بهترین نتیجه، از محافظ صفحه‌نمایشی استفاده کنید که تأییدیه Made for Google داشته باشد. درصورت استفاده از دیگر محافظ‌های صفحه‌نمایش، ممکن است اثر انگشت فرزندتان کار نکند."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"قفل‌گشایی با ساعت"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"وقتی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت» را راه‌اندازی می‌کنید، اگر ماسک به صورت داشته باشید یا در محیط تاریکی باشید، تلفن از شما می‌خواهد از اثر انگشتتان استفاده کنید.\n\nوقتی چهره یا اثر انگشت شما شناسایی نمی‌شود، می‌توانید قفل را با ساعتتان باز کنید."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"وقتی اثر انگشت شما شناسایی نمی‌شود، می‌توانید قفل را با ساعتتان باز کنید."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"وقتی چهره شما شناسایی نمی‌شود، می‌توانید قفل را با ساعتتان باز کنید."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"وقتی «قفل‌گشایی با چهره» و «قفل‌گشایی با اثر انگشت» را راه‌اندازی می‌کنید، اگر ماسک داشته باشید یا در محیط تاریکی باشید، تلفن از شما می‌خواهد از اثر انگشتتان استفاده کنید.\n\n«قفل‌گشایی با ساعت» یکی دیگر از روش‌های آسان برای باز کردن قفل تلفن است؛ برای مثال، زمانی‌که انگشتانتان خیس است یا چهره‌تان تشخیص داده نمی‌شود."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"«قفل‌گشایی با ساعت» یکی دیگر از روش‌های آسان برای باز کردن قفل تلفن است؛ برای مثال، زمانی‌که اثر انگشتتان تشخیص داده نمی‌شود."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"«قفل‌گشایی با ساعت» یکی دیگر از روش‌های آسان برای باز کردن قفل تلفن است؛ برای مثال، زمانی‌که چهره‌تان تشخیص داده نمی‌شود."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"استفاده از اثر انگشت یا ساعت برای"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"استفاده از چهره یا ساعت برای"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"استفاده از چهره، اثر انگشت، یا ساعت برای"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"«قفل‌گشایی با ساعت» یکی دیگر از روش‌های آسان برای باز کردن قفل این تلفن است؛ برای مثال، زمانی که انگشتانتان خیس است یا چهره‌تان تشخیص داده نمی‌شود.\n\nزمانی می‌توانید از ساعت خود برای باز کردن قفل این تلفن استفاده کنید که:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"اکنون نه"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ادامه دادن"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"بیشتر"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"روش کار"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"قفل ساعتتان باید باز باشد، ساعت روی مچ شما باشد، و به این تلفن نزدیک باشد. وقتی ساعت روی مچ شما است دیگر نیازی نیست قفل آن را باز کنید."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"وقتی قفل این تلفن باز شود، اعلانی در ساعتتان دریافت می‌کنید. اگر قفل تلفن بدون اینکه شما خواسته باشید باز شد، روی اعلان ضربه بزنید تا تلفن دوباره قفل شود."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"کنترل در دست شما است"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"همواره می‌توانید در «تنظیمات» ساعتتان را از «قفل‌گشایی با ساعت» بردارید"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"روی اعلان ضربه بزنید"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"در صفحه قفل تند به‌بالا بکشید"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ساعت را انتخاب کنید"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ساعت‌های دردسترس"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"لغو"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"تأیید"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"همه چیز آماده است!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"اکنون وقتی روی صفحه قفل به بالا می‌کشید یا روی اعلان ضربه می‌زنید، می‌توانید از ساعتتان برای باز کردن قفل این تلفن استفاده کنید."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"تمام"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"قفل‌گشایی با ساعت"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"وقتی روی صفحه قفل به بالا می‌کشید یا روی اعلان ضربه می‌زنید، می‌توانید از ساعتتان برای باز کردن قفل این تلفن استفاده کنید."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"برای استفاده از «قفل‌گشایی با ساعت»، قفل ساعت باید باز باشد، ساعت روی مچ دستتان باشد و به این تلفن متصل باشد. اگر اتصال قطع شد، برای اینکه بتوانید از «قفل‌گشایی با ساعت» استفاده کنید، باید قفل تلفن را باز کنید.\n\nبه‌خاطر داشته باشید:\nبه‌صورت هم‌زمان فقط می‌توانید یک ساعت را راه‌اندازی کنید. برای افزودن ساعتی دیگر، ابتدا ساعت فعلی را حذف کنید."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"«قفل‌گشایی با اثر انگشت و چهره» برای نمایه کاری"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"راه‌اندازی لازم است"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"امنیت"</string>
     <string name="privacy_header" msgid="5526002421324257007">"حریم خصوصی"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"نمایه کاری"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"فضای خصوصی"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"برنامه‌های خصوصی قفل و پنهان نگه داشته می‌شود"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"برنامه‌های خصوصی را در فضای جداگانه‌ای نگه دارید که قابلیت پنهان کردن یا قفل کردن داشته باشد"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"قفل فضای خصوصی"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"می‌توانید با همان روشی که قفل دستگاهتان را باز می‌کنید قفل فضای خصوصی را باز کنید، یا اینکه قفل دیگری انتخاب کنید"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"استفاده از قفل صفحه دستگاه"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"قفل‌گشایی با اثر انگشت و چهره"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"قفل‌گشایی با اثر انگشت"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"قفل‌گشایی با چهره"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"برای راه‌اندازی ضربه بزنید"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"قفل‌گشایی با اثر انگشت برای فضای خصوصی"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"قفل‌گشایی با چهره برای فضای خصوصی"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"روش‌های باز کردن قفل"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"یکسان با قفل صفحه دستگاه"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"می‌خواهید قفل جدیدی برای فضای خصوصی انتخاب کنید؟"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"قفل خودکار فضای خصوصی"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"می‌توانید تنظیم کنید که اگر برای مدتی از دستگاهتان استفاده نکردید، فضای خصوصی شما به‌طور خودکار قفل شود"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"هربار که دستگاه قفل می‌شود"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"پس‌از ۵ دقیقه عدم فعالیت"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"هرگز"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"پنهان کردن هنگام قفل بودن"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"پنهان کردن فضای خصوصی هنگام قفل بودن"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"برای اینکه دیگران متوجه نشوند فضای خصوصی در دستگاهتان روشن است، می‌توانید آن را از فهرست برنامه‌ها پنهان کنید"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"دسترسی به فضای خصوصی هنگام پنهان بودن"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"از فهرست برنامه‌ها، «فضای خصوصی» را در نوار جستجو وارد کنید"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"روی کاشی فضای خصوصی ضربه بزنید"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"باز کردن قفل فضای خصوصی"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"خاموش"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"روشن"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"سیستم"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"حذف فضای خصوصی"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"فضای خصوصی حذف شود؟"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"فضای خصوصی شما از دستگاهتان برداشته خواهد شد. همه برنامه‌ها و داده‌های برنامه حذف خواهند شد. این کنش واگرد نمی‌شود."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"حساب‌های زیر از فضای خصوصی شما برداشته خواهند شد:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"حذف"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"درحال حذف فضای خصوصی…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"این کار کمی طول می‌کشد"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"فضای خصوصی حذف شد"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"فضای خصوصی حذف نشد"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"قفل فضای خصوصی باز شد"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"قفل صفحه تنظیم کنید"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"برای استفاده از فضای خصوصی، قفل صفحه در این دستگاه تنظیم کنید"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"تنظیم قفل صفحه"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"لغو کردن"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"لغو کردن"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"راه‌اندازی"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"فضای خصوصی راه‌اندازی کنید"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"برنامه‌های خصوصی را در فضای جداگانه‌ای نگه دارید که قابلیت پنهان کردن یا قفل کردن داشته باشد"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"روش کار"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"می‌توانید از پایین فهرست برنامه‌ها به فضای خصوصی دسترسی داشته باشید"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"از برنامه‌های موجود در فضای خصوصی با یک قفل محافظت می‌شود"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"اعلان برنامه‌های موجود در فضای خصوصی هنگام قفل بودن آن پنهان می‌شود"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"درصورت قفل بودن فضای خصوصی، برنامه‌های فضای خصوصی در مدیر اجازه‌ها، داشبورد حریم خصوصی، و دیگر تنظیمات نشان داده نخواهد شد.\n\nنمی‌توانید فضای خصوصی‌تان را به دستگاه دیگری منتقل کنید. اگر می‌خواهید از آن در دستگاه دیگری استفاده کنید، باید فضای خصوصی دیگری راه‌اندازی کنید.\n\nهر کسی که دستگاه شما را به رایانه متصل کند یا برنامه‌های مخرب در دستگاهتان نصب کند ممکن است بتواند به فضای خصوصی شما دسترسی داشته باشد."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"درحال راه‌اندازی فضای خصوصی…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"اعلان‌های برنامه‌های فضای خصوصی هنگام قفل بودن فضا پنهان می‌شوند"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"برای هم‌رسانی عکس یا فایل، قفل فضای خصوصی را باز کنید"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"برخی‌از برنامه‌ها قبلاً در فضای خصوصی نصب شده‌اند"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"فضای خصوصی راه‌اندازی نشد"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"امتحان مجدد"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"از قفل صفحه برای باز کردن قفل فضای خصوصی استفاده شود؟"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"می‌توانید با همان روشی که قفل دستگاهتان را باز می‌کنید قفل فضای خصوصی را باز کنید، یا اینکه قفل دیگری انتخاب کنید"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"استفاده از قفل صفحه"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"انتخاب قفل جدید"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"همه چیز آماده است!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"برای پیدا کردن فضای خصوصی، به فهرست برنامه‌ها بروید و به‌پایین پیمایش کنید"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"تمام"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"برای پیدا کردن فضای خصوصی، به‌پایین پیمایش کنید"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ورود به سیستم"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"به سیستم حساب مدنظرتان برای استفاده با فضای خصوصی وارد شوید"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"اکنون نه"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ادامه دادن"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"قفلی برای فضای خصوصی‌تان انتخاب کنید"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"می‌توانید بااستفاده از اثر انگشت، قفل فضای خصوصی‌تان را باز کنید. بنابه دلایل امنیتی، این گزینه به قفل پشتیبان نیاز دارد."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"تنظیم پین برای فضای خصوصی"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"تنظیم گذرواژه برای فضای خصوصی"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"تنظیم الگو برای فضای خصوصی"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"می‌توانید حداکثر <xliff:g id="COUNT">%d</xliff:g> اثرانگشت اضافه کنید"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"حداکثر تعداد اثرانگشت را اضافه کرده‌اید"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"نمی‌توانید اثرانگشت‌های بیشتری اضافه کنید"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"الگو"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"پین"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"گذرواژه"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"قفل صفحه حذف شود؟"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"همه روش‌های باز کردن قفل دستگاه برداشته شود؟"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"محافظت از نمایه غیرفعال شود؟"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"درصورت گم شدن یا سرقت شدن تلفن، الگو از آن محافظت می‌کند"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"درصورت گم شدن یا سرقت شدن تلفن، الگو از آن محافظت می‌کند.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>با این کار، مدل اثر انگشت ذخیره‌شده در دستگاهتان حذف می‌شود. مدل چهره‌تان به‌صورت دائم و ایمن حذف خواهد شد. نمی‌توانید از چهره یا اثر انگشتتان برای اصالت‌سنجی در برنامه‌ها استفاده کنید."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"درصورت گم شدن یا سرقت شدن تلفن، پین از آن محافظت می‌کند"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"داده‌های ذخیره‌شده مثل پین را ازدست خواهید داد.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>کارت‌هایی که برای «پرداخت بدون تماس» تنظیم شده‌اند برداشته خواهند شد.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>کیف‌پول‌ها و دیگر برنامه‌هایی که به باز کردن قفل دستگاه نیاز دارند ممکن است به‌درستی کار نکنند."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"درصورت گم شدن یا سرقت شدن تلفن، پین از آن محافظت می‌کند.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>با این کار، مدل اثر انگشت ذخیره‌شده در دستگاهتان هم حذف می‌شود. نمی‌توانید از اثر انگشتتان برای اصالت‌سنجی در برنامه‌ها استفاده کنید."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"داده‌های ذخیره‌شده مثل پین و مدل اثر انگشت خود را ازدست خواهید داد.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>کارت‌هایی که برای «پرداخت بدون تماس» تنظیم شده‌اند برداشته خواهند شد.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>کیف‌پول‌ها و دیگر برنامه‌هایی که به باز کردن قفل دستگاه نیاز دارند ممکن است به‌درستی کار نکنند."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"درصورت گم شدن یا سرقت شدن تلفن، پین از آن محافظت می‌کند.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>مدل چهره‌تان هم به‌صورت دائم و ایمن حذف خواهد شد. نمی‌توانید از چهره‌تان برای اصالت‌سنجی در برنامه‌ها استفاده کنید."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"داده‌های ذخیره‌شده مثل پین و مدل چهره خود را ازدست خواهید داد.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>کارت‌هایی که برای «پرداخت بدون تماس» تنظیم شده‌اند برداشته خواهند شد.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>کیف‌پول‌ها و دیگر برنامه‌هایی که به باز کردن قفل دستگاه نیاز دارند ممکن است به‌درستی کار نکنند."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"درصورت گم شدن یا سرقت شدن تلفن، پین از آن محافظت می‌کند.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>با این کار، مدل اثر انگشت ذخیره‌شده در دستگاهتان حذف می‌شود. مدل چهره‌تان به‌صورت دائم و ایمن حذف خواهد شد. نمی‌توانید از چهره یا اثر انگشتتان برای اصالت‌سنجی در برنامه‌ها استفاده کنید."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"داده‌های ذخیره‌شده مثل پین، مدل چهره، و اثر انگشت خود را ازدست خواهید داد.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>کارت‌هایی که برای «پرداخت بدون تماس» تنظیم شده‌اند برداشته خواهند شد.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>کیف‌پول‌ها و دیگر برنامه‌هایی که به باز کردن قفل دستگاه نیاز دارند ممکن است به‌درستی کار نکنند."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"درصورت گم شدن یا سرقت شدن تلفن، گذرواژه از آن محافظت می‌کند"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"درصورت گم شدن یا سرقت شدن تلفن، گذرواژه از آن محافظت می‌کند.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"بلوتوث"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"بلوتوث"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"با <xliff:g id="DEVICE_NAME">%1$s</xliff:g> مرتبط‌سازی شود؟"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"عضو جدیدی به مجموعه هماهنگ‌شده موجود اضافه کنید"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"برای افزودن دستگاه صوتی دوم، تأیید کنید"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"کد مرتبط‌سازی بلوتوث"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"کد مرتبط‌سازی را وارد کنید سپس بازگشت یا ورود را فشار دهید"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"پین شامل حروف یا نماد است"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"باید ۱۶ رقم باشد"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ممکن است لازم باشد که این پین را در دستگاه دیگری وارد کنید."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ممکن است لازم باشد این گذرکلید را در دستگاه دیگر هم وارد کنید."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"تأیید مرتبط‌سازی با مجموعه هماهنگ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"برای جفت‌سازی با دستگاه صوتی، تأیید کنید"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"اجازه دسترسی به مخاطبین و سابقه تماس"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"دسترسی به مخاطبین و سابقه تماس نیز مجاز شود"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"از اطلاعات برای اعلام تماس‌ها و موارد دیگر استفاده خواهد شد"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"اتصال به <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ممکن نیست."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"دستگاه‌های در دسترس"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"اتصال"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"قطع اتصال"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"مرتبط‌سازی و اتصال"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"با بلوتوث روشن، دستگاهتان می‌تواند با دستگاه‌های بلوتوث اطراف در ارتباط باشد."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"با بلوتوث روشن، دستگاهتان می‌تواند با دستگاه‌های بلوتوث اطراف در ارتباط باشد"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"وقتی بلوتوث روشن است، دستگاهتان می‌تواند با دیگر دستگاه‌های بلوتوث اطراف ارتباط برقرار کند.\n\nبرای بهبود تجربه استفاده از دستگاه، برنامه‌ها و سرویس‌ها همچنان می‌توانند در هرزمانی دستگاه‌های اطراف را اسکن کنند، حتی وقتی بلوتوث خاموش باشد. برای مثال، از این ویژگی می‌توان برای بهبود ویژگی‌ها و سرویس‌های مکان‌مبنا استفاده کرد. می‌توانید این ویژگی را در تنظیمات اسکن دستگاه‌های بلوتوث تغییر دهید."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"تغییر"</string>
     <string name="device_details_title" msgid="1155622417516195481">"جزئیات دستگاه"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏به ART برای تأیید بایت‌کد برنامه‌های اشکال‌زدا اجازه داده شود"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"نمایش نرخ بازآوری"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"نمایش نرخ فعلی بازآوری نمایشگر"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"‏نمایش نسبت HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"‏نمایش نسبت فعلی HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏برای استفاده از NFC، باید قفل دستگاه باز باشد"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"در حالت هواپیما"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"دریافت اعلان برای شبکه‌های عمومی"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"وقتی شبکه عمومی‌ای با کیفیت خوب در دسترس است، اطلاع داده شود"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"‏مجاز کردن شبکه‌های WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"‏WEP یک پروتکل امنیتی قدیمی است که امنیت کمتری دارد"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"‏شرکت مخابراتی شما اجازه استفاده از شبکه‌های WEP را نمی‌دهد زیرا امنیت کمتری دارند"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"‏روشن شدن خودکار Wi-Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‏Wi-Fi درنزدیکی شبکه‌های با کیفیت بالای ذخیره‌شده (ازجمله شبکه خانه‌تان) دوباره روشن می‌شود."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"در دسترس نیست چون «مکان» خاموش است. "<annotation id="link">"مکان"</annotation>" را روشن کنید."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"‏«اسکن کردن Wi‑Fi» به برنامه‌ها و سرویس‌ها امکان می‌دهد در هر زمانی (حتی وقتی Wi‑Fi خاموش است) این شبکه‌ها را جستجو کنند. برای مثال، این مورد می‌تواند برای بهبود ویژگی‌ها و سرویس‌های مکان‌مبنا استفاده شود."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"روشن کردن"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏«اسکن کردن Wi‑Fi» روشن شد"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"این شبکه از پروتکل امنیتی قدیمی‌تری استفاده می‌کند که امنیت کمتری دارد"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> مسدود شده است"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"‏این شبکه از پروتکل امنیتی قدیمی‌تری به‌نام WEP استفاده می‌کند که امنیت کمتری دارد. برای اینکه درهرصورت متصل شوید، می‌توانید شبکه‌های WEP را مجاز کنید."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"شرکت مخابراتی‌تان اجازه نمی‌دهد به این شبکه متصل شوید زیرا از پروتکل امنیتی قدیمی‌تری استفاده می‌کند که امنیت کمتری دارد"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"‏مجاز کردن WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"بستن"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"گزینه‌های پیشرفته"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"گزینه‌های پیشرفتهٔ فهرست کرکره‌ای"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"بزرگ کردن"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"‏به Wi‑Fi متصل بمانید"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"هرگز دوباره نشان داده نشود"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"اتصال"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"‏Wi-Fi روشن شد"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"به <xliff:g id="NETWORK_NAME">%1$s</xliff:g> متصل شد"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"درحال اتصال به <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"درحال اتصال…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"اتصال به شبکه برقرار نشد"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"شبکه در محدوده نیست"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"فراموش کردن"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"اصلاح"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"شبکه فراموش نشد"</string>
     <string name="wifi_save" msgid="2312643132472226807">"ذخیره"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"شبکه ذخیره نشد"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"لغو"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"داده تلفن همراه"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"اترنت"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"‫<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> - درحال شارژ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"‫<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> - درحال شارژ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ارتباط نقطه اتصال"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"قدرت اتصال"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"شبکه‌های ذخیره‌شده"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"گذرواژه‌ای تنظیم نشده است"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"نام نقطه اتصال"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"گذرواژه نقطه اتصال"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"‏باند AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"خاموش شدن خودکار نقطه اتصال"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"وقتی هیچ دستگاهی متصل نیست"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"افزایش سازگاری"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"تعادل سفیدی نمایشگر"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ادامه دادن به استفاده از برنامه‌ها درحالت تاخوردگی"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"نمایشگر روان"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"به‌طور خودکار نرخ بازآوری را برای بعضی محتوا، از ۶۰ هرتز تا <xliff:g id="ID_1">%1$s</xliff:g> هرتز بالا می‌برد. مصرف باتری را افزایش می‌دهد."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"غیرفعال کردن نرخ فریم پیش‌فرض برای بازی‌ها"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"محدودیت نرخ فریم حداکثری برای بازی‌ها در <xliff:g id="FRAME_RATE">%1$d</xliff:g> هرتز غیرفعال می‌شود."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"نمایشگر روان"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"به‌طور خودکار نرخ بازآوری را برای بعضی محتوا تا <xliff:g id="ID_1">%1$d</xliff:g> هرتز بالا می‌برد. مصرف باتری را افزایش می‌دهد."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"اعمال بالاترین نرخ بازآوری"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"بالاترین نرخ بازآوری برای پاسخ‌گویی بهبودیافته لمس و کیفیت پویانمایی. مصرف باتری را افزایش می‌دهد."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"توجه به صفحه"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"‏«توجه به صفحه» با استفاده از دوربین جلو متوجه می‌شود که آیا فردی درحال تماشای صفحه‌نمایش است یا نه. این ویژگی در دستگاه کار می‌کند و تصاویر هرگز ذخیره نمی‌شوند و به Google فرستاده نمی‌شود."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"روشن کردن توجه به صفحه"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"وقتی به صفحه‌نمایش نگاه می‌کنید صفحه خاموش نشود"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"وقفه طولانی‌تر برای خاموش شدن صفحه باعث مصرف باتری بیشتر می‌شود."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"دوربین قفل است"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"برای «تشخیص چهره»، قفل دوربین باید باز باشد"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"قفل دوربین باید برای «توجه به صفحه» باز باشد"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"‏IMEI (شیار سیم‌کارت <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"‏IMEI (شیار سیم‌کارت <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (اصلی)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"برای مشاهده، شبکه ذخیره‌شده را انتخاب کنید"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"‏نسخه PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"مقدار شارژ باتری"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"عمومی"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"تنظیمات عمومی"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"پیام‌رسانی ماهواره‌ای"</string>
     <string name="apn_settings" msgid="4295467389400441299">"نام‌های نقاط دستیابی"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ویرایش نقطه دستیابی"</string>
+    <string name="apn_add" msgid="9069613192201630934">"افزودن نقطه دسترسی"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"تنظیم نشده است"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"تنظیم‌نشده"</string>
     <string name="apn_name" msgid="6677695784108157953">"نام"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"نام نقطه دستیابی فعال است"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"نام نقطه دستیابی غیرفعال است"</string>
     <string name="bearer" msgid="3231443241639159358">"حامل"</string>
+    <string name="network_type" msgid="748590707422733595">"نوع شبکه"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"نامشخص"</string>
     <string name="mvno_type" msgid="4734654257494971247">"‏نوع MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"‏مقدار MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"حذف نام نقطه دستیابی"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"ذخیره"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"لغو"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"‏ورودی APN تکراری."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"قسمت نام نباید خالی باشد."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"نام نقطه دستیابی نمی‌تواند خالی باشد."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"‏قسمت MCC باید 3 رقمی باشد."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"‏قسمت MNC باید 2 یا 3 رقم باشد."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"‏شرکت مخابراتی اجازه نمی‌دهد APN از نوع %s اضافه کنید."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"‏فیلد MMSC باید معتبر باشد."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"بازیابی تنظیمات پیش‌فرض نام نقطه دستیابی"</string>
     <string name="menu_restore" msgid="4310539620115151551">"بازنشانی به موارد پیش‌فرض"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"بازنشانی تنظیمات پیش‌فرض نام نقطه دستیابی انجام شد."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"بازنشانی"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏بلوتوث و Wi‑Fi بازنشانی شدند"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"پاک کردن سیم‌کارت داخلی"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"با این کار، هیچ‌یک از طرح‌های سرویس تلفن همراه لغو نمی‌شود. برای بارگیری سیم‌کارت‌های جایگزین، با شرکت مخابراتی‌تان تماس بگیرید."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"با این کار طرح خدمات تلفن همراهتان لغو نخواهد شد. برای دریافت سیم‌کارت جایگزین، با شرکت مخابراتی‌تان تماس بگیرید."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"بازنشانی تنظیمات"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"همه تنظیمات شبکه بازنشانی شود؟ این کنش واگرد نمی‌شود."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"همه تنظیمات شبکه بازنشانی و سیم‌کارت‌های داخلی پاک شوند؟ این کنش واگردشدنی نیست."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"بازنشانی؟"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"بازنشانی شبکه برای این کاربر در دسترس نیست"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"تنظیمات شبکه بازنشانی شد"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"سیم‌کارت‌ها پاک‌سازی نشدند"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"سیم‌کارت داخلی به‌دلیل خطایی نمی‌تواند پاک شود.\n\nدستگاهتان را بازراه‌اندازی و دوباره امتحان کنید."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"سیم‌کارت‌های داخلی پاک‌سازی نشد"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"مشکلی پیش آمد و سیم‌کارت‌های داخلی‌تان پاک‌سازی نشد.\n\nدستگاه را بازراه‌اندازی کنید و دوباره امتحان کنید."</string>
     <string name="main_clear_title" msgid="277664302144837723">"پاک کردن همه داده‌ها (بازنشانی کارخانه‌ای)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"پاک کردن همه داده‌ها (بازنشانی کارخانه‌ای)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"موسیقی"</li>\n<li>"عکس"</li>\n<li>"دیگر اطلاعات کاربر"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"سیم‌کارت داخلی"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"با این کار طرح خدمات تلفن همراهتان لغو نخواهد شد."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"همه اطلاعات شخصی و برنامه‌های بارگیری‌شده حذف خواهد شد. این کنش واگردشدنی نیست."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"همه اطلاعات شخصی‌تان، ازجمله سیم‌کارت‌ها و برنامه‌های بارگیری‌شده، حذف می‌شود. این کنش واگردشدنی نیست."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"همه اطلاعات شخصی‌تان، ازجمله سیم‌کارت‌های داخلی و برنامه‌های بارگیری‌شده، حذف خواهد شد. این کنش واگردشدنی نیست."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"همه داده‌ها پاک شود؟"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"بازنشانی کارخانه‌ای برای این کاربر دردسترس نیست"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"درحال پاک‌سازی"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"‏نقطه اتصال، USB، بلوتوث، اترنت"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"اینترنت با دستگاه‌های دیگر هم‌رسانی نمی‌شود"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"خاموش"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"اشتراک‌گذاری اینترنت"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏استفاده نکردن از نقطه اتصال Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏اینترنت را فقط ازطریق USB هم‌رسانی کنید"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"اینترنت را فقط ازطریق بلوتوث هم‌رسانی کنید"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"هم‌رسانی اینترنت فقط ازطریق اترنت"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏اینترنت را فقط ازطریق USB و بلوتوث هم‌رسانی کنید"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"‏هم‌رسانی اینترنت فقط ازطریق USB و اترنت"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"هم‌رسانی اینترنت فقط ازطریق بلوتوث و اترنت"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"‏هم‌رسانی اینترنت فقط ازطریق USB، بلوتوث، و اترنت"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏اشتراک‌گذاری اینترنت با USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"اشتراک‌گذاری اینترنت با بلوتوث"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"اشتراک‌گذاری اینترنت با اترنت"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"‏برای ارائه اینترنت به سایر دستگاه‌ها ازطریق اتصال داده تلفن همراه یا Wi-Fi، از نقطه اتصال و اشتراک‌گذاری اینترنت استفاده کنید. برنامه‌ها همچنین می‌تواند نقطه اتصالی ایجاد کند تا محتوا را با دستگاه‌های اطراف هم‌رسانی کند."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"راهنمایی"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"شبکه تلفن همراه"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"طرح تلفن همراه"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"برنامه پیامک"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"برنامه پیامک تغییر داده شود؟"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"از <xliff:g id="NEW_APP">%1$s</xliff:g> به‌جای <xliff:g id="CURRENT_APP">%2$s</xliff:g> به‌عنوان برنامه پیامک‌تان استفاده می‌کنید؟"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"‏دستیار Wi‑Fi را تغییر می‌دهید؟"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"از <xliff:g id="NEW_APP">%1$s</xliff:g> به‌جای <xliff:g id="CURRENT_APP">%2$s</xliff:g> استفاده می‌کنید تا ارتباطات شبکه‌تان را مدیریت کنید؟"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"برای مدیریت ارتباطات شبکه‌تان از <xliff:g id="NEW_APP">%s</xliff:g> استفاده می‌کنید؟"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"اپراتور سیم‌کارت ناشناس"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> وب‌سایت شناخته‌شده‌ای برای آماده‌سازی ندارد"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"لطفاً سیم کارت را وارد کنید و دوباره راه‌اندازی کنید"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"لطفاً به اینترنت وصل شوید"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"درخواست‌های اخیر موقعیت مکانی"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"محل نمایه کارتان"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"اجازه‌های مکان برنامه"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"پاک کردن دسترسی"</string>
     <string name="controls_label" msgid="8671492254263626383">"کنترل ها"</string>
     <string name="force_stop" msgid="2681771622136916280">"توقف اجباری"</string>
+    <string name="archive" msgid="9074663845068632127">"بایگانی کردن"</string>
+    <string name="restore" msgid="7622486640713967157">"بازیابی"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"درحال بازیابی"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"درحال بازیابی."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"درحال بازیابی.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"درحال بازیابی…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"مجموع"</string>
     <string name="application_size_label" msgid="6407051020651716729">"حجم برنامه"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"‏برنامه ذخیره‌سازی USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"اندازه بسته قابل محاسبه نیست."</string>
     <string name="version_text" msgid="7628938665256107608">"نسخه <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"انتقال"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"بایگانی کردن انجام نشد"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> بایگانی شد"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"بازیابی ناموفق بود"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"درحال بازیابی <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"انتقال دیگری اکنون درحال انجام است."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"حافظه کافی موجود نیست."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"برنامه وجود ندارد."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"صفحه‌کلید مجازی دردسترس است"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"مدیریت صفحه‌کلیدهای روی صفحه"</string>
     <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="6922850403920596246">"کلیدهای واگشت را برای دسترس‌پذیری صفحه‌کلید فیزیکی فعال کنید"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"کلیدهای آهسته"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"«کلیدهای آهسته» را برای دسترس‌پذیری صفحه‌کلید فیزیکی فعال کنید"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"کلیدهای چسبان"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"کلیدهای چسبان را برای دسترس‌پذیری صفحه‌کلید فیزیکی فعال کنید"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"برای گزینه‌های بیشتر، روی پایین گوشه چپ صفحه لمسی ضربه بزنید"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"سرعت اشاره‌گر"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"آشنایی با اشاره‌های صفحه لمسی"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"رفتن به صفحه اصلی"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"هر جایی از صفحه لمسی را با سه انگشت تند به‌بالا بکشید"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"برگشتن"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"مرتب کردن براساس زمان استفاده"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"مرتب کردن براساس آخرین استفاده"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"مرتب کردن براساس نام برنامه"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"آخرین زمان استفاده"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"آخرین استفاده"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"هرگز"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"زمان استفاده"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"دسترس‌پذیری"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"تنظیمات دسترس‌پذیری"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"درشت‌نمایی با سه ضربه"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"درشت‌نمایی بااستفاده از میان‌بر"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"درشت‌نمایی بااستفاده از میان‌بر و سه ضربه"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"درباره <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"استفاده از دکمه دسترس‌پذیری برای باز کردن"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"نگه‌داشتن کلیدهای میزان صدا برای باز کردن"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"برای باز کردن، روی صفحه‌نمایش سه ضربه سریع بزنید"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"برای باز کردن، با دو انگشت دوضربه روی صفحه‌نمایش بزنید"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"استفاده از اشاره برای باز کردن"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"استفاده از اشاره دسترس‌پذیری"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"برای استفاده از این ویژگی، روی دکمه دسترس‌پذیری <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> در پایین صفحه ضربه بزنید.\n\nبرای جابه‌جایی بین ویژگی‌ها، دکمه دسترس‌پذیری را لمس کنید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"برای استفاده از این ویژگی، روی دکمه دسترس‌پذیری در صفحه‌نمایش ضربه بزنید."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"برای استفاده از این ویژگی، هر دو کلید میزان صدا را فشار دهید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"برای راه‌اندازی یا متوقف کردن درشت‌نمایی، روی جایی از صفحه‌نمایش سه ضربه بزنید."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"برای شروع یا متوقف کردن درشت‌نمایی، روی جایی از صفحه‌نمایش با دو انگشت دوضربه بزنید."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"برای استفاده از این ویژگی، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"برای استفاده از این ویژگی، با ۳ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"برای استفاده از ویژگی دسترس‌پذیری، با ۲ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۲ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"برای استفاده از ویژگی دسترس‌پذیری، با ۳ انگشت از پایین صفحه تند به‌بالا بکشید.\n\nبرای جابه‌جایی بین ویژگی‌ها، با ۳ انگشت تند به‌بالا بکشید و نگه دارید."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"متوجه شدم"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"تنظیمات دکمه دسترس‌پذیری"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"تنظیمات دکمه"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"میان‌بر <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"دکمه دسترس‌پذیری"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"اشاره دسترس‌پذیری"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"نگه‌داشتن کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"نگه داشتن کلیدهای میزان صدا"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"هردو کلید میزان صدا را فشار دهید و نگه دارید"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"با دو انگشت دوضربه روی صفحه‌نمایش بزنید"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"با دو انگشت دوضربه روی صفحه‌نمایش بزنید"</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="6863958573135995927">"سه ضربه سریع روی صفحه"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏سریع روی صفحه‌نمایش {0,number,integer} بار ضربه بزنید. ممکن است این میان‌بر سرعت دستگاه را کاهش دهد"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"درباره دکمه دسترس‌پذیری و اشاره بیشتر بدانید"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"درحال استفاده از دکمه دسترس‌پذیری هستید. اشاره موردنظر با پیمایش ۳دکمه‌ای دردسترس نیست."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"دسترسی سریع به ویژگی‌های دسترس‌پذیری"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"برای شروع به کار"</b>\n"۱. به تنظیمات دسترس‌پذیری بروید\n۲. یکی‌از ویژگی‌ها را انتخاب کنید و روی میان‌بر ضربه بزنید\n۳. انتخاب کنید که برای دسترسی به ویژگی می‌خواهید از دکمه استفاده کنید یا از اشاره"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"برای شروع کار"</b>\n"۱. به تنظیمات دسترس‌پذیری بروید\n۲. یکی از ویژگی‌ها را انتخاب کنید و روی میان‌بر ضربه بزنید\n۳. دکمه موردنظر را برای دسترسی به آن ویژگی انتخاب کنید"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"‏&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"‏&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"استفاده از دکمه یا اشاره"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"مکان"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"اندازه"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"قطع تماس با دکمه روشن/خاموش"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"اشاره‌گر موشواره بزرگ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"برجسته‌تر کردن اشاره‌گر موشواره"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"تیره کردن همه برنامه‌ها"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"برای برنامه‌هایی اعمال می‌شود که خودشان زمینه تیره ندارند. ممکن است برخی برنامه‌ها مشکل نمایش داشته باشند، مثل رنگ‌های وارونه."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"برداشتن پویانمایی‌ها"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"کاهش حرکت در صفحه‌نمایش"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"صدای مونو"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"استفاده از لرزش و فناوری لمسی"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"لرزش هشدار"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"لرزش رسانه‌ها"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"لرزش صفحه‌کلید"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"لرزش هنگام زنگ خوردن"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"لرزش برای اعلان"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"بازخورد لمسی"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"متوقف کردن"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"لغو"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"«<xliff:g id="SERVICE">%1$s</xliff:g>» متوقف شود؟"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"با زدن روی «<xliff:g id="STOP">%1$s</xliff:g>»، «<xliff:g id="SERVICE">%2$s</xliff:g>» متوقف می‌شود."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"خاموش شود"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"روشن باشد"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> خاموش شود؟"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"سرویسی نصب نشده است"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"سرویسی انتخاب نشده است"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"شرحی ارائه نشده است."</string>
     <string name="settings_button" msgid="2195468788019730377">"تنظیمات"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"حساسیت به نور، نورهراسی، زمینه تیره، میگرن، سردرد، حالت خواندن، حالت شب، کاهش روشنایی، درجه سفیدی"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"سهولت استفاده، سهولت دسترسی، دستیار، یاری‌رسان"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"بینایی، شنوایی، نابینا، ناشنوا، حرکتی، دست‌ورزی، یاری‌رسان، یاری، کاربری آسان، دسترسی آسان، دست، کمک"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ذره‌بین پنجره، زوم، درشت‌نمایی، کم‌بینا، بزرگ کردن، بزرگ‌تر کردن"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"‏زیرنویس، زیرنویس ناشنوایان، CC، ترانویسی هم‌زمان، کم‌شنوا، ازدست دادن شنوایی، CART، گفتار به نوشتار، زیرنویس"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"تضاد رنگ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"حرکت، موشواره"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"سمعک، کم‌شنوا، ازدست دادن شنوایی، کاشت حلزون، دستگاه تقویتی، پردازنده صدا"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"حرکتی، موشواره، موشواره خارجی، موشواره روی سر، موشواره تطبیقی، صندلی چرخ‌دار، دسته کنترل"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"سمعک، کم‌شنوا، ازدست دادن شنوایی، کاشت حلزون، دستگاه تقویتی، پردازنده صدا، پاسخگوی ایمنی عمومی"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"‏کم‌شنوا، ازدست دادن شنوایی، زیرنویس ناشنوایان، تایپ راه‌دور، tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"سه دکمه"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"دست‌ورزی، حرکتی، سالمند، ورم مفاصل، آسیب فشار تکراری (آر‌اس‌آی)، سکته، رعشه، اسکلروز چندگانه، فلج مغزی، لرزش، آسیب فشار تکراری، دست"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"تأخیر، دست‌ورزی، سالمند"</string>
     <string name="print_settings" msgid="8519810615863882491">"چاپ کردن"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"خاموش"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{یک سرویس چاپ روشن است}one{‏# سرویس چاپ روشن است}other{‏# سرویس چاپ روشن است}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> مانده"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> مانده تا شارژ کامل"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"مدت تماشای صفحه"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"زمان در پس‌زمینه"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"باتری ضعیف است"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"به برنامه اجازه دهید در پس‌زمینه اجرا شود"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"فعالیت پس‌زمینه محدود شود؟"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"محدود کردن فعالیت پس‌زمینه برای برنامه ممکن است باعث عملکرد نادرست آن شود."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"از آنجا که این برنامه برای بهینه کردن باتری تنظیم نشده است، نمی‌توانید آن را محدود کنید.\n\nبرای محدود کردن برنامه، ابتدا بهینه‌سازی باتری را روشن کنید."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"مدیریت مصرف باتری"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"مجاز کردن مصرف در پس‌زمینه"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"فعال کردن برای به‌روزرسانی‌های هم‌زمان، غیرفعال کردن برای صرفه‌جویی در باتری"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"نامحدود"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"بهینه‌سازی‌شده"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"محدودشده"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"برنامه‌هایی که بیشترین مصرف را دارند ببینید"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"برای محافظت از باتری، شارژ بهینه می‌شود"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"برای کمک به افزایش طول عمر باتری، شارژ بهینه می‌شود"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"برای محافظت از باتری، شارژ بهینه می‌شود"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"برای کمک به افزایش طول عمر باتری، شارژ هنگام اتصال به پایه بهینه می‌شود"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"برای محافظت از باتری، شارژ بهینه می‌شود"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"برای کمک به افزایش طول عمر باتری، شارژ هنگام اتصال به پایه بهینه می‌شود"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"درحال شارژ تا حد کامل"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"برای محافظت از باتری، دفعه بعدی که رایانه لوحی‌تان به پایه متصل شود، شارژ بهینه خواهد شد"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"درباره توقف موقت شارژ بیشتر بدانید"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ازسرگیری شارژ شدن"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"شامل فعالیت پس‌زمینه با شارژ بالا"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"این برنامه می‌تواند در پس‌زمینه از باتری استفاده کند. ممکن است شارژ باتری زودتر از حد انتظار تمام شود."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"برداشتن"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"لغو"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"کاملاً شارژ کردن"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"مشکل در شارژ وسیله جانبی"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"لوازم شارژ را بررسی کنید"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"درباره شارژ ناسازگار بیشتر بدانید"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"مدیر باتری"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"مدیریت خودکار برنامه‌ها"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"از آخرین شارژ کامل"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"برنامه‌های سیستم"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"برنامه‌های حذف نصب‌شده"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"غیره"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"زمان باقی‌مانده تخمینی"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"مانده تا شارژ کامل"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"مجموع: کمتر از یک دقیقه"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"پس‌زمینه: کمتر از یک دقیقه"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"مدت تماشای صفحه: کمتر از یک دقیقه"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"کمتر از یک دقیقه"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"مجموع: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"پس‌زمینه: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"مدت تماشای صفحه: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"اکنون"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"از <xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> تا <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"نمودار مصرف باتری"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"نمودار مصرف روزانه باتری"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"نمودار مصرف ساعتی باتری"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"درصد میزان شارژ باتری از <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> تا <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"مصرف باتری از آخرین شارژ کامل"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"مصرف باتری: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"مدت تماشای صفحه از آخرین شارژ کامل"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"سیگنال شماره‌گیری اضطراری"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"واکنش موجود در هنگام برقراری تماس اضطراری را تنظیم کنید"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"پشتیبان‌گیری"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"روشن"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"خاموش"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"تهیهٔ نسخهٔ پشتیبان و بازیابی"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"اطلاعات شخصی"</string>
     <string name="backup_data_title" msgid="507663517227498525">"پشتیبان‌گیری از داده‌های من"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"‏داده تلفن همراه و Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"همگام‌سازی خودکار داده‌های شخصی"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"همگام‌سازی خودکار داده‌های کاری"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"همگام‌سازی خودکار داده خصوصی"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"تغییر چرخه..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"روزِ تنظیم مجدد چرخه مصرف داده:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"در این مدت، هیچ برنامه‌ای از داده‌ها استفاده نکرده‌ است."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"نام"</string>
     <string name="vpn_type" msgid="5533202873260826663">"نوع"</string>
     <string name="vpn_server" msgid="2908816134941973935">"آدرس سرور"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"‏رمزگذاری PPP‏ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"‏مورد محرمانه L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"‏شناسه IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"‏کلید IPSec از پیش مشترک شده"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"‏گواهی کاربر IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"‏گواهی IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"‏گواهی سرور IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"نمایش گزینه‌های پیشرفته"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"‏دامنه‌های جستجوی DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"‏سرور DNS (به‌عنوان مثال 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"مسیرهای هدایت (مانند 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"نام کاربری"</string>
     <string name="vpn_password" msgid="1183746907642628127">"گذرواژه"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ذخیره اطلاعات حساب"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(استفاده نشده)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(سرور تأیید نشود)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(دریافت شده از سرور)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"‏این نوع VPN نمی‌تواند همیشه متصل بماند"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"‏VPN همیشه‌روشن فقط از سرورهای با نشانی عددی پشتیبانی می‌کند"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"‏سرور DNS مربوط به VPN همیشه‌روشن باید مشخص شده باشد"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"‏نشانی‌های سرور DNS مربوط به VPN همیشه‌روشن باید عددی باشند"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"‏اطلاعات وارد‌شده از VPN همیشه‌روشن پشتیبانی نمی‌کند"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"لغو"</string>
     <string name="vpn_done" msgid="5137858784289564985">"رد کردن"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"‏اتصالات مسدود‌شده بدون VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"‏به اتصال VPN‌ نیاز است؟"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"‏امن نیست. به IKEv2 VPN به‌روزرسانی کنید"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"‏VPN پشتیبانی‌نشده راه‌اندازی نشد."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"‏یک نمایه VPN انتخاب کنید تا همیشه متصل بمانید. فقط درصورتی‌که به این VPN متصل باشید ترافیک شبکه مجاز خواهد بود."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"خالی"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"‏VPN همیشه‌فعال به نشانی IP برای DNS و سرور نیاز دارد."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"‏هشدارهای AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"دریافت بولتن‌های مربوط به کودک‌ربایی"</string>
     <string name="repeat_title" msgid="8676570486899483606">"تکرار"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"فعال‌سازی مدیریت تماس"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"به این سرویس اجازه دهید تا چگونگی برقراری تماس‌هایتان را مدیریت کند."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"مدیریت تماس"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"هشدارهای اضطراری بی‌سیم"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"اپراتورهای شبکه"</string>
     <string name="access_point_names" msgid="5768430498022188057">"نام نقاط دسترسی"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"وضعیت سیم‌کارت"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏وضعیت سیم‌کارت (شیار سیم‌کارت %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"سیم‌کارت‌ها تغییر کردند."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"سیم‌کارت‌ها تغییر کرد"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"برای راه‌اندازی ضربه بزنید"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"هر بار پرسیده شود"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"انتخاب مورد نیاز است"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"برنامه‌های اخیر، برنامه‌ها پیش‌فرض"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"برنامه‌ها نمی‌توانند در نمایه کاری به اعلان‌ها دسترسی داشته باشند."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"گذرواژه‌ها و حساب‌ها"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"گذرواژه‌های ذخیره‌شده، تکمیل خودکار، حساب‌های همگام‌سازی‌شده"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"پیشنهادهایی برای ورود به سیستم و تکمیل خودکار"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"برنامه‌های پیش‌فرض"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"برنامه‌های همسانه‌شده"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"نسخه دومی از برنامه‌تان بسازید تا بتوانید هم‌زمان از دو حساب استفاده کنید."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"کیف پول"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"پرداخت کردن، ضربه زدن، پرداخت‌ها"</string>
     <string name="keywords_backup" msgid="707735920706667685">"پشتیبان‌گیری، پشتیبان"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"اشاره"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"قفل‌گشایی با چهره، اصالت‌سنجی، ورود به سیستم"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"قفل‌گشایی با چهره، اصالت‌سنجی، ورود به سیستم، اثر انگشت، زیست‌سنجشی"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"‏imei، ‏meid،‏ min، نسخه prl، ‏imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"اندازه نوشتار، چاپ درشت، قلم بزرگ، نوشتار بزرگ، کم‌بینا، بزرگ کردن نوشتار، بزرگ‌کننده قلم، بزرگ کردن قلم"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"‏نمایشگر محیطی همیشه روشن، AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"‏nfc، برچسب، خوانش‌گر"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"صفحه‌کلید، فناوری لمسی، لرزش،"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"میزان صدا، لرزش، «مزاحم نشوید»"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"میزان صدای رسانه"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"میزان صدای محتوای ارسالی"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"صدای راه‌اندازی"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"زیرنویس زنده"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"رسانه زیرنویس خودکار"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"بلندگوهای تلفن"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"بلندگوهای رایانه لوحی"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"بلندگوهای دستگاه"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"هدفون سیمی"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"صدای رسانه‌های سازگار فراگیرتر می‌شود"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"خاموش"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"نمایش همه محتوای اعلان"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"نمایش محتوای حساس فقط درصورت باز بودن قفل صفحه"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"هرگز اعلان نشان داده نشود"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"می‌خواهید صفحه قفل چطور نمایش داده شود؟"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"می‌خواهید در صفحه قفل چه چیزی نشان داده شود؟"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"صفحه قفل"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"نمایش همه محتوای اعلان کاری"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"پنهان کردن محتوای کاری حساس"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"مکالمه‌های اخیر برداشته شد"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"مکالمه حذف شد"</string>
     <string name="clear" msgid="5092178335409471100">"پاک کردن"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"پاک کردن <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"مکالمه‌های اولویت‌دار و اصلاح‌شده در اینجا نشان داده می‌شوند"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"وقتی مکالمه‌ای را به‌عنوان اولویت‌دار علامت‌گذاری کنید یا تغییرات دیگری در مکالمه‌ها ایجاد کنید، در اینجا نشان داده می‌شوند. \n\nبرای تغییر تنظیمات مکالمه: \nاز بالای صفحه به پایین بکشید تا کشوی پایین‌پر باز شود و سپس مکالمه را لمس کنید و نگه دارید."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"کوچک کردن"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"استراحت اعلان"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"اعمال کردن استراحت بر همه اعلان‌ها"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"کاهش تدریجی صدای اعلان‌ها هنگامی که اعلان‌های متوالی زیادی از یک برنامه دریافت می‌کنید"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"اعمال کردن استراحت بر همه مکالمه‌ها"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"کاهش تدریجی صدای اعلان‌ها هنگامی که در مدت‌زمانی کوتاه پیام‌های زیادی از یک گپ دریافت می‌کنید"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"از استراحت اعلان استفاده نشود"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"صرف‌نظر از تعداد اعلان‌های متوالی دریافتی از یک برنامه، هرگز صدای اعلان‌ها کاهش نیابد"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"لرزش در زمانی که قفل صفحه باز می‌شود"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"لرزش فقط در زمانی که قفل صفحه باز می‌شود"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"اعمال کردن بر نمایه‌های کاری"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"اعمال کردن تنظیمات استراحت اعلان از نمایه شخصی به نمایه کاری"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏خدمات یاور VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"‏هیچ برنامه نصب‌شده‌ای درخواست نکرده به‌عنوان خدمات یاور VR اجرا شود."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"‏به <xliff:g id="SERVICE">%1$s</xliff:g> امکان داده شود به خدمات VR دسترسی یابد؟"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"خاموش"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"سنجاق کردن برنامه"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"با سنجاق کردن برنامه می‌توانید برنامه کنونی را تا زمان برداشتن سنجاق درمعرض دید نگه دارید. برای مثال، بااستفاده از این ویژگی می‌توانید به دوست معتمدی اجازه دهید بازی خاصی را بازی کند."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"وقتی برنامه‌ای سنجاق شود، ممکن است برنامه سنجاق‌شده برنامه‌های دیگر را باز کند و داده‌های شخصی دردسترس قرار گیرد. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n۱. «سنجاق کردن برنامه» را روشن کنید ←\n۲. «نمای کلی» را باز کنید ←\n۳. روی نماد برنامه در بالای صفحه‌نمایش ضربه بزنید، سپس روی «سنجاق کردن» ضربه بزنید"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"وقتی برنامه‌ای سنجاق شود، ممکن است برنامه سنجاق‌شده برنامه‌های دیگر را باز کند و داده‌های شخصی دردسترس قرار گیرد. \n\nاگر می‌خواهید دستگاهتان را بااطمینان‌خاطر دراختیار فرد دیگری قرار دهید، از کاربر مهمان استفاده کنید. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n۱. «سنجاق کردن برنامه» را روشن کنید ←\n۲. «نمای کلی» را باز کنید ←\n۳. روی نماد برنامه در بالای صفحه‌نمایش ضربه بزنید، سپس روی «سنجاق کردن» ضربه بزنید"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"‏وقتی برنامه‌ای سنجاق شود، ممکن است برنامه سنجاق‌شده برنامه‌های دیگر را باز کند و داده‌های شخصی دردسترس قرار گیرد. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n{0,number,integer}. سنجاق کردن برنامه را روشن کنید ←\n{1,number,integer}. «نمای کلی» را باز کنید ←\n{2,number,integer}. روی نماد برنامه در بالای صفحه‌نمایش ضربه بزنید، سپس روی «سنجاق کردن» ضربه بزنید"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"‏وقتی برنامه‌ای سنجاق شود، ممکن است برنامه سنجاق‌شده برنامه‌های دیگر را باز کند و داده‌های شخصی دردسترس قرار گیرد. \n\nاگر می‌خواهید دستگاهتان را بااطمینان‌خاطر دراختیار فرد دیگری قرار دهید، از کاربر مهمان استفاده کنید. \n\nبرای استفاده از سنجاق کردن برنامه: ←\n{0,number,integer}. سنجاق کردن برنامه را روشن کنید ←\n{1,number,integer}. «نمای کلی» را باز کنید ←\n{2,number,integer}. روی نماد برنامه در بالای صفحه‌نمایش ضربه بزنید، سپس روی «سنجاق کردن» ضربه بزنید"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"وقتی برنامه سنجاق می‌شود: \n\n•		ممکن است داده‌های شخصی (مانند مخاطبین و محتوای ایمیل) دردسترس قرار گیرد \n		 \n•		ممکن است برنامه سنجاق‌شده برنامه‌های دیگر را باز کند \n\nفقط با افراد معتمد از سنجاق کردن برنامه استفاده کنید."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"درخواست الگوی بازگشایی قفل قبل‌از برداشتن سنجاق"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"درخواست کد پین قبل از برداشتن پین"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"درخواست گذرواژه قبل از برداشتن سنجاق"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"قفل کردن دستگاه هنگام برداشتن سنجاق"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"تأیید حذف سیم‌کارت"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"تأیید کنید که می‌خواهید سیم‌کارت داخلی‌تان پاک شود"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"به‌تأیید رساندن هویت پیش‌از پاک کردن سیم‌کارت داخلی"</string>
     <string name="memtag_title" msgid="5096176296797727201">"محافظت از حافظه پیشرفته نسخه بتا"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"محافظت از حافظه پیشرفته"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"تنظیمات برنامه‌های استفاده‌نشده"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"مکث فعالیت‌ها در برنامه درصورت عدم‌استفاده"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"اجازه‌ها برداشته می‌شود، فایل‌های موقت حذف می‌شود، و اعلان‌ها متوقف می‌شوند"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"مدیریت برنامه درصورت عدم استفاده"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"برداشتن اجازه‌ها، حذف فایل‌های موقت، توقف اعلان‌ها، و بایگانی کردن برنامه"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"همه برنامه‌ها"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"برنامه‌های نصب‌شده"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"برنامه‌های فوری"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"آزاد"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"حافظه مورداستفاده برنامه‌ها"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{یک برنامه ظرف {time} گذشته از حافظه استفاده کرده است}one{‏‎# برنامه ظرف {time} گذشته از حافظه استفاده کرده است}other{‏‎# برنامه ظرف {time} گذشته از حافظه استفاده کرده‌اند}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"فعال کردن نمایه‌سازی استفاده از حافظه"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"نمایه‌سازی استفاده از حافظه به منابع سیستم اضافی نیاز دارد."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"نمایه‌سازی استفاده از حافظه غیرفعال است"</string>
     <string name="running_frequency" msgid="7260225121706316639">"تعداد دفعات اجرا"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"حداکثر مصرف"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"از داده استفاده نشده"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"نمایش روی سایر برنامه‌ها"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"مجاز کردن نمایش روی سایر برنامه‌ها"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"به این برنامه اجازه می‌دهد روی برنامه‌های دیگری که درحال استفاده از آن‌ها هستید نشان داده شود. این برنامه می‌تواند ببیند روی کجا ضربه می‌زنید یا آنچه را که روی صفحه نشان داده می‌شود می‌تواند تغییر دهد."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"تغییر دادن خروجی رسانه"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"اجازه دادن به برنامه برای عوض کردن خروجی رسانه"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"به این برنامه اجازه داده می‌شود انتخاب کند کدام دستگاه متصل صدا یا ویدیو را از برنامه‌های دیگر پخش کند. اگر اجازه دهید، این برنامه می‌تواند به فهرست دستگاه‌های دردسترس، مثل هدفون و بلندگو دسترسی داشته باشد و انتخاب کند از کدام دستگاه خروجی برای جاری‌سازی یا پخش صدا یا ویدیو استفاده شود."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"دسترسی به همه فایل‌ها"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"دسترسی دادن برای مدیریت همه فایل‌ها"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"به این برنامه اجازه می‌دهد همه فایل‌های موجود در این دستگاه یا فضاهای ذخیره‌سازی متصل‌شده به آن را بخواند، تغییر دهد، و حذف کند. اگر این مجوز به برنامه داده شود، ممکن است بدون اطلاع صریح شما به فایل‌ها دسترسی یابد."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"می‌توانند به همه فایل‌ها دسترسی داشته باشند"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"برنامه‌های دارای فعال‌سازی صدا"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"مجاز کردن فعال‌سازی صدا"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"«فعال‌سازی صدا» برنامه‌های تأییدشده را به‌صورت دست‌آزاد و بااستفاده از فرمان صوتی فعال می‌کند. حسگر تطبیقی داخلی اطمینان حاصل می‌کند که داده‌ها محرمانه می‌ماند و فقط برای شما قابل‌نمایش است.\n\n"<a href="">"اطلاعات بیشتر درباره حسگر تطبیقی محافظت‌شده"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"اعلان‌های تمام‌صفحه"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"اجازه دادن به اعلان‌های تمام‌صفحه از این برنامه"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"به این برنامه اجازه می‌دهد وقتی دستگاه قفل است، اعلان‌ها را روی کل صفحه نشان دهد. برنامه‌ها ممکن است از این قابلیت برای برجسته کردن هشدارها، تماس ورودی، یا دیگر اعلان‌های فوری استفاده کنند."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> هشدار داده"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> حدمجاز داده"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> هشدار داده / <xliff:g id="ID_2">^2</xliff:g> حدمجاز داده"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"روش شرکت مخابراتی برای اندازه‌گیری مصرف داده ممکن است با روش دستگاهتان متفاوت باشد."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"داده‌هایی را که شبکه‌های شرکت مخابراتی استفاده می‌کنند لحاظ نمی‌کند"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> مصرف شده"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"تنظیم هشدار داده"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> قبل به‌روزرسانی شد"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"هم‌اکنون <xliff:g id="ID_1">^1</xliff:g> به‌روزرسانی کرد"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"اکنون به‌روزرسانی شد"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"مشاهده طرح"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"مشاهده جزئیات"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"صرفه‌جویی داده"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"داده نامحدود"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> در مدتی که در پس‌زمینه بود بیشتر از حالت معمول باتری مصرف کرد"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> در مدتی که در پیش‌زمینه بود باتری بیشتری مصرف کرد"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> در مدتی که در پیش‌زمینه بود بیشتر از حالت معمول باتری مصرف کرد"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ناهنجاری در مصرف باتری"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"مصرف بالای باتری"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"مصرف بالای باتری در پس‌زمینه"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"مصرف بالای باتری در پیش‌زمینه"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"کاشی‌های برنامه‌نویسی تنظیمات سریع"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏غیرفعال کردن درنگ مجوز adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‏فسخ خودکار مجوزهای ADB (پل اشکال‌زدایی Android) برای سیستم‌هایی که ظرف مدت زمان پیش‌فرض (۷ روز) یا پیکربندی‌شده توسط کاربر (حداقل ۱ روز) دوباره متصل نشده‌اند، غیرفعال شود."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"‏رد Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"حسگرها خاموش است"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"تنظیمات نمایه کاری"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"جستجوی مخاطبین فهرست کار در برنامه‌های شخصی"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"پیمایش سیستمی، پیمایش ۲دکمه‌ای، پیمایش ۳ دکمه‌ای، پیمایش اشاره‌ای، تند کشیدن"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"دستیار دیجیتالی"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"تند کشیدن برای فراخواندن دستیار"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"برای فراخواندن برنامه دستیار دیجیتالی، از پایین تند به‌بالا بکشید."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"برای فراخواندن برنامه دستیار دیجیتالی، از گوشه پایین تند به‌بالا بکشید"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"نگه داشتن کلید «صفحه اصلی» برای فراخواندن «دستیار»"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"برای فراخواندن برنامه دستیار دیجیتالی، دکمه «صفحه اصلی» را فشار دهید و نگه دارید."</string>
     <string name="low_label" msgid="6525629096999711220">"کم"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"سرویس تکمیل خودکار"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"سرویس تکمیل خودکار پیش‌فرض"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"گذرواژه‌ها"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"گذرواژه‌ها، گذرکلیدها، و سرویس‌های داده"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ارائه‌دهندگان دیگر"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"سرویس ترجیحی"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"سرویس‌های اضافی"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# گذرواژه}one{# گذرواژه}other{# گذرواژه}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"خودکار، تکمیل، تکمیل خودکار، گذرواژه"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"داده، گذرکلید، گذرواژه"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"خودکار، تکمیل، تکمیل خودکار، داده، گذرکلید، گذرواژه"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"تغییر دادن"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"باز کردن"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"موردی انتخاب نشده است"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"‏&lt;b&gt;مطمئن شوید به این برنامه اطمینان دارید&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=تکمیل خودکار Google&gt;%1$s&lt;/xliff:g&gt; برای تعیین آنچه که می‌تواند به‌طور خودکار تکمیل شود، از آنچه روی صفحه‌نمایش شما است استفاده می‌کند."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"‏&lt;b&gt;از &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; استفاده شود؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; از محتوای صفحه‌نمایش شما استفاده می‌کند تا تشخیص دهد چه چیزهایی را می‌توان به‌طور خودکار تکمیل کرد. ازاین‌پس گذرواژه‌ها، گذرکلیدها، و دیگر اطلاعات اینجا ذخیره خواهند شد."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"گذرواژه‌ها، گذرکلیدها، و سرویس‌های داده"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"‏&lt;b&gt;از &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; استفاده شود؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ازاین‌پس گذرواژه‌ها، گذرکلیدها، و سایر اطلاعات جدید در اینجا ذخیره خواهد شد. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ممکن است از محتوای صفحه‌نمایش شما استفاده کند تا تشخیص دهد چه چیزهایی را می‌توان به‌طور خودکار تکمیل کرد."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"سرویس ترجیحی برای گذرواژه‌ها، گذرکلیدها، و تکمیل خودکار"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"‏%1$s خاموش شود؟"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"‏&lt;b&gt;این سرویس خاموش شود؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; با ورود به سیستم، اطلاعات ذخیره‌شده مثل گذرواژه‌ها، گذرکلیدها، روش‌های پرداخت، و دیگر اطلاعات تکمیل نخواهند شد. برای استفاده از اطلاعات ذخیره‌شده، گذرواژه، گذرکلید، یا سرویس داده‌ای را انتخاب کنید."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"گذرواژه‌ها، گذرکلیدها، و تکمیل خودکار"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"‏&lt;b&gt;همه سرویس‌ها خاموش شود؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; گذرواژه‌ها، گذرکلیدها، و دیگر اطلاعات ذخیره‌شده هنگام ورود به سیستم برای تکمیل خودکار دردسترس نخواهد بود"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"‏&lt;b&gt;سرویس ترجیحی‌تان به &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; تغییر کند؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ازاین‌پس، گذرواژه‌ها و گذرکلیدهای جدید و دیگر اطلاعات اینجا ذخیره خواهد شد. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ممکن است از محتوای صفحه‌نمایش شما استفاده کند تا تشخیص دهد چه چیزهایی را می‌توان به‌طور خودکار تکمیل کرد"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"‏از %1$s استفاده شود؟"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"خاموش کردن"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"تغییر دادن"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"فقط می‌توانید ۵ سرویس روشن داشته باشید"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"حداقل ۱ سرویس را خاموش کنید تا بتوانید سرویس دیگری اضافه کنید"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"‏%1$s از محتوای روی صفحه شما استفاده می‌کند تا تشخیص دهد چه چیزهایی را می‌توان به‌طور خودکار تکمیل کرد."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"محدودیت گذرواژه‌ها، گذرکلیدها، و سرویس‌های داده"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"می‌توانید حداکثر تا ۵ گذرواژه، گذرکلید، و سرویس داده را به‌صورت هم‌زمان فعال داشته باشید. برای افزودن مورد جدید، یکی از سرویس‌ها را خاموش کنید."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"محدودیت گذرواژه‌ها، گذرکلیدها، و سرویس‌های داده"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"می‌توانید حداکثر تا ۵ گذرواژه، گذرکلید، و سرویس داده را به‌صورت هم‌زمان فعال داشته باشید. برای افزودن مورد جدید، یکی از سرویس‌ها را خاموش کنید."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"خاموش کردن"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"تکمیل خودکار"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"سطح گزارش‌دهی"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"تغییرات سازگاری برنامه را فقط برای برنامه‌های قابل اشکال‌زدایی می‌توان تغییر داد. برنامه قابل اشکال‌زدایی را نصب کنید و دوباره امتحان کنید."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"به تنظیم دیگری بستگی دارد"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"حساب"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"‏‫%d حساب"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"نام دستگاه"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"اطلاعات اصلی"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"قانونی و نظارتی"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"‏به این برنامه اجازه می‌دهد هنگام اسکن شدن نشان NFC راه‌اندازی شود.\nاگر این اجازه روشن باشد، هر زمان نشانی شناسایی شود، این برنامه به‌عنوان گزینه‌ای دردسترس خواهد بود."</string>
     <string name="media_output_title" msgid="8283629315159510680">"پخش رسانه در"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"پخش <xliff:g id="LABEL">%s</xliff:g> در"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"صدا پخش می‌شود در"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"این دستگاه"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"غیر قابل دسترسی درطول تماس"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"دریافت تماس با"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"بی‌صدا کردن"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"برای فعال کردن، ابتدا «فشار دادن و نگه داشتن دکمه روشن / خاموش» را به «منوی روشن/ خاموش» تغییر دهید."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"جزئیات شبکه"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"‏نام دستگاه شما برای برنامه‌های موجود در تلفنتان قابل‌مشاهده است. همچنین ممکن است هنگام اتصال به دستگاه‌های بلوتوث، اتصال به شبکه Wi-Fi، یا راه‌اندازی نقطه اتصال Wi-Fi، برای افراد دیگر قابل‌مشاهده باشد."</string>
     <string name="devices_title" msgid="649715719278562515">"دستگاه‌ها"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"انتخاب شبکه"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"اتصال قطع شد"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"نام"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"رنگ (برنامه‌های سازگار از آن استفاده می‌کنند)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ذخیره"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"استفاده از سیم‌کارت"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"استفاده از این سیم‌کارت"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"خاموش"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"برای غیرفعال کردن این سیم‌کارت، آن را خارج کنید"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"برای فعال کردن <xliff:g id="CARRIER">%1$s</xliff:g>، ضربه بزنید"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"پاک‌سازی سیم‌کارت"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"برای خاموش کردن این سیم‌کارت، آن را خارج کنید"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"برای فعال کردن سیم‌کارت <xliff:g id="CARRIER">%1$s</xliff:g>، ضربه بزنید"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"پاک‌سازی سیم‌کارت داخلی"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"نوع شبکه ترجیحی"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"تغییر حالت عملکرد شبکه"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"نوع شبکه ترجیحی"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"برای قیمت با ارائه‌دهنده شبکه‌تان بررسی کنید."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"مصرف داده برنامه"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"حالت شبکه نامعتبر <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. نادیده گرفته شود."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"پیام‌رسانی ماهواره‌ای"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"پیامک‌ها را ازطریق ماهواره ارسال و دریافت کنید. با حساب شما ارائه شده است."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"پیامک‌ها را ازطریق ماهواره ارسال و دریافت کنید. با حساب شما ارائه نشده است."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"پیام‌رسانی ماهواره‌ای"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"درباره پیام‌رسانی ماهواره‌ای"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"به‌عنوان بخشی از حساب واجدشرایط <xliff:g id="CARRIER_NAME">%1$s</xliff:g>، می‌توانید پیامک‌ها را ازطریق ماهواره ارسال و دریافت کنید"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"طرح <xliff:g id="CARRIER_NAME">%1$s</xliff:g> شما"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"پیام‌رسانی ماهواره‌ای با حسابتان ارائه شده است"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"پیام‌رسانی ماهواره‌ای با حسابتان ارائه نشده است"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"افزودن پیام‌رسانی ماهواره‌ای"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"روش کار"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"وقتی شبکه تلفن همراه ندارید"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"تلفن شما به‌طور خودکار به ماهواره متصل خواهد شد. برای داشتن بهترین اتصال، به فضای بازی بروید که دید واضحی به آسمان داشته باشید."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"بعداز اتصال تلفن به ماهواره"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"می‌توانید برای هرکسی پیام ارسال کنید، ازجمله خدمات اضطراری. هروقت شبکه تلفن همراه دردسترس قرار بگیرد، تلفن دوباره به آن متصل خواهد شد."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"پیام‌رسانی ماهواره‌ای ممکن است مدت زمان بیشتری طول بکشد و فقط در برخی مناطق دردسترس است، ممکن است وضعیت آب‌وهوا و برخی ساختمان‌ها بر اتصال ماهواره اثر بگذارد. برقراری تماس ازطریق ماهواره دردسترس نیست.\n\nممکن است مدتی طول بکشد تا تغییرات اعمال‌شده در حسابتان در «تنظیمات» نشان داده شود. برای اطلاع از جزئیات با <xliff:g id="CARRIER_NAME">%1$s</xliff:g> تماس بگیرید."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"اطلاعات بیشتر درباره پیام‌رسانی ماهواره‌ای"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"نام‌های نقطه دسترسی"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"هنگام اتصال به <xliff:g id="CARRIER">%1$s</xliff:g>، دردسترس نیست"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"به <xliff:g id="CARRIER_NAME">%1$s</xliff:g> می‌روید؟"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"برای استفاده از سیم‌کارت، شرکت مخابراتی‌تان را عوض می‌کنید؟"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"از <xliff:g id="CARRIER_NAME">%1$s</xliff:g> استفاده شود؟"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"هربار فقط یک سیم‌کارت را می‌توان فعال کرد.\n\nبا رفتن به <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>، سرویس <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> شما لغو نخواهد شد."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"هربار فقط یک سیم‌کارت داخلی می‌تواند فعال شود.\n\nتغییر به <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>، سرویس <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> شما را لغو نخواهد کرد."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"هربار فقط یک سیم‌کارت را می‌توان فعال کرد.\n\nعوض کردن شرکت مخابراتی، باعث لغو سرویس <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> شما نخواهد شد."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"نمی‌توان چند سیم‌کارت را به‌صورت هم‌زمان روشن کرد.\n\nبا رفتن به <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> سرویس <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> لغو نخواهد شد."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"نمی‌توان چند سیم‌کارت داخلی را به‌صورت هم‌زمان روشن کرد.\n\nبا رفتن به <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> سرویس <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> لغو نخواهد شد."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"نمی‌توان چند سیم‌کارت را به‌صورت هم‌زمان روشن کرد.\n\nبا تغییر سیم‌کارت سرویس <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> لغو نخواهد شد."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"می‌توانید هم‌زمان از دو سیم‌کارت استفاده کنید. برای استفاده از <xliff:g id="CARRIER_NAME">%1$s</xliff:g>، سیم‌کارت دیگر را خاموش کنید."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"رفتن به <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"خاموش کردن <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"خاموش کردن سیم‌کارت باعث لغو سرویس نخواهد شد"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"درحال اتصال به شبکه…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"جابه‌جا شدن به <xliff:g id="CARRIER_NAME">%1$s</xliff:g> برای استفاده از تماس و پیام…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"شرکت مخابراتی عوض نشد"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"به‌دلیل بروز خطا، این شرکت مخابراتی عوض نشد."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"درحال فعال کردن سیم‌کارت…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"درحال انتقال به <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"سیم‌کارت عوض نشد"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"مشکلی پیش آمد. سیم‌کارت عوض نشد."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> خاموش شود؟"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"سیم‌کارت خاموش شود؟"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"خاموش کردن سیم‌کارت<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"شرکت مخابراتی غیرفعال نشد"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"مشکلی پیش آمد و شرکت مخابراتی‌تان غیرفعال نشد."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"سیم‌کارت خاموش نشد"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"مشکلی پیش آمد و سیم‌کارتتان خاموش نشد."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"از ۲ سیم‌کارت استفاده می‌کنید؟"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"این دستگاه می‌تواند هم‌زمان ۲ سیم‌کارت فعال داشته باشد. برای ادامه استفاده از ۱ سیم‌کارت در هربار، روی «نه متشکرم» ضربه بزنید."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"دستگاه بازراه‌اندازی شود؟"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"نه متشکرم"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"لغو"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"عوض کردن"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"خاموش کردن"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"سیم‌کارت فعال نشد"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"سیم‌کارت را دوباره روشن کنید. اگر مشکل ادامه داشت، دستگاهتان را بازراه‌اندازی کنید."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"راه‌اندازی سیم‌کارت"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"اولویت‌های شبکه تلفن همراه را به‌گونه‌ای تنظیم کنید که از چند سیم‌کارت در این دستگاه استفاده شود"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"برچسب زدن سیم‌کارت‌ها"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"این برچسب‌ها را هنگام برقراری تماس، ارسال پیامک، و استفاده از داده، و در «تنظیمات» خواهید دید"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"برچسب سیم‌کارت"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"برچسب"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"انتخاب کنید از کدام سیم‌کارت‌ها استفاده شود"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"می‌توانید هم‌زمان از ۲ سیم‌کارت استفاده کنید"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"تنظیم سیم‌کارت‌های پیش‌فرض"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"انتخاب کنید از کدام سیم‌کارت‌ها به‌طور پیش‌فرض برای تماس‌ها، پیامک‌ها، و داده استفاده شود"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"سیم‌کارت‌های اصلی شما"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"تماس‌ها"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"پیامک‌ها"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"عوض کردن خودکار داده"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"بسته به پوشش و دردسترس بودن، از داده یکی از سیم‌کارت‌ها استفاده می‌شود"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"فقط داده"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"راه‌اندازی"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"بعدی"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"درحال روشن کردن <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"شبکه تلفن همراه"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"شماره تلفن"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"رنگ و برچسب سیم‌کارت"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"فعال‌سازی شبکه"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"تغییر شرکت مخابراتی"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> فعال است"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"سیم‌کارت <xliff:g id="CARRIER_NAME">%1$s</xliff:g> فعال شد"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"برای به‌روزرسانی تنظیمات سیم‌کارت ضربه بزنید"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"به <xliff:g id="CARRIER_NAME">%1$s</xliff:g> جابه‌جا شدید"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"به شرکت مخابراتی دیگری جابه‌جا شدید"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"شبکه تلفن همراهتان تغییر کرده است"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"راه‌اندازی سیم‌کارت دیگر"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"سیم‌کارت فعالتان را انتخاب کنید یا هم‌زمان از ۲ سیم‌کارت استفاده کنید"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"انتخاب شماره‌ای برای استفاده"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{یک شماره تلفن در این دستگاه دردسترس است}=2{۲ شماره تلفن در این دستگاه دردسترس است، اما هربار فقط یکی از آن‌ها را می‌توان استفاده کرد}one{# شماره تلفن در این دستگاه دردسترس است}other{# شماره تلفن در این دستگاه دردسترس است، اما هربار فقط یکی از آن‌ها را می‌توان استفاده کرد}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"درحال فعال‌سازی<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"درحال‌حاضر فعال‌سازی امکان‌پذیر نیست"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"سیم‌کارتی برای استفاده انتخاب کنید"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{‫۱ سیم‌کارت در این دستگاه دردسترس است، اما هربار فقط از یکی از آن‌ها می‌توان استفاده کرد}=2{‫۲ سیم‌کارت در این دستگاه دردسترس است، اما هربار فقط از یکی از آن‌ها می‌توان استفاده کرد}one{‫# سیم‌کارت در این دستگاه دردسترس است، اما هربار فقط از یکی از آن‌ها می‌توان استفاده کرد}other{‫# سیم‌کارت در این دستگاه دردسترس است، اما هربار فقط از یکی از آن‌ها می‌توان استفاده کرد}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"درحال روشن کردن<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"فعلاً نمی‌توان این سیم‌کارت را روشن کرد"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"از <xliff:g id="CARRIER_NAME">%1$s</xliff:g> استفاده شود؟"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> برای داده تلفن همراه، تماس تلفنی، و پیامک استفاده می‌شود."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"هیچ سیم‌کارت فعالی وجود ندارد"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"برای استفاده از داده تلفن همراه، ویژگی‌های تماس تلفنی، و بعدتر پیامک، به تنظیمات شبکه‌تان بروید"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"سیم‌کارت"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"این سیم‌کارت داخلی پاک شود؟"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"با پاک‌سازی این سیم‌کارت، سرویس <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> از این دستگاه برداشته می‌شود.\n\nسرویس مربوط به <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> لغو نمی‌شود."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"با این کار، سرویس <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> از این دستگاه برداشته می‌شود، اما طرح <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> لغو نخواهد شد."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"پاک‌سازی"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"درحال پاک‌سازی سیم‌کارت…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"سیم‌کارت پاک‌سازی نشد"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"به‌دلیل بروز خطا، این سیم‌کارت پاک‌سازی نشد.\n\nدستگاه را بازراه‌اندازی کنید و دوباره امتحان کنید."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"درحال پاک کردن سیم‌کارت داخلی…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"سیم‌کارت داخلی پاک نشد"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"مشکلی پیش آمد و این سیم‌کارت داخلی پاک‌سازی نشد.\n\nدستگاه را بازراه‌اندازی کنید و دوباره امتحان کنید."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"اتصال به دستگاه"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏برنامه <xliff:g id="APPNAME">%1$s</xliff:g> برای اتصال به دستگاهتان می‌خواهد از شبکه Wi-Fi موقت استفاده کند"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"دستگاهی پیدا نشد. مطمئن شوید دستگاه‌ها روشن و برای اتصال دردسترس هستند."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"تماس‌های اضطراری"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"‏شرکت مخابراتی شما از تماس‌های اضطراری با استفاده از «تماس ازطریق Wi‑Fi» پشتیبانی نمی‌کند. \nدستگاه برای برقراری یک تماس اضطراری، به‌طور خودکار به یک شبکه تلفن همراه جابه‌جا می‌شود.\nتماس‌های اضطراری فقط در مناطق دارای پوشش تلفن همراه امکان‌پذیر هستند."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"‏برای بهبود کیفیت تماس‌ها، از Wi‑Fi استفاده کنید"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"تماس پشتیبان"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"اگر <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> دردسترس نیست یا درحال فراگردی است، از سیم‌کارت داده تلفن همراهتان برای تماس‌های <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> استفاده کنید."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"تماس پشتیبان"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"پیام فراپیام ورودی"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"پیام فراپیام ارسال نشد"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"برای مجاز کردن ارسال پیام فراپیام در <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> وقتی داده تلفن همراه خاموش است، ضربه بزنید"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"اطلاعات خط‌مشی کار شما"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"تنظیمات مدیریت‌شده توسط سرپرست فناوری اطلاعات شما"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"‏واحد پردازش گرافیکی (GPU)"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"راه‌اندازی با اندازه صفحه ۱۶ کیلو"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"راه‌اندازی با هسته دارای پشتیبانی صفحه ۱۶ کیلو"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"با هسته سازگار صفحه ۱۶ کیلوبایتی بازراه‌اندازی شود؟"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"هشدار: ممکن است برخی‌از برنامه‌ها با این حالت سازگار نباشند. دستگاه پس‌از تأیید، بازراه‌اندازی خواهد شد."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"با هسته سازگار صفحه ۴ کیلوبایتی بازراه‌اندازی شود؟"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"دستگاه پس‌از تأیید، بازراه‌اندازی خواهد شد."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"ارتقا هسته به هسته سازگار با صفحه ۱۶ کیلوبایتی انجام نشد."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"اعمال تغییرات"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"کنترل‌کننده گزارش اشکال"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"تعیین می‌کند کدام برنامه میان‌بر «گزارش اشکال» را در دستگاه کنترل کند."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"شخصی"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"مجاز کردن برنامه‌هایی که برای همپوشانی صفحه‌های «تنظیمات» می‌توانند روی برنامه‌های دیگر نمایش داده شوند"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"‏مجاز کردن Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"‏به این دستگاه اجازه داده می‌شود سرویس Mock Modem را برای آزمایش ابزارگری اجرا کند. این تنظیم را درحین استفاده عادی تلفن فعال نکنید"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"غیرفعال کردن محافظ‌های هم‌رسانی صفحه‌نمایش"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"محافظ‌های اعلان و برنامه کاربردی سیستم را درطول هم‌رسانی صفحه‌نمایش غیرفعال می‌کند"</string>
     <string name="media_controls_title" msgid="403271085636252597">"رسانه"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"سنجاق کردن پخش‌کننده رسانه"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"برای ازسر گرفتن سریع بازپخش، پخش‌کننده رسانه در «تنظیمات فوری» باز می‌ماند"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"نمایش رسانه در صفحه قفل"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"برای ازسر گرفتن سریع بازپخش، پخش‌کننده رسانه در صفحه قفل باز می‌ماند"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"نمایش توصیه‌های رسانه"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"نمایش رسانه‌های توصیه‌شده «دستیار»"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"براساس فعالیت شما"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"پنهان کردن پخش‌کننده"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"نمایش دادن پخش‌کننده"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"رسانه‌"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"مجاز کردن افزونه‌های نرم‌افزار دوربین"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"پیاده‌سازی نرم‌افزار پیش‌فرض مرتبط با ویژگی‌های پیشرفته دوربین را (مثل فیلمبرداری بدون نیاز به نگاه کردن) فعال می‌کند."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"بلوتوث روشن می‌شود"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"اینترنت"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"سیم‌کارت‌ها"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"سیم‌کارت"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"سیم‌کارت داخلی"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"سیم‌کارت‌های داخلی"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"فعال"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"غیرفعال"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"روشن"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"خاموش"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / پیش‌فرض برای <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"تماس‌ها"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"پیامک"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"صدای رسانه‌های سازگار فراگیرتر می‌شود"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ردیابی سر"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"با حرکت سرتان، صدا تغییر می‌کند تا طبیعی‌تر شنیده شود"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"همگام‌سازی اجازه‌ها"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"به <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> همان اجازه‌های برنامه‌ای داده می‌شود که به <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> داده‌اید"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"همگام‌سازی اجازه‌ها از تلفن"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"به ساعتتان همان اجازه‌های برنامه‌ای را بدهید که به این تلفن داده‌اید"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"نوع دستگاه صوتی"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"نامشخص"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"بلندگو"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"متوسط"</string>
     <string name="contrast_high" msgid="3988567609694797696">"بالا"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"این برنامه فقط در ۱ پنجره می‌تواند باز شود"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"روشن"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"خاموش"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"خاموش"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"خاموش"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"روشن"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"خاموش"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"روشن"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"خاموش"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"صفحه‌های روشن را تیره و صفحه‌های تیره را روشن می‌کند"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"زوم‌پیش کردن در صفحه"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"خاموش"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"خاموش"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"اسکن برای یافتن برنامه‌های گمراه‌کننده"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"بررسی فعالیت برنامه ازنظر رمزگیری"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"استفاده از «اسکن برای یافتن برنامه‌های گمراه‌کننده»"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"استفاده از «اسکن برای یافتن برنامه‌های گمراه‌کننده در نمایه کاری»"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"گذرواژه اکنون تنظیم شد"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"نمایش اشاره‌گر هنگام نگه داشتن"</string>
 </resources>
diff --git a/res/values-fi/arrays.xml b/res/values-fi/arrays.xml
index a1707fe..e68580b 100644
--- a/res/values-fi/arrays.xml
+++ b/res/values-fi/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Käytettävissä"</item>
     <item msgid="6096962300722555553">"Katvealueella"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Ei käytössä"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast ja Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Käytä järjestelmän oletusasetusta: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 minuutin kuluttua"</item>
     <item msgid="1574040255478150028">"5 minuutin kuluttua"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-fi/strings.xml b/res/values-fi/strings.xml
index c16cb0c..b82fa5b 100644
--- a/res/values-fi/strings.xml
+++ b/res/values-fi/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Olet nyt kehittäjä!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Ei tarvitse klikata, olet jo kehittäjä."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Ota kehittäjäasetukset ensin käyttöön."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Vain järjestelmänvalvojilla on pääsy kehittäjäasetuksiin."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Järjestelmä"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Kuuluvuusalueella"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Katvealueella"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Etunäyttö menee päälle, kun taitat laitteen"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Vain pelit, videot ym."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Etunäyttö menee päälle, kun käytössä on sovellus, joka estää näyttöä siirtymästä epäaktiiviseen tilaan"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Jatka pyyhkäisemällä ylös"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Taita puhelin ja pyyhkäise ylös etunäytöllä jatkaaksesi sovelluksen käyttöä tai odota muutama sekunti, kunnes näyttö lukittuu"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Ei koskaan"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Etunäyttö lukittuu, kun taitat laitteen"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Käytä automaattista kääntöä"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Samankaltaisia"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Soittoääni ja hälytykset"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio puheluiden aikana"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Ilmoitukset ja muut äänet"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Median ja järjestelmän äänet"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Ilmoitukset"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Yksittäiset sovellukset määrittävät äänen ulostulon oletuksena"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Nimetön Bluetooth-laite"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Haetaan"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Peru"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Poista Bluetooth LE audio käytöstä"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Poistaa Bluetooth LE ‑audio-ominaisuuden käytöstä, jos laite tukee LE-audiolaitteistoja"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio ‑tila"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Näytä LE Audio ‑valitsin laitetiedoissa"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Ota Bluetooth LE -audion sallittujen lista käyttöön"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Ota Bluetooth LE -audion sallittujen lista käyttöön"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ohita Bluetooth LE Audio ‑sallitut"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Käytä oletuksena LE Audiota, vaikka LE Audio ‑lisälaitteen ei olisi vahvistettu täyttävän sallitut-listan kriteerejä."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medialaitteet"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Soittolaitteet"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Muut laitteet"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Tallennetut laitteet"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Liitetty tiliin"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Käytetty viimeksi tilillä"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth käynnistetään parinmuodostusta varten"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Yhteysasetukset"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Aiemmin liitetyt"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth käytössä"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Näytä kaikki"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Näytä kaikki"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Näyttökynä"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Näyttökynäpainikkeen painallus"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (työprofiili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Kirjoittaminen tekstikenttiin"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ohita kaikki näyttökynäpainikkeen painallukset"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Näyttökynä"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audion jakaminen"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audion jakaminen"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Puhelut ja hälytykset"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Yhdistä audostriimiin QR-koodilla"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Audiostriimejä ei löytynyt lähistöltä."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Päivämäärä ja aika"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Välityspalvelin"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Tyhjennä"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Lisätäänkö %s ensisijaisiin kieliin?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Tämä kertoo sovelluksille ja verkkosivustoille, että tämä on yksi ensisijaisista kielistä."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Laitteen asetukset ja alueelliset valinnat muuttuvat."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Muuta"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ei ole saatavilla"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Lauantai"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Jos sovellus ei tue alueellisia valintoja, se käyttää oletusarvoista kieli- ja maa-asetusta."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Lue lisää kieliasetuksista."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Lisäasetukset"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Kieliopillisen suvun valitsin"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Valitse, miten haluat itseäsi puhuteltavan"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Sovellukset voivat personoida sitä, miten ne puhuttelevat sinua, valitsemasi kieliopillisen suvun perusteella"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Ei määritetty"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminiini"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maskuliini"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutraali"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Poistetaanko valittu kieli?}other{Poistetaanko valitut kielet?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Teksti näytetään toisella kielellä."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Kaikkia kieliä ei voi poistaa"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Sijainti"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Käytä sijaintia"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Pois päältä"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Päällä – # sovelluksella on pääsyoikeus sijaintiin}other{Päällä – # sovelluksella on pääsyoikeus sijaintiin}}"</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_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="5329024810729665156">"Lue lisää sijaintiasetuksista."</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="3574930966097093550">"Pääsy sijaintiin: Asetukset &gt; Tietosuoja ja yksityisyys &gt; Yksityisyysasetukset"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Tilit"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Suojaus"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Salaus ja kirjautumistiedot"</string>
@@ -274,7 +300,7 @@
     <string name="safety_center_summary" msgid="3554867379951053869">"Sovellusten turvallisuus, laitteen lukitus, luvat"</string>
     <string name="security_settings_face_preference_summary" msgid="6675126437396914838">"Kasvot lisätty"</string>
     <string name="security_settings_face_preference_summary_none" msgid="523320857738436024">"Edellyttää käyttöönottoa"</string>
-    <string name="security_settings_face_preference_title" msgid="2126625155005348417">"Kasvojentunnistus- avaus"</string>
+    <string name="security_settings_face_preference_title" msgid="2126625155005348417">"Kasvojentunnistusavaus"</string>
     <string name="security_settings_face_profile_preference_title" msgid="7519527436266375005">"Kasvojentunnistusavaus työkäyttöön"</string>
     <string name="security_settings_face_enroll_education_title" msgid="6448806884597691208">"Kasvojentunnistusavauksen käyttöönotto"</string>
     <string name="security_settings_face_enroll_education_title_accessibility" msgid="3701874093226957891">"Ota kasvojentunnistusavaus käyttöön"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Saat parhaan lopputuloksen käyttämällä Made For Google ‑sertifioitua näytönsuojusta. Lapsesi sormenjälki ei välttämättä toimi muiden näytönsuojusten kanssa."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Kellon avaus"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Otettuasi kasvojentunnistus- ja sormenjälkiavauksen käyttöön puhelimesi pyytää sormenjälkeäsi, kun käytät maskia tai olet pimeässä ympäristössä.\n\nVoit avata lukituksen kellolla, jos kasvojasi tai sormenjälkeäsi ei tunnisteta."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Voit avata lukituksen kellolla, jos sormenjälkeäsi ei tunnisteta."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Voit avata lukituksen kellolla, jos kasvojasi ei tunnisteta."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Otettuasi kasvojentunnistus- ja sormenjälkiavauksen käyttöön puhelimesi pyytää sormenjälkeäsi, kun käytät maskia tai olet pimeässä ympäristössä.\n\nKellon avaus on kätevä tapa avata puhelin, esimerkiksi jos sormesi ovat kastuneet tai kasvojen tunnistus ei onnistu."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Kellon avaus on kätevä tapa avata puhelin, esimerkiksi jos sormenjäljen tunnistus ei onnistu."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Kellon avaus on kätevä tapa avata puhelin, esimerkiksi jos kasvojen tunnistus ei onnistu."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Käytä sormenjälkeä tai kelloa:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Käytä kasvoja tai kelloa:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Käytä kasvoja, sormenjälkeä tai kelloa:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Kellon avaus on kätevä tapa avata puhelin, esimerkiksi jos sormesi ovat kastuneet tai kasvojen tunnistus ei onnistu.\n\nVoit käyttää kelloa puhelimen avaamiseen näin:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ei nyt"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Jatka"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Lisää"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Näin se toimii"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Kellon on oltava avattuna, ranteessa ja lähellä tätä puhelinta. Sinun ei tarvitse avata kellon lukitusta uudelleen, kun se on ranteessasi."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kun puhelimen lukitus avataan, saat siitä ilmoituksen kelloon. Jos puhelin avattiin vahingossa, voit lukita puhelimen uudelleen napauttamalla ilmoitusta."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Hallitset tiliäsi itse"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Voit poistaa kellon avauksen milloin tahansa asetuksista"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Napauta ilmoitusta"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Pyyhkäise ylös lukitusnäytöllä"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Valitse kellosi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Käytettävissä olevat kellot"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Peruuta"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Vahvista"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Valmista!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Voit nyt avata puhelimen lukituksen kellolla pyyhkäisemällä ylös lukitusnäytöltä tai napauttamalla ilmoitusta"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Valmis"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Kellon avaus"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Voit avata puhelimen lukituksen kellolla pyyhkäisemällä ylös lukitusnäytöltä tai napauttamalla ilmoitusta"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Voit käyttää kellon avausta, kun kello on avattuna, ranteessasi, lähellä sinua ja yhdistettynä puhelimeen. Jos yhteys keskeytyy, sinun pitää avata puhelimen lukitus ennen kuin voit käyttää kellon avausta.\n\nHyvä muistaa:\nVain yksi kello voi olla käytössä kerrallaan. Jos haluat lisätä uuden kellon, poista ensin nykyinen."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Suojaus"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Yksityisyys"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Työprofiili"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Yksityinen tila"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Pidä yksityiset sovellukset lukittuna ja piilossa"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Pidä yksityiset sovellukset erillisessä tilassa, jonka voit piilottaa tai lukita"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Yksityisen tilan lukitus"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Voit avata yksityisen tilan lukituksen samaan tapaan kuin avaat laitteen lukituksen tai voit valita eri lukon"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Käytä laitteen näytön lukitusta"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Kasvojentunnistus- ja sormenjälkiavaus"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Sormenjälkiavaus"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Kasvojentunnistusavaus"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ota käyttöön napauttamalla"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Sormenjälkiavaus yksityiselle tilalle"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Kasvojentunnistusavaus yksityiselle tilalle"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Tapoja avata lukitus"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama kuin laitteen näytön lukitus"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Valitaanko yksityiselle tilalle uusi lukitus?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lukitse yksityinen tila automaattisesti"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Voit lukita yksityisen tilan automaattisesti, jos et ole käyttänyt laitettasi hetkeen"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Aina kun laite lukittuu"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 minuutin toimettomuuden jälkeen"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Ei koskaan"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Piilottaminen lukittuna"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Yksityisen tilan piilottaminen, kun se on lukittuna"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Piilota yksityinen tila laitteellasi piilottamalla se sovelluslistalta"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Pääsy yksityiseen tilaan, kun se on piilotettuna"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Kirjoita sovelluslistan hakukenttään \"yksityinen tila\""</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Napauta yksityinen tila ‑laattaa"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Avaa yksityisen tilan lukitus"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Pois päältä"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Päällä"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Järjestelmä"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Poista yksityinen tila"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Poistetaanko yksityinen tila?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Yksityinen tila poistetaan laitteelta. Kaikki yksityiset sovellukset ja tiedot poistetaan. Toimintoa ei voi kumota."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Seuraavat tilit kirjataan poistetaan yksityisestä tilasta:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Poista"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Poistetaan yksityistä tilaa…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Tässä menee hetki"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Yksityinen tila poistettu"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Yksityistä tilaa ei voitu poistaa"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Yksityinen tila avattiin"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Näytön lukituksen asettaminen"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Jos haluat käyttää yksityistä tilaa, aseta laitteelle näytön lukitus"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Aseta näytön lukitus"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Peruuta"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Peruuta"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Ota käyttöön"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Yksityisen tilan käyttöönotto"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Pidä yksityiset sovellukset erillisessä tilassa, jonka voit piilottaa tai lukita"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Näin se toimii"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Saat pääsyn yksityiseen tilaan sovelluslistan alareunasta"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Yksityisen tilan sovelluksia suojataan lukolla"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Ilmoitukset yksityisen tilan sovelluksista ovat piilotettuina, kun se on lukittu"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Yksityisen tilan sovellukset eivät näy lupienhallinnassa, yksityisyydenhallintapaneelissa tai muissa asetuksissa, kun yksityinen tila on lukittuna.\n\nYksityistä tilaa ei voi siirtää toiseen laitteeseen. Sinun täytyy ottaa käyttöön uusi yksityinen tila, jos haluat käyttää sitä toisella laitteella.\n\nKuka tahansa, joka yhdistää laitteesi tietokoneeseen tai asentaa laitteelle haitallisia sovelluksia, voi saada pääsyn yksityiseen tilaan."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Yksityistä tilaa otetaan käyttöön…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Ilmoitukset yksityisen tilan sovelluksista ovat piilotettuina, kun se on lukittu"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Avaa yksityinen tila kuvien ja tiedostojen jakamista varten"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Jotkin sovellukset on jo asennettu yksityiseen tilaan"</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_lockscreen_title" msgid="6034864097861137509">"Käytetäänkö avaamiseen näytön lukitusta?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Voit avata yksityisen tilan lukituksen samaan tapaan kuin avaat laitteen lukituksen tai voit valita eri lukon"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Käytä näytön lukitusta"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Valitse uusi lukko"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Valmista tuli!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Löydät yksityisen tilan siirtymällä sovelluslistaan ja vierittämällä alas"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Valmis"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Etsi yksityinen tila vierittämällä alas"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Kirjaudu sisään"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Kirjaudu tilillesi , jotta voit käyttää yksityistä tilaa"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ei nyt"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Jatka"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Yksityisen tilan lukitustavan valinta"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Voit avata yksityisen tilan lukituksen sormenjäljelläsi. Turvallisuussyistä tämä edellyttää, että valitset varalukitustavan."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Määritä PIN-koodi yksityiselle tilallesi"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Määritä salasana yksityiselle tilallesi"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Määritä kuvio yksityiselle tilallesi"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Voit lisätä korkeintaan <xliff:g id="COUNT">%d</xliff:g> sormenjälkeä"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Et voi lisätä useampia sormenjälkiä."</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Enempää sormenjälkiä ei voi lisätä."</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Kuvio"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-koodi"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Salasana"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Poistetaanko näytön lukitus?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Poistetaanko kaikki laitteen lukituksen avaamisvaihtoehdot?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Poistetaanko profiilin suojaus?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Kuvio suojaa puhelintasi, jos se katoaa tai varastetaan"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Kuvio suojaa puhelintasi, jos se katoaa tai varastetaan.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Tämä poistaa laitteelle tallennetun sormenjälkimallin. Kasvomalli poistetaan myös pysyvästi ja turvallisesti. Et voi käyttää kasvojasi tai sormenjälkeäsi sovelluksissa todentamiseen."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-koodi suojaa puhelintasi, jos se katoaa tai varastetaan"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Menetät tallennettua dataa, esimerkiksi PIN-koodin.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Lähimaksamiseen käytettävät kortit poistetaan.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lompakot ja muut lukituksen avaamista edellyttävät sovellukset eivät välttämättä toimi oikein."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-koodi suojaa puhelintasi, jos se katoaa tai varastetaan.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Tämä poistaa myös laitteelle tallennetun sormenjälkimallin. Et voi käyttää sormenjälkeäsi sovelluksissa todentamiseen."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Menetät tallennettua dataa, esimerkiksi PIN-koodin ja sormenjälkimallin.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Lähimaksamiseen käytettävät kortit poistetaan.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lompakot ja muut lukituksen avaamista edellyttävät sovellukset eivät välttämättä toimi oikein."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-koodi suojaa puhelintasi, jos se katoaa tai varastetaan.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Kasvomalli poistetaan myös pysyvästi ja turvallisesti. Et voi käyttää kasvojasi sovelluksissa todentamiseen."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Menetät tallennettua dataa, esimerkiksi PIN-koodin ja kasvomallin.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Lähimaksamiseen käytettävät kortit poistetaan.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lompakot ja muut lukituksen avaamista edellyttävät sovellukset eivät välttämättä toimi oikein."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-koodi suojaa puhelintasi, jos se katoaa tai varastetaan.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Tämä poistaa laitteelle tallennetun sormenjälkimallin. Kasvomalli poistetaan myös pysyvästi ja turvallisesti. Et voi käyttää kasvojasi tai sormenjälkeäsi sovelluksissa todentamiseen."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Menetät tallennettua dataa, esimerkiksi PIN-koodin, kasvo- ja sormenjälkimallin.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Lähimaksamiseen käytettävät kortit poistetaan.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lompakot ja muut lukituksen avaamista edellyttävät sovellukset eivät välttämättä toimi oikein."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Salasana suojaa puhelintasi, jos se katoaa tai varastetaan"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Salasana suojaa puhelintasi, jos se katoaa tai varastetaan.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Muodostetaanko laitepari laitteen <xliff:g id="DEVICE_NAME">%1$s</xliff:g> kanssa?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Lisää uusi jäsen aiemmin luotuun koordinoituun joukkoon"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Vahvista lisätäksesi äänilaitteen toisen osan"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-laiteparikoodi"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Kirjoita yhdistämiskoodi ja paina sitten Return tai Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-koodi sisältää kirjaimia tai symboleja"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Oltava 16 numeroa"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Saatat joutua syöttämään tämän PIN-koodin myös toiseen laitteeseen."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Saatat joutua syöttämään tämän koodin myös toiseen laitteeseen."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Vahvista laiteparin muodostus koordinoidun joukon kanssa"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Vahvista laiteparin muodostus äänilaitteen kanssa"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Anna pääsyoikeus yhteystietoihisi ja puheluhistoriaasi"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Salli myös pääsy yhteystietoihin ja soittohistoriaan"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Tietoja käytetään esimerkiksi puheluilmoituksiin"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Yhteyden muodostaminen laitteeseen <xliff:g id="DEVICE_NAME">%1$s</xliff:g> epäonnistui."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Saatavilla olevat laitteet"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Yhdistä"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Katkaise yhteys"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Muodosta laitepari ja yhdistä"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kun Bluetooth on käytössä, laite voi viestiä lähiympäristön Bluetooth-laitteiden kanssa."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kun Bluetooth on päällä, laite voi viestiä muiden lähellä olevien Bluetooth-laitteiden kanssa"</string>
     <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_scan_change" msgid="1744636222637390367">"Muuta"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Laitteen tiedot"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Salli ART vahvistaaksesi korjattavien sovellusten tavukoodi"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Näytä päivitysväli"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Näytä nykyisen näytön päivitysväli"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Näytä HDR-/SDR-suhde"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Näytä tämänhetkinen HDR-/SDR-suhde"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vaadi laitteen lukituksen avaamista NFC:n käyttämiseksi"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Lentokonetilassa"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Ilmoita julkisista verkoista"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Ilmoita, kun käytettävissä on laadukkaita julkisia verkkoja"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Salli WEP-verkot"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP on vanhempi tietoturvaprotokolla, joka on vähemmän turvallinen"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operaattori ei salli WEP-verkkoja, koska ne ovat vähemmän turvallisia"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Laita Wi-Fi päälle automaattisesti"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi laitetaan automaattisesti päälle, kun lähistöllä on kotiverkkosi tai muita laadukkaita tallennettuja verkkoja"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Ei käytettävissä, koska sijainti on poistettu käytöstä. Ota "<annotation id="link">"sijainti"</annotation>" käyttöön."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi-haku sallii sovellusten ja palvelujen hakea Wi‑Fi-verkkoja aina, vaikka Wi-Fi olisi pois käytöstä. Näin voidaan esimerkiksi kehittää sijaintiin perustuvia ominaisuuksia ja palveluja."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ota käyttöön"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi-Fi-haku on käytössä"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Tämä verkko käyttää vanhempaa tietoturvaprotokollaa, joka on vähemmän turvallinen"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> on estetty"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Tämä verkko käyttää vanhempaa WEP-tietoturvaprotokollaa, joka on vähemmän turvallinen. Jos haluat silti yhdistää siihen, voit sallia WEP-verkot."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operaattori ei salli yhteyden muodostamista tähän verkkoon, koska se käyttää vanhempaa tietoturvaprotokollaa, joka on vähemmän turvallinen"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Salli WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Sulje"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Lisäasetukset"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lisäasetusten avattava lista"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"laajenna"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Jatka Wi-Fi-yhteydellä"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Älä näytä uudelleen"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Yhdistä"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi on käytössä"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Yhdistetty verkkoon <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Yhdistetään: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Yhdistetään…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Yhteyden muodostaminen verkkoon epäonnistui."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Verkko ei ole kantoalueella"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Unohda"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Muokkaa"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Verkon unohtaminen epäonnistui."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Tallenna"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Verkon tallentaminen epäonnistui."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Peru"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobiilidata"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Ladataan"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Ladataan"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot-yhteys"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Yhteyden vahvuus"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Tallennetut verkot"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Ei salasanaa"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspotin nimi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspotin salasana"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP-taajuus"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Laita hotspot pois päältä automaattisesti"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kun laitteita ei ole yhdistettynä"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Laajenna yhteensopivuus"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Näytä valkotasapaino"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Jatka sovellusten käyttöä taitetussa tilassa"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Nostaa tietyn sisällön päivitysvälin automaattisesti 60 hertsistä <xliff:g id="ID_1">%1$s</xliff:g> hertsiin. Lisää akun käyttöä."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Älä rajoita pelien kuvanopeutta"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Poista kuvanopeuden rajoittaminen <xliff:g id="FRAME_RATE">%1$d</xliff:g> hertsiin pelien osalta."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Nostaa tietyn sisällön päivittymistiheyden automaattisesti <xliff:g id="ID_1">%1$d</xliff:g> hertsiin. Lisää akun käyttöä."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Pakota suurin mahdollinen päivitysväli"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Korkein päivitysväli parantaa kosketukseen vastaamista ja animaatioiden laatua. Lisää akun käyttöä."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Huomionäyttö"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Huomionäyttö näkee etukameralla, katsooko joku näyttöä. Ominaisuus toimii laitteella, eikä kuvia ikinä tallenneta tai lähetetä Googlelle."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Laita huomionäyttö päälle"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Pidä näyttö päällä, kun sitä katsotaan"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Jos näytön aikakatkaisulla on pitkä kesto, akkua kuluu enemmän."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera on lukittu"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kameran lukitus on avattava kasvojentunnistusta varten"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kameran lukitus on avattava huomionäyttöä varten"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI-koodi (sim-paikka <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI-koodi (sim-paikka <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ensisijainen)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Valitse tallennettu verkko nähdäksesi tämän"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI-koodi"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-versio"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Akun taso"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Yhteiskäyttö"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Yhteiskäytön asetukset"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satelliittiviestintä"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN:t"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Muokkaa tukiasemaa"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Lisää tukiasema"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ei asetettu"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ei valittu"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nimi"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN otettu käyttöön"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN poistettu käytöstä"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Verkon tyyppi"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Ei määritetty"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-tyyppi"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-arvo"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Poista APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Tallenna"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Peru"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Kopioi aiempi APN."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Nimi-kenttä ei voi olla tyhjä."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ei voi olla tyhjä."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-kentän arvon on oltava 3 numeroa."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-kentän arvon on oltava 2 tai 3 numeroa."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operaattori ei salli %s-tyyppisten APN:ien lisäämistä."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-kentän täytyy olla kelvollinen."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Palautetaan APN-oletusasetuksia"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Palauta oletukset"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN-oletusasetukset on palautettu."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Nollaa"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ja Wi-Fi on nollattu"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMien poistaminen"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Tämä ei peru liittymäsopimustasi. Jos haluat ladata korvaavia SIM-kortteja, ota yhteyttä operaattoriin."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Tämä ei peru mobiililiittymääsi. Jos haluat korvaavan SIM-kortin, ota yhteyttä operaattoriin."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Nollaa asetukset"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Nollataanko kaikki verkkoasetukset? Toimintoa ei voi kumota."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Nollataanko verkon kaikki asetukset ja poistetaanko eSIMit? Toimintoa ei voi kumota."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Nollataanko?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Tämä käyttäjä ei voi palauttaa verkon asetuksia."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Verkkoasetuksesi on nollattu."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-korttien tyhjennys ei onnistu"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMejä ei voi poistaa virheen vuoksi.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIMien poistaminen ei onnistu"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Jotain meni pieleen, eikä eSIMejä poistettu.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Poista data (tehdasasetuksiin)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Poista data (tehdasasetuksiin)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"musiikin"</li>\n<li>"valokuvat"</li>\n<li>"muun käyttäjädatan"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMit"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Tämä ei peru mobiilipalvelupakettiasi."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Kaikki henkilökohtaiset tietosi ja ladatut sovellukset poistetaan. Toimintoa ei voi kumota."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Kaikki henkilökohtaiset tietosi poistetaan, mukaan lukien ladatut sovellukset ja SIM-kortit. Toimintoa ei voi kumota."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Kaikki henkilökohtaiset tietosi poistetaan, mukaan lukien ladatut sovellukset ja eSIMit. Toimintoa ei voi kumota."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Poistetaanko kaikki data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Tämä käyttäjä ei voi palauttaa tehdasasetuksia"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Tyhjennetään"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetyhteyttä ei jaeta muille laitteille."</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Pois päältä"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Puhelimen käyttäminen modeemina"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Älä käytä Wi-Fi-hotspotia"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Jaa verkkoyhteys vain USB:n kautta"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Jaa verkkoyhteys vain Bluetoothin kautta"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Jaa verkkoyhteys vain Ethernetin kautta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Jaa verkkoyhteys USB:n ja Bluetoothin kautta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Jaa verkkoyhteys vain USB:n ja Ethernetin kautta"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Jaa verkkoyhteys vain Bluetoothin ja Ethernetin kautta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Jaa verkkoyhteys vain USB:n, Bluetoothin ja Ethernetin kautta"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Internetin jakaminen USB:n kautta"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Jaettu Bluetooth-yhteys"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernetin jakaminen"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Jaa internetyhteys muille laitteille Wi-Fin tai mobiilidatan avulla hotspotilla tai käyttämällä puhelinta modeemina. Sovellukset voivat myös luoda hotspotin ja jakaa sisältöä lähellä oleville laitteille."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ohjeet"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobiiliverkko"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobiilisopimus"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Tekstiviestisovellus"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vaihdetaanko tekstiviestisovellus?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Haluatko, että oletussovellus on <xliff:g id="NEW_APP">%1$s</xliff:g> eikä enää <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Vaihdetaanko Wi‑Fi Assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Hallinnoidaanko verkkoyhteyksiä sovelluksella <xliff:g id="NEW_APP">%1$s</xliff:g> sovelluksen <xliff:g id="CURRENT_APP">%2$s</xliff:g> sijaan?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Hallinnoidaanko verkkoyhteyksiä sovelluksella <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Tuntematon SIM-operaattori"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Ei tunnettua käyttäjien hallintasivustoa: <xliff:g id="OPERATOR">%1$s</xliff:g>"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Aseta SIM-kortti ja käynnistä uudelleen"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Muodosta yhteys internetiin"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Viimeisimmät sijaintipyynnöt"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Työprofiilin sijainti"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Sovellusten sijaintiluvat"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Poista käyttöoikeus"</string>
     <string name="controls_label" msgid="8671492254263626383">"Hallinta"</string>
     <string name="force_stop" msgid="2681771622136916280">"Pakota lopetus"</string>
+    <string name="archive" msgid="9074663845068632127">"Arkistoi"</string>
+    <string name="restore" msgid="7622486640713967157">"Palauta"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Palautetaan"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Palautetaan."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Palautetaan…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Palautetaan…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Yhteensä"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Sovelluksen koko"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Sovelluksen käyttämä USB-tallennustila"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Paketin koon laskeminen epäonnistui."</string>
     <string name="version_text" msgid="7628938665256107608">"versio <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Siirrä"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arkistointi epäonnistui"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> arkistoitu"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Palautus epäonnistui"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Palautetaan: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Toinen siirto on jo käynnissä."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ei tarpeeksi säilytystilaa."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Sovellusta ei ole olemassa."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Saatavilla oleva näyttönäppäimistö"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Ylläpidä näyttönäppäimistöjä"</string>
     <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="6922850403920596246">"Ota käyttöön toistuvien painallusten ohitus parantaaksesi fyysinen näppäimistön saavutettavuutta"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Hitaat näppäimet"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Ota Hitaat näppäimet käyttöön parantaaksesi fyysinen näppäimistön saavutettavuutta"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Päälle jäävät näppäimet"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Ota käyttöön päälle jäävät näppäimet parantaaksesi fyysinen näppäimistön saavutettavuutta"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Lisäasetukset: napauta kosketuslevyn oikeaa alareunaa"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Osoittimen nopeus"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Opettele kosketuslevyn eleitä"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Siirry aloitusnäytölle"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Pyyhkäise ylös 3 sormella mistä tahansa kosketuslevyllä"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Takaisin"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Lajittele käytön perusteella"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Lajittele viimeisimmät ensin"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Lajittele nimen perusteella"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Viimeinen käyttöaika"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Käytetty viimeksi"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ei koskaan"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Käyttöaika"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Saavutettavuus"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Saavutettavuusasetukset"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Suurenna kolmoisnapautuksella"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Suurenna pikanäppäimellä"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Suurenna pikanäppäimellä ja kolmoisnapautuksella."</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Tietoja: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Avaa saavutettavuuspainikkeella"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Avaa painamalla äänenvoimakkuuspainikkeita"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Avaa kolmoisnapauttamalla näyttöä"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Avaa napauttamalla näyttöä kahdesti kahdella sormella"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Avaa eleellä"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Käytä esteettömyyselettä"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Laita ominaisuus päälle napauttamalla näytön alareunassa olevaa esteettömyyspainiketta <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nVaihda ominaisuudesta toiseen painamalla esteettömyyspainiketta pitkään."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ota ominaisuus käyttöön napauttamalla näytöllä näkyvää saavutettavuuspainiketta."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Laita tämä ominaisuus päälle painamalla pitkään molempia äänenvoimakkuuspainikkeita."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Aloita tai lopeta suurennus kolmoisnapauttamalla missä vain näytöllä."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Aloita tai lopeta suurennus kaksoisnapauttamalla kahdella sormella missä tahansa näytöllä."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Laita ominaisuus päälle pyyhkäisemällä 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Laita ominaisuus päälle pyyhkäisemällä 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Laita esteettömyysominaisuus päälle pyyhkäisemällä 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Laita esteettömyysominaisuus päälle pyyhkäisemällä 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Painikkeen asetukset"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Painikkeen asetukset"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pikanäppäin: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Saavutettavuuspainike"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Esteettömyysele"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Paina äänenvoimakkuuspainikkeita pitkään"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"paina äänenvoimakkuuspainikkeita pitkään"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"kaksoisnapauta näyttöä kahdella 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="6863958573135995927">"kolmoisnapauta näyttöä"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Lue lisää esteettömyyspainikkeesta ja ‑eleestä"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Esteettömyyspainikkeen käyttö. Elettä ei voi käyttää kolmen painikkeen navigoinnissa."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Avaa saavutettavuusominaisuudet nopeasti"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Näin pääset alkuun"</b>\n"1. Siirry saavutettavuusasetuksiin\n2. Valitse ominaisuus ja napauta pikanäppäintä\n3. Valitse, haluatko saada pääsyn ominaisuuteen painikkeella vai eleellä"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Näin pääset alkuun"</b>\n"1. Siirry saavutettavuusasetuksiin\n2. Valitse ominaisuus ja napauta pikanäppäintä\n3. Valitse painike, jolla saat pääsyn ominaisuuteen"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Näin pääset alkuun&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Avaa saavutettavuusasetukset&lt;br/&gt; {1,number,integer}. Valitse ominaisuus ja napauta pikanäppäintä&lt;br/&gt; {2,number,integer}. Valitse, haluatko avata ominaisuuden painikkeella vai eleellä&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Näin pääset alkuun&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Avaa saavutettavuusasetukset&lt;br/&gt; {1,number,integer}. Valitse ominaisuus ja napauta pikanäppäintä&lt;br/&gt; {2,number,integer}. Valitse painike, jolla saat pääsyn ominaisuuteen&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Käytä painiketta tai elettä"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Sijainti"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Koko"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Puhelun katkaisu virtapainikkeella"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Suuri hiiren osoitin"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Voit muuttaa hiiren osoitinta helpommin huomattavaksi"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Tumma teema kaikissa sovelluksissa"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Koskee sovelluksia, joilla ei ole omaa tummaa teemaa. Voi aiheuttaa ongelmia joissakin sovelluksissa."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Poista animaatiot"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Vähennä näytöllä näkyvää liikettä"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monoaudio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Käytä värinää ja haptista palautetta"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Värinähälytys"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Median värinä"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Näppäimistön värinä"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Soittoäänen värinä"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Ilmoitusvärinä"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Kosketuspalaute"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Lopeta"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Peru"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Pysäytetäänkö <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Kun valitset <xliff:g id="STOP">%1$s</xliff:g>, <xliff:g id="SERVICE">%2$s</xliff:g> pysähtyy."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Pois"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Päällä"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Laitetaanko <xliff:g id="SERVICE">%1$s</xliff:g> pois päältä?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ei asennettuja palveluita"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Palvelua ei ole valittuna"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Ei kuvausta."</string>
     <string name="settings_button" msgid="2195468788019730377">"Asetukset"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"valonarkuus, fotofobia, tumma teema, migreeni, päänsärky, lukutila, yötila, vähennä kirkkautta, valkoinen piste"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Helppokäyttöisyys, helppo käyttää, apu, avustava"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"näkö, kuulo, sokea, kuuro, motoriikka, liikkuvuus, avustava, avustus, helppokäyttöisyys, helppo pääsy, käsi, ohje"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Ikkunan suurennus, heikko näkö, suurenna, muuta suuremmaksi"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Tekstitykset, videotekstitykset, Live Transcribe, huonokuuloinen, kuulon heikkeneminen, CART, puheesta tekstiksi, tekstitys"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"värikontrasti"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motoriikka, hiiri"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"kuulolaitteet, huonokuuloinen, kuulonmenetys, sisäkorvaimplantit, äänenvahvistuslaitteet, puheprosessori"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motoriikka, hiiri, ulkoinen hiiri, päähiiri, mukautuva hiiri, pyörätuoli, ohjainsauva"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"kuulolaitteet, huonokuuloinen, kuulon heikkeneminen, sisäkorvaimplantit, äänenvahvistuslaitteet, puheprosessorit, henkilökohtaiseen äänenvahvistukseen tarkoitetut tuotteet (PSAP)"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"huonokuuloinen, kuulon heikkeneminen, tekstitykset, kaukokirjoitin, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"kolme painiketta"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"liikkuvuus, motoriikka, iäkäs, niveltulehdus, aivoinfarkti, vapina, MS-tauti, CP-vamma, tärinä, rasitusvamma, käsi"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"viive, liikkuvuus, iäkäs"</string>
     <string name="print_settings" msgid="8519810615863882491">"Tulostus"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Pois päältä"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 tulostuspalvelu päällä}other{# tulostuspalvelua päällä}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> jäljellä"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> latausaikaa jäljellä"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Käyttöaika"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Aika taustalla"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Virta vähissä"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Salli sovelluksen toimia taustalla"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Rajoitetaanko toimintaa taustalla?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jos rajoitat sovelluksen toimintaa taustalla, se voi alkaa toimia virheellisesti."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Sovellusta ei voi rajoittaa, koska akun optimointi ei ole käytössä.\n\nOta optimointi käyttöön rajoittamista varten."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Rajaa akunkäyttöä"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Salli käyttö taustalla"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ota käyttöön reaaliaikaisille päivityksille, poista käytöstä akun säästämiseksi"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ei rajoituksia"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimoitu"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Rajoitettu"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Katso eniten kuluttavat sovellukset"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Lataus optimoitu akun suojaamiseksi"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Lataus optimoidaan, jotta akku kestäisi pidempään"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Lataus optimoitu akun suojaamiseksi"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Lataus optimoidaan laitteen ollessa telineessä, jotta akku kestäisi pidempään"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Lataus optimoitu akun suojaamiseksi"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Lataus optimoidaan laitteen ollessa telineessä, jotta akku kestäisi pidempään"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Ladataan täyteen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Akun suojaamiseksi lataus optimoidaan tabletin ollessa telineessä seuraavan kerran"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Lue lisää latauksen keskeyttämisestä"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Jatka lataamista"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Sisältää virtaa paljon kuluttavat taustatoiminnot"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Tämä sovellus voi käyttää akkua taustalla, joten akku saattaa loppua odotettua aiemmin."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Poista"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Peru"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Lataa akku täyteen"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Ongelma laturin kanssa"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Tarkista latauslisävaruste"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Lue lisää yhteensopimattomasta latauksesta"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Virranhallinta"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Hallinnoi sovelluksia automaattisesti"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"edellisen täyden latauksen jälkeen"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Järjestelmäsovellukset"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Poistetut sovellukset"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Muut"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Arvioitu jäljellä oleva aika"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Täyteen lataukseen"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Yhteensä: alle minuutti"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Taustalla: alle minuutti"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Käyttöaika: alle minuutti"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Alle minuutti"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Yhteensä: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Taustalla: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Käyttöaika: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"nyt"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Kaavio akun käytöstä"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Kaavio päiväkohtaisesta akun käytöstä"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Kaavio tuntikohtaisesta akun käytöstä"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Akun varaustaso prosentteina <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>–<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Akun käyttö edellisen täyden latauksen jälkeen"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Akun käyttö: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Käyttöaika edellisen täyden latauksen jälkeen"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Hätäpuhelun äänimerkki"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Aseta toiminta hätäpuhelun tapauksessa"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Varmuuskopiointi"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Päällä"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Ei päällä"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Varmuuskopiointi &amp; palautus"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Henkilökohtaiset tiedot"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Tietojen varmuuskopiointi"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobiilidata ja Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Henkilödatan aut. synkronointi"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Työdatan autom. synkronointi"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Yksityisen datan synkronointi"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Muuta jaksoa…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Tiedonsiirtojakson nollauspäivä (kk):"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Sovellukset eivät käyttäneet tiedonsiirtoa."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nimi"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tyyppi"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Palvelimen osoite"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-salaus (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-salaisuus"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-tunnus"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Esijaettu IPSec-avain"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-käyttäjävarmenne"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec-CA-varmenne"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-palvelinvarmenne"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Näytä lisäasetukset"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Nimipalveluhaun verkkotunnukset"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-palvelimet (esim. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Reititykset (esim. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Käyttäjätunnus"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Salasana"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Tallenna tilitiedot"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ei käytössä)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(älä vahvista palvelinta)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(palvelimelta saatu)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Tämä VPN-tyyppi ei voi ylläpitää yhteyttä kaikissa tilanteissa."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Aina käytössä oleva VPN-yhteys tukee vain numeromuotoisia palvelinosoitteita."</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Aina käytössä olevaa VPN-yhteyttä varten täytyy määrittää DNS-palvelin."</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Aina käytössä oleva VPN-yhteys edellyttää, että DNS-palvelimien osoitteet ovat numeromuodossa."</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Annetut tiedot eivät ole yhteensopivia aina käytössä olevan VPN-yhteyden kanssa."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Peru"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Hylkää"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Estä yhteydet, jotka eivät käytä VPN:ää"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vaaditaanko VPN-yhteyttä?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ei turvallinen. Päivitä IKEv2 VPN:ään"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Ei-tuettua VPN-yhteyttä ei voitu käynnistää."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Valitse VPN-profiili, johon muodostettu yhteys on aina käytössä. Verkkoliikenne sallitaan vain tämän VPN-yhteyden ollessa käytössä."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"-"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Aina käytössä oleva VPN edellyttää, että sekä palvelimella että DNS-palvelulla on IP-osoite."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER-hälytykset"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Vastaanota tiedotteita kaapatuista lapsista"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Toista"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Ota Call Manager käyttöön"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Anna palvelun hallinnoida puheluita."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Langattomat hätähälytykset"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Verkko-operaattorit"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Tukiasemien nimet"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-kortin tila"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-tila (SIM-paikka %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Muutettuja SIM-kortteja."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-kortti on vaihdettu"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Määritä koskettamalla."</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Kysy aina"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Valinta on pakollinen"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Viimeaikaiset sovellukset, oletussovellukset"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Työprofiilin sovelluksilla ei voi olla ilmoitusten käyttöoikeuksia."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Salasanat ja tilit"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Tallennetut salasanat, automaattinen täyttö, synkronoidut tilit"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Ehdotuksia sisäänkirjautumiseen ja automaattiseen täyttöön"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Oletussovellukset"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Kloonatut sovellukset"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Luo sovelluksesta toinen versio, jotta voit käyttää kahta tiliä yhtä aikaa."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"maksa, napauta, maksut"</string>
     <string name="keywords_backup" msgid="707735920706667685">"varmuuskopiointi, varmuuskopio"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ele"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"kasvot, avaaminen, todennus, kirjautuminen"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"kasvot, todennus, sisäänkirjautuminen, sormenjälki, biometriikka"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-versio, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tekstin koko, suurikokoinen teksti, suuri fontti, suuri teksti, heikko näkö, suurenna tekstiä, fontin suurentaja, fontin suurennus"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"aina päällä oleva näyttö, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tagi, lukija"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"näppäimistö, haptinen teknologia, värinä,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Äänenvoimakkuus, värinä, Älä häiritse"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Median äänenvoimakkuus"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Suoratoiston äänenvoimakkuus"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Käynnistysäänet"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Livetekstitys"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Tekstitä media automaattisesti"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Puhelimen kaiuttimet"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tabletin kaiuttimet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Laitteen kaiuttimet"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Langalliset kuulokkeet"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Yhteensopivan median audiosta tulee immersiivisempää"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Poissa päältä"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Näytä ilmoitusten koko sisältö"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Näytä arkaluontoinen sisältö, jos lukitus avattu"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Älä näytä ilmoituksia ollenkaan"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Miten haluat lukitusnäytön näkyvän?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Mitä haluat lukitusnäytön näyttävän?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lukitusnäyttö"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Näytä kaikki työilmoitussisältö"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Piilota arkaluontoinen työsisältö"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Viimeisimmät keskustelut poistettiin"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Keskustelu poistettu"</string>
     <string name="clear" msgid="5092178335409471100">"Tyhjennä"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Tyhjennä <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Tärkeät ja muokatut keskustelut näkyvät tässä"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Kun merkitset keskustelun tärkeäksi tai teet keskusteluihin muita muutoksia, ne näkyvät tässä. \n\nKeskusteluasetusten muuttaminen: \nAvaa ilmoitusalue vetämällä alas näytön yläreunasta ja kosketa keskustelua pitkään."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Pienennä"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Ilmoitusten hiljentäminen"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Käytä hiljentämistä kaikkiin ilmoituksiin"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Laske ilmoitusten äänenvoimakkutta vähitellen, kun saat paljon peräkkäisiä ilmoituksia samasta sovelluksesta"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Käytä hiljentämistä keskusteluihin"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Laske ilmoitusten äänenvoimakkutta vähitellen, kun saat paljon viestejä samasta keskustelusta lyhyen ajan sisällä"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Älä hiljennä ilmoituksia"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Älä koskaan laske ilmoitusten äänenvoimakkuutta siitä huolimatta, miten paljon perättäisiä ilmoituksia sovellus lähettää"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Värinä, kun lukitus auki"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Käytä värinää vain, kun näytön lukitus on avattu"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Käytä työprofiileissa"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Käytä henkilökohtaisen profiilin ilmoitusten hiljennysasetuksia työprofiilissa"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-avustinpalvelut"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Asennettuja sovelluksia ei ole pyydetty toimimaan VR-avustinpalveluina."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Sallitaanko VR-palveluiden käyttöoikeus palvelulle <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Ei käytössä"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Sovelluksen kiinnitys"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Sovelluksen kiinnityksellä voit pitää nykyisen sovelluksen näkyvissä, kunnes irrotat sen. Tällä ominaisuudella voi esimerkiksi antaa luotettavan kaverin pelata tiettyä peliä."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kun sovellus on kiinnitetty, sillä voi avata muita sovelluksia ja saada pääsyn henkilökohtaiseen dataan. \n\nSovelluksen kiinnitys: 	\n1. Laita sovelluksen kiinnitys päälle 	\n2. Avaa Viimeisimmät 	\n3. Valitse näytön yläreunasta sovelluksen kuvake ja sitten Kiinnitä"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kun sovellus on kiinnitetty, sillä voi avata muita sovelluksia ja saada pääsyn henkilökohtaiseen dataan. \n\nJos haluat jakaa laitteesi turvallisesti toisen henkilön kanssa, kokeile sen sijaan vieraskäyttäjää. \n\nSovelluksen kiinnitys: 	\n1. Laita sovelluksen kiinnitys päälle 	\n2. Avaa Viimeisimmät 	\n3. Valitse näytön yläreunasta sovelluksen kuvake ja sitten Kiinnitä"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kun sovellus on kiinnitetty, sillä voi avata muita sovelluksia ja saada pääsyn henkilökohtaiseen dataan. \n\nNäin voit kiinnittää sovelluksen: 	\n{0,number,integer}. Laita päälle sovelluksen kiinnitys 	\n{1,number,integer}. Avaa Viimeisimmät 	\n{2,number,integer}. Valitse näytön yläreunasta sovelluksen kuvake ja sitten Kiinnitä"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kun sovellus on kiinnitetty, sillä voi avata muita sovelluksia ja saada pääsyn henkilökohtaiseen dataan. \n\nJos haluat jakaa laitteesi turvallisesti toisen henkilön kanssa, kokeile sen sijaan vieraskäyttäjää. \n\nNäin voit kiinnittää sovelluksen: 	\n{0,number,integer}. Laita päälle sovelluksen kiinnitys 	\n{1,number,integer}. Avaa Viimeisimmät 	\n{2,number,integer}. Valitse näytön yläreunasta sovelluksen kuvake ja sitten Kiinnitä"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kun sovellus on kiinnitetty: \n\n• Henkilökohtaisiin tietoihin saattaa olla pääsy \n (esim. yhteystiedot ja sähköpostin sisältö) \n•		Kiinnitetty sovellus voi avata muita sovelluksia \n\nKäytä sovelluksen kiinnitystä vain ihmisten kanssa, joihin luotat."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pyydä lukituksenpoistokuviota ennen irrotusta"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pyydä PIN ennen irrotusta"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pyydä salasana ennen irrotusta"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lukitse laite irrotuksen aikana"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Vahvista SIM-kortin poisto"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Vahvista eSIMin poisto"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Vahvista henkilöllisyys ennen eSIMin poistamista"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Muistin lisäsuojauksen beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Muistin lisäsuojaus"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Käyttämättömien sovellusten asetukset"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Keskeytä sovellustoim. jos ei käytössä"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Poista käyttämättömät luvat ja väliaikaiset tiedostot ja pysäytä ilmoitukset"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Hallinnoi sovellusta, jos käyttämätön"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Poista käyttämättömät luvat ja väliaikaiset tiedostot, pysäytä ilmoitukset ja arkistoi sovellus"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Kaikki sovellukset"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Asennetut sovellukset"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Pikasovellukset"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Vapaana"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Sovellusten käyttämä muisti"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 sovellus käytti muistia tänä aikana: {time}}other{# sovellusta käytti muistia tänä aikana: {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Ota käyttöön muistin käytön profilointi"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Muistin käytön profilointiin tarvitaan lisää järjestelmän resursseja."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Muistin käytön profilointi poissa käytöstä"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Toistuvuus"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Enimmäiskäyttö"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Dataa ei ole käytetty"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Näkyminen muiden päällä"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Salli näyttäminen muiden sovellusten päällä"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Anna sovelluksen näkyä muiden avoimien sovellusten päällä. Tämä sovellus voi nähdä, mitä kohtaa napautat, ja muuttaa, mitä näytöllä näytetään."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Median ulostulon muuttaminen"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Salli sovelluksen muuttaa median ulostuloa"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Salli tämän sovelluksen päättää, mikä yhdistetty laite toistaa muiden sovellusten audion tai videon. Jos tämä on sallittua, sovellus näkee saatavilla olevat laitteet, esimerkiksi kuulokkeet ja kaiuttimet, ja voi päättää, millä tulolaitteella audio tai video striimataan."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Pääsy kaikkiin tiedostoihin"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Salli pääsy tiedostojen ylläpitoa varten"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Salli sovelluksen lukea, muokata ja poistaa kaikkia tiedostoja tällä laitteella ja yhdistetyillä tallennuslaitteilla. Jos sallit tämän, sovelluksella on pääsy tiedostoihin ilman, että sinulle ilmoitetaan asiasta erikseen."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Voi päästä kaikkiin tiedostoihin"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Puheaktivointisovellukset"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Salli puheaktivointi"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Puheaktivoinnilla voit laittaa hyväksyttyjä sovelluksia päälle ääniohjatusti. Sisäänrakennettu mukautuva tunnistus varmistaa, että datasi pysyy yksityisenä.\n\n"<a href="">"Lisätietoa suojatusta ja mukautuvasta tunnistuksesta"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Koko näytön ilmoitukset"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Salli sovelluksen lähettää koko näytön ilmoituksia"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Salli sovelluksen näyttää koko näytön ilmoituksia, kun laite on lukittu. Sovellukset voivat käyttää tällaisia ilmoituksia hälytyksistä, saapuvista puheluista tai muista tärkeistä asioista ilmoittamiseen."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Datavaroitus <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Dataraja <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Datavaroitus <xliff:g id="ID_1">^1</xliff:g> / Dataraja <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operaattorin mittaama datan määrä voi erota laitteen mittaustuloksesta."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ei sisällä operaattoriverkkojen käyttämää dataa"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> käytetty"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Aseta datankäyttövaroitus"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Päivitetty <xliff:g id="ID_1">^2</xliff:g> sitten"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> asensi päivityksen äsken"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Päivitetty äsken"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Näytä paketti"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Näytä tiedot"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Data Saver"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Rajoittamaton data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> käytti tavallista enemmän akkua taustalla"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> käytti enemmän akkua etualalla"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> käytti tavallista enemmän akkua etualalla"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akun käytön poikkeama"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Korkea akun käyttö"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Korkea akun käyttö taustalla"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Korkea akun käyttö etualalla"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Pika-asetusosiot kehittäjille"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Poista käytöstä adb-valtuutuksen aikakatkaisu"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Poista käytöstä adb-valtuutuksien automaattinen peruutus sellaisten järjestelmien kohdalta, jotka eivät ole yhdistäneet uudelleen oletusajassa (7 päivää) tai käyttäjän valitsemassa ajassa (vähintään 1 päivä)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-jäljitys"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Anturit pois päältä"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Työprofiilin asetukset"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Hae työhakemiston yhteystietoja henkilökohtaisista sovelluksista"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"järjestelmän navigointi, kahden painikkeen navigointi, kolmen painikkeen navigointi, eleillä navigointi, pyyhkäisy"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digiavustaja"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Käynnistä avustaja pyyhkäisemällä"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Käynnistä digiavustajasovellus pyyhkäisemällä alakulmasta ylöspäin."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Käynnistä digiavustajasovellus pyyhkäisemällä alakulmasta ylöspäin"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Käynnistä Assistant painamalla aloitusnäyttöpainiketta"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Käynnistä digiavustaja painamalla aloitusnäyttöpainiketta pitkään."</string>
     <string name="low_label" msgid="6525629096999711220">"Matala"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Automaattinen täyttö ‑palvelu"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Automaattisen täytön oletuspalvelu"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Salasanat"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Salasanat, avainkoodit ja datapalvelut"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Muut tarjoajat"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Haluamasi palvelu"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Lisäpalvelut"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# salasana}other{# salasanaa}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automaattinen, täyttö, automaattinen täyttö, salasana"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, avainkoodi, salasana"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automaattinen, täyttö, automaattinen täyttö, data, avainkoodi, salasana"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Muuta"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Avaa"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Mitään ei ole valittu"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Varmista, että luotat tähän sovellukseen&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; päättelee näytöllä olevien kohteiden perusteella, mitä voidaan täyttää automaattisesti."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Käytetäänkö &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;a?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; päättelee näytön näkymän perusteella, mitä voidaan täyttää automaattisesti. Uudet salasanat, avainkoodit ja muita tietoja tallennetaan tästä lähtien tänne."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Salasanat, avainkoodit ja datapalvelut"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Palveluntarjoaja&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Uudet salasanat, avainkoodit ja muut tiedot tallennetaan nyt tänne. &lt;xliff:g id=app_name example=Palveluntarjoaja&gt;%1$s&lt;/xliff:g&gt; voi päätellä näytön näkymän perusteella, mitä voidaan täyttää automaattisesti."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Ensisijainen palvelu salasanoille, avainkoodeille ja automaattiselle täytölle"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Laitetaanko %1$s pois päältä?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Laitetaanko tämä palvelu pois päältä?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Tallennettuja tietoja (esimerkiksi salasanoja, avainkoodeja ja maksutapoja) ei täytetä, kun kirjaudut sisään. Jos haluat käyttää tallennettuja tietoja, valitse salasana, avainkoodi tai datapalvelu."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Salasanat, avainkoodit ja autom. täyttö"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Laita kaikki palvelut pois päältä?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Salasanat, avainkoodit ja muut tiedot eivät ole saatavilla automaattista täyttöä varten kirjautuessasi sisään"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Vaihda haluamaksesi palveluksi: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Uudet salasanat, avainkoodit ja muut tiedot tallennetaan nyt tänne. &lt;xliff:g id=app_name example=Palveluntarjoaja&gt;%1$s&lt;/xliff:g&gt; voi päätellä näytön näkymän perusteella, mitä voidaan täyttää automaattisesti."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Käytetäänkö: %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Laita pois päältä"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Muuta"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Sinulla voi olla samaan aikaan vain viisi palvelua päällä"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Laita vähintään yksi palvelu pois päältä, jotta voit lisätä toisen"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s päättelee näytön kohteiden perusteella, mitä voidaan täyttää automaattisesti."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Salasanojen, avainkoodien ja datapalveluiden rajoitus"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Sinulla voi olla yhtä aikaa aktiivisena enintään viisi salasanaa, avainkoodia ja datapalvelua. Laita palvelu pois päältä, jos haluat lisätä uusia sellaisia."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Salasanojen, avainkoodien ja datapalveluiden rajoitus"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Sinulla voi olla yhtä aikaa aktiivisena enintään viisi salasanaa, avainkoodia ja datapalvelua. Laita palvelu pois päältä, jos haluat lisätä uusia sellaisia."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Laita pois päältä"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automaattinen täyttö"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Lokikirjaustaso"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Sovelluksen yhteensopivuusmuutoksia voi tehdä vain virheenkorjausta tukevissa sovelluksissa. Asenna virheenkorjausta tukeva sovellus ja yritä uudelleen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Toinen asetus vaikuttaa siihen."</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Tili"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d tiliä"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Laitteen nimi"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Perustiedot"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Lait ja muut säädökset"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Salli tämän sovelluksen käynnistyä, kun NFC-tagi skannataan.\nJos tämä lupa myönnetään, sovellus on saatavilla vaihtoehtona aina, kun tagi havaitaan."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Toista mediasisältöä:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Mistä <xliff:g id="LABEL">%s</xliff:g> kuuluu:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audiota toistetaan laitteella"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Tämä laite"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ei käytettävissä puhelujen aikana"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Vastaa puheluun:"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Mykistä"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Jos haluat ottaa ominaisuuden käyttöön, vaihda ensin virtavalikkoon \"Paina virtapainiketta pitkään\"."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Verkon tiedot"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Puhelimen sovellukset näkevät laitteesi nimen. 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="devices_title" msgid="649715719278562515">"Laitteet"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Valitse verkko"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Yhteys katkaistu"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nimi"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Väri (yhteensopivia sovelluksia varten)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Tallenna"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Käytä SIM-korttia"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Käytä tätä SIMiä"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Pois päältä"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Poista SIM-kortti, jos haluat poistaa sen käytöstä"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Aktivoi <xliff:g id="CARRIER">%1$s</xliff:g> napauttamalla"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Tyhjennä SIM-kortti"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Jos haluat laittaa SIM-kortin pois päältä, poista se"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Aktivoi SIM-kortti (<xliff:g id="CARRIER">%1$s</xliff:g>) napauttamalla"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Tyhjennä eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ensisijainen verkko"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Vaihda verkon käyttötilaa"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Ensisijainen verkko"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Kysy hinnasta operaattorilta."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Sovelluksen datan käyttö"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Virheellinen verkkotila <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ohita."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satelliittiviestintä"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Lähetä ja vastaanota tekstiviestejä satelliitin kautta. Sisältyy tiliin."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Lähetä ja vastaanota tekstiviestejä satelliitin kautta. Ei sisälly tiliin."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satelliittiviestintä"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Tietoa satelliittiviestinnästä"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Voit lähettää ja vastaanottaa tekstiviestejä satelliitin kautta osana ehdot täyttävää <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ‑tiliä"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ‑pakettisi"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satelliittiviestintä on osa tiliäsi"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelliittiviestintä ei sisälly tiliisi"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Lisää satelliittiviestintä"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Näin se toimii"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kun mobiiliverkko ei ole saatavilla"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Puhelimesi yhdistää satelliittiin automaattisesti. Yhteyden laatu on paras, kun pysyt ulkona avoimella paikalla."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Kun puhelin on yhdistänyt satelliittiin"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Voit lähettää tekstiviestin kenelle tahansa, mukaan lukien hätäkeskukselle. Puhelimesi yhdistää mobiiliverkkoon, kun se on mahdollista."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satelliittiviestintä saattaa kestää kauemmin ja se on saatavilla vain joillakin alueilla. Sää ja tietyt rakenteet voivat vaikuttaa satelliittiyhteyteen. Satelliitin kautta soittaminen ei ole saatavilla.\n\nTilin muutosten näkyminen Asetuksissa voi viedä jonkin aikaa. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> kertoo lisätietoja."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Tietoa satelliittiviestinnästä"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Tukiasemien nimet"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ei käytettävissä <xliff:g id="CARRIER">%1$s</xliff:g> ‑käytön aikana"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vaihdetaanko <xliff:g id="CARRIER_NAME">%1$s</xliff:g> käyttöön?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vaihdetaanko SIM-korttiin?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Valitaanko <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Vain yksi SIM-kortti voi olla kerrallaan aktiivinen.\n\nVanhaa palvelua (<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>) ei peruuteta, jos <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> otetaan käyttöön."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Vain yksi eSIM voi olla aktiivinen kerrallaan.\n\n<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ei peruunnu, vaikka <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> otetaan käyttöön."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Vain yksi SIM-kortti voi olla kerrallaan aktiivinen.\n\nVanhaa palvelua (<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>) ei peruuteta, jos vaihdat uuteen."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Vain yksi SIM-kortti voi olla käytössä kerrallaan.\n\n<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ei peruunnu, vaikka <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> otetaan käyttöön."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Vain yksi eSIM voi olla aktiivinen kerrallaan.\n\n<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ei peruunnu, vaikka <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> otetaan käyttöön."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Vain yksi SIM-kortti voi olla käytössä kerrallaan.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ei peruunnu, vaikka vaihtaisit operaattoria."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Voit käyttää kahta SIM-korttia yhtä aikaa. Jos haluat, että <xliff:g id="CARRIER_NAME">%1$s</xliff:g> otetaan käyttöön, laita toinen SIM-kortti pois päältä."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Vaihda: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Laita <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pois päältä"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM-kortin laittaminen pois päältä ei peru palvelua"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Yhdistetään verkkoon…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Otetaan <xliff:g id="CARRIER_NAME">%1$s</xliff:g> käyttöön puheluja ja viestejä varten…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operaattoria ei voi vaihtaa"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operaattorin vaihto ei onnistu virheen takia."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktivoidaan SIM-korttia…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> otetaan käyttöön…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM-korttia ei voi vaihtaa"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Jotain meni pieleen. SIM-korttia ei voi vaihtaa."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Laitetaanko <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pois päältä?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Laitetaanko SIM-kortti pois päältä?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Laitetaan SIM-korttia pois päältä<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operaattoria ei voi poistaa käytöstä"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Jotain meni pieleen. Operaattoria ei voitu poistaa käytöstä."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM-korttia ei voi laittaa pois päältä"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Jotain meni pieleen, eikä SIM-korttia voitu laittaa pois päältä."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Käytetäänkö kahta SIM-korttia?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Tällä laitteella voi olla kaksi aktiivista SIM-korttia yhtä aikaa. Jos haluat edelleen käyttää yhtä kerrallaan, valitse Ei kiitos."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Käynnistetäänkö laite uudelleen?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ei kiitos"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Peru"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Vaihda"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Laita pois päältä"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-korttia ei voi aktivoida"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Kokeile kytkeä SIM-kortti päälle uudelleen. Jos ongelma ei ratkea, käynnistä laite uudelleen."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Ota SIM käyttöön"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Aseta mobiiliverkkovalinnat käyttämään useita SIMejä tällä laitteella"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Lisää SIMeille tunnisteet"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Näet nämä tunnisteet, kun soitat puheluita, lähetät tekstiviestejä ja käytät dataa, sekä Asetuksissa"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIMin tunniste"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Tunniste"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Valitse mitä SIMiä käytetään"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Voit käyttää kahta SIMiä yhtä aikaa"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Aseta ensisijaiset SIMit"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Valitse mitä SIMejä käytetään oletuksena puheluihin, tekstiviesteihin ja dataan"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Ensisijaiset SIMit"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Puhelut"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Tekstiviestit"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automaattinen datan vaihto"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Käytä kumman tahansa SIMin dataa kattavuudesta ja saatavuudesta riippuen"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Vain data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Ota käyttöön"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Seuraava"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Laitetaan <xliff:g id="CARRIER_NAME">%1$s</xliff:g> päälle…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobiiliverkko"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Puhelinnumero"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIMin tunniste ja väri"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Verkon aktivointi"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operaattorin vaihto"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> on aktiivinen"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-kortti (<xliff:g id="CARRIER_NAME">%1$s</xliff:g>) on aktiivinen"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Päivitä SIM‑asetukset napauttamalla"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> otettiin käyttöön"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Toinen operaattori otettiin käyttöön"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobiiliverkkosi on vaihdettu"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Ota käyttöön toinen SIM-kortti"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Valitse aktiivinen SIM-kortti tai käytä kahta yhtä aikaa"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Valitse käytettävä numero"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 numero on saatavilla laitteella, mutta vain yhtä voidaan käyttää kerrallaan}=2{2 numeroa on saatavilla laitteella, mutta vain yhtä voidaan käyttää kerrallaan}other{# numeroa on saatavilla laitteella, mutta vain yhtä voidaan käyttää kerrallaan}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktivoidaan<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Aktivointi ei onnistunut juuri nyt"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Valitse käytettävä SIM-kortti"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Laitteella on saatavilla 1 SIM-kortti, mutta vain yhtä voidaan käyttää kerrallaan}=2{Laitteella on saatavilla 2 SIM-korttia, mutta vain yhtä voidaan käyttää kerrallaan}other{Laitteella on saatavilla # SIM-korttia, mutta vain yhtä voidaan käyttää kerrallaan}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Laitetaan päälle<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Tätä SIM-korttia ei voi juuri nyt laittaa päälle"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Valitaanko <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> on mobiilidatan, puheluiden ja tekstiviestien operaattori."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Ei aktiivisia SIM-kortteja käytettävissä"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Siirry verkkoasetuksiin, jos haluat myöhemmin käyttää mobiilidataa, puheluominaisuuksia tai tekstiviestejä"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-kortti"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Poistetaanko tämä eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Tämän SIM-kortin tyhjentäminen poistaa palvelun (<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>) laitteelta.\n\nPalvelua (<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>) ei peruuteta."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> poistetaan laitteelta, mutta pakettia (<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>) ei peruta."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Tyhjennä"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Tyhjennetään SIM-korttia…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-korttia ei voi tyhjentää"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM-korttia ei voi tyhjentää virheen vuoksi.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Poistetaan eSIMiä…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIMin poistaminen ei onnistu"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Jotain meni pieleen, eikä eSIMiä poistettu.\n\nKäynnistä laite uudelleen ja yritä sitten uudelleen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Laitteeseen yhdistäminen"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> haluaa käyttää väliaikaista Wi-Fi-verkkoa laitteeseen yhdistämiseksi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Laitteita ei löytynyt. Varmista, että laitteet ovat päällä ja voivat muodostaa yhteyden."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Hätäpuhelut"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Operaattorisi ei tue hätäpuhelun soittamista Wi-Fi-puheluna.\nLaite vaihtaa automaattisesti mobiiliverkkoon soittaakseen hätäpuhelun.\nHätäpuheluja voi soittaa vain matkapuhelinverkon kantaman sisällä."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Soita puhelut Wi‑Fillä parantaaksesi laatua"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Puheluiden varavaihtoehto"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Jos <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ei ole käytettävissä tai roaming on käytössä, käytä SIM-kortin mobiilidataa <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ‑puheluihin."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"puheluiden varavaihtoehto"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Saapuva MMS-viesti"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS-viestiä ei voi lähettää"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Napauta, jos haluat sallia MMS-viestit (<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>), kun mobiilidata ei ole käytössä."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Työkäytäntötietosi"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT-järjestelmänvalvojan ylläpitämät asetukset"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafiikkasuoritin"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Käynnistä uudelleen 16 kt:lla"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Käynnistä laite uudelleen 16 kt:n ydintasolla"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Käynnistetäänkö uudelleen 16 kt:n sivukoon yhteensopivalla ydintasolla?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"VAROITUS: Jotkin sovellukset eivät ole yhteensopivia tämän tilan kanssa. Laite käynnistyy uudelleen vahvistuksen jälkeen."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Käynnistetäänkö uudelleen 4 kt:n sivukoon yhteensopivalla ydintasolla?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Laite käynnistyy uudelleen vahvistuksen jälkeen."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ydintason päivitys 16 kt:n sivukoon yhteensopivaan ydintasoon epäonnistui."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Otetaan muutos käyttöön"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Virheraportin käsittelijä"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Valitsee, mikä sovellus käsittelee laitteen virheraportti-pikanäppäintä."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Henkilökohtainen"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Anna sovellusten, jotka voivat näkyä muiden sovellusten päällä, peittää Asetukset-sovelluksen näytöt"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Salli esimerkkimodeemi"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Salli sovelluksen suorittaa esimerkkimodeemipalvelu instrumentointitestiä varten. Älä ota tätä käyttöön puhelimen normaalissa käytössä"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Poista näytön jakamisen suojat"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Poistaa käytöstä järjestelmän sovellus‑ ja ilmoitussuojat näytön jakamisen aikana"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Kiinnitä mediasoitin"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Mediasoitin pysyy auki pika-asetuksissa, jotta toistoa voi jatkaa nopeasti"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Näytä media lukitusnäytöllä"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Mediasoitin pysyy auki lukitusnäytöllä, jotta toistoa voi jatkaa nopeasti"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Näytä mediasuositukset"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Näytä Assistantin mediasuositukset"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Perustuu toimintaasi"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Piilota soitin"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Näytä soitin"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Salli kameraohjelmistolaajennukset"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Ottaa käyttöön kameran lisäominaisuuksien (esim. puheohjatun videokuvauksen) oletusohjelmistot"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth käynnistyy"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-kortit"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM-kortti"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMit"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiivinen"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Ei aktiivinen"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Päällä"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Pois päältä"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Oletus: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"puhelut"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"tekstiviestit"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Median audiosta tulee yhteensopivilla laitteilla immersiivisempää"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Pään liikkeiden seuranta"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio muuttuu pääsi liikkeen mukana kuulostaakseen luonnollisemmalta"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synkronointiluvat"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> saa samat sovellusluvat kuin <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Lupien synkronoiminen puhelimesta"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Myönnä kellolle samat sovellusluvat kuin tälle puhelimelle"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Äänilaitetyyppi"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Tuntematon"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Kaiutin"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Keskitaso"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Suuri"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Tämän sovelluksen voi avata vain yhdessä ikkunassa"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Päällä"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Pois päältä"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Pois päältä"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Pois päältä"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Päällä"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Pois päältä"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Päällä"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Pois päältä"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Muuttaa vaaleat näytöt tummiksi ja tummat vaaleiksi"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Lähennä näyttöä"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Pois päältä"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Pois päältä"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Tarkistetaan löytyykö petollisia sovelluksia"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Tarkista sovellustoiminta tietojenkalastelun osalta"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Käytä tarkistusta petollisten sovellusten havaitsemiseen"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Käytä tarkistusta petollisten työsovellusten havaitsemiseen"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Salasana on nyt otettu käyttöön"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Näytä osoitin kohdistettaessa"</string>
 </resources>
diff --git a/res/values-fr-rCA/arrays.xml b/res/values-fr-rCA/arrays.xml
index 185a9a6..63b1ded 100644
--- a/res/values-fr-rCA/arrays.xml
+++ b/res/values-fr-rCA/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponible"</item>
     <item msgid="6096962300722555553">"Hors de portée"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Utiliser les paramètres système par défaut : <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Après 1 minute"</item>
     <item msgid="1574040255478150028">"Après 5 minutes"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-fr-rCA/strings.xml b/res/values-fr-rCA/strings.xml
index 50fd109..9c816f9 100644
--- a/res/values-fr-rCA/strings.xml
+++ b/res/values-fr-rCA/strings.xml
@@ -28,6 +28,7 @@
     <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à un développeur."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Veuillez d\'abord activer les options pour les développeurs"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Seuls les utilisateurs administrateurs peuvent accéder aux paramètres pour développeurs."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Système"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hors service"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"L\'écran frontal s\'allume lorsque vous pliez votre appareil"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Seulement pour les jeux, les vidéos et plus"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"L\'écran frontal s\'allume pour les applications qui empêchent la mise en veille de votre écran"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Balayer vers le haut pour continuer"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Pliez votre téléphone et balayez l\'écran frontal vers le haut pour continuer à utiliser l\'application, ou attendez quelques secondes pour que l\'écran se verrouille"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Jamais"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"L\'écran frontal se verrouille lorsque vous pliez votre appareil"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Utiliser la rotation automatique"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Connexes"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Sonnerie et alarmes"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Sortie audio des appels"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimédia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notif. et autres sons du système"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons des médias et du système"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Par défaut, la sortie audio est définie par les différentes applications"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Appareil Bluetooth sans nom"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Recherche en cours…"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Annuler"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Désactiver le Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Désactive la fonctionnalité Bluetooth LE Audio si l\'appareil prend en charge les capacités matérielles LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Mode Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Afficher comm. LE Audio dans les détails"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Activer la liste d\'autorisation du Bluetooth LE audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Activez la fonctionnalité de liste d\'autorisation du Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Contourner la liste verte du Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Utiliser LE Audio par défaut même si le périphérique LE Audio n\'a pas été vérifié en fonction des critères de la liste verte."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Appareils de stockage multimédia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Appareils avec fonctionnalités d\'appel"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Autres appareils"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Appareils enregistrés"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associé au compte"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Utilisés précédemment avec ce compte"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Le Bluetooth s\'activera pour l\'association"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Préférences de connexion"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Connecté précedemment"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activé"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tout afficher"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Tout afficher"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylet"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Appui du bouton supérieur"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (profil professionnel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Écrire dans les champs de texte"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer toutes les pressions sur les boutons du stylet"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylet"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Partage du son"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partager le son"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Appels et alarmes"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connectez-vous à un flux audio à l\'aide d\'un code QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Aucun flux audio trouvé à proximité."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Date et heure"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Serveur mandataire"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Effacer"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque application, consultez les paramètres de langue de l\'application."</string>
     <string name="desc_locale_helper_footer_general" msgid="6112153921151780303">"En savoir plus sur les langues de l\'application"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sélectionner %s comme langue du système?"</string>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Ajouter %s aux langues préférées?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Cela permet aux applis et aux sites Web de savoir que vous préférez aussi cette langue."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Vos préférences régionales et les paramètres de votre appareil seront modifiés."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Modifier"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s non accessible"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Samedi"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si une application ne prend pas en charge les préférences régionales, elle utilisera ses paramètres régionaux par défaut."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Apprenez-en plus sur les préférences linguistiques."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Autres préférences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Termes d\'adresse"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Définissez comment vous souhaitez que l\'on s\'adresse à vous"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Les applications peuvent utiliser vos termes d\'adresse pour personnaliser la façon dont elles s\'adressent à vous."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Non précisé"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Féminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculin"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutre"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Retirer la langue sélectionnée?}one{Retirer la langue sélectionnée?}other{Retirer les langues sélectionnées?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Le texte s\'affichera dans une autre langue."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Impossible de supprimer toutes les langues"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Position"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utiliser ma position"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Désactivé"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Activée : # application a accès à la position}one{Activée : # application a accès à la position}other{Activée : # applications ont accès à la position}}"</string>
+    <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Activée / # d\'applications ayant accès à la position}one{Activée / # d\'applications ayant accès à la position}other{Activée / # d\'applications ayant 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 applications 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_location_off" msgid="8568995909147566720">"L\'accès à la position est désactivé pour les applications 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="5329024810729665156">"Apprenez-en plus à propos des paramètres de localisation."</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="3574930966097093550">"Position : Paramètres &gt; Sécurité et confidentialité &gt; Paramètres de confidentialité"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Comptes"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sécurité"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Chiffrement et authentifiants"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Pour obtenir des résultats optimaux, utilisez un protecteur d\'écran certifié Fait pour Google. Les empreintes digitales de votre enfant peuvent ne pas être reconnues avec d\'autres protecteurs d\'écran."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Déverrouillage à l\'aide d\'une montre"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Si vous configurez le Déverrouillage par reconnaissance faciale et le Déverrouillage par empreinte digitale, votre téléphone vous demandera votre empreinte digitale quand vous porterez un masque ou que vous vous trouverez dans un endroit sombre.\n\nVous pouvez déverrouiller votre téléphone à l\'aide de votre montre lorsque votre empreinte digitale ou votre visage ne sont pas reconnus."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Vous pouvez déverrouiller votre téléphone à l\'aide de votre montre lorsque votre empreinte digitale n\'est pas reconnue."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Vous pouvez déverrouiller votre téléphone à l\'aide de votre montre lorsque votre visage n\'est pas reconnu."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Lorsque vous configurez le Déverrouillage par reconnaissance faciale et le Déverrouillage par empreinte digitale, votre téléphone vous demandera votre empreinte digitale quand vous portez un masque ou quand vous êtes dans un endroit sombre.\n\nLe Déverrouillage à l\'aide d\'une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple, lorsque vos doigts sont mouillés ou que votre visage n\'est pas reconnu."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Le Déverrouillage à l\'aide d\'une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple, lorsque votre empreinte digitale n\'est pas reconnue."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Le Déverrouillage à l\'aide d\'une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple, lorsque votre visage n\'est pas reconnu."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Utiliser l\'empreinte digitale ou la montre pour"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Utiliser le visage ou la montre pour"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Utiliser le visage, l\'empreinte digitale ou la montre pour"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Le Déverrouillage à l\'aide d\'une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple, lorsque vos doigts sont mouillés ou que votre visage n\'est pas reconnu.\n\nVous pouvez utiliser votre montre pour déverrouiller ce téléphone lorsque vous :"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Plus tard"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Plus"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Fonctionnement"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Votre montre doit être déverrouillée, se trouver sur votre poignet et être à proximité de ce téléphone. Vous n\'avez toutefois pas à la déverrouiller de nouveau lorsqu\'elle se trouve sur votre poignet."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Lorsque ce téléphone est déverrouillé, vous recevrez une notification sur votre montre. Si le téléphone a été déverrouillé involontairement, touchez la notification pour le verrouiller à nouveau."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Vous êtes aux commandes"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Vous pouvez retirer votre montre du Déverrouillage à l\'aide d\'une montre à tout moment dans les paramètres"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Touchez une notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Balayez l\'écran de verrouillage vers le haut"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Choisir votre montre"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Montres proposées"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Annuler"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmer"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Vous êtes prêt!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Vous pouvez désormais utiliser votre montre pour déverrouiller votre téléphone lorsque vous balayez l\'écran de verrouillage vers le haut ou touchez une notification"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Terminé"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Déverrouillage à l\'aide d\'une montre"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Vous pouvez utiliser votre montre pour déverrouiller votre téléphone lorsque vous balayez l\'écran de verrouillage vers le haut ou touchez une notification"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Pour utiliser le Déverrouillage à l\'aide d\'une montre, celle-ci doit être déverrouillée, se trouver sur votre poignet, être à proximité et être connectée à ce téléphone. Si la connexion est interrompue, vous devrez déverrouiller le téléphone avant de pouvoir utiliser le Déverrouillage à l\'aide d\'une montre.\n\nGardez à l\'esprit :\nVous ne pouvez configurer qu\'une seule montre à la fois. Pour ajouter une autre montre, vous devez d\'abord retirer la montre actuelle."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Déverr. par reconn. faciale et empreinte digitale pour le travail"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Configuration requise"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sécurité"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Confidentialité"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profil professionnel"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espace privé"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Verrouiller et cacher les applications privées"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Conservez les applications privées dans un espace séparé que vous pouvez masquer ou verrouiller"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Verrouillage de l\'Espace privé"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Vous pouvez déverrouiller votre Espace privé de la même manière que votre appareil ou choisir un autre type de verrouillage"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Utiliser le verrouillage de l\'écran de l\'appareil"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Déverrouil. par reconnaissance faciale et empreinte digitale"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Déverrouillage par empreinte digitale"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Déverrouill. par reconnaissance faciale"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toucher pour configurer"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Déverrouillage par empreinte digitale pour l\'Espace privé"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Déverrouillage par reconnaissance faciale pour Espace privé"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Méthodes de déverrouillage"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Identique au verrouillage de l\'écran de l\'appareil"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Choisir un nouveau verrou pour l\'Espace privé?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Verrouiller automatiquement l\'Espace privé"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Vous pouvez verrouiller automatiquement votre Espace privé si vous n\'avez pas utilisé votre appareil pendant un certain temps"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Chaque fois que l\'appareil se verrouille"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Après cinq minutes d\'inactivité"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Jamais"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Masquer lorsque verrouillé"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Masquer l\'Espace privé lorsqu\'il est verrouillé"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Pour empêcher les autres personnes de savoir que vous avez un Espace privé, vous pouvez le masquer à partir de votre liste d\'applications"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Accéder à l\'Espace privé lorsqu\'il est masqué"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Liste d\'applis : entrez « Espace privé » dans barre de rech."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Touchez la tuile Espace privé"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Déverrouillez votre Espace privé"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Désactivé"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activé"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Système"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Supprimer l\'Espace privé"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Supprimer l\'Espace privé?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Votre Espace privé sera retiré de votre appareil. L\'ensemble des applications et des données privées seront supprimées. Vous ne pouvez pas annuler cette action."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Les comptes suivants seront retirés de votre Espace privé :"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Supprimer"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Suppression de l\'Espace privé en cours…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"L\'opération prendra quelques instants"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Espace privé supprimé"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Impossible de supprimer l\'Espace privé"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espace privé déverrouillé"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Définir Verrouillage d\'écran"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Réglez le Verrouillage de l\'écran pour utiliser votre Espace privé"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Définir Verrouillage d\'écran"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuler"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Annuler"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configuration"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configurer un Espace privé"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Conservez les applications privées dans un espace séparé que vous pouvez masquer ou verrouiller"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Fonctionnement"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Vous pouvez accéder à votre Espace privé en bas de votre liste d\'applications"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Les applis de votre Espace privé sont protégées par un verrou"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Les notifications des applications de votre Espace privé sont masquées lorsqu\'il est verrouillé"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Les applications de votre Espace privé ne figureront pas dans le gestionnaire des autorisations, dans le Tableau de bord de confidentialité ni dans d\'autres paramètres lorsque l\'Espace privé est verrouillé.\n\nVotre Espace privé ne peut pas être déplacé vers un nouvel appareil. Vous devrez créer un autre Espace privé si vous souhaitez l\'utiliser sur un autre appareil.\n\nToute personne qui connecte votre appareil à un ordinateur ou installe des applications nuisibles sur votre appareil peut être en mesure d\'accéder à votre Espace privé."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configuration de l\'Espace privé en cours…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Les notifications des applications de l\'Espace privé sont masquées lorsqu\'il est verrouillé"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Déverrouiller l\'Espace privé pour partager des photos ou des fichiers"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Certaines applications sont déjà installées dans votre 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_lockscreen_title" msgid="6034864097861137509">"Utiliser le verrouillage de l\'écran pour déverrouiller l\'Espace privé?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Vous pouvez déverrouiller votre Espace privé de la même manière que votre appareil ou choisir un autre type de verrouillage"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Utiliser le Verrouillage de l\'écran"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Sélectionner un nouveau verrouillage"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tout est prêt!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Pour accéder à votre Espace privé, accédez à votre liste d\'applications, puis faites défiler vers le bas"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Terminé"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Faites défiler l\'écran vers le bas pour trouver l\'Espace privé"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Se connecter"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Connectez-vous à un compte pour l\'utiliser avec votre Espace privé"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Pas maintenant"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuer"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Choisir un verrouillage pour votre Espace privé"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Vous pouvez déverrouiller votre Espace privé à l\'aide de votre empreinte digitale. Pour plus de sécurité, cette option exige un verrouillage secondaire."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Créer un NIP pour l\'Espace privé"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Créer un mot de passe pour Espace privé"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Créer un schéma pour l\'Espace privé"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal d\'empreintes digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter des empreintes digitales"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Schéma"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"NIP"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Mot de passe"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Supprimer le verrouillage de l\'écran?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Retirer tous les types de déverrouillage de l\'appareil?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Supprimer la protection du profil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Un schéma protège votre téléphone en cas de perte ou de vol"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Un schéma protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applications."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Un NIP protège votre téléphone en cas de perte ou de vol"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Vous perdrez des données enregistrées, comme votre NIP.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le Paiement sans contact seront retirées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Les portefeuilles et autres applications qui nécessitent le déverrouillage de l\'appareil peuvent ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Un NIP protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Cette fonctionnalité supprime également le modèle d\'empreinte digitale stocké sur votre appareil. Vous ne pourrez pas utiliser votre empreinte digitale pour vous authentifier dans les applications."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Vous perdrez des données enregistrées, comme votre NIP et votre modèle d\'empreinte digitale.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le Paiement sans contact seront retirées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Les portefeuilles et autres applications qui nécessitent le déverrouillage de l\'appareil peuvent ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Un NIP protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage pour vous authentifier dans les applications."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Vous perdrez des données enregistrées, comme votre NIP et votre modèle facial.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le Paiement sans contact seront retirées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Les portefeuilles et autres applications qui nécessitent le déverrouillage de l\'appareil peuvent ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Un NIP protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Cette fonctionnalité supprime le modèle d\'empreinte digitale stocké sur votre appareil. Votre modèle facial sera également supprimé définitivement de façon sécurisée. Vous ne pourrez pas utiliser votre visage ni votre empreinte digitale pour vous authentifier dans les applications."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Vous perdrez des données enregistrées, comme votre NIP, et votre modèle facial et d\'empreinte digitale.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le Paiement sans contact seront retirées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Les portefeuilles et autres applications qui nécessitent le déverrouillage de l\'appareil peuvent ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Un mot de passe protège votre téléphone en cas de perte ou de vol"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Un mot de passe protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Associer avec <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Ajouter un nouveau membre à l\'ensemble coordonné existant"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirmez l\'ajout du deuxième élément de votre appareil audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Code d\'association Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Entrez le code d\'association, puis appuyez sur Retour ou Entrée"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Le NIP contient des lettres ou des symboles."</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Le numéro doit comporter 16 chiffres"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Vous devrez peut-être également saisir ce NIP sur l\'autre appareil."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Vous devrez peut-être également saisir cette clé d\'accès sur l\'autre appareil."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirmez pour effectuer l\'association avec l\'ensemble coordonné"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirmez pour effectuer l\'association avec l\'appareil audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Autoriser l\'accès à vos contacts et à l\'historique des appels"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Autoriser également l\'accès aux contacts et à l\'historique des appels"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Ces informations seront utilisées pour les annonces d\'appels et plus"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Impossible de se connecter à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Appareils détectés"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connexion"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Déconnecter"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Associer et connecter"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Si la fonctionnalité Bluetooth est activée, l\'appareil peut communiquer avec les autres appareils Bluetooth à proximité."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Si la fonctionnalité Bluetooth est activée, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité"</string>
     <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 applications 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_scan_change" msgid="1744636222637390367">"Modifier"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Détails de l\'appareil"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à vérifier le code à octets pour les applications débogables"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Afficher le taux d\'actualisation"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Affichez le taux d\'actualisation actuel"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afficher le rapport HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Afficher le rapport HDR/SDR actuel"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"CCP"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Déverrouillage de l\'appareil requis pour utiliser la fonctionnalité CCP"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"En mode Avion"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Envoyer des notifications pour les réseaux publics"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"M\'informer quand un réseau public de haute qualité se trouve à proximité"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Autoriser les réseaux WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP est un protocole de sécurité plus ancien et moins sécuritaire"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Votre opérateur ne permet pas les réseaux WEP, car ils sont moins sécuritaires"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activer le Wi-Fi automatiquement"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Le Wi‑Fi se réactivera automatiquement à proximité des réseaux de haute qualité qui sont enregistrés, comme celui de votre domicile"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Cette fonction n\'est pas accessible, car le service de localisation est désactivé. Activez la "<annotation id="link">"localisation"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La recherche de réseaux Wi-Fi permet aux applications et aux services de rechercher les réseaux Wi-Fi en tout temps, même lorsque le Wi-Fi est désactivé. Cette autorisation peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activer"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"La recherche de réseaux Wi-Fi est activée"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ce réseau utilise un protocole de sécurité plus ancien et moins sécuritaire"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"L\'application <xliff:g id="NAME">%1$s</xliff:g> est bloquée"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ce réseau utilise un protocole de sécurité plus ancien et moins sécuritaire appelé WEP. Pour vous connecter quand même, vous pouvez autoriser les réseaux WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Votre opérateur ne vous permet pas de vous connecter à ce réseau, car il utilise un protocole de sécurité plus ancien et moins sécuritaire"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Autoriser WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Fermer"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Options avancées"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Liste déroulante des options avancées"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"développer"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Rester connecté au Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ne plus afficher"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Se connecter"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi activé"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connecté à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connexion à <xliff:g id="NETWORK_NAME">%1$s</xliff:g> en cours…"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connexion en cours…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Échec de la connexion au réseau."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Réseau hors de portée"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Supprimer"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modifier"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Échec de la suppression du réseau."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Enregistrer"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Échec de l\'enregistrement du réseau."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Annuler"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Données cellulaires"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Recharge en cours…"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Recharge en cours…"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Connexion du point d\'accès sans fil"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Puissance de la connexion"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Réseaux enregistrés"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Aucun mot de passe défini"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nom du point d\'accès"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Mot de passe du point d\'accès"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Bande du point d\'accès"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Désactiver automatiquement le point d\'accès Wi‑Fi"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Lorsqu\'aucun appareil n\'est connecté"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Prolonger la compatibilité"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Afficher la balance des blancs"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applications lorsque l\'appareil est plié"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Affichage fluide"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Augmente automatiquement la fréquence d\'actualisation de 60 Hz à <xliff:g id="ID_1">%1$s</xliff:g> Hz pour certains contenus. Augmente l\'utilisation de la pile."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Désac. la fréq. d\'imag. par déf. des jeux"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Désactivez la limitation de la fréquence d\'images maximale pour les jeux à <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Affichage fluide"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Augmente automatiquement la fréquence d\'actualisation jusqu\'à <xliff:g id="ID_1">%1$d</xliff:g> Hz pour certains contenus. Augmente l\'utilisation de la pile."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forcer la fréquence d\'actualisation de pointe"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Taux d\'actualisation supérieur pour une amélioration de la réactivité tactile et de la fluidité des animations. Cette fonction sollicite davantage la pile de l\'appareil."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Écran attentif"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"La fonctionnalité Écran attentif utilise l\'appareil photo avant pour détecter si quelqu\'un regarde l\'écran. Elle fonctionne sur l\'appareil, et les images ne sont jamais enregistrées ni envoyées à Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activer la fonctionnalité d\'écran attentif"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Empêchez l\'écran de s\'éteindre pendant que vous le regardez"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Un délai de mise en veille de l\'écran plus long sollicitera davantage la pile."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"L\'appareil photo est verrouillé"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"L\'appareil photo doit être déverrouillé pour utiliser la détection des visages"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"L\'appareil photo doit être déverrouillé pour utiliser la fonctionnalité d\'écran attentif"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IIEM (fente SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IIEM (fente SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principale)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Pour l\'afficher, sélectionnez un réseau enregistré"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IIEM"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IIEM SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Version de la liste d\'itinérance préférée"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Niveau de la pile"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Commun"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Paramètres communs"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Messagerie par satellite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Noms des points d\'accès"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Modifier le point d\'accès"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Ajouter un point d\'accès"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Non défini"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Non configuré"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nom"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN activé"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN désactivé"</string>
     <string name="bearer" msgid="3231443241639159358">"Réseau"</string>
+    <string name="network_type" msgid="748590707422733595">"Type de réseau"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Non précisé"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Type MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valeur MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Supprimer l\'APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Enregistrer"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annuler"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Doublon du nom de point d\'accès."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Le champ « Nom » est obligatoire."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"L\'APN est obligatoire."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Le champ MCC doit contenir 3 chiffres."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Le champ MNC doit contenir 2 ou 3 chiffres."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Le fournisseur de services n\'autorise pas l\'ajout de points d\'accès de type %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Le champ MMSC doit être valide."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restauration des paramètres APN par défaut en cours..."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Rétablir les valeurs par défaut"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"La réinitialisation des paramètres APN par défaut est terminée."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Réinitialiser"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Le Bluetooth et le Wi-Fi ont été réinitialisés"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Effacer les cartes eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Cela n\'annulera aucun forfait de services cellulaires. Pour télécharger une carte SIM de remplacement, communiquez avec votre fournisseur de services."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Cette action n\'annulera pas votre forfait mobile. Pour obtenir une carte SIM de remplacement, communiquez avec votre opérateur."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Réinitialiser les paramètres"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Réinitialiser tous les paramètres réseau? Cette action est irréversible."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Réinitialiser tous les paramètres du réseau et effacer les cartes eSIM? Vous ne pouvez pas annuler cette action."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Réinitialiser?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"La réinitialisation du réseau n\'est pas disponible pour cet utilisateur."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Les paramètres réseau ont été réinitialisés"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Impossible d\'effacer les cartes SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Les cartes eSIM ne peuvent pas être effacées à cause d\'une erreur.\n\nRedémarrez votre appareil et réessayez."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Impossible d\'effacer les cartes eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Un problème est survenu et vos cartes eSIM n\'ont pas été effacées.\n\nRedémarrez votre appareil, puis réessayez."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Effacer toutes les données (réinitialisation des paramètres par défaut)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Effacer toutes les données"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musique"</li>\n<li>"Photos"</li>\n<li>"Autres données de l\'utilisateur"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"Modules eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Cela n\'annulera pas votre forfait de services cellulaires."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Tous vos renseignements personnels et les applications téléchargées seront supprimés. Vous ne pouvez pas annuler cette action."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Tous vos renseignements personnels, y compris les applications téléchargées et les modules SIM, seront supprimés. Vous ne pouvez pas annuler cette action."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Tous vos renseignements personnels, y compris les applications et les cartes eSIM téléchargées, seront supprimés. Vous ne pouvez pas annuler cette action."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Effacer toutes les données?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"La réinitialisation aux paramètres par défaut n\'est pas possible pour cet utilisateur"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Suppression en cours…"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Partage de connexion, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Connexion Internet non partagée avec d\'autres appareils"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Désactivé"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Partage de connexion"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne pas utiliser les points d\'accès Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Uniquement partager la connexion Internet par USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Uniquement partager la connexion Internet par Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Uniquement partager la connexion Internet par Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Uniquement partager la connexion Internet par USB et par Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Uniquement partager la connexion Internet par USB et par Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Uniquement partager la connexion Internet par Bluetooth et par Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Uniquement partager la connexion Internet par USB, par Bluetooth et par Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Partage de connexion par USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Partage de connexion par Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Partage connexion Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utilisez un point d\'accès sans fil et le partage de connexion pour fournir un accès Internet à d\'autres appareils par l\'intermédiaire de votre connexion Wi-Fi ou de données cellulaires. Les applications peuvent aussi créer un point d\'accès sans fil pour partager du contenu avec d\'autres appareils à proximité."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Aide"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Réseau cellulaire"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Forfait de données cellulaires"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Application de messagerie texte"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Modifier l\'application de messagerie texte?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Utiliser <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> comme application de messagerie texte?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Changer d\'assistant Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Utilisez <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> pour gérer vos connexions réseau?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Utiliser <xliff:g id="NEW_APP">%s</xliff:g> pour gérer vos connexions réseau?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Fournisseur de la carte SIM inconnu"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Aucun site Web de configuration connu pour <xliff:g id="OPERATOR">%1$s</xliff:g>"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Insérez la carte SIM, puis redémarrez."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Connectez-vous à Internet."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Demandes de localisation récentes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Position pour profil profess."</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Autor. localisation de l\'appli"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Supprimer l\'accès"</string>
     <string name="controls_label" msgid="8671492254263626383">"Commandes"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forcer l\'arrêt"</string>
+    <string name="archive" msgid="9074663845068632127">"Archiver"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurer"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restauration en cours"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restauration en cours."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restauration en cours.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restauration en cours..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Taille de l\'application"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Application sur USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Impossible de calculer la taille du package."</string>
     <string name="version_text" msgid="7628938665256107608">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Déplacer"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Échec de l\'archivage"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Archivé : <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Échec de la restauration"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restauration de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> en cours…"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Un autre transfert est déjà en cours."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Espace de stockage insuffisant."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"L\'application n\'existe pas."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Clavier à l\'écran accessible"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gérer les claviers à l\'écran"</string>
     <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="6922850403920596246">"Activez les touches non répétées pour rehausser l\'accessibilité du clavier physique"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Activez les touches lentes pour une accessibilité accrue du clavier physique"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Touches rémanentes"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Activez les Touches rémanentes pour rehausser l\'accessibilité du clavier physique"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Touch. coin inférieur droit (pavé tactile) pour plus d\'options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Vitesse du pointeur"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Apprendre les gestes du pavé tactile"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Retour à la page d\'accueil"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Balayez votre pavé tactile vers le haut avec trois doigts"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Retour"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Trier par temps d\'utilisation"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Trier par dernière utilisation"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Trier par nom d\'application"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Dernière utilisation :"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Dernière utilisation"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"jamais"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Temps d\'utilisation"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibilité"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Paramètres d\'accessibilité"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Agrandir en touchant 3 fois"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Agrandir avec un raccourci"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Agrandir avec le raccourci et en touchant trois fois"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"À propos de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utiliser le bouton d\'accessibilité pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Maintenez les touches de volume enfoncées pour l\'ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Touchez l\'écran trois fois pour l\'ouvrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Ouvrir en touchant deux fois l\'écran avec deux doigts"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utiliser un geste pour activer le service"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utiliser le geste d\'accessibilité"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Pour utiliser cette fonctionnalité, touchez le bouton d\'accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dans le bas de l\'écran.\n\nPour basculer entre les fonctionnalités, maintenez le doigt sur le bouton d\'accessibilité."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Pour utiliser cette fonctionnalité, touchez le bouton d\'accessibilité sur votre écran."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Pour utiliser cette fonctionnalité, maintenez les deux touches de volume enfoncées."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Pour démarrer et arrêter l\'agrandissement, touchez l\'écran trois fois n\'importe où."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Pour démarrer et arrêter l\'Agrandissement, touchez deux fois l\'écran n\'importe où avec deux doigts."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Pour utiliser cette fonctionnalité, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Pour utiliser cette fonctionnalité, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Pour utiliser une fonctionnalité d\'accessibilité, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Pour utiliser une fonctionnalité d\'accessibilité, 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Paramètres du bouton"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Paramètres du bouton"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Raccourci <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Bouton d\'accessibilité"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Geste d\'accessibilité"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Maintenir enfoncées les touches de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"maintenir enfoncées les 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"toucher deux fois l\'écran avec deux 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="6863958573135995927">"toucher l\'écran 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"En savoir plus sur le bouton d\'accessibilité et les gestes"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Utilisez le bouton d\'accessibilité. Le geste n\'est pas proposé avec la navigation à trois boutons."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accès rapide aux fonctionnalités d\'accessibilité"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Pour commencer :"</b>\n"1. Accédez aux paramètres d\'accessibilité\n2. Sélectionnez une fonctionnalité et touchez le raccourci\n3. Choisissez d\'utiliser un bouton ou un geste pour accéder à la fonctionnalité"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Pour commencer :"</b>\n"1. Accédez aux paramètres d\'accessibilité\n2. Sélectionnez une fonctionnalité et touchez le raccourci\n3. Choisissez le bouton pour accéder à la fonctionnalité"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Pour commencer&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accédez aux paramètres d\'accessibilité&lt;br/&gt; {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci&lt;br/&gt; {2,number,integer}. Choisissez si vous voulez utiliser un bouton ou un geste pour accéder à la fonctionnalité&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Pour commencer&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accédez aux paramètres d\'accessibilité&lt;br/&gt; {1,number,integer}. Sélectionnez une fonctionnalité et touchez le raccourci&lt;br/&gt; {2,number,integer}. Choisissez le bouton pour accéder à la fonctionnalité&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utiliser le bouton ou le geste"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Position"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Taille"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Interrupteur pour raccrocher"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Grand curseur de souris"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Mettez en évidence le pointeur de la souris"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Rendre toutes les applis sombres"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"S\'applique aux applis sans leur thème sombre. Des applis peuvent avoir des problèmes d\'affichage."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Retirer les animations"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Réduisez les mouvements sur l\'écran"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Utiliser les vibrations et les effets tactils"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibration pour les alarmes"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibration multimédia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibration du clavier"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration pour la sonnerie"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration pour les notifications"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Retour tactile"</string>
@@ -2128,16 +2311,15 @@
     <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Cette fonctionnalité peut faire le suivi de vos interactions avec une application ou un capteur matériel et interagir avec des 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="7295448112784528196">"Arrêter"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuler"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Arrêter <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Touchez <xliff:g id="STOP">%1$s</xliff:g> pour arrêter le service <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Désactiver"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Garder actif"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Désactiver <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Aucun service installé"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Aucun service sélectionné"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Aucune description fournie"</string>
     <string name="settings_button" msgid="2195468788019730377">"Paramètres"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilité à la lumière, photophobie, thème sombre, migraine, mal de tête, mode lecture, mode nuit, réduire la luminosité, point blanc"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Convivialité, facilité d\'accès, assistance, accessibilité"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vision, audition, aveugle, sourd, motricité, dextérité, fonctionnel, assistance, facilité d\'utilisation, facilité d\'accès, main, aide"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Agrandisseur d\'écran, zoom, agrandissement, vision faible, agrandir, rendre plus gros"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Sous-titres, sous-titrage, CC, sous-titres instantanés, malentendant, perte auditive, transcription en temps réel assistée par ordinateur, synthèse textuelle, sous-titrer"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste des couleurs"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motricité, souris"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"prothèses auditives, malentendants, perte auditive, implants cochléaires, appareils d\'amplification, processeurs de son"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motricité, souris, souris externe, souris contrôlée par la tête, souris adaptée, fauteuil roulant, manche"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"prothèses auditives, malentendant, perte auditive, implants cochléaires, appareils d\'amplification, processeurs de son, produit d\'amplificateur de son personnel"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"malentendant, perte auditive, sous-titres, téléimprimeur, ATS"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"trois boutons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dextérité, motricité, personne âgée, arthrite, LMR, accident vasculaire cérébral, tremblements, sclérose en plaques, infirmité motrice cérébrale, trémulation, lésion due aux mouvements répétitifs, main"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"retard, dextérité, personne âgée"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impression"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Désactivé"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 service d\'impression activé}one{# service d\'impression activé}other{# services d\'impression activés}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Temps restant : <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> avant le chargement complet"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Le temps d\'utilisation des écrans"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Le temps d\'utilisation en arrière-plan"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Pile faible"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Autoriser l\'application à fonctionner en arrière-plan"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limiter l\'activité en arrière-plan?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si vous limitez l\'activité en arrière-plan d\'une application, cela peut provoquer un fonctionnement instable"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Comme cette appli n\'est pas config. pour optim. la pile, vous ne pouvez pas la restr.\n\nPour la restr., activez l\'optim. de pile."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gérer l\'utilisation de la pile"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Autoriser l\'utilisation en arrière-plan"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activez-la pour obtenir des mises à jour en temps réel; désactivez-la pour prolonger l\'autonomie de la pile"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Aucune restriction"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimisée"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitée"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Affichez les applications qui utilisent le plus d\'énergie"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"La recharge est optimisée afin de protéger votre pile"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"La recharge est optimisée afin de prolonger la durée de vie de votre pile"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"La recharge est optimisée afin de protéger votre pile"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"La recharge est optimisée lorsque l\'appareil est dans sa station afin de prolonger la durée de vie de votre pile"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"La recharge est optimisée afin de protéger votre pile"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"La recharge est optimisée lorsque l\'appareil est dans sa station afin de prolonger la durée de vie de votre pile"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"En charge complète"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Afin de protéger votre pile, la recharge sera optimisée la prochaine fois que votre tablette sera placée dans sa station"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"En savoir sur l\'interruption de la recharge"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprendre la charge"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclut les activités énergivores en arrière-plan"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Cette application pourra utiliser la pile en arrière-plan. Cela pourrait épuiser la pile plus rapidement."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Supprimer"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuler"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Recharger complètement"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problème concernant l\'accessoire de recharge"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Vérifier l\'accessoire de recharge"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"En savoir plus sur les chargeurs incompatibles"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestionnaire de pile"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gérer les applications automatiquement"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"depuis la dernière recharge complète"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Applications système"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Applications désinstallées"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Autres"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Temps restant estimé"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Jusqu\'à la charge complète"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total : moins d\'une minute"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Arrière-plan : moins d\'une minute"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Temps d\'utilisation des écrans : moins d\'une minute"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Moins d\'une min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total : <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Arrière-plan : <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Temps d\'utilisation des écrans : <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"maintenant"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Graphique d\'utilisation de la pile"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Graphique de l\'utilisation quotidienne de la pile"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Graphique de l\'utilisation horaire de la pile"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Pourcentage correspondant au niveau de la pile de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> à <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Utilisation de la pile depuis la dernière recharge complète"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Utilisation de la pile : <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Temps d\'utilisation des écrans depuis la dernière recharge complète"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal de composition d\'urgence"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Définir le comportement en cas d\'appel d\'urgence"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sauvegarde"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activée"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Désactivé"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sauvegarde et restauration"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Données personnelles"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sauvegarder mes données"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Données cellulaires et Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Synchro auto des données perso"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Synchro auto des données pros"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sync. auto des données privées"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Changer le cycle..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Jour du mois de réinitialisation du cycle utilisation données :"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Aucune donnée utilisée par les applications pendant cette période."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresse du serveur"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Chiffrement PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifiant IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Clé pré-partagée IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat utilisateur IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat d\'autorité IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de serveur IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Afficher les options avancées"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domaines de recherche DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Serveurs DNS (p. ex. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Itinéraires transfert (p. ex. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nom d\'utilisateur"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Mot de passe"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Enregistrer les informations de compte"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(non utilisé)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne pas valider le serveur)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(certificat reçu du serveur)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ce type de RPV ne peut pas rester connecté en permanence"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Le RPV permanent n\'accepte que les adresses de serveur en format numérique"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Un serveur DNS doit être spécifié pour le RPV permanent"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Les adresses de serveur DNS doivent être numériques pour le RPV permanent"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Les données entrées ne sont pas compatibles avec le RPV permanent"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Annuler"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ignorer"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquer les connexions sans RPV"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Exiger une connexion RPV?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Pas sécuritaire. Passez à un RPV de type IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Échec du démarrage d\'un RPV non pris en charge."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil RPV auquel rester connecté en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connecté à ce RPV."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Aucun"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Le RPV permanent nécessite une adresse IP pour le serveur et le DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertes AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Recevoir les bulletins sur les enlèvements d\'enfants"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Répéter"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Activer le gestionnaire d\'appels"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Autoriser ce service à gérer comment vous faites vos appels."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gestionnaire d\'appels"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertes d\'urgence sans fil"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Fournisseurs de services cellulaires"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Noms des points d\'accès"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"État de la carte SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"État de la carte SIM (fente SIM n° %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Cartes SIM changées."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Échange des cartes SIM réussi"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Touchez pour configurer"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Toujours demander"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Veuillez indiquer votre préférence"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Applications récentes, applications par défaut"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les applications du profil professionnel n\'ont pas accès aux notifications."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Mots de passe et comptes"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Mots de passe enregistrés, remplissage automatique, comptes synchronisés"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions pour la connexion et le remplissage automatique"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Applications par défaut"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Applications clonées"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Créez une deuxième instance d\'une application afin de pouvoir utiliser deux comptes en même temps."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"portefeuille"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"payer, toucher, paiements"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sauvegarde, sauvegarder"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"geste"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"visage, déverrouiller, authentification, se connecter"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"visage, déverrouiller, authentification, connexion, empreinte digitale, données biométriques"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"iiem, idem, min, version de la liste d\'itinérance préférée, iiem sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"taille du texte, grands caractères, police de grande taille, texte de grande taille, vision faible, agrandir le texte, agrandisseur de police, agrandissement de la police"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"affichage en mode Veille toujours activé, affichage toujours activé"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"ccp, balise, lecteur"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"clavier, haptique, vibrer"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibration, Ne pas déranger"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume du contenu multimédia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume de diffusion"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Activation par les sons"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Sous-titres instantanés"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Ajouter automatiquement des sous-titres aux contenus multimédias"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Haut-parleurs du téléphone"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Haut-parleurs de la tablette"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Haut-parleurs de l\'appareil"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Casque d\'écoute filaire"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Le son des appareils multimédias compatibles devient plus immersif"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Désactivé"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Afficher tout le contenu des notifications"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"N\'afficher le contenu sensible que si l\'appareil est déverrouillé"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"N\'afficher aucune notification"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Que souhaitez-vous afficher sur l\'écran de verrouillage?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Que souhaitez-vous voir sur votre écran de verrouillage?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Écran de verrouillage"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Afficher tout le contenu des notif. professionn."</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Masquez le contenu professionnel sensible"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Conversations récentes retirées"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversation retirée"</string>
     <string name="clear" msgid="5092178335409471100">"Effacer"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Effacer <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Les conversations prioritaires et modifiées s\'afficheront ici"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Lorsque vous marquez des conversations comme prioritaires, ou si vous apportez d\'autres modifications aux conversations, elles s\'afficheront ici. \n\nPour modifier les paramètres de conversation : \nbalayez l\'écran du haut vers le bas pour ouvrir le volet déroulant, puis maintenez le doigt sur une conversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Réduire"</string>
@@ -3308,6 +3481,17 @@
     <string name="notif_listener_not_migrated" msgid="6265206376374278226">"Cette application 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 application"</string>
+    <string name="notification_polite_title" msgid="6121016426991791557">"Période de stabil. des notif."</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Appliquer une période de stabilisation à toutes les notifications"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Diminuer progressivement le volume des notifications lorsque vous recevez plusieurs notifications successives de la même application"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Appliquer une période de stabilisation aux conversations"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Diminuer progressivement le volume des notifications lorsque vous recevez plusieurs messages d\'un même clavardage dans un court laps de temps"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ne pas utiliser la période de stabilisation des notifications"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Ne jamais réduire le volume des notifications, quel que soit le nombre de notifications successives provenant de la même application"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Faire vibrer lors du déverrouillage"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Ne faire vibrer que lorsque l\'écran est déverrouillé"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Appliquer aux profils professionnels"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Appliquer les paramètres de période de stabilisation des notifications de votre profil personnel à votre profil professionnel"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Services d\'assistance pour la réalité virtuelle"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Aucune demande d\'exécution en tant que services d\'assistance pour la réalité virtuelle n\'a été envoyée pour les applications installées."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Autoriser <xliff:g id="SERVICE">%1$s</xliff:g> à accéder au service de réalité virtuelle?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Désactivé"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Épinglage d\'application"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"L\'épinglage d\'application vous permet de garder l\'application actuelle en vue jusqu\'à ce que vous annuliez l\'épinglage. Cette fonctionnalité peut être utilisée, par exemple, pour laisser un ami de confiance jouer à un certain jeu."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nPour utiliser l\'épinglage d\'application : 	\n1. Activez l\'épinglage d\'application 	\n2. Ouvrez Aperçu 	\n3. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nSi vous souhaitez partager votre appareil de manière sécuritaire, essayez d\'utiliser un profil d\'utilisateur invité à la place. \n\nPour utiliser l\'épinglage d\'application : 	\n1. Activez l\'épinglage d\'application 	\n2. Ouvrez Aperçu 	\n3. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nPour utiliser Épinglage d\'application : 	\n{0,number,integer}. Activez Épinglage d\'application 	\n{1,number,integer}. Ouvrez Aperçu 	\n{2,number,integer}. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Lorsqu\'une application est épinglée, elle peut ouvrir d\'autres applications, et certaines données personnelles pourraient être accessibles. \n\nSi vous souhaitez partager votre appareil de manière sécuritaire, essayez d\'utiliser un profil d\'utilisateur invité à la place. \n\nPour utiliser Épinglage d\'application : 	\n{0,number,integer}. Activez Épinglage d\'application 	\n{1,number,integer}. Ouvrez Aperçu 	\n{2,number,integer}. Touchez l\'icône de l\'application dans le haut de l\'écran, puis touchez Épingler"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Lorsqu\'une application est épinglée : \n\n•	 Certaines données personnelles pourraient être accessibles \n		(comme les contacts et le contenu des courriels) \n•	 L\'application épinglée peut ouvrir d\'autres applications \n\nUtilisez l\'épinglage d\'application uniquement avec les gens en qui vous avez confiance."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Demander le schéma de déverrouillage avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le NIP avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demander le mot de passe avant d\'annuler l\'épinglage"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Verrouiller l\'écran après l\'annulation de l\'épinglage"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmer la suppression de la carte eSIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirmer que vous souhaitez effacer votre carte eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Vérifiez qu\'il s\'agit bien de vous avant d\'effacer la carte eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protection mémoire avancée bêta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protection avancée de la mémoire"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Paramètres des applications inutilisées"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Suspendre l\'activité appli si inutilisée"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Retirer les autorisations, supprimer les fichiers temporaires et arrêter les notifications"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gérer l\'application si inutilisée"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Retirez les autorisations, supprimez les fichiers temporaires, arrêtez les notifications et archivez l\'application"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Toutes les applications"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Applications installées"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Applications instantanées"</string>
@@ -3658,9 +3844,9 @@
     <string name="assist_access_context_title" msgid="5201495523514096201">"Utiliser le texte affiché à l\'écran"</string>
     <string name="assist_access_context_summary" msgid="6951814413185646275">"Autoriser l\'application d\'assistance à accéder au contenu affiché à l\'écran sous forme de texte"</string>
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"Utiliser la saisie d\'écran"</string>
-    <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Autoriser l\'application d\'assistance à accéder au contenu affiché à l\'écran sous forme d\'image"</string>
+    <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Autorisez l\'application d\'assistance à accéder au contenu affiché à l\'écran sous forme d\'image"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"Faire clignoter l\'écran"</string>
-    <string name="assist_flash_summary" msgid="3032289860177784594">"Faire clignoter les bordures de l\'écran lorsque l\'application d\'assistance accède à du texte à partir de l\'écran ou d\'une capture d\'écran"</string>
+    <string name="assist_flash_summary" msgid="3032289860177784594">"Faites clignoter les bordures de l\'écran lorsque l\'application d\'assistance accède à du texte à partir de l\'écran ou d\'une capture d\'écran"</string>
     <string name="assist_footer" msgid="8248015363806299068">"Les applications d\'assistance peuvent vous aider en fonction de l\'information affichée à l\'écran. Certaines applications sont compatibles à la fois avec le lanceur d\'applications et les services d\'entrée vocale, vous permettant de bénéficier d\'une assistance intégrée."</string>
     <string name="average_memory_use" msgid="717313706368825388">"Utilisation moyenne de la mémoire"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"Utilisation max. de la mémoire"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Libre"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Mémoire utilisée par les applications"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 application a utilisé la mémoire depuis {time}}one{# application a utilisé la mémoire depuis {time}}other{# applications ont utilisé la mémoire depuis {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Activer le profilage d\'util. de la mém."</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Le profilage d\'utilisation de la mémoire nécessite des ressources système additionnelles."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilage de la mémoire désactivé"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Fréquence"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Utilisation maximale"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Aucune donnée utilisée"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Afficher par-dessus les autres applications"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Autoriser la superposition d\'applications"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Autorisez cette application à s\'afficher par-dessus les autres que vous utilisez. Cette application pourra voir où vous touchez et modifier ce qui est affiché sur l\'écran."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Modifier la sortie multimédia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Autoriser l\'appli à changer la sortie média"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Autorisez cette application à choisir l\'appareil connecté qui lit les fichiers audio ou vidéo provenant d\'autres applications. Si elle est autorisée, cette application peut accéder à une liste de périphériques disponibles, tels que des écouteurs et des haut-parleurs, et choisir le périphérique de sortie utilisé pour diffuser du contenu audio ou vidéo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Accès à tous les fichiers"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Autorisez l\'accès pour gérer tous les fichiers"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette application à lire, à modifier et à supprimer tous les fichiers qui se trouvent sur cet appareil ou sur des volumes de stockage connectés. Si vous accordez cette autorisation, l\'application pourra accéder à des fichiers sans que vous le sachiez."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Peuvent accéder à tous les fichiers"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Applications activées par la voix"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permettre l\'activation vocale"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'activation vocale permet d\'activer les applications approuvées, en mains libres, par commande vocale. La détection adaptative intégrée garantit que les données restent confidentielles pour vous seul.\n\n"<a href="">"En savoir plus sur la détection adaptative protégée"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notifications en plein écran"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Autoriser les notifications en plein écran de cette application"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Autoriser cette application à afficher des notifications en plein écran lorsque l\'appareil est verrouillé. Les applications peuvent s\'en servir pour mettre en évidence des alarmes, des appels entrants ou d\'autres notifications urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Seuil à partir duquel un avertissement relatif à la consommation des données est envoyé : <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limite d\'utilisation de données : <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Seuil à partir duquel un avertissement relatif à la consommation des données est envoyé : <xliff:g id="ID_1">^1</xliff:g>. Limite d\'utilisation de données : <xliff:g id="ID_2">^2</xliff:g>."</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Le suivi de consommation de données du fournisseur de services peut différer de celui de l\'appareil"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Exclut les données utilisées sur les réseaux cellulaires"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> utilisés"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Activer une alerte"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Mis à jour il y a <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Mis à jour par <xliff:g id="ID_1">^1</xliff:g> à l\'instant"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Mis à jour à l\'instant"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Afficher le forfait"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Afficher les détails"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Économiseur de données"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Données sans restrictions"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a utilisé plus d\'énergie de la pile que d\'habitude en arrière-plan"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a utilisé plus d\'énergie de la pile en avant-plan"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a utilisé plus d\'énergie de la pile que d\'habitude en avant-plan"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie relative à l\'utilisation de la pile"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Utilisation élevée de la pile"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Utilisation élevée de la pile en arrière-plan"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Utilisation élevée de la pile en avant-plan"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Paramètres rapides, tuiles de développeur"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Désactiver le délai d\'expiration des autorisations adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Désactivez le retrait automatique des autorisations adb pour des systèmes qui ne se sont pas connectés ou qui n\'ont pas été configurés par l\'utilisateur dans le délai d\'expiration par défaut (respectivement, sept jours et un jour minimum)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Traçage Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Capteurs désactivés"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Paramètres du profil professionnel"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Laissez les applications personnelles déterminer les contacts à l\'aide de l\'annuaire professionnel"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigation système, navigation à deux boutons, navigation à trois boutons, navigation par gestes, balayer"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistant numérique"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Balayer l\'écran pour appeler l\'assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pour lancer l\'application de l\'assistant numérique, balayez l\'écran vers le haut à partir d\'un coin inférieur."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pour lancer l\'application de l\'assistant numérique, balayez l\'écran vers le haut à partir d\'un coin inférieur"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Maintenir le doigt sur Accueil pour utiliser l\'Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Maintenez la touche d\'accueil enfoncée pour invoquer l\'application d\'assistant numérique."</string>
     <string name="low_label" msgid="6525629096999711220">"Faible"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Service de remplissage auto"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Service de remplissage automatique par défaut"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Mots de passe"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Services de mots de passe, de clés d\'accès et de données"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Fournisseurs supplémentaires"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Service préféré"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Services supplémentaires"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# mot de passe}one{# mot de passe}other{# mots de passe}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatique, remplir, remplissage automatique, mot de passe"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"données, clé d\'accès, mot de passe"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatique, remplissage, remplissage automatique, données, clé d\'accès, mot de passe"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Modifier"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ouvrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Aucun élément sélectionné"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Assurez-vous de faire confiance à cette application&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Remplissage automatique&gt;%1$s&lt;/xliff:g&gt; utilise les éléments affichés à l\'écran pour déterminer les champs qui peuvent bénéficier de l\'entrée automatique."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Utiliser &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; utilise ce qui se trouve à l\'écran pour déterminer les données qui peuvent être remplies automatiquement. Les nouveaux renseignements, notamment les clés d\'accès et les mots de passe, seront dorénavant enregistrés ici."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Services de mots de passe, de clés d\'accès et de données"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les nouveaux mots de passe, clés d\'accès et autres renseignements seront désormais enregistrés ici. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; peut utiliser ce qui se trouve à l\'écran pour déterminer les données qui peuvent être remplies automatiquement."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Fournisseur de services préféré pour les mots de passe, les clés d\'accès et le remplissage automatique"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Désactiver %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Désactiver ce service?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Lorsque vous vous connectez, les renseignements enregistrés, comme les mots de passe, les clés d\'accès, les modes de paiement, ou tout autre renseignement, ne seront pas remplis. Pour utiliser vos renseignements enregistrés, choisissez un mot de passe, une clé d\'accès ou un service de données."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Mots de passe, clés d\'accès, remp. aut."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Désactiver tous les services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les mots de passe, les clés d\'accès et les autres renseignements enregistrés ne seront pas accessibles pour le Remplissage automatique lorsque vous vous connectez"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Modifiez votre service préféré pour &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les nouveaux renseignements, notamment les clés d\'accès et les mots de passe, seront dorénavant enregistrés ici. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; peut utiliser ce qui se trouve à l\'écran pour déterminer les renseignements qui peuvent être remplis automatiquement"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Utiliser %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Désactiver"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Modifier"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Vous ne pouvez avoir que cinq services sur"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Désactivez au moins un service pour en ajouter un autre"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s se sert des données affichées à l\'écran pour déterminer ce qui peut être rempli automatiquement."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limite atteinte pour les services de mots de passe, de clés d\'accès et de données"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Vous pouvez disposer d\'un maximum de cinq services de mots de passe, de clés d\'accès et de données actifs en même temps. Désactivez un service pour en ajouter d\'autres."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limite atteinte pour les services de mots de passe, de clés d\'accès et de données"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Vous pouvez disposer d\'un maximum de cinq services de mots de passe, de clés d\'accès et de données actifs en même temps. Désactivez un service pour en ajouter d\'autres."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Désactiver"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Remplissage automatique"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Niveau de journalisation"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Les modifications de compatibilité des applications peuvent uniquement être modifiées pour les applications débogables. Installez une application débogable, puis réessayez."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dépend d\'un autre paramètre"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d comptes"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nom de l\'appareil"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Renseignements généraux"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Législation et réglementation"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Autorisez cette application à se lancer lorsqu\'une balise CCP est détectée.\nSi cette autorisation est activée, l\'application sera affichée comme option chaque fois qu\'une balise est détectée."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Faire jouer les contenus multimédias sur"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Faire jouer <xliff:g id="LABEL">%s</xliff:g> sur"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"L\'audio jouera sur"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Cet appareil"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponible pendant les appels"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Répondre à l\'appel sur"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Désactiver le son"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Pour activer la fonctionnalité, modifiez d\'abord l\'option « Maintenir l\'interrupteur enfoncé » du menu de l\'interrupteur."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Infos sur le réseau"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Le nom de votre appareil est visible pour les applications de votre téléphone. Il est aussi possible que d\'autres personnes le voient 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="devices_title" msgid="649715719278562515">"Appareils"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Choisir un réseau"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Déconnecté"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nom"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Couleur (utilisée par applis compatibles)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Enregistrer"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Utiliser la carte SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Utiliser cette carte SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Désactivé"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Pour désactiver cette carte SIM, retirez-la"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Touchez pour activer le réseau de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Effacer la carte SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Pour désactiver cette carte SIM, retirez-la"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Touchez pour activer votre carte SIM de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Effacer la carte eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Type de réseau préféré"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Changer le mode de fonctionnement du réseau"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Type de réseau préféré"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Communiquez avec votre fournisseur réseau pour connaître les tarifs."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Utilisation des données par application"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mode réseau non valide : <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorer."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Messagerie par satellite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envoyez et recevez des messages texte par satellite. Compris dans votre compte."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envoyez et recevoir des messages texte par satellite. Non compris dans votre compte."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Messagerie par satellite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"À propos de la messagerie par satellite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Vous pouvez envoyer et recevoir des messages texte par satellite à l\'aide d\'un compte <xliff:g id="CARRIER_NAME">%1$s</xliff:g> admissible"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Votre forfait <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"La messagerie par satellite est comprise dans votre compte"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"La messagerie par satellite n\'est pas comprise dans votre compte"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Ajouter la messagerie par satellite"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Fonctionnement"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"En l\'absence de réseau cellulaire"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Votre téléphone se connectera automatiquement à un satellite. Pour une connexion optimale, tenez le téléphone sous un ciel dégagé."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Une fois que votre téléphone s\'est connecté à un satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Vous pouvez envoyer des messages texte à n\'importe qui, y compris aux services d\'urgence. Votre téléphone se reconnectera à un réseau cellulaire lorsqu\'il sera accessible."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"La messagerie par satellite peut prendre plus de temps et n\'est accessible que dans certaines régions. Les conditions météorologiques et certaines structures peuvent avoir une incidence sur votre connexion par satellite. Les appels par satellite ne sont pas accessibles.\n\nIl peut s\'écouler un certain temps avant que les modifications apportées à votre compte s\'affichent dans les paramètres. Communiquez avec <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pour en savoir plus."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"En savoir plus sur la messagerie par satellite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Noms des points d\'accès"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"nom du point d\'accès"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponible lorsque vous êtes connectés au réseau de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Passer à <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Passer à la carte SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Utiliser <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Une seule carte SIM peut être active à la fois.\n\nLe fait de passer au réseau de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'annulera pas votre service auprès de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Une seule carte eSIM peut être active.\n\nPasser à <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'annulera pas votre service <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Une seule carte SIM peut être active à la fois.\n\nLe fait de passer à un autre réseau n\'annulera pas votre service auprès de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Une seule carte SIM peut être activée à la fois.\n\nPasser à <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'annulera pas votre service auprès de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Une seule carte eSIM peut être activée à la fois.\n\nPasser à <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'annulera pas votre service auprès de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Une seule carte SIM peut être activée à la fois.\n\nPasser à autre service n\'annulera pas votre service auprès de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Vous pouvez utiliser deux cartes SIM simultanément. Pour utiliser <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, désactivez l\'autre SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Passer à <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Désactiver <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"La désactivation d\'une carte SIM n\'annulera pas votre service"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connexion au réseau en cours…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Passage à <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pour les appels et les messages en cours…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Impossible de changer de fournisseur de services"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Impossible de changer de fournisseur de services en raison d\'une erreur."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activation de la carte SIM en cours…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Passage à <xliff:g id="CARRIER_NAME">%1$s</xliff:g> en cours…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Impossible d\'échanger les cartes SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Un problème est survenu. Impossible d\'échanger les cartes SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Désactiver <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Désactiver la carte SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Désactivation de la carte SIM en cours<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Impossible de désactiver le fournisseur de services"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Une erreur s\'est produite et le fournisseur de services n\'a pas pu être désactivé."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Impossible de désactiver la carte SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Un problème est survenu; impossible de désactiver votre carte SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Utiliser deux cartes SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Cet appareil prend en charge deux cartes SIM actives simultanément. Pour continuer d\'utiliser une seule carte SIM à la fois, touchez « Non merci »."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Redémarrer l\'appareil?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Non merci"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuler"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Changer"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Désactiver"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Impossible d\'activer la carte SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Réessayer d\'activer la carte SIM. Si le problème persiste, redémarrez votre appareil."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configurez votre carte SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Configurez les préférences de votre réseau cellulaire pour utiliser plusieurs cartes SIM sur cet appareil"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Étiqueter vos cartes SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Vous verrez ces étiquettes lors des appels, de l\'envoi de messages texte et de l\'utilisation des données, ainsi que dans les Paramètres"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Étiquette de la carte SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Étiquette"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Choix de cartes SIM à utiliser"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Vous pouvez utiliser deux cartes SIM simultanément"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Config. cartes SIM primaires"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Choisissez les cartes SIM à utiliser par défaut pour les appels, les messages texte et les données"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Vos cartes SIM principales"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Appels"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Messages texte"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Commutation auto. de données"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Utiliser les données de l\'une ou l\'autre carte SIM en fonction de la couverture et de la disponibilité"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Données uniquement"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configuration"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Suivant"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Activation de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> en cours…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Réseau cellulaire"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Numéro de téléphone"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Étiquette et couleur : SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activation du réseau"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Changement de fournisseur de services en cours…"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> est actif"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Votre carte SIM de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> est activée"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Touchez l\'écran pour mettre à jour les paramètres de la carte SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Vous êtes passé au réseau de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Vous êtes passé au réseau d\'un autre fournisseur de services"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Votre réseau cellulaire a changé"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configurer votre autre carte SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Choisissez votre carte SIM active ou utilisez deux cartes à la fois"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Choisissez un numéro à utiliser"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 numéro est accessible sur cet appareil, mais 1 seul numéro peut être utilisé à la fois}=2{2 numéros sont accessibles sur cet appareil, mais 1 seul numéro peut être utilisé à la fois}one{# numéro est accessible sur cet appareil, mais 1 seul numéro peut être utilisé à la fois}other{# numéros sont accessibles sur cet appareil, mais 1 seul numéro peut être utilisé à la fois}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activation en cours<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Impossible d\'effectuer l\'activation pour le moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Choisir une carte SIM à utiliser"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 carte SIM est accessible sur cet appareil, mais 1 seule carte SIM peut être utilisée à la fois}=2{2 cartes SIM sont accessibles sur cet appareil, mais 1 seule carte SIM peut être utilisée à la fois}one{# carte SIM est accessible sur cet appareil, mais 1 seule carte SIM peut être utilisée à la fois}other{# cartes SIM sont accessibles sur cet appareil, mais 1 seule carte SIM peut être utilisée à la fois}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Activation en cours<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Impossible d\'activer cette carte SIM pour le moment"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Utiliser le réseau de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Le réseau de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> sera utilisé pour les données cellulaires, les appels et les messages texte."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Aucune carte SIM active n\'est accessible"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Pour utiliser les données cellulaires, les fonctionnalités d\'appels et les messages texte plus tard, accédez aux paramètres du réseau"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Effacer cette carte eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si vous effacez ce module SIM, le service <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sera retiré de cet appareil.\n\nLe service <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne sera pas annulé."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Cette action retire le service de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de cet appareil, mais votre forfait <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne sera pas annulé."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Effacer"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Effacement du module SIM en cours…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Impossible d\'effacer le module SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ce module SIM ne peut pas être effacé en raison d\'une erreur.\n\nRedémarrez votre appareil et réessayez."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Suppression de la carte eSIM en cours…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Impossible d\'effacer la carte eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Un problème est survenu et cette carte eSIM n\'a pas été effacée.\n\nRedémarrez votre appareil, puis réessayez."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Se connecter à l’appareil"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'application <xliff:g id="APPNAME">%1$s</xliff:g> souhaite utiliser un réseau Wi‑Fi temporaire pour se connecter à votre appareil"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Aucun appareil trouvé. Assurez-vous que l\'appareil est allumé et prêt à se connecter."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Appels d\'urgence"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Votre fournisseur de services ne prend pas en charge les appels Wi‑Fi.\nL\'appareil basculera automatiquement vers le réseau cellulaire pour faire un appel urgence.\nLes appels d\'urgence sont uniquement possibles dans les régions couvertes par un réseau cellulaire."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Utiliser le Wi‑Fi pour les appels afin d\'améliorer la qualité"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Méthode d\'appel secondaire"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Si <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> n\'est pas accessible ou si vous êtes en itinérance, servez-vous de votre carte SIM de données cellulaires pour faire et recevoir des appels avec <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"méthode d\'appel secondaire"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Message multimédia entrant"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Impossible d\'envoyer le message multimédia"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Touchez pour autor. mess. multim. sur le réseau de <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> lorsque les données cellulaires sont désactivées"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Infos sur votre politique de travail"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Les paramètres sont gérés par votre administrateur informatique"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Processeur graphique"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Démarrer avec des pages de 16 Ko"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Démarrage par noyau compatible avec pages de 16 Ko"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Redémarrer avec un noyau compatible avec les pages de 16 Ko?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVERTISSEMENT : Certaines applications peuvent ne pas être compatibles avec ce mode. L\'appareil redémarrera après la confirmation."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Redémarrer avec un noyau compatible avec les pages de 4 Ko?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"L\'appareil redémarrera après la confirmation."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Échec de la mise à jour vers un noyau compatible avec les pages de 16 Ko."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Appliquer les modifications"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Gestionnaire de rapport de bogue"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Détermine quelle application gère le raccourci de rapport de bogue sur votre appareil."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personnel"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Autorisez les applications qui peuvent se superposer à d\'autres à afficher du contenu par-dessus les écrans des paramètres"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Autoriser le service de modem simulé"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Autoriser cet appareil à exécuter le service de modem simulé pour les tests d\'instrumentation; ne pas activer pendant l\'utilisation normale du téléphone"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Désactiver les protections du Partage d\'écran"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Désactive les protections des applications et des notifications appliquées par le système lors du Partage d\'écran"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Commandes multimédias"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Épingler le lecteur multimédia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Pour que vous puissiez reprendre rapidement la lecture, le lecteur multimédia reste ouvert dans Paramètres rapides"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Afficher le contenu multimédia sur l\'écran de verrouillage"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Pour que vous puissiez reprendre rapidement la lecture, le lecteur multimédia reste ouvert sur l\'écran de verrouillage"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Afficher les recommandations relatives aux contenus multimédias"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Afficher les recommandations relatives au contenu multimédia de l\'Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"En fonction de votre activité"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Masquer le lecteur"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Affichez le lecteur"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"commandes multimédias"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Autoriser les extensions du logiciel de l\'appareil photo"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Active la mise en œuvre du logiciel par défaut pour les fonctionnalités avancées de l\'appareil photo, comme la vidéographie yeux libres."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Le Bluetooth sera activé"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Cartes SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"Carte eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Cartes eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Active"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactive"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activée"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Désactivée"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Configuration par défaut pour <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"appels"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"messages texte"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Le son des appareils multimédias compatibles devient plus immersif"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Suivi de la tête"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Le son est modifié en fonction des mouvements de votre tête pour produire un son plus naturel"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synchroniser les autorisations"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Donner à <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> les mêmes autorisations que vous avez donné à <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synchroniser les autorisations du téléphone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Accordez à votre montre les mêmes autorisations de l\'application que celles que vous avez accordées sur ce téléphone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Type d\'appareil audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Inconnu"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Haut-parleur"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Moyen"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Élevé"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Cette application ne peut être ouverte que dans une seule fenêtre."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Activé"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Fonctionnalité désactivée"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Désactivé"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Désactivé"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Activée"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Désactivée"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Activée"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Désactivée"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Les écrans clairs deviennent sombres et vice-versa"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoomer sur l\'écran"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Désactivée"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Désactivés"</string>
+    <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ée"</string>
+    <string name="about_phone_device_name_warning" msgid="3243226572404472381">"Le nom de votre appareil est visible aux applications 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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Analyse d\'applications trompeuses"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifiez l\'activité des applications pour détecter les tentatives d\'hameçonnage"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utiliser l\'analyse des applications trompeuses"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utiliser l\'analyse des applications trompeuses pour le travail"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Le mot de passe a été configuré"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Afficher le curseur lorsque vous pointez avec le stylet"</string>
 </resources>
diff --git a/res/values-fr/arrays.xml b/res/values-fr/arrays.xml
index 4908691..38252ae 100644
--- a/res/values-fr/arrays.xml
+++ b/res/values-fr/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponible"</item>
     <item msgid="6096962300722555553">"Hors de portée"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Utiliser la valeur par défaut du système : <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Après 1 minute"</item>
     <item msgid="1574040255478150028">"Après 5 minutes"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-fr/strings.xml b/res/values-fr/strings.xml
index 9e25102..165bf1f 100644
--- a/res/values-fr/strings.xml
+++ b/res/values-fr/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Vous êtes désormais un développeur !"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Inutile, vous êtes déjà un développeur."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Veuillez tout d\'abord activer les options pour les développeurs."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Seuls les administrateurs peuvent accéder aux paramètres développeur."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Système"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En service"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hors-service"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"L\'écran frontal s\'allume lorsque vous pliez votre appareil"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Seulement pour les jeux, les vidéos et autres"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"L\'écran frontal s\'allume pour les applis qui empêchent la mise en veille de l\'écran"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Balayer vers le haut pour continuer"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Pliez votre téléphone et balayez vers le haut sur l\'écran frontal pour continuer à utiliser l\'application, ou attendez quelques secondes pour que l\'écran se verrouille"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Jamais"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"L\'écran frontal se verrouille lorsque vous pliez votre appareil"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Utiliser la rotation automatique"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Similaires"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Sonnerie et alarmes"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio pendant les appels"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimédia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notif. et autres sons système"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons des médias et du système"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifications"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Par défaut, la sortie audio est déterminée par chaque appli"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Appareil Bluetooth sans nom"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Recherche en cours"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Annuler"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Désactiver Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Désactiver la fonctionnalité Bluetooth LE Audio si l\'appareil accepte les capacités matérielles LE Audio"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Mode Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Voir LE Audio dans Détails de l\'appareil"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Activer la liste d\'autorisation Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Activer la fonctionnalité de liste d\'autorisation Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Liste d\'autorisation de contournement Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Utilisez LE Audio par défaut même si le périphérique LE Audio n\'a pas été vérifié pour remplir les critères de la liste d\'autorisation."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Périphériques multimédias"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Appareils servant pour les appels"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Autres appareils"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Appareils enregistrés"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associé au compte"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Utilisé précédemment avec le compte"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Le Bluetooth sera activé pour permettre l\'association"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Préférences de connexion"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Connecté précédemment"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth activé"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tout afficher"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Tout afficher"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylet"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Appui sur le bouton du stylet"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profil professionnel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Écrire dans les champs de texte"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer toutes les pressions sur les boutons du stylet"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylet"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Partage du contenu audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partager le contenu audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Appels et alarmes"</string>
+    <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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Connecter à un flux audio à l\'aide d\'un code QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Aucun flux audio n\'a été détecté"</string>
     <string name="date_and_time" msgid="1788358029823431692">"Date et heure"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Effacer"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Pour sélectionner une langue pour chaque appli, accédez aux 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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Ajouter %s aux langues préférées ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Cela permet aux applis et sites Web de savoir que vous préférez aussi cette langue."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Les paramètres et préférences régionales de votre appareil seront modifiés."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Modifier"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s indisponible"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Samedi"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Si une appli ne prend pas en charge les préférences régionales, elle utilisera ses paramètres régionaux par défaut."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Découvrez-en davantage sur les préférences linguistiques."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Préférences supplémentaires"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Genre grammatical"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Sélectionnez la manière dont vous souhaitez que l\'on s\'adresse à vous."</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Les applications sont susceptibles d\'utiliser le genre grammatical que vous spécifiez pour personnaliser la façon dont elles s\'adressent à vous."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Non défini"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Féminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculin"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutre"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Retirer la langue sélectionnée ?}one{Retirer la langue sélectionnée ?}other{Retirer les langues sélectionnées ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Le texte s\'affichera dans une autre langue."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Impossible de supprimer toutes les langues"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Localisation"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Utiliser la localisation"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Désactivé"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Activé - # appli a accès à votre position}one{Activé - # appli a accès à votre position}other{Activé - # applis ont accès à votre position}}"</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_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="5329024810729665156">"Découvrez-en davantage sur les paramètres de localisation."</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="3574930966097093550">"Pour modifier l\'accès à la position, allez dans Paramètres &gt; Sécurité &gt; Paramètres de confidentialité"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Comptes"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sécurité"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Chiffrement et identifiants"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Pour de meilleurs résultats, utilisez une protection d\'écran certifiée Made for Google. L\'empreinte digitale de votre enfant peut ne pas être reconnue avec d\'autres protections d\'écran."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Déverrouillage par une montre"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Si vous configurez le déverrouillage par reconnaissance faciale et par empreinte digitale, votre téléphone vous demandera votre empreinte quand vous porterez un masque ou que vous serez dans un endroit sombre.\n\nVous pouvez utiliser votre montre pour le déverrouillage quand votre visage ou votre empreinte ne sont pas reconnus."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Vous pouvez utiliser votre montre pour le déverrouillage quand votre empreinte n\'est pas reconnue."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Vous pouvez utiliser votre montre pour le déverrouillage quand votre visage n\'est pas reconnu."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Si vous configurez le déverrouillage par reconnaissance faciale et par empreinte digitale, votre téléphone vous demandera votre empreinte quand vous porterez un masque ou que vous serez dans un endroit sombre.\n\nLe Déverrouillage par une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple lorsque vos doigts sont mouillés ou que votre visage n\'est pas reconnu."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Le Déverrouillage par une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple, lorsque votre empreinte digitale n\'est pas reconnue."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Le Déverrouillage par une montre est un autre moyen pratique de déverrouiller votre téléphone, par exemple, lorsque votre visage n\'est pas reconnu."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Utiliser votre empreinte digitale ou montre pour"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Utiliser votre visage ou montre pour"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Utiliser votre visage, empreinte digitale ou montre pour"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Le Déverrouillage par une montre est un autre moyen pratique de déverrouiller ce téléphone, par exemple, lorsque vos doigts sont mouillés ou que votre visage n\'est pas reconnu.\n\nVous pouvez utiliser votre montre pour déverrouiller ce téléphone lorsque vous :"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Pas maintenant"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Plus"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Comment ça marche"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Votre montre doit être déverrouillée, sur votre poignet et à proximité de ce téléphone. Tant que vous porterez votre montre au poignet, vous n\'aurez pas besoin de la déverrouiller de nouveau."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Lorsque ce téléphone est déverrouillé, vous recevez une notification sur votre montre. S\'il a été déverrouillé alors que vous n\'en aviez pas l\'intention, appuyez sur la notification pour verrouiller à nouveau le téléphone."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Vous avez le contrôle"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Vous pouvez retirer à tout moment votre montre de Déverrouillage par une montre dans les paramètres"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Appuyez sur une notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Balayez l\'écran de verrouillage vers le haut"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Sélectionner votre montre"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Montres disponibles"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Annuler"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmer"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Vous avez terminé !"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Vous pouvez désormais utiliser votre montre pour déverrouiller ce téléphone lorsque vous balayez l\'écran de verrouillage vers le haut ou appuyez sur une notification."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"OK"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Déverrouillage par une montre"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Vous pouvez utiliser votre montre pour déverrouiller ce téléphone lorsque vous balayez l\'écran de verrouillage vers le haut ou appuyez sur une notification."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Pour utiliser le Déverrouillage par une montre, votre montre doit être déverrouillée, à votre poignet, à proximité et connectée à ce téléphone. Si la connexion est interrompue, vous devrez déverrouiller le téléphone avant de pouvoir utiliser le Déverrouillage par une montre.\n\nÀ noter :\nVous ne pouvez avoir qu\'une seule montre configurée à la fois. Retirez la montre actuelle pour pouvoir en ajouter une autre."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sécurité"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Confidentialité"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profil professionnel"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espace privé"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Gardez les applications privées verrouillées et masquées"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Gardez vos applis privées dans un espace séparé que vous pouvez masquer ou verrouiller"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Verrouillage de l\'espace privé"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Vous pouvez déverrouiller votre espace privé de la même manière que vous déverrouillez votre appareil ou bien choisir un verrouillage différent"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Utiliser le verrouillage de l\'écran de l\'appareil"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Déverrouillage par reconnaissance faciale/empreinte digitale"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Déverrouillage par empreinte digitale"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Déverrouillage par reconnaissance faciale"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Appuyez pour configurer"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Déverrouillage de l\'espace privé par empreinte digitale"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Déverrouillage de l\'espace privé par reconnaissance faciale"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Méthodes de déverrouillage"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Comme pour verrouiller l\'écran de l\'appareil"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Choisir un nouveau verrouillage d\'espace privé ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Verrouiller l\'espace privé automatiquement"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Vous avez la possibilité de verrouiller votre espace privé automatiquement lorsque vous n\'utilisez pas votre appareil pendant un certain temps"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"À chaque verrouillage de l\'appareil"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Après 5 minutes d\'inactivité"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Jamais"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Masquer lorsque l\'application est verrouillée"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Masquer l\'espace privé lorsque l\'appli est verrouillée"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Afin que personne ne puisse savoir que vous possédez un espace privé sur votre appareil, vous pouvez le faire disparaître de votre liste d\'applications"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Accéder à l\'espace privé lorsque l\'appli est masquée"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Tapez \"espace privé\" dans la barre de recherche de votre liste d\'applications"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Appuyez sur la vignette Espace privé"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Déverrouillez votre espace privé"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Désactivé"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activé"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Système"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Supprimer l\'espace privé"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Supprimer l\'espace privé ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"L\'espace privé sera supprimé de votre appareil. L\'ensemble des applis et données privées seront supprimées. Vous ne pourrez pas annuler cette action."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Les comptes suivants seront supprimés de votre espace privé :"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Supprimer"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Suppression de l\'espace privé…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Cela peut prendre quelques instants"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Espace privé supprimé"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Impossible de supprimer l\'espace privé"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espace privé déverrouillé"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Définir le verrouillage de l\'écran"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Pour utiliser votre espace privé, définissez un verrouillage de l\'écran sur cet appareil"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Activer le verrouillage de l\'écran"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuler"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Annuler"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configuration"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configurer un espace privé"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Gardez vos applis privées dans un espace séparé que vous pouvez masquer ou verrouiller"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Comment ça marche ?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Vous pouvez accéder à votre espace privé à partir du bas de votre liste d\'applis"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Les applis dans votre espace privé sont protégées par un verrouillage"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Les notifications des applis figurant dans votre espace privé sont masquées lorsque ces applis sont verrouillées"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Les applis installées dans votre espace privé n\'apparaîtront ni dans le gestionnaire d\'autorisations, ni dans le tableau de bord Confidentialité. Lorsque votre espace privé est verrouillé, d\'autres paramètres sont également concernés. \n\nIl est impossible de basculer votre espace privé sur un autre appareil. Vous devrez configurer un autre espace privé si vous souhaitez l\'utiliser sur un autre appareil.\n\nQuiconque connecte votre appareil à un ordinateur ou y installe des applis malveillantes peut avoir accès à votre espace privé."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configuration de l\'espace privé…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Les notifications provenant des applis de l\'espace privé sont masquées lorsque celui-ci est verrouillé"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Déverrouillez votre espace privé pour partager des photos ou des fichiers"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Certaines applis sont déjà installées dans votre 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_lockscreen_title" msgid="6034864097861137509">"Utiliser le verrouillage de l\'écran pour déverrouiller l\'espace privé ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Vous pouvez déverrouiller votre espace privé de la même manière que vous déverrouillez votre appareil ou bien choisir un verrouillage différent"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Utiliser le verrouillage de l\'écran"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Choisir un nouveau verrouillage"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tout est prêt !"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Pour accéder à votre espace privé, rendez-vous dans votre liste d\'applications, puis faites défiler vers le bas"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"OK"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Faites défiler vers le bas pour trouver votre espace privé"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Se connecter"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Connectez-vous à un compte à utiliser avec votre espace privé."</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Pas maintenant"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuer"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Choisissez une méthode de verrouillage pour l\'espace privé"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Vous pouvez déverrouiller votre espace privé à l\'aide de votre empreinte digitale. Pour plus de sécurité, cette option doit être associée à une méthode secondaire de verrouillage."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Définir un code PIN pour l\'espace privé"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Définir un mot de passe pour l\'espace privé"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Définir un schéma pour l\'espace privé"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Vous pouvez ajouter jusqu\'à <xliff:g id="COUNT">%d</xliff:g> empreintes digitales"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Vous avez ajouté le nombre maximal autorisé d\'empreintes digitales"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossible d\'ajouter d\'autres empreintes digitales"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Schéma"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Code"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Mot de passe"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Supprimer le verrouillage de l\'écran ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Supprimer toutes les méthodes de déverrouillage de l\'appareil"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Supprimer la protection du profil ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Un schéma protège votre téléphone en cas de perte ou de vol"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Un schéma protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>L\'empreinte digitale stockée sur votre appareil sera supprimée. Votre empreinte faciale sera également supprimée définitivement de façon sécurisée. Vous ne pourrez pas vous authentifier dans les applis à l\'aide de votre empreinte faciale ou digitale."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Un code protège votre téléphone en cas de perte ou de vol"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Les données que vous avez sauvegardées, telles que votre code seront perdues.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le paiement sans contact seront supprimées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ainsi que d\'autres applis nécessitant que l\'appareil soit déverrouillé sont susceptibles de ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Un code protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>L\'empreinte digitale stockée sur votre appareil sera également supprimée. Vous ne pourrez pas vous authentifier dans les applis à l\'aide de votre empreinte digitale."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Les données que vous avez sauvegardées, telles que votre code ou votre empreinte digitale seront perdues.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le paiement sans contact seront supprimées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ainsi que d\'autres applis nécessitant que l\'appareil soit déverrouillé sont susceptibles de ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Un code protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Votre empreinte faciale sera également supprimée définitivement de façon sécurisée. Vous ne pourrez pas vous authentifier dans les applis à l\'aide de votre empreinte faciale."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Les données que vous avez sauvegardées, telles que votre code ou votre empreinte faciale seront perdues.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le paiement sans contact seront supprimées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ainsi que d\'autres applis nécessitant que l\'appareil soit déverrouillé sont susceptibles de ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Un code protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>L\'empreinte digitale stockée sur votre appareil sera supprimée. Votre empreinte faciale sera également supprimée définitivement de façon sécurisée. Vous ne pourrez pas vous authentifier dans les applis à l\'aide de votre empreinte faciale ou digitale."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Les données que vous avez sauvegardées, telles que votre code, votre empreinte faciale ou digitale seront perdues.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Les cartes configurées pour le paiement sans contact seront supprimées.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ainsi que d\'autres applis nécessitant que l\'appareil soit déverrouillé sont susceptibles de ne pas fonctionner correctement."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Un mot de passe protège votre téléphone en cas de perte ou de vol"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Un mot de passe protège votre téléphone en cas de perte ou de vol.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Associer à <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Ajoutez un nouveau membre à l\'ensemble coordonné existant"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirmez pour ajouter le deuxième élément de votre appareil audio."</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Code d\'association Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Saisissez le code d\'association, puis appuyez sur Retour ou Entrée."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Le code PIN contient des lettres ou des symboles."</string>
@@ -646,16 +795,18 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Doit comporter 16 chiffres."</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Vous devrez peut-être également saisir ce code sur l\'autre appareil."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Vous devrez peut-être également saisir ce mot de passe sur l\'autre appareil."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirmez pour associer à l\'ensemble coordonné"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirmez pour associer l\'appareil audio."</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Autoriser l\'accès à vos contacts et à l\'historique de vos appels"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Autoriser l\'accès aux contacts et à l\'historique des appels"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Les infos seront utilisées pour les notifications d\'appels, entre autres"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Impossible de se connecter à <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Appareils disponibles"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connecter"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Déconnecter"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Associer et connecter"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Quand le Bluetooth est activé, votre appareil peut communiquer avec d\'autres appareils Bluetooth à proximité."</string>
-    <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 géolocalisés. Vous pouvez modifier ce réglage dans les paramètres de recherche Bluetooth."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth activé : Votre appareil communique avec d\'autres appareils à proximité."</string>
+    <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_scan_change" msgid="1744636222637390367">"Modifier"</string>
     <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>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Autoriser ART à valider le bytecode des applications pouvant être déboguées"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Voir la fréquence d\'actualisation"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afficher la fréquence d\'actualisation actuelle"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afficher le format HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Afficher le format HDR/SDR actuel"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exiger le déverrouillage de l\'appareil pour le NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,11 +878,14 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"En mode Avion"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notifier en cas de réseaux publics"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"M\'avertir lorsqu\'un réseau public de haute qualité est disponible"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Autoriser les réseaux WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP est un ancien protocole de sécurité moins sécurisé"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Votre opérateur n\'autorise pas les réseaux WEP parce qu\'ils sont moins sécurisés"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activer automatiquement le Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Le Wi‑Fi se réactivera à proximité des réseaux haute qualité enregistrés, par ex. le réseau de votre domicile"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Indisponible, car le service de localisation est désactivé. Activez la "<annotation id="link">"localisation"</annotation>"."</string>
     <string name="wifi_install_credentials" msgid="5192903644606839972">"Installer les certificats"</string>
-    <string name="wifi_scan_notify_text" msgid="7163137260385995873">"Pour mieux vous localiser, 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 géolocalisés. Vous pouvez modifier ce réglage dans les <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>paramètres de recherche Wi-Fi<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
+    <string name="wifi_scan_notify_text" msgid="7163137260385995873">"Pour mieux vous localiser, 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 ce réglage dans les <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>paramètres de recherche Wi-Fi<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
     <string name="wifi_scan_notify_text_scanning_off" msgid="7439201783168213149">"Pour une localisation plus précise, activez la recherche Wi-Fi dans les <xliff:g id="LINK_BEGIN_0">LINK_BEGIN</xliff:g>paramètres de recherche Wi‑Fi<xliff:g id="LINK_END_1">LINK_END</xliff:g>."</string>
     <string name="wifi_cellular_data_fallback_title" msgid="2844653839490977040">"Se connecter automatiquement au réseau de données mobiles"</string>
     <string name="wifi_cellular_data_fallback_summary" msgid="7039944853033554386">"Les données mobiles sont utilisées si vous n\'avez pas accès à Internet via le réseau Wi‑Fi. Des frais liés à la consommation des données peuvent s\'appliquer."</string>
@@ -743,9 +899,15 @@
     <string name="wifi_empty_list_user_restricted" msgid="454861411536708709">"Vous n\'avez pas l\'autorisation de modifier le réseau Wi‑Fi."</string>
     <string name="wifi_settings_scanning_required_title" msgid="1088663325396007484">"Activer la recherche Wi-Fi ?"</string>
     <string name="wifi_settings_scanning_required_summary" msgid="4770243653675416569">"Pour activer automatiquement le Wi‑Fi, vous devez d\'abord activer la recherche Wi‑Fi."</string>
-    <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La recherche Wi-Fi autorise les applis et les services à rechercher des réseaux Wi-Fi à tout moment, même si le Wi-Fi est désactivé. Ce réglage peut, par exemple, servir à améliorer les fonctionnalités et les services géolocalisés."</string>
+    <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La recherche Wi-Fi autorise les applis et les services à rechercher des réseaux Wi-Fi à tout moment, même si le Wi-Fi est désactivé. Ce réglage peut, par exemple, servir à améliorer les fonctionnalités et les services basés sur la localisation."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activer"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Recherche Wi-Fi activée"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ce réseau utilise un ancien protocole de sécurité moins sécurisé"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Le réseau <xliff:g id="NAME">%1$s</xliff:g> est bloqué"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ce réseau utilise un ancien protocole de sécurité appelé WEP, qui est moins sécurisé. Pour vous connecter malgré tout, vous pouvez autoriser les réseaux WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Votre opérateur ne vous permet pas de vous connecter à ce réseau parce qu\'il utilise un ancien protocole moins sécurisé"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Autoriser le WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Fermer"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Options avancées"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Liste déroulante \"Options avancées\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"développer"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Rester en Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ne plus afficher"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Se connecter"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi activé"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connecté à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connexion à <xliff:g id="NETWORK_NAME">%1$s</xliff:g>…"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connexion…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Échec de la connexion au réseau."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Réseau hors de portée"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Supprimer"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modifier"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Échec de la suppression du réseau."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Enregistrer"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Échec de l\'enregistrement du réseau."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Annuler"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Données mobiles"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> - Recharge en cours"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> - Recharge en cours"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Connexion du point d\'accès"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Force de connexion"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Réseaux enregistrés"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Aucun mot de passe défini"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nom du point d\'accès"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Mot de passe du point d\'accès"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Bande du point d\'accès"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Désactiver le point d\'accès automatiquement"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Lorsqu\'il n\'y a aucun appareil connecté"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Étendre la compatibilité"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balance des blancs de l\'écran"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuer à utiliser les applis quand l’appareil est plié"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Affichage fluide"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Augmente automatiquement la fréquence d\'actualisation de 60 à <xliff:g id="ID_1">%1$s</xliff:g> Hz pour certains contenus. Sollicite davantage la batterie."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Désactiver la fréquence d\'images par défaut pour les jeux"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Désactiver la limitation de la fréquence d\'images maximale à <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz pour les jeux"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Affichage fluide"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Augmente automatiquement la fréquence d\'actualisation jusqu\'à <xliff:g id="ID_1">%1$d</xliff:g> Hz pour certains contenus. Sollicite davantage la batterie."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forcer la fréquence d\'actualisation crête"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Fréquence d\'actualisation la plus élevée pour améliorer la réactivité au toucher et la qualité d\'animation. La batterie est davantage sollicitée."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Regard sur écran"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Regard sur écran utilise la caméra frontale pour détecter si quelqu\'un regarde l\'écran. Il opère sur l\'appareil uniquement, et les images ne sont jamais enregistrées ni envoyées à Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activer Regard sur l\'écran"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Garde l\'écran allumé quand vous le regardez"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Un délai plus long de mise en veille de l\'écran sollicitera davantage la batterie."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"L\'appareil photo est verrouillé"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Vous devez déverrouiller l\'appareil photo pour la détection de visages"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"L\'appareil photo doit être déverrouillé pour utiliser Regard sur écran"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"Code IMEI (emplacement SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"Code IMEI (emplacement SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Pour l\'afficher, sélectionnez un réseau enregistré"</string>
+    <string name="status_imei" msgid="5719752369250485007">"Code IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"Code IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Version de la liste d\'itinérance préférée"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Niveau de la batterie"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Communs"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Paramètres communs"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Messagerie par satellite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Modifier le point d\'accès"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Ajouter un point d\'accès"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Non défini"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Non défini"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nom"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN activé"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN désactivé"</string>
     <string name="bearer" msgid="3231443241639159358">"Porteur"</string>
+    <string name="network_type" msgid="748590707422733595">"Type de réseau"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Non spécifié"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Type MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valeur MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Supprimer l\'APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Enregistrer"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annuler"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Dupliquez une entrée APN."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Le champ \"Nom\" est obligatoire."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"L\'APN est obligatoire."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Le champ MCC doit contenir 3 chiffres."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Le champ MNC doit contenir 2 ou 3 chiffres."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"L\'opérateur n\'autorise pas l\'ajout d\'APN de type %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Le champ MMSC doit être valide."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restauration des paramètres APN par défaut en cours..."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Rétablir param. par défaut"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"La réinitialisation des paramètres APN par défaut est terminée."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Réinitialiser"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Le Bluetooth et le Wi‑Fi ont été réinitialisés"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Effacer les eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Cela n\'entraînera la résiliation d\'aucun forfait mobile. Pour télécharger des SIM de remplacement, contactez votre opérateur."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Votre forfait mobile ne sera pas résilié. Pour obtenir une carte SIM de rechange, contactez votre opérateur."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Réinitialiser les paramètres"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Réinitialiser tous les paramètres du réseau ? Cette action est irréversible."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Réinitialiser tous les paramètres réseau et effacer les eSIM ? Cette action est irréversible."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Réinitialiser ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"La réinitialisation du réseau n\'est pas disponible pour cet utilisateur."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Les paramètres réseau ont bien été réinitialisés."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Impossible d\'effacer les profils SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Une erreur empêche d\'effacer les eSIM.\n\nRedémarrez votre appareil et réessayez."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Impossible d\'effacer les cartes eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Une erreur est survenue et vos cartes eSIM n\'ont pas été effacées.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Effacer toutes les données (rétablir la configuration d\'usine)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Effacer données (rétablir config. d\'usine)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"La musique"</li>\n<li>"Les photos"</li>\n<li>"Les autres données utilisateur"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"Les cartes eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Cette opération n\'annulera pas votre forfait mobile."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Toutes vos informations personnelles et les applications téléchargées seront supprimées. Cette action est irréversible."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Toutes vos infos personnelles, y compris les applis et les profils SIM téléchargés, seront supprimées. Cette action est irréversible."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Toutes vos informations personnelles, y compris les applications et les cartes SIM téléchargées, seront supprimées. Vous ne pourrez pas annuler cette action."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Effacer toutes les données ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Le rétablissement de la configuration d\'usine n\'est pas disponible pour cet utilisateur"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Suppression en cours"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Point d\'accès, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Connexion Internet non partagée avec d\'autres appareils"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Désactivé"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Partage de connexion"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne pas utiliser le point d\'accès Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Ne partager Internet que via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Ne partager Internet que via le Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Ne partager Internet que via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Ne partager Internet que via le Bluetooth et USB"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Ne partager Internet que via USB et Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Ne partager Internet que via le Bluetooth et Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Ne partager Internet que via le Bluetooth, USB et Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Partage via USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Partage via Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Partage via Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utilisez un point d\'accès et le partage de connexion pour fournir Internet à d\'autres appareils via votre connexion au Wi-Fi ou aux données mobiles. Les applis peuvent aussi créer un point d\'accès pour partager des contenus avec des appareils à proximité."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Aide"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Réseau mobile"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Forfait mobile"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Appli de SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Changer d\'application pour les SMS ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Utiliser <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> comme application SMS ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Changer d\'assistant Wi‑Fi ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Utiliser <xliff:g id="NEW_APP">%1$s</xliff:g> au lieu de <xliff:g id="CURRENT_APP">%2$s</xliff:g> pour gérer vos connexions réseau ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Utiliser <xliff:g id="NEW_APP">%s</xliff:g> pour gérer vos connexions réseau ?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Opérateur de carte SIM inconnu"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Aucun site Web de gestion des comptes connu pour <xliff:g id="OPERATOR">%1$s</xliff:g>"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Insérez la carte SIM, puis redémarrez."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Connectez-vous à Internet."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Demandes de localisation récentes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Position du profil pro"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Accès des applis à la position"</string>
@@ -1382,9 +1536,9 @@
     <string name="location_high_battery_use" msgid="4277318891200626524">"Forte utilisation de la batterie"</string>
     <string name="location_low_battery_use" msgid="5218950289737996431">"Faible utilisation de batterie"</string>
     <string name="location_scanning_wifi_always_scanning_title" msgid="5004781272733434794">"Recherche Wi‑Fi"</string>
-    <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Autorisez les applis et les services à rechercher des réseaux Wi-Fi à tout moment, même si le Wi-Fi est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services géolocalisés."</string>
+    <string name="location_scanning_wifi_always_scanning_description" msgid="6236055656376931306">"Autorisez les applis et les services à rechercher des réseaux Wi-Fi à tout moment, même si le Wi-Fi est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
     <string name="location_scanning_bluetooth_always_scanning_title" msgid="1809309545730215891">"Recherche Bluetooth"</string>
-    <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Autorisez les applis et les services à rechercher des appareils à proximité à tout moment, même si le Bluetooth est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services géolocalisés."</string>
+    <string name="location_scanning_bluetooth_always_scanning_description" msgid="5362988856388462841">"Autorisez les applis et les services à rechercher des appareils à proximité à tout moment, même si le Bluetooth est désactivé. Cela peut permettre, par exemple, d\'améliorer les fonctionnalités et les services basés sur la localisation."</string>
     <string name="location_services_preference_title" msgid="604317859531782159">"Services de localisation"</string>
     <string name="location_services_screen_title" msgid="5640002489976602476">"Services de localisation"</string>
     <string name="location_time_zone_detection_toggle_title" msgid="6478751613645015287">"Utiliser la position"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Supprimer l\'accès"</string>
     <string name="controls_label" msgid="8671492254263626383">"Commandes"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forcer l\'arrêt"</string>
+    <string name="archive" msgid="9074663845068632127">"Archiver"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurer"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restauration…"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restauration en cours."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restauration…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restauration…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Taille de l\'application"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Application sur USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Impossible de calculer la taille du package."</string>
     <string name="version_text" msgid="7628938665256107608">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Déplacer"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Échec de l\'archivage"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> archivée"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Échec de la restauration"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restauration de <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Une autre migration est déjà en cours."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Espace de stockage insuffisant."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"L\'application n\'existe pas."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Clavier à l\'écran disponible"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gérer les claviers à l\'écran"</string>
     <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="6922850403920596246">"Activez les Touches à rebonds pour une accessibilité accrue sur un clavier physique"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Touches lentes"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Activez les touches lentes pour une accessibilité accrue sur un clavier physique."</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Touches persistantes"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Activer les Touches persistantes pour une accessibilité accrue sur un clavier physique"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Appuyez en bas à droite du pavé tactile pour plus d\'options"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Vitesse du pointeur"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Découvrir gestes au pavé tactile"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Retour à l\'accueil"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Balayez vers le haut avec trois doigts sur le pavé tactile"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Retour"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Trier par temps d\'utilisation"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Trier par dernière utilisation"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Trier par nom d\'appli"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Dernière utilisation"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Dernière utilisation"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"jamais"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Durée d\'utilisation"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibilité"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Paramètres d\'accessibilité"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Agrandir en appuyant trois fois"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Agrandir avec un raccourci"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Agrandir avec un raccourci et trois tapotements"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"À propos de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utiliser le bouton Accessibilité pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Maintenir enfoncés les boutons de volume pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Appuyez trois fois sur l\'écran pour ouvrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Appuyer deux fois sur l\'écran avec deux doigts pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utiliser un geste pour ouvrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Utiliser le geste d\'accessibilité"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Pour utiliser cette fonctionnalité, appuyez sur le bouton Accessibilité <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> en bas de l\'écran.\n\nPour changer de fonctionnalité, appuyez dessus de manière prolongée."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Pour utiliser cette fonctionnalité, appuyez sur le bouton Accessibilité sur l\'écran."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Pour utiliser cette fonctionnalité, appuyez de manière prolongée sur les deux boutons de volume."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Pour lancer ou arrêter l\'agrandissement, appuyez trois fois n\'importe où sur l\'écran."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Pour commencer et arrêter l\'agrandissement, appuyez deux fois sur votre écran avec deux doigts."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Pour utiliser cette fonctionnalité, balayez l\'écran vers le 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Pour utiliser cette fonctionnalité, balayez l\'écran vers le 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Pour utiliser une fonctionnalité d\'accessibilité, balayez l\'écran vers le 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Pour utiliser une fonctionnalité d\'accessibilité, balayez l\'écran vers le 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Paramètres bouton Accessibilité"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Paramètres du bouton"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Raccourci vers <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Bouton Accessibilité"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Geste Accessibilité"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Maintenir enfoncés les boutons de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"maintenir enfoncés les boutons de volume"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Appuyer 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"appui double à deux doigts sur l\'écran"</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="6863958573135995927">"appuyer trois fois sur l\'écran"</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>
@@ -1923,10 +2103,10 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"En savoir plus sur le bouton et le geste d\'accessibilité"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Utilisation du bouton Accessibilité. Geste indisponible avec la navigation à trois boutons."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accès rapide aux fonctionnalités d\'accessibilité"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Pour commencer"</b>\n"1. Accédez aux paramètres d\'accessibilité\n2. Sélectionnez une fonctionnalité et appuyez sur le raccourci\n3. Indiquez si vous voulez accéder à cette fonctionnalité via un bouton ou par un geste"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Pour commencer"</b>\n"1. Accédez aux paramètres d\'accessibilité\n2. Sélectionnez une fonctionnalité et appuyez sur le raccourci\n3. Choisissez le bouton pour accéder à cette fonctionnalité"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Pour démarrer&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accédez aux paramètres d\'accessibilité&lt;br/&gt; {1,number,integer}. Sélectionnez une fonctionnalité et appuyez sur le raccourci&lt;br/&gt; {2,number,integer}. Précisez si vous souhaitez utiliser un bouton ou un geste pour accéder au paramètre&lt;br/&gt;."</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Pour démarrer&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accédez aux paramètres d\'accessibilité&lt;br/&gt; {1,number,integer}. Sélectionnez une fonctionnalité et appuyez sur le raccourci&lt;br/&gt; {2,number,integer}. Choisissez le bouton pour accéder à cette fonctionnalité&lt;br/&gt;."</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utiliser le bouton ou le geste"</string>
-    <string name="accessibility_button_location_title" msgid="7182107846092304942">"Emplacement"</string>
+    <string name="accessibility_button_location_title" msgid="7182107846092304942">"Position"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Taille"</string>
     <string name="accessibility_button_fade_title" msgid="8081993897680588829">"Disparaît s\'il n\'est pas utilisé"</string>
     <string name="accessibility_button_fade_summary" msgid="7865950833524973709">"Disparaît après quelques secondes pour que vous puissiez mieux voir l\'écran"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Bouton Marche/Arrêt pour raccrocher"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Agrandir le curseur"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Rendre le curseur plus visible"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Passer toutes les applis en mode sombre"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Concerne les applis n\'ayant pas leur propre thème sombre. Certaines applis peuvent présenter des problèmes d\'affichage tels qu\'un inversement des couleurs."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Supprimer les animations"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Réduire les mouvements à l\'écran"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Utiliser le vibreur et le retour haptique"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibreur des alarmes"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibreur des contenus multimédias"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibration du clavier"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibreur de la sonnerie"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibreur des notifications"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Retour tactile"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Arrêter"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuler"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Arrêter <xliff:g id="SERVICE">%1$s</xliff:g> ?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Si vous appuyez sur <xliff:g id="STOP">%1$s</xliff:g>, le service <xliff:g id="SERVICE">%2$s</xliff:g> sera arrêté."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Désactiver"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Ne pas désactiver"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Désactiver <xliff:g id="SERVICE">%1$s</xliff:g> ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Aucun service installé"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Aucun service sélectionné"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Aucune description fournie"</string>
     <string name="settings_button" msgid="2195468788019730377">"Paramètres"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilité à la lumière, photophobie, thème sombre, migraine, mal de tête, mode lecture, mode nuit, réduire la luminosité, point blanc"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Simplicité d\'utilisation, facilité d\'accès, assistance, aide"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vision, audition, aveugle, sourd, motricité, dextérité, assistance, facilité d\'utilisation, facilité d\'accès, main, aide"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Agrandisseur de fenêtre, Zoom, Agrandissement, Déficience visuelle, Agrandir, zoomer"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Sous-titres, sous-titrage, ST, Transcription instantanée, malentendant, perte d\'audition, sous-titrage en temps réel, reconnaissance vocale, sous-titre"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste des couleurs"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"moteur, souris"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"appareils auditifs, malentendant, perte d\'audition, implants cochléaires, appareils amplificateurs, processeurs audio"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motricité, souris, souris externe, head mouse, souris adaptative, fauteuil roulant, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"appareils auditifs, malentendant, perte d\'audition, implants cochléaires, appareils amplificateurs, processeurs audio, CRAU"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"malentendant, perte d\'audition, sous-titres, téléscripteur, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"trois boutons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dextérité, motricité, senior, arthrite, TMS, accident vasculaire cérébral, tremblements, sclérose en plaques, paralysie cérébrale, troubles musculosquelettiques, main"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"retard, dextérité, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impression"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Désactivé"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 service d\'impression activé}one{# service d\'impression activé}other{# services d\'impression activés}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Temps restant : <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> avant chargement complet"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Temps d\'utilisation"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Temps en arrière-plan"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Batterie faible"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Autoriser l\'application à s\'exécuter en arrière-plan"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limiter l\'activité en arrière-plan ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si vous limitez l\'activité en arrière-plan d\'une application, cela peut provoquer son dysfonctionnement"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Cette appli n\'étant pas configurée pour optimiser batterie, vous ne pouvez pas la limiter.\n\nActivez optimisation batterie."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gérer l\'utilisation de la batterie"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Autoriser l\'utilisation en arrière-plan"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activer pour obtenir des mises à jour en temps réel, désactiver pour économiser de la batterie"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sans restriction"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimisée"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitée"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Voir les applis sollicitant le plus la batterie"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Recharge optimisée pour protéger votre batterie"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Pour prolonger la durée de vie de votre batterie, la recharge est optimisée"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Recharge optimisée pour protéger votre batterie"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Pour prolonger la durée de vie de votre batterie, la recharge est optimisée lorsque l\'appareil se trouve dans la station d\'accueil"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Recharge optimisée pour protéger votre batterie"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Pour prolonger la durée de vie de votre batterie, la recharge est optimisée lorsque l\'appareil se trouve sur la station d\'accueil"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Recharge complète"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Pour protéger votre batterie, la recharge sera optimisée la prochaine fois que la tablette se trouvera sur la station d\'accueil"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"En savoir plus sur la suspension de la recharge"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reprendre la recharge"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclut les activités en arrière-plan qui sollicitent fortement la batterie"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Cette application pourra utiliser la batterie en arrière-plan. Il se peut que vous arriviez à court de batterie plus vite que prévu."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Supprimer"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuler"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Recharger complètement"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problème de recharge de l\'accessoire"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Vérifier l\'accessoire de recharge"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"En savoir plus sur la recharge incompatible"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestionnaire de batterie"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gérer les applications automatiquement"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"depuis la dernière charge complète"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Applis système"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Applications désinstallées"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Autres"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Temps restant estimé"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Jusqu\'à la charge complète"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total : moins d\'une min"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Arrière-plan : moins d\'une minute"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Temps d\'utilisation : moins d\'une minute"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Moins d\'une minute"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total : <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Arrière-plan : <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Temps d\'utilisation : <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"maintenant"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Graphique d\'utilisation de la batterie"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Graphique d\'utilisation de la batterie par jour"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Graphique d\'utilisation de la batterie par heure"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Pourcentage du niveau de batterie de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> à <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Utilisation de la batterie depuis la dernière charge complète"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Utilisation de la batterie (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Temps d\'utilisation depuis la dernière charge complète"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal de numérotation d\'urgence"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Définir le comportement en cas d\'appel d\'urgence"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sauvegarde"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activé"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Désactivé"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sauvegarde et restauration"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Données personnelles"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sauvegarder mes données"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Données mobiles et Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Synchro auto des données perso"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Synchro auto des données pro"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Synchro auto : Données privées"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Changer le cycle..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Jour du mois de réinitialisation du cycle utilisation données :"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Aucune donnée utilisée par les applications pendant cette période."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nom"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresse du serveur"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Chiffrement PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifiant IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Clé pré-partagée IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat utilisateur IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de serveur IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Afficher les options avancées"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domaines de recherche DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Serveurs DNS (ex. : 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Routages (ex. : 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nom d\'utilisateur"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Mot de passe"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Enregistrer les informations de compte"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(non utilisé)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne pas valider le serveur)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(reçu du serveur)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ce type de VPN ne peut pas rester connecté en permanence"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Le VPN permanent n\'accepte que les adresses de serveur composées de chiffres"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Vous devez spécifier un serveur DNS pour le VPN permanent"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Les adresses de serveur DNS pour le VPN permanent doivent être composées de chiffres"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Les informations saisies ne sont pas acceptées avec le VPN permanent"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Annuler"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ignorer"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquer les connexions sans VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Exiger une connexion VPN ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Non sécurisé. Passez à un VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Échec du démarrage du VPN non pris en charge."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Sélectionnez un profil VPN auquel rester connecté en permanence. Le trafic réseau ne sera autorisé que lorsque vous serez connecté à ce VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Aucun"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Le VPN permanent nécessite une adresse IP pour le serveur et le DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertes enlèvement"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Recevoir les bulletins relatifs aux enlèvements d\'enfants"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Répéter"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Activer le gestionnaire d\'appels"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Autoriser ce service à gérer comment vous passez vos appels"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gestionnaire d\'appels"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertes d\'urgence sans fil"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Opérateurs de réseaux"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Noms des points d\'accès"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"État de la carte SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"État de la SIM (emplacement SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM modifiées."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Vos cartes SIM ont été interchangées"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Appuyez pour configurer."</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Toujours demander"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Veuillez sélectionner une option."</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Applications récentes, applications par défaut"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Les applications du profil professionnel n\'ont pas accès aux notifications."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Mots de passe et comptes"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Mots de passe enregistrés, saisie automatique, comptes synchronisés"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggestions relatives à la connexion et à la saisie automatique"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Applis par défaut"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Applications clonées"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Créez une deuxième instance d\'une appli afin de pouvoir utiliser deux comptes simultanément."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"portefeuille"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"payer, appuyer, paiements"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sauvegarde, sauvegarder"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"geste"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"visage, déverrouiller, authentifier, se connecter"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"visage, déverrouiller, authentification, se connecter, empreinte digitale, biométrie"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, version prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"taille du texte, gros caractères, grande police, gros texte, vision basse, agrandir le texte, agrandisseur de police, agrandissement de la police"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"Mode Always-on affichage ambiant, mode Always-on"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, tag, lecteur"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"clavier, technologies haptiques, vibreur"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibreur, Ne pas déranger"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume des contenus multimédias"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume de diffusion"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Sons de mise en route"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Sous-titres instantanés"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Sous-titrer automatiquement les contenus multimédias"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Haut-parleurs du téléphone"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Haut-parleurs de la tablette"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Haut-parleurs de l\'appareil"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Casque filaire"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Le son des appareils multimédias compatibles devient plus immersif"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Désactivé"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Afficher tout le contenu des notifications"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"N\'afficher les contenus sensibles que si l\'appareil est déverrouillé"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"N\'afficher aucune notification"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Que souhaitez-vous afficher sur l\'écran de verrouillage ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Que voulez-vous que votre écran de verrouillage affiche ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Écran de verrouillage"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Afficher tout le contenu des notifications professionnelles"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Masquer le contenu professionnel sensible"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Conversations récentes supprimées"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversation supprimée"</string>
     <string name="clear" msgid="5092178335409471100">"Effacer"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Supprimer <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Les conversations prioritaires ou modifiées s\'afficheront ici"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Lorsque vous marquerez une conversation comme prioritaire ou que vous la modifierez, elle s\'affichera ici. \n\nPour modifier les paramètres des conversations : \nBalayez l\'écran de haut en bas pour ouvrir le volet déroulant, puis appuyez de manière prolongée sur une conversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Réduire"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Délai de notifications"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Appliquer un délai à toutes les notifications"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Diminuer progressivement le volume des notifications lorsque vous recevez plusieurs notifications successives de la même application"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Appliquer un délai aux conversations"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Diminuer progressivement le volume des notifications lorsque vous recevez de nombreux messages d\'un même chat sur une courte période"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ne pas utiliser le délai des notifications"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Ne jamais réduire le volume des notifications, quel que soit le nombre de notifications successives provenant de la même application"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibreur en cas de déverrouillage"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibre uniquement lorsque l\'écran est déverrouillé"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Appliquer aux profils professionnels"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Appliquer les paramètres de délai des notifications de votre profil personnel à votre profil professionnel"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Services d\'assistance RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Aucune des applis installées n\'a demandé à être exécutée en tant que service d\'assistance pour la réalité virtuelle"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Autoriser \"<xliff:g id="SERVICE">%1$s</xliff:g>\" à accéder au service de RV ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Désactivé"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Épinglage d\'application"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Avec l\'épinglage d\'application, l\'application actuelle reste affichée jusqu\'à ce que vous la retiriez. Cette fonctionnalité vous permet, par exemple, de laisser une personne de confiance jouer à un jeu spécifique."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nPour utiliser l\'épinglage d\'appli : 	\n1. Activez l\'épinglage d\'appli 	\n2. Ouvrez \"Récents\" 	\n3. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nSi vous souhaitez partager votre appareil de manière sécurisée, essayez plutôt d\'utiliser un profil invité. \n\nPour utiliser l\'épinglage d\'application, procédez comme suit : 	\n1. Activez l\'épinglage d\'application 	\n2. Ouvrez \"Récents\" 	\n3. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nPour utiliser l\'épinglage d\'application : 	\n{0,number,integer}. Activer l\'épinglage d\'application 	\n{1,number,integer}. Ouvrir Récents 	\n{2,number,integer}. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Les données personnelles peuvent être accessibles et d\'autres applis peuvent être ouvertes depuis une appli épinglée. \n\nSi vous souhaitez partager votre appareil de manière sécurisée, essayez plutôt d\'utiliser un profil invité. \n\nPour utiliser l\'épinglage d\'application : 	\n{0,number,integer}. Activer l\'épinglage d\'application 	\n{1,number,integer}. Ouvrir Récents 	\n{2,number,integer}. Appuyez sur l\'icône d\'appli en haut de l\'écran, puis sur \"Épingler\""</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Lorsqu\'une application est épinglée : \n\n•	 Des données à caractère personnel peuvent être accessibles (comme des contacts et le contenu d\'e-mails) \n•		D\'autres applis peuvent être ouvertes depuis l\'application épinglée \n\nN\'utilisez l\'épinglage d\'application qu\'avec des personnes de confiance.\n"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Demander le schéma de déverrouillage avant de retirer l\'épingle"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Demander le code avant de retirer l\'épingle"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Demander le mot de passe avant de retirer l\'épingle"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Verrouiller l\'appareil quand l\'épingle est retirée"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmer la suppression de la SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Souhaitez-vous vraiment effacer votre carte eSIM ?"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Confirmer votre identité avant d\'effacer une eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protection avancée mémoire (bêta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protection avancée de la mémoire"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Paramètres de l\'appli si inutilisée"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Suspendre l\'activité si inutilisée"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Retirer les autorisations, supprimer les fichiers temporaires et arrêter les notifications"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gérer l\'appli si inutilisée"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Retirer les autorisations, supprimer les fichiers temporaires, arrêter les notifications et archiver l\'appli"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Toutes les applis"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Applications installées"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Applis instantanées"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Disponible"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Mémoire utilisée par les applications"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 appli a utilisé de la mémoire au cours du dernier {time}}one{# appli a utilisé de la mémoire au cours du dernier {time}}other{# applis ont utilisé de la mémoire au cours du dernier {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Activer le profilage de l\'utilisation de la mémoire"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Le profilage de l\'utilisation de la mémoire nécessite des ressources système supplémentaires."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilage de la mémoire désactivé"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Fréquence"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Utilisation maximale"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Aucune donnée utilisée"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Superposition sur d\'autres applis"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Autoriser la superposition sur d\'autres applis"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Autorisez cette appli à se superposer aux autres applis que vous utilisez. Elle pourra voir où vous appuyez ou modifier ce qui est affiché à l\'écran."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Modifier la sortie multimédia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Autoriser l\'appli à modifier la sortie média"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Autoriser cette appli à choisir quel appareil connecté peut lire une piste audio ou une vidéo à partir d\'autres applis. Si elle y a été autorisée, cette appli peut accéder à une liste d\'appareils disponibles tels que des casques audio ou des enceintes et choisir le périphérique de sortie à utiliser pour caster ou lire en streaming une piste audio ou une vidéo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Accès à tous les fichiers"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Autoriser l\'accès pour gérer tous les fichiers"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Autoriser cette appli à lire, modifier et supprimer tous les fichiers sur cet appareil ou sur n\'importe quel volume de stockage connecté. Si cette option est activée, l\'appli pourra accéder à des fichiers à votre insu."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Peut peut accéder à tous les fichiers"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Applications d\'activation vocale"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Autoriser l\'activation vocale"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'activation vocale active les applis approuvées, en mode mains libres, par commande vocale. Le capteur adaptatif intégré garantit que vos données restent privées.\n\n"<a href="">"En savoir plus sur le capteur adaptatif protégé"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notifications en plein écran"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Autoriser l\'appli à afficher les notifications en plein écran"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Autoriser cette appli à afficher des notifications occupant tout l\'écran lorsque l\'appareil est verrouillé. Les applis peuvent les utiliser pour mettre en avant les alarmes, les appels entrants ou d\'autres notifications urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Avertissement sur les données : <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limite de données : <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Avertissement sur les données : <xliff:g id="ID_1">^1</xliff:g> – Limite de données : <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Le suivi de consommation de votre opérateur peut différer de celui qui est effectué sur votre appareil."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Les données consommées via les réseaux d\'opérateurs sont exclues"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> utilisé(s)"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Activer l\'avertissement"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Mis à jour il y a <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Mis à jour par <xliff:g id="ID_1">^1</xliff:g> à l\'instant"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Mis à jour à l\'instant"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Afficher le forfait"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Afficher les détails"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Économiseur de données"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Données sans restrictions"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a sollicité davantage la batterie que d\'habitude en arrière-plan"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a sollicité davantage la batterie au premier plan"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a sollicité davantage la batterie que d\'habitude au premier plan"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie d\'utilisation de la batterie"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Utilisation élevée de la batterie"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Utilisation élevée de la batterie en arrière-plan"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Utilisation élevée de la batterie au premier plan"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Blocs Réglages rapides pour les développeurs"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Désactiver le délai d\'expiration des autorisations adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Désactiver la révocation automatique des autorisations adb pour les systèmes qui ne se sont pas reconnectés dans le délai par défaut (7 jours) ou configuré par l\'utilisateur (1 jour minimum)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Trace Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Capteurs désactivés"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Paramètres du profil professionnel"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Rechercher les contacts de l\'annuaire pro dans les applis perso"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigation système, navigation à deux boutons, navigation à trois boutons, navigation par gestes, balayer l\'écran"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistant numérique"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Balayer pour appeler l\'assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pour appeler l\'appli d\'assistant numérique, balayer vers le haut depuis un coin inférieur"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pour appeler l\'appli d\'assistant numérique, balayer vers le haut depuis un coin inférieur"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Maintenir le bouton d\'accueil enfoncé pour l\'Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Appuyer de manière prolongée sur le bouton d\'accueil pour appeler l\'appli d\'assistant numérique."</string>
     <string name="low_label" msgid="6525629096999711220">"Faible"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Service de saisie automatique"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Service de saisie automatique par défaut"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Mots de passe"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Mots de passe, clés d\'accès et services de données"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Autres fournisseurs"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Service préféré"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Services supplémentaires"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# mot de passe}one{# mot de passe}other{# mots de passe}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatique, saisie, saisie automatique, mot de passe"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"données, clé d\'accès, mot de passe"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, remplir, remplir automatiquement, données, clé d\'accès, mot de passe"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Modifier"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ouvrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Aucun élément sélectionné"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Assurez-vous que cette appli est fiable&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; se sert de ce qui figure à l\'écran pour déterminer ce qui peut être saisi automatiquement."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Utiliser &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; utilise ce qui est affiché à l\'écran pour déterminer ce qui peut être saisi automatiquement. Les nouveaux mots de passe, clés d\'accès et autres infos seront désormais enregistrés ici."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Mots de passe, clés d\'accès et services de données"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Utilisez &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les nouveaux mots de passe, clés d\'accès et autres infos seront désormais enregistrés ici. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; peut utiliser ce qui est affiché à l\'écran pour déterminer ce qui peut être saisi automatiquement."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Fournisseur de service préféré pour la gestion des mots de passe, des clés d\'accès et de la saisie automatique"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Désactiver %1$s ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Désactiver ce service ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les infos enregistrées telles que les mots de passe, clés d\'accès, modes de paiement et autres ne seront pas renseignées quand vous vous connecterez. Pour utiliser vos infos enregistrées, choisissez un mot de passe, une clé d\'accès ou un service de données."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Mots de passe, clés d\'accès et saisie automatique"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Désactiver tous les services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Les mots de passe, clés d\'accès ainsi que d\'autres informations sauvegardées ne bénéficieront pas de la saisie automatique lors de la connexion"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Modifiez votre service préféré pour &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; À partir de maintenant, les nouveaux mots de passe, les clés d\'accès ainsi que d\'autres éléments seront stockés ici. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; peut utiliser ce qui est affiché à l\'écran pour déterminer ce qui peut être saisi automatiquement"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Utiliser %1$s ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Désactiver"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Modifier"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Seuls cinq services peuvent être activés"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Désactivez au moins un service pour pouvoir en ajouter un autre"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s utilise ce qui est affiché à l\'écran pour déterminer ce qui peut être saisi automatiquement."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limite de mots de passe, clés d\'accès et services de données"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Vous pouvez avoir jusqu\'à cinq mots de passe, clés d\'accès et services de données actifs à la fois. Pour en ajouter un, désactivez-en un."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limite de mots de passe, clés d\'accès et services de données"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Vous pouvez avoir jusqu\'à cinq mots de passe, clés d\'accès et services de données actifs à la fois. Pour en ajouter un, désactivez-en un autre."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Désactiver"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Saisie automatique"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Niveau de journalisation"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Vous ne pouvez modifier la compatibilité des applications que si celles-ci sont débogables. Installez une application débogable, puis réessayez."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dépend d\'un autre paramètre"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Compte"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d comptes"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nom de l\'appareil"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Infos générales"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Infos légales et réglementaires"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Autoriser cette appli à démarrer lorsqu\'un tag NFC est scanné.\nSi cette autorisation est activée, l\'appli sera disponible comme option chaque fois qu\'un tag sera détecté."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Diffuser des contenus multimédias sur"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Diffuser <xliff:g id="LABEL">%s</xliff:g> sur"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"L\'audio se mettra en marche"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Cet appareil"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponible pendant les appels"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Accepter l\'appel sur"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Silencieux"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Pour l\'activer, changez dans un premier temps l\'option \"Appui prolongé sur le bouton Marche/Arrêt\" du menu Marche/Arrêt."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Détails sur le réseau"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Les applications de votre téléphone 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="devices_title" msgid="649715719278562515">"Appareils"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Sélectionner un réseau"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Déconnecté"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nom"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Couleur (utilisée par applis compatibles)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Enregistrer"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Utiliser la SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Utiliser cette carte SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Désactivé"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Pour désactiver cette carte SIM, retirez-la"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Appuyer pour activer <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Effacer la SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Retirez la carte SIM pour la désactiver"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Appuyez pour activer votre carte SIM <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Effacer l\'eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Type de réseau préféré"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Changer le mode de fonctionnement du réseau"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Type de réseau préféré"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Vérifiez le tarif auprès de votre opérateur."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Consommation de données des applications"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mode réseau non valide <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Action ignorée."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Messagerie par satellite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envoyez et recevez des messages par satellite. Inclus dans votre compte."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envoyez et recevez des messages par satellite. Non inclus dans votre compte."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Messagerie par satellite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"À propos de la messagerie par satellite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Vous pouvez envoyer et recevoir des messages par satellite dans le cadre d\'un compte <xliff:g id="CARRIER_NAME">%1$s</xliff:g> éligible."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Votre forfait <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"La messagerie par satellite est incluse dans votre compte"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"La messagerie par satellite n\'est pas incluse dans votre compte"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Ajoutez une messagerie par satellite."</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Fonctionnement"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Lorsque vous ne disposez pas de réseau mobile"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Votre téléphone se connectera automatiquement à un satellite. Pour obtenir une meilleure connexion, restez à l\'extérieur avec une vue dégagée du ciel."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Une fois que votre téléphone se connecte à un satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Vous pouvez envoyer un message à n\'importe qui, y compris les services d\'urgence. Votre téléphone se reconnectera à un réseau mobile le cas échéant."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"L\'envoi de messages par satellite peut prendre plus de temps et n\'est disponible que dans certaines zones. La météo et certaines structures peuvent avoir une incidence sur votre connexion satellite. L\'appel par satellite n\'est pas disponible.\n\nLes modifications sur votre compte peuvent mettre un certain temps pour apparaître dans les \"Paramètres\". Contactez <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pour plus d\'informations."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"En savoir plus sur la messagerie par satellite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Noms des points d\'accès"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponible lorsque connecté à <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Passer à <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Utiliser la carte SIM ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Utiliser <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Un seul profil SIM peut être actif à la fois.\n\nPasser à <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'entraînera pas la résiliation de votre service <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Une seule eSIM peut être active à la fois.\n\nPasser à <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'entraînera pas la résiliation de votre service <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Un seul profil SIM peut être actif à la fois.\n\nCe changement n\'entraînera pas la résiliation de votre service <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Une seule carte SIM peut être active à la fois.\n\nPasser chez <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'entraînera pas la résiliation de votre service <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Une seule carte eSIM peut être active à la fois.\n\nPasser chez <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> n\'entraînera pas la résiliation de votre service <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Une seule carte SIM peut être active à la fois.\n\nSi vous en changez, votre service <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ne sera pas résilié."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Vous pouvez utiliser deux profils SIM à la fois. Pour utiliser <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, désactivez un autre profil SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Passer à <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Désactiver <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Désactiver un profil SIM n\'entraîne pas la résiliation de votre forfait mobile"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connexion au réseau…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Passage à <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pour les appels et les messages…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Impossible de changer d\'opérateur"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Impossible de changer d\'opérateur en raison d\'une erreur."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activation de votre carte SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Passage à l\'opérateur <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Impossible d\'interchanger les cartes SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Un problème est survenu. Impossible d\'interchanger les cartes SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Désactiver <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Désactiver la carte SIM ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Désactivation de la SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Impossible de désactiver l\'opérateur"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Un problème a empêché l\'appareil de désactiver votre opérateur."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Impossible de désactiver la carte SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Un problème est survenu lors de la désactivation de votre carte SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Utiliser deux profils SIM ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Deux profils SIM peuvent être actifs en même temps sur cet appareil. Pour continuer à utiliser un seul profil SIM à la fois, appuyez sur \"Non, merci\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Redémarrer l\'appareil ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Non, merci"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuler"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Changer"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Désactiver"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Impossible d\'activer la carte SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Essayez à nouveau d\'activer la carte SIM. Si le problème persiste, redémarrez l\'appareil."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configurez votre SIM."</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Pour utiliser plusieurs cartes SIM sur cet appareil, définissez vos préférences en matière de réseau mobile"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Étiquetez vos cartes SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Ces étiquettes apparaîtront lorsque vous passerez des appels, enverrez des SMS et utiliserez les données. Elles apparaîtront également dans les paramètres."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Étiquette SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Étiquette"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Choisissez les SIM à utiliser"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Vous pouvez utiliser deux cartes SIM en même temps"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Définissez vos SIM principales"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Choisissez les cartes SIM à utiliser par défaut pour les appels, SMS et données"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Vos cartes SIM principales"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Appels"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Migration automatique des données"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Utiliser les données de l\'une ou l\'autre des cartes SIM en fonction de la couverture et de la disponibilité"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Données uniquement"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configuration"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Suivant"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Activation de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Réseau mobile"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Numéro de téléphone"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Étiquette et couleur de la carte SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activation du réseau"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Changement d\'opérateur…"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> est actif"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Votre carte SIM <xliff:g id="CARRIER_NAME">%1$s</xliff:g> est activée"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Appuyez pour mettre à jour les paramètres de la carte SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Nouveau réseau : <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Vous avez changé d\'opérateur"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Votre réseau mobile a été modifié"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configurer votre autre profil SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Sélectionnez votre profil SIM actif ou utilisez deux profils SIM à la fois"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Sélectionnez le numéro à utiliser"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 numéro est disponible sur cet appareil, mais vous ne pouvez en utiliser qu\'un à la fois}=2{2 numéros sont disponibles sur cet appareil, mais vous ne pouvez en utiliser qu\'un à la fois}one{# numéro est disponible sur cet appareil, mais vous ne pouvez en utiliser qu\'un à la fois}other{# numéros sont disponibles sur cet appareil, mais vous ne pouvez en utiliser qu\'un à la fois}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activation<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Activation impossible pour le moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Choisir la carte SIM à utiliser"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 carte SIM est disponible sur cet appareil, mais vous ne pouvez en utiliser qu\'une à la fois}=2{2 cartes SIM sont disponibles sur cet appareil, mais vous ne pouvez en utiliser qu\'une à la fois}one{# carte SIM est disponible sur cet appareil, mais vous ne pouvez en utiliser qu\'une à la fois}other{# cartes SIM sont disponibles sur cet appareil, mais vous ne pouvez en utiliser qu\'une à la fois}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Activation<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Impossible d\'activer cette carte SIM pour le moment"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Utiliser <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> sera utilisé pour les données mobiles, les appels et les SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Aucun profil SIM actif disponible"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Pour utiliser ultérieurement les données mobiles, les fonctionnalités d\'appel et les SMS, accédez à vos paramètres réseau"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Effacer cette eSIM ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Si vous effacez cette SIM, le service <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sera supprimé de cet appareil.\n\nLe service <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne sera pas résilié."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Cela retire le service de l\'opérateur <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de cet appareil, mais votre forfait <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne sera pas résilié."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Effacer"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Effacement du profil SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Impossible d\'effacer le profil SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Une erreur empêche l\'effacement de cette carte SIM.\n\nRedémarrez votre appareil et réessayez."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Effacement de la carte eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Impossible d\'effacer la carte eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Une erreur est survenue et cette carte eSIM n\'a pas été effacée.\n\nRedémarrez votre appareil et réessayez."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connexion à l\'appareil"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'application <xliff:g id="APPNAME">%1$s</xliff:g> souhaite utiliser un réseau Wi‑Fi temporaire pour établir la connexion à votre appareil"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Aucun appareil trouvé. Assurez-vous que des appareils soient activés et prêts à être connectés."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Appels d\'urgence"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Les appels d\'urgence via la fonctionnalité Appels Wi-Fi ne sont pas compatibles avec votre opérateur.\nL\'appareil basculera automatiquement sur un réseau mobile pour passer un appel d\'urgence.\nLes appels d\'urgence sont possibles uniquement dans les zones couvertes par le réseau mobile."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Utiliser le Wi-Fi pour les appels afin d\'améliorer leur qualité"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Option d\'appel de secours"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Si <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> est indisponible ou en itinérance, utilisez votre SIM de données mobiles pour les appels <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"option d\'appel de secours"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS entrant"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Impossible d\'envoyer le MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Appuyez ici pour autoriser les MMS avec <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> lorsque les données mobiles sont désactivées"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informations sur les règles professionnelles"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Paramètres gérés par votre administrateur informatique"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Démarrer avec une page de 16 ko"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Démarrer l\'appareil à l\'aide d\'un kernel compatible avec une page de 16 ko"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Redémarrer avec un kernel compatible avec les pages de 16 ko ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVERTISSEMENT : Certaines applis risquent de présenter une incompatibilité avec ce mode. L\'appareil redémarrera après la confirmation."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Redémarrer avec un kernel compatible avec les pages de 4 ko ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"L\'appareil redémarrera après la confirmation."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Échec de la mise à jour du kernel vers un kernel compatible avec les pages de 16 ko."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Application des modifications"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Gestionnaire de rapport de bug"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Détermine quelle application gère le raccourci vers le rapport de bug sur votre appareil."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personnel"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Autoriser les applications pouvant se superposer à d\'autres à se superposer aux écrans de paramètres"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Autoriser le modem fictif"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Autoriser cet appareil à exécuter le service de modem fictif pour les tests d\'instrumentation. Ne pas l\'activer lors d\'une utilisation normale du téléphone"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Désactiver les protections de partage d\'écran"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Désactive les protections appliquées aux applis et notifications du système lorsque le partage d\'écran est en cours"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multimédia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Épingler le lecteur multimédia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Pour reprendre rapidement la lecture, le lecteur multimédia reste ouvert dans les Réglages rapides"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Afficher le média sur l\'écran de verrouillage"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Pour reprendre rapidement la lecture, le lecteur multimédia reste ouvert sur l\'écran de verrouillage"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Afficher les recommandations multimédias"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Afficher les recommandations de contenus multimédias proposées par Google Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"En fonction de votre activité"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Masquer le lecteur"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Afficher le lecteur"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"Multimédia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Autoriser les extensions pour le logiciel de l\'appareil photo"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Permet l\'implémentation logicielle par défaut des fonctionnalités avancées de l\'appareil photo, telles que la vidéographie \"Eyes Free\"."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Le Bluetooth sera activé"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,13 +4796,13 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Cartes eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Actif"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactif"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activée"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Désactivée"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" - Valeur par défaut pour <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"appels"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
     <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 géolocalisés. Vous pouvez modifier cela dans les paramètres de recherche Wi-Fi."</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>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Le son des appareils multimédias compatibles devient plus immersif"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Suivi des mouvements de la tête"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Le son change quand vous bougez la tête pour un son plus naturel"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Autorisations de synchronisation"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Accorder à <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> les mêmes autorisations que celles que vous avez accordées à <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synchroniser les autorisations du téléphone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Accorder à votre montre les mêmes autorisations que celles que vous avez accordées à votre téléphone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Type d\'appareil audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Inconnu"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Haut-parleur"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Moyen"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Élevé"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Cette appli ne peut être ouverte que dans 1 fenêtre"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Activé"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Désactivé"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Désactivé"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Désactivé"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Activé"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Désactivé"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Activée"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Désactivée"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Assombrir les écrans clairs et éclaircir les écrans sombres"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Faire un zoom avant sur l\'écran"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Désactivé"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Désactivé"</string>
+    <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 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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Analyse des applications trompeuses"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Vérifier l\'activité de l\'application pour détecter un éventuel hameçonnage"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Utiliser l\'analyse des applications trompeuses"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Utiliser l\'analyse des applications trompeuses (profil professionnel)"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Le mot de passe est maintenant défini"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Afficher le pointeur lorsque le curseur pointe un élément"</string>
 </resources>
diff --git a/res/values-gl/arrays.xml b/res/values-gl/arrays.xml
index 0a49979..dd63ce2 100644
--- a/res/values-gl/arrays.xml
+++ b/res/values-gl/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Dispoñible"</item>
     <item msgid="6096962300722555553">"Fóra de cobertura"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Desactivado"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast e Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usa os valores predeterminados do sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Tras 1 minuto"</item>
     <item msgid="1574040255478150028">"Tras 5 minutos"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-gl/strings.xml b/res/values-gl/strings.xml
index 8545107..13d159d 100644
--- a/res/values-gl/strings.xml
+++ b/res/values-gl/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Agora xa es programador!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Non é necesario, xa es un programador."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Activa primeiro as opcións para programadores."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Só os usuarios con acceso de administración poden acceder á configuración para programadores."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"En servizo"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fóra de servizo"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"A pantalla frontal acenderase cando pregues o dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Só xogos, vídeos e outros"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"A pantalla frontal acenderase para as aplicacións que impiden que a pantalla quede inactiva"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Pasar dedo cara arriba para continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Prega o teléfono e pasa o dedo cara arriba na pantalla frontal para seguir usando a aplicación ou agarda uns segundos a que se bloquee a pantalla"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nunca"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"A pantalla frontal bloquearase cando pregues o dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Usar a función de xirar automaticamente"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionado"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ton de chamada e alarmas"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio durante as chamadas"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimedia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificacións e outros sons do sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons do sistema e multimedia"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificacións"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Por defecto, a saída de audio determínaa cada aplicación"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositivo Bluetooth sen nome"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Buscando"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancelar"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth de baixo consumo (audio): Non"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Desactiva a función de audio por Bluetooth de baixo consumo se o dispositivo é compatible coas funcións do hardware de audio de baixo consumo."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modo audio por Bluetooth baixo consumo"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Botón Audio de baixo consumo en detalles"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Activar lista de permitidos de audio por Bluetooth de baixo consumo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Activa a función de lista de permitidos de audio por Bluetooth de baixo consumo."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Sortear lista de entidades permitidas para o audio por Bluetooth de baixo consumo"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Usa o audio de baixo consumo de forma predeterminada mesmo no caso de que non se verificase se o seu dispositivo periférico cumpre os criterios da lista de entidades permitidas."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos multimedia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos gardados"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Asociado coa conta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Utilizouse anteriormente coa conta"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Activarase o Bluetooth para permitir a vinculación"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencias de conexión"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectados anteriormente"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"O Bluetooth está activado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todo"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Ver todos"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Lapis óptico"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Presión do botón superior"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de traballo)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escribir en campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todas as presións de botóns do lapis óptico"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Lapis óptico"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Uso compartido do audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartir audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chamadas e alarmas"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conéctate a unha emisión de audio por medio dun código QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Ningunha emisión de audio próxima."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Borrar"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Queres engadir o %s ás preferencias de idioma?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Con esta acción as aplicacións e os sitios web saben que prefires este idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"As preferencias rexionais e a configuración do dispositivo cambiarán."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Cambiar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"O idioma %s non está dispoñible"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sábado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Se unha aplicación non admite preferencias rexionais, usará as opcións predeterminadas da súa configuración rexional."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Consulta máis información sobre as preferencias de idioma."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferencias adicionais"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Tratamento"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Define como queres que se dirixan a ti"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"As aplicacións poden usar a forma de tratamento que escollas para personalizar como se dirixen a ti."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Sen especificar"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"En feminino"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"En masculino"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Queres quitar o idioma seleccionado?}other{Queres quitar os idiomas seleccionados?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"O texto mostrarase noutro idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Non se poden quitar todos os idiomas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Localización"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar localización"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desactivada"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Máis información sobre a configuración de localización."</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="3574930966097093550">"Cambio acceso localización: Configuración &gt; Seguranza e privacidade &gt; Controis priv."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Contas"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Seguranza"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encriptación e credenciais"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para obter os mellores resultados, utiliza un protector de pantalla que conte coa certificación Made for Google. Se utilizas outros protectores, pode que non se detecte a impresión dixital do teu fillo ou filla."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueo mediante reloxo"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Se configuras o desbloqueo facial e o dactilar, o teléfono pedirache a impresión dixital no caso de que leves máscara ou esteas nun espazo escuro.\n\nPoderás desbloquealo co reloxo cando non se recoñeza a túa cara ou a túa impresión dixital."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Poderás desbloquealo co reloxo cando non se recoñeza a túa impresión dixital."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Poderás desbloquealo co reloxo cando non se recoñeza a túa cara."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Se configuras o desbloqueo facial e o dactilar, o teléfono pedirache a impresión dixital no caso de que leves máscara ou esteas nun espazo escuro.\n\nA función Desbloqueo mediante reloxo ofréceche outra forma de desbloquear o teléfono facilmente en determinadas situacións (por exemplo, cando teñas os dedos mollados ou non se che recoñeza a cara)."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"A función Desbloqueo mediante reloxo ofréceche outra forma de desbloquear o teléfono facilmente en determinadas situacións (por exemplo, cando non se recoñeza a túa impresión dixital)."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"A función Desbloqueo mediante reloxo ofréceche outra forma de desbloquear o teléfono facilmente en determinadas situacións (por exemplo, cando non se che recoñeza a cara)."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Usa a impresión dixital ou o reloxo para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Usa o rostro ou o reloxo para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Usa o rostro, a impresión dixital ou o reloxo para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"A función Desbloqueo mediante reloxo ofréceche outra forma de desbloquear o teléfono facilmente en determinadas situacións (por exemplo, cando teñas os dedos mollados ou non se recoñeza a túa cara).\n\nPodes usar o reloxo para desbloquear o teléfono ao realizar estas accións:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Agora non"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Máis"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Como funciona?"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"O reloxo debe estar desbloqueado, no pulso e dentro do alcance do teléfono. Non precisas volver desbloquear o reloxo mentres o teñas posto."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Cando o teléfono estea desbloqueado, enviaráseche unha notificación ao reloxo. No caso de que desbloquees o teléfono sen querer, toca a notificación para bloquealo de novo."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Ti tes o control"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Cando queiras, podes acceder a Configuración e desactivar a función Desbloqueo mediante reloxo"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Toca unha notificación"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Pasa o dedo cara arriba na pantalla de bloqueo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Selecciona o teu reloxo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Reloxos dispoñibles"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancelar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmar"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Está todo listo"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Xa podes usar o reloxo para desbloquear este teléfono cando pases o dedo cara arriba na pantalla de bloqueo ou toques unha notificación"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Feito"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueo mediante reloxo"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Podes usar o reloxo para desbloquear este teléfono cando pases o dedo cara arriba na pantalla de bloqueo ou toques unha notificación"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar Desbloqueo mediante reloxo, o reloxo debe estar desbloqueado, no pulso, dentro do alcance e conectado a este teléfono. Se se interrompe a conexión, terás que desbloquear o teléfono para poder usar esta función.\n\nRecordatorio:\nNon podes ter varios reloxos configurados á vez. Se queres engadir outro, primeiro debes quitar o actual."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Seguranza"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacidade"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de traballo"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espazo privado"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantén bloqueadas e ocultas as aplicacións privadas"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantén as aplicacións privadas nun espazo separado que poderás ocultar ou bloquear"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueo do espazo privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Podes desbloquear o espazo privado do mesmo xeito que fas co teu dispositivo ou elixir outro bloqueo"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar bloqueo de pantalla do dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueo dactilar e facial"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueo dactilar"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueo facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toca para configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueo dactilar para o espazo privado"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueo facial para o espazo privado"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Maneiras de desbloquear o dispositivo"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"O mesmo que o bloqueo de pantalla do dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Queres usar outro bloqueo para o espazo privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloquear espazo privado automaticamente"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Podes facer que se bloquee automaticamente o teu espazo privado cando leves un tempo sen usar o dispositivo"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Cada vez que se bloquee o dispositivo"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Despois de 5 minutos de inactividade"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nunca"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar cando estea bloqueado"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ocultar espazo privado cando estea bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Para evitar que outras persoas saiban que tes un espazo privado no dispositivo, podes ocultalo para que non se mostre na lista de aplicacións"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Acceso ao espazo privado cando estea oculto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Na lista de apps, pon \"espazo privado\" na barra de busca"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Toca o atallo do espazo privado"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloquea o espazo privado"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Opción desactivada"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Opción activada"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Eliminar espazo privado"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Queres eliminar o espazo privado?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Quitarase o espazo privado do teu dispositivo. Eliminaranse todas as aplicacións e datos privados. Esta acción non se poderá desfacer."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Quitaranse do teu espazo privado as seguintes contas:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Eliminar"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Eliminando espazo privado…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Esta acción tardará uns intres"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Eliminouse o espazo privado"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Non se puido eliminar o espazo privado"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Desbloqueouse o espazo privado"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Definir un bloqueo de pantalla"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para usar o espazo privado, define un bloqueo de pantalla neste dispositivo"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueo de pantalla"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancelar"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurar"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configura un espazo privado"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantén as aplicacións privadas nun espazo separado que poderás ocultar ou bloquear"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Como funciona?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Podes acceder ao espazo privado desde a parte inferior da túa lista de aplicacións"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"As aplicacións do espazo privado protéxense cun bloqueo"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Cando o espazo privado está bloqueado, ocúltanse as notificacións das súas aplicacións"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"As aplicacións do espazo privado non aparecerán no xestor de permisos, no panel de privacidade nin noutras opcións de configuración cando o espazo privado estea bloqueado.\n\nO espazo privado non se pode mover a outro dispositivo. Terás que configurar un novo espazo privado se queres usalo noutro aparello.\n\nCalquera usuario que instale aplicacións daniñas no teu dispositivo ou o conecte a un ordenador poderá acceder ao teu espazo privado."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando espazo privado…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Cando o espazo privado está bloqueado, ocúltanse as notificacións das súas aplicacións"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloquear o espazo privado para compartir fotos ou ficheiros"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Algunhas aplicacións xa están instaladas no 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_lockscreen_title" msgid="6034864097861137509">"Usar bloqueo pant. para desbloquear espazo priv.?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Podes desbloquear o espazo privado do mesmo xeito que fas co teu dispositivo ou elixir outro bloqueo"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueo de pantalla"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Elixir outro bloqueo"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Todo listo"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para atopar o espazo privado, vai á lista de aplicacións e desprázate cara abaixo"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Feito"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Desprázate cara abaixo para buscar o espazo privado"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Iniciar sesión"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Inicia sesión nunha conta para usala co teu espazo privado"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Agora non"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuar"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Escolle un bloqueo para o espazo privado"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Podes desbloquear o espazo privado mediante a impresión dixital. Por motivos de seguranza, esta opción require un bloqueo alternativo."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Define un PIN para o espazo privado"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Define contrasinal para o espazo privado"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Define un padrón para o espazo privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Podes engadir ata <xliff:g id="COUNT">%d</xliff:g> impresións dixitais"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Engadiches o número máximo de impresións dixitais"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Non se poden engadir máis impresións dixitais"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrón"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Contrasinal"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Queres eliminar o bloqueo de pantalla?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Queres quitar todos os tipos de desbloqueo do dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Queres quitar a protección do perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"O teléfono está protexido por un padrón en caso de perda ou roubo"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"O teléfono está protexido por un padrón en caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Eliminarase o modelo de impresión dixital almacenado no dispositivo. O teu modelo facial tamén se eliminará de xeito seguro e permanente. Non poderás utilizar a cara nin a impresión dixital para autenticarte nas aplicacións."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"O teléfono está protexido por un PIN en caso de perda ou roubo"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Perderás os datos gardados, como o PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Quitaranse as tarxetas configuradas para o pago sen contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pode que as aplicacións de carteira e outras que requiran o desbloqueo do dispositivo non funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"O teléfono está protexido por un PIN en caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Tamén se eliminará o modelo de impresión dixital almacenado no dispositivo. Non poderás utilizar a impresión dixital para autenticarte nas aplicacións."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Perderás os datos gardados, como o PIN e o modelo de impresión dixital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Quitaranse as tarxetas configuradas para o pago sen contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pode que as aplicacións de carteira e outras que requiran o desbloqueo do dispositivo non funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"O teléfono está protexido por un PIN en caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>O teu modelo facial tamén se eliminará de xeito seguro e permanente. Non poderás utilizar a cara para autenticarte nas aplicacións."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Perderás os datos gardados, como o PIN e o modelo facial.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Quitaranse as tarxetas configuradas para o pago sen contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pode que as aplicacións de carteira e outras que requiran o desbloqueo do dispositivo non funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"O teléfono está protexido por un PIN en caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Eliminarase o modelo de impresión dixital almacenado no dispositivo. O teu modelo facial tamén se eliminará de xeito seguro e permanente. Non poderás utilizar a cara nin a impresión dixital para autenticarte nas aplicacións."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Perderás os datos gardados, como o PIN e os modelos de impresión dixital e facial.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Quitaranse as tarxetas configuradas para o pago sen contacto.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pode que as aplicacións de carteira e outras que requiran o desbloqueo do dispositivo non funcionen correctamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"O teléfono está protexido por un contrasinal en caso de perda ou roubo"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"O teléfono está protexido por un contrasinal en caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Queres vincular con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Engade un novo membro ao conxunto coordinado"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirma que queres engadir o segundo auricular do teu dispositivo de audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Código de vinculación por Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Escribe o código de vinculación e, a continuación, preme Intro"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"O PIN contén letras ou símbolos"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Debe ter 16 díxitos"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"É posible que tamén teñas que escribir este PIN no outro dispositivo."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"É posible que tamén teñas que escribir esta clave de acceso no outro dispositivo."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirma que queres vincular o conxunto coordinado"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirma que queres facer a vinculación co dispositivo de audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permitir o acceso aos teus contactos e ao historial de chamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Permitir tamén o acceso aos contactos e ao historial de chamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"A información empregarase para avisos de chamadas e moito máis"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Non se puido conectar a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivos dispoñibles"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sincronizar e conectar"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Co Bluetooth activado, o dispositivo pode comunicarse con outros dispositivos Bluetooth próximos."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Co Bluetooth activado, o dispositivo pode comunicarse con dispositivos Bluetooth próximos"</string>
     <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_scan_change" msgid="1744636222637390367">"Cambiar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Datos do dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que ART verifique o bytecode das aplicacións que se poidan depurar"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de actualización"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra a taxa de actualización actual da pantalla"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar proporción HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostra a proporción HDR/SDR actual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Requirir desbloqueo do dispositivo para a NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"No modo avión"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Recibir notificacións cando haxa redes públicas"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notifica cando unha rede pública de alta calidade estea dispoñible"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permitir redes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP é un protocolo de seguranza máis antigo que é menos seguro"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"O teu operador non permite as redes WEP porque son menos seguras"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activar a wifi automaticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"A wifi volverase activar preto de redes de alta calidade gardadas, como a túa rede doméstica"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Non está dispoñible porque a localización está desactivada. "<annotation id="link">"Actívaa"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"A busca de redes wifi permite que as aplicacións e os servizos busquen estas redes en calquera momento, mesmo se este tipo de conexión está desactivado. Esta opción pode utilizarse, por exemplo, para mellorar as funcións e os servizos baseados na localización."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Activouse a busca de redes wifi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Esta rede usa un protocolo de seguranza máis antigo que é menos seguro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"A rede <xliff:g id="NAME">%1$s</xliff:g> está bloqueada"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Esta rede utiliza un protocolo de seguranza máis antigo (WEP) que é menos seguro. Se queres conectarte igualmente, podes permitir as redes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"O teu operador non permite que te conectes a esta rede porque utiliza un protocolo de seguranza máis antigo que é menos seguro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permitir WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Pechar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opcións avanzadas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista despregable Opcións avanzadas"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"despregar"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Permanecer na wifi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Non mostrar de novo"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Conectar"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"A wifi está activada"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Conectácheste á rede <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Conectando con <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Conectando…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Erro ao conectar á rede"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Estás fóra da zona de cobertura da rede"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Esquecer"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modificar"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Erro ao esquecer a rede"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Gardar"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Erro ao gardar a rede"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancelar"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wifi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Datos móbiles"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Cargando"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Cargando"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Conexión de zona wifi"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Calidade da conexión"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes gardadas"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Non hai ningún contrasinal definido"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nome da zona wifi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Contrasinal da zona wifi"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda do punto de acceso"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desactivar zona wifi automaticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Se non hai ningún dispositivo conectado"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Ampliar compatibilidade"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balance de brancos da pantalla"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Usar apps co dispositivo pregado"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Pantalla fluída"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Incrementa automaticamente a frecuencia de actualización de 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz en determinados tipos de contido. Aumenta o uso da batería."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Desactivar fotog./s predet. en xogos"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Desactiva o límite máximo de fotogramas por segundo dos xogos de <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Pantalla fluída"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Incrementa automaticamente a frecuencia de actualización ata <xliff:g id="ID_1">%1$d</xliff:g> Hz en determinados tipos de contido. Aumenta o uso da batería."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forzar taxa de actualización máxima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"A taxa de actualización máis alta para mellorar a resposta táctil e a calidade das animacións. Aumenta o uso da batería."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atención á pantalla"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"A función Atención á pantalla utiliza a cámara dianteira para ver se alguén está mirando a pantalla. Funciona no dispositivo e as imaxes nunca se almacenan nin envían a Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activar a atención á pantalla"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantén a pantalla activa cando mires para ela"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Canto máis longo sexa o tempo de espera da pantalla, máis batería consumirá."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"A cámara está bloqueada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Para usar a detección facial, a cámara debe estar desbloqueada"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"A cámara debe estar desbloqueada para usar Atención á pantalla"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (rañura da SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (rañura da SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Para velo, escolle a rede gardada"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versión de PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivel de batería"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Comúns"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Opcións de configuración comúns"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mensaxaría por satélite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editar punto de acceso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Engadir o punto de acceso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Sen configurar"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Sen configurar"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN activado"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN desactivado"</string>
     <string name="bearer" msgid="3231443241639159358">"Portador"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo de rede"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Sen especificar"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo de OMV"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor de OMV"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Eliminar APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Gardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada de APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"O nome do campo non pode quedar baleiro."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"O APN non pode estar baleiro."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"O campo MCC debe conter 3 díxitos."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"O campo MNC debe conter 2 ou 3 díxitos."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"O operador non permite engadir APN de tipo: %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"O campo MMSC debe ser válido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restaurando a configuración do APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Restablecer valores predeterminados"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Completouse o restablecemento da configuración de APN predeterminada."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Restablecer"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Restablecéronse o Bluetooth e a wifi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Borrar eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Non se cancelará ningún dos plans de servizos móbiles que teñas. Para descargar tarxetas SIM de substitución, ponte en contacto co teu operador."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Con esta acción non se cancelará o teu plan de servizos móbiles. Para substituír a SIM, ponte en contacto co teu operador."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Restablecer configuración"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Queres restablecer toda a configuración de rede? Non se pode desfacer esta acción."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Queres restablecer todas as opcións de configuración de rede e borrar as eSIM? Non se poderá desfacer esta acción."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Restablecer?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"O restablecemento de rede non está dispoñible para este usuario"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Restableceuse a configuración da rede"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Non se puideron borrar as SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"As eSIM non se puideron borrar debido a un erro.\n\nReinicia o dispositivo e téntao de novo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Non se puideron borrar as eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Produciuse un erro e non se borraron as eSIM.\n\nReinicia o dispositivo e téntao de novo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Volver á configuración de fábrica (borrar todos os datos)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Borrar todos os datos"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Música"</li>\n<li>"Fotos"</li>\n<li>"Outros datos do usuario"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Con esta acción non se cancelará o teu plan de servizos móbiles."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Eliminaranse as aplicacións descargadas e a túa información persoal. Non se pode desfacer esta acción."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Eliminarase toda a túa información persoal, entre a que se inclúen as aplicacións e as SIM descargadas. Non se pode desfacer esta acción."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Eliminarase toda a túa información persoal, o que inclúe as aplicacións e as eSIM descargadas. Esta acción non se poderá desfacer."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Queres borrar todos os datos?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"O restablecemento da configuración de fábrica non está dispoñible para este usuario"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Borrando"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Zona wifi, USB, Bluetooth e Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Non se está compartindo a conexión a Internet con outros dispositivos"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desactivadas"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Conexión compartida"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Non utilizar zona wifi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Comparte Internet só por USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Comparte Internet só por Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Comparte Internet só por Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartirase Internet só por USB e Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Comparte Internet só por USB e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Comparte Internet só por Bluetooth e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Comparte Internet só por USB, Bluetooth e Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Compartir conexión por USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Conexión por Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Conexión por Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utiliza a zona wifi e a conexión compartida para ofrecer acceso a Internet a outros dispositivos mediante a túa wifi ou a túa conexión de datos móbiles. As aplicacións tamén poden crear unha zona wifi para compartir contido cos dispositivos que están cerca."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Axuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rede de telefonía móbil"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plan móbil"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplicación de SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Queres cambiar a aplicación de SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Queres utilizar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> como a túa aplicación de SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Queres cambiar o asistente de wifi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Queres utilizar <xliff:g id="NEW_APP">%1$s</xliff:g> en lugar de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para xestionar as túas conexións de rede?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Queres utilizar <xliff:g id="NEW_APP">%s</xliff:g> para xestionar as túas conexións de rede?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operador da SIM descoñecido"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> non ten un sitio web de aprovisionamento coñecido"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Introduce unha tarxeta SIM e reinicia"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Conéctate a Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Solicitudes de localización recentes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Localización do perfil de traballo"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permisos de localización das aplicacións"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Borrar acceso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controis"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forzar parada"</string>
+    <string name="archive" msgid="9074663845068632127">"Arquivar"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurar"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restaurando"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restaurando."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restaurando.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restaurando..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tamaño da aplicación"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplicación de almacenamento USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Non se puido calcular o tamaño do paquete."</string>
     <string name="version_text" msgid="7628938665256107608">"versión <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mover"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Produciuse un erro no arquivamento"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arquivouse <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Produciuse un erro ao restaurar a aplicación"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restaurando <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Xa está en curso outra migración."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Non hai espazo de almacenamento suficiente."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"A aplicación non existe."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclado en pantalla dispoñible"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Xestionar teclados en pantalla"</string>
     <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="6922850403920596246">"Activa as teclas de rebote para mellorar a accesibilidade do teclado físico"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Activa as teclas lentas para a mellorar accesibilidade do teclado físico"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Teclas presas"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Activa as teclas presas para a mellorar accesibilidade do teclado físico"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Velocidade do punteiro"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Descubrir xestos no panel táctil"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ir a Inicio"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Pasa 3 dedos cara arriba en calquera parte do panel táctil"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Atrás"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenar por tempo de uso"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenar por data de último uso"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenar por nome de aplicación"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Última vez que se utilizou"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Último uso"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nunca"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Tempo de uso"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accesibilidade"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Configuración de accesibilidade"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar ao tocar tres veces"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar con atallo"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar con atallo e tres toques"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Acerca de: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Utilizar o botón de accesibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantén premidas as teclas de volume para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toca tres veces a pantalla para abrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Toca a pantalla dúas veces con dous dedos para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilizar un xesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usa o xesto de accesibilidade"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Toca o botón Accesibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da pantalla para utilizar esta función.\n\nPara cambiar de función, mantén premido o botón Accesibilidade."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para utilizar esta función, toca na pantalla o botón Accesibilidade."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Mantén premidas as dúas teclas de volume para utilizar esta función."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar e deter a ampliación, toca tres veces en calquera parte da pantalla."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Para iniciar e deter a ampliación, toca dúas veces calquera parte da pantalla con dous dedos."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Pasa 2 dedos cara arriba desde a parte inferior da pantalla para utilizar esta función.\n\nPara cambiar de función, pasa 2 dedos cara arriba e mantén premida a pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Pasa 3 dedos cara arriba desde a parte inferior da pantalla para utilizar esta función.\n\nPara cambiar de función, pasa 3 dedos cara arriba e mantén premida a pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Pasa 2 dedos cara arriba desde a parte inferior da pantalla para utilizar unha función de accesibilidade.\n\nPara cambiar de función, pasa 2 dedos cara arriba e mantén premida a pantalla."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Pasa 3 dedos cara arriba desde a parte inferior da pantalla para utilizar unha función de accesibilidade.\n\nPara cambiar de función, pasa 3 dedos cara arriba e mantén premida a pantalla."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Entendido"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Axustes botón Accesibilidade"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Configuración do botón"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atallo de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botón Accesibilidade"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Xesto de accesibilidade"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter premidas as teclas de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"manter premidas as 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tocar dúas veces a pantalla con dous 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="6863958573135995927">"tocar tres veces a pantalla"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Máis información acerca do botón e do xesto de accesibilidade"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Estás utilizando o botón Accesibilidade. O xesto non pode usarse coa navegación con 3 botóns."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accede rapidamente ás funcións de accesibilidade"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para comezar"</b>\n"1. Vai á configuración de accesibilidade\n2. Selecciona unha función e toca o atallo\n3. Escolle se queres utilizar un botón ou un xesto para acceder á función"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para comezar"</b>\n"1. Vai á configuración de accesibilidade\n2. Selecciona unha función e toca o atallo\n3. Escolle o botón para acceder á función"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para comezar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Vai á configuración de accesibilidade&lt;br/&gt; {1,number,integer}. Selecciona unha función e toca o atallo&lt;br/&gt; {2,number,integer}. Escolle se queres utilizar un botón ou un xesto para acceder á función&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para comezar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Vai á configuración de accesibilidade&lt;br/&gt; {1,number,integer}. Selecciona unha función e toca o atallo&lt;br/&gt; {2,number,integer}. Escolle o botón para acceder á función&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Usar botón ou xesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Localización"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamaño"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Botón de acendido para colgar"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Punteiro grande do rato"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Fai máis visible o punteiro do rato"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Usar modo escuro en todas as apps"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Para aplicacións que non teñan tema escuro. Algunhas poden ter problemas, como cores invertidas."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Quitar animacións"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduce o movemento na pantalla"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio en mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Utilizar vibración e tecnoloxía háptica"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibración das alarmas"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibración do contido multimedia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibración do teclado"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibración do ton"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibración das notificacións"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reacción aos toques"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Deter"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Queres deter <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ao tocar <xliff:g id="STOP">%1$s</xliff:g>, deterase <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desactivar"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Deixar"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Queres desactivar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ningún servizo instalado"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Non hai ningún servizo seleccionado"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Ningunha descrición fornecida."</string>
     <string name="settings_button" msgid="2195468788019730377">"Configuración"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilidade á luz, fotofobia, tema escuro, xaqueca, dor de cabeza, modo de lectura, modo nocturno, baixar o brillo, punto branco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Facilidade de uso, fácil acceso, asistencia, asistencial"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visión, audición, cegueira, xordeira, motricidade, destreza, asistencial, asistencia, facilidade de uso, facilidade de acceso, man, axuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Lupa de ventá, zoom, ampliación, visión reducida, aumentar tamaño, agrandar"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Subtítulos, subtitulado, Transcrición instantánea, problemas auditivos, perda de audición, subtitulado en tempo real, CART, conversión de voz a texto, subtítulo"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste de cor"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, rato"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"audiófono, problemas auditivos, perda de audición, implantes cocleares, dispositivos de amplificación, procesadores de sons"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motricidade, rato, rato externo, rato de cabeza, rato adaptativo, cadeira de rodas, panca de control"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"audiófono, problemas auditivos, perda de audición, implantes cocleares, dispositivos de amplificación, procesadores de sons, amplificador de sons"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"problemas auditivos, perda de audición, subtítulos, teletipo, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tres botóns"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destreza, motricidade, persoa maior, artrite, LER, derramo, tremor, esclerose múltiple, parálise cerebral, lesión por esforzo repetitivo, man"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"atraso, destreza, persoa maior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impresión"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desactivado"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Hai 1 servizo de impresión activado}other{Hai # servizos de impresión activados}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> restante(s)"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> para completar a carga"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tempo diante da pantalla"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tempo en segundo plano"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Pouca batería"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permite que a aplicación se execute en segundo plano"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Queres limitar a actividade en segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Si limitas a actividade en segundo plano para unha aplicación, é posible que non funcione correctamente"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Non podes limitar a aplicación porque non se configurou para optimizar a batería.\n\nPrimeiro activa a optimización da batería."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Xestionar o uso da batería"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir o uso en segundo plano"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Actívase para actualizacións en tempo real; desactívase para aforrar batería"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sen restricións"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizado"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrinxido"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Consulta as aplicacións que máis batería consomen"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"A carga está optimizada para protexer a batería"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"A carga está optimizada para axudar a aumentar a vida útil da batería"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"A carga está optimizada para protexer a batería"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para aumentar a vida útil da batería, a carga optimízase cando o dispositivo está na base"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"A carga está optimizada para protexer a batería"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para aumentar a vida útil da batería, a carga optimízase cando o dispositivo está na base"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Cargando ao máximo"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para protexer a batería, a carga optimizarase a próxima vez que a tableta estea na base"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Máis información sobre a carga en pausa"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar carga"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclúe a actividade en segundo plano que consome moita batería"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta aplicación poderá utilizar a batería en segundo plano e provocar que quedes sen ela antes do esperado."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Quitar"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Cargar ao máximo"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema co accesorio de carga"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Comproba os accesorios de carga"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Máis información sobre a carga non compatible"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Xestor de batería"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Xestionar aplicacións automaticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"desde a última carga completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplicacións do sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Aplicacións desinstaladas"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Outros datos"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tempo restante estimado"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Para completar a carga"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menos dun minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"En segundo plano: menos dun minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tempo diante da pantalla: menos dun minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menos dun minuto"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Segundo plano: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tempo diante da pantalla: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"agora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gráfico de uso da batería"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gráfico de uso da batería por día"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gráfico de uso da batería por hora"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Porcentaxe do nivel de batería: de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> a <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Uso da batería desde a última carga completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Uso da batería (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tempo diante da pantalla desde a última carga completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal de marcación de emerxencia"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Define o comportamento cando se realiza unha chamada de emerxencia"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Copia de seguranza"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activada"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desactivada"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Copia de seguranza e restauración"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Datos persoais"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Realizar copia de seguranza dos meus datos"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Datos móbiles e wifi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincr. auto. de datos persoais"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincr. auto. datos do traballo"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincr. auto. de datos privados"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Cambiar ciclo…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Día do mes para restablecer o ciclo de uso de datos:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ningunha aplicación usou datos neste período."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Enderezo do servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Encriptación PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segredo L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Clave precompartida IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuario IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opcións avanzadas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Dominios de busca de DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores DNS (por ex., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rutas de reenvío (por ex., 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nome de usuario"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Contrasinal"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Gardar información da conta"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(sen usar)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(non verificar servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(recibido do servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN non pode estar conectada en todo momento"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"A VPN que está sempre activada só admite enderezos de servidor numéricos"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"É necesario especificar un servidor DNS para as VPN que estean sempre activadas"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os enderezos de servidor DNS deben ser numéricos para as VPN que estean sempre activadas"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"A información inserida non é compatible con VPN que estean sempre activadas"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Pechar"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexións sen VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Requirir conexión VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"O tipo de aplicación non é seguro. Actualiza a unha VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Produciuse un erro ao iniciar unha VPN non compatible."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecciona un perfil de VPN ao que permanecer sempre conectado. Só se permitirá tráfico de rede cando esteas conectado a esta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ningunha"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"As VPN que están sempre activadas requiren un enderezo IP para o servidor e o DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Recibir boletíns sobre secuestros de menores"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Activar o xestor de chamadas"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permitir que este servizo xestione a forma na que se realizan as chamadas."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Xestor de chamadas"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertas de emerxencia sen fíos"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operadores de rede"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nomes dos puntos de acceso"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Estado da SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado da SIM (rañura da SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Cambiáronse as SIM."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Cambiáronse as SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tocar para configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Preguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"É necesario seleccionar unha opción"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicacións recentes, aplicacións predeterminadas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Non se permite que as aplicacións do perfil de traballo accedan ás notificacións."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Contrasinais e contas"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Contrasinais gardados, función de autocompletar e contas vinculadas"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suxestións para iniciar sesión e autocompletar"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplicacións predeterminadas"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplicacións clonadas"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crea unha segunda instancia dunha aplicación para poder usar dúas contas á vez."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"moedeiro"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagos"</string>
     <string name="keywords_backup" msgid="707735920706667685">"copia de seguranza, facer copia de seguranza"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"xesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"desbloqueo, facial, autenticar, iniciar sesión"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"desbloqueo, facial, autenticación, iniciar sesión, impresión dixital, desbloqueo biométrico"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versión de prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tamaño do texto, letra grande, tipo de letra grande, texto grande, visión reducida, agrandar texto, función para aumentar o tamaño da letra, aumento do tamaño da letra"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"pantalla en suspensión sempre acendida, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiqueta, lector"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclado, tecnoloxía háptica, vibrar,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibración, Non molestar"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume dos elementos multimedia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume da emisión"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Sons de acendido"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtítulos instantáneos"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Crea subtítulos automáticos"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altofalantes do teléfono"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Altofalantes da tableta"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Altofalantes do dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Auriculares con cable"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"O audio dos contidos multimedia compatibles ofréceche unha experiencia máis envolvente"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Opción desactivada"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo o contido das notificacións"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostra o contido confidencial só tras o desbloqueo"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Non mostrar ningunha notificación"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como queres que se mostre a pantalla de bloqueo?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Que queres que mostre a túa pantalla de bloqueo?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Pantalla de bloqueo"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar todo nas notificacións de traballo"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Oculta o contido laboral confidencial"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Quitáronse as conversa recentes"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Eliminouse a conversa"</string>
     <string name="clear" msgid="5092178335409471100">"Borrar"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Borrar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Aquí aparecerán as conversas prioritarias e as modificadas"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Aquí aparecerán as conversas que marques como prioritarias e as que modifiques. \n\nPara cambiar a configuración dunha conversa: \nPasa o dedo cara abaixo desde a parte superior da pantalla para abrir o panel despregable e, a continuación, mantén premida a conversa."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizar"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Período de repouso das notif."</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplicar período de repouso a todas as notificacións"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Reduce gradualmente o volume de notificacións cando a mesma aplicación che envía moitas seguidas"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplicar período de repouso ás conversas"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Reduce gradualmente o volume de notificacións cando recibes moitas mensaxes do mesmo chat nun período de tempo breve"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Non usar período de repouso das notificacións"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Non reduce nunca o volume de notificacións, con independencia da cantidade de notificacións seguidas que envíe a mesma aplicación"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrar cando se desbloquee"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrar só cando se desbloquee a pantalla"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar aos perfís de traballo"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplica a configuración do período de repouso das notificacións do teu perfil persoal ao teu perfil de traballo"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servizos do asistente de RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ningunha aplicación instalada solicitou executarse como servizos do asistente de RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Queres permitir o acceso do servizo de RV para <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Función desactivada"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fixar aplicación"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Podes fixar a aplicación actual para tela sempre á vista ata que a deixes de fixar. Con esta función podes, por exemplo, permitirlle a un amigo de confianza utilizar un xogo específico."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Cando unha aplicación está fixada, pode abrir outras aplicacións e é posible que se permita o acceso aos datos persoais. \n\nPara utilizar a función de fixar aplicacións, sigue estes pasos: 	\n1. Activa a función de fixar aplicacións 	\n2. Abre Visión xeral 	\n3. Toca a icona da aplicación na parte superior da pantalla e, despois, toca Fixar"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Cando unha aplicación está fixada, pode abrir outras aplicacións e é posible que se permita o acceso aos datos persoais. \n\nSe queres compartir o teu dispositivo con alguén de forma segura, recomendámosche que probes a utilizar unha sesión de usuario convidado. \n\nPara utilizar a función de fixar aplicacións, sigue estes pasos: 	\n1. Activa a función de fixar aplicacións 	\n2. Abre Visión xeral 	\n3. Toca a icona da aplicación na parte superior da pantalla e, despois, toca Fixar"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Cando unha aplicación está fixada, pode abrir outras aplicacións. Ademais, é posible que se permita o acceso aos datos persoais. \n\nPara usar a función de fixar aplicacións: 	\n{0,number,integer}. Activa a función de fixar aplicacións 	\n{1,number,integer}. Abre Vista xeral 	\n{2,number,integer}. Toca a icona da aplicación que está na parte superior da pantalla e, despois, toca Fixar"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Cando unha aplicación está fixada, pode abrir outras aplicacións. Ademais, é posible que se permita o acceso aos datos persoais. \n\nSe queres compartir o teu dispositivo con alguén de forma segura, recomendámosche que probes a utilizar unha conta de usuario convidado. \n\nPara usar a función de fixar aplicacións: 	\n{0,number,integer}. Activa a función de fixar aplicacións 	\n{1,number,integer}. Abre Vista xeral 	\n{2,number,integer}. Toca a icona da aplicación que está na parte superior da pantalla e, despois, toca Fixar"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Cando unha aplicación está fixada, ocorre o seguinte: \n\n•		Os datos persoais poden estar accesibles \n		(por exemplo, os contactos e o contido dos correos electrónicos) \n•		A aplicación fixada pode abrir outras aplicacións \n\nUtiliza a fixación de aplicación só con persoas nas que confíes."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pedir padrón de desbloqueo antes de soltar a fixación"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de soltar a fixación"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir contrasinal antes de soltar a fixación"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao deixar de fixar a aplicación"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar eliminación de SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirma que queres borrar a eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifica a túa identidade antes de borrar unha eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protección de memoria avanzada"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protección de memoria avanzada"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Configuración das aplicacións sen uso"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pór en pausa actividade da aplicación se non se usa"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Quita permisos, elimina ficheiros temporais e detén as notificacións"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Xestionar aplicación se non se usa"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Quita permisos, elimina os ficheiros temporais, detén as notificacións e arquiva a aplicación"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas as aplicacións"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicacións instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicacións Instantáneas"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Dispoñible"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memoria usada polas aplicacións"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplicación usou a memoria no último {time}}other{# aplicacións usaron a memoria no último {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Activar perfís de uso de memoria"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"A elaboración de perfís de uso de memoria require recursos do sistema adicionais."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"A elaboración de perfís de uso de memoria está desactivada"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frecuencia"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Uso máximo"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Non se utilizaron datos"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Mostrar sobre outras aplicacións"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir mostrar sobre outras aplicacións"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permite que esta aplicación se mostre enriba doutras que esteas utilizando. Esta aplicación poderá ver onde tocas ou cambiar o que se mostra na pantalla."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Cambiar a saída multimedia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permitir á app cambiar a saída multimedia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permite que esta aplicación escolla que dispositivo conectado reproduce audio ou vídeo desde outras aplicacións. Se se dá este permiso, esta aplicación poderá acceder a unha lista de dispositivos dispoñibles (como altofalantes e auriculares) e escoller que dispositivo de saída se usará para reproducir en tempo real ou emitir audio e vídeo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acceso a todos os ficheiros"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir xestionar todos os ficheiros"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite que esta aplicación lea, modifique e elimine todos os ficheiros deste dispositivo ou de calquera unidade de almacenamento conectada. Se lle dás permiso, a aplicación poderá acceder aos ficheiros sen que se che notifique explicitamente."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Poden acceder a todos os ficheiros"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicacións con activación por voz"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir activación por voz"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A activación por voz inicia as aplicacións aprobadas por medio dun comando de voz, sen necesidade de que teñas que usar as mans. Grazas á detección intelixente, protexida e integrada, só ti podes acceder aos datos.\n\n"<a href="">"Máis información sobre a detección intelixente protexida"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificacións en pantalla completa"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificacións en pantalla completa procedentes desta aplicación"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite que esta aplicación amose notificacións en pantalla completa cando o dispositivo estea bloqueado. A aplicación pode usar esta opción para destacar alarmas, chamadas entrantes ou outras notificacións urxentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Aviso de consumo de datos: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Límite de datos: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Aviso de consumo de datos: <xliff:g id="ID_1">^1</xliff:g>/Límite de datos: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"A maneira na que o operador contabiliza os datos usados pode ser diferente á do dispositivo"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Exclúe os datos usados nas redes dos operadores"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Datos usados: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Definir aviso de consumo de datos"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Actualizado hai <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Actualizado por <xliff:g id="ID_1">^1</xliff:g> agora mesmo"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Actualizado agora mesmo"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ver plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ver detalles"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Aforro de datos"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Datos sen restricións"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu máis batería do habitual mentres estivo en segundo plano"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu máis batería mentres estivo en primeiro plano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu máis batería do habitual mentres estivo en primeiro plano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalía no uso da batería"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Uso da batería alto"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Uso da batería alto en segundo plano"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Uso da batería alto en primeiro plano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Atallos de configuración rápida para programadores"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Desactivar tempo de espera da autorización de ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Desactiva a revogación automática de autorizacións de ADB para sistemas que non se reconectasen dentro do período de tempo predeterminado (7 días) ou configurado polo usuario (1 día como mínimo)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Rastro de Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Desactivar sensores"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Configuración do perfil de traballo"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Buscar contactos do directorio de traballo nas aplicacións persoais"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegación do sistema, navegación con 2 botóns, navegación con 3 botóns, navegación con xestos, pasar o dedo"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistente dixital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Pasar o dedo para invocar o asistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Pasa o dedo cara arriba desde unha esquina da parte inferior para invocar a aplicación do asistente dixital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Pasa o dedo cara arriba desde unha esquina da parte inferior para invocar a aplicación do asistente dixital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Manter premido Inicio para acceder ao Asistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Para abrir a aplicación do asistente dixital, mantén premido o botón de inicio."</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Servizo de autocompletar"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Servizo de autocompletar predeterminado"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Contrasinais"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Contrasinais, claves de acceso e servizos de datos"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Provedores adicionais"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Servizo preferido"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Servizos adicionais"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# contrasinal}other{# contrasinais}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automaticamente, completar, autocompletar, contrasinal"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"datos, claves de acceso, contrasinal"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automático, completar, autocompletar, datos, clave de acceso, contrasinal"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Cambiar"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Abrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ningún elemento seleccionado"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Asegúrate de que confías nesta aplicación&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Autocompletar de Google&gt;%1$s&lt;/xliff:g&gt; utiliza o contido da pantalla para determinar o que se pode completar."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Utilizas &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; usa o que aparece na pantalla para determinar o que se pode autocompletar. A partir de agora, determinada información nova (contrasinais, claves de acceso e outros datos) gardarase aquí."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Contrasinais, claves de acceso e servizos de datos"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Utilizas &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A partir de agora, determinada información nova (contrasinais, claves de acceso e outros datos) gardarase aquí. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que apareza na pantalla para determinar o que se pode autocompletar."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Servizo preferido para contrasinais, claves de acceso e autocompletar"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Queres desactivar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Queres desactivar este servizo?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A información gardada (por exemplo, contrasinais, claves de acceso, métodos de pago…) non se completará cando inicies sesión. Para usar a información gardada, escolle un servizo de contrasinais, claves de acceso ou datos."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Contrasinais, claves e autocompletar"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Queres desactivar todos os servizos?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Os contrasinais, as claves de acceso e outros datos gardados non estarán dispoñibles para a función de autocompletar cando inicies sesión"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Cambia o teu servizo favorito a &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A partir de agora, determinada información nova (contrasinais, claves de acceso e outros datos) gardarase aquí. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que apareza na pantalla para determinar o que se pode autocompletar"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Queres usar %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desactivar"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Cambiar"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Só podes ter 5 servizos activados"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desactiva polo menos 1 servizo para poder engadir outro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s usa o que aparece na pantalla para determinar o que se pode completar."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Límite de contrasinais, claves de acceso e servizos de datos"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Podes ter activos ao mesmo tempo un máximo de 5 contrasinais, claves de acceso e servizos de datos. Desactiva un servizo para engadir máis."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Límite de contrasinais, claves de acceso e servizos de datos"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Podes ter activos ao mesmo tempo un máximo de 5 contrasinais, claves de acceso e servizos de datos. Desactiva un servizo para engadir máis."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desactivar"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autocompletar"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivel de rexistro"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Os cambios na compatibilidade das aplicacións só se poden modificar para aplicacións que se poden depurar. Instala unha aplicación deste tipo e téntao de novo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende doutra opción de configuración"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d contas"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nome do dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Información básica"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Información legal e normas"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permite que esta aplicación se inicie cando se escanee unha etiqueta NFC.\nSe este permiso está activado, a aplicación aparecerá como opción dispoñible cando se detecte unha etiqueta."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reproducir contido multimedia en:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reproducir <xliff:g id="LABEL">%s</xliff:g> en"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Reproducirase o audio en"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Este dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Non dispoñible durante as chamadas"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Contestar chamada en"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Silenciar"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Para activar a opción, no menú de acendido, primeiro cambia Manter premido botón de acendido."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalles da rede"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"As aplicacións do teu teléfono poden consultar o nome do teu dispositivo. Tamén poden velo outros usuarios cando te conectes a dispositivos Bluetooth ou a redes wifi, así como cando configures zonas wifi."</string>
     <string name="devices_title" msgid="649715719278562515">"Dispositivos"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Escoller rede"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Rede desconectada"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nome"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Cor (usada nas aplicacións compatibles)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Gardar"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Utilizar SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usar esta SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desactivada"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para desactivar esta SIM, sácaa do teléfono"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toca o operador <xliff:g id="CARRIER">%1$s</xliff:g> para activalo"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Borrar SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para desactivar esta tarxeta SIM, tes que quitala"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toca para activar a SIM de <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Borrar eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferido"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Cambia o modo de funcionamento da rede"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo de rede preferido"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Consulta os prezos co teu provedor de rede."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Uso de datos das apps"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede non válido: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorar."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mensaxaría por satélite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envía e recibe mensaxes de texto por satélite. Inclúese na túa conta."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envía e recibe mensaxes de texto por satélite. Non se inclúe na túa conta."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mensaxaría por satélite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Acerca da mensaxaría por satélite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Podes enviar e recibir mensaxes de texto por satélite como parte dunha conta de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> que cumpre os requisitos"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"O teu plan de <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"A mensaxaría por satélite inclúese na túa conta"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"A mensaxaría por satélite non se inclúe na túa conta"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Engadir mensaxaría por satélite"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Como funciona?"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Cando non tes ningunha rede de telefonía móbil"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"O teu teléfono conectarase automaticamente cun satélite. Para ter unha mellor conexión, debes situarte nunha zona onde o ceo estea despexado."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Despois de que o teléfono se conecte a un satélite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Podes intercambiar mensaxes de texto con calquera persoa, mesmo cos servizos de emerxencia. O teléfono volverá conectarse a unha rede de telefonía móbil en canto haxa unha dispoñible."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"A mensaxaría por satélite pode tardar máis e só está dispoñible en certas zonas. As condiciones meteorolóxicas e algunhas estruturas poden afectar á túa conexión por satélite. Non se ofrecen chamadas por satélite.\n\nOs cambios na túa conta poden tardar algún tempo en aparecer en Configuración. Contacta con <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para ter máis información."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Máis información sobre a mensaxaría por satélite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos puntos de acceso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Non dispoñible cando o dispositivo está conectado a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Queres cambiar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Queres pasar a utilizar a tarxeta SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Queres usar: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Non se poden ter activadas varias SIM á vez.\n\nAo cambiar a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, non se cancelará o teu servizo de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Non se poden ter activadas á vez varias eSIM.\n\nAo cambiar a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> non se cancelará o teu servizo de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Non se poden ter activadas varias SIM á vez.\n\nAo cambiar, non se cancelará o teu servizo de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Só pode haber 1 SIM activa cada vez.\n\nSe cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, non se cancelará o teu servizo de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Só pode haber 1 eSIM activa cada vez.\n\nSe cambias a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, non se cancelará o teu servizo de <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Só pode haber 1 SIM activa cada vez.\n\nSe cambias, non se cancelará o teu servizo de <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Podes utilizar 2 SIM á vez. Para utilizar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desactiva a outra SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Cambiar a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Apagar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"A acción de desactivar unha SIM non fará que se cancele o teu servizo"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Establecendo conexión coa rede…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Cambiando a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para chamadas e mensaxes…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Non se puido cambiar de operador"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Non se puido cambiar de operador debido a un erro."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Activando SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Cambiando a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Non se puido cambiar de SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Produciuse un erro. Non se puido cambiar de SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Queres desactivar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Queres desactivar a SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desactivando SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Non se puido desactivar o operador"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Produciuse un erro e non se puido desactivar o operador."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Non se puido desactivar a SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Produciuse un erro e non se puido desactivar a SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Queres usar 2 SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo pode ter 2 SIM activadas á vez. Para continuar usando só 1 SIM, toca Non, grazas."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Queres reiniciar o dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Non, grazas"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambiar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desactivar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Non se puido activar a SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Tenta activar a SIM de novo. Se o problema persiste, reinicia o dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configurar a SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Establece as preferencias de rede de telefonía móbil para usar varias SIM neste dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etiquetar as SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Verás estas etiquetas cando fagas chamadas, envíes mensaxes de texto, uses datos e accedas a Configuración"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etiqueta da SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiqueta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Seleccionar que SIM se usarán"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Podes utilizar dúas SIM á vez"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Configurar as SIM principais"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Selecciona as SIM que queres usar de forma predeterminada para as chamadas, as mensaxes de texto e os datos"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"As túas SIM principais"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Chamadas"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mensaxes de texto"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Cambio automático de datos"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Usa os datos de calquera das SIM en función da cobertura e a dispoñibilidade"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Só datos"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configurar"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Seguinte"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Activando <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rede de telefonía móbil"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de teléfono"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Cor e etiqueta da SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activación da rede"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Cambio de operador"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Operador activo: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"A tarxeta SIM de <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está activa"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Toca para modificar a configuración da SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Cambiouse a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Cambiouse a outro operador"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Modificouse a túa rede de telefonía móbil"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configurar a túa outra SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Escolle a SIM activa ou utiliza 2 SIM á vez"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Escolle un número para utilizalo"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Hai 1 número dispoñible neste dispositivo, pero só se pode usar un de cada vez}=2{Hai 2 números dispoñibles neste dispositivo, pero só se pode usar un de cada vez}other{Hai # números dispoñibles neste dispositivo, pero só se pode usar un de cada vez}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Non se puido activar o perfil neste momento"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Escolle a SIM que queres usar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Hai 1 SIM dispoñible neste dispositivo, pero só se pode usar unha de cada vez}=2{Hai 2 SIM dispoñibles neste dispositivo, pero só se pode usar unha de cada vez}other{Hai # SIM dispoñibles neste dispositivo, pero só se pode usar unha de cada vez}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Activando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Non se pode activar a SIM neste momento"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Queres usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Utilizarase <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para os datos móbiles, as chamadas e as SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Non hai SIM activas dispoñibles"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para utilizar os datos móbiles, as funcións de chamada e as SMS máis tarde, vai á configuración de rede"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Queres borrar esta eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ao borrar esta SIM, quitarase o servizo de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo.\n\nNon se cancelará o servizo de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Quitarase o servizo de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo, pero non se cancelará o teu plan de <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Borrar"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Borrando SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Non se puido borrar a SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Esta SIM non se puido borrar debido a un erro.\n\nReinicia o dispositivo e téntao de novo."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Borrando eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Non se puido borrar a eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Produciuse un erro e non se borrou esta eSIM.\n\nReinicia o dispositivo e téntao de novo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar co dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A aplicación <xliff:g id="APPNAME">%1$s</xliff:g> quere utilizar unha rede wifi temporal para conectar co teu dispositivo."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Non se atoparon dispositivos. Asegúrate de que estean activados e dispoñibles para a conexión."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Chamadas de emerxencia"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Este operador non admite as chamadas de emerxencia por wifi.\nO dispositivo cambia automaticamente a unha rede de telefonía móbil para facer unha chamada de emerxencia.\nSó se poden realizar chamadas de emerxencia en áreas con cobertura móbil."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Usa a wifi para mellorar a calidade das chamadas"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Chamadas alternativas"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Se <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> non está dispoñible ou está en itinerancia, usa a SIM dos datos móbiles para as chamadas de <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"chamadas alternativas"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mensaxe MMS entrante"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Non se puido enviar a mensaxe MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Toca para permitir as mensaxes MMS en <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> cando os datos móbiles estean desactivados"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Información sobre a política do teu traballo"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"A configuración xestiónaa o teu equipo de administración de TI"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Arrancar con páxinas de 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Arrancará co núcleo compatible con páx. de 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Queres que o dispositivo se reinicie co núcleo compatible con páxinas de 16 kB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ADVERTENCIA: Pode que algunhas aplicacións non sexan compatibles con este modo. O dispositivo reiniciarase despois da confirmación."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Queres que o dispositivo se reinicie co núcleo compatible con páxinas de 4 kB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"O dispositivo reiniciarase despois da confirmación."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Produciuse un erro a actualizar o núcleo compatible con páxinas de 16 kB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Aplicando cambio"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador do Informe de erros"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina que aplicación xestiona o atallo aos informes de erros no teu dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persoal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permite que as aplicacións que se poden mostrar sobre outras se superpoñan nas pantallas da aplicación Configuración"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permitir módem de proba"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permite que este dispositivo execute o servizo de módem de proba para examinar a instrumentación. Non actives o servizo mentres esteas facendo un uso normal do teléfono"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Desactivar as proteccións de pantalla compartida"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Desactiva as proteccións de aplicacións e notificacións aplicadas polo sistema durante o uso compartido da pantalla"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Contido multimedia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fixar reprodutor multimedia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"O reprodutor multimedia permanece aberto en Configuración rápida para que poidas retomar rapidamente a reprodución"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Amosar recursos multimedia na pantalla de bloqueo"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"O reprodutor multimedia permanece aberto na pantalla de bloqueo para que poidas retomar rapidamente a reprodución"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostrar recomendacións de contido multimedia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostrar recomendacións de contido multimedia do Asistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Baséanse na túa actividade"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ocultar reprodutor"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostrar reprodutor"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"contido multimedia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permitir extensións de software da cámara"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Activa a implementación do software predeterminado das funcións avanzadas da cámara, como a videografía para persoas con dificultades visuais."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Activarase o Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Tarxetas SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Activa"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactiva"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activada"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Desactivada"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Configuración predeterminada para <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"chamadas"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"O audio dos contidos multimedia compatibles ofréceche unha experiencia máis envolvente"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Seguimento da cabeza"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Para ofrecerche unha experiencia máis natural, o audio cambia a medida que moves a cabeza"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sincronizar os permisos"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Dálle ao dispositivo <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> os mesmos permisos de aplicacións que lle deches ao dispositivo <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizar os permisos desde o teléfono"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Dálle ao reloxo os mesmos permisos de aplicacións que lle deches a este teléfono"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo de dispositivo de audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Descoñecido"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Altofalante"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Nivel medio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Nivel alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Esta aplicación só se pode abrir en 1 ventá"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Opción activada"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Opción desactivada"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Opción desactivada"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Opción desactivada"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Opción activada"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Opción desactivada"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Opción activada"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Opción desactivada"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Escurece as pantallas claras e clarea as escuras"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Achega o contido da pantalla"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Opción desactivada"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Opción desactivada"</string>
+    <string name="show_captions_enabled" msgid="7089043007924626">"Opción activada"</string>
+    <string name="live_caption_disabled" msgid="3562035026547887366">"Opción desactivada"</string>
+    <string name="live_caption_enabled" msgid="5269360946200718949">"Opción activada"</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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Buscando aplicacións enganosas"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Revisa a actividade das aplicacións para detectar phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar análise para detectar aplicacións enganosas"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar análise para detectar aplicacións enganosas para o traballo"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Configurouse o contrasinal"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostrar punteiro ao pasar o cursor por enriba dun elemento"</string>
 </resources>
diff --git a/res/values-gu/arrays.xml b/res/values-gu/arrays.xml
index e1457d7..08a002d 100644
--- a/res/values-gu/arrays.xml
+++ b/res/values-gu/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ઉપલબ્ધ"</item>
     <item msgid="6096962300722555553">"શ્રેણીથી બહાર"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"સિસ્ટમ ડિફૉલ્ટનો ઉપયોગ કરો: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 મિનિટ પછી"</item>
     <item msgid="1574040255478150028">"5 મિનિટ પછી"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-gu/strings.xml b/res/values-gu/strings.xml
index c971eaa..2bfe5ef 100644
--- a/res/values-gu/strings.xml
+++ b/res/values-gu/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"તમે હવે ડેવલપર છો!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"કોઈ જરૂર નથી, તમે પહેલાંથી જ એક ડેવલપર છો."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"કૃપા કરીને પહેલાં વિકાસકર્તાના વિકલ્પો સક્ષમ કરો."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"ફક્ત ઍડમિન વપરાશકર્તાઓ જ ડેવલપર સેટિંગ ઍક્સેસ કરી શકે છે."</string>
     <string name="header_category_system" msgid="1665516346845259058">"સિસ્ટમ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"સેવામાં"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"કાર્યરત્ નથી"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"જ્યારે તમે તમારા ડિવાઇસને ફોલ્ડ કરો, ત્યારે ફ્રન્ટ ડિસ્પ્લે ચાલુ થાય છે"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"માત્ર ગેમ, વીડિયો અને બીજું ઘણું"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"તમારી સ્ક્રીનને નિષ્ક્રિય થઈ જતાં અટકાવતી હોય તેવી ઍપ માટે ફ્રન્ટ ડિસ્પ્લે ચાલુ થાય છે"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ચાલુ રાખવા માટે ઉપરની તરફ સ્વાઇપ કરો"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ઍપનો ઉપયોગ કરવાનું ચાલુ રાખવા માટે, તમારા ફોનને ફોલ્ડ કરો અને તેના ફ્રન્ટ ડિસ્પ્લે પર ઉપરની તરફ સ્વાઇપ કરો અથવા સ્ક્રીન લૉક થાય ત્યાં સુધી થોડી સેકન્ડ રાહ જુઓ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ક્યારેય નહીં"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"જ્યારે તમે તમારા ડિવાઇસને ફોલ્ડ કરો, ત્યારે ફ્રન્ટ ડિસ્પ્લે લૉક થાય છે"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ઑટો રોટેટ (સ્ક્રીનની ઑટોમૅટિક રીતે ફરવાની ક્રિયા)નો ઉપયોગ કરો"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"સંબંધિત"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"રિંગટોન અને અલાર્મ"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"કૉલ દરમિયાન ઑડિયો"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"મીડિયા"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"નોટિફિકેશન અને અન્ય સિસ્ટમ સાઉન્ડ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"મીડિયા અને સિસ્ટમ સાઉન્ડ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"નોટિફિકેશન"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ડિફૉલ્ટ તરીકે, ઑડિયો આઉટપુટ અલગ-અલગ ઍપ મુજબ નક્કી કરવામાં આવે છે"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"અનામાંકિત બ્લૂટૂથ ડિવાઇસ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"શોધી રહ્યું છે"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"રદ કરો"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"બ્લૂટૂથ LE ઑડિયો બંધ કરો"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"જો ડિવાઇસ LE ઑડિયો હાર્ડવેર ક્ષમતાઓને સપોર્ટ કરતું હોય, તો બ્લૂટૂથ LE ઑડિયો સુવિધા બંધ કરે છે."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"બ્લૂટૂથ LE ઑડિયો મોડ"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ડિવાઇસની વિગતોમાં LE ઑડિયો ટૉગલ બતાવો"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"બ્લૂટૂથ LE ઑડિયો મંજૂરીની સૂચિ ચાલુ કરો"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"બ્લૂટૂથ LE ઑડિયો મંજૂરીની સૂચિની સુવિધા ચાલુ કરો."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"બ્લૂટૂથ LE ઑડિયો માટેની વ્હાઇટલિસ્ટને બાયપાસ કરો"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"વ્હાઇટલિસ્ટના માપદંડનું પાલન કરવા માટે LE ઑડિયો પેરિફેરલની ચકાસણી કરવામાં આવી ન હોય, તો પણ ડિફૉલ્ટ તરીકે LE ઑડિયોનો ઉપયોગ કરો."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"મીડિયા ડિવાઇસ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"કૉલ ડિવાઇસ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"અન્ય ડિવાઇસ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"સાચવેલા ડિવાઇસ"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"એકાઉન્ટ સાથે સંકળાયેલું"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"અગાઉ એકાઉન્ટ સાથે વાપરેલું"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"બ્લૂટૂથ જોડી બનાવવાનું ચાલુ કરશે"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"કનેક્શનની પસંદગીઓ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"પહેલાં કનેક્ટ કરેલા"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"બ્લૂટૂથ ચાલુ કર્યું"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"બધા ડિવાઇસ જુઓ"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"તમામ જુઓ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"સ્ટાઇલસ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ટેઇલ બટન દબાવો"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ઑફિસની પ્રોફાઇલ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ટેક્સ્ટ ફીલ્ડમાં લખો"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"તમામ સ્ટાઇલસ બટન દબાવવાને અવગણો"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"સ્ટાઇલસ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ઑડિયો શેરિંગ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ઑડિયો શેર કરો"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"કૉલ અને અલાર્મ"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR કોડનો ઉપયોગ કરીને કોઈ ઑડિયો સ્ટ્રીમ સાથે કનેક્ટ કરો"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"કોઈ શેરિંગ ઑડિયો સ્ટ્રીમ મળ્યું નથી."</string>
     <string name="date_and_time" msgid="1788358029823431692">"તારીખ અને સમય"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"પ્રૉક્સી"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"સાફ કરો"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%sને પસંદગીની ભાષાઓમાં ઉમેરીએ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"આમ કરવાથી ઍપ અને વેબસાઇટને જાણ થાય છે કે તમે પણ આ ભાષા પસંદ કરો છો."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"તમારા ડિવાઇસના સેટિંગ અને પ્રાદેશિક પસંદગીઓ બદલાઈ જશે."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"બદલો"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ઉપલબ્ધ નથી"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"શનિવાર"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"જો કોઈ ઍપ પ્રાદેશિક પસંદગીઓને સપોર્ટ કરતી ન હોય, તો તે ઍપ તેના ડિફૉલ્ટ લોકેલ સેટિંગનો ઉપયોગ કરશે."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ભાષાની પસંદગીઓ વિશે વધુ જાણો."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"વધારાની પસંદગીઓ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"સંબોધનની શરતો"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"તમે સંબોધિત થવા માંગો છો તે રીતને સેટ કરો"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"તમને કેવી રીતે સંબોધે તેને મનગમતું બનાવવા માટે ઍપ તમારી સંબોધનની શરતોનો ઉપયોગ કરી શકે છે."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"ઉલ્લેખિત નથી"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"સ્ત્રીલિંગી"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"પુલ્લિંગી"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"તટસ્થ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{પસંદ કરેલી ભાષા કાઢી નાખીએ?}one{પસંદ કરેલી ભાષા કાઢી નાખીએ?}other{પસંદ કરેલી ભાષાઓ કાઢી નાખીએ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ટેક્સ્ટ બીજી ભાષામાં પ્રદર્શિત કરવામાં આવશે."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"બધી ભાષાઓ દૂર કરી શકતાં નથી"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"લોકેશન"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"લોકેશનનો ઉપયોગ કરો"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"બંધ છે"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ચાલુ છે - # ઍપ લોકેશનનો ઍક્સેસ ધરાવે છે}one{ચાલુ છે - # ઍપ લોકેશનનો ઍક્સેસ ધરાવે છે}other{ચાલુ છે - # ઍપ લોકેશનનો ઍક્સેસ ધરાવે છે}}"</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_location_off" msgid="8568995909147566720">"ઍપ અને સેવાઓને આપવામાં આવેલો લોકેશનની માહિતીનો ઍક્સેસ બંધ છે. આમ છતાં જ્યારે તમે કૉલ કે ટેક્સ્ટ મારફતે ઇમર્જન્સી નંબરનો સંપર્ક કરશો, ત્યારે ઇમર્જન્સીમાં પ્રતિસાદ આપનારાઓને તમારા ડિવાઇસના લોકેશનની માહિતી મોકલવામાં આવી શકે છે."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"લોકેશન સેટિંગ વિશે વધુ જાણો."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"લોકેશન સેટિંગ વિશે વધુ જાણો"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"લોકેશનનો ઍક્સેસ બદલવા, સેટિંગ &gt; સુરક્ષા અને પ્રાઇવસી &gt; પ્રાઇવસીના નિયંત્રણો પર જાઓ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"એકાઉન્ટ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"સુરક્ષા"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"એન્ક્રિપ્શન અને ઓળખપત્રો"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"શ્રેષ્ઠ પરિણામો માટે, \'Google માટે બનાવેલા\' પ્રમાણિત સ્ક્રીનગાર્ડનો ઉપયોગ કરો. અન્ય સ્ક્રીનગાર્ડમાં, તમારા બાળકની ફિંગરપ્રિન્ટ કદાચ યોગ્ય રીતે કામ કરશે નહીં."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"વૉચ અનલૉક"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"જ્યારે તમે ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉક સુવિધાનું સેટઅપ કરતા હો, ત્યારે જો તમે માસ્ક પહેર્યું હોય કે અંધારિયા વિસ્તારમાં હો, તો તમારો ફોન તમારી ફિંગરપ્રિન્ટ માગશે.\n\nજ્યારે તમારો ફેસ કે ફિંગરપ્રિન્ટ ઓળખી ન શકાય, ત્યારે તમે તમારી વૉચ વડે અનલૉક કરી શકો છો."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"જ્યારે તમારી ફિંગરપ્રિન્ટ ઓળખી ન શકાય, ત્યારે તમે તમારી વૉચ વડે અનલૉક કરી શકો છો."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"જ્યારે તમારો ફેસ ઓળખી ન શકાય, ત્યારે તમે તમારી વૉચ વડે અનલૉક કરી શકો છો."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"જ્યારે તમે ફેસ અનલૉક અને ફિંગરપ્રિન્ટ અનલૉક સુવિધાનું સેટઅપ કરતા હો, ત્યારે જો તમે માસ્ક પહેર્યું હોય કે અંધારિયા વિસ્તારમાં હો, તો તમારો ફોન તમારી ફિંગરપ્રિન્ટ માગશે.\n\nવૉચ અનલૉકની સુવિધા એ તમારા ફોનને અનલૉક કરવાની એક અન્ય સુગમ રીત છે, ઉદાહરણ તરીકે જ્યારે તમારી આંગળીઓ ભીની હોય અથવા તમારો ચહેરો ઓળખાતો ન હોય."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"વૉચ અનલૉકની સુવિધા એ આ ફોનને અનલૉક કરવાની એક અન્ય સુગમ રીત છે, ઉદાહરણ તરીકે જ્યારે તમારી ફિંગરપ્રિન્ટ ઓળખાતી ન હોય."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"વૉચ અનલૉકની સુવિધા એ આ ફોનને અનલૉક કરવાની એક અન્ય સુગમ રીત છે, ઉદાહરણ તરીકે જ્યારે તમારો ચહેરો ઓળખાતો ન હોય."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"આ માટે ફિંગરપ્રિન્ટ અથવા સ્માર્ટવૉચનો ઉપયોગ કરો"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"આ માટે ફેસ અથવા સ્માર્ટવૉચનો ઉપયોગ કરો"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"આ માટે ફેસ, ફિંગરપ્રિન્ટ અથવા સ્માર્ટવૉચનો ઉપયોગ કરો"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"વૉચ અનલૉકની સુવિધા એ આ ફોનને અનલૉક કરવાની એક અન્ય સુગમ રીત છે, ઉદાહરણ તરીકે જ્યારે તમારી આંગળીઓ ભીની હોય અથવા ચહેરો ઓળખાતો ન હોય ત્યારે.\n\nઆ ફોનને અનલૉક કરવા માટે, તમે તમારી વૉચનો ઉપયોગ તમે આમ કરતા હો ત્યારે કરી શકો છો:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"હમણાં નહીં"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"આગળ વધો"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"વધુ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"તેની કાર્ય કરવાની રીત"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"એ જરૂરી છે કે તમારી વૉચ અનલૉક કરેલી અને તમારા કાંડા પર હોય તથા તમે આ ફોનની પહોંચની અંદર હોવ. તમારી વૉચ તમારા કાંડા પર હોય, ત્યારે તમને તેને ફરી અનલૉક કરવાની જરૂર પડશે નહીં."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"જ્યારે આ ફોન અનલૉક કરવામાં આવે, ત્યારે તમને તમારી વૉચ પર સૂચિત કરવામાં આવશે. જ્યારે તમારો ઇરાદો ન હોય ત્યારે પણ ફોન અનલૉક થયો હોય, તો ફોનને ફરીથી લૉક કરવા માટે નોટિફિકેશન પર ટૅપ કરો."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"તમારા નિયંત્રણમાં છે"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"તમે સેટિંગમાં જઈને કોઈપણ સમયે વૉચ અનલૉકમાંથી તમારી વૉચને કાઢી નાખી શકો છો"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"નોટિફિકેશન પર ટૅપ કરો"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"લૉક સ્ક્રીન પર ઉપરની તરફ સ્વાઇપ કરો"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"તમારી વૉચ પસંદ કરો"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ઉપલબ્ધ વૉચ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"રદ કરો"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"કન્ફર્મ કરો"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"તમે બધી રીતે તૈયાર છો!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"લૉક સ્ક્રીન પર ઉપરની તરફ સ્વાઇપ કરો અથવા કોઈ નોટિફિકેશનને ટૅપ કરો ત્યારે આ ફોનને અનલૉક કરવા માટે તમે હવે તમારી વૉચનો ઉપયોગ કરી શકો છો"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"થઈ ગયું"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"વૉચ અનલૉક"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"લૉક સ્ક્રીન પર ઉપરની તરફ સ્વાઇપ કરો અથવા કોઈ નોટિફિકેશનને ટૅપ કરો ત્યારે આ ફોનને અનલૉક કરવા માટે તમે તમારી વૉચનો ઉપયોગ કરી શકો છો"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"વૉચ અનલૉકનો ઉપયોગ કરવા માટે, તમારી વૉચ અનલૉક કરેલી, તમારા કાંડા પર, પહોંચમાં અને આ ફોન સાથે કનેક્ટેડ હોવી આવશ્યક છે. જો કનેક્શનમાં વિક્ષેપ આવે, તો તમે વૉચ અનલૉકનો ઉપયોગ કરી શકો તે પહેલાં તમારે ફોનને અનલૉક કરવાની જરૂર પડશે.\n\nધ્યાનમાં રાખો:\nતમે એક સમયે ફક્ત એક વૉચ સેટ કરી શકો છો. કોઈ અન્ય વૉચ ઉમેરવા માટે, પહેલાં હમણાંની વૉચ કાઢી નાખો."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ઑફિસની પ્રોફાઇલ માટે ફેસ અને ફિંગરપ્રિન્ટ અનલૉકની સુવિધા"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"સેટઅપ જરૂરી છે"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"સુરક્ષા"</string>
     <string name="privacy_header" msgid="5526002421324257007">"પ્રાઇવસી"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"ઑફિસની પ્રોફાઇલ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ખાનગી સ્પેસ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ખાનગી ઍપને લૉક કરેલી અને છુપાવેલી રાખો"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ખાનગી ઍપ કોઈ એવી અલગ સ્પેસમાં રાખો જે તમે છુપાવી કે લૉક કરી શકો"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ખાનગી સ્પેસનું લૉક"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"તમે તમારા ડિવાઇસને જે રીતે અનલૉક કરો છો તે જ રીતે તમે ખાનગી સ્પેસને અનલૉક કરી શકો છો અથવા કોઈ અલગ લૉક પસંદ કરો"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ડિવાઇસના સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ચહેરા અને ફિંગરપ્રિન્ટ વડે અનલૉક કરવાની સુવિધા"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ફિંગરપ્રિન્ટ અનલૉક"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ફેસ અનલૉક"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"સેટઅપ કરવા માટે ટૅપ કરો"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ખાનગી સ્પેસ માટે ફિંગરપ્રિન્ટ અનલૉક"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ખાનગી સ્પેસ માટે ફેસ અનલૉક"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"અનલૉક કરવાની રીતો"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ડિવાઇસના સ્ક્રીન લૉક જેવું જ લૉક"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ખાનગી સ્પેસ માટે નવું લૉક પસંદ કરીએ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ખાનગી સ્પેસ ઑટોમૅટિક રીતે લૉક કરો"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"જો તમે અમુક સમય માટે તમારા ડિવાઇસનો ઉપયોગ ન કર્યો હોય તો તમે તમારી ખાનગી સ્પેસ ઑટોમૅટિક રીતે લૉક કરી શકો છો"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"દર વખતે જ્યારે ડિવાઇસ લૉક થાય ત્યારે"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 મિનિટની નિષ્ક્રિયતા પછી"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ક્યારેય નહીં"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"લૉક કરેલી હોય, ત્યારે છુપાવો"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ખાનગી સ્પેસ લૉક કરેલી હોય, ત્યારે છુપાવો"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"તમારા ડિવાઇસ પર તમારી ખાનગી સ્પેસને અન્ય લોકોથી છુપાવવા, તમે તેને તમારી ઍપની સૂચિમાંથી છુપાવી શકો છો"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"ખાનગી સ્પેસ છુપાવેલી હોય, ત્યારે પણ ઍક્સેસ કરો"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"તમારી ઍપની સૂચિમાંથી, શોધ બારમાં \'ખાનગી સ્પેસ\' દાખલ કરો"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ખાનગી સ્પેસ ટાઇલ પર ટૅપ કરો."</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"તમારી ખાનગી સ્પેસ અનલૉક કરો"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"બંધ છે"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ચાલુ છે"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"સિસ્ટમ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ખાનગી સ્પેસ ડિલીટ કરો"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ખાનગી સ્પેસ ડિલીટ કરીએ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"તમારી ખાનગી સ્પેસ તમારા ડિવાઇસમાંથી કાઢી નાખવામાં આવશે. બધી ખાનગી ઍપ અને ડેટા ડિલીટ કરવામાં આવશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"નીચેના એકાઉન્ટ તમારી ખાનગી સ્પેસમાંથી કાઢી નાખવામાં આવશે:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ડિલીટ કરો"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ખાનગી સ્પેસ ડિલીટ કરી રહ્યાં છીએ…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"આમાં થોડો સમય લાગશે"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ખાનગી સ્પેસ ડિલીટ કરી"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ખાનગી સ્પેસ ડિલીટ કરી શકાઈ નથી"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ખાનગી સ્પેસ અનલૉક કરી"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"કોઈ સ્ક્રીન લૉક સેટ કરો"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ખાનગી સ્પેસનો ઉપયોગ કરવા, આ ડિવાઇસ પર સ્ક્રીન લૉક સેટ કરો"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"સ્ક્રીન લૉક સેટ કરો"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"રદ કરો"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"રદ કરો"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"સેટઅપ કરો"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ખાનગી સ્પેસનું સેટઅપ કરો"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ખાનગી ઍપ કોઈ એવી અલગ સ્પેસમાં રાખો જે તમે છુપાવી કે લૉક કરી શકો"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"તેની કામ કરવાની રીત"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"તમે તમારી ઍપની સૂચિમાં સૌથી નીચેથી તમારી ખાનગી સ્પેસ ઍક્સેસ કરી શકશો"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ખાનગી સ્પેસમાંની ઍપ કોઈ લૉક વડે સુરક્ષિત રાખવામાં આવે છે"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે તમારી ખાનગી સ્પેસમાંની ઍપના નોટિફિકેશન છુપાવવામાં આવે છે"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે પરવાનગી મેનેજર, પ્રાઇવસી ડૅશબોર્ડ અને અન્ય સેટિંગમાં તમારી ખાનગી સ્પેસમાંની ઍપ દેખાશે નહીં.\n\nતમારી ખાનગી સ્પેસ નવા ડિવાઇસ પર ખસેડી શકાતી નથી. અન્ય કોઈ ડિવાઇસમાં ઉપયોગ કરવા માટે તમારે અન્ય કોઈ ખાનગી સ્પેસ સેટઅપ કરવી પડશે.\n\nજો કોઈ વ્યક્તિ તમારા ડિવાઇસને કોઈ કમ્પ્યૂટર સાથે જોડે કે તમારા ડિવાઇસ પર નુકસાનકારક ઍપ ઇન્સ્ટૉલ કરે, તો તેઓ તમારી ખાનગી સ્પેસને ઍક્સેસ કરી શકે એમ બને."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ખાનગી સ્પેસનું સેટઅપ કરી રહ્યાં છીએ…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"જ્યારે ખાનગી સ્પેસ લૉક કરવામાં આવી હોય, ત્યારે તમારી ખાનગી સ્પેસમાંની ઍપના નોટિફિકેશન છુપાવવામાં આવે છે"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ફોટા કે ફાઇલો શેર કરવા માટે ખાનગી સ્પેસ અનલૉક કરો"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"તમારી ખાનગી સ્પેસમાં કેટલીક ઍપ પહેલાંથી જ ઇન્સ્ટૉલ કરેલી છે"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"કોઈ ખાનગી સ્પેસનું સેટઅપ કરી શકાતું નથી"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ફરી પ્રયાસ કરો"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ખાનગી સ્પેસને અનલૉક કરવા સ્ક્રીન લૉકનો ઉપયોગ કરીએ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"તમે તમારા ડિવાઇસને જે રીતે અનલૉક કરો છો તે જ રીતે તમે ખાનગી સ્પેસને અનલૉક કરી શકો છો અથવા કોઈ અલગ લૉક પસંદ કરો"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"સ્ક્રીન લૉકનો ઉપયોગ કરો"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"નવું લૉક પસંદ કરો"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"બધું સેટ થઈ ગયું!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"તમારી ખાનગી સ્પેસ શોધવા માટે તમારી ઍપની સૂચિમાં જાઓ, પછી નીચે સ્ક્રોલ કરો"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"થઈ ગયું"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ખાનગી સ્પેસ શોધવા માટે નીચે સ્ક્રોલ કરો"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"સાઇન ઇન કરો"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"તમારી ખાનગી સ્પેસમાં ઉપયોગ કરવા માટે કોઈ એકાઉન્ટમાં સાઇન ઇન કરો"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"હમણાં નહીં"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ચાલુ રાખો"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"તમારી ખાનગી સ્પેસ માટે કોઈ લૉક પસંદ કરો"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"તમે તમારી ફિંગરપ્રિન્ટનો ઉપયોગ કરીને તમારી ખાનગી સ્પેસ અનલૉક કરી શકો છો. સુરક્ષા માટે, આ વિકલ્પ માટે બૅકઅપ લૉક આવશ્યક છે."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"તમારી ખાનગી સ્પેસ માટે પિન સેટ કરો"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"તમારી ખાનગી સ્પેસ માટે પાસવર્ડ સેટ કરો"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"તમારી ખાનગી સ્પેસ માટે પૅટર્ન સેટ કરો"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"તમે <xliff:g id="COUNT">%d</xliff:g> જેટલી ફિંગરપ્રિન્ટ ઉમેરી શકો છો"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"તમે મહત્તમ ફિંગરપ્રિન્ટ્સ ઉમેર્યા છે"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"વધુ ફિંગરપ્રિન્ટ્સ ઉમેરી શકતાં નથી"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"પૅટર્ન"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"પિન"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"પાસવર્ડ"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"શું સ્ક્રીન લૉક ડિલીટ કરીએ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"શું બધા પ્રકારના ડિવાઇસ અનલૉક કાઢી નાખીએ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"પ્રોફાઇલ સુરક્ષા દૂર કરીએ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખી શકે છે"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પૅટર્ન તેને સુરક્ષિત રાખી શકે છે.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>આમ કરવાથી તમારા ડિવાઇસ પર સ્ટોર કરેલી ફિંગરપ્રિન્ટનું મૉડલ ડિલીટ થઈ જશે. તમારા ચહેરાનું મૉડલ પણ કાયમ માટે અને સુરક્ષિત રીતે ડિલીટ કરવામાં આવશે. ઍપમાં પ્રમાણીકરણ માટે, તમે તમારા ચહેરા અથવા ફિંગરપ્રિન્ટનો ઉપયોગ કરી શકશો નહીં."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખી શકે છે"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"તમે સાચવેલો ડેટા ગુમાવશો, જેમ કે તમારો પિન.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>સંપર્ક રહિત ચુકવણી કરવા માટે સેટઅપ કરેલા કાર્ડ કાઢી નાખવામાં આવશે.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>વિવિધ વૉલેટ અને અન્ય ઍપ કે જેને ડિવાઇસ પર અનલૉક કરવી જરૂરી હોય છે, તે બરાબર કામ ન કરે તેમ બની શકે."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખી શકે છે.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>આમ કરવાથી તમારા ડિવાઇસ પર સ્ટોર કરેલી ફિંગરપ્રિન્ટનું મૉડલ પણ ડિલીટ થઈ જશે. ઍપમાં પ્રમાણીકરણ માટે, તમે તમારી ફિંગરપ્રિન્ટનો ઉપયોગ કરી શકશો નહીં."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"તમે સાચવેલો ડેટા ગુમાવશો, જેમ કે તમારો પિન અને ફિંગરપ્રિન્ટનું મૉડલ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>સંપર્ક રહિત ચુકવણી કરવા માટે સેટઅપ કરેલા કાર્ડ કાઢી નાખવામાં આવશે.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>વિવિધ વૉલેટ અને અન્ય ઍપ કે જેને ડિવાઇસ પર અનલૉક કરવી જરૂરી હોય છે, તે બરાબર કામ ન કરે તેમ બની શકે."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખી શકે છે.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>તમારા ચહેરાનું મૉડલ પણ કાયમ માટે અને સુરક્ષિત રીતે ડિલીટ કરવામાં આવશે. ઍપમાં પ્રમાણીકરણ માટે, તમે તમારા ચહેરાનો ઉપયોગ કરી શકશો નહીં."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"તમે સાચવેલો ડેટા ગુમાવશો, જેમ કે તમારો પિન અને ચહેરાનું મૉડલ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>સંપર્ક રહિત ચુકવણી કરવા માટે સેટઅપ કરેલા કાર્ડ કાઢી નાખવામાં આવશે.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>વિવિધ વૉલેટ અને અન્ય ઍપ કે જેને ડિવાઇસ પર અનલૉક કરવી જરૂરી હોય છે, તે બરાબર કામ ન કરે તેમ બની શકે."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પિન તેને સુરક્ષિત રાખી શકે છે.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>આમ કરવાથી તમારા ડિવાઇસ પર સ્ટોર કરેલી ફિંગરપ્રિન્ટનું મૉડલ ડિલીટ થઈ જશે. તમારા ચહેરાનું મૉડલ પણ કાયમ માટે અને સુરક્ષિત રીતે ડિલીટ કરવામાં આવશે. ઍપમાં પ્રમાણીકરણ માટે, તમે તમારા ચહેરા અથવા ફિંગરપ્રિન્ટનો ઉપયોગ કરી શકશો નહીં."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"તમે સાચવેલો ડેટા ગુમાવશો, જેમ કે તમારો પિન, ચહેરાનું મૉડલ અને ફિંગરપ્રિન્ટના મૉડલ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>સંપર્ક રહિત ચુકવણી કરવા માટે સેટઅપ કરેલા કાર્ડ કાઢી નાખવામાં આવશે.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>વિવિધ વૉલેટ અને અન્ય ઍપ કે જેને ડિવાઇસ પર અનલૉક કરવી જરૂરી હોય છે, તે બરાબર કામ ન કરે તેમ બની શકે."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખી શકે છે"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"જો તમારો ફોન ખોવાઈ જાય કે ચોરાઈ જાય, તો પાસવર્ડ તેને સુરક્ષિત રાખી શકે છે.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"બ્લૂટૂથ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"બ્લૂટૂથ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> સાથે જોડી કરીએ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"હાલના સુસંગત સેટમાં નવા સભ્યને ઉમેરો"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"તમારા ઑડિયો ડિવાઇસના બીજા ભાગને ઉમેરવાનું કન્ફર્મ કરો"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"બ્લૂટૂથનો જોડી બનાવવાનો કોડ"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"જોડી બનાવવાનો કોડ લખો તે પછી Return અથવા Enter દબાવો"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"પિન અક્ષરો અથવા સંજ્ઞાઓનો સમાવે છે"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 અંક હોવા આવશ્યક છે"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"તમારે આ પિનને અન્ય ઉપકરણ પર પણ લખવાની જરૂર પડી શકે છે."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"તમારે આ પાસકીને અન્ય ઉપકરણ પર પણ લખવાની જરૂર પડી શકે છે."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"સુસંગત સેટ સાથે જોડાણ બનાવવાનું કન્ફર્મ કરો"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ઑડિયો ડિવાઇસ સાથે જોડાણ કરવાનું કન્ફર્મ કરો"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"તમારા સંપર્કો અને કૉલ ઇતિહાસના ઍક્સેસની મંજૂરી આપો"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"સંપર્કો અને કૉલ ઇતિહાસના ઍક્સેસની પણ મંજૂરી આપો"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"માહિતીનો ઉપયોગ કૉલની ઘોષણાઓ અને વધુ બાબતો માટે કરવામાં આવશે"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> સાથે કનેક્ટ કરી શકાયું નથી."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ઉપલબ્ધ ડિવાઇસ"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"કનેક્ટ કરો"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ડિસ્કનેક્ટ કરો"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"જોડાણ બનાવો અને કનેક્ટ કરો"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"જ્યારે બ્લૂટૂથ ચાલુ હોય, ત્યારે તમારું ડિવાઇસ નજીકનાં અન્ય બ્લૂટૂથ ડિવાઇસ સાથે સંચાર કરી શકે છે."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"બ્લૂટૂથ ચાલુ હોય ત્યારે તે બ્લૂટૂથ ડિવાઇસ સાથે કમ્યુનિકેટ કરે છે"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"જ્યારે બ્લૂટૂથ ચાલુ હોય, ત્યારે તમારું ડિવાઇસ નજીકના અન્ય બ્લૂટૂથ ડિવાઇસ સાથે કનેક્ટ થઈ શકે છે.\n\nડિવાઇસનો અનુભવ બહેતર બનાવવા માટે, જ્યારે બ્લૂટૂથ બંધ હોય ત્યારે પણ ઍપ અને સેવાઓ, નજીકના ડિવાઇસને ગમે ત્યારે સ્કૅન કરી શકે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ લોકેશન આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે. તમે આને બ્લૂટૂથ સ્કૅનિંગના સેટિંગમાં જઈને બદલી શકો છો."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"બદલો"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ડિવાઇસની વિગતો"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ડીબગ કરવા યોગ્ય ઍપ માટે બાઇટકોડને ચકાસવા ARTને મંજૂરી આપો"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"રિફ્રેશ થવાનો રેટ બતાવો"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"હાલના ડિસ્પ્લેનો રિફ્રેશ થવાનો રેટ બતાવો"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ગુણોત્તર બતાવો"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"હાલનો HDR/SDR ગુણોત્તર બતાવો"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC માટે ડિવાઇસ અનલૉક જરૂરી છે"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android બીમ"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"એરપ્લેન મોડમાં"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"સાર્વજનિક નેટવર્ક માટે નોટિફિકેશન મેળવો"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"જ્યારે ઉચ્ચ ગુણવત્તાવાળું સાર્વજનિક નેટવર્ક ઉપલબ્ધ હોય ત્યારે નોટિફિકેશન આપો"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP નેટવર્કને મંજૂરી આપો"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP એ જૂનો સુરક્ષા પ્રોટોકૉલ છે, જે ઓછો સુરક્ષિત છે"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"તમારા મોબાઇલ ઑપરેટર WEP નેટવર્કને મંજૂરી આપતા નથી કારણ કે તે ઓછા સુરક્ષિત છે"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"વાઇ-ફાઇ ઑટોમૅટિક રીતે ચાલુ કરો"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"વાઇ-ફાઇ, તમારા હોમ નેટવર્ક જેવા, સાચવેલા ઉચ્ચ ક્વૉલિટીના નેટવર્કની નજીકમાં ઑટોમૅટિક રીતે ફરી ચાલુ થશે"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"અનુપલબ્ધ છે, કારણ કે સ્થાન બંધ છે. "<annotation id="link">"સ્થાન"</annotation>" ચાલુ કરો."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"વાઇ-ફાઇ બંધ હોય, ત્યારે પણ વાઇ-ફાઇ સ્કૅનિંગ ગમે ત્યારે ઍપ અને સેવાઓને વાઇ-ફાઇ નેટવર્ક સ્કૅન કરવાની મંજૂરી આપે છે. ઉદાહરણ તરીકે, આનો ઉપયોગ સ્થાન-આધારિત સુવિધાઓ અને સેવાઓને બહેતર બનાવવા માટે કરી શકાય છે."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ચાલુ કરો"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"વાઇ-ફાઇ સ્કૅનિંગ ચાલુ કર્યું છે"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"આ નેટવર્ક જૂના સુરક્ષા પ્રોટોકૉલનો ઉપયોગ કરે છે, જે ઓછો સુરક્ષિત છે"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> બ્લૉક કરેલું છે"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"આ નેટવર્ક WEP નામના જૂના સુરક્ષા પ્રોટોકૉલનો ઉપયોગ કરે છે, જે ઓછો સુરક્ષિત છે. તેમ છતાં કનેક્ટ કરવા માટે, તમે WEP નેટવર્કને મંજૂરી આપી શકો છો."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"તમારા મોબાઇલ ઑપરેટર તમને આ નેટવર્ક સાથે કનેક્ટ કરવાની મંજૂરી આપતા નથી કારણ કે તે જૂના સુરક્ષા પ્રોટોકૉલનો ઉપયોગ કરે છે, જે ઓછો સુરક્ષિત છે"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEPને મંજૂરી આપો"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"બંધ કરો"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"વિગતવાર વિકલ્પો"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"વિગતવાર વિકલ્પોની ડ્રૉપ-ડાઉન સૂચિ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"મોટા કરો"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"વાઇ-ફાઇ પર રહો"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ફરી ક્યારેય બતાવશો નહીં"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"કનેક્ટ કરો"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi ચાલુ કર્યું"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>થી કનેક્ટ થયા"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> સાથે કનેક્ટ કરી રહ્યાં છીએ"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"કનેક્ટ થઈ રહ્યું છે…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"નેટવર્ક સાથે કનેક્ટ કરવામાં નિષ્ફળ થયાં"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"નેટવર્ક રેન્જમાં નથી"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ભૂલી જાઓ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ફેરફાર કરો"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"નેટવર્ક ભૂલવામાં નિષ્ફળ થયાં"</string>
     <string name="wifi_save" msgid="2312643132472226807">"સાચવો"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"નેટવર્ક સાચવવામાં નિષ્ફળ થયાં."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"રદ કરો"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"વાઇ-ફાઇ"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"મોબાઇલ ડેટા"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ઇથરનેટ"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ચાર્જિંગ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ચાર્જિંગ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"હૉટસ્પૉટ કનેક્શન"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"કનેક્શનની સશક્તતા"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"સાચવેલા નેટવર્ક"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"કોઈ પાસવર્ડ સેટ કરવામાં આવ્યો નથી"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"હૉટસ્પૉટનું નામ"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"હૉટસ્પૉટનો પાસવર્ડ"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP બૅન્ડ"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"હૉટસ્પૉટ ઑટોમૅટિક રીતે બંધ કરો"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"જ્યારે કોઈ ડિવાઇસ કનેક્ટ ન કરેલા હોય"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"સુસંગતતામાં વધારો કરો"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"વ્હાઇટ બૅલેન્સ ડિસ્પ્લે"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ફોલ્ડ હોવા પર ઍપનો ઉપયોગ કરવાનું ચાલુ રાખો"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"અમુક કન્ટેન્ટ માટે રિફ્રેશ થવાનો રેટ ઑટોમૅટિક રીતે 60થી વધારીને <xliff:g id="ID_1">%1$s</xliff:g> Hz કરે છે. બૅટરીના વપરાશમાં વધારો કરે છે."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ગેમનો ડિફૉલ્ટ ફ્રેમરેટ બંધ કરો"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ગેમ માટેના મહત્તમ ફ્રેમ રેટને <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz સુધી મર્યાદિત રાખવાનો વિકલ્પ બંધ કરો."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"અમુક કન્ટેન્ટ માટે રિફ્રેશ થવાનો રેટ ઑટોમૅટિક રીતે <xliff:g id="ID_1">%1$d</xliff:g> Hz સુધી વધે છે. બૅટરીના વપરાશમાં વધારો કરે છે."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"રિફ્રેશ થવાનો રેટ ફરજિયાત પણે મહત્તમ લેવલે કરો"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"સ્પર્શના પ્રતિભાવમાં સુધારણા અને ઍનિમેશનની ક્વૉલિટી માટે ઉચ્ચતમ રિફ્રેશ રેટ. આ સુવિધા બૅટરીનો વપરાશ વધારે છે."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"સ્ક્રીન અટેન્શન"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"કોઈ સ્ક્રીન તરફ જોઈ રહ્યું છે કે નહીં તેની ખાતરી કરવા માટે સ્ક્રીન અટેન્શનની સુવિધા ફોનનો આગળનો કૅમેરા વાપરે છે. આ સુવિધા ડિવાઇસ પર કામ કરે છે, તેમજ છબીઓને ક્યારેય સ્ટોર કરવામાં અથવા Googleને મોકલવામાં આવતી નથી."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"સ્ક્રીન અટેન્શન ચાલુ કરો"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"સ્ક્રીનને જોતી વખતે તેને ચાલુ રાખો"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"સ્ક્રીનનો ઑટોમૅટિક સમાપ્તિ સમય જેટલો લાંબો હશે, તેટલો બૅટરીનો વપરાશ વધુ થશે."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"કૅમેરા લૉક છે"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ચહેરાની ઓળખ માટે કૅમેરા અનલૉક કરવો આવશ્યક છે"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"સ્ક્રીન અટેન્શન માટે કૅમેરા અનલૉક કરવો આવશ્યક છે"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (સિમ સ્લૉટ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (સિમ સ્લૉટ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (પ્રાથમિક)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"જોવા માટે, સાચવેલું નેટવર્ક પસંદ કરો"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"ન્યૂનતમ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL વર્ઝન"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"બૅટરી સ્તર"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"કૉમ્યુનલ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"કૉમ્યુનલ સેટિંગ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"સૅટલાઇટ મેસેજિંગ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"અ‍ૅક્સેસ પૉઇન્ટમાં ફેરફાર કરો"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ઍક્સેસ પૉઇન્ટ ઉમેરો"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"સેટ નથી"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"સેટ નથી"</string>
     <string name="apn_name" msgid="6677695784108157953">"નામ"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ચાલુ છે"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN અક્ષમ"</string>
     <string name="bearer" msgid="3231443241639159358">"બેરર"</string>
+    <string name="network_type" msgid="748590707422733595">"નેટવર્કનો પ્રકાર"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"અનુલ્લેખિત"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO પ્રકાર"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO મૂલ્ય"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN કાઢી નાખો"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"સાચવો"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"રદ કરો"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ડુપ્લિકેટ APN એન્ટ્રી."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"નામ ફીલ્ડ ખાલી હોઈ શકતું નથી."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ખાલી હોઇ શકતું નથી."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ફીલ્ડ 3 આંકડાનું હોવું આવશ્યક છે."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ફીલ્ડ 2 કે 3 આંકડાનું હોવું આવશ્યક છે."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"કૅરિઅર %s પ્રકારનું APN ઉમેરવાની મંજૂરી આપતું નથી."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ફીલ્ડ માન્ય હોવું જરૂરી છે."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ડિફૉલ્ટ APN સેટિંગ રિસ્ટોર કરવા."</string>
     <string name="menu_restore" msgid="4310539620115151551">"ડિફૉલ્ટ પર રીસેટ કરો"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ડિફૉલ્ટ APN સેટિંગ રીસેટ કરો પૂર્ણ થયું."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"રીસેટ કરો"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"બ્લૂટૂથ અને વાઇ-ફાઇ રીસેટ કર્યું છે"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM કાઢી નાખો"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"આનાથી કોઈપણ મોબાઇલ સેવા પ્લાન રદ થશે નહીં. બદલીના સિમ કાર્ડ ડાઉનલોડ કરવા માટે, તમારા મોબાઇલ ઑપરેટરનો સંપર્ક કરો."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"આમ કરવાથી તમારો મોબાઇલ સર્વિસ પ્લાન રદ થશે નહીં. બદલેલું સિમ કાર્ડ મેળવવા માટે તમારા મોબાઇલ ઑપરેટરનો સંપર્ક કરો."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"સેટિંગ રીસેટ કરો"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"બધાં નેટવર્ક સેટિંગ રીસેટ કરીએ? તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"બધા નેટવર્ક સેટિંગ રીસેટ કરીએ અને ઇ-સિમ કાઢી નાખીએ? તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ફરીથી સેટ કરીએ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"આ વપરાશકર્તા માટે નેટવર્ક ફરીથી સેટ કરો ઉપલબ્ધ નથી"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"નેટવર્ક સેટિંગ રીસેટ કરવામાં આવ્યા છે"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"સિમ કાઢી નાખી શકાતાં નથી"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"કોઈ ભૂલને કારણે ઇ-સિમ કાઢી નાખી શકાતું નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ઇ-સિમ કાઢી નાખી શકાતા નથી"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"કંઈક ખોટું થયું અને તમારા ઇ-સિમ કાઢી નાખવામાં આવ્યાં નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="main_clear_title" msgid="277664302144837723">"બધો ડેટા કાઢી નાખો (ફેક્ટરી રીસેટ)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"બધો ડેટા કાઢી નાખો (ફેક્ટરી રીસેટ)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"મ્યુઝિક"</li>\n<li>"ફોટા"</li>\n<li>"અન્ય વપરાશકર્તા ડેટા"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"ઇ-સિમ"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"આનાથી તમારો મોબાઇલ સેવા પ્લાન રદ થશે નહીં."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"તમારી બધી વ્યક્તિગત માહિતી અને ડાઉનલોડ કરેલી ઍપ ડિલીટ કરવામાં આવશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ડાઉનલોડ કરેલી ઍપ અને સિમ સહિતની તમારી બધી વ્યક્તિગત માહિતી ડિલીટ કરવામાં આવશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ડાઉનલોડ કરેલી ઍપ અને ઇ-સિમ સહિતની તમારી બધી વ્યક્તિગત માહિતી ડિલીટ કરવામાં આવશે. તમે આ ક્રિયા માટે કરેલો છેલ્લો ફેરફાર રદ કરી શકશો નહીં."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"બધો ડેટા કાઢી નાખીએ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"આ વપરાશકર્તા માટે ફેક્ટરી રીસેટ ઉપલબ્ધ નથી"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"કાઢી નાખી રહ્યાં છીએ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"હૉટસ્પૉટ, USB, બ્લૂટૂથ, ઇથરનેટ"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"અન્ય ડિવાઇસ સાથે ઇન્ટરનેટ શેર કરી રહ્યાં નથી"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"બંધ છે"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ઇન્ટરનેટ શેર કરવાની સુવિધા"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"વાઇ-ફાઇ હૉટસ્પૉટનો ઉપયોગ કરશો નહીં"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ફક્ત USB મારફતે ઇન્ટરનેટ શેર કરો"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ફક્ત બ્લૂટૂથ મારફતે ઇન્ટરનેટ શેર કરો"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ઇથરનેટ મારફતે માત્ર ઇન્ટરનેટ શેર કરો"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ફક્ત USB અને બ્લૂટૂથ મારફતે ઇન્ટરનેટ શેર કરો"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"ફક્ત USB અને ઇથરનેટ મારફતે ઇન્ટરનેટ શેર કરો"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"બ્લૂટૂથ અને ઇથરનેટ મારફતે માત્ર ઇન્ટરનેટ શેર કરો"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, બ્લૂટૂથ અને ઇથરનેટ મારફતે માત્ર ઇન્ટરનેટ શેર કરો"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ટિથરિંગ"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"બ્લૂટૂથ ટિથરિંગ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ઇથરનેટ ટિથરિંગ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"તમારા વાઇ-ફાઇ અથવા મોબાઇલ ડેટા કનેક્શન મારફત અન્ય ડિવાઇસને ઇન્ટરનેટ પૂરું પાડવા માટે હૉટસ્પૉટ અને ઇન્ટરનેટ શેર કરવાની સુવિધાનો ઉપયોગ કરો. ઍપ નજીકના ડિવાઇસ સાથે કન્ટેન્ટ શેર કરવા માટે પણ હૉટસ્પૉટ બનાવી શકે છે."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"સહાય"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"મોબાઇલ નેટવર્ક"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"મોબાઇલ પ્લાન"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS ઍપ્લિકેશન"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS ઍપ્લિકેશન બદલાવીએ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"તમારી SMS ઍપ્લિકેશન તરીકે <xliff:g id="CURRENT_APP">%2$s</xliff:g> ના બદલે <xliff:g id="NEW_APP">%1$s</xliff:g> નો ઉપયોગ કરીએ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"વાઇ-ફાઇ આસિસ્ટંટ બદલીએ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"તમારા નેટવર્ક્સ કનેક્શન્સનું સંચાલન કરવા માટે <xliff:g id="CURRENT_APP">%2$s</xliff:g> ને બદલે <xliff:g id="NEW_APP">%1$s</xliff:g> નો ઉપયોગ કરીએ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"તમારા નેટવર્ક કનેક્શન્સનું સંચાલન કરવા માટે <xliff:g id="NEW_APP">%s</xliff:g> નો ઉપયોગ કરો?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"અજાણ્યો સિમ ઓપરેટર"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> પાસે કોઈ જાણીતી જોગવાઈ કરતી વેબસાઇટ નથી"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"કૃપા કરીને સિમ કાર્ડ શામેલ કરો અને પુનઃપ્રારંભ કરો"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"કૃપા કરીને ઇન્ટરનેટ સાથે કનેક્ટ કરો"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"તાજેતરની સ્થાન વિનંતિ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ઑફિસની પ્રોફાઇલ માટે સ્થાન"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ઍપ માટે લોકેશનની પરવાનગીઓ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"સાફ કરવાની ઍક્સેસ"</string>
     <string name="controls_label" msgid="8671492254263626383">"નિયંત્રણો"</string>
     <string name="force_stop" msgid="2681771622136916280">"ફરજિયાત બંધ કરો"</string>
+    <string name="archive" msgid="9074663845068632127">"આર્કાઇવ કરો"</string>
+    <string name="restore" msgid="7622486640713967157">"રિસ્ટોર કરો"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"રિસ્ટોર કરી રહ્યાં છીએ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"રિસ્ટોર કરી રહ્યાં છીએ."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"રિસ્ટોર કરી રહ્યાં છીએ.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"રિસ્ટોર કરી રહ્યાં છીએ..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"કુલ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ઍપનું કદ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB સ્ટોરેજ ઍપ્લિકેશન"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"પેકેજ કદની ગણતરી કરી શક્યાં નથી."</string>
     <string name="version_text" msgid="7628938665256107608">"વર્ઝન <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ખસેડો"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"આર્કાઇવ કરવાની પ્રક્રિયા નિષ્ફળ રહી"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> આર્કાઇવ કરી"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"રિસ્ટોર કરવાની પ્રક્રિયા નિષ્ફળ રહી"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> રિસ્ટોર કરી રહ્યાં છીએ"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"અન્ય સ્થાનાંતરણ પહેલેથી જ પ્રગતિ પર છે."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"પર્યાપ્ત સંગ્રહ સ્થાન નથી."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ઍપ્લિકેશન અસ્તિત્વમાં નથી."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ઑન-સ્ક્રીન કીબોર્ડ ઉપલબ્ધ છે"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ઑન-સ્ક્રીન કીબોર્ડને મેનેજ કરો"</string>
     <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="6922850403920596246">"વાસ્તવિક કીબોર્ડની ઍક્સેસિબિલિટી માટે બાઉન્સ કી ચાલુ કરો"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ધીમી કી"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"વાસ્તવિક કીબોર્ડની ઍક્સેસિબિલિટી માટે ધીમી કી ચાલુ કરો"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"સ્ટીકી કી"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"વાસ્તવિક કીબોર્ડની ઍક્સેસિબિલિટી માટે સ્ટીકી કી ચાલુ કરો"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"વધુ વિકલ્પો માટે ટચપૅડ પર સૌથી નીચે જમણા ખૂણે ટૅપ કરો"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"પૉઇન્ટરની ઝડપ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ટચપૅડના સંકેતો વિશે જાણો"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"હોમ પર જાઓ"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"તમારા ટચપૅડ પર ગમે ત્યાં ત્રણ આંગળી વડે ઉપરની તરફ સ્વાઇપ કરો"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"પાછા જાઓ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"વપરાશના સમય મુજબ સૉર્ટ કરો"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"છેલ્લે ઉપયોગ કર્યાના સમય મુજબ સૉર્ટ કરો"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ઍપના નામ મુજબ સૉર્ટ કરો"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"છેલ્લે ઉપયોગ કરેલ સમય"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"છેલ્લે ઉપયોગ કરેલી"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ક્યારેય નહીં"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"વપરાશ સમય"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ઍક્સેસિબિલિટી"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ઍક્સેસિબિલિટી સેટિંગ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ત્રણ-ટૅપ વડે વિસ્તૃત કરો"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"શૉર્ટકટ વડે વિસ્તૃત કરો"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"શૉર્ટકટ વડે વિસ્તૃત કરો અને ત્રણ વાર ટૅપ કરો"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> વિશે"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ખોલવા માટે ઍક્સેસિબિલિટી બટનનો ઉપયોગ કરો"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ખોલવા માટે વૉલ્યૂમ કીને દબાવી રાખો"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ખોલવા માટે સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ખોલવા માટે, સ્ક્રીન પર બે આંગળી વડે બે વાર ટૅપ કરો"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ખોલવા માટે સંકેતનો ઉપયોગ કરો"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ઍક્સેસિબિલિટી સંકેતનો ઉપયોગ કરો"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"આ સુવિધાનો ઉપયોગ કરવા માટે, તમારી સ્ક્રીનમાં નીચેની બાજુએ રહેલા ઍક્સેસિબિલિટી બટન <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ને ટૅપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, ઍક્સેસિબિલિટી બટનને ટચ કરીને થોડીવાર દબાવી રાખો."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"આ સુવિધાનો ઉપયોગ કરવા માટે, તમારી સ્ક્રીન પરના ઍક્સેસિબિલિટી બટનને ટૅપ કરો."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"આ સુવિધાનો ઉપયોગ કરવા માટે, વૉલ્યૂમની બન્ને કીને દબાવી રાખો."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"મોટું કરવાનું શરૂ કરવા અને બંધ કરવા માટે, તમારી સ્ક્રીન પર ગમે-ત્યાં ત્રણ વાર ટૅપ કરો."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"મોટું કરવાનું શરૂ અને બંધ કરવા માટે, બે આંગળી વડે તમારી સ્ક્રીન પર ગમે ત્યાં બે વાર ટૅપ કરો."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"આ સુવિધાનો ઉપયોગ કરવા માટે, 2 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 2 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"આ સુવિધાનો ઉપયોગ કરવા માટે, 3 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"કોઈ ઍક્સેસિબિલિટી સુવિધાનો ઉપયોગ કરવા માટે, 2 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 2 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"કોઈ ઍક્સેસિબિલિટી સુવિધાનો ઉપયોગ કરવા માટે, 3 આંગળી વડે સ્ક્રીનની નીચેના ભાગથી ઉપરની તરફ સ્વાઇપ કરો.\n\nકોઈ એક સુવિધાથી બીજી સુવિધા પર સ્વિચ કરવા માટે, 3 આંગળી વડે ઉપરની તરફ સ્વાઇપ કરીને દબાવી રાખો."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"સમજાઈ ગયું"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ઍક્સેસિબિલિટી બટનના સેટિંગ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"બટનના સેટિંગ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> શૉર્ટકટ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ઍક્સેસિબિલિટી બટન"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ઍક્સેસિબિલિટી સંકેત"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"વૉલ્યૂમ કી દબાવી રાખો"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"વૉલ્યૂમ કી દબાવી રાખો"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"વૉલ્યૂમની બન્ને કીને દબાવી રાખો"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"સ્ક્રીન પર બે આંગળી વડે બે વાર ટૅપ કરો"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"સ્ક્રીન પર બે આંગળી વડે બે વાર ટૅપ કરો"</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="6863958573135995927">"સ્ક્રીનને ત્રણ વાર ટૅપ કરો"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ઝડપથી સ્ક્રીન પર {0,number,integer} વાર ટૅપ કરો. આ શૉર્ટકટ તમારા ડિવાઇસને ધીમું કરી શકે છે"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ઍક્સેસિબિલિટી બટન અને સંકેત વિશે વધુ જાણો"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ઍક્સેસિબિલિટી બટનનો ઉપયોગ કરી રહ્યાં છીએ. 3-બટનથી નૅવિગેશનમાં કોઈ સંકેત ઉપલબ્ધ હોતા નથી."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ઍક્સેસિબિલિટી સુવિધાઓ ઝડપથી ઍક્સેસ કરો"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"શરૂ કરવા માટે"</b>\n"1. ઍક્સેસિબિલિટી સેટિંગમાં જાઓ\n2. કોઈ સુવિધા પસંદ કરો અને શૉર્ટકટ પર ટૅપ કરો\n3. સુવિધાને ઍક્સેસ કરવા માટે, તમે બટન કે સંકેતનો ઉપયોગ કરવા માગો છો કે નહીં, તે પસંદ કરો"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"શરૂ કરવા માટે"</b>\n"1. ઍક્સેસિબિલિટી સેટિંગમાં જાઓ\n2. કોઈ સુવિધા પસંદ કરો અને શૉર્ટકટ પર ટૅપ કરો\n3. સુવિધાને ઍક્સેસ કરવા માટે બટન પસંદ કરો"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"બટન અથવા સંકેતનો ઉપયોગ કરો"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"લોકેશન"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"કદ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"પાવર બટન કૉલને સમાપ્ત કરે છે"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"મોટું માઉસ પૉઇન્ટર"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"માઉસ પૉઇન્ટરને વધુ ધ્યાનમાં આવી શકે તેવું બનાવો"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"બધી ઍપમાં ડાર્ક થીમનો ઉપયોગ કરો"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ડાર્ક થીમ વિનાની ઍપને લાગુ થાય છે. અમુક ઍપમાં રંગો ઉલટાવા જેવી ડિસ્પ્લે સંબંધિત સમસ્યાઓ આવી શકે છે."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ઍનિમેશન કાઢી નાખો"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"સ્ક્રીન પર હિલચાલ ઘટાડો"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"મૉનો ઑડિયો"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"વાઇબ્રેશન અને હેપ્ટિકનો ઉપયોગ કરો"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"અલાર્મ વાઇબ્રેશન"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"મીડિયા વાઇબ્રેશન"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"કીબોર્ડ માટે વાઇબ્રેશન"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"રિંગ વાઇબ્રેશન"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"નોટિફિકેશન વાઇબ્રેશન"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"પ્રતિસાદને ટચ કરો"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"રોકો"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"રદ કરો"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> બંધ કરીએ?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> પર ટૅપ કરવાથી <xliff:g id="SERVICE">%2$s</xliff:g> રોકાઈ જશે."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"બંધ કરો"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ચાલુ રાખો"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g>ને બંધ કરીએ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"કોઈ સેવાઓ ઇન્સ્ટોલ કરેલી નથી"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"કોઈ સેવા પસંદ કરેલી નથી"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"કોઈ વર્ણન પ્રદાન કરવામાં આવેલ નથી."</string>
     <string name="settings_button" msgid="2195468788019730377">"સેટિંગ"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"લાઇટની સંવેદિતા, ફોટોફોબિયા, ઘેરી થીમ, આધાશીશી, માથાનો દુખાવો, વાંચવાનો મોડ, રાત્રિ મોડ, બ્રાઇટનેસ ઓછી કરો, વ્હાઇટ પૉઇન્ટ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ઉપયોગની સરળતા, ઍક્સેસની સરળતા, સહાયક, સહાયકારી"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"દ્રષ્ટિ, શ્રવણશક્તિ, અંધ, બધિર, મોટર, કાયાકૌશલ્ય, સહાયક, સહાયતા, ઉપયોગમાં સરળતા, ઍક્સેસની સરળતા, હાથ, સહાય"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"વિંડો મોટી કરવાની સુવિધા, નાનું-મોટું કરો, મોટું કરવું, ઓછું વિઝન, વધારો, વધુ મોટું કરો"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"કૅપ્શન, ઉપશીર્ષકો, CC, Live Transcribe, સાંભળવાની સમસ્યા, CART, સ્પીચ ટૂ ટેક્સ્ટ, સબટાઇટલ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"કલર કોન્ટ્રાસ્ટ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"મોટર, માઉસ"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"સાંભળવામાં મદદ આપતા યંત્રો, ઓછું સાંભળવાની સમસ્યા, સાંભળવાની સમસ્યા, કૉક્લિઅર ઇમ્પ્લાન્ટ, ઍમ્પ્લિફિકેશન ડિવાઇસ, સાઉન્ડ પ્રોસેસર"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"મોટર, માઉસ, બાહ્ય માઉસ, હેડ માઉસ, અડૅપ્ટિવ માઉસ, વ્હીલચેર, જૉયસ્ટિક"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"સાંભળવામાં મદદ આપતા યંત્રો, ઓછું સાંભળવાની સમસ્યા, બહેરાશ, કૉક્લિઅર ઇમ્પ્લાન્ટ, ઍમ્પ્લિફિકેશન ડિવાઇસ, સાઉન્ડ પ્રોસેસર, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"સાંભળવાની સમસ્યા, બહેરાશ, કૅપ્શન, ટેલિટાઇપ, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ત્રણ બટન"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"કાયાકૌશલ્ય, મોટર, વરિષ્ઠ, સંધિવા, rsi, સ્ટ્રોક, ધ્રુજારી, મલ્ટીપલ સ્ક્લેરોસિસ, મગજનો લકવો, કંપન, પુનરાવર્તિત તાણની ઇજા, હાથ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"વિલંબ, કાયાકૌશલ્ય, વરિષ્ઠ"</string>
     <string name="print_settings" msgid="8519810615863882491">"પ્રિન્ટિંગ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"બંધ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 પ્રિન્ટ સેવા ચાલુ છે}one{# પ્રિન્ટ સેવા ચાલુ છે}other{# પ્રિન્ટ સેવા ચાલુ છે}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> બાકી"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"ચાર્જ થવામાં <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"સ્ક્રીન સમય"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"બૅકગ્રાઉન્ડ સમય"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ઓછી બૅટરી"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ઍપ્લિકેશનને પૃષ્ઠભૂમિમાં ચાલવાની મંજૂરી આપો"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"બૅકગ્રાઉન્ડ પ્રવૃત્તિને મર્યાદિત કરીએ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"જો તમે બૅકગ્રાઉન્ડ પ્રવૃત્તિને એક ઍપ માટે મર્યાદિત કરો છો, તો તે અયોગ્ય વર્તન કરી શકે છે"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"આ ઍપ બૅટરી ઑપ્ટિમાઇઝ કરવા સેટ નથી તેથી તમે તેને પ્રતિબંધિત કરી શકશો નહીં.\n\nએને પ્રતિબંધિત કરવા, પહેલાં બૅટરી ઑપ્ટિમાઇઝ કરવાનું ચાલુ કરો."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"બૅટરીનો વપરાશ મેનેજ કરો"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"બૅકગ્રાઉન્ડમાં ઉપયોગ કરવાની મંજૂરી આપો"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"રિઅલ-ટાઇમ અપડેટ માટે, બૅકગ્રાઉન્ડમાં ઉપયોગ કરવાની સુવિધા ચાલુ કરો, બૅટરી બચાવવા તેને બંધ કરો"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"અમર્યાદિત"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ઑપ્ટિમાઇઝ કરેલો"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"પ્રતિબંધિત"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"સૌથી વધુ વપરાતી હોય એવી ઍપ જુઓ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"તમારી બૅટરીની સુરક્ષા કરવા માટે, ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"તમારી બૅટરીની આવરદા વધારવામાં સહાય કરવા માટે, ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"તમારી બૅટરીની સુરક્ષા કરવા માટે, ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"તમારી બૅટરીની આવરદા વધારવામાં સહાય કરવા માટે, ડૉક કરતી વખતે ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવે છે"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"તમારી બૅટરીની સુરક્ષા કરવા માટે, ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવ્યું છે"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"તમારી બૅટરીની આવરદા વધારવામાં સહાય કરવા માટે, ડૉક કરતી વખતે ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવે છે"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"સંપૂર્ણ ચાર્જિંગ વિશે"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"તમારી બૅટરીને સુરક્ષિત રાખવા માટે, આગલી વખતે જ્યારે તમારું ટૅબ્લેટ ડૉક કરેલું હોય, ત્યારે ચાર્જિંગ ઑપ્ટિમાઇઝ કરવામાં આવશે"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ચાર્જિંગ થોભાવેલું છે વિશે વધુ જાણો"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ચાર્જ કરવાનું ફરી શરૂ કરો"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"બૅકગ્રાઉન્ડમાંની હાઇ પાવર પ્રવૃત્તિનો સમાવેશ થાય છે"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"આ ઍપ બૅકગ્રાઉન્ડમાં બૅટરીનો વપરાશ કરી શકશે. તમારા ડિવાઇસની બૅટરી અપેક્ષા કરતાં વહેલા સમાપ્ત થઈ શકે છે."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"કાઢી નાખો"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"રદ કરો"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"પૂરી ચાર્જ કરો"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ચાર્જિંગ ઍક્સેસરીમાં સમસ્યા"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ચાર્જિંગ ઍક્સેસરી ચેક કરો"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"અસંગત ચાર્જિંગ વિશે વધુ જાણો"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"બૅટરી મેનેજર"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ઍપને ઑટોમૅટિક રીતે મેનેજ કરો"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"છેલ્લા પૂર્ણ ચાર્જ થયા પછીથી"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"સિસ્ટમ ઍપ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"અનઇન્સ્ટૉલ કરવામાં આવેલી ઍપ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"અન્ય"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"અંદાજિત બાકી સમય"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"સંપૂર્ણપણે ચાર્જ થવામાં"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"કુલ: એક મિનિટ કરતાં ઓછો સમય"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"બૅકગ્રાઉન્ડ: એક મિનિટ કરતાં ઓછો સમય"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"સ્ક્રીન સમય: એક મિનિટ કરતાં ઓછો"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"એક મિનિટ કરતાં ઓછો"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"કુલ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"બૅકગ્રાઉન્ડ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"સ્ક્રીન સમય: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"હમણાં"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"બૅટરીના વપરાશનો ચાર્ટ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"બૅટરીના દૈનિક વપરાશનો ચાર્ટ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"બૅટરીના કલાક દીઠ વપરાશનો ચાર્ટ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"બૅટરીનું લેવલ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>થી <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> છે"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"છેલ્લા પૂર્ણ ચાર્જ પછી બૅટરીનો વપરાશ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> માટેનો બૅટરીનો વપરાશ"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"છેલ્લે પૂર્ણ ચાર્જ કર્યા પછી સ્ક્રીન સમય"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"કટોકટી સમયે ડાયલનું સિગ્નલ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"જ્યારે કટોકટીનો કૉલ કરવામાં આવે ત્યારે વર્તન સેટ કરો"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"બૅકઅપ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ચાલુ છે"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"બંધ છે"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"બેકઅપ અને પુનર્સ્થાપન"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"વ્યક્તિગત ડેટા"</string>
     <string name="backup_data_title" msgid="507663517227498525">"મારા ડેટાનો બેક અપ લો"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"મોબાઇલ ડેટા અને વાઇ-ફાઇ"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"વ્યક્તિગત ડેટાને ઑટો સિંક કરો"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ઑફિસના ડેટાને ઑટો સિંક કરો"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ખાનગી ડેટા ઑટો સિંક કરો"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ચક્ર બદલો…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ડેટા વપરાશ ચક્ર ફરીથી સેટ કરવા માટે મહિનાનો દિવસ:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"આ સમયગાળા દરમ્યાન કોઈ એપ્લિકેશને ડેટાનો ઉપયોગ કર્યો નથી."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"નામ"</string>
     <string name="vpn_type" msgid="5533202873260826663">"પ્રકાર"</string>
     <string name="vpn_server" msgid="2908816134941973935">"સર્વર ઍડ્રેસ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP એન્ક્રિપ્શન (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP રહસ્ય"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ઓળખકર્તા"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec પહેલાંથી શેર કરેલી કી"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec વપરાશકર્તા પ્રમાણપત્ર"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA પ્રમાણપત્ર"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec સર્વર પ્રમાણપત્ર"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"વિગતવાર વિકલ્પો બતાવો"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS શોધ ડોમેન"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS સર્વર (દા.ત. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ફૉરવર્ડિંગ રૂટ (દા.ત. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"વપરાશકર્તાનું નામ"</string>
     <string name="vpn_password" msgid="1183746907642628127">"પાસવર્ડ"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"એકાઉન્ટ માહિતી સાચવો"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ઉપયોગ થયો નથી)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(સર્વર ચકાસશો નહીં)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(સર્વરમાંથી પ્રાપ્ત)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"આ VPN પ્રકાર હંમેશાં કનેક્ટ કરેલ રાખી શકાતો નથી"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"હંમેશાં-ચાલુ VPN માત્ર સંખ્યાત્મક સર્વર ઍડ્રેસને જ સપોર્ટ કરે છે"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"હંમેશાં-ચાલુ VPN માટે DNS સર્વરનો ઉલ્લેખ કરેલો હોવો આવશ્યક છે"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS સર્વર સરનામા હંમેશાં-ચાલુ VPN માટે સંખ્યાત્મક હોવા આવશ્યક છે"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"દાખલ કરેલી માહિતી હંમેશાં-ચાલુ VPNને સપોર્ટ કરતી નથી"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"રદ કરો"</string>
     <string name="vpn_done" msgid="5137858784289564985">"છોડી દો"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN વિનાના કનેક્શનને બ્લૉક કરો"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN કનેક્શનની જરૂર છે?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"સુરક્ષિત નથી. IKEv2 VPN પર અપડેટ કરો"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"અનસપોર્ટેડ VPN શરૂ કરવામાં નિષ્ફળ રહ્યાં."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"હંમેશા તેની સાથે કનેક્ટ રહેવા માટે એક VPN પ્રોફાઇલ પસંદ કરો. આ VPN સાથે કનેક્ટ હશે માત્ર ત્યારે જ નેટવર્ક ટ્રાફિકને મંજૂરી આપવામાં આવશે."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"કોઈ નહીં"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"હંમેશા-ચાલુ VPNને સર્વર અને DNS બંને માટે એક IP ઍડ્રેસની જરૂર હોય છે."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER અલર્ટ"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"બાળકના અપહરણો વિશે બુલેટિન્સ પ્રાપ્ત કરો"</string>
     <string name="repeat_title" msgid="8676570486899483606">"પુનરાવર્તન"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"કૉલ સંચાલક સક્ષમ કરો"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"આ સેવાને તમારા કૉલ કેવી રીતે કરવામાં આવે તે મેનેજ કરવાની મંજૂરી આપો."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"કૉલ સંચાલક"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"વાયરલેસ ઇમર્જન્સી અલર્ટ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"નેટવર્ક ઓપરેટર્સ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ઍક્સેસ પોઇન્ટના નામ"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"સિમ સ્થિતિ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"સિમનું સ્ટેટસ (સિમ સ્લૉટ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"સિમ કાર્ડ બદલાયા છે."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"તમારા સિમ કાર્ડ બદલાયા છે"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"સેટ કરવા માટે ટૅપ કરો"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"દર વખતે પૂછો"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"પસંદગી જરૂરી"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"તાજેતરની ઍપ, ડિફૉલ્ટ ઍપ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"કાર્યાલયની પ્રોફાઇલમાં ઍપ માટે નોટિફિકેશન ઍક્સેસ ઉપલબ્ધ નથી."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"પાસવર્ડ અને એકાઉન્ટ"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"સાચવેલા પાસવર્ડ, ઑટોમૅટિક રીતે ભરવાની સુવિધા, સિંક કરેલા એકાઉન્ટ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"સાઇન-ઇન અને ઑટોમૅટિક રીતે ભરવાની સુવિધા માટેના સૂચનો"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ડિફૉલ્ટ ઍપ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ક્લોન કરેલી ઍપ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ઍપની બીજી આવૃત્તિ બનાવો જેથી તમે એક જ સમયે બે એકાઉન્ટનો ઉપયોગ કરી શકો."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"વૉલેટ"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ચુકવણી કરો, ટૅપ કરો, ચુકવણીઓ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"બૅકઅપ, બૅક અપ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"સંકેત"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ફેસ, અનલૉક, પ્રમાણીકરણ, સાઇન ઇન"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ફેસ, અનલૉક, પ્રમાણીકરણ, સાઇન ઇન કરો, ફિંગરપ્રિન્ટ, બાયોમેટ્રિક"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl વર્ઝન, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ટેક્સ્ટનું કદ, મોટી પ્રિન્ટ, મોટા ફૉન્ટ, મોટી ટેક્સ્ટ, ઓછું વિઝન, ટેક્સ્ટને મોટી બનાવો, ફૉન્ટ મોટા બનાવનાર, ફૉન્ટની વૃદ્ધિ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"હંમેશાં ચાલુ રહેતું ઍમ્બિઅન્ટ ડિસ્પ્લે, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ટૅગ, રીડર"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"કીબોર્ડ, હેપ્ટિક, વાઇબ્રેટ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"વૉલ્યૂમ, વાઇબ્રેશન, ખલેલ પાડશો નહીં"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"મીડિયા વૉલ્યૂમ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"કાસ્ટનું વૉલ્યૂમ"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ચાલુ થવા પર વાગનાર ધ્વનિ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"લાઇવ કૅપ્શન"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"મીડિયામાં કૅપ્શન ઑટોમૅટિક રીતે ઉમેરો"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ફોનના સ્પીકર"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ટૅબ્લેટના સ્પીકર"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ડિવાઇસના સ્પીકર"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"વાયરવાળા હૅડફોન"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"સુસંગત મીડિયાનો ઑડિયો વધુ ઇમર્સિવ બને છે"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"બંધ"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"તમામ નોટિફિકેશન કન્ટેન્ટ બતાવો"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"માત્ર અનલૉક થાય ત્યારે જ સંવેદનશીલ કન્ટેન્ટ બતાવો"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"નોટિફિકેશન બિલકુલ બતાવશો નહીં"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"તમને લૉક સ્ક્રીનનું ડિસ્પ્લે કેવું જોઈએ છે?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"તમારું લૉક સ્ક્રીન શું બતાવે તેવું તમે ઇચ્છો છો?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"લૉક સ્ક્રીન"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"કાર્યાલયનું તમામ નોટિફિકેશન કન્ટેન્ટ બતાવો"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"કાર્ય સંબંધિત સંવેદનશીલ કન્ટેન્ટ છુપાવો"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"હાલની વાતચીતો કાઢી નાખી"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"વાતચીત કાઢી નાખી"</string>
     <string name="clear" msgid="5092178335409471100">"સાફ કરો"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> સાફ કરો"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"પ્રાધાન્યતા ધરાવતી અને ફેરફાર કરેલી વાતચીતો અહીં દેખાશે"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"એકવાર તમે વાતચીતને \'પ્રાધાન્યતા\' ધરાવતી વાતચીત તરીકે માર્ક કરો અથવા વાતચીતોમાં અન્ય કોઈ ફેરફારો કરો, એટલે તે અહીં દેખાશે. \n\nવાતચીતના સેટિંગ બદલવા માટે: \nનોટિફિકેશન શેડ ખોલવા માટે સ્ક્રીનની ઉપરની બાજુથી નીચેની તરફ સ્વાઇપ કરો અને પછી વાતચીતને ટચ કરીને દબાવી રાખો."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"નાનું કરો"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"નોટિફિકેશન કૂલડાઉન"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"બધા નોટિફિકેશન પર કૂલડાઉન લાગુ કરો"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"જ્યારે તમને એક જ ઍપમાંથી એક પછી એક ઘણા નોટિફિકેશન મળે ત્યારે ધીમે-ધીમે નોટિફિકેશનનું વૉલ્યૂમ ઓછું કરો"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"વાતચીતો પર કૂલડાઉન લાગુ કરો"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"જ્યારે તમને ટૂંકા ગાળામાં એક જ ચૅટમાંથી ઘણા મેસેજ મળે ત્યારે ધીમે-ધીમે નોટિફિકેશનનું વૉલ્યૂમ ઓછું કરો"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"નોટિફિકેશન કૂલડાઉનનો ઉપયોગ કરશો નહીં"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"કોઈ એક જ ઍપમાંથી એક પછી એક ઘણા નોટિફિકેશન આવે તો પણ, નોટિફિકેશનનું વૉલ્યૂમ ઓછું ક્યારેય ઓછું કરશો નહીં"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"અનલૉક કરેલું હોય ત્યારે વાઇબ્રેટ કરો"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"જ્યારે સ્ક્રીન અનલૉક કરેલી હોય, ત્યારે જ વાઇબ્રેટ કરો"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ઑફિસની પ્રોફાઇલ પર લાગુ કરો"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"તમારી વ્યક્તિગત પ્રોફાઇલથી તમારી ઑફિસની પ્રોફાઇલ પર નોટિફિકેશન કૂલડાઉન સેટિંગ લાગુ કરો"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR સહાયક સેવાઓ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"કોઇ ઇન્સ્ટૉલ કરેલ ઍપએ VR સહાયક સેવાઓ તરીકે શરૂ કરવાની વિનંતી કરી નથી."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> માટે VR સેવા ઍક્સેસની મંજૂરી આપીએ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"બંધ છે"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ઍપ પિનિંગ"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ઍપ પિનિંગ, તમે હાલની ઍપને અનપિન ન કરો ત્યાં સુધી તેને વ્યૂમાં રાખવાની તમને સુવિધા આપે છે. વિશ્વાસપાત્ર મિત્રને કોઈ ખાસ ગેમ રમવાની સવલત આપવા જેવા કાર્ય માટે આ સુવિધાનો ઉપયોગ થઈ શકે છે."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"જ્યારે ઍપ પિન કરેલી હોય, ત્યારે પિન કરેલી ઍપ કદાચ અન્ય ઍપ ખોલી શકે છે અને વ્યક્તિગત ડેટા ઍક્સેસ કરી શકાય તેવું બની શકે છે. \n\nઍપ પિનિંગ સુવિધાનો ઉપયોગ કરવા માટે: 	\n1. ઍપ પિનિંગ સુવિધા ચાલુ કરો 	\n2. ઓવરવ્યૂ ખોલો 	\n3. સ્ક્રીનમાં સૌથી ઉપર આવેલા ઍપ આઇકન પર ટૅપ કરો, ત્યાર બાદ પિન કરો પર ટૅપ કરો"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"જ્યારે ઍપ પિન કરેલી હોય, ત્યારે પિન કરેલી ઍપ કદાચ અન્ય ઍપ ખોલી શકે છે અને વ્યક્તિગત ડેટા ઍક્સેસ કરી શકાય તેવું બની શકે છે. \n\nજો તમારે તમારું ડિવાઇસ કોઈ વ્યક્તિ સાથે સુરક્ષિત રીતે શેર કરવું હોય, તો વિકલ્પ તરીકે કોઈ અતિથિ વપરાશકર્તાનો ઉપયોગ કરી જુઓ. \n\nઍપ પિનિંગ સુવિધાનો ઉપયોગ કરવા માટે: 	\n1. ઍપ પિનિંગ સુવિધા ચાલુ કરો 	\n2. ઓવરવ્યૂ ખોલો 	\n3. સ્ક્રીનમાં સૌથી ઉપર આવેલા ઍપ આઇકન પર ટૅપ કરો, ત્યાર બાદ પિન કરો પર ટૅપ કરો"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"જ્યારે ઍપ પિન કરેલી હોય, ત્યારે પિન કરેલી ઍપ કદાચ અન્ય ઍપ ખોલી શકે છે અને વ્યક્તિગત ડેટા ઍક્સેસ કરી શકાય તેવું બની શકે છે. \n\nઍપ પિનિંગનો ઉપયોગ કરવા માટે: 	\n{0,number,integer}. ઍપ પિનિંગ ચાલુ કરો 	\n{1,number,integer}. ઓવરવ્યૂ ખોલો 	\n{2,number,integer}. સ્ક્રીનમાં સૌથી ઉપર આવેલા ઍપ આઇકન પર ટૅપ કરો, ત્યાર બાદ પિન કરો પર ટૅપ કરો"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"જ્યારે ઍપ પિન કરેલી હોય, ત્યારે પિન કરેલી ઍપ કદાચ અન્ય ઍપ ખોલી શકે છે અને વ્યક્તિગત ડેટા ઍક્સેસ કરી શકાય તેવું બની શકે છે. \n\nજો તમારે તમારું ડિવાઇસ કોઈ વ્યક્તિ સાથે સુરક્ષિત રીતે શેર કરવું હોય, તો વિકલ્પ તરીકે કોઈ અતિથિ વપરાશકર્તાનો ઉપયોગ કરી જુઓ. \n\nઍપ પિનિંગનો ઉપયોગ કરવા માટે: 	\n{0,number,integer}. ઍપ પિનિંગ ચાલુ કરો 	\n{1,number,integer}. ઓવરવ્યૂ ખોલો 	\n{2,number,integer}. સ્ક્રીનમાં સૌથી ઉપર આવેલા ઍપ આઇકન પર ટૅપ કરો, ત્યાર બાદ પિન કરો પર ટૅપ કરો"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ઍપ પિન કરેલી હોય, ત્યારે: \n\n•		વ્યક્તિગત ડેટા ઍક્સેસ કરી શકાય તેમ બની શકે \n		(જેમ કે સંપર્કો અને ઇમેલનું કન્ટેન્ટ) \n•		પિન કરેલી ઍપ અન્ય ઍપ ખોલે તેમ બની શકે \n\nમાત્ર તમારા વિશ્વાસપાત્ર લોકો સાથે ઍપ પિનિંગનો ઉપયોગ કરો."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"અનપિન કરતા પહેલાં અનલૉક પૅટર્ન માટે પૂછો"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"અનપિન કરતા પહેલાં પિન માટે પૂછો"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"અનપિન કરતાં પહેલાં પાસવર્ડ માટે પૂછો"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ડિવાઇસને અનપિન કરતી વખતે લૉક કરો"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"સિમ કાર્ડને ડિલીટ કરવાનું કન્ફર્મ કરો"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"કન્ફર્મ કરો કે તમે તમારું ઇ-સિમ કાઢી નાખવા માગો છો"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ઇ-સિમને કાઢી નાખતા પહેલાં ચકાસણી કરો કે આ તમે જ છો"</string>
     <string name="memtag_title" msgid="5096176296797727201">"વિગતવાર મેમરી સુરક્ષા બીટા"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"વિગતવાર મેમરી સુરક્ષા"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ન વપરાયેલી ઍપના સેટિંગ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"જો ઉપયોગ કરતા ન હો, તો ઍપ પ્રવૃત્તિ થોભાવો"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"પરવાનગીઓ કાઢી નાખો, હંગામી ફાઇલો ડિલીટ કરો અને નોટિફિકેશન બંધ કરો"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ઍપનો ઉપયોગ કરતા ન હો, તો ઍપ મેનેજ કરો"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"પરવાનગીઓ કાઢી નાખો, હંગામી ફાઇલો ડિલીટ કરો, નોટિફિકેશન બંધ કરો અને ઍપ આર્કાઇવ કરો"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"બધી ઍપ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ઇન્સ્ટૉલ કરેલી ઍપ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ઝટપટ ઍપ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ખાલી"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ઍપ્લિકેશનો દ્વારા વપરાયેલ મેમરી"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{છેલ્લી {time}માં 1 ઍપ દ્વારા મેમરીનો ઉપયોગ કરવામાં આવ્યો}one{છેલ્લી {time}માં # ઍપ દ્વારા મેમરીનો ઉપયોગ કરવામાં આવ્યો}other{છેલ્લી {time}માં # ઍપ દ્વારા મેમરીનો ઉપયોગ કરવામાં આવ્યો}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"મેમરી વપરાશની પ્રોફાઇલ બનાવવી ચાલુ કરો"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"મેમરીના વપરાશની પ્રોફાઇલ બનાવવા માટે સિસ્ટમના વધારાના સંસાધનો આવશ્યક છે."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"મેમરીના વપરાશની પ્રોફાઇલ બનાવવાની સુવિધા બંધ કરો"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ફ્રિકવન્સી"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"મહત્તમ વપરાશ"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"કોઈ ડેટાનો ઉપયોગ કર્યો નથી"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"અન્ય ઍપથી ઉપર બતાવો"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"અન્ય ઍપની ઉપર ડિસ્પ્લે કરવાની મંજૂરી આપો"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"તમે ઉપયોગમાં લઈ રહ્યાં હો તેવી અન્ય ઍપની ટોચ ઉપર આ ઍપને ડિસ્પ્લે થવા દો. આ ઍપ તમે ક્યાં ટૅપ કરો છો અથવા તો સ્ક્રીનના ડિસ્પ્લે પર શું ફેરફાર કરો છો તે જોઈ શકશે."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"મીડિયા આઉટપુટ બદલો"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ઍપને મીડિયા આઉટપુટ સ્વિચ કરવાની મંજૂરી આપો"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"અન્ય ઍપમાંથી ઑડિયો કે વીડિયો ચલાવવા માટે કનેક્ટ કરેલું ડિવાઇસ પસંદ કરવાની આ ઍપને મંજૂરી આપો. જો મંજૂરી આપવામાં આવે, તો આ ઍપ હૅડફોન અને સ્પીકર જેવા ઉપલબ્ધ ડિવાઇસની સૂચિ ઍક્સેસ કરી શકે છે અને ઑડિયો કે વીડિયો સ્ટ્રીમ કે કાસ્ટ કરવા માટે આઉટપુટ ડિવાઇસ પસંદ કરી શકે છે."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"બધી ફાઇલોનો ઍક્સેસ"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"બધી ફાઇલોને મેનેજ કરવા ઍક્સેસની મંજૂરી આપો"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"આ ઍપને આ ડિવાઇસ અથવા કોઈપણ કનેક્ટેડ સ્ટોરેજ વૉલ્યૂમ પરની બધી ફાઇલો વાંચવા, ફેરફાર કરવા અને ડિલીટ કરવાની મંજૂરી આપો. જો મંજૂરી આપવામાં આવે, તો ઍપ તમને જાણ કર્યા વિના ફાઇલોને ઍક્સેસ કરી શકે છે."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"બધી ફાઇલો ઍક્સેસ કરી શકે છે"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"વૉઇસ દ્વારા સક્રિય ઍપ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"વૉઇસ સક્રિયકરણને મંજૂરી આપો"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"વૉઇસ સક્રિયકરણ વૉઇસ આદેશનો ઉપયોગ કરીને મંજૂર કરેલી ઍપ, હાથના ઉપયોગ વિના ચાલુ કરે છે. બિલ્ટ-ઇન અડૅપ્ટિવ સેન્સિંગ એ ખાતરી કરે છે કે ડેટા ફક્ત તમારા માટે ખાનગી રહે.\n\n"<a href="">"સુરક્ષિત અડૅપ્ટિવ સેન્સિંગ વિશે વધુ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"પૂર્ણ સ્ક્રીનના નોટિફિકેશન"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"આ ઍપમાંથી પૂર્ણ સ્ક્રીનના નોટિફિકેશનને મંજૂરી આપો"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"જ્યારે ડિવાઇસ લૉક કરેલું હોય, ત્યારે આ ઍપને પૂર્ણ સ્ક્રીનમાં નોટિફિકેશન બતાવવાની મંજૂરી આપો. ઍપ આનો ઉપયોગ અલાર્મ, ઇનકમિંગ કૉલ અથવા અન્ય તાકીદના નોટિફિકેશન હાઇલાઇટ કરવા માટે કરી શકે છે."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"ડેટા ચેતવણી <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"ડેટા મર્યાદા <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"ડેટા ચેતવણી <xliff:g id="ID_1">^1</xliff:g> / ડેટા મર્યાદા <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"કૅરિઅર ડેટા ગણતરી, ડિવાઇસ ગણતરીથી અલગ હોઈ શકે છે"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"મોબાઇલ ઑપરેટરના નેટવર્ક દ્વારા વપરાયેલો ડેટા શામેલ નથી"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ઉપયોગ થયો"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ડેટા ચેતવણી સેટ કરો"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> પહેલાં અપડેટ કરેલ"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"હમણાં જ <xliff:g id="ID_1">^1</xliff:g> દ્વારા અપડેટ કરેલ"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"હમણાં જ અપડેટ કરેલ"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"પ્લાન જુઓ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"વિગતો જુઓ"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ડેટા સેવર"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"અપ્રતિબંધિત ડેટા"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"બૅકગ્રાઉન્ડમાં <xliff:g id="APP_LABEL">%1$s</xliff:g> દ્વારા બૅટરીનો સામાન્ય કરતાં વધુ વપરાશ થયો"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"ફૉરગ્રાઉન્ડમાં <xliff:g id="APP_LABEL">%1$s</xliff:g> દ્વારા બૅટરીનો વધુ વપરાશ થયો"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"ફૉરગ્રાઉન્ડમાં <xliff:g id="APP_LABEL">%1$s</xliff:g> દ્વારા બૅટરીનો સામાન્ય કરતાં વધુ વપરાશ થયો"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"બૅટરીના વપરાશમાં વિસંગતતા"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"બૅટરીનો ઉચ્ચ વપરાશ"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"બૅકગ્રાઉન્ડમાં બૅટરીનો ઉચ્ચ વપરાશ"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ફૉરગ્રાઉન્ડમાં બૅટરીનો ઉચ્ચ વપરાશ"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ઝડપી સેટિંગ ડેવલપર ટાઇલ"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb અધિકરણ સમયસમાપ્તિને બંધ કરો"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ડિફૉલ્ટ (7 દિવસ) અથવા વપરાશકર્તા દ્વારા કન્ફિગર કરેલા સમય (ઓછામાં ઓછા 1 દિવસ)માં ફરી કનેક્ટ કરવામાં ન આવેલા હોય તેવા સિસ્ટમ માટે અધિકરણને ઑટોમૅટિક રીતે રદ કરવાનું બંધ કરો."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope ટ્રેસ"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"સેન્સર બંધ છે"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ઑફિસની પ્રોફાઇલના સેટિંગ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"વ્યક્તિગત ઍપને ઑફિસની ડિરેક્ટરીનો ઉપયોગ કરીને સંપર્કો ઓળખવાની મંજૂરી આપો"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"સિસ્ટમ નૅવિગેશન, 2-બટનથી નૅવિગેશન, 3-બટનથી નૅવિગેશન, સંકેત દ્વારા નૅવિગેશન, સ્વાઇપ કરો"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ડિજિટલ આસિસ્ટંટ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"આસિસ્ટંટ શરૂ કરવા માટે સ્વાઇપ કરો"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ડિજિટલ આસિસ્ટંટ ઍપ શરૂ કરવા માટે, સ્ક્રીન પર નીચેના ખૂણાથી ઉપર તરફ સ્વાઇપ કરો."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ડિજિટલ આસિસ્ટંટ ઍપ શરૂ કરવા માટે, સૌથી નીચેના ખૂણેથી ઉપરની તરફ સ્વાઇપ કરો"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant માટે હોમ બટન દબાવી રાખો"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ડિજિટલ આસિસ્ટંટ ઍપ શરૂ કરવા માટે, હોમ બટન દબાવી રાખો."</string>
     <string name="low_label" msgid="6525629096999711220">"ઓછી"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ઑટોમૅટિક રીતે ભરવાની સુવિધા"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ડિફૉલ્ટ \'ઑટોમૅટિક રીતે ભરવાની સુવિધા\'"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"પાસવર્ડ"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"પાસવર્ડ, પાસકી અને ડેટા સંબંધિત સેવાઓ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"વધારાના પ્રદાતાઓ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"પસંદગીની સેવા"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"વધારાની સેવાઓ"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# પાસવર્ડ}one{# પાસવર્ડ}other{# પાસવર્ડ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ઑટો, ભરો, આપમેળે ભરવાની સુવિધા, પાસવર્ડ"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ડેટા, પાસકી, પાસવર્ડ"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ઑટો, ભરો, ઑટોમૅટિક રીતે ભરવાની સુવિધા, ડેટા, પાસકી, પાસવર્ડ"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"બદલો"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ખોલો"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"કંઈપણ પસંદ કરેલું નથી"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ખાતરી કરો કે તમે આ ઍપનો વિશ્વાસ કરો છો&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google ઑટોમૅટિક રીતે ભરવાની સુવિધા&gt;%1$s&lt;/xliff:g&gt; તમારી સ્ક્રીન પર શું છે તેનો ઉપયોગ એ નક્કી કરવા કરે છે કે ઑટોમૅટિક રીતે શું દાખલ થશે."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;નો ઉપયોગ કરીએ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; કઈ માહિતી ઑટોમૅટિક રીતે ભરવામાં આવે તે નક્કી કરવા માટે તમારી સ્ક્રીન પરની માહિતીનો ઉપયોગ કરે છે. હવેથી નવા પાસવર્ડ, પાસકી અને અન્ય માહિતી અહીં સાચવવામાં આવશે."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"પાસવર્ડ, પાસકી અને ડેટા સંબંધિત સેવાઓ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; હવેથી નવા પાસવર્ડ, પાસકી તેમજ અન્ય માહિતી અહીં સાચવવામાં આવશે. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; દ્વારા ઑટોમૅટિક રીતે ભરવાની માહિતી નક્કી કરવા માટે તમારી સ્ક્રીન પરની માહિતીનો ઉપયોગ કરવામાં આવી શકે છે."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"પાસવર્ડ માટે પસંદગીની સેવા, પાસકી અને ઑટોમૅટિક રીતે ભરવાની સુવિધા"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$sને બંધ કરીએ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;શું આ સેવા બંધ કરીએ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; જ્યારે તમે સાઇન ઇન કરશો ત્યારે પાસવર્ડ, પાસકી, ચુકવણી પદ્ધતિઓ અને અન્ય માહિતી જેવી સાચવેલી માહિતી ભરવામાં આવશે નહીં. તમારી સાચવેલી માહિતીનો ઉપયોગ કરવા માટે, કોઈ પાસવર્ડ, પાસકી કે ડેટા સેવા પસંદ કરો."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"પાસવર્ડ, પાસકી અને ઑટોમૅટિક રીતે ભરવાની સુવિધા"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;બધી સેવાઓ બંધ કરીએ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; જ્યારે તમે સાઇન ઇન કરશો ત્યારે પાસવર્ડ, પાસકી અને અન્ય સાચવેલી માહિતી ઑટોમૅટિક રીતે ભરવા માટે ઉપલબ્ધ રહેશે નહીં"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;તમારી પસંદગીની સેવાને આના વડે બદલો: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; હવેથી નવા પાસવર્ડ, પાસકી અને અન્ય માહિતી અહીં સાચવવામાં આવશે. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; દ્વારા ઑટોમૅટિક રીતે ભરવાની માહિતી નક્કી કરવા માટે તમારી સ્ક્રીન પરની માહિતીનો ઉપયોગ કરવામાં આવી શકે છે"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$sનો ઉપયોગ કરીએ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"બંધ કરો"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"બદલો"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"તમે ફક્ત 5 સેવા ચાલુ રાખી શકો છો"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"અન્ય સેવા ઉમેરવા માટે ઓછામાં ઓછી 1 સેવા બંધ કરો"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"ઑટોમૅટિક રીતે શું ભરી શકાય તે નક્કી કરવા માટે %1$s તમારી સ્ક્રીન પર જે છે તેનો ઉપયોગ કરે છે."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"પાસવર્ડ, પાસકી અને ડેટા સંબંધિત સેવાઓની મર્યાદા"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"તમે એક જ સમયે 5 પાસવર્ડ, પાસકી અને ડેટા સંબંધિત સેવાઓ સક્રિય રાખી શકો છો. વધુ સેવા ઉમેરવા માટે, કોઈ સેવાને બંધ કરો."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"પાસવર્ડ, પાસકી, અને ડેટા સંબંધિત સેવાઓની મર્યાદા"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"તમે એક જ સમયે 5 પાસવર્ડ, પાસકી, અને ડેટા સંબંધિત સેવાઓ સક્રિય રાખી શકો છો. વધુ સેવા ઉમેરવા માટે, કોઈ સેવાને બંધ કરો."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"બંધ કરો"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ઑટોમૅટિક રીતે ભરવાના સેટિંગ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"લૉગિંગનું સ્તર"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ફક્ત ડિબગ કરી શકાય તેવી ઍપ માટે જ ઍપની સુસંગતતામાંના ફેરફારોમાં બદલાવ કરી શકાય છે. ડિબગ કરી શકાય તેવી ઍપ ઇન્સ્ટૉલ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"અન્ય સેટિંગ પર આધાર રાખે છે"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"એકાઉન્ટ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d એકાઉન્ટ"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ડિવાઇસનું નામ"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"મૂળભૂત માહિતી"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"કાનૂની નોટિસ અને નિયમનકારી માહિતી"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ટૅગ સ્કૅન કરવામાં આવે ત્યારે આ ઍપને લૉન્ચ થવાની મંજૂરી આપો.\nજો આ પરવાનગી ચાલુ હોય, તો જ્યારે પણ ટૅગની ભાળ મળે ત્યારે આ ઍપ વિકલ્પ તરીકે ઉપલબ્ધ થશે."</string>
     <string name="media_output_title" msgid="8283629315159510680">"મીડિયા આના પર ચલાવો"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> પર ચલાવો"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ઑડિયો આની પર વાગશે"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"આ ડિવાઇસ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"કૉલ દરમિયાન અનુપલબ્ધ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"હૅન્ડ્સ ફ્રી પર કૉલ લો"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"મ્યૂટ કરો"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ચાલુ કરવા માટે, પહેલાં \"પાવર બટન દબાવી રાખો\" વિકલ્પને બદલીને પાવર મેનૂ કરો."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"નેટવર્કની વિગતો"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"તમારા ડિવાઇસનું નામ તમારા ફોનની ઍપ પર જોઈ શકાય છે. તમે બ્લૂટૂથ ડિવાઇસથી કનેક્ટ કરો, વાઇ-ફાઇ નેટવર્કથી કનેક્ટ કરો અથવા વાઇ-ફાઇ હૉટસ્પૉટને સેટ કરો ત્યારે તે અન્ય લોકોને પણ દેખાઈ શકે છે."</string>
     <string name="devices_title" msgid="649715719278562515">"ઉપકરણો"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"નેટવર્ક પસંદ કરો"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ડિસ્કનેક્ટેડ"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"નામ"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"રંગ (સુસંગત ઍપ દ્વારા ઉપયોગમાં લેવાય છે)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"સાચવો"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"સિમનો ઉપયોગ કરો"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"આ સિમ કાર્ડનો ઉપયોગ કરો"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"બંધ છે"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"આ સિમને બંધ કરવા માટે, સિમ કાર્ડ કાઢી નાખો"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g>ને સક્રિય કરવા માટે ટૅપ કરો"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"સિમ કાઢી નાખો"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"આ સિમ કાર્ડ બંધ કરવા માટે, સિમ કાર્ડ કાઢી નાખો"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g>નું તમારું સિમ કાર્ડ સક્રિય કરવા માટે ટૅપ કરો"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ઇ-સિમ કાઢી નાખો"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"નેટવર્ક ઑપરેટિંગ મોડ બદલો"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"પસંદગીનો નેટવર્ક પ્રકાર"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"કિંમત માટે તમારા નેટવર્ક પ્રદાતાનો સંપર્ક કરો."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ઍપ ડેટા વપરાશ"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"અમાન્ય નેટવર્ક મોડ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. અવગણો."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"સૅટલાઇટ મેસેજિંગ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"સૅટલાઇટ મારફતે ટેક્સ્ટ મેસેજ મોકલો અને પ્રાપ્ત કરો. તમારા એકાઉન્ટમાં શામેલ છે."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"સૅટલાઇટ મારફતે ટેક્સ્ટ મેસેજ મોકલો અને પ્રાપ્ત કરો. તમારા એકાઉન્ટમાં શામેલ નથી."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"સૅટલાઇટ મેસેજિંગ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"સૅટલાઇટ મેસેજિંગ સેવા વિશે"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"યોગ્ય <xliff:g id="CARRIER_NAME">%1$s</xliff:g> એકાઉન્ટના ભાગ તરીકે તમે સૅટલાઇટ મારફતે ટેક્સ્ટ મેસેજ મોકલી અને પ્રાપ્ત કરી શકો છો"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"તમારો <xliff:g id="CARRIER_NAME">%1$s</xliff:g> પ્લાન"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"સૅટલાઇટ મેસેજિંગ તમારા એકાઉન્ટમાં શામેલ છે"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"સૅટલાઇટ મેસેજિંગ તમારા એકાઉન્ટમાં શામેલ નથી"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"સૅટલાઇટ મેસેજિંગ ઉમેરો"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"તેની કામ કરવાની રીત"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"જ્યારે તમે કોઈ મોબાઇલ નેટવર્ક ધરાવતા ન હો, ત્યારે"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"તમારો ફોન સૅટલાઇટ સાથે ઑટોમૅટિક રીતે કનેક્ટ કરવામાં આવશે. શ્રેષ્ઠ કનેક્શન માટે, સ્પષ્ટ રીતે આકાશ જોઈ શકાય તે રીતે બહાર રહો."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"તમારો ફોન સૅટલાઇટ સાથે કનેક્ટ થયા પછી"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"તમે ઇમર્જન્સી સર્વિસ સહિત કોઈને પણ ટેક્સ્ટ કરી શકો છો. જ્યારે કોઈ મોબાઇલ નેટવર્ક ઉપલબ્ધ હશે, ત્યારે તમારો ફોન તેની સાથે ફરીથી કનેક્ટ કરવામાં આવશે."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"સૅટલાઇટ મેસેજિંગને વધુ સમય લાગી શકે છે અને તે માત્ર અમુક વિસ્તારોમાં જ ઉપલબ્ધ છે. વાતાવરણ અને ચોક્કસ સંરચનાઓ તમારા સૅટલાઇટ કનેક્શનને અસર કરી શકે છે. સૅટલાઇટ મારફતે કૉલિંગની સુવિધા ઉપલબ્ધ નથી.\n\nતમારા એકાઉન્ટમાં કરવામાં આવેલા ફેરફારો સેટિંગમાં દેખાવામાં થોડો સમય લાગી શકે છે. વિગતો માટે <xliff:g id="CARRIER_NAME">%1$s</xliff:g>નો સંપર્ક કરો."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"સૅટલાઇટ મેસેજિંગ વિશે વધુ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ઍક્સેસ પૉઇન્ટના નામ"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"જ્યારે <xliff:g id="CARRIER">%1$s</xliff:g> સાથે કનેક્ટ થયેલ હોય, ત્યારે ઉપલબ્ધ નથી"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરીએ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"શું સિમ કાર્ડના ઉપયોગ પર સ્વિચ કરીએ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>નો ઉપયોગ કરીએ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"એક સમયે માત્ર એક જ સિમ સક્રિય રહી શકશે.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરવાથી તમારી <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> સેવા રદ થશે નહીં."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"એક સમયે માત્ર 1 ઇ-સિમ સક્રિય રહી શકશે.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરવાથી તમારી <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> સેવા રદ થશે નહીં."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"એક સમયે માત્ર એક જ સિમને સક્રિય કરી શકાશે.\n\nસ્વિચ કરવાથી <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>નો તમારો સેવા પ્લાન રદ થશે નહીં."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"એક સમયે માત્ર 1 સિમ કાર્ડ ચાલુ રહી શકે છે.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>ના પર સ્વિચ કરવાથી તમારી <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>ની સેવા રદ કરવામાં આવશે નહીં."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"એક સમયે માત્ર 1 ઇ-સિમ સક્રિય રહી શકશે.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરવાથી તમારી <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>ની સેવા રદ કરવામાં આવશે નહીં."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"એક સમયે માત્ર 1 ઇ-સિમ સક્રિય રહી શકશે.\n\nસ્વિચ કરવાથી તમારી <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>ની સેવા રદ કરવામાં આવશે નહીં."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"તમે એકવારમાં 2 સિમ કાર્ડનો ઉપયોગ કરી શકો છો. <xliff:g id="CARRIER_NAME">%1$s</xliff:g>નો ઉપયોગ કરવા માટે, બીજું સિમ કાર્ડ બંધ કરો."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરો"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> બંધ કરો"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"સિમ કાર્ડને બંધ કરી દેવાથી તમારી સેવા રદ થશે નહીં"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"નેટવર્ક સાથે કનેક્ટ કરી રહ્યાં છીએ…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"કૉલ અને મેસેજ માટે <xliff:g id="CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરી રહ્યાં છીએ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"મોબાઇલ ઑપરેટર સ્વિચ કરી શકાતા નથી"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"કોઈ ભૂલને કારણે મોબાઇલ ઑપરેટર સ્વિચ કરી શકાતા નથી."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"તમારું સિમ કાર્ડ સક્રિય કરી રહ્યાં છીએ…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કરી રહ્યાં છીએ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"સિમ કાર્ડ સ્વિચ કરી શકતા નથી"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"કંઈક ખોટું થયું. સિમ કાર્ડ સ્વિચ કરી શકતા નથી."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ને બંધ કરીએ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"સિમ કાર્ડ બંધ કરીએ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"સિમ કાર્ડ બંધ કરી રહ્યાં છીએ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"મોબાઇલ ઑપરેટરને બંધ કરી શકાતા નથી"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"કંઈક ખોટું થયું હતું અને તમારા મોબાઇલ ઑપરેટરને બંધ કરી શક્યાં નથી."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"સિમ કાર્ડ બંધ કરી શકાતું નથી"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"કંઈક ખોટું થયું અને તમારું સિમ કાર્ડ બંધ કરી શકાયું નથી."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 સિમનો ઉપયોગ કરીએ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"આ ડિવાઇસમાં એકવારમાં 2 સિમ સક્રિય થઈ શકે છે. એકવારમાં 1 જ સિમનો ઉપયોગ કરવાનું ચાલુ રાખવા માટે, \"ના, આભાર\" પર ટૅપ કરો."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ડિવાઇસ ફરી શરૂ કરીએ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ના, આભાર"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"રદ કરો"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"સ્વિચ કરો"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"બંધ કરો"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"સિમ કાર્ડ સક્રિય કરી શકાતું નથી"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"સિમ કાર્ડ ફરીથી ચાલુ કરવાનો પ્રયાસ કરો. તેમ છતાં સમસ્યા આવે, તો તમારું ડિવાઇસ ફરી શરૂ કરો."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"તમારા સિમ કાર્ડનું સેટઅપ કરો"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"આ ડિવાઇસ પર અનેક સિમ કાર્ડનો ઉપયોગ કરવા માટે મોબાઇલ નેટવર્કની તમારી પસંદગીઓ સેટ કરો"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"તમારા સિમ કાર્ડને લેબલ કરો"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"કૉલ કરતી વખતે, ટેક્સ્ટ મોકલતી વખતે અને ડેટાનો ઉપયોગ કરતી વખતે તેમજ સેટિંગમાં તમને આ લેબલ દેખાશે"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"સિમ કાર્ડનું લેબલ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"લેબલ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"કયા સિમ કાર્ડનો ઉપયોગ કરવો તે પસંદ કરો"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"તમે એકવારમાં 2 સિમ કાર્ડનો ઉપયોગ કરી શકો છો"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"તમારા પ્રાથમિક સિમ કાર્ડ સેટ કરો"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"કૉલ, ટેક્સ્ટ અને ડેટા માટે ડિફૉલ્ટ તરીકે કયા સિમ કાર્ડનો ઉપયોગ કરવો તે પસંદ કરો"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"તમારા પ્રાથમિક સિમ કાર્ડ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"કૉલ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ટેક્સ્ટ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ઑટોમૅટિક રીતે ડેટા સ્વિચ કરવો"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"કવરેજ અને ઉપલબ્ધતાના આધારે કોઈપણ સિમ કાર્ડમાંથી ડેટાનો ઉપયોગ કરો"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ફક્ત ડેટા"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"સેટઅપ કરો"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"આગળ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ચાલુ કરી રહ્યાં છીએ…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"મોબાઇલ નેટવર્ક"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ફોન નંબર"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"સિમ કાર્ડનું લેબલ અને રંગ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"નેટવર્કનું સક્રિયકરણ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"મોબાઇલ ઑપરેટર સ્વિચ કરી રહ્યાં છે"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> સક્રિય છે"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>નું તમારું સિમ કાર્ડ સક્રિય છે"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"સિમના સેટિંગ અપડેટ કરવા માટે ટૅપ કરો"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> પર સ્વિચ કર્યુ"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"કોઈ અન્ય કૅરિઅર પર સ્વિચ કર્યુ"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"તમારું મોબાઇલ નેટવર્ક બદલાઈ ગયું છે"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"અન્ય સિમ કાર્ડનું સેટઅપ કરો"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"તમારું સક્રિય સિમ કાર્ડ પસંદ કરો અથવા એકવારમાં 2 સિમ કાર્ડનો ઉપયોગ કરો"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ઉપયોગ કરવા માટે કોઈ નંબર પસંદ કરો"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{આ ડિવાઇસ પર 1 નંબર ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક નંબરનો જ ઉપયોગ કરી શકાય છે}=2{આ ડિવાઇસ પર 2 નંબર ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક નંબરનો જ ઉપયોગ કરી શકાય છે}one{આ ડિવાઇસ પર # નંબર ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક નંબરનો જ ઉપયોગ કરી શકાય છે}other{આ ડિવાઇસ પર # નંબર ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક નંબરનો જ ઉપયોગ કરી શકાય છે}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"સક્રિય કરી રહ્યાં છીએ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"હમણાં સક્રિય કરી શકાયું નથી"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ઉપયોગ કરવા માટે સિમ કાર્ડ પસંદ કરો"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{આ ડિવાઇસ પર 1 સિમ કાર્ડ ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક સિમ કાર્ડનો જ ઉપયોગ કરી શકાય છે}=2{આ ડિવાઇસ પર 2 સિમ કાર્ડ ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક સિમ કાર્ડનો જ ઉપયોગ કરી શકાય છે}one{આ ડિવાઇસ પર # સિમ કાર્ડ ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક સિમ કાર્ડનો જ ઉપયોગ કરી શકાય છે}other{આ ડિવાઇસ પર # સિમ કાર્ડ ઉપલબ્ધ છે, પરંતુ એક સમયે માત્ર એક સિમ કાર્ડનો જ ઉપયોગ કરી શકાય છે}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> ચાલુ કરી રહ્યાં છીએ"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"અત્યારે આ સિમ કાર્ડ ચાલુ કરી શકાયું નથી"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>નો ઉપયોગ કરીએ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>નો ઉપયોગ મોબાઇલ ડેટા, કૉલ અને SMS માટે કરવામાં આવશે."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"કોઈ સક્રિય સિમ કાર્ડ ઉપલબ્ધ નથી"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"થોડા સમય પછીથી મોબાઇલ ડેટા, કૉલ સુવિધાઓ અને SMSનો ઉપયોગ કરવા માટે, તમારા નેટવર્ક સેટિંગ પર જાઓ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"સિમ કાર્ડ"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"આ ઇ-સિમ કાઢી નાખીએ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"આ સિમ કાઢી નાખવાથી આ ડિવાઇસમાંથી <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> સેવા કાઢી નાખવામાં આવશે.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> માટેની સેવા રદ નહીં થાય."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"આમ કરવાથી આ ડિવાઇસ પર <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>ની સેવા કાઢી નાખવામાં આવે છે, પણ તમારો <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>નો પ્લાન રદ થશે નહીં."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"કાઢી નાખો"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"સિમ કાઢી નાખી રહ્યાં છીએ…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"સિમ કાઢી નાખી શકાતું નથી"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ભૂલને કારણે આ સિમ કાઢી નાખી શકાતું નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ઇ-સિમ કાઢી નાખી રહ્યાં છીએ…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ઇ-સિમ કાઢી નાખી શકતા નથી"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"કંઈક ખોટું થયું અને આ ઇ-સિમ કાઢી નાખવામાં આવ્યું નથી.\n\nતમારું ડિવાઇસ ફરી શરૂ કરો અને ફરી પ્રયાસ કરો."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ડિવાઇસ સાથે કનેક્ટ કરો"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> ઍપ તમારા ડિવાઇસ સાથે કનેક્ટ થવા માટે હંગામી વાઇ-ફાઇ નેટવર્કનો ઉપયોગ કરવા માગે છે"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"કોઈ ડિવાઇસ મળ્યું નથી. ખાતરી કરો કે ડિવાઇસ ચાલુ છે અને કનેક્ટ કરવા માટે ઉપલબ્ધ છે."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"ઇમર્જન્સી કૉલ"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"વાઇ-ફાઇ કૉલિંગ પર ઇમર્જન્સી કૉલ કરવાની સુવિધા તમારા કૅરિઅર પર સમર્થિત નથી.\nઇમર્જન્સી કૉલ કરવા માટે ડિવાઇસ ઑટોમૅટિક રીતે સેલ્યુલર નેટવર્ક પર સ્વિચ કરે છે.\nઇમર્જન્સી કૉલ કરવાનું ફક્ત સેલ્યુલર કવરેજ ધરાવતા વિસ્તારમાં જ શક્ય છે."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ક્વૉલિટી સુધારવા કૉલ માટે વાઇ-ફાઇનો ઉપયોગ કરો"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"બૅકઅપ કૉલિંગ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"જો <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> અનુપલબ્ધ અથવા રોમિંગ હોય, તો <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> કૉલ માટે, તમારા મોબાઇલ ડેટાવાળા સિમ કાર્ડનો ઉપયોગ કરો."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"બૅકઅપ કૉલિંગ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ઇનક્મિંગ MMS સંદેશ"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS સંદેશ મોકલી શકાતો નથી"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"મોબાઇલ ડેટા બંધ હોય ત્યારે પણ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> પર MMS સંદેશ મોકલવાની મંજૂરી આપવા માટે ટૅપ કરો"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"તમારા ઑફિસની પૉલિસીની માહિતી"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"તમારા IT ઍડમિન દ્વારા સેટિંગ મેનેજ કરવામાં આવે છે"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"પેજના 16K કદ સાથે બૂટ કરો"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"પેજના 16K કદને સપોર્ટ કરતી કર્નલનો ઉપયોગ કરીને ડિવાઇસ બૂટ કરો"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"પેજના 16KB કદ સાથે સુસંગત કર્નલ વડે રીબૂટ કરીએ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ચેતવણી: અમુક ઍપ્લિકેશનો આ મોડ સાથે સુસંગત ન હોય તેમ બની શકે છે. કન્ફર્મેશન પછી ડિવાઇસને રીબૂટ કરવામાં આવશે."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"પેજના 4KB કદ સાથે સુસંગત કર્નલ વડે રીબૂટ કરીએ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"કન્ફર્મેશન પછી ડિવાઇસને રીબૂટ કરવામાં આવશે."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"કર્નલને 16KB પેજની સુસંગત કર્નલ પર અપડેટ કરવામાં નિષ્ફળ રહ્યાં."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ફેરફાર લાગુ કરી રહ્યાં છીએ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"બગ રિપોર્ટ હૅન્ડલ કરનાર"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"તમારા ડિવાઇસ પર કઈ ઍપ ખામીની જાણકારીના શૉર્ટકટને હૅન્ડલ કરે તે નક્કી કરે છે."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"વ્યક્તિગત"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"સેટિંગ સ્ક્રીનને ઓવરલે કરવા માટે અન્ય ઍપની ટોચે પ્રદર્શિત થઈ શકે તેવી ઍપને મંજૂરી આપો"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"મોક મૉડેમ સેવાની મંજૂરી આપો"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ઇન્સ્ટ્રુમેન્ટેશનના પરીક્ષણ માટે, આ ડિવાઇસને મોક મૉડેમ સેવા ચલાવવાની મંજૂરી આપો. ફોનના સામાન્ય ઉપયોગ દરમિયાન આ સુવિધા ચાલુ કરશો નહીં"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"\'સ્ક્રીન શેર\'ની સુરક્ષાને બંધ કરો"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"સ્ક્રીન શેરિંગ દરમિયાન સિસ્ટમ દ્વારા લાગુ કરવામાં આવેલી ઍપ અને નોટિફિકેશન સંબંધી સુરક્ષાને બંધ કરે છે"</string>
     <string name="media_controls_title" msgid="403271085636252597">"મીડિયા"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"મીડિયા પ્લેયર પિન કરો"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"પ્લેબૅક ઝડપથી ફરી શરૂ કરી શકવા માટે, મીડિયા પ્લેયર ઝડપી સેટિંગમાં ખુલ્લું રહે છે"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"લૉક સ્ક્રીન પર મીડિયા બતાવો"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"પ્લેબૅક ઝડપથી ફરી શરૂ કરવા માટે, મીડિયા પ્લેયર લૉક સ્ક્રીન પર ખુલ્લું રહે છે"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"મીડિયાના સુઝાવો બતાવો"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant મીડિયા સંબંધિત સુઝાવો બતાવો"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"તમારી પ્રવૃત્તિ પર આધારિત"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"પ્લેયર છુપાવો"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"પ્લેયર બતાવો"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"મીડિયા"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"કૅમેરા સૉફ્ટવેર એક્સ્ટેન્શનની મંજૂરી આપો"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"આઇઝ-ફ્રી વીડિયોગ્રાફી જેવી કૅમેરાની વિગતવાર સુવિધાઓનું ડિફૉલ્ટ સૉફ્ટવેર અમલીકરણ ચાલુ કરે છે."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"બ્લૂટૂથ ચાલુ થશે"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ઇન્ટરનેટ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"સિમ"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"સિમ"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ઇ-સિમ"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ઇ-સિમ"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"સક્રિય"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"નિષ્ક્રિય"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ચાલુ છે"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"બંધ છે"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> માટે ડિફૉલ્ટ"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"કૉલ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"સુસંગત મીડિયાનો ઑડિયો વધુ ઇમર્સિવ બને છે"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"હેડ ટ્રૅકિંગ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"વધુ નૈસર્ગિક અવાજ માટે, જેમ તમે તમારું માથું હલાવશો તેમ અવાજમાં ફેરફાર થતો જશે"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"સિંકની પરવાનગીઓ"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"તમે <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> પર મંજૂરી આપી હોય તેવી જ ઍપ પરવાનગીઓ <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>ને આપો"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ફોનમાંથી પરવાનગીઓ સિંક કરો"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"તમે આ ફોન પર મંજૂર કરી છે એ ઍપ પરવાનગીઓ તમારી વૉચને આપો"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ઑડિયો ડિવાઇસનો પ્રકાર"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"અજાણ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"સ્પીકર"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"મધ્યમ"</string>
     <string name="contrast_high" msgid="3988567609694797696">"વધુ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"આ ઍપ માત્ર 1 વિન્ડોમાં ખોલી શકાય છે"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ચાલુ છે"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"બંધ છે"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"બંધ છે"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"બંધ"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ચાલુ"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"બંધ"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ચાલુ"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"બંધ"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"લાઇટ સ્ક્રીનને ઘેરી અને ઘેરી સ્ક્રીનને લાઇટ કરે છે"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"સ્ક્રીન મોટી કરો"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"બંધ"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"બંધ"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"છોતરામણી ઍપ માટે સ્કૅન કરી રહ્યાં છીએ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ફિશિંગ માટે ઍપ પ્રવૃત્તિ ચેક કરો"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ભ્રામક ઍપ માટે સ્કૅનિંગનો ઉપયોગ કરો"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ઑફિસ સંબંધિત ઍપ માટે સ્કૅનિંગનો ઉપયોગ કરો"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"હવે પાસવર્ડનું સેટઅપ થઈ ગયું છે"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"લઈ જતી વખતે પૉઇન્ટર બતાવો"</string>
 </resources>
diff --git a/res/values-hi/arrays.xml b/res/values-hi/arrays.xml
index 24d45fc..9cc1a65 100644
--- a/res/values-hi/arrays.xml
+++ b/res/values-hi/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"उपलब्ध"</item>
     <item msgid="6096962300722555553">"सीमा क्षेत्र से बाहर"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"सिस्टम की डिफ़ॉल्ट सेटिंग का इस्तेमाल करें: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"एक मिनट बाद"</item>
     <item msgid="1574040255478150028">"पांच मिनट बाद"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-hi/strings.xml b/res/values-hi/strings.xml
index 3bcd57e..f48ac85 100644
--- a/res/values-hi/strings.xml
+++ b/res/values-hi/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"अब आप डेवलपर बन गए हैं!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"आप पहले से ही डेवलपर हैं, इसलिए इसकी ज़रूरत नहीं."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"कृपया पहले डेवलपर के लिए सेटिंग और टूल चालू करें."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"सिर्फ़ खाते के एडमिन ही डेवलपर सेटिंग ऐक्सेस कर सकते हैं."</string>
     <string name="header_category_system" msgid="1665516346845259058">"सिस्‍टम"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवा में"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवा में नहीं"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"डिवाइस को फ़ोल्ड करने पर फ़्रंट डिसप्ले चालू हो जाता है"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"सिर्फ़ गेम, वीडियो वगैरह"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"स्क्रीन को बंद होने से रोकने वाले ऐप्लिकेशन के लिए फ़्रंट डिसप्ले चालू हो जाता है"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"जारी रखने के लिए, ऊपर की ओर स्वाइप करें"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ऐप्लिकेशन का इस्तेमाल जारी रखने के लिए, फ़ोन को फ़ोल्ड करें और फ़्रंट डिसप्ले पर ऊपर की ओर स्वाइप करें या स्क्रीन लॉक होने के लिए, थोड़ा इंतज़ार करें"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"कभी नहीं"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"डिवाइस को फ़ोल्ड करने पर फ़्रंट डिसप्ले लॉक हो जाता है"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"स्क्रीन की अपने-आप दिशा बदलने की सुविधा का इस्तेमाल करें"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"मिलते-जुलते टूल"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"रिंगटोन और अलार्म"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"कॉल में सुनाई देने वाला ऑडियो"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"मीडिया"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"सूचनाएं और अन्य सिस्टम साउंड"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"मीडिया और सिस्टम की आवाज़ें"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"सूचनाएं"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"डिफ़ॉल्ट रूप से, ऑडियो आउटपुट अलग-अलग ऐप्लिकेशन के मुताबिक तय किया जाता है"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"अनामित ब्लूटूथ डिवाइस"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"खोजना"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"अभी नहीं"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"\'ब्लूटूथ LE Audio\' को बंद करें"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"अगर डिवाइस पर LE Audio हार्डवेयर चलता है, तो \'ब्लूटूथ LE Audio\' को बंद करें."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ब्लूटूथ LE Audio मोड"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"डिवाइस डिटेल में LE Audio टॉगल दिखाएं"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"\'ब्लूटूथ LE Audio\' की अनुमति वाली सूची की सुविधा चालू करें"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"\'ब्लूटूथ LE Audio\' की अनुमति वाली सूची की सुविधा चालू करें."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ब्लूटूथ LE Audio के लिए, जिन लोगों या संगठनों को अनुमति मिली है उनकी सूची बायपास करें"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"डिफ़ॉल्ट रूप से LE Audio का इस्तेमाल करें. भले ही, जिन लोगों या संगठनों को अनुमति मिली है उनकी सूची में शामिल करने के लिए, LE Audio के साथ काम करने वाले डिवाइस की पुष्टि न की गई हो."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"मीडिया डिवाइस"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"कॉल की सुविधा वाले डिवाइस"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"दूसरे डिवाइस"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"सेव किए गए डिवाइस"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"इस खाते से जुड़े डिवाइस"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"डिवाइस को इस खाते से पहले भी कनेक्ट किया गया है"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"दूसरे डिवाइस से जुड़ने के लिए ब्लूटूथ चालू हो जाएगा"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"कनेक्शन की सेटिंग"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"पहले कनेक्ट किए गए डिवाइस"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ब्लूटूथ चालू किया गया"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"सभी देखें"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"सभी देखें"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"स्टाइलस"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"स्टाइलस बटन को दबाएं"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (वर्क प्रोफ़ाइल)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"टेक्स्ट फ़ील्ड में कुछ लिखें"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"स्टाइलस के बटन के सभी इनपुट को नज़रअंदाज़ करें"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"स्टाइलस"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ऑडियो शेयर करने की सुविधा"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ऑडियो शेयर करें"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"कॉल और अलार्म"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"क्यूआर कोड का इस्तेमाल करके ऑडियो स्ट्रीम से कनेक्ट करें"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"आस-पास की कोई ऑडियो स्ट्रीम नहीं मिली."</string>
     <string name="date_and_time" msgid="1788358029823431692">"तारीख और समय"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"प्रॉक्सी"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"साफ़ करें"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"क्या आपको पसंदीदा भाषाओं में %s को जोड़ना है?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"इससे ऐप्लिकेशन और वेबसाइट को जानकारी मिलेगी कि आपको यह भाषा भी इस्तेमाल करनी है."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"आपके डिवाइस की सेटिंग और जगह के हिसाब से प्राथमिकताएं बदल जाएंगी."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"बदलें"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s उपलब्ध नहीं है"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"शनिवार"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"अगर कोई ऐप्लिकेशन जगह के हिसाब से तय की गई प्राथमिकताओं के साथ काम नहीं करता, तो वह जगह के हिसाब से दी गई डिफ़ॉल्ट सेटिंग का इस्तेमाल करेगा."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"भाषा की प्राथमिकताएं चुनने के बारे में ज़्यादा जानें."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"अन्य सेटिंग"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"लैंगिक पहचान से जुड़ी जानकारी"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"यह तय करें कि आपको किस तरह बुलाया जाए"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"आपके चुने गए सर्वनाम से आपको बुलाने के लिए, ऐप्लिकेशन आपकी लैंगिक पहचान से जुड़ी जानकारी का इस्तेमाल कर सकते हैं."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"जानकारी नहीं दी गई"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"महिला"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"पुरुष"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"न्यूट्रल"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{क्या आपको चुनी गई भाषा हटानी है?}one{क्या आपको चुनी गई भाषा हटानी है?}other{क्या आपको चुनी गई भाषाएं हटानी हैं?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"लेख किसी अन्य भाषा में प्रदर्शित किया जाएगा."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"सभी भाषाएं नहीं निकाली जा सकती हैं"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"जगह की जानकारी"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"जगह की जानकारी वाली सुविधा का इस्तेमाल करें"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"बंद है"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{चालू है - # ऐप्लिकेशन के पास जगह की जानकारी का ऐक्सेस है}one{चालू है - # ऐप्लिकेशन के पास जगह की जानकारी का ऐक्सेस है}other{चालू है - # ऐप्लिकेशन के पास जगह की जानकारी का ऐक्सेस है}}"</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_location_off" msgid="8568995909147566720">"ऐप्लिकेशन और सेवाओं के लिए, जगह की जानकारी का ऐक्सेस बंद है. आपके डिवाइस की जगह की जानकारी, आपातकालीन स्थिति में मदद करने वाले लोगों को अब भी दी जा सकती है. ऐसा आपके किसी आपातकालीन नंबर पर कॉल करने या मैसेज भेजने पर किया जाएगा."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"जगह की जानकारी की सेटिंग के बारे में ज़्यादा जानें."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"जगह की जानकारी की सेटिंग के बारे में ज़्यादा जानें"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"सेटिंग &gt; सुरक्षा और निजता &gt; निजता सेटिंग में जाकर जगह की जानकारी का ऐक्सेस बदलें"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"खाते"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"सुरक्षा"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"एन्क्रिप्ट (सुरक्षित) करना और क्रेडेंशियल"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"बेहतर नतीजों के लिए, ऐसे स्क्रीन प्राेटेक्टर का इस्तेमाल करें जिसे Made for Google का सर्टिफ़िकेट मिला है. हो सकता है कि दूसरे स्क्रीन प्राेटेक्टर पर आपके बच्चे का फ़िंगरप्रिंट काम न करे."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"अगर आपके फ़ोन में फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप की गई है, तो चेहरे पर मास्क होने या आस-पास कम रोशनी होने पर, फ़ोन आपका फ़िंगरप्रिंट मांगेगा.\n\nचेहरे या फ़िंगरप्रिंट की पहचान न होने पर, स्मार्टवॉच की मदद से फ़ोन को अनलॉक किया जा सकता है."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"फ़िंगरप्रिंट की पहचान न होने पर, स्मार्टवॉच की मदद से फ़ोन को अनलॉक किया जा सकता है."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"चेहरे की पहचान न होने पर, स्मार्टवॉच की मदद से फ़ोन को अनलॉक किया जा सकता है."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"अगर आपके फ़ोन में फ़ेस अनलॉक और फ़िंगरप्रिंट अनलॉक की सुविधा सेट अप की गई है, तो चेहरे पर मास्क होने या आस-पास कम रोशनी होने पर, फ़ोन आपका फ़िंगरप्रिंट मांगेगा.\n\nस्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा, अपने फ़ोन को आसानी से अनलॉक करने का एक बेहतरीन तरीका है. यह तरीका, कई मौकों पर काम आ सकता है. जैसे, जब आपकी उंगलियां गीली हों या चेहरे से पहचान न हो पा रही हो."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा, अपने फ़ोन को आसानी से अनलॉक करने का एक बेहतरीन तरीका है. यह तरीका, कई मौकों पर काम आ सकता है. जैसे, जब आपकी उंगलियों से पहचान न हो पा रही हो."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा, अपने फ़ोन को आसानी से अनलॉक करने का एक बेहतरीन तरीका है. यह तरीका, कई मौकों पर काम आ सकता है. जैसे, जब आपके चेहरे से पहचान न हो पा रही हो."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"डिवाइस खोलने के लिए, फ़िंगरप्रिंट या स्मार्टवॉच का इस्तेमाल करें"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"डिवाइस खोलने के लिए, फ़ेस लॉक या स्मार्टवॉच का इस्तेमाल करें"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"डिवाइस खोलने के लिए, फ़ेस लॉक, फ़िंगरप्रिंट या स्मार्टवॉच का इस्तेमाल करें"</string>
@@ -385,12 +411,39 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा, इस फ़ोन को अनलॉक करने का दूसरा आसान तरीका है. जैसे, जब आपकी उंगलियां गीली हों या चेहरे की पहचान न हो.\n\nस्मार्टवॉच का इस्तेमाल करके इस फ़ोन को तब अनलॉक किया जा सकता है, जब:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"अभी नहीं"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"आगे बढ़ें"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ज़्यादा देखें"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"यह सुविधा कैसे काम करती है"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"आपकी स्मार्टवॉच अनलॉक होनी चाहिए, आपकी कलाई पर बंधी होनी चाहिए, और इस फ़ोन के आस-पास होनी चाहिए. स्मार्टवॉच कलाई पर बंधे होने पर, आपको इसे दोबारा अनलॉक करने की ज़रूरत नहीं होगी."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"इस फ़ोन के अनलॉक होने पर, स्मार्टवॉच पर आपको इसकी सूचना मिलेगी. अगर आपके न चाहने पर भी यह अनलॉक हो जाता है, तो सूचना पर टैप करके फ़ोन को दोबारा लॉक करें."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"आपकी स्मार्ट वॉच का कंट्रोल आपके पास है"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा बंद करने के लिए, अपनी स्मार्टवॉच को किसी भी समय हटाया जा सकता है. इसके लिए सेटिंग में जाएं"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"सूचना पर टैप करें"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"लॉक स्क्रीन पर ऊपर की ओर स्वाइप करें"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"अपनी स्मार्टवॉच चुनें"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"उपलब्ध स्मार्टवॉच"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"रद्द करें"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"पुष्टि करें"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"आप बिलकुल तैयार हैं!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"अब स्मार्टवॉच का इस्तेमाल करके, इस फ़ोन को अनलॉक किया जा सकता है. इसके लिए, लॉक स्क्रीन पर ऊपर की ओर स्वाइप करें या किसी सूचना पर टैप करें"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"हो गया"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"स्मार्टवॉच का इस्तेमाल करके, इस फ़ोन को अनलॉक किया जा सकता है. इसके लिए, लॉक स्क्रीन पर ऊपर की ओर स्वाइप करें या किसी सूचना पर टैप करें"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा का इस्तेमाल करने के लिए, आपकी स्मार्टवॉच अनलॉक होनी चाहिए और आपकी कलाई पर बंधी होनी चाहिए. साथ ही, वह इस फ़ोन के आस-पास और इससे कनेक्ट होनी चाहिए. कनेक्शन में रुकावट आने पर, आपको स्मार्टवॉच से फ़ोन अनलॉक करने की सुविधा का इस्तेमाल करने से पहले, फ़ोन को अनलॉक करना होगा.\n\nध्यान रखें:\nएक बार में सिर्फ़ एक स्मार्टवॉच को कनेक्ट किया जा सकता है. कोई दूसरी स्मार्टवॉच कनेक्ट करने के लिए, मौजूदा स्मार्टवॉच को फ़ोन से डिसकनेक्ट करें."</string>
+    <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_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>
     <string name="security_settings_biometric_preference_summary_both_fp_single" msgid="684409535278676426">"चेहरे का मॉडल और फ़िंगरप्रिंट जोड़ा गया"</string>
-    <string name="biometric_settings_intro" msgid="4263069383955676756">"अगर आपके फ़ोन में \'फ़िंगरप्रिंट अनलॉक\' और \'फ़ेस अनलॉक\' की सुविधा सेट है, तो चेहरे पर मास्क लगा होने या आस-पास रोशनी न होने पर, फ़ोन आपका फ़िंगरप्रिंट मांगेगा"</string>
+    <string name="biometric_settings_intro" msgid="4263069383955676756">"अगर आपके फ़ोन में फ़िंगरप्रिंट अनलॉक और फ़ेस अनलॉक की सुविधा सेट अप है, तो चेहरे पर मास्क लगा होने पर या आस-पास रोशनी न होने पर, फ़ोन आपका फ़िंगरप्रिंट मांगेगा"</string>
     <string name="biometric_settings_category_ways_to_unlock" msgid="3384767901580915266">"फ़ोन को अनलॉक करने के तरीके"</string>
     <string name="biometric_settings_category_use_face_fingerprint" msgid="4377659744376863913">"चेहरे या फ़िंगरप्रिंट का इस्तेमाल करके:"</string>
     <string name="biometric_settings_use_biometric_unlock_phone" msgid="8180914579885804358">"अपना फ़ोन अनलॉक करें"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"सुरक्षा"</string>
     <string name="privacy_header" msgid="5526002421324257007">"निजता"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"वर्क प्रोफ़ाइल"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"प्राइवेट स्पेस"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"निजी ऐप्लिकेशन, लॉक करें और छिपाकर रखें"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"निजी ऐप्लिकेशन ऐसी जगह पर रखें जिसे छिपाया या लॉक किया जा सकता है"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"प्राइवेट स्पेस के लिए लॉक"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"डिवाइस की तरह ही, प्राइवेट स्पेस को अनलॉक किया जा सकता है या कोई दूसरा लॉक सेट किया जा सकता है"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"डिवाइस के स्क्रीन लॉक का इस्तेमाल करें"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"फ़ेस और फ़िंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"फ़िंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"फ़ेस अनलॉक"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"सेट अप करने के लिए टैप करें"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"प्राइवेट स्पेस के लिए फ़िंगरप्रिंट अनलॉक की सुविधा"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"प्राइवेट स्पेस के लिए फ़ेस अनलॉक की सुविधा"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"फ़ोन को अनलॉक करने के तरीके"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"डिवाइस के स्क्रीन लॉक की तरह"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"प्राइवेट स्पेस के लिए नया लॉक चुनना है?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"प्राइवेट स्पेस अपने-आप लॉक होने की सुविधा पाएं"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"आपके पास यह विकल्प है कि डिवाइस का इस्तेमाल कुछ समय तक न होने पर, प्राइवेट स्पेस अपने-आप लॉक हो जाए"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"हर बार डिवाइस लॉक होने पर"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"पांच मिनट तक कोई गतिविधि न होने पर"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"कभी नहीं"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"लॉक होने पर छिपाएं"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"प्राइवेट स्पेस के लॉक होने पर इसे छिपाएं"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"अपने डिवाइस में मौजूद प्राइवेट स्पेस को दूसरों से छिपाकर रखने के लिए, इसे ऐप्लिकेशन की सूची से छिपाएं"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"प्राइवेट स्पेस को छिपाए जाने पर इसे ऐक्सेस करें"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"अपने ऐप्लिकेशन की सूची से खोज बार में \"प्राइवेट स्पेस\" डालें"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"प्राइवेट स्पेस की टाइल पर टैप करें"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"अपना प्राइवेट स्पेस अनलॉक करें"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"बंद है"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"चालू है"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"सिस्टम"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"प्राइवेट स्पेस मिटाएं"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"क्या प्राइवेट स्पेस को मिटाना है?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"आपके डिवाइस से आपका प्राइवेट स्पेस हटा दिया जाएगा. सभी निजी ऐप्लिकेशन और डेटा को मिटा दिया जाएगा. इस कार्रवाई को पहले जैसा नहीं किया जा सकता."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"इन खातों को आपके प्राइवेट स्पेस से हटा दिया जाएगा:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"मिटाएं"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"प्राइवेट स्पेस को मिटाया जा रहा है…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"इसमें कुछ समय लगेगा"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"प्राइवेट स्पेस को मिटा दिया गया"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"प्राइवेट स्पेस को मिटाया नहीं जा सका"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"प्राइवेट स्पेस अनलॉक हो गया"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"स्क्रीन लॉक सेट करें"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"प्राइवेट स्पेस इस्तेमाल करने के लिए, इस डिवाइस पर स्क्रीन लॉक सेट करें"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"स्क्रीन लॉक सेट करें"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"अभी नहीं"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"रद्द करें"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"सेट अप करें"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"प्राइवेट स्पेस सेट अप करें"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"निजी ऐप्लिकेशन ऐसी जगह पर रखें जिसे छिपाया या लॉक किया जा सकता है"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"यह सुविधा कैसे काम करती है"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ऐप्लिकेशन लिस्ट में सबसे नीचे जाकर, प्राइवेट स्पेस को ऐक्सेस किया जा सकता है"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"प्राइवेट स्पेस में ऐप्लिकेशन, लॉक करके सुरक्षित रखे जाते हैं"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"प्राइवेट स्पेस के लॉक होने पर, ऐप्लिकेशन की सूचनाएं छिपी रहती हैं"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"प्राइवेट स्पेस लॉक होने पर, उसमें मौजूद ऐप्लिकेशन, \'अनुमतियों को मैनेज करें\' सेक्शन, प्राइवसी डैशबोर्ड, और अन्य सेटिंग में नहीं दिखेंगे.\n\nआपका प्राइवेट स्पेस, किसी नए डिवाइस में नहीं भेजा जा सकता. दूसरे डिवाइस में इस्तेमाल करने के लिए, आपको दूसरा प्राइवेट स्पेस सेट अप करना होगा.\n\nअगर कोई व्यक्ति आपके डिवाइस को कंप्यूटर से कनेक्ट करता है या डिवाइस में, नुकसान पहुंचाने वाले ऐप्लिकेशन इंस्टॉल करता है, तो हो सकता है कि वह आपके प्राइवेट स्पेस को ऐक्सेस कर पाए."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"प्राइवेट स्पेस सेट अप किया जा रहा है…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"प्राइवेट स्पेस वाले ऐप्लिकेशन लॉक होने पर, इनकी सूचनाएं छिपी हुई रहती हैं"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"फ़ोटो या फ़ाइलें शेयर करने के लिए, प्राइवेट स्पेस को अनलॉक करें"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"कुछ ऐप्लिकेशन पहले से ही आपके प्राइवेट स्पेस में इंस्टॉल हैं"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"प्राइवेट स्पेस को सेट अप नहीं किया जा सका"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"फिर से कोशिश करें"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"स्क्रीन लॉक से प्राइवेट स्पेस को अनलॉक करें?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"डिवाइस की तरह ही प्राइवेट स्पेस को अनलॉक किया जा सकता है या कोई दूसरा लॉक सेट किया जा सकता है"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"स्क्रीन लॉक का इस्तेमाल करें"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"नया लॉक चुनें"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"हो गया!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"प्राइवेट स्पेस को ऐक्सेस करने के लिए, ऐप्लिकेशन की सूची में जाएं. इसके बाद, नीचे की ओर स्क्रोल करें"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"हो गया"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"प्राइवेट स्पेस को ढूंढने के लिए, नीचे की ओर स्क्रोल करें"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"साइन इन करें"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"प्राइवेट स्पेस का इस्तेमाल करने के लिए, किसी खाते से साइन करें"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"अभी नहीं"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"जारी रखें"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"प्राइवेट स्पेस के लिए लॉक चुनें"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"फ़िंगरप्रिंट का इस्तेमाल करके, प्राइवेट स्पेस को अनलॉक किया जा सकता है. सुरक्षा की वजह से, इस सुविधा को इस्तेमाल करने के लिए एक बैकअप लॉक होना चाहिए."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"प्राइवेट स्पेस के लिए पिन सेट करें"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"प्राइवेट स्पेस के लिए पासवर्ड सेट करें"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"प्राइवेट स्पेस के लिए पैटर्न सेट करें"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"ज़्यादा से ज़्यादा <xliff:g id="COUNT">%d</xliff:g> फ़िंगरप्रिंट जोड़े जा सकते हैं"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"आप अधिकतम संख्या में फ़िंगरप्रिंट जोड़ चुके हैं"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"और ज़्यादा फ़िंगरप्रिंट नहीं जोड़े जा सकते"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"पैटर्न"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"पिन"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"पासवर्ड"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"क्या आपको स्क्रीन लॉक हटाना है?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"क्या डिवाइस अनलॉक करने की सभी सुविधाएं हटानी हैं?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"प्रोफ़ाइल सुरक्षा निकालें?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन की सुरक्षा करता है"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पैटर्न आपके फ़ोन की सुरक्षा करता है.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>फ़ोन को पैटर्न का इस्तेमाल करके सुरक्षित करने पर, डिवाइस पर सेव किया गया फ़िंगरप्रिंट का मॉडल मिट जाता है. इसके अलावा, आपके चेहरे का मॉडल भी सुरक्षित तरीके से हमेशा के लिए मिटा दिया जाएगा. ऐप्लिकेशन में अपनी पहचान की पुष्टि करने के लिए, आप अपने चेहरे के माॅडल या फ़िंगरप्रिंट का इस्तेमाल नहीं कर पाएंगे."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"आपके पास सेव किया डेटा नहीं रहेगा. जैसे, पिन.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>टैप करके पेमेंट करने की सुविधा के लिए सेट किए गए कार्ड हटा दिए जाएंगे.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट और अन्य ऐप्लिकेशन, जिन्हें अनलॉक करने की ज़रूरत होती है वे ठीक से काम नहीं करेंगे."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>इससे, डिवाइस पर सेव किया गया फ़िंगरप्रिंट का मॉडल भी मिट जाता है. ऐप्लिकेशन में अपनी पहचान की पुष्टि करने के लिए, अपने फ़िंगरप्रिंट का इस्तेमाल नहीं किया जा सकेगा."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"आपके पास सेव किया डेटा नहीं रहेगा. जैसे, पिन और फ़िंगरप्रिंट का मॉडल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>टैप करके पेमेंट करने की सुविधा के लिए सेट किए गए कार्ड हटा दिए जाएंगे.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट और अन्य ऐप्लिकेशन, जिन्हें अनलॉक करने की ज़रूरत होती है वे ठीक से काम नहीं करेंगे."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>इसके अलावा, आपके चेहरे का मॉडल भी सुरक्षित तरीके से हमेशा के लिए मिटा दिया जाएगा. ऐप्लिकेशन में अपनी पहचान की पुष्टि करने के लिए, आप अपने चेहरे के मॉडल का इस्तेमाल नहीं कर पाएंगे."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"आपके पास सेव किया डेटा नहीं रहेगा. जैसे, पिन और चेहरे का मॉडल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>टैप करके पेमेंट करने की सुविधा के लिए सेट किए गए कार्ड हटा दिए जाएंगे.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट और अन्य ऐप्लिकेशन, जिन्हें अनलॉक करने की ज़रूरत होती है वे ठीक से काम नहीं करेंगे."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पिन आपके फ़ोन की सुरक्षा करता है.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>फ़ोन को पिन का इस्तेमाल करके सुरक्षित करने पर, डिवाइस पर सेव किया गया फ़िंगरप्रिंट का मॉडल मिट जाता है. इसके अलावा, आपके चेहरे का मॉडल भी सुरक्षित तरीके से हमेशा के लिए मिटा दिया जाएगा. ऐप्लिकेशन में अपनी पहचान की पुष्टि करने के लिए, आप अपने चेहरे के माॅडल या फ़िंगरप्रिंट का इस्तेमाल नहीं कर पाएंगे."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"आपके पास सेव किया डेटा नहीं रहेगा. जैसे, पिन, चेहरे और फ़िंगरप्रिंट का मॉडल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>टैप करके पेमेंट करने की सुविधा के लिए सेट किए गए कार्ड हटा दिए जाएंगे.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट और अन्य ऐप्लिकेशन, जिन्हें अनलॉक करने की ज़रूरत होती है वे ठीक से काम नहीं करेंगे."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन की सुरक्षा करता है"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"अगर आपका फ़ोन खो जाता है या चोरी हो जाता है, तो पासवर्ड आपके फ़ोन की सुरक्षा करता है.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ब्लूटूथ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ब्लूटूथ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"क्या आपको <xliff:g id="DEVICE_NAME">%1$s</xliff:g> से जोड़ना है?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"मौजूदा कोऑर्डिनेटेड सेट में नया सदस्य जोड़ें"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ऑडियो डिवाइस के दूसरे हिस्से को जोड़ने के लिए पुष्टि करें"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ब्‍लूटूथ से जोड़ने के लिए कोड"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"दूसरे डिवाइस से जोड़ना वाला कोड लिखें और फिर Return या Enter दबाएं"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"पिन में अक्षर या प्रतीक शामिल होते हैं"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 अंक होने चाहिए"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"आपको अन्‍य डिवाइस पर भी यह पि‍न लिखने की आवश्‍यकता हो सकती है."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"आपको अन्‍य डिवाइस पर भी यह पासकी लिखनी होगी."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"कोऑर्डिनेटेड सेट से जोड़ने के लिए पुष्टि करें"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ऑडियो डिवाइस से जोड़ने के लिए पुष्टि करें"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"अपने संपर्क और कॉल इतिहास देखने की मंज़ूरी दें"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"संपर्क और कॉल इतिहास को ऐक्सेस करने की भी अनुमति दें"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"इस जानकारी का इस्तेमाल कॉल की सूचना देने और दूसरी चीज़ों के लिए किया जाएगा"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> से कनेक्‍ट नहीं किया जा सका."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"उपलब्ध ब्लूटूथ डिवाइस"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट करें"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"डिसकनेक्ट करें"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"जोड़े और कनेक्‍ट करें"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लूटूथ चालू होने पर, आपका डिवाइस आस-पास के दूसरे ब्लूटूथ डिवाइसों से संपर्क कर सकता है."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ब्लूटूथ ऑन होने पर आपका डिवाइस आस-पास के अन्य ब्लूटूथ डिवाइसों से संपर्क कर सकता है"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लूटूथ चालू हाेने पर, आपका डिवाइस आस-पास के ब्लूटूथ डिवाइसों से कनेक्ट हो सकता है. \n\nडिवाइस इस्तेमाल करने के अनुभव काे बेहतर बनाने के लिए, ऐप्लिकेशन और सेवाओं की मदद से किसी भी समय आस-पास के ब्लूटूथ डिवाइसों काे स्कैन किया जा सकता है. ऐसा ब्लूटूथ बंद होने पर भी किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल जगह से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाने के लिए किया जा सकता है. ब्लूटूथ स्कैनिंग की सेटिंग में जाकर, इसे बदला जा सकता है."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"बदलें"</string>
     <string name="device_details_title" msgid="1155622417516195481">"डिवाइस की जानकारी"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Android रनटाइम को, डीबग करने लायक ऐप्लिकेशन के लिए बाइट कोड की पुष्टि करने की अनुमति दें"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"रीफ़्रेश दर दिखाएं"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"डिसप्ले की मौजूदा रीफ़्रेश दर दिखाएं"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"एचडीआर/एसडीआर रेशियो दिखाएं"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"एचडीआर/एसडीआर का मौजूदा रेशियो दिखाएं"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"एनएफ़सी"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"एनएफ़सी के लिए डिवाइस को अनलॉक करने की ज़रूरत है"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android बीम"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"हवाई जहाज़ मोड में"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"सार्वजनिक नेटवर्क मिलने की सूचना पाएं"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"अच्छी क्वालिटी का सार्वजनिक नेटवर्क मिलने पर सूचना पाएं"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP नेटवर्क से कनेक्ट करने की अनुमति दें"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP एक पुराना सिक्योरिटी प्रोटोकॉल है, जो कि कम सुरक्षित है"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"आपको मोबाइल और इंटरनेट सेवा देने वाली कंपनी WEP नेटवर्क की सुविधा नहीं देती, क्योंकि ये कम सुरक्षित होते हैं"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"वाई-फ़ाई अपने-आप चालू हो जाए"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"सेव किए गए अच्छी क्वालिटी के नेटवर्क मिलने पर, वाई-फ़ाई अपने-आप चालू हो जाएगा. जैसे, आपके घर का नेटवर्क"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"जगह की जानकारी का विकल्प बंद होने की वजह से अपने आप वाई-फ़ाई कनेक्ट होने की सुविधा उपलब्ध नहीं है. "<annotation id="link">"जगह की जानकारी"</annotation>" का विकल्प चालू करें."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"वाई-फ़ाई स्कैन करने की सुविधा से ऐप्लिकेशन और सेवाएं, किसी भी समय वाई-फ़ाई नेटवर्क स्कैन कर सकती हैं. वाई-फ़ाई की सुविधा बंद होने पर भी ऐसा किया जा सकता है. उदाहरण के लिए, इसका इस्तेमाल जगह की जानकारी से जुड़ी सुविधाओं और सेवाओं को बेहतर बनाने के लिए किया जा सकता है."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"चालू करें"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"वाई-फ़ाई स्कैन करना चालू हो गया है"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"यह नेटवर्क पुराना सिक्योरिटी प्रोटोकॉल इस्तेमाल करता है, जो कि कम सुरक्षित है"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> को ब्लॉक कर दिया गया है"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"यह नेटवर्क, WEP नाम के पुराने सिक्योरिटी प्रोटोकॉल का इस्तेमाल करता है, जो कि कम सुरक्षित है. इससे फिर भी कनेक्ट करने के लिए, WEP नेटवर्क को अनुमति दें."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"आपको मोबाइल और इंटरनेट सेवा देने वाली कंपनी, इस नेटवर्क से कनेक्ट करने की अनुमति नहीं देती है. ऐसा इसलिए, क्योंकि यह पुराने सिक्योरिटी प्रोटोकॉल का इस्तेमाल करता है, जो कि कम सुरक्षित है"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP नेटवर्क को अनुमति दें"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"बंद करें"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"बेहतर विकल्प"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"बेहतर विकल्पों की ड्रॉप-डाउन सूची"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"बड़ा करें"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"वाई-फ़ाई पर रहें"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"फिर कभी ना दिखाएं"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"कनेक्ट करें"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"वाई-फ़ाई चालू किया गया"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> से कनेक्ट किया गया"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> से कनेक्ट हो रहा है"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"कनेक्ट हो रहा है…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"नेटवर्क से कनेक्ट करने में विफल रहा"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"नेटवर्क पहुंच से बाहर है"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"हटाएं"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"बदलें"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"नेटवर्क भूलने में विफल रहा"</string>
     <string name="wifi_save" msgid="2312643132472226807">"सेव करें"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"नेटवर्क सहेजने में विफल रहा"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"रद्द करें"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"वाई-फ़ाई"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"मोबाइल डेटा"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ईथरनेट"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ चार्जिंग"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ चार्जिंग"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"हॉटस्पॉट कनेक्शन"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"कनेक्शन की क्वालिटी"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"सेव किए गए नेटवर्क"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"काेई पासवर्ड सेट नहीं है"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"हॉटस्पॉट का नाम"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"हॉटस्पॉट का पासवर्ड"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"एपी बैंड"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"हॉटस्पॉट अपने-आप बंद हो जाए"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"जब कोई भी डिवाइस कनेक्ट नहीं किया गया हो"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"कंपैटबिलिटी बढ़ाएं"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"डिसप्ले का वाइट बैलेंस"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"फ़ोल्ड करने पर भी, ऐप्लिकेशन का इस्तेमाल जारी रखें"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"स्मूद डिसप्ले"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"कुछ कॉन्टेंट के लिए, यह अपने-आप ही रीफ़्रेश दर को 60 से बढ़ाकर <xliff:g id="ID_1">%1$s</xliff:g> हर्ट्ज़ कर देता है. इसे चालू करने पर, बैटरी ज़्यादा खर्च होती है."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"गेम का डिफ़ॉल्ट फ़्रेम रेट बंद करें"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"<xliff:g id="FRAME_RATE">%1$d</xliff:g> हर्ट्ज़ पर गेम के लिए सबसे ज़्यादा फ़्रेम रेट को सीमित करना बंद करें."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"स्मूद डिसप्ले"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"इस सेटिंग को चालू करने पर, कुछ कॉन्टेंट के लिए रीफ़्रेश दर अपने-आप <xliff:g id="ID_1">%1$d</xliff:g> हर्ट्ज़ तक बढ़ जाती है. इसमें ज़्यादा बैटरी खर्च होती है."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"रीफ़्रेश दर को सबसे ज़्यादा पर सेट करें"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"रीफ़्रेश होने की सबसे ज़्यादा दर जिसके लागू होने के बाद छूकर की जाने वाली कार्रवाइयां तेज़ हो जाती हैं. साथ ही, ऐनिमेशन की क्वालिटी बेहतर हो जाती है. इसमें बैटरी ज़्यादा खर्च होती है."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"स्क्रीन चालू रखने की सुविधा"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"स्क्रीन चालू रखने की सुविधा, सामने वाले कैमरे का इस्तेमाल करके यह पता लगाती है कि कोई स्क्रीन देख रहा है या नहीं. यह डिवाइस पर काम करती है. इसमें न तो इमेज सेव होती है और न ही Google को भेजी जाती है."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"स्क्रीन चालू रखने की सुविधा चालू करें"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"जब तक आप स्क्रीन देख रहें हैं, तब तक स्क्रीन चालू रखें"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"स्क्रीन बंद होने में लगने वाला समय ज़्यादा होने पर, ज़्यादा बैटरी खर्च होगी."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"कैमरा लॉक है"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"चेहरे की पहचान करने के लिए कैमरा अनलॉक होना ज़रूरी है"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"स्क्रीन चालू रखने की सुविधा के लिए, कैमरा अनलॉक होना ज़रूरी है"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (सिम स्लॉट <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (<xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> सिम स्लॉट) (मुख्य)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"देखने के लिए, सेव किया गया नेटवर्क चुनें"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL वर्शन"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"बैटरी स्‍तर"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"कम्यूनिटी"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"कम्यूनिटी सेटिंग"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"सैटलाइट के ज़रिए मैसेज भेजने की सुविधा"</string>
     <string name="apn_settings" msgid="4295467389400441299">"ऐक्सेस पॉइंट नाम"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ऐक्सेस पॉइंट में बदलाव करें"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ऐक्सेस पॉइंट जोड़ें"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"सेट नहीं है"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"सेट नहीं है"</string>
     <string name="apn_name" msgid="6677695784108157953">"नाम"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"एपीएन चालू है"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"एपीएन बंद है"</string>
     <string name="bearer" msgid="3231443241639159358">"धारक"</string>
+    <string name="network_type" msgid="748590707422733595">"नेटवर्क टाइप"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"तय नहीं है"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO टाइप"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO वैल्यू"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN मिटाएं"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"सेव करें"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"रद्द करें"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"डाला गया एपीएन, डुप्लीकेट है."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"नाम फ़ील्‍ड खाली मत छोड़िए."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN खाली नहीं हो सकता."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC फ़ील्‍ड में 3 अंक होने चाहिए."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MCC फ़ील्‍ड में 2 या 3 अंक होने चाहिए."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी %s प्रकार के APN जोड़ने की अनुमति नहीं देती."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC फ़ील्ड में मान्य वैल्यू होनी चाहिए."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"डिफ़ॉल्‍ट APN सेटिंग पुनर्स्थापित हो रही हैं."</string>
     <string name="menu_restore" msgid="4310539620115151551">"डिफ़ॉल्ट पर रीसेट करें"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"डिफ़ॉल्‍ट APN सेटिंग रीसेट करना पूरा हुआ."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"रीसेट करें"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ब्लूटूथ और वाई-फ़ाई को रीसेट कर दिया गया है"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ई-सिम का डेटा हमेशा के लिए मिटाएं"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"इससे मोबाइल सेवा का कोई भी प्लान रद्द नहीं होगा. दूसरे सिम डाउनलोड करने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनी से संपर्क करें."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"इससे आपके मोबाइल और इंटरनेट सेवा देने वाली कंपनी का प्लान रद्द नहीं होगा. ई-सिम बदलने के लिए, मोबाइल और इंटरनेट सेवा देने वाली कंपनी से संपर्क करें."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"सेटिंग रीसेट करें"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"नेटवर्क की सभी सेटिंग रीसेट करें? इस कार्रवाई को पहले जैसा नहीं किया जा सकेगा."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"क्या आपको नेटवर्क की सभी सेटिंग को रीसेट करना है और ई-सिम का डेटा हमेशा के लिए मिटाना है? इस कार्रवाई को पहले जैसा नहीं किया जा सकता."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"रीसेट करें?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"इस उपयोगकर्ता के लिए नेटवर्क रीसेट मौजूद नहीं है"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"नेटवर्क सेटिंग रीसेट कर दी गई हैं"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"सिम नहीं मिटाए जा सकते"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"किसी गड़बड़ी की वजह से, ई-सिम का डेटा हमेशा के लिए नहीं मिटाया जा सका.\n\nडिवाइस को रीस्टार्ट करें और फिर से कोशिश करें."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ई-सिम नहीं मिटाया जा सका"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"कोई गड़बड़ी हुई है. इसकी वजह से, आपका ई-सिम नहीं मिटाया जा सका.\n\nअपने डिवाइस को रीस्टार्ट करके फिर से कोशिश करें."</string>
     <string name="main_clear_title" msgid="277664302144837723">"हमेशा के लिए पूरा डेटा मिटाएं (फ़ैक्ट्री रीसेट)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"हमेशा के लिए पूरा डेटा मिटाएं (फ़ैक्ट्री रीसेट)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"संगीत"</li>\n<li>"फ़ोटो"</li>\n<li>"उपयोगकर्ता का अन्य डेटा"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"इससे आपका मोबाइल सेवा प्लान रद्द नहीं होगा."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"आपकी सारी निजी जानकारी और डाउनलोड किए गए ऐप्लिकेशन मिटा दिए जाएंगे. मिटाया गया डेटा वापस नहीं पाया जा सकेगा."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"डाउनलोड किए गए ऐप्लिकेशन और सिम के साथ ही आपकी सारी निजी जानकारी मिटा दी जाएगी. आप मिटाया गया डेटा वापस नहीं पा सकते."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"आपकी पूरी निजी जानकारी मिटा दी जाएगी. जैसे, डाउनलोड किए गए ऐप्लिकेशन और ई-सिम. इस कार्रवाई को पहले जैसा नहीं किया जा सकता."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"क्या आपको पूरा डेटा मिटाना हैं?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"इस उपयोगकर्ता के लिए फ़ैक्ट्री रीसेट उपलब्ध नहीं है"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"हमेशा के लिए मिटाया जा रहा है"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"हॉटस्पॉट, यूएसबी, ब्लूटूथ, ईथरनेट"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"इंटरनेट को दूसरे डिवाइस से शेयर नहीं किया जा रहा है"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"बंद है"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"टेदरिंग"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"वाई-फ़ाई हॉटस्पॉट का इस्तेमाल न करें"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"सिर्फ़ यूएसबी के ज़रिए इंटरनेट शेयर करें"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"सिर्फ़ ब्लूटूथ के ज़रिए इंटरनेट शेयर करें"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"सिर्फ़ ईथरनेट से इंटरनेट शेयर करें"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"सिर्फ़ ब्लूटूथ और यूएसबी के ज़रिए इंटरनेट शेयर करें"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"सिर्फ़ यूएसबी और ईथरनेट से इंटरनेट शेयर करें"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"सिर्फ़ ब्लूटूथ और ईथरनेट से इंटरनेट शेयर करें"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"सिर्फ़ यूएसबी, ब्लूटूथ, और ईथरनेट से इंटरनेट शेयर करें"</string>
-    <string name="usb_title" msgid="1157283449840612901">"यूएसबी"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"यूएसबी टेदरिंग"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ब्लूटूथ टेदरिंग"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ईथरनेट टेदरिंग"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"दूसरे डिवाइसों के साथ अपना वाई-फ़ाई या मोबाइल डेटा कनेक्शन शेयर करने के लिए, हॉटस्पॉट और टेदरिंग का इस्तेमाल करें. आस-पास के डिवाइसों के साथ कॉन्टेंट शेयर करने के लिए, ऐप्लिकेशन भी हॉटस्पॉट बना सकते हैं."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"सहायता"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"मोबाइल नेटवर्क"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"मोबाइल प्लान"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"एसएमएस ऐप्लिकेशन"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"मैसेज (एसएमएस) ऐप बदलें?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> के बजाय <xliff:g id="NEW_APP">%1$s</xliff:g> को अपने मैसेज (एसएमएस) ऐप के तौर पर इस्तेमाल करें?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"वाई-फ़ाई सहायक बदलें?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"आपके नेटवर्क कनेक्शन प्रबंधित करने के लिए <xliff:g id="CURRENT_APP">%2$s</xliff:g> के बजाय <xliff:g id="NEW_APP">%1$s</xliff:g> का उपयोग करें?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"आपके नेटवर्क कनेक्शन प्रबंधित करने के लिए <xliff:g id="NEW_APP">%s</xliff:g> का उपयोग करें?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"अज्ञात सिम ऑपरेटर"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> की कोई भी ज्ञात प्रावधान वेबसाइट नहीं है"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"कृपया सिम कार्ड डालें और फिर से शुरू करें"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"कृपया इंटरनेट से कनेक्ट करें"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"हाल में किए गए जगह के अनुरोध"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"वर्क प्रोफ़ाइल की जगह"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ऐप्लिकेशन के लिए जगह की जानकारी की अनुमतियां"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ऐक्सेस साफ़ करें"</string>
     <string name="controls_label" msgid="8671492254263626383">"नियंत्रण"</string>
     <string name="force_stop" msgid="2681771622136916280">"ज़बरदस्ती रोकें"</string>
+    <string name="archive" msgid="9074663845068632127">"संग्रहित करें"</string>
+    <string name="restore" msgid="7622486640713967157">"वापस लाएं"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"पहले जैसा किया जा रहा है"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"पहले जैसा किया जा रहा है."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"पहले जैसा किया जा रहा है.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"पहले जैसा किया जा रहा है..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"कुल स्टोरेज"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ऐप्लिकेशन का साइज़"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB मेमोरी ऐप्लिकेशन"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"पैकेज आकार की गणना नहीं की जा सकी."</string>
     <string name="version_text" msgid="7628938665256107608">"वर्शन <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ले जाएं"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"संग्रहित नहीं किया जा सका"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> को संग्रहित किया गया"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"वापस नहीं लाया जा सका"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> को पहले जैसा किया जा रहा है"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"कोई और डेटा दूसरी जगह भेजा जा रहा है."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"मेमोरी में ज़रुरत के मोताबिक जगह नहीं बची है"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ऐप्लिकेशन मौजूद नहीं है."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ऑन-स्क्रीन कीबोर्ड उपलब्ध है"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ऑन-स्क्रीन कीबोर्ड को मैनेज करें"</string>
     <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="6922850403920596246">"फ़िज़िकल कीबोर्ड सुलभता के लिए बाउंस कुंजियों को चालू करें"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"स्लो बटन"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"फ़िज़िकल कीबोर्ड वाली सुलभता के लिए स्टिकी बटन को चालू करें"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी बटन"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"फ़िज़िकल कीबोर्ड सुलभता के लिए स्टिकी बटन को चालू करें"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ज़्यादा विकल्पों के लिए टचपैड के सबसे नीचे दाएं कोने पर टैप करें"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"पॉइंटर की स्पीड"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"टचपैड पर हाथ के जेस्चर जानें"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"होम स्क्रीन पर जाएं"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"टचपैड पर तीन उंगलियों से कहीं भी ऊपर की ओर स्वाइप करें"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"वापस जाएं"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"इस्तेमाल किए जाने की अवधि के मुताबिक क्रम में लगाएं"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"पिछली बार इस्तेमाल किए जाने के मुताबिक क्रम में लगाएं"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ऐप के नाम से क्रम में लगाएं"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"पिछली बार उपयोग किया गया"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"पिछली बार कब इस्तेमाल किया गया"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"कभी नहीं"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"उपयोग समय"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"सुलभता"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"सरल उपयोग सेटिंग"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"तीन बार टैप करके आकार बढ़ाएं"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"शॉर्टकट की मदद से बड़ा करके देखें"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"तीन बार टैप और शॉर्टकट की मदद से बड़ा करके देखें"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> के बारे में जानकारी"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"इसे खोलने के लिए सुलभता बटन का इस्तेमाल करें"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"खोलने के लिए, आवाज़ वाले दोनों बटन दबाकर रखें"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"खोलने के लिए स्क्रीन पर तीन बार टैप करें"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"खोलने के लिए, स्क्रीन पर दो उंगलियों से दो बार टैप करें"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"इसे खोलने के लिए हाथ के जेस्चर का इस्तेमाल करें"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"सुलभता से जुड़े हाथ के जेस्चर का इस्तेमाल करें"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर सबसे नीचे मौजूद सुलभता बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> पर टैप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, सुलभता बटन को दबाकर रखें."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर मौजूद सुलभता बटन पर टैप करें."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"इस सुविधा का इस्तेमाल करने के लिए, आवाज़ वाले दोनों बटन दबाकर रखें."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ज़ूम करने की सुविधा को शुरू और बंद करने के लिए, स्क्रीन पर कहीं भी तीन बार टैप करें."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ज़ूम करने की सुविधा को शुरू और बंद करने के लिए, स्क्रीन पर कहीं भी दो उंगलियों से दो बार टैप करें."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, दो उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"इस सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, तीन उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"सुलभता सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, दो उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, दो उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"सुलभता सुविधा का इस्तेमाल करने के लिए, स्क्रीन पर नीचे से ऊपर की ओर, तीन उंगलियों से स्वाइप करें.\n\nएक सुविधा से दूसरी सुविधा पर जाने के लिए, तीन उंगलियों से ऊपर की ओर स्वाइप करें और स्क्रीन को थोड़ी देर दबाकर रखें."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ठीक है"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"सुलभता बटन की सेटिंग"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"बटन सेटिंग"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> का शॉर्टकट"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"सुलभता बटन"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"सुलभता वाले जेस्चर (हाव-भाव)"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"आवाज़ वाले बटन दबाकर रखें"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"आवाज़ कम-ज़्यादा करने वाले दोनों बटन दबाकर रखें"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"आवाज़ वाले दोनों बटन दबाकर रखें"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"दो उंगलियों से दो बार टैप करें"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"दो उंगलियों से दो बार टैप करें"</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="6863958573135995927">"स्क्रीन पर तीन बार टैप करें"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रीन पर जल्दी-जल्दी {0,number,integer} बार टैप करें. इस शॉर्टकट के इस्तेमाल से आपके डिवाइस की रफ़्तार धीमी हो सकती है"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"सुलभता बटन और हाथ के जेस्चर के बारे में ज़्यादा जानें"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"सुलभता बटन का इस्तेमाल करना. तीन बटन वाले नेविगेशन का इस्तेमाल करने पर, जेस्चर काम नहीं करता."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"सुलभता सुविधाओं को तुरंत ऐक्सेस करें"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"शुरू करने के लिए"</b>\n"1. सुलभता सेटिंग पर जाएं\n2. किसी सुविधा को चुनें और शॉर्टकट पर टैप करें\n3. इस सुविधा को ऐक्सेस करने के लिए, किसी बटन या हाथ के जेस्चर का इस्तेमाल करने का विकल्प चुनें"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"शुरू करने के लिए"</b>\n"1. सुलभता सेटिंग पर जाएं\n2. किसी सुविधा को चुनें और शॉर्टकट पर टैप करें\n3. चुनें कि आपको इस सुविधा का इस्तेमाल किस बटन से करना है"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"बटन या जेस्चर का इस्तेमाल करें"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"सुलभता बटन यहां दिखेगा"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"साइज़"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"पावर बटन से कॉल काटना"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"बड़ा माउस पॉइंटर"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"माउस पॉइंटर का साइज़ बढ़ाएं, ताकि वह सही से दिखे"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"सभी ऐप पर डार्क थीम लागू करें"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ऐप की डार्क थीम के बिना भी उन पर लागू होता है. ऐप में इन्वर्टेड कलर जैसी डिसप्ले की समस्याएं हो सकती हैं."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ऐनिमेशन हटाएं"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"स्क्रीन पर हलचल कम करें"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"मोनो ऑडियो"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"वाइब्रेशन और हैप्टिक का इस्तेमाल करें"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"अलार्म के लिए वाइब्रेशन"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"मीडिया के लिए वाइब्रेशन"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"कीबोर्ड के लिए वाइब्रेशन"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"रिंग के लिए वाइब्रेशन"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"सूचना के लिए वाइब्रेशन"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"टच के लिए वाइब्रेशन"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"बंद करें"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"रद्द करें"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> को बंद करना है?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"\'<xliff:g id="STOP">%1$s</xliff:g>\' पर टैप करने से <xliff:g id="SERVICE">%2$s</xliff:g> बंद हो जाएगी."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"बंद करें"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"चालू रखें"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"क्या आपको <xliff:g id="SERVICE">%1$s</xliff:g> बंद करनी है?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"कोई सेवा इंस्‍टॉल नहीं है"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"कोई सेवा नहीं चुनी गई"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"कोई विवरण नहीं दिया गया."</string>
     <string name="settings_button" msgid="2195468788019730377">"सेटिंग"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"लाइट सेंसिटिविटी, फ़ोटोफ़ोबिया, गहरे रंग वाली थीम, माइग्रेन, सिरदर्द, रीडिंग मोड, नाइट मोड, स्क्रीन की चमक कम करें, व्हाइट पॉइंट"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"इस्तेमाल में आसानी, ऐक्सेस करने में आसानी, असिस्टेंस, असिस्टिव"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"देखना, सुनना, अंधा, बहरा, मोटर, डेक्स्टेरिटी, सहायक, असिस्टेंस, इस्तेमाल में आसानी, ऐक्सेस करने में आसानी, हैंड, सहायता"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"विंडो को ज़ूम करके देखने की सुविधा, ज़ूम करना, ज़ूम करने की सुविधा, कम दृष्टि, बड़ा करना, साइज़ बढ़ाना"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"कैप्शन, सबटाइटल, सीसी, Live Transcribe, कम सुनने वाला, सुनने में समस्या, रीयल-टाइम कैप्शनिंग (CART), बोली को लिखाई में बदलना, सबटाइटल"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"कलर कंट्रास्ट"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"मोटर, माउस"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"कान की मशीन, कम सुनने की समस्या, सुनने में समस्या, कॉकलीयर इंप्लांट, अन्य एंप्लिफ़िकेशन डिवाइस, साउंड प्रोसेसर"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"मोटर, माउस, एक्सटर्नल माउस, हेड माउस, अडैप्टिव माउस, व्हीलचेयर, जॉयस्टिक"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"कान की मशीन, कम सुनने वाला, सुनने में समस्या, कॉकलीयर इंप्लांट, एंप्लिफ़िकेशन डिवाइस, साउंड प्रोसेसर, पीएसएपी"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"कम सुनने वाला, सुनने में समस्या, कैप्शन, टेलीटाइप, टीटीवाई"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"तीन बटन वाला नेविगेशन"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"डेक्स्टेरिटी, मोटर, सीनियर, अर्थराइटिस, आरएसआई, स्ट्रोक, ट्रेमोर, मल्टिपल स्क्लिरोसिस, सेरब्रल पॉल्ज़ी, शेकिंग, रेपेटिटिव स्ट्रेन इंजरी, हैंड"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"डीले, डेक्स्टेरिटी, सीनियर"</string>
     <string name="print_settings" msgid="8519810615863882491">"प्रिंटिंग"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"बंद"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{प्रिंट करने की 1 सेवा चालू है}one{प्रिंट करने की # सेवा चालू है}other{प्रिंट करने की # सेवाएं चालू हैं}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> शेष"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"चार्ज होने में <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> शेष"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ऐप्लिकेशन के इस्तेमाल में बीता समय"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"बैकग्राउंड में ऐप्लिकेशन चलने का समय"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"बैटरी कम है"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ऐप्लिकेशन को बैकग्राउंड में चलने दें"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ऐप की बैकग्राउंड गतिविधि को सीमित करें?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"अगर आप ऐप की बैकग्राउंड गतिविधि को सीमित करते हैं, तो हो सकता है यह ठीक ढंग से काम न करे"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ऐप्लिकेशन पर रोक नहीं लगेगी क्योंकि यह बैटरी ऑप्टिमाइज़ नहीं कर सकता.\n\nबैटरी ऑप्टिमाइज़ेशन चालू करके ही ऐसा हो सकता है."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"बैटरी खर्च को मैनेज करें"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"\'ऐप्लिकेशन को बैकग्राउंड में चलने\' की सुविधा को चालू करें"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"रीयल-टाइम अपडेट पाने के लिए, \'ऐप्लिकेशन को बैकग्राउंड में चलने\' की सुविधा चालू करें और बैटरी बचाने के लिए इस सुविधा को बंद करें"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"कोई पाबंदी नहीं"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ऑप्टिमाइज़ की गई सेटिंग"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"पाबंदी लगी है"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"सबसे ज़्यादा बैटरी खर्च करने वाले ऐप्लिकेशन देखें"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"बैटरी को नुकसान से बचाने के लिए, चार्जिंग को ऑप्टिमाइज़ किया गया"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"बैटरी की लाइफ़ बढ़ाने के लिए, उसकी चार्जिंग को ऑप्टिमाइज़ किया गया है"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"बैटरी को नुकसान से बचाने के लिए, चार्जिंग को ऑप्टिमाइज़ किया गया"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"बैटरी लाइफ़ बढ़ाने के लिए, डॉक से जुड़े होने के दौरान चार्जिंग को ऑप्टिमाइज़ किया गया है"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"बैटरी को नुकसान से बचाने के लिए, चार्जिंग को ऑप्टिमाइज़ किया गया"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"बैटरी लाइफ़ बढ़ाने के लिए, डॉक से जुड़े होने के दौरान चार्जिंग को ऑप्टिमाइज़ किया गया है"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"पूरा चार्ज किया जा रहा है"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"बैटरी को नुकसान से बचाने के लिए, अगली बार डॉक से जुड़े होने पर चार्जिंग को ऑप्टिमाइज़ किया जाएगा"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"चार्जिंग रोके जाने के बारे में ज़्यादा जानें"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"चार्जिंग फिर से शुरू करें"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"बैकग्राउंड में ज़्यादा बैटरी इस्तेमाल करने वाली गतिवधियां शामिल हैं"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"यह ऐप्लिकेशन, बैकग्राउंड में बैटरी का इस्तेमाल कर पाएगा. ऐसा हो सकता है कि आपके डिवाइस की बैटरी समय से पहले ही खत्म हो जाए."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ऐप्लिकेशन से रोक हटाएं"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"अभी नहीं"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"पूरा चार्ज करें"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"चार्जर ऐक्सेसरी से जुड़ी समस्या"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"चार्जिंग ऐक्सेसरी की जांच करें"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"डिवाइस के साथ काम न करने वाले चार्जिंग सेटअप के बारे में ज़्यादा जानें"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"बैटरी मैनेजर"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ऐप्लिकेशन अपने आप प्रबंधित होने की सुविधा"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"पूरी चार्ज होने के बाद"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"सिस्टम के ऐप्लिकेशन"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"अनइंस्टॉल किए गए ऐप्लिकेशन"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"अन्य"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"अनुमानित बचा हुआ समय"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"पूरी तरह चार्ज होने तक"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"इस्तेमाल का कुल समय: एक मिनट से कम"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"बैकग्राउंड में इस्तेमाल होने का समय: एक मिनट से कम"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"किसी डिवाइस के इस्तेमाल में बीता समय: एक मिनट से कम"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"एक मिनट से कम"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"इस्तेमाल का कुल समय: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"बैकग्राउंड में इस्तेमाल होने का समय: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"किसी डिवाइस के इस्तेमाल में बीता समय: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"अभी"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"बैटरी खर्च दिखाने वाला चार्ट"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"हर दिन का बैटरी खर्च दिखाने वाला चार्ट"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"हर घंटे का बैटरी खर्च दिखाने वाला चार्ट"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"बैटरी लेवल, <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> से <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> है"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"पूरा चार्ज होने के बाद से, बैटरी खर्च"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> तक का बैटरी खर्च"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"पूरा चार्ज होने के बाद से, किसी डिवाइस के इस्तेमाल में बीता समय"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"आपातकालीन डायलिंग सिग्नल"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"आपातकालीन कॉल करने के दौरान व्‍यवहार सेट करें"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"बैकअप लें"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"चालू है"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"बंद है"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"सुरक्षित करें और पुनर्स्‍थापित करें"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"निजी डेटा"</string>
     <string name="backup_data_title" msgid="507663517227498525">"मेरे डेटा का बैकअप लें"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"मोबाइल डेटा और वाई-फ़ाई"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"निजी डेटा अपने-आप सिंक हो जाए"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"वर्क डेटा अपने-आप सिंक हो"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"निजी डेटा ऑटो-सिंक होने दें"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"चक्र बदलें ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"डेटा खर्च की अवधि रीसेट करने के लिए महीने का दिन:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"इस दौरान कि‍सी भी ऐप्लिकेशन ने डेटा का उपयोग नहीं कि‍या."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"नाम"</string>
     <string name="vpn_type" msgid="5533202873260826663">"टाइप"</string>
     <string name="vpn_server" msgid="2908816134941973935">"सर्वर पता"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP सुरक्षा (MPPE) चालू करें"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP सीक्रेट"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec पहचानकर्ता"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec पहले से शेयर की गई कुंजी"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec उपयोगकर्ता प्रमाणपत्र"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA प्रमाणपत्र"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec सर्वर प्रमाणपत्र"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"बेहतर विकल्प दिखाएं"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"डीएनएस सर्च डोमेन"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"डीएनएस सर्वर (उदाहरण 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"फ़ॉरवर्डिंग रूट्स (उदाहरण 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"उपयोगकर्ता का नाम"</string>
     <string name="vpn_password" msgid="1183746907642628127">"पासवर्ड"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"खाते की जानकारी सेव करें"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(इस्तेमाल नहीं किया)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(सर्वर की पुष्टि न करें)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(सर्वर से मिला)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"यह वीपीएन प्रकार हमेशा कनेक्ट नहीं रह सकता"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"हमेशा-चालू VPN सिर्फ़ संख्या वाले सर्वर पतों का समर्थन करता है"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"हमेशा-चालू VPN के लिए एक DNS सर्वर तय किया जाना चाहिए"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS सर्वर के पते हमेशा-चालू VPN के लिए संख्या रूप में होने चाहिए"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"डाली गई जानकारी \'वीपीएन हमेशा चालू रखें\' से मेल नहीं खाती"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"रद्द करें"</string>
     <string name="vpn_done" msgid="5137858784289564985">"खारिज करें"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"बिना वीपीएन वाले कनेक्शन ब्लॉक करें"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"वीपीएन कनेक्शन ज़रूरी है?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"यह वीपीएन सुरक्षित नहीं है. IKEv2 वीपीएन पर अपडेट करें"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"इस्तेमाल न किए जा सकने वाले वीपीएन को चालू नहीं किया जा सका."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"वह VPN प्रोफ़ाइल चुनें जिससे हमेशा कनेक्ट रहना है. नेटवर्क ट्रैफ़िक की अनुमति केवल इस VPN से कनेक्ट रहने पर ही दी जाएगी."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"कोई नहीं"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"हमेशा-चालू VPN के लिए, सर्वर और DNS दोनों के लिए आईपी पता होना ज़रूरी है."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"ऐंबर अलर्ट"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"बाल अपहरणों के बारे में बुलेटिन पाएं"</string>
     <string name="repeat_title" msgid="8676570486899483606">"दोहराएं"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"कॉल मैनेजर चालू करें"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"इस सेवा को कॉल करने का आपका तरीका प्रबंधित करने दें."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"कॉल मैनेजर"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"खतरे की चेतावनी"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"नेटवर्क ऑपरेटर"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ऐक्सेस पॉइंट नेम"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"सिम स्थिति"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"सिम की स्थिति (सिम स्लॉट %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"सिम बदले गए."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"आपका सिम बदल दिया गया है"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"सेट करने के लिए टैप करें"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"हर बार पूछें"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"चुना जाना ज़रूरी है"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"हाल ही के ऐप्लिकेशन, डिफ़ॉल्ट ऐप्लिकेशन"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"वर्क प्रोफ़ाइल चालू होने पर ऐप्लिकेशन से जुड़ी सूचना नहीं देखी जा सकती है."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"पासवर्ड और खाते"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"सेव किए गए पासवर्ड, ऑटोमैटिक भरना, सिंक किए गए खाते"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"साइन-इन करने और ऑटोमैटिक जानकारी भरने के लिए सुझाव"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"डिफ़ॉल्‍ट ऐप्लिकेशन"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"क्लोन किए गए ऐप्लिकेशन"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ऐप्लिकेशन का क्लोन बनाएं, ताकि आप एक साथ दो खाते इस्तेमाल कर पाएं."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"भुगतान करें, टैप करें, भुगतान"</string>
     <string name="keywords_backup" msgid="707735920706667685">"बैकअप, बैक अप"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"जेस्चर"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"चेहरा, अनलॉक, अनुमति देना, साइन इन"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"फ़ेस अनलॉक, अनलॉक, पुष्टि करना, साइन इन करना, फ़िंगरप्रिंट, बायोमेट्रिक"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl वर्शन, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"टेक्स्ट का साइज़, बड़ा प्रिंट, बड़ा फ़ॉन्ट, बड़ा टेक्स्ट, कम दृष्टि, टेक्स्ट बड़ा करना, फ़ॉन्ट बड़ा करने वाला टूल, फ़ॉन्ट बड़ा करना"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"हमेशा चालू रहने वाला ऐंबियंट डिसप्ले, एओडी"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"एनएफ़सी, टैग, रीडर"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"कीबोर्ड, हैप्टिक, वाइब्रेट,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"आवाज़, वाइब्रेशन, परेशान न करें"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"मीडिया की आवाज़"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"आवाज़ कास्ट करें"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"चालू होने की ध्वनि"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"लाइव कैप्शन"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ऑडियो से अपने-आप कैप्शन बनना"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"फ़ोन के स्पीकर"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"टैबलेट के स्पीकर"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"डिवाइस के स्पीकर"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"तार वाले हेडफ़ोन"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"डिवाइस के साथ काम करने वाले मीडिया पर, ऑडियो का आनंद बेहतर तरीके से लिया जा सकता है"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"बंद है"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"सारी सूचनाएं दिखाएं"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"डिवाइस अनलॉक होने पर ही संवेदनशील कॉन्टेंट दिखाएं"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"सूचनाएं बिलकुल न दिखाएं"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"आपको लॉक स्क्रीन पर क्या देखना है?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"आपको अपनी लॉक स्क्रीन पर क्या दिखाना है?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"लॉक स्क्रीन"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ऑफ़िस के काम से जुड़ी सभी सूचनाएं दिखाएं"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ऑफ़िस के काम से जुड़ी संवेदनशील सूचनाएं छिपाएं"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"हाल ही में की गई बातचीत को हटाया गया"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"बातचीत हटाई गई"</string>
     <string name="clear" msgid="5092178335409471100">"मिटाएं"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> मिटाएं"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"यहां ऐसी बातचीत दिखेंगी जो अहम हैं और जिनमें बदलाव किए गए हैं"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"जब किसी बातचीत को अहम के रूप में मार्क किया जाता है या उसमें कोई बदलाव किया जाता है, तो वह यहां दिखेगी. \n\nबातचीत की सेटिंग बदलने के लिए: \nपुल-डाउन शेड खोलने के लिए, स्क्रीन पर ऊपर से नीचे की ओर स्वाइप करें. इसके बाद, किसी बातचीत को दबाकर रखें."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"छोटा करें"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"सूचनाओं की कूलडाउन सेटिंग"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"सभी सूचनाओं पर कूलडाउन सेटिंग लागू करें"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"एक ही ऐप्लिकेशन से बार-बार कई सूचनाएं मिलने पर, सूचनाओं की संख्या धीरे-धीरे कम हो जाती है"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"बातचीत पर कूलडाउन सेटिंग लागू करें"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"एक ही चैट से बहुत कम समय में कई मैसेज मिलने पर, सूचनाओं की संख्या धीरे-धीरे कम हो जाती है"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"सूचनाओं पर कूलडाउन सेटिंग का इस्तेमाल न करें"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"सूचनाओं की संख्या को कभी कम नहीं होती, फिर चाहे एक ही ऐप्लिकेशन से बार-बार कितनी भी सूचनाएं मिल रही हों"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"स्क्रीन अनलॉक होने पर वाइब्रेट हो"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"स्क्रीन अनलॉक होने पर ही वाइब्रेट हो"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"वर्क प्रोफ़ाइल पर लागू करें"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"अपनी निजी प्रोफ़ाइल से वर्क प्रोफ़ाइल पर, सूचनाओं की कूलडाउन सेटिंग लागू करें"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"वीआर सहायक सेवाएं"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"इंस्टॉल किए गए किसी भी ऐप्लिकेशन ने, वीआर सहायक सेवाओं के तौर पर चलाए जाने का अनुरोध नहीं किया है."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> को वीआर सेवा के इस्तेमाल की अनुमति दें?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"बंद"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ऐप्लिकेशन पिन करने की सुविधा"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"किसी ऐप्लिकेशन को पिन करके, उसे तब तक स्क्रीन पर देखा जा सकता है, जब तक उसे अनपिन न कर दिया जाए. यह सुविधा कई चीज़ों के लिए इस्तेमाल की जा सकती है. उदाहरण के लिए, किसी भरोसेमंद दोस्त को डिवाइस पर सिर्फ़ कोई खास गेम खेलने की अनुमति देना."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"पिन किया गया ऐप्लिकेशन, दूसरे ऐप्लिकेशन से आपका निजी डेटा ऐक्सेस कर सकता है. \n\nऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करने के लिए: 	\n1. ऐप्लिकेशन पिन करने की सुविधा चालू करें 	\n2. खास जानकारी खोलें 	\n3. स्क्रीन पर सबसे ऊपर, ऐप्लिकेशन के आइकॉन पर टैप करें. इसके बाद, \'पिन करें\' पर टैप करें"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"पिन किया गया ऐप्लिकेशन, दूसरे ऐप्लिकेशन से आपका निजी डेटा ऐक्सेस कर सकता है. \n\nअगर आपको अपना डिवाइस सुरक्षित तरीके से किसी के साथ शेयर करना है, तो मेहमान उपयोगकर्ता प्रोफ़ाइल का इस्तेमाल करें. \n\nऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करने के लिए: 	\n1. ऐप्लिकेशन पिन करने की सुविधा चालू करें 	\n2. खास जानकारी खोलें 	\n3. स्क्रीन पर सबसे ऊपर, ऐप्लिकेशन के आइकॉन पर टैप करें. इसके बाद, \'पिन करें\' पर टैप करें"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"पिन किया गया कोई ऐप्लिकेशन, अन्य ऐप्लिकेशन खोल सकता है और आपका निजी डेटा ऐक्सेस कर सकता है. \n\nऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करने के लिए: 	\n{0,number,integer}. ऐप्लिकेशन पिन करने की सुविधा चालू करें 	\n{1,number,integer}. \'खास जानकारी\' खोलें 	\n{2,number,integer}. स्क्रीन पर सबसे ऊपर, ऐप्लिकेशन आइकॉन पर टैप करें. इसके बाद, \'पिन करें\' पर टैप करें"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"पिन किया गया कोई ऐप्लिकेशन, अन्य ऐप्लिकेशन खोल सकता है और आपका निजी डेटा ऐक्सेस कर सकता है. \n\nअगर आपको अपना डिवाइस सुरक्षित तरीके से किसी के साथ शेयर करना है, तो मेहमान उपयोगकर्ता प्रोफ़ाइल का इस्तेमाल करें. \n\nऐप्लिकेशन पिन करने की सुविधा का इस्तेमाल करने के लिए: 	\n{0,number,integer}. ऐप्लिकेशन पिन करने की सुविधा चालू करें 	\n{1,number,integer}. \'खास जानकारी\' खोलें 	\n{2,number,integer}. स्क्रीन पर सबसे ऊपर, ऐप्लिकेशन आइकॉन पर टैप करें. इसके बाद, \'पिन करें\' पर टैप करें"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"किसी ऐप्लिकेशन को पिन करने पर: \n\n•	 निजी डेटा ऐक्सेस किया जा सकता है \n		(जैसे कि आपकी संपर्क सूची और ईमेल) \n•	 पिन किया गया ऐप्लिकेशन, दूसरे ऐप्लिकेशन खोल सकता है \n\nऐप्लिकेशन को उन ही लोगों के लिए पिन करें जिन पर आप भरोसा करते हैं."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"अनपिन करने से पहले लॉक खोलने के पैटर्न के लिए पूछें"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"अनपिन करने से पहले पिन के लिए पूछें"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"अनपिन करने से पहले पासवर्ड के लिए पूछें"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"अनपिन करते समय डिवाइस लॉक करें"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"सिम मिटाने की पुष्टि करें"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"पुष्टि करें कि आपको अपने ई-सिम को बंद करना है"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ई-सिम मिटाने से पहले, अपनी पहचान की पुष्टि करें"</string>
     <string name="memtag_title" msgid="5096176296797727201">"बेहतर मेमोरी सुरक्षा (बीटा)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"बेहतर मेमोरी सुरक्षा"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"इस्तेमाल न किए जाने वाले ऐप की सेटिंग"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"इस्तेमाल न होने पर ऐप गतिविधि रोकें"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ऐप्लिकेशन की अनुमतियां हटाएं, डिवाइस में कुछ समय के लिए रहने वाली फ़ाइलें मिटाएं, और सूचनाएं रोकें"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"इस्तेमाल न हुआ ऐप्लिकेशन मैनेज करें"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ऐप्लिकेशन की अनुमतियां हटाएं, डिवाइस में कुछ समय के लिए रहने वाली फ़ाइलें मिटाएं, सूचनाएं रोकें, और ऐप्लिकेशन संग्रहित करें"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"सभी ऐप्लिकेशन"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"इंस्‍टॉल किए गए ऐप"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"इंस्टैंट ऐप्लिकेशन"</string>
@@ -3661,7 +3847,7 @@
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"सहायक ऐप्लिकेशन को स्क्रीन पर मौजूद इमेज को ऐक्सेस करने की अनुमति दें"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"स्क्रीन फ़्लैश करें"</string>
     <string name="assist_flash_summary" msgid="3032289860177784594">"जब सहायक ऐप्लिकेशन, स्क्रीन पर मौजूद टेक्स्ट या स्क्रीनशॉट को ऐक्सेस करे, तो स्क्रीन के किनारों पर रोशनी चमकाएं"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"स्क्रीन पर दिख रही जानकारी के आधार पर, सहायक ऐप्लिकेशन आपकी मदद कर सकते हैं. आपकी पूरी मदद करने के लिए, कुछ ऐप्लिकेशन पर लॉन्चर और बोलकर फ़ोन को निर्देश देने वाली सेवाएं काम करती हैं."</string>
+    <string name="assist_footer" msgid="8248015363806299068">"स्क्रीन पर दिख रही जानकारी के आधार पर, सहायक ऐप्लिकेशन आपकी मदद कर सकते हैं. आपकी पूरी मदद करने के लिए, कुछ ऐप्लिकेशन पर लॉन्चर और बोलकर फ़ोन को निर्देश देने वाली सेवाएँ काम करती हैं."</string>
     <string name="average_memory_use" msgid="717313706368825388">"औसत मेमोरी उपयोग"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"अधिकतम मेमोरी उपयोग"</string>
     <string name="memory_usage" msgid="5594133403819880617">"मेमोरी का उपयोग"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"खाली"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ऐप्लिकेशन द्वारा उपयोग की गई मेमोरी"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{पिछले {time} में 1 ऐप्लिकेशन ने मेमोरी का इस्तेमाल किया}one{पिछले {time} में # ऐप्लिकेशन ने मेमोरी का इस्तेमाल किया}other{पिछले {time} में # ऐप्लिकेशन ने मेमोरी का इस्तेमाल किया}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"मेमोरी के इस्तेमाल की प्रोफ़ाइल बनाएं"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"मेमोरी के इस्तेमाल की प्रोफ़ाइल बनाने के लिए, सिस्टम के अतिरिक्त संसाधनों की ज़रूरत होगी."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"मेमोरी के इस्तेमाल की प्रोफ़ाइल बनाने की सुविधा बंद कर दी गई है"</string>
     <string name="running_frequency" msgid="7260225121706316639">"फ़्रीक्वेंसी"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"अधिकतम उपयोग"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"किसी डेटा का इस्तेमाल नहीं किया गया"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"दूसरे ऐप्लिकेशन के ऊपर दिखाएं"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"दूसरे ऐप्लिकेशन के ऊपर दिखाने की अनुमति दें"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"इस ऐप्लिकेशन को, उन सभी ऐप्लिकेशन के ऊपर दिखने की अनुमति दें जो इस्तेमाल में हैं. यह ऐप्लिकेशन देख पाएगा कि आपने कहां टैप किया है. इसके अलावा, स्क्रीन पर दिखने वाली चीज़ों को भी बदल पाएगा."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"मीडिया आउटपुट बदलें"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ऐप को मीडिया आउटपुट बदलने की अनुमति दें"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"इस ऐप्लिकेशन को यह चुनने की अनुमति दें कि कनेक्ट किया गया कौनसा डिवाइस, दूसरे ऐप्लिकेशन से ऑडियो या वीडियो चला सकता है. अनुमति मिलने पर, यह ऐप्लिकेशन उपलब्ध डिवाइसों की लिस्ट को ऐक्सेस कर सकता है. जैसे, हेडफ़ोन और स्पीकर. साथ ही, यह चुन सकता है कि ऑडियो या वीडियो को स्ट्रीम या कास्ट करने के लिए, कौनसा आउटपुट डिवाइस इस्तेमाल किया जाए."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"सभी फ़ाइलों का ऐक्सेस है"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"सभी फ़ाइलों को मैनेज करने की अनुमति दें"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"इस ऐप्लिकेशन को अनुमति दें, ताकि वह इस डिवाइस और इससे जुड़े स्टोरेज पर मौजूद फ़ाइलों को पढ़ सके, उनमें बदलाव कर सके, और उन्हें मिटा सके. अनुमति दिए जाने पर, यह ऐप्लिकेशन आपको सूचना दिए बिना फ़ाइलों को ऐक्सेस कर सकता है."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"सभी फ़ाइलें ऐक्सेस कर सकते हैं"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"बोलकर चालू करने की सुविधा वाले ऐप्लिकेशन"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"बोलकर चालू करने की अनुमति दें"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"बोलकर चालू करने की सुविधा, मंज़ूरी पा चुके ऐप्लिकेशन को बोले गए निर्देशों की मदद से चालू कर सकती है. पहले से मौजूद अडैप्टिव सेंसिंग का इस्तेमाल करके, यह पक्का किया जाता है कि डेटा निजी बना रहे.\n\n"<a href="">"सुरक्षित अडैप्टिव सेंसिंग के बारे में ज़्यादा जानें"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"फ़ुल स्क्रीन पर दिखने वाली सूचनाएं"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"इस ऐप्लिकेशन से सूचनाओं को फ़ुल स्क्रीन में दिखाने की अनुमति दें"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"इस ऐप्लिकेशन को, डिवाइस लॉक होने पर सूचनाओं को फ़ुल स्क्रीन पर दिखाने की अनुमति दें. ऐसा हो सकता है कि ऐप्लिकेशन इनका इस्तेमाल अलार्म, आने वाले (इनकमिंग) कॉल या अन्य ज़रूरी सूचनाओं को हाइलाइट करने के लिए करें."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> डेटा खर्च की चेतावनी"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> डेटा सीमा"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> डेटा खर्च की चेतावनी / <xliff:g id="ID_2">^2</xliff:g> डेटा सीमा"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"डेटा खर्च को लेकर मोबाइल और इंटरनेट सेवा देने वाली कंपनी का हिसाब आपके डिवाइस के हिसाब से अलग हो सकता है."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी का इस्तेमाल किया गया डेटा हटा देता है"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> का इस्तेमाल किया गया"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"डेटा खर्च की चेतावनी सेट करें"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> पहले अपडेट किया गया"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> ने अभी-अभी अपडेट किया"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"अभी-अभी अपडेट किया गया"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"डेटा प्लान देखें"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"जानकारी देखें"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"डेटा बचाने की सेटिंग"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"पाबंदी के बिना डेटा इस्तेमाल"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ने बैकग्राउंड में चलने के दौरान, सामान्य से ज़्यादा बैटरी खर्च की"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ने फ़ोरग्राउंड में चलने के दौरान, ज़्यादा बैटरी खर्च की"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ने फ़ोरग्राउंड में चलने के दौरान, सामान्य से ज़्यादा बैटरी खर्च की"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"कितनी बैटरी खर्च की है"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ऐप्लिकेशन ने ज़्यादा बैटरी खर्च की"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ऐप्लिकेशन ने बैकग्राउंड में ज़्यादा बैटरी खर्च की"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ऐप्लिकेशन ने फ़ोरग्राउंड में ज़्यादा बैटरी खर्च की"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"क्विक सेटिंग डेवलपर टाइल"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb अनुमतियों के लिए टाइम आउट बंद करें"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"adb से मिली अनुमतियों का अपने-आप रद्द होना बंद करें. ऐसा उन सिस्टम के लिए किया जा सकता है जिन्हें डिफ़ॉल्ट तौर पर सेट किए गए समय (सात दिन तक) या उपयोगकर्ता के सेट किए गए समय (कम से कम एक दिन) में दोबारा कनेक्ट नहीं किया गया है."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope ट्रेस"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"सेंसर बंद हैं"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"वर्क प्रोफ़ाइल सेटिंग"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"निजी ऐप्लिकेशन में, वर्क डायरेक्ट्री में सेव किए गए संपर्क खोजें"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"सिस्टम नेविगेशन, दो बटन वाला नेविगेशन, तीन बटन वाला नेविगेशन, हाथ के जेस्चर (स्पर्श) वाला नेविगेशन, स्वाइप"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"डिजिटल असिस्टेंट"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"असिस्टेंट को चालू करने के लिए स्वाइप करें"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"डिजिटल असिस्टेंट ऐप्लिकेशन चालू करने के लिए, स्क्रीन पर नीचे वाले कोने से ऊपर की ओर स्वाइप करें."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"डिजिटल असिस्टेंट ऐप्लिकेशन चालू करने के लिए, स्क्रीन पर नीचे वाले कोने से ऊपर की ओर स्वाइप करें"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant का इस्तेमाल करने के लिए, होम बटन दबाकर रखें"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"डिजिटल असिस्टेंट ऐप्लिकेशन चालू करने के लिए, होम बटन को दबाकर रखें."</string>
     <string name="low_label" msgid="6525629096999711220">"कम"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ऑटोमैटिक भरने की सेवा"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"पासवर्ड अपने-आप भरने, मैनेज करने, और सेव करने की डिफ़ॉल्ट सेवा"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"पासवर्ड"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"पासवर्ड, पासकी, और डेटा सेवाएं"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"क्रेडेंशियल देने वाली अन्य सेवाएं"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"पसंदीदा सेवा"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"अन्य सेवाएं"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# पासवर्ड}one{# पासवर्ड}other{# पासवर्ड}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"अपने-आप, भरना, अपने-आप भरने वाला, पासवर्ड"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"डेटा, पासकी, पासवर्ड"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"अपने-आप, भरना, अपने-आप भरना, डेटा, पासकी, और पासवर्ड"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"बदलें"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"खोलें"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"कोई आइटम नहीं चुना गया"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;पक्का करें कि आपको इस ऐप्लिकेशन पर भरोसा है&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google की मदद से, जानकारी अपने-आप भरने की सुविधा,&gt;%1$s&lt;/xliff:g&gt; ऑटोमैटिक भरी जा सकने वाली चीज़ें तय करने के लिए आपकी स्क्रीन पर मौजूद चीज़ों का इस्तेमाल करती है."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; का इस्तेमाल करना है?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; आपके डिवाइस की स्क्रीन पर दिख रहे कॉन्टेंट का इस्तेमाल करके, यह तय करता है कि कौनसी जानकारी अपने-आप भरी जा सकती है. नए पासवर्ड, पासकी, और अन्य जानकारी अब से यहां सेव की जाएगी."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"पासवर्ड, पासकी, और डेटा सेवाएं"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; नए पासवर्ड, पासकी, और अन्य जानकारी अब से यहां सेव की जाएगी. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; आपके डिवाइस की स्क्रीन पर दिख रहे कॉन्टेंट का इस्तेमाल करके, यह तय कर सकता है कि कौनसी जानकारी अपने-आप भरी जा सकती है."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"पासवर्ड, पासकी, और ऑटोमैटिक जानकारी भरने की सुविधा के लिए सेवा देने वाली पसंदीदा कंपनी"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"क्या आपको %1$s को बंद करना है?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;क्या इस सेवा को बंद करना है?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; साइन इन करने पर, पासवर्ड, पासकी, पेमेंट का तरीका, और सेव की गई अन्य जानकारी, पहले से भरी हुई नहीं होगी. सेव की गई जानकारी इस्तेमाल करने के लिए, कोई पासवर्ड, पासकी या डेटा सेवा को चुनें."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"पासवर्ड, पासकी, और ऑटोमैटिक जानकारी भरना"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;क्या आपको सभी सुविधाएं बंद करनी हैं?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; साइन इन करने के बाद पासवर्ड, पासकी, और सेव की गई अन्य जानकारी अपने-आप नहीं भरी जा सकेगी"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;अपनी पसंदीदा सेवा के तौर पर &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; को चुनें. नए पासवर्ड, पासकी, और अन्य जानकारी अब से यहां सेव होगी. ऐसा हो सकता है कि &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; आपके डिवाइस की स्क्रीन पर मौजूद कॉन्टेंट का इस्तेमाल करे. इससे यह पता लगाया जा सकेगा कि कौनसी जानकारी अपने-आप भरी जा सकती है"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s का इस्तेमाल करना है?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"बंद करें"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"बदलें"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"सिर्फ़ पांच सेवाएं जोड़ी जा सकती हैं"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"दूसरी सेवा जोड़ने के लिए, कम से कम एक सेवा बंद करें"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s आपकी स्क्रीन पर मौजूद जानकारी का इस्तेमाल करता है, ताकि अपने-आप भरने वाली जानकारी तय की जा सके."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"पासवर्ड, पासकी, और डेटा सर्विस चुनने की सीमा"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"जानकारी को ऑटोमैटिक तरीके से भरने के लिए, एक समय पर पांच पासवर्ड, पासकी, और डेटा सर्विस चालू रखी जा सकती हैं. कोई और सेवा जोड़ने के लिए, किसी मौजूदा सेवा को बंद करें."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"पासवर्ड, पासकी, और डेटा की सेवा चुनने के लिए तय सीमा"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"एक समय पर पांच पासवर्ड, पासकी, और डेटा की सेवाएं चालू रखी जा सकती हैं. कोई और सेवा जोड़ने के लिए, किसी मौजूदा सेवा को बंद करें."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"बंद करें"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ऑटोमैटिक भरने की सुविधा"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"लॉग की गई जानकारी का लेवल"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ऐप्लिकेशन के साथ काम करने के लिए किए जाने वाले बदलाव, सिर्फ़ डीबग करने लायक ऐप्लिकेशन में किए जा सकते हैं. डीबग करने लायक किसी ऐप्लिकेशन को इंस्टॉल करें और फिर से कोशिश करें."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"यह किसी दूसरी सेटिंग पर निर्भर है"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"खाता"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d खाते"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"डिवाइस का नाम"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"सामान्य जानकारी"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"कानूनी नोटिस और नियमों के पालन की जानकारी"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"इस ऐप्लिकेशन को, एनएफ़सी टैग के स्कैन होने पर लॉन्च होने की अनुमति दें.\nअगर आपने यह अनुमति दी है, तो टैग का पता चलने पर यह ऐप्लिकेशन एक विकल्प के तौर पर उपलब्ध होगा."</string>
     <string name="media_output_title" msgid="8283629315159510680">"मीडिया इस पर चलाएं"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> इस पर चलाएं"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ऑडियो इन डिवाइसों पर चलेगा"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"इस डिवाइस पर"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"कॉल के दौरान उपलब्ध नहीं है"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"इसके ज़रिए कॉल का जवाब दें"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"म्यूट"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"इस सेटिंग को चालू करने के लिए, पहले \"पावर बटन को दबाकर रखें\" को पावर मेन्यू में बदलें."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"नेटवर्क के बारे में जानकारी"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"फ़ोन पर मौजूद ऐप्लिकेशन, आपके डिवाइस का नाम ऐक्सेस कर सकते हैं. ब्लूटूथ डिवाइस जोड़ते समय, वाई-फ़ाई नेटवर्क से कनेक्ट करते समय या वाई-फ़ाई हॉटस्पॉट सेट अप करते समय भी दूसरे लोग आपके डिवाइस का नाम देख सकते हैं."</string>
     <string name="devices_title" msgid="649715719278562515">"डिवाइस"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"नेटवर्क चुनें"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"डिसकनेक्ट किया गया"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"नाम"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"रंग (ऐप्लिकेशन पर काम करने वाला)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"सेव करें"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"सिम का इस्तेमाल करें"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"यह सिम इस्तेमाल करें"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"बंद"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"इस सिम को बंद करने के लिए, सिम कार्ड निकालें"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> चालू करने के लिए टैप करें"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"सिम मिटाएं"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"इस सिम को बंद करने के लिए, सिम कार्ड निकालें"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> के सिम को चालू करने के लिए टैप करें"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ई-सिम हमेशा के लिए मिटाएं"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"पसंदीदा नेटवर्क टाइप"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"नेटवर्क संचालन मोड बदलें"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"पसंदीदा नेटवर्क टाइप"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"कीमतों की जानकारी के लिए आपको नेटवर्क सेवा देने वाली कंपनी से संपर्क करें."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ऐप्लिकेशन का डेटा खर्च"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"गलत नेटवर्क मोड <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. अनदेखा करें."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"सैटलाइट के ज़रिए मैसेज भेजने की सुविधा"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"सैटलाइट के ज़रिए मैसेज भेजें और पाएं. यह सुविधा, आपके खाते के लिए उपलब्ध नहीं है."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"सैटलाइट के ज़रिए मैसेज भेजें और पाएं. यह सुविधा, आपके खाते के लिए उपलब्ध नहीं है."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"सैटलाइट के ज़रिए मैसेज भेजने की सुविधा"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"सैटलाइट के ज़रिए मैसेज भेजने की सुविधा के बारे में जानकारी"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"अगर आपके पास <xliff:g id="CARRIER_NAME">%1$s</xliff:g> खाता है, तो आपके लिए सैटलाइट के ज़रिए मैसेज भेजने और पाने की सुविधा उपलब्ध है"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"आपका <xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्लान"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"आपके खाते के प्लान में सैटलाइट के ज़रिए मैसेज भेजने की सुविधा शामिल है"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"आपके खाते के प्लान में सैटलाइट के ज़रिए मैसेज भेजने की सुविधा शामिल नहीं है"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"सैटलाइट के ज़रिए मैसेज भेजने की सुविधा जोड़ें"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"यह सुविधा कैसे काम करती है"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"मोबाइल नेटवर्क न होने पर"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"आपका फ़ोन, सैटलाइट से अपने-आप कनेक्ट हो जाएगा. अच्छे कनेक्शन के लिए, यह ज़रूरी है कि आप किसी खुली जगह में हों और आसमान साफ़ हो."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"फ़ोन के सैटलाइट के साथ कनेक्ट होने पर"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"इस सुविधा के ज़रिए किसी को भी मैसेज किया जा सकता है. इसमें आपातकालीन सेवाएं भी शामिल हैं. मोबाइल नेटवर्क के उपलब्ध होने पर, आपका फ़ोन फिर से कनेक्ट हो जाएगा."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"सैटलाइट के ज़रिए मैसेज भेजने या पाने में ज़्यादा समय लग सकता है. यह सुविधा, कुछ ही जगहों पर इस्तेमाल की जा सकती है. मौसम और ऊंची इमारतों, पहाड़ों वगैरह की वजह से, आपके सैटलाइट कनेक्शन पर असर पड़ सकता है. सैटलाइट के ज़रिए कॉल करने की सुविधा उपलब्ध नहीं है.\n\nआपके खाते में हुए बदलावों को सेटिंग में दिखने में थोड़ा समय लग सकता है. इस बारे में जानकारी के लिए, <xliff:g id="CARRIER_NAME">%1$s</xliff:g> से संपर्क करें."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"सैटलाइट के ज़रिए मैसेज भेजने की सुविधा के बारे में ज़्यादा जानकारी"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ऐक्सेस पॉइंट नेम"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"एपीएन"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> से कनेक्ट होने पर उपलब्ध नहीं है"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"क्या आपको <xliff:g id="CARRIER_NAME">%1$s</xliff:g> पर स्विच करना है?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"क्या आपको सिम कार्ड पर स्विच करना है?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> का इस्तेमाल करना है?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"एक समय में सिर्फ़ एक सिम चालू हो सकता है.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> पर स्विच करने से आपके <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"एक समय में एक ही ई-सिम चालू किया जा सकता है.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> पर स्विच करने से, आपको मिल रही <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"एक समय में सिर्फ़ एक सिम चालू हो सकता है.\n\nस्विच करने से, आपको मिल रही <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"एक बार में सिर्फ़ एक सिम चालू किया जा सकता है.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> पर स्विच करने से, आपको मिल रही <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"एक बार में सिर्फ़ एक ई-सिम चालू किया जा सकता है.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> पर स्विच करने से, आपको मिल रही <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"एक बार में सिर्फ़ एक सिम चालू किया जा सकता है.\n\nस्विच करने से, आपको मिल रही <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"एक समय पर दो सिम इस्तेमाल किए जा सकते हैं. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> को इस्तेमाल करने के लिए, दूसरी सिम को बंद करें."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> पर स्विच करें"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> को बंद करें"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"सिम को बंद करने से आपकी सेवाएं बंद नहीं होंगी"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"नेटवर्क से कनेक्ट किया जा रहा है…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"कॉल और मैसेज की सुविधा के लिए, <xliff:g id="CARRIER_NAME">%1$s</xliff:g> पर स्विच किया जा रहा है…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी को बदला नहीं जा सकता"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"किसी गड़बड़ी की वजह से, मोबाइल और इंटरनेट सेवा देने वाली कंपनी को बदला नहीं जा सकता."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"सिम चालू किया जा रहा है…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> पर स्विच किया जा रहा है…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"सिम को स्विच नहीं किया जा सका"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"कोई गड़बड़ी हुई. इसकी वजह से, सिम को स्विच नहीं किया जा सका."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"क्या आपको <xliff:g id="CARRIER_NAME">%1$s</xliff:g> बंद करना है?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"क्या आप सिम बंद करना चाहते हैं?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"सिम बंद किया जा रहा है<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क बंद नहीं किया जा सकता"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"कोई गड़बड़ी हुई, जिसकी वजह से आपकी मोबाइल और इंटरनेट सेवा देने वाली कंपनी का नेटवर्क बंद नहीं किया जा सका."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"सिम बंद नहीं किया जा सका"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"कोई गड़बड़ी हुई है, जिसकी वजह से आपका सिम बंद नहीं किया जा सका."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"क्या आपको दो सिम इस्तेमाल करने हैं?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"इस डिवाइस में एक साथ दाे सिम चालू रह सकते हैं. अगर आपको एक बार में एक सिम इस्तेमाल करना है, तो \"रहने दें\" पर टैप करें."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"क्या आप डिवाइस को रीस्टार्ट करना चाहते हैं?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"रहने दें"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"रद्द करें"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"स्‍विच करें"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"बंद करें"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"सिम चालू नहीं किया जा सका"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"सिम दोबारा चालू करने की कोशिश करें. अगर तब भी समस्या ठीक नहीं होती, तो डिवाइस को रीस्टार्ट करें."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"अपना सिम सेट अप करें"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"इस डिवाइस पर एक से ज़्यादा सिम इस्तेमाल करने के लिए, अपने मोबाइल नेटवर्क की प्राथमिकताएं सेट करें"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"अपने सिम लेबल करें"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"आपको ये लेबल, कॉल करते समय, मैसेज भेजते समय, और डेटा का इस्तेमाल करते समय दिखेंगे. ये लेबल, सेटिंग में भी मौजूद हैं"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"सिम का लेबल"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"लेबल"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"इस्तेमाल करने के लिए सिम चुनें"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"एक समय पर दो सिम इस्तेमाल किए जा सकते हैं"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"अपने मुख्य सिम सेट करें"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"वह सिम चुनें जिसका इस्तेमाल डिफ़ॉल्ट रूप से, कॉल, मैसेज, और डेटा के लिए किया जाएगा"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"आपके मुख्य सिम"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"कॉल"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"मैसेज"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"अपने-आप डेटा स्विच होना"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"नेटवर्क कवरेज या उसकी उपलब्धता के आधार पर डेटा का इस्तेमाल करें"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"सिर्फ़ डेटा"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"सेट अप करें"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"अगले पेज पर जाएं"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> को चालू किया जा रहा है…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"मोबाइल नेटवर्क"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"फ़ोन नंबर"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"सिम का लेबल और रंग"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"नेटवर्क चालू करना"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"मोबाइल और इंटरनेट सेवा देने वाली कंपनी बदली जा रही है"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> चालू है"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"आपका <xliff:g id="CARRIER_NAME">%1$s</xliff:g> का सिम चालू है"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"सिम की सेटिंग अपडेट करने के लिए टैप करें"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"अब <xliff:g id="CARRIER_NAME">%1$s</xliff:g> का इस्तेमाल किया जा रहा है"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"मोबाइल और इंटरनेट सेवा देने वाली किसी दूसरी कंपनी का इस्तेमाल किया जा रहा है"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"आपका मोबाइल नेटवर्क बदल गया है"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"अपना दूसरा सिम सेट अप करें"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"चालू किया गया सिम चुनें या दोनों सिम साथ में इस्तेमाल करें"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"इस्तेमाल करने के लिए कोई नंबर चुनें"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{इस डिवाइस पर 1 नंबर मौजूद है, लेकिन एक बार में सिर्फ़ एक ही नंबर का इस्तेमाल किया जा सकता है}=2{इस डिवाइस पर 2 नंबर मौजूद हैं, लेकिन एक बार में सिर्फ़ एक ही नंबर का इस्तेमाल किया जा सकता है}one{इस डिवाइस पर # नंबर मौजूद है, लेकिन एक बार में सिर्फ़ एक ही नंबर का इस्तेमाल किया जा सकता है}other{इस डिवाइस पर # नंबर मौजूद हैं, लेकिन एक बार में सिर्फ़ एक ही नंबर का इस्तेमाल किया जा सकता है}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"चालू की जा रही है<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"फ़िलहाल चालू नहीं की जा सकी"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"इस्तेमाल करने के लिए कोई एक सिम चुनें"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{इस डिवाइस में 1 सिम मौजूद है, लेकिन एक बार में सिर्फ़ एक ही सिम का इस्तेमाल किया जा सकता है}=2{इस डिवाइस में 2 सिम मौजूद हैं, लेकिन एक बार में सिर्फ़ एक ही सिम का इस्तेमाल किया जा सकता है}one{इस डिवाइस में # सिम मौजूद है, लेकिन एक बार में सिर्फ़ एक ही सिम का इस्तेमाल किया जा सकता है}other{इस डिवाइस में # सिम मौजूद हैं, लेकिन एक बार में सिर्फ़ एक ही सिम का इस्तेमाल किया जा सकता है}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> को चालू किया जा रहा है"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"फ़िलहाल, इस सिम को चालू नहीं किया जा सकता"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> का इस्तेमाल करना चाहते हैं?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"मोबाइल डेटा, कॉल, और मैसेज (एसएमएस) के लिए <xliff:g id="CARRIER_NAME">%1$s</xliff:g> इस्तेमाल किया जाएगा."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"चालू किया गया कोई सिम उपलब्ध नहीं है"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"मोबाइल डेटा, कॉल से जुड़ी सुविधाएं, और मैसेज (एसएमएस) को बाद में इस्तेमाल करने के लिए, अपने नेटवर्क की सेटिंग पर जाएं"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"सिम"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"क्या आपको यह ई-सिम मिटाना है?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"इस सिम को मिटाने से, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> की सेवा इस डिवाइस से हट जाती है.\n\nहालांकि, <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> की सेवा रद्द नहीं की जाएगी."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ऐसा करने से, इस डिवाइस से <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> की सेवा खत्म हो जाएगी. हालांकि, <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> का प्लान चालू रहेगा."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"मिटाएं"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"सिम को हमेशा के लिए मिटाया जा रहा है…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"सिम हमेशा के लिए नहीं मिटाया जा सका"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"किसी गड़बड़ी की वजह से, इस सिम को हमेशा के लिए नहीं मिटाया जा सका.\n\nडिवाइस को रीस्टार्ट करें और फिर से कोशिश करें."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ई-सिम हमेशा के लिए मिटाया जा रहा है…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ई-सिम नहीं मिटाया जा सका"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"कोई गड़बड़ी हुई है. इसकी वजह से, इस ई-सिम को नहीं मिटाया जा सका.\n\nअपने डिवाइस को रीस्टार्ट करके फिर से कोशिश करें."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"डिवाइस से कनेक्ट करें"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"आपके डिवाइस से कनेक्ट होने के लिए, <xliff:g id="APPNAME">%1$s</xliff:g> ऐप्लिकेशन को किसी वाई-फ़ाई नेटवर्क से कुछ समय के लिए जुड़ना होगा"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"कोई डिवाइस नहीं मिला देख लें कि डिवाइस चालू हों और कनेक्ट किए जा सकते हों."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"मुसीबत के समय कॉल"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"आपकी मोबाइल और इंटरनेट सेवा देने वाली कंपनी, \'वाई-फ़ाई कॉलिंग\' के ज़रिए आपातकालीन कॉल करने की सुविधा नहीं देती है.\n आपातकालीन कॉल करने के लिए डिवाइस अपने आप माेबाइल नेटवर्क पर स्विच करता है.\n आपातकालीन कॉल सिर्फ़ उन्हीं इलाकाें में किया जा सकता है जहां नेटवर्क कवरेज हाे."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"कॉल की क्वालिटी सुधारने के लिए वाई-फ़ाई का इस्तेमाल करें"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"बैक अप कॉलिंग"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"अगर <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> उपलब्ध नहीं है या रोमिंग में है, तो <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> से कॉल करने के लिए, मोबाइल डेटा वाले सिम का इस्तेमाल करें."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"दूसरे सिम से कॉल करना"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"आने वाले मल्टीमीडिया मैसेज (एमएमएस)"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"मल्टीमीडिया मैसेज (एमएमएस) नहीं भेज सकते"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"मोबाइल डेटा बंद होने पर <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> से मल्टीमीडिया मैसेज (एमएमएस) की सुविधा चालू करने के लिए टैप करें"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"आपके काम से जुड़ी नीति की जानकारी"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"वे सेटिंग जिन्हें आपका आईटी एडमिन मैनेज करता है"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16 केबी वाले पेज साइज़ से चालू करें"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16 केबी पेज साइज़ वाले कर्नेल के ज़रिए चालू करें"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16 केबी वाले पेजों के साथ काम करने वाले कर्नेल के ज़रिए चालू करना है?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"चेतावनी: ऐसा हो सकता है कि इस मोड के साथ कुछ ऐप्लिकेशन काम न करें. पुष्टि होने के बाद, डिवाइस फिर चालू हो जाएगा."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 केबी वाले पेजों के साथ काम करने वाले कर्नेल के ज़रिए चालू करना है?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"पुष्टि होने के बाद, डिवाइस फिर चालू हो जाएगा."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"कर्नेल को 16 केबी पेज साइज़ के साथ काम करने वाले कर्नेल में अपडेट नहीं किया जा सका."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"बदलाव लागू किया जा रहा है"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"गड़बड़ी की रिपोर्ट हैंडल करने वाला"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"तय करें कि आपके डिवाइस पर कौनसा ऐप्लिकेशन गड़बड़ी की रिपोर्ट के शॉर्टकट का इस्तेमाल करता है."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"निजी"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"सेटिंग ऐप स्क्रीन पर उन ऐप्लिकेशन को ओवरले करने की अनुमति दें जो दूसरे ऐप्लिकेशन के ऊपर दिख सकते हैं"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"मॉक मॉडम की सेवा का इस्तेमाल करने की अनुमति दें"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"इंस्ट्रुमेंटेशन टेस्ट के लिए, इस डिवाइस पर मॉक मॉडम सेवा का इस्तेमाल करने की अनुमति दें. फ़ोन के सामान्य इस्तेमाल के दौरान, इस सेवा को चालू न करें"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"स्क्रीन शेयर करने की सुरक्षा सुविधाएं बंद करें"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"स्क्रीन शेयर करते समय ऐप्लिकेशन और सूचनाओं के लिए सिस्टम में लागू की गई सुरक्षा सुविधाएं बंद करें"</string>
     <string name="media_controls_title" msgid="403271085636252597">"मीडिया"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"मीडिया प्लेयर को पिन करें"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"मीडिया प्लेयर \'फटाफट सेटिंग\' में खुला रहता है, ताकि आप मीडिया को तुरंत वहीं से शुरू कर सकें जहां आपने इसे छोड़ा था"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"लॉक स्क्रीन पर मीडिया दिखाएं"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"मीडिया प्लेयर, लॉक स्क्रीन पर खुला रहता है, ताकि मीडिया को तुरंत वहीं से शुरू किया जा सके जहां आपने इसे छोड़ा था"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"मीडिया से जुड़े सुझाव दिखाएं"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant की मदद से मीडिया के सुझाव दिखाएं"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"आपकी गतिविधि के हिसाब से"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"मीडिया प्लेयर को छिपाएं"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"मीडिया प्लेयर दिखाएं"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"मीडिया"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"कैमरा सॉफ़्टवेयर एक्सटेंशन को अनुमति दें"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"इससे ऐडवांस कैमरे की सुविधाओं के लिए डिफ़ॉल्ट सॉफ़्टवेयर को लागू करने की प्रोसेस चालू होती है. जैसे, आई फ़्री वीडियोग्राफ़ी."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ब्लूटूथ चालू हो जाएगा"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"इंटरनेट"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"सिम"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"सिम"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ई-सिम"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ई-सिम"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"चालू है"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"बंद है"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"चालू है"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"बंद है"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> के लिए डिफ़ॉल्ट कॉन्फ़िगरेशन"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"कॉल"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"मैसेज (एसएमएस)"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"डिवाइस के साथ काम करने वाले मीडिया पर, ऑडियो का आनंद बेहतर तरीके से लिया जा सकता है"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"सिर के हिलने को ट्रैक करें"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"जब आपका सिर उस तरफ़ घूमता है जहां से आवाज़ आ रही है, तब ऑडियो की आवाज़ ज़्यादा बेहतर सुनाई देती है"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"सिंक करने की अनुमतियां"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"अपनी <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> के लिए वही ऐप्लिकेशन अनुमतियां दें जो आपने <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> पर दी हैं"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"फ़ोन से अनुमतियों को सिंक करें"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"अपनी स्मार्टवॉच के लिए वही ऐप्लिकेशन अनुमतियां दें जो आपने इस फ़ोन पर दी हैं"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ऑडियो डिवाइस का टाइप"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"कोई जानकारी नहीं है"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"स्पीकर"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"सामान्य"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ज़्यादा"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"इस ऐप्लिकेशन को सिर्फ़ एक विंडो में खोला जा सकता है"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"चालू है"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"बंद है"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"बंद है"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"बंद है"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"चालू है"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"बंद है"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"चालू है"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"बंद है"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"इससे हल्के रंग की स्क्रीन गहरे रंग में और गहरे रंग की स्क्रीन हल्के रंग में बदल जाती है"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"स्क्रीन पर ज़ूम इन करें"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"बंद है"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"बंद है"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ऐप्लिकेशन में धोखाधड़ी वाले व्यवहार का पता लगाने के लिए, स्कैनिंग की जा रही है"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"फ़िशिंग का पता लगाने के लिए, ऐप्लिकेशन में की गई गतिविधि की जांच करें"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"स्कैनिंग सुविधा से धोखाधड़ी वाले ऐप्लिकेशन का पता लगाएं"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"स्कैनिंग सुविधा से, वर्क प्रोफ़ाइल में मौजूद धोखाधड़ी वाले ऐप्लिकेशन का पता लगाएं"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"अब पासवर्ड सेट अप हो गया"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"कर्सर घुमाते समय पॉइंटर दिखाएं"</string>
 </resources>
diff --git a/res/values-hr/arrays.xml b/res/values-hr/arrays.xml
index b3545d5..426408a 100644
--- a/res/values-hr/arrays.xml
+++ b/res/values-hr/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Dostupan"</item>
     <item msgid="6096962300722555553">"Izvan dometa"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Koristi zadane postavke sustava: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Nakon 1 minute"</item>
     <item msgid="1574040255478150028">"Nakon 5 minuta"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-hr/strings.xml b/res/values-hr/strings.xml
index cd0954f..70ade4b 100644
--- a/res/values-hr/strings.xml
+++ b/res/values-hr/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Sad ste razvojni programer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nema potrebe, već ste razvojni programer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najprije omogućite opcije za razvojne programere."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Samo korisnici s administratorskim pravima mogu pristupiti postavkama razvojnog programera."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sustav"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Upotrebljava se"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne radi"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Prednji se zaslon uključuje kad preklopite uređaj"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Samo igre, videozapisi i drugo"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Prednji zaslon uključuje se za aplikacije koje sprječavaju mirovanje zaslona"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Prelazak prstom prema gore za nastavak"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Sklopite telefon i prijeđite prstom prema gore na prednjem zaslonu da biste nastavili upotrebljavati aplikaciju ili pričekajte nekoliko sekundi da se zaslon zaključa"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nikad"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Prednji se zaslon zaključava kad preklopite uređaj"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Koristi automatsko zakretanje"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Povezano"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Melodija zvona i alarmi"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zvuk tijekom poziva"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Mediji"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Obavijesti i drugi zvukovi sustava"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Zvukovi medija i sustava"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Obavijesti"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Prema zadanim postavkama audioizlaz se određuje na temelju pojedinačnih aplikacija"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Neimenovani Bluetooth uređaj"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Pretraživanje"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Odustani"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Onemogući Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Onemogućuje značajku Bluetooth LE audio ako uređaj podržava mogućnosti za LE audio hardvera."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Način Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Prikaži prekidač LE Audio u pojedinostima o uređaju"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Omogući popis dopuštenih za Bluetooth LE audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Omogućuje značajku popisa dopuštenih za Bluetooth LE audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Zaobilaženje popisa dopuštenih za Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Upotrebljavajte LE Audio prema zadanim postavkama čak i ako nije potvrđeno da LE Audio periferni uređaj ispunjava kriterije za popis dopuštenih."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medijski uređaji"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Uređaji za pozive"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Ostali uređaji"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Spremljeni uređaji"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Povezano s računom"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Prethodno korišteno s računom"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth će se uključiti radi uparivanja"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Postavke povezivanja"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Prethodno povezano"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je uključen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Prikaži sve"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Pogledajte sve"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisaljka"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritisak na stražnji gumb"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (poslovni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisanje u tekstualnim poljima"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Zanemari sve pritiske pisaljke na gumb"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisaljka"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Dijeljenje audiozapisa"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Podijeli audiozapis"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Pozivi i alarmi"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Povežite se s audiostreamom pomoću QR koda"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nema nađenih audiostreamova u blizini."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum i vrijeme"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Očisti"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Da biste odabrali jezik za svaku aplikaciju, otvorite 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">"Želite li jezik sustava promijeniti na %s?"</string>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Želite li dodati %s u preferirane jezike?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Time aplikacije i web-lokacije obavještavate da preferirate taj jezik."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Promijenit će se postavke uređaja i regionalne preferencije."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Promijeni"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nije dostupan"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Subota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ako aplikacija ne podržava regionalne preferencije, aplikacija će upotrebljavati zadane postavke države/jezika."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Saznajte više o postavkama jezika."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Dodatne preferencije"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Željeni rod obraćanja"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Postavite rod u kojem želite da vam se obraća"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Kako bi pristup bio personalizira, aplikacije vam se mogu obraćati u rodu koji odaberete."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nije specificirano"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Ženski rod"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Muški rod"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutralno"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Želite li ukloniti odabran jezik?}one{Želite li ukloniti odabran jezik?}few{Želite li ukloniti odabrana jezika?}other{Želite li ukloniti odabranih jezika?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekst će se prikazivati na nekom drugom jeziku."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Ne možete ukloniti sve jezike"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokacija"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Koristi lokaciju"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Isključeno"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_location_off" msgid="8568995909147566720">"Pristup lokaciji isključen je za aplikacije i usluge. Lokacija vašeg uređaja i dalje se može slati 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="5329024810729665156">"Saznajte više o postavkama lokacije."</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="3574930966097093550">"Za izmjenu idite na Postavke &gt; Sigurnost i privatnost &gt; Kontrole privatnosti"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Računi"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sigurnost"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifriranje i vjerodajnice"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Za najbolje rezultate koristite zaštitu zaslona s certifikatom Made for Google. Otisak prsta vašeg djeteta možda neće funkcionirati s drugim zaštitama zaslona."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Otključavanje satom"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Kad postavite otključavanje licem i otključavanje otiskom prsta, telefon će tražiti vaš otisak prsta kad nosite masku ili se nalazite u tamnom prostoru.\n\nMožete otključati pomoću sata kada se vaše lice ili otisak prsta ne prepoznaju."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Možete otključati pomoću sata kada se vaš otisak prsta ne prepozna."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Možete otključati pomoću sata kada se vaše lice ili otisak prsta ne prepoznaju."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Kad postavite otključavanje licem i otključavanje otiskom prsta, telefon će tražiti vaš otisak prsta kad nosite masku ili se nalazite u tamnom prostoru.\n\nOtključavanje satom još je jedan praktičan način otključavanja telefona, primjerice kada su vam prsti mokri ili se vaše lice ne prepozna."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Otključavanje satom još je jedan praktičan način otključavanja telefona, primjerice kada se vaš otisak prsta ne prepozna."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Otključavanje satom još je jedan praktičan način otključavanja telefona, primjerice kada se vaše lice ne prepozna."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Otiskom prsta ili satom"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Licem ili satom"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Licem, otiskom prsta ili satom"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Otključavanje satom još je jedan praktičan način otključavanja ovog telefona, primjerice kad su vam prsti mokri ili kad uređaj ne prepoznaje vaše lice.\n\nSat možete upotrijebiti za otključavanje telefona u sljedećim situacijama:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ne sad"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Nastavi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Više"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Način rada"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Sat mora biti otključan, na vašoj ruci i unutar dometa ovog telefona. Nećete trebati ponovo otključavati sat dok vam je na ruci."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kad se ovaj telefon otključa, dobit ćete obavijest na satu. Ako se otključa kad to ne želite, dodirnite obavijest da biste ponovno zaključali telefon."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Kontrola je u vašim rukama"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Sat možete ukloniti iz značajke otključavanja satom kad god želite u postavkama"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Dodirnite obavijest"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Prijeđite prstom prema gore na zaključanom zaslonu"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Odaberite svoj sat"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Dostupni satovi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Odustani"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potvrdi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Spremni ste!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Pomoću sata sada možete otključati ovaj telefon kad prijeđete prstom prema gore po zaključanom zaslonu ili kad dodirnete obavijest"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Gotovo"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Otključavanje satom"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Pomoću sata možete otključati ovaj telefon kad prijeđete prstom prema gore po zaključanom zaslonu ili kad dodirnete obavijest"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Da biste upotrebljavali otključavanje satom, vaš sat mora biti otključan, na vašoj ruci, unutar dometa i povezan s ovim telefonom. Ako je veza prekinuta, morat ćete otključati telefon da biste mogli upotrebljavati otključavanje satom.\n\nImajte na umu:\nne možete imati nekoliko povezanih satova istovremeno. Da biste dodali neki drugi sat, najprije uklonite trenutačni."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sigurnost"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privatnost"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Poslovni profil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privatni prostor"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Neka privatne aplikacije ostanu zaključane i skrivene"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Držite privatne aplikacije u zasebnom prostoru koji možete sakriti ili zaključati"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Zaključavanje privatnog prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Privatni prostor možete otključati na isti način kao što otključavate uređaj ili možete odabrati drugi način zaključavanja"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Upotreba zaključavanja zaslona uređaja"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Otključavanje licem i otiskom prsta"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Otključavanje otiskom prsta"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Otključavanje licem"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dodirnite za postavljanje"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Otključavanje otiskom prsta za privatni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Otključavanje licem za privatni prostor"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Načini otključavanja"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Isto kao i zaključavanje zaslona na uređaju"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Odabrati novo zaključavanje za privatni prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automatsko zaključavanje privatnog prostora"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Možete automatski zaključati svoj privatni prostor ako niste koristili uređaj neko vrijeme"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Svaki put kad se uređaj zaključa"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Nakon pet minuta neaktivnosti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nikad"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Sakrij kada je zaključano"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Sakrivanje privatnog prostora kad je zaključan"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Da biste drugim korisnicima onemogućili da znaju da imate privatni prostor na ovom uređaju, možete ga sakriti s popisa aplikacija"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Pristup privatnom prostoru kad je sakriven"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"U traku za pretraživanje na popisu aplikacija unesite \"privatni prostor\""</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Dodirnite pločicu privatnog prostora"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Otključajte privatni prostor"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Isključeno"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Uključeno"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sustav"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Brisanje privatnog prostora"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Želite li izbrisati privatni prostor?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Vaš će se privatni prostor ukloniti s vašeg uređaja. Izbrisat će se sve privatne aplikacije i podaci. Ta se radnja ne može poništiti."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Sljedeći će se računi ukloniti iz vašeg privatnog prostora:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Izbriši"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Brisanje privatnog prostora…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Potrajat će nekoliko trenutaka"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privatni prostor je izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Privatni prostor nije moguće izbrisati"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privatni prostor je otključan"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Postavi zaključavanje zaslona"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Za upotrebu privatnog prostora postavite zaključavanje zaslona na ovom uređaju"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Postavi zaključavanje zaslona"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Odustani"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Odustani"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Postavi"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Postavljanje privatnog prostora"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Držite privatne aplikacije u zasebnom prostoru koji možete sakriti ili zaključati"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Kako to funkcionira"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Privatnom prostoru možete pristupiti s dna popisa aplikacija"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikacije u privatnom prostoru zaštićene su zaključavanjem"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Obavijesti aplikacija u privatnom prostoru sakrivene su kada je on zaključan"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikacije u vašem privatnom prostoru neće se prikazati u Upravitelju dopuštenja, na nadzornoj ploči za privatnost i u drugim postavkama kada je privatni prostor zaključan.\n\nVaš se privatni prostor ne može premjestiti na novi uređaj. Trebat ćete postaviti drugi privatni prostor ako ga želite koristiti na drugom uređaju.\n\nSvatko tko poveže vaš uređaj s računalom ili instalira štetne aplikacije na vaš uređaj moći će pristupiti vašem privatnom prostoru."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"U tijeku je postavljanje privatnog prostora…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Obavijesti aplikacija u privatnom prostoru sakrivene su kada je on zaključan"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Otključajte privatni prostor da biste dijelili fotografije ili datoteke"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Neke su aplikacije već instalirane u vašem privatnom prostoru"</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_lockscreen_title" msgid="6034864097861137509">"Koristiti zaključavanje zaslona za otključavanje?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Privatni prostor možete otključati na isti način kao što otključavate uređaj ili možete odabrati drugi način zaključavanja"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Koristi zaključavanje zaslona"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Odaberite novi način otključavanja"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Sve je spremno!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Da biste pristupili privatnom prostoru, otvorite popis aplikacija, a zatim se pomaknite prema dolje"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Gotovo"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Pomaknite se prema dolje da biste pronašli privatni prostor"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Prijava"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Prijavite se na račun koji će se koristiti uz vaš privatni prostor"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ne sad"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Nastavi"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Odaberite zaključavanje za svoj privatni prostor"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Privatni prostor možete otključati otiskom prsta. Iz sigurnosnih razloga ta opcija zahtijeva dodatno zaključavanje."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Postavljanje PIN-a za privatni prostor"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Postavljanje zaporke za privatni prostor"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Postavljanje uzorka za privatni prostor"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Maksimalni broj otisaka prstiju koji možete dodati: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste maksimalan broj otisaka prstiju"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nije moguće dodati više otisaka prstiju"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Uzorak"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Zaporka"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Želite li izbrisati zaključavanje zaslona?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Želite li ukloniti sve vrste otključavanja uređaja?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Želite li ukloniti zaštitu profila?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Uzorak štiti vaš telefon ako ga izgubite ili ga netko ukrade"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Uzorak štiti vaš telefon ako ga izgubite ili ga netko ukrade.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Time se briše model otiska prsta pohranjen na vašem uređaju. I vaš model lica izbrisat će se trajno i sigurno. Nećete se moći autentificirati licem ni otiskom prsta u aplikacijama."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN štiti vaš telefon ako ga izgubite ili ga netko ukrade"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Izgubit ćete spremljene podatke, primjerice svoj PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje su postavljene za opciju beskontaktnog plaćanja uklonit će se.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtijevaju otključavanje uređaja možda neće pravilno funkcionirati."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN štiti vaš telefon ako ga izgubite ili ga netko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Time se također briše model otiska prsta pohranjen na vašem uređaju. Nećete se moći autentificirati otiskom prsta u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Izgubit ćete spremljene podatke, primjerice svoj PIN i model otiska prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje su postavljene za opciju beskontaktnog plaćanja uklonit će se.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtijevaju otključavanje uređaja možda neće pravilno funkcionirati."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN štiti vaš telefon ako ga izgubite ili ga netko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>I vaš model lica izbrisat će se trajno i sigurno. Nećete se moći autentificirati licem u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Izgubit ćete spremljene podatke, primjerice svoj PIN i model lica.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje su postavljene za opciju beskontaktnog plaćanja uklonit će se.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtijevaju otključavanje uređaja možda neće pravilno funkcionirati."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN štiti vaš telefon ako ga izgubite ili ga netko ukrade.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Time se briše model otiska prsta pohranjen na vašem uređaju. I vaš model lica izbrisat će se trajno i sigurno. Nećete se moći autentificirati licem ni otiskom prsta u aplikacijama."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Izgubit ćete spremljene podatke, primjerice svoj PIN i modele lica i otiska prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice koje su postavljene za opciju beskontaktnog plaćanja uklonit će se.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Novčanici i druge aplikacije koje zahtijevaju otključavanje uređaja možda neće pravilno funkcionirati."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Zaporka štiti vaš telefon ako ga izgubite ili ga netko ukrade"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Zaporka štiti vaš telefon ako ga izgubite ili ga netko ukrade.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Upariti s uređajem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Dodajte novog člana postojećem koordiniranom skupu"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potvrdite da biste dodali drugi dio audiouređaja"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kôd za uparivanje putem Bluetootha"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Unesite kôd za uparivanje pa pritisnite Return ili Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN sadrži slova ili simbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Mora imati 16 znamenki"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Možda biste također trebali unijeti ovaj PIN i na drugi uređaj."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Možda ćete ovaj pristupni kôd trebati unijeti i na drugi uređaj."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potvrdite za uparivanje s koordiniranim skupom"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potvrdite da biste uparili s audiouređajem"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Dopuštam pristup kontaktima i povijesti poziva"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Dopusti i pristup kontaktima i povijesti poziva"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Podaci će se koristiti za najave poziva i drugo"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nije moguće povezati se na <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dostupni uređaji"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Poveži"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Isključi"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Upari i poveži"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kada je Bluetooth uključen, vaš uređaj može komunicirati s drugim Bluetooth uređajima u blizini."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kad je Bluetooth uključen, uređaj može komunicirati s drugim uređajima u blizini"</string>
     <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_scan_change" msgid="1744636222637390367">"Promijenite"</string>
     <string name="device_details_title" msgid="1155622417516195481">"O uređaju"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Dopušta ART-u da potvrdi bajtni kôd za aplikacije iz kojih se mogu uklanjati pogreške"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Prikaži učestalost osvježavanja"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikazuje trenutačnu učestalost osvježavanja"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaz omjera HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikaz trenutačnog omjera HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtijevaj otključavanje uređaja za NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"U načinu rada u zrakoplovu"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Obavijesti me o javnim mrežama"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Obavještava vas kada je dostupna javna mreža visoke kvalitete"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Dopusti WEP mreže"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP je stariji sigurnosni protokol koji je manje siguran"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Vaš mobilni operater ne dopušta WEP mreže jer su manje sigurne"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Automatski uključi Wi-Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi će se automatski ponovo uključiti u blizini spremljenih mreža visoke kvalitete, poput vaše kućne mreže"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nije dostupno jer je lokacija isključena. Uključite "<annotation id="link">"lokaciju"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Traženje Wi‑Fija omogućuje aplikacijama i uslugama da bilo kada traže Wi‑Fi mreže, čak i kada je Wi‑Fi isključen. Tako se primjerice mogu poboljšati značajke i usluge koje se temelje na lokaciji."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Uključi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Uključeno je traženje Wi‑Fija"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ova mreža koristi stariji sigurnosni protokol koji je manje siguran"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Mreža <xliff:g id="NAME">%1$s</xliff:g> blokirana"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ova mreža koristi stariji sigurnosni protokol naziva WEP, koji je manje siguran. Da biste se svejedno povezali, možete dopustiti WEP mreže."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Vaš mobilni operater ne dopušta da se povežete s ovom mrežom jer ona koristi stariji sigurnosni protokol koji je manje siguran"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Dopusti WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zatvori"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Napredne opcije"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Padajući popis Napredne opcije"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"proširi"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Ostani na Wi‑Fi-ju"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Nemoj više prikazivati"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Poveži"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi uključen"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Povezano s <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Povezivanje s mrežom <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Povezivanje…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Povezivanje s mrežom nije uspjelo"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Mreža nije u dometu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Zaboravi"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Izmijeni"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Zaboravljanje mreže nije uspjelo"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Spremi"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Spremanje mreže nije uspjelo"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Odustani"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobilni podaci"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – punjenje"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – punjenje"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Veza žarišne točke"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Jačina veze"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Spremljene mreže"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Zaporka nije postavljena"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Naziv žarišne točke"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Zaporka žarišne točke"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Frekvencija pristupne točke"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatski isključi žarišnu točku"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kada nema povezanih uređaja"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Proširi kompatibilnost"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Prikaz balansa bijele boje"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Nastavak upotrebe aplikacija pri sklapanju"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Glatki prikaz"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatski povećava učestalost osvježavanja sa 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Onemogućivanje zadanog broja sličica u sekundi za igre"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Onemogućite ograničavanje maksimalnog broja sličica u sekundi za igre pri <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Glatki prikaz"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatski povećava učestalost osvježavanja do <xliff:g id="ID_1">%1$d</xliff:g> Hz za određeni sadržaj. Povećava potrošnju baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Prisilna maksimalna učestalost osvježavanja"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najviša učestalost osvježavanja za poboljšano reagiranje na dodir i kvalitetu animacije. Povećava potrošnju baterije."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Pozornost na zaslonu"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Značajka Pozornost na zaslonu pomoću prednje kamere otkriva gleda li osoba u zaslon. Funkcionira na uređaju i slike se nikad ne pohranjuju i ne šalju Googleu."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Uključivanje pozornosti na zaslonu"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Zaslon ostaje uključen sve dok ga gledate"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Dugotrajnije automatsko isključivanje zaslona trošit će veću količinu baterije."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Fotoaparat je zaključan"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Fotoaparat mora biti otključan za prepoznavanje lica"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kamera mora biti otključana da bi pozornost na zaslonu funkcionirala"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (utor za SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (utor za SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primarno)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Da biste je vidjeli, odaberite spremljenu mrežu"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL verzija"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Razina baterije"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Zajedničko"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Zajedničke postavke"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Slanje poruka putem satelita"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-ovi"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Uređivanje pristupne točke"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Dodajte pristupnu točku"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nije postavljeno"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nije postavljeno"</string>
     <string name="apn_name" msgid="6677695784108157953">"Naziv"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN omogućen"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN onemogućen"</string>
     <string name="bearer" msgid="3231443241639159358">"Nositelj"</string>
+    <string name="network_type" msgid="748590707422733595">"Vrsta mreže"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Neodređeno"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Vrsta MVNO-a"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Vrijednost MVNO-a"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Izbriši APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Spremi"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Odustani"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplikat unosa pristupne točke."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Polje naziva ne može biti prazno."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ne može biti prazan."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC polje mora imati 3 znamenke."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Polje MNC mora imati 2 ili 3 znamenke."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Mobilni operater ne dopušta dodavanje APN-ova vrste %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC polje mora biti važeće."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Vraćanje zadanih APN postavki"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Vrati na zadano"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Poništavanje zadanih postavki APN-a dovršeno."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Poništi"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i Wi‑Fi su poništeni"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Brisanje eSIM-ova"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Time se neće poništiti ugovori o mobilnim uslugama. Za preuzimanje zamjenskih SIM-ova obratite se mobilnom operateru."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Time se neće otkazati vaš paket mobilnih usluga. Da biste dobili zamjenski SIM, obratite se svojem mobilnom operateru."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Poništi postavke"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Želite li poništiti sve postavke mreže? Ta se radnja ne može poništiti."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Želite li vratiti sve postavke mreže na zadano i izbrisati eSIM-ove? Ta se radnja ne može poništiti."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Poništiti?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Vraćanje mreže na zadano nije dostupno za ovog korisnika"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Postavke mreže vraćene su na zadano."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Brisanje SIM-ova nije uspjelo"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-ovi se ne mogu izbrisati zbog pogreške.\n\nPonovo pokrenite uređaj i pokušajte još jednom."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Brisanje eSIM-ova nije moguće"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Došlo je do pogreške i vaši se eSIM-ovi nisu izbrisali.\n\nPonovno pokrenite uređaj i pokušajte ponovno."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Brisanje svih podataka (vraćanje na tvorničke postavke)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Izbriši sve podatke"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"glazbu"</li>\n<li>"fotografije"</li>\n<li>"ostale korisničke podatke."</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-ove"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Time se neće otkazati vaš ugovor o mobilnoj usluzi."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Izbrisat će se svi vaši osobni podaci i preuzete aplikacije. Ta se radnja ne može poništiti."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Izbrisat će se svi vaši osobni podaci, uključujući preuzete aplikacije i SIM-ove. Ta se radnja ne može poništiti."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Izbrisat će se svi vaši osobni podaci, uključujući preuzete aplikacije i e-SIM-ove. Ta se radnja ne može poništiti."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Želite li izbrisati sve podatke?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Vraćanje na tvorničko stanje nije dostupno za ovog korisnika"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Brisanje"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Žarišna točka, USB, Bluetooth, ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetska veza ne dijeli se s drugim uređajima"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Isključeno"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Modemsko povezivanje"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nemoj koristiti Wi‑Fi žarišnu točku"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Dijeli internet samo putem USB-a"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Dijeli internet samo putem Bluetootha"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Dijeli internet samo ethernetom"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Dijeli internet samo putem USB-a i Bluetootha"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Dijeli internet samo USB-om i Bluetoothom"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Dijeli internet samo Bluetoothom i ethernetom"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Dijeli internet samo USB-om, Bluetoothom i ehernetom"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Dijeljenje veze USB-om"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Dijeljenje veze Bluetoothom"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Dijeljenje veze ethernetom"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Pomoću žarišne točke i modemskog povezivanja drugi se uređaji mogu povezati s internetom putem vašeg Wi-Fija ili podatkovne veze vašeg mobilnog uređaja. Žarišnu točku mogu izraditi i aplikacije radi dijeljenja sadržaja s uređajima u blizini."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pomoć"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilna mreža"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilni paket"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS aplikacija"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Želite li promijeniti aplikaciju za SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Želite li upotrijebiti aplikaciju <xliff:g id="NEW_APP">%1$s</xliff:g> umjesto aplikacije <xliff:g id="CURRENT_APP">%2$s</xliff:g> kao svoju aplikaciju za SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Želite li zamijeniti Wi‑Fi assistanta?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Želite li upotrebljavati aplikaciju <xliff:g id="NEW_APP">%1$s</xliff:g>, a ne <xliff:g id="CURRENT_APP">%2$s</xliff:g>, za upravljanje mrežnim vezama?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Želite li upotrebljavati aplikaciju <xliff:g id="NEW_APP">%s</xliff:g> za upravljanje mrežnim vezama?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nepoznati operater SIM kartice"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nema poznatu web-lokaciju za pružanje niza usluga"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Umetnite SIM karticu i pokrenite ponovo"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Povežite se s internetom"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nedavni zahtjevi za lokaciju"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokacija za poslovni profil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Dopuštenja za pristup lokaciji"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Izbriši pristup"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrole"</string>
     <string name="force_stop" msgid="2681771622136916280">"Prisilno zaustavi"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhiviraj"</string>
+    <string name="restore" msgid="7622486640713967157">"Vrati"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Vraćanje"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Vraćanje."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Vraćanje…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Vraćanje..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Ukupno"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Veličina aplikacije"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB aplikacija za pohranu"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nije moguće izračunati veličinu paketa."</string>
     <string name="version_text" msgid="7628938665256107608">"verzija <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Premjesti"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhiviranje nije uspjelo"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arhivirano: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Vraćanje nije uspjelo"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Vraćanje aplikacije <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"U tijeku je neko drugo premještanje."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nema dovoljno prostora za pohranu."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikacija ne postoji."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Dostupna zaslonska tipkovnica"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Upravljajte tipkovnicama na zaslonu"</string>
     <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">"Upotreba tipkovnice na zaslonu"</string>
     <string name="show_ime_summary" msgid="7293345791727205975">"Zadrži na zaslonu dok je fizička tipkovnica aktivna"</string>
+    <string name="bounce_keys" msgid="7419450970351743904">"Sprečavanje ponovljenih unosa"</string>
+    <string name="bounce_keys_summary" msgid="6922850403920596246">"Omogućite tipke za sprečavanje ponovljenih unosa za pristupačnost fizičke tipkovnice"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Spore tipke"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Omogućite spore tipke za pristupačnost fizičke tipkovnice"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Ljepljive tipke"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Omogućite ljepljive tipke za pristupačnost fizičke tipkovnice"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Za više opcija dodirnite desni donji kut dodirne podloge"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Brzina pokazivača"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Učenje pokreta za dodirnu podlogu"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Na početni zaslon"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Prijeđite trima prstima nagore bilo gdje na dodirnoj podlozi"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Natrag"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Poredaj po vremenu upotrebe"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Poredaj po zadnjoj upotrebi"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Poredaj po nazivu aplikacije"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Posljednja upotreba"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Posljednja upotreba"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nikad"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Vrijeme upotrebe"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Pristupačnost"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Postavke dostupnosti"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Povećavanje trostrukim dodirom"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Povećanje pomoću prečaca"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Povećanje pomoću prečaca i trostrukog dodira"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"O usluzi <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otvaranje pomoću gumba za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Zadržite tipke za glasnoću za otvaranje"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Triput dodirnite zaslon za otvaranje"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Dvaput dodirnite zaslon dvama prstima za otvaranje"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otvaranje pokretom"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Upotreba pokreta za pristupačnost"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Da biste koristili tu značajku, dodirnite gumb za Pristupačnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> pri dnu zaslona.\n\nDa biste prešli na neku drugu značajku, dodirnite i zadržite gumb za Pristupačnost."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Da biste koristili tu značajku, dodirnite gumb za pristupačnost na zaslonu."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Da biste koristili tu značajku, pritisnite i zadržite obje tipke za glasnoću."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Da biste pokrenuli ili zaustavili povećavanje, triput dodirnite bilo gdje na zaslonu."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Da biste pokrenuli i zaustavili povećavanje, dvaput dodirnite dvama prstima bilo gdje na zaslonu."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Da biste koristili tu značajku, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Da biste koristili tu značajku, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Da biste koristili značajku pristupačnosti, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Da biste koristili značajku pristupačnosti, 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_tutorial_dialog_button" msgid="2031773187678948436">"Shvaćam"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Postavke gumba za pristupačnost"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Postavke gumba"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Prečac za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Gumb za pristupačnost"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Pokret za pristupačnost"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Držite tipke za glasnoću"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"držite 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dvaput dodirnite zaslon dvama prstima"</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="6863958573135995927">"triput dodirnite zaslon"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Saznajte više o gumbu i pokretu za pristupačnost"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Upotreba gumba za Pristupačnost. Pokret nije dostupan uz navigaciju pomoću tri gumba."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Brz pristup značajkama pristupačnosti"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Da biste započeli:"</b>\n"1. Otvorite postavke pristupačnosti.\n2. Odaberite značajku i dodirnite prečac.\n3. Odaberite hoćete li za pristup značajci koristiti gumb ili pokret."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Da biste započeli:"</b>\n"1. Otvorite postavke pristupačnosti.\n2. Odaberite značajku i dodirnite prečac.\n3. Odaberite gumb za pristup značajci."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Da biste započeli&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Otvorite postavke pristupačnosti&lt;br/&gt; {1,number,integer}. Odaberite značajku i dodirnite prečac&lt;br/&gt; {2,number,integer}. Odaberite želite li upotrebljavati gumb ili pokret za pristup značajki&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Da biste započeli&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Otvorite postavke pristupačnosti&lt;br/&gt; {1,number,integer}. Odaberite značajku i dodirnite prečac&lt;br/&gt; {2,number,integer}. Odaberite gumb za pristup značajci&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Upotreba gumba ili pokreta"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokacija"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Veličina"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Tipka za uklj. prekida poziv"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Veliki pokazivač miša"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Povećajte vidljivost pokazivača miša"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Promjena boje aplikacija u tamnu"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Za aplikacije bez vlastite tamne teme. Neke aplikacije mogu imati poteškoće, npr. preokrenute boje."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Uklanjanje animacija"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Smanjite pokrete na zaslonu"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monozvuk"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Koristi vibraciju i haptiku"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibracija alarma"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibracija medijskih sadržaja"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibracija tipkovnice"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibracija pri zvonjenju"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibracija obavijesti"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reakcija na dodir"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Zaustavi"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Odustani"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Želite li zaustaviti uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ako dodirnete <xliff:g id="STOP">%1$s</xliff:g>, zaustavit će se <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Isključi"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Ostavi uključeno"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Želite li isključiti uslugu mobilnog operatera <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nema instaliranih usluga"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nije odabrana nijedna usluga"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nije dan opis."</string>
     <string name="settings_button" msgid="2195468788019730377">"Postavke"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"osjetljivost na svjetlo, fotofobija, tamna tema, migrena, glavobolja, način za čitanje, noćni način rada, smanjenje svjetline, bijela točka"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Lakoća upotrebe, lakoća pristupa, pomoć, asistivno"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vid, sluh, slijepi, gluhi, motorički, spretnost, pomoćno, pomoć, jednostavna upotreba, jednostavan pristup, ruka, pomoć"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Alat za povećanje prozora, zumiranje, povećavanje, slabovidnost, povećati, uvećati"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Titlovi, Automatska transkripcija, nagluhost, gubitak sluha, računalni prijepis u stvarnom vremenu, pretvaranje govora u tekst"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontrast boja"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorika, miš"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"slušni aparati, nagluha osoba, gubitak sluha, umjetne pužnice, uređaji za pojačanje zvuka, uređaji za obradu zvuka"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorički, miš, vanjski miš, naglavni miš, adaptivni miš, invalidska kolica, igraća palica"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"slušna pomagala, nagluhost, gubitak sluha, umjetne pužnice, uređaji za pojačanje zvuka, uređaji za obradu zvuka, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"nagluhost, gubitak sluha, titlovi, teleprinter, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tri gumba"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"spretnost, motorički, starija osoba, artritis, učestala traumatska istegnuća zgloba, moždani udar, tremor, multipla skleroza, cerebralna paraliza, drhtavica, ruka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"odgoda, spretnost, starija osoba"</string>
     <string name="print_settings" msgid="8519810615863882491">"Ispis"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Isključeno"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Uključena je 1 usluga ispisa}one{Uključena je # usluga ispisa}few{Uključene su # usluge ispisa}other{Uključeno je # usluga ispisa}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Preostalo je <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> do dovršetka punjenja"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Vrijeme upotrebe"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Vrijeme rada u pozadini"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Slaba baterija"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Dopustite rad aplikacije u pozadini"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Želite li ograničiti pozadinsku aktivnost?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ako ograničite pozadinsku aktivnost za aplikaciju, možda će se ponašati nepredviđeno"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikacija nije postavljena za optimizaciju baterije, pa je ne možete ograničiti.\n\nZa ograničenje uključite optimizaciju."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljanje potrošnjom baterije"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Omogućivanje upotrebe u pozadini"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogućite za ažuriranja u stvarnom vremenu, onemogućite za uštedu baterije"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neograničeno"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizirano"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ograničeno"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Pogledajte aplikacije s najvećom potrošnjom baterije"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Punjenje se optimizira radi zaštite baterije"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Radi produljenja vijeka trajanja baterije punjenje se optimizira"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Punjenje se optimizira radi zaštite baterije"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Radi produljenja trajanja baterije, punjenje se optimizira dok je uređaj na priključnoj stanici"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Punjenje se optimizira radi zaštite baterije"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Radi produljenja trajanja baterije, punjenje se optimizira dok je uređaj na priključnoj stanici"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Punjenje do kraja"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Radi zaštite baterije, punjenje će se optimizirati kada tablet sljedeći put bude na priključnoj stanici"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Saznajte više o pauziranom punjenju"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nastavi s punjenjem"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Uključuje aktivnost u pozadini s visokom potrošnjom energije"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ta će aplikacija moći upotrebljavati bateriju u pozadini. Baterija bi se mogla isprazniti brže nego što očekujete."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ukloni"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Odustani"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Napuni do kraja"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem s priborom za punjenje"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Provjerite dodatak za punjenje"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Saznajte više o punjenju pomoću nekompatibilnog adaptera"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatski upravljaj aplikacijama"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od zadnjeg potpunog punjenja"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplikacije sustava"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Deinstalirane aplikacije"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Ostalo"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Procijenjeno preostalo vrijeme"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do potpune napunjenosti"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Ukupno: manje od minute"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"U pozadini: manje od minute"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Vrijeme upotrebe: manje od minute"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Manje od minute"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Ukupno: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"U pozadini: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Vrijeme upotrebe: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"sad"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Grafikon potrošnje baterije"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafikon dnevne potrošnje baterije"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafikon potrošnje baterije po satima"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Postotak razine baterije od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Potrošnja baterije od zadnjeg potpunog punjenja"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Potrošnja baterije za <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Vrijeme upotrebe od zadnjeg potpunog punjenja"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za hitne pozive"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Postavite način ponašanja za hitni poziv"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sigurnosno kopiranje"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Uključeno"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Isključeno"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sigurnosna kopija i vraćanje"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Osobni podaci"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sigurnosno kopiranje"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobilni podaci i Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Automatski sinkroniziraj osobne podatke"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Automatski sinkroniziraj poslovne podatke"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Automatska sinkronizacija"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Promjena ciklusa..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dan u mjesecu za poništavanje ciklusa upotrebe podataka:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"U tom razdoblju aplik. nisu upotreblj. podatke."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Naziv"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Vrsta"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresa poslužitelja"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP enkripcija (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"tajna L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikator"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec unaprijed dijeljeni ključ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec korisnički certifikat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA certifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec certifikat poslužitelja"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Prikaži napredne opcije"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domene DNS pretraživanja"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS poslužitelji (npr. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rute prosljeđivanja (npr. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Korisničko ime"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Zaporka"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Spremi podatke o računu"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ne koristi se)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne potvrđuj poslužitelj)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(primljen od poslužitelja)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ova vrsta VPN-a ne podržava stalnu vezu"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Uvijek uključeni VPN podržava samo numeričke adrese poslužitelja"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Za uvijek uključeni VPN mora biti naveden DNS poslužitelj"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adrese DNS poslužitelja za uvijek uključeni VPN moraju biti numeričke"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Uneseni podaci ne podržavaju uvijek uključeni VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Odustani"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Odbaci"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj veze bez VPN-a"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Zahtijevati VPN vezu?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nije sigurno. Ažurirajte na IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Pokretanje nepodržanog VPN-a nije uspjelo."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Odaberite VPN profil s kojim ćete uvijek biti povezani. Mrežni promet bit će dopušten samo kada ste povezani s tom VPN mrežom."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ništa"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Uvijek uključena VPN mreža zahtijeva IP adresu za poslužitelj i za DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER upozorenja"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Primanje biltena o otmicama djece"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ponovi"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Omogući Upravitelj poziva"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Dopusti usluzi upravljanje načinom uspostavljanja poziva."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Upravitelj poziva"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Hitna upozorenja putem bežične mreže"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Mrežni operateri"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Pristupne točke"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM-a"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM-a (utor za SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-ovi promijenjeni."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Vaši su se SIM-ovi promijenili"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dodirnite za postavljanje"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pitaj svaki put"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Potreban je odabir"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, zadane aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Pristup obavijestima nije dostupan za aplikacije u radnom profilu."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Zaporke i računi"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Spremljene zaporke, automatsko popunjavanje, sinkronizirani računi"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Prijedlozi za prijavu i automatsko popunjavanje"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Zadane aplikacije"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Kloniranje aplikacija"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Izradite drugu instancu aplikacije kako biste mogli upotrebljavati dva računa istodobno."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"novčanik"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plati, dodir, plaćanja"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sigurnosno kopirati, sigurnosna kopija"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"pokret"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"otključavanje, lice, autentifikacija, prijava"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"lice, otključavanje, autentifikacija, prijava, otisak prsta, biometrijski"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI, MEID, min, verzija PRL-a, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"veličina teksta, velika slova, veliki font, veliki tekst, slabovidnost, povećati tekst, povećalo fonta, povećanje fonta"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"uvijek uključen ambijentalni zaslon, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, oznaka, čitač"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tipkovnica, haptika, vibracija,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Glasnoća, vibracija, Ne uznemiravaj"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Glasnoća medija"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Glasnoća emitiranja"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Uključi zvukove"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Automatski titlovi"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatski titlovi za medije"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Zvučnici telefona"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Zvučnici tableta"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Zvučnici uređaja"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Žičane slušalice"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Zvuk s kompatibilnih medija postaje realističniji"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Isključeno"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži cijeli sadržaj obavijesti"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži osjetljiv sadržaj samo kad je uređaj otključan"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Uopće ne prikazuj obavijesti"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Što želite da se prikazuje na zaključanom zaslonu?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Što želite da prikazuje vaš zaključani zaslon?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaključani zaslon"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Prikaži cijeli sadržaj obavijesti poslovnog profila"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sakrij osjetljiv sadržaj poslovnog profila"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nedavni razgovori uklonjeni"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Razgovor uklonjen"</string>
     <string name="clear" msgid="5092178335409471100">"Izbriši"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Izbriši konverziju <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Ovdje će se prikazivati prioritetni i izmijenjeni razgovori"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Ovdje će se prikazivati razgovori koje označite kao prioritetne ili razgovori u koje unesete bilo kakve izmjene. \n\nDa biste promijenili postavke razgovora: \nprijeđite prstom od vrha zaslona prema dolje kako bi se otvorio zaslon obavijesti, a zatim dodirnite razgovor i zadržite pritisak."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimiziraj"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Postupno smanjenje obavijesti"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Primijeni postupno smanjenje svih obavijesti"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Postupno smanjite količinu obavijesti kad primate previše uzastopnih obavijesti od iste aplikacije"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Primijeni postupno smanjenje na razgovore"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Postupno smanjite količinu obavijesti kad primate puno poruka iz istog chata u kratkom vremenu"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nemoj primijeniti postupno smanjenje obavijesti"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nemojte nikad smanjiti količinu obavijesti, neovisno o količini uzastopnih obavijesti iz iste aplikacije"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibracija kad je zaslon otključan"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibracija samo kad je zaslon otključan"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Primijeni na poslovne profile"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Primijenite postavke postupnog smanjenja obavijesti iz osobnog profila na poslovni profil"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pomoćne usluge za virtualnu stvarnost"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nijedna instalirana aplikacija nije zatražila pokretanje kao pomoćna usluga za virtualnu stvarnost."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Želite li dopustiti pristup usluge virtualne stvarnosti za uslugu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Isključeno"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Prikvačivanje aplikacije"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Prikvačivanje aplikacije omogućuje da vaša trenutačna aplikacija bude vidljiva dok je ne otkvačite. Tu značajku možete koristiti kako biste, na primjer, prijatelju kojem vjerujete dopustili da igra određenu igru."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kad je aplikacija prikvačena, može otvarati druge aplikacije i osobni podaci mogu biti dostupni. \n\nKako upotrebljavati prikvačivanje aplikacije: 	\n1. Uključite prikvačivanje aplikacije. 	\n2. Otvorite Pregled. 	\n3. Dodirnite ikonu aplikacije pri vrhu zaslona, a potom dodirnite Prikvači."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kad je aplikacija prikvačena, može otvarati druge aplikacije i osobni podaci mogu biti dostupni. \n\nAko želite s nekim sigurno dijeliti svoj uređaj, pokušajte koristiti profil gosta. \n\nKako upotrebljavati prikvačivanje aplikacije: 	\n1. Uključite prikvačivanje aplikacije. 	\n2. Otvorite Pregled. 	\n3. Dodirnite ikonu aplikacije pri vrhu zaslona, a potom dodirnite Prikvači."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kad je aplikacija prikvačena, može otvarati druge aplikacije i osobni podaci mogu biti dostupni. \n\nDa biste se koristili prikvačivanjem aplikacije: 	\n{0,number,integer}. Uključite prikvačivanje aplikacije 	\n{1,number,integer}. Otvorite Pregled 	\n{2,number,integer}. Dodirnite ikonu aplikacije pri vrhu zaslona, a potom dodirnite Prikvači."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kad je aplikacija prikvačena, može otvarati druge aplikacije i osobni podaci mogu biti dostupni. \n\nAko želite s nekim sigurno dijeliti svoj uređaj, pokušajte koristiti profil gosta. \n\nDa biste se koristili prikvačivanjem aplikacije: 	\n{0,number,integer}. Uključite prikvačivanje aplikacije 	\n{1,number,integer}. Otvorite Pregled 	\n{2,number,integer}. Dodirnite ikonu aplikacije pri vrhu zaslona, a potom dodirnite Prikvači."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kad je aplikacija prikvačena: \n\n•		osobni podaci mogu biti dostupni \n		(primjerice, kontakti i sadržaj e-pošte) \n•		prikvačena aplikacija može otvarati druge aplikacije \n\nPrikvačivanje aplikacije koristite samo s osobama kojima vjerujete."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Traži uzorak za otključavanje radi otkvačivanja"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Traži PIN radi otkvačivanja"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Traži zaporku radi otkvačivanja"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zaključaj uređaj prilikom otkvačivanja"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdite brisanje SIM-a"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potvrdite da želite izbrisati eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Potvrdite svoj identitet da biste mogli izbrisati eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Napredna zaštita memorije beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Napredna zaštita memorije"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Postavke nekorištenih aplikacija"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pauziraj aktivnosti u aplikacijama ako se ne koriste"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Uklanjaju se dopuštenja, brišu privremene datoteke i zaustavljaju obavijesti"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Upravljajte nekorištenom aplikacijom"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Uklonite dopuštenja, izbrišite privremene datoteke, zaustavite obavijesti i arhivirajte aplikaciju"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Sve aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalirane aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant aplikacije"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Dostupno"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memorija koju upotrebljavaju aplikacije"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Jedna aplikacija upotrijebila je memoriju u posljednjih {time}}one{# aplikacija upotrijebila je memoriju u posljednjih {time}}few{# aplikacije upotrijebile su memoriju u posljednjih {time}}other{# aplikacija upotrijebilo je memoriju u posljednjih {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Omogući profiliranje upotrebe memorije"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profiliranje upotrebe memorije zahtijeva dodatne resurse sustava."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profiliranje memorije onemogućeno"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Učestalost"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimalna upotreba"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nema upotrebe podataka"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Prikaz iznad drugih aplikacija"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dopusti prikaz iznad drugih aplikacija"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Dopustite toj aplikaciji da se prikazuje iznad drugih aplikacija koje upotrebljavate. Aplikacija će moći vidjeti gdje ste dodirnuli ili promijeniti sadržaj zaslona."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Promjena medijskog izlaza"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Omogući promjenu medijskog izlaza aplikacije"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Omogućite aplikaciji da odabere koji povezani uređaj reproducira zvuk ili videozapis iz drugih aplikacija. Ako to omogućite, aplikacija će moći pristupiti popisu dostupnih uređaja kao što su slušalice i zvučnici te odabrati koji se izlazni uređaj koristi za streamanje ili emitiranje zvuka ili videozapisa."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Pristup svim datotekama"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dopusti pristup za upravljanje svim datot."</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Dopustite toj aplikaciji čitanje, izmjenu i brisanje svih datoteka na ovom uređaju ili drugim povezanim uređajima za pohranu. Ako date to dopuštenje, aplikacija može pristupati datotekama bez vašeg znanja."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Može pristupiti svim datotekama"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije s glasovnom aktivacijom"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dopusti glasovnu aktivaciju"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovna aktivacija uključuje odobrene aplikacije bez upotrebe ruku pomoću glasovne naredbe. Integrirano adaptivno otkrivanje omogućuje da podaci ostanu privatni.\n\n"<a href="">"Više o zaštićenom adaptivnom otkrivanju"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Obavijesti na cijelom zaslonu"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Omogući obavijesti te aplikacije na cijelom zaslonu"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Omogućuje aplikaciji da prikazuje obavijesti koje zauzimaju cijeli zaslon kad je uređaj zaključan. Aplikacije na taj način mogu istaknuti alarme, dolazne pozive ili druge hitne obavijesti."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Upozori na <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Ograničenje podatkovnog prometa od <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Upozori na <xliff:g id="ID_1">^1</xliff:g>/Ograniči na <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Mobilni operater može obračunavati podatke na drugačiji način od uređaja"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ne uključuje podatke koje koriste mreže mobilnog operatera"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Iskoristili ste <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Postavi upozorenje o potrošnji"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Ažurirano prije <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Upravo ažurirao operater <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Upravo je ažurirano"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Prikaži plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Prikaz pojedinosti"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Štednja podat. prometa"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neograničeni podaci"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> trošila je više baterije nego inače u pozadini"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> trošila je više baterije u prednjem planu"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> trošila je više baterije nego inače u prednjem planu"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalija potrošnje baterije"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Visoka potrošnja baterije"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Visoka potrošnja baterije u pozadini"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Visoka potrošnja baterije u prednjem planu"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Pločice brzih postavki za razvojne programere"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Onemogući vrijeme čekanja za autorizacije za adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Onemogućite automatski opoziv autorizacija za adb za sustave koji se ne povežu u zadanom razdoblju (sedam dana) ili korisnički konfiguriranom razdoblju (najmanje jedan dan)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope praćenje"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzori su isključeni"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Postavke poslovnog profila"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Traži kontakte iz poslovnog direktorija u osobnim aplikacijama"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigacija za sustav, navigacija pomoću dva gumba, navigacija pomoću tri gumba, navigacija pokretima, prelazak prstom"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni asistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Prijeđite prstom da biste pokrenuli asistenta"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Prijeđite prstom prema gore iz donjeg kuta da biste pokrenuli aplikaciju digitalnog asistenta"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Prijeđite prstom prema gore iz donjeg kuta da biste pokrenuli aplikaciju digitalnog asistenta"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Zadržite gumb početnog zaslona za Asistenta"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pritisnite i zadržite gumb početnog zaslona da biste pokrenuli aplikaciju digitalnog asistenta."</string>
     <string name="low_label" msgid="6525629096999711220">"Niska"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Automatsko popunjavanje"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Zadana usluga automatskog popunjavanja"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Zaporke"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Usluge za zaporke, pristupne ključeve i podatke"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Dodatni davatelji usluga"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferirana usluga"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Dodatne usluge"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# zaporka}one{# zaporka}few{# zaporke}other{# zaporki}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatsko, popunjavanje, automatsko popunjavanje, zaporka"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"podaci, šifra, zaporka"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatsko, popunjavanje, automatsko popunjavanje, podaci, pristupni ključ, zaporka"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Promijeni"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Otvori"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ništa nije odabrano"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Provjerite je li ova aplikacija pouzdana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google automatsko popunjavanje&gt;%1$s&lt;/xliff:g&gt; upotrebljava sadržaj na zaslonu za procjenu onoga što se može automatski popuniti."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Želite li koristiti aplikaciju &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; na temelju sadržaja vašeg zaslona utvrđuje što se može automatski popuniti. Nove zaporke, pristupni ključevi i drugi podaci odsad će se spremati ovdje."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Usluge za zaporke, pristupne ključeve i podatke"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nove zaporke, pristupni ključevi i drugi podaci odsad će se spremati ovdje. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; može koristiti sadržaj vašeg zaslona kako bi utvrdio što se može automatski popuniti."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferirani davatelj usluga za zaporke, pristupne ključeve i automatsko popunjavanje"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Isključiti %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Želite li isključiti uslugu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Spremljeni podaci, kao što su zaporke, pristupni ključevi, načini plaćanja i drugi podaci možda se neće unijeti kad se prijavite. Da biste upotrebljavali spremljene podatke, odaberite zaporku, pristupni ključ ili podatkovnu uslugu."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Zaporke, pristupni ključevi i auto. popunjavanje"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Želite li isključiti sve usluge?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Zaporke, pristupni ključevi i drugi spremljeni podaci neće biti dostupni za automatsko popunjavanje kad se prijavite"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Promijenite preferiranu uslugu u &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nove zaporke, pristupni ključevi i drugi podaci odsad će se spremati ovdje. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; može koristiti sadržaj vašeg zaslona kako bi se utvrdilo što se može automatski popuniti"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Upotrijebiti davatelja vjerodajnica %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Isključi"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Promijeni"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Može biti uključeno samo pet usluga"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Isključite barem jednu uslugu da biste dodali drugu"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s utvrđuje što se može automatski popuniti na temelju sadržaja zaslona."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Ograničenje broja usluga za zaporke, pristupne ključeve i podatke"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Istovremeno možete imati pet aktivnih usluga za zaporke, pristupne ključeve i podatke. Isključite jednu uslugu da biste ih dodali još."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Ograničenje broja usluga za zaporke, pristupne ključeve i podatke"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Istovremeno možete imati pet aktivnih usluga za zaporke, pristupne ključeve i podatke. Isključite jednu uslugu da biste ih dodali još."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Isključi"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatsko popunjavanje"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Razina zapisivanja"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Promjene kompatibilnosti aplikacija moguće su samo za aplikacije s mogućnošću otklanjanja pogrešaka. Instalirajte aplikaciju s mogućnošću otklanjanja pogrešaka i pokušajte ponovo."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Ovisi o drugoj postavci"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Račun"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d račun/računa"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Naziv uređaja"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Osnovne informacije"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Pravne i zakonske obaveze"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Dopustite da se ova aplikacija pokrene kad se skenira oznaka NFC.\nAko je to dopuštenje uključeno, aplikacija će biti dostupna kao opcija svaki put kad se otkrije oznaka."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reproduciraj medije na"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reproduciraj <xliff:g id="LABEL">%s</xliff:g> na"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Zvuk će se reproducirati"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Ovaj uređaj"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nije dostupno tijekom poziva"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preuzmi poziv na uređaju"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Isključi zvuk"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Da biste omogućili tu opciju, najprije promijenite opciju \"Pritisnite i zadržite tipku za uključivanje/isključivanje\" u izbornik tipke za uključivanje."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Podaci o mreži"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Naziv vašeg uređaja vidljiv je aplikacijama na vašem telefonu. 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="devices_title" msgid="649715719278562515">"Uređaji"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Odabir mreže"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Nije povezano"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Naziv"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Boja (koriste kompatibilne aplikacije)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Spremi"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Koristi SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Upotrijebite ovaj SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Isključeno"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Da biste onemogućili ovaj SIM, uklonite SIM karticu"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Dodirnite da bi se aktivirao mobilni operater <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Da biste isključili ovaj SIM, uklonite SIM karticu"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Dodirnite za aktiviranje SIM-a mobilnog operatera <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Izbriši eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Željena vrsta mreže"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Promijenite način rada mreže"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Željena vrsta mreže"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Podatke o cijeni možete saznati od svojeg mrežnog operatera."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Potrošnja podatkovnog prometa aplikacija"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mrežni način <xliff:g id="NETWORKMODEID">%1$d</xliff:g> nije važeći. Zanemarite."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Slanje poruka putem satelita"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Šaljite i primajte tekstne poruke putem satelita. Uključeno s vašim računom."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Šaljite i primajte tekstne poruke putem satelita. Nije uključeno s vašim računom."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Slanje poruka putem satelita"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"O slanju poruka putem satelita"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Možete razmjenjivati tekstne poruke putem satelita u sklopu računa pri mobilnom operateru <xliff:g id="CARRIER_NAME">%1$s</xliff:g> koji ispunjava kriterije"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Vaš paket pri mobilnom operateru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Slanje poruka putem satelita uključeno je s vašim računom"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Slanje poruka putem satelita nije uključeno s vašim računom"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Dodavanje slanja poruka putem satelita"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Kako to funkcionira"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kada nemate mobilnu mrežu"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Vaš telefon automatski će se povezati sa satelitom. Za najbolju vezu potreban je jasan pogled na nebo."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Nakon što se vaš telefon poveže sa satelitom"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Možete slati poruke svima, uključujući hitne službe. Vaš telefon ponovno će se povezati s mobilnom mrežom kad bude dostupna."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Slanje poruka putem satelita moglo bi potrajati dulje, a dostupno je samo u nekim područjima. Na vašu satelitsku vezu mogu utjecati vremenski uvjeti i određene strukture. Pozivanje putem satelita nije dostupno.\n\nMože proći neko vrijeme da promjene na vašem računu postanu vidljive. Za pojedinosti se obratite mobilnom operateru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Više o slanju poruka putem satelita"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazivi pristupnih točaka"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nedostupno kada je povezano s mobilnim operaterom <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Želite li prijeći na mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Želite li prijeći na SIM karticu?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Želite li upotrijebiti operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Istovremeno može biti aktivan samo jedan SIM.\n\nPrelaskom na mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> neće se otkazati vaša usluga kod mobilnog operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Istovremeno može biti aktivan samo jedan eSIM.\n\nPrelaskom na mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> neće se otkazati vaša usluga kod mobilnog operatera <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Istovremeno može biti aktivan samo jedan SIM.\n\nPrelaskom se neće otkazati vaša usluga kod mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Istovremeno može biti uključen samo jedan SIM.\n\nPrelaskom na mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> neće se otkazati vaša usluga pri mobilnom operateru <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Istovremeno može biti uključen samo jedan eSIM.\n\nPrelaskom na mobilnog operatera <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> neće se otkazati vaša usluga pri mobilnom operateru <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Istovremeno može biti uključen samo jedan SIM.\n\nPrelaskom se neće otkazati vaša usluga pri mobilnom operateru <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Na ovom uređaju ne možete istovremeno upotrebljavati dva SIM-a. Da biste koristili operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, isključite drugi SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Prebaci na <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Isključite operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Isključivanjem SIM-a nećete otkazati uslugu"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Povezivanje s mrežom…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Prebacivanje na uslugu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> za pozive i poruke…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Promjena mobilnog operatera nije uspjela"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Mobilni operater ne može se promijeniti zbog pogreške."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiviranje SIM-a…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Prebacivanje na mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nije moguće prebaciti SIM-ove"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Nešto nije u redu. Nije moguće prebaciti SIM-ove."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Želite li isključiti uslugu mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Isključiti SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Isključivanje SIM-a<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Onemogućivanje mobilnog operatera nije uspjelo"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Nešto je pošlo po zlu i onemogućivanje mobilnog operatera nije uspjelo."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM nije moguće isključiti"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Došlo je do pogreške i SIM se nije mogao isključiti."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Želite li upotrebljavati dvije SIM kartice?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Ovaj uređaj može istovremeno imati dvije aktivne SIM kartice. Da biste nastavili s upotrebom samo jedne SIM kartice, dodirnite \"Ne, hvala\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Želite li ponovo pokrenuti uređaj?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Odustani"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Prebaci"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Isključi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM se ne može aktivirati"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Pokušajte ponovo uključiti SIM. Ako se problem ponovi, ponovo pokrenite uređaj."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Postavite SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Postavite preferencije mobilne mreže da biste upotrebljavali više SIM kartica na ovom uređaju"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Davanje oznaka SIM karticama"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Vidjet ćete ove oznake pri uspostavi poziva, slanja tekstnih poruka i upotrebi mobilnih podataka te u postavkama"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Oznaka SIM kartice"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Oznaka"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Odabir SIM-a za korištenje"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Na ovom uređaju ne možete istovremeno upotrebljavati dva SIM-a"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Postavljanje primarnih SIM-ova"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Odaberite koje ćete SIM kartice koristiti prema zadanim postavkama za pozive, tekstne poruke i mobilne podatke"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Vaše primarne SIM kartice"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Pozivi"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Tekstne poruke"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Autom. prebacivanje podataka"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Upotrijebite podatke s jedne od SIM kartica ovisno o pokrivenosti i dostupnosti"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Samo podatkovna veza"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Postavi"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Dalje"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Uključivanje operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilna mreža"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonski broj"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Oznaka i boja SIM-a"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivacija mreže"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Promjena mobilnog operatera"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivan"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Vaš SIM mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivan"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Dodirnite da biste ažurirali postavke SIM-a"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Prešli ste na mobilnog operatera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Prešli ste na drugog mobilnog operatera"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Vaša se mobilna mreža promijenila"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Postavite drugi SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Odaberite aktivnu SIM karticu ili upotrebljavajte dvije SIM kartice istovremeno"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Odaberite broj za korištenje"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Na ovom je uređaju dostupan jedan broj i istovremeno se može upotrebljavati samo jedan broj}=2{Na ovom su uređaju dostupna dva broja, ali se istovremeno može upotrebljavati samo jedan}one{Na ovom je uređaju dostupan # broj, ali se istovremeno može upotrebljavati samo jedan}few{Na ovom su uređaju dostupna # broja, ali se istovremeno može upotrebljavati samo jedan}other{Na ovom je uređaju dostupno # brojeva, ali se istovremeno može upotrebljavati samo jedan}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktivacija<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Trenutačno se ne može aktivirati"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Odaberite SIM koji ćete upotrebljavati"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Na ovom je uređaju dostupan jedan SIM i istovremeno se može upotrebljavati samo jedan}=2{Na ovom su uređaju dostupna dva SIM-a, ali se istovremeno može upotrebljavati samo jedan}one{Na ovom je uređaju dostupan # SIM, ali se istovremeno može upotrebljavati samo jedan}few{Na ovom su uređaju dostupna # SIM-a, ali se istovremeno može upotrebljavati samo jedan}other{Na ovom je uređaju dostupno # SIM-ova, ali se istovremeno može upotrebljavati samo jedan}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Uključivanje profila<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Trenutačno nije moguće uključiti SIM"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Želite li upotrijebiti uslugu <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> upotrebljavat će se za mobilne podatke, pozive i SMS-ove."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Aktivne SIM kartice nisu dostupne"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Da biste se kasnije koristili mobilnim podacima, značajkama poziva i SMS-a, otvorite postavke mreže"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Želite li izbrisati taj eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Brisanjem tog SIM-a s uređaja se uklanja usluga mobilnog operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nUsluga mobilnog operatera <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> neće se otkazati."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Time se usluga mobilnog operatera <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> uklanja s ovog uređaja, ali se ne otkazuje paket pri mobilnom operateru <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Izbriši"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Brisanje SIM-a…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Brisanje SIM-a nije uspjelo"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM se ne može izbrisati zbog pogreške.\n\nPonovo pokrenite uređaj i pokušajte još jednom."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Brisanje eSIM kartice…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Brisanje eSIM kartice nije moguće"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Došlo je do pogreške i ovaj eSIM nije izbrisan.\n\nPonovno pokrenite uređaj i pokušajte ponovno."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Povezivanje s uređajem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi koristiti privremenu Wi‑Fi mrežu za povezivanje s vašim uređajem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nije pronađen nijedan uređaj. Provjerite je li uređaj uključen i dostupan za povezivanje."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Hitni pozivi"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Vaš mobilni operater ne podržava hitne pozive putem Wi‑Fi poziva.\nUređaj se automatski prebacuje na mobilnu mrežu kako bi uputio hitni poziv.\nHitni pozivi mogući su samo u područjima pokrivenim mobilnim mrežama."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Upotrijebi Wi‑Fi za pozive radi poboljšanja kvalitete"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Rezervni način telefoniranja"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ako usluga <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nije dostupna ili je u roamingu, za pozive putem usluge <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> koristite SIM za mob. podatke."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"rezervni način telefoniranja"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Dolazna MMS poruka"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nije moguće poslati MMS poruku"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Dodirnite da biste dopustili MMS poruke na usluzi <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> kad su mobilni podaci isključeni"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacije o poslovnim pravilima"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Postavkama upravlja vaš IT administrator"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Pokreni uz veličinu od 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Pokreni uređaj uz jezgru podržanu za 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Želite li ponovno pokrenuti uz jezgru kompatibilnu sa stranicama od 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"UPOZORENJE: neke aplikacije možda nisu kompatibilne s ovim načinom. Uređaj će se ponovno pokrenuti nakon potvrde."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Želite li ponovno pokrenuti uz jezgru kompatibilnu sa stranicama od 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Uređaj će se ponovno pokrenuti nakon potvrde."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ažuriranje jezgre na jezgru kompatibilnu sa stranicama od 16 KB nije uspjelo."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Primjena promjene"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Rukovatelj izvješćem o programskim pogreškama"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Određuje koja je aplikacija zadužena za prečac Izvješće o programskim pogreškama na vašem uređaju."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobno"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Dopušta aplikacijama koje se mogu prikazivati iznad drugih da se preklapaju na zaslonima postavki"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Dopusti lažni modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Dopušta ovom uređaju da pokrene uslugu lažnog modema za instrumentacijsko testiranje. Tu postavku nemojte omogućiti tijekom uobičajene upotrebe telefona"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Onemogućivanje zaštita dijeljenja zaslona"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Onemogućuje zaštite aplikacija i obavijesti koje primjenjuje sustav tijekom dijeljenja zaslona"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Mediji"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Prikvači medijski player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Da bi se reprodukcija brzo nastavila, medijski player ostaje otvoren u brzim postavkama"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Prikaži medije na zaključanom zaslonu"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Da bi se reprodukcija brzo nastavila, medijski player ostaje otvoren na zaključanom zaslonu"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Prikaži preporuke medija"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Prikaži Asistentove preporuke za medijske sadržaje"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Na temelju vaše aktivnosti"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Sakrij player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Prikaži player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"mediji"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Dopuštanje proširenja softvera kamere"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Omogućuje zadanu softversku implementaciju naprednih značajki kamere, kao što je videografija za slijepe i slabovidne."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth će se uključiti"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-ovi"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-ovi"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktivno"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktivno"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Uključeno"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Isključeno"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Zadano za <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"pozive"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Zvuk s kompatibilnih medija postaje realističniji"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Praćenje glave"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Zvuk se mijenja kako pomičete glavu kako bi prirodnije zvučao"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Dopuštenja sinkronizacije"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Dajte uređaju <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ista dopuštenja aplikacije koje ste dali uređaju <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinkronizacija dopuštenja s telefona"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Svojem satu dajte jednaka dopuštenja aplikacija koja ste dopustili na ovom telefonu"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Vrsta audiouređaja"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Nepoznato"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Zvučnik"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Srednji"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Visoki"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ova se aplikacija može otvoriti samo u jednom prozoru"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Uključeno"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Isključeno"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Isključeno"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Isključeno"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Uključeno"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Isključeno"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Uključeno"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Isključeno"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Svijetli zasloni postaju tamni, a tamni zasloni svijetli"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Povećajte na zaslonu"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Isključeno"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Isključeno"</string>
+    <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="about_phone_device_name_warning" msgid="3243226572404472381">"Naziv vašeg uređaja vidljiv je aplikacijama koje ste instalirali. Mogu ga vidjeti i drugi ljudi kada se povežete s Bluetooth uređajima ili Wi-Fi mrežom ili 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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Provjera radi otkrivanja obmanjujućih aplikacija"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Provjera aktivnosti u aplikaciji radi otkrivanja krađe identiteta"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Koristi skeniranje obmanjujućih aplikacija"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Koristi skeniranje obmanjujućih aplikacija za posao"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Zaporka je sada postavljena"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Prikaži pokazivač tijekom zadržavanja iznad stavke"</string>
 </resources>
diff --git a/res/values-hu/arrays.xml b/res/values-hu/arrays.xml
index 5651324..5b31c91 100644
--- a/res/values-hu/arrays.xml
+++ b/res/values-hu/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Rendelkezésre áll"</item>
     <item msgid="6096962300722555553">"Tartományon kívül"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Kikapcsolva"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast és Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Alapértelmezett rendszerbeállítás használata: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 perc után"</item>
     <item msgid="1574040255478150028">"5 perc után"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-hu/strings.xml b/res/values-hu/strings.xml
index fe9acde..287001e 100644
--- a/res/values-hu/strings.xml
+++ b/res/values-hu/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Ön mostantól már fejlesztő!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nincs rá szükség, Ön már fejlesztő."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Előbb engedélyeznie kell a fejlesztői beállításokat"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Egyedül az adminisztrátor felhasználók férhetnek hozzá a fejlesztői beállításokhoz."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Rendszer"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Szolgáltatás"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Nem működik"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Az eszköz összehajtásakor az elülső kijelző bekapcsolódik"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Csak játékok, videók és egyebek"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Az elülső kijelző bekapcsol az olyan alkalmazásoknál, amelyek megakadályozzák, hogy a képernyő tétlen módba lépjen."</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Folytatás felfelé csúsztatással"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Hajtsa össze a telefont, és az alkalmazás használatának folytatásához csúsztassa felfelé az ujját az elülső kijelzőn, vagy várjon néhány másodpercet a képernyő zárolásáig."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Soha"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Az eszköz összehajtásakor az elülső kijelző zárolódik"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Automatikus forgatás használata"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Kapcsolódó"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Csengőhang és riasztások"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Hívás közbeni hang beállításai"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Média"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Értesítések és más rendszerhangok"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Média- és rendszerhangok"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Értesítések"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"A hangkimenetet alapértelmezés szerint az egyes alkalmazások határozzák meg"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Névtelen Bluetooth eszköz"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Keresés"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Mégse"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE hangátvitel kikapcsolása"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Kikapcsolja a Bluetooth alacsony energiaszintű hangátvitel funkciót, ha az eszköz támogatja az Alacsony energiaszintű hangátvitel hardver működését."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth alacsony energiaszintű hangátvitel mód"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"„Alacsony energiaszintű hangátvitel” az Eszközadatokban"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE hangátvitel engedélyezőlistájának engedélyezése"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Engedélyezi a Bluetooth alacsony energiaszintű hangátvitel engedélyezőlistája funkciót."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth alacsony energiaszintű hangátvitel engedélyezőlistájának megkerülése"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Alacsony energiaszintű hangátvitel használata alapértelmezés szerint akkor is, ha az Alacsony energiaszintű hangátvitelt használó periféria nem teljesíti igazoltan az engedélyezőlista feltételeit."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Médiaeszközök"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Hívóeszközök"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Egyéb eszközök"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Mentett eszközök"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Fiókkal társítva"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Korábban használva a fiókkal"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"A Bluetooth bekapcsol a párosítás végrehajtása érdekében"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Kapcsolati beállítások"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Korábban csatlakoztatva"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth bekapcsolva"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Az összes megtekintése"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Összes megtekintése"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Érintőceruza"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Az érintőceruza végén lévő gomb megnyomása"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (munkaprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Írás a szövegmezőkben"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Az érintőceruza összes gombnyomásának figyelmen kívül hagyása"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Érintőceruza"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Hang megosztása"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Hang megosztása"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Hívások és riasztások"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Csatlakozhat audiostreamhez QR-kóddal"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nem találtunk közeli audiostreamet."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Dátum és idő"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Törlés"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s felvétele az előnyben részesített nyelvek közé?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Így az appok és webhelyek tudni fogják, hogy Ön előnyben részesíti ezt a nyelvet is."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Az eszközbeállítások és a regionális preferenciák módosulni fognak."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Módosítás"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"A(z) %s nyelv nem áll rendelkezésre"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Szombat"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ha valamelyik alkalmazás nem támogatja a regionális preferenciákat, az app az alapértelmezett nyelvi beállításait fogja használni."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"További információ a nyelvi beállításokról."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"További beállítások"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Megszólítás feltételei"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Állítsa be, hogy hogyan szeretné, hogy megszólítsák"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Az alkalmazások megszólítási feltételek segítségével szabhatják személyre, hogy milyen módon szólítsák meg Önt."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nincs megadva"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Női"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Férfi"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Semleges"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Eltávolítja a kiválasztott nyelvet?}other{Eltávolítja a kiválasztott nyelveket?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"A szöveg más nyelven fog megjelenni."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nem lehet eltávolítani az összes nyelvet"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Tartózkodási hely"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Helyadatok használata"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Ki"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"További információ a helybeállításokról."</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="3574930966097093550">"Helyhozzáférés-módosítás: Beállítások &gt; Biztonság és adatvédelem &gt; Adatvédelmi beállítások"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Fiókok"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Biztonság"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Titkosítás és hitelesítési adatok"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"A legjobb eredmény érdekében használjon Made for Google tanúsítvánnyal rendelkező kijelzővédőt. Előfordulhat, hogy más kijelzővédők esetében gyermeke ujjlenyomata nem működik."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Feloldás órával"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Ha beállítja az Arcalapú feloldás és a Feloldás ujjlenyomattal funkciót, telefonja az ujjlenyomatát fogja kérni, amikor Ön maszkot visel, vagy sötét helyen van.\n\nA feloldás az órájával is lehetséges, ha az arcát vagy az ujjlenyomatát nem ismeri fel a rendszer."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"A feloldás az órájával is lehetséges, ha az ujjlenyomatát nem ismeri fel a rendszer."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"A feloldás az órájával is lehetséges, ha az arcát nem ismeri fel a rendszer."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Ha beállítja az Arcalapú feloldás és a Feloldás ujjlenyomattal funkciót, telefonja az ujjlenyomatát fogja kérni, amikor Ön maszkot visel, vagy sötét helyen van.\n\nA Feloldás órával funkció a telefon zárolásának másik kényelmes módja, például amikor nedvesek az ujjai, vagy az eszköz nem ismeri fel az arcát."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"A Feloldás órával funkció a telefon zárolásának másik kényelmes módja, például amikor az eszköz nem ismeri fel az ujjlenyomatát."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"A Feloldás órával funkció a telefon zárolásának másik kényelmes módja, például amikor az eszköz nem ismeri fel az arcát."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Ujjlenyomat vagy az óra használata"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Arc vagy az óra használata"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Arc, ujjlenyomat vagy az óra használata"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"A Feloldás órával funkció a telefon zárolásának másik kényelmes módja, például amikor nedvesek az ujjai, vagy az eszköz nem ismeri fel az arcát.\n\nAz órával akkor oldhatja fel a telefon zárolását, ha:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Most nem"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Tovább"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Több"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Hogyan működik?"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Az órájának feloldott állapotban, a csuklóján és a telefon közelében kell lennie. Amíg a csuklóján van, többször már nem kell feloldania órája zárolását."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Értesítést kap az óráján, amikor a telefon zárolása feloldásra került. Ha a telefon zárolásának feloldása akaratlanul történt, akkor az értesítésre koppintva zárolhatja újból."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Az irányítás az Ön kezében van"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"A Beállításokban bármikor eltávolíthatja óráját a Feloldás órával funkcióból"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Koppintson valamelyik értesítésre"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Csúsztasson gyorsan felfelé a lezárási képernyőn"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Óra kiválasztása"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Rendelkezésre álló órák"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Mégse"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Megerősítés"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Készen is van!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Mostantól feloldhatja az órával a telefon zárolását, ha gyorsan felfelé csúsztat a lezárási képernyőn, vagy az egyik értesítésre koppint."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Kész"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Feloldás órával"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Feloldhatja az órával a telefon zárolását, ha gyorsan felfelé csúsztat a lezárási képernyőn, vagy az egyik értesítésre koppint."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"A Feloldás órával funkció használatához az órájának feloldott állapotban, a csuklóján, elérhető közelségben és a telefonhoz csatlakoztatva kell lennie. Ha megszakad a kapcsolat, fel kell oldania a telefon zárolását ahhoz, hogy használni tudja a Feloldás órával funkciót.\n\nNe feledje:\nEgyszerre csak egy óra lehet beállítva. Ha másik órát szeretne hozzáadni, először távolítsa el a meglévőt."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Biztonság"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Adatvédelem"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Munkaprofil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Magánterület"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Privát alkalmazások zárolásának és rejtve tartásának fenntartása"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Tárolja olyan külön területen a privát alkalmazásokat, amelyet elrejthet vagy zárolhat"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Magánterület zárolása"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"A magánterület zárolását feloldhatja ugyanúgy, ahogyan az eszközét is, vagy kiválaszthat másik zárolási lehetőséget"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Az eszköz képernyőzárának használata"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Arcalapú feloldás és Feloldás ujjlenyomattal"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Feloldás ujjlenyomattal"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Arcalapú feloldás"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Koppintson ide a beállításhoz"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Ujjlenyomattal való feloldás a magánterülethez"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Arcalapú feloldás a magánterülethez"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Feloldási módszerek"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Ugyanaz, mint az eszköz képernyőzára"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Új zárolást választ a magánterülethez?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Magánterület automatikus zárolása"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Automatikusan zárolhatja a magánterületet, ha bizonyos ideje nem használta az eszközt."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Minden alkalommal az eszköz zárolásakor"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 perces inaktivitás után"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Soha"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Elrejtés lezárt állapotban"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Magánterület elrejtése lezárt állapotban"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Ha nem szeretné, hogy mások tudjanak arról, hogy magánterület van az eszközén, elrejtheti az alkalmazáslistában"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Hozzáférés a magánterülethez rejtett állapotban"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Írja be az applista keresősávjába, hogy „magánterület”"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Koppintson a magánterület mozaikjára"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Oldja fel a magánterület zárolását"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Ki"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Be"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Rendszer"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Magánterület törlése"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Törli a magánterületet?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"A magánterületét eltávolítjuk az eszközről. Az összes privát alkalmazás és adat törlődik. Ez a művelet nem vonható vissza."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"A következő fiókokat eltávolítjuk az Ön magánterületéről:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Törlés"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Magánterület törlése…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Ez eltart egy kis ideig"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Magánterület törölve"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Nem sikerült törölni a magánterületet"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Magánterület feloldva"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Képernyőzár beállítása"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"A privát terület használatához állítson be képernyőzárat"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Képernyőzár beállítása"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Mégse"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Mégse"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Beállítás"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Privát terület beállítása"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Tárolja olyan külön területen a privát alkalmazásokat, amelyet elrejthet vagy zárolhat"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Hogyan működik?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"A privát területhez az alkalmazások listájának alján férhet hozzá."</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"A privát területen lévő alkalmazásokat zárolás védi"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"A privát területen lévő alkalmazásoktól érkező értesítések rejtve maradnak, amikor le van zárva a privát terület"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"A privát terület alkalmazásai nem jelennek meg az engedélykezelőben, az adatvédelmi irányítópulton és más beállításokban, amikor a privát terület le van zárva.\n\nA privát terület nem helyezhető át új eszközre. Ha másik eszközön szeretné használni, akkor másik privát területet kell beállítania.\n\nBárki, aki az Ön eszközét számítógéphez csatlakoztatja, vagy kártékony alkalmazást telepít az Ön eszközére, hozzá tud férni a privát területhez."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"A privát terület beállítása…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"A magánterületen lévő alkalmazásoktól érkező értesítések rejtve maradnak, amikor le van zárva a magánterület"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Magánterület zárolásának feloldása fotók vagy fájlok megosztásához"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Egyes alkalmazások már telepítve vannak a privát területén"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Nem sikerült a magánterület beállítása"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Újra"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"A privát terület feloldása képernyőzárral?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"A privát terület zárolását feloldhatja ugyanúgy, ahogyan az eszközét is, vagy kiválaszthat másik zárolási lehetőséget."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Képernyőzár használata"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Új zárolás kiválasztása"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Kész is!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"A magánterülete megkereséséhez lépjen az alkalmazáslistához, majd görgessen le"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Kész"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"A privát terület megtaláláshoz görgessen le"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Bejelentkezés"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Jelentkezzen be fiókjába, hogy használni tudja a magánterületével"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Most nem"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Tovább"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Válasszon zárolást a privát területhez"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Ujjlenyomata segítségével feloldhatja a privát terület zárolását. Biztonsági okokból ennek a beállításnak az esetében szükség van biztonsági zárolásra is."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"PIN-kód beállítása a privát területhez"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Jelszó beállítása a privát területhez"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Minta beállítása a privát területhez"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Legfeljebb <xliff:g id="COUNT">%d</xliff:g> ujjlenyomatot adhat hozzá"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Elérte a hozzáadható ujjlenyomatok maximális számát"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nem lehet több ujjlenyomatot hozzáadni"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Minta"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-kód"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Jelszó"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Törli a képernyőzárat?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Eltávolítja az eszköz zárolásának összes feloldási típusát?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Eltávolítja a profilvédelmet?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Minta védi a telefonját, ha elveszik vagy ellopják."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Minta védi a telefonját, ha elveszik vagy ellopják.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Ezzel törli az eszközön tárolt ujjlenyomatmodellt. Arcmodellje is véglegesen és biztonságosan törölve lesz. Nem tudja majd hitelesítésre használni az arcát és ujjlenyomatát az appokban."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-kód védi a telefonját, ha elveszik vagy ellopják."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Mentett adatai (például PIN-kódja) elvesznek.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Az érintés nélküli fizetésre beállított kártyákat a rendszer eltávolítja.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Előfordulhat, hogy az eszköz zárolásának feloldását igénylő Wallets és egyéb alkalmazások nem megfelelően működnek."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-kód védi a telefonját, ha elveszik vagy ellopják.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ezzel törli az eszközön tárolt ujjlenyomatmodellt is. Nem tudja majd hitelesítésre használni az ujjlenyomatát az appokban."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Mentett adatai (például PIN-kódja és ujjlenyomatmodellje) elvesznek.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Az érintés nélküli fizetésre beállított kártyákat a rendszer eltávolítja.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Előfordulhat, hogy az eszköz zárolásának feloldását igénylő Wallets és egyéb alkalmazások nem megfelelően működnek."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-kód védi a telefonját, ha elveszik vagy ellopják.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Arcmodellje is véglegesen és biztonságosan törölve lesz. Nem tudja majd hitelesítésre használni az arcát az appokban."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Mentett adatai (például PIN-kódja és arcmodellje) elvesznek.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Az érintés nélküli fizetésre beállított kártyákat a rendszer eltávolítja.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Előfordulhat, hogy az eszköz zárolásának feloldását igénylő Wallets és egyéb alkalmazások nem megfelelően működnek."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-kód védi a telefonját, ha elveszik vagy ellopják.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ezzel törli az eszközön tárolt ujjlenyomatmodellt. Arcmodellje is véglegesen és biztonságosan törölve lesz. Nem tudja majd hitelesítésre használni az arcát és ujjlenyomatát az appokban."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Mentett adatai (például PIN-kódja, arc- és ujjlenyomatmodellje) elvesznek.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Az érintés nélküli fizetésre beállított kártyákat a rendszer eltávolítja.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Előfordulhat, hogy az eszköz zárolásának feloldását igénylő Wallets és egyéb alkalmazások nem megfelelően működnek."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Jelszó védi a telefonját, ha elveszik vagy ellopják."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Jelszó védi a telefonját, ha elveszik vagy ellopják.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Párosítja a következővel: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Új tag hozzáadása a meglévő koordinált készlethez"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Erősítse meg az audioeszköz második darabjának hozzáadásához"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-párosítókód"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Gépelje be a párosítókódot, majd nyomja meg az Enter vagy a Return gombot"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"A PIN-kód betűket vagy szimbólumokat tartalmaz"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 számjegyűnek kell lennie"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Előfordulhat, hogy a PIN-kódot a másik készüléken is meg kell adnia."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Előfordulhat, hogy az azonosító kulcsot a másik eszközön is be kell írnia."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Erősítse meg a koordinált készlettel való párosításhoz"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Erősítse meg az audioeszközhöz való párosításhoz"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Hozzáférést biztosít névjegyeihez és híváslistájához"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Hozzáférés engedélyezése a névjegyekhez és a híváslistához is"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Az információkat a hívások bejelentéséhez és egyebekhez használjuk majd fel"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nem sikerült csatlakozni a következőhöz: <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Rendelkezésre álló eszközök"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Kapcsolódás"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Szétkapcsolás"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Párosítás és csatlakozás"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Ha a Bluetooth aktív, az eszköz képes kommunikálni a közelben lévő Bluetooth-eszközökkel."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Ha a Bluetooth aktív, az eszköz képes kommunikálni a közeli Bluetooth-eszközökkel."</string>
     <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_scan_change" msgid="1744636222637390367">"Módosítás"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Eszközadatok"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Annak engedélyezése az ART számára, hogy ellenőrizze a hibaelhárítást igénylő alkalmazások bájtkódját."</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Frissítési gyakoriság"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"A jelenlegi kijelzőfrissítési gyakoriság mutatása"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR arány mutatása"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"A jelenlegi HDR/SDR arány mutatása"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Az NFC használatához fel kell oldani az eszköz zárolását"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Repülős üzemmódban"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Értesítés a nyilvános hálózatokról"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Értesítsen, ha rendelkezésre áll jó minőségű nyilvános hálózat"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP-hálózatok engedélyezése"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"A WEP egy régebbi, kevésbé biztonságos biztonsági protokoll."</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Szolgáltatója nem engedélyezi a WEP-hálózatokat, mert kevésbé biztonságosak."</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi automatikus bekapcsolása"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"A Wi‑Fi újra bekapcsol jó minőségű mentett hálózatok (például az otthoni hálózat) közelében"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nem áll rendelkezésre, mert a helyszolgáltatás ki van kapcsolva. "<annotation id="link">"Helyszolgáltatás"</annotation>" bekapcsolása."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"A Wi-Fi-keresés engedélyezi az alkalmazásoknak és szolgáltatásoknak, hogy Wi-Fi-hálózatokat keressenek még akkor is, ha ki van kapcsolva a Wi-Fi. Ez például a helyalapú funkciók és szolgáltatások hatékonyságának javítására használható."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Bekapcsolás"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi-keresés bekapcsolva"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ez a hálózat egy régebbi, kevésbé biztonságos biztonsági protokollt használ."</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"A(z) <xliff:g id="NAME">%1$s</xliff:g> le van tiltva"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ez a hálózat egy régebbi, kevésbé biztonságos biztonsági protokollt (WEP-et) használ. Ha ennek ellenére csatlakozni szeretne hozzá, engedélyezheti a WEP-hálózatokat."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Szolgáltatója nem engedélyezi a csatlakozást, mert ez a hálózat egy régebbi, kevésbé biztonságos biztonsági protokollt használ."</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"A WEP engedélyezése"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Bezárás"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Speciális beállítások"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Legördülő lista – Speciális beállítások"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"kibontás"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Maradjon a Wi-Fi-hálózaton"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ne jelenjen meg többé"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Kapcsolódás"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi bekapcsolva"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Kapcsolódva a(z) <xliff:g id="NETWORK_NAME">%1$s</xliff:g> hálózathoz"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Csatlakozás a következőhöz: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Csatlakozás…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Nem sikerült hálózathoz csatlakozni."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"A hálózat nincs hatókörön belül"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Elfelejt"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Módosítás"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Nem sikerült elfelejteni a hálózatot."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Mentés"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Nem sikerült menteni a hálózatot."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Mégse"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobiladat"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Töltés"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Töltés"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspotkapcsolat"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Kapcsolat erőssége"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Mentett hálózatok"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nincs beállítva jelszó"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot neve"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot jelszava"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP-sáv"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Wi-Fi-hotspot automatikus kikapcsolása"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Amikor nincsenek csatlakoztatva eszközök"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Kompatibilitás bővítése"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Kijelző fehéregyensúlya"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Appok megtartása összehajtáskor"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Néhány tartalomnál automatikusan megemeli a frissítési gyakoriságot 60-ról <xliff:g id="ID_1">%1$s</xliff:g> Hz-re. Növeli az akkumulátorhasználatot."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Játékok alapértelmezett képkockasebességének letiltása"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Maximális képkockasebesség korlátozásának letiltása <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz-es játékoknál."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Néhány tartalomnál automatikusan megemeli a frissítési gyakoriságot <xliff:g id="ID_1">%1$d</xliff:g> Hz-re. Növeli az akkumulátorhasználatot."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Legmagasabb frissítési gyakoriság kényszerítése"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Legnagyobb frissítési gyakoriság a kifinomultabb érintési érzékenység és a jobb minőségű animációk érdekében. Növeli az akkumulátorhasználatot."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Képernyőfigyelő"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"A Képernyőfigyelő az előlapi kamerát használja annak ellenőrzésére, hogy nézi-e valaki a képernyőt. A funkció az eszközön működik, és a fotókat sosem tárolja vagy küldi tovább a Google-nak."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Képernyőfigyelő bekapcsolása"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ne kapcsoljon ki a képernyő, amíg nézem"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Hosszabb képernyő-időkorlát használata nagyobb akkumulátorhasználattal jár."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera zárolva"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Az arcfelismerés működéséhez a kamera zárolásának feloldása szükséges."</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"A kamerának feloldva kell lennie a képernyőfigyelő használatához"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (<xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>. SIM-kártya-foglalat)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (<xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>. SIM-kártya-foglalat) (elsődleges)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"A megtekintéshez válassza ki a mentett hálózatot"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL verzió"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Akkumulátorszint"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Közösségi"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Közösségi beállítások"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Műholdas üzenetváltás"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-ek"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Hozzáférési pont szerkesztése"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Hozzáférési pont hozzáadása"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nincs megadva"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nincs beállítva"</string>
     <string name="apn_name" msgid="6677695784108157953">"Név"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN engedélyezve"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN kikapcsolva"</string>
     <string name="bearer" msgid="3231443241639159358">"Hordozószolgáltatás"</string>
+    <string name="network_type" msgid="748590707422733595">"Hálózat típusa"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nincs megadva"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO típusa"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO értéke"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN törlése"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Mentés"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Mégse"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Ismétlődő APN-megadás"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"A Név mező nem lehet üres."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Az APN nem lehet üres."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Az MCC mezőnek három számjegyet kell tartalmaznia."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Az MNC mezőbe 2 vagy 3 számjegyet kell írni."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"A szolgáltató nem engedélyezi a következő típusú APN-ek hozzáadását: %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Az MMSC-mezőnek érvényesnek kell lennie."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Alapértelmezett APN-beállítások visszaállítása."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Visszaállítás alaphelyzetbe"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Az alapértelmezett APN-beállítások visszaállítása befejeződött."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Alaphelyzet"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"A Bluetooth és a Wi‑Fi visszaállítása megtörtént"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"e-SIM-ek törlése"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Ezzel nem szűnik meg egyetlen mobil-előfizetési csomag sem. Csere-SIM letöltése érdekében forduljon szolgáltatójához."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Ezzel nem mondja le a mobil-előfizetését. Csere-SIM-kártyát a szolgáltatójától kérhet."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Beállítások visszaállítása"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Alaphelyzetbe állítja az összes hálózati beállítást? Ez a művelet nem vonható vissza."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Visszaállítja az összes hálózati beállítást, és törli az eSIM-eket? Ez a művelet nem vonható vissza."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Visszaállítja?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"A hálózati beállítások visszaállítása nem hajtható végre ennél a felhasználónál"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"A hálózati beállítások vissza lettek állítva."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Nem lehet törölni a SIM-eket"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Hiba történt, ezért nem sikerült az eSIM törlése.\n\nIndítsa újra az eszközt, majd próbálja újra."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Az eSIM-ek nem törölhetők"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Hiba történt, ezért nem sikerült az eSIM-ek törlése.\n\nIndítsa újra az eszközt, majd próbálja újra."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Összes adat törlése (gyári beállítások visszaállítása)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Összes adat törlése"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"a zenéket"</li>\n<li>"a fotókat"</li>\n<li>"más felhasználói adatokat"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-ek"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Ezzel nem szünteti meg mobil-előfizetését."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Az összes személyes adatot és letöltött alkalmazást törli. Ez a művelet nem vonható vissza."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Az összes személyes adata törlődik (beleértve a letöltött alkalmazásokat és SIM-eket is). Ez a művelet nem vonható vissza."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Az összes személyes adata törlődik (beleértve a letöltött alkalmazásokat és eSIM-eket is). Ez a művelet nem vonható vissza."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Törli az összes adatot?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"A gyári beállítások visszaállítása nem hajtható végre ennél a felhasználónál"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Törlés"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nincs internetmegosztás más eszközökkel"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Ki"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Internetmegosztás"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ne használjon Wi‑Fi-hotspotot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internetmegosztás csak USB-n keresztül"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internetmegosztás csak Bluetooth-on keresztül"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Internetmegosztás csak Etherneten keresztül"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internetmegosztás csak USB-n és Bluetooth-on keresztül"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Internetmegosztás csak USB-n és Etherneten keresztül"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Internetmegosztás csak Bluetooth-on és Etherneten keresztül"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Internetmegosztás csak USB-n, Bluetooth-on és Etherneten keresztül"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-megosztás"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-megosztás"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet megosztása"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"A hotspot és az internetmegosztás funkcióval más eszközöknek biztosíthat internet-hozzáférést saját Wi‑Fi- vagy mobiladat-kapcsolatán keresztül. Az alkalmazások szintén létrehozhatnak hotspotot, hogy tartalmat osszanak meg a közeli eszközökkel."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Súgó"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilhálózat"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilcsomag"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-küldő"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Módosítja az SMS-alkalmazást?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"A(z) <xliff:g id="CURRENT_APP">%2$s</xliff:g> helyett a(z) <xliff:g id="NEW_APP">%1$s</xliff:g> kezelje az SMS-eket?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi-kezelő módosítása?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Szeretné a(z) <xliff:g id="NEW_APP">%1$s</xliff:g> alkalmazást használni a(z) <xliff:g id="CURRENT_APP">%2$s</xliff:g> helyett a hálózati kapcsolatok kezelésére?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Szeretné a(z) <xliff:g id="NEW_APP">%s</xliff:g> alkalmazást használni a hálózati kapcsolatok kezelésére?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Ismeretlen szolgáltató"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nem rendelkezik hozzáférés-kezelő webhellyel"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Helyezze be a SIM-kártyát és indítsa újra"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Csatlakozzon az internethez"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Legutóbbi helylekérdezések"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"A munkahelyi profil helye"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Appok helyelérési engedélyei"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Hozzáférés letiltása"</string>
     <string name="controls_label" msgid="8671492254263626383">"Vezérlőelemek"</string>
     <string name="force_stop" msgid="2681771622136916280">"Kényszerített leállítás"</string>
+    <string name="archive" msgid="9074663845068632127">"Archiválás"</string>
+    <string name="restore" msgid="7622486640713967157">"Visszaállítás"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Visszaállítás"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Visszaállítás."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Visszaállítás…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Visszaállítás…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Összesen"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Alkalmazás mérete"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB-alkalmazás"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"A csomag méretének kiszámítása sikertelen."</string>
     <string name="version_text" msgid="7628938665256107608">"Verzió: <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Áthelyezés"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiválás sikertelen"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> archiválva"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"A visszaállítás nem sikerült"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> visszaállítása…"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Már folyamatban van egy másik adatátvitel."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nincs elég tárhely."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Az alkalmazás nem létezik."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Használható képernyő-billentyűzet"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Képernyő-billentyűzetek kezelése"</string>
     <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="6922850403920596246">"A Billentyűblokkolás engedélyezése a fizikai billentyűzet kisegítő lehetőségeként"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Lassú billentyűk"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Engedélyezheti a Lassú billentyűket a fizikai billentyűzet kisegítő lehetőségeként"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Beragadó billentyűk"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Engedélyezheti a Beragadó billentyűket a fizikai billentyűzet kisegítő lehetőségeként"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Mutató sebessége"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Érintőpad-kézmozdulatok megismerése"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ugrás a főoldalra"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Csúsztasson gyorsan felfelé 3 ujjával bárhol az érintőpadon"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Vissza"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Rendszerezés: használat ideje"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Rendszerezés: utolsó használat"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Rendszerezés: alkalmazásnév"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Utoljára használva"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Legutóbbi használat"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"soha"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Használat ideje"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Kisegítő lehetőségek"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Kisegítő lehetőségek beállításai"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Nagyítás három koppintással"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Nagyítás gyorsparanccsal"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Nagyítás gyorsparanccsal és három koppintással"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Megnyitás a kisegítő gombbal"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"A megnyitáshoz tartsa lenyomva a hangerőgombokat"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Koppintson háromszor a képernyőn a megnyitáshoz"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Koppintson két ujjal a képernyőn duplán a megnyitáshoz"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Megnyitás kézmozdulattal"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Kisegítő kézmozdulat használata"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"A funkció használatához koppintson a képernyő alján megtalálható Kisegítő lehetőségek <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> gombra.\n\nA funkciók közti váltáshoz tartsa lenyomva ujját a Kisegítő lehetőségek gombon."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"A funkció használatához koppintson a képernyőn a Kisegítő lehetőségek gombra."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"A funkció használatához tartsa lenyomva mindkét hangerőszabályzó gombot."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"A nagyítás megkezdéséhez és leállításához koppintson háromszor bárhol a képernyőn."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"A nagyítás megkezdéséhez és leállításához koppintson két ujjal duplán bárhol a képernyőn."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"A funkció használatához 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"A funkció használatához 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"A Kisegítő lehetőségek valamelyik funkciójának használatához 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"A Kisegítő lehetőségek valamelyik funkciójának használatához 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_tutorial_dialog_button" msgid="2031773187678948436">"Értem"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Kisegítő gomb beállításai"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"A gomb beállításai"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> gyorsparancsa"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Kisegítő lehetőségek gomb"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Kisegítő kézmozdulat"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hangerőgombok nyomva tartása"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hangerőgombok nyomva tartása"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dupla koppintás a képernyőn két ujjal"</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="6863958573135995927">"háromszori koppintás a képernyőre"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"További információ a Kisegítő lehetőségek gombról és a kézmozdulatokról"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"A kisegítő lehetőségek gomb használata. Kézmozdulat nem használható háromgombos navigáció esetén."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Gyors hozzáférés a kisegítő lehetőségekhez"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Kezdő lépések"</b>\n"1. Lépjen a kisegítő lehetőségek beállításaihoz.\n2. Koppintson a kívánt funkcióra, majd a gyorsparancsra.\n3. Válassza ki, hogy gombbal vagy kézmozdulattal szeretne-e hozzáférni a funkcióhoz."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Kezdő lépések"</b>\n"1. Lépjen a kisegítő lehetőségek beállításaihoz.\n2. Koppintson a kívánt funkcióra, majd a gyorsparancsra.\n3. Válassza ki, hogy melyik gombbal szeretne hozzáférni a funkcióhoz."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Kezdő lépések&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Lépjen a kisegítő lehetőségek beállításaihoz&lt;br/&gt; {1,number,integer}. Koppintson a kívánt funkcióra, majd a gyorsparancsra&lt;br/&gt; {2,number,integer}. Válassza ki, hogy gombbal vagy kézmozdulattal szeretne-e hozzáférni a funkcióhoz&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Kezdő lépések&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Lépjen a kisegítő lehetőségek beállításaihoz&lt;br/&gt; {1,number,integer}. Koppintson a kívánt funkcióra, majd a gyorsparancsra&lt;br/&gt; {2,number,integer}. Válassza ki, hogy melyik gombbal szeretne hozzáférni a funkcióhoz&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Gomb vagy kézmozdulat használata"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Hely"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Méret"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"A bekapcs. gomb megszakítja a hívást"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Nagy egérmutató"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Könnyebben észrevehetővé teszi az egérmutatót"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Legyen az összes app sötét"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Appokra érvényes a sötét témájuk nélkül. Egyes appoknál megjelenítési probléma (pl. invertált szín) léphet fel."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animációk eltávolítása"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Mozgás mennyiségének csökkentése a képernyőn"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monó hang"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Rezgés és haptikus visszajelzés használata"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Ébresztés rezgése"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Rezgés médiatartalommal"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Billentyűzet rezgése"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Csengés rezgése"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Értesítések rezgése"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Visszajelzés az érintésekről"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Leállítás"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Mégse"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Leállítja a következőt: <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"A <xliff:g id="STOP">%1$s</xliff:g> gombra koppintva leállítja a következő szolgáltatást: <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Igen"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Nem"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Kikapcsolja a következőt: <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nincs telepített szolgáltatás"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nincs kiválasztott szolgáltatás"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nincs leírás."</string>
     <string name="settings_button" msgid="2195468788019730377">"Beállítások"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"fényérzékenység, fotofóbia, sötét téma, migrén, fejfájás, olvasó mód, éjszakai mód, fényerő csökkentése, fehér pont"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Egyszerű használat, egyszerű hozzáférés, segítség, kisegítő"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"látás, hallás, vak, siket, mozgás, kézügyesség, kisegítő, segítség, egyszerű használat, egyszerű hozzáférés, kéz, súgó"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Ablaknagyító, nagyítás, gyengénlátó, nagyít, felnagyít"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Feliratok, feliratozás, azonnali átírás, nagyothalló, halláskárosodás, CART, beszéd szöveggé alakítása, felirat"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"színkontraszt"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorikus, egér"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hallókészülékek, nagyothalló, hallásvesztés, cochleáris implantátumok, erősítő eszközök, hangfeldolgozók"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"mozgás, egér, külső egér, fejegér, adaptív egér, kerekesszék, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hallókészülékek, nagyothalló, hallásvesztés, cochleáris implantátumok, erősítő eszközök, hangfeldolgozók, segélyhívásokat fogadó központ"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"nagyothalló, halláskárosodás, feliratok, Teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"három gomb"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"kézügyesség, mozgás, idős, ízületi gyulladás, rsi, stroke, remegés, szklerózis multiplex, agyi paralízis, reszketés, ismétlődő terhelések okozta sérülés, kéz"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"késés, kézügyesség, idős"</string>
     <string name="print_settings" msgid="8519810615863882491">"Nyomtatás"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Kikapcsolva"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 bekapcsolt nyomtatási szolgáltatás}other{# bekapcsolt nyomtatási szolgáltatás}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> -- <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> van hátra"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> a feltöltéshez"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Képernyőidő"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Háttérben töltött idő"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Alacsony töltöttség"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Az alkalmazás háttérben futásának engedélyezése"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Korlátozza a háttértevékenységet?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ha korlátozza az alkalmazások háttértevékenységét, lehetséges, hogy hibásan fognak működni"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Az alkalmazás nem korlátozható, mert nincs beállítva az akkumulátor optimalizálására.\n\nA korlátozáshoz kapcsolja be az akkumulátoroptimalizálást."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akkumulátorhasználat kezelése"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Háttérbeli futtatás engedélyezése"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Engedélyezze a valós idejű frissítésekhez, vagy tiltsa le az akkumulátor kíméléséhez"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Korlátlan"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalizált"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Korlátozott"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Az akkumulátort leginkább használó alkalmazások megtekintése"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Optimalizált töltés az akkumulátor védelme érdekében"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Az akkumulátor élettartamának növelése érdekében optimalizálva van a töltés"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Optimalizált töltés az akkumulátor védelme érdekében"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Az akkumulátor élettartamának növelése érdekében dokkolás közben optimalizálva van a töltés"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Optimalizált töltés az akkumulátor védelme érdekében"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Az akkumulátor élettartamának növelése érdekében dokkolás közben optimalizálva van a töltés"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Teljes feltöltés"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Az akkumulátor élettartamának növelése érdekében optimalizálva lesz a töltés, amikor legközelebb dokkolva tölti a táblagépet"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"További információ a töltés szüneteltetéséről"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Töltés folytatása"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Tartalmazza a sok energiát igénylő háttérbeli tevékenységeket"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ez az alkalmazás a háttérben is használhatja az akkumulátort. Emiatt az akkumulátor a vártnál gyorsabban lemerülhet."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Eltávolítás"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Mégse"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Teljes feltöltés"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Probléma van a töltőtartozékkal"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Ellenőrizze a töltőtartozékot"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"További információ a nem kompatibilis töltésről"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akkumulátorkezelő"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Alkalmazások automatikus kezelése"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"az utolsó teljes feltöltés óta"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Rendszeralkalmazások"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Eltávolított alkalmazások"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Egyéb"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Becsült hátralévő idő"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"A teljes feltöltésig"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Összesen: kevesebb mint egy perc"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Háttér: egy percnél kevesebb"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Képernyőidő: egy percnél kevesebb"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Kevesebb mint egy perc"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Összesen: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Háttér: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Képernyőidő: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"most"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Akkumulátorhasználatot szemléltető diagram"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Napi akkumulátorhasználatot szemléltető diagram"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Óránkénti akkumulátorhasználatot szemléltető diagram"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Akkumulátor töltöttségi szintje: <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>–<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Akkuhasználat a legutóbbi teljes feltöltés óta"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Akkuhasználat – <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Képernyőidő az utolsó teljes feltöltés óta"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Segélyhívó jelzés"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Viselkedés beállítása segélyhívás kezdeményezésekor"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Biztonsági mentés"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Be"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Ki"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Biztonsági mentés és visszaállítás"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Személyes adatok"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Adatok mentése"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobiladat és Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Személyesadat-szinkronizálás"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Munkaadat-szinkronizálás"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Privát adatok automatikus szinkronizálása"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Ciklus módosítása..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Az adatforgalmi ciklus visszaállítása a hónap e napján:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Egy alkalmazás sem használt adatokat ekkor."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Név"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Típus"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Szerver címe"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-titkosítás (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-titok"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-azonosító"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Megosztott IPSec-kulcs"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec felhasználói tanúsítvány"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-tanúsítvány"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-szervertanúsítvány"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Speciális beállítások megjelenítése"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-keresési domainek"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-szerverek (pl. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Átirányítási útvonalak (pl. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Felhasználónév"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Jelszó"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Fiók adatainak mentése"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nincs használatban)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne ellenőrizze a szervert)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(szervertől fogadva)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ez a VPN-típus nem maradhat mindig csatlakoztatva"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"A mindig bekapcsolt VPN kizárólag a számjegyekből álló szervercímeket támogatja"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Mindig bekapcsolt VPN-hez DNS szerver megadása kötelező"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Mindig bekapcsolt VPN esetén a DNS-szervercímeknek számjegyekből kell állniuk"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"A megadott információ nem támogatja a mindig bekapcsolt VPN-t"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Mégse"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Elvetés"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN nélküli csatlakozások letiltása"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Kötelezővé teszi a VPN-kapcsolatot?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nem biztonságos. Frissítsen IKEv2 VPN-re."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nem sikerült elindítani a nem támogatott VPN-t."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Válasszon ki egy VPN-profilt, amelyhez mindig csatlakozni szeretne. A hálózati forgalom csak akkor lesz engedélyezve, ha ehhez a VPN-hez csatlakozik."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nincs"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A mindig bekapcsolt VPN-hez a szerver és a DNS IP-címe is szükséges."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"NARANCS riasztás"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Közlemények kérése elrabolt gyerekekről"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ismétlés"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Híváskezelő engedélyezése"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Engedélyezi a szolgáltatás számára a hívások módjának kezelését."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Híváskezelő"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Vezeték nélküli vészjelzések"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Mobilszolgáltatók"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Hozzáférési pontok nevei"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-kártya állapota"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM állapota (%1$d. SIM-foglalat)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-ek módosítva."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Sikerült a SIM-váltás"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Koppintson ide a beállításhoz"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Mindig kérdezzen rá"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Ki kell választani"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Legutóbbi alkalmazások, alapértelmezett alkalmazások"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Az értesítésekhez való hozzáférés a munkaprofil alkalmazásai számára nem áll rendelkezésre."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Jelszavak és fiókok"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Mentett jelszavak, automatikus kitöltés, szinkronizált fiókok"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Bejelentkezési javaslatok és automatikus kitöltés"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Alapértelmezett alkalmazások"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klónozott alkalmazások"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Létrehozhat másodpéldányt a kívánt alkalmazásokról, hogy egyszerre két fiókot használhasson."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"fizetés, koppintás, kifizetések"</string>
     <string name="keywords_backup" msgid="707735920706667685">"biztonsági másolat, biztonsági mentés"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"kézmozdulat"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"arc, feloldás, hitelesítés, bejelentkezés"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"arc, feloldás, hitelesítés, bejelentkezés, ujjlenyomat, biometria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-verzió, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"betűméret, nagybetű, nagy betűtípus, nagy szöveg, gyengénlátó, szöveg nagyítása, betűtípusnagyító, betűtípus-nagyítás"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"Mindig bekapcsolt környezeti kijelző (Always on Ambient Display, AOD)"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, címke, olvasó"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"billentyűzet, rezgés, vibrálás,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hangerő, rezgés, Ne zavarjanak"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Média hangereje"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Átküldés hangereje"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Indítási hangok"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Élő feliratozás"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatikus feliratozás"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefon hangszórója"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Táblagép hangszórója"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Eszköz hangszórója"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Vezetékes fejhallgató"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"A kompatibilis médiatartalmak hangja még inkább magával ragadó lesz"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Ki"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Az összes értesítés jelenjen meg"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Érzékeny tartalmak megjelenítése csak feloldáskor"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Semmilyen értesítés ne jelenjen meg"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hogyan szeretné megjeleníteni az értesítéseket a lezárási képernyőn?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Mit szeretne megjeleníteni a lezárási képernyőn?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lezárási képernyő"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"A munkaprofil-értesítés teljes tartalmának megjelenítése"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Bizalmas munkahelyi tartalom elrejtése"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Legutóbbi beszélgetések eltávolítva"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"A beszélgetés eltávolítva"</string>
     <string name="clear" msgid="5092178335409471100">"Törlés"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> eltávolítása"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Az elsődleges és a módosított beszélgetések itt jelennek meg"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Amikor elsődlegesként jelöl meg egy beszélgetést, vagy ha bármilyen más módosítást végez a beszélgetéseken, ezek az információk itt jelennek meg. \n\nA beszélgetésbeállítások módosításához tegye a következőket: \nCsúsztassa le ujját a képernyő tetejétől a lehúzható értesítési felület megnyitásához, majd tartsa lenyomva ujját az egyik beszélgetésen."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Kis méret"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Értesítések befagyasztása"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Befagyasztás alkalmazása az összes értesítésre"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Az értesítések mennyiségének fokozatos csökkentése, ha több értesítés is érkezik egymást követően ugyanattól az alkalmazástól"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Befagyasztás alkalmazása a beszélgetésekre"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Az értesítések mennyiségének fokozatos csökkentése, ha sorozatban több értesítés is érkezik rövid időn belül ugyanabból a beszélgetésből"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ne használja az értesítések befagyasztását"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Sose csökkentse az értesítések mennyiségét az ugyanattól az alkalmazástól egymást követően érkező értesítések mennyiségének ellenére se"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Rezgés a zárolás feloldásakor"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Rezgés csak akkor, ha a képernyő zárolása fel van oldva"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Alkalmazás munkaprofilokra"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Az értesítések személyes profilban megadott befagyasztására vonatkozó beállítások alkalmazása a munkaprofilban"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Virtuálisvalóság-segédszolgáltatás"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Egy telepített alkalmazás sem kérte, hogy virtuálisvalóság-segédszolgáltatásként legyen futtatva."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Hozzáférhet a(z) <xliff:g id="SERVICE">%1$s</xliff:g> a virtuálisvalóság-szolgáltatáshoz?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Ki"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Alkalmazáskitűzés"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Az alkalmazáskitűzés funkcióval az aktuális alkalmazás az előtérben marad egészen addig, amíg meg nem szünteti a kitűzést. Így például biztosíthatja, hogy ha valaki másnak adja át eszközét, az illető csak a kiválasztott alkalmazást használhatja."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"A kitűzött alkalmazás megnyithat más alkalmazásokat, és bizonyos személyes adatok hozzáférhetők lehetnek. \n\nAz alkalmazásokat a következőképpen tűzheti ki: 	\n1. Kapcsolja be az alkalmazáskitűzés beállítást. 	\n2. Nyissa meg az Áttekintés nézetet. 	\n3. Koppintson a képernyő tetején található alkalmazásikonra, majd a Kitűzés elemre."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"A kitűzött alkalmazás megnyithat más alkalmazásokat, és bizonyos személyes adatok hozzáférhetők lehetnek. \n\nHa szeretné biztonságosan megosztani eszközét másokkal, próbáljon inkább vendégprofilt használni. \n\nAz alkalmazásokat a következőképpen tűzheti ki: 	\n1. Kapcsolja be az alkalmazáskitűzés beállítást. 	\n2. Nyissa meg az Áttekintés nézetet. 	\n3. Koppintson a képernyő tetején található alkalmazásikonra, majd a Kitűzés elemre."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"A kitűzött alkalmazás megnyithat más alkalmazásokat, és bizonyos személyes adatok hozzáférhetők lehetnek. \n\nAlkalmazáskitűzés használata: 	\n{0,number,integer}. Alkalmazáskitűzés funkció bekapcsolása 	\n{1,number,integer}. Áttekintés megnyitása 	\n{2,number,integer}. Koppintson a képernyő tetején található alkalmazásikonra, majd a Kitűzés elemre."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"A kitűzött alkalmazás megnyithat más alkalmazásokat, és bizonyos személyes adatok hozzáférhetők lehetnek. \n\nHa szeretné biztonságosan megosztani eszközét másokkal, próbáljon inkább vendégprofilt használni. \n\nAlkalmazáskitűzés használata: 	\n{0,number,integer}. Alkalmazáskitűzés funkció bekapcsolása 	\n{1,number,integer}. Áttekintés megnyitása 	\n{2,number,integer}. Koppintson a képernyő tetején található alkalmazásikonra, majd a Kitűzés elemre."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Az alkalmazás kitűzését követően: \n\n•		Bizonyos személyes adatok hozzáférhetők lehetnek \n		(például a névjegyek és az e-mailek tartalma). \n•		A kitűzött alkalmazás más alkalmazásokat is megnyithat. \n\nCsak olyan személyekkel használja az alkalmazáskitűzést, akikben megbízik."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Feloldási minta kérése a rögzítés feloldásához"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"PIN-kód kérése a kitűzés megszüntetéséhez"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Jelszó kérése a rögzítés feloldásához"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Eszköz zárolása a rögzítés feloldásakor"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM törlésének megerősítése"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Erősítse meg, hogy törölni szeretné az eSIM-et"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Az eSIM törlése előtt igazolnia kell személyazonosságát"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Speciális memóriavédelem (béta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Speciális memóriavédelem"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Nem használt alkalmazások beállításai"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"App szüneteltetése, ha nem használja"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Engedélyek eltávolítása, ideiglenes fájlok törlése és értesítések leállítása"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Használaton kívüli alkalmazás kezelése"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Engedélyek eltávolítása, ideiglenes fájlok törlése, értesítések leállítása és az alkalmazás archiválása"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Az összes alkalmazás"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Telepített alkalmazások"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Azonnali alkalmazások"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Szabad"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Alkalmazások által használt memória"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 alkalmazás használt memóriát az elmúlt {time} során}other{# alkalmazás használt memóriát az elmúlt {time} során}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Memóriahasználati profil engedélyezése"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"A memóriahasználati profilalkotáshoz további rendszererőforrásokra van szükség."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Memóriahasználati profil kikapcsolva"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Gyakoriság"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximális használat"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nincs felhasznált adatmennyiség"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Megjelenítés a többi alkalmazás fölött"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Más alkalmazások fölé helyezés engedélyezése"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Lehetővé teszi az adott alkalmazás számára, hogy megjelenjen a többi használatban lévő alkalmazás fölött. Ez az alkalmazás látja majd, hogy Ön hova kattint, illetve módosíthatja a képernyőn megjelenő tartalmakat."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Médiakiment módosítása"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Az appok átválthatják a médiakimenetet"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Engedélyezheti, hogy az app eldöntse, melyik csatlakoztatott eszköz játsszon le hang- vagy videótartalmat más appokról. Engedélyezés után az app hozzáférhet a rendelkezésre álló eszközök (pl. fejhallgatók vagy hangfalak) listájához, és eldöntheti, hogy melyik kimeneti eszközzel streamelje vagy küldje át a hang- vagy videótartalmakat."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Hozzáférés minden fájlhoz"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Hozzáférés megadása minden fájl kezeléséhez"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Engedélyezi ennek az alkalmazásnak az eszközön és a csatlakoztatott tárolóköteteken található összes fájl olvasását, módosítását és törlését. Ha engedélyezve van, az alkalmazás anélkül férhet hozzá a fájlokhoz, hogy Önt külön tájékoztatná róla."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Minden fájlhoz hozzáférhet"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Hangalapú aktiválást használó appok"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Hangalapú aktiválás engedélyezése"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Szabadkezes módban a hangalapú aktiválás bekapcsolhat jóváhagyott alkalmazásokat hangalapú utasítások segítségével. A beépített adaptív érzékelés funkció biztosítja, hogy az adatokhoz cssk Ön férjen hozzá.\n\n"<a href="">"További információ a védett adaptív érzékelésről."</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Teljes képernyős értesítések"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Teljes képernyős értesítések engedélyezése ettől az alkalmazástól"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Teljes képernyős értesítések megjelenítésének engedélyezése az alkalmazásnak, amikor az eszköz zárolva van. Az alkalmazások ébresztések, bejövő hívások vagy más sürgős értesítések kiemelésére használhatják ezt a funkciót."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g>-os adatforgalmi figyelmeztetés"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g>-os adatforgalmi korlátozás"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g>-os adatforgalmi figyelmeztetés / <xliff:g id="ID_2">^2</xliff:g>-os adatforgalmi korlátozás"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"A szolgáltató adatszámlálási módja eltérhet az eszközétől"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Nem tartalmazza a szolgáltatói hálózatokon használt adatforgalmat"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> felhasználva"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Forgalmi figyelmeztetés beáll."</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Frissítve ennyi ideje: <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Éppen most frissítette a(z) <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Most frissítve"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Csomag megtekintése"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Részletek"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Adatforgalom-csökkentő"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Korlátlan adat"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"A(z) <xliff:g id="APP_LABEL">%1$s</xliff:g> többet használta az akkumulátort a megszokottnál, amíg a háttérben volt"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"A(z) <xliff:g id="APP_LABEL">%1$s</xliff:g> többet használta az akkumulátort, amíg az előtérben volt"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"A(z) <xliff:g id="APP_LABEL">%1$s</xliff:g> többet használta az akkumulátort a megszokottnál, amíg az előtérben volt"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akkumulátorhasználati rendellenesség"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Nagy akkumulátorhasználat"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Nagy akkumulátorhasználat a háttérben"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Nagy akkumulátorhasználat az előtérben"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Fejlesztői gyorsbeállítási csempék"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Adb-hitelesítés letiltásának időkorlátja"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Az adb-hitelesítések automatikus megvonásának letiltása olyan rendszerek számára, amelyek nem csatlakoztak újra az alapértelmezett (hétnapos) vagy felhasználó által beállított (legalább egynapos) időszakban."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Érzékelők kikapcsolva"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Munkaprofil beállításai"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"A személyes alkalmazások használatakor kereshet a munkahelyi névjegyek címtárában"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"rendszernavigáció, kétgombos navigáció, háromgombos navigáció, navigáció kézmozdulatokkal, csúsztatás"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitális asszisztens"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Asszisztens megnyitása csúsztatással"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Csúsztassa ujját felfelé valamelyik alsó sarokból a digitális asszisztens megnyitásához."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Csúsztassa ujját felfelé valamelyik alsó sarokból a digitális asszisztens megnyitásához."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Segéd megnyitása a Kezdőképernyő gomb nyomva tartásával"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tartsa lenyomva a Kezdőképernyő gombot a digitális asszisztens megnyitásához."</string>
     <string name="low_label" msgid="6525629096999711220">"Alacsony"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Automatikus kitöltés"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Alapértelmezett automatikus kitöltés"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Jelszavak"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Jelszavak, azonosítókulcsok és adatszolgáltatások"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"További szolgáltatók"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Előnyben részesített szolgáltatás"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Kiegészítő szolgáltatások"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# jelszó}other{# jelszó}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatikus, kitöltés, automatikus kitöltés, jelszó"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"adat, azonosítókulcs, jelszó"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatikus, kitöltés, automatikus kitöltés, adatok, azonosítókulcs, jelszó"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Módosítás"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Megnyitás"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nincs kiválasztott elem"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Győződjön meg arról, hogy az alkalmazás megbízható.&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A(z) &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; az Ön képernyőjén szereplő információk alapján határozza meg, hogy mit lehet automatikusan kitölteni."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Használja a(z) &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; alkalmazást?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A(z) &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; felhasználja az Ön képernyőjén megjelenő információkat az automatikusan kitölthető elemek meghatározásához. Az új jelszavak, azonosítókulcsok és egyéb adatok mostantól ide lesznek mentve."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Jelszavak, azonosítókulcsok és adatszolgáltatások"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Használja a(z) &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; alkalmazást?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Az új jelszavakat, az azonosítókulcsokat és az egyéb információkat mostantól ide menti a rendszer. A(z) &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; alkalmazás felhasználhatja az Ön képernyőjén megjelenő információkat az automatikusan kitölthető elemek meghatározásához."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"A jelszavaknál, az azonosítókulcsoknál és az automatikus kitöltésnél preferált szolgáltatás"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Kikapcsolja a következőt: %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Kikapcsolja a szolgáltatást?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A mentett adatokat, például jelszavakat, azonosítókulcsokat, fizetési módokat és egyéb információkat a rendszer nem fogja kitölteni, amikor be van jelentkezve. A mentett adatok használatához válasszon egy jelszót, azonosítókulcsot vagy adatszolgáltatást."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Jelszavak, azonosítókulcsok, automatikus kitöltés"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Minden szolgáltatást kikpcsol?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A rendszer nem fogja automatikusan kitölteni a jelszavakat, azonosítókulcsokat és egyéb mentett adatokat, amikor Ön be van jelentkezve."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Módosítja a preferált szolgáltatást a következőre: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Az új jelszavak, azonosítókulcsok és egyéb adatok mostantól ide lesznek mentve. A(z) &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; alkalmazás felhasználhatja az Ön képernyőjén megjelenő információkat az automatikusan kitölthető elemek meghatározásához."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Használni szeretné a következőt: %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Kikapcsolás"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Módosítás"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Legfeljebb öt szolgáltatás lehet egyszerre bekapcsolva"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Újabb szolgáltatás hozzáadásához kapcsoljon ki legalább egyet a meglévők közül"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"A(z) %1$s felhasználja az Ön képernyőjén megjelenő információkat az automatikusan kitölthető elemek meghatározásához."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Jelszavak, azonosítókulcsok és adatszolgáltatások korlátja"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Egyszerre legfeljebb öt aktív jelszava, azonosítókulcsa és adatszolgáltatása lehet. Továbbiak hozzáadásához kapcsolja ki valamelyik szolgáltatást."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Jelszavak, azonosítókulcsok és adatszolgáltatások korlátja"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Egyszerre legfeljebb öt aktív jelszava, azonosítókulcsa és adatszolgáltatása lehet. Továbbiak hozzáadásához kapcsolja ki valamelyik szolgáltatást."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Kikapcsolás"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatikus kitöltés"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Naplózási szint"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Az alkalmazáskompatibilitás csak a hibaelhárításra alkalmas alkalmazásoknál módosítható. Telepítsen hibaelhárításra alkalmas alkalmazást, és próbálja újra."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Másik beállítástól függ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Fiók"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d fiók"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Eszköznév"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Alapvető adatok"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Jog és szabályozás"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC-címke beolvasásakor ez az alkalmazás elindulhat.\nHa ez az engedély be van kapcsolva, az alkalmazást ki lehet választani címke észlelésekor."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Média lejátszása:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> lejátszása itt:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"A hang lejátszása folytatódik"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Ez az eszköz"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nem áll rendelkezésre hívások közben"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Hívás fogadása be"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Néma"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Az aktiválásához előbb módosítsa a bekapcsológombhoz tartozó menüben a „Bekapcsológomb lenyomva tartása” beállítást."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Hálózati információk"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Eszköze neve látható a telefonján lévő 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="devices_title" msgid="649715719278562515">"Eszközök"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Hálózat kiválasztása"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Leválasztva"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Név"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Szín (kompatibilis alkalmazásokban)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Mentés"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM-kártya használata"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"A SIM-kártya használata"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Ki"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"A SIM letiltásához távolítsa el a kártyát az eszközből"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Koppintson a következő aktiválásához: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM törlése"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"A SIM kikapcsolásához távolítsa el a SIM-kártyát az eszközből"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Koppintson a <xliff:g id="CARRIER">%1$s</xliff:g>-SIM aktiválásához"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM törlése"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Előnyben részesített hálózattípus"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"A hálózati üzemmód megváltoztatása"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Előnyben részesített hálózattípus"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Az árakat a szolgáltatótól tudhatja meg."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Alkalmazás adathasználata"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Érvénytelen hálózati mód: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Figyelmen kívül hagyás."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Műholdas üzenetváltás"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Szöveges üzeneteket küldhet és fogadhat műholdon keresztül. A szolgáltatás rendelkezésre áll a fiókjában."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Szöveges üzeneteket küldhet és fogadhat műholdon keresztül. A szolgáltatás nem áll rendelkezésre a fiókjában."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Műholdas üzenetváltás"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"A műholdas üzenetváltásról"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Jogosult <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-fiók részeként szöveges üzeneteket küldhet és fogadhat műholdas kapcsolaton keresztül."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"A <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-csomag"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"A műholdas üzenetváltás szolgáltatás rendelkezésre áll a fiókjában"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"A műholdas üzenetváltás szolgáltatás nem áll rendelkezésre a fiókjában"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Műholdas üzenetváltás hozzáadása"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Hogyan működik?"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Amikor nem áll rendelkezésre mobilhálózat"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"A telefon automatikusan csatlakozik az egyik műholdhoz. A jobb kapcsolat érdekében biztosítsa az eszköz szabad rálátását az égre."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Miután telefonja műholdhoz kapcsolódik"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Bárkinek küldhet szöveges üzeneteket, a segélyhívó szolgálatokat is beleértve. A telefon újracsatlakozik az adott mobilhálózatra (ha rendelkezésre áll)."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"A műholdas üzenetváltás hosszabb időt vehet igénybe, és csak bizonyos területeken vehető igénybe, az időjárás és bizonyos építmények pedig befolyásolhatják a műholdas kapcsolatot. A műholdon keresztüli hívás nem áll rendelkezésre.\n\nNémi időbe telhet, amíg a fiókját érintő módosítások megjelennek a Beállítások menüben. Részletekért keressen minket – <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"További információ a műholdas üzenetváltásról"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Hozzáférési pontok nevei"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nem hozzáférhető, amikor a következőhöz csatlakozik: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vált a(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g> szolgáltatóra?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Átvált SIM-kártya használatára?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"A(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g> szolgáltatót szeretné használni?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Egyszerre csak egy SIM-kártya lehet aktív.\n\nA(z) <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> szolgáltatóra történő váltással nem mondja le a(z) <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> szolgáltatását."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Egyszerre csak egy eSIM lehet aktív.\n\nA(z) <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> szolgáltatóra történő váltással nem mondja le a(z) <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> szolgáltatását."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Egyszerre csak egy SIM-kártya lehet aktív.\n\nA váltással nem mondja le a(z) <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> szolgáltatását."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Egyszerre csak egy SIM-kártya lehet aktív.\n\nA(z) <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> szolgáltatóra való váltás nem mondja le a(z) <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> szolgáltatását."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Egyszerre csak egy eSIM lehet aktív.\n\nA(z) <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> szolgáltatóra való váltással nem mondja le a(z) <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> szolgáltatását."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Egyszerre csak egy SIM-kártya lehet aktív.\n\nA váltással nem mondja le a(z) <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> szolgáltatását."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Egyszerre két SIM-kártyát használhat. A(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g> szolgáltató használatához kapcsolja ki a másik SIM-kártyát."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Váltás erre: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> kikapcsolása"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"A SIM-kártya kikapcsolása nem törli a szolgáltatást"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Csatlakozás hálózathoz…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Váltás a(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g> szolgáltatóra hívásokhoz és üzenetekhez…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Nem lehet szolgáltatót váltani"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Hiba történt, ezért nem lehet szolgáltatót váltani."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM aktiválása…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Váltás a következőre: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nem sikerült a SIM-váltás"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Hiba történt. Nem sikerült SIM-et váltani."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Kikapcsolja a következőt: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Kikapcsolja a SIM-et?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM kikapcsolása<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Nem sikerült a szolgáltató letiltása"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Hiba történt, ezért nem sikerült a szolgáltató letiltása."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Nem sikerült a SIM kikapcsolása"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Hiba történt, ezért nem sikerült kikapcsolni a SIM-et."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Kettő SIM-kártyát szeretne használni?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Ezen az eszközön egyszerre két SIM-kártya is aktív lehet. Ha továbbra is csak egy SIM-kártyát szeretne használni, koppintson a „Köszönöm, nem” gombra."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Újraindítja az eszközt?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Köszönöm, nem"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Mégse"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Váltás"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Kikapcsolás"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nem sikerült a SIM aktiválása"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Próbálkozzon meg újra a SIM bekapcsolásával. Ha a probléma továbbra is fennáll, indítsa újra az eszközt."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"A SIM-kártya beállítása"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Mobilhálózati beállítások módosítása több SIM-kártya használatára ezen a telefonon"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"A SIM-kártyák címkézése"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Ezeket a címkéket hívások indításakor, szöveges üzenetek küldésekor és adatok használatakor, valamint a beállítások között látja majd"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-címke"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Címke"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"SIM-ek kijelölése használathoz"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Egyszerre két SIM-et használhat"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Elsődleges SIM-ek beállítása"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Annak kiválasztása, hogy mely SIM-kártyákat használja alapértelmezés szerint a hívásokhoz, a szöveges üzenetekhez és az adatokhoz"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Az elsődleges SIM-ek"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Hívások"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS-ek"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatikus adatváltás"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Adatok használata bármelyik SIM-ről a lefedettségtől és a rendelkezésre állástól függően"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Csak adatkapcsolat"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Beállítás"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Következő"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> bekapcsolása…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilhálózat"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonszám"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-címke és -szín"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Hálózat aktiválása"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Szolgáltatóváltás"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>: aktív"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-SIM-je aktív"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Koppintson a SIM-beállítások frissítéséhez."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Átváltva erre: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Másik szolgáltatóra váltott"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilhálózat módosítva"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Másik SIM-kártya beállítása"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Válassza ki az aktív SIM-kártyát, vagy használjon egyszerre két SIM-kártyát"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"A használni kívánt szám kiválasztása"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 szám áll rendelkezésre ezen az eszközön, és egyszerre csak egyet használhat}=2{2 szám áll rendelkezésre ezen az eszközön, azonban egyszerre csak egyet használhat}other{# szám áll rendelkezésre ezen az eszközön, azonban egyszerre csak egyet használhat}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiválás<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"A profil jelenleg nem aktiválható"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Válassza ki a használni kívánt SIM-et"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM áll rendelkezésre ezen az eszközön, és egyszerre csak egyet használhat}=2{2 SIM áll rendelkezésre ezen az eszközön, azonban egyszerre csak egyet használhat}other{# SIM áll rendelkezésre ezen az eszközön, azonban egyszerre csak egyet használhat}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Bekapcsolás<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Nem sikerült a SIM bekapcsolása"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"A(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g> szolgáltatót szeretné használni?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"A rendszer a(z) <xliff:g id="CARRIER_NAME">%1$s</xliff:g> szolgáltatót használja a mobiladatokhoz, a hívásokhoz és az SMS-ekhez."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nincs rendelkezésre álló aktív SIM-kártya"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Ha a jövőben mobiladatokkal, telefonhívással, továbbá SMS-ekkel kapcsolatos funkciókat szeretne használni, nyissa meg a hálózati beállításokat"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Törli ezt az eSIM-et?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"A SIM törlésével eltávolítja a(z) <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> szolgáltatását erről az eszközről.\n\nA(z) <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> szolgáltatását nem mondja le."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Ezzel eltávolítja a(z) <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> szolgáltatását az eszközről, de az Ön <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-csomagja nem kerül lemondásra."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Törlés"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM törlése…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nem lehet törölni a SIM-et"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hiba történt, ezért nem sikerült a letöltött SIM törlése.\n\nIndítsa újra az eszközt, majd próbálja újra."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM törlése…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Nem sikerült az eSIM törlése"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Hiba történt, és a rendszer nem törölte ezt az eSIM-et.\n\nIndítsa újra az eszközt, és próbálkozzon újra."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Csatlakozás adott eszközhöz"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A(z) <xliff:g id="APPNAME">%1$s</xliff:g> alkalmazás ideiglenes Wi-Fi-hálózatot szeretne használni az eszközhöz való csatlakozáshoz."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nem találhatók eszközök. Ellenőrizze, hogy be vannak-e kapcsolva az eszközök, és lehetséges-e a hozzájuk való csatlakozás."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Segélyhívások"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"A szolgáltatója nem támogatja a Wi‑Fi-híváson keresztüli segélyhívásokat.\nAz eszköz automatikusan mobilhálózatra vált a segélyhívás indításához.\nSegélyhívások indítása csak mobilhálózati lefedettséggel rendelkező területen lehetséges."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Wi-Fi használata a hívásokhoz a minőség javítása érdekében"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Másodlagos hívási lehetőség"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ha a(z) <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nem hozzáférhető, vagy roaming esetén: <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-hívásokhoz használja a SIM mobiladat-forgalmát."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"másodlagos hívási lehetőség"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Bejövő MMS-üzenet"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nem lehet MMS-üzenetet küldeni"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Koppintson az MMS-üzenet-küldés engedélyezéséhez a(z) <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> hálózatán kikapcsolt mobiladatok esetén"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Munkahelyi házirendekkel kapcsolatos adatok"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"A rendszergazda által kezelt beállítások"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Újraindítás 16 kB-os oldalmérettel"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Eszközindítás 16 kB-os oldalakat támogató kernellel"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Újraindítja a rendszert 16 kB-os oldalakkal kompatibilis kernellel?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"FIGYELEM: Előfordulhat, hogy egyes alkalmazások nem kompatibilisek ezzel a móddal. A megerősítést követően újraindul az eszköz."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Újraindítja a rendszert 4 kB-os oldalakkal kompatibilis kernellel?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"A megerősítést követően újraindul az eszköz."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Nem sikerült a kernel frissítése 16 kB-os oldalakkal kompatibilis kernelre."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Módosítás alkalmazása"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Hibajelentés kezelője"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Meghatározza, hogy melyik alkalmazás kezeli a Hibajelentés gyorsparancsot az eszközön."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Személyes"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Engedélyezi a más alkalmazások felett megjeleníthető alkalmazások számára a Beállítások képernyők fedését"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem engedélyezése"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Ez az eszköz futtathat Mock Modem szolgáltatást a mérési teszteléshez. A telefon normál használata során ne engedélyezze ezt a szolgáltatást."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Képernyőmegosztási védelmek letiltása"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Letiltja a rendszer által alkalmazott alkalmazás- és értesítésvédelmeket a képernyőmegosztás során"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Média"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Médialejátszó kitűzése"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"A lejátszás gyors folytatásának érdekében a médialejátszó megnyitva marad a Gyorsbeállításokban."</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Médiatartalom megjelenítése a lezárási képernyőn"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"A lejátszás gyors folytatásának érdekében a médialejátszó megnyitva marad a lezárási képernyőn."</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Javasolt médiatartalmak megjelenítése"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"A Segéd által javasolt médiatartalmak megjelenítése"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Az Ön tevékenységei alapján."</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Lejátszó elrejtése"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Lejátszó megjelenítése"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"média"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Bővítmények engedélyezése a kamera szoftveréhez"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Engedélyezi a speciális kamerafunkciók (pl. hangvezérelt videózás) alapértelmezett szoftveres megvalósítását."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"A Bluetooth bekapcsol"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-kártyák"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-ek"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktív"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inaktív"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Be"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Ki"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Alapértelmezett a következőhöz: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"hívások"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"A kompatibilis médiatartalmak hangja térhatású"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Fejkövetés"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Feje mozgatásával változik a hang, hogy természetesebbnek tűnjön"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Engedélyek szinkronizálása"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Legyenek megadva a(z) <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> eszközön is a következőn már engedélyezett alkalmazásengedélyek: <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Engedélyek szinkronizálása a telefonról"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Biztosítsa óráján is az ezen a telefonon már engedélyezett alkalmazásengedélyeket"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audioeszköz típusa"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Ismeretlen"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Hangszóró"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Közepes"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Nagy"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ez az alkalmazás csak egy ablakban nyitható meg"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Be"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Ki"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Ki"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Ki"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Be"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Ki"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Be"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Ki"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"A világos képernyőket sötétíti, a sötéteket pedig világosítja"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Nagyítás a képernyőn"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Ki"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Ki"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Megtévesztő alkalmazások keresése…"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Adathalászat keresése az alkalmazástevékenységekben"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Megtévesztő alkalmazások keresése"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Megtévesztő munkahelyi alkalmazások keresése"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Jelszó beállítása kész"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mutató megjelenítése rámutatáskor"</string>
 </resources>
diff --git a/res/values-hy/arrays.xml b/res/values-hy/arrays.xml
index fb38c9b..cb568c3 100644
--- a/res/values-hy/arrays.xml
+++ b/res/values-hy/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Հասանելի"</item>
     <item msgid="6096962300722555553">"Ընդգրկույթից դուրս"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Օգտագործել համակարգի կանխադրված կարգավորումը` <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 րոպեից"</item>
     <item msgid="1574040255478150028">"5 րոպեից"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-hy/strings.xml b/res/values-hy/strings.xml
index d817a47..74fc578 100644
--- a/res/values-hy/strings.xml
+++ b/res/values-hy/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Դուք արդեն ծրագրավորո՛ղ եք:"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Կարիք չկա, ծրագրավորողի ընտրանքներն արդեն միացված են։"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Խնդրում ենք նախ միացնել մշակողի ընտրանքները:"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Ծրագրավորողի կարգավորումները հասանելի են միայն ադմինիստրատորներին։"</string>
     <string name="header_category_system" msgid="1665516346845259058">"Համակարգ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Շահագործման մեջ է"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Չի շահագործվում"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Առջևի էկրանը միանում է, երբ սարքը ծալում եք"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Միայն խաղեր, տեսանյութեր և այլն"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Առջևի էկրանը միանում է այն հավելվածների համար, որոնք թույլ չեն տալիս, որ էկրանն անցնի անգործուն ռեժիմի"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Սահեցնել վերև՝ շարունակելու համար"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Ծալեք ձեր հեռախոսը և սահեցրեք վերև՝ առջևի էկրանին, որպեսզի շարունակեք օգտվել հավելվածից, կամ սպասեք մի քանի վայրկյան, մինչև էկրանը կողպվի"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Երբեք"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Առջևի էկրանը կողպվում է, երբ սարքը ծալում եք"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Օգտագործել ինքնապտտումը"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Նմանատիպ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Զանգերանգ և զարթուցիչներ"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Ձայնը զանգերի ժամանակ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Մեդիա"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Ծանուցման և համակարգի ձայներ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Մեդիա և համակարգի ձայներ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Ծանուցումներ"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Ըստ կանխադրման՝ աուդիո ելքը որոշվում է առանձին հավելվածների կողմից"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Անանուն Bluetooth սարք"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Որոնում"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Չեղարկել"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Անջատել Bluetooth LE Audio-ն"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Անջատում է Bluetooth LE Audio գործառույթը, եթե սարքն այն աջակցում է։"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio ռեժիմ"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Տեսնել LE Audio-ն սարքի տվյալներում"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Միացնել Bluetooth LE audio-ի թույլտվությունների ցուցակը"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Միացնել Bluetooth LE audio-ի «Թույլտվությունների ցուցակ» գործառույթը"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Շրջանցել Bluetooth LE Audio-ի թույլատրվածների ցուցակը"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Օգտագործել LE Audio-ն ըստ կանխադրման, անգամ եթե LE Audio-ի արտաքին սարքի համապատասխանությունը թույլատրվածների ցուցակի չափանիշներին չի հաստատվել։"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Մեդիա սարքեր"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Հեռախոսային սարքեր"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Այլ սարքեր"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Պահված սարքեր"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Կապված է հաշվի հետ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Նախկինում օգտագործվել են այս հաշվի հետ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth-ը կմիանա զուգակցման համար"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Միացման կարգավորումներ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Նախկինում միացված սարքեր"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth-ը միացված է"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Տեսնել բոլորը"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Տեսնել բոլորը"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Ստիլուս"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ստիլուսի կոճակի սեղմում"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (աշխատանքային պրոֆիլ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Գրել տեքստային դաշտերում"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Անտեսել կոճակների ստիլուսով սեղմումները"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Ստիլուս"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Աուդիոյի փոխանցում"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Փոխանցել աուդիո"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Զանգեր և զարթուցիչներ"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Միանալ աուդիո հոսքի՝ QR կոդի միջոցով"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Մոտակայքում աուդիո հոսքեր չեն գտնվել։"</string>
     <string name="date_and_time" msgid="1788358029823431692">"Ամսաթիվ և ժամ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Պրոքսի"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Մաքրել"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Ավելացնե՞լ %s լեզուն նախընտրած լեզուների ցանկում"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Հավելվածներն ու կայքերը կիմանան, որ դուք նախընտրում եք այս լեզուն։"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Ձեր սարքի պարամետրերը և տարածաշրջանային կարգավորումները կփոխվեն։"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Փոխել"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s լեզուն հասանելի չէ"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Շաբաթ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Եթե հավելվածը չի աջակցում տարածաշրջանային կարգավորումներ, այն կօգտագործի տեղույթի կանխադրված կարգավորումները։"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Իմացեք ավելին լեզվի կարգավորումների մասին։"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Լրացուցիչ կարգավորումներ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Դիմելաձև"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Նշեք, թե ինչպես եք ուզում, որ ձեզ դիմեն"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Հավելվածներն օգտագործում են ձեր դիմելաձևը՝ ձեզ դիմելու եղանակն անհատականացնելու համար։"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Նշված չէ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Իգական"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Արական"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Չեզոք"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Հեռացնե՞լ ընտրված լեզուն}one{Հեռացնե՞լ ընտրված լեզուն}other{Հեռացնե՞լ ընտրված լեզուները}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Տեքստը կցուցադրվի մեկ այլ լեզվով:"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Հնարավոր չէ հեռացնել բոլոր լեզուները"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Տեղադրություն"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Օգտագործել տեղորոշումը"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Անջատված է"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Միացված է – Տեղադրության տվյալները հասանելի են # հավելվածի}one{Միացված է – Տեղադրության տվյալները հասանելի են # հավելվածի}other{Միացված է – Տեղադրության տվյալները հասանելի են # հավելվածի}}"</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_location_off" msgid="8568995909147566720">"Տեղադրության տվյալների օգտագործման թույլտվությունն անջատված է հավելվածների և ծառայությունների համար։ Ձեր սարքի տեղադրության տվյալները կարող են ուղարկվել փրկարար ծառայություններին, եթե դուք զանգեք կամ հաղորդագրություն գրեք արտակարգ իրավիճակների հեռախոսահամարով։"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Իմանալ ավելին տեղադրության կարգավորումների մասին"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Իմանալ ավելին տեղադրության կարգավորումների մասին"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Տեղորոշման թույլտվությունները փոփոխելու համար անցեք Կարգավորումներ &gt; Գաղտնիություն և անվտանգություն &gt; Գաղտնիության կարգավորումներ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Հաշիվներ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Անվտանգություն"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Գաղտնագրում և մուտքի տվյալներ"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Խորհուրդ ենք տալիս օգտագործել էկրանի պաշտպանիչ՝ «Made for Google» մակնշմամբ։ Էկրանի այլ պաշտպանիչներով սարքերը կարող են չճանաչել ձեր երեխայի մատնահետքը։"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ժամացույցով ապակողպում"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Երբ կարգավորեք դեմքով և մատնահետքով ապակողպումը, հեռախոսը կպահանջի, որ օգտագործեք մատնահետքը, եթե դիմակ կրելիս լինեք կամ լուսավորությունը թույլ լինի։\n\nԵթե չի հաջողվում ճանաչել ձեր դեմքը կամ մատնահետքը, ապա կարող եք հեռախոսն ապակողպել ժամացույցի միջոցով։"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Եթե չի հաջողվում ճանաչել ձեր մատնահետքը, ապա կարող եք սարքն ապակողպել ժամացույցի միջոցով։"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Եթե չի հաջողվում ճանաչել ձեր դեմքը, ապա կարող եք սարքն ապակողպել ժամացույցի միջոցով։"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Երբ կարգավորեք դեմքով և մատնահետքով ապակողպումը, հեռախոսը կպահանջի, որ օգտագործեք մատնահետքը, եթե դիմակ կրելիս լինեք կամ լուսավորությունը թույլ լինի։\n\nԺամացույցով ապակողպումը հարմարավետ եղանակ է հեռախոսն ապակողպելու համար, օրինակ, երբ ձեր ձեռքերը թաց են, կամ դեմքը չի հաջողվում ճանաչել։"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Ժամացույցով ապակողպումը հարմարավետ եղանակ է հեռախոսն ապակողպելու համար, օրինակ, երբ ձեր մատնահետքը չի հաջողվում ճանաչել։"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Ժամացույցով ապակողպումը հարմարավետ եղանակ է հեռախոսն ապակողպելու համար, օրինակ, երբ ձեր դեմքը չի հաջողվում ճանաչել։"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Օգտագործեք մատնահետքը կամ ժամացույցը՝"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Օգտագործեք դիմաճանաչումը կամ ժամացույցը՝"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Օգտագործեք դիմաճանաչումը, մատնահետքը կամ ժամացույցը՝"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Ժամացույցով ապակողպումը հարմարավետ եղանակ է հեռախոսն ապակողպելու համար, օրինակ, երբ ձեր ձեռքերը թաց են կամ դեմքը հնարավոր չի լինում ճանաչել։\n\nԴուք կարող եք ձեր ժամացույցով ապակողպել այս հեռախոսը, երբ՝"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ոչ հիմա"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Շարունակել"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Ավելին"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Ինչպես է դա աշխատում"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Ձեր ժամացույցը պետք է լինի ապակողպված, ձեր դաստակի վրա և այս հեռախոսին մոտ։ Քանի դեռ ժամացույցը ձեր դաստակին է, այն նորից ապակողպելու կարիք չի լինի։"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Երբ այս հեռախոսն ապակողպվի, դուք ծանուցում կստանաք ձեր ժամացույցում։ Եթե այն պատահաբար է ապակողպվել, հպեք ծանուցմանը՝ հեռախոսը նորից կողպելու համար։"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Ամեն ինչ դուք եք վերահսկում"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Դուք ցանկացած ժամանակ կարող եք «ժամացույցով ապակողպում» գործառույթի կարգավորումներում հեռացնել ձեր ժամացույցը"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Հպեք ծանուցմանը"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Կողպէկրանին սահեցրեք վերև"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Ընտրեք ձեր ժամացույցը"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Հասանելի ժամացույցներ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Չեղարկել"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Հաստատել"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Պատրա՛ստ է։"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Այժմ կարող եք ձեր ժամացույցով ապակողպել այս հեռախոսը՝ մատը կողպէկրանին սահեցնելով կամ հպելով ծանուցմանը"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Պատրաստ է"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ժամացույցով ապակողպում"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Դուք կարող եք ձեր ժամացույցով ապակողպել այս հեռախոսը՝ մատը կողպէկրանին սահեցնելով կամ հպելով ծանուցմանը"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Ժամացույցով ապակողպումն օգտագործելու համար ձեր ժամացույցը պետք է լինի ապակողպված, ձեր դաստակի վրա, հասանելիության սահմաններում և միացված այս հեռախոսին։ Եթե կապը խափանվի, դուք պետք է ապակողպեք հեռախոսը, որպեսզի կարողանաք օգտագործել ժամացույցով ապակողպումը։\n\nՆկատի ունեցեք, որ\nմիաժամանակ կարող եք կարգավորել միայն մեկ ժամացույց։ Այլ ժամացույց ավելացնելու համար նախ հեռացրեք ընթացիկը։"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Դեմքով և մատնահետքով ապակողպում աշխատանքի համար"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Պահանջվում է կարգավորում"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Անվտանգություն"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Գաղտնիություն"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Աշխատանքային պրոֆիլ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Մասնավոր տարածք"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Անձնական հավելվածները պահեք կողպված և թաքցված"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Անձնական հավելվածները պահեք առանձին տարածքում, որը կարող եք թաքցնել կամ կողպել"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Մասնավոր տարածքի կողպում"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Դուք կարող եք օգտագործել ապակողպման նույն եղանակը, որն օգտագործվում է էկրանի համար, կամ ընտրել մեկ ուրիշը"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Օգտագործել սարքի էկրանի կողպումը"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Դեմքով և մատնահետքով ապակողպում"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Մատնահետքով ապակողպում"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Դեմքով ապակողպում"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Հպեք կարգավորելու համար"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Մատնահետքով ապակողպում մասնավոր տարածքի համար"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Դեմքով ապակողպում մասնավոր տարածքի համար"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Ապակողպման եղանակներ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Նույնը, ինչ սարքի էկրանի կողպումը"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Ընտրե՞լ նոր կողպում մասնավոր տարածքի համար։"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Մասնավոր տարածքի ավտոմատ կողպում"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Կարող եք այնպես անել, որ ձեր մասնավոր տարածքն ավտոմատ կողպվի, եթե որոշ ժամանակ չօգտագործեք ձեր սարքը"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Ամեն անգամ, երբ սարքը կողպվում է"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Անգործուն մնալուց 5 րոպե հետո"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Երբեք"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Թաքցնել, երբ կողպված է"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Թաքցնել Մասնավոր տարածքը, երբ այն կողպված է"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Որպեսզի այլ մարդիկ չիմանան ձեր մասնավոր տարածքի մասին, կարող եք այն թաքցնել հավելվածների ցանկից"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Մասնավոր տարածքի հասանելիություն, երբ այն թաքցված է"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Ձեր հավելվածների ցանկի որոնման տողում գրեք «մասնավոր տարածք»"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Հպեք «Մասնավոր տարածք» սալիկին"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Ապակողպել մասնավոր տարածքը"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Անջատված է"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Միացված է"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Համակարգ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Մասնավոր տարածքի ջնջում"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Ջնջե՞լ մասնավոր տարածքը"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Ձեր մասնավոր տարածքը կհեռացվի ձեր սարքից։ Բոլոր անձնական հավելվածներն ու տվյալները կջնջվեն։ Այս գործողությունը չեք կարող հետարկել։"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Հետևյալ հաշիվները կհեռացվեն ձեր մասնավոր տարածքից՝"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Ջնջել"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Մասնավոր տարածքը ջնջվում է…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Դա կտևի մի քանի րոպե"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Մասնավոր տարածքը ջնջվեց"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Չհաջողվեց ջնջել մասնավոր տարածքը"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Մասնավոր տարածքն ապակողպվել է"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Կարգավորեք էկրանի կողպումը"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Սահմանեք էկրանի կողպում և օգտագործեք ձեր անձնական տարածքը"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Կարգավորել էկրանի կողպումը"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Չեղարկել"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Չեղարկել"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Կարգավորել"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Կարգավորեք անձնական տարածք"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Անձնական հավելվածները պահեք առանձին տարածքում, որը կարող եք թաքցնել կամ կողպել"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Ինչպես է դա աշխատում"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Անձնական տարածք կարող եք անցնել ձեր հավելվածների ցանկի ներքևից"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Անձնական տարածքի հավելվածները պաշտպանված են կողպեքի միջոցով"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Անձնական տարածքում հավելվածներից ծանուցումները թաքցված են, երբ այն կողպված է"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Ձեր անձնական տարածքի հավելվածները չեն ցուցադրվի թույլտվությունների կառավարչում, թույլտվությունների կառավարման վահանակում և այլ կարգավորումներում, .երբ անձնական տարածքը կողպված է։\n\nՁեր անձնական տարածքը հնարավոր չէ տեղափոխել նոր սարք։ Դուք պետք է այլ անձնական տարածք կարգավորեք, եթե ուզում եք այն օգտագործել ուրիշ սարքում։\n\nՑանկացած մեկը, ով ձեր սարքը միացնի համակարգչի կամ վնասաբեր հավելվածներ տեղադրի ձեր սարքում, կկարողանա բացել ձեր անձնական տարածքը։"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Անձնական տարածքի կարգավորում…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Մասնավոր տարածքում հավելվածներից ծանուցումները թաքցված են, երբ այն կողպված է"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Ապակողպեք մասնավոր տարածքը, որպեսզի լուսանկարներով կամ ֆայլերով կիսվեք"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Որոշ հավելվածներ արդեն տեղադրված են ձեր անձնական տարածքում"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Չհաջողվեց մասնավոր տարածք կարգավորել"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Նորից փորձել"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Օգտագործե՞լ էկրանի կողպում անձնական տարածքի համար"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Դուք կարող եք օգտագործել ապակողպման նույն եղանակը, որն օգտագործվում է էկրանի համար, կամ ընտրել մեկ ուրիշը"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Օգտագործել էկրանի կողպումը"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Ընտրել կողպման այլ եղանակ"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Պատրա՛ստ է"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Ձեր մասնավոր տարածքը գտնելու համար բացեք ձեր հավելվածների ցանկը և ոլորեք ներքև"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Պատրաստ է"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Ոլորեք ներքև՝ անձնական տարածքը գտնելու համար"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Մուտք գործել"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Մուտք գործեք հաշիվ, որում ուզում եք օգտագործել ձեր մասնավոր տարածքը"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ոչ հիմա"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Շարունակել"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Ընտրեք անձնական տարածքի կողպում"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Անձնական տարածքը կարող եք ապակողպել ձեր մատնահետքի օգնությամբ։ Անվտանգության նկատառումներից ելնելով՝ այս ընտրանքը պահանջում է կողպման լրացուցիչ տարբերակ։"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"PIN կոդ անձնական տարածքի համար"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Գաղտնաբառ անձնական տարածքի համար"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Նախշ անձնական տարածքի համար"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Կարող եք ավելացնել առավելագույնը <xliff:g id="COUNT">%d</xliff:g> մատնահետք"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Դուք ավելացրել եք մատնահետքերի առավելագույն թույլատրելի քանակը"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Հնարավոր չէ ավելացնել այլ մատնահետքեր"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Նախշ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Գաղտնաբառ"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ջնջե՞լ Էկրանի կողպումը"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Հեռացնե՞լ սարքի բոլոր տեսակի ապակողպումները"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Հեռացնե՞լ պրոֆիլի պաշտպանությունը:"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Նախշի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Նախշի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Ձեր մատնահետքի նմուշը սարքից կջնջվի։ Ձեր դեմքի նմուշը նույնպես ընդմիշտ կջնջվի։ Դուք չեք կարողանա ձեր դեմքի կամ մատնահետքի միջոցով մտնել հաշիվ հավելվածներում։"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN կոդի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Դուք կկորցնեք ձեր պահած տվյալները, օրինակ՝ PIN կոդը։<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Անհպում վճարման համար կարգավորված քարտերը կհեռացվեն։<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Դրամապանակներն ու մյուս հավելվածները, որոնց համար անհրաժեշտ է սարքի ապակողպում, կարող են պատշաճ չաշխատել։"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN կոդի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ձեր մատնահետքի նմուշը նույնպես սարքից կջնջվի։ Դուք չեք կարողանա ձեր մատնահետքի միջոցով մտնել հաշիվ հավելվածներում։"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Դուք կկորցնեք ձեր պահած տվյալները, օրինակ՝ PIN կոդն ու մատնահետքի նմուշը։<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Անհպում վճարման համար կարգավորված քարտերը կհեռացվեն։<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Դրամապանակներն ու մյուս հավելվածները, որոնց համար անհրաժեշտ է սարքի ապակողպում, կարող են պատշաճ չաշխատել։"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN կոդի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ձեր դեմքի նմուշը նույնպես ընդմիշտ կջնջվի։ Դուք չեք կարողանա ձեր դեմքի միջոցով մտնել հաշիվ հավելվածներում։"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Դուք կկորցնեք ձեր պահած տվյալները, օրինակ՝ PIN կոդն ու դեմքի նմուշը։<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Անհպում վճարման համար կարգավորված քարտերը կհեռացվեն։<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Դրամապանակներն ու մյուս հավելվածները, որոնց համար անհրաժեշտ է սարքի ապակողպում, կարող են պատշաճ չաշխատել։"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN կոդի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ձեր մատնահետքի նմուշը սարքից կջնջվի։ Ձեր դեմքի նմուշը նույնպես ընդմիշտ կջնջվի։ Դուք չեք կարողանա ձեր դեմքի կամ մատնահետքի միջոցով մտնել հաշիվ հավելվածներում։"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Դուք կկորցնեք ձեր պահած տվյալները, օրինակ՝ PIN կոդը, դեմքի և մատնահետքի նմուշները։<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Անհպում վճարման համար կարգավորված քարտերը կհեռացվեն։<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Դրամապանակներն ու մյուս հավելվածները, որոնց համար անհրաժեշտ է սարքի ապակողպում, կարող են պատշաճ չաշխատել։"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Գաղտնաբառի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Գաղտնաբառի միջոցով դուք կարող եք պաշտպանել ձեր հեռախոսը, եթե այն կորչի կամ գողացվի։<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Զուգակցե՞լ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> սարքի հետ"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Նոր անդամի ավելացրեք ընթացիկ համակարգված հավաքածուին"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Հաստատեք՝ ձեր աուդիո սարքի երկրորդ մասն ավելացնելու համար"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth զուգակցման կոդը"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Մուտքագրեք զուգավորման կոդը, ապա սեղմեք Վերադառնալ կամ Մուտք"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-ը տառեր և նշաններ է պարունակում"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Պետք է պարունակի 16 թվանշան"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Հնարավոր է պետք լինի մուտքագրել այս PIN-ը մյուս սարքերի վրա ևս:"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Հնարավոր է պետք լինի մուտքագրել այս անցաբառը այլ սարքերում:"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Հաստատեք՝ համակարգված հավաքածուի հետ զուգակցվելու համար"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Հաստատեք՝ աուդիո սարքի հետ զուգակցելու համար"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Թույլատրել կոնտակտների ու զանգերի պատմության հասանելիությունը"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Նաև հասանելի դարձնել կոնտակտները և զանգերի պատմությունը"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Տեղեկությունները կօգտագործվեն զանգերի մասին ծանուցումների համար և այլ նպատակներով"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Հնարավոր չեղավ միանալ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-ին:"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Հասանելի սարքեր"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Միանալ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Անջատել"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Զուգակցել և միանալ"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցվել մոտակայքում գտնվող Bluetooth սարքերի հետ:"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցել մոտակայքում գտնվող Bluetooth սարքերի հետ"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Երբ Bluetooth-ը միացված է, ձեր սարքը կարող է հաղորդակցվել մոտակայքում գտնվող Bluetooth սարքերի հետ։\n\nՍարքի աշխատանքը բարելավելու նպատակով հավելվածներն ու ծառայությունները կորոնեն մոտակայքում գտնվող սարքեր, նույնիսկ երբ Bluetooth-ն անջատված է։ Դա կարելի է օգտագործել, օրինակ, տեղադրության տվյալների վրա հիմնված գործառույթների և ծառայությունների աշխատանքը բարելավելու համար։ Այս պարամետրը կարող եք փոխել Bluetooth-ի որոնման կարգավորումներում։"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Փոխել"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Սարքի տվյալները"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Թույլատրել ART-ին հաստատել վրիպազերծման ենթակա հավելվածների երկուական կոդը"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Թարմացման հաճախությունը"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ցույց տալ էկրանի թարմացման ընթացիկ հաճախությունը"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Ցույց տալ HDR/SDR հարաբերակցությունը"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Ցույց տալ ընթացիկ HDR/SDR հարաբերակցությունը"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-ի համար պահանջել սարքի ապակողպում"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Ավիառեժիմում"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Ծանուցել բաց ցանցերի մասին"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Տեղեկացնել լավ ազդանշանով բաց ցանցերի հասանելիության մասին"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Թույլատրել WEP-ով ցանցեր"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP-ը պաշտպանության ցածր մակարդակով անվտանգության հին հաղորդակարգ է"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Ձեր օպերատորը չի թույլատրում WEP-ով ցանցեր, քանի որ դրանց պաշտպանության մակարդակը ցածր է"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Ավտոմատ միացնել Wi‑Fi-ը"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi-ը կրկին կմիանա լավ ազդանշանով պահված ցանցերի, օրինակ, ձեր տան ցանցի մոտակայքում"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Անհասանելի է, քանի որ տեղորոշումն անջատված է։ Միացրեք "<annotation id="link">"տեղորոշումը"</annotation>"։"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi ցանցերի որոնումը թույլ է տալիս հավելվածներին և ծառայություններին որոնել Wi‑Fi ցանցեր, նույնիսկ երբ Wi-Fi-ն անջատված է: Դա կարող է բարելավել տեղորոշում օգտագործող գործառույթների ու ծառայությունների ճշգրտությունը:"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Միացնել"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi-Fi ցանցերի որոնումը միացված է"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Այս ցանցն օգտագործում է պաշտպանության ցածր մակարդակով անվտանգության հին հաղորդակարգ"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> հավելվածն արգելափակվեց"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Այս ցանցն օգտագործում է պաշտպանության ցածր մակարդակով անվտանգության հին հաղորդակարգ, որը կոչվում է WEP։ Եթե միևնույն է ուզում եք միանալ, թույլատրեք WEP-ով ցանցերի օգտագործումը։"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Ձեր օպերատորը թույլ չի տալիս միանալ այս ցանցին, քանի որ այն օգտագործում է պաշտպանության ցածր մակարդակով անվտանգության հին հաղորդակարգ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Թույլատրել WEP-ով ցանցեր"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Փակել"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Ընդլայնված ընտրանքներ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Իջնող ցանկի լրացուցիչ կարգավորումներ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ծավալել"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Մնալ Wi-Fi ցանցում"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Այլևս չցուցադրել"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Միանալ"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi-ը միացած է"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Միացած է <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ցանցին"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Միացում <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ցանցին"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Միացում…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Ցանցին միանալ չհաջողվեց"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Ցանցն անհասանելի է"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Մոռանալ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Փոփոխել"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Ցանցը մոռանալ չհաջողվեց"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Պահել"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Չհաջողվեց պահել ցանցը"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Չեղարկել"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Բջջային ինտերնետ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> — Լիցքավորում"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> — Լիցքավորում"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Թեժ կետով միացում"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Կապի ուժգնությունը"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Պահված ցանցեր"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Գաղտնաբառ նշված չէ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Թեժ կետի անունը"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Թեժ կետի գաղտնաբառը"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Հաճախականությունների միջակայք"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Ավտոմատ անջատել թեժ կետը"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Երբ սարքեր միացված չեն"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Ընդլայնված համատեղելիություն"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Էկրանի սպիտակի բալանս"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Շարունակել օգտագործել հավելվածները ծալված սարքում"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Սահուն պատկեր"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Որոշակի բովանդակության համար թարմացման հաճախականությունը 60-ից կդառնա <xliff:g id="ID_1">%1$s</xliff:g> Հց։ Մարտկոցի լիցքն ավելի արագ է սպառվում։"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Անջատել կադրերի կանխադրված հաճախականությունը խաղերի համար"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Անջատեք կադրերի առավելագույն հաճախականության սահմանաչափը <xliff:g id="FRAME_RATE">%1$d</xliff:g> Հց հաճախականությամբ աշխատող խաղերի համար։"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Սահուն պատկեր"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Որոշակի բովանդակության համար թարմացման հաճախականությունն ավտոմատ բարձրանում է մինչև <xliff:g id="ID_1">%1$d</xliff:g> Հց։ Մարտկոցի լիցքն ավելի արագ է սպառվում։"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Պարտադիր թարմացման առավելագույն հաճախականությունը"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Էկրանի թարմացման բարձր հաճախականությունը լավացնում է հապտիկ արձագանքը և շարժանկարների որակը։ Այն նաև երկարացնում է մարտկոցի օգտագործման ժամանակը։"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Ադապտիվ քնի ռեժիմ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Ադապտիվ քնի ռեժիմում սարքն առջևի տեսախցիկի միջոցով տեսնում է, երբ ինչ-որ մեկը նայում է էկրանին։ Այս գործառույթն աշխատում է միայն ձեր սարքում, պատկերները չեն պահվում և չեն ուղարկվում Google-ին։"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Միացնել «Ուշադիր էկրան» ռեժիմը"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Քանի դեռ նայում եք էկրանին, այն վառ կմնա"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Որքան երկար միացված մնա էկրանը, այնքան մարտկոցի լիցքն ավելի արագ կսպառվի։"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Տեսախցիկը կողպված է"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Դիմաճանաչման համար տեսախցիկը պետք է ապակողպված լինի"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Էկրանի ուշադրության համար տեսախցիկը պետք է ապակողպված լինի"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM քարտի բնիկ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM քարտի բնիկ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (հիմնական)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Դիտելու համար ընտրեք պահված ցանցը"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL տարբերակ"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Մարտկոցի մակարդակը"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Ընդհանուր"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Ընդհանուր կարգավորումներ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Արբանյակային կապով հաղորդագրում"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-ներ"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Խմբագրել մուտքի կետը"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Ավելացրեք մուտքի կետ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Կարգավորված չէ"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Նշված չէ"</string>
     <string name="apn_name" msgid="6677695784108157953">"Անուն"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN-ը միացված է"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN-ը անջատված է"</string>
     <string name="bearer" msgid="3231443241639159358">"Ալիք"</string>
+    <string name="network_type" msgid="748590707422733595">"Ցանցի տեսակը"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Նշված չէ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO տեսակ"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO արժեքը"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Ջնջել APN-ը"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Պահել"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Չեղարկել"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Կրկնվող APN կետ։"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Անվանման դաշտը պետք է լրացված լինի:"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN-ը չի կարող դատարկ լինել:"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC դաշտը պետք է 3 նիշ ունենա:"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC դաշտը պետք է լինի առնվազն 2 կամ 3 թվանշան:"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Օպերատորը չի թույլատրում ավելացնել %s տեսակի APN-ներ:"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-ի դաշտը պետք է վավեր լինի։"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Կանխադրված APN կարգավորումների վերականգնում:"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Վերականգնել կանխադրվածները"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Սկզբնական APN կարգավորումների վերակարգավորումն ավարտված է:"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Զրոյացնել"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth-ի և Wi‑Fi-ի կարգավորումները զրոյացվել են"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Ջնջել eSIM քարտերը"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Բջջային կապի սակագնային պլանները չեն չեղարկվի։ Նոր SIM քարտ ներբեռնելու համար դիմեք ձեր օպերատորին։"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Ձեր բջջային սակագնային պլանը չի չեղարկվի։ Նոր SIM քարտ ստանալու համար դիմեք ձեր օպերատորին։"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Զրոյացնել կարգավորումները"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Զրոյացնե՞լ ցանցի բոլոր կարգավորումները: Այս գործողությունը հնարավոր չի լինի հետարկել:"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Զրոյացնե՞լ ցանցի բոլոր կարգավորումները և ջնջե՞լ eSIM քարտերը։ Այս գործողությունը չեք կարող հետարկել։"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Վերակայե՞լ:"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Ցանցի վերակայումը հասանելի չէ այս օգտատիրոջ"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Ցանցի կարգավորումները վերակայվել են"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Չհաջողվեց ջնջել SIM քարտերը"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Սխալի պատճառով չհաջողվեց ջնջել eSIM քարտերը։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Չհաջողվեց ջնջել eSIM քարտերը"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Սխալի պատճառով eSIM քարտերը չեն ջնջվել։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
     <string name="main_clear_title" msgid="277664302144837723">"Ջնջել բոլոր տվյալները (գործ. վերակայում)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Ջնջել բոլոր տվյալները (գործ. վերակայում)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Երաժշտությունը"</li>\n<li>"Լուսանկարները"</li>\n<li>"Օգտատիրոջ մյուս տվյալները"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM քարտեր"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Ձեր սակագնային պլանը չի չեղարկվի։"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Ձեր բոլոր անձնական տվյալները և ներբեռնված հավելվածները կջնջվեն։ Այս գործողությունը չեք կարող հետարկել։"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Ձեր բոլոր անձնական տվյալները, այդ թվում՝ ներբեռնված հավելվածները և SIM քարտերը կջնջվեն։ Այս գործողությունը չեք կարող հետարկել։"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Ձեր բոլոր անձնական տվյալները, այդ թվում՝ ներբեռնված հավելվածները և eSIM քարտերը, կջնջվեն։ Այս գործողությունը չեք կարող հետարկել։"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Ջնջե՞լ բոլոր տվյալները"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Այս օգտատերը չի կարող վերակայել սարքը և վերականգնել գործարանային կարգավորումները"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Ջնջում"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Թեժ կետ, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Ինտերնետը հասանելի չէ այլ սարքերի"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Անջատված է"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Մոդեմի ռեժիմ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Չօգտագործել Wi‑Fi թեժ կետը"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Ինտերնետը տարածել միայն USB-ի միջոցով"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Ինտերնետը տարածել միայն Bluetooth-ի միջոցով"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Ինտերնետը տարածել միայն Ethernet-ի միջոցով"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Ինտերնետը տարածել միայն USB-ի և Bluetooth-ի միջոցով"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Ինտերնետը տարածել միայն USB-ի և Ethernet-ի միջոցով"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Ինտերնետը տարածել միայն Bluetooth-ի և Ethernet-ի միջոցով"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Ինտերնետը տարածել միայն USB-ի, Bluetooth-ի և Ethernet-ի միջոցով"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB մոդեմ"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth մոդեմ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet մոդեմ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Օգտագործեք թեժ կետն ու մոդեմի ռեժիմը՝ ձեր Wi-Fi-ի կամ բջջային ցանցի միջոցով մյուս սարքերին ինտերնետ կապ տրամադրելու համար։ Հավելվածները նույնպես կարող են թեժ կետ ստեղծել՝ մոտակա սարքերի հետ բովանդակությամբ կիսվելու համար։"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Օգնություն"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Բջջային ցանց"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Սակագնային պլան"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-ների փոխանակման հավելված"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Փոխե՞լ SMS-ների փոխանակման հավելվածը"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Որպես SMS-ների փոխանակման հավելված <xliff:g id="CURRENT_APP">%2$s</xliff:g>-ի փոխարեն օգտագործե՞լ <xliff:g id="NEW_APP">%1$s</xliff:g>-ը:"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Փոխե՞լ Wi-Fi օգնականին:"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Օգտագործե՞լ <xliff:g id="NEW_APP">%1$s</xliff:g> ծրագիրը <xliff:g id="CURRENT_APP">%2$s</xliff:g>-ի փոխարեն՝ ձեր ցանցային կապերը կառավարելու համար:"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Օգտագործե՞լ <xliff:g id="NEW_APP">%s</xliff:g> ծրագիրը՝ ձեր ցանցային կապերը կառավարելու համար:"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Անհայտ SIM օպերատոր"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>-ը չունի ոչ մի ծանոթ նախակարգման վեբկայք"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Խնդրում ենք տեղադրել SIM քարտ և վերագործարկել"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Խնդրում ենք միանալ ինտերնետին"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Տեղորոշման վերջին հարցումները"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Տեղ աշխատանքային պրոֆիլի համար"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Տեղորոշման թույլտվություններ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Ջնջել մուտքի տվյալները"</string>
     <string name="controls_label" msgid="8671492254263626383">"Կարգավորիչներ"</string>
     <string name="force_stop" msgid="2681771622136916280">"Կանգնեցնել"</string>
+    <string name="archive" msgid="9074663845068632127">"Արխիվացնել"</string>
+    <string name="restore" msgid="7622486640713967157">"Վերականգնել"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Վերականգնում"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Վերականգնում։"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Վերականգնում…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Վերականգնում..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Ընդամենը"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Հավելվածի չափը"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB կրիչի ծրագիր"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Չհաջողվեց հաշվել փաթեթի չափը:"</string>
     <string name="version_text" msgid="7628938665256107608">"տարբերակ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Տեղափոխել"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Չհաջողվեց արխիվացնել"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"«<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>» հավելվածն արխիվացվեց"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Չհաջողվեց վերականգնել"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> հավելվածը վերականգնվում է…"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Մեկ այլ տեղաշարժ արդեն ընթացքում է:"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Պահոցի բավարար տարածք չկա:"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Ծրագիրը գոյություն չունի:"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Հասանելի էկրանային ստեղնաշար"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Կառավարել էկրանի ստեղնաշարը"</string>
     <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="6922850403920596246">"Միացնել վերադառնալու ստեղները ֆիզիկական ստեղնաշարի հատուկ գործառույթների համար"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Դանդաղ ստեղներ"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Միացնել դանդաղ ստեղները ֆիզիկական ստեղնաշարի հատուկ գործառույթների համար"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Կպչուն ստեղներ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Միացնել կպչուն ստեղները ֆիզիկական ստեղնաշարի հատուկ գործառույթների համար"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Այլ տարբերակների համար հպեք հպահարթակի ներքևի աջ անկյունին"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Նշորդի արագությունը"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Սովորել հպահարթակի ժեստերը"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Վերադարձ հիմնական էկրան"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Հպահարթակի վրա երեք մատը սահեցրեք վերև"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Հետ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Դասավորել ըստ օգտագործ. ժաման."</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Դասավորել ըստ վերջ. օգտագործ."</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Դասավորել ըստ հավելվ. անվանման"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Վերջին օգտագործումը"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Վերջին օգտագործումը"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"երբեք"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Օգտագործման ժամանակը"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Հատուկ գործառույթներ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Հատուկ գործառույթների կարգավորումներ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Խոշորացում եռակի հպման միջոցով"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Խոշորացում դյուրանցման միջոցով"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Խոշորացնել դյուրանցման կամ եռակի հպելու օգնությամբ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"«<xliff:g id="SERVICE">%1$s</xliff:g>» ծառայության մասին"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Բացեք «Հատուկ գործառույթներ» կոճակի միջոցով"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Բացելու համար սեղմած պահեք ձայնի կոճակները"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Բացելու համար երեք անգամ հպեք էկրանին"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Բացելու համար երկու մատով կրկնակի հպեք էկրանին"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Բացեք ձեռքի շարժումով"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Հատուկ գործառույթների ժեստի օգտագործում"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Այս գործառույթն օգտագործելու համար էկրանի ներքևում հպեք «Հատուկ գործառույթներ» <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> կոճակին։\n\nՄի գործառույթից մյուսին անցնելու համար հպեք «Հատուկ գործառույթներ» կոճակին և պահեք։"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Այս գործառույթն օգտագործելու համար հպեք ձեր էկրանի «Հատուկ գործառույթներ» կոճակին։"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Այս գործառույթն օգտագործելու համար սեղմեք և պահեք ձայնի ուժգնության երկու կոճակները։"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Խոշորացումը միացնելու և անջատելու համար երեք անգամ հպեք էկրանի ցանկացած հատվածին։"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Խոշորացումը միացնելու և անջատելու համար երկու մատով կրկնակի հպեք էկրանի ցանկացած հատվածին։"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Այս գործառույթն օգտագործելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Այս գործառույթն օգտագործելու համար երեք մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երեք մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Որևէ հատուկ գործառույթ օգտագործելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երկու մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Որևէ հատուկ գործառույթ օգտագործելու համար երեք մատը սահեցրեք էկրանի ներքևից վերև։\n\nՄի գործառույթից մյուսին անցնելու համար երեք մատը սահեցրեք էկրանի ներքևից վերև և պահեք։"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Եղավ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Հատուկ գործառ․ կոճակի կարգավ․"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Կոճակի կարգավորումներ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"«<xliff:g id="SERVICE">%1$s</xliff:g>» դյուրանցում"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"«Հատուկ գործառույթներ» կոճակ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Հատուկ գործառույթների ժեստ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Սեղմած պահել ձայնի ուժգնության ստեղները"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ձայնի կարգավորման կոճակների սեղմում"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Սեղմեք և պահեք ձայնի ուժգնության երկու կոճակները"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Երկու մատով կրկնակի հպում էկրանին"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"երկու մատով կրկնակի հպում էկրանին"</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="6863958573135995927">"եռակի հպում էկրանին"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Արագ հպեք էկրանին {0,number,integer} անգամ։ Այս դյուրանցումը կարող է դանդաղեցնել սարքի աշխատանքը։"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Իմացեք ավելին «Հատուկ գործառույթներ» կոճակի և ժեստի մասին"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"«Հատուկ գործառույթներ» կոճակի օգտագործում։ Ժեստը հասանելի չէ եռակոճակ նավիգացիայի դեպքում։"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Արագ բացեք հատուկ գործառույթները"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Սկսելու համար կատարեք հետևյալ քայլերը․"</b>\n"1. Անցեք հատուկ գործառույթների կարգավորումներ։\n2. Ընտրեք գործառույթ և հպեք դյուրանցմանը։\n3. Ընտրեք՝ արդյոք գործառույթը միացնելու համար կոճակ եք ուզում օգտագործել, թե ժեստ։"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Սկսելու համար կատարեք հետևյալ քայլերը․"</b>\n"1. Անցեք հատուկ գործառույթների կարգավորումներ։\n2. Ընտրեք գործառույթ և հպեք դյուրանցմանը։\n3. Ընտրեք կոճակը, որով պետք է միացվի գործառույթը։"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Կոճակ, թե ժեստ օգտագործել"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Վայրը"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Չափսը"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Սնուցման կոճակը ավարտում է զանգը"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Մկնիկի խոշոր նշորդ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Ավելի նկատելի դարձնել մկնիկի նշորդը"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Բոլոր հավելվածները դարձնել մուգ"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Վերաբերում է մուգ թեմա չունեցող հավելվածներին։ Որոշներում հնարավոր են էկրանի խնդիրներ, օր․՝ գույների շրջում։"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Հեռացնել անիմացիաները"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Նվազեցնել շարժումն էկրանին"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Մոնո"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Օգտագործել թրթռոցը և հապտիկ արձագանքը"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Զարթուցիչի թրթռոց"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Մեդիա բովանդակության թրթռոց"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Ստեղնաշարի թրթռոց"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Թրթռազանգ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Թրթռոց ծանուցման ժամանակ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Հապտիկ արձագանք"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Կանգնեցնել"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Չեղարկել"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Կանգնեցնե՞լ «<xliff:g id="SERVICE">%1$s</xliff:g>» ծառայությունը"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Եթե հպեք <xliff:g id="STOP">%1$s</xliff:g> կոճակին, <xliff:g id="SERVICE">%2$s</xliff:g> ծառայությունը կանջատվի։"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Անջատել"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Ոչ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Անջատե՞լ <xliff:g id="SERVICE">%1$s</xliff:g> ծառայությունը"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Տեղադրված ծառայաթյուններ չկան"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ընտրված ծառայություն չկա"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Որևէ նկարագրություն չկա:"</string>
     <string name="settings_button" msgid="2195468788019730377">"Կարգավորումներ"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"լույսի հանդեպ զգայունություն, լուսաֆոբիա, մուգ թեմա, միգրեն, գլխացավ, ընթերցման ռեժիմ, գիշերային ռեժիմ, պայծառության նվազեցում, սպիտակ կետ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Օգտագործման հարմարություն, հեշտ օգտագործում, օգնություն, օգնող"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"տեսողություն, լսողություն, կույր, խուլ, մոտորիկա, շարժողական ընդունակություններ, օժանդակ, աջակցում, օգտագործման պարզություն, հեշտ հասանելիություն, ձեռք, օգնություն"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Խոշորացում, խոշորացույց, մասշտաբ, թույլ տեսողություն, մեծացում, մեծացնել, խոշորացնել"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Ենթագրեր, տառադարձում, կենդանի տառադարձում, լսողության խանգարում, խլություն, ուղիղ տառադարձություն, խոսքի տառադարձում, ձայնային ներածում, խոսքի ճանաչում"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"գույների կոնտրաստ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"շարժման խանգարումներ, մկնիկ"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"լսողական սարքեր, լսողության խանգարում, լսողության կորուստ, կոխլեար իմպլանտներ, ձայնն ուժեղացնող սարքեր, ձայնային պրոցեսորներ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"մոտորիկա, մկնիկ, արտաքին մկնիկ, գլխի մկնիկ, հարմարվող մկնիկ, անվասայլակ, ջոյսթիք"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"լսողական սարքեր, լսողության խանգարում, լսողության կորուստ, կոխլեար իմպլանտներ, ձայնն ուժեղացնող սարքեր, ձայնային պրոցեսորներ, հերթապահության միասնական դիսպետչերական ծառայություն"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"լսողության խանգարում, խլություն, ենթագրեր, տելեթայփ, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"երեք կոճակ"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"շարժողական ընդունակություններ, մոտորիկա, տարեց, արթրիտ, կրկնվող լարվածության հետևանքով վնասվածք, կաթված, տրեմոր, ցրված սկլերոզ, մանկական ուղեղային կաթված, դող, ձեռք"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"հետաձգում, շարժողական ընդունակություններ, տարեց"</string>
     <string name="print_settings" msgid="8519810615863882491">"Տպում"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Անջատված է"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Տպելու 1 ծառայություն միացված է}one{Տպելու # ծառայություն միացված է}other{Տպելու # ծառայություն միացված է}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"մնում է <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> մինչև լիցաքավորվելը"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Սարքի օգտագործման ժամանակը"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Ֆոնային ռեժիմում աշխատանքի ժամանակը"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Մարտկոցի լիցքը քիչ է"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Թույլ տալ հավելվածին աշխատել ֆոնային ռեժիմում"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Սահմանափակե՞լ ֆոնային գործողությունները"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Հավելվածի ֆոնային գործողությունների սահմանափակումը կարող է ազդել վերջինիս աշխատանքի վրա"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Մարտկոցի օպտիմալացումն այս հավելվածի համար կարգավորված չէ։\n\nՄիացրեք այն՝ հավելվածը սահմանափակելու համար։"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Մարտկոցի օգտագործման կառավարում"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Թույլատրել օգտագործումը ֆոնային ռեժիմում"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Միացնել՝ իրական ժամանակում թարմացումներ կատարելու համար, անջատել՝ մարտկոցի լիցքը տնտեսելու համար"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Անսահմանափակ"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Օպտիմալացված"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Սահմանափակ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Տեսեք, թե որ հավելվածներն են ամենաշատը օգտագործում մարտկոցի լիցքը"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Մարտկոցը պաշտպանելու համար լիցքավորումն օպտիմալացվել է"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Մարտկոցի աշխատաժամանակը երկարացնելու համար լիցքավորումն օպտիմալացվել է"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Մարտկոցը պաշտպանելու համար լիցքավորումն օպտիմալացվել է"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Մարտկոցի աշխատաժամանակը երկարացնելու համար լիցքավորումն օպտիմալացվում է, երբ սարքը տեղադրված է լինում դոկ-կայանում"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Մարտկոցը պաշտպանելու համար լիցքավորումն օպտիմալացվել է"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Մարտկոցի աշխատաժամանակը երկարացնելու համար լիցքավորումն օպտիմալացվում է, երբ սարքը տեղադրված է լինում դոկ-կայանում"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Լրիվ լիցքավորում"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Մարտկոցը պաշտպանելու համար լիցքավորումը կօպտիմալացվի, երբ հաջորդ անգամ պլանշետը տեղադրված լինի դոկ-կայանում"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Իմանալ ավելին լիցքավորման դադարեցման մասին"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Վերսկսել լիցքավորումը"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Ներառում է ֆոնային էներգատար գործողություններ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Այս հավելվածը կկարողանա օգտագործել մարտկոցը ֆոնային ռեժիմում, ինչի պատճառով դրա լիցքը կարող է ավելի շուտ սպառվել:"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ջնջել"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Չեղարկել"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Լիցքավորել ամբողջությամբ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Լիցքավորիչի հետ կապված խնդիր"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Ստուգեք լիցքավորիչը"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Իմանալ ավելին անհամատեղելի ադապտերով լիցքավորման մասին"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Մարտկոցի կառավարիչ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Հավելվածների ավտոմատ կառավարում"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"վերջին լրիվ լիցքավորումից հետո"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Համակարգային հավելվածներ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Ապատեղադրված հավելվածներ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Այլ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Մոտավոր մնացած ժամանակը"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Մինչև լրիվ լիցքավորումը"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Ընդամենը՝ մեկ րոպեից պակաս"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Ֆոնային՝ մեկ րոպեից պակաս"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Սարքի օգտագործման ժամանակը՝ ավելի քիչ քան մեկ րոպե"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Մեկ րոպեից պակաս"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Ընդամենը՝ <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Ֆոնային՝ <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Սարքի օգտագործման ժամանակը՝ <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"հիմա"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Մարտկոցի օգտագործման գծապատկեր"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Մարտկոցի օրական օգտագործման գծապատկեր"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Մարտկոցի ամենժամյա օգտագործման գծապատկեր"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Մարտկոցի լիցքի մակարդակը՝ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>-ից <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Մարտկոցի օգտագործումը վերջին լրիվ լիցքավորումից հետո"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Մարտկոցի օգտագործումը (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Սարքի օգտագործման ժամանակը վերջին լրիվ լիցքավորումից հետո"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Արտակարգ կանչի համարհավաքման ազդանշան"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Կարգավորել աշխատանքի ռեժիմը շտապ կանչի դեպքում"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Պահուստավորում"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Միացված է"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Անջատված է"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Պահուստավորել և վերականգնել"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Անձնական տվյալներ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Պահուստավորել իմ տվյալները"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Բջջային ինտերնետ և Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Ինքնահամաժամացնել անձնական տվյալները"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Ինքնահամաժամացնել աշխատանքային տվյալները"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Փակ տվյալների ավտոհամաժամացում"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Ցիկլի փոփոխում…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Ամսվա մի օր` տվյալների օգտագործման աշխատաշրջանը սահմանելու համար՝"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Այս ընթացքում հավելվածները տվյալներ չեն օգտագործել:"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Անուն"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Տեսակը"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Սերվերի հասցեն"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP գաղտնագրում (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP գաղտնիք"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec նույնացուցիչ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec նախորոշված բանալին"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec օգտատիրոջ վկայագիրը"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA հավաստագիր"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec սերվերի հավաստագիր"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Ցույց տալ լրացուցիչ ընտրանքները"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS որոնման տիրույթներ"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS սերվերներ (օրինակ՝ 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Փոխանցման երթուղիներ (օրինակ՝ 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Օգտանուն"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Գաղտնաբառ"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Պահել հաշվի տեղեկությունները"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(չի օգտագործվում)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(սերվերը չստուգել)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(սերվերից ստացված)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN-ի այս տեսակը չի կարող միշտ միացված լինել"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"«Միշտ միացված» VPN-ը աջակցում է միայն սերվերի թվային հասցեները"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"«Միշտ միացված» VPN-ի համար անհրաժեշտ է սահմանել DNS սերվեր"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"«Միշտ միացված» VPN-ի համար DNS սերվերի հասցեները պետք է թվային լինեն"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Մուտքագրած տվյալները չեն աջակցում VPN-ի «միշտ միացված» ռեժիմը"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Չեղարկել"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Փակել"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Արգելափակել առանց VPN-ի միացումները"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN միացում պահանջե՞լ։"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Անվտանգ չէ․ անցեք IKEv2 VPN-ի"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Չհաջողվեց գործարկել չաջակցվող VPN-ը։"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Ընտրել VPN պրոֆիլ` այդ պրոֆիլին միշտ միացված լինելու համար: Ցանցային շրջանառությունը թույլատրված կլինի միայն VPN-ին միացված ժամանակ:"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ոչ մեկը"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Միշտ միացված VPN-ը պահանջում է IP հասցե սերվերի և DNS-ի համար:"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER ծանուցումներ"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Ստանալ ամփոփագրեր երեխաների առևանգման մասին"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Կրկնել"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Միացնել Զանգերի կառավարիչը"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Թույլ տալ այս ծառայությանը կառավարել ձեր զանգերը:"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Զանգերի կառավարիչ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Արտակարգ իրավիճակների անլար ահազանգեր"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Կապի օպերատորներ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Մուտքի կետերի անունները"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM քարտի կարգավիճակը"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM քարտի կարգավիճակ (SIM-ի բնիկ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM քարտերը փոփոխվել են։"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM քարտերը փոխվեցին"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Հպեք՝ կարգավորելու համար"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Ամեն անգամ հարցնել"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Ընտրեք SIM քարտը"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Վերջին հավելվածները, կանխադրված հավելվածներ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Աշխատանքային պրոֆիլի հավելվածներին ծանուցումների օգտագործումը հասանելի չէ:"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Գաղտնաբառեր և հաշիվներ"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Պահված գաղտնաբառեր, ինքնալրացում, համաժամացված հաշիվներ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Առաջարկներ մուտքի և ինքնալրացման համար"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Կանխադրված հավելվածներ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Կլոնավորված հավելվածներ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Ստեղծեք հավելվածի երկրորդ օրինակը, որպեսզի կարողանաք միաժամանակ օգտագործել երկու հաշիվ։"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"վճարել, հպել, վճարումներ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"պահուստավորում, պահուստավորել"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ժեստ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"դեմք, ապակողպում, ճանաչում, մուտք"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"դեմք, ապակողպում, ապակողպել, նույնականացում, մուտք, մտնել, մատնահետք, կենսաչափական համակարգեր"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-ի տարբերակ, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"տեքստի չափը, մեծ տառատեսակ, խոշոր տառատեսակ, մեծ տեքստ, թույլ տեսողություն, մեծացնել տեքստը, մեծացնել տառատեսակը, տառատեսակի մեծացում"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"միշտ միացված անգործուն էկրան, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, պիտակ, ընթերցիչ"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ստեղնաշար, հապտիկ արձագանք, թրթռոց,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ձայնի ուժգնություն, թրթռոց, Չանհանգստացնել ռեժիմ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Մուլտիմեդիա"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Հեռարձակման ձայնի ուժգնություն"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Միացման ձայներ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Կենդանի ենթագրեր"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Ավտոմատ ավելացնել ենթագրեր"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Հեռախոսի բարձրախոսներ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Պլանշետի բարձրախոսներ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Սարքի բարձրախոսներ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Լարով ականջակալ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Համատեղելի մեդիա սարքերի ձայնը դառնում է ավելի արտահայտիչ"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Անջատված է"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Ծանուցումները ցույց տալ ամբողջությամբ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Կոնֆիդենցիալ տվյալները ցույց տալ միայն ապակողպված էկրանին"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ցույց չտալ ծանուցումներ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Կարգավորեք ծանուցումների ցուցադրումը կողպէկրանին"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ի՞նչ է անհրաժեշտ ցուցադրել կողպէկրանին"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Կողպէկրան"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ցույց տալ աշխատանքային ծանուցումներն ամբողջությամբ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Թաքցնել աշխատանքային գաղտնի տվյալները"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Վերջին զրույցները հեռացվեցին"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Զրույցը հեռացվեց"</string>
     <string name="clear" msgid="5092178335409471100">"Մաքրել"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Հեռացնել օգտատիրոջը (<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>)"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Կարևոր և փոփոխված զրույցները կցուցադրվեն այստեղ"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Այստեղ կցուցադրվեն զրույցներում կատարված բոլոր փոփոխությունները (օրինակ՝ եթե զրույցը դարձնեք կարևոր)։ \n\nԻնչպես փոփոխել զրույցի կարգավորումները․ \nՄատը սահեցրեք էկրանի վերևից ներքև՝ իջնող վահանակը բացելու համար, ապա հպեք զրույցին և պահեք։"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Ծալել"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Ծանուցումների ձայնի նվազեցում"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Նվազեցնել բոլոր ծանուցումների ձայնի ուժգնությունը"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Աստիճանաբար նվազեցնել ծանուցումների ձայնի ուժգնությունը, երբ նույն հավելվածից անընդմեջ բազմաթիվ ծանուցումներ եք ստանում"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Նվազեցնել ձայնի ուժգնությունը զրույցների համար"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Աստիճանաբար նվազեցնել ծանուցումների ձայնի ուժգնությունը, երբ նույն զրույցից բազմաթիվ ծանուցումներ եք ստանում կարճ ժամանակահատվածում"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Չօգտագործել ծանուցումների ձայնի ուժգնության նվազեցումը"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Երբեք չնվազեցնել ծանուցումների ձայնի ուժգնությունը՝ անկախ նրանից, թե քանի ծանուցում եք անընդմեջ ստանում նույն հավելվածից"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Թրթռալ ապակողպված էկրանի դեպքում"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Երբ էկրանն ապակողպված է, միայն թրթռալ"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Կիրառել աշխատանքային պրոֆիլների համար"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Ծանուցումների ձայնի ուժգնության նվազեցման կարգավորումները ձեր անձնական պրոֆիլից կիրառել աշխատանքային պրոֆիլում"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR օգնության ծառայություններ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Տեղադրված հավելվածներից ոչ մեկը որպես VR օգնության ծառայություն գործարկվելու հարցում չի ուղարկել:"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Թույլատրե՞լ VR ծառայությանն օգտագործել <xliff:g id="SERVICE">%1$s</xliff:g> ծառայությունը:"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Անջատված է"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Հավելվածների ամրացում"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Հավելվածների ամրացման օգնությամբ դուք կարող եք տեսադաշտում պահել ընթացիկ հավելվածն այնքան ժամանակ, մինչև չապամրացնեք այն։ Այս գործառույթը կարող է օգտագործվել, օրինակ, երբ ուզում եք թույլ տալ ձեր վստահելի ընկերոջը որոշակի խաղ խաղալ։"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Երբ որևէ հավելված ամրացված է, այն կարող է այլ հավելվածներ բացել։ Դրան կարող են նաև հասանելի լինել ձեր անձնական տվյալները։ \n\nՀավելվածների ամրացման գործառույթն օգտագործելու համար՝ 	\n1. Միացրեք հավելվածների ամրացումը։ 	\n2. Բացեք Համատեսքը։ 	\n3. Էկրանի վերևում հպեք հավելվածի պատկերակին, այնուհետև հպեք «Ամրացնել»։"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Երբ որևէ հավելված ամրացված է, այն կարող է այլ հավելվածներ բացել։ Դրան կարող են նաև հասանելի լինել ձեր անձնական տվյալները։ \n\nԵթե ձեր սարքից պետք է այլ մարդիկ օգտվեն, և դուք ուզում եք ձեզ ապահով զգալ, կարող եք հյուր ստեղծել։ \n\nՀավելվածների ամրացման գործառույթն օգտագործելու համար՝ 	\n1. Միացրեք հավելվածների ամրացումը։ 	\n2. Բացեք Համատեսքը։ 	\n3. Էկրանի վերևում հպեք հավելվածի պատկերակին, այնուհետև հպեք «Ամրացնել»։"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Երբ որևէ հավելված ամրացված է, այն կարող է այլ հավելվածներ բացել։ Դրան կարող են նաև հասանելի լինել ձեր անձնական տվյալները։ \n\nՀավելվածների ամրացման գործառույթն օգտագործելու համար՝ 	\n{0,number,integer}. Միացրեք հավելվածների ամրացումը 	\n{1,number,integer}. Բացեք Համատեսքը 	\n{2,number,integer}. Էկրանի վերևում հպեք հավելվածի պատկերակին, այնուհետև հպեք «Ամրացնել»"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Երբ որևէ հավելված ամրացված է, այն կարող է այլ հավելվածներ բացել։ Դրան կարող են նաև հասանելի լինել ձեր անձնական տվյալները։ \n\nԵթե ձեր սարքից պետք է այլ մարդիկ օգտվեն, և դուք ուզում եք ձեզ ապահով զգալ, կարող եք հյուր ստեղծել։ \n\nՀավելվածների ամրացման գործառույթն օգտագործելու համար՝ 	\n{0,number,integer}. Միացրեք հավելվածների ամրացումը 	\n{1,number,integer}. Բացեք Համատեսքը 	\n{2,number,integer}. Էկրանի վերևում հպեք հավելվածի պատկերակին, այնուհետև հպեք «Ամրացնել»"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Երբ հավելվածն ամրացված է՝ \n\n•	 Դրան կարող են հասանելի լինել ձեր անձնական տվյալները \n		(օր․՝ կոնտակտները և նամակների բովանդակությունը)։ \n•	 Այն կարող է բացել այլ հավելվածներ։ \n\nԱմրացված հավելվածներից թույլ տվեք օգտվել միայն մարդկանց, որոնց վստահում եք։"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Հարցնել ապակողպող նախշը"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Հարցնել PIN կոդը"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Հարցնել գաղտնաբառը"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Ապամրացնելիս կողպել սարքը"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Հաստատեք SIM-ի ջնջումը"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Հաստատեք, որ ուզում եք ջնջել ձեր eSIM-ը"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Նախքան eSIM քարտ ջնջելը հաստատեք ձեր ինքնությունը"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Ընդլայնված պաշտպանություն – Բետա"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Հիշողության ընդլայնված պաշտպանություն"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Չօգտագործվող հավելվածների կարգավորումներ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Դադարեցնել աշխատանքը ոչ ակտիվ վիճակում"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Հեռացնել թույլտվությունները, ջնջել ժամանակավոր ֆայլերը և դադարեցնել ծանուցումները"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Կառավարել հավելվածը, եթե չի օգտագործվում"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Հեռացնել թույլտվությունները, ջնջել ժամանակավոր ֆայլերը, դադարեցնել ծանուցումները և արխիվացնել հավելվածը"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Բոլոր հավելվածները"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Տեղադրված հավելվածներ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ակնթարթային հավելվածները"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Ազատ է"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Հավելվածների օգտագործած հիշողությունը"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Վերջին {time}ում հիշողությունն օգտագործվել է 1 հավելվածի կողմից}one{Վերջին {time}ում հիշողությունն օգտագործվել է # հավելվածի կողմից}other{Վերջին {time}ում հիշողությունն օգտագործվել է # հավելվածի կողմից}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Միացնել հիշողության պրոֆիլավորումը"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Հիշողության օգտագործման պրոֆիլավորման համար պահանջվում են համակարգի լրացուցիչ ռեսուրսներ։"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Հիշողության օգտագործման պրոֆիլավորումը միացված է"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Հաճախականություն"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Առավելագույն օգտագործումը"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Օգտագործված թրաֆիկ չկա"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Ցուցադրում այլ հավելվածների վրայից"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Ցուցադրել մյուս հավելվածների վրայից"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Թույլատրել այս հավելվածի ցուցադրումը մյուս ակտիվ հավելվածների վրայից: Այն կկարողանա տեսնել հպումները և փոխել էկրանին ցուցադրվող բովանդակությունը։"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Փոխել մեդիա արտածումը"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Թույլատրել հավելվածին փոխել մեդիա արտածումը"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Թույլատրել այս հավելվածին ընտրել, թե որ միացված սարքը աուդիո կամ վիդեո նվագարկի այլ հավելվածներից։ Թույլտվության դեպքում այս հավելվածը կկարողանա բացել հասանելի սարքերի, օրինակ՝ ականջակալների և բարձրախոսների ցանկը և ընտրել, թե արտածման որ սարքն օգտագործվի աուդիո կամ վիդեո հեռարձակելու համար։"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Բոլոր ֆայլերի հասանելիություն"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Բոլոր ֆայլերը կառավարելու թույլտվություն տալ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Դուք կարող եք թույլատրել այս հավելվածին կարդալ, փոփոխել և ջնջել այս սարքի կամ միացված կրիչների բոլոր ֆայլերը։ Եթե թույլատրեք, հավելվածը կկարողանա օգտվել ֆայյլերից առանց ձեր իմացության։"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Հասանելիություն ունեն բոլոր ֆայլերին"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ձայնային ակտիվացմամբ հավելվածներ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Թույլատրել ձայնային ակտիվացումը"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Միացրեք ընտրված հավելվածները ձայնային հրամանների միջոցով։ Ճանաչման ներկառուցված հարմարվող համակարգի շնորհիվ ձեր տվյալները միայն ձեզ հասանելի կլինեն։\n\n"<a href="">"Իմանալ ավելին ճանաչման պաշտպանված հարմարվող համակարգի մասին"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Ծանուցումներ լիաէկրան ռեժիմում"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Թույլատրել այս հավելվածին ցույց տալ ծանուցումներ լիաէկրան ռեժիմում"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Թույլատրել այս հավելվածին ցույց տալ ծանուցումներ լիաէկրան ռեժիմում, երբ սարքը կողպված է։ Հավելվածները կարող են օգտագործել այս գործառույթը՝ զարթուցիչներ, մուտքային զանգեր և այլ շտապ ծանուցումներ ցուցադրելու համար։"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Թրաֆիկի օգտագործման զգուշացում` <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Թրաֆիկի օգտագործման սահմանաչափ՝ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Թրաֆիկի օգտագործման զգուշացում` <xliff:g id="ID_1">^1</xliff:g> / Թրաֆիկի օգտագործման սահմանաչափ` <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Օպերատորի վիճակագրությունը կարող է տարբերվել սարքի տվյալներից։"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Օպերատորների կողմից սպասարկվող ցանցերի տվյալները չեն հետագծվում"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Օգտագործվել է <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Նախազգուշացում դնել"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Թարմացվել է <xliff:g id="ID_1">^2</xliff:g> առաջ"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Թարմացվել է հենց նոր <xliff:g id="ID_1">^1</xliff:g>-ի կողմից"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Թարմացվել է հենց նոր"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Դիտել սակագնային պլանը"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Տեսնել մանրամասները"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Թրաֆիկի տնտեսում"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Տվյալների անսահմանափակ օգտագործում"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը ֆոնային ռեժիմում սովորականից ավելի շատ էներգիա է սպառում"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը ակտիվ ռեժիմում շատ էներգիա է սպառում"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> հավելվածը ակտիվ ռեժիմում սովորականից ավելի շատ էներգիա է սպառում"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Մարտկոցի անկանոն օգտագործում"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Մարտկոցի արագ սպառում"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Մարտկոցի արագ սպառում ֆոնային ռեժիմում"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Մարտկոցի արագ սպառում ակտիվ ռեժիմում"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Ծրագրավորողի արագ կարգավորման սալիկներ"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Անջատել adb թույլտվությունների սպասման ժամանակը"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Անջատել adb թույլտվությունների ավտոմատ չեղարկումը այն համակարգերի համար, որոնք նորից չեն միացել կանխադրված (7 օր) կամ օգտատիրոջ կողմից կարգավորված (առնվազն 1 օր) ժամանակահատվածում։"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-ի հետագծում"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Տվիչներն անջատված են"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Աշխատանքային պրոֆիլի կարգավորումներ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Որոնել կոնտակտներ աշխատանքային գրացուցակներից անձնական հավելվածներում"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"նավիգացիա համակարգում, երկկոճակ նավիգացիա, եռակոճակ նավիգացիա, ժեստերով նավիգացիա, սահեցնել"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Թվային օգնական"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Մատը սահեցնել՝ թվային օգնականը գործարկելու համար"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Թվային օգնականը գործարկելու համար մատը ներքևի անկյունից սահեցրեք վերև։"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Թվային օգնականի հավելվածը գործարկելու համար մատը ներքևի անկյունից սահեցրեք վերև"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Օգնականը բացելու համար սեղմած պահել «Գլխավոր էկրան» կոճակը"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Սեղմեք և պահեք գլխավոր էկրանի կոճակը՝ թվային օգնական հավելվածը կանչելու համար։"</string>
     <string name="low_label" msgid="6525629096999711220">"Ցածր"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Ինքնալրացման ծառայություն"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Ինքնալրացման կանխադրված ծառայություն"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Գաղտնաբառեր"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Գաղտնաբառերի, անցաբառերի և տվյալների պահման ծառայություններ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Լրացուցիչ մատակարարներ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Նախընտրած սարք"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Լրացուցիչ ծառայություններ"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# գաղտնաբառ}one{# գաղտնաբառ}other{# գաղտնաբառ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ավտոմատ, լրացում, ինքնալրացում, գաղտնաբառ"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"տվյալներ, անցաբառ, գաղտնաբառ"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ավտոմատ, լրացնել, ինքնալրացում, տվյալներ, անցաբառ, գաղտնաբառ"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Փոփոխել"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Բացել"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ոչինչ ընտրված չէ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Համոզվեք, որ վստահում եք այս հավելվածին&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;-ն օգտագործում է էկրանի բովանդակությունը՝ որոշելու, թե ինչը կարող է ինքնալրացվել:"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Օգտագործե՞լ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;-ը&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; հավելվածն օգտագործում է ձեր էկրանի բովանդակությունը՝ որոշելու, թե ինչ կարելի է ինքնալրացնել։ Նոր գաղտնաբառերը, անցաբառերը և այլ տեղեկություններ այսուհետ կպահվեն այստեղ։"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Գաղտնաբառերի, անցաբառերի և տվյալների պահման ծառայություններ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Օգտագործեք &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; հավելվածը &lt;br/&gt; &lt;br/&gt; Նոր գաղտնաբառերը, անցաբառերը և այլ տեղեկություններ այսուհետ կպահվեն այստեղ։ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; հավելվածը կարող է օգտագործել ձեր էկրանի բովանդակությունը՝ որոշելու, թե ինչ կարելի է ինքնալրացնել։"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Նախընտրելի ծառայությունը գաղտնաբառերի, անցաբառերի և ինքնալրացման համար"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Անջատե՞լ %1$s ծառայությունը"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Անջատե՞լ այս ծառայությունը&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Պահված տեղեկությունները, ինչպիսիք են գաղտնաբառերը, անցաբառերը, վճարման եղանակները և այլ տվյալներ, չեն լրացվի, երբ մուտք գործեք։ Ձեր պահված տեղեկությունները օգտագործելու համար ընտրեք գաղտնաբառ, անցաբառ կամ ծառայություն։"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Գաղտնաբառեր, անցաբառեր և ինքնալրացում"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Անջատե՞լ բոլոր ծառայությունները&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Գաղտնաբառերը, անցաբառերը և այլ տեղեկություններ հասանելի չեն լինի ինքնալրացման համար, երբ հաշիվ մտնեք"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Փոխարինե՞լ նախընտրած ծառայությունը նորով՝ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Նոր գաղտնաբառերը, անցաբառերը և այլ տեղեկություններ այսուհետ կպահվեն այստեղ։ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; հավելվածը կարող է օգտագործել ձեր էկրանի բովանդակությունը՝ որոշելու, թե ինչ կարելի է ինքնալրացնել"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Օգտագործե՞լ %1$s"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Անջատել"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Փոխել"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Դուք կարող եք միայն 5 միացված ծառայություն ունենալ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Անջատեք առնվազն մեկ ծառայություն՝ նորն ավելացնելու համար"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s-ն օգտագործում է ձեր էկրանի բովանդակությունը՝ որոշելու, թե ինչ կարելի է ինքնալրացնել։"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Գաղտնաբառերի, անցաբառերի և տվյալների պահման ծառայությունների քանակը սահմանափակ է"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Միաժամանակ դուք կարող եք ունենալ գաղտնաբառերի, անցաբառերի և տվյալների պահման մինչև 5 ակտիվ ծառայություն։ Նոր ծառայություն ավելացնելու համար անջատեք եղածներից որևէ մեկը։"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Գաղտնաբառերի, անցաբառերի և տվյալների պահման ծառայությունների քանակը սահմանափակ է"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Միաժամանակ դուք կարող եք ունենալ գաղտնաբառերի, անցաբառերի և տվյալների պահման մինչև 5 ակտիվ ծառայություն։ Նոր ծառայություն ավելացնելու համար անջատեք եղածներից որևէ մեկը։"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Անջատել"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Ինքնալրացում"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Գրանցման մակարդակ"</string>
@@ -4167,15 +4370,15 @@
     <string name="angle_enabled_app" msgid="6044941043384239076">"Ընտրեք ANGLE-ի աջակցմամբ հավելված"</string>
     <string name="angle_enabled_app_not_set" msgid="4472572224881726067">"ANGLE-ի աջակցմամբ հավելված նշված չէ"</string>
     <string name="angle_enabled_app_set" msgid="7811829383833353021">"ANGLE-ի աջակցմամբ հավելված՝ <xliff:g id="APP_NAME">%1$s</xliff:g>"</string>
-    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Գրաֆիկական սարքավարի կարգավորումներ"</string>
-    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Փոփոխել գրաֆիկական սարքավարի կարգավորումները"</string>
-    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Մի քանի գրաֆիկական սարքավարի առկայության դեպքում սարքում տեղադրված հավելվածների համար դուք կարող եք օգտագործել թարմացված գրաֆիկական սարքավարը:"</string>
+    <string name="graphics_driver_dashboard_title" msgid="5661084817492587796">"Գրաֆիկական դրայվերի կարգավորումներ"</string>
+    <string name="graphics_driver_dashboard_summary" msgid="6348759885315793654">"Փոփոխել գրաֆիկական դրայվերի կարգավորումները"</string>
+    <string name="graphics_driver_footer_text" msgid="5123754522284046790">"Մի քանի գրաֆիկական դրայվերի առկայության դեպքում սարքում տեղադրված հավելվածների համար դուք կարող եք օգտագործել թարմացված գրաֆիկական սարքավարը:"</string>
     <string name="graphics_driver_all_apps_preference_title" msgid="1343065382898127360">"Միացնել բոլոր հավելվածների համար"</string>
     <string name="graphics_driver_app_preference_title" msgid="3133255818657706857">"Ընտրեք գրաֆիկական սարքավարը"</string>
     <string name="graphics_driver_app_preference_default" msgid="764432460281859855">"Կանխադրված"</string>
-    <string name="graphics_driver_app_preference_production_driver" msgid="1515874802568434915">"Խաղային սարքավար"</string>
-    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Մշակողների համար նախատեսված սարքավար"</string>
-    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Համակարգի գրաֆիկական սարքավար"</string>
+    <string name="graphics_driver_app_preference_production_driver" msgid="1515874802568434915">"Խաղային դրայվեր"</string>
+    <string name="graphics_driver_app_preference_prerelease_driver" msgid="7355929161805829480">"Մշակողների համար նախատեսված դրայվեր"</string>
+    <string name="graphics_driver_app_preference_system" msgid="3754748149113184126">"Համակարգի գրաֆիկական դրայվեր"</string>
     <!-- no translation found for graphics_driver_all_apps_preference_values:0 (8039644515855740879) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:1 (157748136905839375) -->
     <!-- no translation found for graphics_driver_all_apps_preference_values:2 (8104576549429294026) -->
@@ -4184,7 +4387,7 @@
     <!-- no translation found for graphics_driver_app_preference_values:2 (5391218026495225599) -->
     <!-- no translation found for graphics_driver_app_preference_values:3 (2586045835780389650) -->
     <string name="enable_angle_as_system_driver" msgid="4648827560023949786">"Փորձնական գործառույթ․ միացնել ANGLE-ը"</string>
-    <string name="enable_angle_as_system_driver_summary" msgid="2170215556348477481">"Նախազգուշացում․ միացրեք ANGLE-ը որպես կանխադրված OpenGL ES սարքավար։ Այս գործառույթը փորձարկման փուլում է և կարող է համատեղելի չլինել տեսանյութերի ստեղծման և տեսախցիկի որոշ հավելվածների հետ։"</string>
+    <string name="enable_angle_as_system_driver_summary" msgid="2170215556348477481">"Նախազգուշացում․ միացրեք ANGLE-ը որպես կանխադրված OpenGL ES դրայվեր։ Այս գործառույթը փորձարկման փուլում է և կարող է համատեղելի չլինել տեսանյութերի ստեղծման և տեսախցիկի որոշ հավելվածների հետ։"</string>
     <string name="reboot_dialog_enable_angle_as_system_driver" msgid="2619263039763150810">"Համակարգի OpenGL ES սարքավարը փոխելու համար պահանջվում է վերաբեռնում"</string>
     <string name="platform_compat_dashboard_title" msgid="1323980546791790236">"Հավելվածների համատեղելիության փոփոխություններ"</string>
     <string name="platform_compat_dashboard_summary" msgid="4036546607938791337">"Թաքցնել/ցուցադրել հավելվածների համատեղելիության փոփոխությունները"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Համատեղելիության փոփոխություններ հնարավոր է կատարել միայն վրիպազերծելի հավելվածներում։ Տեղադրեք վրիպազերծելի հավելված և նորից փորձեք։"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Այս կարգավորումը կախված է այլ պարամետրերից"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Հաշիվ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d հաշիվ"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Սարքի անունը"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Հիմնական տեղեկություններ"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Իրավական և կանոնակարգային տեղեկություններ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Թույլատրեք, որ այս հավելվածը գործարկվի NFC պիտակի սկանավորման ժամանակ։\nԵրբ այս թույլտվությունը միացված է, պիտակի հայտնաբերման դեպքում հավելվածը հասանելի կլինի որպես տարբերակ։"</string>
     <string name="media_output_title" msgid="8283629315159510680">"Որտեղ նվագարկել"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> – որտեղ նվագարկել"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Աուդիոն կնվագարկվի հետևյալ սարքում՝"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Այս սարքը"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Զանգի ընթացքում հասանելի չէ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Զանգն ընդունել հետևյալ սարքում՝"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Անձայն"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Միացնելու համար նախ նշեք, որ «Սեղմել և պահել սնուցման կոճակը» գործողության դեպքում սնուցման կոճակի ընտրացանկը բացվի։"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Ցանցի տվյալներ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Ձեր սարքի անունը տեսանելի է հեռախոսում տեղադրված հավելվածներին։ Այն կարող են տեսնել օգտատերերը, երբ միանում եք Bluetooth սարքերի, Wi-Fi ցանցի, կամ կարգավորում եք Wi-Fi թեժ կետ։"</string>
     <string name="devices_title" msgid="649715719278562515">"Սարքեր"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Ընտրել ցանց"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Անջատված է"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Անուն"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Գույն (համատեղելի հավելվածների համար)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Պահել"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Օգտագործել SIM քարտ"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Օգտագործել այս SIM քարտը"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Անջատած"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Այս SIM-ն անջատելու համար հանեք այն սարքից"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Հպեք՝ <xliff:g id="CARRIER">%1$s</xliff:g>-ի քարտն ակտիվացնելու համար"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ջնջել SIM քարտի տվյալները"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Այս SIM քարտն անջատելու համար հանեք այն սարքից"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Հպեք՝ <xliff:g id="CARRIER">%1$s</xliff:g>-ի ձեր SIM քարտն ակտիվացնելու համար"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Ջնջել eSIM քարտը"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ցանցի նախընտրելի տեսակը"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Ցանցի աշխատանքի ռեժիմի փոփոխություն"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Ցանցի նախընտրելի տեսակը"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Գների վերաբերյալ տեղեկություններ ստանալու համար դիմեք ձեր օպերատորին:"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Հավելվածների թրաֆիկ"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ցանցի անվավեր ռեժիմ՝ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>։ Փակել։"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Արբանյակային կապով հաղորդագրում"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Տեքստային հաղորդագրությունների ուղարկում և ստացում արբանյակային կապի միջոցով։ Ներառված է ձեր հաշվում։"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Տեքստային հաղորդագրությունների ուղարկում և ստացում արբանյակային կապի միջոցով։ Ներառված չէ ձեր հաշվում։"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Արբանյակային կապով հաղորդագրում"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Արբանյակային կապով հաղորդագրման մասին"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Ձեր <xliff:g id="CARRIER_NAME">%1$s</xliff:g> հաշիվը թույլ է տալիս տեքստային հաղորդագրություններ ուղարկել և ստանալ արբանյակային կապի միջոցով"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Ձեր <xliff:g id="CARRIER_NAME">%1$s</xliff:g> պլանը"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Արբանյակային կապով հաղորդագրումը ներառված է ձեր հաշվում"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Արբանյակային կապով հաղորդագրումը ներառված չէ ձեր հաշվում"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Ավելացնել արբանյակային կապով հաղորդագրումը"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Ինչպես է դա աշխատում"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Երբ բջջային ցանցին միացած չլինեք"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Ձեր հեռախոսն ավտոմատ կմիանա արբանյակային կապին։ Կապի օպտիմալ որակի համար պետք է դրսում լինեք, և երկինքը պետք է պարզ երևա։"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Երբ հեռախոսը միանա արբանյակային կապին"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Դուք կարող եք տեքստային հաղորդագրություններ ուղարկել ցանկացած համարի, այդ թվում՝ արտակարգ իրավիճակների ծառայություններին։ Ձեր հեռախոսը նորից կմիանա բջջային ցանցին, երբ այն հասանելի դառնա։"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Արբանյակային կապով հաղորդագրումը կարող է ավելի երկար տևել և հասանելի է միայն որոշ տարածաշրջաններում։ Եղանակը և որոշակի կառույցներ կարող են ազդել արբանյակային կապի վրա։ Արբանյակային կապի միջոցով զանգերը հասանելի չեն։\n\nԿարող է որոշակի ժամանակ պահանջվել, որպեսզի ձեր հաշվի փոփոխությունները ցուցադրվեն Կարգավորումներում։ Մանրամասների համար դիմեք <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ին։"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Լրացուցիչ տեղեկություններ արբանյակային կապով հաղորդագրման մասին"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Մուտքի կետերի անունները"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Հասանելի չէ <xliff:g id="CARRIER">%1$s</xliff:g>-ին միանալու դեպքում"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Անցնե՞լ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ին"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Անցնե՞լ SIM քարտի օգտագործմանը"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Օգտագործե՞լ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> օպերատորի ցանցը"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Միաժամանակ ակտիվ կարող է լինել միայն մեկ SIM քարտ։\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ին անցնելու դեպքում <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ի սակագնային պլանը չի չեղարկվի։"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Միաժամանակ ակտիվ կարող է լինել միայն 1 eSIM քարտ։\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ին անցնելու դեպքում <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ի սակագնային պլանը չի չեղարկվի։"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Միաժամանակ ակտիվ կարող է լինել միայն մեկ SIM քարտ։\n\nՕպերատորին փոխելու դեպքում <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ի սակագնային պլանը չի չեղարկվի։"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Միաժամանակ կարելի է օգտագործել միայն 1 SIM քարտ։\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ին անցնելու դեպքում <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ի սակագնային պլանը չի չեղարկվի։"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Միաժամանակ կարելի է օգտագործել միայն 1 eSIM քարտ։\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ին անցնելու դեպքում <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ի սակագնային պլանը չի չեղարկվի։"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Միաժամանակ կարելի է օգտագործել միայն 1 SIM քարտ։\n\nՄյուս սակագնային պլանին անցնելու դեպքում <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ի սակագնային պլանը չի չեղարկվի։"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Դուք միաժամանակ կարող եք օգտագործել 2 SIM քարտ։ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> օպերատորի ցանցն օգտագործելու համար անջատեք մյուս SIM քարտը։"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Անցնել <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ին"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Անջատել <xliff:g id="CARRIER_NAME">%1$s</xliff:g> օպերատորի ցանցը"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM քարտն անջատելու դեպքում ձեր ծառայությունը չի չեղարկվի"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Սարքը միանում է ցանցին…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Անցում <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ին զանգերի և հաղորդագրությունների համար…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Չհաջողվեց փոխել օպերատորին"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Չհաջողվեց փոխել օպերատորին։"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM քարտն ակտիվացվում է…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Անցում <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ին…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Չհաջողվեց փոխել SIM քարտերը"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Սխալ առաջացավ։ Չհաջողվեց փոխել SIM քարտերը։"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Անջատե՞լ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> օպերատորին"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Անջատե՞լ SIM քարտը"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM քարտն անջատվում է<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Չհաջողվեց անջատել օպերատորին"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Սխալի պատճառով հնարավոր չէ անջատել ձեր օպերատորին։"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Չհաջողվեց անջատել SIM քարտը"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Սխալի պատճառով ձեր SIM քարտը չհաջողվեց անջատել։"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Օգտագործե՞լ 2 SIM քարտ"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Այս սարքում հնարավոր է օգտագործել միաժամանակ 2 SIM քարտ։ Միայն մեկ SIM քարտ օգտագործելու համար հպեք «Ոչ, շնորհակալություն» կոճակին։"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Վերագործարկե՞լ սարքը"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ոչ, շնորհակալություն"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Չեղարկել"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Անցնել"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Անջատել"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Չհաջողվեց ակտիվացնել SIM քարտը"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Փորձեք նորից միացնել SIM քարտը։ Եթե խնդիրը չվերանա, վերագործարկեք սարքը։"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Կարգավորեք ձեր SIM քարտը"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Կարգավորեք ձեր բջջային ցանցի պարամետրերը, որպեսզի կարողանաք այս սարքում մի քանի SIM քարտ օգտագործել"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Պիտակեք ձեր SIM քարտերը"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Այս պիտակները կտեսնեք զանգեր կատարելիս, SMS-ներ ուղարկելիս և ինտերնետից օգտվելիս, ինչպես նաև Կարգավորումներում"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM քարտի պիտակ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Պիտակ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Ընտրեք՝ որ SIM-երն օգտագործել"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Դուք միաժամանակ կարող եք օգտագործել 2 SIM քարտ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Սահմանեք ձեր հիմնական SIM-երը"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Ընտրեք, թե որ SIM քարտերն ըստ կանխադրման օգտագործել զանգերի, SMS-ների և բջջային ինտերնետի համար"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Ձեր հիմնական SIM քարտերը"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Զանգեր"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS-ներ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Ավտոմատ անցում բջջ․ ինտերնետին"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Օգտագործեք բջջային ինտերնետ ցանկացած SIM քարտից՝ կախված ծածկույթից և հասանելիությունից"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Միայն բջջային ինտերնետ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Կարգավորել"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Հաջորդը"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> օպերատորը միանում է…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Բջջային ցանց"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Հեռախոսահամար"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM քարտի պիտակը և գույնը"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ցանցի ակտիվացում"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Անցում այլ օպերատորի"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ցանցն ակտիվ է"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ի ձեր SIM քարտն ակտիվ է"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Հպեք՝ SIM քարտի կարգավորումները թարմացնելու համար"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Միացել է <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ի ցանցին"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Միացել է այլ օպերատորի ցանցի"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Բջջային ցանցը փոխվել է"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Կարգավորեք մյուս SIM քարտը"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Ընտրեք ձեր ակտիվ SIM քարտը կամ օգտագործեք միաժամանակ երկուսը"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Ընտրեք համար"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Սարքում հասանելի է 1 համար, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}=2{Սարքում հասանելի է 2 համար, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}one{Սարքում հասանելի է # համար, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}other{Սարքում հասանելի է # համար, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Ակտիվացում<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Չհաջողվեց ակտիվացնել պրոֆիլը"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Ընտրեք SIM քարտը"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Սարքում հասանելի է 1 SIM քարտ, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}=2{Սարքում հասանելի է 2 SIM քարտ, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}one{Սարքում հասանելի է # SIM քարտ, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}other{Սարքում հասանելի է # SIM քարտ, սակայն միաժամանակ կարող եք օգտագործել միայն մեկը}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Միանում է<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Չհաջողվեց միացնել այս SIM քարտը"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Միացնե՞լ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ծառայությունը"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ի հեռախոսահամարը կօգտագործվի բջջային ինտերնետի, զանգերի և SMS-ների համար։"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Ակտիվ SIM քարտեր չկան"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Բջջային թրաֆիկը, զանգերի գործառույթները և SMS-ներն ավելի ուշ օգտագործելու համար անցեք ցանցի կարգավորումներ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM քարտ"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Ջնջե՞լ այս eSIM քարտը"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Այս SIM-ը ջնջելու դեպքում <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-ի ծառայությունը կհեռացվի սարքից։\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-ի ծառայությունը չի չեղարկվի։"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ծառայությունը կհեռացվի այս սարքից, սակայն <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-ի ձեր սակագնային պլանը չի չեղարկվի։"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ջնջել"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM քարտի տվյալները ջնջվում են…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM քարտի տվյալները հնարավոր չէ ջնջել"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Սխալի պատճառով չհաջողվեց ջնջել SIM քարտի տվյալները։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM քարտը ջնջվում է…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Չհաջողվեց ջնջել eSIM քարտը"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Սխալի պատճառով չհաջողվեց ջնջել այս eSIM քարտը։\n\nՎերագործարկեք սարքը և նորից փորձեք։"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Միացում սարքին"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> հավելվածը ցանկանում է օգտագործել ժամանակավոր Wi‑Fi ցանց՝ ձեր սարքին միանալու համար։"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Սարքեր չեն գտնվել։ Համոզվեք, որ սարքերը միացված են և հասանելի են կապակցման համար։"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Շտապ կանչեր"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Ձեր օպերատորի ցանցում հնարավոր չէ շտապ կանչեր անել «Զանգեր Wi-Fi-ով» գործառույթի միջոցով:\nՇտապ կանչ կատարելու համար սարքն ավտոմատ կանցնի բջջային ցանցին:\nՇտապ կանչեր կարող եք անել միայն այն տարածքներում, որտեղ կա բջջային ցանցի ծածկույթ:"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Միացեք Wi‑Fi ցանցի՝ զանգերի որակը լավացնելու համար"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Զանգելու պահեստային տարբերակ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Եթե <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>-ն անհասանելի է, օգտագործեք բջջային ինտերնետի SIM քարտը՝ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-ով զանգեր կատարելու և ստանալու համար։"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"զանգելու պահեստային տարբերակ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Մուտքային MMS հաղորդագրություն"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Չհաջողվեց ուղարկել MMS հաղորդագրությունը"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Հպեք՝ MMS հաղորդագրությունները <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>-ի ցանցում թույլատրելու համար, երբ բջջային ինտերնետն անջատված է"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Տեղեկություններ աշխատանքի կանոնների մասին"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ՏՏ ադմինիստրատորի կողմից կառավարվող կարգավորումներ"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Գործարկել էջի 16 ԿԲ չափսով"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Գործարկել սարքը 16 ԿԲ էջի հետ համատեղելի միջուկով"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Վերագործարկե՞լ 16 ԿԲ էջերի հետ համատեղելի միջուկով"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ԶԳՈՒՇԱՑՈՒՄ․ որոշ հավելվածներ կարող են համատեղելի չլինել այս ռեժիմի հետ։ Սարքը կվերագործարկվի հաստատումից հետո։"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Վերագործարկե՞լ 4 ԿԲ էջերի հետ համատեղելի միջուկով"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Սարքը կվերագործարկվի հաստատումից հետո։"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Չհաջողվեց փոխել միջուկը 16 ԿԲ էջերի հետ համատեղելի միջուկով։"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Փոփոխությունը կիրառվում է"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Վրիպակների մասին հաշվետվությունների մշակիչ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Որոշում է, թե որ հավելվածն է ձեր սարքում կառավարում վրիպակների մասին հաշվետվության դյուրանցումը:"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Անձնական"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Թույլատրել հավելվածներին, որոնք կարող են ցուցադրվել այլ հավելվածների վրա, վրադրել Կարգավորումների էկրանները"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Թույլատրել մոդեմի նմանակումը"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Թույլ տալ այս սարքին գործարկել «կեղծ մոդեմ» ծառայությունը գործիքային փորձարկման համար։ Մի՛ միացրեք սա հեռախոսի սովորական օգտագործման ժամանակ։"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Անջատել էկրանի ցուցադրման պաշտպանությունը"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Անջատում է համակարգի կողմից կիրառված հավելվածների և ծանուցումների պաշտպանությունը էկրանի ցուցադրման ժամանակ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Մեդիա"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Ամրացնել մեդիա նվագարկիչը"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Մեդիա նվագարկիչը բաց է մնում Արագ կարգավորումներում, որպեսզի կարողանաք անմիջապես վերսկսել նվագարկումը"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Ցույց տալ մեդիա բովանդակությունը կողպէկրանին"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Մեդիա նվագարկիչը բաց է մնում կողպէկրանին, որպեսզի կարողանաք անմիջապես վերսկսել նվագարկումը։"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Ցույց տալ մեդիա բովանդակության առաջարկներ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Ցույց տալ Օգնականի առաջարկվող մեդիա բովանդակությունը"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Ձեր գործողությունների հիման վրա"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Թաքցնել նվագարկիչը"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Ցուցադրել նվագարկիչը"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"մեդիա"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Թույլատրել տեսախցիկի ծրագրակազմի ընդլայնումների օգտագործումը"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Միացնում է տեսախցիկի ընդլայնված գործառույթների (օր.՝ առանց էկրանին նայելու տեսագրման) կանխադրված ծրագրային ապահովումը։"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Կմիանա Bluetooth-ը"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Ինտերնետ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM քարտեր"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM քարտ"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM քարտ"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM քարտեր"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Ակտիվ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Ոչ ակտիվ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Միացված է"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Անջատված է"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Կանխադրված՝ «<xliff:g id="ID_1">%1$s</xliff:g>» կատեգորիայի համար"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"զանգեր"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4586,7 +4839,7 @@
     <string name="multiple_users_main_switch_title" msgid="6686858308083037810">"Թույլատրել մեկից ավելի օգտատերեր"</string>
     <string name="multiple_users_main_switch_keywords" msgid="4845954458094134356">"թույլ տալ, մի քանի, օգտատեր, թույլատրել, շատ"</string>
     <string name="wireless_debugging_main_switch_title" msgid="8463499572781441719">"Օգտագործել անլար վրիպազերծումը"</string>
-    <string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Օգտագործել գրաֆիկական սարքավարի կարգավորումները"</string>
+    <string name="graphics_driver_main_switch_title" msgid="6125172901855813790">"Օգտագործել գրաֆիկական դրայվերի կարգավորումները"</string>
     <string name="night_light_main_switch_title" msgid="3428298022467805219">"Օգտագործել «Գիշերային լույս» գործառույթը"</string>
     <string name="nfc_main_switch_title" msgid="6295839988954817432">"Օգտագործել NFC-ն"</string>
     <string name="adaptive_brightness_main_switch_title" msgid="2681666805191642737">"Օգտագործել հարմարվող պայծառությունը"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Համատեղելի մեդիա սարքերի ձայնը դառնում է ավելի արտահայտիչ"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Գլխի շարժումների հետագծում"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Երբ դուք շարժում եք ձեր գլուխը, ձայնը դառնում է ավելի բնական"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Համաժամացնել թույլտվությունները"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> հավելվածին տվեք նույն թույլտվությունները, որոնք տվել եք <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> սարքում"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Համաժամացնել թույլտվությունները հեռախոսից"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Ժամացույցում հավելվածին տվեք նույն թույլտվությունները, որոնք տվել եք այս հեռախոսում"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Աուդիո սարքի տեսակը"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Անհայտ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Բարձրախոս"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Միջին"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Բարձր"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Այս հավելվածը հնարավոր է բացել միայն մեկ պատուհանում"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Միացված է"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Անջատված է"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Անջատված է"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Անջատված է"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Միացված է"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Անջատված է"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Միացված է"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Անջատված է"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Բաց էկրանները դարձնում է մուգ, իսկ մուգ էկրանները՝ բաց"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Մեծացնել էկրանի մասշտաբը"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Անջատված է"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Անջատված է"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Սկանավորել՝ խարդախություն պարունակող հավելվածներ գտնելու համար"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Ստուգել հավելվածի օգտագործման պատմությունը՝ ֆիշինգ հայտնաբերելու նպատակով"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Սկանավորում՝ կեղծ տվյալներով հավելվածներ գտնելու համար"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Սկանավորում՝ կեղծ տվյալներով աշխատանքային հավելվածներ գտնելու համար"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Գաղտնաբառը կարգավորված է"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Ցույց տալ նշորդը՝ ստիլուսը տարրի վրա պահելիս"</string>
 </resources>
diff --git a/res/values-in/arrays.xml b/res/values-in/arrays.xml
index 15ed51f..15ec935 100644
--- a/res/values-in/arrays.xml
+++ b/res/values-in/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Tersedia"</item>
     <item msgid="6096962300722555553">"Di luar jangkauan"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Gunakan Default Sistem: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Setelah 1 menit"</item>
     <item msgid="1574040255478150028">"Setelah 5 menit"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-in/strings.xml b/res/values-in/strings.xml
index a8e8450..ed66437 100644
--- a/res/values-in/strings.xml
+++ b/res/values-in/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Sekarang Anda adalah seorang developer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Tidak perlu, Anda sudah menjadi developer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktifkan opsi developer terlebih dahulu."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Hanya pengguna admin yang dapat mengakses setelan developer."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Dalam Layanan"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Di Luar Area Layanan"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Layar depan aktif saat perangkat dilipat"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Hanya game, video, dan lainnya"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Layar depan aktif untuk aplikasi agar layar tetap ada aktivitas"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Geser ke atas untuk melanjutkan"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Lipat ponsel dan geser ke atas di bagian layar depan untuk melanjutkan penggunaan aplikasi, atau tunggu beberapa detik agar layar terkunci"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Jangan pernah"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Layar depan dikunci saat perangkat dilipat"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Gunakan putar otomatis"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Terkait"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Nada dering dan alarm"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio saat panggilan"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Suara notifikasi dan sistem lainnya"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Suara media dan sistem"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifikasi"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Secara default, output audio ditentukan oleh masing-masing aplikasi"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Perangkat Bluetooth tak bernama"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Menelusuri"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Batal"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Nonaktifkan Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Nonaktifkan fitur Bluetooth LE Audio jika perangkat mendukung kemampuan hardware LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Mode Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Tampilkan tombol LE audio di Detail Perangkat"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Aktifkan Daftar yang Diizinkan Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Aktifkan fitur daftar yang diizinkan Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Abaikan Daftar yang Diizinkan Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Gunakan LE Audio secara default meskipun periferal LE Audio belum diverifikasi untuk memenuhi kriteria Daftar yang diizinkan."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Perangkat Media"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Perangkat panggilan telepon"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Perangkat lain"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Perangkat tersimpan"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Dikaitkan dengan akun"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Sebelumnya digunakan dengan akun"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth akan diaktifkan untuk menyambungkan"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferensi koneksi"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Terhubung sebelumnya"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth diaktifkan"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Lihat semua"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Lihat semua"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tombol stilus ditekan"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profil kerja)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Menulis di kolom teks"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Abaikan semua penekanan tombol dengan stilus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Berbagi audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Bagikan audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Panggilan dan alarm"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Hubungkan ke streaming audio menggunakan kode QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Tidak ada streaming audio di sekitar."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Tanggal &amp; waktu"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Bersihkan"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Tambahkan %s ke bahasa pilihan?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Tindakan ini memberi tahu aplikasi dan situs bahwa Anda juga memilih bahasa ini."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Setelan dan preferensi regional perangkat akan berubah."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Ubah"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s tidak tersedia"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sabtu"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Jika tidak mendukung preferensi regional, aplikasi akan menggunakan setelan lokalitas defaultnya."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Pelajari lebih lanjut preferensi bahasa."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferensi tambahan"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Kata sapaan"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Setel bagaimana Anda ingin disebut"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikasi dapat menggunakan kata sapaan untuk mempersonalisasi sebutan Anda."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Tidak ditentukan"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maskulin"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Netral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Hapus bahasa yang dipilih?}other{Hapus bahasa yang dipilih?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Teks akan ditampilkan dalam bahasa lain."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Tidak dapat menghapus semua bahasa"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokasi"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Gunakan lokasi"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Nonaktif"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Aktif - # aplikasi memiliki akses ke lokasi}other{Aktif - # aplikasi memiliki akses ke lokasi}}"</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_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="5329024810729665156">"Pelajari Setelan Lokasi lebih lanjut."</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="3574930966097093550">"Untuk mengubah akses lokasi, buka Setelan &gt; Keamanan dan Privasi &gt; Kontrol privasi"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Akun"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Keamanan"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Enkripsi &amp; kredensial"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Untuk hasil terbaik, gunakan pelindung layar yang bersertifikasi Made for Google. Jika pelindung layar lain digunakan, sidik jari anak Anda mungkin tidak akan berfungsi."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Buka dengan Smartwatch"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Jika Anda telah menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari, ponsel akan meminta sidik jari saat Anda memakai masker atau berada di area yang gelap.\n\nAnda dapat membuka kunci dengan smartwatch saat wajah atau sidik jari Anda tidak dikenali."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Anda dapat membuka kunci dengan smartwatch saat sidik jari Anda tidak dikenali."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Anda dapat membuka kunci dengan smartwatch saat wajah Anda tidak dikenali."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Saat Anda menyiapkan Buka dengan Wajah dan Buka dengan Sidik Jari, ponsel akan meminta sidik jari saat Anda memakai masker atau berada di area yang gelap.\n\nBuka dengan Smartwatch adalah cara praktis lain untuk membuka kunci ponsel, misalnya, saat jari Anda basah atau wajah Anda tidak dikenali."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Buka dengan Smartwatch adalah cara praktis lain untuk membuka kunci ponsel, misalnya, saat sidik jari Anda tidak dikenali."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Buka dengan Smartwatch adalah cara praktis lain untuk membuka kunci ponsel, misalnya, saat wajah Anda tidak dikenali."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Gunakan sidik jari atau smartwatch untuk"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Gunakan wajah atau smartwatch untuk"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Gunakan wajah, sidik jari, atau smartwatch untuk"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Buka dengan Smartwatch adalah cara praktis lain untuk membuka kunci ponsel ini, misalnya, saat jari Anda basah atau wajah Anda tidak dikenali.\n\nAnda dapat menggunakan smartwatch untuk membuka kunci ponsel ini saat Anda:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Lain kali"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Lanjutkan"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Lainnya"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Cara kerjanya"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Smartwatch harus tidak terkunci, dikenakan di pergelangan tangan, dan berada dalam jangkauan ponsel ini. Anda tidak perlu membuka kunci smartwatch lagi saat smartwatch sedang dikenakan di pergelangan tangan."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Saat ponsel ini dibuka kuncinya, Anda akan menerima notifikasi di smartwatch. Jika ponsel dibuka kuncinya saat Anda tidak memintanya, ketuk notifikasi untuk mengunci ponsel kembali."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Kendali di tangan Anda"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Anda dapat menghapus smartwatch dari Buka dengan Smartwatch kapan saja di Setelan"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Ketuk notifikasi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Geser ke atas di layar kunci"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Pilih smartwatch Anda"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Smartwatch yang tersedia"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Batal"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Konfirmasi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Anda sudah siap."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Anda kini dapat menggunakan smartwatch untuk membuka kunci ponsel ini saat menggeser ke atas di layar kunci atau mengetuk notifikasi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Selesai"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Buka dengan Smartwatch"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Anda dapat menggunakan smartwatch untuk membuka kunci ponsel ini saat menggeser ke atas di layar kunci atau mengetuk notifikasi"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Untuk menggunakan Buka dengan Smartwatch, smartwatch harus tidak terkunci, dikenakan di pergelangan tangan, berada dalam jangkauan, dan terhubung ke ponsel ini. Jika koneksi terganggu, Anda harus membuka kunci ponsel sebelum dapat menggunakan Buka dengan Smartwatch.\n\nPerlu diingat:\nAnda hanya dapat menyiapkan satu smartwatch pada satu waktu. Untuk menambahkan smartwatch lain, hapus smartwatch saat ini terlebih dahulu."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Keamanan"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privasi"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profil kerja"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Ruang privasi"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Tetap kunci dan sembunyikan ruang pribadi"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Tempatkan aplikasi pribadi di ruang terpisah yang dapat Anda sembunyikan atau kunci"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Kunci ruang privasi"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Anda dapat membuka kunci ruang privasi dengan cara yang sama seperti membuka kunci perangkat, atau memilih kunci lain"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gunakan kunci layar perangkat"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Buka dengan Wajah &amp; Sidik Jari"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Buka dengan Sidik Jari"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Buka dengan Wajah"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ketuk untuk menyiapkan"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Buka dengan Sidik Jari untuk ruang privasi"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Buka dengan Wajah untuk ruang privasi"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Cara membuka kunci"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama dengan kunci layar perangkat"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Pilih kunci baru untuk ruang privasi?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Mengunci ruang privasi secara otomatis"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Anda dapat mengunci ruang privasi secara otomatis jika Anda tidak menggunakan perangkat selama jangka waktu tertentu"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Setiap kali perangkat terkunci"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Setelah 5 menit tidak aktif"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Jangan pernah"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Sembunyikan saat terkunci"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Sembunyikan ruang privasi saat terkunci"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Agar orang lain tidak dapat melihat ruang privasi Anda di perangkat, Anda dapat menyembunyikannya dari daftar aplikasi"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Akses ruang privasi saat disembunyikan"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Dari daftar apl, ketik \"ruang privasi\" di kotak penelusuran"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Ketuk kartu ruang privasi"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Buka kunci ruang privasi"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Nonaktif"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktif"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Hapus ruang pribadi"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Hapus ruang pribadi?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Ruang pribadi Anda akan dihapus dari perangkat. Semua aplikasi dan data pribadi akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Akun berikut akan dihapus dari ruang privasi Anda:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Hapus"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Menghapus ruang privasi…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Proses ini perlu waktu beberapa saat"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Ruang privasi dihapus"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Ruang privasi tidak dapat dihapus"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Ruang privasi tidak terkunci"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Setel kunci layar"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Untuk menggunakan ruang pribadi, setel kunci layar di perangkat ini"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Setel kunci layar"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Batal"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Batal"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Siapkan"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Siapkan ruang pribadi"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Tempatkan aplikasi pribadi di ruang terpisah yang dapat Anda sembunyikan atau kunci"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Cara kerjanya"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Anda dapat mengakses ruang pribadi dari bagian bawah daftar aplikasi"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikasi di ruang pribadi dilindungi dengan kunci"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notifikasi dari aplikasi di ruang pribadi disembunyikan saat ruang pribadi dikunci"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikasi di ruang pribadi tidak akan muncul di pengelola izin, dasbor privasi, dan setelan lainnya jika ruang pribadi Anda dikunci.\n\nRuang pribadi tidak dapat dipindahkan ke perangkat baru. Anda harus menyiapkan ruang pribadi lain jika ingin menggunakannya di perangkat lain.\n\nSiapa saja yang menghubungkan perangkat Anda ke komputer atau menginstal aplikasi berbahaya ke perangkat Anda mungkin dapat mengakses ruang pribadi Anda."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Menyiapkan ruang pribadi…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notifikasi dari aplikasi ruang privasi disembunyikan saat ruang privasi dikunci"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Buka kunci ruang privasi Anda untuk berbagi foto atau file"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Beberapa aplikasi sudah diinstal di ruang pribadi"</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_lockscreen_title" msgid="6034864097861137509">"Gunakan kunci layar untuk membuka ruang pribadi?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Anda dapat membuka kunci ruang pribadi dengan cara yang sama seperti membuka kunci perangkat, atau memilih kunci lain"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gunakan kunci layar"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Pilih kunci baru"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Semua siap."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Untuk menemukan ruang privasi, buka daftar aplikasi, lalu scroll ke bawah"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Selesai"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scroll ke bawah untuk menemukan ruang pribadi"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Login"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Login ke akun agar dapat digunakan dengan ruang privasi Anda"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Lain kali"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Lanjutkan"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Pilih kunci untuk ruang pribadi Anda"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Anda dapat membuka kunci ruang pribadi menggunakan sidik jari. Demi keamanan, opsi ini memerlukan kunci cadangan."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Setel PIN untuk ruang pribadi Anda"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Setel sandi untuk ruang pribadi Anda"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Setel pola untuk ruang pribadi Anda"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Anda dapat menambahkan maksimal <xliff:g id="COUNT">%d</xliff:g> sidik jari"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Anda telah menambahkan jumlah maksimum sidik jari"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Tidak dapat menambahkan sidik jari lagi"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pola"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Sandi"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Hapus kunci layar?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Hapus semua jenis buka kunci perangkat?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Hapus perlindungan profil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Pola melindungi ponsel Anda jika hilang atau dicuri"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Pola melindungi ponsel Anda jika hilang atau dicuri.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Pola ini menghapus model sidik jari yang disimpan di perangkat. Model wajah Anda juga akan dihapus secara permanen dan aman. Anda tidak akan dapat menggunakan wajah atau sidik jari Anda untuk autentikasi dalam aplikasi."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN melindungi ponsel Anda jika hilang atau dicuri"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Anda akan kehilangan data tersimpan seperti PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartu yang disiapkan untuk pembayaran nirsentuh akan dihapus.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet dan aplikasi lainnya yang memerlukan buka kunci perangkat mungkin tidak berfungsi dengan baik."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN melindungi ponsel Anda jika hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Tindakan ini juga menghapus model sidik jari yang disimpan di perangkat. Anda tidak akan dapat menggunakan sidik jari Anda untuk autentikasi dalam aplikasi."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Anda akan kehilangan data tersimpan seperti PIN dan model sidik jari.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartu yang disiapkan untuk pembayaran nirsentuh akan dihapus.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet dan aplikasi lainnya yang memerlukan buka kunci perangkat mungkin tidak berfungsi dengan baik."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN melindungi ponsel Anda jika hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Model wajah Anda juga akan dihapus secara permanen dan aman. Anda tidak akan dapat menggunakan wajah Anda untuk autentikasi dalam aplikasi."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Anda akan kehilangan data tersimpan seperti PIN dan model wajah.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartu yang disiapkan untuk pembayaran nirsentuh akan dihapus.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet dan aplikasi lainnya yang memerlukan buka kunci perangkat mungkin tidak berfungsi dengan baik."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN melindungi ponsel Anda jika hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>PIN ini menghapus model sidik jari yang disimpan di perangkat. Model wajah Anda juga akan dihapus secara permanen dan aman. Anda tidak akan dapat menggunakan wajah atau sidik jari Anda untuk autentikasi dalam aplikasi."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Anda akan kehilangan data tersimpan seperti PIN, model wajah, dan model sidik jari.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartu yang disiapkan untuk pembayaran nirsentuh akan dihapus.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet dan aplikasi lainnya yang memerlukan buka kunci perangkat mungkin tidak berfungsi dengan baik."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Sandi melindungi ponsel Anda jika hilang atau dicuri"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Sandi melindungi ponsel Anda jika hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Sambungkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Tambahkan anggota baru ke kumpulan perangkat terkoordinasi yang ada"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Konfirmasi agar dapat menambahkan alat kedua dari perangkat audio Anda"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kode penyambungan Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Ketik kode penyandingan lalu tekan Kembali atau Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN berisi huruf atau simbol"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Harus berisi 18 digit"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Anda mungkin juga perlu mengetikkan PIN ini ke perangkat lain."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Anda mungkin juga perlu mengetikkan sandi ini ke perangkat lain."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Konfirmasikan agar dapat tersambung dengan kumpulan perangkat terkoordinasi"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Konfirmasi agar dapat tersambung dengan perangkat audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Izinkan akses ke kontak dan histori panggilan Anda"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Juga izinkan akses ke kontak dan histori panggilan"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Info akan digunakan untuk pengumuman panggilan dan lainnya"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Tidak dapat terhubung ke <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Perangkat yang tersedia"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Hubungkan"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Putuskan koneksi"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sambungkan &amp; hubungkan"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Saat Bluetooth aktif, perangkat dapat berkomunikasi dengan perangkat Bluetooth terdekat lainnya."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Jika Bluetooth aktif, perangkat dapat berkomunikasi dengan perangkat Bluetooth lain di sekitar"</string>
     <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. Setelan 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>
     <string name="device_details_title" msgid="1155622417516195481">"Detail perangkat"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Izinkan ART memverifikasi bytecode untuk aplikasi yang dapat di-debug"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Tampilkan kecepatan refresh"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Tampilkan kecepatan refresh layar saat ini"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Tampilkan rasio HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Tampilkan rasio HDR/SDR saat ini"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Wajib buka kunci perangkat untuk NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Dalam mode Pesawat"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Beri tahu untuk jaringan publik"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Beri tahu ketika jaringan publik berkualitas tinggi tersedia"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Izinkan jaringan WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP adalah protokol keamanan lama yang kurang aman"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operator Anda tidak mengizinkan jaringan WEP karena jaringan tersebut kurang aman"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Otomatis aktifkan Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi akan aktif kembali di dekat jaringan berkualitas tinggi yang tersimpan, seperti jaringan rumah Anda"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Tidak tersedia karena lokasi dinonaktifkan. Aktifkan "<annotation id="link">"lokasi"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Pemindaian Wi-Fi memungkinkan aplikasi dan layanan untuk memindai jaringan Wi-Fi kapan saja, meski Wi-Fi nonaktif. Ini dapat dilakukan, misalnya, untuk meningkatkan kualitas fitur dan layanan berbasis lokasi."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktifkan"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Pemindaian Wi-Fi diaktifkan"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Jaringan ini menggunakan protokol keamanan lama yang kurang aman"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> diblokir"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Jaringan ini menggunakan protokol keamanan lama yang disebut WEP, yang kurang aman. Untuk terhubung ke jaringan tersebut, Anda dapat mengizinkan jaringan WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operator Anda tidak mengizinkan Anda terhubung ke jaringan ini karena jaringan tersebut menggunakan protokol keamanan lama yang kurang aman"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Izinkan WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Tutup"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opsi lanjutan"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Menu drop-down Opsi Lanjutan"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"luaskan"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Tetap di Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Jangan tampilkan lagi"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Hubungkan"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi diaktifkan"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Terhubung ke <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Menghubungkan ke <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Menyambungkan…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Gagal menyambung ke jaringan"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Jaringan di luar jangkauan"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Lupakan"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Ubah"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Gagal melupakan jaringan"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Simpan"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Gagal menyimpan jaringan"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Batal"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Data seluler"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Mengisi daya"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Mengisi daya"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Koneksi hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Kekuatan koneksi"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Jaringan tersimpan"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Sandi tidak disetel"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nama hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Sandi hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP Band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Otomatis nonaktifkan hotspot"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Saat tidak ada perangkat terhubung"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Perluas kompatibilitas"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"White balance layar"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Lanjutkan penggunaan aplikasi saat dilipat"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Otomatis meningkatkan kecepatan refresh dari 60 menjadi <xliff:g id="ID_1">%1$s</xliff:g> Hz untuk beberapa konten. Meningkatkan penggunaan baterai."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Nonaktifkan kecepatan frame default untuk game"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Menonaktifkan akan membatasi kecepatan frame maksimum game pada <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Otomatis meningkatkan kecepatan refresh hingga <xliff:g id="ID_1">%1$d</xliff:g> Hz untuk beberapa konten. Meningkatkan penggunaan baterai."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Paksa kecepatan refresh tertinggi"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kecepatan refresh tertinggi untuk memperbaiki respons sentuhan &amp; kualitas animasi. Meningkatkan penggunaan baterai."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Fokus ke layar"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Fitur fokus ke layar menggunakan kamera depan untuk mengetahui apakah seseorang sedang melihat layar. Fitur ini berjalan di perangkat, dan gambar tidak pernah disimpan atau dikirim ke Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Aktifkan fokus ke layar"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Buat layar tetap menyala saat dilihat"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Waktu tunggu layar yang lebih lama akan menggunakan lebih banyak daya baterai."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera dikunci"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera harus dibuka kuncinya untuk Deteksi Wajah"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kamera harus dibuka kuncinya untuk Fokus ke Layar"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (utama)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Untuk melihat, pilih jaringan yang tersimpan"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versi PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Tingkat baterai"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Umum"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Setelan umum"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Fitur Pesan Satelit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edit titik akses"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Tambahkan titik akses"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Tidak disetel"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Belum disetel"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nama"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN diaktifkan"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN dinonaktifkan"</string>
     <string name="bearer" msgid="3231443241639159358">"Operator"</string>
+    <string name="network_type" msgid="748590707422733595">"Jenis jaringan"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Tidak ditentukan"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Jenis MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Nilai MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Hapus APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Simpan"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Batal"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplikat entri APN."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Bidang Nama wajib diisi."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN wajib diisi."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Bidang MCC harus terdiri dari 3 digit."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Bidang MNC harus 2 atau 3 digit."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operator tidak mengizinkan penambahan APN jenis %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Kolom MMSC harus valid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Memulihkan setelan APN default."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Reset ke default"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reset setelan APN default selesai."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi‑Fi telah direset"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Hapus eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Tindakan ini tidak akan membatalkan paket layanan seluler apa pun. Untuk mendownload SIM pengganti, hubungi operator Anda."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Tindakan ini tidak akan membatalkan paket layanan seluler Anda. Untuk mendapatkan SIM pengganti, hubungi operator Anda."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reset setelan"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Reset semua setelan jaringan? Anda tidak dapat mengurungkan tindakan ini."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Reset semua setelan jaringan dan hapus eSIM? Anda tidak dapat mengurungkan tindakan ini."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Reset?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Reset jaringan tidak tersedia untuk pengguna ini"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Setelan jaringan telah direset"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Tidak dapat menghapus SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM tidak dapat dihapus karena terjadi error.\n\nMulai ulang perangkat, lalu coba lagi."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Tidak dapat menghapus eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Terjadi error dan eSIM Anda tidak dihapus.\n\nMulai ulang perangkat Anda dan coba lagi."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Hapus semua data (reset ke setelan pabrik)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Hapus semua data"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musik"</li>\n<li>"Foto"</li>\n<li>"Data pengguna lainnya"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Tindakan ini tidak akan membatalkan paket layanan seluler."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Semua informasi pribadi dan aplikasi yang didownload akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Semua informasi pribadi, termasuk aplikasi &amp; SIM yang telah didownload, akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Semua informasi pribadi, termasuk aplikasi &amp; eSIM yang telah didownload, akan dihapus. Anda tidak dapat mengurungkan tindakan ini."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Hapus semua data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Reset ke setelan pabrik tidak tersedia untuk pengguna ini"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Menghapus"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Tidak berbagi internet dengan perangkat lain"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Nonaktif"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Jangan gunakan hotspot Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Bagikan internet hanya melalui USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bagikan internet hanya melalui Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Bagikan internet hanya melalui Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Bagikan internet hanya melalui USB dan Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Bagikan internet hanya melalui USB dan Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Bagikan internet hanya melalui Bluetooth dan Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Bagikan internet hanya melalui USB, Bluetooth, dan Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Gunakan hotspot dan tethering untuk menyediakan koneksi internet bagi perangkat lain melalui koneksi Wi‑Fi atau data seluler Anda. Aplikasi juga dapat membuat hotspot untuk berbagi konten dengan perangkat sekitar."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Bantuan"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Jaringan seluler"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Paket seluler"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikasi SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Ubah aplikasi SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Gunakan <xliff:g id="NEW_APP">%1$s</xliff:g> dan bukan <xliff:g id="CURRENT_APP">%2$s</xliff:g> sebagai aplikasi SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Ubah Wi-Fi Assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Gunakan <xliff:g id="NEW_APP">%1$s</xliff:g> sebagai ganti <xliff:g id="CURRENT_APP">%2$s</xliff:g> untuk mengelola koneksi jaringan?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Gunakan <xliff:g id="NEW_APP">%s</xliff:g> untuk mengelola koneksi jaringan?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operator SIM tidak dikenal"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> tidak punya situs web penyediaanyang dikenal"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Masukkan kartu SIM dan mulai ulang"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Sambungkan ke internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Permintaan lokasi terbaru"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokasi untuk profil kerja"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Izin akses lokasi aplikasi"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Hapus akses"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrol"</string>
     <string name="force_stop" msgid="2681771622136916280">"Paksa berhenti"</string>
+    <string name="archive" msgid="9074663845068632127">"Arsipkan"</string>
+    <string name="restore" msgid="7622486640713967157">"Pulihkan"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Memulihkan"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Memulihkan."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Memulihkan.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Memulihkan..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Ukuran aplikasi"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Apl penyimpanan USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Tidak dapat menghitung ukuran paket."</string>
     <string name="version_text" msgid="7628938665256107608">"versi <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Pindahkan"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Gagal mengarsipkan"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> diarsipkan"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Pemulihan gagal"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Memulihkan <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Migrasi lain sedang berlangsung."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ruang penyimpanan tidak cukup."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Apl tidak ada."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Keyboard virtual yang Tersedia"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Kelola keyboard virtual"</string>
     <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="6922850403920596246">"Aktifkan tombol Pantul untuk aksesibilitas keyboard fisik"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Tombol lambat"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Aktifkan Tombol lambat untuk aksesibilitas keyboard fisik"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Tombol Lekat"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Aktifkan tombol Lekat untuk aksesibilitas keyboard fisik"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Ketuk pojok kanan bawah touchpad untuk melihat opsi lainnya"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kecepatan kursor"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Pelajari gestur touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Membuka layar utama"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Geser ke atas dengan tiga jari di touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Kembali"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Urutkan menurut waktu penggunaan"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Urutkan menurut terakhir digunakan"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Urutkan menurut nama aplikasi"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Terakhir kali digunakan"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Terakhir digunakan"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"tidak pernah"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Waktu penggunaan"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Aksesibilitas"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Setelan aksesibilitas"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Perbesar dengan ketuk 3 kali"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Perbesar dengan pintasan"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Perbesar dengan pintasan &amp; ketuk tiga kali"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Tentang <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gunakan tombol aksesibilitas untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Tahan tombol volume untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ketuk tiga kali pada layar untuk membuka"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Ketuk dua kali layar dengan dua jari untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Menggunakan gestur untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gunakan gestur aksesibilitas"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Untuk menggunakan fitur ini, ketuk tombol aksesibilitas <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bagian bawah layar.\n\nUntuk beralih antarfitur, sentuh lama tombol aksesibilitas."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Untuk menggunakan fitur ini, ketuk tombol aksesibilitas di layar."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Untuk menggunakan fitur ini, tekan dan tahan kedua tombol volume."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Untuk memulai dan menghentikan pembesaran, ketuk tiga kali di mana saja pada layar Anda."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Untuk memulai dan menghentikan pembesaran, ketuk dua kali dengan dua jari di mana saja pada layar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Untuk menggunakan fitur ini, geser ke atas dari bawah layar dengan 2 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 2 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Untuk menggunakan fitur ini, geser ke atas dari bawah layar dengan 3 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 3 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Untuk menggunakan fitur aksesibilitas, geser ke atas dari bawah layar dengan 2 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 2 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Untuk menggunakan fitur aksesibilitas, geser ke atas dari bawah layar dengan 3 jari.\n\nUntuk beralih antarfitur, geser ke atas dengan 3 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Oke"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Setelan tombol aksesibilitas"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Setelan tombol"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pintasan <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Tombol aksesibilitas"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gestur aksesibilitas"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tahan tombol volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tahan 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"ketuk dua kali layar dengan dua 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="6863958573135995927">"ketuk layar 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Pelajari tombol aksesibilitas &amp; gestur lebih lanjut"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Menggunakan tombol aksesibilitas. Gestur tidak tersedia dengan navigasi 3 tombol."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Akses fitur aksesibilitas dengan cepat"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Untuk memulai"</b>\n"1. Buka setelan aksesibilitas\n2. Pilih salah satu fitur, lalu ketuk pintasan\n3. Pilih apakah Anda ingin menggunakan tombol atau gestur untuk mengakses fitur tersebut"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Untuk memulai"</b>\n"1. Buka setelan aksesibilitas\n2. Pilih salah satu fitur, lalu ketuk pintasan\n3. Pilih tombol untuk mengakses fitur tersebut"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Untuk memulai&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Buka setelan aksesibilitas&lt;br/&gt; {1,number,integer}. Pilih fitur dan ketuk pintasan&lt;br/&gt; {2,number,integer}. Pilih apakah Anda ingin menggunakan tombol atau gestur untuk mengakses fitur&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Untuk memulai&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Buka setelan aksesibilitas&lt;br/&gt; {1,number,integer}. Pilih fitur dan ketuk pintasan&lt;br/&gt; {2,number,integer}. Pilih tombol untuk mengakses fitur&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Gunakan tombol atau gestur"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokasi"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Ukuran"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Tombol daya untuk tutup telepon"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Kursor mouse besar"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Membuat kursor mouse lebih mudah dilihat"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Tema gelap untuk semua aplikasi"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Berlaku pada aplikasi yang tidak memiliki tema gelap. Beberapa aplikasi mungkin mengalami masalah tampilan, seperti warna terbalik."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Hapus animasi"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Kurangi gerakan di layar"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Gunakan getaran &amp; sentuhan"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Getaran alarm"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Getaran media"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Getaran keyboard"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Getaran dering"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Getaran notifikasi"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respons sentuhan"</string>
@@ -2128,16 +2311,15 @@
     <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Voice Access dapat 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="7295448112784528196">"Berhenti"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Batal"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Hentikan <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Mengetuk <xliff:g id="STOP">%1$s</xliff:g> akan menghentikan <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Nonaktifkan"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Tetap aktifkan"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Nonaktifkan <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Tidak ada layanan terpasang"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Layanan tidak dipilih"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Tidak tersedia deskripsi."</string>
     <string name="settings_button" msgid="2195468788019730377">"Setelan"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensitivitas cahaya, fotofobia, tema gelap, migrain, sakit kepala, mode baca, mode malam, kurangi kecerahan, titik putih"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Kemudahan penggunaan, kemudahan akses, bantuan, asistif"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"penglihatan, pendengaran, tunanetra, tunarungu, motorik, ketangkasan, asistif, bantuan, kemudahan penggunaan, kemudahan akses, tangan, bantuan"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Pembesar Jendela, Zoom, Pembesaran, Gangguan penglihatan, Perbesar, buat lebih besar"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Teks, teks tertutup, CC, Transkripsi Instan, gangguan pendengaran, kerusakan pendengaran, CART, speech to text, subtitel"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontras warna"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorik, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"alat bantu dengar, gangguan pendengaran, kehilangan pendengaran, implan koklea, perangkat amplifikasi, prosesor suara"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorik, mouse, mouse eksternal, mouse kepala, mouse adaptif, kursi roda, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"alat bantu dengar, gangguan pendengaran, kehilangan pendengaran, implan koklea, perangkat amplifikasi, prosesor suara, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"gangguan pendengaran, kerusakan pendengaran, teks, Teletip, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tiga tombol"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ketangkasan, motorik, lansia, artritis, rsi, stroke, tremor, sklerosis ganda, lumpuh otak, gemetar, cedera regangan berulang, tangan"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"penundaan, ketangkasan, lansia"</string>
     <string name="print_settings" msgid="8519810615863882491">"Pencetakan"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Nonaktif"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 layanan cetak aktif}other{# layanan cetak aktif}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> tersisa"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> lagi agar terisi penuh"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Waktu pemakaian perangkat"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Waktu di latar belakang"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Baterai lemah"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Izinkan aplikasi berjalan di latar belakang"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Batasi aktivitas background?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jika aktivitas background aplikasi dibatasi, mungkin fungsinya terganggu."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Anda tidak dapat membatasi aplikasi karena tidak disetel untuk mengoptimalkan baterai.\n\nAktifkan pengoptimalan baterai untuk membatasi aplikasi."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Kelola penggunaan baterai"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Izinkan penggunaan latar belakang"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktifkan untuk mendapatkan info terbaru secara real-time, nonaktifkan untuk menghemat baterai"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Tidak dibatasi"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Dioptimalkan"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Dibatasi"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Lihat aplikasi dengan penggunaan tertinggi"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Pengisian daya dioptimalkan untuk melindungi baterai"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Untuk membantu memperpanjang masa pakai baterai, pengisian daya dioptimalkan"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Pengisian daya dioptimalkan untuk melindungi baterai"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Untuk membantu memperpanjang masa pakai baterai, pengisian daya dioptimalkan saat dipasang ke dok"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Pengisian daya dioptimalkan untuk melindungi baterai"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Untuk membantu memperpanjang masa pakai baterai, pengisian daya dioptimalkan saat dipasang ke dok"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Mengisi daya sampai penuh"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Untuk melindungi baterai, pengisian daya akan dioptimalkan saat berikutnya tablet dipasang ke dok"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Pelajari lebih lanjut pengisian daya dijeda"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Lanjutkan pengisian daya"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Termasuk aktivitas latar belakang yang menggunakan banyak daya"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aplikasi ini dapat menggunakan baterai di latar belakang. Baterai mungkin lebih cepat habis dari biasanya."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Hapus"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Batal"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Isi daya sampai penuh"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Masalah dengan aksesori pengisian daya"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Periksa aksesori pengisi daya"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Pelajari lebih lanjut mengisi daya dengan pengisi daya yang tidak kompatibel"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Pengelola Baterai"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Kelola aplikasi secara otomatis"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"sejak terakhir kali baterai terisi penuh"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplikasi sistem"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Aplikasi yang di-uninstal"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Lainnya"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Perkiraan sisa waktu"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Sampai terisi penuh"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: kurang dari satu menit"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Latar belakang: kurang dari satu menit"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Waktu pemakaian perangkat: kurang dari satu menit"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Kurang dari satu menit"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Latar belakang: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Waktu pemakaian perangkat: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"sekarang"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Diagram penggunaan baterai"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagram penggunaan baterai per hari"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagram penggunaan baterai per jam"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Persentase level baterai dari <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> hingga <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Penggunaan baterai sejak terakhir kali terisi penuh"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Penggunaan baterai <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Waktu pemakaian perangkat sejak terakhir kali baterai terisi penuh"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinyal panggilan darurat"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Setel perilaku ketika panggilan darurat dilakukan"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Pencadangan"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Aktif"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Nonaktif"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Pencadangan &amp; pemulihan"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Data pribadi"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Cadangkan data saya"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Data seluler &amp; Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sinkronisasi otomatis data pribadi"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sinkronisasi otomatis data kerja"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sinkronisasi otomatis data pribadi"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Ubah daur..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Tanggal dalam bulan untuk menyetel ulang daur penggunaan data:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Tak ada apl yg menggunakan data dlm periode ini."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nama"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Jenis"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Alamat server"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Enkripsi PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Rahasia L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Pengenal IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Kunci pra-bagi IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Sertifikat pengguna IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Sertifikat CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Sertifikat server IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Tampilkan opsi lanjutan"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domain penelusuran DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Server DNS (misal: 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rute penerusan (misal: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nama pengguna"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Sandi"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Simpan informasi akun"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(tidak digunakan)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(jangan verifikasi server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(diterima dari server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Jenis VPN ini tidak dapat selalu terhubung"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN selalu aktif hanya mendukung alamat server numerik"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Server DNS untuk VPN selalu aktif harus ditentukan"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Alamat server DNS untuk VPN selalu aktif harus numerik"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informasi yang dimasukkan tidak mendukung VPN selalu aktif"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Batal"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Tutup"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Memblokir koneksi tanpa VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Perlu sambungan VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Tidak aman. Update ke VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Gagal memulai VPN yang tidak didukung."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pilih profil VPN untuk tetap terhubung. Lalu lintas jaringan hanya akan diperbolehkan jika terhubung ke VPN ini."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Tidak ada"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN selalu aktif membutuhkan alamat IP baik untuk server serta DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Notifikasi AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Terima buletin tentang penculikan anak"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ulangi"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktifkan Pengelola Panggilan"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Memungkinkan layanan ini mengelola cara panggilan Anda dilakukan."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Pengelola Telepon"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Peringatan darurat nirkabel"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Penyedia jaringan"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nama poin akses"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM (slot sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM diubah."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM Anda diubah"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ketuk untuk menyiapkan"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Selalu tanya"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Perlu dipilih"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplikasi baru-baru ini, aplikasi default"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Akses notifikasi tidak tersedia untuk aplikasi di profil kerja"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Sandi &amp; akun"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Sandi tersimpan, isi otomatis, akun yang disinkronkan"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Saran untuk login &amp; isi otomatis"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplikasi default"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplikasi Clone"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Buat instance aplikasi kedua agar Anda dapat menggunakan dua akun bersamaan."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"bayar, tempel, pembayaran"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gestur"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"wajah, buka kunci, autentikasi, login"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"wajah, buka kunci, autentikasi, login, sidik jari, biometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versi prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ukuran teks, hasil cetak besar, font besar, teks besar, gangguan penglihatan, buat teks lebih besar, pembesar font, pembesaran font"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"tampilan standby selalu aktif, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, pembaca"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"keyboard, haptic, getar,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, getar, Jangan Ganggu"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume transmisi"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Aktifkan suara"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Teks Otomatis"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Otomatis tambahkan teks ke media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Speaker ponsel"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Speaker tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Speaker perangkat"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Headphone berkabel"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio dari perangkat media yang kompatibel menjadi lebih imersif"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Nonaktif"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tampilkan semua konten notifikasi"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Tampilkan konten sensitif hanya saat tidak terkunci"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Jangan tampilkan notifikasi sama sekali"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bagaimana tampilan layar kunci yang Anda inginkan?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Apa yang ingin Anda tampilkan di layar kunci?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Layar kunci"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tampilkan semua konten notifikasi profil kerja"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sembunyikan konten kerja sensitif"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Percakapan terakhir dihapus"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Percakapan dihapus"</string>
     <string name="clear" msgid="5092178335409471100">"Hapus"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Hapus <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Percakapan prioritas dan yang diubah akan muncul di sini"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Setelah Anda menandai percakapan sebagai prioritas, atau membuat perubahan lain pada percakapan, percakapan akan muncul di sini. \n\nUntuk mengubah setelan percakapan: \nGeser layar dari atas ke bawah untuk membuka menu notifikasi, lalu sentuh lama percakapan."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Perkecil"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Periode tunggu notifikasi"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Terapkan periode tunggu pada semua notifikasi"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Menurunkan volume notifikasi secara bertahap saat Anda mendapatkan notifikasi berturut-turut dari aplikasi yang sama"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Terapkan periode tunggu pada percakapan"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Mengurangi volume notifikasi secara bertahap saat Anda menerima banyak pesan dari chat yang sama dalam waktu singkat"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Jangan gunakan periode tunggu notifikasi"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Jangan pernah mengurangi volume notifikasi meskipun menerima serangkaian notifikasi berturut-turut dari aplikasi yang sama"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Bergetar saat tidak terkunci"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Hanya bergetar saat layar tidak terkunci"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Terapkan pada profil kerja"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Menerapkan setelan periode tunggu notifikasi dari profil pribadi ke profil kerja Anda"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Layanan bantuan VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Tidak ada aplikasi terinstal yang meminta dijalankan sebagai layanan bantuan VR"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Izinkan akses layanan VR untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Nonaktif"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Penyematan aplikasi"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Penyematan aplikasi memungkinkan Anda terus menampilkan aplikasi saat ini hingga sematannya dilepas. Fitur ini dapat digunakan, misalnya, untuk mengizinkan teman tepercaya bermain game tertentu."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Saat aplikasi disematkan, aplikasi tersebut mungkin dapat membuka aplikasi lain dan data pribadi mungkin dapat diakses. \n\nUntuk menggunakan penyematan aplikasi: 	\n1. Aktifkan penyematan aplikasi 	\n2. Buka Ringkasan 	\n3. Ketuk ikon aplikasi di bagian atas layar, lalu ketuk Sematkan"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Saat aplikasi disematkan, aplikasi tersebut mungkin dapat membuka aplikasi lain dan data pribadi mungkin dapat diakses. \n\nJika Anda ingin perangkat digunakan orang lain dengan aman, coba gunakan pengguna tamu. \n\nUntuk menggunakan penyematan aplikasi: 	\n1. Aktifkan penyematan aplikasi 	\n2. Buka Ringkasan \n3. Ketuk ikon aplikasi di bagian atas layar, lalu ketuk Sematkan"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Saat aplikasi disematkan, aplikasi tersebut dapat membuka aplikasi lain dan data pribadi mungkin dapat diakses. \n\nUntuk menggunakan penyematan aplikasi: 	\n{0,number,integer}. Aktifkan penyematan aplikasi 	\n{1,number,integer}. Buka Ringkasan 	\n{2,number,integer}. Ketuk ikon aplikasi di bagian atas layar, lalu ketuk Sematkan"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Saat aplikasi disematkan, aplikasi tersebut dapat membuka aplikasi lain dan data pribadi mungkin dapat diakses. \n\nJika Anda ingin perangkat digunakan orang lain dengan aman, coba gunakan pengguna tamu. \n\nUntuk menggunakan penyematan aplikasi: 	\n{0,number,integer}. Aktifkan penyematan aplikasi 	\n{1,number,integer}. Buka Ringkasan 	\n{2,number,integer}. Ketuk ikon aplikasi di bagian atas layar, lalu ketuk Sematkan"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Saat aplikasi disematkan: \n\n•	 Data pribadi mungkin dapat diakses \n		(seperti kontak dan konten email) \n•	 Aplikasi yang disematkan mungkin dapat membuka aplikasi lain \n\nGunakan penyematan aplikasi hanya untuk orang yang Anda percayai."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Minta pola pembuka kunci sebelum melepas sematan"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Minta PIN sebelum melepas sematan"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Minta sandi sebelum melepas sematan"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Kunci perangkat saat melepas sematan"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Konfirmasi penghapusan SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Konfirmasi bahwa Anda ingin menghapus eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifikasi diri Anda sebelum menghapus eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Proteksi memori lanjutan beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Perlindungan memori lanjutan"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Setelan aplikasi yang tidak digunakan"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Jeda aktivitas aplikasi jika tak dipakai"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Hapus izin dan file sementara, serta hentikan notifikasi"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Kelola aplikasi jika tidak digunakan"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Hapus izin dan file sementara, hentikan notifikasi, dan arsipkan aplikasi"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Semua aplikasi"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplikasi terinstal"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplikasi instan"</string>
@@ -3661,7 +3847,7 @@
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Izinkan aplikasi bantuan mengakses gambar layar"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"Kedipkan layar"</string>
     <string name="assist_flash_summary" msgid="3032289860177784594">"Kedipkan tepi layar saat aplikasi bantuan mengakses teks dari layar atau screenshot"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"Aplikasi bantuan dapat membantu Anda berdasarkan informasi dari layar yang sedang Anda lihat. Beberapa aplikasi mendukung peluncur dan layanan masukan suara untuk memberikan bantuan terintegrasi."</string>
+    <string name="assist_footer" msgid="8248015363806299068">"Aplikasi bantuan dapat membantu Anda berdasarkan informasi dari layar yang sedang Anda lihat. Beberapa aplikasi mendukung peluncur dan layanan input suara untuk memberikan bantuan terintegrasi."</string>
     <string name="average_memory_use" msgid="717313706368825388">"Rata-rata penggunaan memori"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"Penggunaan memori maksimum"</string>
     <string name="memory_usage" msgid="5594133403819880617">"Penggunaan memori"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Bebas"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memori yang digunakan oleh aplikasi"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikasi menggunakan memori dalam {time} terakhir}other{# aplikasi menggunakan memori dalam {time} terakhir}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Aktifkan profiling penggunaan memori"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profiling penggunaan memori memerlukan resource sistem tambahan."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profiling memori dinonaktifkan"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekuensi"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Penggunaan maksimum"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Tidak ada penggunaan data"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Tampilkan di atas aplikasi lain"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Izinkan ditampilkan di atas aplikasi lain"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Mengizinkan aplikasi ini ditampilkan di atas aplikasi lain yang sedang digunakan. Aplikasi ini dapat melihat lokasi ketukan atau mengubah konten yang ditampilkan di layar."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Ubah output media"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Izinkan aplikasi beralih output media"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Izinkan aplikasi ini memilih perangkat terhubung mana yang memutar audio atau video dari aplikasi lain. Jika diizinkan, aplikasi ini dapat mengakses daftar perangkat yang tersedia seperti headphone dan speaker, lalu memilih perangkat output mana yang digunakan untuk melakukan streaming atau transmisi audio atau video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Akses semua file"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Izinkan akses untuk mengelola semua file"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Mengizinkan aplikasi ini untuk membaca, mengubah, dan menghapus semua file di perangkat ini atau media penyimpanan yang terpasang. Jika diberikan, aplikasi dapat mengakses file tanpa sepengetahuan Anda."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Dapat mengakses semua file"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikasi aktivasi suara"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Izinkan aktivasi suara"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivasi suara mengaktifkan aplikasi yang disetujui secara handsfree menggunakan perintah suara. Deteksi adaptif bawaan memastikan data tetap bersifat pribadi hanya untuk Anda.\n\n"<a href="">"Selengkapnya tentang deteksi adaptif yang dilindungi"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notifikasi layar penuh"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Izinkan notifikasi layar penuh dari aplikasi ini"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Izinkan aplikasi ini menampilkan notifikasi dalam layar penuh ketika perangkat terkunci. Aplikasi mungkin menggunakan tindakan ini untuk memperjelas alarm, panggilan masuk, atau notifikasi penting lainnya."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Peringatan penggunaan data <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Batas kuota <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Peringatan penggunaan data <xliff:g id="ID_1">^1</xliff:g> / Batas penggunaan data <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Perhitungan data oleh operator dapat berbeda dengan perhitungan perangkat"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Mengecualikan data yang digunakan oleh jaringan operator"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> digunakan"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Setel peringatan penggunaan data"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Diupdate <xliff:g id="ID_1">^2</xliff:g> lalu"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Diupdate oleh <xliff:g id="ID_1">^1</xliff:g> baru saja"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Baru saja diupdate"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Lihat paket"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Lihat detail"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Penghemat Data"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Data tidak dibatasi"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak baterai dari biasanya saat di latar belakang"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak baterai saat di latar depan"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak baterai dari biasanya saat di latar depan"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomali penggunaan baterai"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Penggunaan baterai tinggi"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Penggunaan baterai tinggi di latar belakang"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Penggunaan baterai tinggi di latar depan"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Kartu setelan cepat developer"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Nonaktifkan waktu tunggu otorisasi adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Nonaktifkan pencabutan otorisasi adb otomatis untuk sistem yang belum terhubung kembali dalam jangka waktu default (7 hari) atau yang dikonfigurasi oleh pengguna (minimal 1 hari)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Pelacakan Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensor Nonaktif"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Setelan profil kerja"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Telusuri kontak direktori kerja di aplikasi pribadi"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigasi sistem, navigasi 2 tombol, navigasi 3 tombol, navigasi gestur, geser"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asisten digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Geser untuk memanggil asisten"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Geser ke atas dari pojok bawah untuk memanggil aplikasi asisten digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Geser ke atas dari pojok bawah untuk memanggil aplikasi asisten digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Tahan tombol Layar utama untuk membuka Asisten"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tekan dan tahan tombol Layar Utama untuk membuka aplikasi asisten digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Rendah"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Layanan isi otomatis"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Layanan isi otomatis default"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Sandi"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Sandi, kunci sandi, dan layanan data"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Penyedia tambahan"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Layanan pilihan"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Layanan tambahan"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# sandi}other{# sandi}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"otomatis, isi, isi otomatis, sandi"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, kunci sandi, sandi"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"otomatis, isi, isi otomatis, data, kunci sandi, sandi"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Ubah"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Buka"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Tidak ada yang dipilih"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Pastikan Anda memercayai aplikasi ini&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Isi Otomatis Google&gt;%1$s&lt;/xliff:g&gt; menggunakan item yang ada di layar untuk menentukan item apa saja yang dapat diisi otomatis."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Gunakan &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; menggunakan konten di layar untuk menentukan item yang dapat diisi otomatis. Sandi, kunci sandi, dan info baru lainnya akan disimpan di sini mulai sekarang."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Sandi, kunci sandi, dan layanan data"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Gunakan &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Sandi, kunci sandi, dan info baru lainnya akan disimpan di sini mulai sekarang. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; dapat menggunakan konten di layar untuk menentukan item yang dapat diisi otomatis."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Layanan pilihan untuk sandi, kunci sandi &amp; isi otomatis"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Nonaktifkan %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Nonaktifkan layanan ini?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Info tersimpan seperti sandi, kunci sandi, metode pembayaran, dan info lainnya tidak akan diisikan saat Anda login. Untuk menggunakan info tersimpan, pilih sandi, kunci sandi, atau layanan data."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Sandi, kunci sandi &amp; isi otomatis"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Nonaktifkan semua layanan?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Sandi, kunci sandi, dan info tersimpan lainnya tidak akan tersedia untuk pengisian otomatis saat Anda login"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Ubah layanan pilihan Anda ke &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Sandi, kunci sandi, dan info baru lainnya akan disimpan di sini mulai sekarang. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; menggunakan konten di layar untuk menentukan item yang dapat diisi otomatis"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Gunakan %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Nonaktifkan"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Ubah"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Anda hanya dapat memiliki 5 layanan aktif"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Nonaktifkan minimal 1 layanan untuk menambahkan layanan lain"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s menggunakan item yang ada di layar untuk menentukan item apa yang dapat diisi otomatis."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Batas sandi, kunci sandi, dan layanan data"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Anda dapat memiliki hingga 5 sandi, kunci sandi, dan layanan data yang aktif secara bersamaan. Nonaktifkan satu layanan untuk menambahkan layanan lain."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Batas sandi, kunci sandi, dan layanan data"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Anda dapat memiliki hingga 5 sandi, kunci sandi, dan layanan data yang aktif secara bersamaan. Nonaktifkan satu layanan untuk menambahkan layanan lain."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Nonaktifkan"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Isi Otomatis"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Level logging"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Perubahan kompatibilitas aplikasi hanya dapat diubah untuk aplikasi yang dapat di-debug. Instal aplikasi yang dapat di-debug dan coba lagi."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bergantung pada setelan lain"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Akun"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d akun"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nama perangkat"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Info dasar"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Hukum &amp; peraturan"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Izinkan aplikasi ini diluncurkan saat tag NFC dipindai.\nJika izin ini diaktifkan, aplikasi akan tersedia sebagai opsi setiap kali tag terdeteksi."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Putar media ke"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Putar <xliff:g id="LABEL">%s</xliff:g> di"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio akan diputar di"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Perangkat ini"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Tidak tersedia saat panggilan berlangsung"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Jawab panggilan di"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Bisukan"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Untuk mengaktifkan, ubah \"Tekan &amp; tahan tombol daya\" ke menu daya terlebih dahulu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detail jaringan"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Nama perangkat terlihat oleh aplikasi di ponsel, dan juga mungkin dilihat oleh orang lain saat Anda menghubungkan ke perangkat Bluetooth atau jaringan Wi-Fi, atau saat menyiapkan hotspot Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Perangkat"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Pilih jaringan"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Terputus"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nama"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Warna (digunakan oleh apl kompatibel)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Simpan"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Gunakan SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Gunakan SIM ini"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Nonaktif"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Untuk menonaktifkan SIM ini, keluarkan kartu SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Ketuk untuk mengaktifkan <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Hapus SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Untuk menonaktifkan SIM ini, keluarkan kartu SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Ketuk untuk mengaktifkan SIM <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Hapus eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferensi jenis jaringan"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Ubah mode pengoperasian jaringan"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferensi jenis jaringan"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Hubungi penyedia jaringan untuk mengetahui harganya."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Penggunaan data oleh aplikasi"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mode Jaringan Tidak Valid <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Abaikan."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Fitur pesan satelit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Kirim dan terima pesan teks melalui satelit. Disertakan dengan akun Anda."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Kirim dan terima pesan teks melalui satelit. Tidak disertakan pada akun Anda."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Fitur pesan satelit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Tentang fitur pesan satelit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Anda dapat mengirim dan menerima pesan teks melalui satelit sebagai bagian dari akun <xliff:g id="CARRIER_NAME">%1$s</xliff:g> yang valid"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Paket <xliff:g id="CARRIER_NAME">%1$s</xliff:g> Anda"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Fitur pesan satelit disertakan pada akun Anda"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Fitur pesan satelit tidak disertakan pada akun Anda"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Tambahkan fitur pesan satelit"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Cara kerjanya"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Saat Anda tidak memiliki jaringan seluler"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Ponsel Anda akan terhubung otomatis ke satelit. Untuk koneksi terbaik, pastikan langit terlihat tanpa terhalang."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Setelah ponsel Anda terhubung ke satelit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Anda dapat mengirim pesan kepada siapa pun, termasuk layanan darurat. Ponsel Anda akan terhubung kembali ke jaringan seluler jika tersedia."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Fitur pesan satelit mungkin memakan waktu lebih lama dan hanya tersedia di wilayah tertentu. Cuaca dan struktur tertentu dapat memengaruhi koneksi satelit Anda. Menelepon melalui satelit tidak tersedia.\n\nMungkin memerlukan waktu agar perubahan pada akun Anda terlihat di Setelan. Hubungi <xliff:g id="CARRIER_NAME">%1$s</xliff:g> untuk mengetahui detailnya."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Lebih lanjut tentang fitur pesan satelit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nama Titik Akses"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Tidak tersedia saat terhubung ke <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Beralih ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Beralih menggunakan kartu SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Gunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Hanya satu SIM yang dapat diaktifkan pada satu waktu.\n\nBeralih ke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Hanya 1 eSIM yang dapat aktif pada satu waktu.\n\nBeralih ke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Hanya satu SIM yang dapat diaktifkan pada satu waktu.\n\nPengalihan tidak akan membatalkan layanan <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Hanya 1 SIM yang dapat diaktifkan dalam satu waktu.\n\nBeralih ke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> Anda."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Hanya 1 eSIM yang dapat diaktifkan dalam satu waktu.\n\nBeralih ke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan layanan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> Anda."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Hanya 1 SIM yang dapat diaktifkan dalam satu waktu.\n\nBeralih tidak akan membatalkan layanan<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> Anda."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Anda tidak dapat menggunakan 2 SIM sekaligus. Untuk menggunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, nonaktifkan SIM lainnya."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Alihkan ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Nonaktifkan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Menonaktifkan SIM tidak akan membatalkan paket seluler Anda"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Menghubungkan ke jaringan…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Mengalihkan ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g> untuk panggilan telepon dan SMS …"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Tidak dapat mengalihkan operator"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operator tidak dapat dialihkan karena error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Mengaktifkan SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Beralih ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Tidak dapat beralih SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Terjadi error. Tidak dapat beralih SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Nonaktifkan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Nonaktifkan SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Menonaktifkan SIM <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Tidak dapat menonaktifkan operator"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Terjadi error dan operator Anda tidak dapat dinonaktifkan."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Tidak dapat menonaktifkan SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Terjadi error dan SIM Anda tidak dapat dinonaktifkan."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Gunakan 2 SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Perangkat ini dapat memiliki 2 SIM aktif sekaligus. Untuk terus menggunakan 1 SIM pada satu waktu, ketuk \"Lain kali\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Mulai ulang perangkat?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Lain kali"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Batal"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Alihkan"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Nonaktifkan"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Tidak dapat mengaktifkan SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Coba aktifkan SIM lagi. Jika masalah berlanjut, mulai ulang perangkat."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Siapkan SIM Anda"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Setel preferensi jaringan seluler Anda untuk menggunakan beberapa SIM di perangkat ini"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Beri label SIM Anda"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Anda akan melihat label ini saat melakukan panggilan, mengirim pesan teks, dan menggunakan data, serta di Setelan"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Label SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Pilih SIM yang akan digunakan"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Anda tidak dapat menggunakan 2 SIM sekaligus"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Setel SIM utama Anda"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Pilih SIM yang akan digunakan secara default untuk melakukan panggilan, mengirim pesan teks, dan menggunakan data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"SIM utama Anda"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Panggilan"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Pesan teks"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Pengalihan data otomatis"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Gunakan data dari salah satu SIM tergantung pada cakupan dan ketersediaan"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Khusus data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Siapkan"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Berikutnya"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Mengaktifkan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Jaringan seluler"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Nomor telepon"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Label dan warna SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivasi jaringan"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Beralih operator"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> aktif"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM <xliff:g id="CARRIER_NAME">%1$s</xliff:g> Anda aktif"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Ketuk untuk memperbarui setelan SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Dialihkan ke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Dialihkan ke operator lain"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Jaringan seluler Anda telah berubah"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Siapkan SIM lainnya"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Pilih SIM yang aktif atau gunakan 2 SIM sekaligus"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Pilih nomor yang akan digunakan"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Tersedia 1 nomor di perangkat ini, tetapi hanya satu nomor yang dapat digunakan dalam satu waktu}=2{Tersedia 2 nomor di perangkat ini, tetapi hanya satu nomor yang dapat digunakan dalam satu waktu}other{Tersedia # nomor di perangkat ini, tetapi hanya satu nomor yang dapat digunakan dalam satu waktu}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Mengaktifkan <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Tidak dapat diaktifkan sekarang"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"PIlih SIM yang akan digunakan"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Tersedia 1 SIM di perangkat ini, tetapi hanya satu SIM yang dapat digunakan pada satu waktu}=2{Tersedia 2 SIM di perangkat ini, tetapi hanya satu SIM yang dapat digunakan pada satu waktu}other{Tersedia # SIM di perangkat ini, tetapi hanya satu SIM yang dapat digunakan pada satu waktu}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Mengaktifkan<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Tidak dapat mengaktifkan SIM untuk saat ini"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Gunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> akan digunakan untuk data seluler, panggilan, dan SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Tidak ada SIM aktif yang tersedia"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Untuk menggunakan data seluler, fitur panggilan, dan SMS di lain waktu, buka setelan jaringan"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Hapus eSIM ini?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Menghapus SIM ini akan menghapus layanan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> dari perangkat ini.\n\nLayanan untuk <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> tidak akan dibatalkan."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Tindakan ini akan menghapus layanan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> dari perangkat ini, tetapi paket <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> Anda tidak akan dibatalkan."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Hapus"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Menghapus SIM …"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Tidak dapat menghapus SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM ini tidak dapat dihapus karena terjadi error.\n\nMulai ulang perangkat, lalu coba lagi."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Menghapus eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Tidak dapat menghapus eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Terjadi error dan eSIM ini tidak dihapus.\n\nMulai ulang perangkat Anda dan coba lagi."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Hubungkan ke perangkat"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikasi <xliff:g id="APPNAME">%1$s</xliff:g> ingin menggunakan jaringan Wi-Fi sementara untuk terhubung ke perangkat"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Perangkat tidak ditemukan. Pastikan perangkat dihidupkan dan dapat terhubung ke jaringan."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Panggilan darurat"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Panggilan darurat melalui Panggilan Wi‑Fi tidak didukung oleh operator Anda.\nPerangkat beralih ke jaringan seluler secara otomatis untuk melakukan panggilan darurat.\nPanggilan darurat hanya dapat dilakukan dengan cakupan seluler."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Gunakan Wi‑Fi untuk melakukan panggilan dengan kualitas lebih baik"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Panggilan cadangan"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Jika <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> tidak tersedia atau sedang roaming, gunakan SIM data seluler untuk panggilan <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"panggilan cadangan"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Pesan MMS masuk"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Tidak dapat mengirim pesan MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Ketuk untuk mengizinkan pengiriman pesan MMS menggunakan <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> saat kuota nonaktif"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Info kebijakan profil kerja Anda"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Setelan yang dikelola oleh admin IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Boot dengan halaman berukuran 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Boot perangkat menggunakan kernel yang didukung halaman berukuran 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Mulai ulang dengan kernel yang kompatibel dengan halaman 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"PERINGATAN: Beberapa aplikasi mungkin tidak kompatibel dengan mode ini. Perangkat akan memulai ulang setelah konfirmasi."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Mulai ulang dengan kernel yang kompatibel dengan halaman 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Perangkat akan memulai ulang setelah konfirmasi."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Gagal mengupdate kernel ke kernel yang kompatibel dengan halaman 16K."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Menerapkan perubahan"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Pengendali laporan bug"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Menentukan aplikasi mana yang menangani pintasan Laporan Bug di perangkat."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pribadi"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Izinkan aplikasi yang dapat ditampilkan di atas aplikasi lain untuk melakukan overlay layar Setelan"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Izinkan Modem Simulasi"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Izinkan perangkat ini menjalankan layanan Modem Simulasi untuk uji instrumentasi. Jangan aktifkan selama penggunaan normal ponsel"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Nonaktifkan perlindungan berbagi layar"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Menonaktifkan perlindungan notifikasi dan aplikasi yang diterapkan sistem selama berbagi layar"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Sematkan pemutar media"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Untuk melanjutkan pemutaran dengan cepat, pemutar media tetap terbuka di Setelan Cepat"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Tampilkan media di layar kunci"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Untuk melanjutkan pemutaran dengan cepat, pemutar media tetap terbuka di layar kunci"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Tampilkan rekomendasi media"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Tampilkan rekomendasi media Asisten"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Berdasarkan aktivitas Anda"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Sembunyikan pemutar"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Tampilkan pemutar"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Izinkan ekstensi software kamera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Memungkinkan penerapan software default fitur kamera lanjutan, seperti videografi Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth akan diaktifkan"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktif"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Tidak aktif"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Aktif"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Nonaktif"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Default untuk <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"panggilan telepon"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio dari perangkat media yang kompatibel menjadi lebih imersif"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Pelacakan gerak kepala"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio akan berubah saat Anda menggerakkan kepala agar terdengar lebih alami"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinkronkan izin"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Memberi <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> izin aplikasi yang sama dengan yang Anda berikan di <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinkronkan izin dari ponsel"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Memberi smartwatch izin aplikasi yang sama dengan yang Anda berikan di ponsel ini"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Jenis Perangkat Audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Tidak diketahui"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Sedang"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Tinggi"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Aplikasi ini hanya dapat dibuka di 1 jendela"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Aktif"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Nonaktif"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Nonaktif"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Nonaktif"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Aktif"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Nonaktif"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Aktif"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Nonaktif"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Mengubah layar terang menjadi gelap dan layar gelap menjadi terang"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Perbesar layar"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Nonaktif"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Nonaktif"</string>
+    <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="about_phone_device_name_warning" msgid="3243226572404472381">"Nama perangkat Anda dapat dilihat oleh aplikasi yang diinstal. Juga mungkin dilihat 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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Pemindaian aplikasi menipu"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Periksa aktivitas aplikasi untuk menemukan phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gunakan pemindaian aplikasi menipu"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gunakan pemindaian aplikasi kerja menipu"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Sandi telah siap"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Tampilkan pointer saat mengarahkan kursor"</string>
 </resources>
diff --git a/res/values-is/arrays.xml b/res/values-is/arrays.xml
index d6ece01..7919fe8 100644
--- a/res/values-is/arrays.xml
+++ b/res/values-is/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Tiltækt"</item>
     <item msgid="6096962300722555553">"Ekkert samband"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Slökkt"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast og Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Nota sjálfgefna stillingu kerfis: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Eftir 1 mínútu"</item>
     <item msgid="1574040255478150028">"Eftir 5 mínútur"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-is/strings.xml b/res/values-is/strings.xml
index 5a9ffb2..d4fae2b 100644
--- a/res/values-is/strings.xml
+++ b/res/values-is/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Nú ertu orðin(n) þróunaraðili!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Þetta er óþarfi; þú ert nú þegar þróunaraðili."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Virkjaðu valkosti þróunaraðila fyrst."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Aðeins stjórnendur hafa aðgang að stillingum þróunaraðila."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Kerfi"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Innan þjónustusvæðis"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Utan þjónustusvæðis"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Þegar þú brýtur tækið saman kviknar á framskjánum"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Aðeins leikir, vídeó og fleira"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Forrit sem koma í veg fyrir skjáslokknun kveikja á framskjá"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Strjúka upp til að halda áfram"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Leggðu símann saman og strjúktu upp á framskjánum til að halda áfram að nota forritið eða bíddu í nokkrar sekúndur þar til skjárinn læsist"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Aldrei"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Framskjárinn læsist þegar þú brýtur tækið saman"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Nota sjálfvirkan snúning"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Tengt"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Hringitónn og vekjarar"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Hljóð í símtölum"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Efni"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Tilkynningar og önnur kerfishljóð"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Efni og kerfishljóð"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Tilkynningar"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Sjálfgefið er að hvert forrit ákvarði hljóðúttak"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Ónefnt Bluetooth-tæki"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Leitar"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Hætta við"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Slökkva á Bluetooth LE-hljóði"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Slekkur á Bluetooth LE-hljóðeiginleika ef tækið styður vélbúnaðareiginleika LE-hljóðs."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE-hljóðstilling"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Sýna rofa LE-hljóðs í tækjaupplýsingum"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Kveikja á undanþágulista fyrir Bluetooth LE-hljóð"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Kveikja á eiginleika undanþágulista fyrir Bluetooth LE-hljóð."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Sneiða hjá hvítum lista Bluetooth LE-hljóðs"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Nota LE-hljóð sjálfkrafa jafnvel þótt jaðartæki LE-hljóðs hafi ekki verið staðfest með tilliti til skilyrða hvíta listans."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Geymslumiðlar"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Símtæki"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Önnur tæki"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Vistuð tæki"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Tengt reikningi"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Notað áður með reikningi"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Kveikt verður á Bluetooth til að para"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Tengingarstillingar"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Áður tengt"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Kveikt á Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Sjá allt"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Sjá allt"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Penni"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ýtt á pennahnapp"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (vinnusnið)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skrifa í textareiti"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Hunsa þegar ýtt er á pennahnapp"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Penni"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Hljóði deilt"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deila hljóði"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Símtöl og vekjarar"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Tengjast hljóðstreymi með QR-kóða"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Engin nálæg hljóðstreymi fundust."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Dagsetning og tími"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy-þjónn"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Hreinsa"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Bæta %s við valin tungumál?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Þetta lætur forrit og vefsvæði vita að þú viljir líka nota þetta tungumál."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Tækjastillingum og kjörstillingum svæðis verður breytt."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Breyta"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ekki í boði"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Laugardagur"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ef forrit styður ekki kjörstillingar svæðis notar forritið sjálfgefnar stillingar tungumálskóða."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Nánar um tungumálaval."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Viðbótarstillingar"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Ávarpskyn"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Stilltu hvernig þú vilt láta ávarpa þig"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Forrit geta notað valin kyn til að sérsníða hvernig þau ávarpa þig."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Ekki gefið upp"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Kvenkyn"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Karlkyn"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Hlutlaust"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Viltu fjarlægja valið tungumál?}one{Viltu fjarlægja valin tungumál?}other{Viltu fjarlægja valin tungumál?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Texti mun birtast á öðru tungumáli."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Ekki er hægt að fjarlægja öll tungumál"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Staðsetning"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Nota staðsetningu"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Slökkt"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Nánar um staðsetningarstillingar."</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="3574930966097093550">"Til að breyta aðgangi að staðsetningu skaltu fara í „Stillingar &gt; Öryggi og persónuvernd &gt; Persónuverndarstillingar“"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Reikningar"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Öryggi"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Dulkóðun og skilríki"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Best er að nota skjávörn sem er vottuð með merkinu „Hannað fyrir Google“. Óvíst er að barnið geti notað fingrafarið með öðrum skjávörnum."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Opnun með úri"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Þegar þú setur upp andlits- og fingrafarskenni biður síminn um fingrafarið þitt þegar þú ert með grímu eða á dimmum stað.\n\nÞú getur tekið úr lás með úrinu þegar hvorki tekst að greina andlit né fingrafar."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Þú getur tekið úr lás með úrinu þegar ekki tekst að greina fingrafarið."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Þú getur tekið úr lás með úrinu þegar ekki tekst að greina andlitið."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Þegar þú setur upp andlits- og fingrafarskenni biður síminn um fingrafarið þitt þegar þú ert með grímu eða á dimmum stað.\n\n„Opnun með úri“ er önnur þægileg leið til að opna símann, t.d. þegar þú ert með blauta fingur eða andlitið á þér þekkist ekki."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"„Opnun með úri“ er önnur þægileg leið til að opna símann, t.d. þegar fingrafarið þitt þekkist ekki."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"„Opnun með úri“ er önnur þægileg leið til að opna símann, t.d. þegar andlitið á þér þekkist ekki."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Notaðu fingrafarið eða úrið til að"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Notaðu andlitið eða úrið til að"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Notaðu andlitið, fingrafarið eða úrið til að"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"„Opnun með úri“ er önnur þægileg leið til að opna þennan síma, t.d. þegar þú ert með blauta fingur eða andlitið á þér þekkist ekki.\n\nÞú getur notað úrið þitt til að opna þennan síma þegar þú:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ekki núna"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Halda áfram"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Meira"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Svona virkar þetta"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Úrið þitt verður að vera ólæst, á úlnliðnum og nálægt þessum síma. Þú munt ekki þurfa að taka úrið aftur úr lás á meðan það er á úlnliðnum."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Þegar þessi sími er tekinn úr lás færðu tilkynningu í úrið. Ef hann opnaðist þegar það var ekki ætlunin skaltu ýta aftur á tilkynninguna til að læsa símanum aftur."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Þú ert við stjórnvölinn"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Þú getur fjarlægt úrið úr „Opnun með úri“ hvenær sem er í stillingunum"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Ýttu á tilkynningu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Strjúktu upp á lásskjánum"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Veldu úrið þitt"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Tiltæk úr"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Hætta við"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Staðfesta"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Þá er allt klárt!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Núna geturðu notað úrið þitt til að opna þennan síma þegar þú strýkur upp á lásskjánum eða ýtir á tilkynningu"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Lokið"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Opnun með úri"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Þú getur notað úrið þitt til að opna þennan síma þegar þú strýkur upp á lásskjánum eða ýtir á tilkynningu"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Til að nota „Opnun með úri“ verður úrið þitt að vera ólæst, á úlnliðnum, innan seilingar og tengt þessum síma. Ef tengingin rofnar þarftu að opna símann áður en þú getur notað „Opnun með úri“.\n\nHafðu í huga:\nÞú getur aðeins verið með eitt úr uppsett hverju sinni. Til að setja annað úr upp þarftu fyrst að fjarlægja núverandi úr."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Öryggi"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Persónuvernd"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Vinnusnið"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Leynirými"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Hafðu einkaforrit lokuð og falin"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Geymdu einkaforrit í aðskildu rými sem þú getur falið eða læst"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Lás leynirýmis"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Þú getur tekið leynirýmið úr lás á sama hátt og tækið eða valið annan lás"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Nota skjálás tækis"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Andlits- og fingrafarsopnun"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingrafarskenni"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Andlitskenni"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ýttu til að setja upp"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingrafarskenni fyrir leynirými"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Andlitskenni fyrir leynirými"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Leiðir til að taka úr lás"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sami skjálás og í tæki"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Velja nýjan lás fyrir leynirými?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Læsa leynirými sjálfkrafa"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Þú getur valið að læsa leynirýminu þínu sjálfkrafa ef þú hefur ekki notað tækið í tiltekinn tíma"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Í hvert skipti sem tækið læsist"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Eftir 5 mínútur af aðgerðaleysi"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Aldrei"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Fela þegar læst"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Fela leynirými þegar það er læst"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Til að aðrir sjái ekki að þú sért með leynirými í tækinu geturðu falið það á forritalistanum"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Aðgangur að leynirými þegar það er falið"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Sláðu inn „Leynirými“ í leitarstikuna á forritalistanum"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Ýttu á reit leynirýmisins"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Taktu leynirýmið úr lás"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Slökkt"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Kveikt"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Kerfi"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Eyða leynirými"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Eyða leynirými?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Leynirýmið verður fjarlægt úr tækinu þínu. Öllum lokuðum forritum og gögnum verður eytt. Ekki er hægt að afturkalla þessa aðgerð."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Eftirfarandi reikningar verða fjarlægðir úr leynirýminu:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Eyða"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Eyðir leynirými…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Þetta tekur smástund"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Leynirými var eytt"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Ekki tókst að eyða leynirými"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Einkarými var opnað"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Setja upp skjálás"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Stilltu skjálás í tækinu til að nota einkarými"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Stilla skjálás"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Hætta við"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Hætta við"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Setja upp"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Setja upp einkarými"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Geymdu einkaforrit í aðskildu rými sem þú getur falið eða læst"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Svona virkar þetta"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Þú getur nálgast einkarými neðst á forritalistanum"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Forrit í einkarými eru varin með lás"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Tilkynningar forrita í einkarýminu eru faldar þegar það er læst"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Forrit í einkarýminu þínu birtast ekki í leyfisstjóra, á persónuverndarstjórnborði og í öðrum stillingum þegar einkarýmið er læst.\n\nEkki er hægt að flytja einkarýmið yfir í annað tæki. Þú þarft að setja upp nýtt einkarými ef þú vilt nota það í öðru tæki.\n\nHver sem er sem tengir tækið þitt við tölvu eða setur upp skaðleg forrit í tækinu gæti fengið aðgang að einkarýminu."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Setur upp einkarými…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Tilkynningar frá forritum í leynirými eru faldar þegar rýmið er læst"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Taktu leynirýmið úr lás til að deila myndum eða skrám"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Sum forrit eru þegar sett upp í einkarýminu"</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_lockscreen_title" msgid="6034864097861137509">"Nota skjálás til að taka einkarýmið úr lás?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Þú getur tekið einkarýmið úr lás á sama hátt og tækið eða valið annan lás"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Nota skjálás"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Velja nýjan lás"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Allt tilbúið!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Farðu í forritalistann og flettu niður til að finna leynirýmið þitt"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Lokið"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Flettu niður til að finna einkarými"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Skrá inn"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Skráðu þig inn á reikning til að nota leynirýmið"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ekki núna"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Halda áfram"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Veldu hvernig þú vilt læsa einkarýminu"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Þú getur tekið einkarýmið úr lás með fingrafarinu þínu. Af öryggisástæðum krefst þessi valkostur þess að varalás sé stilltur."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Stilltu PIN-númer fyrir einkarýmið þitt"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Stilltu aðgangsorð fyrir einkarýmið þitt"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Stilltu mynstur fyrir einkarýmið þitt"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Þú getur bætt við allt að <xliff:g id="COUNT">%d</xliff:g> fingraförum"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Þú hefur bætt við hámarksfjölda fingrafara"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ekki er hægt að bæta fleiri fingraförum við"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mynstur"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-númer"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Aðgangsorð"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Eyða skjálás?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Fjarlægja allar aðferðir til að taka tækið úr lás?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Fjarlægja vernd fyrir sniðið?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Mynstur verndar símann ef hann týnist eða ef honum er stolið"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Mynstur verndar símann ef hann týnist eða ef honum er stolið.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Þetta eyðir fingrafaralíkaninu sem er vistað í tækinu þínu. Andlitslíkaninu þínu verður einnig eytt endanlega á öruggan hátt. Þú munt ekki geta notað andlitið eða fingrafarið til auðkenningar í forritum."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-númer verndar símann ef hann týnist eða ef honum er stolið"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Þú munt glata vistuðum gögnum, s.s. PIN-númerinu þínu.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort sem voru sett upp fyrir snertilausar greiðslur verða fjarlægð.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Veski og önnur forrit sem krefjast þess að tækið sé tekið úr lás munu hugsanlega ekki virka sem skyldi."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-númer verndar símann ef hann týnist eða ef honum er stolið.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Þetta eyðir einnig fingrafaralíkaninu sem er vistað í tækinu þínu. Þú munt ekki geta notað fingrafarið til auðkenningar í forritum."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Þú munt glata vistuðum gögnum, s.s. PIN-númerinu þínu og fingrafarslíkani.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort sem voru sett upp fyrir snertilausar greiðslur verða fjarlægð.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Veski og önnur forrit sem krefjast þess að tækið sé tekið úr lás munu hugsanlega ekki virka sem skyldi."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-númer verndar símann ef hann týnist eða ef honum er stolið.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Andlitslíkaninu þínu verður einnig eytt endanlega á öruggan hátt. Þú munt ekki geta notað andlitið til auðkenningar í forritum."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Þú munt glata vistuðum gögnum, s.s. PIN-númerinu þínu og andlitslíkani.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort sem voru sett upp fyrir snertilausar greiðslur verða fjarlægð.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Veski og önnur forrit sem krefjast þess að tækið sé tekið úr lás munu hugsanlega ekki virka sem skyldi."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-númer verndar símann ef hann týnist eða ef honum er stolið.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Þetta eyðir fingrafaralíkaninu sem er vistað í tækinu þínu. Andlitslíkaninu þínu verður einnig eytt endanlega á öruggan hátt. Þú munt ekki geta notað andlitið eða fingrafarið til auðkenningar í forritum."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Þú munt glata vistuðum gögnum, s.s. PIN-númerinu þínu, andlits- og fingrafarslíkani.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort sem voru sett upp fyrir snertilausar greiðslur verða fjarlægð.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Veski og önnur forrit sem krefjast þess að tækið sé tekið úr lás munu hugsanlega ekki virka sem skyldi."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Aðgangsorð verndar símann ef hann týnist eða ef honum er stolið"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Aðgangsorð verndar símann ef hann týnist eða ef honum er stolið.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Para við <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Bættu nýjum meðlim við fyrirliggjandi samstillt sett"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Staðfestu til að bæta við seinna hljómtækinu"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-pörunarkóði"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Sláðu inn pörunarkóðann og ýttu svo á Return eða Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN inniheldur bókstafi eða tákn"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Verður að vera 16 tölustafir"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Þú gætir einnig þurft að slá þetta PIN-númer inn í hinu tækinu."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Þú gætir einnig þurft að slá þennan aðgangslykil inn á hinu tækinu."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Staðfestu pörun við samstillta settið"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Staðfestu til að para hljómtækið"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Veita aðgang að tengiliðum þínum og símtalaferli"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Veita einnig aðgang að tengiliðum og símtalaferli"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Upplýsingar verða notaðar fyrir símtalatilkynningar og fleira"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Ekki tókst að tengjast <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Tæki í boði"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Tengja"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Aftengja"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Pörun og tenging"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Þegar kveikt er á Bluetooth getur tækið átt í samskiptum við önnur nálæg Bluetooth tæki."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Þegar kveikt er á Bluetooth getur tækið átt í samskiptum við önnur nálæg Bluetooth-tæki"</string>
     <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_scan_change" msgid="1744636222637390367">"Breyta"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Upplýsingar um tæki"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Leyfa ART að staðfesta bætakóða forrita sem hægt er að villuleita"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Sýna endurnýjunartíðni"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Sýna núverandi endurnýjunartíðni"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Sýna hlutfall HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Sýna núverandi hlutfall HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Krefjast aflæsingar tækis fyrir NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Í flugstillingu"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Tilkynna opin net"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Tilkynna þegar opið gæðanet er tiltækt"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Leyfa WEP-netkerfi"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP er eldri öryggissamskiptaregla sem er ekki eins örugg"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Símafyrirtækið þitt leyfir ekki WEP-netkerfi því þau eru ekki eins örugg"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Kveikja sjálfkrafa á Wi-Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi mun kveikja á sér innan sendisviðs vistaðra, öruggra neta, eins og netsins þíns heima"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Ekki tiltækt vegna þess að slökkt er á staðsetningu. Kveiktu á "<annotation id="link">"staðsetningu"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi leit leyfir forritum og þjónustu að leita að Wi-Fi neti hvenær sem er, jafnvel þegar slökkt er á Wi-Fi. Sem dæmi er hægt að nota þetta til að bæta eiginleika og þjónustu sem byggja á staðsetningu."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Kveikja"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Kveikt á Wi‑Fi leit"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Þetta netkerfi notar eldri öryggissamskiptareglu sem er ekki eins örugg"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> er á bannlista"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Þetta netkerfi notar eldri öryggissamskiptareglu sem kallast WEP, sem er ekki eins örugg. Til að tengjast samt sem áður geturðu leyft WEP-netkerfi."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Símafyrirtækið þitt leyfir þér ekki að tengjast þessu netkerfi vegna þess að það notar eldri öryggissamskiptareglu sem er ekki eins örugg"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Leyfa WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Loka"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Ítarlegri valkostir"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Ítarlegir valkostir fellilista"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"Opna"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Halda áfram á Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Aldrei sýna aftur"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Tengjast"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Kveikt á Wi-Fi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Tengt við <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Tengist <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Tengist…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Ekk tókst að tengjast neti"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Ekkert samband við netkerfi"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Gleyma"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Breyta"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Ekki tókst að gleyma neti"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Vista"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Ekki tókst að vista net"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Hætta við"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Farsímagögn"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Í hleðslu"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Í hleðslu"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Tenging við heitan reit"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Tengingarstyrkur"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Vistuð net"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Ekkert aðgangsorð valið"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Heiti á heitum reit"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Aðgangsorð fyrir heitan reit"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Tíðnisvið"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Slökkva á heitum reit sjálfkrafa"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Þegar engin tæki eru tengd"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Auka samhæfi"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Sýna hvítjöfnun"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Halda áfram að nota forrit þegar tæki er brotið saman"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Hnökralaus skjár"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Breytir endurnýjunarhraða sjálfkrafa úr 60 í <xliff:g id="ID_1">%1$s</xliff:g> Hz fyrir sumt efni. Eykur rafhlöðunotkun."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Slökkva á hámarks rammatíðni fyrir leiki"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Slökkva á takmörkun á hámarks rammatíðni upp á <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz fyrir leiki."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Mýkri mynd"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Hækkar endurnýjunartíðni sjálfkrafa upp í <xliff:g id="ID_1">%1$d</xliff:g> Hz fyrir sumt efni. Eykur rafhlöðunotkun."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Þvinga fram mesta endurnýjunarhraða"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Mesti endurnýjunarhraði fyrir bætta snertisvörun og gæði hreyfimynda. Eykur rafhlöðunotkun."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Skjáskynjun"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Skjáskynjun notar fremri myndavélina til að sjá hvort einhver sé að horfa á skjáinn. Skjáskynjun virkar í tækinu, en myndir eru aldrei geymdar eða sendar til Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Kveikja á skjáskynjun"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Hafðu kveikt á skjánum á meðan þú horfir á hann"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Langur tími þar til skjárinn slekkur á sér gengur hraðar á rafhlöðuna."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Myndavél er læst"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Taka þarf myndavél úr lás fyrir andlitsgreiningu"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Myndavélin verður að vera ólæst til að nota skjáskynjun"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM-kortarauf <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM-kortarauf <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (aðal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Veldu vistað netkerfi til að skoða"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-útgáfa"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Staða rafhlöðu"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Sameiginlegt"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Sameiginlegar stillingar"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Gervihnattarskilaboð"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Aðgangsstaðir"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Breyta aðgangsstað"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Bæta við aðgangsstað"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ekki stillt"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ekki stillt"</string>
     <string name="apn_name" msgid="6677695784108157953">"Heiti"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Aðgangsstaður virkur"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Aðgangsstaður óvirkur"</string>
     <string name="bearer" msgid="3231443241639159358">"Flutningsmáti"</string>
+    <string name="network_type" msgid="748590707422733595">"Tegund netkerfis"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Ótilgreint"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Gerð MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Gildi MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Eyða aðgangsstað"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Vista"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Hætta við"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Afritaður aðgangsstaður."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Reiturinn fyrir heiti má ekki vera auður."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Heiti aðgangsstaðar má ekki vera autt."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-reitur verður að innihalda 3 tölustafi."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-reitur verður að innihalda 2 eða 3 tölustafi."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Símafyrirtækið leyfir ekki að APN af gerðinni %s sé bætt við."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-reitur þarf að vera gildur."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Endurheimtir sjálfgefnar stillingar aðgangsstaðar."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Núllstilla"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Sjálfgefnar stillingar aðgangsstaðar endurheimtar."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Endurstilla"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth og Wi‑Fi hafa verið endurstillt"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Eyða eSIM-kortum"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Þetta segir ekki upp neinni áskrift hjá símafyrirtæki. Til að sækja ný SIM-kort þarftu að hafa samband við símafyrirtækið þitt."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Farsímaáskriftinni þinni verður ekki sagt upp. Hafðu samband við símafyrirtækið þitt til að fá nýtt SIM-kort."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Endurstilla"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Endurstilla allar netstillingar? Ekki er hægt að afturkalla þessa aðgerð."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Endurstilla allar netstillingar og eyða eSIM-kortum? Ekki er hægt að afturkalla þessa aðgerð."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Endurstilla?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Núllstilling nets er ekki í boði fyrir þennan notanda"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Netstillingar voru endurstilltar"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Ekki tókst að eyða SIM-korti"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Ekki er hægt að eyða eSIM-kortum vegna villu.\n\nEndurræstu tækið og reyndu aftur."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Ekki tókst að eyða eSIM-kortum"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Eitthvað fór úrskeiðis og ekki tókst að eyða eSIM-kortunum.\n\nEndurræstu tækið og reyndu aftur."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Eyða öllum gögnum (núllstilla)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Eyða öllum gögnum (núllstilla)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Tónlist"</li>\n<li>"Myndum"</li>\n<li>"Öðrum notandagögnum"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-kort"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Þetta mun ekki segja upp farsímaáskrift þinni."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Öllum persónuupplýsingunum þínum og forritum sem hafa verið sótt verður eytt. Ekki er hægt að afturkalla þessa aðgerð."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Öllum persónuupplýsingunum þínum verður eytt, þar á meðal forritum og SIM-kortum sem hafa verið sótt. Ekki er hægt að afturkalla þessa aðgerð."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Öllum persónuupplýsingunum þínum verður eytt, þ.m.t. sóttum forritum og eSIM-kortum. Ekki er hægt að afturkalla þessa aðgerð."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Viltu eyða öllum gögnum?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Núllstilling er ekki í boði fyrir þennan notanda"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Eyðir"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Heitur reitur, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nettengingu er ekki deilt með öðrum tækjum"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Slökkt"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tjóðrun"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ekki nota heitan Wi-Fi reit"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deila interneti aðeins gegnum USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deila interneti aðeins með Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Deila interneti aðeins gegnum Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deila interneti aðeins með USB og Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Deila interneti aðeins gegnum USB og Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Deila interneti aðeins gegnum Bluetooth og Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Deila interneti aðeins gegnum USB, Bluetooth og Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-tjóðrun"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-tjóðrun"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-tjóðrun"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Notaðu heitan reit og tjóðrun til að tengja önnur tæki við internetið í gegnum Wi-Fi eða farsímagagnatenginguna þína. Forrit geta einnig búið til heitan reit til að deila efni með nálægum tækjum."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hjálp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Farsímakerfi"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Farsímaáskrift"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-forrit"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Skipta um SMS-forrit?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Nota <xliff:g id="NEW_APP">%1$s</xliff:g> í stað <xliff:g id="CURRENT_APP">%2$s</xliff:g> sem SMS-forrit?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Skipta um Wi-Fi aðstoð?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Nota <xliff:g id="NEW_APP">%1$s</xliff:g> í stað <xliff:g id="CURRENT_APP">%2$s</xliff:g> til að stjórna nettengingunum þínum?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Nota <xliff:g id="NEW_APP">%s</xliff:g> til að stjórna nettengingunum þínum?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Óþekkt símafyrirtæki SIM-korts"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> er ekki með neitt þekkt úthlutunarvefsvæði"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Settu SIM-kortið í og endurræstu"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Tengdu tækið við netið"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nýlegar staðsetningarbeiðnir"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Staðsetning vinnusniðs"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Staðsetningarheimildir forrits"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Hreinsa aðgang"</string>
     <string name="controls_label" msgid="8671492254263626383">"Stýringar"</string>
     <string name="force_stop" msgid="2681771622136916280">"Þvinga lokun"</string>
+    <string name="archive" msgid="9074663845068632127">"Setja í geymslu"</string>
+    <string name="restore" msgid="7622486640713967157">"Endurheimta"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Endurheimtir"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Endurheimtir."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Endurheimtir.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Endurheimtir..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Samtals"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Stærð forrits"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB-geymsluforrit"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Ekki tókst að reikna út stærð pakka."</string>
     <string name="version_text" msgid="7628938665256107608">"útgáfa <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Færa"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Ekki tókst að setja í geymslu"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> var sett í geymslu"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Ekki tókst að endurheimta"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Endurheimtir <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Annar flutningur er nú þegar í gangi."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ekki nægilegt geymslurými."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Forritið er ekki til."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tiltækt skjályklaborð"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Stjórna skjályklaborðum"</string>
     <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="6922850403920596246">"Virkjaðu endurkastslykla fyrir aukið aðgengi á vélbúnaðarlyklaborðinu"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Hægir lyklar"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Virkjaðu hæga lykla fyrir aukið aðgengi á vélbúnaðarlyklaborðinu"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Festilyklar"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Virkjaðu festilykla fyrir aukið aðgengi á vélbúnaðarlyklaborðinu"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Hraði bendils"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Nánar um bendingar á snertifleti"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Fara á upphafssíðu"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Strjúktu upp með þremur fingrum hvar sem er á snertifletinum"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Til baka"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Flokka eftir notkunartíma"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Flokka eftir síðustu notkun"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Flokka eftir heiti forrits"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Síðast notað"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Síðast notað"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"aldrei"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Notkunartími"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Aðgengi"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Aðgengisstillingar"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Stækka með því að ýta þrisvar"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Stækka með flýtilykli"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Stækka með flýtilykli og með því að ýta þrisvar"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Um þjónustuna „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Notaðu aðgengishnappinn til að opna"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Haltu hljóðstyrkstökkunum inni til að opna"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ýttu þrisvar á skjáinn til að opna"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Ýtt tvisvar á skjáinn með tveimur fingrum til að opna"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Nota bendingu til að opna"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Nota aðgengisbendingu"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Til að nota þennan eiginleika skaltu ýta á aðgengishnappinn <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> neðst á skjánum.\n\nTil að skipta á milli eiginleika skaltu halda inni aðgengishnappinum."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ýttu á aðgengishnappinn á skjánum til að nota þennan eiginleika."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Til að nota þennan eiginleika heldurðu inni báðum hljóðstyrkstökkunum."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Til að ræsa og stöðva stækkun skaltu ýta þrisvar einhvers staðar á skjáinn."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Til að ræsa og stöðva stækkun skaltu ýta tvisvar einhversstaðar á skjáinn með tveimur fingrum."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Til að nota þennan eiginleika skaltu strjúka 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Til að nota þennan eiginleika skaltu strjúka 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Til að nota aðgengiseiginleika skaltu strjúka 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Til að nota aðgengiseiginleika skaltu strjúka 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_tutorial_dialog_button" msgid="2031773187678948436">"Ég skil"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Stillingar fyrir aðgengishnapp"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Stillingar hnapps"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Flýtileið fyrir „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Aðgengishnappur"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Aðgengisbending"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Halda inni hljóðstyrkstökkum"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"halda inni hljóðstyrkstökkum"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"ýtt tvisvar á skjáinn með tveimur 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="6863958573135995927">"ýta þrisvar á skjá"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Frekari upplýsingar um aðgengishnapp og bendingu"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Notkun aðgengishnappsins. Ekki er hægt að nota bendinguna með þriggja hnappa stjórnun."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Skjótur aðgangur að aðgengiseiginleikum"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Til að hefjast handa"</b>\n"1. Opnaðu aðgengisstillingar\n2. Veldu eiginleika og ýttu á flýtileiðina\n3. Veldu hvort þú vilt nota hnapp eða bendingu til að opna eiginleikann"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Til að hefjast handa"</b>\n"1. Opnaðu aðgengisstillingar\n2. Veldu eiginleika og ýttu á flýtileiðina\n3. Veldu hnapp til að opna eiginleikann"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Til að hefjast handa&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Opnaðu aðgengisstillingarnar&lt;br/&gt; {1,number,integer}. Veldu eiginleika og ýttu á flýtileiðina&lt;br/&gt; {2,number,integer}. Veldu hvort þú vilt nota hnapp eða bendingu til að opna eiginleikann&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Til að hefjast handa&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Opnaðu aðgengisstillingarnar&lt;br/&gt; {1,number,integer}. Veldu eiginleika og ýttu á flýtileiðina&lt;br/&gt; {2,number,integer}. Veldu hnappinn til að opna eiginleikann&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Nota hnapp eða bendingu"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Staðsetning"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Stærð"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Aflrofi lýkur símtali"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Stór músarbendill"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Gera músarbendilinn greinilegri"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Nota dökkt þema í öllum forritum"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gildir um forrit sem eru ekki með innbyggt dökkt þema. Skjávandamál kunna að koma upp í sumum forritum, t.d. umsnúnir litir."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Fjarlægja hreyfimyndir"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Draga úr hreyfingu á skjánum"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Einóma hljóð"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Nota titring og snertisvörun"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Titringur viðvarana"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Titringur margmiðlunarefnis"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Lyklaborðstitringur"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Titringur hringingar"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Titringur tilkynninga"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Snertisvörun"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stöðva"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Hætta við"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Stöðva <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ef ýtt er á <xliff:g id="STOP">%1$s</xliff:g> mun <xliff:g id="SERVICE">%2$s</xliff:g> stöðvast."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Slökkva"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Hafa kveikt"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Viltu slökkva á <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Engin þjónusta uppsett"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Engin þjónusta valin"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Engin lýsing til staðar."</string>
     <string name="settings_button" msgid="2195468788019730377">"Stillingar"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ljósnæmi, ljósfælni, dökkt þema, mígreni, höfuðverkur, lestrarstilling, næturstilling, minnkuð birta, hvítpunktur"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Auðveld notkun, auðvelt aðgengi, aðstoð, stuðningur"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"sjón, heyrn, blind(ur), heyrnarlaus, hreyfivirkni, fimi, aðstoðartækni, aðstoð, auðveld notkun, auðveldur aðgangur, hönd, hjálp"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"gluggastækkun, aðdráttur, stækkun, sjónskerðing, stækka, gera stærra"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"skjátextar, skýringartextar, CC, umritun í beinni, heyrnarskerðing, heyrnarleysi, tölvustudd umritun í beinni, talgreinir, texti"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"litaleiðrétting"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"mótor, mús"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"heyrnartæki, heyrnarskerðing, heyrnartap, kuðungsígræði, hljóðmögnunartæki, hljóðvinnsla"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"hreyfivirkni, mús, utanáliggjandi mús, höfuðmús, aðlögunarhæf mús, hjólastóll, stýripinni"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"heyrnartæki, heyrnarskerðing, heyrnartap, kuðungsígræði, hljóðmögnunartæki, hljóðvinnsla, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"heyrnarskerðing, heyrnarleysi, skjátextar, telex, fjarriti"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"þrír hnappar"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"fimi, hreyfivirkni, eldri, gigt, rsi, heilablóðfall, skjálfti, heila- og mænusigg, heilalömun, skjálfti, vöðvabólga, hönd"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"seinkun, fimi, eldri"</string>
     <string name="print_settings" msgid="8519810615863882491">"Prentun"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Slökkt"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 prentþjónusta virk}one{# prentþjónusta virk}other{# prentþjónustur virkar}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> eftir"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> þar til fullri hleðslu er náð"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Skjátími"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tími í bakgrunni"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Rafhlaða að tæmast"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Leyfa forriti að keyra í bakgrunni"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Viltu takmarka bakgrunnsvirkni?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ef þú takmarkar bakgrunnsvirkni forrits gæti það látið illa"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Forrit notar ekki fínstillingu á rafhlöðu og því er ekki hægt að takmarka það.\n\nKveiktu á fínstillingu til að takmarka."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Stjórna rafhlöðunotkun"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Leyfa notkun í bakgrunni"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Kveiktu til að fá rauntímauppfærslur, slökktu til að spara rafhlöðuna"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ótakmörkuð"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Fínstillt"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Takmarkað"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Sjá hvaða forrit nota mest af rafhlöðu"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Hleðsla fínstillt til að vernda rafhlöðuna"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Hleðsla er fínstillt til að stuðla að lengri endingartíma rafhlöðunnar"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Hleðsla fínstillt til að vernda rafhlöðuna"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Til að hjálpa til við að lengja endingartíma rafhlöðunnar er hleðsla fínstillt á meðan hún er tengd við dokku"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Hleðsla fínstillt til að vernda rafhlöðuna"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Til að hjálpa til við að lengja endingartíma rafhlöðunnar er hleðsla fínstillt á meðan hún er tengd við dokku"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Fullhleður"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Til að vernda rafhlöðuna verður hleðsla fínstillt næst þegar spjaldtölvan er tengd við dokku"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Kynntu þér hleðsluhlé nánar"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Halda hleðslu áfram"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inniheldur bakgrunnsvirkni sem notar mikla orku"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Þetta forrit getur notað rafhlöðuna í bakgrunni. Rafhlaðan gæti tæmst hraðar en venjulega."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Fjarlægja"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Hætta við"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Fullhlaða"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Vandamál með hleðslubúnað"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Athugaðu hleðslubúnaðinn"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Nánar um ósamhæfa hleðslu"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Rafhlöðustjórnun"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Stjórna forritum sjálfkrafa"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"frá síðustu fullu hleðslu"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Kerfisforrit"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Fjarlægð forrit"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Annað"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Áætlaður tími eftir"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Þar til fullri hleðslu er náð"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Alls: innan við mínúta"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Í bakgrunni: innan við mínúta"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Skjátími: innan við mínúta"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Minna en mínúta"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Samtals: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Í bakgrunni: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Skjátími: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"núna"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Myndrit yfir rafhlöðunotkun"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Myndrit fyrir daglega rafhlöðunotkun"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Myndrit fyrir rafhlöðunotkun á klukkustund"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Staða rafhlöðu er frá <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> til <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Rafhlöðunotkun frá síðustu fullu hleðslu"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Rafhlöðunotkun <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Skjátími frá síðustu fullu hleðslu"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Neyðarhringimerki"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Velja hvað gerist þegar neyðarsímtal er hringt"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Öryggisafrit"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Kveikt"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Slökkt"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Afritun og endurheimt"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Persónuleg gögn"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Taka öryggisafrit af gögnunum mínum"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Farsímagögn og Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Samstilla einkagögn sjálfkrafa"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Samstilla vinnugögn sjálfkrafa"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Samstilla lokuð gögn sjálfkrafa"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Skipta um tímabil…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Mánaðardagur til að endurstilla tímabil gagnanotkunar:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Engin forrit notuðu gögn á þessu tímabili."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Heiti"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tegund"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Vistfang þjóns"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-dulkóðun (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-leyndarmál"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-auðkenni"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec-lykill sem var deilt"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-notandavottorð"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-vottorð"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-þjónsvottorð"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Sýna ítarlega valkosti"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-leitarlén"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-þjónar (t.d. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Áframsendingarleiðir (t.d. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Notandanafn"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Aðgangsorð"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Vista reikningsupplýsingar"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ekki notað)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ekki sannvotta þjón)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(móttekið frá þjóninum)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Þessi gerð VPN-tengingar getur ekki verið sívirk"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Sívirkt VPN styður eingöngu vistfang þjóns sem er eingöngu tölugildi"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS-þjónn verður að vera tilgreindur fyrir sívirkt VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Vistfang DNS-þjóns verður að vera tölugildi fyrir sívirkt VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Upplýsingarnar sem voru færðar inn styðja ekki sívirkt VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Hætta við"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Hunsa"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Loka á tengingar sem eru ekki með VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Krefjast VPN-tengingar?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ekki öruggt. Uppfæra í IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Ekki tókst að virkja óstutt VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Veldu VPN-snið sem alltaf á að vera tengt. Netumferð er aðeins leyfð þegar tenging við þetta VPN er virk."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ekkert"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN sem er alltaf virkt krefst IP-tölu þjóns og nafnaþjóns (DNS)."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER-viðvaranir"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Fá tilkynningar um barnsrán"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Endurtaka"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Kveikja á símtalastjórnun"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Leyfa þessari þjónustu að stjórna því hvernig þú hringir símtöl."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Símtalastjórnun"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Þráðlausar neyðartilkynningar"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Símafyrirtæki"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Heiti aðgangsstaða"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Staða SIM-korts"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-staða (SIM-rauf %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-kortum breytt."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-kortin þín breyttust"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ýttu til að setja upp"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Spyrja í hvert skipti"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Val er áskilið"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nýleg forrit, sjálfgefin forrit"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Tilkynningaaðgangur er ekki í boði fyrir forrit í vinnusniði."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Aðgangsorð og reikningar"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Vistuð aðgangsorð, sjálfvirk útfylling, samstilltir reikningar"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Tillögur fyrir innskráningu og sjálfvirka útfyllingu"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Sjálfgefin forrit"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klónuð forrit"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Búðu til annað tilvik forrits svo þú getir notað tvo reikninga samtímis."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"veski"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"borga, ýta, greiðslur"</string>
     <string name="keywords_backup" msgid="707735920706667685">"afrita, afritun"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"bendingar"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"andlit, opna, taka úr lás, sannvottun, innskráning, skrá inn"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"andlit, taka úr lás, sannvotta, skrá inn, fingrafar, lífkenni"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-útgáfa, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"textastærð, stórt letur, stór leturgerð, stór texti, sjónskerðing, stækka texta, leturstækkari, leturstækkun"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"alltaf kveikt á hvíldarskjá, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, merki, lesari"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"lyklaborð, snertisvörun, titra,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hljóðstyrkur, titringur, ónáðið ekki"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Hljóðstyrkur margmiðlunarefnis"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Hljóðstyrkur sendingar"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ræsingarhljóð"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Skjátextar í rauntíma"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Setja sjálfkrafa skjátexta við efni"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Hátalarar síma"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Hátalarar spjaldtölvu"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Hátalarar tækis"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Heyrnartól með snúru"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Hljómgæði samhæfs efnis verða betri"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Slökkt"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Sýna allt innihald tilkynninga"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Sýna viðkvæmt efni aðeins þegar tækið er opið"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Sýna engar tilkynningar"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hvernig á lásskjárinn að birtast?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Hvað viltu að lásskjárinn sýni?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lásskjár"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Sýna innihald allra vinnutilkynninga"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Fela viðkvæmt vinnutengt efni"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nýleg samtöl fjarlægð"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Samtal fjarlægt"</string>
     <string name="clear" msgid="5092178335409471100">"Hreinsa"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Hreinsa <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Forgangssamtöl og breytt samtöl birtast hér"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Þegar samtal er merkt sem forgangssamtal eða aðrar breytingar eru gerðar á samtölum birtast þau hér. \n\nTil að breyta stillingum samtals: \nStrjúktu niður frá efri brún skjásins til að opna tilkynningasvæðið og haltu svo fingrinum á samtali."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minnka"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Fækkun tilkynninga"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Fækka öllum tilkynningum"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Fækka tilkynningum smám saman þegar margar tilkynningar í röð berast frá sama forriti"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Fækka tilkynningum samtala"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Fækka tilkynningum smám saman þegar mörg skilaboð berast frá sama spjalli á stuttum tíma"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ekki fækka tilkynningum"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Aldrei fækka tilkynningum, óháð fjölda tilkynninga í röð frá sama forriti"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Titra þegar tekið er úr lás"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Aðeins titra þegar skjárinn er ólæstur"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Nota fyrir vinnusnið"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Notaðu stillingar fyrir fækkun tilkynninga á eigin sniði fyrir vinnusnið líka"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Hjálparþjónusta sýndarveruleika"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Engin uppsett forrit hafa óskað eftir að vera keyrð sem sýndarveruleikaþjónusta."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Leyfa sýndarveruleikaaðgang fyrir <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Slökkt"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Forritsfesting"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Forritsfesting gerir þér kleift að birta núverandi forrit á skjánum þar til þú losar það. Þú getur til dæmis notað þennan eiginleika til að leyfa vini að spila ákveðinn leik."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Þegar forrit er fest getur það opnað önnur forrit og persónuupplýsingar gætu verið aðgengilegar. \n\nTil að nota forritsfestingu: 	\n1. Kveiktu á forritsfestingu 	\n2. Opnaðu „Yfirlit“ 	\n3. Ýttu á forritstáknið efst á skjánum og ýttu svo á „Festa“"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Þegar forrit er fest getur það opnað önnur forrit og persónuupplýsingar gætu verið aðgengilegar. \n\nEf þú vilt deila tækinu þínu með einhverjum á öruggan hátt skaltu prófa að nota gestanotanda frekar. \n\nTil að nota forritsfestingu: 	\n1. Kveiktu á forritsfestingu 	\n2. Opnaðu „Yfirlit“ 	\n3. Ýttu á forritstáknið efst á skjánum og ýttu svo á „Festa“"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Þegar forrit er fest getur það opnað önnur forrit og persónuupplýsingar gætu verið aðgengilegar. \n\nTil að nota forritsfestingu: 	\n{0,number,integer}. Kveiktu á forritsfestingu 	\n{1,number,integer}. Opnaðu yfirlitið 	\n{2,number,integer}. Ýttu á forritstáknið efst á skjánum og síðan á „Festa“"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Þegar forrit er fest getur það opnað önnur forrit og persónuupplýsingar gætu verið aðgengilegar. \n\nEf þú vilt deila tækinu þínu með einhverjum á öruggan hátt skaltu prófa að nota gestanotanda frekar. \n\nTil að nota forritsfestingu: 	\n{0,number,integer}. Kveiktu á forritsfestingu 	\n{1,number,integer}. Opnaðu yfirlitið 	\n{2,number,integer}. Ýttu á forritstáknið efst á skjánum og síðan á „Festa“"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Þegar forrit er fest: \n\n•		Geta persónuupplýsingar verið aðgengilegar \n		(s.s. tengiliðir og efni tölvupósta) \n•	 Getur fest forrit opnað önnur forrit \n\nNotaðu aðeins forritsfestingu með fólki sem þú treystir."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Biðja um opnunarmynstur til að losa"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Biðja um PIN-númer til að losa"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Biðja um aðgangsorð til að losa"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Læsa tækinu við losun"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Staðfesta eyðingu SIM-korts"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Staðfestu að þú viljir eyða eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Staðfestu að þetta sért þú áður en þú eyðir eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Ítarleg minnisvernd – beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Ítarleg minnisvernd"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ónotaðar forritastillingar"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Gera hlé á forritavirkni ef ekki notað"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Fjarlægja heimildir, eyða tímabundnum skrám og stöðva tilkynningar"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Stjórna forriti ef það er ónotað"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Fjarlægja heimildir, eyða tímabundnum skrám, stöðva tilkynningar og setja forritið í geymslu"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Öll forrit"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Uppsett forrit"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Skyndiforrit"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Laust"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Minni sem forrit nota"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 forrit notaði minnið síðustu {time}}one{# forrit notaði minnið síðustu {time}}other{# forrit notuðu minnið síðustu {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Virkja greiningu minnisnotkunar"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Greining minnisnotkunar krefst aukinna kerfistilfanga."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Slökkt á minnisgreiningu"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Tíðni"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Hámarksnotkun"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Engin gögn notuð"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Opna ofan á öðrum forritum"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Leyfa að opnað sé ofan á öðrum forritum"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Leyfa þessu forriti að opnast ofan á öðrum opnum forritum. Þetta forrit getur séð hvar þú ýtir eða breytt því sem birtist á skjánum."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Breyta margmiðlunarúttaki"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Leyfa forriti að skipta um margmiðlunarúttak"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Leyfa þessu forriti að velja hvaða tengda tæki spilar hljóð eða vídeó úr öðrum forritum. Ef þú leyfir þetta fær forritið aðgang að lista yfir tæki sem eru í boði, t.d. heyrnartól og hátalara, og getur valið hvaða úttakstæki er notað til að streyma eða senda út hljóð eða vídeó."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Aðgangur að öllum skrám"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Leyfa aðgang til að stjórna öllum skrám"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Leyfa þessu forriti að lesa, breyta og eyða öllum skrám í þessu tæki eða tengdum geymsludrifum. Ef heimild er veitt fær forritið aðgang að skránum þínum án þess að þér sé tilkynnt sérstaklega um það."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Hefur aðgang að öllum skrám"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Raddstýringarforrit"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Leyfa raddstýringu"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Raddvirkjun kveikir handfrjálst á samþykktum forritum með raddskipun. Innbyggð aðlögunarhæf skynjun tryggir að gögnin séu lokuð öðrum en þér.\n\n"<a href="">"Nánar um aðlögunarhæfa skynjun með vörn"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Tilkynningar á öllum skjánum"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Leyfa tilkynningar á öllum skjánum frá þessu forriti"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Leyfa forritinu að birta tilkynningar á öllum skjánum þegar tækið er læst. Forrit kunna að nota þennan eiginleika til að leggja áherslu á vekjara, móttekin símtöl og aðrar áríðandi tilkynningar."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> gagnaviðvörun"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> gagnamörk"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> gagnaviðvörun / <xliff:g id="ID_2">^2</xliff:g> gagnamörk"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Gögn símafyrirtækisins kunna að vera önnur en tækið sýnir"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Tekur ekki með gögn sem eru notuð af netkerfum símafyrirtækja"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> notuð"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Stilla gagnaviðvörun"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Uppfært fyrir <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Uppfært af <xliff:g id="ID_1">^1</xliff:g> rétt í þessu"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Uppfært rétt í þessu"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Skoða áskrift"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Skoða upplýsingar"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Gagnasparnaður"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Engin takmörkun á gögnum"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> notaði meiri rafhlöðuorku en venjulega í bakgrunni"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> notaði meiri rafhlöðuorku í forgrunni"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> notaði meiri rafhlöðuorku en venjulega í forgrunni"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Frávik í rafhlöðunotkun"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Mikil rafhlöðunotkun"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Mikil rafhlöðunotkun í bakgrunni"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Mikil rafhlöðunotkun í forgrunni"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Reitir fyrir flýtistillingar forritara"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Slökkva á tímamörkum adb-heimildar"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Slökkva á sjálfvirkri ógildingu adb-heimilda fyrir kerfi sem hafa ekki endurtengst innan sjálfgefins tíma (sjö daga) eða tíma sem notandi hefur stillt (að lágmarki einn dagur)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-rakning"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Slökkt á skynjurum"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Stillingar vinnusniðs"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Leita í einkaforritum að tengiliðum í vinnuskrá"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"kerfisstjórnun, tveggja hnappa stjórnun, þriggja hnappa stjórnun, bendingastjórnun, strjúka"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Stafrænn hjálpari"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Strjúktu til að ræsa hjálpara"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Strjúktu upp frá neðra horni skjásins til að ræsa stafrænt hjálparaforrit."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Strjúktu upp frá neðra horni skjásins til að ræsa stafrænt hjálparaforrit"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Haltu hnappinum „Heim“ inni til að opna Hjálparann"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Haltu inni heimahnappinum til að kalla fram forrit stafræna hjálparans."</string>
     <string name="low_label" msgid="6525629096999711220">"Lítið"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Sjálfvirk útfyllingarþjónusta"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Sjálfgefin sjálfvirk útfyllingarþjónusta"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Aðgangsorð"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Aðgangsorð, aðgangslyklar og gagnaþjónustur"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Fleiri þjónustuaðilar"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Valin þjónusta"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Viðbótarþjónustur"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# aðgangsorð}one{# aðgangsorð}other{# aðgangsorð}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"sjálfvirk, útfylling, sjálfvirk útfylling, aðgangsorð"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"gögn, aðgangslykill, aðgangsorð"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"sjálfvirkt, útfylling, sjálfvirk útfylling, gögn, aðgangslykill, aðgangsorð"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Breyta"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Opna"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ekkert valið"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Gakktu úr skugga um að þú treystir þessu forriti&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Sjálfvirk útfylling Google&gt;%1$s&lt;/xliff:g&gt; notar það sem er á skjánum til að ákvarða hvað er hægt að fylla sjálfkrafa út."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Nota &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; notar það sem er á skjánum hjá þér til að greina hvað er hægt að fylla sjálfkrafa út. Ný aðgangsorð, aðgangslyklar og aðrar upplýsingar verða nú vistaðar hér í framhaldinu."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Aðgangsorð, aðgangslyklar og gagnaþjónustur"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Nota &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Ný aðgangsorð, aðgangslyklar og aðrar upplýsingar verða vistaðar hér framvegis. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kann að nota það sem er á skjánum hjá þér til að greina hvað er hægt að fylla sjálfkrafa út."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Valin þjónusta fyrir aðgangsorð, aðgangslykla og sjálfvirka útfyllingu"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Viltu slökkva á %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Viltu slökkva á þessari þjónustu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Vistaðar upplýsingar á borð við aðgangsorð, aðgangslykla, greiðslumáta og aðrar upplýsingar verða ekki fylltar út þegar þú skráir þig inn. Veldu aðgangsorð, aðgangslykil eða gagnaþjónustu til að nota vistuðu upplýsingarnar."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Aðgangsorð, aðgangslyklar og sjálfvirk útfylling"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Slökkva á öllum þjónustum?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Aðgangsorð, aðgangslyklar og aðrar vistaðar upplýsingar verða ekki tiltækar fyrir sjálfvirka útfyllingu þegar þú skráir þig inn"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Breyta valinni þjónustu í &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Ný aðgangsorð, aðgangslyklar og aðrar upplýsingar verða vistaðar héðan í frá. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kann að nota það sem er á skjánum hjá þér til að greina hvað er hægt að fylla sjálfkrafa út"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Nota %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Slökkva"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Breyta"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Þú getur aðeins verið með kveikt á 5 þjónustum í einu"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Slökktu á a.m.k. 1 þjónustu til að bæta nýrri við"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s notar efni á skjánum hjá þér til að ákvarða hvað er hægt að fylla út sjálfkrafa."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Hámark aðgangsorða, aðgangslykla og gagnaþjónusta"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Þú getur verið með allt að 5 aðgangsorð, aðgangslykla og gagnaþjónustur virkar á sama tíma. Slökktu á þjónustu til að bæta nýrri við."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Hámark aðgangsorða, aðgangslykla og gagnaþjónusta"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Þú getur verið með allt að 5 aðgangsorð, aðgangslykla og gagnaþjónustur virkar á sama tíma. Slökktu á þjónustu til að bæta nýrri við."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Slökkva"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Sjálfvirk útfylling"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Skráningarstig"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Aðeins er hægt að gera breytingar á samhæfi forrita fyrir forrit sem hægt er að villuleita. Settu upp forrit sem hægt er að villuleita og reyndu aftur."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Hún er háð annarri stillingu"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Reikningur"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d reikningar"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Heiti tækis"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Grunnupplýsingar"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Lög og reglur"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Leyfa ræsingu þessa forrits þegar NFC-merki er skannað.\nEf kveikt er á þessari heimild verður forritið í boði sem valkostur þegar merki greinist."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Spila efni í"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Spila <xliff:g id="LABEL">%s</xliff:g> á"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Hljóð heldur áfram að spilast"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Þessu tæki"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ekki í boði á meðan símtal er í gangi"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Taka við símtali í"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Þagga"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Til að virkja þarf fyrst að breyta „Halda aflrofa inni“ í aflrofavalmyndina."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Upplýsingar um net"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Heiti tækisins þíns er sýnilegt forritum í símanum. Heiti þess er hugsanlega einnig sýnilegt öðru fólki þegar þú tengist Bluetooth-tækjum, Wi-Fi neti eða setur upp heitan Wi-Fi reit."</string>
     <string name="devices_title" msgid="649715719278562515">"Tæki"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Velja símkerfi"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Aftengt"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Heiti"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Litur (notaður af samhæfum forritum)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Vista"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Nota SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Nota þetta SIM-kort"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Slökkt"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Til að gera SIM-kort óvirkt þarftu að fjarlægja það úr símanum"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Ýttu til að virkja <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Hreinsa SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Til að slökkva á þessu SIM-korti þarftu að fjarlægja það"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Ýttu til að virkja <xliff:g id="CARRIER">%1$s</xliff:g> SIM-kortið"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Eyða eSIM-korti"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Valin símkerfistegund"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Breyta virknihætti símkerfis"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Valin símkerfistegund"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Upplýsingar um verð fást hjá símafyrirtækinu."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Gagnanotkun forrits"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ógild símkerfisstilling <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Hunsa."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Gervihnattarskilaboð"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Sendu og taktu á móti SMS-skilaboðum um gervihnött. Hluti af reikningnum þínum."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Sendu og taktu á móti SMS-skilaboðum um gervihnött. Ekki hluti af reikningnum þínum."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Gervihnattarskilaboð"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Um gervihnattarskilaboð"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Þú getur sent og tekið á móti SMS-skilaboðum um gervihnött ef þú ert með gjaldgengann reikning hjá <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Áskriftin þín hjá <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Gervihnattarskilaboð eru hluti af reikningnum þínum"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Gervihnattarskilaboð eru ekki hluti af reikningnum þínum"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Bæta við gervihnattarskilaboðum"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Svona virkar þetta"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Þegar farsímakerfi er ekki tiltækt"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Síminn mun tengjast gervihnetti sjálfkrafa. Vertu utandyra þar sem himininn sést vel til að ná sem bestri tengingu."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Eftir að síminn tengist gervihnetti"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Þú getur sent hverjum sem er skilaboð, þ.m.t. neyðarþjónustu. Síminn mun tengjast farsímakerfi aftur þegar það er tiltækt."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Gervihnattarskilaboð gætu tekið lengri tíma og eru aðeins í boði á tilteknum svæðum. Veður og ákveðin mannvirki kunna að hafa áhrif á gervihnattartenginguna. Ekki er hægt að hringja um gervihnött.\n\nÞað gæti tekið smástund þar til breytingarnar á reikningnum þínum birtast í stillingunum. Hafðu samband við <xliff:g id="CARRIER_NAME">%1$s</xliff:g> fyrir frekari upplýsingar."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Nánar um gervihnattarskilaboð"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Heiti aðgangsstaða"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"Aðgangsstaður"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ekki í boði þegar tenging við <xliff:g id="CARRIER">%1$s</xliff:g> er til staðar"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Skipta yfir í <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Viltu skipta yfir í að nota SIM-kort?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Viltu nota <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Aðeins eitt SIM-kort getur verið virkt í einu.\n\nÞótt þú skiptir yfir í <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> verður þjónustunni hjá <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ekki sagt upp."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Aðeins er hægt að vera með 1 eSIM virkt í einu.\n\nÞótt þú skiptir yfir í <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> verður þjónustunni þinni hjá <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ekki sagt upp."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Aðeins eitt SIM-kort getur verið virkt í einu.\n\nÞótt þú skiptir verður þjónustunni hjá <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ekki sagt upp."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Aðeins er hægt að vera með eitt SIM-kort virkt í einu.\n\nÞótt þú skiptir yfir í <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> verður þjónustunni þinni hjá <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ekki sagt upp."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Aðeins er hægt að vera með eitt eSIM-kort virkt í einu.\n\nÞótt þú skiptir yfir í <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> verður þjónustunni þinni hjá <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ekki sagt upp."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Aðeins er hægt að vera með eitt SIM-kort virkt í einu.\n\nÞótt þú skiptir verður þjónustunni þinni hjá <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ekki sagt upp."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Þú getur notað 2 SIM-kort í einu. Slökktu á öðru SIM-kortinu til að nota <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Skipta yfir í <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Slökkva á <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Þjónustunni verður ekki sagt upp þótt slökkt sé á SIM"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Tengist farsímakerfi…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Skiptir yfir í <xliff:g id="CARRIER_NAME">%1$s</xliff:g> fyrir símtöl og skilaboð…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Ekki hægt að skipta um símafyrirtæki"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Ekki er hægt að skipta um símafyrirtæki sökum villu."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Virkjar SIM-kort…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Skiptir yfir í <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Ekki er hægt að skipta á milli SIM-korta"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Eitthvað fór úrskeiðis. Ekki er hægt að skipta á milli SIM-korta."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Viltu slökkva á <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Slökkva á SIM-korti?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Slekkur á SIM-korti<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Ekki er hægt að gera símafyrirtæki óvirkt"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Eitthvað fór úrskeiðis og ekki var hægt að gera símafyrirtækið óvirkt."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Ekki er hægt að slökkva á SIM-korti"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Eitthvað fór úrskeiðis og ekki var hægt að slökkva á SIM-kortinu."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Viltu nota 2 SIM-kort?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Þetta tæki getur verið með tvö SIM-kort virk í einu. Ýttu á „Nei takk“ til að halda áfram að nota aðeins eitt SIM-kort."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Endurræsa tæki?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nei, takk"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Hætta við"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Skipta"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Slökkva"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Ekki er hægt að virkja SIM-kort"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prófaðu að kveikja aftur á SIM-kortinu. Ef vandamálið leysist ekki skaltu endurræsa tækið."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Settu upp SIM-kort"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Stilltu grunnstillingar farsímakerfisins til að nota fleiri en eitt SIM-kort í þessu tæki"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Merktu SIM-kortin þín"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Þú sérð þessi merki þegar þú hringir símtöl, sendir SMS-skilaboð, notar gögn og í stillingunum"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Merki SIM-korts"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Merki"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Veldu SIM-kort til að nota"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Þú getur notað 2 SIM-kort í einu"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Stilltu aðal SIM-kort"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Veldu hvaða SIM-kort verða sjálfkrafa notuð fyrir símtöl, SMS-skilaboð og gögn"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Aðal SIM-kort"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Símtöl"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS-skilaboð"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Sjálfvirk gagnaskipting"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Nota gögn af öðru hvoru SIM-korti byggt á umfangi og tiltækileika"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Aðeins gögn"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Setja upp"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Áfram"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Virkjar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Farsímakerfi"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Símanúmer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Merki og litur SIM-korts"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Virkjun símkerfis"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Skipt um símafyrirtæki"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> er virkt"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM-kortið er virkt"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Ýttu til að uppfæra stillingar SIM-korts"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Skipt yfir í <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Skipt yfir til annars símafyrirtækis"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Skipt var um farsímakerfi"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Setja upp annað SIM-kort"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Veldu virkt SIM-kort eða notaðu tvö SIM-kort í einu"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Veldu númerið sem á að nota"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 númer er tiltækt í þessu tæki en aðeins er hægt að nota eitt í einu}=2{2 númer eru tiltæk í þessu tæki en aðeins er hægt að nota eitt í einu}one{# númer er tiltækt í þessu tæki en aðeins er hægt að nota eitt í einu}other{# númer eru tiltæk í þessu tæki en aðeins er hægt að nota eitt í einu}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Virkjar<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Ekki er hægt að virkja eins og er"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Veldu SIM-kort til að nota"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM-kort er tiltækt í þessu tæki en aðeins er hægt að nota eitt í einu}=2{2 SIM-kort eru tiltæk í þessu tæki en aðeins er hægt að nota eitt í einu}one{# SIM-kort er tiltækt í þessu tæki en aðeins er hægt að nota eitt í einu}other{# SIM-kort eru tiltæk í þessu tæki en aðeins er hægt að nota eitt í einu}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Virkjar<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Ekki tókst að virkja SIM-kortið eins og stendur"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Viltu nota <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> verður notað fyrir farsímagögn, símtöl og SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Ekkert virkt SIM-kort í boði"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Til að nota farsímagögn, símtalseiginleika og SMS síðar skaltu fara í netstillingar"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Eyða þessu eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ef þetta SIM-kort er hreinsað verður þjónusta <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> fjarlægð úr þessu tæki.\n\nÞjónustu <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> verður ekki sagt upp."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Þetta fjarlægir þjónustu <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> úr þessu tæki en áskrift þinni hjá <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> verður ekki sagt upp."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Hreinsa"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Eyðir SIM-korti…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Ekki er hægt að eyða SIM-korti"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ekki er hægt að eyða þessu SIM-korti vegna villu.\n\nEndurræstu tækið og reyndu aftur."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Eyðir eSIM-korti…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Ekki tókst að eyða eSIM-korti"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Eitthvað fór úrskeiðis og ekki tókst að eyða eSIM-kortinu.\n\nEndurræstu tækið og reyndu aftur."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Tengjast tæki"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Forritið <xliff:g id="APPNAME">%1$s</xliff:g> vill nota tímabundið Wi‑Fi net til að tengjast við tækið þitt"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Engin tæki fundust. Gakktu úr skugga um að kveikt sé á tækjunum og að hægt sé að tengjast við þau."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Neyðarsímtöl"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Símafyrirtækið þitt styður ekki neyðarsímtöl í gegnum Wi-Fi.\nTækið skiptir sjálfkrafa yfir í farsímakerfi til að hringja neyðarsímtal.\nAðeins er hægt að hringja neyðarsímtöl á svæðum sem eru með farsímasamband."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Notaðu Wi-Fi fyrir símtöl til að bæta gæðin"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Varasímtöl"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ef <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> er ekki í boði eða í reiki skaltu nota farsímagögn SIM-kortsins fyrir <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> símtöl."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"varasímtöl"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS-skilaboð bárust"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Ekki er hægt að senda MMS-skilaboð"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Ýttu til að leyfa MMS-skilaboð hjá <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> þegar slökkt er á farsímagögnum"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Upplýsingar um vinnureglurnar þínar"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Kerfisstjóri stjórnar stillingum"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Skjákort"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Ræsa með 16 kB af síðum"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Ræsa með studdum kjarna sem hefur 16 kB af síðum"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Endurræsa með samhæfum kjarna sem inniheldur 16 kB af síðum?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"VIÐVÖRUN: Sum forrit eru hugsanlega ekki samhæf þessari stillingu. Tækið mun endurræsast eftir staðfestingu."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Endurræsa með samhæfum kjarna sem inniheldur 4 kB af síðum?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Tækið mun endurræsast eftir staðfestingu."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ekki tókst að uppfæra kjarna í samhæfðan kjarna sem inniheldur 16 kB af síðum"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Staðfestir breytingu"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Meðhöndlun villutilkynningar"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Ákvarðar hvaða forrit meðhöndlar flýtileiðir í villutilkynningu í tækinu þínu."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Persónulegt"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Leyfa forrit sem geta birst yfir öðrum forritum að leggjast yfir stillingaskjái"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Leyfa gervimótald"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Leyfðu þessu tæki að keyra gervimótaldsþjónustu fyrir prófun tækja. Ekki gera þetta virkt á meðan síminn er notaður á hefðbundinn hátt"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Slökkva á vörnum fyrir skjádeilingu"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Slekkur á vörnum kerfisins fyrir forrit og tilkynningar þegar skjá er deilt"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Margmiðlunarefni"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Festa efnisspilara"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Efnisspilarinn helst opinn í flýtistillingum svo hægt sé að ræsa spilun aftur í skyndi"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Sýna efni á lásskjá"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Efnisspilarinn helst opinn á lásskjánum svo hægt sé að hefja spilun aftur á skjótan hátt"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Sýna tillögur að efni"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Sýna efnistillögur Hjálpara"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Byggt á virkni þinni"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Fela spilara"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Sýna spilara"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"margmiðlunarefni"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Leyfa viðbætur við hugbúnað myndavélar"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Kveikir á sjálfgefinni hugbúnaðarinnleiðingu á ítareiginleikum myndavélar, t.d. Eyes Free-vídeóupptöku."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Kveikt verður á Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Virkt"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Óvirkt"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Virkt"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Óvirkt"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Sjálfgefið fyrir <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"símtöl"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Hljómgæði samhæfs efnis verða betri"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Rakning höfuðs"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Hljóðið aðlagast höfuðhreyfingum til að allt hljómi sem eðlilegast"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Samstilla heimildir"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Veita <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> sömu heimildir forrits og þú hefur veitt í <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Samstilla heimildir úr síma"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Veita úrinu sömu forritsheimildir og þú hefur veitt í þessum síma"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tegund hljómtækis"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Óþekkt"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Hátalari"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Miðlungs"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Mikið"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Aðeins er hægt að opna þetta forrit í 1 glugga"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Kveikt"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Slökkt"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Slökkt"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Slökkt"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Kveikt"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Slökkt"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Kveikt"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Slökkt"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Gerir ljósa skjái dekkri og dekkri skjái ljósari"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Stækka skjáinn"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Slökkt"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Slökkt"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Leitar að sviksamlegum forritum"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Leita að vefveiðum í forritavirkni"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Nota leit að blekkjandi forritum"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Nota leit að blekkjandi forritum fyrir vinnu"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Aðgangsorð hefur nú verið stillt"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Sýna bendil þegar þú heldur honum yfir atriði"</string>
 </resources>
diff --git a/res/values-it/arrays.xml b/res/values-it/arrays.xml
index b246a4c..9679ba4 100644
--- a/res/values-it/arrays.xml
+++ b/res/values-it/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponibile"</item>
     <item msgid="6096962300722555553">"Fuori dal raggio d\'azione"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disattivato"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast e Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usa i valori predefiniti del sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Dopo 1 minuto"</item>
     <item msgid="1574040255478150028">"Dopo 5 minuti"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-it/strings.xml b/res/values-it/strings.xml
index 80daf4e..dd4046a 100644
--- a/res/values-it/strings.xml
+++ b/res/values-it/strings.xml
@@ -28,6 +28,7 @@
     <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="dev_settings_disabled_warning" msgid="6971867026249671244">"Attiva prima Opzioni sviluppatore."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Solo gli utenti amministratori possono accedere alle impostazioni dello sviluppatore."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In servizio"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fuori servizio"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Il display frontale si attiva quando chiudi il dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Soltanto giochi, video e altre app"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Il display frontale si attiva per le app che impediscono allo schermo di diventare inattivo"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Scorri verso l\'alto per continuare"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Chiudi lo smartphone e scorri verso l\'alto sul display frontale per continuare a usare l\'app oppure attendi qualche secondo affinché lo schermo si blocchi"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Mai"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Il display frontale si blocca quando chiudi il dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Usa la rotazione automatica"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Correlati"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Suoneria e sveglie"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio durante le chiamate"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Contenuti multimediali"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notifiche e altri suoni di sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Suoni cont. multim. e sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notifiche"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Per impostazione predefinita, l\'output audio viene determinato dalle singole app"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositivo Bluetooth senza nome"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Ricerca in corso…"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Annulla"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Disattiva Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Disattiva la funzionalità Bluetooth LE audio se il dispositivo supporta funzioni hardware LE audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modalità Bluetooth LE audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Mostra comandi LE audio nei dettagli dispositivo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Attiva lista consentita Bluetooth LE audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Attiva la funzionalità della lista consentita Bluetooth LE audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ignora lista consentita Bluetooth LE audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Usa LE audio per impostazione predefinita anche se non è stato verificato che la periferica LE audio soddisfa i criteri della lista consentita."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivi multimediali"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivi di chiamata"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Altri dispositivi"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivi salvati"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associato all\'account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usati in precedenza con l\'account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Il Bluetooth verrà attivato per consentire l\'accoppiamento"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferenze di connessione"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Connessi in precedenza"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth attivato"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Mostra tutti"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Mostra tutti"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilo"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressione del pulsante dello stilo"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profilo di lavoro)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Scrivi nei campi di testo"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignora tutti i pulsanti premuti con lo stilo"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilo"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Condivisione audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Condividi audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chiamate e sveglie"</string>
+    <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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Collegati a uno stream audio tramite codice QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nessuno stream audio nelle vicinanze."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data e ora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Cancella"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Aggiungere %s alle lingue preferite?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"In questo modo le app e i siti web sapranno che preferisci anche questa lingua."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Le impostazioni del dispositivo e le preferenze locali cambieranno."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Cambia"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s non disponibile"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sabato"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Se un\'app non supporta le preferenze locali, userà le proprie impostazioni internazionali predefinite."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Scopri di più sulle preferenze di lingua."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferenze aggiuntive"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Appellativi"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Imposta gli appellativi da usare per rivolgersi a te"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Le app possono usare i tuoi appellativi per personalizzare il modo in cui rivolgersi a te."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Non specificati"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femminili"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maschili"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutra"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Vuoi rimuovere la lingua selezionata?}other{Vuoi rimuovere le lingue selezionate?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Il testo verrà mostrato in un\'altra lingua."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Impossibile rimuovere tutte le lingue"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Geolocalizzazione"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usa posizione"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Off"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{On - # app ha accesso alla posizione}other{On - # app hanno accesso alla posizione}}"</string>
+    <string name="location_settings_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Opzione attiva: # app ha accesso alla posizione}other{Opzione attiva: # 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_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="5329024810729665156">"Scopri di più sull\'impostazione Geolocalizzazione."</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="3574930966097093550">"Modifica accesso a posizione: Impostazioni &gt; Sicurezza e privacy &gt; Controlli per la privacy"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Account"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sicurezza"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Crittografia e credenziali"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Per risultati ottimali, usa una protezione per lo schermo con la certificazione Made For Google. Con altre protezioni per lo schermo l\'impronta di tuo figlio potrebbe non funzionare."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Sblocco dall\'orologio"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Se configuri lo Sblocco con il Volto e l\'Impronta, lo smartphone ti chiederà l\'impronta se indossi una mascherina o ti trovi in un luogo buio.\n\nSe il tuo volto o la tua impronta non vengono riconosciuti, puoi sbloccare con lo smartwatch."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Se la tua impronta non viene riconosciuta, puoi sbloccare con lo smartwatch."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Se il tuo volto non viene riconosciuto, puoi sbloccare con lo smartwatch."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Se configuri lo Sblocco con il Volto e l\'Impronta, lo smartphone ti chiederà l\'impronta se indossi una mascherina o ti trovi in un luogo buio.\n\nSblocco dall\'orologio è un altro modo pratico per sbloccare lo smartphone, ad esempio quando hai le dita bagnate o il volto non viene riconosciuto."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Sblocco dall\'orologio è un altro modo pratico per sbloccare lo smartphone, ad esempio quando le dita non vengono riconosciute."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Sblocco dall\'orologio è un altro modo pratico per sbloccare il tuo smartphone, ad esempio quando il volto non viene riconosciuto."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Usa l\'impronta o l\'orologio per"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Usa il volto o l\'orologio per"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Uso del volto, dell\'impronta o dell\'orologio"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Sblocco dall\'orologio è un altro modo pratico per sbloccare lo smartphone, ad esempio quando hai le dita bagnate o il volto non viene riconosciuto.\n\nPuoi usare lo smartwatch per sbloccare lo smartphone quando:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Non ora"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continua"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Altro"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Come funziona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Lo smartwatch deve essere sbloccato, sul polso e vicino allo smartphone. Non sarà necessario sbloccare nuovamente lo smartwatch quando si trova sul polso."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Quando lo smartphone viene sbloccato, riceverai una notifica sullo smartwatch. Se è stato sbloccato quando non era tua intenzione, tocca la notifica per bloccare di nuovo lo smartphone."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Sei tu ad avere il controllo"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Puoi rimuovere lo smartwatch da Sblocco dall\'orologio in qualsiasi momento in Impostazioni"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tocchi una notifica"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Scorri verso l\'alto sulla schermata di blocco"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Scegli il tuo smartwatch"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Smartwatch disponibili"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Annulla"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Conferma"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Ecco fatto!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Ora puoi usare lo smartwatch per sbloccare lo smartphone quando scorri verso l\'alto sulla schermata di blocco o tocchi una notifica"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Fine"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Sblocco dall\'orologio"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Puoi usare l\'orologio per sbloccare lo smartphone quando scorri verso l\'alto sulla schermata di blocco o tocchi una notifica"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Per utilizzare Sblocco dall\'orologio, lo smartwatch deve essere sbloccato, al polso, vicino e connesso allo smartphone. Se la connessione si interrompe, devi sbloccare lo smartphone prima di poter utilizzare Sblocco dall\'orologio.\n\nNota:\nÈ possibile configurare un solo smartwatch alla volta. Per aggiungerne un altro, devi prima rimuovere quello attuale."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sicurezza"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profilo di lavoro"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Spazio privato"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantieni le app private bloccate e nascoste"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Conserva le app private in uno spazio separato che puoi nascondere o bloccare"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Blocco dello spazio privato"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Puoi sbloccare lo spazio privato nello stesso modo in cui sblocchi il tuo dispositivo oppure scegliere un blocco diverso"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usa il blocco schermo del dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Sblocco con il Volto e con l\'Impronta"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Sblocco con l\'Impronta"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Sblocco con il Volto"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tocca per configurare"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Sblocco con l\'Impronta per lo spazio privato"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Sblocco con il Volto per lo spazio privato"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Modi per sbloccare"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Uguale al blocco schermo del dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Scegliere un nuovo blocco per lo spazio privato?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Blocca automaticamente lo spazio privato"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Puoi bloccare automaticamente il tuo spazio privato se non hai utilizzato il dispositivo per un certo periodo di tempo"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Ogni volta che il dispositivo si blocca"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Dopo 5 minuti di inattività"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Mai"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Nascondi quando è bloccato"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Nascondi lo spazio privato quando è bloccato"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Per evitare che altre persone sappiano che hai uno spazio privato sul tuo dispositivo, puoi nasconderlo dal tuo elenco di app"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Accedi allo spazio privato quando è nascosto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Dall\'elenco di app, \"spazio privato\" nella barra di ricerca"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tocca il riquadro Spazio privato"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Sblocca il tuo spazio privato"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Off"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"On"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Elimina spazio privato"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Eliminare lo spazio privato?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Il tuo spazio privato verrà rimosso dal dispositivo. Tutte le app private e i dati verranno eliminati. L\'operazione non può essere annullata."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"I seguenti account verranno rimossi dal tuo spazio privato:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Elimina"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Eliminazione spazio privato in corso…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"L\'operazione richiederà alcuni istanti"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Spazio privato eliminato"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Impossibile eliminare lo spazio privato"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Spazio privato sbloccato"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Imposta un blocco schermo"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Per utilizzare il tuo spazio privato, imposta un blocco schermo sul dispositivo"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Imposta blocco schermo"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Annulla"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Annulla"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurazione"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configura uno spazio privato"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Conserva le app private in uno spazio separato che puoi nascondere o bloccare"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Come funziona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Puoi accedere al tuo spazio privato dalla parte inferiore dell\'elenco di app"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Le app nello spazio privato sono protette da un blocco"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Le notifiche delle app nello spazio privato vengono nascoste quando quest\'ultimo è bloccato"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Le app presenti nello spazio privato non vengono visualizzate nella gestione autorizzazioni, nella dashboard della privacy e in altre impostazioni quando lo spazio privato è bloccato.\n\nLo spazio privato non può essere spostato su un nuovo dispositivo. Dovrai configurare un altro spazio privato per poterlo usare su un altro dispositivo.\n\nChiunque colleghi il dispositivo a un computer o installi app dannose sul dispositivo può avere accesso al tuo spazio privato."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurazione dello spazio privato in corso…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Le notifiche delle app nello spazio privato vengono nascoste quando quest\'ultimo è bloccato"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Sblocca lo spazio privato per condividere foto o file"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Alcune app sono già installate nel tuo spazio privato"</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_lockscreen_title" msgid="6034864097861137509">"Usare blocco schermo per sbloccare spazio privato?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Puoi sbloccare lo spazio privato nello stesso modo in cui sblocchi il tuo dispositivo oppure scegliere un blocco diverso"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usa il blocco schermo"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Scegli un nuovo blocco"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Fatto."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Per trovare il tuo spazio privato, vai all\'elenco delle app e scorri verso il basso"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Fine"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scorri verso il basso per trovare lo spazio privato"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Accedi"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Accedi a un account da usare con il tuo spazio privato"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Non ora"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continua"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Scegli un blocco per il tuo spazio privato"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Puoi sbloccare il tuo spazio privato usando l\'impronta. Per motivi di sicurezza, questa opzione richiede un blocco di backup."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Imposta PIN per lo spazio privato"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Imposta password per lo spazio privato"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Imposta sequenza per lo spazio privato"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puoi aggiungere fino a <xliff:g id="COUNT">%d</xliff:g> impronte digitali"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Hai aggiunto il numero massimo di impronte digitali"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Impossibile aggiungere ulteriori impronte digitali"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Sequenza"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Password"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vuoi eliminare il blocco schermo?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Rimuovere tutti i tipi di sblocco del dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Rimuovere la protezione del profilo?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"La sequenza protegge il telefono se viene smarrito o rubato"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"La sequenza protegge il telefono se viene smarrito o rubato.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Viene eliminato il modello dell\'impronta memorizzato sul dispositivo. Verrà eliminato definitivamente e in sicurezza anche il modello del volto. Non potrai usare il tuo volto o la tua impronta per eseguire l\'autenticazione nelle app."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Il PIN protegge il telefono se viene smarrito o rubato"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Perderai i dati salvati come il PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Le carte configurate per il pagamento contactless verranno rimosse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet e altre app che richiedono lo sblocco del dispositivo potrebbero non funzionare correttamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Il PIN protegge il telefono se viene smarrito o rubato.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Viene eliminato anche il modello dell\'impronta memorizzato sul dispositivo. Non potrai usare la tua impronta per eseguire l\'autenticazione nelle app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Perderai i dati salvati come il PIN e il modello dell\'impronta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Le carte configurate per il pagamento contactless verranno rimosse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet e altre app che richiedono lo sblocco del dispositivo potrebbero non funzionare correttamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Il PIN protegge il telefono se viene smarrito o rubato.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Verrà eliminato definitivamente e in sicurezza anche il modello del volto. Non potrai usare il tuo volto per eseguire l\'autenticazione nelle app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Perderai i dati salvati come il PIN e il modello del volto.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Le carte configurate per il pagamento contactless verranno rimosse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet e altre app che richiedono lo sblocco del dispositivo potrebbero non funzionare correttamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Il PIN protegge il telefono se viene smarrito o rubato.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Viene eliminato il modello dell\'impronta memorizzato sul dispositivo. Verrà eliminato definitivamente e in sicurezza anche il modello del volto. Non potrai usare il tuo volto o la tua impronta per eseguire l\'autenticazione nelle app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Perderai i dati salvati come il PIN e i modelli del volto e dell\'impronta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Le carte configurate per il pagamento contactless verranno rimosse.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet e altre app che richiedono lo sblocco del dispositivo potrebbero non funzionare correttamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"La password protegge il telefono se viene smarrito o rubato"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"La password protegge il telefono se viene smarrito o rubato.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Accoppiare con <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Aggiungi nuovo membro al set coordinato esistente"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Conferma per aggiungere il secondo componente del dispositivo audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Codice di accoppiamento via Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Digita il codice di accoppiamento e premi Invio"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Il PIN contiene lettere o simboli"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Deve essere di 16 cifre"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Potrebbe inoltre essere necessario digitare questo PIN sull\'altro dispositivo."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Potrebbe inoltre essere necessario digitare questa passkey sull\'altro dispositivo."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Conferma per eseguire l\'accoppiamento con il set coordinato"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Conferma per accoppiare con il dispositivo audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Consenti l\'accesso ai tuoi contatti e alla cronologia chiamate"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Consenti anche l\'accesso ai contatti e alla cronologia delle chiamate"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Le informazioni saranno utilizzate per gli annunci delle chiamate e altro ancora"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Impossibile collegarsi a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivi disponibili"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Connetti"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Disconnetti"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Accoppia e connetti"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Quando il Bluetooth è attivato, il dispositivo può comunicare con altri dispositivi che si trovano nelle vicinanze."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Quando il Bluetooth è attivato, il tuo dispositivo può comunicare con altri dispositivi che si trovano nelle vicinanze"</string>
     <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_scan_change" msgid="1744636222637390367">"Modifica"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Dettagli dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Consenti ad ART di verificare il bytecode delle app di cui è possibile eseguire il debug"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Frequenza aggiornamento"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostra l\'attuale frequenza di aggiornamento del display"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostra il rapporto HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostra l\'attuale rapporto HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Richiedi sblocco del dispositivo per NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In modalità aereo"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Invia notifica per reti pubbliche"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Invia una notifica quando è disponibile una rete pubblica di alta qualità"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Consenti le reti WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP è un protocollo di sicurezza meno recente e meno sicuro"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Il tuo operatore non consente le reti WEP perché sono meno sicure"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Attiva Wi‑Fi automaticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"La connessione Wi-Fi si riattiverà vicino a reti salvate di alta qualità, come quella di casa"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Non disponibile perché la geolocalizzazione non è attiva. Attiva la "<annotation id="link">"geolocalizzazione"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"La ricerca di reti Wi-Fi consente ad app e servizi di cercare reti Wi-Fi in qualsiasi momento, anche quando il Wi-Fi non è attivo. Questa funzione è utile, ad esempio, per migliorare funzioni e servizi basati sulla posizione."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Attiva"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Ricerca di reti Wi-Fi attiva"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Questa rete utilizza un protocollo di sicurezza meno sicuro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"L\'app <xliff:g id="NAME">%1$s</xliff:g> è bloccata"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Questa rete utilizza un protocollo di sicurezza meno recente chiamato WEP, che è meno sicuro. Se vuoi connetterti comunque, consenti le reti WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Il tuo operatore non consente la connessione a questa rete perché utilizza un protocollo di sicurezza meno recente e meno sicuro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Consenti le reti WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Chiudi"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opzioni avanzate"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Elenco a discesa Opzioni avanzate"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"espandi"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Resta sulla rete Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Non mostrare più"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Connetti"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi attivato"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Connesso a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Connessione a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Connessione…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Impossibile connettersi alla rete"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Rete fuori portata"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Elimina"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modifica"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Impossibile eliminare la rete"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Salva"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Impossibile salvare la rete"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Annulla"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Dati mobili"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ In carica"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ In carica"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Connessione tramite hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Potenza connessione"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Reti salvate"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nessuna password impostata"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nome hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Password hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Disattiva hotspot automaticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando non sono connessi dispositivi"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Estendi compatibilità"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Bilanciamento bianco display"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continua a usare le app quando chiuso"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Display fluido"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente la frequenza di aggiornamento da 60 a <xliff:g id="ID_1">%1$s</xliff:g> Hz per alcuni contenuti. Comporta un maggior utilizzo della batteria"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Disattiva frequenza fotogrammi"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Disattiva la limitazione della frequenza massima di fotogrammi per i giochi a <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Display fluido"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente la frequenza di aggiornamento fino a <xliff:g id="ID_1">%1$d</xliff:g> Hz per alcuni contenuti. Comporta un maggior utilizzo della batteria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forza frequenza di aggiornamento massima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Massima frequenza di aggiornamento per migliore reattività al tocco e qualità dell\'animazione; aumenta il consumo della batteria"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Schermo vigile"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"La funzionalità Schermo vigile usa la fotocamera anteriore per controllare se qualcuno sta guardando lo schermo. Funziona sul dispositivo e le immagini non vengono mai memorizzate o inviate a Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Attiva Schermo vigile"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantiene lo schermo attivo mentre lo guardi"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Uno spegnimento dello schermo più lento consumerà più batteria."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Fotocamera bloccata"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"È necessario sbloccare la fotocamera per poter procedere con il riconoscimento facciale"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"È necessario sbloccare la fotocamera per poter utilizzare Schermo vigile"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principale)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Per visualizzarlo, seleziona la rete salvata"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versione PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Livello batteria"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Comuni"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Impostazioni comuni"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Messaggistica satellitare"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Modifica punto di accesso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Aggiungi punto di accesso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nessuna impostazione"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nessuna impostazione"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN attivo"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN non attivo"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo di rete"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Non specificato"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valore MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Elimina APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Salva"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annulla"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Esiste un duplicato della voce APN."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Il campo Nome non può essere vuoto."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Il campo APN non può essere vuoto."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Il campo MCC deve contenere 3 cifre."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Il campo MNC deve contenere 2 o 3 cifre."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"L\'operatore non consente di aggiungere APN di tipo %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Il campo MMSC deve essere valido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Ripristino delle impostazioni APN predefinite."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Ripristina impostazioni predefinite"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ripristino delle impostazioni APN predefinite completato."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reimposta"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth e Wi-Fi sono stati reimpostati"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Resetta eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Gli eventuali piani tariffari non verranno annullati. Per scaricare SIM sostitutive, contatta il tuo operatore."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Il tuo piano dati mobile non verrà annullato. Per ottenere una SIM sostitutiva, contatta il tuo operatore."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Reimposta"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Ripristinare tutte le impostazioni della rete? Questa azione non può essere annullata."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vuoi reimpostare tutte le impostazioni di rete e resettare le eSIM? L\'operazione non può essere annullata."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Reimpostare?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"La reimpostazione della rete non è disponibile per questo utente"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Le impostazioni di rete sono state reimpostate"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Impossibile resettare le SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Non è possibile resettare le eSIM a causa di un errore.\n\nRiavvia il dispositivo e riprova."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Impossibile resettare le eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Si è verificato un problema e le eSIM non sono state resettate.\n\nRiavvia il dispositivo e riprova."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Cancella tutti i dati (ripristino dei dati di fabbrica)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Cancella tutti i dati"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musica"</li>\n<li>"Foto"</li>\n<li>"Altri dati utente"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Il tuo piano di servizio dati mobile non verrà annullato."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Tutte le tue informazioni personali e le app scaricate saranno eliminate. Questa azione non può essere annullata."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Tutte le tue informazioni personali, tra cui le app e le SIM scaricate, saranno eliminate. Questa azione non può essere annullata."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Tutte le tue informazioni personali, tra cui le app e le eSIM scaricate, saranno eliminate. L\'operazione non può essere annullata."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vuoi cancellare tutti i dati?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Il ripristino dei dati di fabbrica non è disponibile per questo utente"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Cancellazione…"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Connessione a Internet non condivisa con altri dispositivi"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Off"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Non usare hotspot Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Condividi Internet solo tramite USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Condividi Internet solo tramite Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Condividi Internet solo tramite Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Condividi Internet solo tramite USB e Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Condividi Internet solo tramite USB ed Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Condividi Internet solo tramite Bluetooth ed Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Condividi Internet solo tramite USB, Bluetooth ed Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Utilizza hotspot e tethering per consentire ad altri dispositivi di accedere a Internet usando la tua connessione Wi-Fi o dati mobili. Le app possono inoltre creare un hotspot per condividere contenuti con i dispositivi nelle vicinanze."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Guida"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rete mobile"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Piano dati mobile"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vuoi cambiare app per gli SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Utilizzare <xliff:g id="NEW_APP">%1$s</xliff:g> anziché <xliff:g id="CURRENT_APP">%2$s</xliff:g> come app per gli SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Cambiare assistente Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Utilizzare <xliff:g id="NEW_APP">%1$s</xliff:g> invece di <xliff:g id="CURRENT_APP">%2$s</xliff:g> per gestire le connessioni di rete?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Utilizzare <xliff:g id="NEW_APP">%s</xliff:g> per gestire le connessioni di rete?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operatore SIM sconosciuto"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Nessun sito web di provisioning per <xliff:g id="OPERATOR">%1$s</xliff:g>"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Inserisci la scheda SIM e riavvia"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Connettiti a Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Richieste di posizione recenti"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Posizione per profilo di lavoro"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Autorizzazioni per la posizione"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Cancella accesso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controlli"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forza interruzione"</string>
+    <string name="archive" msgid="9074663845068632127">"Archivia"</string>
+    <string name="restore" msgid="7622486640713967157">"Ripristina"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Ripristino in corso"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Ripristino in corso."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Ripristino in corso…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Ripristino in corso…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Totale"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Dimensioni app"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"App in archivio USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Impossibile calcolare le dimensioni del pacchetto."</string>
     <string name="version_text" msgid="7628938665256107608">"versione <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Sposta"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiviazione non riuscita"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"App <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> archiviata"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Ripristino non riuscito"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Ripristino di <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> in corso…"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"È già in corso un\'altra migrazione."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Spazio di archiviazione insufficiente."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"L\'applicazione non esiste."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tastiera sullo schermo disponibile"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gestisci tastiere sullo schermo"</string>
     <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="6922850403920596246">"Abilita i tasti rimbalzati per l\'accessibilità della tastiera fisica"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Tasti lenti"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Abilita i tasti lenti per l\'accessibilità della tastiera fisica"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Tasti permanenti"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Abilita i tasti permanenti per l\'accessibilità della tastiera fisica"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Per più opzioni tocca l\'angolo destro in basso del touchpad"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocità del puntatore"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Impara i gesti con il touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Vai alla schermata Home"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Scorri in alto con 3 dita su un punto qualsiasi del touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Vai indietro"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordina per tempo di utilizzo"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordina per data ult. utilizzo"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordina per nome app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Data ultimo utilizzo:"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Ultimo utilizzo"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"mai"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Tempo di utilizzo"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibilità"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Impostazioni di accessibilità"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ingrandisci con triplo tocco"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ingrandisci con scorciatoia"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ingrandisci con scorciatoia e triplo tocco"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Informazioni su <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usa il pulsante Accessibilità per aprire"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Tieni premuti i tasti del volume per aprire"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tocca tre volte lo schermo per aprire"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Tocca due volte lo schermo con due dita per aprire"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usa un gesto per aprire"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usa il gesto di accessibilità"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Per usare questa funzione, tocca il pulsante Accessibilità <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nella parte inferiore dello schermo.\n\nPer spostarti tra le funzioni, tocca e tieni premuto il pulsante Accessibilità."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Per usare questa funzione, tocca il pulsante Accessibilità sullo schermo."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Per usare questa funzionalità, tieni premuti entrambi i tasti del volume."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Per avviare e interrompere l\'ingrandimento, tocca tre volte un punto qualsiasi dello schermo."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Per avviare e interrompere l\'ingrandimento, tocca due volte un punto dello schermo con due dita."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Per usare questa funzione, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con due dita e tieni premuto."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Per usare questa funzione, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con tre dita e tieni premuto."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Per usare una funzione di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con due dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con due dita e tieni premuto."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Per usare una funzione di accessibilità, scorri verso l\'alto dalla parte inferiore dello schermo con tre dita.\n\nPer spostarti tra le funzioni, scorri verso l\'alto con tre dita e tieni premuto."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Impost. pulsante Accessibilità"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Impostazioni pulsante"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Scorciatoia <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Pulsante Accessibilità"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto di accessibilità"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tieni premuti i tasti del volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tieni premuti i 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tocca due volte lo schermo con due 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="6863958573135995927">"tocca tre volte lo schermo"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Scopri di più sul gesto e sul pulsante Accessibilità"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Viene usato il pulsante Accessibilità. Gesto non disponibile con la navigazione con tre pulsanti."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accedi rapidamente alle funzioni di accessibilità"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Per iniziare"</b>\n"1. Vai alle impostazioni di accessibilità\n2. Seleziona una funzione e tocca la scorciatoia\n3. Scegli se vuoi utilizzare un pulsante o un gesto per accedere alla funzione"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Per iniziare"</b>\n"1. Vai alle impostazioni di accessibilità\n2. Seleziona una funzione e tocca la scorciatoia\n3. Scegli il pulsante per accedere alla funzione"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Per iniziare&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Vai alle impostazioni di accessibilità.&lt;br/&gt; {1,number,integer}. Seleziona una funzionalità e tocca la scorciatoia.&lt;br/&gt; {2,number,integer}. Scegli se vuoi utilizzare un pulsante o un gesto per accedere alla funzionalità.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Per iniziare&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Vai alle impostazioni di accessibilità.&lt;br/&gt; {1,number,integer}. Seleziona una funzionalità e tocca la scorciatoia.&lt;br/&gt; {2,number,integer}. Scegli il pulsante per accedere alla funzionalità.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Usa pulsante o gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Posizione"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Dimensioni"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Chiudi chiamata con tasto accensione"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Puntatore del mouse grande"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Rendi più visibile il puntatore del mouse"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Applica tema scuro a tutte le app"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Si applica ad app prive di un tema scuro. Potrebbero verificarsi problemi, ad es. colori invertiti."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Rimuovi le animazioni"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Riduci il movimento sullo schermo"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio in formato mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Usa vibrazione e feedback aptico"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibrazione sveglie"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibrazione contenuti multimediali"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibrazione tastiera"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrazione squillo"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrazione notifiche"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback al tocco"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Interrompi"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annulla"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Interrompere <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Se tocchi <xliff:g id="STOP">%1$s</xliff:g>, il servizio <xliff:g id="SERVICE">%2$s</xliff:g> verrà interrotto."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Disattiva"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Tieni on"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vuoi disattivare <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nessun servizio installato"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nessun servizio selezionato"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nessuna descrizione fornita."</string>
     <string name="settings_button" msgid="2195468788019730377">"Impostazioni"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilità alla luce, fotofobia, tema scuro, emicrania, mal di testa, modalità di lettura, modalità notturna, ridurre la luminosità, punto di bianco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"facilità d\'uso, facilità di accesso, assistenza, assistivo"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vista, udito, cieco, sordo, motorie, mobilità, assistivo, assistenza, facilità di utilizzo, facilità di accesso, mano, aiuto"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ingrandimento della finestra, zoom, ingrandimento, ipovedente, ingrandimento, ingrandire"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"sottotitoli codificati, sottotitolaggio codificato, CC, Trascrizione Istantanea, problemi di udito, perdita dell\'udito, CART, conversione della voce in testo, sottotitolo"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contrasto di colore"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motore, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"apparecchi acustici, disabilità uditiva, perdita dell\'udito, impianti cocleari, dispositivi di amplificazione, processori del suono"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorie, mouse, mouse esterno, head mouse, mouse adattivo, sedia a rotelle, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"apparecchi acustici, disabilità uditiva, perdita dell\'udito, impianti cocleari, dispositivi di amplificazione, processori del suono, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"problemi di udito, perdita dell\'udito, sottotitoli, teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tre pulsanti"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"mobilità, motorie, anziani, artrite, lsr, ictus, tremore, sclerosi multipla, paralisi cerebrale, tremolio, lesioni da sforzo ripetuto, mano"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ritardo, mobilità, anziani"</string>
     <string name="print_settings" msgid="8519810615863882491">"Stampa"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Off"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 servizio di stampa attivo}other{# servizi di stampa attivi}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> rimanenti"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> alla ricarica"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tempo di utilizzo"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tempo in background"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Batteria in esaurimento"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Consenti l\'esecuzione in background dell\'app"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limitare l\'attività in background?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se limiti l\'attività in background per un\'app, tale app potrebbe funzionare in modo anomalo"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Per limitare l\'app,\n\ndevi prima attivare l\'ottimizzazione della batteria."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestisci l\'utilizzo della batteria"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Consenti l\'utilizzo in background"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Attiva per ricevere aggiornamenti in tempo reale, disattiva per risparmiare batteria"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Senza limitazioni"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Ottimizzato"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Con limitazioni"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Scopri le app con il massimo utilizzo"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Ricarica ottimizzata per proteggere la batteria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Per contribuire a prolungare la durata della batteria, la ricarica viene ottimizzata"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Ricarica ottimizzata per proteggere la batteria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Per prolungare la durata della batteria, la ricarica viene ottimizzata quando il dispositivo è agganciato alla base"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Ricarica ottimizzata per proteggere la batteria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Per prolungare la durata della batteria, la ricarica viene ottimizzata quando il dispositivo è agganciato al dock"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Ricarica completa"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Per proteggere la batteria, la ricarica verrà ottimizzata la prossima volta che il tablet verrà agganciato al dock"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Scopri di più sulla ricarica in pausa"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Riprendi la ricarica"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Include attività in background a consumo elevato"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Questa app potrà usare la batteria in background. La batteria potrebbe esaurirsi prima del previsto."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Rimuovi"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annulla"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Carica completamente"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema relativo all\'accessorio di ricarica"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Controlla l\'accessorio di ricarica"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Scopri di più sulla ricarica con un alimentatore non compatibile"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gestione batteria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestisci le app automaticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"dall\'ultima ricarica completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"App di sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"App disinstallate"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Altro"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tempo residuo stimato"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Tempo rimanente alla carica completa"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Totale: meno di un minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"In background: meno di un minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tempo di utilizzo: meno di un min"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Meno di un min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Totale: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"In background: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tempo di utilizzo: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Grafico sull\'utilizzo della batteria"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafico sull\'utilizzo della batteria giornaliero"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafico sull\'utilizzo della batteria orario"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Percentuale del livello della batteria da <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> a <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Utilizzo della batteria dall\'ultima ricarica completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Utilizzo della batteria nel periodo <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tempo di utilizzo dall\'ultima ricarica completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Segnale chiamata di emergenza"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Imposta il comportamento in caso di chiamata di emergenza"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"On"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Off"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup e ripristino"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dati personali"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Backup dei miei dati"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dati mobili e Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizza automaticamente dati personali"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronizza automaticamente dati di lavoro"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sinc. auto dei dati privati"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Cambia ciclo…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Giorno del mese in cui reimpostare ciclo di utilizzo dei dati:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nessuna app ha utilizzato dati in questo periodo."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Indirizzo server"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Crittografia PPP  (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segreto L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificatore IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Chiave pre-condivisa IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificato IPSec dell\'utente"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificato CA per IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificato server IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostra opzioni avanzate"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domini di ricerca DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Server DNS (ad es. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Route di inoltro (ad es. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nome utente"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Password"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Salva informazioni account"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(non utilizzato)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(non eseguire verifica server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ricevuto dal server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Questo tipo di VPN non può rimanere sempre connesso"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"La VPN sempre attiva supporta solo gli indirizzi server numerici"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Specificare un server DNS per la VPN sempre attiva"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Gli indirizzi dei server DNS devono essere numerici per la VPN sempre attiva"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Le informazioni inserite non supportano la VPN sempre attiva"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Annulla"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Chiudi"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blocca connessioni senza VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Connessione VPN obbligatoria?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Tipo non sicuro. Usa una VPN IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Impossibile avviare la VPN non supportata."</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="vpn_lockdown_none" msgid="455915403560910517">"Nessuna"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"La VPN sempre attiva richiede un indirizzo IP per server e DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Allerte AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Ricevi bollettini su rapimenti di bambini"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ripeti"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Abilita Gestione chiamate"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Consenti al servizio di gestire come vengono eseguite le chiamate."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gestione chiamate"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Avvisi di emergenza wireless"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operatori di rete"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nomi punti di accesso"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Stato SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stato della SIM (slot SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM cambiate."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Le tue SIM sono state scambiate"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tocca per configurare"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Chiedi ogni volta"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Fai una scelta"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"App recenti, app predefinite"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"L\'accesso alle notifiche non è disponibile per le app nel profilo di lavoro."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Password e account"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Password salvate, compilazione automatica, account sincronizzati"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggerimenti per accesso e compilazione automatica"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"App predefinite"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"App clonate"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crea una seconda istanza di un\'app per poter usare due account contemporaneamente."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"paga, tocca, pagamenti"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"viso, sblocco, autenticazione, accesso"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"volto, sblocco, autenticazione, accesso, impronta, biometrico"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versione prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"dimensioni del testo, stampa grande, carattere grande, testo grande, ipovedente, ingrandimento del testo, ingranditore di carattere, ingrandimento di carattere"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"display Ambient sempre acceso, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, lettore"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastiera, tecnologia aptica, vibrazione,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibrazione, Non disturbare"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume contenuti multimediali"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume di trasmissione"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Attiva suoni"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Sottotitoli in tempo reale"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Sottotitoli codificati automatici"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altoparlanti smartphone"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Altoparlanti tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Speaker dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Cuffie con cavo"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"L\'audio dei dispositivi multimediali compatibili diventa più immersivo"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Off"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostra tutti i contenuti delle notifiche"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostra contenuti sensibili solo se sbloccato"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Non mostrare le notifiche"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Cosa vuoi visualizzare sulla schermata di blocco?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Cosa vuoi che mostri la tua schermata di blocco?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Schermata di blocco"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostra tutti i contenuti delle notifiche di lavoro"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Nascondi contenuti di lavoro sensibili"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Conversazioni recenti rimosse"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversazione rimossa"</string>
     <string name="clear" msgid="5092178335409471100">"Cancella"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Cancella <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Le conversazioni prioritarie e modificate appariranno qui"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Le conversazioni che contrassegni come prioritarie o a cui apporti altre modifiche verranno visualizzate qui. \n\nPer modificare le impostazioni relative alle conversazioni: \nscorri verso il basso dalla parte superiore dello schermo per aprire l\'area a discesa, quindi tocca e tieni premuta una conversazione."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Riduci"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Riduzione delle notifiche"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Applica la riduzione a tutte le notifiche"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Abbassa gradualmente il volume delle notifiche quando ricevi molte notifiche successive dalla stessa app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Applica la riduzione alle conversazioni"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Abbassa gradualmente il volume delle notifiche quando ricevi molti messaggi dalla stessa chat in un breve periodo di tempo"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Non usare la riduzione delle notifiche"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Non abbassare mai il volume delle notifiche, indipendentemente dalla quantità di notifiche successive provenienti dalla stessa app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibra quando sbloccato"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibra solo solo quando lo schermo è sbloccato"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Applica ai profili di lavoro"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Applica le impostazioni di riduzione delle notifiche dal profilo personale al profilo di lavoro"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servizi helper VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nessuna app installata ha richiesto di essere eseguita come servizio helper VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Consentire l\'accesso a <xliff:g id="SERVICE">%1$s</xliff:g> al servizio VR?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Off"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Blocco app su schermo"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"La funzionalità di blocco delle app su schermo ti consente di mantenere visibile l\'app in uso finché non decidi di sbloccarla. Questa funzionalità può essere usata, ad esempio, per consentire a un amico di cui ti fidi di giocare a un gioco specifico."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Un\'app bloccata potrebbe aprire altre app e i dati personali potrebbero essere accessibili. \n\nPer usare la funzionalità di blocco app su schermo: 	\n1. Attiva il blocco app su schermo. 	\n2. Apri Panoramica. 	\n3. Tocca l\'icona dell\'app nella parte superiore dello schermo, quindi tocca Blocca."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Un\'app bloccata potrebbe aprire altre app e i dati personali potrebbero essere accessibili. \n\nSe vuoi condividere il tuo dispositivo con qualcuno in modo sicuro, prova a usare invece un utente ospite. \n\nPer usare la funzionalità di blocco app su schermo: 	\n1. Attiva il blocco app su schermo. 	\n2. Apri Panoramica. 	\n3. Tocca l\'icona dell\'app nella parte superiore dello schermo, quindi tocca Blocca."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Un\'app bloccata potrebbe aprire altre app e i dati personali potrebbero essere accessibili. \n\nPer usare la funzionalità di blocco app su schermo: 	\n{0,number,integer}. Attiva il blocco app su schermo. 	\n{1,number,integer}. Apri Panoramica. 	\n{2,number,integer}. Tocca l\'icona dell\'app nella parte superiore dello schermo, quindi tocca Blocca."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Un\'app bloccata potrebbe aprire altre app e i dati personali potrebbero essere accessibili. \n\nSe vuoi condividere il tuo dispositivo con qualcuno in modo sicuro, prova a usare invece un utente ospite. \n\nPer usare la funzionalità di blocco app su schermo: 	\n{0,number,integer}. Attiva il blocco app su schermo. 	\n{1,number,integer}. Apri Panoramica. 	\n{2,number,integer}. Tocca l\'icona dell\'app nella parte superiore dello schermo, quindi tocca Blocca."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Quando un\'app è bloccata su schermo: \n\n•		I dati personali potrebbero essere accessibili (ad esempio i contatti o i contenuti delle email) \n\n•		Le app bloccate potrebbero aprire altre app \n\nUtilizza il blocco app su schermo solo con persone di cui ti fidi."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Richiedi sequenza prima di sbloccare"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Richiedi il PIN per lo sblocco"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Richiedi password prima di sbloccare"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Blocca dispositivo dopo lo sblocco app"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Conferma eliminazione della SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Conferma che vuoi resettare la tua eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifica la tua identità prima di resettare una eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protezione avanzata della memoria beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protezione avanzata della memoria"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Impostazioni app inutilizzate"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Sospendi attività app se inutilizzata"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Rimuovi le autorizzazioni, elimina i file temporanei e interrompi le notifiche"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gestisci l\'app se inutilizzata"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Rimuovi le autorizzazioni, elimina i file temporanei, interrompi le notifiche e archivia l\'app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Tutte le app"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"App installate"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"App istantanee"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Memoria disponibile"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memoria utilizzata dalle app"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app ha usato la memoria nell\'ultimo periodo di {time}}other{# app hanno usato la memoria nell\'ultimo periodo di {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Attiva profilazione memoria utilizzata"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"La profilazione della memoria utilizzata richiede risorse di sistema aggiuntive."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilazione della memoria disattivata"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequenza"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Utilizzo massimo"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nessun utilizzo dati"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Mostra sopra altre app"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Consenti la visualizzazione sopra altre app"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Consenti di mostrare questa app sopra le altre app in uso. Questa app potrà rilevare dove tocchi o cambiare gli elementi visualizzati sullo schermo."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Cambia uscita conten. multim."</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Consenti ad app cambio uscita conten. multim."</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Consenti a questa app di scegliere quale dispositivo collegato riproduce l\'audio o il video di altre app. Se lo consenti, questa app può accedere a un elenco di dispositivi disponibili, come cuffie e speaker, e scegliere quale dispositivo di output utilizzare per lo streaming o la trasmissione di audio o video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Accesso a tutti i file"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Consenti l\'accesso per gestire tutti i file"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Consenti a questa app di leggere, modificare ed eliminare tutti i file memorizzati su questo dispositivo o su qualsiasi volume di archiviazione collegato. Se concedi l\'autorizzazione, l\'app potrà accedere ai file senza informarti."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Possono accedere a tutti i file"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"App ad attivazione vocale"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Consenti attivazione vocale"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"L\'attivazione vocale attiva app approvate con la tua voce utilizzando i comandi vocali. Il rilevamento adattivo incorporato assicura che i dati rimangano privati.\n\n"<a href="">"Maggiori informazioni sul rilevamento adattivo protetto"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notifiche a schermo intero"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Consenti notifiche a schermo intero di questa app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Consenti a questa app di mostrare notifiche a schermo intero quando il dispositivo è bloccato. L\'app potrebbe usarle per mettere in evidenza sveglie, chiamate in arrivo o altre notifiche urgenti."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Avviso sui dati: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limite dati: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Avviso relativo ai dati: <xliff:g id="ID_1">^1</xliff:g> / Limite dati: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"La misurazione dell\'operatore potrebbe differire da quella del dispositivo"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Sono esclusi i dati usati dalle reti dell\'operatore"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Dati utilizzati: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Imposta avviso sui dati"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Aggiornato <xliff:g id="ID_1">^2</xliff:g> fa"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Appena aggiornato da <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Appena aggiornato"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Visualizza piano"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Visualizza dettagli"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Risparmio dati"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dati senza limitazioni"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha utilizzato più batteria del solito in background"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha utilizzato più batteria in primo piano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ha utilizzato più batteria del solito in primo piano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia dell\'utilizzo della batteria"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Elevato utilizzo della batteria"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Elevato utilizzo della batteria in background"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Elevato utilizzo della batteria in primo piano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Riquadri sviluppatore per impostazioni rapide"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Disattiva timeout autorizzazione ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Disattiva la revoca automatica delle autorizzazioni ADB per i sistemi che non si sono riconnessi entro l\'intervallo di tempo configurato dall\'utente (minimo 1 giorno) o predefinito (7 giorni)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Traccia Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensori disattivati"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Impostazioni profilo di lavoro"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Cerca contatti della directory di lavoro nelle app personali"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigazione del sistema, navigazione con due pulsanti, navigazione con tre pulsanti, navigazione tramite gesti, scorrimento"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digitale"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Scorri per aprire l\'assistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Scorri verso l\'alto da un angolo in basso per aprire l\'app dell\'assistente digitale."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Scorri verso l\'alto da un angolo in basso per aprire l\'app dell\'assistente digitale"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Tieni premuto Home per attivare l\'assistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tieni premuto il pulsante Home per aprire l\'app dell\'assistente digitale."</string>
     <string name="low_label" msgid="6525629096999711220">"Bassa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Servizio di compilazione automatica"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Servizio di compilazione automatica predefinito"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Password"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Servizi per password, passkey e dati"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Provider aggiuntivi"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Servizio preferito"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Servizi aggiuntivi"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# password}other{# password}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatica, compilazione, compilazione automatica, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dati, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatica, compilazione, compilazione automatica, dati, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Cambia"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Apri"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nessun elemento selezionato"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Verifica che questa app sia attendibile&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=La Compilazione automatica di Google&gt;%1$s&lt;/xliff:g&gt; usa ciò che appare sullo schermo per stabilire quali contenuti possono essere compilati automaticamente."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Utilizzare &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; utilizza i contenuti sullo schermo per stabilire quali informazioni possono essere compilate automaticamente. D\'ora in poi le nuove password, passkey e altre informazioni verranno salvate qui."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Servizi per password, passkey e dati"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Usa &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; D\'ora in poi, nuove password, passkey e altre informazioni verranno salvate qui. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; potrebbe usare i contenuti sullo schermo per stabilire quali informazioni possono essere compilate automaticamente."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Servizio preferito per password, passkey e compilazione automatica"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vuoi disattivare %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Disattivare questo servizio?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Le informazioni salvate come password, passkey, metodi di pagamento e altre informazioni, non verranno inserite quando accedi. Per usare le informazioni salvate, scegli una password, una passkey o un servizio dati."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Password, passkey e compilaz. automatica"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Disattiva tutti i servizi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Password, passkey e altre informazioni salvate potrebbero non essere disponibili quando esegui l\'accesso"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Modifica il tuo servizio preferito in &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; D\'ora in poi, nuove password, passkey e altre informazioni verranno salvate qui. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; potrebbe usare i contenuti sullo schermo per stabilire quali informazioni possono essere compilate automaticamente"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Vuoi usare %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Disattiva"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Cambia"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Puoi attivare solo 5 servizi"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Disattiva almeno 1 servizio per aggiungerne un altro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s usa i contenuti sullo schermo per stabilire quali informazioni possono essere compilate automaticamente."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limite di servizi per password, passkey e dati"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Puoi attivare contemporaneamente fino a 5 servizi per password, passkey e dati. Per aggiungere un altro servizio devi disattivarne uno."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limite di servizi per password, passkey e dati"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Puoi attivare contemporaneamente fino a 5 servizi per password, passkey e dati. Per aggiungere un altro servizio devi disattivarne uno."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Disattiva"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Compilazione automatica"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Livello di logging"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Le modifiche alla compatibilità delle app possono essere cambiate solo per le app di cui è possibile eseguire il debug. Installa un\'app di cui è possibile eseguire il debug e riprova."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Dipende da un\'altra impostazione"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d account"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nome dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informazioni di base"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Note legali e informazioni sulle normative"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Consenti l\'avvio di questa app quando viene rilevato un tag NFC.\nSe questa autorizzazione viene attivata, l\'app sarà disponibile sotto forma di opzione ogni volta che verrà rilevato un tag."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Riproduci contenuti multimediali su"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Riproduci <xliff:g id="LABEL">%s</xliff:g> su"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"L\'audio verrà riprodotto su"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Questo dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Non disponibile durante le chiamate"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Rispondi alle chiamate su"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Silenzia"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Per procedere con l\'attivazione, devi prima modificare l\'opzione \"Tieni premuto il tasto di accensione\" impostandola sul menu del tasto di accensione."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Dettagli rete"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Il nome del tuo dispositivo è visibile alle app installate sul telefono. 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="devices_title" msgid="649715719278562515">"Dispositivi"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Scegli rete"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Scollegato"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nome"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Colore (usato da app compatibili)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Salva"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Utilizza SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usa questa SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Off"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Per disattivare questa scheda SIM, rimuovila"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tocca per attivare <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Elimina SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Per disattivare questa SIM, rimuovi la scheda SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tocca per attivare la SIM <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Resetta eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo di rete preferito"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Cambia la modalità di funzionamento della rete"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo di rete preferito"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Verifica i costi con il tuo fornitore di rete."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Utilizzo dati delle app"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modalità di rete <xliff:g id="NETWORKMODEID">%1$d</xliff:g> non valida. Ignora."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Messaggistica satellitare"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Invia e ricevi messaggi via satellite. Disponibile con il tuo account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Invia e ricevi messaggi via satellite. Non disponibile con il tuo account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Messaggistica satellitare"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Informazioni sulla messaggistica satellitare"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Puoi scambiare messaggi via satellite come parte di un account <xliff:g id="CARRIER_NAME">%1$s</xliff:g> idoneo"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Il tuo piano di <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"La messaggistica satellitare è inclusa nel tuo account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"La messaggistica satellitare non è inclusa nel tuo account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Aggiungi la messaggistica satellitare"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Come funziona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Se non disponi di una rete mobile"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Lo smartphone si connetterà automaticamente a un satellite. Per ottenere la migliore connessione possibile, mantieni una visuale sgombra del cielo."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Dopo che lo smartphone si è connesso a un satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Puoi inviare un messaggio a chiunque, anche ai servizi di emergenza. Quando sarà disponibile, lo smartphone si riconnetterà a una rete mobile."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"La messaggistica satellitare potrebbe essere più lenta ed essere disponibile solo in alcune zone. Il meteo e determinate strutture potrebbero influire sulla connessione satellitare. Le chiamate via satellite non sono disponibili.\n\nPotrebbe passare del tempo prima che le modifiche al tuo account siano visibili nelle Impostazioni. Contatta <xliff:g id="CARRIER_NAME">%1$s</xliff:g> per maggiori dettagli."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Scopri di più sulla messaggistica satellitare"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomi punti di accesso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Non disponibile se è attiva la connessione a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vuoi passare a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vuoi passare alla scheda SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Vuoi utilizzare <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"È possibile attivare una sola SIM alla volta.\n\nIl passaggio a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> non annullerà il servizio di <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"È possibile attivare una sola eSIM alla volta.\n\nIl passaggio a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> non annullerà il servizio di <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"È possibile attivare una sola SIM alla volta.\n\nIl passaggio non annullerà il servizio di <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"È possibile attivare 1 sola SIM alla volta.\n\nIl passaggio a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> non annullerà il servizio di <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"È possibile attivare 1 sola eSIM alla volta.\n\nIl passaggio a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> non annullerà il servizio di <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"È possibile attivare 1 sola SIM alla volta.\n\nIl passaggio non annullerà il servizio di <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Puoi utilizzare 2 SIM contemporaneamente. Per utilizzare <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, disattiva l\'altra SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Passa a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Disattiva <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"La disattivazione di una SIM non comporterà l\'annullamento del servizio"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Connessione alla rete…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Passaggio a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> per chiamate e messaggi in corso…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Impossibile passare a un altro operatore"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Impossibile passare a un altro operatore a causa di un errore."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Attivazione della SIM in corso…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Passaggio a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> in corso…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Impossibile passare da una SIM all\'altra"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Si è verificato un problema. Impossibile passare da una SIM all\'altra."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vuoi disattivare <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vuoi disattivare la SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Disattivazione SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Impossibile disattivare l\'operatore"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Si è verificato un problema; impossibile disattivare l\'operatore."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Impossibile disattivare la SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Si è verificato un problema e non è stato possibile disattivare la tua SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Vuoi usare due SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Questo dispositivo può avere due SIM attive contemporaneamente. Per continuare a utilizzare una sola SIM alla volta, tocca \"No grazie\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Vuoi riavviare il dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"No, grazie"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annulla"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Cambia"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Disattiva"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Impossibile attivare la SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Riprova ad attivare la SIM. Se il problema persiste, riavvia il dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configura la SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Imposta le preferenze per la rete mobile in modo da utilizzare più SIM su questo dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etichetta le tue SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Vedrai queste etichette quando effettui chiamate, invii SMS, usi i dati e in Impostazioni"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etichetta SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etichetta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Seleziona quali SIM utilizzare"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Puoi utilizzare 2 SIM contemporaneamente"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Imposta le tue SIM principali"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Scegli quali SIM utilizzare per impostazione predefinita per chiamate, SMS e dati"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Le tue SIM principali"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Chiamate"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Passaggio dati automatico"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Utilizza i dati di entrambe le SIM in base alla copertura e alla disponibilità"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Solo dati"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configura"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Avanti"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Attivazione di <xliff:g id="CARRIER_NAME">%1$s</xliff:g> in corso…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rete mobile"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Numero di telefono"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Etichetta e colore della SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Attivazione della rete"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Cambio di operatore in corso…"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"L\'operatore <xliff:g id="CARRIER_NAME">%1$s</xliff:g> è attivo"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"La tua SIM <xliff:g id="CARRIER_NAME">%1$s</xliff:g> è attiva"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tocca per aggiornare le impostazioni della SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Passaggio a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> effettuato"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Passaggio a un altro operatore effettuato"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Rete mobile modificata"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configura l\'altra SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Scegli la SIM attiva o usa due SIM contemporaneamente"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Scegli un numero da utilizzare"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{È disponibile 1 numero su questo dispositivo, ma è possibile usarne solo uno alla volta}=2{Sono disponibili 2 numeri su questo dispositivo, ma è possibile usarne solo uno alla volta}other{Sono disponibili # numeri su questo dispositivo, ma è possibile usarne solo uno alla volta}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Attivazione in corso<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Al momento non è possibile attivarlo"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Scegli una SIM da usare"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{È disponibile 1 SIM su questo dispositivo, ma è possibile usarne solo una alla volta}=2{Sono disponibili 2 SIM su questo dispositivo, ma è possibile usarne solo una alla volta}other{Sono disponibili # SIM su questo dispositivo, ma è possibile usarne solo una alla volta}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Attivazione in corso<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Impossibile attivare questa SIM adesso"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Vuoi usare <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Verrà usato <xliff:g id="CARRIER_NAME">%1$s</xliff:g> per i dati mobili, le chiamate e gli SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nessuna SIM attiva disponibile"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Per utilizzare i dati mobili, le funzionalità di chiamata e gli SMS in un secondo momento, vai alle impostazioni di rete"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vuoi resettare questa eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Se elimini questa SIM, il servizio di <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> verrà rimosso da questo dispositivo.\n\nIl servizio di <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> non verrà annullato."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Questa operazione rimuove il servizio di <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> dal dispositivo, ma il tuo piano di <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> non sarà annullato."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Elimina"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Reset della SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Impossibile resettare la SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Questa SIM non può essere resettata a causa di un errore.\n\nRiavvia il dispositivo e riprova."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Reset dell\'eSIM in corso…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Impossibile resettare l\'eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Si è verificato un problema e questa eSIM non è stata resettata.\n\nRiavvia il dispositivo e riprova."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Connessione al dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"L\'app <xliff:g id="APPNAME">%1$s</xliff:g> vorrebbe usare una rete Wi-Fi temporanea per connettersi al tuo dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nessun dispositivo trovato. Assicurati che i dispositivi siano accesi e disponibili per la connessione."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Chiamate di emergenza"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Le chiamate di emergenza tramite Chiamate Wi-Fi non sono supportate dal tuo operatore.\nIl dispositivo passa automaticamente a una rete dati per fare una chiamata di emergenza.\nÈ possibile fare chiamate di emergenza soltanto in zone con copertura mobile."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Utilizza il Wi-Fi per migliorare la qualità delle chiamate"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Chiamate di backup"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Se <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> non è disponibile o è in roaming, usa la SIM di dati mobili per effettuare chiamate tramite <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"chiamate di backup"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Messaggio MMS in arrivo"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Impossibile inviare messaggio MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tocca per consentire i messaggi MMS su <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> quando i dati mobili non sono attivi"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informazioni sulle norme di lavoro"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Impostazioni gestite dall\'amministratore IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Avvia con dimensione pagina di 16 K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Avvia con un kernel per dimensione pagina di 16 K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Vuoi riavviare con un kernel compatibile con pagine da 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVVISO: alcune applicazioni potrebbero non essere compatibili con questa modalità. Il dispositivo verrà riavviato dopo la conferma."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Vuoi riavviare con un kernel compatibile con pagine da 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Il dispositivo verrà riavviato dopo la conferma."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Impossibile aggiornare il kernel alla versione compatibile con pagine da 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Applicazione della modifica in corso…"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Gestore segnalazione di bug"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Consente di stabilire quale app gestisce la scorciatoia per la segnalazione di bug sul dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personale"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Consenti alle app visualizzabili sopra altre app di sovrapporre le schermate Impostazioni"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Consenti modem fittizio"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Consenti a questo dispositivo di eseguire il servizio di modem fittizio per i test di strumentazione; non attivare durante il normale utilizzo del telefono"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Disattiva protezioni condivisione schermo"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Disattiva le protezioni relative a notifiche ed app applicate dal sistema durante la condivisione schermo"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Contenuti multimediali"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Blocca media player sullo schermo"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Per riprendere velocemente la riproduzione, il media player rimane aperto nelle Impostazioni rapide"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostra contenuti multimediali nella schermata di blocco"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Per riprendere velocemente la riproduzione, il media player rimane aperto nella schermata di blocco"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostra consigli relativi a contenuti multimediali"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostra consigli di contenuti multimediali con l\'assistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"In base alle tue attività"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Nascondi player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostra player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"contenuti multimediali"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Consenti le estensioni software della fotocamera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Abilita l\'implementazione software predefinita delle funzionalità avanzate della fotocamera, come l\'estensione Eyes Free per i video."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Verrà attivato il Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Attiva"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Non attiva"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"On"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Off"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Predefinita per: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"chiamate"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"L\'audio dei dispositivi multimediali compatibili diventa più immersivo"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Rilevamento dei movimenti della testa"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"L\'audio cambia in base ai movimenti della testa per sembrare più naturale"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Autorizzazioni di sincronizzazione"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Fornisci a <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> le stesse autorizzazioni app concesse su questo <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizzare le autorizzazioni dal telefono"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Fornisci all\'orologio le stesse autorizzazioni app concesse su questo telefono"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo di dispositivo audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Sconosciuto"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Altoparlante"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Questa app può essere aperta soltanto in 1 finestra"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"On"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Off"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Off"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Off"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"On"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Off"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"On"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Off"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Rende gli schermi chiari in scuri e gli schermi scuri in chiari"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Aumenta lo zoom sullo schermo"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Off"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Off"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scansione delle app ingannevoli"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Controlla l\'attività delle app per verificare la presenza di phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usa la scansione delle app ingannevoli"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usa la scansione delle app ingannevoli per il lavoro"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"La password non è impostata"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostra il puntatore mentre passi il mouse sopra"</string>
 </resources>
diff --git a/res/values-iw/arrays.xml b/res/values-iw/arrays.xml
index 9d016bb..3419f7f 100644
--- a/res/values-iw/arrays.xml
+++ b/res/values-iw/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"זמין"</item>
     <item msgid="6096962300722555553">"מחוץ לטווח"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"מצב מושבת"</item>
+    <item msgid="7781484297606806796">"חד-נתיב"</item>
+    <item msgid="6667451574264144311">"חד-נתיב ורחב-נתיב"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"שימוש בברירת המחדל של המערכת: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"לאחר דקה אחת"</item>
     <item msgid="1574040255478150028">"לאחר 5 דקות"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-iw/strings.xml b/res/values-iw/strings.xml
index 0abff6a..ac3266c 100644
--- a/res/values-iw/strings.xml
+++ b/res/values-iw/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"הוגדרת כמפתח!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"אין צורך, כבר הוגדרת כמפתח/ת."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"קודם עליך להפעיל את אפשרויות המפתח."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"רק משתמשים עם הרשאת אדמין יכולים לגשת להגדרות המפתח."</string>
     <string name="header_category_system" msgid="1665516346845259058">"מערכת"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"בשירות"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"לא תקין"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"המסך החיצוני מופעל כשמקפלים את המכשיר"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"רק משחקים, סרטונים ועוד"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"המסך החיצוני מופעל בשביל אפליקציות שנעצרות במצב בו המסך נכבה בעקבות חוסר פעילות"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"מחליקים למעלה כדי להמשיך"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"מקפלים את הטלפון ומחליקים כלפי מעלה במסך החיצוני כדי להמשיך להשתמש באפליקציה, או ממתינים כמה שניות עד שהמסך יינעל"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"אף פעם"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"המסך החיצוני ננעל כשמקפלים את המכשיר"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"שימוש בסיבוב האוטומטי"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"קשורים"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"רינגטון ושעונים מעוררים"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"אודיו במהלך שיחות"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"מדיה"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"התראות וצלילי מערכת אחרים"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"צלילי מדיה ומערכת"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"התראות"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"כברירת מחדל, פלט האודיו נקבע על ידי כל אפליקציה בנפרד"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"‏מכשיר Bluetooth ללא שם"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"מתבצע חיפוש"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ביטול"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"‏השבתה של Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"‏האפשרות הזו משביתה את התכונה Bluetooth LE Audio אם המכשיר תומך ביכולות חומרה של LE audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"‏מצב Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"‏הצגת המתג של LE audio בפרטי המכשיר"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"‏הפעלה של רשימת ההרשאות של Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"‏הפעלה של התכונה רשימת ההרשאות של Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"‏מעקף רשימת ההיתרים של Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"‏שימוש ב-LE Audio כברירת מחדל גם אם הציוד ההיקפי של ה-LE Audio לא אומת כעומד בקריטריונים של רשימת ההיתרים."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"מכשירים לאחסון מדיה"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"מכשירי התקשרות"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"מכשירים אחרים"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"מכשירים שמורים"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"מקושר לחשבון"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"נעשה שימוש לאחרונה בחשבון"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"‏Bluetooth יופעל לצורך התאמה"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"העדפות חיבור"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"מכשירים שחוברו בעבר"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"‏Bluetooth הופעל"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"הצגת כל המכשירים"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"הצגת הכול"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"סטיילוס"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"לחיצה על הלחצן האחורי"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (פרופיל העבודה)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"כתיבה בשדות טקסט"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"התעלמות מכל הלחיצות של הסטיילוס"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"סטיילוס"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"שיתוף של אודיו"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"שיתוף האודיו"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"שיחות והתראות"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"‏חיבור לשידור אודיו באמצעות קוד QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"לא נמצאו שידורי אודיו בקרבת מקום."</string>
     <string name="date_and_time" msgid="1788358029823431692">"תאריך ושעה"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"‏שרת Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ניקוי"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"‏להוסיף את %s לשפות המועדפות?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"כך אפליקציות ואתרים יכולים לדעת שזוהי השפה המועדפת עליך."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"הגדרות המכשיר והעדפות הפורמט והמידות שלך ישתנו."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"שינוי"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"‏%s לא זמינה"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"שבת"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"אם אפליקציה כלשהי לא תומכת בהעדפות הפורמט והמידות, השפה והאזור ייקבעו לפי ברירות המחדל של האפליקציה הזו."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"מידע נוסף על העדפות השפה"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"העדפות נוספות"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"אופן הפנייה"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"איך היית רוצה שנפנה אליך?"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"אפליקציות יכולות להשתמש באופן הפנייה שלך כדי להתאים אישית את האופן שבו יפנו אליך."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"לא רוצה להגדיר"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"נקבה"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"זכר"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ניטרלי"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{להסיר את השפה שנבחרה?}one{להסיר את השפות שנבחרו?}two{להסיר את השפות שנבחרו?}other{להסיר את השפות שנבחרו?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"הטקסט יוצג בשפה אחרת."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"לא ניתן להסיר את כל השפות"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"מיקום"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"שימוש במיקום"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"כבוי"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{פועל – לאפליקציה אחת (#) יש גישה למיקום}one{פועל – ל-# אפליקציות יש גישה למיקום}two{פועל – ל-# אפליקציות יש גישה למיקום}other{פועל – ל-# אפליקציות יש גישה למיקום}}"</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_location_off" msgid="8568995909147566720">"הגישה למיקום מושבתת עבור אפליקציות ושירותים. אם מתקשרים למספר חירום או שולחים אליו הודעת טקסט, ייתכן שפרטי מיקום המכשיר יישלחו לצוותי חירום."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"למידע נוסף על הגדרות המיקום"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"מידע נוסף על הגדרות המיקום"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"‏כדי לשנות גישה למיקום, נכנסים ל\'הגדרות\' &gt; \'אבטחה ופרטיות\' &gt; \'אמצעי בקרה על פרטיות\'"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"חשבונות"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"אבטחה"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"הצפנה ופרטי כניסה"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"‏לקבלת התוצאות הטובות ביותר, כדאי להשתמש במגן מסך בעל אישור Made for Google. טביעת האצבע של הילד או הילדה עלולה לא לעבוד עם מגני מסך אחרים."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ביטול נעילה עם השעון"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"לאחר הגדרה של פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע, טביעת האצבע נדרשת בטלפון אם עוטים מסיכה או נמצאים באזור חשוך.\n\nאפשר לבטל את הנעילה עם השעון כשהפנים או טביעת האצבע לא מזוהים."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"אפשר לבטל את הנעילה עם השעון כשטביעת האצבע לא מזוהה."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"אפשר לבטל את הנעילה עם השעון כשהפנים לא מזוהים."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"לאחר הגדרה של פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע, תופיע בקשה בטלפון לבטל את הנעילה באמצעות טביעת אצבע אם עוטים מסיכה או נמצאים במקום חשוך.\n\nהתכונה \'ביטול נעילה עם השעון\' היא עוד דרך נוחה לבטל את הנעילה של הטלפון, למשל, אם האצבעות רטובות או הפנים לא מזוהות."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"התכונה \'ביטול נעילה עם השעון\' היא עוד דרך נוחה לבטל את הנעילה של הטלפון, למשל, אם טביעת האצבע לא מזוהה."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"התכונה \'ביטול נעילה עם השעון\' היא עוד דרך נוחה לבטל את הנעילה של הטלפון, למשל, אם הפנים לא מזוהות."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"שימוש בטביעת האצבע או בשעון לצורך"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"שימוש בזיהוי פנים או בשעון לצורך"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"שימוש בזיהוי פנים, בטביעת האצבע או בשעון לצורך"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"התכונה \'ביטול נעילה עם השעון\' היא עוד דרך נוחה לבטל את הנעילה של הטלפון, למשל, אם האצבעות שלך רטובות או שהפנים שלך לא מזוהות.\n\nאפשר להשתמש בשעון כדי לבטל את נעילת הטלפון כאשר:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"לא עכשיו"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"המשך"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"עוד"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"איך זה עובד"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"השעון צריך להיות פתוח, על פרק כף היד שלך וקרוב לטלפון. כשהשעון על פרק כף היד, לא צריך לבטל את הנעילה שלו שוב."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"כשמבטלים את הנעילה של הטלפון מקבלים התראה בשעון. אם הטלפון נפתח כשלא התכוונת, אפשר להקיש על ההתראה כדי לנעול אותו שוב."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"השליטה בידיים שלך"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"אפשר להסיר את השעון מהתכונה \'ביטול נעילה עם השעון\' בכל שלב בהגדרות"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"מקישים על התראה"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"מחליקים כלפי מעלה על מסך הנעילה"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"בחירת השעון"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"שעונים זמינים"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ביטול"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"אישור"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"הכול מוכן!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"עכשיו אפשר להשתמש בשעון כדי לבטל את נעילת הטלפון הזה כשמחליקים למעלה במסך הנעילה או כשמקישים על התראה"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"סיום"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ביטול נעילה עם השעון"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"אפשר להשתמש בשעון כדי לבטל את הנעילה של הטלפון הזה כשמחליקים למעלה במסך הנעילה או כשמקישים על התראה"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"כדי להשתמש בתכונה \'ביטול נעילה עם השעון\', השעון צריך להיות פתוח, על פרק כף היד שלך, בהישג יד ומחובר לטלפון הזה. אם החיבור נקטע, עליך לבטל את נעילת הטלפון כדי להשתמש בתכונה \'ביטול נעילה עם השעון\'.\n\nחשוב לזכור:\nניתן להגדיר רק שעון אחד בכל פעם. כדי להוסיף עוד שעון, קודם צריך להסיר את השעון הנוכחי."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"פתיחה ע\"י זיהוי הפנים וביטול הנעילה בטביעת אצבע בפרופיל העבודה"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"צריך להגדיר ביטול נעילה בעזרת מידע ביומטרי"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"אבטחה"</string>
     <string name="privacy_header" msgid="5526002421324257007">"פרטיות"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"פרופיל העבודה"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"המרחב הפרטי"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"נעילה והסתרה של אפליקציות פרטיות"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"שמירת אפליקציות פרטיות במרחב נפרד שאפשר להסתיר או לנעול"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"נעילה של המרחב הפרטי"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"אפשר לפתוח את המרחב הפרטי באותה דרך שפותחים את המכשיר או לבחור בשיטת נעילה אחרת"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"שימוש בשיטה לביטול נעילת המסך"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"פתיחה על ידי זיהוי הפנים וביטול הנעילה בטביעת אצבע"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ביטול הנעילה בטביעת אצבע"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"פתיחה ע\"י זיהוי הפנים"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"אפשר להקיש כדי להגדיר"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"הגדרת ביטול הנעילה בטביעת אצבע למרחב הפרטי"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"הגדרת פתיחה ע\"י זיהוי הפנים למרחב הפרטי"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"דרכים לביטול הנעילה"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"זהה לנעילת המסך במכשיר"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"רוצה לבחור שיטת נעילה חדשה למרחב הפרטי?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"נעילת המרחב הפרטי באופן אוטומטי"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"אפשר לנעול את המרחב הפרטי באופן אוטומטי אם לא משתמשים במכשיר במשך פרק זמן מסוים"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"בכל פעם שהמכשיר ננעל"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"אחרי 5 דקות של חוסר פעילות"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"אף פעם"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"הסתרה במצב נעילה"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"הסתרת המרחב הפרטי במצב נעילה"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"כדי למנוע מאנשים אחרים לדעת שיש לך מרחב פרטי במכשיר, אפשר להסתיר אותו מרשימת האפליקציות"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"גישה למרחב הפרטי כשהוא מוסתר"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"מרשימת האפליקציות, נכנסים למרחב הפרטי בסרגל החיפוש"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"מקישים על לחצן ההגדרה המהירה \'המרחב הפרטי\'"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ביטול הנעילה של המרחב הפרטי"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"מצב מושבת"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"מצב פעיל"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"מערכת"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"מחיקת המרחב הפרטי"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"למחוק את המרחב הפרטי?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"המרחב הפרטי שלך יוסר מהמכשיר. כל האפליקציות והנתונים הפרטיים יימחקו. אי אפשר לבטל את הפעולה הזו."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"החשבונות הבאים יוסרו מהמרחב הפרטי שלך:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"מחיקה"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"המרחב הפרטי נמחק…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"הפעולה הזו תימשך כמה רגעים"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"המרחב הפרטי נמחק"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"לא ניתן למחוק את המרחב הפרטי"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"הנעילה של המרחב הפרטי בוטלה"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"הגדרת נעילת מסך"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"כדי להשתמש במרחב הפרטי שלך, עליך להגדיר נעילת מסך במכשיר הזה"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"הגדרה של נעילת מסך"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ביטול"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ביטול"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"הגדרה"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"הגדרת מרחב פרטי"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"שמים אפליקציות פרטיות במרחב נפרד שאפשר להסתיר או לנעול"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"איך זה עובד"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"אפשר לגשת למרחב הפרטי בחלק התחתון של רשימת האפליקציות שלך"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"אפליקציות במרחב הפרטי מוגנות באמצעות נעילה"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ההתראות מהאפליקציות במרחב הפרטי מוסתרות כשהוא נעול"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"אפליקציות במרחב הפרטי לא יופיעו בניהול ההרשאות, במרכז הבקרה להגדרות הפרטיות ובהגדרות אחרות כשהמרחב הפרטי נעול.\n\nלא ניתן להעביר את המרחב הפרטי למכשיר חדש. עליך להגדיר מרחב פרטי אחר אם ברצונך להשתמש בו במכשיר אחר.\n\nכל מי שיחבר את המכשיר שלך למחשב או יתקין אפליקציות מזיקות במכשיר שלך יוכל לגשת למרחב הפרטי שלך."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"הגדרת המרחב הפרטי מתבצעת…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ההתראות מהאפליקציות במרחב הפרטי מוסתרות כשהוא נעול"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"מבטלים את נעילת המרחב הפרטי כדי לשתף תמונות או קבצים"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"חלק מהאפליקציות כבר מותקנות במרחב הפרטי שלך"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"לא ניתן להגדיר מרחב פרטי"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ניסיון נוסף"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"להשתמש בנעילת המסך כדי לבטל את נעילת המרחב הפרטי?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"אפשר לפתוח את המרחב הפרטי באותה דרך שפותחים את המכשיר או לבחור בשיטת נעילה אחרת"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"שימוש בשיטה לביטול נעילת המסך"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"בחירת נעילה חדשה"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"הכול מוכן!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"כדי למצוא את המרחב הפרטי שלך, עליך לעבור לרשימת האפליקציות ואז לגלול למטה"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"סיום"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"צריך לגלול למטה כדי למצוא את המרחב הפרטי"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"כניסה לחשבון"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"עליך להיכנס לחשבון כדי להשתמש במרחב הפרטי"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"לא עכשיו"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"המשך"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"בחירת שיטת נעילה למרחב הפרטי"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"יש לך אפשרות לבטל את נעילת המרחב הפרטי בעזרת טביעת האצבע שלך. מטעמי אבטחה, האפשרות הזו מחייבת שיטת נעילה לגיבוי."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"הגדרת קוד אימות למרחב הפרטי"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"הגדרת סיסמה למרחב הפרטי"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"הגדרת קו ביטול נעילה למרחב הפרטי"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"אפשר להוסיף עד <xliff:g id="COUNT">%d</xliff:g> טביעות אצבע"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"הוספת את המספר המרבי של טביעות אצבע."</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"לא ניתן להוסיף עוד טביעות אצבע"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"קו ביטול נעילה"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"קוד אימות"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"סיסמה"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"למחוק את נעילת המסך?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"להסיר את כל הסוגים של ביטול נעילת המכשיר?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"להסיר את הגנת הפרופיל?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"קו ביטול הנעילה מגן על הטלפון במקרה של אובדן או גניבה"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"קו ביטול הנעילה מגן על הטלפון במקרה של אובדן או גניבה.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>הפעולה הזו מוחקת את תבנית טביעת האצבע ששמורה במכשיר. בנוסף, התבנית לזיהוי פנים תימחק באופן סופי ומאובטח. לא תהיה לך אפשרות לבצע אימות באמצעות הפנים או טביעת אצבע באפליקציות."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"קוד האימות מגן על הטלפון במקרה של אובדן או גניבה"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"נתונים ששמרת יאבדו, למשל, קוד האימות.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>כרטיסים שהוגדרו באמצעות התכונה \'מצמידים ומשלמים\' יוסרו.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>יכול להיות שארנקים ואפליקציות אחרות שנדרש בהן ביטול נעילה של המכשיר לא יפעלו כמו שצריך."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"קוד האימות מגן על הטלפון במקרה של אובדן או גניבה.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>הפעולה הזו גם מוחקת את תבנית טביעת האצבע ששמורה במכשיר. לא תהיה לך אפשרות לבצע אימות באמצעות טביעת אצבע באפליקציות."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"נתונים ששמרת יאבדו, למשל קוד האימות והתבנית לזיהוי טביעת האצבע.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>כרטיסים שהוגדרו באמצעות התכונה \'מצמידים ומשלמים\' יוסרו.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>יכול להיות שארנקים ואפליקציות אחרות שנדרש בהן ביטול נעילה של המכשיר לא יפעלו כמו שצריך."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"קוד האימות מגן על הטלפון במקרה של אובדן או גניבה.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>בנוסף, התבנית לזיהוי פנים תימחק באופן סופי ומאובטח. לא תהיה לך אפשרות לבצע אימות באמצעות הפנים באפליקציות."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"נתונים ששמרת יאבדו, למשל קוד האימות והתבנית לזיהוי הפנים.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>כרטיסים שהוגדרו באמצעות התכונה \'מצמידים ומשלמים\' יוסרו.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>יכול להיות שארנקים ואפליקציות אחרות שנדרש בהן ביטול נעילה של המכשיר לא יפעלו כמו שצריך."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"קוד האימות מגן על הטלפון במקרה של אובדן או גניבה.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>הפעולה הזו מוחקת את תבנית טביעת האצבע ששמורה במכשיר. בנוסף, התבנית לזיהוי פנים תימחק באופן סופי ומאובטח. לא תהיה לך אפשרות לבצע אימות באמצעות הפנים או טביעת אצבע באפליקציות."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"נתונים ששמרת יאבדו, למשל, קוד האימות, התבניות לזיהוי הפנים וטביעת האצבע.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>כרטיסים שהוגדרו באמצעות התכונה \'מצמידים ומשלמים\' יוסרו .<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>יכול להיות שארנקים ואפליקציות אחרות שנדרש בהן ביטול נעילה של המכשיר לא יפעלו כמו שצריך."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"הסיסמה מגינה על הטלפון במקרה של אובדן או גניבה"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"הסיסמה מגינה על הטלפון במקרה של אובדן או גניבה.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"לבצע התאמה עם <xliff:g id="DEVICE_NAME">%1$s</xliff:g>‏?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"הוספת חבר חדש לקבוצה המתואמת הקיימת"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"צריך לאשר כדי להוסיף את החלק השני של התקן האודיו"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"‏קוד התאמה (Bluetooth)"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"‏יש להקליד את קוד ההתאמה ולאחר מכן ללחוץ על Return או Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"קוד הגישה מכיל אותיות או סמלים"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"חייב להיות בן 16 ספרות"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ייתכן שתצטרך להקליד את קוד הגישה הזה גם במכשיר השני."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ייתכן שתצטרך להקליד את המפתח הזה גם במכשיר השני."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"עליך לאשר התאמה עם הקבוצה המתואמת"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"צריך לאשר כדי להתאים עם התקן האודיו"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"אישור גישה אל אנשי הקשר והיסטוריית השיחות"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"תינתן גישה לאנשי הקשר ולהיסטוריית השיחות"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"המידע ישמש להודעות על שיחות ועוד"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"לא הייתה אפשרות להתחבר אל <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"מכשירים זמינים"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"התחברות"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"התנתקות"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"התאמה וחיבור"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"‏כשה-Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים שנמצאים בקרבת מקום."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"‏עם Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים בקרבת מקום"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"‏כשה-Bluetooth מופעל, המכשיר יכול לתקשר עם מכשירי Bluetooth אחרים שנמצאים בקרבת מקום.\n\nכדי לשפר את חוויית השימוש במכשיר, אפליקציות ושירותים יכולים לסרוק אחר מכשירים בקרבת מקום בכל שלב, גם כשה-Bluetooth כבוי. אפשר להשתמש בכך, למשל, כדי לשפר תכונות ושירותים שמבוססים על מיקום. ניתן לשנות זאת בהגדרות הסריקה של Bluetooth‏."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"שינוי"</string>
     <string name="device_details_title" msgid="1155622417516195481">"פרטי המכשיר"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏ART יוכל לאמת קוד בייט לאפליקציות שניתנות לניפוי באגים"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"הצגת קצב הרענון"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"הצגת קצב הרענון של התצוגה הנוכחית"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"‏הצגת יחס HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"‏הצגת יחס ה-HDR/SDR הנוכחי"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏דרישה לביטול נעילת המכשיר עבור NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"במצב טיסה"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"קבלת התראות על רשתות ציבוריות"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"הצגת התראה כאשר רשת ציבורית באיכות גבוהה זמינה"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"‏הרשאה לרשתות WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"‏WEP הוא פרוטוקול אבטחה ישן יותר ופחות מאובטח"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"‏הספק שלך לא מתיר רשתות WEP כי הן פחות מאובטחות"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"‏הפעלה אוטומטית של Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‏Wi‑Fi יחזור לפעול בסביבת רשתות שמורות באיכות גבוהה, כמו הרשת הביתית שלך"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"לא זמין כי המיקום כבוי. יש להפעיל "<annotation id="link">"מיקום"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"‏התכונה \'חיפוש נקודות Wi-Fi\' מאפשרת לאפליקציות ולשירותים לחפש רשתות Wi-Fi בכל שלב, גם כאשר ה-Wi-Fi כבוי. האפשרות הזו יעילה, למשל, לשיפור תכונות ושירותים מבוססי מיקום."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"הפעלה"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏\'חיפוש נקודות Wi-Fi\' מופעל"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"הרשת הזו משתמשת בפרוטוקול אבטחה ישן יותר ופחות מאובטח"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"הגישה אל <xliff:g id="NAME">%1$s</xliff:g> חסומה"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"‏הרשת הזו משתמשת בפרוטוקול אבטחה ישן יותר ופחות מאובטח בשם WEP. כדי להתחבר בכל מקרה, אפשר לתת גישה לרשתות WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"הספק שלך לא מאפשר לך להתחבר לרשת הזו כי היא משתמשת בפרוטוקול אבטחה ישן יותר ופחות מאובטח"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"‏הרשאה ל-WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"סגירה"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"אפשרויות מתקדמות"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"רשימה נפתחת של אפשרויות מתקדמות"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"הרחבה"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"‏הישאר ברשת Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"אל תציג שוב אף פעם"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"התחברות"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"‏Wi-Fi הופעל"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"יש חיבור אל <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"מתבצעת התחברות אל <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"מתבצע חיבור…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"נכשל הניסיון להתחבר לרשת"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"הרשת לא בטווח"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"הסרה"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"שנה"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"נכשל הניסיון לשכוח את הרשת"</string>
     <string name="wifi_save" msgid="2312643132472226807">"שמירה"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"נכשל הניסיון לשמור את הרשת"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ביטול"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"חבילת גלישה"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"אתרנט"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – בטעינה"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – בטעינה"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"חיבור לנקודת אינטרנט"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"עוצמת החיבור"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"רשתות שנשמרו"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"לא הוגדרה סיסמה"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"שם הנקודה לשיתוף אינטרנט"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"הסיסמה לנקודת האינטרנט"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"‏תדר AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"כיבוי אוטומטי של נקודת האינטרנט"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"כשאין מכשירים מחוברים"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"הגדלת התאימות"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"הצגת איזון לבן"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"המשך שימוש באפליקציות כשהמכשיר מקופל"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"תצוגה חלקה"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"‏קצב הרענון עולה באופן אוטומטי מ-60 ל-Hz<xliff:g id="ID_1">%1$s</xliff:g> לחלק מהתוכן. השימוש בסוללה יוגבר."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"השבתת ברירת המחדל של קצב הפריימים למשחקים"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"השבתה של הגבלת קצב הפריימים המרבי למשחקים ב-<xliff:g id="FRAME_RATE">%1$d</xliff:g> הרץ."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"תצוגה חלקה"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"‏קצב הרענון עולה באופן אוטומטי עד ‎<xliff:g id="ID_1">%1$d</xliff:g> Hz לחלק מהתוכן. השימוש בסוללה יוגבר."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"אילוץ לקצב הרענון המקסימלי"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"קצב הרענון הגבוה ביותר לתגובה משופרת למגע ולאיכות אנימציה טובה יותר. פעולה זו מגבירה את השימוש בסוללה."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"המסך יישאר דלוק בזמן צפייה"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"‏התכונה \'המסך יישאר דלוק בזמן צפייה\' משתמשת במצלמה הקדמית כדי לזהות אם מישהו מביט במסך. התכונה פועלת במכשיר, והתמונות אף פעם לא נשמרות ולא נשלחות אל Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"המסך יישאר דלוק בזמן צפייה"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"כשמביטים במסך, הוא ממשיך לפעול"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"צריכת הסוללה עולה כשהזמן הקצוב לכיבוי המסך ארוך יותר."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"המצלמה נעולה"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"יש לבטל את הנעילה של המצלמה כדי להשתמש בתכונה לזיהוי הפנים"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"יש לבטל את הנעילה של המצלמה כדי להפעיל את התכונה \'המסך יישאר דלוק בזמן צפייה\'"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"‏IMEI (חריץ SIM ‏<xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"‏IMEI (חריץ SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ראשי)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"יש לבחור רשת שמורה כדי להציג"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"‏גרסת PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"טעינת סוללה:"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"שיתופי"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"הגדרות שיתופיות"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"העברת הודעות באמצעות לוויין"</string>
     <string name="apn_settings" msgid="4295467389400441299">"‏פריטי APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"עריכת נקודת גישה"</string>
+    <string name="apn_add" msgid="9069613192201630934">"‏הוספת נקודת גישה (AP)"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"לא בוצעה הגדרה"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"לא הוגדר"</string>
     <string name="apn_name" msgid="6677695784108157953">"שם"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"‏APN מופעל"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"‏APN מושבת"</string>
     <string name="bearer" msgid="3231443241639159358">"פרמטרים לרשת"</string>
+    <string name="network_type" msgid="748590707422733595">"סוג הרשת"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"לא צוין"</string>
     <string name="mvno_type" msgid="4734654257494971247">"‏סוג MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"‏ערך MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"‏מחיקת APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"שמירה"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ביטול"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"‏רשומת APN כפולה."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"השדה \'שם\' לא יכול להיות ריק."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"‏ה-APN לא יכול להיות ריק."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"‏שדה MCC חייב להכיל 3 ספרות."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"‏שדה MNC חייב להכיל 2 או 3 ספרות."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"‏הספק לא מתיר הוספה של APNs מסוג %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"‏שדה MMSC חייב להיות חוקי."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"‏מתבצע שחזור של הגדרות ברירת המחדל של APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"איפוס לברירת המחדל"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‏איפוס הגדרות ברירת המחדל של APN הושלם."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"איפוס"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏חיבורי Bluetooth ו-Wi‑Fi אופסו"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‏מחיקה של כרטיסי ה-eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"‏הפעולה הזו לא תבטל אף חבילת גלישה. כדי להוריד כרטיסי SIM חלופיים, יש לפנות לספק חבילת הסלולר."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"‏הפעולה הזו לא תבטל את חבילת השירות הסלולרי. כדי לקבל כרטיס SIM חלופי, עליך ליצור קשר עם הספק."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"איפוס הגדרות"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"לאפס את כל הגדרות הרשת? לא ניתן לבטל את הפעולה הזו."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"‏לאפס את כל הגדרות הרשת ולמחוק את כרטיסי ה-eSIM? לא ניתן לבטל את הפעולה הזו."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"האם לאפס?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"המשתמש הזה לא יכול לאפס את הגדרות הרשת"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"הגדרות הרשת אופסו"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"‏לא ניתן למחוק כרטיסי SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"‏בגלל שגיאה כלשהי לא ניתן למחוק את כרטיסי ה-eSIM.\n\nצריך להפעיל מחדש את המכשיר ולנסות שוב."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"‏לא ניתן למחוק את כרטיסי ה-eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"‏משהו השתבש וכרטיסי ה-eSIM לא נמחקו.\n\nצריך להפעיל את המכשיר מחדש ולנסות שוב."</string>
     <string name="main_clear_title" msgid="277664302144837723">"מחיקת כל הנתונים (איפוס לנתוני היצרן)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"מחיקת כל הנתונים (איפוס לנתוני היצרן)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"מוזיקה"</li>\n<li>"תמונות"</li>\n<li>"נתוני משתמש אחרים"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729">"‏"<li>"כרטיסי eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"מחיקת הנתונים לא תבטל את תוכנית השירות הסלולרי שלך."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"כל המידע האישי שלך והאפליקציות שהורדת יימחקו. לא ניתן לבטל את הפעולה הזו."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"‏כל המידע האישי שלך יימחק, כולל אפליקציות וכרטיסי SIM שהורדת. לא ניתן לבטל את הפעולה הזו."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"‏כל המידע האישי שלך יימחק, כולל אפליקציות וכרטיסי eSIM שהורדת. אי אפשר לבטל את הפעולה הזו."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"האם למחוק את כל הנתונים?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"איפוס להגדרות המקוריות אינו זמין עבור המשתמש הזה"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"מתבצעת מחיקה"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"‏נקודה לשיתוף אינטרנט, USB, ‏Bluetooth, ‏Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"לא יתבצע שיתוף של חיבור לאינטרנט עם מכשירים אחרים"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"מושבת"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"שיתוף אינטרנט בין מכשירים"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏אין להשתמש בנקודה לשיתוף אינטרנט דרך Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏שיתוף אינטרנט רק באמצעות USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"‏שיתוף אינטרנט רק באמצעות Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"‏שיתוף אינטרנט רק באמצעות Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏שיתוף אינטרנט רק באמצעות USB ו-Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"‏שיתוף אינטרנט רק באמצעות USB ו-Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"‏שיתוף אינטרנט רק באמצעות Bluetooth ו-Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"‏שיתוף אינטרנט רק באמצעות USB, ‏Bluetooth ו-Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏שיתוף אינטרנט ב-USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"‏שיתוף אינטרנט ב-Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"שיתוף אינטרנט דרך אתרנט"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"‏נקודה לשיתוף אינטרנט (Hotspot) ושיתוף אינטרנט בין מכשירים (tethering) מאפשרים למכשירים אחרים להתחבר לאינטרנט דרך חיבור ה-Wi-Fi או חבילת הגלישה שלך. יש גם אפליקציות שמאפשרות ליצור נקודה לשיתוף אינטרנט ולשתף תכנים עם מכשירים קרובים."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"עזרה"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"רשתות סלולריות"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"תוכנית לנייד"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"‏אפליקציית SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"‏לשנות את אפליקציית ה-SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"‏האם להשתמש ב-<xliff:g id="NEW_APP">%1$s</xliff:g> במקום ב-<xliff:g id="CURRENT_APP">%2$s</xliff:g> כאפליקציית ה-SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"‏האם לשנות את אסיסטנט ה-Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"האם להשתמש ב-<xliff:g id="NEW_APP">%1$s</xliff:g> במקום ב-<xliff:g id="CURRENT_APP">%2$s</xliff:g> כדי לנהל את חיבורי הרשת שלך?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"האם להשתמש ב-<xliff:g id="NEW_APP">%s</xliff:g> כדי לנהל את חיבורי הרשת שלך?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"‏מפעיל SIM לא ידוע"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"ל-<xliff:g id="OPERATOR">%1$s</xliff:g> אין אתר ידוע לניהול תצורה"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"‏יש להכניס כרטיס SIM ולאתחל"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"יש להתחבר לאינטרנט"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"בקשות של מיקומים אחרונים"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"מיקום עבור פרופיל עבודה"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"הרשאות מיקום של אפליקציות"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ניקוי גישה"</string>
     <string name="controls_label" msgid="8671492254263626383">"פקדים"</string>
     <string name="force_stop" msgid="2681771622136916280">"אילוץ עצירה"</string>
+    <string name="archive" msgid="9074663845068632127">"העברה לארכיון"</string>
+    <string name="restore" msgid="7622486640713967157">"שחזור"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"מתבצע שחזור"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"מתבצע שחזור."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"מתבצע שחזור."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"מתבצע שחזור…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"סה\"כ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"גודל האפליקציה"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"‏אפליקציה של אחסון USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"לא ניתן לחשב את גודל החבילה."</string>
     <string name="version_text" msgid="7628938665256107608">"גרסה <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"העברה"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ההעברה לארכיון נכשלה"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> בארכיון"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"השחזור נכשל"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"מתבצע שחזור של <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"העברה אחרת מתבצעת כבר."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"אין מספיק שטח אחסון."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"האפליקציה לא קיימת."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"מקלדת שמופיעה במסך זמינה"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ניהול מקלדות שמופיעות במסך"</string>
     <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="6922850403920596246">"הפעלת מקשים חוזרים לשיפור הנגישות במקלדת פיזית"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"מקשים איטיים"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"הפעלת מקשים איטיים לשיפור הנגישות במקלדת פיזית"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"מקשים \"דביקים\""</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"הפעלת מקשים \"דביקים\' לשיפור הנגישות במקלדת פיזית"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"מקישים על הפינה הימנית התחתונה של לוח המגע לאפשרויות נוספות"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"מהירות המצביע"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"מידע על התנועות בלוח המגע"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"מעבר לדף הבית"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"מחליקים כלפי מעלה עם שלוש אצבעות על לוח המגע"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"הקודם"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"מיון לפי זמן שימוש"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"מיון לפי זמן שימוש אחרון"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"מיון לפי שם האפליקציה"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"מועד שימוש אחרון"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"תאריך השימוש האחרון"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"אף פעם"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"זמן שימוש"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"נגישות"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"הגדרות נגישות"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"הגדלה על-ידי הקשה שלוש פעמים"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"הגדלה בעזרת קיצור דרך"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"הגדלה בעזרת קיצור דרך והקשה שלוש פעמים"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"מידע על <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"שימוש בלחצן הנגישות לצורך פתיחה"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"לחיצה ארוכה על לחצני עוצמת הקול כדי לפתוח"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"מקישים שלוש פעמים על המסך כדי לפתוח"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"הקשה כפולה במסך עם שתי אצבעות כדי לפתוח"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"שימוש בתנועה לצורך פתיחה"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"שימוש בתנועה להפעלת תכונות הנגישות"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"כדי להשתמש בתכונה זו, יש להקיש על לחצן הנגישות <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> שבתחתית המסך.\n\nכדי לעבור בין התכונות השונות, יש ללחוץ לחיצה ארוכה על לחצן הנגישות."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"כדי להשתמש בתכונה הזו, יש להקיש על לחצן הנגישות במסך."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"כדי להשתמש בתכונה הזו, יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"כדי להפעיל הגדלה ולהפסיק אותה, יש להקיש שלוש פעמים במיקום כלשהו במסך."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"כדי להתחיל ולהפסיק את ההגדלה, מקישים הקשה כפולה במיקום כלשהו במסך עם שתי אצבעות."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"כדי להשתמש בתכונה זו, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"כדי להשתמש בתכונה זו, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"כדי להשתמש בתכונת הנגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שתי אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שתי אצבעות ולהחזיק."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"כדי להשתמש בתכונת הנגישות, יש להחליק כלפי מעלה מתחתית המסך באמצעות שלוש אצבעות.\n\nכדי לעבור בין התכונות השונות, יש להחליק כלפי מעלה באמצעות שלוש אצבעות ולהחזיק."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"הבנתי"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"הגדרות של לחצן הנגישות"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"הגדרות הלחצן"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"קיצור הדרך של \'<xliff:g id="SERVICE">%1$s</xliff:g>\'"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"לחצן הנגישות"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"תנועת נגישות"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"לחיצה ארוכה על לחצני עוצמת הקול"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"לחיצה ארוכה על לחצני עוצמת הקול"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"יש ללחוץ לחיצה ארוכה על שני הלחצנים של עוצמת הקול"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"מקישים הקשה כפולה על המסך עם שתי אצבעות"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"מקישים הקשה כפולה על המסך עם שתי אצבעות"</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="6863958573135995927">"הקשה שלוש פעמים על המסך"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏מקישים במהירות על המסך {0,number,integer} פעמים. קיצור הדרך הזה עלול להאט את פעולת המכשיר"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"מידע נוסף על התנועות ולחצן הנגישות"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"השימוש בלחצן הנגישות. התנועה אינה זמינה עם ניווט ב-3 לחצנים."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"גישה מהירה לתכונות נגישות"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"כדי להתחיל:"</b>\n"1. עוברים להגדרות בנושא נגישות\n2. בוחרים תכונה ומקישים על קיצור הדרך\n3. בוחרים אם להשתמש בלחצן או בתנועה כדי לגשת לתכונה"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"כדי להתחיל:"</b>\n"1. עוברים להגדרות בנושא נגישות\n2. בוחרים תכונה ומקישים על קיצור הדרך\n3. בוחרים לחצן לגישה לתכונה"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"‏&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"‏&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"שימוש בלחצן או בתנועה"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"מיקום"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"גודל"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"לחצן ההפעלה מסיים שיחה"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"מצביע עכבר גדול"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"הדגשה של מצביע העכבר"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"הגדרת עיצוב כהה לכל האפליקציות"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"רלוונטי לאפליקציות ללא עיצוב כהה משלהן. בחלק מהאפליקציות עשויות להיות בעיות תצוגה, כמו היפוך צבעים."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"הסרת אנימציות"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"הפחתת התנועה במסך"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"אודיו במונו"</string>
@@ -1992,10 +2174,11 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"שימוש ברטט ובמשוב פיזי"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"רטט של שעון מעורר"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"רטט של פריט מדיה"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"רטט של המקלדת"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"רטט הצלצול"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"רטט של התראה"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"משוב מגע"</string>
-    <string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"שימוש באפליקציה \'<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>\'"</string>
+    <string name="accessibility_service_primary_switch_title" msgid="437610853412159406">"שימוש ב-<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>"</string>
     <string name="accessibility_service_primary_open_title" msgid="8655108684769091154">"פתיחה של \'<xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g>\'"</string>
     <string name="accessibility_service_auto_added_qs_tooltip_content" msgid="2941824314912928072">"התכונה <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> נוספה להגדרות המהירות. כדי להפעיל או להשבית אותה מתי שרוצים, מחליקים למטה."</string>
     <string name="accessibility_service_qs_tooltip_content" msgid="6002493441414967868">"אפשר להוסיף את <xliff:g id="ACCESSIBILITY_APP_NAME">%1$s</xliff:g> להגדרות המהירות גם מהחלק העליון של המסך"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"עצירה"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ביטול"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"האם לעצור את <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"הקשה על <xliff:g id="STOP">%1$s</xliff:g> תפסיק את הפעולה של <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"השבתה"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"להמשיך"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"להשבית את <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"אין שירותים מותקנים"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"לא נבחר שירות"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"לא סופק תיאור."</string>
     <string name="settings_button" msgid="2195468788019730377">"הגדרות"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"רגישות לאור, פוטופוביה, עיצוב כהה, מיגרנה, כאב ראש, מצב קריאה, מצב לילה, הפחתת בהירות, נקודה לבנה"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"שימוש בקלות, קבלת גישה בקלות, עזרה, כלי מסייע"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ראייה, שמיעה, עיוור, לקוי ראייה, עיוורון, חירש, לקוי שמיעה, חירשות, מוטורי, לקות מוטורית, ניידות, מוטוריקה עדינה, מסייע, סיוע, קלות השימוש, נגישות, גישה קלה, יד, עזרה"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"כלי להגדלת חלון, זום, הגדלה, לקוי ראייה, הגדלה"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"‏כתוביות, תמלול בזמן אמת, כבד שמיעה, אובדן שמיעה, CART, המרת דיבור לטקסט (STT), כתובית"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ניגודיות של צבעים"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"מוטורי, עכבר"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"מכשירי שמיעה, כבד שמיעה, אובדן שמיעה, שתלים קוכליאריים, מכשירי הגברה, מעבדי צלילים"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"מוטורי, לקות מוטורית, ניידות, עכבר, עכבר חיצוני, עכבר ראש, עכבר ניתן להתאמה, עכבר מותאם, כיסא גלגלים, ג\'ויסטיק, מוט היגוי"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"‏מכשירי שמיעה, כבד שמיעה, לקות שמיעה, אובדן שמיעה, שתלים קוכליאריים, שתל קוכליארי, מכשירי הגברה, מעבדי צלילים, עיבוד צלילים, PSAP, מוקד חירום לציבור"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"‏כבד שמיעה, אובדן שמיעה, כתוביות, הקלדה באמצעות TTY,‏ TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"שלושה לחצנים"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"‏מוטוריקה עדינה, מוטורי, לקות מוטורית, ניידות, דלקת מפרקים, מדד העוצמה היחסית (RSI), שבץ, רעד, טרשת נפוצה, שיתוק מוחין, רעידה, פציעה בעקבות עומס חוזר ונשנה, יד"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"עיכוב, מוטוריקה עדינה, אזרחים ותיקים, מבוגרים"</string>
     <string name="print_settings" msgid="8519810615863882491">"הדפסה"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"כבוי"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{שירות הדפסה אחד פועל}one{# שירותי הדפסה פועלים}two{# שירותי הדפסה פועלים}other{# שירותי הדפסה פועלים}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"נותרו <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> לסיום הטעינה"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"זמן מסך"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"זמן פעולה ברקע"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"הסוללה חלשה"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"התרה לאפליקציה לפעול ברקע"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"להגביל את הפעילות ברקע?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"הגבלת הפעילות של אפליקציה ברקע עלולה לשבש את פעולתה"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"מכיוון שהאפליקציה לא מוגדרת לאופטימיזציה של הסוללה, לא ניתן להגבילה.\n\nכדי להגביל אותה, תחילה יש להפעיל אופטימיזציה של הסוללה."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ניהול השימוש בסוללה"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"הרשאה לשימוש ברקע"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"אפשר להפעיל כדי לקבל עדכונים בזמן אמת או להשבית כדי לחסוך בסוללה"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ללא הגבלות"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"אופטימיזציה"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"מוגבל"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"האפליקציות המובילות במידת השימוש בסוללה"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"הטעינה עברה אופטימיזציה כדי להגן על הסוללה"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"כדי להאריך את משך חיי הסוללה, הטעינה עוברת אופטימיזציה"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"הטעינה עברה אופטימיזציה כדי להגן על הסוללה"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"כדי להאריך את חיי הסוללה, הטעינה עוברת אופטימיזציה בזמן העגינה"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"הטעינה עברה אופטימיזציה כדי להגן על הסוללה"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"כדי להאריך את חיי הסוללה, הטעינה עוברת אופטימיזציה בזמן העגינה"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"טעינה עד מצב מלא"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"כדי להגן על הסוללה, הטעינה תעבור אופטימיזציה בפעם הבאה שהטאבלט יהיה באביזר העגינה"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"מידע נוסף על השהיית הטעינה"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"המשך הטעינה"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"כולל פעילות ברקע שצורכת חשמל רב"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"האפליקציה הזו תוכל להשתמש בסוללה ברקע. ייתכן שהסוללה תתרוקן מוקדם מהצפוי."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"הסרה"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ביטול"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"טעינה מלאה"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"יש בעיה עם אביזר הטעינה"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"בדיקה של אביזר הטעינה"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"מידע נוסף על טעינה לא תואמת"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"מנהל הסוללה"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ניהול אפליקציות באופן אוטומטי"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"מאז הטעינה המלאה האחרונה"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"אפליקציות מערכת"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"אפליקציות שהוסרו"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"אחרים"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"זמן משוער שנותר"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"עד לטעינה מלאה"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"סה\"כ: פחות מדקה"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ברקע: פחות מדקה"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"זמן מסך: פחות מדקה"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"פחות מדקה"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"סה\"כ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ברקע: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"זמן מסך: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"עכשיו"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"‎<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>‎"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"תרשים של השימוש בסוללה"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"תרשים של השימוש היומי בסוללה"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"תרשים של השימוש השעתי בסוללה"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"אחוז רמת הטעינה מ-<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> עד <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"שימוש בסוללה מאז הטעינה המלאה האחרונה"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"שימוש בסוללה <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"זמן מסך מאז הטעינה המלאה האחרונה"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"אות לחיוג חירום"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"הגדרת אופן פעולה בעת ביצוע שיחת חירום"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"גיבוי"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"פועל"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"כבוי"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"גיבוי ושחזור"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"נתונים אישיים"</string>
     <string name="backup_data_title" msgid="507663517227498525">"גיבוי הנתונים שלי"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"‏חבילת גלישה ו-Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"סנכרון אוטומטי לנתונים האישיים"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"סנכרון אוטומטי של נתוני העבודה"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"סנכרון אוטומטי של מידע פרטי"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"שינוי הגדרת המחזור…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"היום בחודש שבו יש לאפס את מחזור השימוש בנתונים:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"אף אפליקציה לא השתמשה בנתונים במהלך פרק זמן זה."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"שם"</string>
     <string name="vpn_type" msgid="5533202873260826663">"סוג"</string>
     <string name="vpn_server" msgid="2908816134941973935">"כתובת שרת"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"‏הצפנת PPP‏ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"‏סוד של L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"‏מזהה IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"‏מפתח משותף מראש של IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"‏אישור משתמש IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"‏אישור CA של IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"‏אישור של שרת IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"אפשרויות מתקדמות"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"‏דומיינים של חיפוש DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"‏שרתי DNS (לדוגמה, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"מסלולי העברה (לדוגמה, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"שם משתמש"</string>
     <string name="vpn_password" msgid="1183746907642628127">"סיסמה"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"שמירת פרטי החשבון"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(לא בשימוש)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(לא לאמת את השרת)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(התקבל מהשרת)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"‏סוג זה של VPN לא יכול להישאר מחובר תמיד"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"‏VPN בחיבור תמידי תומך רק בכתובות שרת מספריות"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"‏יש להגדיר שרת DNS ל-VPN בחיבור תמידי"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"‏הכתובות של שרת ה-DNS צריכות להיות מספריות עבור VPN בחיבור תמידי"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"‏המידע שהוזן לא תומך ב-VPN בחיבור תמידי"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ביטול"</string>
     <string name="vpn_done" msgid="5137858784289564985">"סגירה"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"‏חסימת חיבורים ללא VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"‏תמיד לדרוש חיבור VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"‏לא מאובטחת. עדכון ל-VPN בפרוטוקול IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"‏הפעלת VPN לא נתמך נכשלה."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"‏בוחרים פרופיל VPN שנשארים מחוברים אליו תמיד. תנועת רשת תהיה מותרת רק כאשר יהיה חיבור ל-VPN זה."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ללא"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"‏VPN מופעל תמיד מחייב כתובת IP לשרת ול-DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"‏התרעות AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"קבלת מבזקים על חטיפות ילדים"</string>
     <string name="repeat_title" msgid="8676570486899483606">"חוזר"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"‏הפעל את Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"התרה לשירות הזה לנהל את האופן שבו מבוצעות שיחות."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"התרעות אלחוטיות על מקרי חירום"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ספקי רשתות"</string>
     <string name="access_point_names" msgid="5768430498022188057">"‏שמות של נקודות גישה (APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"‏סטטוס SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏סטטוס SIM (חריץ SIM ‏%1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"‏<xliff:g id="DBM">%1$d</xliff:g> dBm ‏<xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"‏כרטיס ה-SIM השתנה."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"‏כרטיסי ה-SIM שונו"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"יש להקיש כדי להגדיר"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"אני רוצה לאשר בכל פעם"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"יש לציין בחירה"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"אפליקציות אחרונות, אפליקציות ברירת מחדל"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"הגישה להתראות אינה זמינה לאפליקציות בפרופיל העבודה."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"סיסמאות וחשבונות"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"סיסמאות שמורות, מילוי אוטומטי, חשבונות מסונכרנים"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"הצעות לכניסה לחשבון ולמילוי אוטומטי"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"אפליקציות ברירת מחדל"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"שכפול אפליקציות"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"אפשר ליצור מופע שני של אפליקציה כדי להשתמש בשני חשבונות בו-זמנית."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"ארנק"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"תשלום, הקשה, תשלומים"</string>
     <string name="keywords_backup" msgid="707735920706667685">"‏גיבוי, לגבות, backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"תנועה"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"פנים, ביטול נעילה, אימות, כניסה"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"פתיחה ע\"י זיהוי הפנים, אימות, כניסה לחשבון, טביעת אצבע, מידע ביומטרי"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"‏imei,‏ meid,‏ min, גרסת prl,‏ imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"גודל הטקסט, אותיות גדולות, גופן גדול, טקסט גדול, לקוי ראייה, הגדלת טקסט, מגדיל טקסט"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"‏תצוגת אווירה פועלת כל הזמן (AOD)"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"‏תג NFC‏, nfc, תג, קורא"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"מקלדת, משוב פיזי, רטט,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"עוצמת קול, רטט ומצב \'נא לא להפריע\'"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"עוצמת קול של מדיה"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"עוצמת הקול בהעברה"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"הפעלת צלילים"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"כתוביות מיידיות"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"הוספת כתוביות למדיה באופן אוטומטי"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"רמקולים של טלפון"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"רמקולים של טאבלט"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"רמקולים של מכשיר"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"אוזניות חוטיות"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"אודיו שמגיע ממכשירי מדיה תואמים יוצר חוויה עשירה יותר"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"התכונה כבויה"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"הצגת תוכן ההתראות במלואו"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"הצגת תוכן רגיש רק כשהמכשיר לא נעול"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"לא להציג התראות בכלל"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"איך להציג התראות במסך הנעילה?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"מה היית רוצה שיוצג במסך הנעילה?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"מסך נעילה"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"הצגת כל התוכן של התראות מהעבודה"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"הסתרה של תוכן עבודה רגיש"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"השיחות האחרונות הוסרו"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"השיחה הוסרה"</string>
     <string name="clear" msgid="5092178335409471100">"ניקוי"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"מחיקה של <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"שיחות בעדיפות גבוהה ושיחות שנערכו בהן שינויים יופיעו כאן"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"שיחות שסומנו כשיחות בעדיפות גבוהה או שיחות שנערכו בהן שינויים אחרים יופיעו כאן. \n\nלשינוי הגדרות השיחות: \nיש להחליק למטה מהחלק העליון של המסך כדי לפתוח את חלונית ההתראות, ואז ללחוץ לחיצה ארוכה על שיחה כלשהי."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ברמה מינימלית"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"הפחתה הדרגתית של ההתראות"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"הפעלת הפחתה הדרגתית על כל ההתראות"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"הפחתה בהדרגה של כמות ההתראות כשמקבלים התראות רצופות מרובות מאותה האפליקציה"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"הפעלת הפחתה הדרגתית על השיחות"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"הפחתה בהדרגה של כמות ההתראות כשמקבלים הודעות מרובות מאותו הצ\'אט בפרק זמן קצר"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"לא להפעיל הפחתה הדרגתית על ההתראות"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"לא להפחית אף פעם את כמות ההתראות, בלי קשר לכמות ההתראות הרצופות מאותה האפליקציה"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"רטט כשמבטלים את הנעילה"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"רטט רק כשנעילת המסך מתבטלת"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"הפעלה בפרופילי העבודה"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"הפעלת ההגדרות של ההפחתה ההדרגתית על ההתראות מהפרופיל האישי בפרופיל העבודה"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏שירותי סיוע של VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"‏לא התקבלו בקשות מאפליקציות מותקנות לפעול כשירותי סיוע של VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"‏האם לאפשר לשירות VR גישה אל <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"מושבתת"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"הצמדת אפליקציה"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"התכונה \'הצמדת אפליקציה\' מאפשרת לקבע את האפליקציה הנוכחית בתצוגה עד לביטול ההצמדה. אפשר להשתמש בתכונה, למשל, כשנותנים לחבר מהימן לשחק במשחק מסוים."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"לאחר הצמדת אפליקציה כלשהי, האפליקציה יכולה לפתוח אפליקציות אחרות ולאפשר גישה למידע האישי. \n\nכדי להשתמש בהצמדת אפליקציה: ←\n1. מפעילים את הצמדת האפליקציה ←\n2. פותחים את הסקירה הכללית ←\n3. מקישים על סמל האפליקציה שמופיע בחלק העליון של המסך ואז מקישים על \'הצמדה\'"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"לאחר הצמדת אפליקציה כלשהי, האפליקציה יכולה לפתוח אפליקציות אחרות ולאפשר גישה למידע האישי. \n\nכדי לשתף את המכשיר באופן מאובטח עם אדם אחר, כדאי להשתמש במשתמש אורח במקום זאת. \n\nכדי להשתמש בהצמדת אפליקציה: ←\n1. מפעילים את הצמדת האפליקציה ←\n2. פותחים את הסקירה הכללית ←\n3. מקישים על סמל האפליקציה שמופיע בחלק העליון של המסך ואז מקישים על \'הצמדה\'"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"‏לאחר הצמדת אפליקציה כלשהי, יכול להיות שייפתחו אפליקציות אחרות מאותה אפליקציה ושתתאפשר גישה למידע האישי. \n\nכדי להשתמש בהצמדת אפליקציה: 	\n{0,number,integer}. מפעילים את התכונה \'הצמדת האפליקציה\' 	\n{1,number,integer}. פותחים את הסקירה הכללית 	\n{2,number,integer}. מקישים על סמל האפליקציה שמופיע בחלק העליון של המסך ואז מקישים על \'הצמדה\'"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"‏לאחר הצמדת אפליקציה כלשהי, יכול להיות שייפתחו אפליקציות אחרות מאותה אפליקציה ושתתאפשר גישה למידע האישי. \n\nכדי לשתף את המכשיר באופן מאובטח עם אדם אחר, כדאי להשתמש במשתמש אורח במקום זאת. \n\nכדי להשתמש בהצמדת אפליקציה: 	\n{0,number,integer}. מפעילים את התכונה \'הצמדת האפליקציה\' 	\n{1,number,integer}. פותחים את הסקירה הכללית 	\n{2,number,integer}. מקישים על סמל האפליקציה שמופיע בחלק העליון של המסך ואז מקישים על \'הצמדה\'"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"לאחר שמצמידים אפליקציה: \n\n•	 ייתכן שתתאפשר גישה למידע אישי \n		(כמו אנשי קשר ותוכן מהאימייל) \n•	 האפליקציה שהוצמדה עשויה לפתוח אפליקציות אחרות \n\nיש להשתמש בהצמדת אפליקציה רק עם אנשים מהימנים."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"בקשת קו ביטול נעילה לפני ביטול הצמדה"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"בקשת קוד גישה לפני ביטול הצמדה"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"יש לבקש סיסמה לפני ביטול הצמדה"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"נעילת המכשיר בזמן ביטול ההצמדה"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏אישור מחיקה של SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"‏מאשרים שרוצים למחוק את כרטיס ה-SIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"‏עליך לאמת את זהותך לפני מחיקה של eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"הגנת זיכרון מתקדמת בגרסת בטא"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"הגנת זיכרון מתקדמת"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"הגדרות לאפליקציה שמזמן לא השתמשת בה"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"השהיית הפעילות באפליקציה אם אין בה שימוש"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ההרשאות של האפליקציה יוסרו, הקבצים הזמניים יימחקו ותופסק קבלת ההתראות ממנה"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ניהול האפליקציה כשהיא לא בשימוש"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"הסרת ההרשאות, מחיקה של הקבצים הזמניים, הפסקה של קבלת ההתראות והעברת האפליקציה לארכיון"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"כל האפליקציות"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"אפליקציות מותקנות"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"אפליקציות ללא התקנה"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"פנוי"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"זיכרון בשימוש על ידי אפליקציות"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{אפליקציה אחת השתמשה בזיכרון ב-{time}}one{# אפליקציות השתמשו בזיכרון ב-{time}}two{# אפליקציות השתמשו בזיכרון ב-{time}}other{# אפליקציות השתמשו בזיכרון ב-{time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"הפעלת הפרופיילינג של השימוש בזיכרון"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"הפרופיילינג של השימוש בזיכרון דורש משאבי מערכת נוספים."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"הפרופיילינג של הזיכרון מושבת"</string>
     <string name="running_frequency" msgid="7260225121706316639">"תדר"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"שימוש מקסימלי"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"לא נעשה שימוש בנתונים"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"הצגה מעל אפליקציות אחרות"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"הצגה מעל אפליקציות אחרות"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ההגדרה הזו מאפשרת לאפליקציה להופיע מעל אפליקציות אחרות שנמצאות בשימוש. האפליקציה תוכל לראות את מיקומי ההקשות שלך או לשנות את מה שמוצג במסך."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"שינוי פלט המדיה"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"מתן הרשאה לאפליקציה להחליף פלט מדיה"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"‏מתן הרשאה לאפליקציה הזו לבחור איזה מכשיר מחובר יפעיל אודיו או וידאו מאפליקציות אחרות. אם תינתן הרשאה לאפליקציה, היא תוכל לגשת לרשימה של מכשירים זמינים כמו אוזניות ורמקולים ולבחור איזה מכשיר להצגת מידע ישמש כדי לשדר או להעביר (cast) אודיו או וידאו."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"גישה לכל הקבצים"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"הרשאת גישה לניהול כל הקבצים"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"לאפליקציה הזו תהיה הרשאה לקרוא, לשנות ולמחוק את כל הקבצים במכשיר הזה או בכל אחסון שמחובר אליו. אם ההרשאה ניתנת, האפליקציה תורשה לגשת לקבצים מבלי ליידע אותך במפורש."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"יכולת גישה לכל הקבצים"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"אפליקציות בהפעלה קולית"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"אישור הפעלה קולית"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"הפעלה קולית מפעילה אפליקציות שאושרו, באמצעות פקודה קולית. החישה האדפטיבית המובנית מבטיחה שהנתונים יישארו פרטיים רק לך.\n\n"<a href="">"מידע נוסף על חישה אדפטיבית מוגנת"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"התראות במסך מלא"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"מתן הרשאה להצגת התראות במסך מלא מהאפליקציה הזו"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"מתן הרשאה לאפליקציה הזו להציג התראות במסך מלא כשהמכשיר נעול. אפליקציות יכולות להשתמש בהרשאה הזו כדי להציג התראות, שיחות נכנסות או הודעות דחופות אחרות."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"אזהרה לגבי שימוש בנתונים: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"מגבלת נתונים: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"אזהרה לגבי שימוש בנתונים – <xliff:g id="ID_1">^1</xliff:g> / מגבלת נתונים – <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ייתכן שחישוב השימוש בנתונים אצל הספק יהיה שונה מזה שבמכשיר"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"לא כולל נתונים שמשמשים את רשתות הספק"</string>
     <string name="data_used_template" msgid="8229342096562327646">"נעשה שימוש ב-<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"הגדרת אזהרה לגבי שימוש בנתונים"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"עודכן לפני <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"עדכון בוצע על ידי <xliff:g id="ID_1">^1</xliff:g> זה עתה"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"עודכן עכשיו"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"הצגת התוכנית"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"לפרטים"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"‏חוסך הנתונים (Data Saver)"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"שימוש בנתונים בלתי מוגבלים"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"צריכת הסוללה של <xliff:g id="APP_LABEL">%1$s</xliff:g> הייתה גבוהה יותר מהרגיל בזמן הפעילות ברקע"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"צריכת הסוללה של <xliff:g id="APP_LABEL">%1$s</xliff:g> הייתה גבוהה יותר בזמן הפעילות בחזית"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"צריכת הסוללה של <xliff:g id="APP_LABEL">%1$s</xliff:g> הייתה גבוהה יותר מהרגיל בזמן הפעילות בחזית"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"חריגה בשימוש בסוללה"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"צריכת סוללה גבוהה"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"צריכת סוללה גבוהה ברקע"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"צריכת סוללה גבוהה בחזית"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"כרטיסי מידע למפתחים בהגדרות המהירות"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏השבתה של זמן קצוב לתפוגה של הרשאת adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‏השבתה של ביטול אוטומטי של הרשאות adb, למערכות שלא התחברו מחדש במסגרת משך הזמן המוגדר כברירת מחדל (שבעה ימים) או מוגדר על ידי משתמשים (יום אחד לפחות)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"‏מעקב Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"כיבוי חיישנים"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"הגדרות של פרופיל העבודה"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"חיפוש אנשי קשר מספריית העבודה באפליקציות לשימוש אישי"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ניווט במערכת, ניווט ב-2 לחצנים, ניווט ב-3 לחצנים, ניווט באמצעות תנועות, החלקה"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"העוזר הדיגיטלי"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"החלקה להפעלת העוזר הדיגיטלי"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"כדי להפעיל את אפליקציית העוזר הדיגיטלי, צריך להחליק למעלה מאחת הפינות התחתונות."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"כדי להפעיל את אפליקציית העוזר הדיגיטלי, צריך להחליק למעלה מאחת הפינות התחתונות"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"לחיצה ארוכה על הלחצן הראשי להפעלת העוזר הדיגיטלי"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"צריך ללחוץ לחיצה ארוכה על הלחצן הראשי כדי להפעיל את אפליקציית העוזר הדיגיטלי."</string>
     <string name="low_label" msgid="6525629096999711220">"נמוכה"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"שירות מילוי אוטומטי"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"שירות מילוי אוטומטי שמוגדר כברירת מחדל"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"סיסמאות"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"סיסמאות, מפתחות גישה ושירותי נתונים"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ספקים נוספים"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"השירות הרצוי"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"שירותים נוספים"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{סיסמה אחת (#)}one{# סיסמאות}two{# סיסמאות}other{# סיסמאות}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"אוטומטי, מילוי, מילוי אוטומטי, סיסמה"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"נתונים, מפתח גישה, סיסמה"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"מילוי, אוטומטי, מילוי אוטומטי, נתונים, מפתח גישה, סיסמה"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"שינוי"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"פתיחה"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"לא נבחר אף פריט"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"‏&lt;b&gt;חשוב לוודא שהאפליקציה הזו מהימנה&lt;/b&gt;‏ ‏&lt;br/&gt; &lt;br/&gt;‏ ‏&lt;xliff:g id=app_name example=Google Autofill&gt;‏%1$s‏&lt;/xliff:g&gt; משתמשת במידע שמופיע במסך כדי לזהות אילו שדות אפשר למלא באופן אוטומטי."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"‏&lt;b&gt;להשתמש באפליקציה &lt;xliff:g id=app_name האפליקציהexample=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; משתמשת במידע שמופיע במסך כדי לזהות אילו שדות אפשר למלא באופן אוטומטי. סיסמאות ומפתחות גישה חדשים ונתונים אחרים יישמרו כאן מעכשיו."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"סיסמאות, מפתחות גישה ושירותי נתונים"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"‏&lt;b&gt;להשתמש באפליקציה &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; סיסמאות, מפתחות גישה ופרטים חדשים נוספים יישמרו כאן מעכשיו. האפליקציה &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; יכולה לבדוק את אילו מהפריטים במסך אפשר למלא באופן אוטומטי."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"השירות המועדף עבור סיסמאות, מפתחות גישה ומילוי אוטומטי"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"‏להשבית את %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"‏&lt;b&gt;להשבית את השירות הזה?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; מידע שנשמר כמו סיסמאות, מפתחות גישה, אמצעי תשלום ופרטים נוספים לא ימולא כשתתבצע כניסה. כדי להשתמש במידע שנשמר, צריך לבחור סיסמה, מפתח גישה או שירות נתונים."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"סיסמאות, מפתחות גישה ומילוי אוטומטי"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"‏&lt;b&amp;gtלהשבית את כל השירותים?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; סיסמאות, מפתחות גישה ונתונים שמורים אחרים לא יהיו זמינים למילוי אוטומטי בכניסה לחשבון"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"‏&lt;b&gt;שינוי השירות המועדף עליך ל-&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; סיסמאות ומפתחות גישה חדשים ונתונים אחרים יישמרו כאן מעכשיו. האפליקציה &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; יכולה לבדוק את אילו מהפריטים במסך אפשר למלא באופן אוטומטי"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"‏להשתמש ב-%1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"השבתה"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"שינוי"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"אפשר להפעיל רק 5 שירותים בכל פעם"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"צריך להשבית לפחות שירות אחד כדי להוסיף עוד שירות"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"‏%1$s עושה שימוש במידע המוצג במסך כדי לקבוע אילו פרטים ניתן למלא באופן אוטומטי."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"מגבלת הסיסמאות, מפתחות הגישה ושירותי הנתונים"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ניתן להפעיל עד 5 סיסמאות, מפתחות גישה ושירותי נתונים בו-זמנית. יש להשבית אחד מהשירותים כדי להוסיף שירות אחר."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"מגבלת הסיסמאות, מפתחות הגישה ושירותי הנתונים"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ניתן להפעיל עד 5 סיסמאות, מפתחות גישה ושירותי נתונים בו-זמנית. יש להשבית אחד מהשירותים כדי להוסיף שירות אחר."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"השבתה"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"מילוי אוטומטי"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"רמת רישום ביומן"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ניתן לבצע שינויים בתאימות האפליקציה רק עבור אפליקציות שניתנות לניפוי באגים. יש להתקין אפליקציה שניתנת לניפוי באגים ולנסות שוב."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"תלויה בהגדרה אחרת"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"חשבון"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"‏%d חשבונות"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"שם המכשיר"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"מידע בסיסי"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"משפטי ורגולטורי"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"‏ההרשאה הזו מאפשרת לאפליקציה לפעול כשתג NFC נסרק.\nכשההרשאה פועלת, האפליקציה תופיע כאפשרות בכל פעם שיאותר תג."</string>
     <string name="media_output_title" msgid="8283629315159510680">"הפעלת מדיה באמצעות"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"הפעלת <xliff:g id="LABEL">%s</xliff:g> ב:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"האודיו יופעל"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"מכשיר זה"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"לא זמין במהלך ביצוע שיחות"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"קבלת שיחה בסוג פלט"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"השתקה"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"כדי להפעיל, קודם צריך לשנות את \'לחיצה ארוכה על לחצן ההפעלה\' לתפריט ההפעלה."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"פרטי הרשת"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"‏שם המכשיר שלך גלוי לאפליקציות בטלפון. כמו כן, ייתכן שאנשים אחרים יראו אותו בהתחברות למכשירי Bluetooth, לרשת Wi-Fi, או בהגדרת נקודת Wi-Fi לשיתוף אינטרנט."</string>
     <string name="devices_title" msgid="649715719278562515">"מכשירים"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"בחירת רשת"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"מנותק"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"שם"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"צבע (בשימוש על ידי אפליקציות תואמות)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"שמירה"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"‏שימוש ב-SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"‏צריך להשתמש בכרטיס ה-SIM הזה"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"מושבת"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"‏כדי להשבית את ה-SIM הזה, יש להסיר את כרטיס ה-SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"יש להקיש כדי להפעיל את <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏מחיקת SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"‏כדי להשבית את כרטיס ה-SIM הזה, צריך להסיר אותו"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"‏צריך להקיש כדי להפעיל את כרטיס ה-SIM של <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"‏מחיקת eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"סוג רשת מועדף"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"שינוי מצב ההפעלה של הרשת"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"סוג רשת מועדף"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"למידע נוסף על המחירים, יש לפנות לספק השירות."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"שימוש בחבילת הגלישה באפליקציות"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"מצב רשת לא חוקי <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. התעלמות."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"העברת הודעות באמצעות לוויין"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"שליחה וקבלה של הודעות טקסט באמצעות לוויין. השירות נכלל בחשבון שלך."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"שליחה וקבלה של הודעות טקסט באמצעות לוויין. השירות לא נכלל בחשבון שלך."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"העברת הודעות באמצעות לוויין"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"מידע על העברת הודעות באמצעות לוויין"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"אפשר לשלוח ולקבל הודעות טקסט באמצעות לוויין כחלק מחשבון שעומד בתנאים אצל <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"חבילת הגלישה אצל <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"העברת הודעות באמצעות לוויין כלולה בחשבון"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"העברת הודעות באמצעות לוויין לא כלולה בחשבון"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"הוספה של העברת הודעות באמצעות לוויין"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"איך זה עובד"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"למה אין לך רשת סלולרית"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"הטלפון יתחבר אוטומטית ללוויין. כדי להתחבר בצורה הטובה ביותר צריך להיות בחוץ, מתחת לכיפת השמיים."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"אחרי שהטלפון מתחבר ללוויין"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"אפשר לשלוח הודעות טקסט לכל אחד, כולל לשירותי החירום. הטלפון יתחבר מחדש לרשת סלולרית כשהיא תהיה זמינה."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"העברת הודעות באמצעות לוויין אורכת זמן רב יותר וזמינה רק בחלק מהאזורים. מזג אוויר ומבנים מסוימים עשויים להשפיע על חיבור הלוויין. לא ניתן להתקשר באמצעות לוויין.\n\nהשינויים בחשבון יופיעו ב\'הגדרות\' לאחר זמן מה. אפשר לפנות אל <xliff:g id="CARRIER_NAME">%1$s</xliff:g> לקבלת פרטים."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"מידע נוסף על העברת הודעות באמצעות לוויין"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"‏שמות של נקודות גישה (APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"לא זמין כשהמכשיר מחובר ל-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"לעבור אל <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"‏לעבור לכרטיס SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"להשתמש בספק <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"‏אפשר להשתמש רק בכרטיס SIM אחד בכל רגע נתון.\n\nמעבר אל <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> לא יבטל את השירות של <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"‏בכל רגע נתון אפשר להשתמש רק ב-eSIM אחד.\n\nמעבר אל <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> לא יבטל את השירות של <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"‏אפשר להשתמש רק בכרטיס SIM אחד בכל רגע נתון.\n\nהחלפת הכרטיס לא תבטל את השירות של <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"‏רק כרטיס SIM אחד יכול לפעול בכל פעם.\n\nמעבר אל <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> לא יבטל את השירות של <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"‏רק eSIM אחד יכול לפעול בכל פעם.\n\nמעבר אל <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> לא יבטל את השירות של <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"‏רק כרטיס SIM אחד יכול לפעול בכל פעם.\n\nמעבר לכרטיס אחר לא יבטל את השירות של <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"‏ניתן להשתמש ב-2 כרטיסי SIM בו-זמנית. כדי להשתמש בכרטיס <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, עליך לכבות כרטיס SIM אחר."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"מעבר אל <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"כיבוי של <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"‏כיבוי כרטיס SIM לא מבטל את השירות"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"מתבצעת התחברות לרשת…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"מתבצע מעבר אל <xliff:g id="CARRIER_NAME">%1$s</xliff:g> לצורך ביצוע שיחות ושליחת הודעות…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"לא ניתן להחליף את הספק"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"לא ניתן להחליף את הספק עקב שגיאה."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"‏מתבצעת הפעלה של כרטיס ה-SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"המעבר ל-<xliff:g id="CARRIER_NAME">%1$s</xliff:g> מתבצע…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"‏לא ניתן לעבור בין כרטיסי ה-SIM."</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"‏משהו השתבש. לא ניתן לעבור בין כרטיסי ה-SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"לכבות את <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"‏לכבות את כרטיס ה-SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‏מתבצע כיבוי של כרטיס ה-SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"לא ניתן להשבית את הספק"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"משהו השתבש ולא ניתן היה להשבית את הספק."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"‏לא ניתן להשבית את כרטיס ה-SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"‏משהו השתבש ולא ניתן למחוק את כרטיס ה-SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"‏להשתמש בשני כרטיסי SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"‏במכשיר הזה אפשר להשתמש בשני כרטיסי SIM בו-זמנית. כדי להמשיך להשתמש ב-SIM אחד בכל פעם, יש להקיש על \"לא תודה\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"להפעיל את המכשיר מחדש?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"לא תודה"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ביטול"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"מעבר"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"השבתה"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‏לא ניתן להפעיל את ה-SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‏יש להפעיל שוב את ה-SIM. אם הבעיה נמשכת, יש להפעיל מחדש את המכשיר."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"‏הגדרת כרטיס ה-SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"‏צריך להגדיר את ההעדפות של הרשת הסלולרית כדי להשתמש בכמה כרטיסי SIM במכשיר הזה"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"‏הוספת תווית לכרטיסי ה-SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"התוויות האלה יוצגו לך בביצוע שיחות, בשליחת טקסטים ובשימוש בנתונים וב\'הגדרות\'"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"‏התווית של כרטיס ה-SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"תווית"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"‏בחירה באיזה כרטיסי SIM להשתמש"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"‏ניתן להשתמש בשני כרטיסי SIM בו-זמנית"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"‏הגדרת כרטיסי ה-SIM העיקריים"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"‏אפשר לבחור באיזה כרטיס SIM להשתמש כברירת מחדל לשיחות, לטקסטים ולנתונים"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"‏כרטיסי ה-SIM העיקריים"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"שיחות"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"הודעות טקסט"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"מעבר אוטומטי בין חבילות גלישה"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"‏שימוש בחבילת הגלישה של אחד מכרטיסי ה-SIM, תלוי בכיסוי ובזמינות"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"נתונים בלבד"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"הגדרה"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"הבא"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"מתבצעת הפעלה של <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"רשת סלולרית"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"מספר טלפון"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"‏התווית והצבע של כרטיס ה-SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"הפעלת רשת"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"החלפת ספק"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> פעיל"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"‏כרטיס ה-SIM של <xliff:g id="CARRIER_NAME">%1$s</xliff:g> פעיל"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"‏יש להקיש כדי לעדכן את ההגדרות של כרטיס ה-SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"עברת אל <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"עברת לספק אחר"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"הרשת הסלולרית שלך שונתה"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"‏הגדרת כרטיס ה-SIM השני"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"‏יש לבחור את ה-SIM הפעיל או להשתמש בשני כרטיסי SIM בו-זמנית"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"בחירת מספר לשימוש"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{יש מספר אחד במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם.}=2{יש שני מספרים זמינים במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}one{יש # מספרים זמינים במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}other{יש # מספרים זמינים במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"מתבצעת הפעלה<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"לא ניתן להפעיל עכשיו"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"‏בוחרים כרטיס SIM לשימוש"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{‏יש כרטיס SIM אחד זמין במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}=2{‏יש שני כרטיסי SIM זמינים במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}one{‏יש # כרטיסי SIM זמינים במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}other{‏יש # כרטיסי SIM זמינים במכשיר הזה, אבל ניתן להשתמש רק באחד בכל פעם}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"מתבצעת הפעלה<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"‏לא ניתן להפעיל את כרטיס ה-SIM כרגע"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"להשתמש בספק <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"‏<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ישמש לחבילת גלישה, לשיחות ולהודעות SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"‏אין כרטיסי SIM פעילים"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"‏כדי להשתמש בחבילת גלישה, תכונות של שיחות והודעות SMS מאוחר יותר, יש לעבור אל הגדרות הרשת"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"‏כרטיס SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"‏למחוק את ה-eSIM הזה?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‏מחיקת כרטיס ה-SIM הזה תסיר את השירות של <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> מהמכשיר.\n\nהשירות של <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> לא יבוטל."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"הפעולה הזו מסירה את השירות של <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> מהמכשיר, אבל היא לא מבטלת את חבילת הגלישה של <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"מחיקה"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"‏מתבצעת מחיקת SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‏לא ניתן למחוק את ה-SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‏עקב שגיאה, לא ניתן למחוק את ה-SIM הזה.\n\nצריך להפעיל מחדש את המכשיר ולנסות שוב."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"‏מתבצעת מחיקה של eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"‏לא ניתן למחוק את ה-eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"‏משהו השתבש וה-eSIM לא נמחק.\n\nצריך להפעיל את המכשיר מחדש ולנסות שוב."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"התחברות למכשיר"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏האפליקציה <xliff:g id="APPNAME">%1$s</xliff:g> מבקשת להשתמש ברשת Wi-Fi זמנית כדי להתחבר למכשיר שלך"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"לא נמצאו מכשירים. יש לוודא שהמכשירים פועלים וזמינים לחיבור."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"שיחות חירום"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"‏הספק שלך לא תומך בשיחות חירום ב-Wi-Fi.\n. הגדרות המכשיר עוברות באופן אוטומטי לרשת סלולרית כדי לבצע שיחת חירום.\nניתן לבצע שיחות חירום רק באזורים שבהם יש קליטה סלולרית."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"‏שימוש ברשת Wi-Fi לשיחות לצורך שיפור האיכות"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"אמצעי גיבוי להתקשרות"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"‏אם <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> לא זמין או בנדידה, יש להשתמש ב-SIM עם חבילת גלישה לשיחות <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"אמצעי גיבוי להתקשרות"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"‏הודעת MMS נכנסת"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"‏לא ניתן לשלוח הודעת MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"‏יש להקיש כדי להתיר העברת הודעות MMS ב-<xliff:g id="OPERATOR_NAME">%1$s</xliff:g> כשחבילת הגלישה מושבתת"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"פרטי המדיניות של פרופיל העבודה"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"‏הגדרות שעליהן אחראי מנהל ה-IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"‏הפעלה בגודל דף של 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"‏הפעלת המכשיר באמצעות ליבה נתמכת בגודל דף של 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"‏להפעיל מחדש עם ליבה (kernel) תואמת לדפים של 16KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"אזהרה: יכול להיות שאפליקציות מסוימות לא תואמות למצב הזה. המכשיר יופעל מחדש לאחר האישור."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"‏להפעיל מחדש עם ליבה (kernel) תואמת לדפים של 4KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"המכשיר יופעל מחדש לאחר האישור."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"‏עדכון הליבה (kernel) התואמת לדפים של 16KB נכשל."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"השינויים מתעדכנים"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"טיפול בדוחות על באגים"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"הגדרה זו קובעת איזו אפליקציה מטפלת במקש הקיצור של הדוח על הבאג במכשיר."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"אישי"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"אפליקציות שיכולות להופיע מעל אפליקציות אחרות יוכלו ליצור שכבות-על במסכי ההגדרות"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"הרשאה לשימוש במודם מדומה"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"הרשאה להפעלת שירות של מודם מדומה במכשיר הזה לצורך בדיקת אינסטרומנטציה. אין להעניק את ההרשאה הזו במהלך שימוש רגיל בטלפון"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"השבתת ההגנות של שיתוף המסך"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"השבתת ההגנות של האפליקציה וההתראות שהופעלו על ידי המערכת בזמן שיתוף המסך"</string>
     <string name="media_controls_title" msgid="403271085636252597">"מדיה"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"הצמדה של נגן המדיה"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"לצורך המשך מהיר של ההפעלה, נגן המדיה נשאר פתוח בהגדרות המהירות"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"הצגת מדיה במסך הנעילה"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"כדי שתהיה לך אפשרות להמשיך במהירות את ההפעלה, נגן המדיה נשאר פתוח במסך הנעילה"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"הצגת המלצות על מדיה"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"‏הצגת המלצות המדיה של Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"על סמך הפעילות שלך"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"הסתרת הנגן"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"הצגת הנגן"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"מדיה"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"הפעלת תוספים לתוכנה של המצלמה"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"האפשרות הזו מפעילה את הטמעת התוכנה שמוגדרת כברירת מחדל וקשורה לתכונות המתקדמות של המצלמה, כמו צילום וידאו ללא שימוש בראייה."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"‏Bluetooth יופעל"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"אינטרנט"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"‏כרטיסי SIM"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"‏כרטיסי eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"פעיל"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"לא פעיל"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"מצב פעיל"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"מצב מושבת"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / ברירת המחדל של <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"שיחות"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"אודיו שמגיע ממכשירי מדיה תואמים יוצר חוויה עשירה יותר"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"מעקב אחר תנועות הראש"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"האודיו משתנה בהתאם לתנועות הראש כדי שיישמע טבעי יותר"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"סנכרון ההרשאות"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"עליך לתת למכשיר <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> את אותן הרשאות לאפליקציות שנתת למכשיר <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"סנכרון ההרשאות מהטלפון"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"עליך לתת לשעון את אותן הרשאות לאפליקציות שנתת לטלפון הזה"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"סוג של התקן אודיו"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"לא ידוע"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"רמקול"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"בינונית"</string>
     <string name="contrast_high" msgid="3988567609694797696">"גבוהה"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ניתן לפתוח את האפליקציה הזו רק בחלון אחד"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"מצב פעיל"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"מצב מושבת"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"מצב מושבת"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"מושבת"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"מופעלת"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"מושבתת"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"מופעלת"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"מושבתת"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"התכונה משנה את הצבעים של מסכים בהירים לצבעים כהים ולהפך"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"הגדלת התצוגה במסך"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"מושבתת"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"מושבתת"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"מתבצעת סריקה לאיתור אפליקציות מטעות"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"בדיקת הפעילות באפליקציה לאיתור פישינג"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"שימוש בסריקה לגילוי אפליקציות שיש בהן ניסיונות הונאה"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"שימוש בסריקה לגילוי אפליקציות לצורכי עבודה שיש בהן ניסיונות הונאה"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"הסיסמה מוגדרת עכשיו"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"הצגת הסמן בזמן העברת העכבר"</string>
 </resources>
diff --git a/res/values-ja/arrays.xml b/res/values-ja/arrays.xml
index 0553b20..b81c77b 100644
--- a/res/values-ja/arrays.xml
+++ b/res/values-ja/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"利用可能"</item>
     <item msgid="6096962300722555553">"圏外"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"無効"</item>
+    <item msgid="7781484297606806796">"ユニキャスト"</item>
+    <item msgid="6667451574264144311">"ユニキャストとブロードキャスト"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"システムのデフォルトを使用: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 分後"</item>
     <item msgid="1574040255478150028">"5 分後"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ja/strings.xml b/res/values-ja/strings.xml
index 8bc17d5..caa20e0 100644
--- a/res/values-ja/strings.xml
+++ b/res/values-ja/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"開発者向けオプションが有効になりました"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"開発者向けオプションはすでに有効です"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"まず開発者向けオプションを有効にしてください。"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"デベロッパー向けの設定には管理者ユーザーのみアクセスできます。"</string>
     <string name="header_category_system" msgid="1665516346845259058">"システム"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"圏内"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"圏外"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"デバイスを折りたたむとフロント ディスプレイが ON になります"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ゲームや動画などの場合のみ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"画面がアイドル状態にならないアプリを使用している場合にフロント ディスプレイが ON になります"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"上にスワイプして継続"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"スマートフォンを折りたたんでフロント ディスプレイを上にスワイプするとアプリの使用を継続できます。スワイプせずに数秒待つと画面がロックされます"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"継続しない"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"デバイスを折りたたむとフロント ディスプレイがロックされます"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"画面を自動で回転させる"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"関連ツール"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"着信音とアラーム"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"通話中の音声"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"メディア"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"通知などのシステム音"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"メディア、システム音"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"通知"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"デフォルトでは、音声出力方法はアプリによって決まります"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"名前のないBluetoothデバイス"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"検索中"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"キャンセル"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audio を無効にする"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"デバイスが LE オーディオ ハードウェア機能に対応している場合に、Bluetooth LE Audio 機能を無効にします。"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio モード"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE Audio の切替をデバイスの詳細に表示"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE Audio 許可リストを有効にする"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE Audio 許可リスト機能を有効にします。"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio の許可リストを回避する"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio の周辺機器が許可リストの基準を満たしていない場合でも、デフォルトで LE Audio を使用します。"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"メディア デバイス"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"通話デバイス"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"その他のデバイス"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"保存済みのデバイス"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"アカウントと関連付けられています"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"アカウントで以前使用していたもの"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ペア設定できるよう Bluetooth が ON になります"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"接続の詳細設定"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ペア設定済み"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth を ON にしました"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"すべて表示"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"すべて表示"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"タッチペン"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"テールボタンを押す"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g>（仕事用プロファイル）"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"テキスト フィールドに入力"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"タッチペンのボタン押下をすべて無視する"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"タッチペン"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"音声の共有"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"音声を共有"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"通話とアラーム"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR コードを使用して音声ストリームに接続します"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"付近に音声ストリームは見つかりませんでした。"</string>
     <string name="date_and_time" msgid="1788358029823431692">"日付と時刻"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"プロキシ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"消去"</string>
@@ -153,7 +168,7 @@
     <string name="skip_label" msgid="6380034601349015895">"スキップ"</string>
     <string name="next_label" msgid="1248293387735652187">"次へ"</string>
     <string name="language_picker_title" msgid="4271307478263345133">"言語"</string>
-    <string name="language_picker_category_title" msgid="1792199453060454565">"使用言語の順位"</string>
+    <string name="language_picker_category_title" msgid="1792199453060454565">"優先言語の順番"</string>
     <string name="desc_current_default_language" msgid="1901157141663662859">"システムの言語"</string>
     <string name="locale_remove_menu" msgid="3521546263421387474">"削除"</string>
     <string name="add_a_language" msgid="2126220398077503271">"言語を追加"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%sを使用言語に追加しますか？"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"これにより、この言語もアプリやウェブサイトで使用言語として認識されるようになります。"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"デバイスの設定と地域別の設定が変更されます。"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"変更"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%sは使用できません"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"土曜日"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"アプリで地域別の設定がサポートされていない場合は、デフォルトの言語 / 地域設定が使用されます。"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"詳しくは、言語設定についての説明をご覧ください。"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"追加設定"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"呼び方"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"自分を何と呼んでほしいかを設定します"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"アプリがあなたを呼ぶときに使用できる呼び方を設定できます。"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"指定しない"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"女性"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"男性"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"普通"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{選択した言語を削除しますか？}other{選択した言語を削除しますか？}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"テキストは別の言語で表示されるようになります。"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"すべての言語を削除することはできません"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"位置情報"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"位置情報を使用"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"OFF"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ON - # 件のアプリに位置情報へのアクセスを許可}other{ON - # 件のアプリに位置情報へのアクセスを許可}}"</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_location_off" msgid="8568995909147566720">"アプリとサービスの位置情報へのアクセスは OFF になっています。緊急通報番号に電話をかけたりテキスト メッセージを送信したりした場合は、デバイスの位置情報が緊急サービスに送信されることがあります。"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"位置情報の設定の詳細"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"位置情報の設定の詳細"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"位置情報のアクセス権を変更するには、[設定] &gt; [セキュリティとプライバシー] &gt; [プライバシー管理] に移動します"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"アカウント"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"セキュリティ"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"暗号化と認証情報"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"最適な結果を得るには、Made For Google 認定の画面保護シートを使用してください。認定されていないシートを使うと、お子様の指紋が認識されない可能性があります。"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ウォッチ認証"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"顔認証と指紋認証を設定した場合、マスク着用時や暗い場所にいるときは指紋認証が求められます。\n\n顔や指紋が認識されなかった場合は、ウォッチでロック解除できます。"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"指紋が認識されなかった場合はウォッチでロック解除できます。"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"顔が認識されなかった場合はウォッチでロック解除できます。"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"顔認証と指紋認証を設定した場合、マスク着用時や暗い場所にいるときは指紋認証が求められます。\n\nウォッチ認証を使用すると、指が濡れているときや顔が認識されないときなどでも、このスマートフォンをロック解除できます。"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ウォッチ認証を使用すると、指紋が認識されないときなどでも、スマートフォンをロック解除できます。"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ウォッチ認証を使用すると、顔が認識されないときなどでも、スマートフォンをロック解除できます。"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"指紋認証またはウォッチの使用:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"顔認証またはウォッチの使用:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"顔認証、指紋認証、またはウォッチの使用:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ウォッチ認証を使用すると、たとえば指が濡れているときや顔が認識されないときでも、このスマートフォンをロック解除できます。\n\n次のようにして、スマートウォッチでこのスマートフォンをロック解除できます。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"後で"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"続行"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"もっと見る"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"仕組み"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"スマートウォッチをロック解除し、手首に着けて、このスマートフォンに近づける必要があります。すでに着けている場合は、スマートウォッチを再びロック解除する必要はありません。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"このスマートフォンがロック解除されると、スマートウォッチに通知が届きます。意図せずロック解除された場合は、通知をタップしてスマートフォンをもう一度ロックしてください。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ユーザーが設定可能"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"[設定] で、ウォッチ認証からスマートウォッチをいつでも削除できます"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"通知をタップする"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ロック画面を上にスワイプする"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"スマートウォッチの選択"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"対応しているスマートウォッチ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"キャンセル"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"確認"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"設定完了"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ロック画面で上にスワイプするか通知をタップすることで、スマートウォッチからスマートフォンをロック解除できるようになりました"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"完了"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ウォッチ認証"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ロック画面で上にスワイプするか通知をタップすることで、スマートウォッチからスマートフォンをロック解除できます"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ウォッチ認証を使用するには、スマートウォッチがロック解除されていること、手首に装着されていること、このスマートフォンの近くにあること、このスマートフォンと接続済みであることが必要です。接続が中断された場合、ウォッチ認証を使用するにはスマートフォンをロック解除する必要があります。\n\n注意事項:\n一度にセットアップできるスマートウォッチは 1 つだけです。他のスマートウォッチを追加するには、セットアップ済みのスマートウォッチを削除してください。"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"仕事用の顔認証と指紋認証"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"セットアップが必要です"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"セキュリティ"</string>
     <string name="privacy_header" msgid="5526002421324257007">"プライバシー"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"仕事用プロファイル"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"プライベート スペース"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"限定公開アプリはロックされたままで非表示となります"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"非表示またはロックできる個別のスペースに限定公開アプリを保持できます"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"プライベート スペースのロック"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"デバイスのロック解除と同じ方法でプライベート スペースのロックを解除するか、別のロックを選択できます"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"デバイスの画面ロックを使用"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"顔認証と指紋認証によるロック解除"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"指紋認証"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"顔認証"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"タップして設定してください"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"プライベート スペースの指紋認証"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"プライベート スペースの顔認証"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"ロック解除方法"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"デバイスと同じ画面ロックを使用中"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"プライベート スペースの新規ロックを選択しますか？"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"プライベート スペースを自動的にロックする"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"デバイスを一定時間使用していないときに、プライベート スペースを自動的にロックできます"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"デバイスのロック時は毎回"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"操作が行われない状態で 5 分経過後"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"なし"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ロック時に表示しない"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ロック時にプライベート スペースを表示しない"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"プライベート スペースがデバイスにあることを秘密にするために、アプリのリストで非表示にできます"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"非表示のプライベート スペースにアクセスする"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"アプリの一覧の検索バーで「プライベート スペース」を検索する"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"[プライベート スペース] のタイルをタップする"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"プライベート スペースのロックを解除する"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"OFF"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ON"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"システム"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"プライベート スペースの削除"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"プライベート スペースを削除しますか？"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"デバイスからプライベート スペースが削除されます。すべての限定公開アプリとデータが削除されます。この操作を元に戻すことはできません。"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"プライベート スペースから以下のアカウントが削除されます。"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"削除"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"プライベート スペースの削除中…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"しばらくお待ちください"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"プライベート スペースを削除しました"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"プライベート スペースを削除できませんでした"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"プライベート スペースのロックを解除"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"画面ロックの設定"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"プライベート スペースを使用するには、このデバイスで画面ロックを設定してください"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"画面ロックを設定"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"キャンセル"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"キャンセル"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"設定"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"プライベート スペースを設定する"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"非表示またはロックできる個別のスペースに限定公開アプリを保持できます"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"仕組み"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"アプリのリストの下部からプライベート スペースにアクセスできます"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"プライベート スペースのアプリはロックによって保護されます"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"プライベート スペースがロックされているときは、プライベート スペースにアプリからの通知は表示されません"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"プライベート スペースがロックされている場合、プライベート スペースにあるアプリは、権限マネージャ、プライバシー ダッシュボード、その他の設定に表示されません。\n\nプライベート スペースを新しいデバイスに移動することはできません。別のデバイスで使用したい場合は、別のプライベート スペースを設定する必要があります。\n\nお使いのデバイスをパソコンに接続したり、デバイスに有害なアプリをインストールしたりしたユーザーが、あなたのプライベート スペースにアクセスできる可能性があります。"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"プライベート スペースを設定しています…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"プライベート スペースがロックされているときは、プライベート スペースのアプリからの通知は表示されません"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"プライベート スペースのロックを解除して写真やファイルを共有する"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"一部のアプリはプライベート スペースにすでにインストールされています"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"プライベート スペースを設定できませんでした"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"再試行"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"プライベート スペースを画面ロックでロック解除しますか？"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"デバイスのロック解除と同じ方法でプライベート スペースのロックを解除するか、別のロックを選択できます"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"画面ロックを使用"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"新しいロックを選択"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"設定完了"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"プライベート スペースを探すには、アプリのリストに移動してから下にスクロールします"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完了"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"プライベート スペースを探すには下にスクロールしてください"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ログイン"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"プライベート スペースで使用するにはアカウントにログインしてください"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"後で"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"続行"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"プライベート スペース用のロックを選択してください"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"指紋を使ってプライベート スペースのロックを解除できます。セキュリティ上の理由により、この方法を使用するには予備のロックが必要になります。"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"プライベート スペースの PIN の設定"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"プライベート スペースのパスワードの設定"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"プライベート スペースのパターンの設定"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"最大で <xliff:g id="COUNT">%d</xliff:g> 件の指紋を追加できます"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"追加された指紋の数が上限に達しました"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"これ以上、指紋を追加できません"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"パターン"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"パスワード"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"画面ロックを削除しますか？"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"デバイスのすべての種類のロック解除を削除しますか？"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"プロファイル保護を削除しますか？"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"パターンは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"パターンは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>パターンを削除すると、デバイスに保存されている指紋モデルが削除されます。顔モデルも安全かつ完全に削除されます。アプリでの認証に顔や指紋を使用できなくなります。"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN は紛失・盗難時にスマートフォンを保護します"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN などの保存されているデータが失われます。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>タッチ決済に設定したカードが削除されます。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>デバイスのロック解除を必要とするウォレットなどのアプリが正しく動作しなくなる可能性があります。"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN は紛失・盗難時にスマートフォンを保護します。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>PIN を削除すると、デバイスに保存されている指紋モデルも削除されます。アプリでの認証に指紋を使用できなくなります。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN、指紋モデルなどの保存されているデータが失われます。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>タッチ決済に設定したカードが削除されます。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>デバイスのロック解除を必要とするウォレットなどのアプリが正しく動作しなくなる可能性があります。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN は紛失・盗難時にスマートフォンを保護します。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>PIN を削除すると、顔認証のモデルも安全かつ完全に削除されます。アプリでの認証に顔を使用できなくなります。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN、顔モデルなどの保存されているデータが失われます。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>タッチ決済に設定したカードが削除されます。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>デバイスのロック解除を必要とするウォレットなどのアプリが正しく動作しなくなる可能性があります。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN は紛失・盗難時にスマートフォンを保護します。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>PIN を削除すると、デバイスに保存されている指紋モデルと顔認証モデルが安全かつ完全に削除されます。アプリでの認証に顔や指紋を使用できなくなります。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN、顔モデル、指紋モデルなどの保存されているデータが失われます。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>タッチ決済に設定したカードが削除されます。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>デバイスのロック解除を必要とするウォレットなどのアプリが正しく動作しなくなる可能性があります。"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"パスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"パスワードは、紛失したり盗難に遭ったりした場合にスマートフォンを保護するものです。<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>をペアに設定しますか？"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"既存の調整された設定に新しいメンバーを追加してください"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"2 台目のオーディオ機器の追加を確認してください"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetoothペア設定コード"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"ペア設定コードを入力してからReturnキーまたはEnterキーを押してください"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PINに文字か記号が含まれる"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16桁の数字を入力してください"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"もう一方のデバイスでも、このPINの入力が必要な場合があります。"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"もう一方のデバイスでも、このパスキーの入力が必要な場合があります。"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"確認すると、調整された設定でペア設定します"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"オーディオ機器とのペア設定の確認"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"連絡先と通話履歴へのアクセスを許可する"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"連絡先と通話履歴へのアクセスも許可します"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"情報は着信の通知などに使用されます"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>に接続できませんでした。"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"使用可能なデバイス"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"接続"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"接続を解除"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ペアに設定して接続"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth を ON にすると、近くにある他の Bluetooth デバイスと通信できます。"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth を ON にすると、近くにある他の Bluetooth デバイスと通信できます"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth を ON にすると、付近の他の Bluetooth デバイスと通信できます。\n\nBluetooth が OFF の場合でもアプリやサービスは付近のデバイスをいつでもスキャンできます。位置情報を使用する機能やサービスで利便性が向上するなどの効果があります。この設定は Bluetooth スキャンの設定で変更できます。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"変更"</string>
     <string name="device_details_title" msgid="1155622417516195481">"デバイスの詳細"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"デバッグ可能なアプリのバイトコードの確認を ART に許可する"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"リフレッシュ レートの表示"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"現在のディスプレイ リフレッシュ レートを表示します"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR 比を表示する"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"現在の HDR/SDR 比を表示する"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC の使用にロック解除を要求"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ビーム"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"機内モード"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"利用可能なパブリック ネットワークを通知する"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"高品質の公共ネットワークが利用可能なときに通知する"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ネットワークを許可"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP は安全性の低い旧式のセキュリティ プロトコルです"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP ネットワークは安全性が低いため、ご利用の携帯通信会社では許可されていません"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi を自動的に ON にする"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"ホーム ネットワークなどの高品質の保存済みネットワークの検出時に Wi‑Fi を ON にする"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"位置情報が OFF のため使用できません。"<annotation id="link">"位置情報"</annotation>"を ON にしてください。"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi スキャンを ON にすると、Wi‑Fi が OFF の場合でも、アプリやサービスが常に Wi-Fi ネットワークをスキャンできます。位置情報を使用する機能やサービスで利便性が向上するなどの効果があります。"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ON にする"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi スキャンを ON にしました"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"このネットワークは安全性の低い旧式のセキュリティ プロトコルを使用しています"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> をブロックしました"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"このネットワークは安全性の低い旧式のセキュリティ プロトコルである WEP を使用しています。接続を続行するには、WEP ネットワークを許可してください。"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"このネットワークは安全性の低い旧式のセキュリティ プロトコルを使用しているため、ご利用の携帯通信会社では接続が許可されていません"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP を許可する"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"閉じる"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"詳細設定"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"プルダウン リスト、詳細設定"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展開"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi‑Fi を継続"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"次回から表示しない"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"接続"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi を有効にしました"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> に接続しました"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> に接続中"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"接続しています…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ネットワークに接続できませんでした"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ネットワーク圏外です"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"削除"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"変更"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ネットワークを削除できませんでした"</string>
     <string name="wifi_save" msgid="2312643132472226807">"保存"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ネットワークを保存できませんでした"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"キャンセル"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"モバイルデータ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"イーサネット"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ 充電中"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ 充電中"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"アクセス ポイントへの接続"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"接続強度"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"保存済みネットワーク"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"パスワードが設定されていません"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"アクセス ポイント名"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"アクセス ポイントのパスワード"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP 周波数帯"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"アクセス ポイントを自動的に OFF にする"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"デバイスが接続されていない場合、自動的に OFF にします。"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"互換性を拡張する"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ディスプレイのホワイト バランス"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"折りたたみ時もアプリの使用を継続"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"スムーズ ディスプレイ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"コンテンツに応じて、リフレッシュ レートを自動的に 60 Hz から <xliff:g id="ID_1">%1$s</xliff:g> Hz に変更します。バッテリー使用量が増えます。"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ゲームのデフォルトの fps を無効にする"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ゲームの最大フレームレート（<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz）の制限を無効にします。"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"スムーズ ディスプレイ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"コンテンツに応じて、リフレッシュ レートを自動的に <xliff:g id="ID_1">%1$d</xliff:g> Hz に変更します。バッテリー使用量が増えます。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ピーク時のリフレッシュ レートの適用"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"最高のリフレッシュ レートを適用します。タップの反応とアニメーションの品質が向上します。バッテリー使用量が増えます。"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"スクリーン アテンション"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"スクリーン アテンションは前面カメラを使用して、ユーザーが画面を見ているかどうかを検出します。この検出はデバイスのみで行われます。画像が保存されたり、Google に送信されたりすることはありません。"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"スクリーン アテンションを ON にする"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"見ている間は画面が OFF になりません"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"画面自動消灯の時間を長くすると、バッテリー消費量が多くなります。"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"カメラのロックを解除しました"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"顔検出を利用するにはカメラのロックを解除する必要があります"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"スクリーン アテンションを使用する場合は、カメラのロックを解除してください"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI（SIM スロット <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>）"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI（SIM スロット <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>）（メイン）"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"表示するには、保存済みネットワークを選択してください"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRLバージョン:"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"バッテリー残量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共用"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"共用の設定"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"衛星通信メッセージ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"アクセスポイントの編集"</string>
+    <string name="apn_add" msgid="9069613192201630934">"アクセス ポイントの追加"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"未設定"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未設定"</string>
     <string name="apn_name" msgid="6677695784108157953">"名前"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APNは有効です"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APNは無効です"</string>
     <string name="bearer" msgid="3231443241639159358">"ベアラー"</string>
+    <string name="network_type" msgid="748590707422733595">"ネットワークの種類"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"不明"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNOの種類"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO値"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APNを削除"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"保存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"キャンセル"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN のエントリが重複しています。"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"[名前]フィールドは必須です。"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APNは必ず指定してください。"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC欄は3桁で指定してください。"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC欄は2桁か3桁で指定してください。"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"携帯通信会社により、タイプ %s の APN の追加は許可されていません。"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC フィールドには有効な値を指定する必要があります。"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"デフォルトのAPN設定を復元しています。"</string>
     <string name="menu_restore" msgid="4310539620115151551">"初期設定にリセット"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN設定をリセットしました。"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"リセット"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth と Wi-Fi をリセットしました"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM を消去"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"この操作でモバイルのサービスプランが解約されることはありません。別の eSIM をダウンロードするには、携帯通信会社にお問い合わせください。"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"モバイル サービスプランは解約されません。交換用の SIM を入手するには、携帯通信会社にお問い合わせください。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"設定をリセット"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"すべてのネットワーク設定をリセットしますか？この操作を取り消すことはできません。"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"すべてのネットワーク設定をリセットして eSIM を消去しますか？この操作を元に戻すことはできません。"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"リセットしますか？"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ネットワークのリセットはこのユーザーには許可されていません"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ネットワーク設定をリセットしました"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM を消去できません"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"エラーのため、eSIM を消去できません。\n\nデバイスを再起動してもう一度お試しください。"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM を消去できません"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"エラーが発生したため eSIM を消去できませんでした。\n\nデバイスを再起動してもう一度お試しください。"</string>
     <string name="main_clear_title" msgid="277664302144837723">"すべてのデータを消去（初期設定にリセット）"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"すべてのデータを消去（初期設定にリセット）"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"音楽"</li>\n<li>"画像"</li>\n<li>"他のユーザーデータ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"この操作を行っても、ご利用のモバイル サービス プランはキャンセルされません。"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"個人情報とダウンロードしたアプリがすべて削除されます。この操作を取り消すことはできません。"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ダウンロードしたアプリや SIM を含め、個人情報がすべて削除されます。この操作を取り消すことはできません。"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ダウンロードしたアプリや eSIM を含め、個人情報がすべて削除されます。この操作を元に戻すことはできません。"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"すべてのデータを消去しますか？"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"このユーザーには初期設定へのリセットが許可されていません"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"消去しています"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"アクセス ポイント、USB、Bluetooth、イーサネット"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"インターネットを他のデバイスと共有しない"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"OFF"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"テザリング"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi-Fi アクセス ポイントを使用しない"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB でのみインターネットを共有"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bluetooth でのみインターネットを共有"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"イーサネットでのみインターネットを共有"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB と Bluetooth でのみインターネットを共有"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB とイーサネットでのみインターネットを共有"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Bluetooth とイーサネットでのみインターネットを共有"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB、Bluetooth、イーサネットでのみインターネットを共有"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB テザリング"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth テザリング"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"イーサネット テザリング"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"このデバイスをアクセス ポイントとして機能させてテザリングすることで、Wi-Fi またはモバイルデータ通信のインターネット接続を他のデバイスと共有できます。アプリでアクセス ポイントを作成し、近くのデバイスに接続することも可能です。"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ヘルプ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"モバイル ネットワーク"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"モバイルプラン"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS アプリ"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMSアプリを変更しますか？"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"SMSアプリとして<xliff:g id="CURRENT_APP">%2$s</xliff:g>の代わりに<xliff:g id="NEW_APP">%1$s</xliff:g>を使用しますか？"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi-Fiアシスタントを変更しますか？"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ネットワーク接続の管理に<xliff:g id="CURRENT_APP">%2$s</xliff:g>ではなく<xliff:g id="NEW_APP">%1$s</xliff:g>を使用しますか？"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ネットワーク接続の管理に<xliff:g id="NEW_APP">%s</xliff:g>を使用しますか？"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"不明なSIM事業者"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> には既知のプロビジョニング ウェブサイトがありません"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIMカードを挿入して再起動してください"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"インターネットに接続してください"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"最近の位置情報リクエスト"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"仕事用プロファイルで位置情報を使用"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"アプリへの位置情報の利用許可"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"アクセスをクリア"</string>
     <string name="controls_label" msgid="8671492254263626383">"コントロール"</string>
     <string name="force_stop" msgid="2681771622136916280">"強制停止"</string>
+    <string name="archive" msgid="9074663845068632127">"アーカイブ"</string>
+    <string name="restore" msgid="7622486640713967157">"復元"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"復元中"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"復元しています。"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"復元中…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"復元しています…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"合計"</string>
     <string name="application_size_label" msgid="6407051020651716729">"アプリのサイズ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USBストレージアプリ"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"パッケージのサイズを計算できませんでした。"</string>
     <string name="version_text" msgid="7628938665256107608">"バージョン<xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"移動"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"アーカイブできませんでした"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> をアーカイブしました"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"復元に失敗しました"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>アプリを復元しています"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"別の移行を既に実行しています。"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"十分な空き容量がありません。"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"アプリが存在しません。"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"利用可能な画面キーボード"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"画面キーボードを管理"</string>
     <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="6922850403920596246">"物理キーボードのユーザー補助のバウンスキーを有効にします"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"スローキー"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"物理キーボードのユーザー補助のスローキーを有効にする"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"固定キー"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"物理キーボードのユーザー補助の固定キーを有効にする"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"タッチパッドの右下をタップすると他のオプションが表示されます"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ポインタの速度"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"タッチパッド操作を見る"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ホームに移動"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"タッチパッドを 3 本の指で上にスワイプします"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"戻る"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"使用時間で並び替え"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"前回の使用日時で並び替え"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"アプリ名で並び替え"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"前回の使用"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"最終使用日時"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"なし"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"使用時間"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ユーザー補助"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ユーザー補助の設定"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"トリプルタップで拡大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ショートカットで拡大"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ショートカットとトリプルタップで拡大"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>について"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ユーザー補助機能ボタンで開く"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"両方の音量ボタンを長押しして開く"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"画面をトリプルタップして開く"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"2 本の指で画面をダブルタップして開く"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ジェスチャーで開く"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ユーザー補助操作を使用する"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"この機能を使用するには、画面の下部にあるユーザー補助機能ボタン <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> をタップします。\n\n機能を切り替えるには、ユーザー補助機能ボタンを長押しします。"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"この機能を使用するには、画面上のユーザー補助機能ボタンをタップしてください。"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"この機能を使用するには、音量大と音量小の両方のボタンを長押しします。"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"拡大を開始および停止するには、画面をトリプルタップします。"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"拡大を開始および停止するには、2 本の指で画面をダブルタップします。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"この機能を使用するには、2 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"この機能を使用するには、3 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ユーザー補助機能を使用するには、2 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、2 本の指で上にスワイプしたまま長押しします。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ユーザー補助機能を使用するには、3 本の指で画面の下から上にスワイプします。\n\n機能を切り替えるには、3 本の指で上にスワイプしたまま長押しします。"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ユーザー補助機能ボタンの設定"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ボタンの設定"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>のショートカット"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ユーザー補助機能ボタン"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ユーザー補助操作"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"音量ボタンを長押し"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"音量大と音量小の両方のボタンを長押し"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"音量大と音量小の両方のボタンを長押しします"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"2 本の指で画面をダブルタップする"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"2 本の指で画面をダブルタップする"</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="6863958573135995927">"画面をトリプルタップ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"画面をすばやく {0,number,integer} 回タップします。このショートカットを使うと、デバイスの動作が遅くなる場合があります"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ユーザー補助機能ボタンと操作の詳細"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ユーザー補助機能ボタンを使用します。3 ボタン ナビゲーションでは操作は利用できません。"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ユーザー補助機能にすばやくアクセスできます"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"手順は次のとおりです。"</b>\n"1. ユーザー補助設定に移動します\n2. 機能を選んでショートカットをタップします\n3. 機能にアクセスするためにボタンを使うか、ジェスチャーを使うかを選択します"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"手順は次のとおりです。"</b>\n"1. ユーザー補助設定に移動します\n2. 機能を選んでショートカットをタップします\n3. 機能にアクセスするためのボタンを選択します"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ボタンまたはジェスチャーを選択"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"場所"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"サイズ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"電源ボタンで通話を終了"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"マウスポインタを拡大"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"マウスポインタを目立たせることができます"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"すべてのアプリをダークモードにする"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"独自のダークモードがないアプリに適用されます。表示の問題（色の反転など）が起きる場合があります。"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"アニメーションを無効化"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"画面上の動きを軽減できます"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"モノラル音声"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"バイブレーションとハプティクスの使用"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"アラームのバイブレーション"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"メディアのバイブレーション"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"キーボードのバイブレーション"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"着信時のバイブレーション"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知時のバイブレーション"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"触覚フィードバック"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"停止"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"キャンセル"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"「<xliff:g id="SERVICE">%1$s</xliff:g>」を停止しますか？"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"[<xliff:g id="STOP">%1$s</xliff:g>] をタップすると「<xliff:g id="SERVICE">%2$s</xliff:g>」が停止します。"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"OFF にする"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ON のまま"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> を OFF にしますか？"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"インストールされているサービスはありません"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"サービスが選択されていません"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"説明はありません。"</string>
     <string name="settings_button" msgid="2195468788019730377">"設定"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"光 過敏, 羞明, ダーク テーマ, 片頭痛, 頭痛, 読書 モード, 夜間 モード, 下げる 明るさ, ホワイト ポイント"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"使いやすい, アクセスしやすい, アシスタント, アシスト"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"視覚, 聴覚, 視覚障がい, 聴覚障がい, 運動, 運動機能, 補助, アシスト, 使いやすい, アクセスしやすい, 腕, ヘルプ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Window Magnifier, ズーム, 拡大, ロー ビジョン, 大きくする, 切り替え 大きく"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"キャプション, クローズド キャプション, CC, 音声 文字変換, 難聴, 聴覚 障がい, CART, 音声 入力, 字幕"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"色のコントラスト"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"運動, マウス"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"補聴器, 難聴, 聴力の喪失, 人工内耳, 聴覚補助器, サウンド プロセッサ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"運動, マウス, 外付けマウス, ヘッドマウス, 適応型マウス, 車椅子, ジョイスティック"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"補聴器, 難聴, 聴力の喪失, 人工内耳, 聴覚補助器, サウンド プロセッサ, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"難聴, 聴覚 障がい, 字幕, テレタイプ, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"3 ボタン"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"運動機能, 運動, 高齢者, 関節炎, RSI, 脳卒中, 振戦, 多発性硬化症, 脳性麻痺, 震え, 反復運動損傷, 腕"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"遅い, 運動機能, 高齢者"</string>
     <string name="print_settings" msgid="8519810615863882491">"印刷"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"OFF"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 件の印刷サービスが ON}other{# 件の印刷サービスが ON}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"残り<xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"充電されるまで<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"フォアグラウンドの時間"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"バックグラウンドの時間"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"バッテリー残量: 少ない"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"バックグラウンドでのアプリの実行を許可"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"バックグラウンド アクティビティの制限"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"アプリのバックグラウンド アクティビティを制限すると、アプリが正常に機能しないことがあります"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"このアプリは、電池の最適化が設定されていないため、制限することはできません。\n\nこのアプリを制限するには、電池の最適化を ON にしてください。"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"バッテリー使用状況の管理"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"バックグラウンドでの使用の許可"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"リアルタイムのアップデートを利用する場合は有効に、バッテリーを節約したい場合は無効にしてください"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"制限なし"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"最適化"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"制限"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"使用量の多いアプリを確認"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"バッテリーを保護するために、充電が最適化されています"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"バッテリーを長持ちさせるために、充電が最適化されます"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"バッテリーを保護するために、充電が最適化されています"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"バッテリーを長持ちさせるために、ホルダーにセットされているときは充電が最適化されます"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"バッテリーを保護するために、充電が最適化されています"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"バッテリーを長持ちさせるために、ホルダーにセットされているときは充電が最適化されます"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"フル充電しています"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"バッテリーを保護するために、次回タブレットをホルダーにセットしたときには充電が最適化されます"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"充電一時停止の詳細"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"充電を再開"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"電力消費量の多いバックグラウンド アクティビティを含める"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"このアプリがバックグラウンドで電池を使用できるようになるため、電池を予想より早く消費する可能性があります。"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"解除"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"キャンセル"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"フル充電する"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"充電用アクセサリに関する問題"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"充電用アクセサリを確認してください"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"互換性のない充電方法の詳細"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"バッテリー マネージャ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"アプリを自動的に管理"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"前回のフル充電以降"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"システムアプリ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"アンインストールしたアプリ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"その他"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"予測される残り時間"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"フル充電まで"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"合計: 1 分未満"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"バックグラウンド: 1 分未満"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"利用時間: 1 分未満"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"1 分未満"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"合計: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"バックグラウンド: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"利用時間: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"現在"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>～<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"バッテリー使用量グラフ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"バッテリー使用量グラフ（日）"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"バッテリー使用量グラフ（時間）"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"バッテリー残量が<xliff:g id="START_PERCENTAGE">%1$s</xliff:g>から<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>に低下しました"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"前回のフル充電以降のバッテリー使用量"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> のバッテリー使用量"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"前回のフル充電以降の利用時間"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"緊急通報信号"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"緊急通報時の動作を設定します"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"バックアップ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ON"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"OFF"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"バックアップと復元"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"個人データ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"データのバックアップ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"モバイルデータと Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"個人データの自動同期"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"仕事データの自動同期"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"非公開データの自動同期"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"サイクルを変更…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"毎月データ使用サイクルをリセットする日:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"この期間中にデータを使用したアプリはありません。"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"名前"</string>
     <string name="vpn_type" msgid="5533202873260826663">"タイプ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"サーバー アドレス"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP 暗号化（MPPE）"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TPセキュリティ保護"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ID"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec事前共有鍵"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSecユーザー証明書"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 証明書"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSecサーバー証明書"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"詳細オプションを表示する"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 検索ドメイン"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS サーバー（例: 8.8.8.8）"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"転送ルート（例: 10.0.0.0/8）"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ユーザー名"</string>
     <string name="vpn_password" msgid="1183746907642628127">"パスワード"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"アカウント情報を保存する"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"（未使用）"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"（サーバーを確認しない）"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"（サーバーから受信）"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"この VPN タイプは常時接続できません"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"常時接続 VPN で使用できるのはアドレスが数値のサーバーのみです"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"常時接続 VPN には DNS サーバーを指定してください"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"常時接続 VPN の DNS サーバー アドレスには数値を指定してください"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"入力した情報は常時接続 VPN に対応していません"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"キャンセル"</string>
     <string name="vpn_done" msgid="5137858784289564985">"終了"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN 以外の接続のブロック"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN 接続を要求しますか？"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"安全ではありません。IKEv2 VPN に更新してください"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"サポート対象外の VPN を開始できませんでした。"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"常時接続するVPNプロファイルを選択します。このVPNに接続しているときのみネットワークにアクセスできます。"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"なし"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPNへの常時接続にはサーバーとDNSの両方のIPアドレスが必要です。"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"誘拐事件速報"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"児童誘拐についての速報を受信する"</string>
     <string name="repeat_title" msgid="8676570486899483606">"繰り返し"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"通話マネージャを有効にする"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"このサービスを使って通話方法を管理することを許可します。"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"通話マネージャ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"緊急速報メール"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"携帯通信会社"</string>
     <string name="access_point_names" msgid="5768430498022188057">"アクセスポイント名"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM のステータス"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM ステータス（SIM スロット %1$d）"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g>dBm <xliff:g id="ASU">%2$d</xliff:g>asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM を変更しました。"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM を変更しました"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"タップしてセットアップ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"その都度確認"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"選択してください"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使ったアプリ、デフォルトのアプリ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"仕事用プロファイルのアプリには通知へのアクセス権限はありません。"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"パスワードとアカウント"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"保存されているパスワード、自動入力、同期されているアカウント"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ログインと自動入力の候補"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"デフォルトのアプリ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"クローン作成済みアプリ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"アプリのインスタンスをもう 1 つ作成して、2 つのアカウントを同時に使用できるようにします。"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"ウォレット"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支払い, タップ, ペイメント"</string>
     <string name="keywords_backup" msgid="707735920706667685">"バックアップ, バック アップ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ジェスチャー"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"顔, フェイス, ロック解除, アンロック, 認証, ログイン, 顔認証"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"顔, ロック解除, 認証, ログイン, 指紋, 生体認証"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI, MEID, MIN, PRL バージョン, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"テキスト サイズ, 大きい 活字, 大きい フォント, 大きい テキスト, ロー ビジョン, 切り替え テキスト 大きく, フォント 大きく, フォント 拡大"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"常時オンのアンビエント表示, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, タグ, リーダー"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"キーボード、ハプティクス、振動"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、バイブレーション、サイレント モード"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"メディアの音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"キャストの音量"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"電源オンの音"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"自動字幕起こし"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"メディアの自動字幕起こし"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"スマートフォンのスピーカー"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"タブレットのスピーカー"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"デバイスのスピーカー"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有線ヘッドフォン"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"対応するメディアを臨場感あふれる音声でお楽しみいただけます"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"OFF"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"すべての通知の内容を表示する"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"機密性の高いコンテンツはロック解除時にのみ表示されます"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"通知を一切表示しない"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ロック画面に通知をどのように表示しますか？"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ロック画面に何を表示しますか？"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ロック画面"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"仕事用のすべての通知の内容を表示する"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"機密性の高い仕事の内容を非表示"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"最近の会話を削除しました"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"会話を削除しました"</string>
     <string name="clear" msgid="5092178335409471100">"消去"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>を消去"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"優先度の高い会話や設定を変更した会話がここに表示されます"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"会話の優先度を高く設定したり、設定を変更したりすると、ここに表示されます。\n\n会話の設定を変更するには: \n画面の上から下にスワイプし、プルダウン シェードを開いて、会話を長押しします。"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"最小化"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"通知のクールダウン"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"すべての通知にクールダウンを適用する"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"同じアプリから連続して大量の通知が届く場合に通知の数が徐々に減ります"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"会話にクールダウンを適用する"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"同じチャットから短い期間内に大量のメッセージが届く場合に通知の数が徐々に減ります"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"通知のクールダウンを使用しない"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"同じアプリから連続して届く通知の数にかかわらず、通知の数は減りません"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ロック解除時にバイブレーションで知らせる"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"画面のロックが解除されたときのみバイブレーションが作動します"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"仕事用プロファイルに適用する"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"個人用プロファイルの通知のクールダウンの設定を仕事用プロファイルに適用します"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ヘルパー サービス"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"VR ヘルパー サービスとしての実行権限をリクエストしたインストール済みアプリはありません。"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR サービスから <xliff:g id="SERVICE">%1$s</xliff:g> へのアクセスの許可"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"OFF"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"アプリ固定"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"アプリ固定機能を使用すると、固定を解除するまで現在のアプリを表示したままにすることができます。たとえば、この機能を使用して、信頼できる友だちに特定のゲームをプレイすることを許可できます。"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"アプリを固定した場合、そのアプリが他のアプリを開いたり、個人データにアクセスしたりする可能性があります。\n\nアプリ固定機能を使用するには: 	\n1. アプリ固定機能をオンにします 	\n2. [概要] を開きます 	\n3. 画面上部のアプリアイコンをタップし、[固定] をタップします"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"アプリを固定した場合、そのアプリが他のアプリを開いたり、個人データにアクセスしたりする可能性があります。\n\nデバイスを他のユーザーと安全に共有するには、代わりにゲストユーザーを使用してみてください。\n\nアプリ固定機能を使用するには: 	\n1. アプリ固定機能をオンにします 	\n2. [概要] を開きます 	\n3. 画面上部のアプリアイコンをタップし、[固定] をタップします"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"アプリを固定した場合、そのアプリが他のアプリを開いたり、個人データにアクセスしたりする可能性があります。\n\nアプリ固定を使用するには: 	\n{0,number,integer}. アプリ固定をオンにします 	\n{1,number,integer}. [概要] を開きます 	\n{2,number,integer}. 画面上部のアプリアイコンをタップし、[固定] をタップします"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"アプリを固定した場合、そのアプリが他のアプリを開いたり、個人データにアクセスしたりする可能性があります。\n\nデバイスを他のユーザーと安全に共有するには、代わりにゲストユーザーを使用してみてください。\n\nアプリ固定を使用するには: 	\n{0,number,integer}. アプリ固定をオンにします 	\n{1,number,integer}. [概要] を開きます 	\n{2,number,integer}. 画面上部のアプリアイコンをタップし、[固定] をタップします"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"アプリが固定されている場合: \n\n•	 個人データにアクセスされる可能性があります（連絡先、メールの内容など） \n•	 固定されたアプリが他のアプリを開く可能性があります \n\nアプリ固定機能は、相手を信頼できる場合にのみ使用してください。\n"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"画面固定の解除前にロック解除パターンを要求"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"画面固定の解除前にPINを要求"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"画面固定の解除前にパスワードを要求"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"アプリ固定の解除時にデバイスをロック"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM の削除時に本人を確認"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM の消去を確定します"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM を消去する前に本人確認を行う"</string>
     <string name="memtag_title" msgid="5096176296797727201">"高度なメモリ保護（ベータ版）"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"高度なメモリ保護"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"使用していないアプリの設定"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"使用していないアプリを一時停止する"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"権限と一時ファイルを削除し、通知を停止します"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"使用していないアプリを管理する"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"権限と一時ファイルを削除し、通知を停止し、アプリをアーカイブします"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"すべてのアプリ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"インストール済みアプリ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"空き"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"アプリのメモリ使用状況"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{過去 {time}に 1 個のアプリがメモリを使用しました}other{過去 {time}に # 個のアプリがメモリを使用しました}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"メモリ使用量のプロファイリングを有効化"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"メモリ使用量のプロファイリングには、より多くのシステム リソースが必要になります。"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"メモリのプロファイリングは無効です"</string>
     <string name="running_frequency" msgid="7260225121706316639">"頻度"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"最大使用量"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"データ通信の使用はありません"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"他のアプリの上に重ねて表示"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"他のアプリの上に重ねて表示できるようにする"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"使用中の他のアプリの上にこのアプリを重ねて表示できます。このアプリ側から、タップする場所を把握したり、画面に表示する内容を変更したりできます。"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"メディア出力の変更"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"アプリにメディア出力の切り替えを許可"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"このアプリに、他のアプリの音声や動画を再生する接続済みデバイスの選択を許可します。許可された場合、このアプリは、使用可能なデバイス（ヘッドフォン、スピーカーなど）のリストにアクセスして、音声や動画のストリーミングやキャストに使用する出力デバイスを選択できるようになります。"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"すべてのファイルへのアクセス"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"全ファイルの管理権を付与"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"このアプリに対して、デバイス内または接続されているストレージ ボリューム内のファイルすべての参照、変更、削除を許可します。許可されている場合、アプリがユーザーの事前の承認なしにファイルにアクセスすることもあります。"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"すべてのファイルにアクセス可能"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"音声アクティベーション アプリ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"音声アクティベーションを許可する"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"音声アクティベーション機能により、承認されたアプリを音声コマンドを通じてハンズフリーで有効にできます。組み込みのアダプティブ センシングで、あなた以外にデータが公開されることはありません。\n\n"<a href="">"保護されたアダプティブ センシングの詳細"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"全画面通知"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"このアプリからの全画面通知を許可する"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"デバイスがロックされているときに通知を全画面に表示することを、このアプリに許可します。アプリはこの設定を、アラーム、着信、緊急通知などを強調するために使用することがあります。"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"警告するデータ使用量: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"データ上限: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"データ警告: <xliff:g id="ID_1">^1</xliff:g> / データ上限: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"デバイスで記録されるデータ使用量と携帯通信会社のデータ使用量は異なる場合があります"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"モバイルデータ通信の使用量は含まれません"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> 使用"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"データ使用量を警告"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"更新: <xliff:g id="ID_1">^2</xliff:g> 前"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"更新: <xliff:g id="ID_1">^1</xliff:g>、たった今"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"更新: たった今"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"プランを表示"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"詳細を表示"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"データセーバー"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"モバイルデータの無制限利用"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g>: バックグラウンドで通常よりバッテリー使用量が増えました"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g>: フォアグラウンドでバッテリー使用量が増えました"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g>: フォアグラウンドで通常よりバッテリー使用量が増えました"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"バッテリー使用量が異常です"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"バッテリー使用量が多い"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"バックグラウンドでバッテリー使用量が多い"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"フォアグラウンドでバッテリー使用量が多い"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"クイック設定開発者用タイル"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb 承認無効のタイムアウト"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"デフォルトの期間（7 日）またはユーザー設定の期間（1 日以上）内に再接続されなかったシステムに対する adb 承認の自動取り消しを無効にします。"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"ウィンスコープ トレース"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"センサー OFF"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"仕事用プロファイルの設定"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"個人用アプリで仕事用の連絡先リストを検索"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"システム ナビゲーション, 2 ボタン ナビゲーション, 3 ボタン ナビゲーション, ジェスチャー ナビゲーション, スワイプ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"デジタル アシスタント"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"スワイプしてアシスタントを起動"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"右下隅または左下隅から斜め上にスワイプしてデジタル アシスタント アプリを起動します。"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"右下隅または左下隅から斜め上にスワイプしてデジタル アシスタント アプリを起動します"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ホームボタンを長押ししてアシスタントを起動"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ホームボタンを長押しすることでデジタル アシスタント アプリを起動します。"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"自動入力サービス"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"デフォルトの自動入力サービス"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"パスワード"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"パスワード、パスキー、データのサービス"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"追加のプロバイダ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"優先するサービス"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"その他のサービス"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# 件のパスワード}other{# 件のパスワード}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"自動, 入力, 自動入力, パスワード"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"データ, パスキー, パスワード"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"自動, 入力, 自動入力, データ, パスキー, パスワード"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"変更"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"開く"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"何も選択されていません"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;このアプリが信頼できることを確認してください&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; は画面上の内容に基づいて、自動入力可能な情報を判別します。"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; を使用しますか？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; は画面上の内容に基づいて、自動入力可能な情報を判別します。今後は、新しいパスワード、パスキー、その他の情報がここに保存されます。"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"パスワード、パスキー、データのサービス"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; を使用しますか？&lt;/b&gt;&lt;br/&gt; &lt;br/&gt; 今後は、新しいパスワード、パスキー、その他の情報がここに保存されます。&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; は画面上の内容に基づいて、自動入力可能な情報を判別します。"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"パスワード、パスキーと自動入力で優先的に使用するサービス"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s を OFF にしますか？"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;このサービスを無効にしますか？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;パスワード、パスキー、お支払い方法などの情報を保存しました。その他の情報はログイン時に入力されません。保存された情報を使用するには、パスワード、パスキー、またはデータのサービスを選択してください。"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"パスワード、パスキーと自動入力"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;すべてのサービスを無効にしますか？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;新しいパスワード、パスキー、その他の保存した情報は、ログイン時の自動入力で使用できなくなります。"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;優先的に使用するサービスを &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; に変更しますか？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;今後は、新しいパスワード、パスキー、その他の情報がここに保存されます。&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; は画面上の内容に基づいて、自動入力可能な情報を判別します"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s を使用しますか？"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"OFF にする"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"変更"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"有効にできるサービスは 5 個だけです"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"他のサービスを追加するには、サービスを 1 つ以上無効にしてください"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s は自動入力できる情報を判断するために画面上に表示される情報を使用します。"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"パスワード、パスキー、データのサービスの上限に達しました"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"一度に有効にできるパスワード、パスキー、データのサービスは 5 個までです。追加するには、いずれかのサービスを OFF にしてください。"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"パスワード、パスキー、データのサービスの上限に達しました"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"一度に有効にできるパスワード、パスキー、データのサービスは 5 個までです。追加するには、いずれかのサービスを OFF にしてください。"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"OFF にする"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"自動入力"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ロギングレベル"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"アプリの互換性の変更は、デバッグ可能アプリでのみ行えます。デバッグ可能アプリをインストールしてから、もう一度お試しください。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"別の設定に依存しています"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"アカウント"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d 個のアカウント"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"デバイス名"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"基本情報"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"法律と規制"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC タグが検出されたときに起動することを、このアプリに許可します。\nこの権限が有効の場合にタグが検出されると、このアプリをオプションとして利用できるようになります。"</string>
     <string name="media_output_title" msgid="8283629315159510680">"メディアの再生先"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> を再生:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"音声の再生形式:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"このデバイス"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通話中は利用できません"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"通話するデバイス"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ミュート"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"有効にするには、まず [電源ボタンを長押し] を電源ボタン メニューに変更します。"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ネットワークの詳細"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"デバイス名がスマートフォンのアプリに表示されます。また、Bluetooth デバイスや Wi-Fi ネットワークに接続したり Wi-Fi アクセス ポイントを設定したりすると、他のユーザーもデバイス名を確認できるようになります。"</string>
     <string name="devices_title" msgid="649715719278562515">"デバイス"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ネットワークを選択"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"接続が解除されました"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"名前"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"色（対応アプリで使用）"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"保存"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM を使用"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"この SIM を使用する"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"OFF"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"この SIM を無効にするには、SIM カードを取り出してください"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> を有効にするにはタップします"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM を消去"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"この SIM を OFF にするには、SIM カードを取り出してください"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> の SIM を有効にするにはタップします"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM を消去する"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"優先ネットワークの種類"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ネットワーク動作モードの変更"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"優先ネットワークの種類"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"価格設定については、ネットワーク プロバイダにお問い合わせください。"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"アプリのデータ使用量"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ネットワーク モード <xliff:g id="NETWORKMODEID">%1$d</xliff:g> は無効です。無視してください。"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"衛星通信メッセージ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"衛星通信によりテキスト メッセージを送受信します。お客様のアカウントに含まれています。"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"衛星通信によりテキスト メッセージを送受信します。お客様のアカウントには含まれていません。"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"衛星通信メッセージ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"衛星通信メッセージについて"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"対象の <xliff:g id="CARRIER_NAME">%1$s</xliff:g> アカウントの一部として、衛星通信によるテキスト メッセージの送受信を行えます"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> のプラン"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"衛星通信メッセージはお客様のアカウントに含まれています"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"衛星通信メッセージはお客様のアカウントに含まれていません"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"衛星通信メッセージを追加"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"仕組み"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"モバイル ネットワークがない場合"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"お使いのスマートフォンを衛星通信に自動接続します。接続を最大限良好にするには、外に出て、空がよく見える場所に移動してください"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"スマートフォンが衛星通信に接続された後"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"テキスト メッセージは、緊急サービスを含め誰にでも送信できます。モバイル ネットワークが利用できる状態になると再接続されます。"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"衛星通信メッセージは、利用できるエリアが制限され、通常より時間がかかることがあります。天候やなんらかの構造物が、衛星通信の接続に影響することがあります。衛星通信による通話はご利用いただけません。\n\n変更内容がアカウントの [設定] に反映されるまでに時間がかかることがあります。詳細については、<xliff:g id="CARRIER_NAME">%1$s</xliff:g> にお問い合わせください。"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"衛星通信メッセージの詳細"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"アクセス ポイント名"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> への接続時は利用できません"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> に切り替えますか？"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM カードの使用に切り替えますか？"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> を使用しますか？"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"SIM は一度に 1 つのみ有効にできます。\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> に切り替えても、<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> サービスが解約されることはありません。"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"eSIM は一度に 1 つのみ有効にできます。\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> に切り替えても、<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> のサービスが解約されることはありません。"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"SIM は一度に 1 つのみ有効にできます。\n\n切り替えても、<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> サービスが解約されることはありません。"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"SIM は一度に 1 つのみオンにできます。\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> に切り替えても、<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> のサービスが解約されることはありません。"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"eSIM は一度に 1 つのみオンにできます。\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> に切り替えても、<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> のサービスが解約されることはありません。"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"SIM は一度に 1 つのみオンにできます。\n\n切り替えても、<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> のサービスが解約されることはありません。"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"同時に 2 つの SIM を試用できます。<xliff:g id="CARRIER_NAME">%1$s</xliff:g> を使用するには、別の SIM を OFF にしてください。"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> に切り替える"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> を OFF にする"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM を OFF にしてもサービスが解約されることはありません"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ネットワークに接続しています…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"通話とメッセージの SIM を <xliff:g id="CARRIER_NAME">%1$s</xliff:g> に切り替えています…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"携帯通信会社の切り替えエラー"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"エラーが発生したため、携帯通信会社を切り替えることができません。"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM を有効にしています…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> に切り替えています…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM を切り替えられません"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"エラーが発生しました。SIM を切り替えられません。"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> を OFF にしますか？"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM を OFF にしますか？"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM を OFF にしています<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"携帯通信会社の無効化エラー"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"エラーが発生したため、携帯通信会社を無効にできませんでした。"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM を OFF にできません"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"エラーが発生したため、SIM を OFF にできませんでした。"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 つの SIM を使用しますか？"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"このデバイスでは同時に 2 つの SIM を使用できます。引き続き 1 つのみを使用するには、[いいえ] をタップしてください。"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"デバイスを再起動しますか？"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"いいえ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"キャンセル"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切り替える"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"OFF にする"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM を有効にできません"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM をもう一度 ON にしてみてください。問題が解決しない場合は、デバイスを再起動してください。"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM を設定する"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"モバイル ネットワークの設定を変更して、このデバイスで複数の SIM を使用できるようにします"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM のラベルを設定する"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"通話時、テキスト メッセージの送信時、データの使用時や [設定] 内で、これらのラベルが表示されます"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM のラベル"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ラベル"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"使用する SIM を選択する"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"同時に 2 つの SIM を使用できます"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"プライマリ SIM を設定する"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"通話、テキスト メッセージ、データ用にデフォルトで使う SIM を選択します"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"プライマリ SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"通話"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"テキスト メッセージ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"自動データ切り替え"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"サービスの対象エリアや提供状況に応じて、いずれかの SIM のデータを使用します"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"データのみ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"設定"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"次へ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> をオンにしています…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"モバイル ネットワーク"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"電話番号"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM のラベルと色"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ネットワークの有効化"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"携帯通信会社の切り替え"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> は有効です"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> の SIM は有効です"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM の設定を更新するにはタップしてください"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> に切り替えました"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"別の携帯通信会社に切り替えました"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"モバイル ネットワークが変更されました"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"他の SIM をセットアップする"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"有効な SIM を選択するか、2 つの SIM を同時に使用します"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"使用する電話番号を選択"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{このデバイスでは 1 つの電話番号を使用できますが、一度に使用できるのは 1 つのみです}=2{このデバイスでは 2 つの電話番号を使用できますが、一度に使用できるのは 1 つのみです}other{このデバイスでは # 件の電話番号を使用できますが、一度に使用できるのは 1 つのみです}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"有効にしています<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"有効にできませんでした"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"使用する SIM の選択"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{このデバイスでは 1 個の SIM を使用できますが、一度に使用できるのは 1 個のみです}=2{このデバイスでは 2 個の SIM を使用できますが、一度に使用できるのは 2 個のみです}other{このデバイスでは # 個の SIM を使用できますが、一度に使用できるのは 1 個のみです}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ON にしています<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"この SIM は現在有効にできません"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> を使用しますか？"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> をモバイルデータ、通話、SMS に使用します。"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"有効な SIM がありません"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"モバイルデータ、電話機能、SMS を後で使用するには、ネットワークの設定に移動してください"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"この eSIM を消去しますか？"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"この SIM を消去すると、デバイスから <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> サービスが削除されます。\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> のサービスが解約されることはありません。"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"消去すると、<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> のサービスはこのデバイスから削除されますが、<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> のプランは解約されません。"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"消去"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM を消去しています…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM を消去できません"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"エラーのため、この SIM を消去できません。\n\nデバイスを再起動してもう一度お試しください。"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM を消去しています…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM を消去できません"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"エラーが発生したため、この eSIM を消去できませんでした。\n\nデバイスを再起動してもう一度お試しください。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"デバイスに接続"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> アプリがデバイスに接続するために、Wi-Fi ネットワークを一時的に使用します"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"デバイスが見つかりません。デバイスの電源が入っており、接続が可能であることを確認してください。"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"緊急通報"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"お使いの携帯通信会社は、Wi‑Fi 通話による緊急通報には対応していません。\n緊急通報できるようデバイスはモバイル ネットワークに自動的に切り替わります。\n緊急通報が可能なのは、通信エリア内の地域のみです。"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"通話に Wi-Fi を使用して品質を改善する"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"通話のバックアップ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> が利用できない場合やローミング中の場合は、モバイルデータ SIM を使って <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> の発着信を行ってください。"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"通話のバックアップ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS メッセージの受信"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS メッセージを送信できません"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"モバイルデータが OFF のときに <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> で MMS メッセージを送受信できるようにするには、タップします"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"仕事に関するポリシーの情報"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT 管理者によって管理されている設定"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16 KB ページサイズで起動"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16 KB ページサイズのサポートされているカーネルでデバイスを起動します"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16 KB ページの互換性のあるカーネルで再起動しますか？"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"警告: 一部のアプリケーションはこのモードに対応していない可能性があります。確認後にデバイスが再起動します。"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 KB ページの互換性のあるカーネルで再起動しますか？"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"確認後にデバイスが再起動します。"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"16 KB ページの互換性のあるカーネルにアップデートできませんでした。"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"変更を適用しています"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"バグレポート ハンドラ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"デバイスでバグレポートのショートカットを処理するアプリを選択します。"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"個人用"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"他のアプリの上に重ねて表示して設定画面をオーバーレイすることをアプリに許可します"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem の許可"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"インストルメンテーション テストで Mock Modem サービスを実行することをこのデバイスに許可します。スマートフォンの通常の使用中はこの設定を有効にしないでください"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"画面共有の保護を無効にする"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"システムが適用しているアプリや通知の保護機能を、画面共有中は無効にします"</string>
     <string name="media_controls_title" msgid="403271085636252597">"メディア"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"メディア プレーヤーを固定する"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"再生をすばやく再開できるよう、[クイック設定] にメディア プレーヤーを開いたままにします"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ロック画面にメディアを表示"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"再生をすばやく再開できるよう、ロック画面にメディア プレーヤーを開いたままにします"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"おすすめのメディアを表示"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"アシスタントのおすすめのメディアを表示する"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"アクティビティに基づいて表示します"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"プレーヤーを非表示"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"クイック設定に表示させるプレーヤーを選択"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"メディア"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"カメラ ソフトウェアの拡張機能を許可する"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Eyes Free 動画撮影などの高度なカメラ機能について、デフォルトのソフトウェアの実装を有効にします。"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth が ON になります"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"インターネット"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"有効"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"無効"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"オン"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"オフ"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g>のデフォルト"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"通話"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"対応するメディアを臨場感あふれる音声でお楽しみいただけます"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ヘッド トラッキング"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"より自然なサウンドになるよう頭の動きに合わせて音声が変化します"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"権限を同期する"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> で許可したものと同じアプリの権限を <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> に付与してください"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"スマートフォンから権限を同期する"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"このスマートフォンで許可したものと同じアプリの権限をスマートウォッチに付与してください"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"オーディオ システムのタイプ"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"不明"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"スピーカー"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
     <string name="contrast_high" msgid="3988567609694797696">"高"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"このアプリはウィンドウが 1 つの場合のみ開くことができます"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ON"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"OFF"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"OFF"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"OFF"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ON"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"OFF"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ON"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"OFF"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"明るい画面が暗くなり、暗い画面が明るくなります"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"画面上で拡大する"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"OFF"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"OFF"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"虚偽の振る舞いをするアプリをスキャンする"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"フィッシングに関するアプリのアクティビティを確認する"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"虚偽の振る舞いをするアプリを検出する"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"虚偽の振る舞いをする仕事用アプリを検出する"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"パスワードを設定しました"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"選択中にポインタを表示する"</string>
 </resources>
diff --git a/res/values-ka/arrays.xml b/res/values-ka/arrays.xml
index d101086..1030cc0 100644
--- a/res/values-ka/arrays.xml
+++ b/res/values-ka/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ხელმისაწვდომი"</item>
     <item msgid="6096962300722555553">"დიაპაზონს მიღმა"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"გათიშულია"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast და Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"სისტემის ნაგულისხმევი პარამეტრების გამოყენება: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 წუთის შემდეგ"</item>
     <item msgid="1574040255478150028">"5 წუთის შემდეგ"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ka/strings.xml b/res/values-ka/strings.xml
index 9bf0fe4..48a1ddb 100644
--- a/res/values-ka/strings.xml
+++ b/res/values-ka/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ახლა დეველოპერი ხართ!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"არ არის საჭირო, თქვენ უკვე დეველოპერი ხართ."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"გთხოვთ, ჯერ ჩართოთ დეველოპერთა პარამეტრები."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"მხოლოდ ადმინისტრატორ მომხმარებლებს შეუძლიათ წვდომა დეველოპერის პარამეტრებზე."</string>
     <string name="header_category_system" msgid="1665516346845259058">"სისტემა"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"მომსახურების არეში"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"მომსახურების არის მიღმა"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"წინა ეკრანის ჩაირთვება როდესაც მოწყობილობას ჩაკეცავთ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"მხოლოდ თამაშები, ვიდეოები და მეტი"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"წინა ეკრანი ჩაირთვება იმ აპებისთვის, რომლებიც ხელს უშლიან თქვენს ეკრანს მოლოდინის რეჟიმში გადასვლას"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"გასაგრძელებლად გადაფურცლეთ ზემოთ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"დაკეცეთ ტელეფონი და აპის გამოყენების გასაგრძელებლად წინა ეკრანზე გადაფურცლეთ ზემოთ, ან დაელოდეთ ეკრანის ჩაკეტვას რამდენიმე წამის განმავლობაში."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"არასოდეს"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"თქვენი ეკრანი ჩაიკეტება როდესაც მოწყობილობას ჩაკეცავთ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ავტომატური შეტრიალების გამოყენება"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"მსგავსი"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ზარი და მაღვიძარები"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"აუდიო დარეკვის დროს"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"მედია"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"შეტყობ. და სხვა სისტემური ხმა"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"მედიისა და სისტემის ხმები"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"შეტყობინებები"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ნაგულისხმევად, გამომავალ აუდიოს განსაზღვრავს ინდივიდუალური აპები"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"უსახელო Bluetooth მოწყობილობა"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"მიმდინარეობს ძიება"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"გაუქმება"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE-აუდიოს გათიშვა"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Bluetooth LE AUDIO-ს ფუნქცია ითიშება, თუ მოწყობილობას აქვს LE AUDIO-ს აპარატურული გარჩევადობები."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE-აუდიო რეჟიმი"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE-აუდიო გადართვის ჩვენება მოწყობილობის დეტალებში"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE-აუდიოს დაშვებულთა სიის ჩართვა"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE-აუდიოს დაშვებულთა სიის ფუნქციის ჩართვა."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE-აუდიოს დაშვებულთა სიისთვის გვერდის ავლა"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"გამოიყენეთ LE-აუდიო ნაგულისხმევი სახით, თუნდაც LE-აუდიო პერიფერიული მოწყობილობა არ შეესაბამებოდეს დაშვებულთა სიის კრიტერიუმს."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"მედია მოწყობილობები"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"მოწყობილობებზე დარეკვა"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"სხვა მოწყობილობები"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"შენახული მოწყობილობები"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ანგარიშთან დაკავშირებული"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ადრე გამოიყენებოდა ანგარიშთან"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"დასაწყვილებლად ჩაირთვება Bluetooth"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"კავშირის პარამეტრები"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"წარსულში დაკავშირებული"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ჩაირთო"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ყველას ნახვა"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ყველას ნახვა"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"სტილუსი"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"კუდის ღილაკზე დაჭერა"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (სამსახურის პროფილი)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"დაწერეთ ტექსტურ ველებში"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"იგნორირება გაუკეთეთ სტილუსის ღილაკების ყველა დაჭერას"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"სტილუსი"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"აუდიოს გაზიარება"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"აუდიოს გაზიარება"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ზარები და მაღვიძარები"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"დაუკავშირდით აუდიო ნაკადს QR კოდის გამოყენებით"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"ახლომახლო აუდიო ნაკადები ვერ მოიძებნა."</string>
     <string name="date_and_time" msgid="1788358029823431692">"თარიღი და დრო"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"პროქსი"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"გაწმენდა"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"დაემატოს %s პრიორიტეტულ ენებს?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ეს საშუალებას აძლევს აპებსა და ვებსაიტებს, გაიგონ, რომ თქვენც ამ ენას ანიჭებთ უპირატესობას."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"თქვენი მოწყობილობის პარამეტრები და რეგიონალური უპირატესი ფუნქციები შეიცვლება."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"შეცვლა"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s მიუწვდომელია"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"შაბათი"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"თუ აპი მხარს არ უჭერს რეგიონულ პარამეტრებს, ის ნაგულისხმევი ლოკალის პარამეტრებს გამოიყენებს."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"შეიტყვეთ მეტი ენის პარამეტრების შესახებ."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"დამატებითი პარამეტრები"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"მომართვის პირობები"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"დააყენეთ თქვენთან მომართვის პირობები"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"აპს შეუძლია თქვენთან მომართვის პირობების პერსონალიზება."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"არ არის მითითებული"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"მდედრობითი"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"მამრობითი"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ნეიტრალური"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ამოიშალოს არჩეული ენა?}other{ამოიშალოს არჩეული ენები?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ტექსტი სხვა ენაზე იქნება ნაჩვენები."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ყველა ენის ამოშლა ვერ მოხერხდება"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"მდებარეობა"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"მდებარეობის გამოყენება"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"გამორთული"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ჩართულია — # აპს აქვს მდებარეობაზე წვდომა}other{ჩართულია — # აპს აქვს მდებარეობაზე წვდომა}}"</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_location_off" msgid="8568995909147566720">"აპებისა და სერვისების მდებარეობაზე წვდომა გამორთულია. თქვენი მოწყობილობის მდებარეობა მაინც გაიგზავნება გადაუდებელი დახმარების სამსახურში, როცა გადაუდებელი დახმარების სამსახურის ნომერზე დარეკავთ ან ტექსტურ შეტყობინებას გაგზავნით."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"შეიტყვეთ მეტი მდებარეობის პარამეტრების შესახებ."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"შეიტყვეთ მეტი მდებარეობის პარამეტრების შესახებ"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"მდებარეობის წვდომის შეცვლა: პარამეტრები &gt; უსაფრთხოება და კონფიდენციალურობა &gt; კონფიდენციალურობის მართვის პარამეტრები"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ანგარიშები"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"უსაფრთხოება"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"დაშიფვრა და ავტორიზაციის მონაცემები"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"საუკეთესო შედეგების მისაღებად გამოიყენეთ ეკრანის დამცავი, რომელიც სერტიფიცირებულია Made for Google-ის მიერ. ეკრანის სხვა დამცავებზე თქვენი ბავშვის თითის ანაბეჭდი, შესაძლოა, არ მუშაობდეს."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"საათით განბლოკვა"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"სახით და ანაბეჭდით განბლოკვას რომ დააყენებთ, ტელეფონი მოგთხოვთ თითის ანაბეჭდს, როცა პირბადეს ატარებთ ან ბნელ სივრცეში ხართ.\n\nშეგიძლიათ განბლოკოთ თქვენი საათით, როდესაც თქვენი სახის ან თითის ანაბეჭდის ამოცნობა ვერ ხერხდება."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"შეგიძლიათ განბლოკოთ თქვენი საათით, როდესაც თქვენი თითის ანაბეჭდის ამოცნობა ვერ ხერხდება."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"შეგიძლიათ განბლოკოთ თქვენი საათით, როდესაც თქვენი სახის ამოცნობა ვერ ხერხდება."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"სახით განბლოკვისა და ანაბეჭდით განბლოკვის დაყენების შემთხვევაში თქვენი ტელეფონი მოგთხოვთ თითის ანაბეჭდს, თუ ნიღაბი გეკეთებათ ან ბნელ სივრცეში იქნებით.\n\nსაათის განბლოკვა კიდევე ერთი ხელსაყრელი გზაა თქვენი ტელეფონის განსაბლოკად, მაგალითად, როცა თითები სველი გაქვთ ან სახე არაა ამოცნობილი."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"საათის განბლოკვა კიდევე ერთი ხელსაყრელი გზაა თქვენი ტელეფონის განსაბლოკად, მაგალითად, როცა თითის ანაბეჭდი არაა ამოცნობილი."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"საათის განბლოკვა კიდევე ერთი ხელსაყრელი გზაა თქვენი ტელეფონის განსაბლოკად, მაგალითად, როცა სახე არაა ამოცნობილი."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"გამოიყენეთ თითის ანაბეჭდი ან საათი, რათა"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"გამოიყენეთ სახე ან საათი, რათა"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"გამოიყენეთ სახე, თითის ანაბეჭდი ან საათი, რათა"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"საათის განბლოკვა ამ ტელეფონის განბლოკვის კიდევ ერთი მოსახერხებელი მეთოდია, მაგალითად, იმ შემთხვევისთვის, როცა თითები სველი გაქვთ ან სახის ამოცნობა ვერ ხერხდება.\n\nამ ტელეფონის განსაბლოკად საათის გამოყენება შეგიძლიათ, როცა:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ახლა არა"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"გაგრძელება"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"მეტი"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"მუშაობის პრინციპი"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"თქვენი საათი უნდა გქონდეთ მაჯაზე განბლოკილ მდგომარეობაში და ამ ტელეფონის დაფარვის არეალში. საათის ხელახლა განბლოკვა არ დაგჭირდებათ, როცა ის მაჯაზე გიკეთიათ."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ტელეფონის განბლოკვის შესახებ შეტყობინებას საათზე მიიღებთ. შემთხვევით განბლოკვის შემთხვევაში შეეხეთ შეტყობინებას, რომ ხელახლა დაბლოკოთ ტელეფონი."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ამას თქვენ აკონტროლებთ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"საათის განბლოკვის გაუქმება ნებისმიერ დროს შეგიძლიათ პარამეტრებიდან"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"შეეხეთ შეტყობინებას"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ჩაკეტილ ეკრანზე გადაფურცლეთ ზემოთ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"აირჩიეთ საათი"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ხელმისაწვდომი საათები"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"გაუქმება"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"დადასტურება"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ყველაფერი მზადაა!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ტელეფონის განბლოკვა უკვე საათითაც შეგიძლიათ ჩაკეტილ ეკრანზე ზემოთ გადაფურცვლით ან შეტყობინებაზე შეხებით"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"მზადაა"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"საათის განბლოკვა"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ტელეფონის განბლოკვა საათით შეგიძლიათ, როდესაც ზემოთ გადაფურცლავთ ჩაკეტილ ეკრანზე ან შეეხებით შეტყობინებას"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"საათის განბლოკვით რომ ისარგებლოთ, თქვენი საათი განბლოკილი, მაჯაზე გაკეთებული, მისაწვდომი და ამ ტელეფონთან დაკავშირებული უნდა იყოს. თუ კავშირი შეფერხდება, დაგჭირდებათ, რომ განბლოკოთ ტელეფონი, სანამ საათის განბლოკვას გამოიყენებთ.\n\nგაითვალისწინეთ:\nერთ ჯერზე მხოლოდ ერთი საათის დაყენება შეგიძლიათ. სხვა საათის დასამატებლად თავდაპირველად არსებული საათი ამოშალეთ."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"სახით და თითის ანაბეჭდით განბლოკვა სამსახურისთვის"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"საჭიროა დაყენება"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"უსაფრთხოება"</string>
     <string name="privacy_header" msgid="5526002421324257007">"კონფიდენციალურობა"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"სამსახურის პროფილი"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"კერძო სივრცე"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ჩაკეტეთ და დამალეთ პირადი აპები"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"შეინახეთ პირადი აპები ცალკე სივრცეში, რომლის დამალვა ან ჩაკეტვა შეგიძლიათ"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"პირადი სივრცის ჩაკეტვა"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"განბლოკეთ თქვენი კერძო სივრცე ისე, როგორც თქვენს მოწყობილობას განბლოკავთ, ან დააყენეთ განსხვავებული საკეტი"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"გამოიყენეთ მოწყობილობის ეკრანის დაბლოკვა"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"სახით და თითის ანაბეჭდით განბლოკვა"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ანაბეჭდით განბლოკვა"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"სახით განბლოკვა"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"შეეხეთ დასაყენებლად"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"კერძო სივრცის ანაბეჭდით განბლოკვა"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"კერძო სივრცის სახით განბლოკვა"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"განბლოკვის ხერხები"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"მოწყობილობის იდენტური ეკრანის დაბლოკვის მეთოდი"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"კერძო სივრცისთვის ახალი საკეტის არჩევა"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"კერძო სივრცის ავტომატურად ჩაკეტვა"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"შეგიძლიათ კერძო სივრცის ავტომატურად ჩაკეტვა, თუ არ იყენებთ მოწყობილობას გარკვეული პერიოდის განმავლობაში"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ყოველთვის, როდესაც მოწყობილობა ჩაიკეტება"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5-წუთიანი უმოქმედობის შემდეგ"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"არასოდეს"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"დამალვა ჩაკეტილ მდგომარეობაში"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"კერძო სივრცის დამალვა ჩაკეტილ მდგომარეობაში"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"შეგიძლიათ დამალოთ კერძო სივრცე თქვენი აპების სიიდან, თუ არ გსურთ, რომ სხვებმა იცოდნენ, რომ თქვენს მოწყობილობაზე კერძო სივრცეს იყენებთ"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"წვდომა კერძო სივრცეზე, როცა დამალულია"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"თქვენი აპების სიიდან ძიების ზოლში შეიყვანეთ „კერძო სივრცე“"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"შეეხეთ კერძო სივრცის მოზაიკის ფილას"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"თქვენი კერძო სივრცის განბლოკვა"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"გამორთული"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ჩართული"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"სისტემა"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"კერძო სივრცის წაშლა"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"გსურთ კერძო სივრცის წაშლა?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"კერძო სივრცე ამოიშლება თქვენი მოწყობილობიდან. ყველა პირადი აპი და მონაცემი წაიშლება. ამ მოქმედებას ვერ გააუქმებთ."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"შემდეგი ანგარიშები ამოიშლება თქვენი კერძო სივრციდან:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"წაშლა"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"მიმდინარეობს კერძო სივრცის წაშლა…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ამას ცოტა ხანი დასჭირდება"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"კერძო სივრცე წაიშალა"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"კერძო სივრცის წაშლა ვერ მოხერხდა"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"კერძო სივრცე განბლოკილია"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"დააყენეთ ეკრანის დაბლოკვა"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"პირადი სივრცის გამოსაყენებლად დააყენეთ ეკრანის დაბლოკვა ამ მოწყობილობაზე."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ეკრანის დაბლოკვის დაყენება"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"გაუქმება"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"გაუქმება"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"დაყენება"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"პირადი სივრცის დაყენება"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"შეინახეთ პირადი აპები ცალკე სივრცეში, რომლის დამალვა ან ჩაკეტვა შეგიძლიათ"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"მუშაობის პრინციპი"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"თქვენს პირად სივრცეზე წვდომა შეგიძლიათ აპების გვერდის ბოლოში"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"აპებს პირად სივრცეში იცავს საკეტი"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"პირად სივრცეში არსებული აპების შეტყობინებები დამალულია, როცა ის ჩაკეტილია"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"თქვენს პირად სივრცეში არსებული აპები არ გამოჩნდება ნებართვების მენეჯერში, კონფიდენციალურობის საინფორმაციო დაფაში და სხვა პარამეტრებში, როდესაც თქვენი პირადი სივრცე დაბლოკილია.\n\nთქვენი პირადი სივრცის ახალ მოწყობილობაში გადატანა შეუძლებელია. თქვენ უნდა დააყენოთ სხვა პირადი სივრცე, თუ გსურთ მისი სხვა მოწყობილობაზე გამოყენება.\n\nნებისმიერს, ვინც თქვენს მოწყობილობას აკავშირებს კომპიუტერთან ან დააინსტალირებს მავნე აპებს თქვენს მოწყობილობაზე, შეიძლება ჰქონდეს წვდომა თქვენს პირად სივრცეში."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"მიმდინარეობს პირადი სივრცის დაყენება…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"კერძო სივრცის აპების შეტყობინებები დამალულია, როცა ის ჩაკეტილია"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"განბლოკეთ კერძო სივრცე ფოტოებისა და ფაილების გასაზიარებლად"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ზოგიერთი აპი უკვე დაინსტალირებულია თქვენს პირად სივრცეში"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"კერძო სივრცის დაყენება ვერ მოხერხდა"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ხელახლა ცდა"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"გსურთ ეკრანის დაბლოკვის გამოყენება პირადი სივრცის განსაბლოკად?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"განბლოკეთ თქვენი პირადი სივრცე ისევე, როგორ მოწყობილობას განბლოკავთ, ან დააყენეთ განსხვავებული საკეტი"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"გამოიყენეთ ეკრანის დაბლოკვა"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"აირჩიეთ ახალი საკეტი"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"მზადაა!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"თქვენი კერძო სივრცის სანახავად გადადით თქვენი აპების სიაში, შემდეგ გადაადგილდით ქვემოთ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"მზადაა"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"პირადი სივრცის საპოვნელად გადაადგილდით ქვემოთ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"შესვლა"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ანგარიშის კერძო სივრძეში გამოყენებისთვის შედით ანგარიშში"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ახლა არა"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"გაგრძელება"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"აირჩიეთ საკეტი თქვენი პირადი სივრცისთვის"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"თქვენ შეგიძლიათ განბლოკოთ თქვენი პირადი სივრცე თქვენი თითის ანაბეჭდის გამოყენებით. უსაფრთხოებისთვის, ეს ვარიანტი მოითხოვს სარეზერვო ჩაკეტვას."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"დააყენეთ PIN თქვენი კერძო სივრცისთვის"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"დააყენეთ პაროლი თქვენი კერძო სივრცისთვის"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"დააყენეთ ნიმუში თქვენი კერძო სივრცისთვის"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"შეგიძლიათ დაამატოთ მაქსიმუმ <xliff:g id="COUNT">%d</xliff:g> თითის ანაბეჭდი"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"თქვენ უკვე დაამატეთ თითის ანაბეჭდების მაქსიმალური რაოდენობა"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"მეტი თითის ანაბეჭდის დამატება ვერ ხერხდება"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ნიმუში"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"პაროლი"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"გსურთ ეკრანის დაბლოკვის წაშლა?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ყველა ტიპის მოწყობილობის განბლოკვის ამოშლა გსურთ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"გსურთ პროფილის დაცვის ამოშლა?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"ნიმუში დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"ნიმუში დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>ამით თქვენს მოწყობილობაში შენახული თითის ანაბეჭდის მოდელი წაიშლება. თქვენი სახის მოდელი სამუდამოდ და საიმედოდ წაიშლება. თქვენ ვეღარ შეძლებთ სახის ან თითის ანაბეჭდის გამოყენებას აპებში შესასვლელად ავტორიზაციისთვის."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-კოდი დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"დაკარგავთ დამახსოვრებულ მონაცემებს, როგორიცაა PIN-კოდი.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ამოიშლება უკონტაქტოდ გადახდისთვის დაყენებული ბარათები.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>საფულე და სხვა აპები, რომლებიც მოითხოვს მოწყობილობის განბლოკვას, შესაძლოა, არ ფუნქციონირებდეს სათანადოდ."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-კოდი დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ამით თქვენს მოწყობილობაში შენახული თითის ანაბეჭდის მოდელი წაიშლება. თქვენ ვეღარ შეძლებთ თითის ანაბეჭდის გამოყენებას აპებში შესასვლელად ავტორიზაციისთვის."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"დაკარგავთ დამახსოვრებულ მონაცემებს, როგორიცაა PIN-კოდი და თითის ანაბეჭდი.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ამოიშლება უკონტაქტოდ გადახდისთვის დაყენებული ბარათები.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>საფულე და სხვა აპები, რომლებიც მოითხოვს მოწყობილობის განბლოკვას, შესაძლოა, არ ფუნქციონირებდეს სათანადოდ."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-კოდი დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>თქვენი სახის მოდელიც სამუდამოდ და საიმედოდ წაიშლება. თქვენ ვეღარ შეძლებთ სახის გამოყენებას აპებში შესასვლელად ავტორიზაციისთვის."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"დაკარგავთ დამახსოვრებულ მონაცემებს, როგორიცაა PIN-კოდი და სახის მოდელი.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ამოიშლება უკონტაქტოდ გადახდისთვის დაყენებული ბარათები.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>საფულე და სხვა აპები, რომლებიც მოითხოვს მოწყობილობის განბლოკვას, შესაძლოა, არ ფუნქციონირებდეს სათანადოდ."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-კოდი დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ამით თქვენს მოწყობილობაში შენახული თითის ანაბეჭდის მოდელი წაიშლება. თქვენი სახის მოდელი სამუდამოდ და საიმედოდ წაიშლება. თქვენ ვეღარ შეძლებთ სახის ან თითის ანაბეჭდის გამოყენებას აპებში შესასვლელად ავტორიზაციისთვის."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"დაკარგავთ დამახსოვრებულ მონაცემებს, როგორიცაა PIN-კოდი, სახის მოდელი და თითის ანაბეჭდი.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ამოიშლება უკონტაქტოდ გადახდისთვის დაყენებული ბარათები.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>საფულე და სხვა აპები, რომლებიც მოითხოვს მოწყობილობის განბლოკვას, შესაძლოა, არ ფუნქციონირებდეს სათანადოდ."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"პაროლი დაიცავს თქვენს ტელეფონს იმ შემთხვევაში, თუ ის დაიკარგება ან მას მოგპარავენ"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"პაროლი დაიცავს თქვენს ტელეფონს, თუ ის დაიკარგება ან მას მოგპარავენ.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"გსურთ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>-თან დაწყვილება?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"დაამატეთ ახალი წევრი არსებულ კოორდინირებულ ნაკრებს"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"დაადასტურეთ თქვენი აუდიომოწყობილობის მეორე ნაწილის დამატება"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-ის დაწყვილების კოდი"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"აკრიფეთ დაწყვილების კოდი და დააჭირეთ Return-ს ან Enter-ს"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN მოიცავს ასოებს ან სიმბოლოებს"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"უნდა იყოს 16 ციფრი"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"შესაძლოა პინის შეყვანა სხვა მოწყობილობისათვისაც დაგჭირდეთ."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"შესაძლოა ამ წვდომის გასაღების სხვა მოწყობილობაში შეყვანაც დაგჭირდეთ."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"დაადასტურეთ კოორდინირებულ ნაკრებთან დასაწყვილებლად"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"დაადასტურეთ აუდიომოწყობილობასთან დასაწყვილებლად"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"კონტაქტებსა და საუბრის ისტორიაზე წვდომის დაშვება"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"დაუშვით წვდომა კონტაქტებსა და საუბრის ისტორიაზეც"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ინფორმაცია გამოიყენება განცხადებების გამოცხადებისა და სხვა მოქმედებებისთვის"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-თან დაკავშირება ვერ მოხერხდა."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ხელმისაწვდომი მოწყობილობები"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"დაკავშირება"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"კავშირის გაწყვეტა"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"დაწყვილება და შეერთება"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"როდესაც Bluetooth ჩართულია, თქვენს მოწყობილობას ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია შეუძლია."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"როდესაც Bluetooth ჩართულია, თქვენს მოწყობილობას ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია შეუძლია"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"როცა Bluetooth ჩართულია, თქვენს მოწყობილობას შეუძლია სხვა ახლომდებარე Bluetooth მოწყობილობებთან კომუნიკაცია.\n\nმოწყობილობის საუკეთესოდ მოხმარებისთვის, აპები და სერვისები მაშინაც კი შეძლებს ახლომდებარე მოწყობილობათა აღმოსაჩენად სკანირებას, როცა Bluetooth გამორთულია. ამის გამოყენება შესაძლებელია, მაგალითად, მდებარეობაზე დაფუძნებული ფუნქციების და სერვისების გასაუმჯობესებლად. ამის შეცვლა Bluetooth-ით სკანირების პარამეტრებში შეგიძლიათ."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"შეცვლა"</string>
     <string name="device_details_title" msgid="1155622417516195481">"მოწყობილობის დეტალები"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART-ისთვის გამართვადი აპების ბაიტ-კოდის დადასტურების დაშვება"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"განახლ. სიხშირის ჩვენება"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ეკრანის განახლების ამჟამინდელი სიხშირის ჩვენება"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"აჩვენეთ HDR/SDR თანაფარდობა"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"აჩვენეთ მიმდინარე HDR/SDR თანაფარდობა"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"მოწყობილობის განბლოკვის მოთხოვნა NFC-ისთვის"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android სხივი"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"თვითმფრინავის რეჟიმში"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"შეტყობინება საჯარო ქსელების არსებობის შესახებ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"შეტყობინების მიღება მაღალხარისხიანი საჯარო ქსელის ხელმისაწვდომობისას"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"დაუშვით WEP ქსელები"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP არის დაცვის შედარებით ძველი პროტოკოლი და ნაკლებად დაცულია"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"თქვენი ოპერატორი კრძალავს WEP ქსელებს, რადგან ნაკლებად დაცულია"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi-ს ავტომატურად ჩართვა"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi ჩაირთვება შენახულ, მაღალხარისხიან ქსელებთან სიახლოვისას (მაგალითად, სახლის ქსელისას)"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"მიუწვდომელია, რადგან გამორთულია მდებარეობა. "<annotation id="link">"მდებარეობის"</annotation>" ჩართვა."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi-ს სკანირება აპებსა და სერვისებს Wi‑Fi ქსელების აღმოსაჩენად ნებისმიერ დროს სკანირების საშუალებას აძლევს, მაშინაც კი, როცა Wi‑Fi გამორთულია. მაგალითისთვის, ამის გამოყენება შესაძლებელია მდებარეობაზე დაფუძნებული ფუნქციების და სხვა სერვისების გასაუმჯობესებლად."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ჩართვა"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi სკანირება ჩართულია"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ეს ქსელი იყენებს დაცვის შედარებით ძველ პროტოკოლს, რომელიც ნაკლებად დაცულია"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> დაბლოკილია"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ეს ქსელი იყენებს დაცვის შედარებით ძველ პროტოკოლს, სახელწოდებით WEP, რომელიც ნაკლებად დაცულია. იმისათვის, რომ მაინც დაუკავშირდეთ, დაუშვით WEP ქსელები."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"თქვენი ოპერატორი გიკრძალავთ ამ ქსელთან დაკავშირებას, რადგან ის იყენებს დაცვის შედარებით ძველ პროტოკოლს, რომელიც ნაკლებად დაცულია"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP-ს დაშვება"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"დახურვა"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"დამატებითი პარამეტრები"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ჩამოსაშლელი სიის დამატებითი პარამეტრები"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"გაფართოება"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi‑Fi ქსელზე დარჩენა"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"აღარ გამოჩნდეს"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"დაკავშირება"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi ჩართულია"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"დაკავშირებულია <xliff:g id="NETWORK_NAME">%1$s</xliff:g>-თან"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"მიმდინარეობს <xliff:g id="NETWORK_NAME">%1$s</xliff:g>-თან დაკავშირება"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"დაკავშირება…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ქსელთან დაკავშირება ვერ ხერხდება"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ქსელი არეალში არ არის"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"წაშლა"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"შეცვლა"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ქსელის დავიწყება ვერ მოხერხდა"</string>
     <string name="wifi_save" msgid="2312643132472226807">"შენახვა"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ქსელის შენახვა ვერ მოხერხდა"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"გაუქმება"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"მობილური ინტერნეტი"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – იტენება"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – იტენება"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"უსადენო ქსელთან კავშირი"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"კავშირის სიძლიერე"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"დამახს. ქსელები"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"პაროლი არაა დაყენებული"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"უსადენო ქსელის სახელი"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"უსადენო ქსელის პაროლი"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP Band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"უსადენო ქსელის ავტოგამორთვა"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"როდესაც არცერთი მოწყობილობა არ არის დაკავშირებული"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"თავსებადობის გაფართოება"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ეკრანის თეთრის ბალანსი"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"აპების გამოყენების გაგრძელება ჩაკეცვისას"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"გარკვეული კონტენტისთვის განახლების სიხშირის ავტომატურად გაზრდა 60-დან <xliff:g id="ID_1">%1$s</xliff:g> ჰც-მდე. ზრდის ბატარეის მოხმარებას."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"თამაშებისთვის კადრების ნაგულისხმევი სიხშირის გათიშვა"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"თამაშებისთვის კადრების მაქსიმალური სიხშირის (<xliff:g id="FRAME_RATE">%1$d</xliff:g> ჰც) შეზღუდვის გათიშვა."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ავტომატურად ზრდის განახლების სიხშირეს <xliff:g id="ID_1">%1$d</xliff:g> ჰც-მდე, გარკვეული კონტენტისთვის. ზრდის ბატარეის მოხმარებას."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"განახლების პიკური სიხშირის იძულება"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"განახლების უმაღლესი სიხშირე შეხებაზე გაუმჯობესებული რეაგირებისთვის და უფრო ერთგვაროვანი ანიმაციისთვის. გაზრდის ბატარეის მოხმარებას."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ეკრანზე ყურადღება"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"ეკრანისკენ მიმართული ყურადღება იყენებს წინა კამერას იმისთვის, რომ გაიგოს, უყურებს თუ არა ვინმე ეკრანს. ის მოწყობილობის დონეზე მუშაობს, სურათები არასოდეს ინახება და არც Google-ს ეგზავნება."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"ეკრანისკენ მიმართული ყურადღების ჩართვა"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ეკრანის ჩართულად დატოვება, როცა თქვენ მას უყურებთ"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ეკრანის ავტომატურად გამორთვის ხანგრძლივი დრო ბატარეას მეტად ხარჯავს."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"კამერა ჩაკეტილია"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"სახის ამოცნობისთვის კამერა განბლოკილი უნდა იყოს"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"კამერა უნდა განიბლოკოს ეკრანისკენ მიმართული ყურადღების გამოსაყენებლად"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM ბარათის სათავსო <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM ბარათის სათავსო <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (პირველადი)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"სანახავად აირჩიეთ შენახული ქსელი"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"წთ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL ვერსია"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ბატარეის დატენვის დონე"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"საერთო"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"საერთო პარამეტრები"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"შეტყობინებების სატელიტური მიმოცვლა"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-ები"</string>
     <string name="apn_edit" msgid="2003683641840248741">"წვდომის წერტილის რედაქტირება"</string>
+    <string name="apn_add" msgid="9069613192201630934">"დაამატეთ წვდომის წერტილი"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"არ არის დაყენებული"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"არ არის დაყენებული"</string>
     <string name="apn_name" msgid="6677695784108157953">"სახელი"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ჩართულია"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN გამორთულია"</string>
     <string name="bearer" msgid="3231443241639159358">"მატარებელი"</string>
+    <string name="network_type" msgid="748590707422733595">"ქსელის ტიპი"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"დაუზუსტებელი"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO ტიპი"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO მნიშვნელობა"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN-ის წაშლა"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"შენახვა"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"გაუქმება"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN ჩანაწერის დუბლიკატის შექმნა."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"სახელის ველი არ შეიძლება იყოს ცარიელი."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN არ უნდა იყოს ცარიელი."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ველი უნდა შეიცავდეს 3 ციფრს."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ველი უნდა შეიცავდეს ორ ან სამ ციფრს."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"ეს ოპერატორი კრძალავს %s ტიპის APN-ებს."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ველი უნდა იყოს მოქმედი."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ნაგულისხმევი APN პარამეტრების აღდგენა."</string>
     <string name="menu_restore" msgid="4310539620115151551">"საწყის პარამეტრებზე ჩამოყრა"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ნაგულისხმევი APN პარამეტრების  აღდგენა დასრულებულია"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"გადაყენება"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth და Wi‑Fi გადატვირთულია"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-ების ამოშლა"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ეს არ გააუქმებს მობილური სერვისის მოქმედ გეგმებს. ჩამნაცვლებელი SIM-ების ჩამოსატვირთად დაუკავშირდით თქვენს ოპერატორს."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ეს მოქმედება არ გააუქმებს თქვენს ფიჭური მომსახურების გეგმას. ახალი SIM ბარათის მისაღებად დაუკავშირდით თქვენს ოპერატორს."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"პარამეტრების ჩამოყრა"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"გსურთ ქსელის ყველა პარამეტრის გადაყენება? ამ მოქმედებას ვერ გააუქმებთ."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"გსურთ ქსელის ყველა პარამეტრის ჩამოყრა და eSIM-ების ამოშლა? ამ მოქმედებას ვერ გააუქმებთ."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"გადავაყენოთ პარამეტრები?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ქსელის გადაყენება ამ მომხმარებლისათვის მიუწვდომელია"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ქსელის პარამეტრები ჩამოიყარა"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM ბარათების ამოშლა ვერ ხერხდება"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-ები ვერ იშლება შეცდომის გამო.\n\nგადატვირთეთ მოწყობილობა და ხელახლა ცადეთ."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM ბარათების წაშლა ვერ ხერხდება"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"წარმოიქმნა შეფერხება და თქვენი eSIM ბარათები არ ამოშლილა.\n\nგადატვირთეთ მოწყობილობა და ხელახლა ცადეთ."</string>
     <string name="main_clear_title" msgid="277664302144837723">"ყველა მონაცემის ამოშლა (ქარხნული პარამეტრების დაბრუნება)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ყველა მონაცემის ამოშლა (ქარხნული პარამეტრების დაბრუნება)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"მუსიკა"</li>\n<li>"ფოტოები"</li>\n<li>"მომხმარებლის სხვა მონაცემები"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-ები"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ეს არ გააუქმებს თქვენს მობილურ სერვისთა პაკეტს."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"მთლიანად წაიშლება თქვენი პერსონალური ინფორმაცია და ჩამოტვირთული აპები. ამ მოქმედებას ვერ გააუქმებთ."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"მთლიანად წაიშლება თქვენი პერსონალური ინფორმაცია, მათ შორის, ჩამოტვირთული აპები და SIM ბარათები. ამ მოქმედებას ვერ გააუქმებთ."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"მთლიანად წაიშლება თქვენი პერსონალური ინფორმაცია, მათ შორის, ჩამოტვირთული აპები და eSIM ბარათები. ამ მოქმედებას ვერ გააუქმებთ."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"გსურთ ყველა მონაცემის ამოშლა?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ქარხნულ პარამეტრებზე დაბრუნება ამ მომხმარებლისათვის მიუწვდომელია"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"მიმდინარეობს ამოშლა"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"უსადენო ქსელი, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"არ ხორციელდება ინტერნეტის სხვა მოწყობილობებთან გაზიარება"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"გამორთული"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ტეტერინგი"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"არ გამოიყენო Wi-Fi უსადენო ქსელი"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ინტერნეტის გაზიარება მხოლოდ USB-ით"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ინტერნეტის გაზიარება მხოლოდ Bluetooth-ით"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ინტერნეტის გაზიარება მხოლოდ Ethernet-ით"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ინტერნეტის გაზიარება მხოლოდ USB-ით და Bluetooth-ით"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"ინტერნეტის გაზიარება მხოლოდ USB-ით და Ethernet-ით"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ინტერნეტის გაზიარება მხოლოდ Bluetooth-ით და Ethernet-ით"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"ინტერნეტის გაზიარება მხოლოდ USB-ით, Bluetooth-ით და Ethernet-ით"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ტეტერინგი"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth ტეტერინგი"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-ტეტერინგი"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"უსადენო ქსელი და ტეტერინგი საშუალებას მოგცემთ, გაუზიაროთ მობილური ინტერნეტი ან Wi‑Fi კავშირი სხვა მოწყობილობებს. უსადენო ქსელის შექმნა შეუძლია აპებსაც, კონტენტის გასაზიარებლად ახლომახლო მოწყობილობებთან."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"დახმარება"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"მობილური ქსელი"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"მობილური სატარიფო გეგმა"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS აპი"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"შეიცვალოს SMS-ის აპი?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"გსურთ, <xliff:g id="CURRENT_APP">%2$s</xliff:g>-ის ნაცვლად გამოიყენოთ <xliff:g id="NEW_APP">%1$s</xliff:g> თქვენს SMS აპად?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"შეიცვალოს Wi‑Fi ასისტენტი?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"გსურთ ქსელის სამართავად <xliff:g id="CURRENT_APP">%2$s</xliff:g>-ის ნაცვლად <xliff:g id="NEW_APP">%1$s</xliff:g> გამოიყენოთ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"გსურთ ქსელის კავშირების სამართავად <xliff:g id="NEW_APP">%s</xliff:g>-ის გამოყენება?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"უცნობი SIM-ოპერატორი"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>-ს უზრუნველყოფის ნაცნობი ვებსაიტი არ გააჩნია"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"გთხოვთ, ჩადოთ SIM ბარათი და გადატვირთოთ"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"გთხოვთ, დააკავშიროთ ინტერნეტთან"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"მდებარეობის ბოლო მოთხოვნები"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ადგილმდებარეობა სამუშაო პროფილისათვის"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"აპის მდებარეობის ნებართვები"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"წვდომის გაუქმება"</string>
     <string name="controls_label" msgid="8671492254263626383">"კონტროლები"</string>
     <string name="force_stop" msgid="2681771622136916280">"ძალით შეჩერება"</string>
+    <string name="archive" msgid="9074663845068632127">"არქივაცია"</string>
+    <string name="restore" msgid="7622486640713967157">"აღდგენა"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"აღდგენის პროცესი"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"აღდგენა."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"მიმდინარეობს აღდგენა…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"აღდგენის პროცესი..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"სულ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"აპის ზომა"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB მეხსიერების აპი"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"პაკეტის ზომის გამოთვლა ვერ მოხერხდა."</string>
     <string name="version_text" msgid="7628938665256107608">"ვერსია <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"გადაადგილება"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"დაარქივება ვერ მოხერხდა"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> დაარქივებულია"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"აღდგენა ვერ მოხერხდა"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"მიმდინარეობს <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>ს აღდგენა"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"მიგრაციის სხვა პროცესი უკვე მიმდინარეობს."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"არ არის საკმარისი სივრცე შესანახად."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"აპი არ არსებობს."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ხელმისაწვდომი ეკრანული კლავიატურა"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ეკრანული კლავიატურების მართვა"</string>
     <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="6922850403920596246">"კლავიშების ასხლეტის ჩართვა ფიზიკურ კლავიატურაზე მარტივი წვდომისთვის"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ნელი კლავიშები"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ნელი კლავიშების ჩართვა ფიზიკურ კლავიატურაზე მარტივი წვდომისთვის"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"კლავიშების ფიქსაცია"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"კლავიშების ფიქსაციის ჩართვა ფიზიკურ კლავიატურაზე მარტივი წვდომისთვის"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"სხვა ვარიანტ. შეეხეთ სენს. პანელის ქვედა მარჯვენა მხარეს"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"მანიშნებლის სიჩქარე"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"გაეცანით სენსორული ეკრანის ჟესტებს"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"მთავარზე გადასვლა"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"სენსორ. პანელზე სამი თითით გადაფურცლეთ ნებისმ. მიმართულებით"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"უკან დაბრუნება"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"დალაგება გამოყენების დროით"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"დალაგება ბოლო გამოყენებით"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"დალაგება აპის სახელის მიხედვით"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ბოლოს გამოყენებული"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ბოლო გამოყენება"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"არასოდეს"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"გამოყენების დრო"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"მარტივი წვდომა"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"მარტივი წვდომის პარამეტრები"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"გადიდება სამმაგი შეხებით"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"გადიდება მალსახმობით"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"გადიდება მალსახმობითა და სამმაგი შეხებით"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>-ის შესახებ"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"გასახსნელად გამოიყენეთ მარტივი წვდომის ღილაკი"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"გასახსნელად დააჭირეთ ხმის ღილაკებს"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"სამმაგად შეეხეთ ეკრანს გასახსნელად"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"გასახსნელად ორმაგად შეეხეთ ეკრანს ორი თითით"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"გასახსნელად გამოიყენეთ ჟესტი"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"მარტივი წვდომის ჟესტის გამოყენება"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ამ ფუნქციით სარგებლობისთვის შეეხეთ მარტივი წვდომის ღილაკს <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> თქვენი ეკრანის ქვედა ნაწილში.\n\nფუნქციების გადასართავად ხანგრძლივად შეეხეთ მარტივი წვდომის ღილაკს."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ამ ფუნქციის გამოსაყენებლად შეეხეთ მარტივი წვდომის ღილაკს თქვენს ეკრანზე."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ამ ფუნქციით სარგებლობისთვის ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"გადიდების დასაწყებად და შესაწყვეტად, სამმაგად შეეხეთ ეკრანს ნებისმიერ ადგილზე."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"გადიდების დასაწყებად და შესაწყვეტად ორი თითით ორმაგად შეეხეთ ეკრანს ნებისმიერ ადგილზე."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ამ ფუნქციით სარგებლობისთვის 2 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 2 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ამ ფუნქციით სარგებლობისთვის 3 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 3 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"მარტივი წვდომის ფუნქციით სარგებლობისთვის 2 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 2 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"მარტივი წვდომის ფუნქციით სარგებლობისთვის 3 თითით გადაფურცლეთ ეკრანის ქვედა კიდიდან ზემოთ.\n\nფუნქციების გადასართავად 3 თითით გადაფურცლეთ ზემოთ და დააყოვნეთ."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"გასაგებია"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"მარტივი წვდომის ღილაკის პარამ."</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ღილაკის პარამეტრები"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> - მალსახმობი"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"მარტივი წვდომის ღილაკი"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"მარტივი წვდომის ჟესტი"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ხანგრძლივად დააჭირეთ ხმის ღილაკებს"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ხანგრძლივად დააჭირეთ ხმის ორივე ღილაკს"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ეკრანზე ორი თითით ორმაგი შეხება"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ეკრანზე ორი თითით ორმაგი შეხება"</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="6863958573135995927">"სამმაგად შეეხეთ ეკრანს"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"სწრაფად შეეხეთ ეკრანს {0,number,integer}-ჯერ. ამ მალსახმობმა შეიძლება მოწყობილობა შეანელოს"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"შეიტყვეთ მეტი მარტივი წვდომის ღილაკისა და ჟესტის შესახებ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"მარტივი წვდომის ღილაკის გამოყენებისას. ჟესტი არ არის ხელმისაწვდომი 3-ღილაკიანი ნავიგაციით."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"სწრაფად შეძელით მარტივი წვდომის ფუნქციების გამოყენება"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"დასაწყებად"</b>\n"1. გადადით მარტივი წვდომის პარამეტრებზე\n2. აირჩიეთ ფუნქცია და შეეხეთ მალსახმობს\n3. აირჩიეთ, რა გირჩევნიათ ფუნქციაზე წვდომისთვის — ღილაკი თუ ჟესტი"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"დასაწყებად"</b>\n"1. გადადით მარტივი წვდომის პარამეტრებზე\n2. აირჩიეთ ფუნქცია და შეეხეთ მალსახმობს\n3. ფუნქციაზე წვდომისთვის აირჩიეთ შესაბამისი ღილაკი"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"გამოიყენეთ ღილაკი ან ჟესტი"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"მდებარეობა"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ზომა"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ზარი შეწყდება ჩართვის ღილაკზე დაჭერით"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"მაუსის დიდი ისარი"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"უფრო შესამჩნევი მაუსის ისრის გამოყენება"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"გახადეთ ყველა აპი მუქი"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ვრცელდება აპებზე საკუთარი მუქი თემის გარეშე. ზოგიერთ აპს შეიძლება ჰქონდეს ეკრანის პრობლემა, როგორიცაა ფერების ინვერსია."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ანიმაციის გათიშვა"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ეკრანზე მოძრაობის შემცირება"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"მონო აუდიო"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ვიბრაციის და შეხებისადმი მგრძნობელობის გამოყენება"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"მაღვიძარის ვიბრაცია"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"მედიის ვიბრაცია"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"კლავიატურის ვიბრაცია"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ზარის ვიბრაცია"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"შეტყობინების ვიბრაცია"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"რეაქცია შეხებაზე"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"შეწყვეტა"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"გაუქმება"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"გაითიშოს <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>-ზე შეხება შეწყვეტს <xliff:g id="SERVICE">%2$s</xliff:g>-ს."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"გამორთვა"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"დარჩეს ჩართული"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"გამოირთოს <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"სერვისები დაყენებული არ არის"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"სერვისი არჩეულია არ არის"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"აღწერა არ არის მოწოდებული."</string>
     <string name="settings_button" msgid="2195468788019730377">"პარამეტრები"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"შუქის მიმართ მგრძნობიარობა, ფოტოფობია, მუქი თემა, შაკიკი, თავის ტკივილი, წაკითხვის რეჟიმი, ღამის რეჟიმი, სიკაშკაშის შემცირება, თეთრი წერტილი"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"გამოყენების სიმარტივე, წვდომის სიმარტივე, დახმარება, დამხმარე"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"მხედველობა, სმენა, უსინათლო, ყრუ, მოტორული, უნარი, დამხმარე, დახმარება, გამოყენების სიმარტივე, წვდომის სიმარტივე, ხელი, დახმარება"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ფანჯრის გამადიდებელი, მასშტაბირება, გადიდება, მხედველობადაქვეითებული, გადიდება, გადიდება"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"სუბტიტრები, დახურული სუბტიტრები, დახ. სუბტ., მყისიერი ტრანსკრიფცია, სმენადაქვეითებული, სმენის დაკარგვა, კომუნიკაციური წვდომის მომსახურება რეალურ დროში (CART), მეტყველების გარდაქმნა ტექსტად, სუბტიტრი"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ფერთა კონტრასტი"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ძრავა, მაუსი"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"სმენის მოწყობილობები, სმენის სირთულე, სმენის დაკარგვა, კოხლეარული იმპლანტები, გამაძლიერებელი მოწყობილობები, ხმის დამამუშავებლები"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"მოტორული, მაუსი, გარე მაუსი, თავის მაუსი, ადაპტირებული მაუსი, ეტლი, ჯოისტიკი"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"სმენის მოწყობილობები, სმენის სირთულე, სმენის დაკარგვა, კოხლეარული იმპლანტები, გამაძლიერებელი მოწყობილობები, ხმის დამამუშავებლები, პირადი მოხმარების ხმის გამაძლიერებელი პროდუქტი (PSAP)"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"სმენადაქვეითებული, სმენის დაკარგვა, სუბტიტრები, დისტანციური აკრეფა, დისტანციური ამკრეფი"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"სამი ღილაკი"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"უნარი, მოტორული, ასაკოვანი, ართრიტი, RSI, ინსულტი, ტრემორი, გაფანტული სკლეროზი, ცერებრული დამბლა, მოკანკალე დამბლა, განმეორებითი დაძაბვის დაზიანება, ხელი"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"დაყოვნება, უნარი, ასაკოვანი"</string>
     <string name="print_settings" msgid="8519810615863882491">"ბეჭდვა"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"გამორთული"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{ჩართულია ბეჭდვის 1 სერვისი}other{ჩართულია ბეჭდვის # სერვისი}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"დარჩენილია <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"დატენვამდე <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ეკრანთან გატარებული დრო"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ფონური დრო"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ბატარეის დაბალი მუხტი"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"აპისთვის ფონურ რეჟიმში მუშაობის დაშვება"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"გსურთ ფონური აქტივობის შეზღუდვა?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"აპისთვის ფონური აქტივობის შეზღუდვის შემთხვევაში, მან შეიძლება არასათანადოდ იმუშაოს"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"რადგან ეს აპი ბატარეის ოპტიმიზებისთვის დაყენებული არაა, მას ვერ შეზღუდავთ.\n\nჩართეთ ბატარეის ოპტიმიზაცია აპის შესაზღუდავად."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ბატარეის მოხმარების მართვა"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"დაუშვით ფონური გამოყენება"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ჩართეთ რეალური დროის რეჟიმში განახლებებისთვის, გამორთეთ ბატარეის დასაზოგად"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"შეუზღუდავი"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ოპტიმიზებული"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"შეზღუდული"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ყველაზე დიდი მოხმარების აპების ნახვა"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"დატენვა ოპტიმიზირებულია თქვენი ბატარეის დასაცავად"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"თქვენი ბატარეის სიცოცხლის ხანგრძლივობის გასაზრდელად, დატენვა ოპტიმიზებულია"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"დატენვა ოპტიმიზირებულია თქვენი ბატარეის დასაცავად"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"თქვენი ბატარეის სიცოცხლის გახანგრძლივების მიზნით, დატენვა ოპტიმიზირებულია, როდესაც ჩამაგრებულია"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"დატენვა ოპტიმიზირებულია თქვენი ბატარეის დასაცავად"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"თქვენი ბატარეის სიცოცხლის გახანგრძლივების მიზნით, დატენვა ოპტიმიზირებულია, როდესაც ჩამაგრებულია"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"სრულად დატენვა"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"თქვენი ბატარეის დასაცავად, დატენვა ოპტიმიზირებული იქნება თქვენი ტაბლეტის დამაგრების შემდეგ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"შეიტყვეთ მეტი დატენვის შეწყვეტის შესახებ"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"დატენვის გაგრძელება"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"მოიცავს მაღალი ენერგომოხმარების ფონურ აქტივობას"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ეს აპი შეძლებს თქვენი ბატარეის ფონურ რეჟიმში მოხმარებას. ამან შესაძლოა ბატარეა სწრაფად ამოწუროს."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"წაშლა"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"გაუქმება"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"სრულად დატენვა"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"დამტენი დამხმარე მოწყობილობის პრობლემა"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"შეამოწმეთ დამტენი აქსესუარი"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"შეიტყვეთ მეტი შეუთავსებელი დატენვის შესახებ"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"აპების ავტომატურად მართვა"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ბოლო სრული დამუხტვიდან"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"სისტემის აპები"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"დეინსტალირებული აპები"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"სხვა"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"სავარაუდო დარჩენილი დრო"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"სრულ დატენვამდე"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"სულ: წუთზე ნაკლები"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ფონი: წუთზე ნაკლები"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"ეკრანთან გატარებული დრო: ერთ წუთზე ნაკლები"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"წუთზე ნაკლები"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"სულ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ფონი: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"ეკრანთან გატარებული დრო: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ახლა"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> — <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ბატარეის მოხმარების დიაგრამა"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ბატარეის ყოველდღიური გამოყენების სქემა"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ბატარეის სააᲗობრივი გამოყენების სქემა"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ბატარეის დამუხტვის დონის პროცენტი <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>-დან <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>-მდე"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ბატარეის გამოყენება ბოლოს სრულად დამუხტვის შემდეგ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"ბატარეის გამოყენება <xliff:g id="SLOT">%s</xliff:g> პერიოდზე"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"ეკრანთან გატარებული დრო ბოლოს სრულად დამუხტვის შემდეგ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"საგანგებო დარეკვის სიგნალი"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ქცევის დაყენება, როცა განხორციელებულია გადაუდებელი ზარი"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"სარეზერვო კოპირება"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ჩართული"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"გამორთული"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"სარეზერვო კოპირება და აღდგენა"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"პერსონალური მონაცემები"</string>
     <string name="backup_data_title" msgid="507663517227498525">"მონაცემების სარეზერვო კოპირება"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"მობილური ინტერნეტი და Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"პერს. მონაც. ავტოსინქრონიზაცია"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"სამსახურის მონაცემების სინქრონიზაცია"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"პირადი მონაცემების ავტო-სინქრონიზაცია"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ციკლის შეცვლა…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"მონაცემების ციკლის აღდგენის დღე (თითოეული თვის):"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ამ პერიოდში არც ერთ აპს არ გამოუყენებია ეს მონაცემები."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"სახელი"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ტიპი"</string>
     <string name="vpn_server" msgid="2908816134941973935">"სერვერის მისამართი"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP დაშიფრვა (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP საიდუმლო"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec იდენტიფიკატორი"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec pre-shared გასაღები"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec მომხმარებლის სერტიფიკატი"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA სერტიფიკატი"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec სერვერის სერტიფიკატი"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"დამატებითი პარამეტრების ჩვენება"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"დომენები DNS-ის მოსაძებნად"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS სერვერები (მაგ. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"გადამისამართების მარშრუტები (მაგ. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"მომხმარებლის სახელი"</string>
     <string name="vpn_password" msgid="1183746907642628127">"პაროლი"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ანგარიშის ინფორმაციის შენახვა"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(არ გამოიყენება)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(არ შეამოწმო სერვერი)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(მიღებულია სერვერიდან)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ამ ტიპის VPN ყოველთვის დაკავშირებული ვერ იქნება"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ყოველთვის ჩართული VPN-ის მიერ მხარდაჭერილია მხოლოდ სერვერების ის მისამართები, რომლებიც ციფრებისგან შედგება"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ყოველთვის ჩართული VPN-ისთვის საჭიროა DNS სერვერის მითითება"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ყოველთვის ჩართული VPN-ისთვის DNS სერვერების მისამართები ციფრებისგან უნდა შედგებოდეს"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ყოველთვის ჩართული VPN შეუთავსებელია შეყვანილ ინფორმაციასთან"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"გაუქმება"</string>
     <string name="vpn_done" msgid="5137858784289564985">"დახურვა"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN-ის გარეშე კავშირების დაბლოკვა"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"გსურთ VPN კავშირის მოთხოვნა?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"დაუცველია. განახლდეს შემდეგით: IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"მხარდაუჭერელი VPN-ის დაწყება ვერ მოხერხდა."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"მუდმივი კავშირისათვის აირჩიეთ VPN პროფილი. ქსელის ტრაფიკი დაიშვება მხოლოდ ამ VPN-თან კავშირის დროს."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"არც ერთი"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ყოველთვის ჩართული VPN ითხოვს IP მისამართს როგორც სერვერისთვის, ისე DNS-თვის."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER განცხადებები"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ბავშვების მოტაცებების შესახებ ცნობების მიღება"</string>
     <string name="repeat_title" msgid="8676570486899483606">"გამეორება"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"ზარების მენეჯერის ჩართვა"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"მიეცეს ნება ამ სერვისს თქვენი ზარების განხორციელების გზის მართვისთვის."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"ზარების მენეჯერი"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"უსადენო საგანგებო გაფრთხილებები"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ქსელის ოპერატორები"</string>
     <string name="access_point_names" msgid="5768430498022188057">"წვდომის წერტილის სახელი (APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM სტატუსი"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-ის სტატუსი (SIM სათავსო %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-ები შეიცვალა."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"თქვენი SIM შეიცვალა"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"შეეხეთ დასაყენებლად"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"შეკითხვა ყოველ ჯერზე"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"აუცილებელი არჩევანი"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ბოლო აპები, ნაგულისხმევი აპები"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"შეტყობინებებზე წვდომა სამსახურის პროფილში არსებული აპებისთვის მიუწვდომელია."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"პაროლები და ანგარიშები"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"შენახული პაროლები, ავტომატური შევსება, სინქრონიზებული ანგარიშები"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"შესვლის და ავტომატური შევსების შეთავაზებები"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ნაგულისხმევი აპები"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"კლონირებული აპები"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"შექმენით აპის მეორე ეგზემპლარი, რათა ერთდროულად გამოიყენოთ ორი ანგარიში."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"საფულე"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"გადახდა, შეხება, გადახდები"</string>
     <string name="keywords_backup" msgid="707735920706667685">"სარეზერვო ასლი, სარეზერვო ასლის შექმნა"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ჟესტი"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"სახე, განბლოკვა, ავტორიზაცია, შესვლა"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"სახე, განბლოკვა, ავტორიზაცია, სისტემაში შესვლა, თითის ანაბეჭდი, ბიომეტრიული"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI, MEID, MIN, PRL ვერსია, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ტექსტის ზომა, დიდი ასოები, დიდი შრიფტი, დიდი ზომის ტექსტი, მხედველობადაქვეითებული, ტექსტის გადიდება, შრიფტის გამადიდებელი, შრიფტის გადიდება"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ყოველთვის ჩართული ემბიენტური ეკრანი, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, ტეგი, მკითხველი"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"კლავიატურა, ჰაპტიკა, ვიბრაცია,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ხმა, ვიბრაცია, არ შემაწუხოთ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"მედიის ხმა"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ტრანსლაციის ხმა"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ჩართვის ხმები"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"პირდაპირი სუბტიტრები"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"მედიის ავტომ. სუბტიტრირება"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ტელეფონის დინამიკები"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ტაბლეტის დინამიკები"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"მოწყობილობის დინამიკები"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"სადენიანი ყურსასმენი"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"თავსებადი მედიის ხმა უფრო იმერსიული ხდება"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"გამორთული"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"შეტყობინების მთელი შინაარსის ჩვენება"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"სენსიტიური კონტენტი მარტო განბლოკილზე"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"შეტყობინებები საერთოდ არ გამოჩნდეს"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"როგორ გსურთ, გამოჩნდეს ჩაკეტილი ეკრანი?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"რა გსურთ, რომ თქვენმა ჩაკეტილმა ეკრანმა აჩვენოს?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ჩაკეტილი ეკრანი"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"სამსახურის შეტყობინებების მთელი კონტენტის ჩვენება"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"სამსახურის სენსიტიური კონტენტის დამალვა"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ბოლოდროინდელი საუბრები ამოიშალა"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"საუბარი ამოიშალა"</string>
     <string name="clear" msgid="5092178335409471100">"გასუფთავება"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>-ის გასუფთავება"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"აქ გამოჩნდება პრიორიტეტული და შეცვლილი მიმოწერები"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"მიმოწერის პრიორიტეტულად მონიშვნის ან მათში სხვა ცვლილებების შეტანის შემთხვევაში, ისინი აქ გამოჩნდება. \n\nმიმოწერის პარამეტრების შესაცვლელად: \nგადაფურცლეთ ეკრანის ზედა ნაწილიდან ქვემოთ, ჩამოსაშლელი ფარდის გასახსნელად, შემდეგ ხანგრძლივად შეეხეთ მიმოწერას."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ჩაკეცვა"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"შეტყობინების განტვირთვის პერიოდი"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"განტვირთვის პერიოდის გამოყენება ყველა შეტყობინებაზე"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"თანდათანობით შეამცირეთ შეტყობინებების ხმა, როდესაც მიიღებთ ბევრ თანმიმდევრულ შეტყობინებას ერთი და იმავე აპიდან"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"განტვირთვის პერიოდის გამოყენება საუბრებზე"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"თანდათანობით შეამცირეთ შეტყობინებების ხმა, როდესაც დროის მოკლე შუალედში მიიღებთ ბევრ შეტყობინებას ერთი და იმავე ჩეთიდან"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"არ გამოიყენოთ შეტყობინების განტვირთვის პერიოდი"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"არასოდეს შეამციროთ შეტყობინებების ხმა, მიუხედავად ერთი და იმავე აპიდან თანმიმდევრული შეტყობინებების რაოდენობისა"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"განბლოკვისას ვიბრაცია"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"ვიბრაცია მხოლოდ მაშინ, როცა ეკრანი განბლოკილია"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"გამოიყენეთ სამსახურის პროფილზე"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"პირადი პროფილის შეტყობინებების განტვირთვის პერიოდის პარამეტრები თქვენს სამსახურის პროფილზე გამოიყენეთ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ვირტ. რეალობის დამხმარე სერვისები"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ვირტუალური რეალობის დამხმარე სერვისად გაშვება არცერთ დაინსტალირებულ აპს არ მოუთხოვია."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"გსურთ ვირტუალური რეალობის სერვისისთვის <xliff:g id="SERVICE">%1$s</xliff:g>-ზე წვდომის დაშვება?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"გამორთვა"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"აპის ჩამაგრება"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"აპის ჩამაგრება საშუალებას გაძლევთ, ჩანდეს მიმდინარე აპი, სანამ ჩამაგრებას არ მოხსნით. ამ ფუნქციის გამოყენებით შეგიძლიათ, მაგალითად, სანდო მეგობარი დაუშვათ კონკრეტულ თამაშზე."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"როდესაც აპი ჩამაგრებულია, ჩამაგრებულმა აპმა შეიძლება გახსნას სხვა აპები და მისაწვდომი გახდეს პერსონალური მონაცემები. \n\nაპის ჩამაგრებით სარგებლობისთვის: 	\n1. ჩართეთ აპის ჩამაგრება 	\n2. გახსენით მიმოხილვა 	\n3. შეეხეთ აპის ხატულას ეკრანის ზედა ნაწილში, შემდეგ შეეხეთ „ჩამაგრებას“"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"როდესაც აპი ჩამაგრებულია, ჩამაგრებულმა აპმა შეიძლება გახსნას სხვა აპები და მისაწვდომი გახდეს პერსონალური მონაცემები. \n\nთუ გსურთ, უსაფრთხოდ გაუზიაროთ თქვენი მოწყობილობა სხვას, ამის ნაცვლად, ცადეთ სტუმარი მომხმარებლის გამოყენება. \n\nაპის ჩამაგრებით სარგებლობისთვის: 	\n1. ჩართეთ აპის ჩამაგრება 	\n2. გახსენით მიმოხილვა 	\n3. შეეხეთ აპის ხატულას ეკრანის ზედა ნაწილში, შემდეგ შეეხეთ „ჩამაგრებას“"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"როდესაც აპი ჩამაგრებულია, ჩამაგრებულმა აპმა შეიძლება გახსნას სხვა აპები და მისაწვდომი გახდეს პერსონალური მონაცემები. \n\nაპის ჩამაგრების გამოსაყენებლად: 	\n{0,number,integer}. ჩართეთ აპის ჩამაგრება 	\n{1,number,integer}. გახსენით მიმოხილვა 	\n{2,number,integer}. შეეხეთ აპის ხატულას ეკრანის ზედა ნაწილში, შემდეგ შეეხეთ „ჩამაგრებას“"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"როდესაც აპი ჩამაგრებულია, ჩამაგრებულმა აპმა შეიძლება გახსნას სხვა აპები და მისაწვდომი გახდეს პერსონალური მონაცემები. \n\nთუ გსურთ, უსაფრთხოდ გაუზიაროთ თქვენი მოწყობილობა სხვას, ამის ნაცვლად, ცადეთ სტუმარი მომხმარებლის გამოყენება. \n\nაპის ჩამაგრების გამოსაყენებლად: 	\n{0,number,integer}. ჩართეთ აპის ჩამაგრება 	\n{1,number,integer}. გახსენით მიმოხილვა 	\n{2,number,integer}. შეეხეთ აპის ხატულას ეკრანის ზედა ნაწილში, შემდეგ შეეხეთ „ჩამაგრებას“"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"როდესაც აპი ჩამაგრებულია: \n\n•		შეიძლება მისაწვდომი გახდეს პერსონალური მონაცემები \n		(მაგალითად, კონტაქტები და ელფოსტის კონტენტი) \n•		ჩამაგრებულმა აპმა შეიძლება გახსნას სხვა აპები \n\nაპის ჩამაგრება მხოლოდ სანდო ადამიანებთან გამოიყენეთ."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ფიქსაციის მოხსნამდე განბლოკვის ნიმუშის მოთხოვნა"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ჩამაგ. მოხსნამდე PIN-ის მოთხოვნა"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ფიქსაციის მოხსნამდე პაროლის მოთხოვნა"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ჩამაგრების მოხსნიდან მოწყობილობის ჩაკეტვა"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"დაადასტურეთ SIM-ის წაშლა"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"დაადასტურეთ eSIM-ის ამოშლა"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM-ის ამოშლამდე დაადასტურეთ, რომ თქვენ ხართ"</string>
     <string name="memtag_title" msgid="5096176296797727201">"მეხსიერების გაფართ. დაცვა ბეტა"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"მეხსიერების გაფართოებული დაცვა"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"გამოუყენებელი აპის პარამეტრები"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"დაპაუზდეს აპში აქტივობა, თუ არ იყენებენ"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ნებართვების ამოშლა, დროებითი ფაილების წაშლა და შეტყობინებების გამორთვა"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"აპის მართვა გამოუყენებლობის შემთხვევაში"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ნებართვების, დროებითი ფაილების წაშლა, შეტყობინებების გამორთვა და აპის დაარქივება"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ყველა აპი"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"დაინსტალირებული აპები"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"მყისიერი აპები"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"თავისუფალი"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"აპების მიერ გამოყენებული მეხსიერება"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{ბოლო დროს 1 აპმა გამოიყენა მეხსიერება {time}}other{# აპმა ბოლო დროს გამოიყენა მეხსიერება {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"მეხსიერების გამოყენების პროფილირების ჩართვა"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"მეხსიერების გამოყენების პროფილირებისთვის საჭიროა სისტემის დამატებითი რესურსები."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"მეხსიერების პროფილირება გათიშულია"</string>
     <string name="running_frequency" msgid="7260225121706316639">"სიხშირე"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"მაქსიმალური გამოყენება"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"არ არის გამოყენებული მონაცემები"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"სხვა აპების ზემოდან გამოჩენა"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"სხვა აპების ზემოდან გამოჩენის დაშვება"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ეს საშუალებას მისცემს ამ აპს, გამოჩნდეს სხვა აპების ზემოდან. ეს აპი შეძლებს ამოიცნოს, თუ ეკრანის რა ნაწილს ეხებით, ან შეცვალოს ეკრანის გამოსახულება."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"გამომავალი მედიის გამოტანის"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"აპს მიეცით უფლება, გადართოს გამომავალი მედია"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"მიეცით უფლება ამ აპს, აირჩიოს, თუ რომელი დაკავშირებული მოწყობილობა დაუკრავს აუდიოს ან ვიდეოს სხვა აპებიდან. თუ ნებადართულია, ამ აპს შეუძლია წვდომა ხელმისაწვდომი მოწყობილობების სიაზე, როგორიცაა ყურსასმენები და დინამიკები, და აირჩიოს რომელი გამომავალი მოწყობილობა იქნება გამოყენებული აუდიოსა და ვიდეოს სტრიმინგისთვის ან ტრანსლირებისთვის."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"წვდომა ყველა ფაილზე"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"წვდომის დაშვება ყველა ფაილის სამართავად"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"აპს აძლევს უფლებას, წაიკითხოს, შეცვალოს და წაშალოს ყველა ფაილი ამ მოწყობილობაზე და ნებისმიერ დაკავშირებულ მეხსიერებაზე. ამ უფლების მინიჭების შემთხვევაში, აპს შეიძლება ფაილებზე წვდომა ჰქონდეს ისე, რომ ამის შესახებ არ იცოდეთ."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"შეუძლია ჰქონდეს წვდომა ყველა ფაილზე"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ხმოვანი აქტივაციის აპები"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ხმოვანი აქტივაციის დაშვება"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ხმოვანი აქტივაცია რთავს დამტკიცებულ აპებს, უკონტაქტოდ, ხმოვანი ბრძანების გამოყენებით. ჩაშენებული ადაპტური ზონდირება უზრუნველყოფს მონაცემების კონფიდენციალურობას მხოლოდ თქვენთვის..\n\n"<a href="">"მეტი დაცული ადაპტირებული სენსორების შესახებ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"სრული ეკრანის შეტყობინებები"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ნება დართეთ ამ აპიდან სრული ეკრანის შეტყობინებებს"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ნება დართეთ ამ აპს, აჩვენოს შეტყობინებები, რომლებიც სრულ ეკრანს იკავებს, როდესაც მოწყობილობა ჩაკეტილია. აპმა ისინი შეიძლება გამოიყენოს გამაფრთხილებელი სიგნალების და შემომავალი ზარების გამოყოფისთვის ან სხვა გადაუდებელი შეტყობინებებისთვის."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> გაფრთხილება მობილურ ინტერნეტზე"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> მონაცემთა მოხმარების ლიმიტი"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> გაფრთხილება მობილურ ინტერნეტზე / <xliff:g id="ID_2">^2</xliff:g> მონაცემთა მოხმარების ლიმიტი"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ოპერატორი თქვენ მიერ მოხმარებულ ინტერნეტს შეიძლება მოწყობილობისგან განსხვავებულად ითვლიდეს"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"გამორიცხავს მონაცემებს, რომლებსაც ოპერატორის ქსელები იყენებს"</string>
     <string name="data_used_template" msgid="8229342096562327646">"გამოყენებულია <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"მონაც. გაფრთხილების დაყენება"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"განახლდა <xliff:g id="ID_1">^2</xliff:g>-ის წინ"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ახლახან განაახლა <xliff:g id="ID_1">^1</xliff:g>-მ(ა)"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ახლა განახლდა"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"გეგმის ნახვა"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"დეტალების ნახვა"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"მონაცემთა დამზოგველი"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"მონაცემებზე შეუზღუდავი წვდომით"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-მა გამოიყენა ჩვეულებრივზე მეტი ბატარეა ფონში"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-მა გამოიყენა მეტი ბატარეა წინა პლანზე"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g>-მა გამოიყენა ჩვეულებრივზე მეტი ბატარეა წინა პლანზე"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ბატარეის გამოყენების ანომალია"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ბატარეის მაღალი მოხმარება"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ბატარეის მაღალი მოხმარება ფონში"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ბატარეის მაღალი მოხმარება წინა პლანზე"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"დეველოპერის სწრაფი პარამეტრების მოზაიკები"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb ავტორიზაციის დროის ამოწურვის გამორთვა"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"adb ავტორიზაციების ავტომატურად გაუქმების გამორთვა სისტემებისთვის, რომლებიც ნაგულისხმევი (7 დღე) ან მომხმარებლის მიერ დაყენებული პერიოდის განმავლობაში (მინიმუმ 1 დღე) ხელახლა არ დაუკავშირდა."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-ის კვალის მიდევნება"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"სენსორების გამორთვა"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"სამსახურის პროფილის პარამეტრები"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"სამსახურის კატალოგის კონტაქტების ძიება პირად აპებში"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"სისტემური ნავიგაცია, 2-ღილაკიანი ნავიგაცია, 3-ღილაკიანი ნავიგაცია, ჟესტებით ნავიგაცია, გადაფურცვლა"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ციფრული ასისტენტი"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"გადაფურცლეთ ასისტენტის გამოსაძახებლად"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"გადაფურცლეთ ქვედა კუთხიდან ზემოთ ციფრული ასისტენტის აპის გამოსაძახებლად."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"გადაფურცლეთ ქვედა კუთხიდან ზემოთ ციფრული ასისტენტის აპის გამოსაძახებლად"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ასისტენტის გასაშვებად ხანგრძლივად დააჭირეთ მთავარს"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ციფრული ასისტენტის აპის გამოსაძახებლად ხანგრძლივად დააჭირეთ მთავარი ეკრანის ღილაკს."</string>
     <string name="low_label" msgid="6525629096999711220">"დაბალი"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ავტომატური შევსების სერვისი"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ავტომატური შევსების ნაგულისხმევი სერვისი"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"პაროლები"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"პაროლების, წვდომის გასაღებებისა და მონაცემთა სერვისები"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"დამატებითი პროვაიდერები"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"უპირატესი სერვისი"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"დამატებითი სერვისები"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# პაროლი}other{# პაროლი}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ავტომატური, შევსება, ავტომატური შევსება, პაროლი"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"მონაცემები, წვდომის გასაღები, პაროლი"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ავტომატური, შევსება, ავტომატური შევსება, მონაცემები, წვდომის გასაღებებიწვდომის გასაღები, პაროლი"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"შეცვლა"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"გახსნა"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"არჩეული არაფერია"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;დარწმუნდით, რომ ენდობით ამ აპს&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google-ის ავტომატური შევსება&gt;%1$s&lt;/xliff:g&gt; იყენებს თქვენს ეკრანზე არსებულ კონტენტს, რათა გაარკვიოს, რა შეიძლება შეივსოს ავტომატურად."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; იყენებს იმას, რაც თქვენს ეკრანზე ჩანს იმის განსაზღვრისთვის, რისი ავტომატურად შევსებაც შეიძლება. ახალი პაროლები, წვდომის გასაღებები და სხვა ინფორმაცია ამიერიდან აქ შეინახება."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"პაროლები, წვდომის გასაღებები და მონაცემთა სერვისები"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ახალი პაროლები, წვდომის გასაღებები და სხვა ინფორმაცია ამიერიდან აქ შეინახება. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; შეძლებს იმის გამოყენებას, რაც თქვენს ეკრანზეა, იმის განსაზღვრისთვის, თუ რის ავტომატური შევსებაა შესაძლებელი."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"სასურველი სერვისის მომწოდებელი პაროლების, წვდომის გასაღებების და ავტომატური შევსებისთვის"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"გამოირთოს %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ამ სერვისის გამორთვა?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; შენახული ინფორმაცია, როგორიცაა პაროლები, წვდომის გასაღებები, გადახდის მეთოდები და სხვა ინფორმაცია, არ შეივსება სისტემაში შესვლისას. შენახული ინფორმაციის გამოსაყენებლად აირჩიეთ პაროლი, წვდომის გასაღები ან მონაცემთა სერვისი."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"პაროლები, წვდომის გასაღებები და ავტომატური შევსება"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; პაროლები, წვდომის გასაღებები და სხვა შენახული ინფორმაცია ავტომატური შევსებისთვის არ იქნება ხელმისაწვდომი ანგარიშზე შესვლისას"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;შეცვალეთ თქვენი სასურველი მომსახურება შემდეგზე: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ახალი პაროლები, წვდომის გასაღებები და სხვა ინფორმაცია ამიერიდან აქ შეინახება. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; შეძლებს თქვენს ეკრანზე განთავსებული ინფორმაციის გამოყენებას იმის განსაზღვრისთვის, თუ რისი შევსებაა ავტომატურად შესაძლებელი"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"გსურთ %1$s-ის გამოყენება?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"გამორთვა"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"შეცვლა"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"შეგიძლიათ ჩართული გქონდეთ მხოლოდ 5 მომსახურება"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ახლის დასამატებლად გამორთეთ სულ მცირე ერთი მომსახურება მაინც"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s იყენებს თქვენს ეკრანზე გამოსახულ კონტენტს, რათა გაარკვიოს, რა შეიძლება შეივსოს ავტომატურად."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"პაროლების, წვდომის გასაღებებისა და მონაცემთა სერვისების ლიმიტი"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"შეგიძლიათ, ერთდროულად მაქსიმუმ 5 პაროლი, წვდომის გასაღები და მონაცემთა სერვისი გაააქტიუროთ. მეტის დასამატებლად გამორთეთ სერვისი."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"პაროლების, წვდომის გასაღებებისა და მონაცემთა სერვისების ლიმიტი"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ერთდროულად, შეგიძლიათ, მაქსიმუმ 5 პაროლი, წვდომის გასაღები და მონაცემთა სერვისი გქონდეთ. სხვების დასამატებლად გამორთეთ სერვისი."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"გამორთვა"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ავტომატური შევსება"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"აღრიცხვის დონე"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"აპის თავსებადობის ცვლილებები მხოლოდ გამართვადი აპლიკაციებისთვის შეიძლება განხორციელდეს დააინსტალირეთ გამართვადი აპი და ხელახლა ცადეთ."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"დამოკიდებულია სხვა პარამეტრზე"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ანგარიში"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ანგარიში"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"მოწყობილობის სახელი"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ძირითადი ინფორმაცია"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"სამართლებრივი და სარეგულაციო"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"ნება დართეთ ამ აპს, გაეშვას NFC თეგის სკანირებისას.\n თუ ეს ნებართვა ჩართულია, თეგის ამოცნობისას ეს აპი ერთ-ერთ ვარიანტად იქნება ხელმისაწვდომი."</string>
     <string name="media_output_title" msgid="8283629315159510680">"მედიის დაკვრა შემდეგზე"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g>-ის დაკვრა"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"აუდიო დაიკვრება"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ეს მოწყობილობა"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ზარების განხორციელებისას მიუწვდომელია"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ზარის აღება მოწყობილობაზე:"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"დადუმება"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ჩასართავად ჯერ შეცვალეთ „ხანგრძლივად დააჭირეთ ჩართვის ღილაკს“ ჩართვის მენიუთი."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ქსელის დეტალები"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"თქვენი მოწყობილობის სახელი ხილულია თქვენს ტელეფონზე არსებული აპებისთვის. მის დანახვას შეძლებენ სხვა პირებიც, როცა Bluetooth მოწყობილობებს ან Wi-Fi ქსელს დაუკავშირდებით, ან Wi-Fi უსადენო ქსელს დააყენებთ."</string>
     <string name="devices_title" msgid="649715719278562515">"მოწყობილობები"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ქსელის არჩევა"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"კავშირი გაწყვეტილია"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"სახელი"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ფერი (იყენებს თავსებადი აპები)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"შენახვა"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM ბარათის გამოყენება"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"SIM-ის გამოყენება"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"გამორთვა"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ამ SIM-ის გასათიშად, ამოიღეთ SIM ბარათი"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"შეეხეთ <xliff:g id="CARRIER">%1$s</xliff:g>-ის გასააქტიურებლად"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ბარათის ამოშლა"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"SIM-ის გასათიშად, ამოიღეთ ის"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"შეეხეთ თქვენი <xliff:g id="CARRIER">%1$s</xliff:g> SIM-ის გასააქტიურებლად"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM-ის ამოშლა"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ქსელის სასურველი ტიპი"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ქსელის მუშაობის რეჟიმის შეცვლა"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ქსელის სასურველი ტიპი"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ფასები შეამოწმეთ თქვენს ოპერატორთან."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"აპის მიერ მონაცემთა მოხმარება"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ქსელის რეჟიმი (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>) არასწორია. იგნორირება."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"შეტყობინებების სატელიტური მიმოცვლა"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"მიიღეთ და გაგზავნეთ ტექსტური შეტყობინებები სატელიტის მეშვეობით. არ შედის თქვენს ანგარიშში."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"მიიღეთ და გაგზავნეთ ტექსტური შეტყობინებები სატელიტის მეშვეობით. არ შედის თქვენს ანგარიშში."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"შეტყობინებების სატელიტური მიმოცვლა"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"სატელიტური შეტყობინებების მიმოცვლის შესახებ"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"თქვენ, როგორც მოთხოვნის შესაბამისი <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ის ანგარიშის წევრს, შეგიძლიათ სატელიტის მეშვეობით გააგზავნოთ და მიიღოთ ტექსტური შეტყობინებები."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"თქვენი <xliff:g id="CARRIER_NAME">%1$s</xliff:g> გეგმა"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"შეტყობინებების სატელიტური მიმოცვლის ფუნქცია შედის თქვენს ანგარიშში"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"შეტყობინებების სატელიტური მიმოცვლის ფუნქცია არ შედის თქვენს ანგარიშში"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"შეტყობინებების სატელიტური მიმოცვლის დამატება"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"მუშაობის პრინციპი"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"მობილური ქსელის არ ქონის შემთხვევაში"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"თქვენი ტელეფონი ავტომატურად დაუკავშირდება სატელიტს. საუკეთესო კავშირისთვის იყავთ ისეთ ადგილას, სადაც ცის ნათელი ხედია."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"თქვენი ტელეფონის სატელიტთან დაკავშირების შემდეგ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"შეტყობინების ყველგან გაგზავნა შეგიძლიათ, მათ შორის გადაუდებელი დახმარების სამსახურებში. თქვენი ტელეფონი დაუკავშირდება მობილური ქსელს, მისი ხელმისაწვდომობის შემთხვევაში."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"შეტყობინებების სატელიტურ მიმოცვლას შეიძლება უფრო მეტი დრო დასჭირდეს და ხელმისაწვდომია მხოლოდ გარკვეულ ტერიტორიაზე. ამინდმა და გარკვეულმა კონსტრუქციებმა შეიძლება გავლენა მოახდინონ თქვენ კავშირზე სატელიტთან. სატელიტის საშუალებით დარეკვა არ არის ხელმისაწვდომი.\n\nთქვენს ანგარიშში განხორციელებული ცვლილებების პარამეტრებში ასახვას შესაძლოა გარკვეული დრო დასჭირდეს. დეტალებისთვის დაუკავშირდით: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"მეტი ინფორმაცია შეტყობინებების სატელიტური მიმოცვლის შესახებ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"წვდომის წერტილების სახელები"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"მიუწვდომელია, როცა დაკავშირებულია <xliff:g id="CARRIER">%1$s</xliff:g>-თან"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"გსურთ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"გსურთ SIM ბარათის გამოყენებაზე გადართვა?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"გსურთ, გამოიყენოთ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ყოველ ჯერზე მხოლოდ ერთი SIM ბარათი შეიძლება იყოს აქტიური.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"მხოლოდ 1 eSIM შეიძლება აქტიური იყოს ერთდროულად.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა თქვენს <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ყოველ ჯერზე მხოლოდ ერთი SIM ბარათი შეიძლება იყოს აქტიური.\n\nგადართვა <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"მხოლოდ ერთი SIM შეიძლება იყოს ჩართული.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა თქვენს<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"მხოლოდ 1 eSIM შეიძლება იყოს ჩართული.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა თქვენს <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"მხოლოდ ერთი SIM შეიძლება იყოს ჩართული.\n\n-ზე გადართვა თქვენს <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-ის სერვისს არ გააუქმებს."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ერთდროულად 2 SIM-ის გამოყენება შეგიძლიათ. <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ის გამოსაყენელად გამორთეთ მეორე SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"გამორთვა: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM-ის გამორთვით თქვენი სერვისი არ გაუქმდება"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"მიმდინარეობს ქსელთან დაკავშირება…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა ზარებისა და შეტყობინებებისთვის…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"ოპერატორის გადართვა ვერ მოხერხდა"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ოპერატორის გადართვა ვერ მოხერხდა წარმოქმნილი შეცდომის გამო."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"მიმდინარეობს SIM ბარათის აქტივაცია…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"მიმდინარეობს <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ზე გადართვა…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM ბარათის გადართვა ვერ მოხერხდა"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"წარმოიქმნა შეფერხება. SIM ბარათის გადართვა ვერ მოხერხდა."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"გამოირთოს <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"გამოირთოს SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"მიმდინარეობს SIM-ის გამორთვა<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"ოპერატორი ვერ გაითიშა"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ოპერატორი ვერ გაითიშა წარმოქმნილი შეფერხების გამო."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM-ის გამორთვა შეუძლებელია"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"წარმოიქმნა შეფერხება და SIM-ის გამორთვა ვერ მოხერხდა."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"გამოიყენებთ 2 SIM ბარათს?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ამ მოწყობილობას შეუძლია ერთდროულად 2 SIM ბარათი ჰქონდეს აქტიური. იმისათვის, რომ განაგრძოთ ყოველ ჯერზე ერთი SIM ბარათის გამოყენება, შეეხეთ ტექსტს „არა, გმადლობთ“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"გსურთ მოწყობილობის გადატვირთვა?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"არა, გმადლობთ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"გაუქმება"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"გადართვა"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"გამორთვა"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM ბარათის გააქტიურება ვერ ხერხდება"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ცადეთ, ხელახლა ჩართოთ SIM ბარათი. თუ პრობლემა არ მოგვარდა, გადატვირთეთ მოწყობილობა."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"თქვენი SIM-ის კონფიგურაცია"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"მობილური ქსელის პრეფერენციების კონფიგურაცია ამ მოწყობილობაზე რამდენიმე SIM-ის გამოსაყენებლად"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"მიამაგრეთ ლეიბლი SIM-ებს"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ეს ლეიბლები გამოჩნდება ზარების განხორციელებისას, ტექსტური შეტყობინებების გაგზავნისას და ინტერნეტის გამოყენებისას, ასევე, პარამეტრებში"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-ლეიბლი"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ლეიბლი"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"SIM-ების არჩევა"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ერთდროულად 2 SIM-ის გამოყენება შეგიძლიათ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ძირითადი SIM-ების კონფიგურაცია"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"აირჩიეთ ზარებისთვის, ტექსტური შეტყობინებების გაგზავნისთვის და ინტერნეტისთვის ნაგულისხმევად გამოსაყენებელი SIM-ები"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"თქვენი ძირითადი SIM-ები"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ზარები"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ტექსტი"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"მონაცემთა ავტომატური გადართვა"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"დაფარვისა და ხელმისაწვდომობის მიხედვით მონაცემების გამოყენება ნებისმიერი SIM-იდან"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"მხოლოდ ინტერნეტისთვის"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"კონფიგურაცია"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"შემდეგი"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"ირთვება: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"მობილური ქსელი"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ტელეფონის ნომერი"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-ლეიბლი და ფერი"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ქსელის გააქტიურება"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"ოპერატორის გადართვა"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> აქტიურია"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM აქტიურია"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"შეეხეთ SIM-ბარათის პარამეტრების გასაახლებლად"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"გადართულია <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-ზე"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"გადართულია სხვა ოპერატორზე"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"თქვენი მობილური ქსელი შეცვლილია"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"დააყენეთ სხვა SIM ბარათი"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"აირჩიეთ გააქტიურებული SIM ბარათი ან ერთდროულად ისარგებლეთ 2 SIM ბარათით"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"აირჩიეთ გამოსაყენებელი ნომერი"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ამ მოწყობილობაზე ხელმისაწვდომია 1 ნომერი, თუმცა ყოველ ჯერზე შესაძლებელია მხოლოდ ერთის გამოყენება}=2{ამ მოწყობილობაზე ხელმისაწვდომია 2 ნომერი, თუმცა ყოველ ჯერზე შესაძლებელია მხოლოდ ერთის გამოყენება}other{ამ მოწყობილობაზე ხელმისაწვდომია # ნომერი, თუმცა ყოველ ჯერზე შესაძლებელია მხოლოდ ერთის გამოყენება}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"მიმდინარეობს გააქტიურება<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ამჟამად გააქტიურება ვერ ხერხდება"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"აირჩიეთ SIM ბარათი"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ამ მოწყობილობაზე ხელმისაწვდომია 1 SIM, თუმცა ყოველ ჯერზე შესაძლებელია მხოლოდ ერთის გამოყენება}=2{ამ მოწყობილობაზე ხელმისაწვდომია 2 SIM, თუმცა ყოველ ჯერზე შესაძლებელია მხოლოდ ერთის გამოყენება}other{ამ მოწყობილობაზე ხელმისაწვდომია # SIM, თუმცა ყოველ ჯერზე შესაძლებელია მხოლოდ ერთის გამოყენება}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"მიმდინარეობს <xliff:g id="ELLIPSIS">…</xliff:g>-ის ჩართვა"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"SIM ბარათის ჩართვა ვერ მოხერხდა"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"გსურთ, გამოიყენოთ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> გამოყენებული იქნება მობილური ინტერნეტის, ზარებისა და SMS-ებისთვის."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"აქტიური SIM ბარათები ხელმისაწვდომი არ არის"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"მობილური ინტერნეტის, ზარის ფუნქციებისა და SMS-ების მოგვიანებით გამოსაყენებლად, გადადით თქვენი ქსელის პარამეტრებზე"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"გსურთ ამ eSIM-ის წაშლა?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ამ SIM ბარათის ამოშლა მოწყობილობიდან <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-ის სერვისს ამოიღებს.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-ის სერვისი არ გაუქმდება."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ამ მოქმედებით ამოიშლება <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-ის სერვისი ამ მოწყობილობაზე, მაგრამ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-ის გეგმა არ გაუქმდება."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ამოშლა"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"მიმდინარეობს SIM ბარათის ამოშლა…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM ბარათი ვერ იშლება"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ეს SIM ბარათი ვერ იშლება შეცდომის გამო.\n\nგადატვირთეთ მოწყობილობა და ხელახლა ცადეთ."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"მიმდინარეობს eSIM-ის ამოშლა…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM-ის ამოშლა შეუძლებელია"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"წარმოიქმნა შეფერხება და მოცემული eSIM არ ამოშლილა.\n\nგადატვირთვეთ მოწყობილობა და ხელახლა ცადეთ."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"მოწყობილობასთან დაკავშირება"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> აპს სურს დროებითი Wi-Fi ქსელის გამოყენება თქვენს მოწყობილობასთან დასაკავშირებლად"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"მოწყობილობები ვერ მოიძებნა. დარწმუნდით, რომ მოწყობილობები ჩართულია და ხელმისაწვდომია დასაკავშირებლად."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"გადაუდებელი ზარები"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"გადაუდებელი ზარების Wi‑Fi დარეკვის საშუალებით შესრულება არ არის მხარდაჭერილი თქვენი ოპერატორის მიერ.\nგადაუდებელი ზარის განსახორციელებლად მოწყობილობა ავტომატურად გადაერთვება ფიჭურ ქსელზე.\nგადაუდებელი ზარები მხოლოდ იმ არეალებშია შესაძლებელი, სადაც ფიჭური კავშირგაბმულობა არსებობს."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ხარისხის გასაუმჯობესებლად ზარებისთვის Wi‑Fi გამოიყენეთ"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"დარეკვის სარეზერვო ხერხი"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"თუ <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> მიუწვდომელი არის ან როუმინგზეა, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ზარებისთვის გამოიყენეთ თქვენი მობილური ინტერნეტის SIM."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"დარეკვის სარეზერვო ხერხი"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"შემომავალი MMS შეტყობინება"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS შეტყობინების გაგზავნა ვერ ხერხდება"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"შეეხეთ MMS შეტყობინებების დასაშვებად <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>-ზე, როდესაც მობილური ინტერნეტი გამორთულია"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ინფორმაცია თქვენი სამსახურის პოლიტიკის შესახებ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"პარამეტრებს მართავს თქვენი IT ადმინისტრატორი"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16 კბ ზომის გვერდით ჩატვირთვა"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"ჩატვირთვა 16 კბ-იანი გვერდის მხარდაჭერის კერნელით"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"გსურთ გადატვირთოთ 16-კბაიტიანი გვერდებისთვის თავსებადი კერნელი?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"გაფრთხილება: ზოგიერთი აპი შეიძლება არ იყოს თავსებადი ამ რეჟიმთან. დადასტურების შემდეგ მოწყობილობა გადაიტვირთება."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"გსურთ გადატვირთოთ 4-კბაიტიანი გვერდებისთვის თავსებადი კერნელი?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"დადასტურების შემდეგ მოწყობილობა გადაიტვირთება."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"ვერ მოხერხდა კერნელის განახლება კერნელის ვერსიაზე, რომელიც თავსებადია 16-კბაიტიან გვერდების ზომასთან"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"მიმდინარეობს ცვლილებების გააქტიურება"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"სისტემის ხარვეზის ანგარიშის დამმუშავებელი"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"განსაზღვრავს, რომელი აპი მართავს სისტემის ხარვეზის ანგარიშის მალსახმობს თქვენს მოწყობილობაზე."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"პირადი"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"პარამეტრების ეკრანების გადაფარვის დაშვება აპებისთვის, რომლებსაც სხვა აპების ზემოდან გამოჩენა შეუძლია"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"სიმულაციური მოდემის დაშვება"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"დაუშვით ამ მოწყობილობაზე სიმულაციური მოდემის სერვისის გაშვება ინსტრუმენტული ტესტირებისთვის. ნუ ჩართავთ მას ტელეფონის ნორმალური გამოყენების დროს"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"ეკრანის გაზიარების დაცვის გათიშვა"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"თიშავს აპლიკაციისა და შეტყობინებების სისტემურ დაცვას ეკრანის გაზიარების დროს"</string>
     <string name="media_controls_title" msgid="403271085636252597">"მედია"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"მედიადამკვრელის ჩამაგრება"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"დაკვრის სწრაფად გასაგრძელებლად მედიადამკვრელი გახსნილი დარჩება სწრაფ პარამეტრებში"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"მედიის ჩაკეტილ ეკრანზე ჩვენება"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"დაკვრის სწრაფად გასაგრძელებლად მედიადამკვრელი გახსნილი იქნება ჩაკეტილ ეკრანზე"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"მედიარეკომენდაციების ჩვენება"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"ასისტენტის მედია რეკომენდაციების ჩვენება"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"თქვენი აქტივობის საფუძველზე"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"დამკვრელის დამალვა"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"დამკვრელის ჩვენება"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"მედია"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"კამერის პროგრამული უზრუნველყოფის გაფართოებების დაშვება"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"რთავს კამერის უახლესი ფუნქციების ნაგულისხმევ პროგრამულ უზრუნველყოფას, როგორიცაა არავიზუალური ვიდეოგრაფია."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ჩაირთვება Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ინტერნეტი"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-ები"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-ები"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"აქტიური"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"არააქტიური"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ჩართულია"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"გამორთულია"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / ნაგულისხმევი <xliff:g id="ID_1">%1$s</xliff:g>-თვის"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ზარები"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"თავსებადი მედიის ხმა უფრო იმერსიული ხდება"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"თავის მოძრაობაზე თვალის დევნება"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"აუდიო იცვლება თქვენი თავის მოძრაობასთან ერთად"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ნებართვების სინქრონიზაცია"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"მიეცით <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>-ს იმავე აპის ნებართვები, რომლებიც დაშვებული გაქვთ <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>-ზე"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ტელეფონიდან ნებართვების სინქრონიზაცია"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"დაუშვით თქვენს საათზე იგივე აპის ნებართვები, რაც ტელეფონზეა"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"აუდიო მოწყობილობის ტიპი"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"უცნობი"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"დინამიკი"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"საშუალო"</string>
     <string name="contrast_high" msgid="3988567609694797696">"მაღალი"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ამ აპის გახსნა შესაძლებელია მხოლოდ 1 ფანჯარაში"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ჩართული"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"გამორთული"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"გამორთული"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"გამორთული"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ჩართული"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"გამორთული"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ჩართული"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"გამორთული"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"მუქ ეკრანებს გააღიავებს და პირიქით"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ეკრანზე მასშტაბის გადიდება"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"გამორთული"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"გამორთული"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"შეცდომაში შემყვანი აპების სკანირება"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"აპში აქტივობის შემოწმება ფიშინგის კუთხით"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"სკანირების გამოყენება თაღლითური აპებისთვის"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"სკანირების გამოყენება სამსახურის თაღლითური აპებისთვის"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"პაროლი დაყენებულია"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"კურსორის ჩვენება სტილუსის გადატარების დროს"</string>
 </resources>
diff --git a/res/values-kk/arrays.xml b/res/values-kk/arrays.xml
index 1970543..84a063c 100644
--- a/res/values-kk/arrays.xml
+++ b/res/values-kk/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Қол жетімді"</item>
     <item msgid="6096962300722555553">"Аумақтан тыc"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Жүйенің әдепкі мәнін пайдалану: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 минуттан кейін"</item>
     <item msgid="1574040255478150028">"5 минуттан кейін"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-kk/strings.xml b/res/values-kk/strings.xml
index 2d80e14..e1bd1bc 100644
--- a/res/values-kk/strings.xml
+++ b/res/values-kk/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Әзірлеуші болдыңыз!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Қажет емес, сіз қазір әзірлеушісіз."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Алдымен әзірлеуші опцияларын қосыңыз."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Әзірлеуші параметрлеріне тек әкімші пайдаланушылар кіре алады."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Жүйе"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Істеп тұр"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Істен шыққан"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Құрылғыңызды бүктегенде, алдыңғы экран қосылады."</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Тек ойындар, бейнелер және т.б."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Экранды күту режиміне қоймайтын қолданбаларда алдыңғы экран қосылады."</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Жалғастыру үшін жоғары қарай сырғытыңыз"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Қолданбаны пайдалана беру үшін телефоныңызды жауып, алдыңғы экранда жоғары қарай сырғытыңыз немесе экран құлыпталғанша бірнеше секунд күтіңіз."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Ешқашан"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Құрылғыңызды бүктегенде, алдыңғы экран құлыпталады."</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Автоматты бұруды пайдалану"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Ұқсас"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Рингтон және оятқыштар"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Қоңырау шалу кезіндегі аудио"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Meдиа"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Хабарландырулар мен басқа жүйелік дыбыстар"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Медиа және жүйе дыбыстары"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Хабарландырулар"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Әдепкісінше аудиошығысты жеке қолданбалар анықтайды."</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Атауы жоқ Bluetooth құрылғысы"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Іздеуде..."</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Бас тарту"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audio функциясын өшіру"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Құрылғы LE Audio жабдық мүмкіндіктерін қолдайтын болса, Bluetooth LE Audio функциясы өшіріледі."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio режимі"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE audio ауыстырғышын \"Құрылғы туралы мәлімет\" бөлімінде көрсету"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE audio рұқсат тізімін қосу"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE audio рұқсат тізімі функциясын қосу"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bypass Bluetooth LE Audio рұқсат тізімін айналып өту"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio перифериялық құрылғысының рұқсат тізімі шарттарына сәйкес келуі расталмаса да, LE Audio қолданбасын әдепкісінше пайдаланыңыз."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Сақтау құрылғылары"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Қоңырау шалуға болатын құрылғылар"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Басқа құрылғылар"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сақталған құрылғылар"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Аккаунтпен байланысқан"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Бұрын аккаунтпен пайдаланылған"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth қосылады."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Жалғау параметрлері"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Бұрын жалғанған"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth қосылды"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Барлығын көру"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Барлығын көру"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Стилус түймесін басу"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (жұмыс профилі)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Мәтін өрістеріне жазу"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Стилуспен басқан барлық түймені елемеу"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Аудио бөлісу"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Аудионы бөлісу"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Қоңыраулар мен оятқыштар"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR коды арқылы аудио трансляцияға қосылуға болады."</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Маңайда аудио трансляциялар табылмады."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Күн және уақыт"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Өшіру"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s қолданатын тілдер қатарына қосылсын ба?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Қолданбалар мен веб-сайттарға сізге осы тілдің де қажет екенін білуге мүмкіндік береді."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Құрылғы параметрлері мен аймақтық параметрлер өзгереді."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Ауыстыру"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s тілін пайдалану мүмкін емес"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Сенбі"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Аймақтық параметрлер болмаса, қолданба өзінің тіл параметрлерін пайдаланады."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Тіл параметрлері туралы толық ақпарат алыңыз."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Қосымша параметрлер"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Қарату формасы"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Сізді қалай деп атау керектігін көрсетіңіз."</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Қолданбалар сізбен тіл қатысу үшін өзіңіз таңдаған қарату формасын пайдалана алады."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Көрсетілмеген"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Аналық"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Аталық"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Белгісіз"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Таңдалған тілді жою керек пе?}other{Таңдалған тілдерді жою керек пе?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Мәтін басқа тілде көрсетіледі."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Барлық тілдерді жою мүмкін емес"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Локация"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Локацияны пайдалану"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Өшірулі"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Қосулы: # қолданба локацияны пайдалана алады.}other{Қосулы: # қолданба локацияны пайдалана алады.}}"</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_location_off" msgid="8568995909147566720">"Қолданбалар мен қызметтер үшін локацияны пайдалану рұқсаты өшірулі. Бірақ құтқару қызметіне қоңырау шалатын немесе хабар жіберетін болсаңыз, құрылғыңыздың локациясы беріледі."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Локация параметрлері туралы толығырақ ақпарат алыңыз."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Локация параметрлері туралы толық ақпарат"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Локацияны пайдалану рұқсатын өзгерту үшін \"Параметрлер &gt; Қауіпсіздік және құпиялық &gt; Құпиялық параметрлері\" бөліміне өтіңіз."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Аккаунттар"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Қауіпсіздік"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифрлау және тіркелу деректері"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Ең жақсы нәтижелер алу үшін \"Google-ға арнап жасалған\" сертификаты бар экран қорғанышын пайдаланыңыз. Басқа экран қорғаныштары пайдаланылса, балаңыздың саусақ ізі оқылмай қалуы мүмкін."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Құлыпты сағат арқылы ашу"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Бет тану және саусақ ізімен ашу функцияларын реттесеңіз, бетперде таққанда немесе қараңғы жерде болғанда, телефон саусақ ізін пайдалануды ұсынатын болады.\n\nБет тану функциясы немесе саусақ ізі арқылы аша алмасаңыз, сағатты пайдалануыңызға болады."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Саусақ ізі арқылы аша алмасаңыз, сағатты пайдалануыңызға болады."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Бет тану функциясы арқылы аша алмасаңыз, сағатты пайдалануыңызға болады."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Бет тану және саусақ ізімен ашу функцияларын реттесеңіз, маска таққанда немесе қараңғы жерде болғанда, телефон саусақ ізін пайдалануды сұрайды.\n\nҚұлыпты сағат арқылы ашу — телефон құлпын ашудың тағы бір ыңғайлы әдісі. Мысалы оны саусағыңыз ылғал болғанда не бетіңіз танылмағанда пайдалануға болады."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Құлыпты сағат арқылы ашу — телефон құлпын ашудың тағы бір ыңғайлы әдісі. Мысалы оны саусақ ізіңіз танылмағанда пайдалануға болады."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Құлыпты сағат арқылы ашу — телефон құлпын ашудың тағы бір ыңғайлы әдісі. Мысалы оны бетіңіз танылмағанда пайдалануға болады."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Мына әрекет үшін саусақ ізін немесе сағатты пайдаланыңыз:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Мына әрекет үшін бет үлгісін немесе сағатты пайдаланыңыз:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Мына әрекет үшін бет үлгісін, саусақ ізін немесе сағатты пайдаланыңыз:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Құлыпты сағат арқылы ашу — телефон құлпын ашудың тағы бір ыңғайлы әдісі. Мысалы оны саусағыңыз ылғал болғанда не бетіңіз танылмағанда пайдалануға болады.\n\nОсы телефонды сағатыңызбен ашу жолы төменде берілген:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Қазір емес"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Жалғастыру"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Жаю"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Бұл қалай жұмыс істейді?"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Сағатыңызды білекке тағып, оның құлпын ашуыңыз және осы телефонға жақын жерде ұстауыңыз керек. Сағат қолыңызға тағылғаннан кейін, оның құлпын қайтадан ашпайсыз."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Телефон құлпы ашылғаннан кейін, сағатқа хабарландыру келеді. Құлпын байқаусызда ашып жіберсеңіз, оны қайта құлыптау үшін хабарландыруды түртіңіз."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Барлығы өз қолыңызда"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Кез келген уақытта параметрлерді пайдаланып, құлыпты сағат арқылы ашу функциясынан сағатыңызды өшіре аласыз."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Хабарландыруды түртіңіз."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Құлып экранын жоғары сырғытыңыз."</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Сағат таңдаңыз"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Қолжетімді сағаттар"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Бас тарту"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Растау"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Барлығы дайын!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Құлып экранында жоғары сырғытқанда не хабарландыруды түрткенде, осы телефонды енді сағатыңызбен аша аласыз."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Дайын"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Құлыпты сағат арқылы ашу"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Құлып экранында жоғары сырғытқанда не хабарландыруды түрткенде, осы телефонды сағатыңызбен аша аласыз."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Құлыпты сағат арқылы ашу функциясын пайдалану үшін сағатыңызды білекке тағып, оның құлпын ашуыңыз және осы телефонға жақын жерде ұстап, оған қосуыңыз керек. Байланыс үзіліп кетсе, аталған функцияны пайдаланбас бұрын, телефон құлпын ашуыңыз қажет.\n\nЕсте сақтаңыз:\nБір уақытта тек бір сағатты реттей аласыз. Басқа сағатты қосу үшін алдымен қазіргісін өшіріңіз."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Жұмысқа арналған бет тану және саусақ ізімен ашу функциялары"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Реттеу қажет."</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Қауіпсіздік"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Құпиялық"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Жұмыс профилі"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Құпия кеңістік"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Жеке кеңістік қолданбаларын құлыптаулы және жасырын қалдырыңыз."</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Жеке қолданбаларды жасыруға не құлыптауға болатын бөлек жерде сақтаңыз."</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Құпия кеңістікті құлыптау"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Құпия кеңістік құлпын құрылғы құлпын ашқандай аша аласыз немесе басқа құлып таңдауыңызға болады."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Құрылғының экран құлпын пайдалану"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Бет және саусақ ізімен ашу"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Саусақ ізімен ашу"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Бет тану"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Реттеу үшін түртіңіз"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Құпия кеңістік үшін саусақ ізімен ашу функциясын пайдалану"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Құпия кеңістік үшін бет тану функциясын пайдалану"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Құлыпты ашу тәсілдері"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Құрылғының экран құлпымен бірдей"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Құпия кеңістікке жаңа құлып таңдау керек пе?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Құпия кеңістікті автоматты түрде құлыптау"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Құрылғыңызды белгілі бір уақыт бойы қолданбаған болсаңыз, құпия кеңістікті автоматты түрде құлыптай аласыз."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Құрылғы құлыпталған сайын"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 минуттық әрекетсіздіктен кейін"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Ешқашан"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Құлыптаулы кезде жасыру"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Құпия кеңістікті құлыптаулы кезде жасыру"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Құрылғыңызда құпия кеңістік бар екенін басқа адамдар білмеуі үшін, оны қолданбалар тізімінен жасыруыңызға болады."</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Құпия кеңістікке жасырулы кезде кіру"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Қолданбалар тізімінен іздеу жолағына \"құпия кеңістік\" деп жазыңыз."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Құпия кеңістік бөлшегін түртіңіз."</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Құпия кеңістік құлпын ашыңыз."</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Өшірулі"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Қосулы"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Жүйе"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Құпия кеңістікті жою"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Құпия кеңістік жойылсын ба?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Құпия кеңістік құрылғыңыздан өшіріледі. Құпия қолданбалар мен деректердің барлығы жойылады. Бұл әрекет қайтарылмайды."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Мына аккаунттар құпия кеңістіктен өшіріледі:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Жою"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Құпия кеңістік өшіріліп жатыр…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Бұған бірнеше минут кетеді."</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Құпия кеңістік жойылды."</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Құпия кеңістікті жою мүмкін болмады."</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Құпия кеңістіктің құлпы ашылды."</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Экран құлпын орнатыңыз"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Жеке бөлмеңізді қолдану үшін осы құрылғыда экран құлпын орнатыңыз."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Экран құлпын орнату"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Бас тарту"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Бас тарту"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Реттеу"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Жеке бөлмені реттеу"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Жеке қолданбаларды жасыруға не құлыптауға болатын бөлек жерде сақтаңыз."</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Бұл қалай жұмыс істейді?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Жеке бөлмеңізге қолданбалар тізімінің төменгі жағынан кіруге болады."</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Жеке бөлмеңіздегі қолданбалар құлыппен қорғалады."</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Жеке бөлме құлыптаулы кезде, ондағы қолданбалардан келетін хабарландырулар жасырылады."</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Жеке бөлмеңіз құлыпталып тұрған кезде, ондағы қолданбалар \"Рұқсаттарды басқару\" бөлімінде, құпиялық тақтасында және басқа параметрлерде көрсетілмейді.\n\nЖеке бөлмені жаңа құрылғыға көшіруге болмайды. Оны басқа құрылғыда пайдаланғыңыз келсе, басқа жеке бөлмені реттеуіңіз керек.\n\nҚұрылғыңызды компьютерге жалғайтын немесе оған зиянды қолданбалар орнататын кез келген адам жеке бөлмеңізге кіре алады."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Жеке бөлме реттеліп жатыр…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Құпия кеңістік құлыптаулы кезде, ондағы қолданбалардан келетін хабарландырулар жасырылады"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Фотосуреттерді не файлдарды бөлісу үшін құпия кеңістік құлпын ашыңыз"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Кейбір қолданбалар жеке бөлмеңізде орнатылып қойған"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Құпия кеңістікті реттеу мүмкін болмады"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Қайталау"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Жеке бөлмеңіздің құлпы экран құлпымен ашылсын ба?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Жеке бөлмеңіздің құлпын құрылғы құлпын ашқандай аша аласыз немесе басқа құлып таңдай аласыз."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Экран құлпын пайдалану"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Жаңа құлып таңдау"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Бәрі дайын!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Құпия кеңістігіңізді табу үшін қолданбалар тізіміне өтіп, төмен айналдырыңыз."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Дайын"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Жеке бөлмені табу үшін төмен айналдырыңыз."</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Аккаунтқа кіру"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Құпия кеңістік үшін қолданылатын аккаунтқа кіріңіз."</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Қазір емес"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Жалғастыру"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Жеке бөлмеңіздің құлпын таңдаңыз"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Жеке бөлмеңіздің құлпын саусақ ізімен ашуға болады. Қауіпсіздік мақсатында бұл опция үшін қосымша құлып орнату керек болады."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Жеке кеңістік үшін PIN кодын орнату"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Жеке кеңістік үшін құпия сөз орнату"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Жеке кеңістік үшін өрнек орнату"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> саусақ ізіне дейін қосуға болады"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Саусақ іздерінің максималды саны енгізілді"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Қосымша саусақ іздері енгізілмейді"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Өрнек"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Құпия сөз"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Экран құлпын жою керек пе?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Құрылғы құлпын ашудың барлық түрі өшірілсін бе?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Профильді қорғауды жою керек пе?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Жоғалған немесе ұрланған жағдайда, өрнек телефоныңызды қорғайды."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Жоғалған немесе ұрланған жағдайда, өрнек телефоныңызды қорғайды.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Бұл әрекет құрылғыда сақталған саусақ ізі үлгісін жояды. Бет үлгіңіз де біржола әрі қауіпсіз жойылады. Қолданбаларға аутентификациялану үшін бетіңізді немесе саусақ ізін пайдалана алмайтын боласыз."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Жоғалған немесе ұрланған жағдайда, PIN коды телефоныңызды қорғайды."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN коды сияқты сақталған деректерді жоғалтасыз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Контактісіз төлеу үшін реттелген карталар өшіріледі.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Құрылғы құлпын ашуды қажет ететін Wallet пен тағы басқа қолданбалар дұрыс жұмыс істемеуі мүмкін."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Жоғалған немесе ұрланған жағдайда, PIN коды телефоныңызды қорғайды.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Бұл әрекет құрылғыда сақталған саусақ ізі үлгісін де жояды. Қолданбаларда аутентификациялану үшін саусақ ізін пайдалана алмайтын боласыз."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN коды және саусақ ізі үлгісі сияқты сақталған деректерді жоғалтасыз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Контактісіз төлеу үшін реттелген карталар өшіріледі.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Құрылғы құлпын ашуды қажет ететін Wallet пен тағы басқа қолданбалар дұрыс жұмыс істемеуі мүмкін."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Жоғалған немесе ұрланған жағдайда, PIN коды телефоныңызды қорғайды.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Бет үлгіңіз біржола әрі қауіпсіз жойылады. Қолданбаларда аутентификациялану үшін бетіңізді пайдалана алмайтын боласыз."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN коды жән бет үлгісі сияқты сақталған деректерді жоғалтасыз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Контактісіз төлеу үшін реттелген карталар өшіріледі.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Құрылғы құлпын ашуды қажет ететін Wallet пен тағы басқа қолданбалар дұрыс жұмыс істемеуі мүмкін."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Жоғалған немесе ұрланған жағдайда, PIN коды телефоныңызды қорғайды.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Бұл әрекет құрылғыда сақталған саусақ ізі үлгісін жояды. Бет үлгіңіз де біржола әрі қауіпсіз жойылады. Қолданбаларға аутентификациялану үшін бетіңізді немесе саусақ ізін пайдалана алмайтын боласыз."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN коды, бет және саусақ ізі үлгілері сияқты сақталған деректерді жоғалтасыз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Контактісіз төлеу үшін реттелген карталар өшіріледі.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Құрылғы құлпын ашуды қажет ететін Wallet пен тағы басқа қолданбалар дұрыс жұмыс істемеуі мүмкін."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Жоғалған немесе ұрланған жағдайда, құпия сөз телефоныңызды қорғайды."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Жоғалған немесе ұрланған жағдайда, құпия сөз телефоныңызды қорғайды.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысымен жұптау керек пе?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Бұрыннан бар үйлестірілген жинаққа жаңа мүше қосыңыз."</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Аудио құрылғының екінші құрамдасын қосу үшін растаңыз."</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth жұптау коды"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Жұптау кодын теріңіз, содан кейін «Оралу» немесе «Енгізу» түймесін басыңыз"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN құрамында әріптер немесе таңбалар болады"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 сан болуы керек"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Бұл PIN кодты басқа құрылғыда да теру қажет болуы мүмкін."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Бұл кілтпернені басқа құрылғыларды қолданғанда да теру қажет болады."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Үйлестірілген жинақпен жұптауды растаңыз."</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Аудио құрылғымен жұптау үшін растаңыз."</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Контактілер мен қоңыраулар тарихына кіруге рұқсат беру"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Сондай-ақ контактілерге және қоңыраулар тарихына кіруге рұқсат беріледі."</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Ақпарат қоңырау туралы хабарландырулар және т.б. үшін пайдаланылады."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> құрылғысына жалғану мүмкін болмады."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Қолжетімді құрылғылар"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Жалғау"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ажырату"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Жұптау және жалғау"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth қосып, маңайдағы құрылғылармен байланысуға болады."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth қосулы кезде, құрылғыңыз маңайдағы басқа Bluetooth құрылғыларымен байланыса алады."</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth қосулы кезде, құрылғыңыз маңайдағы басқа Bluetooth құрылғыларымен байланыс орната алады.\n\nҚұрылғының жұмысын жақсарту үшін қолданбалар мен қызметтер маңайдағы құрылғыларды кез келген уақытта (Bluetooth өшірулі кезде де) іздеуі мүмкін. Бұл, мысалы, локацияға негізделген функциялар мен қызметтерді жақсартуға пайдаланыла алады. Оны Bluetooth іздеу параметрлерінен өзгерте аласыз."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Өзгерту"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Құрылғы мәліметтері"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART растау құралына түзетілетін қолданбалардың байт-кодын растауға рұқсат беру"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Жаңарту жылдамдығын көрсету"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ағымдағы дисплейдің жаңару жылдамдығын көрсету"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR қатынасын көрсету"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Қазіргі HDR/SDR қатынасын көрсету"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC үшін құрылғы құлпын ашуды талап ету"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Ұшақ режимі"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Қоғамдық желі қолжетімді болғанда хабарлау"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Жоғары сапалы қоғамдық желі қолжетімді болғанда хабарлау"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP желілеріне рұқсат беру"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP — қауіпсіздік деңгейі төмен ескі қауіпсіздік протоколы."</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Қауіпсіздік деңгейі төмен болғандықтан, операторыңыз WEP желілерін пайдалануға рұқсат бермейді."</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi желісін автоматты түрде қосу"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi бұрын сақталған жоғары сапалы желі (мысалы, үйдегі желі) аймағында қайта қосылады."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Орынды анықтау функциясы өшірулі болғандықтан, қолжетімді емес. "<annotation id="link">"Орынды анықтау"</annotation>" қызметін қосыңыз."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi іздеу функциясы қолданбалар мен қызметтерге кез келген уақытта (Wi‑Fi өшірулі кезде де) Wi‑Fi желілерін іздеуге мүмкіндік береді. Оны орналасқан жерге қатысты функциялар мен қызметтерді жақсарту үшін пайдалануға болады."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Қосу"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi іздеу функциясы қосылды."</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Бұл желіде қауіпсіздік деңгейі төмен ескі қауіпсіздік протоколы пайдаланылады."</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> блокталған"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Бұл желіде WEP деп аталатын ескі қауіпсіздік протоколы пайдаланылады. Оның қауіпсіздік деңгейі төмен. Бәрібір қосылу керек болса, WEP желілеріне рұқсат бере аласыз."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Қауіпсіздік деңгейі төмен ескі қауіпсіздік протоколы пайдаланылатындықтан, операторыңыз бұл желіге қосылуға рұқсат бермейді."</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP протоколына рұқсат беру"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Жабу"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Қосымша опциялар"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Қосымша опциялардың ашылмалы тізімі"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"жаю"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi-Fi желісінде қалу"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Қайта көрсетілмесін"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Жалғау"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi қосылды."</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> желісіне жалғанды."</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> желісіне қосылуда"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Жалғануда…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Желіге қосылу орындалмады"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Желі байланыс аясында емес."</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Ұмыту"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Өзгерту"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Желіні жою орындалмады"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Сақтау"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Желіні сақтау орындалмады"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Бас тарту"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобильдік интернет"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Зарядталып жатыр."</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Зарядталып жатыр."</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Хотспот байланысы"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Байланыс күші"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Сақталған желілер"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Құпия сөз жоқ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Хотспот атауы"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Хотспот құпия сөзі"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP диапазоны"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Хотспотты автоматты өшіру"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Ешқандай құрылғы жалғанбаған кезде"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Үйлесімділік деңгейін арттыру"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Дисплейдің ақ түс балансы"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Қолданбаларды құрылғының бүктелген күйінде пайдалана беру"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Кейбір контент үшін жаңарту жиілігі 60-тан <xliff:g id="ID_1">%1$s</xliff:g> Гц-ке дейін автоматты түрде артады. Мұндайда батарея заряды тезірек таусылады."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Ойындар үшін әдепкі кадр жиілігін өшіру"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Ойындар үшін максималды кадр жиілігін <xliff:g id="FRAME_RATE">%1$d</xliff:g> Гц шамасында шектеу опциясын өшіреді."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Кейбір контент үшін жаңарту жиілігі <xliff:g id="ID_1">%1$d</xliff:g> Гц-ке дейін автоматты түрде артады. Батарея шығынын көбейтеді."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Ең жоғарғы жаңарту жиілігін қолмен қосу"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Жақсартылған датчик сезгіштігі және анимация сапасына арналған ең жоғарғы жаңарту жиілігі. Батарея заряды тезірек таусылады."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Зейінді экран"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\"Зейінді экран\" функциясы алдыңғы камера арқылы адамның экранға қарап тұрғанын тани алады. Ол құрылғыда ғана жұмыс істейді. Суреттер еш уақытта Google-ға жіберілмейді."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"\"Зейінді экран\" функциясын қосу"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Экранға қарап тұрғанда, ол өшпейді"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Экранның ұзағырақ өшу уақыты батеряны көбірек тұтынады."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камера құлыптаулы"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Бетті анықтау үшін камераның құлпы ашық болуы керек."</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Зейінді экран функциясы үшін камераның құлпын ашу керек."</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g> ұясы)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> ұясы) (негізгі)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Көру үшін сақталған желіні таңдаңыз."</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MИН"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL нұсқасы"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Батарея деңгейі"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Жалпы"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Жалпы параметрлер"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Жерсерік қызметі арқылы хабар алмасу"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Кіру нүктесін өзгерту"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Кіру нүктесін енгізу"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Қойылмаған"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Орнатылмаған"</string>
     <string name="apn_name" msgid="6677695784108157953">"Атауы"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN қосылған"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN өшірілген"</string>
     <string name="bearer" msgid="3231443241639159358">"Арна"</string>
+    <string name="network_type" msgid="748590707422733595">"Желі түрі"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Көрсетілмеген"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO түрі"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO мәні"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN жою"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Сақтау"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Бас тарту"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN қайталанып енгізілген."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Атау жақтауы бос болмауы тиіс."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN (Apple хабар жіберу қызметі )бос болмауы тиіс."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC өрісінде 3 цифр болуы тиіс."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC өрісінде 2 немесе 3 цифр тұруы тиіс."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Оператор %s түріндегі APN қосуға рұқсат бермейді."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC өрісі жарамды болуы керек."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Бастапқы APN параметрлерін қалпына келтіру."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Әдепкі параметрлеріне қайтару"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Әдепкі APN параметрлерін қайта орнату аяқталды."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Бастапқы қалпына келтіру"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth пен Wi‑Fi қайта орнатылды."</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM карталарын тазарту"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Бұл әрекет тарифтік жоспарлардың күшін жоймайды. Жаңа SIM карталарын жүктеп алу үшін операторға хабарласыңыз."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Мобильдік қызмет жоспарыңыз тоқтатылмайды. Жаңа SIM картасын алу үшін операторға хабарласыңыз."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Параметрлерді бастапқы күйге қайтару"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Барлық желі параметрлері бастапқы күйіне қайтарылсын ба? Бұл әрекетті қайтару мүмкін емес."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Барлық желі параметрі бастапқы күйге қайтарылып, eSIM карталары жойылсын ба? Бұл әрекет кері қайтарылмайды."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Бастапқы күйге қайтару қажет пе?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Бұл пайдаланушы желіні қалпына келтіре алмайды"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Желі параметрлері қалпына келтірілген"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM карталары тазартылмайды"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Қатеге байланысты бұл eSIM карталарын жою мүмкін емес.\n\nҚұрылғыны өшіріп қосып, әрекетті қайталаңыз."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM карталарын өшіру мүмкін емес"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Белгісіз қате шыққандықтан, eSIM карталары өшірілмеді.\n\nҚұрылғыны өшіріп қосып, әрекетті қайталаңыз."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Барлық деректі өшіру (зауыттық параметрлерге қайтару)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Барлық деректі өшіру (зауыттық параметрлерді қайтару)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музыка;"</li>\n<li>"фотосуреттер;"</li>\n<li>"пайдаланушының басқа деректері."</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM карталары"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Мұның нәтижесінде мобильдік қызмет жоспарыңыздан бас тартылмайды."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Барлық жеке ақпаратыңыз бен жүктеп алынған қолданбаларыңыз жойылады. Бұл әрекет кері қайтарылмайды."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Барлық жеке ақпаратыңыз, соның ішінде жүктеп алынған қолданбалар мен SIM карталары жойылады. Бұл әрекет кері қайтарылмайды."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Барлық жеке ақпаратыңыз, соның ішінде жүктеп алынған қолданбалар мен eSIM карталары жойылады. Бұл әрекет қайтарылмайды."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Барлық дерек өшірілсін бе?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Бұл пайдаланушы зауыттық параметрлерді қайтара алмайды."</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Өшіріліп жатыр"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Хотспот USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Интернет басқа құрылғыларға беріліп жатқан жоқ."</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Өшірулі"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Тетеринг"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi хотспотын пайдаланбау"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Интернетті тек USB арқылы бөлісу"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Интернетті тек Bluetooth арқылы бөлісу"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Интернетті тек Ethernet арқылы бөлісу"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Интернетті тек USB және Bluetooth арқылы бөлісу"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Интернетті тек USB және Ethernet арқылы бөлісу"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Интернетті тек Bluetooth және Ethernet арқылы бөлісу"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Интернетті тек USB, Bluetooth және Ethernet арқылы бөлісу"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-тетеринг"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-тетеринг"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-тетеринг"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Wi‑Fi не мобильдік интернет байланысы арқылы басқа құрылғыларды интернетке қосу үшін хотспот және тетеринг функцияларын пайдаланыңыз. Қолданбалар маңайдағы құрылғылармен контентті бөлісу үшін де хотспот жасай алады."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Көмек"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобильдік желі"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Ұялы жоспар"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS қолданбасы"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS қолданбасы өзгертілсін бе?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="NEW_APP">%1$s</xliff:g> қолданбасы <xliff:g id="CURRENT_APP">%2$s</xliff:g> орнына SMS қолданбасы ретінде қолданылсын ба?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi көмек құралын ауыстыру керек пе?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Желілік байланыстарды басқару үшін <xliff:g id="CURRENT_APP">%2$s</xliff:g> орнына <xliff:g id="NEW_APP">%1$s</xliff:g> қолданбасын пайдалану керек пе?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Желілік байланыстарды басқару үшін <xliff:g id="NEW_APP">%s</xliff:g> қолданбасын пайдалану керек пе?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Белгісіз SIM операторы"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> операторының қызмет көрсетуші вебсайты жоқ"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIM картасын енгізіп, қайта бастаңыз"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Интернетке қосылыңыз"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Соңғы орынды анықтау сұраулары"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Жұмыс профиліндегі локация"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Қолданбалардың локацияны пайдалануы"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Тазалауға қатынасу"</string>
     <string name="controls_label" msgid="8671492254263626383">"Басқарулар"</string>
     <string name="force_stop" msgid="2681771622136916280">"Күштеп тоқтату"</string>
+    <string name="archive" msgid="9074663845068632127">"Мұрағаттау"</string>
+    <string name="restore" msgid="7622486640713967157">"Қалпына келтіру"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Қалпына келтіріліп жатыр"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Қалпына келтіріліп жатыр."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Қалпына келтіріліп жатыр…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Қалпына келтіріліп жатыр…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Барлығы"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Қолданба көлемі"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB жады қолданбасы"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Жинақ өлшемін есептей алмады."</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> нұсқасы"</string>
     <string name="move_app" msgid="5421158479447276791">"Жылжыту"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Мұрағатталмады."</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> қолданбасы мұрағатталды."</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Қалпына келтірілмеді."</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> қалпына келтіріліп жатыр."</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Басқа көшіру орындалуда."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Жадта орын жеткіліксіз."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Қолданба жоқ."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Экрандағы пернетақта қолжетімді"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Экрандағы пернетақталарды басқару"</string>
     <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="6922850403920596246">"Физикалық пернетақта қолжетімділігі үшін қайтару пернелерін қосыңыз."</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Баяу пернелер"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Физикалық пернетақта үшін \"Баяу пернелер\" арнайы мүмкіндіктер функциясын қосыңыз."</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Бекітілген пернелер"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Физикалық пернетақта қолжетімділігі үшін бекітілген пернелерді қосыңыз."</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Қосымша опцияларды көру үшін сенсорлық тақтаның төменгі оң жақ бұрышын түртіңіз."</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Меңзер жылдамдығы"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Сенсорлық тақта қимылдарын үйрену"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Негізгі экранға өту"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Үш саусақпен сенсорлық тақта бетінің кез келген жерінен жоғары сырғытыңыз."</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Артқа"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Пайдаланылған уақыт ұзақтығымен сұрыптау"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Соңғы пайдаланылған уақытымен сұрыптау"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Қолданба атауымен сұрыптау"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Соңғы пайдаланылған уақыты"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Соңғы пайдаланылғандар"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ешқашан"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Қолдану уақыты"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Арнайы мүмкіндіктер"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Қол жетімділік параметрлері"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Үш рет түртіп үлкейту"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Таңбашамен үлкейту"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Таңбашамен және үш рет түртіп үлкейту"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> туралы ақпарат"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Ашу үшін арнайы мүмкіндіктер түймесін қолдану"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Ашу үшін дыбыс деңгейі пернелерін басып тұрыңыз"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ашу үшін экранды үш рет түртіңіз"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Экранды ашу үшін екі саусақпен екі рет түрту"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Ашу үшін қол қимылын пайдалану"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Арнайы мүмкіндік қимылын қолдану"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Бұл функцияны пайдалану үшін экранның төменгі жағындағы арнайы мүмкіндіктер түймесін <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> түртіңіз.\n\nБір функциядан екінші функцияға ауысу үшін арнайы мүмкіндіктер түймесін басып тұрыңыз."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Бұл функцияны пайдалану үшін экрандағы арнайы мүмкіндіктер түймесін түртіңіз."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Бұл функцияны пайдалану үшін дыбыс деңгейі пернелерін басып тұрыңыз."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ұлғайтуды бастау және тоқтату үшін экранның кез келген жерін үш рет түртіңіз."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Ұлғайту функциясын қосу және тоқтату үшін экранның кез келген жерін екі саусақпен екі рет түртіңіз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Бұл функцияны пайдалану үшін экранның төменгі жағынан 2 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 2 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Бұл функцияны пайдалану үшін экранның төменгі жағынан 3 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 3 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Арнайы мүмкіндіктерді пайдалану үшін экранның төменгі жағынан 2 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 2 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Арнайы мүмкіндіктерді пайдалану үшін экранның төменгі жағынан 3 саусағыңызбен жоғары сырғытыңыз.\n\nБір функциядан екіншісіне ауысу үшін 3 саусақпен жоғары қарай сырғытып, ұстап тұрыңыз."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Түсінікті"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Арнайы мүмкіндіктер түймесі параметрлері"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Түйме параметрлері"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> жылдам пәрмені"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Арнайы мүмкіндіктер түймесі"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Арнайы мүмкіндіктер қимылы"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Дыбыс деңгейі пернелерін басып тұру"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"дыбыс деңгейі пернелерін басып тұру"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Дыбыс деңгейінің екі пернесін бірге басып тұрасыз."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Экранды екі саусақпен екі рет түрту"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"экранды екі саусақпен екі рет түрту"</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="6863958573135995927">"экранды үш рет түрту"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Экранды {0,number,integer} рет жылдам түртіңіз. Бұл жылдам пәрмен құрылғы жұмысын баяулатуы мүмкін."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Арнайы мүмкіндіктер түймесі мен қимылы туралы толығырақ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Арнайы мүмкіндіктер түймесі қолданылуда. Бұл қимыл 3 түймемен басқарылмайды."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Арнайы мүмкіндіктерге жылдам қол жеткізу"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Бастау үшін:"</b>\n"1. Арнайы мүмкіндіктердің параметрлеріне өтіңіз.\n2. Функцияны таңдап, таңбашаны түртіңіз.\n3. Функцияны пайдалану үшін түймені не қимылды қолдану мүмкіндігін таңдаңыз."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Бастау үшін:"</b>\n"1. Арнайы мүмкіндіктердің параметрлеріне өтіңіз.\n2. Функцияны таңдап, таңбашаны түртіңіз.\n3. Функцияны пайдалану үшін түймені таңдаңыз."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Түйме не қимылды қолдану"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Орны"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Көлемі"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Қуат түймесі арқылы қоңырауды үзу"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Үлкен тінтуір меңзері"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Тінтуір меңзерін айқынырақ ету"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Барлық қолданбада қараңғы ету"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Қараңғы режимдері жоқ қолданбаларға қолданылады. Кейбір қолданбаларда көрсетуге қатысты мәселелер (түсін кетіру сияқты) болуы мүмкін."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Анимацияны өшіру"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Экрандағы қозғалысты азайту"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Моно аудио"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Дірілді мен хептиканы пайдалану"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Оятқыш дірілі"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Мультимедиа дірілі"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Пернетақта дірілі"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Қоңырау дірілі"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Хабарландыру дірілі"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Түрту кезіндегі діріл"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Тоқтату"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Бас тарту"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> тоқтатылсын ба?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> түймесін бассаңыз, <xliff:g id="SERVICE">%2$s</xliff:g> өз жұмысын тоқтатады."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Өшіру"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Қосулы қалдыру"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> өшірілсін бе?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ешқандай қызметтер орнатылмаған"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ешқандай қызмет таңдалмаған"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Сипаттама ұсынылмаған"</string>
     <string name="settings_button" msgid="2195468788019730377">"Параметрлер"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"жарықсезгіштік, фотофобия, қараңғы режим, бас сақинасы ауруы, бас ауруы, оқу режимі, түнгі режим, жарықтықты азайту, ақ нүкте"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Оңай пайдалану, оңай кіру, көмек, көмекші"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"көру, есту, соқыр, саңырау, қозғалыс, ептілік, көмекші, көмек, оңай қолдану, оңай кіру, қол, көмек"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Терезені ұлғайтқыш, масштабтау, ұлғайту, нашар көру қабілеті, жақындату, үлкейту"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Жазулар, субтитрлер, субтитр, Live Transcribe, нашар есту қабілеті, есту қабілетінен айырылу, тікелей транскрипция, дауысты мәтінге айналдыру"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"түс конрасты"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"моторика, тінтуір"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"есту аппараттары, нашар есту, естімеу, кохлеар импланттары, күшейткіш құрылғылар, дыбыс процессорлары"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"қозғалыс, тінтуір, кәдімгі тінтуір, баспен басқарылатын тінтуір, адаптивті тінтуір, мүгедектер арбасы, джойстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"есту аппараттары, нашар есту, естімеу, кохлеар импланттары, күшейткіш құрылғылар, дыбыс процессорлары, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"нашар есту қабілеті, есту қабілетінен айырылу, жазулар, телетайп"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"үш түйме"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ептілік, қозғалыс, қарт адам, артрит, туннельдік нейропатия, инсульт, діріл, шашыраңқы склероз, орталықтан сал болу, қалтырау, қайталанбалы қозғалыс зақымы, қол"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"кідіріс, ептілік, қарт адам"</string>
     <string name="print_settings" msgid="8519810615863882491">"Басып шығару"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Өшірулі"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 баспа қызметі қосулы}other{# баспа қызметі қосулы}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> қалды"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Зарядталғанша <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Пайдалану уақыты"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Фонда пайдалану уақыты"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Батарея заряды аз."</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Қолданбаға фондық режимде іске қосылуға рұқсат беру"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Фондық режимдегі әрекет шектелсін бе?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Қолданбаның фондық режимдегі әрекетін шектесеңіз, күтпеген әрекет көрсетуі мүмкін."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Бұл қолданба батареяны оңтайландыруға реттелмегендіктен, оны шектей алмайсыз. \n\nБұл үшін батареяны оңтайландыруды қосыңыз."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Батарея шығынын қадағалау"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Фонды пайдалануға рұқсат ету"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Нақты уақыттағы жаңалықтар алу үшін қосыңыз, батарея қуатын үнемдеу үшін өшіріңіз."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Шектелмеген"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оңтайландырылған"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Шектелген"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Батарея зарядын ең көп шығындайтын қолданбаларды көріңіз."</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Батареяны қорғау үшін зарядтау оңтайландырылды"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Батареяның қызмет мерзімін ұзарту үшін зарядтау оңтайландырылады."</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Батареяны қорғау үшін зарядтау оңтайландырылды"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Құрылғы қондыру станциясында болғанда, батареяның қызмет мерзімін ұзарту үшін зарядтау оңтайландырылады."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Батареяны қорғау үшін зарядтау оңтайландырылды"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Құрылғы қондыру станциясында болғанда, батареяның қызмет мерзімін ұзарту үшін зарядтау оңтайландырылады."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Толық зарядтау"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Келесі жолы планшет қондыру станциясында тұрғанда, батареяны қорғау үшін зарядтау оңтайландырылады."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Зарядтауды кідірту туралы толық ақпарат алыңыз."</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Зарядтауды жалғастыру"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Қуатты көп пайдаланатын фондық әрекетті қамтиды."</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Бұл қолданба батареяны фондық режимде пайдаланады. Батареяның заряды тез азаюы мүмкін."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Алу"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Бас тарту"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Толық зарядтау"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Зарядтау құрылғысына қатысты мәселе туындады"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Зарядтау құрылғысын тексеріңіз"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Үйлесімсіз зарядтау туралы толық ақпарат"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Батарея шығынын қадағалау"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Қолданбаларды автоматты түрде реттеу"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"соңғы рет толық зарядталғаннан бері"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Жүйелік қолданбалар"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Жойылған қолданбалар"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Басқалар"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Қалған болжалды уақыт"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Толық зарядталғанға дейін"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Барлығы: бір минуттан аз"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Фондық режимде: бір минуттан аз"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Пайдалану уақыты: бір минуттан аз"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Бір минуттан аз"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Барлығы: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Фондық режимде: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Пайдалану уақыты: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"қазір"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Батарея шығыны диаграммасы"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Күн бойынша көрсетілген батарея шығыны диаграммасы"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Сағат бойынша көрсетілген батарея шығыны диаграммасы"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Батарея деңгейінің пайызы: <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>–<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Соңғы рет толық зарядталғаннан бергі батарея шығыны"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Батарея шығыны: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Соңғы рет толық зарядталғаннан бергі пайдалану уақыты"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Төтенше жағдайда теру сигналы"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Төтенше қоңырау шалу әрекетін орнату"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Сақтық көшірме"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Қосулы"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Өшірулі"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Сақтық көшірме жасау және қалпына келтіру"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Жеке деректер"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Деректердің сақтық көшірмесін жасау"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобильдік интернет пен Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Жеке деректі автосинхрондау"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Жұмыс дерегін автосинхрондау"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Жеке деректерді автоматты синхрондау"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Айналымды өзгерту…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Дерекқор қолдану айналымын қайта реттеу күні:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Бұл уақыт аралығында ешқандай қолданба дерек пайдаланған жоқ."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Атауы"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tүрі"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Сервер мекенжайы"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифрлау (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP құпия"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec идентификаторы"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec алдын ала берілген кілті"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec пайдаланушы сертификаты"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA сертификаты"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec серверінің сертификаты"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Қосымша опцияларды көрсету"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS іздеу домендері"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS серверлері (мысалы, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Басқалай жіберу жолдары (мысалы, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Пайдаланушы аты"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Құпия сөз"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Аккаунт ақпаратын сақтау"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(қолданылмайды)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(серверді растамау)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(серверден алынды)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN желісінің бұл түрі әрқашан қосылып тұра алмайды."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Әрқашан қосулы VPN желісі тек саннан тұратын сервер мекенжайларын қолдайды"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Әрқашан қосулы VPN желісі үшін DNS сервері көрсетілуі керек"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Әрқашан қосулы VPN желісі үшін DNS серверінің мекенжайлары саннан тұруы керек"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Енгізілген ақпарат әрқашан қосулы VPN желісін қолдамайды."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Бас тарту"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Жабу"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN желісінсіз байланыстарды бөгеу"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN байланысы қажет пе?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Қорғалмаған. Мынаған жаңартыңыз: IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Қолдау көрсетілмейтін VPN іске қосылмады."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Әрқашан жалғанып тұратын VPN профилін таңдаңыз. Желі трафигі осы VPN жалғанып тұрғанда ғана жүреді."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Жоқ"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Әрқашан қосулы ВЖЖ сервер және домен атауы жүйесінің IP мекенжайын қажет етеді."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER хабарландырулары"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Балаларды ұрлап кетулер туралы бюллетеньдерді алу"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Қайталау"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Қоңыраулар реттегішін қосу"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Осы қызметке қоңырауларды шалу әдісін басқаруға рұқсат ету."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Қоңыраулар реттегіші"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Төтенше жағдай туралы сымсыз хабарландырулар"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Желі операторлары"</string>
     <string name="access_point_names" msgid="5768430498022188057">"APN"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM күйі"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM картасының күйі (SIM %1$d ұясы)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM карталары өзгертілді."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM карталарыңыз өзгертілді"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Реттеу үшін түртіңіз"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Әр қоңырау үшін сұрау"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Таңдау қажет"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Соңғы қолданбалар, әдепкі қолданбалар"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Жұмыс профиліндегі қолданбалар үшін хабарландырулар қолжетімді емес."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Құпия сөздер және аккаунттар"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Сақталған құпия сөздер, автотолтыру, синхрондалған аккаунттар"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Аккаунтқа кіру мен автотолтыруға қатысты ұсыныстар"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Әдепкі қолданбалар"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Қолданбаларды клондау"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Қолданбаның екінші данасын жасасаңыз, бір уақытта екі аккаунтты пайдалана аласыз."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"төлеу, түрту, төлемдер"</string>
     <string name="keywords_backup" msgid="707735920706667685">"сақтық көшірме, сақтық көшірме жасау"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"қимыл"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"бет, құлыпты ашу, авторизация, кіру"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"бет, құлыпты ашу, аутентификация, жүйеге кіру, саусақ ізі, биометрика"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl нұсқасы, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"мәтін өлшемі, үлкен жазу, үлкен қаріп, үлкен мәтін, нашар көру қабілеті, мәтінді ұлғайту, қаріпті ұлғайту"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"әрдайым скринсейверде, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, белгі, оқу құралы"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"пернетақта: хептика, діріл"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Дыбыс деңгейі, діріл, Мазаламау режимі"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Mультимeдианың дыбыс деңгейі"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Трансляцияның дыбыс деңгейі"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Дыбыстарды қосу"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Автоматты субтитр қосу"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Телефон динамиктері"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Планшет динамиктері"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Құрылғы динамиктері"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Сымды құлақаспап"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Үйлесімді медиақұрылғылардан дыбыс барынша иммерсивті шығады."</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Өшірулі"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Хабарландыруды толық көрсету"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Құпия мәліметті құлып ашылғанда ғана көрсету"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Хабарландыруларды мүлде көрсетпеу"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Құлыптаулы экранның қалай көрсетілгенін қалайсыз?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Құлып экранында ненің көрсетілгенін қалайсыз?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Құлыптаулы экран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Жұмыс хабарландыруын толық көрсету"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Маңызды жұмыс контентін жасыру"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Соңғы әңгімелер өшірілді."</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Әңгіме өшірілді"</string>
     <string name="clear" msgid="5092178335409471100">"Өшіру"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Тазалау: <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Маңызды және өзгертілген әңгімелер осы жерде көрсетіледі"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Әңгімені маңызды деп белгілесеңіз немесе оған қандай да бір өзгерістер енгізсеңіз, ол осы жерде көрсетіледі. \n\nӘңгіме параметрлерін өзгерту үшін: \nэкранды жоғарғы жақтан сырғытып, ашылмалы панельді шығарасыз да, әңгімені басып тұрасыз."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Жию"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Хабарландыру дыбысын бәсеңдету"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Барлық хабарландыруға дыбысты бәсеңдету параметрін қолдану"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Бір қолданбадан кезек-кезек көп хабарландыру келгенде, хабарландыру дыбысын біртіндеп азайта аласыз."</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Барлық әңгімеге дыбысты бәсеңдету параметрін қолдану"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Бір чаттан қысқа уақыт аралығында көп хабар келгенде, хабарландыру дыбысын біртіндеп азайта аласыз."</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Хабарландыру дыбысын бәсеңдету параметрін пайдаланбау"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Бір қолданбадан кезек-кезек келген хабарландырудың санына қарамастан хабарландыру дыбысын ешқашан азайтпаңыз."</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Құлпы ашылғанда дірілдету"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Экран құлпы ашылғанда ғана дірілдету"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Жұмыс профильдеріне қолдану"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Хабарландыру дыбысын бәсеңдету параметрлерін жеке профильден жұмыс профиліне қолдана аласыз."</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Көмекші VR қызметтері"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Орнатылған қолданбалар көмекші VR қызметі ретінде қосылуға рұқсат сұраған жоқ."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR қызметіне <xliff:g id="SERVICE">%1$s</xliff:g> пайдалануға рұқсат берілсін бе?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Өшірулі"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Қолданбаны бекіту"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Экранда бекітілген қолданба ғана көрсетіліп тұрады. Оны, мысалы, досыңыз құрылғыңызды бір ойын ойнау үшін сұрағанда қолдануға болады."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Қолданба бекітілген кезде, ол арқылы басқа қолданбаларды және жеке деректерді ашуға болады. \n\nҚолданбаны бекіту функциясын пайдалану үшін: 	\n1. Оны іске қосыңыз. 	\n2. \"Шолу\" мәзірін ашыңыз. 	\n3. Экранның жоғарғы жағындағы қолданба белгішесін, одан кейін \"Бекіту\" түймесін түртіңіз."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Қолданба бекітілген кезде, ол арқылы басқа қолданбаларды және жеке деректерді ашуға болады. \n\nЕгер құрылғыңызды біреумен қауіпсіз күйде бөліскіңіз келсе, қонақ профилін пайдаланыңыз. \n\nҚолданбаны бекіту функциясын пайдалану үшін: 	\n1. Оны іске қосыңыз. 	\n2. \"Шолу\" мәзірін ашыңыз. 	\n3. Экранның жоғарғы жағындағы қолданба белгішесін, одан кейін \"Бекіту\" түймесін түртіңіз."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Қолданба бекітілген кезде, ол арқылы басқа қолданбаларды және жеке деректерді ашуға болады. \n\nҚолданба бекітуді пайдалану үшін: 	\n{0,number,integer}. Қолданба бекіту функциясын қосыңыз 	\n{1,number,integer}. Шолуды ашыңыз 	\n{2,number,integer}. Экранның жоғарғы жағындағы қолданба белгішесін, одан кейін \"Бекіту\" түймесін түртіңіз."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Қолданба бекітілген кезде, ол арқылы басқа қолданбаларды және жеке деректерді ашуға болады. \n\nЕгер құрылғыңызды біреумен қауіпсіз күйде бөліскіңіз келсе, қонақ профилін пайдаланыңыз. \n\nҚолданба бекітуді пайдалану үшін: 	\n{0,number,integer}. Қолданба бекіту функциясын қосыңыз 	\n{1,number,integer}. Шолуды ашыңыз 	\n{2,number,integer}. Экранның жоғарғы жағындағы қолданба белгішесін, одан кейін \"Бекіту\" түймесін түртіңіз."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Қолданба бекітілген кезде: \n\n•	 жеке деректерді пайдалануға болады \n		(мысалы, контактілер және электрондық хаттың контенті); \n•	 бекітілген қолданбалар басқа да қолданбаларды аша алады. \n\nБұл функцияны сенімді адамдармен ғана пайдаланыңыз."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Босату алдында құлыпты ашу өрнегін сұрау"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Босату алдында PIN кодын сұрау"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Босату алдында құпия сөзді сұрау"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Босатқанда құрылғыны құлыптау"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM картасының жойылуын растау"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM картасын өшіргіңіз келетінін растаңыз"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM картасын жоймас бұрын, жеке басыңызды растаңыз."</string>
     <string name="memtag_title" msgid="5096176296797727201">"Қосымша жад қорғанысының бета нұсқасы"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Қосымша жад қорғанысы"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Пайдаланылмайтын қолданба параметрлері"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Әрекетсіз қолданба жұмысын кідірту"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Рұқсаттарды өшіру, уақытша файлдарды жою және хабарландыруларды тоқтату"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Пайдаланылмайтын қолданбалардың жұмысын кідірту"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Рұқсаттарды өшіру, уақытша файлдарды жою, хабарландыруларды тоқтату және қолданбаны мұрағаттау."</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Барлық қолданба"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Орнатылған қолданбалар"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Лезде қосылатын қолданбалар"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Бос"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Қолданбалар пайдаланатын жад"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Соңғы {time} ішінде 1 қолданба жад қолданды.}other{Соңғы {time} ішінде # қолданба жад қолданды.}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Жадтың қолданысын профильдеуді қосу"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Жадтың қолданысын профильдеу үшін қосымша жүйе ресурстары керек."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Жадтың қолданысын профильдеу өшірулі"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Жиілік"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Ең көп пайдалануы"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Деректер пайдаланылмаған."</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Басқа қолданбалардың үстінен көрсету"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Басқа қолданба үстінен көрсетуге рұқсат беру"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Бұл қолданбаның барлық ашық тұрған қолданбалардың үстінен шығуына рұқсат ету. Бұл қолданба сіздің қай жерді түрткеніңізді көреді және экрандағы контентті өзгерте алады."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Мультимедиа шығысын өзгерту"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Қолданбаға мультимедиа шығысын ауыстыруға рұқсат беру"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Осы қолданбаның жалғанған құрылғының қайсысы басқа қолданбалардан аудионы не бейнені ойната алатынын таңдауына рұқсат беріңіз. Егер рұқсат берсеңіз, қолданба құлақаспаптар мен динамиктер сияқты қолжетімді құрылғылар тізімін ашып, қай шығару құрылғысы аудионы не бейнені трансляциялауға пайдаланылатынын таңдай алады."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Барлық файлды пайдалану"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Барлық файлды пайдалануға рұқсат беру"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Қолданбаға осы құрылғыдағы немесе жалғанған сыртқы жад құрылғыларындағы барлық файлды оқуға, өзгертуге немесе жоюға рұқсат береді. Егер осы рұқсат берілсе, қолданба файлдарды сіздің келісіміңізсіз пайдалана алады."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Барлық файлды пайдалана алатын қолданбалар"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Дауыспен іске қосылатын қолданбалар"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дауыспен іске қосуға рұқсат беру"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Дауыспен іске қосу функциясы дауыстық пәрмен арқылы мақұлданған қолданбаларды, дауыспен басқару мүмкіндігін іске қосады. Орнатылған бейімделгіш сезу функциясы деректерді сізден басқаларға құпия етеді.\n\n"<a href="">"Қорғалған бейімделгіш сезу функциясы туралы толық ақпарат"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Толық экран хабарландырулары"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Осы қолданбаға толық экранды алып тұратын хабарландыруларды көрсетуге рұқсат беру"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Құрылғы құлыптаулы тұрғанда, осы қолданбаға толық экранды алып тұратын хабарландыруларды көрсетуге рұқсат беріңіз. Соның арқасында қолданбалар оятқыштарды, кіріс қоңырауларын немесе шұғыл хабарландыруларды ерекшелей алады."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Дерек шығыны туралы ескерту: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> дерек шегі орнатылған"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Дерек шығыны туралы ескерту: <xliff:g id="ID_1">^1</xliff:g> / Дерек шегі: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Оператордың деректер есебі құрылғының есебінен өзгеше болуы мүмкін."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Оператор желілері пайдаланған деректерді қамтымайды."</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> пайдаланылған"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Дерек шығыны туралы ескерту"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> бұрын жаңартылды"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Жаңа ғана <xliff:g id="ID_1">^1</xliff:g> арқылы жаңартылды"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Жаңа ғана жаңартылды"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Жоспарды көру"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Мәліметтерді көру"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Трафикті үнемдеу"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Шексіз мобильдік интернет"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасы фондық режимде батареяны әдеттегіден көп пайдаланды."</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасы экран режимінде батареяны көп пайдаланды."</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> қолданбасы экран режимінде батареяны әдеттегіден көп пайдаланды."</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Батерея шығынындағы ауытқу"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Жоғары батарея шығыны"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Фондық режимдегі жоғары батарея шығыны"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Экран режиміндегі жоғары батарея шығыны"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Жылдам параметрлердің әзірлеушілерге арналған бөлшектері"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb авторизациясынан автоматты бас тартуды өшіру"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Әдепкісінше белгіленген (7 күн) немесе пайдаланушы көрсеткен (ең кемі 1 күн) уақыт ішінде қайта қосылмаған жүйелер үшін adb авторизацияларынан автоматты түрде бас тартуды өшіреді."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope трассасы"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Датчиктер өшірулі"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Жұмыс профилінің параметрлері"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Жұмыс каталогіндегі контактілерді жеке қолданбаларда іздеу"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"жүйе навигациясы, 2 түймемен басқару, 3 түймемен басқару, қимылмен басқару, сырғыту"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Цифрлық көмекші"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Көмекшіні іске қосу үшін сырғыту"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Цифрлық көмекші қолданбасын іске қосу үшін экранның төменгі бұрышынан жоғары қарай сырғытыңыз."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Цифрлық көмекші қолданбасын іске қосу үшін экранның төменгі бұрышынан жоғары қарай сырғытыңыз."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant үшін негізгі экран түймесін басып тұру"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Цифрлық көмекшіні іске қосу үшін негізгі экран түймесін басып тұрыңыз."</string>
     <string name="low_label" msgid="6525629096999711220">"Төмен"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Автотолтыру қызметі"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Әдепкі автотолтыру қызметі"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Құпия сөздер"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Құпия сөздер, кіру кілттері мен дерек қызметтері"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Қосымша провайдерлер"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Таңдалған қызмет"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Қосымша қызметтер"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# құпия сөз}other{# құпия сөз}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"автоматты, толтыру, автотолтыру, құпия сөз"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"деректер, кіру кілті, құпия сөз"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"авто, толтыру, автотолтыру, дерек, кіру кілті, құпия сөз"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Өзгерту"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ашу"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ешқайсысы таңдалмаған."</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Осы қолданбаның қауіпсіз екеніне көз жеткізіңіз&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; экранда көрсетілгенді пайдаланып, нені автоматты түрде толтыруға болатынын анықтайды."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; пайдаланылсын ба?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; қызметі нені автоматты түрде толтыруға болатынын анықтау үшін экраныңыздағы деректерді пайдаланады. Енді жаңа құпия сөздер, кіру кілттері мен басқа ақпарат осы жерде сақталады."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Құпия сөздер, кіру кілттері мен дерек қызметтері"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;? қолданбасын пайдалану&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Енді жаңа құпия сөздер, кіру кілттері мен басқа да ақпарат осы жерде сақталады. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; қолданбасы нені автотолтыруға болатынын анықтау үшін экраныңыздағы деректерді пайдалана алады."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Құпия сөздер мен кіру кілттеріне және автотолтыруға арналған қызметтер"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s мәліметтерін өшіру керек пе?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Бұл қызметті өшіру керек пе?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Құпия сөздер, кіру кілттері, төлеу әдістері сияқты сақталған ақпарат пен басқа ақпарат аккаунтқа кіру кезінде толтырылмайды. Сақталған ақпаратыңызды пайдалану үшін құпия сөзді, кіру кілтін немесе дерек қызметін таңдаңыз."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Құпия сөздер, кіру кілттері, автотолтыру"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Барлық қызметті өшіріңіз?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Аккаунтқа кірген кезде, құпия сөздерді, кіру кілттері мен басқа да ақпаратты автотолтыру мүмкін болмай қалады."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Қалаулы қызметіңізді мына қолданбаға өзгертіңіз: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Жаңа құпия сөздер, кіру кілттері және басқа да ақпарат бұдан былай осы жерде сақталады. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; қолданбасы нені автотолтыруға болатынын анықтау үшін экраныңыздағы деректерді пайдалана алады."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s пайдаланылсын ба?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Өшіру"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Өзгерту"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Тек 5 қызметті қосып қоюға болады"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Басқасын қосу үшін ең кемі 1 қызметті өшіріңіз."</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s экранда көрсетілгенді нені автоматты түрде толтыруға болатынын анықтау үшін пайдаланады."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Құпия сөздер, кіру кілттері мен дерек қызметтерінің саны шектеулі"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Бір мезгілде ең көбі 5 құпия сөз, кіру кілтін және дерек қызметін қосып қоя аласыз. Басқасын қосу үшін бір қызметті өшіріңіз."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Құпия сөздердің, кіру кілттері мен дерек қызметтерінің саны шектеулі"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Бір мезгілде ең көбі 5 құпия сөз, кіру кілтін және дерек қызметін қосып қоя аласыз. Басқасын қосу үшін бір қызметті өшіріңіз."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Өшіру"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Aвтотолтыру"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Тіркеу деңгейі"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Үйлесімділік параметрлері түзетілетін қолданбаларда ғана реттеледі. Түзетілетін қолданбаларды орнатып, әрекетті қайталап көріңіз."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Басқа параметрге тәуелді"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Аккаунт"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d аккаунт"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Құрылғы атауы"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Негізгі ақпарат"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Құқық және ережелер туралы ақпарат"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC белгісін сканерлегенде, бұл қолданбаның іске қосылуына рұқсат етіңіз.\nОсы рұқсат қосулы болса, қолданбаны белгі табылған кезде қосымша пайдалануға болады."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Мультимедианы келесіден ойнату:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> қолданбасын ойнату:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Аудио әрі қарай ойнатылады"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Осы құрылғы"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Қоңыраулар кезінде қолжетімді емес"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Қоңырауды қабылдау құрылғысы"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Дыбысын өшіру"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Қосу үшін алдымен \"Қуат түймесін басып тұру\" параметріне \"Қуат мәзірі\" мәнін орнатыңыз."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Желі мәліметі"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Құрылғыңыздың аты телефоныңыздағы қолданбаларға көрінеді. Сонымен қатар Bluetooth құрылғыларына қосылғанда, Wi-Fi желісіне қосылғанда немесе Wi-Fi хотспотын орнатқанда, басқа адамдарға көрінуі мүмкін."</string>
     <string name="devices_title" msgid="649715719278562515">"Құрылғылар"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Желі таңдау"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Ажыратылған"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Атауы"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Түс (үйлесімді қолданбада пайдаланылады)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Сақтау"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM картасын пайдалану"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Осы SIM картасын пайдалану"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Өшірулі"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"SIM картасын өшіру үшін оны алып тастаңыз."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> картасын іске қосу үшін түртіңіз."</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM картасын өшіру"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Бұл SIM картасын өшіру үшін оны құрылғыдан алып тастаңыз."</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> SIM картасын іске қосу үшін түртіңіз."</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM картасын өшіру"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Таңдалған желі түрі"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Желі жұмысының режимін өзгерту"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Таңдалған желі түрі"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Бағасын желі провайдерінен біліңіз."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Қолданбаның дерек шығыны"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"<xliff:g id="NETWORKMODEID">%1$d</xliff:g> желі режимі дұрыс емес. Мән бермеңіз."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Жерсерік қызметі арқылы хабар алмасу"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Жерсерік көмегімен мәтіндік хабарлар жіберуге және алуға болады. Бұл мүмкіндік аккаунтыңызда бар."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Жерсерік көмегімен мәтіндік хабарлар жіберуге және алуға болады. Бұл мүмкіндік аккаунтыңызда жоқ."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Жерсерік қызметі арқылы хабар алмасу"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Жерсерік қызметі арқылы хабар алмасу туралы"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> аккаунтыңыз жерсерік арқылы мәтіндік хабарларды жіберуге және алуға мүмкіндік береді."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> тарифтік жоспарыңыз"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Аккаунтыңызда жерсерік қызметі арқылы хабар алмасу мүмкіндігі бар"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Аккаунтыңызда жерсерік қызметі арқылы хабар алмасу мүмкіндігі жоқ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Жерсерік қызметі арқылы хабар алмасу мүмкіндігін қосу"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Бұл қалай жұмыс істейді?"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Мобильдік желі жоқ кезде"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Телефоныңыз автоматты түрде жерсерікке қосылады. Қосылу сапасы жоғары болуы үшін, аспан анық көрінетін жерде болыңыз."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Телефон жерсерікке қосылған соң"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Кез келген адамға, соның ішінде құтқару қызметтеріне мәтіндік хабар жібере аласыз. Мобильдік желі болған кезде, телефоныңыз оған қайта қосылады."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Жерсерік қызметі арқылы хабар алмасу көп уақытты алуы мүмкін және кейбір аймақтарда ғана істейді. Жерсерік байланысына ауа райы мен кейбір құрылыс объектілері әсер етуі мүмкін. Жерсерік арқылы қоңырау шалу мүмкін емес.\n\nАккаунтқа енгізілген өзгерістердің параметрлерде шығуына біраз уақыт керек болады. \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" операторына хабарласып, толық мәлімет алыңыз."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Жерсерік қызметі арқылы хабар алмасу туралы толық ақпарат"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Кіру нүктесінің атауы"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> операторына қосылып тұрғанда қолжетімді емес"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> қызметіне ауысу қажет пе?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM картасына ауысасыз ба?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> қолданылсын ба?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Бір уақытта тек бір SIM картасын пайдалануға болады.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> картасына ауыссаңыз да, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> қызметінен бас тартылмайды."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Бір уақытта тек бір eSIM картасы жұмыс істейді.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторына ауысқаннан <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> қызметінен бас тартылмайды."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Бір уақытта тек бір SIM картасын пайдалануға болады. \n\nБасқа картаға ауыссаңыз да, <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> қызметінен бас тартылмайды."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Бір уақытта тек 1 SIM картасын қосуға болады.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторына ауыссаңыз, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> қызметіңіз тоқтатылмайды."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Бір уақытта тек 1 eSIM картасын қосуға болады.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторына ауыссаңыз, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> қызметіңіз тоқтатылмайды."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Бір уақытта тек 1 SIM картасын қосуға болады.\n\nБасқа операторға ауыссаңыз, <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> қызметіңіз тоқтатылмайды."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Екі SIM картасын қатар қолдануға болады. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторын қолдану үшін басқа SIM картасын өшіріңіз."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> қызметіне ауысу"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторын өшіру"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM картасын өшірсеңіз, қызмет тоқтатылмайды."</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Желіге қосылуда…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Қоңыраулар мен хабарлар үшін <xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторына ауыстып жатыр…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Оператор ауыстырылмады"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Қатеге байланысты оператор ауыстырылмады."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM картаңыз іске қосылып жатыр…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторына ауысып жатыр…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM карталарды ауыстыру мүмкін емес"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Бірдеңе дұрыс болмады. SIM карталарды ауыстыру мүмкін емес."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> өшірілсін бе?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM картасы өшірілсін бе?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM картасы өшіріліп жатыр<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Оператор өшірілмеді"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Бірдеңеден қате кетті де, оператор өшірілмеді."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM картасын өшіру мүмкін емес"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Бірдеңе дұрыс болмады. SIM картаңыз өшірілмейді."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 SIM картасын пайдаланасыз ба?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Құрылғыда бір уақытта 2 SIM картасын пайдалануға болады. 1 SIM картасын пайдалану үшін \"Жоқ, рақмет\" түймесін түртіңіз."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Құрылғыны қайта қосасыз ба?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Жоқ, рақмет"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Бас тарту"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Ауысу"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Өшіру"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM картасын іске қосу мүмкін емес"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM картасын қайтадан қосып көріңіз. Егер ақау жойылмаса, құрылғыны өшіріп қосыңыз."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM картасын реттеу"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Осы құрылғыда бірнеше SIM картасын пайдалану үшін мобильдік желі параметрлерін реттеңіз."</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM карталарын белгілеу"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Бұл белгілерді қоңырау шалғанда, мәтіндік хабарлар жібергенде және деректерді пайдаланған кезде, сондай-ақ \"Параметрлерде\" көресіз."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM картасының белгісі"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Белгі"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Пайдаланатын SIM картасын таңдау"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Енді 2 SIM картасын қатар қолдануға болады."</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Негізгі SIM карталарын орнату"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Қоңырауларға, мәтіндік хабарларға және деректерге әдепкісінше пайдаланылатын SIM карталарын таңдаңыз."</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Жеке SIM карталарыңыз"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Қоңыраулар"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Мәтіндік хабарлар"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Деректерді автоматты ауыстыру"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Қызмет аясына және байланыста болуына қарай қажетті SIM картасының деректерін пайдаланыңыз."</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Тек деректер"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Реттеу"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Келесі"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM картасы қосылып жатыр…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобильдік желі"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Телефон нөмірі"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM картасының белгісі және түсі"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Желіні іске қосу"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Операторды ауыстыру"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> қосулы"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM картасы іске қосылды"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM параметрлерін жаңарту үшін түртіңіз."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторына ауысты"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Басқа операторға ауысты"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мобильдік желіңіз өзгертілді."</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Басқа SIM картасын реттеу"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Іске қосулы SIM картасын таңдаңыз немесе бір уақытта 2 SIM картасын пайдаланыңыз."</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Пайдаланылатын нөмірді таңдаңыз"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Бұл құрылғыда 1 нөмір бар, тек соны пайдалана аласыз.}=2{Құрылғыңызда 2 нөмір бар, бірақ бір уақытта тек біреуін пайдалана аласыз.}other{Құрылғыңызда # нөмір бар, бірақ бір уақытта тек біреуін пайдалана аласыз.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Іске қосылуда<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Дәл қазір іске қосу мүмкін емес."</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Пайдаланатын SIM картасын таңдаңыз"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Бұл құрылғыда 1 SIM картасы бар, бірақ бір уақытта тек біреуін пайдалануға болады.}=2{Бұл құрылғыда 2 SIM картасы бар, бірақ бір уақытта тек біреуін пайдалануға болады.}other{Бұл құрылғыда # SIM картасы бар, бірақ бір уақытта біреуін ғана пайдалануға болады.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Қосылып жатыр<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Дәл қазір бұл SIM картасын қосу мүмкін емес."</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> қолданылсын ба?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Мобильдік интернет, қоңыраулар және SMS хабарлары үшін <xliff:g id="CARRIER_NAME">%1$s</xliff:g> пайдаланылады."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Іске қосулы SIM карталары жоқ"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Мобильдік интернетті, қоңырау шалу және SMS жіберу функцияларын пайдалану үшін желі параметрлеріне өтіңіз."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM картасы"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"eSIM картасы өшірілсін бе?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Бұл SIM картасының деректерін өшірсеңіз, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> қызметі бұл құрылғыдан жойылады.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> қызметінен бас тартылмайды."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Мұндайда <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> қызметі осы құрылғыдан өшіріледі, бірақ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> жоспарыңыз тоқтатылмайды."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Тазарту"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM картасы өшіріледі…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM картасының деректері өшірілмеді"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Қатеге байланысты бұл SIM картасының деректерін өшіру мүмкін емес.\n\nҚұрылғыны қайта қосып, әрекетті қайталаңыз."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM картасы өшіріліп жатыр…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM картасын өшіру мүмкін емес"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Белгісіз қате шыққандықтан, осы eSIM картасы өшірілмеді.\n\nҚұрылғыны өшіріп қосып, әрекетті қайталаңыз."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Құрылғыға қосылу"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> қолданбасы құрылғыңызға қосылу үшін уақытша Wi‑Fi желісін пайдаланғысы келеді."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Ешбір құрылғы табылмады. Құрылғылардың қосулы екенін, оларды жалғауға болатынын тексеріңіз."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Құтқару қызметіне қоңырау шалу"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Wi‑Fi қоңыраулары арқылы жедел қызметке қоңырау шалуды операторыңыз қолдамайды.\nЖедел қызметке қоңырау шалу үшін құрылғы ұялы желіге автоматты түрде ауысады.\nТек мобильдік байланыс бар аймақтарда ғана жедел қызметке қоңырау шалуға болады."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Қоңыраудың сапасы жақсы болуы үшін, Wi‑Fi желісін пайдаланыңыз."</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Қосалқы қоңырау шалу"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Егер <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> қолжетімді болмаса немесе роуминг қосылса, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> қоңыраулары үшін SIM картаңыздың мобильдік интернетін пайдаланыңыз."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"қосалқы қоңырау шалу"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Кіріс MMS хабары"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS хабары жіберілмейді"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Мобильдік интернет өшірулі кезде, <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> операторында MMS қызметіне рұқсат ету үшін түртіңіз."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Жұмыс саясатыңыз туралы ақпарат"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"АТ әкімшісі басқаратын параметрлер"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16 КБ-тық бет өлшемімен жүктеу"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Құрылғыны 16 КБ-тық бет өлшемін қолдайтын ядро арқылы жүктеу"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16 КБ-тық беттермен үйлесімді ядромен өшіріп қосу керек пе?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ЕСКЕРТУ: кейбір қолданбалар бұл режиммен пайдалану үшін үйлесімді болмауы мүмкін. Құрылғы расталғаннан кейін өшіріп қосылады."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 КБ-тық беттермен үйлесімді ядромен өшіріп қосу керек пе?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Құрылғы расталғаннан кейін өшіріп қосылады."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ядро 16 КБ-тық беттермен үйлесімді ядроға жаңартылмады."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Өзгерту қолданылып жатыр"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Қате туралы есеп өңдеу құралы"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Құрылғыдағы қате туралы есепті жіберу үшін жылдам әрекетпен қандай қолданба ашылатынын анықтайды."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Жеке"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Басқа қолданбалардың үстінен шыға алатын қолданбаларға параметрлер экранының бетіне шығуға рұқсат ету"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem қызметіне рұқсат беру"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Құрылғыға құралдарды сынау үшін Mock Modem қызметін іске қосуға рұқсат бересіз. Мұны телефонды әдеттегідей пайдаланған кезде қоспаңыз."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Экранды көрсетуден қорғау функцияларын өшіру"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Экранды көрсету кезінде жүйелік қолданба мен хабарландыруларға қатысты қорғау функцияларын өшіреді."</string>
     <string name="media_controls_title" msgid="403271085636252597">"Мультимедиа"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Медиа ойнатқышты бекіту"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Ойнатуды оңай жалғастыру үшін медиа ойнатқыш \"Жылдам параметрлер\" мәзірінде ашық тұрады."</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Медиа ойнатқышты құлыптаулы экранда көрсету"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Ойнатуды оңай жалғастыру үшін медиа ойнатқыш құлыптаулы экранда ашық тұрады."</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Медиамазмұн ұсыныстарын көрсету"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant медиа ұсыныстарын көрсету"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Әрекеттеріңізге негізделген"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ойнатқышты жасыру"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Ойнатқышты көрсету"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"мультимeдиа"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Камера бағдарламалық құралының кеңейтімдеріне рұқсат беру"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Визуалдық емес бейнеграфия сияқты озық камера функцияларының бағдарламалық құралын әдепкісінше іске қосуды орындайды."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth қосылады."</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM карталары"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM карталары"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Қосулы"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Өшірулі"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Қосулы"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Өшірулі"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /<xliff:g id="ID_1">%1$s</xliff:g> үшін әдепкі"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"қоңыраулар"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Дыбыс үйлесімді медиақұрылғылардан иммерсивті болып шығады."</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Бас қимылын қадағалау"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Басыңызды қозғалтқан кезде дыбыс өзгеріп, табиғи шығады."</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синхрондау рұқсаттары"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> құрылғысына <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> құрылғысындағыдай қолданба рұқсаттарын беру"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Рұқсаттарды телефоннан синхрондау"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Сағатыңызға осы телефонға берген қолданба рұқсаттарын беріңіз."</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Аудио құрылғы түрі"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Белгісіз"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Динамик"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Орташа"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Жоғары"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Бұл қолданбаны тек 1 терезеден ашуға болады."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Қосулы"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Өшірулі"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Өшірулі"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Өшірулі"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Қосулы"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Өшірулі"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Қосулы"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Өшірулі"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Жарық экрандарды қараңғы, ал қараңғы экрандарды жарық қылады."</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Экранда ұлғайту"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Өшірулі"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Өшірулі"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Алдамшы қолданбаларды тексеру"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Қолданбаларды пайдалану тарихында фишинг әрекетінің бар-жоғын тексеру"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Алдамшы қолданбаларды анықтау үшін тексеру функциясын қолданыңыз"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Жұмыс кезінде алдамшы қолданбаларды анықтау үшін тексеру функциясын қолданыңыз"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Құпия сөз орнатылды."</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Курсорды апарғанда меңзерді көрсету"</string>
 </resources>
diff --git a/res/values-km/arrays.xml b/res/values-km/arrays.xml
index e460e2f..cdf25f7 100644
--- a/res/values-km/arrays.xml
+++ b/res/values-km/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"មាន"</item>
     <item msgid="6096962300722555553">"ក្រៅ​តំបន់"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ប្រើលំនាំដើម​របស់ប្រព័ន្ធ៖ <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"បន្ទាប់ពី 1 នាទី"</item>
     <item msgid="1574040255478150028">"បន្ទាប់ពី 5 នាទី"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-km/strings.xml b/res/values-km/strings.xml
index 31c4a02..15695c6 100644
--- a/res/values-km/strings.xml
+++ b/res/values-km/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ឥឡូវ​អ្នក​ក្លាយ​ជា​អ្នក​អភិវឌ្ឍ​ន៍ហើយ!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"មិន​ចាំបាច់​ទេ អ្នក​ជា​អ្នក​អភិវឌ្ឍ​រួច​ហើយ។"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"សូមបើកជម្រើសសម្រាប់អ្នកអភិវឌ្ឍន៍ជាមុនសិន។"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"មានតែអ្នកប្រើប្រាស់​ដែលជាអ្នកគ្រប់គ្រងប៉ុណ្ណោះ ទើបអាចចូលប្រើការកំណត់អ្នក​អភិវឌ្ឍន៍បាន។"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ប្រព័ន្ធ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"កំពុងដំណើរការ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"មិនដំណើរការ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"អេក្រង់មុខបើក នៅពេលអ្នកបត់ឧបករណ៍របស់អ្នក"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ហ្គេម វីដេអូ និងអ្វីៗជាច្រើនទៀតតែប៉ុណ្ណោះ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"អេក្រង់មុខបើកសម្រាប់កម្មវិធីដែលរារាំងមិនឱ្យអេក្រង់ចូលសម្ងំ"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"អូសឡើងលើ ដើម្បីបន្ត"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"បត់ទូរសព្ទរបស់អ្នក រួចអូសឡើងនៅលើអេក្រង់មុខ ដើម្បីបន្តប្រើប្រាស់កម្មវិធី ឬរង់ចាំពីរបីវិនាទី ដើម្បីឱ្យអេក្រង់ចាក់សោ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"កុំឱ្យសោះ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"អេក្រង់មុខចាក់សោ នៅពេលអ្នកបត់ឧបករណ៍របស់អ្នក"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ប្រើ​ការបង្វិលស្វ័យប្រវត្តិ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ពាក់ព័ន្ធ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"សំឡេងរោទ៍ និងម៉ោងរោទ៍"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"សំឡេងពេលហៅទូរសព្ទ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"មេឌៀ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"សំឡេងការជូនដំណឹង និងសំឡេងផ្សេងទៀតរបស់ប្រព័ន្ធ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"សំឡេងមេឌៀ និងប្រព័ន្ធ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"ការ​ជូនដំណឹង"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"តាមលំនាំដើម កម្មវិធីនីមួយៗជាអ្នកកំណត់ឧបករណ៍បញ្ចេញសំឡេង"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"ឧបករណ៍​ប៊្លូធូស​គ្មាន​ឈ្មោះ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"ស្វែងរក"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"បោះបង់"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"បិទប៊្លូធូស LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"បិទមុខងារប៊្លូធូស LE Audio ប្រសិនបើ​ឧបករណ៍​អាចប្រើសមត្ថភាព​ហាតវែរ LE audio បាន។"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"មុខងារប៊្លូធូស LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"បង្ហាញប៊ូតុងបិទ/បើក LE Audio ក្នុងព័ត៌មានលម្អិតអំពីឧបករណ៍"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"បើក​បញ្ជីអនុញ្ញាត​ប៊្លូធូស LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"បើក​មុខងារបញ្ជីអនុញ្ញាត​ប៊្លូធូស LE Audio។"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"រំលងបញ្ជីអនុញ្ញាតប៊្លូធូស LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ប្រើ LE Audio តាមលំនាំដើម ទោះបីជាមិនបានផ្ទៀងផ្ទាត់ឧបករណ៍ខាងក្រៅ LE Audio ដើម្បីឱ្យបំពេញតាមលក្ខខណ្ឌបញ្ជីអនុញ្ញាតក៏ដោយ។"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"ឧបករណ៍ផ្ទុកទិន្នន័យ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ឧបករណ៍​ហៅ​ទូរសព្ទ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ឧបករណ៍ផ្សេងទៀត"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ឧបករណ៍​ដែល​បាន​រក្សាទុក"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"បានភ្ជាប់ជាមួយគណនី"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"បានប្រើជាមួយគណនីកាលពីមុន"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ប៊្លូធូស​នឹង​បើក​ដើម្បី​ផ្គូផ្គង"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"​ចំណូល​ចិត្ត​នៃការ​ភ្ជាប់"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"បាន​ភ្ជាប់​ពីមុន​"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"បាន​បើក​ប៊្លូធូស"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"មើលទាំងអស់"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"មើល​ទាំងអស់"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ប៊ិក"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ការចុចប៊ូតុងកន្ទុយ"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (កម្រងព័ត៌មានការងារ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"សរសេរក្នុងកន្លែងបញ្ចូលអក្សរ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"កុំអើពើនឹង​ការសង្កត់ប៊ូតុង​ប៊ិកទាំងអស់"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ប៊ិក"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ការចែករំលែកសំឡេង"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ចែករំលែកសំឡេង"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ការហៅទូរសព្ទ និងម៉ោងរោទ៍"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"ភ្ជាប់ទៅកាន់ការចាក់សំឡេងលើអ៊ីនធឺណិតដោយប្រើប្រាស់កូដ QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"រកមិនឃើញការចាក់សំឡេងលើអ៊ីនធឺណិតនៅជិតទេ។"</string>
     <string name="date_and_time" msgid="1788358029823431692">"កាលបរិច្ឆេទ និង ម៉ោង"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ប្រូកស៊ី"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"សម្អាត"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"បញ្ចូល %s ទៅក្នុងភាសាដែលចង់ប្រើឬ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ការធ្វើបែនេះអាចឱ្យកម្មវិធី និងគេហទំព័រដឹងថា អ្នកក៏ចូលចិត្តភាសានេះដែរ។"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"ចំណូលចិត្តតាមតំបន់ និងការកំណត់ឧបករណ៍​របស់អ្នក​នឹងផ្លាស់ប្ដូរ។"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ផ្លាស់ប្ដូរ"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"មិនអាចប្រើភាសា %s បានទេ"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"សៅរ៍"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ប្រសិនបើកម្មវិធីមិនអាចប្រើចំណូលចិត្តតាមតំបន់បានទេ នោះកម្មវិធីនឹងប្រើការកំណត់ភាសាលំនាំដើមរបស់វា។"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ស្វែងយល់បន្ថែមអំពីចំណូលចិត្តភាសា។"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ចំណូលចិត្តបន្ថែម"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ពាក្យសម្រាប់ហៅ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"កំណត់របៀបដែលអ្នកចង់ឱ្យអ្នកផ្សេងហៅ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"កម្មវិធីអាចប្រើពាក្យសម្រាប់ហៅអ្នក ដើម្បីកំណត់ឱ្យមានលក្ខណៈផ្ទាល់ខ្លួននូវរបៀបដែលកម្មវិធីទាំងនោះហៅអ្នក។"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"មិនបានបញ្ជាក់"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ស្រី"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ប្រុស"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ធម្មតា"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{លុបភាសា​ដែលបានជ្រើសរើសចេញ​ឬ?}other{លុបភាសា​ដែលបានជ្រើសរើសចេញ​ឬ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"អត្ថបទនឹងត្រូវបានបង្ហាញជាភាសាផ្សេងទៀត។"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"មិនអាចយកភាសាទាំងអស់ចេញបានទេ"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ទី​តាំង​"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ប្រើទីតាំង"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"បិទ"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{បើក - កម្មវិធី # មានសិទ្ធិ​ចូលប្រើ​ទីតាំង}other{បើក - កម្មវិធី # មានសិទ្ធិ​ចូលប្រើ​ទីតាំង}}"</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_location_off" msgid="8568995909147566720">"ការចូលប្រើ​ទីតាំងត្រូវបានបិទ​សម្រាប់​កម្មវិធី និងសេវាកម្ម។ ទីតាំងឧបករណ៍របស់អ្នកនៅតែអាចត្រូវបានផ្ញើទៅអ្នកសង្គ្រោះបន្ទាន់ដដែល នៅពេលដែលអ្នកហៅទូរសព្ទ ឬផ្ញើសារជាអក្សរទៅលេខសង្គ្រោះបន្ទាន់។"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ស្វែងយល់បន្ថែម​អំពី​ការកំណត់​ទីតាំង​។"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ស្វែងយល់បន្ថែម​អំពី​ការកំណត់​ទីតាំង"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ដើម្បីផ្លាស់ប្ដូរសិទ្ធិចូលប្រើទីតាំង សូមចូលទៅកាន់ការកំណត់ &gt; សុវត្ថិភាព និងឯកជនភាព &gt; ការគ្រប់គ្រងឯកជនភាព"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"គណនី"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"សុវត្ថិភាព"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ការ​អ៊ីនគ្រីប និងព័ត៌មានផ្ទៀងផ្ទាត់"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ដើម្បីទទួលបាន​លទ្ធផល​ល្អបំផុត សូមប្រើកញ្ចក់​ការពារ​អេក្រង់​ដែលបានទទួលស្គាល់​ពី Made for Google។ តាមរយៈ​កញ្ចក់​ការពារ​អេក្រង់ផ្សេងទៀត ស្នាមម្រាមដៃរបស់អ្នកអាចមិនដំណើរការ។"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ការដោះសោដោយប្រើនាឡិកា"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"នៅពេល​អ្នករៀបចំ​ការដោះសោ​តាមទម្រង់មុខ និងការដោះសោ​ដោយប្រើ​ស្នាមម្រាមដៃ ទូរសព្ទ​របស់អ្នក​នឹងសួររក​ស្នាមម្រាមដៃ​របស់អ្នក នៅពេល​អ្នកពាក់ម៉ាស់ ឬស្ថិតនៅក្នុង​ទីងងឹត។\n\nអ្នកអាចដោះសោ​ដោយប្រើនាឡិការបស់អ្នកបាន នៅពេលមិនស្គាល់​ស្នាមម្រាមដៃ ឬមុខរបស់អ្នក។"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"អ្នកអាចដោះសោ​ដោយប្រើនាឡិកា​របស់អ្នកបាន នៅពេលមិនស្គាល់​ស្នាមម្រាមដៃរបស់អ្នក។"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"អ្នកអាចដោះសោ​ដោយប្រើនាឡិកា​របស់អ្នកបាន នៅពេលមិនស្គាល់មុខ​របស់អ្នក។"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"នៅពេល​អ្នករៀបចំ​ការដោះ​សោ​ដោយស្កេន​មុខ និងការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ ទូរសព្ទ​របស់អ្នក​នឹងសួររក​ស្នាមម្រាមដៃ​របស់អ្នក នៅពេល​អ្នកពាក់ម៉ាស់ ឬស្ថិតក្នុង​ទីងងឹត។\n\nការដោះសោដោយប្រើនាឡិកាគឺ​ជាវិធីងាយស្រួលមួយទៀត​ក្នុងការដោះសោទូរសព្ទរបស់អ្នក ឧទាហរណ៍ នៅពេលម្រាមដៃ​របស់អ្នកសើម ឬមិនស្គាល់មុខ។"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ការដោះសោដោយប្រើនាឡិកាគឺ​ជាវិធីងាយស្រួលមួយទៀត​ក្នុងការដោះសោទូរសព្ទរបស់អ្នក ឧទាហរណ៍ នៅពេលមិនស្គាល់ស្នាមម្រាមដៃរបស់អ្នក។"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ការដោះសោដោយប្រើនាឡិកាគឺ​ជាវិធីងាយស្រួលមួយទៀត​ក្នុងការដោះសោទូរសព្ទរបស់អ្នក ឧទាហរណ៍ នៅពេលមិនស្គាល់មុខរបស់អ្នក។"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ប្រើស្នាមម្រាមដៃ ឬនាឡិកា ដើម្បី"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ប្រើមុខ ឬនាឡិកា ដើម្បី"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ប្រើមុខ ស្នាមម្រាមដៃ ឬនាឡិកា ដើម្បី"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ការដោះសោដោយប្រើនាឡិកាគឺ​ជាវិធីងាយស្រួលមួយទៀត​ក្នុងការដោះសោទូរសព្ទនេះ ឧទាហរណ៍ នៅពេលម្រាមដៃ​របស់អ្នកសើម ឬមិនស្គាល់មុខ។\n\nអ្នកអាចប្រើ​នាឡិការបស់អ្នក ដើម្បីដោះសោទូរសព្ទនេះបាន នៅពេលអ្នក៖"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"កុំទាន់"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"បន្ត"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ច្រើនទៀត"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"របៀបដែលវាដំណើរការ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"ត្រូវតែដោះសោនាឡិការបស់អ្នកនៅលើកដៃរបស់អ្នក និងក្នុងចម្ងាយដែលអាចឈោងដៃដល់ទូរសព្ទនេះ។ អ្នកនឹងមិនចាំបាច់ដោះសោនាឡិការបស់អ្នកម្តងទៀតទេ នៅពេលនាឡិកានោះស្ថិតនៅលើកដៃរបស់អ្នក។"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"នៅពេលដែលទូរសព្ទនេះត្រូវបានដោះសោ អ្នកនឹងទទួលបានការជូនដំណឹងនៅលើនាឡិការបស់អ្នក។ ប្រសិនបើវាត្រូវបានដោះសោ នៅពេលអ្នកមិនមានបំណងទេ សូមចុចការជូនដំណឹង ដើម្បីចាក់សោទូរសព្ទម្ដងទៀត។"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ការគ្រប់គ្រង​ស្ថិតក្នុង​ដៃអ្នក"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"អ្នកអាចដកនាឡិការបស់អ្នកចេញពីមុខងារដោះសោដោយប្រើនាឡិកាបានគ្រប់ពេលនៅក្នុងការកំណត់"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"ចុចការជូនដំណឹង"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"អូសឡើងលើនៅលើអេក្រង់ចាក់សោ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ជ្រើសរើស​នាឡិកា​របស់អ្នក"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"នាឡិកា​ដែលអាច​ភ្ជាប់បាន"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"បោះបង់"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"បញ្ជាក់"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"រួចរាល់​អស់ហើយ!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ឥឡូវនេះ អ្នកអាចប្រើ​នាឡិការបស់អ្នក ដើម្បីដោះសោ​ទូរសព្ទនេះ នៅពេលអ្នកអូសឡើងលើ​នៅលើអេក្រង់ចាក់សោ ឬចុចការជូនដំណឹង"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"រួចរាល់"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ការដោះសោដោយប្រើនាឡិកា"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"អ្នកអាចប្រើ​នាឡិការបស់អ្នក ដើម្បីដោះសោ​ទូរសព្ទនេះ នៅពេលអ្នកអូសឡើងលើ​នៅលើអេក្រង់ចាក់សោ ឬចុចការជូនដំណឹង"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ដើម្បីប្រើការដោះសោដោយប្រើនាឡិកា ត្រូវតែដោះសោនាឡិការបស់អ្នកនៅលើកដៃរបស់អ្នក ក្នុងចម្ងាយដែលអាចឈោងដៃដល់ និងភ្ជាប់ទៅទូរសព្ទនេះ។ ប្រសិនបើការតភ្ជាប់ត្រូវបានរំខាន អ្នកនឹងត្រូវដោះសោទូរសព្ទ មុនពេលអ្នកអាចប្រើ​ការដោះសោដោយប្រើនាឡិកា។\n\nសូមចងចាំថា៖\nអ្នកអាចរៀបចំនាឡិកាមួយ​ក្នុងមួយលើកតែប៉ុណ្ណោះ។ ដើម្បីបញ្ចូលនាឡិកាផ្សេងទៀត សូមដកនាឡិកាបច្ចុប្បន្នចេញជាមុនសិន។"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ការដោះសោដោយស្កេន​ស្នាមម្រាមដៃ និងមុខ​សម្រាប់ការងារ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ត្រូវការរៀបចំ"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"សុវត្ថិភាព"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ឯកជនភាព"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"កម្រងព័ត៌មានការងារ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"លំហ​ឯកជន"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"រក្សាកម្មវិធីឯកជនឱ្យនៅជាប់សោ និងលាក់"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"រក្សាកម្មវិធីឯកជនក្នុងបន្ទប់ដាច់ដោយឡែកដែលអ្នកអាចលាក់ ឬចាក់សោបាន"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ការចាក់សោលំហឯកជន"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"អ្នកអាចដោះសោលំហឯកជនរបស់អ្នកតាមវិធីតែមួយដែលអ្នកប្រើសម្រាប់ដោះសោឧបករណ៍របស់អ្នក ឬជ្រើសរើសការចាក់សោផ្សេង"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ប្រើការចាក់សោអេក្រង់ឧបករណ៍"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ និងមុខ"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃ"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ការដោះ​សោ​ដោយស្កេន​មុខ"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ចុច​ដើម្បី​រៀបចំ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ការដោះសោ​ដោយស្កេន​ស្នាមម្រាមដៃសម្រាប់លំហឯកជន"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ការដោះ​សោ​ដោយស្កេន​មុខសម្រាប់លំហឯកជន"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"វិធី​ដោះសោ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ដូចគ្នានឹងការចាក់សោអេក្រង់ឧបករណ៍"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ជ្រើសរើសការចាក់សោថ្មីសម្រាប់លំហឯកជនឬ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ចាក់សោលំហឯកជនដោយស្វ័យប្រវត្តិ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"អ្នកអាចចាក់សោលំហឯកជនរបស់អ្នកដោយស្វ័យប្រវត្តិ ប្រសិនបើអ្នកមិនបានប្រើឧបករណ៍របស់អ្នកមួយរយៈ"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"រាល់ពេលឧបកណ៍ចាក់សោ"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"ក្រោយពេលអសកម្ម 5 នាទី"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"កុំឱ្យសោះ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"លាក់នៅពេលជាប់សោ"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"លាក់លំហឯកជន នៅពេលជាប់សោ"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ដើម្បីបញ្ឈប់អ្នកដទៃកុំឱ្យដឹងថា អ្នកមានលំហឯកជននៅលើឧបករណ៍របស់អ្នក អ្នកអាចលាក់លំហនោះពីបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"ចូលប្រើលំហឯកជន នៅពេលលាក់"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ពីបញ្ជីកម្មវិធីរបស់អ្នក បញ្ចូល \"លំហឯកជន\" នៅក្នុងរបារស្វែងរក"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ចុចប្រអប់លំហឯកជន"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ដោះសោលំហឯកជនរបស់អ្នក"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"បិទ"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"បើក"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ប្រព័ន្ធ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"លុបលំហឯកជន"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"លុបលំហឯកជនឬ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"លំហឯកជនរបស់អ្នកនឹងត្រូវបានដកចេញពីឧបករណ៍របស់អ្នក។ កម្មវិធី និង​ទិន្នន័យ​ឯកជនទាំងអស់​នឹង​ត្រូវ​បាន​លុប។ អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"គណនីខាងក្រោមនឹងត្រូវបានដកចេញពីលំហឯកជនរបស់អ្នក៖"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"លុប"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"កំពុងលុបលំហឯកជន…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"សកម្មភាពនេះ​នឹងចំណាយពេល​បន្តិច"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"បានលុបលំហឯកជន"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"មិនអាចលុបលំហឯកជនបានទេ"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"បានដោះសោលំហឯកជន"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"កំណត់​ការចាក់​សោអេក្រង់"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ដើម្បីប្រើបន្ទប់ឯកជនរបស់អ្នក សូមកំណត់ការចាក់សោអេក្រង់នៅលើឧបករណ៍នេះ"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"កំណត់​ការចាក់​សោ​អេក្រង់"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"បោះបង់"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"បោះបង់"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"រៀបចំ"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"រៀបចំបន្ទប់ឯកជន"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"រក្សាកម្មវិធីឯកជនក្នុងបន្ទប់ដាច់ដោយឡែកដែលអ្នកអាចលាក់ ឬចាក់សោបាន"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"របៀបដែលវាដំណើរការ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"អ្នកអាចចូលប្រើប្រាស់បន្ទប់ឯកជនរបស់អ្នកពីផ្នែកខាងក្រោមនៃបញ្ជីកម្មវិធីរបស់អ្នក"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"កម្មវិធីនៅក្នុងបន្ទប់ឯកជនរបស់អ្នកត្រូវបានការពារដោយការចាក់សោ"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ការជូនដំណឹងពីកម្មវិធីនៅក្នុងបន្ទប់ឯកជនរបស់អ្នកត្រូវបានលាក់ នៅពេលបន្ទប់នេះត្រូវបានចាក់សោ"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"កម្មវិធីនៅក្នុងបន្ទប់ឯកជនរបស់អ្នកនឹងមិនបង្ហាញនៅក្នុងមុខងារគ្រប់គ្រងការអនុញ្ញាត ផ្ទាំងគ្រប់គ្រងឯកជនភាព និងការកំណត់ផ្សេងទៀតទេ នៅពេលបន្ទប់ឯកជនរបស់អ្នកត្រូវបានចាក់សោ។\n\nមិនអាចផ្លាស់ទីបន្ទប់ឯកជនរបស់អ្នកទៅឧបករណ៍ថ្មីបានទេ។ អ្នកនឹងត្រូវរៀបចំបន្ទប់ឯកជនមួយទៀត ប្រសិនបើអ្នកចង់ប្រើវាលើឧបករណ៍មួយទៀត។\n\nគ្រប់គ្នាដែលភ្ជាប់ឧបករណ៍របស់អ្នកទៅនឹងកុំព្យូទ័រ ឬដំឡើងកម្មវិធីគ្រោះថ្នាក់នៅលើឧបករណ៍របស់អ្នក ប្រហែលអាចចូលប្រើប្រាស់បន្ទប់ឯកជនរបស់អ្នកបាន។"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"កំពុងរៀបចំបន្ទប់ឯកជន…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ការជូនដំណឹងពីកម្មវិធីនៅក្នុងលំហឯកជនត្រូវបានលាក់ នៅពេលលំហនេះត្រូវបានចាក់សោ"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ដោះសោលំហឯកជន ដើម្បីចែករំលែករូបថត ឬឯកសារ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"កម្មវិធីមួយចំនួនត្រូវបានដំឡើងរួចហើយនៅក្នុងបន្ទប់ឯកជនរបស់អ្នក"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"មិនអាចរៀបចំលំហឯកជនបានទេ"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ព្យាយាមម្ដងទៀត"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ប្រើមុខងារចាក់សោអេក្រង់ ដើម្បីដោះសោបន្ទប់ឯកជនឬ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"អ្នកអាចដោះសោបន្ទប់ឯកជនរបស់អ្នកតាមវិធីតែមួយដែលអ្នកប្រើសម្រាប់ដោះសោឧបករណ៍របស់អ្នក ឬជ្រើសរើសការចាក់សោផ្សេង"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ប្រើ​ការ​ចាក់​សោ​អេក្រង់"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"ជ្រើសរើសការចាក់សោថ្មី"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"រួចហើយ!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"ដើម្បីរកលំហឯកជនរបស់អ្នក សូមចូលទៅកាន់បញ្ជីកម្មវិធីរបស់អ្នក រួចរំកិលចុះ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"រួចរាល់"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"រំកិលចុះ ដើម្បីរកបន្ទប់ឯកជន"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ចូល​គណនី"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ចូលគណនី ដើម្បីប្រើជាមួយលំហឯកជនរបស់អ្នក"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"កុំទាន់"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"បន្ត"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ជ្រើសរើសការចាក់សោសម្រាប់បន្ទប់ឯកជនរបស់អ្នក"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"អ្នកអាចដោះសោបន្ទប់ឯកជនរបស់អ្នកដោយប្រើស្នាមម្រាមដៃរបស់អ្នក។ ដើម្បី​សុវត្ថិភាព ជម្រើសនេះ​តម្រូវឱ្យមាន​ការចាក់សោការបម្រុងទុក។"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"កំណត់កូដ PIN សម្រាប់លំហឯកជនរបស់អ្នក"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"កំណត់ពាក្យសម្ងាត់សម្រាប់លំហឯកជនរបស់អ្នក"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"កំណត់លំនាំសម្រាប់លំហឯកជនរបស់អ្នក"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"អ្នកអាចបញ្ចូលស្នាមម្រាមដៃបានត្រឹម <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"អ្នក​បាន​បញ្ចូល​ស្នាម​ម្រាមដៃ​ដល់​ចំនួន​អតិបរមា​ហើយ"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"មិន​អាច​បញ្ចូល​ស្នាម​ម្រាមដៃ​បាន​ទៀត​ទេ"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"លំនាំ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"កូដ PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"ពាក្យសម្ងាត់​"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"លុបការចាក់សោអេក្រង់ឬ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ដកចេញនូវប្រភេទទាំងអស់នៃការដោះសោឧបករណ៍ឬ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ដកការការពារប្រវត្តិរូបចេញឬទេ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"លំនាំការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"លំនាំការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច។<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>សកម្មភាពនេះលុបគំរូស្នាមម្រាមដៃ ដែលបានរក្សាទុកនៅលើឧបករណ៍របស់អ្នក។ គំរូមុខ​របស់អ្នកក៏​នឹងត្រូវលុប​ដោយសុវត្ថិភាព​ជាអចិន្ត្រៃយ៍ផងដែរ។ អ្នក​នឹង​មិនអាច​ប្រើ​មុខ ឬស្នាមម្រាមដៃរបស់អ្នក​ ដើម្បីផ្ទៀងផ្ទាត់នៅក្នុងកម្មវិធីបានទេ។"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"កូដ PIN ការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"អ្នកនឹងបាត់បង់ទិន្នន័យដែលបានរក្សាទុក ដូចជាកូដ PIN របស់អ្នកជាដើម។<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ការរៀបចំកាតសម្រាប់បង់ប្រាក់​ដោយ​មិនប៉ះម៉ាស៊ីនគិតប្រាក់នឹងត្រូវបានដកចេញ។<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>កាបូប និងកម្មវិធីផ្សេងទៀតដែលតម្រូវឱ្យដោះសោឧបករណ៍ប្រហែលមិនដំណើរការបានត្រឹមត្រូវទេ។"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"កូដ PIN ការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច។<xliff:g id="EMPTY_LINE">
 
 </xliff:g>សកម្មភាពនេះក៏លុបគំរូស្នាមម្រាមដៃ ដែលបានរក្សាទុកនៅលើឧបករណ៍របស់អ្នកផងដែរ។ អ្នក​នឹង​មិនអាច​ប្រើ​ស្នាមម្រាមដៃរបស់អ្នក​ ដើម្បីផ្ទៀងផ្ទាត់នៅក្នុងកម្មវិធីបានទេ។"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"អ្នកនឹងបាត់បង់ទិន្នន័យដែលបានរក្សាទុក ដូចជាកូដ PIN និងគំរូស្នាមម្រាមដៃរបស់អ្នកជាដើម។<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ការរៀបចំកាតសម្រាប់បង់ប្រាក់​ដោយ​មិនប៉ះម៉ាស៊ីនគិតប្រាក់នឹងត្រូវបានដកចេញ។<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>កាបូប និងកម្មវិធីផ្សេងទៀតដែលតម្រូវឱ្យដោះសោឧបករណ៍ប្រហែលមិនដំណើរការបានត្រឹមត្រូវទេ។"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"កូដ PIN ការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច។<xliff:g id="EMPTY_LINE">
 
 </xliff:g>គំរូមុខ​របស់អ្នកក៏​នឹងត្រូវលុប​ដោយសុវត្ថិភាព​ជាអចិន្ត្រៃយ៍ផងដែរ។ អ្នក​នឹង​មិនអាច​ប្រើ​មុខរបស់អ្នក​ ដើម្បីផ្ទៀងផ្ទាត់នៅក្នុងកម្មវិធីបានទេ។"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"អ្នកនឹងបាត់បង់ទិន្នន័យដែលបានរក្សាទុក ដូចជាកូដ PIN និងគំរូមុខរបស់អ្នកជាដើម។<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ការរៀបចំកាតសម្រាប់បង់ប្រាក់​ដោយ​មិនប៉ះម៉ាស៊ីនគិតប្រាក់នឹងត្រូវបានដកចេញ។<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>កាបូប និងកម្មវិធីផ្សេងទៀតដែលតម្រូវឱ្យដោះសោឧបករណ៍ប្រហែលមិនដំណើរការបានត្រឹមត្រូវទេ។"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"កូដ PIN ការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច។<xliff:g id="EMPTY_LINE">
 
 </xliff:g>សកម្មភាពនេះលុបគំរូស្នាមម្រាមដៃ ដែលបានរក្សាទុកនៅលើឧបករណ៍របស់អ្នក។ គំរូមុខ​របស់អ្នកក៏​នឹងត្រូវលុប​ដោយសុវត្ថិភាព​ជាអចិន្ត្រៃយ៍ផងដែរ។ អ្នក​នឹង​មិនអាច​ប្រើ​មុខ ឬស្នាមម្រាមដៃរបស់អ្នក​ ដើម្បីផ្ទៀងផ្ទាត់នៅក្នុងកម្មវិធីបានទេ។"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"អ្នកនឹងបាត់បង់ទិន្នន័យដែលបានរក្សាទុក ដូចជាកូដ PIN, គំរូមុខ និងគំរូស្នាមម្រាមដៃរបស់អ្នកជាដើម។<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ការរៀបចំកាតសម្រាប់បង់ប្រាក់​ដោយ​មិនប៉ះម៉ាស៊ីនគិតប្រាក់នឹងត្រូវបានដកចេញ។<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>កាបូប និងកម្មវិធីផ្សេងទៀតដែលតម្រូវឱ្យដោះសោឧបករណ៍ប្រហែលមិនដំណើរការបានត្រឹមត្រូវទេ។"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"ពាក្យសម្ងាត់ការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"ពាក្យសម្ងាត់ការពារទូរសព្ទរបស់អ្នក ប្រសិនបើវាបាត់ ឬត្រូវបានគេលួច។<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ប៊្លូធូស"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ប៊្លូធូស"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"ផ្គូផ្គងជាមួយ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ឬទេ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"បញ្ចូលសមាជិកថ្មី​ទៅសំណុំដែលបានសម្របសម្រួល​ដែលមានស្រាប់"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"បញ្ជាក់ដើម្បីបញ្ចូលបណ្ដុំទីពីរនៃឧបករណ៍សំឡេងររបស់អ្នក"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"លេខកូដផ្គូផ្គងប៊្លូធូស"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"បញ្ចូល​កូដ​ផ្គូផ្គង បន្ទាប់​មក​ចុច Return ឬ Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"កូដ PIN មាន​អក្សរ និង​និមិត្តសញ្ញា"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"ត្រូវមាន 16 ខ្ទង់"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"អ្នក​ក៏​ត្រូវ​បញ្ចូល​កូដ PIN នេះ​លើ​ឧបករណ៍​ផ្សេង​ដែរ។"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"អ្នក​ក៏​អាច​ត្រូវ​បញ្ចូល​លេខ​កូដ​នេះ​លើ​ឧបករណ៍​ផ្សេង។"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"បញ្ជាក់ ដើម្បីផ្គូផ្គងជាមួយសំណុំដែលបានសម្របសម្រួល"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"បញ្ជាក់ដើម្បីផ្គូផ្គងជាមួយឧបករណ៍សំឡេង"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ផ្ដល់​សិទ្ធិ​អនុញ្ញាត​ចូល​ប្រើ​ទំនាក់ទំនង​ និង​ប្រវត្តិ​ហៅ​ទូរសព្ទ​របស់អ្នក"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"អនុញ្ញាតឱ្យចូលប្រើប្រាស់ប្រវត្តិហៅទូរសព្ទ និងទំនាក់ទំនងផងដែរ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ព័ត៌មាននឹងត្រូវបានប្រើសម្រាប់ការប្រកាសអំពីការហៅទូរសព្ទ និងអ្វីៗជាច្រើនទៀត"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"មិន​អាច​តភ្ជាប់​ទៅ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ។"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ឧបករណ៍​ដែល​អាច​ភ្ជាប់បាន"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"តភ្ជាប់"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ផ្ដាច់"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ផ្គូផ្គង &amp; តភ្ជាប់"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"នៅពេលបើកប៊្លូធូស ឧបករណ៍របស់អ្នកអាចទាក់ទងជាមួយ​ឧបករណ៍ប៊្លូធូសនៅជិត​ផ្សេងទៀតបាន។"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ពេលបើកប៊្លូធូស ឧបករណ៍របស់អ្នកអាចទាក់ទងជាមួយឧបករណ៍ប៊្លូធូសនៅជិតផ្សេងទៀតបាន"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ឧបករណ៍​របស់អ្នក​អាចភ្ជាប់​ជាមួយ​ឧបករណ៍​ប៊្លូធូស​ដែល​នៅជិត​ផ្សេងទៀត នៅពេល​ប៊្លូធូស​បើក។\n\nដើម្បី​កែលម្អ​បទពិសោធន៍​ប្រើប្រាស់​ឧបករណ៍ កម្មវិធី និង​សេវាកម្ម​នៅតែ​អាច​ស្កេនរកឧបករណ៍​ដែល​នៅជិត​បាន​គ្រប់ពេល ទោះបីជា​នៅពេលបិទ​ប៊្លូធូស​ក៏ដោយ។ ឧទាហរណ៍ សកម្មភាពនេះ​អាច​ត្រូវ​បានប្រើ ដើម្បី​កែលម្អ​មុខងារ និង​សេវាកម្ម​ដែល​ផ្អែក​លើ​ទីតាំង​ជាដើម។ អ្នកអាច​ប្ដូរវា​បាននៅក្នុងការកំណត់​ការស្កេនប៊្លូធូស។"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ផ្លាស់ប្ដូរ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ព័ត៌មានលម្អិត​អំពី​ឧបករណ៍"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"អនុញ្ញាត​ឱ្យ ART ផ្ទៀងផ្ទាត់​កូដបៃ​សម្រាប់​កម្មវិធី​ដែលអាចជួសជុលបាន"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"បង្ហាញ​អត្រា​ផ្ទុក​ឡើងវិញ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"បង្ហាញអត្រា​ផ្ទុកឡើងវិញ​នៃផ្ទាំងអេក្រង់បច្ចុប្បន្ន"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"បង្ហាញសមាមាត្រ HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"បង្ហាញសមាមាត្រ HDR/SDR បច្ចុប្បន្ន"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"តម្រូវ​ឱ្យ​ដោះសោ​ឧបករណ៍​សម្រាប់ NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android បញ្ជូន"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ពេល​ជិះ​យន្ត"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ជូនដំណឹង​សម្រាប់​បណ្ដាញសាធារណៈ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ជូនដំណឹងនៅពេលមានបណ្តាញសាធារណៈគុណភាពខ្ពស់"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"អនុញ្ញាតបណ្ដាញ WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP គឺជាប្រូតូកូលសុវត្ថិភាពចាស់ ដែលមិនសូវមានសុវត្ថិភាព"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"ក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នកមិនអនុញ្ញាតបណ្ដាញ WEP ទេ ដោយសារបណ្ដាញទាំងនោះមិនសូវមានសុវត្ថិភាព"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"បើក Wi‑Fi ដោយស្វ័យប្រវត្តិ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi នឹងបើកឡើងវិញនៅក្បែរបណ្តាញដែលមានគុណភាពខ្ពស់ដែលបានរក្សាទុក ដូចជាបណ្តាញ​នៅ​ផ្ទះ​របស់អ្នក"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"មិន​អាច​ប្រើ​បាន​ទេ ​ពីព្រោះ​ទីតាំង​បាន​បិទ។ សូម​បើក"<annotation id="link">"ទីតាំង"</annotation>"។"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ការ​ស្កេន Wi‑Fi អនុញ្ញាត​ឱ្យ​កម្មវិធី និងសេវាកម្ម​ធ្វើ​ការ​ស្កេនរក​បណ្ដាញ Wi‑Fi បាន​គ្រប់ពេល ទោះបីជា Wi‑Fi ​បិទក៏ដោយ។ សកម្មភាព​នេះ​អាច​ត្រូវ​បាន​ប្រើ ដើម្បី​កែលម្អ​មុខងារ និងសេវាកម្មនានា​ដែល​ផ្អែក​លើ​ទីតាំង​ជាដើម។"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"បើក"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"បានបើក​ការស្កេន Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"បណ្ដាញនេះប្រើប្រូតូកូលសុវត្ថិភាពចាស់ ដែលមិនសូវមានសុវត្ថិភាព"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ត្រូវបាន​ទប់ស្កាត់"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"បណ្ដាញនេះប្រើប្រូតូកូលសុវត្ថិភាពចាស់ដែលមានឈ្មោះថា WEP ដែលមិនសូវមានសុវត្ថិភាព។ ទោះជាយ៉ាងណា ដើម្បីភ្ជាប់ អ្នកអាចអនុញ្ញាតបណ្ដាញ WEP។"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នកមិនអនុញ្ញាតឱ្យអ្នកភ្ជាប់ទៅបណ្ដាញនេះទេ ដោយសារវាប្រើប្រូតូកូលសុវត្ថិភាពចាស់ ដែលមិនសូវមានសុវត្ថិភាព"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"អនុញ្ញាត WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"បិទ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ជម្រើស​កម្រិត​ខ្ពស់"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ជម្រើស​កម្រិតខ្ពស់​នៃបញ្ជីធ្លាក់ចុះ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ពង្រីក"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"បន្តប្រើ Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"កុំ​បង្ហាញ​ម្ដង​ទៀត"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"តភ្ជាប់"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"បានបើក Wi‑Fi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"បានភ្ជាប់ជាមួយ <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"កំពុងភ្ជាប់ទៅ <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"កំពុងភ្ជាប់…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"បាន​បរាជ័យ​ក្នុង​ការ​តភ្ជាប់​បណ្ដាញ"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"បណ្ដាញ​មិន​មានសេវា​ទេ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"បំភ្លេច"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"កែសម្រួល"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"បាន​បរាជ័យ​ក្នុង​បំភ្លេច​បណ្ដាញ"</string>
     <string name="wifi_save" msgid="2312643132472226807">"រក្សាទុក"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"បាន​បរាជ័យ​ក្នុង​ការ​រក្សាទុក​បណ្ដាញ"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"បោះ​បង់​"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ទិន្នន័យ​ទូរសព្ទចល័ត"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"អ៊ីសឺរណិត"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ កំពុង​សាក​ថ្ម"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ កំពុង​សាក​ថ្ម"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ការតភ្ជាប់​ហតស្ប៉ត"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"កម្លាំង​តភ្ជាប់"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"បណ្ដាញ​ដែលបាន​រក្សាទុក"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"មិនមានការកំណត់ពាក្យសម្ងាត់​ទេ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ឈ្មោះ​ហតស្ប៉ត"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ពាក្យសម្ងាត់​ហតស្ប៉ត"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"កម្រិតបញ្ជូន AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"បិទ​ហតស្ប៉ត​ដោយ​ស្វ័យប្រវត្តិ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"នៅពេល​ដែលគ្មាន​ការភ្ជាប់ឧបករណ៍"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"បង្កើនភាពត្រូវគ្នា"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"បង្ហាញតុល្យភាព​ពណ៌ស"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"បន្តប្រើកម្មវិធីនៅពេលបត់"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"បង្កើន​អត្រា​ផ្ទុកឡើងវិញ​ដោយស្វ័យប្រវត្តិ​ពី 60 ទៅ <xliff:g id="ID_1">%1$s</xliff:g> Hz សម្រាប់​ខ្លឹមសារ​មួយចំនួន។ ប្រើប្រាស់ថ្ម​ច្រើន​ជាងមុន។"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"បិទអត្រាហ្វ្រេមលំនាំដើមសម្រាប់ហ្គេម"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"បិទការដាក់កំហិតអត្រាហ្វ្រេមអតិបរមាសម្រាប់ហ្គេមនៅ <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz។"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"អេក្រង់រលូន"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"បង្កើនអត្រា​ផ្ទុកឡើងវិញ​ដោយស្វ័យប្រវត្តិរហូតដល់ <xliff:g id="ID_1">%1$d</xliff:g> Hz សម្រាប់​ខ្លឹមសារ​មួយចំនួន។ ប្រើប្រាស់ថ្ម​ច្រើន​ជាងមុន។"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"បង្ខំឱ្យប្រើអត្រាផ្ទុក​ឡើងវិញអតិបរមា"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"អត្រា​ផ្ទុកឡើងវិញ​ខ្ពស់បំផុតសម្រាប់​គុណភាពនៃ​រូបមានចលនា និង​ការឆ្លើយតបនៃ​ការចុចប្រសើរជាងមុន។ ប្រើប្រាស់ថ្ម​ច្រើន​ជាងមុន។"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ការដឹងថាកំពុងនៅប្រើ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\"មុខងារដឹងថាកំពុងនៅប្រើ​\" ប្រើ​កាមេរ៉ា​ខាងមុខ ដើម្បី​មើល​ថាតើមាន​នរណាម្នាក់​កំពុង​មើល​អេក្រង់​ឬអត់។ វា​ដំណើរការ​នៅលើ​ឧបករណ៍ ហើយ​រូបភាព​មិនត្រូវបាន​រក្សាទុក ឬផ្ញើទៅ Google នោះទេ។"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"បើក​ការដឹងថា​កំពុងនៅប្រើ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"បន្ត​បើក​អេក្រង់ នៅពេល​មើល​វា"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"រយៈពេលទម្រាំអេក្រង់បិទកាន់តែយូរនឹងប្រើថ្មកាន់តែច្រើន។"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"កាមេរ៉ា​ត្រូវបាន​ចាក់សោ"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ត្រូវតែដោះសោ​កាមេរ៉ា​សម្រាប់​ការសម្គាល់មុខ"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ត្រូវតែ​ដោះសោ​កាមេរ៉ាសម្រាប់​ការដឹងថា​កំពុងនៅប្រើ"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (រន្ធស៊ីម <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (រន្ធស៊ីម <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ចម្បង)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"ដើម្បីមើល សូមជ្រើសរើស​បណ្តាញដែលបាន​រក្សាទុក"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"កំណែ PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"កម្រិត​ថ្ម"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ទូទៅ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ការកំណត់ទូទៅ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"ការ​ផ្ញើ​សារតាមផ្កាយរណប"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"កែ​ចំណុច​ចូលប្រើប្រាស់"</string>
+    <string name="apn_add" msgid="9069613192201630934">"បញ្ចូលដុំភ្ជាប់បណ្ដាញឥតខ្សែ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"មិនបានកំណត់"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"មិនបានកំណត់"</string>
     <string name="apn_name" msgid="6677695784108157953">"ឈ្មោះ"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"បាន​បើក​ APN"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"បាន​បិទ APN"</string>
     <string name="bearer" msgid="3231443241639159358">"សាមីជន"</string>
+    <string name="network_type" msgid="748590707422733595">"ប្រភេទ​បណ្ដាញ"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"មិនបានបញ្ជាក់"</string>
     <string name="mvno_type" msgid="4734654257494971247">"ប្រភេទ MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"តម្លៃ MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"លុប APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"រក្សាទុក"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"បោះបង់"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ធាតុ apn ស្ទួន។"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"វាល​ឈ្មោះ​មិន​អាច​ទទេ។"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN មិន​អាច​ទទេ។"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"វាល MCC ត្រូវ​តែ​មាន​ ៣ តួ។"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"វាល MNC ត្រូវ​តែ​មាន​ពីរ ឬ​បី​តួលេខ។"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"ក្រុមហ៊ុនបម្រើសេវាទូរសព្ទមិនអនុញ្ញាតឲ្យបញ្ចូល APN ប្រភេទ %s ទេ។"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"កន្លែងបញ្ចូល MMSC ត្រូវតែត្រឹមត្រូវ។"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ស្ដារ​ការ​កំណត់ APN លំនាំដើម​ឡើងវិញ។"</string>
     <string name="menu_restore" msgid="4310539620115151551">"កំណត់​ទៅ​លំនាំដើម​ឡើងវិញ"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"បាន​បញ្ចប់ការប្ដូរ​ការ​កំណត់ APN ទៅលំនាំដើមវិញហើយ។"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"កំណត់​ឡើងវិញ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ប៊្លូធូស និង Wi-Fi ត្រូវបានកំណត់ឡើងវិញ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"លុប eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"សកម្មភាពនេះ​នឹងមិនបោះបង់​គម្រោង​សេវាទូរសព្ទចល័ត​ណាមួយឡើយ។ ដើម្បី​ទាញយក​ស៊ីមជំនួស សូម​ទាក់ទង​ក្រុមហ៊ុន​សេវាទូរសព្ទរបស់​អ្នក។"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"សកម្មភាពនេះនឹងមិនលុបចោលគម្រោងសេវាទូរសព្ទរបស់អ្នកទេ។ ដើម្បីទទួលបានស៊ីមជំនួស សូមទាក់ទងទៅក្រុមហ៊ុន​សេវាទូរសព្ទរបស់អ្នក។"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"កំណត់ការកំណត់ឡើងវិញ"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"កំណត់ការកំណត់​បណ្ដាញ​ទាំងអស់​ឡើងវិញ? អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"កំណត់ការកំណត់បណ្តាញទាំងអស់ឡើងវិញ និងលុប eSIMឬ? អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"កំណត់ឡើងវិញ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ការកំណត់បណ្តាញឡើងវិញមិនមានសម្រាប់អ្នកប្រើនេះទេ"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"បានកំណត់ការកំណត់បណ្តាញឡើងវិញ"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"មិន​អាចលុប​ស៊ីម​បានទេ"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"មិនអាចលុប eSIM នេះ​បានទេ​ ដោយសារមាន​បញ្ហា។\n\nសូមចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នក​ឡើងវិញ​ រួច​ព្យាយាម​ម្ដងទៀត។"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"មិនអាចលុប eSIM បានទេ"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"មានអ្វីមួយ​ខុសប្រក្រតី ហើយ eSIM របស់អ្នកមិនត្រូវបានលុបទេ។\n\nសូមចាប់ផ្ដើមឧបករណ៍របស់អ្នកឡើងវិញ រួចព្យាយាមម្ដងទៀត។"</string>
     <string name="main_clear_title" msgid="277664302144837723">"លុបទិន្នន័យទាំងអស់ (កំណត់ដូច​ចេញពីរោងចក្រ)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"លុបទិន្នន័យទាំងអស់ (កំណត់ដូច​ចេញពីរោងចក្រ)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"តន្ត្រី"</li>\n<li>"រូបថត"</li>\n<li>"ទិន្នន័យ​អ្នក​ប្រើ​ប្រាស់ផ្សេង​ទៀត"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"សកម្មភាពនេះ​នឹងមិនលុបចោលគម្រោង​សេវាកម្មឧបករណ៍ចល័ត​របស់អ្នកទេ។"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ព័ត៌មាន​ផ្ទាល់ខ្លួន និងកម្មវិធី​ដែលបានទាញយក​ទាំងអស់​របស់អ្នកនឹងត្រូវបានលុបចេញ។ អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ព័ត៌មាន​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់អ្នក រួម​ទាំង​ស៊ីម និងកម្មវិធី​ដែលបាន​ទាញយកនឹងត្រូវបានលុបចេញ។ អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ព័ត៌មាន​ផ្ទាល់ខ្លួន​ទាំងអស់​របស់អ្នក រួម​ទាំង eSIM និងកម្មវិធី​ដែលបាន​ទាញយកនឹងត្រូវបានលុប។ អ្នកមិន​អាចត្រឡប់​សកម្មភាពនេះ​វិញបានទេ។"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"លុប​ទិន្នន័យ​ទាំង​អស់ឬ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ការកំណត់​ដូចចេញពី​រោងចក្រ​មិនអាចប្រើបាន​សម្រាប់​អ្នកប្រើប្រាស់​នេះទេ"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"កំពុងលុប"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ហតស្ប៉ត, USB, ប៊្លូធូស, អ៊ីសឺរណិត"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"មិនកំពុង​ចែករំលែក​អ៊ីនធឺណិត​ជាមួយ​ឧបករណ៍​ផ្សេងទៀត​នោះទេ"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"បិទ"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ការ​ភ្ជាប់"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"កុំប្រើ​ហតស្ប៉ត Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ USB តែប៉ុណ្ណោះ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ​ប៊្លូធូស​តែប៉ុណ្ណោះ"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ​អ៊ីសឺរណិត​តែប៉ុណ្ណោះ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ USB និង​ប៊្លូធូស​តែប៉ុណ្ណោះ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ USB និង​អ៊ីសឺរណិត​តែប៉ុណ្ណោះ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ​ប៊្លូធូស និងអ៊ីសឺរណិត​តែប៉ុណ្ណោះ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"ចែករំលែក​អ៊ីនធឺណិត​តាមរយៈ USB, ប៊្លូធូស និងអ៊ីសឺរណិត​តែប៉ុណ្ណោះ"</string>
-    <string name="usb_title" msgid="1157283449840612901">"យូអេសប៊ី"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ការ​ភ្ជាប់​តាម USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ការ​ភ្ជាប់​តាមប៊្លូធូស"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ការ​ភ្ជាប់អ៊ីសឺរណិត"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ប្រើ​ហតស្ប៉ត និង​ការភ្ជាប់ ដើម្បី​ផ្តល់​អ៊ីនធឺណិត​ដល់​ឧបករណ៍​ផ្សេងទៀត​តាមរយៈ​ការតភ្ជាប់ Wi-Fi ឬ​ទិន្នន័យ​ទូរសព្ទ​ចល័ត​របស់​អ្នក។ កម្មវិធី​ក៏​អាច​បង្កើត​ហតស្ប៉ត ដើម្បី​ចែករំលែក​ខ្លឹមសារ​ជាមួយ​ឧបករណ៍​ដែល​នៅជិត​បាន​ផងដែរ។"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ជំនួយ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"បណ្ដាញទូរសព្ទចល័ត"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ផែនការ​ទិន្នន័យ​ចល័ត"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"កម្មវិធីផ្ញើសារ SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"ប្ដូរ​កម្មវិធី​សារ SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ប្រើ <xliff:g id="NEW_APP">%1$s</xliff:g> ជំនួស​ឲ្យ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ជា​កម្មវិធី​សារ SMS របស់​អ្នក?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"ប្ដូរ​ជំនួយការ​វ៉ាយហ្វាយ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ប្រើ <xliff:g id="NEW_APP">%1$s</xliff:g> ជំនួស​ឲ្យ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ដើម្បី​គ្រប់គ្រង​ការ​ភ្ជាប់​បណ្ដាញ​របស់​អ្នក?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ប្រើ <xliff:g id="NEW_APP">%s</xliff:g> ដើម្បី​គ្រប់គ្រង​ការ​ភ្ជាប់​បណ្ដាញ​របស់​អ្នក?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"មិន​ស្គាល់​ប្រតិបត្តិ​ករ​ស៊ីមកាត"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> មិនមានគេហទំព័រសម្រាប់ផ្តល់សិទ្ធិចូលប្រើដែលស្គាល់នោះទេ"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"សូម​បញ្ចូល​ស៊ីមកាត និង​ចាប់ផ្ដើម​ឡើង​វិញ"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"សូម​ភ្ជាប់​អ៊ីនធឺណិត"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"សំណើ​ទីតាំង​ថ្មី"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ទីតាំងសម្រាប់កម្រងព័ត៌មានការងារ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ការអនុញ្ញាតទីតាំងកម្មវិធី"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ជម្រះការចូលដំណើរការ"</string>
     <string name="controls_label" msgid="8671492254263626383">"ពិនិត្យ"</string>
     <string name="force_stop" msgid="2681771622136916280">"បង្ខំ​ឲ្យ​បញ្ឈប់"</string>
+    <string name="archive" msgid="9074663845068632127">"ទុក​ក្នុង​បណ្ណសារ"</string>
+    <string name="restore" msgid="7622486640713967157">"ស្ដារ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"កំពុងស្ដារ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"កំពុងស្ដារ។"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"កំពុងស្ដារ.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"កំពុងស្ដារ..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"សរុប"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ទំហំកម្មវិធី"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"កម្មវិធី​ឧបករណ៍​ផ្ទុក​យូអេសប៊ី"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"មិន​អាច​គណនា​ទំហំ​កញ្ចប់។"</string>
     <string name="version_text" msgid="7628938665256107608">"កំណែ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ផ្លាស់ទី"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ការទុកក្នុងបណ្ណសារមិនបានសម្រេចទេ"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"បាន​ទុក <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ក្នុង​បណ្ណសារ"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ការស្ដារមិនបានសម្រេច"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"កំពុងស្ដារ \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\""</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ការផ្លាស់ទីផ្សេងទៀតស្ថិតក្នុងដំណើរការរួចទៅហើយ។"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ទំហំ​ផ្ទុក​មិន​គ្រប់គ្រាន់។"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"មិន​មាន​កម្មវិធី។"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ក្ដារចុចលើអេក្រង់​ដែលអាចប្រើបាន"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"គ្រប់គ្រង​ក្ដារចុច​លើអេក្រង់"</string>
     <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="6922850403920596246">"បើកគ្រាប់ចុចលោត ដើម្បីងាយស្រួលប្រើក្ដារចុចរូបវន្ត"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"គ្រាប់ចុចយឺត"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"បើកគ្រាប់ចុចយឺត ដើម្បីងាយស្រួលប្រើក្ដារចុចរូបវន្ត"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"គ្រាប់ចុចស្អិត"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"បើកគ្រាប់ចុចស្អិត ដើម្បីងាយស្រួលប្រើក្ដារចុចរូបវន្ត"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ចុចជ្រុងខាងស្ដាំផ្នែកខាងក្រោមនៃផ្ទាំងប៉ះសម្រាប់ជម្រើសបន្ថែម"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ល្បឿន​ទស្សន៍ទ្រនិច"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ស្វែងយល់អំពីចលនាផ្ទាំងប៉ះ"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ទៅអេក្រង់ដើម"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"អូសឡើងលើដោយប្រើម្រាមដៃបី​នៅកន្លែងណាមួយ​នៅលើផ្ទាំងប៉ះរបស់អ្នក"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ថយ​ក្រោយ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"តម្រៀបតាមរយៈពេលប្រើប្រាស់"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"តម្រៀបតាមបានប្រើចុងក្រោយ"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"តម្រៀបតាមឈ្មោះកម្មវិធី"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"បាន​ប្រើ​​​ចុងក្រោយ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"បានប្រើ​ចុងក្រោយ"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"មិនដែលសោះ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ពេល​វាល​ប្រើ"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ភាព​ងាយស្រួល"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"កំណត់​ការ​ចូល​ដំណើរការ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ពង្រីកដោយធ្វើការចុចបីដង"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ពង្រីកដោយប្រើផ្លូវកាត់"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ពង្រីកដោយប្រើផ្លូវកាត់ និងចុចបីដង"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"អំពី <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ប្រើ​ប៊ូតុងភាពងាយស្រួល ដើម្បីបើក"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"សង្កត់​ប៊ូតុង​កម្រិតសំឡេង​ឱ្យជាប់ ដើម្បី​បើក"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ចុច​អេក្រង់​បីដង ដើម្បី​បើក"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ចុចអេក្រង់ពីរដងដោយប្រើម្រាមដៃពីរ ដើម្បីបើក"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ប្រើ​ចលនា ដើម្បីបើក"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ប្រើចលនាភាពងាយស្រួល"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ដើម្បីប្រើ​មុខងារនេះ សូមចុចប៊ូតុង​ភាពងាយស្រួល <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> នៅ​ផ្នែកខាងក្រោម​នៃអេក្រង់​របស់អ្នក។\n\nដើម្បីប្ដូររវាង​មុខងារផ្សេងៗ សូមចុច​ប៊ូតុង​ភាពងាយស្រួល​ឱ្យជាប់។"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ដើម្បីប្រើ​មុខងារនេះ សូមចុចប៊ូតុង​ភាពងាយស្រួល​នៅលើ​អេក្រង់របស់អ្នក។"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ដើម្បីប្រើ​មុខងារនេះ សូមចុច​គ្រាប់ចុច​កម្រិតសំឡេង​ទាំងពីរ​ឱ្យជាប់។"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ដើម្បី​ចាប់ផ្ដើម និង​បញ្ឈប់​ការពង្រីក សូម​ចុចបីដង​នៅកន្លែងណាមួយ​នៅលើ​អេក្រង់​របស់អ្នក​។"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ដើម្បីចាប់ផ្ដើម និងបញ្ឈប់ការពង្រីក សូមចុចពីរដងនៅកន្លែងណាមួយនៅលើអេក្រង់របស់អ្នកដោយប្រើម្រាមដៃពីរ។"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ដើម្បីប្រើ​មុខងារនេះ សូមអូស​ឡើងលើ​ពីផ្នែកខាងក្រោម​នៃអេក្រង់ ដោយប្រើ​ម្រាមដៃ 2។\n\nដើម្បី​ប្ដូររវាង​មុខងារ​ផ្សេងៗ សូមអូស​ឡើងលើ ដោយប្រើ​ម្រាមដៃ 2 រួច​សង្កត់ឱ្យជាប់។"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ដើម្បីប្រើ​មុខងារនេះ សូមអូស​ឡើងលើ​ពីផ្នែកខាងក្រោម​នៃអេក្រង់ ដោយប្រើ​ម្រាមដៃ 3។\n\nដើម្បី​ប្ដូររវាង​មុខងារ​ផ្សេងៗ សូមអូស​ឡើងលើ ដោយប្រើ​ម្រាមដៃ 3 រួច​សង្កត់ឱ្យជាប់។"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ដើម្បីប្រើ​មុខងារ​ភាពងាយប្រើ សូមអូស​ឡើងលើ​ពីផ្នែកខាងក្រោម​នៃអេក្រង់ ដោយប្រើ​ម្រាមដៃ 2។\n\nដើម្បី​ប្ដូររវាង​មុខងារ​ផ្សេងៗ សូមអូស​ឡើងលើ ដោយប្រើ​ម្រាមដៃ 2 រួច​សង្កត់ឱ្យជាប់។"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ដើម្បីប្រើ​មុខងារ​ភាពងាយប្រើ សូមអូស​ឡើងលើ​ពីផ្នែកខាងក្រោម​នៃអេក្រង់ ដោយប្រើ​ម្រាមដៃ 3។\n\nដើម្បី​ប្ដូររវាង​មុខងារ​ផ្សេងៗ សូមអូស​ឡើងលើ ដោយប្រើ​ម្រាមដៃ 3 រួច​សង្កត់ឱ្យជាប់។"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"យល់ហើយ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ការកំណត់ប៊ូតុង​ភាពងាយស្រួល"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ការកំណត់ប៊ូតុង"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"ផ្លូវកាត់​ <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ប៊ូតុង​ភាពងាយស្រួល"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ចលនាភាពងាយស្រួល"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"សង្កត់គ្រាប់ចុច​កម្រិតសំឡេង​ឱ្យជាប់"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"សង្កត់គ្រាប់ចុច​កម្រិតសំឡេង​ឱ្យជាប់"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ចុច​គ្រាប់ចុច​កម្រិតសំឡេង​ទាំងពីរ​ឱ្យជាប់"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ចុចអេក្រង់ពីរដងដោយប្រើម្រាមដៃពីរ"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ចុចអេក្រង់ពីរដងដោយប្រើម្រាមដៃពីរ"</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="6863958573135995927">"ចុច​អេក្រង់​បីដង"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ចុចអេក្រង់ {0,number,integer} ដងឱ្យរហ័ស។ ផ្លូវកាត់​នេះ​អាច​ធ្វើឱ្យ​ឧបករណ៍​របស់អ្នក​ដើរយឺត"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ស្វែងយល់បន្ថែមអំពីប៊ូតុង​ភាពងាយស្រួល និងចលនា"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ប្រើប៊ូតុង​ភាពងាយស្រួល។ មិនអាចប្រើចលនានេះតាមរយៈការរុករកដោយប្រើ​​ប៊ូតុង 3 បានទេ។"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ចូលប្រើមុខងារ​ភាពងាយស្រួល​បានយ៉ាងរហ័ស"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ដើម្បី​ចាប់ផ្ដើម"</b>\n"1. ចូលទៅកាន់​ការកំណត់​ភាពងាយស្រួល\n2. ជ្រើសរើសមុខងារ រួចចុចផ្លូវកាត់\n3. ជ្រើសរើសថាតើ​អ្នកចង់ប្រើប៊ូតុង ឬចលនា ដើម្បីចូលប្រើមុខងារនោះឬអត់"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ដើម្បី​ចាប់ផ្ដើម"</b>\n"1. ចូលទៅកាន់​ការកំណត់​ភាពងាយស្រួល\n2. ជ្រើសរើសមុខងារ រួចចុចផ្លូវកាត់\n3. ជ្រើសរើស​ប៊ូតុង ដើម្បីចូលប្រើ​មុខងារ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ប្រើប៊ូតុង ឬចលនា"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ទីតាំង"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ទំហំ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ប៊ូតុងថាមពល​បញ្ចប់​ការ​ហៅ"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ទស្សន៍ទ្រនិច​កណ្តុរធំ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ធ្វើឱ្យកាន់តែងាយសម្គាល់ឃើញទស្សន៍ទ្រនិចកណ្ដុរ"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"ធ្វើឱ្យកម្មវិធីទាំងអស់ងងឹត"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"អនុវត្តលើកម្មវិធីដែលគ្មានទម្រង់រចនាងងឹតរបស់ពួកវាផ្ទាល់។ កម្មវិធីមួយចំនួនអាចមានបញ្ហាបង្ហាញ ដូចជាពណ៌បញ្ច្រាសជាដើម។"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"លុប​រូបភាព​មាន​ចលនា"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"កាត់បន្ថយចលនានៅលើអេក្រង់"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"សំឡេងម៉ូណូ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ប្រើការ​ញ័រ និងប្រតិកម្មប៉ះ"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"ការញ័រនៃម៉ោងរោទ៍"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"ការញ័រនៃមេឌៀ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"ការញ័រក្ដារចុច"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"រំញ័រសំឡេងរោទ៍"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"រំញ័រការជូនដំណឹង"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ប្រតិកម្មតបនឹងការប៉ះ"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"បញ្ឈប់"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"បោះបង់"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"បញ្ឈប់ <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"ការចុចលើពាក្យ \"<xliff:g id="STOP">%1$s</xliff:g>\" នឹងបញ្ឈប់ <xliff:g id="SERVICE">%2$s</xliff:g>។"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"បិទ"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"បន្តបើក"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"បិទ <xliff:g id="SERVICE">%1$s</xliff:g> ឬ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"គ្មាន​សេវាកម្ម​បាន​ដំឡើង"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"មិនបានជ្រើសរើសសេវាកម្មណាមួយឡើយ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"គ្មាន​ការ​ពណ៌នា​បាន​ផ្ដល់។"</string>
     <string name="settings_button" msgid="2195468788019730377">"ការ​កំណត់"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"កម្រិតពន្លឺ ប្រតិកម្មនឹងពន្លឺ ​រចនាប័ទ្ម​ងងឹត ឈឺក្បាលប្រកាំង ឈឺក្បាល មុខងារអាន មុខងារយប់ បន្ថយពន្លឺ ចំណុច​ពណ៌​ស"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ងាយស្រួលប្រើប្រាស់ ងាយស្រួលចូលប្រើ ជំនួយ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ការមើល, ការស្ដាប់ឮ, ងងឹតភ្នែក, ថ្លង់, ចលនា, ភាពស្ទាត់ជំនាញ, ជំនួយ, ការជួយ, ងាយស្រួល​ប្រើប្រាស់, ងាយស្រួល​ចូលប្រើ, ដៃ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"កម្មវិធីពង្រីកវិនដូ ពង្រីកបង្រួម ការពង្រីក ខ្សោយភ្នែក ពង្រីក ធ្វើឱ្យកាន់តែធំ"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"អក្សររត់, CC, ធ្វើប្រតិចារឹកភ្លាមៗ, មានបញ្ហាស្ដាប់, ស្ដាប់មិនឮ, CART, ការបំប្លែងការនិយាយទៅជាអត្ថបទ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"កម្រិតរំលេចពណ៌"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ម៉ូទ័រ កណ្ដុរ"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ឧបករណ៍ជំនួយការស្តាប់ ការពិបាកស្តាប់ ការស្ដាប់មិនឮ ការវះកាត់ដាក់ឧបករណ៍ជំនួយការស្ដាប់ ឧបករណបង្កើនសំឡេង ឧបករណ៍កែសម្រួលសំឡេង"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ចលនា, កណ្ដុរ, កណ្ដុរ​ខាងក្រៅ, ឧបករណ៍​ពាក់ក្បាល​សម្រាប់បញ្ជា​កណ្ដុរ, កណ្ដុរ​ដែលមាន​ភាពបត់បែន, រទេះ​រុញ, ដងបញ្ជា"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ឧបករណ៍​ជំនួយការស្តាប់, មានបញ្ហា​ក្នុងការស្ដាប់, ស្ដាប់មិនឮ, ឧបករណ៍​អេឡិចត្រូនិក​ក្នុងខ្លួនមនុស្ស​សម្រាប់ជំនួយការស្ដាប់, ឧបករណ៍​បង្កើនសំឡេង, ឧបករណ៍​កែសម្រួលសំឡេង, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"មានបញ្ហាស្ដាប់, ស្ដាប់មិនឮ, អក្សររត់, អង្គលីលេខ, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ប៊ូតុង​បី"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ភាពស្ទាត់ជំនាញ, ចលនា, មនុស្សចាស់, ជំងឺ​សន្លាក់ឆ្អឹង, rsi, ជំងឺដាច់សរសៃឈាមខួរក្បាល, ញ័រ, ជំងឺក្រិន​សរសៃឈាមច្រើន, ពិការ​ខួរក្បាល, រង្គើ, ការចុករោយ, ដៃ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ពន្យារ​ពេល, ភាពស្ទាត់ជំនាញ, មនុស្សចាស់"</string>
     <string name="print_settings" msgid="8519810615863882491">"ការ​បោះពុម្ព"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"បិទ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{សេវាកម្មបោះពុម្ព 1 បានបើក}other{សេវាកម្មបោះពុម្ព # បានបើក}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"នៅ​សល់ <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> ដើម្បី​បញ្ចូល​ថ្ម"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"រយៈពេលប្រើប្រាស់"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"រយៈពេលនៅផ្ទៃខាងក្រោយ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ជិតអស់​ថ្មហើយ"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"អនុញ្ញាត​ឲ្យ​កម្មវិធី​នេះ​ដំណើរការ​នៅ​ផ្ទៃ​ខាង​ក្រោយ"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ដាក់កម្រិតលើសកម្មភាពផ្ទៃខាងក្រោយ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ប្រសិនបើអ្នកដាក់កម្រិតលើសកម្មភាពផ្ទៃខាងក្រោយសម្រាប់កម្មវិធី វាអាចនឹងដំណើរការខុសប្រក្រតី"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ដោយសារ​កម្មវិធីនេះ​មិនត្រូវ​បានកំណត់ ដើម្បី​បង្កើន​ប្រសិទ្ធភាពថ្ម អ្នកមិន​អាចដាក់​កំហិតវា​បានទេ។\n\nដើម្បី​ដាក់កំហិត​កម្មវិធី សូមបើក​ការបង្កើន​ប្រសិទ្ធភាពថ្ម​ជាមុនសិន។"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"គ្រប់គ្រងការប្រើប្រាស់ថ្ម"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"អនុញ្ញាតឱ្យមានការប្រើប្រាស់នៅផ្ទៃខាងក្រោយ"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"បើកដើម្បីទទួលបានព័ត៌មានថ្មីៗក្នុងពេលជាក់ស្ដែង បិទដើម្បីសន្សំសំចៃថ្ម"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"គ្មានការដាក់​កំហិត"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"បង្កើន​ប្រសិទ្ធភាព"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ដាក់កំហិត"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"មើលកម្មវិធី​ដែលមាន​ការប្រើប្រាស់ខ្ពស់បំផុត"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"បានបង្កើនប្រសិទ្ធភាពការសាក ដើម្បីការពារថ្មរបស់អ្នក"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"ដើម្បីជួយបង្កើនអាយុកាលថ្មរបស់អ្នក ការសាកត្រូវបានបង្កើនប្រសិទ្ធភាព"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"បានបង្កើនប្រសិទ្ធភាពការសាក ដើម្បីការពារថ្មរបស់អ្នក"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ដើម្បីជួយបង្កើនអាយុកាលថ្មរបស់អ្នក ការសាកត្រូវបានបង្កើនប្រសិទ្ធភាពពេលភ្ជាប់"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"បានបង្កើនប្រសិទ្ធភាពការសាក ដើម្បីការពារថ្មរបស់អ្នក"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ដើម្បីជួយបង្កើនអាយុកាលថ្មរបស់អ្នក ការសាកត្រូវបានបង្កើនប្រសិទ្ធភាពពេលភ្ជាប់"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"កំពុង​សាកថ្មឱ្យពេញ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ដើម្បីការពារថ្មរបស់អ្នក ការសាកនឹងត្រូវបានបង្កើនប្រសិទ្ធភាព ពេលភ្ជាប់ថេប្លេតរបស់អ្នកលើកក្រោយ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ស្វែងយល់បន្ថែមអំពីការណ៍ដែលការសាកថ្ម​ត្រូវ​បាន​ផ្អាក"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"បន្តសាកថ្ម"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"រួម​បញ្ចូល​សកម្មភាព​ផ្ទៃខាងក្រោយ​ដែលប្រើថាមពលច្រើន"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"កម្មវិធី​នេះ​​​នឹងអាចប្រើថ្ម​នៅ​ផ្ទៃ​ខាង​ក្រោយបាន។ ថ្ម​របស់អ្នក​អាចនឹង​​ឆាប់អស់​ជាង​ការរំពឹងទុក។"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"លុប"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"បោះបង់"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"សាក​ថ្ម​រហូត​ដល់​ពេញ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"បញ្ហាពាក់ព័ន្ធនឹងគ្រឿងសាកថ្ម"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ពិនិត្យមើលគ្រឿងសាកថ្ម"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ស្វែងយល់បន្ថែមអំពី​ការសាកថ្មមិនត្រូវគ្នា"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"កម្មវិធី​គ្រប់គ្រង​ថ្ម"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"គ្រប់គ្រង​កម្មវិធី​ដោយ​ស្វ័យប្រវត្តិ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"តាំងពីពេលសាកពេញចុងក្រោយ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"កម្មវិធី​ប្រព័ន្ធ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"កម្មវិធីដែលបានលុប"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ផ្សេងទៀត"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"រយៈពេល​នៅ​សល់​ប៉ាន់​ស្មាន"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"ទៀតទើបសាកថ្មពេញ"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"សរុប៖ តិចជាងមួយនាទី"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ផ្ទៃខាងក្រោយ៖ តិចជាងមួយនាទី"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"រយៈពេលប្រើប្រាស់៖ តិចជាងមួយនាទី"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"តិចជាងមួយនាទី"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"សរុប៖ <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ផ្ទៃខាងក្រោយ៖ <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"រយៈពេលប្រើប្រាស់៖ <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ឥឡូវ​នេះ"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> ​<xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"គំនូសតាង​ការប្រើប្រាស់​ថ្ម"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"គំនូស​តាង​ការប្រើប្រាស់​ថ្ម​រៀង​រាល់​ថ្ងៃ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"គំនូស​តាង​ការប្រើប្រាស់​ថ្ម​រៀង​រាល់​ម៉ោង"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ភាគរយនៃកម្រិតថ្មពី <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ទៅ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ការប្រើប្រាស់ថ្មតាំងពីសាកថ្មពេញចុងក្រោយ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"ការប្រើប្រាស់ថ្មសម្រាប់ <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"រយៈពេលប្រើប្រាស់​តាំងពីសាកថ្មពេញ​ចុងក្រោយ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"សញ្ញា​ហៅទូរសព្ទ​ពេលអាសន្ន"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"កំណត់​ឥរិយាបថ​ពេល​ហៅ​ពេល​មាន​អាសន្ន"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"បម្រុង​ទុក"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"បើក"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"បិទ"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"បម្រុងទុក &amp; ស្ដារ​ឡើងវិញ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ទិន្នន័យ​ផ្ទាល់ខ្លួន"</string>
     <string name="backup_data_title" msgid="507663517227498525">"បម្រុង​ទុក​ទិន្នន័យ​របស់​ខ្ញុំ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ទិន្នន័យទូរសព្ទ​ចល័ត​ និង Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"សមកាលកម្មទិន្នន័យផ្ទាល់ខ្លួនស្វ័យប្រវត្តិ"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"សមកាលកម្មទិន្នន័យការងារស្វ័យប្រវត្តិ"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ធ្វើសមកាលកម្មទិន្នន័យឯកជនស្វ័យប្រវត្តិ"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ប្ដូរ​ខួប…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ថ្ងៃ​នៃ​ខែ​ត្រូវ​កំណត់​ខួប​ប្រើ​ទិន្នន័យ​ឡើង​វិញ៖"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"គ្មាន​កម្មវិធី​ប្រើ​ទិន្នន័យ​អំឡុង​ពេល​នេះ។"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ឈ្មោះ"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ប្រភេទ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"អាសយដ្ឋាន​ម៉ាស៊ីន​មេ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"ការអ៊ីនគ្រីប PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"ព័ត៌មាន​សម្ងាត់ L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"ព័ត៌មាន​សម្គាល់ IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"កូដ​ចែករំលែក​ពីមុន IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"វិញ្ញាបនបត្រ​អ្នក​ប្រើ IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"វិញ្ញាបនបត្រ IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"វិញ្ញាបនបត្រ​ម៉ាស៊ីន​មេ IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"បង្ហាញ​ជម្រើស​កម្រិត​ខ្ពស់"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"ដែន​ស្វែងរក DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"ម៉ាស៊ីន​មេ DNS (ឧ. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ផ្លូវបញ្ជូន​​បន្ត (ឧ. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ឈ្មោះ​អ្នក​ប្រើ​"</string>
     <string name="vpn_password" msgid="1183746907642628127">"ពាក្យសម្ងាត់​"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"រក្សាទុក​ព័ត៌មាន​គណនី"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(មិន​បាន​ប្រើ)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(កុំ​ផ្ទៀងផ្ទាត់​ម៉ាស៊ីន​មេ)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(បាន​ទទួល​ពី​ម៉ាស៊ីន​មេ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN ប្រភេទនេះ​មិនអាចបន្តភ្ជាប់រហូតនោះទេ"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN ដែលបើកជានិច្ចស្គាល់តែអាសយដ្ឋានម៉ាស៊ីមេជាលេខតែប៉ុណ្ណោះ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ម៉ាស៊ីនមេ DNS ត្រូវតែធ្វើការបញ្ជាក់សម្រាប់ VPN ដែលបើកជានិច្ច"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"អាសយដ្ឋាន​ម៉ាស៊ីនមេ DNS ត្រូវតែជាលេខសម្រាប់ VPN ដែលបើកជានិច្ច"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ព័ត៌មានដែល​បានបញ្ចូល​មិនអាចប្រើជាមួយ \"បើក VPN ជានិច្ច\" បានទេ"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"បោះ​បង់​"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ច្រានចោល"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"ទប់ស្កាត់ការ​តភ្ជាប់​ដោយ​មិនចាំបាច់ប្រើ VPN ទេ"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"តម្រូវឲ្យ​មាន​ការ​តភ្ជាប់ VPN ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"គ្មានសុវត្ថិភាពទេ។ សូមដំឡើងកំណែទៅ IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"មិនអាចចាប់ផ្ដើម VPN ដែលមិនស្គាល់បានទេ។"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ជ្រើស​ប្រវត្តិរូប VPN តភ្ជាប់​ជា​និច្ច។ ចរាចរណ៍​បណ្ដាញ​នឹង​ត្រូវ​បាន​អនុញ្ញាត​ ពេល​តភ្ជាប់​ទៅ VPN នេះ។"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"គ្មាន"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"បើក​ជា​និច្ច VPN ទាមទារ​អាសយដ្ឋាន IP សម្រាប់​ទាំង​ម៉ាស៊ីន​មេ និង​ DNS ។"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"ការ​ជូនដំណឹងចាប់ជំរិតក្មេង"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ទទួល​បាន​ដំណឹង​​អំពី​ការ​ចាប់​ជំរិត​កូន"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ធ្វើ​ឡើងវិញ"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"បើក​កម្មវិធី​គ្រប់គ្រង​ការ​ហៅ"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"អនុញ្ញាត​ឲ្យ​សេវា​នេះ​ដើម្បី​​គ្រប់គ្រង​របៀប​ការ​ហៅ​របស់​អ្នក។"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"កម្មវិធី​គ្រប់គ្រង​ការ​ហៅ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ការប្រកាសអាសន្ន​តាមប្រព័ន្ធឥតខ្សែ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ប្រតិបត្តិ​ករ​​​បណ្ដាញ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ឈ្មោះ​ចំណុច​ចូល​ដំណើរការ"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"ស្ថានភាព​ស៊ី​ម​កាត"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ស្ថានភាពស៊ីម (រន្ធស៊ីម %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"បានប្ដូរស៊ីម។"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"បានប្ដូរស៊ីមរបស់អ្នកហើយ"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ប៉ះដើម្បីដំឡើង"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"សួរគ្រប់ពេល"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ជម្រើស​ដែលទាមទារ"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"កម្មវិធី​ថ្មីៗ កម្មវិធីលំនាំដើម"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"មិនអាច​ចូល​ប្រើ​ការ​ជូន​ដំណឹងបានទេ​សម្រាប់​កម្មវិធី​នៅក្នុង​កម្រង​ព័ត៌មាន​ការងារ។"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"ពាក្យសម្ងាត់ និង​គណនី"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"ពាក្យសម្ងាត់ដែលបានរក្សាទុក ការបំពេញស្វ័យប្រវត្តិ គណនីដែលបានធ្វើសមកាលកម្ម"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ការណែនាំសម្រាប់ការចូល​គណនី និងការបំពេញស្វ័យប្រវត្តិ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"កម្មវិធីលំនាំដើម"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"កម្មវិធីក្លូន"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"បង្កើតកម្មវិធីទីពីរ ដើម្បីឱ្យអ្នកអាចប្រើគណនីពីរក្នុងពេលតែមួយបាន។"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"បង់​ប្រាក់, ចុច, ការ​បង់​ប្រាក់"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ការបម្រុងទុក បម្រុងទុក"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ចលនា"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"មុខ ដោះសោ ផ្ទៀងផ្ទាត់ ចូល"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"មុខ ដោះសោ ការផ្ទៀងផ្ទាត់ ចូល ស្នាមម្រាមដៃ ជីវមាត្រ"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, កំណែ prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ទំហំអក្សរ ទំហំអក្សរធំ ពុម្ពអក្សរធំ អក្សរធំ ខ្សោយភ្នែក ធ្វើឱ្យអក្សរកាន់តែធំ កម្មវិធីពង្រីកពុម្ពអក្សរ ការពង្រីកពុម្ពអក្សរ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"បើកអេក្រង់សម្ងំជានិច្ច, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, ស្លាក, កម្មវិធីអាន"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ក្ដារចុច, ប្រតិកម្មប៉ះ, ញ័រ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"កម្រិត​សំឡេង ការញ័រ កុំរំខាន"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"កម្រិត​សំឡេង​មេឌៀ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"កម្រិតសំឡេងនៃការបញ្ជូន"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"បើកសំឡេង"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"អក្សររត់ក្នុងពេលជាក់ស្ដែង"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ដាក់អក្សររត់លើមេឌៀដោយស្វ័យប្រវត្តិ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ឧបករណ៍បំពងសំឡេងរបស់ទូរសព្ទ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ឧបករណ៍បំពងសំឡេងរបស់ថេប្លេត"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ឧបករណ៍បំពងសំឡេងរបស់ឧបករណ៍"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"កាស​ប្រើ​ខ្សែ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"សំឡេងពីមេឌៀដែលត្រូវគ្នាកាន់តែធ្វើឱ្យជក់អារម្មណ៍"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"បិទ"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"បង្ហាញ​ខ្លឹមសារនៃការ​ជូនដំណឹង​ទាំងអស់"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"បង្ហាញ​ខ្លឹមសាររសើប នៅពេលដោះ​សោតែប៉ុណ្ណោះ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"កុំ​បង្ហាញ​ការ​ជូនដំណឹង​ឱ្យសោះ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"តើអ្នកចង់ឱ្យ​អេក្រង់ចាក់សោ​បង្ហាញដោយ​របៀបណា?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"តើអ្នកចង់ឱ្យអេក្រង់ចាក់សោរបស់អ្នកបង្ហាញអ្វី?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"អេក្រង់ចាក់សោ"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"បង្ហាញខ្លឹមសារនៃការជូនដំណឹងការងារទាំងអស់"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"លាក់​ខ្លឹមសារ​ការងារ​រសើប"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ការសន្ទនា​ថ្មីៗ​ត្រូវបាន​លុបចេញ"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"ការសន្ទនា​ត្រូវបាន​លុបចេញ"</string>
     <string name="clear" msgid="5092178335409471100">"សម្អាត"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"សម្អាត <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ការសន្ទនា​ដែលបានកែប្រែ និងការសន្ទនាអាទិភាព​នឹងបង្ហាញ​នៅទីនេះ"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"នៅពេលអ្នក​សម្គាល់​ការសន្ទនាថាជាអាទិភាព ឬធ្វើការផ្លាស់ប្ដូរ​ផ្សេងទៀតទៅលើ​ការសន្ទនា ការសន្ទនាទាំងនោះ​នឹងបង្ហាញ​នៅទីនេះ។ \n\nដើម្បីប្ដូរ​ការកំណត់​ការសន្ទនា៖ \nអូសចុះក្រោមពីផ្នែកខាងលើ​នៃអេក្រង់ ដើម្បីបើក​ផ្ទាំងទាញចុះ រួចចុច​ការសន្ទនា​ឱ្យជាប់។"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"បង្រួម"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"ការបន្ថយសំឡេងការជូនដំណឹង"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ដាក់ប្រើការបន្ថយសំឡេងលើការជូនដំណឹងទាំងអស់"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"បន្ថយកម្រិតសំឡេងនៃការជូនដំណឹងបន្តិចម្ដងៗ នៅពេលអ្នកទទួលបានការជូនដំណឹងជាប់ៗគ្នាជាច្រើនពីកម្មវិធីតែមួយ"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ដាក់ប្រើការបន្ថយសំឡេងលើការសន្ទនា"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"បន្ថយកម្រិតសំឡេងនៃការជូនដំណឹងបន្តិចម្ដងៗ នៅពេលអ្នកទទួលបានសារច្រើនពីការជជែកតែមួយក្នុងរយៈពេលខ្លី"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"កុំប្រើការបន្ថយសំឡេងលើការ​ជូនដំណឹង"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"កុំបន្ថយកម្រិតសំឡេងនៃការជូនដំណឹង ទោះជាមានការជូនដំណឹងជាប់ៗគ្នាប៉ុន្មានក៏ដោយពីកម្មវិធីតែមួយ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ញ័រនៅពេលដោះសោ"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"ញ័រតែប៉ុណ្ណោះ នៅពេលអេក្រង់ដោះសោ"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ដាក់ប្រើលើកម្រងព័ត៌មានការងារ"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ដាក់ប្រើការកំណត់ការបន្ថយសំឡេងលើការជូនដំណឹងពីកម្រងព័ត៌មានផ្ទាល់ខ្លួនរបស់អ្នកទៅកម្រងព័ត៌មានការងាររបស់អ្នក"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"សេវាកម្មជំនួយ VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"មិនមានកម្មវិធីដែលបានដំឡើងត្រូវបានស្នើឲ្យដំណើរការជាសេវាកម្មជំនួយ VR នោះទេ។"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"អនុញ្ញាតឲ្យសេវាកម្ម VR ចូលដំណើរការ <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"បិទ"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ការខ្ទាស់​កម្មវិធី"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ការខ្ទាស់កម្មវិធី​អនុញ្ញាតឱ្យអ្នក​បន្តមើល​ឃើញកម្មវិធីបច្ចុប្បន្ន រហូតទាល់តែ​អ្នកដកខ្ទាស់​កម្មវិធីនោះ។ មុខងារនេះ​អាចប្រើ ដើម្បីអនុញ្ញាតឱ្យ​មិត្តភ័ក្តិដែលទុកចិត្ត​លេងហ្គេម​ជាក់លាក់ ជាដើម។"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"នៅពេលខ្ទាស់កម្មវិធី កម្មវិធីដែលបានខ្ទាស់​អាចបើក​កម្មវិធីផ្សេងទៀត ហើយអាចចូលប្រើទិន្នន័យ​ផ្ទាល់ខ្លួនបាន។ \n\nដើម្បីប្រើការខ្ទាស់កម្មវិធី៖ 	\n1. បើក​ការខ្ទាស់កម្មវិធី 	\n2. បើក​ទិដ្ឋភាពរួម 	\n3. ចុច​រូបកម្មវិធី​នៅផ្នែកខាងលើ​នៃអេក្រង់ បន្ទាប់មកចុច \"ខ្ទាស់\""</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"នៅពេលខ្ទាស់កម្មវិធី កម្មវិធីដែលបានខ្ទាស់​អាចបើក​កម្មវិធីផ្សេងទៀត ហើយអាចចូលប្រើទិន្នន័យ​ផ្ទាល់ខ្លួនបាន។ \n\nប្រសិនបើ​អ្នក​ចង់​ចែករំលែក​ឧបករណ៍​របស់អ្នក​ជាមួយ​នរណាម្នាក់​ប្រកបដោយសុវត្ថិភាព សូម​សាកល្បងប្រើ​អ្នកប្រើប្រាស់ជាភ្ញៀវ​ជំនួសវិញ​។ \n\nដើម្បីប្រើ​ការខ្ទាស់កម្មវិធី៖ 	\n1. បើក​ការខ្ទាស់កម្មវិធី 	\n2. បើក​ទិដ្ឋភាពរួម 	\n3. ចុច​រូបកម្មវិធី​នៅផ្នែកខាងលើ​នៃអេក្រង់ បន្ទាប់មកចុច \"ខ្ទាស់\""</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"នៅពេលខ្ទាស់កម្មវិធី កម្មវិធីដែលបានខ្ទាស់​អាចបើក​កម្មវិធីផ្សេងទៀត ហើយអាចចូលប្រើទិន្នន័យ​ផ្ទាល់ខ្លួនបាន។ \n\nដើម្បីប្រើការខ្ទាស់កម្មវិធី៖ 	\n{0,number,integer}។ បើកការខ្ទាស់កម្មវិធី 	\n{1,number,integer}។ បើកទិដ្ឋភាពរួម 	\n{2,number,integer}។ ចុច​រូបកម្មវិធី​នៅផ្នែកខាងលើ​នៃអេក្រង់ បន្ទាប់មកចុច \"ខ្ទាស់\""</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"នៅពេលខ្ទាស់កម្មវិធី កម្មវិធីដែលបានខ្ទាស់​អាចបើក​កម្មវិធីផ្សេងទៀត ហើយអាចចូលប្រើទិន្នន័យ​ផ្ទាល់ខ្លួនបាន។ \n\nប្រសិនបើ​អ្នក​ចង់​ចែករំលែក​ឧបករណ៍​របស់អ្នក​ជាមួយ​នរណាម្នាក់​ប្រកបដោយសុវត្ថិភាព សូម​សាកល្បងប្រើ​អ្នកប្រើប្រាស់ជាភ្ញៀវ​ជំនួសវិញ​។ \n\nដើម្បីប្រើការខ្ទាស់កម្មវិធី៖ 	\n{0,number,integer}។ បើកការខ្ទាស់កម្មវិធី 	\n{1,number,integer}។ បើកទិដ្ឋភាពរួម 	\n{2,number,integer}។ ចុច​រូបកម្មវិធី​នៅផ្នែកខាងលើ​នៃអេក្រង់ បន្ទាប់មកចុច \"ខ្ទាស់\""</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"នៅពេលខ្ទាស់កម្មវិធី៖ \n\n•		អាចចូលប្រើ​ទិន្នន័យផ្ទាល់ខ្លួន​បាន \n		(ដូចជា ទំនាក់ទំនង និងខ្លឹមសារអ៊ីមែលជាដើម) \n•		កម្មវិធីដែលបានខ្ទាស់​អាចបើក​កម្មវិធីផ្សេងទៀត \n\nប្រើការខ្ទាស់កម្មវិធី​ជាមួយមនុស្សដែលអ្នកជឿទុកចិត្ត​តែប៉ុណ្ណោះ។"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"សួរ​រក​លំនាំ​ដោះ​សោ​មុន​ពេលដោះខ្ទាស់"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"សួរ​រក​កូដ PIN មុន​ពេលដកខ្ទាស់"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"សួរ​រក​ពាក្យ​សម្ងាត់​មុន​ពេល​ផ្ដាច់"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ចាក់​សោ​ឧបករណ៍​ពេល​មិន​ខ្ទាស់"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"បញ្ជាក់​ការលុប​ស៊ីម"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"បញ្ជាក់ថាអ្នកចង់លុប eSIM របស់អ្នក"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ផ្ទៀងផ្ទាត់ថាជាអ្នក មុនពេលលុប eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"បេតាការពារអង្គចងចាំកម្រិតខ្ពស់"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"ការការពារអង្គចងចាំកម្រិតខ្ពស់"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ការកំណត់កម្មវិធីដែលមិនប្រើ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ផ្អាក​សកម្មភាព​កម្មវិធី ប្រសិនបើមិនប្រើ"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ដកការអនុញ្ញាតចេញ លុបឯកសារបណ្ដោះអាសន្ន និងបញ្ឈប់ការជូនដំណឹង"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"គ្រប់គ្រងកម្មវិធី ប្រសិនបើមិនបានប្រើ"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ដកការអនុញ្ញាតចេញ លុបឯកសារបណ្ដោះអាសន្ន បញ្ឈប់ការជូនដំណឹង និងទុកកម្មវិធីក្នុងបណ្ណសារ"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"កម្មវិធីទាំងអស់"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"កម្មវិធី​ដែល​បាន​ដំឡើង"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"កម្មវិធី​ប្រើ​ភ្លាមៗ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ទំនេរ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"អង្គចងចាំបានប្រើដោយកម្មវិធី"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{កម្មវិធី 1 បានប្រើអង្គចងចាំក្នុងរយៈពេល {time} ចុងក្រោយ}other{កម្មវិធី # បានប្រើអង្គចងចាំក្នុងរយៈពេល {time} ចុងក្រោយ}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"បើកការពិនិត្យកម្រងព័ត៌មាននៃការប្រើប្រាស់អង្គចងចាំ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"ការពិនិត្យកម្រងព័ត៌មាននៃការប្រើប្រាស់អង្គចងចាំតម្រូវឱ្យមានធនធានប្រព័ន្ធបន្ថែម។"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"បានបិទការពិនិត្យកម្រងព័ត៌មាននៃអង្គចងចាំ"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ប្រេកង់"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"ការប្រើអតិបរមា"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"មិនបានប្រើទិន្នន័យទេ"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"បង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"អនុញ្ញាតឲ្យបង្ហាញនៅលើកម្មវិធីផ្សេងទៀត"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"អនុញ្ញាតឱ្យកម្មវិធីនេះបង្ហាញនៅផ្នែកខាងលើ​កម្មវិធីផ្សេងទៀត ដែលអ្នកកំពុង​ប្រើ។ កម្មវិធី​នេះ​នឹងអាច​មើលឃើញកន្លែងដែលអ្នកចុច ឬផ្លាស់ប្ដូរ​អ្វីដែលត្រូវបង្ហាញនៅលើអេក្រង់។"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"ប្ដូរឧបករណ៍មេឌៀ"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"អនុញ្ញាតឱ្យកម្មវិធីប្ដូរឧបករណ៍មេឌៀ"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"អនុញ្ញាតឱ្យកម្មវិធីនេះជ្រើសរើសថាតើឧបករណ៍​ដែលបានភ្ជាប់ណាចាក់សំឡេង ឬវីដេអូពីកម្មវិធីផ្សេងទៀត។ ប្រសិនបើអនុញ្ញាត កម្មវិធីនេះអាចចូលប្រើប្រាស់បញ្ជីឧបករណ៍ដែលអាចប្រើបាន ដូចជាកាស និងឧបករណ៍បំពងសំឡេង ព្រមទាំងជ្រើសរើសថាតើប្រើឧបករណ៍បញ្ចេញណាសម្រាប់ចាក់ ឬបញ្ជូនសំឡេង ឬវីដេអូ។"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ចូលប្រើ​ឯកសារ​ទាំងអស់"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"អនុញ្ញាតឱ្យចូលប្រើ ដើម្បីគ្រប់គ្រងឯកសារទាំងអស់"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"អនុញ្ញាតឱ្យ​កម្មវិធី​នេះ​អាន កែសម្រួល និងលុប​ឯកសារ​ទាំងអស់​នៅលើ​ឧបករណ៍​នេះ ឬឧបករណ៍ផ្ទុកទាំងឡាយ​ដែលបានភ្ជាប់។ ប្រសិនបើ​ផ្ដល់​ការអនុញ្ញាត កម្មវិធីនេះ​អាច​ចូលប្រើ​ឯកសារ ដោយ​មិនឱ្យ​អ្នកដឹង។"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"អាច​ចូលប្រើ​ឯកសារ​ទាំងអស់​បាន"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"កម្មវិធីបើកដំណើរការសំឡេង"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"អនុញ្ញាតការបើកដំណើរការសំឡេង"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ការបើកដំណើរការសំឡេងបើកកម្មវិធីដែលបានយល់ព្រម ដោយមិនប្រើដៃ ដោយប្រើឃ្លាបញ្ជាដោយសំឡេង។ ការចាប់ដឹងប្រកបដោយភាពបត់បែនដែលភ្ជាប់មកជាមួយស្រាប់ធានាថា ទិន្នន័យស្ថិតនៅជា​លក្ខណៈឯកជន​សម្រាប់តែអ្នកប៉ុណ្ណោះ។\n\n"<a href="">"ព័ត៌មានបន្ថែមអំពីការចាប់ដឹងប្រកបដោយភាពបត់បែនដែលបានការពារ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ការជូនដំណឹងពេញអេក្រង់"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"អនុញ្ញាតឱ្យមានការជូនដំណឹងពេញអេក្រង់ពីកម្មវិធីនេះ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"អនុញ្ញាតឱ្យកម្មវិធីនេះបង្ហាញការជូនដំណឹងពេញអេក្រង់ នៅពេលឧបករណ៍ត្រូវបានចាក់សោ។ កម្មវិធីអាចប្រើការជូនដំណឹងទាំងនេះ ដើម្បីរំលេចម៉ោងរោទ៍ ការហៅចូល ឬការជូនដំណឹងបន្ទាន់ផ្សេងទៀត។"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"ការព្រមាន​ពី​ការប្រើ​ទិន្នន័យ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"កម្រិតកំណត់​​​ទិន្នន័យ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"ការព្រមាន​ពី​ការប្រើទិន្នន័យ <xliff:g id="ID_1">^1</xliff:g>/កម្រិតកំណត់​ទិន្នន័យ <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ការគណនាទិន្នន័យរបស់ក្រុមហ៊ុនសេវាទូរសព្ទអាចនឹងខុសគ្នាពីការគណនារបស់ឧបករណ៍"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"មិនរួមបញ្ចូលទិន្នន័យ​ដែលប្រើដោយបណ្ដាញ​ក្រុមហ៊ុនសេវាទូរសព្ទ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"បានប្រើ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"កំណត់ការព្រមានពីការប្រើទិន្នន័យ"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"បានធ្វើ​បច្ចុប្បន្នភាពកាលពី <xliff:g id="ID_1">^2</xliff:g> មុន"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ទើប​បាន​ធ្វើ​បច្ចុប្បន្នភាព​ដោយ <xliff:g id="ID_1">^1</xliff:g> អម្បាញ់មិញ"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ទើប​បាន​ធ្វើ​បច្ចុប្បន្នភាព​អម្បាញ់មិញ"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"មើល​គម្រោង"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"មើល​ព័ត៌មាន​លម្អិត"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"មុខងារសន្សំសំចៃទិន្នន័យ"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ទិន្នន័យ​ដែល​គ្មាន​ការដាក់​កំហិត"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> បានប្រើថ្មច្រើនជាងធម្មតា ពេលនៅផ្ទៃខាងក្រោយ"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> បានប្រើថ្មកាន់តែច្រើន ពេលនៅផ្ទៃខាងមុខ"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> បានប្រើថ្មច្រើនជាងធម្មតា ពេលនៅផ្ទៃខាងមុខ"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ភាពខុសប្រក្រតីនៃការប្រើប្រាស់ថ្ម"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ការប្រើប្រាស់ថ្មច្រើន"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ការប្រើប្រាស់ថ្មច្រើននៅផ្ទៃខាងក្រោយ"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ការប្រើប្រាស់ថ្មច្រើននៅផ្ទៃខាងមុខ"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ប្រអប់​ការ​កំណត់​រហ័ស​សម្រាប់​អ្នកអភិវឌ្ឍន៍"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"បិទ​ការអស់ម៉ោង​សម្រាប់​ការផ្ដល់សិទ្ធិ adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"បិទ​ការដកសិទ្ធិ adb ដោយស្វ័យប្រវត្តិ​សម្រាប់ប្រព័ន្ធ​ដែលមិនបានភ្ជាប់​ឡើងវិញ​ក្នុងអំឡុង​រយៈពេល​លំនាំដើម (7 ថ្ងៃ) ឬ​រយៈពេល​ដែលបាន​កំណត់​ដោយអ្នក​ប្រើប្រាស់ (តិចបំផុត 1 ថ្ងៃ)។"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"ដាន Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ឧបករណ៍​ចាប់សញ្ញាបានបិទ"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ការកំណត់កម្រងព័ត៌មានការងារ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ស្វែងរក​ទំនាក់ទំនង​ក្នុងបញ្ជីការងារ​នៅក្នុង​កម្មវិធី​ផ្ទាល់ខ្លួន"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ការរុករក​ក្នុងប្រព័ន្ធ ការរុករក​ដោយប្រើ​ប៊ូតុង 2 ការរុករក​ដោយប្រើ​​ប៊ូតុង 3 ការរុករក​ដោយប្រើ​ចលនា អូស"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ជំនួយការ​ឌីជីថល"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"អូសដើម្បី​ប្រើជំនួយការ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"អូសឡើងលើ​ពីជ្រុងខាងក្រោម ដើម្បីចាប់ផ្ដើមកម្មវិធីជំនួយការ​ឌីជីថល។"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"អូសឡើងលើ​ពីជ្រុងខាងក្រោម ដើម្បីចាប់ផ្ដើមកម្មវិធីជំនួយការ​ឌីជីថល"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ចុចប៊ូតុងដើមឱ្យជាប់ដើម្បីបើក Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ចុចប៊ូតុងដើមឱ្យជាប់ ដើម្បីចាប់ផ្ដើមកម្មវិធីជំនួយការឌីជីថល។"</string>
     <string name="low_label" msgid="6525629096999711220">"ទាប"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"សេវាកម្មបំពេញដោយស្វ័យប្រវត្តិ"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"សេវាកម្មបំពេញស្វ័យប្រវត្តិ​លំនាំដើម"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"ពាក្យ​សម្ងាត់"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"ពាក្យ​សម្ងាត់ កូដសម្ងាត់ និងសេវាកម្មទិន្នន័យ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ក្រុមហ៊ុនផ្ដល់សេវាបន្ថែម"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"សេវាកម្មដែលចង់ប្រើ"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"សេវាកម្ម​បន្ថែម"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{ពាក្យសម្ងាត់ #}other{ពាក្យសម្ងាត់ #}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ស្វ័យប្រវត្តិ បំពេញ បំពេញស្វ័យប្រវត្តិ ពាក្យសម្ងាត់"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ទិន្នន័យ, កូដសម្ងាត់, ពាក្យ​សម្ងាត់"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ស្វ័យប្រវត្តិ, បំពេញ, បំពេញស្វ័យប្រវត្តិ, ទិន្នន័យ, កូដសម្ងាត់, ពាក្យ​សម្ងាត់"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ផ្លាស់ប្ដូរ"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"បើក"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"មិនបាន​ជ្រើសរើសទេ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ត្រូវ​ប្រាកដថា​អ្នក​ទុកចិត្ត​កម្មវិធី​នេះ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google បំពេញស្វ័យប្រវត្តិ&gt;%1$s&lt;/xliff:g&gt; ប្រើប្រាស់​អ្វី​ដែល​មាននៅ​លើ​អេក្រង់​របស់អ្នក ដើម្បី​កំណត់​អ្វីដែល​អាចបំពេញ​ដោយ​ស្វ័យប្រវត្តិ។"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;ប្រើ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ប្រើប្រាស់អ្វីដែលមាននៅលើអេក្រង់របស់អ្នក ដើម្បីកំណត់ថាអាចបំពេញអ្វីខ្លះដោយស្វ័យប្រវត្តិ។ កូដសម្ងាត់ ពាក្យសម្ងាត់ថ្មីៗ និងព័ត៌មានផ្សេងទៀតនឹងត្រូវបានរក្សាទុកនៅទីនេះចាប់ពីឥឡូវតទៅ។"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"ពាក្យ​សម្ងាត់ កូដសម្ងាត់ និងសេវាកម្មទិន្នន័យ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;ប្រើ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ឬ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ពាក្យសម្ងាត់ កូដសម្ងាត់ថ្មីៗ និងព័ត៌មានផ្សេងទៀតនឹងត្រូវបានរក្សាទុកនៅទីនេះចាប់ពីពេលនេះតទៅ។ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; អាចនឹងប្រើប្រាស់អ្វីដែលមាននៅលើអេក្រង់របស់អ្នក ដើម្បីកំណត់ថាអាចបំពេញអ្វីខ្លះដោយស្វ័យប្រវត្តិ។"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"សេវាកម្មដែលចង់ប្រើសម្រាប់ពាក្យសម្ងាត់ កូដសម្ងាត់ និងការបំពេញស្វ័យប្រវត្តិ"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"បិទ %1$s ឬ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;បិទសេវាកម្មនេះឬ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ព័ត៌មានដែលបានរក្សាទុកដូចជា ពាក្យសម្ងាត់ កូដសម្ងាត់ វិធីបង់ប្រាក់ និងព័ត៌មានផ្សេងទៀត​នឹងមិនត្រូវបានបំពេញទេ ពេលអ្នកចូលគណនី។ ដើម្បីប្រើព័ត៌មានដែលអ្នកបានរក្សាទុក សូមជ្រើសរើសសេវាកម្មទិន្នន័យ ពាក្យសម្ងាត់ ឬកូដសម្ងាត់។"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"ពាក្យសម្ងាត់ កូដសម្ងាត់ និងការបំពេញស្វ័យប្រវត្តិ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;បិទសេវាកម្មទាំងអស់ឬ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ពាក្យសម្ងាត់ កូដសម្ងាត់ និងព័ត៌មានដែលបានរក្សាទុកផ្សេងទៀតនឹងមិនអាចប្រើប្រាស់សម្រាប់បំពេញស្វ័យប្រវត្តិបានទេ នៅពេលអ្នកចូលគណនី"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;ផ្លាស់ប្ដូរសេវាកម្មជាអាទិភាពរបស់អ្នកទៅ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ពាក្យសម្ងាត់ កូដសម្ងាត់ថ្មីៗ និងព័ត៌មានផ្សេងទៀតនឹងត្រូវបានរក្សាទុកនៅទីនេះចាប់ពីពេលនេះតទៅ។ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; អាចនឹងប្រើប្រាស់អ្វីដែលមាននៅលើអេក្រង់របស់អ្នក ដើម្បីកំណត់ថាអាចបំពេញអ្វីខ្លះដោយស្វ័យប្រវត្តិ"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"ប្រើប្រាស់ %1$s ឬ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"បិទ"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ផ្លាស់ប្ដូរ"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"អ្នកអាចបើកសេវាកម្មតែ 5 ប៉ុណ្ណោះ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"បិទសេវាកម្មយ៉ាងហោចណាស់ 1 ដើម្បីបញ្ចូលសេវាកម្មមួយទៀត"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ប្រើអ្វីដែលមាននៅលើអេក្រង់របស់អ្នក ដើម្បីកំណត់ពីអ្វីដែលអាចបំពេញបានដោយស្វ័យប្រវត្តិ។"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"ដែនកំណត់នៃពាក្យ​សម្ងាត់ កូដសម្ងាត់ និងសេវាកម្មទិន្នន័យ"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"អ្នកអាចបើកដំណើរការពាក្យសម្ងាត់ កូដសម្ងាត់ និងសេវាកម្មទិន្នន័យរហូតដល់ 5 ក្នុងពេលតែមួយ។ សូមបិទសេវាកម្មមួយ ដើម្បីបញ្ចូលបន្ថែមទៀត។"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"ដែនកំណត់នៃពាក្យ​សម្ងាត់ កូដសម្ងាត់ និងសេវាកម្មទិន្នន័យ"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"អ្នកអាចបើកដំណើរការពាក្យសម្ងាត់ កូសម្ងាត់ និងសេវាកម្មទិន្នន័យរហូតដល់ 5 ក្នុងពេលតែមួយ។ សូមបិទសេវាកម្ម ដើម្បីបញ្ចូលបន្ថែមទៀត។"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"បិទ"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"បំពេញ​ដោយស្វ័យប្រវត្តិ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"កម្រិត​កត់ត្រា"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ការផ្លាស់ប្ដូរ​ភាពត្រូវគ្នា​នៃ​កម្មវិធី​អាចត្រូវបាន​កែប្រែសម្រាប់​តែកម្មវិធី​ដែលអាចជួសជុល​បានប៉ុណ្ណោះ។ ដំឡើង​កម្មវិធី​ដែលអាចជួសជុលបាន រួចព្យាយាមម្ដងទៀត។"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ផ្អែក​លើ​ការកំណត់​ផ្សេង​ទៀត"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"គណនី"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"គណនី %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ឈ្មោះ​ឧបករណ៍"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ព័ត៌មាន​មូលដ្ឋាន"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ច្បាប់ និងបទប្បញ្ញត្តិ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"អនុញ្ញាតឱ្យកម្មវិធីនេះ​បើកដំណើរការ នៅពេលស្លាក NFC ត្រូវបានស្កេន។\nប្រសិនបើបើកការអនុញ្ញាតនេះ កម្មវិធីនេះ​នឹងមានជាជម្រើស រាល់ពេលដែលរកឃើញស្លាក។"</string>
     <string name="media_output_title" msgid="8283629315159510680">"ចាក់​មេឌៀនៅលើ"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"ចាក់ <xliff:g id="LABEL">%s</xliff:g> នៅលើ"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"សំឡេងនឹងលេងនៅលើ"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ឧបករណ៍នេះ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"មិនអាច​ប្រើបានទេ​អំឡុងពេល​ហៅទូរសព្ទ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ទទួល​ការហៅ​ទូរសព្ទ"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"បិទសំឡេង"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ដើម្បី​បើក សូមធ្វើការ​ផ្លាស់ប្ដូរ \"ចុចប៊ូតុង​ថាមពល​ឱ្យជាប់\" ចំពោះ​ម៉ឺនុយថាមពល​ជាមុនសិន។"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ព័ត៌មាន​បណ្ដាញ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ឈ្មោះ​ឧបករណ៍​របស់អ្នក​អាច​ឱ្យ​កម្មវិធី​នៅលើ​ទូរសព្ទ​របស់អ្នក​មើលឃើញ។ វាក៏​អាចឱ្យ​អ្នកដទៃ​មើលឃើញ​ផងដែរ នៅពេលអ្នក​ភ្ជាប់​ជាមួយឧបករណ៍​ប៊្លូធូស, ភ្ជាប់បណ្ដាញ Wi-Fi ឬរៀបចំ​ហតស្ប៉ត Wi-Fi។"</string>
     <string name="devices_title" msgid="649715719278562515">"ឧបករណ៍"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ជ្រើសរើសបណ្តាញ"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"បាន​ផ្ដាច់"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ឈ្មោះ"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ពណ៌ (ប្រើដោយ​កម្មវិធីដែល​ត្រូវគ្នា)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"រក្សាទុក"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ប្រើ​ស៊ីម"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ប្រើស៊ីមនេះ"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"បិទ"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"សូមដកស៊ីមកាត​ចេញ ដើម្បីបិទស៊ីមនេះ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"ចុច​ដើម្បីបើកដំណើរការ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"លុបស៊ីម"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ដើម្បីបិទស៊ីមនេះ សូមដកស៊ីមកាតនេះចេញ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"ចុចដើម្បីបើកដំណើរការស៊ីម <xliff:g id="CARRIER">%1$s</xliff:g> របស់អ្នក"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"លុប eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ប្រភេទ​បណ្ដាញ​​ដែលប្រើជាអាទិភាព​"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ប្ដូរ​មុខងារ​​​ប្រតិបត្តិការ​បណ្ដាញ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ប្រភេទ​បណ្ដាញ​​ដែលប្រើជាអាទិភាព​"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ពិនិត្យមើល​តម្លៃ​ជាមួយ​ក្រុមហ៊ុន​ផ្ដល់​សេវា​​បណ្ដាញ​​របស់​អ្នក។"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ការប្រើទិន្នន័យកម្មវិធី"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"មុខងារបណ្ដាញ​មិនត្រឹមត្រូវ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>។ សូមកុំអើពើ។"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"ការ​ផ្ញើ​សារតាមផ្កាយរណប"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ផ្ញើ និងទទួលសារជាអក្សរតាមផ្កាយរណប។ រួមបញ្ចូលជាមួយគណនីរបស់អ្នក។"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ផ្ញើ និងទទួលសារជាអក្សរតាមផ្កាយរណប។ មិនរួមបញ្ចូលជាមួយគណនីរបស់អ្នកទេ។"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"ការ​ផ្ញើ​សារតាមផ្កាយរណប"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"អំពីការ​ផ្ញើ​សារតាមផ្កាយរណប"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"អ្នកអាចផ្ញើ និងទទួលសារជាអក្សរតាមផ្កាយរណបជាផ្នែកនៃគណនី <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ដែលមានសិទ្ធិ"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"គម្រោង <xliff:g id="CARRIER_NAME">%1$s</xliff:g> របស់អ្នក"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ការ​ផ្ញើ​សារតាមផ្កាយរណបត្រូវបានរួមបញ្ចូលជាមួយគណនីរបស់អ្នក"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ការ​ផ្ញើ​សារតាមផ្កាយរណបមិនត្រូវបានរួមបញ្ចូលជាមួយគណនីរបស់អ្នកទេ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"បញ្ចូលការ​ផ្ញើ​សារតាមផ្កាយរណប"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"របៀបដែលវាដំណើរការ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"នៅពេលអ្នកមិនមានបណ្ដាញ​ទូរសព្ទ​ចល័ត"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ទូរសព្ទរបស់អ្នកនឹងភ្ជាប់ទៅផ្កាយរណបដោយស្វ័យប្រវត្តិ។ ដើម្បីទទួលបានការតភ្ជាប់ល្អបំផុត សូមស្ថិតនៅក្រោមផ្ទៃមេឃស្រឡះ។"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"បន្ទាប់ពីទូរសព្ទរបស់អ្នកភ្ជាប់ទៅផ្កាយរណប"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"អ្នកអាចផ្ញើសារជាអក្សរទៅអ្នកណាក៏បាន រួមទាំងសេវាសង្គ្រោះបន្ទាន់។ ទូរសព្ទរបស់អ្នកនឹងភ្ជាប់ឡើងវិញ នៅពេលមានបណ្ដាញ​ទូរសព្ទ​ចល័ត។"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"ការ​ផ្ញើ​សារតាមផ្កាយរណបអាចចំណាយពេលកាន់តែយូរ និងអាចប្រើបាននៅក្នុងតំបន់មួយចំនួនតែប៉ុណ្ណោះ។ អាកាសធាតុ និងរចនាសម្ព័ន្ធមួយចំនួនអាចប៉ះពាល់ដល់ការតភ្ជាប់ផ្កាយរណបរបស់អ្នក។ មិនអាចធ្វើការហៅទូរសព្ទតាមផ្កាយរណបបានទេ។\n\nការផ្លាស់ប្ដូរចំពោះគណនីរបស់អ្នកអាចចំណាយពេលបន្តិច ដើម្បីបង្ហាញនៅក្នុងការកំណត់។ សូម​ទាក់ទង <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ដើម្បី​ទទួលបានព័ត៌មានលម្អិត។"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ព័ត៌មានបន្ថែមអំពីការ​ផ្ញើ​សារតាមផ្កាយរណប"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ឈ្មោះ​ចំណុច​ចូល​ប្រើប្រាស់"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"មិន​អាច​ប្រើបាន​ទេ នៅពេលភ្ជាប់ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"ប្ដូរទៅ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ឬ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ប្ដូរ​ទៅប្រើ​ស៊ីមកាតឬ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"ប្រើ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ឬ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"អាចបើកដំណើរការ​ស៊ីម​ម្តងមួយតែប៉ុណ្ណោះ។\n\nការប្ដូរទៅ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> នឹងមិនបោះបង់​សេវាកម្ម <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> របស់អ្នកទេ។"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"អាចដំណើរការ eSIM បានតែ 1 ប៉ុណ្ណោះក្នុងមួយលើក។\n\nការប្ដូរទៅ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> នឹងមិនលុបចោលសេវាកម្ម <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> របស់អ្នកទេ។"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"អាចបើក​ដំណើរការ​ស៊ីម​ម្តងមួយតែប៉ុណ្ណោះ។\n\nការប្ដូរ​នឹងមិន​បោះបង់​សេវាកម្ម <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> របស់អ្នក​ទេ។"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"អាចដំណើរការស៊ីមបានតែ 1 ប៉ុណ្ណោះក្នុងមួយលើក។\n\nការប្ដូរទៅ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> នឹងមិនលុបចោលសេវាកម្ម <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> របស់អ្នកទេ។"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"អាចដំណើរការ eSIM បានតែ 1 ប៉ុណ្ណោះក្នុងមួយលើក។\n\nការប្ដូរទៅ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> នឹងមិនលុបចោលសេវាកម្ម <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> របស់អ្នកទេ។"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"អាចដំណើរការស៊ីមបានតែ 1 ប៉ុណ្ណោះក្នុងមួយលើក។\n\nការប្ដូរនឹងមិនលុបចោលសេវាកម្ម <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> របស់អ្នកទេ។"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"អ្នកអាចប្រើ​ស៊ីមបាន 2 ក្នុងពេលតែមួយ។ ដើម្បីប្រើ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> សូមបិទស៊ីម​ផ្សេងទៀត។"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"ប្ដូរទៅ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"បិទ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"ការបិទស៊ីម​នឹងមិនបោះបង់​សេវាកម្មរបស់អ្នកទេ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"កំពុងភ្ជាប់​បណ្ដាញ…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"កំពុង​ប្ដូរទៅ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> សម្រាប់​ការហៅទូរសព្ទ និងសារ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"មិនអាច​ប្ដូរក្រុមហ៊ុនសេវា​ទូរសព្ទ​បានទេ"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"មិនអាច​ប្ដូរក្រុមហ៊ុនសេវា​ទូរសព្ទ​បានទេ ដោយសារ​មានបញ្ហា។"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"កំពុងបើកដំណើរការស៊ីមរបស់អ្នក…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"កំពុងប្ដូរ​ទៅ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"មិនអាចប្ដូរស៊ីមបានទេ"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"មានអ្វីមួយខុសប្រក្រតី។ មិនអាចប្ដូរស៊ីមបានទេ។"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"បិទ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ឬ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"បិទ​ស៊ីម​ឬ​?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"កំពុង​បិទស៊ីម<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"មិនអាច​បិទក្រុមហ៊ុន​សេវាទូរសព្ទ​បានទេ"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"មានអ្វីមួយ​ខុស​ប្រក្រតី ទើបមិនអាចបិទ​ក្រុមហ៊ុន​សេវាទូរសព្ទ​របស់អ្នកបាន។"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"មិនអាចបិទស៊ីមបានទេ"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"មានអ្វីមួយ​ខុសប្រក្រតី ហើយមិនអាចបិទស៊ីមរបស់អ្នកបានទេ។"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"ប្រើស៊ីម 2 ឬ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ឧបករណ៍នេះ​អាច​ដំណើរការ​ស៊ីម 2 ក្នុងពេល​តែមួយបាន។ ដើម្បី​បន្តប្រើ​ស៊ីម 1 ក្នុងមួយលើក សូមចុច​ពាក្យ \"ទេ អរគុណ\"។"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ចាប់ផ្ដើម​ឧបករណ៍​ឡើងវិញឬ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ទេ អរគុណ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"បោះបង់"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ប្តូរ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"បិទ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"មិនអាច​បើកដំណើរការ​ស៊ីមបានទេ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"សូម​សាកល្បង​បើកស៊ីមម្ដងទៀត។ ប្រសិនបើនៅតែមានបញ្ហា សូម​ចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នកឡើងវិញ។"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"រៀបចំស៊ីមរបស់អ្នក"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"កំណត់ចំណូលចិត្តបណ្ដាញ​ទូរសព្ទ​ចល័តរបស់អ្នក ដើម្បីប្រើស៊ីមច្រើននៅលើឧបករណ៍នេះ"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ដាក់ស្លាកស៊ីមរបស់អ្នក"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"អ្នកនឹងមើលឃើញស្លាកទាំងនេះ នៅពេលធ្វើការហៅទូរសព្ទ ផ្ញើសារជាអក្សរ និងប្រើទិន្នន័យ និងនៅក្នុងការកំណត់"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"ស្លាកស៊ីម"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ស្លាក"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"ជ្រើសរើសស៊ីមដែលត្រូវប្រើ"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"អ្នកអាចប្រើ​ស៊ីមបាន 2 ក្នុងពេលតែមួយ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"កំណត់ស៊ីមចម្បងរបស់អ្នក"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ជ្រើសរើសស៊ីមដែលត្រូវប្រើតាមលំនាំដើមសម្រាប់ការហៅទូរសព្ទ សារជាអក្សរ និងទិន្នន័យ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ស៊ីមចម្បងរបស់អ្នក"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ការហៅទូរសព្ទ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"សារ​ជាអក្សរ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ការប្ដូរទិន្នន័យស្វ័យប្រវត្តិ"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ប្រើទិន្នន័យពីស៊ីមណាមួយដោយផ្អែកលើដែនសេវា និងភាពអាចប្រើប្រាស់បាន"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ទិន្នន័យតែប៉ុណ្ណោះ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"រៀបចំ"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"បន្ទាប់"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"កំពុងបើក <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"បណ្ដាញទូរសព្ទចល័ត"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"លេខទូរសព្ទ"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"ពណ៌ និងស្លាកស៊ីម"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ការបើកដំណើរការ​បណ្ដាញ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"ការប្ដូរក្រុមហ៊ុន​សេវា​ទូរសព្ទ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> កំពុង​ដំណើរការ"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ស៊ីម <xliff:g id="CARRIER_NAME">%1$s</xliff:g> របស់អ្នកគឺសកម្ម"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"ចុច​ដើម្បី​ធ្វើបច្ចុប្បន្នភាព​ការកំណត់​ស៊ីម"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"បាន​ប្ដូរទៅ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"បាន​ប្ដូរទៅក្រុមហ៊ុនសេវាទូរសព្ទផ្សេងទៀត"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"បណ្ដាញ​ទូរសព្ទ​ចល័ត​របស់អ្នក​បាន​ផ្លាស់ប្ដូរ"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"រៀបចំ​ស៊ីម​ផ្សេងទៀតរបស់អ្នក"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"ជ្រើសរើស​ស៊ីមសកម្ម​របស់អ្នក ឬប្រើស៊ីម 2 ក្នុងពេល​តែមួយ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ជ្រើសរើស​លេខ​ណាមួយ​សម្រាប់​ប្រើ"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{មាន​លេខចំនួន 1 នៅលើ​ឧបករណ៍​នេះ ប៉ុន្តែ​អាចប្រើ​បានតែ​មួយលេខ​ប៉ុណ្ណោះ​ក្នុងមួយ​លើក}=2{មាន​លេខចំនួន 2 នៅលើ​ឧបករណ៍​នេះ ប៉ុន្តែ​អាចប្រើ​បានតែ​មួយលេខ​ប៉ុណ្ណោះ​ក្នុងមួយ​លើក}other{មាន​លេខចំនួន # នៅលើ​ឧបករណ៍​នេះ ប៉ុន្តែ​អាចប្រើ​បានតែ​មួយលេខ​ប៉ុណ្ណោះ​ក្នុងមួយ​លើក}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"​កំពុងបើកដំណើរការ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"មិនអាចបើកដំណើរការក្នុងពេលនេះបានទេ"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ជ្រើសរើសស៊ីមសម្រាប់ប្រើ"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{មាន​ស៊ីម 1 នៅលើ​ឧបករណ៍​នេះ ប៉ុន្តែ​អាចប្រើ​បានតែស៊ីមមួយ​ប៉ុណ្ណោះ​ក្នុងមួយ​លើក}=2{មាន​ស៊ីម 2 នៅលើ​ឧបករណ៍​នេះ ប៉ុន្តែ​អាចប្រើ​បានតែ​ស៊ីមមួយប៉ុណ្ណោះ​ក្នុងមួយ​លើក}other{មាន​ស៊ីម # នៅលើ​ឧបករណ៍​នេះ ប៉ុន្តែ​អាចប្រើ​បានតែ​ស៊ីមមួយប៉ុណ្ណោះ​ក្នុងមួយ​លើក}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"កំពុងបើក<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"មិនអាចបើកស៊ីមនេះនៅពេលនេះបានទេ"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"ប្រើ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ឬ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> នឹង​ត្រូវបានប្រើ​សម្រាប់​ទិន្នន័យ​ទូរសព្ទចល័ត ការហៅទូរសព្ទ និង​សារ SMS។"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"មិនមាន​ស៊ីមសកម្ម​ទេ"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"ដើម្បី​ប្រើ​ទិន្នន័យ​ទូរសព្ទចល័ត មុខងារ​ហៅទូរសព្ទ និង​សារ SMS នៅពេលក្រោយ សូមចូលទៅកាន់​ការកំណត់​បណ្ដាញ​របស់អ្នក"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ស៊ីម"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"លុប eSIM នេះឬ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ការលុប​ស៊ីមនេះ​នឹងលុប​សេវាកម្ម <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ពីឧបករណ៍​នេះ។\n\nសេវាកម្ម​សម្រាប់ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> នឹង​មិនត្រូវបាន​បោះបង់ទេ។"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ការធ្វើបែបនេះដកសេវាកម្ម <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ចេញពីឧបករណ៍នេះ ប៉ុន្តែគម្រោង <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> របស់អ្នកនឹងមិនត្រូវបានលុបចោលទេ។"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"លុប"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"កំពុង​លុបស៊ីម…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"មិនអាច​លុប​ស៊ីម​បានទេ"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"មិនអាចលុប​ស៊ីមនេះ​បានទេ​ ដោយសារមាន​បញ្ហា។\n\nសូមចាប់ផ្ដើម​ឧបករណ៍​របស់អ្នក​ឡើងវិញ​ រួច​ព្យាយាម​ម្ដងទៀត។"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"កំពុងលុប eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"មិនអាចលុប eSIM បានទេ"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"មានអ្វីមួយ​ខុសប្រក្រតី ហើយ eSIM នេះមិនត្រូវបានលុបទេ។\n\nសូមចាប់ផ្ដើមឧបករណ៍របស់អ្នកឡើងវិញ រួចព្យាយាមម្ដងទៀត។"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ភ្ជាប់​ឧបករណ៍"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"កម្មវិធី <xliff:g id="APPNAME">%1$s</xliff:g> ចង់ប្រើ​បណ្ដាញ Wi‑Fi បណ្ដោះអាសន្ន ដើម្បីភ្ជាប់ជាមួយ​ឧបករណ៍​របស់អ្នក"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"រកមិន​ឃើញ​ឧបករណ៍ទេ។ សូម​ប្រាកដថា​ឧបករណ៍​បានបើក និងអាច​ភ្ជាប់បាន។"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"ការហៅ​ទៅលេខ​សង្គ្រោះបន្ទាន់"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"ក្រុមហ៊ុន​សេវាទូរសព្ទ​របស់អ្នក​​មិនផ្ដល់សេវាហៅ​ទៅលេខ​សង្គ្រោះបន្ទាន់​តាមរយៈការហៅតាម Wi‑Fi ទេ។\nឧបករណ៍​ប្ដូរទៅប្រើ​បណ្តាញចល័ត​ដោយស្វ័យប្រវត្តិ​ ដើម្បី​ហៅ​ទៅលេខ​សង្គ្រោះបន្ទាន់។\nការហៅ​ទៅលេខ​សង្គ្រោះបន្ទាន់​អាច​ធ្វើ​បាននៅក្នុង​តំបន់​ដែលមាន​សេវាគ្របដណ្តប់​បណ្តាញ​ចល័ត​តែប៉ុណ្ណោះ។"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ប្រើ Wi‑Fi សម្រាប់​ការហៅទូរសព្ទ ដើម្បី​កែលម្អ​គុណភាព"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ការហៅទូរសព្ទ​បម្រុង"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"ប្រសិនបើមិនអាចប្រើ <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ឬរ៉ូ​មីង​បានទេ សូមប្រើស៊ីមដែលប្រើទិន្នន័យទូរសព្ទចល័តសម្រាប់ការហៅទូរសព្ទតាម <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>។"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ការហៅទូរសព្ទ​បម្រុង"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"សារ MMS ចូល"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"មិនអាច​ផ្ញើសារ MMS បានទេ"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ចុចដើម្បីអនុញ្ញាត​ឱ្យមានការផ្ញើសារ MMS នៅលើ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> នៅពេល​បិទទិន្នន័យទូរសព្ទចល័ត"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ព័ត៌មាន​អំពីគោលការណ៍ការងារ​របស់អ្នក"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ការកំណត់​​ដែល​ស្ថិត​ក្រោម​ការ​គ្រប់គ្រង​អ្នកគ្រប់គ្រង​ផ្នែកព័ត៌មានវិទ្យា​របស់អ្នក"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"ចាប់ផ្ដើមដោយប្រើទំហំទំព័រ 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"ចាប់ផ្ដើមឧបករណ៍ដោយប្រើខឺណែលដែលស្គាល់ទំហំទំព័រ 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"ចាប់ផ្ដើមឡើងវិញដោយប្រើខឺណែលដែលត្រូវគ្នានឹងទំព័រ 16KB ឬ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"សូមប្រុងប្រយ័ត្ន៖ កម្មវិធីមួយចំនួនប្រហែលមិនត្រូវគ្នានឹងមុខងារនេះទេ។ ឧបករណ៍នឹងចាប់​ផ្ដើម​ឡើង​វិញ ក្រោយពេលបញ្ជាក់។"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"ចាប់ផ្ដើមឡើងវិញដោយប្រើខឺណែលដែលត្រូវគ្នានឹងទំព័រ 4KB ឬ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"ឧបករណ៍នឹងចាប់​ផ្ដើម​ឡើង​វិញ ក្រោយពេលបញ្ជាក់។"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"មិនអាចធ្វើបច្ចុប្បន្នភាពខឺណែលទៅជាខឺណែលដែលត្រូវគ្នានឹងទំព័រ 16KB បានទេ។"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"កំពុងអនុវត្តការផ្លាស់ប្ដូរ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ឧបករណ៍​ដោះស្រាយ​របាយការណ៍​អំពី​បញ្ហា"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"កំណត់​ថាតើ​កម្មវិធី​មួយណា​ដែលត្រូវ​ចាត់ចែង​ផ្លូវកាត់​សម្រាប់​របាយការណ៍​អំពី​បញ្ហា​នៅលើ​ឧបករណ៍​របស់អ្នក​។"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ផ្ទាល់ខ្លួន"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"អនុញ្ញាតឱ្យ​កម្មវិធីដែលអាច​បង្ហាញនៅលើកម្មវិធី​ផ្សេងទៀត​ដាក់អេក្រង់ការកំណត់​ត្រួតគ្នា"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"អនុញ្ញាតម៉ូដឹមសាកល្បង"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"អនុញ្ញាតឱ្យឧបករណ៍នេះដំណើរការសេវាកម្មម៉ូដឹមសាកល្បង សម្រាប់ការធ្វើតេស្តឧបករណ៍។ កុំបើកវាក្នុងអំឡុងពេលប្រើប្រាស់ទូរសព្ទជាធម្មតា"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"បិទការការពារការបង្ហាញ​អេក្រង់"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"បិទការការពារការជូនដំណឹង និងកម្មវិធីដែលប្រព័ន្ធដាក់ប្រើក្នុងអំឡុងពេលបង្ហាញអេក្រង់"</string>
     <string name="media_controls_title" msgid="403271085636252597">"មេឌៀ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"ខ្ទាស់​កម្មវិធីចាក់មេឌៀ"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"ដើម្បីបន្ត​ការចាក់​បានរហ័ស កម្មវិធី​ចាក់មេឌៀ​បន្តបើក​នៅក្នុង​ការកំណត់រហ័ស"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"បង្ហាញមេឌៀនៅលើអេក្រង់ចាក់សោ"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"ដើម្បីបន្ត​ការចាក់​បានរហ័ស កម្មវិធី​ចាក់មេឌៀ​បន្តបើក​នៅលើអេក្រង់ចាក់សោ"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"បង្ហាញ​ការណែនាំ​អំពីមេឌៀ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"បង្ហាញការណែនាំមេឌៀដោយ Google Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"ផ្អែកលើ​សកម្មភាព​របស់អ្នក"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"លាក់​កម្មវិធីចាក់"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"បង្ហាញ​កម្មវិធីចាក់"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"មេឌៀ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"អនុញ្ញាតកម្មវិធីបន្ថែមនៃកម្មវិធីកាមេរ៉ា"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"បើកកម្មវិធីលំនាំដើមនៃមុខងារកាមេរ៉ាកម្រិតខ្ពស់ ដូចជា ការថតវីដេអូ Eyes Free ជាដើម។"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ប៊្លូធូសនឹងបើក"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"អ៊ីនធឺណិត"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"ស៊ី​ម"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ស៊ីម"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"សកម្ម"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"អសកម្ម​"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"បើក"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"បិទ"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / លំនាំដើម​សម្រាប់ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ការហៅទូរសព្ទ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"សំឡេងពីមេឌៀដែលត្រូវគ្នាកាន់តែធ្វើឱ្យជក់អារម្មណ៍"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ការតាមដានក្បាល"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"សំឡេងប្រែប្រួល នៅពេលអ្នកធ្វើចលនាក្បាលរបស់អ្នក ដើម្បីធ្វើឱ្យសំឡេងកាន់តែដូចធម្មជាតិ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ការអនុញ្ញាតឱ្យធ្វើសមកាលកម្ម"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"ផ្ដល់ឱ្យ <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> នូវការអនុញ្ញាតកម្មវិធីដូចគ្នានឹងការអនុញ្ញាតដែលអ្នកបានផ្ដល់នៅលើ <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ធ្វើសមកាលកម្មការអនុញ្ញាតពីទូរសព្ទ"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ផ្ដល់ឱ្យនាឡិការបស់អ្នកនូវការអនុញ្ញាតកម្មវិធីដូចគ្នានឹងការអនុញ្ញាតដែលអ្នកបានអនុញ្ញាតនៅលើទូរសព្ទនេះ"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ប្រភេទឧបករណ៍សំឡេង"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"មិន​ស្គាល់"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ឧបករណ៍​បំពង​សំឡេង"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"មធ្យម"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ខ្ពស់"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"អាចបើកកម្មវិធីនេះបានតែក្នុងវិនដូ 1 ប៉ុណ្ណោះ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"បើក"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"បិទ"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"បិទ"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"បិទ"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"បើក"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"បិទ"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"បើក"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"បិទ"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ធ្វើឱ្យអេក្រង់ភ្លឺទៅជាងងឹត និងអេក្រង់ងងឹតទៅជាភ្លឺ"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ពង្រីកនៅលើអេក្រង់"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"បិទ"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"បិទ"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ការស្កេនរកកម្មវិធីបោកប្រាស់"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ពិនិត្យសកម្មភាព​កម្មវិធីរកមើលការ​ដាក់នុយ"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ប្រើមុខងារស្កេន ដើម្បីរកកម្មវិធីដែលមានលក្ខណៈបោកប្រាស់"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ប្រើមុខងារស្កេន ដើម្បីរកកម្មវិធីការងារដែលមានលក្ខណៈបោកប្រាស់"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"ឥឡូវនេះ ពាក្យ​សម្ងាត់ត្រូវបានរៀបចំហើយ"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"បង្ហាញទស្សន៍ទ្រនិច ពេលដាក់ព្រួញ"</string>
 </resources>
diff --git a/res/values-kn/arrays.xml b/res/values-kn/arrays.xml
index 11e4cea..8991e0f 100644
--- a/res/values-kn/arrays.xml
+++ b/res/values-kn/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ಲಭ್ಯವಿದೆ"</item>
     <item msgid="6096962300722555553">"ವ್ಯಾಪ್ತಿಯ ಹೊರಗಿದೆ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ಸಿಸ್ಟಂ ಡೀಫಾಲ್ಟ್ ಬಳಸಿ: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 ನಿಮಿಷದ ನಂತರ"</item>
     <item msgid="1574040255478150028">"5 ನಿಮಿಷಗಳ ನಂತರ"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-kn/strings.xml b/res/values-kn/strings.xml
index 922134f..0c7c579 100644
--- a/res/values-kn/strings.xml
+++ b/res/values-kn/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ಇದೀಗ ನೀವು ಡೆವಲಪರ್‌!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"ಅಗತ್ಯವಿಲ್ಲ, ನೀವು ಈಗಾಗಲೇ ಡೆವಲಪರ್‌ ಆಗಿರುವಿರಿ."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ಮೊದಲು ಡೆವಲಪರ್ ಆಯ್ಕೆಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"ನಿರ್ವಾಹಕ ಬಳಕೆದಾರರು ಮಾತ್ರ ಡೆವಲಪರ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು."</string>
     <string name="header_category_system" msgid="1665516346845259058">"ಸಿಸ್ಟಂ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ಸೇವೆಯಲ್ಲಿದೆ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ಸೇವೆಯಲ್ಲಿಲ್ಲ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಫೋಲ್ಡ್ ಮಾಡಿದಾಗ ಫ್ರಂಟ್ ಡಿಸ್‌ಪ್ಲೇ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ಕೇವಲ ಗೇಮ್‌ಗಳು, ವೀಡಿಯೊಗಳು ಮತ್ತು ಇನ್ನಷ್ಟು"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ನಿಷ್ಕ್ರಿಯವಾಗುವುದನ್ನು ತಡೆಯುವ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಫ್ರಂಟ್ ಡಿಸ್‌ಪ್ಲೇ ಆನ್ ಆಗುತ್ತದೆ"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ಮುಂದುವರಿಯಲು ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ಆ್ಯಪ್ ಬಳಸುವುದನ್ನು ಮುಂದುವರಿಸಲು ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಫೋಲ್ಡ್ ಮಾಡಿ ಮತ್ತು ಫ್ರಂಟ್ ಡಿಸ್‌ಪ್ಲೇಯಲ್ಲಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಅಥವಾ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಆಗಲು ಕೆಲವು ಸೆಕಂಡ್‌ಗಳ ಕಾಲ ನಿರೀಕ್ಷಿಸಿ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ಎಂದಿಗೂ ಬೇಡ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ನೀವು ಫೋಲ್ಡ್ ಮಾಡಿದಾಗ ಫ್ರಂಟ್ ಡಿಸ್‌ಪ್ಲೇ ಲಾಕ್ ಆಗುತ್ತದೆ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ಸ್ವಯಂ-ತಿರುಗುವಿಕೆ ಫೀಚರ್ ಅನ್ನು ಬಳಸಿ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ಸಂಬಂಧಿತ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ರಿಂಗ್‌ಟೋನ್ ಮತ್ತು ಅಲಾರಾಂಗಳು"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ಕರೆಗಳ ಸಮಯದಲ್ಲಿ ಆಡಿಯೋ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"ಮಾಧ್ಯಮ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"ಅಧಿಸೂಚನೆಗಳು, ಇತರೆ ಸಿಸ್ಟಂ ಧ್ವನಿ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"ಮಾಧ್ಯಮ ಮತ್ತು ಸಿಸ್ಟಮ್ ಶಬ್ದಗಳು"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"ನೋಟಿಫಿಕೇಶನ್‌ಗಳು"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ಡೀಫಾಲ್ಟ್ ಆಗಿ, ಆಡಿಯೊ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಪ್ರತ್ಯೇಕ ಆ್ಯಪ್‌ಗಳಿಂದ ನಿರ್ಧರಿಸಲಾಗುತ್ತದೆ"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"ಹೆಸರಿಲ್ಲದ ಬ್ಲೂಟೂತ್‌‌ ಸಾಧನ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"ಹುಡುಕಲಾಗುತ್ತಿದೆ"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ರದ್ದುಮಾಡಿ"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೋವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ಸಾಧನವು LE ಆಡಿಯೋ ಹಾರ್ಡ್‌ವೇರ್ ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಬೆಂಬಲಿಸಿದರೆ ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೋ ಫೀಚರ್ ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೋ ಮೋಡ್"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ಸಾಧನ ವಿವರಗಳಲ್ಲಿ LE ಆಡಿಯೋ ಟಾಗಲ್ ತೋರಿಸಿ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೋ ಅನುಮತಿ ಪಟ್ಟಿಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೋ ಅನುಮತಿ ಪಟ್ಟಿ ಫೀಚರ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ಬೈಪಾಸ್ ಬ್ಲೂಟೂತ್ LE ಆಡಿಯೊ ಅನುಮತಿ ಪಟ್ಟಿ"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ಅನುಮತಿ ಪಟ್ಟಿ ಮಾನದಂಡಗಳನ್ನು ಪೂರೈಸಲು, LE ಆಡಿಯೊ ಪೆರಿಫೆರಲ್ ಅನ್ನು ದೃಢೀಕರಿಸಿರದಿದ್ದರೂ ಸಹ ಡೀಫಾಲ್ಟ್ ಆಗಿ LE ಆಡಿಯೊ ಬಳಸಿ."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"ಮೀಡಿಯಾ ಸಾಧನಗಳು"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ಸಾಧನಗಳಿಗೆ ಕರೆಮಾಡಿ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ಇತರ ಸಾಧನಗಳು"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ಉಳಿಸಿರುವ ಸಾಧನಗಳು"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ಖಾತೆಗೆ ಸಂಬಂಧಿಸಿದೆ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ಈ ಹಿಂದೆ ಖಾತೆಯ ಜೊತೆಗೆ ಬಳಸಲಾಗಿದೆ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ಜೋಡಿಸಲು ಬ್ಲೂಟೂತ್ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ಕನೆಕ್ಷನ್ ಆದ್ಯತೆಗಳು"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ಹಿಂದೆ ಸಂಪರ್ಕಗೊಂಡಿರುವುದು"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ಬ್ಲೂಟೂತ್ ಆನ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ಎಲ್ಲವನ್ನೂ ನೋಡಿ"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ಎಲ್ಲವನ್ನೂ ನೋಡಿ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ಸ್ಟೈಲಸ್"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ಟೈಲ್ ಬಟನ್ ಒತ್ತಿರಿ"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್‌)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ಪಠ್ಯ ಫೀಲ್ಡ್‌ಗಳಲ್ಲಿ ಬರೆಯಿರಿ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ಎಲ್ಲಾ ಸ್ಟೈಲಸ್ ಬಟನ್ ಒತ್ತುವಿಕೆಯನ್ನು ನಿರ್ಲಕ್ಷಿಸಿ"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ಸ್ಟೈಲಸ್"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳುವಿಕೆ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ಆಡಿಯೋ ಹಂಚಿಕೊಳ್ಳಿ"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ಕರೆಗಳು ಮತ್ತು ಅಲಾರಾಂಗಳು"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ಕೋಡ್ ಅನ್ನು ಬಳಸಿಕೊಂಡು ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"ಸಮೀಪದ ಆಡಿಯೋ ಸ್ಟ್ರೀಮ್‌ಗಳು ಕಂಡುಬಂದಿಲ್ಲ."</string>
     <string name="date_and_time" msgid="1788358029823431692">"ದಿನಾಂಕ ಮತ್ತು ಸಮಯ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ಪ್ರಾಕ್ಸಿ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ತೆರವುಗೊಳಿಸಿ"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"ಆದ್ಯತೆಯ ಭಾಷೆಗಳಿಗೆ %s ಅನ್ನು ಸೇರಿಸಬೇಕೆ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ನೀವು ಈ ಭಾಷೆಗೆ ಆದ್ಯತೆ ನೀಡುತ್ತೀರಿ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಇದು ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ವೆಬ್‌ಸೈಟ್‌ಗಳಿಗೆ ಅನುಮತಿಸುತ್ತದೆ."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"ನಿಮ್ಮ ಸಾಧನದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು ಮತ್ತು ಪ್ರಾದೇಶಿಕ ಆದ್ಯತೆಗಳು ಬದಲಾಗುತ್ತವೆ."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ಬದಲಾಯಿಸಿ"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ಲಭ್ಯವಿಲ್ಲ"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ಶನಿವಾರ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ಒಂದು ಆ್ಯಪ್ ಪ್ರಾದೇಶಿಕ ಆದ್ಯತೆಗಳನ್ನು ಬೆಂಬಲಿಸದಿದ್ದರೆ, ಅದು ತನ್ನ ಡೀಫಾಲ್ಟ್ ಭಾಷೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬಳಸುತ್ತದೆ."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ಭಾಷೆಯ ಆದ್ಯತೆಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ಹೆಚ್ಚುವರಿ ಪ್ರಾಶಸ್ತ್ಯಗಳು"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ಸೇವಾ ನಿಯಮಗಳು"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"ನಿಮ್ಮನ್ನು ಹೇಗೆ ಸಂಬೋಧಿಸಬೇಕೆಂದು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"ಇತರರು ನಿಮ್ಮನ್ನು ಹೇಗೆ ಸಂಬೋಧಿಸಬೇಕು ಎಂಬುದನ್ನು ವೈಯಕ್ತೀಕರಿಸಲು, ಆ್ಯಪ್‌ಗಳು ಸಂಬೋಧಿಸುವುದಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ನಿಯಮಗಳನ್ನು ಬಳಸಬಹುದು."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ಮಹಿಳೆಯರಿಗಾಗಿ"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ಪುರುಷರಿಗಾಗಿ"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ನ್ಯೂಟ್ರಲ್‌‌"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ಆಯ್ಕೆಮಾಡಿದ ಭಾಷೆಯನ್ನು ತೆಗೆದುಹಾಕಬೇಕೆ?}one{ಆಯ್ಕೆಮಾಡಿದ ಭಾಷೆಗಳನ್ನು ತೆಗೆದುಹಾಕಬೇಕೆ?}other{ಆಯ್ಕೆಮಾಡಿದ ಭಾಷೆಗಳನ್ನು ತೆಗೆದುಹಾಕಬೇಕೆ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ಪಠ್ಯವನ್ನು ಮತ್ತೊಂದು ಭಾಷೆಯಲ್ಲಿ ತೋರಿಸಲಾಗುತ್ತದೆ."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ಎಲ್ಲಾ ಭಾಷೆಗಳನ್ನು ತೆಗೆದುಹಾಕಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ಸ್ಥಳ"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ಸ್ಥಳ ಬಳಸಿ"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ಆಫ್"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ಆನ್ ಆಗಿದೆ - # ಆ್ಯಪ್ ಸ್ಥಳಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿದೆ}one{ಆನ್ ಆಗಿದೆ - # ಆ್ಯಪ್‌ಗಳು ಸ್ಥಳಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿವೆ}other{ಆನ್ ಆಗಿದೆ - # ಆ್ಯಪ್‌ಗಳು ಸ್ಥಳಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಹೊಂದಿವೆ}}"</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_location_off" msgid="8568995909147566720">"ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗೆ ಸ್ಥಳ ಪ್ರವೇಶಪಡೆಯುವಿಕೆ ಆಫ್ ಆಗಿದೆ. ನೀವು ತುರ್ತು ಸಂಖ್ಯೆಗೆ ಕರೆ ಮಾಡಿದಾಗ ಅಥವಾ ಪಠ್ಯ ಕಳುಹಿಸಿದಾಗ ನಿಮ್ಮ ಸಾಧನದ ಸ್ಥಳವನ್ನು ತುರ್ತಾಗಿ ಪ್ರತಿಕ್ರಿಯಿಸುವವರಿಗೆ ಕಳುಹಿಸಬಹುದು."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ಸ್ಥಳ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ಸ್ಥಳ ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ಸ್ಥಳ ಆ್ಯಕ್ಸೆಸ್ ಬದಲಿಸಲು, ಸೆಟ್ಟಿಂಗ್ &gt; ಭದ್ರತೆ ಹಾಗೂ ಗೌಪ್ಯತೆ &gt; ಗೌಪ್ಯತೆ ನಿಯಂತ್ರಣಗಳಿಗೆ ಹೋಗಿ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ಖಾತೆಗಳು"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ಭದ್ರತೆ"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ಎನ್‌ಕ್ರಿಪ್ಶನ್ &amp; ರುಜುವಾತುಗಳು"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ಉತ್ತಮ ಫಲಿತಾಂಶಗಳಿಗಾಗಿ, Google ಗಾಗಿ ತಯಾರಿಸಲಾಗಿದೆ ಎಂದು ಪ್ರಮಾಣೀಕರಿಸಿದ ಸ್ಕ್ರೀನ್ ಗಾರ್ಡ್ ಅನ್ನು ಬಳಸಿ. ಇತರ ಸ್ಕ್ರೀನ್ ಗಾರ್ಡ್‌ಗಳನ್ನು ಬಳಸಿದರೆ ನಿಮ್ಮ ಮಗುವಿನ ಫಿಂಗರ್ ಪ್ರಿಂಟ್ ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ವಾಚ್ ಅನ್‌ಲಾಕ್"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"ನೀವು ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟ್ ಮಾಡಿದಾಗ, ನೀವು ಫೇಸ್ ಮಾಸ್ಕ್ ಧರಿಸಿದಾಗ ಅಥವಾ ಕತ್ತಲೆ ಪ್ರದೇಶದಲ್ಲಿದ್ದಾಗ ನಿಮ್ಮ ಫೋನ್ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಕೇಳುತ್ತದೆ.\n\nನಿಮ್ಮ ಮುಖ ಅಥವಾ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ನಿಮ್ಮ ವಾಚ್‌ನೊಂದಿಗೆ ನೀವು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"ನಿಮ್ಮ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ನಿಮ್ಮ ವಾಚ್‌ನೊಂದಿಗೆ ನೀವು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"ನಿಮ್ಮ ಮುಖವನ್ನು ಗುರುತಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದಾಗ ನಿಮ್ಮ ವಾಚ್‌ನೊಂದಿಗೆ ನೀವು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"ನೀವು ಫೇಸ್ ಅನ್‌ಲಾಕ್ ಮತ್ತು ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿದಾಗ, ನೀವು ಫೇಸ್ ಮಾಸ್ಕ್ ಧರಿಸಿರುವಾಗ ಅಥವಾ ಕತ್ತಲೆ ಪ್ರದೇಶದಲ್ಲಿದ್ದಾಗ ನಿಮ್ಮ ಫೋನ್ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಕೇಳುತ್ತದೆ.\n\nನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ವಾಚ್ ಅನ್‌ಲಾಕ್ ಮತ್ತೊಂದು ಅನುಕೂಲಕರ ಮಾರ್ಗವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಬೆರಳುಗಳು ಒದ್ದೆಯಾಗಿರುವಾಗ ಅಥವಾ ಮುಖವನ್ನು ಗುರುತಿಸದಿದ್ದಾಗ."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ವಾಚ್ ಅನ್‌ಲಾಕ್ ಮತ್ತೊಂದು ಅನುಕೂಲಕರ ಮಾರ್ಗವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಗುರುತಿಸದಿದ್ದಾಗ."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ನಿಮ್ಮ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ವಾಚ್ ಅನ್‌ಲಾಕ್ ಮತ್ತೊಂದು ಅನುಕೂಲಕರ ಮಾರ್ಗವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಮುಖವನ್ನು ಗುರುತಿಸದಿದ್ದಾಗ."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ಇದಕ್ಕಾಗಿ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅಥವಾ ವಾಚ್ ಅನ್ನು ಬಳಸಿ"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ಇದಕ್ಕಾಗಿ ಫೇಸ್ ಅಥವಾ ವಾಚ್ ಬಳಸಿ"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ಇದಕ್ಕಾಗಿ ಫೇಸ್, ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅಥವಾ ವಾಚ್ ಬಳಸಿ"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ಈ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ವಾಚ್ ಅನ್‌ಲಾಕ್ ಮತ್ತೊಂದು ಅನುಕೂಲಕರ ಮಾರ್ಗವಾಗಿದೆ, ಉದಾಹರಣೆಗೆ, ನಿಮ್ಮ ಬೆರಳುಗಳು ಒದ್ದೆಯಾಗಿರುವಾಗ ಅಥವಾ ಮುಖವನ್ನು ಗುರುತಿಸದಿದ್ದಾಗ.\n\nಈ ಕೆಳಗಿನ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ಈ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ನಿಮ್ಮ ವಾಚ್ ಅನ್ನು ಬಳಸಬಹುದು:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ಈಗ ಬೇಡ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ಮುಂದುವರಿಸಿ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ಇನ್ನಷ್ಟು"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"ಅದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"ನಿಮ್ಮ ವಾಚ್ ಅನ್‌ಲಾಕ್ ಆಗಿರಬೇಕು, ನಿಮ್ಮ ಮಣಿಕಟ್ಟಿನಲ್ಲಿ ಧರಿಸಿರಬೇಕು ಹಾಗೂ ಈ ಫೋನ್‌ನ ಸಮೀಪದಲ್ಲಿರಬೇಕು. ನಿಮ್ಮ ವಾಚ್ ಅನ್ನು ಮಣಿಕಟ್ಟಿನಲ್ಲಿ ಧರಿಸಿರುವಾಗ ಅದನ್ನು ಪುನಃ ನೀವು ಅನ್‌ಲಾಕ್ ಮಾಡಬೇಕಾಗಿಲ್ಲ."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ಈ ಫೋನ್ ಅನ್‌ಲಾಕ್ ಆದಾಗ, ನಿಮ್ಮ ವಾಚ್‌ನಲ್ಲಿ ನೀವು ಸೂಚನೆ ಪಡೆಯುತ್ತೀರಿ. ನೀವು ಉದ್ದೇಶಿಸದೇ ಇದ್ದಾಗಲೂ ಅದು ಅನ್‌ಲಾಕ್ ಆಗಿದ್ದರೆ, ಫೋನ್ ಅನ್ನು ಮತ್ತೊಮ್ಮೆ ಲಾಕ್ ಮಾಡಲು ನೋಟಿಫಿಕೇಶನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ಇದು ನಿಮ್ಮ ನಿಯಂತ್ರಣದಲ್ಲಿದೆ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ವಾಚ್ ಅನ್ನು ವಾಚ್ ಅನ್‌ಲಾಕ್‌ನಿಂದ ನೀವು ತೆಗೆದುಹಾಕಬಹುದು"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"ನೋಟಿಫಿಕೇಶನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ನಿಮ್ಮ ವಾಚ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ಲಭ್ಯವಿರುವ ವಾಚ್‌ಗಳು"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ರದ್ದುಮಾಡಿ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"ದೃಢೀಕರಿಸಿ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ನೀವು ಸಿದ್ಧರಾಗಿರುವಿರಿ!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ನೀವು ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ ಸ್ವೈಪ್ ಅಪ್ ಮಾಡಿದಾಗ ಅಥವಾ ನೋಟಿಫಿಕೇಶನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿದಾಗ ಈ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ನಿಮ್ಮ ವಾಚ್ ಅನ್ನು ನೀವು ಈಗ ಬಳಸಬಹುದು"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ಮುಗಿದಿದೆ"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ವಾಚ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ನೀವು ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿದಾಗ ಅಥವಾ ನೋಟಿಫಿಕೇಶನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿದಾಗ ಈ ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲು ನಿಮ್ಮ ವಾಚ್ ಅನ್ನು ನೀವು ಬಳಸಬಹುದು"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ವಾಚ್ ಅನ್‌ಲಾಕ್ ಅನ್ನು ಬಳಸಲು, ನಿಮ್ಮ ವಾಚ್ ಅನ್‌ಲಾಕ್ ಆಗಿರಬೇಕು, ನಿಮ್ಮ ಮಣಿಕಟ್ಟಿನಲ್ಲಿ ಧರಿಸಿರಬೇಕು, ಸಮೀಪದಲ್ಲಿರಬೇಕು ಮತ್ತು ಈ ಫೋನ್‌ಗೆ ಕನೆಕ್ಟ್ ಆಗಿರಬೇಕು. ಕನೆಕ್ಷನ್‌ನಲ್ಲಿ ಅಡಚಣೆ ಉಂಟಾದರೆ, ನೀವು ವಾಚ್ ಅನ್‌ಲಾಕ್ ಬಳಸುವ ಮೊದಲು ಫೋನ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\n\nನೆನಪಿಡಿ:\nನೀವು ಒಂದು ಬಾರಿಗೆ ಒಂದು ವಾಚ್ ಅನ್ನು ಮಾತ್ರ ಸೆಟಪ್ ಮಾಡಬಹುದು. ಬೇರೊಂದು ವಾಚ್ ಅನ್ನು ಸೇರಿಸಲು, ಪ್ರಸ್ತುತ ಇರುವ ವಾಚ್ ಅನ್ನು ಮೊದಲು ತೆಗೆದುಹಾಕಿ."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ಕೆಲಸಕ್ಕಾಗಿ ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ಸೆಟಪ್ ಅಗತ್ಯವಿದೆ"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ಭದ್ರತೆ"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ಗೌಪ್ಯತೆ"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"ಉದ್ಯೋಗ ಪ್ರೊಫೈಲ್"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ಖಾಸಗಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಲಾಕ್ ಮಾಡಿ ಮತ್ತು ಮರೆಮಾಡಿ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ನೀವು ಮರೆಮಾಡಲು ಅಥವಾ ಲಾಕ್ ಮಾಡಬಹುದಾದ ಪ್ರತ್ಯೇಕ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಖಾಸಗಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಇರಿಸಿ"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಲಾಕ್"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೇ ನೀವು ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು ಅಥವಾ ಬೇರೆ ಲಾಕ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಬಹುದು"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ಸಾಧನದ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ಫೇಸ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ಸೆಟಪ್ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್‌ನ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್‌ನ ಫೇಸ್ ಅನ್‌ಲಾಕ್"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"ಅನ್‌ಲಾಕ್ ಮಾಡುವ ವಿಧಾನಗಳು"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ಸಾಧನದ ಸ್ಕ್ರೀನ್ ಲಾಕ್‌ ಅನ್ನೇ ಬಳಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್‌ಗೆ ಹೊಸ ಲಾಕ್ ಆರಿಸಬೇಕೇ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"ನೀವು ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ ನಿಮ್ಮ ಸಾಧನವನ್ನು ಬಳಸದಿದ್ದರೆ ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ನೀವು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಲಾಕ್ ಮಾಡಬಹುದು"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ಪ್ರತಿ ಬಾರಿ ಸಾಧನ ಲಾಕ್ ಆಗುತ್ತದೆ"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 ನಿಮಿಷಗಳ ನಿಷ್ಕ್ರಿಯತೆಯ ನಂತರ"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ಎಂದಿಗೂ ಬೇಡ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ಲಾಕ್ ಆಗಿರುವಾಗ ಮರೆಮಾಡಿ"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ಲಾಕ್ ಆಗಿರುವಾಗ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಮರೆಮಾಡಿ"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ನೀವು ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಹೊಂದಿದ್ದೀರಿ ಎಂದು ಇತರರಿಗೆ ತಿಳಿಯದಂತೆ ಮಾಡಲು, ನಿಮ್ಮ ಆ್ಯಪ್‌ಗಳ ಪಟ್ಟಿಯಿಂದ ಅದನ್ನು ಮರೆಮಾಡಬಹುದು"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"ಮರೆಮಾಡಿರುವಾಗ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿ"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ಆ್ಯಪ್‌ ಪಟ್ಟಿಯ, ಹುಡುಕಾಟ ಪಟ್ಟಿಯಲ್ಲಿ \"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್\" ನಮೂದಿಸಿ"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಟೈಲ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ಆಫ್ ಆಗಿದೆ"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ಆನ್ ಆಗಿದೆ"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ಸಿಸ್ಟಂ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಿ"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಬೇಕೆ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ನಿಮ್ಮ ಸಾಧನದಿಂದ ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ. ಎಲ್ಲಾ ಖಾಸಗಿ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಡೇಟಾವನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್‌ನಿಂದ ಕೆಳಗಿನ ಖಾತೆಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ಅಳಿಸಿ"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ಇದು ಸ್ವಲ್ವ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಲಾಗಿದೆ"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಬಳಸಲು, ಈ ಸಾಧನದಲ್ಲಿ ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ರದ್ದುಗೊಳಿಸಿ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ರದ್ದುಗೊಳಿಸಿ"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ಸೆಟಪ್ ಮಾಡಿ"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ನೀವು ಮರೆಮಾಡಲು ಅಥವಾ ಲಾಕ್ ಮಾಡಬಹುದಾದ ಪ್ರತ್ಯೇಕ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಖಾಸಗಿ ಆ್ಯಪ್‌ಗಳನ್ನು ಇರಿಸಿ"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ನಿಮ್ಮ ಆ್ಯಪ್‌ಗಳ ಪಟ್ಟಿಯ ಕೆಳಗಿನಿಂದ ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್‌ ಅನ್ನು ನೀವು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ಖಾಸಗಿ ಸ್ಪೇಸ್‌ನಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳನ್ನು ಲಾಕ್‌ ಮೂಲಕ ರಕ್ಷಿಸಲಾಗಿದೆ"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಲಾಕ್ ಆಗಿರುವಾಗ ಅದರಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳಿಂದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಲಾಕ್ ಮಾಡಿರುವಾಗ ಅನುಮತಿ ನಿರ್ವಾಹಕ, ಗೌಪ್ಯತೆ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಮತ್ತು ಇತರ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್‌ನಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳು ಗೋಚರಿಸುವುದಿಲ್ಲ.\n\nನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಹೊಸ ಸಾಧನಕ್ಕೆ ಸರಿಸಲು ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ. ನೀವು ಮತ್ತೊಂದು ಸಾಧನದಲ್ಲಿ ಅದನ್ನು ಬಳಸಲು ಬಯಸಿದರೆ, ನೀವು ಇನ್ನೊಂದು ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಬೇಕಾಗುತ್ತದೆ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಕಂಪ್ಯೂಟರ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡುವ ಅಥವಾ ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಹಾನಿಕಾರಕ ಆ್ಯಪ್‌ಗಳನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡುವ ಯಾರಾದರೂ ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಆ್ಯಪ್‌ಗಳು ಲಾಕ್ ಆಗಿರುವಾಗ ಅದರಲ್ಲಿರುವ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಮರೆಮಾಡಲಾಗುತ್ತದೆ"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ಫೋಟೋಗಳು ಅಥವಾ ಫೈಲ್‌ಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಿ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ಕೆಲವು ಆ್ಯಪ್‌ಗಳನ್ನು ಈಗಾಗಲೇ ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್‌ಲಾಕ್ ಮಾಡಲು ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಬಳಸಬೇಕೇ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"ನಿಮ್ಮ ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ರೀತಿಯಲ್ಲಿಯೇ ನೀವು ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು ಅಥವಾ ಬೇರೆ ಲಾಕ್ ಅನ್ನು ಆರಿಸಬಹುದು"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಬಳಸಿ"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"ಹೊಸ ಲಾಕ್ ಆರಿಸಿ"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"ಎಲ್ಲವೂ ಸಿದ್ಧವಾಗಿದೆ!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಅನ್ನು ಹುಡುಕಲು, ನಿಮ್ಮ ಆ್ಯಪ್‌ಗಳ ಪಟ್ಟಿಗೆ ಹೋಗಿ ನಂತರ ಕೆಳಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ಮುಗಿದಿದೆ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ಹುಡುಕಲು ಕೆಳಕ್ಕೆ ಸ್ಕ್ರಾಲ್ ಮಾಡಿ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ಸೈನ್ ಇನ್ ಮಾಡಿ"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ನಿಮ್ಮ ಪ್ರೈವೆಟ್ ಸ್ಪೇಸ್ ಜೊತೆಗೆ ಬಳಸಲು ಖಾತೆಗೆ ಸೈನ್ ಇನ್ ಮಾಡಿ"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ಈಗ ಬೇಡ"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ಮುಂದುವರಿಸಿ"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್‌ಗಾಗಿ ಲಾಕ್ ಅನ್ನು ಆರಿಸಿ"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"ನಿಮ್ಮ ಫಿಂಗರ್‌ಪ್ರಿಂಟ್ ಬಳಸಿಕೊಂಡು ನಿಮ್ಮ ಖಾಸಗಿ ಸ್ಪೇಸ್ ಅನ್ನು ನೀವು ಅನ್‌ಲಾಕ್ ಮಾಡಬಹುದು. ಭದ್ರತೆಗಾಗಿ, ಈ ಆಯ್ಕೆಗೆ ಬ್ಯಾಕಪ್ ಲಾಕ್‌ನ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ನಿಮ್ಮ ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್‌ಗೆ ಪಿನ್ ಸೆಟ್‌ ಮಾಡಿ"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್‌ಗೆ ಪಾಸ್‌ವರ್ಡ್ ಸೆಟ್‌ ಮಾಡಿ"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ಪ್ರೈವೇಟ್ ಸ್ಪೇಸ್‌ಗೆ ಪ್ಯಾಟರ್ನ್ ಸೆಟ್‌ ಮಾಡಿ"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"ನೀವು ಗರಿಷ್ಠ <xliff:g id="COUNT">%d</xliff:g> ಫಿಂಗರ್‌ಪ್ರಿಂಟ್‌‌ಗಳನ್ನು ಸೇರಿಸಬಹುದು"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ನೀವು ಗರಿಷ್ಠ ಸಂಖ್ಯೆಯ ಫಿಂಗರ್ ಪ್ರಿಂಟ್‌ಗಳನ್ನು ಸೇರಿಸಿರುವಿರಿ"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ಹೆಚ್ಚಿನ ಫಿಂಗರ್ ಪ್ರಿಂಟ್‌ಗಳನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ಪ್ಯಾಟರ್ನ್"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"ಪಿನ್‌"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"ಪಾಸ್‌ವರ್ಡ್"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"ಸ್ಕ್ರೀನ್ ಲಾಕ್ ಅನ್ನು ಅಳಿಸುವುದೇ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ಎಲ್ಲಾ ರೀತಿಯ ಸಾಧನ ಅನ್‌ಲಾಕ್ ಮಾಡುವುದನ್ನು ತೆಗೆದುಹಾಕಬೇಕೆ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ಪ್ರೊಫೈಲ್ ರಕ್ಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕುವುದೇ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪ್ಯಾಟರ್ನ್ ರಕ್ಷಿಸುತ್ತದೆ.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>ಇದು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಮಾಡೆಲ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ. ನಿಮ್ಮ ಫೇಸ್ ಮಾಡೆಲ್ ಅನ್ನು ಸಹ ಶಾಶ್ವತವಾಗಿ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ. ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ದೃಢೀಕರಿಸಲು ನಿಮ್ಮ ಫೇಸ್ ಅಥವಾ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"ನಿಮ್ಮ ಪಿನ್‌‌ನಂತಹ ಸೇವ್‌ ಮಾಡಿದ ಡೇಟಾವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ಸ್ಪರ್ಶರಹಿತ ಪಾವತಿಗಾಗಿ ಸೆಟಪ್‌ ಮಾಡಿದ ಕಾರ್ಡ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ಅಗತ್ಯವಿರುವ ವಾಲೆಟ್‌ಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್ ಗಳು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ಇದು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಮಾಡೆಲ್ ಅನ್ನು ಸಹ ಅಳಿಸುತ್ತದೆ. ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ದೃಢೀಕರಣಕ್ಕಾಗಿ ನಿಮ್ಮ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"ನಿಮ್ಮ ಪಿನ್‌‌ ಮತ್ತು ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಮಾಡೆಲ್‌ನಂತಹ ಸೇವ್‌ ಮಾಡಿದ ಡೇಟಾವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ಸ್ಪರ್ಶರಹಿತ ಪಾವತಿಗಾಗಿ ಸೆಟಪ್‌ ಮಾಡಿದ ಕಾರ್ಡ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ಅಗತ್ಯವಿರುವ ವಾಲೆಟ್‌ಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್ ಗಳು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ನಿಮ್ಮ ಫೇಸ್ ಮಾಡೆಲ್ ಅನ್ನು ಸಹ ಶಾಶ್ವತವಾಗಿ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ. ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ದೃಢೀಕರಣಕ್ಕಾಗಿ ನಿಮ್ಮ ಫೇಸ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"ನಿಮ್ಮ ಪಿನ್‌‌ ಮತ್ತು ಫೇಸ್ ಮಾಡೆಲ್‌ನಂತಹ ಸೇವ್‌ ಮಾಡಿದ ಡೇಟಾವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ಸ್ಪರ್ಶರಹಿತ ಪಾವತಿಗಾಗಿ ಸೆಟಪ್‌ ಮಾಡಿದ ಕಾರ್ಡ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ಅಗತ್ಯವಿರುವ ವಾಲೆಟ್‌ಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್ ಗಳು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಿನ್ ರಕ್ಷಿಸುತ್ತದೆ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ಇದು ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಸಂಗ್ರಹವಾಗಿರುವ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಮಾಡೆಲ್ ಅನ್ನು ಅಳಿಸುತ್ತದೆ. ನಿಮ್ಮ ಫೇಸ್ ಮಾಡೆಲ್ ಅನ್ನು ಸಹ ಶಾಶ್ವತವಾಗಿ ಮತ್ತು ಸುರಕ್ಷಿತವಾಗಿ ಅಳಿಸಲಾಗುತ್ತದೆ. ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ದೃಢೀಕರಿಸಲು ನಿಮ್ಮ ಫೇಸ್ ಅಥವಾ ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಅನ್ನು ಬಳಸಲು ನಿಮಗೆ ಸಾಧ್ಯವಾಗುವುದಿಲ್ಲ."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"ನಿಮ್ಮ ಪಿನ್‌‌, ಫೇಸ್ ಮತ್ತು ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್ ಮಾಡೆಲ್‌ಗಳಂತಹ ಸೇವ್‌ ಮಾಡಿದ ಡೇಟಾವನ್ನು ನೀವು ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ಸ್ಪರ್ಶರಹಿತ ಪಾವತಿಗಾಗಿ ಸೆಟಪ್‌ ಮಾಡಿದ ಕಾರ್ಡ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ಸಾಧನವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡುವ ಅಗತ್ಯವಿರುವ ವಾಲೆಟ್‌ಗಳು ಮತ್ತು ಇತರ ಆ್ಯಪ್ ಗಳು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದೇ ಇರಬಹುದು."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"ನಿಮ್ಮ ಫೋನ್ ಕಳೆದುಹೋದರೆ ಅಥವಾ ಕಳುವಾದರೆ ಅದನ್ನು ಪಾಸ್‌ವರ್ಡ್ ರಕ್ಷಿಸುತ್ತದೆ.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ಬ್ಲೂಟೂತ್‌‌"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ಬ್ಲೂಟೂತ್‌‌"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಜೊತೆ ಜೋಡಿಸಬೇಕೇ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಕೋಆರ್ಡಿನೇಟ್ ಸೆಟ್‌ಗೆ ಹೊಸ ಸದಸ್ಯರನ್ನು ಸೇರಿಸಿ"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ನಿಮ್ಮ ಆಡಿಯೊ ಸಾಧನದ ಎರಡನೇ ಭಾಗವನ್ನು ಸೇರಿಸಲು ದೃಢೀಕರಿಸಿ"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ಬ್ಲೂಟೂತ್ ಜೋಡಿಸುವ ಕೋಡ್"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"ಜೋಡಣೆ ಕೋಡ್‌ ಟೈಪ್‌ ಮಾಡಿ ತದನಂತರ ರಿಟರ್ನ್‌ ಅಥವಾ ಎಂಟರ್‌ ಒತ್ತಿ."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"ಅಕ್ಷರಗಳು ಅಥವಾ ಚಿಹ್ನೆಗಳನ್ನು ಪಿನ್‌ ಹೊಂದಿದೆ"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 ಅಂಕೆಗಳು ಆಗಿರಬೇಕು"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ನಿಮಗೆ ಇತರ ಸಾಧನದಲ್ಲಿ ಈ ಪಿನ್‌ ಟೈಪ್‌ ಮಾಡುವ ಅಗತ್ಯವಿರಬಹುದು."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ನಿಮಗೆ ಇತರ ಸಾಧನದಲ್ಲಿ ಈ ಪಾಸ್‌ಕೀಯನ್ನು ಟೈಪ್‌ ಮಾಡುವ ಅಗತ್ಯವಿದೆ."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ಸಂಯೋಜಿತ ಪ್ಯಾಕೇಜ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಸಾಧನಗಳಿಗೆ ಜೋಡಿಸುವುದನ್ನು ಮರೆಯದಿರಿ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ಆಡಿಯೊ ಸಾಧನದೊಂದಿಗೆ ಜೋಡಿಸಲು ದೃಢೀಕರಿಸಿ"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"ಸಂಪರ್ಕಗಳು ಮತ್ತು ಕರೆ ಇತಿಹಾಸಕ್ಕೆ ಆ್ಯಕ್ಸೆಸ್ ಅನ್ನು ಸಹ ಅನುಮತಿಸಿ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ಮಾಹಿತಿಯನ್ನು ಕರೆ ಪ್ರಕಟಣೆಗಳು ಮತ್ತು ಹೆಚ್ಚಿನವುಗಳಿಗಾಗಿ ಬಳಸಲಾಗುತ್ತದೆ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಪಡಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ಲಭ್ಯವಿರುವ ಸಾಧನಗಳು"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಿ"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ಜೋಡಿಸಿ ಮತ್ತು ಸಂಪರ್ಕಪಡಿಸಿ"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ಬ್ಲೂಟೂತ್‌‌ ಆನ್‌ ಮಾಡಿದಾಗ, ನಿಮ್ಮ ಸಾಧನವು ಇತರ ಸಮೀಪದ ಬ್ಲೂಟೂತ್‌‌ ಸಾಧನಗಳ ಜೊತೆಗೆ ಸಂವಹನ ಮಾಡಬಹುದು."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ಬ್ಲೂಟೂತ್‌‌ ಆನ್‌ ಆದಾಗ, ಸಾಧನವು ಸಮೀಪದ ಇತರ ಬ್ಲೂಟೂತ್‌‌ ಸಾಧನಗಳ ಜೊತೆ ಸಂವಹನ ಮಾಡಬಹುದು"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ಬ್ಲೂಟೂತ್ ಆನ್‌ ಮಾಡಿದ ನಂತರ, ನಿಮ್ಮ ಬ್ಲೂಟೂತ್ ಸಾಧನವು ಸಮೀಪದ ಸಾಧನಗಳ ಜೊತೆ ಸಂವಹನ ಮಾಡಬಹುದು. \n\nಸಾಧನದ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು, ಬ್ಲೂಟೂತ್‌ ಆಫ್‌ ಆಗಿದ್ದರೂ ಸಹ, ಯಾವ ಸಮಯದಲ್ಲಾದರೂ ಸಮೀಪದ ಸಾಧನಗಳಿಗೆ ಸ್ಕ್ಯಾನ್‌ ಮಾಡಲು ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳಿಗೆ ಅನುಮತಿ ನೀಡಿ. ಉದಾಹರಣೆಗೆ, ಸ್ಥಳ ಆಧಾರಿತ ಫೀಚರ್‌ಗಳು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದಾಗಿದೆ. ನೀವು ಇದನ್ನು ಸ್ಕ್ಯಾನಿಂಗ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಬದಲಾಯಿಸಬಹುದು."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ಬದಲಾಯಿಸಿ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ಸಾಧನದ ವಿವರಗಳು"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಬೈಟ್‌ಕೋಡ್ ಪರಿಶೀಲಿಸಲು ART ಅನುಮತಿಸಿ"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ರಿಫ್ರೆಶ್ ರೇಟ್ ತೋರಿಸಿ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ಪ್ರಸ್ತುತ ಡಿಸ್‌ಪ್ಲೇ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ತೋರಿಸಿ"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ಅನುಪಾತವನ್ನು ತೋರಿಸಿ"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ಪ್ರಸ್ತುತ HDR/SDR ಅನುಪಾತವನ್ನು ತೋರಿಸಿ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ಗಾಗಿ ಸಾಧನ ಅನ್‌ಲಾಕ್ ಅಗತ್ಯವಿದೆ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ಬೀಮ್"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ಏರ್‌ಪ್ಲೇನ್ ಮೋಡ್‌ನಲ್ಲಿ"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ಸಾರ್ವಜನಿಕ ನೆಟ್‌ವರ್ಕ್‌ಗಳಿದ್ದಾಗ ಸೂಚಿಸಿ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ಅಧಿಕ-ಗುಣಮಟ್ಟದ ಸಾರ್ವಜನಿಕ ನೆಟ್‌ವರ್ಕ್ ಲಭ್ಯವಿರುವಾಗ ಸೂಚನೆ ನೀಡಿ"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ಎಂಬುದು ಹಳೆಯ ಭದ್ರತಾ ಪ್ರೊಟೊಕಾಲ್ ಆಗಿದ್ದು ಅದು ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿದೆ"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"ನಿಮ್ಮ ವಾಹಕವು WEP ನೆಟ್‌ವರ್ಕ್‌ಗಳನ್ನು ಅನುಮತಿಸುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಅವುಗಳು ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿವೆ"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"ವೈ-ಫೈ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಮಾಡಿ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"ಉಳಿಸಿರುವ ಅಧಿಕ-ಗುಣಮಟ್ಟದ ನೆಟ್‌ವರ್ಕ್‌ಗಳ ಸಮೀಪದಲ್ಲಿರುವಾಗ, ಉದಾಹರಣೆಗೆ ನಿಮ್ಮ ಮನೆಯ ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ವೈ-ಫೈ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ಸ್ಥಳ ಆಫ್ ಆಗಿರುವುದರಿಂದ ಲಭ್ಯವಿಲ್ಲ. "<annotation id="link">"ಸ್ಥಳ"</annotation>" ಆನ್ ಮಾಡಿ."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ವೈ-ಫೈ ಆಫ್‌ ಆಗಿದ್ದರೂ ಸಹ, ಯಾವ ಸಮಯದಲ್ಲಾದರೂ ವೈ-ಫೈ ನೆಟ್‍‍ವರ್ಕ್‍ಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್‌ ಮಾಡಲು ಆ್ಯಪ್‍‍ಗಳಿಗೆ ಮತ್ತು ಸೇವೆಗಳಿಗೆ ವೈ-ಫೈ ಸ್ಕ್ಯಾನಿಂಗ್ ಅವಕಾಶ ನೀಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ: ಸ್ಥಳ ಆಧಾರಿತ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮತ್ತು ಸೇವೆಗಳನ್ನು ಸುಧಾರಿಸಲು ಇದನ್ನು ಬಳಸಬಹುದಾಗಿದೆ."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ಆನ್"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ವೈ-ಫೈ ಸ್ಕ್ಯಾನಿಂಗ್ ಆನ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ಈ ನೆಟ್‌ವರ್ಕ್ ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿರುವ ಹಳೆಯ ಭದ್ರತಾ ಪ್ರೊಟೊಕಾಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ಅನ್ನು ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ಈ ನೆಟ್‌ವರ್ಕ್ WEP ಎಂಬ ಹಳೆಯ ಭದ್ರತಾ ಪ್ರೊಟೊಕಾಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಇದು ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿದೆ. ಹೇಗಿದ್ದರೂ ಕನೆಕ್ಟ್ ಮಾಡಲು, ನೀವು WEP ನೆಟ್‌ವರ್ಕ್‌ಗಳಿಗೆ ಅನುಮತಿ ನೀಡಬಹುದು."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ನಿಮ್ಮ ವಾಹಕವು ಈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಅದು ಕಡಿಮೆ ಸುರಕ್ಷಿತವಾಗಿರುವ ಹಳೆಯ ಭದ್ರತಾ ಪ್ರೊಟೊಕಾಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP ಅನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ಮುಚ್ಚಿರಿ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ಡ್ರಾಪ್-ಡೌನ್ ಪಟ್ಟಿಯ ಸುಧಾರಿತ ಆಯ್ಕೆಗಳು"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ವಿಸ್ತರಿಸಿ"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"ವೈ-ಫೈ ನಲ್ಲಿಯೇ ಇರಿ"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ಮತ್ತೊಮ್ಮೆ ತೋರಿಸಬೇಡಿ"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"ಕನೆಕ್ಟ್ ಮಾಡಿ"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"ವೈ-ಫೈ ಆನ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ನೆಟ್‌ವರ್ಕ್‌ ಸಂಪರ್ಕಿಸಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ನೆಟ್‌ವರ್ಕ್ ವ್ಯಾಪ್ತಿಯಲ್ಲಿಲ್ಲ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ಮರೆತುಬಿಡಿ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ಮಾರ್ಪಡಿಸಿ"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ನೆಟ್‌ವರ್ಕ್‌ ಮರೆಯಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="wifi_save" msgid="2312643132472226807">"ಸೇವ್ ಮಾಡಿ"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ನೆಟ್‌ವರ್ಕ್‌ ಉಳಿಸಲು ವಿಫಲವಾಗಿದೆ"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ರದ್ದುಮಾಡಿ"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"ವೈ‑ಫೈ"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ಮೊಬೈಲ್ ಡೇಟಾ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ಇಥರ್ನೆಟ್"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ಚಾರ್ಜಿಂಗ್ ಆಗುತ್ತಿದೆ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ಚಾರ್ಜಿಂಗ್ ಆಗುತ್ತಿದೆ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಕನೆಕ್ಷನ್"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"ಕನೆಕ್ಷನ್ ಸಾಮರ್ಥ್ಯ"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ಸೇವ್ ಮಾಡಿದ ನೆಟ್‌ವರ್ಕ್‌"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"ಯಾವುದೇ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಹೊಂದಿಸಿಲ್ಲ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಹೆಸರು"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ಹಾಟ್‌ಸ್ಪಾಟ್ ಪಾಸ್‌ವರ್ಡ್"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP ಬ್ಯಾಂಡ್"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹಾಟ್‌ಸ್ಪಾಟ್ ಆಫ್ ಮಾಡಿ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ಯಾವುದೇ ಸಾಧನಗಳನ್ನು ಸಂಪರ್ಕಿಸದಿದ್ದಾಗ"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"ಹೊಂದಾಣಿಕೆಯನ್ನು ವಿಸ್ತರಿಸಿ"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ವೈಟ್ ಬ್ಯಾಲೆನ್ಸ್ ಪ್ರದರ್ಶಿಸಿ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ಫೋಲ್ಡ್‌ ಮಾಡಿದ ನಂತರ ಆ್ಯಪ್‌ಗಳ ಬಳಕೆಯನ್ನು ಮುಂದುವರಿಸಿ"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ಸ್ಮೂಥ್ ಡಿಸ್‌ಪ್ಲೇ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ಕೆಲವು ವಿಷಯಗಳಿಗೆ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ 60 ರಿಂದ <xliff:g id="ID_1">%1$s</xliff:g>Hz ಗೆ ಹೆಚ್ಚಿಸುತ್ತದೆ. ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ಗೇಮ್‌ಗಳ ಡೀಫಾಲ್ಟ್ ಫ್ರೇಮ್ ರೇಟ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ಗೇಮ್‌ಗಳ ಗರಿಷ್ಠ ಫ್ರೇಮ್ ರೇಟ್ ಅನ್ನು <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz ಗೆ ಸೀಮಿತಗೊಳಿಸುವುದನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"ಸ್ಮೂತ್ ಡಿಸ್‌ಪ್ಲೇ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ಕೆಲವು ವಿಷಯಗಳಿಗೆ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ <xliff:g id="ID_1">%1$d</xliff:g> Hz ವರೆಗೆ ಹೆಚ್ಚಿಸುತ್ತದೆ. ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ಗರಿಷ್ಠ ರಿಫ್ರೆಶ್ ರೇಟ್ ಅನ್ನು ಅನ್ವಯಿಸಿ"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ಸುಧಾರಿತ ಸ್ಪರ್ಶ ಪ್ರತಿಕ್ರಿಯೆ ಮತ್ತು ಆ್ಯನಿಮೇಶನ್ ಗುಣಮಟ್ಟಗಳಿಗಾಗಿ ಅತ್ಯಧಿಕ ರಿಫ್ರೆಶ್ ರೇಟ್. ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ಸ್ಕ್ರೀನ್ ಆನ್ ಆಗಿರುವಿಕೆ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"ಯಾರಾದರೂ ಸ್ಕ್ರೀನ್‌ ಕಡೆಗೆ ನೋಡುತ್ತಿದ್ದಾರೆಯೇ ಎಂಬುದನ್ನು ವೀಕ್ಷಿಸಲು, ಸ್ಕ್ರೀನ್ ಆನ್ ಆಗಿರುವಿಕೆ ಮುಂಬದಿ ಕ್ಯಾಮರಾವನ್ನು ಬಳಸುತ್ತದೆ. ಈ ವೈಶಿಷ್ಟ್ಯವು ಸಾಧನದಲ್ಲಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ಚಿತ್ರಗಳನ್ನು ಎಂದಿಗೂ ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ ಅಥವಾ Google ಗೆ ಕಳುಹಿಸುವುದಿಲ್ಲ."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"ಸ್ಕ್ರೀನ್ ಆನ್ ಆಗಿರುವಿಕೆ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಆನ್ ಮಾಡಿ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ಅದನ್ನು ನೋಡುವಾಗ, ಪರದೆಯನ್ನು ಆನ್ ಆಗಿರಿಸಿ"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ದೀರ್ಘವಾದ ಸ್ಕ್ರೀನ್ ಟೈಮ್‌ಔಟ್ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸುತ್ತದೆ."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ಕ್ಯಾಮರಾ ಲಾಕ್ ಆಗಿದೆ"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ಮುಖ ಪತ್ತೆಹಚ್ಚುವಿಕೆಗಾಗಿ ಕ್ಯಾಮರಾ ಅನ್‌ಲಾಕ್ ಮಾಡಿರಬೇಕು"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ಸ್ಕ್ರೀನ್ ಆನ್ ಆಗಿರುವಿಕೆಗಾಗಿ ಕ್ಯಾಮರಾವನ್ನು ಅನ್‌ಲಾಕ್ ಮಾಡಬೇಕು"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ಸಿಮ್ ಸ್ಲಾಟ್ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ಸಿಮ್ ಸ್ಲಾಟ್ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ಪ್ರೈಮರಿ)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"ವೀಕ್ಷಿಸಲು, ಉಳಿಸಲಾದ ನೆಟ್‌ವರ್ಕ್ ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"ನಿಮಿ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL ಆವೃತ್ತಿ"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ಬ್ಯಾಟರಿ ಮಟ್ಟ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ಸಮುದಾಯ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ಸಮುದಾಯದ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN ಗಳು"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ಆ್ಯಕ್ಸೆಸ್ ಪಾಯಿಂಟ್ ಎಡಿಟ್ ಮಾಡಿ"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ಆ್ಯಕ್ಸೆಸ್ ಪಾಯಿಂಟ್ ಅನ್ನು ಸೇರಿಸಿ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"ಹೊಂದಿಸಿಲ್ಲ"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ಹೊಂದಿಸಲಾಗಿಲ್ಲ"</string>
     <string name="apn_name" msgid="6677695784108157953">"ಹೆಸರು"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ಸಕ್ರಿಯಗೊಂಡಿದೆ"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN ನಿಷ್ಕ್ರಿಯಗೊಂಡಿದೆ"</string>
     <string name="bearer" msgid="3231443241639159358">"ಬೇರರ್"</string>
+    <string name="network_type" msgid="748590707422733595">"ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"ನಿರ್ದಿಷ್ಟಪಡಿಸದಿರುವುದು"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO ಪ್ರಕಾರ"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO ಮೌಲ್ಯ"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN ಅಳಿಸಿ"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"ಸೇವ್ ಮಾಡಿ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ರದ್ದುಮಾಡಿ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ಡೂಪ್ಲಿಕೇಟ್ APN ಎಂಟ್ರಿ."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"ಹೆಸರಿನ ಕ್ಷೇತ್ರವು ಖಾಲಿ ಇರುವಂತಿಲ್ಲ."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ಖಾಲಿ ಇರುವಂತಿಲ್ಲ."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ಕ್ಷೇತ್ರವು 3 ಅಂಕಿಗಳಾಗಿರಬೇಕು."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ಕ್ಷೇತ್ರವು 2 ಅಥವಾ 3 ಅಂಕಿಗಳಾಗಿರಬೇಕು."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"%s ಪ್ರಕಾರದ APN ಗಳನ್ನು ಸೇರಿಸಲು ವಾಹಕ ಅನುಮತಿಸುವುದಿಲ್ಲ."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ಫೀಲ್ಡ್‌ ಮಾನ್ಯವಾಗಿರಬೇಕು."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ಡಿಫಾಲ್ಟ್ APN ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ."</string>
     <string name="menu_restore" msgid="4310539620115151551">"ಡೀಫಾಲ್ಟ್‌ಗೆ  ಮರುಹೊಂದಿಸಿ"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ಡಿಫಾಲ್ಟ್ APN ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಮರುಹೊಂದಿಕೆಯು ಪೂರ್ಣಗೊಂಡಿದೆ."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ರೀಸೆಟ್ ಮಾಡಿ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ಬ್ಲೂಟೂತ್ ಮತ್ತು ವೈ-ಫೈ ಅನ್ನು ರೀಸೆಟ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM ಗಳನ್ನು ಅಳಿಸಿಹಾಕಿ"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ಇದು ಯಾವುದೇ ಮೊಬೈಲ್ ಸೇವಾ ಪ್ಲಾನ್‌ಗಳನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ. ಬದಲಾಯಿಸಿದ SIM ಗಳನ್ನು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿಕೊಳ್ಳಲು, ನಿಮ್ಮ ವಾಹಕವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ಇದು ನಿಮ್ಮ ಮೊಬೈಲ್ ಸರ್ವಿಸ್ ಪ್ಲಾನ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ. ಬದಲಿ ಸಿಮ್ ಪಡೆಯಲು, ನಿಮ್ಮ ವಾಹಕವನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸಿ"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"ಎಲ್ಲಾ ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸುವುದೇ? ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"ಎಲ್ಲಾ ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಮರುಹೊಂದಿಸುವುದೇ ಮತ್ತು eSIM ಗಳನ್ನು ಅಳಿಸುವುದೇ? ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ಮರುಹೊಂದಿಸುವುದೇ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ಈ ಬಳಕೆದಾರರಿಗೆ ನೆಟ್‌ವರ್ಕ್ ಮರುಹೊಂದಿಕೆ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ನೆಟ್‌ವರ್ಕ್‌ ಸೆಟ್ಟಿಂಗ್‌ ಮರುಹೊಂದಿಸಲಾಗಿದೆ"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ದೋಷವೊಂದರ ಕಾರಣ eSIM ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM ಗಳನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ eSIM ಗಳನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="main_clear_title" msgid="277664302144837723">"ಎಲ್ಲಾ ಡೇಟಾ ಅಳಿಸಿ (ಫ್ಯಾಕ್ಟರಿ ರೀಸೆಟ್)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ಡೇಟಾ ಅಳಿಸಿ (ಫ್ಯಾಕ್ಟರಿ ರಿಸೆಟ್)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"ಸಂಗೀತ"</li>\n<li>"ಫೋಟೋಗಳು"</li>\n<li>"ಬಳಕೆದಾರರ ಇತರ ಡೇಟಾ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"ಇ-ಸಿಮ್‌ಗಳು"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ಇದು ನಿಮ್ಮ ಮೊಬೈಲ್ ಸೇವಾ ಯೋಜನೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ನಿಮ್ಮ ಎಲ್ಲಾ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿ ಮತ್ತು ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಸಿಮ್‌ಗಳು ಸೇರಿದಂತೆ, ನಿಮ್ಮ ಎಲ್ಲಾ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ಡೌನ್‌ಲೋಡ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು eSIMs ಸೇರಿದಂತೆ, ನಿಮ್ಮ ಎಲ್ಲಾ ವೈಯಕ್ತಿಕ ಮಾಹಿತಿಯನ್ನು ಅಳಿಸಲಾಗುತ್ತದೆ. ನೀವು ಈ ಕ್ರಿಯೆಯನ್ನು ರದ್ದುಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಅಳಿಸಬೇಕೇ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ಈ ಬಳಕೆದಾರರಿಗೆ ಫ್ಯಾಕ್ಟರಿ ರಿಸೆಟ್ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"ಅಳಿಸಲಾಗುತ್ತಿದೆ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ಹಾಟ್‌ಸ್ಪಾಟ್, USB, ಬ್ಲೂಟೂತ್, ಇಥರ್ನೆಟ್"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"ಇತರ ಸಾಧನಗಳ ಜೊತೆಗೆ ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಹಂಚಿಕೊಳ್ಳುತ್ತಿಲ್ಲ"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ಆಫ್ ಆಗಿದೆ"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ಟೆಥರಿಂಗ್‌"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಬಳಸಬೇಡಿ"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB ಮೂಲಕ ಮಾತ್ರ ಇಂಟರ್ನೆಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಮಾತ್ರ ಇಂಟರ್ನೆಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಇಥರ್ನೆಟ್ ಮೂಲಕ ಮಾತ್ರ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB ಮತ್ತು ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಮಾತ್ರ ಇಂಟರ್ನೆಟ್ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"ಇಂಟರ್ನೆಟ್ ಅನ್ನು USB ಮತ್ತು ಬ್ಲೂಟೂತ್ ಮೂಲಕ ಮಾತ್ರ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ಇಂಟರ್ನೆಟ್ ಅನ್ನು ಬ್ಲೂಟೂತ್ ಮತ್ತು ಇಥರ್ನೆಟ್ ಮೂಲಕ ಮಾತ್ರ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"ಇಂಟರ್ನೆಟ್ ಅನ್ನು USB, ಬ್ಲೂಟೂತ್ ಮತ್ತು ಇಥರ್ನೆಟ್ ಮೂಲಕ ಮಾತ್ರ ಹಂಚಿಕೊಳ್ಳಿ"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ಟೆಥರಿಂಗ್"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ಬ್ಲೂಟೂತ್‌‌ ಟೆಥರಿಂಗ್‌"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ಇಥರ್ನೆಟ್ ಟೆಥರಿಂಗ್"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ನಿಮ್ಮ ವೈ-ಫೈ ಅಥವಾ ಮೊಬೈಲ್ ಡೇಟಾ ಕನೆಕ್ಷನ್ ಮೂಲಕ ಇತರ ಸಾಧನಗಳಿಗೆ ಇಂಟರ್ನೆಟ್ ಸಂಪರ್ಕವನ್ನು ಒದಗಿಸಲು ಹಾಟ್‌ಸ್ಪಾಟ್ ಮತ್ತು ಟೆಥರಿಂಗ್ ಅನ್ನು ಬಳಸಿ. ಸಮೀಪದಲ್ಲಿರುವ ಸಾಧನಗಳ ಜೊತೆಗೆ ವಿಷಯಗಳನ್ನು ಹಂಚಿಕೊಳ್ಳಲು ಆ್ಯಪ್‌ಗಳು ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸಹ ರಚಿಸಬಹುದು."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ಸಹಾಯ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"ಮೊಬೈಲ್‌ ನೆಟ್‌ವರ್ಕ್‌"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ಮೊಬೈಲ್ ಯೋಜನೆ"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS ಅಪ್ಲಿಕೇಶನ್"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS ಅಪ್ಲಿಕೇಶನ್‌ ಬದಲಾಯಿಸುವುದೇ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> ಬದಲಾಗಿ <xliff:g id="NEW_APP">%1$s</xliff:g> ಅನ್ನು ನಿಮ್ಮ SMS ಅಪ್ಲಿಕೇಶನ್‌ ಆಗಿ ಬಳಸುವುದೇ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi ಸಹಾಯಕವನ್ನು ಬದಲಿಸುವುದೇ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕಗಳನ್ನು ನಿರ್ವಹಿಸಲು <xliff:g id="CURRENT_APP">%2$s</xliff:g> ಬದಲಿಗೆ <xliff:g id="NEW_APP">%1$s</xliff:g> ಬಳಸುವುದೇ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಸಂಪರ್ಕಗಳನ್ನು ನಿರ್ವಹಿಸಲು <xliff:g id="NEW_APP">%s</xliff:g> ಬಳಸುವುದೇ?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"ಅಪರಿಚಿತ ಸಿಮ್‌ ಆಪರೇಟರ್‌"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> ಯಾವುದೇ ತಿಳಿದಿರುವ ಪೂರೈಕೆಯ ವೆಬ್‌ಸೈಟ್‌ಗಳನ್ನು ಹೊಂದಿಲ್ಲ"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"ದಯವಿಟ್ಟು ಸಿಮ್‌ ಕಾರ್ಡ್‌ ಅನ್ನು ಸೇರಿಸಿ ಮತ್ತು ಮರುಪ್ರಾರಂಭಿಸಿ"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"ದಯವಿಟ್ಟು ಇಂಟರ್ನೆಟ್‌ಗೆ ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"ಇತ್ತೀಚಿನ ಸ್ಥಳ ವಿನಂತಿಗಳು"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ನ ಸ್ಥಳ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ಆ್ಯಪ್ ಸ್ಥಳದ ಅನುಮತಿಗಳು"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ಆ್ಯಕ್ಸೆಸ್ ತೆರವುಗೊಳಿಸು"</string>
     <string name="controls_label" msgid="8671492254263626383">"ನಿಯಂತ್ರಣಗಳು"</string>
     <string name="force_stop" msgid="2681771622136916280">"ಬಲವಂತವಾಗಿ ನಿಲ್ಲಿಸಿ"</string>
+    <string name="archive" msgid="9074663845068632127">"ಆರ್ಕೈವ್ ಮಾಡಿ"</string>
+    <string name="restore" msgid="7622486640713967157">"ಮರುಸ್ಥಾಪಿಸಿ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"ಒಟ್ಟು"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ಅಪ್ಲಿಕೇಶನ್ ಗಾತ್ರ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB ಸಂಗ್ರಹಣೆ ಅಪ್ಲಿಕೇಶನ್"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"ಪ್ಯಾಕೇಜ್‌ನ ಗಾತ್ರವನ್ನು ಲೆಕ್ಕ ಮಾಡಲಾಗಲಿಲ್ಲ."</string>
     <string name="version_text" msgid="7628938665256107608">"ಆವೃತ್ತಿ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ಸರಿಸು"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ಆರ್ಕೈವ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ಅನ್ನು ಆರ್ಕೈವ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ಮರುಸ್ಥಾಪಿಸುವಿಕೆ ವಿಫಲವಾಗಿದೆ"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ಮರುಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ಮತ್ತೊಂದು ರವಾನೆ ಈಗಾಗಲೇ ಪ್ರಗತಿಯಲ್ಲಿದೆ."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ಸಾಕಷ್ಟು ಸಂಗ್ರಹಣೆ ಸ್ಥಳ ಇಲ್ಲ"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ಅಪ್ಲಿಕೇಶನ್ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ಲಭ್ಯವಿರುವ ಆನ್-ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ಆನ್-ಸ್ಕ್ರೀನ್ ಕೀಬೋರ್ಡ್‌ ನಿರ್ವಹಿಸಿ"</string>
     <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="6922850403920596246">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿಗಾಗಿ ಬೌನ್ಸ್ ಕೀಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ಸ್ಲೋ ಕೀಗಳು"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿಗಾಗಿ ಸ್ಲೋ ಕೀಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ಸ್ಟಿಕಿ ಕೀಗಳು"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ಭೌತಿಕ ಕೀಬೋರ್ಡ್ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿಗಾಗಿ ಸ್ಟಿಕಿ ಕೀಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ಇನ್ನಷ್ಟು ಆಯ್ಕೆಗೆ ಟಚ್‌ಪ್ಯಾಡ್‌ನ ಕೆಳ ಬಲ ಮೂಲೆಯನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ಪಾಯಿಂಟರ್ ವೇಗ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ಟಚ್‌ಪ್ಯಾಡ್ ಗೆಸ್ಚರ್‌ಗಳನ್ನು ಕಲಿಯಿರಿ"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ಹೋಮ್‌ಗೆ ಹೋಗಿ"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ಟಚ್‌ಪ್ಯಾಡ್‌ನಲ್ಲಿ ಎಲ್ಲಿಯಾದರೂ ಮೂರು ಬೆರಳಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ಹಿಂದಿರುಗಿ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ಬಳಕೆಯ ಸಮಯದ ಪ್ರಕಾರ ವಿಂಗಡಿಸಿ"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ಕೊನೆಯ ಬಾರಿ ಬಳಸಿದ ಪ್ರಕಾರ ವಿಂಗಡಿಸಿ"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ಆ್ಯಪ್ ಹೆಸರಿನ ಪ್ರಕಾರ ವಿಂಗಡಿಸಿ"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ಕಳೆದ ಬಾರಿಯ ಬಳಕೆ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ಕೊನೆಯದಾಗಿ ಬಳಸಿರುವುದು"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ಎಂದಿಗೂ ಇಲ್ಲ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ಬಳಕೆ ಸಮಯ"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮೂಲಕ ಹಿಗ್ಗಿಸಿ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ಶಾರ್ಟ್‌ಕಟ್ ಮೂಲಕ ಹಿಗ್ಗಿಸಿ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ಶಾರ್ಟ್‌ಕಟ್ ಮತ್ತು ಮೂರು-ಟ್ಯಾಪ್ ಮೂಲಕ ಹಿಗ್ಗಿಸಿ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> ಕುರಿತು"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ತೆರೆಯಲು ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಬಳಸಿ"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ತೆರೆಯಲು, ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿಹಿಡಿಯಿರಿ"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ತೆರೆಯಲು, ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ತೆರೆಯಲು ಎರಡು-ಬೆರಳಿನಿಂದ ಡಬಲ್ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ತೆರೆಯಲು ಗೆಸ್ಚರ್ ಬಳಸಿ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ಆ್ಯಕ್ಸೆಸ್ಸಿಬಿಲಿಟಿ ಗೆಸ್ಚರ್ ಅನ್ನು ಬಳಸಿ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ಈ ಫೀಚರ್ ಬಳಸಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದಲ್ಲಿರುವ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ಟ್ಯಾಪ್ ಮಾಡಿ.\n\nಫೀಚರ್‌ಗಳ ನಡುವೆ ಬದಲಾಯಿಸಲು, ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ಈ ಫೀಚರ್ ಬಳಸಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿನ ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ಈ ಫೀಚರ್ ಬಳಸಲು, ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ಹಿಗ್ಗಿಸುವಿಕೆಯನ್ನು ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ನಿಲ್ಲಿಸಲು, ನಿಮ್ಮ ಪರದೆಯ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಟ್ರಿಪಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ಹಿಗ್ಗಿಸುವಿಕೆ ಪ್ರಾರಂಭಿಸಲು ಮತ್ತು ನಿಲ್ಲಿಸಲು, ಎರಡು ಬೆರಳಿನಿಂದ ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಎಲ್ಲಿಯಾದರೂ ಡಬಲ್-ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ಈ ಫೀಚರ್ ಬಳಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ಈ ಫೀಚರ್ ಬಳಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಫೀಚರ್ ಬಳಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 2 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಫೀಚರ್ ಬಳಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಸ್ಕ್ರೀನ್ ಕೆಳಭಾಗದಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ.\n\nವೈಶಿಷ್ಟ್ಯಗಳ ನಡುವೆ ಬದಲಿಸಲು, 3 ಬೆರಳುಗಳನ್ನು ಬಳಸಿ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ ಮತ್ತು ಹೋಲ್ಡ್‌ ಮಾಡಿ."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ಅರ್ಥವಾಯಿತು"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಸೆಟ್ಟಿಂಗ್"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ಬಟನ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ಶಾರ್ಟ್‌ಕಟ್"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಗೆಸ್ಚರ್"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಹಿಡಿದುಕೊಳ್ಳುವುದು"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ಎರಡೂ ವಾಲ್ಯೂಮ್ ಕೀಗಳನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ಎರಡು ಬೆರಳಿನ ಡಬಲ್-ಟ್ಯಾಪ್ ಸ್ಕ್ರೀನ್"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ಎರಡು ಬೆರಳಿನ ಡಬಲ್-ಟ್ಯಾಪ್ ಸ್ಕ್ರೀನ್"</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="6863958573135995927">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಮೂರು ಬಾರಿ ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ಸ್ಕ್ರೀನ್‌ನ ಮೇಲೆ {0,number,integer} ಸಲ ತ್ವರಿತವಾಗಿ ಟ್ಯಾಪ್ ಮಾಡಿ. ಈ ಶಾರ್ಟ್‌ಕಟ್, ನಿಮ್ಮ ಸಾಧನವನ್ನು ನಿಧಾನಗೊಳಿಸಬಹುದು"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಮತ್ತು ಗೆಸ್ಚರ್ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಬಟನ್ ಬಳಸಿ. 3-ಬಟನ್ ನ್ಯಾವಿಗೇಶನ್‌ನ ಜೊತೆಗೆ ಗೆಸ್ಚರ್ ಲಭ್ಯವಿಲ್ಲ."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಫೀಚರ್‌ಗಳನ್ನು ತ್ವರಿತವಾಗಿ ಪ್ರವೇಶಿಸಿ"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ಪ್ರಾರಂಭಿಸಲು"</b>\n"1. ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ\n2. ಒಂದು ಫೀಚರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ\n3. ಫೀಚರ್ ಪ್ರವೇಶಿಸಲು ನೀವು ಬಟನ್ ಅಥವಾ ಗೆಸ್ಚರ್ ಅನ್ನು ಬಳಸಲು ಬಯಸುತ್ತೀರಾ ಎಂಬುದನ್ನು ಆರಿಸಿ"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ಪ್ರಾರಂಭಿಸಲು"</b>\n"1. ಆ್ಯಕ್ಸೆಸಿಬಿಲಿಟಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ\n2. ಒಂದು ಫೀಚರ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ ಮತ್ತು ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ\n3. ಫೀಚರ್ ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಬಟನ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ಬಟನ್ ಅಥವಾ ಗೆಸ್ಚರ್ ಬಳಸಿ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ಸ್ಥಳ"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ಗಾತ್ರ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ಪವರ್ ಬಟನ್ ಕರೆಯನ್ನು ಕೊನೆಗೊಳಿಸುತ್ತದೆ"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ದೊಡ್ಡ ಮೌಸ್ ಪಾಯಿಂಟರ್"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ಮೌಸ್ ಪಾಯಿಂಟರ್ ದೊಡ್ಡದಾಗಿ ಕಾಣುವಂತೆ ಮಾಡಿ"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"ಎಲ್ಲಾ ಆ್ಯಪ್‌ಗಳನ್ನು ಡಾರ್ಕ್ ಮಾಡಿ"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ತಮ್ಮದೇ ಆದ ಡಾರ್ಕ್ ಥೀಮ್ ಇಲ್ಲದ ಆ್ಯಪ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸುತ್ತದೆ. ಕೆಲವು ಆ್ಯಪ್‌ಗಳು ಬಣ್ಣಗಳನ್ನು ಇನ್‌ವರ್ಟ್ ಮಾಡಿದಂತಹ ಸಮಸ್ಯೆಗಳನ್ನು ಹೊಂದಿರಬಹುದು."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ಅನಿಮೇಷನ್‌ಗಳನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಚಲನೆಗಳನ್ನು ಕಡಿಮೆಮಾಡಿ"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ಮೊನೊ ಆಡಿಯೊ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ವೈಬ್ರೇಷನ್ ಮತ್ತು ಹ್ಯಾಪ್ಟಿಕ್ಸ್ ಬಳಸಿ"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"ಅಲಾರಾಂ ವೈಬ್ರೇಷನ್"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"ಮಾಧ್ಯಮ ವೈಬ್ರೇಷನ್"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"ಕೀಬೋರ್ಡ್ ವೈಬ್ರೇಷನ್"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ರಿಂಗ್‌ನೊಂದಿಗೆ ವೈಬ್ರೇಷನ್"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ಅಧಿಸೂಚನೆಯ ವೈಬ್ರೇಷನ್"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ಸ್ಪರ್ಶ ಪ್ರತಿಕ್ರಿಯೆ"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"ನಿಲ್ಲಿಸಿ"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ರದ್ದುಮಾಡಿ"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> ನಿಲ್ಲಿಸಬೇಕೇ?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿದರೆ <xliff:g id="SERVICE">%2$s</xliff:g> ಸ್ಥಗಿತವಾಗುತ್ತದೆ."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ಆಫ್ ಮಾಡಿ"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ಆನ್ ಇರಿಸಿ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ಆಫ್ ಮಾಡಬೇಕೆ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"ಯಾವುದೇ ಸೇವೆಗಳನ್ನು ಸ್ಥಾಪಿಸಿಲ್ಲ"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ಯಾವುದೇ ಸೇವೆಯನ್ನು ಆಯ್ಕೆ ಮಾಡಿಲ್ಲ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"ಯಾವುದೇ ವಿವರಣೆಯನ್ನು ಒದಗಿಸಿಲ್ಲ."</string>
     <string name="settings_button" msgid="2195468788019730377">"ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ಬೆಳಕಿನ ಸೂಕ್ಷ್ಮತೆ, ಫೋಟೊಫೋಬಿಯಾ, ಡಾರ್ಕ್ ಥೀಮ್, ಮೈಗ್ರೇನ್, ತಲೆನೋವು, ಓದುವ ಮೋಡ್, ರಾತ್ರಿ ಮೋಡ್, ಕಡಿಮೆ ಹೊಳಪು, ವೈಟ್ ಪಾಯಿಂಟ್"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ಸುಲಭ ಬಳಕೆ, ಸುಲಭ ಆ್ಯಕ್ಸೆಸ್, ಸಹಾಯ, ಅಸಿಸ್ಟೀವ್"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ದೃಷ್ಟಿ, ಶ್ರವಣ, ಕುರುಡು, ಕಿವುಡು, ಮೋಟಾರ್, ದಕ್ಷತೆ, ಅಸಿಸ್ಟೀವ್, ಸಹಾಯ, ಸುಲಭ ಬಳಕೆ, ಸುಲಭ ಆ್ಯಕ್ಸೆಸ್, ಹ್ಯಾಂಡ್, ನೆರವು"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ವಿಂಡೋ ಮ್ಯಾಗ್ನಿಫೈಯರ್, ಝೂಮ್‌, ಹಿಗ್ಗಿಸುವಿಕೆ, ಕಡಿಮೆ ವಿಷನ್‌, ಹಿಗ್ಗಿಸಿ, ದೊಡ್ಡದಾಗಿಸಿ"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"ಶೀರ್ಷಿಕೆಗಳು, ಉಪಶೀರ್ಷಿಕೆಗಳು, CC, ಲೈವ್ ಟ್ರಾನ್ಸ್‌ಕ್ರೈಬ್, ಕಿವುಡುತನ, ಶ್ರವಣ ದೋಷ, ಕಾರ್ಟ್, ಧ್ವನಿಯಿಂದ ಪಠ್ಯ, ಉಪಶೀರ್ಷಿಕೆ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ಕಲರ್ ಕಾಂಟ್ರಾಸ್ಟ್‌‌"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ಮೋಟಾರ್, ಮೌಸ್"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ಶ್ರವಣ ಸಾಧನಗಳು, ಕಿವುಡುತನ, ಶ್ರವಣ ದೋಷ, ಕಾಕ್ಲಿಯರ್ ಇಂಪ್ಲಾಂಟ್‌ಗಳು, ಆಂಪ್ಲಿಫಿಕೇಶನ್ ಸಾಧನಗಳು, ಧ್ವನಿ ಪ್ರಾಸೆಸರ್‌ಗಳು"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ಮೋಟಾರ್, ಮೌಸ್, ಬಾಹ್ಯ ಮೌಸ್, ಹೆಡ್ ಮೌಸ್, ಅಡಾಪ್ಟಿವ್ ಮೌಸ್, ವೀಲ್‌ಚೇರ್, ಜಾಯ್‌ಸ್ಟಿಕ್‌"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ಶ್ರವಣ ಸಾಧನಗಳು, ಕಿವುಡುತನ, ಶ್ರವಣ ದೋಷ, ಕಾಕ್ಲಿಯರ್ ಇಂಪ್ಲಾಂಟ್‌ಗಳು, ಆಂಪ್ಲಿಫಿಕೇಶನ್ ಸಾಧನಗಳು, ಧ್ವನಿ ಪ್ರಾಸೆಸರ್‌ಗಳು, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"ಕಿವುಡುತನ, ಶ್ರವಣ ದೋಷ, ಶೀರ್ಷಿಕೆಗಳು, ಟೆಲಿಟೈಪ್, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ಮೂರು ಬಟನ್‌ಗಳು"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ದಕ್ಷತೆ, ಮೋಟಾರ್, ಹಿರಿಯ, ಸಂಧಿವಾತ, rsi, ಸ್ಟ್ರೋಕ್‌‌, ನಡುಕ, ಮಲ್ಟಿಪಲ್ ಸ್ಕ್ಲೆರೋಸಿಸ್, ಸೆರೆಬ್ರಲ್ ಪಾಲ್ಸಿ, ಅಲುಗಾಡುವಿಕೆ, ಪುನರಾವರ್ತಿತ ಒತ್ತಡದ ಗಾಯ, ಹ್ಯಾಂಡ್"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ವಿಳಂಬ, ದಕ್ಷತೆ, ಹಿರಿಯ"</string>
     <string name="print_settings" msgid="8519810615863882491">"ಮುದ್ರಣ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ಆಫ್"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 ಮುದ್ರಣ ಸೇವೆ ಆನ್ ಆಗಿದೆ}one{# ಮುದ್ರಣ ಸೇವೆಗಳು ಆನ್ ಆಗಿವೆ}other{# ಮುದ್ರಣ ಸೇವೆಗಳು ಆನ್ ಆಗಿವೆ}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ಉಳಿದಿದೆ"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"ಚಾರ್ಜ್‌ ಮಾಡಲು <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ವೀಕ್ಷಣಾ ಅವಧಿ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ಹಿನ್ನೆಲೆ ಸಮಯ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ಬ್ಯಾಟರಿ ಕಡಿಮೆಯಿದೆ"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ರನ್ ಆಗಲು ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಅನುಮತಿ ನೀಡಿ"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ಸೀಮಿತಗೊಳಿಸುವುದೇ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ಒಂದು ಅಪ್ಲಿಕೇಶನ್‌ನ ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ನೀವು ಸೀಮಿತಗೊಳಿಸಿದರೆ, ಅದು ಸರಿಯಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸದಿರಬಹುದು"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ಬ್ಯಾಟರಿ ಅನ್ನು ಆಪ್ಟಿಮೈಜ್ ಮಾಡಲು ಈ ಅಪ್ಲಿಕೇಶನ್ ಹೊಂದಿಸದ ಕಾರಣ, ನೀವು ಇದನ್ನು ನಿರ್ಬಂಧಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\n ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಲು, ಮೊದಲು ಬ್ಯಾಟರಿ ಆಪ್ಟಿಮೈಸೇಷನ್ ಅನ್ನು ಆನ್ ಮಾಡಿ."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ಬ್ಯಾಟರಿ ಬಳಕೆಯನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ಹಿನ್ನೆಲೆ ಬಳಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ನೈಜ-ಸಮಯದ ಅಪ್‌ಡೇಟ್‌ಗಳಿಗಾಗಿ ಸಕ್ರಿಯಗೊಳಿಸಿ, ಬ್ಯಾಟರಿ ಸೇವ್ ಮಾಡಲು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ಮಿತಿ ಇಲ್ಲದ್ದು"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ‌"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ನಿರ್ಬಂಧಿಸಲಾಗಿದೆ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ಅತ್ಯಂತ ಹೆಚ್ಚು ಬಳಸಲಾದ ಆ್ಯಪ್‌ಗಳನ್ನು ನೋಡಿ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ರಕ್ಷಿಸಲು ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"ನಿಮ್ಮ ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದಕ್ಕೆ ಸಹಾಯ ಮಾಡಲು, ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ರಕ್ಷಿಸಲು ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯ ಬಾಳಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದಕ್ಕೆ ಸಹಾಯ ಮಾಡಲು, ಡಾಕ್ ಆಗಿರುವಾಗ ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ರಕ್ಷಿಸಲು ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯ ಬಾಳಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುವುದಕ್ಕೆ ಸಹಾಯ ಮಾಡಲು, ಡಾಕ್ ಆಗಿರುವಾಗ ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗಿದೆ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"ಪೂರ್ಣವಾಗಿ ಚಾರ್ಜ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ನಿಮ್ಮ ಬ್ಯಾಟರಿಯನ್ನು ರಕ್ಷಿಸಲು, ಮುಂದಿನ ಬಾರಿ ನಿಮ್ಮ ಟ್ಯಾಬ್ಲೆಟ್ ಡಾಕ್ ಆಗಿರುವಾಗ ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ಆಪ್ಟಿಮೈಸ್ ಮಾಡಲಾಗುತ್ತದೆ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ಚಾರ್ಜಿಂಗ್ ಅನ್ನು ವಿರಾಮಗೊಳಿಸಲಾಗಿದೆ ಎಂಬುದರ ಕುರಿತು ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ಚಾರ್ಜಿಂಗ್ ಪುನರಾರಂಭಿಸಿ"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ಅಧಿಕ ಬ್ಯಾಟರಿ ಬಳಸುವ ಹಿನ್ನೆಲೆ ಚಟುವಟಿಕೆಯನ್ನು ಒಳಗೊಂಡಿದೆ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಬ್ಯಾಟರಿ ಬಾಳಿಕೆಯನ್ನು ಬಳಸಲು ಈ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ. ನಿಮ್ಮ ಬ್ಯಾಟರಿ ನಿರೀಕ್ಷಿಸಿದ ಅವಧಿಗಿಂತ ಮುನ್ನವೇ ಮುಕ್ತಾಯವಾಗಬಹುದು."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ತೆಗೆದುಹಾಕಿ"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ರದ್ದು ಮಾಡಿ"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"ಸಂಪೂರ್ಣವಾಗಿ ಚಾರ್ಜ್ ಮಾಡಿ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ಚಾರ್ಜಿಂಗ್ ಪರಿಕರ ಕುರಿತು ಸಮಸ್ಯೆ ಇದೆ"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ಚಾರ್ಜಿಂಗ್ ಆ್ಯಕ್ಸೆಸರಿಯನ್ನು ಪರಿಶೀಲಿಸಿ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ಹೊಂದಾಣಿಕೆಯಾಗದ ಚಾರ್ಜಿಂಗ್ ಕುರಿತು ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ಬ್ಯಾಟರಿ ನಿರ್ವಾಹಕ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸಿ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ಕೊನೆಯ ಪೂರ್ಣ ಚಾರ್ಜ್ ನಂತರ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"ಸಿಸ್ಟಂ ಆ್ಯಪ್‌ಗಳು"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"ಅನ್‌ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‍ಗಳು"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ಇತರೆ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"ಅಂದಾಜಿಸಿದ ಸಮಯ ಮುಗಿದಿದೆ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"ಸಂಪೂರ್ಣ ಚಾರ್ಜ್ ಆಗಲು"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"ಒಟ್ಟು: ಒಂದು ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ಹಿನ್ನೆಲೆ: ಒಂದು ನಿಮಿಷಕ್ಕಿಂತ ಕಡಿಮೆ"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"ವೀಕ್ಷಣಾ ಅವಧಿ: ಒಂದು ನಿಮಿಷಕ್ಕೂ ಕಡಿಮೆ ಸಮಯ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ಒಂದು ನಿಮಿಷಕ್ಕಿಂತಲೂ ಕಡಿಮೆ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"ಒಟ್ಟು: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ಹಿನ್ನೆಲೆ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"ವೀಕ್ಷಣಾ ಅವಧಿ: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ಈಗ"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ಬ್ಯಾಟರಿ ಬಳಕೆಯ ಚಾರ್ಟ್"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ದೈನಂದಿನ ಬ್ಯಾಟರಿ ಬಳಕೆಯ ಚಾರ್ಟ್"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ಪ್ರತಿಗಂಟೆಯ ಬ್ಯಾಟರಿ ಬಳಕೆಯ ಚಾರ್ಟ್"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ನಿಂದ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> ವರೆಗೆ ಬ್ಯಾಟರಿ ಮಟ್ಟದ ಶೇಕಡಾವಾರು"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ಕೊನೆಯ ಸಂಪೂರ್ಣ ಚಾರ್ಜಿಂಗ್ ಮಾಡಿದ ನಂತರದಿಂದ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> ನ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"ಕೊನೆಯ ಪೂರ್ಣ ಚಾರ್ಜ್‌ನಿಂದ ವೀಕ್ಷಣಾ ಅವಧಿ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"ತುರ್ತು ಡೈಯಲಿಂಗ್ ಸಿಗ್ನಲ್"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ತುರ್ತು ಕರೆ ಮಾಡಿದಾಗ ಕಾರ್ಯ ರೀತಿಯನ್ನು ಹೊಂದಿಸಿ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ಬ್ಯಾಕಪ್"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ಆನ್"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ಆಫ್"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ಬ್ಯಾಕಪ್ &amp; ಮರುಸ್ಥಾಪನೆ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ವೈಯಕ್ತಿಕ ಡೇಟಾ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ನನ್ನ ಡೇಟಾ ಬ್ಯಾಕಪ್ ಮಾಡು"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ಮೊಬೈಲ್ ಡೇಟಾ ಮತ್ತು ವೈ-ಫೈ"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ವೈಯಕ್ತಿಕ ಡೇಟಾ ಸ್ವಯಂ-ಸಿಂಕ್ ಮಾಡಿ"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ಸ್ವಯಂ-ಸಿಂಕ್ ಕೆಲಸದ ಡೇಟಾ"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ಖಾಸಗಿ ಡೇಟಾ ಸ್ವಯಂ ಸಿಂಕ್ ಮಾಡಿ"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ಆವರ್ತನವನ್ನು ಬದಲಾಯಿಸು…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ಡೇಟಾ ಬಳಕೆ ಆವರ್ತನೆಯನ್ನು ಮರುಹೊಂದಿಸಲು ತಿಂಗಳ ದಿನಾಂಕ:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ಈ ಅವಧಿಯಲ್ಲಿ ಯಾವುದೇ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಡೇಟಾವನ್ನು ಬಳಸಿಕೊಂಡಿಲ್ಲ."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ಹೆಸರು"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ಪ್ರಕಾರ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ಸರ್ವರ್ ವಿಳಾಸ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP ಎನ್‌ಕ್ರಿಪ್ಷನ್ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ರಹಸ್ಯ"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ಗುರುತಿಸುವಿಕೆ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ಪೂರ್ವ-ಹಂಚಿತ ಕೀ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ಬಳಕೆದಾರರ ಪ್ರಮಾಣಪತ್ರ"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ಪ್ರಮಾಣಪತ್ರ"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ಸರ್ವರ್ ಪ್ರಮಾಣಪತ್ರ"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"ಸುಧಾರಿತ ಆಯ್ಕೆಗಳನ್ನು ತೋರಿಸು"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ಹುಡುಕಾಟ ಡೊಮೇನ್‌ಗಳು"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ಸರ್ವರ್‌ಗಳು (ಉದಾ. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ಫಾರ್ವರ್ಡಿಂಗ್ ಮಾರ್ಗಗಳು (ಉದಾ. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ಬಳಕೆದಾರರಹೆಸರು"</string>
     <string name="vpn_password" msgid="1183746907642628127">"ಪಾಸ್‌ವರ್ಡ್"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ಖಾತೆಯ ಮಾಹಿತಿಯನ್ನು ಸೇವ್ ಮಾಡಿ"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ಬಳಸಲಾಗಿಲ್ಲ)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ಸರ್ವರ್‌ ಅನ್ನು ಪರಿಶೀಲಿಸದಿರು)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ಸರ್ವರ್‌ನಿಂದ ಸ್ವೀಕರಿಸಲಾಗಿದೆ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ಈ VPN ಪ್ರಕಾರವು, ಎಲ್ಲ ಸಮಯಗಳಲ್ಲೂ ಸಂಪರ್ಕ ಹೊಂದಿರಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ಯಾವಾಗಲೂ-ಆನ್ VPN, ಅಂಕಿಗಳಲ್ಲಿರುವ ಸರ್ವರ್ ವಿಳಾಸಗಳನ್ನು ಮಾತ್ರ ಬೆಂಬಲಿಸುತ್ತದೆ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಗಾಗಿ DNS ಸರ್ವರ್ ಅನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಬೇಕು"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ಯಾವಾಗಲೂ-ಆನ್ VPN ಗಾಗಿ, DNS ಸರ್ವರ್ ವಿಳಾಸಗಳು ಅಂಕಿಗಳಲ್ಲಿರಬೇಕು"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ನಮೂದಿಸಿದ ಮಾಹಿತಿಯು ಯಾವಾಗಲೂ-ಆನ್ VPN ಅನ್ನು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ರದ್ದುಮಾಡಿ"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ವಜಾಗೊಳಿಸಿ"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN ಇಲ್ಲದಿರುವ ಸಂಪರ್ಕಗಳನ್ನು ಬ್ಲಾಕ್ ಮಾಡಿ"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN ಸಂಪರ್ಕ ಅಗತ್ಯವಿದೆಯೇ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ಸುರಕ್ಷಿತವಾಗಿಲ್ಲ. IKEv2 VPN ಗೆ ಅಪ್‌ಡೇಟ್ ಮಾಡಿ"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ಬೆಂಬಲಿಸದ VPN ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು ವಿಫಲವಾಗಿದೆ."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ಯಾವಾಗಲೂ ಸಂಪರ್ಕದಿಂದಿರಲು VPN ಪ್ರೊಫೈಲ್‌ ಆಯ್ಕೆಮಾಡಿ. ಈ VPN ಗೆ ಸಂಪರ್ಕಗೊಳಿಸಿದಾಗ ಮಾತ್ರ ನೆಟ್‌ವರ್ಕ್‌ ದಟ್ಟಣೆಯನ್ನು ಅನುಮತಿಸಲಾಗುವುದು."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ಯಾವುದೂ ಇಲ್ಲ"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ಎರಡೂ ಸರ್ವರ್‌ ಮತ್ತು DNS ಗಾಗಿ VPN ನಲ್ಲಿ ಯಾವಾಗಲೂ IP ವಿಳಾಸದ ಅಗತ್ಯವಿರುತ್ತದೆ."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER ಎಚ್ಚರಿಕೆಗಳು"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ಮಕ್ಕಳ ಅಪಹರಣಗಳ ಕುರಿತ ಪ್ರಕಟಣೆಗಳನ್ನು ಸ್ವೀಕರಿಸಿ"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ಪುನರಾವರ್ತನೆ"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"ಕರೆ ನಿರ್ವಾಹಕವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"ನಿಮ್ಮ ಕರೆಗಳನ್ನು ಹೇಗೆ ಮಾಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ನಿರ್ವಹಿಸಲು ಈ ಸೇವೆಗೆ ಅನುಮತಿಸಿ."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"ಕರೆ ನಿರ್ವಾಹಕ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ವೈರ್‌ಲೆಸ್ ತುರ್ತು ಅಲರ್ಟ್‌ಗಳು"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ನೆಟ್‌ವರ್ಕ್‌ ಆಪರೇಟರ್‌ಗಳು"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ಆ್ಯಕ್ಸೆಸ್ ಕೇಂದ್ರದ ಹೆಸರುಗಳು"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"ಸಿಮ್‌ ಸ್ಥಿತಿ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ಸಿಮ್ ಸ್ಥಿತಿ (ಸಿಮ್ ಸ್ಲಾಟ್ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM ಗಳು ಬದಲಾಗಿವೆ."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"ನಿಮ್ಮ SIM ಗಳು ಬದಲಾಗಿವೆ"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ಹೊಂದಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ಪ್ರತಿ ಬಾರಿ ಕೇಳು"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ಆಯ್ಕೆ ಅಗತ್ಯವಿದೆ"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ಇತ್ತೀಚಿನ ಆ್ಯಪ್‌ಗಳು, ಡೀಫಾಲ್ಟ್ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್‌ನಲ್ಲಿರುವ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಗೆ ಅಧಿಸೂಚನೆ ಆ್ಯಕ್ಸೆಸ್ ಲಭ್ಯವಿಲ್ಲ."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು ಮತ್ತು ಖಾತೆಗಳು"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"ಉಳಿಸಲಾದ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಸ್ವಯಂ ಭರ್ತಿ, ಸಿಂಕ್ ಮಾಡಿದ ಖಾತೆಗಳು"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ಸೈನ್-ಇನ್‌ ಮತ್ತು ಆಟೋಫಿಲ್‌ ಕುರಿತ ಸಲಹೆಗಳು"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ಡಿಫಾಲ್ಟ್ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ಕ್ಲೋನ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ಆ್ಯಪ್‌ನ ಎರಡನೇ ನಿದರ್ಶನವನ್ನು ರಚಿಸಿ, ಇದರಿಂದ ನೀವು ಒಂದೇ ಸಮಯದಲ್ಲಿ ಎರಡು ಖಾತೆಗಳನ್ನು ಬಳಸಬಹುದು."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"ವಾಲೆಟ್"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ಪಾವತಿಸಿ, ಟ್ಯಾಪ್ ಮಾಡಿ, ಪಾವತಿಗಳು"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ಬ್ಯಾಕಪ್, ಬ್ಯಾಕ್ ಅಪ್"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ಗೆಸ್ಚರ್"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ಮುಖ, ಅನ್‌ಲಾಕ್‌, ದೃಢೀಕರಣ, ಸೈನ್ ಇನ್"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ಫೇಸ್, ಅನ್‌ಲಾಕ್, ದೃಢೀಕರಣ, ಸೈನ್ ಇನ್, ಫಿಂಗರ್‌ ಪ್ರಿಂಟ್, ಬಯೋಮೆಟ್ರಿಕ್"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl ಆವೃತ್ತಿ, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ಪಠ್ಯ ಗಾತ್ರ, ದೊಡ್ಡ ಪ್ರಿಂಟ್, ದೊಡ್ಡ ಫಾಂಟ್, ದೊಡ್ಡ ಪಠ್ಯ, ಕಡಿಮೆ ವಿಷನ್‌, ಪಠ್ಯವನ್ನು ದೊಡ್ಡದಾಗಿಸಿ, ಫಾಂಟ್ ಹಿಗ್ಗಿಸುವಿಕೆ, ಫಾಂಟ್ ಹಿಗ್ಗುವಿಕೆ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ಯಾವಾಗಲೂ ಆನ್ ಇರುವ ಆ್ಯಂಬಿಯೆಂಟ್ ಡಿಸ್‌ಪ್ಲೇ, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ಟ್ಯಾಗ್, ರೀಡರ್"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ಕೀಬೋರ್ಡ್, ಹ್ಯಾಪ್ಟಿಕ್ಸ್, ವೈಬ್ರೇಟ್,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ವಾಲ್ಯೂಮ್, ವೈಬ್ರೇಶನ್‌, ಅಡಚಣೆ ಮಾಡಬೇಡಿ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ಮಾಧ್ಯಮ ವಾಲ್ಯೂಮ್"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ವಾಲ್ಯೂಮ್ ಕ್ಯಾಸ್ಟ್ ಮಾಡಿ"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ಧ್ವನಿಗಳನ್ನು ಪವರ್ ಆನ್ ಮಾಡಿ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"ಲೈವ್ ಶೀರ್ಷಿಕೆ"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ಸ್ವಯಂಚಾಲಿತ ಶೀರ್ಷಿಕೆ ಮಾಧ್ಯಮ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ಫೋನ್ ಸ್ಪೀಕರ್‌ಗಳು"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ಟ್ಯಾಬ್ಲೆಟ್‌‌ ಸ್ಪೀಕರ್‌ಗಳು"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ಸಾಧನದ ಸ್ಪೀಕರ್‌ಗಳು"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ವೈರ್ ಕನೆಕ್ಷನ್ ಹೊಂದಿರುವ ಹೆಡ್‌ಫೋನ್‌ಗಳು"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಮಾಧ್ಯಮಗಳ ಆಡಿಯೋ ಇನ್ನಷ್ಟು ತಲ್ಲೀನವಾಗಿ ಕೇಳಿಸುತ್ತದೆ"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ಆಫ್"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ಎಲ್ಲಾ ನೋಟಿಫಿಕೇಶನ್‍ ಕಂಟೆಂಟ್ ತೋರಿಸಿ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ಅನ್‌ಲಾಕ್ ಮಾಡಿದ ನಂತರ ಮಾತ್ರ ಸೂಕ್ಷ್ಮ ಕಂಟೆಂಟ್‌ ತೋರಿಸಿ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ತೋರಿಸಲೇಬೇಡಿ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ಲಾಕ್‌ ಸ್ಕ್ರೀನ್ ಹೇಗೆ ಪ್ರದರ್ಶನವಾಗಬೇಕು ಎಂದು ನೀವು ಬಯಸುತ್ತೀರಿ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ನಿಮ್ಮ ಲಾಕ್ ಸ್ಕ್ರೀನ್ ಏನನ್ನು ತೋರಿಸಬೇಕೆಂದು ನೀವು ಬಯಸುತ್ತೀರಿ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ಲಾಕ್ ಸ್ಕ್ರೀನ್"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ಎಲ್ಲಾ ಉದ್ಯೋಗದ ನೋಟಿಫಿಕೇಶನ್ ಕಂಟೆಂಟ್ ತೋರಿಸಿ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ಸೂಕ್ಷ್ಮ ಕೆಲಸದ ಕಂಟೆಂಟ್‍ ಅನ್ನು ಮರೆಮಾಡಿ"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ಇತ್ತೀಚಿನ ಸಂಭಾಷಣೆಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"ಸಂಭಾಷಣೆಯನ್ನು ತೆಗೆದುಹಾಕಲಾಗಿದೆ"</string>
     <string name="clear" msgid="5092178335409471100">"ತೆರವುಗೊಳಿಸಿ"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> ಅನ್ನು ತೆರವುಗೊಳಿಸಿ"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ಆದ್ಯತೆ ಮತ್ತು ಮಾರ್ಪಡಿಸಿದ ಸಂಭಾಷಣೆಗಳು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"ನೀವು ಸಂಭಾಷಣೆಯನ್ನು ಆದ್ಯತೆಯಾಗಿ ಗುರುತಿಸಿದ ನಂತರ ಅಥವಾ ಸಂಭಾಷಣೆಗಳಲ್ಲಿ ಯಾವುದೇ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದ ನಂತರ, ಅವು ಇಲ್ಲಿ ಗೋಚರಿಸುತ್ತವೆ. \n\nಸಂಭಾಷಣೆ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಬದಲಾಯಿಸಲು: \n ಪುಲ್-ಡೌನ್ ಶೇಡ್ ತೆರೆಯಲು ಸ್ಕ್ರೀನ್‌ನ ಮೇಲಿನಿಂದ ಕೆಳಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ, ನಂತರ ಸಂಭಾಷಣೆಯನ್ನು ಸ್ಪರ್ಶಿಸಿ ಮತ್ತು ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ಕುಗ್ಗಿಸಿ"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"ನೋಟಿಫಿಕೇಶನ್ ಕೂಲ್‌ಡೌನ್"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ಎಲ್ಲಾ ನೋಟಿಫಿಕೇಶನ್‌ಗಳಿಗೆ ಕೂಲ್‌ಡೌನ್ ಅನ್ನು ಅನ್ವಯಿಸಿ"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ಒಂದೇ ಆ್ಯಪ್‌ನಿಂದ ನೀವು ಹಲವಾರು ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ನಿರಂತರವಾಗಿ ಸ್ವೀಕರಿಸುತ್ತಿರುವ ಸಮಯದಲ್ಲಿ, ಕ್ರಮೇಣವಾಗಿ ನೋಟಿಫಿಕೇಶನ್ ವಾಲ್ಯೂಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಿ"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ಸಂಭಾಷಣೆಗಳಿಗೆ ಕೂಲ್‌ಡೌನ್ ಅನ್ನು ಅನ್ವಯಿಸಿ"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ಕಡಿಮೆ ಅವಧಿಯಲ್ಲಿ ಒಂದೇ ಚಾಟ್‌ನಿಂದ ನೀವು ಹಲವಾರು ಸಂದೇಶಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತಿರುವ ಸಮಯದಲ್ಲಿ, ಕ್ರಮೇಣವಾಗಿ ನೋಟಿಫಿಕೇಶನ್ ವಾಲ್ಯೂಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಿ"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"ನೋಟಿಫಿಕೇಶನ್ ಕೂಲ್‌ಡೌನ್ ಅನ್ನು ಬಳಸಬೇಡಿ"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ಒಂದೇ ಆ್ಯಪ್‌ನಿಂದ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಸತತವಾಗಿ ಸ್ವೀಕರಿಸುತ್ತಿದ್ದರೂ, ಎಂದಿಗೂ ನೋಟಿಫಿಕೇಶನ್ ವಾಲ್ಯೂಮ್ ಅನ್ನು ಕಡಿಮೆ ಮಾಡಬೇಡಿ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ಅನ್‌ಲಾಕ್ ಮಾಡಿದಾಗ ವೈಬ್ರೇಟ್ ಆಗುತ್ತದೆ"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"ಸ್ಕ್ರೀನ್ ಅನ್‌ಲಾಕ್ ಆಗಿರುವಾಗ ಮಾತ್ರ ವೈಬ್ರೇಟ್ ಆಗುತ್ತದೆ"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ಉದ್ಯೋಗದ ಪ್ರೊಫೈಲ್‌ಗಳಿಗೆ ಅನ್ವಯಿಸಿ"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ನಿಮ್ಮ ವೈಯಕ್ತಿಕ ಪ್ರೊಫೈಲ್‌ನಿಂದ ನಿಮ್ಮ ಉದ್ಯೋಗದ ಪ್ರೊಫೈಲ್‌ಗೆ ನೋಟಿಫಿಕೇಶನ್ ಕೂಲ್‌ಡೌನ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅನ್ವಯಿಸಿ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ಸಹಾಯ ಸೇವೆಗಳು"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ಯಾವುದೇ ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿದ ಆ್ಯಪ್‌ಗಳು VR ಅಸಿಸ್ಟೆಂಟ್ ಸೇವೆಗಳ ರೀತಿಯಲ್ಲಿ ರನ್ ಮಾಡಲು ವಿನಂತಿಸಿಲ್ಲ."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> ಗೆ VR ಸೇವೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುವುದೇ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ಆಫ್"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ನೀವು ಆ್ಯಪ್ ಅನ್ನು ಅನ್‌ಪಿನ್ ಮಾಡುವವರೆಗೆ ಪ್ರಸ್ತುತ ಆ್ಯಪ್ ಅನ್ನು ನೋಡುತ್ತಿರಲು ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ವಿಶ್ವಾಸಾರ್ಹ ಸ್ನೇಹಿತರೊಂದಿಗೆ ನಿರ್ದಿಷ್ಟ ಆಟವನ್ನು ಆಡಲು ನೀವು ಈ ಫೀಚರ್ ಬಳಸಬಹುದು."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"ಆ್ಯಪ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿದಾಗ, ಪಿನ್ ಮಾಡಲಾದ ಆ್ಯಪ್ ಇತರ ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ವೈಯಕ್ತಿಕ ಡೇಟಾಗೆ ಆ್ಯಕ್ಸೆಸ್ ದೊರಕಬಹುದು. \n\nಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಬಳಸಲು: 	\n1. ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಆನ್ ಮಾಡಿ 	\n2. ಸಮಗ್ರ ನೋಟವನ್ನು ತೆರೆಯಿರಿ 	\n3. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿರುವ ಆ್ಯಪ್ ಐಕಾನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ, ನಂತರ ಪಿನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"ಆ್ಯಪ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿದಾಗ, ಪಿನ್ ಮಾಡಲಾದ ಆ್ಯಪ್ ಇತರ ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ವೈಯಕ್ತಿಕ ಡೇಟಾಗೆ ಆ್ಯಕ್ಸೆಸ್ ದೊರಕಬಹುದು. \n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಇತರರೊಂದಿಗೆ ಸುರಕ್ಷಿತವಾಗಿ ಹಂಚಿಕೊಳ್ಳಲು ನೀವು ಬಯಸಿದರೆ, ಅದರ ಬದಲಿಗೆ ಅತಿಥಿ ಪ್ರೊಫೈಲ್ ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿ. \n\nಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಬಳಸಲು: 	\n1. ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಆನ್ ಮಾಡಿ	\n2. ಸಮಗ್ರ ನೋಟವನ್ನು ತೆರೆಯಿರಿ 	\n3. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿರುವ ಆ್ಯಪ್ ಐಕಾನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ, ನಂತರ ಪಿನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"ಆ್ಯಪ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿದಾಗ, ಪಿನ್ ಮಾಡಲಾದ ಆ್ಯಪ್ ಇತರ ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ವೈಯಕ್ತಿಕ ಡೇಟಾಗೆ ಆ್ಯಕ್ಸೆಸ್ ದೊರಕಬಹುದು. \n\nಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಬಳಸಲು: 	\n{0,number,integer}. ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು 	\n{1,number,integer}. ಸಮಗ್ರ ನೋಟವನ್ನು ತೆರೆಯಿರಿ 	\n{2,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿರುವ ಆ್ಯಪ್ ಐಕಾನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ, ನಂತರ ಪಿನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"ಆ್ಯಪ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿದಾಗ, ಪಿನ್ ಮಾಡಲಾದ ಆ್ಯಪ್ ಇತರ ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯಬಹುದು ಮತ್ತು ವೈಯಕ್ತಿಕ ಡೇಟಾಗೆ ಆ್ಯಕ್ಸೆಸ್ ದೊರಕಬಹುದು. \n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಇತರರೊಂದಿಗೆ ಸುರಕ್ಷಿತವಾಗಿ ಹಂಚಿಕೊಳ್ಳಲು ನೀವು ಬಯಸಿದರೆ, ಅದರ ಬದಲಿಗೆ ಅತಿಥಿ ಪ್ರೊಫೈಲ್ ಬಳಸಲು ಪ್ರಯತ್ನಿಸಿ. \n\nಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಬಳಸಲು: 	\n{0,number,integer}. ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು 	\n{1,number,integer}. ಸಮಗ್ರ ನೋಟವನ್ನು ತೆರೆಯಿರಿ 	\n{2,number,integer}. ಸ್ಕ್ರೀನ್‌ನ ಮೇಲ್ಭಾಗದಲ್ಲಿರುವ ಆ್ಯಪ್ ಐಕಾನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ, ನಂತರ ಪಿನ್ ಅನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ಆ್ಯಪ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿರುವಾಗ: \n\n•		ವೈಯಕ್ತಿಕ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು \n		(ಉದಾ, ಸಂಪರ್ಕಗಳು ಮತ್ತು ಇಮೇಲ್ ಕಂಟೆಂಟ್‍) \n•		ಪಿನ್ ಮಾಡಿದ ಆ್ಯಪ್ ಇತರೆ ಆ್ಯಪ್‌ಗಳನ್ನು ತೆರೆಯಬಹುದು\n\nನಿಮ್ಮ ವಿಶ್ವಾಸಾರ್ಹ ಜನರೊಂದಿಗೆ ಮಾತ್ರ ಆ್ಯಪ್ ಪಿನ್ನಿಂಗ್ ಬಳಸಿ."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ಅನ್‌ಪಿನ್ ಮಾಡಲು ಅನ್‌ಲಾಕ್ ಪ್ಯಾಟರ್ನ್ ಕೇಳು"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ಅನ್‌ಪಿನ್‌ ಮಾಡಲು ಪಿನ್‌ ಕೇಳಿ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ಅನ್‌ಪಿನ್ ಮಾಡಲು ಪಾಸ್‌ವರ್ಡ್ ಕೇಳು"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ಅನ್‌ಪಿನ್ ಮಾಡುವಾಗ ಸಾಧನ ಲಾಕ್ ಮಾಡು"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ಸಿಮ್ ಅಳಿಸುವಿಕೆಯನ್ನು ದೃಢೀಕರಿಸಿ"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ನಿಮ್ಮ eSIM ಅನ್ನು ಅಳಿಸಲು ನೀವು ಬಯಸುತ್ತೀರಿ ಎಂಬುದನ್ನು ದೃಢೀಕರಿಸಿ"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM ಅನ್ನು ಅಳಿಸುವ ಮೊದಲು ಇದು ನೀವೇ ಎಂದು ದೃಢೀಕರಿಸಿ"</string>
     <string name="memtag_title" msgid="5096176296797727201">"ಸುಧಾರಿತ ಮೆಮೊರಿ ರಕ್ಷಣೆ ಬೀಟಾ"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"ಸುಧಾರಿತ ಮೆಮೊರಿ ರಕ್ಷಣೆ"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ಬಳಕೆಯಾಗದಿರುವ ಆ್ಯಪ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ಬಳಸದಿದ್ದರೆ, ಆ್ಯಪ್‌ನ ಚಟುವಟಿಕೆಯನ್ನು ವಿರಾಮಗೊಳಿಸಿ"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ತಾತ್ಕಾಲಿಕ ಫೈಲ್‌ಗಳನ್ನು ಅಳಿಸಿ ಹಾಗೂ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿಲ್ಲಿಸಿ"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ಬಳಸದಿದ್ದರೆ ಆ್ಯಪ್ ಅನ್ನು ನಿರ್ವಹಿಸಿ"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಿ, ತಾತ್ಕಾಲಿಕ ಫೈಲ್‌ಗಳನ್ನು ಅಳಿಸಿ, ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ನಿಲ್ಲಿಸಿ ಮತ್ತು ಆ್ಯಪ್ ಅನ್ನು ಆರ್ಕೈವ್ ಮಾಡಿ"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ಎಲ್ಲಾ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ಸ್ಥಾಪಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ಇನ್‌ಸ್ಟಂಟ್ ಆ್ಯಪ್‌ಗಳು"</string>
@@ -3655,13 +3841,13 @@
     <string name="usb_summary_MIDI_power" msgid="1184681982025435815">"MIDI ಮತ್ತು ಪವರ್ ವಿತರಣೆ"</string>
     <string name="usb_summary_UVC_power" msgid="226810354412154061">"ವೆಬ್‌ಕ್ಯಾಮ್ ಮತ್ತು ವಿದ್ಯುತ್ ಸರಬರಾಜು"</string>
     <string name="background_check_pref" msgid="5304564658578987535">"ಹಿನ್ನೆಲೆ ಪರಿಶೀಲಿಸಿ"</string>
-    <string name="assist_access_context_title" msgid="5201495523514096201">"ಸ್ಕ್ರೀನ್‍‍ನಿಂದ ಪಠ್ಯವನ್ನು ಬಳಸಿ"</string>
-    <string name="assist_access_context_summary" msgid="6951814413185646275">"ಸಹಾಯಕ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಪರದೆ ವಿಷಯಗಳನ್ನು ಪಠ್ಯದಂತೆ ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸಿ"</string>
+    <string name="assist_access_context_title" msgid="5201495523514096201">"ಸ್ಕ್ರೀನ್‍‍ನಲ್ಲಿನ ಪಠ್ಯವನ್ನು ಬಳಸಿ"</string>
+    <string name="assist_access_context_summary" msgid="6951814413185646275">"ಅಸಿಸ್ಟ್ ಆ್ಯಪ್‌ಗೆ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿನ ಕಂಟೆಂಟ್‌ಗಳನ್ನು ಪಠ್ಯವಾಗಿ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"ಸ್ಕ್ರೀನ್‌ಶಾಟ್ ಬಳಸಿ"</string>
-    <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"ಸಹಾಯಕ ಅಪ್ಲಿಕೇಶನ್‌ಗೆ ಪರದೆಯ ಚಿತ್ರವನ್ನು ಪ್ರವೇಶಿಸಲು ಅನುಮತಿಸಿ"</string>
-    <string name="assist_flash_title" msgid="5449512572885550108">"ಫ್ಲ್ಯಾಶ್‌ ಪರದೆ"</string>
-    <string name="assist_flash_summary" msgid="3032289860177784594">"ಪರದೆ ಅಥವಾ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ನಿಂದ ಪಠ್ಯವನ್ನು ಸಹಾಯ ಅಪ್ಲಿಕೇಶನ್ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿದಾಗ ಪರದೆಯ ಅಂಚುಗಳು ಫ್ಲ್ಯಾಶ್‌ ಆಗುವುದು"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"ನೀವು ವೀಕ್ಷಿಸುತ್ತಿರುವ ಪರದೆಯ ಮಾಹಿತಿಯನ್ನು ಆಧರಿಸಿ ಸಹಾಯಕ ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬಹುದು. ನಿಮಗೆ ಸಂಪೂರ್ಣ ಸಹಾಯ ನೀಡಲು ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಲಾಂಚರ್ ಮತ್ತು ಧ್ವನಿ ಇನ್‌ಪುಟ್ ಸೇವೆ ಎರಡನ್ನೂ ಬೆಂಬಲಿಸುತ್ತವೆ."</string>
+    <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"ಅಸಿಸ್ಟ್ ಆ್ಯಪ್‌ಗೆ ಸ್ಕ್ರೀನ್‌ನ ಚಿತ್ರವನ್ನು ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
+    <string name="assist_flash_title" msgid="5449512572885550108">"ಸ್ಕ್ರೀನ್ ಫ್ಲ್ಯಾಶ್‌ ಮಾಡಿ"</string>
+    <string name="assist_flash_summary" msgid="3032289860177784594">"ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿನ ಪಠ್ಯ ಅಥವಾ ಸ್ಕ್ರೀನ್‌ಶಾಟ್‌ ಅನ್ನು ಅಸಿಸ್ಟ್ ಆ್ಯಪ್ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಿದಾಗ ಸ್ಕ್ರೀನ್‌ನ ಅಂಚುಗಳನ್ನು ಫ್ಲ್ಯಾಶ್‌ ಮಾಡಿ"</string>
+    <string name="assist_footer" msgid="8248015363806299068">"ಅಸಿಸ್ಟ್ ಆ್ಯಪ್‌ಗಳು ನೀವು ವೀಕ್ಷಿಸುತ್ತಿರುವ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿನ ಮಾಹಿತಿಯನ್ನು ಆಧರಿಸಿ ನಿಮಗೆ ಸಹಾಯ ಮಾಡಬಲ್ಲವು. ನಿಮಗೆ ಸಂಪೂರ್ಣ ಸಹಾಯ ನೀಡಲು ಕೆಲವು ಆ್ಯಪ್‌ಗಳು ಲಾಂಚರ್ ಮತ್ತು ಧ್ವನಿ ಇನ್‌ಪುಟ್ ಸೇವೆ ಎರಡನ್ನೂ ಬೆಂಬಲಿಸುತ್ತವೆ."</string>
     <string name="average_memory_use" msgid="717313706368825388">"ಸರಾಸರಿ ಮೆಮೊರಿ ಬಳಕೆ"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"ಗರಿಷ್ಠ ಮೆಮೊರಿ ಬಳಕೆ"</string>
     <string name="memory_usage" msgid="5594133403819880617">"ಮೆಮೊರಿ ಬಳಕೆ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ಲಭ್ಯವಿರುವುದು"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಬಳಸಿರುವ ಮೆಮೊರಿ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{ಕಳೆದ {time} ದಲ್ಲಿ 1 ಆ್ಯಪ್ ಮೆಮೊರಿಯನ್ನು ಬಳಸಿದೆ}one{ಕಳೆದ {time} ದಲ್ಲಿ # ಆ್ಯಪ್‌ಗಳು ಮೆಮೊರಿಯನ್ನು ಬಳಸಿವೆ}other{ಕಳೆದ {time} ದಲ್ಲಿ # ಆ್ಯಪ್‌ಗಳು ಮೆಮೊರಿಯನ್ನು ಬಳಸಿವೆ}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"ಮೆಮೊರಿ ಬಳಕೆಯ ಪ್ರೊಫೈಲಿಂಗ್ ಸಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"ಮೆಮೊರಿ ಬಳಕೆಯ ಪ್ರೊಫೈಲಿಂಗ್‌ಗೆ ಹೆಚ್ಚುವರಿ ಸಿಸ್ಟಮ್ ಮಾಹಿತಿಯ ಮೂಲಗಳ ಅಗತ್ಯವಿದೆ."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"ಮೆಮೊರಿ ಪ್ರೊಫೈಲಿಂಗ್ ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ಫ್ರೀಕ್ವೆನ್ಸಿ"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"ಗರಿಷ್ಠ ಬಳಕೆ"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"ಡೇಟಾ ಬಳಸಲಾಗಿಲ್ಲ"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"ಇತರ ಆ್ಯಪ್‍ಗಳ ಮೇಲೆ ಪ್ರದರ್ಶಿಸಿ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"‍ಇತರ ಆ್ಯಪ್ ಮೇಲೆ ಡಿಸ್‌ಪ್ಲೇ ಮಾಡಲು ಅನುಮತಿಸಿ"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ನೀವು ಬಳಸುತ್ತಿರುವ ಇತರ ಆ್ಯಪ್‌ಗಳ ಮೇಲೆ ಈ ಆ್ಯಪ್ ಅನ್ನು ಪ್ರದರ್ಶಿಸಲು ಅನುಮತಿ ನೀಡಿ. ಪರದೆಯಲ್ಲಿ ನೀವು ಎಲ್ಲಿ ಟ್ಯಾಪ್ ಮಾಡುತ್ತೀರಿ ಎಂಬುದನ್ನು ಅಥವಾ ಏನನ್ನು ಪ್ರದರ್ಶಿಸಲಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ನೋಡಲು ಈ ಆ್ಯಪ್‌ಗೆ ಸಾಧ್ಯವಾಗುತ್ತದೆ."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"ಮೀಡಿಯಾ ಔಟ್‌‌ಪುಟ್ ಬದಲಾಯಿಸಿ"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ಮೀಡಿಯಾ ಔಟ್‌ಪುಟ್ ಬದಲಿಸಲು ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"ಯಾವ ಕನೆಕ್ಟ್ ಮಾಡಿದ ಸಾಧನವು ಇತರ ಆ್ಯಪ್‌ಗಳಿಂದ ಆಡಿಯೋ ಅಥವಾ ವೀಡಿಯೊವನ್ನು ಪ್ಲೇ ಮಾಡುತ್ತದೆ ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಲು ಈ ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ. ಅನುಮತಿಸಿದರೆ, ಹೆಡ್‌ಫೋನ್‌ಗಳು ಮತ್ತು ಸ್ಪೀಕರ್‌ಗಳಂತಹ ಲಭ್ಯವಿರುವ ಸಾಧನಗಳ ಪಟ್ಟಿಯನ್ನು ಈ ಆ್ಯಪ್ ಆ್ಯಕ್ಸೆಸ್ ಮಾಡಬಹುದು ಹಾಗೂ ಆಡಿಯೋ ಅಥವಾ ವೀಡಿಯೊವನ್ನು ಸ್ಟ್ರೀಮ್ ಮಾಡಲು ಅಥವಾ ಕ್ಯಾಸ್ಟ್ ಮಾಡಲು ಯಾವ ಔಟ್‌ಪುಟ್ ಸಾಧನವನ್ನು ಬಳಸಬೇಕೆಂದು ಆಯ್ಕೆಮಾಡಬಹುದು."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ಎಲ್ಲಾ ಫೈಲ್‌ಗಳ ಆ್ಯಕ್ಸೆಸ್"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ಎಲ್ಲಾ ಫೈಲ್‌ ನಿರ್ವಹಿಸಲು, ಪ್ರವೇಶಕ್ಕೆ ಅನುಮತಿಸಿ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ಈ ಸಾಧನ ಅಥವಾ ಕನೆಕ್ಟ್ ಮಾಡಿದ ಶೇಖರಣಾ ವಾಲ್ಯೂಮ್‌ಗಳಲ್ಲಿ ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಓದಲು, ಮಾರ್ಪಡಿಸಲು ಮತ್ತು ಅಳಿಸಲು ಈ ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ. ಅನುಮತಿಸಿದರೆ, ಬಳಕೆದಾರರ ಪೂರ್ವಾನುಮತಿ ಇಲ್ಲದೆ ಆ್ಯಪ್‌ಗಳು ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"ಎಲ್ಲಾ ಫೈಲ್‌ಗಳನ್ನು ಪ್ರವೇಶಿಸಬಹುದು"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ ಆ್ಯಪ್‌ಗಳು"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ಧ್ವನಿ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆಯು ಧ್ವನಿ ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಅನುಮೋದಿತ ಆ್ಯಪ್‌ಗಳು ಮತ್ತು ಹ್ಯಾಂಡ್ಸ್-ಫ್ರೀ ಅನ್ನು ಆನ್ ಮಾಡುತ್ತದೆ. ಅಂತರ್ನಿರ್ಮಿತ ಅಡಾಪ್ಟಿವ್ ಸೆನ್ಸಿಂಗ್ ಡೇಟಾ ನಿಮಗೆ ಮಾತ್ರ ಖಾಸಗಿಯಾಗಿರುತ್ತದೆ ಎಂದು ಖಚಿತಪಡಿಸುತ್ತದೆ.\n\n"<a href="">"ಸಂರಕ್ಷಿತ ಅಡಾಪ್ಟಿವ್ ಸೆನ್ಸಿಂಗ್ ಕುರಿತು ಇನ್ನಷ್ಟು"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ಫುಲ್ ಸ್ಕ್ರೀನ್ ನೋಟಿಫಿಕೇಶನ್‌ಗಳು"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ಈ ಆ್ಯಪ್‌ನಿಂದ ಫುಲ್ ಸ್ಕ್ರೀನ್ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ಸಾಧನ ಲಾಕ್ ಆಗಿರುವಾಗ ಫುಲ್ ಸ್ಕ್ರೀನ್ ಅನ್ನು ಆವರಿಸಿಕೊಳ್ಳುವ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ತೋರಿಸಲು ಈ ಆ್ಯಪ್‌ಗೆ ಅನುಮತಿಸಿ. ಅಲಾರಾಂಗಳು, ಒಳಬರುವ ಕರೆಗಳು ಅಥವಾ ಇತರ ತುರ್ತಿನ ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ಹೈಲೈಟ್ ಮಾಡಲು ಆ್ಯಪ್‌ಗಳು ಇವುಗಳನ್ನು ಬಳಸಬಹುದು."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> ಡೇಟಾ ಎಚ್ಚರಿಕೆ"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> ಡೇಟಾ ಮಿತಿ"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> ಡೇಟಾ ಎಚ್ಚರಿಕೆ / <xliff:g id="ID_2">^2</xliff:g> ಡೇಟಾ ಮಿತಿ"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ವಾಹಕ ಡೇಟಾ ಲೆಕ್ಕಾಚಾರವು ಸಾಧನ ಲೆಕ್ಕಾಚಾರಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿರಬಹುದು"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"ಕ್ಯಾರಿಯರ್ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಬಳಸುವ ಡೇಟಾವನ್ನು ಇದು ಹೊರತುಪಡಿಸುತ್ತದೆ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ಬಳಸಲಾಗಿದೆ"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ಡೇಟಾ ಎಚ್ಚರಿಕೆಯನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> ಸಮಯದ ಹಿಂದೆ ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> ನಿಂದ ಈಗ ತಾನೆ ಅಪ್‌ಡೇಟ್ ಮಾಡಲಾಗಿದೆ"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ಇದೀಗ ನವೀಕರಿಸಲಾಗಿದೆ"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ಯೋಜನೆಯನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"ವಿವರಗಳನ್ನು ವೀಕ್ಷಿಸಿ"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ಡೇಟಾ ಸೇವರ್"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ಅನಿಯಂತ್ರಿತ ಡೇಟಾ"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಇರುವಾಗ ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"ಮುನ್ನೆಲೆಯಲ್ಲಿರುವಾಗ <xliff:g id="APP_LABEL">%1$s</xliff:g> ನಿಂದ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ಮುನ್ನೆಲೆಯಲ್ಲಿ ಇರುವಾಗ ಸಾಮಾನ್ಯಕ್ಕಿಂತ ಹೆಚ್ಚು ಬ್ಯಾಟರಿಯನ್ನು ಬಳಸಲಾಗಿದೆ"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ಬ್ಯಾಟರಿ ಬಳಕೆಯ ಅಸಹಜತೆ"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ಹೆಚ್ಚು ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ಹಿನ್ನೆಲೆಯಲ್ಲಿ ಹೆಚ್ಚಿನ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ಮುನ್ನೆಲೆಯಲ್ಲಿ ಹೆಚ್ಚಿನ ಬ್ಯಾಟರಿ ಬಳಕೆ"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ಡೆವಲಪರ್ ಟೈಲ್ಸ್‌ನ ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb ದೃಢೀಕರಣ ಅವಧಿ ಮೀರುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ಡೀಫಾಲ್ಟ್ (7 ದಿನಗಳು) ಅಥವಾ ಬಳಕೆದಾರ-ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ (ಕನಿಷ್ಠ 1 ದಿನ) ಅವಧಿಯಲ್ಲಿ ಮರುಸಂಪರ್ಕಿಸದಿರುವ ಸಿಸ್ಟಮ್‌ಗಳಿಗೆ adb ದೃಢೀಕರಣಗಳ ಸ್ವಯಂಚಾಲಿತ ಹಿಂತೆಗೆದುಕೊಳ್ಳುವಿಕೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"ವಿನ್ಸ್‌ಕೋಪ್‌ ಟ್ರೇಸ್"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ಸೆನ್ಸರ್‌ಗಳು ಆಫ್"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ಕೆಲಸದ ಪ್ರೊಫೈಲ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳು"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ವೈಯಕ್ತಿಕ ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ಕೆಲಸದ ಡೈರೆಕ್ಟರಿಯನ್ನು ಬಳಸಿ ಸಂಪರ್ಕಗಳನ್ನು ಹುಡುಕಿ"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ಸಿಸ್ಟಂ ನ್ಯಾವಿಗೇಶನ್, 2 ಬಟನ್ ನ್ಯಾವಿಗೇಶನ್, 3 ಬಟನ್ ನ್ಯಾವಿಗೇಶನ್, ಗೆಸ್ಚರ್ ನ್ಯಾವಿಗೇಶನ್, ಸ್ವೈಪ್"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ಅಸಿಸ್ಟೆಂಟ್ ಅನ್ನು ಶುರು ಮಾಡಲು ಸ್ವೈಪ್ ಮಾಡಿ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಕೆಳಭಾಗದ ಮೂಲೆಯಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಕೆಳಭಾಗದ ಮೂಲೆಯಿಂದ ಮೇಲಕ್ಕೆ ಸ್ವೈಪ್ ಮಾಡಿ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ಗಾಗಿ ಹೋಮ್ ಅನ್ನು ಹಿಡಿದಿಟ್ಟುಕೊಳ್ಳಿ"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ಡಿಜಿಟಲ್ ಅಸಿಸ್ಟೆಂಟ್ ಆ್ಯಪ್ ಅನ್ನು ಶುರು ಮಾಡಲು ಹೋಮ್ ಬಟನ್ ಅನ್ನು ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ."</string>
     <string name="low_label" msgid="6525629096999711220">"ಕಡಿಮೆ"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ಸ್ವಯಂತುಂಬುವಿಕೆ ಸೇವೆ"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ಡೀಫಾಲ್ಟ್ ಆಟೋಫಿಲ್ ಸೇವೆ"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳು"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ಹೆಚ್ಚುವರಿ ಪೂರೈಕೆದಾರರು"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ಆದ್ಯತೆಯ ಸೇವೆ"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"ಹೆಚ್ಚುವರಿ ಸೇವೆಗಳು"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# ಪಾಸ್‌ವರ್ಡ್}one{# ಪಾಸ್‌ವರ್ಡ್‌ಗಳು}other{# ಪಾಸ್‌ವರ್ಡ್‌ಗಳು}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ಸ್ವಯಂಚಾಲಿತ, ಭರ್ತಿ ಮಾಡುವಿಕೆ, ಸ್ವಯಂ-ಭರ್ತಿಮಾಡುವಿಕೆ, ಪಾಸ್‌ವರ್ಡ್"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ಡೇಟಾ, ಪಾಸ್‌ಕೀ, ಪಾಸ್‌ವರ್ಡ್"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ಆಟೋ, ಫಿಲ್, ಆಟೋಫಿಲ್, ಡೇಟಾ, ಪಾಸ್‌ಕೀ, ಪಾಸ್‌ವರ್ಡ್"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ಬದಲಾಯಿಸಿ"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ತೆರೆಯಿರಿ"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ಯಾವುದನ್ನೂ ಆಯ್ಕೆಮಾಡಿಲ್ಲ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ನಿಮಗೆ ಈ ಅಪ್ಲಿಕೇಶನ್ ಮೇಲೆ ವಿಶ್ವಾಸವಿರುವುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ &lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ಯಾವ ಕ್ಷೇತ್ರಗಳನ್ನು ಸ್ವಯಂ-ಭರ್ತಿ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‍ನಲ್ಲಿನ ಮಾಹಿತಿಯನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;ಅನ್ನು ಬಳಸಬೇಕೇ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ಏನನ್ನು ಆಟೋಫಿಲ್ ಮಾಡಬಹುದು ಎಂದು ನಿರ್ಧರಿಸಲು, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವುದನ್ನು ಬಳಸಿಕೊಳ್ಳುತ್ತದೆ. ಇನ್ನು ಮುಂದೆ ಹೊಸ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ಇಲ್ಲಿ ಸೇವ್ ಮಾಡಲಾಗುತ್ತದೆ."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳು"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ಈಗಿನಿಂದ ಹೊಸ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ಇಲ್ಲಿ ಉಳಿಸಲಾಗುತ್ತದೆ. ಏನನ್ನು ಆಟೋಫಿಲ್ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವುದನ್ನು ಬಳಸಬಹುದು."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಆಟೋಫಿಲ್‌ಗಾಗಿ ಆದ್ಯತೆಯ ಸೇವೆಗಳು"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"1$s ಅನ್ನು ಆಫ್ ಮಾಡಬೇಕೆ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ಈ ಸೇವೆಯನ್ನು ಆಫ್ ಮಾಡಬೇಕೇ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು, ಪಾವತಿ ವಿಧಾನಗಳಂತಹ ಸೇವ್ ಮಾಡಿದ ಮಾಹಿತಿಯನ್ನು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿದಾಗ ಭರ್ತಿ ಮಾಡಲಾಗುವುದಿಲ್ಲ. ನಿಮ್ಮ ಸೇವ್ ಮಾಡಿದ ಮಾಹಿತಿಯನ್ನು ಬಳಸಲು, ಪಾಸ್‌ವರ್ಡ್, ಪಾಸ್‌ಕೀ ಅಥವಾ ಡೇಟಾ ಸೇವೆಯನ್ನು ಆಯ್ಕೆಮಾಡಿ."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಆಟೋಫಿಲ್"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ಎಲ್ಲಾ ಸೇವೆಗಳನ್ನು ಆಫ್ ಮಾಡಬೇಕೆ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ನೀವು ಸೈನ್ ಇನ್ ಮಾಡಿದಾಗ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಹಾಗೂ ಇತರ ಸೇವ್‌ ಮಾಡಿದ ಮಾಹಿತಿಯು ಆಟೋಫಿಲ್ ಮಾಡಲು ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;ಇದಕ್ಕೆ ನಿಮ್ಮ ಆದ್ಯತೆಯ ಸೇವೆಯನ್ನು ಬದಲಾಯಿಸಿ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ಇನ್ನು ಮುಂದೆ ಹೊಸ ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಇತರ ಮಾಹಿತಿಯನ್ನು ಇಲ್ಲಿ ಸೇವ್ ಮಾಡಲಾಗುತ್ತದೆ. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ಏನನ್ನು ಆಟೋಫಿಲ್ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವುದನ್ನು ಬಳಸಬಹುದು"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ಬಳಸಬೇಕೇ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ಆಫ್ ಮಾಡಿ"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ಬದಲಾಯಿಸಿ"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"ನೀವು ಕೇವಲ 5 ಸೇವೆಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಬಹುದು"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ಮತ್ತೊಂದು ಸೇವೆಯನ್ನು ಸೇರಿಸಲು ಕನಿಷ್ಠ 1 ಸೇವೆಯನ್ನು ಆಫ್ ಮಾಡಿ"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"ಯಾವುದನ್ನು ಆಟೋಫಿಲ್ ಮಾಡಬಹುದು ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸಲು %1$s ನಿಮ್ಮ ಸ್ಕ್ರೀನ್ ಮೇಲಿರುವುದನ್ನು ಬಳಸುತ್ತದೆ."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳ ಮಿತಿ"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ನೀವು ಒಂದೇ ಸಮಯದಲ್ಲಿ 5 ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿ ಇರಿಸಿಕೊಳ್ಳಬಹುದು. ಇನ್ನಷ್ಟು ಸೇರಿಸಲು ಸೇವೆಯನ್ನು ಆಫ್ ಮಾಡಿ."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳ ಮಿತಿ"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ನೀವು ಒಂದೇ ಸಮಯದಲ್ಲಿ 5 ಪಾಸ್‌ವರ್ಡ್‌ಗಳು, ಪಾಸ್‌ಕೀಗಳು ಮತ್ತು ಡೇಟಾ ಸೇವೆಗಳನ್ನು ಸಕ್ರಿಯವಾಗಿ ಇರಿಸಿಕೊಳ್ಳಬಹುದು. ಇನ್ನಷ್ಟು ಸೇರಿಸಲು ಸೇವೆಯನ್ನು ಆಫ್ ಮಾಡಿ."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ಆಫ್ ಮಾಡಿ"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ಸ್ವಯಂ ಭರ್ತಿ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ಲಾಗಿಂಗ್ ಮಟ್ಟ"</string>
@@ -4159,7 +4362,7 @@
     <string name="install_type_instant" msgid="7685381859060486009">"ತತ್‌ಕ್ಷಣದ ಅಪ್ಲಿಕೇಶನ್"</string>
     <string name="automatic_storage_manager_deactivation_warning" msgid="4905106133215702099">"ಸಂಗ್ರಹಣೆ ನಿರ್ವಾಹಕವನ್ನು ಆಫ್ ಮಾಡಬೇಕೆ?"</string>
     <string name="zen_suggestion_title" msgid="4555260320474465668">"ಅಡಚಣೆ ಮಾಡಬೇಡಿ ಅನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಿ"</string>
-    <string name="zen_suggestion_summary" msgid="1984990920503217">"ಫೋಕಸ್‌ ಆಗಿ ಇರಲು ಅಧಿಸೂಚನೆಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಿ"</string>
+    <string name="zen_suggestion_summary" msgid="1984990920503217">"ಫೋಕಸ್‌ ಆಗಿ ಇರಲು ನೋಟಿಫಿಕೇಶನ್‌ಗಳನ್ನು ವಿರಾಮಗೊಳಿಸಿ"</string>
     <string name="disabled_feature" msgid="7151433782819744211">"ಫೀಚರ್ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="disabled_feature_reason_slow_down_phone" msgid="5743569256308510404">"ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಆಫ್ ಮಾಡಲಾಗಿದೆ ಏಕೆಂದರೆ ಇದು ನಿಮ್ಮ ಫೋನ್‌ನ ಕಾರ್ಯಾಚರಣೆಯನ್ನು ನಿಧಾನಗೊಳಿಸುತ್ತದೆ"</string>
     <string name="show_first_crash_dialog" msgid="1696584857732637389">"ಯಾವಾಗಲೂ ಕ್ರ್ಯಾಶ್ ಸಂವಾದವನ್ನು ತೋರಿಸಿ"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ಆ್ಯಪ್ ಹೊಂದಾಣಿಕೆ ಬದಲಾವಣೆಗಳನ್ನು, ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ಮಾತ್ರ ಮಾರ್ಪಡಿಸಬಹುದು. ಡೀಬಗ್ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್ ಅನ್ನು ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಿ ಮತ್ತು ಪುನಃ ಪ್ರಯತ್ನಿಸಿ"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ಇನ್ನೊಂದು ಸೆಟ್ಟಿಂಗ್ ಅನ್ನು ಅವಲಂಬಿಸಿರುತ್ತದೆ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ಖಾತೆ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ಖಾತೆಗಳು"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ಸಾಧನದ ಹೆಸರು"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ಸಾಮಾನ್ಯ ಮಾಹಿತಿ"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ಕಾನೂನು ಮತ್ತು ನಿಯಂತ್ರಣ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ಟ್ಯಾಗ್ ಅನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡಿದಾಗ ಪ್ರಾರಂಭಿಸಲು ಈ ಆ್ಯಪ್ ಅನ್ನು ಅನುಮತಿಸಿ.\nಈ ಅನುಮತಿಯು ಆನ್ ಆಗಿದ್ದರೆ, ಟ್ಯಾಗ್ ಪತ್ತೆಯಾದಾಗಲೆಲ್ಲಾ ಆ್ಯಪ್ ಆಯ್ಕೆಯಾಗಿ ಲಭ್ಯವಿರುತ್ತದೆ."</string>
     <string name="media_output_title" msgid="8283629315159510680">"ಮಾಧ್ಯಮವನ್ನು ಇದರಲ್ಲಿ ಪ್ಲೇ ಮಾಡಿ"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"ಇದರಲ್ಲಿ <xliff:g id="LABEL">%s</xliff:g> ಪ್ಲೇ ಮಾಡಿ"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ಆಡಿಯೋ ಈ ಸಾಧನಗಳಲ್ಲಿ ಪ್ಲೇ ಆಗುತ್ತದೆ"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ಈ ಸಾಧನ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ಕರೆಗಳ ಸಮಯಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ಕರೆ ಮಾಡಿ"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ಮ್ಯೂಟ್"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ಸಕ್ರಿಯಗೊಳಿಸಲು, ಮೊದಲು ಪವರ್ ಮೆನುಗೆ \"ಪವರ್ ಬಟನ್ ಒತ್ತಿ ಹಿಡಿದುಕೊಳ್ಳಿ\" ಅನ್ನು ಬದಲಾಯಿಸಿ."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ನೆಟ್‌ವರ್ಕ್‌ ವಿವರಗಳು"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ನಿಮ್ಮ ಫೋನ್‌ನಲ್ಲಿರುವ ಆ್ಯಪ್‌ಗಳಿಗೆ ನಿಮ್ಮ ಸಾಧನದ ಹೆಸರು ಕಾಣಿಸುತ್ತದೆ. ನೀವು ಬ್ಲೂಟೂತ್ ಸಾಧನಗಳಿಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ, ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಿದಾಗ ಅಥವಾ ವೈ-ಫೈ ಹಾಟ್‌ಸ್ಪಾಟ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿದಾಗ ಇತರ ಜನರು ಸಹ ಅದನ್ನು ನೋಡಬಹುದು."</string>
     <string name="devices_title" msgid="649715719278562515">"ಸಾಧನಗಳು"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ನೆಟ್‌ವರ್ಕ್ ಆಯ್ಕೆಮಾಡಿ"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ಸಂಪರ್ಕ ಕಡಿತಗೊಳಿಸಲಾಗಿದೆ"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ಹೆಸರು"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ಬಣ್ಣ (ಹೊಂದಾಣಿಕೆಯ ಆ್ಯಪ್‌ಗಳಿಂದ ಬಳಸಲಾಗಿದೆ)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ಸೇವ್ ಮಾಡಿ"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ಸಿಮ್ ಬಳಸಿ"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ಈ SIM ಅನ್ನು ಬಳಸಿ"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ಆಫ್"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ಈ SIM ಅನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು, SIM ಕಾರ್ಡ್ ಅನ್ನು ತೆಗೆದುಹಾಕಿ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ಅಳಿಸಿ"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ಈ SIM ಅನ್ನು ಆಫ್ ಮಾಡಲು, SIM ಕಾರ್ಡ್ ತೆಗೆದುಹಾಕಿ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"ನಿಮ್ಮ <xliff:g id="CARRIER">%1$s</xliff:g> SIM ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM ಅಳಿಸಿ"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ಪ್ರಾಶಸ್ತ್ಯ ನೀಡಿದ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ನೆಟ್‌ವರ್ಕ್‌ ಕಾರ್ಯಾಚರಣೆ ಮೋಡ್‌ ಬದಲಾಯಿಸಿ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ಪ್ರಾಶಸ್ತ್ಯ ನೀಡಿದ ನೆಟ್‌ವರ್ಕ್‌ ಪ್ರಕಾರ"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ಬೆಲೆ ನಿಗದಿಗಾಗಿ ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಪೂರೈಕೆದಾರರೊಂದಿಗೆ ಪರಿಶೀಲಿಸಿ."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ಆ್ಯಪ್ ಡೇಟಾ ಬಳಕೆ"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ಅಮಾನ್ಯ ನೆಟ್‌ವರ್ಕ್‌ ಮೋಡ್‌ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. ನಿರ್ಲಕ್ಷಿಸಿ."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ಸ್ಯಾಟಲೈಟ್ ಮೂಲಕ ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು ಸ್ವೀಕರಿಸಿ. ನಿಮ್ಮ ಖಾತೆಯ ಜೊತೆಗೆ ಸೇರಿಸಲಾಗಿದೆ."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ಸ್ಯಾಟಲೈಟ್ ಮೂಲಕ ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು ಸ್ವೀಕರಿಸಿ. ನಿಮ್ಮ ಖಾತೆಯೊಂದಿಗೆ ಸೇರಿಸಲಾಗಿಲ್ಲ."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಕುರಿತಾಗಿ"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"ಅರ್ಹ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಖಾತೆಯ ಭಾಗವಾಗಿ, ನೀವು ಸ್ಯಾಟಲೈಟ್‌ನ ಮೂಲಕ ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಬಹುದು ಮತ್ತು ಸ್ವೀಕರಿಸಬಹುದು"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"ನಿಮ್ಮ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಪ್ಲಾನ್"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆಯು ನಿಮ್ಮ ಖಾತೆಯ ಜೊತೆಯಲ್ಲಿ ಸೇರಿದೆ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆಯು ನಿಮ್ಮ ಖಾತೆಯ ಜೊತೆಯಲ್ಲಿ ಸೇರಿಲ್ಲ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಸೇರಿಸಿ"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ಇದು ಹೇಗೆ ಕೆಲಸ ಮಾಡುತ್ತದೆ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"ನೀವು ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದಾಗ"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ನಿಮ್ಮ ಫೋನ್ ಸ್ಯಾಟಲೈಟ್‌ಗೆ ಆಟೋ-ಕನೆಕ್ಟ್ ಆಗುತ್ತದೆ. ಉತ್ತಮ ಕನೆಕ್ಷನ್‌ಗಾಗಿ, ಆಕಾಶ ಸ್ಪಷ್ಟವಾಗಿ ಕಾಣುವ ಹಾಗೆ ಇರಿಸಿ."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"ನಿಮ್ಮ ಫೋನ್ ಸ್ಯಾಟಲೈ‌ಟ್‌ಗೆ ಕನೆಕ್ಟ್ ಆದ ನಂತರ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"ತುರ್ತು ಸೇವೆಗಳಿಗೂ ಸಹಿತ, ನೀವು ಯಾರಿಗಾದರೂ ಸಂದೇಶ ಕಳುಹಿಸಬಹುದು. ಲಭ್ಯವಿರುವಾಗ ನಿಮ್ಮ ಫೋನ್ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ರೀಕನೆಕ್ಟ್ ಆಗುತ್ತದೆ."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆಯು ಹೆಚ್ಚು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು ಮತ್ತು ಇದು ಕೆಲವು ಪ್ರದೇಶಗಳಲ್ಲಿ ಮಾತ್ರ ಲಭ್ಯವಿರುತ್ತದೆ, ಹವಾಮಾನ ಮತ್ತು ಕೆಲವೊಂದು ರಚನೆಗಳು ನಿಮ್ಮ ಸ್ಯಾಟಲೈಟ್ ಕನೆಕ್ಷನ್ ಮೇಲೆ ಪರಿಣಾಮ ಬೀರಬಹುದು. ಸ್ಯಾಟಲೈಟ್ ಮೂಲಕ ಕರೆ ಮಾಡುವುದು ಲಭ್ಯವಿಲ್ಲ. \n\nನಿಮ್ಮ ಖಾತೆಯಲ್ಲಿನ ಬದಲಾವಣೆಗಳನ್ನು ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ತೋರಿಸಲು ಸ್ವಲ್ಪ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಹೆಚ್ಚಿನ ಮಾಹಿತಿಗಾಗಿ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಸಂಪರ್ಕಿಸಿ."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ಸ್ಯಾಟಲೈಟ್ ಸಂದೇಶ ಕಳುಹಿಸುವಿಕೆ ಕುರಿತಾಗಿ ಇನ್ನಷ್ಟು"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ಆ್ಯಕ್ಸೆಸ್ ಪಾಯಿಂಟ್ ಹೆಸರುಗಳು"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> ಗೆ ಸಂಪರ್ಕಿಸಿದಾಗ ಲಭ್ಯವಿರುವುದಿಲ್ಲ"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸಬೇಕೇ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ಬಳಸುತ್ತಿರುವ ಸಿಮ್‌ ಕಾರ್ಡ್‌ಗೆ ಬದಲಿಸಬೇಕೇ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಬಳಸಬೇಕೇ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ ಒಂದು SIM ಮಾತ್ರ ಸಕ್ರಿಯವಾಗಿರಬಹುದು.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸುವುದರಿಂದ, ನಿಮ್ಮ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ 1 eSIM ಮಾತ್ರ ಸಕ್ರಿಯವಾಗಿರಬಹುದು.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ಕ್ಕೆ ಬದಲಾಯಿಸುವುದರಿಂದ ನಿಮ್ಮ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ಸೇವೆ ರದ್ದಾಗುವುದಿಲ್ಲ."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ ಒಂದು ಸಿಮ್ ಮಾತ್ರ ಸಕ್ರಿಯವಾಗಿರಬಹುದು.\n\nಸಿಮ್‌ಗಳನ್ನು ಬದಲಿಸುವುದರಿಂದ ನಿಮ್ಮ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ಒಂದು ಬಾರಿಗೆ 1 ಸಿಮ್ ಅನ್ನು ಮಾತ್ರ ಆನ್ ಮಾಡಬಹುದು.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಾಯಿಸುವುದರಿಂದಾಗಿ, ನಿಮ್ಮ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ 1 eSIM ಮಾತ್ರ ಆನ್ ಆಗಿರಬಹುದು.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಾಯಿಸುವುದರಿಂದ ನಿಮ್ಮ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ಸೇವೆ ರದ್ದಾಗುವುದಿಲ್ಲ."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ಒಂದು ಬಾರಿಗೆ ಕೇವಲ 1 eSIM ಮಾತ್ರ ಆನ್ ಆಗಿರಬಹುದು.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಾಗುವುದರಿಂದ ನಿಮ್ಮ ಸೇವೆ ರದ್ದಾಗುವುದಿಲ್ಲ."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ನೀವು ಒಂದು ಸಮಯದಲ್ಲಿ 2 SIM ಗಳನ್ನು ಬಳಸಬಹುದು. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಬಳಸಲು, ಮತ್ತೊಂದು SIM ಅನ್ನು ಆಫ್ ಮಾಡಿ."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸಿ"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಆಫ್ ಮಾಡಿ"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM ಅನ್ನು ಆಫ್ ಮಾಡುವುದರಿಂದ ನಿಮ್ಮ ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಕನೆಕ್ಟ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"ಕರೆಗಳು ಮತ್ತು ಸಂದೇಶಗಳಿಗಾಗಿ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"ವಾಹಕವನ್ನು ಬದಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ದೋಷವೊಂದರ ಕಾರಣದಿಂದಾಗಿ ವಾಹಕವನ್ನು ಬದಲಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"ನಿಮ್ಮ SIM ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"ಏನೋ ತಪ್ಪಾಗಿದೆ. SIM ಗಳನ್ನು ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಆಫ್ ಮಾಡಬೇಕೇ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"ಸಿಮ್ ಅನ್ನು ಆಫ್ ಮಾಡಬೇಕೇ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ಸಿಮ್ ಅನ್ನು ಆಫ್ ಮಾಡಲಾಗುತ್ತಿದೆ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"ವಾಹಕವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ ವಾಹಕವನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM ಅನ್ನು ಆಫ್ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"ಏನೋ ತಪ್ಪಾಗಿದೆ ಮತ್ತು ನಿಮ್ಮ SIM ಅನ್ನು ಆಫ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 ಸಿಮ್‌ಗಳನ್ನು ಬಳಸಬೇಕೇ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ಈ ಸಾಧನವು ಒಂದೇ ಬಾರಿಗೆ 2 ಸಕ್ರಿಯ ಸಿಮ್‌ಗಳನ್ನು ಹೊಂದಿರಬಹುದು. ಒಂದು ಬಾರಿಗೆ 1 ಸಿಮ್ ಬಳಸುವುದನ್ನು ಮುಂದುವರಿಸಲು \"ಬೇಡ\" ಎಂಬುದನ್ನು ಟ್ಯಾಪ್ ಮಾಡಿ."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕೇ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ಬೇಡ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ರದ್ದುಮಾಡಿ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ಬದಲಿಸಿ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ಆಫ್ ಮಾಡಿ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ಸಿಮ್ ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ಸಿಮ್ ಅನ್ನು ಮತ್ತೆ ಆನ್ ಮಾಡಲು ಪ್ರಯತ್ನಿಸಿ. ಸಮಸ್ಯೆ ಮುಂದುವರಿದರೆ, ನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ನಿಮ್ಮ SIM ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ಈ ಸಾಧನದಲ್ಲಿ ಹಲವು SIM ಗಳನ್ನು ಬಳಸಲು ನಿಮ್ಮ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್ ಪ್ರಾಶಸ್ತ್ಯಗಳನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ನಿಮ್ಮ SIM ಗಳನ್ನು ಲೇಬಲ್ ಮಾಡಿ"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ಕರೆಗಳನ್ನು ಮಾಡುವಾಗ, ಪಠ್ಯ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸುವಾಗ ಮತ್ತು ಡೇಟಾ ಬಳಸುವಾಗ ಹಾಗೂ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ನೀವು ಈ ಲೇಬಲ್‌ಗಳನ್ನು ನೋಡುತ್ತೀರಿ"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM ಲೇಬಲ್"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ಲೇಬಲ್"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"ಯಾವ SIM ಬಳಸಬೇಕು ಎಂದು ಆರಿಸಿ"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ನೀವು ಒಂದೇ ಬಾರಿಗೆ 2 SIM ಗಳನ್ನು ಬಳಸಬಹುದು"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ಪ್ರಾಥಮಿಕ SIM ಗಳನ್ನು ಸೆಟ್ ಮಾಡಿ"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ಕರೆಗಳು, ಪಠ್ಯ ಸಂದೇಶಗಳು ಮತ್ತು ಡೇಟಾಗಾಗಿ ಡೀಫಾಲ್ಟ್ ಆಗಿ ಯಾವ SIM ಗಳನ್ನು ಬಳಸಬೇಕು ಎಂಬುದನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ನಿಮ್ಮ ಪ್ರಾಥಮಿಕ SIM ಗಳು"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ಕರೆಗಳು"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ಪಠ್ಯ ಸಂದೇಶಗಳು"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ಸ್ವಯಂಚಾಲಿತ ಡೇಟಾ ಬದಲಿಸುವಿಕೆ"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ಕವರೇಜ್ ಮತ್ತು ಲಭ್ಯತೆಯನ್ನು ಆಧರಿಸಿ ಎರಡರಲ್ಲಿ ಒಂದು SIM ನಲ್ಲಿನ ಡೇಟಾ ಬಳಸಿ"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ಡೇಟಾ ಮಾತ್ರ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ಸೆಟಪ್ ಮಾಡಿ"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ಮುಂದಿನದು"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಆನ್ ಮಾಡಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ಫೋನ್ ಸಂಖ್ಯೆ"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM ಲೇಬಲ್ ಮತ್ತು ಬಣ್ಣ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ನೆಟ್‌ವರ್ಕ್ ಸಕ್ರಿಯಗೊಳಿಸುವಿಕೆ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"ವಾಹಕ ಬದಲಾಯಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಸಕ್ರಿಯವಾಗಿದೆ"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ನಿಮ್ಮ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM ಸಕ್ರಿಯವಾಗಿದೆ"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅಪ್‌ಡೇಟ್‌ ಮಾಡಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಗೆ ಬದಲಿಸಲಾಗಿದೆ"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"ಬೇರೊಂದು ವಾಹಕಕ್ಕೆ ಬದಲಿಸಲಾಗಿದೆ"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"ನಿಮ್ಮ ಮೊಬೈಲ್ ನೆಟ್‌ವರ್ಕ್‌ ಬದಲಾಗಿದೆ"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"ನಿಮ್ಮ ಮತ್ತೊಂದು ಸಿಮ್ ಅನ್ನು ಸೆಟಪ್ ಮಾಡಿ"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"ನಿಮ್ಮ ಸಕ್ರಿಯ ಸಿಮ್ ಅನ್ನು ಆಯ್ಕೆಮಾಡಿ ಅಥವಾ ಒಟ್ಟಿಗೆ 2 ಸಿಮ್‌ಗಳನ್ನು ಬಳಸಿ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ಬಳಸಲು ಸಂಖ್ಯೆಯೊಂದನ್ನು ಆಯ್ಕೆ ಮಾಡಿ"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ಈ ಸಾಧನದಲ್ಲಿ 1 ಸಂಖ್ಯೆ ಲಭ್ಯವಿದೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}=2{ಈ ಸಾಧನದಲ್ಲಿ 2 ಸಂಖ್ಯೆಗಳು ಲಭ್ಯವಿವೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}one{ಈ ಸಾಧನದಲ್ಲಿ # ಸಂಖ್ಯೆಗಳು ಲಭ್ಯವಿವೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}other{ಈ ಸಾಧನದಲ್ಲಿ # ಸಂಖ್ಯೆಗಳು ಲಭ್ಯವಿವೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"<xliff:g id="ELLIPSIS">…</xliff:g> ಅನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ಇದೀಗ ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ಬಳಸಲು SIM ಒಂದನ್ನು ಆಯ್ಕೆಮಾಡಿ"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ಈ ಸಾಧನದಲ್ಲಿ 1 SIM ಲಭ್ಯವಿದೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}=2{ಈ ಸಾಧನದಲ್ಲಿ 2 SIM ಗಳು ಲಭ್ಯವಿವೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}one{ಈ ಸಾಧನದಲ್ಲಿ # SIM ಗಳು ಲಭ್ಯವಿವೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}other{ಈ ಸಾಧನದಲ್ಲಿ # SIM ಗಳು ಲಭ್ಯವಿವೆ, ಆದರೆ ಒಂದು ಬಾರಿಗೆ ಒಂದನ್ನು ಮಾತ್ರ ಬಳಸಬಹುದಾಗಿದೆ}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ಆನ್ ಮಾಡಲಾಗುತ್ತಿದೆ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ಈಗ ಈ SIM ಅನ್ನು ಆನ್ ಮಾಡಲು ಸಾಧ್ಯವಾಗಲಿಲ್ಲ"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಬಳಸಬೇಕೇ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"ಮೊಬೈಲ್ ಡೇಟಾ, ಕರೆಗಳು ಮತ್ತು SMS‌ ಗಾಗಿ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ಅನ್ನು ಬಳಸಲಾಗುತ್ತದೆ."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ಸಕ್ರಿಯವಾಗಿರುವ ಸಿಮ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"ಮೊಬೈಲ್ ಡೇಟಾ, ಕರೆಯ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು SMS ಅನ್ನು ಆನಂತರ ಬಳಸಲು, ನಿಮ್ಮ ನೆಟ್‌ವರ್ಕ್ ಸೆಟ್ಟಿಂಗ್‌ಗಳಿಗೆ ಹೋಗಿ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ಈ eSIM ಅನ್ನು ಅಳಿಸಬೇಕೆ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ಈ ಸಿಮ್ ಅನ್ನು ಅಳಿಸುವುದರಿಂದ, ಅದು ಈ ಸಾಧನದಿಂದ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ಸೇವೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ಗಾಗಿ ಇರುವ ಸೇವೆಯನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ಈ ಸಾಧನದಿಂದ ಇದು <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ಸೇವೆಯನ್ನು ತೆಗೆದುಹಾಕುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ಪ್ಲಾನ್ ಅನ್ನು ರದ್ದುಗೊಳಿಸುವುದಿಲ್ಲ."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ಅಳಿಸಿ"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"ಸಿಮ್ ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ಸಿಮ್ ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ದೋಷದ ಕಾರಣದಿಂದಾಗಿ ಈ ಸಿಮ್ ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಹಾಗೂ ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM ಅನ್ನು ಅಳಿಸಲಾಗುತ್ತಿದೆ…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM ಅನ್ನು ಅಳಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತಿಲ್ಲ"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"ಏನೋ ತಪ್ಪಾಗಿದೆ ಹಾಗೂ ಈ eSIM ಅನ್ನು ಅಳಿಸಲಾಗಿಲ್ಲ.\n\nನಿಮ್ಮ ಸಾಧನವನ್ನು ಮರುಪ್ರಾರಂಭಿಸಿ ಮತ್ತು ಮತ್ತೆ ಪ್ರಯತ್ನಿಸಿ."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ಸಾಧನಕ್ಕೆ ಸಂಪರ್ಕಿಸಿ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"ನಿಮ್ಮ ಸಾಧನಕ್ಕೆ ಕನೆಕ್ಟ್ ಮಾಡಲು ತಾತ್ಕಾಲಿಕ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್ ಅನ್ನು ಬಳಸಲು <xliff:g id="APPNAME">%1$s</xliff:g> ಆ್ಯಪ್ ಬಯಸುತ್ತದೆ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ಯಾವುದೇ ಸಾಧನಗಳು ಕಂಡುಬಂದಿಲ್ಲ. ಸಾಧನಗಳನ್ನು ಆನ್ ಮಾಡಲಾಗಿದೆ ಮತ್ತು ಸಂಪರ್ಕಿಸಲು ಲಭ್ಯವಿದೆ ಎಂಬುದನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"ತುರ್ತು ಕರೆಗಳು"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"ವೈ-ಫೈ ಕರೆ ಮಾಡುವಿಕೆ ಮೂಲಕ ಮಾಡಲಾಗುವ ತುರ್ತು ಕರೆಗಳನ್ನು ನಿಮ್ಮ ವಾಹಕವು ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.\nತುರ್ತು ಕರೆ ಮಾಡಲು ಸಾಧನವು ಸೆಲ್ಯುಲರ್ ನೆಟ್‌ವರ್ಕ್‌ಗೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಬದಲಾಯಿಸುತ್ತದೆ.\nಸೆಲ್ಯುಲರ್ ಪ್ರಸಾರ ವ್ಯಾಪ್ತಿ ಇರುವ ಪ್ರದೇಶಗಳಲ್ಲಿ ಮಾತ್ರ ತುರ್ತು ಕರೆಗಳನ್ನು ಮಾಡಲು ಸಾಧ್ಯ."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ಗುಣಮಟ್ಟವನ್ನು ಹೆಚ್ಚಿಸಲು ಕರೆಗಳನ್ನು ಮಾಡಲು ವೈ-ಫೈ ಬಳಸಿ"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ಬ್ಯಾಕಪ್ ಕರೆ ಮಾಡುವಿಕೆ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ಲಭ್ಯವಿಲ್ಲದಿದ್ದರೆ ಅಥವಾ ರೋಮಿಂಗ್‌ನಲ್ಲಿ ಇದ್ದರೆ, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ಕರೆಗಳನ್ನು ಮಾಡಲು ನಿಮ್ಮ ಮೊಬೈಲ್ ಡೇಟಾ ಸಿಮ್ ಬಳಸಿ."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ಬ್ಯಾಕಪ್ ಕರೆ ಮಾಡುವಿಕೆ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ಒಳಬರುವ MMS ಸಂದೇಶ"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ಮೊಬೈಲ್ ಡೇಟಾ ಆಫ್ ಇರುವಾಗ, <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> ನಲ್ಲಿ MMS ಸಂದೇಶ ಕಳುಹಿಸುವುದನ್ನು ಅನುಮತಿಸಲು ಟ್ಯಾಪ್ ಮಾಡಿ"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ನಿಮ್ಮ ಕೆಲಸದ ನೀತಿಯ ಮಾಹಿತಿ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ನಿಮ್ಮ IT ನಿರ್ವಾಹಕರಿಂದ ನಿರ್ವಹಿಸುತ್ತಾರೆ"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K ಪುಟದ ಗಾತ್ರದೊಂದಿಗೆ ಬೂಟ್ ಮಾಡಿ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16K ಪುಟ ಗಾತ್ರದ ಬೆಂಬಲಿತ ಕೆರ್ನಲ್ ಬಳಸಿ ಸಾಧನ ಬೂಟ್ ಮಾಡಿ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB ಪುಟಗಳ ಹೊಂದಾಣಿಕೆಯ ಕೆರ್ನಲ್‌ನೊಂದಿಗೆ ರೀಬೂಟ್ ಮಾಡಬೇಕೆ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ಎಚ್ಚರಿಕೆ: ಕೆಲವು ಅಪ್ಲಿಕೇಶನ್‌ಗಳು ಈ ಮೋಡ್‌ಗೆ ಹೊಂದಾಣಿಕೆಯಾಗದಿರಬಹುದು. ದೃಢೀಕರಣದ ನಂತರ ಸಾಧನವು ರೀಬೂಟ್ ಆಗುತ್ತದೆ."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB ಪುಟಗಳ ಹೊಂದಾಣಿಕೆಯ ಕೆರ್ನಲ್‌ನೊಂದಿಗೆ ರೀಬೂಟ್ ಮಾಡಬೇಕೆ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"ದೃಢೀಕರಣದ ನಂತರ ಸಾಧನವು ರೀಬೂಟ್ ಆಗುತ್ತದೆ."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"ಕೆರ್ನಲ್ ಅನ್ನು 16KB ಪುಟಗಳ ಹೊಂದಾಣಿಕೆಯ ಕೆರ್ನಲ್‌ಗೆ ಅಪ್‌ಡೇಟ್ ಮಾಡಲು ವಿಫಲವಾಗಿದೆ."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ಬದಲಾವಣೆಯನ್ನು ಅನ್ವಯಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ಬಗ್ ವರದಿ ಮಾಡುವಿಕೆ ಹ್ಯಾಂಡಲರ್"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ನಿಮ್ಮ ಸಾಧನದಲ್ಲಿ ಬಗ್ ವರದಿ ಮಾಡುವಿಕೆ ಶಾರ್ಟ್‌ಕಟ್ ಅನ್ನು ಯಾವ ಆ್ಯಪ್ ಹ್ಯಾಂಡಲ್ ಮಾಡುತ್ತದೆ ಎಂದು ನಿರ್ಧರಿಸುತ್ತದೆ."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ವೈಯಕ್ತಿಕ"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"ಸೆಟ್ಟಿಂಗ್‌ಗಳ ಸ್ಕ್ರೀನ್‌ಗಳನ್ನು ಓವರ್‌ಲೇ ಮಾಡಲು ಇತರ ಆ್ಯಪ್‌ಗಳಲ್ಲಿ ಡಿಸ್‌ಪ್ಲೇ ಮಾಡಬಹುದಾದ ಆ್ಯಪ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"ಅಣಕು ಮೋಡೆಮ್ ಅನ್ನು ಅನುಮತಿಸಿ"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ಇನ್‌ಸ್ಟ್ರುಮೆಂಟೇಶನ್ ಪರೀಕ್ಷೆಗಾಗಿ ಅಣಕು ಮೋಡೆಮ್ ಸೇವೆಯನ್ನು ರನ್ ಮಾಡಲು ಈ ಸಾಧನಕ್ಕೆ ಅನುಮತಿಸಿ. ಫೋನ್‌ನ ಸಾಮಾನ್ಯ ಬಳಕೆಯ ಸಮಯದಲ್ಲಿ ಇದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಡಿ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"ಸ್ಕ್ರೀನ್ ಹಂಚಿಕೆ ಸಂರಕ್ಷಣೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"ಸ್ಕ್ರೀನ್‌‌ ಹಂಚಿಕೊಳ್ಳುವಿಕೆಯ ಸಮಯದಲ್ಲಿ ಸಿಸ್ಟಂ ಅನ್ವಯಿಕ ಆ್ಯಪ್ ಮತ್ತು ನೋಟಿಫಿಕೇಶನ್‌ಗಳ ಸಂರಕ್ಷಣೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"ಮಾಧ್ಯಮ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"ಮೀಡಿಯಾ ಪ್ಲೇಯರ್ ಅನ್ನು ಪಿನ್ ಮಾಡಿ"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"ಪ್ಲೇಬ್ಯಾಕ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಪುನರಾರಂಭಿಸಲು, ತ್ವರಿತ ಸೆಟ್ಟಿಂಗ್‌ಗಳಲ್ಲಿ ಮೀಡಿಯಾ ಪ್ಲೇಯರ್ ತೆರೆದಿರುತ್ತದೆ"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಮೀಡಿಯಾ ಅನ್ನು ತೋರಿಸಿ"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"ಪ್ಲೇಬ್ಯಾಕ್ ಅನ್ನು ತ್ವರಿತವಾಗಿ ಪುನರಾರಂಭಿಸಲು, ಲಾಕ್ ಸ್ಕ್ರೀನ್‌ನಲ್ಲಿ ಮೀಡಿಯಾ ಪ್ಲೇಯರ್ ತೆರೆದಿರುತ್ತದೆ"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"ಮಾಧ್ಯಮ ಶಿಫಾರಸುಗಳನ್ನು ತೋರಿಸಿ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant ಮಾಧ್ಯಮ ಶಿಫಾರಸುಗಳನ್ನು ತೋರಿಸಿ"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"ನಿಮ್ಮ ಚಟುವಟಿಕೆಯ ಆಧಾರದ ಮೇಲೆ"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ಪ್ಲೇಯರ್ ಮರೆಮಾಡಿ"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ಪ್ಲೇಯರ್ ತೋರಿಸಿ"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"ಮಾಧ್ಯಮ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"ಕ್ಯಾಮರಾ ಸಾಫ್ಟ್‌ವೇರ್ ಎಕ್ಸ್‌ಟೆನ್ಶನ್‌ಗಳನ್ನು ಅನುಮತಿಸಿ"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"ಕಣ್ಣು ಮುಕ್ತ ವೀಡಿಯೊಗ್ರಫಿಯಂತಹ ಸುಧಾರಿತ ಕ್ಯಾಮರಾ ಫೀಚರ್‌ಗಳ ಡೀಫಾಲ್ಟ್ ಸಾಫ್ಟ್‌ವೇರ್ ಕಾರ್ಯಗತಗೊಳಿಸುವಿಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸುತ್ತದೆ."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ಬ್ಲೂಟೂತ್ ಆನ್ ಆಗುತ್ತದೆ"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ಇಂಟರ್ನೆಟ್"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"ಸಿಮ್‌ಗಳು"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ಸಿಮ್"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM ಗಳು"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"ಸಕ್ರಿಯವಾಗಿದೆ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ನಿಷ್ಕ್ರಿಯವಾಗಿದೆ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ಆನ್ ಮಾಡಿ"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ಆಫ್ ಮಾಡಿ"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> ಗಾಗಿ ಡೀಫಾಲ್ಟ್ ಆಗಿದೆ"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ಕರೆಗಳು"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ಹೊಂದಾಣಿಕೆಯಾಗುವ ಮಾಧ್ಯಮಗಳ ಆಡಿಯೋ ಇನ್ನಷ್ಟು ತಲ್ಲೀನವಾಗಿ ಕೇಳಿಸುತ್ತದೆ"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ಹೆಡ್ ಟ್ರ್ಯಾಕಿಂಗ್"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ಆಡಿಯೋ ಇನ್ನಷ್ಟು ನೈಜವಾಗಿ ಕೇಳಿಸಲು ನಿಮ್ಮ ತಲೆಯನ್ನು ಸರಿಸಿದಾಗಲೆಲ್ಲಾ ಆಡಿಯೋ ಬದಲಾಗುತ್ತದೆ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ಅನುಮತಿಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಿ"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> ನಲ್ಲಿ ನೀವು ಅನುಮತಿಸಿದ ಆ್ಯಪ್ ಅನುಮತಿಗಳನ್ನು <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ಗೆ ಸಹ ನೀಡಿ"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ಫೋನ್‌ನಿಂದ ಅನುಮತಿಗಳನ್ನು ಸಿಂಕ್ ಮಾಡಿ"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ಈ ಫೋನ್‌ನಲ್ಲಿ ನೀವು ಅನುಮತಿಸಿದ ಆ್ಯಪ್ ಅನುಮತಿಗಳನ್ನು ನಿಮ್ಮ ವಾಚ್‌ಗೂ ಸಹ ನೀಡಿ"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ಆಡಿಯೋ ಸಾಧನದ ಪ್ರಕಾರ"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"ಅಪರಿಚಿತ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ಸ್ಪೀಕರ್"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"ಮಧ್ಯಮ"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ಹೆಚ್ಚು"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ಈ ಆ್ಯಪ್ ಅನ್ನು 1 ವಿಂಡೋದಲ್ಲಿ ಮಾತ್ರ ತೆರೆಯಬಹುದು"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ಆನ್ ಆಗಿದೆ"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ಆಫ್ ಆಗಿದೆ"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ಆಫ್ ಆಗಿದೆ"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ಆಫ್"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ಆನ್"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ಆಫ್"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ಆನ್"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ಆಫ್"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ಡಾರ್ಕ್‌ ಸ್ಕ್ರೀನ್‌ಗಳನ್ನು ಲೈಟ್ ಆಗಿಯೂ ಹಾಗೂ ಲೈಟ್ ಆದ ಸ್ಕ್ರೀನ್‌ಗಳನ್ನು ಡಾರ್ಕ್ ಆಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ಸ್ಕ್ರೀನ್ ಮೇಲೆ ಝೂಮ್‌ ಇನ್‌ ಮಾಡಿ"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ಆಫ್"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ಆಫ್"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ಮೋಸಗೊಳಿಸುವ ಆ್ಯಪ್‌ಗಳಿಗಾಗಿ ಸ್ಕ್ಯಾನ್ ಮಾಡಲಾಗುತ್ತಿದೆ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ಫಿಶಿಂಗ್‌ಗಾಗಿ ಆ್ಯಪ್‌ನ ಚಟುವಟಿಕೆಯನ್ನು ಪರಿಶೀಲಿಸಿ"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ಮೋಸಗೊಳಿಸುವ ಆ್ಯಪ್‌ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸ್ಕ್ಯಾನಿಂಗ್ ಬಳಸಿ"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ಕೆಲಸದ ಸ್ಥಳದಲ್ಲಿ ಮೋಸಗೊಳಿಸುವ ಆ್ಯಪ್‌ಗಳನ್ನು ಪತ್ತೆಹಚ್ಚಲು ಸ್ಕ್ಯಾನಿಂಗ್ ಬಳಸಿ"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಈಗ ಸೆಟಪ್ ಮಾಡಲಾಗಿದೆ"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"ಹೋವರ್ ಮಾಡುವಾಗ ಪಾಯಿಂಟರ್ ಅನ್ನು ತೋರಿಸಿ"</string>
 </resources>
diff --git a/res/values-ko/arrays.xml b/res/values-ko/arrays.xml
index e8bd555..8602611 100644
--- a/res/values-ko/arrays.xml
+++ b/res/values-ko/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"사용 가능"</item>
     <item msgid="6096962300722555553">"범위를 벗어났습니다."</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"사용 중지됨"</item>
+    <item msgid="7781484297606806796">"유니캐스트"</item>
+    <item msgid="6667451574264144311">"유니캐스트 및 브로드캐스트"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"시스템 기본값 사용: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>개"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1분 후"</item>
     <item msgid="1574040255478150028">"5분 후"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ko/strings.xml b/res/values-ko/strings.xml
index 709017d..f31bf7d 100644
--- a/res/values-ko/strings.xml
+++ b/res/values-ko/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"개발자가 되셨습니다."</string>
     <string name="show_dev_already" msgid="7041756429707644630">"이미 개발자입니다."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"먼저 개발자 옵션을 사용 설정하세요."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"관리자만 개발자 설정에 액세스할 수 있습니다."</string>
     <string name="header_category_system" msgid="1665516346845259058">"시스템"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"서비스 중"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"서비스 지역 벗어남"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"기기를 접으면 전면 디스플레이가 켜집니다"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"게임, 동영상 등만"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"화면 유휴 상태를 중지하는 앱의 경우 전면 디스플레이가 켜집니다"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"위로 스와이프하여 계속하기"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"휴대전화를 접고 전면 디스플레이에서 위로 스와이프하여 계속 앱을 사용하거나, 화면이 잠길 때까지 몇 초 동안 기다립니다"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"사용 안함"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"기기를 접으면 전면 디스플레이가 잠깁니다"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"자동 회전 사용"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"관련 도구"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"벨소리 및 알람"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"통화 중 오디오"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"미디어"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"알림 및 기타 시스템 사운드"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"미디어 및 시스템 소리"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"알림"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"기본적으로 오디오 출력은 개별 앱에 의해 결정됩니다."</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"이름이 없는 블루투스 기기"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"검색 중"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"취소"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"블루투스 LE 오디오 사용 중지"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"기기가 LE 오디오 하드웨어 기능을 지원하는 경우 블루투스 LE 오디오 기능을 사용 중지합니다."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"블루투스 LE 오디오 모드"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"기기 세부정보에 LE 오디오 전환 버튼 표시"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"블루투스 LE 오디오 허용 목록 사용 설정"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"블루투스 LE 오디오 허용 목록 기능을 사용 설정합니다."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"블루투스 LE 오디오 허용 목록 우회"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE 오디오 주변기기가 허용 목록 기준을 충족하는 것으로 확인되지 않은 경우에도 기본적으로 LE 오디오를 사용합니다."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"미디어 기기"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"통화 기기"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"다른 기기"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"저장된 기기"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"계정과 연결됨"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"이전에 계정에 연결하여 사용한 기기"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"페어링을 위해 블루투스가 켜집니다"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"연결 환경설정"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"이전에 연결됨"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"블루투스가 사용 설정됨"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"전체 보기"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"모두 보기"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"스타일러스"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"테일 버튼 누르기"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g>(직장 프로필)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"텍스트 입력란에 작성"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"스타일러스 버튼 누름 모두 무시"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"스타일러스"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"오디오 공유"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"오디오 공유"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"통화 및 알람"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR 코드를 사용해 오디오 스트림에 연결"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"주변 오디오 스트림이 없습니다."</string>
     <string name="date_and_time" msgid="1788358029823431692">"날짜 및 시간"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"프록시"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"지우기"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s를 기본 언어에 추가하시겠습니까?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"이렇게 하면 앱과 웹사이트에서 사용자가 이 언어도 기본 언어로 사용함을 알게 됩니다."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"기기 설정과 지역 설정이 변경됩니다."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"변경"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s 사용할 수 없음"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"토요일"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"지역 설정을 지원하지 않는 앱에서는 기본 언어 설정이 사용됩니다"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"언어 환경설정에 관해 자세히 알아보세요."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"추가 환경설정"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"호칭어"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"호칭 방식 설정하기"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"앱이 내가 지정한 호칭어를 사용하여 나를 호칭하는 방식을 맞춤설정할 수 있습니다"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"지정되지 않음"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"여성"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"남성"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"중성"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{선택한 언어를 삭제하시겠습니까?}other{선택한 언어를 삭제하시겠습니까?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"텍스트가 다른 언어로 표시됩니다."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"모든 언어를 삭제할 수는 없습니다."</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"위치"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"위치 사용"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"사용 안함"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{사용 - 앱 #개가 위치에 액세스할 수 있음}other{사용 - 앱 #개가 위치에 액세스할 수 있음}}"</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_location_off" msgid="8568995909147566720">"앱 및 서비스에 대한 위치 정보 액세스가 사용 중지되어 있습니다. 그래도 긴급 전화번호로 전화를 걸거나 문자 메시지를 보내면 기기의 위치 정보가 긴급 구조원에게 전달될 수 있습니다."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"위치 설정 자세히 알아보기"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"위치 설정에 대해 자세히 알아보기"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"위치 액세스 권한을 변경하려면 설정 &gt; 보안 및 개인 정보 보호 &gt; 개인 정보 보호 설정으로 이동하세요."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"계정"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"보안"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"암호화 및 사용자 인증 정보"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"최상의 결과를 얻으려면 Made For Google 인증 화면 보호재를 사용하세요. 다른 화면 보호재를 사용할 경우 자녀의 지문이 인식되지 않을 수 있습니다."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"스마트시계 잠금 해제"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하면 마스크를 쓰고 있거나 어두운 곳에 있을 때 휴대전화에서 지문을 요청합니다.\n\n얼굴 또는 지문이 인식되지 않을 때 시계로 잠금 해제할 수 있습니다."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"지문이 인식되지 않을 때 시계로 잠금 해제할 수 있습니다."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"얼굴이 인식되지 않을 때 시계로 잠금 해제할 수 있습니다."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"얼굴 인식 잠금 해제 및 지문 잠금 해제를 설정하면 마스크를 쓰고 있거나 어두운 곳에 있을 때 휴대전화에서 지문을 요청합니다.\n\n스마트시계 잠금 해제는 손가락이 젖었거나 얼굴이 인식되지 않을 때 휴대전화를 잠금 해제할 수 있는 또 다른 편리한 방법입니다."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"스마트시계 잠금 해제는 지문이 인식되지 않을 때 휴대전화를 잠금 해제할 수 있는 또 다른 편리한 방법입니다."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"스마트시계 잠금 해제는 얼굴이 인식되지 않을 때 휴대전화를 잠금 해제할 수 있는 또 다른 편리한 방법입니다."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"다음에 지문 또는 워치 사용"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"다음에 얼굴 또는 워치 사용"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"다음에 얼굴, 지문 또는 워치 사용"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"스마트시계 잠금 해제는 손가락이 젖었거나 얼굴이 인식되지 않을 때 휴대전화를 잠금 해제할 수 있는 또 다른 편리한 방법입니다.\n\n시계를 사용하여 다음과 같은 방법으로 휴대전화를 잠금 해제할 수 있습니다."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"나중에"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"계속"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"더보기"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"작동 원리"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"시계를 손목에 착용하고 있는 상태에서 시계가 잠금 해제되어 있으며 이 휴대전화와 가까이에 있어야 합니다. 손목에 착용하고 있는 상태에서는 시계를 다시 잠금 해제할 필요가 없습니다."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"이 휴대전화가 잠금 해제되면 시계로 알림이 전송됩니다. 의도하지 않았는데 휴대전화 잠금이 해제된 경우 알림을 탭하여 휴대전화를 다시 잠글 수 있습니다."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"직접 관리하기"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"언제든지 설정을 통해 스마트시계 잠금 해제에서 시계를 삭제할 수 있습니다."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"알림 탭하기"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"잠금 화면에서 위로 스와이프"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"시계 선택하기"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"사용 가능한 시계"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"취소"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"확인"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"설정 완료"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"이제 잠금 화면을 위로 스와이프하거나 알림을 탭하면 시계를 사용하여 이 휴대전화의 잠금을 해제할 수 있습니다."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"완료"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"스마트시계 잠금 해제"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"잠금 화면을 위로 스와이프하거나 알림을 탭하면 시계를 사용하여 이 휴대전화의 잠금을 해제할 수 있습니다."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"스마트시계 잠금 해제를 사용하려면 시계를 손목에 착용하고 있는 상태에서 시계가 잠금 해제되어 있으며 이 휴대전화와 연결되어 있어야 합니다. 연결이 중단되면 스마트시계 잠금 해제를 사용하기 전에 휴대전화를 잠금 해제해야 합니다.\n\n주의사항:\n한 번에 하나의 시계만 설정할 수 있습니다. 다른 시계를 추가하려면 먼저 기존 시계를 삭제해야 합니다."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"직장용 얼굴 인식/지문 잠금 해제"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"설정 필요"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"보안"</string>
     <string name="privacy_header" msgid="5526002421324257007">"개인 정보 보호"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"직장 프로필"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"비공개 스페이스"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"비공개 앱을 잠그고 숨겨진 상태로 유지"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"비공개 앱을 숨기거나 잠글 수 있는 별도의 스페이스에 보관하세요."</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"비공개 스페이스 잠금"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"기기를 잠금 해제하는 방식과 동일하게 비공개 스페이스를 잠금 해제하거나 다른 잠금 방식을 선택할 수 있습니다."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"기기 화면 잠금 사용"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"얼굴 및 지문 잠금 해제"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"지문 잠금 해제"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"얼굴 인식 잠금 해제"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"탭하여 설정"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"비공개 스페이스용 지문 잠금 해제"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"비공개 스페이스용 얼굴 인식 잠금 해제"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"잠금 해제 방법"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"기기 화면 잠금과 동일"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"새로운 비공개 스페이스용 잠금을 선택하시겠습니까?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"비공개 스페이스 자동 잠금"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"일정 시간 동안 기기를 사용하지 않은 경우 비공개 스페이스를 자동으로 잠글 수 있습니다."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"기기를 잠글 때마다"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5분 동안 사용하지 않은 경우"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"사용 안 함"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"잠겨 있을 때 숨김"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"잠겨 있을 때 비공개 스페이스 숨기기"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"기기에 비공개 스페이스가 있다는 사실을 다른 사람이 알지 못하도록 앱 목록에서 숨길 수 있습니다."</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"숨겨져 있을 때 비공개 스페이스에 액세스"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"앱 목록에서 검색창에 \"비공개 스페이스\"를 입력합니다"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"비공개 스페이스 타일을 탭합니다."</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"비공개 스페이스를 잠금 해제합니다."</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"사용 안함"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"사용"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"시스템"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"비공개 스페이스 삭제"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"비공개 스페이스를 삭제하시겠습니까?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"비공개 스페이스가 기기에서 삭제되며, 모든 비공개 앱과 데이터가 삭제됩니다. 이 작업은 실행취소할 수 없습니다."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"다음 계정이 비공개 스페이스에서 삭제됩니다."</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"삭제"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"비공개 스페이스 삭제 중…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"몇 분 정도 걸릴 수 있습니다."</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"비공개 스페이스를 삭제함"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"비공개 스페이스를 삭제할 수 없음"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"비공개 스페이스 잠금 해제됨"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"화면 잠금 설정"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"비공개 스페이스를 사용하려면 이 기기에 화면 잠금을 설정하세요."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"화면 잠금 설정"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"취소"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"취소"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"설정"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"비공개 스페이스를 설정하세요"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"비공개 앱을 숨기거나 잠글 수 있는 별도의 스페이스에 보관하세요."</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"작동 방식"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"앱 목록 하단에서 비공개 스페이스에 액세스할 수 있습니다."</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"잠금을 통해 비공개 스페이스의 앱이 보호됩니다."</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"비공개 스페이스가 잠겨 있으면 비공개 스페이스의 앱에서 보내는 알림은 표시되지 않습니다."</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"비공개 스페이스가 잠겨 있으면 비공개 스페이스의 앱은 권한 관리자, 개인 정보 대시보드, 기타 설정에 표시되지 않습니다.\n\n비공개 스페이스는 새 기기로 옮길 수 없습니다. 다른 기기에서 사용하려면 다른 비공개 스페이스를 설정해야 합니다.\n\n기기를 컴퓨터에 연결하거나 기기에 유해한 앱을 설치 가능한 사람은 비공개 스페이스에 액세스할 수 있습니다."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"비공개 스페이스 설정 중…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"비공개 스페이스가 잠겨 있으면 비공개 스페이스 앱에서 보내는 알림이 표시되지 않음"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"비공개 스페이스를 잠금 해제하여 사진이나 파일 공유"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"일부 앱이 이미 비공개 스페이스에 설치되어 있습니다"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"비공개 스페이스를 설정할 수 없음"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"다시 시도"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"화면 잠금을 사용하여 비공개 스페이스를 잠금 해제하시겠습니까?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"기기를 잠금 해제하는 방식과 동일하게 비공개 스페이스를 잠금 해제하거나 다른 잠금 방식을 선택할 수 있습니다."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"화면 잠금 사용"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"새 잠금 방식 선택"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"설정 완료"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"비공개 스페이스를 확인하려면 앱 목록으로 이동한 후 아래로 스크롤하세요."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"완료"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"비공개 스페이스를 찾으려면 아래로 스크롤하세요."</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"로그인"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"비공개 스페이스에서 사용할 계정에 로그인"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"나중에"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"계속"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"비공개 스페이스용 잠금 방식을 선택하세요"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"지문을 사용하여 비공개 스페이스를 잠금 해제할 수 있습니다. 이 옵션을 사용하려면 보안을 위해 백업 잠금이 필요합니다."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"비공개 스페이스용 PIN 설정"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"비공개 스페이스용 비밀번호 설정"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"비공개 스페이스용 패턴 설정"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"지문을 <xliff:g id="COUNT">%d</xliff:g>개까지 추가할 수 있습니다."</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"최대 개수의 지문을 추가했습니다."</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"지문을 추가할 수 없습니다."</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"패턴"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"비밀번호"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"화면 잠금을 삭제하시겠습니까?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"모든 유형의 기기 잠금 해제를 삭제하시겠습니까?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"프로필 보호 기능을 삭제하시겠습니까?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"분실하거나 도난당한 경우 패턴으로 휴대전화를 보호합니다."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"분실하거나 도난당한 경우 패턴으로 휴대전화를 보호합니다.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>기기에 저장된 지문 모델이 삭제됩니다. 또한 얼굴 모델이 영구적으로 안전하게 삭제됩니다. 앱 내에서 얼굴 또는 지문 인증을 사용할 수 없게 됩니다."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"분실하거나 도난당한 경우 PIN으로 휴대전화를 보호합니다."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN 등 저장된 데이터가 손실됩니다.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>비접촉 결제가 설정된 카드가 삭제됩니다.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>기기 잠금 해제가 필요한 월렛 및 기타 앱이 제대로 작동하지 않을 수도 있습니다."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"분실하거나 도난당한 경우 PIN으로 휴대전화를 보호합니다.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>또한 기기에 저장된 지문 모델이 삭제됩니다. 앱 내에서 지문 인증을 사용할 수 없게 됩니다."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN, 지문 모델 등 저장된 데이터가 손실됩니다.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>비접촉 결제가 설정된 카드가 삭제됩니다.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>기기 잠금 해제가 필요한 월렛 및 기타 앱이 제대로 작동하지 않을 수도 있습니다."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"분실하거나 도난당한 경우 PIN으로 휴대전화를 보호합니다.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>또한 얼굴 모델이 영구적으로 안전하게 삭제됩니다. 앱 내에서 얼굴 인증을 사용할 수 없게 됩니다."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN, 얼굴 모델 등 저장된 데이터가 손실됩니다.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>비접촉 결제가 설정된 카드가 삭제됩니다.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>기기 잠금 해제가 필요한 월렛 및 기타 앱이 제대로 작동하지 않을 수도 있습니다."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"분실하거나 도난당한 경우 PIN으로 휴대전화를 보호합니다.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>기기에 저장된 지문 모델이 삭제됩니다. 또한 얼굴 모델이 영구적으로 안전하게 삭제됩니다. 앱 내에서 얼굴 또는 지문 인증을 사용할 수 없게 됩니다."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN, 얼굴 모델, 지문 모델 등 저장된 데이터가 손실됩니다.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>비접촉 결제가 설정된 카드가 삭제됩니다.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>기기 잠금 해제가 필요한 월렛 및 기타 앱이 제대로 작동하지 않을 수도 있습니다."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"분실하거나 도난당한 경우 비밀번호로 휴대전화를 보호합니다."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"분실하거나 도난당한 경우 비밀번호로 휴대전화를 보호합니다.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"블루투스"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"블루투스"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>과(와) 페어링하시겠습니까?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"기존 통합 세트에 새 멤버를 추가하세요."</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"두 번째 오디오 기기 추가 확인"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"블루투스 페어링 코드"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"페어링 코드를 입력하고 Return 또는 Enter 키를 누르세요."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN에 문자나 기호가 포함됩니다."</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16자리 숫자여야 합니다."</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"또한 다른 기기에 이 PIN을 입력해야 할 수도 있습니다."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"또한 경우에 따라 다른 기기에 이 패스키를 입력해야 합니다."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"통합 세트와의 페어링 확인"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"오디오 기기와의 페어링 확인"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"연락처 및 통화 기록 액세스 허용"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"연락처 및 통화 기록에 대한 액세스도 허용합니다."</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"정보는 전화 알림 등에 사용됩니다."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>에 연결할 수 없습니다."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"사용할 수 있는 기기"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"연결"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"연결 끊기"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"페어링 및 연결"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"기기에서 블루투스가 켜져 있으면 주변의 다른 블루투스 기기와 통신할 수 있습니다."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"블루투스가 켜져 있으면 기기가 주변의 다른 블루투스 기기와 통신할 수 있습니다."</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"블루투스가 켜져 있으면 기기가 근처의 다른 블루투스 기기와 통신할 수 있습니다.\n\n기기 사용 환경을 개선하기 위해 블루투스가 꺼져 있을 때도 앱 및 서비스에서 언제든지 근처에 기기가 있는지 검색할 수 있습니다. 예를 들면 위치 기반 기능 및 서비스를 개선하는 데 이 기능이 사용되기도 합니다. 설정을 변경하려면 블루투스 검색 설정으로 이동하세요."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"변경"</string>
     <string name="device_details_title" msgid="1155622417516195481">"기기 세부정보"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART가 디버깅 가능한 앱의 바이트코드를 확인하도록 허용"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"새로고침 빈도 보기"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"현재 화면 새로고침 빈도 보기"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR 비율 표시"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"현재 HDR/SDR 비율 표시"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC 사용 시 기기 잠금 해제 필요"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"비행기 모드"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"공용 네트워크 알림"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"고품질 공용 네트워크를 사용할 수 있을 때 알림"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP 네트워크 허용"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP는 오래되어서 안전성이 낮은 보안 프로토콜입니다"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"사용 중인 이동통신사에서는 WEP 네트워크의 낮은 안전성으로 인해 해당 네트워크를 허용하지 않습니다"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"자동으로 Wi‑Fi 사용 설정"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"홈 네트워크 등의 저장된 고품질 네트워크가 가까이 있을 때 Wi‑Fi가 다시 사용 설정됨"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"위치 정보가 사용 중지되어 있으므로 사용할 수 없습니다. "<annotation id="link">"위치 정보"</annotation>"를 사용 설정해 주세요."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi 검색을 사용하면 Wi‑Fi가 꺼져 있을 때도 앱과 서비스에서 항상 Wi-Fi 네트워크를 검색할 수 있습니다. 이 설정은 위치 기반 기능 및 서비스 개선 등에 사용할 수 있습니다."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"사용 설정"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi 검색 사용 설정됨"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"이 네트워크는 오래되어서 안전성이 낮은 보안 프로토콜을 사용합니다"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> 차단됨"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"이 네트워크는 오래되어서 안전성이 낮은 WEP라는 보안 프로토콜을 사용합니다. 그래도 연결하려면 WEP 네트워크를 허용하세요."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"사용 중인 이동통신사에서는 이 네트워크가 오래되어서 안전성이 낮은 보안 프로토콜을 사용하기 때문에 해당 네트워크에 대한 연결을 허용하지 않습니다"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP 허용"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"닫기"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"고급 옵션"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"드롭다운 목록 고급 옵션"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"펼치기"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi‑Fi 계속 사용"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"다시 표시하지 않음"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"연결"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi 사용 설정됨"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결됨"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>에 연결 중"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"연결 중…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"네트워크 연결 실패"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"범위 안에 네트워크가 없음"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"삭제"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"수정"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"네트워크 기록 삭제 실패"</string>
     <string name="wifi_save" msgid="2312643132472226807">"저장"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"네트워크 저장 실패"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"취소"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"모바일 데이터"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"이더넷"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ 충전 중"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ 충전 중"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"핫스팟 연결"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"연결 강도"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"저장된 네트워크"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"설정된 비밀번호 없음"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"핫스팟 이름"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"핫스팟 비밀번호"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP 대역"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"자동으로 핫스팟 사용 중지"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"연결된 기기가 없을 때"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"호환성 확장"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"디스플레이 화이트 밸런스"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"접은 상태에서 앱 계속 사용"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"스무스 디스플레이"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"일부 콘텐츠의 화면 재생 빈도를 자동으로 60Hz에서 <xliff:g id="ID_1">%1$s</xliff:g>Hz로 늘립니다. 배터리 사용량이 증가합니다."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"게임 기본 프레임 속도 사용 중지"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"게임 최대 프레임 속도 <xliff:g id="FRAME_RATE">%1$d</xliff:g>Hz 제한을 사용 중지합니다."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"스무스 디스플레이"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"일부 콘텐츠의 화면 재생 빈도를 자동으로 최대 <xliff:g id="ID_1">%1$d</xliff:g>Hz까지 늘립니다. 배터리 사용량이 증가합니다."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"가장 높은 새로고침 빈도 강제 적용"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"향상된 터치 반응 속도 및 애니메이션 품질에 맞는 가장 높은 새로고침 빈도입니다. 배터리 사용량이 증가합니다."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"화면 시선 감지"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"화면 시선 감지는 전면 카메라를 사용하여 화면을 보고 있는 사용자가 있는지 확인하는 기능입니다. 이 기능은 기기에서 작동하며 이미지는 Google에 전송되거나 저장되지 않습니다."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"화면 시선 감지 사용"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"화면을 보고 있는 동안 화면을 켜진 상태로 유지"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"화면 자동 잠금 시간이 길어지면 배터리 소모량이 많아집니다."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"카메라가 잠겨 있음"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"얼굴 인식을 위해 카메라를 잠금 해제해야 합니다."</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"화면 시선 감지를 위해 카메라를 잠금 해제해야 합니다."</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI(SIM 슬롯 <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI(SIM 슬롯 <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>)(기본)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"확인하려면 저장된 네트워크를 선택하세요."</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL 버전"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"배터리 수준"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"커뮤니티"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"커뮤니티 설정"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"위성 메시지"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"액세스 포인트 수정"</string>
+    <string name="apn_add" msgid="9069613192201630934">"액세스 포인트 추가"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"설정되지 않음"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"설정되지 않음"</string>
     <string name="apn_name" msgid="6677695784108157953">"이름"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN 사용"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN 사용 중지됨"</string>
     <string name="bearer" msgid="3231443241639159358">"베어러(Bearer)"</string>
+    <string name="network_type" msgid="748590707422733595">"네트워크 유형"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"명시되지 않음"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO 유형"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO 값"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN 삭제"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"저장"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"취소"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN 항목이 중복됩니다."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"이름 입력란은 비워둘 수 없습니다."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN을 비워둘 수 없습니다."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC는 3자리 숫자여야 합니다."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC는 2~3자리 숫자여야 합니다."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"이동통신사에서 %s 유형의 APN을 추가하도록 허용하지 않습니다."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC 입력란은 유효해야 합니다."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"기본 APN 설정 복원 중"</string>
     <string name="menu_restore" msgid="4310539620115151551">"초기화"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"기본 APN 설정을 초기화했습니다."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"초기화"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"블루투스 및 Wi-Fi가 초기화됨"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"e-SIM 삭제"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"SIM을 삭제해도 모바일 서비스 요금제는 취소되지 않습니다. 교체 SIM을 다운로드하려면 이동통신사에 문의하세요."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"이렇게 해도 휴대전화 요금제는 취소되지 않습니다. 교체용 SIM을 받으려면 이동통신사에 문의하세요."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"설정 초기화"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"네트워크 설정을 모두 초기화하시겠습니까? 이 작업은 실행취소할 수 없습니다."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"모든 네트워크 설정을 초기화하고 eSIM을 삭제하시겠습니까? 이 작업은 실행취소할 수 없습니다."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"초기화하시겠습니까?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"네트워크 재설정 권한이 없는 사용자입니다."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"네트워크 설정이 재설정되었습니다."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM을 삭제할 수 없음"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"오류로 인해 eSIM을 삭제할 수 없습니다.\n\n기기를 다시 시작한 후 다시 시도해 보세요."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM을 삭제할 수 없음"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"문제가 발생하여 이 eSIM이 삭제되지 않았습니다.\n\n기기를 다시 시작하고 다시 시도하세요."</string>
     <string name="main_clear_title" msgid="277664302144837723">"모든 데이터 삭제(초기화)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"모든 데이터 삭제(초기화)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"음악"</li>\n<li>"사진"</li>\n<li>"기타 사용자 데이터"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"모바일 서비스 요금제는 취소되지 않습니다."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"모든 개인 정보와 다운로드한 앱이 삭제됩니다. 이 작업은 실행취소할 수 없습니다."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"다운로드한 앱 및 SIM을 포함한 모든 개인 정보가 삭제됩니다. 이 작업은 실행취소할 수 없습니다."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"다운로드한 앱 및 eSIM을 포함한 모든 개인 정보가 삭제됩니다. 이 작업은 실행취소할 수 없습니다."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"모든 데이터를 삭제하시겠습니까?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"초기화를 실행할 권한이 없는 사용자입니다."</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"삭제 중"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"핫스팟, USB, 블루투스, 이더넷"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"다른 기기와 인터넷 공유 안함"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"사용 안함"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"테더링"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi 핫스팟 사용 안함"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB를 통해서만 인터넷 공유"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"블루투스를 통해서만 인터넷 공유"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"이더넷을 통해서만 인터넷 공유"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB 및 블루투스를 통해서만 인터넷 공유"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB 및 이더넷을 통해서만 인터넷 공유"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"블루투스 및 이더넷을 통해서만 인터넷 공유"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, 블루투스, 이더넷을 통해서만 인터넷 공유"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 테더링"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"블루투스 테더링"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"이더넷 테더링"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"핫스팟 및 테더링으로 다른 기기에서 내 Wi-Fi 또는 모바일 데이터 연결을 통해 인터넷을 사용할 수 있도록 합니다. 앱에서도 핫스팟을 만들어 주변 기기와 콘텐츠를 공유할 수 있습니다."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"고객센터"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"모바일 네트워크"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"모바일 요금제"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS 앱"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS 앱을 변경하시겠습니까?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"SMS 앱으로 <xliff:g id="CURRENT_APP">%2$s</xliff:g> 대신 <xliff:g id="NEW_APP">%1$s</xliff:g>을(를) 사용하시겠습니까?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi 도우미를 변경하시겠습니까?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> 대신 <xliff:g id="NEW_APP">%1$s</xliff:g>을(를) 사용하여 네트워크 연결을 관리하시겠습니까?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"<xliff:g id="NEW_APP">%s</xliff:g>을(를) 사용하여 네트워크 연결을 관리하시겠습니까?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"알 수 없는 SIM 연산자입니다."</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>에 알려진 프로비저닝 웹사이트가 없습니다."</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIM 카드를 삽입하고 다시 시작하세요."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"인터넷에 연결하세요."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"최근 위치 요청"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"직장 프로필 위치"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"앱 위치 정보 액세스 권한"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"액세스 삭제"</string>
     <string name="controls_label" msgid="8671492254263626383">"제어"</string>
     <string name="force_stop" msgid="2681771622136916280">"강제 종료"</string>
+    <string name="archive" msgid="9074663845068632127">"보관처리"</string>
+    <string name="restore" msgid="7622486640713967157">"복원"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"복원 중"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"복원 중입니다."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"복원 중…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"복원 중…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"전체"</string>
     <string name="application_size_label" msgid="6407051020651716729">"앱 크기"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB 저장소 애플리케이션"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"패키지 크기를 계산할 수 없습니다."</string>
     <string name="version_text" msgid="7628938665256107608">"버전 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"이동"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"보관처리 실패"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> 보관처리됨"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"복원 실패"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> 복원 중"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"또 다른 이전이 이미 진행 중입니다."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"저장공간이 충분하지 않습니다."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"앱이 없습니다."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"사용 가능한 터치 키보드"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"터치 키보드 관리"</string>
     <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="6922850403920596246">"물리적 키보드 접근성을 위해 바운스 키 사용 설정"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"느린 키"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"실제 키보드 접근성을 위해 느린 키 사용 설정"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"고정키"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"물리적 키보드 접근성을 위해 고정키 사용 설정"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"더 많은 옵션을 확인하려면 터치패드 오른쪽 하단을 탭합니다"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"포인터 속도"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"터치패드 동작 알아보기"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"홈으로 이동"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"터치패드 아무 곳에서나 세 손가락을 사용해 위로 스와이프하세요."</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"뒤로"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"사용 시간으로 정렬"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"최근 사용 시간으로 정렬"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"앱 이름으로 정렬"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"최근 사용"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"마지막 사용"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"사용한 적 없음"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"사용 시간"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"접근성"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"접근성 설정"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"세 번 탭하여 확대"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"바로가기를 사용하여 확대"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"바로가기 및 세 번 탭으로 확대"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> 정보"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"접근성 버튼을 사용하여 열기"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"볼륨 키를 길게 눌러 열기"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"화면을 세 번 탭하여 열기"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"두 손가락으로 화면을 세 번 탭하여 열기"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"동작을 사용해 열기"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"접근성 동작 사용"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"이 기능을 사용하려면 화면 하단의 접근성 버튼 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>을 탭하세요.\n\n기능 간에 전환하려면 접근성 버튼을 길게 터치하세요."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"이 기능을 사용하려면 화면에서 접근성 버튼을 탭하세요."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"이 기능을 사용하려면 볼륨 키 2개를 동시에 길게 누르세요."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"확대를 시작 및 중지하려면 화면의 아무 곳이나 세 번 탭하세요."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"확대를 시작 및 중지하려면 화면의 아무 곳이나 두 손가락으로 두 번 탭하세요."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"이 기능을 사용하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"이 기능을 사용하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"접근성 기능을 사용하려면 두 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 두 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"접근성 기능을 사용하려면 세 손가락을 사용하여 화면 하단에서 위로 스와이프하세요.\n\n기능 간에 전환하려면 세 손가락을 사용하여 위로 스와이프한 후 잠시 기다립니다."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"확인"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"접근성 버튼 설정"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"버튼 설정"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> 바로가기"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"접근성 버튼"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"접근성 동작"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"볼륨 키 길게 누르기"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"볼륨 키 길게 누르기"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"볼륨 키 2개를 길게 누릅니다."</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"두 손가락으로 화면을 두 번 탭하기"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"두 손가락으로 화면을 두 번 탭하기"</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="6863958573135995927">"화면 세 번 탭하기"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"화면을 {0,number,integer}번 빠르게 탭합니다. 이 바로가기를 사용하면 기기가 느려질 수 있습니다."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"접근성 버튼 및 동작에 관해 자세히 알아보기"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"접근성 버튼을 사용하세요. 3버튼 탐색에서는 동작을 사용할 수 없습니다."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"접근성 기능에 빠르게 액세스"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"시작하려면 다음 단계를 따르세요."</b>\n"1. 접근성 설정으로 이동합니다.\n2. 기능을 선택하고 단축키를 탭합니다.\n3. 기능에 액세스하는 데 버튼을 사용할지, 동작을 사용할지 선택합니다."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"시작하려면 다음 단계를 따르세요."</b>\n"1. 접근성 설정으로 이동합니다.\n2. 기능을 선택하고 단축키를 탭합니다.\n3. 기능에 액세스하는 데 사용할 버튼을 선택합니다."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"버튼 또는 동작 사용"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"위치"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"크기"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"전원 버튼으로 통화 종료"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"대형 마우스 포인터"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"마우스 포인터를 더 눈에 띄게 만듭니다."</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"모든 앱에 어두운 테마 적용"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"자체적인 어두운 테마가 없는 앱에 적용됩니다. 일부 앱에는 반전 색상과 같은 표시 문제가 발생할 수 있습니다."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"애니메이션 삭제"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"화면상의 움직임을 줄입니다."</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"모노 오디오"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"진동 및 햅틱 사용"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"알람 진동"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"미디어 진동"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"키보드 진동"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"벨소리 진동"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"알림 진동"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"터치 반응"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"중지"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"취소"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g>을(를) 중지하시겠습니까?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>를 탭하면 <xliff:g id="SERVICE">%2$s</xliff:g>가 중지됩니다."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"사용 중지"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"계속 사용"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g>을(를) 사용 중지하시겠습니까?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"설치된 서비스가 없습니다."</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"선택된 서비스 없음"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"제공된 설명이 없습니다."</string>
     <string name="settings_button" msgid="2195468788019730377">"설정"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"광과민성, 광선공포증, 어두운 테마, 편두통, 두통, 읽기 모드, 야간 모드, 밝기 낮추기, 화이트 포인트"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"사용 편의성, 접근 편의성, 지원, 보조"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"시각, 청각, 시각장애, 청각장애, 거동, 민첩성, 보조, 도움, 사용 편의성, 접근 편의성, 손, 지원"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"창 돋보기, 확대/축소, 확대, 저시력, 크게, 화면 크게"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"캡션, 폐쇄 자막, CC, 음성 자막 변환, 난청, 청력 손실, CART, 음성 텍스트 변환, 자막"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"색상 대비"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"거동, 마우스"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"보청기, 난청, 청력 상실, 인공 와우, 소리 증폭 기기, 사운드 프로세서"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"거동, 마우스, 외장 마우스, 헤드 마우스, 어댑티브 마우스, 휠체어, 조이스틱"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"보청기, 난청, 청력 상실, 인공 와우, 소리 증폭 기기, 사운드 프로세서, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"난청, 청력 손실, 캡션, 텔레타이프, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"버튼 3개"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"민첩성, 거동, 노인, 관절염, RSI, 뇌졸중, 떨림, 다발성 경화증, 뇌성마비, 경련, 반복성 긴장 장애, 손"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"지연, 민첩성, 노인"</string>
     <string name="print_settings" msgid="8519810615863882491">"인쇄"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"사용 안함"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{인쇄 서비스 1개 사용}other{인쇄 서비스 #개 사용}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> 남음"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> 후 완충"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"기기 사용 시간"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"백그라운드 시간"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"배터리 잔량 부족"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"앱이 백그라운드에서 실행되도록 허용"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"백그라운드 활동을 제한하시겠습니까?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"앱의 백그라운드 활동을 제한하면 앱이 정상적으로 작동하지 않을 수도 있습니다."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"배터리 최적화를 설정하지 않아 이 앱을 제한할 수 없습니다.\n\n앱을 제한하려면 먼저 배터리 최적화를 사용 설정하세요."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"배터리 사용량 관리"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"백그라운드 사용 허용"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"실시간 업데이트를 받으려면 사용 설정, 배터리를 절약하려면 사용 중지"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"제한 없음"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"최적화"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"제한됨"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"배터리 사용량이 가장 높은 앱을 확인하세요"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"배터리 보호를 위해 충전 최적화됨"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"배터리 수명 연장에 도움이 되도록 충전이 최적화됩니다."</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"배터리 보호를 위해 충전 최적화됨"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"배터리 수명 연장에 도움이 되도록 도킹 상태에서 충전을 최적화합니다."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"배터리 보호를 위해 충전 최적화됨"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"배터리 수명 연장에 도움이 되도록 도킹 상태에서 충전을 최적화합니다."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"완전 충전"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"배터리 보호를 위해 다음에 태블릿이 도킹되면 충전이 최적화됩니다."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"충전 일시중지에 관해 자세히 알아보세요."</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"충전 재개"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"고전력 백그라운드 활동 포함"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"이 앱이 백그라운드에서 배터리를 사용할 수 있게 되며 배터리가 예상보다 빨리 소진될 수 있습니다."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"삭제"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"취소"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"완전히 충전하기"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"충전 액세서리 문제"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"충전 액세서리 확인"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"호환되지 않는 충전에 관해 자세히 알아보기"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"배터리 관리"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"자동으로 앱 관리"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"마지막으로 완충한 이후"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"시스템 앱"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"앱을 제거했습니다."</string>
     <string name="battery_usage_others" msgid="311793281613609986">"기타"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"남은 예상 시간"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"충전 완료까지 남은 시간"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"총 시간: 1분 미만"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"백그라운드: 1분 미만"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"기기 사용 시간: 1분 미만"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"1분 미만"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"총 시간: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"백그라운드: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"기기 사용 시간: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"현재"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>~<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"배터리 사용량 차트"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"일일 배터리 사용량 차트"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"시간별 배터리 사용량 차트"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"배터리 잔량 비율은 <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>~<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>입니다"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"마지막 완충 이후 배터리 사용량"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"배터리 사용량(<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"마지막 완충 이후 기기 사용 시간"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"응급 상황 다이얼링 신호"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"긴급 통화 중 동작 설정"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"백업"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"사용"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"사용 안함"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"백업 및 복원"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"개인 데이터"</string>
     <string name="backup_data_title" msgid="507663517227498525">"내 데이터 백업"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"모바일 데이터 및 Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"개인 데이터 자동 동기화"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"직장 데이터 자동 동기화"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"비공개 데이터 자동 동기화"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"주기 변경..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"데이터 사용 주기를 재설정할 날짜:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"이 기간 동안 데이터를 사용한 앱이 없습니다."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"이름"</string>
     <string name="vpn_type" msgid="5533202873260826663">"유형"</string>
     <string name="vpn_server" msgid="2908816134941973935">"서버 주소"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP 암호화(MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 보안"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 식별자"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 사전 공유 키"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 사용자 인증서"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 인증서"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 서버 인증서"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"고급 옵션 표시"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 검색 도메인"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 서버(예: 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"전달 경로(예: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"사용자 이름"</string>
     <string name="vpn_password" msgid="1183746907642628127">"비밀번호"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"계정 정보 저장"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(사용되지 않음)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(서버를 인증하지 않음)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(서버에서 수신)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"이 VPN 유형은 항상 연결된 상태로 유지할 수 없습니다."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"연결 유지 VPN은 숫자로 된 서버 주소만 지원합니다."</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"연결 유지 VPN의 DNS 서버를 지정해야 합니다."</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"연결 유지 VPN에 사용되는 DNS 서버 주소는 숫자여야 합니다."</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"입력된 정보가 연결 유지 VPN을 지원하지 않습니다."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"취소"</string>
     <string name="vpn_done" msgid="5137858784289564985">"취소"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN 없는 연결 차단"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN 연결이 필요한가요?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"안전하지 않습니다. IKEv2 VPN으로 업데이트하세요"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"지원되지 않는 VPN을 시작할 수 없습니다."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"VPN 프로필을 선택하여 연결된 상태를 유지하세요. 이 VPN에 연결된 상태에서만 네트워크 트래픽이 허용됩니다."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"없음"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN을 연결 상태로 유지하려면 서버와 DNS의 IP 주소가 필요합니다."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"앰버 경보"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"아동 유괴에 대한 공지 수신"</string>
     <string name="repeat_title" msgid="8676570486899483606">"반복"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"통화 관리자 사용"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"이 서비스에서 통화 방식을 관리하도록 허용합니다."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"통화 관리자"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"긴급 재난 문자"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"네트워크 이동통신사"</string>
     <string name="access_point_names" msgid="5768430498022188057">"액세스 포인트 이름(APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 상태"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 상태(SIM 슬롯 %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g>dBm <xliff:g id="ASU">%2$d</xliff:g>asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM 변경됨"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM이 변경됨"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"탭하여 설정"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"항상 확인"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"선택 필요"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"최근 앱, 기본 앱"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"알림 액세스는 직장 프로필에 있는 앱에서 사용할 수 없습니다."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"비밀번호 및 계정"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"저장된 비밀번호, 자동 완성, 동기화된 계정"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"로그인 및 자동 완성 추천"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"기본 앱"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"복제 앱"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"두 계정을 동시에 사용할 수 있도록 앱의 추가 인스턴스를 만드세요."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"월렛"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"결제, 탭, 결제"</string>
     <string name="keywords_backup" msgid="707735920706667685">"백업, 백 업"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"동작"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"얼굴, 잠금 해제, 승인, 로그인"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"얼굴, 잠금 해제, 인증, 로그인, 지문, 생체 인식"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI, MEID, MIN, PRL 버전, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"텍스트 크기, 큰 글자, 큰 글꼴, 큰 텍스트, 저시력, 텍스트 크게, 텍스트 확대, 글꼴 확대"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"화면 보호 모드 상시 사용 설정(AOD)"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, 태그, 리더"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"키보드, 햅틱, 진동"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"볼륨, 진동, 방해 금지 모드"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"미디어 볼륨"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"전송 볼륨"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"부팅 소리"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"실시간 자막"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"미디어 자막 자동 생성"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"휴대전화 스피커"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"태블릿 스피커"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"기기 스피커"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"유선 헤드폰"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"호환되는 미디어의 오디오를 넘치는 몰입감으로 즐길 수 있습니다."</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"사용 안함"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"모든 알림 내용 표시"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"민감한 콘텐츠는 잠금이 해제되었을 때만 표시"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"알림 표시 안함"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"잠금 화면이 어떻게 표시되길 원하시나요?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"잠금 화면에 어떻게 표시하고 싶나요?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"잠금 화면"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"모든 직장 알림 내용 표시"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"민감한 직장 콘텐츠 숨기기"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"최근 대화 삭제됨"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"대화 삭제"</string>
     <string name="clear" msgid="5092178335409471100">"삭제"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> 삭제"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"우선순위 대화 및 수정된 대화가 여기에 표시됩니다"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"대화를 우선순위로 표시하는 등 수정하면 여기에 표시됩니다. \n\n대화 설정 변경하기: \n화면 상단에서 아래로 스와이프하여 풀다운 창을 열고 대화를 길게 누릅니다."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"최소화"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"알림 쿨다운"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"모든 알림에 쿨다운 적용"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"동일한 앱에서 알림을 연속적으로 많이 받는 경우 알림 볼륨을 서서히 낮춥니다."</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"대화에 쿨다운 적용"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"짧은 시간 동안 동일한 채팅에서 많은 메시지를 받는 경우 알림 볼륨을 서서히 낮춥니다."</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"알림 쿨다운 사용 안함"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"동일한 앱에서 알림을 연속적으로 많이 받더라도 알림 볼륨을 낮추지 않습니다."</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"잠금 해제 시 진동"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"화면이 잠금 해제되었을 때만 진동합니다."</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"직장 프로필에 적용"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"개인 프로필의 알림 쿨다운 설정을 직장 프로필에 적용합니다."</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 도우미 서비스"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"설치된 앱 중에서 VR 도우미 서비스로 실행되도록 요청한 앱이 없습니다."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR 서비스가 <xliff:g id="SERVICE">%1$s</xliff:g>에 액세스하도록 허용하시겠습니까?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"사용 중지"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"앱 고정"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"앱을 고정하여 고정 해제할 때까지 계속 화면에 표시되도록 할 수 있습니다. 예를 들어 신뢰할 수 있는 친구가 특정 게임을 하도록 허용할 때 이 기능을 사용해 보세요."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"앱을 고정하면 고정된 앱을 통해 다른 앱이 열리고 개인 정보가 표시될 수 있습니다. \n\n앱 고정을 사용하려면 다음 단계를 따르세요. 	\n1. 앱 고정을 사용 설정합니다. 	\n2. 최근 사용을 엽니다. 	\n3. 화면 상단의 앱 아이콘을 탭한 후 고정을 탭합니다."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"앱을 고정하면 고정된 앱을 통해 다른 앱이 열리고 개인 정보가 표시될 수 있습니다. \n\n기기를 다른 사람과 안전하게 공유하고 싶다면 게스트 사용자를 대신 사용해 보세요. \n\n앱 고정을 사용하려면 다음 단계를 따르세요. 	\n1. 앱 고정을 사용 설정합니다. 	\n2. 최근 사용을 엽니다. 	\n3. 화면 상단의 앱 아이콘을 탭한 후 고정을 탭합니다."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"앱을 고정하면 고정된 앱을 통해 다른 앱이 열리고 개인 정보가 표시될 수 있습니다. \n\n앱 고정 사용 방법: 	\n{0,number,integer}. 앱 고정을 사용 설정합니다. 	\n{1,number,integer}. 개요를 엽니다. 	\n{2,number,integer}. 화면 상단의 앱 아이콘을 탭한 후 고정을 탭합니다."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"앱을 고정하면 고정된 앱을 통해 다른 앱이 열리고 개인 정보가 표시될 수 있습니다. \n\n기기를 다른 사람과 안전하게 공유하고 싶다면 게스트 사용자를 대신 사용해 보세요. \n\n앱 고정 사용 방법: 	\n{0,number,integer}. 앱 고정을 사용 설정합니다. 	\n{1,number,integer}. 개요를 엽니다. 	\n{2,number,integer}. 화면 상단의 앱 아이콘을 탭한 후 고정을 탭합니다."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"앱이 고정되었을 때 다음 사항이 적용됩니다. \n\n•	 개인 데이터가 표시될 수 있습니다.\n		(연락처, 이메일 내용 등) \n•	 고정된 앱을 통해 다른 앱이 열릴 수 있습니다. \n\n신뢰할 수 있는 상대에게만 앱 고정을 사용하세요."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"고정 해제 시 잠금 해제 패턴 요청"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"고정 해제 이전에 PIN 요청"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"고정 해제 이전에 비밀번호 요청"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"화면 고정 해제 시 기기 잠금"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM 삭제 확인"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM 삭제 의사를 확인합니다."</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM을 삭제하기 전에 본인 확인 진행"</string>
     <string name="memtag_title" msgid="5096176296797727201">"고급 메모리 보호 베타"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"고급 메모리 보호"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"사용하지 않는 앱 설정"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"사용하지 않을 때 앱 활동 일시중지"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"권한 제거, 임시 파일 삭제, 알림 중지"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"사용하지 않는 앱 관리"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"권한 제거, 임시 파일 삭제, 알림 중지, 앱 보관처리"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"모든 앱"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"설치된 앱"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"인스턴트 앱"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"사용 가능"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"앱에서 사용한 메모리"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{지난 {time} 동안 1개 앱에서 메모리를 사용했습니다.}other{지난 {time} 동안 #개 앱에서 메모리를 사용했습니다.}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"메모리 사용량 프로파일링 사용 설정"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"메모리 사용량 프로파일링에는 추가 시스템 리소스가 필요합니다."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"메모리 프로파일링 사용 중지됨"</string>
     <string name="running_frequency" msgid="7260225121706316639">"빈도"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"최대 사용량"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"사용한 데이터 없음"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"다른 앱 위에 표시"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"다른 앱 위에 표시 허용"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"이 앱이 사용 중인 다른 앱 위에 표시되도록 허용합니다. 앱에서 내가 탭하는 위치를 확인하고 화면에 표시되는 내용을 변경할 수 있습니다."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"미디어 출력을 변경하세요"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"앱이 미디어 출력을 전환하도록 허용"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"이 앱이 다른 앱에서 오디오나 동영상을 재생할 연결된 기기를 선택하도록 허용합니다. 허용할 경우, 이 앱은 헤드폰이나 스피커와 같은 사용 가능한 기기의 목록에 액세스하여 오디오 또는 동영상을 스트리밍하거나 전송할 출력 장치를 선택할 수 있습니다."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"모든 파일에 액세스"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"모든 파일 관리 허용"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"앱이 이 기기 또는 연결된 모든 저장장치에 있는 파일을 모두 읽고 수정하고 삭제하도록 허용합니다. 권한을 부여하면 앱이 나에게 명시적으로 알리지 않고도 파일에 액세스할 수 있습니다."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"모든 파일에 액세스 가능"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"음성 활성화 앱"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"음성 활성화 허용"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"음성 활성화는 음성 명령을 통해 핸즈프리로 승인된 앱을 켭니다. 기본 제공되는 적응형 감지를 사용하면 데이터가 나에게만 공개됩니다.\n\n"<a href="">"보호되는 적응형 감지에 관해 알아보기"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"전체 화면 알림"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"이 앱에 전체 화면 알림 허용하기"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"기기가 잠겨 있을 때 앱에서 알림을 전체 화면에 표시할 수 있도록 허용합니다. 앱에서는 이러한 방식으로 알람, 수신 전화 또는 기타 긴급 알림을 강조 표시할 수 있습니다."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"데이터 사용량 경고 한도: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"데이터 사용 한도: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"데이터 사용량 경고 한도: <xliff:g id="ID_1">^1</xliff:g> / 데이터 사용 한도: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"기기에 표시되는 데이터 사용량은 이동통신사에서 산출한 데이터 사용량과 다를 수 있습니다."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"이동통신사 네트워크를 통해 사용된 데이터는 제외됩니다."</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> 사용함"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"데이터 경고 설정"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> 전에 업데이트됨"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"조금 전 <xliff:g id="ID_1">^1</xliff:g>에서 업데이트함"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"조금 전 업데이트됨"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"요금제 보기"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"세부정보 보기"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"데이터 절약 모드"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"무제한 데이터"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 앱이 백그라운드에서 평소보다 더 많은 배터리를 사용함"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 앱이 포그라운드에서 더 많은 배터리를 사용함"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 앱이 포그라운드에서 평소보다 더 많은 배터리를 사용함"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"배터리 사용량 이상치"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"배터리 사용량 높음"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"백그라운드에서 배터리 사용량 높음"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"포그라운드에서 배터리 사용량 높음"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"빠른 설정 개발자 타일"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb 승인 시간 제한 사용 중지"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"기본값(7일) 또는 사용자가 설정한 기간(최소 1일) 내에 다시 연결되지 않은 시스템의 adb 승인 자동 취소를 사용 중지합니다."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope 추적"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"센서 사용 안함"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"직장 프로필 설정"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"개인 앱에서 직장 디렉터리 연락처 검색"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"시스템 탐색, 2버튼 탐색, 3버튼 탐색, 동작 탐색, 스와이프"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"디지털 어시스턴트"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"스와이프하여 어시스턴트 호출"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"하단 모서리에서 위로 스와이프하여 디지털 어시스턴트 앱을 호출합니다."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"하단 모서리에서 위로 스와이프하여 디지털 어시스턴트 앱을 호출합니다."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"어시스턴트를 사용하려면 홈 버튼 길게 누르기"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"디지털 어시스턴트 앱을 실행하려면 홈 버튼을 길게 누르세요."</string>
     <string name="low_label" msgid="6525629096999711220">"낮음"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"자동완성 서비스"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"기본 자동 완성 서비스"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"비밀번호"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"비밀번호, 패스키, 데이터 서비스"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"추가 제공업체"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"기본 서비스"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"추가 서비스"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{비밀번호 #개}other{비밀번호 #개}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"자동, 채우기, 자동 완성, 비밀번호"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"데이터, 패스키, 비밀번호"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"자동, 완성, 자동 완성, 데이터, 패스키, 비밀번호"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"변경"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"열기"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"선택한 항목 없음"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;신뢰할 수 있는 앱인지 확인하세요&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;에서는 자동 완성할 수 있는 항목을 결정하기 위해 화면의 내용을 사용합니다."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;을(를) 사용하시겠습니까?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;에서는 자동 완성할 수 있는 항목을 결정하기 위해 화면에 표시된 내용을 사용합니다. 이제 새 비밀번호, 패스키, 기타 정보가 여기에 저장됩니다."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"비밀번호, 패스키, 데이터 서비스"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;을(를) 사용하시겠습니까?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 지금부터 새로운 비밀번호, 패스키, 기타 정보가 여기에 저장됩니다. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;에서 자동 완성할 수 있는 항목을 파악하기 위해 화면에 표시된 내용을 사용할 수도 있습니다."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"비밀번호, 패스키 및 자동 완성 기본 서비스"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s을(를) 사용 중지하시겠습니까?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;이 서비스를 사용 중지하시겠습니까?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 로그인할 때 비밀번호, 패스키, 결제 수단 등의 저장된 정보가 채워지지 않습니다. 저장된 정보를 사용하려면 비밀번호, 패스키 또는 데이터 서비스를 선택하세요."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"비밀번호, 패스키 및 자동 완성"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;모든 서비스를 사용 중지하시겠습니까?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 로그인할 때 비밀번호, 패스키 및 기타 저장된 정보를 자동 입력에 사용할 수 없습니다."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;기본 서비스를 &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;(으)로 변경하시겠습니까?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 이제부터 새 비밀번호, 패스키 및 기타 정보가 여기에 저장됩니다. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;에서 자동 완성할 수 있는 항목을 파악하기 위해 화면에 표시된 내용을 사용할 수도 있습니다."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s을(를) 사용하시겠습니까?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"사용 중지"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"변경"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"5개 서비스만 사용할 수 있음"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"다른 서비스를 추가하려면 서비스를 1개 이상 사용 중지하세요."</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s에서 내 화면에 있는 항목을 사용해 자동 완성 항목을 결정합니다."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"비밀번호, 패스키, 데이터 서비스 한도"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"동시에 최대 5개의 비밀번호, 패스키, 데이터 서비스를 활성화할 수 있습니다. 추가하려면 서비스를 사용 중지하세요."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"비밀번호, 패스키, 데이터 서비스 한도"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"최대 5개의 비밀번호, 패스키, 데이터 서비스를 동시에 활성화할 수 있습니다. 추가하려면 서비스를 사용 중지하세요."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"사용 중지"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"자동 완성"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"로깅 수준"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"디버그 가능한 앱의 경우에만 앱 호환성 변경사항을 수정할 수 있습니다. 디버그 가능한 앱을 설치하고 다시 시도해 보세요."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"다른 설정을 변경해야 함"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"계정"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"계정 %d개"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"기기 이름"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"기본 정보"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"법률 및 규제"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC 태그가 스캔되면 이 앱이 실행되도록 허용합니다.\n이 권한이 허용되어 있는 경우 태그가 감지되면 이 앱을 옵션으로 사용할 수 있게 됩니다."</string>
     <string name="media_output_title" msgid="8283629315159510680">"미디어 출력 대상"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> 재생 위치"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"오디오 재생 위치:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"이 기기"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"통화 중에는 사용할 수 없습니다."</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"전화 받기 기능 사용"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"음소거"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"사용 설정하려면 먼저 \'전원 버튼 길게 누르기\'를 전원 메뉴로 변경하세요."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"네트워크 세부정보"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"기기 이름이 휴대전화에 있는 앱에 표시됩니다. 기기 이름은 블루투스 기기 및 Wi-Fi 네트워크에 연결하거나 Wi-Fi 핫스팟을 설정할 때 다른 사용자에게도 표시될 수 있습니다."</string>
     <string name="devices_title" msgid="649715719278562515">"기기"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"네트워크 선택"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"연결 끊김"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"이름"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"색상(호환 앱에서 사용됨)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"저장"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM 사용"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"이 SIM 사용"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"꺼짐"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"이 SIM을 사용 중지하려면 SIM 카드를 제거하세요."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g>을(를) 활성화하려면 탭하세요."</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM 삭제"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"이 SIM을 사용 중지하려면 SIM 카드를 삭제하세요."</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"탭하여 <xliff:g id="CARRIER">%1$s</xliff:g> SIM 활성화"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM 삭제"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"기본 네트워크 유형"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"네트워크 작동 모드 변경"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"기본 네트워크 유형"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"요금은 이동통신사에 문의하세요."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"앱 데이터 사용량"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"잘못된 네트워크 모드(<xliff:g id="NETWORKMODEID">%1$d</xliff:g>)입니다. 무시하세요."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"위성 메시지"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"위성을 통해 문자 메시지를 주고받습니다. 계정에 포함되어 있습니다."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"위성을 통해 문자 메시지를 주고받습니다. 계정에 포함되어 있지 않습니다."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"위성 메시지"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"위성 메시지 정보"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"대상 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 계정에 포함되어 있는 경우 위성으로 문자 메시지를 주고 받을 수 있습니다"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"사용 중인 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 요금제"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"위성 메시지가 계정에 포함되어 있음"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"위성 메시지가 계정에 포함되어 있지 않음"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"위성 메시지 추가"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"작동 방식"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"모바일 네트워크를 이용할 수 없는 경우"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"휴대전화가 위성에 자동 연결됩니다. 최적의 연결을 위해 하늘이 잘 보이는 상태를 유지하세요."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"휴대전화가 위성에 연결된 후"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"응급 서비스를 포함해 누구에게나 문자 메시지를 보낼 수 있습니다. 모바일 네트워크가 사용 가능해지면 휴대전화가 네트워크에 다시 연결됩니다."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"위성 메시지는 시간이 더 오래 소요될 수 있으며 일부 지역에서만 사용 가능합니다. 날씨 및 특정 구조물이 위성 연결에 영향을 미칠 수 있습니다. 위성 통화를 사용할 수 없습니다.\n\n계정 변경사항이 설정에 표시되는 데 다소 시간이 걸릴 수 있습니다. 자세한 정보는 <xliff:g id="CARRIER_NAME">%1$s</xliff:g>에 문의하세요."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"위성 메시지 자세히 알아보기"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"액세스 포인트 이름(APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>에 연결된 경우 사용할 수 없음"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> 서비스로 전환하시겠습니까?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM 카드 사용으로 전환하시겠습니까?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM을 사용할까요?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"SIM은 한 번에 하나만 활성화할 수 있습니다.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 서비스로 전환해도 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"eSIM은 한 번에 하나만 활성화할 수 있습니다.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 이동통신사로 전환해도 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"SIM은 한 번에 하나만 활성화할 수 있습니다.\n\nSIM으로 전환해도 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 서비스는 취소되지 않습니다."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"SIM은 한 번에 하나만 사용할 수 있습니다.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 이동통신사로 전환해도 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"eSIM은 한 번에 하나만 사용할 수 있습니다.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 이동통신사로 전환해도 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 서비스는 취소되지 않습니다."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"SIM은 한 번에 하나만 사용할 수 있습니다.\n\n전환해도 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 서비스는 취소되지 않습니다."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"한 번에 2개의 SIM을 사용할 수 없습니다. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM을 사용하려면 다른 SIM을 사용 중지하세요."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> 서비스로 전환"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> 사용 중지"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM을 사용 중지해도 서비스는 취소되지 않습니다."</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"네트워크에 연결 중…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"통화 및 메시지를 위해 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 이동통신사로 전환 중…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"이동통신사를 전환할 수 없음"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"오류로 인해 이동통신사를 전환할 수 없습니다."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM을 활성화 하는 중…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>로 전환하는 중…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM을 전환할 수 없음"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"문제가 발생했습니다. SIM을 전환할 수 없습니다."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>을(를) 사용 중지하시겠습니까?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM을 사용 중지하시겠습니까?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM을 사용 중지하는 중<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"이동통신사를 사용 중지할 수 없음"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"문제가 발생하여 이동통신사를 사용 중지하지 못했습니다."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM을 사용 중지할 수 없음"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"문제가 발생하여 SIM을 사용 중지할 수 없습니다."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2개의 SIM을 사용하시겠습니까?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"이 기기에서는 한 번에 2개의 SIM을 활성화할 수 있습니다. 계속해서 한 번에 1개의 SIM만 사용하려면 \'사용 안함\'을 탭하세요."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"기기를 다시 시작하시겠습니까?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"사용 안함"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"취소"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"전환"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"사용 중지"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM을 활성화할 수 없음"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM을 다시 사용 설정해 보세요. 그래도 문제가 지속되면 기기를 다시 시작하세요."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM 설정"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"이 기기에서 여러 개의 SIM을 사용하도록 모바일 네트워크 환경설정을 설정하세요."</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM 라벨 지정"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"전화를 걸고, 문자를 보내고, 데이터를 사용할 때 설정에서 이러한 라벨이 표시됩니다."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM 라벨"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"라벨"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"사용할 SIM 선택"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"한 번에 2개의 SIM을 사용할 수 있습니다."</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"기본 SIM 설정"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"전화, 문자, 데이터에 기본적으로 사용할 SIM을 선택하세요"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"기본 SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"통화"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"문자 메시지"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"자동 데이터 전환"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"서비스 범위 및 지원 여부에 따라 SIM 중 하나의 데이터를 사용하세요."</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"데이터 전용"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"설정"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"다음"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> 켜는 중…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"모바일 네트워크"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"전화번호"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM 라벨 및 색상"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"네트워크 활성화"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"이동통신사 전환"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>이(가) 활성화됨"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM이 활성 상태임"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM 설정을 업데이트하려면 탭하세요."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>(으)로 전환됨"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"다른 이동통신사로 전환됨"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"모바일 네트워크가 변경됨"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"다른 SIM 설정"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"활성 SIM을 선택하거나 SIM 2개를 동시에 사용"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"사용할 번호 선택"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{이 기기에서 번호 1개를 사용할 수 있으며 한 번에 하나만 사용할 수 있습니다.}=2{이 기기에서 번호 2개를 사용할 수 있지만 한 번에 하나만 사용할 수 있습니다.}other{이 기기에서 번호 #개를 사용할 수 있지만 한 번에 하나만 사용할 수 있습니다.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"활성화 중<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"지금은 활성화할 수 없습니다."</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"사용할 SIM 선택"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{이 기기에서 SIM 1개를 사용할 수 있으며 한 번에 하나만 사용할 수 있습니다.}=2{이 기기에서 SIM 2개를 사용할 수 있지만 한 번에 하나만 사용할 수 있습니다.}other{이 기기에서 SIM #개를 사용할 수 있지만 한 번에 하나만 사용할 수 있습니다.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"사용 설정 중<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"현재 이 SIM을 사용 설정할 수 없음"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>을(를) 사용하시겠습니까?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>은(는) 모바일 데이터, 통화, SMS에 사용됩니다."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"활성화된 SIM 없음"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"나중에 모바일 데이터, 통화 기능, SMS를 사용하려면 네트워크 설정으로 이동하세요."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"이 eSIM을 삭제하시겠습니까?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"이 SIM을 삭제하면 기기에서 <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> 서비스가 삭제됩니다.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> 서비스는 취소되지 않습니다."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"이 기기에서 <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> 서비스를 사용할 수 없게 되지만 <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> 요금제는 취소되지 않습니다."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"삭제"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM 삭제 중…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM을 삭제할 수 없음"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"오류로 인해 SIM을 삭제할 수 없습니다.\n\n기기를 다시 시작하고 다시 시도해 보세요."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM 삭제 중…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM을 삭제할 수 없음"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"문제가 발생하여 이 eSIM이 삭제되지 않았습니다.\n\n기기를 다시 시작하고 다시 시도하세요."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"기기에 연결"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> 앱에서 임시 Wi‑Fi 네트워크를 사용하여 기기에 연결하려고 합니다."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"기기가 없습니다. 기기가 켜져 있으며 연결 가능한지 확인하세요."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"긴급 전화"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Wi‑Fi 통화를 사용한 긴급 전화가 이용 중인 이동통신사에서 지원되지 않습니다.\n긴급 전화를 걸면 기기에서 모바일 네트워크로 자동 전환합니다.\n긴급 전화는 모바일 데이터가 지원되는 지역에서만 사용할 수 있습니다."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"통화에 Wi‑Fi를 사용하여 통화 품질을 개선합니다."</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"백업 전화"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>이(가) 사용 불가 상태이거나 로밍 중인 경우 모바일 데이터 SIM이 <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> 통화에 사용됩니다."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"백업 전화"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS 메시지 수신 중"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS 메시지 전송 불가"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"탭하여 모바일 데이터가 꺼져 있을 때 <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>에서 MMS 메시지 허용"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"직장용 정책 정보"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT 관리자가 관리하는 설정"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K 페이지 크기로 부팅"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16K 페이지 크기 지원 커널을 사용하여 기기 부팅"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB 페이지 호환 커널로 재부팅하시겠습니까?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"경고: 일부 애플리케이션이 이 모드와 호환되지 않을 수 있습니다. 확인 후 기기가 재부팅됩니다."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB 페이지 호환 커널로 재부팅하시겠습니까?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"확인 후 기기가 재부팅됩니다."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"16KB 페이지 호환 커널로 커널을 업데이트할 수 없습니다."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"변경사항 적용 중"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"버그 신고 핸들러"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"어떤 앱이 기기의 버그 신고 바로가기를 처리하는지 정합니다."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"개인"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"다른 앱 위에 표시할 수 있는 앱이 설정 화면을 오버레이하도록 허용합니다."</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"가상 모뎀 허용"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"이 기기에서 계측 테스트에 가상 모뎀 서비스를 실행하도록 허용합니다. 휴대전화를 일반적으로 사용하는 동안에는 이 기능을 사용 설정하지 마세요."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"화면 공유 보호 기능 사용 안함"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"화면 공유 중 시스템 적용 앱 및 알림 보호 기능을 중지합니다."</string>
     <string name="media_controls_title" msgid="403271085636252597">"미디어"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"미디어 플레이어 고정"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"재생을 빠르게 재개할 수 있도록 빠른 설정에서 미디어 플레이어를 계속 열어 둡니다."</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"잠금 화면에 미디어 표시"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"재생을 빠르게 재개할 수 있도록 잠금 화면에서 미디어 플레이어를 계속 열어 둡니다."</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"미디어 추천 표시"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"어시스턴트 미디어 추천 표시"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"활동을 바탕으로 추천을 받습니다."</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"플레이어를 숨깁니다."</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"플레이어 표시"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"미디어"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"카메라 소프트웨어 확장 프로그램 허용"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Eyes Free 동영상과 같은 고급 카메라 기능의 기본 소프트웨어 구현을 사용 설정합니다."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"블루투스를 사용 설정함"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"인터넷"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"활성"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"비활성"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"사용"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"사용 안함"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /<xliff:g id="ID_1">%1$s</xliff:g> 기본값"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"통화"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"호환되는 미디어에서 더 몰입감 넘치는 오디오를 경험할 수 있습니다."</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"머리 추적"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"머리를 움직이면 오디오가 변경되어 더 자연스러운 소리를 들을 수 있습니다."</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"권한 동기화"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>에서 허용한 것과 동일한 앱 권한을 <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>에 부여합니다."</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"휴대전화에서 권한 동기화"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"이 휴대전화에서 허용한 것과 동일한 앱 권한을 시계에 부여합니다."</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"오디오 기기 유형"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"알 수 없음"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"스피커"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"보통"</string>
     <string name="contrast_high" msgid="3988567609694797696">"높음"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"이 앱은 창 1개에서만 열 수 있습니다."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"사용"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"사용 안함"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"사용 안함"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"사용 안함"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"사용"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"사용 안함"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"사용"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"사용 안함"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"밝은 화면은 어둡게, 어두운 화면은 밝게 바꿉니다."</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"화면 확대"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"사용 안함"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"사용 안함"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"사기성 앱 검사"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"앱 활동에서 피싱 확인"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"사기성 앱 검사 사용"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"직장용 사기성 앱 검사 사용"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"비밀번호 설정 완료"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"마우스 오버 중 포인터 표시"</string>
 </resources>
diff --git a/res/values-ky/arrays.xml b/res/values-ky/arrays.xml
index 4b19f1d..a0bca87 100644
--- a/res/values-ky/arrays.xml
+++ b/res/values-ky/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Жеткиликтүү"</item>
     <item msgid="6096962300722555553">"Аракет чегинен тышкары"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Өчүрүлдү"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast жана Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Демейки маани колдонулат: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 мүнөттөн кийин"</item>
     <item msgid="1574040255478150028">"5 мүнөттөн кийин"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ky/strings.xml b/res/values-ky/strings.xml
index 03cbb09..5914272 100644
--- a/res/values-ky/strings.xml
+++ b/res/values-ky/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Сиз иштеп чыгуучу болдуңуз!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Кереги жок, сиз иштеп чыгуучусуз."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Алгач иштеп чыгуучунун параметрлерин иштетиңиз"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Иштеп чыгуучунун жөндөөлөрүнө администратор колдонуучулар гана кире алышат."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Система"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Тейлөө аймагында"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Тейлөө аймагынын сыртында"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Түзмөгүңүздү бүктөгөнүңүздө алдыңкы экран күйөт"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Оюндар, видеолор жана башкалар гана"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Алдыңкы экран колдонулуп жаткан экранды күтүү режимине өткөрбөгөн колдонмолор үчүн күйөт"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Улантуу үчүн сүрүп коюңуз"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Колдонмону пайдалана берүү үчүн телефонду бүктөп, алдыңкы экранды өйдө сүрүңүз же экран кулпулангыча бир нече секунд күтө туруңуз"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Эч качан"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Түзмөгүңүздү бүктөгөнүңүздө алдыңкы экран кулпуланат"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Автоматтык түрдө бурулууну иштетүү"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Окшош"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Рингтон жана ойготкучтар"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Чалуулардагы аудио"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Медиа"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Билдирмелер жана системанын башка сигналдары"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Медиа жана тутум эскертүүлөрү"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Билдирмелер"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Демейки шартта жеке колдонмолор аудио түзмөктү аныкташат"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Аты жок Bluetooth-түзмөк"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Изделүүдө"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Жок"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE audio\'ну өчүрүү"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Эгер түзмөктө аппараттык мүмкүнчүлүктөр болсо, Bluetooth LE Audio функциясы өчүрүлөт."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio режими"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Түзмөктүн чоо-жайынан LE Audio которгучун көрсөтүү"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE Audio Уруксат берилгендердин тизмесин иштетүү"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE Audio Уруксат берилгендердин тизмеси функциясын иштетиңиз."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio ак тизмесин кыйгап өтүү"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio тышкы түзмөгү ак тизменин талабына жооп берери ырасталбаса да, LE Audio\'ну демейки шартта колдонуңуз."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медиа түзмөктөр"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Түзмөктөргө чалуу"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Башка түзмөктөр"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сакталган түзмөктөр"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Аккаунт менен байланыштырылган"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Аккаунт менен буга чейин колдонулган"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth күйгүзүлөт"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Байланыш параметрлери"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Буга чейин туташкан түзмөктөр"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth күйгүзүлдү"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Баарын көрүү"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Баарын көрүү"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Стилус баскычын басуу"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Жумуш профили)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Текст жазылчу жерлерге кол менен жазуу"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Стилус баскычындагы басууларды этибарга албоо"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Аудиону бөлүшүү"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Аудиону бөлүшүү"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Чалуулар жана ойготкучтар"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Аудио агымга QR коду аркылуу туташуу"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Жакын жерде аудио агымдар табылган жок."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Күн жана убакыт"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Тазалоо"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s тилин тандалган тилдерге кошосузбу?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Ушуну менен колдонмолор жана вебсайттар ушул тилди да тандаганыңызды билет."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Түзмөгүңүздүн чөлкөмдүк жана башка параметрлери өзгөрөт."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Өзгөртүү"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s жеткиликсиз"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Ишемби"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Эгер колдонмодо чөлкөмдүк параметрлер иштебесе, колдонмо демейки тил параметрин колдонот."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Тил параметрлери жөнүндө кененирээк маалымат алыңыз."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Кошумча параметрлер"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Кайрылуу шарттары"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Сизге кандай кайрылуу керектигин белгилеңиз"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Колдонмолор сизге кайрылууну жекелештирүү үчүн кайрылуу шарттарын колдоно алышат."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Белгиленген эмес"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Аял жак"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Эркек жак"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Орто"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Тандалган тилди өчүрөсүзбү?}other{Тандалган тилдерди өчүрөсүзбү?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текст башка тилде көрүнөт."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Тилдердин баары алынбайт"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Жайгашкан жер"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Жайгашкан жерди аныктоо"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Өчүк"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Күйүк - # колдонмо жайгашкан жерди көрө алат}other{Күйүк - # колдонмо жайгашкан жерди көрө алат}}"</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_location_off" msgid="8568995909147566720">"Колдонмолор менен кызматтар түзмөктүн жайгашкан жерин көрө алышпайт. Кырсыктаганда жардамга келчү кызматка чалып же билдирүү жөнөтүп жатканыңызда, ага түзмөгүңүздүн жайгашкан жери көрүнөт."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Жайгашкан жерди аныктоо параметрлери жөнүндө кеңири маалымат алыңыз."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Жайгашкан жерди аныктоо параметрлери жөнүндө кеңири маалымат"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Жайгашкан жерди аныктоо мүмкүнчүлүгүн өзгөртүү үчүн Параметрлер &gt; Коопсуздук жана купуялык &gt; Купуялуулукту көзөмөлдөө каражаттарына өтүңүз"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Аккаунттар"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Коопсуздук"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифрлөө/каттоо маалыматы"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"\"Google үчүн жасалган\" деген коргоочу айнекти же пленканы колдонууну сунуштайбыз. Башка коргоочу айнектер же пленкалар балаңыздын манжа изин тааныбай коюшу мүмкүн."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Кулпуну саат менен ачуу"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Эгер манжа изи менен ачуу жана жүзүнөн таанып ачуу функцияларын кошкон болсоңуз, беткап тагынып же караңгы жерде турганыңызда телефонуңуз манжаңыздын изин сурайт.\n\nЖүзүңүз же манжаңыздын изи таанылбаганда, кулпуну саатыңыз менен ача аласыз."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Манжаңыздын изи таанылбаганда, кулпуну саатыңыз менен ача аласыз."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Жүзүңүз таанылбаганда, кулпуну саатыңыз менен ача аласыз."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Эгер манжа изи менен ачуу жана жүзүнөн таанып ачуу функцияларын тууралаган болсоңуз, беткап тагынып же караңгы жерде турганыңызда телефонуңуз манжаңыздын изин сурайт.\n\nКулпуну саат менен ачуу функциясы — манжаларыңыз ным болуп же жүзүңүз таанылбай турганда телефондун кулпусун ачуунун дагы бир ыңгайлуу жолу."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Кулпуну саат менен ачуу функциясы — манжаларыңыз ным болуп же манжаңыздын изи таанылбай турганда телефондун кулпусун ачуунун дагы бир ыңгайлуу жолу."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Кулпуну саат менен ачуу функциясы — жүзүңүз таанылбай турганда телефондун кулпусун ачуунун дагы бир ыңгайлуу жолу."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Төмөнкү үчүн манжаңыздын изин же саатыңызды колдонуңуз:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Төмөнкү үчүн жүзүңүздү же саатыңызды колдонуңуз:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Төмөнкү үчүн жүзүңүздү, манжаңыздын изин же саатыңызды колдонуңуз:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Кулпуну саат менен ачуу функциясы — манжаларыңыз ным болуп же жүзүңүз таанылбай турганда телефондун кулпусун ачуунун дагы бир ыңгайлуу жолу.\n\nБул телефондун кулпусун ачуу үчүн саатыңызды төмөнкү учурларда колдоно аласыз:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Азыр эмес"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Улантуу"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Дагы"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Ал кантип иштейт"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Саатыңыздын кулпусу ачылып, билегиңизге тагылып жана телефонго жакын болушу керек. Саатыңыз билегиңизде болсо, анын кулпусун кайра ачуунун кереги жок."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Бул телефондун кулпусу ачылганда саатыңызга билдирме аласыз. Эгер телефондун кулпусу кокустан ачылып кетсе, билдирмени таптап, аны кайра кулпулап койсоңуз болот."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Баары өзүңүздүн колуңузда"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Тууралоого өтүп, саатыңызды каалаган убакта кулпуну саат менен ачуу функциясынан алып салсаңыз болот"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Билдирмени таптоо"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Кулпуланган экранды өйдө сүрүңүз"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Саатыңызды тандаңыз"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Жеткиликтүү сааттар"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Жокко чыгаруу"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Ырастоо"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Баары даяр!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Эми кулпуланган экранды өйдө сүрүп же билдирмени таптап, телефонуңуздун кулпусун саатыңыз менен ача аласыз"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Бүттү"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Кулпуну саат менен ачуу"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Кулпуланган экранды өйдө сүрүп же билдирмени таптап, телефонуңуздун кулпусун саатыңыз менен ача аласыз"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Кулпуну саат менен ачуу үчүн саатыңыздын кулпусу ачылып, билегиңизге тагылып жана телефонго туташып турушу керек. Эгер байланыш үзгүлтүккө учураса, кулпуну саат менен ачуу үчүн адегенде телефонуңуздун кулпусун ачышыңыз керек болот.\n\nКөңүл буруңуз:\nБир убакта бир саатты гана тууралай аласыз. Башка саатты кошуу үчүн адегенде учурдагысын өчүрүңүз."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Жумуш профилинде жүз жана манжа изи менен ачуу функциясы"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Коюу керек"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Коопсуздук"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Купуялык"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Жумуш профили"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Жеке мейкиндик"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Жеке колдонмолорду кулпулап жана жашырып коюңуз"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Жеке колдонмолорду жашырып же кулпулай ала турган өзүнчө чөйрөдө сактаңыз"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Жеке мейкиндикти кулпулоо"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Жеке мейкиндик үчүн түзмөгүңүздүн кулпусун ачуу ыкмасын колдонуп же башка кулпуну тандай аласыз"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Түзмөктүн экранын кулпулоо ыкмасын колдонуу"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Жүз жана манжа изи менен ачуу"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Манжа изи менен ачуу"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Жүзүнөн таанып ачуу"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Коюу үчүн басыңыз"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Жеке мейкиндик үчүн \"Манжа изи менен ачуу\" функциясы"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Жеке мейкиндик үчүн \"Жүзүнөн таанып ачуу\" функциясы"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Кулпуну ачуу жолдору"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Түзмөктүн экраны кулпулангандай"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Жеке мейкиндик үчүн жаңы кулпуну тандайсызбы?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Жеке мейкиндикти автоматтык түрдө кулпулоо"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Эгер түзмөгүңүздү белгилүү бир убакыт бою колдонбосоңуз, жеке мейкиндигиңизди автоматтык түрдө кулпулай аласыз"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Түзмөк кулпуланган сайын"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 мүнөт ишсиз тургандан кийин"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Эч качан"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Кулпуланган учурда жашыруу"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Жеке мейкиндик кулпуланган учурда аны жашыруу"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Башкалар түзмөгүңүздө Жеке мейкиндик орнотулганын билбеши үчүн, аны колдонмолордун тизмесинен жашырыңыз"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Жеке мейкиндик жашырылганда аны көрүү"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Колдонмолордун тизмесинен издөө тилкесине \"жеке мейкиндик\" деп териңиз"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Жеке мейкиндиктин картасын басыңыз"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Жеке мейкиндиктин кулпусун ачыңыз"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Өчүк"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Күйүк"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Жеке мейкиндикти өчүрүү"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Жеке мейкиндик өчүрүлсүнбү?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Жеке мейкиндигиңиз түзмөгүңүздөн өчүрүлөт. Бардык купуя колдонмолор жана алардагы нерселер жоголот. Бул аракетти артка кайтара албайсыз."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Төмөнкү аккаунттар жеке мейкиндигиңизден өчүрүлөт:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Өчүрүү"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Жеке мейкиндик өчүрүлүүдө…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Буга аз эле убакыт кетет"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Жеке мейкиндик өчүрүлдү"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Жеке мейкиндик өчкөн жок"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Жеке мейкиндиктин кулпусу ачылды"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Экран кулпусун коюп алыңыз"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Жеке чөйрөнү колдонуу үчүн бул түзмөктүн экранын кулпулаңыз"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Экран кулпусун коюу"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Жокко чыгаруу"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Жок"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Тууралоо"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Жеке чөйрөнү тууралоо"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Жеке колдонмолорду жашырып же кулпулай ала турган өзүнчө чөйрөдө сактаңыз"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Ал кантип иштейт"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Жеке чөйрөңүздү колдонмолор тизмесинин ылдый жагынан көрө аласыз"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Жеке чөйрөдөгү колдонмолор кулпу менен корголот"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Жеке чөйрөдөгү колдонмолордун билдирмелери ал кулпуланганда жашырылат"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Жеке чөйрөңүз кулпуланган учурда андагы колдонмолор уруксаттарды башкаргычта, купуялык тактасында жана башка параметрлерде көрүнбөйт.\n\nЖеке чөйрөңүздү жаңы түзмөккө жылдырууга болбойт. Эгер жеке чөйрөнү башка түзмөктө колдонгуңуз келсе, башка жеке чөйрөнү тууралашыңыз керек болот.\n\nТүзмөгүңүздү компьютерге туташтырган же ага зыяндуу колдонмолорду орноткон кишилер жеке чөйрөңүзгө кире алат."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Жеке чөйрө туураланууда…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Жеке мейкиндиктеги колдонмолордун билдирмелери ал кулпуланганда жашырылат"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Сүрөттөрдү же файлдарды бөлүшүү үчүн мейкиндигиңиздин кулпусун ачыңыз"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Айрым колдонмолор жеке чөйрөңүзгө мурунтан эле орнотулган"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Жеке мейкиндик туураланган жок"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Кайталоо"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Жеке чөйрөнүн кулпусун ачуу үчүн экран кулпусу колдонулсунбу?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Жеке чөйрө үчүн түзмөгүңүздүн кулпусун ачуу ыкмасын колдонуп же башка кулпуну тандай аласыз"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Экран кулпусун колдонуу"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Жаңы кулпуну тандоо"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Баары даяр!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Жеке мейкиндикке кирүү үчүн колдонмолоруңуздун тизмесине өтүп, ылдый сыдырыңыз"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Бүттү"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Жеке чөйрөнү табуу үчүн ылдый сыдырыңыз"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Кирүү"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Жеке мейкиндик менен колдонуу үчүн аккаунтуңузга киришиңиз керек"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Азыр эмес"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Улантуу"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Жеке чөйрөңүз үчүн кулпу тандаңыз"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Жеке чөйрөңүздү манжаңыздын изи менен ача аласыз. Коопсуздук максатында, кулпулоонун дагы бир ыкмасын тандап коюңуз."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Жеке мейкиндигиңиз үчүн PIN код коюңуз"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Жеке мейкиндигиңиз үчүн сырсөз коюңуз"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Жеке мейкиндик үчүн граф. ачкыч коюңуз"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> чейин манжа изин кошсоңуз болот"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Кошулган манжа издеринин саны жогорку чегине жетти"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Дагы манжа издерин кошуу мүмкүн эмес"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Графикалык ачкыч"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Сырсөз"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Экран кулпусун өчүрөсүзбү?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Түзмөк кулпусун ачуунун бардык түрлөрү өчүрүлсүнбү?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Профилди коргоо алынып салынсынбы?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Телефонуңуз жоголсо же уурдалып кетсе аны графикалык ачкыч коргойт"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Графикалык ачкыч жоголгон же уурдалган телефондогу нерселерди коргойт.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Ал түзмөгүңүздөгү манжа изинин үлгүсүн өчүрөт. Жүзүңүздүн үлгүсү да биротоло өчөт. Колдонмолордо аутентификациялоо үчүн жүзүңүздү же манжа изиңизди колдоно албай каласыз."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN код жоголгон же уурдалган телефондогу нерселерди коргойт"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN кодуңуз сыяктуу сакталган дайындарды жоготосуз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Тийгизип төлөө үчүн туураланган карталар өчүрүлөт.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Капчыктар жана түзмөктүн кулпусун ачууну талап кылган башка колдонмолор туура иштебей калышы мүмкүн."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN код жоголгон же уурдалган телефондогу нерселерди коргойт.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ошондой эле, ал түзмөгүңүздөгү манжа изинин үлгүсүн өчүрөт. Колдонмолордо аутентификациялоо үчүн манжа изиңизди колдоно албай каласыз."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN код жана манжа изи үлгүсү сыяктуу сакталган дайындарды жоготосуз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Тийгизип төлөө үчүн туураланган карталар өчүрүлөт.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Капчыктар жана түзмөктүн кулпусун ачууну талап кылган башка колдонмолор туура иштебей калышы мүмкүн."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN код жоголгон же уурдалган телефондогу нерселерди коргойт.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Жүзүңүздүн үлгүсү дагы биротоло өчөт. Колдонмолордо аутентификациялоо үчүн жүзүңүздү колдоно албай каласыз."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN код жана жүздүн үлгүсү сыяктуу сакталган дайындарды жоготосуз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Тийгизип төлөө үчүн туураланган карталар өчүрүлөт.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Капчыктар жана түзмөктүн кулпусун ачууну талап кылган башка колдонмолор туура иштебей калышы мүмкүн."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN код жоголгон же уурдалган телефондогу нерселерди коргойт.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ал түзмөгүңүздөгү манжа изинин үлгүсүн өчүрөт. Жүзүңүздүн үлгүсү да биротоло өчөт. Колдонмолордо аутентификациялоо үчүн жүзүңүздү же манжа изиңизди колдоно албай каласыз."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN код, жүздүн жана манжа изинин үлгүлөрү сыяктуу сакталган дайындарды жоготосуз.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Тийгизип төлөө үчүн туураланган карталар өчүрүлөт.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Капчыктар жана түзмөктүн кулпусун ачууну талап кылган башка колдонмолор туура иштебей калышы мүмкүн."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Сырсөз жоголгон же уурдалган телефондогу нерселерди коргойт"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Сырсөз жоголгон же уурдалган телефондогу нерселерди коргойт.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> менен байланыштырасызбы?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Учурдагы координацияланган топтомго жаңы мүчөнү кошуңуз"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Аудио түзмөгүңүздүн экинчи бөлүгүн кошуу үчүн ырастаңыз"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth байланышуу коду"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Байланыштыруу кодун терип, андан соң Артка же Киргизүүнү басыңыз"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN тамгаларды же символдорду камтыйт"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 сандан турушу керек"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Сиз бул PIN\'ди башка түзмөккө дагы киргизишиңиз керек болушу мүмкүн."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Сиз бул сырсөздү башка түзмөккө дагы киргизишиңиз керек болушу мүмкүн."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Координацияланган топтомго туташуу үчүн ырастаңыз"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Аудио түзмөк менен жупташтыруу үчүн ырастаңыз"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Байланыштар менен чалууларды жеткиликтүү кылуу"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Ошондой эле байланыштарга жана чалуу таржымалына кирүүгө уруксат берүү"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Маалымат чалуу тууралуу билдирмелер жана башкалар үчүн колдонулат"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> менен байланыша албай жатат."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Жеткиликтүү түзмөктөр"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Туташуу"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ажыратуу"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Байланыштыруу жана туташтыруу"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth күйгүзүлгөндө түзмөгүңүз жакын арадагы башка Bluetooth түзмөктөрү менен байланыша алат."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth күйгүзүлгөндө, түзмөгүңүз жакын жердеги башка Bluetooth түзмөктөрү менен байланыша алат"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Башка түзмөктөргө туташуу үчүн Bluetooth\'ду күйгүзүңүз.\n\nЖерлерди тагыраак аныктап, түзмөктүн иштешин жакшыртуу үчүн Bluetooth өчүп турганда да колдонмолор менен кызматтар жакын жердеги түзмөктөрдү издей беришет. Издебесин десеңиз, Bluetooth түзмөктөрүн издөө параметрин өчүрүп коюңуз."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Өзгөртүү"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Түзмөктүн чоо-жайы"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART\'га мүчүлүштүктөрдү аныктаган колдонмолордун байт кодун текшерүүгө уруксат берилет"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Жаңыруу жыштыгы"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Экрандын учурдагы жаңыруу жыштыгы көрүнөт"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR катышын көрсөтүү"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Учурдагы HDR/SDR катышын көрсөтүү"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC\'ни колдонуу үчүн түзмөктүн кулпусун ачуу керек"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Учак тартибинде"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Жалпыга ачык тармактар жөнүндө кабарлоо"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Байланыш сигналы күчтүү жалпыга ачык тармактар жеткиликтүү болгондо эскертет"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP тармактарына туташууга уруксат берүү"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP — коопсуздук деңгээли төмөн болгон эски коопсуздук протоколу"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP тармактарынын коопсуздук деңгээли төмөн болгондуктан, байланыш операторуңуз аларга туташууга тыюу салат"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi автоматтык түрдө күйсүн"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Байланыш сигналы күчтүү сакталган тармактарга (мисалы, үйүңүздөгү) жакындаганда, Wi‑Fi автоматтык түрдө күйөт"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Жайгашкан жерди аныктоо мүмкүнчүлүгү өчүрүлгөндүктөн, жеткиликтүү эмес. "<annotation id="link">"Жайгашкан жерди"</annotation>" күйгүзүңүз."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Бул функция аркылуу Интернет жок болсо да, колдонмолор менен кызматтар Wi-Fi тармактарын издей алышат. Жайгашкан жерди аныктоо функциясын жана кызматтарды жакшырткыңыз келсе, аны иштетиңиз."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Күйгүзүү"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi тармактарын издөө күйгүзүлдү"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Бул тармак коопсуздук деңгээли төмөн болгон эски коопсуздук протоколун колдонот"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> бөгөттөлдү"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Бул тармак коопсуздук деңгээли төмөн болгон эски коопсуздук протоколун (WEP) колдонот. Баары бир туташуу үчүн WEP тармактарына уруксат берсеңиз болот."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Бул тармак коопсуздук деңгээли төмөн болгон эски коопсуздук протоколун колдонгондуктан, байланыш операторуңуз ага туташууга тыюу салат"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP тармагына уруксат берүү"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Жабуу"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Өркүндөтүлгөн параметрлер"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Өркүндөтүлгөн параметрлердин ылдый түшүүчү тизмеси"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"жайып көрсөтүү"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi-Fi тармагында калуу"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Кайра көрүнбөсүн"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Туташуу"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi күйгүзүлдү"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> менен туташты"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> менен туташууда"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Туташууда…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Түйүндгө байланышкан жок"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Тармак тейлөө аймагында эмес"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Унутулсун"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Өзгөртүү"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Түйүн унутулган жок"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Сактоо"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Түйүн сакталган жок"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Жок"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобилдик трафик"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Кубатталууда"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Кубатталууда"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Байланыш түйүнүнө туташуу"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Туташуунун күчү"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Сакталган тармактар"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Бир да сырсөз коюлган жок"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Байланыш түйүнүнүн аталышы"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Байланыш түйүнүнүн сырсөзү"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Wi-Fi жыштыктарынын диапазону"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Байланыш түйүнү автоматтык түрдө өчөт"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Түзмөктөр туташпай турганда"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Кеңейтүүнүн шайкештиги"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Экрандын ак балансы"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Түзмөк бүктөлгөндө колдонмолорду пайдалана берүү"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Айрым нерселер үчүн экрандын жаңыруу жыштыгы 60 Герцтен <xliff:g id="ID_1">%1$s</xliff:g> Герцке чейин өзгөрөт. Батарея тез отуруп калышы мүмкүн"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Оюндар үчүн демейки кадрлардын жыштыгын өчүрүү"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Оюндар үчүн кадрлардын максималдуу жыштыгынын <xliff:g id="FRAME_RATE">%1$d</xliff:g> Герц менен чектелишин өчүрүңүз."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Айрым материалдар үчүн экрандын жаңыруу жыштыгы автоматтык түрдө <xliff:g id="ID_1">%1$d</xliff:g> Герцке көтөрүлөт. Батареяны көбүрөөк керектейт."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Экрандын жаңыруу жыштыгын жогорулатуу"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Сенсордун функциясын жана анимациянын сапатын жакшыртуу үчүн жаңыртуу ылдамдыгы жогорулатылды. Батареянын колдонулушун жогорулатат."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Ыңгайлашуучу көшүү режими"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\"Ыңгайлашуучу көшүү режими\" экранды кимдир-бирөө карап жатканын текшерүү үчүн маңдайкы камераны колдонот. Ал түзмөктө иштеп, сүрөттөрдү эч качан сактап калбайт жана Google\'га жөнөтпөйт."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ыңгайл. көшүү режимин күйгүзүү"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Экранды карап турганда, өчпөйт"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Экран өчө турган убакыт узак болсо, батарея көбүрөөк сарпталат."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камера кулпуланган"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Жүздү аныктоо үчүн камеранын кулпусун ачуу керек"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Ыңгайлашуучу көшүү режимин колдонуу үчүн камеранын кулпусун ачуу керек"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g> оюкчасы)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> оюкчасы) (негизги)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Көрүү үчүн сакталган тармакты тандаңыз"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL версиясы"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Батарея деңгээли"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Жалпы"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Жалпы параметрлер"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Спутник аркылуу жазышуу"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN\'дер"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Байланыш түйүнүн өзгөртүү"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Байланыш түйүнүн кошуу"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Коюлган эмес"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Коюлган эмес"</string>
     <string name="apn_name" msgid="6677695784108157953">"Аталышы"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN иштөөдө"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN өчүк"</string>
     <string name="bearer" msgid="3231443241639159358">"Канал"</string>
+    <string name="network_type" msgid="748590707422733595">"Тармактын түрү"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Көрсөтүлгөн эмес"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO түрү"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO көрсөткүчү"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN жок кылуу"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Сактоо"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Жок"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Кайталанган APN жазуусу."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Аталыш сабы бош болбошу керек."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN бош болбошу керек."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC талаасы 3 орундуу болууга тийиш."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC талаасы 2 же 3 орундуу болууга тийиш."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Байланыш оператору %s түрүндөгү APN\'дерди кошууга уруксат бербейт."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC талаасы жарактуу болушу керек."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Демейки APN тууралоолорун кайтарууда."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Баштапкы абалга келтирүү"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Демейки APN параметрлери калыбына келди."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Баштапкы абалга келтирүү"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth жана Wi‑Fi баштапкы абалга келтирилди"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-карталарын өчүрүү"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Тарифтик пландарыңыз өзгөрбөйт. Башка SIM-карталарды жүктөп алуу үчүн байланыш операторуна кайрылыңыз."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Бул мобилдик түзмөктөр үчүн тарифтик планыңызды жокко чыгарбайт. Жаңы SIM карта алуу үчүн байланыш операторуна кайрылыңыз."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Параметрлерди кайра коюу"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Тармак параметрлерин баштапкы абалга келтирсеңиз, аларды артка кайтара албайсыз. Уланта бересизби?"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Тармактын параметрлерин баштапкы абалга келтирип, eSIM-карталарды өчүрөсүзбү? Бул аракетти артка кайтара албайсыз."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Кайра коесузбу?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Бул колдонуучу тармакты баштапкы абалына келтире албайт"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Тармак параметрлери баштапкы абалга келди"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM карталар тазаланбай жатат"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Катадан улам eSIM-карталарды өчүрүүгө болбойт.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM-карталар өчүрүлгөн жок"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Бир жерден ката кетип, eSIM-карталарыңыз өчүрүлгөн жок.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Бардык нерселерди өчүрүү (баштапкы абалга кайтаруу)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Бардык нерселерди өчүрүү (баштапкы абалга кайтаруу)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Музыка"</li>\n<li>"Сүрөттөр"</li>\n<li>"Колдонуучунун башка нерселери"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-карталар"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Байланыш операторуңуздун кызматын пайдалана бересиз."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Бардык жеке маалыматыңыз жана жүктөлүп алынган колдонмолор өчүрүлөт. Бул аракетти артка кайтара албайсыз."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Бардык жеке маалыматыңыз, анын ичинде жүктөлүп алынган колдонмолор жана SIM карталар жок кылынат. Бул аракетти артка кайтара албайсыз."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Бардык жеке маалыматыңыз, анын ичинде жүктөлүп алынган колдонмолор жана SIM карталар жок кылынат. Бул аракетти артка кайтара албайсыз."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Бардык нерселерди өчүрөсүзбү?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Бул колдонуучунун демейки параметрлерге кайтарууга уруксаты жок"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Өчүрүлүүдө"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Байланыш түйүнү, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Интернет башка түзмөктөр менен бөлүшүлгөн жок"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Өчүк"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Модем режими"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi байланыш түйүнү колдонулбасын"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Интернетти USB аркылуу гана бөлүшөсүз"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Интернетти Bluetooth аркылуу гана бөлүшөсүз"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Интернетти Ethernet аркылуу гана бөлүшүү"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Интернетти USB жана Bluetooth аркылуу гана бөлүшөсүз"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Интернетти USB жана Ethernet аркылуу гана бөлүшүү"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Интернетти Bluetooth жана Ethernet аркылуу гана бөлүшүү"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Интернетти USB, Bluetooth жана Ethernet аркылуу гана бөлүшүү"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB модем"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth модем"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet модем режими"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Башка түзмөктөрдү Wi‑Fi же мобилдик Интернетке туташтыруу үчүн байланыш түйүнүн же модем режимин колдонуңуз. Ошондой эле, колдонмолор жакын жердеги түзмөктөр менен кандайдыр бир нерселерди бөлүшүү үчүн байланыш түйүндөрүн түзө алышат."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Жардам"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобилдик тармак"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Тарифтик план"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS колдонмосу"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS колдонмону алмаштырасызбы?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"SMS билдирүүлөрү менен жазышуу үчүн <xliff:g id="CURRENT_APP">%2$s</xliff:g> ордуна <xliff:g id="NEW_APP">%1$s</xliff:g> колдоносузбу?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi жардамчысын өзгөртөсүзбү?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Тармактык туташууларыңызды башкаруу үчүн, <xliff:g id="CURRENT_APP">%2$s</xliff:g> ордуна <xliff:g id="NEW_APP">%1$s</xliff:g> колдоносузбу?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Тармактык туташууларыңызды башкаруу үчүн <xliff:g id="NEW_APP">%s</xliff:g> колдоносузбу?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Белгисиз SIM оператору"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> операторунда белгилүү камсыздоочу вебсайт жок"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIM картаны салып, кайра иштетиңиз"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Интернетке кошулуңуз"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Жакында изделген жерлер"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Жумуш профилинин жери"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Жайгашкан жерди көргөн колдонмолор"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Мүмкүнчүлүктү тазалоо"</string>
     <string name="controls_label" msgid="8671492254263626383">"Башкаруу элементтери"</string>
     <string name="force_stop" msgid="2681771622136916280">"Мажбурлап токтотуу"</string>
+    <string name="archive" msgid="9074663845068632127">"Архивдөө"</string>
+    <string name="restore" msgid="7622486640713967157">"Калыбына келтирүү"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Калыбына келтирүү"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Калыбына келтирилүүдө."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Калыбына келтирилүүдө…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Калыбына келтирилүүдө…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Жалпы"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Колдонмонун көлөмү"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB сактагычтын колдонмосу"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Пакеттин өлчөмүн эсептей албай жатат."</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> версиясы"</string>
     <string name="move_app" msgid="5421158479447276791">"Жылдыруу"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Архивделген жок"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> архивделди"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Калыбына келтирилбей койду"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> калыбына келтирилүүдө"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Көчүү аракети аткарылып жатат."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Сактагычта орун жетишсиз."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Мындай колдонмо жок."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Экрандагы баскычтоп жеткиликтүү"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Экрандагы баскычтопторду башкаруу"</string>
     <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="6922850403920596246">"Аппараттык баскычтоп жеткиликтүү болушу үчүн, Кайтаруу баскычтарын иштетиңиз"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Жай баскычтар"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Физикалык баскычтоп жеткиликтүү болушу үчүн, жай баскычтарды иштетиңиз"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Жабышма баскычтар"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Физикалык баскычтоп жеткиликтүү болушу үчүн, жабышма баскычтарды иштетиңиз"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Дагы параметрлерди көрүү үчүн сенсордук тактанын ылдыйкы оң бурчун таптаңыз"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Көрсөткүчтүн ылдамдыгы"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Сенсордук тактанын жаңсоолорун үйрөнүү"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Башкы бетке өтүү"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Сенсордук тактанын каалаган жерин үч манжаңыз менен жогору сүрүңүз"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Артка кайтуу"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Колдонуу убакыты боюнча иргөө"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Акыркы колдонулушу боюнча иргөө"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Колдонмонун аталышы боюнча иргөө"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Акыркы жолу колдонулган"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Акыркы жолу колдонулган"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"эч качан"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Колдонулган убакыт"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Атайын мүмкүнчүлүктөр"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Атайын мүмкүнчүлүктөрдүн параметрлери"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Үч жолу таптап чоңойтуу"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ыкчам баскыч менен чоңойтуу"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ыкчам баскыч жана үч жолу таптоо менен чоңойтуу"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> жөнүндө"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Атайын мүмкүнчүлүктөр баскычын басыңыз"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Ачуу үчүн үн баскычтарын коё бербей басып туруңуз"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ачуу үчүн экранды үч жолу таптаңыз"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Ачуу үчүн экранды эки манжаңыз менен эки жолу таптаңыз"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Ачуу үчүн жаңсаңыз"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Атайын мүмкүнчүлүктөр жаңсоосун колдонуу"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Бул функцияны колдонуу үчүн экрандын ылдый жагындагы атайын мүмкүнчүлүктөр баскычын <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> таптап коюңуз.\n\nБашка функцияга өтүү үчүн Атайын мүмкүнчүлүктөр баскычын басып, кармап туруңуз."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Бул функцияны колдонуу үчүн экрандагы атайын мүмкүнчүлүктөр баскычын басыңыз."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Бул функцияны колдонуу үчүн үндү катуулатуу/акырындатуу баскычтарын коё бербей басып туруңуз."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Чоңойтуп/кичирейтүүнү иштетүү же өчүрүү үчүн экраныңыздын каалаган жерин үч жолу таптаңыз."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Чоңойтууну иштетүү же өчүрүү үчүн экраныңыздын каалаган жерин эки манжаңыз менен эки жолу таптаңыз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Бул функцияны колдонуу үчүн экранды 2 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 2 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Бул функцияны колдонуу үчүн экранды 3 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 3 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Бул атайын мүмкүнчүлүктөр функциясын колдонуу үчүн экранды 2 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 2 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Бул атайын мүмкүнчүлүктөр функциясын колдонуу үчүн экранды 3 манжаңыз менен ылдый жагынан өйдө сүрүңүз.\n\nБашка функцияга өтүү үчүн 3 манжаңыз менен өйдө сүрүп, кармап туруңуз."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Түшүндүм"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Атайын мүмкүнчүлүктөр баскычынын параметрлери"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Баскычтын параметрлери"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ыкчам баскычы"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Атайын мүмкүнчүлүктөр баскычы"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Атайын мүмкүнчүлүктөр жаңсоосу"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Үндү катуулатуу/акырындатуу баскычтарын басуу"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"үн баскычтарын басып туруу"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Үндү катуулатуу/акырындатуу баскычтарын коё бербей басып туруңуз"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Экранды эки манжа менен эки жолу таптоо"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"экранды эки манжа менен эки жолу таптоо"</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="6863958573135995927">"экранды үч жолу таптоо"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Экранды {0,number,integer} жолу тез басыңыз. Бул ыкчам баскыч түзмөгүңүздү жайлатышы мүмкүн"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Атайын мүмкүнчүлүктөр баскычы жана жаңсоосу тууралуу кеңири маалымат"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Атайын мүмкүнчүлүктөр баскычын колдонуңуз. Бул жаңсоо 3 баскычтуу чабыттоодо жеткиликсиз."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Атайын мүмкүнчүлүктөргө тез өтүү"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Баштоо үчүн"</b>\n"1. Атайын мүмкүнчүлүктөр параметрлерин ачыңыз\n2. Керектүү функцияны тандап, анын ыкчам баскычын басып коюңуз\n3. Функцияны баскыч же жаңсоо менен иштетүүнү тандаңыз"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Баштоо үчүн"</b>\n"1. Атайын мүмкүнчүлүктөрдү тууралоого өтүңүз\n2. Функцияны тандап, ыкчам баскычты таптап коюңуз\n3. Функцияны колдонуу үчүн баскычты тандаңыз"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Баскычты же жаңсоону колдонуу"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Жайгашкан орду"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Өлчөмү"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Чалууну кубат баскычы бүтүрөт"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Чычкандын чоң көрсөткүчү"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Курсор даанараак көрүнөт"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Бардык колдонмолор үчүн караңгы тема"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Өз караңгы темасы болбогон колдонмолорго карата пайдаланылат. Айрым колдонмолордун инверттелген түстөр сыяктуу чагылдыруу көйгөйлөрү болушу мүмкүн."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Анимацияларды алып салуу"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Экрандагы кыймыл азаят"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Моно аудио"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Дирилдөөнү жана сенсорлорду колдонуу"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Ойготкучтун дирилдөөсү"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Медианы дирилдетүү"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Баскычтопту дирилдетүү"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Шыңгырдын дирилдөөсү"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Билдирменин дирилдөөсү"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Басып жооп берүү"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Токтотуу"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Жок"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> токтотулсунбу?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="SERVICE">%2$s</xliff:g> кызматын токтотуу үчүн <xliff:g id="STOP">%1$s</xliff:g> баскычын басыңыз."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Өчүрүү"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Күйгүзүү"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> өчүрүлсүнбү?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Эч кандай кызматтар орнотулган эмес"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Бир да кызмат тандалган жок"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Эч кандай сүрөттөө берилген эмес."</string>
     <string name="settings_button" msgid="2195468788019730377">"Параметрлер"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"жарыкты сезгичтик, фотофобия, караңгы тема, шакый, баш ооруу, окуу режими, түнкү режим, жарыктыгын азайтуу, ак чекит"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Оңой колдонуу, оңой кирүү, жардам, ыңгайлуу"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"көрүү, угуу, сокур, дүлөй, мотор, эптүүлүк, жардамчы, жардам берүү, колдонуу жеңилдиги, жеткиликтүүлүк, кол, жардам"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Терезени чоңойткуч, чоңойтуп/кичирейтүү, чоңойтуу, начар көрүү, жакындатуу, чоңураак кылуу"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Коштомо жазуулар, тике транскрипциялоо, начар угуу, угуу жөндөмүнүн жоголушу, CART, cөздөн текстке, коштомо жазуу"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"түс контрасты"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"кыймылдын бузулушу, чычкан"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"угуу аппараттары, начар угуу, укпай калуу, кохлеардык имплантаттар, үндү күчөтүүчү түзмөктөр, добуш иштеткичтер"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"мотор, чычкан, тышкы чычкан, баш менен көзөмөлдөнгөн чычкан, ыңгайлаштырылуучу чычкан, майыптар арабасы, жойстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"угуу аппараттары, начар угуу, укпай калуу, кохлеардык имплантаттар, үндү күчөтүүчү түзмөктөр, добуш иштеткичтер, жеке үн күчөткүч товарлары"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"начар угуу, угуу жөндөмүнүн жоголушу, коштомо жазуулар, телетайп, телетайп түзмөгү"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"үч баскыч"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"эптүүлүк, мотор, улуу, артрит, инсульт, тремор, склероз, церебралдык шал оорусу, титирөө, кайталанма кыймылдан келип чыккан травма, кол"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"кечиктирүү, эптүүлүк, улуу"</string>
     <string name="print_settings" msgid="8519810615863882491">"Басып чыгаруу"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Өчүк"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 басып чыгаруу кызматы күйүк}other{# басып чыгаруу кызматы күйүк}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> калды"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> кубаттоо"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Түзмөктү колдонуу убакыты"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Фондогу убакыт"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Батареянын кубаты төмөн"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Колдонмо фондо аткарылсын"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Фондогу аракеттери чектелсинби?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Колдонмонун фондогу аракеттери чектелсе, ал туура эмес иштеп калышы мүмкүн"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Бул колдонмодо батареянын үнөмдөлүшү жөндөлбөгөндүктөн, аны чектөөгө болбойт.\n\nКолдонмону чектөө үчүн, адегенде Батареяны үнөмдөө режимин күйгүзүңүз."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Батареянын колдонулушун тескөө"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Фондо колдонууга уруксат берүү"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Анык убакыттагы жаңыртууларды алуу үчүн иштетип, батареянын кубатын үнөмдөө үчүн өчүрүңүз"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Чектелбейт"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптималдаштырылган"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Чектелген"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Эң көп иштетилген колдонмолорду көрүү"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Батареяңызды коргоо үчүн ал этият кубатталат"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Кубаттоо процесси оптималдаштырылгандыктан, түзмөгүңүздүн батареясы көпкө жетет"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Батареяңызды коргоо үчүн ал этият кубатталат"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Батареяны көпкө колдонуу үчүн түзмөгүңүз док станцияга туташып, оптималдаштырылып кубатталат"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Батареяңызды коргоо үчүн ал этият кубатталат"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Батареяны көпкө колдонуу үчүн түзмөгүңүз док станцияга туташып, оптималдаштырылып кубатталат"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Толук кубаттоо"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Планшет кийинки жолу док станцияга туташканда, батареяны коргоо үчүн ал этият кубатталат."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Кубаттоонун тындырылышы жөнүндө кеңири маалымат алыңыз"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Кубаттоону улантуу"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Кубатты көп сарптаган фондогу аракеттер камтылган"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Бул колдонмо батареяны фондо керектей берет. Батареяңыз күтүлгөндөн эртерээк отуруп калышы мүмкүн."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Өчүрүү"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Жок"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Толук кубаттоо"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Кубаттоочу шайманда көйгөй бар"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Кубаттоо шайманын текшериңиз"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Шайкеш эмес кубаттоо параметри жөнүндө кеңири маалымат"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Колдонмолорду автоматтык түрдө башкаруу"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"толук кубатталгандан бери"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системдик колдонмолор"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Чыгарылып салынган колдонмолор"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Башкалар"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Болжолдуу калган убакыт"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Батарея толгонго чейин калган убакыт"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Жалпысынан: бир мүнөткө жетпейт"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Фондо колдонулушу: бир мүнөткө жетпейт"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Канча убакыт колдонулду: бир мүнөткө жетпейт"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Бир мүнөттөн ашпайт"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Жалпысынан: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Фондо колдонулушу: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Канча убакыт колдонулду: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"азыр"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Батареянын колдонулушунун диаграммасы"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Батареяны күнүмдүк колдонуу диаграммасы"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Батареяны сааттык колдонуу диаграммасы"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Батареянын деңгээли: <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>—<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Акыркы жолу толук кубатталгандан бери батареянын колдонулушу"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Батарея канча убакыт колдонулду (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Акыркы жолу толук кубатталгандан бери түзмөктү колдонуу убакыты"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Шашылыш чалуу сигналы"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Шашылыш чалуу аткарылганда көрүлчү аракетти коюу"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Камдык көчүрмөнү сактоо"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Күйүк"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Өчүк"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Бэкаптоо жана калыбына келтирүү"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Жеке дайындар"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Дайындарымдын камдык көчүрмөсү сакталсын"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобилдик Интернет жана Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Жеке маалыматтарды авто-шайкештирүү"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Жумуш маалыматын автошайкештирүү"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Купуя маалыматты авто-шайкештирүү"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Циклди өзгөртүү…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Дайындарды колдонуу циклин баштапкы абалга келтире турган күн:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Бул мезгилде колдонмолор трафик сарптаган жок."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Аталышы"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Түрү"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Сервердин дареги"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифрлөө (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP сыры"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec аныктагыч"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Алдын ала бөлүшүлгөн IPSec ачкычы"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec колдонуучунун тастыктамасы"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA тастыктамасы"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec сервер сертификаты"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Кошумча"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS издөө домендери"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS серверлер (мис. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Багыттоо жолдору (мис. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Колдонуучунун аты"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Сырсөз"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Аккаунттун маалыматын сактоо"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(колдонулбайт)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(серверди ырастаба)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(серверден келген)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Мындай VPN түрү такай туташып турбайт"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Туруктуу VPN тармагында сан менен жазылган сервер даректери гана колдоого алынат"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Туруктуу VPN\'дин DNS сервери көрсөтүлүшү керек"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Туруктуу VPN\'дин DNS серверинин даректери сандардан турушу керек"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Киргизилген маалымат дайым иштеген VPN кызматына дал келбейт"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Жок"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Этибарга албоо"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN\'сиз туташууларга тыюу салуу"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN туташуусу талап кылынсынбы?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Коопсуз эмес. IKEv2 VPN\'ге жаңыртыңыз."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Колдоого алынбаган VPN\'ге туташкан жок."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Дайым туташып туруучу VPN профайл тандаңыз. Бул VPN\'ге кошулганда гана желе трафигине уруксат берилет."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Эч бир"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Туруктуу VPN тармагы жана DNS сервери үчүн IP даректи көрсөтүңүз."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER шашылыш билдирүүлөрү"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Балдардын уурдалышы жөнүндө бюллетендерди алуу"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Кайталоо"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Чалууларды башкаргычты иштетүү"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Бул кызматка чалууларды аткарууну башкаруу мүмкүнчүлүгүн берүү."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Чалууларды башкаргыч"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Зымсыз тармактардан келген шашылыш билдирүүлөр"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Тармактык операторлор"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Жетки түйүнүнүн аталыштары"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM абалы"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-картанын абалы (SIM %1$d оюкчасы)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM карталар өзгөрдү."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM карталарыңыз өзгөртүлдү"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Орнотуу үчүн басыңыз"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Чалган сайын сурасын"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Тандоо керек"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Акыркы колдонмолор, демейки колдонмолор"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Жумуш профилиндеги колдонмолордо билдирмелерди иштетүү мүмкүн эмес."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Сырсөздөр жана аккаунттар"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Сакталган сырсөздөр, автотолтуруу, шайкештирилген аккаунттар"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Кирүү жана автотолтуруу боюнча сунуштар"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Демейки колдонмолор"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Клондолгон колдонмолор"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Бир эле учурда эки аккаунтту колдонуу үчүн колдонмонун экинчи нускасын түзүңүз."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"капчык"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"төлөө, таптоо, төлөмдөр"</string>
     <string name="keywords_backup" msgid="707735920706667685">"камдык көчүрмөнү сактоо, камдык көчүрмөнү сактоо"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"жаңсоо"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"жүз, кулпуну ачуу, аутентификация, кирүү"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"жүз, кулпуну ачуу, аутентификация, кирүү, манжа изи, биометрика"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl версиясы, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"тексттин өлчөмү, чоң өлчөмдө басып чыгаруу, чоң арип, чоң текст, начар көрүү, текстти чоңойтуу, арип чоңойткуч, арипти чоңойтуу"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"динамикалык жарык ар дайым күйүк, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, тег, окугуч"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"баскычтоп, сенсорлор, дирилдөө,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Үн деңгээли, дирилдөө, \"Тынчымды алба\" режими"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Мультимедианын катуулугу"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Үндү алыстан башкаруу"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Түзмөк күйгүзүлгөндөгү үндөр"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Ыкчам коштомо жазуулар"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Автоматтык коштомо жазуулар"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Телефондун динамиктери"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Планшеттин динамиктери"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Түзмөктүн динамиктери"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Зымдуу гарнитура"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Шайкеш түзмөктөрдөн чыккан үн таасирдүү угулат"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Өчүк"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Билдирме толугу менен көрүнөт"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Купуя маалымат экран ачылганда гана көрүнөт"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Билдирмелер такыр көрүнбөйт"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Билдирмелер кулпуланган экранда кандай көрүнөт?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Кулпуланган экранда эмнелер көрүнсүн?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Кулпуланган экран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Жумуш билдирмелери толугу менен көрүнөт"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Жумушка байланыштуу купуя нерселер жашырылат"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Акыркы сүйлөшүүлөр өчүрүлдү"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Маек өчүрүлдү"</string>
     <string name="clear" msgid="5092178335409471100">"Тазалоо"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> өчүрүү"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Маанилүү жана өзгөрүлгөн сүйлөшүүлөр бул жерде көрүнөт"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Сүйлөшүү маанилүү деп белгилесеңиз же ага кандайдыр бир өзгөртүү киргизсеңиз, ал ушул жерде көрүнөт. \n\nСүйлөшүүнүн параметрлерин өзгөртүү үчүн: \nЭкрандын өйдө жагынан ылдый сүрүп, билдирмелер тактасын ачып, сүйлөшүүнү коё бербей басып туруңуз."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Кичирейтүү"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Билдирмелердин үнүн басаңдатуу"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Бардык билдирмелердин үнүн басаңдатуу"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Бир колдонмодон катары менен бир нече билдирме келгенде, ар бир кийинки билдирменин үнүн акырындатуу"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Сүйлөшүүлөрдүн үнүн басаңдатуу"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Кыска убакытта бир маекте бир нече билдирүү алганда, ар бир кийинки билдирменин үнүн акырындатуу"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Билдирмелердин үнү басаңдабасын"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Бир колдонмодо катары менен бир нече билдирме келсе да, алардын үнү акырындабасын"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Кулпусу ачылып турганда дирилдесин"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Экрандын кулпусу ачылып турганда гана дирилдесин"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Жумуш профилдерине колдонуу"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Жеке профилден жумуш профилине билдирмелердин үнүн басаңдатуу параметрлерин колдонуу"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR көмөкчү кызматтары"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Орнотулган колдонмолор көмөкчү VR кызматы катары иштөөгө уруксат сураган жок."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR кызматына <xliff:g id="SERVICE">%1$s</xliff:g> кызматын жеткиликтүү кыласызбы?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Өчүк"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Колдонмону кадап коюу"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Бул функция белгилүү бир колдонмонун экранын кадап, телефондогу калган программаларды жашырып коет. Мисалы, ал аркылуу ишенген досуңузга түзмөгүңүздөгү белгилүү бир оюнду ойногонго уруксат берсеңиз болот."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Кадалган колдонмо башка колдонмолорду ачып, жеке маалыматтарды көрө алышы мүмкүн. \n\nКолдонмону кадап коюу функциясын колдонуу үчүн: 	\n1. Колдонмону кадап коюуну күйгүзүңүз 	\n2. Назар бөлүмүн ачыңыз 	\n3. Экрандын жогору жагындагы колдонмонун сүрөтчөсүн басып, андан кийин Кадап коюну таптаңыз"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Кадалган колдонмо башка колдонмолорду ачып, жеке маалыматтарды көрө алышы мүмкүн. \n\nТүзмөгүңүздү башка бирөө менен коопсуз шартта бөлүшкүңүз келсе, конок катары колдонуп көрүңүз. \n\nКолдонмону кадап коюу функциясын пайдалануу үчүн: 	\n1. Колдонмону кадап коюуну күйгүзүңүз 	\n2. Назар бөлүмүн ачыңыз 	\n3. Экрандын жогору жагындагы колдонмонун сүрөтчөсүн басып, андан кийин Кадап коюну таптаңыз"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Кадалган колдонмо башка колдонмолорду ачып, жеке маалыматтарды көрө алышы мүмкүн. \n\nКолдонмону кадап коюуну пайдалануу үчүн: 	\n{0,number,integer}. Колдонмону кадап коюуну күйгүзүү 	\n{1,number,integer}. Жалпы маалыматты ачуу 	\n{2,number,integer}. Экрандын жогору жагындагы колдонмонун сүрөтчөсүн басып, андан кийин Кадап коюну таптаңыз"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Кадалган колдонмо башка колдонмолорду ачып, жеке маалыматтарды көрө алышы мүмкүн. \n\nТүзмөгүңүздү башка бирөө менен коопсуз шартта бөлүшкүңүз келсе, конок катары колдонуп көрүңүз. \n\nКолдонмону кадап коюуну пайдалануу үчүн: 	\n{0,number,integer}. Колдонмону кадап коюуну күйгүзүү 	\n{1,number,integer}. Жалпы маалыматты ачуу 	\n{2,number,integer}. Экрандын жогору жагындагы колдонмонун сүрөтчөсүн басып, андан кийин Кадап коюну таптаңыз"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Кадалган колдонмо: \n\n•   Жеке маалыматтарды көрө алат (байланыштарды жана каттардын мазмунун); \n•   Башка колдонмолорду ача алат. \n\nБул функцияны ишенген адамдарыңыз менен гана пайдаланыңыз.\n"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Бошотуудан мурун графикалык ачкыч суралсын"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Бошотуудан мурун PIN суралсын"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Бошотуудан мурун сырсөз суралсын"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Колдонмо бошотулганда түзмөк кулпулансын"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM картаны өчүрүүнү ырастоо"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM-картаңызды тазалоону ырастаңыз"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM-картаны өчүрүүдөн мурда өзүңүздү ырастаңыз"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Өркүндөтүлгөн эстутумду коргоонун бета версиясы"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Өркүндөтүлгөн эстутумду коргоо"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Колдонулбаган колдонмолордун параметрлери"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Колдонулбаган колдонмолордун ишин тындыруу"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Уруксаттар өчүрүлүп, убактылуу файлдар тазаланып, билдирмелер келбей калат"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Колдонмо колдонулбаса, аны тескеңиз"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Уруксаттарды алып салып, убактылуу файлдарды жок кылып, билдирмелерди токтотуңуз жана колдонмону архивдеңиз"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Бардык колдонмолор"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Орнотулган колдонмолор"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ыкчам ачылуучу колдонмолор"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Бош"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Колдонмолордун эс тутумду керектеши"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Акыркы {time} ичинде 1 колдонмо эстутумду пайдаланды}other{Акыркы {time} ичинде # колдонмо эстутумду пайдаланды}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Эстутумдун колдонулушун профилдөөнү иштетүү"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Эстутумдун колдонулушун профилдөө тутумдун кошумча булактарын талап кылат."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Эстутумду профилдөө өчүк"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Жыштык"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Эң көп керектелиши"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Колдонула элек"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Башка колдонмолордун үстүнөн көрсөтүү"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Башка колдонмолордун үстүнөн көрсөтүүгө уруксат"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Интерфейстин элементтери башка колдонмолордун үстүнөн көрүнөт. Бул колдонмо кайсы жерди басканыңызды көрүп же экрандагы нерселерди өзгөртө алат."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Медиа чыгарылышын өзгөртүү"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Колдонмого медиа чыгарылышын которууга уруксат берүү"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Бул колдонмого кайсы туташкан түзмөк башка колдонмолордон аудио же видеону кайс ойноторун тандоосуна уруксат бериңиз. Эгер уруксат берилсе, бул колдонмо гарнитура жана динамиктер сыяктуу жеткиликтүү түзмөктөрдүн тизмесине кире алат. Ошондой эле аудио же видеону алып ойнотуп же тышкы экранга чыгаруу үчүн кайсы чыгаруучу түзмөк колдонуларын тандай алат."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Бардык файлдарга мүмкүнчүлүк"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Бардык файлдарды башкарууга уруксат берүү"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Бул колдонмого түзмөктөгү жана башка байланышкан сактагычтардагы бардык файлдарды көрүп, өзгөртүп жана өчүрүүгө уруксат бересизби? Колдонмо файлдарды сизге айтпай пайдалана алат."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Бардык файлдарга мүмкүнчүлүк бар"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Үн менен иштетилген колдонмолор"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Үндү иштетүүгө уруксат берүү"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ырасталган колдонмолорду үн буйругу менен иштете аласыз. Куралган адаптивдик таануу тутумунун жардамы менен маалыматтар сизге гана жеткиликтүү болот.\n\n"<a href="">"Коопсуз адаптивдик таануу тууралуу кеңири маалымат"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Толук экрандагы билдирмелер"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Бул колдонмого толук экрандагы билдирмелерди көрсөтүүгө уруксат берүү"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Бул колдонмого түзмөк кулпуланып турганда толук экрандагы билдирмелерди көрсөтүүгө уруксат бериңиз. Колдонмолор муну ойготкучтарды, кирүүчү чалууларды же башка шашылыш билдирмелерди көрсөтүү үчүн колдонушат."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Качан эскертүү берилет: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Трафик чектелген: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Качан эскертүү берилет: <xliff:g id="ID_1">^1</xliff:g> / Трафик чектелген: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Байланыш операторунун статистикасы түзмөгүңүздүн статистикасынан айырмаланышы мүмкүн."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Байланыш операторунун тармактары колдонгон нерселерден тышкары"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> колдонулду"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Трафик тууралуу эскертүү"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> мурда жаңырды"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> тарабынан жаңы эле жаңырды"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Жаңы эле жаңырды"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Планды көрүү"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Кеңири маалымат"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Трафикти үнөмдөө"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Чексиз трафик"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> батареяны фондо адаттагыдан көбүрөөк колдонду"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> батареяны активдүү режимде көбүрөөк колдонду"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> батареяны активдүү режимде адаттагыдан көбүрөөк колдонду"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Батарея адаттан тышкары колдонулуп жатат"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Батарея көбүрөөк колдонулууда."</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Батарея фондо көбүрөөк колдонулууда"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Батарея активдүү режимде көбүрөөк колдонулууда"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Иштеп чыгуучунун ыкчам жөндөөлөр такталары"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb авторизацияларынын мөөнөттөрүн өчүрүү"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Демейки шарт боюнча белгиленген мөөнөттүн (7 күн) же колдонуучу белгилеген убакыттын (кеминде 1 күн) ичинде кайра туташпаган системаларда adb авторизациясын автоматтык түрдө артка кайтаруу мүмкүнчүлүгү өчүрүлөт."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope көз салуусу"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Сенсорлорду өчүрүү"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Жумуш профилинин параметрлери"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Жумуш каталогундагы байланыштарды жеке колдонмолордо издөө"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"тутум чабыттоосу, 2 баскыч менен чабыттоо, 3 баскыч менен чабыттоо, жаңсап чабыттоо, экранды сүрүп коюу"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Санариптик жардамчы"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Жардамчыны күйгүзүү үчүн экранды сүрүп коюу"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Санариптик жардамчы колдонмосун иштетүү үчүн экрандын төмөнкү бурчун жогору карай сүрүп коюңуз."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Санариптик жардамчы колдонмосун иштетүү үчүн экрандын төмөнкү бурчун жогору карай сүрүп коюңуз"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Жардамчыны күйгүзүү үчүн Башкы бет баскычын басып туруңуз"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Санариптик жардамчы колдонмосун күйгүзүү үчүн Башкы бет баскычын басып туруңуз."</string>
     <string name="low_label" msgid="6525629096999711220">"Төмөн"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Автотолтуруу кызматы"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Демейки автотолтуруу кызматы"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Сырсөздөр"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Сырсөздөр, киргизүүчү ачкычтар жана маалымат кызматтары"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Кошумча провайдерлер"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Тандалган кызмат"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Кошумча кызматтар"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# cырсөз}other{# сырсөз}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"авто, толтуруу, автоматтык түрдө толтуруу, сырсөз"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"маалымат, киргизүүчү ачкыч, сырсөз"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"авто, толтуруу, автотолтуруу, маалымат, киргизүүчү ачкыч, сырсөз"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Өзгөртүү"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ачуу"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Бири да тандалган жок"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Колдонмонун коопсуз экенин текшериңиз&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; экрандагы нерселерди талдап, автоматтык түрдө толтурула турган саптарды табат."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; кызматын колдоносузбу?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; экрандагы нерсенин негизинде кайсы жерди автотолтуруш керек экенин аныктайт. Жаңы сырсөздөр, киргизүүчү ачкычтар жана башка маалымат эми ушул жерде сакталат."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Сырсөздөр, киргизүүчү ачкычтар жана маалымат кызматтары"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Колдонуу: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Мындан кийин жаңы сырсөздөр, киргизүүчү ачкычтар жана башка маалымат бул жерде сакталат. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; экрандагы нерселерди колдонуп, автотолтурула турган талааларды аныктай алат."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Cырсөздөр, киргизүүчү ачкычтар жана автотолтуруу үчүн тандалган кызмат"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s өчүрүлсүнбү?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Бул кызматты өчүрөсүзбү?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Сырсөздөр, киргизүүчү ачкычтар, төлөм ыкмалары жана башка сакталган маалымат аккаунтка кирип жатканыңызда толтурулбайт. Сакталган маалыматыңызды колдонуу үчүн сырсөздү, киргизүүчү ачкычты же маалымат кызматын тандаңыз."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Сырсөздөр, кир-чү ачкычтар, автотолтуруу"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Бардык кызматтар өчүрүлсүнбү?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Сырсөздөр, киргизүүчү ачкычтар жана башка сакталган маалымат сиз киргенде автотолтуруу үчүн жеткиликсиз болот"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Тандаган кызматты &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&amp;gt кылып өзгөртүңүз; Жаңы сырсөздөр, киргизүүчү ачкычтар жана башка маалымат эми ушул жерде сакталат. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; экрандагы нерселерди колдонуп, автотолтурула турган талааларды аныктай алат"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s колдонулсунбу?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Өчүрүү"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Өзгөртүү"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"5 кызматты гана иштете аласыз"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Башка кызматты кошуу үчүн кеминде 1 кызматты өчүрүңүз"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s экрандагы мазмундун кайсы жерлери автоматтык түрдө толтурула тургандыгын аныктайт."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Сырсөздөргө, киргизүүчү ачкычтарга жана маалымат кызматтарына коюлган чек"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Бир эле убакта 5 сырсөзгө, киргизүүчү ачкычка жана маалымат кызматтарына чейин колдоно аласыз. Көбүрөөк кошуу үчүн кызматты өчүрүңүз."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Сырсөздөргө, киргизүүчү ачкычтарга жана маалымат кызматтарына коюлган чек"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Бир эле убакта 5 сырсөзгө, киргизүүчү ачкычка жана маалымат кызматтарына чейин колдоно аласыз. Көбүрөөк кошуу үчүн кызматты өчүрүңүз."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Өчүрүү"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Автотолтуруу"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Кирүү деңгээли"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Шайкештик параметрлерин мүчүлүштүктөрүн оңдоого мүмкүн болгон колдонмолор үчүн гана өзгөртүүгө болот. Ушундай колдонмо орнотуп туруп, кайталап көрүңүз."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Башка жөндөөгө көз каранды"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Аккаунт"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d аккаунт"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Түзмөктүн аталышы"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Негизги маалымат"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Юридикалык маселелер жана эрежелер"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC энбелгиси скандалып жатканда, бул колдонмону иштетүүгө уруксат бериңиз.\nЭгер бул уруксат күйгүзүлсө, NFC энбелгилерин иштетүү үчүн бул колдонмону тандоого болот."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Медиа файл төмөнкүдө ойнотулсун:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> аркылуу ойнотуу"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Аудио төмөнкүдө ойнотулат:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Ушул түзмөк"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Сүйлөшүп жаткан учурда жеткиликсиз"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Чалууну кабыл алуу"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Үнсүз"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Иштетүү үчүн алгач кубат баскычынын менюсунан \"кубат баскычын коё бербей басып туруу\" опциясын өзгөртүңүз."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Тармактын чоо-жайы"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Түзмөгүңүздүн аталышы телефонуңуздагы колдонмолорго көрүнүп турат. Bluetooth түзмөктөрүнө, Wi‑Fi тармагына туташканыңызда же Wi‑Fi байланыш түйүнүн жөндөгөнүңүздө, аны башка адамдар да көрүшү мүмкүн."</string>
     <string name="devices_title" msgid="649715719278562515">"Түзмөктөр"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Тармакты тандоо"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Ажыратылды"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Аталышы"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Түсү (шайкеш колдонмолор үчүн)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Сактоо"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM картаны колдонуу"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Бул SIM картаны колдонуу"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Өчүк"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Бул SIM картаны өчүрүү үчүн аны түзмөктөн чыгарып салыңыз"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> байланыш операторун иштетүү үчүн басыңыз"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM картаны тазалоо"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Бул SIM картаны өчүрүү үчүн аны түзмөктөн алып салыңыз"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> SIM картаңызды иштетүү үчүн таптап коюңуз"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM картаны тазалоо"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Тандалган тармактын түрү"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Тармактын иштөө режимин өзгөртүңүз"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Тармактын түрү"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Бааларын байланыш операторуңуздан сурашыңыз керек."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Колдонмолордун трафиги"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Тармактын режими жараксыз: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Баш тартыңыз."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Спутник аркылуу жазышуу"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Спутник аркылуу текст билдирүүлөрдү алып же жөнөтүңүз. Аккаунтуңузда бул мүмкүнчүлүк бар."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Спутник аркылуу текст билдирүүлөрдү алып же жөнөтүңүз. Аккаунтуңузда бул мүмкүнчүлүк жок."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Спутник аркылуу жазышуу"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Спутник аркылуу жазышуу тууралуу"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Эгер сизде жарамдуу <xliff:g id="CARRIER_NAME">%1$s</xliff:g> аккаунту болсо, спутник аркылуу текст билдирүүлөрдү жөнөтүп же ала аласыз"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> тарифтик планыңыз"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Аккаунтуңузда Спутник аркылуу жазышуу мүмкүнчүлүгү бар"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Аккаунтуңузда Спутник аркылуу жазышуу мүмкүнчүлүгү жок"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Спутник аркылуу жазышууну кошуу"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Ал кантип иштейт"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Мобилдик тармакка туташпаган учурда"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Телефонуңуз спутникке автоматтык түрдө туташат. Асман ачык көрүнгөн жерде болушуңуз керек."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Телефонуңуз спутникке туташкандан кийин"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Сиз каалаган адамга, анын ичинде кырсыктаганда жардамга келчү кызматтарга текст билдирүү жөнөтө аласыз. Телефонуңуз мүмкүн болгондо мобилдик тармакка кайра туташат."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Спутник аркылуу жазышуу көбүрөөк убакытты алышы мүмкүн жана кээ бир аймактарда гана жеткиликтүү. Аба ырайы жана айрым нерселер спутник менен байланышыңызга таасирин тийгизиши мүмкүн. Спутник аркылуу чалуу жеткиликтүү эмес.\n\nАккаунтуңуздагы өзгөртүүлөр Параметрлерде бир аз убакыттан кийин көрсөтүлүшү мүмкүн. Кеңири маалымат алуу үчүн<xliff:g id="CARRIER_NAME">%1$s</xliff:g> менен байланышыңыз."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Спутник аркылуу жазышуу тууралуу кеңири маалымат"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Байланыш түйүнүнүн аталыштары"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> операторуна туташып турганда жеткиликсиз"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторуна которуласызбы?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM картага которуласызбы?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> колдонулсунбу?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Бир эле маалда бир нече SIM карта колдонууга болбойт.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторуна которулсаңыз, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> байланыш операторундагы тарифтик планыңыз өзгөрбөйт."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Бир маалда 1 eSIM-карта гана колдонулушу керек.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторуна которулсаңыз, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> байланыш операторундагы тарифтик планыңыз өзгөрбөйт."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Бир эле маалда бир нече SIM карта колдонууга болбойт.\n\nБашка SIM картага которулсаңыз, \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" байланыш операторундагы тарифтик планыңыз өзгөрбөйт."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Бир маалда 1 SIM карта гана колдонулушу керек.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторуна которулсаңыз, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> байланыш операторундагы тарифтик планыңыз өзгөрбөйт."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Бир маалда 1 eSIM-карта гана колдонулушу керек.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> операторуна которулсаңыз, <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> байланыш операторундагы тарифтик планыңыз өзгөрбөйт."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Бир маалда 1 SIM карта гана колдонулушу керек.\n\nБашка операторго которулсаңыз, <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> байланыш операторундагы тарифтик планыңыз өзгөрбөйт."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Бир эле убакта 2 SIM картаны колдоно аласыз. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> колдонуу үчүн башка SIM картаны өчүрүңүз."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторуна которулуу"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> түзмөгүн өчүрүү"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM карта өчүрүлсө, кызмат токтотулбайт"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Байланыш операторуна туташууда…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Чалуулар жана жазышуулар <xliff:g id="CARRIER_NAME">%1$s</xliff:g> операторуна которулууда…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Байланыш оператору которуштурулбай жатат"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Катадан улам байланыш оператору которуштурулбай жатат."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM картаңыз иштетилүүдө…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> профилине которулууда…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM карталар которулган жок"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Бир жерден ката кетти. SIM карталар которулган жок."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> өчүрүлсүнбү?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM-карта өчүрүлсүнбү?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-карта өчүрүлүүдө<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Байланыш оператору өчкөн жок"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Бир жерден ката кетти, байланыш операторуңуз өчкөн жок."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM карта өчүрүлбөй жатат"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Бир жерден ката кетип, SIM картаңыз өчүрүлгөн жок."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 SIM-картаны колдоносузбу?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Бул түзмөктө бир эле маалда 2 SIM-картаны иштетүүгө болот. Эгер бир SIM карта жетиштүү болсо, \"Жок, рахмат\" дегенди басып коюңуз."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Түзмөк өчүп күйсүнбү?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Жок, рахмат"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Жок"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Которулуу"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Өчүрүү"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-карта иштетилген жок"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM-картаны кайра күйгүзүп көрүңүз. Эгер маселе чечилбесе, түзмөктү өчүрүп күйгүзүңүз."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM картаңызды тууралаңыз"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Бул түзмөктө бир нече SIM картаны колдонуу үчүн мобилдик тармагыңыздын артыкчылыктарын тууралаңыз"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM карталарыңызды белгилеңиз"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Бул энбелгилерди чалууларда, текст билдирүүсүн жөнөтүүдө жана дайындарды колдонууда Жөндөөлөрдөн көрөсүз"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM карта энбелгиси"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Энбелги"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Колдонула турган SIM карталарды тандоо"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Бир эле маалда 2 SIM карта колдоно аласыз"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Негизги SIM карталарды тууралоо"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Чалуулар, тексттик билдирүүлөр жана дайындар үчүн демейки боюнча кайсы SIM-карталарды колдоноруңузду тандаңыз"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Негизги SIM карталарыңыз"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Чалуулар"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS жөнөтүү"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Дайындарды автоматтык түрдө которуу"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Иштөө аймагы жана жеткиликтүүлүгүнө жараша каалаган SIM картанын дайындарын колдонуңуз"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Дайындар гана"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Тууралоо"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Кийинки"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> күйгүзүлүүдө…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобилдик тармак"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Телефон номери"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM карта энбелгиси жана түсү"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Тармакты иштетүү"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Байланыш оператору которуштурулууда"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> иштеп жатат"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM картаңыз иштетилди"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM-картанын параметрлерин жаңыртуу үчүн таптап коюңуз"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> байланыш операторуна которулду"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Башка байланыш операторуна которулду"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мобилдик тармак өзгөрдү"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Башка SIM картаны жөндөп алыңыз"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Жигердүү SIM картаны тандаңыз же бир убакта 2 SIM картаны тең колдонуңуз"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Колдонула турган санды тандаңыз"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Бул түзмөктө 1 номер бар жана бир убакта бир гана номерди колдоно аласыз}=2{Бул түзмөктө 2 номер бар, бирок бир убакта бир гана номерди колдоно аласыз}other{Бул түзмөктө # номер бар, бирок бир убакта бир гана номерди колдоно аласыз}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Жандырылууда<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Азыр жаңырган жок"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Колдонуу үчүн SIM картаны тандаңыз"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Бул түзмөктө 1 SIM карта бар жана бир убакта бир гана номерди колдоно аласыз}=2{Бул түзмөктө 2 SIM карта бар жана бир убакта бир гана номерди колдоно аласыз}other{Бул түзмөктө # SIM карта бар жана бир убакта бир гана номерди колдоно аласыз}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Күйгүзүлүүдө<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Бул SIM карта иштетилген жок"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> колдонулсунбу?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Мобилдик Интернет, чалуулар жана SMS билдирүүлөрү <xliff:g id="CARRIER_NAME">%1$s</xliff:g> аркылуу аткарылып, жөнөтүлөт."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Колдонулуп жаткан SIM карта жок"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Мобилдик Интернетти, чалуу жана SMS функцияларын кийинчерээк колдонуу үчүн байланыш операторуңуздун параметрлерине өтүңүз"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM карта"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"eSIM картаны өчүрөсүзбү?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Бул SIM картадагы маалыматты тазаласаңыз, түзмөктү <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> байланыш оператору тейлебей калат.\n\nБирок <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> байланыш операторунун тарифтик планы мурунку бойдон эле калат."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Ушуну менен <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> кызматы түзмөгүңүздөн өчүрүлүп, бирок <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> тарифтик планы токтотулбайт."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Тазалоо"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM карта тазаланууда…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM карта тазаланбай жатат"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Ката кетти.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM-карта тазаланууда…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM-карта тазаланган жок"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Бир жерден ката кетип, бул eSIM-карта өчүрүлгөн жок.\n\nТүзмөгүңүздү өчүрүп күйгүзүп, кайталап көрүңүз."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Түзмөккө туташуу"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> түзмөгүңүзгө убактылуу Wi‑Fi тармагы аркылуу туташканы жатат"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Түзмөктөр табылган жок. Түзмөктөр күйгүзүлүп, байланышууга даяр экенин текшериңиз."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Шашылыш чалуулар"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Операторуңузда кырсыктаганда Wi‑Fi аркылуу чалуу мүмкүнчүлүгү каралган эмес.\nКырсыктаганда жардамга келчү кызматтарга чалганыңызда, түзмөгүңүз автоматтык түрдө мобилдик тармакка которулат.\nМындай кырдаалдарда мобилдик тармак кармаган аймактарда гана чала аласыз."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Чалуунун сапатын жогорулатуу үчүн Wi‑Fi тармагына туташыңыз"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Кошумча чалуу ыкмасы"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Эгер <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> жеткиликсиз же роумингде болсо, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> чалуулары үчүн SIM-картанын мобилдик Интернетин колдонуңуз."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"кошумча чалуу ыкмасы"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Кирүүчү MMS билдирүү"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS билдирүү жөнөтүлгөн жок"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Мобилдик Интернет өчүп турса да, <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> операторунан MMS билдирүүлөрдү алып туруу үчүн басып коюңуз"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Уюмдун эрежелери тууралуу маалымат"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"IT администраторуңуз тууралаган параметрлер"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16К барак өлчөмү менен күйгүзүү"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16К барак өлчөмүн колдоого алган ядролуу кубаттоо түзмөгү"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16КБ барак өлчөмүнө шайкеш келген ядро менен өчүрүлүп-күйгүзүлсүнбү?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ЭСКЕРТҮҮ: Айрым колдонмолор бул режимге шайкеш келбеши мүмкүн. Ырастоодон кийин түзмөк өчүрүлүп-күйгүзүлөт."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 КБ барак өлчөмүнө шайкеш келген ядро менен өчүрүлүп-күйгүзүлсүнбү?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Ырастоодон кийин түзмөк өчүрүлүп-күйгүзүлөт."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ядро 16КБ баракка шайкеш келген ядрого жаңыртылган жок."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Өзгөртүү киргизилүүдө"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Мүчүлүштүк тууралуу кабар берүүнү иштеткич"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Түзмөгүңүздөгү Мүчүлүштүк тууралуу кабарлоо ыкчам баскычын кайсы колдонмо иштетерин аныктайт."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Жеке"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Башка колдонмолордун үстүнөн көрүнгөн колдонмолорго Параметрлер экрандарынын үстүнөн да көрүнүүгө уруксат берилет"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem\'ге уруксат берүү"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Аспаптарды сыноо үчүн бул түзмөккө Mock Modem кызматын иштетүүгө уруксат бериңиз. Телефон кадимкидей колдонулуп жатканда муну иштетпеңиз"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Экран бөлүшүүдөн коргоону өчүрүү"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Экранды бөлүшүп жатканда тутумдун колдонмолорунан жана билдирмелерден коргоону өчүрөт"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Медиа"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Медиа ойноткучту кадап коюу"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Угуп жаткан нерсени оңой улантып кетүү үчүн медиа ойноткуч Ыкчам жөндөөлөрдө ачылып турат"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Медианы кулпуланган экранда көрсөтүү"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Угуп жаткан нерсени оңой улантып кетүү үчүн медиа ойноткуч кулпуланган экранда ачылып турат"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Медиа сунуштарын көрсөтүү"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Жардамчынын медиа боюнча сунуштарын көрсөтүү"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Аракеттериңиздин негизинде"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ойноткучту жашыруу"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Ойноткучту көрсөтүү"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"медиа"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Камеранын программаларынын кеңейтүүлөрүн колдонууга уруксат берүү"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Камеранын өркүндөтүлгөн функцияларын, мисалы, экранды карабай жаздыруу мүмкүнчүлүгүн берген функцияны ишке киргизүүчү демейки программаны иштетет."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth күйгүзүлөт"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM карталар"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM-карта"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM-карта"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-карталар"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Иштеп жатат"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Өчүрүлгөн"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Күйүк"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Өчүк"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> үчүн демейки конфигурация"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"чалуулар"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Шайкеш түзмөктөрдөн чыккан үн таасирдүү угулат"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Баштын кыймылына көз салуу"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Үн табигый угулушу үчүн башыңызды кыймылдатканыңызда аудио өзгөрөт"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Уруксаттарды шайкештирүү"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> түзмөгүндө <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> түзмөгүндөгү колдонмонун уруксаттарын иштетиңиз"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Телефондогу уруксаттарды иштетиңиз"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Саатыңызда ушул телефондогу колдонмонун уруксаттарын иштетиңиз"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Аудио түзмөктүн түрү"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Белгисиз"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Динамик"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Орточо"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Жогору"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Бул колдонмону 1 терезеде гана ачууга болот"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Күйүк"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Өчүк"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Өчүк"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Өчүк"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Күйүк"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Өчүк"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Күйүк"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Өчүк"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Ачык түстөрдү күңүрт кылып, күңүрт түстөрдү ачык кылат"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Экранды чоңойтуу"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Өчүк"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Өчүк"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Алдамчы колдонмолор изделүүдө"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Колдонмолордо жасалган аракеттерде фишингди текшерүү"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Алдамчы колдонмолорду издөө"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Алдамчы жумуш колдонмолорун издөө"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Сырсөз коюлду"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Үстүнө алып келгенде курсорду көрсөтүү"</string>
 </resources>
diff --git a/res/values-land/dimens.xml b/res/values-land/dimens.xml
index 7a4e1d5..6421e3e 100644
--- a/res/values-land/dimens.xml
+++ b/res/values-land/dimens.xml
@@ -20,4 +20,14 @@
     <dimen name="biometric_auth_pattern_view_max_size">348dp</dimen>
 
     <dimen name="notif_channel_panel_max_height">300dp</dimen>
+
+    <!-- Text Reading Settings -->
+    <dimen name="text_reading_preview_layout_padding_horizontal_min">64dp</dimen>
+    <dimen name="text_reading_preview_background_padding_horizontal_min">72dp</dimen>
+
+    <dimen name="text_reading_preview_layout_padding_horizontal_min_suw">24dp</dimen>
+    <dimen name="text_reading_preview_background_padding_horizontal_min_suw">24dp</dimen>
+
+    <!-- Keyboard -->
+    <dimen name="keyboard_picker_margin">106dp</dimen>
 </resources>
diff --git a/res/values-lo/arrays.xml b/res/values-lo/arrays.xml
index a1b07b9..09f0bb1 100644
--- a/res/values-lo/arrays.xml
+++ b/res/values-lo/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ສາມາດໃຊ້ໄດ້"</item>
     <item msgid="6096962300722555553">"ຢູ່ນອກໄລຍະສັນຍານ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"ປິດການນຳໃຊ້ແລ້ວ"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast ແລະ ປະກາດ"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ໃຊ້ຄ່າເລີ່ມຕົ້ນຂອງລະບົບ: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"ຫຼັງຈາກ 1 ນາທີ"</item>
     <item msgid="1574040255478150028">"ຫຼັງຈາກ 5 ນາທີ"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-lo/strings.xml b/res/values-lo/strings.xml
index b1dc9bc..a074be8 100644
--- a/res/values-lo/strings.xml
+++ b/res/values-lo/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ຕອນນີ້ທ່ານເປັນນັກພັດທະນາແລ້ວ!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"ບໍ່ຈຳເປັນ, ທ່ານເປັນນັກພັດທະນາຢູ່ແລ້ວ."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ກະລຸນາເປີດໃຊ້ຕົວເລືອກນັກພັດທະນາກ່ອນ."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"ມີພຽງຜູ້ໃຊ້ຜູ້ເບິ່ງແຍງເທົ່ານັ້ນທີ່ສາມາດເຂົ້າເຖິງການຕັ້ງຄ່ານັກພັດທະນາໄດ້."</string>
     <string name="header_category_system" msgid="1665516346845259058">"ລະບົບ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ກຳລັງໃຫ້ບໍລິການ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ນອກເຂດໃຫ້ບໍລິການ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"ຈໍສະແດງຜົນດ້ານໜ້າຈະເປີດຂຶ້ນເມື່ອທ່ານພັບອຸປະກອນຂອງທ່ານ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ສະເພາະເກມ, ວິດີໂອ ແລະ ອື່ນໆ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"ຈໍສະແດງຜົນດ້ານໜ້າຈະເປີດຂຶ້ນສຳລັບແອັບທີ່ເຮັດໃຫ້ໜ້າຈໍຂອງທ່ານບໍ່ມີການນຳໃຊ້"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ປັດຂຶ້ນເພື່ອສືບຕໍ່"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ພັບໂທລະສັບຂອງທ່ານ ແລ້ວປັດຂຶ້ນຢູ່ຈໍສະແດງຜົນທາງໜ້າເພື່ອສືບຕໍ່ໃຊ້ແອັບ ຫຼື ລໍຖ້າສອງສາມວິນາທີເພື່ອໃຫ້ໜ້າຈໍລັອກ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ບໍ່"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"ຈໍສະແດງຜົນດ້ານໜ້າຈະລັອກເມື່ອທ່ານພັບອຸປະກອນຂອງທ່ານ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ໃຊ້ການໝຸນອັດຕະໂນມັດ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ກ່ຽວຂ້ອງກັນ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ສຽງຣິງໂທນ ແລະ ການປຸກ"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ສຽງໃນລະຫວ່າງການໂທ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"ສື່"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"ສຽງການແຈ້ງເຕືອນ ແລະ ລະບົບອື່ນໆ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"ສຽງມີເດຍ ແລະ ລະບົບ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"ການແຈ້ງເຕືອນ"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ຕາມຄ່າເລີ່ມຕົ້ນ, ເອົ້າພຸດສຽງຈະກຳນົດຕາມແຕ່ລະແອັບ"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"ອຸປະກອນ Bluetooth ທີ່ບໍ່ມີຊື່"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"ກຳລັງຊອກຫາ..."</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ຍົກເລີກ"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ປິດການນຳໃຊ້ສຽງ Bluetooth LE"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ປິດການນຳໃຊ້ຄຸນສົມບັດສຽງ Bluetooth LE ຫາກອຸປະກອນຮອງຮັບຄວາມສາມາດຂອງຮາດແວສຽງ LE."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ໂໝດສຽງ Bluetooth LE"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ສະແດງການສະຫຼັບສຽງ LE ໃນລາຍລະອຽດອຸປະກອນ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ເປີດການນຳໃຊ້ລາຍຊື່ອະນຸຍາດສຽງ Bluetooth LE"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ເປີດການນຳໃຊ້ຄຸນສົມບັດລາຍຊື່ອະນຸຍາດສຽງ Bluetooth LE."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ຂ້າມລາຍຊື່ອະນຸຍາດສຽງ Bluetooth LE"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ໃຊ້ສຽງ LE ໂດຍຄ່າເລີ່ມຕົ້ນເຖິງວ່າອຸປະກອນຕໍ່ພ່ວງສຽງ LE ຈະບໍ່ໄດ້ຮັບການຢັ້ງຢືນວ່າເປັນໄປຕາມເກນລາຍຊື່ອະນຸຍາດກໍຕາມ."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"ອຸປະກອນມີເດຍ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ອຸປະກອນໂທ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ອຸປະກອນອື່ນໆ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ອຸປະກອນທີ່ບັນທຶກໄວ້"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ເຊື່ອມໂຍງກັບບັນຊີ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ເຄີຍໃຊ້ກັບບັນຊີແລ້ວ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ຈະເປີດການຈັບຄູ່"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ການຕັ້ງຄ່າການເຊື່ອມຕໍ່"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ເຊື່ອມຕໍ່ກ່ອນໜ້ານີ້"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ເປີດ Bluetooth ແລ້ວ"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ເບິ່ງທັງໝົດ"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ເບິ່ງທັງໝົດ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ປາກກາ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ມີການກົດປຸ່ມຄ້າງ"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ຂຽນໃນຊ່ອງຂໍ້ຄວາມ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ບໍ່ຕ້ອງສົນໃຈການກົດປຸ່ມປາກກາທັງໝົດ"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ປາກກາ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ການແບ່ງປັນສຽງ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ແບ່ງປັນສຽງ"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ການໂທ ແລະ ແຈ້ງປຸກ"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"ເຊື່ອມຕໍ່ກັບການສະຕຣີມສຽງໂດຍໃຊ້ລະຫັດ QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"ບໍ່ພົບການສະຕຣີມສຽງທີ່ຢູ່ໃກ້ຄຽງ."</string>
     <string name="date_and_time" msgid="1788358029823431692">"ວັນ​ທີ ແລະ ເວ​ລາ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ພຣັອກຊີ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ລຶບ"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"ເພີ່ມພາສາ %s ເປັນພາສາທີ່ທ່ານຕ້ອງການບໍ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ການດຳເນີນການນີ້ຈະຊ່ວຍໃຫ້ແອັບ ແລະ ເວັບໄຊຮູ້ວ່າທ່ານຕ້ອງການພາສານີ້ນຳ."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"ການຕັ້ງຄ່າອຸປະກອນຂອງທ່ານ ແລະ ການຕັ້ງຄ່າຕາມພາກພື້ນຈະປ່ຽນແປງ."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ປ່ຽນ"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ບໍ່ມີໃຫ້ໃຊ້"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ວັນເສົາ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ຫາກແອັບບໍ່ຮອງຮັບການຕັ້ງຄ່າຕາມພາກພື້ນ, ແອັບກໍຈະໃຊ້ການຕັ້ງຄ່າພາສາເລີ່ມຕົ້ນ."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການຕັ້ງຄ່າພາສາ."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ການຕັ້ງຄ່າເພີ່ມເຕີມ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ຂໍ້ກຳນົດໃນການເອີ້ນບຸກຄົນ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"ກຳນົດວ່າທ່ານຕ້ອງການໃຫ້ແອັບເອີ້ນທ່ານວ່າແນວໃດ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"ແອັບສາມາດໃຊ້ຂໍ້ກຳນົດໃນການເອີ້ນບຸກຄົນເພື່ອປັບແຕ່ງຄຳທີ່ໃຊ້ເອີ້ນທ່ານ."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"ບໍ່ລະບຸ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ເພດຍິງ"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ເພດຊາຍ"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ເສີຍໆ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ລຶບພາສາທີ່ເລືອກໄວ້ອອກບໍ?}other{ລຶບພາສາທີ່ເລືອກໄວ້ອອກບໍ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ຂໍ້ຄວາມຈະຖືກສະແດງໃນພາສາອື່ນ."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ບໍ່ສາມາດລຶບທຸກພາສາອອກໄດ້"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ສະຖານທີ່"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ໃຊ້ສະຖານທີ່"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ປິດ"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ເປີດ -  # ແອັບມີສິດເຂົ້າເຖິງສະຖານທີ່}other{ເປີດ -  # ແອັບມີສິດເຂົ້າເຖິງສະຖານທີ່}}"</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_location_off" msgid="8568995909147566720">"ການເຂົ້າເຖິງສະຖານທີ່ຖືກປິດໄວ້ສຳລັບແອັບ ແລະ ບໍລິການຕ່າງໆ. ສະຖານທີ່ອຸປະກອນອາດຍັງຄົງຖືກສົ່ງໄປຫາທີມກູ້ໄພເມື່ອທ່ານໂທ ຫຼື ສົ່ງຂໍ້ຄວາມຫາເບີໂທສຸກເສີນ."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການຕັ້ງຄ່າສະຖານທີ່."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການຕັ້ງຄ່າສະຖານທີ່"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ເພື່ອປ່ຽນສິດເຂົ້າເຖິງສະຖານທີ່, ໃຫ້ເຂົ້າໄປການຕັ້ງຄ່າ &gt; ຄວາມປອດໄພ ແລະ ຄວາມເປັນສ່ວນຕົວ &gt; ການຄວບຄຸມຄວາມເປັນສ່ວນຕົວ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ບັນຊີ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ຄວາມ​ປອດ​ໄພ"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ການເຂົ້າລະຫັດ ແລະ ຂໍ້ມູນການເຂົ້າສູ່ລະບົບ"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ເພື່ອໃຫ້ໄດ້ຜົນຮັບທີ່ດີທີ່ສຸດ, ໃຫ້ໃຊ້ຕົວປົກປ້ອງໜ້າຈໍທີ່ໄດ້ຮັບການຮັບຮອງ Made for Google. ດ້ວຍຕົວປົກປ້ອງໜ້າຈໍແບບອື່ນ, ລາຍນິ້ວມືຂອງລູກທ່ານອາດໃຊ້ບໍ່ໄດ້."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ປົດລັອກດ້ວຍໂມງ"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"ເມື່ອທ່ານຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື, ໂທລະສັບຂອງທ່ານຈະຂໍໃຫ້ສະແກນລາຍນິ້ວມືເມື່ອທ່ານໃສ່ໜ້າກາກອະນາໄມ ຫຼື ຢູ່ໃນພື້ນທີ່ມືດ.\n\nທ່ານສາມາດປົດລັອກດ້ວຍໂມງຂອງທ່ານເມື່ອລະບົບບໍ່ສາມາດຈຳແນກໃບໜ້າ ຫຼື ລາຍນິ້ວມືຂອງທ່ານໄດ້."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"ທ່ານສາມາດປົດລັອກດ້ວຍໂມງຂອງທ່ານເມື່ອລະບົບບໍ່ສາມາດຈຳແນກລາຍນິ້ວມືຂອງທ່ານໄດ້."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"ທ່ານສາມາດປົດລັອກດ້ວຍໂມງຂອງທ່ານເມື່ອລະບົບບໍ່ສາມາດຈຳແນກໃບໜ້າຂອງທ່ານໄດ້."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"ເມື່ອທ່ານຕັ້ງຄ່າການປົດລັອກດ້ວຍໜ້າ ແລະ ການປົດລັອກດ້ວຍລາຍນິ້ວມື, ໂທລະສັບຂອງທ່ານຈະຂໍໃຫ້ສະແກນລາຍນິ້ວມືຂອງທ່ານເມື່ອທ່ານໃສ່ໜ້າກາກອະນາໄມ ຫຼື ຢູ່ໃນບ່ອນມືດ.\n\nການປົດລັອກດ້ວຍໂມງເປັນອີກວິທີໜຶ່ງທີ່ສະດວກໃນການປົດລັອກໂທລະສັບຂອງທ່ານ ຕົວຢ່າງ: ເມື່ອນິ້ວຂອງທ່ານປຽກຢູ່ ຫຼື ລະບົບຈື່ໃບໜ້າຂອງທ່ານບໍ່ໄດ້."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ການປົດລັອກດ້ວຍໂມງເປັນອີກວິທີໜຶ່ງທີ່ສະດວກໃນການປົດລັອກໂທລະສັບຂອງທ່ານ ຕົວຢ່າງ: ເມື່ອລະບົບຈື່ລາຍນິ້ວມືຂອງທ່ານບໍ່ໄດ້."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ການປົດລັອກດ້ວຍໂມງເປັນອີກວິທີໜຶ່ງທີ່ສະດວກໃນການປົດລັອກໂທລະສັບຂອງທ່ານ ຕົວຢ່າງ: ເມື່ອລະບົບຈື່ໃບໜ້າຂອງທ່ານບໍ່ໄດ້."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ໃຊ້ລາຍນິ້ວມື ຫຼື ໂມງເພື່ອ"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ນຳໃຊ້ໃບໜ້າ ຫຼື ໂມງເພື່ອ"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ນຳໃຊ້ໃບໜ້າ, ລາຍນິ້ວມື ຫຼື ໂມງເພື່ອ"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ການປົດລັອກດ້ວຍໂມງແມ່ນອີກວິທີໜຶ່ງທີ່ສະດວກໃນການປົດລັອກໂທລະສັບເຄື່ອງນີ້ ຕົວຢ່າງ: ເມື່ອນິ້ວຂອງທ່ານປຽກຢູ່ ຫຼື ລະບົບຈື່ໃບໜ້າຂອງທ່ານບໍ່ໄດ້.\n\nທ່ານສາມາດໃຊ້ໂມງຂອງທ່ານເພື່ອປົດລັອກໂທລະສັບເຄື່ອງນີ້ໄດ້ເມື່ອທ່ານ:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ບໍ່ຟ້າວເທື່ອ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ສືບຕໍ່"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ເພີ່ມເຕີມ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"ມັນເຮັດວຽກແນວໃດ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"ຕ້ອງປົດລັອກໂມງຂອງທ່ານໄວ້, ໃສ່ຢູ່ຂໍ້ມືຂອງທ່ານ ແລະ ຢູ່ໃນໄລຍະສັນຍານຂອງໂທລະສັບເຄື່ອງນີ້. ທ່ານບໍ່ຈຳເປັນຕ້ອງປົດລັອກໂມງຂອງທ່ານອີກເທື່ອໜຶ່ງໃນລະຫວ່າງທີ່ໃສ່ຢູ່ຂໍ້ມືຂອງທ່ານ."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ເມື່ອປົດລັອກໂທລະສັບນີ້ແລ້ວ, ທ່ານຈະໄດ້ຮັບການແຈ້ງເຕືອນຢູ່ໂມງຂອງທ່ານ. ຫາກເປັນການປົດລັອກເມື່ອທ່ານບໍ່ໄດ້ຕັ້ງໃຈ, ໃຫ້ແຕະການແຈ້ງເຕືອນເພື່ອລັອກໂທລະສັບອີກເທື່ອໜຶ່ງ."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ທ່ານຄວບຄຸມໄດ້"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ທ່ານສາມາດລຶບໂມງຂອງທ່ານອອກຈາກການປົດລັອກດ້ວຍໂມງຕອນໃດກໍໄດ້ໃນການຕັ້ງຄ່າ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"ແຕະການແຈ້ງເຕືອນ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ປັດຂຶ້ນຢູ່ໜ້າຈໍລັອກ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ເລືອກໂມງຂອງທ່ານ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ໂມງທີ່ສາມາດໃຊ້ໄດ້"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ຍົກເລີກ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"ຢືນຢັນ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ທ່ານພ້ອມແລ້ວ!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ຕອນນີ້ທ່ານສາມາດໃຊ້ໂມງຂອງທ່ານເພື່ອປົດລັອກໂທລະສັບເຄື່ອງນີ້ ເມື່ອທ່ານປັດຂຶ້ນຢູ່ໜ້າຈໍລັອກ ຫຼື ແຕະການແຈ້ງເຕືອນໄດ້ແລ້ວ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ແລ້ວໆ"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ປົດລັອກດ້ວຍໂມງ"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ທ່ານສາມາດໃຊ້ໂມງຂອງທ່ານເພື່ອປົດລັອກໂທລະສັບເຄື່ອງນີ້ ເມື່ອທ່ານປັດຂຶ້ນຢູ່ໜ້າຈໍລັອກ ຫຼື ແຕະການແຈ້ງເຕືອນ"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ເພື່ອໃຊ້ການປົດລັອກດ້ວຍໂມງ, ຕ້ອງປົດລັອກໂມງຂອງທ່ານໄວ້, ໃສ່ຢູ່ຂໍ້ມືຂອງທ່ານ, ຢູ່ໃນໄລຍະສັນຍານ ແລະ ເຊື່ອມຕໍ່ກັບໂທລະສັບເຄື່ອງນີ້. ຫາກການເຊື່ອມຕໍ່ຖືກຂັດຈັງຫວະ, ທ່ານຈະຕ້ອງປົດລັອກໂທລະສັບກ່ອນທີ່ທ່ານຈະສາມາດໃຊ້ການປົດລັອກດ້ວຍໂມງໄດ້.\n\nຈົງຈື່ໄວ້ວ່າ:\nທ່ານສາມາດຕັ້ງຄ່າໂມງໄດ້ເທື່ອລະໜ່ວຍເທົ່ານັ້ນ. ເພື່ອເພີ່ມໂມງອື່ນ, ໃຫ້ລຶບໂມງປັດຈຸບັນອອກກ່ອນ."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ການປົດລັອກດ້ວຍໜ້າ ແລະ ລາຍນິ້ວມືສຳລັບການເຮັດວຽກ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ຕ້ອງຕັ້ງຄ່າ"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ຄວາມປອດໄພ"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ຄວາມເປັນສ່ວນຕົວ"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ລັອກ ແລະ ເຊື່ອງແອັບສ່ວນຕົວໄວ້"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ຮັກສາແອັບສ່ວນຕົວໄວ້ໃນພື້ນທີ່ແຍກຕ່າງຫາກເຊິ່ງທ່ານສາມາດເຊື່ອງ ຫຼື ລັອກໄດ້"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ການລັອກພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"ທ່ານສາມາດປົດລັອກພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານໄດ້ໂດຍໃຊ້ວິທີດຽວກັນກັບທີ່ທ່ານປົດລັອກອຸປະກອນຂອງທ່ານ ຫຼື ເລືອກການລັອກອື່ນ"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ໃຊ້ການລັອກໜ້າຈໍອຸປະກອນ"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ປົດລັອກດ້ວຍໃບໜ້າ ແລະ ລາຍນິ້ວມື"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ປົດລັອກດ້ວຍລາຍນິ້ວມື"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ປົດລັອກດ້ວຍໜ້າ"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ແຕະເພື່ອຕັ້ງຄ່າ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ການປົດລັອກດ້ວຍລາຍນິ້ວມືສຳລັບພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ການປົດລັອກດ້ວຍໜ້າສຳລັບພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"ວິທີປົດລັອກ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ຄືກັນກັບການລັອກໜ້າຈໍອຸປະກອນ"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ເລືອກການລັອກໃໝ່ສຳລັບພື້ນທີ່ສ່ວນບຸກຄົນບໍ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ລັອກພື້ນທີ່ສ່ວນບຸກຄົນໂດຍອັດຕະໂນມັດ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"ທ່ານສາມາດລັອກພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານໄດ້ໂດຍອັດຕະໂນມັດຫາກທ່ານບໍ່ໄດ້ໃຊ້ອຸປະກອນຂອງທ່ານເປັນໄລຍະເວລາໜຶ່ງ"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ທຸກເທື່ອທີ່ອຸປະກອນລັອກ"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"ຫຼັງຈາກບໍ່ມີການນຳໃຊ້ເປັນເວລາ 5 ນາທີ"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ບໍ່"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ເຊື່ອງເມື່ອລັອກໄວ້"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ເຊື່ອງພື້ນທີ່ສ່ວນບຸກຄົນເມື່ອລັອກໄວ້"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ເພື່ອບໍ່ໃຫ້ຄົນອື່ນຮູ້ວ່າທ່ານມີພື້ນທີ່ສ່ວນບຸກຄົນຢູ່ອຸປະກອນຂອງທ່ານ, ທ່ານສາມາດເຊື່ອງມັນຈາກລາຍຊື່ແອັບຂອງທ່ານໄດ້"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"ເຂົ້າເຖິງພື້ນທີ່ສ່ວນບຸກຄົນເມື່ອເຊື່ອງໄວ້"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ຈາກຂໍ້ມູນແອັບຂອງທ່ານ, ໃຫ້ພິມ \"ພື້ນທີ່ສ່ວນບຸກຄົນ\" ໃນແຖບຊອກຫາ"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ແຕະແຜ່ນພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ປົດລັອກພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານ"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ປິດຢູ່"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ເປີດຢູ່"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ລະບົບ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ລຶບພື້ນທີ່ສ່ວນບຸກຄົນ"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ລຶບພື້ນທີ່ສ່ວນບຸກຄົນບໍ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານຈະຖືກລຶບອອກຈາກອຸປະກອນຂອງທ່ານ. ແອັບ ແລະ ຂໍ້ມູນສ່ວນຕົວທັງໝົດຈະຖືກລຶບ. ໂດຍທ່ານຈະບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ບັນຊີຕໍ່ໄປນີ້ຈະຖືກລຶບອອກຈາກພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານ:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ລຶບ"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ກຳລັງລຶບພື້ນທີ່ສ່ວນບຸກຄົນ…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ຂັ້ນຕອນນີ້ຈະໃຊ້ເວລາໄລຍະໜຶ່ງ"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ລຶບພື້ນທີ່ສ່ວນບຸກຄົນແລ້ວ"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ບໍ່ສາມາດລຶບພື້ນທີ່ສ່ວນບຸກຄົນໄດ້"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ປົດລັອກພື້ນທີ່ສ່ວນບຸກຄົນແລ້ວ"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ຕັ້ງການລັອກໜ້າຈໍ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ເພື່ອໃຊ້ພື້ນທີ່ສ່ວນຕົວ, ໃຫ້ຕັ້ງຄ່າການລັອກໜ້າຈໍຢູ່ອຸປະກອນນີ້"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ຕັ້ງການລັອກໜ້າຈໍ"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ຍົກເລີກ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ຍົກເລີກ"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ຕັ້ງຄ່າ"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ຮັກສາແອັບສ່ວນຕົວໄວ້ໃນພື້ນທີ່ແຍກຕ່າງຫາກເຊິ່ງທ່ານສາມາດເຊື່ອງ ຫຼື ລັອກໄດ້"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ມັນເຮັດວຽກແນວໃດ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ທ່ານສາມາດເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວຂອງທ່ານໄດ້ຈາກລຸ່ມສຸດຂອງລາຍຊື່ແອັບຂອງທ່ານ"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ແອັບໃນພື້ນທີ່ສ່ວນຕົວຂອງທ່ານໄດ້ຮັບການປົກປ້ອງໂດຍການລັອກ"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ການແຈ້ງເຕືອນຈາກແອັບໃນພື້ນທີ່ສ່ວນຕົວຂອງທ່ານຈະຖືກເຊື່ອງເມື່ອລັອກໄວ້"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"ແອັບໃນພື້ນທີ່ສ່ວນຕົວຂອງທ່ານຈະບໍ່ປາກົດໃນຕົວຈັດການສິດອະນຸຍາດ, ແຜງໜ້າປັດຄວາມເປັນສ່ວນຕົວ ແລະ ການຕັ້ງຄ່າອື່ນໆເມື່ອລັອກພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ.\n\nລະບົບບໍ່ສາມາດຍ້າຍພື້ນທີ່ສ່ວນຕົວຂອງທ່ານໄປຫາອຸປະກອນໃໝ່ໄດ້. ທ່ານຈະຕ້ອງຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວໃໝ່ຫາກທ່ານຕ້ອງການໃຊ້ຢູ່ອຸປະກອນອື່ນ.\n\nໃຜກໍຕາມທີ່ເຊື່ອມຕໍ່ອຸປະກອນຂອງທ່ານກັບຄອມພິວເຕີ ຫຼື ຕິດຕັ້ງແອັບທີ່ເປັນອັນຕະລາຍໃນອຸປະກອນຂອງທ່ານອາດສາມາດເຂົ້າເຖິງພື້ນທີ່ສ່ວນຕົວຂອງທ່ານໄດ້."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ກຳລັງຕັ້ງຄ່າພື້ນທີ່ສ່ວນຕົວ…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ການແຈ້ງເຕືອນຈາກແອັບພື້ນທີ່ສ່ວນບຸກຄົນຈະຖືກເຊື່ອງໄວ້ເມື່ອລັອກໄວ້"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ປົດລັອກພື້ນທີ່ສ່ວນບຸກຄົນເພື່ອແບ່ງປັນຮູບພາບ ຫຼື ໄຟລ໌"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ບາງແອັບໄດ້ຖືກຕິດຕັ້ງໃນພື້ນທີ່ສ່ວນຕົວຂອງທ່ານແລ້ວ"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ບໍ່ສາມາດຕັ້ງຄ່າພື້ນທີ່ສ່ວນບຸກຄົນໄດ້"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ລອງໃໝ່"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ໃຊ້ການລັອກໜ້າຈໍເພື່ອປົດລັອກພື້ນທີ່ສ່ວນຕົວບໍ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"ທ່ານສາມາດປົດລັອກພື້ນທີ່ສ່ວນຕົວຂອງທ່ານໄດ້ໂດຍໃຊ້ວິທີດຽວກັນກັບທີ່ທ່ານປົດລັອກອຸປະກອນຂອງທ່ານ ຫຼື ເລືອກການລັອກອື່ນ"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ໃຊ້ການລັອກໜ້າຈໍ"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"ເລືອກການລັອກໃໝ່"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"ຮຽບຮ້ອຍໝົດແລ້ວ!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"ເພື່ອຊອກຫາພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານ, ໃຫ້ເຂົ້າໄປລາຍຊື່ແອັບຂອງທ່ານແລ້ວເລື່ອນລົງລຸ່ມ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ແລ້ວໆ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ເລື່ອນລົງເພື່ອຊອກຫາພື້ນທີ່ສ່ວນຕົວ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ເຂົ້າສູ່ລະບົບ"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ເຂົ້າສູ່ລະບົບບັນຊີເພື່ອໃຊ້ພື້ນທີ່ສ່ວນບຸກຄົນຂອງທ່ານ"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ບໍ່ຟ້າວເທື່ອ"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ສືບຕໍ່"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ເລືອກການລັອກສຳລັບພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"ທ່ານສາມາດປົດລັອກພື້ນທີ່ສ່ວນຕົວຂອງທ່ານໄດ້ໂດຍການໃຊ້ລາຍນິ້ວມືຂອງທ່ານ. ເພື່ອຄວາມປອດໄພ, ຕົວເລືອກນີ້ຕ້ອງໃຊ້ການລັອກຂໍ້ມູນສຳຮອງ."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ຕັ້ງຄ່າ PIN ສຳລັບພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ຕັ້ງລະຫັດຜ່ານສຳລັບພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ຕັ້ງຄ່າຮູບແບບສຳລັບພື້ນທີ່ສ່ວນຕົວຂອງທ່ານ"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"ທ່ານ​ສາ​ມາດ​ເພີ່ມ​ບໍ່ເກີນ <xliff:g id="COUNT">%d</xliff:g> ລາຍ​ນີ້ວ​ມື​"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"You’ve added the maximum number of fingerprints"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Can’t add more fingerprints"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ຮູບແບບປົດລັອກ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"ລະຫັດຜ່ານ"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"ລຶບການລັອກໜ້າຈໍບໍ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ລຶບການປົດລັອກອຸປະກອນທຸກປະເພດອອກບໍ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ເອົາການປົກປ້ອງໂປຣໄຟລ໌ອອກບໍ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"ຮູບແບບຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"ຮູບແບບຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>ນີ້ຈະເປັນການລຶບຮູບແບບລາຍນິ້ວມືທີ່ຈັດເກັບໄວ້ຢູ່ອຸປະກອນຂອງທ່ານອອກ. ຮູບແບບໃບໜ້າຂອງທ່ານຈະຖືກລຶບອອກຢ່າງປອດໄພ ແລະ ຖາວອນນຳ. ທ່ານຈະບໍ່ສາມາດໃຊ້ໜ້າ ຫຼື ລາຍນິ້ວມືຂອງທ່ານສຳລັບການພິສູດຢືນຢັນໃນແອັບໄດ້."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN ຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"ທ່ານຈະສູນເສຍຂໍ້ມູນທີ່ບັນທຶກໄວ້ ເຊັ່ນ: PIN ຂອງທ່ານ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ບັດທີ່ຕັ້ງຄ່າໄວ້ສຳລັບການຈ່າຍເງິນແບບບໍ່ສຳຜັດຈະຖືກລຶບອອກ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ແລະ ແອັບອື່ນໆທີ່ຕ້ອງໃຊ້ການປົດລັອກອຸປະກອນອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN ຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ນີ້ຈະເປັນການລຶບຮູບແບບລາຍນິ້ວມືທີ່ຈັດເກັບໄວ້ຢູ່ອຸປະກອນຂອງທ່ານອອກນຳ. ທ່ານຈະບໍ່ສາມາດໃຊ້ລາຍນິ້ວມືຂອງທ່ານສຳລັບການພິສູດຢືນຢັນໃນແອັບໄດ້."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"ທ່ານຈະສູນເສຍຂໍ້ມູນທີ່ບັນທຶກໄວ້ ເຊັ່ນ: PIN ແລະ ຮູບແບບລາຍນິ້ວມືຂອງທ່ານ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ບັດທີ່ຕັ້ງຄ່າໄວ້ສຳລັບການຈ່າຍເງິນແບບບໍ່ສຳຜັດຈະຖືກລຶບອອກ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ແລະ ແອັບອື່ນໆທີ່ຕ້ອງໃຊ້ການປົດລັອກອຸປະກອນອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN ຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ຮູບແບບໃບໜ້າຂອງທ່ານຈະຖືກລຶບອອກຢ່າງປອດໄພ ແລະ ຖາວອນນຳ. ທ່ານຈະບໍ່ສາມາດໃຊ້ໜ້າຂອງທ່ານສຳລັບການພິສູດຢືນຢັນໃນແອັບໄດ້."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"ທ່ານຈະສູນເສຍຂໍ້ມູນທີ່ບັນທຶກໄວ້ ເຊັ່ນ: PIN ແລະ ຮູບແບບໃບໜ້າຂອງທ່ານ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ບັດທີ່ຕັ້ງຄ່າໄວ້ສຳລັບການຈ່າຍເງິນແບບບໍ່ສຳຜັດຈະຖືກລຶບອອກ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ແລະ ແອັບອື່ນໆທີ່ຕ້ອງໃຊ້ການປົດລັອກອຸປະກອນອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN ຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ນີ້ຈະເປັນການລຶບຮູບແບບລາຍນິ້ວມືທີ່ຈັດເກັບໄວ້ຢູ່ອຸປະກອນຂອງທ່ານອອກ. ຮູບແບບໃບໜ້າຂອງທ່ານຈະຖືກລຶບອອກຢ່າງປອດໄພ ແລະ ຖາວອນນຳ. ທ່ານຈະບໍ່ສາມາດໃຊ້ໜ້າ ຫຼື ລາຍນິ້ວມືຂອງທ່ານສຳລັບການພິສູດຢືນຢັນໃນແອັບໄດ້."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"ທ່ານຈະສູນເສຍຂໍ້ມູນທີ່ບັນທຶກໄວ້ ເຊັ່ນ: PIN, ຮູບແບບໃບໜ້າ ແລະ ລາຍນິ້ວມືຂອງທ່ານ.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ບັດທີ່ຕັ້ງຄ່າໄວ້ສຳລັບການຈ່າຍເງິນແບບບໍ່ສຳຜັດຈະຖືກລຶບອອກ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ແລະ ແອັບອື່ນໆທີ່ຕ້ອງໃຊ້ການປົດລັອກອຸປະກອນອາດເຮັດວຽກບໍ່ຖືກຕ້ອງ."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"ລະຫັດຜ່ານຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"ລະຫັດຜ່ານຈະປົກປ້ອງໂທລະສັບຂອງທ່ານຫາກທ່ານເຮັດເສຍ ຫຼື ຖືກລັກ.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"ຈັບ​ຄູ່​ກັບ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ບໍ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"ເພີ່ມສະມາຊິກໃໝ່ໄປໃສ່ຊຸດເຮັດວຽກຮ່ວມກັນທີ່ມີຢູ່ແລ້ວ"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ຢືນຢັນການເພີ່ມເຄື່ອງສຽງເຄື່ອງທີ 2 ຂອງທ່ານ"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ລະ​ຫັດ​ການ​ຈັບ​ຄູ່ Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"​ພິມ​ລະ​ຫັດ​ຈັບ​ຄູ່​ແລ້ວ​ກົດ Return ຫຼື Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN ມີໂຕອັກສອນ ຫຼືສັນຍາລັກ"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"ຕ້ອງມີ 16 ຕົວເລກ"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ທ່ານອາດຕ້ອງພິມລະຫັດ PIN ນີ້ໃສ່ອຸປະກອນອື່ນນຳ."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ທ່ານອາດຕ້ອງພິມ passkey ນີ້ໃນອຸປະກອນອື່ນນຳ"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ຢືນຢັນເພື່ອຈັບຄູ່ກັບຊຸດທີ່ປະສານກັນ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ຢືນຢັນການຈັບຄູ່ກັບເຄື່ອງສຽງ"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ປະຫວັດການໂທຂອງທ່ານ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ປະຫວັດການໂທນຳ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ຂໍ້ມູນຈະຖືກໃຊ້ສຳລັບປະກາດການໂທ ແລະ ອື່ນໆ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"ບໍ່ສາມາດເຊື່ອມຕໍ່ຫາ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ໄດ້."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ອຸປະກອນທີ່ສາມາດໃຊ້ໄດ້"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ເຊື່ອມຕໍ່"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ຕັດການເຊື່ອມຕໍ່"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ຈັບຄູ່ ແລະ ເຊື່ອມຕໍ່"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ເມື່ອ Bluetooth ຖືກ​ເປີດ​ນຳ​ໃຊ້, ອຸ​ປະ​ກອນ​ຂອງ​ທ່ານ​ຈະ​ສາ​ມາດ​ສື່​ສານ​ກັບ​ອຸ​ປະ​ກອນ Bluetooth ອື່ນ​ທີ່​ຢູ່​ໃກ້​ຄຽງ​ໄດ້."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ເມື່ອເປີດ Bluetooth, ອຸປະກອນຂອງທ່ານສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ອື່ນໆທີ່ຢູ່ໃກ້ຄຽງໄດ້."</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ເມື່ອເປີດໃຊ້ Bluetooth ແລ້ວ, ອຸປະກອນຂອງທ່ານຈະສາມາດສື່ສານກັບອຸປະກອນ Bluetooth ອື່ນທີ່ຢູ່ໃກ້ຄຽງໄດ້.\n\nເພື່ອປັບປຸງປະສົບການການນຳໃຊ້ອຸປະກອນ, ແອັບ ແລະ ບໍລິການຕ່າງໆຈະຍັງສາມາດສະແກນຫາອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງໄດ້ທຸກເວລາ, ເຖິງແມ່ນວ່າຈະປິດ Bluetooth ໄວ້ກໍຕາມ. ການຕັ້ງຄ່ານີ້ໃຊ້ເພື່ອເຮັດສິ່ງຕ່າງໆ ຕົວຢ່າງ: ໃຊ້ເພື່ອປັບປຸງຄຸນສົມບັດ ແລະ ບໍລິການທີ່ອ້າງອີງສະຖານທີ່ໄດ້. ທ່ານສາມາດປ່ຽນຕົວເລືອກນີ້ໄດ້ໃນການຕັ້ງຄ່າການສະແກນ Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ປ່ຽນ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ລາຍລະອຽດອຸປະກອນ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ອະນຸຍາດໃຫ້ ART ຢັ້ງຢືນ bytecode ສຳລັບແອັບທີ່ດີບັກໄດ້"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ສະແດງອັດຕາການຣີເຟຣຊ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ສະແດງອັດຕາການຣີເຟຣຊໜ້າຈໍປັດຈຸບັນ"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"ສະແດງອັດຕາສ່ວນ HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ສະແດງອັດຕາສ່ວນ HDR/SDR ປັດຈຸບັນ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"ຕ້ອງປົດລັອກອຸປະກອນສຳລັບ NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ໃນໂໝດການໃຊ້ເທິງຍົນ"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ແຈ້ງເຕືອນສຳລັບເຄືອຂ່າຍສາທາລະນະ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ແຈ້ງເຕືອນເມື່ອມີເຄືອຂ່າຍສາທາລະນະຄຸນນະພາບສູງໃຫ້ໃຊ້"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"ອະນຸຍາດເຄືອຂ່າຍ WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ແມ່ນໂປຣໂຕຄໍຄວາມປອດໄພຮຸ່ນເກົ່າທີ່ປອດໄພໜ້ອຍກວ່າ"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານບໍ່ອະນຸຍາດເຄືອຂ່າຍ WEP ເພາະວ່າພວກມັນປອດໄພໜ້ອຍກວ່າ"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"ເປີດໃຊ້ Wi‑Fi ອັດຕະໂນມັດ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi ຈະກັບມາເປີດໃຊ້ຫາກຢູ່ໃກ້ເຄືອຂ່າຍຄຸນນະພາບສູງທີ່ບັນທຶກໄວ້ ເຊັ່ນ: ເຄືອຂ່າຍເຮືອນ"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ບໍ່ສາມາດໃຊ້ໄດ້ເນື່ອງຈາກສະຖານທີ່ຖືກປິດໄວ້. ເປີດໃຊ້ "<annotation id="link">"ສະຖານທີ່"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ການສະແກນ Wi-Fi ຈະເຮັດໃຫ້ແອັບ ແລະ ບໍລິການຕ່າງໆສາມາດສະແກນຫາເຄືອຂ່າຍ Wi-Fi ໄດ້ທຸກເວລາ, ເຖິງແມ່ນວ່າຈະປິດ Wi-Fi ໄວ້ກໍຕາມ. ຄຸນສົມບັດນີ້ສາມາດໃຊ້ເພື່ອປັບປຸງຄຸນສົມບັດ ແລະ ບໍລິການທີ່ອ້າງອີງສະຖານທີ່ໄດ້."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ເປີດ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ເປີດການສະແກນ Wi‑Fi ແລ້ວ"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ເຄືອຂ່າຍນີ້ໃຊ້ໂປຣໂຕຄໍຄວາມປອດໄພແບບເກົ່າທີ່ປອດໄພໜ້ອຍກວ່າ"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ຖືກບລັອກໄວ້"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ເຄືອຂ່າຍນີ້ໃຊ້ໂປຣໂຕຄໍຄວາມປອດໄພແບບເກົ່າທີ່ເອີ້ນວ່າ WEP, ເຊິ່ງມີຄວາມປອດໄພໜ້ອຍກວ່າ. ເພື່ອເຊື່ອມຕໍ່ຕໍ່ໄປ, ທ່ານສາມາດອະນຸຍາດເຄືອຂ່າຍ WEP ໄດ້."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານບໍ່ອະນຸຍາດໃຫ້ທ່ານເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍນີ້ ເພາະວ່າມັນໃຊ້ໂປຣໂຕຄໍຄວາມປອດໄພແບບເກົ່າທີ່ປອດໄພໜ້ອຍກວ່າ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"ອະນຸຍາດ WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ປິດ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"​ໂຕ​ເລືອກ​ຂັ້ນ​ສູງ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ລາຍຊື່ແບບລົງລຸ່ມຕົວເລືອກຂັ້ນສູງ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ຂະ​ຫຍາຍ"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"ໃຊ້ Wi‑Fi ຕໍ່ໄປ"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ບໍ່ຕ້ອງສະແດງອີກ"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"ເຊື່ອມຕໍ່"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"ເປີດໃຊ້ Wi-Fi ແລ້ວ"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"ເຊື່ອມຕໍ່ຫາ <xliff:g id="NETWORK_NAME">%1$s</xliff:g> ແລ້ວ"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"ກຳລັງເຊື່ອມຕໍ່ຫາ <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"ກຳລັງເຊື່ອມຕໍ່…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ລົ້ມເຫລວໃນການເຊື່ອມຕໍ່ເຄືອຂ່າຍ"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ເຄືອຂ່າຍບໍ່ຢູ່ໃນໄລຍະ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ລືມ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ແກ້ໄຂ"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ລົ້ມເຫລວໃນການລືມເຄືອຂ່າຍ"</string>
     <string name="wifi_save" msgid="2312643132472226807">"ບັນທຶກ"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ລົ້ມເຫລວໃນການບັນທຶກເຄືອຂ່າຍ"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ຍົກເລີກ"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ອິນເຕີເນັດມືຖື"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ອີເທີເນັດ"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ກຳລັງສາກໄຟ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ກຳລັງສາກໄຟ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ການເຊື່ອມຕໍ່ຮັອດສະປອດ"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"ຄວາມແຮງຂອງການເຊື່ອມຕໍ່"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ເຄືອຂ່າຍ​ທີ່​ບັນທຶກ​ໄວ້"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"ບໍ່ໄດ້ຕັ້ງລະຫັດຜ່ານ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ຊື່ຮັອດສະປອດ"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ລະຫັດຜ່ານຮັອດສະປອດ"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"ຄື້ນ AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ປິດຮັອດສະປອດອັດຕະໂນມັດ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ເມື່ອບໍ່ມີອຸປະກອນເຊື່ອມຕໍ່"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"ຂະຫຍາຍຄວາມເຂົ້າກັນໄດ້"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ສະແດງສົມດຸນສີຂາວ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ສືບຕໍ່ໃຊ້ແອັບເມື່ອພັບຢູ່"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ເພີ່ມອັດຕາການຣີເຟຣຊຈາກ 60 ເປັນ <xliff:g id="ID_1">%1$s</xliff:g> Hz ສຳລັບເນື້ອຫາຈຳນວນໜຶ່ງໂດຍອັດຕະໂນມັດ. ຈະໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນ."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ປິດໃຊ້ອັດຕາເຟຣມເລີ່ມຕົ້ນສຳລັບເກມ"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ປິດໃຊ້ການຈຳກັດອັດຕາເຟຣມສູງສຸດສຳລັບເກມທີ່ <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ເພີ່ມອັດຕາການຣີເຟຣຊສູງສຸດເຖິງ <xliff:g id="ID_1">%1$d</xliff:g> Hz ສຳລັບບາງເນື້ອຫາໂດຍອັດຕະໂນມັດ. ຈະໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນ."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ບັງຄັບອັດຕາຣີເຟຣຊສູງສຸດ"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ອັດຕາຣີເຟຣດສູງສຸດເພື່ອປັບປຸງການຕອບສະໜອງການສຳຜັດ ແລະ ຄຸນນະພາບອະນິເມຊັນ. ເພີ່ມການນຳໃຊ້ແບັດເຕີຣີ."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ການເອົາໃຈໃສ່ໜ້າຈໍ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"ການເອົາໃຈໃສ່ໜ້າຈໍຈະໃຊ້ກ້ອງໜ້າເພື່ອເບິ່ງວ່າມີຄົນກຳລັງເບິ່ງໜ້າຈໍຢູ່ບໍ່. ມັນເຮັດວຽກຢູ່ອຸປະກອນ ແລະ ຈະບໍ່ມີການບັນທຶກຮູບພາບ ຫຼື ສົ່ງຮູບໄປໃຫ້ Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"ເປີດໃຊ້ການເອົາໃຈໃສ່ໜ້າຈໍ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ເປີດໜ້າຈໍໄວ້ໃນເວລາເບິ່ງມັນ"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ໄລຍະໝົດເວລາໜ້າຈໍທີ່ດົນຂຶ້ນຈະໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນ."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ກ້ອງຖ່າຍຮູບລັອກຢູ່"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ຕ້ອງປົດລັອກກ້ອງຖ່າຍຮູບເພື່ອໃຊ້ການກວດຫາໃບໜ້າ"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ຈະຕ້ອງປົດລັອກກ້ອງຖ່າຍຮູບເພື່ອໃຊ້ການເອົາໃຈໃສ່ໜ້າຈໍ"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ຊິມຊ່ອງ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ຊິມຊ່ອງ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ຫຼັກ)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"ກະລຸນາເລືອກເຄືອຂ່າຍທີ່ບັນທຶກໄວ້ເພື່ອເບິ່ງ"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"ເວີຊັນ PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ລະດັບແບັດເຕີຣີ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ສ່ວນກາງ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ການຕັ້ງຄ່າສ່ວນກາງ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"ການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ແກ້ໄຂຈຸດການເຊື່ອມຕໍ່"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ເພີ່ມຈຸດເຂົ້າເຖິງ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"ຍັງບໍ່ໄດ້ຕັ້ງ"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ຍັງບໍ່ໄດ້ຕັ້ງ"</string>
     <string name="apn_name" msgid="6677695784108157953">"ຊື່"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ເປີດໃຊ້ແລ້ວ"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN ຖືກປິດໄວ້"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"ປະເພດເຄືອຂ່າຍ"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"ບໍ່ໄດ້ລະບຸ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"ປະເພດ MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"ມູນຄ່າ MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"ລຶບ APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"ບັນທຶກ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ຍົກເລີກ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ລາຍການ APN ຊ້ຳກັນ."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"ແຖບຂໍ້ມູນຊື່ບໍ່ສາມາດປ່ອຍຫວ່າງໄດ້."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ບໍ່ສາມາດປ່ອຍໃຫ້ຫວ່າງໄດ້."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"ຊ່ອງຂໍ້ມູນ MMC ຕ້ອງມີ 3 ໂຕເລກ."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"ແຖບຂໍ້ມູນ MNC ຕ້ອງມີໂຕເລກຢ່າງໜ້ອຍ 2 ຫຼື 3 ໂຕ."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"ຜູ້ໃຫ້ບໍລິການບໍ່ອະນຸຍາດໃຫ້ເພີ່ມ APN ປະເພດ %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"ຊ່ອງ MMSC ຕ້ອງຖືກຕ້ອງ."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ກຳລັງຄືນການຕັ້ງຄ່າ APN ເລີ່ມຕົ້ນ."</string>
     <string name="menu_restore" msgid="4310539620115151551">"ຣີເຊັດໄປໃຊ້ຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ການຕັ້ງຄ່າ APN ເລີ່ມຕົ້ນຄືນໃໝ່ສຳເລັດແລ້ວ."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ຣີເຊັດ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ຣີເຊັດ Bluetooth ແລະ Wi-Fi ແລ້ວ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ລຶບ eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ນີ້ຈະບໍ່ເປັນການຍົກເລີກແພັກເກດບໍລິການມືຖືໃດໆ. ເພື່ອດາວໂຫຼດຊິມທົດແທນ, ໃຫ້ຕິດຕໍ່ຫາຜູ້ໃຫ້ບໍລິການຂອງທ່ານ."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ການດຳເນີນການນີ້ຈະບໍ່ຍົກເລີກແພັກເກດໂທລະສັບມືຖືຂອງທ່ານ. ເພື່ອຂໍຊິມໃໝ່, ກະລຸນາຕິດຕໍ່ຜູ້ໃຫ້ບໍລິການຂອງທ່ານ."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ຣີ​ເຊັດການຕັ້ງຄ່າ"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"ຣີເຊັດການຕັ້ງຄ່າເຄືອຂ່າຍທັງໝົດບໍ? ທ່ານຈະບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"ຣີເຊັດການຕັ້ງຄ່າເຄືອຂ່າຍທັງໝົດ ແລະ ລຶບ eSIM ບໍ? ທ່ານບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ຣີ​ເຊັດບໍ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ຄືນ​ໃໝ່​ແມ່ນ​ບໍ່​ມີ​ໃຫ້​ສຳ​ລັບ​ຜູ້​ໃຊ້​ຄົນ​ນີ້"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"​ການ​ຕັ້ງ​ຄ່າ​ເຄືອ​ຂ່າຍ​ຖືກຕັ້ງ​ຄ່າ​ຄືນ​ໃໝ່​ແລ້ວ."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ບໍ່ສາມາດລຶບ eSIMs ໄດ້ເນື່ອງຈາກເກີດຂໍ້ຜິດພາດຂຶ້ນ.\n\nໃຫ້ຣີສະຕາດອຸປະກອນຂອງທ່ານແລ້ວລອງໃໝ່."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ບໍ່ສາມາດລຶບ eSIM ໄດ້"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ ແລະ ບໍ່ສາມາດລຶບ eSIM ຂອງທ່ານໄດ້.\n\nກະລຸນາຣີສະຕາດອຸປະກອນຂອງທ່ານ ແລ້ວລອງໃໝ່."</string>
     <string name="main_clear_title" msgid="277664302144837723">"ລຶບຂໍ້ມູນທັງໝົດ (ຣີເຊັດເປັນຄ່າຈາກໂຮງງານ)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ລຶບຂໍ້ມູນທັງໝົດ (ຣີເຊັດເປັນຄ່າຈາກໂຮງງານ)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"ເພງ"</li>\n<li>"ຮູບພາບ"</li>\n<li>"ຂໍ້ມູນຜູ້ໃຊ້ອື່ນໆ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ນີ້ຈະບໍ່ແມ່ນການຍົກເລີກແພັກເກດບໍລິການມືຖືຂອງທ່ານ."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ຂໍ້ມູນສ່ວນຕົວຂອງທ່ານ ແລະ ແອັບທີ່ດາວໂຫຼດມາທັງໝົດຈະຖືກລຶບອອກ. ທ່ານບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ຂໍ້ມູນສ່ວນຕົວທັງໝົດຂອງທ່ານ, ຮວມທັງແອັບທີ່ດາວໂຫຼດມາແລ້ວ ແລະ SIM ຈະຖືກລຶບອອກ. ທ່ານບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ລະບົບຈະລຶບຂໍ້ມູນສ່ວນຕົວຂອງທ່ານ, ຮວມທັງແອັບ ແລະ eSIM ທີ່ດາວໂຫຼດມາທັງໝົດອອກ. ໂດຍທ່ານຈະບໍ່ສາມາດຍົກເລີກຄຳສັ່ງນີ້ໄດ້."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ລຶບຂໍ້ມູນທັງໝົດອອກບໍ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ຜູ້​ໃຊ້​ນີ້​ບໍ່​ສາ​ມາດ​ຣີ​ເຊັດ​ຄ່າ​ໂຮງ​ງານ​​ໄດ້"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"ກຳລັງລຶບ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ຮັອດສະປອດ, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"ບໍ່ໄດ້ແບ່ງປັນອິນເຕີເນັດກັບອຸປະກອນອື່ນ"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ປິດ"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ການປ່ອຍສັນຍານ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ຢ່າໃຊ້ Wi‑Fi ຮັອດສະປອດ"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ USB ເທົ່ານັ້ນ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ Bluetooth ເທົ່ານັ້ນ"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ Ethernet ເທົ່ານັ້ນ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ USB ແລະ Bluetooth ເທົ່ານັ້ນ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ USB ແລະ Ethernet ເທົ່ານັ້ນ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ Bluetooth ຫຼື Ethernet ເທົ່ານັ້ນ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"ແບ່ງປັນອິນເຕີເນັດຜ່ານ USB, Bluetooth ແລະ Ethernet ເທົ່ານັ້ນ"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"ການປ່ອຍສັນຍານດ້ວຍ USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ການປ່ອຍສັນຍານດ້ວຍ Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ການປ່ອຍສັນຍານອີເທີເນັດ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ໃຊ້ຮັອດສະປອດ ແລະ ການປ່ອຍສັນຍານເພື່ອສະໜອງອິນເຕີເນັດໃຫ້ກັບອຸປະກອນອື່ນຜ່ານການເຊື່ອມຕໍ່ Wi‑Fi ຫຼື ອິນເຕີເນັດມືຖືຂອງທ່ານ. ແອັບສາມາດສ້າງຮັອດສະປອດເພື່ອແບ່ງປັນເນື້ອຫາກັບອຸປະກອນທີ່ຢູ່ໃກ້ຄຽງໄດ້ນຳ."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ຊ່ວຍເຫຼືອ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"ເຄືອຂ່າຍໂທລະສັບ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ແພັກເກດມືຖື"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"ປ່ຽນແອັບສົ່ງ SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ໃຊ້ <xliff:g id="NEW_APP">%1$s</xliff:g> ເປັນແອັບສົ່ງ SMS ແທນ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ບໍ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"ປ່ຽນ​ Wi‑Fi Assistant ບໍ່?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ໃຊ້ <xliff:g id="NEW_APP">%1$s</xliff:g> ແທນ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ເພື່ອ​ຈັດ​ການ​ການ​ເຊື່ອມ​ຕໍ່​ເຄືອ​ຂ່າຍ​ຂອງ​ທ່ານ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ໃຊ້ <xliff:g id="NEW_APP">%s</xliff:g> ເພື່ອ​ຈັດ​ການ​ການ​ເຊື່ອມ​ຕໍ່​ເຄືອ​ຂ່າຍ​ຂອງ​ທ່ານ​ບໍ?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"​ຜູ່​ໃຫ້​ບໍ​ລິ​ການ SIM ທີ່ບໍ່​ຮູ້​ຈັກ"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> has no known provisioning website"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"ກະ​ລຸ​ນາ​ໃສ່​ຊິມກາດ ​ແລະເປີດເຄື່ອງຄືນໃໝ່"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"ກະ​ລຸ​ນາ​ເຊື່ອມ​ຕໍ່​ກັບ​ອິນ​ເຕີ​ເນັດ"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"ການຮ້ອງຂໍຂໍ້ມູນສະຖານທີ່ຫຼ້າສຸດ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ສະຖານທີ່ສຳລັບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ການອະນຸຍາດສະຖານທີ່ແອັບ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ລ້າງການເຂົ້າເຖິງ"</string>
     <string name="controls_label" msgid="8671492254263626383">"ການຄວບຄຸມ"</string>
     <string name="force_stop" msgid="2681771622136916280">"ບັງ​ຄັບ​ປິດ"</string>
+    <string name="archive" msgid="9074663845068632127">"ເກັບໄວ້ໃນແຟ້ມ"</string>
+    <string name="restore" msgid="7622486640713967157">"ກູ້ຄືນ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ກຳລັງກູ້ຄືນ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ກຳລັງກູ້ຄືນ."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ກຳລັງກູ້ຄືນ.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ກຳລັງກູ້ຄືນ…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"ທັງໝົດ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ຂະໜາດແອັບ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"ແອັບຯບ່ອນຈັດເກັບຂໍ້ມູນ USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"ບໍ່ສາມາດຄຳນວນຂະໜາດແພັກເກດໄດ້."</string>
     <string name="version_text" msgid="7628938665256107608">"ເວີຊັນ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ຍ້າຍ"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ເກັບໄວ້ໃນແຟ້ມບໍ່ສຳເລັດ"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"ເກັບໄວ້ໃນແຟ້ມ <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ແລ້ວ"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ກູ້ຄືນບໍ່ສຳເລັດ"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"ກຳລັງກູ້ຄືນ <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ມີການໂອນຍ້າຍອື່ນກຳລັງດຳເນີນຢູ່."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ພື້ນທີ່ຈັດເກັບຂໍ້ມູນບໍ່ພຽງພໍ."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ບໍ່ມີແອັບຯ."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ແປ້ນພິມໃນໜ້າຈໍທີ່ສາມາດໃຊ້ໄດ້"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ຈັດການແປ້ນພິມໃນໜ້າຈໍ"</string>
     <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="6922850403920596246">"ເປີດການນຳໃຊ້ປຸ່ມດີດກັບສຳລັບການຊ່ວຍເຂົ້າເຖິງແປ້ນພິມພາຍນອກ"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ເພີ່ມໄລຍະເວລາໃນການກົດປຸ່ມ"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ເປີດການນຳໃຊ້ການເພີ່ມໄລຍະເວລາໃນການກົດປຸ່ມສຳລັບການຊ່ວຍເຂົ້າເຖິງແປ້ນພິມແທ້"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ປຸ່ມກົດຄ້າງ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ເປີດການນຳໃຊ້ປຸ່ມກົດຄ້າງສຳລັບການຊ່ວຍເຂົ້າເຖິງແປ້ນພິມພາຍນອກ"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ແຕະຢູ່ແຈຂວາລຸ່ມສຸດຂອງແຜ່ນສຳຜັດເພື່ອເບິ່ງຕົວເລືອກເພີ່ມເຕີມ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ຄວາມໄວຂອງຕົວຊີ້"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ສຶກສາທ່າທາງຂອງແຜ່ນສຳຜັດ"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ໄປຫາໜ້າຫຼັກ"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ໃຊ້ 3 ນິ້ວປັດຂຶ້ນຈາກຕຳແໜ່ງໃດກໍໄດ້ຢູ່ແຜ່ນສຳຜັດຂອງທ່ານ"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ກັບຄືນ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ຈັດຮຽງຕາມເວລາໃຊ້"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ຈັດຮຽງຕາມເວລາທີ່ໃຊ້ຫຼ້າສຸດ"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ຈັດຮຽງຕາມຊື່ແອັບ"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ໃຊ້​ເທື່ອ​ສຸດ​ທ້າຍ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ໃຊ້ຫຼ້າສຸດ"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ບໍ່ເຄີຍໃຊ້"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ເວລາການນຳໃຊ້"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ການຕັ້ງຄ່າກ່ຽວກັບການເຂົ້າເຖິງ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ຂະຫຍາຍດ້ວຍການແຕະສາມເທື່ອ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ຂະຫຍາຍດ້ວຍທາງລັດ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ຂະຫຍາຍດ້ວຍທາງລັດ ແລະ ການແຕະສາມເທື່ອ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"ກ່ຽວກັບ <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ໃຊ້ປຸ່ມການຊ່ວຍເຂົ້າເຖິງເພື່ອເປີດ"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້ເພື່ອເປີດ"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ແຕະໜ້າຈໍສາມເທື່ອເພື່ອເປີດ"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ໃຊ້ສອງນິ້ວແຕະໜ້າຈໍສອງເທື່ອເພື່ອເປີດ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ໃຊ້ທ່າທາງເພື່ອເປີດ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ໃຊ້ທ່າທາງການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ຢູ່ລຸ່ມສຸດຂອງໜ້າຈໍທ່ານ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ແຕະໃສ່ປຸ່ມການຊ່ວຍເຂົ້າເຖິງຄ້າງໄວ້."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ແຕະປຸ່ມການຊ່ວຍເຂົ້າເຖິງຢູ່ໜ້າຈໍທ່ານ."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ເພື່ອເລີ່ມ ແລະ ຢຸດການຂະຫຍາຍຂອງທ່ານ, ໃຫ້ແຕະສາມເທື່ອໃສ່ບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍທ່ານ."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ເພື່ອເລີ່ມ ແລະ ຢຸດການຂະຫຍາຍ, ໃຫ້ໃຊ້ສອງນິ້ວແຕະສອງເທື່ອບ່ອນໃດກໍໄດ້ຢູ່ໜ້າຈໍຂອງທ່ານ."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 2 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 2 ນິ້ວຄ້າງໄວ້."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ເພື່ອໃຊ້ຄຸນສົມບັດນີ້, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 3 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວຄ້າງໄວ້."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ເພື່ອໃຊ້ຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 2 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 2 ນິ້ວຄ້າງໄວ້."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ເພື່ອໃຊ້ຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງ, ໃຫ້ປັດຂຶ້ນຈາກລຸ່ມສຸດຂອງໜ້າຈໍດ້ວຍ 3 ນິ້ວ.\n\nເພື່ອສະຫຼັບລະຫວ່າງຄຸນສົມບັດ, ໃຫ້ປັດຂຶ້ນດ້ວຍ 3 ນິ້ວຄ້າງໄວ້."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ເຂົ້າໃຈແລ້ວ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ການຕັ້ງຄ່າປຸ່ມການຊ່ວຍເຂົ້າເຖິງ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ການຕັ້ງຄ່າປຸ່ມ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"ທາງລັດ <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ທ່າທາງການຊ່ວຍເຂົ້າເຖິງ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ກົດປຸ່ມລະດັບສຽງຄ້າງໄວ້"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ກົດປຸ່ມລະດັບສຽງທັງສອງຄ້າງໄວ້"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ໃຊ້ສອງນິ້ວແຕະໜ້າຈໍສອງເທື່ອ"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ໃຊ້ສອງນິ້ວແຕະໜ້າຈໍສອງເທື່ອ"</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="6863958573135995927">"ແຕະໃສ່ໜ້າຈໍສາມເທື່ອ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ແຕະໜ້າຈໍໄວໆ {0,number,integer} ເທື່ອ. ທາງລັດນີ້ອາດເຮັດໃຫ້ອຸປະກອນຂອງທ່ານຊ້າລົງ"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບປຸ່ມການຊ່ວຍເຂົ້າເຖິງ ແລະ ທ່າທາງ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ການໃຊ້ປຸ່ມການຊ່ວຍເຂົ້າເຖິງ. ບໍ່ສາມາດໃຊ້ທ່າທາງກັບການນຳທາງແບບ 3 ປຸ່ມໄດ້."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ເຂົ້າເຖິງຄຸນສົມບັດການຊ່ວຍເຂົ້າເຖິງແບບດ່ວນ"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ເພື່ອເລີ່ມຕົ້ນ"</b>\n"1. ເຂົ້າໄປການຕັ້ງຄ່າການຊ່ວຍເຂົ້າເຖິງ\n2. ເລືອກຄຸນສົມບັດໃດໜຶ່ງແລ້ວແຕະໃສ່ທາງລັດ\n3. ເລືອກວ່າທ່ານຕ້ອງການໃຊ້ປຸ່ມ ຫຼື ທ່າທາງເພື່ອເຂົ້າເຖິງຄຸນສົມບັດຫຼືບໍ່"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ເພື່ອເລີ່ມຕົ້ນ"</b>\n"1. ເຂົ້າໄປການຕັ້ງຄ່າການຊ່ວຍເຂົ້າເຖິງ\n2. ເລືອກຄຸນສົມບັດໃດໜຶ່ງແລ້ວແຕະໃສ່ທາງລັດ\n3. ເລືອກປຸ່ມເພື່ອເຂົ້າເຖິງຄຸນສົມບັດ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ໃຊ້ປຸ່ມ ຫຼື ທ່າທາງ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ສະຖານທີ່"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ຂະໜາດ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ກົດປຸ່ມ ປິດ/ເປີດ ເພື່ອວາງສາຍ"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ຕົວຊີ້ເມົ້າຂະໜາດໃຫຍ່"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ເຮັດໃຫ້ສັງເກດເຫັນຕົວຊີ້ເມົ້າໄດ້ຫຼາຍຂຶ້ນ"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"ຕັ້ງຄ່າໃຫ້ທຸກແອັບໃຊ້ຮູບແບບສີສັນມືດ"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ໃຊ້ກັບແອັບທີ່ບໍ່ມີຮູບແບບສີສັນມືດຂອງແອັບເອງ. ບາງແອັບອາດມີບັນຫາໃນການສະແດງຜົນ ເຊັ່ນ: ການປີ້ນສີ."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ລຶບການເຄື່ອນໄຫວອອກ"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ຫຼຸດການເຄື່ອນໄຫວຢູ່ໜ້າຈໍ"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ສຽງໂມໂນ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ໃຊ້ການສັ່ນເຕືອນ ແລະ ການສຳຜັດ"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"ການສັ່ນເຕືອນໂມງປຸກ"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"ການສັ່ນເຕືອນມີເດຍ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"ການສັ່ນເຕືອນຂອງແປ້ນພິມ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ສຽງພ້ອມການສັ່ນເຕືອນ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ການແຈ້ງເຕືອນແບບສັ່ນເຕືອນ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ການຕອບສະໜອງການສຳຜັດ"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"ຢຸດ"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ຍົກເລີກ"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"ຢຸດການເຮັດວຽກຂອງ <xliff:g id="SERVICE">%1$s</xliff:g> ບໍ່?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"ການແຕະ <xliff:g id="STOP">%1$s</xliff:g> ຈະຢຸດ <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ປິດ"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ເປີດໄວ້"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"ປິດ <xliff:g id="SERVICE">%1$s</xliff:g> ໄວ້ບໍ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"ບໍ່ມີບໍລິການຖືກຕິດຕັ້ງເທື່ອ"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ບໍ່ໄດ້ເລືອກບໍລິການເທືື່ອ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"ບໍ່ມີລາຍລະອຽດລະບຸໄວ້."</string>
     <string name="settings_button" msgid="2195468788019730377">"ການຕັ້ງຄ່າ"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ຄວາມໄວແສງ, ຄວາມຢ້ານແສງ, ຮູບແບບສີສັນມືດ, ໄມເກຣນ, ເຈັບຫົວ, ໂໝດການອ່ານ, ໂໝດກາງຄືນ, ຫຼຸດຄວາມສະຫວ່າງ, ຈຸດສີຂາວ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ງ່າຍໃນການໃຊ້, ງ່າຍໃນການເຂົ້າເຖິງ, ຄວາມຊ່ວຍເຫຼືອ, ອຳນວຍຄວາມສະດວກ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ວິໄສທັດ, ການໄດ້ຍິນ, ຕາບອດ, ຄົນຫູໜວກ, ມໍເຕີ, ຄວາມຊໍານິຊໍານານ, ການຊ່ວຍເຫຼືອ, ການຊ່ວຍເຫຼືອ, ຄວາມສະດວກໃນການນໍາໃຊ້, ຄວາມສະດວກຂອງສິດເຂົ້າເຖິງ, ມື, ການຊ່ວຍເຫຼືອ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ຕົວຂະຫຍາຍໜ້າຈໍ, ຊູມ, ການຂະຫຍາຍ, ເບິ່ງເຫັນຍາກ, ຂະຫຍາຍ, ເຮັດໃຫ້ໃຫຍ່ຂຶ້ນ"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"ຄຳບັນຍາຍ, CC, ການຖອດຂໍ້ຄວາມດ່ວນ, ມີບັນຫາໃນການໄດ້ຍິນ, ສູນເສຍການໄດ້ຍິນ, CART, ການປ່ຽນສຽງເວົ້າເປັນຂໍ້ຄວາມ, ຄຳແປ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ຄອນທຣາສຂອງສີ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ມໍເຕີ, ເມົ້າ"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ເຄື່ອງຊ່ວຍຟັງ, ມີບັນຫາໃນການໄດ້ຍິນ, ສູນເສຍການໄດ້ຍິນ, ປະສາດຫູທຽມ, ອຸປະກອນຂະຫຍາຍສຽງ, ຕົວປະມວນຜົນສຽງ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ມໍເຕີ, ເມົ້າ, ເມົ້າພາຍນອກ, ຫົວເມົ້າ, ເມົ້າແບບປັບໄດ້, ລໍ້ຍູ້ຄົນເຈັບ, ຈອຍສະຕິກ"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ເຄື່ອງຊ່ວຍຟັງ, ມີບັນຫາໃນການໄດ້ຍິນ, ສູນເສຍການໄດ້ຍິນ, ປະສາດຫູທຽມ, ອຸປະກອນຂະຫຍາຍສຽງ, ຕົວປະມວນຜົນສຽງ, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"ມີບັນຫາໃນການໄດ້ຍິນ, ສູນເສຍການໄດ້ຍິນ, ຄຳບັນຍາຍ, Teletype, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ສາມປຸ່ມ"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ຄວາມຊໍານິຊໍານານ, ມໍເຕີ, ອາວຸໂສ, ໂລກຂໍ້ອັກເສບ, rsi, ຫຼອດເລືອດ, ອາການສັ່ນ, ຫຼາຍເສັ້ນເລືອດຕີບ, ສະໝອງພິການ, ການສັ່ນ, ການບາດເຈັບເປັນຊ້ຳໆ, ມື"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ຊັກຊ້າ, ຊໍານິຊໍານານ, ອາວຸໂສ"</string>
     <string name="print_settings" msgid="8519810615863882491">"ການ​ພິມ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ປິດ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{ເປີດ 1 ບໍລິການພິມ}other{ເປີດ # ບໍລິການພິມ}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"ເຫຼືອອີກ <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> ​ກ່ອນ​ຈະ​ເຕັມ"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ເວລາໜ້າຈໍ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ເວລາທີ່ເຮັດວຽກຢູ່ພື້ນຫຼັງ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ແບັດເຕີຣີເຫຼືອໜ້ອຍ"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ອະນຸຍາດໃຫ້ແອັບເຮັດວຽກໃນພື້ນຫຼັງໄດ້"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ຈຳກັດການເຄື່ອນໄຫວໃນພື້ນຫຼັງບໍ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ຫາກທ່ານຈຳກັດການເຄື່ອນໄຫວໃນພື້ນຫຼັງສຳລັບແອັບໃດໜຶ່ງ, ມັນຈະເຮັດວຽກຜິດປົກກະຕິ"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ເນື່ອງຈາກແອັບນີ້ຍັງບໍ່ໄດ້ປັບແຕ່ງໃຫ້ໃຊ້ແບັດເຕີຣີໄດ້ຢ່າງເໝາະສົມເທື່ອ, ທ່ານຈຶ່ງບໍ່ສາມາດຈຳກັດມັນໄດ້.\n\nເພື່ອຈຳກັດແອັບດັ່ງກ່າວ, ໃຫ້ເປີດການປັບແຕ່ງແບັດເຕີຣີໃຫ້ເໝາະສົມກ່ອນ."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ຈັດການການໃຊ້ແບັດເຕີຣີ"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ອະນຸຍາດການນຳໃຊ້ໃນພື້ນຫຼັງ"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ເປີດການນຳໃຊ້ເພື່ອໃຫ້ອັບເດດແບບສົດໆ, ປິດການນຳໃຊ້ເພື່ອປະຢັດແບັດເຕີຣີ"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ບໍ່ຈຳກັດ"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ປັບໃຫ້ເໝາະສົມ"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ຈຳກັດ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ເບິ່ງແອັບທີ່ມີການໃຊ້ສູງສຸດ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ການສາກໄດ້ຖືກປັບໃຫ້ເໝາະສົມເພື່ອປົກປ້ອງແບັດເຕີຣີຂອງທ່ານ"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"ເພື່ອຊ່ວຍຂະຫຍາຍອາຍຸການນຳໃຊ້ແບັດເຕີຣີຂອງທ່ານ, ການສາກແມ່ນໄດ້ຖືກປັບໃຫ້ເໝາະສົມ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ການສາກໄດ້ຖືກປັບໃຫ້ເໝາະສົມເພື່ອປົກປ້ອງແບັດເຕີຣີຂອງທ່ານ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ເພື່ອຊ່ວຍຂະຫຍາຍອາຍຸການນຳໃຊ້ແບັດເຕີຣີຂອງທ່ານ, ການສາກໄດ້ຖືກປັບໃຫ້ເໝາະສົມໃນຕອນທີ່ເຊື່ອມຕໍ່ກັບແທ່ນສາກ"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ການສາກໄດ້ຖືກປັບໃຫ້ເໝາະສົມເພື່ອປົກປ້ອງແບັດເຕີຣີຂອງທ່ານ"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ເພື່ອຊ່ວຍຂະຫຍາຍອາຍຸການນຳໃຊ້ແບັດເຕີຣີຂອງທ່ານ, ການສາກໄດ້ຖືກປັບໃຫ້ເໝາະສົມໃນຕອນທີ່ເຊື່ອມຕໍ່ກັບແທ່ນສາກ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"ການສາກຈົນເຕັມ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ເພື່ອປົກປ້ອງແບັດເຕີຣີຂອງທ່ານ, ການສາກຈະຖືກປັບໃຫ້ເໝາະສົມໃນເທື່ອຕໍ່ໄປທີ່ທ່ານວາງແທັບເລັດໄວ້ເທິງແທ່ນສາກ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ສຶກສາເພີ່ມເຕີມກ່ຽວກັບການສາກຢຸດຊົ່ວຄາວ"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ສືບຕໍ່ການສາກໄຟ"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ຮວມການເຄື່ອນໄຫວໃນພື້ນຫຼັງທີ່ໃຊ້ພະລັງງານຫຼາຍ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ແອັບນີ້ຈະສາມາດໃຊ້ແບັດເຕີຣີໃນພື້ນຫຼັງ. ແບັດເຕີຣີຂອງທ່ານອາດໝົດໄວກວ່າທີ່ຄາດໄວ້."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ລຶບ"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ຍົກເລີກ"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"ສາກໄຟຈົນເຕັມ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ບັນຫາກັບອຸປະກອນເສີມໃນການສາກ"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ກວດສອບອຸປະກອນເສີມສຳລັບການສາກ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ຮຽນ​ຮູ້​ເພີ່ມ​ເຕີມ​ກ່ຽວ​ກັບ​ການ​ສາກ​ທີ່​ບໍ່​ເຂົ້າ​ກັນ​ໄດ້"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ຕົວຈັດການແບັດເຕີຣີ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ຈັດການແອັບໂດຍອັດຕະໂນມັດ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ສາກເຕັມເທື່ອຫຼ້າສຸດ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"ແອັບລະບົບ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"ແອັບທີ່ຖອນການຕິດຕັ້ງແລ້ວ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ອື່ນໆ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"ເວລາທີ່ເຫຼືອໂດຍປະມານ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"ຈົນກວ່າຈະສາກເຕັມ"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"ທັງໝົດ: ໜ້ອຍກວ່າໜຶ່ງນາທີ"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ພື້ນຫຼັງ: ໜ້ອຍກວ່າ 1 ນາທີ"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"ເວລາໜ້າຈໍ: ໜ້ອຍກວ່າ 1 ນາທີ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ໜ້ອຍກວ່າ 1 ນທ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"ທັງໝົດ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ພື້ນຫຼັງ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"ເວລາໜ້າຈໍ: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ຕອນນີ້"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ແຜນພາບການໃຊ້ແບັດເຕີຣີ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ແຜນພາບການໃຊ້ແບັດເຕີຣີລາຍວັນ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ແຜນພາບການໃຊ້ແບັດເຕີຣີລາຍຊົ່ວໂມງ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ເປີເຊັນລະດັບແບັດເຕີຣີຈາກ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ຫາ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ການໃຊ້ແບັດເຕີຣີຕັ້ງແຕ່ສາກເຕັມເທື່ອຫຼ້າສຸດ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"ການໃຊ້ແບັດເຕີຣີສຳລັບ <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"ເວລາໜ້າຈໍຕັ້ງແຕ່ສາກເຕັມເທື່ອຫຼ້າສຸດ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"ສັນຍານການໂທສຸກເສີນ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ຕັ້ງຄ່າການເຮັດວຽກເມື່ອມີການໂທຫາໝາຍເລກສຸກເສີນ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ສຳຮອງຂໍ້ມູນ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ເປີດ"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ປິດ"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ສຳຮອງຂໍ້ມູນ &amp; ດຶງຂໍ້ມູນຄືນ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ຂໍ້​ມູນ​ສ່ວນ​ໂຕ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ສຳຮອງຂໍ້ມູນຂອງຂ້ອຍ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ອິນເຕີເນັດມືຖື ແລະ Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ຊິ້ງ​ຂໍ້​ມູນ​ສ່ວນ​ໂຕ​ອັດ​ຕະ​ໂນ​ມັດ"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"​ຊິ້ງ​ຂໍ້​ມູນ​ວຽກ​ອັດ​ຕະ​ໂນ​ມັດ"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ຊິ້ງຂໍ້ມູນສ່ວນຕົວໂດຍອັດຕະໂນມັດ"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ປ່ຽນຮອບການນັບ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ວັນຂອງເດືອນເພື່ອຕັ້ງຄ່າຮອບຂໍ້ມູນຄືນໃໝ່:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ບໍ່ມີແອັບຯໃຊ້ຂໍ້ມູນໃນໄລຍະເວລານີ້."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ຊື່"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ປະເພດ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ທີ່ຢູ່ເຊີບເວີ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"ການເຂົ້າລະຫັດ PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"ຂໍ້ມູນລັບ L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"ໂຕລະ​ບຸ IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"ກະແຈ IPSec ທີ່ແບ່ງປັນລ່ວງໜ້າ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"ໃບຮັບຮອງຜູ່ໃຊ້ IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"ໃບຮັບຮອງ IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"ໃບຮັບຮອງເຊີບເວີ IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"ສະແດງຕົວເລືອກຂັ້ນສູງ"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"ໂດເມນຊອກຫາ DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"ເຊີບເວີ DNS (ເຊັ່ນ: 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ເສັ້ນທາງການສົ່ງຕໍ່ (ເຊັ່ນ: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ຊື່ຜູ້ໃຊ້"</string>
     <string name="vpn_password" msgid="1183746907642628127">"ລະຫັດຜ່ານ"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ບັນທຶກຂໍ້ມູນບັນຊີ"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ບໍ່ໄດ້ໃຊ້)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ບໍ່ຕ້ອງພິສູດເຊີບເວີ)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ໄດ້ຮັບຈາກເຊີບເວີ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN ປະເພດນີ້ບໍ່ສາມາດເຊື່ອມຕໍ່ຕະຫຼອດເວລາໄດ້"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN ແບບເປີດຕະຫຼອດຮອງຮັບສະເພາະທີ່ຢູ່ເຊີບເວີແບບຕົວເລກເທົ່ານັ້ນ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ຈະຕ້ອງລະບຸເຊີບເວີ DNS ສຳລັບ VPN ແບບເປີດຕະຫຼອດ"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ທີ່ຢູ່ເຊີບເວີ DNS ຈະຕ້ອງເປັນຕົວເລກສຳລັບ VPN ແບບເປີດຕະຫຼອດ"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ຂໍ້ມູນທີ່ລະບຸມານັ້ນບໍ່ຮອງຮັບ VPN ແບບເປີດຕະຫຼອດ"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ຍົກເລີກ"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ປິດໄວ້"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"ບລັອກການເຊື່ອມຕໍ່ໂດຍບໍ່ໃຊ້ VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"ຮ້ອງຂໍການເຊື່ອມຕໍ່ VPN ບໍ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ບໍ່ປອດໄພ. ອັບເດດເປັນ IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ເລີ່ມ VPN ທີ່ບໍ່ຮອງຮັບບໍ່ສຳເລັດ."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ເລືອກໂປຣໄຟລ໌ VPN ເພື່ອໃຫ້ເຊື່ອມຕໍ່ຕະຫຼອດເວລາ. ການຈະລາຈອນໃນເຄືອຂ່າຍ ຈະໄດ້ຮັບອະນຸຍາດສະເພາະເມື່ອເຊື່ອມຕໍ່ຜ່ານ VPN ນີ້ເທົ່ານັ້ນ."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ບໍ່ມີ"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN ທີ່ເປີດໃຊ້ຕະຫຼອດເວລາຕ້ອງມີທີ່ຢູ່ IP ສຳລັບທັງເຊີບເວີ ແລະ DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"ການ​ແຈ້ງ​ເຕືອນ AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"​ຮັບ​ຂໍ້​ມູນ​ຂ່າວ​ສານ​ກ່ຽວ​ກັບ​ການ​ລັກ​ພາ​ໂຕ​ເດັກ​ນ້ອຍ"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ເຮັດ​ຊ້ຳ"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"ເປີດ​ນຳ​ໃຊ້​ໂຕ​ຈັດ​ການ​ການ​ໂທ"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"​ອະ​ນຸ​ຍາດ​ໃຫ້​ບໍ​ລິ​ການ​ນີ້​ຈັດ​ການ​ວິ​ທີ​​ການ​ໂທ​ອອກ​ຂອງ​ທ່ານ."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"​ໂຕ​ຈັດ​ການ​ການ​ໂທ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ການເຕືອນສຸກເສີນໄຮ້ສາຍ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ຜູ່ໃຫ້ບໍລິການເຄືອຂ່າຍ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ຊື່ຂອງຈຸດການເຂົ້າເຖິງ (APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"ສະ​ຖາ​ນະ SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ສະຖານະ SIM (ຊິມຊ່ອງ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"ປ່ຽນຊິມແລ້ວ."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"ຊິມຂອງທ່ານປ່ຽນແແລ້ວ"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ແຕະເພື່ອຕັ້ງຄ່າ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"​ຖາມ​ທຸກ​ເທື່ອ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ຕ້ອງເລືອກ​ອັນໃດອັນນຶ່ງ"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ແອັບຫຼ້າສຸດ, ແອັບເລີ່ມຕົ້ນ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ບໍ່ສາມາດເຂົ້າເຖິງການແຈ້ງເຕືອນສຳລັບແອັບໃນໂປຣໄຟລ໌ບ່ອນເຮັດວຽກໄດ້."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"ລະຫັດຜ່ານ ແລະ ບັນຊີ"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"ລະຫັດຜ່ານທີ່ບັນທຶກໄວ້, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ, ບັນຊີທີ່ຊິ້ງຂໍ້ມູນແລ້ວ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ຄຳແນະນຳສຳລັບການເຂົ້າສູ່ລະບົບ ແລະ ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ແອັບເລີ່ມຕົ້ນ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ແອັບໂຄລນ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ສ້າງສຳເນົາແອັບເພື່ອໃຫ້ທ່ານສາມາດນຳໃຊ້ທັງ 2 ບັນຊີພ້ອມກັນໄດ້."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pay, tap, payments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ສຳຮອງຂໍ້ມູນ, ສຳຮອງ ຂໍ້ມູນ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ທ່າທາງ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ໃບໜ້າ, ປົດລັອກ, ການຢືນຢັນ, ເຂົ້າສູ່ລະບົບ"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ໜ້າ, ປົດລັອກ, ພິສູດຢືນຢັນ, ເຂົ້າສູ່ລະບົບ, ລາຍນິ້ວມື, ລະບົບຊີວະມິຕິ"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, ເວີຊັນ prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ຂະໜາດໜ້າຈໍ, ພິມຂະໜາດໃຫຍ່, ຟອນຂະໜາດໃຫຍ່, ຂໍ້ຄວາມຂະໜາດໃຫຍ່, ເບິ່ງເຫັນຍາກ, ເຮັດໃຫ້ຂໍ້ຄວາມໃຫຍ່ຂຶ້ນ, ຕົວຂະຫຍາຍຟອນ, ການຂະຫຍາຍຟອນ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ເປີດການສະແດງພາບພັກໜ້າຈໍໄວ້ຕະຫຼອດ, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ແທັກ, ຕົວອ່ານ"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ແປ້ນພິມ, ການສຳຜັດ, ສັ່ນເຕືອນ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ລະດັບສຽງ, ການສັ່ນເຕືອນ, ຫ້າມລົບກວນ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"​ລະ​ດັບ​ສຽງ​ມີ​ເດຍ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ສົ່ງສັນຍານລະດັບສຽງ"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ສຽງຕອນເປີດເຄື່ອງ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"ຄຳບັນຍາຍສົດ"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ສ້າງຄຳບັນຍາຍມີເດຍໂດຍອັດຕະໂນມັດ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ລຳໂພງຂອງໂທລະສັບ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ລຳໂພງຂອງແທັບເລັດ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ລຳໂພງຂອງອຸປະກອນ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ຫູຟັງແບບມີສາຍ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"ສຽງຈາກມີເດຍທີ່ເຂົ້າກັນໄດ້ຈະມີຄວາມສົມຈິງຍິ່ງຂຶ້ນ"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ປິດ"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ສະແດງ​ເນື້ອຫາ​ການແຈ້ງເຕືອນ​ທັງໝົດ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ສະແດງເນື້ອຫາທີ່ລະອຽດອ່ອນສະເພາະຕອນປົດລັອກແລ້ວ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ບໍ່​ສະ​ແດງ​ການ​ແຈ້ງ​ເຕືອນ​ເລີຍ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ທ່ານຢາກໃຫ້ສະແດງຂໍ້ມູນຫຍັງໃນໜ້າຈໍລັອກ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ທ່ານຕ້ອງການໃຫ້ໜ້າຈໍລັອກຂອງທ່ານສະແດງຫຍັງ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ໜ້າຈໍລັອກ"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ສະແດງເນື້ອຫາການແຈ້ງເຕືອນວຽກທັງໝົດ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ເຊື່ອງເນື້ອຫາວຽກທີ່ລະອຽດອ່ອນ"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ລຶບການສົນທະນາຫຼ້າສຸດອອກແລ້ວ"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"ລຶບການສົນທະນາອອກແລ້ວ"</string>
     <string name="clear" msgid="5092178335409471100">"ລຶບລ້າງ"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"ລຶບລ້າງ <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ການສົນທະນາສຳຄັນ ແລະ ການສົນທະນາທີ່ມີການແກ້ໄຂຈະປາກົດຢູ່ບ່ອນນີ້"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"ເມື່ອທ່ານໝາຍການສົນທະນາວ່າສຳຄັນ ຫຼື ປ່ຽນແປງສິ່ງອື່ນໆໃນການສົນທະນາແລ້ວ, ພວກມັນຈະປາກົດຢູ່ບ່ອນນີ້. \n\nເພື່ອປ່ຽນການຕັ້ງຄ່າການສົນທະນາ: \nໃຫ້ປັດລົງຈາກໜ້າຈໍເພື່ອເປີດແຖບແບບເລື່ອນລົງ, ຈາກນັ້ນແຕະໃສ່ການສົນທະນາໃດໜຶ່ງຄ້າງໄວ້."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ຫຍໍ້ລົງ"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"ຄູດາວການແຈ້ງເຕືອນ"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ນຳໃຊ້ຄູດາວໃສ່ການແຈ້ງເຕືອນທັງໝົດ"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ຄ່ອຍໆຫຼຸດລະດັບສຽງການແຈ້ງເຕືອນລົງເມື່ອທ່ານໄດ້ຮັບການແຈ້ງເຕືອນຢ່າງຕໍ່ເນື່ອງຈາກແອັບດຽວກັນ"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ນຳໃຊ້ຄູດາວໃສ່ການສົນທະນາ"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ຄ່ອຍໆຫຼຸດລະດັບສຽງການແຈ້ງເຕືອນລົງເມື່ອທ່ານໄດ້ຮັບຂໍ້ຄວາມຫຼາຍຂໍ້ຄວາມຈາກການສົນທະນາດຽວກັນພາຍໃນໄລຍະເວລາສັ້ນໆ"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"ຢ່າໃຊ້ຄູດາວການແຈ້ງເຕືອນ"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ຢ່າຫຼຸດປະລິມານການແຈ້ງເຕືອນລົງ, ໂດຍບໍ່ຄໍານຶງເຖິງຈໍານວນການແຈ້ງເຕືອນຢ່າງຕໍ່ເນື່ອງຈາກແອັບດຽວກັນ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ສັ່ນເຕືອນເມື່ອປົດລັອກ"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"ສັ່ນເຕືອນເມື່ອປົດລັອກໜ້າຈໍຢູ່ເທົ່ານັ້ນ"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ນຳໃຊ້ກັບໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ນຳໃຊ້ການຕັ້ງຄ່າຄູດາວການແຈ້ງເຕືອນຈາກໂປຣໄຟລ໌ສ່ວນຕົວຂອງທ່ານໃສ່ໂປຣໄຟລ໌ບ່ອນເຮັດວຽກຂອງທ່ານ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"ບໍລິການຕົວຊ່ວຍ VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ບໍ່ມີແອັບທີ່ຕິດຕັ້ງແລ້ວທີ່ຮ້ອງຂໍໃຫ້ໃຊ້ເປັນບໍລິການຕົວຊ່ວຍ VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"ອະນຸຍາດໃຫ້ເຂົ້າເຖິງບໍລິການ VR ສຳລັບ <xliff:g id="SERVICE">%1$s</xliff:g> ບໍ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ປິດ"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ການປັກໝຸດແອັບ"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ການປັກໝຸດແອັບຈະເຮັດໃຫ້ທ່ານສາມາດຈຶ້ງແອັບປັດຈຸບັນໄວ້ໃນມຸມມອງຈົນກວ່າທ່ານຈະຖອດປັກໝຸດມັນ. ຕົວຢ່າງ: ທ່ານສາມາດໃຊ້ຄຸນສົມບັດນີ້ເພື່ອອະນຸຍາດໃຫ້ໝູ່ທີ່ເຊື່ອຖືໄດ້ຫຼິ້ນເກມສະເພາະໃດໜຶ່ງໄດ້."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"ເມື່ອປັກໝຸດແອັບໃດໜຶ່ງໄວ້ແລ້ວ, ແອັບທີ່ປັກໝຸດໄວ້ອາດເປີດແອັບອື່ນ ຫຼື ອາດເຂົ້າເຖິງຂໍ້ມູນສ່ວນຕົວໄດ້. \n\nເພື່ອໃຊ້ການປັກໝຸດແອັບ: \n1. ເປີດການປັກໝຸດແອັບ \n2. ເປີດພາບຮວມ \n3. ແຕະໄອຄອນແອັບຢູ່ເທິງສຸດຂອງໜ້າຈໍ, ຈາກນັ້ນແຕະປັກໝຸດ"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"ເມື່ອປັກໝຸດແອັບໃດໜຶ່ງໄວ້ແລ້ວ, ແອັບທີ່ປັກໝຸດໄວ້ອາດເປີດແອັບອື່ນ ຫຼື ອາດເຂົ້າເຖິງຂໍ້ມູນສ່ວນຕົວໄດ້. \n\nຫາກທ່ານຕ້ອງການແບ່ງປັນອຸປະກອນຂອງທ່ານໃຫ້ຄົນອື່ນໃຊ້ຢ່າງປອດໄພ, ໃຫ້ລອງໃຊ້ຜູ້ໃຊ້ແຂກແທນ. \n\nເພື່ອໃຊ້ການປັກໝຸດແອັບ: 	\n1. ເປີດໃຊ້ການປັກໝຸດແອັບ \n2. ເປີດພາບຮວມ \n3. ແຕະໄອຄອນແອັບຢູ່ເທິງສຸດຂອງໜ້າຈໍ, ຈາກນັ້ນແຕະປັກໝຸດ"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"ເມື່ອປັກໝຸດແອັບໃດໜຶ່ງໄວ້ແລ້ວ, ແອັບທີ່ປັກໝຸດໄວ້ອາດເປີດແອັບອື່ນ ແລະ ອາດມີການເຂົ້າເຖິງຂໍ້ມູນສ່ວນຕົວ. \n\nເພື່ອໃຊ້ການປັກໝຸດແອັບ: 	\n{0,number,integer}. ເປີດການປັກໝຸດແອັບ 	\n{1,number,integer}. ເປີດພາບຮວມ 	\n{2,number,integer}. ແຕະໄອຄອນແອັບຢູ່ເທິງສຸດຂອງໜ້າຈໍ, ຈາກນັ້ນແຕະປັກໝຸດ"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"ເມື່ອປັກໝຸດແອັບໃດໜຶ່ງໄວ້ແລ້ວ, ແອັບທີ່ປັກໝຸດໄວ້ອາດເປີດແອັບອື່ນ ແລະ ອາດມີການເຂົ້າເຖິງຂໍ້ມູນສ່ວນຕົວ. \n\nຫາກທ່ານຕ້ອງການແບ່ງປັນອຸປະກອນຂອງທ່ານໃຫ້ຄົນອື່ນໃຊ້ຢ່າງປອດໄພ, ໃຫ້ລອງໃຊ້ຜູ້ໃຊ້ທີ່ເປັນຜູ້ຢ້ຽມຢາມແທນ. \n\nເພື່ອໃຊ້ການປັກໝຸດແອັບ: 	\n{0,number,integer}. ເປີດການປັກໝຸດແອັບ 	\n{1,number,integer}. ເປີດພາບຮວມ 	\n{2,number,integer}. ແຕະໄອຄອນແອັບຢູ່ເທິງສຸດຂອງໜ້າຈໍ, ຈາກນັ້ນແຕະປັກໝຸດ"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ເມື່ອປັກໝຸດແອັບແລ້ວ: \n\n•		ຂໍ້ມູນສ່ວນຕົວອາດຖືກເຂົ້າເຖິງໄດ້\n		(ເຊັ່ນ: ລາຍຊື່ຜູ້ຕິດຕໍ່ ແລະ ເນື້ອຫາອີເມວ) \n•		ແອັບທີ່ປັກໝຸດໄວ້ອາດເປີດແອັບອື່ນໆ \n\nຄວນໃຊ້ການປັກໝຸດແອັບກັບຄົນທີ່ທ່ານເຊື່ອຖືເທົ່ານັ້ນ."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"​ຖາມ​ຫາ​ຮູບ​ແບບ​ປົດ​ລັອກ​ກ່ອນ​ຍົກ​ເລີກ​ການ​ປັກ​ໝຸດ"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"​ຖາມ​ຫາ PIN ກ່ອນ​ຍົກ​ເລີກ​ການປັກ​ໝຸດ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"​ຖາມ​ຫາ​ລະ​ຫັດ​ຜ່ານ​ກ່ອນ​ຍົກ​ເລີກ​ການ​ປັກ​ໝຸດ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ລັອກ​ອຸ​ປະ​ກອນ​ເມື່ອ​ຍົກ​ເລີກ​ການ​ປັກ​ໝຸດ"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ຢືນຢັນການລຶບຊິມ"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ຢືນຢັນວ່າທ່ານຕ້ອງການລຶບ eSIM ຂອງທ່ານ"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ຢັ້ງຢືນວ່າແມ່ນທ່ານກ່ອນທີ່ຈະລຶບ eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"ການປ້ອງກັນໜ່ວຍຄວາມຈຳຂັ້ນສູງເວີຊັນເບຕ້າ"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"ການປ້ອງກັນໜ່ວຍຄວາມຈຳຂັ້ນສູງ"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ການຕັ້ງຄ່າແອັບທີ່ບໍ່ໄດ້ໃຊ້"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ຢຸດການເຄື່ອນໄຫວແອັບຊົ່ວຄາວຫາກບໍ່ໄດ້ໃຊ້"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ລຶບການອະນຸຍາດອອກ, ລຶບໄຟລ໌ຊົ່ວຄາວ ແລະ ຢຸດການແຈ້ງເຕືອນ"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ຈັດການແອັບຫາກບໍ່ໄດ້ໃຊ້"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ລຶບການອະນຸຍາດອອກ, ລຶບໄຟລ໌ຊົ່ວຄາວ, ຢຸດການແຈ້ງເຕືອນ ແລະ ເກັບແອັບໄວ້ໃນແຟ້ມ"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ແອັບທັງໝົດ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ແອັບທີ່ຕິດຕັ້ງແລ້ວ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ອິນສະແຕນແອັບ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ຟຣີ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ຄວາມ​ຈຳ​ທີ່​ແອັບ​ໃຊ້​ໄປ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 ແອັບໄດ້ນຳໃຊ້ໜ່ວຍຄວາມຈຳໃນ {time} ທີ່ຜ່ານມາ}other{# ແອັບໄດ້ນຳໃຊ້ໜ່ວຍຄວາມຈຳໃນ {time} ທີ່ຜ່ານມາ}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"ເປີດໃຊ້ການສ້າງໂປຣໄຟລ໌ການໃຊ້ໜ່ວຍຄວາມຈຳ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"ການສ້າງໂປຣໄຟລ໌ການນຳໃຊ້ໜ່ວຍຄວາມຈຳຕ້ອງການຊັບພະຍາກອນລະບົບເພີ່ມເຕີມ."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"ປິດການນຳໃຊ້ການສ້າງໂປຣໄຟລ໌ໜ່ວຍຄວາມຈຳແລ້ວ"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ຄວາມຖີ່"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"ການ​ໃຊ້​ສູງ​ສຸດ"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"ບໍ່​ມີ​ຂໍ້​ມູນ​ທີ່​ໃຊ້​ແລ້ວ"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"ສະແດງແອັບບັງແອັບອື່ນ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ອະນຸຍາດໃຫ້ສະແດງແອັບບັງແອັບອື່ນ"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ອະນຸຍາດໃຫ້ແອັບນີ້ສະແດງບັງແອັບອື່ນທີ່ທ່ານກຳລັງໃຊ້ຢູ່. ແອັບນີ້ຈະສາມາດເບິ່ງເຫັນວ່າທ່ານແຕະຢູ່ໃສ ຫຼື ປ່ຽນສິ່ງທີ່ສະແດງຜົນຢູ່ໜ້າຈໍໄດ້."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"ປ່ຽນເອົ້າພຸດສື່"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ອະນຸຍາດໃຫ້ແອັບສະຫຼັບເອົ້າພຸດສື່"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"ອະນຸຍາດໃຫ້ແອັບນີ້ເລືອກອຸປະກອນທີ່ເຊື່ອມຕໍ່ແລ້ວທີ່ຈະຫຼິ້ນສຽງ ຫຼື ວິດີໂອຈາກແອັບອື່ນໆ. ຫາກອະນຸຍາດແລ້ວ, ແອັບນີ້ຈະສາມາດເຂົ້າເຖິງລາຍຊື່ຂອງອຸປະກອນທີ່ມີ ເຊັ່ນ: ຫູຟັງ ແລະ ລຳໂພງ ແລ້ວເລືອກອຸປະກອນສົ່ງຂໍ້ມູນອອກທີ່ຈະໃຊ້ໃນການສະຕຣີມ ຫຼື ສົ່ງສັນຍານສຽງ ຫຼື ວິດີໂອ."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ສິດການເຂົ້າເຖິງໄຟລ໌ທັງໝົດ"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ອະນຸຍາດການເຂົ້າເຖິງເພື່ອຈັດການໄຟລ໌ທັງໝົດ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ອະນຸຍາດໃຫ້ແອັບນີ້ອ່ານ, ແກ້ໄຂ ແລະ ລຶບໄຟລ໌ທັງໝົດຢູ່ອຸປະກອນນີ້ ຫຼື ບ່ອນຈັດເກັບຂໍ້ມູນໃດກໍຕາມທີ່ເຊື່ອມຕໍ່ໄວ້. ຫາກໄດ້ຮັບອະນຸຍາດແລ້ວ, ແອັບຈະສາມາດເຂົ້າເຖິງໄຟລ໌ໂດຍແຈ້ງໃຫ້ທ່ານຮັບຮູ້ຢ່າງຈະແຈ້ງໄດ້."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"ສາມາດເຂົ້າເຖິງໄຟລ໌ທັງໝົດ"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ແອັບການເປີດນຳໃຊ້ດ້ວຍສຽງ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ອະນຸຍາດການເປີດນຳໃຊ້ດ້ວຍສຽງ"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ການເປີດນຳໃຊ້ດ້ວຍສຽງຈະເປີດແອັບທີ່ໄດ້ຮັບອະນຸມັດແບບແຮນຟຣີໂດຍໃຊ້ຄຳສັ່ງສຽງ. ການກວດຈັບແບບປັບອັດຕະໂນມັດໃນຕົວຊ່ວຍໃຫ້ໝັ້ນໃຈໄດ້ວ່າຂໍ້ມູນຈະເປັນສ່ວນຕົວສຳລັບທ່ານເທົ່ານັ້ນ.\n\n"<a href="">"ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການກວດຈັບແບບປັບອັດຕະໂນມັດທີ່ມີການປ້ອງກັນ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ການແຈ້ງເຕືອນແບບເຕັມຈໍ"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ອະນຸຍາດໃຫ້ແອັບນີ້ສະແດງການແຈ້ງເຕືອນແບບເຕັມຈໍ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ອະນຸຍາດໃຫ້ແອັບນີ້ສະແດງການແຈ້ງເຕືອນແບບເຕັມຈໍເມື່ອອຸປະກອນລັອກຢູ່. ແອັບອາດໃຊ້ການແຈ້ງເຕືອນເຫຼົ່ານີ້ເພື່ອໄຮໄລ້ໂມງປຸກ, ສາຍໂທເຂົ້າ ຫຼື ການແຈ້ງເຕືອນສຸກເສີນອື່ນໆ."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"ຄຳເຕືອນຂໍ້ມູນ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"ຈຳກັດຂໍ້ມູນ <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"ຄຳເຕືອນຂໍ້ມູນ <xliff:g id="ID_1">^1</xliff:g> / ຈຳກັດຂໍ້ມູນ <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ການນັບຂໍ້ມູນຈາກຜູ້ໃຫ້ບໍລິການ ອາດມີຄວາມແຕກຕ່າງຈາກການນັບຂອງອຸປະກອນ"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"ບໍ່ຮວມປະລິມານຂໍ້ມູນອິນເຕີເນັດທີ່ໃຊ້ໂດຍເຄືອຂ່າຍຜູ້ໃຫ້ບໍລິການ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"ໃຊ້ໄປແລ້ວ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ຕັ້ງການເຕືອນຂໍ້ມູນ"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"ອັບເດດ <xliff:g id="ID_1">^2</xliff:g> ກ່ອນ"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ອັບເດດໂດຍ <xliff:g id="ID_1">^1</xliff:g> ຕອນນີ້"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ຫາກໍອັບເດດດຽວນີ້"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ເບິ່ງແພັກເກດ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"ເບິ່ງລາຍລະອຽດ"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ຕົວປະຢັດອິນເຕີເນັດ"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ຂໍ້ມູນທີ່ບໍ່ຖືກຈຳກັດ"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ໃຊ້ແບັດເຕີຣີຫຼາຍກວ່າປົກກະຕິໃນລະຫວ່າງທີ່ເຮັດວຽກພື້ນຫຼັງ"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ໃຊ້ແບັດເຕີຣີຫຼາຍຂຶ້ນໃນລະຫວ່າງທີ່ເຮັດວຽກເບື້ອງໜ້າ"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ໃຊ້ແບັດເຕີຣີຫຼາຍກວ່າປົກກະຕິໃນລະຫວ່າງທີ່ເຮັດວຽກເບື້ອງໜ້າ"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ການໃຊ້ແບັດເຕີຣີຜິດປົກກະຕິ"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ການໃຊ້ແບັດເຕີຣີສູງ"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ການໃຊ້ແບັດເຕີຣີສູງໃນພື້ນຫຼັງ"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ການໃຊ້ແບັດເຕີຣີສູງໃນເບື້ອງໜ້າ"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ຊິ້ນສ່ວນການຕັ້ງຄ່າດ່ວນສຳລັບນັກພັດທະນາຊອບແວ"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"ປິດການໝົດເວລາການອະນຸຍາດ adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ປິດການມອບສິດການຍົກເລີກ adb ອັດຕະໂນມັດສຳລັບລະບົບທີ່ບໍ່ໄດ້ເຊື່ອມຕໍ່ພາຍໃນເວລາຕາມຄ່າເລີ່ມຕົ້ນ (7 ມື້) ຫຼື ຕາມທີ່ຜູ້ໃຊ້ກຳນົດ (ຂັ້ນຕ່ຳ 1 ມື້)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"ກາຮຄຕິດຕາມ Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ປີດເຊັນເຊີ"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ການຕັ້ງຄ່າໂປຣໄຟລ໌ບ່ອນເຮັດວຽກ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ຊອກຫາລາຍຊື່ຜູ້ຕິດຕໍ່ແຟ້ມວຽກໃນແອັບສ່ວນຕົວ"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ການນຳທາງລະບົບ, ການນຳທາງແບບ 2 ປຸ່ມ, ການນຳທາງແບບ 3 ປຸ່ມ, ການນຳທາງແບບທ່າທາງ, ປັດ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ຜູ້ຊ່ວຍດິຈິຕອນ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ປັດເພື່ອເອີ້ນໃຊ້ຜູ້ຊ່ວຍ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ປັດຂຶ້ນຈາກມຸມລຸ່ມສຸດເພື່ອເອີ້ນໃຊ້ແອັບຜູ້ຊ່ວຍດິຈິຕອນ."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ປັດຂຶ້ນຈາກມຸມທາງລຸ່ມເພື່ອເອີ້ນໃຊ້ແອັບຜູ້ຊ່ວຍດິຈິຕອນ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"ກົດປຸ່ມໜ້າຫຼັກສຳລັບຜູ້ຊ່ວຍ"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ກົດປຸ່ມໜ້າຫຼັກຄ້າງໄວ້ເພື່ອເອີ້ນໃຊ້ແອັບຜູ້ຊ່ວຍດິຈິຕອນ."</string>
     <string name="low_label" msgid="6525629096999711220">"ຕ່ຳ"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ບໍລິການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ບໍລິການຕື່ມຂໍ້ມູນອັດຕະໂນມັດຕາມຄ່າເລີ່ມຕົ້ນ"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"ລະ​ຫັດ​ຜ່ານ"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ບໍລິການເຄືອຂ່າຍຂໍ້ມູນ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ຜູ້ໃຫ້ບໍລິການເພີ່ມເຕີມ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ບໍລິການທີ່ຕ້ອງການ"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"ບໍລິການເພີ່ມເຕີມ"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# ລະຫັດຜ່ານ}other{# ລະຫັດຜ່ານ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ອັດຕະໂນມັດ, ຕື່ມຂໍ້ມູນ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ, ລະຫັດຜ່ານ"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ຂໍ້ມູນ, ກະແຈຜ່ານ, ລະຫັດຜ່ານ"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ອັດຕະໂນມັດ, ຕື່ມຂໍ້ມູນ, ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ, ຂໍ້ມູນ, ກະແຈຜ່ານ, ລະຫັດຜ່ານ"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ປ່ຽນ"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ເປີດ"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ບໍ່ໄດ້ເລືອກຫຍັງເທື່ອ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ໃຫ້ກວດສອບວ່າທ່ານເຊື່ອແອັບນີ້&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ຈະໃຊ້ສິ່ງທີ່ຢູ່ໃນໜ້າຈໍຂອງທ່ານເພື່ອກວດເບິ່ງວ່າຈະຕື່ມຂໍ້ມູນຫຍັງອັດຕະໂນມັດ."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;ໃຊ້ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ໃຊ້ສິ່ງທີ່ຢູ່ໜ້າຈໍຂອງທ່ານເພື່ອເບິ່ງວ່າຈະຕື່ມຂໍ້ມູນອັດຕະໂນມັດໃດໄດ້ແດ່. ລະຫັດຜ່ານໃໝ່, ກະແຈຜ່ານ ແລະ ຂໍ້ມູນອື່ນໆຈະຖືກບັນທຶກໄວ້ຢູ່ບ່ອນນີ້ນັບຈາກນີ້ເປັນຕົ້ນໄປ."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ບໍລິການຂໍ້ມູນ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ລະຫັດຜ່ານໃໝ່, ກະແຈຜ່ານ ແລະ ຂໍ້ມູນອື່ນໆຈະຖືກບັນທຶກໄວ້ບ່ອນນີ້ນັບຈາກນີ້ເປັນຕົ້ນໄປ. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ອາດໃຊ້ສິ່ງທີ່ຢູ່ໜ້າຈໍຂອງທ່ານເພື່ອເບິ່ງວ່າຈະຕື່ມຂໍ້ມູນອັດຕະໂນມັດໃດໄດ້ແດ່."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"ບໍລິການທີ່ຕ້ອງການສຳລັບລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"ປິດ %1$s ບໍ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ປິດບໍລິການນີ້ບໍ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ຂໍ້ມູນທີ່ບັນທຶກໄວ້ເຊັ່ນ: ລະຫັດຜ່ານ, ກະແຈຜ່ານ, ວິທີການຈ່າຍເງິນ ແລະ ຂໍ້ມູນອື່ນໆຈະບໍ່ຖືກຕື່ມໃສ່ເມື່ອທ່ານເຂົ້າສູ່ລະບົບ. ເພື່ອນຳໃຊ້ຂໍ້ມູນທີ່ບັນທຶກໄວ້, ໃຫ້ເລືອກລະຫັດຜ່ານ, ກະແຈຜ່ານ ຫຼື ບໍລິການຂໍ້ມູນ."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ການຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ປິດບໍລິການທັງໝົດບໍ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ລະບົບຈະບໍ່ຕື່ມຂໍ້ມູນລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ຂໍ້ມູນອື່ນໆທີ່ບັນທຶກໄວ້ໂດຍອັດຕະໂນມັດເມື່ອທ່ານເຂົ້າສູ່ລະບົບ"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;ປ່ຽນບໍລິການທີ່ທ່ານຕ້ອງການເປັນ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ລະຫັດຜ່ານໃໝ່, ກະແຈຜ່ານ ແລະ ຂໍ້ມູນອື່ນໆຈະຖືກບັນທຶກໄວ້ບ່ອນນີ້ນັບຈາກນີ້ເປັນຕົ້ນໄປ. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ອາດໃຊ້ສິ່ງທີ່ຢູ່ໜ້າຈໍຂອງທ່ານເພື່ອເບິ່ງວ່າຈະຕື່ມຂໍ້ມູນອັດຕະໂນມັດໃດໄດ້ແດ່"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"ໃຊ້ %1$s ບໍ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ປິດ"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ປ່ຽນ"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"ທ່ານສາມາດເປີດໃຊ້ບໍລິການໄດ້ພຽງ 5 ລາຍການເທົ່ານັ້ນ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ປິດບໍລິການຢ່າງໜ້ອຍ 1 ລາຍການເພື່ອເພີ່ມບໍລິການອື່ນ"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ໃຊ້ສິ່ງທີ່ຢູ່ໜ້າຈໍຂອງທ່ານເພື່ອລະບຸສິ່ງທີ່ສາມາດຕື່ມຂໍ້ມູນອັດຕະໂນມັດໄດ້."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ບໍລິການຂໍ້ມູນຈຳກັດ"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ທ່ານສາມາດມີໄດ້ເຖິງ 5 ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ການບໍລິການຂໍ້ມູນທີ່ມີການເຄື່ອນໄຫວໃນເວລາດຽວກັນ. ປິດບໍລິການໃດໜຶ່ງເພື່ອເພີ່ມອີກ."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ບໍລິການຂໍ້ມູນຈຳກັດ"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ທ່ານສາມາດມີໄດ້ເຖິງ 5 ລະຫັດຜ່ານ, ກະແຈຜ່ານ ແລະ ບໍລິການຂໍ້ມູນທີ່ມີການເຄື່ອນໄຫວໃນເວລາດຽວກັນ. ປິດບໍລິການໃດໜຶ່ງເພື່ອເພີ່ມອີກ."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ປິດ"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ຕື່ມຂໍ້ມູນອັດຕະໂນມັດ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ລະດັບການບັນທຶກ"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ສາມາດແກ້ໄຂການປ່ຽນແປງຄວາມເຂົ້າກັນໄດ້ຂອງແອັບສຳລັບແອັບທີ່ດີບັກໄດ້ເທົ່ານັ້ນ. ກະລຸນາຕິດຕັ້ງແອັບທີ່ສາມາດດີບັກໄດ້ແລ້ວລອງໃໝ່."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ຂຶ້ນກັບການຕັ້ງຄ່າອື່ນ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ບັນຊີ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ບັນຊີ"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ຊື່ອຸປະກອນ"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ຂໍ້ມູນພື້ນຖານ"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ກົດໝາຍ ແລະ ກົດລະບຽບ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"ອະນຸຍາດໃຫ້ເປີດໃຊ້ແອັບນີ້ເມື່ອແທັກ NFC ຖືກສະແກນ.\nຫາກເປີດການອະນຸຍາດນີ້ໄວ້, ແອັບຈະພ້ອມໃຫ້ນຳໃຊ້ເປັນຕົວເລືອກເມື່ອໃດກໍຕາມທີ່ກວດພົບແທັກ."</string>
     <string name="media_output_title" msgid="8283629315159510680">"ຫຼິ້ນມີເດຍໄປທີ່"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"ຫຼິ້ນຢູ່ <xliff:g id="LABEL">%s</xliff:g>"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ສຽງຈະຫຼິ້ນຢູ່"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ອຸປະກອນນີ້"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ບໍ່ສາມາດໃຊ້ໄດ້ລະຫວ່າງການໂທ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ຮັບສາຍຢູ່"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ປິດສຽງ"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ເພື່ອເປີດການນຳໃຊ້, ທຳອິດໃຫ້ປ່ຽນ \"ກົດປຸ່ມເປີດປິດຄ້າງໄວ້\" ເປັນເມນູເປີດປິດ."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ລາຍລະອຽດເຄືອຂ່າຍ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ຊື່ອຸປະກອນຂອງທ່ານຈະສະແດງໃຫ້ແອັບຕ່າງໆຢູ່ໂທລະສັບເຫັນ. ມັນອາດຖືກສະແດງໃຫ້ຄົນອື່ນເຫັນໃນເວລາທີ່ທ່ານເຊື່ອມຕໍ່ຫາອຸປະກອນ Bluetooth, ເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍ Wi-Fi ຫຼື ຕັ້ງຄ່າຮັອດສະປອດ Wi-Fi ນຳ."</string>
     <string name="devices_title" msgid="649715719278562515">"ອຸປະກອນ"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ເລືອກເຄືອຂ່າຍ"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ຕັດການເຊື່ອມຕໍ່ແລ້ວ"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ຊື່"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ສີ (ໃຊ້ໂດຍແອັບທີ່ໃຊ້ຮ່ວມກັນໄດ້)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ບັນທຶກ"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ໃຊ້ SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ໃຊ້ຊິມນີ້"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ປິດ"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ເພື່ອປິດການນຳໃຊ້ SIM ນີ້, ໃຫ້ຖອດ SIM ກາດອອກກ່ອນ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"ແຕະເພື່ອເປີດໃຊ້ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ລຶບ SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ເພື່ອປິດຊິມນີ້, ໃຫ້ເອົາຊິມກາດອອກ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"ແຕະເພື່ອເປີດໃຊ້ຊິມ <xliff:g id="CARRIER">%1$s</xliff:g> ຂອງທ່ານ"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ລຶບ eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ປ່ຽນໂໝດປະຕິບັດການຂອງເຄືອຂ່າຍ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ປະເພດເຄືອຂ່າຍທີ່ຕ້ອງການ"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ກະລຸນາກວດສອບລາຄາກັບຜູ້ໃຫ້ບໍລິການເຄືອຂ່າຍຂອງທ່ານ."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ການໃຊ້ຂໍ້ມູນແອັບ"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ໂໝດເຄືອຂ່າຍ <xliff:g id="NETWORKMODEID">%1$d</xliff:g> ບໍ່ຖືກຕ້ອງ. ບໍ່ສົນໃຈ."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"ການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ສົ່ງ ແລະ ຮັບຂໍ້ຄວາມຜ່ານດາວທຽມ. ຮວມຢູ່ໃນບັນຊີຂອງທ່ານ."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ສົ່ງ ແລະ ຮັບຂໍ້ຄວາມຜ່ານດາວທຽມ. ບໍ່ຮວມຢູ່ໃນບັນຊີຂອງທ່ານ."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"ການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"ກ່ຽວກັບການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມ"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"ທ່ານສາມາດສົ່ງ ແລະ ຮັບຂໍ້ຄວາມຜ່ານດາວທຽມໄດ້ໂດຍເປັນພາກສ່ວນໜຶ່ງຂອງບັນຊີ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ທີ່ມີສິດ"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"ແພັກເກດ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ຂອງທ່ານ"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມຮວມຢູ່ໃນບັນຊີຂອງທ່ານ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມບໍ່ໄດ້ຮວມຢູ່ໃນບັນຊີຂອງທ່ານ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"ເພີ່ມການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມ"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ມັນເຮັດວຽກແນວໃດ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"ເມື່ອທ່ານບໍ່ມີເຄືອຂ່າຍມືຖື"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ໂທລະສັບຂອງທ່ານຈະເຊື່ອມຕໍ່ກັບດາວທຽມໂດຍອັດຕະໂນມັດ. ສຳລັບການເຊື່ອມຕໍ່ທີ່ດີທີ່ສຸດ, ກະລຸນາຢູ່ໃນພື້ນທີ່ທີ່ເບິ່ງເຫັນທ້ອງຟ້າໄດ້ຢ່າງຊັດເຈນ."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"ຫຼັງຈາກທີ່ໂທລະສັບຂອງທ່ານເຊື່ອມຕໍ່ກັບດາວທຽມ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"ທ່ານສາມາດສົ່ງຂໍ້ຄວາມຫາໃຜກໍໄດ້, ເຊິ່ງຮວມທັງບໍລິການສຸກເສີນ. ໂທລະສັບຂອງທ່ານຈະເຊື່ອມຕໍ່ກັບເຄືອຂ່າຍມືຖືອີກຄັ້ງເມື່ອມີໃຫ້ໃຊ້."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"ການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມອາດໃຊ້ເວລາດົນກວ່າປົກກະຕິ ແລະ ພ້ອມໃຫ້ບໍລິການໃນບາງພື້ນທີ່ເທົ່ານັ້ນ, ສະພາບອາກາດ ແລະ ໂຄງສ້າງບາງຢ່າງອາດສົ່ງຜົນຕໍ່ການເຊື່ອມຕໍ່ຜ່ານດາວທຽມຂອງທ່ານ. ການໂທຜ່ານດາວທຽມບໍ່ພ້ອມໃຫ້ບໍລິການ.\n\nລະບົບອາດໃຊ້ເວລາໄລຍະໜຶ່ງຈົນກວ່າການປ່ຽນແປງໃນບັນຊີຂອງທ່ານຈະສະແດງໃນການຕັ້ງຄ່າ. ຕິດຕໍ່ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ສຳລັບລາຍລະອຽດ."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ຂໍ້ມູນເພີ່ມເຕີມກ່ຽວກັບການຮັບສົ່ງຂໍ້ຄວາມຜ່ານດາວທຽມ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ຊື່ຈຸດເຂົ້າເຖິງ (APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"ບໍ່ສາມາດໃຊ້ໄດ້ເມື່ອເຊື່ອມຕໍ່ກັບ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"ສະຫຼັບໄປໃຊ້ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ບໍ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ສະຫຼັບໄປໃຊ້ຊິມກາດບໍ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"ໃຊ້ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ບໍ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ສາມາດເປີດໃຊ້ເທື່ອລະຊິມເທົ່ານັ້ນ.\n\nການສະຫຼັບໄປໃຊ້ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ຈະບໍ່ຍົກເລີກບໍລິການ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ຂອງທ່ານ."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ສາມາດເປີດໃຊ້ eSIM ໄດ້ເທື່ອລະ 1 ຊິມເທົ່ານັ້ນ.\n\nການປ່ຽນໄປໃຊ້ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ຈະບໍ່ຍົກເລີກບໍລິການ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ຂອງທ່ານ."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ສາມາດເປີດໃຊ້ໄດ້ເທື່ອລະຊິມເທົ່ານັ້ນ.\n\nການສະຫຼັບຈະບໍ່ຍົກເລີກບໍລິການ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ຂອງທ່ານ."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ສາມາດເປີດໃຊ້ໄດ້ເທື່ອລະ 1 ຊິມເທົ່ານັ້ນ.\n\nການສະຫຼັບໄປໃຊ້ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ຈະບໍ່ຍົກເລີກບໍລິການຂອງ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ຂອງທ່ານ."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ສາມາດເປີດໃຊ້ eSIM ໄດ້ເທື່ອລະ 1 ຊິມເທົ່ານັ້ນ.\n\nການສະຫຼັບໄປໃຊ້ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ຈະບໍ່ຍົກເລີກບໍລິການຂອງ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ຂອງທ່ານ."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ສາມາດເປີດໃຊ້ໄດ້ເທື່ອລະ 1 ຊິມເທົ່ານັ້ນ.\n\nການສະຫຼັບໃຊ້ເຄືອຂ່າຍຈະບໍ່ຍົກເລີກບໍລິການຂອງ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ຂອງທ່ານ."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ທ່ານສາມາດໃຊ້ 2 ຊິມພ້ອມກັນໄດ້. ເພື່ອໃຊ້ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, ໃຫ້ປິດອີກຊິມໄວ້ກ່ອນ."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"ສະຫຼັບໄປ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"ປິດ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"ການປິດຊິມຈະບໍ່ຍົກເລີກບໍລິການຂອງທ່ານ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ກຳລັງເຊື່ອມຕໍ່ຫາເຄືອຂ່າຍ…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"ກຳລັງສະຫຼັບໄປຫາ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ສຳລັບການໂທ ແລະ ຂໍ້ຄວາມ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"ບໍ່ສາມາດສະຫຼັບຜູ້ໃຫ້ບໍລິການໄດ້"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ບໍ່ສາມາດສະຫຼັບຜູ້ໃຫ້ບໍລິການໄດ້ເນື່ອງຈາກເກີດຄວາມຜິດພາດຂຶ້ນ."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"ກຳລັງເປິດໃຊ້ຊິມຂອງທ່ານ…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"ກຳລັງປ່ຽນເປັນ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"ສະຫຼັບຊິມບໍ່ໄດ້"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ. ສະຫຼັບຊິມບໍ່ໄດ້."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"ປິດ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ໄວ້ບໍ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"ປິດ SIM ບໍ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ກຳລັງປິດ SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"ບໍ່ສາມາດປິດການນຳໃຊ້ຜູ້ໃຫ້ບໍລິການໄດ້"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ ແລະ ບໍ່ສາມາດປິດການນຳໃຊ້ຜູ້ໃຫ້ບໍລິການຂອງທ່ານໄດ້."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"ປິດຊິມບໍ່ໄດ້"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ ແລະ ບໍ່ສາມາດປິດຊິມຂອງທ່ານໄດ້."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"ໃຊ້ 2 ຊິມບໍ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ອຸປະກອນນີ້ສາມາດເປີດໃຊ້ 2 ຊິມໄດ້ພ້ອມກັນ. ເພື່ອດຳເນີນການຕໍ່ໂດຍໃຊ້ເທື່ອລະຊິມ, ໃຫ້ແຕະໃສ່ \"ບໍ່, ຂອບໃຈ\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ຣີສະຕາດອຸປະກອນບໍ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ບໍ່, ຂອບໃຈ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ຍົກເລີກ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ສະຫຼັບ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ປິດ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ບໍ່ສາມາດເປີດນຳໃຊ້ຊິມໄດ້"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ໃຫ້ລອງເປີດຊິມຄືນໃໝ່. ຫາກຍັງຄົງພົບບັນຫາຢູ່, ໃຫ້ຣີສະຕາດອຸປະກອນຂອງທ່ານ."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ຕັ້ງຄ່າຊິມຂອງທ່ານ"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ຕັ້ງຄ່າເຄືອຂ່າຍມືຖືຂອງທ່ານເພື່ອໃຊ້ຫຼາຍຊິມຢູ່ອຸປະກອນນີ້"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ຕິດປ້າຍກຳກັບຊິມຂອງທ່ານ"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ທ່ານຈະເຫັນປ້າຍກຳກັບເຫຼົ່ານີ້ເມື່ອດຳເນີນການໂທ, ສົ່ງຂໍ້ຄວາມ ແລະ ເຊື່ອມຕໍ່ອິນເຕີເນັດ, ຮວມທັງໃນການຕັ້ງຄ່າ"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"ປ້າຍກຳກັບຊິມ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ປ້າຍກຳກັບ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"ເລືອກຊິມທີ່ຈະໃຊ້"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ທ່ານສາມາດໃຊ້ 2 ຊິມພ້ອມກັນໄດ້"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ຕັ້ງຊິມຫຼັກຂອງທ່ານ"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ເລືອກຊິມທີ່ຈະໃຊ້ເປັນຄ່າເລີ່ມຕົ້ນສຳລັບການໂທ, ສົ່ງຂໍ້ຄວາມ ແລະ ເຊື່ອມຕໍ່ອິນເຕີເນັດ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ຊິມຫຼັກຂອງທ່ານ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ການໂທ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ຂໍ້ຄວາມ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ການສະຫຼັບການເຊື່ອມຕໍ່ອິນເຕີເນັດອັດຕະໂນມັດ"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ໃຊ້ການເຊື່ອມຕໍ່ອິນເຕີເນັດຈາກຊິມໃດກໍໄດ້ໂດຍຂຶ້ນຢູ່ກັບພື້ນທີ່ຄອບຄຸມ ແລະ ຄວາມພ້ອມໃຫ້ນຳໃຊ້"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ໃຊ້ເຊື່ອມຕໍ່ອິນເຕີເນັດເທົ່ານັ້ນ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ຕັ້ງຄ່າ"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ຕໍ່ໄປ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"ກຳລັງເປີດ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"ເຄືອຂ່າຍມືຖື"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ເບີໂທລະສັບ"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"ປ້າຍກຳກັບ ແລະ ສີຊິມ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ການເປີດນຳໃຊ້ເຄືອຂ່າຍ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"ການສະຫຼັບຜູ້ໃຫ້ບໍລິການ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"ເປີດໃຊ້ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ຢູ່"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ຊິມ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ຂອງທ່ານເປີດໃຊ້ຢູ່"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"ແຕະເພື່ອອັບເດດການຕັ້ງຄ່າຊິມກາດ"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"ສະຫຼັບໄປໃຊ້ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ແລ້ວ"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"ສະຫຼັບໄປໃຊ້ຜູ້ໃຫ້ບໍລິການອື່ນແລ້ວ"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"ປ່ຽນເຄືອຂ່າຍມືຖືຂອງທ່ານແລ້ວ"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"ຕັ້ງຄ່າ SIM ອື່ນຂອງທ່ານ"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"ເລືອກ SIM ທີ່ທ່ານຈະໃຊ້ ຫຼື ໃຊ້ 2 SIM ພ້ອມກັນ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ເລືອກເບີທີ່ຈະໃຊ້"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ສາມາດໃຊ້ໄດ້ 1 ໝາຍເລກຢູ່ອຸປະກອນນີ້, ແຕ່ໃຊ້ໄດ້ເທື່ອລະໝາຍເລກເທົ່ານັ້ນ}=2{ສາມາດໃຊ້ໄດ້ 2 ໝາຍເລກຢູ່ອຸປະກອນນີ້, ແຕ່ໃຊ້ໄດ້ເທື່ອລະໝາຍເລກເທົ່ານັ້ນ}other{ສາມາດໃຊ້ໄດ້ # ໝາຍເລກຢູ່ອຸປະກອນນີ້, ແຕ່ໃຊ້ໄດ້ເທື່ອລະໝາຍເລກເທົ່ານັ້ນ}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"ກຳລັງເປີດນຳໃຊ້ <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ບໍ່ສາມາດເປີດນຳໃຊ້ໄດ້ໃນຕອນນີ້"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ເລືອກຊິມເພື່ອໃຊ້"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ສາມາດໃຊ້ໄດ້ 1 ຊິມຢູ່ອຸປະກອນນີ້, ແຕ່ໃຊ້ໄດ້ເທື່ອລະອັນເທົ່ານັ້ນ}=2{ສາມາດໃຊ້ໄດ້ 2 ຊິມຢູ່ອຸປະກອນນີ້, ແຕ່ໃຊ້ໄດ້ເທື່ອລະອັນເທົ່ານັ້ນ}other{ສາມາດໃຊ້ໄດ້ # ຊິມຢູ່ອຸປະກອນນີ້, ແຕ່ໃຊ້ໄດ້ເທື່ອລະອັນເທົ່ານັ້ນ}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ກຳລັງເປີດໃຊ້<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ບໍ່ສາມາດເປີດໃຊ້ຊິມນີ້ໄດ້ຕອນນີ້"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"ໃຊ້ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ບໍ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ຈະຖືກໃຊ້ສຳລັບອິນເຕີເນັດມືຖື, ການໂທ ແລະ SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ບໍ່ມີ SIM ທີ່ສາມາດໃຊ້ໄດ້"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"ເພື່ອໃຊ້ອິນເຕີເນັດມືຖື, ຄຸນສົມບັດການໂທ ແລະ SMS ໃນພາຍຫຼັງ, ໃຫ້ໄປທີ່ການຕັ້ງຄ່າເຄືອຂ່າຍຂອງທ່ານ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ຊິມ"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ລຶບ eSIM ນີ້ບໍ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ການລຶບ SIM ນີ້ຈະລຶບບໍລິການ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ອອກຈາກອຸປະກອນນີ້.\n\nຈະບໍ່ຍົກເລີກບໍລິການສຳລັບ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ການດຳເນີນການນີ້ຈະລຶບບໍລິການຂອງ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ອອກຈາກອຸປະກອນນີ້, ແຕ່ຈະບໍ່ຍົກເລີກແພັກເກດຂອງ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ລຶບ"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"ກຳລັງລຶບ SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ບໍ່ສາມາດລຶບ SIM ອອກໄດ້ເນື່ອງຈາກມີຂໍ້ຜິດພາດ.\n\nກະລຸນາຣີສະຕາດອຸປະກອນຂອງທ່ານແລ້ວລອງໃໝ່."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ກຳລັງລຶບ eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ບໍ່ສາມາດລຶບ eSIM ໄດ້"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"ມີບາງຢ່າງຜິດພາດເກີດຂຶ້ນ ແລະ ບໍ່ສາມາດລຶບ eSIM ນີ້ໄດ້.\n\nກະລຸນາຣີສະຕາດອຸປະກອນຂອງທ່ານ ແລ້ວລອງໃໝ່."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ເຊື່ອມຕໍ່ຫາອຸປະກອນ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"ແອັບ <xliff:g id="APPNAME">%1$s</xliff:g> ຕ້ອງການໃຊ້ເຄືອຂ່າຍ Wi‑Fi ຊົ່ວຄາວເພື່ອເຊື່ອມຕໍ່ຫາອຸປະກອນຂອງທ່ານ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ບໍ່ພົບອຸປະກອນ. ກະລຸນາກວດສອບວ່າເປີດອຸປະກອນແລ້ວ ແລະ ສາມາດເຊື່ອມຕໍ່ໄດ້."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"​ການ​ໂທ​ສຸກ​ເສີນ"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"ຜູ້ໃຫ້ບໍລິການຂອງທ່ານບໍ່ຮອງຮັບການໂທສຸກເສີນຜ່ານ Wi‑Fi.\nອຸປະກອນຈະສະຫຼັບໄປໃຊ້ເຄືອຂ່າຍມືຖືໂດຍອັດຕະໂນມັດເພື່ອໂທສຸກເສີນ.\nທ່ານສາມາດໂທສຸກເສີນໄດ້ສະເພາະໃນເວລາທີ່ຢູ່ໃນພື້ນທີ່ທີ່ມີສັນຍານໂທລະສັບມືຖືເທົ່ານັ້ນ."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ໃຊ້ Wi‑Fi ສຳລັບການໂທເພື່ອປັບປຸງຄຸນນະພາບ"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ການໂທສຳຮອງ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"ຫາກ <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ບໍ່ສາມາດໃຊ້ໄດ້ ຫຼື ກຳລັງໂຣມມິງຢູ່, ໃຫ້ໃຊ້ຊິມອິນເຕີເນັດມືຖືຂອງທ່ານສຳລັບການໂທ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ການໂທສຳຮອງ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ຂໍ້ຄວາມ MMS ຂາເຂົ້າ"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"ບໍ່ສາມາດສົ່ງຂໍ້​ຄວາມ MMS ໄດ້"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ແຕະເພື່ອອະນຸຍາດໃຫ້ສົ່ງຂໍ້ຄວາມ MMS ຢູ່ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> ໄດ້ເມື່ອປິດການໃຊ້ອິນເຕີເນັດມືຖື"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ຂໍ້ມູນນະໂຍບາຍວຽກຂອງທ່ານ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ການຕັ້ງຄ່າແມ່ນຈັດການໂດຍຜູ້ເບິ່ງແຍງໄອທີຂອງທ່ານ"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"ເປີດດ້ວຍໜ້າຂະໜາດ 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"ເປີດອຸປະກອນໂດຍໃຊ້ເຄີເນວທີ່ຮອງຮັບໜ້າຂະໜາດ 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"ປິດເປີດໃໝ່ດ້ວຍເຄີເນວທີ່ໃຊ້ໄດ້ກັບໜ້າຂະໜາດ 16KB ບໍ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ຄຳເຕືອນ: ບາງແອັບພລິເຄຊັນອາດໃຊ້ບໍ່ໄດ້ກັບໂໝດນີ້. ອຸປະກອນຈະປິດເປີດໃໝ່ຫຼັງຈາກການຢືນຢັນ."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"ປິດເປີດໃໝ່ດ້ວຍເຄີເນວທີ່ໃຊ້ໄດ້ກັບໜ້າຂະໜາດ 4KB ບໍ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"ອຸປະກອນຈະປິດເປີດໃໝ່ຫຼັງຈາກການຢືນຢັນ."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"ອັບເດດເປັນເຄີເນວທີ່ໃຊ້ໄດ້ກັບໜ້າຂະໜາດ 16KB ບໍ່ສຳເລັດ."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ກຳລັງນຳໃຊ້ການປ່ຽນແປງ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ເຄື່ອງຈັດການລາຍງານຂໍ້ຜິດພາດ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ເລືອກແອັບທີ່ຈະໃຫ້ຈັດການທາງລັດລາຍງານຂໍ້ຜິດພາດຢູ່ອຸປະກອນຂອງທ່ານ."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ສ່ວນຕົວ"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"ອະນຸຍາດໃຫ້ແອັບທີ່ສາມາດສະແດງຜົນທັບແອັບອື່ນເພື່ອຊ້ອນໜ້າຈໍການຕັ້ງຄ່າ"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"ອະນຸຍາດ Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ອະນຸຍາດໃຫ້ອຸປະກອນນີ້ເອີ້ນໃຊ້ບໍລິການ Mock Modem ສຳລັບການທົດສອບເຄື່ອງມືໄດ້. ກະລຸນາຢ່າເປີດການນຳໃຊ້ສິ່ງນີ້ໃນລະຫວ່າງການໃຊ້ໂທລະສັບຕາມປົກກະຕິ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"ປິດການນຳໃຊ້ການປົກປ້ອງການແບ່ງປັນໜ້າຈໍ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"ປິດການນຳໃຊ້ການປົກປ້ອງແອັບ ແລະ ການແຈ້ງເຕືອນທີ່ລະບົບໃຊ້ໃນລະຫວ່າງການແບ່ງປັນໜ້າຈໍ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"ມີເດຍ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"ປັກໝຸດເຄື່ອງຫຼິ້ນມີເດຍ"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"ເພື່ອສືບຕໍ່ການຫຼິ້ນແບບໄວໆ, ເຄື່ອງຫຼິ້ນມີເດຍຈະເປີດປະໄວ້ໃນການຕັ້ງຄ່າດ່ວນ"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ສະແດງມີເດຍຢູ່ໜ້າຈໍລັອກ"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"ເພື່ອສືບຕໍ່ການຫຼິ້ນໃນທັນທີ, ເຄື່ອງຫຼິ້ນມີເດຍຈະເປີດປະໄວ້ຢູ່ໜ້າຈໍລັອກ"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"ສະແດງການແນະນຳມີເດຍ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"ສະແດງການແນະນຳມີເດຍຈາກຜູ້ຊ່ວຍ"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"ອ້າງອີງຈາກການເຄື່ອນໄຫວຂອງທ່ານ"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ເຊື່ອງຕົວຫຼິ້ນ"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ສະແດງຕົວຫຼິ້ນ"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"ມີເດຍ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"ອະນຸຍາດສ່ວນຂະຫຍາຍຊອບແວກ້ອງຖ່າຍຮູບ"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"ເປີດການນຳໃຊ້ການໃຊ້ຊອບແວເລີ່ມຕົ້ນຂອງຄຸນສົມບັດກ້ອງຖ່າຍຮູບຂັ້ນສູງ, ເຊັ່ນ: ການຖ່າຍວິດີໂອແບບ Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth ຈະ​ເປີດ"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ອິນເຕີເນັດ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ຊິມ"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"ນຳໃຊ້ຢູ່"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ບໍ່ໄດ້ນຳໃຊ້"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ເປີດຢູ່"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ປິດຢູ່"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / ຄ່າເລີ່ມຕົ້ນສຳລັບ <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ການໂທ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ສຽງຈາກມີເດຍທີ່ເຂົ້າກັນໄດ້ຈະມີຄວາມສົມຈິງຍິ່ງຂຶ້ນ"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ການຕິດຕາມຫົວ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ສຽງຈະປ່ຽນເມື່ອທ່ານຍັບຫົວຂອງທ່ານເພື່ອໃຫ້ສຽງເປັນທຳມະຊາດຍິ່ງຂຶ້ນ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ການອະນຸຍາດການຊິ້ງຂໍ້ມູນ"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"ໃຫ້ການອະນຸຍາດແອັບກັບ <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ຄືກັນກັບທີ່ທ່ານໄດ້ອະນຸຍາດຢູ່ <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ຊິ້ງການອະນຸຍາດຈາກໂທລະສັບ"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ໃຫ້ການອະນຸຍາດແອັບກັບໂມງຂອງທ່ານຄືກັນກັບທີ່ທ່ານໄດ້ອະນຸຍາດຢູ່ໂທລະສັບເຄື່ອງນີ້"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ປະເພດເຄື່ອງສຽງ"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"ບໍ່ຮູ້ຈັກ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ລຳໂພງ"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"ປານກາງ"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ສູງ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ແອັບນີ້ສາມາດເປີດໄດ້ໃນ 1 ໜ້າຈໍເທົ່ານັ້ນ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ເປີດຢູ່"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ປິດຢູ່"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ປິດຢູ່"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ປິດ"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ເປີດ"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ປິດ"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ເປີດ"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ປິດ"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ປ່ຽນໜ້າຈໍທີ່ແຈ້ງໃຫ້ມືດ ແລະ ປັບໜ້າຈໍທີ່ມືດໃຫ້ແຈ້ງ"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ຊູມເຂົ້າຢູ່ໜ້າຈໍ"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ປິດ"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ປິດ"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ການສະແກນຫາແອັບຫຼອກລວງ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ກວດສອບການເຄື່ອນໄຫວແອັບສຳລັບການຫຼອກເອົາຂໍ້ມູນ"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ໃຊ້ການສະແກນຫາແອັບທີ່ຫຼອກລວງ"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ໃຊ້ການສະແກນຫາແອັບທີ່ຫຼອກລວງສຳລັບການເຮັດວຽກ"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"ລະຫັດຜ່ານໄດ້ຮັບການຕັ້ງຄ່າແລ້ວ"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"ສະແດງຕົວຊີ້ເມື່ອວາງປາກກາໄວ້ເທິງ"</string>
 </resources>
diff --git a/res/values-lt/arrays.xml b/res/values-lt/arrays.xml
index 9c66346..450a3f7 100644
--- a/res/values-lt/arrays.xml
+++ b/res/values-lt/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Pasiekiamas"</item>
     <item msgid="6096962300722555553">"Nepasiekiama"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Išjungta"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"„Unicast“ ir „Broadcast“"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Naudoti numatytuosius sistemos nustatymus: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Po vienos minutės"</item>
     <item msgid="1574040255478150028">"Po penkių minučių"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-lt/strings.xml b/res/values-lt/strings.xml
index 1414834..0c5b550 100644
--- a/res/values-lt/strings.xml
+++ b/res/values-lt/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Dabar esate kūrėjas!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nereikia, jūs jau esate kūrėjas."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Pirmiausia įgalinkite kūrėjo parinktis."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Tik naudotojai administratoriai gali pasiekti kūrėjo nustatymus."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Aptarnaujama"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Paslaugos neteikiamos"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Priekinis rodinys įjungiamas sulenkus įrenginį"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Tik žaidimai, vaizdo įrašai ir kt."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Priekinis rodinys įjungiamas programose, kurios išjungia neaktyvų ekraną"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Perbraukite aukštyn ir tęskite"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Sulenkite telefoną ir perbraukite aukštyn priekiniame rodinyje, jei norite toliau naudoti programą, arba palaukite kelias sekundes, kol ekranas bus užrakintas"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Niekada"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Priekinis rodinys užrakinamas sulenkus įrenginį"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Automatinio pasukimo naudojimas"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Susiję"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Skambėjimo tonas ir signalai"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Garsas vykstant skambučiams"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Medija"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Pranešimai ir sistemos garsai"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Medijos ir sistemos garsai"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Pranešimai"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Pagal numatytuosius nustatymus garso išvestis nustatoma atsižvelgiant į atskiras programas"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"„Bluetooth“ įrenginys be pavadinimo"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Ieškoma"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Atšaukti"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"„Bluetooth LE Audio“ išjungimas"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Jei įrenginys palaiko „LE Audio“ aparatinės įrangos galimybes, išjungiama funkcija „Bluetooth LE Audio“."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"„Bluetooth LE Audio“ režimas"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Rodyti „LE Audio“ jungiklį įrenginio informacijoje"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Įgalinti „Bluetooth LE Audio“ leidžiamųjų sąrašą"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Įgalinti „Bluetooth LE Audio“ leidžiamųjų sąrašo funkciją."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"„Bluetooth LE Audio“ leidžiamųjų sąrašo išskyrimas"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Naudoti „LE Audio“ pagal numatytuosius nustatymus, net jei „LE Audio“ išorinis įrenginys nebuvo patvirtintas kaip atitinkantis leidžiamųjų sąrašo kriterijus."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Laikmenos"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Skambinimo įrenginiai"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Kiti įrenginiai"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Išsaugoti įrenginiai"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Susieta su paskyra"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Anksčiau naudota su paskyra"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bus įjungtas „Bluetooth“, kad būtų galima susieti"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ryšio nuostatos"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Anksčiau susieti"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"„Bluetooth“ įjungtas"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Žr. viską"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Žiūrėti viską"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Rašiklis"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Rašiklio mygtuko paspaudimas"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (darbo profilis)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Rašymas teksto laukuose"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Visų rašiklio mygtuko paspaudimų nepaisymas"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Rašiklis"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Garso bendrinimas"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Bendrinti garsą"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Skambučiai ir signalai"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Prisijunkite prie garso srauto naudodami QR kodą"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Netoliese nerasta jokių garso srautų."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data ir laikas"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Tarpinis serveris"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Išvalyti"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Pridėti %s prie pageidaujamų kalbų?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Tai nurodo programoms ir svetainėms, kad jūs taip pat teikiate pirmenybę šiai kalbai."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Pasikeis įrenginio nustatymai ir tinkamumo nustatymai pagal regioną."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Keisti"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nepasiekiama"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Šeštadienis"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Jei programa nepalaiko tinkamumo nustatymų pagal regioną, ji naudos savo numatytuosius lokalės nustatymus."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Sužinokite daugiau apie kalbos nuostatas."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Papildomos nuostatos"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Kreipimosi terminai"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Nustatykite, kaip į jus kreiptis"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Programose gali būti naudojami kreipimosi terminai, kad į jus būtų kreipiamasi suasmenintai."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nenurodyta"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Moteriškoji giminė"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Vyriškoji giminė"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutralu"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Pašalinti pasirinktą kalbą?}one{Pašalinti pasirinktas kalbas?}few{Pašalinti pasirinktas kalbas?}many{Pašalinti pasirinktas kalbas?}other{Pašalinti pasirinktas kalbas?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekstas bus rodomas kita kalba."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Negalima pašalinti visų kalbų"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Vietovė"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Naudoti vietovę"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Išjungti"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Sužinokite daugiau apie vietovės nustatymus."</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="3574930966097093550">"Jei norite pakeisti prieigą prie vietovės, eikite į skiltį „Nustatymai“ &gt; „Sauga ir privatumas“ &gt; „Privatumo valdikliai“"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Paskyros"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sauga"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifruotė ir prisijungimo duomenys"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Kad pasiektumėte geriausių rezultatų, naudokite „Made for Google“ sertifikuotą apsauginį ekrano stiklą. Naudojant kitus apsauginius ekrano stiklus vaiko kontrolinis kodas gali neveikti."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Laikrodžio atrakinimas"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Jei nustatote atrakinimą pagal veidą ir atrakinimą piršto atspaudu, telefone prašoma piršto atspaudo, kai dėvite kaukę arba esate tamsioje vietoje.\n\nJei nepavyksta jūsų atpažinti pagal veidą ar piršto atspaudą, galite atrakinti naudodami laikrodį."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Jei nepavyksta jūsų atpažinti pagal piršto atspaudą, galite atrakinti naudodami laikrodį."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Jei nepavyksta jūsų atpažinti pagal veidą, galite atrakinti naudodami laikrodį."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Jei nustatote atrakinimą pagal veidą ir atrakinimą piršto atspaudu, telefone prašoma piršto atspaudo, kai dėvite kaukę arba esate tamsioje vietoje.\n\nLaikrodžio atrakinimo funkcija yra dar vienas patogus būdas atrakinti telefoną, pvz., kai jūsų pirštai šlapi arba kai nepavyksta atpažinti jūsų veido."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Laikrodžio atrakinimo funkcija yra dar vienas patogus būdas atrakinti telefoną, pvz., kai nepavyksta atpažinti jūsų piršto atspaudo."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Laikrodžio atrakinimo funkcija yra dar vienas patogus būdas atrakinti telefoną, pvz., kai nepavyksta atpažinti jūsų veido"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Naudokite piršto atspaudą arba laikrodį toliau nurodytiems veiksmams atlikti."</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Naudokite veidą arba laikrodį toliau nurodytiems veiksmams atlikti."</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Naudokite veidą, piršto atspaudą arba laikrodį toliau nurodytiems veiksmams atlikti."</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Laikrodžio atrakinimo funkcija yra dar vienas patogus būdas atrakinti šį telefoną, pvz., kai jūsų pirštai šlapi arba kai nepavyksta atpažinti jūsų veido.\n\nGalite atrakinti šį telefoną naudodami laikrodį, atlikę toliau nurodytus veiksmus."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ne dabar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Tęsti"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Daugiau"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Kaip tai veikia"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Laikrodis turi būti atrakintas, uždėtas ant riešo ir netoli šio telefono. Kol laikrodis bus ant riešo, nereikės jo iš naujo atrakinti."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kai šis telefonas bus atrakintas, gausite pranešimą laikrodyje. Jei telefonas atrakinamas, nors nenorėjote to padaryti, palieskite pranešimą vėl užrakinti telefoną."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Viską valdote jūs"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Galite bet kada atšaukti laikrodžio funkciją „Laikrodžio atrakinimas“ skiltyje „Nustatymai“"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Palieskite pranešimą"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Perbraukite aukštyn užrakinimo ekrane"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Laikrodžio pasirinkimas"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Pasiekiami laikrodžiai"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Atšaukti"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Patvirtinti"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Viskas nustatyta!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Dabar galite atrakinti šį telefoną naudodami laikrodį, perbraukę aukštyn užrakinimo ekrane arba palietę pranešimą"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Atlikta"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Laikrodžio atrakinimas"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Galite atrakinti šį telefoną naudodami laikrodį, perbraukę aukštyn užrakinimo ekrane arba palietę pranešimą"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Kad galėtumėte naudoti Laikrodžio atrakinimo funkciją, laikrodis turi būti atrakintas, uždėtas ant riešo, netoli šio telefono ir prie jo prijungtas. Jei ryšys bus pertrauktas, turėsite atrakinti telefoną, kad galėtumėte naudoti Laikrodžio atrakinimo funkciją.\n\nAtminkite\nVienu metu galite turėti tik vieną susietą laikrodį. Jei norite pridėti kitą laikrodį, pirmiausia pašalinkite esamą."</string>
+    <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">"Piršto atspaudas ir atrakinimas pagal veidą"</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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sauga"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privatumas"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Darbo profilis"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privati erdvė"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Privačių programų užrakinimas ir slėpimas"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Laikykite privačias programas atskiroje erdvėje, kurią galite slėpti ar užrakinti"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Privačios erdvės užraktas"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Galite atrakinti privačią erdvę taip pat, kaip atrakinate įrenginį, arba pasirinkti kitą užraktą"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Įrenginio ekrano užrakto naudojimas"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Atrakinimas pagal veidą ir piršto atspaudu"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Atrakinimas piršto atspaudu"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Atrakinimas pagal veidą"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Palieskite, kad atliktumėte sąranką"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Privačios erdvės atrakinimas piršto atspaudu"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Privačios erdvės atrakinimas pagal veidą"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Atrakinimo metodai"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Toks pats kaip įrenginio ekrano užraktas"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Pasirinkti naują privačios erdvės užraktą?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Užrakinti privačią erdvę automatiškai"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Galite automatiškai užrakinti privačią erdvę, jei tam tikrą laikotarpį nenaudojote įrenginio"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Kaskart, kai įrenginys užrakinamas"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Po penkių neaktyvumo minučių"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Niekada"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Slėpimas užrakinus"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Užrakintos privačios erdvės slėpimas"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Jei nenorite, kad kiti žmonės žinotų, jog turite privačią erdvę savo įrenginyje, galite slėpti ją programų sąraše"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Prieiga prie paslėptos privačios erdvės"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Programų sąrašo paieškos juostoje įveskite „privati erdvė“"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Palieskite privačios erdvės išklotinės elementą"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Atrakinti privačią erdvę"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Išjungti"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Įjungti"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Ištrinti privačią erdvę"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Ištrinti privačią erdvę?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Jūsų privati erdvė bus pašalinta iš įrenginio. Visos privačios programos ir duomenys bus ištrinti. Negalite anuliuoti šio veiksmo."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Toliau nurodytos paskyros bus pašalintos iš jūsų privačios erdvės."</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Ištrinti"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Ištrinama privati erdvė…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Tai užtruks kelias akimirkas"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privati erdvė ištrinta"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Nepavyko ištrinti privačios erdvės"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privati erdvė atrakinta"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Nustatykite ekrano užraktą"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Jei norite naudoti privačią erdvę, nustatykite ekrano užraktą šiame įrenginyje"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekrano užrakto nustatymas"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Atšaukti"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Atšaukti"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Nustatyti"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Privačios erdvės nustatymas"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Laikykite privačias programas atskiroje erdvėje, kurią galite slėpti ar užrakinti"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Kaip tai veikia"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Privačią erdvę galite pasiekti iš programų sąrašo apačios"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Programos privačioje erdvėje saugomos jas užrakinant"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Pranešimai iš programų privačioje erdvėje slepiami, kai ji užrakinta"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Programos privačioje erdvėje nebus rodomos leidimų tvarkytuvėje, privatumo informacijos suvestinėje ir kituose nustatymuose, kai privati erdvė bus užrakinta.\n\nPrivačios erdvės negalima perkelti į naują įrenginį. Turėsite nustatyti kitą privačią erdvę, jei norėsite ją naudoti kitame įrenginyje.\n\nBet kuris naudotojas, prijungęs jūsų įrenginį prie kompiuterio ar įdiegęs žalingų programų įrenginyje, galės pasiekti jūsų privačią erdvę."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nustatoma privati erdvė…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Pranešimai iš privačios erdvės programų slepiami, kai ji užrakinta"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Nuotraukų arba failų bendrinimas atrakinus privačią erdvę"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Kai kurios programos jau įdiegtos privačioje erdvėje"</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_lockscreen_title" msgid="6034864097861137509">"Naudoti ekrano užraktą privačiai erdvei atrakinti?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Galite atrakinti privačią erdvę taip pat, kaip atrakinate įrenginį, arba pasirinkti kitą užraktą"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Naudoti ekrano užraktą"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Pasirinkti naują užraktą"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Viskas nustatyta!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Jei norite rasti privačią erdvę, eikite į programų sąrašą, tada slinkite žemyn"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Atlikta"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Slinkite žemyn, kad surastumėte privačią erdvę"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Prisijungti"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Prisijunkite prie paskyros, kad galėtumėte naudoti su privačia erdve"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ne dabar"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Tęsti"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Privačios erdvės užrakto pasirinkimas"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Privačią erdvę galite atrakinti piršto atspaudu. Saugos sumetimais, įgalinus šią parinktį, reikia naudoti atsarginį užraktą."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Privačios erdvės PIN kodo nustatymas"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Privačios erdvės slaptažodžio nustatymas"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Privačios erdvės atrakinimo piešinio nustatymas"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Galite pridėti iki <xliff:g id="COUNT">%d</xliff:g> piršto ats."</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Pridėjote maksimalų skaičių kontrolinių kodų"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Negalima pridėti daugiau kontrolinių kodų"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Piešinys"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN kodas"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Slaptažodis"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ištrinti ekrano užraktą?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Pašalinti visų tipų įrenginio atrakinimą?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Pašalinti profilio apsaugą?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Atrakinimo piešinys apsaugo pamestą ar pavogtą telefoną"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Atrakinimo piešinys apsaugo pamestą ar pavogtą telefoną.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Įrenginyje išsaugotas kontrolinio kodo modelis ištrinamas. Be to, jūsų veido modelis bus visam laikui saugiai ištrintas. Negalėsite naudoti veido ar kontrolinio kodo tapatybei nustatyti programose."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN kodas apsaugo pamestą ar pavogtą telefoną"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Prarasite išsaugotus duomenis, pvz., PIN kodą.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kortelės, nustatytos mokėti bekontakčiu būdu, bus pašalintos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Piniginės ir kitos programos, kurioms reikia atrakinti įrenginį, gali tinkamai neveikti."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN kodas apsaugo pamestą ar pavogtą telefoną.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Be to, įrenginyje ištrinamas išsaugotas kontrolinio kodo modelis. Negalėsite naudoti kontrolinio kodo tapatybei nustatyti programose."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Prarasite išsaugotus duomenis, pvz., PIN kodą ir piršto atspaudo modelį.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kortelės, nustatytos mokėti bekontakčiu būdu, bus pašalintos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Piniginės ir kitos programos, kurioms reikia atrakinti įrenginį, gali tinkamai neveikti."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN kodas apsaugo pamestą ar pavogtą telefoną.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Be to, jūsų veido modelis bus visam laikui saugiai ištrintas. Negalėsite naudoti veido tapatybei nustatyti programose."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Prarasite išsaugotus duomenis, pvz., PIN kodą ir veido modelį.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kortelės, nustatytos mokėti bekontakčiu būdu, bus pašalintos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Piniginės ir kitos programos, kurioms reikia atrakinti įrenginį, gali tinkamai neveikti."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN kodas apsaugo pamestą ar pavogtą telefoną.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Įrenginyje išsaugotas kontrolinio kodo modelis ištrinamas. Be to, jūsų veido modelis bus visam laikui saugiai ištrintas. Negalėsite naudoti veido ar kontrolinio kodo tapatybei nustatyti programose."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Prarasite išsaugotus duomenis, pvz., PIN kodą, veido ir piršto atspaudo modelius.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kortelės, nustatytos mokėti bekontakčiu būdu, bus pašalintos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Piniginės ir kitos programos, kurioms reikia atrakinti įrenginį, gali tinkamai neveikti."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Slaptažodis apsaugo pamestą ar pavogtą telefoną"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Slaptažodis apsaugo pamestą ar pavogtą telefoną.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Susieti su „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Pridėkite naują narį prie esamo suderinto rinkinio"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Patvirtinkite, kad pridėtumėte antrą garso įrenginio dalį"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"„Bluetooth“ susiejimo kodas"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Įveskite susiejimo kodą, tada paspauskite „Return“ arba „Enter“"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN kodą sudaro raidės arba simboliai"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Turi būti 16 skaitmenų"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Galbūt reikės šį PIN kodą įvesti kitame įrenginyje."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Galbūt reikės šį prieigos raktą įvesti kitame įrenginyje."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Patvirtinkite, kad susietumėte su suderintu rinkiniu"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Patvirtinkite, kad susietumėte su garso įrenginiu"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Leisti pasiekti jūsų kontaktus ir skambučių istoriją"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Taip pat leiskite pasiekti kontaktus ir skambučių istoriją"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informacija bus naudojama skambučių pranešimams ir kt."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nepavyko prisijungti prie „<xliff:g id="DEVICE_NAME">%1$s</xliff:g>“."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Pasiekiami įrenginiai"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Prijungti"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Atjungti"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Susieti ir jungti"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kai „Bluetooth“ įj., įreng. gali užm. ryšį su kitais netoliese esančiais „Bluetooth“ įreng."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kai „Bluetooth“ įj., įreng. gali užm. ryšį su kitais netoliese esančiais „Bluetooth“ įreng."</string>
     <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_scan_change" msgid="1744636222637390367">"Keisti"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Išsami įrenginio info."</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Leisti ART patvirtinti derinamų programų baitinę programą"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Rodyti atnaujinimo dažnį"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Rodyti dabartinio vaizdo atnaujinimo dažnį"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Rodyti HDR / SDR santykį"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Rodyti dabartinį HDR / SDR santykį"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Norint naudoti NFC reikia panaikinti įrenginio operatoriaus pasirinkimo ribojimą"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Veikia lėktuvo režimu"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Pranešti apie viešuosius tinklus"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Pranešti, kai pasiekiamas aukštos kokybės viešas tinklas"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Leisti WEP tinklus"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP yra senesnis ir mažiau saugus saugos protokolas"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Jūsų operatorius neleidžia WEP tinklų, nes jie mažiau saugūs"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Automatiškai įjungti „Wi‑Fi“"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"„Wi‑Fi“ bus vėl įjungtas esant šalia išsaugotų aukštos kokybės tinklų, pvz., jūsų namų tinklo"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nepasiekiama, nes vietovės parinktis išjungta. Įjunkite "<annotation id="link">"vietovę"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"„Wi-Fi“ nuskaitymo funkcija leidžia programoms ir paslaugoms bet kuriuo metu nuskaityti ieškant „Wi‑Fi“ tinklų, net kai „Wi‑Fi“ išjungtas. Tai galima naudoti norint, pvz., tobulinti pagal vietovę teikiamas funkcijas ir paslaugas."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Įjungti"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"„Wi‑Fi“ nuskaitymas įjungtas"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Šiame tinkle naudojamas senesnis ir mažiau saugus saugos protokolas"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Tinklas „<xliff:g id="NAME">%1$s</xliff:g>“ užblokuotas"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Šiame tinkle naudojamas senesnis ir mažiau saugus saugos protokolas, vadinamas WEP. Jei vis tiek norite prisijungti, galit leisti WEP tinklus."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Jūsų operatorius neleidžia prisijungti prie šio tinklo, nes jame naudojamas senesnis ir mažiau saugus saugos protokolas"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Leisti WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Uždaryti"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Išplėstinės parinktys"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Išskleidžiamojo sąrašo išplėstinės parinktys"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"išskleisti"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Toliau naudoti „Wi‑Fi“"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Daugiau niekada neberodyti"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Prijungti"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"„Wi-Fi“ įjungtas"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Prisijungta prie „<xliff:g id="NETWORK_NAME">%1$s</xliff:g>“"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Prisijungiama prie „<xliff:g id="NETWORK_NAME">%1$s</xliff:g>“"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Prijungiama…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Jungiantis prie tinklo įvyko klaida."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Tinklas ne diapazone"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Pamiršti"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Keisti"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Ištrinant tinklą įvyko klaida."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Išsaugoti"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Išsaugant tinklą įvyko klaida."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Atšaukti"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobiliojo ryšio duomenys"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Eternetas"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – įkraunama"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – įkraunama"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Viešosios interneto prieigos taško ryšys"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Ryšio stiprumas"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Išsaugoti tinklai"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nenustatyta jokių slaptažodžių"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Viešosios interneto prieigos taško pavadinimas"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Viešosios interneto prieigos taško slaptažodis"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Prieigos taško juosta"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Išjungti viešosios interneto prieigos tašką automatiškai"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kai nėra susietų įrenginių"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Praplėsti suderinamumą"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Pateikti baltos spalv. balansą"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Toliau naudoti programas, kai įrenginys sulenktas"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Ekrano glodinimas"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automatiškai padidinamas kai kurio turinio atnaujinimo dažnis nuo 60 iki <xliff:g id="ID_1">%1$s</xliff:g> Hz. Vartojama daugiau akumuliatoriaus energijos."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Išjungti numatytąjį žaidimų kadrų dažnį"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Išjungti maksimalaus <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz žaidimų kadrų dažnio ribojimą."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automatiškai padidinamas kai kurio turinio atnaujinimo dažnis iki <xliff:g id="ID_1">%1$d</xliff:g> Hz. Vartojama daugiau akumuliatoriaus energijos."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Priverstinai nustatyti didžiausią atnaujinimo dažnį"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Didžiausias atnaujinimo dažnis, siekiant patobulinti palietimo atsakomumą ir animacijos kokybę. Vartojama daugiau akumuliatoriaus energijos."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Žiūrėjimas į ekraną"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Funkcija „Žiūrėjimas į ekraną“ naudoja priekinį fotoaparatą, kad nustatytų, ar kas nors žiūri į ekraną. Ši funkcija veikia pačiame įrenginyje, jokie vaizdai neišsaugomi ir nesiunčiami „Google“."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Žiūrėjimo į ekraną funkcijos įjungimas"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ekranas neišsijungs, kol į jį žiūrėsite"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Dėl ilgesnio ekrano skirtojo laiko bus eikvojama daugiau akumuliatoriaus energijos."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Fotoaparatas užrakintas"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Fotoaparatas turi būti atrakintas, kad būtų galima naudoti veido aptikimo funkciją"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Fotoaparatas turi būti atrakintas, kad būtų galima naudoti žiūrėjimo į ekraną funkciją"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (<xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g> SIM lizdas)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (<xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> SIM lizdas) (pagrindinis)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Norėdami peržiūrėti pasirinkite išsaugotą tinklą"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN."</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL versija"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Akumuliatoriaus lygis"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Bendruomenės"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Bendruomenės nustatymai"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Palydoviniai pranešimai"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Redaguoti prieigos tašką"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Prieigos taško pridėjimas"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nenustatyta"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nenustatyta"</string>
     <string name="apn_name" msgid="6677695784108157953">"Pavadinimas"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN įgalinta"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN neleidžiama"</string>
     <string name="bearer" msgid="3231443241639159358">"Nešiklis"</string>
+    <string name="network_type" msgid="748590707422733595">"Tinklo tipas"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nenurodyta"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO tipas"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO vertė"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Ištrinti APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Išsaugoti"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Atšaukti"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Tiksli APN įrašo kopija."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Pavadinimo laukas negali būti tuščias."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN negali būti tuščias."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MKC lauke turi būti įvesti 3 skaitmenys."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC lauke turi būti įvesti 2 ar 3 skaitmenys."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operatorius neleidžia pridėti %s tipo APN."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC laukas turi būti galiojantis."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Atkuriami numatytieji APN nustatymai."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Nustatyti iš naujo į numatytuosius nust."</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Numatytųjų APN nustatymų nustatymas iš naujo baigtas."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Nustatyti iš naujo"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"„Bluetooth“ ir „Wi‑Fi“ ryšiai nustatyti iš naujo"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Ištrinti eSIM korteles"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Šiuo veiksmu neatšauksite jokio mobiliųjų paslaugų plano. Jei norite atsisiųsti pakaitinių SIM kortelių, susisiekite su operatoriumi."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Šiuo veiksmu nebus atšauktas jūsų mobiliojo ryšio planas. Jei norite gauti pakaitinę SIM kortelę, susisiekite su operatoriumi."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Nustatyti iš naujo"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Iš naujo nustatyti visus tinklo nustatymus? Negalite anuliuoti šio veiksmo."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Iš naujo nustatyti visus tinklo nustatymus ir ištrinti „eSIM“ korteles? Šio veiksmo anuliuoti negalima."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Nustatyti iš naujo?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Šis naudotojas negali iš naujo nustatyti tinklo"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Tinklo nustatymai nustatyti iš naujo"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Nepavyko ištrinti SIM kortelių"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"„eSIM“ kortelių negalima ištrinti dėl klaidos.\n\nPaleiskite įrenginį iš naujo ir bandykite dar kartą."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Nepavyko ištrinti „eSIM“ kortelių"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Kažkas nepavyko ir „eSIM“ kortelės nebuvo ištrintos.\n\nIš naujo paleiskite įrenginį ir bandykite dar kartą."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Ištrinti visus duomenis (atkurti gamyklinius nustatymus)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Ištr. duom. (atk. gam. nust.)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Muzika"</li>\n<li>"Nuotraukos"</li>\n<li>"Kiti naudotojo duomenys"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"„eSIM“ kortelės"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Tai atlikus mobiliojo ryšio paslaugų planas nebus atšauktas."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Bus ištrinta visa asmens informacija ir atsisiųstos programos. Negalite anuliuoti šio veiksmo."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Bus ištrinta visa asmens informacija, įskaitant atsisiųstas programas ir SIM korteles. Negalite anuliuoti šio veiksmo."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Bus ištrinta visa asmens informacija, įskaitant atsisiųstas programas ir „eSIM“ korteles. Negalite anuliuoti šio veiksmo."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Ištrinti visus duomenis?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Šis naudotojas negali atkurti gamyklinių nustatymų"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Ištrinama"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Viešosios interneto prieigos taškas, USB, „Bluetooth“, eternetas"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetas nebendrinamas su kitais įrenginiais"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Išjungta"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Įrenginio kaip modemo naudojimas"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nenaudoti „Wi‑Fi“ viešosios interneto prieigos taško"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Bendrinti internetą tik naudojant USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bendrinti internetą tik naudojant „Bluetooth“"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Bendrinti internetą tik naudojant eternetą"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Bendrinti internetą tik naudojant USB ir „Bluetooth“"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Bendrinti internetą tik naudojant USB ir eternetą"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Bendrinti internetą tik naudojant „Bluetooth“ ir eternetą"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Bendrinti internetą tik naudojant USB, „Bluetooth“ ir eternetą"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB susiejimas"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"„Bluetooth“ susiejimas"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Eterneto susiejimas"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Naudodami viešosios interneto prieigos tašką ir įrenginį kaip modemą galite teikti internetą kitiems įrenginiams „Wi-Fi“ arba mobiliųjų duomenų ryšiu. Be to, programos gali sukurti viešosios interneto prieigos tašką ir bendrinti turinį su netoliese esančiais įrenginiais."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pagalba"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobiliojo ryšio tinklas"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobiliojo ryšio planas"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS programa"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Pakeisti SMS programą?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Naudoti „<xliff:g id="NEW_APP">%1$s</xliff:g>“ kaip SMS programą vietoj „<xliff:g id="CURRENT_APP">%2$s</xliff:g>“?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Pakeisti „Wi-Fi“ pagelbiklį?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Naudoti <xliff:g id="NEW_APP">%1$s</xliff:g> vietoje <xliff:g id="CURRENT_APP">%2$s</xliff:g> tinklo ryšiams tvarkyti?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Naudoti <xliff:g id="NEW_APP">%s</xliff:g> tinklo ryšiams tvarkyti?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nežinomas SIM operatorius"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"„<xliff:g id="OPERATOR">%1$s</xliff:g>“ neturi jokios žinomos aprūpinimo svetainės"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Įdėkite SIM kortelę ir paleiskite iš naujo"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Prisijunkite prie interneto"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Pastarosios vietovės užklausos"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Darbo profilio vieta"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Programų leidimai pasiekti vietovės duomenis"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Išvalyti prieigą"</string>
     <string name="controls_label" msgid="8671492254263626383">"Valdikliai"</string>
     <string name="force_stop" msgid="2681771622136916280">"Sustabdyti"</string>
+    <string name="archive" msgid="9074663845068632127">"Archyvuoti"</string>
+    <string name="restore" msgid="7622486640713967157">"Atkurti"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Atkuriama"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Atkuriama."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Atkuriama…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Atkuriama..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Iš viso"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Programos dydis"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB atminties programa"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nepavyko apskaičiuoti paketo dydžio."</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> versija"</string>
     <string name="move_app" msgid="5421158479447276791">"Perkelti"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Nepavyko archyvuoti"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Suarchyvuota <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Nepavyko atkurti"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Atkuriama „<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>“"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Jau vykdomas kitas perkėlimas."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nėra pakankamai vietos atmintinėje."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Programos nėra."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Pasiekiama ekrano klaviatūra"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Tvarkyti ekrano klaviatūras"</string>
     <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="6922850403920596246">"Įgalinkite peradresavimo klavišus, kad pritaikytumėte fizinę klaviatūrą"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Lėtieji klavišai"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Įgalinkite lėtuosius klavišus, kad pritaikytumėte fizinę klaviatūrą"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Atmenieji klavišai"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Įgalinkite atmenuosius klavišus, kad pritaikytumėte fizinę klaviatūrą"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Daugiau – palietus jutiklinės dalies apačioje dešinėje"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Žymiklio greitis"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Sužinokite jutiklinės dalies gestus"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Eikite į pagrindinį puslapį"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Braukite viršun trimis pirštais bet kur jutiklinėje dalyje"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Grįžti"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Rūšiuoti pagal naudojimo laiką"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Rūšiuoti pagal pastarąjį naudojimą"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Rūšiuoti pagal programos pavadinimą"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Paskutinį kartą naudota"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Paskutinį kartą naudota"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"niekada"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Naudojimo laikas"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Pritaikymas neįgal."</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Pasiekiamumo nustatymai"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Didinti palietus tris kartus"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Didinimas naudojant spart. klavišą"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Didinti naud. spart. klav. ir palietus tris kartus"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Apie „<xliff:g id="SERVICE">%1$s</xliff:g>“"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Naudokite pritaikomumo mygtuką, kad atidarytumėte"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Norėdami atidaryti, palaikykite garsumo klavišus"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Norėdami atidaryti, triskart palieskite ekraną"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Atidarymas palietus ekraną du kartus dviem pirštais"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Naudokite gestą, kad atidarytumėte"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Pritaikomumo gesto naudojimas"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Norėdami naudoti šią funkciją, ekrano apačioje palieskite pritaikomumo mygtuką <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nJei norite perjungti funkcijas, palieskite ir palaikykite pritaikomumo mygtuką."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Jei norite naudoti šią funkciją, palieskite pritaikomumo mygtuką ekrane."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Norėdami naudoti šią funkciją, paspauskite ir palaikykite abu garsumo klavišus."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Norėdami pradėti ar baigti didinti, triskart palieskite bet kur ekrane."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Jei norite pradėti ar baigti didinti, dukart palieskite bet kurioje ekrano vietoje dviem pirštais."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Norėdami naudoti šią funkciją, perbraukite dviem pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Norėdami naudoti šią funkciją, perbraukite trimis pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Norėdami naudoti pritaikymo neįgaliesiems funkciją, perbraukite dviem pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn dviem pirštais ir palaikykite."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Norėdami naudoti pritaikymo neįgaliesiems funkciją, perbraukite trimis pirštais aukštyn nuo ekrano apačios.\n\nJei norite perjungti funkcijas, perbraukite aukštyn trimis pirštais ir palaikykite."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Supratau"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Pritaikomumo mygt. nustatymai"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Mygtuko nustatymai"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Spartusis klavišas: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Pritaikomumo mygtukas"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Pritaikomumo gestas"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Laikyti garsumo klavišus"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"laikyti garsumo klavišus"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dukart palieskite ekraną dviem pirštais"</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="6863958573135995927">"triskart paliesti ekraną"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Sužinokite daugiau apie pritaikomumo mygtuką ir gestą"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Pritaikomumo mygtuko naudojimas. Gestas nepasiekiamas naudojant naršymą 3 mygtukais."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Greitai pasiekti pritaik. neįgaliesiems funkcijas"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Jei norite pradėti, atlikite toliau nurodytus veiksmus."</b>\n"1. Eikite į pritaikomumo nustatymus.\n2. Pasirinkite funkciją ir palieskite spartųjį klavišą.\n3. Pasirinkite, ar norite naudoti mygtuką ar gestą funkcijai pasiekti."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Jei norite pradėti, atlikite toliau nurodytus veiksmus."</b>\n"1. Eikite į pritaikomumo nustatymus.\n2. Pasirinkite funkciją ir palieskite spartųjį klavišą.\n3. Pasirinkite mygtuką, kuriuo norite pasiekti funkciją."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Kad pradėtumėte, atlikite toliau nurodytus veiksmus&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Eikite į pritaikomumo nustatymus&lt;br/&gt; {1,number,integer}. Pasirinkite funkciją ir palieskite spartųjį klavišą&lt;br/&gt; {2,number,integer}. Pasirinkite, norite naudoti mygtuką ar gestą, kad pasiektumėte funkciją.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Kad pradėtumėte, atlikite toliau nurodytus veiksmus&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Eikite į pritaikomumo nustatymus&lt;br/&gt; {1,number,integer}. Pasirinkite funkciją ir palieskite spartųjį klavišą&lt;br/&gt; {2,number,integer}. Pasirinkite mygtuką, kuriuo norite pasiekti funkciją.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Naudoti mygtuką arba gestą"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Vieta"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Dydis"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Maitinimo mygt. baig. skamb."</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Didelis pelės žymeklis"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Padarykite pelės žymeklį geriau matomą"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Padaryti visas programas tamsias"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Taikoma programoms be tamsiosios temos. Kai kuriose programose gali būti klaidų, pvz., pakeistos spalvos."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Pašalinti animacijas"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Sumažinkite judėjimą ekrane"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monofoninis garsas"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Vibravimo ir lietimo technologijos naudojimas"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Signalo vibravimas"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Medijos vibravimas"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Klaviatūros vibravimas"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibravimas skambant telefonui"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibravimas gavus pranešimą"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Lietimo grįžtamasis ryšys"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Sustabdyti"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Atšaukti"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Sustabdyti „<xliff:g id="SERVICE">%1$s</xliff:g>“?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Palietus „<xliff:g id="STOP">%1$s</xliff:g>“ paslauga „<xliff:g id="SERVICE">%2$s</xliff:g>“ bus sustabdyta."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Išjungti"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Palikti įjungtą"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Išjungti „<xliff:g id="SERVICE">%1$s</xliff:g>“?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nėra įdiegta jokių paslaugų"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nepasirinkta jokia paslauga"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nepateikta jokių aprašų."</string>
     <string name="settings_button" msgid="2195468788019730377">"Nustatymai"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"jautrumas šviesai, fotofobija, tamsioji tema, migrena, galvos skausmas, skaitymo režimas, naktinis režimas, šviesumo mažinimas, baltas taškas"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Lengva naudoti, lengva prieiga, pagalba, pagalbinis"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"regėjimas, klausa, aklasis, kurčias asmuo, motorika, miklumas, pagalbinis, pagalba, paprasta naudoti, paprasta pasiekti, ranka, padėti"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"„Window Magnifier“, mastelio keitimas, didinimas, sutrikusio regėjimo asmuo, padidinti, padaryti didesnį"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Subtitrai, CC, transkripcija realiuoju laiku, neprigirdintis asmuo, klausos sutrikimai, CART, kalba į tekstą, titrai"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"spalvų kontrastas"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorika, pelė"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"klausos aparatai, neprigirdintis asmuo, klausos praradimas, vidinės ausies implantai, garso stiprinimo įrenginiai, garso apdorojimo priemonės"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorika, pelė, išorinė pelė, pelė ant galvos, prisitaikanti pelė, neįgaliųjų vežimėlis, vairasvirtė"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"klausos aparatai, neprigirdintis asmuo, klausos praradimas, vidinės ausies implantai, garso stiprinimo įrenginiai, garso apdorojimo priemonės, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"neprigirdintis asmuo, klausos sutrikimai, subtitrai, teletaipas, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"trys mygtukai"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"miklumas, motorika, vyresnis, artritas, RSI, priepuolis, tremoras, išsėtinė sklerozė, cerebrinis paralyžius, drebulys, pakartotinis patempimas, ranka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"delsa, miklumas, vyresnis"</string>
     <string name="print_settings" msgid="8519810615863882491">"Spausdinimas"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Išjungta"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Įjungta 1 spausdinimo paslauga}one{Įjungta # spausdinimo paslauga}few{Įjungtos # spausdinimo paslaugos}many{Įjungta # spausdinimo paslaugos}other{Įjungta # spausdinimo paslaugų}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Liko: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Liko įkrauti: <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Įrenginio naudojimo laikas"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Laikas fone"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Senka akumuliatorius"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Leiskite vykdyti programą fone"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Apriboti veiklą fone?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jei apribosite programos veiklą fone, ji gali netinkamai veikti"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Negalite apriboti progr., nes ji nenust. optimiz. akum. naud.\n\nJei norite apr. progr., pirmiausia įj. akum. naud. optimiz."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akumuliatoriaus energijos vartojimo valdymas"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Leisti naudoti fone"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Įgalinkite, kad gautumėte naujienas realiuoju laiku, arba išjunkite, kad tausotumėte akumuliatoriaus energiją"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neapribota"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizuota"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Apribota"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Žr. daugiausia energijos vartojančias programas"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Įkrovimas optimizuotas, siekiant apsaugoti akumuliatorių"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Kad akumuliatorius veiktų ilgiau, įkrovimas optimizuotas"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Įkrovimas optimizuotas, siekiant apsaugoti akumuliatorių"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Kad akumuliatorius veiktų ilgiau, įkrovimas optimizuotas, kai prijungta prie doko."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Įkrovimas optimizuotas, siekiant apsaugoti akumuliatorių"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Kad akumuliatorius veiktų ilgiau, įkrovimas optimizuotas, kai prijungta prie doko."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Visiškas įkrovimas"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Siekiant apsaugoti akumuliatorių, įkrovimas bus optimizuotas kitą kartą, kai planšetinis kompiuteris bus prijungtas prie doko"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Sužinokite daugiau apie pristabdyto įkrovimo būseną"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Tęsti įkrovimą"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Įtraukiama daug energijos eikvojanti veikla fone"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ši programa galės naudoti akumuliatoriaus energiją fone. Akumuliatoriaus energija gali išsekti greičiau nei tikėjotės."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Pašalinti"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Atšaukti"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Įkrauti iki visiško įkrovimo"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Su įkrovimo priedu susijusi problema"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Įkrovimo priedo patikra"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Sužinokite daugiau apie nesuderinamą įkrovimą"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akumuliatoriaus tvarkytuvė"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatinis programų tvarkymas"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"nuo paskutinio visiško įkrovimo"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistemos programos"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Pašalintos programos"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Kita"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Liko laiko (numatyta)"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Iki visiško įkrovimo"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Iš viso: mažiau nei minutė"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Fonas: trumpiau nei minutė"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Įrenginio naudojimo laikas: mažiau nei minutė"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Mažiau nei minutė"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Iš viso: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Fonas: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Įrenginio naudojimo laikas: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"dabar"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Akumuliatoriaus energijos vartojimo diagrama"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Akumuliatoriaus energijos vartojimo kas dieną diagrama"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Akumuliatoriaus energijos vartojimo kas valandą diagrama"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Akumuliatoriaus įkrovos lygis procentais nuo <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> iki <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Akumuliatoriaus naudojimo laikas nuo pastarojo visiško įkrovimo"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Akumuliatoriaus naudojimas su pasirinkta <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Įrenginio naudojimo laikas nuo paskutinio visiško įkrovimo"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Kritinės padėties numerio rinkimo signalas"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nustatyti elgesį, kai skambinama pagalbos numeriu"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Atsarginė kopija"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Įjungta"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Išjungta"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Kurti atsarginę kopiją ir atkurti"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Asmeniniai duomenys"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Kurti atsarginę duomenų kopiją"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mob. r. duom. ir „Wi‑Fi“"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autom. asmen. duom. sinchron."</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autom. darbo duom. sinchron."</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Aut. privačių duom. sinchron."</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Keisti ciklą…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Mėnesio diena, kai iš naujo nustatomas naudojimo ciklas:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Šiuo laikotarpiu jokios program. nenaudojo duom."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Pavadinimas"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipas"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Serverio adresas"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifruotė (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP paslaptis"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"„IPSec“ identifikatorius"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"„IPSec“ iš anksto bendrinamas raktas"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"„IPSec“ naudotojo sertifikatas"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"„IPSec“ CA sertifikatas"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"„IPSec“ serverio sertifikatas"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Rodyti išplėstines parinktis"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS paieškos domenai"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveriai (pvz., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Persiuntimo maršrutai (pvz., 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Naudotojo vardas"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Slaptažodis"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Išsaugoti paskyros informaciją"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nenaudojama)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(nepatvirtinti serverio)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(gauta iš serverio)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Šio tipo VPN negali būti visada įjungtas"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Visada įjungto VPN funkcija palaiko tik skaitinius serverio adresus"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Turi būti nurodytas visada įjungto VPN DNS serveris"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Visada įjungto VPN DNS serverio adresai turi būti sudaryti iš skaičių"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Pagal įvestą informaciją nepalaikomas visada įjungtas VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Atšaukti"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Atsisakyti"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokuoti ryšius be VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Būtinas VPN ryšys?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nesaugu. Atnaujinkite į IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nepavyko paleisti nepalaikomo VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pasirinkite VPN profilį, kad visada būtumėte prisijungę. Tinklo srautas bus leidžiamas tik prisijungus prie šio VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Joks"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Norint, kad VPN būtų visada įjungtas, reikalingas serverio ir DNS IP adresas."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER įspėjimai"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Gaukite biuletenių apie vaikų grobimus"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Kartoti"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Įgalinti skambučių tvarkyklę"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Leisti šiai paslaugai tvarkyti skambučių atlikimą."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Skambučių tvarkyklė"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Belaidžiu ryšiu siunčiami kritinės pad. įspėjimai"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Tinklo operatoriai"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Prieigos taškų pavadinimai"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM būsena"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM būsena (%1$d SIM lizdas)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> ASU"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM kortelės pakeistos."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Jūsų SIM kortelė pakeista"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Palieskite, kad nustatytumėte"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Klausti kaskart"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Būtina pasirinkti"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Pastarosios programos, numatytosios programos"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Prieiga prie pranešimų negalima darbo profilio programoms."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Slaptažodžiai ir paskyros"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Išsaugoti slaptažodžiai, automatinis pildymas, sinchronizuotos paskyros"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Prisijungimo ir automatinio pildymo pasiūlymai"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Numatytosios programos"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Nukopijuotos programos"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Sukurkite antrą programos atvejį, kad galėtumėte naudoti dvi paskyras vienu metu."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"mokėti, paliesti, mokėjimai"</string>
     <string name="keywords_backup" msgid="707735920706667685">"atsarginė kopija, kurti atsarginę kopiją"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gestas"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"veidas, atrakinti, autentifikavimas, prisijungti"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"veidas, atrakinti, autentifikavimas, prisijungti, kontrolinis kodas, biometrinė sistema"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI, MEID, MIN, PRL versija, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"teksto dydis, didelis spaudinys, didelis šriftas, didelis tekstas, sutrikusio regėjimo asmuo, padaryti tekstą didesnį, šrifto didinimo priemonė, šrifto padidinimas"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"visada įjungta ekrano užsklanda, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, žyma, skaitytuvas"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klaviatūra, lietimo technologija, vibruoti,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Garsumas, vibravimas, netrukdymo režimas"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medijų garsumas"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Perdavimo garsumas"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Įjungti garsus"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtitrai realiuoju laiku"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Taikyti automatinius medijos subtitrus"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefono garsiakalbiai"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Planšetinio kompiuterio garsiakalbiai"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Įrenginio garsiakalbiai"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Laidinės ausinės"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Kokybiškesnis suderinamos medijos garsas"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Išjungta"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Rodyti visą pranešimo turinį"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Neskelbtiną turinį rodyti, tik kai atrakinta"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Visiškai nerodyti pranešimų"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kaip norite, kad turinys būtų pateiktas užrakinimo ekrane?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Kas turėtų būti rodoma užrakinimo ekrane?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Užrakinimo ekranas"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Rodyti visą darbo pranešimų turinį"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Slėpti neskelbtiną darbo turinį"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Pašalinti pastarieji pokalbiai"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Pokalbis pašalintas"</string>
     <string name="clear" msgid="5092178335409471100">"Išvalyti"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Išvalyti <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>."</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Svarbiausi ir pakeisti pokalbiai bus rodomi čia"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Kai pažymėsite pokalbį kaip svarbiausią ar atliksite kitų pokalbio keitimų, jie bus rodomi čia. \n\nJei norite pakeisti pokalbių nustatymus: \nslinkite ekranu iš viršaus žemyn, tada atidarę išskleidžiamąjį skydelį palieskite ir palaikykite pokalbį."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Sumažinti"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Pranešimų neaktyvumo laikotarpis"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Taikyti neaktyvumo laikotarpį visiems pranešimams"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Palaipsniui sumažinti pranešimų garsumą, kai gaunate daug vienas po kito pateikiamų pranešimų iš tos pačios programos"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Taikyti neaktyvumo laikotarpį pokalbiams"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Palaipsniui sumažinti pranešimų garsumą, kai gaunate daug to paties pokalbio pranešimų per trumpą laiką"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nenaudoti pranešimų neaktyvumo laikotarpio"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Niekada nesumažinti pranešimų garsumo, neatsižvelgiant į vienas po kito pateiktų pranešimų iš tos pačios programos skaičių"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibruoti, kai atrakinta"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibruoti, tik kai ekranas užrakintas"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Taikyti darbo profiliams"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Taikyti pranešimų neaktyvumo laikotarpio nustatymus iš asmeninio profilio darbo profiliui"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pagalbinės virtualiosios realybės paslaugos"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nėra įdiegtų programų, kurios pateikė užklausą būti vykdomos kaip pagalbinės virtualiosios realybės paslaugos."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Leisti „<xliff:g id="SERVICE">%1$s</xliff:g>“ pasiekti virtualiosios realybės paslaugą?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Išjungta"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Programos prisegimas"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Prisegta dabartinė programa liks rodinyje tol, kol ją atsegsite. Šią funkciją galima naudoti, pavyzdžiui, leidžiant patikimam draugui žaisti konkretų žaidimą."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Prisegta programa gali atidaryti kitas programas ir pasiekti asmens duomenis. \n\nNorėdami prisegti programą, atlikite toliau nurodytus veiksmus. 	\n1. Įjunkite programos prisegimo funkciją. 	\n2. Atidarykite „Apžvalga“. 	\n3. Palieskite programos piktogramą ekrano viršuje, tada palieskite „Prisegti“."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Prisegta programa gali atidaryti kitas programas ir pasiekti asmens duomenis. \n\nJei norite saugiai bendrinti įrenginį su kitais asmenimis, išbandykite naudotojo svečio profilį. \n\nNorėdami prisegti programą, atlikite toliau nurodytus veiksmus. 	\n1. Įjunkite programos prisegimo funkciją. 	\n2. Atidarykite „Apžvalga“. 	\n3. Palieskite programos piktogramą ekrano viršuje, tada palieskite „Prisegti“."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Prisegta programa gali atidaryti kitas programas ir pasiekti asmens duomenis. \n\nJei norite naudoti programos prisegimą, atlikite toliau nurodytus veiksmus. 	\n{0,number,integer}. Įjunkite programos prisegimą. 	\n{1,number,integer}. Atidarykite skiltį „Apžvalga“. 	\n{2,number,integer}. Palieskite programos piktogramą ekrano viršuje, tada palieskite „Prisegti“."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Prisegta programa gali atidaryti kitas programas ir pasiekti asmens duomenis. \n\nJei norite saugiai bendrinti įrenginį su kitais asmenimis, išbandykite naudotojo svečio profilį. \n\nJei norite naudoti programos prisegimą, atlikite toliau nurodytus veiksmus. 	\n{0,number,integer}. Įjunkite programos prisegimą. 	\n{1,number,integer}. Atidarykite skiltį „Apžvalga“. 	\n{2,number,integer}. Palieskite programos piktogramą ekrano viršuje, tada palieskite „Prisegti“."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kai programa prisegta \n\n•	 Gali būti pasiekiami asmens duomenys \n		(pvz., kontaktai ir el. pašto turinys) \n•		Prisegta programa gali atidaryti kitas programas \n\nProgramas prisekite tik su žmonėmis, kuriais pasitikite."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Prašyti atrakinimo piešinio prieš atsegant"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Prašyti PIN kodo prieš atsegant"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Prašyti slaptažodžio prieš atsegant"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Užrakinti įrenginį atsegant"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Patvirtinti SIM kortelės ištrynimą"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Patvirtinkite, kad norite ištrinti „eSIM“ kortelę"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Prieš ištrindami „eSIM“ kortelę patvirtinkite savo tapatybę"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta versijos išplėstinė atminties apsauga"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Išplėstinė atminties apsauga"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Nenaudojamos programos nustatymai"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pristabdyti nenaudojamų programų veiklą"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Pašalinkite leidimus, ištrinkite laikinus failus ir sustabdykite pranešimus"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Tvarkyti programą, jei nenaudojama"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Pašalinti leidimus, ištrinti laikinus failus, sustabdyti pranešimus ir archyvuoti programą"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Visos programos"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Įdiegtos programos"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Akimirksniu įkeliamos programos"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Laisva"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Programų naudojama atmintis"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Viena programa naudojo atmintį per tiek laiko: {time}}one{# programa naudojo atmintį per tiek laiko: {time}}few{# programos naudojo atmintį per tiek laiko: {time}}many{# programos naudojo atmintį per tiek laiko: {time}}other{# programų naudojo atmintį per tiek laiko: {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Įgalinti atminties sąnaudų profiliavimą"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Norint profiliuoti atminties sąnaudas reikia papildomų sistemos išteklių."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Atminties profiliavimas išjungtas"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Dažnis"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Daugiausia panaudota"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Duomenys nenaudojami"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Rodyti virš kitų programų"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Leisti rodyti virš kitų programų"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Leisti šią programą pateikti virš kitų naudojamų programų. Ši programa galės peržiūrėti, kur paliečiate, arba keisti, kas pateikiama ekrane."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Keisti medijos išvestį"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Leisti programai perjungti medijos išvestį"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Leisti šiai programai pasirinkti, kuris prijungtas įrenginys leidžia garso ar vaizdo įrašą iš kitų programų. Jei leidžiama, ši programa gali pasiekti pasiekiamų įrenginių, pvz., ausinių ir garsiakalbių, sąrašą ir pasirinkti, kuris išvesties įrenginys naudojamas garso ar vaizdo įrašo srautui leisti ar įrašui perduoti."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Visų failų prieiga"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Leisti pasiekti ir tvarkyti visus failus"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Šiai programai leidžiama nuskaityti, keisti ir ištrinti visus failus, esančius šiame įrenginyje ar bet kurioje prijungtoje saugykloje. Jei suteiksite leidimą, programa gali pasiekti failus jūsų tiksliai neinformavus."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Gali pasiekti visus failus"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Suaktyvinimo balsu programos"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Leisti suaktyvinimą balsu"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktyvinimo balsu funkcija įjungia patvirtintas programas laisvų rankų režimu naudodama komandą balsu. Integruota prisitaikančio aptikimo funkcija užtikrina, kad duomenis matytumėte tik jūs.\n\n"<a href="">"Daugiau apie apsaugotą prisitaikantį aptikimą"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Pranešimai viso ekrano režimu"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Leisti pranešimus viso ekrano režimu iš šios programos"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Leiskite šiai programai rodyti pranešimus viso ekrano režimu, kai įrenginys užrakintas. Programos gali juos naudoti, kad paryškintų įspėjimus, gaunamuosius skambučius ar kitus skubius pranešimus."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> duomenų įspėjimas"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> duomenų apribojimas"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> duomenų įspėjimas / <xliff:g id="ID_2">^2</xliff:g> duomenų apribojimas"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operatoriaus duomenų apskaita gali skirtis nuo įrenginio duomenų apskaitos"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Išskiriami duomenys, kuriuos naudoja operatorių tinklai"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Išnaudota <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Nustatyti duomenų įspėjimą"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Atnaujinta prieš <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Ką tik atnaujino „<xliff:g id="ID_1">^1</xliff:g>“"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Ką tik atnaujinta"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Peržiūrėti planą"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Žr. išsamią informaciją"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Duom. taupymo priem."</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neriboti duomenys"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Programa „<xliff:g id="APP_LABEL">%1$s</xliff:g>“ naudojo daugiau akumuliatoriaus energijos nei įprastai veikdama fone"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Programa „<xliff:g id="APP_LABEL">%1$s</xliff:g>“ naudojo daugiau akumuliatoriaus energijos veikdama priekiniame plane"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Programa „<xliff:g id="APP_LABEL">%1$s</xliff:g>“ naudojo daugiau akumuliatoriaus energijos nei įprastai veikdama priekiniame plane"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akumuliatoriaus energijos vartojimo nukrypimas"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Didelis akumuliatoriaus energijos vartojimas"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Didelis akumuliatoriaus energijos vartojimas fone"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Didelis akumuliatoriaus energijos vartojimas priekiniame plane"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Sparčiųjų nustatymų kūrėjo išklotinės elementai"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"ADB prieigos teisės skirtojo laiko išjungimas"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Išjungti automatinį ADB prieigos teisės anuliavimą sistemose, kurios nebuvo iš naujo prijungtos per numatytą (7 dienų) arba naudotojo sukonfigūruotą (mažiausiai 1 dienos) laikotarpį."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"„Winscope“ pėdsakas"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Jutikliai išjungti"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Darbo profilio nustatymai"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Ieškoti darbo katalogo kontaktų naudojant asmenines programas"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"sistemos naršymas, naršymas 2 mygtukais, naršymas 3 mygtukais, naršymas gestais, perbraukti"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Skaitmeninis pagelbiklis"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Pagelbiklio iškvietimas perbraukus"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Perbraukite aukštyn iš apatinio kampo, kad iškviestumėte skaitmeninio pagelbiklio programą."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Perbraukite aukštyn iš apatinio kampo, kad iškviestumėte skaitmeninio pagelbiklio programą"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Padėjėjo iškvietimas paspaudus pagrindinio ekrano mygtuką"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Jei norite iškviesti skaitmeninio pagelbiklio programą, paspauskite ir palaikykite pagrindinio ekrano mygtuką."</string>
     <string name="low_label" msgid="6525629096999711220">"Mažas"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Aut. pildymo paslauga"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Numatytoji automatinio pildymo paslauga"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Slaptažodžiai"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Slaptažodžiai, prieigos raktai ir duomenų paslaugos"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Papildomi teikėjai"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Pageidaujama paslauga"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Papildomos paslaugos"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# slaptažodis}one{# slaptažodis}few{# slaptažodžiai}many{# slaptažodžio}other{# slaptažodžių}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatinis, užpildyti, automatinis pildymas, slaptažodis"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"duomenys, „passkey“, slaptažodis"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatinis, užpildyti, automatinis pildymas, duomenys, prieigos raktas, slaptažodis"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Keisti"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Atidaryti"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nieko nepasirinkta"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Įsitikinkite, kad pasitikite šia programa&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=„Google“ automatinis pildymas&gt;%1$s&lt;/xliff:g&gt; naudodamas informaciją ekrane nustato, ką gali užpildyti automatiškai."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Naudoti „&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;“?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; „&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;“ naudoja ekrane esančią informaciją, kad nustatytų, ką galima automatiškai užpildyti. Nuo šiol čia išsaugomi nauji slaptažodžiai, prieigos raktai ir kita informacija."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Slaptažodžiai, prieigos raktai ir duomenų paslaugos"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Naudokite &lt;xliff:g id=app_name example=„Provider“&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nuo šiol čia išsaugomi nauji slaptažodžiai, prieigos raktai ir kita informacija. &lt;xliff:g id=app_name example=„Provider“&gt;%1$s&lt;/xliff:g&gt; gali naudoti ekrane esančią informaciją, kad nustatytų, ką galima automatiškai užpildyti."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Pageidaujama slaptažodžių, prieigos raktų ir automatinio pildymo paslauga"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Išjungti „%1$s“?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Išjungti šį įrenginį?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Išsaugota informacija, pvz., slaptažodžiai, prieigos raktai, mokėjimo metodai ir kita informacija, nebus užpildyta prisijungiant. Jei norite naudoti išsaugotą informaciją, pasirinkite slaptažodį, prieigos raktą arba duomenų paslaugą."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Slaptažodžiai, prieigos raktai ir automatinis pildymas"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Išjungti visas paslaugas?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Kai prisijungsite, slaptažodžių, prieigos raktų ir kitos informacijos nebus galima užpildyti automatiškai"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Pakeiskite pageidaujamą paslaugą į &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nuo dabar nauji slaptažodžiai, prieigos raktai ir kita informacija bus išsaugomi čia. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; gali naudoti ekrane esančią informaciją, kad nustatytų, ką galima automatiškai užpildyti"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Naudoti „%1$s“?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Išjungti"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Keisti"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Gali būti įjungtos tik penkios paslaugos"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Išjunkite bent vieną paslaugą, kad galėtumėte pridėti kitą"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"„%1$s“ naudoja ekrane esančią informaciją siekdama nustatyti, ką galima automatiškai užpildyti."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Slaptažodžių, prieigos raktų ir duomenų paslaugų apribojimas"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Vienu metu galite turėti daugiausia penkis aktyvius slaptažodžius, prieigos raktus ir duomenų paslaugas. Norėdami pridėti daugiau, išjunkite paslaugą."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Slaptažodžių, prieigos raktų ir duomenų paslaugų apribojimas"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Vienu metu galite turėti daugiausia penkis aktyvius slaptažodžius, prieigos raktus ir duomenų paslaugas. Norėdami pridėti daugiau, išjunkite paslaugą."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Išjungti"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatinis pildymas"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Registr. į žurnalą lygis"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Galima keisti tik derinamų programų suderinamumą. Įdiekite derinamą programą ir bandykite dar kartą."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Priklauso nuo kito nustatymo"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Paskyra"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Paskyrų: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Įrenginio pavadinimas"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Pagrindinė informacija"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Teisės aktai ir reglamentai"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Leisti paleisti šią programą, kai nuskaitoma NFC žyma.\nJei šis leidimas įjungtas, programa bus pasiekiama kaip parinktis, kai žyma bus aptikta."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Leisti mediją į"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Paleisti: <xliff:g id="LABEL">%s</xliff:g>"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Garsas bus leidžiamas"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Šis įrenginys"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nepasiekiama skambučių metu"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Gauti skambučius"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Nutildyti"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Jei norite įgalinti, pirmiausia pakeiskite veiksmą „Paspausti ir palaikyti maitinimo mygtuką“ į įjungimo meniu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Išsami tinklo info."</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Įrenginio pavadinimas matomas jūsų telefone esančioms 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="devices_title" msgid="649715719278562515">"Įrenginiai"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Pasirinkti tinklą"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Atsijungta"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Pavadinimas"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Spalva (naudoja suderinamos programos)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Išsaugoti"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Naudoti SIM kortelę"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Naudoti šią SIM kortelę"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Išjungta"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Norėdami išjungti šią SIM kortelę, pašalinkite ją"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Palieskite, kad suaktyvintumėte „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Ištrinti SIM kortelę"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Jei norite išjungti šią SIM kortelę, išimkite SIM kortelę"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Palieskite, kad suaktyvintumėte „<xliff:g id="CARRIER">%1$s</xliff:g>“ SIM kortelę"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Ištrinti „eSIM“"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Pageidaujamas tinklo tipas"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Pakeisti tinklo veikimo režimą"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Pageidaujamas tinklo tipas"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Daugiau kainodaros informacijos galite gauti susisiekę su tinklo paslaugų teikėju."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Programos duomenų naudojimas"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Netinkamas tinklo režimas (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>). Nepaisyti."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Palydoviniai pranešimai"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Siųskite ir gaukite teksto pranešimus per palydovą. Įtraukiama į jūsų paskyrą."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Siųskite ir gaukite teksto pranešimus per palydovą. Neįtraukiama į jūsų paskyrą."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Palydoviniai pranešimai"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Apie palydovinius pranešimus"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Galite siųsti ir gauti teksto pranešimus palydovo ryšiu, jei turite tinkamą „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ paskyrą"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Jūsų „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ planas"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Palydoviniai pranešimai įtraukti į jūsų paskyrą"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Palydoviniai pranešimai neįtraukti į jūsų paskyrą"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Pridėti palydovinius pranešimus"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Kaip tai veikia"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kai neturite mobiliojo ryšio tinklo"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefonas bus automatiškai prijungtas prie palydovo. Kad užtikrintumėte geriausią ryšį, turi būti aiškiai matomas dangus."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Kai telefonas prisijungia prie palydovo"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Galite siųsti teksto pranešimą bet kam, įskaitant pagalbos tarnybas. Telefonas bus iš naujo prijungtas prie mobiliojo ryšio tinklo, kai jis bus pasiekiamas."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Palydoviniai pranešimai gali užtrukti ilgiau ir gali būti pasiekiami tik tam tikruose regionuose. Orų sąlygos ir tam tikros struktūros gali turėti įtakos palydovo ryšiui. Skambinti palydovo ryšiu negalima.\n\nGali šiek tiek užtrukti, kol paskyros pakeitimai bus parodyti „Nustatymų“ skiltyje. Kreipkitės į „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ išsamios informacijos."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Daugiau apie palydovinius pranešimus"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Prieigos taškų pavadinimai"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"Prieigos taško pavadinimas"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nepasiekiama, kai prisijungta prie „<xliff:g id="CARRIER">%1$s</xliff:g>“"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Perjungti į „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Perjungti į SIM kortelę?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Naudoti „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Vienu metu gali būti aktyvi tik viena SIM kortelė.\n\nPerjungus į „<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>“ jums teikiamos „<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Vienu metu gali būti aktyvi tik viena „eSIM“ kortelė.\n\nPerjungus į „<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>“ jums teikiamos „<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Vienu metu gali būti aktyvi tik viena SIM kortelė.\n\nPerjungus jums teikiamos „<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>“ paslaugos nebus atšauktos."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Vienu metu gali būti tik viena SIM kortelė.\n\nPerjungus į „<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>“ jums teikiamos „<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Vienu metu gali būti tik viena „eSIM“ kortelė.\n\nPerjungus į „<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>“ jums teikiamos „<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>“ paslaugos nebus atšauktos."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Vienu metu gali būti tik viena SIM kortelė.\n\nPerjungus jums teikiamos „<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>“ paslaugos nebus atšauktos."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Vienu metu galite naudoti dvi SIM korteles. Jei norite naudoti „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“, išjunkite vieną iš SIM kortelių."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Perjungti į „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Išjungti „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Išjungus SIM kortelę, paslauga nebus atšaukta"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Prisijungiama prie tinklo…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Perjungiama į „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ skambučiams ir pranešimams…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Nepavyksta perjungti operatoriaus"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Nepavyksta perjungti operatoriaus dėl klaidos."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktyvinama SIM kortelė…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Perjungiama į „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nepavyko perjungti SIM kortelės"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Kažkas nepavyko. Nepavyko perjungti SIM kortelės."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Išjungti „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Išjungti SIM kortelę?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Išjungiama SIM kortelė<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Nepavyksta išjungti operatoriaus"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Kažkas nepavyko, todėl operatorius nebuvo išjungtas."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Nepavyko išjungti SIM kortelės"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Kažkas nepavyko ir jūsų SIM kortelė nebuvo išjungta."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Naudoti dvi SIM korteles?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Šiame įrenginyje vienu metu gali būti dvi aktyvios SIM kortelės. Jei norite toliau naudoti vieną SIM kortelę vienu metu, palieskite „Ne, ačiū“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Paleisti įrenginį iš naujo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, ačiū"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Atšaukti"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Perjungti"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Išjungti"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nepavyko suaktyvinti SIM kortelės"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Pabandykite vėl įjungti SIM kortelę. Jei problema išlieka, iš naujo paleiskite įrenginį."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM kortelės nustatymas"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Nustatykite mobiliojo ryšio tinklo nuostatas, kad galėtumėte naudoti kelias SIM korteles šiame įrenginyje"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM kortelių etikečių pridėjimas"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Šios etiketės bus rodomos skambinant, siunčiant teksto pranešimus ir naudojant duomenis bei „Nustatymų“ skiltyje"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM kortelės etiketė"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiketė"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Naudotinų SIM kortelių pasirinkimas"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Vienu metu galite naudoti dvi SIM korteles"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Pagrindinių SIM kortelių nustatymas"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Pasirinkite, kurias SIM korteles naudoti pagal numatytuosius nustatymus skambučiams, teksto pranešimams ir duomenims"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Pagrindinės SIM kortelės"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Skambučiai"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Teksto pranešimai"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatinis duomenų perjungimas"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Naudoti duomenis iš bet kurios SIM kortelės, atsižvelgiant į aprėptį ir pasiekiamumą"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Tik duomenys"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Nustatyti"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Kitas"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Įjungiama „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobiliojo ryšio tinklas"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefono numeris"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM etiketė ir spalva"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Tinklo aktyvinimas"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operatoriaus keitimas"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Operatorius „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ aktyvus"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"„<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ SIM kortelė yra aktyvi"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Palieskite ir atnaujinkite SIM nustatymus"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Perjungta į „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Perjungta į kitą operatorių"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobiliojo ryšio tinklas pakeistas"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Nustatykite kitą SIM kortelę"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Pasirinkite aktyvią SIM kortelę arba naudokite 2 SIM korteles vienu metu"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Pasirinkite norimą naudoti numerį"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Vienas numeris pasiekiamas šiame įrenginyje, bet vienu metu galima naudoti tik vieną}=2{Du numeriai pasiekiami šiame įrenginyje, bet vienu metu galima naudoti tik vieną}one{# numeris pasiekiamas šiame įrenginyje, bet vienu metu galima naudoti tik vieną}few{# numeriai pasiekiami šiame įrenginyje, bet vienu metu galima naudoti tik vieną}many{# numerio pasiekiama šiame įrenginyje, bet vienu metu galima naudoti tik vieną}other{# numerių pasiekiama šiame įrenginyje, bet vienu metu galima naudoti tik vieną}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Suaktyvinama<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Šiuo metu nepavyko suaktyvinti"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Pasirinkite norimą naudoti SIM kortelę"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM kortelė pasiekiama šiame įrenginyje, bet vienu metu galima naudoti tik vieną}=2{2 SIM kortelės pasiekiamos šiame įrenginyje, bet vienu metu galima naudoti tik vieną}one{# SIM kortelė pasiekiama šiame įrenginyje, bet vienu metu galima naudoti tik vieną}few{# SIM kortelės pasiekiamos šiame įrenginyje, bet vienu metu galima naudoti tik vieną}many{# SIM kortelės pasiekiama šiame įrenginyje, bet vienu metu galima naudoti tik vieną}other{# SIM kortelių pasiekiama šiame įrenginyje, bet vienu metu galima naudoti tik vieną}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Įjungiama<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Šiuo metu nepavyko įjungti šios SIM kortelės"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Naudoti „<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"„<xliff:g id="CARRIER_NAME">%1$s</xliff:g>“ ryšys bus naudojamas mobiliojo ryšio duomenims, skambučiams ir SMS žinutėms."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nėra jokių pasiekiamų aktyvių SIM kortelių"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Kad vėliau galėtumėte naudoti mobiliojo ryšio duomenis, skambučių ir SMS funkcijas, eikite į tinklo nustatymus"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM kortelė"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Ištrinti šią „eSIM“ kortelę?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ištrynus šią SIM kortelę bus pašalintos „<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>“ paslaugos iš šio įrenginio.\n\n„<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>“ paslaugos nebus atšauktos."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Tai atlikus „<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>“ paslauga bus pašalinta iš šio įrenginio, bet jūsų turimas „<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>“ planas nebus atšauktas."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Ištrinti"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Ištrinama SIM kortelė…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nepavyko ištrinti SIM kortelės"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Šios SIM kortelės negalima ištrinti dėl klaidos.\n\nPaleiskite įrenginį iš naujo ir bandykite dar kartą."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Trinama „eSIM“ kortelė…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Nepavyko ištrinti „eSIM“ kortelės"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Kažkas nepavyko ir ši „eSIM“ kortelė nebuvo ištrinta.\n\nIš naujo paleiskite įrenginį ir bandykite dar kartą."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Prijungimas prie įrenginio"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Programa „<xliff:g id="APPNAME">%1$s</xliff:g>“ nori naudoti laikiną „Wi‑Fi“ tinklą, kad galėtų prisijungti prie jūsų įrenginio"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nerasta jokių įrenginių. Įsitikinkite, kad įrenginiai įjungti ir prie jų galima prisijungti."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Skambučiai pagalbos numeriu"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Jūsų operatorius nepalaiko skambučių pagalbos numeriu naudojant „Wi‑Fi“ skambinimo funkciją.\nSkambinant pagalbos numeriu automatiškai perjungiama į įrenginio mobiliojo ryšio tinklą.\nSkambinti pagalbos numeriu galima, tik kur veikia mobilusis ryšys."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Naudokite „Wi‑Fi“ skambučiams atlikti, kad pagerintumėte kokybę"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Atsarginis skambinimas"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Jei „<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>“ pasl. nepasiek. ar naud. tarptinkl. ryšys, „<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>“ skamb. naudokite mob. ryšio duom. SIM kortelę."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"atsarginis skambinimas"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Gaunamas MMS pranešimas"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nepavyko išsiųsti MMS pranešimo"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Palieskite, kad leistumėte siųsti MMS pranešimus „<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>“ tinkle, kai mobiliojo ryšio duomenys išjungti"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Darbo politikos informacija"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nustatymus tvarko jūsų IT administratorius"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafikos procesorius"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Paleisti su 16 K puslapio dydžiu"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Paleisti įrenginį su 16 K psl. palaik. branduoliu"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Paleisti iš naujo naudojant su 16 KB puslapiais suderinamą branduolį?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"PERSPĖJIMAS: kai kurios programos gali būti nesuderinamos su šiuo režimu. Patvirtinus įrenginys bus paleistas iš naujo."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Paleisti iš naujo naudojant su 4 KB puslapiais suderinamą branduolį?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Patvirtinus įrenginys bus paleistas iš naujo."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Nepavyko atnaujinti į su 16 KB puslapiais suderinamą branduolį"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Pritaikomas pakeitimas"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Pranešimų apie riktus doroklė"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Nustatoma, kuri programa apdoroja pranešimo apie riktą spartųjį klavišą įrenginyje."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Asmeninė"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Leiskite virš kitų programų rodomoms programoms perdengti skilties „Nustatymai“ ekranus"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Leisti imituojamą modemą"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Leisti šiame įrenginyje vykdyti imituojamo modemo paslaugą atliekant stebimumo ir vertinamumo bandymą. Neįgalinkite įprastai naudodami telefoną"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Ekrano bendrinimo apsaugos išjungimas"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Išjungiama sistemos taikoma programa ir pranešimų apsauga bendrinant ekraną"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Medija"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Medijos leistuvės prisegimas"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Kad būtų galima sparčiai atnaujinti atkūrimą, medijos leistuvė lieka atidaryta „Sparčiųjų nustatymų“ skiltyje"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Rodyti mediją užrakinimo ekrane"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Kad būtų galima sparčiai atnaujinti atkūrimą, medijos leistuvė lieka atidaryta užrakinimo ekrane"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Medijos rekomendacijų rodymas"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Rodyti Padėjėjo medijos rekomendacijas"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Pagrįsta jūsų veikla"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Slėpti leistuvę"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Rodyti leistuvę"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"medija"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Fotoaparato programinės įrangos plėtinių leidimas"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Įgalinamas numatytasis išplėstinių fotoaparato funkcijų, pvz., „Eyes Free“ videografijos, programinės įrangos diegimas."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bus įjungtas „Bluetooth“"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internetas"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM kortelė"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"„eSIM“ kortelė"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"„eSIM“ kortelės"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktyvi"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktyvi"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Įjungta"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Išjungta"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Numatytoji <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"skambučiams"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Kokybiškesnis suderinamos medijos garsas"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Galvos stebėjimas"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Garso pakeitimai, kad garsas skambėtų natūraliau judinant galvą"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Leidimų sinchronizavimas"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Suteikite „<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>“ tuos pačius programų leidimus, kuriuos suteikėte „<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>“"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Leidimų iš telefono sinchronizavimas"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Suteikite laikrodžiui tuos pačius programų leidimus, kuriuos suteikėte šiame telefone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Garso įrenginio tipas"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Nežinoma"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Garsiakalbis"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Vidutinis"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Aukštas"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Šią programą galima atidaryti tik viename lange"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Įjungta"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Išjungta"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Išjungta"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Išjungta"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Įjungta"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Išjungta"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Įjungta"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Išjungta"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Šviesūs ekranai tampa tamsūs, o tamsūs – šviesūs"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Artinti ekrane"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Išjungta"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Išjungta"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Nuskaitoma ieškant apgaulingų programų"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Patikrinkite programų aktyvumą dėl sukčiavimo"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Atlikti apgaulingų programų nuskaitymą"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Atlikti apgaulingų darbo programų nuskaitymą"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Slaptažodis dabar nustatytas"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Rodyti rodyklę, kol ji laikoma užvesta virš parinkties"</string>
 </resources>
diff --git a/res/values-lv/arrays.xml b/res/values-lv/arrays.xml
index fdd5bf8..3d9322f 100644
--- a/res/values-lv/arrays.xml
+++ b/res/values-lv/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Pieejama"</item>
     <item msgid="6096962300722555553">"Ārpus sasniedzamības zonas"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Atspējots"</item>
+    <item msgid="7781484297606806796">"Uniraide"</item>
+    <item msgid="6667451574264144311">"Uniraide un apraide"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Izmantot sistēmas noklusējuma iestatījumu: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Pēc 1 minūtes"</item>
     <item msgid="1574040255478150028">"Pēc 5 minūtēm"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-lv/strings.xml b/res/values-lv/strings.xml
index aa70d52..2052c59 100644
--- a/res/values-lv/strings.xml
+++ b/res/values-lv/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Tagad jūs esat izstrādātājs!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nav nepieciešams, ja jau esat izstrādātājs."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lūdzu, vispirms iespējojiet izstrādātāju opcijas."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Tikai lietotāji ar administratora tiesībām var piekļūt izstrādātāja iestatījumiem."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistēma"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Darbojas"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Nedarbojas"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Priekšējais ekrāns tiek ieslēgts, kad ierīce tiek salocīta"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Tikai spēles, video u.c."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Priekšējais displejs tiek ieslēgts lietotnēm, kas neļauj ekrānam pāriet miega režīmā"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Vilkt augšup, lai turpinātu"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Salokiet tālruni un velciet augšup priekšējā displejā, lai turpinātu izmantot lietotni, vai uzgaidiet dažas sekundes, lai ekrāns tiktu bloķēts."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nekad"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Priekšējais displejs tiek bloķēts, kad ierīce tiek salocīta"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Automātiska pagriešana"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Saistīti rīki"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Zvana un pulksteņa signāli"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio zvanu laikā"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multivide"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Paziņojumi un sistēmas signāli"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Multivides un sistēmas skaņas"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Paziņojumi"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Pēc noklusējuma audio izvadi nosaka katra konkrētā lietotne"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Nenosaukta Bluetooth ierīce"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Notiek meklēšana"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Atcelt"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Atspējot Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Tiek atspējota Bluetooth LE Audio funkcija, ja ierīcē tiek atbalstītas LE Audio aparatūras iespējas."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio režīms"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE Audio slēdzis informācijā par ierīci"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Iespējot Bluetooth LE audio atļaušanas sarakstu"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Iespējojiet funkciju “Bluetooth LE audio atļaušanas saraksts”."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Apiet Bluetooth LE Audio atļaušanas sarakstu"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Pēc noklusējuma izmantot LE Audio, pat ja nav pārbaudīta LE Audio perifērijas ierīces atbilstība atļaušanas saraksta kritērijiem."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Multivides ierīces"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Zvanīšanas ierīces"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Citas ierīces"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saglabātās ierīces"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Ar kontu saistītās ierīces"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Iepriekš izmantotas ar kontu"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Tiks ieslēgts Bluetooth un izveidots savienojums pārī."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Savienojuma preferences"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Ierīces, ar kurām savienojums tika izveidots iepriekš"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth savienojums ir ieslēgts"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Skatīt visas"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Skatīt visas"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Skārienekrāna pildspalva"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Skārienekrāna pildspalvas pogas nospiešana"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (darba profils)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Rakstīšana teksta laukos"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Vienmēr ignorēt skārienekrāna pildspalvas pogu nospiešanu"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Skārienekrāna pildspalva"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio kopīgošana"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Kopīgot audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Zvani un signāli"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Pievienojieties audio straumei, izmantojot kvadrātkodu."</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Tuvumā netika atrastas audio straumes."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datums un laiks"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Starpniekserveris"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Notīrīt"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Vai vēlamajām valodām pievienot šo valodu: %s?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Tādējādi lietotnes un vietnes tiek informētas, ka arī tā ir viena no jūsu vēlamajām valodām."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Tiks mainīti jūsu ierīces iestatījumi un reģionālās preferences."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Mainīt"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Šī valoda nav pieejama: %s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sestdiena"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ja kādā lietotnē netiek atbalstītas reģionālās preferences, tiks izmantoti tās noklusējuma lokalizācijas iestatījumi."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Uzziniet vairāk par valodas preferencēm."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Papildu preferences"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Uzruna"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Norādiet, kā jūs uzrunāt"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Lietotnes var izmantot jūsu izvēlēto uzrunu, lai personalizētu saziņu ar jums."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nav norādīts"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Sieviešu dzimte"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Vīriešu dzimte"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neitrāli"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Vai noņemt atlasīto valodu?}zero{Vai noņemt atlasītās valodas?}one{Vai noņemt atlasītās valodas?}other{Vai noņemt atlasītās valodas?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Teksts tiks rādīts citā valodā."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nevar noņemt visas valodas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Atrašanās vieta"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Izmantot atrašanās vietu"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Izslēgta"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Uzzināt vairāk par atrašanās vietas iestatījumiem."</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="3574930966097093550">"Lai mainītu piekļuvi atrašanās vietai, pārejiet uz sadaļu Iestatījumi &gt; Drošība un konfidencialitāte &gt; Konfidencialitātes vadīklas."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Konti"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Drošība"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifrēšana un akreditācijas dati"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Lai iegūtu vislabākos rezultātus, izmantojiet ekrāna aizsargplēvi, kam ir “Made for Google” sertifikāts. Ar citām ekrāna aizsargplēvēm jūsu bērna pirksta nospiedums, iespējams, nedarbosies."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Atbloķēšana ar pulksteni"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Ja iestatīsiet autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, tālrunī tiks pieprasīts pirksta nospiedums, kad valkāsiet masku vai atradīsieties tumšā vietā.\n\nJa seja vai pirksta nospiedums netiek atpazīts, atbloķēšanai varat izmantot pulksteni."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Ja pirksta nospiedums netiek atpazīts, atbloķēšanai varat izmantot pulksteni."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Ja seja netiek atpazīta, atbloķēšanai varat izmantot pulksteni."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Ja iestatīsiet autorizāciju pēc sejas un autorizāciju ar pirksta nospiedumu, tālrunī tiks pieprasīts pirksta nospiedums, kad valkāsiet masku vai atradīsieties tumšā vietā.\n\nAtbloķēšana ar pulksteni ir vēl viens ērts tālruņa atbloķēšanas veids, piemēram, kad pirksti ir mitri vai seja netiek atpazīta."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Atbloķēšana ar pulksteni ir vēl viens ērts tālruņa atbloķēšanas veids, piemēram, kad pirksta nospiedums netiek atpazīts."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Atbloķēšana ar pulksteni ir vēl viens ērts tālruņa atbloķēšanas veids, piemēram, kad seja netiek atpazīta."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Izmantojiet pirksta nospiedumu vai pulksteni, lai"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Izmantojiet seju vai pulksteni, lai"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Izmantojiet seju, pirksta nospiedumu vai pulksteni, lai"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Atbloķēšana ar pulksteni ir vēl viens ērts tālruņa atbloķēšanas veids. Piemēram, kad ir pirksti ir mitri vai seja netiek atpazīta.\n\nVarat izmantot pulksteni, lai atbloķētu tālruni tālāk norādītajos veidos."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Vēlāk"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Turpināt"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Vairāk"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Darbības principi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Pulkstenim jābūt atbloķētam, apliktam ap plaukstas locītavu un jāatrodas tālruņa tuvumā. Kamēr pulkstenis būs aplikts ap plaukstas locītavu, to nevajadzēs atbloķēt."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kad tālrunis tiks atbloķēts, pulkstenī saņemsiet paziņojumu. Ja tālrunis tika atbloķēts nejauši, pieskarieties paziņojumam, lai bloķētu tālruni."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Jūs visu kontrolējat"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Jebkurā laikā iestatījumu sadaļā varat noņemt pulksteni no funkcijas Atbloķēšana ar pulksteni"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Pieskarieties paziņojumam"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Bloķēšanas ekrānā velciet uz augšu"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Pulksteņa izvēle"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Pieejamie pulksteņi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Atcelt"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Apstiprināt"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Gatavs!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Tagad varat izmantot pulksteni, lai atbloķētu šo tālruni, bloķēšanas ekrānā velkot augšup vai pieskaroties paziņojumam"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Gatavs"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Atbloķēšana ar pulksteni"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Varat izmantot pulksteni, lai atbloķētu šo tālruni, bloķēšanas ekrānā velkot augšup vai pieskaroties paziņojumam."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Lai varētu izmantot atbloķēšanu ar pulksteni, pulkstenim jābūt atbloķētam, apliktam ap plaukstas locītavu, savienotam ar šo tālruni un jāatrodas tā tuvumā. Ja savienojums ir pārtraukts, tālrunis būs jāatbloķē, lai varētu izmantot funkciju “Atbloķēšana ar pulksteni”.\n\nŅemiet vērā:\nvienlaikus var būt iestatīts tikai viens pulkstenis. Lai pievienotu citu pulksteni, vispirms noņemiet jau iestatīto pulksteni."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Drošība"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Konfidencialitāte"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Darba profils"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privātā telpa"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Paslēpiet privātās lietotnes un bloķējiet piekļuvi tām."</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Glabājiet privātās lietotnes atsevišķā telpā, kuru varat paslēpt vai bloķēt."</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Privātās telpas bloķēšana"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Varat atbloķēt privāto telpu tāpat kā ierīci vai izvēlēties citu bloķēšanas metodi."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Izmantot ierīces ekrāna bloķēšanas metodi"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Autorizācija pēc sejas un pirksta nospieduma"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Autorizācija ar pirksta nospiedumu"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Autorizācija pēc sejas"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Pieskarieties, lai iestatītu."</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Autorizācija ar pirksta nospiedumu privātajai telpai"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Autorizācija pēc sejas privātajai telpai"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Atbloķēšanas iespējas"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Tāda pati bloķēšanas metode kā ierīces ekrāna bloķēšanai"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Vai bloķēt privāto telpu ar jaunu metodi?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Privātās telpas automātiska bloķēšana"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Varat automātiski bloķēt savu privāto telpu, ja noteiktu laika periodu neesat izmantojis savu ierīci."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Katru reizi, kad ierīce tiek bloķēta"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Pēc 5 minūšu neaktivitātes"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nekad"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Paslēpšana, kamēr šī mape ir bloķēta"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Privātās telpas paslēpšana, kamēr tā ir bloķēta"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Lai citi nezinātu, ka ierīcē ir privātā telpa, varat paslēpt to no lietotņu saraksta."</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Piekļūstiet privātajai telpai, kamēr tā ir paslēpta"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Lietotņu sarakstā meklēšanas joslā ievadiet “privātā telpa”."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Pieskarieties elementam “Privātā telpa”."</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Atbloķēt privāto telpu"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Izslēgta"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ieslēgta"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistēma"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Dzēst privāto telpu"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Vai dzēst privāto telpu?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Privātā telpa tiks noņemta no ierīces. Visas privātās lietotnes un dati tiks izdzēsti. Šo darbību nevar atsaukt."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Tālāk norādītie konti tiks noņemti no jūsu privātās telpas:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Dzēst"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Notiek privātās telpas dzēšana…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Tas ilgs kādu brīdi."</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privātā telpa ir izdzēsta."</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Privāto telpu nevarēja izdzēst."</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Atbloķēta privātā telpa"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ekrāna bloķēšanas iestatīšana"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Lai izmantotu privāto telpu, iestatiet ekrāna bloķēšanu šajā ierīcē."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Iestatīt ekrāna bloķēšanu"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Atcelt"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Atcelt"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Iestatīt"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Privātas telpas iestatīšana"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Glabājiet privātās lietotnes atsevišķā telpā, kuru varat paslēpt vai bloķēt."</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Darbības principi"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Varat piekļūt privātajai telpai lietotņu saraksta apakšdaļā."</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Bloķēšana aizsargā privātajā telpā ievietotās lietotnes."</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Kamēr privātā telpa ir bloķēta, paziņojumi no tajā ievietotajām lietotnēm tiek slēpti."</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Kamēr privātā telpa būs bloķēta, tajā ievietotās lietotnes netiks rādītas atļauju pārvaldniekā, konfidencialitātes informācijas panelī un citos iestatījumos.\n\nPrivāto telpu nevar pārvietot uz citu ierīci. Ja vēlēsieties to izmantot citā ierīcē, privātā telpa būs jāiestata vēlreiz.\n\nIkviena persona, kas pievienos jūsu ierīci datoram vai instalēs ierīcē kaitīgas lietotnes, iespējams, varēs piekļūt jūsu privātajai telpai."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Notiek privātās telpas iestatīšana…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Kamēr privātā telpa ir bloķēta, tās lietotņu paziņojumi tiek slēpti"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Lai kopīgotu fotoattēlus vai failus, atbloķējiet privāto telpu"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Jūsu privātajā telpā jau ir instalētas dažas lietotnes"</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_lockscreen_title" msgid="6034864097861137509">"Vai lietot ekrāna bloķēšanu privātās telpas atbloķēšanai?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Varat atbloķēt privāto telpu tāpat kā ierīci vai izvēlēties citu bloķēšanas metodi."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Izmantot ekrāna bloķēšanu"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Izvēlēties jaunu bloķēšanas metodi"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Gatavs!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Lai atrastu privāto telpu, dodieties uz lietotņu sarakstu un ritiniet lejup."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Gatavs"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Ritiniet lejup, lai atrastu privāto telpu"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Pierakstīties"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Pierakstieties kontā, ko izmantot ar privāto telpu"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Vēlāk"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Turpināt"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Privātās telpas bloķēšanas metodes izvēle"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Varat atbloķēt privāto telpu, izmantojot pirksta nospiedumu. Drošības apsvērumu dēļ šādā gadījumā ir nepieciešama arī rezerves bloķēšanas metode."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Iestatiet PIN privātajai telpai"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Iestatiet paroli privātajai telpai"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Iestatiet kombināciju privātajai telpai"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Varat pievienot līdz <xliff:g id="COUNT">%d</xliff:g> pirkstu nospiedumiem."</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Jūs esat pievienojis maksimālo pirkstu nospiedumu skaitu."</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nevar pievienot citus pirkstu nospiedumus."</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Kombinācija"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Parole"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vai atspējot ekrāna bloķēšanu?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Vai noņemt visus ierīces atbloķēšanas veidus?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Vai noņemt profila aizsardzību?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Kombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Kombinācija aizsargā tālruni, ja tas tiek nozaudēts vai nozagts.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Veicot šo darbību, tiks izdzēsts ierīcē saglabātais pirksta nospieduma modelis. Arī sejas modelis tiks neatgriezeniski un droši izdzēsts. Lietotnēs nevarēsiet izmantot seju vai pirksta nospiedumu autentifikācijai."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Jūs zaudēsiet saglabātos datus, piemēram, PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Bezkontakta maksājumiem iestatītās kartes tiks noņemtas.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Maki un citas lietotnes, kuru izmantošanai ir jāatbloķē ierīce, iespējams, nedarbosies pareizi."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Veicot šo darbību, tiks izdzēsts arī ierīcē saglabātais pirksta nospieduma modelis. Lietotnēs nevarēsiet izmantot pirksta nospiedumu autentifikācijai."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Jūs zaudēsiet saglabātos datus, piemēram, PIN un pirksta nospieduma modeli.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Bezkontakta maksājumiem iestatītās kartes tiks noņemtas.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Maki un citas lietotnes, kuru izmantošanai ir jāatbloķē ierīce, iespējams, nedarbosies pareizi."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Arī sejas modelis tiks neatgriezeniski un droši izdzēsts. Lietotnēs nevarēsiet izmantot seju autentifikācijai."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Jūs zaudēsiet saglabātos datus, piemēram, PIN un sejas modeli.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Bezkontakta maksājumiem iestatītās kartes tiks noņemtas.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Maki un citas lietotnes, kuru izmantošanai ir jāatbloķē ierīce, iespējams, nedarbosies pareizi."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN aizsargā tālruni, ja tas tiek nozaudēts vai nozagts.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Veicot šo darbību, tiks izdzēsts ierīcē saglabātais pirksta nospieduma modelis. Arī sejas modelis tiks neatgriezeniski un droši izdzēsts. Lietotnēs nevarēsiet izmantot seju vai pirksta nospiedumu autentifikācijai."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Jūs zaudēsiet saglabātos datus, piemēram, PIN, sejas modeli un pirksta nospieduma modeli.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Bezkontakta maksājumiem iestatītās kartes tiks noņemtas.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Maki un citas lietotnes, kuru izmantošanai ir jāatbloķē ierīce, iespējams, nedarbosies pareizi."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Parole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Parole aizsargā tālruni, ja tas tiek nozaudēts vai nozagts.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Vai savienot pārī ar ierīci <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Pievienojiet jaunu ierīci esošajai koordinētajai kopai"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Apstipriniet, lai pievienotu audio ierīces otro detaļu"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth kods savienošanai pārī"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Ierakstiet kodu savienošanai pārī un pēc tam nospiediet ievadīšanas taustiņu."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN ietver burtus un simbolus."</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Jābūt 16 cipariem"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Iespējams, šis PIN būs jāievada arī otrā ierīcē."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Iespējams, šī ieejas atslēga būs jāievada arī otrā ierīcē."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Apstipriniet, lai savienotu pārī ar koordinēto kopu."</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Apstipriniet, lai izveidotu savienojumu pārī ar audio ierīci"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Atļaut piekļuvi jūsu kontaktpersonām un zvanu vēsturei"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Atļaujiet arī piekļuvi kontaktpersonām un zvanu vēsturei"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informācija tiks izmantota paziņojumiem par zvaniem un citām funkcijām"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nevarēja izveidot savienojumu ar ierīci <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Pieejamās ierīces"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Izveidot savienojumu"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Atvienot"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Izveidot pāri un savienojumu"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kad Bluetooth ir ieslēgts, ierīce var sazināties ar citām Bluetooth ierīcēm tuvumā."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kad tehnoloģija Bluetooth ir ieslēgta, ierīce var sazināties ar citām tuvumā esošām Bluetooth ierīcēm."</string>
     <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_scan_change" msgid="1744636222637390367">"Mainīt"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Ierīces dati"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Atļaut ART verificēt atkļūdojamu lietotņu bitu kodu"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Rādīt atsvaidzin. biežumu"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Rādīt pašreizējo displeja atsvaidzināšanas biežumu"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Rādīt HDR/SDR attiecību"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Rādīt pašreizējo HDR/SDR attiecību"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Pieprasīt ierīces atbloķēšanu tehnoloģijai NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Lidmašīnas režīmā"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Paziņojumi par publiskiem tīkliem"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Paziņot, kad ir pieejams augstas kvalitātes publiskais tīkls"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Atļaut WEP tīklus"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ir vecāks drošības protokols, kas ir mazāk drošs."</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Jūsu mobilo sakaru operators neatļauj WEP tīklus, jo tie ir mazāk droši."</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Automātiski ieslēgt Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi tiks automātiski atkārtoti ieslēgts netālu no saglabātiem augstas kvalitātes tīkliem, piemēram, netālu no mājas tīkla."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nav pieejama, jo ir izslēgta piekļuve atrašanās vietas datiem. Ieslēgt "<annotation id="link">"piekļuvi atrašanās vietas datiem"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Veicot Wi‑Fi meklēšanu, lietotnes un pakalpojumi var meklēt Wi-Fi tīklus vienmēr, pat ja Wi-Fi savienojums ir izslēgts. Šo iestatījumu var izmantot, piemēram, lai uzlabotu atrašanās vietas funkcijas un pakalpojumus."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ieslēgt"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi meklēšana ir ieslēgta"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Šis tīkls izmanto vecāku drošības protokolu, kas ir mazāk drošs."</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Tīkls “<xliff:g id="NAME">%1$s</xliff:g>” ir bloķēts"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Šis tīkls izmanto vecāku drošības protokolu (WEP), kas ir mazāk drošs. Lai tomēr izveidotu savienojumu, varat atļaut WEP tīklus."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Jūsu mobilo sakaru operators neatļauj jums izveidot savienojumu ar šo tīklu, jo šis tīkls izmanto vecāku drošības protokolu, kas ir mazāk drošs."</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Atļaut WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Aizvērt"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Papildu opcijas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Nolaižamais saraksts “Papildu opcijas”"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"izvērst"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Turpināt izmantot Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Vairs nerādīt"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Izveidot savienojumu"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi ir ieslēgts"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Izveidots savienojums ar tīklu “<xliff:g id="NETWORK_NAME">%1$s</xliff:g>”"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Notiek savienojuma izveide ar tīklu <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Veido savienojumu…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Neizdevās izveidot savienojumu ar tīklu."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Neesat tīkla sasniedzamības zonā"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Neiegaumēt"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Mainīt"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Neizdevās aizmirst tīklu."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Saglabāt"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Neizdevās saglabāt tīklu."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Atcelt"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobilie dati"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> — notiek uzlāde"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> — notiek uzlāde"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Savienojums ar tīklāju"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Savienojuma stiprums"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saglabātie tīkli"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nav iestatīta parole"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Tīklāja nosaukums"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Tīklāja parole"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Piekļuves punkta josla"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automātiski izslēgt tīklāju"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kad nav pievienota neviena ierīce"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Paplašināt saderību"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Displeja baltās krāsas balanss"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Turpināt izmantot lietotnes, kad ierīce ir salocīta"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Noteikta satura atsvaidzināšanas biežums tiek automātiski palielināts no 60 līdz <xliff:g id="ID_1">%1$s</xliff:g> Hz. Tas palielina akumulatora lietojumu."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Atspējot noklusējuma kadrus/s"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Atspējot <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz ierobežojumu spēļu maksimālajam kadru skaitam sekundē."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Noteikta satura atsvaidzināšanas biežums tiek automātiski palielināts līdz <xliff:g id="ID_1">%1$d</xliff:g> Hz. Tas palielina akumulatora lietojumu."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Piespiedu maksimālais atsvaidzināšanas biežums"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Augstākais atsvaidzināšanas biežums uzlabotai reakcijai uz pieskārienu un labākai animācijas kvalitātei. Tas palielina akumulatora lietojumu."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atpazīšana ekrānā"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Atpazīšanai ekrānā tiek izmantota priekšējā kamera, lai noteiktu, vai kāds skatās uz ekrānu. Šī funkcija darbojas ierīcē, un attēli netiek ne saglabāti, ne nosūtīti uzņēmumam Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Atpazīšanas ekrānā ieslēgšana"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ekrāns netiek izslēgts, ja uz to skatāties."</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Ilgākai ekrāna noildzei tiks patērēts vairāk akumulatora enerģijas."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera ir bloķēta"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Lai varētu izmanto sejas noteikšanu, kamerai jābūt atbloķētai"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Lai varētu izmantot atpazīšanu ekrānā, kamerai jābūt atbloķētai"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (<xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>. SIM kartes slots)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (<xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>. SIM kartes slots) (galvenais)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Skatīšanai izvēlieties saglabātu tīklu."</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL versija"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Akumulatora uzlādes līmenis"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Kopīgie"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Kopīgie iestatījumi"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Ziņojumapmaiņa, izmantojot satelītu"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Rediģēt piekļuves punktu"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Piekļuves punkta pievienošana"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nav iestatīts"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nav iestatīts"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nosaukums"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ir iespējots"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN ir atspējots"</string>
     <string name="bearer" msgid="3231443241639159358">"Nesējs"</string>
+    <string name="network_type" msgid="748590707422733595">"Tīkla veids"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nav norādīts"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO veids"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO vērtība"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Dzēst APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Saglabāt"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Atcelt"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Dublēts APN ieraksts."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Lauks Nosaukums nedrīkst būt tukšs."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN nedrīkst būt tukšs."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC laukā jābūt 3 cipariem."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC laukā jābūt diviem vai trim cipariem."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Mobilo sakaru operators neatļauj pievienot šāda veida APN: %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC laukam jābūt derīgam."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Notiek APN noklusējuma iestatījumu atjaunošana."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Atiestatīt noklusējuma vērtības"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Noklusējuma APN iestatījumu atiestatīšana ir pabeigta."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Atiestatīt"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth un Wi‑Fi iestatījumi ir atiestatīti"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Dzēst eSIM kartes"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Ar šo darbību netiks anulēti mobilo sakaru pakalpojumu plāni. Lai lejupielādētu nomaiņas SIM kartes, sazinieties ar mobilo sakaru operatoru."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Tādējādi netiks atcelts jūsu mobilo pakalpojumu plāns. Lai iegūtu nomaiņas SIM karti, sazinieties ar mobilo sakaru operatoru."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Atiestatīt iestatījumus"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Vai vēlaties atiestatīt visus tīkla iestatījumus? Šo darbību nevar atsaukt."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vai atiestatīt visus tīkla iestatījumus un dzēst eSIM kartes? Šo darbību nevar atsaukt."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Vai atiestatīt?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Šim lietotājam nav pieejama tīkla atiestatīšana."</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Tīklu iestatījumi ir atiestatīti."</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Nevar izdzēst SIM kartes"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Nevar izdzēst eSIM kartes, jo radās kļūda.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Nevar izdzēst eSIM kartes"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Radās problēma, un jūsu eSIM kartes netika dzēstas.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Dzēst visus datus (atiestatīt rūpnīcas datus)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Atiestatīt rūpnīcas datus"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"mūzika"</li>\n<li>"fotoattēli"</li>\n<li>"citi lietotāja dati"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM kartes"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Veicot šo darbību, netiks atcelts jūsu mobilo pakalpojumu plāns."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Tiks izdzēsta visa jūsu personas informācija un lejupielādētās lietotnes. Šo darbību nevar atsaukt."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Tiks izdzēsta visa jūsu personas informācija, tostarp lejupielādētās lietotnes un SIM kartes. Šo darbību nevar atsaukt."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Tiks izdzēsta visa jūsu personas informācija, tostarp lejupielādētās lietotnes un eSIM kartes. Šo darbību nevar atsaukt."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vai dzēst visus datus?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Šim lietotājam nav pieejama rūpnīcas datu atiestatīšana."</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Notiek dzēšana"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Tīklājs, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internets netiek koplietots ar citām ierīcēm"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Izslēgts"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Piesaiste"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Neizmantot Wi‑Fi tīklāju"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Kopīgot interneta savienojumu, tikai izmantojot USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Kopīgot interneta savienojumu, tikai izmantojot Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Kopīgot interneta savienojumu, tikai izmantojot Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Kopīgot interneta savienojumu, tikai izmantojot USB un Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Kopīgot interneta savienojumu, tikai izmantojot USB un Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Kopīgot interneta savienojumu, tikai izmantojot Bluetooth un Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Kopīgot interneta savienojumu, tikai izmantojot USB, Bluetooth un Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB piesaiste"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth piesaiste"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet piesaiste"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Izmantojot tīklāju un piesaisti, jūsu ierīces Wi-Fi vai mobilo datu savienojums var nodrošināt interneta savienojumu citām ierīcēm. Lietotnes var arī izveidot tīklāju satura kopīgošanai ar tuvumā esošajām ierīcēm."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Palīdzība"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilais tīkls"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilo sakaru pakalpojumu plāns"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Īsziņu lietotne"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vai mainīt īsziņu lietotni?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Vai īsziņām izmantot lietotni <xliff:g id="NEW_APP">%1$s</xliff:g>, nevis <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Vai mainīt Wi-Fi palīgu?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Vai tīkla savienojumu pārvaldībai izmantot lietotni <xliff:g id="NEW_APP">%1$s</xliff:g>, nevis <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Vai tīkla savienojumu pārvaldībai izmantot lietotni <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nezināms SIM operators"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Operatoram <xliff:g id="OPERATOR">%1$s</xliff:g> nav zināmas nodrošināšanas vietnes."</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Lūdzu, ievietojiet SIM karti un restartējiet."</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Lūdzu, izveidojiet savienojumu ar internetu."</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Neseni vietu pieprasījumi"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Darba profila atrašanās vieta"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Lietotņu atraš. vietu atļaujas"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Atcelt piekļuvi"</string>
     <string name="controls_label" msgid="8671492254263626383">"Vadīklas"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forsēt apturēšanu"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhivēt"</string>
+    <string name="restore" msgid="7622486640713967157">"Atjaunot"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Notiek atjaunošana"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Notiek atjaunošana."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Notiek atjaunošana.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Notiek atjaunošana…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Kopā"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Lietotnes lielums"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB atmiņas lietotne"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nevar aprēķināt pakotnes izmēru."</string>
     <string name="version_text" msgid="7628938665256107608">"versija <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Pārvietot"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhivēšana neizdevās"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Lietotne <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> tika arhivēta"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Atjaunošana neizdevās"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Notiek lietotnes <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> atjaunošana"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Jau norisinās cita migrēšanas darbība."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Atmiņā nepietiek vietas."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Lietotne nepastāv."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Pieejamā ekrāna tastatūra"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Pārvaldīt ekrāna tastatūru"</string>
     <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="6922850403920596246">"Iespējojiet atlēcienu taustiņus fiziskās tastatūras pieejamībai."</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Lēnie taustiņi"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Iespējojiet lēnos taustiņus fiziskās tastatūras pieejamībai."</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Taustiņu ķēde"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Iespējojiet taustiņu ķēdi fiziskās tastatūras pieejamībai."</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"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="trackpad_touch_gesture" msgid="8641725062131922497">"Apgūt skārienpaliktņa žestus"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Došanās uz sākuma ekrānu"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Ar trīs pirkstiem velciet augšup pa skārienpaliktni"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Došanās atpakaļ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Kārtot pēc lietojuma laika"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Kārtot pēc pēdējās lietošanas"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Kārtot pēc lietotnes nosaukuma"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Pēdējo reizi izmantots"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Pēdējoreiz lietota"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nekad"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Lietojuma laiks"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Pieejamība"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Pieejamības iestatījumi"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Palielināt, trīsreiz pieskaroties"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Palielināšana ar saīsni"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Palieliniet, lietojot saīsni un trīskāršu skārienu"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Par pakalpojumu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Pieejamības pogas izmantošana atvēršanai"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Lai atvērtu, turiet nospiestas skaļuma pogas"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Lai atvērtu, trīsreiz pieskarieties ekrānam"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Dubultskāriens ekrānam ar diviem pirkstiem, lai atvērtu"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Žesta izmantošana atvēršanai"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Pieejamības žesta izmantošana"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Lai izmantotu šo funkciju, ekrāna apakšdaļā pieskarieties pieejamības pogai <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nLai pārslēgtu funkcijas, pieskarieties pieejamības pogai un turiet to."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Lai izmantotu šo funkciju, pieskarieties ekrānā esošajai pieejamības pogai."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Lai izmantotu šo funkciju, nospiediet un turiet abas skaļuma pogas."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Lai sāktu un apturētu palielināšanu, trīsreiz pieskarieties jebkurā ekrāna vietā."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Lai sāktu un apturētu palielināšanu, ar diviem pirkstiem divreiz pieskarieties jebkur ekrānā."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Lai izmantotu šo funkciju, ar diviem pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar diviem pirkstiem un turiet."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Lai izmantotu šo funkciju, ar trīs pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar trīs pirkstiem un turiet."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Lai izmantotu pieejamības funkciju, ar diviem pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar diviem pirkstiem un turiet."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Lai izmantotu pieejamības funkciju, ar trīs pirkstiem velciet augšup no ekrāna apakšdaļas.\n\nLai pārslēgtu funkcijas, velciet augšup ar trīs pirkstiem un turiet."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Labi"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Pieejamības pogas iestatījumi"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Pogas iestatījumi"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pakalpojuma <xliff:g id="SERVICE">%1$s</xliff:g> saīsne"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Pieejamības poga"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Pieejamības žests"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Turēt nospiestas skaļuma pogas"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"turiet nospiestus 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dubultskāriens ekrānam ar diviem 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="6863958573135995927">"trīsreiz pieskarieties ekrānam"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Uzzināt vairāk par pieejamības pogu un žestu"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Tiek izmantota pieejamības poga. Žests nav pieejams, izmantojot 3 pogu navigāciju."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Ātri piekļūt pieejamības funkcijām"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Lai sāktu darbu, veiciet tālāk norādītās darbības."</b>\n"1. Pārejiet uz pieejamības iestatījumiem.\n2. Atlasiet funkciju un pieskarieties saīsnei.\n3. Izvēlieties, vai izmantot pogu vai žestu, lai piekļūtu funkcijai."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Lai sāktu darbu, veiciet tālāk norādītās darbības."</b>\n"1. Pārejiet uz pieejamības iestatījumiem.\n2. Atlasiet funkciju un pieskarieties saīsnei.\n3. Izvēlieties pogu, lai piekļūtu funkcijai."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Darba sākšana&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Atveriet pieejamības iestatījumus.&lt;br/&gt; {1,number,integer}. Atlasiet funkciju un pieskarieties saīsnei.&lt;br/&gt; {2,number,integer}. Izvēlieties, vai izmantot pogu vai žestu, lai piekļūtu funkcijai.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Darba sākšana&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Atveriet pieejamības iestatījumus.&lt;br/&gt; {1,number,integer}. Atlasiet funkciju un pieskarieties saīsnei.&lt;br/&gt; {2,number,integer}. Izvēlieties pogu, ko izmantot, lai piekļūtu funkcijai.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Izmantot pogu vai žestu"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Atrašanās vieta"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Lielums"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Barošanas poga beidz zvanu"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Liela rādītāja ikona"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Padariet peles rādītāju pamanāmāku"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Lietot tumšo motīvu visās lietotnēs"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Attiecas uz lietotnēm bez sava tumšā motīva. Var būt attēlojuma problēmas, piem., invertētas krāsas."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Noņemt animācijas"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Samazināt kustību ekrānā"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Izmantot vibrāciju un vibrāciju pieskaroties"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Signāla vibrācija"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Multivides atskaņošanas vibrācija"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Tastatūras vibrācija"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Zvana vibrācija"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Paziņojuma vibrācija"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Pieskarieties vienumam Atsauksmes"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Apturēt"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Atcelt"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Vai apturēt <xliff:g id="SERVICE">%1$s</xliff:g> darbību?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Pieskaroties vienumam <xliff:g id="STOP">%1$s</xliff:g>, tiks apturēts pakalpojums <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Izslēgt"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Turpināt"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vai izslēgt pakalpojumu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nav instalēts neviens pakalpojums."</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nav atlasīts neviens pakalpojums"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Apraksts nav sniegts."</string>
     <string name="settings_button" msgid="2195468788019730377">"Iestatījumi"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"jutīgums pret gaismu, fotofobija, tumšais motīvs, migrēna, galvassāpes, lasīšanas režīms, nakts režīms, samazināt spilgtumu, baltais punkts"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ērta lietošana, ērta piekļuve, atbalsts, papildu darbības"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"redze, dzirde, akls, nedzirdīgs, motorika, roku koordinācija, papildu darbības, atbalsts, ērta lietošana, ērta piekļuve, roka, palīdzība"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Loga palielināšana, tālummaiņa, palielinājums, vājredzība, palielināt, padarīt lielāku"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Titri, slēptie subtitri, subtitri, tieša transkripcija, vājdzirdība, nedzirdība, stenogrāfija reāllaikā, runas pārvēršana tekstā, runas teksts"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"krāsu kontrasts"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorika, pele"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"dzirdes aparāti, vājdzirdība, nedzirdība, kohleārie implanti, skaņas pastiprināšanas ierīces, skaņu apstrādātāji"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorika, pele, ārējā pele, galvas pele, adaptīvā pele, ratiņkrēsls, kursorsvira"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"dzirdes aparāti, vājdzirdība, nedzirdība, kohleārie implanti, skaņas pastiprināšanas ierīces, skaņu apstrādātāji, personīgie skaņas pastiprināšanas produkti"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"vājdzirdība, nedzirdība, subtitri, teletaips, teksta tālrunis"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"trīs pogas"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"roku koordinācija, motorika, seniors, artrīts, insults, roku trīce, multiplā skleroze, cerebrālā trieka, trīce, atkārtotas slodzes traumas, roka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"aizkave, roku koordinācija, seniors"</string>
     <string name="print_settings" msgid="8519810615863882491">"Drukāšana"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Izslēgts"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Ieslēgts 1 drukāšanas pakalpojums}zero{Ieslēgti # drukāšanas pakalpojumi}one{Ieslēgts # drukāšanas pakalpojums}other{Ieslēgti # drukāšanas pakalpojumi}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> — <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Vēl <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Atlikušais uzlādes laiks: <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Izmantošanas ilgums"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Lietošanas fonā ilgums"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Zems akumulatora uzlādes līmenis"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Atļaut lietotnei darboties fonā"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Vai ierobežot darbību fonā?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ierobežojot lietotnes darbību fonā, var rasties šīs lietotnes darbības traucējumi."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Lietotnei nav iestatīta akumulatora optimizācija, tāpēc to nevar ierobežot.\n\nVispirms iestatiet akumulatora optimizāciju."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Akumulatora lietojuma pārvaldība"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Atļauja lietojumam fonā"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Iespējojiet, lai saņemtu reāllaika atjauninājumus; atspējojiet, lai taupītu akumulatora enerģiju."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neierobežots"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizēts"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ierobežoti"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Skatiet lietotnes, kas patērē visvairāk akumulatora enerģijas"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Uzlāde optimizēta, lai saudzētu jūsu akumulatoru"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Lai paildzinātu jūsu akumulatora darbmūžu, uzlāde tiek optimizēta."</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Uzlāde optimizēta, lai saudzētu jūsu akumulatoru"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Lai paildzinātu jūsu akumulatora darbmūžu, dokošanas laikā uzlāde tiek optimizēta."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Uzlāde optimizēta, lai saudzētu jūsu akumulatoru"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Lai paildzinātu jūsu akumulatora darbmūžu, dokošanas laikā uzlāde tiek optimizēta."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Pilnīga uzlāde"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Lai saudzētu jūsu akumulatoru, uzlāde tiks optimizēta, kad jūsu planšetdators nākamreiz būs dokots."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Uzziniet vairāk par paziņojumu “Uzlāde ir apturēta”"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Atsākt uzlādi"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Iekļautas lieljaudas fona darbības"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Šī lietotne varēs izmantot akumulatora enerģiju fonā. Tādējādi akumulators var izlādēties ātrāk nekā parasti."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Noņemt"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Atcelt"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Pilnībā uzlādēt"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problēma ar uzlādes ierīci"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Pārbaudiet uzlādes piederumu"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Uzzināt vairāk par uzlādi ar nesaderīgu lādētāju"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Akumulatora pārvaldnieks"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automātiska akumulatora enerģijas patēriņa pārvaldība"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"kopš pēdējās pilnās uzlādes"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistēmas lietotnes"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Atinstalētas lietotnes"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Citi"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Plānotais atlikušais laiks"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Līdz pilnai uzlādei"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Kopā: mazāk par minūti"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Fonā: mazāk par minūti"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Izmantošanas ilgums: mazāk par minūti"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Mazāk nekā minūti"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Kopā: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Fonā: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Izmantošanas ilgums: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"tagad"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> plkst. <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g>: <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Akumulatora lietojuma diagramma"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagramma ar datiem par akumulatora lietojumu dienā"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagramma ar datiem par akumulatora lietojumu stundā"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Akumulatora uzlādes līmenis procentos (<xliff:g id="START_PERCENTAGE">%1$s</xliff:g>—<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>)"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Akumulatora lietojums kopš pēdējās pilnās uzlādes"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Akumulatora lietojums: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Izmantošanas ilgums kopš pēdējās pilnās uzlādes"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ārkārtas zvana signāls"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Iestatīt uzvedību, kad tiek veikts ārkārtas zvans"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Dublēšana"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Ieslēgts"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Izslēgts"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Dublēšana un atjaunošana"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personīgie dati"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Dublēt manus datus"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobilie dati un Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autom. sinhronizēt pers. datus"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autom. sinhronizēt darba datus"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Automātiski sinhronizēt privātus datus"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Mainīt ciklu..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Mēneša diena, kad tiks atiestatīts datu izmantošanas cikls:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Šajā periodā lietotnes neizmantoja datus."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nosaukums"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Veids"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Servera adrese"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP šifrējums (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Slepenais L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Protokola IPsec identifikators"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Protokola IPsec iepriekš kopīgotā atsl."</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Protokola IPsec lietotāja sertifikāts"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Protokola IPsec CA sertifikāts"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec servera sertifikāts"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Rādīt papildopcijas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Sistēmas DNS meklēšanas domēni"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serveri (piem., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Pārsūtīšanas ceļi (piem., 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Lietotājvārds"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Parole"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Saglabāt konta informāciju"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(netiek lietots)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(neverificēt serveri)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(saņemts no servera)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Šī veida VPN savienojums nevar būt nepārtraukts."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Vienmēr ieslēgts VPN atbalsta servera adreses, kurās ir tikai cipari."</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Lai būtu vienmēr ieslēgts VPN, ir jābūt norādītam DNS serverim."</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Lai būtu vienmēr ieslēgts VPN, DNS servera adresē ir jābūt tikai cipariem."</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Ievadītā informācija neatbalsta vienmēr ieslēgtu VPN."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Atcelt"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Nerādīt"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloķēt savienojumus bez VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vai nepieciešams VPN savienojums?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nav drošs. Atjauniniet uz IKEv2 VPN."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Neizdevās palaist neatbalstītu VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Izvēlieties VPN profilu, ar kuru izveidot pastāvīgu savienojumu. Tīkla datplūsma tiks atļauta, tikai esot izveidotam savienojumam ar šo VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nav"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Vienmēr ieslēgtam VPN ir nepieciešama servera un DNS IP adrese."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER brīdinājumi"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Saņemt biļetenus par bērnu nolaupīšanas gadījumiem"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Atkārtošana"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Zvanu pārvaldnieka iespējošana"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Atļaut šim pakalpojumam pārvaldīt, kā tiek veikti zvani."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Zvanu pārvaldnieks"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Bezvadu ārkārtas brīdinājumi"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Tīkla operatori"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Piekļuves punktu nosaukumi"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM kartes statuss"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM k. statuss (%1$d. SIM kartes slots)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM kartes ir mainītas."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Jūsu SIM kartes ir pārslēgtas"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Pieskarieties, lai iestatītu."</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vaicāt katru reizi"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Nepieciešams veikt atlasi."</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Pēdējās izmantotās lietotnes, noklusējuma lietotnes"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Piekļuve paziņojumiem nav pieejama darba profila lietotnēm."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Paroles un konti"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saglabātās paroles, automātiskā aizpilde, sinhronizētie konti"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Pierakstīšanās un automātiskās aizpildes ieteikumi"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Noklusējuma lietotnes"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonētās lietotnes"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Izveidojiet otru lietotnes instanci, lai varētu vienlaikus izmantot divus kontus."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"maks"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"maksāt, pieskarties, maksājumi"</string>
     <string name="keywords_backup" msgid="707735920706667685">"dublēšana, dublēt"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"žests"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"sejas, autorizācija, atbloķēšana, pierakstīšanās"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"seja, autorizācija, autentifikācija, pierakstīšanās, pirksta nospiedums, biometrija"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl versija, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"teksta lielums, lieli burti, lieli fonti, liels teksts, vājredzība, padarīt tekstu lielāku, fontu palielinātājs, fontu palielināšana"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"vienmēr ieslēgts ambientajā režīmā, nepārtraukti aktīvs displejs"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, atzīme, lasītājs"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastatūra, haptiskā tehnoloģija, vibrācija,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Skaļums, vibrācija, režīms “Netraucēt”"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Multivides skaļums"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Apraides skaļums"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ieslēgšanas skaņas"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtitri reāllaikā"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automātiskie paraksti multividei"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Tālruņa skaļruņi"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Planšetdatora skaļruņi"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Ierīces skaļruņi"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Vadu austiņas"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio no saderīga multivides satura kļūst iekļaujošāks"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Izslēgts"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Rādīt visu paziņojumu saturu"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Rādīt sensitīvu saturu tikai, kad atbloķēts"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nerādīt paziņojumus vispār"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kā rādīt paziņojumus bloķēšanas ekrānā?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ko rādīt bloķēšanas ekrānā?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Bloķēšanas ekrāns"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Rādīt visu saturu darba profila paziņojumos"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Paslēpt sensitīvu darba profila saturu"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Jaunākās sarunas ir noņemtas"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Saruna noņemta"</string>
     <string name="clear" msgid="5092178335409471100">"Notīrīt"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Notīrīt sarunu <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Šeit būs redzamas prioritārās un mainītās sarunas"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Tiklīdz atzīmēsiet kādu sarunu kā prioritāru vai veiksiet citas izmaiņas sarunās, tās tiks rādītas šeit. \n\nSarunas iestatījumu mainīšana: \nvelciet lejup no ekrāna augšdaļas, lai atvērtu nolaižamo paneli, pēc tam pieskarieties konkrētai sarunai un turiet to."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizēt"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Nogaidīšanas periods paziņojumiem"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Lietot nogaidīšanas periodu visiem paziņojumiem"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Pakāpeniski samazināt paziņojumu skaitu, ja saņemat daudz secīgu paziņojumu no vienas lietotnes"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Lietot nogaidīšanas periodu sarunām"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Pakāpeniski samazināt paziņojumu skaitu, ja saņemat daudz ziņojumu vienā sarunā īsā laika periodā"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Neizmantot nogaidīšanas periodu paziņojumiem"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nekad nesamazināt paziņojumu skaitu neatkarīgi no tā, cik daudz secīgu paziņojumu saņemat no vienas lietotnes"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrēt atbloķējot"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Tikai vibrēt, kad ekrāns tiek atbloķēts"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Lietot darba profiliem"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Lietot darba profilā iestatījumus no personīgā profila attiecībā uz nogaidīšanas periodu paziņojumiem"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR palīga pakalpojumi"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nevienai instalētajai lietotnei nav pieprasīta palaišana kā VR palīga pakalpojumam."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Vai atļaut VR pakalpojumam piekļūt pakalpojumam <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Izslēgta"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Lietotņu piespraušana"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Izmantojot lietotņu piespraušanas funkciju, varat iestatīt, lai pašreizējā lietotne tiktu rādīta, līdz to atspraudīsiet. Šo funkciju var izmantot, piemēram, lai ļautu uzticamam draugam spēlēt noteiktu spēli."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kamēr lietotne ir piesprausta, tā var atvērt citas lietotnes, turklāt var būt iespējams piekļūt personas datiem. \n\nLai izmantotu lietotņu piespraušanu, veiciet tālāk norādītās darbības. 	\n1. Ieslēdziet lietotņu piespraušanu. 	\n2. Atveriet sadaļu Pārskats. 	\n3. Ekrāna augšdaļā pieskarieties konkrētas lietotnes ikonai un pēc tam — vienumam Piespraust."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kamēr lietotne ir piesprausta, tā var atvērt citas lietotnes, turklāt var būt iespējams piekļūt personas datiem. \n\nJa vēlaties droši kopīgot savu ierīci ar citu personu, lietotņu piespraušanas vietā varat izmantot vieslietotāja profilu. \n\nLai izmantotu lietotņu piespraušanu, veiciet tālāk norādītās darbības. 	\n1. Ieslēdziet lietotņu piespraušanu. 	\n2. Atveriet sadaļu Pārskats. 	\n3. Ekrāna augšdaļā pieskarieties konkrētas lietotnes ikonai un pēc tam — vienumam Piespraust."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kamēr lietotne ir piesprausta, tā var atvērt citas lietotnes, turklāt var būt iespējams piekļūt personas datiem. \n\nLai izmantotu lietotņu piespraušanu, veiciet tālāk minētās darbības. 	\n{0,number,integer}. Ieslēdziet lietotņu piespraušanu. 	\n{1,number,integer}. Atveriet pārskatu. 	\n{2,number,integer}. Ekrāna augšdaļā pieskarieties konkrētas lietotnes ikonai un pēc tam — vienumam Piespraust."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kamēr lietotne ir piesprausta, tā var atvērt citas lietotnes, turklāt var būt iespējams piekļūt personas datiem. \n\nJa vēlaties droši kopīgot savu ierīci ar citu personu, lietotņu piespraušanas vietā varat izmantot viesa profilu. \n\nLai izmantotu lietotņu piespraušanu, veiciet tālāk minētās darbības. 	\n{0,number,integer}. Ieslēdziet lietotņu piespraušanu. 	\n{1,number,integer}. Atveriet pārskatu. 	\n{2,number,integer}. Ekrāna augšdaļā pieskarieties konkrētas lietotnes ikonai un pēc tam — vienumam Piespraust."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kamēr lietotne ir piesprausta, pastāv šādi riski. \n\n•	 Var būt iespējams piekļūt personas datiem \n		(piemēram, kontaktpersonu sarakstam un e-pasta ziņojumu saturam). \n•	 Piespraustā lietotne var atvērt citas lietotnes. \n\nIzmantojiet lietotņu piespraušanu tikai kopā ar uzticamām personām."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pirms atspraušanas pieprasīt atbloķēšanas kombināciju"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Prasīt PIN kodu pirms atspraušanas"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pirms atspraušanas pieprasīt paroli"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloķēt ierīci, kad tiek veikta atspraušana"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM kartes dzēšanas apstiprinājums"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Apstipriniet, ka vēlaties dzēst savu eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Pirms eSIM kartes dzēšanas apstipriniet savu identitāti."</string>
     <string name="memtag_title" msgid="5096176296797727201">"Uzlab. atmiņas aizsardz. beta v."</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Uzlabotā atmiņas aizsardzība"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Neizmantotās lietotnes iestatījumi"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Apturēt lietotni, ja tā netiek izmantota"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Atsaukt atļaujas, dzēst pagaidu failus un izslēgt paziņojumus"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Pārvaldīt lietotni, ja tā netiek lietota"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Noņemt atļaujas, dzēst pagaidu failus, apturēt paziņojumus un arhivēt lietotni"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Visas lietotnes"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Instalētās lietotnes"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Tūlītējās lietotnes"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Brīvs"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Lietotņu izmantotais atmiņas apjoms"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 lietotne izmantoja atmiņu šādā laika periodā: pēdējā(-ais) {time}}zero{# lietotnes izmantoja atmiņu šādā laika periodā: pēdējā(-ais) {time}}one{# lietotne izmantoja atmiņu šādā laika periodā: pēdējā(-ais) {time}}other{# lietotnes izmantoja atmiņu šādā laika periodā: pēdējā(-ais) {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Iespējot atmiņas lietojuma profilēšanu"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Atmiņas lietojuma profilēšanai nepieciešami papildu sistēmas resursi."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Atmiņas lietojuma profilēšana ir atspējota."</string>
     <string name="running_frequency" msgid="7260225121706316639">"Biežums"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimālais lietojums"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Dati nav izmantoti"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Rādīt pāri citām lietotnēm"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Atļaut rādīt pāri citām lietotnēm"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Atļaut rādīt šo lietotni pāri citām jūsu izmantotajām lietotnēm. Šī lietotne varēs redzēt, kur pieskaraties, vai mainīt ekrānā redzamo saturu."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Mainīt multivides izvadi"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Atļaut lietotnei pārslēgt multivides ievadi"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Atļaujiet šai lietotnei izvēlēties, kura pievienotā ierīce atskaņo audio vai video no citām lietotnēm. Ja atļausiet, šī lietotne varēs piekļūt sarakstam ar pieejamajām ierīcēm, piemēram, austiņām un skaļruņiem, un izvēlēties, kura izvades ierīce tiks izmantota audio vai video straumēšanai vai apraidīšanai."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Piekļuve visiem failiem"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Atļaut piekļuvi visu failu pārvaldībai"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Atļaujiet šai lietotnei lasīt, pārveidot un dzēst visus failus šajā ierīcē vai pievienotajās atmiņas ierīcēs. Ja piešķirsiet atļauju, lietotne varēs piekļūt failiem, jums par to nezinot."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Var piekļūt visiem failiem"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ar balsi aktivizētas lietotnes"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Atļaut aktivizāciju ar balsi"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Izmantojot aktivizāciju ar balsi, brīvroku režīmā ar balss komandu tiek ieslēgtas apstiprinātās lietotnes. Iebūvētā adaptīvā klātbūtnes noteikšana nodrošina, ka datiem varat piekļūt tikai jūs.\n\n"<a href="">"Plašāka informācija par aizsargāto adaptīvo klātbūtnes noteikšanu"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Pilnekrāna paziņojumi"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Atļaut šīs lietotnes pilnekrāna paziņojumus"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Atļaujiet šai lietotnei rādīt paziņojumus pilnekrāna režīmā, kad ierīce ir bloķēta. Lietotnes var šādi izcelt signālus, ienākošos zvanus vai citus svarīgus paziņojumus."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Datu brīdinājums: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Datu ierobežojums: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Datu brīdinājums: <xliff:g id="ID_1">^1</xliff:g>, datu ierobežojums: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Mobilo sakaru operatora datu uzskaite var atšķirties no datu uzskaites ierīcē"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Neietver datu lietojumu mobilo sakaru operatoru tīklos."</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> izmantoti"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Ieslēgt brīdinājumu par datiem"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Atjaunināts pirms <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Tikko atjaunināja <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Tikko atjaunināts"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Skatīt plānu"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Skatīt detalizētu informāciju"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Datu lietojuma samazinātājs"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neierobežoti dati"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> patērēja vairāk akumulatora enerģijas nekā parasti, darbojoties fonā"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> patērēja vairāk akumulatora enerģijas, darbojoties priekšplānā"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> patērēja vairāk akumulatora enerģijas nekā parasti, darbojoties priekšplānā"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Akumulatora lietojuma novirzes"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Augsts akumulatora lietojums"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Augsts akumulatora lietojums fonā"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Augsts akumulatora lietojums priekšplānā"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Izstrādātāja ātro iestatījumu elementi"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Atspējot adb autorizāciju noildzi"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Atspējojiet adb autorizācijas automātisko atsaukšanu sistēmām, kas nav atkārtoti pievienotas noklusējuma laikā (7 dienas) vai lietotāja konfigurētā laikā (minimālais laiks: 1 diena)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope izsekošana"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensori izslēgti"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Darba profila iestatījumi"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Personīgajās lietotnēs meklēt kontaktpersonas, kas saglabātas darba katalogā"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"sistēmas navigācija, 2 pogu navigācija, 3 pogu navigācija, žestu navigācija, vilkšana"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitālais asistents"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vilkšana, lai izsauktu asistentu"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Lai izsauktu digitālā asistenta lietotni, velciet augšup no apakšējā stūra."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Lai izsauktu digitālā asistenta lietotni, velciet augšup no viena no apakšējiem stūriem."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Lai izsauktu Asistentu, nospiediet un turiet pogu Sākums"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Nospiediet un turiet pogu Sākums, lai izsauktu digitālā asistenta lietotni."</string>
     <string name="low_label" msgid="6525629096999711220">"Zems"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Automātiskā aizpilde"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Noklusējuma automātiskās aizpildes pakalpojums"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Paroles"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Paroles, piekļuves atslēgas un datu pakalpojumi"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Papildu pakalpojumu sniedzēji"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Vēlamais pakalpojums"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Papildu pakalpojumi"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# parole}zero{# paroļu}one{# parole}other{# paroles}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automātiskā aizpilde, automātiski aizpildīt, parole"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dati, piekļuves atslēga, parole"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automātiskā aizpilde, automātiski aizpildīt, dati, piekļuves atslēga, parole"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Mainīt"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Atvērt"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nekas nav atlasīts"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Pārliecinieties, ka šī lietotne ir uzticama&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google automātiskā aizpilde&gt;%1$s&lt;/xliff:g&gt; izmanto ekrānā redzamo, lai noteiktu, kādu informāciju aizpildīt automātiski."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Izmantojiet lietotni &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Lietotne &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; izmanto ekrānā redzamo saturu, lai noteiktu, kādu informāciju var aizpildīt automātiski. Turpmāk jaunās paroles, piekļuves atslēgas un cita informācija tiks saglabāta šeit."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Paroles, piekļuves atslēgas un datu pakalpojumi"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Izmantojiet lietotni &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Turpmāk jaunās paroles, piekļuves atslēgas un cita informācija tiks saglabāta šeit. Lietotne &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; var izmantot ekrānā redzamo saturu, lai noteiktu, kādu informāciju var aizpildīt automātiski."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Vēlamais pakalpojums, ko izmantot parolēm, piekļuves atslēgām un automātiskajai aizpildei"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vai izslēgt pakalpojumu %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vai izslēgt šo pakalpojumu?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Pierakstoties netiks aizpildīta saglabātā informācija, piemēram, paroles, piekļuves atslēgas, maksājumu veidi un cita informācija. Lai izmantotu saglabāto informāciju, izvēlieties paroli, piekļuves atslēgu vai datu pakalpojumu."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Paroles, piekļuves atslēgas un automātiskā aizpilde"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Izslēdziet visus pakalpojumus?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Paroles, piekļuves atslēgas un cita saglabātā informācija nebūs pieejama automātiskai aizpildei, kad pierakstīsieties"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Mainiet vēlamo pakalpojumu uz &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Jaunas paroles, piekļuves atslēgas un cita informācija turpmāk tiks saglabāta šeit. Lietotne &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; var izmantot ekrānā redzamo saturu, lai noteiktu, kādu informāciju var aizpildīt automātiski"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Vai izmantot %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Izslēgt"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Mainīt"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Vienlaikus var būt ieslēgti pieci pakalpojumi"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Izslēdziet vismaz vienu pakalpojumu, lai varētu pievienot citu pakalpojumu"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s izmanto ekrānā pieejamos datus, lai noteiktu, kādu informāciju var aizpildīt automātiski."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Paroļu, piekļuves atslēgu un datu pakalpojumu ierobežojums"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Vienlaikus jums var būt aktīvas ne vairāk kā 5 paroles, piekļuves atslēgas un datu pakalpojumi. Lai pievienotu vēl kādu pakalpojumu, izslēdziet kādu no pašreizējiem."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Paroļu, piekļuves atslēgu un datu pakalpojumu ierobežojums"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Vienlaikus jums var būt aktīvas ne vairāk kā 5 paroles, piekļuves atslēgas un datu pakalpojumi. Lai pievienotu vēl kādu pakalpojumu, izslēdziet kādu no pašreizējiem."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Izslēgt"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automātiskā aizpilde"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Pieteikšanās līmenis"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Lietotņu saderības izmaiņas var pārveidot tikai atkļūdojamām lietotnēm. Instalējiet atkļūdojamu lietotni un mēģiniet vēlreiz."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Atkarīgs no cita iestatījuma"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konts"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d konti"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Ierīces nosaukums"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Pamatinformācija"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Juridiskā un regulējošā informācija"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Atļaujiet palaist šo lietotni ikreiz, kad tiek skenēta NFC atzīme.\nJa piešķirsiet šo atļauju, lietotne būs pieejama kā iespēja katru reizi, kad tiks noteikta atzīme."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Atskaņot multivides saturu šeit:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Atskaņot <xliff:g id="LABEL">%s</xliff:g> šeit:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio tiks atskaņots šeit:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Šī ierīce"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ierīce nav pieejama zvanu laikā"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atbildēt uz zvanu, izmantojot:"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Izslēgt skaņu"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Lai iespējotu, vispirms nomainiet iestatījumu “Nospiest un turēt barošanas pogu” uz barošanas izvēlni."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Dati par tīklu"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Jūsu ierīces nosaukums ir redzams tālrunī 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="devices_title" msgid="649715719278562515">"Ierīces"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Izvēlēties tīklu"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Nav savienojuma"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Vārds"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Krāsa (izmanto saderīgas lietotnes)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Saglabāt"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Izmantot SIM karti"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Izmantot šo SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Izslēgta"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Lai atspējotu šo SIM, izņemiet SIM karti."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Pieskarieties, lai aktivizētu <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Dzēst SIM karti"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Lai izslēgtu šo SIM, izņemiet SIM karti."</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Pieskarieties, lai aktivizētu savu <xliff:g id="CARRIER">%1$s</xliff:g> SIM karti."</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Dzēst eSIM karti"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Ieteicamais tīkla veids"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Mainiet tīkla darbības režīmu"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Ieteicamais tīkla veids"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Sazinieties ar savu tīkla pakalpojumu sniedzēju, lai uzzinātu par tarifiem."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Lietotnes datu lietojums"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Nederīgs tīkla režīms: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorēt."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Ziņojumapmaiņa, izmantojot satelītu"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Sūtiet un saņemiet īsziņas, izmantojot satelītu. Šī iespēja ir iekļauta jūsu kontā."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Sūtiet un saņemiet īsziņas, izmantojot satelītu. Šī iespēja nav iekļauta jūsu kontā."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Ziņojumapmaiņa, izmantojot satelītu"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Par ziņojumapmaiņu, izmantojot satelītu"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Varat sūtīt un saņemt īsziņas, izmantojot satelītu, ja jums ir prasībām atbilstošs <xliff:g id="CARRIER_NAME">%1$s</xliff:g> konts"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Jūsu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> plāns"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Ziņojumapmaiņa, izmantojot satelītu, ir iekļauta jūsu kontā"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Ziņojumapmaiņa, izmantojot satelītu, nav iekļauta jūsu kontā"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Pievienot ziņojumapmaiņu, izmantojot satelītu"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Darbības principi"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Ja nav savienojuma ar mobilo tīklu"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Tālrunī tiks automātiski izveidots savienojums ar satelītu. Vislabākais savienojums ir zem klajas debess."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Kad tālrunī ir izveidots savienojums ar satelītu"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Varat sūtīt īsziņu ikvienam, tostarp ārkārtas palīdzības dienestiem. Tālrunī tiks atkārtoti izveidots savienojums ar mobilo tīklu, tiklīdz tas būs pieejams."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Ziņojumapmaiņai, izmantojot satelītu, var būt nepieciešams ilgāks laiks, un tā ir pieejama tikai dažās vietās. Laikapstākļi un noteiktas būves var ietekmēt satelīta savienojumu. Zvanīšana, izmantojot satelītu, nav pieejama.\n\nVar būt nepieciešams laiks, lai izmaiņas jūsu kontā tiktu atspoguļotas iestatījumos. Sazinieties ar operatoru <xliff:g id="CARRIER_NAME">%1$s</xliff:g> un uzziniet vairāk."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Vairāk par ziņojumapmaiņu, izmantojot satelītu"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Piekļuves punktu nosaukumi"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nav pieejams, ja izveidots savienojums ar operatoru <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vai pārslēgt uz operatoru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vai pārslēgties uz SIM kartes izmantošanu?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Vai lietot operatoru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Vienlaikus aktīva var būt tikai viena SIM karte.\n\nPārslēdzoties uz operatoru <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, netiks atcelti <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> pakalpojumi."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Vienlaikus var būt aktīva tikai viena eSIM karte.\n\nPārejot pie mobilo sakaru operatora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, netiks atcelti <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> pakalpojumi."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Vienlaikus var būt aktīva tikai viena SIM karte.\n\nPārslēdzoties netiks atcelti <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> pakalpojumi."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Vienlaikus var būt aktīva tikai viena SIM karte.\n\nPārejot pie mobilo sakaru operatora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, netiks atcelti <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> pakalpojumi."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Vienlaikus var būt aktīva tikai viena eSIM karte.\n\nPārejot pie mobilo sakaru operatora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, netiks atcelti <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> pakalpojumi."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Vienlaikus var būt aktīva tikai viena SIM karte.\n\nPārejot netiks atcelti <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> pakalpojumi."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Jūs nevarat lietot divas SIM kartes vienlaikus. Lai lietotu operatoru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, izslēdziet otru SIM karti."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Pārslēgties uz operatoru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Izslēgt operatoru <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Izslēdzot kāda operatora SIM karti, netiks atcelts jūsu izmantotais plāns."</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Notiek savienojuma izveide ar tīklu…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Notiek pārslēgšanās uz <xliff:g id="CARRIER_NAME">%1$s</xliff:g> savienojumu zvaniem un ziņojumu sūtīšanai…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Nevar pārslēgties uz cita mobilo sakaru operatora tīklu"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Nevar pārslēgties uz cita mobilo sakaru operatora tīklu, jo radās kļūda."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Notiek jūsu SIM kartes aktivizēšana…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Notiek pārslēgšanās uz <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nevar pārslēgt SIM kartes"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Radās problēma. Nevar pārslēgt SIM kartes."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vai izslēgt pakalpojumu <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vai izslēgt SIM karti?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Notiek SIM kartes izslēgšana<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Nevar atspējot mobilo sakaru operatoru"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Radās kļūda, un mobilo sakaru operatoru nevarēja atspējot."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Nevar izslēgt SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Radās problēma, un jūsu SIM nevarēja izslēgt."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Vai izmantot divas SIM kartes?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Šajā ierīcē vienlaikus var būt aktīvas divas SIM kartes. Lai turpinātu vienlaikus lietot vienu SIM karti, pieskarieties vienumam “Nē, paldies”."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Vai restartēt ierīci?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nē, paldies"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Atcelt"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Pārslēgt"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Izslēgt"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nevar aktivizēt SIM karti"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Mēģiniet atkal ieslēgt SIM karti. Ja problēma nav novērsta, restartējiet savu ierīci."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM iestatīšana"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Iestatiet mobilā tīkla preferences, lai izmantotu vairākas SIM kartes šajā ierīcē."</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM iezīmju pievienošana"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Šīs iezīmes būs redzamas, veicot zvanus, sūtot īsziņas un izmantojot datus, kā arī iestatījumos."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM iezīme"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Iezīme"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Izmantojamo SIM karšu atlase"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Jūs nevarat izmantot divas SIM kartes vienlaikus."</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Galveno SIM karšu iestatīšana"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Izvēlieties, kuras SIM kartes pēc noklusējuma izmantot zvaniem, īsziņām un datiem."</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Jūsu galvenās SIM kartes"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Zvani"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Īsziņas"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automātiska datu pārslēgšana"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Izmantojiet jebkuras SIM kartes nodrošinātos datus — atkarībā no pārklājuma un pieejamības."</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Tikai dati"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Iestatīt"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Tālāk"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Notiek <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ieslēgšana…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilais tīkls"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Tālruņa numurs"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM iezīme un krāsa"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Tīkla aktivizācija"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Mobilo sakaru operatora pārslēgšana"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ir aktīvs"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Jūsu <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM karte ir aktīva"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Pieskarieties, lai atjauninātu SIM kartes iestatījumus."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Pārslēgts uz: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Pārslēgts uz citu operatoru"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Jūsu mobilais tīkls tika mainīts."</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Otras SIM kartes iestatīšana"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Izvēlieties savu aktīvo SIM karti vai izmantojiet vienlaikus divas SIM kartes."</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Izmantojamā numura izvēle"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Šajā ierīcē ir pieejams 1 numurs, un vienlaikus var lietot tikai vienu numuru.}=2{Šajā ierīcē ir pieejami 2 numuri, taču vienlaikus var lietot tikai vienu numuru.}zero{Šajā ierīcē ir pieejami # numuri, taču vienlaikus var lietot tikai vienu numuru.}one{Šajā ierīcē ir pieejams # numurs, taču vienlaikus var lietot tikai vienu numuru.}other{Šajā ierīcē ir pieejami # numuri, taču vienlaikus var lietot tikai vienu numuru.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Notiek aktivizēšana<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Pašlaik nevar aktivizēt"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Izvēlieties izmantojamo SIM karti"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Šajā ierīcē ir pieejama viena SIM karte, un vienlaikus var lietot tikai vienu.}=2{Šajā ierīcē ir pieejamas divas SIM kartes, taču vienlaikus var lietot tikai vienu.}zero{Šajā ierīcē ir pieejamas # SIM kartes, taču vienlaikus var lietot tikai vienu.}one{Šajā ierīcē ir pieejama # SIM karte, taču vienlaikus var lietot tikai vienu.}other{Šajā ierīcē ir pieejamas # SIM kartes, taču vienlaikus var lietot tikai vienu.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Notiek aktivizēšana<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Šobrīd nevarēja aktivizēt šo SIM karti."</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Vai izmantot <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> tiks izmantots mobilo datu, zvanu un īsziņu pakalpojumu nodrošināšanai."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nav pieejama neviena aktīva SIM karte"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Lai vēlāk izmantotu mobilos datus, zvanīšanas funkcijas un īsziņas, pārejiet uz tīkla iestatījumiem."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM karte"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vai dzēst šo eSIM karti?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Izdzēšot šo SIM karti, operatora “<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>” pakalpojumi tiek noņemti no šīs ierīces.\n\nOperatora “<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>” pakalpojumi netiks atcelti."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Tādējādi no šīs ierīces tiks noņemts <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> pakalpojums, taču jūsu <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> plāns netiks atcelts."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Dzēst"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Notiek SIM kartes dzēšana…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nevar izdzēst SIM karti"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Šo SIM karti nevar izdzēst, jo radās kļūda.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Notiek eSIM kartes dzēšana…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Nevar izdzēst eSIM karti"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Radās problēma, un šī eSIM karte netika dzēsta.\n\nRestartējiet ierīci un mēģiniet vēlreiz."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Savienojuma izveide ar ierīci"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Lietotne <xliff:g id="APPNAME">%1$s</xliff:g> vēlas izmantot pagaidu Wi‑Fi tīklu, lai izveidotu savienojumu ar jūsu ierīci."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nav atrasta neviena ierīce. Ierīcēm ir jābūt ieslēgtām un pieejamām savienojuma izveidei."</string>
@@ -4425,7 +4669,7 @@
     <string name="forget_passpoint_dialog_message" msgid="2433875063907365760">"Iespējams, zaudēsiet piekļuvi atlikušajam laikam vai datiem. Pirms noņemšanas sazinieties ar pakalpojuma sniedzēju."</string>
     <string name="content_capture" msgid="868372905432812238">"Lietotnes saturs"</string>
     <string name="content_capture_summary" msgid="49720773699715531">"Atļaut lietotnēm nosūtīt saturu Android sistēmai"</string>
-    <string name="capture_system_heap_dump_title" msgid="9210974110606886455">"Tvert sistēmas kaudzes izrakstu"</string>
+    <string name="capture_system_heap_dump_title" msgid="9210974110606886455">"Tvert sistēmas grēdas izrakstu"</string>
     <string name="development_memtag_page_title" msgid="3546667618748029188">"Memory Tagging Extension"</string>
     <string name="development_memtag_intro" msgid="8032596625527637164">"Paplašinājums Memory Tagging Extension (MTE) palīdz meklēt atmiņas drošības problēmas lietotnē un uzlabot iebūvētā koda drošību."</string>
     <string name="development_memtag_footer" msgid="5681925148773626562">"Ieslēdzot paplašinājumu MTE, ierīces darbība var palēnināties."</string>
@@ -4437,17 +4681,14 @@
     <string name="reboot_with_mte_message" msgid="1232881567956207641">"Sistēma tiks restartēta, un varēsiet eksperimentēt ar paplašinājumu Memory Tagging Extension (MTE). MTE var negatīvi ietekmēt sistēmas veiktspēju un stabilitāti. Nākamajā atkārtotas palaišanas reizē šis iestatījums tiks atiestatīts."</string>
     <string name="reboot_with_mte_summary" msgid="3896537791216432882">"Restartēt uz vienu sesiju ar iespējotu MTE"</string>
     <string name="reboot_with_mte_already_enabled" msgid="4439168867613407167">"Paplašinājums MTE jau ir iespējots"</string>
-    <string name="capturing_system_heap_dump_message" msgid="8410503247477360622">"Notiek sistēmas kaudzes izraksta tveršana"</string>
-    <string name="error_capturing_system_heap_dump_message" msgid="2352983250048200052">"Neizdevās tvert sistēmas kaudzes izrakstu"</string>
+    <string name="capturing_system_heap_dump_message" msgid="8410503247477360622">"Notiek sistēmas grēdas izraksta tveršana"</string>
+    <string name="error_capturing_system_heap_dump_message" msgid="2352983250048200052">"Neizdevās tvert sistēmas grēdas izrakstu"</string>
     <string name="automatic_system_heap_dump_title" msgid="4093306504711109479">"Automātiski tvert sistēmas kaudzes izrakstus"</string>
-    <string name="automatic_system_heap_dump_summary" msgid="4060846186592886986">"Automātiski tvert Android sistēmas kaudzes izrakstu, ja sistēma patērē pārāk daudz atmiņas"</string>
+    <string name="automatic_system_heap_dump_summary" msgid="4060846186592886986">"Automātiski tvert Android sistēmas grēdas izrakstu, ja sistēma patērē pārāk daudz atmiņas"</string>
     <string name="wifi_disconnect_button_text" msgid="5698154296678571998">"Atvienot"</string>
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Ārkārtas zvani"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Jūsu mobilo sakaru operators neatbalsta ārkārtas zvanus kā Wi‑Fi zvanus.\nIerīcē tiek automātiski pārslēgts mobilais tīkls, lai veiktu ārkārtas zvanu.\nĀrkārtas zvanus iespējams veikt tikai apgabalos ar mobilā tīkla pārklājumu."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Zvaniem izmantot Wi‑Fi, lai uzlabotu kvalitāti"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Zvanu rezerves iespēja"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ja <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nav pieejams vai ir ieslēgta viesabonēšana, izmantojiet SIM kartes mobilos datus <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> zvaniem."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"zvanu rezerves iespēja"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Ienākoša multiziņa"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nevar nosūtīt multiziņu"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Pieskarieties, lai atļautu multiziņu sūtīšanu, izmantojot operatoru <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>, kad mobilie dati ir izslēgti."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Jūsu darba politikas informācija"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Iestatījumus pārvalda jūsu IT administrators"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafiskais procesors"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Palaist ar 16 KB lielām lapām"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Palaist, izmantojot kodolu, kas atbalsta 16 KB lapas"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Vai atkārtoti palaist, izmantojot kodolu, kas saderīgs ar 16 KB lapām?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"BRĪDINĀJUMS! Dažas lietojumprogrammas var nebūt saderīgas ar šo režīmu. Pēc apstiprināšanas ierīce tiks atkārtoti palaista."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Vai atkārtoti palaist, izmantojot kodolu, kas saderīgs ar 4 KB lapām?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Pēc apstiprināšanas ierīce tiks atkārtoti palaista."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Neizdevās atjaunināt kodolu uz tādu kodolu, kas saderīgs ar 16 KB lapām."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Izmaiņu piemērošana"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Kļūdu pārskatu apstrādātājs"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Šeit varat noteikt, kurai lietotnei jūsu ierīcē jāapstrādā kļūdu pārskatu saīsne."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personiskais profils"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Atļaut lietotnēm, ko var rādīt pāri citām lietotnēm, pārklāt iestatījumu ekrānus"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Atļaut modema imitāciju"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Atļaut šajā ierīcē izpildīt modema imitācijas pakalpojumu, lai veiktu instrumentācijas testu. Neiespējojiet šo atļauju parastas tālruņa lietošanas laikā."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Ekrāna kopīgošanas aizsardzības atspējošana"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Ekrāna kopīgošanas laikā tiks atspējota sistēmas piemērotā lietotņu un paziņojumu aizsardzība."</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multivide"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Piespraust multivides atskaņotāju"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Multivides atskaņotājs paliek atvērts sadaļā Ātrie iestatījumi, lai varētu ātri atsākt atskaņošanu"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Rādīt multividi bloķēšanas ekrānā"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Multivides atskaņotājs paliek atvērts bloķēšanas ekrānā, lai varētu ātri atsākt atskaņošanu"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Rādīt multivides satura ieteikumus"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Rādīt Asistenta multivides satura ieteikumus"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Ieteikumu pamatā ir jūsu darbības"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Paslēpt atskaņotāju"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Rādīt atskaņotāju"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"multivide"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Atļaut kameras programmatūras paplašinājumus"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Tiek iespējota modernu kameras funkciju (piemēram, video uzņemšana neskatoties) noklusējuma programmatūras ieviešana."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Tiks ieslēgts Bluetooth savienojums."</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internets"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM kartes"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM karte"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM karte"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM kartes"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktīva"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktīva"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Ieslēgts"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Izslēgts"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Noklusējuma iestatījums kategorijai “<xliff:g id="ID_1">%1$s</xliff:g>”"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"zvani"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"īsziņas"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio no saderīga multivides satura kļūst iekļaujošāks"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Galvas izsekošana"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Kustinot galvu, audio mainīsies, lai izklausītos dabiskāk"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Atļauju sinhronizēšana"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Ierīcē <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> piešķiriet tās pašas lietotņu atļaujas, ko esat piešķīris ierīcē <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinhronizējiet tālrunī piešķirtās atļaujas"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Piešķiriet pulkstenim tās pašas lietotņu atļaujas, kuras esat piešķīris šajā tālrunī"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio ierīces veids"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Nezināma ierīce"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Skaļrunis"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Vidējs"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Augsts"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Šo lietotni var atvērt tikai vienā logā"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Ieslēgta"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Izslēgta"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Izslēgts"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Izslēgta"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Ieslēgts"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Izslēgts"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Ieslēgta"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Izslēgta"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Tā padara gaišus ekrānus tumšus, bet tumšus ekrānus — gaišus."</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Tuvināt ekrānā"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Izslēgta"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Izslēgta"</string>
+    <string name="show_captions_enabled" msgid="7089043007924626">"Ieslēgta"</string>
+    <string name="live_caption_disabled" msgid="3562035026547887366">"Izslēgti"</string>
+    <string name="live_caption_enabled" msgid="5269360946200718949">"Ieslēgti"</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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Meklēt maldinošas lietotnes"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Pārbaudīt, vai lietotnē tiek veikta pikšķerēšana"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Izmantot maldinošu lietotņu meklēšanu"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Izmantot maldinošu darba lietotņu meklēšanu"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Parole tagad ir iestatīta"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Virzot kursoru, attēlot rādītāju"</string>
 </resources>
diff --git a/res/values-mk/arrays.xml b/res/values-mk/arrays.xml
index 25a86b2..4e01fd7 100644
--- a/res/values-mk/arrays.xml
+++ b/res/values-mk/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Слободен"</item>
     <item msgid="6096962300722555553">"Надвор од опсег"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Користи ја стандардната поставка на системот: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"По 1 минута"</item>
     <item msgid="1574040255478150028">"По 5 минути"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-mk/strings.xml b/res/values-mk/strings.xml
index 14ca55c..8a8ac51 100644
--- a/res/values-mk/strings.xml
+++ b/res/values-mk/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Сега сте програмер!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Нема потреба, веќе сте програмер"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Прво овозможете ги програмерските опции."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Само администраторските корисници може да пристапат до програмерските поставки."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Систем"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Во употреба"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Надвор од употреба"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Предниот екран се вклучува кога ќе го преклопите уредот"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Само игри, видеа и друго"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Предниот екран се вклучува за апликациите што го спречуваат вашиот екран да работи при мирување"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Повлечете нагоре за да продолжите"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Затворете го телефонот и повлечете нагоре на предниот екран за да продолжите да ја користите апликацијата или почекајте неколку секунди да се заклучи екранот"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Никогаш"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Предниот екран се заклучува кога ќе го преклопите уредот"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Користи „Автоматско ротирање“"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Поврзани"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Мелодија и аларми"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Аудио за време на повици"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Аудиовизуелни содржини"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Известувања и други системски звуци"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Аудио, видео и системски звуци"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Известувања"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Стандардно, аудиоизлезот се одредува од поединечни апликации"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Неименуван уред со Bluetooth"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Пребарување"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Откажи"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Оневозможи Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Ја оневозможува функцијата Bluetooth LE Audio ако уредот поддржува хардверски способности за LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Режим Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Прекинувач за LE Audio во „Детали за уредот“"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Овозможи список со дозволени за Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Овозможи ја функцијата за список со дозволени за Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Игнорирај го списокот со дозволени за Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Користи LE Audio стандардно дури и ако не е потврдено дека периферното LE Audio ги исполнува критериумите на списокот со дозволени."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Преносливи уреди"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Уреди за повикување"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Други уреди"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Зачувани уреди"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Поврзано со сметка"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Претходно користено со сметката"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ќе се вклучи за спарување"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Поставки за врски"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Претходно поврзани"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth е вклучен"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Прикажи ги сите"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Прикажи ги сите"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Пенкало"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Притискање на копчето со пенкало"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (работен профил)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Пишувајте во текстуалните полиња"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Игнорирајте ги сите притискања на копчето на пенкалото"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Пенкало"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Споделување аудио"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Споделете го аудиото"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Повици и аларми"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Поврзете се со аудиострим со QR-код"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Не се најдени аудиостримови во близина."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Датум и време"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Избриши"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Да се додаде %s во претпочитаните јазици?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Ова ги известува апликациите и веб-сајтовите дека го претпочитате и овој јазик."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Поставките на вашиот уред и регионалните поставки ќе се променат."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Промени"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s не е достапен"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Сабота"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ако апликацијата не поддржува регионални поставки, ќе ги користи поставките за својот локален стандард."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Дознајте повеќе за поставките за јазик."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Дополнителни поставки"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Услови за обраќање"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Поставете како сакате да ви се обраќаат"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Апликациите може да ги користат вашите услови за обраќање за да го персонализираат начинот на кој ви се обраќаат."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Не е наведено"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Женски род"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Машки род"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Неутрално"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Да се отстрани избраниот јазик?}one{Да се отстранат избраните јазици?}other{Да се отстранат избраните јазици?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текстот ќе се прикажува на друг јазик."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Не може да се отстранат сите јазици"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Локација"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Користи ја локацијата"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Исклучено"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Вклучено – # апликација има пристап до локацијата}one{Вклучено – # апликација имаат пристап до локацијата}other{Вклучено – # апликации имаат пристап до локацијата}}"</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_location_off" msgid="8568995909147566720">"Пристапот до локацијата е исклучен за апликации и услуги. Сепак, можно е локацијата на уредот да се испрати до службите за спасување во итни случаи кога ќе ги повикате или кога ќе испратите порака на број за итни случаи."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Дознајте повеќе за „Поставките за локација“."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Дознајте повеќе за „Поставките за локација“"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Променете го пристапот до локацијата во „Поставки &lt; Безбед. и прив. &lt; Контроли на прив.“"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Сметки"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Безбедност"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифрирање и акредитиви"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"За најдобри резултати, користете заштитник на екранот што е сертифициран со „Создадено за Google“. Со другите заштитници на екрани, отпечатоците на вашето дете може да не функционираат."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Отклучување со часовник"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Кога ќе поставите „Отклучување со лик“ и „Отклучување со отпечаток“, телефонот ќе го побара вашиот отпечаток кога носите маска или сте на темно место.\n\nМоже да отклучите со часовникот кога нема да се препознае вашиот лик или отпечатокот."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Може да отклучите со часовникот кога нема да се препознае вашиот отпечаток."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Може да отклучите со часовникот кога нема да се препознае вашиот лик."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Кога ќе поставите „Отклучување со лик“ и „Отклучување со отпечаток“, телефонот ќе го побара вашиот отпечаток кога носите маска или сте на темно место.\n\n„Отклучување со часовник“ е уште еден практичен начин на отклучување на вашиот телефон, на пример, кога прстите ви се влажни или не може да ви се препознае ликот."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"„Отклучување со часовник“ е уште еден практичен начин на отклучување на вашиот телефон, на пример, кога не може да ви се препознае отпечатокот."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"„Отклучување со часовник“ е уште еден практичен начин на отклучување на вашиот телефон, на пример, кога не може да ви се препознае ликот."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Користете го отпечатокот или часовникот"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Користете го ликот или часовникот"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Користете го ликот, отпечатокот или часовникот"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"„Отклучување со часовник“ е уште еден практичен начин на отклучување на телефонов, на пример, кога прстите ви се влажни или не може да ви се препознае ликот.\n\nЧасовникот може да го користите за да го отклучите телефонов во следниве случаи:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Не сега"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Продолжи"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Повеќе"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Како функционира"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Часовникот мора да биде отклучен, на вашиот зглоб и во близина на телефонов. Нема да треба да го отклучувате часовникот повторно додека е на вашиот зглоб."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Кога ќе се отклучи телефонов, ќе добиете известување на часовникот. Ако го отклучите ненамерно, допрете го известувањето за да го заклучите телефонот повторно."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Вие сте главни"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Може да го отстраните часовникот од „Отклучување со часовник“ во „Поставки“ во секое време"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Допрете известување"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Повлечете нагоре на заклучениот екран"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Изберете го вашиот часовник"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Достапни часовници"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Откажи"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Потврди"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Подготвени сте!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Сега може да го користите часовникот за да го отклучите телефонов кога ќе повлечете нагоре на заклучениот екран или ќе допрете известување"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Готово"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Отклучување со часовник"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Може да го користите часовникот за да го отклучите телефонов кога ќе повлечете нагоре на заклучениот екран или ќе допрете известување"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"За да ја користите функцијата „Отклучување со часовник“, вашиот часовник мора да биде отклучен, на вашиот зглоб, во близина и поврзан со телефонов. Ако се прекине врската, ќе треба да го отклучите телефонот за да може да ја користите функцијата „Отклучување со часовник“.\n\nЗабелешка:\nможе да поставите само еден часовник истовремено. За да додадете друг часовник, прво отстранете го тековниот."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Отклучување со лик и отпечаток за работа"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потребно е поставување"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Безбедност"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Приватност"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Работен профил"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Приватен простор"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Чувајте ги приватните апликации заклучени и скриени"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Чувајте ги приватните апликации во засебен простор што може да го скриете или заклучите"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Заклучување за „Приватен простор“"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Може да го отклучите „Приватниот простор“ исто како што го отклучувате уредот или да изберете друг начин на заклучување"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Користете го заклучувањето екран на уредот"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Отклучување со лик и отпечаток"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Отклучување со отпечаток"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Отклучување со лик"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Допрете за да поставите"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"„Отклучување со отпечаток“ за „Приватен простор“"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"„Отклучување со лик“ за „Приватен простор“"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Начини на отклучување"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Исто како заклучувањето екран на уредот"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Да се избере ново заклучув. за „Приватен простор“?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Заклучување на „Приватен простор“ автоматски"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Може да го заклучите вашиот „Приватен простор“ автоматски ако не сте го користеле уредот одреден временски период"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"При секое заклучување на уредот"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"По неактивност од 5 минути"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Никогаш"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Скриј кога уредот е заклучен"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Скриј го „Приватниот простор“ кога е заклучен"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"За да спречите други луѓе да знаат дека имате „Приватен простор“ на вашиот уред, може да го скриете од списокот со апликации"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Пристапете до „Приватен простор“ кога е скриен"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Внесете „Приватен простор“ во полето за пребарување"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Допрете ја плочката „Приватен простор“"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Отклучете го вашиот „Приватен простор“"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Исклучено"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Вклучено"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Систем"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Бришење на „Приватниот простор“"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Да се избрише „Приватниот простор“?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"„Приватниот простор“ ќе се отстрани од вашиот уред. Ќе се избришат сите приватни апликации и податоци. Ова дејство не може да се врати."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Следниве сметки ќе се отстранат од вашиот „Приватен простор“:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Бришење"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"„Приватниот простор“ се брише…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Ова ќе трае неколку секунди"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"„Приватниот простор“ е избришан"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"„Приватниот простор“ не можеше да се избрише"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"„Приватниот простор“ е отклучен"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Поставете заклучување екран"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"За да користите „Приватен простор“, поставете заклучување екран на уредов"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Поставете заклучување екран"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Откажи"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Откажи"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Постави"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Поставете „Приватен простор“"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Чувајте ги приватните апликации во посебен простор што може да го скриете или заклучите"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Дознајте како функционира"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Може да пристапите до „Приватен простор“ од дното на списокот со апликации"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Аплик. во „Приватен простор“ се заштитени со заклучување"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Известувањата од апликациите во „Приватниот простор“ се скриени кога е заклучен"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Апликациите во вашиот „Приватен простор“ нема да се појават во „Управување со дозволи“, „Контролна табла за приватност“ и други поставки кога „Приватниот простор“ е заклучен.\n\nВашиот „Приватен простор“ не може да се премести на нов уред. Треба да поставите друг „Приватен простор“ ако сакате да го користите на друг уред.\n\nСекој што го поврзува вашиот уред со компјутер или инсталира штетни апликации можеби може да пристапи до вашиот „Приватен простор“."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Се поставува „Приватен простор“…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Известувањата од апликациите во „Приватниот простор“ се скриени кога е заклучен"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Отклучете го „Приватниот простор“ за да споделувате фотографии или датотеки"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Некои апликации се веќе инсталирани во вашиот „Приватен простор“"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Не можеше да се постави „Приватен простор“"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Обиди се пак"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Да се користи закл. екран за откл. „Прив. прост.“?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Може да го отклучите „Приватен простор“ исто како што го отклучувате уредот или да изберете друг начин на заклучување"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Користете заклучување екран"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Изберете нов начин на заклучување"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Готово!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"За да го најдете вашиот „Приватен простор“, одете во списокот со апликации и лизгајте надолу"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Лизгајте надолу за да најдете „Приватен простор“"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Најавете се"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Најавете се на сметка за да ја користите со вашиот „Приватен простор“"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Не сега"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Продолжи"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Изберете начин на заклучување за „Приватен простор“"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Може да го отклучувате „Приватниот простор“ со отпечаток. Од безбедносни причини, за опцијава е потребно резервно заклучување."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Поставете PIN за „Приватен простор“"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Поставете лозинка за „Приватен простор“"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Поставете шема за „Приватен простор“"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Може да додадете до <xliff:g id="COUNT">%d</xliff:g> отпечатоци"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Додадовте максимален број на отпечатоци"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Не може да се додадат повеќе отпечатоци"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Шема"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Лозинка"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Да се избрише заклучувањето на екранот?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Да се отстранат сите начини на отклучување на уредот?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Да се отстрани заштитата на профилот?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Шемата го заштитува телефонот ако го изгубите или ви го украдат"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Шемата го заштитува телефонот ако го изгубите или ви го украдат.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Ова ќе го избрише моделот на отпечаток зачуван на уредот. И моделот на лик трајно и безбедно ќе се избрише. Нема да може да го користите вашиот лик или отпечатокот за автентикација во апликации."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-кодот го заштитува телефонот ако го изгубите или ви го украдат"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Ќе ги изгубите зачуваните податоци како вашиот PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картичките поставени за бесконтактно плаќање ќе се отстранат.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Паричниците и другите апликации за коишто е потребно отклучување на уредот можеби нема да функционираат правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-кодот го заштитува телефонот ако го изгубите или ви го украдат.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ова ќе го избрише и моделот на отпечаток зачуван на уредот. Нема да може да го користите вашиот отпечаток за автентикација во апликации."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Ќе ги изгубите зачуваните податоци како вашиот PIN и модел на отпечаток.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картичките поставени за бесконтактно плаќање ќе се отстранат.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Паричниците и другите апликации за коишто е потребно отклучување на уредот можеби нема да функционираат правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-кодот го заштитува телефонот ако го изгубите или ви го украдат.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>И моделот на лик трајно и безбедно ќе се избрише. Нема да може да го користите вашиот лик за автентикација во апликации."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Ќе ги изгубите зачуваните податоци како вашиот PIN и модел на лик.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картичките поставени за бесконтактно плаќање ќе се отстранат.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Паричниците и другите апликации за коишто е потребно отклучување на уредот можеби нема да функционираат правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-кодот го заштитува телефонот ако го изгубите или ви го украдат.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ова ќе го избрише моделот на отпечаток зачуван на уредот. И моделот на лик трајно и безбедно ќе се избрише. Нема да може да го користите вашиот лик или отпечатокот за автентикација во апликации."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Ќе ги изгубите зачуваните податоци како вашиот PIN, модел на лик и модел на отпечаток.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картичките поставени за бесконтактно плаќање ќе се отстранат.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Паричниците и другите апликации за коишто е потребно отклучување на уредот можеби нема да функционираат правилно."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Лозинката го заштитува телефонот ако го изгубите или ви го украдат"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Лозинката го заштитува телефонот ако го изгубите или ви го украдат.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Да се спари со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Додај нов член во постојниот координиран комплет"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Потврдете за додавање на вториот дел од вашиот аудиоуред"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Код за спарување преку Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Внесете го кодот за спарување, а потоа притиснете Врати или Внеси"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-от содржи букви или симболи"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Мора да содржи 16 цифри"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Можеби ќе треба да го внесе овој PIN и на другиот уред."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Може ќе треба да ја внесете лозинката и на другиот уред."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Потврдете за спарување со координираниот комплет"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Потврдете за спарување со аудиоуредот"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Дозволете пристап до вашите контакти и историјата на повици"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Дозволете и пристап до контактите и историјата на повици"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Податоците ќе се користат за известувања за повици и друго"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Не може да се поврзе со <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Достапни уреди"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Поврзи се"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Прекини врска"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Спари и поврзи"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Кога е вклучен Bluetooth, уредот може да комуницира со други уреди со Bluetooth во близина"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Кога Bluetooth е вклучен, вашиот уред може да комуницира со другите уреди со Bluetooth во близина.\n\nЗа да се подобри доживувањето со уредот, апликациите и услугите сепак може да скенираат уреди во близина во секое време, дури и кога Bluetooth е исклучен. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација. Може да го промените во поставките за „Скенирање за Bluetooth“."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Детали за уредот"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволете ART да го потврдува бајт-кодот за апликациите од кои може да се отстрануваат грешки"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Прикажувај стапка на освежување"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Прикажувај ја тековната стапка на освежување на екранот"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Прикажи сооднос HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Прикажи го тековниот сооднос HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Барај уредот да биде отклучен за NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Во режим на работа во авион"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Известувај за јавни мрежи"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Извести ме кога ќе биде достапна јавна мрежа со висок квалитет"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Дозволете WEP-мрежи"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP е постар безбедносен протокол што не е толку безбеден"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Вашиот оператор не дозволува WEP-мрежи бидејќи не се толку безбедни"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Автоматски вклучувај Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi ќе се вклучува автоматски во близина на зачувани мрежи со висок квалитет, како на пр., вашата домашна мрежа"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Недостапно бидејќи локацијата е исклучена. Вклучете ја "<annotation id="link">"локацијата"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Скенирањето на Wi-Fi дозволува апликациите и услугите да скенираат Wi-Fi мрежи во секое време, дури и кога Wi-Fi е исклучено. Ова може да се користи, на пример, за да се подобрат функциите и услугите според локација."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Вклучи"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Скенирањето на Wi‑Fi е вклучено"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Мрежава користи постар безбедносен протокол што не е толку безбеден"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> е блокиран"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Мрежава користи постар безбедносен протокол наречен WEP, којшто не е толку безбеден. Ако сепак сакате да се поврзете, може да дозволите WEP мрежи."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Вашиот оператор не ви дозволува да се поврзете на мрежава затоа што користи постар безбедносен протокол што не е толку безбеден"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Дозволете WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Затвори"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Напредни опции"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Паѓачки список „Напредни опции“"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"прошири"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Остани на Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Никогаш не прикажувај повторно"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Поврзи се"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi мрежата е вклучена"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Поврзано со <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Поврзување со <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Се поврзува…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Не успеа да се поврзе со мрежата"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Мрежата не е во опсег"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Заборави"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Измени"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Не успеа да се заборави мрежата"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Зачувај"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Не успеа да се зачува мрежата"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Откажи"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобилен интернет"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Етернет"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ се полни"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ се полни"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Поврзување на точка на пристап"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Јачина на врската"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Зачувани мрежи"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Не е поставена лозинка"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Име на точката на пристап"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Лозинка за точката на пристап"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Опсег на точката на пристап"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Автоматско исклучување на точката на пристап"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Кога не е поврзан ниеден уред"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Прошири компатибилност"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс на бела боја на екранот"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Продолжете да ги користите апликациите при преклопување"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Течен приказ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматски ја зголемува стапката на освежување од 60 на <xliff:g id="ID_1">%1$s</xliff:g> Hz за некои содржини. Го зголемува користењето на батеријата."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Оневозможете стандардна стапка на слики за игри"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Оневозможете ограничување на максималната стапка на слики за игри на <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Течно движење"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматски ја зголемува стапката на освежување до <xliff:g id="ID_1">%1$d</xliff:g> Hz за одредени содржини. Го зголемува користењето на батеријата."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Наметни максимална стапка на освежување"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Највисока стапка на освежување за подобрена реакција на допир и квалитет на анимацијата. Го зголемува користењето на батеријата."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Вклучен екран"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"„Вклучен екран“ ја користи предната камера за да види дали некој гледа во екранот. Функционира на самиот уред, а сликите никогаш не се складираат или испраќаат до Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Вклучете ја „Вклучен екран“"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Екранот нека биде вклучен кога гледам во него"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Подолгото време за автоматско исклучување на екранот ќе троши повеќе батерија."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камерата е заклучена"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Камерата мора да биде отклучена за откривање лица"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Камерата мора да е отклучена за „Вклучен екран“"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (отвор за SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (отвор за SIM-картичка <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (примарна)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"За преглед, изберете зачувана мрежа"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL верзија"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Ниво на батерија"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Заедница"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Заеднички поставки"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Размена на пораки преку сателит"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Поставки за APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Изменете ја пристапната точка"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Додајте пристапна точка"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Не е поставено"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не е поставено"</string>
     <string name="apn_name" msgid="6677695784108157953">"Име"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Овозможен APN"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Оневозможен APN"</string>
     <string name="bearer" msgid="3231443241639159358">"Носител"</string>
+    <string name="network_type" msgid="748590707422733595">"Тип мрежа"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Неодреденo"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Тип MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Вредност на MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Избриши APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Зачувај"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Откажи"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Дупликат APN-запис."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Полето за име не може да биде празно."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN не може да биде празна."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Полето MNC мора да биде 3 цифри."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Полето MNC мора да биде 2 или 3 бројни места."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Операторот не дозволува додавање APN од типот %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Полето за MMSC мора да биде важечко."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Враќање стандардни поставки за APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Ресетирај на стандардни вредности"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ресетирањето на стандардни поставки за APN е завршено."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Ресетирај"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth и Wi‑Fi се ресетирани"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Избриши ги eSIM-картичките"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Ова нема да ги откаже пакетите за мобилни услуги. За да преземете SIM-картички за замена, контактирајте со операторот."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Ова нема да го откаже вашиот пакет за мобилни услуги. Контактирајте со операторот за да добиете SIM-картичка за замена."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ресетирај поставки"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Да се ресетираат сите мрежни поставки? Ова дејство не може да се врати."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Да се ресетираат сите мрежни поставки и да се избришат eSIM-картичките? Ова дејство не може да се врати."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Ресетирај?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Мрежното ресетирање не е достапно за овој корисник"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Мрежните поставки се ресетирани"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Не може да се избришат SIM-картичките"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-картичките не може да се избришат поради грешка.\n\nРестартирајте го уредот и обидете се повторно."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Не може да се избришат eSIM-картичките"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Нешто тргна наопаку и вашите eSIM-картички не се избришаа.\n\nРестартирајте го уредот и обидете се повторно."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Избриши ги сите податоци (фабричко ресетирање)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Избриши ги сите податоци"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музиката"</li>\n<li>"фотографиите"</li>\n<li>"другите кориснички податоци"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-картичките"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Со ова нема да се откаже вашиот пакет за мобилни услуги."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Сите ваши лични податоци и преземени апликации ќе се избришат. Ова дејство не може да се врати."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Ќе се избришат сите ваши лични информации, заедно со преземените апликации и SIM-картички. Ова дејство не може да се врати."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Ќе се избришат сите ваши лични податоци, заедно со преземените апликации и eSIM-картички. Ова дејство не може да се врати."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Да се избришат сите податоци?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Фабричкото ресетирање не е достапно за овој корисник"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Се брише"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Точка на пристап, USB, Bluetooth, етернет"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Не се споделува интернет со други уреди"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Исклучено"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Врзување"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не користете точка на пристап за Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Споделувајте интернет само преку USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Споделувајте интернет само преку Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Споделувајте интернет само преку етернет"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Споделувајте интернет само преку USB и Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Споделувајте интернет само преку USB и етернет"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Споделувајте интернет само преку Bluetooth и етернет"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Споделувајте интернет само преку USB, Bluetooth и етернет"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Интернет преку USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Интернет преку Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Интернет преку етернет"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Користете точка на пристап и врзување за да им обезбедите пристап до интернет на други уреди преку Wi‑Fi врската или врската за мобилен интернет. Апликациите исто така може да создаваат точки на пристап за да споделуваат содржини со уредите во близина."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Помош"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобилна мрежа"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Пакет за мобилен интернет"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Апликација за SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Избери апликација за SMS"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Да се користи <xliff:g id="NEW_APP">%1$s</xliff:g> наместо <xliff:g id="CURRENT_APP">%2$s</xliff:g> како SMS-апликација?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Да се промени помошникот за Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Да се користи <xliff:g id="NEW_APP">%1$s</xliff:g> наместо <xliff:g id="CURRENT_APP">%2$s</xliff:g> за управување со мрежните врски?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Да се користи <xliff:g id="NEW_APP">%s</xliff:g> за управување на вашите мрежни врски?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Непознат SIM-оператор"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> нема познато обезбедување веб-сајт"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Вметнете SIM картичката и рестартирајте"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Поврзете се на интернет"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Последни барања за локација"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Локација за работен профил"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Дозволи за локација за апликации"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Избриши пристап"</string>
     <string name="controls_label" msgid="8671492254263626383">"Контроли"</string>
     <string name="force_stop" msgid="2681771622136916280">"Исклучи присилно"</string>
+    <string name="archive" msgid="9074663845068632127">"Архивирај"</string>
+    <string name="restore" msgid="7622486640713967157">"Врати"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Се враќа"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Се враќа."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Се враќа.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Се враќа…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Вкупно"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Големина на апликацијата"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Апликација за USB меморија"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Не може да се пресмета големината на пакетот."</string>
     <string name="version_text" msgid="7628938665256107608">"верзија <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Премести"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Архивирањето не успеа"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Архивирано: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Враќањето не успеа"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Се враќа <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Друга миграција е веќе во тек."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Нема доволно меморија."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Апликацијата не постои."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Достапна тастатура на екран"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Управувајте со тастатури на екран"</string>
     <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="6922850403920596246">"Овозможете „Еластични клучеви“ за пристапност до физичка тастатурата"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Бавни копчиња"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Овозможете „Бавни копчиња“ за пристапност до физичка тастатурата"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Лепливи копчиња"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Овозможете „Лепливи копчиња“ за пристапност до физичка тастатурата"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Допрете го долниот десен агол од подлогата за допир за опции"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Брзина на покажувач"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Научете движења за подлога за допир"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Оди на почетен екран"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Повлечете нагоре со 3 прсти каде било на подлогата за допир"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Врати се назад"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Подредете според време на користење"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Подредете според последно користење"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Подредете според име на аплик."</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Користено последен пат"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Последно користење"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"никогаш"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Време на употреба"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Пристапност"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Поставки на пристапност"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Зголеми со троен допир"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Зголемување со кратенка"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Зголемете со кратенка и троен допир"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"За <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отворање со копчето за пристапност"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Држете ги копчињата за јачина на звук за отворање"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Допрете го екранот трипати за отворање"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Допрете го екранот двапати со два прста за да отворите"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Користете движење за да отворите"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Користете го движењето за пристапност"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"За да ја користите функцијава, допрете го копчето за пристапност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> на дното на екранот.\n\nЗа префрлање помеѓу функциите, допрете и задржете го копчето за пристапност."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"За да ја користите функцијава, допрете го копчето за пристапност на екранот."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"За да ја користите функцијава, притиснете и задржете ги двете копчиња за јачина на звук."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"За почеток и крај на зголемувањето, допрете трипати каде било на екранот."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"За да го започнете и сопрете зголемувањето, допрете каде било на екранот двапати со два прста."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"За да ја користите функцијава, повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлите на друга функција, повлечете нагоре со два прста и задржете."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"За да ја користите функцијава, повлечете нагоре од дното на екранот со три прста.\n\nЗа префрлање помеѓу функциите, повлечете нагоре со три прста и задржете."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"За да користите функција за пристапност, повлечете нагоре од дното на екранот со два прста.\n\nЗа да се префрлите на друга функција, повлечете нагоре со два прста и задржете."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"За да користите функција за пристапност, повлечете нагоре од дното на екранот со три прста.\n\nЗа префрлање помеѓу функциите, повлечете нагоре со три прста и задржете."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Сфатив"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Поставки за копчето за пристапност"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Поставки за копчиња"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Кратенка за: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Копче за пристапност"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Движење за пристапност"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задржете ги копчињата за јачина на звук"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"задржете ги копчињата за јачина на звук"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Притиснете и задржете ги двете копчиња за јачина на звук"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Допрете го екранот двапати со два прста"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"допрете го екранот двапати со два прста"</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="6863958573135995927">"допрете трипати на екранот"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Брзо допрете го екранот {0,number,integer} пати Оваа кратенка може да го забави уредот"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Дознајте повеќе за копчето за пристапност и движење"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Користење на копчето за пристапност. Движењето не е достапно со навигација со 3 копчиња."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Брзо пристапувајте до функциите за пристапност"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"За да започнете"</b>\n"1. Одете на поставките за пристапност\n2. Изберете функција и допрете ја кратенката\n3. Изберете дали сакате да користите копче или движење за пристап до функцијата"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"За да започнете"</b>\n"1. Одете на поставките за пристапност\n2. Изберете функција и допрете ја кратенката\n3. Изберете го копчето за пристап до функцијата"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;За да започнете&lt;/b&gt;&lt;br/&gt; {0,number,integer}. oдете во поставките за пристапност&lt;br/&gt; {1,number,integer}. изберете функција и допрете ја кратенката&lt;br/&gt; {2,number,integer}. изберете дали сакате да користите копче или движење за пристап до функцијата&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;За да започнете&lt;/b&gt;&lt;br/&gt; {0,number,integer}. oдете во поставките за пристапност&lt;br/&gt; {1,number,integer}. изберете функција и допрете ја кратенката&lt;br/&gt; {2,number,integer}. изберете го копчето за пристап до функцијата&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Користете копче или движење"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Локација"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Големина"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Прекини повик со копче за вклучување"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Голем покажувач на глувчето"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Истакни го покажувачот на глувчето"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Направете ги сите апликации темни"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Важи за апликации без темна тема. Некои аплик. може да имаат проблеми со екранот, како инверзни бои."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Отстрани анимации"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Намали го движењето на екранот"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Моно аудио"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Користи вибрации и хаптика"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Вибрации за аларм"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Вибрации за аудиовизуелни содржини"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Вибрации на тастатурата"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибрации при ѕвонење"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибрации при известување"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Вибрации при допир"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Сопри"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Откажи"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Да се сопре <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ако допрете „<xliff:g id="STOP">%1$s</xliff:g>“, <xliff:g id="SERVICE">%2$s</xliff:g> ќе сопре."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Исклучи"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Остави вклучено"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Да се исклучи <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Нема инсталирано услуги"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Нема избрана услуга"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Не е обезбеден опис."</string>
     <string name="settings_button" msgid="2195468788019730377">"Поставки"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"чувствителност на светлина, фотофобија, темна тема, мигрена, главоболка, режим за читање, ноќен режим, намалување осветленост, бела точка"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Едноставно користење, лесен пристап, помош, помошен"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"вид, слух, слеп, глув, подвижност, умешност, помошен, помош, едноставно користење, лесен пристап, дланка, помош"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Лупа за прозорци, зумирање, лупа, слаб вид, зголеми, направи поголемо"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Титлови, затворени титлови, CC, Транскрипција во живо, нарушување на слух, загуба на слух, CART, од говор во текст"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"контраст на бојата"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"моторна, глувче"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"слушни помагала, оштетен слух, губење на слухот, кохлеарни импланти, уреди за засилување, процесори на звук"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"подвижност, глувче, надворешно глувче, специјално глувче, адаптивно глувче, инвалидска количка, џојстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"слушни помагала, оштетен слух, губење на слухот, кохлеарни импланти, уреди за засилување, процесори на звук, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"нарушување на слух, загуба на слух, титлови, Teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"три копчиња"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"попреченост, подвижност, пензионер, артритис, rsi, мозочен удар, тремор, мултиплекс склероза, церебрална парализа, тресење, повторлива повреда од истегнување, дланка"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"одложување, умешност, пензионер"</string>
     <string name="print_settings" msgid="8519810615863882491">"Печатење"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Исклучено"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Вклучена е 1 услуга за печатење}one{Вклучени се # услуга за печатење}other{Вклучени се # услуги за печатење}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Преостануваат <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> до полнење"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Време на користење"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Време во заднина"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Слаба батерија"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Дозволете апликацијата да работи во заднина"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Да се ограничи активноста во заднина?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Апликацијата може да се однесува необично ако ја ограничите нејзината активност во заднина"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Апликацијава не е оптимизирана и не може да се ограничи.\n\nЗа да ја ограничите, прво вклучете оптимизација на батеријата."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управувајте со користењето на батеријата"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Овозможете користење во заднина"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Овозможете за ажурирања во реално време, оневозможете за да заштедите батерија"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Неограничено"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимизирано"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Прегледајте ги апликациите со најголемо користење"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Полнењето е оптимизирано за да се заштити батеријата"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"За да помогне да се продолжи работниот век на батеријата, полнењето е оптимизирано"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Полнењето е оптимизирано за да се заштити батеријата"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"За да се продолжи работниот век на батеријата, полнењето е оптимизирано додека уредот е приклучен на док"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Полнењето е оптимизирано за да се заштити батеријата"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"За да се продолжи работниот век на батеријата, полнењето е оптимизирано додека уредот е приклучен на док"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Целосно полнење"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"За да се заштити батеријата, полнењето ќе биде оптимизирано следниот пат кога таблетот ќе биде приклучен на док"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Дознајте повеќе за паузираното полнење"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Продолжи со полнење"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Вклучува активност во заднина со голема потрошувачка на енергија"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Апликацијава ќе може да ја користи батеријата во заднина. Батеријата може да се потроши порано од очекуваното."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Да"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Откажи"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Наполни до полна"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Проблем со додатокот за полнење"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Проверете го додатокот за полнење"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Дознајте повеќе за некомпатибилното полнење"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Управник со батерија"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Автоматско управување со апликациите"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"од последното целосно полнење"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системски апликации"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Деинсталирани апликации"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Други"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Проценето преостанато време"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"До целосно полнење"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Вкупно: помалку од една минута"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Во заднина: помалку од минута"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Време на користење: помалку од минута"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Помалку од една минута"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Вкупно: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Во заднина: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Време на користење: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"сега"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Графикон за користење на батеријата"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Графикон за користење на батеријата по денови"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Графикон за користење на батеријата по часови"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Процент на нивото на батеријата од <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> до <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Користење на батеријата од последното целосно полнење"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Користење на батеријата за <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Време на користење од последното целосно полнење"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал за итно бирање"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Постави однесување кога се прави итен повик"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Бекап"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Вклучено"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Исклучено"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Бекап и обнова"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Лични податоци"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Направи резервна копија на моите податоци"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобилен интернет и Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Авто. синхрон. лични подат."</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Авто. синхрон. службени подат."</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Авто. синхр. на прив. податоци"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Промени циклус..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Ден од месецот за ресетирање циклус на користење на интернет:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Нема податоци за користење апликации во овој период."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Име"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Адреса на сервер"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Шифрирање PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP тајна"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-идентификатор"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec претходно споделен клуч"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Кориснички сертификат на IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-сертификат"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертификат за IPSec-сервер"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Прикажи напредни опции"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Домени на пребарување на DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-сервери (на пр., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Маршрути за проследување (на пр., 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Корисничко име"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Лозинка"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Зачувај информации за сметка"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(не се користи)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не проверувај сервер)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(примен од сервер)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN од овој тип не може да остане поврзана цело време"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Постојано вклучената VPN поддржува само нумерички адреси на сервер"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Мора да се назначи DNS-сервер за секогаш вклучената VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Адресите на DNS-серверот мора да се нумерички за секогаш вклучената VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Внесените податоци не поддржуваат секогаш вклучена VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Откажи"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Отфрли"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Блокирај ги врските без VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Задолжително поврзување преку VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Небезбедна. Ажурирајте на IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Не можеше да се вклучи неподдржана VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Изберете VPN-профил со којшто секогаш ќе бидете поврзани. Мрежниот сообраќај ќе биде дозволен само кога сте поврзани на оваа VPN-мрежа."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ниедна"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN секогаш вклучена бара ИП адреса за серверот и за DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Предупредувања AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Добивајте објави за киднапирање деца"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Повтори"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Овозможи Управник со повици"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Дозволете услугата да управува како вршите повикувања."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Управник со повици"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Безжични предупредувања за итни случаи"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Мрежни оператори"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Имиња на пристапни точки"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Статус на SIM-картичка"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус на SIM (отвор за SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-картичките се променија."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Вашите SIM-картички се сменети"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Допрете за да поставите"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Прашувај секогаш"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Потребно е да се избере"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Неодамнешни апликации, стандардни апликации"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Пристапот до известувањата не е достапен за апликации во работниот профил."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Лозинки и сметки"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Зачувани лозинки, автоматско пополнување, синхронизирани сметки"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Предлози за најавување и автоматско пополнување"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Стандардни апликации"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Клонирани апликации"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Создајте втор примерок на апликација за да може да користите две сметки истовремено."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"плати, допри, плаќања"</string>
     <string name="keywords_backup" msgid="707735920706667685">"бекап, прави бекап"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"движење"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"лице, отклучи, проверка, најави се"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"лик, отклучување, проверка, најавување, отпечаток, биометрика"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, верзија на prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"големина на текст, големи букви, голем фонт, голем текст, слаб вид, зголемување текст, фонт, зголеми, зголеми фонт"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"секогаш вклучено амбиентален екран, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ознака, читач"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"тастатура, хаптика, вибрации,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Јачина на звук, вибрации и „Не вознемирувај“"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Јачина на аудио/видео звук"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Јачина на звук на емитување"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Вклучете ги звуците"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Автоматски титлови"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Автоматски титлува аудиовизуелни содржини"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Звучници на телефонот"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Звучници на таблетот"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Звучници на уредот"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Жичени слушалки"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Звукот од компатибилните аудиовизуелни содржини е пореалистичен"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Исклучено"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Прикажувај ги сите содржини од известувањата"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Прикажувај чувствителни содржини само кога е отклучен"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Воопшто не прикажувај известувања"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Што сакате да се прикажува на заклучениот екран?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Што сакате да се прикажува на заклучениот екран?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заклучен екран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Прикажувај ги сите известувања од работниот профил"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Скриј чувствителни работни содржини"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Неодамнешните разговори се отстранети"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Разговорот е отстранет"</string>
     <string name="clear" msgid="5092178335409471100">"Избриши"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Избриши <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Приоритетните и изменетите разговори ќе се појавуваат тука"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Откако ќе означите разговор како приоритетен или ќе направите какви било измени во разговорите, тие ќе се појават тука. \n\nЗа промена на поставките за разговор: \nПовлечете надолу од горниот дел на екранот за да се отвори списокот со известувања, а потоа допрете и задржете разговор."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Минимизирај"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Намалување на известувањата"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Намали ги сите известувања"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Постепено намалувајте ја јачината на звукот на известувањата кога добивате многу последователни известувања од истата апликација"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Намали ги разговорите"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Постепено намалувајте ја јачината на звукот на известувањата кога добивате многу пораки од истиот разговор за кус период"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Не намалувај ги известувањата"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Никогаш не намалувајте ја јачината на звукот на известувањата, независно од бројот последователни известувања од истата апликација"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Вибрирај кога е отклучен"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Вибрирај само кога екранот е отклучен"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Примени на работни профили"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Применете ги поставките за намалување на известувањата од приватниот на работниот профил"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR помошни услуги"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ниедна инсталирана апликација не побара да се извршува како VR помошните услуги."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Да се дозволи пристап до VR-услугата за <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Исклучено"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Закачување апликации"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Закачувањето апликации ви овозможува да ја гледате тековната апликација додека не ја откачите. Меѓу другото, со функцијава може да му се дозволи на доверлив пријател да игра конкретна игра."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Кога ќе се прикачи апликација, таа може да отвора други апликации и може да се овозможи пристап до личните податоци. \n\nЗа да користите прикачување апликации: 	\n1. Вклучете прикачување апликации 	\n2. Отворете „Преглед“ 	\n3. Допрете ја иконата на апликацијата на врвот од екранот, а потоа допрете „Прикачи“"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Кога ќе се прикачи апликација, таа може да отвора други апликации и може да се овозможи пристап до личните податоци. \n\nАко сакате безбедно да го споделувате уредот со некого, споделете го со корисник гостин. \n\nЗа да користите прикачување апликации: 	\n1. Вклучете прикачување апликации 	\n2. Отворете „Преглед“ 	\n3. Допрете ја иконата на апликацијата на врвот од екранот, а потоа допрете „Прикачи“"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Кога ќе се прикачи апликација, таа може да отвора други апликации и може да има пристап до личните податоци. \n\nЗа да користите прикачување апликации: 	\n{0,number,integer}. Вклучете го прикачувањето апликации 	\n{1,number,integer}. Отворете „Преглед“ 	\n{2,number,integer}. Допрете ја иконата на апликацијата на врвот од екранот, а потоа допрете „Прикачи“"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Кога ќе се прикачи апликација, таа може да отвора други апликации и може да има пристап до личните податоци. \n\nАко сакате безбедно да го споделувате уредот со некого, споделете го со корисник гостин. \n\nЗа да користите прикачување апликации: 	\n{0,number,integer}. Вклучете го прикачувањето апликации 	\n{1,number,integer}. Отворете „Преглед“ 	\n{2,number,integer}. Допрете ја иконата на апликацијата на врвот од екранот, а потоа допрете „Прикачи“"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Кога ќе се закачи апликација: \n\n•	 Можно е да има пристап до личните податоци \n		(како контакти и содржини на е-пораки) \n•	 Закачената апликација може да отвора други апликации \n\nКористете „Закачување апликации“ само со луѓе во кои имате доверба."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Побарај шема за откл. пред откачување"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Побарај PIN пред откачување"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Побарај лозинка пред откачување"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Заклучи го уредот при откачување"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Потврдете го бришењето на SIM-картичката"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Потврдете дека сакате да ја избришете eSIM-картичката"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Потврдете дека сте вие пред да избришете eSIM-картичка"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Бета-напредна заштита на меморијата"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Напредна заштита на меморијата"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Поставки за некористена апликација"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Паузирај некористени апликации"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Отстранува дозволи, брише привремени датотеки и запира известувања"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Управување со апликацијата при некористење"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Отстранување дозволи, бришење привремени датотеки, сопирање известувања и архивирање на апликацијата"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Сите апликации"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Инсталирани апликации"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Инстант апликации"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Слободна"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Меморија искористена од апликации"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 апликација ја користеше меморијата во минатиот {time}}one{# апликација ја користеа меморијата во минатиот {time}}other{# апликации ја користеа меморијата во минатиот {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Овозможи профил. на употр. на меморијата"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Потребни се дополнителни системски ресурси за профилирање на употребата на меморијата."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Профилирањето на меморијата е оневозможено"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Зачестеност"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Максимално користење"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Не е користен мобилен интернет"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Приказ врз други апликации"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Дозволи приказ врз други апликации"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Дозволете ѝ на апликацијава да се прикажува врз другите апликации што ги користите. Апликацијава ќе може да види каде допирате или да го менува прикажаното на екранот."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Промена на излезот за аудио"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Дозволете аплик. да префрла излез за аудиовиз. содржини"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Дозволете апликацијава да избере кој поврзан уред да репродуцира аудио или видео од други апликации. Ако е дозволено, апликацијава може да пристапи до список со достапни уреди, како слушалки и звучници и да избере кој излезен уред да се користи за стримување или емитување аудио или видео."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Пристап до сите датотеки"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Дозволи пристап за управување со датотеки"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволете апликацијава да ги чита, менува и брише сите датотеки на уредов или на поврзаните мемориски уреди. Ако се дозволи, апликацијата може да пристапува до датотеките без ваше изречно знаење."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да пристапува до сите датотеки"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Апликации со активирање со глас"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дозволете активирање со глас"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Активирањето со глас ги вклучува одобрените апликации, без користење на рацете, со гласовна наредба. Вградениот адаптивен сензор гарантира дека податоците ќе останат приватни само за вас.\n\n"<a href="">"Дознајте повеќе за заштитениот адаптивен сензор"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Известувања на цел екран"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Дозволете известувања на цел екран од оваа апликација"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Дозволете апликацијава да прикажува известувања што го заземаат целиот екран кога уредот е заклучен. Апликациите може да ги користат овие известувања за да ги истакнуваат алармите, дојдовните повици или други итни известувања."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Предупредување за потрошен интернет: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Ограничување за интернет: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Предупредување за потрошен интернет: <xliff:g id="ID_1">^1</xliff:g>/Ограничување за интернет: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Пресметаниот сообраќај на операторот може да се разликува од пресметаниот сообраќај на вашиот уред"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Не го опфаќа интернетот што го користат мрежите на мобилните оператори"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Потрошено: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Предупр. за потрошен интернет"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Ажурирано пред <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Ажурирано од <xliff:g id="ID_1">^1</xliff:g> пред малку"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Се ажурираше пред малку."</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Прикажи план"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Прикажи ги деталите"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Штедач на интернет"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Неограничен мобилен интернет"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> троши повеќе батерија од вообичаено додека работи во заднина"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> троши повеќе батерија додека работи во преден план"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> троши повеќе батерија од вообичаено додека работи во преден план"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Дефект на користењето на батеријата"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Голема потрошувачка на батеријата"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Голема потрошувачка на батеријата во заднина"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Голема потрошувачка на батеријата во преден план"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Програмерски плочки за брзи поставки"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Оневозможи истекување на авторизацијата за ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Оневозможи автоматско повлекување на авторизацијата за ADB за системите што не се поврзале повторно во стандардниот рок (7 дена) или во рокот конфигуриран од корисникот (најмалку 1 ден)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Трага од Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Сензорите се исклучени"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Поставки за работен профил"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Пребарувајте контакти од работниот адресар во лични апликации"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"навигација на системот, навигација со 2 копчиња, навигација со 3 копчиња, навигација со движење, повлечи"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дигитален помошник"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Повлечете за да го повикате помошникот"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Повлечете нагоре од долниот агол за да ја повикате апликацијата за дигитален помошник."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Повлечете нагоре од долниот агол за да ја повикате апликацијата за дигитален помошник"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Задржете го копчето за почетен екран за „Помошник“"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Притиснете и задржете го копчето за почетен екран за да ја повикате апликацијата за дигитален помошник."</string>
     <string name="low_label" msgid="6525629096999711220">"Ниска"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Автоматско пополнување"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Стандардна услуга за автоматско пополнување"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Лозинки"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Услуги за лозинки, криптографски клучеви и податоци"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Дополнителни даватели"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Претпочитана услуга"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Дополнителни услуги"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# лозинка}one{# лозинка}other{# лозинки}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"автоматско, пополнување, автоматско пополнување, лозинка"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"мобилен интернет, криптографски клуч, лозинка"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"автоматски, пополнување, автоматско пополнување, податоци, криптографски клуч, лозинка"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Промени"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Отвори"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Не е избрано ништо"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Проверете дали е ова апликација на која ѝ верувате&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=„Автоматско пополнување на Google“&gt;%1$s&lt;/xliff:g&gt; го користи она што е на екранот за да утврди што може автоматски да се пополни."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Да се користи &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; го користи она што е на екранот за да утврди што може автоматски да се пополни. Новите лозинки, криптографски клучеви и други податоци отсега ќе се зачувуваат овде."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Услуги за лозинки, криптографски клучеви и податоци"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Новите лозинки, криптографски клучеви и други податоци отсега ќе се зачувуваат овде. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може да го користи она што е на екранот за да утврди што може автоматски да се пополни."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Претпочитана услуга за лозинки, криптографски клучеви и автоматско пополнување"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Да се исклучи %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Да се исклучи оваа услуга?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Зачуваните податоци како лозинки, криптографски клучеви, начини на плаќање и други податоци нема да се пополнуваат кога ќе се најавувате. За да ги користите зачуваните податоци, изберете услуга за лозинки, криптографски клучеви или податоци."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Лозинки, криптo. клучеви и авто. пополн."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Да се исклучат сите услуги?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Лозинките, криптографските клучеви и другите зачувани податоци нема да бидат достапни за автоматско пополнување при најавување"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Да се промени претпочитаната услуга на &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Отсега, новите лозинки, криптографски клучеви и другите податоци ќе се зачувуваат тука. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може да го користи она што е на екранот за да утврди што може да се пополни автоматски"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Да се користи %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Исклучи"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Промени"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Може да имате само 5 вклучени услуги"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Исклучете барем 1 услуга за да додадете друга"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s го користи она што е на вашиот екран за да одреди што може автоматски да се пополни."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Ограничување за услуги за лозинки, криптографски клучеви и податоци"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Истовремено може да имате најмногу 5 активни услуги за лозинки, криптографски клучеви и податоци. Исклучете услуга за да додадете повеќе."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Ограничување за услуги за лозинки, криптографски клучеви и податоци"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Истовремено може да имате најмногу 5 активни услуги за лозинки, криптографски клучеви и податоци. Исклучете некоја од услугите за да додадете повеќе."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Исклучи"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Автоматско пополнување"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Степен на евиденција"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Промени во компатибилноста на апликациите може да се вршат само за апликации во кои може да се отстрануваат грешки. Инсталирајте апликација во која може да се отстрануваат грешки и обидете се повторно."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Зависи од друга поставка"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Сметка"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d сметки"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Име на уредот"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Основни информации"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Правни и регулаторни"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Дозволете ѝ на апликацијава да се стартува кога ќе се скенира NFC-ознака.\nАко оваа дозвола е вклучена, апликацијата ќе биде достапна како опција секогаш кога ќе се открие ознака."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Пуштај содржини на"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Пуштај <xliff:g id="LABEL">%s</xliff:g> на"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Аудиото ќе се репродуцира на"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Овој уред"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недостапно за време на повици"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Прифатете повик на"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Исклучи звук"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"За да се овозможи, прво променете ја опцијата „Притиснете и задржете го копчето за вклучување“ во менито на копчето за вклучување."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Детали за мрежата"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Името на уредот е видливо за апликациите на телефонот. Може да го видат и други луѓе кога ќе се поврзете со уреди со Bluetooth, ќе се поврзете на Wi-Fi мрежа или кога ќе поставите точка на пристап за Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Уреди"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Изберете мрежа"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Не е поврзано"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Име"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Боја (за компатибилни апликации)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Зачувај"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Користи SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Користење на оваа SIM-картичка"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Исклучено"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"За да се оневозможи оваа SIM, отстранете ја SIM-картичката"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Допрете за активирање на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Избришете ја SIM-картичката"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Отстранете ја SIM-картичката за да ја исклучите"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Допрете за да ја активирате SIM-картичката од <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Избришете ја eSIM-картичката"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Претпочитан тип мрежа"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Променете го режимот на работа на мрежата"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Претпочитан тип мрежа"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"За цени, проверете кај вашиот мрежен оператор."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Потрошен интернет од апликации"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Неважечки режим на мрежа <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Игнорирајте."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Размена на пораки преку сателит"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Испраќајте и примајте текстуални пораки преку сателит. Опфатено е во вашата сметка."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Испраќајте и примајте текстуални пораки преку сателит. Не е опфатено во вашата сметка."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Размена на пораки преку сателит"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"За размена на пораки преку сателит"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Може да испраќате и примате текстуални пораки преку сателит како дел од подобна сметка на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Вашиот пакет од <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Размената на пораки преку сателит е опфатена со вашата сметка"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Размената на пораки преку сателит не е опфатена со вашата сметка"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Додајте размена на пораки преку сателит"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Дознајте како функционира"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Кога немате мобилна мрежа"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Вашиот телефон ќе се поврзе на сателит автоматски. За најдобра врска, погрижете се да имате јасен поглед кон небото."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Откако телефонот ќе ви се поврзе на сателит"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Може да испраќате пораки до сите, меѓу кои и службите за итни случаи. Вашиот телефон повторно ќе се поврзе на мобилна мрежа кога ќе биде достапна."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Размената на пораки преку сателит може да трае подолго и е достапна само во некои области. Временските услови и одредени структури може да влијаат на вашата сателитска врска. Повикувањето преку сателит не е достапно.\n\nМожеби ќе биде потребно извесно време за да се прикажат промените во вашата сметка во „Поставки“. За повеќе детали, контактирајте со <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Дознајте повеќе за размената на пораки преку сателит"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Имиња на пристапни точки"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недостапно кога сте поврзани на <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Дали сакате да се префрлите на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Дали сакате да се префрлите на SIM-картичката?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Да се користи <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Само една SIM-картичка може да биде активна.\n\nАко се префрлите на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, нема да се откаже услугата на <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Само една eSIM-картичка може да биде активна.\n\nАко се префрлите на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, нема да се откаже услугата на <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Само една SIM-картичка може да биде активна.\n\nАко се префрлите, нема да се откаже услугата на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Може да биде вклучена само 1 SIM-картичка истовремено.\n\nАко се префрлите на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, нема да се откаже услугата на <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Може да биде вклучена само 1 eSIM-картичка истовремено.\n\nАко се префрлите на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, нема да се откаже услугата на <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Може да биде вклучена само 1 SIM-картичка истовремено.\n\nАко се префрлите нема да се откаже услугата на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Може да користите 2 SIM-картички истовремено. За да користите <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, исклучете друга SIM-картичка."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Префрли на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Исклучи: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Нема да ја откажете услугата само со исклучување на SIM-картичката"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Се поврзува со мрежа…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Се префрлува на <xliff:g id="CARRIER_NAME">%1$s</xliff:g> за повици и пораки…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Не може да се промени операторот"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Операторот не може да се промени поради грешка."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM-картичката се активира…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Се префрла на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Не може да се смени SIM-картичката"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Нешто тргна наопаку. Не може да се смени SIM-картичката."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Да се исклучи <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Да се исклучи SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Се исклучува SIM-картичката<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Не може да се оневозможи операторот"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Нешто тргна наопаку и не може да се оневозможи операторот."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Не може да се исклучи SIM-картичката"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Нешто тргна наопаку и вашата SIM-картичка не можеше да се исклучи."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Да се користат 2 SIM-картички?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Уредов може да има 2 активни SIM-картички во исто време. За да продолжите да користите само 1 SIM-картичка, допрете „Не, фала“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Да се рестартира уредот?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, фала"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Откажи"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Префрли"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Исклучи"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не може да се активира SIM-картичката"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Обидете се повторно да ја вклучите SIM-картичката. Ако и понатаму се соочувате со проблемот, рестартирајте го уредот."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Поставете ја SIM-картичката"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Поставете поставките за мобилната мрежа да користат повеќе SIM-картички на уредов"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Етикетирајте ги SIM-картичките"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Ќе ги гледате етикетиве кога упатувате повици, испраќате пораки и користите интернет, како и во „Поставки“"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Етикета на SIM-картичка"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Етикета"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Изберете SIM за користење"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Може да користите 2 SIM-картички истовремено"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Поставете главни SIM-картички"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Изберете кои SIM-картички да се користат стандардно за повици, пораки и интернет"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Вашите примарни SIM-картички"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Повици"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Пораки"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Автоматско префрлање интернет"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Користете интернет од која било SIM-картичка зависно од покриеноста и достапноста"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Само за интернет"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Поставете"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Следно"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Се вклучува <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобилна мрежа"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Телефонски број"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Боја и етикета на SIM-картичка"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активирање на мрежата"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Префрлање оператор"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> е активен"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Вашата SIM-картичка од <xliff:g id="CARRIER_NAME">%1$s</xliff:g> е активна"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Допрете за да ги ажурирате поставките на SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Се префрливте на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Се префрливте на друг оператор"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Вашата мобилна мрежа се промени"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Поставете ја другата SIM-картичка"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Изберете активна SIM-картичка или користете 2 SIM-картички во исто време"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Изберете број што ќе се користи"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{На уредов е достапен 1 број, но во даден момент може да се користи само еден}=2{На уредов се достапни 2 броја, но во даден момент може да се користи само еден од нив}one{На уредов се достапни # број, но во даден момент може да се користи само еден од нив}other{На уредов се достапни # броја, но во даден момент може да се користи само еден од нив}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Се активира<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Не може да се активира во моментов"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Изберете SIM-картичка за користење"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{На уредов е достапна 1 SIM-картичка, но во даден момент може да се користи само една}=2{На уредов се достапни 2 SIM-картички, но во даден момент може да се користи само една}one{На уредов се достапни # SIM-картичка, но во даден момент може да се користи само една}other{На уредов се достапни # SIM-картички, но во даден момент може да се користи само една}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Се вклучува<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"SIM-картичкава не можеше да се вклучи во моментов"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Да се користи <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ќе се користи за мобилен интернет, повици и SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Нема активни SIM-картички на располагање"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"За да може подоцна да користите мобилен интернет и функции за повици и SMS, одете во мрежните поставки"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-картичка"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Да се избрише eSIM-картичкава?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ако ја избришете SIM-картичкава, услугата на <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ќе се отстрани од уредов.\n\nУслугата на <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> нема да се откаже."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Со тоа ќе се отстрани услугата на <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> од уредов, но вашиот пакет од <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> нема да се откаже."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Избриши"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Се брише SIM-картичката…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не може да се избрише SIM-картичката"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Оваа SIM-картичка не може да се избрише поради грешка.\n\nРестартирајте го уредот и обидете се повторно."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Се брише eSIM-картичката…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Не може да се избрише eSIM-картичката"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Нешто тргна наопаку и eSIM-картичкава не се избриша.\n\nРестартирајте го уредот и обидете се повторно."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Поврзување со уредот"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Апликацијата <xliff:g id="APPNAME">%1$s</xliff:g> сака да користи привремена Wi‑Fi мрежа за да се поврзе со уредот"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Не се најдени уреди. Уверете се дека уредите се вклучени и достапни за поврзување."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Итни повици"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Вашиот оператор не поддржува итни повици преку услугата „Повици преку Wi-Fi“.\nУредот се префрла автоматски на мобилна мрежа за да се оствари итен повик.\nИтните повици се можни само во области покриени со мобилна мрежа."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Користете Wi-Fi за повици за да го подобрите квалитетот"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Резервен начин на повикување"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ако <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> е недостапен или во роаминг, користи ја SIM-картичката за мобилен интернет за повици на <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"резервен начин на повикување"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Дојдовна MMS-порака"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Не може да се испрати MMS-порака"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Допрете за да дозволите размена на MMS-пораки на <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> кога е исклучен мобилниот интернет"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Информации за работните правила"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Вашиот администратор за ИТ управува со поставките"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Рестартирај со страница од 16 K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Рестартирај со поддржан кернел со страници од 16 K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Да се рестартира со компатибилен кернел со страници од 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ПРЕДУПРЕДУВАЊЕ: некои апликации можеби не се компатибилни со режимов. Уредот ќе се рестартира по потврдата."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Да се рестартира со компатибилен кернел со страници од 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Уредот ќе се рестартира по потврдата."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Не можеше да се ажурира кернелот на компатибилен кернел со страници од 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Се применува промената"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Ракувач со извештајот за грешки"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Одредува која апликација ќе ракува со кратенката за извештајот за грешки на уредот."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Лични"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Дозволи им на апликациите што може да се прикажуваат врз други апликации да ги прекриваат екраните на „Поставки“"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Дозволување на услугата за лажен модем"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Дозволете уредов да ја извршува услугата за лажен модем при инструментациско тестирање. Не овозможувајте го ова при нормално користење на телефонот"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Оневозможување заштити за споделување екран"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Ги оневозможува заштитите на апликациите и известувањата применети на системот при споделување екран"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Аудиовизуелни содржини"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Закачи го плеерот"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"За брзо продолжување на репродукцијата, плеерот останува отворен во „Брзи поставки“"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Прикажувај аудиовизуелни содржини на заклучен екран"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"За брзо продолжување на репродукцијата, плеерот останува отворен на заклучен екран"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Прикажувај препораки за аудиовизуелни содржини"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Прикажувај препораки за аудиовизуелни содржини од „Помошникот“"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Според вашата активност"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Скриј го плеерот"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Прикажи го плеерот"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"аудиовизуелни содржини"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Дозволи екстензии на софтверот за камерата"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Ја овозможува стандардната имплементација на софтвер за напредни функции на камерата, како што е „Видеографија за слепи“."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth ќе се вклучи"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-картички"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM-картичка"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-картички"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Активна"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Неактивна"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Вклученo"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Исклученo"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /Стандардно за <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"повици"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Звукот од компатибилните аудиовизуелни содржини е пореалистичен"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Следење на главата"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Звукот се менува како што ја движите главата за да звучи поприродно"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синхронизација на дозволи"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Дајте му ги на уредот <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> истите дозволи за апликацијата што сте му ги дале на уредот <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Синхронизирајте ги дозволите од телефонот"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Дајте му ги на вашиот часовник истите дозволи за апликацијата што сте ги дале на телефонов"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Тип аудиоуред"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Непознато"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Звучник"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Среден"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Висок"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Апликацијава може да се отвори само во еден прозорец"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Вклучено"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Исклучено"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Исклучено"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Исклучено"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Вклучено"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Исклучено"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Вклучено"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Исклучено"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Ги претвора светлите прикази во темни, а темните во светли"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Зумирање на екранот"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Исклучено"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Исклучено"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Скенирање измамнички апликации"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверка на активноста во апликацијата за фишинг"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Користи скенирање за измамнички апликации"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Користи скенирање за измамнички апликации за работа"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Сега е поставена лозинката"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Прикажувај го покажувачот при наместување"</string>
 </resources>
diff --git a/res/values-ml/arrays.xml b/res/values-ml/arrays.xml
index b233808..b858617 100644
--- a/res/values-ml/arrays.xml
+++ b/res/values-ml/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ലഭ്യം"</item>
     <item msgid="6096962300722555553">"പരിധിക്കു പുറത്ത്"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"സിസ്റ്റം ഡിഫോൾട്ട് ഉപയോഗിക്കുക: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"ഒരു മിനിറ്റിന് ശേഷം"</item>
     <item msgid="1574040255478150028">"5 മിനിറ്റിന് ശേഷം"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ml/strings.xml b/res/values-ml/strings.xml
index 489a284..4eccb83 100644
--- a/res/values-ml/strings.xml
+++ b/res/values-ml/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"നിങ്ങൾ ഇപ്പോൾ ഒരു ഡെവലപ്പറാണ്!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"ആവശ്യമില്ല, നിങ്ങൾ ഇതിനകം ഒരു ഡെവലപ്പറാണ്."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ആദ്യം ഡെവലപ്പർ ഓ‌പ്ഷനുകൾ പ്രവർത്തനക്ഷമമാക്കുക."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"അഡ്‌മിൻ ഉപയോക്താക്കൾക്ക് മാത്രമേ ഡെവലപ്പർ ക്രമീകരണം ആക്‌സസ് ചെയ്യാനാകൂ."</string>
     <string name="header_category_system" msgid="1665516346845259058">"സിസ്റ്റം"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"അറ്റകുറ്റപ്പണിയിൽ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"സേവനം ലഭ്യമല്ല"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"ഉപകരണം ഫോൾഡ് ചെയ്യുമ്പോൾ ഫ്രണ്ട് ഡിസ്‌പ്ലേ ഓണാകും"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ഗെയിമുകളും വീഡിയോകളും മറ്റും മാത്രം"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"നിങ്ങളുടെ സ്‌ക്രീൻ നിഷ്‌ക്രിയമാകുന്നതിനെ തടയുന്ന ആപ്പുകൾക്കായി ഫ്രണ്ട് ഡിസ്‌പ്ലേ ഓണാകും"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"തുടരാൻ മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ആപ്പ് ഉപയോഗിക്കുന്നത് തുടരാൻ നിങ്ങളുടെ ഫോൺ ഫോൾഡ് ചെയ്ത് ഫ്രണ്ട് ഡിസ്പ്ലേയിൽ മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക അല്ലെങ്കിൽ സ്‌ക്രീൻ ലോക്ക് ആകാൻ അൽപ്പസമയം കാത്തിരിക്കുക"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ഒരിക്കലും വേണ്ട"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"ഉപകരണം ഫോൾഡ് ചെയ്യുമ്പോൾ ഫ്രണ്ട് ഡിസ്‌പ്ലേ ലോക്കാകും"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"സ്വയമേവ തിരിയൽ ക്രമീകരണം ഉപയോഗിക്കുക"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ബന്ധപ്പെട്ടവ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"റിംഗ്‌ടോണുകളും അലാറങ്ങളും"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"കോളുകൾ ചെയ്യുന്ന സമയത്തെ ഓഡിയോ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"മീഡിയ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"അറിയിപ്പും സിസ്റ്റം ശബ്ദങ്ങളും"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"മീഡിയ, സിസ്റ്റം ശബ്ദങ്ങൾ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"അറിയിപ്പുകൾ"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ഡിഫോൾട്ടായി, ഓഡിയോ ഔട്ട്പുട്ട് തീരുമാനിക്കുന്നത് ഓരോ ആപ്പുകളുമാണ്"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"പേരുനൽകാത്ത ബ്ലൂടൂത്ത് ഉപകരണം"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"തിരയുന്നു"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"റദ്ദാക്കുക"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE ഓഡിയോ പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ഉപകരണം LE ഓഡിയോ ഹാർഡ്‌വെയർ ശേഷികളെ പിന്തുണയ്‌ക്കുന്നുണ്ടെങ്കിൽ Bluetooth LE ഓഡിയോ ഫീച്ചർ പ്രവർത്തനരഹിതമാക്കുന്നു."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE ഓഡിയോ മോഡ്"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ഉപകരണ വിശദാംശങ്ങളിൽ LE ഓഡിയോ ടോഗിൾ കാണിക്കൂ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE ഓഡിയോ അനുവദനീയ ലിസ്റ്റ് പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE ഓഡിയോ അനുവദനീയ ലിസ്റ്റ് ഫീച്ചർ പ്രവർത്തനക്ഷമമാക്കുക."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE ഓഡിയോ വൈറ്റ്ലിസ്റ്റ് ബൈപാസ് ചെയ്യുക"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE ഓഡിയോ പെരിഫറൽ, വൈറ്റ്ലിസ്റ്റ് മാനദണ്ഡം പാലിക്കുന്നുണ്ടോയെന്ന് പരിശോധിച്ചുറപ്പിച്ചിട്ടില്ലെങ്കിലും ഡിഫോൾട്ടായി LE ഓഡിയോ ഉപയോഗിക്കുക."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"മീഡിയ ഉപകരണങ്ങൾ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"കോൾ ഉപകരണങ്ങൾ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"മറ്റ് ഉപകരണങ്ങൾ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"സംരക്ഷിച്ച ഉപകരണങ്ങൾ"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"അക്കൗണ്ടുമായി ബന്ധപ്പെടുത്തിയിരിക്കുന്നു"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"മുമ്പ് അക്കൗണ്ടിൽ ഉപയോഗിച്ചത്"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ജോടിയാക്കുന്നതിന് Bluetooth ഓണാക്കും"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"കണക്ഷൻ മുൻഗണനകൾ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"മുമ്പ് കണക്‌റ്റ് ചെയ്‌തവ"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ഓണാക്കി"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"എല്ലാം കാണുക"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"എല്ലാം കാണുക"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"സ്‌റ്റൈലസ്"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ടെയിൽ ബട്ടൺ അമർത്തുക"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ഔദ്യോഗിക പ്രൊഫൈൽ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ടെക്‌സ്‌റ്റ് ഫീൽഡുകളിൽ എഴുതുക"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"സ്‌റ്റൈലസ് ബട്ടൺ അമർത്തൽ ഒഴിവാക്കുക"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"സ്‌റ്റൈലസ്"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ഓഡിയോ പങ്കിടൽ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ഓഡിയോ പങ്കിടൂ"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"കോളുകളും അലാറങ്ങളും"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR കോഡ് ഉപയോഗിച്ച് ഓഡിയോ സ്ട്രീമിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"സമീപത്തെ ഓഡിയോ സ്ട്രീം കണ്ടെത്തിയില്ല."</string>
     <string name="date_and_time" msgid="1788358029823431692">"തീയതിയും സമയവും"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"പ്രോക്‌സി"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"മായ്‌ക്കുക"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s മുൻഗണന നൽകുന്ന ഭാഷകളിലേക്ക് ചേർക്കണോ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"നിങ്ങൾ ഈ ഭാഷയ്ക്ക് മുൻഗണന നൽകുന്നുവെന്ന് മനസ്സിലാക്കാൻ ഇത് ആപ്പുകളെയും വെബ്‌സൈറ്റുകളെയും അനുവദിക്കുന്നു."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"നിങ്ങളുടെ ഉപകരണ ക്രമീകരണവും പ്രാദേശിക മുൻഗണനകളും മാറും."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"മാറ്റുക"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ലഭ്യമല്ല"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ശനി"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ഒരു ആപ്പിൽ പ്രാദേശിക മുൻഗണനകൾക്ക് പിന്തുണയില്ലെങ്കിൽ ആ ആപ്പ് അതിന്റെ ഡിഫോൾട്ടായ ഭാഷാ ക്രമീകരണം ഉപയോഗിക്കും."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ഭാഷാ മുൻഗണനകളെക്കുറിച്ച് കൂടുതലറിയുക."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"അധിക മുൻഗണനകൾ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"അഭിസംബോധന ചെയ്യാനുള്ള പദങ്ങൾ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"നിങ്ങളെ എങ്ങനെ അഭിസംബോധന ചെയ്യണമെന്നത് സജ്ജീകരിക്കുക"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"നിങ്ങളെ എങ്ങനെ അഭിസംബോധന ചെയ്യുന്നുവെന്ന് വ്യക്തിപരമാക്കാൻ ആപ്പുകൾക്ക് നിങ്ങളുടെ \'അഭിസംബോധന ചെയ്യാനുള്ള പദങ്ങൾ\' ഉപയോഗിക്കാനാകും."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"വ്യക്തമാക്കിയിട്ടില്ലാത്തവ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"സ്ത്രീകൾക്കുള്ളത്"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"പുരുഷന്മാർക്കുള്ളത്"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ന്യൂട്രൽ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{തിരഞ്ഞെടുത്ത ഭാഷ നീക്കം ചെയ്യണോ?}other{തിരഞ്ഞെടുത്ത ഭാഷകൾ നീക്കം ചെയ്യണോ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"മറ്റൊരു ഭാഷയിൽ ടെക്‌സ്റ്റ് കാണിക്കും."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"എല്ലാ ഭാഷകളും നീക്കം ചെയ്യാനാവില്ല"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ലൊക്കേഷൻ"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ലൊക്കേഷൻ ഉപയോഗിക്കുക"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ഓഫാക്കുക"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ഓണാണ് - # ആപ്പിന് ലൊക്കേഷനിലേക്ക് ആക്‌സസ് ഉണ്ട്}other{ഓണാണ് - # ആപ്പുകൾക്ക് ലൊക്കേഷനിലേക്ക് ആക്‌സസ് ഉണ്ട്}}"</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_location_off" msgid="8568995909147566720">"ആപ്പുകൾക്കും സേവനങ്ങൾക്കും ലൊക്കേഷൻ ആക്‌സസ് ഓഫാണ്. നിങ്ങൾ അടിയന്തര നമ്പറിലേക്ക് കോൾ ചെയ്യുമ്പോഴോ ടെക്‌സ്‌റ്റ് ചെയ്യുമ്പോഴോ നിങ്ങളുടെ ഉപകരണ ലൊക്കേഷൻ, അടിയന്തര സാഹചര്യത്തിൽ പ്രതികരിക്കുന്നവർക്ക് തുടർന്നും അയച്ചേക്കാം."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ലൊക്കേഷൻ ക്രമീകരണത്തെക്കുറിച്ച് കൂടുതലറിയുക."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ലൊക്കേഷൻ ക്രമീകരണത്തെക്കുറിച്ച് കൂടുതലറിയുക"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ലൊക്കേഷൻ ആക്സസ് മാറ്റാൻ, ക്രമീകരണം &gt; സുരക്ഷയും സ്വകാര്യതയും &gt; സ്വകാര്യതാ നിയന്ത്രണങ്ങൾ എന്നിവ സന്ദർശിക്കുക"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"അക്കൗണ്ടുകൾ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"സുരക്ഷ"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"എൻക്രിപ്‌ഷനും ക്രെഡന്‍ഷ്യലുകളും"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"മികച്ച ഫലങ്ങൾക്കായി, Google-നായി നിർമ്മിച്ചതെന്ന് സാക്ഷ്യപ്പെടുത്തിയ സ്‌ക്രീൻ പ്രൊട്ടക്‌ടർ ഉപയോഗിക്കുക. മറ്റ് സ്‌ക്രീൻ പ്രൊട്ടക്‌ടറുകളിൽ നിങ്ങളുടെ കുട്ടിയുടെ വിരലടയാളം പ്രവർത്തിക്കണമെന്നില്ല."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"വാച്ച് അൺലോക്ക്"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കുന്ന സമയത്ത്, നിങ്ങൾ മാസ്‌ക് ധരിച്ചിട്ടുണ്ടെങ്കിലോ വെളിച്ചമില്ലാത്തിടത്താണ് നിങ്ങൾ ഉള്ളതെങ്കിലോ ഫോൺ നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ആവശ്യപ്പെടും.\n\nനിങ്ങളുടെ മുഖമോ ഫിംഗർപ്രിന്റോ തിരിച്ചറിയാത്തപ്പോൾ വാച്ച് ഉപയോഗിച്ച് അൺലോക്ക് ചെയ്യാം."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് തിരിച്ചറിയാത്തപ്പോൾ വാച്ച് ഉപയോഗിച്ച് അൺലോക്ക് ചെയ്യാം."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"നിങ്ങളുടെ മുഖം തിരിച്ചറിയാത്തപ്പോൾ വാച്ച് ഉപയോഗിച്ച് അൺലോക്ക് ചെയ്യാം."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"ഫെയ്‌സ് അൺലോക്കും ഫിംഗർപ്രിന്റ് അൺലോക്കും സജ്ജീകരിക്കുന്ന സമയത്ത്, നിങ്ങൾ മാസ്‌ക് ധരിച്ചിട്ടുണ്ടെങ്കിലോ വെളിച്ചമില്ലാത്തിടത്താണ് നിങ്ങൾ ഉള്ളതെങ്കിലോ ഫോൺ നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ആവശ്യപ്പെടും.\n\nനിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിന് മറ്റൊരു സൗകര്യപ്രദമായ വഴി, വാച്ച് അൺലോക്ക് ചെയ്യൽ ആണ്, ഉദാഹരണത്തിന്, നിങ്ങളുടെ വിരലുകൾ നനഞ്ഞിരിക്കുമ്പോഴോ മുഖം തിരിച്ചറിയാതിരിക്കുമ്പോഴോ."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"നിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിന് മറ്റൊരു സൗകര്യപ്രദമായ വഴി, വാച്ച് അൺലോക്ക് ചെയ്യൽ ആണ്, ഉദാഹരണത്തിന്, നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് തിരിച്ചറിയാതിരിക്കുമ്പോൾ."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"നിങ്ങളുടെ ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിന് മറ്റൊരു സൗകര്യപ്രദമായ വഴി, വാച്ച് അൺലോക്ക് ചെയ്യൽ ആണ്, ഉദാഹരണത്തിന്, നിങ്ങളുടെ മുഖം തിരിച്ചറിയാതിരിക്കുമ്പോൾ."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ഇനിപ്പറയുന്നതിന് ഫിംഗർപ്രിന്റോ വാച്ചോ ഉപയോഗിക്കുക"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ഇനിപ്പറയുന്നതിന് മുഖമോ വാച്ചോ ഉപയോഗിക്കുക"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ഇനിപ്പറയുന്നതിന് മുഖമോ ഫിംഗർപ്രിന്റോ വാച്ചോ ഉപയോഗിക്കുക"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ഈ ഫോൺ അൺലോക്ക് ചെയ്യുന്നതിന് മറ്റൊരു സൗകര്യപ്രദമായൊരു വഴി, വാച്ച് അൺലോക്ക് ചെയ്യൽ ആണ്, ഉദാഹരണത്തിന്, നിങ്ങളുടെ വിരലുകൾ നനഞ്ഞിരിക്കുമ്പോഴോ മുഖം തിരിച്ചറിയാതിരിക്കുമ്പോഴോ.\n\nഇനിപ്പറയുന്ന സാഹചര്യത്തിൽ ഈ ഫോൺ അൺലോക്ക് ചെയ്യാൻ നിങ്ങൾക്ക് വാച്ച് ഉപയോഗിക്കാം:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ഇപ്പോൾ വേണ്ട"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"തുടരുക"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"കൂടുതൽ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"ഇതെങ്ങനെ പ്രവർത്തിക്കുന്നു"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"നിങ്ങളുടെ വാച്ച്, കൈത്തണ്ടയിൽ ഉള്ളപ്പോഴും ഈ ഫോൺ കൈയ്യെത്തും ദൂരത്ത് ഉള്ളപ്പോഴും അൺലോക്ക് ചെയ്തിരിക്കണം. നിങ്ങളുടെ വാച്ച്, കൈത്തണ്ടയിൽ ഉള്ളപ്പോൾ അത് വീണ്ടും അൺലോക്ക് ചെയ്യേണ്ടതില്ല."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ഈ ഫോൺ അൺലോക്ക് ചെയ്താൽ നിങ്ങളുടെ വാച്ചിൽ അറിയിപ്പ് ലഭിക്കും. നിങ്ങൾ ഉദ്ദേശിക്കാത്തപ്പോൾ ഇത് അൺലോക്ക് ചെയ്തെങ്കിൽ, ഫോൺ വീണ്ടും ലോക്ക് ചെയ്യുന്നതിനായി അറിയിപ്പ് ടാപ്പ് ചെയ്യുക."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"നിയന്ത്രണം നിങ്ങൾക്കാണ്"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് ഏതുസമയത്തും വാച്ച് അൺലോക്ക് ഫീച്ചറിൽ നിന്ന് വാച്ച് നീക്കം ചെയ്യാം"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"അറിയിപ്പ് ടാപ്പ് ചെയ്യുക"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ലോക്ക് സ്‌ക്രീനിൽ മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"നിങ്ങളുടെ വാച്ച് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ലഭ്യമായ വാച്ചുകൾ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"റദ്ദാക്കുക"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"സ്ഥിരീകരിക്കുക"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"നിങ്ങൾ തയ്യാറായിക്കഴിഞ്ഞു!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ലോക്ക് സ്ക്രീനിൽ മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്തോ അറിയിപ്പിൽ ടാപ്പ് ചെയ്തോ, നിങ്ങൾക്ക് ഇപ്പോൾ വാച്ച് ഉപയോഗിച്ച് ഈ ഫോൺ അൺലോക്ക് ചെയ്യാം"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"പൂർത്തിയായി"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"വാച്ച് അൺലോക്ക്"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ലോക്ക് സ്ക്രീനിൽ മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുമ്പോഴോ അറിയിപ്പിൽ ടാപ്പ് ചെയ്യുമ്പോഴോ ഈ ഫോൺ അൺലോക്ക് ചെയ്യാൻ നിങ്ങൾക്ക് വാച്ച് ഉപയോഗിക്കാം"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"വാച്ച് അൺലോക്ക് ഉപയോഗിക്കുന്നതിന്, വാച്ച് അൺലോക്ക് ചെയ്തിരിക്കണം, അത് നിങ്ങളുടെ കൈത്തണ്ടയിൽ ആയിരിക്കണം, കൈയ്യെത്തും ദൂരത്തായിരിക്കണം, ഈ ഫോണുമായി കണക്റ്റ് ചെയ്തിരിക്കുകയും വേണം. കണക്ഷൻ തടസ്സപ്പെടുകയാണെങ്കിൽ, വാച്ച് അൺലോക്ക് ഉപയോഗിക്കുന്നതിന് മുമ്പ് നിങ്ങൾ ഫോൺ അൺലോക്ക് ചെയ്യേണ്ടതുണ്ട്.\n\nഓർമ്മിക്കുക:\nഒരു സമയം ഒരൊറ്റ വാച്ച് മാത്രമേ നിങ്ങൾക്ക് സജ്ജീകരിക്കാനാകൂ. മറ്റൊരു വാച്ച് ചേർക്കാൻ ആദ്യം നിലവിലെ വാച്ച് നീക്കം ചെയ്യുക."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ഔദ്യോഗികാവശ്യത്തിനുള്ള ഫെയ്‌സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"സജ്ജീകരിക്കേണ്ടതുണ്ട്"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"സുരക്ഷ"</string>
     <string name="privacy_header" msgid="5526002421324257007">"സ്വകാര്യത"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"ഔദ്യോഗിക പ്രൊഫൈൽ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"സ്വകാര്യ സ്പേസ്"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"സ്വകാര്യ ആപ്പുകൾ ലോക്ക് ചെയ്ത് മറയ്‌ക്കുക"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"നിങ്ങൾക്ക് മറയ്ക്കാനോ ലോക്ക് ചെയ്യാനോ കഴിയുന്ന പ്രത്യേക സ്പേസിൽ സ്വകാര്യ ആപ്പുകൾ സൂക്ഷിക്കുക"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"സ്വകാര്യ സ്‌പേസ് ലോക്ക്"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"ഉപകരണം അൺലോക്ക് ചെയ്യുന്ന അതേ രീതിയിൽ നിങ്ങൾക്ക് സ്വകാര്യ സ്‌പേസ് അൺലോക്ക് ചെയ്യാം അല്ലെങ്കിൽ മറ്റൊരു ലോക്ക് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ഉപകരണത്തിന്റെ സ്‌ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ഫെയ്‌സ്, ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ഫെയ്‌സ് അൺലോക്ക്"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"സജ്ജീകരിക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"സ്വകാര്യ സ്‌പേസിനുള്ള ഫിംഗർപ്രിന്റ് അൺലോക്ക്"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"സ്വകാര്യ സ്‌പേസിനുള്ള ഫെയ്‌സ് അൺലോക്ക്"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"അൺലോക്ക് ചെയ്യാനുള്ള മാർഗ്ഗങ്ങൾ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ഉപകരണത്തിന്റെ അതേ സ്‌ക്രീൻ ലോക്ക്"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"സ്വകാര്യ സ്‌പേസിന് പുതിയ ലോക്ക് തിരഞ്ഞെടുക്കണോ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"സ്വകാര്യ സ്പേസ് സ്വയമേവ ലോക്ക് ചെയ്യുക"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"ഉപകരണം ഒരു നിശ്ചിത കാലയളവിൽ ഉപയോഗിച്ചിട്ടില്ലെങ്കിൽ, നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് സ്വയമേവ ലോക്ക് ചെയ്യാം"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ഉപകരണം ലോക്ക് ചെയ്യുമ്പോഴെല്ലാം"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 മിനിറ്റ് നിഷ്‌ക്രിയമായതിന് ശേഷം"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ഒരിക്കലുമില്ല"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ലോക്ക് ചെയ്‌തിരിക്കുമ്പോൾ മറയ്ക്കൂ"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ലോക്ക് ചെയ്‌തിരിക്കുമ്പോൾ സ്വകാര്യ സ്‌പേസ് മറയ്ക്കുക"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"നിങ്ങളുടെ ഉപകരണത്തിൽ നിങ്ങൾക്ക് ഒരു സ്വകാര്യ സ്‌പേസ് ഉണ്ടെന്ന് മറ്റുള്ളവർ അറിയാതിരിക്കാൻ നിങ്ങളുടെ ആപ്പുകളുടെ ലിസ്‌റ്റിൽ നിന്ന് അവ മറയ്ക്കാം"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"മറച്ചിരിക്കുമ്പോൾ സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യൂ"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ആപ്പുകളുടെ ലിസ്റ്റിൽ, തിരയൽ ബാറിൽ \"സ്വകാര്യ സ്പേസ്\" നൽകുക"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"സ്വകാര്യ സ്പേസ് ടൈൽ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യുക"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ഓഫാണ്"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ഓണാണ്"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"സിസ്റ്റം"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"സ്വകാര്യ സ്പേസ് ഇല്ലാതാക്കുക"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"സ്വകാര്യ സ്പേസ് ഇല്ലാതാക്കണോ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ഉപകരണത്തിൽ നിന്ന് നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് നീക്കം ചെയ്യും. എല്ലാ സ്വകാര്യ ആപ്പുകളും ഡാറ്റയും ഇല്ലാതാക്കും. ഈ പ്രവർത്തനം നിങ്ങൾക്ക് പഴയപടിയാക്കാനാകില്ല."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ഇനിപ്പറയുന്ന അക്കൗണ്ടുകൾ നിങ്ങളുടെ സ്വകാര്യ സ്പേസിൽ നിന്ന് നീക്കം ചെയ്യും:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ഇല്ലാതാക്കുക"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"സ്വകാര്യ സ്പേസ് ഇല്ലാതാക്കുന്നു…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ഇതിന് കുറച്ച് സമയമെടുക്കും"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"സ്വകാര്യ സ്‌പേസ് ഇല്ലാതാക്കി"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"സ്വകാര്യ സ്‌പേസ് ഇല്ലാതാക്കാനായില്ല"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്തു"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"സ്‌ക്രീൻ ലോക്ക് സജ്ജീകരിക്കൂ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ഉപയോഗിക്കാൻ, ഈ ഉപകരണത്തിൽ സ്ക്രീൻ ലോക്ക് സജ്ജീകരിക്കുക"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"സ്‌ക്രീൻ ലോക്ക് സജ്ജീകരിക്കൂ"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"റദ്ദാക്കൂ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"റദ്ദാക്കുക"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"സജ്ജീകരിക്കുക"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കുക"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"നിങ്ങൾക്ക് മറയ്ക്കാനോ ലോക്ക് ചെയ്യാനോ കഴിയുന്ന പ്രത്യേക സ്പേസിൽ സ്വകാര്യ ആപ്പുകൾ സൂക്ഷിക്കുക"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ഇത് പ്രവർത്തിക്കുന്നത് എങ്ങനെയാണ്"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"നിങ്ങളുടെ ആപ്പ് ലിസ്‌റ്റിന്റെ താഴെ നിന്ന് സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാം"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"സ്വകാര്യ സ്പേസ് ആപ്പുകൾ ലോക്ക് കൊണ്ട് പരിരക്ഷിച്ചിരിക്കുന്നു"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ, അതിലെ ആപ്പുകളിൽ നിന്നുള്ള അറിയിപ്പുകൾ മറയ്ക്കും"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ലോക്ക് ചെയ്തിരിക്കുമ്പോൾ അനുമതി മാനേജർ, സ്വകാര്യതാ ഡാഷ്ബോർഡ്, മറ്റ് ക്രമീകരണം എന്നിവയിൽ സ്വകാര്യ സ്പേസിലെ ആപ്പുകൾ ദൃശ്യമാകില്ല.\n\nസ്വകാര്യ സ്പേസ് പുതിയ ഉപകരണത്തിലേക്ക് നീക്കാനാകില്ല. നിങ്ങൾക്ക് ഇത് മറ്റൊരു ഉപകരണത്തിൽ ഉപയോഗിക്കണമെങ്കിൽ മറ്റൊരു സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കേണ്ടതുണ്ട്.\n\nനിങ്ങളുടെ ഉപകരണം ഒരു കമ്പ്യൂട്ടറിലേക്ക് കണക്റ്റ് ചെയ്യുന്ന അല്ലെങ്കിൽ ഉപകരണത്തിൽ ദോഷകരമായ ആപ്പുകൾ ഇൻസ്റ്റാൾ ചെയ്യുന്ന ഏതൊരാൾക്കും നിങ്ങളുടെ സ്വകാര്യ സ്പേസ് ആക്സസ് ചെയ്യാൻ കഴിഞ്ഞേക്കാം."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"സ്വകാര്യ സ്പേസ് സജ്ജീകരിക്കുന്നു…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"സ്വകാര്യ സ്‌പേസ് ആപ്പുകൾ ലോക്ക് ചെയ്‌തിരിക്കുമ്പോൾ അവയിൽ നിന്നുള്ള അറിയിപ്പുകൾ മറച്ചിരിക്കും"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ഫോട്ടോകളോ ഫയലുകളോ പങ്കിടാൻ സ്വകാര്യ സ്‌പേസ് അൺലോക്ക് ചെയ്യുക"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ചില ആപ്പുകൾ ഇതിനകം തന്നെ നിങ്ങളുടെ സ്വകാര്യ സ്പേസിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ട്"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"സ്വകാര്യ സ്‌പേസ് സജ്ജീകരിക്കാനായില്ല"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"വീണ്ടും ശ്രമിക്കുക"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യാൻ സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കണോ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"ഉപകരണം അൺലോക്ക് ചെയ്യുന്ന അതേ രീതിയിൽ നിങ്ങൾക്ക് സ്വകാര്യ സ്‌പേസ് അൺലോക്ക് ചെയ്യാം അല്ലെങ്കിൽ മറ്റൊരു ലോക്ക് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"സ്ക്രീൻ ലോക്ക് ഉപയോഗിക്കുക"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"പുതിയ ലോക്ക് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"എല്ലാം സജ്ജീകരിച്ചു!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"നിങ്ങളുടെ സ്വകാര്യ സ്‌പേസ് കണ്ടെത്താൻ, നിങ്ങളുടെ ആപ്പുകളുടെ ലിസ്‌റ്റിലേക്ക് പോയി താഴേയ്ക്ക് സ്‌ക്രോൾ ചെയ്യുക"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"പൂർത്തിയായി"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"സ്വകാര്യ സ്പേസ് കണ്ടെത്താൻ താഴേക്ക് സ്ക്രോൾ ചെയ്യുക"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"സൈൻ ഇൻ ചെയ്യുക"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസിൽ ഉപയോഗിക്കാൻ ഒരു അക്കൗണ്ടിലേക്ക് സൈൻ ഇൻ ചെയ്യുക"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ഇപ്പോൾ വേണ്ട"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"തുടരുക"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"നിങ്ങളുടെ സ്വകാര്യ സ്പേസിന് ഒരു ലോക്ക് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ഉപയോഗിച്ച് സ്വകാര്യ സ്പേസ് അൺലോക്ക് ചെയ്യാനാകും. സുരക്ഷയ്ക്കായി, ഈ ഓപ്ഷന് ഒരു ബാക്കപ്പ് ലോക്ക് ആവശ്യമാണ്."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"സ്വകാര്യ സ്പേസിന് പിൻ സജ്ജീകരിക്കൂ"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"സ്വകാര്യ സ്പേസിന് പാസ്‍വേഡ് സജ്ജീകരിക്കൂ"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"സ്വകാര്യ സ്പേസിന് പാറ്റേൺ സജ്ജീകരിക്കൂ"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"നിങ്ങൾക്ക് <xliff:g id="COUNT">%d</xliff:g> ഫിംഗർപ്രിന്റുകൾ വരെ ചേർക്കാം"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"നിങ്ങൾ പരമാവധി എണ്ണം ഫിംഗർപ്രിന്റുകൾ ചേർത്തിട്ടുണ്ട്"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"കൂടുതൽ ഫിംഗർപ്രിന്റുകൾ ചേർക്കാൻ കഴിയില്ല"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"പാറ്റേൺ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"പിൻ"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"പാസ്‌വേഡ്"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"സ്‌ക്രീൻ ലോക്ക് ഇല്ലാതാക്കണോ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"എല്ലാത്തരത്തിലുമുള്ള ഉപകരണ അൺലോക്കുകളും നീക്കം ചെയ്യണോ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"പ്രൊഫൈൽ പരിരക്ഷ നീക്കംചെയ്യണോ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാറ്റേൺ അതിനെ പരിരക്ഷിക്കുന്നു.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>നിങ്ങളുടെ ഉപകരണത്തിൽ സംഭരിച്ച ഫിംഗർപ്രിന്റ് മോഡൽ ഇത് ഇല്ലാതാക്കും. നിങ്ങളുടെ മുഖ മോഡലും ശാശ്വതമായും സുരക്ഷിതമായും ഇല്ലാതാക്കും. ആപ്പുകളിലെ പരിശോധിച്ചുറപ്പിക്കലിന് നിങ്ങളുടെ മുഖമോ ഫിംഗർപ്രിന്റോ ഉപയോഗിക്കാനാകില്ല."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"പിൻ പോലുള്ള സംരക്ഷിച്ച ഡാറ്റ നിങ്ങൾക്ക് നഷ്‌ടമാകും.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>സമ്പർക്കരഹിതമായി പേ ചെയ്യാൻ സജ്ജീകരിച്ച കാർഡുകൾ നീക്കം ചെയ്യും.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ഉപകരണ അൺലോക്ക് ആവശ്യമായ വാലറ്റുകളും മറ്റ് ആപ്പുകളും ശരിയായി പ്രവർത്തിച്ചേക്കില്ല."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>നിങ്ങളുടെ ഉപകരണത്തിൽ സംഭരിച്ച ഫിംഗർപ്രിന്റ് മോഡലും ഇത് ഇല്ലാതാക്കും. ആപ്പുകളിലെ പരിശോധിച്ചുറപ്പിക്കലിന് നിങ്ങളുടെ ഫിംഗർപ്രിന്റ് ഉപയോഗിക്കാനാകില്ല."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"നിങ്ങളുടെ പിൻ, ഫിംഗർപ്രിന്റ് മോഡൽ എന്നിവ പോലുള്ള സംരക്ഷിച്ച ഡാറ്റ നിങ്ങൾക്ക് നഷ്‌ടമാകും.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>സമ്പർക്കരഹിതമായി പേ ചെയ്യാൻ സജ്ജീകരിച്ച കാർഡുകൾ നീക്കം ചെയ്യും.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ഉപകരണ അൺലോക്ക് ആവശ്യമായ വാലറ്റുകളും മറ്റ് ആപ്പുകളും ശരിയായി പ്രവർത്തിച്ചേക്കില്ല."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>നിങ്ങളുടെ മുഖ മോഡലും ശാശ്വതമായും സുരക്ഷിതമായും ഇല്ലാതാക്കും. ആപ്പുകളിലെ പരിശോധിച്ചുറപ്പിക്കലിന് നിങ്ങളുടെ മുഖം ഉപയോഗിക്കാനാകില്ല."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"നിങ്ങളുടെ പിൻ, മുഖ മോഡൽ എന്നിവ പോലുള്ള സംരക്ഷിച്ച ഡാറ്റ നഷ്‌ടമാകും.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>സമ്പർക്കരഹിതമായി പേ ചെയ്യാൻ സജ്ജീകരിച്ച കാർഡുകൾ നീക്കം ചെയ്യും.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ഉപകരണ അൺലോക്ക് ആവശ്യമായ വാലറ്റുകളും മറ്റ് ആപ്പുകളും ശരിയായി പ്രവർത്തിച്ചേക്കില്ല."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പിൻ അതിനെ പരിരക്ഷിക്കുന്നു.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>നിങ്ങളുടെ ഉപകരണത്തിൽ സംഭരിച്ച ഫിംഗർപ്രിന്റ് മോഡൽ ഇത് ഇല്ലാതാക്കും. നിങ്ങളുടെ മുഖ മോഡലും ശാശ്വതമായും സുരക്ഷിതമായും ഇല്ലാതാക്കും. ആപ്പുകളിലെ പരിശോധിച്ചുറപ്പിക്കലിന് നിങ്ങളുടെ മുഖമോ ഫിംഗർപ്രിന്റോ ഉപയോഗിക്കാനാകില്ല."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"നിങ്ങളുടെ പിൻ, മുഖം, ഫിംഗർപ്രിന്റ് മോഡലുകൾ എന്നിവ പോലുള്ള സംരക്ഷിച്ച ഡാറ്റ നഷ്‌ടമാകും.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>സമ്പർക്കരഹിതമായി പേ ചെയ്യാൻ സജ്ജീകരിച്ച കാർഡുകൾ നീക്കം ചെയ്യും.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ഉപകരണ അൺലോക്ക് ആവശ്യമായ വാലറ്റുകളും മറ്റ് ആപ്പുകളും ശരിയായി പ്രവർത്തിച്ചേക്കില്ല."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"നിങ്ങളുടെ ഫോൺ നഷ്‌ടപ്പെടുകയോ മോഷ്‌ടിക്കപ്പെടുകയോ ചെയ്‌താൽ പാസ്‌വേഡ് അതിനെ പരിരക്ഷിക്കുന്നു.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്നതുമായി ജോടിയാക്കണോ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"നിലവിലുള്ള കോർഡിനേറ്റഡ് സെറ്റിലേക്ക് പുതിയ അംഗത്തെ ചേർക്കുക"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"നിങ്ങളുടെ ഓഡിയോ ഉപകരണത്തിന്റെ രണ്ടാമത്തെ ഭാഗം ചേർക്കുന്നത് സ്ഥിരീകരിക്കുക"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth ജോടിയാക്കൽ കോഡ്"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"ജോഡിയാക്കൽ കോഡ് ടൈപ്പുചെയ്‌തിട്ട് മടങ്ങുക അല്ലെങ്കിൽ Enter അമർത്തുക"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"പിൻ നമ്പറിൽ അക്ഷരങ്ങളോ ചിഹ്നങ്ങളോ അടങ്ങിയിരിക്കുന്നു"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 അക്കങ്ങൾ ഉണ്ടായിരിക്കണം"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"മറ്റൊരു ഉപകരണത്തിൽ നിങ്ങൾക്ക് ഈ പിൻ ടൈപ്പുചെയ്യേണ്ടതായും വരാം."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"മറ്റൊരു ഉപകരണത്തിൽ നിങ്ങൾ ഈ പാസ്‌കീ നൽകേണ്ടതായും വരാം."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"കോർഡിനേറ്റഡ് സെറ്റുമായി ജോടിയാക്കാൻ സ്ഥിരീകരിക്കുക"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ഓഡിയോ ഉപകരണവുമായി ജോടിയാക്കാൻ സ്ഥിരീകരിക്കുക"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"കോൺടാക്‌റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്‌സസ് അനുവദിക്കുക"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"കോൺടാക്‌റ്റുകളിലേക്കും കോൾ ചരിത്രത്തിലേക്കും ആക്സസ് അനുവദിക്കുകയും ചെയ്യുക"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"വിവരങ്ങൾ, കോൾ അറിയിപ്പുകൾക്കും മറ്റും ഉപയോഗിക്കും"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> എന്നതിലേക്ക് കണക്റ്റുചെയ്യാനായില്ല."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ലഭ്യമായ ഉപകരണങ്ങൾ"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"കണക്റ്റ് ചെയ്യുക"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"വിച്ഛേദിക്കുക"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ജോടിയാക്കി കണ‌ക്‌റ്റുചെയ്യുക"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth ഓണായിരിക്കുമ്പോൾ, സമീപമുള്ള മറ്റു Bluetooth ഉപകരണങ്ങളുമായി നിങ്ങളുടെ ഉപകരണത്തിന് ആശയവിനിമയം നടത്താനാകും."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth ഓണാണെങ്കിൽ, സമീപമുള്ള മറ്റു Bluetooth ഉപകരണങ്ങളുമായി നിങ്ങളുടെ ഉപകരണത്തിന് ആശയവിനിമയം നടത്താം"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth ഓണാക്കിയിരിക്കുമ്പോൾ, സമീപമുള്ള മറ്റ് Bluetooth ഉപകരണങ്ങളുമായി ആശയവിനിമയം നടത്താൻ നിങ്ങളുടെ ഉപകരണത്തിന് കഴിയും.\n\nഉപകരണ അനുഭവം മെച്ചപ്പെടുത്താൻ, Bluetooth ഓഫാക്കിയിരിക്കുമ്പോൾ പോലും സമീപമുള്ള ഉപകരണങ്ങൾ കണ്ടെത്താൻ ആപ്പുകൾക്കും സേവനങ്ങൾക്കും ഏത് സമയത്തും സ്‌കാൻ ചെയ്യാനാകും. ഉദാഹരണത്തിന്, ലൊക്കേഷൻ അധിഷ്‌ഠിത ഫീച്ചറുകളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കാം. Bluetooth സ്കാനിംഗ് ക്രമീകരണത്തിൽ നിങ്ങൾക്ക് ഇത് മാറ്റാനാകും."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"മാറ്റുക"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ഉപകരണ വിശദാംശങ്ങൾ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ഡീബഗ്ഗ് ചെയ്യാവുന്ന ആപ്പുകൾക്കായി ബൈറ്റ്‌കോഡ് പരിശോധിക്കാൻ ART-യെ അനുവദിക്കുക"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"റീഫ്രഷ് റേറ്റ് കാണിക്കൂ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"നിലവിലെ ഡിസ്‌പ്ലേ റീഫ്രഷ് നിരക്ക് കാണിക്കൂ"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR അനുപാതം കാണിക്കുക"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"നിലവിലെ HDR/SDR അനുപാതം കാണിക്കുക"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-യ്ക്ക് ഉപകരണം അൺലോക്ക് ചെയ്യൽ നിർബന്ധമാക്കുക"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ബീം"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"വിമാന മോഡിലാണ്"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"പൊതു നെറ്റ്‌വർക്കിനെക്കുറിച്ച് അറിയിപ്പ് നൽകുക"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ഉയർന്ന നിലവാരമുള്ള പബ്ലിക് നെറ്റ്‌വർക്ക് ലഭ്യമാകുമ്പോൾ അറിയിക്കുക"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP നെറ്റ്‌വർക്കുകൾ അനുവദിക്കുക"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP എന്നത്, കുറവ് സുരക്ഷയുള്ള ഒരു പഴയ സുരക്ഷാ പ്രോട്ടോക്കോൾ ആണ്"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP നെറ്റ്‌വർക്കുകൾ സുരക്ഷിതമല്ലാത്തതിനാൽ നിങ്ങളുടെ സേവനദാതാവ് അവ അനുവദിക്കുന്നില്ല"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"വൈഫൈ സ്വയമേവ ഓണാക്കുക"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"നിങ്ങളുടെ വീട്ടിലെ നെറ്റ്‌വർക്ക് പോലെയുള്ള, സംരക്ഷിച്ചതും ഉയർന്ന നിലവാരമുള്ളതുമായ നെറ്റ്‍വർക്കുകൾക്ക് അരികിലായിരിക്കുമ്പോൾ വൈഫൈ തിരികെ സ്വയമേവ ഓണാകും"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ലൊക്കേഷൻ ഓഫായതുകൊണ്ടാണ് ലഭ്യമല്ലാത്തത്. "<annotation id="link">"ലൊക്കേഷൻ"</annotation>" ഓണാക്കുക."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"വൈഫൈ ഓഫ് ആണെങ്കിൽ പോലും ഏത് സമയത്തും ആപ്പുകളെയും സേവനങ്ങളെയും വൈഫൈ നെറ്റ്‌വർക്കുകൾ സ്‌കാൻ ചെയ്യാൻ വൈഫൈ സ്‌കാനിംഗ് അനുവദിക്കുന്നു. ഉദാഹരണമായി ലൊക്കേഷൻ അടിസ്ഥാനമാക്കിയുള്ള ഫീച്ചറുകളും സേവനങ്ങളും മെച്ചപ്പെടുത്താൻ ഇത് ഉപയോഗിക്കാം."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ഓണാക്കുക"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"വൈഫൈ സ്‍കാനിംഗ് ഓണാക്കി"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ഈ നെറ്റ്‌വർക്ക്, സുരക്ഷ കുറവുള്ള ഒരു പഴയ സുരക്ഷാ പ്രോട്ടോക്കോളാണ് ഉപയോഗിക്കുന്നത്"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ബ്ലോക്ക് ചെയ്‌തു"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ഈ നെറ്റ്‌വർക്ക്, സുരക്ഷ കുറവുള്ള WEP എന്ന പഴയ സുരക്ഷാ പ്രോട്ടോക്കോളാണ് ഉപയോഗിക്കുന്നത്. ഏതുവിധേനയും കണക്റ്റ് ചെയ്യാൻ, നിങ്ങൾക്ക് WEP നെറ്റ്‌വർക്കുകൾ അനുവദിക്കാം."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"സുരക്ഷിതമല്ലാത്ത പഴയ സുരക്ഷാ പ്രോട്ടോക്കോൾ ഉപയോഗിക്കുന്നതിനാൽ ഈ നെറ്റ്‌വർക്കിലേക്ക് കണക്റ്റ് ചെയ്യാൻ നിങ്ങളുടെ സേവനദാതാവ് നിങ്ങളെ അനുവദിക്കുന്നില്ല"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP അനുവദിക്കുക"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"അടയ്ക്കുക"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"വിപുലമായ ഓപ്ഷനുകൾ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ഡ്രോപ്പ് ഡൗൺ പട്ടികയുടെ വിപുലമായ ഓപ്‌ഷനുകൾ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"വികസിപ്പിക്കുക"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"വൈഫൈയിൽ തുടരുക"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ഒരിക്കലും വീണ്ടും കാണിക്കരുത്"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"കണക്റ്റ് ചെയ്യുക"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"വൈഫൈ ഓണാക്കി"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> എന്നതിലേക്ക് കണക്റ്റ് ചെയ്‌തു"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> എന്നതിലേക്ക് കണക്‌റ്റ് ചെയ്യുന്നു"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"കണക്റ്റ് ചെയ്യുന്നു…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"നെറ്റ്‌വർക്കിൽ കണക്റ്റുചെയ്യുന്നതിൽ പരാജയപ്പെട്ടു"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"നെറ്റ്‌വർക്ക് പരിധിയിലില്ല"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"മറക്കുക"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"പരിഷ്‌ക്കരിക്കുക"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"നെറ്റ്‌വർക്ക് നിരസിക്കുന്നതിൽ പരാജയപ്പെട്ടു"</string>
     <string name="wifi_save" msgid="2312643132472226807">"സംരക്ഷിക്കുക"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"നെറ്റ്‌വർക്ക് സംരക്ഷിക്കുന്നതിൽ പരാജയപ്പെട്ടു"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"റദ്ദാക്കുക"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"വൈഫൈ"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"മൊബൈൽ ഡാറ്റ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ഇതർനെറ്റ്"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ചാർജ് ചെയ്യുന്നു"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ചാർജ് ചെയ്യുന്നു"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ഹോട്ട്‌സ്‌പോട്ട് കണക്ഷൻ"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"കണക്ഷൻ ശക്തി"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"സംരക്ഷിച്ച നെറ്റ്‌വർക്ക്"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"പാസ്‍വേഡ് സജ്ജീകരിച്ചിട്ടില്ല"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ഹോട്ട്‌സ്‌പോട്ടിന്റെ പേര്"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ഹോട്ട്‌സ്‌പോട്ടിന്റെ പാസ്‌വേഡ്"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP ബാൻഡ്"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ഹോട്ട്‌സ്‌പോട്ട് സ്വയമേവ ഓഫാക്കുക"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ഒരു ഉപകരണവും കണക്റ്റ് ചെയ്യാതിരിക്കുമ്പോൾ"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"അനുയോജ്യത ദീർഘിപ്പിക്കുക"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"വൈറ്റ് ബാലന്‍സ് പ്രദര്‍ശിപ്പിക്കുക"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ഫോൾഡിൽ ആപ്പുകൾ ഉപയോഗിക്കുന്നത് തുടരുക"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"സ്‌മൂത്ത് ഡിസ്പ്ലേ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ചില ഉള്ളടക്കങ്ങളുടെ റീഫ്രഷ് തോത് 60-ൽ നിന്നും <xliff:g id="ID_1">%1$s</xliff:g> Hz-ലേക്ക് സ്വയമേവ ഉയർത്തുന്നു. ബാറ്ററി ഉപയോഗം വർദ്ധിപ്പിക്കുന്നു."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ഗെയിമിന്റെ ഡിഫോൾട്ട് ഫ്രെയിം എണ്ണം പ്രവർത്തനരഹിതമാക്കുക"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ഗെയിമുകൾക്കുള്ള പരമാവധി ഫ്രെയിം റേറ്റ് <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz ആയി പരിമിതപ്പെടുത്തുന്നത് പ്രവർത്തനരഹിതമാക്കുക."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"സ്‌മൂത്ത് ഡിസ്പ്ലേ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ചില ഉള്ളടക്കങ്ങളുടെ റീഫ്രഷ് തോത് <xliff:g id="ID_1">%1$d</xliff:g> Hz വരെ സ്വയമേവ ഉയർത്തുന്നു. ബാറ്ററി ഉപയോഗം വർദ്ധിപ്പിക്കുന്നു."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"പരമാവധി റീഫ്രഷ് നിരക്ക് നിർബന്ധിതമാക്കുക"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"മെച്ചപ്പെട്ട സ്‌പർശന പ്രതികരണശേഷി, ആനിമേഷൻ നിലവാരം എന്നിവയ്‌ക്കുള്ള ഉയർന്ന റീഫ്രഷ് നിരക്ക്. ബാറ്ററി ഉപയോഗം വർദ്ധിപ്പിക്കുന്നു."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"സ്ക്രീൻ ശ്രദ്ധ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"ആരെങ്കിലും സ്ക്രീനിൽ നോക്കുന്നുണ്ടോ എന്ന് കാണാൻ സ്‌ക്രീൻ ശ്രദ്ധ മുൻക്യാമറ ഉപയോഗിക്കുന്നു. ഇത് ഉപകരണത്തിലാണ് പ്രവർത്തിക്കുന്നത്, ചിത്രങ്ങൾ ഒരിക്കലും സംഭരിക്കുകയോ Google-ലേക്ക് അയയ്ക്കുകയോ ചെയ്യില്ല."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"സ്ക്രീൻ ശ്രദ്ധ ഓണാക്കുക"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"നിങ്ങൾ സ്ക്രീനിൽ നോക്കുമ്പോൾ അത് ഓണാക്കി നിലനിർത്തുക"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"സ്‌ക്രീൻ തെളിഞ്ഞിരിക്കുന്ന സമയപരിധി കൂടുന്നതനുസരിച്ച് കൂടുതൽ ബാറ്ററി ഉപയോഗിക്കും."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ക്യാമറ ലോക്ക് ആണ്"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"മുഖം തിരിച്ചറിയലിന് ക്യാമറ അൺലോക്ക് ചെയ്തിരിക്കണം"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"സ്ക്രീൻ ശ്രദ്ധയ്‌ക്ക് ക്യാമറ അൺലോക്ക് ചെയ്‌തിരിക്കണം"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (സിം സ്ലോട്ട് <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (സിം സ്ലോട്ട് <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (പ്രാഥമികം)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"കാണുന്നതിന്, സംരക്ഷിച്ച നെറ്റ്‌വർക്ക് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL പതിപ്പ്"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ബാറ്ററി നില"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"കമ്മ്യൂണൽ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"കമ്മ്യൂണൽ ക്രമീകരണങ്ങൾ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കൽ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-കൾ"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ആക്‌സസ് പോയിന്റ് എഡിറ്റ് ചെയ്യുക"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ആക്സസ് പോയിന്റ് ചേർക്കുക"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"സജ്ജീകരിച്ചിട്ടില്ല"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"സജ്ജീകരിച്ചിട്ടില്ല"</string>
     <string name="apn_name" msgid="6677695784108157953">"പേര്"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN പ്രവർത്തനക്ഷമമാക്കി"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="bearer" msgid="3231443241639159358">"ബെയറർ"</string>
+    <string name="network_type" msgid="748590707422733595">"നെറ്റ്‌വർക്ക് തരം"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"വ്യക്തമാക്കാത്തത്"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO തരം"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO മൂല്യം"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN ഇല്ലാതാക്കുക"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"സംരക്ഷിക്കുക"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"റദ്ദാക്കുക"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ഡ്യൂപ്ലിക്കേറ്റ് APN എൻട്രി."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"പേരിന്റെ ഫീൽഡ് ശൂന്യമായിരിക്കരുത്."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ശൂന്യമായിരിക്കരുത്."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ഫീൽഡിൽ 3 സംഖ്യകൾ ഉണ്ടായിരിക്കണം."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ഫീൽഡിൽ 2 അല്ലെങ്കിൽ 3 സംഖ്യകൾ ഉണ്ടായിരിക്കണം."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"%s തരത്തിലുള്ള APN-കൾ ചേർക്കുന്നത് കാരിയർ അനുവദിക്കുന്നില്ല."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ഫീൽഡ് സാധുത ഉള്ളതായിരിക്കണം."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"സ്ഥിര APN ക്രമീകരണങ്ങൾ പുനഃസ്ഥാപിക്കുന്നു"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ഡിഫോൾട്ടിലേക്ക് റീസെറ്റ് ചെയ്യൂ"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ഡിഫോൾട്ട് APN ക്രമീകരണം റീസെറ്റ് ചെയ്യൽ പൂർത്തിയായി."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"റീസെറ്റ് ചെയ്യുക"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth-ഉം വൈഫൈയും റീസെറ്റ് ചെയ്തു"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ഇ-സിമ്മുകൾ മായ്‌ക്കുക"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ഇത്, ഒരു മൊബെെൽ സേവന പ്ലാനുകളും റദ്ദാക്കില്ല. പകരം ഉപയോഗിക്കാനുള്ള സിമ്മുകൾ ഡൗൺലോഡ് ചെയ്യാൻ നിങ്ങളുടെ സേവനദാതാവിനെ ബന്ധപ്പെടുക."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ഇത് നിങ്ങളുടെ മൊബൈൽ സേവന പ്ലാൻ റദ്ദാക്കില്ല. പകരം മറ്റൊരു സിം നേടാൻ, നിങ്ങളുടെ സേവനദാതാവിനെ ബന്ധപ്പെടുക."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ക്രമീകരണം റീസെറ്റ് ചെയ്യുക"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"എല്ലാ നെറ്റ്‌വർക്കിംഗ് ക്രമീകരണവും പുനഃസജ്ജീകരിക്കണോ? നിങ്ങൾക്ക് ഈ പ്രവർത്തനം പഴയപടിയാക്കാനാവില്ല."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"എല്ലാ നെറ്റ്‌വർക്ക് ക്രമീകരണവും റീസെറ്റ് ചെയ്ത് ഇ-സിമ്മുകൾ മായ്ക്കണോ? ഈ പ്രവർത്തനം നിങ്ങൾക്ക് പഴയപടിയാക്കാനാകില്ല."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"റീസെറ്റ് ചെയ്യണോ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ഈ ഉപയോക്താവിന് നെറ്റ്‌വർക്ക് റീസെറ്റ് ലഭ്യമല്ല"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"നെറ്റ്‌വർക്ക് ക്രമീകരണം റീസെറ്റുചെയ്‌തു"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-കൾ മായ്ക്കാനാവില്ല"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ഒരു പിശക് കാരണം ഇ-സിമ്മുകൾ മായ്ക്കാനാകുന്നില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ഇ-സിമ്മുകൾ മായ്ക്കാനാകുന്നില്ല"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"എന്തോ കുഴപ്പമുണ്ടായതിനാൽ നിങ്ങളുടെ ഇ-സിമ്മുകൾ മായ്‌ച്ചിട്ടില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="main_clear_title" msgid="277664302144837723">"എല്ലാ ഡാറ്റയും മായ്‌ക്കുക (ഫാക്‌ടറി റീസെറ്റ്)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"എല്ലാ ഡാറ്റയും മായ്‌ക്കുക (ഫാക്‌ടറി റീസെറ്റ്)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"സംഗീതം"</li>\n<li>"ഫോട്ടോകൾ"</li>\n<li>"മറ്റ് ഉപയോക്തൃ ഡാറ്റ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-കൾ"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"നിങ്ങളുടെ മൊബൈൽ സർവീസ് പ്ലാൻ ഇത് റദ്ദാക്കില്ല."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"നിങ്ങളുടെ എല്ലാ വ്യക്തിപരമായ വിവരങ്ങളും ഡൗൺലോഡ് ചെയ്‌ത ആപ്പുകളും ഇല്ലാതാക്കപ്പെടും. ഈ പ്രവർത്തനം പഴയപടിയാക്കാനാകില്ല."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ഡൗൺലോഡ് ചെയ്‌ത ആപ്പുകളും SIM-കളും ഉൾപ്പെടെ നിങ്ങളുടെ എല്ലാ വ്യക്തിപരമായ വിവരങ്ങളും ഇല്ലാതാക്കപ്പെടും. ഈ പ്രവർത്തനം പഴയപടിയാക്കാനാകില്ല."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ഡൗൺലോഡ് ചെയ്‌ത ആപ്പുകളും ഇ-സിമ്മുകളും ഉൾപ്പെടെ, നിങ്ങളുടെ വ്യക്തിപരമായ എല്ലാ വിവരങ്ങളും ഇല്ലാതാക്കും. ഈ പ്രവർത്തനം നിങ്ങൾക്ക് പഴയപടിയാക്കാനാകില്ല."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"എല്ലാ ഡാറ്റയും മായ്‌ക്കണോ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ഈ ഉപയോക്താവിനായി ഫാക്‌ടറി റീസെറ്റ് ലഭ്യമല്ല"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"മായ്‌ക്കുന്നു"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ഹോട്ട്‌സ്‌പോട്ട്, USB, Bluetooth, ഇതർനെറ്റ്"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"മറ്റ് ഉപകരണങ്ങളുമായി ഇന്‍റർനെറ്റ് പങ്കിടുന്നില്ല"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ഓഫാണ്"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ടെതറിംഗ്"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"വൈഫൈ ഹോട്ട്‌സ്‌പോട്ട് ഉപയോഗിക്കരുത്"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB വഴി മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bluetooth വഴി മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ഇതർനെറ്റിലൂടെ മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB, Bluetooth എന്നിവ വഴി മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB, ഇതർനെറ്റ് എന്നിവയിലൂടെ മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Bluetooth, ഇതർനെറ്റ് എന്നിവയിലൂടെ മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, Bluetooth, ഇതർനെറ്റ് എന്നിവയിലൂടെ മാത്രം ഇന്റർനെറ്റ് പങ്കിടുക"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ടെതറിംഗ്"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth ടെതറിംഗ്"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ഇതർനെറ്റ് ടെതറിംഗ്"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"നിങ്ങളുടെ വൈഫൈ വഴിയോ മൊബൈൽ ഡാറ്റാ കണക്ഷൻ വഴിയോ മറ്റ് ഉപകരണങ്ങളിലേക്ക് ഇന്റർനെറ്റ് നൽകാൻ ഹോട്ട്‌സ്പോട്ടും ടെതറിംഗും ഉപയോഗിക്കുക. സമീപമുള്ള ഉപകരണങ്ങളുമായി ഉള്ളടക്കം പങ്കിടാൻ ആപ്പുകൾക്ക് ഹോട്ട്‌സ്പോട്ട് സൃഷ്‌ടിക്കാനുമാവും."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"സഹായം"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"മൊബൈൽ നെറ്റ്‌വർക്ക്"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"മൊബൈൽ പ്ലാൻ"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS ആപ്പ്"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS അപ്ലിക്കേഷൻ മാറ്റണോ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"നിങ്ങളുടെ SMS അപ്ലിക്കേഷനായി <xliff:g id="CURRENT_APP">%2$s</xliff:g> എന്നതിനുപകരം <xliff:g id="NEW_APP">%1$s</xliff:g> ഉപയോഗിക്കണോ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"വൈഫൈ അസിസ്‌റ്റന്റ് മാറ്റണോ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷനുകൾ നിയന്ത്രിക്കാൻ <xliff:g id="CURRENT_APP">%2$s</xliff:g> എന്നതിന് പകരം <xliff:g id="NEW_APP">%1$s</xliff:g> എന്നതാണോ ഉപയോഗിക്കുന്നത്?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"നിങ്ങളുടെ നെറ്റ്‌വർക്ക് കണക്ഷനുകൾ നിയന്ത്രിക്കാൻ <xliff:g id="NEW_APP">%s</xliff:g> ആണോ ഉപയോഗിക്കുന്നത്?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"അജ്ഞാത സിം ഓപ്പറേറ്റർ"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> എന്ന ഓപ്പറേറ്റർക്ക് അറിയപ്പെടുന്ന പ്രൊവിഷനിംഗ് വെബ്‌സൈറ്റ് ഒന്നുമില്ല"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"സിം കാർഡ് ചേർത്തതിനുശേഷം പുനരാരംഭിക്കുക"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"ഇന്റർനെറ്റിൽ കണക്റ്റുചെയ്യുക"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"പുതിയ ലൊക്കേഷൻ അഭ്യർത്ഥനകൾ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ഔദ്യോഗിക പ്രൊഫൈലിനായുള്ള ലൊക്കേഷൻ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ആപ്പ് ലൊക്കേഷൻ അനുമതികൾ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ആക്സസ് മായ്ക്കുക"</string>
     <string name="controls_label" msgid="8671492254263626383">"നിയന്ത്രണങ്ങൾ"</string>
     <string name="force_stop" msgid="2681771622136916280">"നിർബന്ധിതമായി നിർത്തുക"</string>
+    <string name="archive" msgid="9074663845068632127">"ആർക്കൈവ് ചെയ്യുക"</string>
+    <string name="restore" msgid="7622486640713967157">"പുനഃസ്ഥാപിക്കുക"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"പുനഃസ്ഥാപിക്കുന്നു"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"പുനഃസ്ഥാപിക്കുന്നു."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"പുനഃസ്ഥാപിക്കുന്നു.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"പുനഃസ്ഥാപിക്കുന്നു..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"മൊത്തം"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ആപ്പ് വലുപ്പം"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB സംഭരണ അപ്ലിക്കേഷൻ"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"പാക്കേജ് വലുപ്പം കണക്കാക്കാനായില്ല."</string>
     <string name="version_text" msgid="7628938665256107608">"പതിപ്പ് <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"നീക്കുക"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ആർക്കൈവ് ചെയ്യാനായില്ല"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ആർക്കൈവ് ചെയ്തു"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"പുനഃസ്ഥാപിക്കാനായില്ല"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> പുനഃസ്ഥാപിക്കുന്നു"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"മറ്റൊരു മൈഗ്രേഷൻ ഇതിനകം തന്നെ പുരോഗതിയിലാണ്."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ആവശ്യമായ സംഭരണ ഇടമില്ല."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"അപ്ലിക്കേഷൻ നിലവിലില്ല."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ഓൺ-സ്‌ക്രീൻ കീബോർഡ് ലഭ്യമാണ്"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ഓൺ-സ്‌ക്രീൻ കീബോർഡ് മാനേജ് ചെയ്യുക"</string>
     <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="6922850403920596246">"ഫിസിക്കൽ കീബോർഡ് ആക്‌സസ് ചെയ്യാൻ, ബൗൺസ് കീകൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"സ്ലോ കീകൾ"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ഫിസിക്കൽ കീബോർഡ് ആക്‌സസ് ചെയ്യാൻ, സ്ലോ കീകൾ പ്രവർത്തനക്ഷമമാക്കുക"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"സ്‌റ്റിക്കി കീകൾ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ഫിസിക്കൽ കീബോർഡ് ആക്‌സസ് ചെയ്യാൻ, സ്‌റ്റിക്കി കീകൾ പ്രവർത്തനക്ഷമമാക്കുക"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"കൂടുതൽ ഓപ്‌ഷനുകൾക്ക് ടച്ച്പാഡിന് താഴെ വലതുമൂല ടാപ്പ് ചെയ്യൂ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"പോയിന്റർ വേഗത"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ടച്ച്പാഡ് ജെസ്ച്ചറുകൾ മനസ്സിലാക്കുക"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ഹോമിലേക്ക് പോകുക"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ടച്ച്‌പാഡിൽ മൂന്ന് വിരൽ കൊണ്ട് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"മടങ്ങുക"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ഉപയോഗിച്ച സമയ പ്രകാരം അടുക്കുക"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"അവസാനം ഉപയോഗിച്ച സമയം പ്രകാരം അടുക്കൂ"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ആപ്പിന്റെ പേര് പ്രകാരം അടുക്കൂ"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"അവസാനം ഉപയോഗിച്ചത്"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"അവസാനമായി ഉപയോഗിച്ചത്"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ഉപയോഗിച്ചിട്ടേയില്ല"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ഉപയോഗ സമയം"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ഉപയോഗസഹായി"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ഉപയോഗസഹായി ക്രമീകരണങ്ങൾ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"3 തവണ ടാപ്പ് ചെയ്‌ത് മാഗ്നിഫൈചെയ്യൂ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"കുറുക്കുവഴിയിലൂടെ മാഗ്നിഫൈ ചെയ്യൂ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"കുറുക്കുവഴി, മൂന്ന് തവണ ടാപ്പ് എന്നിവയിലൂടെ മാഗ്നിഫൈ ചെയ്യൂ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> എന്നതിനെ കുറിച്ച്"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"തുറക്കാൻ ഉപയോഗസഹായി ബട്ടൺ ഉപയോഗിക്കുക"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"തുറക്കുന്നതിന് വോളിയം കീകൾ അമർത്തിപ്പിടിക്കുക"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"തുറക്കുന്നതിന് സ്ക്രീൻ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"തുറക്കാൻ രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"തുറക്കാൻ വിരൽചലനം ഉപയോഗിക്കുക"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ഉപയോഗസഹായി ജെസ്ച്ചർ ഉപയോഗിക്കുക"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ സ്ക്രീനിന്റെ ചുവടെയുള്ള ഉപയോഗസഹായി ബട്ടൺ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ടാപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, ഉപയോഗസഹായി ബട്ടൺ സ്‌പർശിച്ച് പിടിക്കുക."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, നിങ്ങളുടെ സ്ക്രീനിലുള്ള ഉപയോഗസഹായി ബട്ടൺ ടാപ്പുചെയ്യുക."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, രണ്ട് വോളിയം കീകളും അമർത്തിപ്പിടിക്കുക."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാനും നിർത്താനും സ്ക്രീനിൽ എവിടെയെങ്കിലും മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"മാഗ്നിഫിക്കേഷൻ ആരംഭിക്കാനും നിർത്താനും, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ, സ്ക്രീനിന്റെ ചുവടെ നിന്ന് രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ഈ ഫീച്ചർ ഉപയോഗിക്കാൻ,സ്ക്രീനിന്റെ ചുവടെ നിന്ന് മൂന്ന് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ഉപയോഗസഹായി ഫീച്ചർ ഉപയോഗിക്കാൻ, സ്ക്രീനിന്റെ ചുവടെ നിന്ന് രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ഉപയോഗസഹായി ഫീച്ചർ ഉപയോഗിക്കാൻ, സ്ക്രീനിന്റെ ചുവടെ നിന്ന് മൂന്ന് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക.\n\nഫീച്ചറുകൾക്കിടയിൽ മാറാൻ, മൂന്ന് വിരലുകൾ ഉപയോഗിച്ച് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്‌ത് പിടിക്കുക."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"മനസിലായി"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ഉപയോഗസഹായി ബട്ടൺ ക്രമീകരണം"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ബട്ടൺ ക്രമീകരണം"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> കുറുക്കുവഴി"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ഉപയോഗസഹായി ബട്ടൺ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ഉപയോഗസഹായി ജെസ്ച്ചർ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"വോളിയം കീകൾ അമർത്തിപ്പിടിക്കുക"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"വോളിയം കീകൾ പിടിക്കുക"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"രണ്ട് വോളിയം കീകളും അമർത്തിപ്പിടിക്കുക"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"രണ്ട് വിരലുകൾ ഉപയോഗിച്ച് സ്‌ക്രീനിൽ ഡബിൾ ടാപ്പ് ചെയ്യുക"</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="6863958573135995927">"സ്ക്രീനിൽ മൂന്ന് തവണ ടാപ്പ് ചെയ്യുക"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"സ്ക്രീനിൽ {0,number,integer} തവണ വേഗത്തിൽ ടാപ്പ് ചെയ്യുക. ഈ കുറുക്കുവഴി നിങ്ങളുടെ ഉപകരണത്തിന്റെ വേഗത കുറച്ചേക്കാം"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ഉപയോഗസഹായി ബട്ടൺ, ജെസ്ച്ചർ എന്നിവയെ കുറിച്ച് കൂടുതലറിയുക"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ഉപയോഗസഹായി ബട്ടൺ ഉപയോഗിക്കുന്നു. 3-ബട്ടൺ നാവിഗേഷനൊപ്പം ഈ ജെസ്ച്ചർ ലഭ്യമല്ല."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ഉപയോഗസഹായി ഫീച്ചറുകൾ അതിവേഗം ആക്‌സസ് ചെയ്യുക"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ആരംഭിക്കുന്നതിന്"</b>\n"1. ഉപയോഗസഹായി ക്രമീകരണത്തിലേക്ക് പോകുക\n2. ഫീച്ചർ തിരഞ്ഞെടുത്ത് കുറുക്കുവഴിയിൽ ടാപ്പ് ചെയ്യുക\n3. ഫീച്ചർ ആക്‌സസ് ചെയ്യാൻ ഒരു ബട്ടൺ ഉപയോഗിക്കണോ ജെസ്ച്ചർ ഉപയോഗിക്കണോ എന്ന് തിരഞ്ഞെടുക്കുക"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ആരംഭിക്കുന്നതിന്"</b>\n"1. ഉപയോഗസഹായി ക്രമീകരണത്തിലേക്ക് പോകുക\n2. ഫീച്ചർ തിരഞ്ഞെടുത്ത് കുറുക്കുവഴിയിൽ ടാപ്പ് ചെയ്യുക\n3. ഫീച്ചർ ആക്‌സസ് ചെയ്യാനുള്ള ബട്ടൺ തിരഞ്ഞെടുക്കുക"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ബട്ടണോ ജെസ്ച്ചറോ ഉപയോഗിക്കുക"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ലൊക്കേഷൻ"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"വലുപ്പം"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"പവർബട്ടൺ കോൾ നിർത്തുന്നു"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"വലിയ മൗസ് പോയിന്റർ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"മൗസ് പോയിന്റർ വ്യക്തമായി കാണുന്നതാക്കുക"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"എല്ലാ ആപ്പുകളും ഡാർക്ക് ആക്കുക"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ഡാർക്ക് തീമില്ലാത്ത ആപ്പിൽ പ്രയോഗിക്കും. ചില ആപ്പിൽ നെഗറ്റീവ് ലുക്ക് പോലെ ഡിസ്പ്ലേ പ്രശ്നമുണ്ടാകാം."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ആനിമേഷനുകൾ നീക്കം ചെയ്യുക"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"സ്‌ക്രീനിലെ ചലനം കുറയ്‌ക്കുക"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"മോണോ ഓഡിയോ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"വെെബ്രേഷനും ഹാപ്റ്റിക്സും ഉപയോഗിക്കുക"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"അലാറം വെെബ്രേഷൻ"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"മീഡിയ വൈബ്രേഷൻ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"കീബോർഡ് വൈബ്രേഷൻ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"റിംഗ് വൈബ്രേഷൻ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"അറിയിപ്പ് വൈബ്രേഷൻ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"സ്‌പർശന ഫീഡ്ബാക്ക്"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"നിർത്തുക"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"റദ്ദാക്കൂ"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> നിർത്തണോ?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ടാപ്പ് ചെയ്യുന്നത് <xliff:g id="SERVICE">%2$s</xliff:g> എന്നതിനെ നിർത്തും."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ഓഫാക്കുക"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ഓണാക്കിയിടൂ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ഓഫാക്കണോ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"സേവനങ്ങളൊന്നും ഇൻസ്റ്റാളുചെയ്‌തിട്ടില്ല"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ഒരു സേവനവും തിരഞ്ഞെടുത്തിട്ടില്ല"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"വിവരണമൊന്നും നൽകിയിട്ടില്ല."</string>
     <string name="settings_button" msgid="2195468788019730377">"ക്രമീകരണം"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"പ്രകാശ സെൻസിറ്റിവിറ്റി, ഫോട്ടോഫോബിയ, ഡാർക്ക് തീം, ചെന്നിക്കുത്ത്, തലവേദന, വായനാ മോഡ്, നൈറ്റ് മോഡ്, തെളിച്ചം കുറയ്‌ക്കുക, വൈറ്റ് പോയിന്റ്"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ലളിതമായ ഉപയോഗം, എളുപ്പത്തിലുള്ള ആക്‌സസ്, സഹായം, സഹായകരം"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"കാഴ്‌ച, കേൾവി, കാഴ്‌ചാ വൈകല്യം, കേൾവിക്കുറവ്, ചലനശേഷി, കഴിവ്, സഹായകരമായത്, സഹായം, ഉപയോഗിക്കാനുള്ള എളുപ്പം, ആക്‌സസ് ചെയ്യാനുള്ള എളുപ്പം, കൈ, സഹായം"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"വിൻഡോ മാഗ്നിഫയർ, സൂം, മാഗ്നിഫിക്കേഷൻ, കുറഞ്ഞ കാഴ്ച, വലുതാക്കുക, വലുപ്പം കൂട്ടുക"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"അടിക്കുറിപ്പുകൾ, സബ്‌ടൈറ്റിലുകൾ, CC, Live Transcribe, കേൾവിക്ക് പ്രശ്നം, കേൾവിക്കുറവ്, CART, സ്‌പീച്ച് ടു ടെക്‌സ്റ്റ്, സബ്‌ടൈറ്റിൽ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"കളർ കോൺട്രാസ്റ്റ്"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ചലനക്ഷമത, മൗസ്"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ശ്രവണ സഹായികൾ, കേൾവിക്കുറവ്, കേൾവി നഷ്‌ടമാകൽ, കോക്ലിയർ ഇംപ്ലാന്റുകൾ, ആംപ്ലിഫിക്കേഷൻ ഉപകരണങ്ങൾ, സൗണ്ട് പ്രോസസറുകൾ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ചലനശേഷി, മൗസ്, എക്‌സ്‌റ്റേണൽ മൗസ്, ഹെഡ് മൗസ്, അഡാപ്‌റ്റീവ് മൗസ്, വീൽചെയർ, ജോയ്‌സ്റ്റിക്ക്"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ശ്രവണ സഹായികൾ, കേൾവിക്ക് തകരാർ, കേൾവി നഷ്‌ടമാകൽ, കോക്ലിയർ ഇംപ്ലാന്റുകൾ, ആംപ്ലിഫിക്കേഷൻ ഉപകരണങ്ങൾ, ശബ്‌ദ പ്രോസസറുകൾ, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"കേൾവിക്ക് തകരാർ, കേൾവിക്കുറവ്, അടിക്കുറിപ്പുകൾ ടെലിടൈപ്പ്, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"മൂന്ന് ബട്ടണുകൾ"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"കഴിവ്, ചലനശേഷി, മുതിർന്നവർ, സന്ധിവാതം, rsi, പക്ഷാഘാതം, തുടിപ്പ്, മൾട്ടിപ്പിൾ സ്‌ക്ലീറോസിസ്, സെറിബ്രൽ പാൾസി, വിറയൽ, ആവർത്തിച്ചുള്ള സ്‌ട്രെയിൻ പരുക്ക്, കൈ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"കാലതാമസം, കഴിവ്, മുതിർന്നവർ"</string>
     <string name="print_settings" msgid="8519810615863882491">"പ്രിന്റിംഗ്"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ഓഫ്"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{ഒരു പ്രിന്റ് സേവനം ഓണാണ്}other{# പ്രിന്റ് സേവനങ്ങൾ ഓണാണ്}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ശേഷിക്കുന്നു"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"ചാർജ്ജാകാനുള്ള സമയം <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"സ്ക്രീൻ സമയം"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"പശ്ചാത്തല സമയം"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ബാറ്ററി ചാർജ് കുറവാണ്"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"പശ്ചാത്തലത്തിൽ റൺ ചെയ്യുന്നതിന് ആപ്പിനെ അനുവദിക്കുക"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"പശ്ചാത്തല പ്രവർത്തനം പരിമിതപ്പെടുത്തണോ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"നിങ്ങൾ ഒരു ആപ്പിനായി പശ്ചാത്തല പ്രവർത്തനം പരിമിതപ്പെടുത്തുകയാണെങ്കിൽ, അത് ശരിയായി പ്രവർത്തിക്കാനിടയില്ല."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ബാറ്ററി ഓപ്‌റ്റിമൈസ് ചെയ്യാൻ ഈ ആപ്പ് സജ്ജീകരിക്കാത്തതിനാൽ, നിങ്ങൾക്ക് ഇത് നിയന്ത്രിക്കാനാവില്ല.\n\nആപ്പ് നിയന്ത്രിക്കാൻ, ആദ്യം ബാറ്ററി ഓപ്‌റ്റിമൈസേഷൻ ഓണാക്കുക."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ബാറ്ററി ഉപയോഗം മാനേജ് ചെയ്യുക"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"പശ്ചാത്തലത്തിലെ ഉപയോഗം അനുവദിക്കുക"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"തത്സമയ അപ്‌ഡേറ്റുകൾക്കായി പ്രവർത്തനക്ഷമമാക്കുക, ബാറ്ററി സംരക്ഷിക്കാൻ പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"നിയന്ത്രണമില്ലാത്തത്"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ഒപ്റ്റിമൈസ് ചെയ്തത്"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"നിയന്ത്രിതം"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ഉയർന്ന ഉപയോഗമുള്ള ആപ്പുകൾ കാണുക"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"നിങ്ങളുടെ ബാറ്ററി പരിരക്ഷിക്കാൻ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്തു"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"നിങ്ങളുടെ ബാറ്ററിയുടെ ആയുസ്സ് വർദ്ധിപ്പിക്കാൻ സഹായിക്കുന്നതിന്, ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്യുന്നു"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"നിങ്ങളുടെ ബാറ്ററി പരിരക്ഷിക്കാൻ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്തു"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"നിങ്ങളുടെ ബാറ്ററിയുടെ ആയുസ്സ് വർദ്ധിപ്പിക്കാൻ സഹായിക്കുന്നതിന്, ഡോക്ക് ചെയ്യുമ്പോൾ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്യുന്നു"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"നിങ്ങളുടെ ബാറ്ററി പരിരക്ഷിക്കാൻ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്തു"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"നിങ്ങളുടെ ബാറ്ററിയുടെ ആയുസ്സ് വർദ്ധിപ്പിക്കാൻ സഹായിക്കുന്നതിന്, ഡോക്ക് ചെയ്യുമ്പോൾ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്യുന്നു"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"പൂർണ്ണമായും ചാർജ് ചെയ്യുന്നു"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"നിങ്ങളുടെ ബാറ്ററി പരിരക്ഷിക്കാൻ, അടുത്ത തവണ ടാബ്‌ലെറ്റ് ഡോക്ക് ചെയ്യുമ്പോൾ ചാർജിംഗ് ഒപ്റ്റിമൈസ് ചെയ്യും"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ചാർജിംഗ് താൽക്കാലികമായി നിർത്തിയതിനെ കുറിച്ച് കൂടുതലറിയുക"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ചാർജിംഗ് പുനനരാരംഭിക്കുക"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ഉയർന്ന പവർ പശ്ചാത്തല ആക്‌റ്റിവിറ്റി ഉൾപ്പെടെ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ഈ ആപ്പിന് പശ്ചാത്തലത്തിൽ ബാറ്ററി ഉപയോഗിക്കാനാവും. പ്രതീക്ഷിച്ചതിനെക്കാൾ വേഗത്തിൽ ബാറ്ററി ചാർജ് തീർന്നേക്കാം."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"നീക്കം ചെയ്യുക"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"റദ്ദാക്കുക"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"പൂർണ്ണമായി ചാർജ് ചെയ്യുക"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ചാർജിംഗ് ആക്സസറിയുമായി ബന്ധപ്പെട്ട പ്രശ്നം"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ചാർജിംഗ് ആക്സസറി പരിശോധിക്കുക"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"അനുയോജ്യമല്ലാത്ത ചാർജിംഗിനെ കുറിച്ച് കൂടുതലറിയുക"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ബാറ്ററി മാനേജർ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ആപ്പുകൾ സ്വയമേവ മാനേജ് ചെയ്യുക"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"പൂർണ്ണമായും ചാർജ് ആയതുമുതൽ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"സിസ്‌റ്റം ആപ്പുകൾ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"അൺഇൻസ്റ്റാൾ ചെയ്‌ത ആപ്പുകൾ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"മറ്റുള്ളവ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"അവശേഷിക്കുന്ന ഏകദേശ സമയം"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"പൂർണ്ണമായി ചാർജ്ജുചെയ്യുന്നത് വരെ"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"ആകെ: ഒരു മിനിറ്റിൽ താഴെ"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"പശ്ചാത്തലം: ഒരു മിനിറ്റിൽ താഴെ"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"സ്ക്രീൻ സമയം: ഒരു മിനിറ്റിൽ താഴെ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ഒരു മിനിറ്റിൽ താഴെ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"ആകെ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"പശ്ചാത്തലം: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"സ്ക്രീൻ സമയം: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ഇപ്പോൾ"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ബാറ്ററി ഉപയോഗത്തിന്റെ ചാർട്ട്"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ബാറ്ററിയുടെ ദിവസേനയുള്ള ഉപയോഗത്തിന്റെ ചാർട്ട്"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ബാറ്ററിയുടെ ഓരോ മണിക്കൂറിലുമുള്ള ഉപയോഗത്തിന്റെ ചാർട്ട്"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> മുതൽ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> വരെയുള്ള ബാറ്ററി ലെവൽ ശതമാനം"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"അവസാനമായി മുഴുവൻ ചാർജ് ചെയ്ത ശേഷമുള്ള ബാറ്ററി ഉപയോഗം"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> വരെയുള്ള ബാറ്ററി ഉപയോഗം"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"അവസാനം പൂർണ്ണമായി ചാർജ് ചെയ്തതിന് ശേഷമുള്ള സ്‌ക്രീൻ സമയം"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"അടിയന്തര ഡയലിംഗ് സിഗ്നൽ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ഒരു അടിയന്തര കോൾ ലഭിക്കുന്ന സമയത്തെ പ്രവർത്തരീതി സജ്ജീകരിക്കുക"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ബാക്കപ്പ്"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ഓണാണ്"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ഓഫാണ്"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ബാക്കപ്പുചെയ്യലും പുനഃസ്ഥാപിക്കലും"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"വ്യക്തിഗത ഡാറ്റ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ഡാറ്റ ബാക്കപ്പുചെയ്യൂ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"മൊബൈൽ ഡാറ്റ, വൈഫൈ"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"വ്യക്തിപരമായ ഡാറ്റ സ്വയമേവ സമന്വയിപ്പിക്കുക"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ഔദ്യോഗിക ഡാറ്റ സ്വയമേവ സമന്വയിപ്പിക്കുക"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"സ്വകാര്യ ഡാറ്റ സമന്വയിപ്പിക്കൂ"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"സൈക്കിൾ മാറ്റുക..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ഡാറ്റ ഉപയോഗ സൈക്കിൾ പുനഃസജ്ജീകരിക്കുന്നതിനുള്ള മാസത്തിലെ ദിവസം:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ഇക്കാലയളവിൽ ഒരു ആപ്പും ഡാറ്റ ഉപയോഗിച്ചിട്ടില്ല."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"പേര്"</string>
     <string name="vpn_type" msgid="5533202873260826663">"തരം"</string>
     <string name="vpn_server" msgid="2908816134941973935">"സെർവർ വിലാസം"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP എൻക്രിപ്‌ഷൻ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP രഹസ്യം"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ഐഡന്റിഫയർ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec മുമ്പ് പങ്കിട്ട കീ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ഉപയോക്തൃ സർട്ടിഫിക്കറ്റ്"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA സർട്ടിഫിക്കറ്റ്"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec സെർവർ സർട്ടിഫിക്കറ്റ്"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"വിപുലമായ ഓപ്ഷനുകൾ കാണിക്കുക"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS തിരയൽ ഡൊമയ്നുകൾ"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS സെർവറുകൾ (ഉദാ. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"റൂട്ടുകൾ കൈമാറൽ (ഉദാ. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ഉപയോക്താവിന്റെ പേര്"</string>
     <string name="vpn_password" msgid="1183746907642628127">"പാസ്‌വേഡ്"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"അക്കൗണ്ട് വിവരം സംരക്ഷിക്കുക"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ഉപയോഗിച്ചിട്ടില്ല)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(സെർവർ പരിശോധിക്കേണ്ട)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(സെർവറിൽ നിന്നും ലഭിച്ചത്)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ഈ VPN തരത്തിന് എപ്പോഴും കണക്റ്റ് ചെയ്തതായിരിക്കാനാവില്ല"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"\'എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN\' സംഖ്യാ സെർവർ വിലാസങ്ങൾക്ക് മാത്രമേ അനുയോജ്യമാകൂ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"\'എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN\'-നായി ഒരു DNS സെർവർ നൽകിയിരിക്കണം"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"\'എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN\'-നായുള്ള DNS സെർവർ വിലാസങ്ങൾ സംഖ്യകളാലുള്ളതായിരിക്കണം"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"നൽകിയിരിക്കുന്ന വിവരങ്ങൾ \'എല്ലായ്‌പ്പോഴും ഓണായിരിക്കുന്ന VPN\'-ന് അനുയോജ്യമല്ല"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"റദ്ദാക്കുക"</string>
     <string name="vpn_done" msgid="5137858784289564985">"നിരസിക്കുക"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN ഇല്ലാത്ത കണക്ഷനുകൾ ബ്ലോക്കുചെയ്യുക"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN കണക്ഷൻ ആവശ്യമാണോ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"സുരക്ഷിതമല്ല. ഒരു IKEv2 VPN-ലേക്ക് അപ്ഡേറ്റ് ചെയ്യുക"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"പിന്തുണയില്ലാത്ത VPN ആരംഭിക്കാനായില്ല."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"എല്ലായ്‌പ്പോഴും കണക്റ്റുചെയ്‌തതായി തുടരുന്ന ഒരു VPN പ്രൊഫൈൽ തിരഞ്ഞെടുക്കുക. ഈ VPN-ലേക്ക് കണക്റ്റുചെയ്‌തിരിക്കുമ്പോൾ മാത്രമേ നെറ്റ്‌വർക്ക് ട്രാഫിക്ക് അനുവദിക്കുകയുള്ളൂ."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ഒന്നുമില്ല"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"എല്ലായ്പ്പോഴും ഓണായിരിക്കുന്ന VPN-ന് രണ്ട് സെർവറുകൾക്കും DNS-നുമായി ഒരു IP വിലാസം ആവശ്യമാണ്."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER അലേർട്ടുകൾ"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"കുട്ടികളെ അപഹരിക്കുന്നതിനെ സംബന്ധിച്ച ബുള്ളറ്റിനുകൾ നേടുക"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ആവർത്തിക്കുക"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"കോൾ മാനേജർ പ്രവർത്തനക്ഷമമാക്കുക"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"നിങ്ങളുടെ കോളുകൾ നടത്തുന്നതെങ്ങനെ എന്നത് നിയന്ത്രിക്കാൻ ഈ സേവനത്തെ അനുവദിക്കുക."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"കോൾ മാനേജർ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"വയർലെസ് അടിയന്തര മുന്നറിയിപ്പുകൾ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"നെറ്റ്‌വർക്ക് ഓപ്പറേറ്റർമാർ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ആക്‌സസ്സ് പോയിന്റ് പേരുകൾ"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"സിം നില"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"സിം നില (സിം സ്ലോട്ട് %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"സിമ്മുകൾ മാറ്റി."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"നിങ്ങളുടെ സിമ്മുകൾ മാറ്റി"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"സജ്ജമാക്കാൻ ടാപ്പുചെയ്യുക"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"എപ്പോഴും ചോദിക്കുക"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"തിരഞ്ഞെടുക്കൽ ആവശ്യമാണ്"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"സമീപകാല ആപ്പുകൾ, ഡിഫോൾട്ട് ആപ്പുകൾ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ഔദ്യോഗിക പ്രൊഫൈലിലെ ആപ്പുകൾക്ക് അറിയിപ്പിലേക്കുള്ള ആക്‌സസ് ലഭ്യമല്ല."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"പാസ്‌വേഡുകളും അക്കൗണ്ടുകളും"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"സംരക്ഷിച്ച പാസ്‌വേഡുകൾ, സ്വയമേവ പൂരിപ്പിക്കൽ, സമന്വയിപ്പിച്ച അക്കൗണ്ടുകൾ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"സൈൻ ഇൻ ചെയ്യലിനും സ്വയമേവ പൂരിപ്പിക്കലിനുമുള്ള നിർദ്ദേശങ്ങൾ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ഡിഫോൾട്ട് ആപ്പുകൾ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ക്ലോൺ ചെയ്ത ആപ്പുകൾ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ഒരേ സമയം രണ്ട് അക്കൗണ്ടുകൾ ഉപയോഗിക്കുന്നതിനായി ആപ്പിന്റെ ഒരു ക്ലോൺ പതിപ്പ് സൃഷ്ടിക്കുക."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"പണമടയ്ക്കുക. ടാപ്പുചെയ്യുക, പേയ്‌മെന്റുകൾ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ബാക്കപ്പ് ചെയ്യൂ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"വിരൽചലനം"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ഫേസ്, അൺലോക്ക് ചെയ്യുക, പരിശോധിച്ചുറപ്പിക്കുക, സൈൻ ഇൻ ചെയ്യുക"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ഫെയ്‌സ്, അൺലോക്ക്, പരിശോധിച്ചുറപ്പിക്കൽ, സൈൻ ഇൻ, ഫിംഗർപ്രിന്റ്, ബയോമെട്രിക്"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl പതിപ്പ്, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ടെക്‌സ്റ്റ് വലുപ്പം, വലിയ പ്രിന്റ്, വലിയ ഫോണ്ട്, വലിയ ടെക്‌സ്റ്റ്, കുറഞ്ഞ കാഴ്ച, ടെക്‌സ്റ്റ് കൂടുതൽ വലുതാക്കുക, ഫോണ്ട് വലുതാക്കൽ, ഫോണ്ടിന്റെ വലുപ്പം കൂട്ടൽ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"എപ്പോഴും ഓണായിരിക്കുന്ന ആമ്പിയന്റ് ഡിസ്പ്ലേ, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ടാഗ്, റീഡർ"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"കീബോർഡ്, ഹാപ്റ്റിക്‌സ്, വൈബ്രേറ്റ് ചെയ്യൽ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ശബ്ദം, വൈബ്രേഷൻ, ശല്യപ്പെടുത്തരുത്"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"മീഡിയാ വോളിയം"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"വോളിയം കാസ്‌റ്റ് ചെയ്യുക"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ശബ്ദങ്ങൾ ഓണാക്കുക"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"തത്സമയ ക്യാപ്‌ഷനുകൾ"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"മീഡിയയ്ക്ക് സ്വയമേവ അടിക്കുറിപ്പ് നൽകുക"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ഫോൺ സ്‌പീക്കറുകൾ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ടാബ്‌ലെറ്റ് സ്‌പീക്കറുകൾ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ഉപകരണ സ്‌പീക്കറുകൾ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"വയേർഡ് ഹെഡ്ഫോണുകൾ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"അനുയോജ്യമായ മീഡിയയിൽ നിന്നുള്ള ഓഡിയോ കൂടുതൽ മുഴുകിപ്പിക്കുന്നതാക്കുന്നു"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ഓഫാണ്"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"എല്ലാ അറിയിപ്പുകളും ഉള്ളടക്കം സഹിതം കാണിക്കുക"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"അൺലോക്കായാൽ മാത്രം സെൻസിറ്റീവ് ഉള്ളടക്കം കാണിക്കുക"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ഒരു അറിയിപ്പും കാണിക്കരുത്"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ലോക്ക് സ്ക്രീൻ എങ്ങനെ പ്രദർശിപ്പിക്കാനാണ് നിങ്ങൾ താൽപ്പര്യപ്പെടുന്നത്?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"നിങ്ങളുടെ ലോക്ക് സ്ക്രീനിൽ എന്താണ് കാണിക്കേണ്ടത്?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ലോക്ക് സ്‌ക്രീൻ"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"എല്ലാ ഔദ്യോഗിക അറിയിപ്പ് ഉള്ളടക്കങ്ങളും കാണിക്കുക"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"രഹസ്യാത്മകമായ ഔദ്യോഗിക ഉള്ളടക്കം അദൃശ്യമാക്കുക"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"അടുത്തകാലത്തെ സംഭാഷണങ്ങൾ നീക്കം ചെയ്തു"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"സംഭാഷണം നീക്കംചെയ്‌തു."</string>
     <string name="clear" msgid="5092178335409471100">"മായ്ക്കുക"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> എന്നത് മായ്‌ക്കുക"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"മുൻഗണനയുള്ളതും പരിഷ്‌കരിച്ചതുമായ സംഭാഷണങ്ങൾ ഇവിടെ ദൃശ്യമാവും"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"സംഭാഷണം മുൻഗണനയുള്ളതായി അടയാളപ്പെടുത്തിയാലോ സംഭാഷണങ്ങളിൽ മറ്റെന്തെങ്കിലും മാറ്റങ്ങൾ വരുത്തിയാലോ അവ ഇവിടെ ദൃശ്യമാവും. \n\nസംഭാഷണ ക്രമീകരണം മാറ്റാൻ: \nപുൾ-ഡൗൺ ഷെയ്‌ഡ് തുറക്കുന്നതിന് സ്ക്രീനിന്റെ മുകളിൽ നിന്ന് താഴേക്ക് സ്വൈപ്പ് ചെയ്യുക, തുടർന്ന് സംഭാഷണം സ്‌പർശിച്ച് പിടിക്കുക."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ചെറുതാക്കുക"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"അറിയിപ്പിന്റെ കൂൾഡൗൺ"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"എല്ലാ അറിയിപ്പിനും കൂൾഡൗൺ ബാധകമാക്കുക"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ഒരേ ആപ്പിൽ നിന്ന് തുടർച്ചയായി നിരവധി അറിയിപ്പുകൾ ലഭിക്കുമ്പോൾ അറിയിപ്പിന്റെ ശബ്ദം ക്രമേണ കുറയ്ക്കുക"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"സംഭാഷണങ്ങൾക്ക് കൂൾഡൗൺ ബാധകമാക്കുക"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ഒരേ ചാറ്റിൽ നിന്ന് ചുരുങ്ങിയ സമയത്തിനുള്ളിൽ നിങ്ങൾക്ക് നിരവധി സന്ദേശങ്ങൾ ലഭിക്കുമ്പോൾ അറിയിപ്പിന്റെ ശബ്ദം ക്രമേണ കുറയ്ക്കുക"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"അറിയിപ്പിനുള്ള കൂൾഡൗൺ ഉപയോഗിക്കരുത്"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ഒരേ ആപ്പിൽ നിന്ന് തുടർച്ചയായി അറിയിപ്പുകൾ ലഭിച്ചാലും, അറിയിപ്പിന്റെ ശബ്‌ദം കുറയ്ക്കരുത്"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"അൺലോക്കിൽ വൈബ്രേറ്റ് ചെയ്യുക"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"സ്‌ക്രീൻ അൺലോക്ക് ആയിരിക്കുമ്പോൾ മാത്രം വൈബ്രേറ്റ് ചെയ്യുക"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ഔദ്യോഗിക പ്രൊഫൈലുകളിൽ ബാധകമാക്കുക"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"വ്യക്തിപരമായ പ്രൊഫൈലിൽ നിന്നുള്ള അറിയിപ്പ് കൂൾഡൗൺ ക്രമീകരണം നിങ്ങളുടെ ഔദ്യോഗിക പ്രൊഫൈലിലേക്ക് ബാധകമാക്കുക"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR സഹായി സേവനങ്ങൾ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ഇൻസ്റ്റാൾ ചെയ്ത ആപ്പുകളൊന്നും VR സഹായി സേവനങ്ങളായി റൺ ചെയ്യുന്നതിന് അഭ്യർത്ഥിച്ചിട്ടില്ല."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> എന്ന സേവനത്തിന് VR സേവന ആക്‌സസ് അനുവദിക്കണോ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ഓഫാണ്"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ആപ്പ് പിൻ ചെയ്യൽ"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"അൺപിൻ ചെയ്യുന്നത് വരെ നിലവിലെ ആപ്പ് കാണുന്ന വിധത്തിൽ നിലനിർത്താൻ ആപ്പ് പിൻ ചെയ്യൽ നിങ്ങളെ അനുവദിക്കുന്നു. ഉദാഹരണത്തിന്, ഒരു നിർദ്ദിഷ്‌ട ഗെയിം കളിക്കാൻ വിശ്വസ്‌ത സുഹൃത്തിനെ അനുവദിക്കുന്നതിന് ഈ ഫീച്ചർ ഉപയോഗിക്കാം."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"ആപ്പ് പിൻ ചെയ്തിരിക്കുമ്പോൾ, പിൻ ചെയ്‌ത ആപ്പിന് മറ്റ് ആപ്പുകൾ തുറക്കാനും വ്യക്തിപരമായ ഡാറ്റ ആക്‌സസ് ചെയ്യാനുമായേക്കാം. \n\nആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കാൻ: 	\n1. ആപ്പ് പിൻ ചെയ്യൽ ഓണാക്കുക 	\n2. അവലോകനം തുറക്കുക 	\n3. സ്ക്രീനിന്റെ മുകളിലുള്ള ആപ്പ് ഐക്കണിൽ ടാപ്പ് ചെയ്യുക, തുടർന്ന് \'പിൻ\' ടാപ്പ് ചെയ്യുക"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"ആപ്പ് പിൻ ചെയ്തിരിക്കുമ്പോൾ, പിൻ ചെയ്‌ത ആപ്പിന് മറ്റ് ആപ്പുകൾ തുറക്കാനും വ്യക്തിപരമായ ഡാറ്റ ആക്‌സസ് ചെയ്യാനുമായേക്കാം. \n\nനിങ്ങളുടെ ഉപകരണം മറ്റൊരാളുമായി സുരക്ഷിതമായി പങ്കിടണമെന്നുണ്ടെങ്കിൽ, പകരം ഒരു അതിഥി ഉപയോക്താവ് ഓപ്ഷൻ ഉപയോഗിക്കാൻ ശ്രമിക്കുക. \n\nആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കാൻ: 	\n1. ആപ്പ് പിൻ ചെയ്യൽ ഓണാക്കുക 	\n2. അവലോകനം തുറക്കുക 	\n3. സ്ക്രീനിന്റെ മുകളിലുള്ള ആപ്പ് ഐക്കണിൽ ടാപ്പ് ചെയ്യുക, തുടർന്ന് \'പിൻ\' ടാപ്പ് ചെയ്യുക"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"ആപ്പ് പിൻ ചെയ്തിരിക്കുമ്പോൾ, പിൻ ചെയ്‌ത ആപ്പിന് മറ്റ് ആപ്പുകൾ തുറക്കാനും വ്യക്തിപരമായ ഡാറ്റ ആക്‌സസ് ചെയ്യാനുമായേക്കാം. \n\nആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കാൻ: 	\n{0,number,integer}. ആപ്പ് പിൻ ചെയ്യൽ ഓണാക്കുക 	\n{1,number,integer}. അവലോകനം തുറക്കുക 	\n{2,number,integer}. സ്ക്രീനിന്റെ മുകളിലുള്ള ആപ്പ് ഐക്കണിൽ ടാപ്പ് ചെയ്യുക, തുടർന്ന് \'പിൻ\' ടാപ്പ് ചെയ്യുക"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"ആപ്പ് പിൻ ചെയ്തിരിക്കുമ്പോൾ, പിൻ ചെയ്‌ത ആപ്പിന് മറ്റ് ആപ്പുകൾ തുറക്കാനും വ്യക്തിപരമായ ഡാറ്റ ആക്‌സസ് ചെയ്യാനുമായേക്കാം. \n\nനിങ്ങളുടെ ഉപകരണം മറ്റൊരാളുമായി സുരക്ഷിതമായി പങ്കിടണമെന്നുണ്ടെങ്കിൽ, പകരം ഒരു അതിഥി ഉപയോക്താവ് ഓപ്ഷൻ ഉപയോഗിക്കാൻ ശ്രമിക്കുക. \n\nആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കാൻ: 	\n{0,number,integer}. ആപ്പ് പിൻ ചെയ്യൽ ഓണാക്കുക 	\n{1,number,integer}. അവലോകനം തുറക്കുക 	\n{2,number,integer}. സ്ക്രീനിന്റെ മുകളിലുള്ള ആപ്പ് ഐക്കണിൽ ടാപ്പ് ചെയ്യുക, തുടർന്ന് \'പിൻ\' ടാപ്പ് ചെയ്യുക"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ആപ്പ് പിൻ ചെയ്യുമ്പോൾ: \n\n•		വ്യക്തിപരമായ ഡാറ്റ ആക്‌സസ് ചെയ്‌തേക്കാം \n		(ഇമെയിൽ ഉള്ളടക്കവും കോൺടാക്റ്റുകളും പോലുള്ളവ) \n•		പിൻ ചെയ്‌ത ആപ്പ് മറ്റ് ആപ്പുകൾ തുറന്നേക്കാം \n\nനിങ്ങൾക്ക് വിശ്വാസമുള്ള ആളുകൾക്കൊപ്പം മാത്രം ആപ്പ് പിൻ ചെയ്യൽ ഉപയോഗിക്കുക."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"അൺപിൻ ചെയ്യും മുമ്പ് അൺലോക്ക് പാറ്റേൺ ആവശ്യപ്പെടുക"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"അൺപിൻ ചെയ്യുംമുമ്പ് പിൻ ചോദിക്കുക"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"അൺപിന്നിനുമുമ്പ് പാസ്‌വേഡ് ആവശ്യപ്പെടൂ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"അൺപിൻ ചെയ്യുമ്പോൾ ഉപകരണം ലോക്ക് ചെയ്യുക"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"സിം ഇല്ലാതാക്കൽ സ്ഥിരീകരിക്കുക"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ഇ-സിം മായ്‌ക്കാൻ താൽപ്പര്യപ്പെടുന്നുവെന്ന് സ്ഥിരീകരിക്കുക"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ഇ-സിം മായ്ക്കുന്നതിന് മുമ്പ് ഇത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കുക"</string>
     <string name="memtag_title" msgid="5096176296797727201">"വിപുലമായ മെമ്മറി പരിരക്ഷ ബീറ്റ"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"വിപുലമായ മെമ്മറി പരിരക്ഷ"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ഉപയോഗിക്കാത്ത ആപ്പ് ക്രമീകരണം"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ഉപയോഗിച്ചിട്ടില്ലെങ്കിൽ ആപ്പ് ആക്റ്റിവിറ്റി പോസ് ചെയ്യുക"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"അനുമതികൾ നീക്കം ചെയ്യുക, താൽക്കാലിക ഫയലുകൾ ഇല്ലാതാക്കുക, അറിയിപ്പുകൾ നിർത്തുക"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ഉപയോഗിക്കുന്നില്ലെങ്കിൽ ആപ്പ് മാനേജ് ചെയ്യൂ"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"അനുമതികൾ നീക്കം ചെയ്യുക, താൽക്കാലിക ഫയലുകൾ ഇല്ലാതാക്കുക, അറിയിപ്പുകൾ നിർത്തുക, ആപ്പ് ആർക്കൈവ് ചെയ്യുക"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"എല്ലാ ആപ്പുകളും"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ഇൻസ്‌റ്റാൾ ചെയ്‌ത ആപ്പുകൾ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ഇൻസ്‌റ്റ‌ന്റ് ആപ്പ്"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ശേഷിക്കുന്നത്"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ആപ്പുകൾ ഉപയോഗിച്ച മെമ്മറി"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{കഴിഞ്ഞ {time} ഒരു ആപ്പ്, മെമ്മറി ഉപയോഗിച്ചു}other{കഴിഞ്ഞ {time} # ആപ്പുകൾ, മെമ്മറി ഉപയോഗിച്ചു}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"മെമ്മറി പ്രൊഫൈലിംഗ് പ്രവർത്തനക്ഷമമാക്കൂ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"മെമ്മറി ഉപയോഗ പ്രൊഫൈലിംഗിന് അധിക സിസ്റ്റം ഉറവിടങ്ങൾ ആവശ്യമാണ്."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"മെമ്മറി പ്രൊഫൈലിംഗ് പ്രവർത്തനരഹിതമാക്കി"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ഫ്രീക്വൻസി"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"പരമാവധി ഉപയോഗം"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"ഡാറ്റയൊന്നും ഉപയോഗിച്ചില്ല"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ പ്രദർശിപ്പിക്കുക"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ പ്രദർശിക്കുന്നത് അനുവദിക്കുക"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"നിങ്ങൾ ഉപയോഗിക്കുന്ന മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ ഈ ആപ്പിനെ ദൃശ്യമാക്കാൻ അനുവദിക്കുക. നിങ്ങൾ എവിടെ ടാപ്പ് ചെയ്യുന്നു എന്നത് കാണാനോ സ്‌ക്രീനിൽ പ്രദർശിപ്പിച്ചിരിക്കുന്നത് മാറ്റാനോ ഈ ആപ്പിന് കഴിയും."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"മീഡിയ ഔട്ട്പുട്ട് മാറ്റുക"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"മീഡിയ ഔട്ട്പുട്ട് മാറാൻ ആപ്പിനെ അനുവദിക്കുക"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"കണക്റ്റ് ചെയ്ത ഏത് ഉപകരണമാണ്, മറ്റ് ആപ്പുകളിൽ നിന്നുള്ള ഓഡിയോ അല്ലെങ്കിൽ വീഡിയോ പ്ലേ ചെയ്യേണ്ടതെന്ന് തിരഞ്ഞെടുക്കാൻ ഈ ആപ്പിനെ അനുവദിക്കുക. അനുവദിച്ചാൽ, ഈ ആപ്പിന് ഹെഡ്‌ഫോണുകൾ, സ്‌പീക്കറുകൾ എന്നിവ പോലുള്ള ലഭ്യമായ ഉപകരണങ്ങളുടെ ലിസ്റ്റ് ആക്സസ് ചെയ്യാനും ഓഡിയോ അല്ലെങ്കിൽ വീഡിയോ സ്ട്രീം ചെയ്യാനോ കാസ്റ്റ് ചെയ്യാനോ ഏത് ഔട്ട്പുട്ട് ഉപകരണമാണ് ഉപയോഗിക്കേണ്ടതെന്ന് തിരഞ്ഞെടുക്കാനും കഴിയും."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"എല്ലാ ഫയലുകളിലേക്കും ആക്സസ്"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"എല്ലാ ഫയലുകളും മാനേജ് ചെയ്യാൻ ആക്സസ് അനുവദിക്കൂ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ഈ ഉപകരണത്തിലെയോ ഇതുമായി ബന്ധിപ്പിച്ചിട്ടുള്ള ഏതെങ്കിലും സ്‌റ്റോറേജുകളിലെയോ എല്ലാ ഫയലുകളും വായിക്കാനും പരിഷ്ക്കരിക്കാനും ഇല്ലാതാക്കാനും ഈ ആപ്പിനെ അനുവദിക്കുക. അനുമതി നൽകിയിട്ടുണ്ടെങ്കിൽ, നിങ്ങളുടെ അറിവില്ലാതെ തന്നെ ആപ്പ് ഫയലുകൾ ആക്സസ് ചെയ്തേക്കാം."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"എല്ലാ ഫയലുകളും ആക്സസ് ചെയ്യാനാവും"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"വോയ്‌സ് ആക്റ്റിവേഷൻ ആപ്പുകൾ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"വോയ്‌സ് ആക്റ്റിവേഷൻ അനുവദിക്കുക"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"അംഗീകൃത ആപ്പുകൾ ശബ്‌ദ കമാൻഡ് ഉപയോഗിച്ച് വോയ്‌സ് ആക്റ്റിവേഷൻ ഹാൻഡ്‌സ്-ഫ്രീ ആയി ഓണാക്കുന്നു. ഡാറ്റ നിങ്ങൾക്ക് മാത്രം കാണാവുന്ന തരത്തിൽ സ്വകാര്യമായി നിലനിൽക്കുമെന്ന് ബിൽറ്റ് ഇൻ അഡാപ്റ്റീവ് സെൻസിംഗ് ഉറപ്പാക്കുന്നു.\n\n"<a href="">"സംരക്ഷിത അഡാപ്റ്റീവ് സെൻസിംഗിനെ കുറിച്ചുള്ള കൂടുതൽ കാര്യങ്ങൾ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"പൂർണ്ണ സ്ക്രീനിലുള്ള അറിയിപ്പുകൾ"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ഈ ആപ്പിൽ നിന്നുള്ള പൂർണ്ണ സ്ക്രീൻ അറിയിപ്പുകൾ അനുവദിക്കുക"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ഉപകരണം ലോക്ക് ചെയ്‌തിരിക്കുമ്പോൾ അറിയിപ്പുകൾ പൂർണ്ണ സ്‌ക്രീനിൽ കാണിക്കാൻ ഈ ആപ്പിനെ അനുവദിക്കുക. അലാറങ്ങൾ, ഇൻകമിംഗ് കോളുകൾ അല്ലെങ്കിൽ മറ്റ് അടിയന്തര അറിയിപ്പുകൾ ഹെെലെെറ്റ് ചെയ്യാൻ ആപ്പുകൾ ഇവ ഉപയോഗിച്ചേക്കാം."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> ഡാറ്റാ മുന്നറിയിപ്പ്"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> ഡാറ്റാ പരിധി"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> ഡാറ്റാ മുന്നറിയിപ്പ് / <xliff:g id="ID_2">^2</xliff:g> ഡാറ്റാ പരിധി"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ഉപകരണം കണക്കാക്കുന്നതിൽ നിന്നും വ്യത്യസ്തമായിട്ടായിരിക്കാം സേവനദാതാക്കള്‍ കണക്കാക്കുന്നത്"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"കാരിയർ നെറ്റ്‌വർക്കുകൾ ഉപയോഗിക്കുന്ന ഡാറ്റ ഒഴികെയുള്ളവ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ഉപയോഗിച്ചു"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ഡാറ്റാ മുന്നറിയിപ്പ് സജ്ജീകരിക്കുക"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> മുമ്പ് അപ്‌ഡേറ്റ് ചെയ്‌തു"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ഇപ്പോൾ <xliff:g id="ID_1">^1</xliff:g> അപ്‌ഡേറ്റ് ചെയ്‌തു"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ഇപ്പോൾ അപ്‌ഡേറ്റ് ചെയ്‌തു"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"പ്ലാൻ കാണുക"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"വിശദാംശങ്ങൾ കാണുക"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ഡാറ്റാ സേവർ"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"നിയന്ത്രണമില്ലാത്ത ഡാറ്റ"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> പശ്ചാത്തലത്തിൽ പ്രവർത്തിക്കുമ്പോൾ സാധാരണയിൽ കൂടുതൽ ബാറ്ററി ചാർജ്ജ് ഉപയോഗിച്ചു"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ഫോർഗ്രൗണ്ടിൽ പ്രവർത്തിക്കുമ്പോൾ കൂടുതൽ ബാറ്ററി ചാർജ്ജ് ഉപയോഗിച്ചു"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ഫോർഗ്രൗണ്ടിൽ പ്രവർത്തിക്കുമ്പോൾ സാധാരണയിൽ കൂടുതൽ ബാറ്ററി ചാർജ്ജ് ഉപയോഗിച്ചു"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ബാറ്ററി ഉപയോഗത്തിൽ അസ്വാഭാവികത"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ഉയർന്ന ബാറ്ററി ഉപയോഗം"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"പശ്ചാത്തലത്തിൽ ഉയർന്ന ബാറ്ററി ഉപയോഗം നടക്കുന്നു"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ഫോർഗ്രൗണ്ടിൽ ഉയർന്ന ബാറ്ററി ഉപയോഗം നടക്കുന്നു"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ദ്രുത ‌ക്രമീകരണ ഡെവലപ്പർ ടൈലുകൾ"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb അംഗീകരിക്കൽ ടൈംഔട്ട് പ്രവർത്തനരഹിതമാക്കുക"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ഡിഫോൾട്ട് കാലയളവിലോ (7 ദിവസം) ഉപയോക്താവ് കോൺഫിഗർ ചെയ്ത സമയത്തിനുള്ളിലോ (കുറഞ്ഞത് 1 ദിവസം) വീണ്ടും കണക്റ്റ് ചെയ്യാത്ത സിസ്റ്റങ്ങൾക്കായുള്ള adb അംഗീകാരങ്ങൾ സ്വയമേവ പിൻവലിക്കുന്നത് പ്രവർത്തനരഹിതമാക്കുക."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"വിൻസ്‌കോപ്പ് അടയാളം"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"സെൻസറുകൾ ഓഫാണ്"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ഔദ്യോഗിക പ്രൊഫൈൽ ക്രമീകരണം"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"വ്യക്തിപര ആപ്പുകളിലെ ഔദ്യോഗിക ഡയറക്റ്ററി കോൺടാക്‌റ്റുകൾ തിരയുക"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"സിസ്‌റ്റം നാവിഗേഷൻ, 2 ബട്ടൺ നാവിഗേഷൻ, 3 ബട്ടൺ നാവിഗേഷൻ, വിരൽചലന നാവിഗേഷൻ, സ്വൈപ്പ് ചെയ്യുക"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ഡിജിറ്റൽ അസിസ്‌റ്റന്റ്"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"അസിസ്‌റ്റന്റ് ആപ്പ് പ്രവർത്തനക്ഷമമാക്കാൻ സ്വൈപ്പ് ചെയ്യുക"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ് പ്രവർത്തനക്ഷമമാക്കാൻ താഴെ മൂലയിൽ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ് പ്രവർത്തനക്ഷമമാക്കാൻ താഴെ മൂലയിൽ നിന്ന് മുകളിലേക്ക് സ്വൈപ്പ് ചെയ്യുക"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"അസിസ്‌റ്റന്റിനെ പ്രവർത്തിപ്പിക്കാൻ ഹോം അമർത്തിപ്പിടിക്കുക"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ഡിജിറ്റൽ അസിസ്‌റ്റന്റ് ആപ്പ് പ്രവർത്തിപ്പിക്കാൻ ഹോം ബട്ടൺ അമർത്തിപ്പിടിക്കുക."</string>
     <string name="low_label" msgid="6525629096999711220">"കുറഞ്ഞത്"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"സ്വയം പൂരിപ്പിക്കൽ സേവനം"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ഡിഫോൾട്ട് സ്വയമേവ പൂരിപ്പിക്കൽ സേവനം"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"പാസ്‌വേഡുകൾ"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, ഡാറ്റാ സേവനങ്ങൾ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"കൂടുതൽ ക്രെഡൻഷ്യൽ ദാതാക്കൾ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"മുൻഗണന നൽകുന്ന സേവനം"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"കൂടുതൽ സേവനങ്ങൾ"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# പാസ്‌വേഡ്}other{# പാസ്‌വേഡുകൾ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"സ്വയമേവ, പൂരിപ്പിക്കൽ, സ്വയമേവ പൂരിപ്പിക്കൽ, പാസ്‌വേഡ്"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ഡാറ്റ, പാസ്‌കീ, പാസ്‌വേഡ്"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"സ്വയമേവ, പൂരിപ്പിക്കുക, സ്വയമേവ പൂരിപ്പിക്കൽ, ഡാറ്റ, പാസ്‌കീ, പാസ്‌വേഡ്"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"മാറ്റുക"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"തുറക്കുക"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ഒന്നും തിരഞ്ഞെടുത്തിട്ടില്ല"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ഈ ആപ്പിനെ നിങ്ങൾ വിശ്വസിക്കുന്നുണ്ടെന്ന് ഉറപ്പുവരുത്തുക&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; സ്വയമേവ പൂരിപ്പിക്കേണ്ടത് എന്താണെന്ന് നിർണ്ണയിക്കുന്നതിന് &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; നിങ്ങളുടെ സ്‌ക്രീനിൽ ഉള്ളത് ഉപയോഗിക്കുന്നു."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&amp;gt &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ഉപയോഗിക്കണോ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; എന്താണ് സ്വയമേവ പൂരിപ്പിക്കേണ്ടതെന്ന് നിർണ്ണയിക്കാൻ നിങ്ങളുടെ സ്ക്രീനിലുള്ളത് ഉപയോഗിക്കുന്നു. പുതിയ പാസ്‌വേഡുകളും പാസ്‌കീകളും മറ്റ് വിവരങ്ങളും ഇനി മുതൽ ഇവിടെ സംരക്ഷിക്കും."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, ഡാറ്റാ സേവനങ്ങൾ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; പുതിയ പാസ്‌വേഡുകളും പാസ്‌കീകളും മറ്റ് വിവരങ്ങളും ഇനിമുതൽ ഇവിടെ സംരക്ഷിക്കും. എന്താണ് സ്വയമേവ പൂരിപ്പിക്കേണ്ടതെന്ന് നിർണ്ണയിക്കാൻ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; നിങ്ങളുടെ സ്ക്രീനിലുള്ളത് ഉപയോഗിക്കുന്നു."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, സ്വയമേവ പൂരിപ്പിക്കൽ എന്നിവയ്‌ക്കുള്ള, മുൻഗണന നൽകുന്ന സേവനം"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s ഓഫാക്കണോ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ഈ സേവനം ഓഫാക്കണോ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; സൈൻ ഇൻ ചെയ്യുമ്പോൾ പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, പേയ്‌മെന്റ് രീതികൾ എന്നിവ പോലുള്ള സംരക്ഷിച്ച വിവരങ്ങൾ പൂരിപ്പിക്കില്ല. നിങ്ങളുടെ സംരക്ഷിച്ച വിവരങ്ങൾ ഉപയോഗിക്കാൻ, ഒരു പാസ്‌വേഡോ പാസ്‌കീയോ ഡാറ്റാ സേവനമോ തിരഞ്ഞെടുക്കുക."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"പാസ്‌വേഡ്, പാസ്‌കീ, സ്വയമേവ പൂരിപ്പിക്കൽ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;എല്ലാ സേവനങ്ങളും ഓഫാക്കണോ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; നിങ്ങൾ സൈൻ ഇൻ ചെയ്യുമ്പോൾ പാസ്‌വേഡുകളും പാസ്‌കീകളും സംരക്ഷിച്ച മറ്റ് വിവരങ്ങളും സ്വയമേവ പൂരിപ്പിക്കാൻ ലഭ്യമാകില്ല"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;നിങ്ങൾ മുൻഗണന നൽകുന്ന സേവനം &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; എന്നതിലേക്ക് മാറ്റുക, പുതിയ പാസ്‌വേഡുകളും പാസ്‌കീകളും മറ്റ് വിവരങ്ങളും ഇനി മുതൽ ഇവിടെ സംരക്ഷിക്കും. എന്താണ് സ്വയമേവ പൂരിപ്പിക്കേണ്ടതെന്ന് നിർണ്ണയിക്കാൻ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; നിങ്ങളുടെ സ്ക്രീനിലുള്ളത് ഉപയോഗിക്കുന്നു"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ഉപയോഗിക്കണോ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ഓഫാക്കുക"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"മാറ്റുക"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"നിങ്ങൾക്ക് 5 സേവനങ്ങൾ മാത്രമേ ഓണാക്കാനാകൂ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"മറ്റൊന്ന് ചേർക്കാൻ കുറഞ്ഞത് ഒരു സേവനമെങ്കിലും ഓഫാക്കുക"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"എന്താണ് സ്വയമേവ പൂരിപ്പിക്കേണ്ടത് എന്ന് നിർണ്ണയിക്കാൻ നിങ്ങളുടെ സ്ക്രീനിലുള്ളത് %1$s ഉപയോഗിക്കുന്നു."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, ഡാറ്റാ സേവനങ്ങൾ എന്നിവയുടെ പരിധി"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"നിങ്ങൾക്ക് ഒരേ സമയം 5 പാസ്‌വേഡുകളും പാസ്‌കീകളും ഡാറ്റാ സേവനങ്ങളും വരെ സജീവമായി നിലനിർത്താം. കൂടുതൽ ചേർക്കണമെങ്കിൽ, ഒരു സേവനം ഓഫാക്കുക."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"പാസ്‌വേഡുകൾ, പാസ്‌കീകൾ, ഡാറ്റാ സേവനങ്ങൾ എന്നിവയുടെ പരിധി"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"നിങ്ങൾക്ക് ഒരേ സമയം 5 പാസ്‌വേഡുകളും പാസ്‌കീകളും ഡാറ്റ സേവനങ്ങളും വരെ സജീവമായി നിലനിർത്താം. കൂടുതൽ ചേർക്കണമെങ്കിൽ, ഒരു സേവനം ഓഫാക്കുക."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ഓഫാക്കുക"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"സ്വയമേവ പൂരിപ്പിക്കൽ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ലോഗിംഗ് ലെവൽ‌"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ഡീബഗ് ചെയ്യാവുന്ന ആപ്പുകൾക്ക് വേണ്ടി മാത്രമേ ആപ്പ് അനുയോജ്യതാ മാറ്റങ്ങൾ പരിഷ്‌കരിക്കാൻ കഴിയൂ. ഡീബഗ് ചെയ്യാവുന്ന ആപ്പ് ഇന്‍സ്റ്റാള്‍ ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"മറ്റൊരു ക്രമീകരണത്തെ ആശ്രയിച്ചിരിക്കുന്നു"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"അക്കൗണ്ട്"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d അക്കൗണ്ടുകൾ"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ഉപകരണത്തിന്‍റെ പേര്"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"അടിസ്ഥാന വിവരങ്ങൾ"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"നിയമങ്ങളും നിയന്ത്രണങ്ങളും"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ടാഗ് സ്കാൻ ചെയ്യുമ്പോൾ ഈ ആപ്പ് ലോഞ്ച് ചെയ്യാൻ അനുവദിക്കുക.\nഈ അനുമതി ഓണാണെങ്കിൽ, ടാഗ് തിരിച്ചറിയുമ്പോഴെല്ലാം ആപ്പ് ഒരു ഓപ്ഷൻ ആയി ലഭ്യമാകും."</string>
     <string name="media_output_title" msgid="8283629315159510680">"മീഡിയ പ്ലേ ചെയ്യുക:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> ഇനിപ്പറയുന്നതിൽ പ്ലേ ചെയ്യുക"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ഓഡിയോ പ്ലേ ചെയ്യും"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ഈ ഉപകരണത്തിൽ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"കോളുകൾ ചെയ്യുമ്പോൾ ലഭ്യമല്ല"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"കോളെടുക്കൽ ഓണാണ്"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"മ്യൂട്ട് ചെയ്യുക"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"പ്രവർത്തനക്ഷമമാക്കാൻ, ആദ്യം \"പവർ ബട്ടൺ അമർത്തിപ്പിടിക്കുക\" പവർ മെനുവിലേക്ക് മാറ്റുക."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"നെറ്റ്‌വർക്ക് വിശദാംശങ്ങൾ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ഫോണിലെ ആപ്പുകൾക്ക് നിങ്ങളുടെ ഉപകരണത്തിന്റെ പേര് ദൃശ്യമാണ്. Bluetooth ഉപകരണങ്ങളിലേക്കോ വൈഫൈ നെറ്റ്‌വർക്കിലേക്കോ കണക്റ്റ് ചെയ്യുമ്പോഴോ ഒരു വൈഫൈ ഹോട്ട്സ്പോട്ട് സജ്ജീകരിക്കുമ്പോഴോ ഇത് മറ്റ് ആളുകൾക്കും കാണാനായേക്കും."</string>
     <string name="devices_title" msgid="649715719278562515">"ഉപകരണങ്ങൾ"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"നെറ്റ്‍വര്‍ക്ക് തിരഞ്ഞെടുക്കുക"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"വിച്ഛേദിച്ചു"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"പേര്"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"വർണ്ണം (അനുയോജ്യമായ ആപ്പുകൾ ഉപയോഗിക്കുന്നത്)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"സംരക്ഷിക്കുക"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM ഉപയോഗിക്കുക"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ഈ സിം ഉപയോഗിക്കുക"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ഓഫാണ്"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ഈ SIM പ്രവർത്തനരഹിതമാക്കാൻ സിം കാർഡ് നീക്കം ചെയ്യുക"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> എന്നതിനെ സജീവമാക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM മായ്‌ക്കുക"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ഈ സിം ഓഫാക്കാൻ, സിം കാർഡ് നീക്കം ചെയ്യുക"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"നിങ്ങളുടെ <xliff:g id="CARRIER">%1$s</xliff:g> സിം സജീവമാക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ഇ-സിം മായ്‌ക്കുക"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് തരം"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"നെറ്റ്‌വർക്ക് പ്രവർത്തിക്കുന്ന മോഡ് മാറ്റുക"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"മുൻഗണന നൽകുന്ന നെറ്റ്‌വർക്ക് തരം"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"നിരക്കിനായി, നെറ്റ്‌വർക്ക് ദാതാവിനെ ബന്ധപ്പെടുക."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ആപ്പിന്‍റെ ഡാറ്റാ ഉപയോഗം"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"നെറ്റ്‍വര്‍ക്ക് മോഡ് <xliff:g id="NETWORKMODEID">%1$d</xliff:g> അസാധുവാണ്. അവഗണിക്കുക."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കൽ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"സാറ്റലൈറ്റ് വഴി ടെക്‌സ്‌റ്റ് മെസേജുകൾ അയയ്ക്കുക, സ്വീകരിക്കുക. നിങ്ങളുടെ അക്കൗണ്ടിൽ ഉൾപ്പെടുത്തിയിരിക്കുന്നു."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"സാറ്റലൈറ്റ് വഴി ടെക്‌സ്‌റ്റ് മെസേജുകൾ അയയ്ക്കുക, സ്വീകരിക്കുക. നിങ്ങളുടെ അക്കൗണ്ടിൽ ഉൾപ്പെടുത്തിയിട്ടില്ല."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കൽ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കലിനെ കുറിച്ച്"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"യോഗ്യതയുള്ള <xliff:g id="CARRIER_NAME">%1$s</xliff:g> അക്കൗണ്ടിന്റെ ഭാഗമായി, സാറ്റലൈറ്റ് വഴി ടെക്സ്റ്റ് മെസേജുകൾ അയയ്‌ക്കാനും സ്വീകരിക്കാനും നിങ്ങൾക്ക് കഴിയും"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"നിങ്ങളുടെ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> പ്ലാൻ"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"നിങ്ങളുടെ അക്കൗണ്ടിൽ സാറ്റലൈറ്റ് സന്ദേശമയയ്‌ക്കൽ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"നിങ്ങളുടെ അക്കൗണ്ടിൽ സാറ്റലൈറ്റ് സന്ദേശമയയ്‌ക്കൽ ഉൾപ്പെടുത്തിയിട്ടില്ല"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കൽ ചേർക്കുക"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ഇത് പ്രവർത്തിക്കുന്നത് എങ്ങനെയാണ്"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"നിങ്ങൾക്ക് മൊബൈൽ നെറ്റ്‌വർക്ക് ഇല്ലാത്തപ്പോൾ"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"നിങ്ങളുടെ ഫോൺ ഒരു സാറ്റലൈറ്റുമായി സ്വയമേവ കണക്‌റ്റ് ചെയ്യും. മികച്ച കണക്ഷൻ ലഭിക്കാൻ, ആകാശം വ്യക്തമായി കാണുന്നിടത്ത് നിൽക്കുക."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"നിങ്ങളുടെ ഫോൺ സാറ്റലൈറ്റുമായി കണക്‌റ്റ് ചെയ്‌തതിന് ശേഷം"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"അടിയന്തര സേവനങ്ങൾക്ക് ഉൾപ്പെടെ ഏതൊരാൾക്കും ടെക്‌സ്‌റ്റ് ചെയ്യാൻ നിങ്ങൾക്ക് കഴിയും. ഒരു മൊബൈൽ നെറ്റ്‌വർക്ക് ലഭ്യമാകുമ്പോൾ നിങ്ങളുടെ ഫോൺ അതിലേക്ക് വീണ്ടും കണക്‌റ്റ് ചെയ്യും."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കലിന് കൂടുതൽ സമയമെടുത്തേക്കാം, ചില പ്രദേശങ്ങളിൽ മാത്രമേ അത് ലഭ്യമാകൂ, കൂടാതെ കാലാവസ്ഥയും ചില ഘടനകളും നിങ്ങളുടെ സാറ്റലൈറ്റ് കണക്ഷനെ ബാധിച്ചേക്കാം. സാറ്റലൈറ്റ് വഴി കോളുകൾ ചെയ്യുന്നത് ലഭ്യമല്ല.\n\nനിങ്ങളുടെ അക്കൗണ്ടിൽ വരുത്തുന്ന മാറ്റങ്ങൾ ക്രമീകരണത്തിൽ ദൃശ്യമാകാൻ കുറച്ച് സമയമെടുത്തേക്കാം. വിശദവിവരങ്ങൾക്ക് <xliff:g id="CARRIER_NAME">%1$s</xliff:g> എന്നതിനെ ബന്ധപ്പെടുക."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"സാറ്റലൈറ്റ് സന്ദേശമയയ്ക്കലിനെ കുറിച്ചുള്ള കൂടുതൽ വിവരങ്ങൾ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ആക്‌സസ് പോയിന്റ് പേരുകൾ"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> എന്നതിലേക്ക് കണക്‌റ്റ് ചെയ്‌തിരിക്കുമ്പോൾ ലഭ്യമല്ല"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറണോ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM കാർഡ് ഉപയോഗിക്കുക എന്നതിലേക്ക് മാറണോ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഉപയോഗിക്കണോ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ഒരു സമയത്ത് ഒരു SIM മാത്രമേ സജീവമായിരിക്കൂ.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നത് നിങ്ങളുടെ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ഒരു സമയത്ത് 1 ഇ-സിം മാത്രമേ സജീവമായിരിക്കൂ.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നത് നിങ്ങളുടെ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ഒരു സമയത്ത് ഒരു SIM മാത്രമേ സജീവമായിരിക്കൂ.\n\nമാറുന്നത് നിങ്ങളുടെ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ഒരു സമയത്ത് ഒരു സിം മാത്രമേ ഓണാക്കാനാകൂ.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നത് നിങ്ങളുടെ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ഒരു സമയത്ത് ഒരു ഇ-സിം മാത്രമേ ഓണാക്കാനാകൂ.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നത് നിങ്ങളുടെ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ഒരു സമയത്ത് ഒരു ഇ-സിം മാത്രമേ ഓണാക്കാനാകൂ.\n\nമാറുന്നത് നിങ്ങളുടെ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> സേവനം റദ്ദാക്കില്ല."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ഒരേസമയം 2 സിമ്മുകൾ നിങ്ങൾക്ക് ഉപയോഗിക്കാനാകും. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഉപയോഗിക്കാൻ, മറ്റൊരു സിം ഓഫാക്കുക."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുക"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഓഫാക്കുക"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"സിം ഓഫാക്കുന്നത് നിങ്ങളുടെ സേവനം റദ്ദാക്കില്ല"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"നെറ്റ്‌വർക്കിലേക്ക് കണക്‌റ്റ് ചെയ്യുന്നു…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"കോളുകൾക്കും സന്ദേശങ്ങൾക്കും <xliff:g id="CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നു…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"കാരിയറെ മാറ്റാനാകുന്നില്ല"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ഒരു പിശക് കാരണം കാരിയറെ മാറ്റാനാകുന്നില്ല."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"നിങ്ങളുടെ സിം സജീവമാക്കുന്നു…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറുന്നു…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"സിമ്മുകൾ മാറാനാകുന്നില്ല"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"എന്തോ പിശകുണ്ടായി. സിമ്മുകൾ മാറാനാകുന്നില്ല."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഓഫാക്കണോ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM ഓഫാക്കണോ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"സിം ഓഫാക്കുന്നു<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"സേവനദാതാവിനെ പ്രവർത്തനരഹിതമാക്കാനാകില്ല"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"എന്തോ കുഴപ്പം സംഭവിച്ചതിനാൽ നിങ്ങളുടെ സേവനദാതാവിനെ പ്രവർത്തനരഹിതമാക്കാനായില്ല."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"സിം ഓഫാക്കാനാകുന്നില്ല"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"എന്തോ പിശകുണ്ടായതിനാൽ നിങ്ങളുടെ സിം ഓഫാക്കാനായില്ല."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"രണ്ട് SIM-കളും ഉപയോഗിക്കണോ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ഈ ഉപകരണത്തിൽ ഒരേസമയം സജീവമായ രണ്ട് SIM-കൾ ആകാം. ഒരു സമയത്ത് ഒരു SIM മാത്രം ഉപയോഗിക്കുന്നത് തുടരാൻ, \"വേണ്ട\" ടാപ്പ് ചെയ്യുക."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യണോ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"വേണ്ട"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"റദ്ദാക്കുക"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"മാറുക"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ഓഫാക്കുക"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM സജീവമാക്കാനാകില്ല"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM വീണ്ടും ഓണാക്കാൻ ശ്രമിക്കുക. പ്രശ്‌നം തുടരുകയാണെങ്കിൽ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്യുക."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"നിങ്ങളുടെ സിം സജ്ജീകരിക്കുക"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ഈ ഉപകരണത്തിൽ ഒന്നിലധികം സിമ്മുകൾ ഉപയോഗിക്കാൻ നിങ്ങളുടെ മൊബൈൽ നെറ്റ്‌വർക്ക് മുൻഗണനകൾ സജ്ജീകരിക്കുക"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"സിമ്മുകൾ ലേബൽ ചെയ്യുക"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"കോളുകൾ ചെയ്യുമ്പോഴും ടെക്‌സ്റ്റുകൾ അയയ്‌ക്കുമ്പോഴും ഡാറ്റ ഉപയോഗിക്കുമ്പോഴും ക്രമീകരണത്തിലും നിങ്ങൾക്ക് ഈ ലേബലുകൾ കാണാം"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"സിം ലേബൽ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ലേബൽ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"ആവശ്യമുള്ള സിം തിരഞ്ഞെടുക്കൂ"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"നിങ്ങൾക്ക് ഒരേസമയം 2 സിമ്മുകൾ ഉപയോഗിക്കാം"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"പ്രാഥമിക സിമ്മുകൾ സജ്ജീകരിക്കൂ"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"കോളുകൾക്കും ടെക്‌സ്റ്റുകൾക്കും ഡാറ്റയ്‌ക്കും ഡിഫോൾട്ടായി ഏത് സിം ആണ് ഉപയോഗിക്കേണ്ടതെന്ന് തിരഞ്ഞെടുക്കുക"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"നിങ്ങളുടെ പ്രാഥമിക സിമ്മുകൾ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"കോളുകൾ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ടെക്‌സ്റ്റുകൾ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"സ്വയമേവയുള്ള ഡാറ്റാ മാറ്റം"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"കവറേജും ലഭ്യതയും അനുസരിച്ച് ഏതെങ്കിലും സിമ്മിൽ നിന്നുള്ള ഡാറ്റ ഉപയോഗിക്കുക"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ഡാറ്റ മാത്രം"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"സജ്ജീകരിക്കുക"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"അടുത്തത്"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഓണാക്കുന്നു…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"മൊബൈൽ നെറ്റ്‌വർക്ക്"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ഫോൺ നമ്പർ"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"സിം ലേബലും നിറവും"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"നെറ്റ്‌വർക്ക് സജീവമാക്കൽ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"കാരിയർ മാറുന്നു"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> സജീവമാണ്"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"നിങ്ങളുടെ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> സിം സജീവമാണ്"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"സിം ക്രമീകരണം അപ്ഡേറ്റ് ചെയ്യാൻ ടാപ്പ് ചെയ്യുക"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> എന്നതിലേക്ക് മാറി"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"മറ്റൊരു കാരിയറിലേക്ക് മാറുക"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"നിങ്ങളുടെ മൊബൈൽ നെറ്റ്‌വർക്ക് മാറ്റി"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"നിങ്ങളുടെ മറ്റൊരു SIM സജ്ജീകരിക്കുക"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"നിങ്ങളുടെ സജീവമായ സിം തിരഞ്ഞെടുക്കുകയോ ഒരേസമയം 2 സിമ്മുകൾ ഉപയോഗിക്കുകയോ ചെയ്യുക"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ഉപയോഗിക്കാൻ ഒരു നമ്പർ തിരഞ്ഞെടുക്കുക"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ഈ ഉപകരണത്തിൽ ഒരു നമ്പർ ലഭ്യമാണ്, എന്നാൽ ഒരു സമയം ഒരെണ്ണം മാത്രമേ ഉപയോഗിക്കാനാകൂ}=2{ഈ ഉപകരണത്തിൽ 2 നമ്പറുകൾ ലഭ്യമാണ്, എന്നാൽ ഒരു സമയം ഒരെണ്ണം മാത്രമേ ഉപയോഗിക്കാനാകൂ}other{ഈ ഉപകരണത്തിൽ # നമ്പറുകൾ ലഭ്യമാണ്, എന്നാൽ ഒരു സമയം ഒരെണ്ണം മാത്രമേ ഉപയോഗിക്കാനാകൂ}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"സജീവമാക്കുന്നു<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ഇപ്പോൾ സജീവമാക്കാനാകില്ല"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ഉപയോഗിക്കാൻ ഒരു സിം തിരഞ്ഞെടുക്കുക"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ഈ ഉപകരണത്തിൽ ഒരു സിം ലഭ്യമാണ്, എന്നാൽ ഒരു സമയം ഒരെണ്ണം മാത്രമേ ഉപയോഗിക്കാനാകൂ}=2{ഈ ഉപകരണത്തിൽ 2 സിമ്മുകൾ ലഭ്യമാണ്, എന്നാൽ ഒരു സമയം ഒരെണ്ണം മാത്രമേ ഉപയോഗിക്കാനാകൂ}other{ഈ ഉപകരണത്തിൽ # സിമ്മുകൾ ലഭ്യമാണ്, എന്നാൽ ഒരു സമയം ഒരെണ്ണം മാത്രമേ ഉപയോഗിക്കാനാകൂ}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> ഓണാക്കുന്നു"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ഇപ്പോൾ ഈ സിം ഓണാക്കാനായില്ല"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഉപയോഗിക്കണോ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"മൊബൈൽ ഡാറ്റ, കോളുകൾ, SMS എന്നിവയ്‌ക്ക് <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ഉപയോഗിക്കും."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"സജീവമായ സിമ്മുകളൊന്നും ലഭ്യമല്ല"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"മൊബൈൽ ഡാറ്റ, കോൾ ഫീച്ചറുകൾ, SMS എന്നിവ പിന്നീട് ഉപയോഗിക്കാൻ നിങ്ങളുടെ നെറ്റ്‌വർക്ക് ക്രമീകരണത്തിലേക്ക് പോകുക"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"സിം"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ഈ ഇ-സിം മായ്ക്കണോ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ഈ സിം മായ്ക്കുന്നതിലൂടെ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> സേവനം ഈ ഉപകരണത്തിൽ നിന്ന് നീക്കം ചെയ്യപ്പെടും.\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> എന്നതിനുള്ള സേവനം റദ്ദാക്കില്ല."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ഇത് ഈ ഉപകരണത്തിൽ നിന്ന് <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> സേവനം നീക്കം ചെയ്യുന്നു, എന്നാൽ നിങ്ങളുടെ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> പ്ലാൻ റദ്ദാക്കില്ല."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"മായ്ക്കുക"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"സിം മായ്ക്കുന്നു…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"സിം മായ്ക്കാനാകില്ല"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ഒരു പിശക് കാരണം ഈ സിം മായ്ക്കാനാവില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ഇ-സിം മായ്ക്കുന്നു…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ഇ-സിം മായ്ക്കാനാകുന്നില്ല"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"എന്തോ കുഴപ്പമുണ്ടായതിനാൽ ഈ ഇ-സിം മായ്‌ച്ചിട്ടില്ല.\n\nനിങ്ങളുടെ ഉപകരണം റീസ്‌റ്റാർട്ട് ചെയ്‌ത് വീണ്ടും ശ്രമിക്കുക."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ഉപകരണത്തിലേക്ക് കണക്റ്റ് ചെയ്യുക"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"നിങ്ങളുടെ ഉപകരണത്തിലേക്ക് കണക്‌റ്റ് ചെയ്യുന്നതിന് താൽക്കാലിക വെെഫെെ നെറ്റ്‌വർക്ക് ഉപയോഗിക്കാൻ <xliff:g id="APPNAME">%1$s</xliff:g> ആപ്പ് താൽപ്പര്യപ്പെടുന്നു"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ഉപകരണങ്ങളൊന്നും കണ്ടെത്തിയില്ല. ഉപകരണം ഓണാണെന്നും കണക്റ്റ് ചെയ്യാൻ ലഭ്യമാണെന്നും ഉറപ്പാക്കുക."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"എമർജൻസി കോളുകൾ"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"വൈഫൈ കോളിംഗ് വഴി എമർജൻസി കോളുകൾ നിങ്ങളുടെ സേവനദാതാവ് പിന്തുണയ്ക്കുന്നില്ല.\nഎമർജൻസി കോൾ വിളിക്കാൻ ഉപകരണം ഒരു സെല്ലുലാർ നെറ്റ്‍വര്‍ക്കിലേക്ക് സ്വയമേവ സ്വിച്ചുചെയ്യുന്നു.\nസെല്ലുലാർ കവറേജ് ഉപയോഗിച്ച് മാത്രമേ എമർജൻസി കോളുകൾ സാധ്യമാകൂ."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"നിലവാരം മെച്ചപ്പെടുത്താൻ കോളുകൾക്കായി വൈഫൈ ഉപയോഗിക്കുക"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ബാക്കപ്പ് കോളിംഗ്"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ലഭ്യമല്ലെങ്കിലോ റോമിംഗ് ആണെങ്കിലോ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> കോളുകൾക്ക് നിങ്ങളുടെ മൊബൈൽ ഡാറ്റ സിം ഉപയോഗിക്കുക."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ബാക്കപ്പ് കോളിംഗ്"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ഇൻകമിംഗ് MMS സന്ദേശം"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS സന്ദേശം അയയ്ക്കാനാവില്ല"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"മൊബൈൽ ഡാറ്റ ഓഫായിരിക്കുമ്പോൾ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>-ൽ നിന്ന് MMS സന്ദേശം അയയ്ക്കുന്നത് അനുവദിക്കാൻ ടാപ്പ് ചെയ്യുക"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"നിങ്ങളുടെ ഔദ്യോഗിക നയ വിവരം"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"നിങ്ങളുടെ ഐടി അഡ്‌മിൻ ‌മാനേജ് ചെയ്യുന്ന ക്രമീകരണം"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K പേജ് വലുപ്പത്തിൽ ബൂട്ട് ചെയ്യുക"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16K പിന്തുണയുള്ള കേർണലുപയോഗിച്ച് ഉപകരണം ബൂട്ടുചെയ്യൂ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB പേജുകൾക്ക് അനുയോജ്യമായ കേർണൽ ഉപയോഗിച്ച് റീബൂട്ട് ചെയ്യണോ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"മുന്നറിയിപ്പ്: ചില ആപ്പുകളിൽ ഈ മോഡ് അനുയോജ്യമല്ലായിരിക്കാം. സ്ഥിരീകരിച്ച ശേഷം, ഉപകരണം റീബൂട്ട് ചെയ്യും."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB പേജുകൾക്ക് അനുയോജ്യമായ കേർണൽ ഉപയോഗിച്ച് റീബൂട്ട് ചെയ്യണോ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"സ്ഥിരീകരിച്ച ശേഷം, ഉപകരണം റീബൂട്ട് ചെയ്യും."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"കേർണൽ, 16KB പേജുകൾക്ക് അനുയോജ്യമായ കേർണലിലേക്ക് അപ്‌ഡേറ്റ് ചെയ്യാനായില്ല."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"മാറ്റം ബാധകമാക്കുന്നു"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ബഗ് റിപ്പോർട്ട് ഹാൻഡ്‍ലർ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"നിങ്ങളുടെ ഉപകരണത്തിലെ ബഗ് റിപ്പോർട്ട് കുറുക്കുവഴി കൈകാര്യം ചെയ്യുന്നത് ഏത് ആപ്പാണെന്ന് നിർണ്ണയിക്കുന്നു."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"വ്യക്തിപരം"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Settings സ്‌ക്രീനുകളിൽ ഓവർലേ ചെയ്യാൻ മറ്റ് ആപ്പുകൾക്ക് മുകളിൽ കാണിക്കാനാകുന്ന ആപ്പുകളെ അനുവദിക്കുക"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"മോക്ക് മോഡം അനുവദിക്കുക"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ഇൻസ്ട്രുമെന്റേഷൻ പരിശോധനയ്ക്കായി മോക്ക് മോഡം സേവനം റൺ ചെയ്യാൻ ഈ ഉപകരണത്തെ അനുവദിക്കുക. ഫോൺ സാധാരണ പോലെ ഉപയോഗിക്കുന്ന സമയത്ത് ഇത് പ്രവർത്തനക്ഷമമാക്കരുത്"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"സ്‌ക്രീൻ പങ്കിടൽ പരിരക്ഷകൾ പ്രവർത്തനരഹിതമാക്കുക"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"സ്‌ക്രീൻ പങ്കിടലിന്റെ സമയത്ത് സിസ്‌റ്റം പ്രയോഗിച്ച ആപ്പ്, അറിയിപ്പ് പരിരക്ഷകൾ പ്രവർത്തനരഹിതമാക്കുന്നു"</string>
     <string name="media_controls_title" msgid="403271085636252597">"മീഡിയ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"മീഡിയ പ്ലേയർ പിൻ ചെയ്യുക"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"പ്ലേബാക്ക് വേഗത്തിൽ പുനരാരംഭിക്കാൻ, ദ്രുത ക്രമീകരണത്തിൽ മീഡിയ പ്ലേയർ തുറന്ന നിലയിൽ തുടരും"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ലോക്ക് സ്ക്രീനിൽ മീഡിയ കാണിക്കുക"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"പ്ലേബാക്ക് വേഗത്തിൽ പുനരാരംഭിക്കാൻ ലോക്ക് സ്ക്രീനിൽ മീഡിയാ പ്ലേയർ തുറന്ന നിലയിൽ തുടരും"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"മീഡിയ നിർദ്ദേശങ്ങൾ കാണിക്കുക"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant മീഡിയാ നിർദ്ദേശങ്ങൾ കാണിക്കുക"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"നിങ്ങളുടെ ആക്റ്റിവിറ്റി അടിസ്ഥാനമാക്കിയുള്ളവ"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"പ്ലേയർ മറയ്‌ക്കുക"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"പ്ലേയർ കാണിക്കുക"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"മീഡിയ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"ക്യാമറ സോഫ്‌റ്റ്‌വെയർ വിപുലീകരണങ്ങൾ അനുവദിക്കുക"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"കാഴ്‌ച ആവശ്യമില്ലാത്ത വീഡിയോഗ്രഫി പോലുള്ള വിപുലമായ ക്യാമറ ഫീച്ചറുകളുടെ സോഫ്‌റ്റ്‌വെയർ നിർവ്വഹണം പ്രവർത്തനക്ഷമമാക്കുന്നു."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth ഓണാകും"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ഇന്റർനെറ്റ്"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"സിമ്മുകൾ"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"സിം"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ഇ-സിം"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ഇ-സിമ്മുകൾ"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"സജീവം"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"നിഷ്ക്രിയം"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ഓണാണ്"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ഓഫാണ്"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> എന്നിവയ്ക്കുള്ള ഡിഫോൾട്ട്"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"കോളുകൾ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"അനുയോജ്യമായ മീഡിയയിൽ നിന്നുള്ള ഓഡിയോ കൂടുതൽ മുഴുകിപ്പിക്കുന്നതാക്കുന്നു"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ഹെഡ് ട്രാക്കിംഗ്"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"കൂടുതൽ സ്വാഭാവികമായി തോന്നാൻ, നിങ്ങൾ തല ചലിപ്പിക്കുന്നതിനോടൊപ്പം ഓഡിയോ മാറുന്നു"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"അനുമതികൾ സമന്വയിപ്പിക്കുക"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"നിങ്ങൾ <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> എന്നതിൽ അനുവദിച്ച അതേ ആപ്പ് അനുമതികൾ <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> എന്നതിനും നൽകുക"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ഫോണിൽ നിന്ന് അനുമതികൾ സമന്വയിപ്പിക്കുക"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ഈ ഫോണിൽ നിങ്ങൾ അനുവദിച്ച അതേ ആപ്പ് അനുമതികൾ നിങ്ങളുടെ വാച്ചിനും നൽകുക"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ഓഡിയോ ഉപകരണ തരം"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"അജ്ഞാതം"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"സ്പീക്കർ"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"ഇടത്തരം"</string>
     <string name="contrast_high" msgid="3988567609694797696">"കൂടുതൽ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ഈ ആപ്പ് ഒരു വിൻഡോയിൽ മാത്രമേ തുറക്കാനാകൂ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ഓണാണ്"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ഓഫാണ്"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ഓഫാണ്"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ഓഫാണ്"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ഓണാണ്"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ഓഫാണ്"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ഓണാണ്"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ഓഫാണ്"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ലൈറ്റ് സ്ക്രീനുകൾ ഡാർക്കും, ഡാർക്ക് സ്ക്രീനുകൾ ലൈറ്റും ആക്കുന്നു"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"സ്ക്രീനിൽ സൂം ഇൻ ചെയ്യുക"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ഓഫാണ്"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ഓഫാണ്"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"വഞ്ചനാപരമായ ആപ്പ് ആണോയെന്ന് സ്‌കാൻ ചെയ്യുന്നു"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ഫിഷിംഗ് ആണോയെന്ന് അറിയാൻ ആപ്പ് ആക്‌റ്റിവിറ്റി പരിശോധിക്കുക"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"വഞ്ചനാപരമായ ആപ്പുകൾ കണ്ടെത്താൻ സ്‌കാനിംഗ് ഉപയോഗിക്കുക"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ഔദ്യോഗിക ആപ്പുകളിൽ വഞ്ചനാപരമായവ കണ്ടെത്താൻ സ്‌കാനിംഗ് ഉപയോഗിക്കുക"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"പാസ്‌വേഡ് ഇപ്പോൾ സജ്ജീകരിച്ചിരിക്കുന്നു"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"ഹോവർ ചെയ്യുമ്പോൾ പോയിന്റർ കാണിക്കുക"</string>
 </resources>
diff --git a/res/values-mn/arrays.xml b/res/values-mn/arrays.xml
index 77912e9..62e884d 100644
--- a/res/values-mn/arrays.xml
+++ b/res/values-mn/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Холбогдсон"</item>
     <item msgid="6096962300722555553">"Хүрээнээс гарсан"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Системийн өгөгдмөлийг ашиглах: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 минутын дараа"</item>
     <item msgid="1574040255478150028">"5 минутын дараа"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-mn/strings.xml b/res/values-mn/strings.xml
index e397731..97d3d8d 100644
--- a/res/values-mn/strings.xml
+++ b/res/values-mn/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Та одоо хөгжүүлэгч боллоо!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Шаардлагагүй, та аль хэдийн хөгжүүлэгч болсон."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Эхлээд хөгжүүлэгчийн сонголтыг идэвхжүүлнэ үү."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Зөвхөн админ хэрэглэгчид хөгжүүлэгчийн тохиргоонд хандах боломжтой."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Систем"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Үйлчилгээнд байгаа"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Үйлчилгээнээс гарсан"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Таныг төхөөрөмжөө эвхэх үед урд талын дэлгэц асна"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Зөвхөн тоглоом, видео болон бусад"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Таны дэлгэцийг идэвхгүй болохыг зогсоодог аппуудад урд талын дэлгэц асдаг"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Үргэлжлүүлэхийн тулд дээш шудрах"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Аппыг үргэлжлүүлэн ашиглахын тулд утсаа эвхээд, урд талын дэлгэц дээр дээш шудрах эсвэл дэлгэцийг түгжигдэх хүртэл хэдэн секунд хүлээнэ үү"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Хэзээ ч үгүй"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Таныг төхөөрөмжөө эвхэх үед урд талын дэлгэц түгжигдэнэ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Автоматаар эргүүлэх онцлогийг ашиглах"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Холбоотой"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Хонхны ая болон сэрүүлэг"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Дуудлагын үеэрх аудио"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Медиа"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Мэдэгдэл, системийн бусад дуу"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Медиа, системийн дуу чимээнүүд"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Мэдэгдлүүд"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Өгөгдмөлөөр аудио гаралтыг бие даасан аппуудаар тодорхойлно"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Нэргүй блютүүт төхөөрөмж"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Хайж байна..."</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Цуцлах"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE аудиог идэвхгүй болгох"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Хэрэв төхөөрөмж LE аудио техник хангамжийн чадамжийг дэмждэг бол Bluetooth LE аудио онцлогийг идэвхгүй болгоно."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Аудио горим"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Төхөөрөмжийн дэлгэрэнгүйд LE аудионы асаах/унтраахыг харуул"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE аудиогийн зөвшөөрөгдсөн жагсаалтыг идэвхжүүлэх"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE аудиогийн зөвшөөрөгдсөн жагсаалтын онцлогийг идэвхжүүлнэ үү."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Аудиогийн зөвшөөрсөн жагсаалтыг алгасах"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Аудиогийн нэмэлт хэрэгслийг Зөвшөөрсөн жагсаалтын шалгуурт нийцэж байгаа эсэхийг баталгаажуулаагүй байсан ч өгөгдмөлөөр LE Аудиог ашиглана уу."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медиа төхөөрөмжүүд"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Дуудлага хийх төхөөрөмжүүд"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Бусад төхөөрөмж"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Хадгалсан төхөөрөмж"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Бүртгэлтэй холбоотой"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Өмнө нь бүртгэлтэй холбож ашигласан"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth холбогдохын тулд асна"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Холболтын тохируулга"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Өмнө нь холбогдсон"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth-г асаасан"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Бүгдийг харах"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Бүгдийг харах"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Мэдрэгч үзэг"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Арын товчийг дарах"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Ажлын профайл)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Текстийн талбарт бичих"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Бүх мэдрэгч үзгийн товчлуур даралтыг үл хэрэгсэнэ үү"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Мэдрэгч үзэг"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Аудио хуваалцах"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Аудиог хуваалцах"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Дуудлага болон сэрүүлгүүд"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR код ашиглан аудио дамжуулалтад холбогдоно уу"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Ойролцоох аудио дамжуулалт олдсонгүй."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Огноо, цаг"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Цэвэрлэх"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s-г сонгосон хэлнүүдэд нэмэх үү?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Энэ нь апп болон вебсайтуудад таныг энэ хэлийг мөн сонгосныг мэдэгдэнэ."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Таны төхөөрөмжийн тохиргоо болон бүс нутгийн тохиргоог өөрчилнө."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Өөрчлөх"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s боломжгүй"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Бямба"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Хэрэв апп бүс нутгийн тохиргоог дэмждэггүй бол тухайн апп өгөгдмөл хэл болон улсын кодын тохиргоогоо ашиглана."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Хэлний сонголтын талаар нэмэлт мэдээлэл авна уу."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Нэмэлт сонголт"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Дуудуулах нөхцөл"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Та хэрхэн дуудуулахыг хүсэж байгаагаа тохируулна уу"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Аппууд таны дуудах нөхцөлийг ашиглан таныг хэрхэн дуудахаа хувийн болгох боломжтой."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Заагаагүй"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Эм үг"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Эр үг"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Дундаж"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Сонгосон хэлийг хасах уу?}other{Сонгосон хэлнүүдийг хасах уу?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текстийг өөр хэлээр харуулах болно."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Бүх хэлийг устгах боломжгүй"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Байршил"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Байршлыг ашиглах"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Унтраалттай"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Асаалттай үед - # апп байршилд хандах боломжтой}other{Асаалттай үед - # апп байршилд хандах боломжтой}}"</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_location_off" msgid="8568995909147566720">"Аппууд болон үйлчилгээнүүдэд байршлын хандалт унтраалттай байна. Таныг яаралтай тусламжийн утасны дугаар луу залгах эсвэл мессеж бичих үед таны төхөөрөмжийн байршлыг яаралтай тусламжийн үйлчилгээ үзүүлэгчид рүү илгээсэн хэвээр байж магадгүй."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Байршлын тохиргооны талаар нэмэлт мэдээлэл авна уу."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Байршлын тохиргооны талаар нэмэлт мэдээлэл авах"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Байршлын хандалт өөрчлөхөд Тохиргоо &gt; Хамгаалалт, нууцлал &gt; Нууцлалын тохиргоонд оч"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Бүртгэл"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Аюулгүй байдал"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифр, мандат үнэмлэх"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Хамгийн сайн үр дүнд хүрэхийн тулд Made for Google-р баталгаажсан дэлгэц хамгаалагчийг ашиглана уу. Бусад дэлгэц хамгаалагчийг ашиглах үед таны хүүхдийн хурууны хээг танихгүй байж болзошгүй."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Утасны түгжээг цагаараа тайлах"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Таныг Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулсан үед утас тань таныг амны хаалт зүүсэн эсвэл харанхуй газар байгаа тохиолдолд танаас хурууны хээгээ оруулахыг хүснэ.\n\nТаны царай эсвэл хурууны хээг таниагүй үед та цагаараа түгжээг тайлах боломжтой."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Таны хурууны хээг таниагүй үед та цагаараа түгжээг тайлах боломжтой."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Таны царайг таниагүй үед та цагаараа түгжээг тайлах боломжтой."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Таныг Царайгаар түгжээ тайлах болон Хурууны хээгээр түгжээ тайлахыг тохируулсан үед утас тань таныг амны хаалт зүүсэн эсвэл харанхуй газар байгаа тохиолдолд танаас хурууны хээгээ оруулахыг хүснэ.\n\nУтасны түгжээг цагаараа тайлах нь таны хуруу нойтон эсвэл царайг тань таниагүй үед утасныхаа түгжээг тайлах өөр нэг хялбар арга юм."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Утасны түгжээг цагаараа тайлах нь таны хурууг таниагүй зэрэг үед утасныхаа түгжээг тайлах өөр нэг хялбар арга юм."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Утасны түгжээг цагаараа тайлах нь таны царайг таниагүй зэрэг үед утасныхаа түгжээг тайлах өөр нэг хялбар арга юм."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Дараахыг хийхийн тулд хурууны хээ эсвэл цагаа ашиглана уу"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Дараахыг хийхийн тулд царай эсвэл цагаа ашиглана уу"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Дараахыг хийхийн тулд царай, хурууны хээ эсвэл цагаа ашиглана уу"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Утасны түгжээг цагаараа тайлах нь таны хуруу нойтон байх эсвэл царайг тань таниагүй зэрэг үед энэ утасны түгжээг тайлах өөр нэг хялбар арга юм.\n\nТа дараах тохиолдолд цагаа энэ утасны түгжээг тайлахад ашиглах боломжтой:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Одоо биш"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Үргэлжлүүлэх"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Бусад"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Энэ хэрхэн ажилладаг вэ?"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Та цагныхаа түгжээг тайлсан, бугуйндаа зүүсэн бөгөөд энэ утастай ойр байлгах ёстой. Та цагаа бугуйндаа зүүсэн үед түгжээг нь дахин тайлах шаардлагагүй болно."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Энэ утасны түгжээ тайлагдсан үед та цаган дээрээ мэдэгдэл авна. Хэрэв таныг хүсээгүй үед үүний түгжээг тайлсан бол утсыг дахин түгжихийн тулд мэдэгдлийг товшино уу."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Хяналт таны гарт"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Та цагаа Тохиргоо хэсэгт Утасны түгжээг цагаараа тайлах онцлогоос хүссэн үедээ хасах боломжтой"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Мэдэгдлийг товшоорой"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Түгжээтэй дэлгэцэд дээш шудрах"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Цагаа сонгоно уу"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Боломжтой цагнууд"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Цуцлах"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Баталгаажуулах"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Тохируулж дууслаа!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Та одоо түгжээтэй дэлгэцэд дээш шудрах эсвэл мэдэгдлийг товших үед энэ утасны түгжээг тайлахад цагаа ашиглах боломжтой"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Болсон"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Утасны түгжээг цагаараа тайлах"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Та түгжээтэй дэлгэцэд дээш шудрах эсвэл мэдэгдлийг товших үед энэ утасны түгжээг тайлахад цагаа ашиглах боломжтой"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Утасны түгжээг цагаараа тайлахыг ашиглахын тулд та цагныхаа түгжээг тайлсан, цагаа бугуйндаа зүүсэн, ойр байлгаж байгаа бөгөөд энэ утастай холбосон байх ёстой. Хэрэв холболт тасалдсан бол та Утасны түгжээг цагаараа тайлахыг ашиглах боломжтой болохоосоо өмнө утасны түгжээг тайлсан байх шаардлагатай.\n\nСанамж:\nТа нэг удаад зөвхөн нэг цаг тохируулсан байх боломжтой. Өөр цаг нэмэхийн тулд эхлээд одоо байгаа цагийг хасна уу."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Ажилд зориулсан Царай, хурууны хээгээр түгжээ тайлах"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Тохируулга шаардлагатай"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Аюулгүй байдал"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Нууцлал"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Ажлын профайл"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Хаалттай орон зай"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Хувийн аппуудыг түгжээтэй бөгөөд нуугдсан байлгана уу"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Хувийн аппуудыг та нуух эсвэл түгжих боломжтой тусдаа орон зайд байлгаарай"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Хаалттай орон зайн түгжээ"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Та хаалттай орон зайн түгжээг төхөөрөмжийнхөө түгжээг тайлдагтайгаа ижил аргаар тайлах эсвэл өөр түгжээ сонгох боломжтой"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Төхөөрөмжийн дэлгэцийн түгжээг ашиглах"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Царай, хурууны хээгээр түгжээ тайлах"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Хурууны хээгээр түгжээ тайлах"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Царайгаар түгжээ тайлах"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Тохируулахын тулд товшино уу"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Хаалттай орон зайн Хурууны хээгээр түгжээ тайлах"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Хаалттай орон зайн Царайгаар түгжээ тайлах"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Түгжээг тайлах аргууд"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Төхөөрөмжийн дэлгэцийн түгжээтэй ижил"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Хаалттай орон зайд шинэ түгжээ сонгох уу?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Хаалттай орон зайг автоматаар түгжих"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Хэрэв та төхөөрөмжөө хэсэг хугацааны туршид ашиглаагүй бол хувийн орон зайгаа автоматаар түгжих боломжтой"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Төхөөрөмж түгжигдэх бүрд"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 минут идэвхгүй байсны дараа"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Хэзээ ч үгүй"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Түгжсэн үед нуух"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Түгжээтэй үед хаалттай орон зайг нуух"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Таны төхөөрөмж дээр хаалттай орон зай байгаа болохыг бусад хүн мэдэхийг зогсоохын тулд та үүнийг аппуудын жагсаалтаасаа нуух боломжтой"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Нуусан үед хаалттай орон зайд хандах"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Аппын жагсаалтаас хайлтын талбарт \"хаалттай орон зай\" оруул"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Хаалттай орон зайн хавтанг товшино уу"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Хаалттай орон зайнхаа түгжээг тайлна уу"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Унтраалттай"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Асаалттай"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Систем"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Хувийн орон зайг устгах"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Хувийн орон зайг устгах уу?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Таны хувийн орон зайг төхөөрөмжөөс тань хасна. Бүх хувийн апп болон өгөгдлийг устгана. Та энэ үйлдлийг буцаах боломжгүй."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Дараах бүртгэлүүдийг таны хувийн орон зайнаас хасна:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Устгах"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Хувийн орон зайг устгаж байна…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Үүнд хэдэн хором зарцуулна"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Хаалттай орон зайг устгасан"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Хаалттай орон зайг устгаж чадсангүй"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Хувийн орон зайн түгжээг тайлсан"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Дэлгэцийн түгжээг тохируулах"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Хувийн орон зайгаа ашиглах бол уг төхөөрөмжид дэлгэцийн түгжээ тохируулна уу"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Дэлгэцийн түгжээ тохируулах"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Цуцлах"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Цуцлах"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Тохируулах"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Хувийн орон зай тохируулах"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Хувийн аппуудыг та нуух эсвэл түгжих боломжтой тусдаа орон зайд байлгаарай"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Энэ хэрхэн ажилладаг вэ?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Та аппуудын жагсаалтынхаа доод талаас хувийн орон зайдаа хандах боломжтой"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Таны хувийн орон зайн аппуудыг түгжээгээр хамгаалдаг"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Хувийн орон зай түгжээтэй үед түүний аппуудын мэдэгдлийг нуудаг"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Таны хувийн орон зай түгжээтэй үед таны хувийн орон зайн аппууд зөвшөөрлийн менежер, нууцлалын хяналтын самбар болон бусад тохиргоонд харагдахгүй.\n\nТаны хувийн орон зайг шинэ төхөөрөмж рүү зөөх боломжгүй. Хэрэв та үүнийг өөр төхөөрөмжид ашиглахыг хүсвэл өөр хувийн орон зай тохируулах шаардлагатай.\n\nТаны төхөөрөмжийг компьютерт холбодог эсвэл таны төхөөрөмжид аюултай аппууд суулгадаг аливаа хүн таны хувийн орон зайд хандах боломжтой байж магадгүй."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Хувийн орон зайг тохируулж байна…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Үүнийг түгжсэн үед хаалттай орон зайн аппуудын мэдэгдлийг нуудаг"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Зураг эсвэл файлууд хуваалцахын тулд хаалттай орон зайн түгжээг тайлна уу"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Зарим аппыг таны хувийн орон зайд аль хэдийн суулгасан"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Хаалттай орон зайг тохируулж чадсангүй"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Дахин оролдох"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Хувийн орон зайн түгжээг тайлахад дэлгэцийн түгжээг ашиглах уу?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Та хувийн орон зайн түгжээг төхөөрөмжийнхөө түгжээг тайлдагтайгаа ижил аргаар тайлах эсвэл өөр түгжээ сонгох боломжтой"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Дэлгэцийн түгжээг ашиглах"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Шинэ түгжээ сонгох"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Тохируулж дууслаа!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Хаалттай орон зайгаа олохын тулд аппуудынхаа жагсаалт руу очоод, дараа нь доош гүйлгэнэ үү"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Болсон"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Хувийн орон зайг олохын тулд доош гүйлгэнэ үү"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Нэвтрэх"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Хувийн орон зайтайгаа ашиглахын тулд бүртгэлд нэвтэрнэ үү"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Одоо биш"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Үргэлжлүүлэх"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Хувийн орон зайдаа зориулж түгжээ сонгоно уу"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Та хурууны хээгээ ашиглан хувийн орон зайныхаа түгжээг тайлах боломжтой. Аюулгүй байдлын үүднээс энэ сонголт нөөц түгжээ шаарддаг."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Хувийн орон зайдаа ПИН тохируулна уу"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Хувийн орон зайдаа нууц үг тохируулна уу"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Хувийн орон зайдаа хээ тохируулна уу"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Та <xliff:g id="COUNT">%d</xliff:g> хүртэлх хурууны хээ нэмж болно"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Таны зөвшөөрөгдсөн хурууны хээний тоо гүйцсэн байна"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Өөр хурууны хээ нэмэх боломжгүй байна"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Хээ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"ПИН"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Нууц үг"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Дэлгэцийн түгжээг устгах уу?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Төхөөрөмжийн түгжээг тайлах бүх төрлийг хасах уу?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Профайлын хамгаалалтыг устгах уу?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд хээ үүнийг хамгаалдаг.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Энэ нь таны төхөөрөмж дээр хадгалсан хурууны хээний загварыг устгана. Таны нүүрний загварыг мөн бүрмөсөн, аюулгүйгээр устгана. Та царай эсвэл хурууны хээгээ аппуудын баталгаажуулалтад ашиглах боломжгүй болно."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Та ПИН зэрэг хадгалсан өгөгдлөө алдана.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Зайнаас уншуулж төлөхөд зориулж тохируулсан картуудыг хасна.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Төхөөрөмжийн түгжээг тайлахыг шаарддаг Wallet болон бусад апп зохих ёсоор ажиллахгүй байж магадгүй."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Энэ нь мөн таны төхөөрөмж дээр хадгалсан хурууны хээний загварыг устгана. Та хурууны хээгээ аппуудын баталгаажуулалтад ашиглах боломжгүй болно."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Та ПИН болон хурууны хээний загвар зэрэг хадгалсан өгөгдлөө алдана.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Зайнаас уншуулж төлөхөд зориулж тохируулсан картуудыг хасна.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Төхөөрөмжийн түгжээг тайлахыг шаарддаг Wallet болон бусад апп зохих ёсоор ажиллахгүй байж магадгүй."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Таны нүүрний загварыг мөн бүрмөсөн, аюулгүйгээр устгана. Та царайгаа аппуудын баталгаажуулалтад ашиглах боломжгүй болно."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Та ПИН болон нүүрний загвар зэрэг хадгалсан өгөгдлөө алдана.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Зайнаас уншуулж төлөхөд зориулж тохируулсан картуудыг хасна.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Төхөөрөмжийн түгжээг тайлахыг шаарддаг Wallet болон бусад апп зохих ёсоор ажиллахгүй байж магадгүй."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд ПИН үүнийг хамгаалдаг.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Энэ нь таны төхөөрөмж дээр хадгалсан хурууны хээний загварыг устгана. Таны нүүрний загварыг мөн бүрмөсөн, аюулгүйгээр устгана. Та царай эсвэл хурууны хээгээ аппуудын баталгаажуулалтад ашиглах боломжгүй болно."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Та ПИН, нүүр болон хурууны хээний загвар зэрэг хадгалсан өгөгдлөө алдана.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Зайнаас уншуулж төлөхөд зориулж тохируулсан картуудыг хасна.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Төхөөрөмжийн түгжээг тайлахыг шаарддаг Wallet болон бусад апп зохих ёсоор ажиллахгүй байж магадгүй."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Та утсаа гээсэн эсвэл хулгайд алдсан тохиолдолд нууц үг үүнийг хамгаалдаг.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-тай хослуулах уу?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Одоо байгаа зохицуулсан багцад шинэ гишүүн нэмэх"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Аудио төхөөрөмжийнхөө хоёр дахь хэсгийг нэмэхийн тулд баталгаажуулна уу"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth хослох код"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Хослуулах кодыг оруулаад Return буюу Enter дарна уу"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"ПИН нь үсэг буюу тэмдэгт агуулна"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 оронтой тоо байх ёстой"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Та мөн энэ ПИН-г нөгөө төхөөрөмжүүд дээр оруулах хэрэгтэй болж магадгүй."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Та мөн энэ түлхүүрийг нөгөө төхөөрөмж дээр оруулах хэрэгтэй болж магадгүй."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Зохицсон багцтай хослуулахыг баталгаажуулна уу"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Аудио төхөөрөмжтэй хослуулахын тулд баталгаажуулна уу"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Харилцагч болон дуудлагын түүхийн хандалтыг зөвшөөрөх"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Мөн харилцагчид болон дуудлагын түүхэд хандахыг зөвшөөрнө үү"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Мэдээллийг дуудлагын мэдэгдэл болон бусад зүйлд ашиглана"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>-д холбогдож чадсангүй."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Боломжтой төхөөрөмжүүд"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Холбох"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Салгах"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Хослуулах ба холбох"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth-г идэвхжүүлсэн үед таны төхөөрөмж ойролцоо байгаа Bluetooth төхөөрөмжүүдтэй холбогдох боломжтой болно."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth асаалттай үед таны төхөөрөмж ойролцоох бусад Bluetooth төхөөрөмжтэй холбогдох боломжтой"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Bluetooth-г асаасан үед таны төхөөрөмж ойролцоох бусад Bluetooth төхөөрөмжтэй холбогдох боломжтой.\n\nТөхөөрөмжийн хэрэглээг сайжруулахын тулд аппууд болон үйлчилгээнүүд нь хүссэн үед буюу Bluetooth-г унтраалттай байсан ч ойролцоох төхөөрөмжүүдийг скан хийх боломжтой хэвээр байна. Үүнийг байршилд суурилсан онцлогууд болон үйлчилгээнүүдийг сайжруулах зэргээр ашиглаж болно. Та үүнийг Bluetooth-н скан хийх тохиргоонд өөрчлөх боломжтой."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Өөрчлөх"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Төхөөрөмжийн дэлгэрэнгүй"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART-д алдааг нь засах боломжтой аппуудын байт кодыг бататгахыг зөвшөөрөх"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Сэргээх хурдыг харуулах"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Одоогийн дэлгэцийн сэргээх хурдыг харуулах"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR-н харьцааг харуулах"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"HDR/SDR-н одоогийн харьцааг харуулах"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC-н төхөөрөмжийн түгжээг тайлах шаардлагатай"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Нислэгийн горим"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Олон нийтийн Wi-Fi сүлжээг мэдэгдэх"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Өндөр чанарын нийтийн сүлжээ боломжтой үед мэдэгдэх"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP сүлжээнүүдийг зөвшөөрөх"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP нь хамгаалалт багатай аюулгүй байдлын хуучин протокол юм"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP сүлжээнүүд нь хамгаалалт багатай тул таны оператор компани тэдгээрийг зөвшөөрдөггүй"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi-г автоматаар асаах"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi таны гэрийн сүлжээ зэрэг ойролцоох хадгалсан өндөр чанартай сүлжээнд буцаж асах болно."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Байршил унтраалттай байгаа тул боломжгүй байна. "<annotation id="link">"Байршлыг"</annotation>" асаана уу."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi скан нь апп болон үйлчилгээнд Wi‑Fi унтраалттай үед ч Wi‑Fi сүлжээг хүссэн үедээ хайхыг зөвшөөрдөг. Үүнийг байршилд суурилсан онцлог, үйлчилгээ зэргийг сайжруулахад ашиглах боломжтой."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Асаах"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi сканыг асаасан"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Энэ сүлжээ хамгаалалт багатай аюулгүй байдлын хуучин протоколыг ашигладаг"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g>-г блоклосон"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Энэ сүлжээ WEP гэдэг нэртэй аюулгүй байдлын хуучин протоколыг ашигладаг бөгөөд энэ нь хамгаалалт багатай байдаг. Ямартай ч холбогдохын тулд та WEP сүлжээнүүдийг зөвшөөрөх боломжтой."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Энэ сүлжээ хамгаалалт багатай аюулгүй байдлын хуучин протокол ашигладаг тул таны оператор компани танд үүнтэй холбогдохыг зөвшөөрдөггүй"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP-г зөвшөөрөх"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Хаах"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Дэлгэрэнгүй сонголтууд"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Дэлгэрэнгүй сонголтын эвхмэл жагсаалт"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"дэлгэх"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi-Fi-д хэвээр байх"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Дахиад үзүүлэхгүй байх"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Холбогдох"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi-г асаасан"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>-д холбогдсон"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>-д холбогдож байна"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Холбогдож байна…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Сүлжээнд холбогдож чадсангүй"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Сүлжээ хүрээнд алга"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Мартах"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Өөрчлөх"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Сүлжээг мартаж чадсангүй"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Хадгалах"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Сүлжээг хадгалж чадсангүй"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Цуцлах"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобайл дата"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Этернэт"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Цэнэглэж байна"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Цэнэглэж байна"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Сүлжээний цэгийн холболт"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Холболтын хүч"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Хадгалсан сүлжээ"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Тохируулсан нууц үг алга"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Сүлжээний цэгийн нэр"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Сүлжээний цэгийн нууц үг"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP Мессеж"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Сүлжээний цэгийг автоматаар унтраана"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Холбогдсон төхөөрөмжүүд байхгүй үед"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Тохиромжтой байдлыг нэмэгдүүлэх"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Дэлгэцийн цайралтын тэнцвэр"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Эвхэгддэг дэлгэцэд аппуудыг үргэлжлүүлэн ашиглах"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Зарим контентын сэргээх хурдыг автоматаар 60-с <xliff:g id="ID_1">%1$s</xliff:g> Гц болгож өсгөнө. Батарей ашиглалтыг нэмэгдүүлнэ."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Тоглоомын өгөгдмөл фрэймийн хурдыг идэвхгүй болгох"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Тоглоомуудад фреймийн дээд хурдыг <xliff:g id="FRAME_RATE">%1$d</xliff:g> Гц дээр хязгаарлахыг идэвхгүй болгоно уу."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Зарим контентын сэргээх хурдыг <xliff:g id="ID_1">%1$d</xliff:g> Гц болгож автоматаар өсгөнө. Батарей ашиглалтыг нэмэгдүүлнэ."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Сэргээх хамгийн өндөр хурдыг хүчлэх"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Хүрэлтийн хариу үйлдэл болон анимацийн чанарыг сайжруулахад зориулсан хамгийн өндөр сэргээх хурд юм. Батарей ашиглалтыг нэмэгдүүлнэ."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Соргог дэлгэц"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Соргог дэлгэц нь хэн нэгнийг дэлгэц рүү харж байгаа эсэхийг харахын тулд урд талын камерыг ашигладаг. Энэ нь төхөөрөмж дээр ажилладаг бөгөөд зургийг хэзээ ч хадгалдаггүйгээс гадна Google-д илгээдэггүй."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Соргог дэлгэцийг асаах"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Дэлгэц рүү харж байгаа үед түүнийг асаалттай байлгах"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Дэлгэц автоматаар амрах хүртэлх хугацаа урт байвал илүү их батарей ашиглана."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камер түгжээтэй байна"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Царай илрүүлэхийн тулд камерын түгжээг тайлах ёстой"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Соргог дэлгэцийг ашиглахын тулд камерын түгжээг тайлсан байх ёстой"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (sim-н слот <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (sim-н слот <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (үндсэн)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Үзэхийн тулд хадгалсан сүлжээг сонгоно уу"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL хувилбар"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Зайны түвшин"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Нийтийн"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Нийтийн тохиргоо"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Хиймэл дагуулаар мессеж бичих"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Хандалтын цэгийг засах"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Хандалтын цэг нэмэх"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Тохируулаагүй"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Тохируулаагүй"</string>
     <string name="apn_name" msgid="6677695784108157953">"Нэр"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN идэвхжүүлсэн"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN идэвхгүйжүүлсэн"</string>
     <string name="bearer" msgid="3231443241639159358">"Тулгуур"</string>
+    <string name="network_type" msgid="748590707422733595">"Сүлжээний төрөл"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Тодорхойлоогүй"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO төрөл"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO утга"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN устгах"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Хадгалах"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Цуцлах"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN-н оролт давхардсан байна."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Нэр оруулах талбар хоосон байж болохгүй."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN хоосон байж болохгүй."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC талбар 3 цифртэй байх ёстой."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC талбар 2 буюу 3 цифртэй байх ёстой."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Оператор компани нь %s төрлийн APN нэмэхийг зөвшөөрдөггүй."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC талбар хүчинтэй байх ёстой."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Үндсэн APN тохиргоог сэргээж байна"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Үндсэн рүү сэргээх"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Үндсэн APN тохиргоог дахин шинэчилж дууслаа."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Шинэчлэх"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ба Wi‑Fi-г шинэчилсэн"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM-үүдийг устгах"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Энэ нь мобайл үйлчилгээний ямар ч багцыг цуцлахгүй. Орлуулах SIM татахын тулд оператор компанитайгаа холбогдоно уу."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Энэ нь таны мобайл үйлчилгээний багцыг цуцлахгүй. Солих SIM авахын тулд оператор компанитайгаа холбогдоно уу."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Дахин тохируулах"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Сүлжээний бүх тохиргоог шинэчлэх үү? Та энэ үйлдлийг буцаах боломжгүй."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Сүлжээний бүх тохиргоог шинэчилж, eSIM-үүдийг устгах уу? Та энэ үйлдлийг буцаах боломжгүй."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Дахин тохируулах уу?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Энэ хэрэглэгчид сүлжээний тохиргоо хийх боломжгүй байна"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Сүлжээний тохиргоог дахин тохируулсан байна"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM-үүдийг устгаж чадсангүй"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Алдааны улмаас eSIM-үүдийг устгах боломжгүй байна.\n\nТөхөөрөмжөө дахин эхлүүлж, дахин оролдоно уу."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM-үүдийг устгах боломжгүй"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Ямар нэг алдаа гарсан бөгөөд таны eSIM-үүдийг устгаагүй.\n\nТөхөөрөмжөө дахин эхлүүлээд, дахин оролдоно уу."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Бүх өгөгдлийг устгах (үйлдвэрийн тохиргоонд шинэчлэх)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Бүх өгөгдлийг устгах (үйлдвэрийн тохиргоонд шинэчлэх)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Хөгжим"</li>\n<li>"Зураг"</li>\n<li>"Бусад хэрэглэгчийн өгөгдөл"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-үүд"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Энэ нь таны мобайл үйлчилгээний багцыг цуцлахгүй."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Таны бүх хувийн мэдээлэл болон татсан аппыг устгана. Та энэ үйлдлийг болих боломжгүй."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Таны татаж авсан аппууд болон SIM-үүд зэрэг бүх хувийн мэдээллийг устгана. Та энэ үйлдлийг болих боломжгүй."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Таны татсан апп, eSIM-үүдийг оруулаад таны бүх хувийн мэдээллийг устгана. Та энэ үйлдлийг буцаах боломжгүй."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Бүх өгөгдлийг устгах уу?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Энэ хэрэглэгчийн хувьд үйлдвэрийн тохиргоонд шинэчлэх боломжгүй"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Устгаж байна"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Сүлжээний цэг, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Бусад төхөөрөмжтэй интернэт хуваалцахгүй"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Унтраах"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Модем болгох"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi-Fi сүлжээний цэгийг бүү ашигла"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Интернэтийг зөвхөн USB-р хуваалцана"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Интернэтийг зөвхөн Bluetooth-р хуваалцана"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Интернэтийг зөвхөн Ethernet-р хуваалцана"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Интернэтийг зөвхөн USB болон Bluetooth-р хуваалцана"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Интернэтийг зөвхөн USB болон Ethernet-р хуваалцана"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Интернэтийг зөвхөн Bluetooth болон Ethernet-р хуваалцана"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Интернэтийг зөвхөн USB, Bluetooth болон Ethernet-р хуваалцана"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB модем болгох"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth модем болгох"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet модем болгох"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Wi-Fi эсвэл мобайл дата холболтоороо бусад төхөөрөмжид интернэт цацахын тулд сүлжээний цэг болон модем болгохыг ашиглана уу. Түүнчлэн, аппууд ойролцоох төхөөрөмжүүдтэй контент хуваалцахын тулд сүлжээний цэг үүсгэх боломжтой."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Тусламж"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобайл сүлжээ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Мобайл төлбөрийн багц"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS апп"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS апп-г өөрчлөх үү?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Таны үндсэн SMS аппликейшнээр <xliff:g id="CURRENT_APP">%2$s</xliff:g>-н оронд <xliff:g id="NEW_APP">%1$s</xliff:g>-г ашиглах уу?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi-Fi туслагчийг өөрчлөх үү?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Өөрийн сүлжээнии холболтуудыг удирдахад <xliff:g id="NEW_APP">%1$s</xliff:g>-г <xliff:g id="CURRENT_APP">%2$s</xliff:g>-н оронд ашиглах уу?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Сүлжээний холболтуудыг удирдахад <xliff:g id="NEW_APP">%s</xliff:g>-г ашиглах уу?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Тодорхойгүй SIM оператор"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>-д мэдэгдэж буй хангалтын вебсайт алга"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIM карт оруулаад дахин эхлүүлнэ үү"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Интернэтэд холбогдоно уу"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Саяхны байршлын хүсэлтүүд"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Ажлын профайлын байршил"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Аппын байршлын зөвшөөрлүүд"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Хандалтыг устгах"</string>
     <string name="controls_label" msgid="8671492254263626383">"Контрол"</string>
     <string name="force_stop" msgid="2681771622136916280">"Хүчээр зогсоох"</string>
+    <string name="archive" msgid="9074663845068632127">"Архивлах"</string>
+    <string name="restore" msgid="7622486640713967157">"Сэргээх"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Сэргээж байна"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Сэргээж байна."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Сэргээж байна.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Сэргээж байна…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Нийт"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Аппын хэмжээ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB сангийн апп"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Багцын хэмжээг тооцоолж чадсангүй."</string>
     <string name="version_text" msgid="7628938665256107608">"хувилбар <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Зөөх"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Архивлаж чадсангүй"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-г архивласан"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Сэргээж чадсангүй"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>-г сэргээж байна"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Өөр шилжүүлэлтийг аль хэдийн боловсруулж байна."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Хангалттай хадгалалтын сан байхгүй."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Апп байхгүй байна."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Боломжтой дэлгэц дээрх гар"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Дэлгэц дээрх гарыг удирдах"</string>
     <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="6922850403920596246">"Биет гарын хандалтад Ойх түлхүүрүүдийг идэвхжүүлнэ үү"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Удаан товчнууд"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Биет гарын хандалтад Удаан товчнуудыг идэвхжүүлнэ үү"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Бэхэлсэн түлхүүрүүд"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Биет гарын хандалтад Бэхэлсэн түлхүүрүүдийг идэвхжүүлнэ үү"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Бусад сонголтыг авах бол мэдрэгч самбарын баруун доод буланг товшино уу"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Заагчийн хурд"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Мэдрэгч самбарын зангааг мэдэж авах"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Үндсэн нүүр лүү очих"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Мэдрэгч самбарын аль ч хэсэгт 3 хуруугаараа дээш шударна уу"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Буцах"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ашиглалтын цагаар эрэмбэлэх"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Сүүлд ашигласан цагаар эрэмбэл"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Аппын нэрээр эрэмбэлэх"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Ашигласан сүүлийн цаг"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Сүүлд ашигласан"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"хэзээ ч үгүй"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Ашиглалтын цаг"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Хандалт"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Хандалтын тохиргоо"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Гурван удаа товшиж томруулах"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Товчлолоор томруулах"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Товчлол болон гурав товшилтоор томруулах"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>-н тухай"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Нээхийн тулд хандалтын товчлуурыг ашиглах"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Нээхийн тулд дууны түвшний түлхүүрүүдийг удаан дар"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Нээхийн тулд дэлгэцийг гурав товшино уу"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Нээхийн тулд хоёр хуруугаараа дэлгэцийг хоёр товшино уу"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Нээхийн тулд зангааг ашиглах"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Хандалтын зангаа ашиглах"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Энэ онцлогийг ашиглахын тулд дэлгэцийнхээ доод хэсэгт байрлах хандалтын товчлуур <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> дээр товшино уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд хандалтын товчлуур дээр удаан дарна уу."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Энэ онцлогийг ашиглахын тулд дэлгэц дээрх хандалтын товчлуурыг товшино уу."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Энэ онцлогийг ашиглахын тулд дууны түвшний түлхүүрүүдийг зэрэг удаан дарна уу."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Томруулахыг эхлүүлэх болон зогсоохын тулд дэлгэцийнхээ аль нэг хэсэгт гурав товшино уу."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Томруулахыг эхлүүлэх болон зогсоохын тулд хоёр хуруугаараа дэлгэцийнхээ аль нэг хэсэгт хоёр товш."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Энэ онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 2 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 2 хуруугаараа дээш шударч, удаан дарна уу."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Энэ онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 3 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 3 хуруугаараа дээш шударч, удаан дарна уу."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Хандалтын онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 2 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 2 хуруугаараа дээш шударч, удаан дарна уу."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Хандалтын онцлогийг ашиглахын тулд дэлгэцийн доод хэсгээс 3 хуруугаараа дээш шударна уу.\n\nОнцлогуудын хооронд сэлгэхийн тулд 3 хуруугаараа дээш шударч, удаан дарна уу."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ойлголоо"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Хандалтын товчлуурын тохиргоо"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Товчлуурын тохиргоо"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> товчлол"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Хандалтын товчлуур"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Хандалтын зангаа"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Дууны түвшний товчийг удаан дарах"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"дууны түвшний түлхүүрийг удаан дарах"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Дууны түвшний хоёр товчийг зэрэг удаан дарна уу"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Дэлгэцийг хоёр хуруугаараа хоёр товшино уу"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"дэлгэцийг хоёр хуруугаараа хоёр товшино уу"</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="6863958573135995927">"дэлгэцийг гурав товших"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Дэлгэцийг {0,number,integer} удаа хурдан товшино уу. Энэ товчлол таны төхөөрөмжийг удаашруулж магадгүй."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Хандалтын товчлуур болон зангааны тухай нэмэлт мэдээлэл авах"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Хандалтын товчлуурыг ашиглаж байна. 3 товчлуурт навигацаар зангаа боломжгүй байна."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Хандалтын онцлогуудад шуурхай хандана уу"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Эхлүүлэхийн тулд"</b>\n"1. Хандалтын тохиргоо руу очно уу\n2. Онцлогийг сонгож, товчлол дээр товшино уу\n3. Онцлогт хандахын тулд та товчлуур эсвэл зангааны алийг нь ашиглахыг хүсэж байгаагаа сонгоно уу"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Эхлүүлэхийн тулд"</b>\n"1. Хандалтын тохиргоо руу очно уу\n2. Онцлогийг сонгож, товчлол дээр товшино уу\n3. Онцлогт хандах товчлуурыг сонгоно уу"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Товчлуур эсвэл зангаа ашиглах"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Байршил"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Хэмжээ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Асаах товч дуудлагыг тасална"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Хулганын том заагч"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Хулганын заагчийг илүү мэдэгдэхүйц болгох"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Бүх аппыг бараан болгох"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Өөрийн бараан загваргүй аппуудад хамаарна. Зарим апп урвуу өнгө зэрэг дэлгэцийн асуудалтай байж болно."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Анимацийг устгах"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Дэлгэц дээрх хөдөлгөөнийг багасгах"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Моно аудио"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Чичиргээ болон хүртэхүйг ашиглах"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Сэрүүлгийн чичиргээ"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Медиагийн чичиргээ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Гарын чичиргээ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Хонхны чичиргээ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Мэдэгдлийн чичиргээ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Хүрэхэд хариу чичрэх"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Зогсоох"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Цуцлах"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g>-г зогсоох уу?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>-г товшсоноор <xliff:g id="SERVICE">%2$s</xliff:g>-г зогсооно."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Унтраах"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Асаалттай үлдээх"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g>-г унтраах уу?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Үйлчилгээ суулгагдаагүй байна"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Үйлчилгээ сонгоогүй байна"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Тайлбар байхгүй."</string>
     <string name="settings_button" msgid="2195468788019730377">"Тохиргоо"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"гэрэлд мэдрэмтгий байдал, фотофрофи, бараан загвар, мигрень, толгой өвдөх, унших горим, шөнийн горим, гэрэлтүүлгийг багасгах, цагаан цэг"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ашиглахад хялбар, хандахад хялбар, тусламж, туслах"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"хараа, сонсгол, хараагүй, сонсголгүй, хөдөлгөөн, эв дүй, туслах, тусламж, ашиглахад хялбар, хандахад хялбар, гар, тусламж"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Цонх томруулагч, Томруулалт, Томруулах, Сул хараа, Томруулах, том болгох"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Тайлбарууд, хаалттай тайлбарууд, Хаалттай тайлбар, Шууд бичвэр болгон сийрүүлэх, сонсголын бэрхшээл, сонсголын алдагдал, CART, яриаг бичвэрт буулгах, хадмал"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"өнгөний ялгарал"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"мотор, хулгана"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"сонсголын төхөөрөмж, сонсголын бэрхшээл, сонсголын алдагдал, дунгийн суулгац, өсгөх төхөөрөмжүүд, дуу чимээ боловсруулагч"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"хөдөлгөөн, хулгана, гадны хулгана, толгойд зүүдэг хулгана, дасан зохицох хулгана, тэргэнцэр, залуур"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"сонсголын төхөөрөмж, сонсголын бэрхшээл, сонсголын алдагдал, дунгийн суулгац, өсгөх төхөөрөмжүүд, дуу чимээ боловсруулагч, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"сонсголын бэрхшээл, сонсголын алдагдал, тайлбарууд, Tелетайп, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"гурван товчлуур"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"эв дүй, хөдөлгөөн, ахмад, үе мөчний үрэвсэл, rsi, цус харвалт, салгалах, түгээмэл хатуурал, тархины саажилт, чичрэх, олон дахих шөрмөсний гэмтэл, гар"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"саатал, эв дүй, ахмад"</string>
     <string name="print_settings" msgid="8519810615863882491">"Хэвлэлт"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Идэвхгүй"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 хэвлэх үйлчилгээ асаалттай}other{# хэвлэх үйлчилгээ асаалттай}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> үлдсэн"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> цэнэглэх хүртэл"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Дэлгэцийн цаг"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Дэвсгэрийн цаг"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Батарей бага байна"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Аппад цаана ажиллах зөвшөөрөл олгоно уу"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Арын үйл ажиллагааг хязгаарлах уу?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Та арын үйл ажиллагааг аппад хязгаарласан тохиолдолд апп буруу ажиллаж болзошгүй"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Энэ аппыг батарейг оновчлохоор тохируулаагүй тул та үүнийг хязгаарлах боломжгүй.\n\nАппыг хязгаарлахын тулд эхлээд батарейны оновчлолыг асаана уу."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Батарей ашиглалтыг удирдах"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дэвсгэрийн ашиглалтыг зөвшөөрөх"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Тухайн агшны шинэчлэлт авахыг идэвхжүүлж, батарейг хэмнэхийг идэвхгүй болгоно уу"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Хязгаарлаагүй"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оновчилсон"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Хязгаарласан"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Хамгийн өндөр ашиглалттай аппуудыг харна уу"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Таны батарейг хамгаалахын тулд цэнэглэх явцыг оновчилсон"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Таны батарейн эдэлгээг уртасгахад туслахын тулд цэнэглэх явцыг оновчилсон"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Таны батарейг хамгаалахын тулд цэнэглэх явцыг оновчилсон"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Суурилуулсан үед цэнэглэх явцыг оновчилсон нь таны батарейн эдэлгээг уртасгахад тустай."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Таны батарейг хамгаалахын тулд цэнэглэх явцыг оновчилсон"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Суурилуулсан үед цэнэглэх явцыг оновчилсон нь таны батарейн эдэлгээг уртасгахад тустай."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Бүрэн цэнэглэж байна"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Таны батарейг хамгаалахын тулд дараагийн удаа таны таблетыг суурилуулсан үед цэнэглэх явцыг оновчлох болно"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Цэнэглэхийг түр зогсоосон талаар нэмэлт мэдээлэл авах"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Цэнэглэхийг үргэлжлүүлэх"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Өндөр эрчим хүч зарцуулдаг арын үйл ажиллагааг оруулдаг"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Энэ апп батарейг цаана ашиглах боломжтой болно. Таны батарей тооцоолж байснаас хурдан дуусаж болзошгүй."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Устгах"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Цуцлах"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Бүрэн цэнэглэх"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Цэнэглэх хэрэгсэлд асуудал гарлаа"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Цэнэглэх нэмэлт хэрэгслийг шалгах"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Тохиромжгүй адаптераар цэнэглэх талаар нэмэлт мэдээлэл авах"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Батерейны менежер"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Аппыг автоматаар удирдах"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"сүүлд бүрэн цэнэглэснээс хойш"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системийн аппууд"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Устгасан аппууд"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Бусад"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Барагцаалсан үлдсэн хугацаа"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Бүрэн цэнэглэх хүртэл"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Нийт: нэг минутаас доош"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Дэвсгэр: нэг минутаас доош"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Дэлгэцийн цаг: минутаас бага"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Минутаас бага"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Нийт: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Дэвсгэр: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Дэлгэцийн цаг: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"одоо"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Батарей ашиглалтын график"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Батарей ашиглалтын өдөр тутмын график"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Батарей ашиглалтын цаг тутмын график"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Батарейн түвшин <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>-с <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> хувь"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Сүүлд бүрэн цэнэглэснээс хойших батарей ашиглалт"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g>-н батарей ашиглалт"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Сүүлд бүрэн цэнэглэснээс хойших дэлгэцийн цаг"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Яаралтай тусламжийн дуудлагын дохио"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Яаралтай дуудлага хийх үеийн үйлдлийг тохируулах"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Нөөцлөх"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Асаалттай"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Унтраалттай"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Нөөцлөх &amp; сэргээх"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Хувийн өгөгдөл"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Миний өгөгдлийг нөөшлөх"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобайл дата ба Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Хувийн өгөгдлийг автоматаар синк хийх"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Ажлын өгөгдлийг автоматаар синк хийх"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Хувийн өгөгдлийг автоматаар синк хийх"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Циклийг өөрчлөх…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Дата ашиглалтын циклийг шинэчлэх сарын өдөр:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Энэ хугацаанд дата ашигласан апп байхгүй."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Нэр"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Төрөл"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Серверийн хаяг"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифрлэлт (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP нууцлал"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec таниулагч"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Урьдчилан хуваалцсан IPSec түлхүүр"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec хэрэглэгчийн сертификат"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA сертификат"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec серверийн сертификат"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Дэлгэрэнгүй тохируулгыг харуулах"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS хайлтын домэйнүүд"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS серверүүд (жнь. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Чиглүүлэгчийг дамжуулж байна (жнь. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Хэрэглэгчийн нэр"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Нууц үг"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Акаунтын мэдээллийг хадгалах"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ашиглагдаагүй)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(серверийг тулгах хэрэггүй)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(серверээс хүлээн авсан)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Энэ VPN төрөл байнга холбоотой байх боломжгүй"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Тогтмол асаалттай VPN зөвхөн тоон серверийн хаягийг дэмждэг"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS серверийг тогтмол асаалттай VPN-д тогтоох шаардлагатай"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS сервер хаяг тогтмол асаалттай VPN-д тоон утгатай байх шаардлагатай"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Оруулсан мэдээлэл тогтмол асаалттай VPN-г дэмждэггүй"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Цуцлах"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Хаах"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Холболтыг VPN-г ашиглахгүйгээр блоклох"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN холболт шаардлагатай юу?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Аюултай. IKEv2 VPN руу шинэчилнэ үү"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Дэмжигдээгүй VPN-г эхлүүлж чадсангүй."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Байнга холболттой байхын тулд VPN профайл сонгоно уу. Сүлжээний трафик зөвхөн энэ VPN-д холбогдсон үед зөвшөөрөгдөх болно."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Байхгүй"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Байнга асаалттай байх VPN нь сервер болон DNS-т хоёуланд нь IP хаяг шаардана."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"УЛБАР ШАР сэрэмжлүүлэг"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Хүүхэд хулгайлалтын талаарх мэдээлэл хүлээн авах"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Давтах"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Дуудлагын менежерийг идэвхжүүлэх"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Энэ үйлчилгээнд таны дуудлага хийхийг удирдахыг зөвшөөрөх."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Дуудлагын менежер"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Утасгүй сүлжээний онцгой байдлын сэрэмжлүүлэг"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Сүлжээний операторууд"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Хандалтын цэгийн нэрс"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM статус"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-н төлөв (sim-н слот %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-үүдийг өөрчилсөн."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Таны SIM-үүдийг өөрчилсөн"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Тохируулахын тулд дарна уу"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Тухай бүрд асуух"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Сонгох шаардлагатай"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Саяхны хэрэглээний программууд, өгөгдмөл хэрэглээний программууд"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Мэдэгдлийн хандалт ажлын профайлын аппад боломжгүй байна."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Нууц үг, бүртгэл"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Хадгалсан нууц үг, автоматаар бөглөх хэсэг, синк хийсэн бүртгэлүүд"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Нэвтрэх болон автоматаар бөглөхөд зориулсан зөвлөмжүүд"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Өгөгдмөл апп"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Хувилсан аппууд"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Аппын хоёр дахь жишээг үүсгэснээр та нэгэн зэрэг хоёр бүртгэл ашиглах боломжтой болно."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"төлөх, товших, төлбөр"</string>
     <string name="keywords_backup" msgid="707735920706667685">"нөөцлөлт, нөөцлөх"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"зангаа"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"царай, түгжээг тайлах, нотлох, нэвтрэх"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"царай, түгжээг тайлах, баталгаажуулах, нэвтрэх, хурууны хээ, биометр"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl хувилбар, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"текстийн хэмжээ, том хэвлэл, том фонт, том текст, сул хараа, текстийг илүү том болгох, фонт томруулагч, фонт томруулалт"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"дэлгэц амраагчид үргэлж, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, шошго, уншигч"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"гар, хүртэхүй, чичиргээ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Түвшин, чичиргээ, Бүү саад бол"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Медиа дууны түвшин"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Дамжуулах түвшин"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Дууны чадал"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Шууд тайлбар"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Медиад автоматаар тайлбар нэмэх"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Утасны чанга яригч"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Таблетын чанга яригч"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Төхөөрөмжийн чанга яригч"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Утастай чихэвч"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Тохиромжтой медианы аудио илүү таатай сонсогдоно"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Унтраалттай"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Бүх мэдэгдлийн агуулгыг харуулах"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Эмзэг контентыг зөвхөн түгжээг тайлсан үед харуулах"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Огт мэдэгдэл харуулахгүй"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Та мэдэгдлийг түгжээтэй дэлгэцэд хэрхэн харуулах хүсэлтэй байна вэ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Та түгжээтэй дэлгэцдээ юу харахыг хүсэж байна вэ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Түгжээтэй дэлгэц"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ажлын мэдэгдлийн бүх агуулгыг харуулах"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ажлын эмзэг, хурц агуулгыг нуух"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Саяхны харилцан яриаг хассан"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Харилцан яриаг хассан"</string>
     <string name="clear" msgid="5092178335409471100">"Арилгах"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>-г арилгах"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Чухал болон өөрчилсөн харилцан яриа энд харагдана"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Та харилцан яриаг чухал гэж тэмдэглэхэд эсвэл харилцан ярианд аливаа бусад өөрчлөлт хийх тохиолдолд энд харагдана. \n\nХарилцан ярианы тохиргоог өөрчлөхийн тулд: \nДэлгэцийн дээрээс доош шудран доош татдаг хураангуй самбарыг нээгээд, дараа нь харилцан ярианд хүрээд, удаан дарна."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Багасгах"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Мэдэгдлийн хөргөлт"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Бүх мэдэгдэлд хөргөлт хэрэгжүүлэх"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Та нэг аппаас амжилттай олон мэдэгдэл авах үедээ мэдэгдлийн дууны түвшнийг аажмаар бууруулаарай"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Харилцан яриануудад хөргөлт хэрэгжүүлэх"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Та нэг чатаас богино хугацаанд олон мессеж авах үедээ мэдэгдлийн дууны түвшнийг аажмаар бууруулаарай"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Мэдэгдлийн хөргөлтийг бүү ашигла"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Нэг аппаас олон амжилттай мэдэгдэл авсан ч бай мэдэгдлийн дууны түвшнийг хэзээ ч бүү бууруул"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Түгжээг тайлсан үед чичрэх"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Зөвхөн дэлгэцийн түгжээг тайлсан үед чичрэх"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Ажлын профайлуудад хэрэгжүүлэх"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Хувийн профайлаасаа мэдэгдлийн хөргөлтийн тохиргоог ажлын профайлдаа хэрэгжүүлээрэй"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR туслагч үйлчилгээ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Суулгасан апп-с VR туслагч үйлчилгээгээр ажиллах хүсэлт гаргаагүй байна."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR үйлчилгээг <xliff:g id="SERVICE">%1$s</xliff:g>-д хандахыг зөвшөөрөх үү?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Унтраалттай"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Апп бэхлэлт"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Та апп бэхлэх онцлогийг ашигласнаар одоогийн аппыг бэхэлснийг болиулах хүртлээ харагдах байдалд байлгах боломжтой. Энэ онцлогийг итгэдэг найздаа тодорхой тоглоом тоглохыг нь зөвшөөрөх гэх мэтээр ашиглах боломжтой."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Аппыг бэхэлсэн үед бэхэлсэн апп бусад аппыг нээж, хувийн өгөгдөлд хандах боломжтой болж болзошгүй. \n\nАпп бэхлэхийг ашиглахын тулд: 	\n1. Апп бэхлэхийг асаана уу 	\n2. Тоймыг нээнэ үү 	\n3. Дэлгэцийн дээд хэсгийн аппын дүрс тэмдгийг товшиж, дараа нь бэхлэх дээр товшино уу"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Аппыг бэхэлсэн үед бэхэлсэн апп бусад аппыг нээж, хувийн өгөгдөлд хандах боломжтой болж болзошгүй. \n\nХэрэв та хэн нэгэнтэй төхөөрөмжөө аюулгүйгээр хуваалцахыг хүсвэл оронд нь зочин хэрэглэгчийг ашиглаж үзнэ үү. \n\nАпп бэхлэхийг ашиглахын тулд: 	\n1. Апп бэхлэхийг асаана уу 	\n2. Тоймыг нээнэ үү 	\n3. Дэлгэцийн дээд хэсгийн аппын дүрс тэмдгийг товшиж, дараа нь бэхлэх дээр товшино уу"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Аппыг бэхэлсэн үед бэхэлсэн апп бусад аппыг нээж, хувийн өгөгдөлд хандах боломжтой болж болзошгүй. \n\nАпп бэхлэхийг ашиглахын тулд: 	\n{0,number,integer}. Апп бэхлэхийг асаах 	\n{1,number,integer}. Тоймыг нээх 	\n{2,number,integer}. Дэлгэцийн дээд талын аппын дүрс тэмдгийг товшоод дараа нь Бэхлэхийг товшино уу"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Аппыг бэхэлсэн үед бэхэлсэн апп бусад аппыг нээж, хувийн өгөгдөлд хандах боломжтой болж болзошгүй. \n\nХэрэв та хэн нэгэнтэй төхөөрөмжөө аюулгүйгээр хуваалцахыг хүсвэл оронд нь зочин хэрэглэгчийг ашиглаж үзнэ үү. \n\nАпп бэхлэхийг ашиглахын тулд: 	\n{0,number,integer}. Апп бэхлэхийг асаах 	\n{1,number,integer}. Тоймыг нээх 	\n{2,number,integer}. Дэлгэцийн дээд талын аппын дүрс тэмдгийг товшоод дараа нь Бэхлэхийг товшино уу"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Аппыг бэхэлсэн үед: \n\n•	 Хувийн өгөгдөлд хандах боломжтой байж болзошгүй \n		(харилцагчид болон имэйлийн контент зэрэг) \n•	 Бэхэлсэн апп бусад аппыг нээж болзошгүй \n\nАпп бэхлэхийг зөвхөн итгэдэг хүмүүстэйгээ ашиглаарай."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Бэхэлснийг болиулахаас өмнө түгжээ тайлах хээ асуух"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Бэхэлснийг болиулахаасаа өмнө ПИН асуух"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Тогтоосныг суллахаас өмнө нууц үг асуух"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Бэхэлснийг болиулах үед төхөөрөмжийг түгжинэ"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM-г устгахыг баталгаажуулна уу"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Та eSIM-ээ устгахыг хүсэж байгаагаа баталгаажуулна уу"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Та eSIM-г устгахаасаа өмнө өөрийгөө мөн болохыг баталгаажуулна уу"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Санах ойн дэвшилтэт хамгаалалтын бета"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Санах ойн дэвшилтэт хамгаалалт"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ашиглаагүй аппын тохиргоо"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Ашиглаагүй бол аппын үйл ажиллагааг түр зогсоох"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Зөвшөөрлийг хасаж, түр зуурын файлыг устгаж мөн мэдэгдлийг зогсооно"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Хэрэв ашиглаагүй бол аппыг удирдах"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Зөвшөөрлийг хасаж, түр зуурын файлыг устгаж, мэдэгдлийг зогсоож мөн аппыг архивлана"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Бүх апп"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Суулгасан апп"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Шуурхай апп"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Чөлөөтэй"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Апп-ны хэрэглэсэн санах ой"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Сүүлийн {time}-д 1 апп санах ой ашигласан}other{Сүүлийн {time}-д # апп санах ой ашигласан}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Санах ойн ашиглалтын үнэлгээг идэвхжүүл"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Санах ойн ашиглалтын үнэлгээнд системийн нэмэлт нөөцүүд шаардлагатай."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Санах ойн үнэлгээг идэвхгүй болгосон"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Давтамж"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Хамгийн их хэрэглээ"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Дата ашиглаагүй"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Бусад апп дээр харуулах"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Бусад апп дээр харуулахыг зөвшөөрөх"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Энэ аппыг таны ашиглаж буй бусад апп дээр үзүүлэхийг зөвшөөрнө үү. Энэ апп нь таны хаана товшсоныг харах эсвэл дэлгэц дээр үзүүлсэн зүйлийг өөрчлөх боломжтой болно."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Медиа гаралтыг өөрчлөх"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Аппад медиа гаралтыг сэлгэхийг зөвшөөрөх"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Бусад аппаас аль холбогдсон төхөөрөмж аудио эсвэл видео тоглуулахыг сонгохыг энэ аппад зөвшөөрнө үү. Хэрэв үүнийг зөвшөөрсөн бол энэ апп чихэвч, чанга яригч зэрэг боломжтой төхөөрөмжүүдийн жагсаалтад хандаж, аль гаралтын төхөөрөмжийг аудио эсвэл видео дамжуулах эсвэл нэвтрүүлэхэд ашиглахыг сонгох боломжтой."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Бүх файлд хандах хандалт"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Бүх файлыг удирдахын тулд хандахыг зөвшөөрөх"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Энэ аппад энэ төхөөрөмж дээрх эсвэл холбогдсон дурын хадгалах сангийн бүх файлыг унших, өөрчлөх болон устгахыг зөвшөөрөх. Зөвшөөрөл олгогдсон бол апп нь танд тодорхойлон мэдэгдэлгүйгээр файлд хандаж болзошгүй."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Бүх файлд хандах боломжтой"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Дуут идэвхжүүлэлтийн аппууд"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дуут идэвхжүүлэлтийг зөвшөөрөх"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Дуут идэвхжүүлэлт дуут тушаалыг ашиглан гараас хамаарахгүйгээр зөвшөөрөгдсөн аппуудыг асаана. Бүрэлдэхүүн дасан зохицох мэдрэгч нь өгөгдөл зөвхөн танд хувийн байхыг баталгаажуулдаг.\n\n"<a href="">"Хамгаалалттай дасан зохицох мэдрэгчийн талаарх дэлгэрэнгүй"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Бүтэн дэлгэцийн мэдэгдэл"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Энэ аппаас бүтэн дэлгэцийн мэдэгдлийг зөвшөөрөх"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Төхөөрөмжийг түгжээтэй үед энэ аппад бүтэн дэлгэцийг эзлэх мэдэгдэл харуулахыг зөвшөөрнө үү. Сэрүүлэг, ирсэн дуудлага эсвэл бусад яаралтай мэдэгдлийг онцлоход аппууд эдгээрийг ашиглаж магадгүй."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> дата хэрэглээний сануулга"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> дата хэрэглээний хязгаар"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> дата хэрэглээний сануулга / <xliff:g id="ID_2">^2</xliff:g> дата хэрэглээний хязгаар"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Оператор компанийн дата тооцоололт нь төхөөрөмжийн тооцоололтоос өөр байж болно"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Оператор компанийн сүлжээгээр ашигласан датаг оруулдаггүй"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ашигласан"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Датаны сануулгыг тохируулах"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g>-н өмнө шинэчилсэн"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> дөнгөж сая шинэчилсэн"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Дөнгөж сая шинэчилсэн"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Төлөвлөгөөг харах"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Дэлгэрэнгүй үзэх"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Дата хэмнэгч"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Хязгаарлалтгүй дата"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ард байхдаа ердийнхөөс илүү их батарей ашигласан"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> нүүрэн талд байхдаа илүү их батарей ашигласан"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> нүүрэн талд байхдаа ердийнхөөс илүү их батарей ашигласан"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Батарей ашиглалтын согог"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Батарейн их хэмжээний ашиглалт"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Батарейн дэвсгэр дэх их хэмжээний ашиглалт"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Батарейн нүүрэн тал дахь их хэмжээний ашиглалт"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Шуурхай тохиргоо хөгжүүлэгчийн хавтан"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"ADB-н зөвшөөрлийн хугацааг идэвхгүй болгох"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Өгөгдмөлөөр (7 хоног) эсвэл хэрэглэгчийн тохируулсан (хамгийн багадаа 1 хоног) хугацаанд дахин холбогдоогүй системийн хувьд ADB-н зөвшөөрлийг автоматаар цуцлахыг идэвхгүй болгох."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Мэдрэгчийг унтраах"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Ажлын профайлын тохиргоо"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Хувийн аппуудаас ажлын харилцагчдын лавлах хайх"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"системийн навигац, 2 товчлуурт навигац, 3 товчлуурт навигац, зангааны навигац, шудрах"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дижитал туслах"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Туслахыг дуудахын тулд шудрах"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Дижитал туслах аппыг дуудахын тулд доод булангаас дээш шударна уу."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Дижитал туслах аппыг дуудахын тулд доод булангаас дээш шударна уу"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Туслахыг идэвхжүүлэхийн тулд Нүүр хуудасны товчлуур дээр удаан дарна уу"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Дижитал туслах аппыг дуудахын тулд Нүүр хуудасны товчлуурыг удаан дарна уу."</string>
     <string name="low_label" msgid="6525629096999711220">"Бага"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Автоматаар бөглөх үйлчилгээ"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Автоматаар бөглөх хэсгийн өгөгдмөл үйлчилгээ"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Нууц үг"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Нууц үг, нэвтрэх түлхүүр болон өгөгдлийн үйлчилгээнүүд"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Нэмэлт үйлчилгээ үзүүлэгчид"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Сонгосон үйлчилгээ"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Нэмэлт үйлчилгээнүүд"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# нууц үг}other{# нууц үг}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"автомат, бөглөх, автоматаар бөглөх хэсэг, нууц үг"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"өгөгдөл, passkey, нууц үг"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"автомат, бөглөх, автоматаар бөглөх хэсэг, өгөгдөл, нэвтрэх түлхүүр, нууц үг"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Өөрчлөх"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Нээх"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Юу ч сонгоогүй"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Энэ апп-д итгэдэг эсэхээ шалгана уу&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google автоматаар бөглөх&gt;%1$s&lt;/xliff:g&gt; таны дэлгэцэд автоматаар бөглөх зүйлийг илрүүлэхийн тулд ашигладаг."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ашиглах уу?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; нь юуг автоматаар бөглөж болохыг шийдвэрлэхийн тулд таны дэлгэцэд байгаа зүйлийг ашигладаг. Шинэ нууц үг, нэвтрэх түлхүүр болон бусад мэдээллийг одооноос энд хадгална."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Нууц үг, нэвтрэх түлхүүр болон өгөгдлийн үйлчилгээнүүд"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt;-г ашиглах &lt;br/&gt; &lt;br/&gt; Шинэ нууц үг, нэвтрэх түлхүүр болон бусад мэдээллийг одооноос эхлэн энд хадгална. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; юуг автоматаар бөглөж болохыг тодорхойлохын тулд таны дэлгэцэд байгаа зүйлсийг ашиглаж магадгүй."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Нууц үг, нэвтрэх түлхүүр болон автоматаар бөглөхөд илүүд үзсэн үйлчилгээ"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s-г унтраах уу?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Энэ үйлчилгээг унтраах уу?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Нууц үг, нэвтрэх түлхүүр, төлбөрийн хэрэгсэл болон бусад хадгалсан мэдээллийг таныг нэвтрэх үед бөглөхгүй. Хадгалсан мэдээллээ ашиглахын тулд нууц үг, нэвтрэх түлхүүр эсвэл өгөгдлийн үйлчилгээ сонгоно уу."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Нууц үг, нэвтрэх түлхүүр, автоматаар бөглөх"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Бүх үйлчилгээг унтраах уу?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Нууц үг, нэвтрэх түлхүүр болон бусад хадгалсан мэдээлэл таныг нэвтрэх үед автоматаар бөглөх хэсэгт боломжгүй байх болно"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Илүүд үзсэн үйлчилгээгээ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; болгож өөрчилнө үү&lt;br/&gt; &lt;br/&gt; Шинэ нууц үг, нэвтрэх түлхүүр болон бусад мэдээллийг одооноос энд хадгална. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; юуг автоматаар бөглөж болохыг тодорхойлохын тулд таны дэлгэц дээр байгаа зүйлсийг ашиглаж магадгүй"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s-г ашиглах уу?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Унтраах"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Өөрчлөх"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Та зөвхөн 5 үйлчилгээг асаасан байх боломжтой"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Өөр үйлчилгээ нэмэхийн тулд дор хаяж 1 үйлчилгээг унтраана уу"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s таны дэлгэцэд байгаа зүйлийг ашиглан юуг автоматаар бөглөж болохыг тодорхойлдог."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Нууц үг, нэвтрэх түлхүүр, өгөгдлийн үйлчилгээний хязгаарлалт"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Та 5 хүртэлх нууц үг, нэвтрэх түлхүүр болон өгөгдлийн үйлчилгээг нэгэн зэрэг идэвхжүүлж болно. Илүү ихийг нэмэхийн тулд аль нэг үйлчилгээг унтраана уу."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Нууц үг, нэвтрэх түлхүүр, өгөгдлийн үйлчилгээнүүдийн хязгаарлалт"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Та 5 хүртэлх нууц үг, нэвтрэх түлхүүр болон өгөгдлийн үйлчилгээг зэрэг идэвхжүүлж болно. Илүү ихийг нэмэхийн тулд аль нэг үйлчилгээг унтраана уу."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Унтраах"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Автоматаар бөглөх хэсэг"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Нэвтрэх түвшин"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Аппын тохирох өөрчлөлтийг зөвхөн дебаг хийх боломжтой аппуудад хийх боломжтой. Дебаг хийх боломжтой аппыг суулгаад, дахин оролдож үзнэ үү."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Өөр тохиргооноос шалтгаална"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Бүртгэл"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d бүртгэл"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Төхөөрөмжийн нэр"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Үндсэн мэдээлэл"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Хууль, журам"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC шошгыг скан хийх үед энэ аппад эхлүүлэхийг зөвшөөрнө үү.\nХэрэв энэ зөвшөөрөл асаалттай бол апп нь шошгыг илрүүлэх бүрд сонголт байдлаар боломжтой байх болно."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Медиаг дараахад тоглуулна уу"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> дээр тоглуулах"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Аудиог дараахад тоглуулна"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Энэ төхөөрөмж"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Дуудлагын үед боломжгүй"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Дуудлага авах"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Дууг хаах"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Идэвхжүүлэхийн тулд эхлээд \"Асаах/унтраах товчийг удаан дарах\"-ыг асаах/унтраах цэс болгож өөрчлөөрэй."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Сүлжээний мэдээлэл"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Таны төхөөрөмжийн нэр таны утсан дээрх аппуудад харагдана. Үүнийг мөн таныг Bluetooth төхөөрөмжүүд болон Wi-Fi сүлжээнд холбогдох эсвэл Wi-Fi сүлжээний цэг тохируулах үед бусад хүн харж болзошгүй."</string>
     <string name="devices_title" msgid="649715719278562515">"Төхөөрөмжүүд"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Сүлжээ сонгох"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Салсан"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Нэр"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Өнгө (тохирох аппуудын ашигладаг)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Хадгалах"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM ашиглах"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Энэ SIM-г ашиглах"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Унтраах"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Энэ SIM-г идэвхгүй болгохын тулд SIM картыг салгана уу"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g>-г идэвхжүүлэхийн тулд товшино уу"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM-г устгах"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Энэ SIM-г унтраахын тулд SIM картыг салгаж авна уу"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g>-н SIM-ээ идэвхжүүлэхийн тулд товшино уу"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM-г устгах"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Давуу эрхтэй сүлжээний төрөл"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Сүлжээний ажиллах горимыг өөрчлөх"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Давуу эрхтэй сүлжээний төрөл"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Үнийг нь сүлжээний үйлчилгээ үзүүлэгчээсээ тодруулна уу."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Аппын дата ашиглалт"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Буруу сүлжээний горим <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Үл хэрэгсэнэ үү."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Хиймэл дагуулаар мессеж бичих"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Хиймэл дагуулаар мессеж илгээж, хүлээн авна уу. Таны бүртгэлд багтсан."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Хиймэл дагуулаар мессеж илгээж, хүлээн авна уу. Таны бүртгэлд багтаагүй."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Хиймэл дагуулаар мессеж бичих"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Хиймэл дагуулаар мессеж бичих тухай"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Та зохих эрхтэй <xliff:g id="CARRIER_NAME">%1$s</xliff:g> бүртгэлийн нэг хэсэг байдлаар хиймэл дагуулаар мессеж илгээх болон хүлээн авах боломжтой"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Таны <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-н багц"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Хиймэл дагуулаар мессеж бичих нь таны бүртгэлд багтсан"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Хиймэл дагуулаар мессеж бичих нь таны бүртгэлд багтаагүй"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Хиймэл дагуулаар мессеж бичихийг нэмэх"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Энэ хэрхэн ажилладаг вэ?"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Танд мобайл сүлжээ байхгүй үед"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Таны утас хиймэл дагуулд автоматаар холбогдоно. Шилдэг холболтыг авах бол тэнгэр тод харагдах газар байгаарай."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Таны утас хиймэл дагуулд холбогдсоны дараа"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Та яаралтай тусламжийн үйлчилгээнүүдийг оруулаад дурын хүн рүү мессеж бичих боломжтой. Таны утас мобайл сүлжээг боломжтой үед үүнд дахин холбогдоно."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Хиймэл дагуулаар мессеж бичихэд илүү удаж болох ба энэ нь зөвхөн зарим бүсэд боломжтой. Цаг агаар болон тодорхой байгууламжууд таны хиймэл дагуулын холболтод нөлөөлж болно. Хиймэл дагуулаар дуудлага хийх боломжгүй.\n\nТаны бүртгэлийн өөрчлөлт Тохиргоонд харагдах хүртэл хэсэг хугацаа зарцуулагдаж болно. Дэлгэрэнгүй мэдээлэл авах бол <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-тай холбогдоно уу."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Хиймэл дагуулаар мессеж бичих талаарх нэмэлт мэдээлэл"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Хандах цэгийн нэрс (APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>-д холбогдсон үед боломжгүй"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> руу сэлгэх үү?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM картыг ашиглахад сэлгэх үү?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г ашиглах уу?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Нэг удаад зөвхөн нэг SIM-г идэвхжүүлэх боломжтой.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> руу сэлгэснээр таны <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Нэг удаад зөвхөн 1 eSIM идэвхтэй байх боломжтой.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> руу сэлгэх нь таны <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Нэг удаад зөвхөн нэг SIM идэвхжүүлэх боломжтой.\n\nСэлгэснээр таны <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Нэг дор зөвхөн 1 SIM асаалттай байх боломжтой.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> руу сэлгэх нь таны <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Нэг дор зөвхөн 1 eSIM асаалттай байх боломжтой.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> руу сэлгэх нь таны <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Нэг дор зөвхөн 1 SIM асаалттай байх боломжтой.\n\nСэлгэх нь таны <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Та нэг дор 2 SIM ашиглах боломжтой. <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г ашиглахын тулд нөгөө SIM-г унтраана уу."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> руу сэлгэх"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г унтраана"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM-г унтрааснаар таны үйлчилгээг цуцлахгүй"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Сүлжээнд холбогдож байна…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Дуудлага болон мессежид зориулж <xliff:g id="CARRIER_NAME">%1$s</xliff:g> руу сэлгэж байна…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Оператор компанийг сэлгэх боломжгүй"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Алдааны улмаас оператор компанийг сэлгэх боломжгүй байна."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Таны SIM-г идэвхжүүлж байна…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> рүү сэлгэж байна…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM-үүдийг сэлгэх боломжгүй"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Ямар нэг алдаа гарлаа. SIM-үүдийг сэлгэх боломжгүй."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г унтраах уу?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM-г унтраах уу?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-г унтрааж байна<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Оператор компанийг идэвхгүй болгох боломжгүй"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Алдаа гарсан тул таны оператор компанийг идэвхгүй болгож чадсангүй."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM-г унтраах боломжгүй"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Ямар нэг алдаа гарсан бөгөөд таны SIM-г унтрааж чадсангүй."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 SIM ашиглах уу?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Энэ төхөөрөмжид 2 SIM-г зэрэг идэвхжүүлэх боломжтой. Одоогоор 1 SIM-г үргэлжлүүлэн ашиглах бол \"Үгүй, баярлалаа\"-г товшино уу."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Төхөөрөмжийг дахин эхлүүлэх үү?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Үгүй, баярлалаа"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Цуцлах"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Сэлгэх"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Унтраах"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM-г идэвхжүүлэх боломжгүй"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM-г дахин асааж үзнэ үү. Хэрэв асуудал үргэлжилсээр байвал төхөөрөмжөө дахин эхлүүлнэ үү."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM-ээ тохируулна уу"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Энэ төхөөрөмжид олон SIM ашиглахын тулд мобайл сүлжээний сонголтуудаа тохируулна уу"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM-үүдээ шошголох"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Та дуудлага хийх, мессеж илгээх болон дата ашиглах үедээ болон Тохиргоонд эдгээр шошгыг харна"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-н шошго"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Шошго"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Ашиглах SIM-үүдээ сонгох"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Та нэг дор 2 SIM ашиглах боломжтой"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Үндсэн SIM-үүдээ тохируулах"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Дуудлага, мессеж болон датад аль SIM-үүдийг өгөгдмөлөөр ашиглахыг сонгоно уу"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Таны үндсэн SIM-үүд"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Дуудлагууд"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Мессежүүд"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Автоматаар дата сэлгэх"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Хамрах хүрээ болон боломжтой байдлаас хамааран аль нэг SIM-н датаг ашиглана уу"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Зөвхөн дата"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Тохируулах"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Дараах"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г асааж байна…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобайл сүлжээ"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Утасны дугаар"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-н шошго болон өнгө"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Сүлжээг идэвхжүүлэх"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Оператор компанийг сэлгэх"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> идэвхтэй байна"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Таны <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-н SIM идэвхтэй байна"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM-н тохиргоог шинэчлэхийн тулд товшино уу"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> руу сэлгэсэн"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Өөр оператор компани руу сэлгэсэн"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Таны мобайл сүлжээг өөрчилсөн"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Нөгөө SIM-ээ тохируулна уу"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Идэвхтэй SIM-ээ сонгож эсвэл 2 SIM-г зэрэг ашиглана уу"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Ашиглах дугаараа сонгоно уу"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Энэ төхөөрөмж дээр 1 дугаар боломжтой байгаа хэдий ч нэг удаад зөвхөн нэгийг ашиглах боломжтой}=2{Энэ төхөөрөмж дээр 2 дугаар боломжтой байгаа хэдий ч нэг удаад зөвхөн нэгийг ашиглах боломжтой}other{Энэ төхөөрөмж дээр # дугаар боломжтой байгаа хэдий ч нэг удаад зөвхөн нэгийг ашиглах боломжтой}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Идэвхжүүлж байна<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Одоогоор идэвхжүүлэх боломжгүй байна"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Ашиглах SIM сонгоно уу"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Энэ төхөөрөмж дээр 1 SIM боломжтой хэдий ч нэг удаад зөвхөн нэгийг ашиглах боломжтой}=2{Энэ төхөөрөмж дээр 2 SIM боломжтой хэдий ч нэг удаад зөвхөн нэгийг ашиглах боломжтой}other{Энэ төхөөрөмж дээр # SIM боломжтой хэдий ч нэг удаад зөвхөн нэгийг ашиглах боломжтой}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Асааж байна<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Энэ SIM-г яг одоо асааж чадсангүй"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г ашиглах уу?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-г мобайл дата, дуудлага болон SMS-д ашиглана."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Идэвхтэй SIM байхгүй байна"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Мобайл дата, дуудлагын онцлогууд болон SMS-г дараа ашиглахын тулд сүлжээнийхээ тохиргоонд очно уу"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Энэ eSIM-г устгах уу?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Энэ SIM-г устгаснаар <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-н үйлчилгээг энэ төхөөрөмжөөс хасна.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-н үйлчилгээг цуцлахгүй."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Энэ нь уг төхөөрөмжөөс <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-н үйлчилгээг хасах хэдий ч таны <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-н багцыг цуцлахгүй."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Устгах"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM-г устгаж байна…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM-г устгаж чадсангүй"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Энэ SIM-г алдааны улмаас устгаж чадсангүй.\n\nТөхөөрөмжөө дахин эхлүүлээд, дахин оролдоно уу."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM-г устгаж байна…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM-г устгах боломжгүй"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Ямар нэг алдаа гарсан бөгөөд энэ eSIM-г устгаагүй.\n\nТөхөөрөмжөө дахин эхлүүлээд, дахин оролдоно уу."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Төхөөрөмжид холбох"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> апп таны төхөөрөмжид холбогдохын тулд түр зуурын Wi-Fi сүлжээ ашиглах хүсэлтэй байна"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Төхөөрөмж олдсонгүй. Төхөөрөмжүүдийг асаалттай бөгөөд холбогдох боломжтой эсэхийг нь шалгана уу."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Яаралтай дуудлага"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Таны оператор компани Wi‑Fi Дуудлагаар яаралтай дуудлага хийхийг дэмждэггүй.\nЭнэ төхөөрөмж яаралтай дуудлага хийхийн тулд үүрэн сүлжээ рүү автоматаар сэлгэнэ.\nЯаралтай дуудлагыг зөвхөн үүрэн сүлжээтэй газар хийх боломжтой."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Чанарыг сайжруулахын тулд Wi-Fi-г дуудлагад ашиглах"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Дуудлагыг нөөцлөх"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Хэрэв <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> боломжгүй эсвэл роуминг хийж байвал <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-н дуудлагад мобайл датаны SIM-ээ ашиглана уу."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"дуудлагыг нөөцлөх"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Ирж буй мультимедиа мессеж"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Мультимедиа мессеж илгээх боломжгүй"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Мобайл дата унтраалттай үед <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> дээр мультимедиа мессежийг зөвшөөрөхийн тулд товшино уу"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Таны ажлын удирдамжийн мэдээлэл"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Танай IT админы удирддаг тохиргоо"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16К хуудасны хэмжээтэйгээр ачаалах"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Төхөөрөмжийг 16K хуудасны хэмжээтэй дэмжигдсэн кернелээр ачаал"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16КБ хуудсанд тохирох кернелээр дахин асаах уу?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"САНУУЛГА: Зарим аппликэйшн энэ горимтой тохиромжгүй байж магадгүй. Баталгаажуулалтын дараа төхөөрөмжийг дахин асаана."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4КБ хуудсанд тохирох кернелээр дахин асаах уу?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Баталгаажуулалтын дараа төхөөрөмжийг дахин асаана."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Кернелийг 16КБ хуудсанд тохирох кернел рүү шинэчилж чадсангүй."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Өөрчлөлтүүдийг оруулж байна"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Алдааны мэдээний удирдагч"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Алдааны мэдээний товчлолыг таны төхөөрөмж дээр ямар апп удирддаг болохыг тодорхойлдог."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Хувийн"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Бусад аппын дээр үзүүлэх боломжтой аппуудыг Тохиргооны дэлгэцийг давхарлахыг зөвшөөрөх"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem-г зөвшөөрөх"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Энэ төхөөрөмжид хэрэгслийн туршилтын Mock Modem үйлчилгээг ажиллуулахыг зөвшөөрнө үү. Утсыг хэвийн ашиглах үед үүнийг бүү идэвхжүүл"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Дэлгэц хуваалцах хамгаалалтыг идэвхгүй болгох"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Дэлгэц хуваалцах үеэр системийн ашигласан апп болон мэдэгдлүүдийн хамгаалалтыг идэвхгүй болгоно"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Медиа"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Медиа тоглуулагчийг бэхлэх"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Дахин тоглуулахыг шуурхай үргэлжлүүлэхийн тулд медиа тоглуулагч Шуурхай тохиргоонд нээлттэй хэвээр байдаг"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Түгжигдсэн дэлгэц дээр медиа харуулах"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Дахин тоглуулахаар шуурхай үргэлжлүүлэхийн тулд медиа тоглуулагч түгжигдсэн дэлгэц дээр нээлттэй хэвээр байна"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Медиагийн зөвлөмжийг харуулах"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Туслахын медиагийн зөвлөмжүүдийг харуулах"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Таны үйл ажиллагаанд тулгуурласан"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Тоглуулагчийг нуух"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Тоглуулагчийг харуулах"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"медиа"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Камерын программ хангамжийн өргөтгөлүүдийг зөвшөөрөх"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Нүднээс хамаарахгүй видео бичлэг зэрэг камерын дэвшилтэт онцлогуудын программ хангамжийн өгөгдмөл хэрэгжүүлэлтийг идэвхжүүлнэ."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth-г асаана"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернэт"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-үүд"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Идэвхтэй"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Идэвхгүй"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Асаалттай"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Унтраалттай"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g>-н өгөгдмөл"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"дуудлага"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Тохиромжтой медианы аудио илүү гайхалтай болно"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Толгой хянах"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Таныг толгойгоо хөдөлгөх үед илүү бодит мэт сонсогдохын тулд аудио өөрчлөгдөнө"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синк хийх зөвшөөрөл"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Та <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>-д <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>-д зөвшөөрсөнтэйгээ ижил аппын зөвшөөрлийг өгнө үү"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Утаснаас зөвшөөрлийг синк хийх"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Та энэ утсанд зөвшөөрсөнтэйгээ ижил аппын зөвшөөрлийг цагандаа өгнө үү"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Аудио төхөөрөмжийн төрөл"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Тодорхойгүй"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Чанга яригч"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Дунд зэрэг"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Өндөр"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Энэ аппыг зөвхөн 1 цонхонд нээх боломжтой"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Асаалттай"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Унтраалттай"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Унтраалттай"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Унтраалттай"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Асаалттай"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Унтраалттай"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Асаалттай"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Унтраалттай"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Цайвар дэлгэцийг бараан, бараан дэлгэцийг цайвар болгоно"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Дэлгэцэд томруулах"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Унтраалттай"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Унтраалттай"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Хууран мэхлэх аппууд байгаа эсэхийг скан хийх"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Фишинг байгаа эсэхийг аппын үйл ажиллагаанаас шалгана уу"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Хууран мэхэлсэн аппууд байгаа эсэхийг шалгахад скан хийхийг ашиглана уу"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Ажлын хууран мэхэлсэн аппууд байгаа эсэхийг шалгахад скан хийхийг ашиглана уу"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Одоо нууц үг тохируулсан"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Зөөх үед заагчийг харуулах"</string>
 </resources>
diff --git a/res/values-mr/arrays.xml b/res/values-mr/arrays.xml
index b83f493..ce2af9d 100644
--- a/res/values-mr/arrays.xml
+++ b/res/values-mr/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"उपलब्ध"</item>
     <item msgid="6096962300722555553">"परिक्षेत्राच्या बाहेर"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"बंद केलेली"</item>
+    <item msgid="7781484297606806796">"युनिकास्ट"</item>
+    <item msgid="6667451574264144311">"युनिकास्ट आणि ब्रॉडकास्ट"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"सिस्टम डीफॉल्ट वापरा: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"एका मिनिटानंतर"</item>
     <item msgid="1574040255478150028">"पाच मिनिटांनंतर"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-mr/strings.xml b/res/values-mr/strings.xml
index 7fda3b9..dc975ae 100644
--- a/res/values-mr/strings.xml
+++ b/res/values-mr/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"आता तुम्ही एक डेव्हलपर आहात!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"आवश्यकता नाही, तुम्ही आधीपासून एक डेव्हलपर आहात."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"कृपया सर्वात आधी डेव्हलपर पर्याय सुरू करा."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"फक्त ॲडमिन वापरकर्ते डेव्हलपर सेटिंग्ज अ‍ॅक्सेस करू शकतात."</string>
     <string name="header_category_system" msgid="1665516346845259058">"सिस्टीम"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवेत"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवाबाह्य"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"तुम्ही तुमचे डिव्हाइस फोल्ड करता, तेव्हा पुढील डिस्प्ले सुरू होतो"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"फक्त गेम, व्हिडिओ आणि आणखी बरेच काही"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"अ‍ॅप्ससाठी पुढील डिस्प्ले सुरू होतो, जो तुमची स्क्रीन निष्क्रिय होण्यापासून थांबवतो"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"पुढे सुरू ठेवण्यासाठी वर स्‍वाइप करा"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ॲप वापरणे पुढे सुरू ठेवण्यासाठी तुमचा फोन फोल्ड करा आणि पुढील डिस्प्लेवर स्वाइप करा किंवा स्क्रीन लॉक होण्यासाठी काही सेकंद प्रतीक्षा करा"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"कधीही नाही"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"तुम्ही तुमचे डिव्हाइस फोल्ड करता, तेव्हा पुढील डिस्प्ले लॉक होतो"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ऑटो-रोटेट वापरा"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"संबंधित"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"रिंगटोन आणि अलार्म"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"कॉलदरम्यान ऑडिओ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"मीडिया"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"सूचना आणि इतर सिस्टीम आवाज"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"मीडिया आणि सिस्टीमचे आवाज"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"सूचना"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"बाय डीफॉल्ट, ऑडिओ आउटपुट हे स्वतंत्र अ‍ॅप्सद्वारे निर्धारित केले जाते"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"नाव नसलेले ब्लूटूथ डिव्हाइस"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"शोधत आहे"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"रद्द करा"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ब्लूटूथ LE ऑडिओ बंद करा"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"डिव्हाइसला LE ऑडिओ हार्डवेअरसंबंधित क्षमतांचा सपोर्ट असल्यास, ब्लूटूथ LE ऑडिओ वैशिष्‍ट्य बंद करते."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ब्लूटूथ LE ऑडिओ मोड"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"डिव्हाइस तपशील यांत LE ऑडिओ टॉगल दाखवा"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ब्लूटूथ LE ऑडिओ अनुमती सूची सुरू करा"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ब्लूटूथ LE ऑडिओ अनुमती सूची वैशिष्‍ट्य सुरू करा."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ब्लूटूथ LE ऑडिओ अनुमती सूची बायपास करा"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"अनुमती सूचीच्या निकषांची पूर्तता करण्यासाठी LE ऑडिओ पेरिफेरलची पडताळणी केली नसली, तरीही बाय डीफॉल्ट LE ऑडिओ वापरा."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"मीडिया डिव्हाइस"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"कॉल डिव्हाइस"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"इतर डिव्हाइस"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"सेव्ह केलेली डिव्हाइस"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"खात्याशी संबंधित"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"याआधी खात्यासह वापरले"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"पेअर करण्यासाठी ब्लूटूथ सुरू होईल"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"कनेक्शन प्राधान्ये"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"याआधी कनेक्ट केलेले"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ब्लूटूथ सुरू केले"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"सर्व पहा"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"सर्व पहा"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"स्टायलस"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"टेल बटण प्रेस करा"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (कार्य प्रोफाइल)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"मजकूर फील्डमध्ये लिहा"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"सर्व स्टायलस बटण दाबण्याकडे दुर्लक्ष करा"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"स्टायलस"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ऑडिओ शेअरिंग"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ऑडिओ शेअर करा"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"कॉल आणि अलार्म"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR कोड वापरून ऑडिओ स्ट्रीमशी कनेक्ट करा"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"जवळपासची ऑडिओ स्ट्रीम आढळली नाहीत."</string>
     <string name="date_and_time" msgid="1788358029823431692">"तारीख आणि वेळ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"प्रॉक्सी"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"साफ करा"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"प्राधान्य दिलेल्या भाषांवर %s जोडायचे आहे का?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"तुम्ही या भाषेलादेखील प्राधान्य देता हे अ‍ॅप्स आणि वेबसाइटना यामुळे समजते."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"तुमच्या डिव्हाइसची सेटिंग्ज आणि प्रादेशिक प्राधान्ये बदलतील."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"बदला"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s उपलब्ध नाही"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"शनिवार"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"अ‍ॅप हे प्रादेशिक प्राधान्यांना सपोर्ट करत नसल्यास, अ‍ॅप त्यांची डीफॉल्ट लोकॅल सेटिंग्ज वापरेल."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"भाषा प्राधान्यांबद्दल अधिक जाणून घ्या."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"अतिरिक्त प्राधान्ये"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"संबोधण्यासाठीच्या संज्ञा"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"तुम्हाला कसे संबोधित करायला हवे आहे ते सेट करा"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"अ‍ॅप्स तुम्हाला कशी संबोधीत करतात ते पर्सनलाइझ करण्यासाठी, ती तुमच्या संबोधण्यासाठीच्या संज्ञा वापरू शकतात."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"नमूद केलेले नाही"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"स्त्रीलिंगी"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"पुल्लिंगी"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"तटस्थ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{निवडलेली भाषा काढून टाकायची का?}other{निवडलेल्या भाषा काढून टाकायच्या का?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"मजकूर दुसऱ्या भाषेत डिस्प्ले केला जाईल."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"सर्व भाषा काढू शकत नाही"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"स्थान"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"स्थान वापरा"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"बंद"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{सुरू - # अ‍ॅपला स्थानाचा अ‍ॅक्सेस आहे}other{सुरू - # अ‍ॅप्सना स्थानाचा अ‍ॅक्सेस आहे}}"</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_location_off" msgid="8568995909147566720">"ॲप्स आणि सेवांसाठी स्थान अ‍ॅक्सेस बंद आहे. तुम्ही आणीबाणी नंबरवर कॉल केल्यास किंवा एसएमएस पाठवल्यास तुमच्या डिव्हाइसचे स्थान आणीबाणी प्रतिसादकर्त्यांना अद्याप पाठवले जाऊ शकते."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"स्थान सेटिंग्ज याविषयी अधिक जाणून घ्या."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"स्थान सेटिंग्जबद्दल अधिक जाणून घ्या"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"स्थान अ‍ॅक्सेस बदलण्यासाठी, सेटिंग्ज &gt; सुरक्षा व गोपनीयता &gt; गोपनीयता नियंत्रणेवर जा"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"खाती"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"सुरक्षा"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"एंक्रिप्शन आणि क्रेडेंशियल"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"सर्वोत्तम परिणामांसाठी, Google साठी बनवलेले प्रमाणित असलेले स्क्रीन प्रोटेक्टर वापरा. इतर स्क्रीन प्रोटेक्‍टरसह, तुमच्या लहान मुलाचे फिंगरप्रिंट कदाचित काम करणार नाही."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"वॉच अनलॉक"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"तुम्ही फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट केल्यास, तुम्ही मास्क वापरता किंवा गडद भागात असता, तेव्हा तुमचा फोन तुमचे फिंगरप्रिंट वापरण्यास सांगेल.\n\nतुमचा चेहरा किंवा फिंगरप्रिंट ओळखली जात नाही, तेव्हा तुम्ही तुमचे वॉच वापरून अनलॉक करू शकता."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"तुमची फिंगरप्रिंट ओळखली जात नाही, तेव्हा तुम्ही तुमचे वॉच वापरून अनलॉक करू शकता."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"तुमचा चेहरा ओळखला जात नाही, तेव्हा तुम्ही तुमचे वॉच वापरून अनलॉक करू शकता."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"तुम्ही फेस अनलॉक आणि फिंगरप्रिंट अनलॉक सेट करता, तेव्हा तुम्ही मास्क घातलेला असेल किंवा अंधार असलेल्या भागामध्ये असाल, तेव्हा तुमचा फोन तुमचे फिंगरप्रिंट वापरण्यास सांगेल.\n\nतुमचा फोन अनलॉक करण्यासाठी वॉच अनलॉक हा दुसरा सुलभ मार्ग आहे, उदाहरणार्थ, तुमची बोटे ओली असल्यास किंवा तुमचा चेहरा ओळखला जात नसल्यास."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"तुमचा फोन अनलॉक करण्यासाठी वॉच अनलॉक हा दुसरा सुलभ मार्ग आहे, उदाहरणार्थ, तुमचे फिंगरप्रिंट ओळखले जात नसल्यास."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"तुमचा फोन अनलॉक करण्यासाठी वॉच अनलॉक हा दुसरा सुलभ मार्ग आहे, उदाहरणार्थ, तुमचा चेहरा ओळखला जात नसल्यास."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"हे करण्यासाठी फिंगरप्रिंट किंवा वॉच वापरा"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"हे करण्यासाठी चेहरा किंवा वॉच वापरा"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"हे करण्यासाठी चेहरा, फिंगरप्रिंट किंवा वॉच वापरा"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"हा फोन अनलॉक करण्यासाठी वॉच अनलॉक हा दुसरा सुलभ मार्ग आहे, उदाहरणार्थ, तुमची बोटे ओली असल्यास किंवा तुमचा चेहरा ओळखला जात नसल्यास.\n\nतुम्ही पुढील बाबतींमध्ये तुमचा फोन अनलॉक करण्यासाठी तुमचे वॉच वापरू शकता:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"आता नको"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"पुढे सुरू ठेवा"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"आणखी"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"हे कसे काम करते"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"तुमचे वॉच हे अनलॉक केलेले असणे, तुमच्या मनगटावर असणे आणि या फोनच्या जवळ असणे आवश्यक आहे. वॉच तुमच्या मनगटावर असताना तुम्हाला ते पुन्हा अनलॉक करावे लागणार नाही."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"हा फोन अनलॉक केल्यावर, तुम्हाला तुमच्या वॉचवर सूचित केले जाईल. तुम्हाला अनलॉक करायचा नसतानाही फोन अनलॉक झाल्यास, फोन पुन्हा लॉक करण्यासाठी सूचनेवर टॅप करा."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"तुम्ही नियंत्रक आहात"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"तुम्ही सेटिंग्ज मध्ये कधीही वॉच अनलॉक मधून तुमचे वॉच काढून टाकू शकता"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"सूचनेवर टॅप करा"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"लॉक स्क्रीनवर वरती स्वाइप करा"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"तुमचे वॉच निवडा"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"उपलब्ध असलेली वॉच"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"रद्द करा"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"कन्फर्म करा"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"तुम्ही पूर्णपणे तयार आहात!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"तुम्ही आता तुमच्या लॉक स्क्रीनवर वरती स्वाइप करून किंवा सूचनेवर टॅप करून हा फोन अनलॉक करण्यासाठी तुमचे वॉच वापरू शकता"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"पूर्ण झाले"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"वॉच अनलॉक"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"तुम्ही तुमच्या लॉक स्‍क्रीनवर वरती स्‍वाइप करता किंवा सूचनेवर टॅप करता, तेव्हा हा फोन अनलॉक करण्यासाठी तुम्ही तुमचे वॉच वापरू शकता"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"वॉच अनलॉक वापरण्यासाठी, तुमचे वॉच हे अनलॉक केलेले असणे, तुमच्या मनगटावर असणे, जवळ असणे आणि या फोनशी कनेक्ट केलेले असणे आवश्यक आहे. कनेक्शनमध्ये व्यत्यय आल्यास, तुम्ही वॉच अनलॉक वापरण्यापूर्वी, तुम्हाला तुमचा फोन अनलॉक करणे आवश्यक असेल.\n\nलक्षात ठेवा:\nतुमच्याकडे एका वेळी फक्त एक वॉच सेट केलेले असू शकते. दुसरे वॉच जोडण्यासाठी, आधी सध्याचे वॉच काढून टाका."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलसाठी फेस आणि फिंगरप्रिंट अनलॉक"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप आवश्यक आहे"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"सुरक्षा"</string>
     <string name="privacy_header" msgid="5526002421324257007">"गोपनीयता"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"कार्य प्रोफाइल"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"खाजगी स्पेस"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"खाजगी अ‍ॅप्स लॉक करून आणि लपवून ठेवा"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"तुम्ही खाजगी अ‍ॅप्स लपवू किंवा लॉक करू शकता अशा वेगळ्या स्पेसमध्ये ठेवा"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"खाजगी स्पेसचे लॉक"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"तुम्ही तुमचे डिव्हाइस अनलॉक करता त्याच प्रकारे तुमची खाजगी स्पेस अनलॉक करू शकता किंवा दुसरे लॉक निवडू शकता"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"डिव्हाइसचे स्क्रीन लॉक वापरा"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"फेस आणि फिंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"फिंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"फेस अनलॉक"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"सेट करण्यासाठी टॅप करा"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"खाजगी स्पेससाठी फिंगरप्रिंट अनलॉक"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"खाजगी स्पेससाठी फेस अनलॉक"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"अनलॉक करण्याच्या पद्धती"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"डिव्हाइसच्या स्क्रीन लॉकसारखेच"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"खाजगी स्पेससाठी नवीन लॉक निवडायचे आहे का?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"खाजगी स्पेस आपोआप लॉक करा"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"तुम्ही काही कालावधीसाठी तुमचे डिव्हाइस वापरले नसल्यास, तुमची खाजगी स्पेस आपोआप लॉक करू शकता"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"प्रत्येक वेळी डिव्हाइस लॉक होते"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"५ मिनिटांच्या इनॅक्टिव्हिटीनंतर"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"कधीही नाही"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"लॉक केलेली असताना लपवा"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"खाजगी स्पेस लॉक केलेली असताना ती लपवा"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"तुमच्या डिव्‍हाइसवर खाजगी स्पेस आहे हे इतरांना कळू नये, यासाठी तुम्ही ती ॲप्स सूचीमधून लपवू शकता"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"तुमची खाजगी स्पेस लपवली असताना ती अ‍ॅक्सेस करा"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"तुमच्या अ‍ॅप्स सूचीमधून, शोध बारमध्ये \"खाजगी स्पेस\" एंटर करा"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"खाजगी स्पेसच्या टाइलवर टॅप करा"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"तुमची खाजगी स्पेस अनलॉक करा"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"बंद आहे"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"सुरू आहे"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"सिस्टीम"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"खाजगी स्पेस हटवा"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"खाजगी स्पेस हटवायची आहे का?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"तुमची खाजगी स्पेस तुमच्या डिव्हाइसवरून काढून टाकली जाईल. सर्व खाजगी अ‍ॅप्स आणि डेटा हटवला जाईल. तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"पुढील खाती तुमच्या खाजगी स्पेसमधून काढून टाकली जातील:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"हटवा"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"खाजगी स्पेस हटवत आहे…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"यासाठी थोडा वेळ लागेल"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"खाजगी स्पेस हटवली आहे"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"खाजगी स्पेस हटवता आली नाही"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"खाजगी स्पेस अनलॉक केली आहे"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"स्क्रीन लॉक सेट करा"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"तुमची खाजगी स्पेस वापरण्यासाठी, या डिव्हाइसवर स्क्रीन लॉक सेट करा"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"स्क्रीन लॉक सेट करा"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"रद्द करा"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"रद्द करा"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"सेट करा"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"खाजगी स्पेस सेट करा"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"तुम्ही खाजगी अ‍ॅप्स लपवू किंवा लॉक करू शकता अशा वेगळ्या स्पेसमध्ये ठेवा"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ते कसे काम करते"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"तुम्ही तुमच्या अ‍ॅप्स सूचीच्या तळाशी तुमची खाजगी स्पेस अ‍ॅक्सेस करू शकता"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"तुमची खाजगी स्पेसमधील ॲप्स लॉकद्वारे संरक्षित केलेली असतात"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"तुमची खाजगी स्पेस लॉक केलेली असताना त्यामधील ॲप्सच्या सूचना लपवल्या जातात"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"तुमची खाजगी स्पेस लॉक केलेली असताना तुमच्या खाजगी स्पेसमधील अ‍ॅप्स परवानगी व्यवस्थापक, गोपनीयता डॅशबोर्ड आणि इतर सेटिंग्जमध्ये दिसणार नाहीत.\n\nतुमची खाजगी स्पेस नवीन डिव्हाइसवर हलवली जाऊ शकत नाही. तुम्हाला दुसर्‍या डिव्हाइसवर वापरायची असल्यास, दुसरी खाजगी स्पेस सेट करावी लागेल.\n\nतुमच्‍या डिव्‍हाइसला कॉंप्युटरशी कनेक्ट करणारे किंवा तुमच्या डिव्‍हाइसवर हानिकारक अ‍ॅप्‍स इंस्टॉल करणारे कोणीही तुमची खाजगी स्पेस अ‍ॅक्सेस करू शकते."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"खाजगी स्पेस सेट करत आहे…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"खाजगी स्पेस लॉक केलेली असताना त्यामधील ॲप्ससंबंधित सूचना लपवल्या जातात"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"फोटो किंवा फाइल शेअर करण्यासाठी खाजगी स्पेस अनलॉक करा"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"तुमच्या खाजगी स्पेसमध्ये काही अ‍ॅप्स आधीपासून इंस्टॉल केलेली आहेत"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"खाजगी स्पेस सेट करता आली नाही"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"पुन्हा प्रयत्न करा"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"खाजगी स्पेस अनलॉक करण्यासाठी स्क्रीन लॉक वापरायचे?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"तुम्ही तुमचे डिव्हाइस अनलॉक करता त्याच प्रकारे तुमची खाजगी स्पेस अनलॉक करू शकता किंवा दुसरे लॉक निवडू शकता"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"स्क्रीन लॉक वापरा"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"नवीन लॉक निवडा"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"सर्व तयार आहे!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"तुमची खाजगी स्पेस शोधण्‍यासाठी, तुमच्‍या अ‍ॅप्स सूचीवर जा आणि नंतर खाली स्क्रोल करा"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"पूर्ण झाले"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"खाजगी स्पेस शोधण्यासाठी खाली स्क्रोल करा"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"साइन इन करा"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"तुमच्या खाजगी स्पेससह वापरण्यासाठी खात्यामध्ये साइन इन करा"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"आताच नको"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"पुढे सुरू ठेवा"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"खाजगी स्पेससाठी लॉक निवडा"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"तुम्ही तुमची फिंगरप्रिंट वापरून तुमची खाजगी स्पेस अनलॉक करू शकता. सुरक्षेसाठी, या पर्यायाकरिता बॅकअप लॉक आवश्यक आहे."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"तुमच्या खाजगी स्पेससाठी पिन सेट करा"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"तुमच्या खाजगी स्पेससाठी पासवर्ड सेट करा"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"तुमच्या खाजगी स्पेससाठी पॅटर्न सेट करा"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"तुम्ही <xliff:g id="COUNT">%d</xliff:g> पर्यंत फिंगरप्रिंट जोडू शकता"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"तुम्ही जास्तीत जास्त फिंगरप्रिंट जोडले आहेत"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"आणखी फिंगरप्रिंट जोडू शकत नाही"</string>
@@ -519,12 +648,12 @@
     <string name="lock_settings_picker_profile_message" msgid="9142379549980873478">"तुम्ही हे लॉक विसरल्यास, तुमच्या IT ॲडमिनला ते रीसेट करण्यास सांगा"</string>
     <string name="setup_lock_settings_options_button_label" msgid="6098297461618298505">"स्क्रीन लॉक पर्याय"</string>
     <string name="setup_lock_settings_options_dialog_title" msgid="7985107300517468569">"स्क्रीन लॉक पर्याय"</string>
-    <string name="lock_screen_auto_pin_confirm_title" msgid="3012128112186088375">"ऑटो-कंफर्म अनलॉक"</string>
-    <string name="lock_screen_auto_pin_confirm_summary" msgid="9050818870806580819">"तुम्ही सहा किंवा त्याहून अधिक अंकी योग्य पिन इनपुट केल्यास आपोआप अनलॉक करा. हे कंफर्म करण्यासाठी एंटर वर टॅप करण्यापेक्षा थोडेसे कमी सुरक्षित आहे."</string>
-    <string name="auto_pin_confirm_user_message" msgid="6194556173488939314">"योग्य पिन ऑटो-कंफर्म करा"</string>
-    <string name="auto_pin_confirm_opt_in_security_message" msgid="580773976736184893">"ऑटो-कंफर्म वापरण्यापेक्षा एंटर वर टॅप करून तुमचा पिन कंफर्म करणे अधिक सुरक्षित आहे"</string>
-    <string name="auto_confirm_on_pin_verify_description" msgid="2052240431173223502">"ऑटो-कंफर्म सुरू करण्यासाठी डिव्हाइस पिन एंटर करा"</string>
-    <string name="auto_confirm_off_pin_verify_description" msgid="4256219155659760047">"ऑटो-कंफर्म बंद करण्यासाठी डिव्हाइस पिन एंटर करा"</string>
+    <string name="lock_screen_auto_pin_confirm_title" msgid="3012128112186088375">"ऑटो-कन्फर्म अनलॉक"</string>
+    <string name="lock_screen_auto_pin_confirm_summary" msgid="9050818870806580819">"तुम्ही सहा किंवा त्याहून अधिक अंकी योग्य पिन इनपुट केल्यास आपोआप अनलॉक करा. हे कन्फर्म करण्यासाठी एंटर वर टॅप करण्यापेक्षा थोडेसे कमी सुरक्षित आहे."</string>
+    <string name="auto_pin_confirm_user_message" msgid="6194556173488939314">"योग्य पिन ऑटो-कन्फर्म करा"</string>
+    <string name="auto_pin_confirm_opt_in_security_message" msgid="580773976736184893">"ऑटो-कन्फर्म वापरण्यापेक्षा एंटर वर टॅप करून तुमचा पिन कन्फर्म करणे अधिक सुरक्षित आहे"</string>
+    <string name="auto_confirm_on_pin_verify_description" msgid="2052240431173223502">"ऑटो-कन्फर्म सुरू करण्यासाठी डिव्हाइस पिन एंटर करा"</string>
+    <string name="auto_confirm_off_pin_verify_description" msgid="4256219155659760047">"ऑटो-कन्फर्म बंद करण्यासाठी डिव्हाइस पिन एंटर करा"</string>
     <string name="unlock_set_unlock_launch_picker_title" msgid="4981063601772605609">"स्क्रीन लॉक"</string>
     <string name="unlock_set_unlock_launch_picker_title_profile" msgid="7631371082326055429">"कार्य प्रोफाइल लॉक"</string>
     <string name="unlock_set_unlock_off_title" msgid="2831957685685921667">"काहीही नाही"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"पॅटर्न"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"पिन"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"पासवर्ड"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"स्क्रीन लॉक हटवायचे आहे का?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"डिव्हाइस अनलॉकचे सर्व प्रकार काढून टाकायचे आहेत का?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"प्रोफाइल संरक्षण काढायचे?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पॅटर्न तुमचा फोन सुरक्षित करतो"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पॅटर्न तुमचा फोन सुरक्षित करतो.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>यामुळे तुमच्या डिव्हाइसवर स्टोअर केलेले फिंगरप्रिंट मॉडेल हटवले जाते. तुमचे फेस मॉडेलदेखील कायमचे आणि सुरक्षितरीत्या हटवले जाईल. तुम्ही ॲप्समधील ऑथेंटिकेशनसाठी तुमचा चेहरा किंवा फिंगरप्रिंट वापरू शकणार नाही."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पिन तुमचा फोन सुरक्षित करतो"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"तुम्ही तुमचा पिन यासारखा सेव्ह केलेला डेटा गमवाल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g> संपर्करहित पद्धतीने पेमेंट करा यासाठी सेट केलेली कार्ड काढून टाकली जातील.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट आणि डिव्हाइस अनलॉक आवश्यक असलेली इतर ॲप्स कदाचित योग्यरीत्या काम करणार नाहीत."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पिन तुमचा फोन सुरक्षित करतो.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>यामुळे तुमच्या डिव्हाइसवर स्टोअर केलेले फिंगरप्रिंट मॉडेलदेखील हटवले जाते. तुम्ही ॲप्समधील ऑथेंटिकेशनसाठी तुमची फिंगरप्रिंट वापरू शकणार नाही."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"तुम्ही तुमचा पिन आणि फिंगरप्रिंट मॉडेल यांसारखा सेव्ह केलेला डेटा गमवाल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>संपर्करहित पद्धतीने पेमेंट करा यासाठी सेट केलेली कार्ड काढून टाकली जातील.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट आणि डिव्हाइस अनलॉक आवश्यक असलेली इतर ॲप्स कदाचित योग्यरीत्या काम करणार नाहीत."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पिन तुमचा फोन सुरक्षित करतो.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>तुमचे फेस मॉडेलदेखील कायमचे आणि सुरक्षितरीत्या हटवले जाईल. तुम्ही ॲप्समधील ऑथेंटिकेशनसाठी तुमचा चेहरा वापरू शकणार नाही."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"तुम्ही तुमचा पिन आणि फेस मॉडेल यांसारखा सेव्ह केलेला डेटा गमवाल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>संपर्करहित पद्धतीने पेमेंट करा यासाठी सेट केलेली कार्ड काढून टाकली जातील.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट आणि डिव्हाइस अनलॉक आवश्यक असलेली इतर ॲप्स कदाचित योग्यरीत्या काम करणार नाहीत."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पिन तुमचा फोन सुरक्षित करतो.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>यामुळे तुमच्या डिव्हाइसवर स्टोअर केलेले फिंगरप्रिंट मॉडेल हटवले जाते. तुमचे फेस मॉडेलदेखील कायमचे आणि सुरक्षितरीत्या हटवले जाईल. तुम्ही ॲप्समधील ऑथेंटिकेशनसाठी तुमचा चेहरा किंवा फिंगरप्रिंट वापरू शकणार नाही."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"तुम्ही तुमचा पिन, फेस आणि फिंगरप्रिंट मॉडेल यांसारखा सेव्ह केलेला डेटा गमवाल.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>संपर्करहित पद्धतीने पेमेंट करा यासाठी सेट केलेली कार्ड काढून टाकली जातील.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>वॉलेट आणि डिव्हाइस अनलॉक आवश्यक असलेली इतर ॲप्स कदाचित योग्यरीत्या काम करणार नाहीत."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पासवर्ड तुमचा फोन सुरक्षित करतो"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"तुमचा फोन हरवल्यास किंवा चोरीला गेल्यास पासवर्ड तुमचा फोन सुरक्षित करतो.<xliff:g id="EMPTY_LINE">
 
@@ -623,7 +772,7 @@
     <string name="lockpassword_password_requires_nonnumerical" msgid="389687423482993365">"{count,plural, =1{किमान एक अंक नसलेला वर्ण असणे आवश्यक आहे}other{किमान # अंक नसलेले वर्ण असणे आवश्यक आहे}}"</string>
     <string name="lockpassword_password_recently_used" msgid="5341218079730167191">"डिव्हाइस प्रशासक अलीकडील पासवर्ड वापरण्याची अनुमती देत नाही"</string>
     <string name="lockpassword_pin_no_sequential_digits" msgid="5843639256988031272">"अंकांच्या चढत्या, उतरत्या किंवा पुनरावृत्त क्रमाला अनुमती नाही"</string>
-    <string name="lockpassword_confirm_label" msgid="560897521093566777">"कंफर्म करा"</string>
+    <string name="lockpassword_confirm_label" msgid="560897521093566777">"कन्फर्म करा"</string>
     <string name="lockpassword_clear_label" msgid="311359833434539894">"साफ करा"</string>
     <string name="lockpassword_credential_changed" msgid="5934778179732392028">"स्क्रीन लॉक आधीच बदलले गेले आहे. नवीन स्क्रीन लॉकने पुन्हा प्रयत्न करा."</string>
     <string name="lockpattern_tutorial_cancel_label" msgid="775215267818384016">"रद्द करा"</string>
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ब्लूटूथ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ब्लूटूथ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सह पेअर करायचे?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"सध्याच्या समन्वित संचामध्ये नवीन सदस्य जोडा"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"तुमच्या ऑडिओ डिव्हाइसचा दुसरा भाग जोडण्याचे कन्फर्म करा"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ब्लूटूथ पेअरिंग कोड"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"पेअरिंग कोड टाइप करा नंतर Return किंवा एंटर प्रेस करा"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"पिन मध्ये अक्षरे किंवा प्रतीके आहेत"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 अंक असणे आवश्यक आहे"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"तुम्हाला इतर डिव्हाइसवर देखील हा पिन टाईप करण्याची आवश्यकता असू शकते."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"तुम्हाला इतर डिव्हाइसवर देखील ही पासकी टाईप करण्याची आवश्यकता असू शकते."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"समन्वित सेटशी पेअर करण्याचे कंफर्म करा"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ऑडिओ डिव्हाइससह जोडण्याचे कन्फर्म करा"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"तुमच्या संपर्क आणि कॉल इतिहासातील अ‍ॅक्सेसची अनुमती द्या"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"संपर्क आणि कॉल इतिहासाच्या अ‍ॅक्सेसचीदेखील अनुमती द्या"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"कॉल घोषणा आणि आणखी बऱ्याच गोष्टींसाठी माहिती वापरली जाईल"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सह कनेक्ट करणे शक्य झाले नाही."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"उपलब्ध डिव्हाइस"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट करा"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"‍डिस्कनेक्ट करा"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"पेअर करा आणि कनेक्ट करा"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लूटूथ सुरू असते तेव्हा, तुमचे डिव्हाइस इतर जवळच्या ब्लूटूथ डिव्हाइस सह संवाद करू शकते."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ब्लूटूथ सुरू केल्यावर, डिव्हाइस हे जवळील ब्लूटूथ डिव्‍हाइसशी संवाद साधेल"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्‍लूटूथ सुरू असते, तेव्हा तुमचे डिव्‍हाइस इतर जवळपासच्‍या ब्‍लूटूथ डिव्‍हाइसशी संवाद साधू शकते.\n\nडिव्‍हाइसच्या अनुभवामध्ये सुधारणा करण्‍यासाठी, ब्‍लूटूथ बंद असतानादेखील, अ‍ॅप्स आणि सेवा जवळपासची डिव्‍हाइस कधीही स्‍कॅन करू शकतात. उदाहरणार्थ, हे स्थानावर आधारित वैशिष्ट्ये आणि सेवांमध्ये सुधारणा करण्यासाठी वापरले जाऊ शकते. तुम्‍ही हे ब्लूटूथ स्‍कॅनिंग सेटिंग्‍जमध्‍ये जाऊन बदलू शकता."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"बदला"</string>
     <string name="device_details_title" msgid="1155622417516195481">"डिव्हाइस तपशील"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"डीबग करण्यायोग्य ॲप्ससाठी बाइटकोडची पडताळणी करण्यासाठी ART ला अनुमती द्या"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"रिफ्रेश रेट दाखवा"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"सध्याचा प्रदर्शन रिफ्रेश रेट दाखवा"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR रेशो दाखवा"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"सध्याचा HDR/SDR रेशो दाखवा"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC साठी डिव्हाइस अनलॉक आवश्यक आहे"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android बीम"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"विमान मोड मध्ये"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"सार्वजनिक नेटवर्क संबंधित सूचना द्या"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"उच्च गुणवत्तेचे सार्वजनिक नेटवर्क उपलब्ध असताना सूचित करा"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP नेटवर्कना अनुमती द्या"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP हा आणखी जुना कमी सुरक्षित असलेला सुरक्षा प्रोटोकॉल आहे"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP नेटवर्क कमी सुरक्षित असल्यामुळे तुमचा वाहक त्यांना अनुमती देत नाही"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"वाय-फाय आपोआप सुरू करा"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"तुमच्या होम नेटवर्कसारख्या सेव्ह केलेल्या उच्च दर्जाच्या नेटवर्कजवळ असताना वाय-फाय आपोआप परत सुरू होईल"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"स्थान बंद केल्यामुळे अनुपलब्ध आहे. "<annotation id="link">"स्थान"</annotation>" सुरू करा."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"वाय-फाय स्कॅनिंग हे अ‍ॅप्स आणि सेवांना वाय-फाय बंद असतानाही कोणत्याही वेळी वाय-फाय नेटवर्कसाठी स्कॅन करण्याची अनुमती देते. उदाहरणार्थ, स्थान आधारित वैशिष्ट्ये आणि सेवांमध्ये सुधारणा करण्यासाठी हे वापरले जाऊ शकते."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"सुरू करा"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"वाय-फाय स्कॅनिंग सुरू केले आहे"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"हे नेटवर्क कमी सुरक्षित असलेले आणखी जुने सुरक्षा प्रोटोकॉल वापरते"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ला ब्लॉक केले आहे"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"हे नेटवर्ट कमी सुरक्षित असलेला WEP हा आणखी जुना सुरक्षा प्रोटोकॉल वापरते. तरीही कनेक्ट करण्यासाठी, तुम्ही WEP नेटवर्कला अनुमती देऊ शकता."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"नेटवर्क कमी सुरक्षित असलेला जुना सुरक्षा प्रोटोकॉल वापरते, त्यामुळे तुमचा वाहक तुम्हाला या नेटवर्कशी कनेक्ट करण्याची अनुमती देत नाही"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP ला अनुमती द्या"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"बंद करा"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"प्रगत पर्याय"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ड्रॉप-डाउन सूचीचे प्रगत पर्याय"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"विस्तार करा"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"वाय‑फाय वर सुरू ठेवा"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"पुन्हा कधीही दर्शवू नका"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"कनेक्ट करा"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"वाय-फाय सुरू केले आहे"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> शी कनेक्ट केले आहे"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> शी कनेक्ट करत आहे"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"कनेक्ट करत आहे…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"नेटवर्कशी कनेक्‍ट करण्‍यात अयशस्वी"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"नेटवर्क रेंजमध्ये नाही"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"विसरा"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"बदल करा"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"नेटवर्क विसरण्यात अयशस्वी"</string>
     <string name="wifi_save" msgid="2312643132472226807">"सेव्ह करा"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"नेटवर्क सेव्ह करण्यात अयशस्वी"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"रद्द करा"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"वाय-फाय"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"मोबाइल डेटा"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"इथरनेट"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ चार्ज होत आहे"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ चार्ज होत आहे"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"हॉटस्पॉट कनेक्शन"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"कनेक्शनची क्षमता"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"सेव्ह केलेली नेटवर्क"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"पासवर्ड सेट केलेला नाही"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"हॉटस्पॉट नाव"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"हॉटस्पॉट पासवर्ड"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP बॅंड"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"हॉटस्पॉट आपोआप बंद करा"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"कोणतीही डिव्हाइस कनेक्ट केलेली नसताना"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"कंपॅटिबिलिटी वाढवा"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"व्हाइट बॅलन्स डिस्प्ले करा"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"फोल्डवर ॲप्स वापरणे पुढे सुरू ठेवा"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"स्मूथ डिस्प्ले"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"काही आशयासाठी रिफ्रेश रेट ६० ते <xliff:g id="ID_1">%1$s</xliff:g> Hz पर्यंत आपोआप वाढवते. बॅटरी वापर वाढवते."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"गेमसाठी डीफॉल्ट फ्रेम दर बंद करा"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"गेमसाठी कमाल फ्रेम दर <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz पर्यंत मर्यादित करण्यासाठी बंद करा."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"स्मूथ डिस्प्ले"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"काही आशयासाठी रिफ्रेश रेट कमाल <xliff:g id="ID_1">%1$d</xliff:g> Hz पर्यंत आपोआप वाढवते. बॅटरी वापर वाढवते."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"सक्तीने सर्वोच्च रिफ्रेश रेट गाठा"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"सुधारित स्पर्श प्रतिसाद आणि अ‍ॅनिमेशन गुणवत्तेसाठी उच्चतम रिफ्रेश रेट. बॅटरी वापर वाढवतो."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"स्क्रीन अटेंशन"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"कोणी स्क्रीनकडे पाहत असल्यास स्क्रीन अटेंशन पुढील कॅमेरा वापरते. ते डिव्हाइसवर काम करते आणि इमेज कधीही स्टोअर केल्या जात नाहीत किंवा Google ला पाठवल्या जात नाहीत."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"स्क्रीन अटेंशन सुरू करा"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"स्क्रीनकडे पाहत ती सुरू ठेवा"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"दीर्घ स्क्रीन टाइमआउट अधिक बॅटरी वापरेल."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"कॅमेरा लॉक केलेला आहे"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"फेस डिटेक्शन साठी कॅमेरा अनलॉक करणे आवश्यक आहे"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"स्क्रीन अटेंशन साठी कॅमेरा अनलॉक केलेला असणे आवश्यक आहे"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (सिम स्लॉट <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (सिम स्लॉट <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (प्राथमिक)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"पाहण्यासाठी, सेव्ह केलेले नेटवर्क निवडा"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL आवृत्ती"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"बॅटरी पातळी"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"सामुदायिक"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"सामुदायिक सेटिंग्ज"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"उपग्रह मेसेजिंग"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"अ‍ॅक्सेस पॉइंट संपादित करा"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ॲक्सेस पॉइंट जोडा"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"सेट नाही"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"सेट केलेले नाही"</string>
     <string name="apn_name" msgid="6677695784108157953">"नाव"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN सक्षम केले"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN अक्षम केले"</string>
     <string name="bearer" msgid="3231443241639159358">"वाहक"</string>
+    <string name="network_type" msgid="748590707422733595">"नेटवर्कचा प्रकार"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"नमूद केलेला नाही"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO प्रकार"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO मूल्य"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN हटवा"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"सेव्ह करा"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"रद्द करा"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"डुप्लिकेट APN एंट्री."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"नाव फील्ड रिक्त असू शकत नाही."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN रिक्त असू शकत नाही."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC फील्ड 3 अंकी असणे आवश्यक आहे."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC फील्ड 2 किंवा 3 अंकी असणे आवश्यक आहे."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"%s प्रकारचे APN जोडण्‍याची अनुमती वाहक देत नाही."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC फील्ड योग्य असणे आवश्यक आहे."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"डीफॉल्ट APN सेटिंग्ज पुनर्संचयित करत आहे."</string>
     <string name="menu_restore" msgid="4310539620115151551">"डीफॉल्टवर रीसेट करा"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"डीफॉल्ट APN सेटिंग्ज रीसेट करणे पूर्ण झाले."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"रीसेट करा"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ब्लूटूथ आणि वाय-फाय रीसेट केले गेले आहे"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs मिटवा"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"यामुळे कोणतेही मोबाइल सेवा प्लॅन रद्द होणार नाहीत. बदललेले SIM डाउनलोड करण्यासाठी तुमच्या वाहकाशी संपर्क साधा."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"यामुळे तुमचा मोबाइल सेवा प्लॅन रद्द होणार नाही. बदली सिम मिळवण्यासाठी, तुमच्या वाहकाशी संपर्क साधा."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"सेटिंग्ज रीसेट करा"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"सर्व नेटवर्क सेटिंग्ज रीसेट करायची? तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"सर्व नेटवर्क सेटिंग्ज रीसेट करायची आणि eSIMs मिटवायची आहेत का? तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"रीसेट करायचे?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"या वापरकर्त्यासाठी नेटवर्क रीसेट उपलब्ध नाही"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"नेटवर्क सेटिंग्ज रीसेट केल्या गेल्या आहेत"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"सिम मिटवू शकत नाही"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIMs एका एररमुळे मिटवता आली नाहीत.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIMs मिटवू शकत नाही"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"काहीतरी चुकले आणि तुमचे eSIMs मिटवली गेली नाहीत.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
     <string name="main_clear_title" msgid="277664302144837723">"सर्व डेटा मिटवा (फॅक्टरी रीसेट)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"सर्व डेटा मिटवा (फॅक्टरी रीसेट)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"संगीत"</li>\n<li>"फोटो"</li>\n<li>"इतर वापरकर्ता डेटा"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"यामुळे तुमचा मोबाइल सेवा प्‍लॅन रद्द होणार नाही."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"तुमची सर्व वैयक्तिक माहिती आणि डाउनलोड केलेली अ‍ॅप्स हटवली जातील. तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"डाउनलोड केलेली अ‍ॅप्स आणि सिमसह, तुमची सर्व वैयक्तिक माहिती हटवली जाईल. तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"डाउनलोड केलेली अ‍ॅप्स आणि eSIMs सह, तुमची सर्व वैयक्तिक माहिती हटवली जाईल. तुम्ही ही कृती पहिल्यासारखी करू शकत नाही."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"सर्व डेटा मिटवायचा का?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"या वापरकर्त्यासाठी फॅक्‍टरी रीसेट उपलब्‍ध नाही"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"मिटवत आहे"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"हॉटस्पॉट, USB, ब्लूटूथ, इथरनेट"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"इतर डिव्हाइससह इंटरनेट शेअर करत नाही"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"बंद आहे"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"टेदरिंग"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"वाय-फाय हॉटस्पॉट वापरू नका"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"फक्त USB द्वारे इंटरनेट शेअर करा"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"फक्त ब्लूटूथद्वारे इंटरनेट शेअर करा"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"फक्त इथरनेट द्वारे इंटरनेट शेअर करा"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"फक्त USB आणि ब्लूटूथद्वारे इंटरनेट शेअर करा"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"फक्त USB आणि इथरनेट द्वारे इंटरनेट शेअर करा"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"फक्त ब्लूटूथ आणि इथरनेट द्वारे इंटरनेट शेअर करा"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"फक्त USB, ब्लूटूथ आणि इथरनेट द्वारे इंटरनेट शेअर करा"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB टेदरिंग"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ब्लूटूथ टेदरिंग"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"इथरनेट टेदरिंग"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"तुमच्या मोबाइल डेटा कनेक्शन किंवा वाय-फाय द्वारे इतर डिव्हाइसना इंटरनेट पुरवण्यासाठी हॉटस्पॉट आणि टेदरिंगचा वापर करा. जवळपासच्या डिव्हाइससह आशय शेअर करण्यासाठी अ‍ॅप्स हॉटस्पॉटदेखील तयार करू शकतात."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"मदत"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"मोबाइल नेटवर्क"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"मोबाइल प्लॅन"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS अ‍ॅप"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS अ‍ॅप बदलायचा?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> च्याऐवजी <xliff:g id="NEW_APP">%1$s</xliff:g> ला तुमचा SMS अ‍ॅप म्हणून वापराय?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"वाय-फाय साहाय्यक बदलायचा?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"तुमची नेटवर्क कनेक्शन व्यवस्थापित करण्यासाठी <xliff:g id="CURRENT_APP">%2$s</xliff:g> ऐवजी <xliff:g id="NEW_APP">%1$s</xliff:g> वापरायचा?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"तुमची नेटवर्क कनेक्शन व्यवस्थापित करण्यासाठी <xliff:g id="NEW_APP">%s</xliff:g> वापरायचा?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"अज्ञात सिम ऑपरेटर"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> मध्ये कोणतीही ज्ञात तरतूद वेबसाइट नाही"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"कृपया सिम कार्ड घाला आणि रीस्टार्ट करा"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"कृपया इंटरनेटशी कनेक्ट करा"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"अलीकडील स्थान विनंत्या"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"कार्य प्रोफाइलसाठी स्थान"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ॲपसाठी स्थानाच्या परवानग्या"</string>
@@ -1435,7 +1589,7 @@
     <string name="lockpassword_confirm_your_password_header" msgid="6132312814563023990">"तुमचा पासवर्ड पुन्‍हा एंटर करा"</string>
     <string name="lockpassword_reenter_your_profile_password_header" msgid="3812040127714827685">"तुमचा कार्य पासवर्ड पुन्हा एंटर करा"</string>
     <string name="lockpassword_confirm_your_work_password_header" msgid="4647071231702288305">"तुमच्या ऑफिसचा पासवर्ड एंटर करा"</string>
-    <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"तुमचा पॅटर्न कंफर्म करा"</string>
+    <string name="lockpassword_confirm_your_pattern_header" msgid="4037701363240138651">"तुमचा पॅटर्न कन्फर्म करा"</string>
     <string name="lockpassword_confirm_your_work_pattern_header" msgid="2668883108969165844">"तुमच्या ऑफिसचा पॅटर्न एंटर करा"</string>
     <string name="lockpassword_confirm_your_pin_header" msgid="2241722970567131308">"तुमचा पिन पुन्हा एंटर करा"</string>
     <string name="lockpassword_reenter_your_profile_pin_header" msgid="2890233614560435538">"तुमचा कार्य पिन पुन्हा एंटर करा"</string>
@@ -1498,7 +1652,7 @@
     <string name="lockpattern_pattern_entered_header" msgid="7709618312713127249">"पॅटर्न रेकॉर्ड झाला"</string>
     <string name="lockpattern_need_to_confirm" msgid="6489499109451714360">"खात्री करण्यासाठी पॅटर्न पुन्हा एकदा काढा"</string>
     <string name="lockpattern_pattern_confirmed_header" msgid="2969990617475456153">"तुमचा नवीन अनलॉक पॅटर्न"</string>
-    <string name="lockpattern_confirm_button_text" msgid="6122815520373044089">"कंफर्म करा"</string>
+    <string name="lockpattern_confirm_button_text" msgid="6122815520373044089">"कन्फर्म करा"</string>
     <string name="lockpattern_restart_button_text" msgid="255339375151895998">"पुन्हा रेखाटा"</string>
     <string name="lockpattern_retry_button_text" msgid="4229668933251849760">"साफ करा"</string>
     <string name="lockpattern_continue_button_text" msgid="5253269556259503537">"सुरू ठेवा"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"प्रवेश साफ करा"</string>
     <string name="controls_label" msgid="8671492254263626383">"नियंत्रणे"</string>
     <string name="force_stop" msgid="2681771622136916280">"सक्तीने थांबवा"</string>
+    <string name="archive" msgid="9074663845068632127">"संग्रहित करा"</string>
+    <string name="restore" msgid="7622486640713967157">"रिस्टोअर करा"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"रिस्टोअर करत आहे"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"रिस्टोअर करत आहे."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"रिस्टोअर करत आहे."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"रिस्टोअर करत आहे…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"एकूण"</string>
     <string name="application_size_label" msgid="6407051020651716729">"अ‍ॅप आकार"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB स्टोरेज अ‍ॅप"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"पॅकेजच्या आकाराची गणना करणे शक्य नाही"</string>
     <string name="version_text" msgid="7628938665256107608">"आवृत्ती <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"हलवा"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"संग्रहित करता आले नाही"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"संग्रहित केलेले <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"रिस्टोअर करता आले नाही"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> रिस्टोअर करत आहे"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"दुसरे स्थलांतर आधीपासून प्रगतीपथावर आहे."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"पुरेसे संचयन स्थान नाही."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"अ‍ॅप अस्तित्वात नाही."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"उपलब्ध ऑन-स्क्रीन कीबोर्ड"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ऑन-स्क्रीन कीबोर्ड व्यवस्थापित करा"</string>
     <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="6922850403920596246">"वास्तविक कीबोर्ड अ‍ॅक्सेसिबिलिटीसाठी बाउन्स की सुरू करा"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"वास्तविक कीबोर्ड अ‍ॅक्सेसिबिलिटीसाठी स्लो की सुरू करा"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी की"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"वास्तविक कीबोर्ड अ‍ॅक्सेसिबिलिटीसाठी स्टिकी की सुरू करा"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"अधिक पर्यायांसाठी टचपॅडच्या तळाशी उजव्या कोपऱ्यावर टॅप करा"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"पॉइंटर वेग"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"टचपॅड जेश्चर जाणून घ्या"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"होमवर जा"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"तुमच्या टचपॅडवर कुठेही तीन बोटांनी वरती स्‍वाइप करा"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"मागे जा"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"वापराच्या वेळेनुसार क्रमाने लावा"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"शेवटच्या वापरानुसार क्रमाने लावा"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"अ‍ॅप हे नावानुसार क्रमाने लावा"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"अंतिम वेळी वापरलेले"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"शेवटचे वापरलेले"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"कधीही नाही"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"वापर वेळ"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"अ‍ॅक्सेसिबिलिटी"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"प्रवेशयोग्यता सेटिंग्ज"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"तीन वेळा टॅप करून मोठे करा"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"शॉर्टकटद्वारे मॅग्निफाय करा"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"शॉर्टकट वापरून आणि तीन वेळा टॅप करून मॅग्निफाय करा"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> बद्दल"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"उघडण्यासाठी अ‍ॅक्सेसिबिलिटी बटण वापरा"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"उघडण्यासाठी व्हॉल्यूम की धरून ठेवा"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"उघडण्यासाठी स्क्रीनवर तीनदा टॅप करा"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"उघडण्यासाठी दोन बोटांनी स्क्रीनवर दोनदा टॅप करा"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"उघडण्यासाठी जेश्चर वापरा"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ॲक्सेसिबिलिटी जेश्चर वापरा"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"हे वैशिष्ट्य वापरण्यासाठी, तुमच्या स्क्रीनच्या तळाशी असलेले ॲक्सेसिबिलिटी बटणावर <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> टॅप करा.\n\nवैशिष्टयांदरम्यान स्विच करण्यासाठी ॲक्सेसिबिलिटी बटणाला स्पर्श करा आणि धरून ठेवा."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"हे वैशिष्ट्य वापरण्यासाठी, तुमच्या स्क्रीनवरील अ‍ॅक्सेसिबिलिटी बटणावर टॅप करा."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"हे वैशिष्ट्य वापरण्यासाठी, दोन्ही व्हॉल्यूम की प्रेस करून धरून ठेवा."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"मॅग्निफिकेशन सुरू करण्यासाठी आणि थांबवण्यासाठी तुमच्या स्क्रीनवर कुठेही तीनदा टॅप करा."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"मॅग्निफिकेशन सुरू करण्यासाठी आणि थांबवण्यासाठी, दोन बोटांनी तुमच्या स्क्रीनवर कुठेही दोनदा टॅप करा."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"हे वैशिष्ट्य वापरण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"हे वैशिष्ट्य वापरण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ॲक्सेसिबिलिटी वैशिष्ट्य वापरण्यासाठी, दोन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी दोन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ॲक्सेसिबिलिटी वैशिष्ट्य वापरण्यासाठी, तीन बोटांनी स्क्रीनच्या तळापासून वर स्वाइप करा.\n\nवैशिष्ट्यांदरम्यान स्विच करण्यासाठी तीन बोटांनी वर स्वाइप करा आणि धरून ठेवा."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"समजले"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"अ‍ॅक्सेसिबिलिटी बटण सेटिंग्ज"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"बटण सेटिंग्ज"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> शॉर्टकट"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"अ‍ॅक्सेसिबिलिटी बटण"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ॲक्सेसिबिलिटी जेश्चर"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"व्हॉल्यूम की प्रेस करून ठेवा"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"व्हॉल्यूम की प्रेस करून ठेवा"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दोन्ही व्हॉल्यूम की प्रेस करून धरून ठेवा"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"दोन बोटांनी स्क्रीनवर दोनदा टॅप करा"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"दोन बोटांनी स्क्रीनवर दोनदा टॅप करा"</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="6863958573135995927">"स्क्रीनवर तीन वेळा टॅप करा"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रीनवर झटपट {0,number,integer} वेळा टॅप करा. हा शॉर्टकट तुमच्या डिव्हाइसचा वेग कमी करू शकताे"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"अ‍ॅक्सेसिबिलिटी बटण आणि जेश्चरबद्दल अधिक जाणून घ्या"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ॲक्सेसिबिलिटी बटण वापरणे. तीन बटण नेव्हिगेशनसह जेश्चर उपलब्ध नाही."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"अ‍ॅक्सेसिबिलिटी वैशिष्ट्ये झटपट अ‍ॅक्सेस करा"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"सुरुवात करण्यासाठी"</b>\n"1. अ‍ॅक्सेसिबिलिटी सेटिंग्जवर जा\n2. वैशिष्‍ट्य निवडा आणि शॉर्टकटवर टॅप करा\n3. तुम्हाला वैशिष्‍ट्य अ‍ॅक्सेस करण्यासाठी बटण वापरायचे आहे, की जेश्चर ते निवडा"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"सुरुवात करण्यासाठी"</b>\n"१. अ‍ॅक्सेसिबिलिटी सेटिंग्जवर जा\n२. वैशिष्‍ट्य निवडा आणि शॉर्टकटवर टॅप करा\n३. वैशिष्‍ट्य अ‍ॅक्सेस करण्यासाठी बटण निवडा"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"बटण किंवा जेश्चर वापरा"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"स्थान"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"आकार"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"पॉवर बटण कॉल समाप्त करते"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"मोठा माउस पॉइंटर"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"माउस पॉइंटर अधिक लक्षवेधी बनवा"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"सर्व अ‍ॅप्सना गडद थीम लागू करा"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"त्यांच्या स्वतःच्या गडद थीमशिवाय अ‍ॅप्सना लागू होते. काही अ‍ॅप्समध्ये डिस्प्लेसंबंधित समस्या असू शकतात, जसे की उलटे केलेले रंग."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"अ‍ॅनिमेशन काढा"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"स्क्रीनवरील हालचाल कमी करा"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"मोनो ऑडिओ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"व्हायब्रेशन आणि हॅप्टिक वापरा"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"अलार्म व्हायब्रेशन"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"मीडिया व्हायब्रेशन"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"कीबोर्ड व्हायब्रेशन"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"रिंग व्हायब्रेशन"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"सूचना व्हायब्रेशन"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"टच फीडबॅक"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"थांबा"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"रद्द करा"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> थांबवायचे?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> वर टॅप केल्याने <xliff:g id="SERVICE">%2$s</xliff:g> थांबेल."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"बंद करा"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"सुरू ठेवा"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> बंद करायचा आहे का?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"सेवा इंस्टॉल केल्या नाहीत"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"कोणतीही सेवा निवडलेली नाही"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"वर्णन प्रदान केले नाही."</string>
     <string name="settings_button" msgid="2195468788019730377">"सेटिंग्ज"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"प्रकाशाची संवेदनशीलता, फोटोफोबिया, गडद थीम, मायग्रेन, डोकेदुखी, रिडींग मोड, नाइट मोड, ब्राइटनेस कमी करा, व्हाइट पॉइंट"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"वापरण्यातील सुलभता, अ‍ॅक्सेस, साहाय्य, साहाय्यकारी यांसाठी सुलभ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"दृष्टी, श्रवण, दृष्टी-भिन्नक्षम, श्रवणदृष्ट्या भिन्नक्षम, मोटर, कौशल्य, साहाय्यकारी, साहाय्य, वापरण्यामधील सहजता, अ‍ॅक्सेसमधील सहजता, हात, मदत"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Window Magnifier, Zoom, मॅग्निफिकेशन, कमी दृश्यमानता, मोठे करा, आणखी मोठे करा"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"कॅप्शन, सबटायटल, सबटायटल, Live Transcribe, कमी ऐकू येणे, ऐकू न येणे, CART, स्‍पीच टू टेक्‍स्‍ट, सबटायटल"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"रंग कॉंट्रास्ट"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"मोटर, माउस"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"श्रवणयंत्रे, श्रवणदोष, ऐकू न येणे, कॉक्लियर इंप्लांट, अँप्लिफिकेशन डिव्हाइस, आवाज प्रोसेसर"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"मोटर, माउस, वायर्ड माउस, डोक्याला लावायचा माउस, अडॅप्टिव्ह माउस, व्हिलचेअर, जॉयस्टिक"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"श्रवणयंत्रे, श्रवणदोष, ऐकू येण्याची क्षमता गमवणे, कॉक्लियर इंप्लांट, अँप्लिफिकेशन डिव्हाइस, आवाज प्रोसेसर, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"कमी ऐकू येणे, ऐकू न येणे, कॅप्शन, टेलीटाइप, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"तीन बटण"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"कौशल्य, मोटर, सिनियर, संधिवात, rsi, स्ट्रोक, कंपन, मल्टीपल स्क्लेरोसिस, सेरेब्रल पाल्सी, थरथर, रिपेटेटिव्ह स्ट्रेन इंज्युरी, हात"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"डिले, डेक्सेरिटी, सिनियर"</string>
     <string name="print_settings" msgid="8519810615863882491">"प्रिंट"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"बंद"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{एक प्रिंट सेवा सुरू}other{# प्रिंट सेवा सुरू}}"</string>
@@ -2177,7 +2362,7 @@
     <string name="print_restart" msgid="4424096106141083945">"रीस्टार्ट"</string>
     <string name="print_cancel" msgid="7611266511967568501">"रद्द करा"</string>
     <string name="print_job_summary" msgid="277210060872032969">"<xliff:g id="PRINTER">%1$s</xliff:g>\n<xliff:g id="TIME">%2$s</xliff:g>"</string>
-    <string name="print_configuring_state_title_template" msgid="2887013172492183045">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> कॉंफिगर करत आहे"</string>
+    <string name="print_configuring_state_title_template" msgid="2887013172492183045">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> कॉन्फिगर करत आहे"</string>
     <string name="print_printing_state_title_template" msgid="7367513245156603431">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> प्रिंट करत आहे"</string>
     <string name="print_cancelling_state_title_template" msgid="9094795458159980190">"<xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g> रद्द करत आहे"</string>
     <string name="print_failed_state_title_template" msgid="4751695809935404505">"प्रिंटर एरर <xliff:g id="PRINT_JOB_NAME">%1$s</xliff:g>"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> शिल्लक"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"चार्ज करण्यासाठी <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"स्क्रीनचा वेळ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"बॅकग्राउंडचा वेळ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"बॅटरी कमी आहे"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"अ‍ॅपला पार्श्वभूमीत चालण्याची अनुमती द्या"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"बॅकग्राउंड ॲक्टिव्हिटी मर्यादित ठेवायची?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"तुम्‍ही एखाद्या ॲपसाठी बॅकग्राउंड ॲक्टिव्हिटी मर्यादित ठेवल्‍यास, ते व्‍यवस्थित न चालण्‍याची शक्‍यता आहे"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"हे अ‍ॅप बॅटरी ऑप्टिमाइझ करण्यासाठी सेट केलेले नसल्याने, तुम्ही ते प्रतिबंधित करू शकत नाही.\n\nअ‍ॅप प्रतिबंधित करण्यासाठी, प्रथम बॅटरी ऑप्टिमायझेशन सुरू करा"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"बॅटरीचा वापर व्यवस्थापित करा"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"बॅकग्राउंडमधील वापराला अनुमती द्या"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"रीअल-टाइम अपडेटसाठी सुरू करा, बॅटरीची बचत करण्यासाठी बंद करा"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"कोणताही प्रतिबंध नाही"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ऑप्टिमाइझ केली"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"प्रतिबंधित"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"सर्वात जास्त वापरली जाणारी ॲप्स पहा"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"तुमच्या बॅटरीचे संरक्षण करण्यासाठी चार्जिंग ऑप्टिमाइझ केले आहे"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"तुमच्या बॅटरीचा कालावधी वाढवण्यात मदत करण्यासाठी, चार्जिंग ऑप्टिमाइझ केले आहे"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"तुमच्या बॅटरीचे संरक्षण करण्यासाठी चार्जिंग ऑप्टिमाइझ केले आहे"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"तुमच्या बॅटरीचा कालावधी वाढवण्यात मदत करण्यासाठी, डॉक केलेले असताना चार्जिंग ऑप्टिमाइझ केले आहे"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"तुमच्या बॅटरीचे संरक्षण करण्यासाठी चार्जिंग ऑप्टिमाइझ केले आहे"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"तुमच्या बॅटरीचा कालावधी वाढवण्यात मदत करण्यासाठी, डॉक केलेले असताना चार्जिंग ऑप्टिमाइझ केले आहे"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"पूर्ण चार्ज करत आहे"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"तुमच्या बॅटरीचे संरक्षण करण्यासाठी, पुढील वेळी तुमचा टॅबलेट डॉक केलेला असेल, तेव्हा चार्जिंग ऑप्टिमाइझ केले जाईल"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"चार्जिंगबद्दल अधिक जाणून घ्या हे थांबवले आहे"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"चार्जिंग पुन्हा सुरू करा"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"जास्त बॅटरी वापरणारी बॅकग्राउंड अ‍ॅक्टिव्हिटी समाविष्ट आहे"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"या ॲपला बॅकग्राउंडमध्ये बॅटरी वापरता येईल. तुमची बॅटरी अपेक्षेपेक्षा लवकर संपू शकते."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"काढा"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"रद्द करा"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"पूर्ण चार्ज करा"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"चार्जिंगच्या ॲक्सेसरीसंबंधित समस्या"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"चार्जिंगसंबंधित ॲक्सेसरी तपासा"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"कंपॅटिबल नसलेल्या चार्जिंगबद्दल अधिक जाणून घ्या"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"बॅटरी व्यवस्थापक"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"अ‍ॅप्स आपोआप व्यवस्थापित करा"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"शेवटचे पूर्ण चार्ज झाल्यापासून"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"सिस्टीम अ‍ॅप्स"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"अनइंस्टॉल केलेली अ‍ॅप्स"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"इतर"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"अंदाजे शिल्लक वेळ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"पूर्ण चार्ज होईपर्यंत"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"एकूण: एका मिनिटापेक्षा कमी"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"बॅकग्राउंड: एका मिनिटापेक्षा कमी"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"स्क्रीन वेळ: कमाल एक मिनिट"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"एका मिनिटापेक्षा कमी"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"एकूण: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"बॅकग्राउंड: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"स्क्रीन वेळ: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"आता"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> ते <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"बॅटरी वापर चार्ट"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"दैनिक बॅटरी वापर चार्ट"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"तासानुसार बॅटरी वापर चार्ट"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"बॅटरीच्या पातळीची टक्केवारी <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ते <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"शेवटची पूर्ण चार्ज केल्यानंतरचा बॅटरी वापर"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> साठी बॅटरी वापर"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"शेवटची पूर्ण चार्ज केल्यानंतरची स्क्रीन वेळ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"आणीबाणी डायलिंग सिग्नल"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"आणीबाणी कॉल केला जातो तेव्हा वर्तन सेट करा"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"बॅकअप"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"सुरू"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"बंद"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"बॅकअप घ्या आणि पुनर्संचयित करा"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"वैयक्तिक डेटा"</string>
     <string name="backup_data_title" msgid="507663517227498525">"माझ्या डेटाचा बॅकअप घ्या"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"मोबाइल डेटा आणि वाय-फाय"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"वैयक्तिक डेटा ऑटो-सिंक करा"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"कार्य डेटा ऑटो-सिंक करा"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"खाजगी डेटा आपोआप सिंक करा"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"आवर्तन बदला…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"डेटा वापर चक्र रीसेट करण्यासाठी महिन्याचा दिवस:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"या कालावधी दरम्यान कोणत्याही अ‍ॅप्स नी डेटा वापरला नाही."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"नाव"</string>
     <string name="vpn_type" msgid="5533202873260826663">"प्रकार"</string>
     <string name="vpn_server" msgid="2908816134941973935">"सर्व्हर अ‍ॅड्रेस"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP एंक्रिप्शन (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP गुपीत"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ओळखकर्ता"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec आधीच शेअर केलेली की"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec वापरकर्ता प्रमाणपत्र"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA प्रमाणपत्र"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec सर्व्हर प्रमाणपत्र"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"प्रगत पर्याय दाखवा"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS शोध डोमेन"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS सर्व्हर (उदा. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"फॉरवर्ड करण्याचा मार्ग (उदा. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"वापरकर्ता नाव"</string>
     <string name="vpn_password" msgid="1183746907642628127">"पासवर्ड"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"खाते माहिती सेव्ह करा"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(वापरले नाही)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(सर्व्हरची पडताळणी करू नका)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(सर्व्हरवरुन प्राप्त झालेले)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"हा VPN प्रकार सर्व वेळी कनेक्ट केलेला राहू शकत नाही"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"नेहमी सुरू VPN केवळ अंक असलेल्या सर्व्हर अ‍ॅड्रेसना सपोर्ट करतात"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"नेहमी-सुरू VPN साठी DNS सर्व्हर नमूद करणे आवश्यक आहे"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"नेहमी-सुरू VPN साठी DNS सर्व्हर पत्ते अंकीय असणे आवश्यक आहे"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"एंटर केलेली माहिती नेहमी सुरू VPN ला सपोर्ट करत नाही"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"रद्द करा"</string>
     <string name="vpn_done" msgid="5137858784289564985">"डिसमिस करा"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN शिवायची कनेक्शन ब्लॉक करा"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN कनेक्शन आवश्यक आहे?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"सुरक्षित नाही. IKEv2 VPN वर अपडेट करा"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"सपोर्ट नसलेले VPN सुरू करता आले नाही."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"नेहमी कनेक्ट केलेले राहण्यासाठी एक VPN प्रोफाईल निवडा. केवळ या VPN शी कनेक्ट केलेले असताना नेटवर्क रहदारीला अनुमती दिली जाईल."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"काहीही नाही"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"नेहमी सुरू असलेल्या VPN ला सर्व्हर आणि DNS दोन्हीसाठी एका IP पत्त्याची आवश्यकता आहे."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"अँबर सूचना"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"बाल अपहरणाविषयी बुलेटिन मिळवा"</string>
     <string name="repeat_title" msgid="8676570486899483606">"पुनरावृत्ती"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"कॉल व्यवस्थापक सुरू करा"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"तुमचे कॉल कसे केले जातात हे व्यवस्थापित करण्यासाठी या सेवेस अनुमती द्या."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"कॉल व्यवस्थापक"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"आणीबाणीच्या वायरलेस सूचना"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"नेटवर्क ऑपरेटर"</string>
     <string name="access_point_names" msgid="5768430498022188057">"प्रवेश बिंदू नावे"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"सिम स्थिती"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"सिम स्थिती (सिम स्लॉट %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"सिम बदलली."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"तुमचे सिम बदलले आहे"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"सेट करण्यासाठी टॅप करा"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"प्रत्येक वेळी विचारा"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"निवड आवश्यक"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"अलीकडील अ‍ॅप्स, डीफॉल्ट अ‍ॅप्स"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"कार्य प्रोफाइलमधील ॲप्ससाठी सूचनेचा अ‍ॅक्सेस उपलब्ध नाही."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"पासवर्ड आणि खाती"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"सेव्ह केलेले पासवर्ड, ऑटोफिल, सिंक केलेली खाती"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"साइन-इन आणि ऑटोफिलसाठी सूचना"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"डीफॉल्ट अ‍ॅप्स"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"क्लोन केलेली अ‍ॅप्स"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"अ‍ॅपचा दुसरा इंस्टन्स तयार करा, जेणेकरून तुम्ही एकाच वेळी दोन खाती वापरू शकाल."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"वॉलेट"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"पेमेंट करा, टॅप करा, पेमेंट"</string>
     <string name="keywords_backup" msgid="707735920706667685">"बॅकअप, बॅक अप"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"जेश्चर"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"चेहरा, अनलॉक, प्रमाणीकरण, साइन इन"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"फेस, अनलॉक करा, ऑथेंटिकेशन, साइन इन करा, फिंगरप्रिंट, बायोमेट्रिक"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl आवृत्ती, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"मजकुराचा आकार, मोठी प्रिंट, मोठा फॉंट, मोठा मजकूर, कमी दृश्यमानता, मजकूर आणखी मोठा करा, फॉंटचा आकार मोठा करणारा, फॉंटचा आकार मोठा करणे"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"नेहमी सुरू अँबियंट डिस्प्ले, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, टॅग, रीडर"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"कीबोर्ड, हॅप्टिक, व्हायब्रेट,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"आवाज, व्हायब्रेट, व्यत्यय आणू नका"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"मीडिया व्हॉल्यूम"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"व्हॉल्यूम कास्ट करा"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ध्वनी सुरू करा"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"लाइव्ह कॅप्शन"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"मीडियाला आपोआप सबटायटल द्या"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"फोनचे स्पीकर"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"टॅबलेटचे स्पीकर"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"डिव्हाइसचे स्पीकर"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"वायर असलेले हेडफोन"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"कंपॅटिबल मीडियामधील ऑडिओ हा आणखी इमर्सिव्ह होतो"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"बंद आहे"</string>
@@ -3148,7 +3320,7 @@
     <string name="work_alarm_ringtone_title" msgid="3369293796769537392">"डीफॉल्ट कार्य अलार्म आवाज"</string>
     <string name="work_sound_same_as_personal" msgid="1836913235401642334">"वैयक्तिक प्रोफाइल सारखे"</string>
     <string name="work_sync_dialog_title" msgid="7810248132303515469">"वैयक्तिक प्रोफाइलचा आवाज वापरायचा आहे का?"</string>
-    <string name="work_sync_dialog_yes" msgid="5785488304957707534">"कंफर्म करा"</string>
+    <string name="work_sync_dialog_yes" msgid="5785488304957707534">"कन्फर्म करा"</string>
     <string name="work_sync_dialog_message" msgid="5066178064994040223">"तुमची कार्य प्रोफाइल ही तुमच्या वैयक्तिक प्रोफाइलसारखाच आवाज वापरेल"</string>
     <string name="configure_notification_settings" msgid="1492820231694314376">"सूचना"</string>
     <string name="notification_dashboard_summary" msgid="7530169251902320652">"सूचना इतिहास, संभाषणे"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"सूचनेतील सर्व आशय दाखवा"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"संवेदनशील आशय केवळ अनलॉक केलेले असताना दाखवा"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"सूचना अजिबात दाखवू नका"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"तुम्ही लॉक स्क्रीन कशी प्रदर्शित करू इच्छिता?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"तुम्हाला तुमच्या लॉक स्क्रीनने काय दाखवावे असे वाटते?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"लॉक स्क्रीन"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"सर्व कार्य सूचना आशय दर्शवा"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"संवेदनशील कार्य आशय लपवा"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"अलीकडील संभाषणे काढून टाकली"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"संभाषण काढून टाकले आहे"</string>
     <string name="clear" msgid="5092178335409471100">"साफ करा"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> साफ करा"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"प्राधान्य असलेली आणि बदल केलेली संभाषणे येथे दिसतील"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"तुम्ही संभाषणावर प्राधान्य असलेले म्हणून खूण केल्यास किंवा संभाषणांमध्ये इतर कोणतेही बदल केल्यास, ते येथे दिसतील. \n\nसंभाषण सेटिंग्ज बदलण्यासाठी: \nपुल-डाउन शेड उघडण्यासाठी स्क्रीनच्या सर्वात वरच्या भागातून खाली स्वाइप करा त्यानंतर स्पर्श करा आणि संभाषण धरून ठेवा."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"लहान करा"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"सूचना कूलडाउन"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"सर्व सूचनांना कूलडाउन लागू करा"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"तुम्हाला एकाच अ‍ॅपवरून अनेक सूचना मिळतात, तेव्हा सूचनांची संख्या हळूहळू कमी करा"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"संभाषणांना कूलडाउन लागू करा"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"तुम्हाला एकाच चॅटद्वारे कमी कालावधीमध्ये अनेक मेसेज मिळतात, तेव्हा सूचनांची संख्या हळूहळू कमी करा"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"सूचना कूलडाउन वापरू नका"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"एकाच अ‍ॅपवरून लागोपाठ कितीही सूचना आल्या, तरीही सूचनांची संख्या कधीही कमी करू नका"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"अनलॉक केल्यावर व्हायब्रेट करा"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"स्क्रीन अनलॉक केल्यावरच व्हायब्रेट करा"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"कार्य प्रोफाइलला लागू करा"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"तुमच्या वैयक्तिक प्रोफाइलवरून तुमच्या कार्य प्रोफाइलवर सूचना कूलडाउन सेटिंग्ज लागू करा"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR मदतनीस सेवा"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"कोणत्याही इंस्टॉल केलेल्या अ‍ॅप्सनी VR मदतनीस सेवा म्हणून चालवण्यासाठी विनंती केली नाही."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> साठी VR सेवा प्रवेशाची अनुमती द्यायची?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"बंद आहे"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ॲप पिनिंग"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"अ‍ॅप पिनिंग हे तुम्ही पिन केलेले ॲप अनपिन करत नाही तोपर्यंत ते पाहू देते. उदाहरणार्थ, हे वैशिष्ट्य एखाद्या विश्वासू मित्राला विशिष्ट गेम खेळू देण्यासाठी वापरले जाऊ शकते."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"एखादे ॲप पिन केलेले असते, तेव्हा त्या पिन केलेल्या ॲपद्वारे कदाचित इतर अ‍ॅप्स उघडता येतील आणि वैयक्तिक डेटा अ‍ॅक्सेस करता येईल. \n\nॲप पिनिंग वापरण्यासाठी: 	\n१. ॲप पिनिंग सुरू करा 	\n२. अवलोकन उघडा 	\n३. स्क्रीनच्या सर्वात वर असलेल्या ॲप आयकनवर टॅप करा त्यानंतर पिन करा वर टॅप करा"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"एखादे ॲप पिन केलेले असते, तेव्हा त्या पिन केलेल्या ॲपद्वारे कदाचित इतर अ‍ॅप्स उघडता येतील आणि वैयक्तिक डेटा अ‍ॅक्सेस करता येईल. \n\nतुम्हाला एखाद्या व्यक्तीसोबत तुमचे डिव्हाइस सुरक्षितपणे शेअर करायचे असल्यास, तुमच्याऐवजी अतिथी वापरकर्ता वापरून पहा. \n\nॲप पिनिंग वापरण्यासाठी: 	\n१. ॲप पिनिंग सुरू करा 	\n२. अवलोकन उघडा 	\n३. स्क्रीनच्या सर्वात वर असलेल्या ॲप आयकनवर टॅप करा त्यानंतर पिन करा वर टॅप करा"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"एखादे ॲप पिन केलेले असते, तेव्हा ते पिन केलेले ॲप हे इतर अ‍ॅप्स उघडू शकते आणि वैयक्तिक डेटा अ‍ॅक्सेस करता येऊ शकतो. \n\nॲप पिनिंग वापरण्यासाठी: 	\n{0,number,integer}. ॲप पिनिंग सुरू करा 	\n{1,number,integer}. अवलोकन उघडा 	\n{2,number,integer}. स्क्रीनच्या सर्वात वरती असलेल्या ॲप आयकनवर टॅप करा, त्यानंतर पिन करा वर टॅप करा"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"एखादे ॲप पिन केलेले असते, तेव्हा ते पिन केलेले ॲप हे इतर अ‍ॅप्स उघडू शकते आणि वैयक्तिक डेटा अ‍ॅक्सेस करता येऊ शकतो. \n\nतुम्हाला एखाद्या व्यक्तीसोबत तुमचे डिव्हाइस सुरक्षितपणे शेअर करायचे असल्यास, तुमच्या ऐवजी अतिथी वापरकर्ता वापरून पहा. \n\nॲप पिनिंग वापरण्यासाठी: 	\n{0,number,integer}. ॲप पिनिंग सुरू करा 	\n{1,number,integer}. अवलोकन उघडा 	\n{2,number,integer}. स्क्रीनच्या सर्वात वरती असलेल्या ॲप आयकनवर टॅप करा, त्यानंतर पिन करा वर टॅप करा"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ॲप पिन केले जाते तेव्हा: \n\n• वैयक्तिक डेटा अ‍ॅक्सेस केला जाऊ शकतो \n(जसे की, संपर्क आणि ईमेल आशय) \n• पिन केलेले ॲप हे इतर ॲप्स उघडू शकते \n\nतुमचा विश्वास असलेल्या लोकांसोबतच ॲप पिनिंग वापरा."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"अनपिन करण्‍यापूर्वी अनलॉक नमुन्यासाठी विचारा"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"अनपिन करण्‍यापूर्वी पिन साठी विचारा"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"अनपिन करण्‍यापूर्वी पासवर्ड विचारा"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"अनपिन करताना डिव्हाइस लॉक करा"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"सिम हटवण्याची खात्री करा"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"तुम्हाला तुमचे eSIM मिटवायचे आहे हे कन्फर्म करा"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM मिटवण्याआधी हे तुम्हीच आहात याची पडताळणी करा"</string>
     <string name="memtag_title" msgid="5096176296797727201">"प्रगत मेमरी संरक्षण बीटा"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"प्रगत मेमरी संरक्षण"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"न वापरलेली ॲप सेटिंग्ज"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"न वापरल्यास अ‍ॅप अ‍ॅक्टिव्हिटी थांबवा"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"परवानग्या काढून टाका, तात्पुरत्या फाइल हटवा आणि सूचना थांबवा"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"न वापरल्यास, ॲप व्यवस्थापित करा"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"परवानग्या काढून टाका, तात्पुरत्या फाइल हटवा, सूचना थांबवा आणि ॲप संग्रहित करा"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"सर्व अ‍ॅप्स"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"इंस्टॉल केलेली अ‍ॅप्स"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"इन्स्टंट अ‍ॅप्स"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"उपलब्ध"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"अ‍ॅप्सद्वारे वापरलेली मेमरी"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{एका अ‍ॅपने मागील {time} मध्ये मेमरी वापरली}other{# अ‍ॅप्सनी मागील {time} मध्ये मेमरी वापरली}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"मेमरी वापर प्रोफायलिंग सुरू करा"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"मेमरी वापर प्रोफायलिंगला अतिरिक्त सिस्टीम स्रोतांची आवश्यकता आहे."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"मेमरी प्रोफायलिंग बंद केले आहे"</string>
     <string name="running_frequency" msgid="7260225121706316639">"फ्रीक्वेन्सी"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"कमाल वापर"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"डेटा वापरला गेलेला नाही"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"इतर अ‍ॅप्सच्या वर प्रदर्शित करा"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"इतर अ‍ॅप्सच्या वर प्रदर्शित करू द्या"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"हे अ‍ॅप तुम्ही वापरत असलेल्या इतर अ‍ॅप्सच्या वर दिसू द्या. तुम्ही स्क्रीनवर कुठे टॅप करता किंवा डिस्प्ले केलेले बदलता ते या अ‍ॅपला पाहता येईल."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"मीडिया आउटपुट बदला"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"अ‍ॅपला मीडिया आउटपुट स्विच करण्याची अनुमती द्या"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"या अ‍ॅपला इतर अ‍ॅप्सवरून कनेक्ट केलेले कोणते डिव्हाइस ऑडिओ किंवा व्हिडिओ प्ले करेल ते निवडण्याची अनुमती द्या. अनुमती दिल्यास, हे अ‍ॅप हेडफोन आणि स्पीकर सारख्या उपलब्ध डिव्हाइसची सूची अ‍ॅक्सेस करू शकते व ऑडिओ किंवा व्हिडिओ स्ट्रीम अथवा कास्ट करण्यासाठी कोणते आउटपुट डिव्हाइस वापरायचे ते निवडू शकते."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"सर्व फाइलचा अ‍ॅक्सेस"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"सर्व फाइल व्यवस्थापनासाठी अ‍ॅक्सेस द्या"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"या ॲपला या डिव्हाइसवरील किंवा कनेक्ट केलेल्या स्टोरेज व्‍हॉल्‍यूममधील सर्व फाइल वाचण्याची, सुधारित करण्याची आणि हटवण्याची अनुमती द्या. अनुमती दिली असल्यास, ॲप कदाचित तुम्हाला न विचारता फाइलला अ‍ॅक्सेस करू शकते"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"सर्व फाइल अ‍ॅक्सेस करू शकते"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"व्हॉइस ॲक्टिव्हेशनशी संबंधित अ‍ॅप्स"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"व्हॉइस ॲक्टिव्हेशनला अनुमती द्या"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"व्हॉइस ॲक्टिव्हेशन हे व्हॉइस कमांड वापरून मंजूर केलेली ॲप्स, हँड्स-फ्री सुरू करते. बिल्ट-इन संरक्षित अडॅप्टिव्ह सेन्सिंग हे डेटा फक्त तुमच्यासाठी खाजगी राहील याची खात्री करते.\n\n"<a href="">"संरक्षित अडॅप्टिव्ह सेन्सिंगविषयी आणखी"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"फुल स्क्रीन सूचना"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"या ॲपवरील फुल स्क्रीन सूचनांना अनुमती द्या"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"डिव्‍हाइस लॉक असताना या ॲपला फुल स्क्रीन वापरणाऱ्या सूचना दाखवण्‍याची अनुमती द्या. ॲप्स यांचा वापर अलार्म, इनकमिंग कॉल किंवा इतर तातडीच्या सूचना हायलाइट करण्यासाठी करू शकतात."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> डेटा चेतावणी"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> डेटा मर्यादा"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> डेटा चेतावणी / <xliff:g id="ID_2">^2</xliff:g> डेटा मर्यादा"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"वाहक डेटा गणना तुमच्या डिव्हाइसपेक्षा भिन्न असू शकते"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"वाहक नेटवर्कनी वापरलेला डेटा वगळते"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> वापरला"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"डेटा चेतावणी सेट करा"</string>
@@ -3816,7 +4010,7 @@
     <string name="set_data_limit" msgid="9010326815874642680">"डेटा मर्यादा सेट करा"</string>
     <string name="data_limit" msgid="8731731657513652363">"डेटा मर्यादा"</string>
     <string name="data_usage_template" msgid="3822452362629968010">"<xliff:g id="ID_2">%2$s</xliff:g> दरम्यान <xliff:g id="ID_1">%1$s</xliff:g> वापरला"</string>
-    <string name="configure" msgid="1499586749829665889">"कॉंफिगर करा"</string>
+    <string name="configure" msgid="1499586749829665889">"कॉन्फिगर करा"</string>
     <string name="data_usage_other_apps" msgid="5649047093607329537">"वापरामध्ये समाविष्‍ट केलेली इतर अ‍ॅप्स"</string>
     <string name="data_saver_unrestricted_summary" msgid="7343571401172437542">"{count,plural, =1{डेटा सेव्हर सुरू असते, तेव्हा एका अ‍ॅपला प्रतिबंधित न केलेला डेटा वापरण्याची अनुमती आहे}other{डेटा सेव्हर सुरू असते, तेव्हा # अ‍ॅप्सना प्रतिबंधित न केलेला डेटा वापरण्याची अनुमती आहे}}"</string>
     <string name="data_usage_title" msgid="4039024073687469094">"प्राथमिक डेटा"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> पूर्वी अपडेट केले"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> ने आत्ताच अपडेट केले"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"आत्ताच अपडेट केले"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"योजना पहा"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"तपशील पहा"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"डेटा सेव्हर"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"अनिर्बंध डेटा"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"बॅकग्राउंडमध्ये असताना <xliff:g id="APP_LABEL">%1$s</xliff:g> ने नेहमीपेक्षा अधिक बॅटरी वापरली आहे"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"फोरग्राउंडमध्ये असताना <xliff:g id="APP_LABEL">%1$s</xliff:g> ने अधिक बॅटरी वापरली आहे"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"फोरग्राउंडमध्ये असताना <xliff:g id="APP_LABEL">%1$s</xliff:g> ने नेहमीपेक्षा अधिक बॅटरी वापरली आहे"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"बॅटरी वापर विसंगती"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"बॅटरीचा अधिक वापर"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"बॅकग्राउंडमध्ये बॅटरीचा अधिक वापर"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"फोरग्राउंडमध्ये बॅटरीचा अधिक वापर"</string>
@@ -3931,8 +4125,7 @@
     <string name="dark_theme_slice_subtitle" msgid="5555724345330434268">"बॅटरी लाइफ वाढवण्यात मदत करते"</string>
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"क्विक सेटिंग्ज डेव्हलपर टाइल"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb ऑथोरायझेशन टाइमआउट बंद करा"</string>
-    <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"डीफॉल्ट (सात दिवस) किंवा वापरकर्ता-कॉंफिगर केलेल्या (किमान एक दिवस) वेळेमध्ये पुन्हा कनेक्ट न केलेल्या सिस्टीमसाठी adb ऑथोरायझेशन ऑटोमॅटिक मागे घेणे बंद करा."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"विनस्कोप ट्रेस"</string>
+    <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"डीफॉल्ट (सात दिवस) किंवा वापरकर्ता-कॉन्फिगर केलेल्या (किमान एक दिवस) वेळेमध्ये पुन्हा कनेक्ट न केलेल्या सिस्टीमसाठी adb ऑथोरायझेशन ऑटोमॅटिक मागे घेणे बंद करा."</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"सेन्सर बंद आहेत"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"कार्य प्रोफाइल सेटिंग्ज"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"वैयक्तिक ॲप्समध्ये कामासंबंधित डिरेक्टरीतील संपर्क शोधा"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"सिस्टम नेव्हिगेशन, दोन बटण नेव्हिगेशन, तीन बटण नेव्हिगेशन, जेश्चर नेव्हिगेशन, स्‍वाइप"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"डिजिटल असिस्टंट"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"असिस्टंट अ‍ॅक्टिव्हेट करण्यासाठी स्वाइप करा"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"डिजिटल असिस्टंट अ‍ॅप अ‍ॅक्टिव्हेट करण्यासाठी तळाच्या कोपऱ्यापासून वर स्वाइप करा."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"डिजिटल असिस्टंट अ‍ॅपची विनंती करण्यासाठी तळाच्या कोपऱ्यापासून वर स्वाइप करा"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"असिस्टंट अ‍ॅक्टिव्हेट करण्यासाठी होम बटण धरून ठेवा"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"डिजिटल असिस्टंट अ‍ॅप अ‍ॅक्टिव्हेट करण्यासाठी होम बटण प्रेस करून धरून ठेवा."</string>
     <string name="low_label" msgid="6525629096999711220">"कमी"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ऑटोफिल सेवा"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"डीफॉल्ट ऑटोफिल सेवा"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"पासवर्ड"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"पासवर्ड, पासकी आणि डेटा सेवा"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"अतिरिक्त पुरवठादार"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"प्राधान्य दिलेली सेवा"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"अतिरिक्त सेवा"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# पासवर्ड}other{# पासवर्ड}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ऑटो, फिल, ऑटोफिल, पासवर्ड"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"डेटा, पासकी, पासवर्ड"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ऑटो, भरा, ऑटोफिल, डेटा, पासकी, पासवर्ड"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"बदला"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"उघडा"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"कोणताही निवडलेला नाही"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;तुमचा या ॲपवर विश्वास असल्याची खात्री करा&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ऑटोफिल काय होऊ शकते हे ठरवण्यासाठी तुमच्या स्क्रीनवर काय आहे याचा वापर करते."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; वापरायचे आहे का?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;काय ऑटोफिल केले जाऊ शकते हे निर्धारित करण्यासाठी &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; हे तुमच्या स्क्रीनवर असलेल्या गोष्टी वापरते. नवीन पासवर्ड, पासकी आणि इतर माहिती आता येथे सेव्ह केली जाईल."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"पासवर्ड, पासकी आणि डेटा सेवा"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;वापरायचे आहे का?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; नवीन पासवर्ड, पासकी आणि इतर माहिती आता येथे सेव्ह केली जाईल. काय ऑटोफिल केले जाऊ शकते हे निर्धारित करण्यासाठी &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; हे तुमच्या स्क्रीनवर असलेल्या गोष्टी वापरू शकते."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"पासवर्ड, पासकी आणि ऑटोफिलसाठी प्राधान्य दिलेली सेवा"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s बंद करायचे का?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ही सेवा बंद करायची आहे का?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; पासवर्ड, पासकी, पेमेंट पद्धती आणि इतर माहिती यांसारखी सेव्ह केलेली माहिती तुम्ही साइन इन करता, तेव्हा भरली जाणार नाही. तुमची सेव्ह केलेली माहिती वापरण्यासाठी, पासवर्ड, पासकी किंवा डेटा सेवा निवडा."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"पासवर्ड, पासकी आणि ऑटोफिल"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;सर्व सेवा बंद करायच्या आहेत का?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; तुम्ही साइन इन करा, तेव्हा पासवर्ड, पासकी आणि सेव्ह केलेली इतर माहिती ऑटोफिलसाठी उपलब्ध नसेल"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;तुमची प्राधान्य दिलेली सेवा &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; वर बदलायची आहे का?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; नवीन पासवर्ड, पासकी आणि इतर माहिती आतापासून येथे सेव्ह केली जाईल. काय ऑटोफिल केले जाऊ शकते हे निर्धारित करण्यासाठी &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; हे तुमच्या स्क्रीनवर असलेल्या गोष्टी वापरू शकते"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s वापरायचे आहे का?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"बंद करा"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"बदला"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"तुमच्याकडे फक्त ५ सेवा सुरू असू शकतात"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"दुसरी सेवा जोडण्यासाठी किमान १ सेवा बंद करा"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"कोणत्या गोष्टी ऑटोफिल करता येतील हे निश्चित करण्यासाठी %1$s हे तुमच्या स्क्रीनवर काय आहे ते वापरते."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"पासवर्ड, पासकी आणि डेटा सेवा मर्यादा"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"तुम्ही एकाचवेळी कमाल पाच पासवर्ड, पासकी आणि डेटा सेवा ठेवू शकता. आणखी जोडण्यासाठी एखादी सेवा बंद करा."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"पासवर्ड, पासकी आणि डेटा सेवा मर्यादा"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"तुमच्याकडे एकाचवेळी कमाल ५ पासवर्ड, पासकी आणि डेटा सेवा अ‍ॅक्टिव्ह असू शकतात. आणखी जोडण्यासाठी एखादी सेवा बंद करा."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"बंद करा"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ऑटोफिल"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"लॉगिंग पातळी"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ॲप कंपॅटिबिलिटी संबंधित बदलांमध्ये फक्‍त डीबग करण्यायोग्य ॲप्‍सवरून बदल केले जाऊ शकतात. डीबग करण्यायोग्य ॲप इंस्टॉल करा आणि पुन्‍हा प्रयत्न करा."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"दुसऱ्या सेटिंगवर अवलंबून आहे"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"खाते"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d खाती"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"डिव्हाइसचे नाव"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"मूलभूत माहिती"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"कायदे आणि नियम"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC टॅग स्कॅन केल्यानंतर हे अ‍ॅप लाँच करण्याची अनुमती द्या.\nही परवानगी सुरू असल्यास, टॅग डिटेक्ट झाल्यास अ‍ॅप हे पर्याय म्हणून उपलब्ध होईल."</string>
     <string name="media_output_title" msgid="8283629315159510680">"मीडिया यावर प्‍ले करा"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> यावर प्ले करा"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ऑडिओ यावर प्ले होईल"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"हे डिव्हाइस"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"कॉल दरम्‍यान अनुपलब्‍ध"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"कॉल यावर घ्या"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"म्यूट करा"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"सुरू करण्यासाठी, सर्वप्रथम \"पॉवर बटण प्रेस करून धरून ठेवा\" हे पॉवर मेनूवर बदला."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"नेटवर्क तपशील"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"तुमच्या डिव्हाइसचे नाव तुमच्या फोनवरील ॲप्सना दृश्यमान आहे. तुम्ही ब्लूटूथ डिव्हाइसशी कनेक्ट करता, वाय-फाय नेटवर्कशी कनेक्ट करता किंवा वाय-फाय हॉटस्पॉट सेट करता तेव्हा हे कदाचित इतर लोकदेखील पाहू शकतात."</string>
     <string name="devices_title" msgid="649715719278562515">"डिव्हाइस"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"नेटवर्क निवडा"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"डिस्कनेक्ट केलेले"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"नाव"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"रंग (कंपॅटिबल ॲप्सद्वारे वापरलेले)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"सेव्ह करा"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"सिम वापरा"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"हे सिम वापरा"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"बंद आहे"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"हे सिम बंद करण्यासाठी, सिम कार्ड काढा"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> ॲक्टिव्हेट करण्यासाठी टॅप करा"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"सिम मिटवा"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"हे सिम बंद करण्यासाठी, सिम कार्ड काढा"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"तुमचे <xliff:g id="CARRIER">%1$s</xliff:g> सिम ॲक्टिव्हेट करण्यासाठी टॅप करा"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM मिटवा"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"प्राधान्‍यकृत नेटवर्क प्रकार"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"नेटवर्क कार्य करण्‍याचा मोड बदला"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"प्राधान्‍यकृत नेटवर्क प्रकार"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"किमतींबद्दल तुमच्या नेटवर्क पुरवठादाराला विचारा."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"अ‍ॅप डेटा वापर"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"चुकीचा नेटवर्क मोड <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. दुर्लक्ष करा."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"उपग्रह मेसेजिंग"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"उपग्रहाद्वारे एसएमएस पाठवा आणि मिळवा. तुमच्या खात्यामध्ये समावेश आहे."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"उपग्रहाद्वारे एसएमएस पाठवा आणि मिळवा. तुमच्या खात्यामध्ये समावेश नाही."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"उपग्रह मेसेजिंग"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"उपग्रह मेसेजिंगबद्दल"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"तुम्ही <xliff:g id="CARRIER_NAME">%1$s</xliff:g> खात्याच्या पात्रतेचा भाग म्हणून उपग्रहाद्वारे एसएमएस पाठवू आणि मिळवू शकता"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"तुमचा <xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्लॅन"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"तुमच्या खात्यामध्ये उपग्रह मेसेजिंगचा समावेश आहे"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"उपग्रह मेसेजिंगचा तुमच्या खात्यामध्ये समावेश केलेला नाही"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"उपग्रह मेसेजिंग जोडा"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ते कसे काम करते"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"तुमच्याकडे मोबाइल नेटवर्क नसते, तेव्हा"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"तुमचा फोन उपग्रहाशी ऑटो-कनेक्ट होईल. सर्वोत्तम कनेक्शनसाठी, आकाश स्पष्ट दिसेल अशा ठिकाणी बाहेर उभे रहा."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"तुमचा फोन उपग्रहाशी जोडल्यानंतर"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"आणीबाणी सेवांसह तुम्ही कोणालाही एसएमएस पाठवू शकता. उपलब्ध असेल, तेव्हा तुमचा फोन मोबाइल नेटवर्कशी पुन्हा कनेक्ट होईल."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"उपग्रह मेसेजिंगला जास्त वेळ लागू शकतो आणि फक्त काही भागातच उपलब्ध आहे, हवामान आणि विशिष्ट संरचना तुमच्या उपग्रह कनेक्शनवर परिणाम करू शकतात. उपग्रहाद्वारे कॉल करणे उपलब्ध नाही.\n\nतुमच्या खात्यामधील बदल सेटिंग्जमध्ये दिसण्यासाठी काही वेळ लागू शकतो. तपशिलांसाठी <xliff:g id="CARRIER_NAME">%1$s</xliff:g> शी संपर्क साधा."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"उपग्रह मेसेजिंगबद्दल अधिक"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"अ‍ॅक्सेस पॉइंट"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>शी कनेक्ट केले असल्यास उपलब्ध नाही"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> वर स्विच करायचे आहे का?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"सिम कार्ड वापरण्यावर स्विच करायचे आहे का?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> वापरायचे आहे का?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"एका वेळी एक सिम अ‍ॅक्टिव्ह असू शकते.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> वर स्विच केल्याने तुमची <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> सेवा रद्द होणार नाही."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"एका वेळी फक्त एक eSIM अ‍ॅक्टिव्ह असू शकते.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> वर स्विच केल्याने तुमची <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> सेवा रद्द होणार नाही."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"एकावेळी एकच सिम अ‍ॅक्टिव्ह असू शकते.\n\nस्विच केल्याने तुमची <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> सेवा रद्द होणार नाही."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"एका वेळी फक्त १ सिम सुरू असू शकते.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> वर स्विच केल्याने तुमची<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> सेवा रद्द होणार नाही."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"एका वेळी फक्त १ eSIM सुरू असू शकते.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> वर स्विच केल्याने तुमची <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> सेवा रद्द होणार नाही."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"एका वेळी फक्त १ सिम सुरू असू शकते.\n\n <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> स्विच केल्याने तुमची सेवा रद्द होणार नाही."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"तुम्ही एका वेळी दोन सिम वापरू शकता. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> वापरण्यासाठी, दुसरे सिम बंद करा."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> वर स्विच करा"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> बंद करा"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"सिम बंद केल्यामुळे तुमची सेवा रद्द होणार नाही"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"नेटवर्कशी कनेक्ट करत आहे…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"कॉल आणि मेसेजसाठी <xliff:g id="CARRIER_NAME">%1$s</xliff:g> वर स्विच करत आहे…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"वाहक स्विच करू शकत नाही"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"एररमुळे वाहक स्विच करू शकत नाही."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"तुमचे सिम ॲक्टिव्हेट करत आहे…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> वर स्विच करत आहे…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"सिम स्विच करू शकत नाही"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"काहीतरी चूक झाली. सिम स्विच करू शकत नाही."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> बंद करायचे आहे का?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"सिम बंद करायचे आहे का?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"सिम बंद करत आहे<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"वाहक बंद करू शकत नाही"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"काहीतरी गडबड झाली आणि तुमचा वाहक बंद करता आला नाही."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"सिम बंद करू शकत नाही"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"काहीतरी चूक झाली आणि तुमचे सिम बंद करता आले नाही."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"दोन सिम वापरायची आहेत का?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"या डिव्हाइसमध्ये एकाच वेळी दोन सिम अ‍ॅक्टिव्ह असू शकतात. एकावेळी एक सिम वापरणे सुरू ठेवण्यासाठी, \"नाही, नको\" वर टॅप करा."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"डिव्हाइस रीस्टार्ट करायचे आहे का?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"नाही, नको"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"रद्द करा"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"स्विच करा"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"बंद करा"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"सिम ॲक्टिव्हेट करू शकत नाही"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"सिम पुन्हा सुरू करून पहा. समस्या सुरू राहिल्यास, तुमचे डिव्हाइस रीस्टार्ट करा."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"तुमचे सिम सेट करा"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"या डिव्हाइसवर एकाहून अधिक सिम वापरण्यासाठी तुमची मोबाइल नेटवर्क प्राधान्ये सेट करा"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"तुमची सिम लेबल करणे"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"कॉल करताना, एसएमएस पाठवताना आणि डेटा वापरताना तसेच सेटिंग्ज मध्ये तुम्हाला ही लेबल दिसतील"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"सिमचे लेबल"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"लेबल"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"कोणती सिम वापरायची आहेत हे निवडा"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"तुम्ही एका वेळी २ सिम वापरू शकता"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"तुमची प्राथमिक सिम सेट करणे"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"कॉल, एसएमएस आणि डेटासाठी बाय डीफॉल्ट कोणती सिम वापरायची हे निवडा"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"तुमची प्राथमिक सिम"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"कॉल"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"एसएमएस"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"डेटा आपोआप स्विच करणे"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"कव्हरेज आणि उपलब्धतेनुसार कोणत्याही एका सिममधील डेटा वापरा"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"फक्त डेटा"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"सेट करा"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"पुढील"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> सुरू करत आहे…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"मोबाइल नेटवर्क"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"फोन नंबर"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"सिमचे लेबल आणि रंग"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"नेटवर्क अ‍ॅक्टिव्हेशन"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"वाहक स्विच करणे"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> अ‍ॅक्टिव्ह आहे"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"तुमचे <xliff:g id="CARRIER_NAME">%1$s</xliff:g> सिम अ‍ॅक्टिव्ह आहे"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"सिमची सेटिंग्ज अपडेट करण्यासाठी टॅप करा"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> वर स्विच केले"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"दुसर्‍या वाहकावर स्विच केले"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"तुमचे मोबाइल नेटवर्क बदलले आहे"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"तुमचे दुसरे सिम सेट करा"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"तुमचे अ‍ॅक्टिव्ह असलेले सिम निवडा किंवा एकाच वेळी दोन सिम वापरा"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"वापरण्यासाठी नंबर निवडा"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{या डिव्हाइसवर एक नंबर उपलब्ध आहे, पण एकावेळी फक्त एक नंबर वापरला जाऊ शकतो}=2{या डिव्हाइसवर दोन नंबर उपलब्ध आहेत, पण एकावेळी फक्त एक नंबर वापरला जाऊ शकतो}other{या डिव्हाइसवर # नंबर उपलब्ध आहेत, पण एकावेळी फक्त एक नंबर वापरला जाऊ शकतो}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"अ‍ॅक्टिव्हेट करत आहे<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"आता अ‍ॅक्टिव्हेट करता आले नाही"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"वापरण्यासाठी सिम निवडा"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{या डिव्हाइसवर १ सिम उपलब्ध आहे, पण एकावेळी फक्त एक सिम वापरले जाऊ शकते}=2{या डिव्हाइसवर २ सिम उपलब्ध आहेत, पण एकावेळी फक्त एक सिम वापरले जाऊ शकते}other{या डिव्हाइसवर # सिम उपलब्ध आहेत, पण एकावेळी फक्त एक सिम वापरले जाऊ शकते}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> सुरू करत आहे"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"हे सिम आता सुरू करता आले नाही"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> वापरायचे?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"मोबाइल डेटा , कॉल आणि एसएमएससाठी <xliff:g id="CARRIER_NAME">%1$s</xliff:g> वापरले जाईल."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"कोणतीही अ‍ॅक्टिव्ह सिम उपलब्ध नाहीत"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"पुढील वेळेस मोबाइल डेटा, कॉल वैशिष्ट्ये आणि एसएमएस वापरण्यासाठी तुमच्या नेटवर्क सेटिंग्ज वर जा"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"सिम"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"हे eSIM मिटवायचे का?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"हे सिम मिटवल्याने या डिव्हाइसवरून <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> सेवा काढली जाते.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ची सेवा रद्द केली जाणार नाही."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"यामुळे या डिव्हाइसवरील <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> सेवा काढून टाकली जाते, पण तुमचा <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> प्लॅन रद्द केला जाणार नाही."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"मिटवा"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"सिम मिटवत आहे…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"सिम मिटवू शकत नाही"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"हे सिम एका एररमुळे मिटवता येत नाही.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM मिटवत आहे…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM मिटवू शकत नाही"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"काहीतरी चुकले आणि हे eSIM मिटवले गेले नाही.\n\nतुमचे डिव्हाइस रीस्टार्ट करा आणि पुन्हा प्रयत्न करा."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"डिव्हाइसशी कनेक्ट करा"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"तुमच्या डिव्हाइसशी कनेक्ट करण्यासाठी <xliff:g id="APPNAME">%1$s</xliff:g> ॲपला तात्पुरते वाय-फाय नेटवर्क वापरायचे आहे"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"डिव्हाइस सापडले नाही. डिव्हाइस सुरू केली आहेत आणि ती कनेक्ट करण्यासाठी उपलब्ध आहेत याची खात्री करा."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"आणीबाणी कॉल"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"तुमचा वाहक वाय-फाय कॉलिंगवर आणीबाणी कॉल करण्यासाठी सपोर्ट करत नाही.\nतुमचे डिव्हाइस आणीबाणी कॉल करण्यासाठी सेल्युलर नेटवर्कवर आपोआप स्विच होते.\n फक्त सेल्युलर नेटवर्कच्या परिसरात आणीबाणी कॉल करता येतात."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"कॉलची गुणवत्ता वाढवण्यासाठी वाय-फाय वापरा"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"बॅकअप कॉलिंग"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> उपलब्ध नसल्यास किंवा रोमिंगमध्ये असल्यास, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> कॉलसाठी तुमचे मोबाइल डेटा सिम वापरा."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"बॅकअप कॉलिंग"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"येणारा MMS मेसेज"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS मेसेज पाठवू शकत नाही"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"मोबाइल डेटा बंद असताना MMS मेसेजिंगला अनुमती देण्यासाठी <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> वर टॅप करा"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"तुमच्या कार्य धोरणाची माहिती"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"तुमच्या आयटी ॲडमिनद्वारे व्यवस्थापित केलेली सेटिंग्ज"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K पेज आकार वापरून बूट करा"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16K पेज सपोर्ट असलेल्या कर्नेलने डिव्हाइस बूट करा"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB पेज कंपॅटिबल कर्नेलसह रीबूट करायचे आहे का?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"चेतावणी: काही अ‍ॅप्लिकेशन या मोडशी कंपॅटिबल नसू शकतात. कंफर्मेशननंतर डिव्हाइस रीबूट केले जाईल."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB पेज कंपॅटिबल कर्नेलसह रीबूट करायचे आहे का?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"कंफर्मेशननंतर डिव्हाइस रीबूट केले जाईल."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"कर्नेल हे 16KB पेज कंपॅटिबल असलेल्या कर्नेलवर अपडेट करता आले नाही."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"बदल लागू करत आहे"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"बग रिपोर्ट हँडलर"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"कोणते ॲप तुमच्या डिव्हाइसवरील बग रिपोर्ट शॉर्टकट हाताळेल हे निर्धारित करते."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"वैयक्तिक"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Settings स्क्रीनवर ओव्हरले करण्यासाठी इतर अ‍ॅप्सवर प्रदर्शित करू शकणाऱ्या अ‍ॅप्सना अनुमती द्या"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"नमुना मोडेमला अनुमती द्या"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"इन्स्ट्रुमेंटेशन चाचणीसाठी या डिव्हाइसला नमुना मोडेम सेवा रन करण्याची अनुमती द्या. फोनच्या सामान्य वापरादरम्यान हे सुरू करू नका"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"स्क्रीन शेअरिंगची संरक्षणे बंद करा"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"स्क्रीन शेअरिंगदरम्यान सिस्टीमने लागू केलेली ॲप आणि सूचनेसंबंधित संरक्षणे बंद करते"</string>
     <string name="media_controls_title" msgid="403271085636252597">"मीडिया"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"मीडिया प्लेअर पिन करा"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"प्लेबॅक करणे पुन्‍हा झटपट सुरू करण्यासाठी, क्विक सेटिंग्जमध्ये मीडिया प्लेअर उघडा राहतो"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"लॉक स्क्रीनवर मीडिया दाखवा"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"प्लेबॅक पुन्हा झटपट सुरू करण्यासाठी, मीडिया प्लेअर लॉक स्क्रीनवर उघडा राहतो"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"मीडियासंबंधित शिफारशी दाखवा"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant मीडियासंबंधित शिफारशी दाखवा"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"तुमच्या अ‍ॅक्टिव्हिटीवर आधारित"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"प्‍लेअर लपवा"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"प्‍लेअर दाखवा"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"मीडिया"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"कॅमेरा सॉफ्टवेअरच्या एक्स्टेंशनना अनुमती द्या"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"न बघता व्हिडिओग्राफी यांसारख्या प्रगत कॅमेरा वैशिष्ट्यांच्या डीफॉल्ट सॉफ्टवेअरची अंमलबजावणी सुरू करते."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ब्लूटूथ सुरू होईल"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"इंटरनेट"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"सिम"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"सिम"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"सुरू आहे"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"बंद आहे"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"सुरू आहे"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"बंद आहे"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> साठी डीफॉल्ट आहे"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"कॉल"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"एसएमएस"</string>
@@ -4680,7 +4933,7 @@
     <item msgid="1599558140284643834">"पॉवर सेव्ह मोड"</item>
     <item msgid="588427840913221601">"प्रक्रियेची स्थिती"</item>
   </string-array>
-    <string name="tare_dialog_confirm_button_title" msgid="9179397559760203348">"कंफर्म करा"</string>
+    <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>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"कंपॅटिबल मीडियामधील ऑडिओ हा आणखी वेधक होतो"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"हेड ट्रॅकिंग"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"अधिक नैसर्गिक वाटावे यासाठी, तुम्ही डोके हलवता तसा आवाज बदलतो"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"परवानग्या सिंक करा"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"तुम्ही <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> वर अनुमती दिलेल्या अ‍ॅप परवानग्या <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> लादेखील द्या"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"फोनवरून परवानग्या सिंक करा"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"तुम्ही या फोनला अनुमती दिलेल्या अ‍ॅप परवानग्या तुमच्या वॉचलाही द्या"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ऑडिओ डिव्हाइस प्रकार"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"अज्ञात"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"स्पीकर"</string>
@@ -4710,8 +4963,8 @@
     <string name="bluetooth_details_audio_device_type_carkit" msgid="4439017600454703229">"कार किट"</string>
     <string name="bluetooth_details_audio_device_type_other" msgid="7019481234617207563">"इतर"</string>
     <string name="ingress_rate_limit_title" msgid="2106694002836274350">"नेटवर्कच्या डाउनलोड रेटची मर्यादा"</string>
-    <string name="ingress_rate_limit_summary" msgid="1097811019742438371">"इंटरनेट कनेक्टिव्हिटी पुरवणाऱ्या सर्व नेटवर्कना लागू होणारी नेटवर्क बँडविड्थ प्रवेश रेट मर्यादा कॉंफिगर करा."</string>
-    <string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"नेटवर्कच्या डाउनलोड रेटची मर्यादा कॉंफिगर करा"</string>
+    <string name="ingress_rate_limit_summary" msgid="1097811019742438371">"इंटरनेट कनेक्टिव्हिटी पुरवणाऱ्या सर्व नेटवर्कना लागू होणारी नेटवर्क बँडविड्थ प्रवेश रेट मर्यादा कॉन्फिगर करा."</string>
+    <string name="ingress_rate_limit_dialog_title" msgid="5359461052422633789">"नेटवर्कच्या डाउनलोड रेटची मर्यादा कॉन्फिगर करा"</string>
     <string name="ingress_rate_limit_no_limit_entry" msgid="8741098826008012163">"कोणतीही मर्यादा नाही"</string>
     <string name="disable_phantom_process_monitor_title" msgid="8348108346706188771">"लहान मुलाच्या अ‍ॅप वापरावरील निर्बंध बंद करा"</string>
     <string name="disable_phantom_process_monitor_summary" msgid="3044464635550256985">"लहान मूल जे अ‍ॅप वापरत आहे त्या अ‍ॅपच्या सिस्टीम स्रोतांच्या वापरावरील निर्बंध बंद करा"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"मध्यम"</string>
     <string name="contrast_high" msgid="3988567609694797696">"उच्च"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"हे अ‍ॅप फक्त एका विंडोमध्ये उघडले जाऊ शकते"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"सुरू आहे"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"बंद आहे"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"बंद आहे"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"बंद आहे"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"सुरू आहे"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"बंद आहे"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"सुरू आहे"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"बंद आहे"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"फिकट रंगाच्या स्क्रीन गडद आणि गडद रंगाच्या स्क्रीन फिकट करते"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"स्क्रीनवर झूम इन करा"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"बंद आहे"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"बंद आहे"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"फसव्या अ‍ॅप्ससाठी स्कॅन करत आहे"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"फिशिंगसाठी अ‍ॅप अ‍ॅक्टिव्हिटी तपासा"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"फसव्या अ‍ॅप्ससाठी स्कॅनिंग वापरा"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"कामासंबंधित फसव्या अ‍ॅप्ससाठी स्कॅनिंग वापरा"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"पासवर्ड आता सेट केला आहे"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"फिरवताना पॉइंटर दाखवा"</string>
 </resources>
diff --git a/res/values-ms/arrays.xml b/res/values-ms/arrays.xml
index eff1ab3..dfd367e 100644
--- a/res/values-ms/arrays.xml
+++ b/res/values-ms/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Ada"</item>
     <item msgid="6096962300722555553">"Di luar liputan"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Gunakan Ciri Lalai Sistem: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Selepas 1 minit"</item>
     <item msgid="1574040255478150028">"Selepas 5 minit"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ms/strings.xml b/res/values-ms/strings.xml
index 95bafe5..4e1ad2f 100644
--- a/res/values-ms/strings.xml
+++ b/res/values-ms/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Anda telah menjadi pembangun!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Tidak perlu, anda sudah pun menjadi pembangun."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Sila dayakan pilihan pembangun terlebih dahulu."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Hanya pengguna pentadbir yang boleh mengakses tetapan pembangun."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Berfungsi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Rosak"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Paparan depan dihidupkan semasa anda melipatkan peranti anda"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Hanya permainan, video dan pelbagai lagi"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Paparan depan dihidupkan untuk apl yang menghentikan skrin anda daripada melahu"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Leret ke atas untuk meneruskan tindakan"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Lipat telefon anda dan leret ke atas pada paparan depan untuk terus menggunakan apl atau tunggu selama beberapa saat untuk skrin dikunci"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Jangan sekali-kali"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Paparan depan dikunci semasa anda melipatkan peranti anda"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Gunakan autoputar"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Berkaitan"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Nada dering dan penggera"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio semasa panggilan"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Pemberitahuan &amp; bunyi sistem lain"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Bunyi media dan sistem"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Pemberitahuan"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Secara lalai, output audio ditentukan oleh apl individu"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Peranti Bluetooth tanpa nama"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Mencari"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Batal"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Lumpuhkan Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Melumpuhkan ciri Bluetooth LE Audio jika peranti menyokong keupayaan perkakasan LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Mod Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Tunjukkan togol LE Audio pada Butiran Peranti"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Dayakan Senarai Dibenarkan untuk Bluetooth LE audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Dayakan ciri senarai dibenarkan untuk Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Senarai Dibenarkan Bluetooth LE Audio Pintasan"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Gunakan LE Audio secara lalai walaupun persisian LE Audio belum disahkan sebagai memenuhi kriteria Senarai Dibenarkan."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Peranti media"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Panggil peranti"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Peranti lain"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Peranti disimpan"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Dikaitkan dengan akaun"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Digunakan sebelum ini dengan akaun"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth akan dihidupkan untuk bergandingan"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Pilihan sambungan"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Disambungkan sebelum ini"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth dihidupkan"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Lihat semua"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Lihat semua"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Tekan butang hujung"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profil kerja)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Tulis dalam medan teks"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Abaikan semua tekanan butang stilus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Perkongsian audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Kongsi audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Panggilan dan penggera"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Sambung kepada strim audio menggunakan kod QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Tiada strim audio berdekatan ditemukan."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Tarikh &amp; masa"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proksi"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Padam bersih"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Tambahkan %s pada bahasa pilihan?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Tindakan ini membolehkan apl dan laman web mengetahui bahawa anda juga memilih bahasa ini."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Tetapan peranti dan tetapan wilayah akan berubah."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Tukar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s tidak tersedia"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sabtu"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Jika apl tidak menyokong pilihan serantau, tetapan penempatan lalai akan digunakan."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Ketahui lebih lanjut tentang pilihan bahasa."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Pilihan tambahan"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Panggilan hormat"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Tetapkan gelaran anda"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apl boleh menggunakan panggilan hormat anda untuk memeribadikan cara apl memanggil anda."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Tidak dinyatakan"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maskulin"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Alih keluar bahasa yang dipilih?}other{Alih keluar bahasa yang dipilih?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Teks akan dipaparkan dalam bahasa lain."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Tidak boleh mengalih keluar semua bahasa"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokasi"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Gunakan lokasi"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Mati"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Hidup - # apl mempunyai akses kepada lokasi}other{Hidup - # apl mempunyai akses kepada lokasi}}"</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_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="5329024810729665156">"Ketahui lebih lanjut tentang Tetapan Lokasi."</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="3574930966097093550">"Tukar akses lokasi melalui Tetapan &gt; Keselamatan dan Privasi &gt; Kawalan privasi"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Akaun"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Keselamatan"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Penyulitan &amp; bukti kelayakan"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Untuk mendapatkan hasil yang terbaik, gunakan pelindung skrin yang diperakui Made For Google. Dengan pelindung skrin yang lain, cap jari anak anda mungkin tidak berfungsi."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Buka Kunci Jam Tangan"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Semasa anda menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari, telefon anda akan meminta cap jari anda apabila anda memakai pelitup muka atau berada di kawasan gelap.\n\nAnda boleh membuka kunci dengan jam tangan anda apabila wajah atau cap jari anda tidak dapat dicam."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Anda boleh membuka kunci dengan jam tangan anda apabila cap jari anda tidak dapat dicam."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Anda boleh membuka kunci dengan jam tangan anda apabila wajah anda tidak dapat dicam."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Semasa anda menyediakan Buka Kunci Wajah dan Buka Kunci Cap Jari, telefon anda akan meminta cap jari anda apabila anda memakai pelitup muka atau berada di kawasan gelap.\n\nBuka Kunci Jam Tangan merupakan cara mudah yang lain untuk membuka kunci telefon anda, sebagai contoh, apabila jari anda basah atau wajah tidak dapat dicam."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Buka Kunci Jam Tangan merupakan cara mudah yang lain untuk membuka kunci telefon anda, sebagai contoh, apabila cap jari anda tidak dapat dicam."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Buka Kunci Jam Tangan merupakan cara mudah yang lain untuk membuka kunci telefon anda, sebagai contoh, apabila wajah anda tidak dapat dicam."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Gunakan cap jari atau jam tangan untuk"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Gunakan wajah atau jam tangan untuk"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Gunakan wajah, cap jari atau jam tangan untuk"</string>
@@ -385,7 +411,34 @@
     <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="security_settings_biometric_preference_title" msgid="5012627247749093938">"Buka kunci cap jari &amp; wajah"</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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Buka Kunci Jam Tangan merupakan satu cara mudah yang lain untuk membuka kunci telefon ini, sebagai contoh, apabila jari anda basah atau wajah anda tidak dapat dicam.\n\nAnda boleh menggunakan jam tangan anda untuk membuka kunci telefon ini apabila anda:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Bukan sekarang"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Teruskan"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Lagi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Cara ciri ini berfungsi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Jam tangan anda mestilah tidak berkunci, berada pada pergelangan tangan anda dan berada berdekatan telefon ini. Anda tidak perlu membuka kunci jam tangan anda lagi ketika jam tangan berada pada pergelangan tangan anda."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Apabila telefon ini tidak berkunci, anda akan mendapat pemberitahuan pada jam tangan anda. Jika telefon tidak berkunci apabila anda tidak bermaksud untuk berbuat demikian, ketik pemberitahuan untuk mengunci telefon sekali lagi."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Kawalan di tangan anda"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Anda boleh mengalih keluar jam tangan anda daripada Buka Kunci Jam Tangan pada bila-bila masa dalam Tetapan"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Ketik pemberitahuan"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Leret ke atas pada skrin kunci"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Pilih jam tangan anda"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Jam tangan yang tersedia"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Batal"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Sahkan"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Anda sudah sedia!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Kini anda boleh menggunakan jam tangan anda untuk membuka kunci telefon ini apabila anda meleret ke atas pada skrin kunci atau mengetik pemberitahuan"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Selesai"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Buka Kunci Jam Tangan"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Anda boleh menggunakan jam tangan anda untuk membuka kunci telefon ini apabila anda meleret ke atas pada skrin kunci atau mengetik pemberitahuan"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Untuk menggunakan Buka Kunci Jam Tangan, jam tangan anda mestilah tidak berkunci, berada pada pergelangan tangan anda, berada berdekatan dan disambungkan kepada telefon ini. Jika sambungan terganggu, anda perlu membuka kunci telefon sebelum anda boleh menggunakan Buka Kunci Jam Tangan.\n\nSentiasa ingat:\nAnda hanya boleh menyediakan satu jam tangan pada satu-satu masa. Untuk menambahkan jam tangan yang lain, alih keluar jam tangan semasa dahulu."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Keselamatan"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privasi"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profil kerja"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Ruang peribadi"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Pastikan apl peribadi kekal dikunci dan disembunyikan"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Menyimpan apl peribadi dalam ruang berasingan yang boleh anda sembunyikan atau kunci"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Kunci ruang peribadi"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Anda boleh membuka kunci ruang peribadi anda menggunakan cara yang sama seperti anda membuka kunci peranti anda atau memilih kunci yang lain"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gunakan kunci skrin peranti"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Buka Kunci Wajah &amp; Cap Jari"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Buka Kunci Cap Jari"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Buka Kunci Wajah"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Ketik untuk membuat persediaan"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Buka Kunci Cap Jari untuk ruang peribadi"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Buka Kunci Wajah untuk ruang peribadi"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Cara membuka kunci"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Sama seperti kunci skrin peranti"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Pilih kunci baharu untuk ruang peribadi?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Kunci ruang privasi secara automatik"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Anda boleh mengunci ruang privasi anda secara automatik jika anda tidak menggunakan peranti anda untuk suatu tempoh masa"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Setiap kali peranti dikunci"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Selepas 5 minit tanpa aktiviti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Jangan sekali-kali"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Sembunyikan apabila dikunci"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Sembunyikan ruang peribadi apabila dikunci"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Untuk menghalang orang lain daripada mengetahui bahawa anda mempunyai ruang peribadi pada peranti anda, anda boleh menyembunyikan ruang peribadi ini daripada senarai apl anda"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Akses ruang peribadi apabila disembunyikan"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Daripada senarai apl, masukkan \"ruang peribadi\" dalam bar carian"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Ketik jubin ruang peribadi"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Buka kunci ruang peribadi anda"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Mati"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Hidup"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Padamkan ruang peribadi"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Padamkan ruang privasi?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Ruang privasi anda akan dialih keluar daripada peranti anda. Semua apl dan data peribadi akan dipadamkan. Tindakan ini tidak boleh dibuat asal."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Akaun yang berikut akan dialih keluar daripada ruang privasi anda:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Padam"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Memadamkan ruang privasi…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Proses ini akan mengambil sedikit masa"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Ruang peribadi dipadamkan"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Ruang peribadi tidak dapat dipadamkan"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Ruang privasi tidak berkunci"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Tetapkan kunci skrin"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Untuk menggunakan ruang peribadi anda, tetapkan kunci skrin pada peranti ini"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Tetapkan kunci skrin"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Batal"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Batal"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Buat persediaan"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Sediakan ruang peribadi"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Menyimpan apl peribadi dalam ruang berasingan yang boleh anda sembunyikan atau kunci"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Cara ciri ini berfungsi"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Anda boleh mengakses ruang peribadi anda daripada bahagian bawah senarai apl anda"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apl dalam ruang peribadi dilindungi dengan kunci"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Pemberitahuan daripada apl dalam ruang peribadi anda disembunyikan apabila ruang peribadi dikunci"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apl dalam ruang peribadi anda tidak akan dipaparkan dalam pengurus kebenaran, papan pemuka privasi dan tetapan lain apabila ruang peribadi anda dikunci.\n\nRuang peribadi anda tidak boleh dialihkan kepada peranti baharu. Anda perlu menyediakan ruang peribadi lain jika anda mahu menggunakan ruang peribadi pada peranti lain.\n\nSesiapa sahaja yang menyambungkan peranti anda kepada komputer atau memasang apl berbahaya pada peranti anda mungkin dapat mengakses ruang peribadi anda."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Menyediakan ruang peribadi…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Pemberitahuan daripada apl ruang peribadi disembunyikan apabila ruang peribadi dikunci"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Buka kunci ruang peribadi untuk berkongsi foto atau fail"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Sesetengah apl telah dipasang dalam ruang peribadi anda"</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_lockscreen_title" msgid="6034864097861137509">"Gunakan kunci skrin untuk membuka kunci ruang peribadi?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Anda boleh membuka kunci ruang peribadi anda menggunakan cara yang sama seperti anda membuka kunci peranti anda atau memilih kunci yang lain"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gunakan kunci skrin"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Pilih kunci baharu"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Siap!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Untuk menemukan ruang peribadi anda, akses senarai apl anda, kemudian tatal ke bawah"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Selesai"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Tatal ke bawah untuk menemukan ruang peribadi"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Log masuk"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Log masuk ke akaun untuk menggunakan ruang privasi anda"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Bukan sekarang"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Teruskan"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Pilih kunci untuk skrin untuk ruang peribadi anda"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Anda boleh membuka kunci ruang peribadi anda menggunakan cap jari. Untuk keselamatan, pilihan ini memerlukan kunci sandaran."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Tetapkan PIN untuk ruang peribadi anda"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Tetapkan kata laluan ruang peribadi anda"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Tetapkan corak untuk ruang peribadi anda"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Anda boleh menambah sehingga <xliff:g id="COUNT">%d</xliff:g> cap jari"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Anda telah menambahkan bilangan maksimum cap jari"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Tidak boleh menambahkan lagi cap jari"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Corak"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Kata laluan"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Padamkan kunci skrin?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Alih keluar semua jenis buka kunci peranti?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Alih keluar perlindungan profil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Corak melindungi telefon anda jika ia hilang atau dicuri"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Corak melindungi telefon anda jika ia hilang atau dicuri.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Ini memadamkan model cap jari yang disimpan pada peranti anda. Model wajah anda juga akan dipadamkan secara kekal dan selamat. Anda tidak akan dapat menggunakan wajah atau cap jari anda untuk pengesahan dalam apl."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN melindungi telefon anda jika telefon hilang atau dicuri"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Anda akan kehilangan data yang disimpan seperti PIN anda.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kad yang disediakan untuk ciri bayar tanpa sentuhan akan dialih keluar.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Dompet dan apl lain yang memerlukan peranti tidak berkunci mungkin tidak berfungsi dengan betul."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN melindungi telefon anda jika telefon hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ini juga memadamkan model cap jari yang disimpan pada peranti anda. Anda tidak akan dapat menggunakan cap jari anda untuk pengesahan dalam apl."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Anda akan kehilangan data yang disimpan seperti PIN dan model cap jari anda.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kad yang disediakan untuk ciri bayar tanpa sentuhan akan dialih keluar.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Dompet dan apl lain yang memerlukan peranti tidak berkunci mungkin tidak berfungsi dengan betul."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN melindungi telefon anda jika telefon hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Model wajah anda juga akan dipadamkan secara kekal dan selamat. Anda tidak akan dapat menggunakan wajah anda untuk pengesahan dalam apl."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Anda akan kehilangan data yang disimpan seperti PIN dan model wajah anda.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kad yang disediakan untuk ciri bayar tanpa sentuhan akan dialih keluar.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Dompet dan apl lain yang memerlukan peranti tidak berkunci mungkin tidak berfungsi dengan betul."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN melindungi telefon anda jika telefon hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ini memadamkan model cap jari yang disimpan pada peranti anda. Model wajah anda juga akan dipadamkan secara kekal dan selamat. Anda tidak akan dapat menggunakan wajah atau cap jari anda untuk pengesahan dalam apl."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Anda akan kehilangan data yang disimpan seperti PIN, model wajah dan model cap jari anda.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kad yang disediakan untuk ciri bayar tanpa sentuhan akan dialih keluar.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Dompet dan apl lain yang memerlukan peranti tidak berkunci mungkin tidak berfungsi dengan betul."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Kata laluan melindungi telefon anda jika ia hilang atau dicuri"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Kata laluan melindungi telefon anda jika ia hilang atau dicuri.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Gandingkan dengan <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Tambahkan ahli baharu pada set diselaraskan yang sedia ada"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Sahkan untuk menambahkan bahagian kedua peranti audio anda"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kod gandingan Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Taip kod berpasangan kemudian tekan Kembali atau Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN mengandungi huruf atau simbol"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Mestilah 16 digit"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Anda juga mungkin perlu menaipkan PIN ini pada peranti satu lagi."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Anda juga mungkin perlu memasukkan kunci laluan ini pada peranti satu lagi."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Sahkan untuk bergandingan dengan set yang diselaraskan"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Sahkan untuk digandingkan dengan peranti audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Benarkan akses kepada kenalan dan sejarah panggilan anda"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Benarkan juga akses kepada kenalan dan sejarah panggilan"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Maklumat akan digunakan untuk pengumuman panggilan dan pelbagai lagi"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Tidak dapat menyambung ke <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Peranti yang tersedia"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Sambung"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Putus sambungan"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Gandingkan &amp; sambung"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Apabila Bluetooth dihidupkan, peranti anda boleh berkomunikasi dengan peranti Bluetooth lain yang berhampiran."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Apabila Bluetooth dihidupkan, peranti anda boleh berkomunikasi dengan peranti Bluetooth lain yang berdekatan"</string>
     <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_scan_change" msgid="1744636222637390367">"Tukar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Butiran peranti"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Benarkan ART mengesahkan kod bait apl boleh dinyahpepijat"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Tunjukkan kadar muat semula"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Tunjukkan kadar muat semula paparan semasa"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Tunjukkan nisbah HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Tunjukkan nisbah HDR/SDR semasa"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Memerlukan buka kunci peranti untuk NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Dalam mod Pesawat"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Beritahu untuk rangkaian awam"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Beritahu apabila rangkaian awam berkualiti tinggi tersedia"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Benarkan rangkaian WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ialah protokol keselamatan lebih lama yang kurang selamat"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Pembawa anda tidak membenarkan rangkaian WEP kerana rangkaian ini kurang selamat"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Hidupkan Wi-Fi secara automatik"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi akan dihidupkan kembali apabila berdekatan dengan rangkaian disimpan yang berkualiti tinggi, seperti rangkaian rumah"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Tidak tersedia kerana lokasi dimatikan. Hidupkan "<annotation id="link">"lokasi"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Pengimbasan Wi-Fi membenarkan apl dan perkhidmatan mengimbas 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Hidupkan"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Pengimbasan Wi‑Fi dihidupkan"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Rangkaian ini menggunakan protokol keselamatan lebih lama yang kurang selamat"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> disekat"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Rangkaian ini menggunakan protokol keselamatan lebih lama yang dipanggil WEP, rangkaian yang kurang selamat. Untuk menyambung juga, anda boleh membenarkan rangkaian WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Pembawa anda tidak membenarkan anda menyambung kepada rangkaian ini kerana rangkaian ini menggunakan protokol keselamatan lebih lama yang kurang selamat"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Benarkan WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Tutup"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Pilihan terperinci"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Pilihan Terperinci senarai lungsur"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"kembangkan"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Gunakan Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Jangan tunjukkan lagi"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Sambung"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi dihidupkan"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Disambungkan kepada <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Menyambung ke <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Menyambung…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Gagal menyambung ke rangkaian."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Rangkaian di luar liputan"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Lupakan"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Ubah suai"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Gagal melupakan rangkaian"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Simpan"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Gagal menyimpan rangkaian"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Batal"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Data mudah alih"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Mengecas"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Mengecas"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Sambungan tempat liputan"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Kekuatan sambungan"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Rangkaian disimpan"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Tiada kata laluan yang ditetapkan"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nama tempat liputan"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Kata laluan tempat liputan"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Jalur AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Matikan tempat liputan secara automatik"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Apabila tiada peranti disambungkan"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Lanjutkan keserasian"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Paparkan imbangan putih"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Terus menggunakan apl semasa dilipat"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Meningkatkan kadar segar semula daripada 60 kepada <xliff:g id="ID_1">%1$s</xliff:g> Hz untuk sesetengah kandungan secara automatik. Meningkatkan penggunaan bateri."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Lumpuhkan kadar bingkai lalai utk permainan"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Lumpuhkan pengehadan kadar bingkai maksimum untuk permainan pada <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Meningkatkan kadar segar semula hingga <xliff:g id="ID_1">%1$d</xliff:g> Hz untuk sesetengah kandungan secara automatik. Meningkatkan penggunaan bateri."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Paksa kadar muat semula puncak"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kadar muat semula tertinggi untuk keresponsifan sentuhan &amp; kualiti animasi yang dipertingkat. Meningkatkan penggunaan bateri."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Perhatian skrin"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Perhatian skrin menggunakan kamera depan untuk melihat sama ada seseorang sedang memandang skrin. Ciri ini berfungsi pada peranti dan imej tidak sekali-kali disimpan atau dihantar kepada Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Hidupkan perhatian skrin"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Pastikan skrin hidup semasa anda melihat skrin itu"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Tamat masa skrin yang lebih lama akan menggunakan lebih banyak kuasa bateri."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera dikunci"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera mesti dibuka kunci untuk Pengesanan Wajah"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kamera mesti dibuka kunci untuk Fokus Skrin"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot sim <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot sim <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (utama)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Untuk melihat, pilih rangkaian yang disimpan"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versi PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Aras bateri"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Umum"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Tetapan umum"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Pemesejan Satelit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edit titik capaian"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Tambahkan titik akses"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Tidak ditetapkan"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Tidak ditetapkan"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nama"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN didayakan"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN dilumpuhkan"</string>
     <string name="bearer" msgid="3231443241639159358">"Pembawa"</string>
+    <string name="network_type" msgid="748590707422733595">"Jenis rangkaian"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Tidak dinyatakan"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Jenis MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Nilai MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Padam APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Simpan"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Batal"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Buat pendua entri apn."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Medan Nama tidak boleh kosong."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN tidak boleh kosong."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Medan MCC mestilah 3 digit."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Medan MNC mestilah 2 atau 3 digit."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Pembawa tidak membenarkan penambahan APN jenis %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Medan MMSC perlu sah."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Memulihkan tetapan lalai APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Tetapkan semula kepada lalai"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Penetapan semula tetapan lalai APN selesai."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Tetapkan semula"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth &amp; Wi-Fi telah ditetapkan semula"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Padam eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Tindakan ini tidak akan membatalkan mana-mana pelan perkhidmatan mudah alih. Untuk memuat turun SIM gantian, hubungi pembawa anda."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Tindakan ini tidak akan membatalkan pelan perkhidmatan mudah alih anda. Hubungi pembawa anda untuk mendapatkan penggantian SIM."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Tetapkan semula tetapan"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Tetapkan semula semua tetapan rangkaian? Tindakan ini tidak boleh dibuat asal."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Tetapkan semula semua tetapan rangkaian dan padamkan eSIM? Tindakan ini tidak boleh dibuat asal."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Tetapkan semula?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Tetapan semula rangkaian tidak tersedia untuk pengguna ini"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Tetapan rangkaian telah ditetapkan semula"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Tidak dapat memadamkan SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM tidak boleh dipadamkan kerana ralat.\n\nMulakan semula peranti anda dan cuba lagi."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Tidak dapat memadamkan eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Ada yang tidak kena dan eSIM anda tidak dipadamkan.\n\nMulakan semula peranti anda dan cuba sekali lagi."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Padamkan semua data (tetapan semula kilang)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Padamkan semua data (tetapan semula kilang)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Muzik"</li>\n<li>"Foto"</li>\n<li>"Data pengguna yang lain"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Ini tidak akan membatalkan pelan perkhidmatan mudah alih anda."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Semua maklumat peribadi anda dan apl yang dimuat turun akan dipadamkan. Tindakan ini tidak boleh dibuat asal."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Semua maklumat peribadi anda, termasuk apl &amp; SIM yang dimuat turun akan dipadamkan. Tindakan ini tidak boleh dibuat asal."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Semua maklumat peribadi anda, termasuk apl &amp; eSIM yang dimuat turun, akan dipadamkan. Tindakan ini tidak boleh dibuat asal."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Padamkan semua data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Tetapan semula kilang tidak tersedia untuk pengguna ini"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Memadam"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Tempat liputan, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Tidak berkongsi Internet dengan peranti lain"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Mati"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Penambatan"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Jangan gunakan tempat liputan Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Kongsi Internet melalui USB sahaja"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Kongsi Internet melalui Bluetooth sahaja"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Kongsi Internet melalui Ethernet sahaja"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Kongsi Internet melalui USB dan Bluetooth sahaja"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Kongsi Internet melalui USB dan Ethernet sahaja"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Kongsi Internet melalui Bluetooth dan Ethernet sahaja"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Kongsi Internet melalui USB, Bluetooth dan Ethernet sahaja"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Penambatan USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Penambatan Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Penambatan Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Gunakan tempat liputan dan penambatan untuk menyediakan Internet kepada peranti lain melalui Wi-Fi atau sambungan data mudah alih anda. Apl juga boleh membuat tempat liputan untuk berkongsi kandungan dengan peranti berdekatan."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Bantuan"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rangkaian mudah alih"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Pelan mudah alih"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Apl SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Tukar apl SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Gunakan <xliff:g id="NEW_APP">%1$s</xliff:g> bukannya <xliff:g id="CURRENT_APP">%2$s</xliff:g> sebagai apl SMS anda?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Tukar pembantu Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Gunakan <xliff:g id="NEW_APP">%1$s</xliff:g> bukannya <xliff:g id="CURRENT_APP">%2$s</xliff:g> untuk mengurus sambungan rangkaian anda?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Gunakan <xliff:g id="NEW_APP">%s</xliff:g> untuk mengurus sambungan rangkaian anda?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Pengendali SIM yang tidak diketahui"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> tiada laman web peruntukan yang dikenali"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Sila masukkan kad SIM dan mulakan semula"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Sila sambung ke internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Permintaan lokasi terbaharu"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokasi untuk profil kerja"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Kebenaran lokasi apl"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Padam bersih akses"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kawalan"</string>
     <string name="force_stop" msgid="2681771622136916280">"Henti paksa"</string>
+    <string name="archive" msgid="9074663845068632127">"Arkib"</string>
+    <string name="restore" msgid="7622486640713967157">"Pulihkan"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Memulihkan"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Memulihkan."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Memulihkan.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Memulihkan..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Jumlah"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Saiz apl"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Apl storan USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Tidak dapat mengira saiz pakej."</string>
     <string name="version_text" msgid="7628938665256107608">"versi <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Alih"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Pengarkiban gagal"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> diarkibkan"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Pemulihan gagal"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Memulihkan <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Penghijrahan lain sedang berjalan."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Tiada ruang storan mencukupi."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikasi tidak wujud."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Papan kekunci pada skrin tersedia"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Urus papan kekunci pada skrin"</string>
     <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="6922850403920596246">"Dayakan kekunci Lantun untuk kebolehaksesan papan kekunci fizikal"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Kekunci perlahan"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Dayakan Kekunci perlahan untuk kebolehaksesan papan kekunci fizikal"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Kekunci Lekit"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Dayakan kekunci Lekit untuk kebolehaksesan papan kekunci fizikal"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Ketik penjuru kanan sebelah bawah pad sentuh untuk pilihan lain"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kelajuan penuding"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Ketahui gerak isyarat pad sentuh"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Pergi ke skrin utama"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Leret ke atas dengan tiga jari di mana-mana sahaja pada pad sentuh anda"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Kembali"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Isih mengikut masa penggunaan"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Isih mengikut kali terakhir digunakan"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Isih mengikut nama apl"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Kali terakhir digunakan"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Terakhir digunakan"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"tidak sekali-kali"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Masa penggunaan"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Kebolehaksesan"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Tetapan kebolehaksesan"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Besarkan dengan tiga ketikan"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Besarkan menggunakan pintasan"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Besarkan menggunakan pintasan &amp; tiga ketikan"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Perihal <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gunakan butang kebolehaksesan untuk buka"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Tahan kekunci kelantangan untuk buka"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ketik skrin tiga kali untuk buka"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Ketik skrin dua kali menggunakan dua jari untuk membuka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gunakan gerak isyarat untuk buka"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gunakan gerak isyarat kebolehaksesan"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Untuk menggunakan ciri ini, ketik butang kebolehaksesan <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> di bahagian bawah skrin anda.\n\nUntuk menukar antara ciri, sentuh &amp; tahan butang kebolehaksesan."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Untuk menggunakan ciri ini, ketik butang kebolehaksesan pada skrin anda."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Untuk menggunakan ciri ini, tekan &amp; tahan kedua-dua kekunci kelantangan."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Untuk memulakan dan menghentikan pembesaran, ketik tiga kali di mana-mana bahagian skrin anda."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Untuk memulakan dan menghentikan pembesaran, ketik dua kali pada skrin anda menggunakan dua jari."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Untuk menggunakan ciri ini, leret ke atas dari bahagian bawah skrin dengan menggunakan 2 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 2 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Untuk menggunakan ciri ini, leret ke atas dari bahagian bawah skrin dengan menggunakan 3 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 3 jari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Untuk menggunakan ciri kebolehcapaian, leret ke atas dari bahagian bawah skrin dengan menggunakan 2 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 2 hari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Untuk menggunakan ciri kebolehcapaian, leret ke atas dari bahagian bawah skrin dengan menggunakan 3 jari.\n\nUntuk menukar antara ciri, leret ke atas dengan menggunakan 3 hari dan tahan."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Tetapan butang kebolehaksesan"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Tetapan butang"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Pintasan <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Butang kebolehaksesan"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gerak isyarat kebolehaksesan"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tahan kekunci kelantangan"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tahan 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"ketik skrin dua kali menggunakan dua 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="6863958573135995927">"ketik tiga kali pada skrin"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Ketahui lebih lanjut tentang butang kebolehaksesan &amp; gerak isyarat"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Menggunakan butang kebolehaksesan. Gerak isyarat tidak tersedia dengan navigasi 3 butang."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Akses ciri kebolehaksesan dengan cepat"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Untuk bermula"</b>\n"1. Pergi ke tetapan kebolehaksesan\n2. Pilih satu ciri dan ketik pintasan\n3. Pilih sama ada anda ingin menggunakan butang atau gerak isyarat untuk mengakses ciri"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Untuk bermula"</b>\n"1. Pergi ke tetapan kebolehaksesan\n2. Pilih satu ciri dan ketik pintasan\n3. Pilih butang untuk mengakses ciri"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Untuk bermula:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Akses tetapan kebolehaksesan&lt;br/&gt; {1,number,integer}. Pilih satu ciri dan ketik pintasan&lt;br/&gt; {2,number,integer}. Pilih sama ada anda mahu menggunakan butang atau gerak isyarat untuk mengakses ciri&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Untuk bermula:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Akses tetapan kebolehaksesan&lt;br/&gt; {1,number,integer}. Pilih satu ciri dan ketik pintasan&lt;br/&gt; {2,number,integer}. Pilih butang untuk mengakses ciri&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Gunakan butang atau gerak isyarat"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokasi"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Saiz"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Butang kuasa menamatkan panggilan"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Penuding tetikus besar"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Jadikan penuding tetikus lebih mudah dilihat"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Jadikan semua apl gelap"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Digunakan pada apl tanpa tema gelap tersendiri. Sesetengah apl mungkin mengalami masalah paparan."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Alih keluar animasi"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Kurangkan pergerakan pada skrin"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Gunakan getaran &amp; haptik"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Getaran penggera"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Getaran media"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Getaran papan kekunci"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Getaran deringan"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Getaran pemberitahuan"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Maklum balas sentuhan"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Berhenti"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Batal"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Hentikan <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Mengetik <xliff:g id="STOP">%1$s</xliff:g> akan menghentikan <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Matikan"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Biar hidup"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Matikan <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Tiada perkhidmatan dipasang"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Tiada perkhidmatan yang dipilih"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Tiada keterangan disediakan."</string>
     <string name="settings_button" msgid="2195468788019730377">"Tetapan"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"kepekaan cahaya, fotofobia, tema gelap, migrain, sakit kepala, mod membaca, mod malam, kurangkan kecerahan, titik putih"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Kemudahan penggunaan, kemudahan akses, bantuan, bantu"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"penglihatan, pendengaran, buta, pekak, motor, kecekatan, bantu, bantuan, kemudahan penggunaan, kemudahan pengaksesan, tangan, tolong"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Pembesar Tetingkap, Zum, Pembesaran, Rabun, Besarkan, jadikan lebih besar"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Sari kata, SK, Transkripsi Segera, pekak labang, kehilangan pendengaran, CART, pertuturan kepada teks, sari kata"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontras warna"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, tetikus"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"alat bantu pendengaran, pekak labang, kehilangan pendengaran, implan koklea, peranti penguatan, pemproses bunyi"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, tetikus, tetikus luaran, kepala tetikus, tetikus boleh suai, kerusi roda, kayu bedik"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"alat bantu pendengaran, pekak labang, kehilangan pendengaran, implan koklea, peranti penguatan, pemproses bunyi, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"pekak labang, kehilangan pendengaran, sari kata, Teletaip, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tiga butang"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"kecekatan, motor, warga emas, artritis, rsi, strok, geletar, berbilang sklerosis, palsi serebrum, gigil, kecederaan tegang berulang, tangan"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"kelewatan, kecekatan, warga emas"</string>
     <string name="print_settings" msgid="8519810615863882491">"Pencetakan"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Mati"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 perkhidmatan cetak dihidupkan}other{# perkhidmatan cetak dihidupkan}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> yang tinggal"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> untuk mengecas"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Masa skrin"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Masa latar"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateri lemah"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Benarkan apl berjalan di latar belakang"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Hadkan aktiviti latar belakang?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jika anda mengehadkan aktiviti latar belakang untuk apl, fungsi apl itu mungkin terganggu"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Apl ini tidak boleh dihadkan kerana tidak ditetapkan untuk mengoptimumkan bateri.\n\nHidupkan pengoptimuman bateri dahulu."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Urus penggunaan bateri"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Benarkan penggunaan latar"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Dayakan kemaskinian masa nyata, lumpuhkan ciri untuk menjimatkan bateri"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Tiada sekatan"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Dioptimumkan"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Terhad"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Lihat apl dengan penggunaan tertinggi"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Pengecasan dioptimumkan untuk melindungi bateri anda"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Untuk membantu dalam memanjangkan jangka hayat bateri anda, pengecasan telah dioptimumkan"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Pengecasan dioptimumkan untuk melindungi bateri anda"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Untuk membantu dalam memanjangkan jangka hayat bateri anda, pengecasan dioptimumkan ketika didok"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Pengecasan dioptimumkan untuk melindungi bateri anda"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Bagi membantu jangka hayat bateri anda dilanjutkan, pengecasan dioptimumkan ketika didok"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Mengecas hingga penuh"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Untuk melindungi bateri anda, pengecasan akan dioptimumkan pada kali seterusnya tablet anda didok"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Ketahui lebih lanjut tentang pengecasan dijeda"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Sambung semula pengecasan"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Termasuk aktiviti latar belakang kuasa tinggi"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Apl ini dapat menggunakan bateri di latar belakang. Bateri anda mungkin kehabisan lebih cepat daripada yang dijangkakan."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Alih keluar"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Batal"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Cas hingga penuh"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Isu berkaitan aksesori pengecasan"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Semak aksesori pengecasan"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Ketahui lebih lanjut tentang pengecasan tidak serasi"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Pengurus Bateri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Urus apl secara automatik"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"sejak cas penuh terakhir"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Apl sistem"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Apl yang dinyahpasang"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Lain-lain"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Anggaran baki masa"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Sehingga dicas penuh"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Jumlah: kurang dari seminit"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Latar: kurang daripada seminit"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Masa skrin: kurang daripada seminit"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Kurang daripada seminit"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Jumlah: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Latar: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Masa skrin: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"sekarang"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Carta penggunaan bateri"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Carta penggunaan bateri harian"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Carta penggunaan bateri setiap jam"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Peratusan paras kuasa bateri daripada <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> kepada <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Penggunaan bateri sejak cas penuh terakhir"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Penggunaan bateri untuk <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Masa skrin sejak cas penuh terakhir"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Isyarat dail kecemasan"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Tetapkan tingkah laku semasa membuat panggilan kecemasan"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sandaran"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Hidup"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Mati"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sandarkan &amp; pulihkan"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Data peribadi"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sandarkan data saya"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Data mudah alih &amp; Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Auto segerak data peribadi"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Auto segerak data kerja"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Autosegerakkan data peribadi"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Tukar kitaran..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Hari dalam bulan untuk menetapkan semula kitaran penggunaan data:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Tiada aplikasi menggunakan data dalam tempoh ini."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nama"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Jenis"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Alamat pelayan"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Penyulitan PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Rahsia L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Pengecam IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Kunci prakongsi IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Sijil pengguna IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Sijil CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Sijil pelayan IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Tunjukkan pilihan terperinci"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domain carian DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Pelayan DNS (mis. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Laluan pemajuan (mis. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nama pengguna"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Kata laluan"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Simpan maklumat akaun"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(tidak digunakan)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(jangan sahkan pelayan)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(diterima daripada pelayan)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Jenis VPN ini tidak dapat kekal tersambung pada sepanjang masa"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN sentiasa hidup hanya menyokong alamat pelayan dalam format angka"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Pelayan DNS mesti ditetapkan untuk VPN sentiasa hidup"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Alamat pelayan DNS mestilah dalam format angka untuk VPN sentiasa hidup"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Maklumat yang dimasukkan tidak menyokong VPN sentiasa hidup"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Batal"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ketepikan"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Sekat sambungan tanpa VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Perlukan sambungan VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Tidak selamat. Kemas kini kepada IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Gagal memulakan VPN yang tidak disokong."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pilih profil VPN untuk sentiasa kekal tersambung. Trafik rangkaian hanya akan dibenarkan apabila bersambung ke VPN ini."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Tiada"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN yang sentiasa dihidupkan memerlukan alamat IP untuk kedua-dua pelayan dan DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Amaran AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Terima buletin mengenai penculikan kanak-kanak"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ulang"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Dayakan Pengurus Panggilan"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Benarkan perkhidmatan ini mengurus cara panggilan anda dibuat."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Panggil Pengurus"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Makluman kecemasan wayarles"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Pengendali rangkaian"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nama titik capaian"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status SIM (slot sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM ditukar."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM anda telah ditukar"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ketik untuk menyediakan"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Tanya setiap kali"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Pemilihan diperlukan"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apl terbaharu, apl lalai"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Akses pemberitahuan tidak tersedia untuk apl dalam profil kerja."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Kata laluan dan akaun"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Kata laluan yang disimpan, autolengkap, akaun yang disegerakkan"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Cadangan untuk log masuk &amp; autolengkap"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Apl lalai"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Apl Klon"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Buat tika kedua apl supaya anda boleh menggunakan dua akaun pada masa yang sama."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"bayar, ketik, bayaran"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sandaran, sandarkan"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gerak isyarat"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"wajah, buka kunci, sahkan, daftar masuk"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"wajah, buka kunci, pengesahan, log masuk, cap jari, biometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versi prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"saiz teks, huruf cetak besar, fon besar, teks besar, rabun, jadikan teks lebih besar, besarkan teks, pembesaran fon"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"paparan ambien sentiasa hidup, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, pembaca"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"papan kekunci, haptik, getaran,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Kelantangan, getaran, Jangan Ganggu"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Kelantangan media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Kelantangan penghantaran"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Bunyi semasa kuasa dihidupkan"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Sari Kata Langsung"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Sari kata media automatik"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Pembesar suara telefon"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Pembesar suara tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Pembesar suara peranti"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Fon kepala berwayar"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audio daripada media yang serasi kedengaran lebih mengasyikkan"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Mati"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tunjukkan semua kandungan pemberitahuan"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Tunjukkan kandungan sensitif ketika tidak berkunci"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Jangan tunjukkan pemberitahuan sama sekali"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bagaimanakah paparan skrin kunci yang anda inginkan?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Apakah yang mahu dipaparkan pada skrin kunci anda?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Skrin kunci"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tunjukkan semua kandungan pemberitahuan kerja"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Sembunyikan kandungan kerja yang sensitif"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Perbualan terbaharu dialih keluar"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Perbualan dialih keluar"</string>
     <string name="clear" msgid="5092178335409471100">"Kosongkan"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Alih keluar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Perbualan keutamaan dan perbualan yang diubah suai akan dipaparkan di sini"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Setelah anda menandai perbualan sebagai keutamaan atau membuat perubahan lain pada perbualan, perubahan itu akan dipaparkan di sini. \n\nUntuk mengubah tetapan perbualan: \nLeret ke bawah dari bahagian atas skrin untuk membuka bidai tarik turun, kemudian sentuh &amp; tahan perbualan."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimumkan"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Tempoh bertenang pemberitahuan"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Gunakan tempoh bertenang pada semua pemberitahuan"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Rendahkan kelantangan pemberitahuan secara berperingkat apabila anda menerima pemberitahuan daripada apl yang sama secara berturutan"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Gunakan tempoh bertenang pada perbualan"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Rendahkan kelantangan pemberitahuan secara berperingkat apabila anda menerima mesej daripada sembang yang sama dalam tempoh masa yang singkat"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Jangan gunakan tempoh bertenang pemberitahuan"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Jangan sesekali merendahkan kelantangan pemberitahuan tanpa mengira jumlah pemberitahuan daripada apl yang sama secara berturutan"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Bergetar apabila tidak berkunci"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Hanya bergetar apabila skrin tidak berkunci"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Gunakan pada profil kerja"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Gunakan tetapan tempoh bertenang pemberitahuan daripada profil peribadi anda pada profil kerja anda"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Perkhidmatan pembantu VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Tiada apl terpasang yang telah meminta untuk dijalankan sebagai perkhidmatan pembantu VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Benarkan akses perkhidmatan VR untuk <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Mati"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Penyematan apl"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Penyematan apl membenarkan anda mengekalkan paparan apl semasa sehingga anda menyahsemat apl itu. Ciri ini boleh digunakan, contohnya, untuk membenarkan rakan yang dipercayai bermain permainan tertentu."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Apabila apl disemat, apl yang disemat itu boleh membuka apl lain dan data peribadi mungkin boleh diakses. \n\nUntuk menggunakan penyematan apl: 	\n1. Hidupkan penyematan apl 	\n2. Buka Ikhtisar 	\n3. Ketik ikon apl di bahagian atas skrin, kemudian ketik Semat"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Apabila apl disemat, apl yang disemat itu boleh membuka apl lain dan data peribadi mungkin boleh diakses. \n\nJika anda mahu berkongsi peranti anda dengan orang lain secara selamat, cuba gunakan pengguna tetamu. \n\nUntuk menggunakan penyematan apl: 	\n1. Hidupkan penyematan apl 	\n2. Buka Ikhtisar 	\n3. Ketik ikon apl di bahagian atas skrin, kemudian ketik Semat"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Apabila apl disemat, apl yang disemat itu boleh membuka apl lain dan data peribadi mungkin boleh diakses. \n\nUntuk menggunakan penyematan apl: 	\n{0,number,integer}. Hidupkan penyematan apl 	\n{1,number,integer}. Buka Ikhtisar 	\n{2,number,integer}. Ketik ikon apl di bahagian atas skrin, kemudian ketik Semat"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Apabila apl disemat, apl yang disemat itu boleh membuka apl lain dan data peribadi mungkin boleh diakses. \n\nJika anda mahu berkongsi peranti anda dengan orang lain secara selamat, cuba gunakan pengguna tetamu. \n\nUntuk menggunakan penyematan apl: 	\n{0,number,integer}. Hidupkan penyematan apl 	\n{1,number,integer}. Buka Ikhtisar 	\n{2,number,integer}. Ketik ikon apl di bahagian atas skrin, kemudian ketik Semat"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Apabila apl disemat: \n\n•		Data peribadi mungkin boleh diakses \n		(seperti kenalan dan kandungan e-mel) \n•		Apl yang disemat boleh membuka apl lain \n\nHanya gunakan penyematan apl dengan orang yang anda percayai."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Minta corak buka kunci sebelum menyahsemat"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Minta PIN sebelum nyahsemat"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Minta kata laluan sebelum menyahsemat"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Kunci peranti semasa menyahsemat"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Sahkan pemadaman SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Sahkan bahawa anda mahu memadamkan eSIM anda"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Sahkan identiti anda sebelum memadamkan eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta perlindungan memori Lanjutan"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Perlindungan memori Lanjutan"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Tetapan apl yang tidak digunakan"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Jeda aktiviti apl jika tidak digunakan"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Alih keluar kebenaran, padamkan fail sementara dan hentikan pemberitahuan"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Urus apl jika tidak digunakan"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Alih keluar kebenaran, padamkan fail sementara, hentikan pemberitahuan dan arkibkan apl tersebut"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Semua apl"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apl yang dipasang"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apl segera"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Kosong"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memori yang digunakan oleh apl"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 apl menggunakan memori dalam tempoh {time} yang lalu}other{# apl menggunakan memori dalam tempoh {time} yang lalu}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Dayakan pemprofilan penggunaan memori"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Pemprofilan penggunaan memori memerlukan sumber sistem tambahan."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Pemprofilan memori dilumpuhkan"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekuensi"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Penggunaan maksimum"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Tiada data yang digunakan"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Paparkan di atas apl lain"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Benarkan pemaparan di atas apl lain"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Benarkan apl ini dipaparkan di atas apl lain yang sedang digunakan. Apl ini akan dapat melihat tempat anda mengetik atau menukar item yang dipaparkan pada skrin."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Tukar output media"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Benarkan apl untuk menukar output media"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Benarkan apl ini memilih peranti tersambung untuk memainkan audio atau video daripada apl lain. Jika dibenarkan, apl ini boleh mengakses senarai peranti tersedia, seperti fon kepala dan pembesar suara dan memilih peranti output untuk menstrim atau menghantar audio atau video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Akses semua fail"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Benarkan akses untuk mengurus semua fail"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Benarkan apl ini membaca, mengubah suai dan memadamkan semula fail pada peranti ini atau mana-mana unit storan yang disambungkan. Jika dibenarkan, apl mungkin mengakses fail tanpa pengetahuan anda secara jelas."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Boleh mengakses semua fail"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apl pengaktifan suara"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Benarkan pengaktifan suara"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Pengaktifan suara menghidupkan apl yang diluluskan, secara bebas tangan menggunakan perintah suara. Pengesanan boleh suai terbina dalam memastikan data kekal peribadi kepada anda.\n\n"<a href="">"Maklumat lanjut tentang pengesanan boleh suai yang dilindungi"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Pemberitahuan skrin penuh"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Benarkan pemberitahuan skrin penuh daripada apl ini"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Benarkan apl ini untuk memaparkan pemberitahuan menggunakan skrin penuh apabila peranti dikunci. Apl mungkin menggunakan ciri ini untuk menyerlahkan penggera, panggilan masuk atau pemberitahuan mustahak yang lain."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Amaran data <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Had data <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Amaran data <xliff:g id="ID_1">^1</xliff:g>/Had data <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Cara pengiraan data pembawa mungkin berbeza daripada pengiraan peranti"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Kecualikan data yang digunakan oleh rangkaian pembawa"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> digunakan"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Tetapkan amaran data"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Dikemas kini <xliff:g id="ID_1">^2</xliff:g> yang lalu"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Dikemas kini oleh <xliff:g id="ID_1">^1</xliff:g> sebentar td"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Dikemas kini sebentar tadi"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Lihat pelan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Lihat butiran"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Penjimat Data"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Data tanpa had"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak kuasa bateri daripada biasa semasa dalam latar"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak kuasa bateri semasa dalam latar depan"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> menggunakan lebih banyak kuasa bateri daripada biasa semasa dalam latar depan"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomali penggunaan bateri"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Penggunaan kuasa bateri yang tinggi"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Penggunaan kuasa bateri yang tinggi dalam latar"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Penggunaan kuasa bateri yang tinggi dalam latar depan"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Jubin pembangun tetapan pantas"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Lumpuhkan tamat masa keizinan adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Lumpuhkan pembatalan automatik keizinan adb untuk sistem yang tidak disambung semula dalam tempoh masa lalai (7 hari) atau yang dikonfigurasi pengguna (minimum 1 hari)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Surih Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Penderia Dimatikan"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Tetapan profil kerja"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Cari kenalan direktori kerja dalam apl peribadi"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigasi sistem, navigasi 2 butang, navigasi 3 butang, navigasi gerak isyarat, leret"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Pembantu digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Leret untuk menggunakan pembantu"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Leret ke atas dari sudut bawah untuk menggunakan apl pembantu digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Leret ke atas dari sudut bawah untuk menggunakan apl pembantu digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Tahan butang Skrin Utama untuk menggunakan Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tekan dan tahan butang Skrin Utama untuk menggunakan apl pembantu digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Rendah"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Perkhidmatan autolengkap"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Perkhidmatan autolengkap lalai"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Kata laluan"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Kata laluan, kunci laluan dan perkhidmatan data"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Penyedia tambahan"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Perkhidmatan pilihan"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Perkhidmatan tambahan"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# kata laluan}other{# kata laluan}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, isi, autolengkap, kata laluan"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, kunci laluan, kata laluan"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatik, isi, autolengkap, data, kunci laluan, kata laluan"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Perubahan"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Terbuka"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Tiada yang dipilih"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Pastikan anda mempercayai apl ini&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; menggunakan item yang terdapat pada skrin anda untuk menentukan perkara yang boleh dilengkapkan secara automatik."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Gunakan &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; menggunakan maklumat pada skrin untuk menentukan pengisian data automatik. Kata laluan baharu, kunci laluan dan maklumat lain akan disimpan di sini mulai sekarang."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Kata laluan, kunci laluan dan perkhidmatan data"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Kata laluan baharu, kunci laluan dan maklumat lain akan disimpan di sini mulai sekarang. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; mungkin menggunakan maklumat pada skrin anda untuk menentukan pengisian data automatik."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Perkhidmatan pilihan untuk kata laluan, kunci laluan &amp; autolengkap"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Matikan %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Matikan perkhidmatan ini?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Maklumat yang disimpan seperti kata laluan, kunci laluan, kaedah pembayaran dan maklumat lain tidak akan diisikan apabila anda log masuk. Untuk menggunakan maklumat anda yang disimpan, pilih kata laluan, kunci laluan atau perkhidmatan data."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Kata laluan, kunci laluan &amp; autolengkap"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Matikan semua perkhidmatan?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Kata laluan, kunci laluan dan maklumat lain yang disimpan tidak akan tersedia untuk autolengkap apabila anda log masuk"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Tukarkan perkhidmatan pilihan anda kepada &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Kata laluan baharu, kunci laluan dan maklumat lain akan disimpan di sini mulai sekarang. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; mungkin menggunakan maklumat pada skrin anda untuk menentukan pengisian data automatik"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Gunakan %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Matikan"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Ubah"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Anda hanya boleh menghidupkan 5 perkhidmatan"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Matikan sekurang-kurangnya 1 perkhidmatan untuk menambahkan perkhidmatan lain"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s menggunakan maklumat pada skrin anda untuk menentukan pengisian data automatik."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Had kata laluan, kunci laluan dan perkhidmatan data"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Anda boleh mempunyai hingga 5 kata laluan, kunci laluan dan perkhidmatan data yang aktif pada masa yang sama. Matikan perkhidmatan untuk menambahkan lagi."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Had kata laluan, kunci laluan dan perkhidmatan data"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Anda boleh mempunyai hingga 5 kata laluan, kunci laluan dan perkhidmatan data yang aktif pada masa yang sama. Matikan perkhidmatan untuk menambahkan lagi."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Matikan"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autolengkap"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Tahap pengelogan"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Perubahan keserasian aplikasi hanya boleh diubah suai untuk apl boleh dinyahpepijat. Pasang apl boleh dinyahpepijat dan cuba lagi."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bergantung pada tetapan lain"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Akaun"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d akaun"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nama peranti"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Maklumat asas"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Undang-undang &amp; kawal selia"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Benarkan apl ini dilancarkan apabila tag NFC diimbas.\nJika kebenaran ini dihidupkan, apl akan tersedia sebagai pilihan apabila tag dikesan."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Mainkan media ke"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Mainkan <xliff:g id="LABEL">%s</xliff:g> pada"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio akan dimainkan"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Peranti ini"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Tidak tersedia semasa panggilan"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Jawab panggilan pada"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Redam"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Untuk mendayakan tetapan ini, tukar \"Tekan &amp; tahan butang kuasa\" kepada menu kuasa terlebih dahulu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Butiran rangkaian"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Nama peranti anda boleh dilihat oleh apl pada telefon anda. 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="devices_title" msgid="649715719278562515">"Peranti"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Pilih rangkaian"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Diputuskan sambungan"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nama"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Warna (digunakan oleh apl yang serasi)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Simpan"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Gunakan SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Gunakan SIM ini"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Mati"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Untuk melumpuhkan SIM ini, keluarkan kad SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Ketik untuk mengaktifkan <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Padamkan SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Untuk mematikan SIM ini, alih keluar kad SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Ketik untuk mengaktifkan SIM <xliff:g id="CARRIER">%1$s</xliff:g> anda"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Padamkan eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Jenis rangkaian pilihan"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Tukar mod pengendalian rangkaian"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Jenis rangkaian pilihan"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Semak dengan penyedia rangkaian untuk mendapatkan harga."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Penggunaan data apl"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mod Rangkaian <xliff:g id="NETWORKMODEID">%1$d</xliff:g> Tidak Sah. Abaikan."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Pemesejan satelit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Hantar dan terima mesej teks melalui satelit. Disertakan dengan akaun anda."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Hantar dan terima mesej teks melalui satelit. Tidak disertakan dengan akaun anda."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Pemesejan satelit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Perihal pemesejan satelit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Anda boleh menghantar dan menerima mesej teks melalui satelit sebagai sebahagian daripada akaun <xliff:g id="CARRIER_NAME">%1$s</xliff:g> yang layak"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Pelan <xliff:g id="CARRIER_NAME">%1$s</xliff:g> anda"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Pemesejan satelit disertakan dengan akaun anda"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Pemesejan satelit tidak disertakan dengan akaun anda"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Tambahkan pemesejan satelit"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Cara ciri ini berfungsi"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Apabila liputan rangkaian mudah alih tiada"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefon anda akan disambungkan secara automatik kepada satelit. Untuk mendapatkan sambungan terbaik, pastikan anda berada di kawasan dengan pandangan langit yang jelas."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Selepas telefon anda disambungkan kepada satelit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Anda boleh menghantar teks kepada sesiapa sahaja, termasuk perkhidmatan kecemasan. Telefon anda akan disambungkan semula kepada rangkaian mudah alih jika tersedia."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Pemesejan satelit mungkin mengambil masa lebih lama dan tersedia di beberapa kawasan sahaja. Cuaca dan struktur tertentu boleh menjejaskan sambungan satelit anda. Panggilan melalui satelit tidak tersedia.\n\nPerubahan pada akaun anda mungkin memerlukan sedikit masa untuk dipaparkan dalam Tetapan. Hubungi <xliff:g id="CARRIER_NAME">%1$s</xliff:g> untuk mendapatkan butiran."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Lagi tentang pemesejan satelit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nama Titik Capaian (APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Tidak tersedia apabila disambungkan ke <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Tukar kepada <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Tukar kepada penggunaan kad SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Gunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Hanya satu SIM yang boleh aktif pada satu-satu masa.\n\nBertukar kepada <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan perkhidmatan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> anda."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Hanya 1 eSIM boleh aktif pada satu masa.\n\nTindakan menukar kepada <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan perkhidmatan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> anda."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Hanya satu SIM yang boleh aktif pada satu-satu masa.\n\nPenukaran tidak akan membatalkan perkhidmatan <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> anda."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Hanya 1 SIM boleh diaktifkan pada satu-satu masa.\n\nPenukaran kepada <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan perkhidmatan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> anda."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Hanya 1 eSIM boleh diaktifkan pada satu-satu masa.\n\nPenukaran kepada <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> tidak akan membatalkan perkhidmatan <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> anda."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Hanya 1 SIM boleh diaktifkan pada satu-satu masa.\n\nPenukaran tidak akan membatalkan perkhidmatan <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> anda."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Anda tidak boleh menggunakan 2 SIM serentak. Untuk menggunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, matikan SIM lain."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Tukar kepada <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Matikan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Tindakan mematikan SIM tidak akan membatalkan perkhidmatan data mudah alih anda"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Menyambung kepada rangkaian…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Bertukar kepada <xliff:g id="CARRIER_NAME">%1$s</xliff:g> untuk panggilan dan mesej…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Tidak dapat menukar pembawa"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Pembawa tidak dapat ditukar disebabkan ralat."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Mengaktifkan SIM anda…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Beralih kepada <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Tidak dapat menukar SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Ada yang tidak kena. Tidak dapat menukar SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Matikan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Matikan SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Mematikan SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Tidak dapat melumpuhkan pembawa"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Kesilapan telah berlaku dan pembawa anda tidak dapat dilumpuhkan."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Tidak dapat mematikan SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Ada yang tidak kena dan SIM anda tidak boleh dimatikan."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Gunakan 2 SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Peranti ini boleh mempunyai 2 SIM aktif serentak. Untuk terus menggunakan 1 SIM pada satu-satu masa, ketik \"Tidak perlu\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Mulakan semula peranti?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Tidak perlu"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Batal"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Tukar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Matikan"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Tidak dapat mengaktifkan SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Cuba hidupkan SIM sekali lagi. Jika masalah berlanjutan, mulakan semula peranti anda."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Sediakan SIM anda"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Tetapkan pilihan rangkaian mudah alih anda untuk menggunakan berbilang SIM pada peranti ini"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Labelkan SIM anda"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Anda akan melihat label ini semasa membuat panggilan, menghantar teks dan menggunakan data serta dalam Tetapan"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Label SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Pilih SIM untuk digunakan"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Anda boleh menggunakan 2 SIM serentak"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Tetapkan SIM utama anda"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Pilih SIM yang akan digunakan secara lalai untuk panggilan, teks dan data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"SIM utama anda"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Panggilan"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Teks"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Penukaran data automatik"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Penggunaan data daripada mana-mana SIM bergantung pada liputan dan ketersediaan"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data sahaja"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Sediakan"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Seterusnya"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Menghidupkan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rangkaian mudah alih"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Nombor telefon"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Label dan warna SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Pengaktifan rangkaian"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Pertukaran pembawa"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> aktif"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM <xliff:g id="CARRIER_NAME">%1$s</xliff:g> anda aktif"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Ketik untuk mengemas kini tetapan SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Bertukar kepada <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Bertukar kepada pembawa lain"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Rangkaian mudah alih anda telah ditukar"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Sediakan SIM anda yang lain"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Pilih SIM aktif anda atau gunakan 2 SIM serentak"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Pilih nombor untuk digunakan"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 nombor tersedia pada peranti ini tetapi hanya satu yang boleh digunakan pada satu-satu masa}=2{2 nombor tersedia pada peranti ini tetapi hanya satu yang boleh digunakan pada satu-satu masa}other{# nombor tersedia pada peranti ini tetapi hanya satu yang boleh digunakan pada satu-satu masa}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Mengaktifkan<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Tidak dapat diaktifkan sekarang"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Pilih SIM untuk digunakan"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM tersedia pada peranti ini tetapi hanya satu yang boleh digunakan pada satu-satu masa}=2{2 SIM tersedia pada peranti ini tetapi hanya satu yang boleh digunakan pada satu-satu masa}other{# SIM tersedia pada peranti ini tetapi hanya satu yang boleh digunakan pada satu-satu masa}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Menghidupkan <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Tidak dapat menghidupkan SIM ini sekarang"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Gunakan <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> akan digunakan untuk data mudah alih, panggilan dan SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Tiada SIM aktif yang tersedia"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Untuk menggunakan data mudah alih, ciri panggilan dan SMS pada masa akan datang, pergi ke tetapan rangkaian anda"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Padam eSIM ini?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Pemadaman SIM ini akan mengalih keluar perkhidmatan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> daripada peranti ini.\n\nPerkhidmatan <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> tidak akan dibatalkan."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Tindakan ini akan mengalih keluar perkhidmatan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> daripada peranti ini tetapi pelan <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> tidak akan dibatalkan."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Padam"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Memadamkan SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Tidak dapat memadamkan SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM ini tidak dapat dipadamkan disebabkan ralat.\n\nMulakan semula peranti anda, kemudian cuba lagi."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Memadamkan eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Tidak dapat memadamkan eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Ada yang tidak kena dan eSIM ini tidak dipadamkan.\n\nMulakan semula peranti anda dan cuba sekali lagi."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Sambung ke peranti"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Apl <xliff:g id="APPNAME">%1$s</xliff:g> mahu menggunakan rangkaian Wi-Fi sementara untuk menyambung ke peranti anda"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Tiada peranti ditemui. Pastikan peranti dihidupkan dan tersedia untuk menyambung."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Panggilan kecemasan"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Panggilan kecemasan melalui Panggilan Wi‑Fi tidak disokong oleh pembawa anda.\nPeranti akan bertukar kepada rangkaian selular secara automatik untuk membuat panggilan kecemasan.\nPanggilan kecemasan hanya boleh dibuat di kawasan yang terdapat liputan selular."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Gunakan Wi-Fi untuk panggilan untuk meningkatkan kualiti"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Panggilan sandaran"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Jika <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> tidak tersedia atau sedang dalam perayauan, gunakan SIM data mudah alih anda untuk panggilan <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"panggilan sandaran"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mesej MMS masuk"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Tidak dapat menghantar mesej MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Ketik untuk membenarkan pemesejan MMS pada <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> apabila data mudah alih dimatikan"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Maklumat dasar kerja anda"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Tetapan diurus oleh pentadbir IT anda"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"But dengan saiz halaman 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"But peranti dengan kernel disokong saiz halaman 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"But semula dengan kernel serasi halaman 16KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AMARAN: Sesetengah aplikasi mungkin tidak serasi dengan mod ini. Peranti akan but semula selepas pengesahan."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"But semula dengan kernel serasi halaman 4KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Peranti akan but semula selepas pengesahan."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Gagal mengemaskinikan kernel kepada kernel serasi halaman 16KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Menggunakan perubahan"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Pengendali laporan pepijat"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Menentukan apl yang mengendalikan pintasan Laporan Pepijat pada peranti anda."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Peribadi"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Benarkan apl yang boleh dipaparkan di atas apl lain untuk menindan skrin Tetapan"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Benarkan Modem Maya"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Benarkan peranti ini menjalankan perkhidmatan Modem Maya untuk ujian peralatan. Jangan dayakan tetapan ini semasa penggunaan biasa telefon"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Lumpuhkan perlindungan perkongsian skrin"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Lumpuhkan apl digunakan sistem dan perlindungan pemberitahuan semasa perkongsian skrin"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Sematkan pemain media"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Untuk menyambung semula main balik dengan pantas, biarkan pemain media kekal terbuka dalam Tetapan Pantas"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Tunjukkan media pada skrin kunci"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Untuk menyambung semula main balik dengan pantas, biarkan pemain media kekal terbuka pada skrin kunci"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Tunjukkan pengesyoran media"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Tunjukkan syor media Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Berdasarkan aktiviti anda"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Sembunyikan pemain"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Tunjukkan pemain"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Benarkan sambungan perisian kamera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Mendayakan pelaksanaan perisian lalai bagi ciri kamera lanjutan, seperti videografi Tanpa Lihat."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth akan dihidupkan"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktif"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Tidak aktif"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Hidup"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Mati"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Lalai untuk <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"panggilan"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audio daripada media yang serasi kedengaran lebih mengasyikkan"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Penjejakan kepala"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audio berubah apabila anda menggerakkan kepala anda untuk kedengaran lebih semula jadi"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Segerakkan kebenaran"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Beri <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> kebenaran apl yang sama yang telah anda benarkan pada <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Segerakkan kebenaran daripada telefon"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Beri jam tangan anda kebenaran apl yang sama yang telah anda benarkan pada telefon ini"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Jenis Peranti Audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Tidak diketahui"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Pembesar suara"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Sederhana"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Tinggi"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Apl ini hanya boleh dibuka dalam 1 tetingkap"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Hidup"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Mati"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Mati"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Mati"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Hidup"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Mati"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Hidup"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Mati"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Menukarkan skrin cerah kepada gelap dan skrin gelap kepada cerah"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zum masuk pada skrin"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Mati"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Mati"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Mengimbas untuk mengesan apl yang mengelirukan"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Semak aktiviti apl untuk mengesan pancingan data"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gunakan ciri pengimbasan untuk mengesan apl yang mengelirukan"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gunakan ciri pengimbasan untuk mengesan apl yang mengelirukan untuk kerja"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Kini kata laluan telah disediakan"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Tunjukkan penuding semasa menuding"</string>
 </resources>
diff --git a/res/values-my/arrays.xml b/res/values-my/arrays.xml
index f400fc3..882b637 100644
--- a/res/values-my/arrays.xml
+++ b/res/values-my/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ချိတ်ဆက်နိုင်သော"</item>
     <item msgid="6096962300722555553">"စက်ကွင်းပြင်ပ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"ပိတ်ထားသည်"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"စနစ်မူရင်းကို အသုံးပြုရန်− <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"၁"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"၁ မိနစ်နောက်ပိုင်း"</item>
     <item msgid="1574040255478150028">"၅ မိနစ်နောက်ပိုင်း"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-my/strings.xml b/res/values-my/strings.xml
index 9ea25be..6f5a2b7 100644
--- a/res/values-my/strings.xml
+++ b/res/values-my/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"သင်သည် ယခု ဆော့ဖ်ဝဲအင်ဂျင်နီယာ တစ်ဦး ဖြစ်နေပါပြီ။"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"မလိုတော့ပါ။ သင်သည် တည်ဆောက်သူတစ်ယောက် ဖြစ်နေပြီ ဖြစ်သည်။"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ဆော့ဖ်ဝဲရေးသူအတွက် ရွေးစရာများကို ဦးစွာဖွင့်ပါ။"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"စီမံခန့်ခွဲသူများသာ ဆော့ဖ်ဝဲရေးသူဆက်တင်များကို ဝင်ကြည့်နိုင်သည်။"</string>
     <string name="header_category_system" msgid="1665516346845259058">"စနစ်"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ဝန်ဆောင်မှုရှိပါသည်"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ဆက်သွယ်မှုဧရိယာပြင်ပ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"စက်ကို ခေါက်သည့်အခါ ရှေ့မျက်နှာပြင်ပြကွက် ဖွင့်သည်"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ဂိမ်း၊ ဗီဒီယို စသည်တို့သာ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"စခရင် ငြိမ်မသွားအောင်လုပ်သည့် အက်ပ်များအတွက် ရှေ့မျက်နှာပြင်ပြကွက် ဖွင့်သည်"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ရှေ့ဆက်ရန် အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"အက်ပ်ဆက်သုံးရန် ဖုန်းကိုခေါက်ပြီး ရှေ့မျက်နှာပြင်ပြကွက်တွင် အပေါ်သို့ ပွတ်ဆွဲနိုင်သည်။ သို့မဟုတ် ဖန်သားပြင်လော့ခ်ချရန် စက္ကန့်အနည်းငယ် စောင့်နိုင်သည်"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ဘယ်တော့မှ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"စက်ကို ခေါက်သည့်အခါ ရှေ့မျက်နှာပြင်ပြကွက်ကို လော့ခ်ချသည်"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"အလိုအလျောက်လှည့်ခြင်းကို သုံးရန်"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ဆက်စပ်သည်များ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ဖုန်းမြည်သံနှင့် နှိုးစက်"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ဖုန်းခေါ်မှုအတွင်း အသံ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"မီဒီယာ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"အကြောင်းကြားချက်၊ အခြားစနစ်အသံ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"မီဒီယာ၊ စနစ်အသံများ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"အကြောင်းကြားချက်များ"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"အသံထွက်မည့် ကိရိယာကို မူရင်းအားဖြင့် အက်ပ်တစ်ခုချင်းစီက ဆုံးဖြတ်သည်"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"အမည်မသိသောဘလူးတုသ်စက်"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"ရှာဖွေနေသည်…"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"မလုပ်တော့"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"‘ဘလူးတုသ် LE Audio’ ပိတ်ရန်"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"စက်က LE Audio ဟာ့ဒ်ဝဲစွမ်းရည်များကို ပံ့ပိုးလျှင် ဘလူးတုသ် LE Audio အင်္ဂါရပ်ကို ပိတ်သည်။"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ဘလူးတုသ် LE Audio မုဒ်"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"‘စက်အသေးစိတ်’ တွင် LE audio ခလုတ်ပြရန်"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ဘလူးတုသ် LE Audio ခွင့်ပြုစာရင်း ဖွင့်ရန်"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ဘလူးတုသ် LE Audio ခွင့်ပြုစာရင်း အင်္ဂါရပ်ကို ဖွင့်သည်။"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"‘ဘလူးတုသ် LE Audio ခွင့်ပြုစာရင်း’ ကို ရှောင်ကွင်းရန်"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio အရံပစ္စည်းကို ‘ခွင့်ပြုစာရင်း’ သတ်မှတ်ချက်နှင့် ကိုက်ညီသည်ဟု အတည်ပြုမထားလျှင်ပင် LE Audio ကို မူရင်းသတ်မှတ်ချက်အတိုင်း သုံးနိုင်သည်။"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"မီဒီယာ စက်ပစ္စည်းများ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ခေါ်ဆိုမှု စက်ပစ္စည်းများ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"အခြား စက်ပစ္စည်းများ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"သိမ်းထားသည့် စက်ပစ္စည်းများ"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"အကောင့်နှင့် သက်ဆိုင်သည်"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"အကောင့်နှင့် ယခင်က တွဲဖက်အသုံးပြုထားသည့်စက်များ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"တွဲချိတ်ရန် ဘလူးတုသ်ကို ဖွင့်ပါမည်"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ချိတ်ဆက်မှု ဦးစားပေးများ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ယခင် ချိတ်ဆက်ထားသည်များ"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ဘလူးတုသ် ဖွင့်ထားသည်"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"အားလုံး ကြည့်ရန်"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"အားလုံးကြည့်ရန်"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"စတိုင်လပ်စ်"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"စွတ်ကြောင်းခလုတ်ကို နှိပ်လျှင်"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (အလုပ်ပရိုဖိုင်)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"စာသားအကွက်များတွင် ရေးခြင်း"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"စတိုင်လပ်စ်ခလုတ်နှိပ်ခြင်းအားလုံးကို လစ်လျူရှုခြင်း"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"စတိုင်လပ်စ်"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"အသံမျှဝေခြင်း"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"အသံမျှဝေရန်"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ခေါ်ဆိုမှုနှင့် နှိုးစက်များ"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ကုဒ်သုံး၍ အသံထုတ်လွှင့်ခြင်းနှင့် ချိတ်ဆက်ပါ"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"အနီးအနား၌ အသံထုတ်လွှင့်ခြင်း မတွေ့ပါ။"</string>
     <string name="date_and_time" msgid="1788358029823431692">"ရက်စွဲနှင့် အချိန်"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ပရောက်စီ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ရှင်းရန်"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"ဦးစားပေး ဘာသာစကားများတွင် %s ထည့်မလား။"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ဤဘာသာစကားကိုလည်း သင်နှစ်သက်ကြောင်း အက်ပ်နှင့် ဝဘ်ဆိုက်များကို အသိပေးပါမည်။"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"သင့်စက်ဆက်တင်များနှင့် ဒေသဆိုင်ရာ သတ်မှတ်ချက်များ ပြောင်းသွားမည်။"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ပြောင်းရန်"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ကိုမရနိုင်ပါ"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"စနေ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"အက်ပ်သည် ဒေသဆိုင်ရာ သတ်မှတ်ချက်များကို မပံ့ပိုးပါက ၎င်း၏ မူလဘာသာစကားဆက်တင်များကို သုံးပါမည်။"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ဦးစားပေး ဘာသာစကားများအကြောင်း ပိုမိုလေ့လာပါ။"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"နောက်ထပ် သတ်မှတ်ချက်များ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ခေါ်ဆိုမှု စည်းမျဉ်းများ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"သင်အခေါ်ခံလိုသည့်ပုံစံကို သတ်မှတ်ပါ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"အက်ပ်များသည် သင့်အား မည်သို့ခေါ်ရမည်ကို သီးသန့်ပြုလုပ်ရန် သင်၏ ခေါ်ဆိုမှု စည်းမျဉ်းများကို သုံးနိုင်သည်။"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"သတ်မှတ်မထားပါ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ဣတ္ထိလိင်"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ပုလ္လိင်"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"သာမန်"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ရွေးထားသည့် ဘာသာစကားကို ဖယ်ရှားမလား။}other{ရွေးထားသည့် ဘာသာစကားများကို ဖယ်ရှားမလား။}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"စာသားများကို အခြားဘာသာစကားဖြင့်ပြပါလိမ့်မည်။"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ဘာသာစကားများ အားလုံးကိုဖယ်ရှား၍မရပါ"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"တည်နေရာ"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"တည်နေရာကို သုံးရန်"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ပိတ်"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ဖွင့် - အက်ပ် # ခုသည် တည်နေရာ ဝင်ကြည့်ခွင့်ရှိသည်}other{ဖွင့် - အက်ပ် # ခုသည် တည်နေရာ ဝင်ကြည့်ခွင့်ရှိသည်}}"</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_location_off" msgid="8568995909147566720">"အက်ပ်နှင့် ဝန်ဆောင်မှုများအတွက် တည်နေရာသုံးခွင့်ကို ပိတ်ထားသည်။ သင် အရေးပေါ် နံပါတ်ကို ဖုန်းဆက်သောအခါ (သို့) စာတိုပို့သောအခါ သင့်စက်၏တည်နေရာကို အရေးပေါ်ဆောင်ရွက်ပေးသူများထံ ပို့နိုင်ပါသည်။"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"တည်နေရာပြ ဆက်တင်များအကြောင်း ပိုမိုလေ့လာပါ။"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"တည်နေရာပြ ဆက်တင်များအကြောင်း ပိုမိုလေ့လာရန်"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"တည်နေရာသုံးခွင့် ပြောင်းရန် ဆက်တင်များ &gt; လုံခြုံရေးနှင့် အချက်အလက်လုံခြုံမှု &gt; ကန့်သတ်ရန်ဆက်တင်များသို့ သွားပါ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"အကောင့်များ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"လုံခြုံရေး"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"အသွင်ဝှက်ခြင်းနှင့် အထောက်အထားများ"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"အကောင်းဆုံးရလဒ်များအတွက် Google အတွက် ပြုလုပ်ထားသည့် လက်မှတ်ရ ဖန်သားပြင် အကာအကွယ်သုံးပါ။ အခြားဖန်သားပြင် အကာအကွယ်များသုံးပါက သင့်ကလေး၏လက်ဗွေ အလုပ် လုပ်ချင်မှ လုပ်ပါမည်။"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"နာရီဖြင့်ဖွင့်ခြင်း"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို စနစ်ထည့်သွင်းသောအခါ သင်နှာခေါင်းစည်း တပ်ဆင်ထားလျှင် (သို့) မှောင်သောနေရာသို့ ရောက်နေလျှင် သင်၏ဖုန်းသည် လက်ဗွေကို တောင်းပါမည်။\n\nသင်၏ မျက်နှာ (သို့) လက်ဗွေကို အသိအမှတ်မပြုသောအခါ လက်ပတ်နာရီဖြင့် ဖွင့်နိုင်သည်။"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"သင်၏ လက်ဗွေကို အသိအမှတ်မပြုသောအခါ လက်ပတ်နာရီဖြင့် ဖွင့်နိုင်သည်။"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"သင်၏ မျက်နှာကို အသိအမှတ်မပြုသောအခါ လက်ပတ်နာရီဖြင့် ဖွင့်နိုင်သည်။"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"‘မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း’ နှင့် ‘လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’ ကို စနစ်ထည့်သွင်းသောအခါ နှာခေါင်းစည်းတပ်ထားလျှင် (သို့) မှောင်သောနေရာသို့ ရောက်နေလျှင် သင်၏ဖုန်းသည် လက်ဗွေတောင်းပါမည်။\n\n‘နာရီဖြင့်ဖွင့်ခြင်း’ သည် သင့်ဖုန်းဖွင့်ရန် အဆင်ပြေသည့် နည်းလမ်းနောက်တစ်ခုဖြစ်သည်။ ဥပမာ သင့်လက်ချောင်းများ ရေစိုနေချိန် (သို့) မျက်နှာကို မမှတ်မိသောအချိန်။"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"‘နာရီဖြင့်ဖွင့်ခြင်း’ သည် သင့်ဖုန်းဖွင့်ရန် အဆင်ပြေသည့် နည်းလမ်းနောက်တစ်ခုဖြစ်သည်။ ဥပမာ သင့်လက်ဗွေကို မမှတ်မိသောအချိန်။"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"‘နာရီဖြင့်ဖွင့်ခြင်း’ သည် သင့်ဖုန်းဖွင့်ရန် အဆင်ပြေသည့် နည်းလမ်းနောက်တစ်ခုဖြစ်သည်။ ဥပမာ သင့်မျက်နှာကို မမှတ်မိသောအချိန်။"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"အောက်ပါကိုလုပ်ရန် လက်ဗွေ (သို့) နာရီ သုံးပါ-"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"အောက်ပါကိုလုပ်ရန် မျက်နှာ (သို့) နာရီ သုံးပါ-"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"အောက်ပါကိုလုပ်ရန် မျက်နှာ၊ လက်ဗွေ (သို့) နာရီ သုံးပါ-"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"‘နာရီဖြင့်ဖွင့်ခြင်း’ သည် ဤဖုန်းဖွင့်ရန် အဆင်ပြေသည့် နည်းလမ်းနောက်တစ်ခု ဖြစ်သည်။ ဥပမာ သင့်လက်ချောင်းများ ရေစိုနေချိန် (သို့) မျက်နှာကို မမှတ်မိသောအချိန်။\n\nအောက်ပါတို့လုပ်သောအခါ ဤဖုန်းဖွင့်ရန် သင့်နာရီကို သုံးနိုင်သည်-"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ယခုမလုပ်ပါ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ရှေ့ဆက်ရန်"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"နောက်ထပ်"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"အလုပ်လုပ်ပုံ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"နာရီပွင့်နေကာ လက်တွင်ပတ်ထားပြီး ဤဖုန်း၏ လက်လှမ်းမီသည့် နေရာတွင်ရှိရမည်။ လက်တွင်ပတ်ထားစဉ် သင့်နာရီကို ထပ်ဖွင့်စရာ မလိုပါ။"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ဤဖုန်းပွင့်သွားသည့်အခါ သင့်ကို နာရီတွင် အကြောင်းကြားမည်။ သင်မရည်ရွယ်သည့်အချိန်တွင် ဖုန်းပွင့်နေပါက ၎င်းအားလော့ခ်ထပ်ချရန် အကြောင်းကြားချက်ကို တို့နိုင်သည်။"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"သင့်ထိန်းချုပ်မှုအောက်တွင် ရှိပါသည်"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ဆက်တင်များတွင် ‘နာရီဖြင့်ဖွင့်ခြင်း’ မှ သင့်နာရီကို အချိန်မရွေး ဖယ်ရှားနိုင်သည်"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"အကြောင်းကြားချက်ကို တို့ပါ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"လော့ခ်မျက်နှာပြင်တွင် အပေါ်သို့ပွတ်ဆွဲပါ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"သင့်လက်ပတ်နာရီ ရွေးရန်"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ရနိုင်သော လက်ပတ်နာရီများ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"မလုပ်တော့"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"အတည်ပြုရန်"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"အားလုံးအဆင်သင့်ပါ။"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"လော့ခ်မျက်နှာပြင်ပေါ်တွင် ပွတ်ဆွဲသောအခါ (သို့) အကြောင်းကြားချက်ကို တို့သောအခါ ဤဖုန်းအားဖွင့်ရန် သင့်နာရီကို ယခု သုံးနိုင်သည်"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ပြီးပြီ"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"နာရီဖြင့်ဖွင့်ခြင်း"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"လော့ခ်မျက်နှာပြင်ပေါ်တွင် ပွတ်ဆွဲသောအခါ (သို့) အကြောင်းကြားချက်ကို တို့သောအခါ ဤဖုန်းအားဖွင့်ရန် သင့်နာရီကို သုံးနိုင်သည်"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"‘နာရီဖြင့်ဖွင့်ခြင်း’ သုံးရန် နာရီပွင့်နေကာ လက်တွင်ပတ်ထားပြီး ဤဖုန်း၏ လက်လှမ်းမီသည့် နေရာတွင်ရှိ၍ ၎င်းကို ချိတ်ဆက်ထားရမည်။ ချိတ်ဆက်မှု ပြတ်တောက်သွားပါက ‘နာရီဖြင့်ဖွင့်ခြင်း’ မသုံးမီ ဖုန်းကိုဖွင့်ရပါမည်။\n\nသတိပြုရန်-\nတစ်ကြိမ်လျှင် နာရီတစ်လုံးသာ စနစ်ထည့်သွင်းနိုင်သည်။ နာရီနောက်တစ်လုံးထည့်ရန် လက်ရှိတစ်လုံးကို ဦးစွာဖယ်ရှားရမည်။"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"အလုပ်အတွက် ‘မျက်နှာပြနှင့် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း’"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"စနစ်ထည့်သွင်းရန် လိုအပ်သည်"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"လုံခြုံရေး"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ကိုယ်ရေးဒေတာ"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"အလုပ်ပရိုဖိုင်"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"သီးသန့်နေရာ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"သီးသန့်အက်ပ်များကို လော့ခ်ချပြီး ဖျောက်ထားပါ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ဖျောက်ထားနိုင် (သို့) လော့ခ်ချနိုင်သော သီးခြားနေရာတွင် သီးသန့်အက်ပ်များကို ထားပါ"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"သီးသန့်နေရာလော့ခ်"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"သင့်စက်ကို ဖွင့်သည့်နည်းတူ သင်၏သီးသန့်နေရာကို ဖွင့်နိုင်သည် (သို့) အခြားလော့ခ်တစ်ခု ရွေးနိုင်သည်"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"စက်ဖန်သားပြင်လော့ခ် သုံးရန်"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"မျက်နှာနှင့် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"စနစ်ထည့်သွင်းရန် တို့ပါ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"သီးသန့်နေရာအတွက် လက်ဗွေသုံး လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"သီးသန့်နေရာအတွက် မျက်နှာပြ လော့ခ်ဖွင့်ခြင်း"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"လော့ခ်ဖွင့်ရန် နည်းလမ်းများ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"စက်ဖန်သားပြင်လော့ခ်နှင့် အတူတူပင်ဖြစ်သည်"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"သီးသန့်နေရာအတွက် လော့ခ်အသစ် ရွေးမလား။"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"သီးသန့်နေရာကို အလိုအလျောက် လော့ခ်ချခြင်း"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"သင့်စက်ပစ္စည်းကို အချိန်ကြာမြင့်စွာ အသုံးမပြုပါက သီးသန့်နေရာကို အလိုအလျောက် လော့ခ်ချနိုင်သည်"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"စက်ပစ္စည်းလော့ခ်ချချိန်တိုင်း"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"အသုံးမပြုချိန် ၅ မိနစ်ကြာပြီးနောက်"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ဘယ်တော့မှ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"လော့ခ်ချထားချိန်တွင် ဖျောက်ရန်"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"သီးသန့်နေရာ လော့ခ်ချထားချိန်တွင် ဖျောက်ရန်"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"သင့်စက်၌ သီးသန့်နေရာရှိကြောင်း အခြားသူများ မသိစေရန် ၎င်းကို သင့်အက်ပ်စာရင်းမှ ဖျောက်နိုင်သည်"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"သီးသန့်နေရာကို ဖျောက်ထားချိန်တွင် သုံးရန်"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"သင့်အက်ပ်များစာရင်း၌ ရှာဖွေမှုဘားတွင် “သီးသန့်နေရာ” ထည့်ပါ"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"သီးသန့်နေရာ အကွက်ငယ်ကို တို့ရန်"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"သီးသန့်နေရာဖွင့်ရန်"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ပိတ်"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ဖွင့်"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"စနစ်"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"သီးသန့်နေရာ ဖျက်ရန်"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"သီးသန့်နေရာကို ဖျက်မလား။"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"သင်၏ သီးသန့်နေရာကို စက်ပစ္စည်းမှ ဖယ်ရှားမည်။ သီးသန့်အက်ပ်နှင့် ဒေတာအားလုံးကို ဖျက်မည်။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍မရပါ။"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"အောက်ပါအကောင့်များကို သင့်သီးသန့်နေရာမှ ဖယ်ရှားမည်-"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ဖျက်ရန်"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"သီးသန့်နေရာကို ဖျက်နေသည်…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"အချိန်အနည်းငယ် ကြာပါမည်"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"သီးသန့်နေရာကို ဖျက်လိုက်ပါပြီ"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"သီးသန့်နေရာကို ဖျက်၍မရပါ"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"သီးသန့်နေရာ လော့ခ်ဖွင့်လိုက်သည်"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ဖန်သားပြင်လော့ခ် သတ်မှတ်ပါ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"သင်၏သီးသန့်နေရာကို သုံးရန် ဤစက်ပစ္စည်းတွင် ဖန်သားပြင်လော့ခ် သတ်မှတ်ပါ"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ဖန်သားပြင်လော့ခ် သတ်မှတ်ရန်"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"မလုပ်တော့"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"မလုပ်တော့"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"စနစ်ထည့်သွင်းရန်"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"သီးသန့်နေရာကို စနစ်ထည့်သွင်းခြင်း"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ဖျောက်ထားနိုင် (သို့) လော့ခ်ချနိုင်သော သီးခြားနေရာတွင် သီးသန့်အက်ပ်များကို ထားပါ"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"အလုပ်လုပ်ပုံ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"သင်၏သီးသန့်နေရာကို အက်ပ်စာရင်းအောက်ခြေမှ ဝင်နိုင်သည်"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"သင်၏သီးသန့်နေရာထဲရှိ အက်ပ်များကို လော့ခ်ဖြင့် ကာကွယ်ထားသည်"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"သင်၏သီးသန့်နေရာကို လော့ခ်ချထားချိန်တွင် ၎င်းထဲရှိ အက်ပ်များမှ အကြောင်းကြားချက်များကို ဖျောက်ထားသည်"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"သင်၏သီးသန့်နေရာကို လော့ခ်ချထားချိန်တွင် ၎င်းထဲရှိ အက်ပ်များကို ခွင့်ပြုချက်စီမံစနစ်၊ ကိုယ်ရေးအချက်အလက် လုံခြုံမှု ဒက်ရှ်ဘုတ်နှင့် အခြားဆက်တင်များတွင် မြင်ရမည်မဟုတ်ပါ။\n\nသင်၏သီးသန့်နေရာကို စက်ပစ္စည်းအသစ်သို့ ရွှေ့၍မရပါ။ ၎င်းကို အခြားစက်ပစ္စည်းတွင် သုံးလိုပါက နောက်ထပ်သီးသန့်နေရာကို စနစ်ထည့်သွင်းရပါမည်။\n\nသင့်စက်ပစ္စည်းကို ကွန်ပျူတာနှင့် ချိတ်ဆက်သော (သို့) သင့်စက်ပစ္စည်းတွင် အန္တရာယ်ရှိသည့်အက်ပ်များ ထည့်သွင်းသော မည်သူမဆို သင်၏သီးသန့်နေရာကို ဝင်နိုင်ပါမည်။"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"သီးသန့်နေရာကို စနစ်ထည့်သွင်းနေသည်…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"သီးသန့်နေရာ လော့ခ်ချထားချိန်တွင် ၎င်းရှိအက်ပ်များမှ အကြောင်းကြားချက်များကို ဖျောက်ထားသည်"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ဓာတ်ပုံ (သို့) ဖိုင်များ မျှဝေရန် သီးသန့်နေရာကို ဖွင့်ပါ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"အက်ပ်အချို့ကို သင်၏သီးသန့်နေရာတွင် ထည့်သွင်းပြီးဖြစ်သည်"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"သီးသန့်နေရာကို စနစ်ထည့်သွင်း၍မရပါ"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ထပ်စမ်းရန်"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"သီးသန့်နေရာကို ဖွင့်ရန် ဖန်သားပြင်လော့ခ် သုံးမလား။"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"သင့်စက်ကို ဖွင့်သည့်နည်းတူ သင်၏သီးသန့်နေရာကို ဖွင့်နိုင်သည် (သို့) အခြားလော့ခ်တစ်ခု ရွေးနိုင်သည်"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ဖန်သားပြင်လော့ခ် သုံးရန်"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"လော့ခ်အသစ် ရွေးရန်"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"အားလုံး အသင့်ပါ။"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"သင်၏သီးသန့်နေရာကို ရှာရန် အက်ပ်စာရင်းသို့ သွားပြီး အောက်သို့လှိမ့်ပါ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ပြီးပြီ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"သီးသန့်နေရာရှာရန် အောက်သို့လှိမ့်ပါ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"လက်မှတ်ထိုးဝင်ပါ"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"သင့်သီးသန့်နေရာကို အသုံးပြုရန် အကောင့်တစ်ခုသို့ လက်မှတ်ထိုးဝင်ပါ"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ယခုမလုပ်ပါ"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ရှေ့ဆက်ရန်"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"သင်၏သီးသန့်နေရာအတွက် လော့ခ်ရွေးပါ"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"သင့်လက်ဗွေသုံး၍ သီးသန့်နေရာကို လော့ခ်ဖွင့်နိုင်သည်။ လုံခြုံရေးအရ ဤနည်းလမ်းအတွက် အရန်လော့ခ်စနစ်တစ်ခု လိုအပ်သည်။"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"သင့်သီးသန့်နေရာအတွက် ပင်နံပါတ်သတ်မှတ်ပါ"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"သင့်သီးသန့်နေရာအတွက် စကားဝှက်သတ်မှတ်ပါ"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"သင့်သီးသန့်နေရာအတွက် ပုံဖော်ခြင်းသတ်မှတ်ပါ"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"လက်ဗွေ <xliff:g id="COUNT">%d</xliff:g> ခု အထိ ထည့်နိုင်သည်"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"အများဆုံးထည့်နိုင်သည့် လက်ဗွေရာအရေအတွက်အထိ ထည့်သွင်းပြီးဖြစ်သည်"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"နောက်ထပ်လက်ဗွေရာများ ထည့်၍မရတော့ပါ"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ပုံစံ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"ပင်နံပါတ်"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"စကားဝှက်"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"ဖန်သားပြင် လော့ခ်ကို ဖျက်မလား။"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"စက်ဖွင့်ခြင်း အမျိုးအစားအားလုံး ဖယ်ရှားမလား။"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ပရိုဖိုင်ကာကွယ်ခြင်းကို ဖယ်ရှားမလား။"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပုံစံက ကာကွယ်ပေးသည်။<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>၎င်းက သင့်စက်တွင်သိမ်းထားသော လက်ဗွေနမူနာကို ဖျက်ပါသည်။ သင်၏မျက်နှာနမူနာကိုလည်း လုံခြုံစွာ အပြီးဖျက်လိုက်ပါမည်။ အက်ပ်များတွင် အထောက်အထားစိစစ်ခြင်းအတွက် သင့်မျက်နှာ (သို့) လက်ဗွေကို အသုံးပြုနိုင်မည်မဟုတ်ပါ။"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"သင့်ပင်နံပါတ်ကဲ့သို့ သိမ်းထားသောဒေတာကို ဆုံးရှုံးပါမည်။<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ထိတွေ့မှုမဲ့ပေးချေခြင်းအတွက် ကတ်သတ်မှတ်ခြင်းကို ဖယ်ရှားပါမည်။<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>စက်ဖွင့်ရန်လိုအပ်သော ပိုက်ဆံအိတ်နှင့် အခြားအက်ပ်များ ကောင်းစွာ အလုပ်မလုပ်နိုင်ပါ။"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။<xliff:g id="EMPTY_LINE">
 
 </xliff:g>၎င်းက သင့်စက်တွင်သိမ်းထားသော လက်ဗွေနမူနာကိုလည်း ဖျက်ပါသည်။ အက်ပ်များတွင် အထောက်အထားစိစစ်ခြင်းအတွက် သင့်လက်ဗွေကို အသုံးပြုနိုင်မည်မဟုတ်ပါ။"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"သင့်ပင်နံပါတ်နှင့် လက်ဗွေနမူနာကဲ့သို့ သိမ်းထားသောဒေတာကို ဆုံးရှုံးပါမည်။<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ထိတွေ့မှုမဲ့ပေးချေခြင်းအတွက် ကတ်သတ်မှတ်ခြင်းကို ဖယ်ရှားပါမည်။<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>စက်ဖွင့်ရန်လိုအပ်သော ပိုက်ဆံအိတ်နှင့် အခြားအက်ပ်များ ကောင်းစွာ အလုပ်မလုပ်နိုင်ပါ။"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။<xliff:g id="EMPTY_LINE">
 
 </xliff:g>သင်၏မျက်နှာနမူနာကိုလည်း လုံခြုံစွာ အပြီးဖျက်လိုက်ပါမည်။ အက်ပ်များတွင် အထောက်အထားစိစစ်ခြင်းအတွက် သင့်မျက်နှာကို အသုံးပြုနိုင်မည်မဟုတ်ပါ။"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"သင့်ပင်နံပါတ်နှင့် မျက်နှာနမူနာကဲ့သို့ သိမ်းထားသောဒေတာကို ဆုံးရှုံးပါမည်။<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ထိတွေ့မှုမဲ့ပေးချေခြင်းအတွက် ကတ်သတ်မှတ်ခြင်းကို ဖယ်ရှားပါမည်။<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>စက်ဖွင့်ရန်လိုအပ်သော ပိုက်ဆံအိတ်နှင့် အခြားအက်ပ်များ ကောင်းစွာ အလုပ်မလုပ်နိုင်ပါ။"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို ပင်နံပါတ်က ကာကွယ်ပေးသည်။<xliff:g id="EMPTY_LINE">
 
 </xliff:g>၎င်းက သင့်စက်တွင်သိမ်းထားသော လက်ဗွေနမူနာကို ဖျက်ပါသည်။ သင်၏မျက်နှာနမူနာကိုလည်း လုံခြုံစွာ အပြီးဖျက်လိုက်ပါမည်။ အက်ပ်များတွင် အထောက်အထားစိစစ်ခြင်းအတွက် သင့်မျက်နှာ (သို့) လက်ဗွေကို အသုံးပြုနိုင်မည်မဟုတ်ပါ။"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"သင့်ပင်နံပါတ်၊ မျက်နှာနှင့် လက်ဗွေနမူနာများကဲ့သို့ သိမ်းထားသောဒေတာကို ဆုံးရှုံးပါမည်။<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ထိတွေ့မှုမဲ့ပေးချေခြင်းအတွက် ကတ်သတ်မှတ်ခြင်းကို ဖယ်ရှားပါမည်။<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>စက်ဖွင့်ရန်လိုအပ်သော ပိုက်ဆံအိတ်နှင့် အခြားအက်ပ်များ ကောင်းစွာ အလုပ်မလုပ်နိုင်ပါ။"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"သင့်ဖုန်းပျောက်သွားလျှင် (သို့) ခိုးခံရလျှင် ၎င်းကို စကားဝှက်က ကာကွယ်ပေးသည်။<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ဘလူးတုသ်"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ဘလူးတုသ်"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> နှင့်တွဲမလား။"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"လက်ရှိ ချိတ်ဆက်ထားသည့် အစုသို့ အဖွဲ့ဝင်သစ် ထည့်ပါ"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"သင့်အသံစက်ပစ္စည်း၏ ဒုတိယအစိတ်အပိုင်းထည့်ရန် အတည်ပြုပါ"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ဘလူးတုသ်တွဲဖက်မှုကုဒ်"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"ချိတ်တွဲရေး ကုဒ်ကို ရိုက်ထည့်ပါ၊ ၎င်းနောက်မှာ ပြန်သွား သို့မဟုတ် အင်တာကို နှိပ်ပါ"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"ပင်နံပါတ်မှာ စာနှင့်သင်္ကေတများပါဝင်သည်"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"ဂဏန်း ၁၆ လုံး ရှိရမည်"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ဤပင်နံပါတ်ကို အခြား စက်ပစ္စည်းတွင်လည်း ရိုက်ထည့်ရန် လိုအပ်နိုင်သည်။"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ဤ ဖြတ်သန်းခွင့်ကုဒ်ကို အခြား စက်ပစ္စည်းတွင်လည်း ရိုက်ထည့်ရန် လိုအပ်နိုင်သည်။"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ချိတ်ဆက်ထားသည့်အစီအစဉ်အတိုင်း တွဲချိတ်ရန်အတည်ပြုပါ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"အသံစက်ပစ္စည်းနှင့် တွဲချိတ်ရန် အတည်ပြုပါ"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"သင်၏ အဆက်အသွယ်များနှင့် ခေါ်ဆိုမှုမှတ်တမ်းကို ကြည့်ခွင့်ပြုသည်"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"အဆက်အသွယ်များနှင့် ခေါ်ဆိုမှုမှတ်တမ်းကိုလည်း သုံးခွင့်ပေးသည်"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"အချက်အလက်ကို ဖုန်းခေါ်ဆိုမှု ကြေညာချက်နှင့် အခြားအရာများအတွက် သုံးမည်"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ကို ချိတ်ဆက်မရပါ။"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ရနိုင်သည့် စက်များ"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ချိတ်ဆက်ရန်"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ချိတ်ဆက်မှု ဖြုတ်ရန်"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"တွဲချိတ်ပြီးနောက် ချိတ်ဆက်ရန်"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ဘလူးတုသ်ကိုဖွင့်ထားလျှင် သင်၏စက်သည် အနီးရှိ အခြားဘလူးတုသ်ကိရိယာများနှင့် ဆက်သွယ်နိုင်သည်။"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ဘလူးတုသ်ဖွင့်လျှင် စက်သည် အနီးရှိ အခြားဘလူးတုသ်သုံးစက်နှင့် ဆက်သွယ်နိုင်သည်"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ဘလူးတုသ်ဖွင့်ထားသည့်အခါ သင့်စက်သည် အနီးတစ်ဝိုက်ရှိ အခြား ဘလူးတုသ်သုံးစက်များနှင့် ချိတ်ဆက်နိုင်သည်။\n\nစက်ကို ပိုမိုကောင်းမွန်စွာ သုံးနိုင်ရန် ဘလူးတုသ်ပိတ်ထားသည့်အခါတွင်ပင် အက်ပ်နှင့် ဝန်ဆောင်မှုများသည် အနီးတစ်ဝိုက်ရှိစက်များကို အချိန်မရွေးရှာနိုင်သည်။ ဥပမာ- တည်နေရာအခြေခံသည့် တူးလ်နှင့် ဝန်ဆောင်မှုများအတွက် ၎င်းကို သုံးနိုင်သည်။ ၎င်းကို ဘလူးတုသ်ရှာသည့် ဆက်တင်များတွင် ပြောင်းနိုင်သည်။"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ပြောင်းရန်"</string>
     <string name="device_details_title" msgid="1155622417516195481">"စက်အသေးစိတ်များ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"အမှားရှာပြင်နိုင်သော အက်ပ်များအတွက် ဘိုက်ကုဒ် စိစစ်ရန် ART ကိုခွင့်ပြုသည်"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ပြန်လည်စတင်သည့် မြန်နှုန်းကို ပြရန်"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"လက်ရှိ ပြကွက် ပြန်လည်စတင်သည့် မြန်နှုန်းကို ပြသည်"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR အချိုးပြပါ"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"လက်ရှိ HDR/SDR အချိုးပြပါ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC အတွက် စက်ပစ္စည်းကို ဖွင့်ရန် လိုအပ်သည်"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"လေယာဉ်ပျံပေါ်သုံးစနစ်"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"အများသုံးကွန်ရက်များအတွက် အသိပေးခြင်း"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"အရည်အသွေးမြင့် အများသုံးကွန်ရက်ရှိလျှင် အကြောင်းကြားပေးရန်"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ကွန်ရက်များကို ခွင့်ပြုရန်"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP သည် သိပ်မလုံခြုံသော လုံခြုံရေးပရိုတိုကောအဟောင်း ဖြစ်သည်"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP ကွန်ရက်များသည် သိပ်မလုံခြုံသဖြင့် သင့်ဖုန်းကုမ္ပဏီက ယင်းကွန်ရက်များကို ခွင့်မပြုပါ"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi-Fi ကို အလိုအလျောက် ဖွင့်ရန်"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"သင်၏နေအိမ်ကွန်ရက်ကဲ့သို့သော သိမ်းဆည်းထားသည့် အရည်အသွေးမြင့် ကွန်ရက်များအနီးသို့ ရောက်သည့်အခါ Wi-Fi ကို ဖွင့်လိုက်ပါမည်"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"တည်နေရာကို ပိတ်ထားသောကြောင့် မရနိုင်ပါ။ "<annotation id="link">"တည်နေရာ"</annotation>" ကို ဖွင့်ပါ။"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi ကို ပိတ်ထားစေကာမူ Wi-Fi ကွန်ရက်များကို အချိန်မရွေး ရှာဖွေရန် အက်ပ်နှင့် ဝန်ဆောင်မှုများအား Wi‑Fi ရှာဖွေခြင်းက ခွင့်ပြုသည်။ ဥပမာအားဖြင့် ၎င်းကို တည်နေရာအခြေပြု လုပ်ဆောင်ချက်နှင့် ဝန်ဆောင်မှုများ ကောင်းမွန်လာစေရန် အသုံးပြုနိုင်သည်။"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ဖွင့်ရန်"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi ရှာဖွေခြင်း ဖွင့်ထားသည်"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ဤကွန်ရက်သည် သိပ်မလုံခြုံသော လုံခြုံရေးပရိုတိုကောအဟောင်းကို အသုံးပြုသည်"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ကို ပိတ်ထားသည်"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ဤကွန်ရက်သည် WEP ဟုခေါ်သည့် သိပ်မလုံခြုံသော လုံခြုံရေးပရိုတိုကောအဟောင်းကို အသုံးပြုသည်။ မည်သို့ပင်ဖြစ်စေ ချိတ်ဆက်ရန် သင်က WEP ကွန်ရက်များကို ခွင့်ပြုပေးနိုင်သည်။"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ဤကွန်ရက်သည် သိပ်မလုံခြုံသော လုံခြုံရေးပရိုတိုကောအဟောင်းကို အသုံးပြုထားသဖြင့် သင့်ဖုန်းကုမ္ပဏီသည် သင့်အား ဤကွန်ရက်နှင့် ချိတ်ဆက်ခွင့်မပြုပါ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP ခွင့်ပြုရန်"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ပိတ်ရန်"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"အဆင့်မြင့် ရွေးစရာများ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ဆွဲချစာရင်း အဆင့်မြင့် ရွေးစရာများ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ချဲ့ထွင်ရန်"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi-Fi ဆက်ချိတ်ထားရန်"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"လုံးဝ ထပ်မပြပါနှင့်"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"ချိတ်ဆက်ရန်"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi ဖွင့်ထားသည်"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> သို့ ချိတ်ဆက်ထားသည်"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> သို့ ချိတ်ဆက်နေပါသည်"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"ချိတ်ဆက်နေသည်…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ကွန်ရက်ကို ချိတ်ဆက်ရန် မအောင်မြင်ခဲ့ပါ"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ကွန်ရက်သည် ရနိုင်သောအကွာအဝေးတွင် မရှိပါ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"မေ့ပစ်ရန်"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ပြင်ဆင်ရန်"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ကွန်ရက် မေ့ပစ်ရန် မအောင်မြင်ခဲ့ပါ"</string>
     <string name="wifi_save" msgid="2312643132472226807">"သိမ်းရန်"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ကွန်ရက်ကို မှတ်သားရန် မအောင်မြင်ခဲ့ပါ"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"မလုပ်တော့"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"မိုဘိုင်းဒေတာ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"အီသာနက်"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> - အားသွင်းနေသည်"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> - အားသွင်းနေသည်"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ဟော့စပေါ့ ချိတ်ဆက်မှု"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"လိုင်းဆွဲအား"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"သိမ်းထား ကွန်ရက်များ"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"မည်သည့် စကားဝှက်မျှ သတ်မှတ်မထားပါ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ဟော့စပေါ့အမည်"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ဟော့စပေါ့စကားဝှက်"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP လိုင်း"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ဟော့စပေါ့ အလိုအလျောက် ပိတ်ရန်"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"စက်ပစ္စည်းကို ချိတ်ဆက်မထားသောအခါ"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"တွဲဖက်သုံးနိုင်မှုကို တိုးရန်"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ဖန်သားပြင် အဖြူ ချိန်ညှိခြင်း"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ခေါက်ထားချိန် အက်ပ်ဆက်သုံးရန်"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"အကြောင်းအရာအချို့အတွက် ပြန်လည်စတင်နှုန်းကို ၆၀ မှ <xliff:g id="ID_1">%1$s</xliff:g> Hz သို့ အလိုအလျောက် တိုးပေးသည်။ ဘက်ထရီ အသုံးပြုမှု များလာမည်။"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ဂိမ်းများအတွက် မူလဖရိမ်ပြနှုန်း ပိတ်ခြင်း"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ဂိမ်းများအတွက် အမြင့်ဆုံးဖရိမ်ပြနှုန်းကို <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz ဖြင့် ကန့်သတ်ခြင်းကို ပိတ်နိုင်သည်။"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"အကြောင်းအရာအချို့အတွက် ပြန်လည်စတင်နှုန်းကို <xliff:g id="ID_1">%1$d</xliff:g> Hz အထိ အလိုအလျောက် တိုးပေးသည်။ ဘက်ထရီ အသုံးပြုမှု ပိုများလာပါမည်။"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"အမြင့်ဆုံး ပြန်လည် စတင်နှုန်းသို့ တွန်းအားပေးရန်"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ထိတွေ့မှု တုံ့ပြန်အားနှင့် ကာတွန်းပုံအရည်အသွေးပိုကောင်းလာရန် အမြင့်ဆုံးပြန်ဖွင့်မှုနှုန်း။ ဘက်ထရီ အသုံးပြုမှု တိုးလာပါမည်။"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ဖန်သားပြင်ကို အာရုံစိုက်ခြင်း"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\'ဖန်သားပြင်ကို အာရုံစိုက်ခြင်း\' က တစ်ယောက်ယောက် ဖန်သားပြင်ကို ကြည့်နေခြင်းရှိမရှိ ရှေ့ကင်မရာ အသုံးပြု၍ စစ်ဆေးသည်။ ၎င်းသည် စက်ပစ္စည်းပေါ်တွင် လုပ်ဆောင်ခြင်းဖြစ်ပြီး ပုံများကို သိမ်းခြင်း သို့မဟုတ် Google သို့ပို့ခြင်းတို့ မပြုလုပ်ပါ။"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"\'ဖန်သားပြင်အာရုံစိုက်မှု\' ဖွင့်ခြင်း"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ကြည့်နေချိန်တွင် ဖန်သားပြင်ကို ဆက်ဖွင့်ထားသည်"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"စကရင်ပိတ်သွားမည့်အချိန် ပိုကြာပါက ဘက်ထရီ ပိုသုံးပါမည်။"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ကင်မရာကို လော့ခ်ချထားသည်"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"‘မျက်နှာကို မှတ်မိခြင်း’ အတွက် ကင်မရာကို လော့ခ်ဖွင့်ထားရမည်"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"‘ဖန်သားပြင်ကို အာရုံစိုက်ခြင်း’ အတွက် ကင်မရာကို လော့ခ်ဖွင့်ထားရမည်"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ဆင်းမ်ကတ် အထိုင် <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ဆင်းမ်ကတ် အထိုင် <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ပင်မ)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"သိမ်းထားသည့် ကွန်ရက်ကို ရွေးပြီး ကြည့်နိုင်သည်"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MINနံပါတ်"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSIDနံပါတ်"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRLဗားရှင်း"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ဘက်ထရီ အားအဆင့်"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"အများသုံး"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"အများသုံး ဆက်တင်များ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်း"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"အဝင်ပွိုင့် ပြင်ဆင်ရန်"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ချိတ်ဆက်ရန်နေရာ ထည့်ရန်"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"သတ်မှတ်မထားပါ"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"သတ်မှတ်မထားပါ"</string>
     <string name="apn_name" msgid="6677695784108157953">"အမည်"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ရရှိနိုင်ခြင်း"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APNပိတ်ထားခြင်း"</string>
     <string name="bearer" msgid="3231443241639159358">"သယ်ဆောင်သူ"</string>
+    <string name="network_type" msgid="748590707422733595">"ကွန်ရက်အမျိုးအစား"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"သတ်မှတ်မထားပါ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO အမျိုးအစား"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO တန်ဖိုး"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APNကိုဖျက်မည်"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"သိမ်းရန်"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"မလုပ်တော့"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN ထည့်သွင်းမှု ထပ်နေသည်။"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"အမည်အကွက်မှာ ကွက်လပ်ဖြစ်မနေစေရပါ"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APNမှာ ကွက်လပ်ဖြစ်မနေစေရပါ"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MNC အကွက်မှာ ဂဏန်း (၃)လုံးဖြစ်ရမည်"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC အကွက်မှာ ဂဏန်း (၂)လုံး သို့မဟုတ် (၃)လုံးဖြစ်ရမည်"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"ဝန်ဆောင်မှုပေးသူသည် %s အမျိုးအစား APNs များကို ထည့်သွင်းခွင့်မပြုပါ။"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC အကွက်သည် မှန်ကန်ရမည်။"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"မူရင်း APNဆက်တင်များကိုပြန်လည်ရယူစေမည်"</string>
     <string name="menu_restore" msgid="4310539620115151551">"မူရင်းသို့ ပြန်လည်သတ်မှတ်ရန်"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"APN မူရင်းဆက်တင်သို့ ပြန်လည်သတ်မှတ်ပြီးပါပြီ။"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ပြင်ဆင်သတ်မှတ်ရန်"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ဘလူးတုသ်နှင့် Wi‑Fi ပြင်ဆင်သတ်မှတ်လိုက်ပြီ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM များဖျက်ရန်"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"၎င်းက မိုဘိုင်းဝန်ဆောင်မှု အစီအစဉ်များကို ပယ်ဖျက်မည်မဟုတ်ပါ။ အစားထိုး ဆင်းမ်ကတ်များ ဒေါင်းလုဒ်လုပ်ရန် သင့်ဝန်ဆောင်မှုပေးသူကို ဆက်သွယ်ပါ။"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"၎င်းက သင့်မိုဘိုင်းဝန်ဆောင်မှု အစီအစဉ်ကို ပယ်ဖျက်မည်မဟုတ်ပါ။ အစားထိုး SIM ကတ်ရယူရန် သင်၏ ဖုန်းကုမ္ပဏီကို ဆက်သွယ်ပါ။"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ဆက်တင်များ ပြင်ဆင်သတ်မှတ်ရန်"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"ကွန်ရက်ဆက်တင်များ အားလုံးကို ပြင်ဆင်သတ်မှတ်လိုပါသလား။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍ မရပါ။"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"ကွန်ရက်ဆက်တင်အားလုံး ပြင်ဆင်သတ်မှတ်ပြီး eSIM များဖျက်မလား။ ဤလုပ်ဆောင်ချက်ကို နောက်ပြန်ဆုတ်၍ မရပါ။"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ပြင်ဆင်သတ်မှတ်မလား။"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ဤအသုံးပြုသူအတွက် ကွန်ရက်ပြန်လည်သတ်မှတ်မှု မရရှိနိုင်ပါ"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ကွန်ရက်ချိန်ညှိချက်များ ပြန်လည်သတ်မှတ်ပြီးပါပြီ"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"ဆင်းမ်ကတ်များ ဖျက်၍မရပါ"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"အမှားတစ်ခုကြောင့် eSIM များကို ဖျက်၍မရပါ။\n\nသင့်စက်ကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM များကို ဖျက်၍မရပါ"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"တစ်ခုခုမှားသွားပြီး eSIM များကို ဖျက်၍မရပါ။\n\nသင့်စက်ကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="main_clear_title" msgid="277664302144837723">"ဒေတာအားလုံးဖျက်ရန် (စက်ရုံထုတ်ဆက်တင် သတ်မှတ်ရန်)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ဒေတာအားလုံးဖျက်ခြင်း (စက်ရုံထုတ်ဆက်တင် သတ်မှတ်ရန်)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"သီချင်း"</li>\n<li>"ဓာတ်ပုံများ"</li>\n<li>"အသုံးပြုသူ၏အခြားဒေတာ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM များ"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"၎င်းက သင်၏ မိုဘိုင်းဝန်ဆောင်မှုအစီအစဉ်ကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"သင့်ကိုယ်ရေးအချက်အလက်များနှင့် ဒေါင်းလုဒ်လုပ်ထားသော အက်ပ်အားလုံးကို ဖျက်ပါမည်။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍ မရပါ။"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ဒေါင်းလုဒ်လုပ်ထားသော အက်ပ်နှင့် ဆင်းမ်ကဒ်များ အပါအဝင် သင်၏ ကိုယ်ရေးအချက်အလက်အားလုံးကို ဖျက်ပါမည်။ ဤလုပ်ဆောင်ချက်ကို ပြန်ပြင်၍ မရပါ။"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ဒေါင်းလုဒ်လုပ်ထားသော အက်ပ်နှင့် eSIM များ အပါအဝင် သင်၏ ကိုယ်ရေးအချက်အလက်များအားလုံးကို ဖျက်ပါမည်။ ဤလုပ်ဆောင်ချက်ကို နောက်ပြန်၍ မရပါ။"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ဒေတာအားလုံးကို ဖျက်မလား။"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ဤအသုံးပြုသူအတွက် စက်ရုံထုတ်အတိုင်း ပြန်လည်သတ်မှတ်မှု မရပါ"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"ဖျက်နေသည်"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ဟော့စပေါ့၊ USB၊ ဘလူးတုသ်၊ အီတာနက်"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"အခြားစက်ပစ္စည်းများနှင့် အင်တာနက် မျှဝေထားခြင်းမရှိပါ"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ပိတ်"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"မိုဘိုင်းသုံး၍ ချိတ်ဆက်ခြင်း"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi ဟော့စပေါ့ မသုံးပါနှင့်"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"အင်တာနက်ကို USB မှတစ်ဆင့်သာ မျှဝေရန်"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"အင်တာနက်ကို ဘလူးတုသ်မှတစ်ဆင့်သာ မျှဝေရန်"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"အင်တာနက်ကို အီတာနက်မှတစ်ဆင့်သာ မျှဝေရန်"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"အင်တာနက်ကို USB နှင့် ဘလူးတုသ်မှတစ်ဆင့်သာ မျှဝေရန်"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"အင်တာနက်ကို USB နှင့် ဘလူးတုသ်မှတစ်ဆင့်သာ မျှဝေရန်"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"အင်တာနက်ကို ဘလူးတုသ်နှင့် အီတာနက်ဖြင့်သာ မျှဝေရန်"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"အင်တာနက်ကို USB၊ ဘလူးတုသ်နှင့် အီတာနက်မှတစ်ဆင့် မျှဝေရန်"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB သုံး၍ချိတ်ဆက်ခြင်း"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ဘလူးတုသ်သုံးချိတ်ဆက်ခြင်း"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"အီသာနက်သုံး၍ ချိတ်ဆက်ခြင်း"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"သင်၏ Wi-Fi သို့မဟုတ် မိုဘိုင်းဒေတာ ချိတ်ဆက်မှုမှတစ်ဆင့် အခြားစက်ပစ္စည်းများသို့ အင်တာနက်လွှင့်ရန် ဟော့စပေါ့နှင့် မိုဘိုင်းမိုဒမ်ကို သုံးပါ။ အနီးရှိစက်ပစ္စည်းများသို့ အကြောင်းအရာ မျှဝေရန်အတွက် အက်ပ်များသည်လည်း ဟော့စပေါ့ပြုလုပ်နိုင်သည်။"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"အကူအညီ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"မိုဘိုင်းကွန်ရက်"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"မိုဘိုင်းလ်အစီအစဉ်"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS အက်ပ်"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"စာတိုပို့ရန် အက်ပ်ပြောင်းမလား။"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"သင့်စာတိုပို့ရန် အပလီကေးရှင်းအတွက် <xliff:g id="NEW_APP">%1$s</xliff:g> ကို <xliff:g id="CURRENT_APP">%2$s</xliff:g> အစား သုံးမည်လား?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"ကြိုးမဲ့ ကူညီပေးသူကို ပြောင်းမလား?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"သင်၏ ကွန်ရက် ချိတ်ဆက်မှုများကို စီမံကွပ်ကဲရန် <xliff:g id="NEW_APP">%1$s</xliff:g>ကို <xliff:g id="CURRENT_APP">%2$s</xliff:g>၏အစား သုံးရမလား?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"သင်၏ ကွန်ရက် ချိတ်ဆက်မှုများကို စီမံကွပ်ကဲရန် <xliff:g id="NEW_APP">%s</xliff:g>ကို သုံးရမလား?{"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"မသိရ ဆင်းမ်ကတ် အော်ပရေတာ"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> တွင် မည်သည့်ဝဘ်ဆိုက်မျှ​ ပေးထားခြင်းမရှိပါ"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"ကျေးဇူးပြု၍ ဆင်းမ်ကတ်ထည့်၍ အစမှ ပြန်စပါ။"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"ကျေးဇူးပြု၍ အင်တာနက်ဖြင့် ချိတ်ဆက်ပါ။"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"လတ်တလောတည်နေရာ တောင်းခံမှုများ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"အလုပ်ပရိုဖိုင်အတွက် တည်နေရာ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"အက်ပ်တည်နေရာ ခွင့်ပြုချက်များ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"အသုံးပြုခွင့် ရှင်းလင်းပါ"</string>
     <string name="controls_label" msgid="8671492254263626383">"ထိန်းချုပ်မှုများ"</string>
     <string name="force_stop" msgid="2681771622136916280">"မဖြစ်မနေ ရပ်ခိုင်းရန်"</string>
+    <string name="archive" msgid="9074663845068632127">"သိမ်းရန်"</string>
+    <string name="restore" msgid="7622486640713967157">"ပြန်ယူရန်"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ပြန်ယူနေသည်"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ပြန်ယူနေသည်။"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ပြန်ယူနေသည်.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ပြန်ယူနေသည်..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"စုစုပေါင်း"</string>
     <string name="application_size_label" msgid="6407051020651716729">"အက်ပ်အရွယ်အစား"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USBသိုလှောင်မှု အက်ပ်"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"အချက်အလက်အစု ပမာဏကို တွက်ချက်မရပါ။"</string>
     <string name="version_text" msgid="7628938665256107608">"ဗားရှင်း <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ရွေ့မည်"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"သိမ်း၍မရပါ"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ကို သိမ်းလိုက်ပြီ"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ပြန်ယူ၍မရပါ"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ကို ပြန်ယူနေသည်"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"အခြားရွှေ့ပြောင်းမှု တစ်ခုလုပ်ဆောင်နေပါသည်။"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"သိမ်းဆည်းရန်နေရာအလုံအလောက်မရှိပါ"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"အပလီကေးရှင်းမှာ မရှိပါ"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ရနိုင်သော မျက်နှာပြင်လက်ကွက်"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"မျက်နှာပြင် လက်ကွက်များ စီမံခြင်း"</string>
     <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="6922850403920596246">"ပကတိကီးဘုတ် အများသုံးနိုင်မှုအတွက် ‘စာလုံးပို မထပ်စေသည့် ခလုတ်များ’ ကို ဖွင့်ပေးသည်"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"အနှေး ခလုတ်များ"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ပကတိကီးဘုတ် အများသုံးနိုင်မှုအတွက် ‘အနှေး’ ခလုတ်များ ကို ဖွင့်ပေးသည်"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ကပ်ခွာ ခလုတ်များ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ပကတိကီးဘုတ် အများသုံးနိုင်မှုအတွက် ‘ကပ်ခွာ ခလုတ်များ’ ကို ဖွင့်ပေးသည်"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"နောက်ထပ်ရွေးစရာအတွက် တာ့ချ်ပက်၏ အောက်ခြေညာထောင့်ကို တို့ပါ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"မြားရွေ့နှုန်း"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"တာ့ချ်ပက်လက်ဟန်များကို လေ့လာရန်"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ပင်မစာမျက်နှာသို့ သွားရန်"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"တာ့ချ်ပက် တစ်နေရာရာ၌ လက်သုံးချောင်းဖြင့် အပေါ်ပွတ်ဆွဲပါ"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"နောက်သို့"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"အသုံးပြုချိန်ဖြင့် စီရန်"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"နောက်ဆုံးသုံးချိန်ဖြင့် စီရန်"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"အက်ပ်အမည်ဖြင့် စီရန်"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"နောက်ဆုံး အကြိမ် အသုံးပြုခဲ့"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"နောက်ဆုံးသုံးခဲ့ချိန်"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"မည်သည့်အခါမှ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"အသုံးပြုအချိန်"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"အများသုံးနိုင်မှု"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"အများသုံးနိုင်မှု ဆက်တင်များ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"သုံးချက်တို့၍ အကြီးချဲ့ခြင်း"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ဖြတ်လမ်းလင့်ခ်ဖြင့် ချဲ့ခြင်း"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ဖြတ်လမ်းလင့်ခ်ဖြင့် သုံးချက်တို့ပြီး ချဲ့ပါ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> အကြောင်း"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"သုံးနိုင်မှုခလုတ်ဖြင့် ဖွင့်ခြင်း"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"အသံခလုတ်များကို နှိပ်၍ဖွင့်ခြင်း"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ဖွင့်ရန် သုံးချက်တို့ခြင်း"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ဖွင့်ရန် စခရင်ကို လက်နှစ်ချောင်းဖြင့် နှစ်ချက်တို့ခြင်း"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ဖွင့်ရန် လက်ဟန်ကို အသုံးပြုပါ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"အများသုံးနိုင်မှု လက်ဟန်ကို သုံးပါ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ဤဝန်ဆောင်မှု အသုံးပြုရန် သင့်ဖန်သားပြင် အောက်ခြေရှိ သုံးနိုင်မှုခလုတ် <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ကို တို့ပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် သုံးနိုင်မှုခလုတ်ကို ဖိထားပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ဤဝန်ဆောင်မှုကိုသုံးရန် သင့်ဖန်သားပြင်ပေါ်ရှိ သုံးနိုင်မှုခလုတ်ကို တို့ပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ဤဝန်ဆောင်မှု အသုံးပြုရန် အသံခလုတ် နှစ်ခုလုံးကို နှိပ်ထားပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ချဲ့ခြင်း စတင်ရန်၊ ရပ်ရန် သင့်ဖန်သားပြင်ပေါ် တစ်နေရာရာတွင် သုံးချက်တို့ပါ။"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ချဲ့ခြင်း စတင်ရန်၊ ရပ်ရန် သင့်စခရင်ပေါ် တစ်နေရာရာတွင် လက်နှစ်ချောင်းဖြင့် နှစ်ချက်တို့ပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ဤဝန်ဆောင်မှု အသုံးပြုရန် လက် ၂ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၂ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ဤဝန်ဆောင်မှု အသုံးပြုရန် လက် ၃ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"အများသုံးနိုင်သည့် ဝန်ဆောင်မှုတစ်ခု အသုံးပြုရန် လက် ၂ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၂ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"အများသုံးနိုင်သည့် ဝန်ဆောင်မှုတစ်ခု အသုံးပြုရန် လက် ၃ ချောင်းဖြင့် ဖန်သားပြင်အောက်ခြေမှ အပေါ်သို့ပွတ်ဆွဲပါ။\n\nဝန်ဆောင်မှုများအကြား ပြောင်းရန် လက် ၃ ချောင်းဖြင့် အပေါ်သို့ပွတ်ဆွဲပြီး ဖိထားပါ။"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ရပါပြီ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"သုံးနိုင်မှုခလုတ် ဆက်တင်များ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ခလုတ်ဆက်တင်များ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ဖြတ်လမ်းလင့်ခ်"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"အများသုံးနိုင်မှု ခလုတ်"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"အများသုံးနိုင်မှု လက်ဟန်"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"အသံအတိုးအလျှော့ခလုတ်များကို ဖိထားခြင်း"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"အသံခလုတ်များကို ဖိထားမည်"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"အသံခလုတ်နှစ်ခုလုံးကို နှိပ်ထားပါ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"စခရင်ကို လက်နှစ်ချောင်းဖြင့် နှစ်ချက်တို့ခြင်း"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"စခရင်ကို လက်နှစ်ချောင်းဖြင့် နှစ်ချက်တို့ခြင်း"</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="6863958573135995927">"ဖန်သားပြင်ကို သုံးချက်တို့ရန်"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ဖန်သားပြင်ကို {0,number,integer} ကြိမ် အမြန်တို့ပါ။ ဤဖြတ်လမ်းလင့်ခ်သည် သင့်စက်ကို နှေးသွားစေနိုင်သည်"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"အများသုံးနိုင်မှု ခလုတ်နှင့် လက်ဟန် အကြောင်း ပိုမိုလေ့လာရန်"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"အများသုံးနိုင်မှု ခလုတ်ကို သုံးနေသည်။ ခလုတ် ၃ ခုဖြင့် လမ်းညွှန်ခြင်းဖြင့် ဤလက်ဟန်ကို မရနိုင်ပါ။"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"အများသုံးစွဲနိုင်မှုဆိုင်ရာ ဝန်ဆောင်မှုများကို အမြန်သုံးသည်"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"စတင်ရန်"</b>\n"၁။ သုံးနိုင်မှု ဆက်တင်များသို့ သွားပါ\n၂။ ဝန်ဆောင်မှုတစ်ခုရွေးပြီး ဖြတ်လမ်းလင့်ခ်ကို တို့ပါ\n၃။ ဝန်ဆောင်မှုသုံးရန် အသုံးပြုလိုသည့် ခလုတ် (သို့) လက်ဟန်ကို ရွေးပါ"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"စတင်ရန်"</b>\n"၁။ သုံးနိုင်မှု ဆက်တင်များသို့ သွားပါ\n၂။ ဝန်ဆောင်မှုတစ်ခုရွေးပြီး ဖြတ်လမ်းလင့်ခ်ကို တို့ပါ\n၃။ ဝန်ဆောင်မှုသုံးမည့် ခလုတ်ကို ရွေးပါ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ခလုတ် (သို့) လက်ဟန်ကို သုံးရန်"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"တည်နေရာ"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"အရွယ်အစား"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ဖွင့်ပိတ်ခလုတ်ဖြင့် ဖုန်းချရန်"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"မောက်စ်သင်္ကေတမြား အကြီးစား"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"မြားတည်နေရာကို မြင်သာအောင်ပြုလုပ်သည်"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"အက်ပ်အားလုံးကို မှောင်စေခြင်း"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ကိုယ်ပိုင်အမှောင်နောက်ခံမရှိသည့် အက်ပ်၌ သုံးပါ။ အက်ပ်အချို့၌ အရောင်ပြောင်းပြန်လှန်ထားခြင်းကဲ့သို့ ဖန်သားပြင်ပြဿနာ ရှိနိုင်သည်။"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"လှုပ်ရှားသက်ဝင်ပုံ ဖယ်ရှားရန်"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ဖန်သားပြင်တွင် လှုပ်ရှားမှုလျှော့ချသည်"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"မိုနိုအသံ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"တုန်ခါမှုနှင့် ထိတွေ့တုံ့ပြန်မှုများ သုံးရန်"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"နှိုးစက်တုန်ခါမှု"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"မီဒီယာဖြင့် တုန်ခါမှု"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"ကီးဘုတ်တုန်ခါမှု"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ဖုန်းမြည်သံ တုန်ခါမှု"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"အကြောင်းကြားချက် တုန်ခါမှု"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ထိတွေ့ တုံ့ပြန်ချက်"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"ရပ်ရန်"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"မလုပ်တော့"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> ကို ရပ်မလား။"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ကို တို့ခြင်းဖြင့် <xliff:g id="SERVICE">%2$s</xliff:g> ရပ်သွားပါမည်။"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ပိတ်ရန်"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ဖွင့်ထားပါ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ပိတ်မလား။"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"မည်သည့်ဆားဗစ်မှမရှိပါ"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"မည်သည့် ဝန်ဆောင်မှုကိုမျှ ရွေးမထားပါ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"မည်သည့်အကြောင်းအရာမှမရှိပါ"</string>
     <string name="settings_button" msgid="2195468788019730377">"ဆက်တင်များ"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"အလင်းသိမ်မွေ့မှု၊ အလင်းကြောက်ခြင်း၊ အမှောင်နောက်ခံ၊ ခေါင်းတစ်ခြမ်းကိုက်ခြင်း၊ ခေါင်းကိုက်ခြင်း၊ စာဖတ်မုဒ်၊ ညသုံးမုဒ်၊ တောက်ပမှုကို လျှော့ခြင်း၊ အဖြူရောင်အမှတ်"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"အသုံးပြုရလွယ်ခြင်း၊ သုံးလွယ်ခြင်း၊ အကူအညီ၊ ကူညီပေးသော"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"အမြင်၊ အကြား၊ မျက်မမြင်၊ နားမကြား၊ မော်တာ၊ ကျွမ်းကျင်မှု၊ ထောက်ပံ့မှု၊ အကူအညီ၊ သုံးရလွယ်၊ ဝင်ရလွယ်၊ လက်၊ အကူအညီ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ဝင်းဒိုးမှန်ဘီလူး၊ ဇူးမ်၊ ချဲ့ခြင်း၊ အမြင်အာရုံချို့တဲ့ခြင်း၊ ပုံကြီးချဲ့ခြင်း၊ ပိုကြီးအောင်လုပ်ခြင်း"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"စာတန်းများ၊ စာတန်းများ၊ CC၊ Live Transcribe၊ နားလေးခြင်း၊ အကြားအာရုံဆုံးရှုံးခြင်း၊ CART၊ စကားမှ စာသို့၊ စာတန်းထိုးများ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"အရောင် အလင်းအမှောင်"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"မော်တာ၊ မောက်စ်"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"နားကြားကိရိယာ၊ အကြားအာရုံ ချို့တဲ့ခြင်း၊ နားမကြားခြင်း၊ cochlear ထည့်သွင်းမှုများ၊ အသံချဲ့သည့်စက်ပစ္စည်းများ၊ အသံစက်များ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"မော်တာ၊ မောက်စ်၊ ပြင်ပမောက်စ်၊ ခေါင်းတပ်မောက်စ်၊ ပြောင်းပြင်လွယ်မောက်စ်၊ ဘီးတပ်ကုလားထိုင်၊ ဂိမ်းခလုတ်"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"နားကြားကိရိယာ၊ နားလေးခြင်း၊ နားမကြားခြင်း၊ cochlear ထည့်သွင်းမှုများ၊ အသံချဲ့သည့်စက်ပစ္စည်းများ၊ အသံစက်များ၊ PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"နားလေးခြင်း၊ အကြားအာရုံဆုံးရှုံးခြင်း၊ စာတန်းများ၊ ကြေးနန်းရိုက်ခြင်း၊ tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ခလုတ်သုံးခု"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ကျွမ်းကျင်မှု၊ မော်တာ၊ စီနီယာ၊ အဆစ်ရောင်နာ၊ rsi, လေဖြတ်၊ ရင်တုန်ခြင်း၊ မာလ်တီပယ် စကယ်လရိုးဆစ်၊ ဦးနှောက်အကြောသေရောဂါ၊ တုန်ခြင်း၊ ကြွက်သားနာကျင်ရောင်ရမ်းခြင်း၊ လက်"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"နှောင့်နှေး၊ ကျွမ်းကျင်မှု၊ စီနီယာ"</string>
     <string name="print_settings" msgid="8519810615863882491">"ပုံနှိပ်ခြင်း"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ပိတ်"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{ပရင့် ဝန်ဆောင်မှု ၁ ခုဖွင့်ထားသည်}other{ပရင့် ဝန်ဆောင်မှု # ခုဖွင့်ထားသည်}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ကျန်ရှိနေ"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> အားသွင်းမည်"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"အသုံးပြုချိန်"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"နောက်ခံအချိန်"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ဘက်ထရီ အားနည်းနေသည်"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"အက်ပ်ကို နောက်ခံတွင် ဖွင့်ခွင့်ပြုပါ"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"နောက်ခံလုပ်ဆောင်ချက်ကို ကန့်သတ်လိုပါသလား။"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"အက်ပ်အတွက် နောက်ခံလုပ်ဆောင်ချက်ကို ကန့်သတ်လိုက်ပါက ပုံမှန်အလုပ်လုပ်မည် မဟုတ်ပါ"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ဤအက်ပ်ကို ဘက်ထရီချိန်ညှိသုံးရန် သတ်မှတ်မထားသဖြင့် ကန့်သတ်၍မရပါ။\n\nအက်ပ်ကိုကန့်သတ်ရန် ဘက်ထရီချိန်ညှိသုံးခြင်း အရင်ဖွင့်ပါ။"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ဘက်ထရီ အသုံးပြုမှုကို စီမံရန်"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"နောက်ခံတွင် သုံးခွင့်ပြုရန်"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"အချိန်နှင့်တစ်ပြေးညီ အပ်ဒိတ်များအတွက် ဖွင့်နိုင်သည်။ ဘက်ထရီချွေတာရန် ပိတ်နိုင်သည်"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"အကန့်အသတ်မဲ့"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ပိုကောင်းအောင်လုပ်ရန်"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ကန့်သတ်ရန်"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"အများဆုံးသုံးသည့် အက်ပ်များ ကြည့်ပါ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ဘက်ထရီကာကွယ်ရန် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ထားသည်"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"သင့်ဘက်ထရီသက်တမ်း ပိုရှည်စေရန် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်သည်"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ဘက်ထရီကာကွယ်ရန် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ထားသည်"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ဘက်ထရီသက်တမ်း ပိုရှည်စေရန် တပ်ဆင်ထားစဉ် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်သည်"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ဘက်ထရီကာကွယ်ရန် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ထားသည်"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ဘက်ထရီသက်တမ်း ပိုရှည်စေရန် တပ်ဆင်ထားစဉ် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်သည်"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"အားအပြည့်သွင်းပါ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"နောက်တစ်ကြိမ် တက်ဘလက် တပ်ဆင်သည့်အခါ ဘက်ထရီကာကွယ်ရန် အားသွင်းခြင်းကို အကောင်းဆုံးပြင်ဆင်ပါမည်"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"အားသွင်းမှု ခဏရပ်သည့်အကြောင်း ပိုမိုလေ့လာရန်"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ဆက်အားသွင်းရန်"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"စွမ်းအားမြင့် နောက်ခံလုပ်ဆောင်ချက် ပါဝင်သည်"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ဤအက်ပ်သည် နောက်ခံတွင် ဘက်ထရီကို အသုံးပြုနိုင်ပါသည်။ သင်၏ ဘက်ထရီသည် ခန့်မှန်းထားသည်ထက် စောလျင်စွာ ကုန်နိုင်ပါသည်။"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ဖယ်ရှားရန်"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"မလုပ်တော့"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"အားအပြည့်သွင်းရန်"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"အားသွင်းပစ္စည်းတွင် ပြဿနာရှိသည်"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"အားသွင်းပစ္စည်းကို စစ်ပါ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"တွဲမသုံးနိုင်သော ကြားခံကိရိယာဖြင့် အားသွင်းခြင်းအကြောင်း ပိုမိုလေ့လာရန်"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ဘက်ထရီ စီမံခန့်ခွဲမှုစနစ်"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"အက်ပ်များကို အလိုအလျောက် စီမံခြင်း"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"နောက်ဆုံးအကြိမ် အားအပြည့်သွင်းပြီးသည့် အချိန်မှစ၍"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"စနစ် အက်ပ်များ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"ဖယ်ရှားထားသော အက်ပ်များ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"အခြား"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"ခန့်မှန်း ကျန်ရှိချိန်"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"အားပြည့်ရန် လိုအပ်ချိန်"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"စုစုပေါင်း- တစ်မိနစ်အောက်"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"နောက်ခံအချိန်- တစ်မိနစ်ထက် နည်းသည်"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"အသုံးပြုချိန်- တစ်မိနစ်အောက်"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"တစ်မိနစ်အောက်"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"စုစုပေါင်း- <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"နောက်ခံအချိန်- <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"အသုံးပြုချိန်- <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ယခု"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ဘက်ထရီ အသုံးပြုမှု ပုံစံကားချပ်"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"နေ့စဉ် ဘက်ထရီ အသုံးပြုမှု ဇယားကွက်"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"နာရီအလိုက် ဘက်ထရီ အသုံးပြုမှု ဇယားကွက်"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ဘက်ထရီအဆင့် ရာခိုင်နှုန်း <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> မှ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> အထိ"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"နောက်ဆုံးအားအပြည့်သွင်းပြီးနောက် ဘက်ထရီ အသုံးပြုမှု"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> အကြား ဘက်ထရီ အသုံးပြုမှု"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"နောက်ဆုံးအားအပြည့်သွင်းပြီးနောက် အသုံးပြုချိန်"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"အရေးပေါ် ဖုန်းခေါ်ခြင်း လိုင်းအား"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"အရေးပေါ်ခေါ်ဆိုမှုအတွက် လုပ်ဆောင်ပုံကို သတ်မှတ်ရန်"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"အရန်သိမ်းရန်"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ဖွင့်"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ပိတ်"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"အရန်ပြုလုပ်ခြင်းနှင့် ပြန်လည်ရယူခြင်း"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ကိုယ်ရေးအချက်အလက်"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ကျွန်ုပ်ဒေတာများကို အရန်ထားခြင်း"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"မိုဘိုင်းဒေတာနှင့် Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ကိုယ်ရေးဒေတာကို အော်တိုစင့်ခ်လုပ်ရန်"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"အလုပ်ဒေတာ အော်တိုစင့်ခ်လုပ်ရန်"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"သီးသန့်ဒေတာ အော်တိုစင့်ခ်လုပ်ရန်"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ရက်သတ်မှတ်နှုန်းကို ပြောင်းရန်"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ဒေတာအသုံးပြုခြင်း လည်ပတ်မှုအား ပြန်လည်စတင်စေမည့် လ၏နေ့ရက်"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ဤအချိန်ကာလအတွင်း မည်သည့်အပလီကေးရှင်းမှ ဒေတာကိုအသုံးမပြုပါ"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"အမည်"</string>
     <string name="vpn_type" msgid="5533202873260826663">"အမျိုးအစား"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ဆာဗာလိပ်စာ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP အသွင်ဝှက်ခြင်း (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP လျှို့ဝှက်အမှတ်"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec အသိအမှတ်ပြုသောအရာများ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ကြိုတင်မျှဝေးထားသောသော့"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSecအသုံးပြုသူလက်မှတ်"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA အသိအမှတ်ပြုလက်မှတ်"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ဆာဗာအသိအမှတ်ပြုလက်မှတ်"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"အဆင့်မြင့်ရွေးစရာများ ပြရန်"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ရှာဖွေမှု ဒိုမိန်းများ"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ဆာဗာများ (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"တစ်ဆင့်ပို့လမ်းကြောင်း (ဥပမာ 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"သုံးသူအမည်"</string>
     <string name="vpn_password" msgid="1183746907642628127">"စကားဝှက်"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"အကောင့်အချက်အလက်များကို သိမ်းပါ"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(မသုံးမပြု)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ဆာဗာကိုအတည်မပြုပါနှင့်)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ဆာဗာမှ ရရှိထားသည်)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ဤ VPN အမျိုးအစားသို့ အမြဲချိတ်ဆက်ထား၍ မရပါ"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"အမြဲပွင့်နေသော VPN စနစ်သည် ကိန်းဂဏန်းဆာဗာလိပ်စာများကိုသာ ပံ့ပိုးပါသည်"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"အမြဲပွင့်နေသော VPN စနစ်အတွက် DNS ဆာဗာလိပ်စာတစ်ခုကို သတ်မှတ်ထားရပါမည်"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"အမြဲပွင့်နေသော VPN စနစ်အတွက် DNS ဆာဗာလိပ်စာများသည် ကိန်းဂဏန်းများ ဖြစ်ရပါမည်"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ထည့်သွင်းလိုက်သည့် အချက်အလက်သည် အမြဲပွင့်နေသော VPN စနစ်အတွက် ပံ့ပိုးမထားပါ"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"မလုပ်တော့"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ပယ်ရန်"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN မပါသည့် ချိတ်ဆက်မှုများကို ပိတ်ဆို့ရန်"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN ချိတ်ဆက်မှု လိုအပ်ပါသလား။"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"လုံခြုံမှုမရှိပါ။ IKEv2 VPN သို့ အပ်ဒိတ်လုပ်ပါ"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ပံ့ပိုးမထားသော VPN စတင်၍မရပါ။"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"VPN ကိုယ်ရေးအချက်အလက်ကို အမြဲတမ်းချိတ်ဆက်ထားလျက် ရှိနေရန် ရွေးပါ။ ၎င်းသည် VPN ကို ချိတ်ဆက်ထားသောအခါမှသာ ကွန်ရက်အသွားအလာကို ခွင့်ပြုလိမ့်မည်။"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"မရှိ"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"အမြဲပွင့်နေသော VPN အတွက် ဆာဗာနှင့်DNS.နှစ်ခုလုံးအတွက် IP လိပ်စာတစ်ခုလိုအပ်သည်။"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER သတိပေးချက်"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ကလေး လူခိုးမှုများ ဆိုင်ရာ သတင်းလွှာကို ရယူရန်"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ထပ်လုပ်ရန်"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"ခေါ်ဆိုမှု မန်နေဂျာကို ဖွင့်ပေးရန်"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"ဒီကိရိယာအား သင်က ခေါ်ဆိုမှုများ လုပ်ကိုင်ပုံကို စီမံကွပ်ကဲခွင့် ပြုပါ။"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"ခေါ်ဆိုမှု မန်နေဂျာ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ကြိုးမဲ့ အရေးပေါ်သတိပေးချက်များ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ကွန်ရက် အော်ပရေတာများ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ချိတ်ဆက် နေရာ အမည်များ"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"ဆင်းမ်ကတ် အခြေအနေ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ဆင်းမ်ကတ် အခြေအနေ (ဆင်းမ်ကတ် အထိုင် %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"ဆင်းမ်ကတ် ပြောင်းထားသည်။"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"သင့်ဆင်းမ်ကတ်များ ပြောင်းလိုက်ပြီ"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"တပ်ဆင်ရန်တို့ပါ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"အမြဲမေးရန်"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ရွေးချယ်ရန် လိုအပ်"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"မကြာသေးမီက အက်ပ်များ၊ မူရင်း အက်ပ်များ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"အလုပ်ပရိုဖိုင်အတွင်းရှိ အက်ပ်များအတွက် အကြောင်းကြားချက် ဝင်ကြည့်၍ မရနိုင်ပါ။"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"စကားဝှက်နှင့် အကောင့်များ"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"သိမ်းထားသောစကားဝှက်များ၊ အော်တိုဖြည့်၊ စင့်ခ်လုပ်ထားသောအကောင့်များ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"လက်မှတ်ထိုးဝင်ခြင်းနှင့် အော်တိုဖြည့်ခြင်းအတွက် အကြံပြုချက်များ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"မူရင်းအက်ပ်များ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ပုံတူပွားအက်ပ်များ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"အက်ပ်၏ မိတ္တူတစ်ခုပြုလုပ်ခြင်းဖြင့် အကောင့်နှစ်ခု တစ်ပြိုင်တည်းသုံးနိုင်သည်။"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ပေးချေမှု၊ တို့ခြင်း၊ ငွေပေးချေခြင်းများ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"မိတ္တူ၊ မိတ္တူကူးပါ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ဟန်"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"မျက်နှာ၊ လော့ခ်ဖွင့်ခြင်း၊ အထောက်အထား စိစစ်ခြင်း၊ လက်မှတ်ထိုးဝင်ခြင်း"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"မျက်နှာ၊ လော့ခ်ဖွင့်ခြင်း၊ အထောက်အထားစိစစ်ခြင်း၊ လက်မှတ်ထိုးဝင်ခြင်း၊ လက်ဗွေ၊ ဇီဝမက်ထရစ် အချက်အလက်"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl ဗားရှင်း၊ imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"စာသားအရွယ်အစား၊ ပုံနှိပ်အကြီး၊ ဖောင့်အကြီး၊ စာသားအကြီး၊ အမြင်အာရုံချို့တဲ့ခြင်း၊ စာသားကို ပိုကြီးအောင်လုပ်ခြင်း၊ ဖောင့်ပိုကြီးအောင် ချဲ့ခြင်း၊ ဖောင့် ပုံကြီးချဲ့ခြင်း"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ဝန်းကျင်အလိုက်သင့် ပြသခြင်း အမြဲတမ်းဖွင့်ထားသည်၊ AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc၊ တဂ်၊ ဖတ်ရှုစနစ်"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ကီးဘုတ်၊ ထိတွေ့တုံ့ပြန်မှု၊ တုန်ခါမှု၊"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"အသံအတိုးအကျယ်၊ တုန်ခါမှု၊ မနှောင့်ယှက်ရ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"မီဒီယာ အသံအတိုးအကျယ်"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ကာ့စ်အသံ အတိုးအကျယ်"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"အသံများ ဖွင့်ထားပါ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"တိုက်ရိုက်စာတန်း"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"အလိုအလျောက် စာတန်းထိုးရန်"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ဖုန်းစပီကာများ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"တက်ဘလက် စပီကာများ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"စက်ပစ္စည်း စပီကာများ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ကြိုးတပ် နားကြပ်"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"တွဲသုံးနိုင်သောမီဒီယာမှ အသံသည် ပို၍နှစ်သက်ဖွယ်ကောင်းသည်"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ပိတ်"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"အကြောင်းကြားချက်ပါ အရာအားလုံး ပြပါ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"သတိထားရမည့် အကြောင်းအရာကို လော့ခ်ဖွင့်မှသာ ပြပါ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"အကြောင်းကြားချက်များ လုံးဝမပြပါနှင့်"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"လော့ခ်မျက်နှာပြင်ကို မည်သို့ပြသစေလိုပါသလဲ။"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"သင့်လော့ခ်မျက်နှာပြင်အား မည်သည့်အရာကို ပြစေလိုပါသလဲ။"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"လော့ခ်မျက်နှာပြင်"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"အလုပ်အကြောင်းကြားချက် အားလုံးကို ပြပါ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"သတိထားရမည့် အလုပ်အကြောင်းအရာကို ဝှက်ထားရန်"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"မကြာသေးမီက စကားဝိုင်းများကို ဖယ်ရှားထားသည်"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"စကားဝိုင်းကို ဖယ်ရှားလိုက်သည်"</string>
     <string name="clear" msgid="5092178335409471100">"ရှင်းရန်"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> ကို ဖယ်ရှားရန်"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ဦးစားပေးနှင့် ပြုပြင်ထားသော စကားဝိုင်းများကို ဤနေရာတွင် ပြပါမည်"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"စကားဝိုင်းကို ဦးစားပေးအဖြစ် မှတ်သားပြီးသောအခါ (သို့) စကားဝိုင်းတွင် အပြောင်းအလဲတစ်ခုခု ပြုလုပ်ပြီးသောအခါ ၎င်းတို့ကို ဤနေရာတွင် ပြပါမည်။ \n\nစကားဝိုင်းဆက်တင်များ ပြောင်းလဲရန်- \nဆွဲချစာရင်းဖွင့်ရန် ဖန်သားပြင်ထိပ်မှ အောက်သို့ဆွဲပါ၊ ထို့နောက် စကားဝိုင်းကို ဖိထားပါ။"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ချုံ့ရန်"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"အကြောင်းကြားချက် အသံလျော့ချမှု"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"အကြောင်းကြားချက်အားလုံးတွင် အသံလျော့ချမှု သတ်မှတ်ရန်"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"အက်ပ်တစ်ခုတည်းမှ အကြောင်းကြားချက်များ ဆက်တိုက်ရသောအခါ အကြောင်းကြားချက်အသံကို တဖြည်းဖြည်းလျှော့ပေးသည်"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"စကားဝိုင်းများတွင် အသံလျော့ချမှု သတ်မှတ်ရန်"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ချတ်တစ်ခုတည်းမှ အချိန်တိုအတွင်း မက်ဆေ့ဂျ်များ ရသောအခါ အကြောင်းကြားချက်အသံကို တဖြည်းဖြည်းလျှော့ပေးသည်"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"အကြောင်းကြားချက် အသံလျော့ချမှုကို မသုံးပါနှင့်"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"အက်ပ်တစ်ခုတည်းမှ အကြောင်းကြားချက်များ မည်မျှပင် ဆက်တိုက်ရသည်ဖြစ်စေ အကြောင်းကြားချက်အသံကို လုံးဝ လျှော့ပေးမည်မဟုတ်ပါ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ဖွင့်ထားသောအခါ တုန်ခါရန်"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"စခရင်ဖွင့်ထားသောအခါမှသာ တုန်ခါရန်"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"အလုပ်ပရိုဖိုင်များတွင် သုံးရန်"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"သင့်ကိုယ်ပိုင်ပရိုဖိုင်မှ အကြောင်းကြားချက်အသံလျော့ချမှု ဆက်တင်များကို အလုပ်ပရိုဖိုင်တွင် သုံးသည်"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR အထောက်အကူပြု ဝန်ဆောင်မှုများ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ထည့်သွင်းထားသည့် မည်သည့်အက်ပ်ကိုမျှ VR အထောက်အကူပြု ဝန်ဆောင်မှုများအဖြစ် ဖွင့်ရန် တောင်းဆိုမထားပါ။"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> အတွက် VR ဝန်ဆောင်မှု အသုံးပြုခွင့်ပြုမလား။"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ပိတ်"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"အက်ပ်ပင်ထိုးခြင်း"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"အက်ပ်ပင်ထိုးခြင်းသည် လက်ရှိအက်ပ်ကို ပင်မဖြုတ်မချင်း မြင်ကွင်းထဲတွင် ဆက်ထားခွင့်ပြုသည်။ ဥပမာ ယုံကြည်စိတ်ချရသည့် မိတ်ဆွေတစ်ဦးအား ဂိမ်းတစ်ခုခုကစားခွင့်ပြုရန် ဤဝန်ဆောင်မှုကို သုံးနိုင်သည်။"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"အက်ပ်တစ်ခုကို ပင်ထိုးသည့်အခါ ၎င်းက အခြားအက်ပ်များကို ဖွင့်နိုင်ပြီး ကိုယ်ရေးအချက်အလက်များကို အသုံးပြုနိုင်သည်။ \n\nအက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုရန်- 	\n၁။ အက်ပ်ပင်ထိုးခြင်းကို ဖွင့်ပါ 	\n၂။ အနှစ်ချုပ်ကို ဖွင့်ပါ 	\n၃။ ဖန်သားပြင်ထိပ်ရှိ အက်ပ်သင်္ကေတကို တို့ပြီး ‘ပင်ထိုးရန်’ ကို နှိပ်ပါ"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"အက်ပ်တစ်ခုကို ပင်ထိုးသည့်အခါ ၎င်းက အခြားအက်ပ်များကို ဖွင့်နိုင်ပြီး ကိုယ်ရေးအချက်အလက်များကို အသုံးပြုနိုင်သည်။ \n\nသင့်စက်ကို တစ်စုံတစ်ယောက်နှင့် လုံခြုံစွာမျှဝေလိုပါက ဧည့်သည်အသုံးပြုသူကို စမ်းသုံးကြည့်ပါ။ \n\nအက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုရန်- 	\n၁။ အက်ပ်ပင်ထိုးခြင်းကို ဖွင့်ပါ 	\n၂။ အနှစ်ချုပ်ကို ဖွင့်ပါ 	\n၃။ ဖန်သားပြင်ထိပ်ရှိ အက်ပ်သင်္ကေတကို တို့ပြီး ‘ပင်ထိုးရန်’ ကို နှိပ်ပါ"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"အက်ပ်တစ်ခုကို ပင်ထိုးသည့်အခါ ၎င်းက အခြားအက်ပ်များကို ဖွင့်နိုင်ပြီး ကိုယ်ရေးအချက်အလက်များကို အသုံးပြုနိုင်သည်။ \n\nအက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုရန်- 	\n{0,number,integer}။ အက်ပ်ပင်ထိုးခြင်းကို ဖွင့်ရန် 	\n{1,number,integer}။ ‘အနှစ်ချုပ်’ ကို ဖွင့်ရန် 	\n{2,number,integer}။ ဖန်သားပြင်ထိပ်ရှိ အက်ပ်သင်္ကေတကို တို့ပြီး \'ပင်ထိုးရန်\' ကို နှိပ်ပါ"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"အက်ပ်တစ်ခုကို ပင်ထိုးသည့်အခါ ၎င်းက အခြားအက်ပ်များကို ဖွင့်နိုင်ပြီး ကိုယ်ရေးအချက်အလက်များကို အသုံးပြုနိုင်သည်။ \n\nသင့်စက်ကို တစ်စုံတစ်ယောက်နှင့် လုံခြုံစွာမျှဝေလိုပါက ဧည့်သည်အသုံးပြုသူကို စမ်းသုံးကြည့်ပါ။ \n\nအက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုရန်- 	\n{0,number,integer}။ အက်ပ်ပင်ထိုးခြင်းကို ဖွင့်ရန် 	\n{1,number,integer}။ ‘အနှစ်ချုပ်’ ကို ဖွင့်ရန် 	\n{2,number,integer}။ ဖန်သားပြင်ထိပ်ရှိ အက်ပ်သင်္ကေတကို တို့ပြီး \'ပင်ထိုးရန်\' ကို နှိပ်ပါ"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"အက်ပ်ကို ပင်ထိုးထားသည့်အခါ- \n\n•	 ကိုယ်ရေးကိုယ်တာ ဒေတာများကို အသုံးပြုနိုင်ပါသည် \n		(အဆက်အသွယ်နှင့် အီးမေးလ်အကြောင်းအရာများကဲ့သို့) \n• ပင်ထိုးထားသည့်အက်ပ်သည် အခြားအက်ပ်များကို ဖွင့်နိုင်သည် \n\nသင်ယုံကြည်စိတ်ချရသူများနှင့်သာ အက်ပ်ပင်ထိုးခြင်းကို အသုံးပြုပါ။"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ပင်မဖြုတ်မီမှာ သော့ဖွင့် ပုံစံကွက်ကို မေးရန်"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ပင်မဖြုတ်မီမှာ PIN ကို မေးရန်"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ပင်မဖြုတ်မီမှာ စကားဝှက်ကို မေးကြည့်ရန်"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ပင်ဖြုတ်စဉ် စက်ကို လော့ခ်ချထားရန်"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ဆင်းမ်ဖျက်ခြင်းကို အတည်ပြုခြင်း"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"သင့် eSIM ကို ဖျက်လိုကြောင်း အတည်ပြုရန်"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM မဖျက်မီ သင်ဖြစ်ကြောင်း အတည်ပြုပါ"</string>
     <string name="memtag_title" msgid="5096176296797727201">"အဆင့်မြင့်မှတ်ဉာဏ် အကာအကွယ် ဘီတာ"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"အဆင့်မြင့်မှတ်ဉာဏ် အကာအကွယ်"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"အသုံးမပြုသော အက်ပ်ဆက်တင်များ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"အသုံးမပြုပါက အက်ပ်လုပ်ဆောင်ချက် ခဏရပ်ရန်"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ခွင့်ပြုချက် ဖယ်ရှားခြင်း၊ ယာယီဖိုင် ဖျက်ခြင်း၊ အကြောင်းကြားချက် ရပ်ခြင်း"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"အသုံးမပြုပါက အက်ပ်ကို စီမံရန်"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ခွင့်ပြုချက်များ ဖယ်ရှားခြင်း၊ ယာယီဖိုင်များ ဖျက်ခြင်း၊ အကြောင်းကြားချက်များ ရပ်ခြင်းနှင့် အက်ပ်သိမ်းခြင်းတို့ ပြုလုပ်နိုင်သည်"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"အက်ပ်များ အားလုံး"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ထည့်ထားသည့် အက်ပ်များ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"အသင့်သုံးအက်ပ်များ"</string>
@@ -3589,8 +3775,8 @@
     <string name="app_link_open_always_summary" msgid="4524005594295855117">"{count,plural, =1{အက်ပ်က လင့်ခ် # ခုကို စီမံရန် တောင်းဆိုသည်}other{အက်ပ်က လင့်ခ် # ခုကို စီမံရန် တောင်းဆိုသည်}}"</string>
     <string name="open_supported_links_footer" msgid="3188808142432787933">"အက်ပ်သည် အောက်ပါလင့်ခ်များကို စီမံရန် တောင်းဆိုသည်-"</string>
     <string name="assist_and_voice_input_title" msgid="6317935163145135914">"အကူနှင့် အသံဖြင့်စာရိုက်ခြင်း"</string>
-    <string name="default_assist_title" msgid="1182435129627493758">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်"</string>
-    <string name="default_digital_assistant_title" msgid="5654663086385490838">"မူလဒစ်ဂျစ်တယ် Assistant အက်ပ်"</string>
+    <string name="default_assist_title" msgid="1182435129627493758">"ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်"</string>
+    <string name="default_digital_assistant_title" msgid="5654663086385490838">"မူရင်း ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်"</string>
     <string name="assistant_security_warning_agree" msgid="9013334158753473359">"OK"</string>
     <string name="default_browser_title" msgid="8342074390782390458">"ဘရောင်ဇာ အက်ပ်"</string>
     <string name="default_phone_title" msgid="7616730756650803827">"ဖုန်း အက်ပ်"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"လက်ကျန်"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"အက်ပ်များမှ အသုံးပြုသော မှတ်ဉာဏ်"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{ပြီးခဲ့သော {time} တွင် အက်ပ် ၁ ခုက မှတ်ဉာဏ်သုံးထားသည်}other{ပြီးခဲ့သော {time} တွင် အက်ပ် # ခုက မှတ်ဉာဏ်သုံးထားသည်}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"မှတ်ဉာဏ်အသုံးပြုမှုပုံဖော်ခြင်း ဖွင့်ရန်"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"မှတ်ဉာဏ်အသုံးပြုမှု ပုံဖော်ခြင်းသည် ထပ်ဆောင်းစနစ်ရင်းမြစ်များ လိုအပ်သည်။"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"မှတ်ဉာဏ်အသုံးပြုမှုပုံဖော်ခြင်း ပိတ်ထားသည်"</string>
     <string name="running_frequency" msgid="7260225121706316639">"လှိုင်းနှုန်း"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"အများဆုံး အသုံးပြုမှု"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"မည်သည့်ဒေတာမျှ အသုံးမပြုပါ"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"အခြားအက်ပ်များ အပေါ်တွင် ပြသခြင်း"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"အခြားအက်ပ်များ အပေါ်မှ ပြသခွင့်ပြုရန်"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ဤအက်ပ်အား သင်သုံးနေသော အခြားအက်ပ်များအပေါ်တွင် ပြသခွင့်ပြုပါ။ ဤအက်ပ်က သင်တို့လိုက်သည့်နေရာကို ကြည့်နိုင် (သို့) ဖန်သားပြင်ပေါ်တွင် ပြသသည့် အရာကို ပြောင်းနိုင်ပါမည်။"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"မီဒီယာအထွက် ပြောင်းခြင်း"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"အက်ပ်ကို မီဒီယာအထွက် ပြောင်းခွင့်ပြုရန်"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"အခြားအက်ပ်များတွင် အသံ (သို့) ဗီဒီယိုဖွင့်မည့် ချိတ်ဆက်ကိရိယာကို ဤအက်ပ်အား ရွေးခွင့်ပြုပါ။ ခွင့်ပြုပြီးလျှင် ဤအက်ပ်သည် နားကြပ်နှင့် စပီကာများကဲ့သို့ ရနိုင်သော စက်ပစ္စည်းစာရင်းကို ဝင်ကြည့်ပြီး အသံ (သို့) ဗီဒီယို တိုက်ရိုက်ဖွင့်မည့် (သို့) ကာစ်လုပ်မည့် ထုတ်ယူသည့် ကိရိယာကို ရွေးနိုင်သည်။"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ဖိုင်အားလုံး သုံးခွင့်"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ဖိုင်အားလုံးကို စီမံရန် သုံးခွင့်ပေးပါ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ဤစက်ပစ္စည်း (သို့) ချိတ်ဆက်ထားသော သိုလှောင်နေရာရှိ ဖိုင်များအားလုံးကို ဖတ်ရန်၊ ပြင်ဆင်ရန်နှင့် ဖျက်ရန် ဤအက်ပ်ကို ခွင့်ပြုပါ။ ခွင့်ပြုပြီးပါက အက်ပ်သည် သင့်အား အသိမပေးဘဲ ဖိုင်များကို အသုံးပြုနိုင်ပါမည်။"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"ဖိုင်အားလုံးကို အသုံးပြုနိုင်သည်"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"အသံဖြင့်ဖွင့်ထားသည့် အက်ပ်များ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"အသံဖြင့်ဖွင့်ခြင်း ခွင့်ပြုရန်"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"အသံဖြင့်ဖွင့်ခြင်းသည် အတည်ပြုထားသောအက်ပ်များကို အသံကွန်မန်းဖြင့် ဖွင့်ပေးပြီး လက်လွတ်ဆောင်ရွက်နိုင်သည်။ အသင့်ပါသည့် အလိုက်သင့်အာရုံခံခြင်းသည် ဒေတာကို သင့်အတွက်သာ သီးသန့်ရှိစေသည်။\n\n"<a href="">"အကာအကွယ်ပေးထားသည့် အလိုက်သင့်အာရုံခံခြင်းအကြောင်း နောက်ထပ်အချက်အလက်များ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ဖန်သားပြင်အပြည့် အကြောင်းကြားချက်များ"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ဤအက်ပ်မှ ဖန်သားပြင်အပြည့် အကြောင်းကြားချက် ခွင့်ပြုရန်"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"စက်ပစ္စည်းလော့ခ်ချထားစဉ် ဖန်သားပြင်အပြည့် နေရာယူမည့် အကြောင်းကြားချက်များကို ဤအက်ပ်အား ပြသခွင့်ပြုနိုင်သည်။ နှိုးစက်၊ အဝင်ခေါ်ဆိုမှု (သို့) အခြားအရေးတကြီး အကြောင်းကြားချက်များကို မြင်သာအောင်လုပ်ရန် အက်ပ်များက ၎င်းတို့ကို သုံးနိုင်သည်။"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"ဒေတာသတိပေးချက် <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"ဒေတာကန့်သတ်ချက် <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"ဒေတာသတိပေးချက် <xliff:g id="ID_1">^1</xliff:g> / ဒေတာကန့်သတ်ချက် <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ဝန်ဆောင်မှုပေးသူ၏ ဒေတာအသုံးပြုမှု တွက်ချက်ခြင်းသည် စက်ပစ္စည်း၏ တွက်ချက်ခြင်းနှင့် ကွဲပြားနိုင်သည်"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"ဝန်ဆောင်မှုပေးသူ၏ကွန်ရက်များက အသုံးပြုသော ဒေတာများ မပါဝင်ပါ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> အသုံးပြုထားသည်"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ဒေတာသတိပေးချက် သတ်မှတ်ရန်"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"ပြီးခဲ့သည့် <xliff:g id="ID_1">^2</xliff:g> က အပ်ဒိတ်လုပ်သည်"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ယခုလေးတင် <xliff:g id="ID_1">^1</xliff:g> က အပ်ဒိတ်လုပ်ထားသည်"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ယခုလေးတင် အပ်ဒိတ်လုပ်ထားသည်"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"အစီအစဉ် ကြည့်ရန်"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"အသေးစိတ် ကြည့်ရန်"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ဒေတာချွေတာမှု"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ကန့်သတ်မဲ့ ဒေတာ"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"နောက်ခံတွင် <xliff:g id="APP_LABEL">%1$s</xliff:g> သည် ပုံမှန်ထက် ဘက်ထရီ ပိုသုံးထားသည်"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"မျက်နှာစာတွင် <xliff:g id="APP_LABEL">%1$s</xliff:g> သည် ဘက်ထရီ ပိုသုံးထားသည်"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"မျက်နှာစာတွင် <xliff:g id="APP_LABEL">%1$s</xliff:g> သည် ပုံမှန်ထက် ဘက်ထရီ ပိုသုံးထားသည်"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ဘက်ထရီ အသုံးပြုမှု မူမမှန်ခြင်း"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ဘက်ထရီ အသုံးပြုမှု များသည်"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"နောက်ခံတွင် ဘက်ထရီ အသုံးပြုမှု များသည်"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"မျက်နှာစာတွင် ဘက်ထရီ အသုံးပြုမှု များသည်"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ဆော့ဖ်ဝဲရေးသူ အကွက်များ အမြန်သတ်မှတ်ခြင်း"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Adb ခွင့်ပြုချက် အချိန်ကုန်သွားခြင်းကို ပိတ်ရန်"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"မူလ (၇ ရက်) သို့မဟုတ် အသုံးပြုသူ စီစဉ်သတ်မှတ်ထားသော (အနည်းဆုံး ၁ ရက်) အချိန်အတွင်း ချိတ်ဆက်မထားသော စနစ်များအတွက် adb ခွင့်ပြုချက်များ အလိုအလျောက်ရုပ်သိမ်းခြင်းကို ပိတ်သည်။"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope မှတ်တမ်းပြုခြင်း"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"အာရုံခံစနစ်များ ပိတ်ပါ"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"အလုပ်ပရိုဖိုင်ဆက်တင်များ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"အလုပ် ဖိုင်လမ်းညွှန်ရှိ အဆက်အသွယ်များကို ကိုယ်ပိုင်အက်ပ်များထဲတွင် ရှာပါ"</string>
@@ -3960,11 +4153,11 @@
     <string name="legacy_navigation_title" msgid="7877402855994423727">"ခလုတ် ၃ ခု ဖြင့် လမ်းညွှန်ခြင်း"</string>
     <string name="legacy_navigation_summary" msgid="5905301067778326433">"ဖန်သားပြင်၏ အောက်ခြေရှိ ခလုတ်များဖြင့် နောက်သို့ပြန်သွားပါ၊ \'ပင်မ\' သို့သွားပါ၊ အက်ပ်များကို ပြောင်းပါ။"</string>
     <string name="keywords_system_navigation" msgid="3131782378486554934">"စနစ် လမ်းညွှန်ခြင်း၊ ခလုတ် ၂ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ ခလုတ် ၃ ခု ဖြင့် လမ်းညွှန်ခြင်း၊ လက်ဟန်ဖြင့် လမ်းညွှန်ခြင်း၊ ပွတ်ဆွဲခြင်း"</string>
-    <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ဒစ်ဂျစ်တယ် Assistant"</string>
+    <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ဒစ်ဂျစ်တယ်အထောက်အကူ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistant ကို ညွှန်ကြားရန် ပွတ်ဆွဲပါ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် အောက်ခြေထောင့်မှ အပေါ်သို့ ပွတ်ဆွဲပါ။"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် အောက်ခြေထောင့်မှ အပေါ်သို့ ပွတ်ဆွဲပါ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant အတွက် ပင်မခလုတ် နှိပ်ထားခြင်း"</string>
-    <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ဒစ်ဂျစ်တယ် Assistant အက်ပ်ကို ညွှန်ကြားရန် ပင်မခလုတ် နှိပ်ထားပါ။"</string>
+    <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ဒစ်ဂျစ်တယ်အထောက်အကူ အက်ပ်ကို ညွှန်ကြားရန် ပင်မခလုတ် နှိပ်ထားပါ။"</string>
     <string name="low_label" msgid="6525629096999711220">"နိမ့်"</string>
     <string name="high_label" msgid="357503396626018487">"မြင့်"</string>
     <string name="left_edge" msgid="1513576842959071849">"ဘယ် အစွန်း"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"အော်တိုဖြည့် ဝန်ဆောင်မှု"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"မူရင်း အော်တိုဖြည့်ဝန်ဆောင်မှု"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"စကားဝှက်များ"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှုများ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"နောက်ထပ် ဝန်ဆောင်မှုပေးသူများ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ဦးစားပေး ဝန်ဆောင်မှု"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"ထပ်ဆောင်းဝန်ဆောင်မှုများ"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{စကားဝှက် # ခု}other{စကားဝှက် # ခု}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"အော်တို၊ ဖြည့်၊ အော်တိုဖြည့်၊ စကားဝှက်"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ဒေတာ၊ လျှို့ဝှက်ကီး၊ စကားဝှက်"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"အလိုအလျောက်၊ ဖြည့်ခြင်း၊ အလိုအလျောက်ဖြည့်ခြင်း၊ ဒေတာ၊ လျှို့ဝှက်ကီး၊ စကားဝှက်"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ပြောင်းရန်"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ဖွင့်ရန်"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"တစ်ခုမျှ ရွေးမထားပါ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;သင်သည် ဤအက်ပ်ကို ယုံကြည်စိတ်ချရကြောင်း သေချာပါစေ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; သည် သင်၏ဖန်သားပြင်ပေါ်ရှိ အရာများကို အသုံးပြု၍ မည်သည့်အရာများကို အော်တိုဖြည့်နိုင်ကြောင်း ဆုံးဖြတ်သည်။"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; သုံးမလား။&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; က အော်တိုဖြည့်နိုင်သည်များအား ဆုံးဖြတ်ရန် သင့်ဖန်သားပြင်ပေါ်တွင် ရှိသည်များကို သုံးနိုင်သည်။ ယခုမှစ၍ စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် အခြားသောအချက်အလက် အသစ်များကို ဤနေရာတွင် သိမ်းပါမည်။"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှုများ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; သုံးမလား။&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ယခုမှစ၍ စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် အခြားအချက်အလက် အသစ်များကို ဤနေရာတွင် သိမ်းပါမည်။ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; က အော်တိုဖြည့်နိုင်သည်များအား ဆုံးဖြတ်ရန် သင့်ဖန်သားပြင်ပေါ်တွင် ရှိသည်များကို သုံးနိုင်သည်။"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"စကားဝှက်၊ လျှို့ဝှက်ကီး၊ အော်တိုဖြည့်ခြင်းတို့အတွက် ဦးစားပေး ဝန်ဆောင်မှု"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s ကို ပိတ်မလား။"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ဤဝန်ဆောင်မှုကို ပိတ်မလား။&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; လက်မှတ်ထိုးဝင်သောအခါ စကားဝှက်၊ လျှို့ဝှက်ကီးများ၊ ငွေပေးချေနည်းလမ်းနှင့် အခြားအချက်အလက်ကဲ့သို့ သိမ်းထားသောအချက်အလက်များကို ဖြည့်မည်မဟုတ်ပါ။ သိမ်းထားသောအချက်အလက် သုံးရန် စကားဝှက်၊ လျှို့ဝှက်ကီး (သို့) ဒေတာဝန်ဆောင်မှု ရွေးပါ။"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"စကားဝှက်၊ လျှို့ဝှက်ကီး၊ အော်တိုဖြည့်ခြင်း"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ဝန်ဆောင်မှုအားလုံးကို ပိတ်သည်?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; စကားဝှက်များ၊ လျှို့ဝှက်ကီးများ၊ သိမ်းထားသော အခြားအချက်အလက်များကို သင်လက်မှတ်ထိုးဝင်သည့်အခါ အလိုအလျောက်ဖြည့်ရန် ရနိုင်မည်မဟုတ်ပါ"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;သင်၏ ဦးစားပေးဝန်ဆောင်မှုကို &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; သို့ပြောင်းသည် &lt;br/&gt; &lt;br/&gt; စကားဝှက်အသစ်များ၊ လျှို့ဝှက်ကီးများနှင့် အခြားအချက်အလက်များကို ယခုမှစ၍ ဤနေရာတွင် သိမ်းမည်။ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; က အော်တိုဖြည့်နိုင်သည်များအား ဆုံးဖြတ်ရန် သင့်ဖန်သားပြင်ပေါ်တွင် ရှိသည်များကို သုံးနိုင်သည်"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s သုံးမလား။"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ပိတ်ရန်"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ပြောင်းရန်"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"ဝန်ဆောင်မှု ၅ ခုသာ ဖွင့်နိုင်သည်"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"အခြားဝန်ဆောင်မှုထည့်ရန် ဝန်ဆောင်မှုအနည်းဆုံး ၁ ခုကို ပိတ်ပါ"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s သည် အော်တိုဖြည့်နိုင်သည်များကို သိရှိရန် သင့်စခရင်ပေါ်ရှိ အရာများကို အသုံးပြုသည်။"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှုများ ကန့်သတ်ချက်"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"တစ်ချိန်တည်းတွင် စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှု ၅ ခုအထိ ထားရှိနိုင်သည်။ ထပ်ထည့်ရန် ဝန်ဆောင်မှုတစ်ခုကို ပိတ်ပါ။"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှုများ ကန့်သတ်ချက်"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"တစ်ချိန်တည်းတွင် စကားဝှက်၊ လျှို့ဝှက်ကီးနှင့် ဒေတာဝန်ဆောင်မှု ၅ ခုအထိ ထားရှိနိုင်သည်။ ထပ်ထည့်ရန် ဝန်ဆောင်မှုတစ်ခုကို ပိတ်ပါ။"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ပိတ်ရန်"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"အလိုအလျောက်ဖြည့်ရန်"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"မှတ်တမ်းတင်မှု အဆင့်"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"အမှားရှာပြင်ကိရိယာအက်ပ်များ အတွက်သာလျှင် တွဲဖက်သုံးနိုင်သော အက်ပ် အပြောင်းအလဲများကို ပြုပြင်နိုင်သည်။ အမှားရှာပြင်ကိရိယာအက်ပ်တစ်ခု ထည့်သွင်းပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"အခြားဆက်တင်တစ်ခုအပေါ် မူတည်ပါသည်"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"အကောင့်"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"အကောင့် %d ခု"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"စက်ပစ္စည်း အမည်"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"အခြေခံ အချက်အလက်"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ဥပဒေရေးရာနှင့် စည်းမျဉ်း"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC tag ကို စကင်ဖတ်ပြီးသောအခါ ဤအက်ပ်ကို စတင်ခွင့်ပြုပါ။\nဤခွင့်ပြုချက် ဖွင့်ထားပါက တဂ်တွေ့သည့်အခါတိုင်း အက်ပ်ကို ရွေးစရာအဖြစ် ရနိုင်ပါမည်။"</string>
     <string name="media_output_title" msgid="8283629315159510680">"မီဒီယာကို အောက်ပါစက်တွင် ဖွင့်ရန်"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"အောက်ပါတွင် <xliff:g id="LABEL">%s</xliff:g> ကို ဖွင့်ခြင်း-"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"အောက်ပါတွင် အသံဖွင့်ပါမည်"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ဤစက်"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ဖုန်းခေါ်ဆိုနေချိန် မရနိုင်ပါ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"အောက်ပါတွင် ခေါ်ဆိုမှု လက်ခံရန်"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"အသံတိတ်သည်"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ဖွင့်ရန် \"ဖွင့်ပိတ်ခလုတ်ကို နှိပ်ထားခြင်း\" ကို ပါဝါမီနူးသို့ အရင်ပြောင်းပါ။"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ကွန်ရက် အသေးစိတ်များ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"သင့်စက်ပစ္စည်းအမည်ကို သင့်ဖုန်းပေါ်ရှိ အက်ပ်များက မြင်ရပါသည်။ သင် ဘလူးတုသ်သုံးစက်များသို့ ချိတ်ဆက်သည့်အခါ၊ Wi-Fi ကွန်ရက်သို့ ချိတ်ဆက်သည့်အခါ သို့မဟုတ် Wi-Fi ဟော့စပေါ့ ထုတ်လွှင့်သည့်အခါ တို့တွင်လည်း ၎င်းကို အခြားသူများက မြင်နိုင်ပါသည်။"</string>
     <string name="devices_title" msgid="649715719278562515">"စက်များ"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ကွန်ရက် ရွေးရန်"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ချိတ်ဆက်မထားပါ"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"အမည်"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"အရောင် (တွဲသုံးနိုင်သော အက်ပ်က သုံးထား)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"သိမ်းရန်"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ဆင်းမ်ကတ်သုံးရန်"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ဤဆင်းမ်ကတ် သုံးရန်"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ပိတ်"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ဤဆင်းမ်ကတ်ကို ပိတ်ရန် ဆင်းမ်ကတ်ကို ထုတ်လိုက်ပါ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> ကိုဖွင့်ရန် တို့ပါ"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ဆင်းမ်ကတ် ဖျက်ရန်"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ဤဆင်းမ်ကတ်ကို ပိတ်ရန် ၎င်းကို ဖယ်ရှားပါ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"သင့် <xliff:g id="CARRIER">%1$s</xliff:g> ဆင်းမ်ကတ်ကို စသုံးရန် တို့ပါ"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM ဖျက်ရန်"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ဦးစားပေး ကွန်ရက်အမျိုးအစား"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ကွန်ရက် လုပ်ဆောင်မှုစနစ်ကို ပြောင်းပါ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ဦးစားပေး ကွန်ရက်အမျိုးအစား"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ဈေးနှုန်းသိရှိရန် သင်၏ ကွန်ရက်ဝန်ဆောင်မှုပေးသူကို မေးပါ။"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"အက်ပ်ဒေတာ သုံးစွဲမှု"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"မမှန်ကန်သည့် ကွန်ရက်မုဒ် <xliff:g id="NETWORKMODEID">%1$d</xliff:g>။ လျစ်လျူရှုပါ။"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်း"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ဂြိုဟ်တုဖြင့် မိုဘိုင်းမက်ဆေ့ဂျ် ပို့နိုင်၊ လက်ခံနိုင်သည်။ သင့်အကောင့်တွင် ပါဝင်သည်။"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ဂြိုဟ်တုဖြင့် မိုဘိုင်းမက်ဆေ့ဂျ် ပို့နိုင်၊ လက်ခံနိုင်သည်။ သင့်အကောင့်တွင် မပါဝင်ပါ။"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်း"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်းအကြောင်း"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"သတ်မှတ်ချက်ပြည့်မီသော <xliff:g id="CARRIER_NAME">%1$s</xliff:g> အကောင့် တစ်စိတ်တစ်ဒေသအဖြစ် သင်သည် ဂြိုဟ်တုဖြင့် မိုဘိုင်းမက်ဆေ့ဂျ် ပို့နိုင်၊ လက်ခံနိုင်သည်"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"သင့် <xliff:g id="CARRIER_NAME">%1$s</xliff:g> အစီအစဉ်"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်းသည် သင့်အကောင့်တွင် ပါဝင်သည်"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်းသည် သင့်အကောင့်တွင် မပါဝင်ပါ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်း ထည့်ရန်"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"အလုပ်လုပ်ပုံ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"သင့်တွင် မိုဘိုင်းကွန်ရက် မရှိသောအခါ"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"သင့်ဖုန်းသည် ဂြိုဟ်တုနှင့် အလိုအလျောက်ချိတ်ဆက်မည်။ အကောင်းဆုံးချိတ်ဆက်မှုအတွက် ကောင်းကင်ကို ရှင်းလင်းစွာမြင်နိုင်အောင် ထားပါ။"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"သင့်ဖုန်းက ဂြိုဟ်တုနှင့် ချိတ်ဆက်ပြီးသည့်အခါ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"အရေးပေါ်ဝန်ဆောင်မှု ဌာနများအပါအဝင် မည်သူ့ထံမဆို စာတိုပို့နိုင်သည်။ ရနိုင်သည့်အခါ သင့်ဖုန်းသည် မိုဘိုင်းကွန်ရက်နှင့် ပြန်ချိတ်ဆက်ပါမည်။"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်းသည် အချိန်ပိုကြာနိုင်ပြီး အချို့နေရာများတွင်သာ ရနိုင်သည်။ ‘မိုးလေဝသ’ နှင့် အဆောက်အအုံအချို့သည် သင့်ဂြိုဟ်တုချိတ်ဆက်မှုအပေါ် သက်ရောက်နိုင်သည်။ ဂြိုဟ်တုဖြင့် ဖုန်းခေါ်ဆိုမှု မရနိုင်ပါ။\n\nသင့်အကောင့်ရှိ အပြောင်းအလဲများကို ဆက်တင်များတွင် မြင်ရရန် အချိန်အနည်းငယ် ကြာနိုင်သည်။ အသေးစိတ်သိရှိရန် <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကို ဆက်သွယ်ပါ။"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ဂြိုဟ်တုမက်ဆေ့ဂျ်ပို့ခြင်းအကြောင်း ပိုမိုသိရှိရန်"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ချိတ်ဆက်ပွိုင့် အမည်များ"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> တွင် ချိတ်ဆက်ထားသည့်အခါ မရနိုင်ပါ"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> သို့ ပြောင်းမလား။"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ဆင်းမ်ကတ်အသုံးပြုခြင်းသို့ ပြောင်းမလား။"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကိုသုံးမလား။"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"တစ်ကြိမ်တွင် ဆင်းမ်တစ်ကတ်သာ အသုံးပြုနိုင်ပါသည်။\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> သို့ပြောင်းခြင်းက သင့် <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"၁ ကြိမ်တွင် eSIM တစ်ခုသာ အသုံးပြုနိုင်သည်။\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> သို့ပြောင်းခြင်းက သင့် <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"တစ်ကြိမ်တွင် ဆင်းမ်တစ်ကတ်သာ အသုံးပြုနိုင်ပါသည်။\n\nပြောင်းခြင်းက သင့် <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"တစ်ကြိမ်တွင် ဆင်းမ်ကတ် ၁ ခုသာ ဖွင့်နိုင်သည်။\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> သို့ပြောင်းခြင်းက သင့် <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"တစ်ကြိမ်တွင် eSIM ၁ ခုသာ ဖွင့်နိုင်သည်။\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> သို့ပြောင်းခြင်းက သင့် <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"တစ်ကြိမ်တွင် ဆင်းမ်ကတ် ၁ ခု သာ ဖွင့်နိုင်သည်။\n\nကူးပြောင်းခြင်းဖြင့် သင်၏ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ဆင်းမ်ကတ် ၂ ခုကို တစ်ပြိုင်နက် အသုံးပြုနိုင်သည်။ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကိုသုံးရန် အခြားဆင်းမ်ကတ်ကို ပိတ်ပါ။"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> သို့ ပြောင်းရန်"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကိုပိတ်ပါ"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"ဆင်းမ်ကတ်ကို ပိတ်ခြင်းက သင့်ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ကွန်ရက်သို့ ချိတ်ဆက်နေသည်…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"ဖုန်းခေါ်ဆိုမှုနှင့် မက်ဆေ့ဂျ်များအတွက် <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကိုပြောင်းနေသည်…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"ဝန်ဆောင်မှုပေးသူကို ပြောင်း၍မရပါ"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"အမှားအယွင်းတစ်ခုကြောင့် ဝန်ဆောင်မှုပေးသူကို ပြောင်း၍မရပါ။"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"သင့်ဆင်းမ်ကတ်ကို စသုံးနေသည်…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> သို့ ပြောင်းနေပါသည်…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"ဆင်းမ်ကတ်ပြောင်း၍ မရပါ"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"တစ်ခုခုမှားသွားသည်။ ဆင်းမ်ကတ်ပြောင်း၍ မရပါ။"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ပိတ်မလား။"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"\'ဆင်းမ်ကတ်\' ပိတ်မလား။"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"\'ဆင်းမ်ကတ်\' ပိတ်နေသည်<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"ဝန်ဆောင်မှုပေးသူကို ပိတ်၍မရပါ"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"တစ်ခုခုမှားယွင်းသွားပါ၍ သင့်ဝန်ဆောင်မှုပေးသူကို ပိတ်မရခဲ့ပါ။"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"ဆင်းမ်ကတ်ကို ပိတ်၍မရပါ"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"တစ်ခုခုမှားသွားပြီး သင့်ဆင်းမ်ကတ်ကို ပိတ်၍မရပါ။"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"ဆင်းမ်ကတ် ၂ ကတ် သုံးမလား။"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ဤစက်တွင် ဆင်းမ်ကတ် ၂ ကတ် တစ်ပြိုင်နက် စတင်နိုင်သည်။ တစ်ကြိမ်တွင် ဆင်းမ်ကတ် ၁ ကတ်ဆက်သုံးရန် \"မလိုပါ\" ကိုတို့ပါ။"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"စက်ကို ပြန်စမလား။"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"မလိုပါ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"မလုပ်တော့"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ပြောင်းရန်"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ပိတ်ရန်"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ဆင်းမ်ကတ်ကို ဖွင့်၍မရပါ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ဆင်းမ်ကတ်ကို ပြန်ဖွင့်ကြည့်ပါ။ ပြဿနာရှိနေသေးပါက သင့်စက်ကို ပြန်လည်စတင်ပါ။"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ဆင်းမ်ကတ် စနစ်ထည့်သွင်းခြင်း"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ဤစက်ပစ္စည်းတွင် ဆင်းမ်ကတ်အမျိုးမျိုးသုံးရန် မိုဘိုင်းကွန်ရက် သတ်မှတ်ချက်များကို သတ်မှတ်ပါ"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ဆင်းမ်ကတ်များ အညွှန်းတပ်ခြင်း"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ဤအညွှန်းများကို ဖုန်းခေါ်ဆိုခြင်း၊ စာတိုပို့ခြင်း၊ ဒေတာသုံးခြင်း ပြုလုပ်ရာ၌အပြင် ‘ဆက်တင်များ’ တွင် တွေ့ရပါမည်"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"ဆင်းမ်ကတ်အညွှန်း"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"အညွှန်း"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"သုံးမည့်ဆင်းမ်ကတ် ရွေးခြင်း"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ဆင်းမ်ကတ် ၂ ခုကို တစ်ပြိုင်နက် အသုံးပြုနိုင်သည်"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ပင်မဆင်းမ်ကတ်များ သတ်မှတ်ခြင်း"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ဖုန်းခေါ်ဆိုမှု၊ စာတိုနှင့် ဒေတာများအတွက် မူရင်းသတ်မှတ်ချက်အဖြစ်သုံးမည့် ဆင်းမ်ကတ်များကို ရွေးပါ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"သင်၏ပင်မဆင်းမ်ကတ်များ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ခေါ်ဆိုမှုများ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"စာတိုများ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"အလိုအလျောက် ဒေတာပြောင်းခြင်း"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"လိုင်းဆွဲအားနှင့် ရနိုင်မှုပေါ်မူတည်၍ ဆင်းမ်ကတ်တစ်ခုခုမှ ဒေတာကို သုံးပါ"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ဒေတာသီးသန့်"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"စနစ်ထည့်သွင်းရန်"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ရှေ့သို့"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ဖွင့်နေသည်…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"မိုဘိုင်းကွန်ရက်"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ဖုန်းနံပါတ်"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"ဆင်းမ်ကတ်အညွှန်းနှင့် အရောင်"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ကွန်ရက် စတင်အသုံးပြုခြင်း"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"ဝန်ဆောင်မှုပေးသူ ပြောင်းခြင်း"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကို အသုံးပြုနေသည်"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"သင့် <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ဆင်းမ်ကတ်ကို သုံးနေသည်"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"ဆင်းမ်ကတ်ဆက်တင်များ အပ်ဒိတ်လုပ်ရန် တို့ပါ"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> သို့ ပြောင်းလိုက်သည်"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"အခြား ဝန်ဆောင်မှုပေးသူသို့ ပြောင်းလိုက်သည်"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"သင်၏ မိုဘိုင်းကွန်ရက် ပြောင်းသွားပါပြီ"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"သင့် အခြားဆင်းမ်ကတ်ကို စနစ်ထည့်သွင်းပါ"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"သင်သုံးနေသော ဆင်းမ်ကတ်ရွေးပါ သို့မဟုတ် ဆင်းမ်ကတ် ၂ ကတ် တစ်ပြိုင်တည်းသုံးပါ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"အသုံးပြုရန် နံပါတ်ရွေးပါ"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ဤစက်တွင် နံပါတ် 1 ခု ရနိုင်သော်လည်း တစ်ကြိမ်လျှင် တစ်ခုသာ အသုံးပြုနိုင်သည်}=2{ဤစက်တွင် နံပါတ် 2 ခု ရနိုင်သော်လည်း တစ်ကြိမ်လျှင် တစ်ခုသာ အသုံးပြုနိုင်သည်}other{ဤစက်တွင် နံပါတ် # ခု ရနိုင်သော်လည်း တစ်ကြိမ်လျှင် တစ်ခုသာ အသုံးပြုနိုင်သည်}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"<xliff:g id="ELLIPSIS">…</xliff:g> စတင်နေပါသည်"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"လက်ရှိတွင် စတင်အသုံးပြု၍ မရပါ"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"အသုံးပြုမည့် ဆင်းမ်ကတ်ရွေးခြင်း"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ဤစက်တွင် ဆင်းမ်ကတ် ၁ ခု ရနိုင်သော်လည်း တစ်ကြိမ်လျှင် တစ်ခုသာ အသုံးပြုနိုင်သည်}=2{ဤစက်တွင် ဆင်းမ်ကတ် ၂ ခု ရနိုင်သော်လည်း တစ်ကြိမ်လျှင် တစ်ခုသာ အသုံးပြုနိုင်သည်}other{ဤစက်တွင် ဆင်းမ်ကတ် # ခု ရနိုင်သော်လည်း တစ်ကြိမ်လျှင် တစ်ခုသာ အသုံးပြုနိုင်သည်}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ဖွင့်နေသည်<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ဤဆင်းမ်ကတ်ကို လောလောဆယ် ဖွင့်၍မရပါ"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကို သုံးမလား။"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"မိုဘိုင်းဒေတာ၊ ခေါ်ဆိုမှုများနှင့် SMS စာတိုစနစ်အတွက် <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ကို အသုံးပြုပါမည်။"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"အသုံးပြုနေသော ဆင်းမ်ကတ်များ မရှိပါ"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"မိုဘိုင်းဒေတာ၊ ခေါ်ဆိုမှုဆိုင်ရာ ဝန်ဆောင်မှုများနှင့် SMS စာတိုစနစ်တို့ကို နောင်တွင် အသုံးပြုရန် သင့်ကွန်ရက်ဆက်တင်များသို့ သွားပါ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ဆင်းမ်ကတ်"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ဤ eSIM ကိုဖျက်မလား။"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ဤဆင်းမ်ကို ဖျက်ခြင်းဖြင့် ဤစက်ပစ္စည်းမှ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ဝန်ဆောင်မှုကို ဖယ်ရှားပါမည်။\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> အတွက် ဝန်ဆောင်မှုကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"၎င်းက ဤစက်ပစ္စည်းရှိ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ဝန်ဆောင်မှုကို ဖယ်ရှားမည်ဖြစ်သော်လည်း သင်၏ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> အစီအစဉ်ကို ပယ်ဖျက်မည်မဟုတ်ပါ။"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ဖျက်ရန်"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"ဆင်းမ်ကတ်ကို ဖျက်နေသည်…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ဆင်းမ်ကတ်ကို ဖျက်၍မရပါ"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"အမှားအယွင်းရှိနေသောကြောင့် ဤဆင်းမ်ကို ဖျက်၍မရပါ။\n\nသင့်စက်ပစ္စည်းကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM ကို ဖျက်နေသည်…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM ကို ဖျက်၍မရပါ"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"တစ်ခုခုမှားသွားပြီး ဤ eSIM ကို ဖျက်၍မရပါ။\n\nစက်ကို ပြန်စပြီး ထပ်စမ်းကြည့်ပါ။"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"စက်နှင့် ချိတ်ဆက်ခြင်း"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"သင့်စက်နှင့် ချိတ်ဆက်ရန် <xliff:g id="APPNAME">%1$s</xliff:g> အက်ပ်က ယာယီ Wi‑Fi ကွန်ရက်ကို အသုံးပြုလိုသည်"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"မည်သည့်စက်မျှ မတွေ့ပါ။ စက်များဖွင့်ထားပြီး ချိတ်ဆက်နိုင်ခြင်း ရှိမရှိ စစ်ဆေးပါ။"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"အရေးပေါ်ခေါ်ဆိုမှုများ"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"\'Wi‑Fi ခေါ်ဆိုခြင်း\' မှတစ်ဆင့် အရေးပေါ်ဖုန်းခေါ်ခြင်းများကို သင့်ဝန်ဆောင်မှုပေးသူက ပံ့ပိုးမထားပါ။\nအရေးပေါ်ဖုန်းခေါ်ခြင်း ပြုလုပ်ရန် စက်ပစ္စည်းသည် ဆယ်လူလာကွန်ရက်သို့ အလိုအလျောက် ပြောင်းသွားပါမည်။\nဆယ်လူလာကွန်ရက် ရရှိနိုင်သည့် နယ်မြေများတွင်သာ အရေးပေါ်ဖုန်းခေါ်ခြင်းများ ပြုလုပ်နိုင်ပါသည်။"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ဖုန်းခေါ်ဆိုမှုများ အရည်အသွေး ပိုမိုကောင်းမွန်စေရန် Wi‑Fi အသုံးပြုသည်"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"အရန် ခေါ်ဆိုမှု"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ကို မရနိုင်လျှင် သို့မဟုတ် ပြင်ပကွန်ရက်နှင့် ချိတ်ဆက်ထားလျှင် <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ခေါ်ဆိုမှုများအတွက် သင်၏ မိုဘိုင်းဒေတာဆင်းမ်ကတ်ကို အသုံးပြုပါ။"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"အရန် ခေါ်ဆိုမှု"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS မက်ဆေ့ဂျ် အဝင်"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS မက်ဆေ့ဂျ်များ ပို့၍မရပါ"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"မိုဘိုင်းဒေတာ ပိတ်ထားချိန် <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> တွင် MMS မက်ဆေ့ဂျ်ပို့ခွင့်ပြုရန် တို့ပါ"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"သင့်အလုပ် မူဝါဒ အချက်အလက်"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"သင့် IT စီမံခန့်ခွဲသူက သတ်မှတ်ထားသည့် ဆက်တင်များ"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"စာမျက်နှာအရွယ်အစား ၁၆K နှင့်စတင်ရန်"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"စာမျက်နှာအရွယ် ၁၆K ရသော Kernel သုံးသည့်စက် စတင်ရန်"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"စာမျက်နှာ ၁၆KB တွဲသုံးနိုင်သော Kernel နှင့် ပြန်လည်စတင်မလား။"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"သတိပေးချက်- အပလီကေးရှင်းအချို့ကို ဤမုဒ်နှင့် တွဲသုံး၍မရနိုင်ပါ။ အတည်ပြုပြီးနောက် စက်ပစ္စည်းကို ပြန်လည်စတင်ပါမည်။"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"စာမျက်နှာ ၄KB တွဲသုံးနိုင်သော Kernel နှင့် ပြန်လည်စတင်မလား။"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"အတည်ပြုပြီးနောက် စက်ပစ္စည်းကို ပြန်လည်စတင်ပါမည်။"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Kernel ကို စာမျက်နှာ ၁၆KB တွဲသုံးနိုင်သော Kernel အဖြစ် အပ်ဒိတ်လုပ်၍မရပါ။"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ပြောင်းလဲမှု ထည့်သွင်းခြင်း"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ချွတ်ယွင်းချက်အစီရင်ခံစာ စီမံသူ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"သင့်စက်တွင် မည်သည့်အက်ပ်က ချွတ်ယွင်းမှုအစီရင်ခံစာ ဖြတ်လမ်းလင့်ခ်အား ကိုင်တွယ်မည်ဆိုသည်ကို ဆုံးဖြတ်သည်။"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ကိုယ်ပိုင်"</string>
@@ -4468,8 +4717,8 @@
     <string name="power_menu_setting_name" msgid="2394440932633137229">"ဖွင့်ပိတ်ခလုတ်ကို နှိပ်ထားခြင်း"</string>
     <string name="power_menu_long_press_category_title" msgid="1051146091093775002">"အသုံးပြုရန် ဖွင့်ပိတ်ခလုတ်ကို နှိပ်ထားခြင်း"</string>
     <string name="power_menu_long_press_for_power_menu_title" msgid="477584639843663599">"ပါဝါမီနူး"</string>
-    <string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"ဒစ်ဂျစ်တယ် Assistant"</string>
-    <string name="power_menu_summary_long_press_for_assistant" msgid="32706459458422952">"ဒစ်ဂျစ်တယ် Assistant သုံးရန်"</string>
+    <string name="power_menu_long_press_for_assistant_title" msgid="6557738348262616455">"ဒစ်ဂျစ်တယ်အထောက်အကူ"</string>
+    <string name="power_menu_summary_long_press_for_assistant" msgid="32706459458422952">"ဒစ်ဂျစ်တယ်အထောက်အကူ သုံးရန်"</string>
     <string name="power_menu_summary_long_press_for_power_menu" msgid="7617247135239683710">"ပါဝါမီနူး သုံးရန်"</string>
     <string name="lockscreen_privacy_not_secure" msgid="3251276389681975912">"အသုံးပြုရန် ဖန်သားပြင် လော့ခ်ကို ဦးစွာသတ်မှတ်ပါ"</string>
     <string name="power_menu_power_volume_up_hint" msgid="5619917593676125759">"ပါဝါမီနူး-\nဖွင့်ပိတ်ခလုတ်နှင့် အသံချဲ့ခလုတ်ကို တစ်ပြိုင်တည်း နှိပ်ပါ"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"အခြားအက်ပ်များအပေါ်တွင် ပြသနိုင်သည့် အက်ပ်များအား \'ဆက်တင်များ\' မျက်နှာပြင်ကို ထပ်ဆင့်ပြခွင့်ပြုသည်"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem ခွင့်ပြုရန်"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"နည်းလမ်းထည့်သွင်းခြင်း စမ်းသပ်မှုအတွက် Mock Modem ဝန်ဆောင်မှုဖွင့်ရန် ဤစက်ကိုခွင့်ပြုနိုင်သည်။ ဖုန်းပုံမှန်အသုံးပြုမှုအတွင်း ၎င်းကို မဖွင့်ပါနှင့်"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"မျက်နှာပြင်မျှဝေခြင်းဆိုင်ရာ အကာအကွယ်များပိတ်ရန်"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"မျက်နှာပြင်မျှဝေနေစဉ် စနစ်သုံးအက်ပ်နှင့် အကြောင်းကြားချက် အကာအကွယ်များ ပိတ်သည်"</string>
     <string name="media_controls_title" msgid="403271085636252597">"မီဒီယာ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"မီဒီယာ ပလေယာကို ပင်ထိုးရန်"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"‘အမြန် ဆက်တင်များ’ တွင် အမြန်ပြန်ဖွင့်ရန်အတွက် မီဒီယာ ပလေယာကို ဆက်ဖွင့်ထားရန်"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"လော့ခ်မျက်နှာပြင်တွင် မီဒီယာပြရန်"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"လော့ခ်မျက်နှာပြင်တွင် အမြန်ပြန်ဖွင့်ရန်အတွက် မီဒီယာ ပလေယာကို ဆက်ဖွင့်ထားရန်"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"မီဒီယာ အကြံပြုချက်များ ပြရန်"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant မီဒီယာအကြံပြုချက်များ ပြပါ"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"သင်၏လုပ်ဆောင်ချက်ပေါ် အခြေခံထားသည်"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ပလေယာကို ဖျောက်ထားမည်"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ပလေယာကို ပြရန်"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"မီဒီယာ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"ကင်မရာဆော့ဖ်ဝဲ နောက်ဆက်တွဲများကို ခွင့်ပြုရန်"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Eyes Free ဗီဒီယိုပညာကဲ့သို့ အဆင့်မြင့် ကင်မရာတူးလ်များ၏ မူရင်းဆော့ဖ်ဝဲ ထည့်သွင်းခြင်းကို ဖွင့်သည်။"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ဘလူးတုသ် ပွင့်ပါမည်"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"အင်တာနက်"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"ဆင်းမ်ကတ်များ"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ဆင်းမ်ကတ်"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"အသုံးပြုနေသည်"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"အသုံးမပြုပါ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ဖွင့်"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ပိတ်"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> အတွက် မူရင်း"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ခေါ်ဆိုမှုများ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS စာတိုစနစ်"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"တွဲသုံးနိုင်သောမီဒီယာမှ အသံသည် ပို၍နှစ်သက်ဖွယ်ကောင်းသည်"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ဦးခေါင်းလှုပ်ရှားမှု စောင့်ကြည့်ခြင်း"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ပိုမိုသဘာဝဆန်စေရန် ဦးခေါင်းလှုပ်ရှားမှုအလိုက် အသံပြောင်းလဲသည်"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"စင့်ခ်လုပ်ခြင်း ခွင့်ပြုချက်များ"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> တွင် သင်ခွင့်ပြုထားသည့် တူညီသော အက်ပ်ခွင့်ပြုချက်များကို <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> အား ပေးနိုင်သည်"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ဖုန်းမှ ခွင့်ပြုချက်များ စင့်ခ်လုပ်ရန်"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"သင့်နာရီကို ဤဖုန်းတွင် သင်ခွင့်ပြုထားသည့် တူညီသောအက်ပ်ခွင့်ပြုချက်များ ပေးရန်"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"အသံစက်ပစ္စည်း အမျိုးအစား"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"မသိ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"စပီကာ"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"အသင့်အတင့်"</string>
     <string name="contrast_high" msgid="3988567609694797696">"များ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ဤအက်ပ်ကို ဝင်းဒိုး ၁ ခုတွင်သာ ဖွင့်နိုင်သည်"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ဖွင့်"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ပိတ်"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ပိတ်"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ပိတ်"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ဖွင့်"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ပိတ်"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ဖွင့်"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ပိတ်"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ဖန်သားပြင်ကို အလင်းမှ အမှောင်နှင့် အမှောင်မှ အလင်း ပြောင်းနိုင်သည်"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"စခရင်ပေါ်တွင် ဇူးမ်ဆွဲရန်"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ပိတ်"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ပိတ်"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"လှည့်ဖြားသည့် အက်ပ်များကို စကင်ဖတ်ခြင်း"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"အယောင်ဆောင် ဖြားယောင်းခြင်းအတွက် အက်ပ်အသုံးပြုမှုကို စစ်ဆေးရန်"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"စကင်ဖတ်ခြင်းဖြင့် လှည့်စားတတ်သော အက်ပ်များ ရှာရန်"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"စကင်ဖတ်ခြင်းဖြင့် လှည့်စားတတ်သော အက်ပ်များ အလုပ်ပရိုဖိုင်အတွက် ရှာရန်"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"စကားဝှက်ကို ယခု သတ်မှတ်ပြီးပြီ"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"မောက်စ်တင်ထားစဉ် ညွှန်တံပြရန်"</string>
 </resources>
diff --git a/res/values-nb/arrays.xml b/res/values-nb/arrays.xml
index 8e35bb7..8ad9385 100644
--- a/res/values-nb/arrays.xml
+++ b/res/values-nb/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Tilgjengelig"</item>
     <item msgid="6096962300722555553">"Utenfor rekkevidde"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Bruk systemstandarden: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Etter 1 minutt"</item>
     <item msgid="1574040255478150028">"Etter 5 minutter"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-nb/strings.xml b/res/values-nb/strings.xml
index 53f2285..8416ce9 100644
--- a/res/values-nb/strings.xml
+++ b/res/values-nb/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Du er nå utvikler!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Det trengs ikke, du er allerede utvikler."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Slå på utvikleralternativer først."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Bare administratorbrukerne kan bruke utviklerinnstillinger."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Fungerer som normalt"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ute av drift"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Den ytre skjermen slås på når du legger sammen enheten"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Bare spill, videoer med mer"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Den ytre skjermen slås på for apper som hindrer skjermen fra å bli inaktiv"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Sveip opp for å fortsette"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Legg sammen telefonen, og sveip opp på den ytre skjermen for å fortsette å bruke appen – eller vent i noen sekunder til skjermen låses"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Aldri"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Den ytre skjermen låses når du legger sammen enheten"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Bruk automatisk rotasjon"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relaterte"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringelyd og alarmer"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Lyd i samtaler"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Medier"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Varsler og andre systemlyder"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Medie- og systemlyder"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Varsler"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Som standard blir lydutgangen valgt av enkeltapper"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Bluetooth-enhet uten navn"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Søker"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Avbryt"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Slå av Bluetooth LE-lyd"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Slår av Bluetooth LE-lydfunksjonen hvis enheten støtter maskinvarefunksjoner for LE-lyd."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE-lydmodus"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Vis LE-lyd-av/på-bryter i Enhetsdetaljer"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Slå på tillatelseslisten for Bluetooth LE-lyd"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Slå på funksjonen for tillatelseslisten for Bluetooth LE-lyd."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omgå godkjenningsliste for Bluetooth LE-lyd"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Bruk LE-lyd som standard, selv om det ikke er bekreftet at den eksterne LE-lydenheten overholder kriteriene for godkjenningslisten."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medieenheter"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Ringeenheter"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andre enheter"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Lagrede enheter"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Tilknyttet kontoen"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Tidligere brukt med kontoen"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth slås på for å koble til"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Tilkoblingsvalg"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Tidligere tilkoblet"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth er på"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Se alle"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Se alle"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pekepenn"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Trykk på bakre knapp"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (jobbprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skriv i tekstfelt"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorer alle knappetrykk på pekepennen"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pekepenn"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Lyddeling"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Del lyd"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Anrop og alarmer"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Koble til en lydstrøm med en QR-kode"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Ingen lydstrømmer ble funnet i nærheten."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Dato og klokkeslett"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy-tjener"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Tøm"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Vil du legge til %s i foretrukne språk?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Dette forteller apper og nettsteder at du også foretrekker dette språket."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Enhets- og regionsinnstillingene endres."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Endre"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s er ikke tilgjengelig"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"lørdag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Apper som ikke støtter regionsinnstillinger, bruker sine egne standardinnstillinger for lokalitet."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Finn ut mer om språkinnstillinger."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Flere innstillinger"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Omtalebegrep"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Angi hvordan du vil bli omtalt"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apper kan bruke omtalebegrepene til å tilpasse hvordan de omtaler deg."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Ikke angitt"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maskulin"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Nøytral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Vil du fjerne det valgte språket?}other{Vil du fjerne de valgte språkene?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Da vises tekst på et annet språk."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Du kan ikke fjerne alle språkene"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Posisjon"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Bruk posisjon"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Av"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{På – # app har tilgang til posisjon}other{På – # apper har tilgang til posisjon}}"</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_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="5329024810729665156">"Finn ut mer om posisjonsinnstillinger"</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="3574930966097093550">"Endre posisjonstilgang i Innstillinger &gt; Sikkerhet og personvern &gt; Personverninnstillinger"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Kontoer"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Sikkerhet"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Kryptering og legitimasjon"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Du får best resultater ved å bruke en skjermbeskytter som er Made For Google-sertifisert. Fingeravtrykket til barnet ditt fungerer muligens ikke med andre skjermbeskyttere."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Klokkelås"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Når du konfigurerer ansiktslås og opplåsing med fingeravtrykk, blir du bedt om å bruke fingeravtrykk når du har på deg munnbind eller er i områder med lite lys.\n\nDu kan låse opp enheten med klokken når ansiktet eller fingeravtrykket ditt ikke gjenkjennes."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Du kan låse opp enheten med klokken når fingeravtrykket ditt ikke gjenkjennes."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Du kan låse opp enheten med klokken når ansiktet ditt ikke gjenkjennes."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Når du konfigurerer ansiktslås og opplåsing med fingeravtrykk, blir du bedt om å bruke fingeravtrykk på telefonen når du har på deg munnbind eller er i områder med lite lys.\n\nKlokkelåsen er en annen praktisk løsning for å låse opp telefonen – for eksempel når du har våte fingre eller ansiktet ditt ikke gjenkjennes"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Klokkelåsen er en annen praktisk løsning for å låse opp telefonen – for eksempel når fingeravtrykket ditt ikke gjenkjennes."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Klokkelåsen er en annen praktisk løsning for å låse opp telefonen – for eksempel når ansiktet ditt ikke gjenkjennes."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Bruk fingeravtrykk eller klokke til å"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Bruk ansikt eller klokke til å"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Bruk ansikt, fingeravtrykk eller klokke til å"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Klokkelåsen er en annen praktisk løsning for å låse opp denne telefonen – for eksempel når du har våte fingre eller ansiktet ditt ikke gjenkjennes.\n\nDu kan låse opp telefonen med klokken når du"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ikke nå"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Fortsett"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Slik fungerer det"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Klokken må være låst opp, på håndleddet ditt og innenfor rekkevidde for denne telefonen. Du trenger ikke å låse opp klokken igjen så lenge du har den på håndleddet."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Når denne telefonen låses opp, varsles du på klokken. Hvis telefonen låses opp ved et uhell, kan du trykke på varselet for å låse den igjen."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Du har kontrollen"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Du kan fjerne klokken fra klokkelåsen når som helst i innstillingene"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"trykker på et varsel"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"sveiper opp på låseskjermen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Velg klokken din"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Tilgjengelige klokker"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Avbryt"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Bekreft"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Det var det!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Nå kan du låse opp denne telefonen med klokken når du sveiper opp på låseskjermen eller trykker på et varsel"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Ferdig"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Klokkelås"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Du kan låse opp denne telefonen med klokken når du sveiper opp på låseskjermen eller trykker på et varsel"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"For å bruke klokkelåsen må klokken være låst opp, på håndleddet ditt, innenfor rekkevidde og koblet til denne telefonen. Hvis tilkoblingen blir brutt, må du låse opp telefonen før du kan bruke klokkelåsen.\n\nHusk:\nDu kan bare ha én klokke konfigurert om gangen. Du må fjerne den aktive klokken før du kan legge til en ny."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Sikkerhet"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Personvern"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Jobbprofil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privat område"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Hold private apper låst og skjult"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Hold private apper i et eget område du kan skjule eller låse"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Lås for det private området"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Du kan låse opp det private området på samme måte som enheten, eller du kan velge en annen lås"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Bruk skjermlåsen for enheten"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Opplåsing med ansikt og fingeravtrykk"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Opplåsing med fingeravtrykk"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Ansiktslås"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Trykk for å konfigurere"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Opplåsing med fingeravtrykk for det private området"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Ansiktslås for det private området"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Måter å låse opp på"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Den samme som skjermlåsen for enheten"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Vil du velge en ny lås for det private området?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lås det private området automatisk"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Du kan låse det private området ditt automatisk hvis du ikke har brukt enheten i et tidsrom."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Hver gang enheten låses"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Etter 5 minutter uten aktivitet"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Aldri"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Skjul når låst"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Skjul det private området når det er låst"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"For å unngå at andre ser at du har et privat område på enheten, kan du skjule det i applisten"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Gå til det private området når det er skjult"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Fra applisten skriver du inn «privat område» i søkefeltet"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Trykk på privat område-brikken"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Lås opp det private området"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Av"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"På"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Slett privat område"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Vil du slette det private området?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Det private området ditt blir fjernet fra enheten. Alle private apper og data slettes. Denne handlingen kan ikke angres."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"De følgende kontoene blir fjernet fra det private området ditt:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Slett"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Sletter det private området …"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Dette tar en liten stund"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Det private området er slettet"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Kunne ikke slette det private området"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Det private området er låst opp"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Konfigurer en skjermlås"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"For å bruke det private området, angi en skjermlås på enheten"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Konfigurer en skjermlås"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Avbryt"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Avbryt"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Konfigurer"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Konfigurer et privat område"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Hold private apper i et eget område du kan skjule eller låse"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Slik fungerer det"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Du kan gå til det private området fra bunnen av applisten"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apper i det private området er beskyttet med en lås"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Varsler fra apper i det private området er skjult når det er låst"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apper i det private området vises ikke i tillatelseskontrollen, personvernoversikten eller i andre innstillinger når det private området er låst.\n\nDet private området kan ikke flyttes til andre enheter. Hvis du vil bruke det private området på en annen enhet, må du konfigurere et nytt.\n\nHvis noen kobler enheten din til en datamaskin eller installerer skadelige apper på enheten, kan de kanskje åpne det private området ditt."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfigurerer det private området …"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Varsler fra apper i det private området er skjult når det er låst"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Lås opp det private området for å dele bilder eller filer"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Noen apper er installert i det private området allerede"</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_lockscreen_title" msgid="6034864097861137509">"Vil du låse opp det private området med skjermlås?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Du kan låse opp det private området på samme måte som enheten, eller du kan velge en annen lås"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Bruk skjermlåsen"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Velg en ny lås"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Alt er klart!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"For å finne det private området, gå til applisten og rull nedover"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Ferdig"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Rull ned for å finne det private området"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Logg på"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Logg på en konto som skal brukes med det private området ditt"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ikke nå"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Fortsett"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Velg en lås for det private området"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Du kan låse opp det private området med fingeravtrykket. Av sikkerhetsgrunner krever dette alternativet en reservelås."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Angi en PIN-kode for det private området"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Angi et passord for det private området"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Angi et mønster for det private området"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Du kan legge til opptil <xliff:g id="COUNT">%d</xliff:g> fingeravtrykk"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du har lagt til maksimalt antall fingeravtrykk"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Kan ikke legge til flere fingeravtrykk"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mønster"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-kode"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Passord"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vil du slette skjermlåsen?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Vil du fjerne alle typer enhetsopplåsing?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Vil du fjerne profilbeskyttelsen?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Et mønster beskytter telefonen hvis den blir mistet eller stjålet"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Et mønster beskytter telefonen hvis den blir mistet eller stjålet.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Dette sletter fingeravtrykkmodellen som er lagret på enheten. Ansiktsmodellen blir også slettet permanent og sikkert. Da kan du ikke bruke ansiktet eller fingeravtrykket til autentisering i apper."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"En PIN-kode beskytter telefonen hvis den blir mistet eller stjålet"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Du mister lagrede data, for eksempel PIN-koden din.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som er konfigurert for kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lommebøker og andre apper som krever enhetsopplåsing, fungerer kanskje ikke som de skal."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"En PIN-kode beskytter telefonen hvis den blir mistet eller stjålet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dette sletter også fingeravtrykkmodellen som er lagret på enheten. Da kan du ikke bruke fingeravtrykket til autentisering i apper."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Du mister lagrede data, for eksempel PIN-koden og fingeravtrykksmodellen din.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som er konfigurert for kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lommebøker og andre apper som krever enhetsopplåsing, fungerer kanskje ikke som de skal."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"En PIN-kode beskytter telefonen hvis den blir mistet eller stjålet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ansiktsmodellen blir også slettet permanent og sikkert. Du kan ikke bruke ansiktet til autentisering i apper."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Du mister lagrede data, for eksempel PIN-koden og ansiktsmodellen din.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som er konfigurert for kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lommebøker og andre apper som krever enhetsopplåsing, fungerer kanskje ikke som de skal."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"En PIN-kode beskytter telefonen hvis den blir mistet eller stjålet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dette sletter fingeravtrykkmodellen som er lagret på enheten. Ansiktsmodellen blir også slettet permanent og sikkert. Da kan du ikke bruke ansiktet eller fingeravtrykket til autentisering i apper."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Du mister lagrede data, for eksempel PIN-koden og ansikts- og fingeravtrykksmodellen din.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som er konfigurert for kontaktløs betaling, fjernes.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Lommebøker og andre apper som krever enhetsopplåsing, fungerer kanskje ikke som de skal."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Et passord beskytter telefonen hvis den blir mistet eller stjålet"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Et passord beskytter telefonen hvis den blir mistet eller stjålet.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Vil du koble til <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Legg til et nytt medlem i det eksisterende koordinerte settet"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Bekreft for å legge til den andre delen av lydenheten"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-sammenkoblingskode"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Skriv inn sammenkoblingskoden og trykk på Return eller Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Personlig kode inneholder bokstaver eller symboler"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Må bestå av 16 siffer"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Det er mulig at du må skrive inn denne PIN-koden også på den andre enheten."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Det er mulig at du må oppgi dette passordet også på den andre enheten."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Bekreft for å koble til det koordinerte settet"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Bekreft for å koble sammen med lydenheten"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Gi tilgang til kontakter og anropslogg"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Gi også tilgang til kontakter og anropsloggen"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informasjonen brukes for anropskunngjøringer med mer"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Kunne ikke koble til <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Tilgjengelige enheter"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Koble til"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Koble fra"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Koble sammen"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Når Bluetooth er slått på, kan enheten kommunisere med andre Bluetooth-enheter i nærheten."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Når Bluetooth er på, kan enheten kommunisere med andre Bluetooth-enheter i nærheten"</string>
     <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_scan_change" msgid="1744636222637390367">"Endre"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Enhetsdetaljer"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Tillat at ART bekrefter bytekode for feilsøkbare apper"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Vis oppdateringsfrekvens"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Vis skjermens nåværende oppdateringsfrekvens"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Vis HDR/SDR-forhold"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Vis det gjeldende HDR/SDR-forholdet"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Krev opplåst enhet for NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"I flymodus"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Varsle om offentlige nettverk"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Varsle når et offentlig nettverk av høy kvalitet er tilgjengelig"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Tillat WEP-nettverk"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP er en eldre sikkerhetsprotokoll som er mindre sikker"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operatøren din tillater ikke WEP-nettverk fordi de er mindre sikre"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Slå på wifi automatisk"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wifi slås på igjen i nærheten av lagrede nettverk av høy kvalitet, for eksempel hjemmenettverket ditt"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Utilgjengelig fordi Posisjon er slått av. Slå på "<annotation id="link">"Posisjon"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Med wifi-skanning kan apper og tjenester søke etter enheter i nærheten når som helst, selv når Wifi er slått av. Dette kan for eksempel brukes til å forbedre posisjonsbaserte funksjoner og tjenester."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Slå på"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wifi-skanning er slått på"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Dette nettverket bruker en eldre sikkerhetsprotokoll som er mindre sikker"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> er blokkert"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Dette nettverket bruker en eldre sikkerhetsprotokoll som heter WEP, og som er mindre sikker. Hvis du vil koble til likevel, kan du tillate WEP-nettverk."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operatøren din tillater ikke at du kobler til dette nettverket, fordi det bruker en eldre sikkerhetsprotokoll som er mindre sikker"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Tillat WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Lukk"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Avanserte alternativer"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rullegardinliste med avanserte alternativer"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"vis"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Bli værende på Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ikke vis igjen"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Koble til"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi er slått på"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Koblet til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Kobler til <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Kobler til …"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Kan ikke koble til nettverket"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Nettverket er ikke innen rekkevidde"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Glem"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Endre"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Kunne ikke slette nettverket"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Lagre"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Kunne ikke lagre nettverket"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Avbryt"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wifi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobildata"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – lader"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – lader"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Tilkobling til wifi-sone"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Tilkoblingsstyrke"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Lagrede nettverk"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Ingen passord er angitt"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Navn på wifi-sone"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Passord for wifi-sone"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP-bånd"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Slå av wifi-sone automatisk"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Når ingen enheter er tilkoblet"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Utvid kompatibilitet"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Vis hvitbalanse"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Fortsett å bruke apper etter sammenlegging"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Øker oppdateringsfrekvensen automatisk fra 60 til <xliff:g id="ID_1">%1$s</xliff:g> Hz for noe innhold. Øker batteribruken."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Slå av standard bildefrekvens"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Slå av begrensningen for den maksimale bildefrekvensen for spill på <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Øker oppdateringsfrekvensen automatisk til <xliff:g id="ID_1">%1$d</xliff:g> Hz for noe innhold. Dette øker batteribruken."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Maks oppdateringsfrekvens"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Maksimal oppdateringsfrekvens for bedre trykkfølsomhet og animasjonskvalitet. Øker batteribruken."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Skjermoppmerksomhet"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Skjermoppmerksomhet bruker frontkameraet til å se om noen ser på skjermen. Funksjonen utføres på enheten, og bilder blir aldri lagret eller sendt til Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Slå på skjermoppmerksomhet"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Hold skjermen på når du ser på den"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Lengre tid før automatisk skjermlås fører til høyere batteriforbruk."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera er låst"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera må låses opp for ansiktsgjenkjenning"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kameraet må låses opp for skjermoppmerksomhet"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM-kortspor <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM-kortspor <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primær)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"For å se, velg lagret nettverk"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-versjon"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Batterinivå"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Felles"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Fellesinnstillinger"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellittmeldinger"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Rediger tilgangspunkt"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Legg til tilgangspunkt"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ikke angitt"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ikke angitt"</string>
     <string name="apn_name" msgid="6677695784108157953">"Navn"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN er på"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN er av"</string>
     <string name="bearer" msgid="3231443241639159358">"Bærer"</string>
+    <string name="network_type" msgid="748590707422733595">"Nettverkstype"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Uspesifisert"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-verdi"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Slett APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Lagre"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Avbryt"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplisert APN-oppføring."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Navnefeltet kan ikke være tomt."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN kan ikke være tomt."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-feltet må bestå av tre siffer."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-feltet må bestå av to eller tre siffer."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operatøren tillater ikke å legge til APN-er av typen %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-feltet må være gyldig."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Gjenoppretter standard APN-innstillinger."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Tilbakestill til standardvalg"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Tilbakestilling av standard APN-innstillinger er fullført."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Tilbakestill"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth og wifi er tilbakestilt"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Slett eSIM-kort"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Dette fører ikke til at du sier opp noen mobilabonnementer. Kontakt operatøren din for å laste ned erstatnings-SIM-kort."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Dette sier ikke opp mobilabonnementet ditt. Kontakt operatøren din for å få et nytt SIM-kort."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Tilbakestill innstillingene"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Vil du tilbakestille alle nettverksinnstillingene? Denne handlingen kan ikke angres."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vil du tilbakestille alle nettverksinnstillinger og slette eSIM-kortene? Denne handlingen kan ikke angres."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Vil du tilbakestille?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Tilbakestilling av nettverket er ikke tilgjengelig for denne brukeren"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Nettverksinnstillingene er tilbakestilt"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Kan ikke slette SIM-kort"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-kort kan ikke slettes, på grunn av en feil.\n\nStart enheten på nytt og prøv igjen."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Kan ikke slette eSIM-kort"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Noe gikk galt, og eSIM-kortene dine ble ikke slettet.\n\nStart enheten på nytt, og prøv igjen."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Slett alle data (tilbakestill til fabrikkstandard)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Slett alle data (tilbakestill)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"musikk"</li>\n<li>"bilder"</li>\n<li>"andre brukerdata"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-kort"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Dette sier ikke opp mobilabonnementet ditt."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Alle personopplysningene dine og appene du har lastet ned, blir slettet. Denne handlingen kan ikke angres."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Alle personopplysningene dine, inkludert nedlastede apper og SIM-kort, blir slettet. Denne handlingen kan ikke angres."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Alle personopplysningene dine, inkludert nedlastede apper og eSIM-kort, blir slettet. Denne handlingen kan ikke angres."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vil du slette alle dataene?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Tilbakestilling til fabrikkstandard er ikke tilgjengelig for denne brukeren"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Tømmer"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Wifi-sone, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Deler ikke internett med andre enheter"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Av"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Internettdeling"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ikke bruk wifi-sone"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Bare del internett via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Bare del internett via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Bare del internett via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Bare del internett via USB og Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Bare del internett via USB og Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Bare del internett via Bluetooth og Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Bare del internett via USB, Bluetooth og Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-internettdeling"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-internettdeling"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-internettdeling"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Bruk wifi-sone og internettdeling for å gi andre enheter tilgang til internett via mobildataforbindelsen din. Apper kan også opprette en wifi-sone for å dele innhold med enheter i nærheten."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hjelp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilnettverk"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilabonnement"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS-app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vil du bytte SMS-app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Vil du bruke <xliff:g id="NEW_APP">%1$s</xliff:g> i stedet for <xliff:g id="CURRENT_APP">%2$s</xliff:g> for SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Vil du endre wifi-assistent?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Vil du bruke <xliff:g id="NEW_APP">%1$s</xliff:g> i stedet for <xliff:g id="CURRENT_APP">%2$s</xliff:g> til å administrere nettverkstilkoblingene?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Vil du bruke <xliff:g id="NEW_APP">%s</xliff:g> til å administrere nettverkstilkoblingene?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Ukjent SIM-operatør"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> mangler kjent nettsted for identitetshåndtering"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Sett inn SIM-kortet og start enheten på nytt"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Koble deg til Internett"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nylige posisjonsforespørsler"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Sted for jobbprofil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Apper med posisjonstillatelse"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Fjern tilgang"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontroller"</string>
     <string name="force_stop" msgid="2681771622136916280">"Tving avslutning"</string>
+    <string name="archive" msgid="9074663845068632127">"Arkivér"</string>
+    <string name="restore" msgid="7622486640713967157">"Gjenopprett"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Gjenoppretter"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Gjenoppretter."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Gjenoppretter …"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Gjenoppretter …"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Totalt"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Appstørrelse"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB-lagring for app"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Kunne ikke beregne pakkestørrelsen."</string>
     <string name="version_text" msgid="7628938665256107608">"versjon <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Flytt"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Kunne ikke arkivere"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arkiverte <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Gjenopprettingen mislyktes"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Gjenoppretter <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"En annen overføring pågår allerede."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ikke nok lagringsplass."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Appen eksisterer ikke."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tilgjengelig skjermtastatur"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Administrer skjermtastaturer"</string>
     <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="6922850403920596246">"Slå på filtertaster for tilgjengelighet med fysisk tastatur"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Trege taster"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Slå på trege taster for tilgjengelighet med fysisk tastatur"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Trege taster"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Slå på trege taster for tilgjengelighet med fysisk tastatur"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Trykk nederst til høyre på styreflaten for alternativer"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Pekerhastighet"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Lær styreflatebevegelser"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Gå til startsiden"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Sveip opp med tre fingre hvor som helst på styreflaten"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Gå tilbake"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sorter etter brukstid"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sorter etter sist brukt"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sorter etter appnavn"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Sist brukt"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Sist brukt"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"aldri"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Brukstid"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Tilgjengelighet"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Tilgjengelighetsinnstillinger"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Forstørr med trippeltrykk"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Forstørr med snarvei"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Forstørr med snarvei og trippeltrykk"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Bruk Tilgjengelighet-knappen for å åpne"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Hold volumtastene for å åpne"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Trippeltrykk på skjermen for å åpne"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Dobbelttrykk på skjermen med to fingre for å åpne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Bruk bevegelse for å åpne"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Bruk tilgjengelighetsbevegelse"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"For å bruke denne funksjonen må du trykke på Tilgjengelighet-knappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> nederst på skjermen.\n\nFor å bytte mellom funksjoner, trykk og hold på Tilgjengelighet-knappen."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"For å bruke denne funksjonen, trykk på Tilgjengelighet-knappen på skjermen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"For å bruke denne funksjonen, trykk og hold inne begge volumtastene."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"For å starte og stoppe forstørrelse, trippeltrykk hvor som helst på skjermen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"For å starte og stoppe forstørring, dobbelttrykk hvor som helst på skjermen med to fingre."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"For å bruke denne funksjonen, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"For å bruke denne funksjonen, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"For å bruke en tilgjengelighetsfunksjon, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"For å bruke en tilgjengelighetsfunksjon, 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_tutorial_dialog_button" msgid="2031773187678948436">"Greit"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Innstillinger for knappen"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Knappeinnstillinger"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>-snarvei"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Tilgjengelighet-knapp"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Tilgjengelighetsbevegelse"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Hold inne volumtastene"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"hold inne volumtastene"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dobbelttrykk på skjermen med to 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="6863958573135995927">"trippeltrykk på skjermen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Finn ut mer om Tilgjengelighet-knappen og -bevegelsen"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Bruk av Tilgjengelighet-knappen. Bevegelsen er ikke tilgjengelig med navigasjon med tre knapper."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Rask tilgang til tilgjengelighetsfunksjoner"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Slik kommer du i gang"</b>\n"1. Gå til tilgjengelighetsinnstillingene.\n2. Velg en funksjon og trykk på snarveien.\n3. Velg om du vil bruke en knapp eller bevegelse for å åpne funksjonen."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Slik kommer du i gang"</b>\n"1. Gå til tilgjengelighetsinnstillingene.\n2. Velg en funksjon og trykk på snarveien.\n3. Velg knappen du vil bruke for å åpne funksjonen."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Slik kommer du i gang&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gå til tilgjengelighetsinnstillinger.&lt;br/&gt; {1,number,integer}. Velg en funksjon og trykk på snarveien.&lt;br/&gt; {2,number,integer}. Velg om du vil bruke en knapp eller bevegelse for å bruke funksjonen.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Slik kommer du i gang&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Gå til tilgjengelighetsinnstillinger.&lt;br/&gt; {1,number,integer}. Velg en funksjon og trykk på snarveien.&lt;br/&gt; {2,number,integer}. Velg knappen du vil bruke for funksjonen.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Bruk knapp eller bevegelse"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Posisjon"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Størrelse"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Legg på med av/på-knappen"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Stor musepeker"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Gjør musepekeren mer synlig"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Gjør alle apper mørke"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gjelder for apper uten eget mørkt tema. Noen apper kan ha visningsproblemer – som inverterte farger."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Fjern animasjoner"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduser bevegelse på skjermen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monolyd"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Bruk vibrering og fysisk tilbakemelding"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarmvibrering"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Medievibrering"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Tastaturvibrering"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ringevibrering"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Varselvibrering"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Tilbakemelding ved berøring"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stopp"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Avbryt"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Vil du stoppe <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Hvis du trykker på <xliff:g id="STOP">%1$s</xliff:g>, stoppes <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Slå av"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"La være på"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vil du slå av <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ingen tjenester er installert"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ingen tjeneste er valgt"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Beskrivelse ble ikke oppgitt."</string>
     <string name="settings_button" msgid="2195468788019730377">"Innstillinger"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"lyssensitivitet, fotofobi, mørkt tema, migrene, hodepine, lesemodus, nattmodus, reduser lysstyrke, hvitpunkt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Brukervennlighet, enkel tilgang, assistanse, assisterende"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"syn, hørsel, blind, døv, motorikk, førlighet, assisterende, assistanse, brukervennlighet, tilgjengelighet, hånd, hjelp"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Vindusforstørrer, zoom, forstørring, nedsatt synsevne, forstørr, gjør større"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Teksting, teksting for hørselshemmede, CC, Transkribering, hørselshemmet, hørselstap, CART, tale til tekst, undertekst"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"fargekontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mus"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"høreapparater, hørselshemmet, hørselstap, cochlea-implantater, enheter for lydforsterkning, lydbehandlere"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorikk, mus, ekstern mus, hodemus, adaptiv mus, rullestol, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"høreapparater, hørselshemmet, hørselstap, cochlea-implantater, enheter for lydforsterkning, lydbehandlere, nødsentral"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hørselshemmet, hørselstap, teksting, fjernskriver, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tre knapper"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"førlighet, motorikk, eldre, artritt, musesyke, slag, risting, multippel sklerose, cerebral parese, skjelving, hånd"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"forsinkelse, førlighet, eldre"</string>
     <string name="print_settings" msgid="8519810615863882491">"Utskrift"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Av"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 utskriftstjeneste er på}other{# utskriftstjenester er på}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> gjenstår"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Batteriet er fulladet om <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tid på skjermen"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tid i bakgrunnen"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Lavt batteri"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"La appen kjøre i bakgrunnen"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Vil du begrense bakgrunnsaktivitet?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Hvis du begrenser bakgrunnsaktivitet for en app, kan det oppstå problemer"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Du kan ikke begrense appen siden den ikke er satt til å optimalisere batteriet.\n\nFor å begrense appen, slå på batterioptimalisering."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Administrer batteribruk"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Tillat bruk i bakgrunnen"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Slå på for å få oppdateringer i sanntid, slå av for å spare batteri"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Ubegrenset"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalisert"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Begrenset"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Se appene med høyest batteribruk"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Ladingen er optimalisert for å beskytte batteriet"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"For å forlenge batteriets levetid er ladingen optimalisert"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Ladingen er optimalisert for å beskytte batteriet"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"For å forlenge brukstiden for batteriet er ladingen optimalisert i dokken"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Ladingen er optimalisert for å beskytte batteriet"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"For å forlenge batteriets brukstid optimaliseres ladingen i dokken"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Lader batteriet helt opp"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"For å beskytte batteriet optimaliseres ladingen neste gang nettbrettet er i dokken"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Finn ut mer om lading satt på pause"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Gjenoppta ladingen"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inkluderer bakgrunnsaktivitet med høyt strømforbruk"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Denne appen kan bruke batteri i bakgrunnen. Batteriet kan gå tomt raskere enn forventet."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Fjern"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Avbryt"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Lad til batteriet er fullt"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem med ladetilbehøret"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Sjekk ladetilbehøret"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Finn ut mer om inkompatibel lading"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batteristyring"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Administrer apper automatisk"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"siden sist batteriet var fulladet"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Systemapper"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Avinstallerte apper"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Annet"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Anslått tid som er igjen"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Til det er fulladet"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Totalt: mindre enn ett minutt"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Bakgrunn: mindre enn ett minutt"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Skjermtid: mindre enn ett minutt"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Under ett minutt"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Totalt: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Bakgrunn: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Skjermtid: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"nå"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Diagram over batteribruk"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagram over batteribruk per dag"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagram over batteribruk per time"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Batterinivåprosent fra <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> til <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Batteribruk siden sist batteriet var fulladet"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Batteribruk for <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Skjermtid siden sist batteriet var fulladet"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ringesignal for nødssituasjoner"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Velg oppførsel når en nødsamtale opprettes"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sikkerhetskopiering"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"På"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Av"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sikkerhetskopier og gjenopprett"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personlige data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sikkerhetskopiér data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobildata og wifi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autosynkroniser persondata"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autosynkroniser jobbdata"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Autosynkroniser private data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Endre syklus …"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dag i måneden for å tilbakestille databruksyklusen:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ingen apper brukte data i denne perioden."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Navn"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Tjeneradresse"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-kryptering (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-passord"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifikator"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Forhåndsdelt nøkkel for IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Brukersertifikat for IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-sertifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Tjenersertifikat for IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Vis avanserte alternativer"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-søkedomener"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-tjenere (f.eks. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Ruter for videresending (f.eks. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Brukernavn"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Passord"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Lagre kontoinformasjon"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ikke brukt)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ikke bekreft tjener)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(mottatt fra tjeneren)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Denne VPN-typen kan ikke være tilkoblet hele tiden"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Alltid på-VPN støtter bare numeriske tjeneradresser"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"En DNS-tjener må spesifiseres for alltid på-VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-tjeneradressen må være numerisk for alltid på-VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informasjonen som er angitt, støtter ikke alltid-på-VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Avbryt"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Fjern"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokkér tilkoblinger uten VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vil du kreve VPN-tilkobling?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ikke sikker. Oppdater til IKEv2-VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Kunne ikke starte et VPN som ikke støttes."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Velg en VPN-profil du vil forbli tilkoblet til. Nettverkstrafikk blir bare tillatt når du er tilkoblet denne VPN-en."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ingen"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Alltid på-VPN krever en IP-adresse for både tjener og DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER Alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Motta nyhetsbrev om barnebortføringer"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Gjenta"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktiver anropsbehandling"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Tillat denne tjenesten å styre hvilken anropsmåte som brukes."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Anropsbehandling"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Trådløse nødvarsler"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Nettverksoperatører"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Navn på tilgangspunkt"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM-status"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-kortstatus (SIM-kortspor %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-kort er endret."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-kortene dine er endret"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Trykk for å konfigurere"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Spør hver gang"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Du må velge en SIM-innstilling"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nylige apper, standardapper"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Tilgang til varsler er ikke tilgjengelig for apper i jobbprofilen."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Passord og kontoer"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Lagrede passord, autofyll, synkroniserte kontoer"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Forslag for pålogging og autofyll"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Standardapper"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonede apper"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Opprett en ny forekomst av en app, slik at du kan bruke to kontoer samtidig."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betal, trykk på, betalinger"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sikkerhetskopi, sikkerhetskopiér"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"bevegelse"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ansikt, lås opp, autentisering, pålogging"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ansikt, lås opp, autentisering, pålogging, fingeravtrykk, biometri"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-versjon, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tekststørrelse, stor skrift, stor skrifttype, stor tekst, nedsatt synsevne, gjør tekst større, tekstforstørrer, forstørring av tekst"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"skjermsparer som alltid er på, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, brikke, leser"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastatur, haptisk teknologi, vibrer,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, vibrasjon, ikke forstyrr"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medievolum"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Castevolum"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Lyder ved oppstart"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Direkteteksting"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatisk medieteksting"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefonhøyttalere"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Nettbretthøyttalere"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Enhetshøyttalere"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Hodetelefoner med ledning"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Lyd fra kompatible medier blir mer omsluttende"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Av"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Vis alt innhold i varsler"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Bare vis sensitivt innhold når enheten er låst opp"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ikke vis varsler i det hele tatt"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hvordan vil du vise låseskjermen?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Hva vil du vise på låseskjermen?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Låseskjerm"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Vis alt innhold i jobbvarsler"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skjul sensitivt jobbinnhold"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nylige samtaler er fjernet"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Samtalen er fjernet"</string>
     <string name="clear" msgid="5092178335409471100">"Fjern"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Fjern <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioriterte og endrede samtaler vises her"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Når du merker samtaler som prioritert eller endrer samtaler på andre måter, vises de her. \n\nSlik endrer du samtaleinnstillinger: \nSveip ned fra toppen av skjermen for å åpne nedtrekkspanelet, og trykk og hold på en samtale."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimer"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Nedkjøling for varsler"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Bruk nedkjøling for alle varsler"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Reduserer varselsvolumet gradvis når du får for mange varsler etter hverandre fra samme app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Bruk nedkjøling for samtaler"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Reduserer varselsvolumet gradvis når du får for mange meldinger fra samme chat i løpet av en kort tidsperiode"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ikke bruk nedkjøling for varsler"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Aldri reduser varselsvolumet – uavhengig av hvor mange varsler som kommer etter hverandre fra samme app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrer når låst opp"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Bare vibrer når skjermen er låst opp"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Bruk for jobbprofiler"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Bruk innstillingene for nedkjøling av varsler fra den personlige profilen for jobbprofilen"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Hjelpetjenester for VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ingen av de installerte appene har bedt om å bli kjørt som hjelpetjeneste for VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Vil du tillate tjenestetilgang for VR for <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Av"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Festing av apper"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Med festing av apper kan du holde den aktive appen synlig til du løsner den. Denne funksjonen kan for eksempel brukes til å la en venn du stoler på, spille et bestemt spill."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Når en app er festet, kan den åpne andre apper, og personlige data kan være tilgjengelige. \n\nSlik bruker du festing av apper: 	\n1. Slå på festing av apper. 	\n2. Åpne Oversikt. 	\n3. Trykk på appikonet øverst på skjermen, og trykk på Fest."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Når en app er festet, kan den åpne andre apper, og personlige data kan være tilgjengelige. \n\nBruk en gjestebruker i stedet hvis du vil dele enheten med noen på en sikker måte. \n\nSlik bruker du festing av apper: 	\n1. Slå på festing av apper. 	\n2. Åpne Oversikt. 	\n3. Trykk på appikonet øverst på skjermen, og trykk på Fest."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Når en app er festet, kan den åpne andre apper, og personlige data kan være tilgjengelige. \n\nSlik bruker du festing av apper: 	\n{0,number,integer}. Slå på festing av apper. 	\n{1,number,integer}. Åpne Oversikt. 	\n{2,number,integer}. Trykk på appikonet øverst på skjermen, og trykk på Fest."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Når en app er festet, kan den åpne andre apper, og personlige data kan være tilgjengelige. \n\nBruk en gjestebruker i stedet hvis du vil dele enheten med noen på en sikker måte. \n\nSlik bruker du festing av apper: 	\n{0,number,integer}. Slå på festing av apper. 	\n{1,number,integer}. Åpne Oversikt. 	\n{2,number,integer}. Trykk på appikonet øverst på skjermen, og trykk på Fest."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Når en app er festet \n\n•		kan personlige data være tilgjengelige \n		(f.eks. kontakter og e-postinnhold) \n•		kan den åpne andre apper \n\nBare bruk festing av apper med personer du stoler på."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Krev opplåsingsmønster for å løsne apper"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Krev PIN-kode for å løsne app"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Krev passord for å løsne apper"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lås enheten når apper løsnes"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bekreft sletting av SIM-kort"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Bekreft at du vil slette eSIM-kortet ditt"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Bekreft at du er deg, før du sletter et eSIM-kort"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta, avansert minnebeskyttelse"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Avansert minnebeskyttelse"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Innstillinger for ubrukte apper"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Sett appaktivitet på pause hvis ubrukt"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Fjern tillatelser, slett midlertidige filer, og stopp varsler"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Administrer appen hvis den ikke brukes"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Fjern tillatelser, slett midlertidige filer, stopp varsler, og arkiver appen"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apper"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installerte apper"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant-apper"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Ledig"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Minne brukt av apper"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app har brukt minne i løpet av siste {time}}other{# apper har brukt minne i løpet av siste {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Aktiver profilering av minnebruk"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilering av minnebruk krever flere systemressurser."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Minneprofilering er deaktivert"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekvens"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maks. bruk"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Ingen data er brukt"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Vis over andre apper"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Kan vises over andre apper"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Tillat at denne appen vises over andre apper du bruker. Denne appen kan se hvor du trykker, eller endre det som vises på skjermen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Bytt medieutgang"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"La apper bytte medieutgang"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"La denne appen velge hvilken tilkoblet enhet som skal spille lyd eller video fra andre apper. Hvis dette er tillatt, kan appen åpne en liste over tilgjengelige enheter, for eksempel hodetelefoner og høyttalere og velge hvilken utdataenhet som brukes til å strømme eller caste lyd eller video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Tilgang til alle filer"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Kan administrere alle filer"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Gi denne appen tillatelse til å lese, endre og slette alle filer på denne enheten eller tilkoblede lagringsvolum. Hvis du gir appen denne tillatelsen, kan den få tilgang til filer uten at du er klar over det."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Har tilgang til alle filer"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apper som kan taleaktiveres"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Tillat taleaktivering"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Stemmeaktivering slår på godkjente apper med en stemmekommando. Innebygd adaptiv registrering sikrer at data holdes private bare for deg.\n\n"<a href="">"Mer om beskyttet adaptiv registrering"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Fullskjermvarsler"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Tillat fullskjermvarsler fra denne appen"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"La denne appen vise varsler som fyller hele skjermen, når enheten er låst. Apper kan bruke disse til å fremheve alarmer, innkommende anrop eller andre viktige varsler."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Advarsel for databruk: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> datagrense"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Advarsel for databruk: <xliff:g id="ID_1">^1</xliff:g> brukt, <xliff:g id="ID_2">^2</xliff:g> datagrense"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operatørens måling av databruk samsvarer ikke nødvendigvis med enhetens måling."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Inkluderer ikke data brukt av operatørnettverk"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> er brukt"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Angi varsel om databruk"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Oppdatert for <xliff:g id="ID_1">^2</xliff:g> siden"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Oppdatert av <xliff:g id="ID_1">^1</xliff:g> nå nettopp"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Oppdatert nå nettopp"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Se abonnement"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Se detaljer"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Datasparing"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Ubegrenset datatilgang"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brukte mer batteri enn vanlig da den var i bakgrunnen"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brukte mer batteri da den var i forgrunnen"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> brukte mer batteri enn vanlig da den var i forgrunnen"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Unormal batteribruk"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Høy batteribruk"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Høy batteribruk i bakgrunnen"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Høy batteribruk i forgrunnen"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Hurtiginnstillingsruter for utviklere"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Slå av tidsavbrudd for adb-autorisasjon"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Slå av automatisk opphevelse av adb-autorisasjoner for systemer som ikke har koblet til igjen innen standardtiden (7 dager) eller den brukerkonfigurerte tiden (minimum 1 dag)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-spor"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensorene er av"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Innstillinger for jobbprofilen"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Søk etter kontakter i jobbkatalogen i personlige apper"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"systemnavigasjon, navigasjon med to knapper, navigasjon med tre knapper, navigasjon med bevegelser, sveip"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Sveip for å kalle opp assistenten"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Sveip opp fra et av de nederste hjørnene for å kalle opp den digitale assistenten."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Sveip opp fra et av de nederste hjørnene for å åpne den digitale assistenten"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Hold på hjemknappen for å åpne assistenten"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Trykk og hold inne hjemknappen for å kalle opp den digitale assistenten."</string>
     <string name="low_label" msgid="6525629096999711220">"Lav"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Autofylltjeneste"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Standard autofylltjeneste"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Passord"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Passord, passnøkler og datatjenester"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Andre leverandører"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Foretrukket tjeneste"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Tilleggstjenester"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# passord}other{# passord}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, fyll, autofyll, passord"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, passnøkkel, passord"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fyll, autofyll, data, passnøkkel, passord"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Endre"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Åpne"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ingen er valgt"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Stoler du på denne appen?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google autofyll&gt;%1$s&lt;/xliff:g&gt; bruker det som er på skjermen, til å fastslå hva som kan fylles ut automatisk."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Vil du bruke &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; bruker det som er på skjermen din, til å avgjøre hva som kan autofylles. Nye passord, passnøkler og annen informasjon lagres her fra nå av."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Passord, passnøkler og datatjenester"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Vil du bruke &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fra nå av blir nye passord, nye passnøkler og annen informasjon lagret her. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan bruke det som er på skjermen, for å avgjøre hva som kan fylles ut automatisk."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Foretrukket tjeneste for passord, passnøkler og autofyll"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vil du slå av %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vil du slå av denne tjenesten?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Lagret informasjon som passord, passnøkler, betalingsmåter og andre ting fylles ikke ut når du logger på. For å bruke informasjonen du har lagret, velg et passord, en passnøkkel eller en datatjeneste."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Passord, passnøkler og autofyll"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Vil du slå av alle tjenester?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Passord, passnøkler og annen lagret informasjon kommer ikke til å være tilgjengelig for autofyll når du logger på"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Bytt foretrukket tjeneste til &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fra nå av lagres nye passord, passnøkler og annen informasjon her. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan bruke det som er på skjermen, for å avgjøre hva som kan fylles ut automatisk."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Vil du bruke %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Slå av"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Endre"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Du kan bare ha 5 tjenester på"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Du må slå av minst 1 tjeneste for å legge til en annen"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s bruker det som er på skjermen din, for å avgjøre hva som kan autofylles."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Grense for passord, passnøkler og datatjenester"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Du kan ha opptil 5 passord, passnøkler og datatjenester aktive samtidig. Slå av en tjeneste for å legge til flere."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Grense for passord, passnøkler og datatjenester"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Du kan ha opptil 5 passord, passnøkler og datatjenester aktive samtidig. Slå av en tjeneste for å legge til flere."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Slå av"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autofyll"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Loggføringsnivå"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Endringer av appkompatibilitet kan bare modifiseres for feilsøkbare apper. Installer en feilsøkbar app og prøv igjen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Er avhengig av en annen innstilling"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d kontoer"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Enhetsnavn"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Grunnleggende info"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Juridisk og regelverk"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Tillat at denne appen åpnes når det skannes NFC-brikker.\nHvis denne tillatelsen er på, er appen tilgjengelig som et alternativ hver gang det registreres en brikke."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Spill av på"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Spill av <xliff:g id="LABEL">%s</xliff:g> på"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Lyden spilles av på"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Denne enheten"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Utilgjengelig under samtaler"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Svar på anropet med"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Ignorer"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"For å slå på dette, endre først «Trykk og hold på av/på-knappen» til av/på-menyen."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Nettverksdetaljer"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Enhetsnavnet ditt er synlig for apper på telefonen. 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="devices_title" msgid="649715719278562515">"Enheter"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Velg nettverk"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Frakoblet"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Navn"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Farge (brukes av kompatible apper)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Lagre"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Bruk SIM-kort"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Bruk dette SIM-kortet"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Av"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Fjern dette SIM-kortet for å deaktivere det"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Trykk for å aktivere <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Slett SIM-kort"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"For å slå av dette SIM-kortet, ta ut SIM-kortet"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Trykk for å aktivere SIM-kortet ditt fra <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Slett eSIM-kortet"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Foretrukket nettverkstype"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Bytt nettverksmodus"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Foretrukket nettverkstype"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Sjekk med nettverksleverandøren din for priser."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Databruk av apper"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ugyldig nettverksmodus (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>). Ignorer."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellittmeldinger"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Send og motta tekstmeldinger via satellitt. Inkludert med kontoen din."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Send og motta tekstmeldinger via satellitt. Ikke inkludert med kontoen din."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellittmeldinger"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Om satellittmeldinger"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Du kan sende og motta tekstmeldinger via satellitt som en del av en kvalifisert <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-konto"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>-abonnementet ditt"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellittmeldinger er inkludert med kontoen din"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellittmeldinger er ikke inkludert med kontoen din"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Legg til satellittmeldinger"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Slik fungerer det"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Når du ikke har et mobilnettverk"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefonen kobles automatisk til en satellitt. Du får best tilkobling på steder med åpen himmel."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Når telefonen kobles til en satellitt"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Du kan sende melding til hvem som helst, inkludert nødtjenester. Telefonen kobles til et mobilnettverk igjen når det er tilgjengelig."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellittmeldinger kan ta lengre tid og er bare tilgjengelige i noen områder. Vær og visse bygninger kan påvirke satellittilkoblingen. Ringing via satellitt er ikke tilgjengelig.\n\nDet kan ta litt tid før endringer av kontoen din vises i innstillingene. Kontakt <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for å finne ut mer."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mer om satellittmeldinger"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Navn på tilgangspunkt"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Utilgjengelig når du er koblet til <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vil du bytte til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vil du bytte til å bruke SIM-kort?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Vil du bruke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Bare ett SIM-kort kan være aktivt om gangen.\n\nSelv om du bytter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, blir ikke <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-abonnementet ditt sagt opp."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Bare 1 eSIM-kort kan være aktivt om gangen.\n\nSelv om du bytter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, blir ikke <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-abonnementet ditt sagt opp."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Bare ett SIM-kort kan være aktivt om gangen.\n\nSelv om du bytter, blir ikke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-abonnementet ditt sagt opp."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Bare 1 SIM-kort kan være på om gangen.\n\nSelv om du bytter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, blir ikke <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-abonnementet ditt sagt opp."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Bare 1 eSIM-kort kan være på om gangen.\n\nSelv om du bytter til <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, blir ikke <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>-abonnementet ditt sagt opp."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Bare 1 SIM-kort kan være på om gangen.\n\nSelv om du bytter, blir ikke <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>-abonnementet ditt sagt opp."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Du kan bruke to SIM-kort samtidig. For å bruke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, slå av et annet SIM-kort."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Bytt til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Slå av <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Selv om du slår av et SIM-kort, blir ikke abonnementet ditt sagt opp"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Kobler til nettverket …"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Bytter til <xliff:g id="CARRIER_NAME">%1$s</xliff:g> for anrop og meldinger …"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Kan ikke bytte operatør"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operatøren kan ikke byttes, på grunn av en feil."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiverer SIM-kortet ditt …"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Bytter til <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Kan ikke bytte SIM-kort"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Noe gikk galt. Kan ikke bytte SIM-kort."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vil du slå av <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vil du slå av SIM-kortet?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Slår av SIM-kort <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Kan ikke slå av operatøren"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Noe gikk galt, og enheten kunne ikke slå av operatøren."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Kan ikke slå av SIM-kortet"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Noe gikk galt, og SIM-kortet kunne ikke slås av."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Vil du bruke to SIM-kort?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Denne enheten kan ha to SIM-kort aktive samtidig. For å fortsette å bruke ett SIM-kort om gangen, trykk på «Nei takk»."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Vil du starte enheten på nytt?"</string>
@@ -4358,34 +4579,57 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nei takk"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Avbryt"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Bytt"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Slå av"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kan ikke aktivere SIM-kortet"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Prøv å slå på SIM-kortet igjen. Start enheten på nytt hvis problemet vedvarer."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Konfigurer SIM-kortet"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Angi innstillingene for mobilnettverk for å bruke flere SIM-kort på denne enheten"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Sett etikett på SIM-kortene"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Du ser disse etikettene når du ringer, sender tekstmeldinger og bruker data, samt i innstillingene"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-kortetikett"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etikett"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Velg SIM-kortene du vil bruke"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Du kan bruke to SIM-kort samtidig"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Angi de primære SIM-kortene"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Velg hvilke SIM-kort som skal brukes som standard for anrop, tekstmeldinger og data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"De primære SIM-kortene"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Anrop"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Tekstmeldinger"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatisk databytte"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Bruk data fra hvilket som helst SIM-kort, avhengig av dekning og tilgjengelighet"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Bare data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Konfigurer"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Neste"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Slår på <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilnettverk"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonnummer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-kortetikett og -farge"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivering av nettverk"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operatørbytte"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> er aktiv"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-kortet ditt fra <xliff:g id="CARRIER_NAME">%1$s</xliff:g> er aktivt"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Trykk for å oppdatere SIM-kortinnstillingene"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Byttet til <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Byttet til en annen operatør"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilnettverket ditt er endret"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Konfigurer det andre SIM-kortet ditt"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Velg det aktive SIM-kortet ditt, eller bruk to SIM-kort samtidig"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Velg nummeret du vil bruke"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 nummer er tilgjengelig på denne enheten, men bare ett kan brukes om gangen}=2{2 numre er tilgjengelige på denne enheten, men bare ett kan brukes om gangen}other{# numre er tilgjengelige på denne enheten, men bare ett kan brukes om gangen}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiverer <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Kunne ikke aktiveres nå"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Velg SIM-kortet du vil bruke"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM-kort er tilgjengelig på denne enheten, men bare ett kan brukes om gangen}=2{2 SIM-kort er tilgjengelige på denne enheten, men bare ett kan brukes om gangen}other{# SIM-kort er tilgjengelige på denne enheten, men bare ett kan brukes om gangen}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Slår på <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Kunne ikke slå på dette SIM-kortet akkurat nå"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Vil du bruke <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> brukes til mobildata, anrop og SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Ingen aktive SIM-kort er tilgjengelige"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"For å bruke mobildata, ringefunksjoner og SMS senere, gå til nettverksinnstillingene"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-kort"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vil du slette dette eSIM-kortet?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Hvis du sletter dette SIM-kortet, fjernes <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-tjenesten fra denne enheten.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-tjenesten blir ikke sagt opp."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Dette fjerner <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-tjenesten fra denne enheten, men <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-abonnementet ditt blir ikke sagt opp."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Slett"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Sletter SIM-kortet …"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kan ikke slette SIM-kortet"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Dette SIM-kortet kan ikke slettes, på grunn av en feil.\n\nStart enheten på nytt og prøv igjen."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Sletter eSIM-kortet …"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Kan ikke slette eSIM-kortet"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Noe gikk galt, og dette eSIM-kortet ble ikke slettet.\n\nStart enheten på nytt, og prøv igjen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Koble til enheten"</string>
-    <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Appen <xliff:g id="APPNAME">%1$s</xliff:g> vil bruke et midlertidig wifi-nettverk for å koble til enheten din"</string>
+    <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g>-appen vil bruke et midlertidig wifi-nettverk for å koble til enheten din"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Fant ingen enheter. Sørg for at enhetene er slått på og tilgjengelige for tilkobling."</string>
     <string name="network_connection_timeout_dialog_ok" msgid="6022675321823723755">"Prøv på nytt"</string>
     <string name="network_connection_errorstate_dialog_message" msgid="3360714322047603239">"Noe dukket opp. Appen har kansellert forespørselen om å velge en enhet."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Nødanrop"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Nødanrop via wifi-anrop støttes ikke av operatøren din.\nEnheten bytter automatisk til et mobilnettverk for å foreta et nødanrop.\nNødanrop er bare mulige i områder med mobildekning."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Bruk Wi‑Fi for anrop for å forbedre kvaliteten"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Reserve for anrop"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Hvis <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> er utilgjengelig eller roamer, bruker du SIM-kortet for mobildata for <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>-anrop."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"reserve for anrop"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Innkommende MMS-melding"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Kan ikke sende MMS-meldinger"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Trykk for å tillate MMS-meldinger på <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> når mobildata er av"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informasjon om jobbretningslinjene dine"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Innstillingene administreres av IT-administratoren din"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Start på nytt med 16k-sidestørrelse"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Start enheten på nytt med 16k-sidestørrelse-kjerne"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Vil du starte på nytt med kjerne som er kompatibel med 16 kB-sider?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"VARSEL: Noen apper er muligens ikke kompatible med denne modusen. Enheten starter på nytt etter bekreftelse."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Vil du starte på nytt med kjerne som er kompatibel med 4 kB-sider?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Enheten starter på nytt etter bekreftelse."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Kunne ikke oppdatere kjernen til en kjerne som er kompatibel med 16 kB-sider."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Tar i bruk endringen"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Feilrapporthåndtering"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Fastslår hvilken app som håndterer Feilrapport-snarveien på enheten din."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personlig"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Tillat apper som kan vises over andre apper, å legge seg over Innstillinger-skjermer"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Tillat Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Tillat at denne enheten kjører Mock Modem-tjenesten for instrumenteringstesting. Ikke slå på dette under normal bruk av telefonen"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Slå av beskyttelse for skjermdeling"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Slår av app- og varselbeskyttelse for systemet under skjermdeling"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Medier"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fest medieavspilleren"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"For å gjenoppta avspilling raskt holdes medieavspilleren åpen i hurtiginnstillingene"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Vis medier på låseskjermen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Medieavspilleren vises fortsatt på låseskjermen, slik at du kan gjenoppta avspillingen raskt"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Vis medieanbefalinger"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Vis medieanbefalinger fra assistenten"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Basert på aktiviteten din"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Skjul spilleren"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Vis spilleren"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"medier"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Tillat utvidelser av kameraprogramvare"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Gjør det mulig å bruke standardimplementeringen av avanserte kamerafunksjoner som er programvarebasert, for eksempel Eyes Free-videografi."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth slås på"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internett"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-kort"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM-kort"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-kort"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiv"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inaktiv"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"På"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Av"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Standard for <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"anrop"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Lyd fra kompatible enheter blir mer omsluttende"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Hodesporing"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Lyden endres når du beveger hodet, slik at den høres mer naturlig ut"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synkroniser tillatelser"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Gi <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> de samme apptillatelsene som du har gitt på <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synkroniser tillatelsene fra telefonen"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Gi de samme apptillatelsene til klokken som til telefonen"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Type lydenhet"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Ukjent"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Høyttaler"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Middels"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Høy"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Denne appen kan bare åpnes i ett vindu"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"På"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Av"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Av"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Av"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"På"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Av"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"På"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Av"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Gjør lyse skjermer mørke og mørke skjermer lyse"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom inn på skjermen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Av"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Av"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Skanner etter villedende apper"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontroller appaktivitet for å oppdage nettfisking"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Bruk skanning etter villedende apper"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Bruk skanning etter villedende apper for jobb"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Nå er passordet konfigurert"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Vis pekeren når du holder markøren over"</string>
 </resources>
diff --git a/res/values-ne/arrays.xml b/res/values-ne/arrays.xml
index c37cd09..ce124da 100644
--- a/res/values-ne/arrays.xml
+++ b/res/values-ne/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"उपलब्ध"</item>
     <item msgid="6096962300722555553">"दायरा-बाहिर"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"अफ गरिएको छ"</item>
+    <item msgid="7781484297606806796">"युनिकास्ट"</item>
+    <item msgid="6667451574264144311">"युनिकास्ट तथा ब्रोडकास्ट"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"सिस्टम डिफल्ट प्रयोग गर्ने एपको संख्या: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"१"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"१ मिनेटपछि"</item>
     <item msgid="1574040255478150028">"५ मिनेटपछि"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ne/strings.xml b/res/values-ne/strings.xml
index b7cb33f..3059b21 100644
--- a/res/values-ne/strings.xml
+++ b/res/values-ne/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"तपाईं अब विकासकर्ता हुनुभएको छ!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"आवश्यक छैन, तपाईं आफैँ नै एउटा विकासकर्ता हुनुहुन्छ।"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"कृपया पहिले विकासकर्ताका विकल्पहरूलाई सक्षम पार्नुहोस्"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"एड्मिन प्रयोगकर्ताहरू मात्र विकासकर्तासम्बन्धी सेटिङ एक्सेस गर्न सक्छन्।"</string>
     <string name="header_category_system" msgid="1665516346845259058">"सिस्टम"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"सेवामा"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"सेवा उपलब्ध छैन"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"तपाईंले आफ्नो डिभाइस फोल्ड गरेपछि अगाडिको डिस्प्ले अन हुन्छ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"केवल गेम, भिडियो र अन्य कुराहरू"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"तपाईंको डिभाइसको स्क्रिनलाई अफ हुन नदिने एपहरूमा अगाडिको डिस्प्ले अन हुन्छ"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"जारी राख्न माथितिर स्वाइप गर्नुहोस्"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"एप चलाइराख्न आफ्नो फोनलाई फोल्ड गरी अगाडिको डिस्प्लेमा स्वाइप गर्नुहोस् वा स्क्रिन लक भइन्जेल केही बेर पर्खनुहोस्"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"कहिल्यै पनि होइन"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"तपाईंले आफ्नो डिभाइस फोल्ड गरेपछि अगाडिको डिस्प्ले लक हुन्छ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"अटो-रोटेट प्रयोग गर्नुहोस्"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"सम्बन्धित"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"रिङटोन र अलार्महरू"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"कलमा सुनिने अडियो"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"मिडिया"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"सूचना र सिस्टमका अन्य साउन्ड"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"मिडिया र सिस्टमका आवाजहरू"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"सूचनाहरू"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"अडियो आउटपुट छुट्टाछुट्टै एपअनुसार स्वतः निर्धारण गरिन्छ"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"बेनामी ब्लुटुथ उपकरण"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"खोजी गर्दै"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"रद्द गर्नुहोस्"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"\"ब्लुटुथ लो इनर्जी अडियो\" अफ गरियोस्"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"डिभाइसमा LE अडियो हार्डवेयर चलाउन मिल्छ भने \"ब्लुटुथ लो इनर्जी अडियो\" सुविधा अफ हुन्छ।"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ब्लुटुथ लो इनर्जी अडियो मोड"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"डिभाइसको विवरणमा LE अडियोको टगल देखाइयोस्"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ब्लुटुथ लो इनर्जी अडियोको श्वेतसूची अन गरियोस्"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ब्लुटुथ लो इनर्जी अडियोको श्वेतसूचीसम्बन्धी सुविधा अन गर्नुहोस्।"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ब्लुटुथ लो इनर्जी अडियोको श्वेतसूची बाइपास गरियोस्"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE अडियो पेरिफरलले श्वेतसूचीको मापदण्ड पूरा गर्छ भन्ने कुरा पुष्टि नगरिए तापनि LE अडियो डिफल्ट रूपमा प्रयोग गरियोस्।"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"मिडियासम्बन्धी यन्त्रहरू"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"कल गर्ने सुविधा भएका यन्त्रहरू"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"अन्य डिभाइसहरू"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"सेभ गरिएका डिभाइस"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"खातासँग लिंक गरिएको"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"यसअघि खातासँग प्रयोग गरिएको"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"कनेक्ट गर्नका लागि ब्लुटुथ अन हुने छ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"कनेक्सनका प्राथमिकताहरू"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"यसअघि कनेक्ट गरिएका डिभाइस"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ब्लुटुथ अन गरियो"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"सबै हेर्नुहोस्"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"तत्काल पेयर गर्न सकिने सबै डिभाइस हेर्नुहोस्"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"स्टाइलस"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"पुछारको बटन थिच्नुहोस्"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (कार्य प्रोफाइल)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"टेक्स्ट फिल्डमा लेख्नुहोस्"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"स्टाइलसमार्फत थिचिने सबै बटन बेवास्ता गरियोस्"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"स्टाइलस"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"अडियो सेयरिङ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"अडियो सेयर गर्नुहोस्"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"कल तथा अलार्महरू"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR कोड प्रयोग गरी कुनै अडियो स्ट्रिममा कनेक्ट गर्नुहोस्"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"नजिकै कुनै पनि अडियो स्ट्रिम भेटिएन।"</string>
     <string name="date_and_time" msgid="1788358029823431692">"मिति र समय"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"प्रोक्सी"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"मेटाउनुहोस्"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s लाई रुचाइएको भाषामा राख्ने हो?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"यसो गर्नाले तपाईं यो भाषा रुचाउनुहुन्छ भन्ने कुरा एप र वेबसाइटहरूले थाहा पाउन सक्छन्।"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"तपाईंको डिभाइसका सेटिङ र क्षेत्रीय प्राथमिकताहरू परिवर्तन हुने छन्।"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"परिवर्तन गर्नुहोस्"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s उपलब्ध छैन"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"शनिवार"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"कुनै एपमा क्षेत्रीय प्राथमिकताहरू प्रयोग गर्न नमिलेका खण्डमा सो एपले आफ्ना स्थानिक भाषासम्बन्धी डिफल्ट सेटिङ प्रयोग गर्ने छ।"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"भाषासम्बन्धी प्राथमिकताका बारेमा थप जान्नुहोस्।"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"थप प्राथमिकताहरू"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"लैङ्गिक पहिचान"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"तपाईं आफूलाई कसरी सम्बोधन गरियोस् भन्ने चाहनुहुन्छ छनौट गर्नुहोस्"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"तपाईंलाई कसरी सम्बोधन गर्ने भन्ने कुरा थाहा पाउन एपहरूले तपाईंको लैङ्गिक पहिचानसम्बन्धी जानकारी प्रयोग गर्न सक्छन्।"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"नतोकिएको"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"स्त्रीलिङ्ग"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"पुलिङ्ग"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"तटस्थ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{चयन गरिएको भाषा हटाउने हो?}other{चयन गरिएका भाषा हटाउने हो?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"पाठ अर्को भाषामा प्रदर्शन हुनेछ।"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"सबै भाषाहरूलाई हटाउन सक्दैन"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"लोकेसन"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"लोकेसन प्रयोग गरियोस्"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"निष्क्रिय"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{अन छ - # वटा एपलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छ}other{अन छ - # वटा एपलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छ}}"</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_location_off" msgid="8568995909147566720">"एप तथा सेवाहरूलाई लोकेसन प्रयोग गर्ने अनुमति दिइएको छैन। तपाईंले कुनै आपत्‌कालीन नम्बरमा कल गर्दा वा टेक्स्ट म्यासेज पठाउँदा भने आपत्‌कालीन सेवा प्रदान गर्ने निकायलाई तपाईंको डिभाइसको लोकेसन पठाइन सक्छ।"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"लोकेसन सेटिङका बारेमा थप जान्नुहोस्।"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"लोकेसन सेटिङका बारेमा थप जान्नुहोस्"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"लोकेसन एक्सेस गर्ने सुविधा परिवर्तन गर्न \"सेटिङ\", \"सुरक्षा तथा गोपनीयता\" तथा \"गोपनीयतासम्बन्धी सेटिङ\" मा जानुहोस्"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"खाताहरू"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"सुरक्षा"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"इन्क्रिप्सन र क्रिडेन्सियल"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"उत्कृष्ट परिणाम प्राप्त गर्न \"Google का लागि बनाइएको\" प्रमाणपत्र प्राप्त स्क्रिन प्रोटेक्टर प्रयोग गर्नुहोस्। तपाईंले अन्य स्क्रिन प्रोटेक्टरहरू हाल्नुभयो भने तपाईंको बच्चाको फिंगरप्रिन्टले काम नगर्न सक्छ।"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"स्मार्ट वाच प्रयोग गरी अनलक गर्ने सुविधा"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"तपाईंले फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्नुभयो भने तपाईंले मास्क लगाएका बेला वा तपाईं कुनै अँध्यारो ठाउँमा हुँदा तपाईंको फोनले तपाईंलाई फिंगरप्रिन्ट प्रयोग गर्न लगाउने छ।\n\nफोनले तपाईंको अनुहार वा फिंगरप्रिन्ट पहिचान गर्न नसकेका खण्डमा तपाईं आफ्नो स्मार्ट वाच प्रयोग गरी अनलक गर्न सक्नुहुन्छ।"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"फोनले तपाईंको फिंगरप्रिन्ट पहिचान गर्न नसकेका खण्डमा तपाईं आफ्नो स्मार्ट वाच प्रयोग गरी अनलक गर्न सक्नुहुन्छ।"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"फोनले तपाईंको अनुहार पहिचान गर्न नसकेका खण्डमा तपाईं आफ्नो स्मार्ट वाच प्रयोग गरी अनलक गर्न सक्नुहुन्छ।"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"तपाईंले फेस अनलक र फिंगरप्रिन्ट अनलक सेटअप गर्नुभयो भने तपाईंले मास्क लगाएका बेला वा तपाईं कुनै अँध्यारो ठाउँमा हुँदा तपाईंको फोनले तपाईंलाई फिंगरप्रिन्ट प्रयोग गर्न लगाउने छ।\n\nतपाईंका औँलाहरू ओसिला भएका बेला वा तपाईंको अनुहार पहिचान गर्न नसकिएका खण्डमा तपाईं स्मार्ट वाच अनलक गर्ने सुविधा प्रयोग गरेर आफ्नो फोन अनलक गर्न सक्नुहुन्छ।"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"तपाईंको फिंगरप्रिन्ट पहिचान गर्न नसकिएका खण्डमा तपाईं स्मार्ट वाच अनलक गर्ने सुविधा प्रयोग गरेर आफ्नो फोन अनलक गर्न सक्नुहुन्छ।"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"तपाईंको अनुहार पहिचान गर्न नसकिएका खण्डमा तपाईं स्मार्ट वाच अनलक गर्ने सुविधा प्रयोग गरेर आफ्नो फोन अनलक गर्न सक्नुहुन्छ।"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"यसका लागि फिंगरप्रिन्ट वा स्मार्ट वाच प्रयोग गर्नुहोस्"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"यसका लागि अनुहार वा स्मार्ट वाच प्रयोग गर्नुहोस्"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"यसका लागि अनुहार, फिंगरप्रिन्ट वा स्मार्ट वाच प्रयोग गर्नुहोस्"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"तपाईंका औँलाहरू ओसिला भएका बेला वा तपाईंको अनुहार पहिचान गर्न नसकिएका खण्डमा तपाईं स्मार्ट वाच अनलक गर्ने सुविधा प्रयोग गरेर यो फोन अनलक गर्न सक्नुहुन्छ।\n\nनिम्न अवस्थामा तपाईं आफ्नो स्मार्ट वाच प्रयोग गरेर यो फोन अनलक गर्न सक्नुहुन्छ:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"अहिले होइन"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"जारी राख्नुहोस्"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"थप"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"यसले काम गर्ने तरिका"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"तपाईंको स्मार्ट वाच अनिवार्य रूपमा अनलक गरिएको हुनु पर्छ, तपाईंको नाडीमा बाँधिएको हुनु पर्छ र यो फोनको नजिकै हुनु पर्छ। तपाईंको स्मार्ट वाच तपाईंको नाडीमा हुँदा तपाईंले उक्त स्मार्ट वाच फेरि अनलक गर्नु पर्दैन।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"यो फोन अनलक हुँदा तपाईंको स्मार्ट वाचमा सूचना पठाइने छ। तपाईंले नचाहेका बेला यो फोन अनलक भएका खण्डमा सूचनामा ट्याप गरेर यो फोन फेरि लक गर्नुहोस्।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"यो कुरा तपाईंको नियन्त्रणमा हुन्छ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"तपाईं जुनसुकै बेला सेटिङमा गई \"स्मार्ट वाच अनलक गर्ने सुविधा\" बाट आफ्नो स्मार्ट वाच हटाउन सक्नुहुन्छ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"कुनै एक सूचनामा ट्याप गर्नुहोस्"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"लक स्क्रिनमा माथितिर स्वाइप गर्नुहोस्"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"आफ्नो स्मार्ट वाच छनौट गर्नुहोस्"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"उपलब्ध स्मार्ट वाचहरू"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"रद्द गर्नुहोस्"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"पुष्टि गर्नुहोस्"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"तपाईं अब पूर्ण रूपमा तयार हुनुहुन्छ!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"तपाईं अब आफ्नो स्मार्ट वाच प्रयोग गरी लक स्क्रिनदेखि माथितिर स्वाइप गरेर वा सूचनामा ट्याप गरेर यो फोन अनलक गर्न सक्नुहुन्छ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"पूरा भयो"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"स्मार्ट वाच अनलक गर्ने सुविधा"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"तपाईं आफ्नो स्मार्ट वाच प्रयोग गरी लक स्क्रिनदेखि माथितिर स्वाइप गरेर वा सूचनामा ट्याप गरेर यो फोन अनलक गर्न सक्नुहुन्छ"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"स्मार्ट वाच अनलक गर्ने सुविधा प्रयोग गर्न तपाईंको स्मार्ट वाच अनिवार्य रूपमा अनलक गरिएको हुनु पर्छ, तपाईंको नाडीमा बाँधिएको हुनु पर्छ र यो फोनमा कनेक्ट हुनु पर्छ। कनेक्सन अवरुद्ध भयो भने तपाईं फोन अनलक गरेपछि मात्र स्मार्ट वाच अनलक गर्ने सुविधा प्रयोग गर्न सक्नुहुन्छ।\n\nयाद राख्नुहोस्:\nतपाईं एक पटकमा एउटा मात्र स्मार्ट वाच सेटअप गर्न सक्नुहुन्छ। अर्को स्मार्ट वाच कनेक्ट गर्न सर्वप्रथम अहिले कनेक्ट भइरहेको स्मार्ट वाच डिस्कनेक्ट गर्नुहोस्।"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"कार्य प्रोफाइलका लागि फेस र फिंगरप्रिन्ट अनलक"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"सेटअप गर्नु पर्ने हुन्छ"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"सुरक्षा"</string>
     <string name="privacy_header" msgid="5526002421324257007">"गोपनीयता"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"कार्य प्रोफाइल"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"निजी स्पेस"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"निजी एपहरू लक गरिराख्नुहोस् र लुकाइराख्नुहोस्"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"निजी एपहरू तपाईंले लुकाउन वा लक गर्न सक्ने खालको छुट्टै स्पेसमा राख्नुहोस्"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"निजी स्पेसको लक"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"तपाईं आफूले आफ्नो डिभाइस अनलक गरे जसरी नै निजी स्पेस अनलक गर्न वा अर्कै लक छनौट गर्न सक्नुहुन्छ"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"डिभाइसको स्क्रिन लक प्रयोग गरियोस्"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"फेस र फिंगरप्रिन्ट अनलक"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"फिंगरप्रिन्ट अनलक"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"फेस अनलक"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"सेटअप गर्न ट्याप गर्नुहोस्"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"निजी स्पेसका लागि फिंगरप्रिन्ट अनलक सुविधा"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"निजी स्पेसका लागि फेस अनलक सुविधा"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"अनलक गर्ने तरिकाहरू"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"डिभाइसको स्क्रिन लक जसरी नै"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"निजी स्पेसमा नयाँ लक चयन गर्ने हो?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"निजी स्पेस स्वतः लक गरियोस्"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"तपाईंले केही समयसम्म आफ्नो डिभाइस प्रयोग नगर्दा उक्त डिभाइसमा भएको निजी स्पेस स्वतः लक हुने बनाउन सक्नुहुन्छ"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"डिभाइस लक हुँदैपिच्छे"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"५ मिनेटसम्म निष्क्रिय भएपछि"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"कहिल्यै पनि होइन"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"लक गरिएको बेलामा लुकाउनुहोस्"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"निजी स्पेस लक गरिएका बेला उक्त स्पेस लुकाउनुहोस्"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"अन्य मानिसहरूलाई तपाईंको डिभाइसमा निजी स्पेस छ भन्ने कुरा थाहा नदिन तपाईं आफ्नो एपको सूचीबाट उक्त स्पेस लुकाउन सक्नुहुन्छ"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"निजी स्पेस लुकाइएका बेला उक्त स्पेस एक्सेस गर्नुहोस्"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"एपको सूचीमा गई सर्च बारमा \"निजी स्पेस\" हाल्नुहोस्"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"निजी स्पेसको टाइलमा ट्याप गर्नुहोस्"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"आफ्नो निजी स्पेस अनलक गर्नुहोस्"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"अफ छ"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"अन छ"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"सिस्टम"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"निजी स्पेस मेटाउनुहोस्"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"निजी स्पेस मेटाउने हो?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"तपाईंको डिभाइसबाट तपाईंको निजी स्पेसन मेटाइने छ। सबै निजी एपहरू र तिनका जानकारी मेटाइने छन्। यो कार्य अन्डू गर्न मिल्दैन।"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"तपाईको निजी स्पेसबाट निम्न खाताहरू हटाइने छन्:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"मेटाउनुहोस्"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"निजी स्पेस मेटाइँदै छ…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"मेटाउन केही बेर लाग्ने छ"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"निजी स्पेस मेटाइएको छ"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"निजी स्पेस मेटाउन सकिएन"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"निजी स्पेस अनलक गरिएको छ"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"स्क्रिन लक सेट गर्नुहोस्"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"निजी स्पेस प्रयोग गर्न यो डिभाइसमा स्क्रिन लक सेट गर्नुहोस्"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"स्क्रिन लक सेट गर्नुहोस्"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"रद्द गर्नुहोस्"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"रद्द गर्नुहोस्"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"सेटअप गर्नुहोस्"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"निजी स्पेस सेटअप गर्नुहोस्"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"तपाईंले लुकाउन वा लक गर्न सक्ने खालका निजी एपहरू छुट्टै स्पेसमा राख्नुहोस्"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"यसले काम गर्ने तरिका"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"तपाईं आफ्नो एपको सूचीको पुछारबाट निजी स्पेस एक्सेस गर्न सक्नुहुन्छ"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"निजी स्पेसमा एपहरू लक प्रयोग गरी सुरक्षित रूपमा राखिएका हुन्छन्"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"निजी स्पेस लक गरिएका बेला निजी स्पेसका एपबाट प्राप्त सूचनाहरू लुकाइन्छन्"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"तपाईंको निजी स्पेस लक गरिएका बेला यसमा भएका एपहरू अनुमति व्यवस्थापन, गोपनीयतासम्बन्धी ड्यासबोर्ड र अन्य सेटिङमा देखिने छैनन्।\n\nतपाईंको निजी स्पेस सारेर अर्को डिभाइसमा लैजान सकिँदैन। तपाईं अर्को डिभाइसमा निजी स्पेस प्रयोग गर्न चाहनुहुन्छ भने तपाईंले अर्को डिभाइसमा निजी स्पेस सेटअप गर्नु पर्ने हुन्छ।\n\nतपाईंको डिभाइस कम्प्युटरमा कनेक्ट गर्ने वा तपाईंको डिभाइसमा हानिकारक एपहरू इन्स्टल गर्ने सबै जना तपाईंको निजी स्पेस एक्सेस गर्न सक्ने छन्।"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"निजी स्पेस सेटअप गरिँदै छ…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"निजी स्पेस लक गरिएका बेला निजी स्पेसका एपबाट प्राप्त सूचनाहरू लुकाइन्छन्"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"फोटो वा फाइलहरू सेयर गर्न आफ्नो निजी स्पेस अनलक गर्नुहोस्"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"केही एपहरू तपाईंको निजी स्पेसमा इन्स्टल गरिसकिएका छन्"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"निजी स्पेस सेटअप गर्न सकिएन"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"फेरि प्रयास गर्नुहोस्"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"निजी स्पेस अनलक गर्न स्क्रिन लक प्रयोग गर्ने हो?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"तपाईं आफूले आफ्नो डिभाइस अनलक गरे जसरी नै निजी स्पेस अनलक गर्न वा अर्कै लक छनौट गर्न सक्नुहुन्छ"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"स्क्रिन लक प्रयोग गर्नुहोस्"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"नयाँ लक छनौट गर्नुहोस्"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"सेटअप भयो!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"आफ्नो निजी स्पेस फेला पार्न आफ्नो एपको सूचीमा जानुहोस् अनि तलतिर स्क्रोल गर्नुहोस्"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"पूरा भयो"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"निजी स्पेस भेट्टाउन तलतिर स्क्रोल गर्नुहोस्"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"साइन इन गर्नुहोस्"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"आफ्नो निजी स्पेस प्रयोग गर्न खातामा साइन इन गर्नुहोस्"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"अहिले होइन"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"जारी राख्नुहोस्"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"निजी स्पेसका लागि एउटा लक छनौट गर्नुहोस्"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"तपाईं आफ्नो फिंगरप्रिन्ट प्रयोग गरी निजी स्पेस अनलक गर्न सक्नुहुन्छ। सुरक्षासम्बन्धी कारणहरूले गर्दा यो विकल्प प्रयोग गर्न ब्याकअप लक सेटअप गर्नु पर्ने हुन्छ।"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"आफ्नो निजी स्पेसका लागि PIN सेट गर्नुहोस्"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"आफ्नो निजी स्पेसका लागि पासवर्ड सेट गर्नुहोस्"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"आफ्नो निजी स्पेसका लागि प्याटर्न सेट गर्नुहोस्"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"तपाईं बढीमा <xliff:g id="COUNT">%d</xliff:g> वटा फिंगरप्रिन्टहरू हाल्न सक्नुहुन्छ"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"तपाईंले अधिकतम संख्यामा फिंगरप्रिन्टहरू थप्नुभएको छ"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"थप फिंगरप्रिन्टहरू थप्न सकिँदैन"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ढाँचा"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"पासवर्ड:"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"स्क्रिन लक मेटाउने हो?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"डिभाइस अनलक गर्ने सबै विधि हटाउने हो?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"प्रोफाइल सुरक्षा हटाउने हो?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा प्याटर्नले उक्त फोन सुरक्षित राख्छ।<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>तपाईंले यो प्याटर्न हटाउनुभयो भने तपाईंको डिभाइसमा भण्डारण गरिएको फिंगरप्रिन्ट मोडेल पनि मेटिने छ। साथै, तपाईंको फेस मोडेल पनि सुरक्षित रूपले सदाको लागि मेटिने छ। तपाईं एपहरूमा आफ्नो पहिचान पुष्टि गर्नका निम्ति आफ्नो अनुहार वा फिंगरप्रिन्ट प्रयोग गर्न सक्नु हुने छैन।"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"तपाईं आफ्नो PIN जस्ता सेभ गरिएको डेटा पनि गुमाउनु हुने छ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>कन्ट्याक्टलेस भुक्तानी गर्न सेटअप गरिएका कार्डहरू पनि हटाइने छन्।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>डिभाइस अनलक गरेपछि मात्र प्रयोग गर्न सकिने Wallet तथा अन्य एपहरूले राम्रोसँग काम नगर्न सक्छन्।"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>तपाईंले यो PIN हटाउनुभयो भने तपाईंको डिभाइसमा भण्डारण गरिएको फिंगरप्रिन्ट मोडेल पनि मेटिने छ। तपाईं एपहरूमा आफ्नो पहिचान पुष्टि गर्नका निम्ति आफ्नो फिंगरप्रिन्ट प्रयोग गर्न सक्नु हुने छैन।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"तपाईं आफ्नो PIN र फिंगरप्रिन्ट मोडेल जस्ता सेभ गरिएको डेटा पनि गुमाउनु हुने छ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>कन्ट्याक्टलेस भुक्तानी गर्न सेटअप गरिएका कार्डहरू पनि हटाइने छन्।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>डिभाइस अनलक गरेपछि मात्र प्रयोग गर्न सकिने Wallet तथा अन्य एपहरूले राम्रोसँग काम नगर्न सक्छन्।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>तपाईंको फेस मोडेल पनि सुरक्षित रूपले सदाको लागि मेटिने छ। तपाईं एपहरूमा आफ्नो पहिचान पुष्टि गर्नका निम्ति आफ्नो अनुहार प्रयोग गर्न सक्नु हुने छैन।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"तपाईं आफ्नो PIN र फेस मोडेल जस्ता सेभ गरिएको डेटा पनि गुमाउनु हुने छ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>कन्ट्याक्टलेस भुक्तानी गर्न सेटअप गरिएका कार्डहरू पनि हटाइने छन्।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>डिभाइस अनलक गरेपछि मात्र प्रयोग गर्न सकिने Wallet तथा अन्य एपहरूले राम्रोसँग काम नगर्न सक्छन्।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा PIN ले उक्त फोन सुरक्षित राख्छ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>तपाईंले यो PIN हटाउनुभयो भने तपाईंको डिभाइसमा भण्डारण गरिएको फिंगरप्रिन्ट मोडेल पनि मेटिने छ। साथै, तपाईंको फेस मोडेल पनि सुरक्षित रूपले सदाको लागि मेटिने छ। तपाईं एपहरूमा आफ्नो पहिचान पुष्टि गर्नका निम्ति आफ्नो अनुहार वा फिंगरप्रिन्ट प्रयोग गर्न सक्नु हुने छैन।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"तपाईं आफ्नो PIN, फेस र फिंगरप्रिन्ट मोडेलहरू जस्ता सेभ गरिएको डेटा पनि गुमाउनु हुने छ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>कन्ट्याक्टलेस भुक्तानी गर्न सेटअप गरिएका कार्डहरू पनि हटाइने छन्।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>डिभाइस अनलक गरेपछि मात्र प्रयोग गर्न सकिने Wallet तथा अन्य एपहरूले राम्रोसँग काम नगर्न सक्छन्।"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"तपाईंको फोन हराएको वा चोरी भएको खण्डमा पासवर्डले उक्त फोन सुरक्षित राख्छ।<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ब्लुटुथ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ब्लुटुथ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> सँग कनेक्ट गर्ने हो?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"हालको कोअर्डिनेटेड सेटमा नयाँ सदस्य थप्नुहोस्"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"आफ्नो अडियो डिभाइसको अर्को कम्पोनेन्ट हाल्न पुष्टि गर्नुहोस्"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ब्लुटुथ कनेक्ट गर्ने कोड"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"जोडी कोड टाइप गर्नुहोस् त्यसपछि रिटर्न वा इन्टर थिच्नुहोस्"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN मा अक्षर वा प्रतीकहरू समाविष्ट हुन्छ"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"१६ अङ्कहरूको हुनुपर्दछ"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"तपाईँले अर्को उपकरणमा पनि PIN टाइप गर्न पर्ने हुन सक्छ।"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"तपाईँले सायद यो पासकि अन्य उपकरणमा पनि टाइप गर्नुपर्छ।"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"समायोजित सेटमा कनेक्ट गर्न पुष्टि गर्नुहोस्"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"अडियो डिभाइससँग कनेक्ट गर्न पुष्टि गर्नुहोस्"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"आफ्ना कन्ट्याक्ट र कल हिष्ट्री हेर्ने अनुमति दिनुहोस्"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"कन्ट्याक्ट र कल हिस्ट्री हेर्ने र प्रयोग गर्ने अनुमति पनि दिइयोस्"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"यो जानकारीको प्रयोग कल आएको जानकारी दिने लगायतका कुराका लागि प्रयोग गरिने छ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> उपकरणसँग जडान गर्न सकेन।"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"उपलब्ध डिभाइस"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"कनेक्ट गर्नुहोस्"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"डिस्कनेक्ट गर्नुहोस्"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"पेयर गर्नुहोस् र कनेक्ट गर्नुहोस्"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ब्लुटुथ अन हुँदा तपाईंको डिभाइस नजिकैका अन्य ब्लुटुथ डिभाइससँग कनेक्ट हुन सक्छ"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ब्लुटुथ अन हुँदा तपाईंको डिभाइसले नजिकैका अन्य ब्लुटुथ डिभाइससँग सम्पर्क गर्न सक्छ"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ब्लुटुथ अन गरिएका बेला तपाईंको डिभाइस नजिकै रहेका ब्लुटुथ चल्ने अन्य डिभाइससँग कनेक्ट हुन सक्छ। \n\nडिभाइसका सुविधाहरूको गुणस्तर सुधार गर्ने प्रयोजनका लागि एप तथा सेवाहरूले ब्लुटुथ अफ भएका बेला र अरू बेला नजिकैका डिभाइसहरू स्क्यान गर्न सक्छन्। यसलाई लोकेसनमा आधारित सुविधा तथा सेवाहरूको गुणस्तर सुधार गर्ने जस्ता कार्यहरू गर्नका लागि प्रयोग गर्न सकिन्छ। तपाईं ब्लुटुथ स्क्यान गर्नेसम्बन्धी सेटिङमा गई यो कुरा परिवर्तन गर्न सक्नुहुन्छ।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"बदल्नुहोस्"</string>
     <string name="device_details_title" msgid="1155622417516195481">"डिभाइसको विवरण"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART लाई डिबग गर्न मिल्ने एपको बाइटकोड पुष्टि गर्न दिइयोस्"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"रिफ्रेस रेट देखाइयोस्"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"हालको डिस्प्लेको रिफ्रेस रेट देखाइयोस्"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR रेसियो देखाउनुहोस्"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"हालको HDR/SDR रेसियो देखाउनुहोस्"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"डिभाइस अनलक गरेपछि मात्र NFC प्रयोग गर्न मिल्ने बनाइयोस्"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"एन्ड्रोइड बिम"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"हवाइजहाज मोडमा"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"सार्वजनिक नेटवर्क उपलब्ध हुँदा सूचित गरियोस्"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"उच्च गुणस्तरको सार्वजनिक नेटवर्क उपलब्ध हुँदा सूचित गराउनुहोस्"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP नेटवर्क कनेक्ट गर्ने अनुमति दिनुहोस्"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP भनेको कम सुरक्षित पुराना सुरक्षा प्रोटोकल हो"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP नेटवर्क कम सुरक्षित हुने भएकाले तपाईंको सेवा प्रदायकले तपाईंले यो नेटवर्क कनेक्ट गर्न नमिल्ने बनाएको छ"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi स्वत: अन गर्नुहोस्"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"घरको नेटवर्क जस्ता सेभ गरिएका उच्च गुणस्तरका नेटवर्कहरू नजिक हुँदा Wi‑Fi आफैँ अन होस्"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"स्थान निष्क्रिय पारिएको हुनाले उपलब्ध छैन। "<annotation id="link">"स्थान"</annotation>" अन गर्नुहोस्।"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi खोज्ने सुविधाले एप र सेवाहरूलाई जुनसुकै बेला वरपरका Wi-Fi नेटवर्क खोज्ने अनुमति दिन्छ। Wi‑Fi अफ भएको बेला पनि यसरी खोज्न सकिन्छ। उदाहरणका लागि यसलाई स्थानमा आधारित सुविधा तथा सेवाहरूको सुधार गर्नका लागि प्रयोग गर्न सकिन्छ।"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"अन गर्नुहोस्"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi स्क्यान गर्ने सेवा सक्रिय छ"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"यो नेटवर्कले कम सुरक्षित अझ पुरानो सुरक्षा प्रोटोकल प्रयोग गर्छ"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ब्लक गरिएको छ"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"यो नेटवर्कले WEP भनिने कम सुरक्षित अझ पुराना सुरक्षा प्रोटोकल प्रयोग गर्छ। जसरी भए पनि कनेक्ट गर्न चाहनुहुन्छ भने तपाईं WEP नेटवर्कहरूलाई अनुमति दिन सक्नुहुन्छ।"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"यो नेटवर्कले अझ कम सुरक्षित पुरानो सुरक्षा प्रोटोकल प्रयोग गर्ने भएकाले तपाईंको सेवा प्रदायकले तपाईंले यो नेटवर्क कनेक्ट गर्न नमिल्ने बनाएको छ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP कनेक्ट गर्ने अनुमति दिनुहोस्"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"बन्द गर्नुहोस्"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"उन्नत विकल्पहरू"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ड्रप-डाउन सूचीका उन्नत विकल्पहरू"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"विस्तृत गर्नुहोस्"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi‑Fi मा कायम रहनुहोस्"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"फेरि कहिल्यै नदेखाउनुहोस्"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"कनेक्ट गर्नुहोस्"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi सक्रिय गरियो"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> मा कनेक्ट गरियो"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> मा कनेक्ट गरिँदै"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"जडान गर्दै…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"सञ्जालमा जडान गर्न विफल"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"नेटवर्क दायरामा छैन"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"बिर्सनुहोस्"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"परिमार्जन गर्नुहोस्"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"सञ्जाल बिर्सन विफल"</string>
     <string name="wifi_save" msgid="2312643132472226807">"सेभ गर्नुहोस्"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"सञ्जाल बचत गर्न विफल"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"रद्द गर्नुहोस्"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"मोबाइल डेटा"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"इथरनेट"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ चार्ज गरिँदै छ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ चार्ज गरिँदै छ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"हटस्पट कनेक्सन"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"कनेक्सनको क्षमता"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"सेभ गरिएका नेटवर्कहरू"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"पासवर्ड सेट गरिएको छैन"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"हटस्पटको नाम"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"हटस्पटको पासवर्ड"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP ब्यान्ड"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"हटस्पट स्वतः अफ गरियोस्"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"कुनै पनि डिभाइस कनेक्ट नभएका बेला"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"कम्प्याटिबिलिटी बढाइयोस्"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"श्वेत सन्तुलन देखाउनुहोस्"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"फोल्ड गर्दा एपहरू प्रयोग गरिराखियोस्"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"केही सामग्रीका हकमा रिफ्रेस रेट स्वतः ६० हर्जबाट बढाएर <xliff:g id="ID_1">%1$s</xliff:g> हर्ज बनाउँछ। यसले गर्दा ब्याट्रीको खपत बढ्छ।"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"गेमको फ्रेम रेटसम्बन्धी डिफल्ट सेटिङ अफ गर्नुहोस्"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"गेमको अधिकतम फ्रेम रेट <xliff:g id="FRAME_RATE">%1$d</xliff:g> हर्ज सीमित गर्ने सेटिङ अफ गर्नुहोस्।"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"यसले केही सामग्रीका हकमा रिफ्रेस रेट स्वतः बढाएर <xliff:g id="ID_1">%1$d</xliff:g> हर्जसम्म बनाउँछ। यसले गर्दा ब्याट्रीको खपत बढ्छ।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"रिफ्रेस गर्ने दर बलपूर्वक सबैभन्दा बढी बनाउनुहोस्"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"स्क्रिनमा छुँदा स्क्रिनले जनाउने प्रतिक्रिया र एनिमेसनको गुणस्तर सुधार्न उच्चतम रिफ्रेस रेट। ब्याट्रीको खपत बढाउँछ।"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"स्क्रिनमा हेरिरहँदा"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"कुनै व्यक्तिले स्क्रिनमा हेरिरहेको छ या छैन भन्ने कुरा पत्ता लगाउन \"स्क्रिनमा हेरिरहँदा\" नामक सेटिङले अगाडिको क्यामेरा प्रयोग गर्दछ। यसले यो डिभाइसभित्रै मात्र काम गर्छ र कहिल्यै पनि फोटो भण्डारण गर्ने वा Google मा पठाउने काम गर्दैन।"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"स्क्रिनमा हेरिरहँदा स्क्रिन सक्रिय राख्ने सुविधा अन गर्नुहोस्"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"स्क्रिनमा हेरिरहेका बेला स्क्रिन सक्रिय राखियोस्"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"लामो समयसम्म स्क्रिन टाइमआउट रह्यो भने बढी ब्याट्री खपत हुने छ।"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"क्यामेरा लक गरिएको छ"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"अनुहार पत्ता लगाउने सुविधा प्रयोग गर्न क्यामेरा अनिवार्य रूपमा अनलक गर्नु पर्छ"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"स्क्रिनमा हेरिरहेको पहिचान गर्ने सुविधा प्रयोग गर्न क्यामेरा अनलक गरिएको हुनु पर्छ"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM स्लट <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM स्लट <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (प्राथमिक)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"हेर्नका लागि, सेभ गरिएको नेटवर्क छनौट गर्नुहोस्"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"मिनेट"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL संस्करण"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ब्याट्री स्तर"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"सामुदायिक"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"समुदायसम्बन्धी सेटिङ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"एक्सेस पोइन्ट सम्पादन गर्नुहोस्"</string>
+    <string name="apn_add" msgid="9069613192201630934">"एक्सेस पोइन्ट हाल्नुहोस्"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"सेट गरिएको छैन"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"सेट गरिएको छैन"</string>
     <string name="apn_name" msgid="6677695784108157953">"नाम"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN अन गरिएको छ"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN अफ गरिएको छ"</string>
     <string name="bearer" msgid="3231443241639159358">"वाहक"</string>
+    <string name="network_type" msgid="748590707422733595">"नेटवर्कको प्रकार"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"नतोकिएको"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO को प्रकार"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO मान"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN मेटाउनुहोस्"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"सेभ गर्नुहोस्"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"रद्द गर्नु…"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"apn को डुप्लिकेट इन्ट्री।"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"नाम फिल्ड खाली हुन सक्तैन।"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN खाली हुन सक्तैन।"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC क्षेत्र कम से कम ३ अङ्कको हुनु पर्छ।"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC क्षेत्रमा २ वा ३ अंकहरू हुनुपर्दछ"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"सेवा प्रदायकले %s प्रकारका APN हरू थप्ने अनुमति दिँदैन।"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC फिल्ड अनिवार्य रूपमा वैध हुनु पर्छ।"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"डिफल्ट APN सेटिङहरू पुनःप्राप्त गर्दै।"</string>
     <string name="menu_restore" msgid="4310539620115151551">"रिसेट गरी डिफल्ट बनाउनुहोस्"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"डिफल्ट APN सेटिङहरू रिसेट पुरा भयो।"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"रिसेट गर्नुहोस्"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ब्लुटुथ र Wi-Fi रिसेट गरिएका छन्"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM हरू मेटाउनुहोस्"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"यसो गर्दा मोबाइल सेवाका कुनै पनि योजना रद्द हुने छैनन्। अर्को सिम डाउनलोड गर्न आफ्नो मोबाइल सेवा प्रदायकलाई सम्पर्क गर्नुहोस्।"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"यसले तपाईंको मोबाइल सेवा योजना रद्द गर्ने छैन। नयाँ SIM प्राप्त गर्न आफ्नो टेलिफोन कम्पनीमा सम्पर्क गर्नुहोस्।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"सेटिङहरू रिसेट गर्नुहोस्"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"नेटवर्कसम्बन्धी सबै सेटिङहरू रिसेट गर्ने हो? तपाईं यो कार्य उल्टाउन सक्नुहुन्न।"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"नेटवर्कसम्बन्धी सबै सेटिङ रिसेट गर्ने अनि eSIM हरू मेटाउने हो? तपाईं यो कार्य अन्डू गर्न सक्नुहुन्न।"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"रिसेट गर्ने हो?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"नेटवर्क रिसेट यो प्रयोगकर्ताको लागि उपलब्ध छैन"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"सञ्जाल सेटिङहरू रिसेट गरियो"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM हरू मेट्न सकिँदैन"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"कुनै त्रुटि भएका कारण eSIM हरू मेटाउन सकिएन।\n\nआफ्नो डिभाइस रिस्टार्ट गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM हरू मेटाउन सकिएन"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"कुनै समस्या आएकाले तपाईंका eSIM हरू मेटाउन सकिएन।\n\nआफ्नो डिभाइस रिस्टार्ट गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
     <string name="main_clear_title" msgid="277664302144837723">"सबै डेटा मेटाउनुहोस् (फ्याक्ट्री रिसेट गर्नुहोस्)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"सबै डेटा मेटाउनुहोस् (फ्याक्ट्री रिसेट गर्नुहोस्)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"सङ्गीत"</li>\n<li>"फोटोहरू"</li>\n<li>"प्रयोगकर्ताको अन्य डेटा"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM हरू"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"यसो गर्नुभयो भने तपाईंको मोबाइल सेवा योजना रद्द गरिने छ।"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"तपाईंका सबै व्यक्तिगत जानकारी र डाउनलोड गरिएका एपहरू मेटाइने छन्। तपाईं यो कार्य अन्डू गर्न सक्नुहुन्न।"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"तपाईंका डाउनलोड गरिएका एप तथा SIM लगायत सबै व्यक्तिगत जानकारी मेटाइने छन्। तपाईं यो कार्य अन्डू गर्न सक्नुहुन्न।"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"तपाईंका डाउनलोड गरिएका एप तथा eSIM लगायत सबै व्यक्तिगत जानकारी मेटाइने छन्। तपाईं यो कार्य अन्डू गर्न सक्नुहुन्न।"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"सबै डेटा मेट्ने हो?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"यी प्रयोगकर्ताले फ्याक्ट्री रिसेट गर्न पाउँदैनन्"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"मेटाइँदै छ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"हटस्पट, USB, ब्लुटुथ, इथरनेट"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"अन्य डिभाइससँग इन्टरनेट बाँडिएको छैन"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"अफ छ"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"टेदरिङ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi हटस्पट प्रयोग नगर्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB बाट मात्रै इन्टरनेट बाँड्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ब्लुटुथबाट मात्रै इन्टरनेट बाँड्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"इथरनेटबाट मात्रै इन्टरनेट सेयर गर्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB र ब्लुटुथबाट मात्रै इन्टरनेट बाँड्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB र इथरनेटबाट मात्रै इन्टरनेट सेयर गर्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ब्लुटुथ र इथरनेटबाट मात्रै इन्टरनेट सेयर गर्नुहोस्"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"UBS, ब्लुटुथ र इथरनेटबाट मात्रै इन्टरनेट सेयर गर्नुहोस्"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB टेदरिङ"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ब्लुटुथ टेदर गर्दै"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"इथरनेट टेदरिङ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"आफ्नो Wi‑Fi वा मोबाइल डेटा इन्टरनेटमार्फत अन्य डिभाइसमा इन्टरनेट उपलब्ध गराउन हटस्पट र टेदरिङ प्रयोग गर्नुहोस्। एपहरूले पनि वरपरका डिभाइसहरूसँग सामग्री सेयर गर्न हटस्पट सिर्जना गर्न सक्छन्।"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"मद्दत"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"मोबाइल नेटवर्क"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"मोबाईल योजना"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS एप"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS एप परिवर्तन गर्ने हो?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"तपाईँको <xliff:g id="CURRENT_APP">%2$s</xliff:g> SMS एपको सट्टामा <xliff:g id="NEW_APP">%1$s</xliff:g> प्रयोग गर्नुहुन्छ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi-Fi सहायक परिवर्तन गर्नुहुन्छ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"तपाईँको सञ्जाल जडानहरू व्यवस्थापन गर्न <xliff:g id="CURRENT_APP">%2$s</xliff:g> सट्टामा <xliff:g id="NEW_APP">%1$s</xliff:g> प्रयोग गर्ने?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"तपाईँको सञ्जाल जडानहरू व्यवस्थापन गर्न <xliff:g id="NEW_APP">%s</xliff:g> प्रयोग गर्ने?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"अज्ञात SIM सञ्चालक"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> को प्रावधानीकरणको कुनै ज्ञात वेबसाइट छैन"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"कृपया SIM कार्ड भित्र राखेर पुनः स्टार्ट गर्नुहोस्"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"कृपया इन्टरनेटसँग जोड्नुहोस्"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"हालका स्थान अनुरोधहरू"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"काम प्रोफाइलका लागि स्थान"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"एपलाई दिइएको लोकेसन प्रयोग गर्ने अनुमति"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"पहुँच खाली गर्नुहोस्"</string>
     <string name="controls_label" msgid="8671492254263626383">"नियन्त्रणहरू"</string>
     <string name="force_stop" msgid="2681771622136916280">"जबरजस्ती रोक्नुहोस्"</string>
+    <string name="archive" msgid="9074663845068632127">"अभिलेखमा राख्नुहोस्"</string>
+    <string name="restore" msgid="7622486640713967157">"रिस्टोर गर्नुहोस्"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"रिस्टोर गरिँदै छ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"रिस्टोर गरिँदै छ."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"रिस्टोर गरिँदै छ.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"रिस्टोर गरिँदै छ..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"कूल"</string>
     <string name="application_size_label" msgid="6407051020651716729">"एपको आकार"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB भण्डारण एप"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"प्याकेज आकार गणना गर्न सकिएन।"</string>
     <string name="version_text" msgid="7628938665256107608">"संस्करण <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"सार्नुहोस्"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"अभिलेखमा राख्न सकिएन"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"अभिलेखमा राखिएको <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"रिस्टोर गर्न सकिएन"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> रिस्टोर गरिँदै छ"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"अर्को माइग्रेसन पहिलेदेखि नै जारी छ।"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"पर्याप्त भण्डारण ठाउँ छैन।"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"एप छैन"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"उपलब्ध अनस्क्रिन किबोर्ड"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"अनस्क्रिन किबोर्डहरूको व्यवस्थापन गर्नुहोस्"</string>
     <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="6922850403920596246">"भौतिक किबोर्डमा एक्सेसिबिलिटी सुविधा प्रयोग गर्न बाउन्स की अन गर्नुहोस्"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"स्लो की"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"भौतिक किबोर्डमा एक्सेसिबिलिटी सुविधा प्रयोग गर्न स्लो की अन गर्नुहोस्"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"स्टिकी की"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"भौतिक किबोर्डमा एक्सेसिबिलिटी सुविधा प्रयोग गर्न स्टिकी की अन गर्नुहोस्"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"थप विकल्पहरू हेर्न टचप्याडको पुछारको दायाँ कुनामा ट्याप गर्नुहोस्"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"पोइन्टरको गति"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"टचप्याड इसाराहरूका बारेमा जानकारी"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"होमपेजमा जाने तरिका"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"टचप्याडको जुनसुकै ठाउँमा तीन वटा औँलाले माथितिर स्वाइप गर्नुहोस्"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"पछाडि जाने तरिका"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"प्रयोग गरिएको समयअनुसार क्रमबद्ध गर्नुहोस्"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"पछिल्लो पटक प्रयोग गरिएको समयअनुसार क्रमबद्ध गर्नुहोस्"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"एपको नामअनुसार क्रमबद्ध गर्नुहोस्"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"पछिल्लो समय प्रयोग गरिएको"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"पछिल्लो पटक प्रयोग गरिएको"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"कहिल्यै नखोलिएका एपहरू"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"उपयोग समय"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"एक्सेसिबिलिटी"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"उपलब्धता सेटिङहरू"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"तीन ट्यापमा म्याग्निफाइ गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"सर्टकट प्रयोग गरी म्याग्निफाइ गर्नुहोस्"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"सर्टकट र तीन पटक ट्याप गरेर म्याग्निफाइ गर्नुहोस्"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>का बारेमा"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"खोल्नका लागि एक्सेसिबिलिटी बटन प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"खोल्नका लागि भोल्युम कीहरू थिचिराख्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"यसलाई खोल्न स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"खोल्न स्क्रिनमा दुई वटा औँलाले डबल ट्याप गर्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"खोल्नका लागि इसाराको प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"एक्सेसिबिलिटी जेस्चर प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"यो सुविधा प्रयोग गर्न आफ्नो स्क्रिनको पुछारमा रहेको पहुँचसम्बन्धी बटन <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> मा ट्याप गर्नुहोस्।\n\n एउटा सुविधाबाट अर्को सुविधामा जान पहुँचसम्बन्धी बटनमा थिचिराख्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"यो सुविधा प्रयोग गर्न स्क्रिनमा भएको एक्सेसिबिलिटी बटनमा ट्याप गर्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"यो सुविधा प्रयोग गर्न दुवै भोल्युम की थिचिराख्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"म्याग्निफिकेसन सुविधा सुरु गर्न वा रोक्न आफ्नो स्क्रिनमा कतै तीन पटक ट्याप गर्नुहोस्।"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"जुम इन गर्ने सुविधा अन तथा अफ गर्न स्क्रिनको जुनसुकै ठाउँमा दुई वटा औँलाले डबल ट्याप गर्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"यो सुविधा प्रयोग गर्न २ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"यो सुविधा प्रयोग गर्न ३ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान ३ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"पहुँचसम्बन्धी कुनै सुविधा प्रयोग गर्न २ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान २ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"पहुँचसम्बन्धी कुनै सुविधा प्रयोग गर्न ३ वटा औँलाले स्क्रिनको पुछारबाट माथितिर स्वाइप गर्नुहोस्।\n\nएउटा सुविधाबाट अर्को सुविधामा जान ३ वटा औँलाले माथितिर स्वाइप गरी स्क्रिनमा थिचिराख्नुहोस्।"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"बुझेँ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"एक्सेसिबिलिटी बटनसम्बन्धी सेटिङ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"बटनसम्बन्धी सेटिङ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>को सर्टकट"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"एक्सेसिबिलिटी बटन"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"एक्सेसिबिलिटी जेस्चर"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"भोल्युम कीहरू थिचिरहनुहोस्"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"भोल्युम कीहरू थिचिराख्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"दुवै भोल्युम की थिचिराख्नुहोस्"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"स्क्रिनमा दुई वटा औँलाले डबल ट्याप गर्नुहोस्"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"स्क्रिनमा दुई वटा औँलाले डबल ट्याप गर्नुहोस्"</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="6863958573135995927">"स्क्रिनमा तीन पटक ट्याप गर्नुहोस्"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"स्क्रिनमा द्रुत रूपमा {0,number,integer} पटक ट्याप गर्नुहोस्। यो सर्टकट प्रयोग गर्दा तपाईंको डिभाइस ढिलो चल्न सक्छ"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"एक्सेसिबिलिटी बटन र जेस्चरका बारेमा थप जान्नुहोस्"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"एक्सेसिबिलिटी बटन प्रयोग गरिँदै छ। यो जेस्चर ३ बटनमार्फत गरिने नेभिगेसनका सहायताले प्रयोग गर्न मिल्दैन।"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"एक्सेसिबिलिटी सुविधा तुरुन्तै प्रयोग गर्नुहोस्"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"सुरुवात गर्नका लागि"</b>\n"१. एस्सेसिबिलिटी सेटिङमा जानुहोस्\n२. कुनै सुविधा चयन गर्नुहोस् र सर्टकटमा ट्याप गर्नुहोस्\n३. यो सुविधा प्रयोग गर्ने प्रयोजनका लागि तपाईं बटन प्रयोग गर्न चाहनुहुन्छ कि जेस्चर प्रयोग गर्न चाहनुहुन्छ छनौट गर्नुहोस्"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"सुरुवात गर्नका लागि"</b>\n"१. एस्सेसिबिलिटी सेटिङमा जानुहोस्\n२. कुनै सुविधा चयन गर्नुहोस् र सर्टकटमा ट्याप गर्नुहोस्\n३. कुन बटन थिचेर यो सुविधा चलाउन सकिन्छ भन्ने कुरा छनौट गर्नुहोस्"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"बटन वा जेस्चर प्रयोग गर्नुहोस्"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"स्थान"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"आकार"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"पावर बटन थोच्दा फोन काटियोस्"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ठुलो माउस पोइन्टर"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"माउस पोइन्टर अझ राम्रोसँग देखिने बनाउनुहोस्"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"सबै एपमा अँध्यारो थिम लागू गर्नुहोस्"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"डिफल्ट रूपमा अँध्यारो थिम लागू नगरिएका एपहरूमा लागू हुन्छ। केही एपहरूमा उल्ट्याइएका रङ जस्ता डिस्प्लेसम्बन्धी समस्याहरू हुन सक्छन्।"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"एनिमेसन हटाइयोस्"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"स्क्रिनमा मोसन कम गर्नुहोस्"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"मोनो अडियो"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"भाइब्रेसन र ह्याप्टिक्स प्रयोग गरियोस्"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"अलार्म भाइब्रेसन"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"मिडिया भाइब्रेसन"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"किबोर्ड भाइब्रेसन"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"घन्टीको भाइब्रेसन"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"सूचना आएको जनाउन भाइब्रेट हुँदा"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"टच गर्दाको भाइब्रेसन"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"रोक्नुहोस्"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"रद्द गर्नु⋯"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> बन्द गर्ने हो?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"तपाईंले <xliff:g id="STOP">%1$s</xliff:g> मा ट्याप गर्नुभयो भने <xliff:g id="SERVICE">%2$s</xliff:g> बन्द हुन्छ।"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"अफ गर्नुहोस्"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"अन नै छाड्नुहोस्"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> अफ गर्ने हो?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"कुनै पनि सेवाहरू स्थापित छैनन्"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"कुनै पनि सेवा चयन गरिएको छैन"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"वर्णन प्रदान गरिएको छैन।"</string>
     <string name="settings_button" msgid="2195468788019730377">"सेटिङहरू"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"प्रकाशको संवेदनशीलता, फोटोफोबिया, अँध्यारो थिम, माइग्रेन, टाउको दुख्नु, रिडिङ मोड, रात्रि मोड, चमक घटाउनुहोस्, ह्वाइट पोइन्ट"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"प्रयोग गर्न सजिलो, पहुँच राख्न सजिलो, सहायता, सहायक"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"दृश्य, श्रवण शक्ति, दृष्टिविहीन, मोटर, निपुणता, सहायक, सहायता, प्रयोग गर्न सजिलो, एक्सेस गर्न सजिलो, हात, मद्दत"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"विन्डो म्याग्निफायर, जुम, जुम इन, कमजोर दृष्टि, ठुलो पार्नुहोस्, अझ ठुलो पार्नुहोस्"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"क्याप्सन, क्लोज्ड क्याप्सन, CC, लाइभ ट्रान्स्क्राइब, कमजोर श्रवण शक्ति, कान राम्रोसँग नसुन्ने समस्या, CART, स्पिच-टू-टेक्स्ट, सबटाइटल"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"कलर कन्ट्रास्ट"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"मांसपेशीको चाल, माउस"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"श्रवण यन्त्र, कमजोर श्रवण शक्ति, कान राम्रोसँग नसुन्ने समस्या, कक्लियर इम्प्लान्ट, एम्प्लिफिकेसन डिभाइस, साउन्ड प्रोसेसर"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"मोटर, माउस, बाह्य माउस, हेड माउस, एड्याप्टिभ माउस, ह्विलचेयर, जोयस्टिक"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"श्रवण यन्त्र, कमजोर श्रवण शक्ति, कान राम्रोसँग नसुन्ने समस्या, कक्लियर इम्प्लान्ट, एम्प्लिफिकेसन डिभाइस, साउन्ड प्रोसेसर, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"कमजोर श्रवण शक्ति, कान राम्रोसँग नसुन्ने समस्या, क्याप्सन, टेलिटाइप, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"तीन बटन"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"निपुणता, मोटर, ज्येष्ठ नागरिक, अर्थोटिक्स, rsi, स्टरोक, ट्रेमर, मल्टीपल स्क्लेरोसिस, सेरेब्रल पाल्सी, काम्ने रोग, शरिरका अङ्ग बारम्बार गल्ने रोग, हात"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ढिलाइ, निपुणता, ज्येष्ठ नागरिक"</string>
     <string name="print_settings" msgid="8519810615863882491">"प्रिन्टिङ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"निष्क्रिय छ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{प्रिन्टसम्बन्धी एउटा सेवा अन छ}other{प्रिन्टसम्बन्धी # वटा सेवा अन छन्}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> बाँकी"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> चार्जमा"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"स्क्रिन टाइम"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ब्याकग्राउन्ड टाइम"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ब्याट्री कम छ"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"एपलाई पृष्ठभूमिमा चल्न अनुमति दिनुहोस्"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"पृष्ठभूमिको गतिविधिलाई सीमित गर्ने हो?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"तपाईंले कुनै एपको पृष्ठभूमिको गतिविधिलाई सीमित गर्नुभयो भने यसले सही तरिकाले काम नगर्न सक्छ"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"यो एपलाई ब्याट्री अप्टिमाइज गर्न भनी सेट नगरिएको हुनाले तपाईं यसमा बन्देज लगाउन सक्नुहुन्न।\n\nएपमा बन्देज लगाउन पहिले ब्याट्री अप्टिमाइजेसन सुविधा अन गर्नुहोस्।"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ब्याट्रीको खपत व्यवस्थापन गर्नुहोस्"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ब्याकग्राउन्डमा प्रयोग गर्न दिनुहोस्"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"रियल टाइममा अद्यावधिक जानकारी प्राप्त गर्न अन गर्नुहोस्, ब्याट्री बढी टिकाउन अफ गर्नुहोस्"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"असीमित"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"अप्टिमाइज गरिएको"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"प्रतिबन्धित"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ब्याट्री सबैभन्दा धेरै खपत गर्ने एपहरू हेर्नुहोस्"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"तपाईंको डिभाइसको ब्याट्री जोगाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिन्छ"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"तपाईंको डिभाइसको ब्याट्रीको आयु बढाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिन्छ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"तपाईंको डिभाइसको ब्याट्री जोगाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिएको छ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"तपाईंको डिभाइस डक गरिएका बेला उक्त डिभाइसको ब्याट्रीको आयु बढाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिन्छ"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"तपाईंको डिभाइसको ब्याट्री जोगाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिन्छ"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"तपाईंको डिभाइस डक गरिएका बेला उक्त डिभाइसको ब्याट्रीको आयु बढाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिन्छ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"फुल चार्ज गरिँदै छ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"अर्को पटक तपाईंको ट्याब्लेट डक गरिएका बेला उक्त ट्याब्लेटको ब्याट्री जोगाउने प्रयोजनका लागि चार्ज गर्ने प्रक्रिया अप्टिमाइज गरिने छ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"\"चार्ज गर्ने कार्य रोकिएको छ\" का बारेमा थप जान्नुहोस्"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"चार्जिङ सुचारु गर्नुहोस्"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"यसले उच्च क्षमतायुक्त पृष्ठभूमिको गतिविधि समावेश गर्दछ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"यो एप ब्याकग्राउन्डमा ब्याट्रीको खपत गर्न सक्षम हुने छ। तपाईंको ब्याट्री अपेक्षा गरेभन्दा चाँडै सकिन सक्छ।"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"हटाउनुहोस्"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"रद्द गर्नुहोस्"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"फुल चार्ज गर्नुहोस्"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"चार्ज गर्ने एक्सेसरीमा कुनै समस्या आयो"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"चार्जिङ एक्सेसरी जाँच्नुहोस्"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"नमिल्दो चार्जिङका बारेमा थप जान्नुहोस्"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ब्याट्री प्रबन्धक"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"एपहरूलाई स्वतः व्यवस्थित गर्नुहोस्"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"पछिल्लो पटक पूरा चार्ज गरेदेखि अहिलेसम्म"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"सिस्टम एपहरू"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"अनइन्स्टल गरिएका एपहरू"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"अन्य"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"अनुमानित बाँकी समय"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"पूर्ण चार्ज नभएसम्म"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"कुल समय: एक मिनेटभन्दा कम"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ब्याकग्राउन्डमा चलाइएको समय: एक मिनेटभन्दा कम"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"स्क्रिन टाइम: एक मिनेटभन्दा कम"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"एक मिनेटभन्दा कम समय"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"कुल समय: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ब्याकग्राउन्डमा चलाइएको समय: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"स्क्रिन टाइम: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"अहिले"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ब्याट्रीको खपत देखाइएको चार्ट"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"दैनिक ब्याट्रीको खपतसम्बन्धी चार्ट"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"प्रति घण्टा ब्याट्रीको खपतसम्बन्धी चार्ट"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ब्याट्रीको स्तरको प्रतिशत <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> देखि <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> सम्म छ"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"पछिल्लो पटक पूरा चार्ज गरेदेखि अहिलेसम्म भएको ब्याट्रीको खपत"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> का बीचमा खपत भएको ब्याट्री"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"पछिल्लो पटक पूरा चार्ज गरेदेखि अहिलेसम्मको स्क्रिन टाइम"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"इमर्जेन्सी डाइलिङसम्बन्धी सङ्केत"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"आपातकालीन कल राखिएको बेलाको व्यवहार सेट गर्नुहोस्"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ब्याकअप"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"सक्रिय छ"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"निष्क्रिय छ"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ब्याकअप र पुनःस्थापना गर्नुहोस्"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"व्यक्तिगत डेटा"</string>
     <string name="backup_data_title" msgid="507663517227498525">"मेरो डेटा ब्याकअप गर्नुहोस्।"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"मोबाइल डेटा तथा Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"व्यक्तिगत डेटा अटोसिंक गरियोस्"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"कार्यसम्बन्धी डेटा अटोसिंक गरियोस्"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"निजी डेटा स्वतः सिंक गरियोस्"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"साइकल परिवर्तन गर्नुहोस्..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"महिनाको दिनमा डेटाको प्रयोग चक्र रिसेट गर्ने:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"यस समयमा कुनै अनुप्रयोगले डेटाको प्रयोग गरेन।"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"नाम"</string>
     <string name="vpn_type" msgid="5533202873260826663">"प्रकार"</string>
     <string name="vpn_server" msgid="2908816134941973935">"सर्भर एड्रेस"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP इन्क्रिप्सन (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP गोप्य"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec पहिचानकर्ता"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec को अग्रिम रूपमा सेयर गरिएको कि"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec प्रयोगकर्ता सर्टिफिकेट"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA सर्टिफिकेट"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec सर्भर सर्टिफिकेट"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"उन्नत विकल्पहरू देखाइयोस्"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS सर्च डोमेन"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS सर्भर (उदाहरण ८.८.८.८)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"फर्वार्डिङ रुट (जस्तै 10.0.0.0 / 8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"एक-पटके टेक्स्ट म्यासेज"</string>
     <string name="vpn_password" msgid="1183746907642628127">"पासवर्ड:"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"खाता सम्बन्धी जानकारी सेभ गर्नुहोस्"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(प्रयोग गरिएको छैन)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(सर्भरको पुष्टि नगर्नुहोस्)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(सर्भरबाट प्राप्त)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"यस प्रकारको VPN सधैँ कनेक्ट गरिरहन मिल्दैन"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"सधैँ सक्रिय रहने VPN ले संख्यात्मक सर्भर ठेगानाहरूलाई मात्र समर्थन गर्छ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"सधैँ सक्रिय रहने VPN का लागि DNS सर्भर निर्दिष्ट गरिएको हुनु पर्छ"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"सधैँ सक्रिय रहने VPN का लागि DNS ठेगानाहरू संख्यात्मक नै हुनु पर्छ"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"हालिएको जानकारीको आधारमा \"VPN सधैँ खुला राख्नुहोस्\" प्रयोग गर्न मिल्दैन"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"रद्द गर्नुहोस्"</string>
     <string name="vpn_done" msgid="5137858784289564985">"खारेज गर्नुहोस्"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN रहित जडानहरूमाथि रोक लगाउनुहोस्"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN जडान आवश्यक छ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"सुरक्षित छैन। अपडेट गरी IKEv2 VPN बनाउनुहोस्"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"प्रयोग गर्न नमिल्ने VPN अन गर्न सकिएन।"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"सधैँ जडान भइरहन VPN प्रोफाइल चयन गर्नुहोस्। यस VPN जडान भएको बेला नेटवर्क ट्राफिकलाई मात्र अनुमति हुने छ।"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"कुनै पनि होइन"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"सधैँ चल्ने VPN लाई IP एड्रेस दुबै सर्भर र DNS का लागि चाहिन्छ।"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER चेतावनीहरू"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"बच्चा अपहरण बारेमा बुलेटिनहरू प्राप्त"</string>
     <string name="repeat_title" msgid="8676570486899483606">"दोहोर्‍याउनुहोस्"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"कल प्रबन्धक सक्षम गर्नुहोस्"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"तपाईँका कलहरू कसरी गरिन्छ व्यवस्थित गर्न यो सेवालाई अनुमति दिनुहोस्।"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"प्रबन्धक कल"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"आपत्‌कालीन वायरलेस अलर्टहरू"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"सञ्जाल संचालकहरू"</string>
     <string name="access_point_names" msgid="5768430498022188057">"बिन्दु नामहरूमा पहुँच"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM को स्थिति"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM को स्थिति (SIM स्लट %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM हरू बदलिएका छन्।"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"तपाईंका SIM बदलिएका छन्"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"सेटअप गर्न ट्याप गर्नुहोस्"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"प्रत्येक पटक सोधियोस्"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"छनौट आवश्यक छ"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"हालैका एपहरू, डिफल्ट एपहरू"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"कार्य प्रोफाइलका अनुप्रयोगहरूको सूचनामाथि पहुँच छैन।"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"पासवर्ड र खाताहरू"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"सेभ गरिएका पासवर्ड, अटोफिल गर्ने सुविधा, सिंक गरिएका खाता"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"साइन इन र अटोफिलसम्बन्धी सुझावहरू"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"डिफल्ट एपहरू"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"क्लोन गरिएका एपहरू"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"एकै पटक दुई वटा खाता प्रयोग गर्न एप क्लोन गर्नुहोस्।"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"भुक्तानी गर्नुहोस्, ट्याप गर्नुहोस्, भुक्तानी"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ब्याकअप, ब्याकअप गर्नुहोस्"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"इसारा"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"फेस, अनलक, अधिकार दिने कार्य, साइन इन"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"फेस, अनलक, प्रमाणीकरण, साइन इन गर्नुहोस्, फिंगरप्रिन्ट, बायोमेट्रिक"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl संस्करण, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"पाठको आकार, ठुलो आकारको पाठ, ठुलो फन्ट, ठुलो पाठ, कमजोर दृष्टि, पाठ अझ ठुलो बनाउनुहोस्, फन्ट ठुलो बनाउने टुल, फन्ट ठुलो बनाउने प्रक्रिया"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"सधैँ अन हुने एम्बियन्ट डिस्प्ले, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, ट्याग, रिडर"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"किबोर्ड, ह्याप्टिक्स, भाइब्रेट"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"भोल्युम, भाइब्रेसन, Do Not Disturb"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"मिडियाको भोल्युम"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"भोल्युम cast गर्नुहोस्"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"यन्त्र सक्रिय हुँदाका ध्वनिहरू"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"लाइभ क्याप्सन"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"मिडियाको स्वत: क्याप्सन बनाउनुहोस्"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"फोनका स्पिकरहरू"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ट्याब्लेटका स्पिकरहरू"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"डिभाइसका स्पिकरहरू"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"तारयुक्त हेडफोन"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"कम्प्याटिबल मिडियाको अडियो अझै इमर्सिभ हुन्छ"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"अफ छ"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"सबै सूचना देखाइयोस्"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"अनलक गरिँदा मात्र संवेदनशील जानकारी देखाइयोस्"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"कुनै सूचना नदेखाइयोस्"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"तपाईं लक स्क्रिन कसरी देखियोस् भन्ने चाहनुहुन्छ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"तपाईं आफ्नो लक स्क्रिनमा के कुरा देखाउन चाहनुहुन्छ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"लक स्क्रिन"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"कार्यसम्बन्धी सबै सूचना देखाइयोस्"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"कार्यसम्बन्धी संवेदनशील सामग्री लुकाइयोस्"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"हालसालैका वार्तालापहरू हटाइए"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"वार्तालाप हटाइएको छ"</string>
     <string name="clear" msgid="5092178335409471100">"हटाउनुहोस्"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> सँगको कुराकानी मेटाउनुहोस्"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"महत्त्वपूर्ण तथा संशोधित वार्तालापहरू यहाँ देखिने छन्"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"तपाईंले महत्त्वपूर्ण वार्तालापका रूपमा चिन्ह लगाएका वार्तालाप वा ती वार्तालापहरूमा गरिएका परिवर्तनहरू यहाँ देखिने छन्। \n\nवार्तालापसम्बन्धी सेटिङ परिवर्तन गर्न: \nस्क्रिनको सिरानबाट तलतिर स्वाइप गरेर पुल डाउन सेड खोल्नुहोस्, त्यसपछि कुनै वार्तालापमा टच एण्ड होल्ड गर्नुहोस्।"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"सानो बनाउनुहोस्"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"नोटिफिकेसन कुलडाउन"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"सबै सूचनाहरूमा कुलडाउन लागू गर्नुहोस्"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"तपाईंलाई एउटै एपबाट लगातार धेरै वटा सूचना प्राप्त भएमा सूचना आउँदा बज्ने घन्टीको भोल्युम बिस्तारै कम गर्नुहोस्"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"वार्तालापहरूमा कुलडाउन लागू गर्नुहोस्"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"तपाईंलाई छोटो अवधिमा एउटै च्याटबाट धेरै वटा म्यासेज प्राप्त भएमा सूचना आउँदा बज्ने घन्टीको भोल्युम बिस्तारै कम गर्नुहोस्"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"नोटिफिकेसन कुलडाउन प्रयोग नगर्नुहोस्"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"एउटै एपबाट बारम्बार सूचनाहरू आइरहे पनि, कहिल्यै सूचनाको भोल्यूम कम नगर्नुहोस्"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"अनलक भएका बेलामा मात्र भाइब्रेट गरियोस्"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"स्क्रिन अनलक भएका बेलामा मात्र भाइब्रेट गरियोस्"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"कार्य प्रोफाइलहरूमा लागू गर्नुहोस्"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"आफ्नो व्यक्तिगत प्रोफाइलमा लागू भएका नोटिफिकेसन कुलडाउन सेटिङ कार्य प्रोफाइलमा पनि लागू गर्नुहोस्"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR का सहायक सेवाहरू"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"इन्स्टल गरिएका कुनै पनि एपहरूले VR का सहायक सेवाहरूको रूपमा चल्ने अनुरोध गरेका छैनन्।"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> लाई VR सेवा चलाउने अनुमति दिने हो?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"अफ छ"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"एप पिनिङ"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"एप पिनिङ प्रयोग गरेर तपाईं हाल प्रयोगमा रहेको कुनै एपलाई अनपिन नगर्दासम्म स्क्रिनमा उक्त एप मात्र देखिने गरी पिन गर्न सक्नुहुन्छ। उदाहरणका लागि, तपाईं आफूले विश्वास गर्ने कुनै साथीलाई कुनै निश्चित गेम खेल्न दिँदा यो सुविधा प्रयोग गर्न सक्नुहुन्छ।"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"कुनै एप पिन गरिएका खण्डमा उक्त एपले अन्य एपहरू खोल्न सक्छ र तपाईंको डिभाइस चलाइरहेका व्यक्तिले तपाईंको व्यक्तिगत जानकारी हेर्न तथा प्रयोग गर्न सक्छन्। \n\nएप पिन गर्ने सुविधा प्रयोग गर्न: 	\n१. एप पिन गर्ने सुविधा अन गर्नुहोस् 	\n२. स्क्रिनसम्बन्धी विवरण खोल्नुहोस् 	\n३. स्क्रिनको सिरानमा रहेको एप जनाउने आइकनमा ट्याप गर्नुहोस्, त्यसपछि \"पिन गर्नुहोस्\" मा ट्याप गर्नुहोस्"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"कुनै एप पिन गरिएका खण्डमा उक्त एपले अन्य एपहरू खोल्न सक्छ र तपाईंको डिभाइस चलाइरहेका व्यक्तिले तपाईंको व्यक्तिगत जानकारी हेर्न तथा प्रयोग गर्न सक्छन्। \n\nतपाईं आफ्नो डिभाइस सुरक्षित रहने गरी अरू कसैलाई प्रयोग गर्न दिन चाहनुहुन्छ भने यो सुविधाको साटो अतिथि प्रयोगकर्ता नामक प्रयोग गरी हेर्नुहोस्। \n\nएप पिन गर्ने सुविधा प्रयोग गर्न: 	\n१. एप पिन गर्ने सुविधा अन गर्नुहोस् 	\n२. स्क्रिनसम्बन्धी विवरण खोल्नुहोस् 	\n३. स्क्रिनको सिरानमा रहेको एप जनाउने आइकनमा ट्याप गर्नुहोस्, त्यसपछि \"पिन गर्नुहोस्\" मा ट्याप गर्नुहोस्"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"कुनै एप पिन गरिएका खण्डमा उक्त एपले अन्य एपहरू खोल्न सक्छ र तपाईंको डिभाइस चलाइरहेका व्यक्तिले तपाईंको व्यक्तिगत जानकारी हेर्न तथा प्रयोग गर्न सक्छन्। \n\nएप पिनिङ प्रयोग गर्न: 	\n{0,number,integer}. एप पिनिङ अन गर्नुहोस् 	\n{1,number,integer}. विवरण खोल्नुहोस् 	\n{2,number,integer}. स्क्रिनको सिरानमा रहेको एप जनाउने आइकनमा ट्याप गर्नुहोस्, त्यसपछि \"पिन गर्नुहोस्\" मा ट्याप गर्नुहोस्"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"कुनै एप पिन गरिएका खण्डमा उक्त एपले अन्य एपहरू खोल्न सक्छ र तपाईंको डिभाइस चलाइरहेका व्यक्तिले तपाईंको व्यक्तिगत जानकारी हेर्न तथा प्रयोग गर्न सक्छन्। \n\nतपाईं आफ्नो डिभाइस सुरक्षित रहने गरी अरू कसैलाई प्रयोग गर्न दिन चाहनुहुन्छ भने यो सुविधाको साटो अतिथि प्रयोगकर्ता नामक सुविधा प्रयोग गरी हेर्नुहोस्। \n\nएप पिनिङ प्रयोग गर्न: 	\n{0,number,integer}. एप पिनिङ अन गर्नुहोस् 	\n{1,number,integer}. विवरण खोल्नुहोस् 	\n{2,number,integer}. स्क्रिनको सिरानमा रहेको एप जनाउने आइकनमा ट्याप गर्नुहोस्, त्यसपछि \"पिन गर्नुहोस्\" मा ट्याप गर्नुहोस्"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"कुनै एप पिन गरिएका बेला: \n\n•	व्यक्तिगत डेटा (जस्तै सम्पर्क ठेगाना र इमेलको सामग्री) \n		 हेर्न तथा प्रयोग गर्न मिल्ने हुन सक्छ \n•		पिन गरिएको एपले अन्य एपहरू खोल्न सक्छ \n\nआफ्नो फोन आफूले विश्वास गर्ने मान्छेहरूलाई प्रयोग गर्न दिँदा मात्र एप पिन गर्ने यो सुविधा प्रयोग गर्नुहोस्।"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"अनपिन गर्नअघि अनलक प्याटर्न माग्नुहोस्"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"अनपिन गर्नुअघि PIN मागियोस्"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"पिन निकाल्नुअघि पासवर्ड सोध्नुहोस्"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"अनपिन गर्दा डिभाइस लक गरियोस्"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"पुष्टि गरेपछि मात्र SIM मेटाइयोस्"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"तपाईं आफ्नो eSIM मेटाउन चाहनुहुन्छ भन्ने कुरा सुनिश्चित गर्नुहोस्"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM मेटाउनुअघि आफ्नो पहिचान पुष्टि गर्नुहोस्"</string>
     <string name="memtag_title" msgid="5096176296797727201">"मेमोरीको सुरक्षा गर्ने उन्नत सुविधाको बिटा संस्करण"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"मेमोरीको सुरक्षा गर्ने उन्नत सुविधा"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"प्रयोग नगरिएको एपसम्बन्धी सेटिङ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"एप प्रयोग नगरिएको अवस्थामा उक्त एपमा बिताएको समय रेकर्ड नगरियोस्"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"अनुमतिहरू रद्द गरियोस्, अस्थायी फाइलहरू मेटाइयोस् र एपसम्बन्धी सूचना नपठाइयोस्"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"एप प्रयोग गरिएको छैन भने व्यवस्थापन गरियोस्"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"अनुमति रद्द गरियोस्, अस्थायी फाइलहरू मेटाइयोस्, सूचना नपठाइयोस् र एप अभिलेखमा राखियोस्"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"सबै एपहरू"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"इन्स्टल गरिएका एपहरू"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"तात्कालिक एपहरू"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"उपलब्ध"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"अनुप्रयोगहरूद्वारा प्रयोग गरिएको मेमोरी"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{पछिल्लो {time} मा एउटा एपले मेमोरी प्रयोग गरेको छ}other{पछिल्लो {time} मा # वटा एपले मेमोरी प्रयोग गरेका छन्}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"मेमोरीको प्रयोग प्रोफाइलिङ गर्ने सुविधा अन गर्नुहोस्"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"मेमोरीको प्रयोग प्रोफाइलिङ गर्न सिस्टमसम्बन्धी थप स्रोतहरू चाहिन्छ।"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"मेमोरीको प्रयोग प्रोफाइलिङ गर्ने सुविधा अफ गरिएको छ"</string>
     <string name="running_frequency" msgid="7260225121706316639">"आवृत्ति"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"अधिकतम प्रयोग"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"डेटा प्रयोग गरिएको छैन"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"अरू एपमाथि देखाइयोस्"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"अन्य एपहरूमाथि देखिने अनुमति दिइयोस्"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"यो एपलाई तपाईंले प्रयोग गरिरहनुभएका अन्य एपमाथि देखिने अनुमति दिनुहोस्। यो एपले तपाईंले स्क्रिनमा कहाँ ट्याप गर्नुहुन्छ भन्ने कुराको जानकारी राख्न वा स्क्रिनमा देखाइएका कुराहरू परिवर्तन गर्न सक्छ।"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"मिडिया आउटपुट बदल्नुहोस्"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"मिडिया आउटपुट स्विच गर्न एपलाई अनुमति दिनुहोस्"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"यो एपलाई अन्य एपका अडियो वा भिडियो कनेक्ट गरिएको कुन डिभाइसबाट प्ले गर्ने भन्ने कुरा छनौट गर्न दिनुहोस्। तपाईंले अनुमति दिनुभयो भने यो एपले हेडफोन तथा स्पिकरहरू जस्ता उपलब्ध डिभाइसहरूको सूची एक्सेस गर्न र अडियो वा भिडियो कास्ट गर्न कुन चाहिँ आउटपुट डिभाइस प्रयोग गरिन्छ भन्ने कुरा छनौट गर्न सक्छ।"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"सबै फाइल हेर्ने तथा प्रयोग गर्ने अनुमति"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"सबै फाइलहरूको व्यवस्थापन गर्ने अनुमति दिइयोस्"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"यो एपलाई यो डिभाइस वा जोडिएको कुनै भण्डारणमा रहेका सबै फाइलहरू पढ्ने, परिमार्जन गर्ने तथा मेट्ने अनुमति दिनुहोस्। अनुमति दिइएका खण्डमा यो एपले तपाईंको स्पष्ट अनुमतिविनै फाइलहरू प्रयोग गर्नसक्छ।"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"सबै फाइलहरूमाथि पहुँच राख्न सक्छ।"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"बोलेर एक्टिभेट गर्न सकिने एपहरू"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"बोलेर एक्टिभेट गर्न दिइयोस्"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"बोलेर एक्टिभेट गर्ने सुविधाले बोलेर निर्देशन दिएकै भरमा अनुमति दिइएका एपहरू ह्यान्ड्सफ्री तरिकाले अन गर्छ। अन्तर्निर्मित एड्याप्टिभ सेन्सिङले तपाईंको जानकारी तपाईं मात्र हेर्न सक्नुहुन्छ भन्ने कुरा सुनिश्चित गर्छ।\n\n"<a href="">"प्रोटेक्टेड एड्याप्टिभ सेन्सिङका बारेमा थप जानकारी"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"फुल स्क्रिनमा सूचनाहरू देखाउने अनुमति"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"यो एपलाई सूचनाहरू फुल स्क्रिनमा देखाउने अनुमति दिनुहोस्"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"यो एपलाई डिभाइस लक भएका बेला फुल स्क्रिन ढाक्ने खालका सूचनाहरू देखाउने अनुमति दिनुहोस्। एपहरूले अलार्म, आगमन कल वा अन्य महत्त्वपूर्ण सूचनाहरू हाइलाइट गर्ने प्रयोजनका लागि फुल स्क्रिनमा सूचनाहरू देखाउन सक्छन्।"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"डेटाको खपतसम्बन्धी चेतावनी: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"डेटाको सीमा: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"डेटाको खपतसम्बन्धी चेतावनी: <xliff:g id="ID_1">^1</xliff:g> / डेटाको सीमा: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"तपाईंको वाहकले तपाईंको डिभाइसभन्दा फरक तरिकाले डेटाको गणना गर्न सक्छ"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"मोबाइल सेवा प्रदायकको नेटवर्कले प्रयोग गरेको डेटा समावेश गरिएको छैन"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> प्रयोग गरियो"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"डेटाको खपतसम्बन्धी चेतावनी दिइयोस्"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> अघि अद्यावधिक गरिएको"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> ले अहिले भर्खरै अद्यावधिक गरेको"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"अहिले भर्खरै अद्यावधिक गरिएको"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"योजना हेर्नुहोस्"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"विवरणहरू हेर्नुहोस्"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"डेटा सेभर"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"असीमित डेटा"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ले ब्याकग्राउन्डमा सामान्यभन्दा धेरै ब्याट्री खपत गरेको छ"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ले फोरग्राउन्डमा धेरै ब्याट्री खपत गरेको छ"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ले फोरग्राउन्डमा सामान्यभन्दा धेरै ब्याट्री खपत गरेको छ"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ब्याट्रीको खपतमा भएको असामान्य गतिविधि"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"धेरै ब्याट्री खपत गर्ने एप"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ब्याकग्राउन्डमा धेरै ब्याट्री खपत गर्ने एप"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"फोर्टफोरग्राउन्डमा धेरै ब्याट्री खपत गर्ने एप"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"द्रुत सेटिङसम्बन्धी विकासकर्ताका टाइलहरू"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb अनुमतिको टाइमआउट अफ गरियोस्"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"डिफल्ट अवधि (७ दिन) वा प्रयोगकर्ताले तोकेको समय (कम्तीमा १ दिन) भित्र पुनः कनेक्ट नगरिएका सिस्टमका adb अनुमति स्वतः खारेज गर्ने सेटिङ अफ गरियोस्।"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope को ट्रेस"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"सेन्सरहरू निष्क्रिय पार्नु…"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"कार्यसम्बन्धी प्रोफाइलको सेटिङ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"व्यक्तिगत एपहरूमा गई कामका डिरेक्टरीमा भएका कन्ट्याक्ट खोज्नुहोस्"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"सिस्टम नेभिगेसन, २ बटनमार्फत गरिने नेभिगेसन, ३ बटनमार्फत गरिने नेभिगेसन, इसाराले गरिने नेभिगेसन, स्वाइप"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"डिजिटल सहायक"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"स्वाइप गर्दा सहायक सुरु होस्"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"डिजिटल सहायक एप चलाउन थाल्न स्क्रिनको फेदको कुनाबाट माथितिर स्वाइप गर्नुहोस्।"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"डिजिटल सहायक एप सुरु गर्न स्क्रिनको फेदको कुनाबाट माथितिर स्वाइप गर्नुहोस्"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"सहायक खोल्न होम बटन थिचिराख्नुहोस्"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"डिजिटल सहायक एप खोल्न होम बटन थिचिराख्नुहोस्।"</string>
     <string name="low_label" msgid="6525629096999711220">"न्यून"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"अटोफिल सेवा"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"डिफल्ट अटोफिल सेवा"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"पासवर्डहरू"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"पासवर्ड, पासकी र डेटासम्बन्धी सेवा"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"थप प्रदायकहरू"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"रुचाइएको सेवा"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"अतिरिक्त सेवाहरू"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# पासवर्ड}other{# वटा पासवर्ड}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"स्वतः, भर्नुहोस्, अटोफिल, पासवर्ड"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"डेटा, पासकी, पासवर्ड"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"अटो, फिल, अटोफिल, डेटा, पासकी, पासवर्ड"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"परिवर्तन गर्नुहोस्"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"खोल्नुहोस्"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"कुनै पनि विधि चयन गरिएको छैन"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;तपाईं यो एपमाथि भरोसा गर्नुहुन्छ भन्ने कुरा पक्का गर्नुहोस्&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; यस एपले अटोफिल गर्न सकिने कुराहरूको निर्धारण गर्न तपाईंको स्क्रिनमा भएका वस्तुहरूको प्रयोग गर्छ।"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; प्रयोग गर्ने हो?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ले के-कस्ता जानकारी अटोफिल गर्न सकिन्छ भन्ने कुरा निर्धारण गर्न तपाईंको स्क्रिनमा भएका कुराहरू प्रयोग गर्छ। अबदेखि नयाँ पासवर्ड, पासकी तथा अन्य जानकारी यहाँ सेभ गरिने छन्।"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"पासवर्ड, पासकी र डेटासम्बन्धी सेवा"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; प्रयोग गर्ने हो?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; अबदेखि नयाँ पासवर्ड, पासकी तथा अन्य जानकारी यहाँ सेभ गरिने छन्। &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ले के-कस्ता जानकारी अटोफिल गर्न सकिन्छ भन्ने कुरा निर्धारण गर्न तपाईंको स्क्रिनमा भएका कुराहरू प्रयोग गर्न सक्छ।"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"पासवर्ड, पासकी र अटोफिलका हकमा रुचाइएको सेवा"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s अफ गर्ने हो?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;यो सेवा अफ गर्ने हो?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; तपाईंले साइन इन गर्दा सेभ गरिएका पासवर्ड, पासकी, भुक्तानी विधिलगायतका अन्य जानकारी अटोफिल हुने छैनन्। सेभ गरिएका जानकारी प्रयोग गर्न पासवर्ड, पासकी वा डेटा छनौट गर्नुहोस्।"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"पासवर्ड, पासकी र अटोफिल"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;सबै सेवाहरू अफ गर्ने हो?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; तपाईंले साइन इन गर्दा नयाँ पासवर्ड, पासकी तथा सेभ गरिएका अन्य जानकारी अटोफिल सुविधामा प्रयोग गर्न मिल्ने छैन"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;आफूलाई मन पर्ने सेवा परिवर्तन गरेर &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&amp;gt बनाउनुहोस्; अबदेखि नयाँ पासवर्ड, पासकी तथा अन्य जानकारी यहाँ सेभ गरिने छन्। &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ले के-कस्ता जानकारी अटोफिल गर्न सकिन्छ भन्ने कुरा निर्धारण गर्न तपाईंको स्क्रिनमा भएका कुराहरू प्रयोग गर्न सक्छ"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s प्रयोग गर्ने हो?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"अफ गर्नुहोस्"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"परिवर्तन गर्नुहोस्"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"तपाईं ५ वटा सेवाहरू मात्र अन गर्न सक्नुहुन्छ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"अर्को सेवा अन गर्न कम्तीमा एउटा सेवा अफ गर्नुहोस्"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ले के-कस्ता जानकारी स्वतः भर्न सकिन्छ भन्ने कुरा निर्धारण गर्न तपाईंको स्क्रिनमा भएका कुराहरू प्रयोग गर्छ।"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"पासवर्ड, पासकी र डेटासम्बन्धी सेवाहरूको सीमा"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"तपाईं उही समयमा बढीमा ५ वटा पासवर्ड, पासकी तथा डेटासम्बन्धी सेवा प्रयोग गर्न सक्नुहुन्छ। थप सेवा हाल्न हाल प्रयोगमा रहेको कुनै सेवा अफ गर्नुहोस्।"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"पासवर्ड, पासकी र डेटासम्बन्धी सेवाहरूको सीमा"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"तपाईं एक पटकमा बढीमा ५ वटा पासवर्ड, पासकी र डेटासम्बन्धी सेवा चयन गर्न सक्नुहुन्छ। थप सेवा चयन गर्न हाल प्रयोगमा रहेको कुनै सेवा अफ गर्नुहोस्।"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"अफ गर्नुहोस्"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"स्वतः भरण"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"लगिङ लेभल"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"डिबग गर्न मिल्ने एपहरूमा मात्र एपको कम्प्याटिबिलिटीसँग सम्बन्धित परिवर्तनहरू गर्न सकिन्छ। कुनै डिबग गर्न मिल्ने एप इन्स्टल गरी फेरि प्रयास गर्नुहोस्।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"अर्को सेटिङमा भर पर्छ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"खाता"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d वटा खाता"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"डिभाइसको नाम"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"आधारभूत जानकारी"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"कानुनी तथा नियामक"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"कुनै NFC ट्याग स्क्यान गरिँदा यो एपलाई सुरु हुने अनुमति दिनुहोस्।\nतपाईंले यो अनुमति दिनुभयो भने कुनै ट्याग पत्ता लाग्दा कारबाही गर्नका लागि देखाइने विकल्पमध्ये एउटा विकल्पका रूपमा यो एप उपलब्ध हुने छ।"</string>
     <string name="media_output_title" msgid="8283629315159510680">"मिडिया यसमा प्ले गर्नुहोस्"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"यसमा <xliff:g id="LABEL">%s</xliff:g> प्ले गर्नुहोस्"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"अडियो प्ले भइरहने छ"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"यो डिभाइस"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"कलहरूको बेला अनुपलब्ध"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"यसमार्फत फोन उठाउनुहोस्"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"म्युट गर्नुहोस्"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"तपाईंले पावर मेनुमा गएर \"पावर बटन थिचिराख्नुहोस्\" परिवर्तन गरेपछि मात्र यो सेटिङ अन गर्न मिल्छ।"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"नेटवर्कको विवरण"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"तपाईंको फोनमा रहेका एपको प्रयोग गरी तपाईंको डिभाइसको नाम हेर्न सकिन्छ। तपाईंले ब्लुटुथ चल्ने डिभाइसमा कनेक्ट गर्दा, कुनै Wi-Fi नेटवर्कमा कनेक्ट गर्दा वा कुनै Wi-Fi हटस्पट सेटअप गर्दा अरू मान्छेहरू पनि यसलाई देख्न सक्छन्।"</string>
     <string name="devices_title" msgid="649715719278562515">"यन्त्रहरू"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"नेटवर्क छनौट गर्नुहोस्‌"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"विच्छेद गरियो"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"नाम"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"रङ्ग (मिल्दा एपहरूले प्रयोग गरेका)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"सेभ गर्नुहोस्"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM प्रयोग गरियोस्"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"यो SIM प्रयोग गरियोस्"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"निष्क्रिय"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"यो SIM असक्षम पार्न SIM कार्ड हटाउनुहोस्"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> सक्रिय गर्न ट्याप गर्नुहोस्"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM मेट्नुहोस्"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"यो SIM अफ गर्न SIM कार्ड हटाउनुहोस्"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"आफ्नो <xliff:g id="CARRIER">%1$s</xliff:g> SIM एक्टिभेट गर्न ट्याप गर्नुहोस्"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM मेट्नुहोस्"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"रुचाइएको नेटवर्कको प्रकार"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"नेटवर्क अपरेटिङ मोड परिवर्तन गर्नुहोस्"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"रुचाइएको नेटवर्कको प्रकार"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"मूल्यसम्बन्धी जानकारीका लागि आफ्नो नेटवर्क प्रदायकलाई सोध्नुहोस्।"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"एपले खपत गरेको डेटा"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"अमान्य नेटवर्क मोड <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। बेवास्ता गर्नुहोस्।"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"स्याटलाइटमार्फत टेक्स्ट म्यासेजहरू पठाउनुहोस् र प्राप्त गर्नुहोस्। यो सुविधा तपाईंको खातामा उपलब्ध छ।"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"स्याटलाइटमार्फत टेक्स्ट म्यासेजहरू पठाउनुहोस् र प्राप्त गर्नुहोस्। यो सुविधा तपाईंको खातामा उपलब्ध छैन।"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधासम्बन्धी जानकारी"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"तपाईं योग्य <xliff:g id="CARRIER_NAME">%1$s</xliff:g> खाताका भागका रूपमा स्याटलाइटमार्फत टेक्स्ट म्यासेज पठाउन र प्राप्त गर्न सक्नुहुन्छ"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> सम्बन्धी योजना"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा तपाईंको खातामा समावेश गरिएको हुन्छ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा तपाईंको खातामा समावेश गरिएको हुँदैन"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा समावेश गर्नुहोस्"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"यसले काम गर्ने तरिका"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"तपाईंको डिभाइसमा मोबाइल नेटवर्क उपलब्ध नभएका खण्डमा"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"तपाईंको फोन स्याटलाइटमा स्वतः कनेक्ट हुने छ। उत्कृष्ट कनेक्सन प्राप्त गर्न आफ्नो फोन आकाश राम्रोसँग देखिने ठाउँमा राखिराख्नुहोस्।"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"तपाईंको फोन स्याटलाइटमा कनेक्ट भएपछि"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"तपाईं आपत्कालीन सेवालगायत सबै जनालाई टेक्स्ट म्यासेज पठाउन सक्नुहुन्छ। तपाईंको फोन मोबाइल नेटवर्क उपलब्ध भएका बेला उक्त नेटवर्कमा रिकनेक्ट हुने छ।"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधा प्रयोग गर्दा सामान्यभन्दा बढी समय लाग्न सक्छ र यो सुविधा केही क्षेत्रहरूमा मात्र उपलब्ध छ। मौसम र निश्चित संरचनाहरूले स्याटलाइट कनेक्सनमा असर गर्न सक्छ। स्याटलाइटमार्फत कल गर्ने सुविधा उपलब्ध छैन।\n\nतपाईंको खातामा गरिएका परिवर्तनहरू सेटिङमा देखिन केही समय लाग्न सक्छ। विवरणहरू हेर्न <xliff:g id="CARRIER_NAME">%1$s</xliff:g> मा सम्पर्क गर्नुहोस्।"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"स्याटलाइटमार्फत म्यासेज पठाउने सुविधाका बारेमा थप जानकारी"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"एक्सेस पोइन्ट नेम"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> मा जडान हुँदा उपलब्ध छैन"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थाल्ने हो?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"यो SIM बदलेर प्रयोग भइरहेको SIM प्रयोग गर्ने हो?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्ने हो?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"एक पटकमा एउटा SIM मात्र अन गर्न मिल्छ।\n\nयसलाई बदलेर <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> बनाउँदा पनि तपाईंको <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> को सेवा रद्द हुँदैन।"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"एक पटकमा एउटा eSIM मात्र एक्टिभेट गर्न सकिन्छ।\n\nतपाईंले <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थाल्नुभयो भने पनि तपाईंको <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> सेवा रद्द हुने छैन।"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"एक पटकमा एउटा SIM मात्र अन गर्न मिल्छ।\n\nSIM बदल्दा तपाईंको <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> को सेवा रद्द हुने छैन।"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"एक पटकमा एउटा मात्र SIM प्रयोग गर्न मिल्छ।\n\nतपाईंले <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थाल्नुभयो भने तपाईंको <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> को सेवा रद्द हुने छैन।"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"एक पटकमा एउटा eSIM मात्र प्रयोग गर्न मिल्छ।\n\nतपाईंले <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थाल्नुभयो भने पनि तपाईंको <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> को सेवा रद्द हुने छैन।"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"एक पटकमा एउटा मात्र SIM प्रयोग गर्न मिल्छ।\n\nतपाईंले <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थाल्नुभयो भने यसको सेवा रद्द हुने छैन।"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"तपाईं एकै पटकमा २ वटा SIM चलाउन सक्नुहुन्छ। तपाईं <xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न चाहनुहुन्छ भने अर्को SIM अफ गर्नुहोस्।"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थाल्नुहोस्"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> अफ गर्नुहोस्"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"तपाईंले कुनै एउटा SIM अफ गर्नुभयो भने तपाईंको सेवा रद्द हुने छैन"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"नेटवर्कमा जोडिँदै…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"कल र म्यासेजका लागि प्रयोग हुने प्रदायक बदलेर <xliff:g id="CARRIER_NAME">%1$s</xliff:g> बनाइँदै छ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"सेवा प्रदायक बदल्न सकिएन"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"कुनै त्रुटि भएकाले यो सेवा प्रदायक बदल्न सकिएन।"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"तपाईंको SIM एक्टिभेट गरिँदै छ…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"SIM प्रदायक बदलेर <xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गरिँदै छ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIMs अदलबदल गर्न सकिएन"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"कुनै समस्या आयो। SIMs अदलबदल गर्न सकिएन।"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> अफ गर्ने हो?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM अफ गर्ने हो?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM अफ गरिँदै छ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"मोबाइल नेटवर्क अफ गर्न सकिएन"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"कुनै समस्या आयो र तपाईंको मोबाइल सेवा प्रदायक असक्षम पार्न सकिएन।"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM अफ गर्न सकिएन"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"कुनै समस्या आएकाले तपाईंको SIM अफ गर्न सकिएन।"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"दुईवटै SIM प्रयोग गर्ने हो?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"यो डिभाइसमा एकैसाथ २ वटा SIM चलाउन सकिन्छ। एउटा मात्र SIM प्रयोग गरिरहन \"पर्दैन, धन्यवाद\" मा ट्याप गर्नुहोस्।"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"डिभाइस रिस्टार्ट गर्ने हो?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"पर्दैन, धन्यवाद"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"रद्द गर्नुहोस्"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"बदल्नुहोस्"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"अफ गर्नुहोस्"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM सक्रिय गर्न सकिएन"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"फेरि SIM सक्रिय गरी हेर्नुहोस्। अझै समस्या रहिरह्यो भने आफ्नो डिभाइस रिस्टार्ट गर्नुहोस्।"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"आफ्नो SIM सेटअप गर्नुहोस्"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"यो डिभाइसमा एकभन्दा बढी SIM प्रयोग गर्न आफ्नो मोबाइल नेटवर्कका प्राथमिकताहरू तय गर्नुहोस्"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"आफ्ना SIM मा लेबल राख्नुहोस्"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"तपाईं कल गर्दा, टेक्स्ट म्यासेज पठाउँदा, मोबाइल डेटा प्रयोग गर्दा र सेटिङमा यी लेबलहरू देख्नु हुने छ"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM को लेबल"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"लेबल"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"प्रयोग गर्ने SIM चयन गर्नुहोस्"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"तपाईं एकै पटकमा २ वटा SIM प्रयोग गर्न सक्नुहुन्छ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"आफ्ना प्राथमिक SIM सेटअप गर्नुहोस्"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"कल गर्न, टेक्स्ट म्यासेज पठाउन र मोबाइल डेटा प्रयोग गर्न डिफल्ट रूपमा कुन चाहिँ SIM प्रयोग गर्ने भन्ने कुरा छनौट गर्नुहोस्"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"तपाईंका प्राथमिक SIM हरू"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"कलहरू"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"टेक्स्टहरू"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"मोबाइल डेटा स्वतः स्विच हुने सुविधा"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"कभरेज तथा उपलब्धताका आधारमा कुनै एउटा SIM मार्फत मोबाइल डेटा प्रयोग गर्नुहोस्"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"मोबाइल डेटा मात्र"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"सेटअप गर्नुहोस्"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"अर्को"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> अन गरिँदै छ…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"मोबाइल नेटवर्क"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"फोन नम्बर"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM को लेबल तथा रङ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"नेटवर्क सक्रिय गर्ने प्रक्रिया"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"मोबाइल सेवा प्रदायक परिवर्तन गरिँदै छ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> सक्रिय छ"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"तपाईंको <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM अन छ"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM का सेटिङ परिवर्तन गर्न ट्याप गर्नुहोस्"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्न थालियो"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"अर्को सेवा प्रदायक प्रयोग गर्न थालियो"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"तपाईंको मोबाइल नेटवर्क बदलिएको छ"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"आफ्नो अर्को SIM सेटअप गर्नुहोस्"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"आफ्नो सक्रिय SIM छनौट गर्नुहोस् वा एकैसाथ २ वटा SIM प्रयोग गर्नुहोस्"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"प्रयोग गर्ने नम्बर छनौट गर्नुहोस्"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{यो डिभाइसमा एउटा नम्बर उपलब्ध छ तर तपाईं एक पटकमा एउटा मात्र नम्बर प्रयोग गर्न सक्नुहुन्छ}=2{यो डिभाइसमा २ वटा नम्बर उपलब्ध छन् तर तपाईं एक पटकमा एउटा मात्र नम्बर प्रयोग गर्न सक्नुहुन्छ}other{यो डिभाइसमा # वटा नम्बर उपलब्ध छन् तर तपाईं एक पटकमा एउटा मात्र नम्बर प्रयोग गर्न सक्नुहुन्छ}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"<xliff:g id="ELLIPSIS">…</xliff:g> सक्रिय गरिँदै छ"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"अहिले नै सक्रिय गर्न सकिएन"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"प्रयोग गर्ने SIM छनौट गर्नुहोस्"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{यो डिभाइसमा एउटा SIM उपलब्ध छ तर तपाईं एक पटकमा एउटा मात्र SIM गर्न सक्नुहुन्छ}=2{यो डिभाइसमा २ वटा SIM उपलब्ध छन् तर तपाईं एक पटकमा एउटा मात्र SIM प्रयोग गर्न सक्नुहुन्छ}other{यो डिभाइसमा # वटा SIM उपलब्ध छन् तर तपाईं एक पटकमा एउटा SIM मात्र प्रयोग गर्न सक्नुहुन्छ}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> अन गरिँदै छ"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"यो SIM अहिले नै अन गर्न सकिएन"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गर्ने हो?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"मोबाइल डेटा, कल र SMS का लागि <xliff:g id="CARRIER_NAME">%1$s</xliff:g> प्रयोग गरिने छ।"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"कुनै पनि सक्रिय SIM उपलब्ध छैन"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"पछि मोबाइल डेटा, कल गर्ने सुविधा र SMS सेवा प्रयोग गर्नु परेमा आफ्नो नेटवर्कका सेटिङमा जानुहोस्"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"यो eSIM मेटाउने हो?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"तपाईंले यो SIM मेटाउनुभयो भने यस डिभाइसबाट <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> सेवा हटाइने छ।\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> को सेवा भने रद्द गरिने छैन।"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"यसले यो डिभाइसबाट <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> को सेवा हटाउँछ तर तपाईंको <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> सम्बन्धी योजना भने रद्द हुने छैन।"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"मेट्नुहोस्"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM मेटाइँदै छ…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM मेटाउन सकिएन"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"कुनै त्रुटि भएका कारण यो SIM मेटाउन सकिएन।\n\nआफ्नो डिभाइस रिस्टार्ट गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM मेटाइँदै छ…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM मेटाउन सकिएन"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"कुनै समस्या आएकाले यो eSIM मेटाउन सकिएन।\n\nआफ्नो डिभाइस रिस्टार्ट गर्नुहोस् र फेरि प्रयास गर्नुहोस्।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"डिभाइसमा कनेक्ट गरियोस्"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> एप तपाईंको डिभाइसमा कनेक्ट हुन कुनै अस्थायी Wi‑Fi नेटवर्क प्रयोग गर्न चाहन्छ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"कुनै पनि यन्त्र फेला परेन। यन्त्रहरू सक्रिय हुनुका साथै जडान गर्नका लागि उपलब्ध भएको कुरा सुनिश्चित गर्नुहोस्।"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"आपताकालीन कल"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"तपाईंको सेवा प्रदायकले Wi‑Fi मार्फत आपत्‌कालीन कल गर्ने सुविधा समर्थन गदैन। \nअपतकालीन कल गर्नका लागि उक्त यन्त्रले स्वतः सेलुलर नेटवर्क प्रयोग गर्छ।\n सेलुलर नेटवर्कको कभरेज राम्रो भएका क्षेत्रमा मात्र अपतकालीन कल गर्न सम्भव हुन्छ।"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"कलको गुणस्तर सुधार्न Wi‑Fi प्रयोग गरी कल गर्नुहोस्"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ब्याकअप कलिङ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> प्रयोग गरी रोमिङ सुविधा चलाउन नमिल्ने भएमा कल गर्न <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> को मोबाइल डेटा SIM प्रयोग गर्नुहोस्।"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ब्याकअप कलिङ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"आगमन MMS म्यासेज"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS म्यासेज पठाउन सकिएन"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"मोबाइल डेटा निष्क्रिय हुँदा <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> लाई MMS म्यासेज पठाउने अनुमति दिन ट्याप गर्नुहोस्"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"तपाईंको कार्यको नीतिसम्बन्धी जानकारी"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"तपाईंका IT एडमिनले व्यवस्थापन गरेका सेटिङहरू"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"१६ के.बि. आकारको पेज चल्ने गरी बुट गर्नुहोस्"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"१६ के.बि. आकारको पेज चल्ने कर्नेल प्रयोग गरी डिभाइस बुट गर्नुहोस्"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"१६ के.बि. का पेजसँग कम्प्याटिबल कर्नेल प्रयोग गर्न रिबुट गर्ने हो?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"चेतावनी: केही एपहरू यो मोडसँग कम्प्याटिबल नहुन सक्छन्। पुष्टि गरेपछि डिभाइस रिबुट हुने छ।"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"४ के.बि. का पेजसँग कम्प्याटिबल कर्नेल प्रयोग गर्न रिबुट गर्ने हो?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"पुष्टि गरेपछि डिभाइस रिबुट हुने छ।"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"कर्नेल अपडेट गरी १६ के.बि. का पेजसँग कम्प्याटिबल कर्नेल बनाउन सकिएन।"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"परिवर्तन लागू गरिँदै छ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"बग रिपोर्ट ह्यान्ड्लर"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"तपाईंको डिभाइसमा कुन एपले बग रिपोर्टसम्बन्धी सर्टकट ह्यान्डल गर्दछ भन्ने कुरा निर्धारण गर्दछ।"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"व्यक्तिगत"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"अन्य एपको माथिपट्टि देखिन सक्ने एपहरूलाई ओभरले सेटिङ स्क्रिनको माथिपट्टि देखिन दिइयोस्"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"मक मोडेम प्रयोग गर्ने अनुमति दिइयोस्"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"उपकरणहरूको परीक्षण गर्ने प्रयोजनका लागि यो डिभाइसलाई मक मोडेम सेवा प्रयोग गर्ने अनुमति दिनुहोस्। फोन सामान्य रूपमा प्रयोग गर्दा यो सेवा अन नगर्नुहोस्"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"स्क्रिन सेयर गरिरहेका बेला सुरक्षा प्रदान गर्ने सुविधा अफ गर्नुहोस्"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"स्क्रिन सेयर गरिरहेका बेला एप तथा सूचनाहरूको सुरक्षा गर्न सिस्टमले लागू गर्ने सुरक्षाहरू अक्षम गर्छ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"मिडिया"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"मिडिया प्लेयर पिन गरियोस्"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"प्लेब्याक तुरुन्तै सुचारु गर्न सकियोस् भन्नाका लागि द्रुत सेटिङमा मिडिया प्लेयर खुला रहन्छ"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"लक स्क्रिनमा मिडिया देखाइयोस्"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"प्लेब्याक तुरुन्तै सुचारु गर्न सकियोस् भन्नाका लागि लक स्क्रिनमा मिडिया प्लेयर खुला रहन्छ"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"मिडियासम्बन्धी सिफारिसहरू देखाइयोस्"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"सहायकले गर्ने मिडियासम्बन्धी सिफारिसहरू देखाइयोस्"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"तपाईंका क्रियाकलापमा आधारमा"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"प्लेयर लुकाउनुहोस्"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"प्लेयर देखाइयोस्"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"मिडिया"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"क्यामेरामा सफ्टवेयर एक्स्टेन्सनहरू प्रयोग गर्न दिनुहोस्"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"यसले Eyes Free भिडियोग्राफी जस्ता क्यामेराका उन्नत सुविधाहरूको डिफल्ट सफ्टवेयर प्रयोग गर्ने प्रक्रिया सुरु गर्छ।"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ब्लुटुथ अन हुने छ"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"इन्टरनेट"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM हरू"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"सक्रिय छ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"निष्क्रिय छ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"अन छ"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"अफ छ"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> को डिफल्ट कन्फिगुरेसन"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"कलहरू"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"कम्प्याटिबल मिडियाको अडियो अझै इमर्सिभ हुन्छ"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"हेड ट्र्याकिङ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"तपाईंले थप स्वाभाविक देखिनका लागि टाउको हल्लाउँदा अडियो बदलिन्छ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"अनुमतिहरू सिंक गर्नुहोस्"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"तपाईंले <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> लाई जुन जुन एप प्रयोग गर्ने अनुमति दिनुभएको छ <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> लाई पनि सोही अनुमति दिनुहोस्"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"फोनमा दिइएका अनुमतिहरू सिंक गर्नुहोस्"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"तपाईंले यो एपलाई यो फोनमा जुन जुन अनुमति दिनुभएको छ आफ्नो स्मार्ट वाचमा पनि सोही अनुमति दिनुहोस्"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"अडियो डिभाइसको प्रकार"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"अज्ञात"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"स्पिकर"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"मध्यम"</string>
     <string name="contrast_high" msgid="3988567609694797696">"उच्च"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"यो एप एउटा विन्डोमा मात्र खोल्न मिल्छ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"अन छ"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"अफ छ"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"अफ छ"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"अफ छ"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"अन छ"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"अफ छ"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"अन छ"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"अफ छ"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"उज्यालो स्क्रिनलाई अँध्यारो र अँध्यारो स्क्रिनलाई उज्यालो बनाउँछ"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"स्क्रिनमा जुम इन गर्नुहोस्"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"अफ छ"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"अफ छ"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"छलकपट गर्ने उद्देश्यले बनाइएका एपहरू छन् कि छैनन् भन्ने कुरा पत्ता लगाउन स्क्यान गरिँदै छ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"फिसिङसम्बन्धी गतिविधि गरिएको छ कि छैन भन्ने कुरा पत्ता लगाउनका निम्ति एपमा गरिएका गतिविधि हेर्नुहोस्"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"छलकपट गर्ने उद्देश्यले बनाइएका एपहरू पत्ता लगाउन स्क्यान गर्ने सुविधा प्रयोग गरियोस्"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"छलकपट गर्ने उद्देश्यले बनाइएका कामसम्बन्धी एपहरू पत्ता लगाउन स्क्यान गर्ने सुविधा प्रयोग गरियोस्"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"पासवर्ड अब सेटअप गरिएको छ"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"होभर गर्दै गर्दा पोइन्टर देखाइयोस्"</string>
 </resources>
diff --git a/res/values-night/colors.xml b/res/values-night/colors.xml
index 7888191..a572841 100644
--- a/res/values-night/colors.xml
+++ b/res/values-night/colors.xml
@@ -16,8 +16,6 @@
 
 <resources
     xmlns:androidprv="http://schemas.android.com/apk/prv/res/android">
-    <color name="switchbar_switch_track_tint">#82000000</color>
-    <color name="switchbar_switch_thumb_tint">@android:color/black</color>
     <color name="homepage_accessibility_background">#783BE5</color>
     <color name="homepage_support_background">#3F5FBD</color>
     <color name="contextual_card_background">@*android:color/material_grey_900</color>
@@ -58,6 +56,9 @@
     <!-- Icon tint color for battery usage system icon -->
     <color name="battery_usage_system_icon_color">@android:color/white</color>
 
+    <!-- Power anomaly color for icons, button and text -->
+    <color name="power_anomaly_app_warning_hint_color">#FDD663</color>
+    <color name="power_anomaly_primary_button_text_color">#2E3300</color>
 
     <!-- UDFPS colors -->
     <color name="udfps_enroll_icon">#7DA7F1</color>
@@ -68,6 +69,8 @@
     <color name="udfps_enroll_progress_help">#607DA7F1</color>
     <color name="udfps_enroll_progress_help_with_talkback">#FFEE675C</color>
 
+    <!-- Accessibility colors -->
+    <color name="accessibility_text_reading_background">@android:color/black</color>
     <!-- Flash notifications colors -->
     <!-- Screen flash notification color selected stroke in color selection dialog -->
     <color name="screen_flash_color_button_outer_circle_stroke_color">#FFFFFF</color>
diff --git a/res/values-night/styles.xml b/res/values-night/styles.xml
index f69c952..a93c981 100644
--- a/res/values-night/styles.xml
+++ b/res/values-night/styles.xml
@@ -19,15 +19,4 @@
     <style name="Widget.ActionBar.Base" parent="@android:style/Widget.DeviceDefault.ActionBar.Solid">
         <item name="android:background">?android:attr/colorPrimaryDark</item>
     </style>
-
-    <style name="TextAppearance.SimConfirmDialogList" parent="@style/TextAppearance.DialogMessage">
-      <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
-      <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
-    </style>
-
-    <style name="TextAppearance.SimConfirmDialogList.Summary">
-        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
-        <item name="android:fontFamily">@*android:string/config_headlineFontFamily</item>
-        <item name="android:textColor">?android:attr/textColorSecondaryInverse</item>
-    </style>
 </resources>
\ No newline at end of file
diff --git a/res/values-nl/arrays.xml b/res/values-nl/arrays.xml
index 6e2ca64..dbf12b1 100644
--- a/res/values-nl/arrays.xml
+++ b/res/values-nl/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Beschikbaar"</item>
     <item msgid="6096962300722555553">"Geen bereik"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Uitgezet"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast en Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Gebruik systeemstandaard: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Na 1 minuut"</item>
     <item msgid="1574040255478150028">"Na 5 minuten"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-nl/strings.xml b/res/values-nl/strings.xml
index b0b2499..c9004a3 100644
--- a/res/values-nl/strings.xml
+++ b/res/values-nl/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Je bent nu ontwikkelaar!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Niet nodig, je bent al ontwikkelaar."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Zet eerst de opties voor ontwikkelaars aan."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Alleen beheerders hebben toegang tot ontwikkelaarsinstellingen."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Systeem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"In gebruik"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Niet in gebruik"</string>
@@ -46,8 +47,10 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Het scherm aan de voorkant gaat aan als je het apparaat vouwt"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Alleen games, video\'s en meer"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Het scherm aan de voorkant gaat aan voor apps die voorkomen dat je scherm inactief wordt"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swipe omhoog om door te gaan"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Vouw je telefoon dicht en swipe omhoog op het scherm aan de voorkant om de app te blijven gebruiken, of wacht een paar seconden totdat het scherm is vergrendeld"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nooit"</string>
-    <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Het scherm aan de voorkant wordt vergrendeld als je het apparaat vouwt"</string>
+    <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Het scherm aan de voorkant wordt vergrendeld als je het apparaat dichtvouwt"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Automatisch draaien gebruiken"</string>
     <string name="smart_rotate_text_headline" msgid="5878008933992951904">"Gezichtsherkenning gebruikt de camera aan de voorzijde om de nauwkeurigheid van automatisch draaien te verbeteren. Afbeeldingen worden nooit opgeslagen of naar Google gestuurd."</string>
     <string name="bluetooth" msgid="8898478620943459654">"Bluetooth"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Gerelateerd"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringtone en wekkers"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio tijdens gesprekken"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Meldingen en andere systeemgeluiden"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media- en systeemgeluiden"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Meldingen"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Audio-uitvoer wordt standaard bepaald door afzonderlijke apps"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Naamloos Bluetooth-apparaat"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Zoeken"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Annuleren"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audio uitzetten"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Hiermee zet je de functie voor Bluetooth LE Audio uit als het apparaat hardwaremogelijkheden voor LE Audio ondersteunt."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio-modus"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Schakelaar voor LE Audio tonen in Apparaatgegevens"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Toelatingslijst voor Bluetooth LE Audio aanzetten"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Functie voor toelatingslijst voor Bluetooth LE Audio aanzetten."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Toelatingslijst voor Bluetooth LE Audio negeren"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Maak standaard gebruik van LE Audio, ook als niet is geverifieerd of LE Audio-randapparatuur voldoet aan de criteria van de toelatingslijst."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media-apparaten"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Apparaten voor gesprekken"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andere apparaten"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Opgeslagen apparaten"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Gekoppeld aan account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Eerder gebruikt met account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth wordt aangezet om te koppelen"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Verbindings­voorkeuren"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Eerder verbonden"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth staat aan"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Alles tonen"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Alles tonen"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Knop bovenop indrukken"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (werkprofiel)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Schrijven in tekstvelden"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Indrukken van stylusknop negeren"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio delen"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audio delen"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Gesprekken en alarmen"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Maak verbinding met een audiostream via een QR-code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Geen audiostreams in de buurt gevonden"</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum en tijd"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Wissen"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Ga naar de taalinstellingen van een app als je een taal voor elke app wilt selecteren."</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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s toevoegen aan voorkeurstalen?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Zo laat je apps en websites ook weten dat je de voorkeur geeft aan deze taal."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Je apparaatinstellingen en regionale voorkeuren worden gewijzigd."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Wijzigen"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s niet beschikbaar"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Zaterdag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Als een app geen regionale voorkeuren ondersteunt, worden de standaard landinstellingen van de app gebruikt."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Meer informatie over taalvoorkeuren"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Aanvullende voorkeuren"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Aanspreekvorm"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Geef aan hoe je wilt worden aangesproken"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Apps kunnen worden gepersonaliseerd op basis van je gewenste aanspreekvorm."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Niet opgegeven"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Vrouw"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Man"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutraal"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Geselecteerde taal verwijderen?}other{Geselecteerde talen verwijderen?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekst wordt getoond in een andere taal."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Kan niet alle talen verwijderen"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Locatie"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Locatie gebruiken"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Uit"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Aan: # app heeft toegang tot de locatie}other{Aan: # apps hebben toegang tot de locatie}}"</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_location_off" msgid="8568995909147566720">"Toegang tot de locatie staat uit voor apps en services. De locatie van je apparaat kan nog steeds worden verstuurd naar nooddiensten als je een alarmnummer belt of sms\'t."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Meer informatie over locatie-instellingen"</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="3574930966097093550">"Wijzig de locatietoegang via Instellingen &gt; Beveiliging en privacy &gt; Privacyopties"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Accounts"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Beveiliging"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Versleuteling en inloggegevens"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Voor de beste resultaten gebruik je een gecertificeerde Made for Google-screenprotector. Bij andere screenprotectors werkt de vingerafdruk van je kind misschien niet."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Ontgrendelen via smartwatch"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Als je Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk instelt, vraagt je telefoon naar je vingerafdruk als je een mondkapje draagt of in een donkere omgeving bent.\n\nJe kunt ontgrendelen met je smartwatch als je gezicht of vingerafdruk niet wordt herkend."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Je kunt ontgrendelen met je smartwatch als je vingerafdruk niet wordt herkend."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Je kunt ontgrendelen met je smartwatch als je gezicht niet wordt herkend."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Als je Ontgrendelen via gezichtsherkenning en Ontgrendelen met vingerafdruk instelt, vraagt je telefoon naar je vingerafdruk als je een mondkapje draagt of in een donkere omgeving bent.\n\nOntgrendelen via smartwatch is een andere handige manier om je telefoon te ontgrendelen, bijvoorbeeld als je vingers nat zijn of je gezicht niet wordt herkend."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Ontgrendelen via smartwatch is een andere handige manier om je telefoon te ontgrendelen, bijvoorbeeld als je vingerafdruk niet wordt herkend."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Ontgrendelen via smartwatch is een andere handige manier om je telefoon te ontgrendelen, bijvoorbeeld als je gezicht niet wordt herkend."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Vingerafdruk of smartwatch gebruiken voor"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Gezicht of smartwatch gebruiken voor"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Gezicht, vingerafdruk of smartwatch gebruiken voor"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Ontgrendelen via smartwatch is een handige manier om deze telefoon te ontgrendelen, bijvoorbeeld als je handen nat zijn of je gezicht niet wordt herkend.\n\nZo ontgrendel je deze telefoon met je smartwatch:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Niet nu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Doorgaan"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Meer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Hoe het werkt"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Je smartwatch moet ontgrendeld zijn, om je pols zitten en in de buurt van deze telefoon zijn. Zolang je je smartwatch om je pols draagt, hoef je deze niet opnieuw te ontgrendelen."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Als deze telefoon wordt ontgrendeld, krijg je een melding op je smartwatch. Als de ontgrendeling per ongeluk was, tik je op de melding om de telefoon weer te vergrendelen."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Jij hebt de controle"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Je kunt je smartwatch op elk moment uit Ontgrendelen via smartwatch verwijderen in Instellingen"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Tik op een melding"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swipe omhoog op het vergrendelscherm"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Je smartwatch kiezen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Beschikbare smartwatches"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Annuleren"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Bevestigen"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Dat is alles."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Je kunt je smartwatch nu gebruiken om deze telefoon te ontgrendelen als je op het vergrendelscherm omhoog swipet of op een melding tikt"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Klaar"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Ontgrendelen via smartwatch"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Je kunt je smartwatch gebruiken om deze telefoon te ontgrendelen als je op het vergrendelscherm omhoog swipet of op een melding tikt"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Voor gebruik van Ontgrendelen via smartwatch moet je smartwatch zijn ontgrendeld, om je pols zitten, binnen bereik zijn en zijn gekoppeld aan deze telefoon. Als de verbinding wordt verstoord, moet je de telefoon ontgrendelen voordat je Ontgrendelen via smartwatch kunt gebruiken.\n\nOnthoud het volgende:\nEr kan maar één smartwatch tegelijk zijn ingesteld. Als je nog een smartwatch wilt toevoegen, verwijder je de huidige."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Beveiliging"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Werkprofiel"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privégedeelte"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Privé-apps vergrendeld en verborgen houden"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Houd privé-apps in een aparte ruimte die je kunt verbergen of vergrendelen"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Vergrendeling van privégedeelte"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Je kunt je privégedeelte op dezelfde manier ontgrendelen als je apparaat of een andere vergrendeling kiezen"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Schermvergrendeling van apparaat gebruiken"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Ontgrendelen via gezichtsherkenning en met vingerafdruk"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Ontgrendelen met vingerafdruk"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Ontgrendelen via gezichtsherkenning"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tik om in te stellen"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Ontgrendelen met vingerafdruk voor privégedeelte"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Ontgrendelen via gezichtsherkenning voor privégedeelte"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Manieren om te ontgrendelen"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Hetzelfde als de apparaatschermvergrendeling"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Nieuwe vergrendeling voor privégedeelte kiezen?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Privégedeelte automatisch vergrendelen"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Je kunt je privégedeelte automatisch laten vergrendelen als je je apparaat een tijdje niet hebt gebruikt"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Elke keer dat apparaat wordt vergrendeld"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Na 5 minuten inactiviteit"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nooit"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Verbergen indien vergrendeld"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Privégedeelte verbergen indien vergrendeld"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Als je niet wilt dat andere mensen weten dat je een privégedeelte op je apparaat hebt, kun je dit verbergen in de lijst met apps"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Toegang krijgen tot privégedeelte indien verborgen"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Voer \'privégedeelte\' in de zoekbalk in vanuit de lijst met apps"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tik op de tegel Privégedeelte"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Je privégedeelte ontgrendelen"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Uit"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aan"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Systeem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Privégedeelte verwijderen"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Privégedeelte verwijderen?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Je privégedeelte wordt van je apparaat verwijderd. Alle privé-apps en -gegevens worden verwijderd. Je kunt deze actie niet ongedaan maken."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"De volgende accounts worden uit je privégedeelte verwijderd:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Verwijderen"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Privégedeelte verwijderen…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Dit duurt even"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privégedeelte verwijderd"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Privégedeelte kan niet worden verwijderd"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privégedeelte ontgrendeld"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Schermvergrendeling instellen"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Als je je privéruimte wilt gebruiken, stel je een schermvergrendeling op dit apparaat in"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Schermvergrendeling instellen"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Annuleren"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Annuleren"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Instellen"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Een privéruimte instellen"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Houd privé-apps in een aparte ruimte die je kunt verbergen of vergrendelen"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Hoe het werkt"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Je kunt toegang tot je privéruimte krijgen vanaf de onderkant van de lijst met apps"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps in je privéruimte hebben een vergrendeling"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Meldingen van apps in je privéruimte worden verborgen als deze is vergrendeld"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Apps in je privéruimte verschijnen niet in Rechtenbeheer, het privacydashboard en in andere instellingen als je privéruimte is vergrendeld.\n\nJe privéruimte kan niet worden overgezet naar een nieuw apparaat. Je moet een nieuwe privéruimte instellen als je deze wilt gebruiken op een ander apparaat.\n\nIedereen die je apparaat aan een computer koppelt of schadelijke apps op je apparaat installeert, heeft mogelijk toegang tot je privéruimte."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Privéruimte instellen…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Meldingen van apps in het privégedeelte worden verborgen als dit is vergrendeld"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Privégedeelte ontgrendelen om foto\'s of bestanden te delen"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Sommige apps zijn al geïnstalleerd in je privéruimte"</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_lockscreen_title" msgid="6034864097861137509">"Schermvergrendeling gebruiken voor ontgrendeling van privéruimte?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Je kunt je privéruimte op dezelfde manier ontgrendelen als je apparaat of een andere vergrendeling kiezen"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Schermvergrendeling gebruiken"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Nieuwe vergrendeling kiezen"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Je bent klaar."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Ga naar je lijst met apps en scroll omlaag om je privégedeelte te vinden"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Klaar"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scroll omlaag voor privéruimte"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Inloggen"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Log in bij een account dat je wilt gebruiken met je privégedeelte"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Niet nu"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Doorgaan"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Kies een vergrendeling voor je privéruimte"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Je kunt je privéruimte ontgrendelen met je vingerafdruk. Uit beveiligingsoverwegingen is voor deze optie een extra vergrendeling vereist."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Pincode instellen voor privégedeelte"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Wachtwoord instellen voor privégedeelte"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Patroon instellen voor privégedeelte"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Je kunt maximaal <xliff:g id="COUNT">%d</xliff:g> vingerafdrukken toevoegen"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Je hebt het maximale aantal vingerafdrukken toegevoegd"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Kan geen extra vingerafdrukken toevoegen"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Patroon"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Pincode"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Wachtwoord"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Schermvergrendeling verwijderen?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Alle typen apparaatontgrendeling verwijderen?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Profielbeveiliging verwijderen?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Een patroon beschermt je telefoon bij verlies of diefstal"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Een patroon beschermt je telefoon bij verlies of diefstal.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Hierdoor wordt het vingerafdrukmodel verwijderd dat op je apparaat is opgeslagen. Je gezichtsmodel wordt ook definitief en op een beveiligde manier verwijderd. Je kunt je gezicht of vingerafdruk niet gebruiken voor verificatie in apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Een pincode beschermt je telefoon bij verlies of diefstal"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Je raakt opgeslagen gegevens zoals je pincode kwijt.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarten die zijn ingesteld voor contactloos betalen, worden verwijderd.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets en andere apps waarvoor het apparaat moet worden ontgrendeld, werken misschien niet goed meer."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Een pincode beschermt je telefoon bij verlies of diefstal.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Hierdoor wordt ook het vingerafdrukmodel verwijderd dat op je apparaat is opgeslagen. Je kunt je vingerafdruk dan niet meer gebruiken voor verificatie in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Je raakt opgeslagen gegevens zoals je pincode en vingerafdrukmodel kwijt.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarten die zijn ingesteld voor contactloos betalen, worden verwijderd.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets en andere apps waarvoor het apparaat moet worden ontgrendeld, werken misschien niet goed meer."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Een pincode beschermt je telefoon bij verlies of diefstal.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Je gezichtsmodel wordt ook definitief en op een beveiligde manier verwijderd. Je kunt je gezicht niet gebruiken voor verificatie in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Je raakt opgeslagen gegevens zoals je pincode en gezichtsmodel kwijt.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarten die zijn ingesteld voor contactloos betalen, worden verwijderd.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets en andere apps waarvoor het apparaat moet worden ontgrendeld, werken misschien niet goed meer."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Een pincode beschermt je telefoon bij verlies of diefstal.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Hierdoor wordt het vingerafdrukmodel verwijderd dat op je apparaat is opgeslagen. Je gezichtsmodel wordt ook definitief en op een beveiligde manier verwijderd. Je kunt je gezicht of vingerafdruk niet gebruiken voor verificatie in apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Je raakt opgeslagen gegevens zoals je pincode, gezichts- en vingerafdrukmodellen kwijt.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kaarten die zijn ingesteld voor contactloos betalen, worden verwijderd.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallets en andere apps waarvoor het apparaat moet worden ontgrendeld, werken misschien niet goed meer."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Een wachtwoord beschermt je telefoon bij verlies of diefstal"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Een wachtwoord beschermt je telefoon bij verlies of diefstal.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Koppelen met <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Voeg een nieuw lid toe aan de bestaande gecoördineerde set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Bevestig om het 2e deel van je audioapparaat toe te voegen"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-koppelingscode"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Typ de koppelingscode en druk op Return of Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Pincode bevat letters of symbolen"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Moet 16 cijfers zijn"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Je moet deze pincode wellicht ook opgeven op het andere apparaat."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Je moet deze toegangscode wellicht ook opgeven op het andere apparaat."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Bevestigen om te koppelen met de gecoördineerde set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Bevestig om te koppelen met het audioapparaat"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Toegang geven tot je contacten en gespreksgeschiedenis"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Ook toegang geven tot contacten en gespreksgeschiedenis"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"De informatie wordt onder andere gebruikt voor gespreksaankondigingen"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Kan geen verbinding maken met <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Beschikbare apparaten"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Verbinden"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Verbinding verbreken"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Koppelen en verbinden"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Als bluetooth aanstaat, kan je apparaat communiceren met andere bluetooth-apparaten in de buurt.\n\nApps en services kunnen nog steeds op elk moment naar apparaten in de buurt scannen om de apparaatfunctionaliteit te verbeteren, 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_scan_change" msgid="1744636222637390367">"Wijzigen"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Apparaatgegevens"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Sta ART toe de bytecode te verifiëren voor apps waarop foutopsporing kan worden toegepast"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Vernieuwingssnelheid tonen"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Toon huidige vernieuwingssnelheid van scherm"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR-ratio tonen"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Toon de huidige HDR/SDR-ratio"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Apparaatontgrendeling vereisen voor NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"In vliegtuigmodus"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Melding voor openbare netwerken tonen"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Laat weten als er een netwerk van hoge kwaliteit beschikbaar is"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP-netwerk toestaan"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP is een ouder beveiligingsprotocol dat minder goed beveiligd is"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Je provider staat WEP-netwerken niet toe omdat deze minder goed beveiligd zijn"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wifi automatisch aanzetten"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wifi wordt opnieuw aangezet in de buurt van opgeslagen netwerken van hoge kwaliteit, zoals je thuisnetwerk"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Niet beschikbaar omdat locatietoegang uitstaat. Zet de "<annotation id="link">"locatietoegang"</annotation>" aan."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Met wifi-scannen sta je apps en services toe altijd te scannen naar wifi-netwerken in de buurt, zelfs als wifi uitstaat. Dit kan worden gebruikt om bijvoorbeeld locatiegebaseerde functies en services te verbeteren."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aanzetten"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wifi-scannen aangezet"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Dit netwerk gebruikt een ouder beveiligingsprotocol dat minder goed beveiligd is"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> is geblokkeerd"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Dit netwerk gebruikt een ouder beveiligingsprotocol dat WEP wordt genoemd. Dit protocol is minder goed beveiligd. Als je toch verbinding wilt maken, kun je WEP-netwerken toestaan."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Je provider staat je niet toe om verbinding te maken met dit netwerk omdat het een ouder beveiligingsprotocol gebruikt dat minder goed beveiligd is"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP toestaan"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Sluiten"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Geavanceerde opties"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Dropdownmenu \'Geavanceerde opties\'"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"uitvouwen"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wifi blijven gebruiken"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Nooit meer tonen"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Verbinden"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi staat aan"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Verbonden met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Verbinding maken met <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Verbinden…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Kan geen verbinding maken met het netwerk"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Netwerk is niet binnen bereik"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Vergeten"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Aanpassen"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Vergeten van netwerk is mislukt"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Opslaan"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Opslaan van netwerk is mislukt"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Annuleren"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wifi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobiele data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Opladen"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Opladen"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot-verbinding"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Verbindingssterkte"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Opgeslagen netwerken"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Geen wachtwoord ingesteld"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Naam hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Wachtwoord hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Frequentieband voor toegangspunt"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot automatisch uitzetten"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Als er geen apparaten zijn verbonden"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Compatibiliteit uitbreiden"</string>
@@ -1007,9 +1165,11 @@
     <string name="auto_brightness_summary_off" msgid="8077066192887677956">"Uit"</string>
     <string name="display_white_balance_title" msgid="2624544323029364713">"Witbalans van scherm"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
-    <string name="fold_lock_behavior_title" msgid="786228803694268449">"Apps blijven gebruiken bij vouwen"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Hiermee wordt de vernieuwingssnelheid automatisch verhoogd van 60 naar <xliff:g id="ID_1">%1$s</xliff:g> Hz voor bepaalde content. Het batterijgebruik neemt toe."</string>
+    <string name="fold_lock_behavior_title" msgid="786228803694268449">"Apps blijven gebruiken bij dichtvouwen"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Standaard framesnelheid voor games uitzetten"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Zet beperking van de maximale framesnelheid voor games tot <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz uit."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Verhoogt de vernieuwingssnelheid automatisch naar <xliff:g id="ID_1">%1$d</xliff:g> Hz voor bepaalde content. Het batterijgebruik neemt toe."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Piekvernieuwingssnelheid afdwingen"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"De hoogste vernieuwingssnelheid voor verbeterde responsiviteit voor aanraking en animatiekwaliteit. Het batterijgebruik neemt toe."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Schermaandacht"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Schermaandacht gebruikt de camera aan de voorzijde om te zien of er iemand naar het scherm kijkt. Deze functie werkt op het apparaat zelf: de afbeeldingen worden nooit opgeslagen of naar Google verzonden."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Schermaandacht aanzetten"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Houd het scherm aan als je ernaar kijkt"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Een langere time-out voor het scherm verbruikt meer batterijlading."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Camera is vergrendeld"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"De camera moet zijn ontgrendeld voor gezichtsherkenning"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Camera moet zijn ontgrendeld voor schermaandacht"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (simkaartsleuf <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (simkaartsleuf <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primair)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Kies opgeslagen netwerk om te bekijken"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-versie"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Accuniveau"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Gemeenschappelijk"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Gemeenschappelijke instellingen"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellietberichten"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN\'s"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Toegangspunt bewerken"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Toegangspunt toevoegen"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Niet ingesteld"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Niet ingesteld"</string>
     <string name="apn_name" msgid="6677695784108157953">"Naam"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN staat aan"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN staat uit"</string>
     <string name="bearer" msgid="3231443241639159358">"Drager"</string>
+    <string name="network_type" msgid="748590707422733595">"Netwerktype"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Niet aangegeven"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-type"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-waarde"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN verwijderen"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Opslaan"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Annuleren"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Dubbele APN-invoer."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Het veld \'Naam\' mag niet leeg zijn."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"De APN mag niet leeg zijn."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-veld moet 3 cijfers bevatten."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-veld moet 2 of 3 cijfers bevatten."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"De provider staat het toevoegen van APN\'s van het type %s niet toe."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-veld moet geldig zijn."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Standaard-APN-instellingen herstellen."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Standaardinstellingen herstellen"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Herstellen van standaard-APN-instellingen voltooid."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetten"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth en wifi zijn gereset"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"E-simkaarten wissen"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Hiermee zeg je geen mobiele abonnementen op. Neem contact op met je provider als je vervangende simkaarten wilt downloaden."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Je mobiele abonnement wordt hierdoor niet opgezegd. Neem contact op met je provider als je een vervangende simkaart wilt."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Instellingen resetten"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Alle netwerkinstellingen resetten? Je kunt deze actie niet ongedaan maken."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Alle netwerkinstellingen resetten en e-simkaarten wissen? Je kunt deze actie niet ongedaan maken."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Resetten?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Netwerk herstellen is niet beschikbaar voor deze gebruiker"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Netwerkinstellingen zijn gereset"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Kan simkaarten niet wissen"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Door een fout kunnen e-simkaarten niet worden gewist.\n\nStart je apparaat opnieuw op en probeer het nogmaals."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Kan e-simkaarten niet wissen"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Er is iets misgegaan en je e-simkaarten zijn niet gewist.\n\nStart je apparaat opnieuw en probeer het nog eens."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Alle gegevens wissen (fabrieksinstellingen terugzetten)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Alle gegevens wissen (fabrieksinstellingen terugzetten)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Muziek"</li>\n<li>"Foto\'s"</li>\n<li>"Andere gebruikersgegevens"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"E-simkaarten"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Je mobiele abonnement wordt niet opgezegd."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Al je persoonlijke informatie en gedownloade apps worden verwijderd. Je kunt deze actie niet ongedaan maken."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Al je persoonlijke informatie wordt verwijderd, waaronder gedownloade apps en simkaarten. Je kunt deze actie niet ongedaan maken."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Al je persoonlijke informatie wordt verwijderd, waaronder gedownloade apps en e-simkaarten. Je kunt deze actie niet ongedaan maken."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Alle gegevens wissen?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Fabrieksinstellingen terugzetten is niet beschikbaar voor deze gebruiker"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Wissen"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, bluetooth, ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet wordt niet gedeeld met andere apparaten"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Uit"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wifi-hotspot niet gebruiken"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internet alleen delen via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internet alleen delen via bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Internet alleen delen via ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internet alleen delen via USB en bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Internet alleen delen via USB en ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Internet alleen delen via bluetooth en ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Internet alleen delen via USB, bluetooth en ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Gebruik hotspot en tethering om internet aan andere apparaten te leveren via je wifi- of mobiele dataverbinding. Apps kunnen ook hotspots maken om content te delen met apparaten in de buurt."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hulp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobiel netwerk"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobiel abonnement"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Sms-app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Sms-app wijzigen?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Wil je <xliff:g id="NEW_APP">%1$s</xliff:g> als je sms-app gebruiken in plaats van <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wifi-assistent wijzigen?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"<xliff:g id="NEW_APP">%1$s</xliff:g> gebruiken in plaats van <xliff:g id="CURRENT_APP">%2$s</xliff:g> om je netwerkverbindingen te beheren?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"<xliff:g id="NEW_APP">%s</xliff:g> gebruiken om je netwerkverbindingen te beheren?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Onbekende simkaartprovider"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> heeft geen bekende registratiewebsite"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Plaats een simkaart en start het apparaat opnieuw"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Maak verbinding met internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Recente locatieverzoeken"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Locatie voor werkprofiel"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Locatierechten voor apps"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Toegang intrekken"</string>
     <string name="controls_label" msgid="8671492254263626383">"Bedieningselementen"</string>
     <string name="force_stop" msgid="2681771622136916280">"Ge­dwong­en stop­pen"</string>
+    <string name="archive" msgid="9074663845068632127">"Archiveren"</string>
+    <string name="restore" msgid="7622486640713967157">"Herstellen"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Terugzetten…"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Herstellen…"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Herstellen…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Herstellen…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Totaal"</string>
     <string name="application_size_label" msgid="6407051020651716729">"App-grootte"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB-opslagapp"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Kan pakketgrootte niet berekenen."</string>
     <string name="version_text" msgid="7628938665256107608">"versie <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Verplaatsen"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Archiveren is mislukt"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> gearchiveerd"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Herstel is mislukt"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> wordt hersteld"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Er wordt al een andere migratie uitgevoerd."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Niet voldoende opslagruimte."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"App bestaat niet."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Beschikbaar schermtoetsenbord"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Schermtoetsen­borden beheren"</string>
     <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="6922850403920596246">"Zet Bouncetoetsen aan voor toegankelijkheid voor het fysieke toetsenbord"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Langzame toetsen"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Zet Langzame toetsen aan voor toegankelijkheid voor het fysieke toetsenbord"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Plaktoetsen"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Zet Plaktoetsen aan voor toegankelijkheid voor het fysieke toetsenbord"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Tik rechtsonder op de touchpad voor meer opties"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Snelheid van aanwijzer"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Touchpadgebaren leren"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Naar de homepage"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swipe ergens op je touchpad omhoog met 3 vingers"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Terug"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sorteren op gebruikstijd"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sorteren op laatst gebruikt"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sorteren op app-naam"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Laatst gebruikt"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Laatst gebruikt"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nooit"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Gebruikstijd"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Toegankelijkheid"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Instellingen voor toegankelijkheid"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Vergroten door 3 keer te tikken"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Vergroten met sneltoets"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Vergroten met sneltoets en drie keer tikken"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Over <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Knop Toegankelijkheid gebruiken om te openen"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Houd de volumetoetsen ingedrukt om te openen"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Tik 3 keer op het scherm om te openen"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Dubbeltik met 2 vingers op het scherm om te openen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gebaar gebruiken om te openen"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Toegankelijkheidsgebaar gebruiken"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Als je deze functie wilt gebruiken, tik je onderaan het scherm op de knop Toegankelijkheid <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nTik op de knop Toegankelijkheid en houd deze vast om tussen functies te schakelen."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tik op de knop Toegankelijkheid op het scherm om deze functie te gebruiken."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Als je deze functie wilt gebruiken, houd je beide volumetoetsen ingedrukt."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tik ergens op je scherm om de vergroting te starten of te stoppen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Dubbeltik met 2 vingers ergens op het scherm om de vergroting te starten of te stoppen."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Als je deze functie wilt gebruiken, swipe je 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Als je deze functie wilt gebruiken, swipe je 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Als je een toegankelijkheidsfunctie wilt gebruiken, swipe je 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Als je een toegankelijkheidsfunctie wilt gebruiken, swipe je 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Instellingen voor knop Toegankelijkheid"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Knopinstellingen"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Snelkoppeling voor <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Knop Toegankelijkheid"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Toegankelijkheidsgebaar"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Volumetoetsen ingedrukt houden"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"volumetoetsen ingedrukt houden"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Houd beide volumetoetsen 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dubbeltik met 2 vingers op het scherm"</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="6863958573135995927">"drie keer op het scherm 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Meer informatie over de knop Toegankelijkheid en het toegankelijkheidsgebaar"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"De toegankelijkheidsknop gebruiken. Het gebaar is niet beschikbaar bij navigatie met 3 knoppen."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Krijg snel toegang tot toegankelijkheidsfuncties"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Aan de slag"</b>\n"1. Ga naar de toegankelijkheidsinstellingen.\n2. Selecteer een functie en tik op de snelkoppeling.\n3. Kies of je een knop of gebaar wilt gebruiken om de functie te openen."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Aan de slag"</b>\n"1. Ga naar de toegankelijkheidsinstellingen.\n2. Selecteer een functie en tik op de snelkoppeling.\n3. Kies de knop waarmee je de functie wilt openen."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Aan de slag&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ga naar de toegankelijkheidsinstellingen&lt;br/&gt; {1,number,integer}. Kies een functie en tik op de sneltoets&lt;br/&gt; {2,number,integer}. Geef aan of je een knop of gebaar wilt gebruiken voor toegang tot de functie&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Aan de slag&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Ga naar de toegankelijkheidsinstellingen&lt;br/&gt; {1,number,integer}. Kies een functie en tik op de sneltoets&lt;br/&gt; {2,number,integer}. Kies de knop waarmee je de functie wilt openen&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Knop of gebaar gebruiken"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Locatie"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Formaat"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Aan/uit-knop beëindigt gesprek"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Grote cursor"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Maak de cursor duidelijker"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Alle apps donker maken"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Van toepassing op apps zonder eigen donker thema. Er kunnen problemen zoals omgekeerde kleuren zijn."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animaties verwijderen"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Minder beweging op het scherm"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monogeluid"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Trillen en haptische technologie gebruiken"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Trilling bij wekker"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Trilling bij media"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Toetsenbordtrilling"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Trilling bij bellen"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Trilling bij melding"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Tikfeedback"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stoppen"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Annuleren"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> beëindigen?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Als je op <xliff:g id="STOP">%1$s</xliff:g> tikt, wordt <xliff:g id="SERVICE">%2$s</xliff:g> gestopt."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Uitzetten"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Aan laten"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> uitzetten?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Geen services geïnstalleerd"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Geen service geselecteerd"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Geen beschrijving opgegeven."</string>
     <string name="settings_button" msgid="2195468788019730377">"Instellingen"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"lichtgevoeligheid, fotofobie, donker thema, migraine, hoofdpijn, leesstand, nachtstand, helderheid verlagen, witpunt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"gebruiksgemak, makkelijke toegang, ondersteuning, ondersteunend"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"zicht, gehoor, blind, doof, motoriek, mobiliteit, ondersteunend, ondersteuning, gebruiksgemak, toegankelijkheid, hand, hulp"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"venstervergroting, zoom, vergroting, slechtziend, vergroten, groter maken"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"ondertiteling, ondertiteling voor doven en slechthorenden, CC, Live transcriptie, slechthorend, gehoorverlies, CART, spraak naar tekst, ondertitels"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kleurcontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorisch, muis"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hoortoestellen, slechthorend, gehoorverlies, cochleaire implantaten, versterkingsapparaten, geluidsprocessors"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motoriek, muis, externe muis, hoofdmuis, aanpasbare muis, rolstoel, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hoortoestellen, slechthorend, gehoorverlies, cochleaire implantaten, versterkingsapparaten, geluidsprocessors, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"slechthorend, gehoorverlies, ondertiteling, teletype, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"3 knoppen"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"mobiliteit, motoriek, senior, artritis, rsi, beroerte, tremor, multiple sclerosis, hersenverlamming, trillen, repetitive strain injury, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"vertraging, mobiliteit, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Afdrukken"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Uit"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 afdrukservice aan}other{# afdrukservices aan}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> tot batterij leeg is"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> tot batterij is opgeladen"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Schermtijd"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Achtergrondtijd"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Batterij bijna leeg"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Toestaan dat de app wordt uitgevoerd op de achtergrond"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Achtergrondactiviteit beperken?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Als je de achtergrondactiviteit voor een app beperkt, functioneert de app mogelijk niet meer correct"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Batterijoptimalisatie is niet ingesteld voor deze app. Je kunt de app dus niet beperken.\n\nZet eerst batterijoptimalisatie aan als je de app wilt beperken."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Batterijgebruik beheren"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Achtergrondgebruik toestaan"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Zet aan voor realtime updates, zet uit om de batterij te sparen"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Onbeperkt"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Geoptimaliseerd"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Beperkt"</string>
@@ -2211,7 +2401,7 @@
     <string name="history_details_title" msgid="8628584613889559355">"Geschiedenisdetails"</string>
     <string name="advanced_battery_preference_title" msgid="3790901207877260883">"Batterijgebruik"</string>
     <string name="advanced_battery_preference_summary_with_hours" msgid="954091349133320955">"Bekijk gebruik voor afgelopen 24 uur"</string>
-    <string name="advanced_battery_preference_summary" msgid="2372763700477268393">"Gebruik sinds laatste volledige lading"</string>
+    <string name="advanced_battery_preference_summary" msgid="2372763700477268393">"Toon gebruik sinds laatste volle lading"</string>
     <string name="battery_details_title" msgid="3289680399291090588">"Batterijgebruik voor app"</string>
     <string name="details_subtitle" msgid="2550872569652785527">"Gebruiksdetails"</string>
     <string name="controls_subtitle" msgid="3759606830916441564">"Energieverbruik aanpassen"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Apps met het hoogste verbruik bekijken"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Opladen geoptimaliseerd om de batterij te beschermen"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Opladen is geoptimaliseerd om de levensduur van de batterij te verlengen"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Opladen geoptimaliseerd om de batterij te beschermen"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Opladen is geoptimaliseerd als het apparaat is gedockt om de levensduur van de batterij te verlengen"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Opladen geoptimaliseerd om de batterij te beschermen"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Opladen is geoptimaliseerd als het apparaat is gedockt om de levensduur van de batterij te verlengen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Volledig opladen"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"De volgende keer dat je tablet is gedockt, wordt het opladen geoptimaliseerd om de batterij te beschermen"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Meer informatie over pauze tijdens opladen"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Opladen hervatten"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Omvat achtergrondactiviteit met hoog energieverbruik"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Deze app kan de batterij op de achtergrond gebruiken. Je batterij is mogelijk eerder leeg dan verwacht."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Verwijderen"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Annuleren"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Opladen tot vol"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Probleem met oplaadaccessoire"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Oplaadaccessoire checken"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Meer informatie over opladen met een incompatibele oplader"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batterijbeheer"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Apps automatisch beheren"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"sinds laatste volledige lading"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Systeem-apps"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Verwijderde apps"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Anders"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Geschatte resterende tijd"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Tot volledige lading"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Totaal: minder dan een minuut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Achtergrond: minder dan een minuut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Schermtijd: minder dan een minuut"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Minder dan een minuut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Totaal: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Achtergrond: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Schermtijd: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"nu"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Diagram voor batterijgebruik"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagram van batterijgebruik per dag"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagram van batterijgebruik per uur"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Percentage batterijniveau van <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> tot <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Batterijgebruik sinds de laatste keer dat de batterij volledig werd opgeladen"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Batterijgebruik voor <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Schermtijd sinds laatste keer dat de batterij volledig werd opgeladen"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Noodoproepsignaal"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Gedrag bij noodoproepen instellen"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Back-up"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Aan"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Uit"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Back-up en herstel"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Persoonsgegevens"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Back-up maken van mijn gegevens"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobiele data en wifi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Persoonsgegevens autom. synchr."</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Werkgegevens autom. synchr."</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Privégegevens automatisch synchroniseren"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Cyclus aanpassen..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dag van maand voor resetten van datagebruikscyclus:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Geen gegevens gebruikt tijdens deze periode."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Naam"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Type"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Serveradres"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-versleuteling (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-geheim"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-ID"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Van tevoren gedeelde IPSec-sleutel"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-gebruikerscertificaat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"CA-certificaat voor IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-servercertificaat"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Geavanceerde opties tonen"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-zoekdomeinen"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-servers (bijv. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Doorstuurroutes (bijv. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Gebruikersnaam"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Wachtwoord"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Accountgegevens opslaan"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(niet gebruikt)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(server niet verifiëren)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ontvangen van server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Dit type VPN kan niet continu verbonden blijven"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN ondersteunt alleen numerieke serveradressen"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Er moet een DNS-server worden ingesteld voor Always-on VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adressen van DNS-servers moeten numeriek zijn voor Always-on VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"De opgegeven informatie is niet geschikt voor Always-on VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Annuleren"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Sluiten"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Verbindingen zonder VPN blokkeren"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN-verbinding vereisen?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Niet beveiligd. Update naar een IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Kan niet-ondersteund VPN niet starten."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecteer een VPN-profiel waarmee je altijd verbonden wilt blijven. Netwerkverkeer wordt alleen toegestaan bij verbinding met dit VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Geen"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Voor Always-on VPN is een IP-adres voor zowel de server als DNS vereist."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER Alerts"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Berichten ontvangen over ontvoerde kinderen"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Herhalen"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Oproepbeheer aanzetten"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Deze service toestaan te beheren hoe je gesprekken worden uitgevoerd."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Oproepbeheer"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Mobiele noodmeldingen"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Netwerkproviders"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Namen van toegangspunten"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Simkaartstatus"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Simkaartstatus (simkaartsleuf %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Simkaarten gewijzigd."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Je sim\'s zijn gewijzigd"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tik om in te stellen"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Elke keer vragen"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selectie vereist"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Recente apps, standaard-apps"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Toegang tot meldingen is niet beschikbaar voor apps in het werkprofiel."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Wachtwoorden en accounts"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Opgeslagen wachtwoorden, automatisch invullen, gesynchroniseerde accounts"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Suggesties voor inloggen en automatisch invullen"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Standaard-apps"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Gekloonde apps"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Maak een tweede instantie van een app zodat je 2 accounts tegelijk kunt gebruiken."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"portemonnee"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betalen, tikken, betalingen"</string>
     <string name="keywords_backup" msgid="707735920706667685">"back-up, back-up maken, back-uppen"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gebaar"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"gezicht, ontgrendelen, auth, inloggen"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"gezicht, ontgrendelen, verificatie, inloggen, vingerafdruk, biometrisch"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl-versie, imei-softwareversie"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tekstgrootte, grote letters, groot lettertype, grote tekst, slechtziend, tekst groter maken, lettertype vergroten, vergroting van lettertype"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"inactief scherm altijd aan, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, lezer"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"toetsenbord, haptische technologie, trillen"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, trillen, niet storen"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Mediavolume"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Castvolume"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Opstartgeluiden"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live ondertiteling"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Ondertitel media automatisch"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefoonspeakers"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tabletspeakers"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Apparaatspeakers"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Bedrade koptelefoon"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Compatibele media leveren een royaler geluid"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Uit"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Toon alle content van meldingen"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Toon gevoelige content alleen indien ontgrendeld"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Toon helemaal geen meldingen"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hoe wil je dat het vergrendelscherm wordt weergegeven?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Wat wil je tonen op het vergrendelscherm?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Vergrendelscherm"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Content van alle werkmeldingen tonen"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Verberg gevoelige werkcontent"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Recente gesprekken verwijderd"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Gesprek verwijderd"</string>
     <string name="clear" msgid="5092178335409471100">"Wissen"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> wissen"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioriteitsgesprekken en gewijzigde gesprekken zie je hier"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Zodra je een gesprek als prioriteitsgesprek markeert of wijzigingen in gesprekken aanbrengt, zie je ze hier. \n\nZo wijzig je gespreksinstellingen: \nswipe omlaag vanaf de bovenkant van het scherm om het pull-downvenster te openen, tik op een gesprek en houd het vast."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimaliseren"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Afkoelperiode voor meldingen"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Afkoelperiode toepassen op alle meldingen"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Het meldingsvolume geleidelijk verlagen als je veel opeenvolgende meldingen van dezelfde app krijgt"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Afkoelperiode toepassen op gesprekken"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Het meldingsvolume geleidelijk verlagen als je in korte tijd veel berichten van dezelfde chat krijgt"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Afkoelperiode voor meldingen niet gebruiken"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Meldingsvolume nooit verlagen, ongeacht het aantal opeenvolgende meldingen van dezelfde app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Trillen indien ontgrendeld"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Alleen trillen als het scherm ontgrendeld is"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Toepassen op werkprofielen"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"De instellingen voor de afkoelperiode voor meldingen van je persoonlijke profiel toepassen op je werkprofiel"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR-helperservices"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Er zijn geen geïnstalleerde apps die hebben gevraagd om te worden uitgevoerd als VR-helperservices."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR-servicetoegang toestaan voor <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Uit"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"App vastzetten"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Als je een app vastzet, kun je de huidige app in beeld houden totdat je deze losmaakt. Je kunt deze functie bijvoorbeeld gebruiken om een vriend die je vertrouwt, een specifieke game te laten spelen."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Als je een app hebt vastgezet, kan de vastgezette app mogelijk andere apps openen en zijn er misschien persoonsgegevens toegankelijk. \n\nZo zet je een app vast: 	\n1. Zet App vastzetten aan. 	\n2. Open Overzicht. 	\n3. Tik bovenaan het scherm op het app-icoon en daarna op Vastzetten."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Als je een app hebt vastgezet, kan de vastgezette app mogelijk andere apps openen en zijn er misschien persoonsgegevens toegankelijk. \n\nAls je je apparaat beveiligd met iemand wilt delen, probeer je een gastgebruiker. \n\nZo zet je een app vast: 	\n1. Zet App vastzetten aan. 	\n2. Open Overzicht. 	\n3. Tik bovenaan het scherm op het app-icoon en daarna op Vastzetten."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Als je een app hebt vastgezet, kan de vastgezette app mogelijk andere apps openen en zijn er misschien persoonsgegevens toegankelijk. \n\nZo gebruik je de functie voor app vastzetten: 	\n{0,number,integer}. Zet App vastzetten aan 	\n{1,number,integer}. Open het overzicht 	\n{2,number,integer}. Tik bovenaan het scherm op het app-icoon en daarna op Vastzetten"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Als je een app hebt vastgezet, kan de vastgezette app mogelijk andere apps openen en zijn er misschien persoonsgegevens toegankelijk. \n\nAls je je apparaat beveiligd met iemand wilt delen, probeer je een gastgebruiker. \n\nZo gebruik je de functie voor app vastzetten: 	\n{0,number,integer}. Zet App vastzetten aan 	\n{1,number,integer}. Open het overzicht 	\n{2,number,integer}. Tik bovenaan het scherm op het app-icoon en daarna op Vastzetten"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Als een app is vastgezet: \n\n•	 Persoonsgegevens kunnen toegankelijk zijn (zoals contacten en e-mails).\n \n•	 De vastgezette app kan mogelijk andere apps openen. \n\nGebruik deze functie alleen met mensen die je vertrouwt."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Vraag om ontgrendelingspatroon voor losmaken"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Vraag pin voor losmaken"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Vraag wachtwoord voor losmaken"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Apparaat vergrendelen wanneer items worden losgemaakt"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Verwijdering van simkaart bevestigen"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Bevestig dat je de e-simkaart wilt wissen"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Bevestig dat jij het bent voordat een e-simkaart wordt gewist"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Geavanceerde geheugenbescherming (bèta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Geavanceerde geheugenbescherming"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Niet-gebruikte app-instellingen"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Onderbreken indien niet gebruikt"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Verwijder rechten en tijdelijke bestanden, en stop meldingen"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"App beheren indien ongebruikt"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Verwijder rechten en tijdelijke bestanden, stop meldingen en archiveer de app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Alle apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Geïnstalleerde apps"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant-apps"</string>
@@ -3660,7 +3846,7 @@
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"Screenshot gebruiken"</string>
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Sta toe dat de assistentie-app toegang krijgt tot een afbeelding van het scherm"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"Scherm laten knipperen"</string>
-    <string name="assist_flash_summary" msgid="3032289860177784594">"Laat schermranden knipperen wanneer de assistentie-app toegang verkrijgt tot tekst op scherm of screenshot"</string>
+    <string name="assist_flash_summary" msgid="3032289860177784594">"Laat schermranden knipperen wanneer de assistentie-app toegang heeft tot tekst op scherm of screenshot"</string>
     <string name="assist_footer" msgid="8248015363806299068">"Assistentie-apps kunnen je helpen op basis van de informatie op het scherm dat je bekijkt. Bepaalde apps ondersteunen launcher- en spraakinvoerservices voor geïntegreerde support."</string>
     <string name="average_memory_use" msgid="717313706368825388">"Gemiddeld geheugengebruik"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"Maximaal geheugengebruik"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Vrij"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Geheugen gebruikt door apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app heeft geheugen gebruikt in de afgelopen {time}}other{# apps hebben geheugen gebruikt in de afgelopen {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Profilering geheugengebruik aanzetten"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Voor profilering van geheugengebruik zijn aanvullende systeembronnen nodig."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilering van geheugen uitgezet"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequentie"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximaal gebruik"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Geen data gebruikt"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Weergeven vóór andere apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Weergeven vóór andere apps toestaan"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Sta toe dat deze app op de voorgrond wordt weergegeven vóór andere apps die je gebruikt. Deze app kan zien waar je tikt of wijzigen wat op het scherm wordt weergegeven."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Media-uitvoer wijzigen"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"App toestaan media-uitvoer te wijzigen"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Sta deze app toe om te kiezen welk verbonden apparaat audio of video van andere apps afspeelt. Als dit is toegestaan, heeft deze app toegang tot een lijst met beschikbare apparaten, zoals koptelefoons en speakers, en kan deze kiezen welk uitvoerapparaat wordt gebruikt om audio of video te streamen of te casten."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Toegang tot alle bestanden"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Toegang geven om alle bestanden te beheren"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Sta toe dat deze app alle bestanden op dit apparaat of gekoppelde opslagvolumes kan lezen, aanpassen of verwijderen. Als je dit toestaat, kan de app zonder jouw medeweten toegang tot bestanden krijgen."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Mag toegang tot alle bestanden hebben"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps met spraakactivering"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Spraakactivering toestaan"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Met spraakactivering zet je goedgekeurde apps handsfree aan met spraakopdrachten. Dankzij ingebouwde adaptieve detectie blijven gegevens privé.\n\n"<a href="">"Meer informatie over beveiligde adaptieve detectie"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Meldingen op volledig scherm"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Meldingen op volledig scherm van deze app toestaan"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Toestaan dat deze app meldingen op het volledige scherm toont als het apparaat is vergrendeld. Apps kunnen zo alarmen, inkomende gesprekken of andere urgente meldingen onder de aandacht brengen."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> datawaarschuwing"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> datalimiet"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> datawaarschuwing/<xliff:g id="ID_2">^2</xliff:g> datalimiet"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Het door de provider berekende dataverbruik kan afwijken van de berekening van het apparaat"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Toont geen data die door providernetwerken worden gebruikt"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> gebruikt"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Datawaarschuwing instellen"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> geleden geüpdatet"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Zojuist geüpdatet door <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Zojuist geüpdatet"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Abonnement bekijken"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Details bekijken"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Databesparing"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Onbeperkte data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> heeft op de achtergrond meer batterij dan normaal gebruikt"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> heeft op de voorgrond meer batterij gebruikt"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> heeft op de voorgrond meer batterij dan normaal gebruikt"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Afwijking in batterijgebruik"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Hoog batterijgebruik"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hoog batterijgebruik op de achtergrond"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hoog batterijgebruik op de voorgrond"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Ontwikkelaarstegels voor Snelle instellingen"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Time-out voor uitzetten ADB-machtiging"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Zet het automatisch intrekken van ADB-rechten uit voor systemen die niet binnen de standaardperiode (7 dagen) of de door de gebruiker ingestelde periode (minimaal 1 dag) opnieuw verbinding hebben gemaakt"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope-tracering"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensoren uit"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Instellingen voor werkprofiel"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Zoeken naar contacten in zakelijke telefoongids in persoonlijke apps"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"systeemnavigatie, navigatie met 2 knoppen, navigatie met 3 knoppen, navigatie met gebaren, swipen, vegen"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitale assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swipen om assistent aan te roepen"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swipe omhoog vanuit een benedenhoek om de digitale assistent-app aan te roepen"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swipe omhoog vanuit een benedenhoek om de digitale assistent-app aan te roepen"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Startknop vasthouden voor de Assistent"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Tik op de startknop en houd vast om de app voor de digitale assistent te starten"</string>
     <string name="low_label" msgid="6525629096999711220">"Laag"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Service voor automatisch invullen"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Standaardservice voor automatisch invullen"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Wachtwoorden"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Wachtwoorden, toegangssleutels en gegevensservices"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Aanvullende providers"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Voorkeursservice"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Aanvullende services"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# wachtwoord}other{# wachtwoorden}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatisch, invullen, automatisch invullen, wachtwoord"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"gegevens, toegangssleutel, wachtwoord"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatisch, invullen, automatisch invullen, gegevens, toegangssleutel, wachtwoord"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Wijzigen"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Openen"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Geen geselecteerd"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Zorg dat je deze app vertrouwt&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; maakt gebruik van de content op je scherm om te bepalen wat automatisch kan worden aangevuld."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; gebruiken?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; gebruikt wat er op je scherm staat om te bepalen wat automatisch kan worden ingevuld. Nieuwe wachtwoorden, toegangssleutels en andere informatie worden vanaf nu hier opgeslagen."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Wachtwoorden, toegangssleutels en gegevensservices"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; gebruiken?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nieuwe wachtwoorden, toegangssleutels en andere informatie worden vanaf nu hier opgeslagen. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan wat er op je scherm staat gebruiken om te bepalen wat automatisch kan worden ingevuld."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Voorkeursservice voor wachtwoorden, toegangssleutels en automatisch invullen"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s uitzetten?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Deze service uitzetten?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Opgeslagen informatie zoals wachtwoorden, toegangssleutels, betaalmethoden en andere informatie wordt niet automatisch ingevuld als je inlogt. Kies een wachtwoord, toegangssleutel of gegevensservice om je opgeslagen informatie te gebruiken."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Wachtwoorden, toegangssleutels en automatisch invullen"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Alle services uitzetten?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Wachtwoorden, toegangssleutels en andere opgeslagen informatie worden niet automatisch worden ingevuld als je inlogt."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&amp;gtWijzig je voorkeursservice in &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nieuwe wachtwoorden, toegangssleutels en andere informatie worden vanaf nu hier opgeslagen. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan wat er op je scherm staat gebruiken om te bepalen wat automatisch kan worden ingevuld."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s gebruiken?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Uitzetten"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Wijzigen"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Er kunnen maar 5 services aanstaan"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Zet minsten 1 service uit om een andere toe te voegen"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s gebruikt wat er op je scherm staat om te bepalen wat automatisch kan worden ingevuld."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limiet voor wachtwoorden, toegangssleutels en gegevensservices"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Je kunt maximaal 5 wachtwoorden, toegangssleutels en gegevensservices tegelijk hebben. Zet een service uit om meer toe te voegen."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limiet voor wachtwoorden, toegangssleutels en gegevensservices"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Je kunt maximaal 5 wachtwoorden, toegangssleutels en gegevensservices tegelijk actief hebben. Zet een service uit om meer toe te voegen."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Uitzetten"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatisch invullen"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logniveau"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Wijzigingen in app-compatibiliteit kunnen alleen worden aangepast voor apps waarin fouten kunnen worden opgespoord. Installeer een app waarin fouten kunnen worden opgespoord en probeer het opnieuw."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Is afhankelijk van een andere instelling"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d accounts"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Apparaatnaam"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basisinformatie"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Juridisch en regelgeving"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Sta toe dat deze app wordt gelanceerd als een NFC-tag wordt gescand.\nAls dit recht aanstaat, is de app beschikbaar als optie wanneer er een tag wordt waargenomen."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Media afspelen naar"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> afspelen op"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio wordt afgespeeld op"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Dit apparaat"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Niet beschikbaar tijdens gesprekken"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Opnemen op"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Geluid uit"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Als je dit wilt aanzetten, wijzig je eerst \'Aan/uit-knop ingedrukt houden\' in het aan/uit-menu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Netwerk­gegevens"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Je apparaatnaam is zichtbaar voor apps op je telefoon. De apparaatnaam kan ook door andere mensen worden gezien als je verbinding maakt met bluetooth-apparaten of een wifi-netwerk, of als je een wifi-hotspot instelt."</string>
     <string name="devices_title" msgid="649715719278562515">"Apparaten"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Netwerk kiezen"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Verbinding verbroken"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Naam"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Kleur (gebruikt door geschikte apps)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Opslaan"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Simkaart gebruiken"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Deze sim gebruiken"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Uit"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Verwijder de simkaart om deze simkaart uit te zetten"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Tik om <xliff:g id="CARRIER">%1$s</xliff:g> te activeren"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Simkaart wissen"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Als je deze sim wilt uitzetten, verwijder je de simkaart"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tik om je sim van <xliff:g id="CARRIER">%1$s</xliff:g> te activeren"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"E-simkaart wissen"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Voorkeursnetwerktype"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"De netwerkgebruiksmodus wijzigen"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Voorkeursnetwerktype"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Neem contact op met je netwerkprovider over de prijzen."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Datagebruik van app"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ongeldige netwerkmodus <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Negeren."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellietberichten"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Stuur en ontvang tekstberichten per satelliet. Inbegrepen bij je account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Stuur en ontvang tekstberichten per satelliet. Niet inbegrepen bij je account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellietberichten"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Over satellietberichten"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Je kunt tekstberichten via satelliet sturen en ontvangen als onderdeel van een geschikt <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-account"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Je <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-abonnement"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellietberichten zijn inbegrepen bij je account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellietberichten zijn niet inbegrepen bij je account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Satellietberichten toevoegen"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Hoe het werkt"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Als je geen mobiel netwerk hebt"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Je telefoon maakt automatisch verbinding met een satelliet. Voor de beste verbinding moet je vrij zicht op de lucht houden."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Nadat je telefoon verbinding maakt met een satelliet"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Je kunt iedereen een tekstbericht sturen, ook hulpdiensten. Je telefoon maakt opnieuw verbinding met een mobiel netwerk zodra het beschikbaar is."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellietberichten kunnen langer duren en zijn alleen in bepaalde gebieden beschikbaar. Het weer en bepaalde constructies kunnen je satellietverbinding beïnvloeden. Bellen via satelliet is niet beschikbaar.\n\nHet kan enige tijd duren voordat de wijzigingen in je account zichtbaar zijn in Instellingen. Neem voor informatie contact op met <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Meer informatie over satellietberichten"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Toegangspuntnamen"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Niet beschikbaar wanneer verbonden met <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Overschakelen naar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Overschakelen naar simkaart?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> gebruiken?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Er kan maar 1 simkaart tegelijk actief zijn.\n\nAls je overschakelt naar <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, wordt de service van <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> niet geannuleerd."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Er kan maar 1 e-simkaart tegelijk actief zijn.\n\nAls je overschakelt naar <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, wordt de service van <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> niet opgezegd."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Er kan maar 1 simkaart tegelijk actief zijn.\n\nAls je overschakelt, wordt de service van <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> niet geannuleerd."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Er kan maar één simkaart tegelijk actief zijn.\n\nAls je overschakelt naar <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, wordt de service van <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> niet opgezegd."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Er kan maar één e-simkaart tegelijk actief zijn.\n\nAls je overschakelt naar <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, wordt de service van <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> niet opgezegd."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Er kan maar één simkaart tegelijk actief zijn.\n\nAls je overschakelt, wordt de service van <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> niet opgezegd."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Je kunt 2 simkaarten tegelijk gebruiken. Als je <xliff:g id="CARRIER_NAME">%1$s</xliff:g> wilt gebruiken, zet je de andere simkaart uit."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Overschakelen naar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> uitzetten"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Als je een simkaart uitzet, wordt de service niet opgezegd"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Verbinding maken met netwerk…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Overschakelen naar <xliff:g id="CARRIER_NAME">%1$s</xliff:g> voor gesprekken en berichten…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Kan provider niet wijzigen"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"De provider kan niet worden gewijzigd vanwege een fout."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Je sim activeren…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Overschakelen naar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Kan niet wisselen tussen sim\'s"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Er is iets misgegaan. Kan niet wisselen tussen sim\'s."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> uitzetten?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Simkaart uitzetten?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Simkaart uitzetten<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Kan provider niet uitzetten"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Er is iets misgegaan. Je provider kan niet worden uitgezet."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Kan sim niet uitzetten"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Er is iets misgegaan en je sim kan niet worden uitgezet."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 simkaarten gebruiken?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Op dit apparaat kunnen 2 simkaarten tegelijk actief zijn. Tik op Nee, bedankt als je 1 simkaart wilt blijven gebruiken."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Apparaat opnieuw opstarten?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nee, bedankt"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Annuleren"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Overschakelen"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Uitzetten"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kan simkaart niet activeren"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Probeer de simkaart weer aan te zetten. Als het probleem blijft optreden, start je het apparaat opnieuw op."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Je sim instellen"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Stel je voorkeuren voor mobiele netwerken in om meerdere sims te gebruiken op dit apparaat"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Je sims labelen"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Je ziet deze labels als je belt, tekstberichten stuurt of data gebruikt, en in Instellingen"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Simlabel"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Sims selecteren voor gebruik"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Je kunt 2 sims tegelijk gebruiken"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Je primaire sims instellen"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Kies welke sims je standaard wilt gebruiken voor gesprekken, tekstberichten en data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Je primaire sims"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Gesprekken"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Tekstberichten"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatische dataschakeling"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Gebruik data van beide sims, afhankelijk van dekking en beschikbaarheid"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Alleen data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Instellen"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Volgende"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> aanzetten…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobiel netwerk"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefoonnummer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Simlabel en kleur"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Netwerkactivering"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Wijziging van provider"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> is actief"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Je sim van <xliff:g id="CARRIER_NAME">%1$s</xliff:g> is actief"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tik om de instellingen voor de simkaart te updaten"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Overgeschakeld naar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Overgeschakeld naar een andere provider"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Je mobiele netwerk is gewijzigd"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Je andere simkaart instellen"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Kies je actieve simkaart of gebruik 2 simkaarten tegelijk"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Kies een nummer om te gebruiken"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Er is 1 nummer beschikbaar op dit apparaat, maar er kan er maar 1 tegelijk worden gebruikt}=2{Er zijn 2 nummers beschikbaar op dit apparaat, maar er kan maar 1 tegelijk worden gebruikt}other{Er zijn # nummers beschikbaar op dit apparaat, maar er kan maar 1 tegelijk worden gebruikt}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Activeren<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Kan nu niet worden geactiveerd"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Een sim kiezen om te gebruiken"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Er is 1 sim beschikbaar op dit apparaat, maar er kan er maar 1 tegelijk worden gebruikt}=2{Er zijn 2 sim\'s beschikbaar op dit apparaat, maar er kan maar 1 tegelijk worden gebruikt}other{Er zijn # sim\'s beschikbaar op dit apparaat, maar er kan maar 1 tegelijk worden gebruikt}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Aanzetten<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Kan deze sim nu niet aanzetten"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> gebruiken?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> wordt gebruikt voor mobiele data, gesprekken en sms\'jes."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Geen actieve simkaarten beschikbaar"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Als je mobiele data, gespreksfuncties en sms later wilt gebruiken, ga je naar de netwerkinstellingen"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"Simkaart"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Deze e-simkaart wissen?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Als je deze simkaart wist, wordt de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-service van dit apparaat verwijderd.\n\nDe service voor <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> wordt niet geannuleerd."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Hiermee wordt de <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-service van dit apparaat verwijderd, maar je <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-abonnement wordt niet opgezegd."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Wissen"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Simkaart wissen…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kan simkaart niet wissen"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Door een fout kan deze simkaart niet worden gewist.\n\nStart je apparaat opnieuw op en probeer het nogmaals."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"E-simkaart wissen…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Kan e-simkaart niet wissen"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Er is iets misgegaan en deze e-simkaart is niet gewist.\n\nStart je apparaat opnieuw en probeer het nog eens."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Verbinding maken met apparaat"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"De <xliff:g id="APPNAME">%1$s</xliff:g>-app wil een tijdelijk wifi-netwerk gebruiken om verbinding te maken met je apparaat."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Geen apparaten gevonden. Zorg dat de apparaten aanstaan en verbinding kunnen maken."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Noodoproepen"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Noodoproepen via wifi worden niet ondersteund door je provider.\nHet apparaat schakelt automatisch over naar een mobiel netwerk om een noodoproep te plaatsen.\nNoodoproepen zijn alleen mogelijk in gebieden met mobiele dekking."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Wifi gebruiken voor gesprekken om de kwaliteit te verbeteren"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Reserveoptie voor bellen"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Als <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> niet beschikbaar is of roaming actief is, kun je bellen via <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> met je simkaart voor mobiele data."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"reserveoptie voor bellen"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Inkomende mms"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Kan mms niet verzenden"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tik om mms-berichten via <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> toe te staan als mobiele data uitstaan"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informatie over je werkbeleid"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Instellingen beheerd door je IT-beheerder"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Opstarten met paginagrootte 16 K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Opstarten met kernel voor paginagrootte van 16 K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Opnieuw opstarten met kernel voor pagina\'s van 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"WAARSCHUWING: Sommige apps werken misschien niet met deze modus. Het apparaat wordt na bevestiging opnieuw opgestart."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Opnieuw opstarten met kernel voor pagina\'s van 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Het apparaat wordt na bevestiging opnieuw opgestart."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Kan kernel niet updaten naar kernel voor pagina\'s van 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Wijziging toepassen"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"App voor verwerking bugrapport"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Hierdoor wordt bepaald welke app de snelkoppeling voor het bugrapport verwerkt op je apparaat."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Privé"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Sta toe dat apps met schermoverlay vóór instellingsschermen worden getoond"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Nepmodem toestaan"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Sta toe dat dit apparaat de nepmodemservice uitvoert voor instrumentatietests. Zet dit niet aan tijdens normaal gebruik van de telefoon"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Beveiligingsmaatregelen voor scherm delen uitzetten"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Zet door het systeem toegepaste beveiligingsmaatregelen voor apps en meldingen uit tijdens scherm delen"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Mediaspeler vastzetten"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"De mediaspeler blijft open staan in Snelle instellingen, zodat je snel kunt verdergaan met afspelen"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Media tonen op vergrendelscherm"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"De mediaspeler blijft open staan op het vergrendelscherm, zodat je snel kunt doorgaan met afspelen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Media-aanbevelingen laten zien"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Media-aanbevelingen van de Assistent tonen"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Op basis van je activiteit"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Speler verbergen"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Toon speler"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Software-extensies voor camera toestaan"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Hiermee zet je de standaard software-implementatie aan van geavanceerde camerafuncties, zoals Eyes Free-videografie."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth wordt aangezet"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Simkaarten"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"Simkaart"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"E-simkaart"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"E-simkaarten"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Actief"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactief"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Aan"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Uit"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Standaard voor <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"gesprekken"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"sms"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Compatibele media leveren een royaler geluid"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Bewegingen van het hoofd volgen"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"De audio wordt aangepast als je je hoofd beweegt, voor een natuurlijker geluid"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Rechten synchroniseren"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Geef <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> dezelfde app-rechten die je op <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> hebt toegestaan"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Rechten synchroniseren vanaf de telefoon"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Geef je smartwatch dezelfde app-rechten die je op deze telefoon hebt toegestaan"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Type audioapparaat"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Onbekend"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Gemiddeld"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Hoog"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Deze app kan maar in 1 venster worden geopend"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Aan"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Uit"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Uit"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Uit"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Aan"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Uit"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Aan"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Uit"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Maakt lichte schermen donker en donkere schermen licht"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zoom in op het scherm"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Uit"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Uit"</string>
+    <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="about_phone_device_name_warning" msgid="3243226572404472381">"Je apparaatnaam is zichtbaar voor apps die je hebt geïnstalleerd. De apparaatnaam kan ook door andere mensen worden gezien 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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Scannen op misleidende apps"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"App-activiteit checken op phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Scannen gebruiken om misleidende apps te vinden"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Scannen gebruiken om misleidende apps voor werk te vinden"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Wachtwoord is nu ingesteld"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Aanwijzer tonen bij cursor plaatsen"</string>
 </resources>
diff --git a/res/values-or/arrays.xml b/res/values-or/arrays.xml
index 563d018..a893d93 100644
--- a/res/values-or/arrays.xml
+++ b/res/values-or/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ଉପଲବ୍ଧ"</item>
     <item msgid="6096962300722555553">"ପରିସୀମା ବାହାରେ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"ଅକ୍ଷମ କରାଯାଇଛି"</item>
+    <item msgid="7781484297606806796">"ୟୁନିକାଷ୍ଟ"</item>
+    <item msgid="6667451574264144311">"ୟୁନିକାଷ୍ଟ ଏବଂ ବ୍ରଡକାଷ୍ଟ"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ସିଷ୍ଟମ୍ ଡିଫଲ୍ଟ ବ୍ୟବହାର କରନ୍ତୁ: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 ମିନିଟ ପରେ"</item>
     <item msgid="1574040255478150028">"5 ମିନିଟ ପରେ"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-or/strings.xml b/res/values-or/strings.xml
index 4a9c632..ce16bb1 100644
--- a/res/values-or/strings.xml
+++ b/res/values-or/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ବର୍ତ୍ତମାନ ଆପଣ ଜଣେ ଡେଭଲପର୍‌!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"ଆବଶ୍ୟକତା ନାହିଁ, ଆପଣ ଜଣେ ଡେଭଲପର୍‌ ହିଁ ଅଟନ୍ତି।"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ଦୟାକରି ପ୍ରଥମେ ଡେଭଲପର୍‌ ବିକଳ୍ପଗୁଡିକ ସକ୍ଷମ କରନ୍ତୁ।"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"ଡେଭେଲପର ସେଟିଂସକୁ କେବଳ ଆଡମିନ ୟୁଜରମାନେ ଆକ୍ସେସ କରିପାରିବେ।"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ସିଷ୍ଟମ୍‌"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ସେବାରେ ଅଛି"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ଏବେ କାମ କରୁନାହିଁ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"ଆପଣ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଫୋଲ୍ଡ କରିବା ସମୟରେ ଫ୍ରଣ୍ଟ ଡିସପ୍ଲେ ଚାଲୁ ହୋଇଥାଏ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"କେବଳ ଗେମ, ଭିଡିଓ ଏବଂ ଆହୁରି ଅନେକ କିଛି"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"ଆପଣଙ୍କ ସ୍କ୍ରିନ ନିଷ୍କ୍ରିୟ ହେବାକୁ ଯିବାରୁ ବନ୍ଦ କରୁଥିବା ଆପ୍ସ ପାଇଁ ଫ୍ରଣ୍ଟ ଡିସପ୍ଲେ ଚାଲୁ ହୋଇଥାଏ"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ଜାରି ରଖିବା ପାଇଁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ଆପ ବ୍ୟବହାର କରିବା ଜାରି ରଖିବା ପାଇଁ ଆପଣଙ୍କ ଫୋନକୁ ଫୋଲ୍ଡ କରି ଫ୍ରଣ୍ଟ ଡିସପ୍ଲେରେ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ କିମ୍ବା ସ୍କ୍ରିନ ଲକ ହେବା ପାଇଁ କିଛି ସମୟ ଅପେକ୍ଷା କରନ୍ତୁ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"କେବେ ବି ନୁହେଁ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"ଆପଣ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଫୋଲ୍ଡ କରିବା ସମୟରେ ଫ୍ରଣ୍ଟ ଡିସପ୍ଲେ ଲକ ହୋଇଥାଏ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ଅଟୋ-ରୋଟେଟ ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ସମ୍ବନ୍ଧିତ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ରିଂଟୋନ ଏବଂ ଆଲାରାମ"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"କଲ ସମୟରେ ଅଡିଓ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"ମିଡିଆ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"ବିଜ୍ଞପ୍ତି ଓ ଅନ୍ୟ ସିଷ୍ଟମ ସାଉଣ୍ଡ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"ମିଡିଆ ଓ ସିଷ୍ଟମ ସାଉଣ୍ଡଗୁଡ଼ିକ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ଡିଫଲ୍ଟ ଭାବେ ଅଡିଓ ଆଉଟପୁଟ ଅଲଗା ଆପ୍ସ ଦ୍ୱାରା ସ୍ଥିର କରାଯାଏ"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"ନାମହୀନ ବ୍ଲୁଟୂଥ୍‍‌ ଡିଭାଇସ୍‌"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"ଖୋଜୁଛି..."</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ବ୍ଲୁଟୁଥ LE ଅଡିଓକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ଯଦି ଡିଭାଇସ LE ଅଡିଓ ହାର୍ଡୱେର କ୍ଷମତାକୁ ସମର୍ଥନ କରେ ତେବେ ଏହା ବ୍ଲୁଟୁଥ LE ଅଡିଓ ଫିଚରକୁ ଅକ୍ଷମ କରେ।"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"ବ୍ଲୁଟୁଥ LE ଅଡିଓ ମୋଡ"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ଡିଭାଇସ ବିବରଣୀରେ LE ଅଡିଓ ଟୋଗଲ ଦେଖାନ୍ତୁ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"ବ୍ଲୁଟୁଥ LE ଅଡିଓ ଅନୁମତି ତାଲିକାକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"ବ୍ଲୁଟୁଥ LE ଅଡିଓ ଅନୁମତି ତାଲିକା ଫିଚରକୁ ସକ୍ଷମ କରନ୍ତୁ।"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ବାଇପାସ ବ୍ଲୁଟୁଥ LE ଅଡିଓ ଆଲାଉଲିଷ୍ଟ"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ଆଲାଉଲିଷ୍ଟ ମାନଦଣ୍ଡ ପୂରଣ କରିବାକୁ LE ଅଡିଓ ପେରିଫେରାଲକୁ ଯାଞ୍ଚ କରାଯାଇନଥିଲେ ମଧ୍ୟ ଡିଫଲ୍ଟ ଭାବେ LE ଅଡିଓ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"ମିଡିଆ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"କଲ୍ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ଅନ୍ୟ ଡିଭାଇସ୍‌ଗୁଡ଼ିକ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ସେଭ ହୋଇଥିବା ଡିଭାଇସଗୁଡ଼ିକ"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ଆକାଉଣ୍ଟ ସହ ସମ୍ବନ୍ଧିତ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ପୂର୍ବରୁ ବ୍ୟବହାର କରାଯାଇଥିବା ଆକାଉଣ୍ଟ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ପେୟାର କରିବା ପାଇଁ ବ୍ଲୁଟୁଥ ଚାଲୁ ହେବ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"କନେକ୍ସନ ପସନ୍ଦଗୁଡ଼ିକ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ପୂର୍ବରୁ ସଂଯୋଗ ହୋ‍ଇଛି"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ବ୍ଲୁ-ଟୁଥ୍‍ ଅନ୍‌ କରାଗଲା"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ସବୁ ଦେଖନ୍ତୁ"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ସବୁ ଦେଖନ୍ତୁ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ଷ୍ଟାଇଲସ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ଟେଲ ବଟନ ଦବାଯାଇଛି"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ୱାର୍କ ପ୍ରୋଫାଇଲ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ଟେକ୍ସଟ ଫିଲ୍ଡଗୁଡ଼ିକରେ ଲେଖନ୍ତୁ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ସମସ୍ତ ଷ୍ଟାଇଲସ ବଟନ ଦାବିବାକୁ ଅଣଦେଖା କରନ୍ତୁ"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ଷ୍ଟାଇଲସ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ଅଡିଓ ସେୟାରିଂ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ଅଡିଓ ସେୟାର କରନ୍ତୁ"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"କଲ ଏବଂ ଆଲାରାମଗୁଡ଼ିକ"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR କୋଡ ବ୍ୟବହାର କରି ଏକ ଅଡିଓ ଷ୍ଟ୍ରିମ ସହ କନେକ୍ଟ କରନ୍ତୁ"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"ଆଖପାଖର କୌଣସି ଅଡିଓ ଷ୍ଟ୍ରିମ ମିଳିଲା ନାହିଁ।"</string>
     <string name="date_and_time" msgid="1788358029823431692">"ତାରିଖ ଓ ସମୟ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ପ୍ରକ୍ସି"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ଖାଲି କରନ୍ତୁ"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"ପସନ୍ଦର ଭାଷାଗୁଡ଼ିକରେ %sକୁ ଯୋଗ କରିବେ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ଏହା ଆପ୍ସ ଏବଂ ୱେବସାଇଟଗୁଡ଼ିକୁ ଆପଣ ମଧ୍ୟ ଏହି ଭାଷାକୁ ପସନ୍ଦ କରୁଛନ୍ତି ବୋଲି ଜାଣିବାକୁ ଦିଏ।"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"ଆପଣଙ୍କ ଡିଭାଇସ ସେଟିଂସ ଏବଂ ଆଞ୍ଚଳିକ ପସନ୍ଦଗୁଡ଼ିକ ପରିବର୍ତ୍ତନ ହେବ।"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ଉପଲବ୍ଧ ନାହିଁ"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ଶନିବାର"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ଯଦି ଏକ ଆପ ଆଞ୍ଚଳିକ ପସନ୍ଦଗୁଡ଼ିକୁ ସମର୍ଥନ କରେ ନାହିଁ, ତେବେ ଏହି ଆପଟି ଏହାର ଡିଫଲ୍ଟ ଲୋକେଲ ସେଟିଂସକୁ ବ୍ୟବହାର କରିବ।"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ଭାଷା ପସନ୍ଦଗୁଡ଼ିକ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ।"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ଅତିରିକ୍ତ ପସନ୍ଦ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ସମ୍ବୋନ୍ଧନର ଶବ୍ଦଗୁଡ଼ିକ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"ଆପଣଙ୍କୁ କିପରି ସମ୍ବୋନ୍ଧିତ କରାଯିବ ବୋଲି ଆପଣ ଚାହାଁନ୍ତି ତାହା ସେଟ କରନ୍ତୁ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"ଆପଣଙ୍କୁ କିପରି ସମ୍ବୋନ୍ଧିତ କରାଯିବ ତାହା ପର୍ସନାଲାଇଜ କରିବା ପାଇଁ ଆପ୍ସ ଆପଣଙ୍କ ସମ୍ବୋନ୍ଧନର ଶବ୍ଦଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିପାରିବ।"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"ନିର୍ଦ୍ଦିଷ୍ଟ କରାଯାଇନାହିଁ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ସ୍ତ୍ରୀଲିଙ୍ଗ"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ପୁଲିଙ୍ଗ"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ନ୍ୟୁଟ୍ରାଲ୍"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ଚୟନିତ ଭାଷାକୁ କାଢ଼ି ଦେବେ?}other{ଚୟନିତ ଭାଷାଗୁଡ଼ିକୁ କାଢ଼ି ଦେବେ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ଅନ୍ୟ ଭାଷାରେ ଲେଖା ଦେଖାଦେବ।"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ସମସ୍ତ ଭାଷାଗୁଡ଼ିକୁ ଅପସାରଣ କରିପାରିବେ ନାହିଁ"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ଲୋକେସନ୍‌"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ଲୋକେସନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ବନ୍ଦ"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ଚାଲୁ ଅଛି - #ଟି ଆପର ଲୋକେସନକୁ ଆକ୍ସେସ ଅଛି}other{ଚାଲୁ ଅଛି - #ଟି ଆପ୍ସର ଲୋକେସନକୁ ଆକ୍ସେସ ଅଛି}}"</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_location_off" msgid="8568995909147566720">"ଆପ୍ସ ଓ ସେବାଗୁଡ଼ିକ ପାଇଁ ଲୋକେସନ ଆକ୍ସେସ ବନ୍ଦ ଅଛି। ଆପଣ ଏକ ଜରୁରୀକାଳୀନ ନମ୍ବରକୁ କଲ କରିବା କିମ୍ବା ଟେକ୍ସଟ ମେସେଜ ପଠାଇବା ସମୟରେ ଆପଣଙ୍କ ଡିଭାଇସର ଲୋକେସନ ଏବେ ବି ଜରୁରୀକାଳୀନ ଉତ୍ତରଦାତାମାନଙ୍କୁ ପଠାଯାଇପାରେ।"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ଲୋକେସନ ସେଟିଂସ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ।"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ଲୋକେସନ ସେଟିଂସ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ଲୋକେସନ ଆକ୍ସେସ ପରିବର୍ତ୍ତନ ପାଇଁ ସେଟିଂସ &gt; ସୁରକ୍ଷା ଓ ଗୋପନୀୟତା &gt; ଗୋପନୀୟତା ନିୟନ୍ତ୍ରଣକୁ ଯାଅ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ଆକାଉଣ୍ଟ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ସୁରକ୍ଷା"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ଏନକ୍ରିପ୍ସନ ଓ କ୍ରେଡେନସିଆଲ"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ସର୍ବୋତ୍ତମ ଫଳାଫଳ ପାଇଁ, Made for Google ସ୍ୱୀକୃତିପ୍ରାପ୍ତ ଏକ ସ୍କ୍ରିନ ପ୍ରୋଟେକ୍ଟର ବ୍ୟବହାର କରନ୍ତୁ। ଅନ୍ୟ ସ୍କ୍ରିନ ପ୍ରୋଟେକ୍ଟରଗୁଡ଼ିକ ସହିତ, ଆପଣଙ୍କ ପିଲାର ଟିପଚିହ୍ନ କାମ କରିନପାରେ।"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ୱାଚ ଅନଲକ"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"ଯେତେବେଳେ ଆପଣ ଫେସ ଅନଲକ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଆପଣ ଏକ ମାସ୍କ ପିନ୍ଧିଥିଲେ ବା ଏକ ଅନ୍ଧାରୁଆ ସ୍ଥାନରେ ଥିଲେ ଆପଣଙ୍କ ଫୋନ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ପାଇଁ ପଚାରିବ।\n\nଆପଣଙ୍କ ଫେସ କିମ୍ବା ଟିପଚିହ୍ନ ଚିହ୍ନଟ ନହେଲେ ଆପଣ ଆପଣଙ୍କ ୱାଚ ମାଧ୍ୟମରେ ଅନଲକ କରିପାରିବେ।"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"ଆପଣଙ୍କ ଟିପଚିହ୍ନ ଚିହ୍ନଟ ନହେଲେ ଆପଣ ଆପଣଙ୍କ ୱାଚ ମାଧ୍ୟମରେ ଅନଲକ କରିପାରିବେ।"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"ଆପଣଙ୍କ ଫେସ ଚିହ୍ନଟ ନହେଲେ ଆପଣ ଆପଣଙ୍କ ୱାଚ ମାଧ୍ୟମରେ ଅନଲକ କରିପାରିବେ।"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"ଯେତେବେଳେ ଆପଣ ଫେସ ଅନଲକ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଆପଣ ଏକ ମାସ୍କ ପିନ୍ଧିଥିଲେ ବା ଏକ ଅନ୍ଧାରୁଆ ସ୍ଥାନରେ ଥିଲେ ଆପଣଙ୍କ ଫୋନ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ପାଇଁ ପଚାରିବ।\n\nଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ୱାଚ ଅନଲକ ଅନ୍ୟ ଏକ ସୁବିଧାଜନକ ଉପାୟ ଅଟେ, ଉଦାହରଣ ସ୍ୱରୂପ, ଯେତେବେଳେ ଆପଣଙ୍କ ଆଙ୍ଗୁଠି ଓଦା ଥାଏ କିମ୍ବା ଆପଣଙ୍କ ଫେସ ଚିହ୍ନଟ ହୋଇନଥାଏ।"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ୱାଚ ଅନଲକ ଅନ୍ୟ ଏକ ସୁବିଧାଜନକ ଉପାୟ ଅଟେ, ଉଦାହରଣ ସ୍ୱରୂପ, ଯେତେବେଳେ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ଚିହ୍ନଟ ହୋଇନଥାଏ।"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ଆପଣଙ୍କ ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ୱାଚ ଅନଲକ ଅନ୍ୟ ଏକ ସୁବିଧାଜନକ ଉପାୟ ଅଟେ, ଉଦାହରଣ ସ୍ୱରୂପ, ଯେତେବେଳେ ଆପଣଙ୍କ ଫେସ ଚିହ୍ନଟ ହୋଇନଥାଏ।"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ଏହା କରିବାକୁ ଟିପଚିହ୍ନ କିମ୍ବା ୱାଚ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ଏହା କରିବାକୁ ଫେସ କିମ୍ବା ୱାଚ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ଏହା କରିବାକୁ ଫେସ, ଟିପଚିହ୍ନ କିମ୍ବା ୱାଚ ବ୍ୟବହାର କରନ୍ତୁ"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ଏହି ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ୱାଚ ଅନଲକ ଅନ୍ୟ ଏକ ସୁବିଧାଜନକ ଉପାୟ ଅଟେ, ଉଦାହରଣ ସ୍ୱରୂପ, ଯେତେବେଳେ ଆପଣଙ୍କ ଆଙ୍ଗୁଠି ଓଦା ଥାଏ କିମ୍ବା ଫେସ ଚିହ୍ନଟ ହୁଏ ନାହିଁ।\n\nଏହି ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ଆପଣ ଆପଣଙ୍କ ୱାଚକୁ ବ୍ୟବହାର କରିପାରିବେ ଯେତେବେଳେ ଆପଣ:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ବର୍ତ୍ତମାନ ନୁହେଁ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ଜାରି ରଖନ୍ତୁ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ଅଧିକ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"ଏହା କିପରି କାମ କରେ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"ଆପଣଙ୍କ ରିଷ୍ଟରେ ଆପଣଙ୍କର ୱାଚକୁ ଅନଲକ କରାଯିବା ଆବଶ୍ୟକ ଏବଂ ଏହା ଏହି ଫୋନର ଆଖପାଖରେ ଥିବା ଆବଶ୍ୟକ। ଆପଣଙ୍କ ୱାଚ ରିଷ୍ଟରେ ଥିବା ସମୟରେ ଆପଣ ଏହାକୁ ଅନଲକ କରିବାର ଆବଶ୍ୟକତା ନାହିଁ।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ଯେତେବେଳେ ଏହି ଫୋନକୁ ଅନଲକ କରାଯାଏ, ଆପଣଙ୍କ ୱାଚରେ ଆପଣଙ୍କୁ ସୂଚିତ କରାଯିବ। ଯଦି ଆପଣ ଚାହୁଁ ନଥିବା ସମୟରେ ଏହାକୁ ଅନଲକ କରାଯାଇଥାଏ, ତେବେ ଫୋନକୁ ପୁଣି ଲକ କରିବା ପାଇଁ ବିଜ୍ଞପ୍ତିରେ ଟାପ କରନ୍ତୁ।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ଆପଣଙ୍କ ନିୟନ୍ତ୍ରଣରେ ଅଛି"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ଆପଣ ସେଟିଂସରେ ଯେ କୌଣସି ସମୟରେ ୱାଚ ଅନଲକରୁ ଆପଣଙ୍କ ୱାଚକୁ କାଢ଼ି ଦେଇପାରିବେ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"ଏକ ବିଜ୍ଞପ୍ତିରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ଲକ ସ୍କ୍ରିନରେ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ଆପଣଙ୍କ ୱାଚ ବାଛନ୍ତୁ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ଉପଲବ୍ଧ ୱାଚଗୁଡ଼ିକ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ବାତିଲ କରନ୍ତୁ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ଆପଣ ସମ୍ପୂର୍ଣ୍ଣ ପ୍ରସ୍ତୁତ!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ଆପଣ ଲକ ସ୍କ୍ରିନରେ ଉପରକୁ ସ୍ୱାଇପ କଲେ କିମ୍ବା ଏକ ବିଜ୍ଞପ୍ତିରେ ଟାପ କଲେ ଏହି ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ଆପଣ ବର୍ତ୍ତମାନ ଆପଣଙ୍କ ୱାଚକୁ ବ୍ୟବହାର କରିପାରିବେ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ହୋଇଗଲା"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ୱାଚ ଅନଲକ"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ଆପଣ ଲକ ସ୍କ୍ରିନରେ ଉପରକୁ ସ୍ୱାଇପ କଲେ କିମ୍ବା ଏକ ବିଜ୍ଞପ୍ତିରେ ଟାପ କଲେ ଏହି ଫୋନକୁ ଅନଲକ କରିବା ପାଇଁ ଆପଣ ଆପଣଙ୍କ ୱାଚକୁ ବ୍ୟବହାର କରିପାରିବେ"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ୱାଚ ଅନଲକକୁ ବ୍ୟବହାର କରିବା ପାଇଁ, ଆଖପାଖରେ ଆପଣଙ୍କର ରିଷ୍ଟରେ ଆପଣଙ୍କ ୱାଚକୁ ଅନଲକ କରାଯିବା ଦରକାର ଏବଂ ଏହା ଏହି ଫୋନ ସହ କନେକ୍ଟ ହେବା ଆବଶ୍ୟକ। ଯଦି କନେକ୍ସନ ବାଧାପ୍ରାପ୍ତ ହୁଏ, ତେବେ ଆପଣ ୱାଚ ଅନଲକ ବ୍ୟବହାର କରିବା ପୂର୍ବରୁ ଆପଣଙ୍କୁ ଫୋନ ଅନଲକ କରିବାକୁ ହେବ।\n\nମନେ ରଖନ୍ତୁ:\nଥରକେ ଆପଣ କେବଳ ଗୋଟିଏ ୱାଚ ସେଟ ଅପ କରିପାରିବେ। ଅନ୍ୟ ଏକ ୱାଚ ଯୋଗ କରିବା ପାଇଁ ପ୍ରଥମେ ବର୍ତ୍ତମାନର ୱାଚକୁ କାଢ଼ି ଦିଅନ୍ତୁ।"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ୱାର୍କ ପାଇଁ ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ସେଟଅପ ଆବଶ୍ୟକ"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ସୁରକ୍ଷା"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ଗୋପନୀୟତା"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"ୱାର୍କ ପ୍ରୋଫାଇଲ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ପ୍ରାଇଭେଟ ସ୍ପେସ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ପ୍ରାଇଭେଟ ଆପ୍ସକୁ ଲକ ଏବଂ ଲୁକ୍କାୟିତ ରଖନ୍ତୁ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ଆପଣ ଲୁଚାଇ ପାରୁଥିବା କିମ୍ବା ଲକ କରିପାରୁଥିବା ଏକ ଅଲଗା ସ୍ପେସରେ ପ୍ରାଇଭେଟ ଆପ୍ସକୁ ରଖନ୍ତୁ"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ଆପଣ ଅନଲକ କରିବା ପରି ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରିପାରିବେ କିମ୍ୱା ଏକ ଭିନ୍ନ ଲକ ବାଛିପାରିବେ"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ଡିଭାଇସ ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ଫେସ ଏବଂ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ଫେସ୍ ଅନଲକ୍"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ସେଟ ଅପ କରିବାକୁ ଟାପ କରନ୍ତୁ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଫିଙ୍ଗରପ୍ରିଣ୍ଟ ଅନଲକ"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଫେସ ଅନଲକ"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"ଅନଲକ କରିବାର ଉପାୟ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ଡିଭାଇସ ସ୍କ୍ରିନ ଲକ ପରି ସମାନ"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ନୂଆ ଲକ ବାଛିବେ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ସ୍ୱତଃ ଲକ କରନ୍ତୁ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"ଯଦି ଆପଣ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଏକ ସମୟ ଅବଧି ପାଇଁ ବ୍ୟବହାର କରିନାହାଁନ୍ତି ତେବେ ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆପଣ ସ୍ୱତଃ ଲକ କରିପାରିବେ"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ପ୍ରତି ଥର ଡିଭାଇସ ଲକ ହେଲେ"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 ମିନିଟ ନିଷ୍କ୍ରିୟ ରହିବା ପରେ"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"କେବେ ବି ନୁହେଁ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ଲକ ଥିବା ସମୟରେ ଲୁଚାନ୍ତୁ"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାକୁ ଲୁଚାନ୍ତୁ"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ଆପଣଙ୍କ ଡିଭାଇସରେ ଆପଣଙ୍କର ଏକ ପ୍ରାଇଭେଟ ସ୍ପେସ ଥିବା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ନଜଣାଇବାକୁ ଆପଣ ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାରୁ ଏହାକୁ ଲୁଚାଇପାରିବେ"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲୁକ୍କାୟିତ ଥିବା ସମୟରେ ଏହାକୁ ଆକ୍ସେସ କରନ୍ତୁ"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାରୁ, ସର୍ଚ୍ଚ ବାରରେ \"ପ୍ରାଇଭେଟ ସ୍ପେସ\" ଲେଖନ୍ତୁ"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଟାଇଲରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରନ୍ତୁ"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ବନ୍ଦ ଅଛି"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ଚାଲୁ ଅଛି"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ସିଷ୍ଟମ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଡିଲିଟ କରନ୍ତୁ"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଡିଲିଟ କରିବେ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆପଣଙ୍କ ଡିଭାଇସରୁ କାଢ଼ି ଦିଆଯିବ। ସମସ୍ତ ପ୍ରାଇଭେଟ ଆପ୍ସ ଏବଂ ଡାଟା ଡିଲିଟ ହୋଇଯିବ। ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ନିମ୍ନୋକ୍ତ ଆକାଉଣ୍ଟଗୁଡ଼ିକୁ ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସରୁ କାଢ଼ି ଦିଆଯିବ:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ଡିଲିଟ କରନ୍ତୁ"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଡିଲିଟ କରାଯାଉଛି…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ଏଥିପାଇଁ କିଛି ସମୟ ଲାଗିବ"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଡିଲିଟ କରାଯାଇଛି"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଡିଲିଟ କରାଯାଇପାରିଲା ନାହିଁ"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରାଯାଇଛି"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ଏକ ସ୍କ୍ରିନ ଲକ ସେଟ କରନ୍ତୁ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସ ବ୍ୟବହାର କରିବାକୁ ଏହି ଡିଭାଇସରେ ଏକ ସ୍କ୍ରିନ ଲକ ସେଟ କରନ୍ତୁ"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ସ୍କ୍ରିନ ଲକ ସେଟ କରନ୍ତୁ"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ବାତିଲ କରନ୍ତୁ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ବାତିଲ କରନ୍ତୁ"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ସେଟ ଅପ କରନ୍ତୁ"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ଏକ ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରନ୍ତୁ"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ଆପଣ ଲୁଚାଇ ପାରୁଥିବା କିମ୍ବା ଲକ କରିପାରୁଥିବା ଏକ ଅଲଗା ସ୍ପେସରେ ପ୍ରାଇଭେଟ ଆପ୍ସକୁ ରଖନ୍ତୁ"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ଏହା କିପରି କାମ କରେ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ଆପଣ ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାର ନିମ୍ନରୁ ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆକ୍ସେସ କରିପାରିବେ"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଥିବା ଆପ୍ସ ଏକ ଲକ ଦ୍ୱାରା ସୁରକ୍ଷିତ ଅଟେ"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏଥିରେ ଥିବା ଆପ୍ସରୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଲୁଚାଯାଇଥାଏ"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଥିବା ଆପ୍ସ ଅନୁମତି ପରିଚାଳକ, ଗୋପନୀୟତା ଡେସବୋର୍ଡ ଏବଂ ଅନ୍ୟ ସେଟିଂସରେ ଦେଖାଯିବ ନାହିଁ।\n\nଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଏକ ନୂଆ ଡିଭାଇସକୁ ମୁଭ କରାଯାଇପାରିବ ନାହିଁ। ଯଦି ଆପଣ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନ୍ୟ ଏକ ଡିଭାଇସରେ ବ୍ୟବହାର କରିବାକୁ ଚାହାଁନ୍ତି ତେବେ ଆପଣଙ୍କୁ ଅନ୍ୟ ଏକ ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରିବାକୁ ହେବ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ଏକ କମ୍ପ୍ୟୁଟର ସହ କନେକ୍ଟ କରୁଥିବା କିମ୍ବା ଆପଣଙ୍କ ଡିଭାଇସରେ କ୍ଷତିକାରକ ଆପ୍ସ ଇନଷ୍ଟଲ କରୁଥିବା ଯେ କୌଣସି ବ୍ୟକ୍ତି ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ସକ୍ଷମ ହୋଇପାରନ୍ତି।"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରାଯାଉଛି…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଲକ ଥିବା ସମୟରେ ଏହାର ଆପ୍ସରୁ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଲୁଚାଯାଇଥାଏ"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ଫଟୋ କିମ୍ବା ଫାଇଲଗୁଡ଼ିକ ସେୟାର କରିବା ପାଇଁ ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରନ୍ତୁ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"କିଛି ଆପ୍ସକୁ ପୂର୍ବରୁ ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସରେ ଇନଷ୍ଟଲ କରାଯାଇଛି"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ଏକ ପ୍ରାଇଭେଟ ସ୍ପେସ ସେଟ ଅପ କରାଯାଇପାରିଲା ନାହିଁ"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ପ୍ରାଇଭେଟ ସ୍ପେସ ଅନଲକ ପାଇଁ ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରିବେ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ଆପଣ ଅନଲକ କରିବା ପରି ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରିପାରିବେ କିମ୍ୱା ଏକ ଭିନ୍ନ ଲକ ବାଛିପାରିବେ"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ସ୍କ୍ରିନ ଲକ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"ନୂଆ ଲକ ବାଛନ୍ତୁ"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"ସମ୍ପୂର୍ଣ୍ଣ ଭାବେ ପ୍ରସ୍ତୁତ!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଖୋଜିବା ପାଇଁ ଆପଣଙ୍କ ଆପ୍ସ ତାଲିକାକୁ ଯାଇ ତଳକୁ ସ୍କ୍ରୋଲ କରନ୍ତୁ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ହୋଇଗଲା"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଖୋଜିବା ପାଇଁ ତଳକୁ ସ୍କ୍ରୋଲ କରନ୍ତୁ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ସାଇନ ଇନ କରନ୍ତୁ"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସ ବ୍ୟବହାର କରିବା ପାଇଁ ଏକ ଆକାଉଣ୍ଟରେ ସାଇନ ଇନ କରନ୍ତୁ"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ବର୍ତ୍ତମାନ ନୁହେଁ"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ଜାରି ରଖନ୍ତୁ"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ଆପଣଙ୍କ ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ଲକ ବାଛନ୍ତୁ"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"ଆପଣ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରି ଆପଣଙ୍କର ପ୍ରାଇଭେଟ ସ୍ପେସକୁ ଅନଲକ କରିପାରିବେ। ସୁରକ୍ଷା ପାଇଁ, ଏହି ବିକଳ୍ପ ନିମନ୍ତେ ଏକ ବେକଅପ ଲକ ଆବଶ୍ୟକ।"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ନିଜ ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ PIN ସେଟ କର"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ନିଜ ପ୍ରାଇଭେଟ ସ୍ପେସର ଏକ ପାସୱାର୍ଡ ସେଟ କର"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ନିଜ ପ୍ରାଇଭେଟ ସ୍ପେସ ପାଇଁ ଏକ ପାଟର୍ନ ସେଟ କର"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"ଆପଣ ସର୍ବାଧିକ <xliff:g id="COUNT">%d</xliff:g> ଟିପଚିହ୍ନ ଯୋଗ କରିପାରିବେ"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ଆପଣ ସର୍ବାଧିକ ସଂଖ୍ୟାର ଆଙ୍ଗୁଠି ଚିହ୍ନ ଯୋଡିଛନ୍ତି"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ଆଉ ଅଧିକ ଟିପଚିହ୍ନ ଯୋଡିପାରିବ ନାହିଁ"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ପାଟର୍ନ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"ପାସୱାର୍ଡ"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"ସ୍କ୍ରିନ୍ ଲକ୍ ଡିଲିଟ୍ କରିବେ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ସମସ୍ତ ପ୍ରକାରର ଡିଭାଇସ ଅନଲକ କାଢ଼ିଦେବେ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ପ୍ରୋଫାଇଲ୍‌ ସୁରକ୍ଷା କାଢ଼ିଦେବେ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାଟର୍ନ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଟିପଚିହ୍ନ ମଡେଲକୁ ଡିଲିଟ୍ କରିଥାଏ। ଆପଣଙ୍କ ଫେସ୍ ମଡେଲକୁ ମଧ୍ୟ ସ୍ଥାୟୀ ଏବଂ ସୁରକ୍ଷିତ ଭାବରେ ଡିଲିଟ୍ କରାଯିବ। ଆପଗୁଡ଼ିକରେ ପ୍ରମାଣୀକରଣ ପାଇଁ ଆପଣଙ୍କ ଚେହେରା ଏବଂ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବାକୁ ଆପଣ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"ଆପଣ ଆପଣଙ୍କ PIN ପରି ସେଭ ହୋଇଥିବା ଡାଟା ହରାଇବେ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>କଣ୍ଟାକ୍ଟଲେସ ପେମେଣ୍ଟ କରିବା ପାଇଁ ସେଟ ଅପ କରାଯାଇଥିବା କାର୍ଡଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ଡିଭାଇସ ଅନଲକ ଆବଶ୍ୟକ କରୁଥିବା ୱାଲେଟଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟ ଆପ୍ସ ସଠିକ ଭାବରେ କାମ କରିନପାରେ।"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଟିପଚିହ୍ନ ମଡେଲକୁ ମଧ୍ୟ ଡିଲିଟ୍ କରିଥାଏ। ଆପଗୁଡ଼ିକରେ ପ୍ରମାଣୀକରଣ ପାଇଁ ଆପଣଙ୍କ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବାକୁ ଆପଣ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"ଆପଣ ଆପଣଙ୍କ PIN ଏବଂ ଟିପଚିହ୍ନ ମଡେଲ ପରି ସେଭ ହୋଇଥିବା ଡାଟା ହରାଇବେ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>କଣ୍ଟାକ୍ଟଲେସ ପେମେଣ୍ଟ କରିବା ପାଇଁ ସେଟ ଅପ କରାଯାଇଥିବା କାର୍ଡଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ଡିଭାଇସ ଅନଲକ ଆବଶ୍ୟକ କରୁଥିବା ୱାଲେଟଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟ ଆପ୍ସ ସଠିକ ଭାବରେ କାମ କରିନପାରେ।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ଆପଣଙ୍କ ଫେସ୍ ମଡେଲକୁ ମଧ୍ୟ ସ୍ଥାୟୀ ଏବଂ ସୁରକ୍ଷିତ ଭାବରେ ଡିଲିଟ୍ କରାଯିବ। ଆପଗୁଡ଼ିକରେ ପ୍ରମାଣୀକରଣ ପାଇଁ ଆପଣଙ୍କ ଚେହେରା ବ୍ୟବହାର କରିବାକୁ ଆପଣ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"ଆପଣ ଆପଣଙ୍କ PIN ଏବଂ ଫେସ ମଡେଲ ପରି ସେଭ ହୋଇଥିବା ଡାଟା ହରାଇବେ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>କଣ୍ଟାକ୍ଟଲେସ ପେମେଣ୍ଟ କରିବା ପାଇଁ ସେଟ ଅପ କରାଯାଇଥିବା କାର୍ଡଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ଡିଭାଇସ ଅନଲକ ଆବଶ୍ୟକ କରୁଥିବା ୱାଲେଟଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟ ଆପ୍ସ ସଠିକ ଭାବରେ କାମ କରିନପାରେ।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ PIN ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ଏହା ଆପଣଙ୍କ ଡିଭାଇସରେ ଷ୍ଟୋର୍ କରାଯାଇଥିବା ଟିପଚିହ୍ନ ମଡେଲକୁ ଡିଲିଟ୍ କରିଥାଏ। ଆପଣଙ୍କ ଫେସ୍ ମଡେଲକୁ ମଧ୍ୟ ସ୍ଥାୟୀ ଏବଂ ସୁରକ୍ଷିତ ଭାବରେ ଡିଲିଟ୍ କରାଯିବ। ଆପଗୁଡ଼ିକରେ ପ୍ରମାଣୀକରଣ ପାଇଁ ଆପଣଙ୍କ ଚେହେରା ଏବଂ ଟିପଚିହ୍ନ ବ୍ୟବହାର କରିବାକୁ ଆପଣ ସକ୍ଷମ ହେବେ ନାହିଁ।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"ଆପଣ ଆପଣଙ୍କ PIN, ଫେସ ଏବଂ ଟିପଚିହ୍ନ ମଡେଲଗୁଡ଼ିକ ପରି ସେଭ ହୋଇଥିବା ଡାଟା ହରାଇବେ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>କଣ୍ଟାକ୍ଟଲେସ ପେମେଣ୍ଟ କରିବା ପାଇଁ ସେଟ ଅପ କରାଯାଇଥିବା କାର୍ଡଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>ଡିଭାଇସ ଅନଲକ ଆବଶ୍ୟକ କରୁଥିବା ୱାଲେଟଗୁଡ଼ିକ ଏବଂ ଅନ୍ୟ ଆପ୍ସ ସଠିକ ଭାବରେ କାମ କରିନପାରେ।"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"ଯଦି ଆପଣଙ୍କ ଫୋନ୍ ହଜିଯାଏ କିମ୍ବା ଚୋରି ହୋଇଯାଏ, ତେବେ ଏକ ପାସୱାର୍ଡ ଏହାକୁ ସୁରକ୍ଷିତ ରଖେ।<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ବ୍ଲୁଟୁଥ୍‍‌"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ବ୍ଲୁଟୁଥ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ସହ ପେୟାର କରିବେ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"ପୂର୍ବରୁ ଥିବା କୋଅର୍ଡିନେଟ କରାଯାଇଥିବା ସେଟରେ ନୂଆ ସଦସ୍ୟ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ଆପଣଙ୍କ ଅଡିଓ ଡିଭାଇସର ଦ୍ଵିତୀୟ ଅଂଶ ଯୋଗ କରିବାକୁ ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ବ୍ଲୁଟୁଥ ପେୟାରିଂ କୋଡ"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"ପେୟାରିଂ କୋଡ୍ ଟାଇପ୍‌ କରନ୍ତୁ ତାପରେ ଫେରନ୍ତୁ କିମ୍ବା ପ୍ରବେଶ ଦବାନ୍ତୁ"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PINରେ ଅକ୍ଷର କିମ୍ୱା ପ୍ରତୀକଗୁଡ଼ିକ ଥାଏ"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 ଅଙ୍କ ବିଶିଷ୍ଟ ହେବା ଦରକାର"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ଆପଣ ଏହି PIN ଅନ୍ୟ ଡିଭାଇସ୍‌ରେ ମଧ୍ୟ ଟାଇପ୍‌ କରିବା ଆବଶ୍ୟକ କରିପାରନ୍ତି।"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ଏହି ପାସ୍‌-କୀକୁ ଅନ୍ୟ ଡିଭାଇସ୍‌ରେ ମଧ୍ୟ ଟାଇପ୍‌ କରିବା ଆବଶ୍ୟକ ହୋଇପରେ।"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"କୋର୍ଡିନେଟ କରାଯାଇଥିବା ସେଟ ସହ ପେୟାର କରିବାକୁ ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ଅଡିଓ ଡିଭାଇସ ସହ ପେୟାର କରିବାକୁ ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ଆପଣଙ୍କ କଣ୍ଟାକ୍ଟ ଓ କଲ ହିଷ୍ଟୋରୀକୁ ଆକ୍ସେସ କରିବାର ଅନୁମତି‌ ଦିଅନ୍ତୁ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"କଣ୍ଟାକ୍ଟ ଏବଂ କଲ ଇତିହାସକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ମଧ୍ୟ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ସୂଚନାକୁ କଲ ଘୋଷଣା ଏବଂ ଆହୁରି ଅଧିକ ପାଇଁ ବ୍ୟବହାର କରାଯିବ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ସହ ସଂଯୋଗ ସ୍ଥାପନା କରିପାରୁନାହିଁ।"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ଉପଲବ୍ଧ ଡିଭାଇସ୍"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"କନେକ୍ଟ କରନ୍ତୁ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ଡିସକନେକ୍ଟ କରନ୍ତୁ"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ପେୟାର୍‌ ଓ ସଂଯୋଗ"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ଆପଣଙ୍କ ବ୍ଲୁଟୁଥ ଚାଲୁଥିବା ବେଳେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖରେ ଥିବା ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ ଯୋଗାଯୋଗ କରିପାରିବ।"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ବ୍ଲୁଟୁଥ ଚାଲୁ ଥିଲେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖର ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କମ୍ୟୁନିକେଟ କରିପାରିବ"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ବ୍ଲୁଟୁଥ ଚାଲୁ ଥିବା ବେଳେ ଆପଣଙ୍କ ଡିଭାଇସ ଆଖପାଖରେ ଥିବା ଅନ୍ୟ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ କମ୍ୟୁନିକେଟ କରିପାରିବ।\n\nଡିଭାଇସ ଅନୁଭୂତିକୁ ଉନ୍ନତ କରିବା ପାଇଁ, ବ୍ଲୁଟୁଥ ବନ୍ଦ ଥିଲେ ମଧ୍ୟ ଆପ୍ସ ଓ ସେବାଗୁଡ଼ିକ ଯେ କୌଣସି ସମୟରେ ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ପାଇଁ ଏବେ ବି ସ୍କାନ କରିପାରିବ। ଉଦାହରଣ ସ୍ଵରୂପ, ଲୋକେସନ-ଆଧାରିତ ଫିଚର ଓ ସେବାଗୁଡ଼ିକୁ ଉନ୍ନତ କରିବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ। ଆପଣ ଏହାକୁ ବ୍ଲୁଟୁଥ ସ୍କାନିଂ ସେଟିଂସରେ ପରିବର୍ତ୍ତନ କରିପାରିବେ।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ଡିଭାଇସର ବିବରଣୀ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"debuggable ଆପ୍ସ ପାଇଁ bytecode ଯାଞ୍ଚ କରିବାକୁ ART ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ରିଫ୍ରେସ୍ ରେଟ୍ ଦେଖାନ୍ତୁ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ବର୍ତ୍ତମାନର ଡିସପ୍ଲେ ରିଫ୍ରେସ ରେଟ ଦେଖାନ୍ତୁ"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ଅନୁପାତ ଦେଖାନ୍ତୁ"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ବର୍ତ୍ତମାନର HDR/SDR ଅନୁପାତ ଦେଖାନ୍ତୁ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ପାଇଁ ଡିଭାଇସ୍ ଅନଲକ୍ ଆବଶ୍ୟକ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ବିମ୍‌"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ଏୟାରପ୍ଲେନ୍‌ ମୋଡ୍‌ରେ"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ସାର୍ବଜନୀନ ନେଟୱାର୍କ ପାଇଁ ସୂଚିତ କରନ୍ତୁ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ଏକ ଉଚ୍ଚ-ଗୁଣବତ୍ତା ସାର୍ବଜନୀନ ନେଟୱାର୍କ ଉପଲବ୍ଧ ଥିବାବେଳେ ସୂଚିତ କରନ୍ତୁ"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ନେଟୱାର୍କଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ହେଉଛି କମ ସୁରକ୍ଷିତ ଥିବା ଏକ ପୁରୁଣା ସୁରକ୍ଷା ପ୍ରୋଟୋକଲ"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP ନେଟୱାର୍କଗୁଡ଼ିକ କମ ସୁରକ୍ଷିତ ହୋଇଥିବା ଯୋଗୁଁ ଆପଣଙ୍କ କେରିଅର ସେଗୁଡ଼ିକୁ ଅନୁମତି ଦିଏ ନାହିଁ"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"ୱାଇ-ଫାଇ ସ୍ୱଚାଳିତ ଭାବେ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"ଆପଣଙ୍କର ହୋମ ନେଟୱାର୍କ ଭଳି ସେଭ ହୋଇଥିବା ଉଚ୍ଚ ଗୁଣବତ୍ତାର ନେଟୱାର୍କଗୁଡ଼ିକ ନିକଟରେ ୱାଇ-ଫାଇ ପୁଣି ଚାଲୁ ହେବ"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ଉପଲବ୍ଧ ନାହିଁ, କାରଣ ଲୋକେସନ୍ ବନ୍ଦ ଅଛି। "<annotation id="link">"ଲୋକେସନ୍"</annotation>"କୁ ଚାଲୁ କରନ୍ତୁ।"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ଯେ କୌଣସି ସମୟରେ, ଏପରିକି ୱାଇ-ଫାଇ ବନ୍ଦ ଥିବାବେଳେ ମଧ୍ୟ ୱାଇ-ଫାଇ ସ୍କାନିଂ, ୱାଇ-ଫାଇ ନେଟ୍‌ୱାର୍କକୁ ଖୋଜିବା ପାଇଁ ଆପ୍ ଓ ସେବାଗୁଡ଼ିକୁ ଅନୁମତି ଦେଇଥାଏ। ଉଦାହରଣସ୍ଵରୂପ, ଲୋକେସନ୍ ଆଧାରିତ ଫିଚର୍ ଓ ସେବା ପାଇଁ ଏହାକୁ ବ୍ୟବହାର କରାଯାଇପାରିବ।"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ୱାଇ-ଫାଇ ସ୍କାନିଂ ଚାଲୁ ଅଛି"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ଏହି ନେଟୱାର୍କ କମ ସୁରକ୍ଷିତ ଥିବା ଏକ ପୁରୁଣା ସୁରକ୍ଷା ପ୍ରୋଟୋକଲ ବ୍ୟବହାର କରେ"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g>କୁ ବ୍ଲକ କରାଯାଇଛି"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ଏହି ନେଟୱାର୍କ କମ ସୁରକ୍ଷିତ ଥିବା WEP ନାମକ ଏକ ପୁରୁଣା ସୁରକ୍ଷା ପ୍ରୋଟୋକଲ ବ୍ୟବହାର କରେ। ଯେ କୌଣସି ମତେ କନେକ୍ଟ କରିବାକୁ ଆପଣ WEP ନେଟୱାର୍କଗୁଡ଼ିକୁ ଅନୁମତି ଦେଇପାରିବେ।"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ଏହି ନେଟୱାର୍କ କମ ସୁରକ୍ଷିତ ଥିବା ଏକ ପୁରୁଣା ସୁରକ୍ଷା ପ୍ରୋଟୋକଲ ବ୍ୟବହାର କରୁଥିବା ଯୋଗୁଁ ଆପଣଙ୍କ କେରିଅର ଆପଣଙ୍କୁ ଏହା ସହ କନେକ୍ଟ କରିବାକୁ ଅନୁମତି ଦିଏ ନାହିଁ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEPକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ଉନ୍ନତ ବିକଳ୍ପ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ଡ୍ରପ୍-ଡାଉନ୍ ତାଲିକାରେ ଉନ୍ନତ ବିକଳ୍ପଗୁଡ଼ିକ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ବିସ୍ତାର କରନ୍ତୁ"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"ୱାଇ-ଫାଇରେ ରୁହନ୍ତୁ"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ଆଉ ଆଦୌ ଦେଖାଅ ନାହିଁ"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"କନେକ୍ଟ କରନ୍ତୁ"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"ୱାଇ-ଫାଇ ଅନ୍‍ ଅଛି"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ସହ ସଂଯୁକ୍ତ ହୋଇଛି"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ସହ ସଂଯୋଗ ହେଉଛି"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"ସଂଯୋଗ ହେଉଛି…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ନେଟ୍‌ୱର୍କକୁ ସଂଯୋଗ କରିପାରିଲା ନାହିଁ।"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ନେଟ୍‌ୱର୍କ ପରିସୀମା ମଧ୍ୟରେ ନାହିଁ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ଭୁଲିଯାଆନ୍ତୁ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ସଂଶୋଧନ"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ନେଟ୍‌ୱର୍କ ଭୁଲିଯିବାରେ ବିଫଳ ହେଲା"</string>
     <string name="wifi_save" msgid="2312643132472226807">"ସେଭ୍‍ କରନ୍ତୁ"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ନେଟୱାର୍କ୍‌ ସେଭ୍‌ କରି ପାରିଲା ନାହିଁ"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ବାତିଲ"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"ୱାଇ-ଫାଇ"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ମୋବାଇଲ ଡାଟା"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ଇଥରନେଟ"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ଚାର୍ଜ ହେଉଛି"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ଚାର୍ଜ ହେଉଛି"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ହଟସ୍ପଟ କନେକ୍ସନ"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"କନେକ୍ସନ କ୍ଷମତା"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ସେଭ ହୋଇଥିବା ନେଟୱାର୍କ"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"କୌଣସି ପାସ୍‌ୱାର୍ଡ୍‌ ସେଭ୍‌ ହୋଇନାହିଁ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ହଟସ୍ପଟ ନାମ"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ହଟସ୍ପଟ ପାସୱାର୍ଡ"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP ବ୍ୟାଣ୍ଡ"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ସ୍ୱତଃ ହଟସ୍ପଟ ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ଯେତେବେଳେ କୌଣସି ଡିଭାଇସ କନେକ୍ଟ ହୋଇନଥାଏ"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"କମ୍ପାଟିବିଲିଟୀ ବଢ଼ାନ୍ତୁ"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ହ୍ବାଇଟ୍ ବ୍ୟାଲେନ୍ସ ପ୍ରଦର୍ଶନ କରନ୍ତୁ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ଫୋଲ୍ଡରେ ଥିବା ଆପ୍ସ ବ୍ୟବହାର କରିବା ଜାରି ରଖନ୍ତୁ"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ସ୍ମୁଥ୍ ଡିସପ୍ଲେ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"କିଛି ବିଷୟବସ୍ତୁ ପାଇଁ ରିଫ୍ରେସ ରେଟକୁ ସ୍ୱଚାଳିତ ଭାବରେ 60ରୁ <xliff:g id="ID_1">%1$s</xliff:g> Hz ପର୍ଯ୍ୟନ୍ତ ବଢ଼ାଇଥାଏ। ବେଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ଗେମ୍ସ ପାଇଁ ଡିଫଲ୍ଟ ଫ୍ରେମ ରେଟ ଅକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hzରେ ଗେମ୍ସ ପାଇଁ ସର୍ବାଧିକ ଫ୍ରେମ ରେଟକୁ ସୀମିତ କରିବା ଅକ୍ଷମ କରନ୍ତୁ।"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"ସ୍ମୁଥ ଡିସପ୍ଲେ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"କିଛି ବିଷୟବସ୍ତୁ ପାଇଁ ରିଫ୍ରେସ ରେଟକୁ ସ୍ୱତଃ <xliff:g id="ID_1">%1$d</xliff:g> Hz ପର୍ଯ୍ୟନ୍ତ ବଢ଼ାଇଥାଏ। ବେଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ସର୍ବାଧିକ ରିଫ୍ରେସ୍ ହାରକୁ ଲାଗୁ କରନ୍ତୁ"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ଉନ୍ନତ ସ୍ପର୍ଶ ପ୍ରତିକ୍ରିୟା ଓ ଆନିମେସନ ଗୁଣବତ୍ତା ପାଇଁ ସର୍ବାଧିକ ରିଫ୍ରେସ ରେଟ। ବେଟେରୀର ବ୍ୟବହାର ବଢ଼ାଇଥାଏ।"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ସ୍କ୍ରିନ୍ ଆଟେନ୍‌ସନ୍"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"ସ୍କ୍ରିନ୍‌କୁ କେହି ଦେଖୁଛନ୍ତି ନା ନାହିଁ ତାହା ଦେଖିବା ପାଇଁ \'ସ୍କ୍ରିନ୍ ଆଟେନ୍‌ସନ୍\' ସାମ୍ନା କ୍ୟାମେରା ବ୍ୟବହାର କରେ। ଏହା ଡିଭାଇସ୍‌ରେ କାର୍ଯ୍ୟ କରିଥାଏ ଏବଂ ଛବିଗୁଡ଼ିକୁ କେବେ ବି ଷ୍ଟୋର୍ କରାଯାଇ ନଥାଏ କିମ୍ବା Googleକୁ ପଠାଯାଇ ନଥାଏ।"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"ସ୍କ୍ରିନ୍ ଆଟେନସନ୍ ଚାଲୁ କରନ୍ତୁ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ସ୍କ୍ରିନକୁ ଦେଖିବା ସମୟରେ ଏହାକୁ ଚାଲୁ ରଖନ୍ତୁ"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ଅଧିକ ଲମ୍ବା ସ୍କ୍ରିନ ଟାଇମଆଉଟ ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିବ।"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"କ୍ୟାମେରା ଲକ୍ କରାଯାଇଛି"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"\'ଫେସ୍ ଚିହ୍ନଟକରଣ\' ପାଇଁ କ୍ୟାମେରାକୁ ଅନଲକ୍ କରାଯିବା ଆବଶ୍ୟକ"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ସ୍କ୍ରିନ୍ ଆଟେନସନ୍ ପାଇଁ କ୍ୟାମେରାକୁ ଅନଲକ୍ କରାଯିବା ଆବଶ୍ୟକ"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM ସ୍ଲଟ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM ସ୍ଲଟ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ପ୍ରାଥମିକ)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"ଦେଖିବା ପାଇଁ ସେଭ କରାଯାଇଥିବା ନେଟୱାର୍କ ବାଛନ୍ତୁ"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"ସର୍ବନିମ୍ନ"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL ଭର୍ସନ୍‌"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ବ୍ୟାଟେରୀ ସ୍ତର"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"କମ୍ୟୁନାଲ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"କମ୍ୟୁନାଲ ସେଟିଂସ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"ସେଟେଲାଇଟ ମେସେଜିଂ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ଆକ୍ସେସ ପଏଣ୍ଟକୁ ଏଡିଟ କରନ୍ତୁ"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ଆକ୍ସେସ ପଏଣ୍ଟ ଯୋଗ କରନ୍ତୁ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"ସେଟ ହୋଇନାହିଁ"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ସେଟ କରାଯାଇନାହିଁ"</string>
     <string name="apn_name" msgid="6677695784108157953">"ନାମ"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ସକ୍ରିୟ ହୋଇଛି"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN ଅକ୍ଷମ ହୋଇଛି"</string>
     <string name="bearer" msgid="3231443241639159358">"ବାହକ"</string>
+    <string name="network_type" msgid="748590707422733595">"ନେଟୱାର୍କ ପ୍ରକାର"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"ଅନିର୍ଦ୍ଦିଷ୍ଟ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO ପ୍ରକାର"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO ଭାଲ୍ୟୁ"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN ଡିଲିଟ୍‌ କରନ୍ତୁ"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"ସେଭ୍‌ କରନ୍ତୁ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ଡୁପ୍ଲିକେଟ APN ଏଣ୍ଟ୍ରି।"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"ନାମ ସ୍ଥାନ ଶୂନ୍ୟ ରହିପାରିବ ନାହିଁ।"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APNକୁ ଖାଲି ରଖାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ଫିଲ୍ଡ 3 ଅଙ୍କ ବିଶିଷ୍ଟ ହେବା ଦରକାର"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ଫିଲ୍ଡ ୨ କିମ୍ବା ୩ ସଂଖ୍ୟା ବିଶିଷ୍ଟ ହେବା ଆବଶ୍ୟକ।"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"%s ପ୍ରକାରର APNଗୁଡ଼ିକୁ ମୋବାଇଲ୍‌ ବାହକ ଯୋଡ଼େନାହିଁ।"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ଫିଲ୍ଡ ବୈଧ ହେବା ଆବଶ୍ୟକ।"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ଡିଫଲ୍ଟ APN ସେଟିଂସ ରିଷ୍ଟୋର ହେଉଛି"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ଡିଫଲ୍ଟରେ ରିସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ଡିଫଲ୍ଟ APN ସେଟିଂସ ରିସେଟ ସରିଯାଇଛି।"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ରିସେଟ କରନ୍ତୁ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ବ୍ଲୁଟୁଥ ଓ ୱାଇ-ଫାଇକୁ ରିସେଟ କରାଯାଇଛି"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMଗୁଡ଼ିକୁ ଇରେଜ କରନ୍ତୁ"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ଏହା କୌଣସି ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ କରିବ ନାହିଁ। ରିପ୍ଲେସମେଣ୍ଟ SIMଗୁଡ଼ିକୁ ଡାଉନଲୋଡ କରିବା ପାଇଁ ଆପଣଙ୍କ କ୍ୟାରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ଏହା ଆପଣଙ୍କ ମୋବାଇଲ ସାର୍ଭିସ ପ୍ଲାନକୁ ବାତିଲ କରିବ ନାହିଁ। ଏକ ରିପ୍ଲେସମେଣ୍ଟ SIM ପାଇବାକୁ ଆପଣଙ୍କ କେରିଅର ସହ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ସେଟିଂସ ରିସେଟ କରନ୍ତୁ"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସ ରିସେଟ କରିବେ? ଏହାକୁ ଆପଣ ଆଉ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"ସମସ୍ତ ନେଟୱାର୍କ ସେଟିଂସକୁ ରିସେଟ କରି eSIMଗୁଡ଼ିକୁ ଇରେଜ କରିବେ? ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ କରିପାରିବେ ନାହିଁ।"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ରିସେଟ୍‌ କରିବେ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ଏହି ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ନେଟ୍‌ୱର୍କ ରିସେଟ୍‌ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ନେଟୱାର୍କ ସେଟିଂସକୁ ରିସେଟ କରି ଦିଆଯାଇଛି"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIMକୁ ଖାଲି କରିହେବ ନାହିଁ"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ଏକ ତ୍ରୁଟି ଯୋଗୁଁ eSIMକୁ ଇରେଜ କରାଯାଇପାରିବ ନାହିଁ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIMକୁ ଇରେଜ କରାଯାଇପାରିବ ନାହିଁ"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"କିଛି ତ୍ରୁଟି ହୋଇଛି ଏବଂ ଆପଣଙ୍କ eSIMକୁ ଇରେଜ କରାଯାଇନାହିଁ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="main_clear_title" msgid="277664302144837723">"ସମସ୍ତ ଡାଟା ଖାଲି କରନ୍ତୁ (ଫ୍ୟାକ୍ଟୋରୀ ରିସେଟ୍)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ସମସ୍ତ ଡାଟା ଖାଲି କରନ୍ତୁ (ଫ୍ୟାକ୍ଟୋରୀ ରିସେଟ୍)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"ସଙ୍ଗୀତ"</li>\n<li>"ଫଟୋ"</li>\n<li>"ଅନ୍ୟ ଉପଯୋଗକର୍ତ୍ତା ଡାଟା"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ଏହା ଆପଣଙ୍କ ମୋବାଇଲ ସେବା ପ୍ଲାନକୁ ବାତିଲ କରିବ ନାହିଁ।"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ଆପଣଙ୍କର ସମସ୍ତ ବ୍ୟକ୍ତିଗତ ସୂଚନା ଏବଂ ଡାଉନଲୋଡ୍ କରାଯାଇଥିବା ଆପ୍ ଡିଲିଟ୍ ହୋଇଯିବ। ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ଡାଉନଲୋଡ୍ କରାଯାଇଥିବା ଆପ୍ ଓ SIM ସମେତ ଆପଣଙ୍କର ସମସ୍ତ ବ୍ୟକ୍ତିଗତ ସୂଚନା ଡିଲିଟ୍ ହୋଇଯିବ। ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ଡାଉନଲୋଡ କରାଯାଇଥିବା ଆପ୍ସ ଓ eSIM ସମେତ ଆପଣଙ୍କର ସମସ୍ତ ବ୍ୟକ୍ତିଗତ ସୂଚନା ଡିଲିଟ ହୋଇଯିବ। ଆପଣ ଏହି କାର୍ଯ୍ୟକୁ ପୂର୍ବବତ୍ କରିପାରିବେ ନାହିଁ।"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ସମସ୍ତ ଡାଟା ଖାଲି କରିବେ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ଏହି ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ପାଇଁ ଫ୍ୟାକ୍ଟୋରୀ ରିସେଟ୍ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"ଖାଲି କରାଯାଉଛି"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ହଟସ୍ପଟ୍, USB, ବ୍ଲୁଟୁଥ୍, ଇଥରନେଟ୍"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"ଅନ୍ୟ ଡିଭାଇସଗୁଡ଼ିକ ସହ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରୁନାହିଁ"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ବନ୍ଦ ଅଛି"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ଟିଥରିଂ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ୱାଇ‑ଫାଇ ହଟସ୍ପଟ୍ ବ୍ୟବହାର କରନ୍ତୁ ନାହିଁ"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"କେବଳ USB ମାଧ୍ୟମରେ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"କେବଳ ବ୍ଲୁଟୁଥ୍ ମାଧ୍ୟମରେ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ଇଥରନେଟ୍ ମାଧ୍ୟମରେ କେବଳ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"କେବଳ USB ଏବଂ ବ୍ଲୁଟୁଥ୍ ମାଧ୍ୟମରେ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB ଏବଂ ବ୍ଲୁଟୁଥ୍ ମାଧ୍ୟମରେ କେବଳ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ବ୍ଲୁଟୁଥ୍ ଏବଂ ଇଥରନେଟ୍ ମାଧ୍ୟମରେ କେବଳ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, ବ୍ଲୁଟୁଥ୍ ଏବଂ ଇଥରନେଟ୍ ମାଧ୍ୟମରେ କେବଳ ଇଣ୍ଟର୍ନେଟ୍ ସେୟାର୍ କରନ୍ତୁ"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ଟିଥରିଂ"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ବ୍ଲୁଟୁଥ ଟିଥରିଂ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ଇଥରନେଟ୍ ଟିଥରିଂ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ଆପଣଙ୍କ ୱାଇ-ଫାଇ ବା ମୋବାଇଲ ଡାଟା କନେକ୍ସନ ମାଧ୍ୟମରେ ଅନ୍ୟ ଡିଭାଇସଗୁଡ଼ିକୁ ଇଣ୍ଟରନେଟ ପ୍ରଦାନ କରିବାକୁ ହଟସ୍ପଟ ଏବଂ ଟିଥରିଂ ବ୍ୟବହାର କରନ୍ତୁ। ଆଖପାଖର ଡିଭାଇସଗୁଡ଼ିକ ସହ ବିଷୟବସ୍ତୁ ସେୟାର କରିବାକୁ ଆପ୍ସ ଏକ ହଟସ୍ପଟ ମଧ୍ୟ ତିଆରି କରିପାରିବ।"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ସାହାଯ୍ୟ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"ମୋବାଇଲ୍‌ ନେଟ୍‌ୱାର୍କ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ମୋବାଇଲ୍‌ ପ୍ଲାନ୍‌"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS ଆପ୍‌"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS ଆପ୍‌ ବଦଳାଇବେ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g> ବଦଳରେ <xliff:g id="NEW_APP">%1$s</xliff:g> କୁ ଆପଣଙ୍କ SMS ଆପ୍‌ ପରି ବ୍ୟବହାର କରିବେ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi ସହାଯକ ପରିବର୍ତ୍ତନ କରିବେ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ନିଜ ନେଟ୍‌ୱର୍କ ସଂଯୋଗ ପରିଚାଳନା କରିବା ପାଇଁ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ବଦଳରେ <xliff:g id="NEW_APP">%1$s</xliff:g> ବ୍ୟବହାର କରିବେ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ନିଜର ନେଟ୍‌ୱର୍କ ସଂଯୋଗ ପରିଚାଳନା କରିବା ପାଇଁ <xliff:g id="NEW_APP">%s</xliff:g>ର ବ୍ୟବହାର କରିବେ?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"ଅଜଣା ସିମ୍‌ ଅପରେଟର୍‌"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> ଙ୍କର କୌଣସି ଜ୍ଞାତ ପ୍ରାବଧାନୀକରଣ ୱେବସାଇଟ୍‌ ନାହିଁ"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"ଦୟାକରି SIM କାର୍ଡ ଭର୍ତ୍ତି କରି ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"ଇଣ୍ଟର୍‌ନେଟ୍‌ ସହ ସଂଯୋଗ କରନ୍ତୁ"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"ବର୍ତ୍ତମାନର ଲୋକେସନ୍ ଅନୁରୋଧ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ୱାର୍କ ପ୍ରୋଫାଇଲ୍‌ ପାଇଁ ଲୋକେସନ୍‌"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ଆପର ଲୋକେସନ ଅନୁମତିଗୁଡ଼ିକ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ସ୍ପଷ୍ଟ ଆକ୍ସେସ୍‌"</string>
     <string name="controls_label" msgid="8671492254263626383">"ନିୟନ୍ତ୍ରଣ"</string>
     <string name="force_stop" msgid="2681771622136916280">"ବାଧ୍ୟତାର ସହ ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="archive" msgid="9074663845068632127">"ଆର୍କାଇଭ କରନ୍ତୁ"</string>
+    <string name="restore" msgid="7622486640713967157">"ରିଷ୍ଟୋର କରନ୍ତୁ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ରିଷ୍ଟୋର ହେଉଛି"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ରିଷ୍ଟୋର କରାଯାଉଛି।"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ରିଷ୍ଟୋର କରାଯାଉଛି.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ରିଷ୍ଟୋର୍ କରାଯାଉଛି..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"ସର୍ବମୋଟ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ଆପ୍‌ର ଆକାର"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB ଷ୍ଟୋରେଜ୍‌ ଆପ୍‌"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"ପ୍ୟାକେଜ୍‌ ଆକାର ଗଣଣା କରିପାରିଲା ନାହିଁ"</string>
     <string name="version_text" msgid="7628938665256107608">"ସଂସ୍କରଣ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ନିଅନ୍ତୁ"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ଆର୍କାଇଭ କରିବା ବିଫଳ ହୋଇଛି"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>କୁ ଆର୍କାଇଭ କରାଯାଇଛି"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ରିଷ୍ଟୋର କରିବା ବିଫଳ ହୋଇଛି"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>କୁ ରିଷ୍ଟୋର କରାଯାଉଛି"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ଅନ୍ୟ ମାଇଗ୍ରେସନ୍‌ ପୂର୍ବରୁ ଚାଲୁ ଅଛି"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ଷ୍ଟୋରେଜ୍‌ରେ ପର୍ଯ୍ୟାପ୍ତ ସ୍ଥାନ ନାହିଁ।"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ଆପ୍‌ ନାହିଁ"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ଉପଲବ୍ଧ ଥିବା ଅନ୍-ସ୍କ୍ରିନ୍ କୀବୋର୍ଡ"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ଅନ-ସ୍କ୍ରିନ୍ କୀବୋର୍ଡ ପରିଚାଳନା କରନ୍ତୁ"</string>
     <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="6922850403920596246">"ଫିଜିକାଲ କୀବୋର୍ଡ ଆକ୍ସେସିବିଲିଟୀ ପାଇଁ ବାଉନ୍ସ କୀଗୁଡ଼ିକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ଶ୍ଲୋ କୀଗୁଡ଼ିକ"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ଫିଜିକାଲ କୀବୋର୍ଡ ଆକ୍ସେସିବିଲିଟୀ ପାଇଁ ଶ୍ଲୋ କୀଗୁଡ଼ିକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ଷ୍ଟିକି କୀଗୁଡ଼ିକ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ଫିଜିକାଲ କୀବୋର୍ଡ ଆକ୍ସେସିବିଲିଟୀ ପାଇଁ ଷ୍ଟିକି କୀଗୁଡ଼ିକୁ ସକ୍ଷମ କରନ୍ତୁ"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ଅଧିକ ବିକଳ୍ପ ପାଇଁ ଟଚପେଡର ନିମ୍ନ ଡାହାଣ କୋଣରେ ଟାପ କରନ୍ତୁ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ପଏଣ୍ଟରର ସ୍ପିଡ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ଟଚପେଡର ଜେଶ୍ଚରଗୁଡ଼ିକ ବିଷୟରେ ଜାଣନ୍ତୁ"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ହୋମକୁ ଯାଆନ୍ତୁ"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ଟଚପେଡରେ ଯେ କୌଣସି ସ୍ଥାନରେ ତିନୋଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ କର"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ପଛକୁ ଫେରନ୍ତୁ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ବ୍ୟବହାରର ସମୟ ଅନୁସାରେ ସର୍ଟ କର"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ଗତଥରର ବ୍ୟବହାର ଅନୁସାରେ ସର୍ଟ କର"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ଆପର ନାମ ଅନୁସାରେ ସର୍ଟ କରନ୍ତୁ"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ଶେଷ ଥର ବ୍ୟବହୃତ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ଗତ ଥର ବ୍ୟବହାର କରାଯାଇଛି"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"କେବେ ବି ନୁହେଁ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ବ୍ୟବହାର ସମୟ"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ଆକ୍ସେସିବିଲିଟୀ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ଟ୍ରିପଲ୍‌-ଟାପ୍‌ ଦ୍ୱାରା ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ସର୍ଟକଟ୍ ସାହାଯ୍ୟରେ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ତିନି ଥର ଟାପ୍ ଓ ସର୍ଟକଟ୍ ସାହାଯ୍ୟରେ ମାଗ୍ନିଫାଏ କରନ୍ତୁ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> ବିଷୟରେ"</string>
@@ -1878,20 +2053,22 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ଖୋଲିବା ପାଇଁ ଆକ୍ସେସିବିଲିଟୀ ବଟନ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ଖୋଲିବାକୁ ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ଖୋଲିବାକୁ ସ୍କ୍ରିନରେ ତିନି ଥର ଟାପ୍ କରନ୍ତୁ"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ଖୋଲିବା ପାଇଁ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନକୁ ଦୁଇଥର ଟାପ କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ଖୋଲିବା ପାଇଁ ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ରେ ଟାପ୍ କରନ୍ତୁ। \n\n ଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ଦାବି ଧରନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ଏହି ଫିଚରକୁ ବ୍ୟବହାର କରିବା ପାଇଁ, ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଥିବା ଆକ୍ସେସିବିଲିଟୀ ବଟନକୁ ଟାପ୍ କରନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ, ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଦବାଇ ଧରନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ ଏବଂ ବନ୍ଦ କରିବାକୁ, ଆପଣଙ୍କ ସ୍କ୍ରିନର ଯେ କୌଣସି ସ୍ଥାନରେ ତିନି ଥର-ଟାପ କରନ୍ତୁ।"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ମେଗ୍ନିଫିକେସନ ଆରମ୍ଭ ଓ ବନ୍ଦ କରିବାକୁ ନିଜ ସ୍କ୍ରିନର ଯେ କୌଣସି ସ୍ଥାନରେ ଦୁଇଟି ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 2ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 2ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ଏହି ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ଏକ ଆକ୍ସେସବିଲିଟୀ ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 2ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 2ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ଏକ ଆକ୍ସେସବିଲିଟୀ ଫିଚର୍ ବ୍ୟବହାର କରିବାକୁ 3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ବୁଝିଗଲି"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ ସେଟିଂସ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ବଟନ ସେଟିଂସ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ସର୍ଟକଟ୍"</string>
-    <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍"</string>
+    <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ଆକ୍ସେସିବିଲିଟୀ ଜେଶ୍ଚର୍"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture" msgid="8078659880723370597">"2 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_dialog_title_software_gesture_talkback" msgid="7422753388389160524">"3 ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
@@ -1902,9 +2079,12 @@
     <string name="accessibility_shortcut_edit_dialog_summary_software_gesture_talkback" msgid="84483464524360845">"3ଟି ଆଙ୍ଗୁଠିରେ ସ୍କ୍ରିନର ତଳୁ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ।\n\nଫିଚରଗୁଡ଼ିକ ମଧ୍ୟରେ ସ୍ୱିଚ୍ କରିବାକୁ, 3ଟି ଆଙ୍ଗୁଠିରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରି ଧରି ରଖନ୍ତୁ।"</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>
-    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
-    <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ଭଲ୍ୟୁମ କୀ\'କୁ ଧରି ରଖନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ଭଲ୍ୟୁମ କୀ\'କୁ ଧରି ରଖନ୍ତୁ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ଉଭୟ ଭଲ୍ୟୁମ୍ କୀ’କୁ ଦବାଇ ଧରି ରଖନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ସ୍କ୍ରିନକୁ ଦୁଇଟି-ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ସ୍କ୍ରିନକୁ ଦୁଇଟି-ଆଙ୍ଗୁଠିରେ ଦୁଇଥର-ଟାପ କରନ୍ତୁ"</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="6863958573135995927">"ଟ୍ରିପଲ୍-ଟାପ୍ ସ୍କ୍ରିନ୍"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ସ୍କ୍ରିନରେ ଶୀଘ୍ର {0,number,integer} ଥର ଟାପ୍ କରନ୍ତୁ। ଏହି ସର୍ଟକଟ୍ ଆପଣଙ୍କ ଡିଭାଇସକୁ ଧୀର କରିପାରେ"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ଏବଂ ଜେଶ୍ଚର୍ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍ ବ୍ୟବହାର କରାଯାଉଛି। 3-ବଟନ୍ ନାଭିଗେସନ୍ ମାଧ୍ୟମରେ ଜେଶ୍ଚର୍ ଉପଲବ୍ଧ ନାହିଁ।"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ଆକ୍ସେସିବିଲିଟୀ ଫିଚରକୁ ଶୀଘ୍ର ଆକ୍ସେସ୍ କରନ୍ତୁ"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ଆରମ୍ଭ କରିବାକୁ"</b>\n"1. ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସକୁ ଯାଆନ୍ତୁ\n2. ଏକ ଫିଚର ଚୟନ କରି ସର୍ଟକଟରେ ଟାପ କରନ୍ତୁ\n3. ଫିଚରକୁ ଆକ୍ସେସ କରିବା ପାଇଁ ଆପଣ ଏକ ବଟନ କିମ୍ବା ଜେଶ୍ଚର ବ୍ୟବହାର କରିବାକୁ ଚାହାଁନ୍ତି ନା ନାହିଁ ତାହା ବାଛନ୍ତୁ"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ଆରମ୍ଭ କରିବାକୁ"</b>\n"1. ଆକ୍ସେସିବିଲିଟୀ ସେଟିଂସକୁ ଯାଆନ୍ତୁ\n2. ଏକ ଫିଚର ଚୟନ କରି ସର୍ଟକଟରେ ଟାପ କରନ୍ତୁ\n3. ଫିଚରକୁ ଆକ୍ସେସ କରିବା ପାଇଁ କେଉଁ ବଟନ ବ୍ୟବହାର କରିବେ ତାହା ବାଛନ୍ତୁ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ବଟନ୍ କିମ୍ବା ଜେଶ୍ଚର୍ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ଲୋକେସନ"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ଆକାର"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ପାୱର୍‌ ବଟନ୍‌ କଲ୍‌ ସମାପ୍ତ କରେ"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ବହୁତ ବଡ଼ ମାଉସ୍‌ ପଏଣ୍ଟର୍"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ମାଉସ ପଏଣ୍ଟରକୁ ଅଧିକ ଆଖିଦୃଶିଆ କରନ୍ତୁ"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"ସମସ୍ତ ଆପ୍ସକୁ ଡାର୍କ କରନ୍ତୁ"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ନିଜର ଡାର୍କ ଥିମ ନଥିବା ଆପ୍ସ ପାଇଁ ଲାଗୁ ହୁଏ। କିଛି ଆପ୍ସରେ ଇନଭର୍ଟ ହୋଇଥିବା ରଙ୍ଗ ପରି ଡିସପ୍ଲେ ସମସ୍ୟା ଥାଇପାରେ।"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ଆନିମେସନ୍‌ଗୁଡ଼ିକୁ କାଢ଼ିଦିଅନ୍ତୁ"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ସ୍କ୍ରିନରେ ମୁଭମେଣ୍ଟକୁ କମ୍ କରନ୍ତୁ"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ମୋନୋ ଅଡିଓ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ଭାଇବ୍ରେସନ ଏବଂ ହାପଟିକ୍ସ ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"ଆଲାରାମ ଭାଇବ୍ରେସନ"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"ମିଡିଆ ଭାଇବ୍ରେସନ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"କୀବୋର୍ଡ ଭାଇବ୍ରେସନ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ରିଙ୍ଗ ଭାଇବ୍ରେସନ୍"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ବିଜ୍ଞପ୍ତି ଭାଇବ୍ରେସନ୍"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ଟଚ୍ ଫିଡବ୍ୟାକ୍"</string>
@@ -2022,9 +2205,9 @@
     <string name="captioning_more_options_title" msgid="3484496882942539652">"ଅଧିକ ବିକଳ୍ପ"</string>
     <string name="accessibility_captioning_preference_intro" msgid="8995427146374031134">"କ୍ୟାପ୍ସନ ପଢ଼ିବା ସହଜ କରିବାକୁ ଏହାର ଆକାର ଓ ଷ୍ଟାଇଲକୁ କଷ୍ଟମାଇଜ କରନ୍ତୁ"</string>
     <string name="accessibility_captioning_preference_summary" msgid="8335768472978374255">"ଏହି କ୍ୟାପ୍ସନ ପସନ୍ଦଗୁଡ଼ିକ ସମସ୍ତ ମିଡିଆ ଆପ୍ସ ଦ୍ୱାରା ସମର୍ଥିତ ନୁହେଁ"</string>
-    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ୍"</string>
+    <string name="accessibility_shortcut_type_software" msgid="2552732582767687515">"ଆକ୍ସେସିବିଲିଟୀ ବଟନ"</string>
     <string name="accessibility_shortcut_type_software_gesture" msgid="5608959693931019059">"ତଳୁ 2-ଆଙ୍ଗୁଠି ସାହାଯ୍ୟରେ ଉପରକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ"</string>
-    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"ଭଲ୍ୟୁମ୍ କୀ\'ଗୁଡ଼ିକୁ ଧରି ରଖନ୍ତୁ"</string>
+    <string name="accessibility_shortcut_type_hardware" msgid="4834144210432451916">"ଭଲ୍ୟୁମ କୀ\'କୁ ଧରି ରଖନ୍ତୁ"</string>
     <string name="accessibility_shortcut_type_triple_tap" msgid="7717524216825494543">"ଟ୍ରିପଲ୍ ଟାପ୍ ସ୍କ୍ରିନ୍"</string>
     <string name="accessibility_hearingaid_instruction_continue_button" msgid="3367260988024430722">"ଜାରି ରଖନ୍ତୁ"</string>
     <string name="accessibility_hearingaid_title" msgid="1263619711863375614">"ଶ୍ରବଣ ଡିଭାଇସଗୁଡ଼ିକ"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"ବନ୍ଦ କରନ୍ତୁ"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ବାତିଲ"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g>କୁ ବନ୍ଦ କରିବେ?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g>କୁ ଟାପ୍‍ କରିବା ଦ୍ୱାରା <xliff:g id="SERVICE">%2$s</xliff:g> ବନ୍ଦ ହୋଇଯିବ।"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ଚାଲୁ ରଖ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ବନ୍ଦ କରିବେ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"କୌଣସି ସେବା ସଂସ୍ଥାପିତ ହୋଇନାହିଁ"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"କୌଣସି ସେବାର ଚୟନ କରାଯାଇନାହିଁ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"କୌଣସି ବ୍ୟାଖ୍ୟା ଦିଆଯାଇ ନାହିଁ।"</string>
     <string name="settings_button" msgid="2195468788019730377">"ସେଟିଂସ"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ଆଲୋକ ସମ୍ବେଦନଶୀଳତା, ଫଟୋଫୋବିଆ, ଗାଢ଼ା ଥିମ୍, ଅଧକପାଳି, ମୁଣ୍ଡବ୍ୟଥା, ରିଡିଂ ମୋଡ୍, ନାଇଟ୍ ମୋଡ୍, ଉଜ୍ଜ୍ୱଳତା କମାନ୍ତୁ, ହ୍ୱାଇଟ୍ ପଏଣ୍ଟ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ବ୍ୟବହାର କରିବା ପାଇଁ ସହଜ, ଆକ୍ସେସ୍ କରିବାକୁ ସହଜ, ସହାୟତା, ସହାୟକ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ଦୃଷ୍ଟିଶକ୍ତି, ଶୁଣିବା, ଦୃଷ୍ଟିହୀନ, ମୋଟର, ଦକ୍ଷତା, ଆସିଷ୍ଟିଭ, ସହାୟତା, ବ୍ୟବହାର କରିବା ପାଇଁ ସହଜ, ଆକ୍ସେସ କରିବାକୁ ସହଜ, ହାତ, ସାହାଯ୍ୟ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ୱିଣ୍ଡୋ ମ୍ୟାଗ୍ନିଫାୟର୍, ଜୁମ୍, ମ୍ୟାଗ୍ନିଫିକେସନ୍, କମ୍ ଦେଖାଯାଉଥିବା, ବଡ଼ କରନ୍ତୁ, ଆହୁରି ବଡ଼ କରନ୍ତୁ"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"କ୍ୟାପସନ୍, ବନ୍ଦ ଥିବା କ୍ୟାପସନ୍, CC, ଲାଇଭ୍ ଟ୍ରାନ୍ସସ୍କ୍ରାଇବ୍, କମ୍ ଶୁଣୁଥିବା, ଶ୍ରବଣଶକ୍ତିରେ ହ୍ରାସ, CART, ସ୍ପିଚ୍ ଟୁ ଟେକ୍ସଟ୍, ସବଟାଇଟେଲ୍"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ରଙ୍ଗ କଣ୍ଟ୍ରାଷ୍ଟ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ମୋଟର, ମାଉସ୍"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ଶ୍ରବଣ ଯନ୍ତ୍ର, କମ ଶୁଣା ଯାଉଥିବା ଲୋକ, ଶ୍ରବଣ ଶକ୍ତିରେ ହ୍ରାସ, କକଲିୟର ଇମ୍ପ୍ଲାଣ୍ଟ, ଆମ୍ପ୍ଲିଫିକେସନ ଡିଭାଇସ, ସାଉଣ୍ଡ ପ୍ରୋସେସରଗୁଡ଼ିକ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ମୋଟର, ମାଉସ, ଏକ୍ସଟର୍ନଲ ମାଉସ, ହେଡ ମାଉସ, ଆଡେପ୍ଟିଭ ମାଉସ, ହୁଇଲଚେୟାର, ଜଏଷ୍ଟିକ"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ଶ୍ରବଣ ଯନ୍ତ୍ର, କମ ଶୁଣା ଯାଉଥିବା ଲୋକ, ଶ୍ରବଣ ଶକ୍ତିରେ ହ୍ରାସ, କକଲିୟର ଇମ୍ପ୍ଲାଣ୍ଟ, ଆମ୍ପ୍ଲିଫିକେସନ ଡିଭାଇସ, ସାଉଣ୍ଡ ପ୍ରୋସେସରଗୁଡ଼ିକ, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"କମ୍ ଶୁଣୁଥିବା, ଶ୍ରବଣଶକ୍ତିରେ ହ୍ରାସ, କ୍ୟାପସନ୍, ଟେଲିଟାଇପ୍, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ତିନୋଟି ବଟନ"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ଦକ୍ଷତା, ମୋଟର, ସିନିଅର, ଆର୍ଥରାଇଟିସ, rsi, ଷ୍ଟ୍ରୋକ, ଟ୍ରେମର, ମଲ୍ଟିପୁଲ ସ୍କ୍ଲେରୋସିସ, ସେରେବ୍ରାଲ ପାଲସି, ଥରିବା, ବାରମ୍ବାର ଚାପ ଜନିତ ଆଘାତ, ହାତ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ବିଳମ୍ବ, ଦକ୍ଷତା, ସିନିଅର"</string>
     <string name="print_settings" msgid="8519810615863882491">"ପ୍ରିଣ୍ଟିଂ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ବନ୍ଦ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1ଟି ପ୍ରିଣ୍ଟ ସେବା ଚାଲୁ ଅଛି}other{#ଟି ପ୍ରିଣ୍ଟ ସେବା ଚାଲୁ ଅଛି}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ଅବଶିଷ୍ଟ ଅଛି"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"ଚାର୍ଜ କରିବା ପାଇଁ <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> ଲାଗିବ"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ସ୍କ୍ରିନ ସମୟ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ପୃଷ୍ଠପଟ ସମୟ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ବ୍ୟାଟେରୀ ସ୍ତର କମ୍ ଅଛି"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ଆପ୍‌ଟିକୁ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡରେ ଚାଲିବାକୁ ଦିଅନ୍ତୁ"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ କାର୍ଯ୍ୟକଳାପ ସୀମିତ କରିବେ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ଯଦି ଆପଣ ଗୋଟିଏ ଆପ୍‌ର ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ କାର୍ଯ୍ୟକଳାପକୁ ସୀମିତ କରିବେ, ଏହା ଠିକ୍‍ ଭାବରେ କାମ କରିନପାରେ"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ବ୍ୟାଟେରୀକୁ ଅପ୍ଟିମାଇଜ୍ କରିବା ପାଇଁ ଯେହେତୁ ଏହି ଆପ୍‍କୁ ସେଟ୍ କରାଯାଇନାହିଁ, ତେଣୁ ଆପଣ ଏହାକୁ ସୀମାବଦ୍ଧ କରିପାରିବେ ନାହିଁ। \n\nଆପ୍‍କୁ ସୀମାବଦ୍ଧ କରିବା ପାଇଁ ପ୍ରଥମେ ବ୍ୟାଟେରୀ ଅପ୍ଟିମାଇଜେସନ୍‍କୁ ଚାଲୁ କରନ୍ତୁ।"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ବ୍ୟାଟେରୀ ବ୍ୟବହାର ପରିଚାଳନା କରନ୍ତୁ"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ପୃଷ୍ଠପଟରେ ବ୍ୟବହାର କରିବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ରିଅଲ-ଟାଇମ ଅପଡେଟ ପାଇଁ ସକ୍ଷମ କରନ୍ତୁ, ବେଟେରୀର ଚାର୍ଜ ସେଭ କରିବାକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ଅପ୍ରତିବନ୍ଧିତ"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ପ୍ରତିବନ୍ଧିତ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ସର୍ବାଧିକ ବ୍ୟାଟେରୀ ବ୍ୟବହାର ଥିବା ଆପଗୁଡ଼ିକୁ ଦେଖନ୍ତୁ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ଆପଣଙ୍କ ବେଟେରୀକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"ଆପଣଙ୍କ ବେଟେରୀର ଲାଇଫସ୍ପାନକୁ ବଢ଼ାଇବାରେ ସହାୟତା କରିବା ପାଇଁ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ଆପଣଙ୍କ ବେଟେରୀକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ଆପଣଙ୍କ ବେଟେରୀର ଲାଇଫସ୍ପାନକୁ ବଢ଼ାଇବାରେ ସହାୟତା କରିବା ପାଇଁ, ଟାବଲେଟ ଡକ ଥିବା ସମୟରେ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ଆପଣଙ୍କ ବେଟେରୀକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ଆପଣଙ୍କ ବେଟେରୀର ଲାଇଫସ୍ପାନକୁ ବଢ଼ାଇବାରେ ସହାୟତା କରିବା ପାଇଁ, ଟାବଲେଟ ଡକ ଥିବା ସମୟରେ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯାଇଛି"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ କରାଯାଉଛି"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ପରବର୍ତ୍ତୀ ଥର ଆପଣଙ୍କ ଟାବଲେଟକୁ ଡକ କରାଯାଇଥିବା ସମୟରେ ଆପଣଙ୍କର ବେଟେରୀକୁ ସୁରକ୍ଷିତ ରଖିବା ପାଇଁ ଚାର୍ଜିଂକୁ ଅପ୍ଟିମାଇଜ କରାଯିବ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ଚାର୍ଜିଂକୁ ବିରତ କରାଯାଇଥିବା ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ଚାର୍ଜିଂ ପୁଣି ଆରମ୍ଭ କରନ୍ତୁ"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ଉଚ୍ଚ-ଶକ୍ତି ପୃଷ୍ଟଭୂମୀ କାର୍ଯ୍ୟ ଅନ୍ତର୍ଭୁକ୍ତ କରେ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ଏହି ଆପ୍‌ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡରେ ବ୍ୟାଟେରୀ ବ୍ୟବହାର କରିପାରିବ। ଆପଣଙ୍କ ବ୍ୟାଟେରୀ ଅନୁମାନ କରିଥିବା ସମୟର ପୂର୍ବରୁ ହିଁ ସରିଯାଇପାରେ।"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"କାଢ଼ିଦିଅନ୍ତୁ"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ବାତିଲ"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"ସମ୍ପୂର୍ଣ୍ଣ ଭାବେ ଚାର୍ଜ କରନ୍ତୁ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ଚାର୍ଜିଂ ଆକସେସୋରୀ ସହ ସମସ୍ୟା"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ଚାର୍ଜିଂ ଆକସେସୋରୀକୁ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ଇନକମ୍ପାଟିବଲ ଚାର୍ଜିଂ ବିଷୟରେ ଅଧିକ ଜାଣନ୍ତୁ"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ବ୍ୟାଟେରୀ ମ୍ୟାନେଜର୍‌"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ସ୍ଵଚାଳିତଭାବେ ଆପ୍‌ ପରିଚାଳନା କରନ୍ତୁ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"ସିଷ୍ଟମ ଆପ୍ସ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"ଅନଇନଷ୍ଟଲ କରାଯାଇଥିବା ଆପ୍ସ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ଅନ୍ୟ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"ଆନୁମାନିକ ବଳକା ସମୟ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପାଇଁ"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"ମୋଟ: ଏକ ମିନିଟରୁ କମ୍"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ପୃଷ୍ଠପଟ: ଏକ ମିନିଟରୁ କମ"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"ସ୍କ୍ରିନ ସମୟ: ଏକ ମିନିଟରୁ କମ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ଏକ ମିନିଟରୁ କମ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"ମୋଟ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ପୃଷ୍ଠପଟ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"ସ୍କ୍ରିନ ସମୟ: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ବର୍ତ୍ତମାନ"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ବ୍ୟାଟେରୀ ବ୍ୟବହାରର ଚାର୍ଟ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ଦୈନିକ ବେଟେରୀ ବ୍ୟବହାର ଚାର୍ଟ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ପ୍ରତି ଘଣ୍ଟାରେ ବେଟେରୀ ବ୍ୟବହାର ଚାର୍ଟ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ବେଟେରୀର ଲେଭେଲ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g>ରୁ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> ଶତକଡ଼ା ଅଟେ"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ ବେଟେରୀ ବ୍ୟବହାର"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> ପାଇଁ ବେଟେରୀ ବ୍ୟବହାର"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"ସମ୍ପୂର୍ଣ୍ଣ ଚାର୍ଜ ହେବା ପରଠାରୁ ସ୍କ୍ରିନ ସମୟ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"ଆପାତକାଳୀନ ଡାଏଲିଙ୍ଗ ସିଗ୍ନାଲ୍"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ଏକ ଜରୁରୀକାଳୀନ କଲ୍ କରୁଥିବାବେଳେ ଗତିବିଧି ସେଟ୍‌ କରନ୍ତୁ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ବେକଅପ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ଚାଲୁ"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ବନ୍ଦ ଅଛି"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ବ୍ୟାକ୍‌ଅପ୍‌ ଓ ରିଷ୍ଟୋର୍‌"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ବ୍ୟକ୍ତିଗତ ଡାଟା"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ମୋ ଡାଟାର ବ୍ୟାକ୍‌ଅପ୍‌ ନିଅ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ମୋବାଇଲ ଡାଟା ଏବଂ ୱାଇ-ଫାଇ"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ବ୍ୟକ୍ତିଗତ ଡାଟା ଅଟୋ-ସିଙ୍କ କରନ୍ତୁ"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ୱାର୍କ ଡାଟାକୁ ଅଟୋ-ସିଙ୍କ କରନ୍ତୁ"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ଅଟୋ-ସିଙ୍କ ପ୍ରାଇଭେଟ ଡାଟା"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ଡାଟା ବ୍ୟବହାର ଚକ୍ର ପରିବର୍ତ୍ତନ କରନ୍ତୁ…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ଡାଟା ବ୍ୟବହାର ସାଇକେଲ ରିସେଟ କରିବା ପାଇଁ ମାସକୁ ଧାର୍ଯ୍ୟ କରିଥିବା ଦିନ:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ଏହି ଅବଧିରେ କୌଣସି ଆପ୍‌ ଦ୍ୱାରା ଡାଟା ବ୍ୟବହାର ହୋଇନାହିଁ।"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ନାମ"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ପ୍ରକାର"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ସର୍ଭର୍‌ ଠିକଣା"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP ଏନକ୍ରିପ୍ସନ୍‌ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ରହସ୍ୟ"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ଚିହ୍ନଟକର୍ତ୍ତା"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ଶେୟାର କରାଯାଇସାରିଥିବା କୀ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ଉପଯୋଗକର୍ତ୍ତା ପ୍ରମାଣପତ୍ର"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ସାର୍ଟିଫିକେଟ୍‌"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ସର୍ଭର୍‌ ସର୍ଟିଫିକେଟ୍‌"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"ଉନ୍ନତ ବିକଳ୍ପ ଦେଖାନ୍ତୁ"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ସନ୍ଧାନ ଡୁମେନ୍"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ସର୍ଭର୍‌ (ଯେପରିକି 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ଫରୱାର୍ଡିଂ ରୁଟ୍‌ଗୁଡ଼ିକ (ଯେପରିକି 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ଉପଯୋଗକର୍ତ୍ତାଙ୍କ ନାମ"</string>
     <string name="vpn_password" msgid="1183746907642628127">"ପାସୱାର୍ଡ"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ଆକାଉଣ୍ଟ ସୂଚନାକୁ ସେଭ୍‌ କରନ୍ତୁ"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ବ୍ୟବହାର କରାଯାଇ ନାହିଁ)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ସର୍ଭର୍‌କୁ ଯାଞ୍ଚ କରନ୍ତୁନାହିଁ)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ସର୍ଭରରୁ ଗ୍ରହଣ କରାଯାଇଛି)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ଏହି VPN ପ୍ରକାର ସବୁବେଳେ ସଂଯୋଗ ରହିପାରିବ ନାହିଁ"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ସର୍ବଦା-ଅନ୍‌ VPN କେବଳ ସଂଖ୍ୟା ବିଶିଷ୍ଟ ସର୍ଭର୍ ଠିକଣାକୁ ସପୋର୍ଟ କରେ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ସର୍ବଦା-ଅନ୍‌ VPN ପାଇଁ ଏକ DNS ସର୍ଭର ଉଲ୍ଲେଖ କରିବା ଜରୁରୀ"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ସର୍ବଦା ଚାଲୁଥିବା VPN ପାଇଁ DNS ସର୍ଭର୍ ଠିକଣା ସଂଖ୍ୟା ବିଶିଷ୍ଟ ହୋଇଥିବା ଦରକାର"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ଏଣ୍ଟର୍‌ କରାଯାଇଥିବା ସୂଚନା ସର୍ବଦା-ଅନ୍‌ VPNକୁ ସପୋର୍ଟ କରେ ନାହିଁ"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ଖାରଜ"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"ବିନା VPNରେ ସଂଯୋଗଗୁଡ଼ିକୁ ବ୍ଲକ୍ କରନ୍ତୁ"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN ସଂଯୋଗ ଦରକାର?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ସୁରକ୍ଷିତ ନୁହେଁ। କୌଣସି IKEv2 VPNକୁ ଅପଡେଟ୍ କରନ୍ତୁ"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ଅସମର୍ଥିତ VPNକୁ ଆରମ୍ଭ କରିବାରେ ବିଫଳ ହୋଇଛି।"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ସର୍ବଦା ସଂଯୁକ୍ତ ରହିବାକୁ ଏକ VPN ପ୍ରୋଫାଇଲ୍‌ ଚୟନ କରନ୍ତୁ। ନେଟ୍‌ୱର୍କ ଟ୍ରାଫିକ୍‌ ଏହି VPN ସହ ସଂଯୁକ୍ତ ଥିବବେଳେ ହିଁ ଅନୁମତି ମିଳିବ।"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"କିଛି ନାହିଁ"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ଉଭୟ ସର୍ଭର୍‌ ଓ DNS ପାଇଁ ସର୍ବଦା-ଅନ୍‌ ଥିବା VPN ଗୋଟିଏ IP ଠିକଣା ଆବଶ୍ୟକ କରେ।"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER ଆଲର୍ଟ"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ଶିଶୁ ଅପହରଣ ବିଷୟରେ ଖବର ପାଆନ୍ତୁ"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ରିପିଟ୍‌"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"କଲ୍‌ ମ୍ୟାନେଜର୍‌କୁ ସକ୍ରିୟ କର"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"ଆପଣଙ୍କ କଲ୍‌ଗୁଡିକ କିପରି କରାଯିବ, ତାହାର ପରିଚାଳନା କରିବାକୁ ଏହି ସେବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ।"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"କଲ୍‌ ମ୍ୟାନେଜର୍‌"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ୱେୟାରଲେସ୍ ଜରୁରୀକାଳୀନ ଆଲର୍ଟଗୁଡ଼ିକ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ନେଟ୍‌ୱର୍କ ଅପରେଟର୍‌ମାନେ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ଆକ୍‌ସେସ୍‌ ପଏଣ୍ଟର ନାମଗୁଡ଼ିକ"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIMର ସ୍ଥିତି"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIMର ସ୍ଥିତି (SIM ସ୍ଲଟ୍‌ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMଗୁଡ଼ିକ ପରିବର୍ତ୍ତନ କରାଯାଇଛି।"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"ଆପଣଙ୍କ SIMଗୁଡ଼ିକୁ ପରିବର୍ତ୍ତନ କରାଯାଇଛି"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ସେଟଅପ୍‌ କରିବାକୁ ଟାପ୍‌ କରନ୍ତୁ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ପ୍ରତ୍ୟେକ ଥର ପଚାର"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ମନୋନୟନ ଆବଶ୍ୟକୀୟ"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ବର୍ତ୍ତମାନର ଆପଗୁଡ଼ିକ, ଡିଫଲ୍ଟ ଆପଗୁଡ଼ିକ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ୱାର୍କ ପ୍ରୋଫାଇଲ୍‍ରେ ଆପ୍‍ସ ପାଇଁ ବିଜ୍ଞପ୍ତି ଆକ୍ସେସ ଉପଲବ୍ଧ ନାହିଁ."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"ପାସୱାର୍ଡ ଏବଂ ଆକାଉଣ୍ଟଗୁଡ଼ିକ"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"ସେଭ କରାଯାଇଥିବା ପାସୱାର୍ଡ, ଅଟୋଫିଲ, ସିଙ୍କ କରାଯାଇଥିବା ଆକାଉଣ୍ଟଗୁଡ଼ିକ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ସାଇନ-ଇନ ଏବଂ ଅଟୋଫିଲ ପାଇଁ ପରାମର୍ଶଗୁଡ଼ିକ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ଡିଫଲ୍ଟ ଆପ୍‌"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"କ୍ଲୋନ ହୋଇଥିବା ଆପ୍ସ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"କୌଣସି ଆପର ଏକ ଦ୍ୱିତୀୟ ଇନଷ୍ଟାନ୍ସ ତିଆରି କରନ୍ତୁ, ଯାହା ଫଳରେ ଆପଣ ଏକା ସମୟରେ ଦୁଇଟି ଆକାଉଣ୍ଟ ବ୍ୟବହାର କରିପାରିବେ।"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"ୱାଲେଟ୍"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ପୈଠ, ଟାପ୍‌, ପେମେଣ୍ଟ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ବ୍ୟାକ୍‌ଅପ୍, ବ୍ୟାକ୍‌ ଅପ୍ ନିଅନ୍ତୁ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ଇଙ୍ଗିତ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ଫେସ୍, ଅନଲକ୍, ପ୍ରମାଣୀକରଣ, ସାଇନ୍ ଇନ୍"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ଫେସ୍, ଅନଲକ୍, ପ୍ରମାଣୀକରଣ, ସାଇନ୍ ଇନ୍, ଟିପଚିହ୍ନ, ବାୟୋମେଟ୍ରିକ୍"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl ଭର୍ସନ୍‌, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ଟେକ୍ସଟର ଆକାର, ବଡ଼ ପ୍ରିଣ୍ଟ, ବଡ଼ ଫଣ୍ଟ, ବଡ଼ ଟେକ୍ସଟ୍, କମ୍ ଦେଖାଯାଉଥିବା, ଟେକ୍ସଟ୍ ଆହୁରି ବଡ଼ କରନ୍ତୁ, ଫଣ୍ଟର ଆକାର ବଡ଼ କରୁଥିବା ଟୁଲ୍, ଫଣ୍ଟର ଆକାର ବଡ଼ କରିବା"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ସର୍ବଦା ଚାଲୁ ଆମ୍ବିଏଣ୍ଟ ଡିସପ୍ଲେ, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ଟାଗ, ରିଡର"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"କୀବୋର୍ଡ, ହାପଟିକ୍ସ, ଭାଇବ୍ରେଟ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ଭଲ୍ୟୁମ୍, ଭାଇବ୍ରେସନ୍, ବିରକ୍ତ କରନ୍ତୁ ନାହିଁ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ମିଡିଆ ଭଲ୍ୟୁମ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"କାଷ୍ଟ ଭଲ୍ୟୁମ୍‌"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ଚାଲୁ ହେବାର ଶବ୍ଦ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"ଲାଇଭ କ୍ୟାପ୍ସନ"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ସ୍ୱତଃ କେପସନ ମିଡିଆ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ଫୋନ ସ୍ପିକରଗୁଡ଼ିକ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ଟାବଲେଟ ସ୍ପିକରଗୁଡ଼ିକ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ଡିଭାଇସ ସ୍ପିକରଗୁଡ଼ିକ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ତାରଯୁକ୍ତ ହେଡଫୋନଗୁଡ଼ିକ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"କମ୍ପାଟିବଲ ମିଡିଆରୁ ଆସିଥିବା ଅଡିଓ ଅଧିକ ଇମର୍ସିଭ ହୋଇଥାଏ"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ବନ୍ଦ ଅଛି"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ସମସ୍ତ ବିଜ୍ଞପ୍ତି ବିଷୟବସ୍ତୁ ଦେଖାନ୍ତୁ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ସମ୍ବେଦନଶୀଳ ବିଷୟବସ୍ତୁ ଅନଲକ ଥିବା ବେଳେ ହିଁ ଦେଖାନ୍ତୁ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଆଦୌ ଦେଖାନ୍ତୁ ନାହିଁ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ଲକ ସ୍କ୍ରିନ କିପରି ଡିସପ୍ଲେ ହେଉ ବୋଲି ଆପଣ ଚାହିଁବେ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ଆପଣଙ୍କ ଲକ ସ୍କ୍ରିନ କଣ ଦେଖାଇବା ପାଇଁ ଆପଣ ଚାହାଁନ୍ତି?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ଲକ ସ୍କ୍ରିନ"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ସମସ୍ତ ୱାର୍କ ବିଜ୍ଞପ୍ତି ବିଷୟବସ୍ତୁ ଦେଖାନ୍ତୁ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ସମ୍ବେଦନଶୀଳ ୱାର୍କ ବିଷୟବସ୍ତୁକୁ ଲୁଚାନ୍ତୁ"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ବର୍ତ୍ତମାନର ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯାଇଛି"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"ବାର୍ତ୍ତାଳାପ କାଢ଼ି ଦିଆଯାଇଛି"</string>
     <string name="clear" msgid="5092178335409471100">"ଖାଲି କରନ୍ତୁ"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> ଖାଲି କରନ୍ତୁ"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ପ୍ରାଥମିକତା ଦିଆଯାଇଥିବା ଏବଂ ପରିବର୍ତ୍ତିତ ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକ ଏଠାରେ ଦେଖାଯିବ"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"ଆପଣ କୌଣସି ବାର୍ତ୍ତାଳାପକୁ ପ୍ରାଥମିକତା ଭାବେ ଚିହ୍ନଟ କଲେ କିମ୍ବା ବାର୍ତ୍ତାଳାପଗୁଡ଼ିକରେ ଅନ୍ୟ କୌଣସି ପରିବର୍ତ୍ତନ କଲେ, ସେଗୁଡ଼ିକ ଏଠାରେ ଦେଖାଯିବ। \n\nବାର୍ତ୍ତାଳାପ ସେଟିଂସ ପରିବର୍ତ୍ତନ କରିବାକୁ: \n ପୁଲ୍-ଡାଉନ୍ ସେଡ୍ ଖୋଲିବାକୁ ସ୍କ୍ରିନର ଶୀର୍ଷରୁ ତଳକୁ ସ୍ୱାଇପ୍ କରନ୍ତୁ, ତା’ପରେ ଏକ ବାର୍ତ୍ତାଳାପକୁ ଦବେଇ ଧରନ୍ତୁ।"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ଛୋଟ କରନ୍ତୁ"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"ବିଜ୍ଞପ୍ତି କୁଲଡାଉନ"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ସମସ୍ତ ବିଜ୍ଞପ୍ତିରେ କୁଲଡାଉନ ଲାଗୁ କରନ୍ତୁ"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ଆପଣ ସମାନ ଆପରୁ ଅଧିକ କ୍ରମିକ ବିଜ୍ଞପ୍ତି ପାଇଲେ ବିଜ୍ଞପ୍ତିର ଭଲ୍ୟୁମକୁ ଧୀରେ ଧୀରେ କମାନ୍ତୁ"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ବାର୍ତ୍ତାଳାପରେ କୁଲଡାଉନ ଲାଗୁ କରନ୍ତୁ"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ଆପଣ ସମାନ ଚାଟରୁ ଅଳ୍ପ ସମୟ ମଧ୍ୟରେ ଅଧିକ ମେସେଜ ପାଇଲେ ବିଜ୍ଞପ୍ତିର ଭଲ୍ୟୁମକୁ ଧୀରେ ଧୀରେ କମାନ୍ତୁ"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"ବିଜ୍ଞପ୍ତି କୁଲଡାଉନକୁ ବ୍ୟବହାର କରନ୍ତୁ ନାହିଁ"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ସମାନ ଆପରୁ କ୍ରମିକ ବିଜ୍ଞପ୍ତିର ପରିମାଣ ଯାହା ହୋଇଥାଉ ନା କାହିଁକି ବିଜ୍ଞପ୍ତିର ଭଲ୍ୟୁମକୁ କେବେ ବି କମାନ୍ତୁ ନାହିଁ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ଅନଲକ ଥିବା ସମୟରେ ଭାଇବ୍ରେଟ କରନ୍ତୁ"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"ସ୍କ୍ରିନ ଅନଲକ ଥିବା ସମୟରେ କେବଳ ଭାଇବ୍ରେଟ କରନ୍ତୁ"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ୱାର୍କ ପ୍ରୋଫାଇଲରେ ଲାଗୁ କରନ୍ତୁ"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ଆପଣଙ୍କ ୱାର୍କ ପ୍ରୋଫାଇଲରେ ଆପଣଙ୍କର ବ୍ୟକ୍ତିଗତ ପ୍ରୋଫାଇଲରୁ ବିଜ୍ଞପ୍ତି କୁଲଡାଉନ ସେଟିଂସ ଲାଗୁ କରନ୍ତୁ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ସାହାଯ୍ୟକାରୀ ସେବାଗୁଡ଼ିକ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"VR ସାହାଯ୍ୟକାରୀ ସେବାଗୁଡ଼ିକ ଭାବରେ ଚଲାଯିବା ପାଇଁ, ଇନଷ୍ଟଲ ହୋଇଥିବା କୌଣସି ଆପ୍ସ ଅନୁରୋଧ କରିନାହିଁ।"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> ପାଇଁ VR ସେବା ଆକ୍ସେସକୁ ଅନୁମତି ଦେବେ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ବନ୍ଦ ଅଛି"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ଆପ ପିନିଂ"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ବର୍ତ୍ତମାନର ଆପକୁ ଆପଣ ଅନପିନ୍ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ଏହାକୁ ସ୍କ୍ରିନରେ ଦେଖାଇବା ପାଇଁ ଆପ୍ ପିନିଂ ଆପଣଙ୍କୁ ଅନୁମତି ଦିଏ। ଏହି ଫିଚର୍ ଏହି କ୍ଷେତ୍ରରେ ବ୍ୟବହୃତ ହୋଇପାରେ, ଉଦାହରଣ ସ୍ଵରୂପ, ଜଣେ ବିଶ୍ୱସ୍ତ ସାଙ୍ଗକୁ ଏକ ନିର୍ଦ୍ଦିଷ୍ଟ ଗେମ୍ ଖେଳିବାକୁ ଦେବା।"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପଗୁଡ଼ିକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟାକୁ ଆକ୍ସେସ କରାଯାଇପାରେ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ: 	\n1. ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ 	\n2. ଓଭରଭିଉ ଖୋଲନ୍ତୁ 	\n3. ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି ତା\'ପରେ ପିନରେ ଟାପ କରନ୍ତୁ"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପଗୁଡ଼ିକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟାକୁ ଆକ୍ସେସ କରାଯାଇପାରେ। \n\nଯଦି ଆପଣ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ସହ ଆପଣଙ୍କ ଡିଭାଇସ ସୁରକ୍ଷିତ ଭାବେ ସେୟାର କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଏହା ପରିବର୍ତ୍ତେ ଜଣେ ଅତିଥି ୟୁଜର ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ:\n1. ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ 	\n2. ଓଭରଭ୍ୟୁ ଖୋଲନ୍ତୁ 	\n3. ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି ତା\'ପରେ ପିନରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପ୍ସକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ସେସ ଯୋଗ୍ୟ ହୋଇପାରେ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ: 	\n{0,number,integer}। ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ 	\n{1,number,integer}। ଓଭରଭ୍ୟୁ ଖୋଲନ୍ତୁ 	\n{2,number,integer}। ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି \'ପିନ କରନ୍ତୁ\'ରେ ଟାପ କରନ୍ତୁ"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"କୌଣସି ଆପ ପିନ କରାଗଲେ, ପିନ ହୋଇଥିବା ଆପଟି ଅନ୍ୟ ଆପ୍ସକୁ ଖୋଲିପାରେ ଏବଂ ବ୍ୟକ୍ତିଗତ ଡାଟା ଆକ୍ସେସ ଯୋଗ୍ୟ ହୋଇପାରେ। \n\nଯଦି ଆପଣ କୌଣସି ବ୍ୟକ୍ତିଙ୍କ ସହ ଆପଣଙ୍କ ଡିଭାଇସକୁ ସୁରକ୍ଷିତ ଭାବେ ସେୟାର କରିବାକୁ ଚାହୁଁଛନ୍ତି, ତେବେ ଏହା ପରିବର୍ତ୍ତେ ଜଣେ ଅତିଥି ୟୁଜରଙ୍କୁ ବ୍ୟବହାର କରି ଦେଖନ୍ତୁ। \n\nଆପ ପିନିଂ ବ୍ୟବହାର କରିବାକୁ: 	\n{0,number,integer}। ଆପ ପିନିଂ ଚାଲୁ କରନ୍ତୁ 	\n{1,number,integer}। ଓଭରଭ୍ୟୁ ଖୋଲନ୍ତୁ 	\n{2,number,integer}। ସ୍କ୍ରିନର ଶୀର୍ଷରେ ଥିବା ଆପ ଆଇକନରେ ଟାପ କରି \'ପିନ କରନ୍ତୁ\'ରେ ଟାପ କରନ୍ତୁ"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ଆପ୍ ପିନ୍ କରାଗଲେ: \n\n•		ବ୍ୟକ୍ତିଗତ ଡାଟାକୁ ଆକ୍ସେସ୍ କରାଯାଇପାରେ \n		(ଯେପରିକି ଯୋଗାଯୋଗଗୁଡ଼ିକ ଏବଂ ଇମେଲ୍ ବିଷୟବସ୍ତୁ) \n•		ପିନ୍ ହୋଇଥିବା ଆପ ଅନ୍ୟ ଆପଗୁଡ଼ିକୁ ଖୋଲିପାରେ \n\nକେବଳ ଆପଣ ବିଶ୍ୱାସ କରୁଥିବା ଲୋକମାନଙ୍କ ସହ ଆପ୍ ପିନିଂ ବ୍ୟବହାର କରନ୍ତୁ।"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ଅନ୍‌ପିନ୍‌ କରିବା ପୂର୍ବରୁ ଅନ୍‌ଲକ୍ ପାଟର୍ନ ପାଇଁ ପଚାରନ୍ତୁ"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ଅନ୍‌ପିନ୍‌ କରିବା ପୂର୍ବରୁ PIN ମାଗନ୍ତୁ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ଅନ୍‌ପିନ୍‌ କରିବା ପୂର୍ବରୁ ପାସ୍‌ୱାର୍ଡ ପଚାରନ୍ତୁ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ଅନ୍‌ପିନ୍‌ କରିବା ବେଳେ ଡିଭାଇସ୍‌କୁ ଲକ୍‌ କରନ୍ତୁ"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM ଡିଲିଟ ପ୍ରକ୍ରିୟା ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ଆପଣ ଆପଣଙ୍କ eSIM ଇରେଜ କରିବାକୁ ଚାହୁଁଥିବା ସୁନିଶ୍ଚିତ କରନ୍ତୁ"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ଏକ eSIM ଇରେଜ କରିବା ପୂର୍ବରୁ ଏହା ଆପଣ ବୋଲି ଯାଞ୍ଚ କରନ୍ତୁ"</string>
     <string name="memtag_title" msgid="5096176296797727201">"ଉନ୍ନତ ମେମୋରୀ ସୁରକ୍ଷା ବିଟା"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"ଉନ୍ନତ ମେମୋରୀ ସୁରକ୍ଷା"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ଅବ୍ୟବହୃତ ଆପ ସେଟିଂସ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ବ୍ୟବହାର ହେଉନଥିଲେ ଆପ କାର୍ଯ୍ୟକଳାପ ବିରତ କରନ୍ତୁ"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଅନ୍ତୁ, ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡ଼ିକୁ ଡିଲିଟ କରନ୍ତୁ ଏବଂ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ଆପକୁ ବ୍ୟବହାର କରାଯାଉନଥିଲେ ପରିଚାଳନା କରନ୍ତୁ"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଅନ୍ତୁ, ଅସ୍ଥାୟୀ ଫାଇଲଗୁଡ଼ିକୁ ଡିଲିଟ କରନ୍ତୁ, ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ବନ୍ଦ କରନ୍ତୁ ଏବଂ ଆପକୁ ଆର୍କାଇଭ କରନ୍ତୁ"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ସମସ୍ତ ଆପ୍ସ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ଇନ୍‌ଷ୍ଟଲ୍‌ ହୋଇଥିବା ଆପ୍‌ଗୁଡ଼ିକ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ଇନଷ୍ଟାଣ୍ଟ୍ ଆପ୍ସ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ଖାଲି"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ଆପ୍‌ଗୁଡ଼ିକ ଦ୍ୱାରା ବ୍ୟବହୃତ ମେମୋରୀ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{ଗତ {time}ରେ 1ଟି ଆପ ମେମୋରୀ ବ୍ୟବହାର କରିଛି}other{ଗତ {time}ରେ #ଟି ଆପ ମେମୋରୀ ବ୍ୟବହାର କରିଛି}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"ମେମୋରୀ ବ୍ୟବହାର ପ୍ରୋଫାଇଲିଂକୁ ସକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"ମେମୋରୀ ବ୍ୟବହାର ପ୍ରୋଫାଇଲିଂ ପାଇଁ ଅତିରିକ୍ତ ସିଷ୍ଟମ ରିସୋର୍ସ ଆବଶ୍ୟକ।"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"ମେମୋରୀ ପ୍ରୋଫାଇଲିଂକୁ ଅକ୍ଷମ କରାଯାଇଛି"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ଫ୍ରିକ୍ୱେନ୍ସି"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"ସର୍ବାଧିକ ବ୍ୟବହାର"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"କୌଣସି ଡାଟା ବ୍ୟବହୃତ ହୋଇନାହିଁ"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକ ଉପରେ ଦେଖାନ୍ତୁ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ଅନ୍ୟ ଆପ୍‌ଗୁଡ଼ିକ ଉପରେ ଦେଖାଇବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ଆପଣ ବ୍ୟବହାର କରୁଥିବା ଅନ୍ୟ ଆପଗୁଡ଼ିକ ଉପରେ ଏହି ଆପକୁ ଡିସପ୍ଲେ ହେବାକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଆପଣ କେଊଁଠି ଟାପ୍ କରନ୍ତି କିମ୍ବା ସ୍କ୍ରିନରେ ଯାହା ଡିସପ୍ଲେ ହୋଇଛି ସେଥିରେ ପରିବର୍ତ୍ତନ କରନ୍ତି ତାହା ଏହି ଆପ୍ ଦେଖିବାକୁ ସକ୍ଷମ ହେବ।"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"ମିଡିଆ ଆଉଟପୁଟ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ମିଡିଆ ଆଉଟପୁଟ ସୁଇଚ କରିବାକୁ ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"କନେକ୍ଟ କରାଯାଇଥିବା କେଉଁ ଡିଭାଇସ ଅନ୍ୟ ଆପ୍ସରୁ ଅଡିଓ କିମ୍ୱା ଭିଡିଓ ପ୍ଲେ କରିବ ତାହା ବାଛିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଯଦି ଅନୁମତି ଦିଆଯାଏ, ତେବେ ଏହି ଆପ ହେଡଫୋନ ଓ ସ୍ପିକର ପରି ଉପଲବ୍ଧ ଡିଭାଇସଗୁଡ଼ିକର ଏକ ତାଲିକାକୁ ଆକ୍ସେସ କରିପାରିବ ଏବଂ ଅଡିଓ କିମ୍ୱା ଭିଡିଓ ଷ୍ଟ୍ରିମ ବା କାଷ୍ଟ କରିବାକୁ କେଉଁ ଆଉଟପୁଟ ଡିଭାଇସକୁ ବ୍ୟବହାର କରାଯିବ ତାହା ବାଛିପାରିବ।"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ସମସ୍ତ ଫାଇଲକୁ ଆକ୍ସେସ୍"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ସମସ୍ତ ଫାଇଲକୁ ପରିଚାଳନା ପାଇଁ ଆକ୍ସେସ୍ ଦିଅନ୍ତୁ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ଏହି ଡିଭାଇସ୍ କିମ୍ବା ଯେ କୌଣସି ସଂଯୁକ୍ତ ଥିବା ଷ୍ଟୋରେଜ୍ ଭଲ୍ୟୁମରେ ଥିବା ସମସ୍ତ ଫାଇଲକୁ ପଢ଼ିବା, ପରିବର୍ତ୍ତନ କରିବା ଏବଂ ଡିଲିଟ୍ କରିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଯଦି ଅନୁମତି ଦିଆଯାଏ, ତେବେ ଆପ୍ ଆପଣଙ୍କୁ ସ୍ପଷ୍ଟ ନକରି ଫାଇଲଗୁଡ଼ିକୁ ଆକ୍ସେସ୍ କରିପାରେ।"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"ସମସ୍ତ ଫାଇଲକୁ ଆକ୍ସେସ୍ କରିପାରିବ"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ଭଏସ ସକ୍ରିୟକରଣ ଆପ୍ସ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ଭଏସ ସକ୍ରିୟକରଣକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ଭଏସ ସକ୍ରିୟକରଣ ଭଏସ କମାଣ୍ଡ ବ୍ୟବହାର କରି ଅନୁମୋଦିତ ଆପ୍ସ, ହେଣ୍ଡ୍ସ-ଫ୍ରିକୁ ଚାଲୁ କରେ। କେବଳ ଆପଣଙ୍କ ପାଇଁ ଡାଟା ପ୍ରାଇଭେଟ ରହୁ ବୋଲି ବିଲ୍ଟ-ଇନ ଆଡେପ୍ଟିଭ ସେନ୍ସିଂ ସୁନିଶ୍ଚିତ କରେ।\n\n"<a href="">"ସୁରକ୍ଷିତ ଆଡେପ୍ଟିଭ ସେନ୍ସିଂ ବିଷୟରେ ଅଧିକ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକ"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ଏହି ଆପରୁ ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ଡିଭାଇସ ଲକ ହେଲେ ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନରେ ଦେଖାଯାଉଥିବା ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ଦେଖାଇବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଆଲାରାମ, ଇନକମିଂ କଲ କିମ୍ବା ଅନ୍ୟ ଜରୁରୀ ବିଜ୍ଞପ୍ତିଗୁଡ଼ିକୁ ହାଇଲାଇଟ କରିବା ପାଇଁ ଆପ୍ସ ଏଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିପାରେ।"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g>ର ଡାଟା ସମ୍ପର୍କିତ ଚେତାବନୀ"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g>ର ଡାଟା ସୀମା"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g>ର ଡାଟା ସମ୍ପର୍କିତ ଚେତାବନୀ / <xliff:g id="ID_2">^2</xliff:g>ର ଡାଟା ସୀମା"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ଡିଭାଇସ୍‌ର ଗଣନାଠାରୁ କେରିଅର୍‌ର ଡାଟା ଗଣନା ଭିନ୍ନ ହୋଇପାରେ।"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"କ୍ୟାରିଅର୍ ନେଟୱାର୍କଗୁଡ଼ିକ ଦ୍ୱାରା ବ୍ୟବହୃତ ଡାଟାକୁ ବାଦ୍ ଦିଆଯାଇଛି"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ବ୍ୟବହୃତ"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ଡାଟା ଚେତାବନୀ ସେଟ୍‌ କରନ୍ତୁ"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> ପୂର୍ବରୁ ଅପଡେଟ୍‌ ହୋଇଛି"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> ଦ୍ଵାରା ଏହିକ୍ଷଣି ଅପଡେଟ୍‌ ହୋଇଛି"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ଏହିକ୍ଷଣି ଅପଡେଟ୍‌ ହୋଇଛି"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ପ୍ଲାନ୍ ଦେଖନ୍ତୁ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"ବିବରଣୀ ଦେଖନ୍ତୁ"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ଡାଟା ସେଭର"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ଅପ୍ରତିବନ୍ଧିତ ଡାଟା"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"ପୃଷ୍ଠପଟରେ ଥିବା ସମୟରେ <xliff:g id="APP_LABEL">%1$s</xliff:g> ସାଧାରଣ ଅପେକ୍ଷା ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିଛି"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ଥିବା ସମୟରେ <xliff:g id="APP_LABEL">%1$s</xliff:g> ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିଛି"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ଥିବା ସମୟରେ <xliff:g id="APP_LABEL">%1$s</xliff:g> ସାଧାରଣ ଅପେକ୍ଷା ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର କରିଛି"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ବେଟେରୀ ବ୍ୟବହାରରେ ବ୍ୟତିକ୍ରମ"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ପୃଷ୍ଠପଟରେ ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ଫୋରଗ୍ରାଉଣ୍ଡରେ ଅଧିକ ବେଟେରୀ ବ୍ୟବହାର"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"କ୍ୱିକ୍ ସେଟିଂସ ଡେଭେଲପର ଟାଇଲ୍ସ"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb ଅଧିକାର ସମାପ୍ତ ହେବା ଅକ୍ଷମ କରନ୍ତୁ"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ଡିଫଲ୍ଟ (7 ଦିନ) କିମ୍ବା ୟୁଜରଙ୍କ ଦ୍ୱାରା କନଫିଗର କରାଯାଇଥିବା (ସର୍ବନିମ୍ନ 1 ଦିନ) ସମୟ ଭିତରେ ପୁଣି କନେକ୍ଟ କରାଯାଇନଥିବା ସିଷ୍ଟମଗୁଡ଼ିକ ପାଇଁ adb ଅଧିକାରଗୁଡ଼ିକର ସ୍ୱତଃ ବାତିଲକରଣକୁ ଅକ୍ଷମ କରନ୍ତୁ।"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope ଟ୍ରେସ୍"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ସେନ୍ସର୍‍ଗୁଡ଼ିକ ବନ୍ଦ ଅଛି"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ୱାର୍କ ପ୍ରୋଫାଇଲ ସେଟିଂସ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ବ୍ୟକ୍ତିଗତ ଆପ୍ସର ୱାର୍କ ଡିରେକ୍ଟୋରୀରେ କଣ୍ଟାକ୍ଟଗୁଡ଼ିକୁ ସର୍ଚ୍ଚ କରନ୍ତୁ"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ସିଷ୍ଟମ୍ ନାଭିଗେସନ୍, 2 ବଟନ୍ ନାଭିଗେସନ୍, 3 ବଟନ୍ ନାଭିଗେସନ୍, ଜେଶ୍ଚର୍ ନାଭିଗେସନ୍, ସ୍ୱାଇପ୍"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ଡିଜିଟାଲ ଆସିଷ୍ଟାଣ୍ଟ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ଆସିଷ୍ଟାଣ୍ଟ ଆରମ୍ଭ କରିବାକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ଡିଜିଟାଲ ଆସିଷ୍ଟାଣ୍ଟ ଆପ ଆରମ୍ଭ କରିବା ପାଇଁ ନିମ୍ନର ଏକ କୋଣରୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ।"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ଡିଜିଟାଲ Assistant ଆପ ଆରମ୍ଭ କରିବା ପାଇଁ ନିମ୍ନର ଏକ କୋଣରୁ ଉପରକୁ ସ୍ୱାଇପ କରନ୍ତୁ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ଆରମ୍ଭ କରିବା ପାଇଁ ହୋମ ବଟନକୁ ଧରି ରଖନ୍ତୁ"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ଡିଜିଟାଲ ଆସିଷ୍ଟାଣ୍ଟ ଆପ ଆରମ୍ଭ କରିବା ପାଇଁ ହୋମ ବଟନକୁ ଦବାଇ ଧରି ରଖନ୍ତୁ।"</string>
     <string name="low_label" msgid="6525629096999711220">"କମ୍"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ସ୍ୱତଃପୂରଣ ସେବା"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ଡିଫଲ୍ଟ ଅଟୋଫିଲ ସେବା"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"ପାସୱାର୍ଡଗୁଡ଼ିକ"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାଗୁଡ଼ିକ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ଅତିରିକ୍ତ ପ୍ରଦାନକାରୀ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ପସନ୍ଦର ସେବା"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"ଅତିରିକ୍ତ ସେବା"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{#ଟି ପାସୱାର୍ଡ}other{#ଟି ପାସୱାର୍ଡ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ସ୍ୱତଃ, ପୂରଣ, ସ୍ୱତଃପୂରଣ, ପାସୱାର୍ଡ"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ଡାଟା, ପାସକୀ, ପାସୱାର୍ଡ"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ସ୍ୱତଃ, ପୂରଣ, ଅଟୋଫିଲ, ଡାଟା, ପାସକୀ, ପାସୱାର୍ଡ"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ଖୋଲନ୍ତୁ"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"କିଛି ଚୟନ କରାଯାଇନାହିଁ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ଆପଣ ଏହି ଆପ୍‌କୁ ବିଶ୍ୱାସ କରୁଥିବା ନିଶ୍ଚିତ କରନ୍ତୁ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; କ\'ଣ ଅଟୋଫିଲ୍‌ କରାଯାଇପାରିବ ନିର୍ଦ୍ଧାରଣ କରିବା ପାଇଁ, Google Autofill ଆପଣଙ୍କ ସ୍କ୍ରୀନ୍‌ରେ ଯାହା ଥାଏ, ତାହା ବ୍ୟବହାର କରେ।"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"କଣ ଅଟୋଫିଲ କରାଯାଇପାରିବ ତାହା ସ୍ଥିର କରିବାକୁ &lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଯାହା ଥାଏ ତାକୁ ବ୍ୟବହାର କରେ। ବର୍ତ୍ତମାନଠାରୁ ନୂଆ ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଅନ୍ୟ ସୂଚନା ଏଠାରେ ସେଭ ହେବ।"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାଗୁଡ଼ିକ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ବର୍ତ୍ତମାନଠାରୁ ନୂଆ ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଅନ୍ୟ ସୂଚନା ଏଠାରେ ସେଭ ହେବ। କଣ ଅଟୋଫିଲ କରାଯାଇପାରିବ ତାହା ସ୍ଥିର କରିବାକୁ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଯାହା ଥାଏ ତାକୁ ବ୍ୟବହାର କରିପାରେ।"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଅଟୋଫିଲ ପାଇଁ ପସନ୍ଦର ସେବାଗୁଡ଼ିକ"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s ବନ୍ଦ କରିବେ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ଏହି ସେବାକୁ ବନ୍ଦ କରିବେ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ଆପଣ ସାଇନ ଇନ କରିବା ସମୟରେ ପାସୱାର୍ଡ, ପାସକୀ, ପେମେଣ୍ଟ ପଦ୍ଧତି ପରି ସେଭ କରାଯାଇଥିବା ସୂଚନା ଏବଂ ଅନ୍ୟ ସୂଚନା ପୂରଣ ହେବ ନାହିଁ। ଆପଣଙ୍କ ସେଭ କରାଯାଇଥିବା ସୂଚନା ବ୍ୟବହାର କରିବାକୁ ଏକ ପାସୱାର୍ଡ, ପାସକୀ କିମ୍ବା ଡାଟା ସେବା ବାଛନ୍ତୁ।"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଅଟୋଫିଲ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ସମସ୍ତ ସେବାକୁ ବନ୍ଦ କରିବେ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ଆପଣ ସାଇନ ଇନ କଲେ ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଅନ୍ୟ ସେଭ କରାଯାଇଥିବା ସୂଚନା ଅଟୋଫିଲ ପାଇଁ ଉପଲବ୍ଧ ହେବ ନାହିଁ"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;ଆପଣଙ୍କ ପସନ୍ଦର ସେବାକୁ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt;ରେ ପରିବର୍ତ୍ତନ କରନ୍ତୁ &lt;br/&gt; ବର୍ତ୍ତମାନଠାରୁ ନୂଆ ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଅନ୍ୟ ସୂଚନାକୁ ଏଠାରେ ସେଭ କରାଯିବ। କଣ ଅଟୋଫିଲ କରାଯାଇପାରିବ ତାହା ସ୍ଥିର କରିବାକୁ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଯାହା ଥାଏ ତାକୁ ବ୍ୟବହାର କରିପାରେ"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$sକୁ ବ୍ୟବହାର କରିବେ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ବନ୍ଦ କରନ୍ତୁ"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"ଏଥିରେ ଆପଣ କେବଳ 5 ସେବା ରଖିପାରିବେ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ଅନ୍ୟ ଏକ ସେବା ଯୋଗ କରିବାକୁ ଅତି କମରେ 1 ସେବାକୁ ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"କଣ ଅଟୋଫିଲ କରାଯାଇପାରିବ ତାହା ସ୍ଥିର କରିବାକୁ %1$s ଆପଣଙ୍କ ସ୍କ୍ରିନରେ ଯାହା ଥାଏ ତାକୁ ବ୍ୟବହାର କରେ।"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାଗୁଡ଼ିକର ସୀମା"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ସମାନ ସମୟରେ ଆପଣ 5ଟି ପର୍ଯ୍ୟନ୍ତ ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାକୁ ସକ୍ରିୟ ରଖିପାରିବେ। ଅଧିକ ଯୋଗ କରିବା ପାଇଁ ଏକ ସେବାକୁ ବନ୍ଦ କରନ୍ତୁ।"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାଗୁଡ଼ିକର ସୀମା"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ସମାନ ସମୟରେ ଆପଣ 5 ପର୍ଯ୍ୟନ୍ତ ପାସୱାର୍ଡ, ପାସକୀ ଏବଂ ଡାଟା ସେବାକୁ ସକ୍ରିୟ ରଖିପାରିବେ। ଅଧିକ ଯୋଗ କରିବା ପାଇଁ ଏକ ସେବାକୁ ବନ୍ଦ କରନ୍ତୁ।"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ଅଟୋଫିଲ୍‌"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ଲଗିଂ ସ୍ତର"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ଆପ୍ କମ୍ପାଟିବିଲିଟୀ ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ କେବଳ ଡିବଗ୍ କରାଯାଇପାରୁଥିବା ଆପଗୁଡ଼ିକ ପାଇଁ ସଂଶୋଧନ କରାଯାଇପାରିବ। ଏକ ଡିବଗ୍ କରାଯାଇପାରୁଥିବା ଆପ୍ ଇନଷ୍ଟଲ୍ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ଅନ୍ୟଏକ ସେଟିଙ୍ଗ ଉପରେ ନିର୍ଭର କରିଥାଏ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ଆକାଉଣ୍ଟ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ଆକାଉଣ୍ଟ"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ଡିଭାଇସ୍‌ର ନାମ"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ମୌଳିକ ସୂଚନା"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ଆଇନଗତ ଓ ନିୟାମକ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"ଏକ NFC ଟାଗ ସ୍କାନ ହେଲେ ଲଞ୍ଚ କରିବା ପାଇଁ ଏହି ଆପକୁ ଅନୁମତି ଦିଅନ୍ତୁ।\nଯଦି ଏହି ଅନୁମତି ଚାଲୁ ଥାଏ, ତେବେ ଏକ ଟାଗ ଚିହ୍ନଟ ହେଲେ ଏହି ଆପଟି ଏକ ବିକଳ୍ପ ଭାବେ ଉପଲବ୍ଧ ହେବ।"</string>
     <string name="media_output_title" msgid="8283629315159510680">"ମିଡିଆ ଚଲାନ୍ତୁ"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"ଏଥିରେ <xliff:g id="LABEL">%s</xliff:g> ଚଲାନ୍ତୁ"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ଅଡିଓ ପ୍ଲେ ହେବ"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ଏହି ଡିଭାଇସ୍‍"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"କଲ୍ କରିବାବେଳେ ଉପଲବ୍ଧ ନଥାଏ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ଏହା ଦ୍ଵାରା କଲ୍‌ର ଉତ୍ତର ଦିଅନ୍ତୁ"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ମ୍ୟୁଟ୍ କରନ୍ତୁ"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ସକ୍ଷମ କରିବା ପାଇଁ, ପାୱାର ମେନୁରେ ପ୍ରଥମେ \"ପାୱାର ବଟନକୁ ଦବାଇ ଧରି ରଖନ୍ତୁ\"କୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ।"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ନେଟୱାର୍କ ବିବରଣୀ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ଆପଣଙ୍କ ଫୋନରେ ଥିବା ଆପ୍ସକୁ ଆପଣଙ୍କ ଡିଭାଇସର ନାମ ଦେଖାଯାଇଥାଏ। ଯେତେବେଳେ ଆପଣ ବ୍ଲୁଟୁଥ ଡିଭାଇସଗୁଡ଼ିକ ସହ, ଏକ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ସହ କନେକ୍ଟ କରନ୍ତି କିମ୍ବା ଏକ ୱାଇ-ଫାଇ ହଟସ୍ପଟ ସେଟ ଅପ କରନ୍ତି, ସେତେବେଳେ ଏହା ଅନ୍ୟ ଲୋକମାନଙ୍କୁ ମଧ୍ୟ ଦେଖାଯାଇପାରେ।"</string>
     <string name="devices_title" msgid="649715719278562515">"ଡିଭାଇସ୍‌"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ନେଟୱାର୍କ ବାଛନ୍ତୁ"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ବିଛିନ୍ନ ହୋ‍ଇଗଲା"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ନାମ"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ରଙ୍ଗ (ସୁସଙ୍ଗତ ଆପ୍ସ ଦ୍ୱାରା ବ୍ୟବହୃତ ହେଉଛି)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ସେଭ୍ କରନ୍ତୁ"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ଏହି SIM ବ୍ୟବହାର କରନ୍ତୁ"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ବନ୍ଦ ଅଛି"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ଏହି SIMକୁ ଅକ୍ଷମ କରିବା ପାଇଁ SIM କାର୍ଡକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g>କୁ ସକ୍ରିୟ କରିବା ପାଇଁ ଟାପ୍ କରନ୍ତୁ"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM ଖାଲି କରନ୍ତୁ"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ଏହି SIMକୁ ବନ୍ଦ କରିବା ପାଇଁ SIM କାର୍ଡକୁ କାଢ଼ି ଦିଅନ୍ତୁ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"ଆପଣଙ୍କ <xliff:g id="CARRIER">%1$s</xliff:g> SIMକୁ ସକ୍ରିୟ କରିବା ପାଇଁ ଟାପ କରନ୍ତୁ"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM ଇରେଜ କରନ୍ତୁ"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ପସନ୍ଦର ନେଟୱାର୍କ ପ୍ରକାର"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ନେଟ୍‌ୱର୍କ ଅପରେଟିଙ୍ଗ ମୋଡ୍‌କୁ ପରିବର୍ତ୍ତନ କରନ୍ତୁ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ପସନ୍ଦର ନେଟୱାର୍କ ପ୍ରକାର"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ମୂଲ୍ୟ ଜାଣିବା ପାଇଁ ନିଜର ନେଟ୍‌ୱର୍କ ପ୍ରଦାତାଙ୍କ ସହ ସମ୍ପର୍କ କରନ୍ତୁ।"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ଆପର ଡାଟା ବ୍ୟବହାର"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ଅବୈଧ ନେଟ୍‍ୱର୍କ ମୋଡ୍‍ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>। ଅବଜ୍ଞା କରନ୍ତୁ।"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"ସେଟେଲାଇଟ ମେସେଜିଂ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ସେଟେଲାଇଟ ମାଧ୍ୟମରେ ଟେକ୍ସଟ ମେସେଜଗୁଡ଼ିକ ପଠାନ୍ତୁ ଏବଂ ପାଆନ୍ତୁ। ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ ଅନ୍ତର୍ଭୁକ୍ତ।"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ସେଟେଲାଇଟ ମାଧ୍ୟମରେ ଟେକ୍ସଟ ମେସେଜଗୁଡ଼ିକ ପଠାନ୍ତୁ ଏବଂ ପାଆନ୍ତୁ। ଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ ଅନ୍ତର୍ଭୁକ୍ତ ହୋଇନାହିଁ।"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"ସେଟେଲାଇଟ ମେସେଜିଂ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"ସେଟେଲାଇଟ ମେସେଜିଂ ବିଷୟରେ"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"ଆପଣ ଏକ ଯୋଗ୍ୟ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ଆକାଉଣ୍ଟର ଅଂଶ ଭାବରେ ସେଟେଲାଇଟ ମାଧ୍ୟମରେ ଟେକ୍ସଟ ମେସେଜ ପଠାଇପାରିବେ ଓ ପାଇପାରିବେ"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"ଆପଣଙ୍କ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ପ୍ଲାନ"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ଆପଣଙ୍କ ଆକାଉଣ୍ଟ ସହ ସେଟେଲାଇଟ ମେସେଜିଂ ଅନ୍ତର୍ଭୁକ୍ତ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ଆପଣଙ୍କ ଆକାଉଣ୍ଟ ସହ ସେଟେଲାଇଟ ମେସେଜିଂ ଅନ୍ତର୍ଭୁକ୍ତ ନୁହେଁ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"ସେଟେଲାଇଟ ମେସେଜିଂ ଯୋଗ କରନ୍ତୁ"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ଏହା କିପରି କାମ କରେ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"ଆପଣଙ୍କର ଏକ ମୋବାଇଲ ନେଟୱାର୍କ ନଥିବା ସମୟରେ"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ଆପଣଙ୍କ ଫୋନ ଏକ ସେଟେଲାଇଟ ସହ ସ୍ୱତଃ-କନେକ୍ଟ ହେବ। ସର୍ବୋତ୍ତମ କନେକ୍ସନ ପାଇଁ ଆକାଶର ଏକ ସ୍ପଷ୍ଟ ଭ୍ୟୁ ରଖନ୍ତୁ।"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"ଆପଣଙ୍କ ଫୋନ ଏକ ସେଟେଲାଇଟରେ କନେକ୍ଟ ହେବା ପରେ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"ଜରୁରୀକାଳୀନ ସେବାଗୁଡ଼ିକ ସମେତ ଆପଣ ଯେ କୌଣସି ବ୍ୟକ୍ତିଙ୍କୁ ଟେକ୍ସଟ କରିପାରିବେ। ଉପଲବ୍ଧ ଥିଲେ ଆପଣଙ୍କ ଫୋନ ଏକ ମୋବାଇଲ ନେଟୱାର୍କ ସହ ପୁଣି କନେକ୍ଟ କରିବ।"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"ସେଟେଲାଇଟ ମେସେଜିଂ ଅଧିକ ସମୟ ନେଇପାରେ ଏବଂ ଏହା କେବଳ କିଛି ଏରିଆରେ ଉପଲବ୍ଧ, ପାଣିପାଗ ଏବଂ ନିର୍ଦ୍ଦିଷ୍ଟ ଷ୍ଟ୍ରକଚର ଆପଣଙ୍କ ସେଟେଲାଇଟ କନେକ୍ସନକୁ ପ୍ରଭାବିତ କରିପାରେ। ସେଟେଲାଇଟ ମାଧ୍ୟମରେ କଲ କରିବା ଉପଲବ୍ଧ ନାହିଁ।\n\nଆପଣଙ୍କ ଆକାଉଣ୍ଟରେ ହୋଇଥିବା ପରିବର୍ତ୍ତନଗୁଡ଼ିକୁ ସେଟିଂସରେ ଦେଖାଇବା ପାଇଁ କିଛି ସମୟ ଲାଗିପାରେ। ବିବରଣୀ ପାଇଁ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>କୁ କଣ୍ଟାକ୍ଟ କରନ୍ତୁ।"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ସେଟେଲାଇଟ ମେସେଜିଂ ବିଷୟରେ ଅଧିକ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ଆକ୍ସେସ ପଏଣ୍ଟ ନାମ"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>କୁ ସଂଯୁକ୍ତ ହୋଇଥିବା ସମୟରେ ଉପଲବ୍ଧ ନଥାଏ"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ୍ କରିବେ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM କାର୍ଡ ବ୍ୟବହାର କରିବାକୁ ସ୍ୱିଚ୍ କରିବେ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ବ୍ୟବହାର କରିବେ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ଥରକେ କେବଳ ଗୋଟିଏ SIMକୁ ସକ୍ରିୟ କରାଯାଇପାରିବ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ୍ କରିବା ଦ୍ୱାରା ଆପଣଙ୍କର <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ସେବା ବାତିଲ ହେବ ନାହିଁ।"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ଏକ ସମୟରେ କେବଳ 1ଟି eSIM ସକ୍ରିୟ ହୋଇପାରିବ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ କରିବା ଫଳରେ ଏହା ଆପଣଙ୍କ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ସେବାକୁ ବାତିଲ କରିବ ନାହିଁ।"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ଥରକେ କେବଳ ଗୋଟିଏ SIMକୁ ସକ୍ରିୟ କରାଯାଇପାରିବ।\n\nସ୍ୱିଚ୍ କରିବା ଦ୍ୱାରା ଆପଣଙ୍କର <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ସେବା ବାତିଲ ହେବ ନାହିଁ।"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ଥରକେ କେବଳ 1 SIM ଚାଲୁ କରାଯାଇପାରିବ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>କୁ ସୁଇଚ କରିବା ଫଳରେ ଏହା ଆପଣଙ୍କ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ସେବାକୁ ବାତିଲ କରିବ ନାହିଁ।"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ଥରକେ କେବଳ 1ଟି eSIM ଚାଲୁ କରାଯାଇପାରିବ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>କୁ ସୁଇଚ କରିବା ଫଳରେ ଏହା ଆପଣଙ୍କ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ସେବାକୁ ବାତିଲ କରିବ ନାହିଁ।"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ଥରକେ କେବଳ 1 SIM ଚାଲୁ କରାଯାଇପାରିବ।\n\nସୁଇଚ କରିବା ଫଳରେ ଏହା ଆପଣଙ୍କ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ସେବାକୁ ବାତିଲ କରିବ ନାହିଁ।"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ଆପଣ ଥରକେ 2ଟି SIM ବ୍ୟବହାର କରିପାରିବେ। <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ବ୍ୟବହାର କରିବା ପାଇଁ, ଅନ୍ୟ ଏକ SIM ବନ୍ଦ କରନ୍ତୁ।"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ୍ କରନ୍ତୁ"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"ଏକ SIMକୁ ବନ୍ଦ କରିବା ଫଳରେ ଆପଣଙ୍କ ସେବା ବାତିଲ ହେବ ନାହିଁ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ନେଟୱାର୍କ ସହ ସଂଯୋଗ କରାଯାଉଛି…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"କଲ ଏବଂ ମେସେଜଗୁଡ଼ିକ ପାଇଁ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ କରାଯାଉଛି…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"କ୍ୟାରିଅରକୁ ସ୍ୱିଚ୍ କରାଯାଇପାରିବ ନାହିଁ"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ଏକ ତ୍ରୁଟି ଯୋଗୁଁ କ୍ୟାରିଅରକୁ ସ୍ୱିଚ୍ କରାଯାଇପାରିବ ନାହିଁ।"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"ଆପଣଙ୍କ SIMକୁ ସକ୍ରିୟ କରାଯାଉଛି…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ରେ ସୁଇଚ କରନ୍ତୁ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIMଗୁଡ଼ିକୁ ସୁଇଚ କରାଯାଇପାରିବ ନାହିଁ"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"କିଛି ତ୍ରୁଟି ହୋଇଛି। SIMଗୁଡ଼ିକୁ ସୁଇଚ କରାଯାଇପାରିବ ନାହିଁ।"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ବନ୍ଦ କରିବେ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM ବନ୍ଦ କରିବେ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM ବନ୍ଦ କରାଯାଉଛି<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"କ୍ୟାରିଅରକୁ ଅକ୍ଷମ କରାଯାଇପାରିବ ନାହିଁ"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"କିଛି ତ୍ରୁଟି ହୋଇଥିବାରୁ ଆପଣଙ୍କ ମୋବାଇଲ କମ୍ପାନୀକୁ ଅକ୍ଷମ କରାଯାଇପାରିଲା ନାହିଁ।"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIMକୁ ବନ୍ଦ କରାଯାଇପାରିବ ନାହିଁ"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"କିଛି ତ୍ରୁଟି ହୋଇଛି ଏବଂ ଆପଣଙ୍କ SIMକୁ ବନ୍ଦ କରାଯାଇପାରିଲା ନାହିଁ।"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2ଟି SIM ବ୍ୟବହାର କରିବେ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ଏହି ଡିଭାଇସରେ ଏକ ସମୟରେ 2ଟି SIM ସକ୍ରିୟ ରହିପାରିବ। ଥରକେ 1ଟି SIM ବ୍ୟବହାର କରିବା ଜାରି ରଖିବାକୁ, \"ନା, ଧନ୍ୟବାଦ\"ରେ ଟାପ୍ କରନ୍ତୁ।"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରିବେ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ନା, ଧନ୍ୟବାଦ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ବାତିଲ କରନ୍ତୁ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ସ୍ୱିଚ୍ କରନ୍ତୁ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ବନ୍ଦ କରନ୍ତୁ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIMକୁ ସକ୍ରିୟ କରାଯାଇପାରିବ ନାହିଁ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIMକୁ ପୁଣି ଚାଲୁ କରିବାକୁ ଚେଷ୍ଟା କରନ୍ତୁ। ଯଦି ସମସ୍ୟା ଜାରି ରହେ, ତେବେ ଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରନ୍ତୁ।"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ଆପଣଙ୍କ SIMକୁ ସେଟ ଅପ କରନ୍ତୁ"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ଏହି ଡିଭାଇସରେ ଏକାଧିକ SIM ବ୍ୟବହାର କରିବା ପାଇଁ ଆପଣଙ୍କ ମୋବାଇଲ ନେଟୱାର୍କ ପସନ୍ଦଗୁଡ଼ିକୁ ସେଟ କରନ୍ତୁ"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ଆପଣଙ୍କ SIMଗୁଡ଼ିକୁ ଲେବଲ କରନ୍ତୁ"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"କଲ କରିବା, ଟେକ୍ସଟ ପଠାଇବା ଓ ଡାଟା ବ୍ୟବହାର କରିବା ସମୟରେ ଏବଂ ସେଟିଂସରେ ଆପଣ ଏହି ଲେବଲଗୁଡ଼ିକୁ ଦେଖିବେ"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM ଲେବଲ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ଲେବଲ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"କେଉଁ SIM ବ୍ୟବହାର କରିବ ଚୟନ କର"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ଆପଣ ଏକ ସମୟରେ 2 SIM ବ୍ୟବହାର କରିପାରିବେ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ଆପଣଙ୍କ ପ୍ରାଥମିକ SIM ସେଟ କରନ୍ତୁ"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"କଲ, ଟେକ୍ସଟ ଏବଂ ଡାଟା ପାଇଁ ଡିଫଲ୍ଟ ଭାବରେ କେଉଁ SIMଗୁଡ଼ିକୁ ବ୍ୟବହାର କରିବେ ତାହା ବାଛନ୍ତୁ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ଆପଣଙ୍କ ପ୍ରାଥମିକ SIMଗୁଡ଼ିକ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"କଲଗୁଡ଼ିକ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ଟେକ୍ସଟଗୁଡ଼ିକ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ସ୍ୱତଃ ଡାଟା ସୁଇଚିଂ"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"କଭରେଜ ଏବଂ ଉପଲବ୍ଧତା ଉପରେ ନିର୍ଭର କରି ଯେ କୌଣସି SIMରୁ ଡାଟା ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"କେବଳ ଡାଟା"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ସେଟ ଅପ କରନ୍ତୁ"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ପରବର୍ତ୍ତୀ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ଚାଲୁ କରାଯାଉଛି…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"ମୋବାଇଲ ନେଟୱାର୍କ"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ଫୋନ ନମ୍ବର"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM ଲେବଲ ଓ ରଙ୍ଗ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ନେଟୱାର୍କ ସକ୍ରିୟକରଣ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"କ୍ୟାରିଅର୍ ସ୍ୱିଚ୍ କରାଯାଉଛି"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ସକ୍ରିୟ ଅଛି"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ଆପଣଙ୍କ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM ସକ୍ରିୟ ଅଛି"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM ସେଟିଂସକୁ ଅପଡେଟ କରିବା ପାଇଁ ଟାପ କରନ୍ତୁ"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>କୁ ସ୍ୱିଚ୍ କରାଯାଇଛି"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"ଅନ୍ୟ ଏକ କ୍ୟାରିଅରକୁ ସ୍ୱିଚ୍ କରାଯାଇଛି"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"ଆପଣଙ୍କ ମୋବାଇଲ୍ ନେଟୱାର୍କ ବଦଳିଯାଇଛି"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"ଆପଣଙ୍କର ଅନ୍ୟ SIM ସେଟ୍ ଅପ୍ କରନ୍ତୁ"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"ଆପଣଙ୍କର ସକ୍ରିୟ SIM ବାଛନ୍ତୁ କିମ୍ବା ଥରକେ 2ଟି SIM ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ବ୍ୟବହାର କରିବାକୁ ଏକ ନମ୍ବର ବାଛନ୍ତୁ"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ଏହି ଡିଭାଇସରେ 1ଟି ନମ୍ବର ଉପଲବ୍ଧ ଅଛି, କିନ୍ତୁ ଥରକେ କେବଳ ଗୋଟିଏକୁ ବ୍ୟବହାର କରିହେବ}=2{ଏହି ଡିଭାଇସରେ 2ଟି ନମ୍ବର ଉପଲବ୍ଧ ଅଛି, କିନ୍ତୁ ଥରକେ କେବଳ ଗୋଟିଏକୁ ବ୍ୟବହାର କରିହେବ}other{ଏହି ଡିଭାଇସରେ #ଟି ନମ୍ବର ଉପଲବ୍ଧ ଅଛି, କିନ୍ତୁ ଥରକେ କେବଳ ଗୋଟିଏକୁ ବ୍ୟବହାର କରିହେବ}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"<xliff:g id="ELLIPSIS">…</xliff:g> ସକ୍ରିୟ କରାଯାଉଛି"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ବର୍ତ୍ତମାନ ସକ୍ରିୟ କରାଯାଇପାରିଲା ନାହିଁ"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ବ୍ୟବହାର କରିବାକୁ ଏକ SIM ବାଛନ୍ତୁ"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ଏହି ଡିଭାଇସରେ 1 SIM ଉପଲବ୍ଧ ଅଛି, କିନ୍ତୁ ଥରକେ କେବଳ ଗୋଟିଏ SIM ବ୍ୟବହାର କରାଯାଇପାରିବ}=2{ଏହି ଡିଭାଇସରେ 2 SIM ଉପଲବ୍ଧ ଅଛି, କିନ୍ତୁ ଥରକେ କେବଳ ଗୋଟିଏ SIM ବ୍ୟବହାର କରାଯାଇପାରିବ}other{ଏହି ଡିଭାଇସରେ # SIM ଉପଲବ୍ଧ ଅଛି, କିନ୍ତୁ ଥରକେ କେବଳ ଗୋଟିଏ SIM ବ୍ୟବହାର କରାଯାଇପାରିବ}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ଚାଲୁ କରାଯାଉଛି<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ବର୍ତ୍ତମାନ ଏହି SIMକୁ ଚାଲୁ କରାଯାଇପାରିଲା ନାହିଁ"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ବ୍ୟବହାର କରିବେ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"ମୋବାଇଲ୍ ଡାଟା, କଲ୍ ଓ SMS ପାଇଁ <xliff:g id="CARRIER_NAME">%1$s</xliff:g>କୁ ବ୍ୟବହାର କରାଯିବ।"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"କୌଣସି ସକ୍ରିୟ SIM ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"ପରବର୍ତ୍ତୀ ସମୟରେ ମୋବାଇଲ ଡାଟା, କଲ ଫିଚର ଓ SMS ବ୍ୟବହାର କରିବା ପାଇଁ ଆପଣଙ୍କ ନେଟୱାର୍କ ସେଟିଂସକୁ ଯାଆନ୍ତୁ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ଏହି eSIMକୁ ଇରେଜ କରିବେ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ଏହି SIMକୁ ଖାଲି କରିବା ଦ୍ୱାରା, ଏହି ଡିଭାଇସରୁ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ସେବାକୁ କାଢ଼ି ଦିଆଯିବ।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ପାଇଁ ସେବା ବାତିଲ୍ ହେବ ନାହିଁ।"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ଏହି ଡିଭାଇସରୁ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ସେବାକୁ ଏହା କାଢ଼ି ଦିଏ, କିନ୍ତୁ ଆପଣଙ୍କ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ପ୍ଲାନ ବାତିଲ ହେବ ନାହିଁ।"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ଖାଲି କରନ୍ତୁ"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIMକୁ ଖାଲି କରାଯାଉଛି…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIMକୁ ଖାଲି କରାଯାଇପାରିବ ନାହିଁ"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ଏକ ତ୍ରୁଟି କାରଣରୁ ଏହି SIMକୁ ଖାଲି କରାଯାଇପାରିଲା ନାହିଁ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIMକୁ ଇରେଜ କରାଯାଉଛି…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIMକୁ ଇରେଜ କରାଯାଇପାରିବ ନାହିଁ"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"କିଛି ତ୍ରୁଟି ହୋଇଛି ଏବଂ ଏହି eSIMକୁ ଇରେଜ କରାଯାଇନାହିଁ।\n\nଆପଣଙ୍କ ଡିଭାଇସକୁ ରିଷ୍ଟାର୍ଟ କରି ପୁଣି ଚେଷ୍ଟା କରନ୍ତୁ।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ଡିଭାଇସକୁୁ ସଂଯୋଗ କରନ୍ତୁ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"ଆପଣଙ୍କ ଡିଭାଇସକୁ ସଂଯୋଗ କରିବା ପାଇଁ <xliff:g id="APPNAME">%1$s</xliff:g> ଆପ୍ ଏକ ଅସ୍ଥାୟୀ ୱାଇ-ଫାଇ ନେଟୱାର୍କ ବ୍ୟବହାର କରିବାକୁ ଚାହୁଁଛି"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"କୌଣସି ଡିଭାଇସ୍ ମିଳିଲା ନାହିଁ। ସୁନିଶ୍ଚିତ ହୁଅନ୍ତୁ ଯେ ଡିଭାଇସ୍‍ ଚାଲୁ ହୋଇଛି ଏବଂ ସଂଯୋଗ କରିବା ପାଇଁ ଉପଲବ୍ଧ ଅଛି।"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"ଜରୁରୀକାଳୀନ କଲ୍"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"ଆପଣଙ୍କ ବାହକ ଦ୍ୱାରା ୱାଇ-ଫାଇ କଲିଂରେ ଜରୁରୀକାଳୀନ କଲ୍ ଉପଲବ୍ଧ ନାହିଁ।\nଏକ ଜରୁରୀକାଳୀନ କଲ୍ କରିବାକୁ ଡିଭାଇସ୍ ସ୍ୱଚାଳିତ ଭାବେ ମୋବାଇଲ୍ ନେଟ୍‌ୱାର୍କକୁ ପରିବର୍ତ୍ତନ ହୋଇଥାଏ।\nଜରୁରୀକାଳୀନ କଲ୍ କେବଳ ମୋବାଇଲ୍ ନେଟ୍‌ୱାର୍କ ଥିବା ସ୍ଥାନଗୁଡ଼ିକରେ ସମ୍ଭବ।"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"କଲ୍‌ର ମାନରେ ଉନ୍ନତି ପାଇଁ ପାଇଁ ୱାଇ-ଫାଇର ବ୍ୟବହାର କରନ୍ତୁ"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ବ୍ୟାକଅପ୍ କଲିଂ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"ଯଦି <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ଉପଲବ୍ଧ ନାହିଁ କିମ୍ବା ରୋମିଂରେ ଅଛି, ତେବେ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> କଲ୍ ପାଇଁ ଆପଣଙ୍କ ମୋବାଇଲ ଡାଟା SIM ବ୍ୟବହାର କରନ୍ତୁ।"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ବ୍ୟାକଅପ୍ କଲିଂ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ଇନକମିଂ MMS ମେସେଜ୍"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS ମେସେଜ୍ ପଠାଯାଇ ପାରିଲାନାହିଁ"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ମୋବାଇଲ୍ ଡାଟା ବନ୍ଦ ଥିବା ବେଳେ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>ରେ MMS ମେସେଜିଂ ଅନୁମତି ଦେବାକୁ ଟାପ୍ କରନ୍ତୁ"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ଆପଣଙ୍କ କାର୍ଯ୍ୟ ନୀତି ସୂଚନା"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ଆପଣଙ୍କ IT ଆଡମିନଙ୍କ ଦ୍ୱାରା ସେଟିଂସ ପରିଚାଳିତ କରାଯାଇଛି।"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K ପେଜ ସାଇଜ ସହ ବୁଟ କରନ୍ତୁ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16K ପେଜ ସାଇଜ ସମର୍ଥିତ କର୍ନେଲ ବ୍ୟବହାର କରି ଡିଭାଇସ ବୁଟ କର"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB ପେଜ କମ୍ପାଟିବଲ କର୍ନେଲ ସହ ରିବୁଟ କରିବେ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ଚେତାବନୀ: କିଛି ଆପ୍ଲିକେସନ ଏହି ମୋଡ ସହ କମ୍ପାଟିବଲ ହୋଇନପାରେ। ସୁନିଶ୍ଚିତକରଣ ପରେ ଡିଭାଇସ ରିବୁଟ ହେବ।"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB ପେଜ କମ୍ପାଟିବଲ କର୍ନେଲ ସହ ରିବୁଟ କରିବେ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"ସୁନିଶ୍ଚିତକରଣ ପରେ ଡିଭାଇସ ରିବୁଟ ହେବ।"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"କର୍ନେଲକୁ 16KB ପେଜ କମ୍ପାଟିବଲ କର୍ନେଲରେ ଅପଡେଟ କରିବାରେ ବିଫଳ ହୋଇଛି।"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ପରିବର୍ତ୍ତନକୁ ଲାଗୁ କରାଯାଉଛି"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ବଗ ରିପୋର୍ଟ ହେଣ୍ଡଲର"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ଆପଣଙ୍କ ଡିଭାଇସ୍‌ରେ କେଉଁ ଆପ୍ ବଗ୍ ରିପୋର୍ଟ ସର୍ଟକର୍ଟ ପରିଚାଳନା କରେ, ତାହା ନିର୍ଦ୍ଧାରଣ କରେ।"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ବ୍ୟକ୍ତିଗତ"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"ସେଟିଂସ ସ୍କ୍ରିନଗୁଡ଼ିକୁ ଓଭରଲେ କରିବାକୁ ସେହି ଆପ୍ସକୁ ଅନୁମତି ଦିଅନ୍ତୁ ଯାହା ଅନ୍ୟ ଆପ୍ସ ଉପରେ ଡିସପ୍ଲେ ହୋଇପାରିବ"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"ମକ ମୋଡେମକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ଇନଷ୍ଟ୍ରୁମେଣ୍ଟେସନ ପରୀକ୍ଷା ପାଇଁ ମକ ମୋଡେମ ସେବା ଚଲାଇବା ନିମନ୍ତେ ଏହି ଡିଭାଇସକୁ ଅନୁମତି ଦିଅନ୍ତୁ। ଫୋନର ସାଧାରଣ ବ୍ୟବହାର ସମୟରେ ଏହାକୁ ସକ୍ଷମ କରନ୍ତୁ ନାହିଁ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"ସ୍କ୍ରିନ ସେୟାର ସୁରକ୍ଷାଗୁଡ଼ିକୁ ଅକ୍ଷମ କରନ୍ତୁ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"ସ୍କ୍ରିନ ସେୟାରିଂ ସମୟରେ ସିଷ୍ଟମ ଦ୍ୱାରା ଲାଗୁ ହୋଇଥିବା ଆପ ଏବଂ ବିଜ୍ଞପ୍ତି ସୁରକ୍ଷାଗୁଡ଼ିକୁ ଅକ୍ଷମ କରେ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"ମିଡିଆ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"ମିଡିଆ ପ୍ଲେୟାରରେ ପିନ୍ କରନ୍ତୁ"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"ଶୀଘ୍ର ପ୍ଲେବ୍ୟାକ ପୁଣି ଆରମ୍ଭ କରିବାକୁ କ୍ୱିକ୍ ସେଟିଂସରେ ମିଡିଆ ପ୍ଲେୟାର ଖୋଲା ରହିଥାଏ"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ଲକ ସ୍କ୍ରିନରେ ମିଡିଆ ଦେଖାନ୍ତୁ"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"ଶୀଘ୍ର ପ୍ଲେବ୍ୟାକକୁ ପୁଣି ଆରମ୍ଭ କରିବା ପାଇଁ ଲକ ସ୍କ୍ରିନରେ ମିଡିଆ ପ୍ଲେୟାର ଖୋଲା ରହିଥାଏ"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"ମିଡିଆ ସୁପାରିଶଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant ମିଡିଆ ସୁପାରିଶଗୁଡ଼ିକ ଦେଖାନ୍ତୁ"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"ଆପଣଙ୍କ କାର୍ଯ୍ୟକଳାପ ଆଧାରରେ"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ପ୍ଲେୟାରକୁ ଲୁଚାନ୍ତୁ"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ପ୍ଲେୟାର୍ ଦେଖାନ୍ତୁ"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"ମିଡିଆ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"କେମେରା ସଫ୍ଟୱେର ଏକ୍ସଟେନସନଗୁଡ଼ିକୁ ଅନୁମତି ଦିଅନ୍ତୁ"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Eyes Free ଭିଡିଓଗ୍ରାଫି ପରି ଉନ୍ନତ କେମେରା ଫିଚରଗୁଡ଼ିକର ଡିଫଲ୍ଟ ସଫ୍ଟୱେର କାର୍ଯ୍ୟକାରିତାକୁ ସକ୍ଷମ କରେ।"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ବ୍ଲୁଟୁଥ୍ ଚାଲୁ ହେବ"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ଇଣ୍ଟରନେଟ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMଗୁଡ଼ିକ"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMଗୁଡ଼ିକ"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"ସକ୍ରିୟ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ନିଷ୍କ୍ରିୟ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ଚାଲୁ ଅଛି"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ବନ୍ଦ ଅଛି"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> ପାଇଁ ଡିଫଲ୍ଟ"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"କଲଗୁଡ଼ିକ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"କମ୍ପାଟିବଲ ମିଡିଆରୁ ଆସିଥିବା ଅଡିଓ ଅଧିକ ଇମର୍ସିଭ ହୋଇଥାଏ"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ହେଡ ଟ୍ରାକିଂ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ସାଉଣ୍ଡକୁ ଅଧିକ ସ୍ୱାଭାବିକ କରିବା ପାଇଁ ଆପଣ ଆପଣଙ୍କ ମୁଣ୍ଡକୁ ମୁଭ କରିବା ସମୟରେ ଅଡିଓ ପରିବର୍ତ୍ତନ ହୁଏ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ଅନୁମତିଗୁଡ଼ିକୁ ସିଙ୍କ କରନ୍ତୁ"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>ରେ ଆପଣ ଅନୁମତି ଦେଇଥିବା ସମାନ ଆପ ଅନୁମତି <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>କୁ ଦିଅନ୍ତୁ"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ଫୋନରୁ ଅନୁମତିଗୁଡ଼ିକୁ ସିଙ୍କ କରନ୍ତୁ"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ଏହି ଫୋନରେ ଆପଣ ଅନୁମତି ଦେଇଥିବା ସମାନ ଆପ ଅନୁମତି ଆପଣଙ୍କ ୱାଚକୁ ଦିଅନ୍ତୁ"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ଅଡିଓ ଡିଭାଇସ ପ୍ରକାର"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"ଅଜଣା"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ସ୍ପିକର"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"ମଧ୍ୟମ"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ଅଧିକ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ଏହି ଆପକୁ କେବଳ 1ଟି ୱିଣ୍ଡୋରେ ଖୋଲାଯାଇପାରିବ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ଚାଲୁ ଅଛି"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ବନ୍ଦ ଅଛି"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ବନ୍ଦ ଅଛି"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ବନ୍ଦ ଅଛି"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ଚାଲୁ ଅଛି"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ବନ୍ଦ ଅଛି"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ଚାଲୁ ଅଛି"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ବନ୍ଦ ଅଛି"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ଲାଇଟ ସ୍କ୍ରିନକୁ ଡାର୍କରେ ପରଣତ କରେ ଏବଂ ଡାର୍କ ସ୍କ୍ରିନକୁ ଲାଇଟରେ ପରିଣତ କରେ"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ସ୍କ୍ରିନରେ ଜୁମ ଇନ କରନ୍ତୁ"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ବନ୍ଦ ଅଛି"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ବନ୍ଦ ଅଛି"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ପ୍ରତାରଣାପୂର୍ଣ୍ଣ ଆପ୍ସ ପାଇଁ ସ୍କାନିଂ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ଫିସିଂ ପାଇଁ ଆପ କାର୍ଯ୍ୟକଳାପ ଯାଞ୍ଚ କରନ୍ତୁ"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ପ୍ରତାରଣାପୂର୍ଣ୍ଣ ଆପ୍ସ ପାଇଁ ସ୍କାନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ୱାର୍କ ପାଇଁ ପ୍ରତାରଣାପୂର୍ଣ୍ଣ ଆପ୍ସ ନିମନ୍ତେ ସ୍କାନିଂ ବ୍ୟବହାର କରନ୍ତୁ"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"ପାସୱାର୍ଡ ବର୍ତ୍ତମାନ ସେଟ ଅପ ହୋଇଛି"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"ହୋଭର କରିବା ସମୟରେ ପଏଣ୍ଟର ଦେଖାନ୍ତୁ"</string>
 </resources>
diff --git a/res/values-pa/arrays.xml b/res/values-pa/arrays.xml
index 13330f5..998b096 100644
--- a/res/values-pa/arrays.xml
+++ b/res/values-pa/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ਉਪਲਬਧ"</item>
     <item msgid="6096962300722555553">"ਰੇਂਜ-ਤੋਂ-ਬਾਹਰ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"ਬੰਦ ਹੈ"</item>
+    <item msgid="7781484297606806796">"ਯੂਨੀਕਾਸਟ"</item>
+    <item msgid="6667451574264144311">"ਯੂਨੀਕਾਸਟ ਅਤੇ ਪ੍ਰਸਾਰਨ"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ਸਿਸਟਮ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਮੁੱਲ ਵਰਤੋ: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 ਮਿੰਟ ਬਾਅਦ"</item>
     <item msgid="1574040255478150028">"5 ਮਿੰਟਾਂ ਬਾਅਦ"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-pa/strings.xml b/res/values-pa/strings.xml
index 0c7261e..d5505e3 100644
--- a/res/values-pa/strings.xml
+++ b/res/values-pa/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ਹੁਣ ਤੁਸੀਂ ਇੱਕ ਵਿਕਾਸਕਾਰ ਹੋ!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"ਕੋਈ ਲੋੜ ਨਹੀਂ, ਤੁਸੀਂ ਪਹਿਲਾਂ ਹੀ ਇੱਕ ਵਿਕਾਸਕਾਰ ਹੋ।"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"ਕਿਰਪਾ ਕਰਕੇ ਪਹਿਲਾਂ ਵਿਕਾਸਕਾਰ ਵਿਕਲਪਾਂ ਨੂੰ ਚਾਲੂ ਕਰੋ।"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"ਸਿਰਫ਼ ਪ੍ਰਸ਼ਾਸਕ ਵਰਤੋਂਕਾਰ ਹੀ ਵਿਕਾਸਕਾਰ ਸੈਟਿੰਗਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹਨ।"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ਸਿਸਟਮ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"ਸੇਵਾ ਵਿੱਚ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ਸੇਵਾ ਵਿੱਚ ਨਹੀਂ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਫੋਲਡ ਕਰਦੇ ਹੋ, ਤਾਂ ਅਗਲੀ ਡਿਸਪਲੇ ਚਾਲੂ ਹੋ ਜਾਂਦੀ ਹੈ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ਸਿਰਫ਼ ਗੇਮਾਂ ਅਤੇ ਵੀਡੀਓ ਵਗੈਰਾ ਲਈ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"ਸਕ੍ਰੀਨ ਨੂੰ ਬੰਦ ਹੋਣ ਤੋਂ ਰੋਕਣ ਵਾਲੀਆਂ ਐਪਾਂ ਦੇ ਲਈ ਅਗਲੀ ਡਿਸਪਲੇ ਚਾਲੂ ਹੋ ਜਾਂਦੀ ਹੈ"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ਜਾਰੀ ਰੱਖਣ ਲਈ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"ਆਪਣੇ ਫ਼ੋਨ ਨੂੰ ਫੋਲਡ ਕਰੋ ਅਤੇ ਐਪ ਦੀ ਵਰਤੋਂ ਜਾਰੀ ਰੱਖਣ ਲਈ ਅਗਲੀ ਡਿਸਪਲੇ \'ਤੇ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ ਜਾਂ ਸਕ੍ਰੀਨ ਲਾਕ ਹੋਣ ਲਈ ਕੁਝ ਸਕਿੰਟਾਂ ਦੀ ਉਡੀਕ ਕਰੋ"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ਕਦੇ ਵੀ ਨਹੀਂ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਫੋਲਡ ਕਰਦੇ ਹੋ, ਤਾਂ ਅਗਲੀ ਡਿਸਪਲੇ ਲਾਕ ਹੋ ਜਾਂਦੀ ਹੈ"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ਸਵੈ-ਘੁਮਾਉਣ ਵਾਲੀ ਸੈਟਿੰਗ ਵਰਤੋ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ਸੰਬੰਧਿਤ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ਰਿੰਗਟੋਨ ਅਤੇ ਅਲਾਰਮ"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ਕਾਲਾਂ ਦੌਰਾਨ ਆਡੀਓ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"ਮੀਡੀਆ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"ਸੂਚਨਾਵਾਂ ਅਤੇ ਹੋਰ ਸਿਸਟਮ ਧੁਨੀਆਂ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"ਮੀਡੀਆ ਅਤੇ ਸਿਸਟਮ ਦੀਆਂ ਧੁਨੀਆਂ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"ਸੂਚਨਾਵਾਂ"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ \'ਤੇ, ਆਡੀਓ ਆਊਟਪੁੱਟ ਨੂੰ ਵਿਅਕਤੀਗਤ ਐਪਾਂ ਮੁਤਾਬਕ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"ਬਿਨਾਂ ਨਾਮ ਦਾ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"ਖੋਜ ਰਿਹਾ ਹੈ"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ਰੱਦ ਕਰੋ"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audio ਨੂੰ ਬੰਦ ਕਰੋ"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ਡੀਵਾਈਸ ਵੱਲੋਂ LE ਆਡੀਓ ਹਾਰਡਵੇਅਰ ਸਮਰੱਥਾਵਾਂ ਦਾ ਸਮਰਥਨ ਕਰਨ \'ਤੇ Bluetooth LE Audio ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬੰਦ ਕਰਦਾ ਹੈ।"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio ਮੋਡ"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"ਡੀਵਾਈਸ ਵੇਰਵਿਆਂ ਵਿੱਚ LE ਆਡੀਓ ਟੌਗਲ ਦਿਖਾਓ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE Audio ਪ੍ਰਵਾਨਿਤ ਸੂਚੀ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE Audio ਪ੍ਰਵਾਨਿਤ ਸੂਚੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਚਾਲੂ ਕਰੋ।"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ਬਲੂਟੁੱਥ LE ਆਡੀਓ ਪ੍ਰਵਾਨਿਤ ਸੂਚੀ ਨੂੰ ਬਾਈਪਾਸ ਕਰੋ"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE ਆਡੀਓ ਨੂੰ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ \'ਤੇ ਵਰਤੋ, ਭਾਵੇਂ LE ਆਡੀਓ ਪੈਰੀਫੈਰਲ ਦੀ ਆਗਿਆ ਸੂਚੀ ਦੇ ਮਾਪਦੰਡਾਂ ਨੂੰ ਪੂਰਾ ਕਰਨ ਲਈ ਪ੍ਰਮਾਣਿਤ ਨਹੀਂ ਕੀਤਾ ਗਿਆ ਹੈ।"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"ਮੀਡੀਆ ਡੀਵਾਈਸਾਂ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ਕਾਲ ਡੀਵਾਈਸ"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ਹੋਰ ਡੀਵਾਈਸ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"ਰੱਖਿਅਤ ਕੀਤੇ ਡੀਵਾਈਸ"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ਖਾਤੇ ਨਾਲ ਸੰਬੰਧਿਤ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ਖਾਤੇ ਨਾਲ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਵੇਗਾ"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ਕਨੈਕਸ਼ਨ ਤਰਜੀਹਾਂ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ਪਹਿਲਾਂ ਤੋਂ ਕਨੈਕਟ"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਕੀਤਾ ਗਿਆ"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ਸਭ ਦੇਖੋ"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ਸਭ ਦੇਖੋ"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ਸਟਾਈਲਸ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"ਟੇਲ ਬਟਨ ਦਬਾਓ"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ਲਿਖਤ ਖੇਤਰਾਂ ਵਿੱਚ ਲਿਖੋ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ਸਟਾਈਲਸ ਨਾਲ ਦਬਾਏ ਗਏ ਸਾਰੇ ਬਟਨਾਂ ਨੂੰ ਅਣਡਿੱਠ ਕਰੋ"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ਸਟਾਈਲਸ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ਆਡੀਓ ਸਾਂਝਾਕਰਨ"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ਆਡੀਓ ਨੂੰ ਸਾਂਝਾ ਕਰੋ"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ਕਾਲ ਅਤੇ ਅਲਾਰਮ"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR ਕੋਡ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"ਕੋਈ ਨਜ਼ਦੀਕੀ ਆਡੀਓ ਸਟ੍ਰੀਮ ਨਹੀਂ ਮਿਲੀ।"</string>
     <string name="date_and_time" msgid="1788358029823431692">"ਤਾਰੀਖ ਅਤੇ ਸਮਾਂ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ਪ੍ਰੌਕਸੀ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ਕਲੀਅਰ ਕਰੋ"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"ਕੀ %s ਨੂੰ ਤਰਜੀਹੀ ਭਾਸ਼ਾਵਾਂ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰਨਾ ਹੈ?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"ਇਸ ਨਾਲ ਐਪਾਂ ਅਤੇ ਵੈੱਬਸਾਈਟਾਂ ਨੂੰ ਪਤਾ ਲੱਗਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਇਸ ਭਾਸ਼ਾ ਨੂੰ ਵੀ ਤਰਜੀਹ ਦਿੰਦੇ ਹੋ।"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀਆਂ ਸੈਟਿੰਗਾਂ ਅਤੇ ਖੇਤਰੀ ਤਰਜੀਹਾਂ ਬਦਲ ਜਾਣਗੀਆਂ।"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"ਬਦਲੋ"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ਸ਼ਨੀਵਾਰ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ਜੇ ਕੋਈ ਐਪ ਖੇਤਰੀ ਤਰਜੀਹਾਂ ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ, ਤਾਂ ਐਪ ਆਪਣੀਆਂ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਲੋਕੇਲ ਸੈਟਿੰਗਾਂ ਵਰਤੇਗੀ।"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ਭਾਸ਼ਾਈ ਤਰਜੀਹਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ।"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ਵਧੀਕ ਤਰਜੀਹਾਂ"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ਪਤੇ ਦੇ ਨਿਯਮ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"ਸੈੱਟ ਕਰੋ ਕਿ ਤੁਸੀਂ ਕਿਵੇਂ ਸੰਬੋਧਿਤ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"ਐਪਾਂ ਤੁਹਾਡੇ ਪਤੇ ਦੇ ਨਿਯਮਾਂ ਨੂੰ ਵਿਅਕਤੀਗਤ ਬਣਾਉਣ ਲਈ ਵਰਤ ਸਕਦੀਆਂ ਹਨ ਕਿ ਉਹ ਤੁਹਾਨੂੰ ਕਿਵੇਂ ਸੰਬੋਧਨ ਕਰਦੇ ਹਨ।"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"ਨਿਰਧਾਰਿਤ ਨਹੀਂ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ਇਸਤਰੀ-ਲਿੰਗ"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ਪੁਲਿੰਗ"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"ਨਿਰਪੱਖ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ਕੀ ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?}one{ਕੀ ਚੁਣੀ ਗਈ ਭਾਸ਼ਾ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?}other{ਕੀ ਚੁਣੀਆਂ ਗਈਆਂ ਭਾਸ਼ਾਵਾਂ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ਲਿਖਤ ਨੂੰ ਕਿਸੇ ਹੋਰ ਭਾਸ਼ਾ ਵਿੱਚ ਦਿਖਾਇਆ ਜਾਵੇਗਾ"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ਸਾਰੀਆਂ ਭਾਸ਼ਾਵਾਂ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ਟਿਕਾਣਾ"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ਟਿਕਾਣਾ ਵਰਤੋ"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ਬੰਦ"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ਚਾਲੂ - # ਐਪ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ}one{ਚਾਲੂ - # ਐਪ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ}other{ਚਾਲੂ - # ਐਪਾਂ ਕੋਲ ਟਿਕਾਣੇ ਤੱਕ ਪਹੁੰਚ ਹੈ}}"</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_location_off" msgid="8568995909147566720">"ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਲਈ ਟਿਕਾਣਾ ਪਹੁੰਚ ਬੰਦ ਹੈ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਕਿਸੇ ਐਮਰਜੈਂਸੀ ਨੰਬਰ \'ਤੇ ਕਾਲ ਕਰਨ ਜਾਂ ਲਿਖਤ ਸੁਨੇਹਾ ਭੇਜਣ \'ਤੇ ਹਾਲੇ ਵੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦੀ ਟਿਕਾਣਾ ਜਾਣਕਾਰੀ ਐਮਰਜੈਂਸੀ ਮਦਦਗਾਰਾਂ ਨੂੰ ਭੇਜੀ ਜਾ ਸਕਦੀ ਹੈ।"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ਟਿਕਾਣਾ ਸੈਟਿੰਗਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ।"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ਟਿਕਾਣਾ ਸੈਟਿੰਗਾਂ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ਟਿਕਾਣਾ ਪਹੁੰਚ ਨੂੰ ਬਦਲਣ ਲਈ, ਸੈਟਿੰਗਾਂ &gt; ਸੁਰੱਖਿਆ ਅਤੇ ਪਰਦੇਦਾਰੀ &gt; ਪਰਦੇਦਾਰੀ ਕੰਟਰੋਲ \'ਤੇ ਜਾਓ"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ਖਾਤੇ"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ਸੁਰੱਖਿਆ"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ਇਨਕ੍ਰਿਪਸ਼ਨ ਅਤੇ ਕ੍ਰੀਡੈਂਸ਼ੀਅਲ"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ਬਿਹਤਰੀਨ ਨਤੀਜਿਆਂ ਲਈ, Made for Google ਵੱਲੋਂ ਪ੍ਰਮਾਣਿਤ ਸਕ੍ਰੀਨ ਗਾਰਡ ਦੀ ਵਰਤੋਂ ਕਰੋ। ਦੂਜੇ ਸਕ੍ਰੀਨ ਗਾਰਡਾਂ ਨਾਲ ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਤੁਹਾਡੇ ਬੱਚੇ ਦਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਕੰਮ ਨਾ ਕਰੇ।"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ਵਾਚ ਅਣਲਾਕ"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"ਜਦੋਂ ਤੁਸੀਂ ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਦੇ ਹੋ, ਤਾਂ ਮਾਸਕ ਪਾਇਆ ਹੋਣ \'ਤੇ ਜਾਂ ਕਿਸੇ ਹਨੇਰੇ ਵਾਲੀ ਜਗ੍ਹਾ ਵਿੱਚ ਹੋਣ \'ਤੇ ਤੁਹਾਡਾ ਫ਼ੋਨ ਤੁਹਾਡੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਾਸਤੇ ਪੁੱਛੇਗਾ।\n\nਚਿਹਰੇ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਪਛਾਣ ਨਾ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਆਪਣੀ ਘੜੀ ਨਾਲ ਵੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ।"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਪਛਾਣ ਨਾ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਆਪਣੀ ਘੜੀ ਨਾਲ ਵੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ।"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"ਚਿਹਰੇ ਦੀ ਪਛਾਣ ਨਾ ਹੋਣ \'ਤੇ ਤੁਸੀਂ ਆਪਣੀ ਘੜੀ ਨਾਲ ਵੀ ਖੋਲ੍ਹ ਸਕਦੇ ਹੋ।"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"ਜਦੋਂ ਤੁਸੀਂ ਫ਼ੇਸ ਅਣਲਾਕ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ ਦਾ ਸੈੱਟਅੱਪ ਕਰਦੇ ਹੋ, ਤਾਂ ਮਾਸਕ ਪਾਇਆ ਹੋਣ \'ਤੇ ਜਾਂ ਕਿਸੇ ਹਨੇਰੇ ਵਾਲੀ ਜਗ੍ਹਾ ਵਿੱਚ ਹੋਣ \'ਤੇ ਤੁਹਾਡਾ ਫ਼ੋਨ ਤੁਹਾਡੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਵਾਸਤੇ ਪੁੱਛੇਗਾ।\n\nਵਾਚ ਅਣਲਾਕ ਤੁਹਾਡੇ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਤੁਹਾਡੀਆਂ ਉਂਗਲਾਂ ਗਿੱਲੀਆਂ ਹੁੰਦੀਆਂ ਹਨ ਜਾਂ ਚਿਹਰਾ ਪਛਾਣਿਆ ਨਾ ਗਿਆ ਹੋਵੇ।"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ਵਾਚ ਅਣਲਾਕ ਵਿਸ਼ੇਸ਼ਤਾ ਇਸ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਤੁਹਾਡੀਆਂ ਉਂਗਲਾਂ ਦੀ ਪਛਾਣ ਨਹੀਂ ਹੁੰਦੀ ਹੈ।"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ਵਾਚ ਅਣਲਾਕ ਵਿਸ਼ੇਸ਼ਤਾ ਇਸ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਤੁਹਾਡਾ ਚਿਹਰਾ ਪਛਾਣਿਆ ਨਾ ਗਿਆ ਹੋਵੇ।"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ਇਸ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਜਾਂ ਘੜੀ ਦੀ ਵਰਤੋ"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ਇਸ ਲਈ ਚਿਹਰਾ ਜਾਂ ਘੜੀ ਵਰਤੋ"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ਇਸ ਲਈ ਚਿਹਰਾ, ਫਿੰਗਰਪ੍ਰਿੰਟ ਜਾਂ ਘੜੀ ਵਰਤੋ"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ਵਾਚ ਅਣਲਾਕ ਵਿਸ਼ੇਸ਼ਤਾ ਇਸ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਦਾ ਇੱਕ ਹੋਰ ਸੁਵਿਧਾਜਨਕ ਤਰੀਕਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਜਦੋਂ ਤੁਹਾਡੀਆਂ ਉਂਗਲਾਂ ਗਿੱਲੀਆਂ ਹੋਣ ਜਾਂ ਚਿਹਰਾ ਪਛਾਣਿਆ ਨਾ ਗਿਆ ਹੋਵੇ।\n\nਤੁਸੀਂ ਇਸ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੀ ਘੜੀ ਦੀ ਵਰਤੋਂ ਉਦੋਂ ਕਰ ਸਕਦੇ ਹੋ ਜਦੋਂ ਤੁਸੀਂ:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ਹੁਣੇ ਨਹੀਂ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"ਹੋਰ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"ਇਸਦੇ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"ਤੁਹਾਡੀ ਘੜੀ ਦਾ ਅਣਲਾਕ ਹੋਣਾ, ਤੁਹਾਡੇ ਗੁੱਟ \'ਤੇ ਹੋਣਾ ਅਤੇ ਇਸ ਫ਼ੋਨ ਦੀ ਪਹੁੰਚ ਵਿੱਚ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ। ਤੁਹਾਡੀ ਘੜੀ ਦੇ ਤੁਹਾਡੇ ਗੁੱਟ \'ਤੇ ਹੋਣ ਦੌਰਾਨ ਤੁਹਾਨੂੰ ਘੜੀ ਨੂੰ ਦੁਬਾਰਾ ਅਣਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਨਹੀਂ ਪਵੇਗੀ।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ਇਸ ਫ਼ੋਨ ਦੇ ਅਣਲਾਕ ਹੋਣ \'ਤੇ, ਤੁਹਾਨੂੰ ਤੁਹਾਡੀ ਘੜੀ \'ਤੇ ਸੂਚਿਤ ਕੀਤਾ ਜਾਵੇਗਾ। ਜੇ ਇਹ ਤੁਹਾਡੀ ਮਰਜ਼ੀ ਦੇ ਬਿਨਾਂ ਅਣਲਾਕ ਹੋ ਗਿਆ ਸੀ, ਤਾਂ ਫ਼ੋਨ ਨੂੰ ਦੁਬਾਰਾ ਲਾਕ ਕਰਨ ਲਈ ਸੂਚਨਾ \'ਤੇ ਟੈਪ ਕਰੋ।"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ਕੰਟਰੋਲ ਤੁਹਾਡੇ ਹੱਥ ਵਿੱਚ ਹੈ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ਤੁਸੀਂ ਕਦੇ ਵੀ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਜਾ ਕੇ ਵਾਚ ਅਣਲਾਕ ਤੋਂ ਆਪਣੀ ਘੜੀ ਨੂੰ ਹਟਾ ਸਕਦੇ ਹੋ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"ਸੂਚਨਾ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ਆਪਣੀ ਘੜੀ ਚੁਣੋ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ਉਪਲਬਧ ਘੜੀਆਂ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ਰੱਦ ਕਰੋ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"ਤਸਦੀਕ ਕਰੋ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ਤੁਸੀਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਤਿਆਰ ਹੋ!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ਜਦੋਂ ਤੁਸੀਂ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਸਵਾਈਪ ਕਰਦੇ ਹੋ ਜਾਂ ਕਿਸੇ ਸੂਚਨਾ \'ਤੇ ਟੈਪ ਕਰਦੇ ਹੋ, ਤਾਂ ਤੁਸੀਂ ਇਸ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੀ ਘੜੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ਹੋ ਗਿਆ"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ਵਾਚ ਅਣਲਾਕ"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰ ਕੇ ਜਾਂ ਕਿਸੇ ਸੂਚਨਾ \'ਤੇ ਟੈਪ ਕਰ ਕੇ, ਤੁਸੀਂ ਇਸ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਲਈ ਆਪਣੀ ਘੜੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ਵਾਚ ਅਣਲਾਕ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ, ਤੁਹਾਡੀ ਘੜੀ ਦਾ ਅਣਲਾਕ ਹੋਣਾ, ਤੁਹਾਡੇ ਗੁੱਟ \'ਤੇ ਹੋਣਾ, ਪਹੁੰਚ ਦੇ ਅੰਦਰ ਹੋਣਾ ਅਤੇ ਇਸ ਫ਼ੋਨ ਨਾਲ ਕਨੈਕਟ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ। ਜੇ ਕਨੈਕਸ਼ਨ ਵਿੱਚ ਰੁਕਾਵਟ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਤੁਹਾਨੂੰ ਵਾਚ ਅਣਲਾਕ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਫ਼ੋਨ ਨੂੰ ਅਣਲਾਕ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ।\n\nਧਿਆਨ ਵਿੱਚ ਰੱਖੋ:\nਤੁਸੀਂ ਇੱਕ ਸਮੇਂ \'ਤੇ ਇੱਕੋ ਹੀ ਘੜੀ ਦਾ ਸੈੱਟਅੱਪ ਕਰ ਸਕਦੇ ਹੋ। ਇੱਕ ਹੋਰ ਘੜੀ ਸ਼ਾਮਲ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਮੌਜੂਦਾ ਘੜੀ ਨੂੰ ਹਟਾਓ।"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਫ਼ੇਸ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ਸੈੱਟਅੱਪ ਦੀ ਲੋੜ ਹੈ"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ਸੁਰੱਖਿਆ"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ਪਰਦੇਦਾਰੀ"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਲਾਕ ਕਰ ਕੇ ਅਦਿੱਖ ਰੱਖੋ"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਵੱਖਰੀ ਸਪੇਸ ਵਿੱਚ ਰੱਖੋ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਲੁਕਾ ਜਾਂ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਾਕ"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"ਤੁਸੀਂ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਦੇ ਹੋ, ਜਾਂ ਕੋਈ ਵੱਖਰਾ ਲਾਕ ਚੁਣੋ"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ਡੀਵਾਈਸ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ਚਿਹਰਾ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ਫ਼ੇਸ ਅਣਲਾਕ"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"ਸੈੱਟਅੱਪ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਈ ਫਿੰਗਰਪ੍ਰਿੰਟ ਅਣਲਾਕ"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਈ ਫ਼ੇਸ ਅਣਲਾਕ"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"ਅਣਲਾਕ ਕਰਨ ਦੇ ਤਰੀਕੇ"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"ਡੀਵਾਈਸ ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਗਾ"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ਕੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲਈ ਨਵਾਂ ਲਾਕ ਚੁਣਨਾ ਹੈ?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਆਪਣੇ ਆਪ ਲਾਕ ਹੋਣ ਦੀ ਸੁਵਿਧਾ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"ਜੇ ਤੁਸੀਂ ਕੁਝ ਸਮੇਂ ਲਈ ਆਪਣੇ ਡੀਵਾਈਸ ਦੀ ਵਰਤੋਂ ਨਹੀਂ ਕੀਤੀ ਹੈ, ਤਾਂ ਤੁਹਾਡੇ ਕੋਲ ਇਹ ਵਿਕਲਪ ਹੈ ਕਿ ਤੁਹਾਡੀ ਨਿੱਜੀ ਸਪੇਸ ਆਪਣੇ ਆਪ ਲਾਕ ਹੋ ਜਾਵੇਗੀ"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ਹਰ ਵਾਰ ਡੀਵਾਈਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"ਅਕਿਰਿਆਸ਼ੀਲਤਾ ਦੇ 5 ਮਿੰਟ ਬਾਅਦ"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ਕਦੇ ਵੀ ਨਹੀਂ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ਲਾਕ ਹੋਣ \'ਤੇ ਲੁਕਾਓ"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ਲਾਕ ਹੋਣ \'ਤੇ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਲੁਕਾਓ"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ਹੋਰ ਲੋਕਾਂ ਤੋਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦੀ ਮੌਜੂਦਗੀ ਨੂੰ ਲੁਕਾਉਣ ਲਈ, ਤੁਸੀਂ ਇਸਨੂੰ ਆਪਣੀ ਐਪ ਸੂਚੀ ਤੋਂ ਲੁਕਾ ਸਕਦੇ ਹੋ"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"ਲੁਕੀ ਹੋਈ ਹੋਣ \'ਤੇ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰੋ"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ਆਪਣੀ ਐਪ ਸੂਚੀ ਤੋਂ, ਖੋਜ ਪੱਟੀ ਵਿੱਚ \"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ\" ਦਾਖਲ ਕਰੋ"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਟਾਇਲ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ਬੰਦ ਹੈ"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ਚਾਲੂ ਹੈ"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ਸਿਸਟਮ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਮਿਟਾਓ"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ਕੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਵਿੱਚੋਂ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਸਾਰੀਆਂ ਐਪਾਂ ਅਤੇ ਦਾਦੇ ਨੂੰ ਮਿਟਾ ਦਿੱਤੇ ਜਾਣਗੇ। ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ਅੱਗੇ ਦਿੱਤੇ ਖਾਤਿਆਂ ਨੂੰ ਤੁਹਾਡੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਵਿੱਚੋਂ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ਮਿਟਾਓ"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"ਇਸ ਵਿੱਚ ਕੁਝ ਪਲ ਲੱਗਣਗੇ"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਮਿਟਾਇਆ ਗਿਆ"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਿਆ"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਅਣਲਾਕ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਵਰਤਣ ਲਈ, ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ਸਕ੍ਰੀਨ ਲਾਕ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ਰੱਦ ਕਰੋ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ਰੱਦ ਕਰੋ"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ਸੈੱਟਅੱਪ ਕਰੋ"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"ਨਿੱਜੀ ਐਪਾਂ ਨੂੰ ਵੱਖਰੀ ਸਪੇਸ ਵਿੱਚ ਰੱਖੋ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਲੁਕਾ ਜਾਂ ਲਾਕ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ਇਸਦੇ ਕੰਮ ਕਰਨ ਦਾ ਤਰੀਕਾ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ਤੁਸੀਂ ਆਪਣੀ ਐਪਾਂ ਦੀ ਸੂਚੀ ਦੇ ਹੇਠਾਂ ਦਿੱਤੀ ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ਨਿੱਜੀ ਸਪੇਸ ਵਿਚਲੀਆਂ ਐਪਾਂ ਨੂੰ ਲਾਕ ਨਾਲ ਸੁਰੱਖਿਅਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ਨਿੱਜੀ ਸਪੇਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ, ਨਿੱਜੀ ਸਪੇਸ ਵਿੱਚ ਮੌਜੂਦ ਐਪਾਂ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਲੁਕੀਆਂ ਹੁੰਦੀਆਂ ਹਨ"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"ਤੁਹਾਡੀ ਨਿੱਜੀ ਸਪੇਸ ਲਾਕ ਹੋਣ \'ਤੇ ਇਜਾਜ਼ਤ ਪ੍ਰਬੰਧਕ, ਪਰਦੇਦਾਰੀ ਸੰਬੰਧੀ ਡੈਸ਼ਬੋਰਡ, ਅਤੇ ਹੋਰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਨਿੱਜੀ ਸਪੇਸ ਵਿਚਲੀਆਂ ਐਪਾਂ ਦਿਖਾਈ ਨਹੀਂ ਦੇਣਗੀਆਂ।\n\nਤੁਹਾਡੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਨਵੇਂ ਡੀਵਾਈਸ \'ਤੇ ਨਹੀਂ ਲਿਜਾਇਆ ਜਾ ਸਕਦਾ। ਜੇ ਤੁਸੀਂ ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਕਿਸੇ ਹੋਰ ਡੀਵਾਈਸ \'ਤੇ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਤੁਹਾਨੂੰ ਇੱਕ ਹੋਰ ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕਰਨ ਦੀ ਲੋੜ ਪਵੇਗੀ।\n\nਜਦੋਂ ਕੋਈ ਵਿਅਕਤੀ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਕਿਸੇ ਕੰਪਿਊਟਰ ਨਾਲ ਕਨੈਕਟ ਕਰਦਾ ਹੈ ਜਾਂ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਨੁਕਸਾਨਦੇਹ ਐਪਾਂ ਸਥਾਪਤ ਕਰਦਾ ਹੈ, ਤਾਂ ਉਹ ਤੁਹਾਡੀ ਨਿੱਜੀ ਸਪੇਸ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ਨਿੱਜੀ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦੇ ਲਾਕ ਹੋਣ \'ਤੇ, ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਐਪਾਂ ਦੀਆਂ ਸੂਚਨਾਵਾਂ ਲੁਕੀਆਂ ਹੁੰਦੀਆਂ ਹਨ"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ਫ਼ੋਟੋਆਂ ਜਾਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਸਾਂਝਾ ਕਰਨ ਲਈ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨੂੰ ਅਣਲਾਕ ਕਰੋ"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"ਤੁਹਾਡੀ ਨਿੱਜੀ ਸਪੇਸ ਵਿੱਚ ਕੁਝ ਐਪਾਂ ਪਹਿਲਾਂ ਹੀ ਸਥਾਪਤ ਕੀਤੀਆਂ ਹੋਈਆਂ ਹਨ"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਦਾ ਸੈੱਟਅੱਪ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ਕੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਸਕ੍ਰੀਨ ਲਾਕ ਨਾਲ ਅਣਲਾਕ ਕਰਨਾ ਹੈ?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"ਤੁਸੀਂ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਉਸੇ ਤਰੀਕੇ ਨਾਲ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਜਿਸ ਤਰ੍ਹਾਂ ਤੁਸੀਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਅਣਲਾਕ ਕਰਦੇ ਹੋ ਜਾਂ ਕੋਈ ਵੱਖਰਾ ਲਾਕ ਚੁਣੋ"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ਸਕ੍ਰੀਨ ਲਾਕ ਵਰਤੋ"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"ਨਵਾਂ ਲਾਕ ਚੁਣੋ"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"ਸਭ ਹੋ ਗਿਆ!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਲੱਭਣ ਲਈ, ਆਪਣੀ ਐਪ ਸੂਚੀ \'ਤੇ ਜਾ ਕੇ ਹੇਠਾਂ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ਹੋ ਗਿਆ"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਲੱਭਣ ਲਈ ਹੇਠਾਂ ਵੱਲ ਸਕ੍ਰੋਲ ਕਰੋ"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ਸਾਈਨ-ਇਨ ਕਰੋ"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ਆਪਣੀ ਪ੍ਰਾਈਵੇਟ ਸਪੇਸ ਨਾਲ ਵਰਤਣ ਲਈ ਖਾਤੇ ਵਿੱਚ ਸਾਈਨ-ਇਨ ਕਰੋ"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ਹਾਲੇ ਨਹੀਂ"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ਜਾਰੀ ਰੱਖੋ"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਲਾਕ ਚੁਣੋ"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"ਤੁਸੀਂ ਆਪਣੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਨੂੰ ਅਣਲਾਕ ਕਰ ਸਕਦੇ ਹੋ। ਸੁਰੱਖਿਆ ਲਈ, ਇਸ ਵਿਕਲਪ ਨੂੰ ਬੈਕਅੱਪ ਲਾਕ ਦੀ ਲੋੜ ਹੈ।"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਪਿੰਨ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਪਾਸਵਰਡ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ਆਪਣੀ ਨਿੱਜੀ ਸਪੇਸ ਲਈ ਪੈਟਰਨ ਸੈੱਟ ਕਰੋ"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"ਤੁਸੀਂ <xliff:g id="COUNT">%d</xliff:g> ਤੱਕ ਫਿੰਗਰਪ੍ਰਿੰਟ ਸ਼ਾਮਲ ਕਰ ਸਕਦੇ ਹੋ"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ਤੁਸੀਂ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਦੀ ਅਧਿਕਤਮ ਸੰਖਿਆ ਨੂੰ ਸ਼ਾਮਲ ਕੀਤਾ ਹੋਇਆ ਹੈ"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"ਹੋਰ ਫਿੰਗਰਪ੍ਰਿੰਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ਪੈਟਰਨ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"ਪਿੰਨ"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"ਪਾਸਵਰਡ"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"ਕੀ ਸਕ੍ਰੀਨ ਲਾਕ ਮਿਟਾਉਣਾ ਹੈ?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"ਕੀ ਸਾਰੇ ਕਿਸਮ ਦੇ ਡੀਵਾਈਸ ਅਣਲਾਕ ਨੂੰ ਹਟਾਉਣਾ ਹੈ?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ਕੀ ਪ੍ਰੋਫਾਈਲ ਰੱਖਿਆ ਹਟਾਉਣੀ ਹੈ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪੈਟਰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟੋਰ ਕੀਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਡੇ ਚਿਹਰੇ ਦਾ ਮਾਡਲ ਵੀ ਪੱਕੇ ਤੌਰ \'ਤੇ ਅਤੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਤੁਸੀਂ ਐਪਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਆਪਣਾ ਚਿਹਰਾ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਹੀਂ ਵਰਤ ਸਕੋਗੇ।"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"ਤੁਸੀਂ ਆਪਣੇ ਪਿੰਨ ਵਰਗੇ ਰੱਖਿਅਤ ਕੀਤੇ ਡਾਟੇ ਨੂੰ ਗੁਆ ਬੈਠੋਗੇ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>\'ਸੰਪਰਕ-ਰਹਿਤ ਭੁਗਤਾਨ\' ਲਈ ਸੈੱਟ ਕੀਤੇ ਕਾਰਡ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ਅਤੇ ਹੋਰ ਐਪਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਡੀਵਾਈਸ ਅਣਲਾਕ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਉਹ ਸ਼ਾਇਦ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ।"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟੋਰ ਕੀਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਮਾਡਲ ਨੂੰ ਵੀ ਮਿਟਾ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਐਪਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਆਪਣਾ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਹੀਂ ਵਰਤ ਸਕੋਗੇ।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"ਤੁਸੀਂ ਆਪਣੇ ਪਿੰਨ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੇ ਮਾਡਲ ਵਰਗੇ ਰੱਖਿਅਤ ਕੀਤੇ ਡਾਟੇ ਨੂੰ ਗੁਆ ਬੈਠੋਗੇ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>\'ਸੰਪਰਕ-ਰਹਿਤ ਭੁਗਤਾਨ\' ਲਈ ਸੈੱਟ ਕੀਤੇ ਕਾਰਡ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ਅਤੇ ਹੋਰ ਐਪਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਡੀਵਾਈਸ ਅਣਲਾਕ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਉਹ ਸ਼ਾਇਦ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ਤੁਹਾਡੇ ਚਿਹਰੇ ਦਾ ਮਾਡਲ ਵੀ ਪੱਕੇ ਤੌਰ \'ਤੇ ਅਤੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਤੁਸੀਂ ਐਪਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਆਪਣਾ ਚਿਹਰਾ ਨਹੀਂ ਵਰਤ ਸਕੋਗੇ।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"ਤੁਸੀਂ ਆਪਣੇ ਪਿੰਨ ਅਤੇ ਚਿਹਰੇ ਦੇ ਮਾਡਲ ਵਰਗੇ ਰੱਖਿਅਤ ਕੀਤੇ ਡਾਟੇ ਨੂੰ ਗੁਆ ਬੈਠੋਗੇ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>\'ਸੰਪਰਕ-ਰਹਿਤ ਭੁਗਤਾਨ\' ਲਈ ਸੈੱਟ ਕੀਤੇ ਕਾਰਡ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ਅਤੇ ਹੋਰ ਐਪਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਡੀਵਾਈਸ ਅਣਲਾਕ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਉਹ ਸ਼ਾਇਦ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ।"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਿੰਨ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ਇਹ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਸਟੋਰ ਕੀਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਮਾਡਲ ਨੂੰ ਮਿਟਾ ਦਿੰਦਾ ਹੈ। ਤੁਹਾਡੇ ਚਿਹਰੇ ਦਾ ਮਾਡਲ ਵੀ ਪੱਕੇ ਤੌਰ \'ਤੇ ਅਤੇ ਸੁਰੱਖਿਅਤ ਤਰੀਕੇ ਨਾਲ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਤੁਸੀਂ ਐਪਾਂ ਵਿੱਚ ਪ੍ਰਮਾਣੀਕਰਨ ਲਈ ਆਪਣਾ ਚਿਹਰਾ ਜਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨਹੀਂ ਵਰਤ ਸਕੋਗੇ।"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"ਤੁਸੀਂ ਆਪਣੇ ਪਿੰਨ, ਚਿਹਰੇ ਦੇ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਦੇ ਮਾਡਲ ਵਰਗੇ ਰੱਖਿਅਤ ਕੀਤੇ ਡਾਟੇ ਨੂੰ ਗੁਆ ਬੈਠੋਗੇ।<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>\'ਸੰਪਰਕ-ਰਹਿਤ ਭੁਗਤਾਨ\' ਲਈ ਸੈੱਟ ਕੀਤੇ ਕਾਰਡ ਹਟਾ ਦਿੱਤੇ ਜਾਣਗੇ।<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Wallet ਅਤੇ ਹੋਰ ਐਪਾਂ ਜਿਨ੍ਹਾਂ ਨੂੰ ਡੀਵਾਈਸ ਅਣਲਾਕ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ, ਉਹ ਸ਼ਾਇਦ ਸਹੀ ਢੰਗ ਨਾਲ ਕੰਮ ਨਾ ਕਰਨ।"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਗੁਆਚਣ ਜਾਂ ਚੋਰੀ ਹੋਣ \'ਤੇ ਪਾਸਵਰਡ ਇਸਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਦਾ ਹੈ।<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"ਬਲੂਟੁੱਥ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"ਬਲੂਟੁੱਥ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"ਕੀ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ਦੇ ਨਾਲ ਜੋੜਾਬੱਧ ਕਰਨਾ ਹੈ?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"ਤਾਲ-ਮੇਲ ਵਾਲੇ ਮੌਜੂਦਾ ਸੈੱਟ ਵਿੱਚ ਨਵੇਂ ਮੈਂਬਰ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ਆਪਣੇ ਆਡੀਓ ਡੀਵਾਈਸ ਦੇ ਦੂਜੇ ਹਿੱਸੇ ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਤਸਦੀਕ ਕਰੋ"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"ਬਲੂਟੁੱਥ ਜੋੜਾਬੱਧਕਰਨ ਕੋਡ"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"ਜੋੜਾਬੱਧ ਕਰਨ ਦਾ ਕੋਡ ਟਾਈਪ ਕਰੋ ਫਿਰ ਵਾਪਸ ਜਾਓ ਜਾਂ ਦਾਖਲ ਕਰੋ ਨੂੰ ਦਬਾਓ"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"ਪਿੰਨ ਵਿੱਚ ਅੱਖਰ ਜਾਂ ਚਿੰਨ੍ਹ ਹਨ"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 ਅੰਕਾਂ ਦਾ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ਤੁਹਾਨੂੰ ਹੋਰ ਡੀਵਾਈਸ ਤੇ ਇਹ ਪਿੰਨ ਟਾਈਪ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ਤੁਹਾਨੂੰ ਹੋਰ ਡੀਵਾਈਸ ਤੇ ਵੀ ਇਹ ਪਾਸਕੁੰਜੀ ਟਾਈਪ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ।"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ਤਾਲ-ਮੇਲ ਵਾਲੇ ਸੈੱਟ ਨਾਲ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਤਸਦੀਕ ਕਰੋ"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ਆਡੀਓ ਡੀਵਾਈਸ ਨਾਲ ਜੋੜਾਬੱਧ ਕਰਨ ਲਈ ਤਸਦੀਕ ਕਰੋ"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ਆਪਣੇ ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ \'ਤੇ ਪਹੁੰਚ ਕਰਨ ਦਿਓ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"ਸੰਪਰਕਾਂ ਅਤੇ ਕਾਲ ਇਤਿਹਾਸ ਤੱਕ ਵੀ ਪਹੁੰਚ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਾਲ ਘੋਸ਼ਣਾਵਾਂ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ਨਾਲ ਕਨੈਕਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"ਉਪਲਬਧ ਡੀਵਾਈਸ"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ਡਿਸਕਨੈਕਟ ਕਰੋ"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ਜੋੜਾਬੱਧ ਕਰਕੇ ਕਨੈਕਟ ਕਰੋ"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਕਰਨ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਦੂਜੇ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਣ \'ਤੇ, ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਹੋਰ ਨਜ਼ਦੀਕੀ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।\n\nਡੀਵਾਈਸ ਦੇ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ, ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਕਿਸੇ ਵੇਲੇ ਵੀ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਲਈ ਸਕੈਨ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਭਾਵੇਂ ਬਲੂਟੁੱਥ ਬੰਦ ਹੀ ਕਿਉਂ ਨਾ ਹੋਵੇ। ਇਸ ਦੀ ਵਰਤੋਂ ਟਿਕਾਣਾ-ਆਧਾਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਵਰਗੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਤੁਸੀਂ ਇਸ ਨੂੰ ਬਲੂਟੁੱਥ ਸਕੈਨਿੰਗ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਬਦਲ ਸਕਦੇ ਹੋ।"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"ਬਦਲੋ"</string>
     <string name="device_details_title" msgid="1155622417516195481">"ਡੀਵਾਈਸ ਦੇ ਵੇਰਵੇ"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ਡੀਬੱਗਯੋਗ ਐਪਾਂ ਲਈ ART ਨੂੰ ਬਾਈਟਕੋਡ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਦਿਓ"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ਰਿਫ੍ਰੈਸ਼ ਦਰ ਦਿਖਾਓ"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ਹਾਲੀਆ ਡਿਸਪਲੇ ਦੀ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਦਿਖਾਓ"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR ਅਨੁਪਾਤ ਦਿਖਾਓ"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ਮੌਜੂਦਾ HDR/SDR ਅਨੁਪਾਤ ਦਿਖਾਓ"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ਲਈ ਡੀਵਾਈਸ ਦਾ ਅਣਲਾਕ ਹੋਣਾ ਲੋੜੀਂਦਾ ਹੈ"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android ਬੀਮ"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ਏਅਰਪਲੇਨ ਮੋਡ ਵਿੱਚ"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"ਜਨਤਕ ਨੈੱਟਵਰਕਾਂ ਲਈ ਸੂਚਿਤ ਕਰੋ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ਬਿਹਤਰੀਨ ਕੁਆਲਿਟੀ ਵਾਲਾ ਕੋਈ ਜਨਤਕ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਹੋਣ \'ਤੇ ਸੂਚਿਤ ਕਰੋ"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ਨੈੱਟਵਰਕਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ਇੱਕ ਪੁਰਾਣਾ ਸੁਰੱਖਿਆ ਪ੍ਰੋਟੋਕੋਲ ਹੈ, ਜੋ ਘੱਟ ਸੁਰੱਖਿਅਤ ਹੈ"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"ਤੁਹਾਡਾ ਕੈਰੀਅਰ WEP ਨੈੱਟਵਰਕਾਂ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ, ਕਿਉਂਕਿ ਉਹ ਘੱਟ ਸੁਰੱਖਿਅਤ ਹਨ"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਵਾਈ‑ਫਾਈ ਚਾਲੂ ਕਰੋ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"ਤੁਹਾਡੇ ਘਰੇਲੂ ਨੈੱਟਵਰਕ ਵਰਗੇ ਬਿਹਤਰੀਨ ਕੁਆਲਿਟੀ ਵਾਲੇ ਰੱਖਿਅਤ ਕੀਤੇ ਨੈੱਟਵਰਕਾਂ ਦੇ ਨੇੜੇ ਹੋਣ \'ਤੇ ਵਾਈ-ਫਾਈ ਦੁਬਾਰਾ ਚਾਲੂ ਹੋ ਜਾਵੇਗਾ"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ਅਣਉਪਲਬਧ ਕਿਉਂਕਿ ਟਿਕਾਣਾ ਬੰਦ ਹੈ। "<annotation id="link">"ਟਿਕਾਣਾ"</annotation>" ਚਾਲੂ ਕਰੋ।"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"ਵਾਈ-ਫਾਈ ਸਕੈਨਿੰਗ ਐਪਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਨੂੰ ਕਿਸੇ ਵੇਲੇ ਵੀ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕਾਂ ਲਈ ਸਕੈਨ ਕਰਨ ਦਿੰਦੀ ਹੈ, ਭਾਵੇਂ ਵਾਈ-ਫਾਈ ਬੰਦ ਹੋਵੇ। ਉਦਾਹਰਨ ਲਈ, ਇਸਦੀ ਵਰਤੋਂ ਕਰਕੇ ਟਿਕਾਣਾ-ਆਧਾਰਿਤ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ ਸੇਵਾਵਾਂ ਵਰਗੀਆਂ ਚੀਜ਼ਾਂ ਨੂੰ ਬਿਹਤਰ ਬਣਾਇਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ਚਾਲੂ ਕਰੋ"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"ਵਾਈ-ਫਾਈ ਸਕੈਨਿੰਗ ਚਾਲੂ ਕੀਤੀ ਗਈ ਹੈ"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ਇਹ ਨੈੱਟਵਰਕ ਇੱਕ ਪੁਰਾਣੇ ਸੁਰੱਖਿਆ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜੋ ਘੱਟ ਸੁਰੱਖਿਅਤ ਹੈ"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ਨੂੰ ਬਲਾਕ ਕੀਤਾ ਗਿਆ ਹੈ"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ਇਹ ਨੈੱਟਵਰਕ WEP ਨਾਮ ਦੇ ਕਿਸੇ ਪੁਰਾਣੇ ਸੁਰੱਖਿਆ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜੋ ਘੱਟ ਸੁਰੱਖਿਅਤ ਹੈ। ਫਿਰ ਵੀ ਕਨੈਕਟ ਕਰਨ ਲਈ, ਤੁਸੀਂ WEP ਨੈੱਟਵਰਕਾਂ ਦੀ ਆਗਿਆ ਦੇ ਸਕਦੇ ਹੋ।"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ਤੁਹਾਡਾ ਕੈਰੀਅਰ ਤੁਹਾਨੂੰ ਇਸ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਦੀ ਆਗਿਆ ਨਹੀਂ ਦਿੰਦਾ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਕਿਸੇ ਪੁਰਾਣੇ ਸੁਰੱਖਿਆ ਪ੍ਰੋਟੋਕੋਲ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ, ਜੋ ਘੱਟ ਸੁਰੱਖਿਅਤ ਹੈ"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ਬੰਦ ਕਰੋ"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ਅਡਵਾਂਸ ਵਿਕਲਪ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ਡ੍ਰੌਪ-ਡਾਊਨ ਸੂਚੀ ਦੇ ਉੱਨਤ ਵਿਕਲਪ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ਵਿਸਤਾਰ ਕਰੋ"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"ਵਾਈ‑ਫਾਈ \'ਤੇ ਬਣੇ ਰਹੋ"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ਕਦੇ ਦੁਬਾਰਾ ਨਾ  ਦਿਖਾਓ"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"ਕਨੈਕਟ ਕਰੋ"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"ਵਾਈ‑ਫਾਈ ਚਾਲੂ ਕੀਤਾ ਗਿਆ"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੈ"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"ਕਨੈਕਟ ਹੋ ਰਿਹਾ ਹੈ…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ਨੈੱਟਵਰਕ ਕਨੈਕਟ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ਨੈੱਟਵਰਕ ਰੇਂਜ ਵਿੱਚ ਨਹੀਂ ਹੈ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ਭੁੱਲ ਜਾਓ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ਸੋਧੋ"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ਨੈੱਟਵਰਕ ਛੱਡਣ ਵਿੱਚ ਅਸਫਲ"</string>
     <string name="wifi_save" msgid="2312643132472226807">"ਰੱਖਿਅਤ ਕਰੋ"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ਨੈੱਟਵਰਕ ਰੱਖਿਅਤ ਕਰਨ ਵਿੱਚ ਅਸਫਲ"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ਰੱਦ ਕਰੋ"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"ਵਾਈ‑ਫਾਈ"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ਮੋਬਾਈਲ ਡਾਟਾ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ਈਥਰਨੈੱਟ"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ਚਾਰਜ ਹੋ ਰਹੀ ਹੈ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ਹੌਟਸਪੌਟ ਕਨੈਕਸ਼ਨ"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"ਕਨੈਕਸ਼ਨ ਦੀ ਤੀਬਰਤਾ"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"ਰੱਖਿਅਤ ਕੀਤੇ ਨੈੱਟਵਰਕ"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"ਕੋਈ ਪਾਸਵਰਡ ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ਹੌਟਸਪੌਟ ਦਾ ਨਾਮ"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ਹੌਟਸਪੌਟ ਪਾਸਵਰਡ"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP ਬੈਂਡ"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ਹੌਟਸਪੌਟ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਬੰਦ ਕਰੋ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"ਜਦੋਂ ਕੋਈ ਡੀਵਾਈਸ ਕਨੈਕਟ ਨਾ ਹੋਵੇ"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"ਅਨੁਰੂਪਤਾ ਵਧਾਓ"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"ਸਫ਼ੈਦ ਸੰਤੁਲਨ ਦਿਖਾਓ"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ਫੋਲਡ ਕਰਨ \'ਤੇ ਵੀ ਐਪਾਂ ਨੂੰ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖੋ"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ਸਮੂਥ ਡਿਸਪਲੇ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕੁਝ ਸਮੱਗਰੀਆਂ ਲਈ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਨੂੰ 60 ਤੋਂ ਵਧਾ ਕੇ <xliff:g id="ID_1">%1$s</xliff:g> Hz ਕਰ ਦਿੰਦਾ ਹੈ। ਬੈਟਰੀ ਵਰਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ।"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ਗੇਮਾਂ ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਫ੍ਰੇਮ ਰੇਟ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz \'ਤੇ ਗੇਮਾਂ ਲਈ ਵੱਧ ਤੋਂ ਵੱਧ ਫ੍ਰੇਮ ਰੇਟ ਨੂੰ ਸੀਮਤ ਕਰਨ ਨੂੰ ਬੰਦ ਕਰੋ।"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"ਸਮੂਥ ਡਿਸਪਲੇ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਕੁਝ ਸਮੱਗਰੀ ਲਈ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਨੂੰ ਵਧਾ ਕੇ <xliff:g id="ID_1">%1$d</xliff:g> Hz ਤੱਕ ਕਰ ਦਿੰਦੀ ਹੈ। ਬੈਟਰੀ ਵਰਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ।"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ਉੱਚ ਰਿਫ੍ਰੈਸ਼ ਦਰ ਸੈੱਟ ਕਰੋ"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"ਬਿਹਤਰ ਸਪਰਸ਼ ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਐਨੀਮੇਸ਼ਨ ਕੁਆਲਿਟੀ ਲਈ ਉੱਚਤਮ ਰਿਫ੍ਰੈਸ਼ ਦਰ। ਬੈਟਰੀ ਵਰਤੋਂ ਵੱਧ ਜਾਂਦੀ ਹੈ।"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"ਸਕ੍ਰੀਨ ਦਾ ਚੌਕੰਨਾਪਣ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\'ਸਕ੍ਰੀਨ ਦਾ ਚੌਕੰਨਾਪਣ\' ਵਿਸ਼ੇਸ਼ਤਾ ਅਗਲੇ ਕੈਮਰੇ ਦੀ ਵਰਤੋਂ ਨਾਲ ਪਤਾ ਲਗਾਉਂਦੀ ਹੈ ਕਿ ਕੋਈ ਸਕ੍ਰੀਨ ਵੱਲ ਦੇਖ ਰਿਹਾ ਹੈ ਜਾਂ ਨਹੀਂ। ਇਹ ਡੀਵਾਈਸ \'ਤੇ ਕੰਮ ਕਰਦੀ ਹੈ ਅਤੇ ਚਿੱਤਰ ਕਦੇ ਸਟੋਰ ਨਹੀਂ ਕੀਤੇ ਜਾਂਦੇ ਜਾਂ Google ਨੂੰ ਭੇਜੇ ਨਹੀਂ ਜਾਂਦੇ।"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"ਸਕ੍ਰੀਨ ਦਾ ਚੌਕੰਨਾਪਣ ਚਾਲੂ ਕਰੋ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"ਸਕ੍ਰੀਨ ਵੱਲ ਦੇਖਦੇ ਸਮੇਂ ਇਸਨੂੰ ਚਾਲੂ ਰੱਖੋ"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ਸਕ੍ਰੀਨ ਸਮਾਂ ਸਮਾਪਤੀ ਦੀ ਜ਼ਿਆਦਾ ਮਿਆਦ ਹੋਣ ਨਾਲ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਜਾਂਦੀ ਹੈ।"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"ਕੈਮਰਾ ਲਾਕ ਹੈ"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ਚਿਹਰਾ ਪਛਾਣ ਲਈ ਕੈਮਰੇ ਨੂੰ ਅਣਲਾਕ ਕੀਤਾ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ਸਕ੍ਰੀਨ ਦੇ ਚੌਕੰਨੇਪਣ ਦੇ ਲਈ ਕੈਮਰੇ ਨੂੰ ਲਾਜ਼ਮੀ ਤੌਰ \'ਤੇ ਅਣਲਾਕ ਕੀਤਾ ਜਾਣਾ ਚਾਹੀਦਾ ਹੈ"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ਸਿਮ ਸਲੌਟ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ਸਿਮ ਸਲੌਟ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ਮੁੱਖ)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"ਦੇਖਣ ਲਈ, ਰੱਖਿਅਤ ਕੀਤਾ ਗਿਆ ਨੈੱਟਵਰਕ ਚੁਣੋ"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL ਵਰਜਨ"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ਬੈਟਰੀ ਪੱਧਰ"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ਭਾਈਚਾਰਕ"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"ਭਾਈਚਾਰਕ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ਪਹੁੰਚ ਬਿੰਦੂ ਦਾ ਸੰਪਾਦਨ ਕਰੋ"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ਪਹੁੰਚ ਬਿੰਦੂ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ਸੈੱਟ ਨਹੀਂ ਹੈ"</string>
     <string name="apn_name" msgid="6677695784108157953">"ਨਾਮ"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ਸਮਰਥਿਤ"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN ਅਸਮਰਥਿਤ"</string>
     <string name="bearer" msgid="3231443241639159358">"ਧਾਰਕ"</string>
+    <string name="network_type" msgid="748590707422733595">"ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"ਨਿਰਧਾਰਿਤ ਨਹੀਂ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO ਦੀ ਕਿਸਮ"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO ਮੁੱਲ"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN ਮਿਟਾਓ"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"ਰੱਖਿਅਤ ਕਰੋ"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ਰੱਦ ਕਰੋ"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"ਡੁਪਲੀਕੇਟ APN ਇੰਦਰਾਜ।"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"ਨਾਮ ਖੇਤਰ ਨੂੰ ਖਾਲੀ ਨਹੀਂ ਛੱਡਿਆ ਜਾ ਸਕਦਾ।"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ਨੂੰ ਖਾਲੀ ਨਹੀਂ ਛੱਡਿਆ ਜਾ ਸਕਦਾ।"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ਖੇਤਰ 3 ਅੰਕਾਂ ਦਾ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ।"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ਖੇਤਰ 2 ਜਾਂ 3 ਅੰਕਾਂ ਦਾ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ।"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"ਕੈਰੀਅਰ %s ਕਿਸਮ ਦੇ APNs ਨੂੰ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਦਿੰਦਾ।"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ਖੇਤਰ ਦਾ ਵੈਧ ਹੋਣਾ ਲਾਜ਼ਮੀ ਹੈ।"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ਪੂਰਵ-ਨਿਰਧਾਰਤ APN ਸੈਟਿੰਗਾਂ ਰੀਸਟੋਰ ਕਰ ਰਿਹਾ ਹੈ।"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ \'ਤੇ ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ਪੂਰਵ-ਨਿਰਧਾਰਤ APN ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰਨਾ ਪੂਰਾ ਹੋਇਆ।"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"ਬਲੂਟੁੱਥ ਅਤੇ ਵਾਈ-ਫਾਈ ਨੂੰ ਰੀਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs ਨੂੰ ਮਿਟਾਓ"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ਇੰਝ ਕਰਨ ਨਾਲ ਕੋਈ ਮੋਬਾਈਲ ਸੇਵਾ ਪਲਾਨ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗਾ। ਬਦਲਵੇਂ ਸਿਮ ਡਾਊਨਲੋਡ ਕਰਨ ਲਈ, ਆਪਣੇ ਕੈਰੀਅਰ ਨਾਲ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ਇਸ ਨਾਲ ਤੁਹਾਡਾ ਮੋਬਾਈਲ ਸੇਵਾ ਪਲਾਨ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗਾ। ਰਿਪਲੇਸਮੈਂਟ ਸਿਮ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਆਪਣੇ ਕੈਰੀਅਰ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰੋ"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"ਕੀ ਸਾਰੀਆਂ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕਰਨੀਆਂ ਹਨ? ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"ਕੀ ਸਾਰੀਆਂ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਕੇ ਈ-ਸਿਮ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ? ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ਕੀ ਰੀਸੈੱਟ ਕਰਨਾ ਹੈ?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ਇਸ ਉਪਭੋਗਤਾ ਲਈ ਨੈੱਟਵਰਕ ਰੀਸੈੱਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ ਰੀਸੈੱਟ ਕੀਤੀਆਂ ਗਈਆਂ ਹਨ"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"ਸਿਮ ਮਿਟਾਏ ਨਹੀਂ ਜਾ ਸਕਦੇ"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ਈ-ਸਿਮ ਕਿਸੇ ਗੜਬੜ ਕਰ ਕੇ ਮਿਟਾਏ ਨਹੀਂ ਜਾ ਸਕਦੇ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ਈ-ਸਿਮ ਮਿਟਾਏ ਨਹੀਂ ਜਾ ਸਕਦੇ"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ ਅਤੇ ਤੁਹਾਡੇ ਈ-ਸਿਮ ਮਿਟਾਏ ਨਹੀਂ ਗਏ ਹਨ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="main_clear_title" msgid="277664302144837723">"ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ (ਫੈਕਟਰੀ ਰੀਸੈੱਟ)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਓ (ਫੈਕਟਰੀ ਰੀਸੈੱਟ)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"ਸੰਗੀਤ"</li>\n<li>"ਫ਼ੋਟੋਆਂ"</li>\n<li>"ਹੋਰ ਵਰਤੋਂਕਾਰ ਡਾਟਾ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"ਈ-ਸਿਮ"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ਇਸ ਨਾਲ ਤੁਹਾਡਾ ਮੋਬਾਈਲ ਸੇਵਾ ਪਲਾਨ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗਾ।"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ਤੁਹਾਡੀ ਸਾਰੀ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਅਤੇ ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਐਪਾਂ ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ। ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਐਪਾਂ ਅਤੇ ਸਿਮਾਂ ਸਮੇਤ ਤੁਹਾਡੀ ਸਾਰੀ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਮਿਟਾ ਦਿੱਤੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ਡਾਊਨਲੋਡ ਕੀਤੀਆਂ ਐਪਾਂ ਅਤੇ ਈ-ਸਿਮਾਂ ਸਮੇਤ ਤੁਹਾਡੀ ਸਾਰੀ ਨਿੱਜੀ ਜਾਣਕਾਰੀ ਮਿਟਾ ਦਿੱਤੀ ਜਾਵੇਗੀ। ਤੁਸੀਂ ਇਸ ਕਾਰਵਾਈ ਨੂੰ ਅਣਕੀਤਾ ਨਹੀਂ ਕਰ ਸਕਦੇ।"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ਕੀ ਸਾਰਾ ਡਾਟਾ ਮਿਟਾਉਣਾ ਹੈ?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ਇਸ ਵਰਤੋਂਕਾਰ ਲਈ ਫੈਕਟਰੀ ਰੀਸੈੱਟ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ਹੌਟਸਪੌਟ, USB, ਬਲੂਟੁੱਥ, ਈਥਰਨੈੱਟ"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"ਦੂਜੇ ਡੀਵਾਈਸਾਂ ਨਾਲ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਨਹੀਂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ਬੰਦ"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ਟੈਦਰਿੰਗ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਨਾ ਵਰਤੋ"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"ਸਿਰਫ਼ USB ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"ਸਿਰਫ਼ ਬਲੂਟੁੱਥ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ਸਿਰਫ਼ ਈਥਰਨੈੱਟ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"ਸਿਰਫ਼ USB ਅਤੇ ਬਲੂਟੁੱਥ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"ਸਿਰਫ਼ USB ਅਤੇ ਈਥਰਨੈੱਟ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"ਸਿਰਫ਼ ਬਲੂਟੁੱਥ ਅਤੇ ਈਥਰਨੈੱਟ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"ਸਿਰਫ਼ USB, ਬਲੂਟੁੱਥ ਅਤੇ ਈਥਰਨੈੱਟ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਸਾਂਝਾ ਕਰੋ"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ਟੈਦਰਿੰਗ"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ਬਲੂਟੁੱਥ ਟੈਦਰਿੰਗ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ਈਥਰਨੈੱਟ ਟੈਦਰਿੰਗ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ਹੋਰਾਂ ਡੀਵਾਈਸਾਂ ਨੂੰ ਆਪਣੇ ਵਾਈ-ਫਾਈ ਜਾਂ ਮੋਬਾਈਲ ਡਾਟਾ ਕਨੈਕਸ਼ਨ ਰਾਹੀਂ ਇੰਟਰਨੈੱਟ ਮੁਹੱਈਆ ਕਰਵਾਉਣ ਲਈ ਹੌਟਸਪੌਟ ਅਤੇ ਟੈਦਰਿੰਗ ਵਰਤੋ। ਐਪਾਂ ਨਜ਼ਦੀਕੀ ਡੀਵਾਈਸਾਂ ਨਾਲ ਸਮੱਗਰੀ ਸਾਂਝੀ ਕਰਨ ਲਈ ਇੱਕ ਹੌਟਸਪੌਟ ਵੀ ਬਣਾ ਸਕਦੀਆਂ ਹਨ।"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ਮਦਦ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ਮੋਬਾਈਲ ਪਲਾਨ"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS ਐਪ"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"ਕੀ SMS ਐਪ ਬਦਲਣੀ ਹੈ?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ਕੀ ਆਪਣੇ SMS ਐਪ ਦੇ ਤੌਰ ਤੇ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ਦੀ ਬਜਾਏ <xliff:g id="NEW_APP">%1$s</xliff:g> ਨੂੰ ਵਰਤਣਾ ਹੈ?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"ਕੀ ਵਾਈ‑ਫਾਈ ਸਹਾਇਕ ਬਦਲਣਾ ਹੈ?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ਕੀ ਆਪਣੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ <xliff:g id="CURRENT_APP">%2$s</xliff:g> ਦੀ ਬਜਾਇ  <xliff:g id="NEW_APP">%1$s</xliff:g> ਨੂੰ ਵਰਤਣਾ ਹੈ?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ਕੀ ਆਪਣੇ ਨੈੱਟਵਰਕ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਵਿਵਸਥਿਤ ਕਰਨ ਲਈ <xliff:g id="NEW_APP">%s</xliff:g> ਵਰਤਣਾ ਹੈ?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"ਅਗਿਆਤ ਸਿਮ ਓਪਰੇਟਰ"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> ਦੀ ਕੋਈ ਗਿਆਤ ਵਿਵਸਥਾਕਰਨ ਵੈੱਬਸਾਈਟ ਨਹੀਂ ਹੈ"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"ਕਿਰਪਾ ਕਰਕੇ SIM ਕਾਰਡ ਪਾਓ ਅਤੇ ਰੀਸਟਾਰਟ ਕਰੋ"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"ਕਿਰਪਾ ਕਰਕੇ ਇੰਟਰਨੈੱਟ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"ਹਾਲੀਆ ਟਿਕਾਣਾ ਬੇਨਤੀਆਂ"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਲਈ ਟਿਕਾਣਾ"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ਐਪ ਦੀਆਂ ਟਿਕਾਣੇ ਸੰਬੰਧੀ ਇਜਾਜ਼ਤਾਂ"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ਪਹੁੰਚ ਸਾਫ਼ ਕਰੋ"</string>
     <string name="controls_label" msgid="8671492254263626383">"ਨਿਯੰਤਰਣ"</string>
     <string name="force_stop" msgid="2681771622136916280">"ਜ਼ਬਰਦਸਤੀ ਬੰਦ ਕਰੋ"</string>
+    <string name="archive" msgid="9074663845068632127">"ਪੁਰਾਲੇਖਬੱਧ ਕਰੋ"</string>
+    <string name="restore" msgid="7622486640713967157">"ਮੁੜ-ਬਹਾਲ ਕਰੋ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ।"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"ਕੁੱਲ"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ਐਪ ਦਾ ਆਕਾਰ"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB ਸਟੋਰੇਜ ਐਪ"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"ਪੈਕੇਜ ਅਕਾਰ ਨੂੰ ਕੰਪਿਊਟ ਨਹੀਂ ਕਰ ਸਕਿਆ।"</string>
     <string name="version_text" msgid="7628938665256107608">"ਵਰਜਨ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ਮੂਵ ਕਰੋ"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ਪੁਰਾਲੇਖਬੱਧ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ਨੂੰ ਪੁਰਾਲੇਖਬੱਧ ਕੀਤਾ ਗਿਆ"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ਮੁੜ-ਬਹਾਲ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ਨੂੰ ਮੁੜ-ਬਹਾਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ਕੋਈ ਹੋਰ ਮਾਈਗ੍ਰੇਸ਼ਨ ਪਹਿਲਾਂ ਤੋਂ ਹੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਹੈ।"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"ਸਟੋਰੇਜ ਲਈ ਲੋੜੀਂਦੀ ਜਗ੍ਹਾ ਨਹੀਂ ਹੈ।"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ਐਪ ਮੌਜੂਦ ਨਹੀਂ ਹੈ।"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"ਆਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡ ਉਪਲਬਧ ਹੈ"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ਆਨ-ਸਕ੍ਰੀਨ ਕੀ-ਬੋਰਡਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
     <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="6922850403920596246">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਪਹੁੰਚਯੋਗਤਾ ਲਈ ਬਾਊਂਸ ਕੁੰਜੀਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ਧੀਵੀਂ ਕੁੰਜੀਆਂ"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਪਹੁੰਚਯੋਗਤਾ ਲਈ ਧੀਵੀਂ ਕੁੰਜੀਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ਸਥਿਰ ਕੁੰਜੀਆਂ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ਭੌਤਿਕ ਕੀ-ਬੋਰਡ ਪਹੁੰਚਯੋਗਤਾ ਲਈ ਸਥਿਰ ਕੁੰਜੀਆਂ ਨੂੰ ਚਾਲੂ ਕਰੋ"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"ਹੋਰ ਵਿਕਲਪਾਂ ਲਈ ਟੱਚਪੈਡ ਦੇ ਹੇਠਲੇ ਸੱਜੇ ਕੋਨੇ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ਪੁਆਇੰਟਰ ਸਪੀਡ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ਟੱਚਪੈਡ ਇਸ਼ਾਰਿਆਂ ਬਾਰੇ ਜਾਣੋ"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ਹੋਮ \'ਤੇ ਜਾਓ"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ਆਪਣੇ ਟੱਚਪੈਡ \'ਤੇ ਕਿਤੇ ਵੀ ਤਿੰਨ ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ਵਾਪਸ ਜਾਓ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"ਵਰਤੋਂ ਸਮੇਂ ਮੁਤਾਬਕ ਕ੍ਰਮ-ਬੱਧ ਕਰੋ"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"ਪਿਛਲੀ ਵਰਤੋਂ ਮੁਤਾਬਕ ਕ੍ਰਮ-ਬੱਧ ਕਰੋ"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ਐਪ ਦੇ ਨਾਮ ਮੁਤਾਬਕ ਕ੍ਰਮ-ਬੱਧ ਕਰੋ"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ਆਖਰੀ ਵਾਰ ਵਰਤਿਆ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ਪਿਛਲੀ ਵਾਰ ਵਰਤਿਆ ਗਿਆ"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ਕਦੇ ਵੀ ਨਹੀਂ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"ਵਰਤੋਂ ਸਮਾਂ"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ਪਹੁੰਚਯੋਗਤਾ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ਪਹੁੰਚਯੋਗਤਾ ਸੈਟਿੰਗਾਂ"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ਤਿੰਨ-ਟੈਪਾਂ ਨਾਲ ਵੱਡਾ ਕਰੋ"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ਸ਼ਾਰਟਕੱਟ ਨਾਲ ਵੱਡਾ ਕਰੋ"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ਸ਼ਾਰਟਕੱਟ ਅਤੇ ਤਿੰਨ-ਟੈਪ ਨਾਲ ਵੱਡਾ ਕਰੋ"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> ਬਾਰੇ"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ਖੋਲ੍ਹਣ ਲਈ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਵਰਤੋ"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"ਖੋਲ੍ਹਣ ਲਈ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਦਬਾਈ ਰੱਖੋ"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"ਖੋਲ੍ਹਣ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ਖੋਲ੍ਹਣ ਲਈ ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ਖੋਲ੍ਹਣ ਲਈ ਸੰਕੇਤ ਵਰਤੋ"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ਪਹੁੰਚਯੋਗਤਾ ਸੰਬੰਧੀ ਇਸ਼ਾਰਾ ਵਰਤੋ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> \'ਤੇ ਟੈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿੱਤੇ ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ \'ਤੇ ਟੈਪ ਕਰੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਸ਼ੁਰੂ ਅਤੇ ਬੰਦ ਕਰਨ ਲਈ, ਸਕ੍ਰੀਨ \'ਤੇ ਕਿਤੇ ਵੀ ਟ੍ਰਿਪਲ-ਟੈਪ ਕਰੋ।"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"ਵੱਡਦਰਸ਼ੀਕਰਨ ਨੂੰ ਸ਼ੁਰੂ ਅਤੇ ਬੰਦ ਕਰਨ ਲਈ, ਆਪਣੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ ਉਂਗਲਾਂ ਨਾਲ ਕਿਤੇ ਵੀ ਡਬਲ ਟੈਪ ਕਰੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ਕਿਸੇ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 2 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ਕਿਸੇ ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਵਰਤਣ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।\n\nਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਵਿਚਾਲੇ ਅਦਲਾ-ਬਦਲੀ ਕਰਨ ਲਈ, 3 ਉਂਗਲਾਂ ਨਾਲ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ਸਮਝ ਲਿਆ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਸੰਬੰਧੀ ਸੈਟਿੰਗਾਂ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"ਬਟਨ ਸੈਟਿੰਗਾਂ"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ਸ਼ਾਰਟਕੱਟ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ਪਹੁੰਚਯੋਗਤਾ ਇਸ਼ਾਰਾ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖੋ"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾ ਕੇ ਰੱਖੋ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"ਦੋਵੇਂ ਅਵਾਜ਼ ਕੁੰਜੀਆਂ ਨੂੰ ਦਬਾਈ ਰੱਖੋ"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ਸਕ੍ਰੀਨ \'ਤੇ ਦੋ-ਉਂਗਲਾਂ ਨਾਲ ਡਬਲ ਟੈਪ ਕਰੋ"</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="6863958573135995927">"ਸਕ੍ਰੀਨ \'ਤੇ ਟ੍ਰਿਪਲ ਟੈਪ ਕਰੋ"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"ਸਕ੍ਰੀਨ \'ਤੇ ਤੇਜ਼ੀ ਨਾਲ {0,number,integer} ਵਾਰ ਟੈਪ ਕਰੋ। ਇਹ ਸ਼ਾਰਟਕੱਟ ਸ਼ਾਇਦ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨੂੰ ਹੌਲੀ ਕਰ ਦੇਵੇ"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਅਤੇ ਇਸ਼ਾਰੇ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ਪਹੁੰਚਯੋਗਤਾ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰਨਾ। ਇਸ਼ਾਰਾ 3-ਬਟਨ ਨੈਵੀਗੇਸ਼ਨ ਦੇ ਨਾਲ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ਪਹੁੰਚਯੋਗਤਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਤੱਕ ਤੁਰੰਤ ਪਹੁੰਚ ਕਰੋ"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ"</b>\n"1. ਪਹੁੰਚਯੋਗਤਾ ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ\n2. ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣੋ ਅਤੇ ਸ਼ਾਰਟਕੱਟ \'ਤੇ ਟੈਪ ਕਰੋ\n3. ਚੁਣੋ ਕਿ ਤੁਸੀਂ ਵਿਸ਼ੇਸ਼ਤਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਬਟਨ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ ਜਾਂ ਫਿਰ ਇਸ਼ਾਰਿਆਂ ਦੀ"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ਸ਼ੁਰੂਆਤ ਕਰਨ ਲਈ"</b>\n"1. ਪਹੁੰਚਯੋਗਤਾ ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ\n2. ਕੋਈ ਵਿਸ਼ੇਸ਼ਤਾ ਚੁਣੋ ਅਤੇ ਸ਼ਾਰਟਕੱਟ \'ਤੇ ਟੈਪ ਕਰੋ\n3. ਵਿਸ਼ੇਸ਼ਤਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਬਟਨ ਨੂੰ ਚੁਣੋ"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ਬਟਨ ਜਾਂ ਇਸ਼ਾਰਾ ਵਰਤੋ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ਟਿਕਾਣਾ"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ਆਕਾਰ"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"ਪਾਵਰ ਬਟਨ ਨਾਲ ਕਾਲ ਕੱਟਣਾ"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"ਵੱਡਾ ਮਾਊਸ ਪੁਆਇੰਟਰ"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ਮਾਊਸ ਪੁਆਇੰਟਰ ਨੂੰ ਹੋਰ ਆਕਰਸ਼ਕ ਬਣਾਓ"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"ਸਾਰੀਆਂ ਐਪਾਂ \'ਤੇ ਗੂੜ੍ਹਾ ਥੀਮ ਲਾਗੂ ਕਰੋ"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ਐਪਾਂ ਦੇ ਗੂੜ੍ਹੇ ਥੀਮ ਤੋਂ ਬਿਨਾਂ ਉਨ੍ਹਾਂ \'ਤੇ ਲਾਗੂ ਹੁੰਦਾ ਹੈ। ਕੁਝ ਐਪਾਂ ਵਿੱਚ ਰੰਗ ਪਲਟਣ ਵਰਗੀਆਂ ਡਿਸਪਲੇ ਸਮੱਸਿਆਵਾਂ ਆ ਸਕਦੀਆਂ ਹਨ।"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"ਐਨੀਮੇਸ਼ਨਾਂ ਹਟਾਓ"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ਸਕ੍ਰੀਨ \'ਤੇ ਹਿਲਜੁਲ ਨੂੰ ਘਟਾਓ"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ਮੋਨੋ ਆਡੀਓ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ਥਰਥਰਾਹਟ ਅਤੇ ਹੈਪਟਿਕਸ ਵਰਤੋ"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"ਅਲਾਰਮ ਥਰਥਰਾਹਟ"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"ਮੀਡੀਆ ਥਰਥਰਾਹਟ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"ਕੀ-ਬੋਰਡ ਥਰਥਰਾਹਟ"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ਘੰਟੀ ਦੀ ਥਰਥਰਾਹਟ"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"ਸੂਚਨਾ ਦੀ ਥਰਥਰਾਹਟ"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ਸਪਰਸ਼ ਸੰਬੰਧੀ ਪ੍ਰਤੀਕਰਮ"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"ਬੰਦ ਕਰੋ"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ਰੱਦ ਕਰੋ"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"ਕੀ <xliff:g id="SERVICE">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> \'ਤੇ ਟੈਪ ਕਰਨ ਨਾਲ <xliff:g id="SERVICE">%2$s</xliff:g> ਸੇਵਾ ਬੰਦ ਹੋ ਜਾਵੇਗੀ।"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ਬੰਦ ਕਰੋ"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ਚਾਲੂ ਰੱਖੋ"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"ਕੀ <xliff:g id="SERVICE">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"ਕੋਈ ਸੇਵਾਵਾਂ ਇੰਸਟੌਲ ਨਹੀਂ ਕੀਤੀਆਂ"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ਕਿਸੇ ਸੇਵਾ ਨੂੰ ਨਹੀਂ ਚੁਣਿਆ ਗਿਆ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"ਕੋਈ ਵਰਣਨ ਮੁਹੱਈਆ ਨਹੀਂ ਕੀਤਾ ਗਿਆ।"</string>
     <string name="settings_button" msgid="2195468788019730377">"ਸੈਟਿੰਗਾਂ"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ਰੋਸ਼ਨੀ ਤੋਂ ਸੰਵੇਦਨਸ਼ੀਲਤਾ, ਫ਼ੋਟੋਫ਼ੋਬੀਆ, ਗੂੜ੍ਹਾ ਥੀਮ, ਸਿਰਦਰਦ, ਪੜ੍ਹਨ ਦਾ ਮੋਡ, ਰਾਤ ਵਾਲਾ ਮੋਡ, ਚਮਕ ਘਟਾਓ, ਸਫ਼ੈਦ ਪੁਆਇੰਟ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ਆਸਾਨ ਵਰਤੋਂ, ਆਸਾਨ ਪਹੁੰਚ, ਸਹਾਇਤਾ, ਸਹਿਯੋਗਮਈ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ਸਮਝ, ਸੁਣਨਾ, ਨੇਤਰਹੀਣ, ਘੱਟ ਸੁਣਨ ਵਾਲੇ ਲੋਕ, ਮੋਟਰ, ਨਿਪੁੰਨਤਾ, ਸਹਿਯੋਗਮਈ, ਸਹਾਇਤਾ, ਵਰਤੋਂ ਵਿੱਚ ਅਸਾਨ, ਪਹੁੰਚ ਵਿੱਚ ਅਸਾਨ, ਹੱਥ, ਮਦਦ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ਵਿੰਡੋ ਵੱਡਦਰਸ਼ੀ, ਜ਼ੂਮ, ਵੱਡਦਰਸ਼ੀਕਰਨ, ਘੱਟ ਨਜ਼ਰ, ਫ਼ੌਂਟ ਵੱਡਾ ਕਰੋ, ਲਿਖਤ ਵੱਡੀ ਕਰੋ"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"ਸੁਰਖੀਆਂ, ਬੰਦ ਸੁਰਖੀਆਂ, ਬੰਦ ਸੁੁਰਖੀਆਂ, Live Transcribe, ਘੱਟ ਸੁਣਨ ਵਾਲੇ, ਘੱਟ ਸੁਣਨਾ, CART, ਬੋਲੀ ਤੋਂ ਲਿਖਤ, ਉਪਸਿਰਲੇਖ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ਰੰਗ ਕੰਟ੍ਰਾਸਟ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ਮੋਟਰ, ਮਾਊਸ"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ਸੁਣਨ ਦੇ ਸਾਧਨ, ਘੱਟ ਸੁਣਨ ਵਾਲੇ, ਸੁਨਣ ਸ਼ਕਤੀ ਤੋਂ ਬਿਨਾਂ ਵਾਲੇ, ਕੋਕਲੀਅਰ ਇਮਪਲਾਂਟ, ਐਂਪਲੀਫ਼ੀਕੇਸ਼ਨ ਡੀਵਾਈਸ, ਧੁਨੀ ਪ੍ਰੋਸੈੱਸਰ"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ਮੋਟਰ, ਮਾਊਸ, ਬਾਹਰੀ ਮਾਊਸ, ਹੈੱਡ ਮਾਊਸ, ਅਨੁਕੂਲ ਮਾਊਸ, ਵ੍ਹੀਲਚੇਅਰ, ਜਾਏਸਟਿੱਕ"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ਸੁਣਨ ਦੇ ਸਾਧਨ, ਘੱਟ ਸੁਣਨ ਵਾਲੇ, ਸੁਨਣ ਸ਼ਕਤੀ ਤੋਂ ਬਿਨਾਂ ਵਾਲੇ, ਕੋਕਲੀਅਰ ਇਮਪਲਾਂਟ, ਐਂਪਲੀਫ਼ੀਕੇਸ਼ਨ ਡੀਵਾਈਸ, ਧੁਨੀ ਪ੍ਰੋਸੈੱਸਰ, PASAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"ਘੱਟ ਸੁਣਨ ਵਾਲੇ, ਘੱਟ ਸੁਣਨਾ, ਸੁਰਖੀਆਂ, ਟੈਲੀਟਾਈਪ, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ਤਿੰਨ ਬਟਨ"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ਨਿਪੁੰਨਤਾ, ਮੋਟਰ, ਸੀਨੀਅਰ, ਗਠੀਆ, rsi, ਸਟ੍ਰੋਕ, ਕੰਬਣੀ, ਮਲਟੀਪਲ ਸਕਲੇਰੋਸਿਸ, ਸੇਰੇਬ੍ਰਲ ਪਾਲਸੀ, ਕੰਬਣੀ, ਦੁਹਰਾਉਣ ਵਾਲੀ ਤਣਾਅ ਦੀ ਸੱਟ, ਹੱਥ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ਦੇਰੀ, ਨਿਪੁੰਨਤਾ, ਸੀਨੀਅਰ"</string>
     <string name="print_settings" msgid="8519810615863882491">"ਪ੍ਰਿੰਟਿੰਗ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ਬੰਦ"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 ਪ੍ਰਿੰਟ ਸੇਵਾ ਚਾਲੂ ਹੈ}one{# ਪ੍ਰਿੰਟ ਸੇਵਾ ਚਾਲੂ ਹੈ}other{# ਪ੍ਰਿੰਟ ਸੇਵਾ ਚਾਲੂ ਹਨ}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ਬਾਕੀ"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"ਚਾਰਜ ਕਰਨ ਲਈ <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"ਸਕ੍ਰੀਨ ਸਮਾਂ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"ਬੈਕਗ੍ਰਾਊਂਡ ਸਮਾਂ"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"ਬੈਟਰੀ ਘੱਟ ਹੈ"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ਐਪ ਨੂੰ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਚੱਲਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿਓ"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"ਕੀ ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ ਸੀਮਿਤ ਕਰਨੀ ਹੈ?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ਜੇਕਰ ਤੁਸੀਂ ਕਿਸੇ ਐਪ ਦੀ ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ ਨੂੰ ਸੀਮਿਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਉਹ ਅਜੀਬ ਢੰਗ ਨਾਲ ਵਰਤਾਅ ਕਰ ਸਕਦੀ ਹੈ"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ਇਹ ਐਪ ਬੈਟਰੀ ਨੂੰ ਸੁਯੋਗ ਕਰੋ \'ਤੇ ਸੈੱਟ ਨਾ ਕੀਤੀ ਹੋਣ ਕਰਕੇ, ਤੁਸੀਂ ਇਸ \'ਤੇ ਪਾਬੰਧੀ ਨਹੀਂ ਲਗਾ ਸਕਦੇ।\n\nਐਪ \'ਤੇ ਪਾਬੰਧੀ ਲਗਾਉਣ ਲਈ, ਪਹਿਲਾਂ ਬੈਟਰੀ ਸੁਯੋਗਕਰਨ ਨੂੰ ਚਾਲੂ ਕਰੋ।"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"ਬੈਟਰੀ ਵਰਤੋਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਵਰਤੋਂ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ਅਸਲ-ਸਮੇਂ ਦੇ ਅੱਪਡੇਟਾਂ ਨੂੰ ਚਾਲੂ ਕਰੋ, ਬੈਟਰੀ ਬਚਾਉਣ ਲਈ ਬੰਦ ਕਰੋ"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ਅਣ-ਪ੍ਰਤਿਬੰਧਿਤ"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ਸੁਯੋਗ ਬਣਾਈ ਗਈ"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"ਪ੍ਰਤਿਬੰਧਿਤ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ਸਭ ਤੋਂ ਵੱਧ ਬੈਟਰੀ ਵਰਤੋਂ ਵਾਲੀਆਂ ਐਪਾਂ ਦੇਖੋ"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਮਿਆਦ ਨੂੰ ਵਧਾਉਣ ਵਿੱਚ ਮਦਦ ਲਈ, ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਮਿਆਦ ਨੂੰ ਵਧਾਉਣ ਵਿੱਚ ਮਦਦ ਲਈ, ਡੌਕ ਹੋਣ ਦੌਰਾਨ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਮਿਆਦ ਨੂੰ ਵਧਾਉਣ ਵਿੱਚ ਮਦਦ ਲਈ, ਡੌਕ ਹੋਣ ਦੌਰਾਨ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਗਿਆ ਹੈ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"ਪੂਰਾ ਚਾਰਜ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ਤੁਹਾਡੀ ਬੈਟਰੀ ਦੀ ਸੁਰੱਖਿਆ ਲਈ, ਅਗਲੀ ਵਾਰ ਤੁਹਾਡਾ ਟੈਬਲੈੱਟ ਡੌਕ ਹੋਣ \'ਤੇ ਚਾਰਜਿੰਗ ਨੂੰ ਸੁਯੋਗ ਬਣਾਇਆ ਜਾਵੇਗਾ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ਚਾਰਜਿੰਗ ਰੋਕੇ ਜਾਣ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ਚਾਰਜਿੰਗ ਮੁੜ-ਚਾਲੂ ਕਰੋ"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ਉੱਚ-ਪਾਵਰ ਬੈਕਗ੍ਰਾਊਂਡ ਸਰਗਰਮੀ ਸਮੇਤ"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ਇਹ ਐਪ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਬੈਟਰੀ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕੇਗੀ। ਤੁਹਾਡੀ ਬੈਟਰੀ ਉਮੀਦ ਨਾਲੋਂ ਛੇਤੀ ਹੀ ਖਤਮ ਹੋ ਸਕਦੀ ਹੈ।"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ਹਟਾਓ"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ਰੱਦ ਕਰੋ"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"ਪੂਰਾ ਚਾਰਜ ਕਰੋ"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ਚਾਰਜ ਕਰਨ ਵਾਲੀ ਐਕਸੈਸਰੀ ਸੰਬੰਧੀ ਸਮੱਸਿਆ"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ਚਾਰਜਿੰਗ ਐਕਸੈਸਰੀ ਦੀ ਜਾਂਚ ਕਰੋ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ਗੈਰ-ਅਨੁਰੂਪ ਚਾਰਜਿੰਗ ਬਾਰੇ ਹੋਰ ਜਾਣੋ"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ਬੈਟਰੀ ਪ੍ਰਬੰਧਕ"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"ਐਪਾਂ ਦਾ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਬਾਅਦ"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"ਸਿਸਟਮ ਐਪਾਂ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"ਅਣਸਥਾਪਤ ਕੀਤੀਆਂ ਐਪਾਂ"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ਹੋਰ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"ਅਨੁਮਾਨਿਤ ਬਾਕੀ ਸਮਾਂ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"ਪੂਰਾ ਚਾਰਜ ਹੋਣ ਲਈ"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"ਕੁੱਲ: ਇੱਕ ਮਿੰਟ ਤੋਂ ਵੀ ਘੱਟ ਸਮਾਂ"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"ਬੈਕਗ੍ਰਾਊਂਡ: ਇੱਕ ਮਿੰਟ ਤੋਂ ਵੀ ਘੱਟ ਸਮਾਂ"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"ਸਕ੍ਰੀਨ ਸਮਾਂ: ਇੱਕ ਮਿੰਟ ਤੋਂ ਵੀ ਘੱਟ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ਇੱਕ ਮਿੰਟ ਤੋਂ ਘੱਟ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"ਕੁੱਲ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"ਬੈਕਗ੍ਰਾਊਂਡ: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"ਸਕ੍ਰੀਨ ਸਮਾਂ: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ਹੁਣ"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g> ਤੱਕ"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"ਬੈਟਰੀ ਵਰਤੋਂ ਦਾ ਚਾਰਟ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"ਰੋਜ਼ਾਨਾ ਬੈਟਰੀ ਵਰਤੋਂ ਚਾਰਟ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"ਪ੍ਰਤੀ ਘੰਟਾ ਬੈਟਰੀ ਵਰਤੋਂ ਚਾਰਟ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"ਬੈਟਰੀ ਪੱਧਰ ਫ਼ੀਸਦ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ਤੋਂ <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> ਹੈ"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਬਾਅਦ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> ਲਈ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"ਪਿਛਲੀ ਵਾਰ ਪੂਰਾ ਚਾਰਜ ਕਰਨ ਤੋਂ ਬਾਅਦ ਸਕ੍ਰੀਨ ਸਮਾਂ"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"ਸੰਕਟਕਾਲੀਨ ਡਾਇਲਿੰਗ ਸਿਗਨਲ"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ਜਦੋਂ ਇੱਕ ਸੰਕਟਕਾਲੀਨ ਕਾਲ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਤਾਂ ਵਿਵਹਾਰ ਸੈੱਟ ਕਰੋ"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"ਬੈਕਅੱਪ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ਚਾਲੂ"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ਬੰਦ"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"ਬੈਕਅੱਪ &amp; ਰੀਸਟੋਰ ਕਰੋ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ਨਿੱਜੀ  ਡਾਟਾ"</string>
     <string name="backup_data_title" msgid="507663517227498525">"ਮੇਰਾ ਡਾਟਾ ਬੈਕ ਅੱਪ ਲਓ"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ਮੋਬਾਈਲ ਡਾਟਾ ਅਤੇ ਵਾਈ-ਫਾਈ"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ਨਿੱਜੀ ਡਾਟਾ ਸਵੈ-ਸਿੰਕ ਕਰਨਾ"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ਕੰਮ ਸੰਬੰਧੀ ਡਾਟਾ ਸਵੈ-ਸਿੰਕ ਕਰੋ"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ਨਿੱਜੀ ਡਾਟੇ ਨੂੰ ਸਵੈ-ਸਿੰਕ ਕਰੋ"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"ਸਾਈਕਲ ਬਦਲੋ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ਡਾਟਾ ਵਰਤੋਂ ਸਾਈਕਲ ਰੀਸੈੱਟ ਕਰਨ ਲਈ ਮਹੀਨੇ ਦਾ ਦਿਨ:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ਇਸ ਮਿਆਦ ਦੇ ਦੌਰਾਨ ਕਿਸੇ ਐਪਸ ਨੇ  ਡਾਟਾ  ਨਹੀਂ ਵਰਤਿਆ।"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ਨਾਮ"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ਕਿਸਮ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ਸਰਵਰ ਦਾ ਪਤਾ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP ਇਨਕ੍ਰਿਪਸ਼ਨ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ਗੁਪਤ"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ਪਛਾਣਕਰਤਾ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ਪਹਿਲਾਂ ਤੋਂ ਸਾਂਝੀ ਕੀਤੀ ਕੁੰਜੀ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec ਵਰਤੋਂਕਾਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec ਸਰਵਰ ਪ੍ਰਮਾਣ-ਪੱਤਰ"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"ਵਿਕਸਿਤ ਵਿਕਲਪ ਦਿਖਾਓ"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS ਖੋਜ ਡੋਮੇਨ"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS ਸਰਵਰ (ਉਦਾਹਰਨ ਵਜੋਂ 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ਫਾਰਵਰਡਿੰਗ ਰੂਟ (ਉਦਾਹਰਨ ਵਜੋਂ 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ਵਰਤੋਂਕਾਰ ਨਾਮ"</string>
     <string name="vpn_password" msgid="1183746907642628127">"ਪਾਸਵਰਡ"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ਖਾਤਾ ਜਾਣਕਾਰੀ ਰੱਖਿਅਤ ਕਰੋ"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ਵਰਤਿਆ ਨਹੀਂ)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ਸਰਵਰ ਦੀ ਪੁਸ਼ਟੀ ਨਾ ਕਰੋ)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ਸਰਵਰ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤਾ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ਇਹ VPN ਕਿਸਮ ਹਰ ਵੇਲੇ ਕਨੈਕਟ ਹੋਈ ਨਹੀਂ ਰਹਿ ਸਕਦੀ"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"\'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਸਿਰਫ਼ ਸੰਖਿਆਤਮਿਕ ਸਰਵਰ ਪਤਿਆਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"\'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਦੇ ਲਈ ਕੋਈ DNS ਸਰਵਰ ਨਿਯਤ ਕਰਨਾ ਲਾਜ਼ਮੀ ਹੈ"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"\'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਦੇ ਲਈ DNS ਸਰਵਰ ਪਤੇ ਸੰਖਿਆਤਮਿਕ ਹੋਣੇ ਲਾਜ਼ਮੀ ਹਨ"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ਦਾਖਲ ਕੀਤੀ ਜਾਣਕਾਰੀ \'ਹਮੇਸ਼ਾ-ਚਾਲੂ VPN\' ਦਾ ਸਮਰਥਨ ਨਹੀਂ ਕਰਦੀ"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ਰੱਦ ਕਰੋ"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ਖਾਰਜ ਕਰੋ"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"ਬਿਨਾਂ VPN ਤੋਂ ਕਨੈਕਸ਼ਨਾਂ ਨੂੰ ਬਲਾਕ ਕਰੋ"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"ਕੀ VPN ਕਨੈਕਸ਼ਨ ਦੀ ਲੋੜ ਹੈ?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ਸੁਰੱਖਿਅਤ ਨਹੀਂ। IKEv2 VPN \'ਤੇ ਅੱਪਡੇਟ ਕਰੋ"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ਅਸਮਰਥਿਤ VPN ਨੂੰ ਸ਼ੁਰੂ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ਹਮੇਸ਼ਾਂ ਉਸ ਨਾਲ ਕਨੈਕਟ ਰਹਿਣ ਲਈ ਇੱਕ VPN ਪ੍ਰੋਫਾਈਲ ਚੁਣੋ। ਨੈੱਟਵਰਕ ਟ੍ਰੈਫਿਕ ਦੀ ਆਗਿਆ ਕੇਵਲ ਇਸ VPN ਨਾਲ ਕਨੈਕਟ ਕੀਤੇ ਜਾਣ ਤੇ ਹੀ ਦਿੱਤੀ ਜਾਏਗੀ।"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ਕੋਈ ਨਹੀਂ"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ਸਰਵਰ ਅਤੇ DNS ਦੋਵਾਂ ਲਈ ਹਮੇਸ਼ਾਂ-ਚਾਲੂ VPN ਲਈ ਇੱਕ IP ਪਤਾ ਲੋੜੀਂਦਾ ਹੈ।"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER ਚਿਤਾਵਨੀਆਂ"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ਬਾਲ ਅਗਵਾ ਬਾਰੇ ਬੁਲੇਟਿਨ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
     <string name="repeat_title" msgid="8676570486899483606">"ਦੁਹਰਾਓ"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"ਕਾਲ ਮੈਨੇਜਰ ਨੂੰ ਚਾਲੂ ਕਰੋ"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"ਇਸ ਸੇਵਾ ਨੂੰ ਇਹ ਵਿਵਸਥਿਤ ਕਰਨ ਦੀ ਆਗਿਆ ਦਿਓ ਕਿ ਤੁਹਾਡੀਆਂ ਕਾਲਾਂ ਕਿਵੇਂ ਕੀਤੀਆਂ ਜਾਣ।"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"ਕਾਲ ਮੈਨੇਜਰ"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"ਵਾਇਰਲੈੱਸ ਐਮਰਜੈਂਸੀ ਅਲਰਟ"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ਨੈੱਟਵਰਕ ਓਪਰੇਟਰ"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ਐਕਸੈੱਸ ਪੁਆਇੰਟ ਨਾਮ"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"ਸਿਮ ਸਥਿਤੀ"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"ਸਿਮ ਸਥਿਤੀ (ਸਿਮ ਸਲੌਟ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"ਸਿਮ ਬਦਲੇ ਗਏ।"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"ਤੁਹਾਡੇ ਸਿਮ ਬਦਲ ਗਏ ਹਨ"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"ਸੈੱਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ਹਰ ਵਾਰ ਪੁੱਛੋ"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ਚੋਣ ਲੁੜੀਂਦੀ"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ਹਾਲੀਆ ਐਪਾਂ, ਪੂਰਵ-ਨਿਰਧਾਰਤ ਐਪਾਂ"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਵਿੱਚ ਐਪਾਂ ਲਈ ਸੂਚਨਾ ਪਹੁੰਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"ਪਾਸਵਰਡ ਅਤੇ ਖਾਤੇ"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"ਰੱਖਿਅਤ ਕੀਤੇ ਪਾਸਵਰਡ, ਆਟੋਫਿਲ, ਸਿੰਕ ਕੀਤੇ ਖਾਤੇ"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"ਸਾਈਨ-ਇਨ ਅਤੇ ਆਟੋਫਿਲ ਸੰਬੰਧੀ ਸੁਝਾਅ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਐਪਾਂ"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ਕਲੋਨ ਕੀਤੀਆਂ ਐਪਾਂ"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ਐਪ ਦੀ ਕੋਈ ਦੂਜੀ ਨਕਲ ਬਣਾਓ, ਤਾਂ ਜੋ ਤੁਸੀਂ ਇੱਕੋ ਸਮੇਂ ਦੋ ਖਾਤਿਆਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕੋ।"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ਭੁਗਤਾਨ ਕਰੋ, ਟੈਪ ਕਰੋ, ਭੁਗਤਾਨ"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ਬੈਕਅੱਪ, ਬੈਕ ਅੱਪ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ਸੰਕੇਤ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ਫ਼ੇਸ, ਅਣਲਾਕ, ਪ੍ਰਮਾਣੀਕਰਨ, ਸਾਈਨ-ਇਨ"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ਫ਼ੇਸ, ਅਣਲਾਕ, ਪ੍ਰਮਾਣੀਕਰਨ, ਸਾਈਨ-ਇਨ ਕਰੋ, ਫਿੰਗਰਪ੍ਰਿੰਟ, ਬਾਇਓਮੈਟ੍ਰਿਕ"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl ਵਰਜਨ, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ਲਿਖਤ ਦਾ ਆਕਾਰ, ਵੱਡਾ ਪ੍ਰਿੰਟ, ਵੱਡਾ ਫ਼ੌਂਟ, ਵੱਡੀ ਲਿਖਤ, ਘੱਟ ਨਜ਼ਰ, ਲਿਖਤ ਵੱਡੀ ਕਰੋ, ਫ਼ੌਂਟ ਵੱਡਾ ਕਰੋ, ਫ਼ੌਂਟ ਵੱਡਾ ਕਰਨਾ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ਹਮੇਸ਼ਾਂ ਚਾਲੂ ਐਂਬੀਅੰਟ ਡਿਸਪਲੇ, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, ਟੈਗ, ਰੀਡਰ"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ਕੀ-ਬੋਰਡ, ਹੈਪਟਿਕਸ, ਥਰਥਰਾਹਟ,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ਅਵਾਜ਼, ਥਰਥਰਾਹਟ, ਪਰੇਸ਼ਾਨ ਨਾ ਕਰੋ"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ਮੀਡੀਆ ਦੀ ਅਵਾਜ਼"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ਅਵਾਜ਼ ਕਾਸਟ ਕਰੋ"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ਚਾਲੂ ਹੋਣ \'ਤੇ ਵੱਜਣ ਵਾਲੀਆਂ ਧੁਨੀਆਂ"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"ਲਾਈਵ ਸੁਰਖੀਆਂ"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"ਸਵੈਚਲਿਤ ਸੁਰਖੀ ਮੀਡੀਆ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ਫ਼ੋਨ ਸਪੀਕਰ"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ਟੈਬਲੈੱਟ ਸਪੀਕਰ"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ਡੀਵਾਈਸ ਸਪੀਕਰ"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"ਤਾਰ ਵਾਲੇ ਹੈੱਡਫ਼ੋਨ"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"ਅਨੁਰੂਪ ਮੀਡੀਆ ਤੋਂ ਆਡੀਓ ਵਧੇਰੇ ਇਮਰਸਿਵ ਬਣ ਜਾਂਦੀ ਹੈ"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ਬੰਦ"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"ਸਾਰੀ ਸੂਚਨਾ ਸਮੱਗਰੀ ਦਿਖਾਓ"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"ਸਿਰਫ਼ ਅਣਲਾਕ ਹੋਣ \'ਤੇ ਹੀ ਸੰਵੇਦਨਸ਼ੀਲ ਸਮੱਗਰੀ ਦਿਖਾਓ"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ਬਿਲਕੁਲ ਵੀ ਸੂਚਨਾਵਾਂ ਨਾ ਦਿਖਾਓ"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ਤੁਹਾਨੂੰ ਲਾਕ ਸਕ੍ਰੀਨ ਦੀ ਕਿਹੜੀ ਦਿੱਖ ਪਸੰਦ ਹੈ?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ਤੁਸੀਂ ਆਪਣੀ ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਕੀ ਦਿਖਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"ਲਾਕ ਸਕ੍ਰੀਨ"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"ਕੰਮ ਸੰਬੰਧੀ ਸਾਰੀ ਸੂਚਨਾ ਸਮੱਗਰੀ ਨੂੰ ਦਿਖਾਓ"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ਸੰਵੇਦਨਸ਼ੀਲ ਕਾਰਜ ਸਮੱਗਰੀ ਲੁਕਾਓ"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ਹਾਲੀਆ ਗੱਲਾਂਬਾਤਾਂ ਹਟਾਈਆਂ ਗਈਆਂ"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"ਗੱਲਬਾਤ ਹਟਾਈ ਗਈ"</string>
     <string name="clear" msgid="5092178335409471100">"ਕਲੀਅਰ ਕਰੋ"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> ਨੂੰ ਕਲੀਅਰ ਕਰੋ"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ਤਰਜੀਹੀ ਅਤੇ ਸੋਧੀਆਂ ਗਈਆਂ ਗੱਲਾਂਬਾਤਾਂ ਇੱਥੇ ਦਿਸਣਗੀਆਂ"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"ਗੱਲਬਾਤ ਨੂੰ ਤਰਜੀਹੀ ਵਜੋਂ ਨਿਸ਼ਾਸਬੱਧ ਕਰਨ ਜਾਂ ਗੱਲਾਂਬਾਤਾਂ ਵਿੱਚ ਕੋਈ ਹੋਰ ਤਬਦੀਲੀ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਉਹ ਇੱਥੇ ਦਿਸਣਗੀਆਂ। \n\nਗੱਲਬਾਤ ਸੈਟਿੰਗਾਂ ਨੂੰ ਬਦਲਣ ਲਈ: \nਹੇਠਾਂ ਖਿੱਚੀ ਜਾਣ ਵਾਲੀ ਸੂਚੀ ਨੂੰ ਖੋਲ੍ਹਣ ਲਈ ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ ਤੋਂ ਹੇਠਾਂ ਵੱਲ ਸਵਾਈਪ ਕਰਕੇ ਗੱਲਬਾਤ ਨੂੰ ਸਪਰਸ਼ ਕਰਕੇ ਰੱਖੋ।"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ਛੋਟਾ ਕਰੋ"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"ਸੂਚਨਾ ਦੀ ਕੂਲਡਾਊਨ ਸੈਟਿੰਗ"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ਸਾਰੀਆਂ ਸੂਚਨਾਵਾਂ \'ਤੇ ਕੂਲਡਾਊਨ ਮੋਡ ਲਾਗੂ ਕਰੋ"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ਇੱਕੋ ਐਪ ਤੋਂ ਲਗਾਤਾਰ ਕਈ ਸੂਚਨਾਵਾਂ ਮਿਲਣ \'ਤੇ ਸੂਚਨਾ ਦੀ ਸੰਖਿਆ ਨੂੰ ਹੌਲੀ-ਹੌਲੀ ਘੱਟ ਕਰੋ"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ਗੱਲਾਂਬਾਤਾਂ \'ਤੇ ਕੂਲਡਾਊਨ ਮੋਡ ਲਾਗੂ ਕਰੋ"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ਇੱਕੋ ਚੈਟ ਤੋਂ ਬਹੁਤ ਘੱਟ ਸਮੇਂ ਵਿੱਚ ਕਈ ਸੁਨੇਹੇ ਮਿਲਣ \'ਤੇ ਸੂਚਨਾ ਦੀ ਸੰਖਿਆ ਨੂੰ ਹੌਲੀ-ਹੌਲੀ ਘੱਟ ਕਰੋ"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"ਸੂਚਨਾ \'ਤੇ ਕੂਲਡਾਊਨ ਮੋਡ ਦੀ ਵਰਤੋਂ ਨਾ ਕਰੋ"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ਸੂਚਨਾ ਦੀ ਸੰਖਿਆ ਨੂੰ ਕਦੇ ਵੀ ਘੱਟ ਨਾ ਕਰੋ, ਭਾਵੇ ਇੱਕੋ ਐਪ ਤੋਂ ਲਗਾਤਾਰ ਮਿਲਣ ਵਾਲੀਆਂ ਸੂਚਨਾਵਾਂ ਦੀ ਸੰਖਿਆ ਕੁਝ ਵੀ ਹੋਵੇ"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"ਅਣਲਾਕ ਹੋਣ \'ਤੇ ਥਰਥਰਾਹਟ ਕਰੋ"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"ਸਿਰਫ਼ ਸਕ੍ਰੀਨ ਦੇ ਅਣਲਾਕ ਹੋਣ \'ਤੇ ਥਰਥਰਾਹਟ ਕਰੋ"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲਾਂ ਦੇ ਲਾਗੂ ਕਰੋ"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ਆਪਣੇ ਨਿੱਜੀ ਪ੍ਰੋਫਾਈਲ ਤੋਂ ਆਪਣੇ ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ \'ਤੇ ਸੂਚਨਾ ਕੂਲਡਾਊਨ ਸੈਟਿੰਗਾਂ ਨੂੰ ਲਾਗੂ ਕਰੋ"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR ਮਦਦਗਾਰ ਸੇਵਾਵਾਂ"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ਕਿਸੇ ਵੀ ਸਥਾਪਤ ਐਪ ਵੱਲੋਂ VR ਮਦਦਗਾਰ ਸੇਵਾਵਾਂ ਵਜੋਂ ਚਲਾਉਣ ਦੀ ਬੇਨਤੀ ਨਹੀਂ ਕੀਤੀ ਗਈ।"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"ਕੀ <xliff:g id="SERVICE">%1$s</xliff:g> ਲਈ VR ਸੇਵਾ ਪਹੁੰਚ ਨੂੰ ਆਗਿਆ ਦੇਣੀ ਹੈ?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ਬੰਦ"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ਐਪ ਪਿਨਿੰਗ"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ਐਪ ਪਿਨਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾ ਤੁਹਾਨੂੰ ਮੌਜੂਦਾ ਐਪ ਉਦੋਂ ਤੱਕ ਦ੍ਰਿਸ਼ ਵਿੱਚ ਰੱਖਣ ਦਿੰਦੀ ਹੈ ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਇਸਨੂੰ ਅਣਪਿੰਨ ਨਹੀਂ ਕਰਦੇ। ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਇੰਝ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਉਦਾਹਰਨ ਲਈ, ਕਿਸੇ ਭਰੋਸੇਮੰਦ ਦੋਸਤ ਨੂੰ ਕੋਈ ਖਾਸ ਗੇਮ ਖੇਡਣ ਦੇਣ ਵਾਸਤੇ।"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"ਜਦੋਂ ਕੋਈ ਐਪ ਪਿੰਨ ਕੀਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਪਿੰਨ ਕੀਤੀ ਐਪ ਹੋਰ ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹ ਸਕਦੀ ਹੈ ਅਤੇ ਨਿੱਜੀ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ। \n\nਐਪ ਪਿਨਿੰਗ ਨੂੰ ਵਰਤਣ ਲਈ: 	\n1. ਐਪ ਪਿਨਿੰਗ ਨੂੰ ਚਾਲੂ ਕਰੋ 	\n2. ਰੂਪ-ਰੇਖਾ ਨੂੰ ਖੋਲ੍ਹੋ 	\n3. ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ \'ਤੇ ਐਪ ਪ੍ਰਤੀਕ ਉੱਤੇ ਟੈਪ ਕਰ ਕੇ ਪਿੰਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"ਜਦੋਂ ਕੋਈ ਐਪ ਪਿੰਨ ਕੀਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਪਿੰਨ ਕੀਤੀ ਐਪ ਹੋਰ ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹ ਸਕਦੀ ਹੈ ਅਤੇ ਨਿੱਜੀ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ। \n\nਜੇ ਤੁਸੀਂ ਕਿਸੇ ਵਿਅਕਤੀ ਨਾਲ ਆਪਣਾ ਡੀਵਾਈਸ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸਾਂਝਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਸ ਦੀ ਬਜਾਏ ਮਹਿਮਾਨ ਵਰਤੋਂਕਾਰ ਨੂੰ ਵਰਤ ਕੇ ਦੇਖੋ। \n\nਐਪ ਪਿਨਿੰਗ ਨੂੰ ਵਰਤਣ ਲਈ: \n1. ਐਪ ਪਿਨਿੰਗ ਨੂੰ ਚਾਲੂ ਕਰੋ \n2. ਰੂਪ-ਰੇਖਾ ਨੂੰ ਖੋਲ੍ਹੋ \n3. ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ \'ਤੇ ਐਪ ਪ੍ਰਤੀਕ ਉੱਤੇ ਟੈਪ ਕਰ ਕੇ ਪਿੰਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"ਜਦੋਂ ਕੋਈ ਐਪ ਪਿੰਨ ਕੀਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਪਿੰਨ ਕੀਤੀ ਐਪ ਹੋਰ ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹ ਸਕਦੀ ਹੈ ਅਤੇ ਨਿੱਜੀ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ। \n\nਐਪ ਪਿਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ: 	\n{0,number,integer}. ਐਪ ਪਿਨਿੰਗ ਚਾਲੂ ਕਰੋ 	\n{1,number,integer}. ਰੂਪ-ਰੇਖਾ ਖੋਲ੍ਹੋ 	\n{2,number,integer}. ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ \'ਤੇ ਐਪ ਪ੍ਰਤੀਕ ਉੱਤੇ ਟੈਪ ਕਰ ਕੇ ਪਿੰਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"ਜਦੋਂ ਕੋਈ ਐਪ ਪਿੰਨ ਕੀਤੀ ਹੁੰਦੀ ਹੈ, ਤਾਂ ਪਿੰਨ ਕੀਤੀ ਐਪ ਹੋਰ ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹ ਸਕਦੀ ਹੈ ਅਤੇ ਨਿੱਜੀ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ। \n\nਜੇ ਤੁਸੀਂ ਕਿਸੇ ਵਿਅਕਤੀ ਨਾਲ ਆਪਣਾ ਡੀਵਾਈਸ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸਾਂਝਾ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ, ਤਾਂ ਇਸ ਦੀ ਬਜਾਏ ਮਹਿਮਾਨ ਵਰਤੋਂਕਾਰ ਨੂੰ ਵਰਤ ਕੇ ਦੇਖੋ। \n\nਐਪ ਪਿਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰਨ ਲਈ: 	\n{0,number,integer}. ਐਪ ਪਿਨਿੰਗ ਚਾਲੂ ਕਰੋ 	\n{1,number,integer}. ਰੂਪ-ਰੇਖਾ ਖੋਲ੍ਹੋ 	\n{2,number,integer}. ਸਕ੍ਰੀਨ ਦੇ ਸਿਖਰ \'ਤੇ ਐਪ ਪ੍ਰਤੀਕ ਉੱਤੇ ਟੈਪ ਕਰ ਕੇ ਪਿੰਨ \'ਤੇ ਟੈਪ ਕਰੋ"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ਜਦੋਂ ਐਪ ਪਿੰਨ ਕੀਤੀ ਹੁੰਦੀ ਹੈ: \n\n• ਨਿੱਜੀ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ \n (ਜਿਵੇਂ ਕਿ ਸੰਪਰਕ ਅਤੇ ਈਮੇਲ ਸਮੱਗਰੀ) \n• ਪਿੰਨ ਕੀਤੀ ਐਪ ਹੋਰ ਐਪਾਂ ਨੂੰ ਖੋਲ੍ਹ ਸਕਦੀ ਹੈ \n\nਐਪ ਪਿਨਿੰਗ ਵਿਸ਼ੇਸ਼ਤਾ ਦੀ ਵਰਤੋਂ ਸਿਰਫ਼ ਆਪਣੇ ਭਰੋਸੇਯੋਗ ਲੋਕਾਂ ਨਾਲ ਹੀ ਕਰੋ।"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ਅਣਪਿੰਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਣਲਾਕ ਪੈਟਰਨ ਵਾਸਤੇ ਪੁੱਛੋ"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ਅਨਪਿੰਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਿੰਨ ਮੰਗੋ"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ਅਣਪਿੰਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਪਾਸਵਰਡ ਮੰਗੋ"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ਅਣਪਿੰਨ ਕਰਨ ਵੇਲੇ ਡੀਵਾਈਸ ਲਾਕ ਕਰੋ"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ਸਿਮ ਮਿਟਾਉਣ ਦੀ ਤਸਦੀਕ ਕਰੋ"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ਤਸਦੀਕ ਕਰੋ ਕਿ ਤੁਸੀਂ ਆਪਣਾ ਈ-ਸਿਮ ਮਿਟਾਉਣਾ ਚਾਹੁੰਦੇ ਹੋ"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ਈ-ਸਿਮ ਨੂੰ ਮਿਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਆਪਣੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰੋ"</string>
     <string name="memtag_title" msgid="5096176296797727201">"ਅਡਵਾਂਸ ਮੈਮੋਰੀ ਸੁਰੱਖਿਆ ਬੀਟਾ"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"ਅਡਵਾਂਸ ਮੈਮੋਰੀ ਸੁਰੱਖਿਆ"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ਅਣਵਰਤੀ ਐਪ ਦੀਆਂ ਸੈਟਿੰਗਾਂ"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"ਵਰਤੋਂ ਵਿੱਚ ਨਾ ਹੋਣ \'ਤੇ, ਐਪ ਸਰਗਰਮੀ ਰੋਕੋ"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"ਇਜਾਜ਼ਤਾਂ ਹਟਾਓ, ਅਸਥਾਈ ਫ਼ਾਈਲਾਂ ਮਿਟਾਓ ਅਤੇ ਸੂਚਨਾਵਾਂ ਬੰਦ ਕਰੋ"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ਵਰਤੋਂ ਵਿੱਚ ਨਾ ਹੋਣ \'ਤੇ, ਐਪ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰੋ"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"ਇਜਾਜ਼ਤਾਂ ਹਟਾਓ, ਅਸਥਾਈ ਫ਼ਾਈਲਾਂ ਮਿਟਾਓ, ਸੂਚਨਾਵਾਂ ਬੰਦ ਕਰੋ ਅਤੇ ਐਪ ਨੂੰ ਪੁਰਾਲੇਖਬੱਧ ਕਰੋ"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"ਸਾਰੀਆਂ ਐਪਾਂ"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ਸਥਾਪਤ ਐਪਾਂ"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ਤਤਕਾਲ ਐਪਾਂ"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ਫ੍ਰੀ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ਐਪਾਂ ਵੱਲੋਂ ਵਰਤੀ ਗਈ ਮੈਮਰੀ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{ਪਿਛਲੇ {time} ਵਿੱਚ 1 ਐਪ ਨੇ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਕੀਤੀ}one{ਪਿਛਲੇ {time} ਵਿੱਚ # ਐਪ ਨੇ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਕੀਤੀ}other{ਪਿਛਲੇ {time} ਵਿੱਚ # ਐਪਾਂ ਨੇ ਮੈਮੋਰੀ ਦੀ ਵਰਤੋਂ ਕੀਤੀ}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"ਮੈਮੋਰੀ ਵਰਤੋਂ ਪ੍ਰੋਫਾਈਲਿੰਗ ਚਾਲੂ ਕਰੋ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"ਮੈਮੋਰੀ ਵਰਤੋਂ ਪ੍ਰੋਫਾਈਲਿੰਗ ਲਈ ਵਧੀਕ ਸਿਸਟਮ ਸਰੋਤਾਂ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"ਮੈਮੋਰੀ ਪ੍ਰੋਫਾਈਲਿੰਗ ਬੰਦ ਹੈ"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ਵਾਰਵਾਰਤਾ"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"ਅਧਿਕਤਮ ਵਰਤੋਂ"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"ਕੋਈ ਡਾਟਾ ਨਹੀਂ ਵਰਤਿਆ"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਤੇ ਦਿਖਾਉਣਾ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਤੇ ਦਿਖਾਉਣ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ਇਸ ਐਪ ਨੂੰ ਤੁਹਾਡੇ ਵੱਲੋਂ ਵਰਤੀਆਂ ਜਾ ਰਹੀਆਂ ਹੋਰ ਐਪਾਂ ਦੇ ਉੱਤੇ ਦਿਸਣ ਦਿਓ। ਇਹ ਐਪ ਦੇਖ ਸਕੇਗੀ ਕਿ ਤੁਸੀਂ ਕਿੱਥੇ ਟੈਪ ਕਰਦੇ ਹੋ ਜਾਂ ਸਕ੍ਰੀਨ \'ਤੇ ਜੋ ਪ੍ਰਦਰਸ਼ਿਤ ਹੈ ਉਸ ਨੂੰ ਬਦਲ ਸਕੇਗੀ।"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"ਮੀਡੀਆ ਆਊਟਪੁੱਟ ਬਦਲੋ"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ਐਪ ਨੂੰ ਮੀਡੀਆ ਆਊਟਪੁੱਟ ਬਦਲਣ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"ਇਸ ਐਪ ਨੂੰ ਇਹ ਚੁਣਨ ਦੀ ਆਗਿਆ ਦਿਓ ਕਿ ਕਿਹੜਾ ਕਨੈਕਟ ਕੀਤਾ ਡੀਵਾਈਸ ਹੋਰ ਐਪਾਂ ਤੋਂ ਆਡੀਓ ਜਾਂ ਵੀਡੀਓ ਚਲਾ ਸਕਦਾ ਹੈ। ਜੇ ਆਗਿਆ ਮਿਲਦੀ ਹੈ, ਤਾਂ ਇਹ ਐਪ ਹੈੱਡਫ਼ੋਨਾਂ ਅਤੇ ਸਪੀਕਰਾਂ ਵਰਗੇ ਉਪਲਬਧ ਡੀਵਾਈਸਾਂ ਦੀ ਸੂਚੀ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ ਅਤੇ ਇਹ ਚੁਣ ਸਕਦੀ ਹੈ ਕਿਹੜੇ ਆਊਟਪੁੱਟ ਡੀਵਾਈਸ ਨੂੰ ਆਡੀਓ ਜਾਂ ਵੀਡੀਓ ਨੂੰ ਸਟ੍ਰੀਮ ਜਾਂ ਕਾਸਟ ਕਰਨ ਲਈ ਵਰਤਣਾ ਹੈ।"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦਿਓ"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ਇਸ ਐਪ ਨੂੰ ਇਸ ਡੀਵਾਈਸ ਜਾਂ ਇਸ ਨਾਲ ਕਨੈਕਟ ਕਿਸੇ ਵੀ ਸਟੋਰੇਜ ਭਾਗ ਦੀਆਂ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਨੂੰ ਪੜ੍ਹਨ, ਸੋਧਣ ਅਤੇ ਮਿਟਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ। ਜੇ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਜਾਂਦੀ ਹੈ, ਤਾਂ ਐਪ ਤੁਹਾਨੂੰ ਸੂਚਿਤ ਕੀਤੇ ਬਿਨਾਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ।"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"ਇਹ ਸਾਰੀਆਂ ਫ਼ਾਈਲਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੀ ਹੈ"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਸੁਵਿਧਾ ਵਾਲੀਆਂ ਐਪਾਂ"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"ਅਵਾਜ਼ੀ ਕਿਰਿਆਸ਼ੀਲਤਾ ਦੀ ਸੁਵਿਧਾ ਅਵਾਜ਼ੀ ਆਦੇਸ਼ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਐਪਾਂ ਨੂੰ ਬਿਨਾਂ ਹੱਥ ਲਾਏ ਚਾਲੂ ਕਰਦੀ ਹੈ। ਬਿਲਟ-ਇਨ ਸੁਰੱਖਿਅਤ ਅਡੈਪਟਿਵ ਸੈਂਸਿੰਗ ਇਹ ਪੱਕਾ ਕਰਦੀ ਹੈ ਕਿ ਡਾਟਾ ਸਿਰਫ਼ ਤੁਹਾਡੇ ਲਈ ਹੀ ਨਿੱਜੀ ਰਹਿੰਦਾ ਹੈ।\n\n"<a href="">"ਸੁਰੱਖਿਅਤ ਅਡੈਪਟਿਵ ਸੈਂਸਿੰਗ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ਪੂਰੀ ਸਕ੍ਰੀਨ ਸੂਚਨਾਵਾਂ"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ਇਸ ਐਪ ਤੋਂ ਪੂਰੀ ਸਕ੍ਰੀਨ ਸੂਚਨਾਵਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"ਇਸ ਐਪ ਨੂੰ ਉਹ ਸੂਚਨਾਵਾਂ ਦਿਖਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ ਜੋ ਡੀਵਾਈਸ ਲਾਕ ਹੋਣ \'ਤੇ ਪੂਰੀ ਸਕ੍ਰੀਨ ਵਿੱਚ ਦਿਖਾਈ ਦਿੰਦੀਆਂ ਹਨ। ਐਪਾਂ ਇਨ੍ਹਾਂ ਦੀ ਵਰਤੋਂ ਅਲਾਰਮਾਂ, ਇਨਕਮਿੰਗ ਕਾਲਾਂ ਜਾਂ ਹੋਰ ਜ਼ਰੂਰੀ ਸੂਚਨਾਵਾਂ ਨੂੰ ਉਜਾਗਰ ਕਰਨ ਲਈ ਕਰ ਸਕਦੀਆਂ ਹਨ।"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> ਡਾਟਾ ਚਿਤਾਵਨੀ"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> ਡਾਟਾ ਸੀਮਾ"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> ਡਾਟਾ ਚਿਤਾਵਨੀ / <xliff:g id="ID_2">^2</xliff:g> ਡਾਟਾ ਸੀਮਾ"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"ਕੈਰੀਅਰ ਵੱਲੋਂ ਡਾਟੇ ਦਾ ਹਿਸਾਬ ਡੀਵਾਈਸ ਦੇ ਹਿਸਾਬ ਨਾਲੋਂ ਵੱਖਰਾ ਹੋ ਸਕਦਾ ਹੈ"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"ਕੈਰੀਅਰ ਨੈੱਟਵਰਕਾਂ ਵੱਲੋਂ ਵਰਤਿਆ ਜਾਣ ਵਾਲਾ ਡਾਟਾ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ਵਰਤਿਆ"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ਡਾਟਾ ਚਿਤਾਵਨੀ ਸੈੱਟ ਕਰੋ"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> ਪਹਿਲਾਂ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ਹੁਣੇ ਹੀ <xliff:g id="ID_1">^1</xliff:g> ਵੱਲੋਂ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ਹੁਣੇ ਹੀ ਅੱਪਡੇਟ ਕੀਤਾ ਗਿਆ"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ਯੋਜਨਾ ਦੇਖੋ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"ਵੇਰਵੇ ਦੇਖੋ"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ਡਾਟਾ ਸੇਵਰ"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ਅਣ-ਪ੍ਰਤਿਬੰਧਿਤ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਨੇ ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਆਮ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਹੈ"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਨੇ ਫੋਰਗ੍ਰਾਊਂਡ ਵਿੱਚ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਹੈ"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ਨੇ ਫੋਰਗ੍ਰਾਊਂਡ ਵਿੱਚ ਆਮ ਨਾਲੋਂ ਜ਼ਿਆਦਾ ਬੈਟਰੀ ਵਰਤੀ ਹੈ"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"ਬੈਟਰੀ ਵਰਤੋਂ ਬੇਤਰਤੀਬ ਹੈ"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ਉੱਚ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ਬੈਕਗ੍ਰਾਊਂਡ ਵਿੱਚ ਉੱਚ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ਫੋਰਗ੍ਰਾਊਂਡ ਵਿੱਚ ਉੱਚ ਬੈਟਰੀ ਵਰਤੋਂ"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਦੀਆਂ ਵਿਕਾਸਕਾਰ ਟਾਇਲਾਂ"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"ADB ਇਖਤਿਆਰੀਕਰਨ ਸਮਾਂ ਸਮਾਪਤੀ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ADB ਇਖਤਿਆਰੀਕਰਨਾਂ ਦਾ ਉਨ੍ਹਾਂ ਸਿਸਟਮਾਂ ਲਈ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਰੱਦੀਕਰਨ ਕਰਨਾ ਬੰਦ ਕਰੋ ਜਿਨ੍ਹਾਂ ਨੇ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ (7 ਦਿਨ) ਜਾਂ ਵਰਤੋਂਕਾਰ ਵੱਲੋਂ ਸੰਰੂਪਣ ਕੀਤੀ (ਘੱਟੋ-ਘੱਟ 1 ਦਿਨ) ਸਮਾਂ ਮਿਆਦ ਦੇ ਅੰਦਰ ਮੁੜ-ਕਨੈਕਟ ਨਹੀਂ ਕੀਤਾ।"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope ਟ੍ਰੇਸ"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ਸੈਂਸਰ ਬੰਦ ਕਰੋ"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"ਕਾਰਜ ਪ੍ਰੋਫਾਈਲ ਸੈਟਿੰਗਾਂ"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ਨਿੱਜੀ ਐਪਾਂ ਵਿੱਚ ਕੰਮ ਸੰਬੰਧੀ ਡਾਇਰੈਕਟਰੀ ਵਿਚਲੇ ਸੰਪਰਕਾਂ ਨੂੰ ਖੋਜੋ"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ਸਿਸਟਮ ਨੈਵੀਗੇਸ਼ਨ, 2-ਬਟਨ ਨੈਵੀਗੇਸ਼ਨ, 3-ਬਟਨ ਨੈਵੀਗੇਸ਼ਨ, ਇਸ਼ਾਰਾ ਨੈਵੀਗੇਸ਼ਨ, ਸਵਾਈਪ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ਡਿਜੀਟਲ ਸਹਾਇਕ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਸਵਾਈਪ ਕਰੋ"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੇਠਲੇ ਕੋਨੇ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ।"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੇਠਲੇ ਕੋਨੇ ਤੋਂ ਉੱਪਰ ਵੱਲ ਸਵਾਈਪ ਕਰੋ"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistant ਲਈ ਹੋਮ ਬਟਨ ਨੂੰ ਦਬਾਈ ਰੱਖੋ"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ਡਿਜੀਟਲ ਸਹਾਇਕ ਐਪ ਨੂੰ ਚਾਲੂ ਕਰਨ ਲਈ ਹੋਮ ਬਟਨ ਨੂੰ ਦਬਾਈ ਰੱਖੋ।"</string>
     <string name="low_label" msgid="6525629096999711220">"ਘੱਟ"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ਆਟੋਫਿਲ ਸੇਵਾ"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਆਟੋਫਿਲ ਸੇਵਾ"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"ਪਾਸਵਰਡ"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ਵਧੀਕ ਪ੍ਰਦਾਨਕ"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ਤਰਜੀਹੀ ਸੇਵਾ"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"ਵਧੀਕ ਸੇਵਾਵਾਂ"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# ਪਾਸਵਰਡ}one{# ਪਾਸਵਰਡ}other{# ਪਾਸਵਰਡ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ਆਟੋ, ਫਿਲ, ਆਟੋਫਿਲ, ਪਾਸਵਰਡ"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ਡਾਟਾ, ਪਾਸਕੀ, ਪਾਸਵਰਡ"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ਆਟੋ, ਫਿਲ, ਆਟੋਫਿਲ, ਡਾਟਾ, ਪਾਸਕੀ, ਪਾਸਵਰਡ"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"ਬਦਲੋ"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"ਖੋਲ੍ਹੋ"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ਕੁਝ ਨਹੀਂ ਚੁਣਿਆ"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ਪੱਕਾ ਕਰੋ ਕਿ ਤੁਸੀਂ ਇਸ ਐਪ \'ਤੇ ਭਰੋਸਾ ਕਰਦੇ ਹੋ&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ਆਪਣੇ-ਆਪ ਭਰੀਆਂ ਜਾ ਸਕਣ ਵਾਲੀਆਂ ਚੀਜ਼ਾਂ ਦਾ ਪਤਾ ਲਗਾਉਣ ਲਈ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਮੌਜੂਦ ਚੀਜ਼ਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ।"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;ਕੀ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ਨੂੰ ਵਰਤਣਾ ਹੈ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ਵੱਲੋਂ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਖ ਰਹੀ ਸਮੱਗਰੀ ਦੇ ਆਧਾਰ \'ਤੇ ਇਹ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਜਾਣਕਾਰੀ ਆਟੋਫਿਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ। ਹੁਣ ਤੋਂ ਨਵੇਂ ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਹੋਰ ਜਾਣਕਾਰੀ ਇੱਥੇ ਰੱਖਿਅਤ ਕੀਤੀ ਜਾਵੇਗੀ।"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ਹੁਣ ਤੋਂ ਨਵੇਂ ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਹੋਰ ਜਾਣਕਾਰੀ ਨੂੰ ਇੱਥੇ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਵੇਗਾ। &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ਵੱਲੋਂ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਖ ਰਹੀ ਸਮੱਗਰੀ ਦੇ ਆਧਾਰ \'ਤੇ ਇਹ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਜਾਣਕਾਰੀ ਆਟੋਫਿਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ।"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"ਪਾਸਵਰਡਾਂ, ਪਾਸਕੀਆਂ ਅਤੇ ਆਟੋਫਿਲ ਲਈ ਤਰਜੀਹੀ ਸੇਵਾ"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"ਕੀ %1$s ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ਕੀ ਇਸ ਸੇਵਾ ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਾਈਨ-ਇਨ ਕਰਨ ਵੇਲੇ ਰੱਖਿਅਤ ਕੀਤੀ ਗਈ ਜਾਣਕਾਰੀ ਜਿਵੇਂ ਕਿ ਪਾਸਵਰਡਾਂ, ਪਾਸਕੀਆਂ, ਭੁਗਤਾਨ ਵਿਧੀਆਂ ਅਤੇ ਹੋਰ ਜਾਣਕਾਰੀ ਨੂੰ ਭਰਿਆ ਨਹੀਂ ਜਾਵੇਗਾ। ਆਪਣੀ ਰੱਖਿਅਤ ਕੀਤੀ ਜਾਣਕਾਰੀ ਵਰਤਣ ਲਈ ਕੋਈ ਪਾਸਵਰਡ, ਪਾਸਕੀ ਜਾਂ ਡਾਟਾ ਸੇਵਾ ਚੁਣੋ।"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਆਟੋਫਿਲ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ਕੀ ਸਾਰੀਆਂ ਸੇਵਾਵਾਂ ਨੂੰ ਚਾਲੂ ਕਰਨਾ ਹੈ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਰੱਖਿਅਤ ਕੀਤੀ ਹੋਰ ਜਾਣਕਾਰੀ ਤੁਹਾਡੇ ਵੱਲੋਂ ਸਾਈਨ-ਇਨ ਕਰਨ \'ਤੇ ਆਟੋਫਿਲ ਲਈ ਉਪਲਬਧ ਨਹੀਂ ਰਹਿਣਗੀਆਂ"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;ਆਪਣੀ ਤਰਜੀਹੀ ਸੇਵਾ ਨੂੰ ਬਦਲ ਕੇ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; \'ਤੇ ਕਰੋ। ਨਵੇਂ ਪਾਸਵਰਡਾਂ, ਪਾਸਕੀਆਂ ਅਤੇ ਹੋਰ ਜਾਣਕਾਰੀ ਨੂੰ ਹੁਣ ਤੋਂ ਇੱਥੇ ਰੱਖਿਅਤ ਕੀਤਾ ਜਾਵੇਗਾ। &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ਵੱਲੋਂ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਦਿਖ ਰਹੀ ਸਮੱਗਰੀ ਦੇ ਆਧਾਰ \'ਤੇ ਇਹ ਨਿਰਧਾਰਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਜਾਣਕਾਰੀ ਆਟੋਫਿਲ ਕੀਤੀ ਜਾ ਸਕਦੀ ਹੈ"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"ਕੀ %1$s ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ਬੰਦ ਕਰੋ"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"ਬਦਲੋ"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"ਤੁਸੀਂ ਸਿਰਫ਼ 5 ਸੇਵਾਵਾਂ ਨੂੰ ਹੀ ਚਾਲੂ ਰੱਖ ਸਕਦੇ ਹੋ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ਕੋਈ ਹੋਰ ਸੇਵਾ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਘੱਟੋ-ਘੱਟ 1 ਸੇਵਾ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ਇਹ ਨਿਰਧਾਰਿਤ ਕਰਨ ਲਈ ਤੁਹਾਡੀ ਸਕ੍ਰੀਨ \'ਤੇ ਮੌਜੂਦ ਜਾਣਕਾਰੀ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜੀ ਜਾਣਕਾਰੀ ਨੂੰ ਆਟੋਫਿਲ ਕੀਤਾ ਜਾ ਸਕਦਾ ਹੈ।"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"ਪਾਸਵਰਡਾਂ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਦੀ ਸੀਮਾ"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ਤੁਸੀਂ ਇੱਕੋ ਸਮੇਂ \'ਤੇ 5 ਤੱਕ ਪਾਸਵਰਡਾਂ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਹੋਰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਸੇਵਾ ਨੂੰ ਬੰਦ ਕਰੋ।"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"ਪਾਸਵਰਡ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਦੀ ਸੀਮਾ"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ਤੁਸੀਂ ਇੱਕੋ ਸਮੇਂ \'ਤੇ 5 ਤੱਕ ਪਾਸਵਰਡਾਂ, ਪਾਸਕੀਆਂ ਅਤੇ ਡਾਟਾ ਸੇਵਾਵਾਂ ਦੀ ਵਰਤੋਂ ਕਰ ਸਕਦੇ ਹੋ। ਹੋਰ ਸ਼ਾਮਲ ਕਰਨ ਲਈ ਕਿਸੇ ਸੇਵਾ ਨੂੰ ਬੰਦ ਕਰੋ।"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ਬੰਦ ਕਰੋ"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ਆਟੋਫਿਲ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ਲੌਗਿੰਗ ਪੱਧਰ"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ਐਪ ਅਨੁਰੂਪਤਾ ਸੰਬੰਧੀ ਤਬਦੀਲੀਆਂ ਸਿਰਫ਼ ਡੀਬੱਗਯੋਗ ਐਪਾਂ ਲਈ ਸੋਧੀਆਂ ਜਾ ਸਕਦੀਆਂ ਹਨ। ਡੀਬੱਗਯੋਗ ਐਪ ਨੂੰ ਸਥਾਪਤ ਕਰੋ ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ਹੋਰ ਸੈਟਿੰਗ \'ਤੇ ਨਿਰਭਰ ਕਰਦੀ ਹੈ"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ਖਾਤਾ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ਖਾਤੇ"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ਡੀਵਾਈਸ ਦਾ ਨਾਮ"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ਮੂਲ ਜਾਣਕਾਰੀ"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"ਕਨੂੰਨੀ ਅਤੇ ਰੈਗੂਲੇਟਰੀ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ਟੈਗ ਦੇ ਸਕੈਨ ਹੋਣ \'ਤੇ ਇਸ ਐਪ ਨੂੰ ਲਾਂਚ ਹੋਣ ਦੀ ਆਗਿਆ ਦਿਓ।\nਜੇ ਇਹ ਇਜਾਜ਼ਤ ਚਾਲੂ ਹੈ, ਤਾਂ ਟੈਗ ਦੇ ਪਤਾ ਲੱਗਣ \'ਤੇ ਇਹ ਐਪ ਇੱਕ ਵਿਕਲਪ ਦੇ ਤੌਰ \'ਤੇ ਉਪਲਬਧ ਹੋਵੇਗੀ।"</string>
     <string name="media_output_title" msgid="8283629315159510680">"ਇਸ \'ਤੇ ਮੀਡੀਆ ਚਲਾਓ"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> ਨੂੰ ਇਸ \'ਤੇ ਚਲਾਓ"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ਆਡੀਓ ਇਨ੍ਹਾਂ \'ਤੇ ਚੱਲੇਗੀ"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ਇਹ ਡੀਵਾਈਸ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ਕਾਲਾਂ ਵੇਲੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ਇਸ \'ਤੇ ਕਾਲ ਪ੍ਰਾਪਤ ਕਰੋ"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ਮਿਊਟ ਕਰੋ"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ਚਾਲੂ ਕਰਨ ਲਈ, ਪਹਿਲਾਂ ਪਾਵਰ ਮੀਨੂ ਲਈ \"ਪਾਵਰ ਬਟਨ ਨੂੰ ਦਬਾਈ ਰੱਖੋ\" ਵਿਕਲਪ ਨੂੰ ਬਦਲੋ।"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ਨੈੱਟਵਰਕ ਵੇਰਵੇ"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਦਾ ਨਾਮ ਤੁਹਾਡੇ ਫ਼ੋਨ \'ਤੇ ਐਪਾਂ ਨੂੰ ਦਿਖਾਈ ਦਿੰਦਾ ਹੈ। ਇਸਨੂੰ ਤੁਹਾਡੇ ਬਲੂਟੁੱਥ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰਨ, ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕਰਨ ਜਾਂ ਵਾਈ-ਫਾਈ ਹੌਟਸਪੌਟ ਸੈੱਟਅੱਪ ਕਰਨ \'ਤੇ ਹੋਰ ਲੋਕਾਂ ਵੱਲੋਂ ਵੀ ਦੇਖਿਆ ਜਾ ਸਕਦਾ ਹੈ।"</string>
     <string name="devices_title" msgid="649715719278562515">"ਡੀਵਾਈਸਾਂ"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ਨੈੱਟਵਰਕ ਚੁਣੋ"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"ਡਿਸਕਨੈਕਟ ਹੋਇਆ"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ਨਾਮ"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"ਰੰਗ (ਅਨੁਰੂਪ ਐਪਾਂ ਵੱਲੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"ਰੱਖਿਅਤ ਕਰੋ"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ਸਿਮ ਵਰਤੋ"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ਇਸ ਸਿਮ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ਬੰਦ"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ਇਸ ਸਿਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ, ਸਿਮ ਕਾਰਡ ਨੂੰ ਹਟਾਓ"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ਸਿਮ ਮਿਟਾਓ"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ਇਸ ਸਿਮ ਨੂੰ ਬੰਦ ਕਰਨ ਲਈ, ਸਿਮ ਕਾਰਡ ਨੂੰ ਹਟਾਓ"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"ਆਪਣਾ <xliff:g id="CARRIER">%1$s</xliff:g> ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ਈ-ਸਿਮ ਮਿਟਾਓ"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ਨੈੱਟਵਰਕ ਓਪਰੇਟਿੰਗ ਮੋਡ ਬਦਲੋ"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ਤਰਜੀਹੀ ਨੈੱਟਵਰਕ ਦੀ ਕਿਸਮ"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ਕੀਮਤਾਂ ਜਾਣਨ ਲਈ ਆਪਣੇ ਨੈੱਟਵਰਕ ਪ੍ਰਦਾਨਕ ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ਐਪ ਡਾਟਾ ਵਰਤੋਂ"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"ਅਵੈਧ ਨੈੱਟਵਰਕ ਮੋਡ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. ਅਣਡਿੱਠ ਕਰੋ।"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"ਸੈਟੇਲਾਈਟ ਰਾਹੀਂ ਲਿਖਤ ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰੋ। ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ।"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"ਸੈਟੇਲਾਈਟ ਰਾਹੀਂ ਲਿਖਤ ਸੁਨੇਹੇ ਭੇਜੋ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰੋ। ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ।"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ ਸੇਵਾ ਬਾਰੇ"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"ਤੁਸੀਂ ਯੋਗ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਖਾਤੇ ਦੇ ਹਿੱਸੇ ਵਜੋਂ ਸੈਟੇਲਾਈਟ ਰਾਹੀਂ ਲਿਖਤ ਸੁਨੇਹੇ ਭੇਜ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰ ਸਕਦੇ ਹੋ"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"ਤੁਹਾਡਾ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਪਲਾਨ"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ ਸੇਵਾ ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਸ਼ਾਮਲ ਹੈ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ ਸੇਵਾ ਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਸ਼ਾਮਲ ਨਹੀਂ ਹੈ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ ਸੇਵਾ ਨੂੰ ਸ਼ਾਮਲ ਕਰੋ"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ਇਹ ਕਿਵੇਂ ਕੰਮ ਕਰਦਾ ਹੈ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"ਤੁਹਾਡੇ ਕੋਲ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਨਾ ਹੋਣ \'ਤੇ"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਸੈਟੇਲਾਈਟ ਨਾਲ ਸਵੈ-ਕਨੈਕਟ ਹੋ ਜਾਵੇਗਾ। ਵਧੀਆ ਕੁਨੈਕਸ਼ਨ ਲਈ, ਅਸਮਾਨ ਦਾ ਸਾਫ਼ ਦ੍ਰਿਸ਼ ਨੂੰ ਬਰਕਰਾਰ ਰੱਖੋ।"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"ਤੁਹਾਡਾ ਫ਼ੋਨ ਸੈਟੇਲਾਈਟ ਨਾਲ ਕਨੈਕਟ ਹੋ ਜਾਣ ਤੋਂ ਬਾਅਦ"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"ਤੁਸੀਂ ਐਮਰਜੈਂਸੀ ਸੇਵਾਵਾਂ ਸਮੇਤ ਕਿਸੇ ਨੂੰ ਵੀ ਲਿਖਤ ਸੁਨੇਹਾ ਭੇਜ ਸਕਦੇ ਹੋ। ਉਪਲਬਧ ਹੋਣ \'ਤੇ ਤੁਹਾਡਾ ਫ਼ੋਨ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਨਾਲ ਮੁੜ-ਕਨੈਕਟ ਹੋ ਜਾਵੇਗਾ।"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ ਸੇਵਾ ਵਿੱਚ ਜ਼ਿਆਦਾ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ ਅਤੇ ਇਹ ਸਿਰਫ਼ ਕੁਝ ਖੇਤਰਾਂ ਵਿੱਚ ਉਪਲਬਧ ਹੈ, ਮੌਸਮ ਅਤੇ ਕੁਝ ਢਾਂਚੇ ਤੁਹਾਡੇ ਸੈਟੇਲਾਈਟ ਕਨੈਕਸ਼ਨ ਨੂੰ ਪ੍ਰਭਾਵਿਤ ਕਰ ਸਕਦੇ ਹਨ। ਸੈਟੇਲਾਈਟ ਰਾਹੀਂ ਕਾਲ ਕਰਨ ਦੀ ਸੁਵਿਧਾ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।\n\nਤੁਹਾਡੇ ਖਾਤੇ ਵਿੱਚ ਤਬਦੀਲੀਆਂ ਨੂੰ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਦਿਖਾਉਣ ਵਿੱਚ ਕੁਝ ਸਮਾਂ ਲੱਗ ਸਕਦਾ ਹੈ। ਵੇਰਵਿਆਂ ਲਈ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਸੰਪਰਕ ਕਰੋ।"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ਸੈਟੇਲਾਈਟ ਸੁਨੇਹਾ ਸੇਵਾ ਬਾਰੇ ਹੋਰ ਜਾਣਕਾਰੀ"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ਐਕਸੈੱਸ ਪੁਆਇੰਟ ਨਾਮ"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> ਨਾਲ ਕਨੈਕਟ ਹੋਣ \'ਤੇ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"ਕੀ ਤੁਸੀਂ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> \'ਤੇ ਸਵਿੱਚ ਕਰਨਾ ਚਾਹੁੰਦੇ ਹੋ?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"ਕੀ ਸਿਮ ਕਾਰਡ ਦੀ ਵਰਤੋਂ ਕਰਨੀ ਹੈ?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"ਕੀ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਵਰਤਣਾ ਹੈ?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ਇੱਕ ਸਮੇਂ \'ਤੇ ਸਿਰਫ਼ ਇੱਕ ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਸਕਦਾ ਹੈ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> \'ਤੇ ਸਵਿੱਚ ਕਰਨ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ਇੱਕ ਸਮੇਂ \'ਤੇ ਸਿਰਫ਼ 1 ਈ-ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਸਕਦਾ ਹੈ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ਵਰਤਣ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ਇੱਕ ਸਮੇਂ \'ਤੇ ਸਿਰਫ਼ ਇੱਕ ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਸਕਦਾ ਹੈ।\n\nਸਵਿੱਚ ਕਰਨ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ਇੱਕ ਸਮੇਂ \'ਤੇ ਸਿਰਫ਼ 1 ਸਿਮ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ਵਰਤਣ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ਇੱਕ ਸਮੇਂ \'ਤੇ ਸਿਰਫ਼ 1 ਈ-ਸਿਮ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ।\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ਵਰਤਣ ਨਾਲ ਤੁਹਾਡੀ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ਇੱਕ ਸਮੇਂ \'ਤੇ ਸਿਰਫ਼ 1 ਸਿਮ ਚਾਲੂ ਹੋ ਸਕਦਾ ਹੈ।\n\nਤੁਹਾਡੇ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ਦੀ ਸੇਵਾ ਲਈ ਵਰਤਣ ਨਾਲ ਤੁਹਾਡੀ ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ।"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ਤੁਸੀਂ ਇੱਕੋ ਵੇਲੇ 2 ਸਿਮ ਵਰਤ ਸਕਦੇ ਹੋ। <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਵਰਤਣ ਲਈ, ਹੋਰ ਸਿਮ ਬੰਦ ਕਰੋ।"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> \'ਤੇ ਸਵਿੱਚ ਕਰੋ"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕਰੋ"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"ਸਿਮ ਨੂੰ ਬੰਦ ਕਰਨ ਨਾਲ ਤੁਹਾਡੀ ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਹੋਵੇਗੀ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ਨੈੱਟਵਰਕ ਨਾਲ ਕਨੈਕਟ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"ਕਾਲਾਂ ਅਤੇ ਸੁਨੇਹਿਆਂ ਲਈ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> \'ਤੇ ਸਵਿੱਚ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"ਕੈਰੀਅਰ ਨੂੰ ਸਵਿੱਚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ਕਿਸੇ ਗੜਬੜ ਕਰਕੇ ਕੈਰੀਅਰ ਨੂੰ ਸਵਿੱਚ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ।"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"ਤੁਹਾਡਾ ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> \'ਤੇ ਸਵਿੱਚ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"ਸਿਮ ਸਵਿੱਚ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ। ਸਿਮ ਸਵਿੱਚ ਨਹੀਂ ਕੀਤੇ ਜਾ ਸਕਦੇ।"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"ਕੀ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"ਕੀ ਸਿਮ ਨੂੰ ਬੰਦ ਕਰਨਾ ਹੈ?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"ਸਿਮ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"ਕੈਰੀਅਰ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ ਅਤੇ ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"ਸਿਮ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ ਅਤੇ ਤੁਹਾਡੇ ਸਿਮ ਨੂੰ ਬੰਦ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ।"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"ਕੀ 2 ਸਿਮ ਵਰਤਣੇ ਹਨ?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ਇਸ ਡੀਵਾਈਸ ਵਿੱਚ ਇੱਕ ਸਮੇਂ \'ਤੇ 2 ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੋ ਸਕਦੇ ਹਨ। ਇੱਕ ਸਮੇਂ \'ਤੇ 1 ਸਿਮ ਵਰਤਣਾ ਜਾਰੀ ਰੱਖਣ ਲਈ \"ਨਹੀਂ ਧੰਨਵਾਦ\" \'ਤੇ ਟੈਪ ਕਰੋ।"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"ਕੀ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਨਾ ਹੈ?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ਨਹੀਂ ਧੰਨਵਾਦ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ਰੱਦ ਕਰੋ"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"ਸਵਿੱਚ ਕਰੋ"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ਬੰਦ ਕਰੋ"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"ਸਿਮ ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਦਾ"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ਸਿਮ ਨੂੰ ਦੁਬਾਰਾ ਚਾਲੂ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਜੇ ਸਮੱਸਿਆ ਜਾਰੀ ਰਹਿੰਦੀ ਹੈ, ਤਾਂ ਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰੋ।"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ਆਪਣੇ ਸਿਮ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ਇਸ ਡੀਵਾਈਸ \'ਤੇ ਇੱਕ ਤੋਂ ਵੱਧ ਸਿਮ ਵਰਤਣ ਲਈ ਆਪਣੀਆਂ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਤਰਜੀਹਾਂ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ਆਪਣੇ ਸਿਮਾਂ ਨੂੰ ਲੇਬਲਬੱਧ ਕਰੋ"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ਤੁਹਾਨੂੰ ਇਹ ਲੇਬਲ ਕਾਲ ਕਰਨ, ਲਿਖਤ ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਡਾਟਾ ਦੀ ਵਰਤੋਂ ਕਰਨ ਵੇਲੇ ਅਤੇ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਦਿਸਣਗੇ"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"ਸਿਮ ਦਾ ਲੇਬਲ"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ਲੇਬਲ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"ਵਰਤਣ ਲਈ ਸਿਮ ਚੁਣੋ"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ਤੁਸੀਂ ਇੱਕੋ ਵੇਲੇ 2 ਸਿਮ ਵਰਤ ਸਕਦੇ ਹੋ"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ਆਪਣੇ ਮੁੱਖ ਸਿਮ ਸੈੱਟ ਕਰੋ"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ਉਹ ਸਿਮ ਚੁਣੋ ਜਿਸਦੀ ਵਰਤੋਂ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਤੌਰ \'ਤੇ ਕਾਲਾਂ, ਲਿਖਤ ਸੁਨੇਹਿਆਂ ਅਤੇ ਡਾਟੇ ਲਈ ਕੀਤੀ ਜਾਵੇਗੀ"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ਤੁਹਾਡੇ ਮੁੱਖ ਸਿਮ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ਕਾਲਾਂ"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ਲਿਖਤ ਸੁਨੇਹੇ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ਆਪਣੇ ਆਪ ਡਾਟਾ ਸਵਿੱਚ ਹੋਣਾ"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ਕਵਰੇਜ ਅਤੇ ਉਪਲਬਧਤਾ ਦੇ ਆਧਾਰ \'ਤੇ ਕਿਸੇ ਵੀ ਸਿਮ ਤੋਂ ਡਾਟੇ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ਸਿਰਫ਼ ਡਾਟਾ"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ਸੈੱਟਅੱਪ ਕਰੋ"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ਅੱਗੇ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ਫ਼ੋਨ ਨੰਬਰ"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"ਸਿਮ ਦਾ ਲੇਬਲ ਅਤੇ ਰੰਗ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ਨੈੱਟਵਰਕ ਕਿਰਿਆਸ਼ੀਲਤਾ"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"ਕੈਰੀਅਰ ਨੂੰ ਬਦਲਿਆ ਜਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਕਿਰਿਆਸ਼ੀਲ ਹੈ"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ਤੁਹਾਡਾ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਸਿਮ ਕਿਰਿਆਸ਼ੀਲ ਹੈ"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM ਸੈਟਿੰਗਾਂ ਨੂੰ ਅੱਪਡੇਟ ਕਰਨ ਲਈ ਟੈਪ ਕਰੋ"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਵਰਤਿਆ ਗਿਆ"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"ਕੋਈ ਹੋਰ ਕੈਰੀਅਰ ਵਰਤਿਆ ਗਿਆ"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"ਤੁਹਾਡਾ ਮੋਬਾਈਲ ਨੈੱਟਵਰਕ ਬਦਲ ਗਿਆ ਹੈ"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"ਆਪਣੇ ਦੂਜੇ ਸਿਮ ਦਾ ਸੈੱਟਅੱਪ ਕਰੋ"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"ਆਪਣਾ ਸਰਗਰਮ ਸਿਮ ਚੁਣੋ ਜਾਂ ਇੱਕੋ ਵੇਲੇ 2 ਸਿਮਾਂ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ਵਰਤਣ ਲਈ ਕੋਈ ਨੰਬਰ ਚੁਣੋ"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ਇਸ ਡੀਵਾਈਸ \'ਤੇ 1 ਨੰਬਰ ਉਪਲਬਧ ਹੈ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}=2{ਇਸ ਡੀਵਾਈਸ \'ਤੇ 2 ਨੰਬਰ ਉਪਲਬਧ ਹਨ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}one{ਇਸ ਡੀਵਾਈਸ \'ਤੇ # ਨੰਬਰ ਉਪਲਬਧ ਹੈ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}other{ਇਸ ਡੀਵਾਈਸ \'ਤੇ # ਨੰਬਰ ਉਪਲਬਧ ਹਨ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"<xliff:g id="ELLIPSIS">…</xliff:g>ਨੂੰ ਕਿਰਿਆਸ਼ੀਲ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ਇਸ ਵੇਲੇ ਕਿਰਿਆਸ਼ੀਲ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ਵਰਤਣ ਲਈ ਸਿਮ ਚੁਣੋ"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ਇਸ ਡੀਵਾਈਸ \'ਤੇ 1 ਸਿਮ ਉਪਲਬਧ ਹੈ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}=2{ਇਸ ਡੀਵਾਈਸ \'ਤੇ 2 ਸਿਮ ਉਪਲਬਧ ਹਨ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}one{ਇਸ ਡੀਵਾਈਸ \'ਤੇ # ਸਿਮ ਉਪਲਬਧ ਹੈ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}other{ਇਸ ਡੀਵਾਈਸ \'ਤੇ # ਸਿਮ ਉਪਲਬਧ ਹਨ, ਪਰ ਇੱਕ ਵਾਰ ਵਿੱਚ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ਫ਼ਿਲਹਾਲ ਇਸ ਸਿਮ ਨੂੰ ਚਾਲੂ ਨਹੀਂ ਕੀਤਾ ਜਾ ਸਕਿਆ"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"ਕੀ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਵਰਤਣਾ ਹੈ?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"ਮੋਬਾਈਲ ਡਾਟਾ, ਕਾਲਾਂ ਅਤੇ SMS ਲਈ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ਨੂੰ ਵਰਤਿਆ ਜਾਵੇਗਾ।"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ਕੋਈ ਕਿਰਿਆਸ਼ੀਲ ਸਿਮ ਉਪਲਬਧ ਨਹੀਂ ਹੈ"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"ਮੋਬਾਈਲ ਡਾਟਾ, ਕਾਲ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਅਤੇ SMS ਬਾਅਦ ਵਿੱਚ ਵਰਤਣ ਲਈ, ਆਪਣੀਆਂ ਨੈੱਟਵਰਕ ਸੈਟਿੰਗਾਂ \'ਤੇ ਜਾਓ"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ਸਿਮ"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ਕੀ ਇਸ ਈ-ਸਿਮ ਨੂੰ ਮਿਟਾਉਣਾ ਹੈ?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ਇਹ ਸਿਮ ਮਿਟਾਉਣ ਨਾਲ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ਸੇਵਾ ਇਸ ਡੀਵਾਈਸ ਤੋਂ ਹਟ ਜਾਂਦੀ ਹੈ।\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ਲਈ ਸੇਵਾ ਰੱਦ ਨਹੀਂ ਕੀਤੀ ਜਾਵੇਗੀ।"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ਅਜਿਹਾ ਕਰਨ ਨਾਲ ਇਸ ਡੀਵਾਈਸ ਤੋਂ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ਸੇਵਾ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ, ਪਰ ਤੁਹਾਡੇ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ਪਲਾਨ ਨੂੰ ਰੱਦ ਨਹੀਂ ਕੀਤਾ ਜਾਵੇਗਾ।"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ਮਿਟਾਓ"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"ਸਿਮ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ਕਿਸੇ ਗੜਬੜ ਕਰਕੇ ਇਹ ਸਿਮ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"ਈ-ਸਿਮ ਨੂੰ ਮਿਟਾਇਆ ਜਾ ਰਿਹਾ ਹੈ…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ਈ-ਸਿਮ ਨੂੰ ਮਿਟਾਇਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"ਕੋਈ ਗੜਬੜ ਹੋ ਗਈ ਅਤੇ ਇਸ ਈ-ਸਿਮ ਨੂੰ ਮਿਟਾ ਦਿੱਤਾ ਗਿਆ ਸੀ।\n\nਆਪਣੇ ਡੀਵਾਈਸ ਨੂੰ ਮੁੜ-ਸ਼ੁਰੂ ਕਰ ਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ।"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਕਰੋ"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> ਐਪ ਤੁਹਾਡੇ ਡੀਵਾਈਸ ਨਾਲ ਕਨੈਕਟ ਹੋਣ ਲਈ ਕਿਸੇ ਅਸਥਾਈ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਨੂੰ ਵਰਤਣਾ ਚਾਹੁੰਦੀ ਹੈ"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ਕੋਈ ਡੀਵਾਈਸ ਨਹੀਂ ਮਿਲੇ। ਪੱਕਾ ਕਰੋ ਕਿ ਡੀਵਾਈਸ ਚਾਲੂ ਹਨ ਅਤੇ ਕਨੈਕਟ ਹੋਣ ਲਈ ਉਪਲਬਧ ਹਨ।"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"ਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"ਵਾਈ-ਫਾਈ ਕਾਲਿੰਗ ਰਾਹੀਂ ਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ ਕਰਨ ਦੀ ਸੁਵਿਧਾ ਤੁਹਾਡੇ ਕੈਰੀਅਰ ਵਿੱਚ ਨਹੀਂ ਹੈ।\nਸੰਕਟਕਾਲੀਨ ਕਾਲ ਕਰਨ ਲਈ ਤੁਹਾਡਾ ਡੀਵਾਈਸ ਸਵੈਚਲਿਤ ਤੌਰ \'ਤੇ ਸੈਲਿਊਲਰ ਨੈੱਟਵਰਕ \'ਤੇ ਬਦਲ ਜਾਂਦਾ ਹੈ।\nਸੰਕਟਕਾਲੀਨ ਕਾਲਾਂ ਸਿਰਫ਼ ਸੈਲਿਊਲਰ ਕਵਰੇਜ ਵਾਲੇ ਖੇਤਰਾਂ ਵਿੱਚ ਸੰਭਵ ਹਨ।"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ਕੁਆਲਿਟੀ ਬਿਹਤਰ ਬਣਾਉਣ ਵਾਸਤੇ ਕਾਲਾਂ ਲਈ ਵਾਈ-ਫਾਈ ਵਰਤੋ"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"ਬੈਕਅੱਪ ਕਾਲਿੰਗ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"ਜੇ <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ਉਪਲਬਧ ਨਹੀਂ ਜਾਂ ਰੋਮਿੰਗ ਹੈ, ਤਾਂ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ਕਾਲਾਂ ਲਈ ਆਪਣੇ ਮੋਬਾਈਲ ਡਾਟਾ ਸਿਮ ਦੀ ਵਰਤੋਂ ਕਰੋ।"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"ਬੈਕਅੱਪ ਕਾਲਿੰਗ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ਆਉਣ ਵਾਲਾ MMS ਸੁਨੇਹਾ"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS ਸੁਨੇਹਾ ਭੇਜਿਆ ਨਹੀਂ ਜਾ ਸਕਦਾ"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ਮੋਬਾਈਲ ਡਾਟਾ ਬੰਦ ਹੋਣ \'ਤੇ <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> \'ਤੇ MMS ਸੁਨੇਹੇ ਭੇਜਣ ਅਤੇ ਪ੍ਰਾਪਤ ਕਰਨ ਦੇਣ ਲਈ ਟੈਪ ਕਰੋ"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ਤੁਹਾਡੀ ਕਾਰਜ ਨੀਤੀ ਸੰਬੰਧੀ ਜਾਣਕਾਰੀ"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ਤੁਹਾਡੇ ਆਈ.ਟੀ. ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਸੈਟਿੰਗਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K ਦੇ ਪੰਨੇ ਦੇ ਆਕਾਰ ਨਾਲ ਬੂਟ ਕਰੋ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"ਡੀਵਾਈਸ ਨੂੰ 16K ਦੇ ਪੰਨੇ ਦੇ ਆਕਾਰ ਨਾਲ ਸਮਰਥਿਤ ਕਰਨਲ ਦੀ ਵਰਤੋਂ ਕਰ ਕੇ ਬੂਟ ਕਰੋ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"ਕੀ 16KB ਪੰਨਿਆਂ ਦੇ ਅਨੁਰੂਪ ਕਰਨਲ ਨਾਲ ਰੀਬੂਟ ਕਰਨਾ ਹੈ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ਚਿਤਾਵਨੀ: ਹੋ ਸਕਦਾ ਹੈ ਕਿ ਕੁਝ ਐਪਲੀਕੇਸ਼ਨਾਂ ਇਸ ਮੋਡ ਦੇ ਅਨੁਰੂਪ ਨਾ ਹੋਣ। ਤਸਦੀਕੀਕਰਨ ਤੋਂ ਬਾਅਦ ਡੀਵਾਈਸ ਰੀਬੂਟ ਹੋ ਜਾਵੇਗਾ।"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"ਕੀ 4KB ਪੰਨਿਆਂ ਦੇ ਅਨੁਰੂਪ ਕਰਨਲ ਨਾਲ ਰੀਬੂਟ ਕਰਨਾ ਹੈ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"ਤਸਦੀਕੀਕਰਨ ਤੋਂ ਬਾਅਦ ਡੀਵਾਈਸ ਰੀਬੂਟ ਹੋ ਜਾਵੇਗਾ।"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"ਕਰਨਲ ਨੂੰ 16KB ਪੰਨਿਆਂ ਦੇ ਅਨੁਰੂਪ ਕਰਨਲ ਨਾਲ ਅੱਪਡੇਟ ਕਰਨਾ ਅਸਫਲ ਰਿਹਾ।"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"ਤਬਦੀਲੀ ਨੂੰ ਲਾਗੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"ਬੱਗ ਰਿਪੋਰਟ ਹੈਂਡਲਰ"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ਨਿਰਧਾਰਤ ਕਰੋ ਕਿ ਕਿਹੜੀ ਐਪ ਤੁਹਾਡੇ ਡੀਵਾਈਸ \'ਤੇ ਬੱਗ ਰਿਪੋਰਟ ਸ਼ਾਰਟਕੱਟ ਦੀ ਸਾਂਭ-ਸੰਭਾਲ ਕਰੇਗੀ।"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ਨਿੱਜੀ"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"ਉਨ੍ਹਾਂ ਐਪਾਂ ਨੂੰ ਆਗਿਆ ਦਿਓ ਜੋ \'ਸੈਟਿੰਗਾਂ\' ਸਕ੍ਰੀਨਾਂ ਨੂੰ ਓਵਰਲੇ ਕਰਨ ਲਈ ਦੂਜੀਆਂ ਐਪਾਂ ਦੇ ਉੱਪਰ ਪ੍ਰਦਰਸ਼ਿਤ ਹੋ ਸਕਦੀਆਂ ਹਨ"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"ਕਲਪਿਤ ਮੋਡੈਮ ਨੂੰ ਆਗਿਆ ਦਿਓ"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ਇਸ ਡੀਵਾਈਸ ਨੂੰ ਉਪਕਰਨ ਦੀ ਜਾਂਚ ਲਈ ਕਲਪਿਤ ਮੋਡੈਮ ਸੇਵਾ ਚਲਾਉਣ ਦੀ ਆਗਿਆ ਦਿਓ। ਫ਼ੋਨ ਦੀ ਆਮ ਵਰਤੋਂ ਦੌਰਾਨ ਇਸਨੂੰ ਚਾਲੂ ਨਾ ਕਰੋ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"ਸਕ੍ਰੀਨ ਸਾਂਝਾਕਰਨ ਸੰਬੰਧੀ ਸੁਰੱਖਿਆਵਾਂ ਨੂੰ ਬੰਦ ਕਰੋ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"ਇਸ ਨਾਲ ਸਕ੍ਰੀਨ ਸਾਂਝਾਕਰਨ ਦੌਰਾਨ ਸਿਸਟਮ ਵੱਲੋਂ ਲਾਗੂ ਕੀਤੀਆਂ ਗਈਆਂ ਐਪ ਅਤੇ ਸੂਚਨਾਵਾਂ ਸੰਬੰਧੀ ਸੁਰੱਖਿਆਵਾਂ ਨੂੰ ਬੰਦ ਕੀਤਾ ਜਾਂਦਾ ਹੈ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"ਮੀਡੀਆ"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"ਮੀਡੀਆ ਪਲੇਅਰ ਨੂੰ ਪਿੰਨ ਕਰੋ"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"ਪਲੇਬੈਕ ਨੂੰ ਤੁਰੰਤ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਲਈ, ਤਤਕਾਲ ਸੈਟਿੰਗਾਂ ਵਿੱਚ ਮੀਡੀਆ ਪਲੇਅਰ ਖੁੱਲ੍ਹਾ ਰਹਿੰਦਾ ਹੈ"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਮੀਡੀਆ ਦਿਖਾਓ"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"ਪਲੇਬੈਕ ਨੂੰ ਤੁਰੰਤ ਮੁੜ-ਚਾਲੂ ਕਰਨ ਲਈ, ਲਾਕ ਸਕ੍ਰੀਨ \'ਤੇ ਮੀਡੀਆ ਪਲੇਅਰ ਖੁੱਲ੍ਹਾ ਰਹਿੰਦਾ ਹੈ"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"ਮੀਡੀਆ ਸਿਫ਼ਾਰਸ਼ਾਂ ਦਿਖਾਓ"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant ਮੀਡੀਆ ਸੰਬੰਧੀ ਸਿਫ਼ਾਰਸ਼ਾਂ ਦਿਖਾਓ"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"ਤੁਹਾਡੀ ਸਰਗਰਮੀ ਦੇ ਆਧਾਰ \'ਤੇ"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ਪਲੇਅਰ ਲੁਕਾਓ"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ਪਲੇਅਰ ਦਿਖਾਓ"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"ਮੀਡੀਆ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"ਕੈਮਰਾ ਸਾਫ਼ਟਵੇਅਰ ਐਕਸਟੈਂਸ਼ਨਾਂ ਦੀ ਆਗਿਆ ਦਿਓ"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"ਉੱਨਤ ਕੈਮਰਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੇ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ ਸਾਫ਼ਟਵੇਅਰ ਲਾਗੂਕਰਨ ਨੂੰ ਚਾਲੂ ਕਰਦਾ ਹੈ, ਜਿਵੇਂ ਕਿ ਅੱਖਾਂ ਰਹਿਤ ਵੀਡੀਓਗ੍ਰਾਫ਼ੀ।"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"ਬਲੂਟੁੱਥ ਚਾਲੂ ਹੋਵੇਗਾ"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ਇੰਟਰਨੈੱਟ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"ਸਿਮ"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ਸਿਮ"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"ਈ-ਸਿਮ"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"ਈ-ਸਿਮ"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"ਕਿਰਿਆਸ਼ੀਲ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ਅਕਿਰਿਆਸ਼ੀਲ"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ਚਾਲੂ ਹੈ"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ਬੰਦ ਹੈ"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> ਲਈ ਪੂਰਵ-ਨਿਰਧਾਰਿਤ"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ਕਾਲਾਂ"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ਅਨੁਰੂਪ ਮੀਡੀਆ ਤੋਂ ਆਡੀਓ ਵਧੇਰੇ ਇਮਰਸਿਵ ਬਣ ਜਾਂਦੀ ਹੈ"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ਹੈੱਡ ਟਰੈਕਿੰਗ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ਜਦੋਂ ਤੁਸੀਂ ਆਪਣਾ ਸਿਰ ਉਸ ਦਿਸ਼ਾ ਵੱਲ ਹਿਲਾਉਂਦੇ ਹੋ ਜਿੱਥੋਂ ਧੁਨੀ ਆ ਰਹੀ ਹੈ ਤਾਂ ਆਡੀਓ ਹੋਰ ਕੁਦਰਤੀ ਸੁਣਾਈ ਦਿੰਦੀ ਹੈ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ਸਿੰਕ ਕਰਨ ਸੰਬੰਧੀ ਇਜਾਜ਼ਤਾਂ"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ਨੂੰ ਉਹੀ ਐਪ ਇਜਾਜ਼ਤਾਂ ਦਿਓ, ਜਿਨ੍ਹਾਂ ਦੀ ਤੁਸੀਂ <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> \'ਤੇ ਆਗਿਆ ਦਿੱਤੀ ਹੈ"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ਫ਼ੋਨ ਤੋਂ ਇਜਾਜ਼ਤਾਂ ਸਿੰਕ ਕਰੋ"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ਆਪਣੀ ਘੜੀ ਨੂੰ ਉਹੀ ਐਪ ਇਜਾਜ਼ਤਾਂ ਦਿਓ, ਜਿਨ੍ਹਾਂ ਦੀ ਤੁਸੀਂ ਇਸ ਫ਼ੋਨ \'ਤੇ ਆਗਿਆ ਦਿੱਤੀ ਹੈ"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ਆਡੀਓ ਡੀਵਾਈਸ ਦੀ ਕਿਸਮ"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"ਅਗਿਆਤ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ਸਪੀਕਰ"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"ਦਰਮਿਆਨਾ"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ਜ਼ਿਆਦਾ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ਇਹ ਐਪ ਸਿਰਫ਼ 1 ਵਿੰਡੋ ਵਿੱਚ ਖੋਲ੍ਹੀ ਜਾ ਸਕਦੀ ਹੈ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ਚਾਲੂ ਹੈ"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ਬੰਦ ਹੈ"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ਬੰਦ ਹੈ"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ਬੰਦ"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ਚਾਲੂ"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ਬੰਦ"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ਚਾਲੂ"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ਬੰਦ"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ਹਲਕੇ ਰੰਗ ਦੀ ਸਕ੍ਰੀਨ ਗੂੜ੍ਹੇ ਰੰਗ ਵਿੱਚ ਅਤੇ ਗੂੜ੍ਹੇ ਰੰਗ ਦੀ ਸਕ੍ਰੀਨ ਹਲਕੇ ਰੰਗ ਵਿੱਚ ਬਦਲ ਜਾਂਦੀ ਹੈ"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ਸਕ੍ਰੀਨ \'ਤੇ ਜ਼ੂਮ ਵਧਾਓ"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ਬੰਦ"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ਬੰਦ"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ਧੋਖੇਬਾਜ਼ ਐਪਾਂ ਲਈ ਸਕੈਨ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ਫ਼ਿਸ਼ਿੰਗ ਲਈ ਐਪ ਸਰਗਰਮੀ ਦੀ ਜਾਂਚ ਕਰੋ"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ਧੋਖਾਧੜੀ ਵਾਲੀਆਂ ਐਪਾਂ ਲਈ ਸਕੈਨਿੰਗ ਦੀ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ਧੋਖਾਧੜੀ ਵਾਲੀਆਂ ਐਪਾਂ ਲਈ ਸਕੈਨਿੰਗ ਦੀ ਕੰਮ ਵਾਸਤੇ ਵਰਤੋਂ ਕਰੋ"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"ਹੁਣ ਪਾਸਵਰਡ ਸੈੱਟ ਹੋ ਗਿਆ ਹੈ"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"ਕਰਸਰ ਘੁਮਾਉਣ ਦੌਰਾਨ ਪੁਆਇੰਟ ਦਿਖਾਓ"</string>
 </resources>
diff --git a/res/values-pl/arrays.xml b/res/values-pl/arrays.xml
index a51b5c4..04202aa 100644
--- a/res/values-pl/arrays.xml
+++ b/res/values-pl/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Dostępne"</item>
     <item msgid="6096962300722555553">"Poza zasięgiem"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Wyłączone"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast i Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Użyj systemowego ustawienia domyślnego: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Po minucie"</item>
     <item msgid="1574040255478150028">"Po 5 minutach"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-pl/strings.xml b/res/values-pl/strings.xml
index 9f13466..48bb8dc 100644
--- a/res/values-pl/strings.xml
+++ b/res/values-pl/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Jesteś teraz programistą!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"W porządku, już jesteś programistą."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najpierw włącz opcje dla programistów."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Tylko administratorzy mają dostęp do ustawień dewelopera."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Działa"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Nie działa"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Przedni ekran włącza się, gdy składasz urządzenie"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Tylko gry, filmy i inne treści"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Przedni ekran włącza się w przypadku aplikacji, które blokują przechodzenie ekranu w tryb bezczynności"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Przesuń w górę, aby kontynuować"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Złóż telefon i przesuń palcem w górę na przednim ekranie, aby kontynuować korzystanie z aplikacji, lub poczekaj kilka sekund na zablokowanie ekranu."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nigdy"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Przedni ekran blokuje się, gdy składasz urządzenie"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Używaj autoobracania"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Podobne"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Dzwonek i alarmy"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Dźwięk podczas połączeń"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimedia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Powiadomienia i inne dźwięki systemowe"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Dźwięki multimediów i systemu"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Powiadomienia"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Domyślnie wyjście audio określają poszczególne aplikacje"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Urządzenie Bluetooth bez nazwy"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Wyszukiwanie"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Anuluj"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Wyłącz Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Wyłącza funkcję Bluetooth LE Audio, jeśli urządzenie obsługuje sprzętowe funkcje LE Audio"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Tryb Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Pokazuj przełącznik LE Audio w Szczegółach urządzenia"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Włącz listę dozwolonych urządzeń Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Funkcja włączania listy dozwolonych urządzeń Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omijaj listę dozwolonych Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Używaj domyślnie technologii LE Audio, nawet jeśli urządzenie peryferyjne LE Audio nie zostało zweryfikowane jako spełniające kryteria listy dozwolonych."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Nośniki danych"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Urządzenia telefoniczne"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Inne urządzenia"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Zapisane urządzenia"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Powiązane z kontem"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Poprzednio używane z kontem"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth włączy się, by sparować urządzenia"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ustawienia połączeń"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Wcześniej połączone"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth włączony"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Pokaż wszystkie"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Pokaż wszystkie"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Rysik"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Długie naciśnięcie przycisku"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (profil służbowy)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisz w polach tekstowych"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoruj wszystkie naciśnięcia przycisku rysika"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Rysik"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Udostępnianie dźwięku"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Udostępniaj dźwięk"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Połączenia i alarmy"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Połącz się ze strumieniem audio za pomocą kodu QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nie znaleziono strumieni audio w pobliżu."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data i godzina"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Serwer proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Wyczyść"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Dodać %s do preferowanych języków?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Informuje to aplikacje i strony, że preferujesz również ten język."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Zmienią się ustawienia urządzenia i preferencje regionalne."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Zmień"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Język %s nie jest dostępny"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sobota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Jeśli aplikacja nie obsługuje preferencji regionalnych, użyje swoich domyślnych ustawień regionu."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Dowiedz się więcej o ustawieniach języka"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Dodatkowe ustawienia"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Preferowany rodzaj gramatyczny"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Określ, jak się do Ciebie zwracać"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikacje mogą używać Twojego preferowanego rodzaju gramatycznego, aby zwracać się do Ciebie w spersonalizowany sposób."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nie określono"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Żeński"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Męski"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Nie mam zdania"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Usunąć wybrany język?}few{Usunąć wybrane języki?}many{Usunąć wybrane języki?}other{Usunąć wybrane języki?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Tekst będzie wyświetlany w innym języku."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nie można usunąć wszystkich języków"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokalizacja"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Włącz lokalizację"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Wyłączono"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_summary_location_on" msgid="4273299717586679786">"{count,plural, =1{Włączono / # aplikacja ma dostęp do lokalizacji}few{Włączono / # aplikacje mają dostęp do lokalizacji}many{Włączono / # aplikacji ma dostęp do lokalizacji}other{Włączono / # 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_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="5329024810729665156">"Dowiedz się więcej o ustawieniach lokalizacji"</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="3574930966097093550">"Aby zmienić dostęp do lokalizacji, kliknij Ustawienia &gt; Prywatność i bezpieczeństwo &gt; Ustawienia prywatności"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Konta"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Zabezpieczenia"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Szyfrowanie i dane logowania"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Najlepsze efekty daje osłona ekranu z oznaczeniem „Made for Google”. W przypadku innych osłon ekranu odcisk palca Twojego dziecka może nie zadziałać."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Odblokowywanie za pomocą zegarka"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Jeśli ustawisz rozpoznawanie twarzy i odblokowywanie odciskiem palca, w ciemnym otoczeniu oraz w sytuacji, gdy będziesz mieć maskę, pojawi się prośba o użycie odcisku palca.\n\nJeśli odcisk palca lub twarz nie zostaną rozpoznane, możesz odblokować urządzenie zegarkiem."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Jeśli odcisk palca nie zostanie rozpoznany, możesz odblokować telefon zegarkiem."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Jeśli twarz nie zostanie rozpoznana, możesz odblokować urządzenie zegarkiem."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Jeśli ustawisz rozpoznawanie twarzy i odblokowywanie odciskiem palca, w ciemnym otoczeniu oraz gdy będziesz mieć maskę, na telefonie pojawi się prośba o użycie odcisku palca.\n\nOdblokowywanie za pomocą zegarka to wygodny sposób na odblokowanie telefonu, gdy masz mokre palce lub nie udaje się rozpoznać Twojej twarzy."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Odblokowywanie za pomocą zegarka to inny wygodny sposób na odblokowanie telefonu, gdy nie udaje się rozpoznać odcisku palca."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Odblokowywanie za pomocą zegarka to wygodny sposób na odblokowanie telefonu, gdy nie udaje się rozpoznać Twojej twarzy."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Używaj zegarka lub odcisku palca do:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Użyj zegarka lub rozpoznawania twarzy do:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Przy użyciu rozpoznawania twarzy, odcisku palca lub zegarka:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Odblokowywanie za pomocą zegarka to wygodny sposób na odblokowywanie telefonu, gdy masz mokre palce lub nie udaje się rozpoznać Twojej twarzy.\n\nMożesz korzystać z zegarka, aby odblokować telefon, w tych sytuacjach:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Nie teraz"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Dalej"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Więcej"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Jak to działa"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Zegarek musi być odblokowany oraz znajdować się na nadgarstku i w zasięgu telefonu. Jeśli masz zegarek na nadgarstku, ponowne odblokowanie nie będzie konieczne."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Gdy telefon zostanie odblokowany, dostaniesz powiadomienie na zegarku. W przypadku niezamierzonego odblokowania kliknij powiadomienie, aby ponownie zablokować telefon."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Masz wszystko pod kontrolą"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Możesz usunąć zegarek z funkcji odblokowywania za pomocą zegarka w dowolnym momencie w Ustawieniach."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Kliknij powiadomienie"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Przesuń palcem w górę na ekranie blokady"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Wybierz zegarek"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Dostępne zegarki"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Anuluj"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potwierdź"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Wszystko gotowe"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Możesz teraz używać zegarka do odblokowywania tego telefonu przez przeciąganie palcem w górę po powiadomieniu"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Gotowe"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"odblokowywanie za pomocą zegarka"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Możesz używać zegarka do odblokowywania tego telefonu przez przeciągnięcie palcem w górę na ekranie blokady lub kliknięcie powiadomienia"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Aby można było skorzystać z odblokowywania za pomocą zegarka, zegarek musi być odblokowany oraz znajdować się na nadgarstku i w pobliżu odblokowywanego telefonu. Jeśli połączenie zostanie przerwane, trzeba będzie najpierw odblokować telefon, aby móc korzystać z funkcji odblokowywania za pomocą zegarka.\n\nPamiętaj:\nNie można mieć kilku skonfigurowanych zegarków jednocześnie. Aby dodać kolejny zegarek, najpierw usuń dotychczasowy."</string>
+    <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 za pomocą odcisku palca i rozpoznawania twarzy"</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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Bezpieczeństwo"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Prywatność"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profil służbowy"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Przestrzeń prywatna"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Pozostaw aplikacje prywatne zablokowane i ukryte"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Przechowuj aplikacje prywatne w oddzielnym obszarze, który możesz ukryć lub zablokować"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Blokada przestrzeni prywatnej"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Przestrzeń prywatną można odblokowywać tak samo jak urządzenie lub wybrać inną blokadę"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Używaj blokady ekranu urządzenia"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Rozpoznawanie twarzy i odblokowywanie odciskiem palca"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Odblokowywanie odciskiem palca"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Rozpoznawanie twarzy"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Kliknij, aby skonfigurować"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Odblokowywanie przestrzeni prywatnej odciskiem palca"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Rozpoznawanie twarzy na potrzeby przestrzeni prywatnej"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Sposoby odblokowywania"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Taka sama jak blokada ekranu urządzenia"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Wybrać nową blokadę dla przestrzeni prywatnej?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automatyczne blokowanie przestrzeni prywatnej"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Możesz automatycznie zablokować swoją przestrzeń prywatną przy braku aktywności urządzenia przez określony czas"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Przy każdym zablokowaniu urządzenia"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Po 5 minutach braku aktywności"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nigdy"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ukryj po zablokowaniu"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ukryj przestrzeń prywatną po jej zablokowaniu"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Aby inni nie wiedzieli, że na urządzeniu jest przestrzeń prywatna, możesz ukryć ją na liście aplikacji"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Dostęp do przestrzeni prywatnej po jej ukryciu"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Z poziomu listy aplikacji wpisz „przestrzeń prywatna” w pasku wyszukiwania"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Kliknij kafelek przestrzeni prywatnej"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Odblokuj przestrzeń prywatną"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Wyłączono"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Włączono"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Usuń przestrzeń prywatną"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Usunąć przestrzeń prywatną?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Twoja przestrzeń prywatna zostanie usunięta z urządzenia. Wszystkie aplikacje i dane zostaną usunięte. Tej czynności nie można cofnąć."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Konta poniżej zostaną usunięte z przestrzeni prywatnej:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Usuń"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Usuwam przestrzeń prywatną…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Potrwa to kilka minut."</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Usunięto przestrzeń prywatną"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Nie udało się usunąć przestrzeni prywatnej"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Przestrzeń prywatna odblokowana"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ustaw blokadę ekranu"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Aby korzystać z obszaru prywatnego, ustaw na tym urządzeniu blokadę ekranu"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ustaw blokadę ekranu"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Anuluj"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Anuluj"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Skonfiguruj"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Skonfiguruj obszar prywatny"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Przechowuj aplikacje prywatne w oddzielnym obszarze, który możesz ukryć lub zablokować"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Jak to działa"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Dostęp do obszaru prywatnego można uzyskać z dołu listy aplikacji"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikacje w obszarze prywatnym są chronione blokadą"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Powiadomienia z aplikacji w obszarze prywatnym są ukryte, gdy jest on zablokowany"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikacje w obszarze prywatnym nie będą wyświetlane w menedżerze uprawnień, panelu prywatności ani innych ustawieniach, gdy obszar prywatny jest zablokowany.\n\nObszaru prywatnego nie można przenieść na nowe urządzenie. Jeśli chcesz korzystać z niego na innym urządzeniu, musisz skonfigurować kolejny obszar prywatny.\n\nKażdy, kto połączy Twoje urządzenie z komputerem lub zainstaluje na urządzeniu szkodliwe aplikacje, będzie mieć możliwość uzyskania dostępu do Twojego obszaru prywatnego."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Konfiguruję obszar prywatny…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Powiadomienia z aplikacji w przestrzeni prywatnej są ukryte, gdy jest ona zablokowana"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Odblokuj przestrzeń prywatną, aby udostępniać zdjęcia i pliki"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Niektóre aplikacje są już zainstalowane w obszarze prywatnym"</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_lockscreen_title" msgid="6034864097861137509">"Używać blokady ekranu do odblokowywania obszaru prywatnego?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Obszar prywatny można odblokowywać tak samo jak urządzenie lub wybrać inną blokadę"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Używaj blokady ekranu"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Wybierz nową blokadę"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Wszystko gotowe."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Aby znaleźć przestrzeń prywatną, przejdź do listy aplikacji, a następnie przewiń w dół"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Gotowe"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Przewiń w dół, aby znaleźć obszar prywatny"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Zaloguj się"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Aby używać przestrzeni prywatnej, musisz zalogować się na konto"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Nie teraz"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Dalej"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Wybierz blokadę dla swojego obszaru prywatnego"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Obszar prywatny można odblokować za pomocą odcisku palca. Ze względów bezpieczeństwa ta opcja wymaga blokady kopii zapasowej."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Ustaw kod PIN do przestrzeni prywatnej"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Ustaw hasło do przestrzeni prywatnej"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Ustaw wzór do przestrzeni prywatnej"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Możesz dodać do <xliff:g id="COUNT">%d</xliff:g> odcisków palców"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodano maksymalną liczbę odcisków palców"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nie można dodać więcej odcisków palców"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Wzór"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Kod PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Hasło"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Usunąć blokadę ekranu?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Usunąć wszystkie metody odblokowania urządzenia?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Wyłączyć ochronę profilu?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Wzór ochroni Twój telefon, jeśli zostanie zgubiony lub skradziony"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Wzór ochroni Twój telefon, jeśli zostanie zgubiony lub skradziony.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Model odcisku palca zapisany na telefonie zostanie usunięty. Twój model twarzy również zostanie trwale i bezpiecznie usunięty. Uwierzytelnianie się w aplikacjach skanem twarzy i odciskiem palca nie będzie możliwe."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Jeśli telefon zostanie zgubiony lub skradziony, ochroni go kod PIN."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Zapisane dane, takie jak kod PIN, zostaną utracone.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty skonfigurowane do płatności zbliżeniowych zostaną usunięte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portfele i inne aplikacje wymagające odblokowania urządzenia mogą nie działać prawidłowo."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Jeśli telefon zostanie zgubiony lub skradziony, ochroni go kod PIN.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Model odcisku palca zapisany na telefonie również zostanie usunięty. Uwierzytelnianie się w aplikacjach odciskiem palca nie będzie możliwe."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Zapisane dane, takie jak kod PIN i odcisk palca, zostaną utracone.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty skonfigurowane do płatności zbliżeniowych zostaną usunięte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portfele i inne aplikacje wymagające odblokowania urządzenia mogą nie działać prawidłowo."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Jeśli telefon zostanie zgubiony lub skradziony, ochroni go kod PIN.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Twój model twarzy również zostanie trwale i bezpiecznie usunięty. Uwierzytelnianie się w aplikacjach skanem twarzy nie będzie możliwe."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Zapisane dane, takie jak kod PIN i model twarzy, zostaną utracone.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty skonfigurowane do płatności zbliżeniowych zostaną usunięte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portfele i inne aplikacje wymagające odblokowania urządzenia mogą nie działać prawidłowo."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Jeśli telefon zostanie zgubiony lub skradziony, ochroni go kod PIN.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Model odcisku palca zapisany na telefonie zostanie usunięty. Twój model twarzy również zostanie trwale i bezpiecznie usunięty. Uwierzytelnianie się w aplikacjach skanem twarzy i odciskiem palca nie będzie możliwe."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Zapisane dane, takie jak kod PIN, model twarzy i odcisk palca, zostaną utracone.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty skonfigurowane do płatności zbliżeniowych zostaną usunięte.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portfele i inne aplikacje wymagające odblokowania urządzenia mogą nie działać prawidłowo."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Hasło ochroni Twój telefon, jeśli zostanie zgubiony lub skradziony"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Hasło ochroni Twój telefon, jeśli zostanie zgubiony lub skradziony.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Sparować z urządzeniem <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Dodaj nowe urządzenie do istniejącego skoordynowanego zestawu"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potwierdź, aby dodać drugą część urządzenia audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kod parowania Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Wpisz kod parowania i naciśnij Return lub Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Kod PIN zawiera litery lub symbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Musi składać się z 16 cyfr"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Może być również konieczne wpisanie tego kodu PIN na drugim urządzeniu."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Może być również konieczne wpisanie tego klucza na drugim urządzeniu."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potwierdź, aby sparować ze skoordynowanym zestawem"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potwierdź, aby sparować z urządzeniem audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Zezwól na dostęp do kontaktów i historii połączeń"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Zezwól również na dostęp do kontaktów i historii połączeń"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informacje zostaną wykorzystane do powiadomień o połączeniach i innych funkcji"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nie udało się nawiązać połączenia z <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dostępne urządzenia"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Połącz"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Rozłącz"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Sparuj i połącz"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Po włączeniu Bluetootha urządzenie może komunikować się z innymi urządzeniami Bluetooth w pobliżu"</string>
     <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_scan_change" msgid="1744636222637390367">"Zmień"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Szczegóły urządzenia"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Zezwalaj ART na sprawdzanie kodu bajtowego aplikacji do debugowania"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Pokazuj częstotliwość odświeżania"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Pokazuj bieżącą częstotliwość odświeżania"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Pokaż format obrazu HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Pokaż bieżący format obrazu HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"Komunikacja NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC wymaga odblokowania urządzenia"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"W trybie samolotowym"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Powiadamiaj o sieciach publicznych"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Powiadamiaj o dostępnej publicznej sieci wysokiej jakości"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Zezwalaj na sieci z protokołem WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP to starszy protokół zabezpieczeń, który jest mniej bezpieczny"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Twój operator nie zezwala na sieci z protokołem WEP, ponieważ są one mniej bezpieczne"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Włączaj Wi-Fi automatycznie"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi włączy się w pobliżu zapisanych sieci wysokiej jakości, takich jak Twoja sieć domowa"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Niedostępne, bo lokalizacja jest wyłączona. Włącz "<annotation id="link">"lokalizację"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Skanowanie Wi-Fi umożliwia wyszukiwanie urządzeń w pobliżu przez aplikacje i usługi 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Włącz"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skanowanie Wi-Fi włączone"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ta sieć wykorzystuje starszy protokół zabezpieczeń, który jest mniej bezpieczny"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Aplikacja <xliff:g id="NAME">%1$s</xliff:g> została zablokowana"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ta sieć wykorzystuje starszy protokół zabezpieczeń WEP, który jest mniej bezpieczny. Aby połączyć się mimo to, można zezwolić na sieci z protokołem WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Twój operator nie zezwala na łączenie się z tą siecią, ponieważ korzysta ona ze starszego protokołu zabezpieczeń, który jest mniej bezpieczny"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Zezwalaj na sieci z protokołem WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zamknij"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opcje zaawansowane"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista Opcje zaawansowane"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"rozwiń"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Pozostań przy Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Nie pokazuj już nigdy"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Połącz"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi włączone"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Połączono z siecią <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Łączę z: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Łączę…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Nie można nawiązać połączenia z siecią"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Poza zasięgiem sieci"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Zapomnij"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Zmień"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Nie udało się zapomnieć sieci"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Zapisz"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Nie udało się zapisać sieci"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Anuluj"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobilna transmisja danych"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – ładowanie"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – ładowanie"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Połączenia hotspotu"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Siła połączenia"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Zapisane sieci"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nie ustawiono hasła"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nazwa hotspota"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hasło do hotspota"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Pasmo punktu dostępu"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Automatycznie wyłączaj hotspot"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Gdy nie jest połączone żadne urządzenie"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Zwiększ zgodność"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balans bieli wyświetlacza"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Nadal używaj aplikacji po złożeniu"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Płynne wyświetlanie"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"W przypadku niektórych treści automatycznie podwyższa częstotliwość odświeżania z 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz. Zwiększa zużycie baterii."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Wyłączenie domyślnej liczby klatek w grach"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Wyłącz ograniczenie maksymalnej liczby klatek na sekundę w grach do <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Płynne wyświetlanie"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"W przypadku niektórych treści automatycznie podwyższa częstotliwość odświeżania do <xliff:g id="ID_1">%1$d</xliff:g> Hz. Zwiększa wykorzystanie baterii."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Wymuszaj częstotliwość odświeżania na najwyższym poziomie"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najszybsza częstotliwość odświeżania zapewnia szybszą reakcję na dotyk i wyższą jakość animacji, ale zwiększa zużycie baterii"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Aktywność ekranu"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Aktywność ekranu sprawdza za pomocą przedniego aparatu, czy ktoś patrzy na ekran. Działa na urządzeniu, a obrazy nie są zapisywane ani wysyłane do Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Włącz aktywność ekranu"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Utrzymuj ekran włączony, gdy na niego patrzysz"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Dłuższe automatyczne wygaszanie spowoduje większe wykorzystanie baterii"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Aparat jest zablokowany"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Wykrywanie twarzy wymaga odblokowania aparatu"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Aktywność ekranu wymaga odblokowania aparatu"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (gniazdo SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (gniazdo SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) – pierwotne"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Aby wyświetlić, wybierz zapisaną sieć"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"Numer MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Wersja PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Poziom naładowania baterii"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Wspólne"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Wspólne ustawienia"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Przesyłanie wiadomości przez satelitę"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Nazwy APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Edytuj punkt dostępu"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Dodaj punkt dostępu"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nie ustawiono"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nie ustawiono"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nazwa"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN włączony"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN wyłączona"</string>
     <string name="bearer" msgid="3231443241639159358">"Nośnik"</string>
+    <string name="network_type" msgid="748590707422733595">"Typ sieci"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nieokreślony"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Typ MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Wartość MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Usuń APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Zapisz"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Anuluj"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Zduplikowany wpis apn."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Nazwa nie może być pusta."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Nazwa APN nie może być pusta."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Pole MCC musi zawierać 3 cyfry."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Pole MNC musi zawierać 2 lub 3 cyfry."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operator nie zezwala na dodawanie nazw APN typu %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Pole MMSC musi być prawidłowe."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Przywracanie domyślnych ustawień APN"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Resetuj ustawienia"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Przywrócono domyślne ustawienia APN."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetuj"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth i Wi‑Fi zostały zresetowane"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Wykasuj karty eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Nie spowoduje to anulowania Twoich abonamentów. Aby pobrać zastępcze karty SIM, skontaktuj się z operatorem."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Nie spowoduje to anulowania Twojego abonamentu. Aby otrzymać zastępczą kartę SIM, skontaktuj się z operatorem."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Zresetuj ustawienia"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Zresetować wszystkie ustawienia sieci? Tej czynności nie można cofnąć."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Zresetować wszystkie ustawienia sieci i wykasować karty eSIM? Tej czynności nie można cofnąć."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Zresetować?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Resetowanie sieci nie jest dostępne dla tego użytkownika"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Ustawienia sieciowe zostały zresetowane"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Nie można usunąć danych z kart SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Nie można wykasować tej karty eSIM z powodu błędu.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Nie można usunąć danych z kart eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Coś poszło nie tak i dane z Twoich kart eSIM nie zostały usunięte.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Wykasuj wszystkie dane (przywróć dane fabryczne)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Wykasuj wszystkie dane (przywróć dane fabryczne)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"muzyka"</li>\n<li>"zdjęcia"</li>\n<li>"inne dane użytkownika"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"karty eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Nie spowoduje to anulowania Twojego abonamentu w sieci komórkowej."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Wszystkie Twoje dane osobowe oraz pobrane aplikacje zostaną usunięte. Tej czynności nie można cofnąć."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Wszystkie Twoje dane osobowe, w tym pobrane aplikacje i karty SIM, zostaną usunięte. Nie można cofnąć tej czynności."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Wszystkie Twoje dane osobowe, w tym pobrane aplikacje i karty eSIM, zostaną usunięte. Tej czynności nie można cofnąć."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Usunąć wszystkie dane?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Przywracanie ustawień fabrycznych nie jest dostępne dla tego użytkownika"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Kasuję"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nie udostępniam internetu innym urządzeniom"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Wyłączone"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nie używaj hotspota Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Udostępniaj internet tylko przez USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Udostępniaj internet tylko przez Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Udostępniaj internet tylko przez Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Udostępniaj internet tylko przez USB i Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Udostępniaj internet tylko przez USB i Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Udostępniaj internet tylko przez Bluetooth i Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Udostępniaj internet tylko przez Bluetooth, USB i Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering przez USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering przez Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering przez Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Funkcje hotspotu i tetheringu pozwalają zapewnić połączenie z internetem innym urządzeniom za pomocą Wi-Fi lub komórkowego połączenia transmisji danych. Aplikacje mogą też utworzyć hotspot, by udostępniać treści urządzeniom w pobliżu."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pomoc"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Sieć komórkowa"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Taryfa komórkowa"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikacja do SMS-ów"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Zmienić aplikację do SMS-ów?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Chcesz używać aplikacji <xliff:g id="NEW_APP">%1$s</xliff:g> zamiast <xliff:g id="CURRENT_APP">%2$s</xliff:g> do wysyłania i otrzymywania SMS-ów?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Zmienić asystenta Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Używać <xliff:g id="NEW_APP">%1$s</xliff:g> zamiast <xliff:g id="CURRENT_APP">%2$s</xliff:g> do zarządzania połączeniami sieciowymi?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Używać <xliff:g id="NEW_APP">%s</xliff:g> do zarządzania połączeniami sieciowymi?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nieznany operator karty SIM"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nie ma znanej witryny obsługi administracyjnej"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Włóż kartę SIM i zrestartuj urządzenie"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Połącz się z internetem"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Ostatnie prośby o lokalizację"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokalizacja dla profilu służbowego"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Dostęp do lokalizacji"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Anuluj dostęp"</string>
     <string name="controls_label" msgid="8671492254263626383">"Elementy sterujące"</string>
     <string name="force_stop" msgid="2681771622136916280">"Wymuś zatrzymanie"</string>
+    <string name="archive" msgid="9074663845068632127">"Archiwizuj"</string>
+    <string name="restore" msgid="7622486640713967157">"Przywróć"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Przywracam"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Przywracam aplikację"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Przywracam aplikację…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Przywracam…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Razem"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Rozmiar aplikacji"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikacja w pamięci USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nie udało się obliczyć rozmiaru pakietu."</string>
     <string name="version_text" msgid="7628938665256107608">"wersja <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Przenieś"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Nie udało się zarchiwizować"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Zarchiwizowano: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Nie udało się przywrócić"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Przywracam aplikację <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Inna migracja jest już w toku."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Za mało miejsca w pamięci."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikacja nie istnieje."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Dostępna klawiatura ekranowa"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Zarządzaj klawiaturami ekranowymi"</string>
     <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 zwrócone"</string>
+    <string name="bounce_keys_summary" msgid="6922850403920596246">"Włącz Klawisze zwrócone w ułatwieniach dostępu klawiatury fizycznej"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Powolne klawisze"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Włącz Powolne klawisze w ułatwieniach dostępu klawiatury fizycznej"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Klawisze trwałe"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Włącz Klawisze trwałe w ułatwieniach dostępu klawiatury fizycznej"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Szybkość wskaźnika"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Poznaj gesty na touchpada"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Przejście na ekran główny"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Przesuń 3 palcami w górę w dowolnym miejscu na touchpadzie"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Przechodzenie wstecz"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sortuj według czasu użycia"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sortuj według ostatniego użycia"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sortuj według nazwy aplikacji"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Ostatnie użycie"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Ostatnie użycie"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nigdy"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Czas użycia"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Ułatwienia dostępu"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Ustawienia ułatwień dostępu"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Powiększ 3-krotnym kliknięciem"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Powiększanie skrótem"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Powiększanie skrótem i trzykrotnym kliknięciem"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> – informacje"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otwieraj przyciskiem ułatwień dostępu"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Aby otworzyć, przytrzymaj przyciski głośności"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Aby otworzyć, trzy razy kliknij ekran"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Kliknij dwukrotnie ekran dwoma palcami, aby otworzyć"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otwieranie gestem"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Użyj gestu ułatwień dostępu"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Aby użyć tej funkcji, kliknij przycisk ułatwień dostępu <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> u dołu ekranu.\n\nAby przełączać się między funkcjami, naciśnij i przytrzymaj przycisk ułatwień dostępu."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Aby użyć tej funkcji, kliknij przycisk ułatwień dostępu na ekranie."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Aby użyć tej funkcji, naciśnij i przytrzymaj oba przyciski głośności."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Aby włączyć lub wyłączyć powiększenie, kliknij trzykrotnie w dowolnym miejscu na ekranie."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Aby włączyć lub wyłączyć powiększenie, kliknij dwukrotnie dwoma palcami dowolne miejsce na ekranie."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Aby użyć tej funkcji, przesuń 2 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 2 palcami w górę i przytrzymaj."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Aby użyć tej funkcji, przesuń 3 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 3 palcami w górę i przytrzymaj."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Aby użyć ułatwień dostępu, przesuń 2 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 2 palcami w górę i przytrzymaj."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Aby użyć ułatwień dostępu, przesuń 3 palcami z dołu ekranu w górę.\n\nAby przełączać się między funkcjami, przesuń 3 palcami w górę i przytrzymaj."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Ustawienia przycisku ułatwień dostępu"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Ustawienia przycisku"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Skrót do funkcji <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Przycisk ułatwień dostępu"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gest ułatwień dostępu"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Przytrzymaj przyciski głośności"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"przytrzymaj klawisze 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"kliknij dwukrotnie ekran dwoma 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="6863958573135995927">"trzykrotnie kliknij ekran"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Więcej informacji o przycisku i geście ułatwień dostępu"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Używam przycisku ułatwień dostępu. Ten gest nie jest dostępny w przypadku nawigacji przy użyciu 3 przycisków."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Szybki dostęp do ułatwień dostępu"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Aby rozpocząć"</b>\n"1. Otwórz ustawienia ułatwień dostępu\n2. Wybierz funkcję i kliknij skrót\n3. Wybierz przycisk lub gest, którego będziesz używać, aby skorzystać z funkcji"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Aby rozpocząć"</b>\n"1. Otwórz ustawienia ułatwień dostępu\n2. Wybierz funkcję i kliknij skrót\n3. Wybierz przycisk, aby skorzystać z funkcji"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Aby zacząć&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Przejdź do ustawień ułatwień dostępu&lt;br/&gt; {1,number,integer}. Wybierz funkcję i kliknij skrót&lt;br/&gt; {2,number,integer}. Zdecyduj, czy chcesz uzyskiwać dostęp do funkcji przy użyciu przycisku czy gestult;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Aby zacząć&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Przejdź do ustawień ułatwień dostępu&lt;br/&gt; {1,number,integer}. Wybierz funkcję i kliknij skrót&lt;br/&gt; {2,number,integer}. Wybierz przycisk, którego będziesz używać, aby skorzystać z funkcji&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Używaj przycisku lub gestu"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokalizacja"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Rozmiar"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Przycisk zasilania kończy rozmowę"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Duży wskaźnik myszy"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Bardziej widoczny kursor myszy"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Ustaw ciemny motyw we wszystkich aplikacjach"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Dotyczy aplikacji bez własnego ciemnego motywu. Niektóre aplikacje mogą mieć problemy z wyświetlaniem typu odwrócenie kolorów."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Usuń animacje"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Ogranicz ruch na ekranie"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Dźwięk mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Używaj wibracji i reakcji haptycznych"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Wibracje przy alarmie"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Wibracje przy multimediach"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Wibracje klawiatury"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Wibracje przy dzwonku"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Wibracje przy powiadomieniu"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reakcje na dotyk"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Zatrzymaj"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Anuluj"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Zatrzymać <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Kliknięcie opcji <xliff:g id="STOP">%1$s</xliff:g> zatrzyma działanie usługi <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Wyłącz"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Nie wyłączaj"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Wyłączyć usługę <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Brak zainstalowanych usług"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nie wybrano usługi"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Brak opisu"</string>
     <string name="settings_button" msgid="2195468788019730377">"Ustawienia"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"światłowstręt, fotofobia, ciemny motyw, migrena, ból głowy, tryb czytania, tryb nocny, zmniejszona jasność, punkt bieli"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"łatwa obsługa, łatwy dostęp, pomoc, wsparcie"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"widzenie, słyszenie, osoba niewidoma, osoba z wadą słuchu, motoryka, wygoda, wspomaganie, łatwe używanie, łatwy dostęp, dłoń, pomoc"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"powiększenie okna, zoom, powiększenie, niedowidzenie, powiększanie, powiększyć"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"napisy, Transkrypcja na żywo, niedosłuch, utrata słuchu, CART, zamiana mowy na tekst"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontrast kolorów"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"ruchowy, mysz"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"aparaty słuchowe, niedosłyszący, utrata słuchu, implanty ślimakowe, urządzenia wzmacniające dźwięk, procesory dźwięku"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motoryka, mysz, mysz zewnętrzna, mysz obsługiwana głową, mysz adaptacyjna, wózek inwalidzki, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"aparaty słuchowe, niedosłuch, utrata słuchu, implanty ślimakowe, urządzenia wzmacniające dźwięk, procesory dźwięku, CPR"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"niedosłuch, utrata słuchu, napisy, dalekopis, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"3 przyciski"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"wygoda, motoryka, senior, choroby reumatyczne, RSI, udar mózgu, drżenie, stwardnienie rozsiane, porażenie mózgowe, chroniczne przeciążenie mięśni i ścięgien, dłoń"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"opóźnienie, wygoda, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Drukowanie"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Wył."</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Włączono 1 usługę drukowania}few{Włączono # usługi drukowania}many{Włączono # usług drukowania}other{Włączono # usługi drukowania}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Pozostało: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> do naładowania"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Czas korzystania z urządzenia"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Czas działania w tle"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Słaba bateria"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Pozwól aplikacji działać w tle"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Ograniczyć aktywność w tle?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Jeśli ograniczysz aktywność aplikacji w tle, może ona działać nieprawidłowo"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Ta aplikacja nie jest skonfigurowana do optymalnego wykorzystywania baterii, więc nie możesz wprowadzić dla niej ograniczeń.\n\nAby wprowadzić ograniczenia dla aplikacji, najpierw włącz optymalizację baterii."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Zarządzaj wykorzystaniem baterii"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Zezwalaj na użycie w tle"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Włącz, aby otrzymywać aktualizacje w czasie rzeczywistym, wyłącz w celu oszczędzania baterii"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Bez ograniczeń"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Z optymalizacją"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Z ograniczeniami"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Zobacz aplikacje, które najbardziej wykorzystują baterię"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Ładowanie zoptymalizowane w celu ochrony baterii"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Ze względu na żywotność baterii ładowanie jest zoptymalizowane"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Ładowanie zoptymalizowane w celu ochrony baterii"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Ładowanie po zadokowaniu jest zoptymalizowane w celu zwiększenia żywotności baterii"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Ładowanie zoptymalizowane w celu ochrony baterii"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Ładowanie po zadokowaniu jest zoptymalizowane w celu zwiększenia żywotności baterii"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Ładuję do pełnego naładowania"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Ze względu na ochronę baterii ładowanie zostanie zoptymalizowane, gdy następnym razem postawisz tablet na stacji dokującej"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Więcej informacji o ładowaniu zostało zatrzymane"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Wznów ładowanie"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Występuje aktywność w tle zużywająca dużo energii"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ta aplikacja może wykorzystywać baterię, działając w tle. Może to powodować szybsze wyczerpywanie baterii."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Usuń"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Anuluj"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Ładuj do pełna"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem z akcesoriami do ładowania"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Sprawdź akcesoria do ładowania"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Więcej informacji o ładowaniu niezgodną ładowarką"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Menedżer baterii"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Automatycznie zarządzaj aplikacjami"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od ostatniego pełnego naładowania"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplikacje systemowe"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Odinstalowane aplikacje"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Inne"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Szacowany pozostały czas"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do pełnego naładowania"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Łącznie: mniej niż minuta"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"W tle: mniej niż minuta"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Czas korzystania z urządzenia: mniej niż minuta"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Mniej niż minuta"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Łącznie: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"W tle: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Czas korzystania z urządzenia: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"teraz"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Wykres zużycia baterii"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Wykres dziennego wykorzystania baterii"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Wykres godzinowego wykorzystania baterii"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Poziom baterii od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Wykorzystanie baterii od ostatniego naładowania"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Wykorzystanie baterii – <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Czas korzystania z urządzenia od ostatniego naładowania"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sygnał wybierania numeru alarmowego"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Skonfiguruj sposób działania w przypadku połączenia alarmowego"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Kopia zapasowa"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Wł."</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Wył."</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Tworzenie i przywracanie kopii zapasowej"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dane osobiste"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Utwórz kopię zapasową"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dane komórkowe i Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autosynchronizacja: osobiste"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autosynchronizacja: służbowe"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Autosynchronizacja danych prywatnych"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Zmień cykl"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Resetowanie cyklu użycia danych – dzień miesiąca:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"W tym okresie aplikacje nie pobierały danych."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nazwa"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adres serwera"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Szyfrowanie PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Element tajny L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identyfikator IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Klucz wspólny IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certyfikat użytkownika IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certyfikat CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certyfikat serwera IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Opcje zaawansowane"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domeny wyszukiwania DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Serwery DNS (np. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Trasy przekazywania (np. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nazwa użytkownika"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Hasło"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Zapisz informacje o koncie"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nieużywane)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(nie weryfikuj serwera)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(odebrany z serwera)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ten typ sieci VPN nie może być stale połączony"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Stała sieć VPN obsługuje tylko liczbowe adresy serwerów"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Należy podać serwer DNS dla stałej sieci VPN."</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresy serwerów DNS muszą mieć postać liczbową w przypadku stałych sieci VPN."</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Podane informacje nie umożliwiają obsługi stałej sieci VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Anuluj"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Zamknij"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokuj połączenia bez VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Wymagać połączenia VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Niezabezpieczona. Zaktualizuj do VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nie udało się uruchomić nieobsługiwanej konfiguracji VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Wybierz stały profil VPN. Ruch w sieci będzie możliwy tylko po połączeniu z tą siecią VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Brak"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"W przypadku stałej sieci VPN wymagany jest adres IP zarówno dla serwera, jak i dla DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alerty AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Otrzymuj komunikaty o porwaniach dzieci"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Powtórz"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Włącz menedżera połączeń"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Zezwalaj tej usłudze na zarządzanie sposobem wykonywania połączeń."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Menedżer połączeń"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alerty o zagrożeniu"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operatorzy sieci"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nazwy punktów dostępu"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Stan karty SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stan karty SIM (gniazdo SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Karty SIM się zmieniły."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Karty SIM zostały zmienione"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dotknij, by skonfigurować"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pytaj za każdym razem"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Wymagany wybór"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Ostatnio używane aplikacje, domyślne aplikacje"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Aplikacje w profilu służbowym nie mają dostępu do powiadomień."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Hasła i konta"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Zapisane hasła, informacje z autouzupełniania i zsynchronizowane konta"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugestie dotyczące logowania i autouzupełniania"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplikacje domyślne"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Sklonowane aplikacje"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Utwórz kolejne wystąpienie aplikacji, aby używać 2 kont jednocześnie."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"portfel"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"płacenie, klikanie, płatności"</string>
     <string name="keywords_backup" msgid="707735920706667685">"kopia zapasowa, tworzenie kopii zapasowej"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gest"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"twarz, odblokowanie, uwierzytelnienie, logowanie"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"twarz, odblokowywanie, Uwierzytelnianie, logowanie, odcisk palca, biometryczny"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, wersja prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"rozmiar tekstu, duży druk, duża czcionka, duży tekst, niedowidzenie, powiększenie tekstu, powiększenie czcionki"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"wygaszacz z powiadomieniami zawsze włączony, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, czytnik"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klawiatura, czujnik haptyczny, wibracje,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Głośność, wibracje, Nie przeszkadzać"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Głośność multimediów"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Głośność przesyłania"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Włącz dźwięki"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Napisy na żywo"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatycznie wyświetlaj napisy do multimediów"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Głośniki telefonu"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Głośniki tabletu"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Głośniki urządzenia"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Słuchawki przewodowe"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Dźwięk z kompatybilnych multimediów ma jeszcze lepszą jakość"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Wyłączono"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Pokazuj całą treść powiadomień"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Pokazuj poufne treści tylko po odblokowaniu"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nie pokazuj żadnych powiadomień"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Co ma się wyświetlać na ekranie blokady?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Co ma być wyświetlane na ekranie blokady?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekran blokady"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Pokazuj w całości powiadomienia związane z pracą"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ukryj poufne informacje związane z pracą"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Ostatnie rozmowy zostały usunięte"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Rozmowa została usunięta"</string>
     <string name="clear" msgid="5092178335409471100">"Wyczyść"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Wyczyść <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Tu będą pojawiały się rozmowy priorytetowe i zmodyfikowane"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Tutaj będą pojawiać się rozmowy, które oznaczysz jako priorytetowe lub zmienisz w dowolny inny sposób. \n\nAby zmienić ustawienia rozmowy: \nprzesuń palcem w dół od góry ekranu, by otworzyć obszar powiadomień, a potem naciśnij i przytrzymaj rozmowę."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimalizuj"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Okres oczekiwania powiadomień"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Zastosuj okres oczekiwania do wszystkich powiadomień"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Stopniowo zmniejszaj głośność powiadomień, gdy przychodzi dużo kolejnych powiadomień z tej samej aplikacji"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Zastosuj okres oczekiwania do rozmów"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Stopniowo zmniejszaj głośność powiadomień, gdy przychodzi dużo kolejnych wiadomości z tego samego czatu w krótkim czasie"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nie stosuj okresu oczekiwania do powiadomień"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nigdy nie zmniejszaj głośności powiadomień niezależnie od liczby kolejnych powiadomień z tej samej aplikacji"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Wibruj, gdy nie ma blokady"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Wibruj tylko wtedy, gdy telefon jest odblokowany"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Zastosuj do profili służbowych"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Zastosuj ustawienia okresu oczekiwania powiadomień z profilu osobistego do profilu służbowego"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Usługi pomocnicze rzeczywistości wirtualnej"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Żadne zainstalowane aplikacje nie prosiły o uruchomienie w trybie usług pomocniczych rzeczywistości wirtualnej."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Zezwalasz usłudze <xliff:g id="SERVICE">%1$s</xliff:g> na dostęp do usług VR?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Wyłączone"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Przypinanie aplikacji"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Przypinanie aplikacji pozwala wyświetlać bieżącą aplikację nad innymi, by była widoczna, dopóki jej nie odepniesz. Możesz użyć tej funkcji, np. by pozwolić zaufanemu znajomemu zagrać w wybraną grę."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Przypięta aplikacja może otwierać inne aplikacje, a dane osobowe mogą być dostępne. \n\nAby używać przypinania aplikacji: 	\n1. Włącz przypinanie aplikacji. 	\n2. Otwórz Przegląd. 	\n3. Kliknij ikonę aplikacji u góry ekranu, a następnie kliknij Przypnij"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Przypięta aplikacja może otwierać inne aplikacje, a dane osobowe mogą być dostępne. \n\nJeśli chcesz przekazać komuś swoje urządzenie w bezpieczny sposób, skorzystaj raczej z profilu gościa. \n\nAby używać przypinania aplikacji: 	\n1. Włącz przypinanie aplikacji. 	\n2. Otwórz Przegląd. 	\n3. Kliknij ikonę aplikacji u góry ekranu, a następnie kliknij Przypnij"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Przypięta aplikacja może otwierać inne aplikacje, a dane osobowe mogą być dostępne. \n\nAby przypiąć aplikację: 	\n{0,number,integer}. Włącz przypinanie aplikacji 	\n{1,number,integer}. Otwórz Przegląd 	\n{2,number,integer}. Kliknij ikonę aplikacji u góry ekranu, a następnie kliknij Przypnij"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Przypięta aplikacja może otwierać inne aplikacje, a dane osobowe mogą być dostępne. \n\nJeśli chcesz przekazać komuś swoje urządzenie w bezpieczny sposób, skorzystaj raczej z profilu gościa. \n\nAby przypiąć aplikację: 	\n{0,number,integer}. Włącz przypinanie aplikacji 	\n{1,number,integer}. Otwórz Przegląd 	\n{2,number,integer}. Kliknij ikonę aplikacji u góry ekranu, a następnie kliknij Przypnij"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Przypięta aplikacja: \n\n•	 ma dostęp do danych osobowych \n		(takich jak kontakty i treść e-maili); \n•	 może otwierać inne aplikacje. \n\nUżywaj przypinania aplikacji tylko z zaufanymi osobami."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Aby odpiąć, poproś o wzór odblokowania"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Podaj PIN, aby odpiąć"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Aby odpiąć, poproś o hasło"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Zablokuj urządzenie przy odpinaniu"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potwierdzaj chęć usunięcia karty SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potwierdź, że chcesz wymazać dane karty eSIM."</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Zanim wykasujesz kartę eSIM, potwierdź swoją tożsamość"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Zaawansowana ochrona pamięci (beta)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Zaawansowana ochrona pamięci"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ustawienia nieużywanych aplikacji"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Wstrzymuj aktywność w aplikacji, jeśli jest nieużywana"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Usuń uprawnienia i pliki tymczasowe oraz zatrzymaj powiadomienia"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Zarządzaj nieużywanymi aplikacjami"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Usuń uprawnienia i pliki tymczasowe, zatrzymaj powiadomienia i zarchiwizuj aplikację"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Wszystkie aplikacje"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Zainstalowane aplikacje"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplikacje błyskawiczne"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Wolna"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Pamięć używana przez aplikacje"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikacja korzystała z pamięci w ciągu ostatnich {time}}few{# aplikacje korzystały z pamięci w ciągu ostatnich {time}}many{# aplikacji korzystało z pamięci w ciągu ostatnich {time}}other{# aplikacji korzystało z pamięci w ciągu ostatnich {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Włącz profilowanie wykorzystania pamięci"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilowanie wykorzystania pamięci wymaga dodatkowych zasobów systemowych."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilowanie pamięci wyłączone"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Częstotliwość"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksymalne użycie"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Brak użycia danych"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Wyświetlanie nad innymi aplikacjami"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Zezwalaj na wyświetlanie nad innymi aplikacjami"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Pozwól tej aplikacji wyświetlać się nad innymi aplikacjami, których używasz. Ta aplikacja będzie widzieć, gdzie klikasz, lub przełączać to, co widzisz na ekranie."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Zmień wyjście multimediów"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Zezwalaj aplikacji na przełączanie wyjścia multimediów"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Zezwalaj tej aplikacji na wybór, które podłączone urządzenie ma odtwarzać ścieżkę audio lub wideo z innych aplikacji. W przypadku zezwolenia aplikacja ta może uzyskać dostęp do listy dostępnych urządzeń, takich jak słuchawki i głośniki, oraz wybrać urządzenie wyjściowe używane do strumieniowania lub przesyłania ścieżki audio bądź wideo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Dostęp do wszystkich plików"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Zezwól na zarządzanie wszystkimi plikami"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Zezwól tej aplikacji na odczytywanie, modyfikowanie i usuwanie plików na tym urządzeniu oraz wszelkich połączonych woluminach pamięci. Aplikacje z tymi uprawnieniami mogą korzystać z dostępu do plików bez konieczności wyraźnego informowania Cię o tym."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Ma dostęp do wszystkich plików"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacje aktywowane głosem"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Zezwalaj na aktywację głosową"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktywacja głosem pozwala włączać zatwierdzone aplikacje bez użycia rąk – tylko przy użyciu polecenia głosowego. Wbudowane wykrywanie adaptacyjne zapewnia prywatność danych.\n\n"<a href="">"Więcej informacji o chronionym wykrywaniu adaptacyjnym"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Powiadomienia pełnoekranowe"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Zezwól na powiadomienia pełnoekranowe z tej aplikacji"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Zezwalaj na wyświetlanie przez tę aplikację powiadomień zajmujących cały ekran, gdy urządzenie jest zablokowane. Aplikacje mogą używać tych uprawnień do powiadamiania o alarmach, połączeniach przychodzących i innych pilnych sprawach."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Ostrzeżenie dotyczące danych: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limit danych: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Ostrzeżenie dotyczące danych: <xliff:g id="ID_1">^1</xliff:g> / limit danych: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operator komórkowy może obliczać ilość przesłanych danych inaczej niż urządzenie"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Użycie danych w sieciach operatorów nie jest uwzględniane"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Wykorzystano <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Ustaw ostrzeżenie dotyczące danych"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Zaktualizowano <xliff:g id="ID_1">^2</xliff:g> temu"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Właśnie zaktualizowano (<xliff:g id="ID_1">^1</xliff:g>)"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Właśnie zaktualizowano"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Wyświetl abonament"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Wyświetl szczegóły"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Oszczędzanie danych"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dane bez limitu"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacja <xliff:g id="APP_LABEL">%1$s</xliff:g> zwiększyła wykorzystanie baterii względem zwykłego poziomu w tle"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacja <xliff:g id="APP_LABEL">%1$s</xliff:g> zwiększyła wykorzystanie baterii na pierwszym planie"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacja <xliff:g id="APP_LABEL">%1$s</xliff:g> zwiększyła wykorzystanie baterii względem zwykłego poziomu na pierwszym planie"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia wykorzystania baterii"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Wysokie wykorzystanie baterii"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Wysokie wykorzystanie baterii w tle"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Wysokie wykorzystanie baterii na pierwszym planie"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Kafelki szybkich ustawień dla programisty"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Wyłącz czas oczekiwania autoryzacji adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Wyłącz automatyczne anulowanie autoryzacji adb w przypadku systemów, które nie połączyły się ponownie w czasie domyślnym (7 dni) lub skonfigurowanym przez użytkownika (co najmniej 1 dzień)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Śledzenie Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Wyłącz czujniki"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Ustawienia profilu służbowego"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Wyszukuj kontakty z katalogu służbowego w aplikacjach osobistych"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"nawigacja w systemie, nawigacja przy użyciu dwóch przycisków, nawigacja przy użyciu trzech przycisków, nawigacja przy użyciu gestów, przesuwanie"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asystent cyfrowy"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Przesuń palcem, aby wywołać asystenta"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Przesuń palcem z dolnego rogu ekranu w górę, aby wywołać aplikację cyfrowego asystenta"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Przesuń palcem z dolnego rogu ekranu w górę, aby wywołać aplikację asystenta cyfrowego"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Przytrzymaj przycisk ekranu głównego, aby uruchomić Asystenta"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Jeśli chcesz wywołać cyfrowego asystenta, naciśnij i przytrzymaj przycisk ekranu głównego"</string>
     <string name="low_label" msgid="6525629096999711220">"Niska"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Usługa autouzupełniania"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Domyślna usługa autouzupełniania"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Hasła"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Usługi haseł, kluczy dostępu i danych"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Dostawcy dodatkowi"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferowana usługa"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Usługi dodatkowe"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# hasło}few{# hasła}many{# haseł}other{# hasła}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatycznie, uzupełnianie, autouzupełnianie, hasło"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dane, klucze, hasła"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatyczne, uzupełnianie, autouzupełnianie, dane, klucz dostępu, hasło"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Zmień"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Otwórz"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nie wybrano"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Sprawdź, czy ta aplikacja jest zaufana&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Autouzupełnianie Google&gt;%1$s&lt;/xliff:g&gt; na podstawie zawartości ekranu określa, co można uzupełnić automatycznie."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Używać &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; używa treści wyświetlanych na ekranie do określania, co można uzupełnić automatycznie. Od tej pory w tym miejscu będą zachowywane nowe hasła, klucze dostępu i inne informacje."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Usługi haseł, kluczy dostępu i danych"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Używać aplikacji &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Od tej pory w tym miejscu będą zachowywane nowe hasła, klucze i inne informacje. Aplikacja &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; używa treści wyświetlanych na ekranie do określania, co można uzupełnić automatycznie."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferowana usługa dla haseł, kluczy dostępu i autouzupełniania"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Wyłączyć usługę %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Wyłączyć tę usługę?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Zapisane informacje, takie jak hasła, klucze dostępu, formy płatności i inne dane, nie będą wypełniane, gdy się zalogujesz. Aby używać zapisanych informacji, wybierz usługę haseł, kluczy dostępu lub danych."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Hasła, klucze dostępu i autouzupełnianie"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Wyłączyć wszystkie usługi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Hasła, klucze dostępu i inne zapisane informacje nie będą mogły być automatycznie uzupełniane podczas logowania"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Zmienić preferowaną aplikację na &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nowe hasła, klucze dostępu i inne informacje będą od teraz zapisywane tutaj. Aplikacja &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; używa treści wyświetlanych na ekranie do określania, co można uzupełnić automatycznie."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Użyć usługi %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Wyłącz"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Zmień"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Możesz mieć włączonych jednocześnie tylko 5 usług"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Wyłącz co najmniej 1 usługę, aby dodać kolejną"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"Usługa %1$s używa treści wyświetlanych na ekranie do określania, co można uzupełnić automatycznie."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limit usług haseł, kluczy dostępu i danych"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Możesz mieć aktywnych maksymalnie 5 usług haseł, kluczy dostępu i danych jednocześnie. Wyłącz usługę, aby dodać kolejne."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limit usług haseł, kluczy i danych"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Możesz mieć aktywnych maksymalnie 5 usług haseł, kluczy i danych jednocześnie. Wyłącz jedną z usług, aby dodać kolejną."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Wyłącz"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autouzupełnianie"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Poziom rejestrowania"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Kompatybilność aplikacji można zmieniać tylko w aplikacjach z możliwością debugowania. Zainstaluj aplikację z możliwością debugowania i spróbuj ponownie."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Zależy od innego ustawienia"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Konta: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nazwa urządzenia"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Podstawowe informacje"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Prawo i przepisy"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Zezwól na uruchamianie tej aplikacji w przypadku skanowania tagów NFC.\nJeśli te uprawnienia będą włączone, aplikacja będzie dostępna jako opcja za każdym razem, gdy zostanie wykryty tag."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Odtwarzaj multimedia na"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Odtwarzaj <xliff:g id="LABEL">%s</xliff:g> na:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Dźwięk będzie nadal odtwarzany"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"To urządzenie"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Brak dostępu w trakcie połączeń"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Odbierz połączenie przez:"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Wyciszenie"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Aby włączyć, najpierw zmień „Naciśnij i przytrzymaj przycisk zasilania” na menu zasilania."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Szczegóły sieci"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Nazwa urządzenia jest widoczna dla aplikacji na telefonie. 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="devices_title" msgid="649715719278562515">"Urządzenia"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Wybierz sieć"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Odłączono"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nazwa"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Kolor (używany przez zgodne aplikacje)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Zapisz"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Używaj karty SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Użyj tej karty SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Wyłącz"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Aby wyłączyć tę kartę SIM, wyjmij ją"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Kliknij, by włączyć usługę <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Usuń dane z karty SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Aby wyłączyć tę kartę SIM, wyjmij ją"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Kliknij, aby aktywować kartę SIM u operatora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Wykasuj dane z karty eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferowany typ sieci"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Zmień tryb działania sieci"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferowany typ sieci"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Aby poznać ceny, skontaktuj się z operatorem."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Użycie danych przez aplikację"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Nieprawidłowy tryb sieci <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignoruj."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Przesyłanie wiadomości przez satelitę"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Wysyłanie i odbieranie SMS-ów przez satelitę. Twoje konto obejmuje tę funkcję."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Wysyłanie i odbieranie SMS-ów przez satelitę. Twoje konto nie obejmuje tej funkcji."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Przesyłanie wiadomości przez satelitę"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Informacje o przesyłaniu wiadomości przez satelitę"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Możesz wymieniać wiadomości przez satelitę w ramach odpowiedniego konta u operatora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Twój abonament u operatora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Twoje konto obejmuje funkcję przesyłania wiadomości przez satelitę"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Twoje konto nie obejmuje funkcji przesyłania wiadomości przez satelitę"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Dodaj przesyłanie wiadomości za pomocą satelity"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Jak to działa"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Gdy nie masz połączenia z siecią komórkową"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Twój telefon automatycznie połączy się z satelitą. Aby uzyskać najlepszą jakość połączenia, stań w miejscu, w którym nic nie zasłania widoku nieba."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Gdy Twój telefon połączy się z satelitą"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Możesz wysyłać SMS-y do dowolnego adresata, w tym również do służb ratunkowych. Twój telefon ponownie połączy się z siecią komórkową, gdy będzie ona dostępna."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Przesyłanie wiadomości przez satelitę może zająć dłuższą chwilę. Funkcja jest dostępna wyłącznie na niektórych obszarach. Pogoda i inne czynniki mogą wpływać na Twoje połączenie satelitarne. Obsługa połączeń przez satelitę nie jest dostępna.\n\nPojawienie się zmian na koncie w Ustawieniach może zająć trochę czasu. Skontaktuj się z operatorem <xliff:g id="CARRIER_NAME">%1$s</xliff:g> i dowiedz się więcej."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Więcej informacji o przesyłaniu wiadomości przez satelitę"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nazwy punktów dostępu"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Niedostępne po połączeniu z siecią <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Przełączyć na sieć <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Przełączyć na korzystanie z karty SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Użyć sieci <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"W danym momencie aktywna może być tylko 1 karta SIM.\n\nPrzełączenie na sieć <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nie spowoduje rezygnacji z usługi <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"W danym momencie aktywna może być tylko 1 karta eSIM.\n\nPrzełączenie na sieć <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nie spowoduje rezygnacji z usługi <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"W danym momencie aktywna może być tylko 1 karta SIM.\n\nPrzełączenie sieci nie spowoduje rezygnacji z usługi <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"W danym momencie aktywna może być tylko jedna karta SIM.\n\nPrzełączenie się na sieć <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nie spowoduje rezygnacji z usługi <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"W danym momencie aktywna może być tylko jedna karta eSIM.\n\nPrzełączenie na sieć <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nie spowoduje rezygnacji z usługi <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"W danym momencie aktywna może być tylko jedna karta SIM.\n\nPrzełączenie na inną sieć nie spowoduje rezygnacji z usługi <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Możesz używać 2 kart SIM jednocześnie. Aby użyć sieci <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, wyłącz drugą kartę SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Przełącz na sieć <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Wyłącz sieć <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Wyłączenie karty SIM nie anuluje usługi"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Łączę się z siecią…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Przełączam na operatora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> do obsługi połączeń i wiadomości…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Nie można przełączyć operatora"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Nie można przełączyć operatora z powodu błędu."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktywuję kartę SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Przełączam na operatora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nie można zmienić kart SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Coś poszło nie tak. Nie można zmienić kart SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Wyłączyć usługę <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Wyłączyć kartę SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Wyłączam kartę SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Nie można wyłączyć operatora"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Coś poszło nie tak i nie udało się wyłączyć operatora."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Nie można wyłączyć karty SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Coś poszło nie tak i nie udało się wyłączyć karty SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Używać 2 kart SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Na tym urządzeniu mogą być jednocześnie aktywne 2 karty SIM. Aby nadal używać jednej karty SIM, kliknij „Nie”."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Uruchomić urządzenie ponownie?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nie"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Anuluj"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Przełącz"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Wyłącz"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nie można aktywować karty SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Spróbuj ponownie włączyć kartę SIM. Jeśli problem nie ustąpi, uruchom urządzenie ponownie."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Skonfiguruj kartę SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Skonfiguruj preferencje sieci komórkowej, aby korzystać z kilku kart SIM na tym urządzeniu"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Oznacz karty SIM etykietami"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Etykiety wyświetlą się podczas wykonywania połączeń, wysyłania wiadomości i korzystania z transmisji danych, a także w Ustawieniach"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etykieta karty SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etykieta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Wybierz, której karty SIM użyć"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Możesz używać 2 kart SIM jednocześnie"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Skonfiguruj podstawowe karty SIM"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Wybierz, z których kart SIM chcesz domyślnie korzystać w przypadku połączeń, wiadomości i transmisji danych"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Twoje podstawowe karty SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Połączenia"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS-y"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatyczne przełączanie danych"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Użyj mobilnej transmisji danych z dowolnej karty SIM w zależności od zasięgu i dostępności"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Tylko dane"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Skonfiguruj"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Dalej"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Włączam sieć <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Sieć komórkowa"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Numer telefonu"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Etykieta i kolor karty SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktywacja sieci"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Przełączanie operatora"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Sieć <xliff:g id="CARRIER_NAME">%1$s</xliff:g> jest aktywna"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Twoja karta SIM u operatora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> jest aktywna"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Kliknij, by zaktualizować ustawienia karty SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Przełączono na sieć <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Przełączono na sieć innego operatora"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Zmieniła się sieć komórkowa"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Skonfiguruj drugą kartę SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Wybierz aktywną kartę SIM lub używaj 2 kart jednocześnie"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Wybierz numer, który ma być używany"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Na tym urządzeniu dostępny jest 1 numer, ale nie można używać wielu numerów jednocześnie}=2{Na tym urządzeniu dostępne są 2 numery, ale nie można używać wielu numerów jednocześnie}few{Na tym urządzeniu dostępne są # numery, ale nie można używać wielu numerów jednocześnie}many{Na tym urządzeniu dostępnych jest # numerów, ale nie można używać wielu numerów jednocześnie}other{Na tym urządzeniu dostępne jest # numeru, ale nie można używać wielu numerów jednocześnie}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktywuję<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Nie udało się aktywować"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Wybierz kartę SIM, której chcesz używać"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Na tym urządzeniu dostępna jest 1 karta SIM, ale nie można używać wielu jednocześnie}=2{Na tym urządzeniu dostępne są 2 karty SIM, ale nie można używać wielu jednocześnie}few{Na tym urządzeniu dostępne są # karty SIM, ale nie można używać wielu jednocześnie}many{Na tym urządzeniu dostępnych jest # kart SIM, ale nie można używać wielu jednocześnie}other{Na tym urządzeniu dostępne jest # karty SIM, ale nie można używać wielu jednocześnie}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Włączam<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Nie udało się teraz włączyć tej karty SIM"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Użyć sieci <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Transmisja danych, połączenia i SMS-y będą obsługiwane przez operatora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Brak dostępnych aktywnych kart SIM"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Aby później korzystać z mobilnej transmisji danych, połączeń i SMS-ów, przejdź do ustawień sieci"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"Karta SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Wykasować tę kartę eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Wykasowanie danych z tej karty SIM spowoduje usunięcie sieci <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> z tego urządzenia.\n\nNie oznacza to jednak rezygnacji z usług operatora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Spowoduje to usunięcie usługi <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> na tym urządzeniu, ale abonament u operatora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nie zostanie anulowany."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Wykasuj"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Usuwam dane z karty SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nie można wykasować danych z karty SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Nie można wykasować danych z tej karty SIM z powodu błędu.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Usuwam dane z karty eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Nie można usunąć danych z karty eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Coś poszło nie tak i nie udało się usunąć danych z karty eSIM.\n\nUruchom urządzenie ponownie i spróbuj jeszcze raz."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Połącz z urządzeniem"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacja <xliff:g id="APPNAME">%1$s</xliff:g> chce użyć tymczasowej sieci Wi‑Fi, by połączyć się z Twoim urządzeniem"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nie znaleziono urządzeń. Upewnij się, że urządzenia są włączone i mogą się połączyć."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Połączenia alarmowe"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Twój operator nie obsługuje połączeń alarmowych w Połączeniach przez Wi‑Fi.\nUrządzenie automatycznie przełącza się na sieć komórkową, by nawiązać połączenie alarmowe.\nPołączenia alarmowe są możliwe tylko na terenie objętym zasięgiem sieci komórkowej."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Dzwoń przez Wi‑Fi, by poprawić jakość połączeń"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Zapasowa metoda wykonywania połączeń"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Jeśli usługa <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> jest niedostępna, użyj karty SIM z mobilną transmisją danych do połączeń w sieci <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"zapasowa metoda wykonywania połączeń"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Przychodzący MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nie można wysłać MMS-a"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Kliknij, by zezwolić na komunikację MMS przez operatora <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> przy wyłączonej mobilnej transmisji danych."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacje o zasadach służbowych"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ustawienia, którymi zarządza administrator"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Uruchom z rozmiarem stron 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Uruchom z jądrem systemu obsługującym strony o rozmiarze 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Zrestartować z jądrem systemu obsługującym strony o rozmiarze 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"OSTRZEŻENIE: niektóre aplikacje mogą nie być zgodne z tym trybem. Po potwierdzeniu urządzenie uruchomi się ponownie."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Zrestartować z jądrem systemu obsługującym strony o rozmiarze 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Po potwierdzeniu urządzenie uruchomi się ponownie."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Nie udało się zaktualizować jądra systemu, aby obsługiwał strony o rozmiarze 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Wprowadzam zmianę"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Obsługiwanie zgłaszania błędów"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Określa, która aplikacja ma obsługiwać skrót do zgłaszania błędów na urządzeniu."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobista"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Zezwalaj aplikacjom, które mogą wyświetlać się nad innymi, aby nakładały ekrany ustawień"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Zezwalaj na pozorowanie modemu"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Zezwól na uruchomienie na tym urządzeniu pozorowanego modemu w celu przeprowadzenia testów z instrumentacją. Nie włączaj tego ustawienia w czasie normalnego korzystania z telefonu"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Wyłącz zabezpieczenia przed udostępnianiem ekranu"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Wyłącza systemowe zabezpieczenia aplikacji i powiadomień podczas udostępniania ekranu."</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multimedia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Przypnij odtwarzacz"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Aby można było szybko wznowić odtwarzanie, odtwarzacz pozostaje otwarty w Szybkich ustawieniach"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Pokazuj multimedia na ekranie blokady"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Aby można było szybko wznowić odtwarzanie, odtwarzacz pozostaje otwarty na ekranie blokady"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Pokazuj rekomendacje multimediów"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Pokazuj rekomendacje Asystenta dotyczące multimediów"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Na podstawie Twojej aktywności"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ukryj odtwarzacz"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Pokazuj odtwarzacz"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"multimedia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Zezwalanie na dostęp do rozszerzeń oprogramowania aparatu"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Umożliwia fabryczne wdrożenie w oprogramowaniu zaawansowanych funkcji aparatu, takich jak wideografia bezwzrokowa Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Zostanie włączony Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Karty SIM"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Karty eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktywna"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Nieaktywna"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Włączono"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Wyłączono"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Domyślna dla: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"połączenia"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS-y"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Jeszcze lepsza jakość dźwięku z kompatybilnych multimediów"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Monitorowanie ruchów głowy"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Dźwięk zmienia się, kiedy poruszasz głową, aby brzmieć bardziej naturalnie"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synchronizuj uprawnienia"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Przyznaj urządzeniu <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>te same uprawnienia aplikacji, które masz na urządzeniu <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synchronizuj uprawnienia z telefonu"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Przyznaj na zegarku te same uprawnienia aplikacji, które masz na tym telefonie"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Typ urządzenia audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Brak informacji"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Głośnik"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Średni"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Wysoki"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ta aplikacja może być otwarta tylko w 1 oknie."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Włączono"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Wyłączono"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Wyłączono"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Wyłączono"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Włączono"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Wyłączono"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Włączono"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Wyłączono"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Zmienia jasne fragmenty ekranu na ciemne, a ciemne na jasne"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Powiększ zawartość na ekranie"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Wyłączono"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Wyłączono"</string>
+    <string name="show_captions_enabled" msgid="7089043007924626">"Włączono"</string>
+    <string name="live_caption_disabled" msgid="3562035026547887366">"Wyłączono"</string>
+    <string name="live_caption_enabled" msgid="5269360946200718949">"Włączono"</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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Skanuj w poszukiwaniu podejrzanych aplikacji"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Sprawdzaj aktywność w aplikacjach pod kątem phishingu"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Skanuj pod kątem podejrzanych aplikacji"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Skanuj pod kątem podejrzanych aplikacji do pracy"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Ustawiono hasło"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Pokazuj wskaźnik przy najeżdżaniu kursorem"</string>
 </resources>
diff --git a/res/values-pt-rBR/arrays.xml b/res/values-pt-rBR/arrays.xml
index b11e99e..302e554 100644
--- a/res/values-pt-rBR/arrays.xml
+++ b/res/values-pt-rBR/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponível"</item>
     <item msgid="6096962300722555553">"Fora de alcance"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast e Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usar padrão do sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Depois de um minuto"</item>
     <item msgid="1574040255478150028">"Depois de cinco minutos"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-pt-rBR/strings.xml b/res/values-pt-rBR/strings.xml
index b01a254..9c48168 100644
--- a/res/values-pt-rBR/strings.xml
+++ b/res/values-pt-rBR/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Você agora é um desenvolvedor!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Não é necessário. Você já é um desenvolvedor."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primeiro, ative as opções do desenvolvedor."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Apenas os usuários administradores podem acessar as configurações do desenvolvedor."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de serviço"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"O display frontal é ligado ao dobrar o dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Apenas jogos, vídeos e mais"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"O display frontal é ativado para apps que impedem a tela de ficar inativa"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Deslizar para cima para continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Dobre o smartphone e deslize para cima no display frontal para continuar usando o app ou aguarde alguns segundos para que a tela seja bloqueada"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nunca"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"O display frontal é bloqueado ao dobrar o dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Usar o giro automático"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionadas"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Toque e alarmes"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Áudio durante ligações"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Mídia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificações e outros sons do sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons de mídia e do sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificações"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Por padrão, a saída de áudio é determinada por apps individuais"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositivo Bluetooth sem nome"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Pesquisar"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancelar"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Desativar LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Desativa o recurso de áudio Bluetooth de baixo consumo caso o hardware do dispositivo tenha essa opção."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Áudio Bluetooth de baixo consumo"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Mostrar a chave do LE Audio nos Detalhes do dispositivo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Ativar a lista de permissões de LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Ative o recurso de lista de permissões de áudio Bluetooth de baixo consumo."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ignorar lista de permissões do áudio Bluetooth de baixo consumo"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Usar o LE Audio por padrão, mesmo que o periférico dele não tenha sido verificado para atender aos critérios da lista de permissões."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos portáteis de mídia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos salvos"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associado com a conta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usado anteriormente com a conta"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"O Bluetooth será ativado para o pareamento"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferências de conexão"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectados anteriormente"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ativado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Mostrar tudo"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressionar o botão da stylus"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escreva nos campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os pressionamentos de botão com a stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Compartilhamento de áudio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartilhar áudio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Ligações e alarmes"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectar a um stream de áudio usando um QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nenhum stream de áudio por perto foi encontrado."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Limpar"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para selecionar um idioma para cada app, acesse as configurações de idioma deles."</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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Adicionar o %s aos idiomas favoritos?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Isso permite que os apps e sites saibam que você prefere esse idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"As configurações e as preferências regionais do seu dispositivo vão mudar."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Mudar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s indisponível"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sábado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Se um app não oferecer suporte a preferências regionais, ele usará as configurações padrão de localidade."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Saiba mais sobre as preferências de idioma."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferências adicionais"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Termos de tratamento"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Definir como quer que o app se dirija a você"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Os apps podem usar termos de tratamento para personalizar a forma como se dirigem a você."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Não especificado"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminino"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculino"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutro"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remover idioma selecionado?}one{Remover idioma selecionado?}other{Remover idiomas selecionados?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"O texto será exibido em outro idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Não é possível remover todos os idiomas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Localização"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar localização"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Configuração desativada"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_location_off" msgid="8568995909147566720">"O acesso à localização está desativado para apps e serviços. A localização do dispositivo ainda poderá ser enviada aos 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="5329024810729665156">"Saiba mais sobre as configurações de localização."</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="3574930966097093550">"Mude o acesso à localização em \"Configurações &gt; Segurança e privacidade &gt; Controles de privacidade\""</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Contas"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Segurança"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Criptografia e credenciais"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para conseguir melhores resultados, use uma película com certificação Made For Google. A impressão digital da criança pode não funcionar com outras películas."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueio do relógio"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Quando o Desbloqueio facial e por impressão digital são configurados, a impressão é solicitada para desbloquear o smartphone quando você está em uma área escura ou usando uma máscara.\n\nVocê pode usar o relógio quando seu rosto ou sua impressão digital não forem reconhecidos."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Você pode desbloquear o smartphone com o relógio quando sua impressão digital não é reconhecida."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Você pode desbloquear o smartphone com o relógio quando seu rosto não é reconhecido."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Quando o Desbloqueio facial e por impressão digital forem configurados, a impressão será solicitada para desbloquear o smartphone sempre que você estiver em uma área escura ou usando uma máscara.\n\nO Desbloqueio do relógio é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando seus dedos estiverem molhados ou seu rosto não for reconhecido."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"O Desbloqueio do relógio é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando sua impressão digital não for reconhecida."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"O Desbloqueio do relógio é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando seu rosto não for reconhecido."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use a impressão digital ou o relógio para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use o rosto ou o relógio para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use o rosto, a impressão digital ou o relógio para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"O \"Desbloqueio do relógio\" é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando os dedos estiverem molhados ou o rosto não for reconhecido.\n\nVocê pode usar o relógio para desbloquear o smartphone quando:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Agora não"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mais"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Como funciona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"O relógio precisa estar desbloqueado, no pulso e perto do smartphone. Não é necessário desbloquear o relógio novamente enquanto ele está no seu pulso."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Quando este smartphone for desbloqueado, você vai receber uma notificação no relógio. Se ele foi desbloqueado sem querer, toque na notificação para bloquear o dispositivo de novo."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Você no controle"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Você pode remover seu relógio do recurso \"Desbloqueio do relógio\" a qualquer momento nas Configurações."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Toque em uma notificação"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Deslize para cima na tela de bloqueio"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Escolha seu relógio"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Relógios disponíveis"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancelar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmar"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Está tudo pronto!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Agora, você pode usar o relógio para desbloquear o smartphone ao deslizar para cima na tela de bloqueio ou tocar em uma notificação."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Concluído"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueio do relógio"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Você pode usar o relógio para desbloquear o smartphone ao deslizar para cima na tela de bloqueio ou tocar em uma notificação."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar o \"Desbloqueio do relógio\", é necessário que o relógio esteja desbloqueado, no pulso, perto de você e conectado a este smartphone. Se a conexão for interrompida, você precisará desbloquear o smartphone antes de usar o recurso.\n\nNão se esqueça:\nSó é possível configurar um relógio por vez. Para adicionar outro, remova o atual."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Segurança"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacidade"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabalho"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espaço particular"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantenha apps particulares bloqueados e ocultos"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantenha a privacidade de apps em um espaço separado que você pode ocultar ou bloquear"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueio do espaço privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Você pode desbloquear seu Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar o bloqueio de tela do dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueio facial e por impressão digital"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueio por impressão digital"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueio facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toque para configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueio por impressão digital para o espaço privado"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueio facial para o espaço privado"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Formas de desbloquear a tela"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual ao bloqueio de tela do dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Escolher outro bloqueio para o espaço privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloquear o espaço privado automaticamente"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Você poderá bloquear seu espaço privado automaticamente se não usar o dispositivo por um período de tempo"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Sempre que o dispositivo for bloqueado"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Depois de cinco minutos de inatividade"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nunca"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar quando bloqueado"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ocultar o espaço privado quando bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Oculte o espaço privado na sua lista de apps para que outras pessoas não saibam que ele está no dispositivo"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Acessar o espaço privado quando oculto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Na lista de apps, digite \"espaço privado\" na barra de pesquisa"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Toque no bloco do espaço privado"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloqueie seu espaço privado"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desativado"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ativado"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Excluir espaço privado"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Excluir espaço privado?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Seu espaço privado será removido do seu dispositivo. Todos os apps e dados particulares serão excluídos. Não é possível desfazer essa ação."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Estas contas serão removidas do seu espaço privado:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Excluir"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Excluindo espaço privado…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Isso vai levar alguns instantes"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Espaço privado excluído"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Não foi possível excluir o espaço privado"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espaço privado desbloqueado"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Defina um bloqueio de tela"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para usar o Espaço particular, defina um bloqueio de tela neste dispositivo."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueio de tela"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancelar"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurar"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configurar um Espaço particular"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantenha a privacidade de apps em um espaço separado que você pode ocultar ou bloquear"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Como funciona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Você pode acessar o Espaço particular na parte de baixo da sua lista de apps"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps no Espaço particular ficam protegidos por um bloqueio"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"As notificações de apps no seu Espaço particular ficam ocultas quando ele está bloqueado"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Os apps do seu Espaço particular não aparecem na gestão de permissões, no painel de privacidade e em outras configurações quando esse espaço está bloqueado.\n\nSeu Espaço particular não pode ser movido para um novo dispositivo. Você precisará configurar outro Espaço particular se quiser usá-lo em outro dispositivo.\n\nQualquer usuário que conectar seu dispositivo a um computador ou instalar apps perigosos no dispositivo conseguirá acessar seu Espaço particular."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando o espaço particular…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notificações de apps no espaço privado ficam ocultas quando ele está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloqueie o espaço privado para compartilhar fotos ou arquivos"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Alguns apps já estão instalados no seu Espaço particular"</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_lockscreen_title" msgid="6034864097861137509">"Usar o bloq. de tela p/ abrir o Espaço particular?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Você pode desbloquear seu Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar o bloqueio de tela"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Escolher novo bloqueio"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tudo pronto!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para encontrar o espaço privado, abra sua lista de apps e role até a parte de baixo dela"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Concluído"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Role a tela para baixo para encontrar o Espaço particular"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Login"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Faça login em uma conta para usar com seu espaço privado"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Agora não"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuar"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Escolher um bloqueio para seu Espaço particular"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"É possível desbloquear seu espaço particular com sua impressão digital. Por motivos de segurança, essa opção exige um bloqueio de backup."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Defina um PIN para seu espaço privado"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Defina uma senha para seu espaço privado"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Defina um padrão para seu espaço privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"É possível adicionar até <xliff:g id="COUNT">%d</xliff:g> digitais"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Você adicionou o número máximo de impressões digitais"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Não é possível adicionar mais impressões digitais"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrão"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Senha"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Excluir o bloqueio de tela?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remover todos os tipos de desbloqueio de dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remover proteção de perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Um padrão protege o smartphone em casos de roubo ou perda"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Um padrão protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>O modelo de impressão digital armazenado no dispositivo será excluído. Seu modelo de rosto também será excluído de maneira permanente e segura. Você não poderá usar seu rosto ou impressão digital para fazer a autenticação em apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Um PIN protege o smartphone em casos de roubo ou perda"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Você vai perder dados salvos, como o PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Um PIN protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>O modelo de impressão digital armazenado no dispositivo também será excluído. Você não poderá usar sua impressão digital para fazer a autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Você vai perder dados salvos, como o PIN e o modelo de impressão digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Um PIN protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Seu modelo de rosto também será excluído de maneira permanente e segura. Você não poderá usar seu rosto para fazer a autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Você vai perder dados salvos, como o PIN e o modelo de rosto.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Um PIN protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>O modelo de impressão digital armazenado no dispositivo será excluído. Seu modelo de rosto também será excluído de maneira permanente e segura. Você não poderá usar seu rosto ou impressão digital para fazer a autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Você vai perder dados salvos, como o PIN e os modelos de rosto e impressão digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Uma senha protege o smartphone em casos de roubo ou perda"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Uma senha protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Parear com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Adicione um membro ao conjunto coordenado"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirme para adicionar a segunda peça do seu dispositivo de áudio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Código de pareamento Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Digite o código de pareamento e pressione \"Return\" ou \"Enter\""</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"O PIN contém letras ou símbolos"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"São necessários 16 dígitos"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Talvez seja necessário digitar este PIN no outro dispositivo."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Talvez seja necessário digitar esta senha no outro dispositivo."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirme para parear com o conjunto coordenado"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirme para parear com o dispositivo de áudio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permitir o acesso aos seus contatos e seu histórico de ligações"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Também permite o acesso a contatos e ao histórico de ligações"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"As informações serão usadas para fazer o anúncio de ligações e muito mais"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Não foi possível conectar ao <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivos encontrados"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parear e conectar"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos"</string>
     <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_scan_change" msgid="1744636222637390367">"Mudar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART verifique o bytecode de apps depuráveis"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de atualização de tela atual"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar a proporção HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar a proporção HDR/SDR atual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exigir desbloqueio de dispositivo para usar a NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"No modo avião"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificar quando houver redes públicas"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notificar quando uma rede pública de alta qualidade estiver disponível."</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permitir redes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP é um protocolo de segurança mais antigo que oferece menos proteção"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Sua operadora não permite redes WEP porque elas são menos seguras"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Ativar o Wi‑Fi automaticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Reativar o Wi‑Fi automaticamente perto de redes salvas de alta qualidade, como sua rede doméstica."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Indisponível porque a localização está desativada. Ative a "<annotation id="link">"localização"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"A busca por Wi-Fi permite que apps e serviços procurem redes Wi‑Fi a qualquer momento, mesmo quando o Wi‑Fi está desativado. Essa configuração pode ser usada, por exemplo, para melhorar recursos e serviços baseados na localização."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ativar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Busca por Wi‑Fi ativada"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Esta rede usa um protocolo de segurança mais antigo e menos seguro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"A rede <xliff:g id="NAME">%1$s</xliff:g> foi bloqueada"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Esta rede usa um protocolo de segurança mais antigo chamado WEP, que é menos seguro. Para se conectar mesmo assim, permita a conexão em redes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Sua operadora não permite que você se conecte a esta rede porque ela usa um protocolo de segurança mais antigo e menos seguro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permitir WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Fechar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opções avançadas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista suspensa \"Opções avançadas\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"abrir"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Continuar no Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Não mostrar de novo"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Conectar"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi ativado"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Conectando a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Conectando…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Falha ao conectar à rede"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Rede fora do alcance"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Esquecer"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modificar"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Falha ao esquecer a rede"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Salvar"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Falha ao salvar a rede"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancelar"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Dados móveis"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Carregando"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Carregando"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Conexão de ponto de acesso"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Potência da conexão"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes salvas"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nenhuma senha definida"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nome do ponto de acesso"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Senha do ponto de acesso"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda do ponto de acesso"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desativar ponto de acesso automaticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando nenhum dispositivo estiver conectado"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Aumentar compatibilidade"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balanço de branco da tela"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar usando apps com a tela dobrada"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente a taxa de atualização de 60 para <xliff:g id="ID_1">%1$s</xliff:g> Hz em alguns conteúdos. Maior uso da bateria."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Desativar o frame rate padrão para jogos"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Desativar o limite máximo de frame rate para jogos em <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente a taxa de atualização para <xliff:g id="ID_1">%1$d</xliff:g> Hz para alguns conteúdos. Maior uso da bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização máxima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Maior taxa de atualização para melhoria na resposta tátil e na qualidade das animações. Maior uso da bateria."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Reconhecimento de tela em uso"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Usando a câmera frontal, o \"Reconhecimento de tela em uso\" detecta se alguém está olhando para a tela. Ele funciona no dispositivo, e as imagens nunca são armazenadas nem enviadas ao Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ativar o \"reconhecimento de tela em uso\""</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantenha a tela ligada enquanto estiver olhando para ela"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Um tempo limite da tela mais longo vai consumir a bateria mais rapidamente."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"A câmera está bloqueada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Desbloqueie a câmera para usar a detecção facial"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"A câmera precisa ser desbloqueada para usar o reconhecimento de tela em uso"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot para chip <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot para chip <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>, principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Selecione uma rede salva para ver"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versão do PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nível da bateria"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Compartilhadas"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Configurações compartilhadas"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mensagem via satélite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editar ponto de acesso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Adicionar ponto de acesso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Sem definição"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Não definido"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ativado"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN desativado"</string>
     <string name="bearer" msgid="3231443241639159358">"Portador"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo de rede"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Não especificado"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo de MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor de MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Excluir APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"O campo Nome não pode ficar vazio."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"O APN não pode estar vazio."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"O campo MCC deve ter 3 dígitos."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"O campo MNC deve ter 2 ou 3 dígitos."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"A operadora não permite adicionar APNs do tipo %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"O campo MMSC não é válido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restaurando as configurações APN padrão."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Redefinir para o padrão"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Redefinição das configurações padrão do APN concluída."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reiniciar"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"O Bluetooth e o Wi-Fi foram redefinidos"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Limpar eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Isso não cancelará nenhum plano de serviços móveis. Para fazer o download de chips substitutos, entre em contato com a operadora."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Essa ação não cancela seu plano de serviço móvel. Para um chip de substituição, entre em contato com a operadora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Redefinir configurações"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Redefinir todas as configurações de rede? Não é possível desfazer essa ação."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Você quer mesmo redefinir todas as configurações de rede e apagar os eSIMs salvos? Não é possível desfazer essa ação."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Redefinir?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"A redefinição da rede não está disponível para esse usuário"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"As configurações de rede foram redefinidas"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Não é possível limpar chips"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Ocorreu um erro ao apagar o eSIM.\n\nReinicie o dispositivo e tente de novo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Não é possível apagar os eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Ocorreu um erro e os eSIMs não foram apagados.\n\nReinicie o dispositivo e tente de novo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Limpar todos os dados (redefinir para a configuração original)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Limpar todos os dados"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Músicas"</li>\n<li>"Fotos"</li>\n<li>"Outros dados do usuário"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Essa ação não cancelará seu plano de serviços móveis."</string>
-    <string name="main_clear_final_desc" msgid="5800877928569039580">"Todas as informações pessoais e os apps transferidos por download serão excluídos. Não é possível desfazer essa ação."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Todas as suas informações pessoais, inclusive apps e chips transferidos por download, serão excluídas. Não é possível desfazer essa ação."</string>
+    <string name="main_clear_final_desc" msgid="5800877928569039580">"Todas as informações pessoais e os apps baixados serão excluídos. Não é possível desfazer essa ação."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Todas as suas informações pessoais, inclusive apps e eSIMs baixados, serão excluídas. Não é possível desfazer essa ação."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Limpar todos os dados?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"A redefinição para a configuração original não está disponível para este usuário"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Limpando"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Ponto de acesso, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Não está compartilhando a Internet com outros dispositivos"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desativados"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Não usar ponto de acesso Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartilhar Internet apenas por USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartilhar Internet apenas por Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Compartilhar Internet apenas por Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartilhar Internet apenas por USB e Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Compartilhar Internet apenas por USB e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Compartilhar Internet apenas por Bluetooth e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Compartilhar Internet apenas por USB, Bluetooth e Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use o ponto de acesso e tethering para que outros dispositivos possam usar a Internet pela sua conexão de dados móveis. Os apps também podem criar um ponto de acesso para compartilhar conteúdo com dispositivos por perto."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ajuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rede móvel"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plano de serviço móvel"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"App de SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Alterar app de SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Usar o <xliff:g id="NEW_APP">%1$s</xliff:g> em vez do <xliff:g id="CURRENT_APP">%2$s</xliff:g> como app de SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Alterar o Assistente de Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Usar <xliff:g id="NEW_APP">%1$s</xliff:g> em vez de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para gerenciar suas conexões de rede?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Usar <xliff:g id="NEW_APP">%s</xliff:g> para gerenciar suas conexões de rede?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operadora do chip desconhecida"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> não tem um website de provisionamento conhecido"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Insira o chip e reinicie"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Conecte-se à Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Solicitações recentes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Local do perfil de trabalho"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permissões de acesso ao local"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Limpar acesso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controles"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forçar fechamento"</string>
+    <string name="archive" msgid="9074663845068632127">"Arquivar"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurar"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restaurando"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restaurando."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restaurando…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restaurando…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tamanho do app"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"App de armazenamento USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Não foi possível calcular o tamanho do pacote."</string>
     <string name="version_text" msgid="7628938665256107608">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mover"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Falha ao arquivar"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> arquivado"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Falha na restauração"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restaurando app: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Outra migração já está em andamento."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Não há espaço de armazenamento suficiente."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"O app não existe."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclado na tela disponível"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gerenciar teclados na tela"</string>
     <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="6922850403920596246">"Permitir teclas de filtro para acessibilidade do teclado físico"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Permitir teclas lentas para acessibilidade do teclado físico"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Teclas de aderência"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Permitir teclas de aderência para acessibilidade do teclado físico"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toque no canto inferior direito do touchpad para mais opções"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do cursor"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprender gestos do touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ir para a tela inicial"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Deslize para cima com três dedos em qualquer lugar do touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Voltar"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenar por tempo de uso"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenar pelo último uso"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenar por nome do app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Última utilização"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Último uso"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nunca"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Tempo de uso"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Acessibilidade"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Configurações de acessibilidade"</string>
@@ -1807,7 +1983,7 @@
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controles de interação"</string>
     <string name="accessibility_tap_assistance_title" msgid="1058913033421048284">"Controles de marcação de tempo"</string>
     <string name="accessibility_system_controls_title" msgid="6403287349518987624">"Controles do sistema"</string>
-    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps transferidos por download"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps baixados"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentais"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Sinalizações de recursos"</string>
     <string name="bt_hci_snoop_log_filters_dashboard_title" msgid="401330708633716596">"Filtro do registro de espionagem de HCI Bluetooth"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar com toque triplo"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar com atalho"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar com atalho e toque triplo"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usar o botão de acessibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantenha as teclas de volume pressionadas para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toque três vezes na tela para abrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Tocar duas vezes na tela com dois dedos para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar o gesto de acessibilidade"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esse recurso, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre os recursos, toque no botão de acessibilidade e o pressione."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esse recurso, toque no botão de acessibilidade na sua tela."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esse recurso, toque nas duas teclas de volume e as mantenha pressionadas."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar ou interromper a ampliação, toque três vezes em qualquer lugar da tela."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Para iniciar ou interromper a ampliação, toque duas vezes em qualquer lugar da tela com dois dedos."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esse recurso, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com três dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com três dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ok"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Configurações do botão"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Configurações do botão"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atalho para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botão de acessibilidade"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto de acessibilidade"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter as teclas de volume pressionadas"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"manter as teclas de volume pressionadas"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Toque nas duas teclas de volume e as mantenha 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tocar duas vezes na tela com dois dedos"</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="6863958573135995927">"tocar na tela 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Saiba mais sobre o botão e o gesto de acessibilidade"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Como usar o botão de acessibilidade. O gesto não está disponível na navegação com três botões."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Acessar rapidamente os recursos de acessibilidade"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para começar, siga estas instruções:"</b>\n"1. Vá para as configurações de acessibilidade.\n2. Selecione um recurso e toque no atalho.\n3. Escolha se você quer usar um botão ou gesto para acessar esse recurso."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para começar, siga estas instruções:"</b>\n"1. Vá para as configurações de acessibilidade.\n2. Selecione um recurso e toque no atalho.\n3. Escolha o botão para acessar o recurso."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para começar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Abra as configurações de acessibilidade&lt;br/&gt; {1,number,integer}. Selecione um recurso e toque no atalho&lt;br/&gt; {2,number,integer}. Escolha se quer usar um botão ou um gesto para acessar o recurso&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para começar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Abra as configurações de acessibilidade&lt;br/&gt; {1,number,integer}. Selecione um recurso e toque no atalho&lt;br/&gt; {2,number,integer}. Escolha o botão para acessar o recurso&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Usar botão ou gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Localização"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamanho"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Botão liga/desliga encerra chamadas"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Cursor do mouse grande"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Deixar o ponteiro do mouse perceptível"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Forçar apps a usar o tema escuro"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Para apps que não tem um tema escuro. Alguns apps podem ter problemas, como cores invertidas."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remover animações"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduzir o movimento na tela"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Áudio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Usar vibração e retorno tátil"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibração do alarme"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibração de mídia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibração do teclado"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibração do toque"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibração das notificações"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback por toque"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Parar"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Desativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Se você tocar em <xliff:g id="STOP">%1$s</xliff:g>, o <xliff:g id="SERVICE">%2$s</xliff:g> será interrompido."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desativar"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Manter ativado"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Desativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nenhum serviço foi instalado"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nenhum serviço selecionado"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nenhuma descrição foi fornecida."</string>
     <string name="settings_button" msgid="2195468788019730377">"Configurações"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilidade à luz, fotofobia, tema escuro, enxaqueca, dor de cabeça, modo de leitura, modo noturno, reduzir brilho, ponto branco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Facilidade de uso, facilidade de acesso, assistência, assistivo"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visão, audição, cego, surdo, motor, destreza, assistivo, assistência, facilidade de uso, facilidade de acesso, mão, ajuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Lupa de janela, zoom, ampliação, baixa visão, ampliar, aumentar"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Legendas, closed captions, CC, Transcrição instantânea, deficiência auditiva, perda auditiva, legenda ao vivo, voz em texto"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste de cor"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"coordenação motora, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"aparelhos auditivos, perda auditiva, implantes cocleares, dispositivos de amplificação, processadores de som"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, mouse, mouse externo, mouse controlado por movimentos da cabeça, mouse adaptável, cadeira de rodas, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"aparelhos auditivos, perda auditiva, implantes cocleares, dispositivos de amplificação, processadores de som, CAE"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"deficiência auditiva, perda auditiva, legendas, teletipo, TTD"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"três botões"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destreza, motor, idoso, artrite, LER, derrame, tremor, esclerose múltipla, paralisia cerebral, tremendo, lesão por esforço repetitivo, mão"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"atraso, destreza, idoso"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impressão"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desativada"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 serviço de impressão ativado}one{# serviço de impressão ativado}other{# serviços de impressão ativados}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> restantes"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> até carregar"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tempo de tela"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tempo em segundo plano"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria fraca"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permitir que o app seja executado em segundo plano"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limitar atividade em segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se você limitar as atividades em segundo plano de um app, ele poderá apresentar mau funcionamento"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Como o app não está configurado para otimizar bateria, não é possível restringi-lo.\n\nPara restringir, ative a otimização."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gerenciar uso da bateria"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir o uso em segundo plano"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ative para receber atualizações em tempo real ou desative para economizar bateria"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Otimizado"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrito"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ver apps com maior uso"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Carregamento otimizado para proteger a bateria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Para ajudar a prolongar a vida útil da bateria, o carregamento foi otimizado"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Carregamento otimizado para proteger a bateria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para ajudar a prolongar a vida útil da bateria, o carregamento vai ser otimizado quando o dispositivo estiver na base"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Carregamento otimizado para proteger a bateria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para ajudar a prolongar a vida útil da bateria, o carregamento vai ser otimizado quando o dispositivo estiver na base"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Carregamento total"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para proteger a bateria, o carregamento vai ser otimizado na próxima vez que o tablet estiver na base"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Saiba mais sobre a pausa no carregamento"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar o carregamento"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclui atividade em segundo plano com alto consumo de energia"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esse app poderá usar a bateria em segundo plano. É possível que sua bateria acabe antes do esperado."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remover"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Carregar totalmente"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema com o acessório de carregamento"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Verifique o acessório de carregamento"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Saiba mais sobre a incompatibilidade de carregamento"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gerenciador de bateria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gerenciar apps automaticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"desde a última carga completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Apps do sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Apps desinstalados"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Outros"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tempo restante estimado"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Até a carga completa"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menos de um minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Segundo plano: menos de um minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tempo de uso: menos de um minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menos de um minuto"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Segundo plano: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tempo de uso: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"agora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> — <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g>. <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gráfico de uso da bateria"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gráfico de uso diário da bateria"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gráfico de uso da bateria por hora"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Mudança na porcentagem do nível de bateria de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> para <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Uso da bateria desde a última carga completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Uso da bateria no período: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tempo de uso desde a última carga completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal de discagem de emergência"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Definir comportamento durante uma chamada de emergência"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Ativado"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desativado"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup e restauração"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dados pessoais"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Fazer backup"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dados móveis e Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizar dados pessoais"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronizar dados de trabalho automaticamente"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincronizar dados particulares automaticamente"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Alterar ciclo..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dia do mês para redefinir o ciclo de uso dos dados:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nenhum app usou dados durante o período."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Endereço do servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Criptografia PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segredo L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Chave pré-compartilhada IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuário IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opções avançadas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domínios de pesquisa de DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores de DNS (por exemplo, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rotas de encaminhamento (ex: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nome de usuário"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Senha"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Salvar informações sobre a conta"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"Não utilizado"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(não verificar servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(recebido de um servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Não é possível manter este tipo de VPN sempre conectado."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN sempre ativa só é compatível com endereços numéricos"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Um servidor DNS precisa ser especificado para VPN sempre ativa"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os endereços de servidor DNS precisam ser numéricos para VPN sempre ativa"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"As informações inseridas não são compatíveis com VPN sempre ativa"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Dispensar"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexões sem VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Conexão VPN necessária?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Não seguro. Atualize para uma VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Falha ao iniciar a VPN sem suporte."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre conectado. O tráfego de rede somente será permitido quando conectado a esta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A VPN sempre ativa requer um endereço IP para o servidor e o DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receber boletins sobre crianças sequestradas"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Ativar Gerenciador de chamadas"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permitir que este serviço gerencie como as chamadas são feitas."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gerenciador de chamadas"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertas de emergência sem fio"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operadores de rede"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nomes dos pontos de acesso"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status do chip"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status do chip (slot para SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"O chip foi mudado."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Seus chips foram trocados"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toque para configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Perguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seleção necessária"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recentes, apps padrão"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"O acesso às notificações não está disponível para apps no perfil de trabalho."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Senhas e contas"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Senhas salvas, preenchimento automático e contas sincronizadas"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugestões de login e preenchimento automático"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Apps padrão"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Apps clonados"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crie uma segunda instância de um app para que você possa usar duas contas ao mesmo tempo."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"carteira"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagamentos"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"desbloqueio, facial, autenticação, login"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"rosto, desbloqueio, autenticação, login, impressão digital, biometria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versão prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tamanho do texto, letras grandes, fonte grande, texto grande, baixa visão, aumentar texto, ampliador de fonte, aumento de fonte"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"tela ambiente sempre ativada, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiqueta, leitor"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclado, retorno tátil, vibrar,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibração, Não perturbe"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume de mídia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume da transmissão"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ativar sons"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Legenda Instantânea"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Legendar mídias automaticamente"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Alto-falantes do smartphone"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Alto-falantes do tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Alto-falantes do dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Fones de ouvido com fio"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"O áudio de dispositivos de mídia compatíveis fica mais imersivo"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Desativado"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo o conteúdo das notificações"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Só mostrar conteúdo sensível quando desbloqueado"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Não mostrar nenhuma notificação"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como você quer mostrar as notificações na tela de bloqueio?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"O que você quer que apareça na sua tela de bloqueio?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Tela de bloqueio"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostre todo o conteúdo de notificação de trabalho"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Conversas recentes removidas"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversa removida"</string>
     <string name="clear" msgid="5092178335409471100">"Limpar"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Limpar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"As conversas prioritárias e modificadas aparecem aqui"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Depois de marcar como prioritária ou fazer qualquer mudança nas conversas, elas aparecem aqui. \n\nPara mudar as configurações: \ndeslize o dedo de cima para baixo na tela para abrir a aba suspensa. Em seguida, toque na conversa e mantenha pressionada."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizar"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Período de espera para notificações"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplicar um período de espera a todas as notificações"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Diminuir gradualmente o volume de notificações quando você receber muitas seguidas do mesmo app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplicar um período de espera a conversas"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Diminuir gradualmente o volume de notificações quando você receber muitas mensagens seguidas da mesma conversa em um curto período"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Não usar o período de espera para notificações"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nunca diminuir o volume de notificações, independente da quantidade de notificações seguidas do mesmo app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrar quando desbloqueado"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrar apenas quando a tela estiver desbloqueada"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfis de trabalho"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplique as configurações de período de espera para notificações do seu perfil pessoal ao seu perfil de trabalho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serviços de ajuda para RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nenhum app instalado solicitou ser executado como serviço de ajuda para RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Permitir acesso ao serviço de RV para <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desativada"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fixação de apps"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"A fixação de apps faz com que o app atual fique aberto na tela até que você libere. Esse recurso pode ser usado, por exemplo, para deixar alguém acessar um jogo específico no seu smartphone."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nPara usar a fixação de apps, faça o seguinte: 	\n1. Ative a fixação de apps. 	\n2. Abra a opção \"Visão geral\". 	\n3. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nSe você quiser compartilhar seu dispositivo com alguém de forma segura, tente fazer isso com um usuário convidado. \n\nPara usar a fixação de apps, faça o seguinte: 	\n1. Ative a fixação de apps. 	\n2. Abra a opção \"Visão geral\". 	\n3. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nPara usar a fixação de apps: 	\n{0,number,integer}. Ativar a fixação de apps 	\n{1,number,integer}. Abrir a Visão geral 	\n{2,number,integer}. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nSe você quiser compartilhar seu dispositivo com alguém de forma segura, tente fazer isso com um usuário convidado. \n\nPara usar a fixação de apps: 	\n{0,number,integer}. Ativar a fixação de apps 	\n{1,number,integer}. Abrir a Visão geral 	\n{2,number,integer}. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Quando o app está fixado, ele pode: \n\n•		acessar dados pessoais \n		(como contatos e conteúdo de e-mail); \n•		abrir outros apps. \n\nUse a fixação de apps apenas com pessoas em quem você confia."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pedir padrão de desbloqueio antes de liberar a tela"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de liberar a tela"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir senha antes de liberar a tela"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao liberar a tela"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar exclusão do chip"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirme que você quer apagar o eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Confirme sua identidade antes de apagar um eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta da Proteção de memória avançada"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Proteção de memória avançada"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Configurações de apps não usados"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausar atividade no app quando não usado"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remove permissões, exclui arquivos temporários e para notificações"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gerenciar o app fora de uso"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remover permissões, excluir arquivos temporários, parar notificações e arquivar o app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Todos os apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instalados"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantâneos"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Disponível"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memória usada por apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app usou a memória nos últimos {time}}one{# app usou a memória nos últimos {time}}other{# apps usaram a memória nos últimos {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Ativar a criação de perfil de uso da memória"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"O perfil de uso de memória requer outros recursos do sistema."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Criação de perfil de memória"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequência"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Uso máximo"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nenhum dado usado"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Sobrepor a outros apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir sobreposição a outros apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permite que este app apareça sobreposto a outros apps que você esteja usando. Este app poderá ver onde você toca ou mudar o que está sendo mostrado na tela."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Mudar saída de mídia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permitir que um app mude a saída de mídia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permite que este app escolha qual dispositivo conectado vai reproduzir áudio ou vídeo de outros apps. Se a permissão for concedida, o app poderá acessar uma lista de dispositivos disponíveis, por exemplo, fones de ouvido e alto-falantes, e escolher qual dispositivo de saída será usado para transmitir ou reproduzir áudio ou vídeo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acesso a todos os arquivos"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Acesso para gerenciar todos os arquivos"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que o app leia, modifique e exclua todos os arquivos deste dispositivo ou de qualquer volume de armazenamento conectado. Se a permissão for concedida, o app poderá acessar arquivos sem nenhum aviso prévio."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode acessar todos os arquivos"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps com ativação por voz"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir ativação por voz"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A ativação por voz ativa apps aprovados usando comando de voz. A detecção adaptativa integrada garante a privacidade dos seus dados.\n\n"<a href="">"Saiba mais sobre a detecção adaptativa"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificações em tela cheia"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir que esse app mostre notificações em tela cheia"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permita que o app mostre notificações que ocupam a tela inteira quando o dispositivo estiver bloqueado. Os apps poderão usar essa permissão para destacar alarmes, ligações recebidas ou outras notificações urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Alerta de uso de dados em <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limite de dados em <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Alerta de uso de dados em <xliff:g id="ID_1">^1</xliff:g> / Limite de dados em <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"O cálculo de dados da operadora pode ser diferente daquele realizado pelo seu dispostivo"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Exclui dados usados por redes de operadoras"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> usado(s)"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Definir alerta de uso de dados"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Atualizado há <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Atualizado pela <xliff:g id="ID_1">^1</xliff:g> agora mesmo"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Atualizado agora"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ver plano"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Mais detalhes"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Economia de dados"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dados ilimitados"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em segundo plano"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou mais bateria em primeiro plano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em primeiro plano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia no uso da bateria"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Alto uso da bateria"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Alto uso da bateria em segundo plano"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Alto uso da bateria em primeiro plano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Blocos de desenvolvedor para configurações rápidas"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Desativar o tempo limite da autorização adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Desativar a revogação automática de autorizações adb para sistemas que não foram reconectados no período padrão (7 dias) ou configurado pelo usuário (mínimo de 1 dia)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Rastreamento do Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensores desativados"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Configurações do perfil de trabalho"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Pesquisar contatos do diretório de trabalho nos apps pessoais"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegação no sistema, navegação com dois botões, navegação com três botões, navegação por gestos, deslizar"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslize para invocar o assistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Pressione o botão home para ativar o Google Assistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Toque e pressione o botão home para invocar o app assistente digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Preenchimento automático"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Preenchimento automático padrão"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Senhas"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Senhas, chaves de acesso e serviços de dados"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Outros provedores"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Serviço preferido"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Serviços adicionais"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# senha}one{# senha}other{# senhas}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"preencher, automático, preenchimento automático, senha"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dados, chave de acesso, senha"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automático, preenchimento, preenchimento automático, dados, chave de acesso, senha"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Mudar"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Abrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nenhum selecionado"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Você precisa confiar nesse app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=O Preenchimento automático do Google&gt;%1$s&lt;/xliff:g&gt; usa o que está na sua tela para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Usar o &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;O &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; usa o que aparece na sua tela para determinar o que pode ser preenchido automaticamente. Novas senhas, chaves de acesso e outras informações serão salvas aqui a partir de agora."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Senhas, chaves de acesso e serviços de dados"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Usar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Senhas, chaves de acesso e outras informações novas serão salvas aqui a partir de agora. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que aparece na tela para determinar o que pode ser preenchido automaticamente."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Serviço preferido para senhas, chaves de acesso e preenchimento automático"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Desativar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Desativar este serviço?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Senhas, chaves de acesso, formas de pagamento e outras informações salvas não serão preenchidas quando você fizer login. Para usar suas informações salvas, escolha uma senha, uma chave de acesso ou um serviço de dados."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Senhas, chaves de acesso e preenchimento automático"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Desativar todos os serviços?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Novas senhas, chaves de acesso e outras informações serão salvas aqui a partir de agora."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Mude seu serviço favorito para &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Novas senhas, chaves de acesso e outras informações serão salvas aqui a partir de agora. O &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que aparece na tela para determinar o que pode ser preenchido automaticamente"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Usar %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desativar"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Mudar"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Só é possível ter 5 serviços ativados"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desative pelo menos 1 serviço para adicionar outro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s usa o que aparece na tela para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limite de senhas, chaves de acesso e serviços de dados"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"É possível ter até cinco senhas, chaves de acesso e serviços de dados ao mesmo tempo. Desative um para adicionar outro."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limite de senhas, chaves de acesso e serviços de dados"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"É possível ter até cinco senhas, chaves de acesso e serviços de dados ativos ao mesmo tempo. Desative um para adicionar outro."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desativar"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Preenchimento automático"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nível de registro"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"As mudanças na compatibilidade de apps só podem ser modificadas para apps depuráveis. Instale um app depurável e tente novamente."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de outra configuração"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d contas"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nome do dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informações básicas"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Informações legais e regulatórias"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permitir que este app seja aberto quando a tag NFC for lida.\nSe esta permissão estiver ativada, o app vai ficar disponível como opção sempre que uma tag for detectada."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Tocar mídia"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Abrir <xliff:g id="LABEL">%s</xliff:g> no dispositivo abaixo:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"O áudio vai tocar"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Neste dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponível durante chamadas"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Desativar som"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Para ativar, mude a opção \"Aperte o botão liga/desliga e o pressione\" para o menu liga/desliga."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalhes da rede"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"O nome do seu dispositivo está visível para os apps no smartphone. Ele também pode ser visto por outras pessoas quando você se conecta a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configura um ponto de acesso Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Dispositivos"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Escolher rede"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Desconectado"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nome"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Cor (usada por apps compatíveis)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Salvar"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Usar chip"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usar este chip"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desativado"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para desativar este chip ele deve ser removido."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toque para ativar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Limpar chip"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para desativar este chip, ele deve ser removido"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toque para ativar seu chip da operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Limpar eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferencial"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Alterar o modo de operação de rede"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo de rede preferencial"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Consulte os preços com seu provedor de rede."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Uso de dados do app"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede <xliff:g id="NETWORKMODEID">%1$d</xliff:g> inválido. Ignorar."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mensagem via satélite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Enviar e receber mensagens de texto via satélite. Incluído na sua conta."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Enviar e receber mensagens de texto via satélite. Não incluído na sua conta."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mensagem via satélite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Sobre mensagens via satélite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"É possível enviar e receber mensagens de texto via satélite como parte de uma conta qualificada da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Seu plano da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Mensagens via satélite estão incluídas na sua conta"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Mensagens via satélite não estão incluídas na sua conta"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Adicionar mensagens via satélite"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Como funciona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Quando uma rede móvel não estiver disponível"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Seu smartphone vai se conectar automaticamente a um satélite. Para conseguir a melhor conexão, vá até um local com céu aberto."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Depois que o smartphone se conectar a um satélite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"É possível enviar mensagens de texto para qualquer pessoa, inclusive para serviços de emergência. O smartphone vai se reconectar a uma rede móvel quando estiver disponível."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"As mensagens via satélite podem demorar mais e estão disponíveis apenas em algumas áreas. O clima e certas estruturas podem afetar sua conexão via satélite. Chamadas via satélite não estão disponíveis.\n\nPode levar algum tempo para que as mudanças na sua conta apareçam nas Configurações. Entre em contato com a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para mais detalhes."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mais informações sobre mensagens via satélite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos pontos de acesso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponível quando conectado à <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Mudar para a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Começar a usar o chip?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Somente um chip pode estar ativo por vez.\n\nMudar para a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancelará o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Apenas um eSIM pode ficar ativo por vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Somente um chip pode estar ativo por vez.\n\nMudar de operadora não cancelará o serviço da <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Somente 1 chip pode ficar ativo por vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Apenas um eSIM pode ficar ativo por vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Apenas 1 chip pode ficar ativo por vez.\n\nMudar o chip não cancela o serviço da operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Você pode usar dois chips ao mesmo tempo. Para usar a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desative o outro chip."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Mudar para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desativar chip da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"A desativação de um chip não cancela o serviço"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Conectando à rede…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Mudando para a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para chamadas e mensagens…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Não foi possível mudar a operadora"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Devido a um erro, não foi possível mudar a operadora."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Ativando chip…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Mudando para a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Não é possível trocar de chip"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Algo deu errado. Não é possível trocar de chip."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Desativar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Desativar chip?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desativando o chip<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Não foi possível desativar a operadora"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Algo deu errado, e não foi possível desativar sua operadora."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Não é possível desativar o chip"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Algo deu errado e seu chip não foi desativado."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Usar dois chips?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo pode ter dois chips ativos ao mesmo tempo. Para continuar usando um chip por vez, toque em \"Agora não\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Reiniciar dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Agora não"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Mudar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desativar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Não foi possível ativar o chip"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Tente ativar o chip novamente. Se o problema continuar, reinicie o dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configure seu chip"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Defina suas preferências de rede móvel para usar vários chips neste dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Rotule seus chips"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Esses rótulos vão aparecer ao fazer ligações, enviar mensagens de texto e usar dados, além de aparecerem nas Configurações"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Rótulo do chip"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Rótulo"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Selecione quais chips usar"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Você pode usar dois chips ao mesmo tempo"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Defina seus chips principais"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Escolha quais chips usar por padrão para fazer ligações, enviar mensagens de texto e usar dados"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Seus principais chips"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Ligações"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mensagens de texto"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Troca de dados automática"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Usar dados de qualquer chip dependendo da cobertura e disponibilidade"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Somente dados"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configurar"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Próxima"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Ativando <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rede móvel"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de telefone"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Rótulo e cor do chip"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ativação de rede"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Mudança de operadora"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"A operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está ativa"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Seu chip da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está ativo"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Toque para atualizar as configurações do chip"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Mudou para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Mudou para outra operadora"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Sua rede móvel foi alterada"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configurar outro chip"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Selecione seu chip ativo ou use dois chips ao mesmo tempo"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Escolha um número para usar"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Há 1 número disponível neste dispositivo. É possível usar apenas um por vez}=2{Há 2 números disponíveis neste dispositivo, mas é possível usar apenas um por vez}one{Há # número disponível neste dispositivo. É possível usar apenas um por vez}other{Há # números disponíveis neste dispositivo, mas é possível usar apenas um por vez}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Ativando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Não foi possível ativar no momento"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Escolha um chip para usar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Há 1 chip disponível neste dispositivo. É possível usar apenas um por vez}=2{Há 2 chips disponíveis neste dispositivo, mas é possível usar apenas um por vez}one{Há # chip disponível neste dispositivo. É possível usar apenas um por vez}other{Há # chips disponíveis neste dispositivo, mas é possível usar apenas um por vez}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Ativando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Não foi possível ativar o chip no momento"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"A operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> será usada para dados móveis, chamadas e SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nenhum chip ativo disponível"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para usar dados móveis, recursos de chamada e SMS mais tarde, acesse as configurações de rede"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"Chip"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Você quer mesmo apagar este eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"A limpeza do chip remove o serviço da <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não será cancelado."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Essa ação remove o serviço da operadora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo, mas o plano da <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não será cancelado."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Limpar"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Limpando chip…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível limpar o chip"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível limpar este chip devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Apagando o eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Não foi possível apagar o eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Ocorreu um erro e este eSIM não foi apagado.\n\nReinicie o dispositivo e tente de novo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar ao dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"O app <xliff:g id="APPNAME">%1$s</xliff:g> quer usar uma rede Wi-Fi temporária para se conectar ao seu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo foi encontrado. Os dispositivos precisam estar ligados e disponíveis para conexão."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Chamadas de emergência"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"As chamadas de emergência feitas com o recurso \"Chamada no Wi-Fi\" não são compatíveis com sua operadora.\nO dispositivo alterna automaticamente para uma rede celular para fazer uma chamada de emergência.\nAs chamadas de emergência são possíveis apenas em áreas com cobertura de celular."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Usar Wi-Fi nas chamadas para melhorar a qualidade"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Chamadas alternativas"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Se <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> estiver indisponível ou em roaming, use o chip de dados móveis para chamadas da operadora <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"chamadas alternativas"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mensagem MMS recebida"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Não é possível enviar mensagens MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Toque para permitir mensagens MMS pela <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> quando os dados móveis estiverem desativados"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informações sobre sua política de trabalho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configurações gerenciadas pelo administrador de TI"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Inicializar com páginas de 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Inicializar dispositivo usando o kernel com suporte a páginas de 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reiniciar com kernel compatível com páginas de 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVISO: alguns aplicativos podem não ser compatíveis com esse modo. O dispositivo será reiniciado após a confirmação."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reiniciar com kernel compatível com páginas de 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"O dispositivo será reiniciado após a confirmação."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Falha ao atualizar para um kernel compatível com páginas de 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Aplicando mudança"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Gerenciador de relatórios de bugs"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qual app gerencia o atalho para o Relatório de bug no dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pessoais"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permitir que apps que podem ser sobrepostos a outros sejam abertos sobre telas de configuração"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permitir Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permita que este dispositivo execute o serviço Mock Modem para testes de instrumentação. Não ative esse recurso durante o uso normal do smartphone."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Desativar as proteções do compartilhamento de tela"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Desativa as proteções de apps e notificações aplicadas pelo sistema durante o compartilhamento de tela"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Mídia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fixar player de mídia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Para retomar a reprodução rapidamente, o player de mídia fica aberto nas Configurações rápidas"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostrar mídia na tela de bloqueio"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Para retomar a reprodução rapidamente, o player de mídia fica aberto na tela de bloqueio"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostrar recomendações de mídia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostrar recomendações de mídia do Google Assistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Com base na sua atividade"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ocultar player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostrar player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"mídia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permitir extensões de softwares da câmera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Permite a implementação de softwares padrão com recursos avançados de câmera, como a videografia de acessibilidade."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"O Bluetooth será ativado"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Chips"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"Chip"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Ativo"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inativo"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Ativado"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Desativado"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Padrão para <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"chamadas"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"O áudio de dispositivos de mídia compatíveis se torna mais imersivo"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Acompanhamento da cabeça"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"O áudio muda conforme você move a cabeça para soar mais natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sincronizar permissões"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Conceda ao dispositivo <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> as mesmas permissões de app que você deu ao <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizar permissões do smartphone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Conceda ao relógio as mesmas permissões do app que você concedeu a este smartphone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo de dispositivo de áudio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Desconhecido"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Alto-falante"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Médio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Esse app só pode ser aberto em uma única janela"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Ativado"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Desativado"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Desativado"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desativado"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Ativado"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desativado"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Ativada"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desativada"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Transforma as telas claras em escuras e vice-versa"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Aumentar o zoom na tela"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desativado"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desativada"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Verificação de apps enganosos"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Verificar atividades no app para detectar phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar o recurso de verificação para detectar apps enganosos"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar o recurso de verificação para detectar apps enganosos que podem ser usados no perfil de trabalho"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"A senha foi configurada"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostrar ponteiro ao passar o cursor"</string>
 </resources>
diff --git a/res/values-pt-rPT/arrays.xml b/res/values-pt-rPT/arrays.xml
index 521acfc..d2606cb 100644
--- a/res/values-pt-rPT/arrays.xml
+++ b/res/values-pt-rPT/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponível"</item>
     <item msgid="6096962300722555553">"Fora do intervalo"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usar a predefinição do sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Após 1 minuto"</item>
     <item msgid="1574040255478150028">"Após 5 minutos"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-pt-rPT/strings.xml b/res/values-pt-rPT/strings.xml
index 1ca5d60..ec8743c 100644
--- a/res/values-pt-rPT/strings.xml
+++ b/res/values-pt-rPT/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Agora é um programador!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Não é necessário, já é um programador."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Ative primeiro as Opções de programador."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Apenas os utilizadores administradores podem aceder às definições do programador."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de serviço"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"O ecrã frontal liga-se quando dobra o dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Apenas jogos, vídeos e muito mais"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"O ecrã frontal liga-se para apps que impedem o ecrã de ficar inativo"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Deslizar rapidamente para cima para continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Dobre o telemóvel e deslize rapidamente para cima no ecrã frontal para continuar a usar a app ou aguarde alguns segundos até o ecrã ficar bloqueado"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nunca"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"O ecrã frontal é bloqueado quando dobra o dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Usar rotação automática"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionados"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Toque e alarmes"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Áudio durante chamadas"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Multimédia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificações e outros sons"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons de multimédia/do sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificações"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Por predefinição, a saída de áudio é determinada por apps individuais"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Aparelho Bluetooth sem nome"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"A pesquisar"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancelar"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Desativar Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Desativa a funcionalidade Bluetooth LE Audio se o dispositivo suportar as capacidades de hardware LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modo Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Botão LE Audio – Detalhes do dispositivo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Ativar lista de autorizações do Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Ative a funcionalidade da lista de autorizações do Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Contornar lista de autorizações do Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Use o LE Audio por predefinição, mesmo se o cumprimento dos critérios da lista de autorizações pelo periférico com LE Audio não tiver sido validado."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos multimédia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos guardados"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associado à conta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usado anteriormente com a conta"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"O Bluetooth será ativado para a sincronização"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferências de ligação"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Ligados anteriormente"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ativado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Veja tudo"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Caneta stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Botão da caneta stylus premido"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escrever em campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os botões premidos com a caneta stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Caneta stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Partilha de áudio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Partilhar áudio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chamadas e alarmes"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Ligue-se a uma stream de áudio através do código QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nenhuma stream de áudio próxima."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Limpar"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Adicionar %s aos idiomas preferidos?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Esta ação permite que as apps e os Websites saibam que também prefere este idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"As preferências regionais e as definições do dispositivo vão ser alteradas."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Alterar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s não está disponível"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sábado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Se uma app não suportar preferências regionais, usa as predefinições de local."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Saiba mais acerca das preferências de idioma."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferências adicionais"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Termos de tratamento"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Defina a forma como quer que se dirijam a si"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"As apps podem usar os seus termos de tratamento para personalizarem a forma como se dirigem a si."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Não especificado"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminino"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculino"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutro"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remover o idioma selecionado?}other{Remover os idiomas selecionados?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"O texto será apresentado noutro idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Não é possível remover todos os idiomas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Localização"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar localização"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Desativada"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Ativada – # app tem acesso à localização}other{Ativada – # apps têm acesso à localização}}"</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_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="5329024810729665156">"Saiba mais acerca das definições de localização."</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="3574930966097093550">"Alterar acesso localização: Definições &gt; Segurança e privacidade &gt; Controlos privac."</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Contas"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Segurança"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Encriptação/credenciais"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para obter os melhores resultados, use um protetor de ecrã com a certificação Made for Google. Com outros protetores de ecrã, a impressão digital da criança pode não funcionar."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueio com o relógio"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Ao configurar o Desbloqueio facial e o Desbloqueio por impressão digital, o telemóvel pede a sua impressão digital quando usar uma máscara ou estiver numa área escura.\n\nPode desbloquear com o relógio quando o seu rosto ou impressão digital não forem reconhecidos."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Pode desbloquear com o relógio quando a sua impressão digital não for reconhecida."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Pode desbloquear com o relógio quando o seu rosto não for reconhecido."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Ao configurar o Desbloqueio facial e o Desbloqueio por impressão digital, o telemóvel pede a sua impressão digital quando usar uma máscara ou estiver numa área escura.\n\nO Desbloqueio com o relógio é outra forma fácil de desbloquear este telemóvel, por exemplo, quando tiver os dedos molhados ou o seu rosto não for reconhecido."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"O Desbloqueio com o relógio é outra forma fácil de desbloquear o telemóvel, por exemplo, quando a sua impressão digital não for reconhecida."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"O Desbloqueio com o relógio é outra forma fácil de desbloquear o telemóvel, por exemplo, quando o seu rosto não for reconhecido."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use a impressão digital ou o relógio para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use o rosto ou o relógio para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use o rosto, a impressão digital ou o relógio para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"O Desbloqueio com o relógio é outra forma fácil de desbloquear este telemóvel, por exemplo, quando tiver os dedos molhados ou o seu rosto não for reconhecido.\n\nPode usar o relógio para desbloquear este telemóvel quando:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Agora não"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mais"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Como funciona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"O seu relógio tem de estar desbloqueado, no pulso e dentro do alcance deste telemóvel. Não precisa de desbloquear o relógio novamente enquanto estiver no seu pulso."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Quando este telemóvel for desbloqueado, recebe uma notificação no relógio. Se tiver sido desbloqueado acidentalmente, toque na notificação para bloquear novamente o telemóvel."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"O controlo é seu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Pode remover o relógio do Desbloqueio com o relógio em qualquer altura nas Definições"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Toque numa notificação"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Deslize rapidamente para cima no ecrã de bloqueio"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Escolha o seu relógio"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Relógios disponíveis"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancelar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmar"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Está tudo pronto!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Já pode usar o relógio para desbloquear este telemóvel quando deslizar rapidamente para cima no ecrã de bloqueio ou tocar numa notificação"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Concluir"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueio com o relógio"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Pode usar o relógio para desbloquear este telemóvel quando deslizar rapidamente para cima no ecrã de bloqueio ou tocar numa notificação"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar o Desbloqueio com o relógio, o relógio tem de estar desbloqueado, no pulso, dentro do alcance e ligado a este telemóvel. Se a ligação for interrompida, vai precisar de desbloquear o telemóvel antes de poder usar o Desbloqueio com o relógio.\n\nTenha em atenção:\nSó pode ter um relógio configurado de cada vez. Para adicionar outro relógio, remova primeiro o atual."</string>
+    <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">"Impressão digital e Desbloqueio facial"</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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Segurança"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacidade"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabalho"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espaço privado"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantenha as apps privadas bloqueadas e ocultas"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantenha as apps privadas num espaço separado que pode ocultar ou bloquear"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueio do espaço privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Pode desbloquear o espaço privado da mesma forma que desbloqueia o seu dispositivo ou escolher um bloqueio diferente"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar bloqueio de ecrã do dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueio facial e por impressão digital"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueio por impressão digital"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueio facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toque para configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueio por impressão digital para o espaço privado"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueio facial para o espaço privado"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Formas de desbloquear"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"O mesmo que o bloqueio de ecrã do dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Escolher um novo bloqueio para o espaço privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloqueie automaticamente o espaço privado"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Pode bloquear automaticamente o seu espaço privado se não tiver usado o dispositivo durante um determinado período"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Sempre que o dispositivo é bloqueado"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Após 5 minutos de inatividade"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nunca"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar quando bloqueado"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ocultar espaço privado quando bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Para impedir que outras pessoas saibam que tem um espaço privado no seu dispositivo, pode ocultá-lo da sua lista de apps"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Aceda ao espaço privado quando estiver oculto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Lista de apps: insira \"espaço privado\" na barra de pesquisa"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Toque no mosaico do espaço privado"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloqueie o seu espaço privado"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desativado"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ativado"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Eliminar espaço privado"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Eliminar o espaço privado?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"O seu espaço privado vai ser removido do dispositivo. Todos os dados e as apps privadas serão eliminadas. Não é possível anular esta ação."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"As seguintes contas vão ser removidas do seu espaço privado:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Eliminar"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"A eliminar o espaço privado…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Isto vai demorar alguns instantes"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Espaço privado eliminado"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Não foi possível eliminar o espaço privado"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espaço privado desbloqueado"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Defina um bloqueio de ecrã"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para usar o seu espaço privado, defina um bloqueio de ecrã no dispositivo"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueio de ecrã"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancelar"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurar"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configure um espaço privado"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantenha as apps privadas num espaço separado que pode ocultar ou bloquear"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Como funciona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Pode aceder ao seu espaço privado a partir da parte inferior da sua lista de apps"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"As apps no seu espaço privado são protegidas por um bloqueio"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Quando o espaço privado estiver bloqueado, as notificações das respetivas apps são ocultadas"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"As apps no seu espaço privado não vão aparecer no Gestor de autorizações, no painel de privacidade e noutras definições quando o seu espaço privado estiver bloqueado.\n\nNão é possível mover o seu espaço privado para um novo dispositivo. Tem de configurar outro espaço privado se quiser usá-lo noutro dispositivo.\n\nQualquer pessoa que ligue o seu dispositivo a um computador ou instale apps prejudiciais no seu dispositivo pode conseguir aceder ao seu espaço privado."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"A configurar o espaço privado…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Quando o espaço privado estiver bloqueado, as notificações das respetivas apps são ocultadas"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloqueie o espaço privado para partilhar fotos ou ficheiros"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Algumas apps já estão instaladas no seu 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_lockscreen_title" msgid="6034864097861137509">"Usar o bloq. ecrã para desbloquear espaço privado?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Pode desbloquear o espaço privado da mesma forma que desbloqueia o seu dispositivo ou escolher um bloqueio diferente"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar bloqueio de ecrã"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Escolher novo bloqueio"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tudo pronto!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para encontrar o seu espaço privado, aceda à sua lista de apps e desloque o ecrã para baixo"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Concluir"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Desloque o ecrã para baixo para encontrar o espaço privado"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Inicie sessão"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Inicie sessão numa conta para usar com o seu espaço privado"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Agora não"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuar"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Escolha um bloqueio para o seu espaço privado"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Pode desbloquear o espaço privado com a sua impressão digital. Por motivos de segurança, esta opção requer um bloqueio de segurança."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Defina um PIN para o espaço privado"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Defina palavra-passe para espaço privado"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Defina um padrão para o espaço privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Pode adicionar até <xliff:g id="COUNT">%d</xliff:g> impressões digitais"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Adicionou o número máximo de impressões digitais"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Não é possível adicionar mais impressões digitais"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrão"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Palavra-passe"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Eliminar o bloqueio de ecrã?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remover todos os tipos de desbloqueios do dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remover a proteção do perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Um padrão protege o seu telemóvel em caso de perda ou roubo"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Um padrão protege o seu telemóvel em caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Isto elimina o modelo de impressão digital armazenado no seu dispositivo. O seu modelo de rosto também será eliminado de forma permanente e segura. Não poderá utilizar o seu rosto ou impressão digital para autenticação em apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Um PIN protege o seu telemóvel em caso de perda ou roubo"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Vai perder dados guardados, como o seu PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Os cartões configurados para pagamento sem contacto vão ser removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>As carteiras e outras apps que requerem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Um PIN protege o seu telemóvel em caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Isto também elimina o modelo de impressão digital armazenado no seu dispositivo. Não poderá utilizar a sua impressão digital para autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Vai perder dados guardados, como o seu PIN e modelo de impressão digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Os cartões configurados para pagamento sem contacto vão ser removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>As carteiras e outras apps que requerem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Um PIN protege o seu telemóvel em caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>O seu modelo de rosto também será eliminado de forma permanente e segura. Não poderá utilizar o seu rosto para autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Vai perder dados guardados, como o seu PIN e modelo de rosto.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Os cartões configurados para pagamento sem contacto vão ser removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>As carteiras e outras apps que requerem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Um PIN protege o seu telemóvel em caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Isto elimina o modelo de impressão digital armazenado no seu dispositivo. O seu modelo de rosto também será eliminado de forma permanente e segura. Não poderá utilizar o seu rosto ou impressão digital para autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Vai perder dados guardados, como o seu PIN, modelos de impressão digital e rosto.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Os cartões configurados para pagamento sem contacto vão ser removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>As carteiras e outras apps que requerem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Uma palavra-passe protege o seu telemóvel em caso de perda ou roubo"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Uma palavra-passe protege o seu telemóvel em caso de perda ou roubo.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Sincronizar com o dispositivo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Adicione um novo membro ao conjunto coordenado existente"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirme para adicionar o segundo componente do seu dispositivo de áudio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Código de sincronização Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Introduza o código de sincronização e, em seguida, prima Return ou Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"O PIN contém letras ou símbolos"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Deve ter 16 dígitos"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Poderá também ter de introduzir este PIN no outro aparelho."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Poderá também ter de introduzir o token de acesso no outro aparelho."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirme para sincronizar com o conjunto coordenado"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirme para sincronizar com o dispositivo de áudio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permitir o acesso aos contactos e ao histórico de chamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Permitir também o acesso aos contactos e ao histórico de chamadas"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"As informações vão ser usadas para anúncios de chamadas e outros"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Não foi possível ligar a <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivos disponíveis"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Ligar"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desligar"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Emparelhar e ligar"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Com o Bluetooth ativado, o dispositivo pode comunicar com dispositivos próximos."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Com o Bluetooth ativado, o dispositivo pode comunicar com dispositivos próximos"</string>
     <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_scan_change" msgid="1744636222637390367">"Altere"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite que o ART valide o bytecode para apps depuráveis"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar taxa de atualização de apresentação atual"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar relação HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar a relação HDR/SDR atual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Pedir o desbloqueio do dispositivo para o NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"No Modo de avião"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificar se existirem redes públicas"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notificar quando uma rede pública de alta qualidade estiver disponível"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permitir redes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"O WEP é um protocolo de segurança mais antigo que é menos seguro"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"A sua operadora não permite redes WEP porque são menos seguras"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Ativar o Wi‑Fi automaticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"O Wi‑Fi é reativado quando estiver perto de redes de alta qualidade guardadas, como a sua rede doméstica"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Indisponível porque a localização está desativada. Ative a "<annotation id="link">"localização"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"A procura de Wi-Fi permite que as aplicações e os serviços procurem redes Wi‑Fi em qualquer altura, mesmo quando o Wi-Fi estiver desativado. Isto pode ser utilizado, por exemplo, para melhorar as funcionalidades e os serviços baseados na localização."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ativar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Procura de Wi-Fi ativada"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Esta rede usa um protocolo de segurança mais antigo que é menos seguro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"A rede <xliff:g id="NAME">%1$s</xliff:g> foi bloqueada"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Esta rede usa um protocolo de segurança mais antigo chamado WEP, que é menos seguro. Para se ligar mesmo assim, pode permitir redes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"A sua operadora não lhe permite ligar-se a esta rede porque usa um protocolo de segurança mais antigo que é menos seguro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permitir WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Fechar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opções avançadas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista pendente: Opções avançadas"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"expandir"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Permanecer em Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Não mostrar novamente"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Ligar"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi ativado"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Ligado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"A ligar a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"A ligar…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Não foi possível estabelecer ligação à rede"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"A rede não está ao alcance"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Esquecer"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modificar"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Não foi possível esquecer a rede"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Guardar"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Não foi possível guardar a rede"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancelar"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Dados móveis"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – A carregar"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – A carregar"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Ligação à zona Wi-Fi"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Intensidade da ligação"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes guardadas"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nenhuma palavra-passe definida."</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nome da zona Wi-Fi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Palavra-passe da zona Wi-Fi"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda do PA"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desativar a zona Wi-Fi automaticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando não existem dispositivos ligados"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Expandir compatibilidade"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Apresentar equilíb. de brancos"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar a usar apps ao dobrar"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente a taxa de atualização de 60 para <xliff:g id="ID_1">%1$s</xliff:g> Hz para algum conteúdo. Aumenta a utilização da bateria."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Des. veloc. frames predef. p/ jogos"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Desative a limitação da velocidade de frames máxima para jogos a <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente a taxa de atualização para <xliff:g id="ID_1">%1$d</xliff:g> Hz para algum conteúdo. Aumenta a utilização da bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização de pico"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"A taxa de atualização mais elevada para uma capacidade de resposta tátil e uma qualidade de animação melhoradas. Aumenta a utilização da bateria."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atenção ao ecrã"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"A Atenção ao ecrã utiliza a câmara frontal para ver se alguém está a olhar para o ecrã. Funciona no dispositivo e as imagens nunca são armazenadas nem enviadas para a Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ative a atenção ao ecrã"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantenha o ecrã ligado enquanto estiver a olhar para ele."</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Um limite de tempo do ecrã mais longo vai aumentar a utilização da bateria."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"A câmara está bloqueada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"A câmara tem de ser desbloqueada para a deteção facial"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"A câmara tem de estar desbloqueada para utilizar a atenção ao ecrã"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ranhura para SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ranhura para SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Para ver, escolha a rede guardada"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MINUTOS"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versão de PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nível da bateria"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Coletivas"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Definições coletivas"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mensagens por satélite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editar ponto de acesso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Adicione o ponto de acesso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Não definido"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Não definido"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ativado"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN desativado"</string>
     <string name="bearer" msgid="3231443241639159358">"Portador"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo de rede"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Não especificado"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo de MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor da MVNO (Operadora Móvel com Rede Virtual)"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Eliminar APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Guardar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada de APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"O campo Nome não pode estar vazio."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"O APN não pode estar vazio."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"O campo MCC tem de ter 3 dígitos."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"O campo MNC tem de ter 2 ou 3 dígitos."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"O operador não permite a adição de APNs do tipo %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"O campo MMSC tem de ser válido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"A restaurar predefinições de APN"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Repor predefinição"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Reposição de predefinições de APN concluída."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Repor"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"O Bluetooth e o Wi-Fi foram repostos"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Apagar eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Esta ação não cancela qualquer plano de serviços móveis. Para transferir SIMs de substituição, contacte o seu operador."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Isto não irá cancelar o seu plano de serviços móveis. Para receber um SIM de substituição, contacte a sua operadora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Repor definições"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Quer repor todas as definições de rede? Não é possível anular esta ação."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Repor todas as definições de rede e apagar os eSIMs? Não é possível anular esta ação."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Quer repor?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"A reposição de rede não está disponível para este utilizador"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"As definições de rede foram repostas"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Não é possível apagar os SIMs"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Não é possível apagar os eSIMs devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Não é possível apagar os eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Algo correu mal e os seus eSIMs não foram apagados.\n\nReinicie o seu dispositivo e tente novamente."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Apagar todos os dados (repor)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Apagar todos os dados (repor)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Música"</li>\n<li>"Fotos"</li>\n<li>"Outros dados do utilizador"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Esta ação não cancela o seu plano de serviços móveis."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Serão eliminadas todas as informações pessoais e apps transferidas. Não é possível anular esta ação."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Todas as suas informações pessoais, incluindo apps e SIMs transferidos, serão eliminadas. Não é possível anular esta ação."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Todas as suas informações pessoais, incluindo apps e eSIMs transferidos, vão ser eliminadas. Não é possível anular esta ação."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Apagar todos os dados?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"A reposição de fábrica não está disponível para este utilizador."</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"A apagar…"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Zona Wi-Fi, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Não está a partilhar Internet com outros dispositivos."</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desativado"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Ligação (à Internet) via telemóvel"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Não utilizar a zona Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Partilhar a Internet apenas através de USB e Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Apenas partilhe a Internet através de Bluetooth."</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Partilhar a Internet apenas através de Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Partilhar a Internet apenas através de USB e Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Partilhar a Internet apenas através de USB e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Partilhar a Internet apenas através de Bluetooth e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Partilhar a Internet apenas através de USB, Bluetooth e Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Ligação USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Ligação Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ligação Ethernet via telemóvel"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use uma zona Wi-Fi e uma ligação (à Internet) via telemóvel para disponibilizar Internet a outros dispositivos através de Wi-Fi ou da sua ligação móvel de dados. As apps também podem criar uma zona Wi-Fi para partilhar conteúdo com dispositivos próximos."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ajuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rede móvel"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plano de telemóvel"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"App de SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Alterar aplicação de SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Usar <xliff:g id="NEW_APP">%1$s</xliff:g> em vez de <xliff:g id="CURRENT_APP">%2$s</xliff:g> como a aplicação de SMS predefinida?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Alterar assistente Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Usar <xliff:g id="NEW_APP">%1$s</xliff:g> em vez de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para gerir as ligações de rede?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Usar <xliff:g id="NEW_APP">%s</xliff:g> para gerir as ligações de rede?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operador SIM desconhecido"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"A <xliff:g id="OPERATOR">%1$s</xliff:g> não possui um Website de gestão conhecido"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Insira o cartão SIM e reinicie"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Ligue-se à Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Pedidos de localização recentes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Local. para perfil de trabalho"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Autorizações de localização das apps"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Limpar acesso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controlos"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forçar paragem"</string>
+    <string name="archive" msgid="9074663845068632127">"Arquivar"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurar"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"A restaurar"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"A restaurar."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"A restaurar.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"A restaurar…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tamanho da app"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Apps de armazenamento USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Não foi possível calcular o tamanho do pacote."</string>
     <string name="version_text" msgid="7628938665256107608">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mover"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Falha ao arquivar"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"App <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> arquivada"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Falha no restauro"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"A restaurar a app <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Já existe outra migração em curso."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Não existe espaço de armazenamento suficiente."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"A aplicação não existe."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclado no ecrã disponível"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gerir teclados no ecrã"</string>
     <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="6922850403920596246">"Ative as Teclas de rejeição para a acessibilidade do teclado físico"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Ative as teclas lentes para a acessibilidade do teclado físico"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Teclas aderentes"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Ative as teclas aderentes para a acessibilidade do teclado físico"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toque no canto inferior direito do touchpad para mais opções"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do ponteiro"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprender gestos do touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Aceder ao ecrã principal"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Deslize para cima com 3 dedos em qualquer parte do touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Voltar"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenar por tempo de utiliz."</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenar por h da últ. utiliz."</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenar por nome da app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Última utilização"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Última utilização"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nunca"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Tempo de utilização"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Acessibilidade"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Definições de acessibilidade"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar com três toques"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Amplie com um atalho"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Amplie com um atalho e três toques"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Acerca de <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Use o botão de acessibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantenha premidas as teclas de volume para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toque três vezes no ecrã para abrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Toque duas vezes com dois dedos no ecrã para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Utilize gestos para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar gesto de acessibilidade"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esta funcionalidade, toque no botão Acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior do seu ecrã.\n\nPara alternar entre funcionalidades, toque sem soltar no botão Acessibilidade."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esta funcionalidade, toque no botão Acessibilidade no seu ecrã."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esta funcionalidade, prima sem soltar as teclas de volume."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar e parar a ampliação, toque três vezes em qualquer parte do ecrã."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Para iniciar e parar a ampliação, toque duas vezes em qualquer parte do ecrã com dois dedos."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esta funcionalidade, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esta funcionalidade, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para utilizar uma funcionalidade de acessibilidade, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Para utilizar uma funcionalidade de acessibilidade, 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Definições do botão"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Definições do botão"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atalho para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botão Acessibilidade"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto de acessibilidade"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter premidas as teclas de volume"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mantenha premidas as 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"toque duas vezes com dois dedos no ecrã"</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="6863958573135995927">"toque três vezes no ecrã"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Saiba mais acerca do gesto e botão Acessibilidade"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Usar o botão Acessibilidade. O gesto não está disponível com a navegação com 3 botões."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Aceda rapidamente às funcionalidades de acessibilidade"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para começar"</b>\n"1. Aceda às definições de acessibilidade\n2. Selecione uma funcionalidade e toque no atalho\n3. Escolha se quer usar um botão ou um gesto para aceder à funcionalidade"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para começar"</b>\n"1. Aceda às definições de acessibilidade\n2. Selecione uma funcionalidade e toque no atalho\n3. Escolha o botão para aceder à funcionalidade"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para começar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Aceda às definições de acessibilidade&lt;br/&gt; {1,number,integer}. Selecione uma funcionalidade e toque no atalho&lt;br/&gt; {2,number,integer}. Escolha se quer usar um botão ou um gesto para aceder à funcionalidade&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para começar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Aceda às definições de acessibilidade&lt;br/&gt; {1,number,integer}. Selecione uma funcionalidade e toque no atalho&lt;br/&gt; {2,number,integer}. Escolha o botão para aceder à funcionalidade&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Utilize o botão ou o gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Localização"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamanho"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Botão de ligar termina chamada"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Ponteiro do rato grande"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Torne o ponteiro do rato mais visível"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Tornar todas as apps escuras"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Aplica-se a apps sem o tema escuro. Algumas apps podem ter problemas, como cores invertidas."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remover animações"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduza o movimento no ecrã"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Áudio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Usar vibração e funcionalidade tátil"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibração do alarme"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibração de multimédia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibração do teclado"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibração do toque"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibração de notificações"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Respostas por toque"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Parar"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Parar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Toque em <xliff:g id="STOP">%1$s</xliff:g> para parar o serviço <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desativar"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Manter"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Desativar o serviço <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nenhum serviço instalado"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nenhum serviço selecionado"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nenhuma descrição fornecida."</string>
     <string name="settings_button" msgid="2195468788019730377">"Definições"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilidade à luz, fotofobia, tema escuro, enxaqueca, dor de cabeça, modo de leitura, modo noturno, reduzir o brilho, ponto branco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Facilidade de utilização, facilidade de acesso, ajuda, assistência"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visão, audição, cegueira, surdez, limitação motora, destreza, de assistência, assistência, facilidade de utilização, facilidade de acesso, mão, ajuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Ampliador da janela, zoom, ampliação, visão reduzida, ampliar, aumentar"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Legendas, Transcrição instantânea, dificuldade de audição, perda de audição, CART, conversão de voz para texto"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste de cor"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"incapacidade motora, rato"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"aparelhos auditivos, dificuldade de audição, perda de audição, implantes cocleares, dispositivos de amplificação, processadores de som"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"limitação motora, rato, rato externo, rato controlado pela cabeça, rato adaptativo, cadeira de rodas, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"aparelhos auditivos, dificuldade de audição, perda de audição, implantes cocleares, dispositivos de amplificação, processadores de som, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"dificuldade de audição, perda de audição, legendas, teletipo"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"três botões"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destreza, limitação motora, idoso, artrite, LER, derrame, tremor, esclerose múltipla, paralisia cerebral, paralisia, tremores, lesão por esforço repetitivo, mão"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"atraso, destreza, idoso"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impressão"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desativado"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 serviço de impressão ativado}other{# serviços de impressão ativados}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> restante(s)"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> a cobrar"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tempo ao ecrã"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tempo em segundo plano"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria fraca"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permitir que a aplicação seja executada em segundo plano"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Quer limitar a atividade em segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se limitar a atividade em segundo plano de uma aplicação, esta pode apresentar um comportamento anormal."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"A app não está def. p/ otimizar a bateria, não a pode restringir.\n\nP/ restringir a app, ative a otimiz. da bateria."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Faça a gestão da utilização da bateria"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permita a utilização em segundo plano"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ative para atualizações em tempo real, desative para poupar bateria"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Otimizada"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrita"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Veja as apps com maior utilização"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Carregamento otimizado para proteger a sua bateria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Para ajudar a aumentar a vida útil da bateria, o carregamento é otimizado"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Carregamento otimizado para proteger a sua bateria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para ajudar a aumentar a vida útil da bateria, o carregamento é otimizado enquanto está na estação de carregamento"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Carregamento otimizado para proteger a sua bateria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para ajudar a aumentar a vida útil da bateria, o carregamento é otimizado enquanto está na estação de carregamento"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"A carregar até à capacidade máxima"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para proteger a sua bateria, o carregamento vai ser otimizado da próxima vez que o tablet estiver na estação de carregamento"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Saiba mais sobre o carregamento pausado"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar carregamento"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclui atividade em segundo plano de potência elevada"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esta aplicação poderá utilizar a bateria em segundo plano e, por conseguinte, pode ficar sem bateria mais cedo do que o esperado."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remover"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Carregar até carga completa"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema com o acessório de carregamento"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Verificar acessório de carregamento"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Saiba mais sobre o carregamento com um carregador incompatível"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gerir apps automaticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"desde a última carga completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Apps do sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Apps desinstaladas"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Outros"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tempo restante estimado"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Até ficar totalmente carregada"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menos de um min"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Em segundo plano: menos de um min"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tempo de utilização: menos de um minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menos de um min"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Em segundo plano: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tempo de utilização: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"agora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gráfico de utilização da bateria"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gráfico de utilização da bateria por dia"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gráfico de utilização da bateria por hora"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Percentagem do nível da bateria de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> a <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Utilização da bateria desde o último carregamento completo"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Utilização da bateria: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tempo ao ecrã desde o último carregamento completo"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal para marcação de emergência"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Definir o comportamento quando é efetuada uma chamada de emergência"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Cópia de segurança"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Ativada"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desativada"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Fazer cópia de segurança e restaurar"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dados pessoais"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Fazer cópia de segurança dos dados"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dados móveis e Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizar automaticamente dados pessoais"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronizar dados de trabalho automaticamente"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincroniz. dados privados aut."</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Alterar ciclo..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dia do mês para repor o ciclo de utilização de dados:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nenhuma app util. dados durante este período."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Endereço do servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Encriptação PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"segredo L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Chave IPSec pré-partilhada"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado do utilizador IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado da AC IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado do servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opções avançadas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domínios de pesquisa DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores DNS (por exemplo, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rotas de encaminhamento (por exemplo, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nome de utilizador"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Palavra-passe"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Guardar informações sobre a conta"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(não utilizado)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(não verificar servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(recebido do servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Este tipo de VPN não pode estar sempre ligado"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"A opção VPN sempre ativa só é compatível com endereços de servidor numéricos"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"É necessário especificar um servidor DNS para a opção VPN sempre ativa"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os endereços do servidor DNS têm de ser numéricos para a opção VPN sempre ativa"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"As informações introduzidas não são compatíveis com a opção VPN sempre ativa"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ignorar"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear ligações sem VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Quer exigir uma ligação VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Insegura. Atualize para uma VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Falha ao iniciar a VPN não suportada."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre ligado. O tráfego de rede só será permitido quando ligado a esta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A VPN sempre ativa requer um endereço IP de servidor e DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receber boletins acerca do rapto de crianças"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Ativar gestor de chamadas"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permitir que este serviço gira a forma como as suas chamadas são efetuadas."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gestor de chamadas"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertas de emergência sem fios"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operadores de rede"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nomes dos pontos de acesso (APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Estado do SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Estado do SIM (ranhura para SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Os SIMs foram alterados."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Os seus SIMs mudaram"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tocar para configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Perguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"A seleção é necessária"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recentes, apps predefinidas"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"O acesso às notificações não está disponível para aplicações no perfil de trabalho."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Palavras-passe e contas"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Palavras-passe guardadas, preenchimento automático, contas sincronizadas"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugestões para início de sessão e preenchimento automático"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Apps predefinidas"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Apps clonadas"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crie uma segunda instância de uma app para que possa usar duas contas ao mesmo tempo."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"carteira"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagamentos"</string>
     <string name="keywords_backup" msgid="707735920706667685">"cópia de segurança, fazer uma cópia de segurança"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"rosto, desbloquear, autenticação, iniciar sessão"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"rosto, desbloquear, autenticar, iniciar sessão, impressão digital, biometria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versão de prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tamanho do texto, formato·grande, tipo de letra grande, texto grande, visão reduzida, aumentar o texto, aumentar o tipo de letra, aumento do tipo de letra"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ecrã ambiente sempre ativado, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, etiqueta, leitor"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclado, funcionalidade tátil, vibrar"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibração, Não incomodar"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume de multimédia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume de transmissão"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ativar sons"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Legendas instantâneas"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Multimédia com legendas automáticas"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altifalantes do telemóvel"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Altifalantes do tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Altifalantes do dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Auscultadores com fios"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"O áudio de conteúdos multimédia compatíveis torna-se mais envolvente"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Desativado"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar conteúdos de todas as notificações"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Mostrar conteúdo confidencial apenas se desbloqueado"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Não mostrar notificações"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como quer que o ecrã de bloqueio seja apresentado?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"O que quer que o ecrã de bloqueio mostre?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ecrã de bloqueio"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostrar todo o conteúdo de notificações de trabalho"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Conversas recentes removidas"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversa removida"</string>
     <string name="clear" msgid="5092178335409471100">"Limpar"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Limpar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"As conversas com prioridade e modificadas são apresentadas aqui"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Quando marcar uma conversa como tendo prioridade ou efetuar qualquer outra alteração às conversas, as mesmas aparecem aqui. \n\nPara alterar as definições de conversa, \ndeslize rapidamente para baixo a partir da parte superior do ecrã para abrir o painel pendente e, em seguida, toque sem soltar numa conversa."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizar"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Repouso das notificações"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplicar o repouso a todas as notificações"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Diminua gradualmente o volume das notificações quando receber muitas notificações sucessivas da mesma app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplicar o repouso às conversas"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Diminua gradualmente o volume das notificações quando receber muitas mensagens do mesmo chat num curto espaço de tempo"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Não usar o repouso das notificações"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nunca diminua o volume das notificações, independentemente da quantidade de notificações sucessivas da mesma app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrar quando estiver desbloqueado"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Só vibra quando o ecrã está desbloqueado"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar aos perfis de trabalho"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplique as definições de repouso das notificações do perfil pessoal ao perfil de trabalho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serviços de assistente de RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nenhuma app instalada pediu para ser executada como serviço de assistente de RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Permitir que o serviço de RV tenha acesso a <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desativada"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fixação de apps"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"A fixação de apps permite-lhe manter a app atual visível até a soltar. Esta funcionalidade pode ser utilizada, por exemplo, para permitir que um amigo fidedigno jogue um jogo específico."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Quando uma app está fixada, a mesma pode abrir outras apps e os dados pessoais podem ficar acessíveis. \n\nPara usar a fixação de apps: 	\n1. Ative a fixação de apps 	\n2. Abra a Vista geral 	\n3. Toque no ícone da app na parte superior do ecrã e, em seguida, toque em Fixar"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Quando uma app está fixada, a mesma pode abrir outras apps e os dados pessoais podem ficar acessíveis. \n\nSe quiser partilhar o seu dispositivo com alguém de forma segura, opte por um utilizador convidado como alternativa. \n\nPara usar a fixação de apps: 	\n1. Ative a fixação de apps 	\n2. Abra a Vista geral 	\n3. Toque no ícone da app na parte superior do ecrã e, em seguida, toque em Fixar"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Quando uma app está fixada, esta pode abrir outras apps e os dados pessoais podem ficar acessíveis. \n\nPara usar a fixação de apps: 	\n{0,number,integer}. Ative a fixação de apps 	\n{1,number,integer}. Abra a Vista geral 	\n{2,number,integer}. Toque no ícone da app na parte superior do ecrã e, de seguida, toque em Fixar"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Quando uma app está fixada, esta pode abrir outras apps e os dados pessoais podem ficar acessíveis. \n\nSe quiser partilhar o seu dispositivo com alguém de forma segura, opte por um utilizador convidado como alternativa. \n\nPara usar a fixação de apps: 	\n{0,number,integer}. Ative a fixação de apps 	\n{1,number,integer}. Abra a Vista geral 	\n{2,number,integer}. Toque no ícone da app na parte superior do ecrã e, de seguida, toque em Fixar"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Quando uma app está afixada: \n\n•		Os dados pessoais poderão ficar acessíveis \n		(como contactos e conteúdo do email) \n•		A app afixada poderá abrir outras apps \n\nUtilize a afixação de apps apenas com pessoas em quem confia."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pedir padrão de desbloqueio antes de soltar"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de soltar"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir palavra-passe antes de soltar"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao soltar"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar a eliminação do SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirme que quer apagar o eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Valide a sua identidade antes de apagar um eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Proteção de memória avanç. beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Proteção de memória avançada"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Definições de apps não usadas"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausar atividade de apps, se não usadas"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remova autorizações, elimine ficheiros temporários e pare notificações"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gerir app, se não for usada"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remove autorizações, elimina ficheiros temporários, pára notificações e arquiva a app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Todas as apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instaladas"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantâneas"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Disponível"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memória utilizada pelas aplicações"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app usou a memória nos(as) últimos(as) {time}}other{# apps usaram a memória nos(as) últimos(as) {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Ativar perfis de utilização de memória"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"A criação de perfis de utilização de memória exige recursos de sistema adicionais."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Criação de perfis de memória desativada"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequência"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Utilização máxima"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Sem dados usados"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Sobrepor a outras apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir sobreposição a outras apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permita que esta app se sobreponha a outras apps que esteja a utilizar. Esta app poderá ver onde toca ou alterar o que é apresentado no ecrã."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Altere a saída de multimédia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permitir à app alterar a saída de multimédia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permita que esta app escolha qual o dispositivo ligado que transmite áudio ou vídeo de outras apps. Se permitir, esta app pode aceder a uma lista de dispositivos disponíveis, como auscultadores e altifalantes, e escolher o dispositivo de saída a usar para fazer stream ou transmitir áudio ou vídeo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acesso a todos os ficheiros"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permitir acesso para gerir todos os ficheiros"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permita que esta app leia, modifique e elimine todos os ficheiros neste dispositivo ou em qualquer volume de armazenamento ligado. Se a autorização for concedida, a app poderá aceder aos ficheiros sem o seu conhecimento explícito."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode aceder a todos os ficheiros"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps com ativação por voz"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir ativação por voz"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A ativação por voz ativa as apps aprovadas, em modo mãos-livres, usando o comando de voz. A deteção adaptável integrada garante que os dados permanecem privados apenas para si.\n\n"<a href="">"Mais sobre a deteção adaptável protegida"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificações em ecrã inteiro"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir notificações desta app em ecrã inteiro"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permita que esta app mostre notificações que ocupam o ecrã inteiro quando o dispositivo está bloqueado. As apps podem usá-las para destacar alarmes, chamadas recebidas ou outras notificações urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Aviso de dados de <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limite de dados de <xliff:g id="ID_1">^1</xliff:g>."</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Aviso de dados de <xliff:g id="ID_1">^1</xliff:g>/limite de dados de <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"A contagem de dados do operador pode ser diferente da contagem do dispositivo"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Exclui dados utilizados por redes de operadores"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> utilizado(s)"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Definir aviso de dados"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Atualizado há <xliff:g id="ID_1">^2</xliff:g>."</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Atualizado por <xliff:g id="ID_1">^1</xliff:g> agora."</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Atualizado agora."</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ver plano"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ver detalhes"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Poupança de dados"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dados sem restrições"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"A app <xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu mais bateria do que o habitual em segundo plano"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"A app <xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu mais bateria em primeiro plano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"A app <xliff:g id="APP_LABEL">%1$s</xliff:g> consumiu mais bateria do que o habitual em primeiro plano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia na utilização da bateria"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Elevada utilização da bateria"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Elevada utilização da bateria em segundo plano"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Elevada utilização da bateria em primeiro plano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Mosaicos de definições rápidas do programador"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Desative o limite de tempo da autorização adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Desative a revogação automática de autorizações adb para os sistemas que não tenham voltado a ligar-se dentro do período predefinido (7 dias) ou configurado pelo utilizador (1 dia, no mínimo)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensores desativados"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Definições do perfil de trabalho"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Pesquisar contactos do diretório de trabalho em apps pessoais"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegação no sistema, navegação com 2 botões, navegação com 3 botões, navegação por gestos, deslizar rapidamente"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslizar rapidamente para invocar assistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Deslize rapidamente para cima a partir de um canto inferior para invocar a app de assistente digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Deslize rapidamente para cima a partir de um canto inferior para invocar a app de assistente digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Prima sem soltar Página inicial para chamar o Assistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Prima sem soltar o botão do ecrã principal para invocar a app de assistente digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Preenchimento automático"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Serviço de preenchimento automático predefinido"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Palavras-passe"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Palavras-passe, chaves de acesso e serviços de dados"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Fornecedores adicionais"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Serviço preferido"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Serviços adicionais"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# palavra-passe}other{# palavras-passe}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automático, preenchimento, preenchimento automático, palavra-passe"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dados, chave de acesso, palavra-passe"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automático, preenchimento, preenchimento automático, dados, chave de acesso, palavra-passe"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Alterar"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Abrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nenhuma seleção"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Certifique-se de que confia nesta app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=O Preenchimento automático do Google&gt;%1$s&lt;/xliff:g&gt; utiliza o que está no ecrã para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Usar a &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; A &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; usa o que está no ecrã para determinar o que pode ser preenchido automaticamente. Entre outras informações, a partir de agora, as palavras-passe e as chaves de acesso novas vão ser guardadas aqui."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Palavras-passe, chaves de acesso e serviços de dados"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use a app &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Entre outras informações, a partir de agora, as palavras-passe e as chaves de acesso novas vão ser guardadas aqui. A app &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que está no ecrã para determinar o que pode ser preenchido automaticamente."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Serviço preferido para palavras-passe, chaves de acesso e preenchimento automático"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Desativar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Desativar este serviço?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; As informações guardadas, como palavras-passe, chaves de acesso, métodos de pagamento e outras informações, não vão ser preenchidas quando iniciar sessão. Para usar as informações guardadas, escolha uma palavra-passe, uma chave de acesso ou um serviço de dados."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Palav.-passe/chav. acesso/preench. auto."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Desativar todos os serviços?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; As palavras-passe, as chaves de acesso e outras informações guardadas não vão estar disponíveis para preenchimento automático quando iniciar sessão"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Altere o seu serviço preferido para a app &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Entre outras informações, a partir de agora, as palavras-passe e as chaves de acesso novas vão ser guardadas aqui. A app &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que está no ecrã para determinar o que pode ser preenchido automaticamente"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Usar o %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desativar"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Alterar"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Só pode ter 5 serviços ativados"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desative pelo menos 1 serviço para adicionar outro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"O %1$s usa o que está no ecrã para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limite de palavras-passe, chaves de acesso e serviços de dados"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Pode ter até 5 palavras-passe, chaves de acesso e serviços de dados ativos em simultâneo. Desative um serviço para adicionar mais."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limite de palavras-passe, chaves de acesso e serviços de dados"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Pode ter até 5 palavras-passe, chaves de acesso e serviços de dados ativos em simultâneo. Desative um serviço para adicionar mais."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desativar"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Preenchimento automático"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nível de registo"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"As alterações de compatibilidade das apps apenas podem ser modificadas para apps depuráveis. Instale uma app depurável e tente novamente."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Esta definição depende de outra."</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d contas"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nome do dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informações básicas"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legal e regulamentar"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permita que esta app seja iniciada quando for lida uma etiqueta NFC.\nSe esta autorização for ativada, a app vai ficar disponível como opção sempre que for detetada uma etiqueta."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Reproduzir multimédia:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Reproduzir <xliff:g id="LABEL">%s</xliff:g> em"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"O áudio vai ser ouvido em"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Este dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponível durante as chamadas."</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada em"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Desativar som"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Para ativar, comece por alterar \"Premir sem soltar o botão ligar/desligar\" para o menu ligar/desligar."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalhes da rede"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"O nome do seu dispositivo é visível para as apps do telemóvel. 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="devices_title" msgid="649715719278562515">"Dispositivos"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Escolher rede"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Desligada"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nome"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Cor (usada por apps compatíveis)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Guardar"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Usar SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usar este SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desativado"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para desativar este SIM, remova o cartão SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toque para ativar o operador <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Apagar SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para desativar este SIM, remova o cartão SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toque para ativar o SIM da operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Apagar eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferido"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Alterar o modo de funcionamento em rede"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo de rede preferido"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Consulte o seu fornecedor de serviços de rede para obter preços."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Utilização de dados da aplicação"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede inválido: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignore."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mensagens por satélite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Envie e receba mensagens de texto por satélite. Incluído na sua conta."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Envie e receba mensagens de texto por satélite. Não incluído na sua conta."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mensagens por satélite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Acerca das mensagens por satélite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Pode enviar e receber mensagens de texto por satélite através de uma conta elegível da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"O seu plano da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"As mensagens por satélite estão incluídas na sua conta"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"As mensagens por satélite não estão incluídas na sua conta"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Adicione mensagens por satélite"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Como funciona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Quando não tem ligação a uma rede móvel"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"O seu telemóvel vai ligar-se automaticamente a um satélite. Para conseguir a melhor ligação, procure uma vista desimpedida para o céu."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Depois de o seu telemóvel estabelecer ligação a um satélite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Pode enviar mensagens de texto a qualquer pessoa, incluindo aos serviços de emergência. O seu telemóvel vai voltar a ligar-se a uma rede móvel quando esta estiver disponível."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"As mensagens por satélite podem demorar mais tempo e só estão disponíveis em algumas zonas. As condições meteorológicas e determinadas estruturas podem afetar a sua ligação por satélite. As chamadas por satélite não estão disponíveis.\n\nPode demorar algum tempo até que as alterações à sua conta sejam apresentadas nas Definições. Contacte a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para mais detalhes."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mais acerca das mensagens por satélite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos Pontos de Acesso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponível quando ligado a <xliff:g id="CARRIER">%1$s</xliff:g>."</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Mudar para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Mudar para a utilização do cartão SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Usar o operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Só pode ter um SIM ativo de cada vez.\n\nMudar para o operador <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o seu serviço no operador <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Só pode ter 1 eSIM ativo de cada vez.\n\nMudar para o operador <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o seu serviço do operador <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Só pode ter um SIM ativo de cada vez.\n\nMudar não cancela o seu serviço no operador <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Só pode ter 1 SIM ativo de cada vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o seu serviço da operadora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Só pode ter 1 eSIM ativo de cada vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o seu serviço da operadora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Só pode ter 1 SIM ativo de cada vez.\n\nMudar não cancela o seu serviço da operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Pode usar 2 SIMs em simultâneo. Para utilizar o operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desative outro SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Mudar para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desativar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"A desativação de um SIM não cancela o seu serviço"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"A estabelecer ligação à rede…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"A mudar para o operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para chamadas e mensagens…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Não é possível mudar de operador"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Não é possível mudar de operador devido a um erro."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"A ativar o SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"A mudar para a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Não é possível mudar de SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Algo correu mal. Não é possível mudar de SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Desativar o operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Desativar o SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"A desativar o SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Não é possível desativar o operador"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ocorreu um erro e não foi possível desativar o operador."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Não é possível desativar o SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Algo correu mal e não foi possível desativar o SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Quer utilizar 2 SIMs?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo pode ter 2 SIMs ativos em simultâneo. Para continuar a utilizar 1 SIM de cada vez, toque em \"Não, obrigado\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Quer reiniciar o dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Não, obrigado"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Mudar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desativar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Não é possível ativar o SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Experimente ativar o SIM novamente. Se o problema continuar, reinicie o dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configure o seu SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Defina as preferências da sua rede móvel para usar vários SIMs neste dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etiquete os seus SIMs"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Vão ser apresentadas estas etiquetas quando fizer chamadas, enviar mensagens de texto e usar dados, bem como nas Definições"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etiqueta do SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiqueta"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Selecione os SIM a usar"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Pode usar 2 SIMs em simultâneo"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Defina os seus SIMs principais"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Escolha quais os SIMs a usar por predefinição para chamadas, mensagens de texto e dados"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Os seus SIMs principais"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Chamadas"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mensagens de texto"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Comutação automática de dados"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Use dados de qualquer um dos SIMs, consoante a cobertura e a disponibilidade"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Apenas de dados"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configurar"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Seguinte"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"A ativar a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rede móvel"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de telefone"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Etiqueta e cor do SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ativação da rede"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Mudança de operador"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"O operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está ativo"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"O SIM da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está ativo"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Toque para atualizar as definições do SIM."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Alterado para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Alterado para outro operador"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"A sua rede móvel foi alterada"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configure o seu outro SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Escolha o SIM ativo ou utilize 2 SIMs em simultâneo."</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Escolha um número para utilizar"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Está disponível 1 número neste dispositivo, mas apenas pode utilizar um de cada vez}=2{Estão disponíveis 2 números neste dispositivo, mas apenas pode utilizar um de cada vez}other{Estão disponíveis # números neste dispositivo, mas apenas pode utilizar um de cada vez}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"A ativar<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Não foi possível ativar neste momento"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Escolha um SIM para usar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Está disponível 1 SIM neste dispositivo, mas só pode usar um de cada vez}=2{Estão disponíveis 2 SIMs neste dispositivo, mas só pode usar um de cada vez}other{Estão disponíveis # SIMs neste dispositivo, mas só pode usar um de cada vez}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"A ativar<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Não foi possível ativar este SIM neste momento"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Quer utilizar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"O operador <xliff:g id="CARRIER_NAME">%1$s</xliff:g> será utilizado para dados móveis, chamadas e SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nenhum SIM ativo disponível"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para utilizar dados móveis, funcionalidades de chamadas e SMS posteriormente, aceda às definições de rede."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Apagar este eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Se apagar este SIM, o serviço do operador <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> será removido deste dispositivo.\n\nO serviço do operador <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não é cancelado."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Esta ação remove o serviço da operadora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> neste dispositivo, mas o seu plano da operadora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não é cancelado."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Apagar"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"A apagar SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível apagar o SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível apagar este SIM devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"A apagar o eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Não é possível apagar o eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Algo correu mal e este eSIM não foi apagado.\n\nReinicie o seu dispositivo e tente novamente."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Estabeleça ligação ao dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"A app <xliff:g id="APPNAME">%1$s</xliff:g> quer utilizar uma rede Wi-Fi temporária para estabelecer ligação ao seu dispositivo."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo encontrado. Certifique-se de que os dispositivos estão ativados e disponíveis para ligação."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Chamadas de emergência"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"As chamadas de emergência através da funcionalidade Chamadas Wi-Fi não são suportadas pelo seu operador.\nO dispositivo muda automaticamente para uma rede móvel para efetuar uma chamada de emergência.\nApenas é possível efetuar chamadas de emergência em áreas com cobertura de rede."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Utilize o Wi‑Fi nas chamadas para melhorar a qualidade."</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Fazer uma cópia de segurança das chamadas"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Se o <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> estiver indisponível ou em roaming, utilize o SIM dos dados móveis para chamadas do <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"fazer uma cópia de segurança das chamadas"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mensagem MMS recebida"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Não é possível enviar a mensagem MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Toque para permitir mensagens MMS no operador <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> quando os dados móveis estão desativados."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"As suas informações da política de trabalho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Definições geridas pelo seu administrador de TI."</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Reiniciar com páginas de 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Reinicie com o kernel compatível com pág. de 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reiniciar com kernel compatível com páginas de 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVISO: algumas aplicações podem não ser compatíveis com este modo. O dispositivo vai ser reiniciado após a confirmação."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reiniciar com kernel compatível com páginas de 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"O dispositivo vai ser reiniciado após a confirmação."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Falha ao fazer a atualização para o kernel compatível com páginas de 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"A aplicar a alteração"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Controlador do Relatório de erro"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina que aplicação processa o atalho para Relatório de erro no seu dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pessoal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permita que as apps que se podem sobrepor a outras apps se sobreponham a ecrãs de Definições"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Autorize o modem fictício"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permita que este dispositivo execute o serviço de modem fictício para testes de instrumentação. Não ative isto durante a utilização normal do telemóvel"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Desative as proteções de partilha de ecrã"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Desativa as proteções de notificações e apps aplicadas pelo sistema durante a partilha de ecrã"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Multimédia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fixar leitor de multimédia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Para retomar rapidamente a reprodução, o leitor de multimédia mantém-se aberto nas Definições rápidas"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostrar multimédia no ecrã de bloqueio"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Para retomar rapidamente a reprodução, o leitor de multimédia mantém-se aberto no ecrã de bloqueio"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostrar recomendações de multimédia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostrar recomendações de multimédia do Assistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Com base na sua atividade"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ocultar leitor"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostrar leitor"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"multimédia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permitir extensões do software da câmara"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Permite a implementação do software predefinido de funcionalidades de câmara avançadas, como a videografia sem olhar."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"O Bluetooth será ativado"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Ativo"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inativo"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Ativado"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Desativado"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /Predefinição para <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"chamadas"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"O áudio de dispositivos multimédia compatíveis torna-se mais envolvente"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Acompanhamento da cabeça"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"O áudio muda conforme move a cabeça para soar mais natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Autorizações de sincronização"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Conceda ao dispositivo <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> as mesmas autorizações da app que permitiu no dispositivo <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizar autorizações do telemóvel"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Conceda ao seu relógio as mesmas autorizações da app que concedeu a este telemóvel"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo de dispositivo de áudio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Desconhecido"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Altifalante"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Médio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Esta app só pode ser aberta em 1 janela"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Funcionalidade ativada"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Funcionalidade desativada"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Atalho desativado"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desativado"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Ativado"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desativado"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Ativado"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desativado"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Torna escuros os ecrãs claros e torna claros os ecrãs escuros"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Aumente o zoom no ecrã"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desativado"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desativado"</string>
+    <string name="show_captions_enabled" msgid="7089043007924626">"Ativado"</string>
+    <string name="live_caption_disabled" msgid="3562035026547887366">"Desativado"</string>
+    <string name="live_caption_enabled" msgid="5269360946200718949">"Ativado"</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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Análise de apps enganadoras"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Verifique a atividade de apps para detetar phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar análise para detetar apps enganadoras"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar análise para detetar apps enganadoras no perfil de trabalho"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"A palavra-passe já está configurada"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostrar o ponteiro ao passar o cursor do rato"</string>
 </resources>
diff --git a/res/values-pt/arrays.xml b/res/values-pt/arrays.xml
index b11e99e..302e554 100644
--- a/res/values-pt/arrays.xml
+++ b/res/values-pt/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponível"</item>
     <item msgid="6096962300722555553">"Fora de alcance"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast e Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Usar padrão do sistema: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Depois de um minuto"</item>
     <item msgid="1574040255478150028">"Depois de cinco minutos"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-pt/strings.xml b/res/values-pt/strings.xml
index b01a254..9c48168 100644
--- a/res/values-pt/strings.xml
+++ b/res/values-pt/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Você agora é um desenvolvedor!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Não é necessário. Você já é um desenvolvedor."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Primeiro, ative as opções do desenvolvedor."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Apenas os usuários administradores podem acessar as configurações do desenvolvedor."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistema"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Em serviço"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Fora de serviço"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"O display frontal é ligado ao dobrar o dispositivo"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Apenas jogos, vídeos e mais"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"O display frontal é ativado para apps que impedem a tela de ficar inativa"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Deslizar para cima para continuar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Dobre o smartphone e deslize para cima no display frontal para continuar usando o app ou aguarde alguns segundos para que a tela seja bloqueada"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nunca"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"O display frontal é bloqueado ao dobrar o dispositivo"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Usar o giro automático"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relacionadas"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Toque e alarmes"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Áudio durante ligações"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Mídia"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificações e outros sons do sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sons de mídia e do sistema"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificações"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Por padrão, a saída de áudio é determinada por apps individuais"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispositivo Bluetooth sem nome"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Pesquisar"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Cancelar"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Desativar LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Desativa o recurso de áudio Bluetooth de baixo consumo caso o hardware do dispositivo tenha essa opção."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Áudio Bluetooth de baixo consumo"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Mostrar a chave do LE Audio nos Detalhes do dispositivo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Ativar a lista de permissões de LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Ative o recurso de lista de permissões de áudio Bluetooth de baixo consumo."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Ignorar lista de permissões do áudio Bluetooth de baixo consumo"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Usar o LE Audio por padrão, mesmo que o periférico dele não tenha sido verificado para atender aos critérios da lista de permissões."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispositivos portáteis de mídia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispositivos de chamada"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Outros dispositivos"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispositivos salvos"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Associado com a conta"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Usado anteriormente com a conta"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"O Bluetooth será ativado para o pareamento"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferências de conexão"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectados anteriormente"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth ativado"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Ver todos"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Mostrar tudo"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pressionar o botão da stylus"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (perfil de trabalho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Escreva nos campos de texto"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorar todos os pressionamentos de botão com a stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Compartilhamento de áudio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Compartilhar áudio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Ligações e alarmes"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectar a um stream de áudio usando um QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nenhum stream de áudio por perto foi encontrado."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data e hora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Limpar"</string>
@@ -173,6 +188,8 @@
     <string name="desc_notice_of_language_picker" msgid="3449290526457925447">"Para selecionar um idioma para cada app, acesse as configurações de idioma deles."</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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Adicionar o %s aos idiomas favoritos?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Isso permite que os apps e sites saibam que você prefere esse idioma."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"As configurações e as preferências regionais do seu dispositivo vão mudar."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Mudar"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s indisponível"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sábado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Se um app não oferecer suporte a preferências regionais, ele usará as configurações padrão de localidade."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Saiba mais sobre as preferências de idioma."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferências adicionais"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Termos de tratamento"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Definir como quer que o app se dirija a você"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Os apps podem usar termos de tratamento para personalizar a forma como se dirigem a você."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Não especificado"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminino"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculino"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutro"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Remover idioma selecionado?}one{Remover idioma selecionado?}other{Remover idiomas selecionados?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"O texto será exibido em outro idioma."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Não é possível remover todos os idiomas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Localização"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Usar localização"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Configuração desativada"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_location_off" msgid="8568995909147566720">"O acesso à localização está desativado para apps e serviços. A localização do dispositivo ainda poderá ser enviada aos 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="5329024810729665156">"Saiba mais sobre as configurações de localização."</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="3574930966097093550">"Mude o acesso à localização em \"Configurações &gt; Segurança e privacidade &gt; Controles de privacidade\""</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Contas"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Segurança"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Criptografia e credenciais"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para conseguir melhores resultados, use uma película com certificação Made For Google. A impressão digital da criança pode não funcionar com outras películas."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Desbloqueio do relógio"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Quando o Desbloqueio facial e por impressão digital são configurados, a impressão é solicitada para desbloquear o smartphone quando você está em uma área escura ou usando uma máscara.\n\nVocê pode usar o relógio quando seu rosto ou sua impressão digital não forem reconhecidos."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Você pode desbloquear o smartphone com o relógio quando sua impressão digital não é reconhecida."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Você pode desbloquear o smartphone com o relógio quando seu rosto não é reconhecido."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Quando o Desbloqueio facial e por impressão digital forem configurados, a impressão será solicitada para desbloquear o smartphone sempre que você estiver em uma área escura ou usando uma máscara.\n\nO Desbloqueio do relógio é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando seus dedos estiverem molhados ou seu rosto não for reconhecido."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"O Desbloqueio do relógio é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando sua impressão digital não for reconhecida."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"O Desbloqueio do relógio é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando seu rosto não for reconhecido."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Use a impressão digital ou o relógio para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Use o rosto ou o relógio para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Use o rosto, a impressão digital ou o relógio para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"O \"Desbloqueio do relógio\" é outra maneira conveniente de desbloquear o smartphone, por exemplo, quando os dedos estiverem molhados ou o rosto não for reconhecido.\n\nVocê pode usar o relógio para desbloquear o smartphone quando:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Agora não"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuar"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mais"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Como funciona"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"O relógio precisa estar desbloqueado, no pulso e perto do smartphone. Não é necessário desbloquear o relógio novamente enquanto ele está no seu pulso."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Quando este smartphone for desbloqueado, você vai receber uma notificação no relógio. Se ele foi desbloqueado sem querer, toque na notificação para bloquear o dispositivo de novo."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Você no controle"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Você pode remover seu relógio do recurso \"Desbloqueio do relógio\" a qualquer momento nas Configurações."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Toque em uma notificação"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Deslize para cima na tela de bloqueio"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Escolha seu relógio"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Relógios disponíveis"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Cancelar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmar"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Está tudo pronto!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Agora, você pode usar o relógio para desbloquear o smartphone ao deslizar para cima na tela de bloqueio ou tocar em uma notificação."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Concluído"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Desbloqueio do relógio"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Você pode usar o relógio para desbloquear o smartphone ao deslizar para cima na tela de bloqueio ou tocar em uma notificação."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para usar o \"Desbloqueio do relógio\", é necessário que o relógio esteja desbloqueado, no pulso, perto de você e conectado a este smartphone. Se a conexão for interrompida, você precisará desbloquear o smartphone antes de usar o recurso.\n\nNão se esqueça:\nSó é possível configurar um relógio por vez. Para adicionar outro, remova o atual."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Segurança"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacidade"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Perfil de trabalho"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Espaço particular"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mantenha apps particulares bloqueados e ocultos"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mantenha a privacidade de apps em um espaço separado que você pode ocultar ou bloquear"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Bloqueio do espaço privado"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Você pode desbloquear seu Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Usar o bloqueio de tela do dispositivo"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Desbloqueio facial e por impressão digital"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Desbloqueio por impressão digital"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Desbloqueio facial"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Toque para configurar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Desbloqueio por impressão digital para o espaço privado"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Desbloqueio facial para o espaço privado"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Formas de desbloquear a tela"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Igual ao bloqueio de tela do dispositivo"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Escolher outro bloqueio para o espaço privado?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Bloquear o espaço privado automaticamente"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Você poderá bloquear seu espaço privado automaticamente se não usar o dispositivo por um período de tempo"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Sempre que o dispositivo for bloqueado"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Depois de cinco minutos de inatividade"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nunca"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ocultar quando bloqueado"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ocultar o espaço privado quando bloqueado"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Oculte o espaço privado na sua lista de apps para que outras pessoas não saibam que ele está no dispositivo"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Acessar o espaço privado quando oculto"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Na lista de apps, digite \"espaço privado\" na barra de pesquisa"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Toque no bloco do espaço privado"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Desbloqueie seu espaço privado"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Desativado"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Ativado"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistema"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Excluir espaço privado"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Excluir espaço privado?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Seu espaço privado será removido do seu dispositivo. Todos os apps e dados particulares serão excluídos. Não é possível desfazer essa ação."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Estas contas serão removidas do seu espaço privado:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Excluir"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Excluindo espaço privado…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Isso vai levar alguns instantes"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Espaço privado excluído"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Não foi possível excluir o espaço privado"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Espaço privado desbloqueado"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Defina um bloqueio de tela"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para usar o Espaço particular, defina um bloqueio de tela neste dispositivo."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Definir bloqueio de tela"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Cancelar"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Cancelar"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurar"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configurar um Espaço particular"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mantenha a privacidade de apps em um espaço separado que você pode ocultar ou bloquear"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Como funciona"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Você pode acessar o Espaço particular na parte de baixo da sua lista de apps"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Apps no Espaço particular ficam protegidos por um bloqueio"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"As notificações de apps no seu Espaço particular ficam ocultas quando ele está bloqueado"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Os apps do seu Espaço particular não aparecem na gestão de permissões, no painel de privacidade e em outras configurações quando esse espaço está bloqueado.\n\nSeu Espaço particular não pode ser movido para um novo dispositivo. Você precisará configurar outro Espaço particular se quiser usá-lo em outro dispositivo.\n\nQualquer usuário que conectar seu dispositivo a um computador ou instalar apps perigosos no dispositivo conseguirá acessar seu Espaço particular."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Configurando o espaço particular…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notificações de apps no espaço privado ficam ocultas quando ele está bloqueado"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Desbloqueie o espaço privado para compartilhar fotos ou arquivos"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Alguns apps já estão instalados no seu Espaço particular"</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_lockscreen_title" msgid="6034864097861137509">"Usar o bloq. de tela p/ abrir o Espaço particular?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Você pode desbloquear seu Espaço particular da mesma maneira que desbloqueia seu dispositivo ou escolher um bloqueio diferente"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Usar o bloqueio de tela"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Escolher novo bloqueio"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tudo pronto!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para encontrar o espaço privado, abra sua lista de apps e role até a parte de baixo dela"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Concluído"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Role a tela para baixo para encontrar o Espaço particular"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Login"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Faça login em uma conta para usar com seu espaço privado"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Agora não"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuar"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Escolher um bloqueio para seu Espaço particular"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"É possível desbloquear seu espaço particular com sua impressão digital. Por motivos de segurança, essa opção exige um bloqueio de backup."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Defina um PIN para seu espaço privado"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Defina uma senha para seu espaço privado"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Defina um padrão para seu espaço privado"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"É possível adicionar até <xliff:g id="COUNT">%d</xliff:g> digitais"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Você adicionou o número máximo de impressões digitais"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Não é possível adicionar mais impressões digitais"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Padrão"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Senha"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Excluir o bloqueio de tela?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Remover todos os tipos de desbloqueio de dispositivo?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Remover proteção de perfil?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Um padrão protege o smartphone em casos de roubo ou perda"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Um padrão protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>O modelo de impressão digital armazenado no dispositivo será excluído. Seu modelo de rosto também será excluído de maneira permanente e segura. Você não poderá usar seu rosto ou impressão digital para fazer a autenticação em apps."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Um PIN protege o smartphone em casos de roubo ou perda"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Você vai perder dados salvos, como o PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Um PIN protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>O modelo de impressão digital armazenado no dispositivo também será excluído. Você não poderá usar sua impressão digital para fazer a autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Você vai perder dados salvos, como o PIN e o modelo de impressão digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Um PIN protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Seu modelo de rosto também será excluído de maneira permanente e segura. Você não poderá usar seu rosto para fazer a autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Você vai perder dados salvos, como o PIN e o modelo de rosto.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Um PIN protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>O modelo de impressão digital armazenado no dispositivo será excluído. Seu modelo de rosto também será excluído de maneira permanente e segura. Você não poderá usar seu rosto ou impressão digital para fazer a autenticação em apps."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Você vai perder dados salvos, como o PIN e os modelos de rosto e impressão digital.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cards configurados para pagamento por aproximação serão removidos.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Carteiras e outros apps que exigem o desbloqueio do dispositivo podem não funcionar corretamente."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Uma senha protege o smartphone em casos de roubo ou perda"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Uma senha protege o smartphone em casos de roubo ou perda.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Parear com <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Adicione um membro ao conjunto coordenado"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirme para adicionar a segunda peça do seu dispositivo de áudio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Código de pareamento Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Digite o código de pareamento e pressione \"Return\" ou \"Enter\""</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"O PIN contém letras ou símbolos"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"São necessários 16 dígitos"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Talvez seja necessário digitar este PIN no outro dispositivo."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Talvez seja necessário digitar esta senha no outro dispositivo."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirme para parear com o conjunto coordenado"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirme para parear com o dispositivo de áudio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permitir o acesso aos seus contatos e seu histórico de ligações"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Também permite o acesso a contatos e ao histórico de ligações"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"As informações serão usadas para fazer o anúncio de ligações e muito mais"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Não foi possível conectar ao <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispositivos encontrados"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectar"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Desconectar"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parear e conectar"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Com o Bluetooth ativado, o dispositivo pode se comunicar com dispositivos próximos"</string>
     <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_scan_change" msgid="1744636222637390367">"Mudar"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalhes do dispositivo"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permitir que o ART verifique o bytecode de apps depuráveis"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Mostrar taxa de atualização"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mostrar a taxa de atualização de tela atual"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Mostrar a proporção HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mostrar a proporção HDR/SDR atual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Exigir desbloqueio de dispositivo para usar a NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"No modo avião"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificar quando houver redes públicas"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notificar quando uma rede pública de alta qualidade estiver disponível."</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permitir redes WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP é um protocolo de segurança mais antigo que oferece menos proteção"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Sua operadora não permite redes WEP porque elas são menos seguras"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Ativar o Wi‑Fi automaticamente"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Reativar o Wi‑Fi automaticamente perto de redes salvas de alta qualidade, como sua rede doméstica."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Indisponível porque a localização está desativada. Ative a "<annotation id="link">"localização"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"A busca por Wi-Fi permite que apps e serviços procurem redes Wi‑Fi a qualquer momento, mesmo quando o Wi‑Fi está desativado. Essa configuração pode ser usada, por exemplo, para melhorar recursos e serviços baseados na localização."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Ativar"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Busca por Wi‑Fi ativada"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Esta rede usa um protocolo de segurança mais antigo e menos seguro"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"A rede <xliff:g id="NAME">%1$s</xliff:g> foi bloqueada"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Esta rede usa um protocolo de segurança mais antigo chamado WEP, que é menos seguro. Para se conectar mesmo assim, permita a conexão em redes WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Sua operadora não permite que você se conecte a esta rede porque ela usa um protocolo de segurança mais antigo e menos seguro"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permitir WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Fechar"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opções avançadas"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista suspensa \"Opções avançadas\""</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"abrir"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Continuar no Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Não mostrar de novo"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Conectar"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi ativado"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Conectado a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Conectando a <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Conectando…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Falha ao conectar à rede"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Rede fora do alcance"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Esquecer"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modificar"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Falha ao esquecer a rede"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Salvar"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Falha ao salvar a rede"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Cancelar"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Dados móveis"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Carregando"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Carregando"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Conexão de ponto de acesso"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Potência da conexão"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Redes salvas"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nenhuma senha definida"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nome do ponto de acesso"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Senha do ponto de acesso"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda do ponto de acesso"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Desativar ponto de acesso automaticamente"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Quando nenhum dispositivo estiver conectado"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Aumentar compatibilidade"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balanço de branco da tela"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuar usando apps com a tela dobrada"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Aumenta automaticamente a taxa de atualização de 60 para <xliff:g id="ID_1">%1$s</xliff:g> Hz em alguns conteúdos. Maior uso da bateria."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Desativar o frame rate padrão para jogos"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Desativar o limite máximo de frame rate para jogos em <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Aumenta automaticamente a taxa de atualização para <xliff:g id="ID_1">%1$d</xliff:g> Hz para alguns conteúdos. Maior uso da bateria."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forçar taxa de atualização máxima"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Maior taxa de atualização para melhoria na resposta tátil e na qualidade das animações. Maior uso da bateria."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Reconhecimento de tela em uso"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Usando a câmera frontal, o \"Reconhecimento de tela em uso\" detecta se alguém está olhando para a tela. Ele funciona no dispositivo, e as imagens nunca são armazenadas nem enviadas ao Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ativar o \"reconhecimento de tela em uso\""</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mantenha a tela ligada enquanto estiver olhando para ela"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Um tempo limite da tela mais longo vai consumir a bateria mais rapidamente."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"A câmera está bloqueada"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Desbloqueie a câmera para usar a detecção facial"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"A câmera precisa ser desbloqueada para usar o reconhecimento de tela em uso"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot para chip <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot para chip <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>, principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Selecione uma rede salva para ver"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versão do PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nível da bateria"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Compartilhadas"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Configurações compartilhadas"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mensagem via satélite"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Editar ponto de acesso"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Adicionar ponto de acesso"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Sem definição"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Não definido"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nome"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ativado"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN desativado"</string>
     <string name="bearer" msgid="3231443241639159358">"Portador"</string>
+    <string name="network_type" msgid="748590707422733595">"Tipo de rede"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Não especificado"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tipo de MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valor de MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Excluir APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvar"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Cancelar"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Entrada APN duplicada."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"O campo Nome não pode ficar vazio."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"O APN não pode estar vazio."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"O campo MCC deve ter 3 dígitos."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"O campo MNC deve ter 2 ou 3 dígitos."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"A operadora não permite adicionar APNs do tipo %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"O campo MMSC não é válido."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Restaurando as configurações APN padrão."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Redefinir para o padrão"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Redefinição das configurações padrão do APN concluída."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Reiniciar"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"O Bluetooth e o Wi-Fi foram redefinidos"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Limpar eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Isso não cancelará nenhum plano de serviços móveis. Para fazer o download de chips substitutos, entre em contato com a operadora."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Essa ação não cancela seu plano de serviço móvel. Para um chip de substituição, entre em contato com a operadora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Redefinir configurações"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Redefinir todas as configurações de rede? Não é possível desfazer essa ação."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Você quer mesmo redefinir todas as configurações de rede e apagar os eSIMs salvos? Não é possível desfazer essa ação."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Redefinir?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"A redefinição da rede não está disponível para esse usuário"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"As configurações de rede foram redefinidas"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Não é possível limpar chips"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Ocorreu um erro ao apagar o eSIM.\n\nReinicie o dispositivo e tente de novo."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Não é possível apagar os eSIMs"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Ocorreu um erro e os eSIMs não foram apagados.\n\nReinicie o dispositivo e tente de novo."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Limpar todos os dados (redefinir para a configuração original)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Limpar todos os dados"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Músicas"</li>\n<li>"Fotos"</li>\n<li>"Outros dados do usuário"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Essa ação não cancelará seu plano de serviços móveis."</string>
-    <string name="main_clear_final_desc" msgid="5800877928569039580">"Todas as informações pessoais e os apps transferidos por download serão excluídos. Não é possível desfazer essa ação."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Todas as suas informações pessoais, inclusive apps e chips transferidos por download, serão excluídas. Não é possível desfazer essa ação."</string>
+    <string name="main_clear_final_desc" msgid="5800877928569039580">"Todas as informações pessoais e os apps baixados serão excluídos. Não é possível desfazer essa ação."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Todas as suas informações pessoais, inclusive apps e eSIMs baixados, serão excluídas. Não é possível desfazer essa ação."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Limpar todos os dados?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"A redefinição para a configuração original não está disponível para este usuário"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Limpando"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Ponto de acesso, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Não está compartilhando a Internet com outros dispositivos"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Desativados"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Não usar ponto de acesso Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Compartilhar Internet apenas por USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Compartilhar Internet apenas por Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Compartilhar Internet apenas por Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Compartilhar Internet apenas por USB e Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Compartilhar Internet apenas por USB e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Compartilhar Internet apenas por Bluetooth e Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Compartilhar Internet apenas por USB, Bluetooth e Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Use o ponto de acesso e tethering para que outros dispositivos possam usar a Internet pela sua conexão de dados móveis. Os apps também podem criar um ponto de acesso para compartilhar conteúdo com dispositivos por perto."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ajuda"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rede móvel"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plano de serviço móvel"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"App de SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Alterar app de SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Usar o <xliff:g id="NEW_APP">%1$s</xliff:g> em vez do <xliff:g id="CURRENT_APP">%2$s</xliff:g> como app de SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Alterar o Assistente de Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Usar <xliff:g id="NEW_APP">%1$s</xliff:g> em vez de <xliff:g id="CURRENT_APP">%2$s</xliff:g> para gerenciar suas conexões de rede?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Usar <xliff:g id="NEW_APP">%s</xliff:g> para gerenciar suas conexões de rede?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operadora do chip desconhecida"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> não tem um website de provisionamento conhecido"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Insira o chip e reinicie"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Conecte-se à Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Solicitações recentes"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Local do perfil de trabalho"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permissões de acesso ao local"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Limpar acesso"</string>
     <string name="controls_label" msgid="8671492254263626383">"Controles"</string>
     <string name="force_stop" msgid="2681771622136916280">"Forçar fechamento"</string>
+    <string name="archive" msgid="9074663845068632127">"Arquivar"</string>
+    <string name="restore" msgid="7622486640713967157">"Restaurar"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Restaurando"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Restaurando."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Restaurando…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Restaurando…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Tamanho do app"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"App de armazenamento USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Não foi possível calcular o tamanho do pacote."</string>
     <string name="version_text" msgid="7628938665256107608">"versão <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mover"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Falha ao arquivar"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> arquivado"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Falha na restauração"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restaurando app: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Outra migração já está em andamento."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Não há espaço de armazenamento suficiente."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"O app não existe."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Teclado na tela disponível"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gerenciar teclados na tela"</string>
     <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="6922850403920596246">"Permitir teclas de filtro para acessibilidade do teclado físico"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Teclas lentas"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Permitir teclas lentas para acessibilidade do teclado físico"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Teclas de aderência"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Permitir teclas de aderência para acessibilidade do teclado físico"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Toque no canto inferior direito do touchpad para mais opções"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Velocidade do cursor"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Aprender gestos do touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ir para a tela inicial"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Deslize para cima com três dedos em qualquer lugar do touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Voltar"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ordenar por tempo de uso"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ordenar pelo último uso"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ordenar por nome do app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Última utilização"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Último uso"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nunca"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Tempo de uso"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Acessibilidade"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Configurações de acessibilidade"</string>
@@ -1807,7 +1983,7 @@
     <string name="interaction_control_category_title" msgid="2696474616743882372">"Controles de interação"</string>
     <string name="accessibility_tap_assistance_title" msgid="1058913033421048284">"Controles de marcação de tempo"</string>
     <string name="accessibility_system_controls_title" msgid="6403287349518987624">"Controles do sistema"</string>
-    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps transferidos por download"</string>
+    <string name="user_installed_services_category_title" msgid="2639470729311439731">"Apps baixados"</string>
     <string name="experimental_category_title" msgid="898904396646344152">"Experimentais"</string>
     <string name="feature_flags_dashboard_title" msgid="348990373716658289">"Sinalizações de recursos"</string>
     <string name="bt_hci_snoop_log_filters_dashboard_title" msgid="401330708633716596">"Filtro do registro de espionagem de HCI Bluetooth"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Ampliar com toque triplo"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Ampliar com atalho"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Ampliar com atalho e toque triplo"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Sobre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Usar o botão de acessibilidade para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mantenha as teclas de volume pressionadas para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Toque três vezes na tela para abrir"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Tocar duas vezes na tela com dois dedos para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Usar gesto para abrir"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Usar o gesto de acessibilidade"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para usar esse recurso, toque no botão de acessibilidade <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> na parte inferior da tela.\n\nPara alternar entre os recursos, toque no botão de acessibilidade e o pressione."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para usar esse recurso, toque no botão de acessibilidade na sua tela."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para usar esse recurso, toque nas duas teclas de volume e as mantenha pressionadas."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para iniciar ou interromper a ampliação, toque três vezes em qualquer lugar da tela."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Para iniciar ou interromper a ampliação, toque duas vezes em qualquer lugar da tela com dois dedos."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para usar esse recurso, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para usar esse recurso, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre os recursos, deslize de baixo para cima com três dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com dois dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com dois dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Para usar um recurso de acessibilidade, deslize de baixo para cima na tela com três dedos.\n\nPara alternar entre recursos, deslize de baixo para cima com três dedos, sem soltar."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ok"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Configurações do botão"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Configurações do botão"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Atalho para <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Botão de acessibilidade"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto de acessibilidade"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Manter as teclas de volume pressionadas"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"manter as teclas de volume pressionadas"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Toque nas duas teclas de volume e as mantenha 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tocar duas vezes na tela com dois dedos"</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="6863958573135995927">"tocar na tela 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Saiba mais sobre o botão e o gesto de acessibilidade"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Como usar o botão de acessibilidade. O gesto não está disponível na navegação com três botões."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Acessar rapidamente os recursos de acessibilidade"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para começar, siga estas instruções:"</b>\n"1. Vá para as configurações de acessibilidade.\n2. Selecione um recurso e toque no atalho.\n3. Escolha se você quer usar um botão ou gesto para acessar esse recurso."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para começar, siga estas instruções:"</b>\n"1. Vá para as configurações de acessibilidade.\n2. Selecione um recurso e toque no atalho.\n3. Escolha o botão para acessar o recurso."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para começar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Abra as configurações de acessibilidade&lt;br/&gt; {1,number,integer}. Selecione um recurso e toque no atalho&lt;br/&gt; {2,number,integer}. Escolha se quer usar um botão ou um gesto para acessar o recurso&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para começar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Abra as configurações de acessibilidade&lt;br/&gt; {1,number,integer}. Selecione um recurso e toque no atalho&lt;br/&gt; {2,number,integer}. Escolha o botão para acessar o recurso&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Usar botão ou gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Localização"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Tamanho"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Botão liga/desliga encerra chamadas"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Cursor do mouse grande"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Deixar o ponteiro do mouse perceptível"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Forçar apps a usar o tema escuro"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Para apps que não tem um tema escuro. Alguns apps podem ter problemas, como cores invertidas."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Remover animações"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Reduzir o movimento na tela"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Áudio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Usar vibração e retorno tátil"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibração do alarme"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibração de mídia"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibração do teclado"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibração do toque"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibração das notificações"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback por toque"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Parar"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Cancelar"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Desativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Se você tocar em <xliff:g id="STOP">%1$s</xliff:g>, o <xliff:g id="SERVICE">%2$s</xliff:g> será interrompido."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Desativar"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Manter ativado"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Desativar <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nenhum serviço foi instalado"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nenhum serviço selecionado"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nenhuma descrição foi fornecida."</string>
     <string name="settings_button" msgid="2195468788019730377">"Configurações"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilidade à luz, fotofobia, tema escuro, enxaqueca, dor de cabeça, modo de leitura, modo noturno, reduzir brilho, ponto branco"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Facilidade de uso, facilidade de acesso, assistência, assistivo"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"visão, audição, cego, surdo, motor, destreza, assistivo, assistência, facilidade de uso, facilidade de acesso, mão, ajuda"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Lupa de janela, zoom, ampliação, baixa visão, ampliar, aumentar"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Legendas, closed captions, CC, Transcrição instantânea, deficiência auditiva, perda auditiva, legenda ao vivo, voz em texto"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contraste de cor"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"coordenação motora, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"aparelhos auditivos, perda auditiva, implantes cocleares, dispositivos de amplificação, processadores de som"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, mouse, mouse externo, mouse controlado por movimentos da cabeça, mouse adaptável, cadeira de rodas, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"aparelhos auditivos, perda auditiva, implantes cocleares, dispositivos de amplificação, processadores de som, CAE"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"deficiência auditiva, perda auditiva, legendas, teletipo, TTD"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"três botões"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"destreza, motor, idoso, artrite, LER, derrame, tremor, esclerose múltipla, paralisia cerebral, tremendo, lesão por esforço repetitivo, mão"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"atraso, destreza, idoso"</string>
     <string name="print_settings" msgid="8519810615863882491">"Impressão"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Desativada"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 serviço de impressão ativado}one{# serviço de impressão ativado}other{# serviços de impressão ativados}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> restantes"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> até carregar"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tempo de tela"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tempo em segundo plano"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria fraca"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permitir que o app seja executado em segundo plano"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limitar atividade em segundo plano?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Se você limitar as atividades em segundo plano de um app, ele poderá apresentar mau funcionamento"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Como o app não está configurado para otimizar bateria, não é possível restringi-lo.\n\nPara restringir, ative a otimização."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gerenciar uso da bateria"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permitir o uso em segundo plano"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Ative para receber atualizações em tempo real ou desative para economizar bateria"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Sem restrições"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Otimizado"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Restrito"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ver apps com maior uso"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Carregamento otimizado para proteger a bateria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Para ajudar a prolongar a vida útil da bateria, o carregamento foi otimizado"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Carregamento otimizado para proteger a bateria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para ajudar a prolongar a vida útil da bateria, o carregamento vai ser otimizado quando o dispositivo estiver na base"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Carregamento otimizado para proteger a bateria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para ajudar a prolongar a vida útil da bateria, o carregamento vai ser otimizado quando o dispositivo estiver na base"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Carregamento total"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para proteger a bateria, o carregamento vai ser otimizado na próxima vez que o tablet estiver na base"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Saiba mais sobre a pausa no carregamento"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Retomar o carregamento"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inclui atividade em segundo plano com alto consumo de energia"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Esse app poderá usar a bateria em segundo plano. É possível que sua bateria acabe antes do esperado."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Remover"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Cancelar"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Carregar totalmente"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problema com o acessório de carregamento"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Verifique o acessório de carregamento"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Saiba mais sobre a incompatibilidade de carregamento"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Gerenciador de bateria"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gerenciar apps automaticamente"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"desde a última carga completa"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Apps do sistema"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Apps desinstalados"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Outros"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tempo restante estimado"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Até a carga completa"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: menos de um minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Segundo plano: menos de um minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tempo de uso: menos de um minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menos de um minuto"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Segundo plano: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tempo de uso: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"agora"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> — <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g>. <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Gráfico de uso da bateria"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Gráfico de uso diário da bateria"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Gráfico de uso da bateria por hora"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Mudança na porcentagem do nível de bateria de <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> para <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Uso da bateria desde a última carga completa"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Uso da bateria no período: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tempo de uso desde a última carga completa"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinal de discagem de emergência"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Definir comportamento durante uma chamada de emergência"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Ativado"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Desativado"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup e restauração"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dados pessoais"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Fazer backup"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dados móveis e Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizar dados pessoais"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sincronizar dados de trabalho automaticamente"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincronizar dados particulares automaticamente"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Alterar ciclo..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dia do mês para redefinir o ciclo de uso dos dados:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nenhum app usou dados durante o período."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nome"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tipo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Endereço do servidor"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Criptografia PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Segredo L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificador IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Chave pré-compartilhada IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificado de usuário IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificado de CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificado de servidor IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Mostrar opções avançadas"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domínios de pesquisa de DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servidores de DNS (por exemplo, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rotas de encaminhamento (ex: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nome de usuário"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Senha"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Salvar informações sobre a conta"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"Não utilizado"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(não verificar servidor)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(recebido de um servidor)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Não é possível manter este tipo de VPN sempre conectado."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN sempre ativa só é compatível com endereços numéricos"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Um servidor DNS precisa ser especificado para VPN sempre ativa"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Os endereços de servidor DNS precisam ser numéricos para VPN sempre ativa"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"As informações inseridas não são compatíveis com VPN sempre ativa"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Cancelar"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Dispensar"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Bloquear conexões sem VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Conexão VPN necessária?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Não seguro. Atualize para uma VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Falha ao iniciar a VPN sem suporte."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selecione um perfil de VPN para permanecer sempre conectado. O tráfego de rede somente será permitido quando conectado a esta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Nenhuma"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"A VPN sempre ativa requer um endereço IP para o servidor e o DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alertas AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Receber boletins sobre crianças sequestradas"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetir"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Ativar Gerenciador de chamadas"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permitir que este serviço gerencie como as chamadas são feitas."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Gerenciador de chamadas"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alertas de emergência sem fio"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operadores de rede"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Nomes dos pontos de acesso"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status do chip"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status do chip (slot para SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"O chip foi mudado."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Seus chips foram trocados"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Toque para configurar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Perguntar sempre"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seleção necessária"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Apps recentes, apps padrão"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"O acesso às notificações não está disponível para apps no perfil de trabalho."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Senhas e contas"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Senhas salvas, preenchimento automático e contas sincronizadas"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugestões de login e preenchimento automático"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Apps padrão"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Apps clonados"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Crie uma segunda instância de um app para que você possa usar duas contas ao mesmo tempo."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"carteira"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"pagar, tocar, pagamentos"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"desbloqueio, facial, autenticação, login"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"rosto, desbloqueio, autenticação, login, impressão digital, biometria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versão prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"tamanho do texto, letras grandes, fonte grande, texto grande, baixa visão, aumentar texto, ampliador de fonte, aumento de fonte"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"tela ambiente sempre ativada, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiqueta, leitor"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"teclado, retorno tátil, vibrar,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, vibração, Não perturbe"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume de mídia"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume da transmissão"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ativar sons"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Legenda Instantânea"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Legendar mídias automaticamente"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Alto-falantes do smartphone"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Alto-falantes do tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Alto-falantes do dispositivo"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Fones de ouvido com fio"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"O áudio de dispositivos de mídia compatíveis fica mais imersivo"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Desativado"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Mostrar todo o conteúdo das notificações"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Só mostrar conteúdo sensível quando desbloqueado"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Não mostrar nenhuma notificação"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Como você quer mostrar as notificações na tela de bloqueio?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"O que você quer que apareça na sua tela de bloqueio?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Tela de bloqueio"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Mostre todo o conteúdo de notificação de trabalho"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ocultar conteúdo de trabalho confidencial"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Conversas recentes removidas"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversa removida"</string>
     <string name="clear" msgid="5092178335409471100">"Limpar"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Limpar <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"As conversas prioritárias e modificadas aparecem aqui"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Depois de marcar como prioritária ou fazer qualquer mudança nas conversas, elas aparecem aqui. \n\nPara mudar as configurações: \ndeslize o dedo de cima para baixo na tela para abrir a aba suspensa. Em seguida, toque na conversa e mantenha pressionada."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizar"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Período de espera para notificações"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplicar um período de espera a todas as notificações"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Diminuir gradualmente o volume de notificações quando você receber muitas seguidas do mesmo app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplicar um período de espera a conversas"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Diminuir gradualmente o volume de notificações quando você receber muitas mensagens seguidas da mesma conversa em um curto período"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Não usar o período de espera para notificações"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nunca diminuir o volume de notificações, independente da quantidade de notificações seguidas do mesmo app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrar quando desbloqueado"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrar apenas quando a tela estiver desbloqueada"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplicar a perfis de trabalho"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplique as configurações de período de espera para notificações do seu perfil pessoal ao seu perfil de trabalho"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Serviços de ajuda para RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nenhum app instalado solicitou ser executado como serviço de ajuda para RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Permitir acesso ao serviço de RV para <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Desativada"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fixação de apps"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"A fixação de apps faz com que o app atual fique aberto na tela até que você libere. Esse recurso pode ser usado, por exemplo, para deixar alguém acessar um jogo específico no seu smartphone."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nPara usar a fixação de apps, faça o seguinte: 	\n1. Ative a fixação de apps. 	\n2. Abra a opção \"Visão geral\". 	\n3. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nSe você quiser compartilhar seu dispositivo com alguém de forma segura, tente fazer isso com um usuário convidado. \n\nPara usar a fixação de apps, faça o seguinte: 	\n1. Ative a fixação de apps. 	\n2. Abra a opção \"Visão geral\". 	\n3. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nPara usar a fixação de apps: 	\n{0,number,integer}. Ativar a fixação de apps 	\n{1,number,integer}. Abrir a Visão geral 	\n{2,number,integer}. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Quando um app está fixado, ele pode abrir outros apps e os dados pessoais podem ficar acessíveis. \n\nSe você quiser compartilhar seu dispositivo com alguém de forma segura, tente fazer isso com um usuário convidado. \n\nPara usar a fixação de apps: 	\n{0,number,integer}. Ativar a fixação de apps 	\n{1,number,integer}. Abrir a Visão geral 	\n{2,number,integer}. Na parte de cima da tela, toque no ícone do app e depois em \"Fixar\"."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Quando o app está fixado, ele pode: \n\n•		acessar dados pessoais \n		(como contatos e conteúdo de e-mail); \n•		abrir outros apps. \n\nUse a fixação de apps apenas com pessoas em quem você confia."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pedir padrão de desbloqueio antes de liberar a tela"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pedir PIN antes de liberar a tela"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pedir senha antes de liberar a tela"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Bloquear dispositivo ao liberar a tela"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmar exclusão do chip"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirme que você quer apagar o eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Confirme sua identidade antes de apagar um eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta da Proteção de memória avançada"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Proteção de memória avançada"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Configurações de apps não usados"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausar atividade no app quando não usado"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Remove permissões, exclui arquivos temporários e para notificações"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gerenciar o app fora de uso"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Remover permissões, excluir arquivos temporários, parar notificações e arquivar o app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Todos os apps"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Apps instalados"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Apps instantâneos"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Disponível"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memória usada por apps"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app usou a memória nos últimos {time}}one{# app usou a memória nos últimos {time}}other{# apps usaram a memória nos últimos {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Ativar a criação de perfil de uso da memória"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"O perfil de uso de memória requer outros recursos do sistema."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Criação de perfil de memória"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequência"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Uso máximo"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nenhum dado usado"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Sobrepor a outros apps"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permitir sobreposição a outros apps"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permite que este app apareça sobreposto a outros apps que você esteja usando. Este app poderá ver onde você toca ou mudar o que está sendo mostrado na tela."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Mudar saída de mídia"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permitir que um app mude a saída de mídia"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permite que este app escolha qual dispositivo conectado vai reproduzir áudio ou vídeo de outros apps. Se a permissão for concedida, o app poderá acessar uma lista de dispositivos disponíveis, por exemplo, fones de ouvido e alto-falantes, e escolher qual dispositivo de saída será usado para transmitir ou reproduzir áudio ou vídeo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acesso a todos os arquivos"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Acesso para gerenciar todos os arquivos"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permitir que o app leia, modifique e exclua todos os arquivos deste dispositivo ou de qualquer volume de armazenamento conectado. Se a permissão for concedida, o app poderá acessar arquivos sem nenhum aviso prévio."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Pode acessar todos os arquivos"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Apps com ativação por voz"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permitir ativação por voz"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"A ativação por voz ativa apps aprovados usando comando de voz. A detecção adaptativa integrada garante a privacidade dos seus dados.\n\n"<a href="">"Saiba mais sobre a detecção adaptativa"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificações em tela cheia"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permitir que esse app mostre notificações em tela cheia"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permita que o app mostre notificações que ocupam a tela inteira quando o dispositivo estiver bloqueado. Os apps poderão usar essa permissão para destacar alarmes, ligações recebidas ou outras notificações urgentes."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Alerta de uso de dados em <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limite de dados em <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Alerta de uso de dados em <xliff:g id="ID_1">^1</xliff:g> / Limite de dados em <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"O cálculo de dados da operadora pode ser diferente daquele realizado pelo seu dispostivo"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Exclui dados usados por redes de operadoras"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> usado(s)"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Definir alerta de uso de dados"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Atualizado há <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Atualizado pela <xliff:g id="ID_1">^1</xliff:g> agora mesmo"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Atualizado agora"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Ver plano"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Mais detalhes"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Economia de dados"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dados ilimitados"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em segundo plano"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou mais bateria em primeiro plano"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> usou bateria além do normal em primeiro plano"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalia no uso da bateria"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Alto uso da bateria"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Alto uso da bateria em segundo plano"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Alto uso da bateria em primeiro plano"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Blocos de desenvolvedor para configurações rápidas"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Desativar o tempo limite da autorização adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Desativar a revogação automática de autorizações adb para sistemas que não foram reconectados no período padrão (7 dias) ou configurado pelo usuário (mínimo de 1 dia)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Rastreamento do Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensores desativados"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Configurações do perfil de trabalho"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Pesquisar contatos do diretório de trabalho nos apps pessoais"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navegação no sistema, navegação com dois botões, navegação com três botões, navegação por gestos, deslizar"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Assistente digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Deslize para invocar o assistente"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Deslize de baixo para cima no canto da tela para invocar o app assistente digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Pressione o botão home para ativar o Google Assistente"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Toque e pressione o botão home para invocar o app assistente digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Baixa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Preenchimento automático"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Preenchimento automático padrão"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Senhas"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Senhas, chaves de acesso e serviços de dados"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Outros provedores"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Serviço preferido"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Serviços adicionais"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# senha}one{# senha}other{# senhas}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"preencher, automático, preenchimento automático, senha"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dados, chave de acesso, senha"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automático, preenchimento, preenchimento automático, dados, chave de acesso, senha"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Mudar"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Abrir"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nenhum selecionado"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Você precisa confiar nesse app&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=O Preenchimento automático do Google&gt;%1$s&lt;/xliff:g&gt; usa o que está na sua tela para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Usar o &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;O &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; usa o que aparece na sua tela para determinar o que pode ser preenchido automaticamente. Novas senhas, chaves de acesso e outras informações serão salvas aqui a partir de agora."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Senhas, chaves de acesso e serviços de dados"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Usar &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Senhas, chaves de acesso e outras informações novas serão salvas aqui a partir de agora. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que aparece na tela para determinar o que pode ser preenchido automaticamente."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Serviço preferido para senhas, chaves de acesso e preenchimento automático"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Desativar %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Desativar este serviço?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Senhas, chaves de acesso, formas de pagamento e outras informações salvas não serão preenchidas quando você fizer login. Para usar suas informações salvas, escolha uma senha, uma chave de acesso ou um serviço de dados."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Senhas, chaves de acesso e preenchimento automático"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Desativar todos os serviços?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Novas senhas, chaves de acesso e outras informações serão salvas aqui a partir de agora."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Mude seu serviço favorito para &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Novas senhas, chaves de acesso e outras informações serão salvas aqui a partir de agora. O &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; pode usar o que aparece na tela para determinar o que pode ser preenchido automaticamente"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Usar %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Desativar"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Mudar"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Só é possível ter 5 serviços ativados"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Desative pelo menos 1 serviço para adicionar outro"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s usa o que aparece na tela para determinar o que pode ser preenchido automaticamente."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limite de senhas, chaves de acesso e serviços de dados"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"É possível ter até cinco senhas, chaves de acesso e serviços de dados ao mesmo tempo. Desative um para adicionar outro."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limite de senhas, chaves de acesso e serviços de dados"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"É possível ter até cinco senhas, chaves de acesso e serviços de dados ativos ao mesmo tempo. Desative um para adicionar outro."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Desativar"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Preenchimento automático"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nível de registro"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"As mudanças na compatibilidade de apps só podem ser modificadas para apps depuráveis. Instale um app depurável e tente novamente."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depende de outra configuração"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Conta"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d contas"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Nome do dispositivo"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informações básicas"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Informações legais e regulatórias"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permitir que este app seja aberto quando a tag NFC for lida.\nSe esta permissão estiver ativada, o app vai ficar disponível como opção sempre que uma tag for detectada."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Tocar mídia"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Abrir <xliff:g id="LABEL">%s</xliff:g> no dispositivo abaixo:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"O áudio vai tocar"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Neste dispositivo"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponível durante chamadas"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Atender chamada"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Desativar som"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Para ativar, mude a opção \"Aperte o botão liga/desliga e o pressione\" para o menu liga/desliga."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalhes da rede"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"O nome do seu dispositivo está visível para os apps no smartphone. Ele também pode ser visto por outras pessoas quando você se conecta a dispositivos Bluetooth ou a uma rede Wi-Fi ou quando configura um ponto de acesso Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Dispositivos"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Escolher rede"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Desconectado"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nome"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Cor (usada por apps compatíveis)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Salvar"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Usar chip"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Usar este chip"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Desativado"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para desativar este chip ele deve ser removido."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Toque para ativar a <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Limpar chip"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para desativar este chip, ele deve ser removido"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Toque para ativar seu chip da operadora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Limpar eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipo de rede preferencial"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Alterar o modo de operação de rede"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipo de rede preferencial"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Consulte os preços com seu provedor de rede."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Uso de dados do app"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Modo de rede <xliff:g id="NETWORKMODEID">%1$d</xliff:g> inválido. Ignorar."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mensagem via satélite"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Enviar e receber mensagens de texto via satélite. Incluído na sua conta."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Enviar e receber mensagens de texto via satélite. Não incluído na sua conta."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mensagem via satélite"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Sobre mensagens via satélite"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"É possível enviar e receber mensagens de texto via satélite como parte de uma conta qualificada da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Seu plano da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Mensagens via satélite estão incluídas na sua conta"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Mensagens via satélite não estão incluídas na sua conta"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Adicionar mensagens via satélite"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Como funciona"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Quando uma rede móvel não estiver disponível"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Seu smartphone vai se conectar automaticamente a um satélite. Para conseguir a melhor conexão, vá até um local com céu aberto."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Depois que o smartphone se conectar a um satélite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"É possível enviar mensagens de texto para qualquer pessoa, inclusive para serviços de emergência. O smartphone vai se reconectar a uma rede móvel quando estiver disponível."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"As mensagens via satélite podem demorar mais e estão disponíveis apenas em algumas áreas. O clima e certas estruturas podem afetar sua conexão via satélite. Chamadas via satélite não estão disponíveis.\n\nPode levar algum tempo para que as mudanças na sua conta apareçam nas Configurações. Entre em contato com a <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para mais detalhes."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mais informações sobre mensagens via satélite"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Nomes dos pontos de acesso"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponível quando conectado à <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Mudar para a <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Começar a usar o chip?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Somente um chip pode estar ativo por vez.\n\nMudar para a <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancelará o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Apenas um eSIM pode ficar ativo por vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Somente um chip pode estar ativo por vez.\n\nMudar de operadora não cancelará o serviço da <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Somente 1 chip pode ficar ativo por vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Apenas um eSIM pode ficar ativo por vez.\n\nMudar para a operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> não cancela o serviço da <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Apenas 1 chip pode ficar ativo por vez.\n\nMudar o chip não cancela o serviço da operadora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Você pode usar dois chips ao mesmo tempo. Para usar a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, desative o outro chip."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Mudar para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Desativar chip da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"A desativação de um chip não cancela o serviço"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Conectando à rede…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Mudando para a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para chamadas e mensagens…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Não foi possível mudar a operadora"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Devido a um erro, não foi possível mudar a operadora."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Ativando chip…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Mudando para a operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Não é possível trocar de chip"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Algo deu errado. Não é possível trocar de chip."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Desativar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Desativar chip?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Desativando o chip<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Não foi possível desativar a operadora"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Algo deu errado, e não foi possível desativar sua operadora."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Não é possível desativar o chip"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Algo deu errado e seu chip não foi desativado."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Usar dois chips?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Este dispositivo pode ter dois chips ativos ao mesmo tempo. Para continuar usando um chip por vez, toque em \"Agora não\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Reiniciar dispositivo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Agora não"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Cancelar"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Mudar"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Desativar"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Não foi possível ativar o chip"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Tente ativar o chip novamente. Se o problema continuar, reinicie o dispositivo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configure seu chip"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Defina suas preferências de rede móvel para usar vários chips neste dispositivo"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Rotule seus chips"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Esses rótulos vão aparecer ao fazer ligações, enviar mensagens de texto e usar dados, além de aparecerem nas Configurações"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Rótulo do chip"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Rótulo"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Selecione quais chips usar"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Você pode usar dois chips ao mesmo tempo"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Defina seus chips principais"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Escolha quais chips usar por padrão para fazer ligações, enviar mensagens de texto e usar dados"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Seus principais chips"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Ligações"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mensagens de texto"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Troca de dados automática"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Usar dados de qualquer chip dependendo da cobertura e disponibilidade"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Somente dados"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configurar"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Próxima"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Ativando <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rede móvel"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Número de telefone"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Rótulo e cor do chip"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ativação de rede"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Mudança de operadora"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"A operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está ativa"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Seu chip da operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> está ativo"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Toque para atualizar as configurações do chip"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Mudou para <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Mudou para outra operadora"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Sua rede móvel foi alterada"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configurar outro chip"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Selecione seu chip ativo ou use dois chips ao mesmo tempo"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Escolha um número para usar"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Há 1 número disponível neste dispositivo. É possível usar apenas um por vez}=2{Há 2 números disponíveis neste dispositivo, mas é possível usar apenas um por vez}one{Há # número disponível neste dispositivo. É possível usar apenas um por vez}other{Há # números disponíveis neste dispositivo, mas é possível usar apenas um por vez}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Ativando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Não foi possível ativar no momento"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Escolha um chip para usar"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Há 1 chip disponível neste dispositivo. É possível usar apenas um por vez}=2{Há 2 chips disponíveis neste dispositivo, mas é possível usar apenas um por vez}one{Há # chip disponível neste dispositivo. É possível usar apenas um por vez}other{Há # chips disponíveis neste dispositivo, mas é possível usar apenas um por vez}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Ativando<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Não foi possível ativar o chip no momento"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Usar <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"A operadora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> será usada para dados móveis, chamadas e SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nenhum chip ativo disponível"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para usar dados móveis, recursos de chamada e SMS mais tarde, acesse as configurações de rede"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"Chip"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Você quer mesmo apagar este eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"A limpeza do chip remove o serviço da <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo.\n\nO serviço da <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não será cancelado."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Essa ação remove o serviço da operadora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> deste dispositivo, mas o plano da <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> não será cancelado."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Limpar"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Limpando chip…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Não é possível limpar o chip"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Não é possível limpar este chip devido a um erro.\n\nReinicie o dispositivo e tente novamente."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Apagando o eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Não foi possível apagar o eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Ocorreu um erro e este eSIM não foi apagado.\n\nReinicie o dispositivo e tente de novo."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectar ao dispositivo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"O app <xliff:g id="APPNAME">%1$s</xliff:g> quer usar uma rede Wi-Fi temporária para se conectar ao seu dispositivo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenhum dispositivo foi encontrado. Os dispositivos precisam estar ligados e disponíveis para conexão."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Chamadas de emergência"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"As chamadas de emergência feitas com o recurso \"Chamada no Wi-Fi\" não são compatíveis com sua operadora.\nO dispositivo alterna automaticamente para uma rede celular para fazer uma chamada de emergência.\nAs chamadas de emergência são possíveis apenas em áreas com cobertura de celular."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Usar Wi-Fi nas chamadas para melhorar a qualidade"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Chamadas alternativas"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Se <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> estiver indisponível ou em roaming, use o chip de dados móveis para chamadas da operadora <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"chamadas alternativas"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mensagem MMS recebida"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Não é possível enviar mensagens MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Toque para permitir mensagens MMS pela <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> quando os dados móveis estiverem desativados"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informações sobre sua política de trabalho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Configurações gerenciadas pelo administrador de TI"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Inicializar com páginas de 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Inicializar dispositivo usando o kernel com suporte a páginas de 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Reiniciar com kernel compatível com páginas de 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVISO: alguns aplicativos podem não ser compatíveis com esse modo. O dispositivo será reiniciado após a confirmação."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Reiniciar com kernel compatível com páginas de 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"O dispositivo será reiniciado após a confirmação."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Falha ao atualizar para um kernel compatível com páginas de 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Aplicando mudança"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Gerenciador de relatórios de bugs"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Determina qual app gerencia o atalho para o Relatório de bug no dispositivo."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Pessoais"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permitir que apps que podem ser sobrepostos a outros sejam abertos sobre telas de configuração"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permitir Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permita que este dispositivo execute o serviço Mock Modem para testes de instrumentação. Não ative esse recurso durante o uso normal do smartphone."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Desativar as proteções do compartilhamento de tela"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Desativa as proteções de apps e notificações aplicadas pelo sistema durante o compartilhamento de tela"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Mídia"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fixar player de mídia"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Para retomar a reprodução rapidamente, o player de mídia fica aberto nas Configurações rápidas"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Mostrar mídia na tela de bloqueio"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Para retomar a reprodução rapidamente, o player de mídia fica aberto na tela de bloqueio"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Mostrar recomendações de mídia"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Mostrar recomendações de mídia do Google Assistente"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Com base na sua atividade"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ocultar player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Mostrar player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"mídia"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permitir extensões de softwares da câmera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Permite a implementação de softwares padrão com recursos avançados de câmera, como a videografia de acessibilidade."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"O Bluetooth será ativado"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Chips"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"Chip"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Ativo"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inativo"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Ativado"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Desativado"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Padrão para <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"chamadas"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"O áudio de dispositivos de mídia compatíveis se torna mais imersivo"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Acompanhamento da cabeça"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"O áudio muda conforme você move a cabeça para soar mais natural"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sincronizar permissões"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Conceda ao dispositivo <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> as mesmas permissões de app que você deu ao <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizar permissões do smartphone"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Conceda ao relógio as mesmas permissões do app que você concedeu a este smartphone"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipo de dispositivo de áudio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Desconhecido"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Alto-falante"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Médio"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Alto"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Esse app só pode ser aberto em uma única janela"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Ativado"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Desativado"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Desativado"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Desativado"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Ativado"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Desativado"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Ativada"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Desativada"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Transforma as telas claras em escuras e vice-versa"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Aumentar o zoom na tela"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Desativado"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Desativada"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Verificação de apps enganosos"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Verificar atividades no app para detectar phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Usar o recurso de verificação para detectar apps enganosos"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Usar o recurso de verificação para detectar apps enganosos que podem ser usados no perfil de trabalho"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"A senha foi configurada"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Mostrar ponteiro ao passar o cursor"</string>
 </resources>
diff --git a/res/values-ro/arrays.xml b/res/values-ro/arrays.xml
index 02b5f3d..b44dfcd 100644
--- a/res/values-ro/arrays.xml
+++ b/res/values-ro/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Disponibil"</item>
     <item msgid="6096962300722555553">"Fără acoperire"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Dezactivat"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast și difuzare"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Folosește setarea prestabilită a sistemului: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"După un minut"</item>
     <item msgid="1574040255478150028">"După cinci minute"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ro/strings.xml b/res/values-ro/strings.xml
index 12e3d95..c477a9a 100644
--- a/res/values-ro/strings.xml
+++ b/res/values-ro/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Ai devenit dezvoltator!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nu mai este nevoie, ești deja dezvoltator."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Mai întâi activează opțiunile pentru dezvoltatori."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Doar administratorii pot accesa setările pentru dezvoltatori."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"În aria de acoperire"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"În afara ariei de acoperire"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Ecranul frontal se activează când pliezi dispozitivul"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Numai jocuri, videoclipuri și altele"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Ecranul frontal se activează pentru aplicațiile care împiedică intrarea ecranului în modul inactiv"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Glisează în sus pentru a continua"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Pliază telefonul și glisează în sus pe ecranul frontal pentru a folosi în continuare aplicația sau așteaptă câteva secunde pentru ca ecranul să se blocheze"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Niciodată"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Ecranul frontal se blochează când pliezi dispozitivul"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Folosește rotirea automată"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Similare"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Tonul de sonerie și alarmele"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Sonorul în timpul apelurilor"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notificări și sunete de sistem"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sunete media și de sistem"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Notificări"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"În mod prestabilit, ieșirea audio este stabilită de fiecare aplicație"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Dispozitiv Bluetooth nedenumit"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Se caută dispozitive"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Anulează"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Dezactivează Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Dezactivează funcția Bluetooth LE Audio dacă dispozitivul acceptă capacitățile de hardware LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modul Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Comutator LE Audio în Detalii dispozitiv"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Activează Lista cu acces permis pentru Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Activează funcția Listă cu acces permis pentru Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Omite lista cu acces permis Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Folosește în mod prestabilit LE Audio chiar dacă dispozitivul periferic LE Audio nu a fost confirmat ca respectând criteriile Allowlist."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Dispozitive media"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Dispozitive de apel"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Alte dispozitive"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Dispozitive salvate"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Asociate cu contul"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Folosit anterior cu contul"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth se va activa pentru asociere"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferințe pentru conexiune"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Conectat anterior"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Funcția Bluetooth activată"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Afișează-le pe toate"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Afișează tot"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Creion"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Apăsarea butonului creionului"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (profil de serviciu)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Scrie în câmpurile text"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignoră toate apăsările de butoane ale creionului"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Creion"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Trimiterea audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Trimite audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Apeluri și alarme"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Conectează-te la un stream audio folosind un cod QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nu s-au găsit streamuri audio aproape."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data și ora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Șterge"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Adaugi %s la limbile preferate?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Astfel, aplicațiile și site-urile sunt informate că preferi și această limbă."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Setările dispozitivului și preferințele regionale se vor modifica."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Schimbă"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nu este disponibilă"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sâmbătă"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Dacă o aplicație nu acceptă preferințele regionale, aceasta va folosi setările prestabilite pentru codul local."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Află mai multe despre preferințele de limbă"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferințe suplimentare"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Formule de adresare"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Setează modul în care dorești ca aplicațiile să ți se adreseze"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplicațiile pot folosi formulele de adresare pe care le alegi pentru a personaliza modul în care ți se adresează."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nespecificat"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Feminin"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Masculin"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutru"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Elimini limba selectată?}few{Elimini limbile selectate?}other{Elimini limbile selectate?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Textul va fi afișat în altă limbă."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nu pot fi eliminate toate limbile"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Locație"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Folosește locația"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Dezactivat"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Află mai multe despre Setările privind locația."</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="3574930966097093550">"Pentru a schimba accesul în locație, accesează Setări &gt; Securitate și confidențialitate &gt; Opțiuni de confidențialitate"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Conturi"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Securitate"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Criptare și date de conectare"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Pentru rezultate optime, folosește o protecție pentru ecran care este certificată Made for Google. Este posibil ca amprenta copilului să nu funcționeze cu alte protecții pentru ecran."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Deblocare cu ceasul"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Când configurezi Deblocarea facială și Deblocarea cu amprenta, telefonul îți va solicita amprenta atunci când porți mască sau te afli într-o zonă întunecoasă.\n\nPoți folosi ceasul pentru deblocare când nu ți se recunoaște fața sau amprenta."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Poți folosi ceasul pentru deblocare când nu ți se recunoaște amprenta."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Poți folosi ceasul pentru deblocare când nu ți se recunoaște fața."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Când configurezi Deblocarea facială și Deblocarea cu amprenta, telefonul îți va solicita amprenta atunci când porți mască sau te afli într-o zonă întunecoasă.\n\nDeblocarea cu ceasul este o altă modalitate convenabilă de a debloca telefonul, de exemplu, când ai degetele ude sau nu îți recunoaște chipul."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Deblocarea cu ceasul este o altă modalitate convenabilă de a debloca telefonul, de exemplu, când nu îți recunoaște amprenta."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Deblocarea cu ceasul este o altă modalitate convenabilă de a debloca telefonul, de exemplu, când nu îți recunoaște chipul."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Folosește amprenta sau ceasul pentru a"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Folosește fața sau ceasul pentru a"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Folosește fața, amprenta sau ceasul pentru a"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Deblocarea cu ceasul este o altă modalitate convenabilă de a debloca acest telefon, de exemplu, când ai degetele ude sau nu îți recunoaște chipul.\n\nPoți să deblochezi telefonul cu ceasul atunci când:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Nu acum"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Continuă"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mai mult"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Cum funcționează"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Ceasul trebuie să fie deblocat, la încheietura mâinii și aproape de telefon. Nu va trebui să deblochezi ceasul din nou cât timp se află la încheietură."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Când telefonul este deblocat, vei primi o notificare pe ceas. Dacă telefonul s-a deblocat din greșeală, atinge notificarea pentru a-l bloca din nou."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Tu deții controlul"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Poți elimina oricând ceasul din Deblocarea cu ceasul din Setări"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Atinge o notificare"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Glisează în sus pe ecranul de blocare"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Alege ceasul"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Ceasuri disponibile"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Anulează"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Confirmă"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Gata!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Acum poți folosi ceasul pentru a debloca telefonul când glisezi în sus pe ecranul de blocare sau când atingi o notificare"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Gata"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Deblocare cu ceasul"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Poți folosi ceasul pentru a debloca telefonul când glisezi în sus pe ecranul de blocare sau când atingi o notificare"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Pentru a folosi Deblocarea cu ceasul, ceasul trebuie să fie deblocat, la încheietura mâinii, aproape și conectat la telefon. În cazul în care conexiunea este întreruptă, va trebui să deblochezi telefonul ca să poți folosi Deblocarea cu ceasul.\n\nReține:\npoți avea un singur ceas configurat la un moment dat. Ca să adaugi altul, elimină-l pe cel actual."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Securitate"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Confidențialitate"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profil de serviciu"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Spațiu privat"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Păstrează aplicațiile private blocate și ascunse"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Păstrează aplicațiile private într-un spațiu separat pe care îl poți ascunde sau bloca"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Blocarea spațiului privat"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Poți să deblochezi spațiul privat la fel cum deblochezi dispozitivul sau să alegi altă blocare"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Folosește blocarea ecranului dispozitivului"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Deblocare facială și cu amprentă"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Deblocarea cu amprenta"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Deblocarea facială"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Atinge pentru a configura"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Deblocare cu amprenta pentru spațiul privat"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Deblocare facială pentru spațiul privat"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Moduri de deblocare"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Aceeași ca blocarea ecranului dispozitivului"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Alegi un aspect nou pentru spațiul privat?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Blochează automat spațiul privat"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Poți bloca automat spațiul privat dacă nu ai folosit dispozitivul o perioadă de timp"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"La fiecare blocare a dispozitivului"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"După 5 minute de inactivitate"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Niciodată"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ascunde când este blocat"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ascunde spațiul privat când este blocat"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Pentru ca alții să nu știe că ai un spațiu privat pe dispozitiv, ascunde-l din lista de aplicații"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Accesează spațiul privat când este ascuns"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Din lista de aplicații, introdu „spațiu privat” în bara de căutare"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Atinge cardul Spațiu privat"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Deblochează spațiul privat"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Dezactivat"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Activat"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Șterge spațiul privat"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Ștergi spațiul privat?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Spațiul privat va fi eliminat de pe dispozitiv. Toate aplicațiile și datele private vor fi șterse. Nu poți anula această acțiune."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Următoarele conturi vor fi eliminate din spațiul privat:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Șterge"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Se șterge spațiul privat…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Procesul va dura puțin"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Spațiul privat a fost șters"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Spațiul privat nu a putut fi șters"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Spațiu privat deblocat"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Setează o blocare a ecranului"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Ca să folosești spațiul privat, setează blocarea ecranului pe acest dispozitiv"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Setează blocarea ecranului"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Anulează"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Anulează"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Configurează"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Configurează un spațiu privat"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Păstrează aplicațiile private într-un spațiu separat pe care îl poți ascunde sau bloca"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Cum funcționează"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Poți accesa spațiul privat din partea de jos a listei de aplicații"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplicațiile din spațiul privat sunt protejate de o blocare"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Notificările de la aplicațiile din spațiul privat sunt ascunse atunci când acesta este blocat"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplicațiile din spațiul privat nu vor apărea în managerul de permisiuni, în tabloul de bord de confidențialitate și în alte setări atunci când spațiul privat este blocat.\n\nSpațiul privat nu poate fi mutat pe un dispozitiv nou. Va trebui să configurezi alt spațiu privat dacă vrei să-l folosești pe alt dispozitiv.\n\nOricine îți conectează dispozitivul la un computer sau instalează aplicații dăunătoare pe dispozitiv poate să îți acceseze spațiul privat."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Se configurează spațiul privat…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Notificările de la aplicațiile din spațiul privat sunt ascunse atunci când acesta este blocat"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Deblochează spațiul privat pentru a trimite fotografii sau fișiere"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Unele aplicații au fost deja instalate în 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_lockscreen_title" msgid="6034864097861137509">"Folosești blocarea ecranului pentru a debloca spațiul privat?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Poți să deblochezi spațiul privat la fel cum deblochezi dispozitivul sau să alegi altă blocare"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Folosește blocarea ecranului"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Alege o nouă blocare"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Gata!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Pentru a găsi spațiul privat, accesează lista de aplicații, apoi derulează în jos"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Gata"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Derulează în jos pentru a găsi spațiul privat"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Conectează-te"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Conectează-te la un cont pentru a-l folosi cu spațiul privat"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Nu acum"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Continuă"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Alege o blocare pentru spațiul privat"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Poți debloca spațiul privat folosind amprenta. Pentru securitate, această opțiune necesită o blocare de rezervă."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Setează un PIN pentru spațiul privat"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Setează o parolă pentru spațiul privat"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Setează un model pentru spațiul privat"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Poți să adaugi până la <xliff:g id="COUNT">%d</xliff:g> amprente"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ai adăugat numărul maxim de amprente digitale"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nu se mai pot adăuga amprente digitale"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Model"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Parolă"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ștergi blocarea ecranului?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Elimini toate tipurile de deblocare a dispozitivului?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Elimini protecția profilului?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Un model îți protejează telefonul dacă este pierdut sau furat"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Un model îți protejează telefonul dacă este pierdut sau furat.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Această funcție șterge modelul cu amprentă stocat pe dispozitiv. În plus, modelul facial va fi șters definitiv și în siguranță. Nu vei putea să folosești fața sau amprenta pentru autentificare în aplicații."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Un PIN îți protejează telefonul dacă este pierdut sau furat"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Vei pierde datele salvate, precum codul PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cardurile configurate pentru plată contactless se vor elimina.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofelele și alte aplicații care necesită deblocarea dispozitivului pot să nu funcționeze corect."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Un PIN îți protejează telefonul dacă este pierdut sau furat.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>În plus, această funcție șterge modelul cu amprentă stocat pe dispozitiv. Nu vei putea să-ți folosești amprenta pentru autentificare în aplicații."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Vei pierde datele salvate, precum codul PIN și modelul de amprentă digitală.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cardurile configurate pentru plată contactless se vor elimina.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofelele și alte aplicații care necesită deblocarea dispozitivului pot să nu funcționeze corect."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Un PIN îți protejează telefonul dacă este pierdut sau furat.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>În plus, modelul facial va fi șters definitiv și în siguranță. Nu vei putea să-ți folosești fața pentru autentificare în aplicații."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Vei pierde datele salvate, precum codul PIN și modelul facial.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cardurile configurate pentru plată contactless se vor elimina.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofelele și alte aplicații care necesită deblocarea dispozitivului pot să nu funcționeze corect."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Un PIN îți protejează telefonul dacă este pierdut sau furat.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Această funcție șterge modelul cu amprentă stocat pe dispozitiv. În plus, modelul facial va fi șters definitiv și în siguranță. Nu vei putea să folosești fața sau amprenta pentru autentificare în aplicații."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Vei pierde datele salvate, precum codul PIN, modelul facial și cel de amprentă digitală.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Cardurile configurate pentru plată contactless se vor elimina.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofelele și alte aplicații care necesită deblocarea dispozitivului pot să nu funcționeze corect."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"O parolă îți protejează telefonul dacă este pierdut sau furat"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"O parolă îți protejează telefonul dacă este pierdut sau furat.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Asociezi cu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Adaugă un membru nou la setul coordonat existent"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Confirmă pentru a adăuga a doua componentă a dispozitivului audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Cod de asociere prin Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Introdu codul de conectare, apoi apasă pe Revino sau pe Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Codul PIN conține litere sau simboluri"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Trebuie să aibă 16 cifre"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Ar putea fi necesar, de asemenea, să introduci acest cod PIN pe celălalt dispozitiv."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Ar putea fi necesar, de asemenea, să introduci această parolă pe celălalt dispozitiv."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Confirmă pentru a asocia cu setul coordonat"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Confirmă pentru a asocia cu dispozitivul audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Permite accesul la agendă și la istoricul apelurilor"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"În plus, permit accesul la agendă și la istoricul apelurilor"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informațiile vor fi folosite pentru notificări privind apelurile și altele"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nu s-a putut conecta la <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dispozitive disponibile"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Conectează-te"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Deconectează"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Asociază și conectează"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Activarea Bluetooth facilitează comunicarea cu alte dispozitive Bluetooth din apropiere."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Activarea Bluetooth facilitează comunicarea cu alte dispozitive Bluetooth din apropiere."</string>
     <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 căutarea prin Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Modifică"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Detalii despre dispozitiv"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Permite ART să verifice bytecode-ul pentru aplicațiile care pot fi depanate"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Rata de actualizare"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Afișează rata de actualizare a ecranului"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Afișează raportul HDR / SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Afișează raportul HDR / SDR actual"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Solicită deblocarea dispozitivului pentru NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"În modul Avion"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Notificare pentru rețelele publice"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Notifică-mă atunci când este disponibilă o rețea publică de înaltă calitate"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Permite rețelele WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP este un protocol de securitate mai vechi și mai puțin sigur"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operatorul tău nu permite rețelele WEP, deoarece sunt mai puțin sigure"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Activează automat Wi-Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi se va reactiva automat lângă rețelele de înaltă calitate salvate, cum ar fi rețeaua ta de domiciliu"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Indisponibil pentru că este dezactivată locația. Activează "<annotation id="link">"Locația"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Căutarea de rețele Wi-Fi permite aplicațiilor și serviciilor să caute oricând rețele Wi-Fi, chiar și atunci când conexiunea Wi-Fi este dezactivată. Această opțiune poate fi folosită, de exemplu, pentru a îmbunătăți funcțiile și serviciile bazate pe locație."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Activează"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Căutare de rețele Wi-Fi activată"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Rețeaua folosește un protocol de securitate mai vechi și mai puțin sigur"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Rețeaua <xliff:g id="NAME">%1$s</xliff:g> este blocată"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Rețeaua folosește un protocol de securitate mai vechi, numit WEP, care este mai puțin sigur. Ca să te conectezi oricum, poți permite rețelele WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operatorul nu îți dă voie să te conectezi la această rețea, deoarece ea folosește un protocol de securitate mai vechi și mai puțin sigur"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Permite rețelele WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Închide"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opțiuni avansate"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Lista drop-down Opțiuni avansate"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"extindeți"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Rămâi pe Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Nu afișa din nou"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Conectează-te"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Conexiunea prin Wi-Fi este activată"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Te-ai conectat la <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Se conectează la <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Se conectează…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Nu s-a putut stabili conexiunea la rețea"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Rețeaua este în afara ariei de acoperire"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Elimină"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modifică"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Nu s-a putut elimina rețeaua"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Salvează"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Nu s-a putut salva rețeaua"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Anulează"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Date mobile"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Se încarcă"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Se încarcă"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Conexiune hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Puterea conexiunii"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Rețele salvate"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nu s-a setat nicio parolă"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Nume hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Parolă hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Dezactivează automat hotspotul"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Când nu este conectat niciun dispozitiv"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Extinde compatibilitatea"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Balansul de alb al ecranului"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Continuă să folosești aplicațiile după pliere"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Ridică automat rata de actualizare de la 60 la <xliff:g id="ID_1">%1$s</xliff:g> Hz pentru unele tipuri de conținut. Mărește utilizarea bateriei."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Dezactivează rata prestabilită de cadre pentru jocuri"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Dezactivează limitarea ratei maxime de cadre pentru jocuri la <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Crește automat rata de actualizare până la <xliff:g id="ID_1">%1$d</xliff:g> Hz pentru anumite tipuri de conținut. Utilizarea bateriei crește."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Forțează rata maximă de actualizare"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Cea mai ridicată rată de actualizare, pentru receptivitate la atingere îmbunătățită și animații de calitate. Mărește utilizarea bateriei."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atenție la ecran"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Funcția Atenție la ecran folosește camera frontală pentru a detecta dacă se uită cineva la ecran. Funcționează pe dispozitiv, iar imaginile nu sunt niciodată stocate sau trimise la Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Activați „Atenție la ecran”"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Menține activat ecranul când îl privești"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Durata mai lungă până la dezactivarea ecranului va folosi mai multă baterie."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Camera foto este blocată"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Camera foto trebuie deblocată pentru detectarea facială"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Camera trebuie să fie deblocată pentru funcția Atenție la ecran"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot pentru SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot pentru SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (principal)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Alege rețeaua salvată pentru afișare"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versiune PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nivelul bateriei"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Comune"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Setări comune"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Mesaje prin satelit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Nume APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Modifică punctul de acces"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Adaugă un punct de acces"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nesetat(ă)"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nesetată"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nume"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN activat"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN dezactivat"</string>
     <string name="bearer" msgid="3231443241639159358">"Purtător"</string>
+    <string name="network_type" msgid="748590707422733595">"Tip de rețea"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Nespecificată"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Tip MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Valoare MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Ștergeți APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Salvează"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Anulează"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Intrare APN dublată."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Câmpul Nume nu poate fi necompletat."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Numele APN nu poate fi necompletat."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Câmpul MCC trebuie să conțină 3 cifre."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Câmpul MNC trebuie să conțină 2 sau 3 cifre."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operatorul nu permite adăugarea numelor APN de tipul %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Câmpul MMSC trebuie să fie valid."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Se restabilesc setările APN prestabilite."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Resetează la valorile prestabilite"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Resetarea setărilor APN prestabilite a fost finalizată."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetează"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth și Wi‑Fi au fost resetate"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Șterge cartelele eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Acest lucru nu va anula niciun abonament de servicii mobile. Pentru a descărca SIM-uri de înlocuire, contactează operatorul."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Planul tău de date mobile nu va fi anulat. Pentru a obține un card SIM înlocuitor, contactează operatorul."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetează opțiunile"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Restabilește toate setările pentru rețea? Nu poți anula această acțiune."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Resetezi toate setările de rețea și ștergi cartelele eSIM? Nu poți anula această acțiune."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Resetezi?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Resetarea rețelei nu este disponibilă pentru acest utilizator"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Setările pentru rețea au fost reinițializate"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Nu se pot șterge SIM-urile"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Cartelele eSIM nu se pot șterge din cauza unei erori.\n\nRepornește dispozitivul și încearcă din nou."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Nu se pot șterge eSIM-urile"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"A apărut o eroare și eSIM-urile nu au fost șterse.\n\nRepornește dispozitivul și încearcă din nou."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Șterge datele (revino la setările din fabrică)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Șterge datele (revino la setările din fabrică)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"muzică;"</li>\n<li>"fotografii;"</li>\n<li>"alte date ale utilizatorului."</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"carduri eSIM,"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Planul tău de servicii mobile nu va fi anulat astfel."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Toate informațiile cu caracter personal și aplicațiile descărcate vor fi șterse. Nu puteți anula această acțiune."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Toate informațiile cu caracter personal, inclusiv aplicațiile și SIM-urile descărcate, vor fi șterse. Nu poți anula această acțiune."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Toate informațiile cu caracter personal, inclusiv aplicațiile și eSIM-urile descărcate, vor fi șterse. Nu poți anula această acțiune."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Ștergi toate datele?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Revenirea la setările din fabrică nu este disponibilă pentru acest utilizator"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Se șterge"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Nu se permite altor dispozitive accesul la conexiunea de internet"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Dezactivat"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nu se folosesc hotspoturi Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Permite accesul la internet doar prin USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Permite accesul la internet doar prin Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Permiteți accesul la internet doar prin Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Permite accesul la internet prin USB și Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Permite accesul la internet doar prin USB și Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Permite accesul la internet doar prin Bluetooth și Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Permite accesul la internet doar prin USB, Bluetooth și Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering prin USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering prin Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Folosește hotspotul și tetheringul pentru a oferi o conexiune de internet altor dispozitive prin conexiunea ta Wi-Fi sau de date mobile. Aplicațiile pot crea și un hotspot pentru a trimite conținut dispozitivelor din apropiere."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ajutor"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rețea mobilă"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plan de date mobile"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplicația SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Schimbi aplicația SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Folosești <xliff:g id="NEW_APP">%1$s</xliff:g> în loc de <xliff:g id="CURRENT_APP">%2$s</xliff:g> ca aplicație SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Schimbi asistentul Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Folosești <xliff:g id="NEW_APP">%1$s</xliff:g> în loc de <xliff:g id="CURRENT_APP">%2$s</xliff:g> pentru a gestiona conexiunile la rețea?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Folosești <xliff:g id="NEW_APP">%s</xliff:g> pentru a gestiona conexiunile la rețea?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operator SIM necunoscut"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nu are niciun site de provizionare cunoscut"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Introdu cardul SIM și repornește"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Conectează-te la internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Solicitări recente ale locației"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Locație pt. profil de serviciu"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Permisiuni pentru locație"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Anulează accesul"</string>
     <string name="controls_label" msgid="8671492254263626383">"Comenzi"</string>
     <string name="force_stop" msgid="2681771622136916280">"Oprește forțat"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhivează"</string>
+    <string name="restore" msgid="7622486640713967157">"Restabilește"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Se restabilește"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Se restabilește."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Se restabilește…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Se restabilește..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Total"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Dimensiunea aplicației"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Stocare aplicație pe USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nu s-a putut calcula mărimea pachetului."</string>
     <string name="version_text" msgid="7628938665256107608">"versiunea <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Mută"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhivarea nu a reușit"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"S-a arhivat <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restabilirea nu a reușit"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Restabilire <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Altă migrare este deja în desfășurare."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nu există suficient spațiu de stocare."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplicația nu există."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tastatura pe ecran disponibilă"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Gestionează tastaturile pe ecran"</string>
     <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 de ieșire imediată"</string>
+    <string name="bounce_keys_summary" msgid="6922850403920596246">"Activează Tastele de ieșire imediată pentru accesibilitatea tastaturii fizice"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Taste lente"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Activează Tastele lente pentru accesibilitatea tastaturii fizice"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Taste adezive"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Activează Tastele adezive pentru accesibilitatea tastaturii fizice"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Viteza indicatorului"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Învață gesturi pentru touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Înapoi la ecranul de pornire"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Glisează în sus cu trei degete oriunde pe touchpad"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Înapoi"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sortează după durata folosirii"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sortează după data ultimei folosiri"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sortează după numele aplicației"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Ultima utilizare"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Ultima utilizare"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"niciodată"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Durată de utilizare"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accesibilitate"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Setări de accesibilitate"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Mărește atingând de trei ori"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Mărește folosind scurtătura"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Mărește folosind scurtătura și atingând de trei ori"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Despre <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Folosește butonul de accesibilitate pentru a deschide"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Apasă lung butoanele de volum pentru a deschide"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Atinge ecranul de trei ori ca să deschizi"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Atinge de două ori ecranul cu două degete pentru a deschide"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Folosește un gest pentru a deschide"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Folosește gestul de accesibilitate"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ca să folosești această funcție, atinge butonul de accesibilitate <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> din partea de jos a ecranului.\n\nCa să comuți între funcții, atinge lung butonul de accesibilitate."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ca să folosești această funcție, atinge butonul de accesibilitate de pe ecran."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Ca să folosești această funcție, apasă lung ambele butoane de volum."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Pentru a porni și a opri mărirea, atinge de trei ori oriunde pe ecran."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Pentru a porni și a opri mărirea, atinge de două ori oriunde pe ecran cu două degete."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ca să folosești această funcție, glisează în sus cu două degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu două degete și ține apăsat."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ca să folosești această funcție, glisează în sus cu trei degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu trei degete și ține apăsat."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ca să folosești o funcție de accesibilitate, glisează în sus cu două degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu două degete și ține apăsat."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Ca să folosești o funcție de accesibilitate, glisează în sus cu trei degete din partea de jos a ecranului.\n\nCa să comuți între funcții, glisează în sus cu trei degete și menține apăsat."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Setările butonului de accesibilitate"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Setări pentru buton"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Comanda rapidă pentru <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Buton de accesibilitate"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gest de accesibilitate"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Apasă lung butoanele de volum"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"apasă lung butoanele 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"atinge de două ori ecranul cu două 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="6863958573135995927">"atinge ecranul 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Află mai multe despre butonul de accesibilitate și gest"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Folosirea butonului de accesibilitate. Gestul nu este disponibil în cazul navigării cu 3 butoane."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Accesează rapid funcțiile de accesibilitate"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Pentru a începe"</b>\n"1. Accesează setările de accesibilitate\n2. Selectează o funcție și atinge comanda rapidă\n3. Alege dacă vrei să folosești un buton sau un gest pentru a accesa funcția"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Pentru a începe"</b>\n"1. Accesează setările de accesibilitate\n2. Selectează o funcție și atinge comanda rapidă\n3. Alege butonul pentru a accesa funcția"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&amp;gtPentru a începe&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accesează setările de accesibilitate&lt;br/&gt; {1,number,integer}. Selectează o funcție și atinge comanda rapidă&lt;br/&gt; {2,number,integer}. Alege dacă dorești să folosești un buton sau un gest pentru a accesa funcția&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&amp;gtPentru a începe&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Accesează setările de accesibilitate&lt;br/&gt; {1,number,integer}. Selectează o funcție și atinge comanda rapidă&lt;br/&gt; {2,number,integer}. Alege butonul pentru a accesa funcția&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Folosește butonul sau gestul"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Locație"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Dimensiune"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Butonul de pornire închide"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Cursor mare pentru mouse"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Fă cursorul mouse-ului mai ușor de observat"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Fă toate aplicațiile întunecate"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Se aplică aplicațiilor fără propria temă întunecată. Unele aplicații pot avea probleme de afișare, de exemplu, culori inversate."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Elimină animațiile"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Redu mișcarea de pe ecran"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audio mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Folosește vibrațiile și feedbackul tactil"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibrație pentru alarmă"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibrație pentru conținut media"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibrația tastaturii"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrațiile soneriei"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrații la notificare"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback la atingere"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Oprește"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Anulează"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Oprești <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Dacă atingi <xliff:g id="STOP">%1$s</xliff:g> vei opri <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Dezactivează"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Menține activată"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Dezactivezi <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nu există servicii instalate"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Niciun serviciu selectat"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nu a fost furnizată o descriere."</string>
     <string name="settings_button" msgid="2195468788019730377">"Setări"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"sensibilitate la lumină, fotofobie, tema întunecată, migrenă, durere de cap, mod de citire, modul noapte, reduceți luminozitatea, punct alb"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ușurință de utilizare, acces simplu, asistență, care asigură asistență"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vedere, auz, orb, surd, abilități motorii, dexteritate, care asigură asistență, asistență, ușurință de utilizare, acces simplu, mână, ajutor"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"lupă fereastră, zoom, mărire, vedere slabă, mărește, mai mare"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"subtitrări, transcriere live, deficiențe de auz, pierderea auzului, CART, redare în scris a vorbirii, subtitrare"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contrastul culorilor"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"abilități motorii, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"aparate auditive, persoane cu deficiențe de auz, pierderea auzului, implanturi cohleare, dispozitive de amplificare, procesoare de sunet"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"abilități motorii, mouse, mouse extern, mouse pentru cap, mouse adaptiv, scaun cu rotile, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"aparate auditive, persoane cu deficiențe de auz, pierderea auzului, implanturi cohleare, dispozitive de amplificare, procesoare de sunet, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"deficiențe de auz, pierderea auzului, subtitrări, TeleTypewriter, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"trei butoane"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"dexteritate, abilități motorii, persoană în vârstă, artrită, leziuni de stres repetitiv, atac cerebral, tremor, scleroză multiplă, paralizie cerebrală, tremurat, mână"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"întârziere, dexteritate, persoană în vârstă"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printare"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Dezactivat"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Un serviciu de printare activat}few{# servicii de printare activate}other{# de servicii de printare activate}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Timp rămas: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> până la finalizarea încărcării"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Durata de folosire a dispozitivului"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Timpul în fundal"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Nivel scăzut al bateriei"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Permite aplicației să ruleze în fundal"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limitezi activitatea de fundal?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Dacă limitezi activitatea de fundal pentru o aplicație, aceasta se poate comporta necorespunzător"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplicația nu optimizează bateria, deci nu o poți restricționa.\n\nPentru a o restricționa, activează optimizarea bateriei."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Gestionează utilizarea bateriei"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Permite folosirea în fundal"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Activează pentru actualizări în timp real, dezactivează pentru a economisi bateria"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Fără restricții"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizată"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitată"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Vezi aplicațiile cu cea mai mare utilizare"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Încărcarea este optimizată pentru a proteja bateria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Pentru a mări autonomia bateriei, încărcarea este optimizată"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Încărcarea este optimizată pentru a proteja bateria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Pentru a mări autonomia bateriei, încărcarea este optimizată cât timp dispozitivul este andocat"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Încărcarea este optimizată pentru a proteja bateria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Pentru a mări durata de viață a bateriei, încărcarea este optimizată cât timp dispozitivul este andocat"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Se încarcă la capacitate maximă"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Pentru a proteja bateria, încărcarea va fi optimizată data viitoare când tableta va fi andocată"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Află mai multe despre întreruperea încărcării"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Reia încărcarea"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Include activitatea din fundal cu un consum ridicat de energie"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Această aplicație va putea utiliza bateria în fundal. Bateria se poate descărca mai repede decât vă așteptați."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Elimină"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Anulează"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Încarcă până la 100 %%"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problemă legată de accesoriul de încărcare"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Verifică accesoriul de încărcare"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Află mai multe despre încărcarea cu un adaptor incompatibil"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Gestionează automat aplicațiile"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"de la ultima încărcare completă"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplicații de sistem"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Aplicații dezinstalate"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Altele"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Timp estimat rămas"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Până la încărcarea completă"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Total: mai puțin de un minut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"În fundal: mai puțin de un minut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Durata de folosire a dispozitivului: mai puțin de un minut"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Mai puțin de un minut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"În fundal: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Durata de folosire a dispozitivului: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"acum"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g>, <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Graficul de utilizare a bateriei"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafic cu utilizarea zilnică a bateriei"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafic cu utilizarea bateriei în fiecare oră"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Procentul privind nivelul bateriei, de la <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> la <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Utilizarea bateriei de la ultima încărcare completă"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Utilizarea bateriei pentru <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Durata de folosire a dispozitivului de la ultima încărcare completă"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Semnal pentru apel de urgență"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Setează comportamentul la efectuarea unui apel de urgență"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Backup"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Activat"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Dezactivat"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Backup și restabilire"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Date personale"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Backup pentru date"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Date mobile și Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sincronizare automată a datelor"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autosincronizare date serviciu"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sincronizează automat datele private"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Schimbă data ciclului..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Ziua din lună pentru resetarea ciclului de utilizare a datelor:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nicio aplic. nu a utilizat date în ac. perioadă."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Nume"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tip"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresă server"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Criptare PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Secret L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identificator IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Cheie IPSec predistribuită"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificat de utilizator IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certificat CA IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certificat de server IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Afișează opțiunile avansate"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domenii de căutare DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Serverele DNS (de ex., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rute de redirecționare (ex.: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Nume de utilizator"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Parolă"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Salvează informațiile contului"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(neutilizat)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(nu verifica serverul)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(primit de la server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Acest tip de VPN nu poate fi conectat permanent"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Rețelele VPN activate permanent acceptă doar adrese de server numerice"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Trebuie specificat un server DNS pentru rețelele VPN activate permanent"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresele serverului DNS trebuie să fie numerice pentru rețelele VPN activate permanent"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informațiile introduse nu acceptă rețelele VPN activate permanent"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Anulează"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Închide"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blochează conexiunile fără VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Este necesară conexiunea VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nesecurizată. Treci la o rețea VPN IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nu s-a putut activa rețeaua VPN neacceptată."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Selectează un profil VPN pentru a rămâne conectat întotdeauna la rețea. Traficul de rețea va fi permis numai atunci când ești conectat(ă) la această rețea VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Niciuna"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Activarea permanentă a rețelei VPN necesită o adresă IP, atât pentru server, cât și pentru DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Alerte AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Primește buletine despre răpirile de copii"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Repetă"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Activează Managerul de apeluri"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Permite acestui serviciu să gestioneze modul de efectuare a apelurilor."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Manager de apeluri"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Alerte de urgență wireless"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operatori de rețea"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Numele punctelor de acces"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Starea cardului SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stare card SIM (slot pentru SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Cartelele SIM s-au schimbat."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-urile au fost schimbate"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Atinge pentru a configura"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Întreabă de fiecare dată"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Selectează o opțiune"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplicații recente, aplicații prestabilite"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Accesul la notificări nu este disponibil pentru aplicații în profilul de lucru."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Parole și conturi"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Parole salvate, completare automată, conturi sincronizate"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugestii pentru conectare și completare automată"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Aplicații prestabilite"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplicații clonate"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Creează o a doua instanță a unei aplicații, astfel încât să poți folosi două conturi simultan."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"portofel"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plată, atingere, plăți"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gest"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"facială, deblocare, autorizare, conectare"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"chip, față, facială, deblocare, autentificare, conectare, amprentă, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versiune PRL, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"dimensiunea textului, caractere mari, font mare, text mare, vedere slabă, mărește textul, instrument de mărire a fontului, mărirea fontului"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"afișaj ambiental activat permanent, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etichetă, cititor"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastatură, feedback tactil, vibrație"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, vibrații, Nu deranja"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volum media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumul proiectării"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Sunete la pornire"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Subtitrări live"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Adaugă subtitrări automate la fișierele media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Difuzoarele telefonului"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Difuzoarele tabletei"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Difuzoarele dispozitivului"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Căști cu fir"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Sunetul de la dispozitivele media compatibile devine mai captivant"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Dezactivat"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Afișează integral conținutul notificărilor"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Afișează conținutul sensibil doar când ecranul este deblocat"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nu afișa nicio notificare"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Cum vrei să se afișeze ecranul de blocare?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ce vrei să se afișeze pe ecranul de blocare?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ecran de blocare"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Afișează tot conținutul notificărilor de serviciu"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ascunde conținutul de lucru sensibil"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"S-au eliminat conversațiile recente"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Conversația a fost eliminată"</string>
     <string name="clear" msgid="5092178335409471100">"Șterge"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Șterge <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Conversațiile cu prioritate și cele modificate vor apărea aici"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"După ce marchezi o conversație ca având prioritate sau modifici conversațiile în orice alt mod, acestea vor apărea aici. \n\nPentru a modifica setările conversațiilor: \nglisează în jos din partea de sus a ecranului pentru a deschide panoul de notificări tras în jos, apoi atinge lung o conversație."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizează"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Reducerea volumului notificărilor"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Aplică reducerea volumului tuturor notificărilor"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Redu treptat volumul notificărilor când primești multe notificări succesive de la aceeași aplicație"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Aplică reducerea volumului conversațiilor"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Redu treptat volumul notificărilor când primești multe mesaje din același chat într-un interval de timp scurt"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nu folosi reducerea volumului notificărilor"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nu reduce niciodată volumul notificărilor, indiferent de numărul de notificări succesive de la aceeași aplicație"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrează la deblocare"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrează doar când ecranul este deblocat"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Aplică profilurilor de serviciu"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Aplică setările pentru reducerea volumului notificărilor din profilul personal în profilul de serviciu"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Servicii de ajutor pentru RV"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nicio aplicație instalată nu a solicitat să fie rulată ca un serviciu de ajutor pentru RV."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Permiți accesul la serviciul RV pentru <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Dezactivată"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fixarea aplicației"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Cu ajutorul fixării aplicației, poți fixa aplicația actuală pentru a rămâne vizibilă până la anularea fixării. Această funcție poate fi folosită, de exemplu, pentru a-i permite unui prieten de încredere să joace un anumit joc."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Atunci când o aplicație este fixată, aceasta poate deschide alte aplicații și pot fi accesate date cu caracter personal. \n\nPentru a folosi fixarea aplicației: 	\n1. activează fixarea aplicației; 	\n2. deschide Recente; 	\n3. atinge pictograma aplicației din partea de sus a ecranului, apoi atinge Fixează."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Atunci când o aplicație este fixată, aceasta poate deschide alte aplicații și pot fi accesate date cu caracter personal. \n\nDacă vrei să permiți în siguranță accesul cuiva la dispozitivul tău, folosește un utilizator invitat. \n\nPentru a folosi fixarea aplicației: 	\n1. activează fixarea aplicației; 	\n2. deschide Recente; 	\n3. atinge pictograma aplicației din partea de sus a ecranului, apoi atinge Fixează."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Atunci când o aplicație este fixată, aceasta poate deschide alte aplicații și pot fi accesate date cu caracter personal. \n\nPentru a folosi fixarea aplicației: 	\n{0,number,integer}. activează fixarea aplicației; 	\n{1,number,integer}. deschide Prezentare generală; 	\n{2,number,integer}. atinge pictograma aplicației din partea de sus a ecranului, apoi atinge Fixează."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Atunci când o aplicație este fixată, aceasta poate deschide alte aplicații și pot fi accesate date cu caracter personal. \n\nDacă dorești să permiți în siguranță accesul cuiva la dispozitivul tău, folosește un utilizator invitat. \n\nPentru a folosi fixarea aplicației: 	\n{0,number,integer}. activează fixarea aplicației; 	\n{1,number,integer}. deschide Prezentare generală; 	\n{2,number,integer}. atinge pictograma aplicației din partea de sus a ecranului, apoi atinge Fixează."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Atunci când o aplicație este fixată: \n\n•		pot fi accesate date cu caracter personal \n		(cum ar fi agenda și conținutul e-mailurilor); \n•		aplicația fixată poate deschide alte aplicații. \n\nFolosește fixarea aplicației numai cu persoane în care ai încredere."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Solicită mai întâi modelul pentru deblocare"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Solicită codul PIN înainte de a anula fixarea"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Solicită parola înainte de a anula fixarea"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Blochează dispozitivul la anularea fixării"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Confirmă ștergerea profilului SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Confirmă că vrei să ștergi eSIM-ul"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Confirmă-ți identitatea înainte să ștergi un eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Protecția avansată a memoriei beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Protecția avansată a memoriei"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Setările aplicațiilor nefolosite"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Întrerupe activitatea în aplicațiile nefolosite"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Elimină permisiunile, șterge fișierele temporare și oprește notificările"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Gestionează aplicația dacă nu e folosită"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Elimină permisiunile, șterge fișierele temporare, oprește notificările și arhivează aplicația"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Toate aplicațiile"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplicații instalate"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplicații instantanee"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Disponibilă"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memorie utilizată de aplicații"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplicație a folosit memorie în ultima {time}}few{# aplicații au folosit memorie în ultima {time}}other{# de aplicații au folosit memorie în ultima {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Permite profilurile de utilizare a memoriei"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilurile de utilizare a memoriei necesită resurse de sistem suplimentare."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"S-au dezactivat profilurile de memorie"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frecvență"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Utilizare maximă"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nu s-au folosit date"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Afișare peste alte aplicații"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Permite afișarea peste alte aplicații"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Permite acestei aplicații să se afișeze peste alte aplicații pe care le folosești. Aceasta poate vedea unde atingi sau poate schimba ceea ce apare pe ecran."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Schimbă ieșirea media"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Permite aplicației să schimbe ieșirea media"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Permite aplicației să aleagă dispozitivul conectat care redă conținut audio sau video din alte aplicații. Dacă acorzi această permisiune, aplicația poate să acceseze lista dispozitivelor disponibile, cum ar fi căștile și difuzoarele, și să aleagă dispozitivul de ieșire folosit pentru a reda în stream sau a proiecta conținut audio sau video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Acces la toate fișierele"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Permite gestionarea fișierelor"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Permite aplicației să citească, să modifice și să șteargă toate fișierele de pe dispozitiv sau din spațiile de stocare conectate. Dacă îi permiți, aplicația poate accesa fișierele fără consimțământul tău explicit."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Poate accesa toate fișierele"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplicații cu activare vocală"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Permite activarea vocală"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Activarea vocală pornește aplicațiile aprobate în modul hands-free, prin comenzi vocale. Detectarea adaptivă protejată încorporată se asigură că datele tale rămân private și doar tu poți să le vezi.\n\n"<a href="">"Mai multe despre detectarea adaptivă protejată"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Notificări pe ecran complet"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Permite notificările pe ecran complet de la această aplicație"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Permite aplicației să afișeze notificări care ocupă întregul ecran când dispozitivul e blocat. Aplicațiile le pot folosi pentru a evidenția alarme, apeluri primite sau alte informații urgente."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Avertisment pentru date: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Limită de date: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Avertisment pentru date: <xliff:g id="ID_1">^1</xliff:g> / Limită de date: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Cuantificarea datelor de către operator poate fi diferită de cea de pe dispozitiv"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Sunt excluse datele folosite în rețele de operator"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Date utilizate: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Setează avertisment pentru date"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Actualizat acum <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Actualizat de <xliff:g id="ID_1">^1</xliff:g> chiar acum"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Actualizat chiar acum"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Afișează planul"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Vezi detaliile"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Economizor de date"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Date nerestricționate"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a consumat mai multă baterie decât de obicei în fundal"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a consumat mai multă baterie în prim-plan"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> a consumat mai multă baterie decât de obicei în prim-plan"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomalie în utilizarea bateriei"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Utilizare intensă a bateriei"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Utilizare intensă a bateriei în fundal"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Utilizare intensă a bateriei în prim-plan"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Casete dezvoltator pentru setări rapide"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Dezactivează expirarea autorizării adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Dezactivează revocarea automată a autorizărilor adb pentru sistemele care nu s-au reconectat în timpul prestabilit (șapte zile) sau configurat de utilizator (minimum o zi)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Urmă Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzori dezactivați"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Setările profilului de serviciu"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Caută persoane de contact din directorul de serviciu în aplicațiile personale"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigarea sistemului, navigare cu 2 butoane, navigare cu 3 butoane, navigare prin gesturi, glisare"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistent digital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Glisează pentru a invoca asistentul"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Glisează în sus dintr-un colț de jos pentru a invoca aplicația asistent digital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Glisează în sus dintr-un colț de jos pentru a invoca aplicația asistent digital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Ține apăsat butonul ecran de pornire pentru Asistent"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Apasă lung butonul ecran de pornire pentru a invoca aplicația asistent digital."</string>
     <string name="low_label" msgid="6525629096999711220">"Scăzută"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Serviciu de completare automată"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Serviciu de completare automată prestabilit"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Parole"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Parole, chei de acces și servicii de date"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Furnizori suplimentari"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Serviciul preferat"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Servicii suplimentare"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# parolă}few{# parole}other{# de parole}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automată, completare, completare automată, parolă"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"date, cheie de acces, parolă"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, completare, completare automată, date, cheie de acces, parolă"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Modifică"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Deschide"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Niciuna selectată"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Asigură-te că ai încredere în această aplicație&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Completarea automată Google&gt;%1$s&lt;/xliff:g&gt; folosește conținutul de pe ecran pentru a stabili ce se poate completa automat."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Folosești &lt;xliff:g id=app_name example=Furnizorul&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Furnizorul&gt;%1$s&lt;/xliff:g&gt; folosește elementele de pe ecran pentru a stabili ce se poate completa automat. De acum înainte, parolele noi, cheile de acces și alte informații se vor salva aici."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Parole, chei de acces și servicii de date"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Folosește &lt;xliff:g id=app_name example=Furnizorul&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Noile parole, chei de acces și alte informații se vor salva aici de acum înainte. &lt;xliff:g id=app_name example=Furnizorul&gt;%1$s&lt;/xliff:g&gt; poate folosi ce se află pe ecran pentru a stabili ce se poate completa automat."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Serviciul preferat pentru parole, chei de acces și completare automată"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Dezactivezi %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Dezactivezi serviciul?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Informațiile salvate, cum ar fi parole, chei de acces, metode de plată și altele, nu vor fi completate când te conectezi. Pentru a folosi informațiile salvate, alege o parolă, o cheie de acces sau un serviciu de date."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Parole, chei de acces și completare automată"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Dezactivezi toate serviciile?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Parolele, cheile de acces și alte informații salvate nu vor fi disponibile pentru completare automată când te conectezi"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Schimbă serviciul preferat la &lt;xliff:g id=app_name example=Furnizor&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Noile parole, chei de acces și alte informații se vor salva aici de acum încolo. &lt;xliff:g id=app_name example=Furnizorul&gt;%1$s&lt;/xliff:g&gt; poate folosi ce se află pe ecran pentru a stabili ce se poate completa automat"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Folosești %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Dezactivează"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Modifică"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Poți avea doar cinci servicii activate"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Dezactivează cel puțin un serviciu ca să adaugi altul"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s folosește elementele de pe ecran ca să afle ce se poate completa automat."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limita pentru parole, chei de acces și servicii de date"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Poți avea până la cinci parole, chei de acces și servicii de date active simultan. Dezactivează un serviciu pentru a adăuga mai multe."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limita pentru parole, chei de acces și servicii de date"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Poți avea până la cinci parole, chei de acces și servicii de date active simultan. Dezactivează un serviciu pentru a adăuga mai multe."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Dezactivează"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Completare automată"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Nivel de înregistrare"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Compatibilitatea aplicațiilor poate fi modificată numai pentru aplicațiile care pot fi remediate. Instalează o aplicație care poate fi remediată și încearcă din nou."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Depinde de altă setare"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Cont"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d conturi"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Numele dispozitivului"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informații de bază"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legislație și reglementări"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Permite lansarea aplicației la scanarea unei etichete NFC.\nDacă permisiunea este activată, aplicația va fi disponibilă ca opțiune oricând este detectată o etichetă."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Redă media către"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Redă <xliff:g id="LABEL">%s</xliff:g> pe"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio se va reda pe"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Acest dispozitiv"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Indisponibil în timpul apelurilor"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Preia apelul pe"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Dezactivezi sunetul"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Pentru activare, mai întâi modifică opțiunea Apasă lung butonul de pornire din meniul de pornire."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detalii despre rețea"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Numele dispozitivului este vizibil pentru aplicațiile de pe telefon. 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="devices_title" msgid="649715719278562515">"Dispozitive"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Alege o rețea"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Deconectată"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nume"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Culoare (folosită de aplicațiile compatibile)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Salvează"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Folosește cardul SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Folosește acest card SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Dezactivat"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Pentru a dezactiva acest SIM, îndepărtează cardul SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Atinge pentru a activa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Șterge SIM-ul"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Pentru a dezactiva acest SIM, scoate cardul SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Atinge pentru a activa SIM-ul <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Șterge eSIM-ul"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tipul de rețea preferat"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Schimbă modul de operare a rețelei"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tipul de rețea preferat"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Consultă furnizorul de rețea în privința prețurilor."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Utilizarea datelor în aplicație"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Mod nevalid de rețea <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignoră."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Mesaje prin satelit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Trimite și primește mesaje text prin satelit. Opțiunea este inclusă în contul tău."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Trimite și primește mesaje text prin satelit. Opțiunea nu este inclusă în contul tău."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Mesaje prin satelit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Despre mesajele prin satelit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Dacă ai un cont <xliff:g id="CARRIER_NAME">%1$s</xliff:g> eligibil, poți să trimiți și să primești mesaje text prin satelit"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Planul tău <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Mesajele prin satelit sunt incluse în contul tău"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Mesajele prin satelit nu sunt incluse în contul tău"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Adaugă transmiterea mesajelor prin satelit"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Cum funcționează"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Când nu este disponibilă o rețea mobilă"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefonul se va conecta automat la un satelit. Pentru o conexiune optimă, trebuie să vezi cerul clar."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"După conectarea telefonului la un satelit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Poți să trimiți mesaje oricui, inclusiv serviciilor de urgență. Telefonul se va reconecta la o rețea mobilă când va fi disponibilă."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Trimiterea mesajelor prin satelit poate dura mai mult și este disponibilă doar în anumite zone. Condițiile meteo și anumite structuri pot afecta conexiunea prin satelit. Apelarea prin satelit nu este disponibilă.\n\nPoate dura un timp ca modificările aduse contului să apară în Setări. Contactează <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pentru detalii."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mai multe despre mesajele prin satelit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Numele punctelor de acces"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Indisponibil când este conectat la <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Treci la <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Folosești cardul SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Folosești <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Doar un SIM poate fi activ odată.\n\nCând treci la <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, nu se anulează serviciul <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Doar un eSIM poate fi activ la un moment dat.\n\nTrecerea la <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nu va anula serviciul <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Doar un SIM poate fi activ odată.\n\nDacă faci această schimbare, nu se anulează serviciul <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Doar un card SIM poate fi activ la un moment dat.\n\nTrecerea la <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nu va anula serviciul <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Doar un eSIM poate fi activ la un moment dat.\n\nTrecerea la <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nu va anula serviciul <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Doar un card SIM poate fi activ la un moment dat.\n\nTrecerea la un alt operator nu va anula serviciul <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Poți folosi două carduri SIM în același timp. Ca să folosești <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, dezactivează un alt SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Treci la <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Dezactivează <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Dacă dezactivezi un card SIM, nu se anulează serviciul"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Se conectează la rețea…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Se trece la <xliff:g id="CARRIER_NAME">%1$s</xliff:g> pentru apeluri și mesaje…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Nu poți schimba operatorul"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Nu poți schimba operatorul din cauza unei erori."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Se activează SIM-ul…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Se trece la <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Nu poți schimba SIM-urile"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"A apărut o eroare. Nu poți schimba SIM-urile."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Dezactivezi <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Dezactivezi SIM-ul?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Se dezactivează cardul SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Nu se poate dezactiva operatorul"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"A apărut o eroare și operatorul tău nu a putut fi dezactivat."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Nu se poate dezactiva SIM-ul"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"A apărut o eroare și SIM-ul nu a putut fi dezactivat."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Folosești două carduri SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Acest dispozitiv poate avea două carduri SIM active simultan. Pentru a folosi în continuare câte un card SIM odată, atingeți „Nu, mulțumesc”."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Repornești dispozitivul?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nu, mulțumesc"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Anulează"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Schimbă"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Dezactivează"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Nu se poate activa SIM-ul"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Încearcă din nou să activezi SIM-ul. Dacă problema persistă, repornește dispozitivul."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Configurează cardul SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Setează preferințele privind rețeaua mobilă pentru a folosi mai multe carduri SIM pe acest dispozitiv"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etichetează-ți cardurile SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Vei vedea aceste etichete când apelezi, trimiți mesaje și folosești date, precum și în Setări"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etichetă SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etichetă"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Selectează cardurile SIM"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Poți folosi două carduri SIM în același timp"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Setează cardurile SIM principale"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Alege ce carduri SIM folosești în mod prestabilit pentru apeluri, mesaje și date"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Cardurile SIM principale"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Apeluri"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mesaje text"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Comutarea automată a datelor"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Folosește date de pe orice card SIM, în funcție de acoperire și de disponibilitate"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Numai pentru date"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Configurează"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Înainte"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Se activează <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rețea mobilă"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Număr de telefon"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Culoarea și eticheta SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Activarea rețelei"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Schimbarea operatorului"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> este activ"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-ul <xliff:g id="CARRIER_NAME">%1$s</xliff:g> este activ"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Atinge pentru a actualiza setările SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Ai trecut la <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Ai trecut la alt operator"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Rețeaua ta mobilă s-a modificat"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Configurați-vă celălalt card SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Alege cardul SIM activ sau folosește două carduri SIM în același timp"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Alege un număr"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Pe dispozitiv este disponibil un număr, însă numai unul poate fi folosit odată}=2{Pe dispozitiv sunt disponibile două numere, însă numai unul poate fi folosit odată}few{Pe dispozitiv sunt disponibile # numere, însă numai unul poate fi folosit odată}other{Pe dispozitiv sunt disponibile # de numere, însă numai unul poate fi folosit odată}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Se activează<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Nu s-a putut activa în acest moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Alege un card SIM pe care să-l folosești"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Pe dispozitiv este disponibil un card SIM, însă numai unul poate fi folosit la un moment dat}=2{Pe dispozitiv sunt disponibile două carduri SIM, însă numai unul poate fi folosit la un moment dat}few{Pe dispozitiv sunt disponibile # carduri SIM, însă numai unul poate fi folosit la un moment dat}other{Pe dispozitiv sunt disponibile # de carduri SIM, însă numai unul poate fi folosit la un moment dat}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Se activează<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Momentan, nu se poate activa cardul SIM"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Folosești <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> va fi folosit pentru date mobile, apeluri și SMS-uri."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nu există carduri SIM disponibile"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Pentru a folosi datele mobile, funcțiile de apel și SMS-urile mai târziu, accesează setările pentru rețea"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Ștergi acest eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Dacă ștergi acest SIM, vei elimina serviciul <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> de pe acest dispozitiv.\n\nServiciile <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nu vor fi anulate."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Astfel, serviciile <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> vor fi eliminate de pe acest dispozitiv, dar planul <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nu va fi anulat."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Șterge"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Se șterge SIM-ul…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Nu se poate șterge SIM-ul"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Acest SIM nu poate fi șters din cauza unei erori.\n\nRepornește dispozitivul și încearcă din nou."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Se șterge eSIM-ul…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Nu se poate șterge eSIM-ul"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"A apărut o eroare și eSIM-ul nu a fost șters.\n\nRepornește dispozitivul și încearcă din nou."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Conectează la dispozitiv"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplicația <xliff:g id="APPNAME">%1$s</xliff:g> vrea să folosească o rețea Wi-Fi temporară pentru a se conecta la dispozitiv"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nu s-au găsit dispozitive. Asigură-te că dispozitivele sunt pornite și gata de conectare."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Apeluri de urgență"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Apelurile de urgență prin Apelare prin Wi-Fi nu sunt acceptate de operator.\nDispozitivul comută automat la o rețea mobilă pentru a face un apel de urgență.\nApelurile de urgență sunt posibile numai în zonele cu acoperire a rețelelor de telefonie mobilă."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Folosește Wi-Fi pentru apeluri ca să îmbunătățești calitatea"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Metodă de apelare de rezervă"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Dacă <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> sau roamingul nu este disponibil, folosește SIM-ul de date mobile pentru apeluri prin <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"metodă de apelare de rezervă"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mesaj MMS primit"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Nu se poate trimite mesajul MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Atinge pentru a permite mesageria MMS pentru <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> când datele mobile sunt dezactivate"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informații despre politica de serviciu"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Setări gestionate de administratorul IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Repornește cu pagini pe 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Repornește cu nucleu compatibil cu pagini pe 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Repornești cu un nucleu compatibil cu pagini pe 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"AVERTISMENT: e posibil ca unele aplicații să nu fie compatibile cu acest mod. Dispozitivul va reporni după confirmare."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Repornești cu un nucleu compatibil cu pagini pe 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Dispozitivul va reporni după confirmare."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Nu s-a putut actualiza nucleul la unul compatibil cu pagini pe 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Se aplică modificarea"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Handler pentru rapoartele de eroare"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Stabilește ce aplicație gestionează comanda rapidă pentru Raportul de eroare pe dispozitivul tău."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Permite aplicații care se pot afișa deasupra altora prin suprapunerea pe ecranele de Setări"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Permite modemul de testare"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Permite dispozitivului să ruleze serviciul de modem de testare pentru testarea codului de măsurare. Nu activa această funcție în timpul folosirii normale a telefonului."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Dezactivează protecțiile pentru permiterea accesului la ecran"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Dezactivează protecțiile pentru aplicații și notificări aplicate de sistem în timpul permiterii accesului la ecran"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fixează playerul media"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Pentru a relua rapid redarea, playerul media rămâne deschis în Setări rapide"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Afișează conținutul media pe ecranul de blocare"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Pentru a relua rapid redarea, playerul media rămâne deschis pe ecranul de blocare"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Afișează recomandările de conținut media"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Afișează recomandările Asistentului privind conținutul media"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Pe baza activității tale"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ascunde playerul"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Afișează playerul"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Permite extensiile de software pentru camera foto"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Activează implementarea software prestabilită a funcțiilor avansate pentru camera foto, precum videografia Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth se va activa"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Carduri SIM"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Cartele eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Activ"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inactiv"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Activat"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Dezactivat"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Prestabilit pentru <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"apeluri"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Sunetul de la dispozitivele media compatibile devine mai captivant"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Urmărirea mișcărilor capului"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Sunetul se modifică pe măsură ce miști capul, pentru o experiență mai naturală"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Permisiunile de sincronizare"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Acordă pentru <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> aceleași permisiuni pentru aplicație pe care le ai pe <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sincronizează permisiunile de pe telefon"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Oferă-i ceasului aceleași permisiuni pentru aplicație pe care le-ai oferit pe telefon"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Tipul de dispozitiv audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Necunoscut"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Difuzor"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Mediu"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Ridicat"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Aplicația se poate deschide într-o singură fereastră"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Funcție activată"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Funcție dezactivată"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Comandă rapidă dezactivată"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Dezactivată"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Activată"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Dezactivată"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Activată"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Dezactivată"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Întunecă ecranele luminoase și deschide ecranele întunecate"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Mărește ecranul"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Dezactivată"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Dezactivată"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Se caută aplicații înșelătoare"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Verifică activitatea în aplicații pentru phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Folosește detectarea aplicațiilor înșelătoare"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Folosește detectarea aplicațiilor înșelătoare pentru serviciu"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Parola a fost configurată"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Afișează indicatorul cât timp este plasat cursorul"</string>
 </resources>
diff --git a/res/values-ru/arrays.xml b/res/values-ru/arrays.xml
index b4b05f1..869ce51 100644
--- a/res/values-ru/arrays.xml
+++ b/res/values-ru/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Доступно"</item>
     <item msgid="6096962300722555553">"Вне диапазона"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Использовать значение по умолчанию: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Через 1 минуту"</item>
     <item msgid="1574040255478150028">"Через 5 минут"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ru/strings.xml b/res/values-ru/strings.xml
index 4d1fab7..0c00f36 100644
--- a/res/values-ru/strings.xml
+++ b/res/values-ru/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Вы стали разработчиком!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Не нужно, вы уже разработчик."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Сначала включите параметры для разработчиков."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Доступ к настройкам для разработчиков есть только у администраторов."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Система"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"В зоне обслуживания"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Вне зоны обслуживания"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Передний экран включается при складывании устройства"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Только игры, видео и т. п."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Передний экран включается для приложений, которые не дают используемому экрану перейти в режим ожидания"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Если провести по экрану вверх"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Сложите телефон и проведите по переднему экрану вверх, чтобы продолжить использовать приложение, или подождите несколько секунд, чтобы экран заблокировался"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Никогда"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Передний экран блокируется при складывании устройства"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Включить автоповорот"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Похожие"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Рингтон и будильники"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Звук во время звонков"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Мультимедиа"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Уведомления и системные звуки"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Медиа и системные звуки"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Уведомления"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"По умолчанию параметры вывода звука определяются отдельными приложениями."</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Bluetooth-устройство без названия"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Поиск"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Отмена"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Отключить Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Отключить Bluetooth LE Audio, если доступны аппаратные возможности"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Режим Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Переключатель LE Audio в сведениях об устройстве"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Включить список разрешений Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Включить функцию \"Список разрешений Bluetooth LE Audio\""</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Обходить белый список Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Использовать LE Audio по умолчанию, даже если периферийное устройство LE Audio не соответствует критериям белого списка"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медиаустройства"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Устройства для совершения звонков"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Другие устройства"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сохраненные устройства"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Связано с аккаунтом"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Уже использовались с аккаунтом"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Будет включен Bluetooth"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Настройки подключения"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Ранее подключенные устройства"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Модуль Bluetooth включен"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Показать все"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Показать все"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Нажатие кнопки на конце стилуса"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (рабочий профиль)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Разрешить рукописный ввод в текстовых полях"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Игнорировать нажатия кнопок стилусом"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Передача аудио"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Передавать аудио"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Звонки и будильники"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Подключиться к аудиопотоку, используя QR-код"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Аудиопотоки поблизости не найдены."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Дата и время"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси-сервер"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Очистить"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Добавить %s в предпочтительные языки?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Приложения и сайты смогут узнавать, что этот язык есть в вашем списке предпочитаемых."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Региональные настройки и другие параметры устройства будут изменены."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Изменить"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s недоступен"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Суббота"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Если в приложении нельзя выбрать регион, будут использоваться настройки по умолчанию."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Узнайте больше о языковых настройках"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Дополнительные настройки"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Форма обращения"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Укажите предпочтительную форму обращения."</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Информация о том, какую форму обращения вы предпочитаете, может использоваться для персонализации приложений."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Не указано"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"В женском роде"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"В мужском роде"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Нейтральные"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Удалить выбранный язык?}one{Удалить выбранные языки?}few{Удалить выбранные языки?}many{Удалить выбранные языки?}other{Удалить выбранные языки?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текст будет показан на другом языке."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Невозможно удалить все языки"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Местоположение"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Определять местоположение"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Откл."</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Включено. Доступ к данным о местоположении есть у # приложения.}one{Включено. Доступ к данным о местоположении есть у # приложения.}few{Включено. Доступ к данным о местоположении есть у # приложений.}many{Включено. Доступ к данным о местоположении есть у # приложений.}other{Включено. Доступ к данным о местоположении есть у # приложения.}}"</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_location_off" msgid="8568995909147566720">"Доступ к данным о местоположении для приложений и сервисов отключен. Если вы позвоните по номеру экстренной службы или отправите на него сообщение, данные о местоположении вашего устройства могут быть переданы спасателям."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Подробнее о настройках местоположения…"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Подробнее о настройках местоположения…"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Настроить доступ к геоданным можно в разделе \"Настройки &gt; Безопасность и конфиденциальность &gt; Настройки конфиденциальности\""</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Аккаунты"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Безопасность"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифрование и учетные данные"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Рекомендуем использовать защитное стекло или пленку из серии \"Сделано для Google\". Устройства с другими стеклами или пленками могут не распознавать отпечаток пальца ребенка."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Разблокировка с помощью часов"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Если вы настроили фейсконтроль и разблокировку по отпечатку пальца, телефон будет предлагать использовать отпечаток, когда вы в маске или вокруг вас темно.\n\nВы можете снимать блокировку с помощью часов, когда у системы не получается распознать ваше лицо или отпечаток пальца."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Вы можете снимать блокировку с помощью часов, когда системе не удается распознать ваш отпечаток пальца."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Вы можете снимать блокировку с помощью часов, когда системе не удается распознать ваше лицо."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Если вы настроили фейсконтроль и разблокировку по отпечатку пальца, то отпечаток будет запрашиваться, когда вы в маске или вокруг вас темно.\n\nС помощью часов удобно разблокировать телефон в различных ситуациях, например когда у вас мокрые пальцы или не распознается лицо."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"С помощью часов удобно разблокировать телефон в различных ситуациях, например когда не распознается отпечаток пальца."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"С помощью часов удобно разблокировать телефон в различных ситуациях, например когда не распознается лицо."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Используйте отпечаток пальца или часы, чтобы"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Используйте фейсконтроль или часы, чтобы"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Способы использования"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"С помощью часов удобно разблокировать телефон в различных ситуациях, например когда у вас мокрые пальцы или не распознается лицо.\n\nНиже описано, как использовать эту функцию."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Не сейчас"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Продолжить"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Ещё"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Описание функции"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Часы должны быть разблокированы, а также находиться на вашем запястье и рядом с телефоном. Пока часы на запястье, они не блокируются заново."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Если телефон разблокирован с помощью часов, на них появляется уведомление. Вы можете нажать на него, чтобы снова заблокировать телефон."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Управление функцией"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Если вы больше не хотите снимать блокировку с помощью часов, удалите их в настройках."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Нажмите на уведомление"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Проведите вверх по заблокированному экрану"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Выберите часы"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Доступные часы"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Отмена"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Подтвердить"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Готово!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Теперь вы можете использовать часы для разблокировки телефона, когда проводите вверх по его заблокированному экрану или нажимаете на уведомление."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Готово"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Разблокировка с помощью часов"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Вы можете использовать часы для разблокировки телефона, когда проводите вверх по заблокированному экрану или нажимаете на уведомление."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Чтобы вы могли использовать разблокировку с помощью часов, они должны быть разблокированы, а также находиться на вашем запястье и рядом с подключенным к ним телефоном. Если соединение прервется, вам потребуется разблокировать телефон, прежде чем использовать разблокировку с помощью часов.\n\nВажно!\nТелефон нельзя связать с несколькими часами одновременно. Чтобы добавить часы, удалите уже подключенные."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Фейсконтроль и отпечаток пальца для работы"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Требуется настройка"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Безопасность"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Конфиденциальность"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Рабочий профиль"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Личное пространство"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Спрячьте приложения в личное пространство и закройте доступ к нему"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Создайте отдельное пространство для личных приложений, которое можно скрыть или защитить с помощью блокировки."</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Блокировка личного пространства"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Для личного пространства можно установить тот же способ разблокировки, который используется для экрана, или выбрать другой."</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Использовать способ блокировки, как на устройстве"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Фейсконтроль и разблокировка по отпечатку пальца"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Разблокировка по отпечатку пальца"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Фейсконтроль"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Нажмите, чтобы настроить"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Разблокировка по отпечатку пальца для личного пространства"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Фейсконтроль для личного пространства"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Способы разблокировки"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Тот же способ блокировки, что и для экрана устройства"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Изменить способ блокировки личного пространства?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Автоматически блокировать личное пространство"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Можно сделать так, чтобы личное пространство автоматически блокировалось, если вы не используете устройство какое-то время."</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Каждый раз при блокировке устройства"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Через 5 минут бездействия"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Никогда"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Скрывать, когда доступ заблокирован"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Скрывать личное пространство, если оно заблокировано"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Вы можете скрыть личное пространство из списка приложений на устройстве. Так никто не узнает, что вы пользуетесь этой функцией."</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Доступ к личному пространству, когда оно скрыто"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"В списке приложений введите запрос \"личное пространство\"."</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Выберите параметр \"Личное пространство\"."</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Разблокируйте личное пространство."</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Отключено"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Включено"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Удалить личное пространство"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Удалить личное пространство?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Личное пространство будет удалено с устройства. Все связанные с пространством приложения и данные будут удалены. Это действие нельзя отменить."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Перечисленные ниже аккаунты будут удалены из вашего личного пространства."</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Удалить"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Удаление личного пространства"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Это займет некоторое время."</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Личное пространство удалено."</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Не получилось удалить личное пространство."</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Личное пространство разблокировано."</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Настройте блокировку экрана"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Чтобы использовать личное пространство, настройте блокировку экрана на этом устройстве."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Настроить"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Отмена"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Отмена"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Создать"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Создайте личное пространство"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Создайте отдельное пространство для личных приложений, которое можно скрыть или защитить с помощью блокировки."</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Как это работает"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Личное пространство находится в нижней части списка приложений"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Доступ к личному пространству защищен с помощью блокировки"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Когда доступ к личному пространству заблокирован, уведомления из добавленных в него приложений скрываются"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Приложения, добавленные в личное пространство, не показываются в разделе \"Управление разрешениями\", на панели управления разрешениями и в других настройках, когда доступ к личному пространству заблокирован.\n\nЛичное пространство нельзя перенести на другое устройство. Для этого потребуется создать новое личное пространство.\n\nДоступ к вашему личному пространству может получить человек, который установит на вашем устройстве вредоносные приложения или подключит его к компьютеру."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Создание личного пространства…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Когда личное пространство заблокировано, уведомления из добавленных в него приложений скрываются"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Чтобы делиться фотографиями и файлами, разблокируйте личное пространство"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"В вашем личном пространстве уже установлены некоторые приложения"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Не удалось создать личное пространство"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Повторить попытку"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Использовать способ, настроенный для экрана?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Для личного пространства можно установить тот же способ, который используется для блокировки экрана, или выбрать другой."</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Использовать способ, настроенный для экрана"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Выбрать другой способ"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Готово"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Чтобы найти личное пространство, перейдите в список приложений и прокрутите экран вниз."</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Чтобы найти личное пространство, прокрутите экран вниз."</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Войти"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Войдите в аккаунт, в котором хотите использовать личное пространство."</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Не сейчас"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Продолжить"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Выберите способ разблокировки доступа к личному пространству"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Вы можете разблокировать личное пространство с помощью отпечатка пальца. В целях безопасности потребуется установить дополнительный способ разблокировки."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Задайте PIN-код для личного пространства"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Задайте пароль для личного пространства"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Создайте ключ для личного пространства"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Максимальное количество отпечатков пальца, которые можно добавить: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Вы уже добавили максимальное количество отпечатков"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Больше нельзя добавить отпечатки пальцев"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Графический ключ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-код"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Пароль"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Не использовать блокировку экрана?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Отключить все способы разблокировки устройства?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Отключить защиту профиля?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Графический ключ защитит данные на телефоне в случае его потери или кражи."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Графический ключ защитит данные на телефоне в случае его потери или кражи.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Модель отпечатка пальца, сохраненная на устройстве, будет удалена. Модель вашего лица также будет безвозвратно удалена. Вы не сможете пользоваться фейсконтролем и отпечатком пальца для аутентификации в приложениях."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-код защитит данные на телефоне в случае его потери или кражи."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN-код и другие сохраненные данные будут потеряны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карты, установленные для бесконтактной оплаты, будут удалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кошельки и другие приложения, для использования которых нужна разблокировка устройства, могут работать неправильно."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-код защитит данные на телефоне в случае его потери или кражи.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модель отпечатка пальца, сохраненная на устройстве, также будет удалена. Вы не сможете пользоваться отпечатком пальца для аутентификации в приложениях."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN-код, модель отпечатка и другие сохраненные данные будут потеряны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карты, установленные для бесконтактной оплаты, будут удалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кошельки и другие приложения, для использования которых нужна разблокировка устройства, могут работать неправильно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-код защитит данные на телефоне в случае его потери или кражи.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модель вашего лица также будет безвозвратно удалена. Вы не сможете пользоваться фейсконтролем для аутентификации в приложениях."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN-код, модель лица и другие сохраненные данные будут потеряны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карты, установленные для бесконтактной оплаты, будут удалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кошельки и другие приложения, для использования которых нужна разблокировка устройства, могут работать неправильно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-код защитит данные на телефоне в случае его потери или кражи.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модель отпечатка пальца, сохраненная на устройстве, будет удалена. Модель вашего лица также будет безвозвратно удалена. Вы не сможете пользоваться фейсконтролем и отпечатком пальца для аутентификации в приложениях."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN-код, модели лица и отпечатка, а также другие сохраненные данные будут потеряны.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Карты, установленные для бесконтактной оплаты, будут удалены.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Кошельки и другие приложения, для использования которых нужна разблокировка устройства, могут работать неправильно."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Пароль защитит данные на телефоне в случае его потери или кражи."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Пароль защитит данные на телефоне в случае его потери или кражи.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Подключить устройство <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Добавить участника в скоординированную группу"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Подтвердите добавление второго компонента вашего аудиоустройства."</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Код подключения Bluetooth:"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Введите код подключения и нажмите клавишу ввода"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-код содержит буквы или символы"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Должно быть 16 цифр"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Возможно, потребуется ввести PIN-код на другом устройстве."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Возможно, потребуется ввести ключ доступа на другом устройстве."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Подтвердите, чтобы подключиться к координированному набору."</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Подтвердите подключение аудиоустройства."</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Разрешить доступ к контактам и журналу звонков"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Разрешить доступ к контактам и журналу звонков"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Эта информация будет использоваться для оповещений о звонках и других функций"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Не удалось подключиться к <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Доступные устройства"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Подключить"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Отключить"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Установить соединение и подключить"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Функция Bluetooth позволяет устанавливать подключение к другим Bluetooth-устройствам."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Если Bluetooth включен, устройство может обмениваться данными с устройствами Bluetooth поблизости."</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Функция Bluetooth позволяет устанавливать подключение к устройствам Bluetooth поблизости.\n\nОбратите внимание, что для улучшения работы устройства, например повышения точности геолокации, приложения и сервисы могут искать устройства поблизости, даже если вы отключили Bluetooth. Чтобы запретить им это, отключите поиск устройств Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Изменить"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Об устройстве"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Разрешить ART проверять байт-код приложений, доступных для отладки"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Частота обновления"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показывать текущую частоту обновления экрана"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Показывать отношение HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Показывать текущее отношение HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Запрашивать разблокировку устройства для использования NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Режим полета"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Сообщать о наличии общедоступных сетей"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Сообщать о наличии общедоступных сетей с хорошим сигналом"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Разрешить сети с шифрованием WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP – это устаревший протокол безопасности с низким уровнем защиты"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Ваш оператор запрещает использовать сети с шифрованием WEP из-за их низкого уровня защиты"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Включать Wi‑Fi автоматически"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Включать Wi‑Fi в зоне действия сохраненных сетей (например, домашней) с хорошим сигналом"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Недоступно, поскольку доступ к данным о местоположении запрещен. "<annotation id="link">"Включите его"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Эта функция позволяет приложениям и сервисам искать беспроводные сети, даже когда Wi-Fi отключен. Это может использоваться, например, для улучшения работы функций и сервисов, которым нужны данные о местоположении."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Включить"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Поиск сетей Wi‑Fi включен."</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Эта сеть использует устаревший протокол безопасности с низким уровнем защиты."</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Сеть \"<xliff:g id="NAME">%1$s</xliff:g>\" заблокирована"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Для этой сети применяется устаревший протокол безопасности (WEP) с низким уровнем защиты. Если вы по-прежнему хотите подключиться, разрешите использовать сети с шифрованием WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Ваш оператор запрещает подключаться к этой сети, поскольку она использует устаревший протокол безопасности с низким уровнем защиты."</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Разрешить сети с WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Закрыть"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Расширенные настройки"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Раскрывающийся список расширенных настроек"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"развернуть"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Не отключаться от сети Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Больше не показывать"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Подключить"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi включен"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Устройство подключено к сети <xliff:g id="NETWORK_NAME">%1$s</xliff:g>."</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Подключение к сети \"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>\"…"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Подключение…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Не удалось подключиться к сети."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Вы не находитесь в зоне действия сети."</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Удалить"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Изменить"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Не удалось удалить сеть."</string>
     <string name="wifi_save" msgid="2312643132472226807">"Сохранить"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Не удалось сохранить сеть."</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Отмена"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобильный интернет"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – заряжается"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – заряжается"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Подключение к точке доступа"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Качество подключения"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Сохраненные сети"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Пароль не задан"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Название точки доступа"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Пароль точки доступа"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Диапазон частот Wi-Fi"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Автоматически выключать точку доступа"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Если нет подключенных устройств"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Расширенная совместимость"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс белого на экране"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Использовать приложения при складывании"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавный экран"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматически изменять частоту обновления экрана с 60 до <xliff:g id="ID_1">%1$s</xliff:g> Гц для некоторых типов контента. При этом батарея будет разряжаться быстрее."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Высокая частота кадров в играх"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Не ограничивать максимальную частоту кадров в играх на уровне <xliff:g id="FRAME_RATE">%1$d</xliff:g> Гц"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Плавный экран"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматически увеличивать частоту обновления экрана до <xliff:g id="ID_1">%1$d</xliff:g> Гц для некоторых типов контента. При этом батарея будет разряжаться быстрее."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Использовать пиковую частоту обновления"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Высокая частота обновления экрана улучшает ответ на касания и делает анимацию более плавной. При этом батарея разряжается быстрее."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Адаптивный спящий режим"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Когда адаптивный спящий режим включен, устройство определяет через фронтальную камеру, смотрит ли кто-то на экран. Эта функция работает на уровне устройства – изображения не сохраняются и не отправляются в Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Включить адаптивный спящий режим"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Не отключать экран, пока вы смотрите на него"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Чем дольше экран остается включенным, тем быстрее разряжается батарея."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камера заблокирована"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Для работы функции \"Распознавание лиц\" нужно разблокировать камеру."</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Чтобы адаптивный спящий режим работал, камера должна быть разблокирована"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI-код (слот SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI-код (слот SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (основной)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Для просмотра выберите сохраненную сеть"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI-код"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEISV-код"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Версия PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Уровень заряда батареи"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Совместные"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Совместные настройки"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Обмен сообщениями по спутниковой связи"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Точки доступа"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Изменить точку доступа"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Добавить точку доступа"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Не задано"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не указано"</string>
     <string name="apn_name" msgid="6677695784108157953">"Название"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN вкл."</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN выкл."</string>
     <string name="bearer" msgid="3231443241639159358">"Канал"</string>
+    <string name="network_type" msgid="748590707422733595">"Тип сети"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Не указан"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Тип MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Значение MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Удалить APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Сохранить"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Отмена"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Точка доступа уже существует."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Необходимо указать имя."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Необходимо указать APN."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Поле MCC должно содержать 3 цифры."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Поле MNC должно содержать 2 или 3 цифры."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Оператор запретил добавлять точки доступа этого типа (%s)."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Значение в поле MMSC недействительно."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Восстановление настроек APN по умолчанию..."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Сбросить настройки"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Настройки по умолчанию восстановлены."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Сбросить"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Настройки Bluetooth и Wi‑Fi сброшены."</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Удалить все данные eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Это действие не отменит ваши тарифные планы. Чтобы скачать новые SIM-карты, обратитесь к оператору связи."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Мобильный тариф сохранится. Чтобы получить новую SIM-карту, обратитесь к оператору."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Сбросить настройки"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Сбросить все настройки сети? Это действие нельзя отменить."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Сбросить все настройки сети и удалить карты eSIM? Это действие нельзя отменить."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Сбросить настройки?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Этот пользователь не может сбрасывать настройки сети"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Сетевые настройки сброшены"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Не удалось стереть данные SIM-карт"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Не удалось удалить карты eSIM из-за ошибки.\n\nПерезапустите устройство и повторите попытку."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Не получилось удалить eSIM-карты"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Не получилось удалить eSIM-карты.\n\nПерезапустите устройство и повторите попытку."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Удалить все данные"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Удалить все данные"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музыка;"</li>\n<li>"фото;"</li>\n<li>"другие данные."</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Вы не потеряете доступ к услугам оператора связи."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Вся личная информация и скачанные приложения будут удалены. Это действие нельзя отменить."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Вся личная информация, в том числе данные SIM-карт и скачанные приложения, будут удалены. Это действие нельзя отменить."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Вся личная информация, в том числе данные eSIM-карт и скачанные приложения, будет удалена. Это действие нельзя отменить."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Удалить все данные?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Этот пользователь не может выполнять сброс настроек"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Удаление…"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Точка доступа, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Доступ к Интернету закрыт для других устройств"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Отключено"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Режим модема"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не использовать точку доступа Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Предоставлять доступ к Интернету только через USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Предоставлять доступ к Интернету только через Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Предоставлять доступ к Интернету только через Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Предоставлять доступ к Интернету только через USB и Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Предоставлять доступ к Интернету только через USB и Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Предоставлять доступ к Интернету только через Bluetooth и Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Предоставлять доступ к Интернету только через USB, Bluetooth и Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-модем"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-модем"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-модем"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Точка доступа и режим модема позволяют подключать другие устройства к интернету через Wi-Fi или мобильную сеть. Приложения также могут создавать точки доступа, чтобы вы могли делиться контентом с устройствами поблизости."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Справка"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобильная сеть"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Тарифный план"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Приложение для SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Приложение для обмена SMS"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Использовать <xliff:g id="NEW_APP">%1$s</xliff:g> вместо <xliff:g id="CURRENT_APP">%2$s</xliff:g> для обмена SMS-сообщениями?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Сменить ассистента Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Использовать приложение \"<xliff:g id="NEW_APP">%1$s</xliff:g>\" вместо приложения \"<xliff:g id="CURRENT_APP">%2$s</xliff:g>\" для управления сетевыми подключениями?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Использовать приложение \"<xliff:g id="NEW_APP">%s</xliff:g>\" для управления сетевыми подключениями?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Неизвестный оператор связи"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"У оператора \"<xliff:g id="OPERATOR">%1$s</xliff:g>\" нет веб-сайта для синхронизации"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Вставьте SIM-карту и перезагрузите устройство"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Подключитесь к Интернету"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Последние запросы местоположения"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Геоданные для рабочего профиля"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Доступ приложений к геоданным"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Закрыть доступ"</string>
     <string name="controls_label" msgid="8671492254263626383">"Элементы управления"</string>
     <string name="force_stop" msgid="2681771622136916280">"Остановить"</string>
+    <string name="archive" msgid="9074663845068632127">"Отправить в архив"</string>
+    <string name="restore" msgid="7622486640713967157">"Восстановить"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Восстановление"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Восстановление."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Восстановление.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Восстановление..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Всего"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Размер приложения"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"На USB-накопителе"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Не удалось определить размер пакета."</string>
     <string name="version_text" msgid="7628938665256107608">"Версия <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Переместить"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Не удалось отправить в архив."</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Отправлено в архив: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>."</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Не удалось восстановить приложение."</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Восстановление приложения \"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\"…"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Другая операция переноса уже выполняется."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Недостаточно места."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Приложение не установлено."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Доступная экранная клавиатура"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Управление экранными клавиатурами"</string>
     <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="6922850403920596246">"Включите функцию специальных возможностей \"Контроль повторного нажатия\" для физической клавиатуры"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Медленные клавиши"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Включите функцию специальных возможностей \"Медленные клавиши\" для физической клавиатуры."</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Залипание клавиш"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Включите функцию специальных возможностей \"Залипание клавиш\" для физической клавиатуры"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Показывать варианты при нажатии в правом нижнем углу"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Скорость указателя"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Узнать о жестах на сенсорной панели"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Возврат на главный экран"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Проведите по сенсорной панели тремя пальцами вверх."</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Назад"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Сортировать по времени исп."</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Сортировать по посл. использ."</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Сортировать по названию"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Последнее использование"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Последнее использование"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"никогда"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Время использования"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Спец. возможности"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Настройки специальных возможностей"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Увеличение по тройному нажатию"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Увеличение с помощью кнопки"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увеличение с помощью кнопки и по тройному нажатию"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"О функции \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Используйте кнопку специальных возможностей"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Для запуска удерживайте кнопки громкости"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Для запуска нажмите трижды на экран"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Чтобы открыть, дважды нажмите на экран двумя пальцами"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Используйте жесты"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Используйте жест специальных возможностей"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Чтобы включить эту функцию, нажмите кнопку специальных возможностей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> в нижней части экрана.\n\nДля переключения между функциями нажмите и удерживайте эту кнопку."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Чтобы включить эту функцию, нажмите кнопку специальных возможностей."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Чтобы включить эту функцию, нажмите и удерживайте обе кнопки регулировки громкости."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Чтобы включить или отключить увеличение, трижды нажмите на любую область экрана."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Чтобы включить или отключить увеличение, дважды нажмите на любую область экрана двумя пальцами."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Чтобы включить эту функцию, проведите вверх от нижнего края экрана двумя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Чтобы включить эту функцию, проведите вверх от нижнего края экрана тремя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх тремя пальцами и задержите их."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Чтобы воспользоваться специальной возможностью, проведите вверх от нижнего края экрана двумя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх двумя пальцами и задержите их."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Чтобы воспользоваться специальной возможностью, проведите вверх от нижнего края экрана тремя пальцами.\n\nДля переключения между функциями проведите по экрану снизу вверх тремя пальцами и задержите их."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"ОК"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Настройки кнопки"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Настройки кнопки"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Быстрый запуск функции \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Кнопка специальных возможностей"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Жест специальных возможностей"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Удерживать кнопки регулировки громкости"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"удерживание кнопок регулировки громкости"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Нажмите и удерживайте обе кнопки регулировки громкости"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двойное нажатие двумя пальцами"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"двойное нажатие двумя пальцами"</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="6863958573135995927">"тройное нажатие на экран"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Быстро коснитесь экрана {0,number,integer} раза (этот жест может замедлить работу устройства)."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Подробнее о кнопке специальных возможностей и жесте…"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Используется кнопка специальных возможностей. При навигации с помощью трех кнопок жест недоступен."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Быстрый доступ к специальным возможностям"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Инструкция"</b>\n"1. Откройте настройки специальных возможностей.\n2. Выберите нужную функцию и нажмите на ее значок.\n3. Укажите, что использовать для вызова функции: кнопку или жест."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Инструкция"</b>\n"1. Откройте настройки специальных возможностей.\n2. Выберите нужную функцию и нажмите на ее значок.\n3. Назначьте кнопку для функции."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Использовать кнопку или жест"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Расположение"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Размер"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Кнопка питания завершает вызов"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Крупный указатель мыши"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Сделать указатель мыши более заметным"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Включить тёмную тему в приложениях"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Действует в приложениях без тёмной темы. Возможны проблемы с экраном, например инвертирование цвета."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Убрать анимации"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Уменьшить количество анимаций на экране"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Монофо­нический звук"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Вибрация и виброотклик"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Вибрация при срабатывании будильника"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Вибрация при воспроизведении медиаконтента"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Вибрация клавиатуры"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибрация при звонке"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибрация при уведомлении"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Вибрация при касании"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Остановить"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Отмена"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Остановить сервис \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Чтобы отключить сервис \"<xliff:g id="SERVICE">%2$s</xliff:g>\", нажмите \"<xliff:g id="STOP">%1$s</xliff:g>\"."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Отключить"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Оставить"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Отключить <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Службы не установлены"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Сервис не выбран"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Нет описания"</string>
     <string name="settings_button" msgid="2195468788019730377">"Настройки"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"чувствительность к свету, светобоязнь, тёмная тема, мигрень, головная боль, режим для чтения, ночной режим, снижение яркости, белая точка"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Простой доступ, удобство использования, помощь, вспомогательный"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"зрение, слух, слепой, глухой, моторика, двигательные возможности, вспомогательный, содействие, простота использования, простой доступ, рука, помощь"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Увеличение, лупа, масштаб, слабое зрение, увеличить, приблизить, сделать больше"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Субтитры, расшифровка, слабый слух, потеря слуха, Прямая расшифровка, расшифровка речи, преобразование речи в текст, распознавание речи"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"цветовая контрастность"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"мышь, двигательные нарушения"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"слуховые аппараты, слабослышащий, потеря слуха, кохлеарные импланты, устройства усиления звука, звуковые процессоры"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"моторика, мышь, внешняя мышь, управление курсором с помощью движений головы, адаптивная мышь, инвалидная коляска, джойстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"слуховые аппараты, слабослышащий, потеря слуха, кохлеарные импланты, устройства усиления звука, звуковые процессоры, ЕДДС"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"слабый слух, потеря слуха, субтитры, телетайп"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"с помощью трех кнопок"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"двигательные возможности, моторика, пожилой человек, артрит, инсульт, тремор, рассеянный склероз, ДЦП, дрожание, травма от повторяющихся нагрузок, рука"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"задержка, двигательные возможности, пожилой человек"</string>
     <string name="print_settings" msgid="8519810615863882491">"Печать"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Отключено"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Включена 1 служба печати}one{Включена # служба печати}few{Включено # службы печати}many{Включено # служб печати}other{Включено # службы печати}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Батарея будет разряжена через <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Батарея будет заряжена через <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Время в активном режиме"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Время в фоновом режиме"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Низкий заряд батареи"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Разрешить приложению работать в фоновом режиме"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Ограничить работу в фоновом режиме?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Это действие может привести к неправильной работе приложения."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Оптимизация расхода заряда батареи для этого приложения не настроена.\n\nВключите ее, чтобы установить ограничения."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управление расходом заряда"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Разрешить использование в фоновом режиме"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Включите, чтобы получать обновления в реальном времени, или отключите, чтобы снизить расход заряда."</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Без ограничений"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"С оптимизацией"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Посмотрите, какие приложения расходуют больше всего заряда."</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Оптимизация зарядки для защиты батареи"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Зарядка оптимизируется, чтобы продлить срок службы батареи."</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Оптимизация зарядки для защиты батареи"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Чтобы продлить срок службы батареи, зарядка оптимизируется при подключении к док-станции."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Оптимизация зарядки для защиты батареи"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Чтобы продлить срок службы батареи, зарядка оптимизируется при подключении к док-станции."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Полная зарядка"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"При следующем подключении планшета к док-станции зарядка будет оптимизирована для защиты батареи."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Подробнее о приостановке зарядки"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Продолжить зарядку"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Идут фоновые процессы с высоким потреблением энергии."</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Это приложение сможет потреблять энергию в фоновом режиме. Расход заряда батареи будет выше ожидаемого."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Удалить"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Отмена"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Зарядить полностью"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Проблема с зарядным устройством"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Проверьте зарядное устройство"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Подробнее об использовании несовместимых зарядных устройств"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Автоматическое управление приложениями"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"с момента последней полной зарядки"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системные приложения"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Удаленные приложения"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Другое"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Расчетное время работы без подзарядки"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"До полной зарядки"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Всего: меньше минуты"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"В фоновом режиме: меньше минуты"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Время использования устройства: меньше минуты"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Менее минуты"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Всего: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"В фоновом режиме: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Время использования: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"Cейчас"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g>, <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Диаграмма расхода заряда батареи"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Диаграмма расхода заряда батареи по дням"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Диаграмма расхода заряда батареи по часам"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Уровень заряда батареи в процентах от <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> до <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Расход заряда батареи с момента последней полной зарядки"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Расход заряда батареи (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Время использования устройства с момента последней полной зарядки"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал набора номера при экстренных вызовах"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Настроить режим работы при экстренном вызове"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервное копирование"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Включено"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Отключено"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Резервное копирование и восстановление"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Возврат к заводским настройкам"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Резервирование данных"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобильный интернет и Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Автосинхронизация личных данных"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Автосинхронизация рабочих данных"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Автосинхронизация личн. данных"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Изменить…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"День месяца, когда сбрасывается цикл использования данных:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"В этот период не было трафика от приложений."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Название"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Адрес сервера"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Шифрование PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Ключ L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Идентификатор IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Общий ключ IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Сертификат пользователя IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Сертификат ЦС IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертификат сервера IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Дополнительные параметры"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Домены для поиска DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-серверы (например, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Маршруты пересылки (например, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Имя пользователя"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Пароль"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Сохранить учетные данные"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(не используется)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не проверять сервер)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(получено с сервера)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Такая сеть VPN не может быть постоянной"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Постоянная VPN поддерживает только числовые адреса серверов"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Для постоянной VPN-сети должен быть задан DNS-сервер"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Для постоянной VPN-сети адрес DNS-сервера должен быть числовым"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Исходя из введенной информации, эта VPN не может использоваться как постоянная"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Отмена"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Закрыть"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Блокировать соединения без VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Использовать сеть VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Эта сеть VPN не защищена. Перейдите на IKEv2 VPN."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Не удалось включить неподдерживаемую сеть VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Выберите постоянную сеть VPN: трафик будет разрешен только при подключении к этой сети."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Не использовать"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Укажите IP-адрес для сервера и DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Оповещения AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Получать уведомления о пропавших детях"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Повторить"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Включить менеджер звонков"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Управление звонками."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Менеджер звонков"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Экстренные оповещения по беспроводным сетям"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Операторы связи"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Названия точек доступа"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM-карты"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус SIM (слот SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> дБмВт, asu: <xliff:g id="ASU">%2$d</xliff:g>"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-карты были изменены"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-карты изменены"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Нажмите, чтобы настроить"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Всегда спрашивать"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Выберите SIM-карту"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Недавние приложения, приложения по умолчанию"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Приложениям в рабочем профиле нельзя предоставить доступ к уведомлениям."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Пароли и аккаунты"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Сохраненные пароли, автозаполнение, синхронизируемые аккаунты"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Подсказки при входе и автозаполнение"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Приложения по умолчанию"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Клонирование приложений"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Создайте второй экземпляр приложения, чтобы одновременно использовать два аккаунта."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"кошелек"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"Бесконтактная оплата"</string>
     <string name="keywords_backup" msgid="707735920706667685">"создать резервную копию"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"жест"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"фейсконтроль, аутентификация, вход"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"фейсконтроль, разблокировка, разблокировать, аутентификация, вход, войти, отпечаток пальца, биометрия"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, версия prl, imeisv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"размер текста, крупный шрифт, большой шрифт, большой текст, слабое зрение, увеличить текст, увеличить шрифт, увеличение шрифта"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"информация на заблокированном экране, автоматическое включение экрана"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, метка, считыватель"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"клавиатура, тактильная обратная связь, вибрация, вибрировать"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Громкость, вибрация, режим \"Не беспокоить\""</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Музыка, видео, игры"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Громкость трансляции"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Звуки при включении устройства"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Автоматические субтитры"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Автоматически добавлять субтитры"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Динамики телефона"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Динамики планшета"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Динамики устройства"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Проводные наушники"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Звук из поддерживаемых источников становится более выразительным"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Отключено"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Показывать уведомления полностью"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Показывать конфиденциальные данные только после разблокировки"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не показывать уведомления"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Настройте показ уведомлений на заблокированном экране."</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Как показывать уведомления на заблокированном экране?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заблокированный экран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Показывать рабочие уведомления полностью"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Скрыть конфиденциальные рабочие данные"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Недавние разговоры удалены"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Разговор удален"</string>
     <string name="clear" msgid="5092178335409471100">"Очистить"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Удалить разговор \"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>\""</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Здесь будут появляться важные и измененные разговоры"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Если вы измените настройки разговора, например отметите его как важный, он появится в этом разделе. \n\nЧтобы изменить настройки разговора, откройте панель уведомлений, проведя пальцем вниз от верхней части экрана, а затем нажмите на разговор и удерживайте.\n"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Свернуть"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Снижение громкости уведомлений"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Снижать громкость всех уведомлений"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Когда приходит много уведомлений подряд от одного приложения, постепенно снижать их громкость"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Снижать громкость для разговоров"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Когда приходит много сообщений подряд из одного чата, постепенно снижать громкость уведомлений о них"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Не снижать громкость уведомлений"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Не снижать громкость, даже если приходит много уведомлений подряд от одного приложения"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Вибрация при разблокированном экране"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Когда экран разблокирован, использовать только вибросигнал"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Применить к рабочим профилям"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Снижать громкость уведомлений в рабочем профиле в соответствии с настройками личного"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Вспомогательные VR-сервисы"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Установленные приложения не запрашивали доступ для работы в качестве вспомогательного VR-сервиса."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Разрешить VR-сервису доступ к сервису \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Отключено"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Закрепление приложений"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Эта функция позволяет закрепить экран определенного приложения, закрыв доступ к другим программам на телефоне. Ее можно использовать, например, если вы хотите дать другу поиграть в игру на вашем устройстве."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Закрепленное приложение может открывать другие приложения и получать доступ к персональным данным. \n\nЧтобы закрепить приложение: 	\n1. Включите функцию в настройках. 	\n2. Нажмите \"Обзор\". 	\n3. Коснитесь значка приложения вверху экрана и выберите \"Закрепить\"."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Закрепленное приложение может открывать другие приложения и получать доступ к персональным данным. \n\nПоэтому, если вы хотите дать устройство другому человеку и не беспокоиться о безопасности данных, рекомендуем включить гостевой режим. \n\nЧтобы закрепить приложение: 	\n1. Включите функцию в настройках. 	\n2. Нажмите \"Обзор\". 	\n3. Коснитесь значка приложения вверху экрана и выберите \"Закрепить\"."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Закрепленное приложение может открывать другие приложения и получать доступ к личным данным. \n\nЧтобы закрепить приложение, сделайте следующее: 	\n{0,number,integer}. Включите функцию \"Закрепление приложения\". 	\n{1,number,integer}. Нажмите \"Обзор\". 	\n{2,number,integer}. Коснитесь значка приложения вверху экрана и выберите \"Закрепить\"."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Закрепленное приложение может открывать другие приложения и получать доступ к личным данным. \n\nПоэтому, если вы хотите дать устройство другому человеку и не беспокоиться о безопасности данных, рекомендуем включить гостевой режим. \n\nЧтобы закрепить приложение, сделайте следующее: 	\n{0,number,integer}. Включите функцию \"Закрепление приложения\".	\n{1,number,integer}. Нажмите \"Обзор\". 	\n{2,number,integer}. Коснитесь значка приложения вверху экрана и выберите \"Закрепить\"."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Закрепленное приложение может:\n\n• получать доступ к персональным данным (например, контактам и содержимому писем);\n• открывать другие приложения.\n\n\nИспользуйте эту функцию, только если вы доверяете тому, кому передаете устройство."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Запрашивать графический ключ"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Запрашивать PIN-код"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запрашивать пароль"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Блокировать устройство при отключении функции"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Подтверждение удаления SIM-карты"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Подтвердите удаление eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Запрашивать подтверждение личности перед удалением eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Расширенная защита памяти (бета)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Расширенная защита памяти"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Настройки неиспользуемых приложений"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Приостановить работу в неактивный период"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Удалить разрешения и временные файлы, прекратить отправку уведомлений"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Остановить работу приложения при простое"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Удалить разрешения и временные файлы, прекратить отправку уведомлений и перенести приложение в архив"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Все приложения"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Установленные приложения"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Приложения с мгновенным запуском"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Свободно"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Использование памяти приложениями"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 приложение использовало память за предшествующий период ({time})}one{# приложение использовало память за предшествующий период ({time})}few{# приложения использовали память за предшествующий период ({time})}many{# приложений использовали память за предшествующий период ({time})}other{# приложения использовали память за предшествующий период ({time})}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Вкл. профилирование использования памяти"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Профилирование использования памяти потребляет дополнительные системные ресурсы"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Профилирование памяти отключено"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Как часто используется"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Макс. памяти использовано"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Трафик не расходовался"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Поверх других приложений"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Показывать поверх других приложений"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Элементы интерфейса будут показываться поверх других окон. Это приложение сможет получать данные о ваших нажатиях, а также менять то, что показано на экране."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Смена источника вывода медиа"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Разрешить управление источником вывода медиа"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Разрешить этому приложению управление тем, на каком из подключенных устройств будет воспроизводиться аудио и видео из других приложений. Приложение получит доступ к списку подключенных устройств, таких как наушники и колонки, и сможет устанавливать устройство вывода, на котором будет транслироваться аудио и видео."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Доступ ко всем файлам"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Разрешить доступ к управлению всеми файлами"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Приложение сможет читать, изменять и удалять все файлы на этом устройстве и любых подключенных носителях. Доступ к файлам будет осуществляться без дополнительного уведомления."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Приложения, имеющие доступ ко всем файлам"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Приложения, включающиеся голосом"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Разрешить активацию голосом"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Вы сможете запускать выбранные приложения с помощью голосовых команд. Благодаря встроенной адаптивной системе распознавания доступ к вашим данным будет только у вас.\n\nПодробнее "<a href="">"о защищенном адаптивном распознавании"</a>"…"</string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Уведомления в полноэкранном режиме"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Разрешить уведомления в полноэкранном режиме от этого приложения"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Разрешить этому приложению показывать уведомления в полноэкранном режиме, когда устройство заблокировано. Так приложение сможет сообщать о будильниках, входящих вызовах и других срочных уведомлениях."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Предупреждение о расходе трафика: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Лимит трафика: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Предупреждение о расходе трафика: <xliff:g id="ID_1">^1</xliff:g>. Лимит трафика: <xliff:g id="ID_2">^2</xliff:g>."</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Данные оператора связи могут отличаться от данных на устройстве."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Без учета трафика, переданного через сети оператора связи."</string>
     <string name="data_used_template" msgid="8229342096562327646">"Расход: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Установить предупреждение"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Обновлено <xliff:g id="ID_1">^2</xliff:g> назад"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Обновлено только что оператором <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Обновлено только что"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Посмотреть тарифный план"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Подробнее"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Экономия трафика"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Неограниченный мобильный интернет"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"У приложения \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" энергопотребление в фоновом режиме выше, чем обычно"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"У приложения \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" высокое энергопотребление в активном режиме"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"У приложения \"<xliff:g id="APP_LABEL">%1$s</xliff:g>\" энергопотребление в активном режиме выше, чем обычно"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Ненормальный расход заряда батареи"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Высокий расход заряда батареи"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Высокий расход заряда батареи в фоновом режиме"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Высокий расход заряда батареи в активном режиме"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Элементы в быстрых настройках"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Отключить автоматический отзыв авторизации adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Отключить автоматический отзыв авторизации adb для систем, которые не переподключались в течение срока, заданного по умолчанию (7 дней) или указанного пользователем (минимум 1 день)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Трассировка Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Датчики отключены"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Настройки рабочего профиля"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Поиск контактов из рабочего профиля в личных приложениях"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"навигация в системе, навигация с помощью двух кнопок, навигация с помощью трех кнопок, навигация с помощью жестов, пролистывание"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Цифровой помощник"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Жест вызова помощника"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Чтобы вызвать цифрового помощника, проведите по экрану из нижнего угла вверх"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Чтобы вызвать цифрового помощника, проведите вверх из нижнего угла экрана."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Чтобы вызвать Ассистента, удерживайте кнопку главного экрана"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Чтобы вызвать цифрового помощника, нажмите и удерживайте кнопку главного экрана."</string>
     <string name="low_label" msgid="6525629096999711220">"Низкая"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Автозаполнение"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Сервис автозаполнения по умолчанию"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Пароли"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Сервисы для паролей, ключей доступа и данных"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Дополнительные поставщики"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Предпочитаемый оператор"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Дополнительные сервисы"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# пароль}one{# пароль}few{# пароля}many{# паролей}other{# пароля}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"автозаполнение, автоматически, заполнение, пароль"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"данные, ключ доступа, пароль"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"авто, заполнение, автозаполнение, данные, ключ доступа, пароль"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Изменить"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Открыть"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ничего не выбрано"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Подтвердите, что вы доверяете этому приложению&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; анализирует содержимое экрана и находит поля, которые можно заполнить автоматически."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Использовать приложение \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\"?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Приложение \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\" анализирует содержимое экрана и находит поля, которые можно заполнить автоматически. Новые пароли, ключи доступа и другие данные будут сохраняться в нем."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Сервисы для паролей, ключей доступа и данных"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Использовать приложение \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\"?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; С этого момента в нем будут сохраняться новые пароли, ключи доступа и другие данные. Приложение \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\" может анализировать содержимое экрана и находить поля, для которых доступно автозаполнение."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Предпочтительный сервис для хранения паролей, ключей доступа и данных автозаполнения"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Отключить %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Отключить этот сервис?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;Пароли, ключи доступа, способы оплаты и другая сохраненная информация не будут подставляться при входе. Чтобы использовать эти данные, выберите пароль, ключ доступа или сервис."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Пароли, ключи доступа и автозаполнение"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Отключить все сервисы?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;Пароли, ключи доступа и другая сохраненная информация не будут подставляться при входе."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Сделать сервис \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\" предпочтительным?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;Новые пароли, ключи доступа и другие данные будут сохраняться в нем. Приложение \"&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;\" может анализировать содержимое экрана, чтобы находить поля, для которых доступно автозаполнение."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Использовать %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Отключить"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Изменить"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Можно указать не более пяти сервисов"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Чтобы добавить сервис, отключите хотя бы один из уже выбранных."</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s анализирует содержимое экрана и находит поля, которые можно заполнить автоматически."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Количество сервисов для паролей, ключей доступа и данных ограничено"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Активными одновременно могут быть не более пяти сервисов для паролей, ключей доступа и данных. Чтобы добавить новый сервис, отключите уже используемый."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Выбрано слишком много сервисов"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Одновременно можно использовать не более пяти сервисов для хранения паролей, ключей доступа и данных. Чтобы добавить сервис, отключите один из уже выбранных."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Отключить"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Автозаполнение"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Журнал"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Настраивать изменение параметров совместимости можно только для приложений, доступных для отладки. Установите такое приложение и повторите попытку."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Эту настройку нельзя изменить, так как она зависит от других параметров."</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Аккаунт"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Аккаунтов: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Название устройства"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Основная информация"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Юридические и нормативные требования"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Разрешить этому приложению запускаться при сканировании NFC-метки.\nЕсли разрешение предоставлено, это приложение можно выбирать для обработки NFC-меток."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Где воспроизводить"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g>: где воспроизводить"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Где будет воспроизводиться аудио:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Это устройство"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недоступно во время вызовов"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Ответить с помощью"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Отключение звука"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Чтобы включить эту функцию, сначала установите для параметра \"Долгое нажатие кнопки питания\" значение \"Меню кнопки питания\"."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Сведения о сети"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"У приложений на телефоне есть доступ к названию устройства. Его могут видеть другие пользователи, когда вы подключаетесь к устройствам по Bluetooth или настраиваете точку доступа Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Устройства"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Выбрать сеть"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Не подключено"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Название"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Цвет (для совместимых приложений)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Сохранить"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Использовать эту SIM-карту"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Использовать эту SIM-карту"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Отключено"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Чтобы отключить эту SIM-карту, извлеките ее из устройства."</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Нажмите, чтобы включить SIM-карту оператора \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Стереть SIM-карту"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Чтобы отключить эту SIM-карту, извлеките ее из устройства."</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Нажмите для активации SIM-карты оператора \"<xliff:g id="CARRIER">%1$s</xliff:g>\""</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Удалить eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Предпочтительный тип сети"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Изменение режима работы сети"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Предпочтительный тип сети"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Информацию о тарифах вы можете получить у интернет-провайдера."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Трафик приложений"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Недопустимый режим сети (<xliff:g id="NETWORKMODEID">%1$d</xliff:g>). Не используется."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Обмен сообщениями по спутниковой связи"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Обмен текстовыми сообщениями по спутниковой связи включен для вашего аккаунта."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Обмен текстовыми сообщениями по спутниковой связи отключен для вашего аккаунта."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Обмен сообщениями по спутниковой связи"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Об обмене сообщениями по спутниковой связи"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Ваш аккаунт оператора \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" позволяет обмениваться текстовыми сообщениями по спутниковой связи."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Ваш тарифный план оператора \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\""</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"В вашем аккаунте есть возможность обмениваться сообщениями по спутниковой связи"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"В вашем аккаунте нет возможности обмениваться сообщениями по спутниковой связи"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Добавить возможность обмена сообщениями по спутниковой связи"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Как это работает"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Если нет мобильной сети"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Ваш телефон автоматически подключится к спутниковой связи. Для оптимального качества соединения найдите место, где хорошо видно небо."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"После подключения телефона к спутниковой связи"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Вы можете отправлять текстовые сообщения кому угодно, в том числе экстренным службам. Ваш телефон повторно подключится к мобильной сети, когда она станет доступна."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Обмен сообщениями по спутниковой связи может занять больше времени и доступен только в некоторых регионах. На качество соединения могут влиять погода и внешние препятствия, такие как деревья, стены, мосты и здания. Звонки по спутниковой связи недоступны.\n\nМожет пройти некоторое время, прежде чем изменения в вашем аккаунте появятся в настройках. За дополнительной информацией обратитесь к оператору \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Подробнее об обмене сообщениями по спутниковой связи…"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Точки доступа"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"точка доступа"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недоступны при подключении к <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Переключиться на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Переключиться на SIM-карту?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Использовать <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Нельзя использовать несколько SIM-карт одновременно.\n\nВы можете переключиться на оператора \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\". Ваш тарифный план у оператора \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\" останется активным."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Нельзя использовать несколько карт eSIM одновременно.\n\nВы можете переключиться на eSIM \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\". Это действие не отменит ваш тарифный план оператора \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Нельзя использовать несколько SIM-карт одновременно.\n\nВаш тарифный план у оператора \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" останется активным."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Одновременно можно использовать только одну SIM-карту.\n\nЕсли вы переключитесь на карту оператора \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\", это не отменит ваш тарифный план оператора \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Одновременно можно использовать только одну eSIM-карту.\n\nЕсли вы переключитесь на карту оператора \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\", это не отменит ваш тарифный план оператора \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Одновременно можно использовать только одну SIM-карту.\n\nЕсли вы переключитесь на карту другого оператора, это не отменит ваш тарифный план оператора \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\"."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Вы можете использовать две SIM-карты одновременно. Чтобы выбрать <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, отключите другую SIM-карту."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Переключиться на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Отключить <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Отключение SIM-карты не отменит ваш тарифный план."</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Подключение к сети…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Переключение на оператора \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" для звонков и сообщений…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Произошла ошибка"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Не удалось сменить оператора."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM-карта активируется…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Переключение на SIM-карту оператора \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Не удалось сменить SIM-карту"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Что-то пошло не так. Переключиться на другую SIM-карту не получилось."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Отключить <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Отключить SIM-карту?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Отключение SIM-карты<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Произошла ошибка"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Не удалось отключить оператора."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Не удалось отключить SIM-карту"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Что-то пошло не так. Отключить SIM-карту не получилось."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Использовать две SIM-карты?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"На этом устройстве можно использовать сразу две SIM-карты. Если вам достаточно одной, нажмите \"Нет, спасибо\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Перезапустить устройство?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Нет, спасибо"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Отмена"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Переключиться"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Отключить"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не удалось активировать SIM-карту"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Попробуйте включить SIM-карту ещё раз. Если проблема не исчезнет, перезапустите устройство."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Настройте SIM-карту"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Настройте параметры мобильной сети для использования нескольких SIM-карт на этом устройстве."</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Назначьте ярлыки для SIM-карт"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Эти ярлыки будут показываться при совершении звонков, отправке текстовых сообщений, использовании мобильного трафика, а также в настройках."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Ярлык SIM-карты"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Ярлык"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Выберите нужные SIM-карты"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Вы можете использовать две SIM-карты одновременно."</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Назначьте основные SIM-карты"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Выберите, какие SIM-карты будут использоваться по умолчанию для звонков, текстовых сообщений и доступа к интернету."</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Основные SIM-карты"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Звонки"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Текстовые сообщения"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Автопереключение моб. трафика"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Используйте мобильный трафик любой SIM-карты в зависимости от покрытия и доступности."</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Только доступ к интернету"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Настроить"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Далее"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Включение SIM-карты \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\"…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобильная сеть"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Номер телефона"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Ярлык и цвет SIM-карты"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активация сети"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Переключение между операторами связи"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Сеть \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" активна"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-карта оператора \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" активна"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Нажмите, чтобы обновить настройки SIM-карты."</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Вы переключились на сеть <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Вы переключились на сеть другого оператора"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мобильная сеть изменена"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Настройте другую SIM-карту"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Выберите активную SIM-карту или используйте сразу обе."</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Выберите номер"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{На это устройство добавлен один номер.}=2{На это устройство добавлено два номера, но использовать их можно только по одному.}one{На это устройство добавлено несколько номеров (#), но использовать их можно только по одному.}few{На это устройство добавлено несколько номеров (#), но использовать их можно только по одному.}many{На это устройство добавлено несколько номеров (#), но использовать их можно только по одному.}other{На это устройство добавлено несколько номеров (#), но использовать их можно только по одному.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Активация<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Ошибка активации."</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Выберите SIM-карту"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{На это устройство добавлена одна SIM-карта.}=2{На это устройство добавлено две SIM-карты, но использовать их можно только по одной.}one{На это устройство добавлена # SIM-карта, но использовать их можно только по одной.}few{На это устройство добавлено # SIM-карты, но использовать их можно только по одной.}many{На это устройство добавлено # SIM-карт, но использовать их можно только по одной.}other{На это устройство добавлено # SIM-карты, но использовать их можно только по одной.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Активация<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Не удалось активировать SIM-карту."</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Использовать <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Сеть \"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>\" будет использоваться для звонков, SMS и доступа к мобильному интернету."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Нет активных SIM-карт"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Чтобы использовать мобильный интернет, звонки и SMS, измените настройки сети."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-карта"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Удалить эту eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Если вы сотрете эту SIM-карту, оператор \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\" перестанет обслуживать устройство.\n\nТарифный план оператора \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" останется активным."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Вы больше не сможете пользоваться услугами оператора \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\" на этом устройстве, но тарифный план оператора \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" останется."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Стереть"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Удаление данных SIM-карты…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не удалось стереть данные SIM-карты"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Не удалось стереть данные этой SIM-карты из-за ошибки.\n\nПерезагрузите устройство и повторите попытку."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Удаление eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Не получилось удалить eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Не получилось удалить eSIM.\n\nПерезапустите устройство и повторите попытку."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Подключение к устройству"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Приложение \"<xliff:g id="APPNAME">%1$s</xliff:g>\" хочет использовать временную сеть Wi‑Fi для подключения к устройству."</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Устройства не найдены. Убедитесь, что они включены и доступны для подключения."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Экстренные вызовы"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Ваш оператор не поддерживает экстренные вызовы по Wi-Fi.\nПри звонках в экстренные службы устройство автоматически переключается на мобильную сеть.\nЭкстренные вызовы можно совершать только в радиусе действия сотовой связи."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Используйте Wi‑Fi для звонков, чтобы повысить качество связи."</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Резервный способ связи"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Если вы в роуминге или сеть <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> недоступна, для звонков через <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> используйте SIM-карту с мобильным Интернетом"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"резервный способ связи"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Входящее MMS-сообщение"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Не удалось отправить MMS-сообщение"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Нажмите, чтобы разрешить MMS-сообщения в сети оператора \"<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>\", когда мобильный Интернет отключен"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Сведения о правилах организации"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Настройки, доступные системному администратору"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Графический процессор"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Запустить с размером страницы 16 КБ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Устройство загрузится с размером страницы 16 КБ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Перезапустить с ядром, совместимым с размером страницы 16 КБ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"Внимание! Некоторые приложения могут не работать в этом режиме. После подтверждения устройство перезагрузится."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Перезапустить с ядром, совместимым с размером страницы 4 КБ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"После подтверждения устройство перезагрузится."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Не удалось обеспечить совместимость ядра с размером страницы 16 КБ."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Применение изменения…"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Обработчик отчетов об ошибках"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Выбранное приложение будет запускаться при нажатии быстрой клавиши для отправки отчета об ошибке."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Личный профиль"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Разрешить приложениям, которые могут показываться поверх других, накладываться на экраны настроек"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Разрешить имитацию модема"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Разрешить этому устройству запускать сервис, имитирующий модем, для инструментального теста. Не включайте этот параметр, когда пользуетесь телефоном в обычном режиме."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Отключить защиту при демонстрации экрана"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Отключить системные средства защиты приложений и уведомлений, используемые во время демонстрации экрана"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Медиа"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Закрепить медиапроигрыватель"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Медиапроигрыватель остается открытым в Быстрых настройках, чтобы вы могли легко продолжить воспроизведение"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Показывать медиапроигрыватель на заблокированном экране"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Медиапроигрыватель остается открытым на заблокированном экране, чтобы вы могли легко продолжить воспроизведение"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Показывать рекомендации медиаконтента"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Показывать рекомендации контента от Ассистента"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"С учетом ваших действий"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Скрывать проигрыватель"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Показывать проигрыватель"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"Медиа"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Разрешить использовать расширения ПО камеры"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Включить стандартную программную реализацию продвинутых функций камеры, позволяющих, например, записывать видео не глядя на экран"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Будет включен Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-карты"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM-карта"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Карты eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Активна"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Неактивна"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Включена"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Отключена"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /По умолчанию для категорий: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"Звонки"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Звук из поддерживаемых источников становится более выразительным"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Отслеживание движения головы"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Звук меняется, когда вы двигаете головой, и становится более естественным."</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синхронизация разрешений"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Предоставить устройству <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> такие же разрешения для приложений, которые есть у устройства <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>."</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Синхронизировать разрешения с телефона"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Предоставить на часах такие же разрешения для приложений, как и на телефоне"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Тип аудиоустройства"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Неизвестно"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Колонка"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Средняя"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Высокая"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Это приложение можно открыть только в одном окне."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Включено"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Отключено"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Отключено"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Отключено"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Включено"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Отключено"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Включено"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Отключено"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Сделать светлые цвета темными, а темные – светлыми"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Включить функцию увеличения масштаба на экране"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Отключено"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Отключено"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Сканировать на наличие приложений, вводящих в заблуждение"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверять историю действий в приложении на фишинг"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Сканировать на наличие вводящих в заблуждение приложений"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Сканировать на наличие вводящих в заблуждение приложений для работы"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Пароль установлен"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Показывать указатель при наведении стилусом"</string>
 </resources>
diff --git a/res/values-si/arrays.xml b/res/values-si/arrays.xml
index c1e87a2..7601af6 100644
--- a/res/values-si/arrays.xml
+++ b/res/values-si/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"ලබා ගත හැකියි"</item>
     <item msgid="6096962300722555553">"සීමාවෙන් පිටත"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"අබල කර ඇත"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast සහ Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"පද්ධති පෙරනිමිය භාවිත කරන්න: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"මිනිත්තු 1කට පසුව"</item>
     <item msgid="1574040255478150028">"මිනිත්තු 5කට පසුව"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-si/strings.xml b/res/values-si/strings.xml
index 52120da..97ec57b 100644
--- a/res/values-si/strings.xml
+++ b/res/values-si/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ඔබ දැන් වර්ධකයෙකි"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"අවශ්‍ය නැත, ඔබ දැනටමත් වර්ධකයෙකි."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"කරුණාකර පළමුව සංවර්ධක විකල්ප සබල කරන්න."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"පරිපාලක පරිශීලකයින්ට පමණක් සංවර්ධක සැකසීම් වෙත ප්‍රවේශ විය හැක."</string>
     <string name="header_category_system" msgid="1665516346845259058">"පද්ධතිය"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"සේවයේ පවතියි"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"සේවය රහිතයි"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"ඔබ ඔබේ උපාංගය නැමූ විට ඉදිරිපස සංදර්ශකය ක්‍රියාත්මක වේ"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"ක්‍රීඩා, වීඩියෝ, සහ තවත් දේ පමණි"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"ඔබේ තිරය අක්‍රිය වීම නවත්වන යෙදුම් සඳහා ඉදිරිපස සංදර්ශකය ක්‍රියාත්මක වේ"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ඉදිරියට යාමට ඉහළට ස්වයිප් කරන්න"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"යෙදුම දිගටම භාවිතා කිරීම සඳහා ඔබේ දුරකථනය නමා ඉදිරිපස සංදර්ශකය මත ස්වයිප් කරන්න, නැතහොත් තිරය අගුළු දැමීම සඳහා තත්පර කිහිපයක් රැඳී සිටින්න"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"කිසිදා නැත"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"ඔබ ඔබේ උපාංගය නවන විට ඉදිරිපස සංදර්ශකය අගුළු වැටෙයි"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ස්වයංක්‍රිය කරකැවීම භාවිත කරන්න"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"අදාළ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"රිගින් ටෝන සහ එලාම්"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"ඇමතුම් අතරතුර ශ්‍රව්‍ය"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"මාධ්‍ය"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"දැනුම්දීම් සහ අනෙක් පද්ධති හඬ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"මාධ්‍ය සහ පද්ධති ශබ්ද"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"දැනුම්දීම්"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"පෙරනිමියෙන්, ශ්‍රව්‍ය ප්‍රතිදානය තනි යෙදුම් මගින් තීරණය වේ"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"නමක් නොමැති බ්ලූටූත් උපාංගය"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"සොයමින්"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"අවලංගු කරන්න"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"බ්ලූටූත් LE ශ්‍රව්‍ය අබල කරන්න"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"උපාංගය LE ශ්‍රව්‍ය දෘඨාංග හැකියා වෙත සහාය දක්වන්නේ නම් බ්ලූටූත් LE ශ්‍රව්‍ය විශේෂාංගය අබල කරයි."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"බ්ලූටූත් LE ශ්‍රව්‍ය මාදිලිය"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"උපාංග විස්තරවල LE ශ්‍රව්‍ය ටොගල පෙන්වන්න"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"බ්ලූටූත් LE ශ්‍රව්‍ය අවසර ලැයිස්තුව සබල කරන්න"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"බ්ලූටූත් LE ශ්‍රව්‍ය අවසර ලැයිස්තු විශේෂාංගය සබල කරන්න."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"බ්ලූටූත් LE ශ්‍රව්‍ය ඉඩ දුන් ලැයිස්තුව මඟහරින්න"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ඉඩ දුන් ලැයිස්තුවේ නිර්ණායක සපුරාලීමට LE ශ්‍රව්‍ය පර්යන්තය සත්‍යාපනය කර නොමැති වුවත් පෙරනිමියෙන් LE ශ්‍රව්‍ය භාවිතා කරන්න."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"මාධ්‍ය උපාංග"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"ඇමතුම් උපාංග"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"වෙනත් උපාංග"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"සුරැකි උපාංග"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ගිණුම සමග සම්බන්ධයි"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ගිණුම සමග කලින් භාවිතා කරන ලදි"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"යුගල කිරීමට බ්ලූටූත් ක්‍රියාත්මක කරනු ඇත"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"සම්බන්ධතා මනාප"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"පෙර සම්බන්ධිත"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"බ්ලූටූත් ක්‍රියාත්මක කරන ලදී"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"සියල්ල බලන්න"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"සියල්ල බලන්න"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"පන්හිඳ"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"කෙළවර බොත්තම එබීම"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (කාර්යාල පැතිකඩ)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"පෙළ ක්ෂේත්‍රවල ලියන්න"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"සියලු පන්හිඳ බොත්තම් එබීම නොසලකා හරින්න"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"පන්හිඳ"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ශ්‍රව්‍ය බෙදා ගැනීම"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ශ්‍රව්‍ය බෙදා ගන්න"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"ඇමතුම් සහ එලාම්"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR කේතය භාවිතයෙන් ශ්‍රව්‍ය ප්‍රවාහයකට සම්බන්ධ වන්න"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"අවට ශ්‍රව්‍ය ප්‍රවාහ කිසිවක් හමු නොවිණි."</string>
     <string name="date_and_time" msgid="1788358029823431692">"දිනය සහ වේලාව"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"නියුතු"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"හිස් කරන්න"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s කැමති භාෂාවලට එක් කරන්න ද?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"මෙය ඔබ මෙම භාෂාවට ද කැමති බව යෙදුම්වලට සහ වෙබ් අඩවිවලට දන්වයි."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"ඔබේ උපාංග සැකසීම් සහ කලාපීය මනාප වෙනස් වේ."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"වෙනස් කරන්න"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s නොමැත"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"සෙනසුරාදා"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"යෙදුමක් කලාපීය මනාප වෙත සහාය නොදක්වන්නේ නම්, යෙදුම එහි පෙරනිමි පෙදෙසි සැකසීම් භාවිතා කරනු ඇත."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"භාෂා මනාප පිළිබඳව තව දැන ගන්න."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"අතිරේක මනාපයන්"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"ලිපිනයේ නියමයන්"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"ඔබට ඇමතීමට අවශ්‍ය ආකාරය සකසන්න"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"යෙදුම්වලට ඔවුන් ඔබව ආමන්ත්‍රණය කරන ආකාරය පෞද්ගලීකරණය කිරීමට ඔබේ ලිපින නියම භාවිත කළ හැක."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"විශේෂයෙන් සඳහන් නොකළ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"ස්ත්‍රී"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"පුරුෂ"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"මධ්‍යස්ථ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{තෝරන ලද භාෂාව ඉවත් කරන්න ද?}one{තෝරන ලද භාෂා ඉවත් කරන්න ද?}other{තෝරන ලද භාෂා ඉවත් කරන්න ද?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"පෙළ වෙනත් භාෂාවකින් සංදර්ශනය කරනු ඇත."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"සියලු භාෂා ඉවත් කළ නොහැකිය"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ස්ථානය"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ස්ථානය භාවිත කරන්න"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ක්‍රියාවිරහිතයි"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ක්‍රියාත්මකයි - # යෙදුමකට ස්ථානයට ප්‍රවේශය ඇත}one{ක්‍රියාත්මකයි - යෙදුම් #කට ස්ථානයට ප්‍රවේශය ඇත}other{ක්‍රියාත්මකයි - යෙදුම් #කට ස්ථානයට ප්‍රවේශය ඇත}}"</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_location_off" msgid="8568995909147566720">"යෙදුම් සහ සේවා සඳහා ස්ථාන ප්‍රවේශය ක්‍රියාවිරහිතයි. ඔබ හදිසි අවස්ථා අංකයක් අමතන විට හෝ කෙටි පණිවිඩයක් යැවීමේදී ඔබගේ උපාංගයේ ස්ථානය හදිසි අවස්ථා ප්‍රතිචාර දක්වන්නන්ට තවම යැවිය හැකිය."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ස්ථාන සැකසීම් ගැන තව දැන ගන්න"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ස්ථාන සැකසීම් පිළිබඳව තව දැන ගන්න"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"ස්ථාන ප්‍රවේශය වෙනස් කිරීමට, සැකසීම් &gt; ආරක්ෂාව සහ පෞද්ගලිකත්වය &gt; පෞද්ගලිකත්ව පාලන වෙත යන්න"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ගිණුම්"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ආරක්ෂාව"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"සංකේතනය සහ අක්තපත්‍ර"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"හොඳම ප්‍රතිඵල සඳහා, සහතික කළ Google සඳහා තනන ලද තිර ආරක්ෂකයක් භාවිත කරන්න. වෙනත් තිර ආරක්ෂක සමඟ, ඔබ‍ගේ දරුවාගේ ඇඟිලි සලකුණ ක්‍රියා නොකළ හැකිය."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"ඔරලෝසුව අගුළු හැරීම"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"ඔබ මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුළු හැරීම පිහිටුවන විට, ඔබ මුහුණු ආවරණයක් පැළඳ සිටින විට හෝ අඳුරු ප්‍රදේශයක සිටින විට ඔබේ දුරකථනය ඔබේ ඇඟිලි සලකුණ සඳහා විමසනු ඇත.\n\nඔබේ මුහුණ හෝ ඇඟිලි සලකුණ හඳුනා නොගත් විට ඔබට ඔබේ ඔරලෝසුව සමග අගුළු හැරිය හැක."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"ඔබේ ඇඟිලි සලකුණ හඳුනා නොගත් විට ඔබට ඔබේ ඔරලෝසුව සමග අගුළු හැරිය හැක."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"ඔබේ මුහුණ හඳුනා නොගත් විට ඔබට ඔබේ ඔරලෝසුව සමග අගුළු හැරිය හැක."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"ඔබ මුහුණෙන් අගුළු හැරීම සහ ඇඟිලි සලකුණු අගුළු හැරීම පිහිටුවන විට, ඔබ මුහුණු ආවරණයක් පැළඳ සිටින විට හෝ අඳුරු ප්‍රදේශයක සිටින විට ඔබේ දුරකථනය ඔබේ ඇඟිලි සලකුණ සඳහා විමසනු ඇත.\n\nඔරලෝසුව අගුළු හැරීම යනු ඔබේ දුරකථනය අගුළු ඇරීමට තවත් පහසු ක්‍රමයකි, උදාහරණයක් ලෙස, ඔබේ ඇඟිලි තෙත් වූ විට හෝ මුහුණ හඳුනා නොගත් විට."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"ඔරලෝසුව අගුළු හැරීම යනු ඔබේ දුරකථනය අගුළු ඇරීමට තවත් පහසු ක්‍රමයකි, උදාහරණයක් ලෙස, ඔබේ ඇඟිලි සලකුණ හඳුනා නොගත් විට."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"ඔරලෝසුව අගුළු හැරීම යනු ඔබේ දුරකථනය අගුළු ඇරීමට තවත් පහසු ක්‍රමයකි, උදාහරණයක් ලෙස, ඔබේ මුහුණ හඳුනා නොගත් විට."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ඇඟිලි සලකුණ හෝ ඔරලෝසුව භාවිතා කරන්න"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"මුහුණ හෝ ඔරලෝසුව භාවිතා කරන්න"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"මුහුණ, ඇඟිලි සලකුණ, හෝ ඔරලෝසුව භාවිතා කරන්න"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"ඔරලෝසුව අගුළු හැරීම යනු මෙම දුරකථනය අගුළු ඇරීමට තවත් පහසු ක්‍රමයකි, උදාහරණයක් ලෙස, ඔබේ ඇඟිලි තෙත් වූ විට හෝ මුහුණ හඳුනා නොගත් විට.\n\nඔබට මෙම දුරකථනය අගුළු හැරීමට ඔබේ ඔරලෝසුව භාවිතා කළ හැක:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"දැන් නොවේ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ඉදිරියට යන්න"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"තව"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"එය ක්‍රියා කරන ආකාරය"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"ඔබේ ඔරලෝසුව ඔබේ මැණික් කටුවෙහි සහ මෙම දුරකථනයට ළඟා විය හැකි දුරින් අගුළු හැර තිබිය යුතු යි. ඔබේ ඔරලෝසුව ඔබේ මැණික් කටුවෙහි තිබෙන අතරේ ඔබට එය නැවත අගුළු හැරීමට අවශ්‍ය නොවනු ඇත."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"මෙම දුරකථනය අගුළු හැර ඇති විට, ඔබට ඔබේ ඔරලෝසුවෙහි දැනුම් දෙනු ලැබේ. ඔබ අදහස් නොකළ විට එය අගුළු හරිනු ලැබුවේ නම්, දුරකථනය නැවත අගුළු දැමීමට දැනුම්දීම තට්ටු කරන්න."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"ඔබට පාලනය බාරයි"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"ඔබට සැකසීම් තුළ ඕනෑම වේලාවක දී ඔරලෝසුව අගුළු හැරීම වෙතින් ඔබේ ඔරලෝසුව ඉවත් කළ හැක"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"දැනුම්දීමක් තට්ටු කරන්න"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"අගුළු තිරය මත ඉහළට ස්වයිප් කරන්න"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"ඔබේ ඔරලෝසුව තෝරා ගන්න"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"ලබා ගත හැකි ඔරලෝසු"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"අවලංගු කරන්න"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"තහවුරු කරන්න"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ඔබ සියල්ල සකසා ඇත!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"දැන් ඔබට ඔබ අගුලු තිරය මත ස්වයිප් කරන විට හෝ දැනුම්දීමක් මත තට්ටු කරන විට මෙම දුරකථනය අගුලු හැරීමට ඔබේ ඔරලෝසුව භාවිත කළ හැක"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"නිමයි"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"ඔරලෝසුව අගුලු හැරීම"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"ඔබ අගුලු තිරය මත ස්වයිප් කරන විට හෝ දැනුම්දීමක් තට්ටු කරන විට ඔබට මෙම දුරකථනය අගුලු හැරීමට ඔබේ ඔරලෝසුව භාවිත කළ හැක"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"ඔරලෝසුව අගුලු හැරීම භාවිත කිරීමට, ඔබේ ඔරලෝසුව ඔබේ මැණික් කටුවෙහි, ළඟා විය හැකිව අගුලු හැර, මෙම දුරකථනයට සම්බන්ධ කළ යුතු යි. සම්බන්ධතාව බාධා වුවහොත්, ඔරලෝසුව අගුලු හැරීම භාවිත කිරීමට පෙර ඔබට දුරකථනය අගුලු හැරීමට සිදු වෙයි.\n\nමතක තබා ගන්න:\nඔබට වරකට ලබා ගත හැක්කේ එක ඔරලෝසු සැකසුමක් පමණි. තව ඔරලෝසුවක් එක් කිරීමට පළමුව වත්මන් එක ඉවත් කරන්න."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"වැඩ සඳහා මුහුණු සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"පිහිටුවීම අවශ්‍යයි"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ආරක්ෂාව"</string>
     <string name="privacy_header" msgid="5526002421324257007">"පෞද්ගලිකත්වය"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"කාර්යාල පැතිකඩ"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"පුද්ගලික අවකාශය"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"පෞද්ගලික යෙදුම් අගුළු දමා සඟවා තබා ගන්න"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"පෞද්ගලික යෙදුම් ඔබට සැඟවීමට හෝ අගුළු දැමීමට හැකි වෙනම අවකාශයක තබා ගන්න"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"පුද්ගලික අවකාශ අගුල"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"ඔබට ඔබේ උපාංගය අගුලු හරින ආකාරයටම ඔබේ පුද්ගලික අවකාශය අගුලු ඇරීමට හෝ වෙනත් අගුලක් තෝරා ගැනීමට හැක"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"උපාංග තිර අගුල භාවිතා කරන්න"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"මුහුණ සහ ඇඟිලි සලකුණු අගුළු හැරීම"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ඇඟිලි සලකුණු අගුළු හැරීම"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"මුහුණෙන් අගුළු හැරීම"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"පිහිටුවීමට තට්ටු කරන්න"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"පුද්ගලික අවකාශය සඳහා ඇඟිලි සලකුණු අගුලු හැරීම"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"පුද්ගලික අවකාශය සඳහා මුහුණෙන් අගුලු හැරීම"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"අගුළු හැරීමට ක්‍රම"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"උපාංග තිර අගුලට සමාන"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"පුද්ගලික අවකාශය සඳහා නව අගුලක් තෝරා ගන්නද?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"පෞද්ගලික ඉඩ ස්වයංක්‍රීයව අගුළු දමන්න"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"ඔබ යම් කාලයක් සඳහා ඔබේ උපාංගය භාවිතා කර නොමැති නම් ඔබට ඔබේ පෞද්ගලික ඉඩ ස්වයංක්‍රීයව අගුළු දැමිය හැක"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"උපාංගය අගුළු දමන සෑම අවස්ථාවකම"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"මිනිත්තු 5ක් අක්‍රිය වීමෙන් පසුව"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"කිසිදා නැත"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"අගුළු දැමූ විට සඟවන්න"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"අගුලු දමා ඇති විට පුද්ගලික අවකාශය සඟවන්න"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"ඔබේ උපාංගය මත පුද්ගලික අවකාශයක් ඇති බවට අන් අය දැනගැනීම වැළැක්වීමට, ඔබට එය ඔබේ යෙදුම් ලැයිස්තුවෙන් සැඟවිය හැක"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"සැඟව ඇති විට පුද්ගලික අවකාශයට ප්‍රවේශ වන්න"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ඔබේ යෙදුම් ලැයිස්තුවෙන්, සෙවීම් තීරුවේ \"පෞද්ගලික අවකාශයට\" ඇතුළු වන්න"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"පුද්ගලික අවකාශයේ ටයිලය තට්ටු කරන්න"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ඔබේ පුද්ගලික අවකාශය අගුලු හරින්න"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ක්‍රියාවිරහිතයි"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ක්‍රියාත්මකයි"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"පද්ධතිය"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"පෞද්ගලික අවකාශය මකන්න"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"පෞද්ගලික අවකාශය මකන්න ද?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ඔබේ පෞද්ගලික අවකාශය ඔබේ උපාංගයෙන් ඉවත් කරනු ඇත. සියලු පෞද්ගලික යෙදුම් සහ දත්ත මකා දැමෙනු ඇත. ඔබට මෙම ක්‍රියාව පසුගමනය කළ නොහැක."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"පහත ගිණුම් ඔබේ පෞද්ගලික අවකාශයෙන් ඉවත් කරනු ඇත:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"මකන්න"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"පෞද්ගලික අවකාශය මකමින්…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"මෙයට මොහොතක් ගත විය හැක"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"පුද්ගලික අවකාශය මකා දමන ලදී"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"පුද්ගලික අවකාශය මැකීමට නොහැකි විය"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"පෞද්ගලික ඉඩ අගුළු හැර ඇත"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"තිර අගුලක් සකසන්න"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"ඔබේ පෞද්ගලික අවකාශය භාවිතය සඳහා, මෙම උපාංගයෙහි තිර අගුලක් සකසන්න"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"තිර අගුල සකසන්න"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"අවලංගු කරන්න"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"අවලංගු කරන්න"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"පිහිටුවන්න"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"පෞද්ගලික අවකාශයක් පිහිටුවන්න"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"පෞද්ගලික යෙදුම් ඔබට සැඟවීමට හෝ අගුළු දැමීමට හැකි වෙනම අවකාශයක තබා ගන්න"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"එය ක්‍රියා කරන ආකාරය"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ඔබට ඔබේ යෙදුම් ලැයිස්තුවෙහි පහළින් ඔබේ පෞද්ගලික අවකාශය වෙත ප්‍රවේශ විය හැක"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ඔබේ පෞද්ගලික අවකාශයේ යෙදුම් අගුලකින් ආරක්ෂා කර ඇත"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"ඔබේ පෞද්ගලික අවකාශය තුළ යෙදුම්වලින් ලැබෙන දැනුම්දීම් එය අගුළු දමා ඇති විට සඟවනු ලැබේ"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"ඔබේ පෞද්ගලික අවකාශය අගුළු දමා ඇති විට ඔබේ පෞද්ගලික අවකාශයේ යෙදුම් අවසර කළමනාකරු, පෞද්ගලිකත්ව උපකරණ පුවරුව, සහ වෙනත් සැකසීම්වල දිස් නොවනු ඇත.\n\nඔබේ පෞද්ගලික අවකාශය නව උපාංගයකට ගෙන යා නොහැක. ඔබට එය වෙනත් උපාංගයක භාවිතා කිරීමට අවශ්‍ය නම් ඔබට වෙනත් පෞද්ගලික අවකාශයක් පිහිටුවීමට අවශ්‍ය වනු ඇත.\n\nඔබේ උපාංගය පරිගණකයකට සම්බන්ධ කරන හෝ ඔබේ උපාංගයෙහි හානිකර යෙදුම් ස්ථාපනය කරන ඕනෑම අයෙකුට ඔබේ පෞද්ගලික අවකාශයට ප්‍රවේශ විය හැක."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"පෞද්ගලික අවකාශය පිහිටුවමින්…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"පුද්ගලික අවකාශය අගුලු දමා ඇති විට ඒ වෙතින් එන දැනුම් දීම් සැඟවී ඇත"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ඡායාරූප හෝ ගොනු බෙදා ගැනීමට පුද්ගලික අවකාශය අගුලු හරින්න"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"සමහර යෙදුම් දැනටමත් ඔබේ පෞද්ගලික අවකාශයේ ස්ථාපනය කර ඇත"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"පුද්ගලික අවකාශයක් සැකසීමට නොහැකි විය"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"නැවත උත්සාහ කරන්න"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"පෞද්ගලික අවකාශය අගුළු හැරීමට තිර අගුල භාවිතා කරන්න ද?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"ඔබට ඔබේ උපාංගය අගුළු හරින ආකාරයටම ඔබේ පෞද්ගලික අවකාශය අගුළු ඇරීමට හෝ වෙනත් අගුලක් තෝරා ගැනීමට හැක"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"තිර අගුල භාවිතා කරන්න"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"නව අගුලක් තෝරා ගන්න"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"සියල්ල සූදානම්!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"ඔබේ පුද්ගලික අවකාශය සොයා ගැනීමට, ඔබේ යෙදුම් ලැයිස්තුවට ගොස් පහළට අනුචලන කරන්න"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"නිමයි"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"පෞද්ගලික අවකාශය සොයා ගැනීමට පහළට අනුචලනය කරන්න"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"පුරන්න"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ඔබේ පුද්ගලික ඉඩ සමග භාවිත කිරීමට ගිණුමකට පුරන්න"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"දැන් නොවේ"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ඉදිරියට යන්න"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"ඔබේ පෞද්ගලික අවකාශය සඳහා අගුලක් තෝරා ගන්න"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"ඔබට ඔබේ ඇඟිලි සලකුණ භාවිතයෙන් ඔබේ පෞද්ගලික අවකාශය අගුළු ඇරීමට හැක. ආරක්ෂාව සඳහා, මෙම විකල්පයට උපස්ථ අගුලක් අවශ්‍ය වේ."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ඔබේ පෞද්ගලික අවකාශය සඳහා PIN එකක් සකසන්න"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ඔබේ පෞද්ගලික අවකාශය සඳහා මුරපදයක් සකසන්න"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ඔබේ පෞද්ගලික අවකාශය සඳහා රටාවක් සකසන්න"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"ඔබට ඇඟිලි සලකුණු <xliff:g id="COUNT">%d</xliff:g> දක්වා එකතු කළ හැකිය"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"ඔබ ඇඟිලි සලකුණු උපරිම සංඛ්‍යාව එක් කර ඇත"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"තවත් ඇඟිලි සලකුණු එක් කළ නොහැකිය"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"රටාව"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"මුරපදය"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"තිර අගුල මකන්නද?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"සියලු වර්ගවල උපාංග අගුලු හැරීම ඉවත් කරන්න ද?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"පැතිකඩ ආරක්ෂාව ඉවත් කරන්නද?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"රටාවක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"රටාවක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>මෙය ඔබගේ උපාංගයේ ගබඩා කර ඇති ඇඟිලි සලකුණු ආකෘතිය මකයි. ඔබගේ මුහුණු ආකෘතියද ස්ථිරව සහ ආරක්ෂිතව මකනු ඇත. ඔබට යෙදුම්වල සත්‍යාපනය සඳහා ඔබගේ මුහුණ හෝ ඇඟිලි සලකුණ භාවිත කළ නොහැකි වනු ඇත."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN එකක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"ඔබට ඔබේ රහස් අංකය වැනි සුරැකි දත්ත අහිමි වෙයි.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ගෙවීමට තට්ටු කිරීමට සකසා ඇති කාඩ්පත් ඉවත් කරනු ලැබේ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>උපාංග අගුලු හැරීම අවශ්‍ය මුදල් පසුම්බි සහ වෙනත් යෙදුම් නිසි ලෙස ක්‍රියා නොකරයි."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN එකක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>මෙය ඔබගේ උපාංගයේ ගබඩා කර ඇති ඇඟිලි සලකුණු ආකෘතියද මකයි. ඔබට යෙදුම්වල සත්‍යාපනය සඳහා ඔබගේ ඇඟිලි සලකුණ භාවිත කළ නොහැකි වනු ඇත."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"ඔබට ඔබේ රහස් අංකය සහ ඇඟිලි සලකුණු මාදිලිය වැනි සුරැකි දත්ත අහිමි වෙයි.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ගෙවීමට තට්ටු කිරීමට සකසා ඇති කාඩ්පත් ඉවත් කරනු ලැබේ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>උපාංග අගුලු හැරීම අවශ්‍ය මුදල් පසුම්බි සහ වෙනත් යෙදුම් නිසි ලෙස ක්‍රියා නොකරයි."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN එකක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ඔබගේ මුහුණු ආකෘතියද ස්ථිරව හා ආරක්ෂිතව මකනු ඇත. ඔබට යෙදුම්වල සත්‍යාපනය සඳහා ඔබගේ මුහුණ භාවිත කළ නොහැකි වනු ඇත."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"ඔබට ඔබේ රහස් අංකය සහ මුහුණු මාදිලිය වැනි සුරැකි දත්ත අහිමි වෙයි.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ගෙවීමට තට්ටු කිරීමට සකසා ඇති කාඩ්පත් ඉවත් කරනු ලැබේ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>උපාංග අගුලු හැරීම අවශ්‍ය මුදල් පසුම්බි සහ වෙනත් යෙදුම් නිසි ලෙස ක්‍රියා නොකරයි."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN එකක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>මෙය ඔබගේ උපාංගයේ ගබඩා කර ඇති ඇඟිලි සලකුණු ආකෘතිය මකයි. ඔබගේ මුහුණු ආකෘතියද ස්ථිරව සහ ආරක්ෂිතව මකනු ඇත. ඔබට යෙදුම්වල සත්‍යාපනය සඳහා ඔබගේ මුහුණ හෝ ඇඟිලි සලකුණ භාවිත කළ නොහැකි වනු ඇත."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"ඔබට ඔබේ රහස් අංකය, මුහුණු සහ ඇඟිලි සලකුණු මාදිලි වැනි සුරැකි දත්ත අහිමි වෙයි.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ගෙවීමට තට්ටු කිරීමට සකසා ඇති කාඩ්පත් ඉවත් කරනු ලැබේ.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>උපාංග අගුලු හැරීම අවශ්‍ය මුදල් පසුම්බි සහ වෙනත් යෙදුම් නිසි ලෙස ක්‍රියා නොකරයි."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"මුරපදයක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"මුරපදයක් ඔබගේ දුරකථනය නැති වුවහොත් හෝ සොරකම් කර ඇත්නම් එය ආරක්ෂා කරයි.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"බ්ලූටූත්"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"බ්ලූටූත්"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> සමග යුගල කරන්නද?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"පවතින සම්බන්ධීකරණ කට්ටලයට නව සාමාජිකයෙකු එක් කරන්න"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ඔබේ ශ්‍රව්‍ය උපාංගයේ දෙවන කොටස එක් කිරීමට තහවුරු කරන්න"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"බ්ලූටූත් යුගල කේතය"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"යුගල කිරීමේ කේතය ටයිප් කරන්න සහ ඉන් පසු ආපසු එම හෝ ඇතුළු කිරීම ඔබන්න"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN හි අකුරු හෝ සංකේත අඩංගු වේ"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"සංඛ්‍යා 16 ක් විය යුතුය"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"ඔබට මෙම PIN එක අනෙක් උපාංගයේ ටයිප් කිරීමට සිදුවනු ඇත."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"ඔබට මෙම මුරයතුර අනෙක් උපාංගයේ ටයිප් කිරීමට සිදුවනු ඇත."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"සම්බන්ධීකරණය කළ කට්ටලය සමඟ යුගල කිරීම තහවුරු කරන්න"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ශ්‍රව්‍ය උපාංගය සමග යුගල කිරීම තහවුරු කරන්න"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ඔබගේ සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්‍රවේශ විමට ඉඩ දෙන්න"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"සම්බන්ධතා සහ ඇමතුම් ඉතිහාසය වෙත ප්‍රවේශ වීමට ද ඉඩ දෙන්න"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"ඇමතුම් නිවේදන සහ තවත් දේ සඳහා තතු භාවිත කෙරේ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> වෙත සම්බන්ධ වීමට නොහැකි විය."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"තිබෙන උපාංග"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"සම්බන්ධ කරන්න"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"විසන්ධි කරන්න"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"යුගල කරන්න සහ සම්බන්ධ කරන්න"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"බ්ලූටූත් සබල විට, ඔබගේ උපාංගයට අවට ඇති බ්ලූටූත් උපාංග සමඟ සන්නිවේදනය කළ හැක."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"බ්ලූටූත් ක්‍රියාත්මක විට, ඔබේ උපාංගයට අවට ඇති බ්ලූටූත් උපාංග සමග සන්නිවේදනය කළ හැක"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"බ්ලූටූත් ක්‍රියාත්මක විට, ඔබේ උපාංගයට වෙනත් අවට බ්ලූටූත් උපාංග සමග සන්නිවේදනය කළ හැක.\n\nඋපාංග අත්දැකීම වැඩි දියුණු කිරීම සඳහා, යෙදුම් සහ සේවාවලට බ්ලූටූත් ක්‍රියාවිරහිත වූ විට පවා, ඕනෑම වේලාවක දී අවට උපාංග සඳහා ස්කෑන් කළ හැක. උදාහරණයක් ලෙස, ස්ථානය පදනම් වූ විශේෂාංග සහ සේවා වැඩි දියුණු කිරීමට මෙය භාවිතා කළ හැක. ඔබට මෙය බ්ලූටූත් ස්කෑන් කිරීමේ සැකසීම් තුළ වෙනස් කළ හැක."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"වෙනස් කරන්න"</string>
     <string name="device_details_title" msgid="1155622417516195481">"උපාංග විස්තර"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"දෝෂ නිරාකරණ කළ හැකි යෙදුම් සඳහා බයිට්කේතය සත්‍යාපන කිරීමට ART හට ඉඩ දෙන්න"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"නැවුම් අනුපාතය පෙන්වන්න"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"වත්මන් සංදර්ශක නැවුම් කිරීමේ අනුපාතය පෙන්වන්න"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR අනුපාතය පෙන්වන්න"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"වත්මන් HDR/SDR අනුපාතය පෙන්වන්න"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC සඳහා උපාංග අගුලු ඇරීම අවශ්‍යය"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android බීම්"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"අහස්යානා ආකාරය තුළ"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"පොදු ජාල සඳහා දැනුම් දෙන්න"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"ඉහළ ගුණත්වයේ විවෘත ජාලයක් ලබා ගත හැකි විට දැනුම් දෙන්න"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ජාල වලට ඉඩ දෙන්න"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP යනු අඩුවෙන් සුරක්ෂිත පැරණි ආරක්ෂක ප්‍රොටෝකෝලයකි"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"ඔබේ වාහකය WEP ජාල වලට සුරක්ෂිත බවින් අඩු නිසා ඉඩ නොදෙයි"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi ස්වයංක්‍රියව නැවත සබල කරන්න"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"ඔබගේ නිවෙස් ජාලය වැනි සුරැකි ඉහළ ගුණත්ව ජාල අවට ස්වයංක්‍රියව නැවත Wi-Fi සබල කරන්න"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ස්ථානය ක්‍රියාවිරහිත කර ඇති නිසා ලබා ගත නොහැකිය. "<annotation id="link">"ස්ථානය"</annotation>" ක්‍රියාත්මක කරන්න."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi ක්‍රියාවිරහිත විට පවා, ඕනෑම අවස්ථාවක Wi‑Fi ජාල සඳහා ස්කෑන් කිරීමට Wi011Fi ස්කෑන් කිරීම යෙදුම් සහ සේවාවලට ඉඩ දෙයි. උදාහරණයක් ලෙස, ස්ථානය-පදනම් වූ විශේෂාංග සහ සේවා වැඩි දියුණු කිරීම සඳහා මෙය භාවිත කළ හැකිය."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ක්‍රියාත්මක කරන්න"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi ස්කෑන් කිරීම ක්‍රියාත්මකයි"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"මෙම ජාලය අඩුවෙන් සුරක්ෂිත පැරණි ආරක්ෂක ප්‍රොටෝකෝලයක් භාවිතා කරයි"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> අවහිර කර ඇත"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"මෙම ජාලය WEP නම් පැරණි ආරක්ෂක ප්‍රොටෝකෝලය භාවිතා කරන අතර, එය අඩුවෙන් සුරක්ෂිත වේ. කෙසේ හෝ සම්බන්ධ වීමට, ඔබට WEP ජාලවලට ඉඩ දිය හැක."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ඔබේ වාහකයා ඔබට මෙම ජාලයට සම්බන්ධ වීමට ඉඩ නොදෙන්නේ එය අඩුවෙන් සුරක්ෂිත පැරණි ආරක්ෂක ප්‍රොටෝකෝලයක් භාවිතා කරන බැවිනි"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP ඉඩ දෙන්න"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"වසන්න"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"උසස් විකල්ප"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"පතන ලැයිස්තු උසස් විකල්ප"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"දිග හරින්න"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi-Fi හි සිටින්න"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"කවදාවත් නැවත වරක් නොපෙන්වන්න"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"සම්බන්ධ කරන්න"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi සක්‍රීයයි"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> වෙත සබැඳිණි"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> වෙත සබැඳෙමින්"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"සබැඳෙමින්…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ජාලය වෙත සම්බන්ධ වීම අසාර්ථක විය"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"ජාලය පරාසය තුළ නැත"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"අමතක කරන්න"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"වෙනස් කරන්න"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ජාලය අමතක කිරීම අසාර්ථක වුණි"</string>
     <string name="wifi_save" msgid="2312643132472226807">"සුරකින්න"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ජාලය සුරැකීම අසාර්ථක වුණි"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"අවලංගු කරන්න"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"ජංගම දත්ත"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ඊතර්නෙට්"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ආරෝපණය වේ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ආරෝපණය වේ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"හොට්ස්පොට් සම්බන්ධතාවය"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"සබැඳුමේ ප්‍රබලතාව"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"සුරකින ලද ජාල"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"මුරපදයක් සකසා නැත"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"හොට්ස්පොට් නම"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"හොට්ස්පොට් මුරපදය"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP කලාපය"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ස්වයංක්‍රියව හොට්ස්පොට් ක්‍රියාවිරහිත කරන්න"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"කිසිදු උපාංගයක් සබැඳී නැති විට"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"අනුකූලතාව දීර්ඝ කරන්න"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"සුදු සමබරතාව සංදර්ශන කරන්න"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"නැවීම මත යෙදුම් භාවිතය දිගටම කරගෙන යන්න"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"සුමට සංදර්ශකය"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"සමහර අන්තර්ගත සඳහා නැවුම් කිරීමේ අනුපාතය 60 සිට <xliff:g id="ID_1">%1$s</xliff:g> Hz දක්වා ස්වයංක්‍රීයව ඉහළ නංවයි. බැටරි භාවිතය වැඩි කරයි."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ක්‍රීඩා සඳහා පෙරනිමි රාමු අනුපාතය අබල කරන්න"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ක්‍රීඩා සඳහා උපරිම රාමු අනුපාතය <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz හි දී සීමා කිරීම අබල කරන්න."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"සුමට සංදර්ශකය"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"සමහර අන්තර්ගතය සඳහා නැවුම් කිරීමේ අනුපාතය <xliff:g id="ID_1">%1$d</xliff:g> දක්වා ස්වයංක්‍රීයව ඉහළ නංවයි. බැටරි භාවිතය වැඩි කරයි."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"කාර්යබහුල යළි නැවුම් කිරීමේ අනුපාතය බල කරන්න"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"වැඩි දියුණු කළ ස්පර්ශ ප්‍රතිචාර සඳහා ඉහළම යළි නැවුම් කිරීමේ අනුපාතය සහ සජීවිකරණ ගුණාත්මකභාවය. බැටරි භාවිතය වැඩි කරයි."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"තිර අවධානය"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"යමෙක් තිරය දිහා බලන්නේ ද යන්න බැලීමට තිර අවධානය ඉදිරිපස කැමරාව භාවිතා කරයි. එය උපාංගයෙහි ක්‍රියා කරන අතර, රූප කිසි විටෙක ගබඩා කිරීම හෝ Google වෙත යැවීම සිදු නොවේ."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"තිර අවධානය ක්‍රියාත්මක කරන්න"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"එය දෙස බලන විට තිරය ක්‍රියාත්මකව තබා ගන්න"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"දිගු තිර කල් ඉකුත්වීම වැඩිපුර බැටරියක් භාවිතා කරනු ඇත."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"කැමරාව අගුලු දමා ඇත"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"මුහුණ හඳුනා ගැනීම සඳහා කැමරාව අගුලු හැරිය යුතුය"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"තිර අවධානය සඳහා කැමරාව අගුලු හැරිය යුතුය"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (sim විවරය <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (sim විවරය <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (මූලික)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"බැලීමට, සුරකින ලද ජාලය තෝරන්න"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL අනුවාදය"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"බැටරි මට්ටම"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"වාර්ගික"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"වාර්ගික සැකසීම්"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"චන්ද්‍රිකා පණිවුඩ යැවීම"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ප්‍රවේශ ස්ථානය සංස්කරණය"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ප්‍රවේශ ස්ථානය එක් කරන්න"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"පිහිටුවා නැත"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"සකසා නැත"</string>
     <string name="apn_name" msgid="6677695784108157953">"නම‍"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN සබල කරන ලදි"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN අබල කර ඇත"</string>
     <string name="bearer" msgid="3231443241639159358">"ජාල සැපයුම්කරු"</string>
+    <string name="network_type" msgid="748590707422733595">"ජාල වර්ගය"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"සඳහන් නොකළ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO මාදිලිය"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO අගය"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN මකන්න"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"සුරකින්න"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"අවලංගු කරන්න"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"අනුපත් apn ප්‍රවේශය."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"නම ක්ෂේත්‍රය හිස් විය නොහැක."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN හිස් විය නොහැක."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ක්ෂේත්‍රය සංඛ්‍යා 3 ක් විය යුතුය."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ක්ෂේත්‍රය ඉලක්කම් 2 ක් හෝ 3 ක් විය යුතුය."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"වාහකය %s වර්ගයේ APN එක් කිරීම සඳහා සහාය නොදක්වයි."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ක්ෂේත්‍රය වලංගු විය යුතු යි."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"සුපුරුදු APN සැකසුම් යළි පිහිටුවමින්."</string>
     <string name="menu_restore" msgid="4310539620115151551">"සුපුරුදු වෙත යළි සකසන්න"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"සුපුරුදු APN සැකසීම නැවත සැකසීම සම්පූර්ණ කරන ලදි."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"යළි සකසන්න"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"බ්ලූටූත් සහ Wi‑Fi යළි සකසා ඇත"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMs මකන්න"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"මෙය ජංගම සේවා සැලසුම් කිසිවක් අවලංගු නොකරනු ඇත. ප්‍රතිස්ථාපන SIM බාගැනීමට, ඔබගේ වාහකය අමතන්න."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"මෙය ඔබේ ජංගම සේවා සැලැස්ම අවලංගු නොකරයි. ප්‍රතිස්ථාපන SIM එකක් ලබා ගැනීමට, ඔබේ වාහකයා අමතන්න."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"සැකසීම් යළි පිහිටුවන ලදි"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"සියලු ජාල සැකසීම් යළි සකසන්නේද? ඔබට මෙම ක්‍රියාව අස් කළ නොහැක."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"සියලු ජාල සැකසීම් යළි සකසන්න සහ eSIMs මකන්න ද? ඔබට මෙම ක්‍රියාව පසුගමනය කළ නොහැක."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"යළි පිහිටුවන්නද?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"මෙම පරිශීලකයා වෙත ජාලය යළි පිහිටුවීමේ හැකියාව නැත"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"ජාල සැකසීම් යළි පිහිටුවන ලදි"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM මැකිය නොහැක"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"දෝෂයක් හේතුවෙන් eSIMs මැකිය නොහැක.\n\nඔබේ උපාංගය යළි අරඹා නැවත උත්සාහ කරන්න."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM මකා දැමිය නොහැක"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"යමක් වැරදී ඇති අතර ඔබේ eSIM මකා නැත.\n\nඔබේ උපාංගය නැවත අරඹා නැවත උත්සාහ කරන්න."</string>
     <string name="main_clear_title" msgid="277664302144837723">"සියලු දත්ත මකන්න (කර්මාන්තශාලා යළි සැකසීම)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"සියලු දත්ත මකන්න (කර්මාන්තශාලා යළි සැකසීම)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"සංගීතය"</li>\n<li>"ඡායාරූප"</li>\n<li>"වෙනත් පරිශීලක දත්ත"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"මෙය ඔබගේ ජංගම සේවා සැලසුම අවලංගු නොකරනු ඇත."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ඔබේ පුද්ගලික තොරතුරු සහ බාගත් යෙදුම් සියල්ල මකනු ලැබේ. ඔබට මෙම ක්‍රියාව පසුගමනය කළ නොහැකිය."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"බාගත් යෙදුම් &amp; SIM ඇතුළුව ඔබේ සියලු පුද්ගලික තොරතුරු මකනු ලැබේ. ඔබට මෙම ක්‍රියාව පසුගමනය කළ නොහැකිය."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"බා ගත් යෙදුම් සහ eSIM ඇතුළුව ඔබේ සියලු පුද්ගලික තොරතුරු මකා දමයි. ඔබට මෙම ක්‍රියාව අස් කළ නොහැක."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"සියලු දත්ත මකන්නද?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"මෙම පරිශීලකයා සඳහා කර්මාන්තශාලා යළි සැකසීම ලබා ගත නොහැකිය"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"මකමින්"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"හොට්ස්පොට්, USB, බ්ලූටූත්, ඊතර්නෙට්"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"අන්තර්ජාලය වෙනත් උපාංග සමග බෙදා නොගනී"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ක්‍රියාවිරහිතයි"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ටෙදරින්"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi හොට්ස්පොට් භාවිත නොකරන්න"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"බ්ලූටූත් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ඊතර්නෙට් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB සහ බ්ලූටූත් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB සහ ඊතර්නෙට් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"බ්ලූටූත් සහ ඊතර්නෙට් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, බ්ලූටූත් සහ ඊතර්නෙට් හරහා පමණක් අන්තර්ජාලය බෙදා ගන්න"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB ටෙදරින්"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"බ්ලූටූත් ටෙදරින්"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ඊතර්නෙට් ටෙදරින්"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ඔබේ Wi-Fi හෝ ජංගම දත්ත සම්බන්ධතාව හරහා අනෙක් උපාංගවලට අන්තර්ජාලය ලබා දීමට හොට්ස්පොට් සහ ටෙදරින් භාවිත කරන්න. අවට උපාංග සමඟ අන්තර්ගත බෙදා ගැනීමට හොට්ස්පොට් එකක් තැනීමට ද යෙදුම්වලට හැකිය."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"උදවු"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"ජංගම ජාලය"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"ජංගම සැලසුම"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"කෙටි පණිවුඩ යෙදුම"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS යෙදුම වෙනස් කරන්නද?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ඔබගේ SMS යෙදුම ලෙස <xliff:g id="CURRENT_APP">%2$s</xliff:g> වෙනුවට <xliff:g id="NEW_APP">%1$s</xliff:g> භාවිතා කරන්නද?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi සහායක වෙනස් කරන්නද?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ඔබගේ ජාල සම්බන්ධතා කළමනාකරණය කිරීමට <xliff:g id="CURRENT_APP">%2$s</xliff:g> වෙනුවට <xliff:g id="NEW_APP">%1$s</xliff:g> භාවිතා කරන්නද?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ඔබගේ ජාල සම්බන්ධතා කළමනාකරණය කිරීමට <xliff:g id="NEW_APP">%s</xliff:g> භාවිතා කරන්නද?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"නොදන්නා SIM වාහකයෙක්"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> සතුව දන්නා ප්‍රතිපාදන වෙබ් අඩවි නොමැත"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"කරුණාකර SIM කාඩ් පතක් ඇතුල් කරන්න සහ නැවත අරඹන්න"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"කරුණාකර අන්තර්ජාලය වෙත සම්බන්ධ වන්න"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"මෑත කාලීන ස්ථාන ඉල්ලීම්"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"කාර්යාල පැතිකඩ සඳහා ස්ථානය"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"යෙදුම් ස්ථාන අවසර"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ප්‍රවේශය හිස් කරන්න"</string>
     <string name="controls_label" msgid="8671492254263626383">"පාලක"</string>
     <string name="force_stop" msgid="2681771622136916280">"බලෙන් නවත්වන්න"</string>
+    <string name="archive" msgid="9074663845068632127">"ලේඛනාරක්ෂණය"</string>
+    <string name="restore" msgid="7622486640713967157">"ප්‍රතිසාධනය කරන්න"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"ප්‍රතිසාධන කිරීම"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"ප්‍රතිසාධන කිරීම."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"ප්‍රතිසාධන කිරීම.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"ප්‍රතිසාධන කිරීම..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"එකතුව"</string>
     <string name="application_size_label" msgid="6407051020651716729">"යෙදුම් විශාලත්වය"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB ආචයන යෙදුම"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"පැකේජ විශාලත්වය ගණනය කිරීමට නොහැකි විය."</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> අනුවාදය"</string>
     <string name="move_app" msgid="5421158479447276791">"මාරු කරන්න"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ලේඛනාරක්ෂණය අසමත් විය"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"ලේඛනාරක්ෂිත <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"ප්‍රතිසාධනය අසමත් විය"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ප්‍රතිසාධනය කරමින්"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"තවත් සංක්‍රමණයක් දැනටමත් සිදු කරමින් පවතී."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"අවශ්‍යතරම් ආචයන ඉඩ නොමැත."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"යෙදුම නොපවතී."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"තිරය මත යතුරු පුවරුව ලබා ගත හැකිය"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"තිර යතුරු පුවරුවල කළමනාකරණය කරන්න"</string>
     <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="6922850403920596246">"භෞතික යතුරුපුවරු ප්‍රවේශ්‍යතාව සඳහා පනින යතුරු සබල කරන්න"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"මන්දගාමී යතුරු"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"භෞතික යතුරුපුවරු ප්‍රවේශ්‍යතාව සඳහා මන්දගාමී යතුරු සබල කරන්න"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ඇලෙන යතුරු"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"භෞතික යතුරුපුවරු ප්‍රවේශ්‍යතාව සඳහා ඇලෙන යතුරු සබල කරන්න"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"තවත් විකල්ප සඳහා ස්පර්ශ පුවරුවේ පහළ දකුණු කෙළවර තට්ටු කරන්න"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"දර්ශක වේගය"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ස්පර්ශක පුවරු අභිනයන් ඉගෙන ගන්න"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"මුල් පිටුවට යන්න"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ඔබේ ස්පර්ශපුවරුවේ ඕනෑම තැනක ඇඟිලි තුනකින් ඉහළට ස්වයිප් කරන්න"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ආපසු යන්න"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"භාවිත කාලය අනුව වර්ග කරන්න"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"අවසන් භාවිත කාලය අනුව සුබෙදන්න"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"යෙදුමේ නම අනුව වර්ග කරන්න"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"අවසන් වරට භාවිත කළේ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"අවසන් වරට භාවිත කළේ"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"කවදාවත් නැහැ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"භාවිත කාලය"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ප්‍රවේශ්‍යතාව"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ළඟාවීමේ සැකසීම්"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"තට්ටු-තුනක් සමඟ විශාලනය කරන්න"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"කෙටිමඟ සමඟ විශාලන කරන්න"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"කෙටිමඟ සහ තට්ටු කිරීම් තුනක් සමඟ විශාලන කරන්න"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> පිළිබඳ"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"විවෘත කිරීමට ප්‍රවේශ්‍යතා බොත්තම භාවිත කරන්න"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"විවෘත කිරීමට හඬ පරිමා යතුරු අල්ලාගෙන සිටින්න"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"විවෘත කිරීමට තිරය තෙවරක් තට්ටු කරන්න"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"විවෘත කිරීමට ඇඟිලි දෙකකින් තිරය ද්විත්ව තට්ටු කරන්න"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"විවෘත කිරීමට ඉංගිතය භාවිත කරන්න"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ප්‍රවේශ්‍යතා ඉංගිතය භාවිත කරන්න"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"මෙම විශේෂාංගය භාවිත කිරීමට, ඔබේ තිරයේ පහළ ඇති <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ප්‍රවේශ්‍යතා බොත්තම තට්ටු කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ප්‍රවේශ්‍යතා බොත්තම ස්පර්ශ කර අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"මෙම විශේෂාංගය භාවිත කිරීමට, ඔබගේ තිරයේ ඇති ප්‍රවේශ්‍යතා බොත්තම තට්ටු කරන්න."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"මෙම විශේෂාංගය භාවිත කිරීමට, හඬ පරිමා යතුරු දෙකම ඔබා අල්ලාගෙන සිටින්න"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"විශාලනය ආරම්භ කිරීමට සහ නතර කිරීමට, ඔබේ තිරයේ ඕනෑම තැනක තෙවරක් තට්ටු කරන්න."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"විශාලනය ආරම්භ කිරීමට සහ නැවැත්වීමට, ඇඟිලි දෙකකින් ඔබේ තිරයේ ඕනෑම තැනක ද්විත්ව තට්ටු කරන්න."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"මෙම විශේෂාංගය භාවිත කිරීමට, ඇඟිලි 2කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 2කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"මෙම විශේෂාංගය භාවිත කිරීමට, ඇඟිලි 3කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 3කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ප්‍රවේශ්‍යතා විශේෂාංගයක් භාවිත කිරීමට, ඇඟිලි 2කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 2කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ප්‍රවේශ්‍යතා විශේෂාංගයක් භාවිත කිරීමට, ඇඟිලි 3කින් තිරයේ පහළ සිට ඉහළට ස්වයිප් කරන්න.\n\nවිශේෂාංග අතර මාරු වීමට, ඇඟිලි 3කින් ඉහළට ස්වයිප් කර අල්ලාගෙන සිටින්න."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"තේරුණා"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ප්‍රවේශ්‍යතා බොත්තමේ සැකසීම්"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"බොත්තම් සැකසීම්"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> කෙටිමඟ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ප්‍රවේශ්‍යතා බොත්තම"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ප්‍රවේශ්‍යතා ඉංගිතය"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"හඬ පරිමා යතුරු අල්ලාගන්න"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"හඬ පරිමා යතුරු අල්ලාගන්න"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"හඬ පරිමා යතුරු දෙකම ඔබා අල්ලාගෙන සිටින්න"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ඇඟිලි දෙකේ ද්විත්ව තට්ටු තිරය"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ඇඟිලි දෙකේ ද්විත්ව තට්ටු තිරය"</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="6863958573135995927">"තිරය තෙවරක් තට්ටු කරන්න"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"තිරය ඉක්මනින් වාර {0,number,integer}ක් තට්ටු කරන්න. මෙම කෙටි මග ඔබගේ උපාංගය මන්දගාමී කළ හැකිය"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ප්‍රවේශ්‍යතා බොත්තම &amp; ඉංගිතය ගැන තව දැන ගන්න"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ප්‍රවේශ්‍යතා බොත්තම භාවිත කිරීම. ඉංගිතය 3-බොත්තම් සංචාලනය සමඟ ලබා ගත නොහැකිය."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"ප්‍රවේශ්‍යතා විශේෂාංගවලට ඉක්මනින් ප්‍රවේශ වන්න"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ආරම්භ කිරීමට"</b>\n"1. ප්‍රවේශ්‍යතා සැකසීම් වෙත යන්න\n2. විශේෂාංගයක් තෝරන්න සහ කෙටිමඟ තට්ටු කරන්න\n3. ඔබට විශේෂාංගයට ප්‍රවේශ වීමට බොත්තමක් හෝ ඉංගිතය යන දෙකින් භාවිත කිරීමට අවශ්‍යද යන්න තෝරන්න"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ආරම්භ කිරීමට"</b>\n"1. ප්‍රවේශ්‍යතා සැකසීම් වෙත යන්න\n2. විශේෂාංගයක් තෝරන්න සහ කෙටිමඟ තට්ටු කරන්න\n3. විශේෂාංගයට ප්‍රවේශ වීමට බොත්තම තෝරන්න"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"බොත්තම හෝ ඉංගිතය භාවිත කරන්න"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ස්ථානය"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"තරම"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"බල බොත්තම ඇමතුම අවසන් කරයි"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"විශාල මූසික දර්ශකය"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"මූසික දර්ශකය වඩාත් කැපී පෙනෙන ලෙස සකස් කරන්න"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"සියලු යෙදුම් අඳුරු කරන්න"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"තමන්ගේම අඳුරු තේමාවක් නොමැති යෙදුම් වෙත අදාළ වේ. සමහර යෙදුම්වලට ප්‍රතිලෝම වර්ණ වැනි, සංදර්ශක ගැටලු තිබිය හැක."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"සජීවීකරණ ඉවත් කරන්න"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"තිරය මත චලනය අඩු කරන්න"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"ඒකල ශ්‍රව්‍යය"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"කම්පනය සහ ස්පර්ශ භාවිත කරන්න"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"එලාම කම්පනය"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"මාධ්‍ය කම්පනය"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"යතුරු පුවරු කම්පනය"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"නාද කම්පනය"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"දැනුම්දීම් කම්පනය"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ප්‍රතිපෝෂණය ස්පර්ශ කරන්න"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"නවත්වන්න"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"අවලංගු කරන්න"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> නවත්වන්නද?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> ට තට්ටු කිරීම <xliff:g id="SERVICE">%2$s</xliff:g> නවත්වයි."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ක්‍රියාවිරහිත කරන්න"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ක්‍රියාත්මකව තබන්න"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ක්‍රියාවිරහිත කරන්න ද?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"සේවා ස්ථාපනය කර නැත"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"සේවාවක් තෝරාගෙන නැත"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"කිසිඳු විස්තරයක් සපයා නොමැත."</string>
     <string name="settings_button" msgid="2195468788019730377">"සැකසීම්"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ආලෝක සංවේදීතාව, ඡායා භීතිකාව, අඳුරු තේමාව, ඉරුවාරදය, හිසරදය, කියවීමේ ප්‍රකාරය, රාත්‍රී ප්‍රකාරය, දීප්තිය අඩු කිරීම, සුදු ලක්ෂ්‍යය"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"භාවිතයේ පහසුව, ප්‍රවේශ වීමේ පහසුව, සහාය, සහායක"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"දර්ශනය, ශ්‍රවණය, අන්ධ, බිහිරි, චාලක, හුරුකම, සහායක, සහාය, භාවිතයේ පහසුව, ප්‍රවේශයේ පහසුව, අත, උදවු"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"කවුළු විශාලනය, විශාලනය, විශාලනය කිරීම, අඩු දෘශ්‍යතාව, විශාල කරන්න, වඩා ලොකු කරන්න"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"සිරස්තල, සංවෘත සිරස්තල, CC, සජීවී පිටපත් කිරීම, ඇසීමට අපහසු, ශ්‍රවණය අහිමි, CART, කථනයෙන් පෙළට, උපසිරැසි"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"වර්ණ අසමානතාව"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"මෝටරය, මූසිකය"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"ශ්‍රවණාධාර, ඇසීමට අපහසු, ශ්‍රවණාබාධය, දර්වාකාර රෝපණ, විස්තාරණ උපාංග, හඬ සකසනයන්"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"චාලක, මූසිකය, බාහිර මූසිකය, හිස මූසිකය, අනුවර්තන මූසිකය, රෝද පුටුව, ජොයිස්ටික්"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"ශ්‍රවණාධාර, ඇසීමට අපහසු, ශ්‍රවණාබාධය, දර්වාකාර රෝපණ, විස්තාරණ උපාංග, හඬ සකසනයන්, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"ඇසීමට අපහසු, ශ්‍රවණය අහිමි, සිරස්තල, ටෙලිටයිප්, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"බොත්තම් තුනක්"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"හුරුකම, චාලක, ජ්‍යෙෂ්ඨ, ආතරයිටිස්, rsi, ආඝාතය, වෙව්ලීම, බහු දෘඩවීම, මස්තිෂ්ක අංශභාගය, සෙලවීම, පුනරාවර්තන වික්‍රියා තුවාල, අත"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"පමාව, හුරුකම, වෘද්ධ"</string>
     <string name="print_settings" msgid="8519810615863882491">"මුද්‍රණය කිරීම්"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ක්‍රියාවිරහිතයි"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 මුද්‍රණ සේවාවක් ක්‍රියාත්මකයි}one{මුද්‍රණ සේවා #ක් ක්‍රියාත්මකයි}other{මුද්‍රණ සේවා #ක් ක්‍රියාත්මකයි}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ක් ඉතිරියි"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> වෙත වෙනස් කරන්න"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"තිර කාලය"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"පසුබිම් කාලය"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"බැටරිය අඩුයි"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"පසුබිමේ ධාවනය කිරීමට යෙදුමට අවසර දෙන්න"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"පසුබිම් ක්‍රියාකාරිත්වය සීමා කරන්නද?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ඔබ යෙදුමක පසුබිම් ක්‍රියාකාරිත්වය සීමා කළහොත්, එය වැරදි ලෙස ක්‍රියා කරනු ඇත"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"මෙම යෙදුම බැටරිය ප්‍රශස්ත කිරීමට සකසා නැති නිසා, ඔබට එය සීමා කළ නොහැකිය. \n\nයෙදුම සීමා කිරීම සඳහා, පළමුව බැටරි ප්‍රශස්තකරණය ක්‍රියාත්මක කරන්න."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"බැටරි භාවිතය කළමනාකරණය"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"පසුබිම් භාවිතයට ඉඩ දෙන්න"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"සැබෑ කාලීන යාවත්කාලීන සඳහා සබල කරන්න, බැටරිය සුරැකීමට අබල කරන්න"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"සීමා නොකළ"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ප්‍රශස්ත කළ"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"සීමා කළ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ඉහළම භාවිතය සහිත යෙදුම් බලන්න"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ඔබේ බැටරිය ආරක්ෂා කිරීම සඳහා ආරෝපණය ප්‍රශස්ත කර ඇත"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"ඔබේ බැටරියේ ආයු කාලය දීර්ඝ කිරීමට උදවු කිරීම සඳහා, ආරෝපණය ප්‍රශස්ත කර ඇත"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ඔබේ බැටරිය ආරක්ෂා කිරීම සඳහා ආරෝපණය ප්‍රශස්ත කර ඇත"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"ඔබේ බැටරියේ ආයු කාලය දීර්ඝ කිරීමට උදවු කිරීම සඳහා, ඈඳා ඇති අතරේ ආරෝපණය ප්‍රශස්ත කර ඇත"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ඔබේ බැටරිය ආරක්ෂා කිරීම සඳහා ආරෝපණය ප්‍රශස්ත කර ඇත"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"ඔබේ බැටරියේ ආයු කාලය දීර්ඝ කිරීමට උදවු කිරීම සඳහා, ඈඳා ඇති අතරේ ආරෝපණය ප්‍රශස්ත කර ඇත"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"සම්පූර්ණයෙන්ම ආරෝපණය වේ"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"ඔබේ බැටරිය ආරක්ෂා කිරීම සඳහා, ඔබේ ටැබ්ලටය ඈඳන විට ආරෝපණය ප්‍රශස්ත කරනු ලැබේ"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ආරෝපණය විරාම කර ඇත තිබීම ගැන තව දැන ගන්න"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ආරෝපණය යළි ආරම්භ කරන්න"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"ඉහළ බල පසුබිම් ක්‍රියාකාරකම ඇතුළු ය"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"මෙම යෙදුමට පසුබිමින් බැටරිය භාවිත කිරීමට හැකි වනු ඇත. ඔබේ බැටරිය බලාපොරොත්තු වනවාට වඩා ඉක්මනින් අවසන් විය හැකිය."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ඉවත් කරන්න"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"අවලංගු කරන්න"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"පූර්ණ වීමට ආරෝපණය කරන්න"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ආරෝපණ උපාංගයේ ගැටලුව"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ආරෝපණ ආයිත්තම පරීක්‍ෂා කරන්න"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"නොගැළපෙන ආරෝපණය පිළිබඳව තව දැන ගන්න"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"බැටරි කළමනාකරු"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"යෙදුම් ස්වයංක්‍රියව කළමනාකරණය කරන්න"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"අවසන් පූර්ණ ආරෝපණයේ පටන්"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"පද්ධති යෙදුම්"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"අස්ථාපනය කළ යෙදුම්"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"වෙනත්"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"ඇස්තමේන්තුගත ඉතිරි කාලය"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"පූර්ණ ආරෝපණය වන තෙක්"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"මුළු: මිනිත්තුවකට වඩා අඩුය"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"පසුබිම: මිනිත්තුවකට වඩා අඩුය"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"තිර කාලය: මිනිත්තුවකට වඩා අඩුයි"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"මිනිත්තුවකට වඩා අඩු"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"එකතුව: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"පසුබිම: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"තිර කාලය: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"දැන්"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"බැටරි භාවිතය පිළිබඳ ප්‍රස්තාරය"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"දිනපතා බැටරි භාවිතයේ ප්‍රස්තාරය"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"පැයක් පාසා බැටරි භාවිතයේ ප්‍රස්තාරය"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"බැටරි මට්ටමේ ප්‍රතිශතය <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> සිට <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> දක්වා"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"අවසන් පූර්ණ ආරෝපණයේ සිට බැටරි භාවිතය"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> සඳහා බැටරි භාවිතය"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"අවසන් පූර්ණ ආරෝපණයේ සිට තිර කාලය"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"හදිසි අවස්ථා ඩයල් කිරීමේ සංඥාව"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"හදිසි ඇමතුමක් ලැබුණ විට හැසිරීම සකසන්න"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"උපස්ථය"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ක්‍රියාත්මකයි"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ක්‍රියාවිරහිතයි"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"උපස්ථය සහ පිළිනැගුම"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"පුද්ගලික දත්ත"</string>
     <string name="backup_data_title" msgid="507663517227498525">"මගේ දත්ත උපස්ථ කරන්න"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"ජංගම දත්ත සහ Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ස්වයංක්‍රිය-සමමුහුර්ත වන පුද්ගලික දත්ත"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ස්වයංක්‍රිය-සමමුහුර්ත වන වැඩ දත්ත"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"පෞද්ගලික දත්ත ස්වයං සමමුහුර්ත කරන්න"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"රවුම වෙනස් කරන්න…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"දත්ත භාවිතා චක්‍රය නැවත සැකසීමට මාසයේ දිනය:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"මෙම කාල සීමාවෙහි යෙදුම් දත්ත භාවිතා කර නැත."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"නම‍"</string>
     <string name="vpn_type" msgid="5533202873260826663">"වර්ගය"</string>
     <string name="vpn_server" msgid="2908816134941973935">"සේවාදායක ලිපිනය"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP සංකේතනය (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP රහස"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec හඳුනා ගැනීම"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec පෙර හුවමාරු යතුර"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec පරිශීලක සහතිකය"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA සහතිකය"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec සේවාදායක සහතිකය"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"උසස් විකල්ප පෙන්වන්න"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS සෙවීම් වසම්"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS සේවාදායකයන් (උදා. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ඉදිරියට යැවීමේ මාර්ග (උදා. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"පරිශීලක නාමය"</string>
     <string name="vpn_password" msgid="1183746907642628127">"මුරපදය"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ගිණුම් තොරතුරු සුරකින්න"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(භාවිතා කර නොමැති)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(සේවාදායකය සත්‍යාපනය නොකරන්න)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(සේවාදායකයෙන් ලැබුණ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"මෙම VPN වර්ගය වෙත සැම විටම සම්බන්ධ වී සිටීමට නොහැක"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"සැම විට ක්‍රියාත්මක VPN සහය දක්වන්නේ සංඛ්‍යාත්මක සේවාදායක ලිපින පමණි"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"සැම විට ක්‍රියාත්මක VPN එකක් සඳහා DNS සේවාදායකයක් සඳහන් කළ යුතුයි"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"සැම විට ක්‍රියාත්මක VPN සඳහා DNS සේවාදායක ලිපින සැමවිටම සංඛ්‍යාත්මක විය යුතුය"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ඇතුලත් කළ තොරතුරු වෙත සැම විට ක්‍රියාත්මක VPN සඳහා සහාය නොදක්වයි"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"අවලංගු කරන්න"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ඉවත ලන්න"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN නොමැතිව සම්බන්ධතා අවහිර කිරීම"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN සම්බන්ධතාව අවශ්‍යද?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"සුරක්ෂිත නැත. IKEv2 VPN කට යාවත්කාලීන කරන්න"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"සහාය නොදක්වන VPN ආරම්භ කිරීමට අසමත් විය."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"සෑම විටම සම්බන්ධ වී පැවතීමට VPN පැතිකඩක් තෝරන්න. මෙම VPN හා සම්බන්ධවී ඇතිවිට පමණක් ජාල ගමනාගමනයට අවසර ඇත."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"කිසිවක් නැත"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"සේවාදායක සහ DNS සඳහා සෑම විටම සක්‍රිය VPN සඳහා IP ලිපිනයක් අවශ්‍ය වේ."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"සීනුවේ ඇඟවීම්"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"ළමයි පැහැර ගෙන යෑම පිළිබඳ ලුහුඩු ප්‍රකාශ ලබාගැනීම"</string>
     <string name="repeat_title" msgid="8676570486899483606">"නැවත කරන්න"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"ඇමතුම් කළමනාකරු සබල කරන්න"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"ඔබගේ ඇමතුම් සිදුකරන්නේ කෙසේදැයි කියා කළමනාකරණය කිරීමට මෙම සේවාවට ඉඩ දෙන්න."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"ඇමතුම් කළමනාකරු"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"නොරැහැන් හදිසි අවස්ථා ඇඟවීම්"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ජාල ක්‍රියාකරුවන්"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ප්‍රවේශ ලක්ෂ්‍ය වල නම්"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM තත්ත්වය"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM තත්ත්වය (sim විවරය %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMs වෙනස් විය."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"ඔබේ SIM වෙනස් විය"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"පිහිටුවීමට තට්ටු කරන්න"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"සෑම වේලාවකම ආසන්න"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"තේරීමක් අවශ්‍යයි"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"මෑත යෙදුම්, පෙරනිමි යෙදුම්"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"කාර්යාල පැතිකඩ තුළ යෙදුම් සඳහා දැනුම්දීම් ප්‍රවේශය ලබා ගත නොහැකිය"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"මුරපද සහ ගිණුම්"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"සුරැකි මුරපද, ස්වයං පිරවුම, සමමුහුර්ත කළ ගිණුම්"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"පුරනය වීම සහ ස්වයං පිරවීම සඳහා යෝජනා"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"පෙරනිමි යෙදුම්"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"ක්ලෝන කළ යෙදුම්"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ඔබට එකවර ගිණුම් දෙකක් භාවිතා කළ හැකි පරිදි යෙදුමක දෙවන උදාහරණයක් තනන්න."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ගෙවීම, තට්ටු කිරීම, ගෙවීම්"</string>
     <string name="keywords_backup" msgid="707735920706667685">"උපස්ථ, උපස්ථ"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ඉංගිතය"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"මුහුණ, අගුලු හැරීම, සත්‍යාපනය, පිරීම"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"මුහුණ, අගුලු හැරීම, සත්‍යාපනය, පිරීම, ඇඟිලි සලකුණ, ජෛවමිතික"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl version, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"පෙළ ප්‍රමාණය, විශාල මුද්‍රණය, විශාල අකුරු, විශාල පෙළ, අඩු දෘශ්‍යතාව, පෙළ වඩා විශාල කරන්න, අකුරු වඩා විශාල කරන්න, අකුරු විශාල කිරීම"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"හැම විට ම ක්‍රියාත්මක හාත්පස සංදර්ශකය, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC ලේබලය, කියවනය"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"යතුරු පුවරුව, ස්පර්ශ, කම්පනය,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"හඬ, කම්පනය, බාධා නොකරන්න"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"මාධ්‍ය ශබ්දය"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"විකාශන හඬ"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ශබ්ද බල ගන්වන්න"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"සජීවී සිරස්තලය"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"මාධ්‍ය ස්වයංක්‍රීයව සිරස්තල"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"දුරකථන ස්පීකර්"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ටැබ්ලට් ස්පීකර්"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"උපාංග ස්පීකර්"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"රැහැන්ගත හෙඩ්ෆෝන්"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"ගැළපෙන මාධ්‍යවලින් ශ්‍රව්‍ය වඩාත් ගිලී යයි"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ක්‍රියාවිරහිතයි"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"සියලුම දැනුම්දීමේ අන්තර්ගත පෙන්වන්න"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"අඟුලු ඇර තිබියදී පමණක් සංවේදී අන්තර්ගතය පෙන්වන්න"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"කිසිවිටක දැනුම්දීම් පෙන්වන්න එපා"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"ඔබට අඟුලු තිරය සංදර්ශන විය යුත්තේ කෙසේද?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"ඔබට ඔබේ අගුළු තිරය පෙන්වීමට අවශ්‍ය කුමක් ද?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"අඟුලු තිරය"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"සියලු කාර්යාල දැනුම්දීම් අන්තර්ගතය පෙන්වන්න"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"සංවේදී වැඩ අන්තර්ගතය සඟවන්න"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"මෑත සංවාද ඉවත් කරන ලදි"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"සංවාදය ඉවත් කරන ලදි"</string>
     <string name="clear" msgid="5092178335409471100">"හිස් කරන්න"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> හිස් කරන්න"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ප්‍රමුඛතා සහ වෙනස් කළ සංවාද මෙහි දිස් වනු ඇත"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"ඔබ සංවාදයක් ප්‍රමුඛතාවයක් ලෙස ලකුණු කළ පසු හෝ සංවාදවලට වෙනත් වෙනස්කම් කළ විට ඒවා මෙහි දිස්වනු ඇත. \n\nසංවාද සැකසීම් වෙනස් කිරීමට: \nපහළට ඇදීමේ වැස්ම විවෘත කිරීමට තිරයේ ඉහළ සිට පහළට ස්වයිප් කර, අනතුරුව සංවාදයක් ස්පර්ශ කර අල්ලාගෙන සිටින්න."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"අවම කරන්න"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"දැනුම්දීම් සිසිල් කිරීම"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"සියලු දැනුම්දීම් වලට සිසිල් වීම යොදන්න"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ඔබට එකම යෙදුමෙන් අනුක්‍රමික දැනුම්දීම් බොහොමයක් ලැබෙන විට දැනුම්දීම් පරිමාව ක්‍රමයෙන් අඩු කරන්න"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"සංවාද සඳහා සිසිල් කිරීම යොදන්න"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"කෙටි කාලයක් තුළ එකම කතාබස් වලින් ඔබට බොහෝ පණිවිඩ ලැබෙන විට දැනුම්දීම් පරිමාව ක්‍රමයෙන් අඩු කරන්න"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"දැනුම්දීම් සිසිල් කිරීම භාවිතා නොකරන්න"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"එකම යෙදුමෙන් අනුක්‍රමික දැනුම්දීම් ප්‍රමාණය නොසලකා කිසිවිටක දැනුම්දීම් පරිමාව අඩු නොකරන්න"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"අගුළු හරින විට කම්පනය කරන්න"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"තිරය අගුළු හැර ඇති විට පමණක් කම්පනය කරන්න"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"කාර්යාල පැතිකඩ සඳහා යොදන්න"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ඔබේ පුද්ගලික පැතිකඩේ සිට ඔබේ කාර්යාල පැතිකඩ වෙත දැනුම්දීම් සිසිල් කිරීමේ සැකසීම් යොදන්න"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR උදවුකරු සේවා"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ස්ථාපිත යෙදුම් කිසිවක් VR උදවුකරු සේවා ලෙස ධාවනය කිරීමට ඉල්ලා නැත."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> සඳහා VR සේවා ප්‍රවේශය ඉඩ දෙන්නද?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ක්‍රියාවිරහිතයි"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"යෙදුම ඇමිණීම"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"යෙදුම ඇමිණීම ඔබ එය ඇමිණීමෙන් ඉවත් කරන තෙක් වත්මන් යෙදුම තබා ගැනීමට ඉඩ දේ. උදාහරණයක් වශයෙන් විශ්වාසි මිතුරෙකුට විශේෂිත ගේම් එකක් ක්‍රීඩා කිරීමට ඉඩ දීමට මෙම විශේෂාංගය භාවිත කළ හැකිය."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"යෙදුමක් ඇමිණූ විට, ඇමිණූ යෙදුම වෙනත් යෙදුම් විවෘත කළ හැකි අතර පුද්ගලික දත්තවලට ප්‍රවේශ විය හැකිය. \n\nයෙදුම ඇමිණීම භාවිත කිරීමට: 	\n1. යෙදුම ඇමිණීම ක්‍රියාත්මක කරන්න 	\n2. දළ විශ්ලේෂණය විවෘත කරන්න 	\n3. තිරයේ ඉහළින් ඇති යෙදුම් නිරූපකය තට්ටු කර, අනතුරුව අමුණන්න තට්ටු කරන්න"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"යෙදුමක් ඇමිණූ විට, ඇමිණූ යෙදුම වෙනත් යෙදුම් විවෘත කළ හැකි අතර පුද්ගලික දත්තවලට ප්‍රවේශ විය හැකිය. \n\nඔබට ඔබගේ උපාංගය යම් කෙනෙකු සමග ආරක්ෂිතව බෙදා ගැනීමට අවශ්‍ය නම්, ඒ වෙනුවට ආගන්තුක පරිශීලකයකු භාවිත කිරීමට උත්සාහ කරන්න. \n\nයෙදුම ඇමිණීම භාවිත කිරීමට: 	\n1. යෙදුම ඇමිණීම ක්‍රියාත්මක කරන්න 	\n2. දළ විශ්ලේෂණය විවෘත කරන්න 	\n3. තිරයේ ඉහළින් ඇති යෙදුම් නිරූපකය තට්ටු කර, අනතුරුව අමුණන්න තට්ටු කරන්න"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"යෙදුමක් ඇමිණූ විට, ඇමිණූ යෙදුම වෙනත් යෙදුම් විවෘත කළ හැකි අතර පුද්ගලික දත්තවලට ප්‍රවේශ විය හැක. \n\nයෙදුම් ඇමිණීම භාවිතා කිරීමට: 	\n{0,number,integer}. යෙදුම් ඇමිණීම භාවිතා කිරීමට 	\n{1,number,integer}. දළ විශ්ලේෂණය විවෘත කරන්න 	\n{2,number,integer}. තිරයේ ඉහළින් ඇති යෙදුම් නිරූපකය තට්ටු කර, අනතුරුව අමුණන්න තට්ටු කරන්න"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"යෙදුමක් ඇමිණූ විට, ඇමිණූ යෙදුම වෙනත් යෙදුම් විවෘත කළ හැකි අතර පුද්ගලික දත්තවලට ප්‍රවේශ විය හැක. \n\nඔබට ඔබේ උපාංගය යම් කෙනෙකු සමග ආරක්ෂිතව බෙදා ගැනීමට අවශ්‍ය නම්, ඒ වෙනුවට ආගන්තුක පරිශීලකයකු භාවිත කිරීමට උත්සාහ කරන්න. \n\nයෙදුම් ඇමිණීම භාවිතා කිරීමට: 	\n{0,number,integer}. යෙදුම් ඇමිණීම භාවිතා කිරීමට 	\n{1,number,integer}. දළ විශ්ලේෂණය විවෘත කරන්න 	\n{2,number,integer}. තිරයේ ඉහළින් ඇති යෙදුම් නිරූපකය තට්ටු කර, අනතුරුව අමුණන්න තට්ටු කරන්න"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"යෙදුම අමුණා ඇති විට: \n\n•		පෞද්ගලික දත්ත ප්‍රවේශ විය හැකිය \n		(සම්බන්ධතා සහ ඉ-තැපැල් අන්තර්ගත යනාදි) \n•	ඇමුණූ යෙදුම වෙනත් යෙදුම් විවෘත කළ හැකිය \n\nඔබ විශ්වාස කරන පුද්ගලයන් සමග පමණක් යෙදුම ඇමිණීම භාවිත කරන්න."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ගැලවීමට පෙර අගුළු අරින රටාව සඳහා අසන්න"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ගැලවීමට පෙර PIN විමසන්න"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ගැලවීමට පෙර මුරපදය විමසන්න"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ගැලවීමට උපාංගය අගුළු දමා ඇත"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM අනාවරණය තහවුරු කරන්න"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ඔබට ඔබේ eSIM එක මැකීමට අවශ්‍ය බව තහවුරු කරන්න"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM එකක් මැකීමට පෙර ඒ ඔබ බව සත්‍යාපනය කරන්න"</string>
     <string name="memtag_title" msgid="5096176296797727201">"උසස් මතක ආරක්ෂණය බීටා"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"උසස් මතක ආරක්ෂණය"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"භාවිත නොකළ යෙදුම් සැකසීම්"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"භාවිත නොකළේ නම් යෙදුම් ක්‍රියාකාරකම් විරාම කරන්න"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"අවසර ඉවත් කරන්න, තාවකාලික ගොනු මකන්න සහ දැනුම්දීම් නවත්වන්න"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"යෙදුම භාවිතා නොකළේ නම් කළමනාකරණය කරන්න"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"අවසර ඉවත් කරන්න, තාවකාලික ගොනු මකා දමන්න, දැනුම්දීම් නවත්වන්න, සහ යෙදුම ලේඛනාරක්ෂණය කරන්න"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"සියලු යෙදුම්"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ස්ථාපිත යෙදුම්"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ක්ෂණික යෙදුම්"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"භාවිතා නොකළ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"යෙදුම් මඟින් භාවිතා කළ මතකය"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 යෙදුමක් අවසන් {time} හි මතකය භාවිතා කර ඇත}one{යෙදුම් #ක් අවසන් {time} හි මතකය භාවිතා කර ඇත}other{යෙදුම් #ක් අවසන් {time} හි මතකය භාවිතා කර ඇත}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"මතක භාවිත පැතිකඩ සබල කරන්න"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"මතක භාවිත පැතිකඩ සඳහා අතිරේක පද්ධති සම්පත් අවශ්‍ය වේ."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"මතක පැතිකඩ අබල කර ඇත"</string>
     <string name="running_frequency" msgid="7260225121706316639">"සංඛ්‍යාතය"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"උපරිම භාවිතය"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"දත්ත භාවිතා කර නැත"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"වෙනත් යෙදුම් උඩින් පෙන්වන්න"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"වෙනත් යෙදුම් උඩින් පෙන්වීමට අවසර දෙන්න"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"මෙම යෙදුමට ඔබ භාවිත කරන අනෙක් යෙදුම්වලට ඉහළින් සංදර්ශනය වීමට ඉඩ දෙන්න. මෙම යෙදුමට තිරයේ සංදර්ශනය වන දේවල් බැලීමට හෝ වෙනස් කිරීමට හැකියාව ලැබෙනු ඇත."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"මාධ්‍ය ප්‍රතිදානය වෙනස් කරන්න"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"මාධ්‍ය ප්‍රතිදානය මාරු කිරීමට යෙදුමට ඉඩ දෙන්න"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"වෙනත් යෙදුම්වලින් ශ්‍රව්‍ය හෝ වීඩියෝ වාදනය කරන්නේ කුමන සම්බන්ධිත උපාංගය ද යන්න තේරීමට මෙම යෙදුමට ඉඩ දෙන්න. ඉඩ දී ඇත්නම්, මෙම යෙදුමට හෙඩ්ෆෝන් සහ ස්පීකර් වැනි පවතින උපාංග ලැයිස්තුවක් වෙත ප්‍රවේශ විය හැකි අතර ශ්‍රව්‍ය හෝ වීඩියෝ ප්‍රවාහ කිරීමට හෝ විකාශය කිරීමට භාවිතා කරන ප්‍රතිදාන උපාංගය තෝරා ගැනීමට හැක."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"සියලු ගොනු ප්‍රවේශය"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"සියලු ගොනු කළමනාකරණය කිරීමට ප්‍රවේශය ඉඩ දෙන්න"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"මෙම යෙදුමට මෙම උපාංගයේ හෝ ඕනෑම සබැඳුණු ගබඩා ධාරිතාවක ඇති සියලු ගොනු කියවීමට, වෙනස් කිරීමට සහ මැකීමට ඉඩ දෙන්න. ප්‍රදානය කළහොත්, ඔබේ ප්‍රකාශිත දැනුම රහිතව යෙදුමට ගොනු වෙත ප්‍රවේශ විය හැකිය."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"සියලු ගොනු වෙත ප්‍රවේශ විය හැකිය"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"හඬ සක්‍රිය කිරීමේ යෙදුම්"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"හඬ සක්‍රිය කිරීමට ඉඩ දෙන්න"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"හඬ ක්‍රියාත්මක කිරීම හඬ විධානය භාවිත කර අනුමත යෙදුම්, දෑත් නොයොදන සක්‍රීය කරයි. තිළැලි අනුවර්තන සංවේදනය දත්ත ඔබට පමණක් පුද්ගලිකව පවතින බව සහතික කරයි.\n\n"<a href="">"ආරක්ෂිත අනුවර්තන සංවේදනය පිළිබඳ තව විස්තර"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"පූර්ණ තිර දැනුම්දීම්"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"මෙම යෙදුමෙන් පූර්ණ තිර දැනුම්දීම්වලට ඉඩ දෙන්න"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"උපාංගය අගුළු දමා ඇති විට පූර්ණ තිරය ගන්නා දැනුම්දීම් පෙන්වීමට මෙම යෙදුමට ඉඩ දෙන්න. එලාම්, එන ඇමතුම්, හෝ වෙනත් හදිසි දැනුම්දීම් උද්දීපනය කිරීමට යෙදුම් මේවා භාවිතා කිරීමට ඉඩ ඇත."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> දත්ත අනතුරු ඇඟවීම"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> දත්ත සීමාව"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> දත්ත අනතුරු ඇඟවීම / <xliff:g id="ID_2">^2</xliff:g> දත්ත සීමාව"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"උපාංග ගිණුම්ගත කිරීමෙන් වාහක දත්ත ගිණුම්ගත කිරීම වෙනස් විය හැකිය"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"වාහක ජාල මගින් භාවිත කරන දත්ත බැහැර කරයි"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> භාවිත විය"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"දත්ත අනතුරු ඇඟවීම සකසන්න"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g>කට පෙර යාවත්කාලීන කරන ලදී"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> විසින් දැන් යාවත්කා. කරන ලදී"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"දැන් යාවත්කාලීන කරන ලදී"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"සැලසුම බලන්න"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"විස්තර බලන්න"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"දත්ත සුරැකුම"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"සීමා නොකළ දත්ත"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> පසුබිමේ තිබියදී වෙනදාට වඩා බැටරිය භාවිත කරන ලදි"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> පෙරබිමේ තිබියදී වැඩි බැටරියක් භාවිත කරන ලදි"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> පෙරබිමේ තිබියදී වෙනදාට වඩා බැටරිය භාවිත කරන ලදි"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"බැටරි භාවිතයේ අක්‍රමිකතාව"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"ඉහළ බැටරි භාවිතය"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"පසුබිමේ ඉහළ බැටරි භාවිතය"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"පෙරබිමෙහි ඉහළ බැටරි භාවිතය"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"ඉක්මන් සැකසීම් සංවර්ධක ටයිල්"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb අනුමැති කාල විරාමය අබල කරන්න"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"පෙරනිමි (දින 7) හෝ පරිශීලක වින්‍යාස කළ (අවම දින 1) කාලය ඇතුළත යළි සම්බන්ධ වී නැති පද්ධති සඳහා adb අනුමැතීන්වල ස්වයංක්‍රිය අහෝසි කිරීම අබල කරන්න."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope හෝඩුවාව"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"සංවේදක අක්‍රියයි"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"කාර්යාල පැතිකඩ සැකසීම්"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"පුද්ගලික යෙදුම්වල කාර්යාල නාමාවලි සම්බන්ධතා සොයන්න"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"පද්ධති සංචාලනය, බොත්තම්-2 සංචාලනය, බොත්තම්-3 සංචාලනය, අභින සංචාලනය, ස්වයිප් කිරීම"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ඩිජිටල් සහායක"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"සහායක ඉල්ලීමට ස්වයිප් කරන්න"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ඩිජිටල් සහායක යෙදුම ඉල්ලීමට පහළ කෙළවරේ සිට ඉහළට ස්වයිප් කරන්න."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ඩිජිටල් සහායක යෙදුම ඉල්ලීමට පහළ කෙළවරේ සිට ඉහළට ස්වයිප් කරන්න"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"සහායක සඳහා මුල් පිටුව අල්ලාගෙන සිටින්න"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ඩිජිටල් සහායක යෙදුම ආරම්භ කිරීමට මුල් පිටු බොත්තම ඔබා අල්ලාගෙන සිටින්න."</string>
     <string name="low_label" msgid="6525629096999711220">"අඩු"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ස්වයං පිරවුම් සේවාව"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"පෙරනිමි ස්වයං පිරවුම් සේවාව"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"මුරපද"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"මුරපද, මුරයතුරු සහ දත්ත සේවා"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"අතිරේක සපයන්නන්"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"කැමති සේවාව"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"අතිරේක සේවා"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# මුරපදයක්}one{මුරපද #ක්}other{මුරපද #ක්}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ස්වයං, පිරවුම, ස්වයං පිරවුම, මුරපදය"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"දත්ත, මුරයතුර, මුරපදය"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ස්වයංක්‍රීය, පුරවන්න, ස්වයං පිරවුම, දත්ත, මුරයතුර, මුරපදය"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"වෙනස් කිරීම"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"විවෘත කරන්න"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"කිසිවක් තෝරා නැත"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ඔබ මෙම යෙදුම විශ්වාස කරන බව සහතික කර ගන්න&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ස්වයං පිරවිය හැකි දේවල් නිර්ණය කිරීමට ඔබේ තිරයෙහි ඇති දේවල් භාවිත කරයි."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ස්වයං පිරවිය හැකි දේ තීරණය කිරීමට ඔබේ තිරයෙහි ඇති දේ භාවිතා කරයි. නව මුරපද, මුරයතුරු සහ අනෙකුත් තතු මෙතැන් සිට මෙහි සුරකිනු ඇත."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"මුරපද, මුරයතුරු සහ දත්ත සේවා"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; භාවිතා කරන්න ද?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; නව මුරපද, මුරයතුරු, සහ අනෙකුත් තතු මෙතැන් සිට මෙහි සුරකිනු ඇත. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ස්වයංව පිරවිය හැකි දේ තීරණය කිරීමට ඔබේ තිරයෙහි ඇති දේ භාවිතා කළ හැක."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"මුරපද, මුරයතුරු සහ ස්වයං පිරවීම සඳහා කැමති සේවාව"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s ක්‍රියාවිරහිත කරන්න ද?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;මෙම සේවාව අක්‍රිය කරන්නද?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ඔබ පුරනය වන විට මුරපද, මුරයතුරු, ගෙවීම් ක්‍රම, සහ අනෙකුත් තොරතුරු වැනි සුරැකි තොරතුරු පුරවන්නේ නැත. ඔබේ සුරකින ලද තොරතුරු භාවිත කිරීමට, මුරපදයක්, මුරයතුරක් හෝ දත්ත සේවාවක් තෝරන්න."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"මුරපද, මුරපද සහ ස්වයං පිරවීම"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;සියලු සේවා ක්‍රියා විරහිත කරන්න ද?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ඔබ පුරන විට මුරපද, මුරයතුරු, සහ සුරකින ලද අනෙකුත් තතු ස්වයංව පිරවීම සඳහා ලබා ගත නොහැක"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;ඔබ කැමති සේවාව &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; වෙත වෙනස් කරන්න ද?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; නව මුරපද, මුරයතුරු, සහ අනෙකුත් තතු මෙතැන් සිට මෙහි සුරකිනු ඇත. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ස්වයංව පිරවිය හැකි දේ තීරණය කිරීමට ඔබේ තිරයෙහි ඇති දේ භාවිතා කළ හැක"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s භාවිතා කරන්න ද?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ක්‍රියාවිරහිත කරන්න"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"වෙනස් කිරීම"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"ඔබට ක්‍රියාත්මක කළ හැක්කේ සේවා 5ක් පමණි"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"තවත් එක් කිරීමට අවම වශයෙන් 1 සේවාවක් ක්‍රියාවිරහිත කරන්න"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ස්වයං පිරවිය හැකි දේවල් නිර්ණය කිරීමට Google ඔබේ තිරයෙහි ඇති දේවල් භාවිතා කරයි."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"මුරපද, මුරයතුරු සහ දත්ත සේවා සීමාව"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ඔබට එකවර මුරපද, මුරයතුරු සහ දත්ත සේවා 5ක් දක්වා සක්‍රියව තබා ගත හැක. තවත් එක් කිරීමට සේවාවක් ක්‍රියා විරහිත කරන්න."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"මුරපද, මුරයතුරු සහ දත්ත සේවා සීමාව"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ඔබට එකවර මුරපද, මුරයතුරු සහ දත්ත සේවා 5 ක් දක්වා ක්‍රියාකාරීව තබා ගත හැක. තව එක් කිරීමට සේවයක් අක්‍රිය කරන්න."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ක්‍රියාවිරහිත කරන්න"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ස්වයං පිරවුම"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ඇතුළු වීමේ මට්ටම"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"යෙදුම් ගැළපෙන බවේ වෙනස් කිරීම් නිදොස් කළ හැකි යෙදුම් සඳහා පමණක් වෙනස් කළ හැකිය. නිදොස් කළ හැකි යෙදුමක් ස්ථාපනය කර නැවත උත්සාහ කරන්න."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"වෙනත් සැකසීමක් මත රඳා පවතී"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ගිණුම"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"ගිණුම් %dක්"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"උපාංගයේ නම"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"මූලික තතු"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"නීතිමය සහ නියාමන"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ටැගයක් ස්කෑන් කළ විට මෙම යෙදුම දියත් කිරීමට ඉඩ දෙන්න.\nමෙම අවසරය ක්‍රියාත්මක නම්, ටැගයක් අනාවරණය කරගත් විට යෙදුම විකල්පයක් ලෙස ලබා ගත හැකි වනු ඇත."</string>
     <string name="media_output_title" msgid="8283629315159510680">"මාධ්‍ය වාදනය කරන්න"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> මත වාදනය කරන්න"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ශ්‍රව්‍ය වාදනය වනු ඇත්තේ"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"මෙම උපාංගය"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ඇමතුම් අතරතුර නොපවතී"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"ඇමතුම ගැනීම ක්‍රියාත්මකයි"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"නිහඬ කරන්න"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"සබල කිරීම සඳහා, පළමුව බල මෙනුවට \"බල බොත්තම ඔබා සිටින්න\" යන්න වෙනස් කරන්න."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"ජාල විස්තර"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"ඔබගේ උපාංගයේ නම ඔබගේ දුරකථනයේ යෙදුම්වලට දෘශ්‍යමානය. ඔබ බ්ලූටූත්වලට සම්බන්ධ වූ විට හෝ Wi-Fi හොට්ස්පොට් එකක් පිහිටු වූ විට වෙනත් පුද්ගලයන්ද එය දැකිය හැකිය."</string>
     <string name="devices_title" msgid="649715719278562515">"උපාංග"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"ජාලය තෝරන්න"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"විසන්ධි විය"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"නම"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"වර්ණය (ගැළපෙන යෙදුම් විසින් භාවිත කෙරේ)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"සුරකින්න"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM භාවිත කරන්න"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"මෙම SIM භාවිතා කරන්න"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"අක්‍රියයි"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"මෙම SIM පත අබල කිරීමට, SIM පත ඉවත් කරන්න"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> ක්‍රියාත්මක කිරීමට තට්ටු කරන්න"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM පත මකන්න"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"මෙම SIM කාඩ්පත අක්‍රිය කිරීමට, SIM කාඩ්පත ඉවත් කරන්න"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"ඔබේ <xliff:g id="CARRIER">%1$s</xliff:g> SIM එක සක්‍රීය කිරීමට තට්ටු කරන්න"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM මකන්න"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ප්‍රියකරන ජාල වර්ගය"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"ජාල මෙහෙයුම් ආකාරය වෙනස් කරන්න"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ප්‍රියකරන ජාල වර්ගය"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"මිල ගණන් සඳහා ඔබගේ ජාල සැපයුම්කරු සමඟ පරීක්ෂා කරන්න."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"යෙදුම් දත්ත භාවිතය"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"වලංගු නොවන ජාල ප්‍රකාරය <xliff:g id="NETWORKMODEID">%1$d</xliff:g> . නොසලකා හරින්න."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"චන්ද්‍රිකා පණිවුඩ යැවීම"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"චන්ද්‍රිකා මඟින් කෙටි පණිවුඩ යැවීම සහ ලබා ගැනීම. ඔබේ ගිණුම සමග ඇතුළත් කර ඇත."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"චන්ද්‍රිකා මඟින් කෙටි පණිවුඩ යැවීම සහ ලබා ගැනීම. ඔබේ ගිණුම සමග ඇතුළත් කර නැත."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"චන්ද්‍රිකා පණිවුඩ යැවීම"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"චන්ද්‍රිකා පණිවුඩ යැවීම ගැන"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"ඔබට සුදුසුකම් ලත් <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ගිණුමක කොටසක් ලෙස චන්ද්‍රිකා මඟින් කෙටි පණිවුඩ යැවීමට සහ ලැබීමට හැක"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"ඔබේ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> සැලැස්ම"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"ඔබේ ගිණුම සමග චන්ද්‍රිකා පණිවුඩ යැවීම ඇතුළත් වේ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"ඔබේ ගිණුම සමග චන්ද්‍රිකා පණිවුඩ යැවීම ඇතුළත් නොවේ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"චන්ද්‍රිකා පණිවුඩ එක් කරන්න"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"එය ක්‍රියා කරන ආකාරය"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"ඔබට ජංගම ජාලයක් නොමැති විට"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"ඔබේ දුරකථනය චන්ද්‍රිකාවකට ස්වයංක්‍රීයව සම්බන්ධ වේ. හොඳම සම්බන්ධතාව සඳහා, අහසේ පැහැදිලි දර්ශනයක් තබා ගන්න."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"ඔබේ දුරකථනය චන්ද්‍රිකාවකට සම්බන්ධ වූ පසු"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"හදිසි සේවා ඇතුළුව ඔබට ඕනෑම කෙනෙකුට කෙටි පණිවුඩයක් යැවිය හැක. පවතින විට ඔබේ දුරකථනය ජංගම ජාලයකට නැවත සම්බන්ධ වේ."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"චන්ද්‍රිකා පණිවුඩ යැවීමට වැඩි කාලයක් ගත විය හැකි අතර සමහර ප්‍රදේශවල පමණක් ලබා ගත හැක, කාලගුණය සහ ඇතැම් ව්‍යුහ ඔබේ චන්ද්‍රිකා සම්බන්ධතාවට බලපෑ හැක. චන්ද්‍රිකා මඟින් ඇමතීම ලබා ගත නොහැක.\n\nඔබේ ගිණුමේ වෙනස්කම් සැකසීම් තුළ පෙන්වීමට යම් කාලයක් ගත විය හැක. විස්තර සඳහා <xliff:g id="CARRIER_NAME">%1$s</xliff:g> අමතන්න."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"චන්ද්‍රිකා පණිවුඩ යැවීම ගැන වැඩි විස්තර"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ප්‍රවේශ ලක්ෂ්‍ය නම්"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> වෙත සම්බන්ධ වූ විට නොමැත"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> වෙත මාරු වන්නද?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM කාඩ්පත භාවිතයට මාරු වන්නද?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> භාවිත කරන්නද?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"වරකට SIM එකක් පමණක් සක්‍රිය කළ හැකිය.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> වෙත මාරු වීම ඔබේ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> සේවය අවලංගු නොකරනු ඇත."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"වරකට සක්‍රිය විය හැක්කේ eSIM 1ක් පමණි.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> වෙත මාරු වීම ඔබේ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> සේවය අවලංගු නොකරනු ඇත."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"වරකට SIM එකක් පමණක් සක්‍රිය කළ හැකිය.\n\nමාරු වීම ඔබේ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> සේවය අවලංගු නොකරනු ඇත."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"වරකට සක්‍රීය කළ හැක්කේ SIM 1 ක් පමණි.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>වෙත මාරු වීමෙන් ඔබේ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> සේවාව අවලංගු නොවේ."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"වරකට සක්‍රීය කළ හැක්කේ eSIM 1 ක් පමණි.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> වෙත මාරු වීමෙන් ඔබේ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> සේවාව අවලංගු නොවේ."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"වරකට සක්‍රීය කළ හැක්කේ SIM 1 ක් පමණි.\n\nමාරු කිරීම ඔබේ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> සේවාව අවලංගු නොකරයි."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"ඔබට වරකට SIM 2ක් භාවිත කළ හැකිය. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> භාවිත කිරීමට, තවත් SIM එකක් ක්‍රියාවිරහිත කරන්න"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> වෙත මාරු වන්න"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ක්‍රියාවිරහිත කරන්න"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM එකක් ක්‍රියාවිරහිත කිරීම ඔබගේ සේවාව අවලංගු නොකරනු ඇත"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"ජාලයට සම්බන්ධ වෙමින්…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"ඇමතුම් සහ පණිවිඩ සඳහා <xliff:g id="CARRIER_NAME">%1$s</xliff:g> වෙත මාරු වෙමින්…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"වාහකය මාරු කළ නොහැකිය"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"දෝෂයක් හේතුවෙන් වාහකය මාරු කළ නොහැකිය."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"ඔබේ SIM එක ක්‍රියාත්මක කෙරේ…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> වෙත මාරු කෙරේ…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM මාරු කළ නොහැක"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"යමක් වැරදිණි. SIM මාරු කළ නොහැක."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ක්‍රියාවිරහිත කරන්නද?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM ක්‍රියාවිරහිත කරන්නද?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM ක්‍රියාවිරහිත කරමින්<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"වාහකය අබල කළ නොහැකිය"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"යම් දෙයක් වැරදී ගිය අතර ඔබේ වාහකය අබල කළ නොහැකි විය."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM එක අක්‍රිය කළ නොහැක"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"යම් දෙයක් වැරදී ඇති අතර ඔබේ SIM එක අක්‍රිය කළ නොහැකි විය."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"SIM 2ක් භාවිත කරන්නද?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"මෙම උපාංගයට එකවර SIM 2ක් ක්‍රියාත්මකව තිබිය හැකිය. දිගටම වරකට 1 SIM එකක් භාවිත කිරීමට, \"එපා, ස්තුතියි\" තට්ටු කරන්න."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"උපාංගය යළි අරඹන්නද?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"එපා, ස්තුතියි"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"අවලංගු කරන්න"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"මාරු වන්න"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"අක්‍රීය කරන්න"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM එක සක්‍රිය කිරීමට නොහැකිය"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"නැවත SIM එක ක්‍රියාත්මක කිරීමට උත්සාහ කරන්න. ප්‍රශ්නය දිගටම පැවතුණහොත්, ඔබේ උපාංගය යළි ආරම්භ කරන්න."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ඔබේ SIM පිහිටුවන්න"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"මෙම උපාංගයෙහි බහු SIM භාවිතා කිරීමට ඔබේ ජංගම ජාල මනාප සකසන්න"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ඔබේ SIMs ලේබල් කරන්න"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"ඇමතුම් ගන්න විට, පෙළ යවන විට, සහ දත්ත භාවිතා කරන විට, සහ සැකසීම් තුළ ඔබට මෙම ලේබල පෙනෙනු ඇත"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM ලේබලය"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ලේබලය"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"භාවිතා කළ යුතු SIMs තෝරන්න"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"ඔබට වරකට SIM 2ක් භාවිත කළ හැක"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ඔබේ මූලික SIMs සකසන්න"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"ඇමතුම්, පෙළ සහ දත්ත සඳහා පෙරනිමියෙන් භාවිතා කළ යුතු SIMs තෝරා ගන්න"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ඔබේ මූලික SIMs"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"ඇමතුම්"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"පෙළ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ස්වයංක්‍රීය දත්ත මාරු කිරීම"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ආවරණය සහ ලබා ගැනීමේ හැකියාව මත පදනම්ව කිනම් හෝ SIM එකකින් දත්ත භාවිතා කරන්න"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"දත්ත පමණි"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"පිහිටුවන්න"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"මීළඟ"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> සක්‍රීය කෙරේ…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"ජංගම ජාලය"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"දුරකථන අංකය"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM ලේබලය සහ වර්ණය"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"ජාල සක්‍රිය කිරීම"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"වාහක මාරු වීම"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> සක්‍රියයි"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ඔබේ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM එක සක්‍රියයි"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM සැකසීම් යාවත්කාලීන කිරීමට තට්ටු කරන්න"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> වෙත මාරු විය"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"වෙනත් වාහකයකට මාරු විය"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"ඔබගේ ජංගම ජාලය වෙනස් වී ඇත"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"ඔබගේ අනෙක් SIM පිහිටුවන්න"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"ඔබගේ සක්‍රිය SIM තෝරන්න හෝ එක් වර SIM 2ක් භාවිත කරන්න"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"භාවිත කිරීමට අංකයක් තෝරන්න"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{අංක 1ක් මෙම උපාංගයෙහි ලබා ගත හැකිය, නමුත් වරකට එකක් පමණක් භාවිත කළ හැකිය}=2{අංක 2ක් මෙම උපාංගයෙහි ලබා ගත හැකිය, නමුත් වරකට එකක් පමණක් භාවිත කළ හැකිය}one{අංක #ක් මෙම උපාංගයෙහි ලබා ගත හැකිය, නමුත් වරකට එකක් පමණක් භාවිත කළ හැකිය}other{අංක #ක් මෙම උපාංගයෙහි ලබා ගත හැකිය, නමුත් වරකට එකක් පමණක් භාවිත කළ හැකිය}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"ක්‍රියාත්මක කරමින්<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"මේ අවස්ථාවේදී සක්‍රිය කළ නොහැකි විය"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"භාවිත කිරීමට SIM එකක් තෝරන්න"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{මෙම උපාංගයේ 1 SIM එකක් ඇත, නමුත් වරකට භාවිත කළ හැක්කේ එකක් පමණි}=2{මෙම උපාංගයේ SIM 2 ක් ඇත, නමුත් වරකට භාවිත කළ හැක්කේ එකක් පමණි}one{මෙම උපාංගයේ SIM # ක් ඇත, නමුත් වරකට භාවිත කළ හැක්කේ එකක් පමණි}other{මෙම උපාංගයේ SIM # ක් ඇත, නමුත් වරකට භාවිත කළ හැක්කේ එකක් පමණි}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ක්‍රියාත්මක කරමින්<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"මෙම SIM එක දැන් ක්‍රියාත්මක කළ නොහැකි විය"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> භාවිත කරන්නද?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"ජංගම දත්ත, ඇමතුම්, සහ SMS සඳහා <xliff:g id="CARRIER_NAME">%1$s</xliff:g> භාවිත කරනු ඇත."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ලබා ගත හැකි සක්‍රිය SIM නැත"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"පසු වේලාවක ජංගම දත්ත, ඇමතුම් විශේෂාංග, සහ SMS භාවිත කිරීමට, ඔබගේ ජාල සැකසීම් වෙත යන්න"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"මෙම eSIM එක මකන්න ද?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"මෙම SIM මැකීමෙන් මෙම උපාංගයෙන් <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> සේවාව ඉවත් කරයි.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> සඳහා වන සේවාව අවලංගු නොකෙරේ."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"මෙය මෙම උපාංගයෙන් <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> සේවාව ඉවත් කරයි, නමුත් ඔබේ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> සැලසුම අවලංගු නොවේ."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"මකන්න"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM මකමින්…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM මැකිය නොහැක"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"දෝෂයක් හේතුවෙන් මෙම SIM මැකිය නොහැක.\n\nඔබේ උපාංගය යළි අරඹා නැවත උත්සාහ කරන්න."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM මැකේ…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM මැකිය නොහැක"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"යමක් වැරදී ඇති අතර මෙම eSIM එක මැකී නැත.\n\nඔබේ උපාංගය නැවත අරඹා නැවත උත්සාහ කරන්න."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"උපාංගයට සම්බන්ධ වන්න"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> යෙදුමට ඔබේ උපාංගයට සම්බන්ධ වීමට තාවකාලික Wi‑Fi ජාලයක් භාවිත කිරීමට අවශ්‍යය"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"උපාංග කිසිවක් හමු නොවිය. උපාංග සක්‍රීය කර තිබෙන අතර සම්බන්ධ කිරීමට ලද හැකි බව තහවුරු කර ගන්න."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"හදිසි ඇමතූම්"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Wi‑Fi ඇමතුම ඔස්සේ හදිසි ඇමතුම්වලට ඔබේ වාහකයා සහය නොදක්වයි.\nඋපාංගය හදිසි ඇමතුමක් කිරීමට ස්වයංක්‍රීයව සෙලියුලර් ජාලයකට මාරු වෙයි.\nහදිසි ඇමතුම් හැකි වන්නේ සෙලියුලර් ආවරණය සහිත ප්‍රදේශවල පමණයි."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"තත්ත්‍වය වැඩිදියුණු කිරීමට ඇමතුම් සඳහා Wi‑Fi භාවිත කරන්න"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"උපස්ථ ඇමතුම"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ලබා ගත නොහැකි නම් හෝ රෝමිං නම්, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> ඇමතුම් සඳහා ඔබගේ ජංගම දත්ත SIM භාවිත කරන්න."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"උපස්ථ ඇමතුම"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"එන MMS පණිවුඩය"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS පණිවුඩය යැවිය නොහැක"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"ජංගම දත්ත අක්‍රියව තිබෙන විට <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> මත MMS පණිවුඩයට අවසර දීමට තට්ටු කරන්න"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ඔබේ කාර්යාල ප්‍රතිපත්ති තතු"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"ඔබගේ IT පරිපාලක විසින් කළමනාකරණය කරන සැකසීම්"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K පිටු ප්‍රමාණයෙන් ආරම්භ කරන්න"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16K පිටු ප්‍රමාණයේ සහාය දක්වන කර්නලය භාවිතයෙන් උපාංගය ආරම්භ කරන්න"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB පිටු ගැළපෙන කර්නලයක් සමග නැවත පණ ගන්වන්න ද?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"අවවාදයයි: සමහර යෙදුම් මෙම ප්‍රකාරය සමග නොගැළපෙයි. තහවුරු කිරීමෙන් පසු උපාංගය නැවත පණ ගැන්වෙනු ඇත."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB පිටු ගැළපෙන කර්නලයක් සමග නැවත පණ ගන්වන්න ද?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"තහවුරු කිරීමෙන් පසු උපාංගය නැවත පණ ගැන්වෙනු ඇත."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"කර්නලය 16KB පිටු ගැළපෙන කර්නලයට යාවත්කාලීන කිරීමට අසමත් විය."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"වෙනස යෙදීම"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"දෝෂ වාර්තා හසුරුවනය"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"ඔබේ උපාංගයේ දෝෂ වර්තා කෙටිමග හසුරුවන්නේ කුමන යෙදුමදැයි තීරණය කරයි."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"පුද්ගලික"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"වෙනත් යෙදුම් ඉහළින් සංදර්ශනය කළ හැකි යෙදුම්වලට සැකසීම් තිර වසාලීමට ඉඩ දෙන්න"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Mock Modem ඉඩ දෙන්න"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"උපකරණ පරීක්ෂාව සඳහා Mock Modem සේවාව ධාවනය කිරීමට මෙම උපාංගයට ඉඩ දෙන්න. දුරකථනය සාමාන්‍ය භාවිතයේදී මෙය සබල නොකරන්න"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"තිරය බෙදා ගැනීමේ ආරක්‍ෂා අබල කරන්න"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"තිරය බෙදා ගැනීම අතරතුර පද්ධතියට අදාළ වන යෙදුම් සහ දැනුම් දීම් ආරක්‍ෂාව අබල කරයි"</string>
     <string name="media_controls_title" msgid="403271085636252597">"මාධ්‍ය"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"මාධ්‍ය වාදකය අමුණන්න"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"පසුධාවනය ඉක්මනින් නැවත ධාවනය ආරම්භ කිරීමට, ඉක්මන් සැකසීම් තුළ මාධ්‍ය වාදකය විවෘතව පවතී"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"අගුලු තිරය මත මාධ්‍ය පෙන්වන්න"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"පසුධාවනය ඉක්මණින් නැවත පටන් ගැනීමට, මාධ්‍ය වාදකය අගුලු තිරය මත විවෘතව පවතී"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"මාධ්‍ය නිර්දේශ පෙන්වන්න"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"සහායක මාධ්‍ය නිර්දේශ පෙන්වන්න"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"ඔබගේ ක්‍රියාකාරකම මත පදනම්ව"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"වාදකය සඟවන්න"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"වාදකය පෙන්වන්න"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"මාධ්‍ය"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"කැමරා මෘදුකාංග දිගුවලට ඉඩ දෙන්න"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"ඇස් රහිත වීඩියෝකරණය වැනි උසස් කැමරා විශේෂාංගවල පෙරනිමි මෘදුකාංග ක්‍රියාත්මක කිරීම සබල කරයි."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"බ්ලූටූත් ක්‍රියාත්මක වනු ඇත"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"අන්තර්ජාලය"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"සක්‍රිය"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"අක්‍රිය"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"සක්‍රීයයි"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"අක්‍රියයි"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> සඳහා පෙරනිමි"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"ඇමතුම්"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"ගැළපෙන මාධ්‍යවලින් ශ්‍රව්‍ය වඩාත් ගිලී යයි"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"හිස සටහන් තබා ගැනීම"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ඔබ ඔබගේ හිස වඩාත් ස්වභාවික ශබ්ද වීමට ගෙන යන විට ශ්‍රව්‍ය වෙනස් වේ"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"අවසර සමමුහුර්ත කරන්න"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> මත ඔබ ඉඩ දී ඇති යෙදුම් අවසරම <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> හට දෙන්න"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"දුරකථනයෙන් අවසර සමමුහුර්ත කරන්න"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ඔබ මෙම දුරකථනයෙහි ඉඩ දී ඇති යෙදුම් අවසරම ඔබේ ඔරලෝසුවට ලබා දෙන්න"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ශ්‍රව්‍ය උපාංග වර්ගය"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"නොදනී"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ස්පීකරය"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"මධ්‍යම"</string>
     <string name="contrast_high" msgid="3988567609694797696">"ඉහළ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"මෙම යෙදුම විවෘත කළ හැක්කේ 1 කවුළුවක පමණයි"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ක්‍රියාත්මකයි"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ක්‍රියාවිරහිතයි"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ක්‍රියාවිරහිතයි"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ක්‍රියාවිරහිතයි"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ක්‍රියාත්මකයි"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ක්‍රියාවිරහිතයි"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ක්‍රියාත්මකයි"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ක්‍රියාවිරහිතයි"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ආලෝකමත් තිර අඳුරු සහ අඳුරු තිර ආලෝකමත් බවට පත් කරයි"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"තිරය මත විශාලනය කරන්න"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ක්‍රියාවිරහිතයි"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ක්‍රියාවිරහිතයි"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"රැවටිලිකාර යෙදුම් සඳහා ස්කෑන් කිරීම"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"තතුබෑම් සඳහා යෙදුම් ක්‍රියාකාරකම් පරීක්ෂා කරන්න"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"රැවටිලිකාර යෙදුම් සඳහා ස්කෑන් කිරීම භාවිතා කරන්න"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"වැඩ සඳහා රැවටිලිකාර යෙදුම් සඳහා ස්කෑන් කිරීම භාවිතා කරන්න"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"මුරපදය දැන් පිහිටුවා ඇත"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"සැරිසරන අතරේ දර්ශකය පෙන්වන්න"</string>
 </resources>
diff --git a/res/values-sk/arrays.xml b/res/values-sk/arrays.xml
index 4f0b91f..cfd3db8 100644
--- a/res/values-sk/arrays.xml
+++ b/res/values-sk/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"K dispozícii"</item>
     <item msgid="6096962300722555553">"Mimo dosah"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Vypnuté"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast a Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Použiť predvolenú hodnotu systému: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Po 1 minúte"</item>
     <item msgid="1574040255478150028">"Po 5 minútach"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-sk/strings.xml b/res/values-sk/strings.xml
index b36b71e..4c1794b 100644
--- a/res/values-sk/strings.xml
+++ b/res/values-sk/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Teraz ste vývojár!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nie je to potrebné, už ste vývojár."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najprv povoľte možnosti pre vývojárov"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"K nastaveniam vývojára majú prístup iba správcovia."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Systém"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"V prevádzke"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Mimo prevádzky"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Predná obrazovka sa pri zložení zariadenia zapne"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Iba hry, videá a ďalší obsah"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Predná obrazovka sa zapne v prípade aplikácií, ktoré bránia spusteniu režimu obrazovky pri nečinnosti"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Pokračujte potiahnutím nahor"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Ak chcete pokračovať v používaní aplikácie, zložte telefón a potiahnite prstom nahor po prednej obrazovke alebo počkajte niekoľko sekúnd, kým sa obrazovka uzamkne"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nikdy"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Predná obrazovka sa pri zložení zariadenia uzamkne"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Používať automatické otáčanie"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Podobné"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Tóny zvonenia a budíky"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zvuk počas hovorov"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Médiá"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Upozornenia a ďalšie zvuky systému"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Médiá a zvuky systému"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Upozornenia"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Zvukový výstup predvolene určujú jednotlivé aplikácie"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Nepomenované zariadenie s rozhraním Bluetooth"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Vyhľadávanie"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Zrušiť"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Deaktivovať Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Deaktivovať funkciu Bluetooth LE Audio, keď zariadenie podporuje možnosti hardvéru LE Audio"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Režim Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Zobrazovať LE Audio v podr. o zariadení"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Povoliť zoznam povolených s prístupom k funkcii Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Povoliť funkciu zoznamu povolených s prístupom k funkcii Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Obísť zoznam povolených aplikácie Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Používajte LE Audio predvolene, aj keď nebolo overené, či periféria LE Audio spĺňa kritériá zoznamu povolených."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mediálne zariadenia"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Zariadenia na telefonovanie"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Iné zariadenia"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Uložené zariadenia"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Spojené s účtom"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Použité v minulosti s účtom"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Na párovanie sa zapne Bluetooth"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Nastavenia pripojenia"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Predtým pripojené zariadenia"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Rozhranie Bluetooth je zapnuté"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Zobraziť všetky"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Zobraziť všetko"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Dotykové pero"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Stlačenie tlačidla na tele pera"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (pracovný profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Písanie v textových poliach"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorovať všetky stlačenia tlačidla dotykového pera"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Dotykové pero"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Zdieľanie zvuku"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Zdieľať zvuk"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Hovory a budíky"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Pripojte sa k zvukovému streamu pomocou QR kódu"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"V okolí sa nenašli zvukové streamy."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Dátum a čas"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy server"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Vymazať"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Pridať jazyk %s medzi preferované?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Aplikácie aj weby tým informujete, že preferujete aj tento jazyk."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Nastavenia zariadenia a regionálne nastavenia sa zmenia."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Zmeniť"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nie je k dispozícii"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sobota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ak aplikácia regionálne nastavenia nepodporuje, bude v nej použité predvolené miestne nastavenie."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Ďalšie informácie o jazykových nastaveniach"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Ďalšie predvoľby"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Oslovenia"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Nastavte si oslovenie"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikácie môžu pomocou vašich oslovení prispôsobiť, ako vás majú oslovovať."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Nezadané"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Ženský rod"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Mužský rod"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutrálne"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Chcete vybraný jazyk odstrániť?}few{Chcete vybrané jazyky odstrániť?}many{Remove selected languages?}other{Chcete vybrané jazyky odstrániť?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text sa zobrazí v inom jazyku."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nie je možné odstrániť všetky jazyky"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Poloha"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Používať polohu"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Vypnuté"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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á pracovníkom záchranného systému, 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="5329024810729665156">"Ďalšie informácie o nastaveniach polohy"</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="3574930966097093550">"Zmena prístupu k polohe: Nastavenia &gt; Zabezp. a ochr. súkromia &gt; Nast. och. súkromia"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Účty"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Zabezpečenie"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifrovanie a poverenia"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Najlepšie výsledky dosiahnete, keď použijete ochranu obrazovky s certifikátom Made for Google. S inými ochranami obrazovky nemusí odtlačok prsta vášho dieťa fungovať."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Odomknutie hodinkami"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Keď si nastavíte odomknutie tvárou aj odtlačkom prsta a budete sa nachádzať v tmavom prostredí alebo mať rúško, telefón vás požiada o odtlačok prsta.\n\nHodinkami môžete odomknúť, keď nebude rozpoznaná vaša tvár alebo odtlačok prsta."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Hodinkami môžete odomknúť, keď nebude rozpoznaný váš odtlačok prsta."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Hodinkami môžete odomknúť, keď nebude rozpoznaná vaša tvár."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Keď si nastavíte odomknutie tvárou aj odtlačkom prsta a budete sa nachádzať v tmavom prostredí alebo mať rúško, telefón vás požiada o odtlačok prsta.\n\nOdomknutie hodinkami je ďalší praktický spôsob, ako odomknúť telefón, keď máte napríklad vlhké prsty alebo zariadenie nedokáže rozpoznať vašu tvár."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Odomknutie hodinkami je ďalší praktický spôsob, ako odomknúť telefón, keď napríklad zariadenie nedokáže rozpoznať váš odtlačok prsta."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Odomknutie hodinkami je ďalší praktický spôsob, ako odomknúť telefón, keď napríklad zariadenie nedokáže rozpoznať vašu tvár."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Odtlačkom prsta alebo hodinkami môžete"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Tvárou alebo hodinkami môžete"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Tvárou, odtlačkom prsta alebo hodinkami môžete"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Odomknutie hodinkami je ďalší praktický spôsob, ako odomknúť tento telefón, napríklad keď máte vlhké prsty alebo keď zariadenie nedokáže rozpoznať vašu tvár.\n\nHodinkami môžete odomykať tento telefón, keď:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Teraz nie"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Pokračovať"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Viac"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Ako to funguje"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Hodinky musíte mať odomknuté na zápästí a v dosahu tohto telefónu. Keď ich budete mať na zápästí, nebudete ich musieť znova odomykať."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Keď sa tento telefón odomkne, dostanete v hodinkách upozornenie. Ak sa odomkol a vy ste to nechceli, klepnutím na upozornenie ho znova uzamknete."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Všetko máte pod kontrolou"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Hodinky môžete z funkcie odomknutia hodinkami kedykoľvek odstrániť v Nastaveniach"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Klepnite na upozornenie"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Potiahnite po uzamknutej obrazovke nahor"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Vyberte svoje hodinky"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Dostupné hodinky"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Zrušiť"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potvrdiť"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Hotovo!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Hodinkami môžete teraz odomykať tento telefón potiahnutím po uzamknutej obrazovke nahor alebo klepnutím na upozornenie"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Hotovo"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Odomknutie hodinkami"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Hodinkami môžete odomykať tento telefón potiahnutím po uzamknutej obrazovke nahor alebo klepnutím na upozornenie"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Ak chcete používať odomknutie hodinkami, musíte mať hodinky odomknuté na zápästí, pričom musia byť pripojené k tomuto telefónu a v jeho dosahu. Ak sa pripojenie preruší, budete musieť pred použitím odomknutia hodinkami telefón odomknúť.\n\nPamätajte:\nSúčasne môžete mať nastavené iba jedny hodinky. Ak chcete pridať ďalšie, musíte najprv odstrániť aktuálne."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Zabezpečenie"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Ochrana súkromia"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Pracovný profil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Súkromný priestor"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Ponechajte súkromné aplikácie uzamknuté a skryté"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Uchovávajte súkromné aplikácie v samostatnom priestore, ktorý môžete skryť alebo uzamknúť"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Zámka súkromného priestoru"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Súkromný priestor môžete odomknúť rovnakým spôsobom ako svoje zariadenie, prípadne môžete vybrať inú zámku"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Používať zámku obrazovky zariadenia"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Odomknutie tvárou a odtlačkom prsta"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Odomknutie odtlačkom prsta"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Odomknutie tvárou"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Nastavíte klepnutím"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Odomknutie súkromného priestoru odtlačkom prsta"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Odomknutie súkromného priestoru tvárou"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Spôsoby odomknutia"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Rovnaká ako zámka obrazovky zariadenia"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Chcete pre súkromný priestor vybrať novú zámku?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Automatické uzamykanie súkromného priestoru"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Ak ste zariadenie istý čas nepoužili, môžete si automaticky uzamknúť súkromný priestor"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Vždy, keď sa zariadenie uzamkne"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Po piatich minútach nečinnosti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nikdy"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Skryť pri uzamknutí"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Skrytie súkromného priestoru pri uzamknutí"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Ak nechcete, aby ostatní ľudia vedeli, že máte v zariadení súkromný priestor, môžete ho skryť v zozname aplikácií"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Prístup do súkromného priestoru, keď je skrytý"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"V zozname aplikácií zadajte do vyhľadávacieho panela „súkromný priestor“"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Klepnite na kartu súkromného priestoru"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Odomknúť súkromný priestor"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Vypnuté"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Zapnuté"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Systém"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Odstránenie súkromného priestoru"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Chcete odstrániť súkromný priestor?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Váš súkromný priestor bude odstránený z vášho zariadenia. Všetky súkromné aplikácie a dáta budú odstránené. Túto akciu nemôžete vrátiť späť."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Nasledujúce účty budú odstránené z tohto súkromného priestoru:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Odstrániť"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Odstraňuje sa súkromný priestor…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Bude to chvíľu trvať"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Súkromný priestor bol odstránený"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Súkromný priestor sa nepodarilo odstrániť"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Súkromný priestor je odomknutý"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Nastavte zámku obrazovky"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Ak chcete používať súkromný priestor, nastavte v tomto zariadení zámku obrazovky"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Nastaviť zámku obrazovky"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Zrušiť"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Zrušiť"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Nastaviť"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Nastavenie súkromného priestoru"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Uchovávajte súkromné aplikácie v samostatnom priestore, ktorý môžete skryť alebo uzamknúť"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Ako to funguje"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Prístup do súkromného priestoru získate dole v zozname aplikácií"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikácie v súkromnom priestore sú chránené zámkou"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Keď je súkromný priestor uzamknutý, upozornenia z aplikácií v ňom sú skryté"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikácie vo vašom súkromnom priestore sa nebudú zobrazovať v sekcii Správca povolení, paneli ochrany súkromia ani iných nastaveniach, keď je tento priestor uzamknutý.\n\nNemôžete si ho preniesť do iného zariadenia. Ak ho chcete používať v inom zariadení, musíte si nastaviť iný súkromný priestor.\n\nK vášmu súkromnému priestoru môže získať prístup ktokoľvek, kto pripojí vaše zariadenie k počítaču alebo v ňom nainštaluje škodlivé aplikácie."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavuje sa súkromný priestor…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Keď je súkromný priestor uzamknutý, upozornenia z aplikácií, ktoré sú v ňom, sú skryté"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Ak chcete zdieľať fotky alebo súbory, odomknite súkromný priestor"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Niektoré aplikácie sú už nainštalovaná vo vašom súkromnom priestore"</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_lockscreen_title" msgid="6034864097861137509">"Odomykať súkromný priestor zámkou obrazovky?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Súkromný priestor môžete odomknúť rovnakým spôsobom ako svoje zariadenie, prípadne môžete vybrať inú zámku"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Používať zámku obrazovky"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Vybrať novú zámku"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Hotovo!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Súkromný priestor nájdete tak, že prejdete na zoznam aplikácií a potom sa posuniete nadol"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Hotovo"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Ak chcete nájsť súkromný priestor, posuňte sa nadol"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Prihláste sa"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Prihláste sa do účtu, ktorý chcete používať so svojím súkromným priestorom"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Teraz nie"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Pokračovať"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Vyberte zámku pre súkromný priestor"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Súkromný priestor môžete odomknúť odtlačkom prsta. Táto možnosť vyžaduje z bezpečnostných dôvodov záložnú zámku."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Nastavte PIN pre súkromný priestor"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Nastavte heslo pre súkromný priestor"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Nastavte vzor pre súkromný priestor"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Maximálny počet odtlačkov, ktoré môžete pridať: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Pridali ste maximálny počet odtlačkov prstov"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nie je možné pridať ďalšie odtlačky prstov"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Vzor"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Heslo"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Chcete odstrániť zámku obrazovky?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Chcete odstrániť všetky typy odomknutia zariadenia?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Odstrániť ochranu profilu?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Vzor chráni váš telefón v prípade straty alebo krádeže"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Vzor chráni váš telefón v prípade straty alebo krádeže.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Táto akcia odstráni model odtlačku prsta uložený v zariadení. Váš model tváre bude tiež trvale a bezpečne odstránený. Pomocou tváre ani odtlačku prsta nebudete môcť overovať v aplikáciách."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN chráni váš telefón v prípade straty alebo krádeže"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Prídete o uložené údaje, napríklad PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené na bezkontaktné platby budú odstránené.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peňaženky a ďalšie aplikácie, ktoré vyžadujú odomknutie zariadenia, nemusia správne fungovať."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN chráni váš telefón v prípade straty alebo krádeže.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Táto akcia tiež odstráni model odtlačku prsta uložený v zariadení. Pomocou odtlačku prsta nebudete môcť overovať v aplikáciách."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Prídete o uložené údaje, ako sú PIN a model odtlačku prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené na bezkontaktné platby budú odstránené.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peňaženky a ďalšie aplikácie, ktoré vyžadujú odomknutie zariadenia, nemusia správne fungovať."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN chráni váš telefón v prípade straty alebo krádeže.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Váš model tváre bude tiež trvale a bezpečne odstránený. Pomocou tváre nebudete môcť overovať v aplikáciách."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Prídete o uložené údaje, ako sú PIN a model tváre.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené na bezkontaktné platby budú odstránené.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peňaženky a ďalšie aplikácie, ktoré vyžadujú odomknutie zariadenia, nemusia správne fungovať."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN chráni váš telefón v prípade straty alebo krádeže.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Táto akcia odstráni model odtlačku prsta uložený v zariadení. Váš model tváre bude tiež trvale a bezpečne odstránený. Pomocou tváre ani odtlačku prsta nebudete môcť overovať v aplikáciách."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Prídete o uložené údaje, ako sú PIN a modely tváre a odtlačku prsta.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Karty nastavené na bezkontaktné platby budú odstránené.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Peňaženky a ďalšie aplikácie, ktoré vyžadujú odomknutie zariadenia, nemusia správne fungovať."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Heslo chráni váš telefón v prípade straty alebo krádeže"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Heslo chráni váš telefón v prípade straty alebo krádeže.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Spárovať so zariadením <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Pridať nového člena do existujúcej koordinovanej skupiny"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potvrďte, že chcete pridať druhú časť audio zariadenia"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Párovací kód Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Zadajte párovací kód a potom stlačte tlačidlo Return alebo Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN obsahuje písmená či symboly"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Musí obsahovať 16 číslic"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Tento kód PIN bude možno treba zadať aj na druhom zariadení."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Tento prístupový kľúč možno bude potrebné zadať aj v druhom zariadení."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potvrďte párovanie s koordinovanou skupinou"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potvrďte párovanie s audio zariadením"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Povoliť prístup ku kontaktom a histórii hovorov"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Povoliť aj prístup ku kontaktom a histórii hovorov"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informácie budú použité na účely oznámení hovorov a ďalších funkcií"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nepodarilo sa pripojiť k zariadeniu <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Dostupné zariadenia"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Pripojiť"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Odpojiť"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Spárovať a pripojiť"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Keď je zapnuté pripojenie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s funkciou Bluetooth v okolí."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Keď je zapnuté rozhranie Bluetooth, zariadenie môže komunikovať s ostatnými zariadeniami s rozhraním Bluetooth v okolí"</string>
     <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 rozhraním Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Zmeniť"</string>
     <string name="device_details_title" msgid="1155622417516195481">"O zariadení"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Povoliť nástroju ART overovať bajtkód laditeľných aplikácií"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Zobraziť frekvenciu obnovenia"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Zobraziť aktuálnu frekvenciu obnovenia obrazovky"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Zobrazovať pomer HDR a SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Zobrazovať aktuálny pomer HDR a SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Vyžadovať odomknutie zariadenia pre NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Režim v lietadle"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Upozorňovať na verejné siete"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Upozorniť na dostupnosť kvalitnej verejnej siete"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Povoliť siete WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP je starší bezpečnostný protokol s nižšou úrovňou zabezpečenia"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Váš operátor nepovoľuje siete WEP, pretože sú menej zabezpečené"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Zapínať Wi‑Fi automaticky"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Zapnúť Wi-Fi v dosahu kvalitných uložených sietí, napríklad vašej domácej siete"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nedostupné, pretože funkcia polohy je vypnutá. Zapnúť funkciu "<annotation id="link">"polohy"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Vyhľadávanie sietí Wi-Fi umožňuje aplikáciám a službám kedykoľvek vyhľadávať siete Wi‑Fi, a to aj vtedy, keď je funkcia Wi-Fi vypnutá. Dajú sa tak napríklad zlepšiť funkcie a služby závislé od polohy."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Zapnúť"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Vyhľadávanie sietí Wi‑Fi je zapnuté"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Táto sieť používa starší bezpečnostný protokol s nižšou úrovňou zabezpečenia"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Sieť <xliff:g id="NAME">%1$s</xliff:g> je blokovaná"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Táto sieť používa starší bezpečnostný protokol WEP s nižšou úrovňou zabezpečenia. Ak sa chcete aj napriek tomu pripojiť, môžete povoliť siete WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Váš operátor vám nepovoľuje pripojiť sa k tejto sieti, pretože používa starší bezpečnostný protokol s nižšou úrovňou zabezpečenia"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Povoliť WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zavrieť"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Rozšírené možnosti"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rozbaľovací zoznam Pokročilé možnosti"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"rozbaliť"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Ďalej používať Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Viac už nezobrazovať"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Pripojiť"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Pripojenie Wi‑Fi je zapnuté"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Pripojené k sieti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Pripája sa k sieti <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Pripája sa…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Nepodarilo sa pripojiť k sieti"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Sieť nie je v dosahu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Odstrániť"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Upraviť"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Sieť sa nepodarilo odstrániť"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Uložiť"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Nepodarilo sa uložiť sieť"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Zrušiť"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobilné dáta"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – nabíja sa"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – nabíja sa"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Pripojenie cez hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Sila pripojenia"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Uložené siete"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nie je nastavené žiadne heslo"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Názov hotspotu"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Heslo hotspotu"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Pásmo prístup. bodu"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot automaticky vypínať"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Keď nie sú pripojené žiadne zariadenia"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Rozšíriť kompatibilitu"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Zobrazenie vyváženia bielej"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Pokračovať v používaní aplikácií po zložení"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Plynulý obraz"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Automaticky zvyšuje frekvenciu obnovenia zo 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz pre určitý obsah. Zvýši sa spotreba batérie."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Zakázať predvolenú snímkovú frekvenciu hier"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Zakážte obmedzenie maximálnej snímkovej frekvencie hier na úrovni <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Plynulý obraz"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Automaticky zvýši frekvenciu obnovenia v prípade určitého obsahu až na <xliff:g id="ID_1">%1$d</xliff:g> Hz. Zvýši sa spotreba batérie."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vynútiť vrcholovú frekvenciu obnovenia"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Najvyššia frekvencia obnovenia zlepšujúca dotykovú odozvu a kvalitu animácií. Zvýši sa spotreba batérie."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Vnímavá obrazovka"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Vnímavá obrazovka pomocou prednej kamery zistí, či sa používateľ pozerá na obrazovku. Spúšťa sa v zariadení a snímky sa nikdy neukladajú ani neodosielajú Googlu."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Zapnúť vnímavú obrazovku"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Nechať obrazovku zapnutú, keď ju pozeráte"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Dlhší časový limit obrazovky viac spotrebúva batériu."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera je uzamknutá"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Ak chcete používať rozpoznávanie tváre, kamera musí byť odomknutá"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Vnímavá obrazovka vyžaduje odomknutý fotoaparát"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (slot na SIM kartu <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (slot na SIM kartu <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (hlavný)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Zobrazte výberom uloženej siete"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Verzia PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Nabitie batérie"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Spoločné"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Spoločné nastavenia"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Správy cez satelit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Prístupové body"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Upraviť prístupový bod"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Pridanie prístupového bodu"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nenastavené"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nenastavené"</string>
     <string name="apn_name" msgid="6677695784108157953">"Názov"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Prístupový bod zapnutý"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Prístupový bod vypnutý"</string>
     <string name="bearer" msgid="3231443241639159358">"Nositeľ"</string>
+    <string name="network_type" msgid="748590707422733595">"Typ siete"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Neurčený"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Typ MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Hodnota MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Odstrániť názov prístupového bodu (APN)"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Uložiť"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Zrušiť"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Duplicitný vstup názvu prístupového bodu."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Pole Meno nemôže byť prázdne."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Názov prístupového bodu (APN) nemôže byť prázdny."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Pole MCC musí obsahovať 3 číslice."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Pole MNC musí obsahovať 2 alebo 3 číslice."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operátor zakázal pridávanie názvov prístupového bodu typu %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Pole MMSC musí byť platné."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Prebieha obnovovanie predvolených nastavení názvu prístupového bodu (APN)."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Resetovať na predvolené"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Predvolené nastavenia APN boli obnovené."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Resetovať"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth a Wi‑Fi boli resetované"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Vymazať eSIM karty"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Nezrušíte tým žiadne tarify mobilných služieb. Ak si chcete stiahnuť náhradné SIM karty, kontaktujte operátora."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Týmto sa nezruší vaša mobilná tarifa. Ak chcete náhradnú SIM kartu, kontaktujte operátora."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Resetovať nastavenia"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Chcete resetovať všetky nastavenia sietí? Túto akciu nie je možné vrátiť späť."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Chcete resetovať všetky nastavenia sietí a vymazať eSIM karty? Túto akciu nemôžete vrátiť späť."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Resetovať?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Tento používateľ nemôže resetovať nastavenia siete"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Sieťové nastavenia boli obnovené"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM karty sa nedajú vymazať"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM karty sa nedajú vymazať, pretože došlo k chybe.\n\nReštartujte zariadenie a skúste to znova."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM karty sa nedajú vymazať"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Niečo sa pokazilo a tieto eSIM karty sa nevymazali.\n\nReštartujte zariadenie a skúste to znova."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Vymazať dáta (obn. výr. nast.)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Vymazať údaje (obnoviť výrobné nastavenia)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Hudba"</li>\n<li>"Fotky"</li>\n<li>"Iné údaje používateľa"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM karty"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Nezruší sa tým vaša tarifa mobilných služieb."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Všetky vaše osobné údaje a stiahnuté aplikácie budú odstránené. Túto akciu nie je možné vrátiť späť."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Všetky vaše osobné údaje vrátane stiahnutých aplikácií a SIM kariet budú odstránené. Túto akciu nie je možné vrátiť späť."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Všetky vaše osobné údaje vrátane stiahnutých aplikácií a eSIM kariet budú odstránené. Táto akcia sa nedá vrátiť späť."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Chcete vymazať všetky údaje?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Obnovenie výrobných nastavení nie je pre tohto používateľa k dispozícii"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Maže sa"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet sa nezdieľa s inými zariadeniami"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Vypnuté"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Zdieľanie dátového pripojenia"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Nepoužívať hotspot Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Zdieľať internet len cez USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Zdieľať internet len cez Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Zdieľať internet len cez Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Zdieľať internet len cez USB a Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Zdieľať internet len cez USB a Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Zdieľať internet len cez Bluetooth a Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Zdieľať internet len cez USB, Bluetooth a Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Tethering cez USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Tethering cez Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Tethering cez ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Hotspot a tethering umožňujú poskytovať internet iným zariadeniam prostredníctvom vášho pripojenia Wi‑Fi alebo mobilného dátového pripojenia. Aplikácie tiež môžu vytvárať hostpot na zdieľanie obsahu so zariadeniami v okolí."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pomocník"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilná sieť"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilný plán"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikácia na SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Zmeniť aplikáciu na SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Použiť aplikáciu <xliff:g id="NEW_APP">%1$s</xliff:g> namiesto <xliff:g id="CURRENT_APP">%2$s</xliff:g> ako aplikáciu na SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Zmeniť aplikáciu asistent pripojenia Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Chcete spravovať sieťové pripojenia pomocou aplikácie <xliff:g id="NEW_APP">%1$s</xliff:g> namiesto aplikácie <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Chcete spravovať sieťové pripojenia pomocou aplikácie <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Neznámy operátor SIM karty"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nemá žiadne provízne webové stránky"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Vložte SIM kartu a reštartujte"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Pripojte sa k internetu"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nedávne žiadosti o polohu"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Poloha pre pracovný profil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Prístup aplikácií k polohe"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Zrušiť prístup"</string>
     <string name="controls_label" msgid="8671492254263626383">"Ovládacie prvky"</string>
     <string name="force_stop" msgid="2681771622136916280">"Vynútiť zastavenie"</string>
+    <string name="archive" msgid="9074663845068632127">"Archivovať"</string>
+    <string name="restore" msgid="7622486640713967157">"Obnoviť"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Obnovuje sa"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Obnovuje sa."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Obnovuje sa.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Obnovuje sa…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Celkove"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Veľkosť aplikácie"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikácia, úložisko USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Nepodarilo sa vypočítať veľkosť balíčka."</string>
     <string name="version_text" msgid="7628938665256107608">"verzia <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Presunúť"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Nepodarilo sa archivovať"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Aplikácia <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> bola archivovaná"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Nepodarilo sa obnoviť"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Obnovuje sa aplikácia <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Už prebieha iná migrácia."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"V úložisku nie je dostatok miesta."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikácia neexistuje."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Dostupná klávesnica na obrazovke"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Spravovať klávesnice na obrazovke"</string>
     <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="6922850403920596246">"Povoľte klávesy jedného stlačenia pre dostupnosť na fyzickej klávesnici"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Pomalé klávesy"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Povoľte pomalé klávesy pre dostupnosť na fyzickej klávesnici"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Režim uzamknutia klávesa"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Povoľte režim uzamknutia klávesa pre dostupnosť na fyzickej klávesnici"</string>
     <string name="keyboard_shortcuts_helper" msgid="2553221039203165344">"Klávesové skratky"</string>
     <string name="keyboard_shortcuts_helper_summary" msgid="5979507677602559203">"Zobrazenie zoznamu skratiek"</string>
     <string name="language_and_input_for_work_category_title" msgid="2546950919124199743">"Klávesnice a nástroje pracovného profilu"</string>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Rýchlosť kurzora"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Naučiť sa gestá touchpadu"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Prechod na plochu"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Kdekoľvek na touchpade potiahnite troma prstami nahor"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Prejdenie späť"</string>
@@ -1741,7 +1916,7 @@
     <string name="modifier_keys_done" msgid="8196199314913909700">"Hotovo"</string>
     <string name="modifier_keys_cancel" msgid="7136520252570826772">"Zrušiť"</string>
     <string name="modifier_keys_reset" msgid="551170906710422041">"Resetovať"</string>
-    <string name="modifier_keys_picker_title" msgid="244545904150587851">"Vyberte kláves modifikátora"</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="default_keyboard_layout" msgid="8690689331289452201">"Predvolené"</string>
     <string name="speech_category_title" msgid="5995161659186229742">"Reč"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Zoradiť podľa času používania"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Zoradiť podľa posledného použitia"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Zoradiť podľa názvu aplikácie"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Naposledy použité"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Naposledy použité"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nikdy"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Doba použitia"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Dostupnosť"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Nastavenia dostupnosti"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Priblíženie trojitým klepnutím"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Priblíženie skratkou"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Priblíženie skratkou a trojitým klepnutím"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Otváranie tlačidlom dostupnosti"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Otvorte pridržaním tlačidiel hlasitosti"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Otvorenie troma klepnutiami na obrazovku"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Otvorte dvojitým klepnutím dvoma prstami na obrazovku"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Otváranie gestom"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Použitie gesta dostupnosti"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ak chcete použiť túto funkciu, klepnite na tlačidlo dostupnosti <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> v dolnej časti obrazovky.\n\nFunkcie prepnete pridržaním tlačidla dostupnosti."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ak chcete túto funkciu použiť, klepnite na tlačidlo dostupnosti na obrazovke."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Túto funkciu použijete tak, že pridržíte obe tlačidlá hlasitosti."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ak chcete spustiť alebo zastaviť zväčšenie, klepnite trikrát na ľubovoľné miesto na obrazovke."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Ak chcete spustiť či zastaviť zväčšenie, klepnite dvakrát dvoma prstami kdekoľvek na obrazovku."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ak chcete použiť túto funkciu, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ak chcete použiť túto funkciu, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ak chcete použiť funkciu dostupnosti, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Ak chcete použiť funkciu dostupnosti, 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_tutorial_dialog_button" msgid="2031773187678948436">"Dobre"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Nastavenia tlačidla dostupnosti"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Nastavenia tlačidla"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> – skratka"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Tlačidlo dostupnosti"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gesto dostupnosti"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Pridržanie tlačidiel hlasitosti"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"podržanie tlačidiel 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dvojité klepnutie dvoma prstami na obrazovku"</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="6863958573135995927">"tri klepnutia na obrazovku"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Ďalšie informácie o tlačidle dostupnosti a geste"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Používa sa tlačidlo dostupnosti. Pri trojtlačidlovej navigácii nie je gesto k dispozícii."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Rýchly prístup k funkciám dostupnosti"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Začíname"</b>\n"1. Prejdite do nastavení dostupnosti.\n2. Vyberte funkciu a klepnite na odkaz.\n3. Vyberte, či chcete k funkcii získavať prístup tlačidlom alebo gestom."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Začíname"</b>\n"1. Prejdite do nastavení dostupnosti.\n2. Vyberte funkciu a klepnite na odkaz.\n3. Vyberte tlačidlo na prístup k danej funkcii."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Ak chcete začať:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Prejdite do nastavení dostupnosti.&lt;br/&gt; {1,number,integer}. Vyberte funkciu a klepnite na odkaz.&lt;br/&gt; {2,number,integer}. Vyberte, či chcete na prístup k funkcii použiť tlačidlo alebo gesto.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Ak chcete začať:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Prejdite do nastavení dostupnosti.&lt;br/&gt; {1,number,integer}. Vyberte funkciu a klepnite na odkaz.&lt;br/&gt; {2,number,integer}. Vyberte tlačidlo na prístup k danej funkcii.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Používať tlačidlo alebo gesto"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Poloha"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Veľkosť"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Ukončiť hovor vypínačom"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Veľký kurzor myši"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Zlepšiť viditeľnosť kurzora myši"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Nastavenie aplikácií ako tmavých"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Vzťahuje sa iba na aplikácie bez vlastného tmavého motívu. Niektoré aplikácie majú problémy so zobrazením, napríklad invertované farby."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Odstrániť animácie"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Zredukovať pohyb na obrazovke"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Zvuk mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Použiť vibrácie a hmatovú spätnú väzbu"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibrovanie pri budíku"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibrovanie pri médiách"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibrovanie klávesnice"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibrovanie pri zvonení"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibrovanie pri upozornení"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odozva pri klepnutí"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Zastaviť"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Zrušiť"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Zastaviť službu <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Klepnutím na <xliff:g id="STOP">%1$s</xliff:g> zastavíte službu <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Vypnúť"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Nevypínať"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Chcete službu <xliff:g id="SERVICE">%1$s</xliff:g> vypnúť?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nie sú nainštalované žiadne služby"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nie je vybratá žiadna služba"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"K dispozícii nie je žiadny popis."</string>
     <string name="settings_button" msgid="2195468788019730377">"Nastavenia"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"svetloplachosť, fotofóbia, tmavý motív, migréna, bolesť hlavy, režim čítania, nočný režim, znížiť jas, biely bod"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ľahké použitie, ľahký prístup, asistencia, asistenčné"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"zrak, sluch, nevidiaci, nepočujúci, motorický, zručnosť, pomocný, asistencia, jednoduchosť používania, jednoduchý prístup, ruka, pomoc"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Lupa okna, lupa, zväčšenie, slabozrakosť, zväčšiť"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Titulky, skryté titulky, Okamžitý prepis, slabo počujúci, hluchota, CART, prevod reči na text, titulok"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontrast farieb"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorické, myš"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"načúvadlá, slabo počujúci, strata sluchu, kochleárne implantáty, zosilňovacie zariadenia, procesory zvuku"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorický, myš, externá myš, myš ovládaná hlavou, adaptívna myš, invalidný vozík, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"načúvadlá, slabo počujúci, strata sluchu, kochleárne implantáty, zosilňovacie zariadenia, zvukové procesory, tiesňová linka"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"slabo počujúci, hluchota, titulky, ďalekopisný stroj, textový telefón"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tri tlačidlá"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"zručnosť, motorický, senior, artritída, rsi, porážka, chvenie, roztrúsená skleróza, mozgová obrna, trasenie, zranenie z opakovaného namáhania, ruka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"oneskorenie, zručnosť, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Tlač"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Vypnutá"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Je zapnutá 1 tlačová služba}few{Sú zapnuté # tlačové služby}many{# print services on}other{Je zapnutých # tlačových služieb}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Zostáva <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> do nabitia"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Čas používania"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Čas na pozadí"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Nízky stav batérie"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Povoliť aplikácii spúšťať sa na pozadí"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Obmedziť aktivitu na pozadí?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ak obmedzíte aktivitu aplikácie na pozadí, nemusí fungovať správne"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Aplikácia nemá nastavenú optimalizáciu batérie, preto ju nemôžete obmedziť.\n\nAk ju chcete obmedziť, zapnite optimalizáciu."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Správa spotreby batérie"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Povolenie používania na pozadí"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Zapnite pre aktualizácie v reálnom čase, vypnite na úsporu batérie"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Bez obmedzení"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimalizované"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Obmedzené"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Prezrite si aplikácie s najvyššou spotrebou"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Nabíjanie je optimalizované, aby sa chránila batéria"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Nabíjanie je optimalizované, aby sa predĺžila životnosť batérie"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Nabíjanie je optimalizované, aby sa chránila batéria"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Keď je zariadenie v doku, nabíjanie je optimalizovné, aby sa predĺžila životnosť batérie"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Nabíjanie je optimalizované, aby sa chránila batéria"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Keď je zariadenie v doku, nabíjanie je optimalizovné, aby sa predĺžila životnosť batérie"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Nabíja sa úplne"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Keď nabudúce vložíte tablet do doku, bude nabíjanie optimalizované, aby sa chránila batéria"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Ďalšie informácie o pozastavenom nabíjaní"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Pokračovať v nabíjaní"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Zahrnuje energeticky náročnú aktivitu na pozadí"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Aplikácia bude môcť využívať batériu na pozadí. Batéria sa môže minúť skôr, ako sa očakávalo."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Odstrániť"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Zrušiť"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Nabiť úplne"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problém s nabíjacím príslušenstvom"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Skontrolujte nabíjacie príslušenstvo"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Ďalšie informácie o nekompatibilnom nabíjaní"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Správca batérie"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Spravovať aplikácie automaticky"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od posledného úplného nabitia"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Systémové aplikácie"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Odinštalované aplikácie"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Iné"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Odhadovaný zostávajúci čas:"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do úplného dobitia"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Celkove: menej ako minúta"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Na pozadí: menej ako minúta"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Čas používania: menej ako minúta"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Menej ako minúta"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Celkove: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Na pozadí: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Čas používania: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"teraz"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Graf spotreby batérie"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Graf spotreby batérie za deň"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Graf spotreby batérie za hodinu"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Percento stavu batérie: od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Spotreba batérie od posledného úplného nabitia"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Spotreba batérie: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Čas používania od posledného úplného nabitia"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signál núdzového vytáčania"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nastaviť správanie pri tiesňovom volaní"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Zálohovanie"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Zapnuté"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Vypnuté"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Zálohovať a obnoviť"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Osobné údaje"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Zálohovať moje dáta"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobilné dáta a Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autom. synchr. osobné údaje"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autom. synchr. pracovné údaje"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Aut. synchrizovať súkr. údaje"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Zmeniť cyklus..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Deň v mesiaci, kedy sa má resetovať cyklus spotreby:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"V tomto období nevyužili dátové pripojenie žiadne aplikácie."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Názov"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresa servera"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Šifrovanie PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Tajný kľúč L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikátor protokolu IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Predzdieľaný kľúč protokolu IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Používateľský certifikát protokolu IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certifikát CA protokolu IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certifikát servera IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Zobraziť rozšírené možnosti"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Vyhľadávacie domény DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Servery DNS (napr. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Presmerovávacie trasy (napr. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Používateľské meno"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Heslo"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Uložiť informácie o účte"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nepoužité)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(neoverovať server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(prijatý zo servera)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Tento typ siete VPN nemôže zostať neustále pripojený"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Vždy zapnuté siete VPN podporujú iba numerické adresy serverov"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Vždy zapnuté siete VPN musia mať uvedený server DNS"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Vždy zapnuté siete VPN musia mať numerické adresy serverov DNS"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Zadané informácie nepodporujú vždy zapnuté siete VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Zrušiť"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Zavrieť"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokovať pripojenia bez siete VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Vyžadovať pripojenie VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Nezabezpečené. Aktualizujte na IKEv2 VPN."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nepodporovanú sieť VPN sa nepodarilo spustiť."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Vyberte profil VPN, ku ktorému chcete mať vždy pripojenie. Sieťová premávka bude povolená len v prípade pripojenia k tejto sieti VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Žiadna"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Vždy zapnutá sieť VPN vyžaduje adresu IP pre server aj DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Upozornenia Amber"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Prijímať bulletiny o únosoch detí"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Opakovať"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Povoliť nástroj Správca hovorov"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Povoliť tejto službe spravovať spôsob uskutočňovania hovorov."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Správca hovorov"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Bezdrôtové núdzové upozornenia"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Sieťoví operátori"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Názvy prístupových bodov"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Stav SIM karty"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stav SIM karty (slot na SIM kartu %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Boli zmenené SIM karty."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM karty boli vymenené"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Klepnutím prejdete do Nastavení"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vždy sa opýtať"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Vyžaduje sa výber"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedávne aplikácie, predvolené aplikácie"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Prístup k upozorneniam nie je k dispozícii pre aplikácie v pracovnom profile."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Heslá a účty"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Uložené heslá, automatické dopĺňanie, synchronizované účty"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Návrhy prihlásenia a automatického dopĺňania"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Predvolené aplikácie"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonované aplikácie"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Vytvorte druhú inštanciu aplikácie, aby ste mohli súčasne používať dva účty."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"peňaženka"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"platiť, klepnutie, platby"</string>
     <string name="keywords_backup" msgid="707735920706667685">"záloha, zálohovanie"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gesto"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"tvár, odomknutie, overenie totožnosti, prihlásenie"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"tvár, odomknúť, overiť, prihlásiť sa, odtlačok prsta, biometria"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, verzia prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"veľkosť textu, veľkoformátová tlač, veľké písmo, veľký text, slabozrakosť, zväčšenie textu, zväčšovač písma, zväčšenie písma"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"vždy zapnuté ambientné zobrazenie"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, štítok, čítačka"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klávesnica, hmatová spätná väzba, vibrovať,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Hlasitosť, vibrovanie, režim bez vyrušení"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Hlasitosť médií"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Hlasitosť prenášania"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Zvuky pri spustení"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Živý prepis"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Automatické titulkovanie médií"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Reproduktory telefónu"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Reproduktory tabletu"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Reproduktory zariadenia"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Slúchadlá s káblom"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Zvuk z kompatibilných médií bude strhujúcejší"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Vypnuté"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Zobrazovať kompletné upozornenia"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Zobrazovať citlivý obsah iba po odomknutí"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Nezobrazovať upozornenia"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ako chcete zobrazovať uzamknutú obrazovku?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Čo chcete zobrazovať na uzamknutej obrazovke?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Uzamknutá obrazovka"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Zobrazovať všetok obsah pracovných upozornení"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skryť citlivý pracovný obsah"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nedávne konverzácie boli odstránené"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Konverzácia bola odstránená"</string>
     <string name="clear" msgid="5092178335409471100">"Vymazať"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Vymazať konverzáciu <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Tu sa budú zobrazovať prioritné a zmenené konverzácie"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Keď označíte konverzáciu ako prioritnú alebo vykonáte v konverzáciách akékoľvek iné zmeny, zobrazia sa tu. \n\nAko zmeniť nastavenia konverzácie: \nPotiahnutím z hornej časti obrazovky smerom nadol otvorte panel upozornení a potom pridržte požadovanú konverzáciu."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimalizovať"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Stlmenie upozornení"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Použiť stlmenie na všetky upozornenia"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Postupne znížiť hlasitosti upozornení, keď dostanete veľa po sebe idúcich upozornení z tej istej aplikácie"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Použiť stlmenie na všetky konverzácie"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Postupne znížiť hlasitosti upozornení, keď v krátkom čase dostanete veľa správ z toho istého četu"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Nepoužívať stlmenie upozornení"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Nikdy neznížiť hlasitosť upozornení bez ohľadu na počet po sebe idúcich upozornení z tej istej aplikácie"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrovanie pri odomknutí"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrovať iba pri odomknutej obrazovke"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Použiť na pracovné profily"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Použiť nastavenia stlmenia upozornení z osobného profilu na pracovný profil"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Pomocné služby VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Žiadne nainštalované aplikácie nežiadali, aby boli spúšťané ako pomocné služby VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Umožniť službe VR prístup do služby <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Vypnuté"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Pripnutie aplikácie"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Pripnutie aplikácie umožňuje ponechať aktuálnu aplikáciu zobrazenú, než ju odopnete. Pomocou tejto funkcie môžete napríklad dôveryhodnému priateľovi umožniť hrať konkrétnu hru."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Pripnutá aplikácia môže otvárať ďalšie aplikácie a sprístupniť osobné údaje. \n\nAk chcete pripnúť aplikáciu: 	\n1. Zapnite pripnutie aplikácie. 	\n2. Otvorte Prehľad. 	\n3. Klepnite na ikonu aplikácie v hornej časti obrazovky a potom na Pripnúť."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Pripnutá aplikácia môže otvárať ďalšie aplikácie a sprístupniť osobné údaje. \n\nAk chcete zariadenie s niekým bezpečne zdieľať, skúste namiesto toho použiť hosťa. \n\nAk chcete pripnúť aplikáciu: 	\n1. Zapnite pripnutie aplikácie. 	\n2. Otvorte Prehľad. 	\n3. Klepnite na ikonu aplikácie v hornej časti obrazovky a potom na Pripnúť."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Pripnutá aplikácia môže otvárať ďalšie aplikácie a sprístupniť osobné údaje. \n\nAk chcete použiť pripnutie aplikácie: 	\n{0,number,integer}. Zapnite pripnutie aplikácie. 	\n{1,number,integer}. Otvorte Prehľad. 	\n{2,number,integer}. Klepnite na ikonu aplikácie v hornej časti obrazovky a potom na Pripnúť."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Pripnutá aplikácia môže otvárať ďalšie aplikácie a sprístupniť osobné údaje. \n\nAk chcete zariadenie s niekým bezpečne zdieľať, skúste namiesto toho použiť hosťa. \n\nAk chcete použiť pripnutie aplikácie: 	\n{0,number,integer}. Zapnite pripnutie aplikácie. 	\n{1,number,integer}. Otvorte Prehľad. 	\n{2,number,integer}. Klepnite na ikonu aplikácie v hornej časti obrazovky a potom na Pripnúť."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Keď je aplikácia pripnutá: \n\n•		Môžu byť sprístupnené osobné údaje \n		(napríklad kontakty a obsah správ) \n•		Pripnutá aplikácia môže otvárať ďalšie aplikácie \n\nPripnutie aplikácie používajte iba s ľuďmi, ktorým dôverujete."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pred odopnutím vyžiadať bezpečnostný vzor"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Pred odopnutím požiadať o PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pred odopnutím požiadať o heslo"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Pri odopnutí zamknúť zariadenie"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potvrdzovať odstránenie SIM karty"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potvrďte, že chcete eSIM kartu vymazať"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Pred vymazaním eSIM karty overovať svoju totožnosť"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta verzia rozšír. ochr. pamäte"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Rozšírená ochrana pamäte"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Nastavenia nepoužívanej aplikácie"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pozastaviť aktivitu nepoužívanej aplik."</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Odstrániť povolenia, vymazať dočasné súbory a zastaviť upozornenia"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Spravovať aplikáciu, ak sa nepoužíva"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Odstráňte povolenia, vymažte dočasné súbory, zastavte upozornenia a archivujte aplikáciu"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Všetky aplikácie"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Nainštalované aplikácie"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Okamžité aplikácie"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Voľná pamäť"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Pamäť používaná aplikáciami"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikácia použila pamäť v priebehu tohto uplynulého času: {time}}few{# aplikácie použili pamäť v priebehu tohto uplynulého času: {time}}many{# apps used memory in the last {time}}other{# aplikácií použilo pamäť v priebehu tohto uplynulého času: {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Zapnúť profilovanie využitia pamäte"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilovanie využitia pamäte vyžaduje ďalšie zdroje systému."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilovanie využitia pamäte je vypnuté"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekvencia"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximálne využitie"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Neboli spotrebované žiadne dáta"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Zobrazenie cez iné aplikácie"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Povoliť zobrazenie cez iné aplikácie"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Umožní tejto aplikácii zobrazovať sa nad inými aplikáciami, ktoré používate. Táto aplikácia bude vidieť, kde klepnete, a môcť zmeniť obsah na obrazovke."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Zmena výstupu médií"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Povolenie aplikácií prepínať výstup médií"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Povoľte tejto aplikácii vyberať, ktoré pripojené zariadenie bude prehrávať zvuk či video z iných aplikácií. Ak tejto aplikácii udelíte povolenie, bude mať prístup k zoznamu dostupných zariadení (ako sú slúchadlá a reproduktory) a bude môcť vybrať, pomocou ktorého výstupného zariadenia sa bude streamovať či prenášať zvuk alebo video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Prístup k všetkým súborom"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Povoliť prístup na správu všetkých súborov"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Povoľte tejto aplikácii čítať, upravovať a odstraňovať všetky súbory v tomto zariadení alebo akýchkoľvek pripojených úložiskách. Po udelení tohto povolenia bude môcť aplikácia používať súbory bez vášho vedomia."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Má prístup k všetkým súborom"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikácie na aktiváciu hlasom"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Povoliť aktiváciu hlasom"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivácia hlasom zapne schválené aplikácie handsfree hlasovým príkazom. Vstavané adaptívne zisťovanie zaistí, že údaje zostanú súkromné, teda iba pre vás.\n\n"<a href="">"Viac o chránenom adaptívnom zisťovaní"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Upozornenia na celej obrazovke"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Povoliť zobrazovanie upozornení z tejto aplikácie na celej obrazovke"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Povoľte tejto aplikácii zobrazovať upozornenia na celú obrazovku, keď bude zariadenie uzamknuté. Aplikácie vás môžu pomocou nich informovať o budíkoch, prichádzajúcich hovoroch a ďalších dôležitých upozorneniach."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Dátové upozornenie: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Dátový limit: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Dátové upozornenie: <xliff:g id="ID_1">^1</xliff:g> / dátový limit: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Účtovanie dát operátorom sa môže líšiť od účtovania na zariadení"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Vylúči dáta využité sieťami operátora"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Spotreba <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Nastaviť dátové upozornenie"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Aktualizované pred <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Práve aktualizované – <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Práve aktualizované"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Zobraziť tarifu"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Zobraziť podrobnosti"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Šetrič dát"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neobmedzené dáta"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikácia <xliff:g id="APP_LABEL">%1$s</xliff:g> využívala batériu viac než zvyčajne na pozadí"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikácia <xliff:g id="APP_LABEL">%1$s</xliff:g> využívala batériu vo vyššej miere na popredí"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikácia <xliff:g id="APP_LABEL">%1$s</xliff:g> využívala batériu viac než zvyčajne na popredí"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomália spotreby batérie"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Vysoká spotreba batérie"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Vysoká spotreba batérie na pozadí"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Vysoká spotreba batérie na popredí"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Dlaždice rýchlych nastavení pre vývojárov"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Vypnúť časový limit autorizácií adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Vypnúť automatické odvolanie autorizácií adb systémov, ktoré neboli pripojené počas predvoleného (7 dní) alebo používateľom nastaveného (minimálne 1 deň) časového obdobia"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Trasovanie Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Senzory sú vypnuté"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Nastavenia pracovného profilu"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Vyhľadávať v osobných aplikáciách kontakty pracovného adresára"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigácia v systéme, navigácia dvoma tlačidlami, navigácia troma tlačidlami, navigácia gestami, potiahnutie"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitálny asistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Aktivovať asistenta potiahnutím"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Aktivovať aplikáciu digitálneho asistenta potiahnutím nahor z dolného rohu"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Aktivujte aplikáciu digitálneho asistenta potiahnutím nahor z dolného rohu"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Aktivovať Asistenta pridržaním tlačidla plochy"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pridržaním tlačidla plochy spustiť digitálneho asistenta"</string>
     <string name="low_label" msgid="6525629096999711220">"Nízka"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Služba automatického dopĺňania"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Predvolená služba automatického dopĺňania"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Heslá"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Heslá, prístupové kľúče a služby poskytujúce údaje"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Ďalší poskytovatelia"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Preferovaná služba"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Ďalšie služby"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# heslo}few{# heslá}many{# passwords}other{# hesiel}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automaticky, vypĺňanie, automatické dopĺňanie, heslo"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"údaje, prístupový kľúč, heslo"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatické, dopĺňanie, automatické dopĺňanie, údaje, prístupový kľúč, heslo"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Zmeniť"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Otvoriť"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nič nie je vybraté"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Skontrolujte, či ide o dôveryhodnú aplikáciu&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Automatické dopĺňanie Google&gt;%1$s&lt;/xliff:g&gt; určuje na základe obsahu obrazovky, čo je možné automaticky vyplniť."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Chcete použiť &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; určuje, čo treba automaticky doplniť, pomocou obsahu na obrazovke. Odteraz sa tu budú ukladať nové heslá, prístupové kľúče a ďalšie informácie."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Heslá, prístupové kľúče a služby poskytujúce údaje"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Tu sa budú odteraz ukladať nové heslá, prístupové kľúče a ďalšie informácie. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; môže určovať, čo treba automaticky doplniť, pomocou obsahu na obrazovke."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Preferovaná služba pre heslá, prístupové kľúče a automatické dopĺňanie"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Chcete službu %1$s vypnúť?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Chcete túto službu vypnúť?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Keď sa prihlásite, uložené informácie, ako sú heslá, prístupové kľúče, spôsoby platby a iné, sa nebudú dopĺňať. Ak chcete používať uložené údaje, vyberte heslo, prístupový kľúč alebo službu poskytujúcu údaje."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Heslá, prístup. kľúče a autom. dopĺňanie"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Chcete vypnúť všetky služby?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Keď sa prihlásite, heslá, prístupové kľúče a ďalšie uložené informácie nebudú pre automatické dopĺňanie k dispozícii."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Zmeňte si preferovanú službu na &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nové heslá, prístupové kľúče a ďalšie informácie sa budú odteraz ukladať tu. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; môže určovať, čo treba automaticky doplniť, pomocou obsahu na obrazovke."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Chcete používať %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Vypnúť"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Zmeniť"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Môžete mať zapnutých maximálne päť služieb"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Vypnite aspoň jednu službu, ak chcete pridať ďalšiu"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s určuje na základe obsahu na obrazovke, čo je možné automaticky doplniť."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limit hesiel, prístupových kľúčov a služieb údajov"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Naraz môžete mať aktívnych až päť hesiel, prístupových kľúčov a služieb poskytujúcich údaje. Ak chcete pridať ďalšiu službu, jednu vypnite."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limit hesiel, prístupových kľúčov a služieb poskytujúcich údaje"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Naraz môžete mať aktívnych až päť hesiel, prístupových kľúčov a služieb poskytujúcich údaje. Ak chcete pridať ďalšiu službu, jednu vypnite."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Vypnúť"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Automatické dopĺňanie"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Úroveň zaznamenávania"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Zmeny kompatibility môžete upraviť iba v prípade laditeľných aplikácií. Nainštalujte si laditeľnú aplikáciu a skúste to znova."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Závisí od iného nastavenia"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Účet"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Počet účtov: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Názov zariadenia"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Základné informácie"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Právne a regulačné informácie"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Povoľte spúšťanie tejto aplikácie po naskenovaní štítka NFC.\nKeď je toto povolenie zapnuté, aplikácia bude k dispozícii ako možnosť pri každom rozpoznaní štítka."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Prehrať média v zariadení"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Pustiť <xliff:g id="LABEL">%s</xliff:g> cez"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Zvuk sa bude ďalej prehrávať"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Toto zariadenie"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Počas hovorov nie je k dispozícii"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Prijať hovor v zariadení"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Vypnúť zvuk"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Ak chcete túto funkciu zapnúť, najprv zmeňte možnosť Pridržanie vypínača na ponuku vypínača."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Podrobnosti siete"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Názov zariadenia uvidia aplikácie v telefóne. Keď sa pripojíte k zariadeniam s rozhraním Bluetooth alebo sieti Wi‑Fi, prípadne ak nastavíte hotspot Wi‑Fi, môžu ho uvidieť aj ostatní ľudia."</string>
     <string name="devices_title" msgid="649715719278562515">"Zariadenia"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Vybrať sieť"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Odpojené"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Názov"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Farba (používajú kompatibilné aplikácie)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Uložiť"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Používať SIM kartu"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Použiť túto SIM kartu"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Vypnuté"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Ak chcete túto SIM kartu deaktivovať, odstráňte ju"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Klepnutím aktivujete operátora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Vymazať SIM kartu"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Ak chcete túto SIM kartu vypnúť, odstráňte ju"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Klepnutím aktivujete SIM kartu operátora <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Vymazať eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Preferovaný typ siete"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Zmeniť prevádzkový režim siete"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Preferovaný typ siete"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Informácie o cenách získate od svojho poskytovateľa siete."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Spotreba dát aplikáciami"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Neplatný režim siete <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorovať."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Správy cez satelit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Odosielajte a prijímajte textové správy cez satelit. Táto možnosť je zahrnutá vo vašom účte."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Odosielajte a prijímajte textové správy cez satelit. Táto možnosť nie je zahrnutá vo vašom účte."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Správy cez satelit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Správy cez satelit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Textová správy môžete odosielať a prijímať cez satelit, pretože váš účet <xliff:g id="CARRIER_NAME">%1$s</xliff:g> spĺňa podmienky."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Vaša tarifa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Správy cez satelit sú zahrnuté vo vašom účte"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Správy cez satelit nie sú zahrnuté vo vašom účte"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Pridať správy cez satelit"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Ako to funguje"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Keď nemáte k dispozícii mobilnú sieť"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Váš telefón sa automaticky pripojí k satelitu. V záujme čo najlepšieho pripojenia choďte na miesto, odkiaľ je dobrý výhľad na oblohu."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Keď sa váš telefón pripojí k satelitu"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Textové správy môžete posielať komukoľvek, aj tiesňovej linke. Keď bude k dispozícii mobilná sieť, váš telefón sa k nej znova pripojí."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Odosielanie a prijímanie správ cez satelit môže trvať dlhšie a v niektorých oblastiach nie je k dispozícii. Počasie a určité budovy môžu mať vplyv na pripojenie cez satelit. Volanie cez satelit nie je k dispozícii.\n\nMôže určitý čas trvať, kým zmeny vo vašom účte prejavia v Nastaveniach. Viac informácií vám poskytne <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Viac o správach cez satelit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Názvy prístupových bodov"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nie je k dispozícii pri pripojení k operátorovi <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Chcete prepnúť na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Chcete prepnúť na SIM kartu?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Chcete používať operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"V jednej chvíli môže byť aktívna iba jedna SIM karta.\n\nPrepnutím na operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte službu operátora <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Naraz môže byť aktívna iba jedna eSIM karta.\n\nPrechodom k operátorovi<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> službu <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> nezrušíte."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"V jednej chvíli môže byť aktívna iba jedna SIM karta.\n\nPrepnutím nezrušíte službu operátora <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Naraz môže byť zapnutá iba jedna SIM karta.\n\nPrechodom k operátorovi <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> službu <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> nezrušíte."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Naraz môže byť zapnutá iba jedna eSIM karta.\n\nPrechodom k operátorovi<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> službu <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> nezrušíte."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Naraz môže byť zapnutá iba jedna SIM karta.\n\nPrechodom službu <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nezrušíte."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Naraz môžete používať dve SIM karty. Ak chcete používať operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, vypnite druhú SIM kartu."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Prepnúť na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Vypnúť <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Vypnutím SIM karty službu nezrušíte"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Pripája sa k sieti…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"V prípade hovorov a správ sa prepína na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operátora sa nepodarilo prepnúť"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operátora sa nepodarilo prepnúť, pretože sa vyskytla chyba."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktivuje sa SIM karta…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Prepína sa na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM karty sa nedajú prepnúť"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Niečo sa pokazilo. SIM karty sa nedajú prepnúť."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Chcete vypnúť operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Chcete vypnúť SIM kartu?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Vypína sa SIM karta<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operátora sa nepodarilo deaktivovať"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Vyskytol sa problém a operátora sa nepodarilo deaktivovať."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM karta sa nedá vypnúť"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Niečo sa pokazilo a SIM kartu sa nepodarilo vypnúť."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Chcete používať dve SIM karty?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"V tomto zariadení môžu byť naraz aktívne dve SIM karty. Ak chcete ďalej používať len jednu, klepnite na Nie, vďaka."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Chcete reštartovať zariadenie?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nie, vďaka"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Zrušiť"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Prepnúť"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Vypnúť"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM kartu sa nepodarilo aktivovať"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Skúste SIM kartu znova zapnúť. Ak bude problém pretrvávať, reštartujte zariadenie."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Nastavte si SIM kartu"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Nastavte si predvoľby mobilnej siete, aby ste mohli v tomto zariadení používať viac SIM kariet"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Označte si SIM karty štítkami"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Tieto štítky sa budú zobrazovať v Nastaveniach a pri uskutočňovaní hovorov, odosielaní textových správ a používaní dát."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Štítok SIM karty"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Štítok"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Vyberte, ktoré SIM používať"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Nemôžete súčasne používať dve SIM karty"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Nastavte si primárne SIM karty"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Vyberte, ktoré SIM karty sa majú predvolene využívať na hovory, textové správy a dáta"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Vaše primárne SIM karty"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Hovory"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Textové správy"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatické prepínanie dát"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"V závislosti od pokrytia a dostupnosti môžete používať dáta oboch SIM kariet"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Iba dáta"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Nastaviť"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Ďalej"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> sa zapína…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilná sieť"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefónne číslo"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Štítok a farba SIM karty"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivácia siete"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Prepnutie operátora"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Operátor <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktívny"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM karta operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktívna"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Klepnutím aktualizujete nastavenia SIM karty"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Prepnuté na operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Prepnuté na iného operátora"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilná sieť bola zmenená"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Nastavte ďalšiu SIM kartu"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Vyberte aktívnu SIM kartu alebo používajte dve naraz"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Vyberte číslo, ktoré chcete použiť"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{V tomto zariadení je k dispozícii 1 číslo, naraz sa dá však použiť iba jedno}=2{V tomto zariadení sú k dispozícii 2 čísla, naraz sa dá však použiť iba jedno}few{V tomto zariadení sú k dispozícii # čísla, naraz sa dá však použiť iba jedno}many{# numbers are available on this device, but only one can be used at a time}other{V tomto zariadení je k dispozícii # čísel, naraz sa dá však použiť iba jedno}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktivuje sa<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Momentálne sa nedá aktivovať"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Vyberte, ktorá SIM karta sa má používať"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{V tomto zariadení je k dispozícii 1 SIM karta, naraz sa dá však používať iba jedna}=2{2 SIMs are available on this device, but only one can be used at a time}few{V tomto zariadení sú k dispozícii # SIM karty, naraz sa dá však používať iba jedna}many{# SIMs are available on this device, but only one can be used at a time}other{V tomto zariadení je k dispozícii # SIM kariet, naraz sa dá však používať iba jedna}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Zapína sa profil<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Túto SIM kartu sa momentálne nepodarilo zapnúť"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Chcete používať operátora <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> sa bude používať pre mobilné dáta, hovory a SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nie sú k dispozícii žiadne aktívne SIM karty"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Ak budete chcieť neskôr použiť mobilné dáta, funkcie hovorov a SMS, prejdite do nastavení siete"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM karta"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Chcete vymazať túto eSIM kartu?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Vymazaním tejto SIM karty odstránite službu operátora <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> z tohto zariadenia.\n\nSlužba operátora <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> sa nezruší."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Týmto odstránite službu <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> z tohto zariadenia, ale tarifa <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> sa nezruší."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Vymazať"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Odstraňuje sa SIM karta…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM karta sa nedá vymazať"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"SIM karta sa nedá vymazať, pretože došlo k chybe.\n\nReštartujte zariadenie a skúste to znova."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Vymazáva sa eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM sa nedá vymazať"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Niečo sa pokazilo a táto eSIM karta sa nevymazala.\n\nReštartujte zariadenie a skúste to znova."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Pripojenie k zariadeniu"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> chce použiť dočasnú sieť Wi‑Fi na pripojenie k vášmu zariadeniu"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nenašli sa žiadne zariadenia. Skontrolujte, či sú zariadenia zapnuté a dostupné na pripojenie."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Tiesňové volania"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Váš operátor nepodporuje tiesňové volania pomocou volania cez Wi‑Fi.\nZariadenie sa na tiesňové volanie automaticky prepne na mobilnú sieť.\nTiesňové volania sú možné iba v oblastiach s mobilným signálom."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Volajte cez Wi‑Fi a zlepšite tak kvalitu"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Záložné volanie"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ak <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nie je k dispozícii alebo používate roaming, uskutočňujte hovory <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> pomocou mobilnej dátovej SIM karty."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"záložné volanie"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Prichádzajúca správa MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Správu MMS sa nepodarilo odoslať"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Klepnutím povolíte správy MMS cez operátora <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> pri vypnutých mobilných dátach"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informácie o pracovných pravidlách"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nastavenia spravované vaším správcom IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafický procesor"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Zapínať s veľkosťou stránky 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Zap. zar. pomocou podpor. jadra so 16 kB stránkou"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Chcete reštartovať s kompatibilným jadrom so 16 kB stránkami?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"UPOZORNENIE: Niektoré aplikácie nemusia byť s týmto režimom kompatibilné. Po potvrdení sa zariadenie reštartuje."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Chcete reštartovať s kompatibilným jadrom so 4 kB stránkami?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Po potvrdení sa zariadenie reštartuje."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Jadro sa nepodarilo aktualizovať na kompatibilné jadro so 16 KB stránkami"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Zmena sa uplatňuje"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Obsluha hlásení chýb"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Určuje, ktorá aplikácia vo vašom zariadení obsluhuje odkaz na hlásenie chýb."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osobné"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Povoliť aplikáciám, ktoré sa môžu zobraziť cez iné aplikácie, prekrývanie obrazoviek Nastavení"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Povoliť službu Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Povoliť spúšťanie služby Mock Modem v tomto zariadení na testovanie inštrumentácie. Túto možnosť nepovoľujte počas bežného používania telefónu"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Deaktivácia ochrán počas zdieľania obrazovky"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Deaktivuje ochrany aplikácie a upozornení systému počas zdieľania obrazovky"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Médiá"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Pripnúť prehrávač médií"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Prehrávač médií zostane otvorený v rýchlych nastaveniach, aby bolo možné rýchlo obnoviť prehrávanie"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Zobrazovať médiá na uzamknutej obrazovke"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Prehrávač médií zostane na uzamknutej obrazovke otvorený, aby bolo možné prehrávanie rýchlo obnoviť"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Zobrazovať odporúčania médií"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Zobraziť odporúčania médií od Asistenta"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Na základe vašej aktivity"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Skryť prehrávač"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Zobraziť prehrávač"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"médiá"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Povoliť rozšírenia softvéru kamery"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Povolí predvolenú implementáciu softvéru pokročilých funkcií kamery, napríklad videografiu Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Zapne sa Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM karty"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM karty"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktívna"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktívna"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Zapnutá"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Vypnutá"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Predvolené pre <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"hovory"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Zvuk z kompatibilných médií bude strhujúcejší"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Sledovanie pohybov hlavy"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Zmeny zvuku pri pohybe hlavou budú prirodzenejšie"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synchronizácia povolení"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Udeľte zariadeniu <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> rovnaké povolenia aplikácie, aké ste povolili v zariadení <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synchronizácia povolení z telefónu"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Udeľte hodinkám rovnaké povolenia aplikácie, ktoré ste poskytli v tomto telefóne"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Typ audio zariadenia"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Neznáme"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Reproduktor"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Stredný"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Vysoký"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Táto aplikácia môže byť otvorená iba v jednom okne"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Zapnuté"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Vypnuté"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Vypnuté"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Vypnuté"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Zapnuté"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Vypnuté"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Zapnuté"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Vypnuté"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Prepne svetlú obrazovku na tmavú a naopak"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Priblíženie obrazovky"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Vypnuté"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Vypnuté"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Kontrola prítomnosti klamlivých aplikácií"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrola aktivity v aplikácii, či nedochádza k phishingu"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Používať detekciu podvodných aplikácií"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Používať detekciu podvodných pracovných aplikácií"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Heslo je nastavené"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Zobrazovať ukazovateľ pri umiestnení kurzora myši"</string>
 </resources>
diff --git a/res/values-sl/arrays.xml b/res/values-sl/arrays.xml
index 7291e8e..17a3c79 100644
--- a/res/values-sl/arrays.xml
+++ b/res/values-sl/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Na voljo"</item>
     <item msgid="6096962300722555553">"Zunaj dosega"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Onemogočeno"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast in Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Uporabi sistemsko privzeto nastavitev: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Po 1 minuti"</item>
     <item msgid="1574040255478150028">"Po 5 minutah"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-sl/strings.xml b/res/values-sl/strings.xml
index 2c00d16..453d320 100644
--- a/res/values-sl/strings.xml
+++ b/res/values-sl/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Zdaj ste razvijalec"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Ni treba, ker ste že razvijalec."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Najprej omogočite možnosti za razvijalce."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Samo skrbniški uporabniki imajo dostop do nastavitev za razvijalce."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"V uporabi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ne deluje"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Sprednji zaslon se vklopi, ko zložite napravo."</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Samo igre, videoposnetki in drugo"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Sprednji zaslon se vklopi pri aplikacijah, ki preprečujejo, da bi zaslon preklopil v stanje pripravljenosti."</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Povlecite navzgor za nadaljevanje"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Zložite telefon in povlecite navzgor po sprednjem zaslonu za nadaljnjo uporabo aplikacije ali počakajte nekaj sekund, da se zaslon zaklene."</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Nikoli"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Sprednji zaslon se zaklene, ko zložite napravo."</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Uporabi samodejni zasuk"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Sorodno"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Zvonjenje in alarmi"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Zvok med klici"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Predstavnost"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Obvestila in drugi zvoki sistema"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Predstavnost in sistemski zvoki"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Obvestila"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Zvočni izhod privzeto določajo posamezne aplikacije."</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Neimenovana naprava Bluetooth"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Iskanje"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Prekliči"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Onemogoči funkcijo Bluetooth LE zvok"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Onemogoči funkcijo Bluetooth LE zvok, če naprava podpira strojno opremo za LE zvok."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Način Bluetooth LE zvok"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Pokaži preklopnik za LE zvok v podrobnostih o napravi"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Omogoči seznam dovoljenih za Bluetooth LE zvok"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Omogoči funkcijo seznama dovoljenih za Bluetooth LE zvok."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Zaobidenje seznama dovoljenih za funkcijo Bluetooth LE zvok"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Privzeta uporaba funkcije LE zvok, tudi če dodatna oprema LE zvok ni potrjena, da izpolnjuje merila za uvrstitev na seznam dovoljenih."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Predstavnostne naprave"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Klicne naprave"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Druge naprave"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Shranjene naprave"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Povezano s tem računom"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Že uporabljeno z računom"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth bo vklopljen, da bo omogočeno seznanjanje."</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Nastavitve povezave"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Predhodno povezane naprave"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth je vklopljen"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Pokaži vse"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Pokaži vse"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Pisalo"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pritisk gumba pisala"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (delovni profil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Pisanje v besedilnih poljih"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Prezri vse pritiske gumbov pisala"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Pisalo"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Deljenje zvoka"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Deli zvok"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Klici in alarmi"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Vzpostavite povezavo z zvočnim tokom prek kode QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Noben zvočni tok ni bil najden v bližini."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum in ura"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Strežnik proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Počisti"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Želite jezik »%s« dodati med prednostne jezike?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"S tem boste aplikacijam in spletnim mestom sporočili, da je tudi ta eden od vaših prednostnih jezikov."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Nastavitve naprave in regijske nastavitve se bodo spremenile."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Spremeni"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Jezik »%s« ni na voljo"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"sobota"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Če aplikacija ne podpira regijskih nastavitev, bo uporabila svoje privzete jezikovne nastavitve."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Preberite več o jezikovnih nastavitvah."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Dodatne nastavitve"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Način naslavljanja"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Nastavite želeni način naslavljanja"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikacije lahko na podlagi izbranega način naslavljanja prilagodijo, kako vas naslavljajo."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Ni določeno"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Ženski spol"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Moški spol"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Nevtralno"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Želite odstraniti izbrani jezik?}one{Želite odstraniti izbrane jezike?}two{Želite odstraniti izbrane jezike?}few{Želite odstraniti izbrane jezike?}other{Želite odstraniti izbrane jezike?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Besedilo bo prikazano v drugem jeziku."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Vseh jezikov ni mogoče odstraniti"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokacija"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Uporabi lokacijo"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Izklopljeno"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Preberite več o nastavitvah lokacije."</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="3574930966097093550">"Za spremembo dostopa do lokacije odprite »Nastavitve« &gt; »Varnost in zasebnost« &gt; »Nastavitve zasebnosti«"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Računi"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Varnost"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Šifriranje in poverilnice"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Za najboljše rezultate uporabljajte zaščito zaslona, ki ima potrdilo »Narejeno za Google«. Če uporabljate druge zaščite zaslona, otrokov prstni odtis morda ne bo deloval."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Odklepanje z uro"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Če nastavite odklepanje z obrazom in prstnim odtisom, telefon zahteva prstni odtis, ko nosite masko ali ko ste nekje, kjer je temno.\n\nČe obraz ali prstni odtis ni prepoznan, lahko telefon odklenete z uro."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Če prstni odtis ni prepoznan, lahko odklenete z uro."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Če obraz ni prepoznan, lahko odklenete z uro."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Če nastavite odklepanje z obrazom in prstnim odtisom, telefon zahteva prstni odtis, ko nosite masko ali ko ste nekje, kjer je temno.\n\nOdklepanje z uro je dodaten priročen način odklepanja telefona, na primer ko imate mokre prste ali ko telefon ne prepozna vašega obraza."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Odklepanje z uro je dodaten priročen način odklepanja telefona, na primer ko telefon ne prepozna vašega prstnega odtisa."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Odklepanje z uro je dodaten priročen način odklepanja telefona, na primer ko telefon ne prepozna vašega obraza."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Uporaba prstnega odtisa ali ure za"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Uporaba obraza ali ure za"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Uporaba obraza, prstnega odtisa ali ure za"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Odklepanje z uro je dodaten priročen način odklepanja tega telefona, na primer ko imate mokre prste ali ko telefon ne prepozna vašega obraza.\n\nTa telefon lahko odklenete z uro v teh primerih:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Ne zdaj"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Nadaljuj"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Več"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Kako deluje"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Ura mora biti odklenjena, na vašem zapestju in v bližini tega telefona. Dokler jo boste imeli na zapestju, vam ure ne bo treba znova odklepati."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Ko bo ta telefon odklenjen, boste v uri prejeli obvestilo. Če ste telefon odklenili nenamerno, se dotaknite obvestila, da ga znova zaklenete."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Vse imate pod nadzorom"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Uro lahko v nastavitvah kadar koli odstranite iz odklepanja z uro."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Dotaknite se obvestila"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Povlecite navzgor po zaklenjenem zaslonu"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Izbira ure"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Razpoložljive ure"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Prekliči"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Potrdi"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Vse je pripravljeno"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Zdaj lahko z uro odklenete ta telefon, ko povlečete navzgor po zaklenjenem zaslonu ali se dotaknete obvestila."</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Končano"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Odklepanje z uro"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Z uro lahko odklenete ta telefon, ko povlečete navzgor po zaklenjenem zaslonu ali se dotaknete obvestila."</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Če želite uporabiti odklepanje z uro, mora biti ura odklenjena, na vašem zapestju, v bližini tega telefona in povezana z njim. Če se bo povezava prekinila, boste morali odkleniti telefon, preden boste lahko uporabili odklepanje z uro.\n\nUpoštevajte:\nHkrati imate lahko nastavljeno samo eno uro. Če želite dodati drugo uro, morate najprej odstraniti trenutno uro."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Varnost"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Zasebnost"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Delovni profil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Zasebni prostor"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Naj vaše zasebne aplikacije ostanejo zaklenjene in skrite"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Zasebne aplikacije ohranite v ločenem prostoru, ki ga lahko skrijete ali zaklenete"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Zaklepanje zasebnega prostora"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Zasebni prostor lahko odklepate na enak način kot napravo, lahko pa izberete drug način zaklepanja"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Uporabi zaklepanje zaslona naprave"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Odklepanje z obrazom in prstnim odtisom"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Odklepanje s prstnim odtisom"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Odklepanje z obrazom"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Dotaknite se za nastavitev"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Odklepanje s prstnim odtisom za zasebni prostor"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Odklepanje z obrazom za zasebni prostor"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Načini odklepanja"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Enako kot zaklepanje zaslona naprave"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Želite izbrati novo zaklepanje za zasebni prostor?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Samodejno zaklepanje zasebnega prostora"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Zasebni prostor lahko samodejno zaklenete, če nekaj časa ne uporabljate naprave"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Vsakič, ko se naprava zaklene"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"po 5 minutah nedejavnosti"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Nikoli"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Skrivanje, kadar je zaklenjeno"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Skrivanje zasebnega prostora, kadar je zaklenjen"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Če ne želite, da bi druge osebe vedele, da imate v napravi zasebni prostor, ga lahko skrijete, da ni prikazan na seznamu aplikacij"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Dostop do zasebnega prostora, kadar je skrit"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Na seznamu aplikacij vnesite »Zasebni prostor« v vrstico za iskanje"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Dotaknite se ploščice »Zasebni prostor«"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Odklepanje zasebnega prostora"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Izklopljeno"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Vklopljeno"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Brisanje zasebnega prostora"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Želite izbrisati zasebni prostor?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Vaš zasebni prostor bo odstranjen iz naprave. Vse zasebne aplikacije in vsi zasebni podatki bodo izbrisani. Tega dejanja ni mogoče razveljaviti."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Ti računi bodo odstranjeni iz vašega zasebnega prostora:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Izbriši"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Brisanje zasebnega prostora …"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"To bo trajalo nekaj trenutkov"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Zasebni prostor je izbrisan"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Zasebnega prostora ni bilo mogoče izbrisati"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Zasebni prostor je odklenjen"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Nastavite zaklepanje zaslona"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Če želite uporabljati zasebni prostor, v tej napravi nastavite zaklepanje zaslona"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Nastavite zaklepanje zaslona"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Prekliči"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Prekliči"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Nastavi"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Nastavitev zasebnega prostora"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Zasebne aplikacije ohranite v ločenem prostoru, ki ga lahko skrijete ali zaklenete"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Kako deluje"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Do zasebnega prostora lahko dostopate z dna seznama aplikacij"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikacije v zasebnem prostoru so zaščitene z zaklepanjem"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Obvestila aplikacij v zasebnem prostoru so skrita, kadar je zasebni prostor zaklenjen"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikacije v zasebnem prostoru ne bodo prikazane v upravitelju dovoljenj, na nadzorni plošči za zasebnost in v drugih nastavitvah, kadar je zasebni prostor zaklenjen.\n\nZasebnega prostora ni mogoče premakniti v novo napravo. Če želite zasebni prostor uporabljati v drugi napravi, morate nastaviti novega.\n\nVsakdo, ki vašo napravo poveže z računalnikom ali v napravo namesti škodljive aplikacije, bo morda lahko dostopal do vašega zasebnega prostora."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Nastavljanje zasebnega prostora …"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Obvestila aplikacij v zasebnem prostoru so skrita, kadar je zasebni prostor zaklenjen"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Odklenite zasebni prostor, če želite deliti fotografije ali datoteke"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Nekatere aplikacije so že nameščene v zasebnem prostoru"</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_lockscreen_title" msgid="6034864097861137509">"Želite uporabiti zaklepanje zaslona za odklepanje zasebnega prostora?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Zasebni prostor lahko odklepate na enak način kot napravo, lahko pa izberete drug način zaklepanja"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Uporabi zaklepanje zaslona"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Izberite nov način zaklepanja"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Končano"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Odprite seznam aplikacij in se nato pomaknite navzdol, da poiščete zasebni prostor"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Končano"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Pomaknite se navzdol, če želite poiskati zasebni prostor"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Prijava"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Prijavite se v račun, ki ga želite uporabljati z zasebnim prostorom"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Ne zdaj"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Naprej"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Izbira zaklepanja za zasebni prostor"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Zasebni prostor lahko odklenete s prstnim odtisom. Zaradi varnosti ta možnost zahteva uporabo nadomestnega načina zaklepanja."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Nastavite kodo PIN za svoj zasebni prostor"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Nastavite geslo za svoj zasebni prostor"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Nastavite vzorec za svoj zasebni prostor"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Dodate lahko do toliko prstnih odtisov: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Dodali ste največje dovoljeno število prstnih odtisov"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Prstnih odtisov ni več mogoče dodati"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Vzorec"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Koda PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Geslo"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Želite izbrisati zaklepanje zaslona?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Želite odstraniti vse vrste odklepanja naprave?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Želite odstraniti zaščito profila?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Vzorec ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Vzorec ščiti telefon, če ga izgubite ali vam ga ukradejo.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>S tem boste izbrisali model prstnega odtisa, ki je shranjen v napravi. Trajno in varno bo izbrisan tudi model obraza. Obraza in prstnega odtisa ne boste več mogli uporabljati za preverjanje pristnosti v aplikacijah."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Koda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Izgubili boste shranjene podatke, kot je PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice, nastavljene za brezstično plačilo, bodo odstranjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Denarnice in druge aplikacije, ki zahtevajo odklepanje naprave, morda ne bodo pravilno delovale."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Koda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>S tem boste izbrisali tudi model prstnega odtisa, ki je shranjen v napravi. Prstnega odtisa ne boste več mogli uporabljati za preverjanje pristnosti v aplikacijah."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Izgubili boste shranjene podatke, kot sta PIN in model prstnega odtisa.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice, nastavljene za brezstično plačilo, bodo odstranjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Denarnice in druge aplikacije, ki zahtevajo odklepanje naprave, morda ne bodo pravilno delovale."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Koda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Trajno in varno bo izbrisan tudi model obraza. Obraza ne boste več mogli uporabljati za preverjanje pristnosti v aplikacijah."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Izgubili boste shranjene podatke, kot sta PIN in model obraza.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice, nastavljene za brezstično plačilo, bodo odstranjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Denarnice in druge aplikacije, ki zahtevajo odklepanje naprave, morda ne bodo pravilno delovale."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Koda PIN ščiti telefon, če ga izgubite ali vam ga ukradejo.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>S tem boste izbrisali model prstnega odtisa, ki je shranjen v napravi. Trajno in varno bo izbrisan tudi model obraza. Obraza in prstnega odtisa ne boste več mogli uporabljati za preverjanje pristnosti v aplikacijah."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Izgubili boste shranjene podatke, kot so PIN, model obraza in model prstnega odtisa.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartice, nastavljene za brezstično plačilo, bodo odstranjene.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Denarnice in druge aplikacije, ki zahtevajo odklepanje naprave, morda ne bodo pravilno delovale."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Geslo ščiti telefon, če ga izgubite ali vam ga ukradejo."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Geslo ščiti telefon, če ga izgubite ali vam ga ukradejo.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Želite seznaniti z napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Dodajanje novega člana v obstoječi komplet naprav"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Potrdite, če želite dodati drugi del vaše naprave za zvok"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Koda Bluetooth za seznanitev"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Vnesite kodo za seznanjanje in nato pritisnite Return ali Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN vsebuje črke ali simbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Biti mora 16-mestno število"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Ta PIN boste morda morali vnesti tudi v drugi napravi."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Geslo boste morda morali vnesti tudi v drugi napravi."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Potrdite seznanjanje s kompletom naprav"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Potrdite za seznanitev z napravo za zvok"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Dovoli dostop do stikov in zgodovine klicev"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Dovoli tudi dostop do stikov in zgodovine klicev"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Podatki bodo uporabljeni za najave klicev in drugo"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Povezave z napravo <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ni bilo mogoče vzpostaviti."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Razpoložljive naprave"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Vzpostavi povezavo"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Prekini povezavo"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Seznani in poveži"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kadar je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kadar je Bluetooth vklopljen, lahko vaša naprava komunicira z drugimi napravami Bluetooth v bližini"</string>
     <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_scan_change" msgid="1744636222637390367">"Spremeni"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Podrobnosti o napravi"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Preverjevalniku ART dovoli preverjanje bitne kode aplikacij, ki podpirajo odpravljanje napak."</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Pokaži hitrost osveževanja"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Prikaži trenutno hitrost osveževanja zaslona."</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Prikaz razmerja HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Prikaz trenutnega razmerja HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Zahtevaj odklep naprave pred uporabo NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"V načinu za letalo"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Obvesti, če so na voljo javna omrežja"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Obvesti me, ko je na voljo zanesljivo javno omrežje."</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Dovoli omrežja WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"Algoritem WEP je starejši varnostni protokol z nižjo stopnjo varnosti"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Vaš operater ne dovoli omrežij WEP, ker imajo nižjo stopnjo varnosti"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Samodejno vklopi Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi se bo samodejno znova vklopil v bližini zanesljivih shranjenih omrežij, na primer vašega domačega omrežja."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Ni na voljo, ker je lokacija izklopljena. Vklopite "<annotation id="link">"lokacijo"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Iskanje omrežij Wi-Fi aplikacijam in storitvam omogoči, da 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Vklopi"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Iskanje omrežij Wi‑Fi je vklopljeno"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"To omrežje uporablja starejši varnostni protokol z nižjo stopnjo varnosti"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Omrežje <xliff:g id="NAME">%1$s</xliff:g> je blokirano"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"To omrežje uporablja starejši varnostni protokol WEP, ki ima nižjo stopnjo varnosti. Če se želite kljub temu povezati, lahko dovolite omrežja WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Vaš operater ne dovoli povezovanja s tem omrežjem, ker uporablja starejši varnostni protokol z nižjo stopnjo varnosti"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Dovoli omrežja WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Zapri"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Dodatne možnosti"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Dodatne možnosti spustnega seznama"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"razširi"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Ostani v omrežju Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Tega ne prikaži nikoli več"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Vzpostavi povezavo"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi je vklopljen"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Povezano z omrežjem <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Vzpostavljanje povezave z omrežjem <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Povezovanje …"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Vzpostavljanje povezave z omrežjem ni uspelo"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Omrežje ni v dosegu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Pozabi"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Spremeni"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Pozabljanje omrežja ni uspelo"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Shrani"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Shranjevanje omrežja ni uspelo"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Prekliči"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Prenos podatkov v mobilnem omrežju"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – polnjenje"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – polnjenje"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Povezava dostopne točke"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Moč povezave"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Shranjena omrežja"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Geslo ni nastavljeno"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Ime dostopne točke"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Geslo za dostopno točko"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Pas dostopne točke"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Samodejni izklop dostopne točke"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kadar ni povezana nobena naprava"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Razširjena združljivost"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Prikaz ravnovesja beline"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Nadaljevanje uporabe aplikacij po zlaganju naprave"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Tekoč prikaz"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Samodejno povečanje hitrosti osveževanja s 60 na <xliff:g id="ID_1">%1$s</xliff:g> Hz za nekatere vsebine. Poveča porabo energije baterije."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Onemogoči privzeto število sličic v sekundi za igre"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Onemogoči omejevanje največjega števila sličic v sekundi za igre pri <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Tekoč prikaz"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Samodejno poveča hitrost osveževanja do največ <xliff:g id="ID_1">%1$d</xliff:g> Hz za nekatere vsebine. Poveča porabo energije baterije."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Vsili največjo hitrost osveževanja"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Višja hitrost osveževanja za izboljšano odzivnost na dotik in kakovost animacij. Povečana poraba energije baterije."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Zaznavanje pogleda na zaslon"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Funkcija zaznavanja pogleda na zaslon uporablja sprednji fotoaparat, da zazna, ali kdo gleda zaslon. Funkcija se izvaja v napravi, slike pa se v nobenem primeru ne shranijo in ne pošiljajo Googlu."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Vklop zaznavanja pogleda na zaslon"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ko gledate zaslon, naj ostane vklopljen"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Daljša časovna omejitev za zaslon poveča porabo energije baterije."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Fotoaparat je zaklenjen."</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Za zaznavanje obraza mora biti fotoaparat odklenjen."</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Za zaznavanje pogleda na zaslon mora biti fotoaparat odklenjen."</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (reža za kartico SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (reža za kartico SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (glavna)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Za ogled izberite shranjeno omrežje"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Različica seznama prednostnih omrežij za gostovanje"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Raven napolnjenosti baterije"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Skupno"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Skupne nastavitve"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satelitska sporočila"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-ji"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Urejanje dostopne točke"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Dodajanje dostopne točke"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ni nastavljeno"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ni nastavljeno"</string>
     <string name="apn_name" msgid="6677695784108157953">"Ime"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN omogočen"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN onemogočen"</string>
     <string name="bearer" msgid="3231443241639159358">"Nosilec"</string>
+    <string name="network_type" msgid="748590707422733595">"Vrsta omrežja"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Neopredeljeno"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Vrsta MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Vrednost MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Izbriši APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Shrani"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Prekliči"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Podvojen vnos imena dostopne točke (APN)"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Polje z imenom ne sme biti prazno."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ne sme biti prazen."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Polje z mobilno kodo države mora vsebovati 3 števke."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Polje s kodo mobilnega omrežja mora vsebovati 2 ali 3 števke."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operater ne podpira dodajanja APN-jev vrste %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Polje MMSC mora biti veljavno."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Obnavljanje privzetih nastavitev APN-jev"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Ponastavi na privzeto"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ponastavitev privzetih nastavitev APN-jev končana"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Ponastavi"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth in Wi‑Fi sta bila ponastavljena."</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Izbris kartic e-SIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"S tem ne boste prekinili nobenega naročniškega paketa za mobilno telefonijo. Če želite prenesti nadomestne kartice SIM, se obrnite na operaterja."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"S tem ne boste preklicali naročniškega paketa za mobilno telefonijo. Če želite nadomestno kartico SIM, se obrnite na operaterja."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ponastavi nastavitve"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Želite ponastaviti vse omrežne nastavitve? Tega dejanja ni mogoče razveljaviti."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Želite ponastaviti vse omrežne nastavitve in izbrisati kartice e-SIM? Tega dejanja ni mogoče razveljaviti."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Želite ponastaviti?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Ponastavitev omrežnih nastavitev ni na voljo za tega uporabnika"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Omrežne nastavitve so ponastavljene"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Kartic SIM ni mogoče izbrisati"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Kartic e-SIM ni mogoče izbrisati zaradi napake.\n\nZnova zaženite napravo in poskusite znova."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Kartic e-SIM ni mogoče izbrisati"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Prišlo je do napake in kartice e-SIM niso bile izbrisane.\n\nZnova zaženite napravo in poskusite znova."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Izbris vseh podatkov (tovarniška ponastavitev)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Izbriši vse podatke (tov. po.)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"glasbo"</li>\n<li>"fotografije"</li>\n<li>"druge uporabniške podatke"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"Digitalne kartice e-SIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"S tem ne boste prekinili naročniškega paketa za mobilno telefonijo."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Vsi osebni podatki in prenesene aplikacije bodo izbrisani. Tega dejanja ni mogoče razveljaviti."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Izbrisani bodo vsi osebni podatki, vključno s prenesenimi aplikacijami in karticami SIM. Tega dejanja ni mogoče razveljaviti."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Izbrisani bodo vsi osebni podatki, vključno s prenesenimi aplikacijami in karticami e-SIM. Tega dejanja ni mogoče razveljaviti."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Želite izbrisati vse podatke?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Ponastavitev na tovarniške nastavitve ni na voljo za tega uporabnika"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Brisanje"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Dostopna točka, USB, Bluetooth, ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internetna povezava ni deljena z drugimi napravami"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Izklopljeno"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Internetna povezava prek mobilnega telefona"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Brez uporabe dostopne točke Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Deljenje internetne povezave samo prek USB-ja"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Deljenje internetne povezave samo prek Bluetootha"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Deljenje internetne povezave samo prek etherneta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Deljenje internetne povezave samo prek USB-ja in Bluetootha"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Deljenje internetne povezave samo prek USB-ja in etherneta"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Deljenje internetne povezave samo prek Bluetootha in etherneta"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Deljenje internetne povezave samo prek USB-ja, Bluetootha in etherneta"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Internet prek USB-ja"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Internet prek Bluetootha"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Internet prek etherneta"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Uporabite dostopno točko in povezavo z internetom prek mobilnega telefona, da zagotovite internet drugim napravam prek Wi-Fi-ja ali mobilne podatkovne povezave. Tudi aplikacije lahko ustvarijo dostopno točko za deljenje vsebin z napravami v bližini."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Pomoč"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilno omrežje"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Naročniški paket za mobilno napravo"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikacija za SMS-je"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Ali želite zamenjati aplikacijo za sporočila SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Ali želite za SMS-e namesto aplikacije <xliff:g id="CURRENT_APP">%2$s</xliff:g> uporabljati aplikacijo <xliff:g id="NEW_APP">%1$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Želite zamenjati Pomočnika za Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Želite za upravljanje omrežnih povezav namesto aplikacije <xliff:g id="CURRENT_APP">%2$s</xliff:g> uporabljati aplikacijo <xliff:g id="NEW_APP">%1$s</xliff:g>?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Želite za upravljanje omrežnih povezav uporabljati aplikacijo <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Neznan ponudnik kartice SIM"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nima znanega splet. mesta za omogočanje uporabe"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Vstavite SIM in znova zaženite"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Vzpostavite internetno povezavo"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nedavne zahteve za lokacijo"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokacija za delovni profil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Dovoljenja aplikacij za lokacijo"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Počisti dostop"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrolniki"</string>
     <string name="force_stop" msgid="2681771622136916280">"Prisilno ustavi"</string>
+    <string name="archive" msgid="9074663845068632127">"Arhiviraj"</string>
+    <string name="restore" msgid="7622486640713967157">"Obnovi"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Obnavljanje"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Obnavljanje"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Obnavljanje …"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Obnavljanje …"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Skupaj"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Velikost aplikacije"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikacija na pogonu USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Velikosti paketa ni bilo mogoče izračunati."</string>
     <string name="version_text" msgid="7628938665256107608">"različica <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Premakni"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arhiviranje ni uspelo"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Uspešno arhivirano: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Obnavljanje ni uspelo"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Obnavljanje: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Poteka že druga selitev."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ni dovolj prostora za shranjevanje."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikacija ne obstaja."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Razpoložljiva zaslonska tipkovnica"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Upravljaj zaslonske tipkovnice"</string>
     <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="6922850403920596246">"Omogočanje zaznave večkratnih pritiskov tipk za zagotavljanje dostopnosti na fizični tipkovnici"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Daljši pritisk tipk"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Omogočanje daljšega pritiska tipk za zagotavljanje dostopnosti na fizični tipkovnici"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Zaklepanje tipk"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Omogočanje zaklepanja tipk za zagotavljanje dostopnosti na fizični tipkovnici"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Za več možnosti se dotaknite sledilne ploščice spodaj desno."</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Hitrost kazalca"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Učenje potez na sledilni ploščici"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Pomik na začetni zaslon"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"S tremi prsti povlecite navzgor po sledilni ploščici."</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Pomik nazaj"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Razvrsti po času uporabe"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Razvrsti po datumu zadnje uporabe"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Razvrsti po imenu aplikacije"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Zadnjič uporabljeno"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Nazadnje uporabljeno"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"nikoli"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Čas uporabe"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Dostopnost"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Nastavitve dostopnosti"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Povečevanje s trikratnim dotikom"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Povečanje z bližnjico"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Povečanje z bližnjico in trikratnim dotikom"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"O funkciji »<xliff:g id="SERVICE">%1$s</xliff:g>«"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Odpiranje z gumbom za dostopnost"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Za odpiranje pridržite tipki za glasnost"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Za odpiranje se trikrat dotaknite zaslona"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Dvakratni dotik zaslona z dvema prstoma za odpiranje"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Odpiranje s potezo"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Uporaba poteze za dostopnost"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Če želite uporabljati to funkcijo, se na dnu zaslona dotaknite gumba za dostopnost <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>.\n\nČe želite preklopiti med funkcijami, se dotaknite gumba za dostopnost in ga pridržite."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Za uporabo te funkcije se na zaslonu dotaknite gumba za dostopnost."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Če želite uporabljati to funkcijo, pritisnite obe tipki za glasnost in ju pridržite."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Če želite vklopiti ali izklopiti povečavo, se trikrat dotaknite poljubnega mesta na zaslonu."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Za vklop ali izklop povečave se z dvema prstoma dvakrat dotaknite poljubnega mesta na zaslonu."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Če želite uporabljati to funkcijo, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Če želite uporabljati to funkcijo, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Če želite uporabljati funkcijo za dostopnost, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Če želite uporabljati funkcijo za dostopnost, 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_tutorial_dialog_button" msgid="2031773187678948436">"Razumem"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Nastavitve gumba za dostopnost"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Nastavitve gumba"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Bližnjica do funkcije »<xliff:g id="SERVICE">%1$s</xliff:g>«"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Gumb za dostopnost"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Poteza za dostopnost"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Pridržanje tipk za glasnost"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"pridržanje tipk 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"dvakratni dotik zaslona z dvema 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="6863958573135995927">"trikratni dotik zaslona"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Preberite več o gumbu in potezi za dostopnost."</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Uporaba gumba za dostopnost. Poteza ni na voljo pri krmarjenju s tremi gumbi."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Hiter dostop do funkcij za ljudi s posebnimi potrebami."</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Začnete tako:"</b>\n"1. Odprite nastavitve dostopnosti.\n2. Izberite funkcijo in se dotaknite bližnjice.\n3. Izberite, ali želite do funkcije dostopati z gumbom ali potezo."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Začnete tako:"</b>\n"1. Odprite nastavitve dostopnosti.\n2. Izberite funkcijo in se dotaknite bližnjice.\n3. Izberite gumb za dostop do funkcije."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Začnete tako:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Odprite nastavitve funkcij za ljudi s posebnimi potrebami.&lt;br/&gt; {1,number,integer}. Izberite funkcijo in se dotaknite bližnjice.&lt;br/&gt; {2,number,integer}. Izberite, ali želite do funkcije dostopati z gumbom ali potezo.&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Začnete tako:&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Odprite nastavitve funkcij za ljudi s posebnimi potrebami.&lt;br/&gt; {1,number,integer}. Izberite funkcijo in se dotaknite bližnjice.&lt;br/&gt; {2,number,integer}. Izberite gumb za dostop do funkcije.&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Uporaba gumba ali poteze"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokacija"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Velikost"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Gumb za vklop konča klic"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Velik kazalec miške"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Povečanje ikone za kazalec miške"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Temna tema pri vseh aplikacijah"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Velja za aplikacije, ki so brez svoje temne teme. Nekatere aplikacije bodo morda imele težave s prikazom, kot so obrnjene barve."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Odstranjevanje animacij"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Zmanjšanje gibanja na zaslonu"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono zvok"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Uporabi vibriranje in tipni odziv"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibriranje pri alarmih"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibriranje predstavnosti"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Vibriranje tipkovnice"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibriranje pri zvonjenju"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibriranje pri obvestilih"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Odziv na dotik"</string>
@@ -2128,16 +2311,15 @@
     <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Spremlja lahko vaše interakcije z aplikacijo ali tipalom strojne opreme 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="7295448112784528196">"Ustavi"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Prekliči"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Želite izklopiti »<xliff:g id="SERVICE">%1$s</xliff:g>«?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Če se dotaknete možnosti »<xliff:g id="STOP">%1$s</xliff:g>«, se bo funkcija »<xliff:g id="SERVICE">%2$s</xliff:g>« ustavila."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Izklopi"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Pusti vklopljeno"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Želite izklopiti storitev za dostopnost »<xliff:g id="SERVICE">%1$s</xliff:g>«?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nameščena ni nobena storitev"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nobena storitev ni izbrana"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Ni opisa."</string>
     <string name="settings_button" msgid="2195468788019730377">"Nastavitve"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"občutljivost na svetlobo, fotofobija, temna tema, migrena, glavobol, način branja, nočni način, zmanjšanje svetlosti, točka beline"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"preprosta uporaba, preprost dostop, pomoč, podporno"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"vid, sluh, slepi, gluhi, gibalno, spretnostno, podporno, podpora, preprosta uporaba, preprost dostop, roka, pomoč"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"lupa v oknu, povečava/pomanjšava, povečava, slabovidnost, povečaj, naredi večje"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"podnapisi, sproten prepis, naglušnost, izguba sluha, CART, pretvorba govora v besedilo, podnapis"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"barvni kontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorično, gibalno, miška"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"slušni aparati, naglušna oseba, izguba sluha, polževi vsadki, ojačevalniki, obdelovalniki zvoka"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"gibalno, miška, zunanja miška, naglavna miška, prilagodljiva miška, invalidski voziček, krmilna palica"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"slušni aparati, naglušna oseba, izguba sluha, polževi vsadki, ojačevalniki, obdelovalniki zvoka, telefonska centrala za javno varnost, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"naglušnost, izguba sluha, podnapisi, teleprinter, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"trije gumbi, s tremi gumbi"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"spretnostno, gibalno, starejši, artritis, RSI, kap, tremor, multipla skleroza, cerebralna paraliza, tresenje, poškodba zaradi ponavljajočih se gibov, roka"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"zakasnitev, spretnostno, starejši"</string>
     <string name="print_settings" msgid="8519810615863882491">"Tiskanje"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Izklopljeno"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 storitev tiskanja je vklopljena}one{# storitev tiskanja je vklopljena}two{# storitvi tiskanja sta vklopljeni}few{# storitve tiskanja so vklopljene}other{# storitev tiskanja je vklopljenih}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Preostali čas: <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> do napolnjenosti"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Čas uporabe"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Čas izvajanja v ozadju"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Skoraj prazna baterija"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Dovoli, da se aplikacija izvaja v ozadju"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Želite omejiti dejavnost v ozadju?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Če boste omejili dejavnost aplikacije v ozadju, morda ne bo pravilno delovala"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Ker za to aplikacijo ni izbrana nastavitev optimiziranja porabe baterije, je ni mogoče omejiti.\n\nČe želite omejiti aplikacijo, najprej vklopite optimizacijo baterije."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Upravljanje porabe energije baterije"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Dovoli uporabo v ozadju"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Omogoči za sprotne posodobitve, onemogoči za varčevanje z energijo baterije"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Neomejeno"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimizirano"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Omejeno"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Ogled aplikacij z najvišjo porabo energije"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Polnjenje je optimizirano zaradi zaščite baterije"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Polnjenje je optimizirano zaradi podaljšanja življenjske dobe baterije."</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Polnjenje je optimizirano zaradi zaščite baterije"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Zaradi podaljšanja življenjske dobe baterije je polnjenje optimizirano, ko je naprava priklopljena na nosilec."</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Polnjenje je optimizirano zaradi zaščite baterije"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Zaradi podaljšanja življenjske dobe baterije je polnjenje optimizirano, ko je naprava priklopljena na nosilec."</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Polnjenje do konca"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Zaradi zaščite baterije bo polnjenje optimizirano ob naslednjem priklopu tabličnega računalnika na nosilec."</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Več o začasno zaustavljenem polnjenju"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Nadaljuj polnjenje"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Vključuje dejavnost z visoko porabo energije v ozadju"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ta aplikacija bo lahko porabljala energijo baterije za izvajanje v ozadju. Baterija se bo morda izpraznila prej, kot bi pričakovali."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Odstrani"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Prekliči"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Napolni do konca"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Težava s pripomočkom za polnjenje"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Preverjanje pripomočka za polnjenje"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Več o nezdružljivem polnjenju"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Varčevanje z energijo baterije"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Samodejno upravljanje aplikacij"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"od zadnje polne napolnjenosti"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistemske aplikacije"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Odmeščene aplikacije"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Drugo"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Približni preostali čas"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Do napolnjenosti"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Skupno: manj kot minuta"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"V ozadju: manj kot minuta"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Čas uporabe: manj kot min"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Manj kot minuta"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Skupno: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"V ozadju: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Čas uporabe: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"zdaj"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Grafikon porabe energije baterije"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafikon porabe energije baterije po dnevih"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafikon porabe energije baterije po urah"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Odstotek napolnjenosti baterije od <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> do <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Poraba energije baterije od zadnje polne napolnjenosti"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Poraba energije baterije za <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Čas uporabe od zadnje polne napolnjenosti"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal za klice v sili"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Nastavi način delovanja ob klicanju v sili"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Varnostno kopiranje"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Vklopljeno"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Izklopljeno"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Varnostno kopiranje in obnovitev"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Osebni podatki"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Varn. kopiraj podatke"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobilni podatki in Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Samod. sinhron. oseb. podatkov"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Samod. sinhr. delov. podatkov"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Samodejna sinhronizacija zasebnih podatkov"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Spremeni cikel ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dan za ponastavitev cikla porabe podatkov:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"V tem obdobju ni podatkov uporabljala nobena aplikacija."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Ime"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Vrsta"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Naslov strežnika"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Šifriranje PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Skrivnost L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikator IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Vnaprej deljeni ključ IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Uporabniško potrdilo IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Overjeno potrdilo IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Potrdilo strežnika IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Prikaži dodatne možnosti"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domene za iskanje DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Strežniki DNS (npr. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Poti za posredovanje (npr. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Uporabniško ime"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Geslo"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Shrani podatke o računu"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ni uporabljeno)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ne preveri strežnika)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(prejeto iz strežnika)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ta vrsta omrežja VPN ne more biti stalno vklopljena."</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Stalno vklopljeno omrežje VPN podpira samo številske naslove strežnikov."</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Za stalno vklopljeno omrežje VPN mora biti naveden strežnik DNS."</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Za stalno vklopljeno omrežje VPN morajo biti naslovi strežnikov DNS številski."</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Vneseni podatki ne podpirajo stalno vklopljenega omrežja VPN."</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Prekliči"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Opusti"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blokiraj povezave brez omrežja VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Ali zahtevate povezavo VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ni varno. Posodobite na VPN različice IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nepodprtega omrežja VPN ni bilo mogoče zagnati."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Izberite profil za navidezno zasebno omrežje (VPN), s katerim boste vedno povezani. Omrežni promet bo dovoljen samo prek tega omrežja VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Brez"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Za stalno vklopljeno navidezno zasebno omrežje je potreben naslov IP tako za strežnik kot za DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Opozorila AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Prejemanje objav o ugrabitvah otrok"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ponovitev"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Omogočanje Upravitelja klicev"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Omogoči tej storitvi upravljanje načina izvajanja klicev."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Upravitelj klicev"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Brezžična nujna opozorila"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Omrežni operaterji"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Imena dostopnih točk (APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Stanje kartice SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Stanje kartice SIM (reža za SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Kartici SIM sta bili spremenjeni."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Preklop med karticama SIM je uspel"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Dotaknite se, če želite nastaviti"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Vedno vprašaj"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Zahtevana je izbira"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Nedavne aplikacije, privzete aplikacije"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Dostop do obvestil ni na voljo za aplikacije v delovnem profilu."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Gesla in računi"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Shranjena gesla, samodejno izpolnjevanje, sinhronizirani računi"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Predlogi za prijavo in samodejno izpolnjevanje"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Privzete aplikacije"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonirane aplikacije"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Ustvarite drugi primerek aplikacije, da boste lahko uporabljali dva računa hkrati."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"denarnica"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"plačaj, dotakni se, plačevanje z dotikom, plačila"</string>
     <string name="keywords_backup" msgid="707735920706667685">"varnostna kopija, varnostno kopiranje, varnostno kopirati"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"poteza"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"obraz, odklepanje, preverjanje pristnosti, prijava"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"obraz, odklepanje, preverjanje pristnosti, prijava, prstni odtis, biometrični podatki"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, različica seznama prednostnih omrežij za gostovanje, različica programske opreme za imei"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"velikost besedila, velika pisava, velike črke, veliko besedilo, slabovidnost, povečaj besedilo, povečevalnik pisave, povečanje pisave"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"stalno vklopljen ambientalni ohranjevalnik zaslona, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, oznaka, bralnik"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tipkovnica, tipna tehnologija, vibriranje"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Glasnost, vibriranje, ne moti"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Glasnost predstavnosti"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Glasnost predvajanja"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Zvoki ob zagonu"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Samodejni podnapisi"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Samodejni podnapisi predstavnosti"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Zvočniki telefona"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Zvočniki tabličnega računalnika"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Zvočniki naprave"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Žične slušalke"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Zvok iz združljivih predstavnosti dobi prostornejšo razsežnost."</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Izklopljeno"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Prikaži vso vsebino obvestil"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Prikaži občutljivo vsebino samo na odklenjenem zaslonu"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Sploh ne prikazuj obvestil"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kaj naj bo prikazano na zaklenjenem zaslonu?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Kaj naj bo prikazano na zaklenjenem zaslonu?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Zaklenjen zaslon"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Pokaži vso vsebino obvestil za delovni profil."</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Skrij občutljivo vsebino za delovni profil."</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Nedavni pogovori odstranjeni"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Pogovor je odstranjen."</string>
     <string name="clear" msgid="5092178335409471100">"Počisti"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Počisti pogovor <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prednostni in spremenjeni pogovori bodo prikazani tukaj"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Pogovori, ki jih označite kot prednostne ali jih kakor koli drugače spremenite, bodo prikazani tukaj. \n\nČe želite spremeniti nastavitve pogovorov: \nS prstom povlecite z vrha zaslona navzdol, da odprete potezni zaslon z obvestili, in nato pridržite pogovor."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimiraj"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Zmanjševanje glasnosti za obvestila"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Zmanjševanje glasnosti za vsa obvestila"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Postopno zmanjševanje glasnosti obvestil pri prejemanju številnih zaporednih obvestil iz iste aplikacije"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Zmanjševanje glasnosti za pogovore"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Postopno zmanjševanje glasnosti obvestil pri prejemanju številnih sporočil iz istega klepeta v kratkem času"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Brez uporabe zmanjševanja glasnosti za obvestila"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Brez zmanjševanja glasnosti obvestil ne glede na število zaporednih obvestil iz iste aplikacije"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibriranje pri odklenjenem zaslonu"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibriranje samo pri odklenjenem zaslonu"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Uporaba za delovne profile"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Uporaba nastavitev zmanjševanja glasnosti za obvestila iz osebnega profila v delovnem profilu"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Storitve za pomoč za VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Nobena nameščena aplikacija ni zahtevala izvajanja kot storitev za pomoč za VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Dovolite storitvi <xliff:g id="SERVICE">%1$s</xliff:g> dostop do storitve za VR?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Izklopljeno"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Pripenjanje aplikacije"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Pripenjanje aplikacije omogoča, da trenutna aplikacija ostane vidna, dokler je ne odpnete. To funkcijo lahko na primer uporabite, če želite prijatelju, ki mu zaupate, dovoliti igranje določene igre."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Ko je aplikacija pripeta, lahko ta odpre druge aplikacije, prav tako pa so lahko dostopni osebni podatki. \n\nČe želite uporabiti pripenjanje aplikacije, storite to: 	\n1. Vklopite pripenjanje aplikacije. 	\n2. Odprite »Pregled«. 	\n3. Dotaknite se ikone aplikacije na vrhu zaslona, nato pa se dotaknite »Pripni«."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Ko je aplikacija pripeta, lahko ta odpre druge aplikacije, prav tako pa so lahko dostopni osebni podatki. \n\nČe želite varno deliti svojo napravo z drugimi, namesto tega uporabite gosta. \n\nČe želite uporabiti pripenjanje aplikacije, storite to: 	\n1. Vklopite pripenjanje aplikacije. 	\n2. Odprite »Pregled«. 	\n3. Dotaknite se ikone aplikacije na vrhu zaslona, nato pa se dotaknite »Pripni«."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Ko je aplikacija pripeta, lahko ta odpre druge aplikacije, prav tako pa so lahko dostopni osebni podatki. \n\nČe želite uporabiti pripenjanje aplikacije, storite to: 	\n{0,number,integer}. Vklopite pripenjanje aplikacije. 	\n{1,number,integer}. Odprite »Pregled«. 	\n{2,number,integer}. Dotaknite se ikone aplikacije na vrhu zaslona, nato pa se dotaknite »Pripni«."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Ko je aplikacija pripeta, lahko ta odpre druge aplikacije, prav tako pa so lahko dostopni osebni podatki. \n\nČe želite varno deliti svojo napravo z drugimi, namesto tega uporabite gosta. \n\nČe želite uporabiti pripenjanje aplikacije, storite to: 	\n{0,number,integer}. Vklopite pripenjanje aplikacije. 	\n{1,number,integer}. Odprite »Pregled«. 	\n{2,number,integer}. Dotaknite se ikone aplikacije na vrhu zaslona, nato pa se dotaknite »Pripni«."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Ko je aplikacija pripeta: \n\n• Dostopni so lahko osebni podatki \n (na primer stiki in vsebina e-poštnih sporočil). \n• Pripeta aplikacija lahko odpre druge aplikacije. \n\nPripenjanje aplikacij uporabite le za osebe, ki jim zaupate."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Pred odpenjanjem vprašaj za vzorec za odklepanje"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Zahtevaj PIN pred odpenjanjem"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Pred odpenjanjem vprašaj za geslo"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Pri odpenjanju zakleni napravo"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Potrdi brisanje kartice SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Potrdite, da želite izbrisati kartico e-SIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Pred izbrisom kartice e-SIM potrdite, da ste to res vi."</string>
     <string name="memtag_title" msgid="5096176296797727201">"Napredna zaščita pomnilnika – beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Napredna zaščita pomnilnika"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Nastavitve neuporabljenih aplikacij"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Zaustavi dejavnost aplikacije ob neuporabi"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Dovoljenja se odstranijo, začasne datoteke se izbrišejo in prikazovanje obvestil se ustavi."</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Upravljanje aplikacije ob neuporabi"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Odstranitev dovoljenj, izbris začasnih datotek, ustavitev prikazovanja obvestil in arhiviranje aplikacije"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Vse aplikacije"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Nameščene aplikacije"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Nenamestljive aplikacije"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Prosto"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Pomnilnik, ki ga uporabljajo aplikacije"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikacija je uporabljala pomnilnik v zadnjega toliko časa: {time}.}one{# aplikacija je uporabljala pomnilnik v zadnjega toliko časa: {time}.}two{# aplikaciji sta uporabljali pomnilnik v zadnjega toliko časa: {time}.}few{# aplikacije so uporabljale pomnilnik v zadnjega toliko časa: {time}.}other{# aplikacij je uporabljalo pomnilnik v zadnjega toliko časa: {time}.}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Omogoči profiliranje uporabe pomnilnika"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Za profiliranje uporabe pomnilnika so potrebna dodatna sistemska sredstva."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profiliranje pomnilnika je onemogočeno"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekvenca"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Največja uporaba"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Ni bilo prenosa podatkov."</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Prekrivanje drugih aplikacij"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Dovoli prekrivanje drugih aplikacij"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Omogočite tej aplikaciji, da na zaslonu prekrije druge aplikacije, ki jih uporabljate. Ta aplikacija bo lahko spremljala dotike zaslona ali spreminjala prikaz na zaslonu."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Spreminjanje izhoda za predstavnost"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Aplikaciji dovoli preklop izhoda za predstavnost"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Tej aplikaciji dovolite, da izbere, katera povezana naprava predvaja zvok ali videoposnetek iz drugih aplikacij. Če ji omogočite dovoljenje, lahko ta aplikacija dostopa do seznama razpoložljivih naprav, kot so slušalke in zvočniki, ter upravlja, katera izhodna naprava se uporablja za pretočno ali daljinsko predvajanje zvoka ali videoposnetka."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Dostop do vseh datotek"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Dovoli dostop za upravljanje vseh datotek"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Tej aplikaciji dovolite, da bere, spreminja in briše vse datoteke v tej napravi ali drugih povezanih nosilcih za shranjevanje. Če daste to dovoljenje, bo aplikacija morda dostopala do datotek brez vaše vednosti."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Lahko dostopa do vseh datotek"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacije za glasovno aktiviranje"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Dovoli glasovno aktiviranje"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Glasovno aktiviranje vam omogoča, da z glasovnim ukazom prostoročno vklopite odobrene aplikacije. Vgrajeno prilagodljivo zaznavanje poskrbi, da bodo vaši podatki ostali zasebni.\n\n"<a href="">"Več o zaščitenem prilagodljivem zaznavanju"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Celozaslonska obvestila"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Dovoli celozaslonska obvestila te aplikacije"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Dovolite, da ta aplikacija prikazuje obvestila, ki zavzamejo celoten zaslon, ko je naprava zaklenjena. Aplikacije lahko z njimi izpostavijo alarme, dohodne klice ali druga nujna obvestila."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Opozorilo pri <xliff:g id="ID_1">^1</xliff:g> prenesenih podatkov"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Omejitev prenosa podatkov pri <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Opozorilo ob preneseni količini podatkov <xliff:g id="ID_1">^1</xliff:g>/omejitev prenosa podatkov pri <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operaterjeve meritve prenosa podatkov so morda drugačne kot v napravi."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ne vključuje podatkov, ki jih uporabljajo omrežja operaterjev."</string>
     <string name="data_used_template" msgid="8229342096562327646">"Preneseno: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Nastavi opozorilo za prenos podatkov"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Posodobljeno pred <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Pravkar posodobil <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Pravkar posodobljeno"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Prikaži paket"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ogled podrobnosti"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Varčevanje s podatki"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Neomejen prenos podatkov"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je porabljala več energije baterije kot običajno, ko se je izvajala v ozadju"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je porabljala več energije baterije, ko se je izvajala v ospredju"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Aplikacija <xliff:g id="APP_LABEL">%1$s</xliff:g> je porabljala več energije baterije kot običajno, ko se je izvajala v ospredju"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Odstopanje pri porabi energije baterije"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Visoka poraba energije baterije"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Visoka poraba energije baterije v ozadju"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Visoka poraba energije v ospredju"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Ploščice razvijalcev za hitre nastavitve"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Onemogoči časovno omejitev pooblastila ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Onemogoči samodejni preklic pooblastil ADB za sisteme, ki niso znova vzpostavili povezave v privzetem času (7 dni) ali v uporabniško konfiguriranem času (najmanj 1 dan)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Sledenje z apl. Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Izklop tipal"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Nastavitve delovnega profila"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Iskanje stikov v delovnem imeniku prek osebnih aplikacij"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"krmarjenje po sistemu, krmarjenje z dvema gumboma, krmarjenje s tremi gumbi, krmarjenje s potezami, vlečenje"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digitalni pomočnik"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vlečenje za sproženje pomočnika"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Če želite sprožiti digitalnega pomočnika, s prstom povlecite navzgor iz spodnjega kota."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Če želite sprožiti aplikacijo digitalnega pomočnika, s prstom povlecite navzgor iz spodnjega kota"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Priklic Pomočnika s pridržanjem gumba za začetni zaslon"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pridržite gumb za začetni zaslon, če želite priklicati digitalnega pomočnika."</string>
     <string name="low_label" msgid="6525629096999711220">"Nizka"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Storitev samodejnega izpolnjevanja"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Privzeta storitev samodejnega izpolnjevanja"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Gesla"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Gesla, ključi za dostop in podatkovne storitve"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Dodatni ponudniki"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Prednostna storitev"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Dodatne storitve"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# geslo}one{# geslo}two{# gesli}few{# gesla}other{# gesel}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"samodejno, izpolnjevanje, samodejno izpolnjevanje, geslo"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"podatki, ključ za dostop, geslo"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"samodejno, izpolnjevanje, samodejno izpolnjevanje, podatki, ključ za dostop, geslo"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Spremeni"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Odpri"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Izbran ni noben element"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Prepričajte se, da zaupate tej aplikaciji&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Samodejno izpolnjevanje&gt;%1$s&lt;/xliff:g&gt; iz elementov na zaslonu ugotovi, kaj je mogoče samodejno izpolniti."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Uporabi aplikacijo &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; na podlagi prikaza na zaslonu ugotovi, kaj se lahko samodejno izpolni. Nova gesla, ključi za dostop in drugi podatki bodo odslej shranjeni tukaj."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Gesla, ključi za dostop in podatkovne storitve"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Uporabi aplikacijo &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nova gesla, ključi za dostop in drugi podatki bodo odslej shranjeni tukaj. Aplikacija &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; lahko na podlagi prikaza na zaslonu ugotovi, kaj se lahko samodejno izpolni."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Želena storitev za gesla, ključe za dostop in samodejno izpolnjevanje"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Želite izklopiti »%1$s«?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Želite izklopiti to storitev?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Shranjeni podatki, kot so gesla, ključi za dostop, plačilna sredstva in drugo, ne bodo izpolnjeni ob prijavi. Za uporabo shranjenih podatkov izberite geslo, ključ za dostop ali podatkovno storitev."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Gesla, ključi za dostop in samodejno izpolnjevanje"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Želite izklopiti vse storitve?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Gesla, ključi za dostop in drugi shranjeni podatki ne bodo na voljo za samodejno izpolnjevanje ob prijavi."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Želite spremeniti želeno storitev na &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nova gesla, ključi za dostop in drugi podatki bodo odslej shranjeni tukaj. Aplikacija &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; lahko na podlagi prikaza na zaslonu ugotovi, kaj se lahko samodejno izpolni."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Želite uporabiti ponudnika %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Izklopi"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Spremeni"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Vklopljenih je lahko največ pet storitev"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Če želite dodati novo storitev, izklopite vsaj eno obstoječo"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s na podlagi prikaza na zaslonu ugotovi, kaj se lahko samodejno izpolni."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Omejitev števila gesel, ključev za dostop in podatkovnih storitev"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Naenkrat je lahko aktivnih največ 5 gesel, ključev za dostop in podatkovnih storitev. Če želite dodati novo storitev, najprej izklopite eno od obstoječih."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Omejitev števila gesel, ključev za dostop in podatkovnih storitev"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Hkrati je lahko aktivnih največ 5 gesel, ključev za dostop in podatkovnih storitev. Če želite dodati novo storitev, najprej izklopite eno od obstoječih."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Izklopi"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Samodejno izpolnjevanje"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Raven pisanja dnevnika"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Spremembe združljivosti aplikacij je mogoče spreminjati samo za aplikacije z možnostjo odpravljanja napak. Namestite aplikacijo z možnostjo odpravljanja napak in poskusite znova."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Ta nastavitev je odvisna od druge nastavitve"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Račun"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Št. računov: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Ime naprave"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Osnovni podatki"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Pravna obvestila in informacije o skladnosti s predpisi"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Tej aplikaciji dovolite, da se zažene pri optičnem branju oznake NFC.\nČe je to dovoljenje vklopljeno, bo aplikacija na voljo kot ena od možnosti ob vsaki zaznani oznaki."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Predvajaj predstavnost v"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Predvaj <xliff:g id="LABEL">%s</xliff:g> v napravi:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Zvok bo predvajan v"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Ta naprava"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ni na voljo med klici"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Sprejemanje klicev je vklopljeno"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Izklop zvoka"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Če želite omogočiti, najprej spremenite »Pridržanje gumba za vklop« na meni za vklop/izklop."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Podatki o omrežju"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Ime naprave je vidno aplikacijam v telefonu. 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="devices_title" msgid="649715719278562515">"Naprave"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Izbira omrežja"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Brez povezave"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Ime"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Barva (uporabljajo jo združljive aplik.)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Shrani"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Uporabi kartico SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Uporabi to kartico SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Izklopljeno"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Če želite onemogočiti to kartico SIM, jo odstranite"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Dotaknite se za aktiviranje operaterja <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Izbriši kartico SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Če želite izklopiti to kartico SIM, jo odstranite"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Dotaknite se za aktiviranje kartice SIM <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Brisanje kartice e-SIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Prednostna vrsta omrežja"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Sprememba načina delovanja omrežja"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Prednostna vrsta omrežja"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Preverite cene pri operaterju omrežja."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Prenos podatkov aplikacij"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Neveljaven način omrežja: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Prezri."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satelitska sporočila"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Pošiljanje in prejemanje sporočil po satelitski povezavi. Je vključeno v vašem računu."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Pošiljanje in prejemanje sporočil po satelitski povezavi. Ni vključeno v vašem računu."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satelitska sporočila"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"O satelitskih sporočilih"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Sporočila lahko pošiljate in prejemate po satelitski povezavi v sklopu ustreznega računa pri operaterju <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Vaš paket pri operaterju <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satelitska sporočila so vključena v vašem računu"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satelitska sporočila niso vključena v vašem računu"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Dodaj satelitska sporočila"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Kako deluje"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kadar mobilno omrežje ni na voljo"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefon se bo samodejno povezal s satelitom. Za najboljšo povezavo zagotovite neoviran pogled v nebo."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Po vzpostavitvi povezave telefona s satelitom"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Sporočilo lahko pošljete vsakomur, tudi reševalnim službam. Telefon se bo znova povezal z mobilnim omrežjem, ko bo to na voljo."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Izmenjava satelitskih sporočil morda traja dalj časa in je na voljo le na nekaterih območjih. Vreme in nekatere ovire lahko vplivajo na satelitsko povezavo. Klicanje po satelitski povezavi ni na voljo.\n\nMorda bo trajalo nekaj časa, preden bodo spremembe računa prikazane v nastavitvah. Za podrobnosti se obrnite na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Več o satelitskih sporočilih"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Imena dostopnih točk"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ni na voljo ob vzpostavljeni povezavi z operaterjem <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Želite preklopiti na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Želite preklopiti na uporabo kartice SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Želite preklopiti na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Hkrati je lahko aktivna samo ena kartica SIM.\n\nČe preklopite na operaterja <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, ne boste preklicali storitve operaterja <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Aktivna je lahko samo ena kartica e-SIM hkrati.\n\nČe preklopite na operaterja <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, s tem še ne boste preklicali storitve operaterja <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Hkrati je lahko aktivna samo ena kartica SIM.\n\nČe preklopite, ne boste preklicali storitve operaterja <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Vklopljena je lahko samo ena kartica SIM hkrati.\n\nČe preklopite na operaterja <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, s tem še ne boste preklicali storitve operaterja <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Vklopljena je lahko samo ena kartica e-SIM hkrati.\n\nČe preklopite na operaterja <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, s tem še ne boste preklicali storitve operaterja <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Vklopljena je lahko samo ena kartica SIM hkrati.\n\nS preklopom še ne boste preklicali storitve operaterja <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Hkrati lahko uporabljate dve kartici SIM. Če želite preklopiti na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, izklopite drugo kartico SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Preklopi na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Izklop operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Z izklopom kartice SIM ne prekličete storitve operaterja"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Povezovanje z omrežjem …"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Preklapljanje na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g> za klice in sporočila …"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operaterja ni mogoče preklopiti"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operaterja ni mogoče preklopiti zaradi napake."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiviranje kartice SIM …"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Preklapljanje na operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Ni mogoče preklopiti med karticama SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Prišlo je do napake. Ni mogoče preklopiti med karticama SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Želite izklopiti kartico <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Želite izklopiti kartico SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Izklapljanje kartice SIM <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operaterja ni mogoče onemogočiti"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Prišlo je do napake, operaterja ni bilo mogoče onemogočiti."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Kartice SIM ni mogoče izklopiti"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Prišlo je do napake, zato kartice SIM ni bilo mogoče izklopiti."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Želite uporabljati dve kartici SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"V tej napravi sta lahko hkrati aktivni dve kartici SIM. Če želite še naprej uporabljati samo eno kartico SIM, se dotaknite »Ne, hvala«."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Želite znova zagnati napravo?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ne, hvala"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Prekliči"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Preklopi"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Izklopi"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Kartice SIM ni mogoče aktivirati"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Poskusite znova vklopiti kartico SIM. Če s tem ne odpravite težave, znova zaženite napravo."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Nastavitev kartice SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Izberite nastavitev mobilnega omrežja, ki omogoča uporabo več kartic SIM v tej napravi."</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Dodajanje oznak karticam SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Te oznake bodo prikazane med klici, pošiljanjem sporočil SMS in prenosom podatkov ter v nastavitvah."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Oznaka kartice SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Oznaka"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Izbira kartic SIM za uporabo"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Uporabljate lahko dve kartici SIM hkrati."</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Nastavitev glavnih kartic SIM"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Izberite, katere kartice SIM naj bodo privzeto uporabljene za klice, sporočila in prenos podatkov."</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Vaše glavne kartice SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Klici"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Sporočila SMS"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Samodejni preklop prenosa podatkov"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Uporaba prenosa podatkov prek ene ali druge kartice SIM, odvisno od pokritosti in razpoložljivosti"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Samo prenos podatkov"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Nastavi"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Naprej"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Vklapljanje operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilno omrežje"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonska številka"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Oznaka in barva kartice SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivacija omrežja"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Preklop operaterja"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Operater <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktiven"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Kartica SIM <xliff:g id="CARRIER_NAME">%1$s</xliff:g> je aktivna"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Dotaknite se, če želite posodobiti nastavitve kartice SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Preklopljeno na omrežje operaterja <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Preklopljeno na drugega operaterja"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilno omrežje je spremenjeno."</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Nastavite drugo kartico SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Izberite aktivno kartico SIM ali uporabljajte dve kartici SIM hkrati."</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Izberite, katero številko želite uporabiti"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{V tej napravi je na voljo 1 številka, vendar je mogoče uporabljati samo eno hkrati.}=2{V tej napravi sta na voljo 2 številki, vendar je mogoče uporabljati samo eno hkrati.}one{V tej napravi je na voljo # številka, vendar je mogoče uporabljati samo eno hkrati.}two{V tej napravi sta na voljo # številki, vendar je mogoče uporabljati samo eno hkrati.}few{V tej napravi so na voljo # številke, vendar je mogoče uporabljati samo eno hkrati.}other{V tej napravi je na voljo # številk, vendar je mogoče uporabljati samo eno hkrati.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiviranje <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Aktiviranje trenutno ni bilo mogoče."</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Izbira kartice SIM za uporabo"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{V tej napravi je na voljo 1 kartica SIM, vendar je mogoče uporabljati samo eno hkrati.}=2{V tej napravi sta na voljo 2 kartici SIM, vendar je mogoče uporabljati samo eno hkrati.}one{V tej napravi je na voljo # kartica SIM, vendar je mogoče uporabljati samo eno hkrati.}two{V tej napravi sta na voljo # kartici SIM, vendar je mogoče uporabljati samo eno hkrati.}few{V tej napravi so na voljo # kartice SIM, vendar je mogoče uporabljati samo eno hkrati.}other{V tej napravi je na voljo # kartic SIM, vendar je mogoče uporabljati samo eno hkrati.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Vklapljanje <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Te kartice SIM trenutno ni bilo mogoče vklopiti"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Želite uporabiti storitev <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Operater <xliff:g id="CARRIER_NAME">%1$s</xliff:g> bo uporabljen za prenos podatkov v mobilnem omrežju, klice in sporočila SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nobena aktivna kartica SIM ni na voljo"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Prenos podatkov v mobilnem omrežju, funkcije klicanja in sporočila lahko nastavite tudi pozneje v omrežnih nastavitvah."</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Želite izbrisati to kartico e-SIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Če izbrišete to kartico SIM, boste iz te naprave odstranili storitev operaterja <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>.\n\nStoritev operaterja <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ne bo preklicana."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"S tem boste iz te naprave odstranili storitev operaterja <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>, vendar ne boste preklicali paketa pri operaterju <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Izbriši"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Brisanje kartice SIM …"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Kartice SIM ni mogoče izbrisati"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Te kartice SIM ni mogoče izbrisati zaradi napake.\n\nZnova zaženite napravo in poskusite znova."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Brisanje kartice e-SIM …"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Kartice e-SIM ni mogoče izbrisati"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Prišlo je do napake in ta kartica e-SIM ni bila izbrisana.\n\nZnova zaženite napravo in poskusite znova."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Vzpostavitev povezave z napravo"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacija <xliff:g id="APPNAME">%1$s</xliff:g> želi uporabiti začasno omrežje Wi-Fi za vzpostavitev povezave z napravo"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Ni naprav. Preverite, ali so naprave vklopljene in na voljo za vzpostavitev povezave."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Klici v sili"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Vaš operater ne podpira klicev v sili, opravljenih s funkcijo Klicanje prek Wi-Fi-ja.\nNaprava samodejno preklopi na mobilno omrežje, da opravi klic v sili.\nKlici v sili so mogoči samo na območjih, ki so pokrita z mobilnim signalom."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Uporabljajte omrežje Wi‑Fi za izboljšanje kakovosti klicev"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Pomožno klicanje"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Če <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ni na voljo ali gostujete, za klice prek operaterja <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> uporabite SIM za prenos pod. v mob. omrež."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"pomožno klicanje, nadomestni način klicanja"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Dohodno sporočilo MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Sporočila MMS ni mogoče poslati"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Dotaknite se za uporabo sporočil MMS v omrežju <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>, ko je prenos podatkov v mobilnem omrežju izklopljen"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Podatki o službenem pravilniku"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Nastavitve upravlja skrbnik za IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPE"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Zaženi s stranmi velikosti 16 K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Zagon naprave z jedrom, ki podpira strani velikosti 16 K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Želite znova zagnati z jedrom, združljivim s stranmi velikosti 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"OPOZORILO: Nekatere aplikacije morda niso združljive s tem načinom. Naprava se bo znova zagnala po potrditvi."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Želite znova zagnati z jedrom, združljivim s stranmi velikosti 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Naprava se bo znova zagnala po potrditvi."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Jedra ni bilo mogoče posodobiti na jedro, ki je združljivo s stranmi velikosti 16 KB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Uveljavljanje spremembe"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Rutina za obravnavo poročila o napakah"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Določa, katera aplikacija obravnava bližnjico za poročilo o napakah v napravi."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Osebno"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Dovoli aplikacijam, ki lahko prekrivajo druge aplikacije, prekrivanje zaslonov v aplikaciji Nastavitve."</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Dovoli simuliran modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Tej napravi dovoli izvajanje storitve simuliranega modema za preizkušanje instrumentacije. Tega ne omogočite med običajno uporabo telefona."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Onemogoči zaščite deljenja zaslona"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Med deljenjem zaslona onemogoči zaščite aplikacij in obvestil, ki jih zagotavlja sistem"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Predstavnost"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Pripni predvajalnik predstavnosti"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Predvajalnik predstavnosti ostane odprt v hitrih nastavitvah, da je omogočeno hitro nadaljevanje predvajanja."</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Prikaži predstavnost na zaklenjenem zaslonu"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Predvajalnik predstavnosti ostane odprt na zaklenjenem zaslonu, da je omogočeno hitro nadaljevanje predvajanja."</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Prikaži priporočila glede predstavnosti"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Prikaz priporočil Pomočnika za predstavnost"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Priporočila temeljijo glede na vašo dejavnost."</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Skrij predvajalnik"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Prikaži predvajalnik"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"predstavnost"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Dovoli razširitve programske opreme za fotoaparat"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Omogoča privzeto uvedbo programske opreme za napredne funkcije fotoaparata, kot je videografija za slepe in slabovidne."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth se bo vklopil."</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Kartice SIM"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"Kartica e-SIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Kartice e-SIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktivna"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Neaktivna"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Vklopljeno"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Izklopljeno"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Privzeto za: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"klici"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Zvok iz združljivih predstavnosti dobi prostornejšo razsežnost."</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Spremljanje položaja glave"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Zvok se med premikanjem glave spreminja za naravnejšo izkušnjo."</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinhronizacija dovoljenj"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Napravi <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> dodelite enaka dovoljenja za aplikacije, kot ste jih dodelili v napravi <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>."</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinhroniziranje dovoljenj iz telefona"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Uri dodelite enaka dovoljenja za aplikacije, kot ste jih dodelili v tem telefonu"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Vrsta naprave za zvok"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Neznano"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Zvočnik"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Srednji"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Visok"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"To aplikacijo je mogoče odpreti samo v enem oknu"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Vklopljeno"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Izklopljeno"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Izklopljeno"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Izklopljeno"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Vklopljeno"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Izklopljeno"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Vklopljeno"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Izklopljeno"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Svetle zaslone spremeni v temne in temne v svetle."</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Povečava zaslona"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Izklopljeno"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Izklopljeno"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Iskanje zavajajočih aplikacij"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Iskanje znakov lažnega predstavljanja v dejavnostih v aplikacijah"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Uporabi iskanje zavajajočih aplikacij"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Uporabi iskanje zavajajočih aplikacij v delovnem profilu"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Geslo je zdaj nastavljeno"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Prikaži kazalec med zadržanjem pisala na elementu"</string>
 </resources>
diff --git a/res/values-sq/arrays.xml b/res/values-sq/arrays.xml
index 5111be2..0fd29d9 100644
--- a/res/values-sq/arrays.xml
+++ b/res/values-sq/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"I gatshëm"</item>
     <item msgid="6096962300722555553">"Jashtë rrezes"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast dhe Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Përdor parazgjedhjen e sistemit: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Pas 1 minute"</item>
     <item msgid="1574040255478150028">"Pas 5 minutash"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-sq/strings.xml b/res/values-sq/strings.xml
index b13ecb1..b32bb4b 100644
--- a/res/values-sq/strings.xml
+++ b/res/values-sq/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Tani je zhvillues!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Nuk ka nevojë, ti je programues tashmë!"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktivizo opsionet e zhvilluesit në fillim."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Vetëm përdoruesit administratorë mund të qasen te cilësimet e zhvilluesit."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistemi"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Në shërbim"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Jashtë shërbimit"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Ekrani i përparmë ndizet kur palos pajisjen"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Vetëm lojëra, video etj."</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Ekrani i përparmë ndizet për aplikacionet që e ndalojë ekranin që të kalojë në gjendje joaktive"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Rrëshqit shpejt lart për të vazhduar"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Palos telefonin dhe rrëshqit shpejt lart në ekranin e parmë për të vazhduar të përdorësh aplikacionin ose prit disa sekonda që të kyçet ekrani"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Asnjëherë"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Ekrani i përparmë kyçet kur palos pajisjen"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Përdor rrotullimin automatik"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Të ngjashme"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Toni i ziles dhe alarmet"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audioja gjatë telefonatave"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Njoftimet dhe tingujt e tjerë"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Tingujt e medias dhe sistemit"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Njoftimet"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Si parazgjedhje, dalja e audios caktohet nga aplikacionet individuale"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Pajisje me \"Bluetooth\" e paemërtuar"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Po kërkon"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Anulo"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Çaktivizo Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Çaktivizon veçorinë Bluetooth LE Audio nëse pajisja mbështet aftësitë e harduerit të LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Modaliteti i Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Shfaq çelësin për LE Audio te \"Detajet e pajisjes\""</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Aktivizo listën e autorizimeve të Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Aktivizo veçorinë e listës së autorizimeve të Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Anashkalo \"Listën e lejimeve\" të Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Përdor LE Audio si parazgjedhje edhe nëse LE Audio periferike nuk është verifikuar se i ka plotësuar kriteret e \"Listës së lejimeve\"."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Pajisjet për median"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Pajisjet për telefonata"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Pajisjet e tjera"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Pajisjet e ruajtura"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Lidhur me llogarinë"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Të përdorura më parë me llogari"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth-i do të aktivizohet për çiftimin"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Preferencat e lidhjes"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Të lidhura më parë"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth-i është i aktivizuar"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Shiko të gjitha"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Shiko të gjitha"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilolapsi"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Shtypja e butonit të bishtit"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profili i punës)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Shkruaj në fushat e tekstit"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Shpërfill të gjitha shtypjet e butonave me stilolapsin"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilolapsi"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Ndarja e audios"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Ndaj audion"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Telefonatat dhe alarmet"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Lidh me një transmetim audio duke përdorur kodin QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Nuk u gjet transmetim audio në afërsi."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Data dhe ora"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Pastro"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Të shtohet %s në gjuhët e preferuara?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Kjo i lejon aplikacionet dhe uebsajtet të dinë se ti preferon edhe këtë gjuhë."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Cilësimet e pajisjes dhe preferencat rajonale do të ndryshojnë."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Ndrysho"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s nuk ofrohet"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"E shtunë"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Nëse një aplikacion nuk i mbështet preferencat rajonale, aplikacioni do të përdorë cilësimet e tij të parazgjedhura lokale."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Mëso më shumë rreth preferencave gjuhësore."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Preferenca të tjera"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Termat e adresimit"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Cakto se si dëshiron të të adresohen"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Aplikacionet mund të përdorin termat e tu të adresimit për të personalizuar mënyrën se si të adresohen."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"E papërcaktuar"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femërore"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Mashkullore"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Asnjanës"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Të hiqet gjuha e zgjedhur?}other{Të hiqen gjuhët e zgjedhura?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Teksti do të shfaqet në një gjuhë tjetër."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Nuk mund të hiqen të gjitha gjuhët"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Vendndodhja"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Përdor vendndodhjen"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Joaktiv"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Aktive - # aplikacion ka qasje te vendndodhja}other{Aktive - # aplikacione kanë qasje te vendndodhja}}"</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_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="5329024810729665156">"Mëso më shumë për \"Cilësimet e vendndodhjes\"."</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="3574930966097093550">"Për të ndryshuar qasjen te vendndodhja, shko te Cilësimet &gt; Siguria dhe privatësia &gt; Kontrollet e privatësisë"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Llogaritë"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Siguria"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Enkriptimi dhe kredencialet"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Për rezultate më të mira, përdor një mbrojtës ekrani që është i certifikuar nga \"Prodhuar për Google\". Me mbrojtës të tjerë ekrani, gjurma e gishtit e fëmijës tënd mund të mos funksionojë."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Shkyçja me orë"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Kur konfiguron \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\", telefoni yt do të kërkojë gjurmën tënde të gishtit kur mban maskë apo kur je në një zonë të errët.\n\nMund ta shkyçësh nëpërmjet orës kur fytyra ose gjurma e gishtit nuk njihet."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Mund ta shkyçësh nëpërmjet orës kur gjurma e gishtit ose fytyra nuk njihet."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Mund ta shkyçësh nëpërmjet orës kur fytyra ose gjurma e gishtit nuk njihet."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Kur konfiguron \"Shkyçjen me fytyrë\" dhe \"Shkyçjen me gjurmën e gishtit\", telefoni do të kërkojë gjurmën tënde të gishtit kur mban maskë apo kur je në një zonë të errët.\n\n\"Shkyçja me orë\" është një mënyrë tjetër praktike për të shkyçur telefonin, p.sh. kur i ke gishtat të lagur ose kur fytyra nuk njihet."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"\"Shkyçja me orë\" është një mënyrë tjetër praktike për të shkyçur telefonin, p.sh. kur gjurma jote e gishtit nuk njihet."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"\"Shkyçja me orë\" është një mënyrë tjetër praktike për të shkyçur telefonin, p.sh. kur fytyra jote nuk njihet."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Përdor gjurmën e gishtit ose orën"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Përdor fytyrën ose gjurmën e gishtit"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Përdor fytyrën, gjurmën e gishtit ose orën"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"\"Shkyçja me orë\" është një mënyrë tjetër praktike për të shkyçur këtë telefon, p.sh. kur i ke gishtat të lagur ose kur fytyra nuk njihet.\n\nMund të përdorësh orën tënde për ta shkyçur këtë telefon kur:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Jo tani"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Vazhdo"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Më shumë"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Si funksionon"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Ora jote duhet të jetë e shkyçur në kyçin e dorës dhe të jetë në afërsi me këtë telefon. Nuk do të jetë e nevojshme ta shkyçësh përsëri orën tënde kur është në kyçin e dorës."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kur ky telefon është i shkyçur, do të njoftohesh në orën tënde. Nëse është shkyçur aksidentalisht, trokit njoftimin për ta kyçur sërish telefonin."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Kontrolli është në duart e tua"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Mund ta heqësh orën tënde nga \"Shkyçja me orë\" në çdo kohë te \"Cilësimet\""</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Trokit një njoftim"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Rrëshqit shpejt lart në ekranin e kyçjes"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Zgjidh orën tënde"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Orët që ofrohen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Anulo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Konfirmo"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Je plotësisht gati!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Tani mund ta përdorësh orën për të shkyçur këtë telefon kur rrëshqet shpejt lart në ekranin e kyçjes ose kur troket një njoftim"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"U krye"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Shkyçja me orë"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Mund ta përdorësh orën për të shkyçur këtë telefon kur rrëshqet shpejt lart në ekranin e kyçjes ose kur troket një njoftim"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Për të përdorur \"Shkyçjen me orë\", ora jote duhet të jetë e shkyçur në kyçin e dorës, në afërsi dhe të jetë e lidhur me këtë telefon. Nëse lidhja ndërpritet, do të të duhet të shkyçësh telefonin para se të mund të përdorësh \"Shkyçjen me orë\".\n\nKi parasysh:\nMund të konfigurosh vetëm një orë njëkohësisht. Për të shtuar një orë tjetër, fillimisht hiq orën aktuale."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Siguria"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privatësia"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profili i punës"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Hapësira private"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Mbaji të kyçura dhe të fshehura aplikacionet e tua private"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Mbaji aplikacionet private në një hapësirë të veçuar që mund ta fshehësh ose kyçësh"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Kyçja e hapësirës private"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Hapësirën private mund ta shkyçësh në të njëjtën mënyrë që shkyç pajisjen tënde ose mund të zgjedhësh një kyçje tjetër"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Përdor kyçjen e ekranit të pajisjes"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Shkyçja me fytyrë dhe me gjurmën e gishtit"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Shkyçja me gjurmën e gishtit"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Shkyçja me fytyrë"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Trokit për ta konfiguruar"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"\"Shkyçja me gjurmën e gishtit\" për hapësirën private"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"\"Shkyçja me fytyrë\" për hapësirën private"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Mënyrat për ta shkyçur"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Njëlloj me kyçjen e ekranit të pajisjes"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Të zgjidhet një kyçje e re për hapësirën private?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Kyç automatikisht hapësirën private"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Mund ta kyçësh automatikisht hapësirën tënde private nëse nuk e ke përdorur pajisjen tënde për një periudhë kohore"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Sa herë që kyçet pajisja"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Pas 5 minutash pa aktivitet"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Asnjëherë"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Fshih kur është e kyçur"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Fshih hapësirën private kur është e kyçur"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Për të mos i lejuar të tjerët të dinë se ke një hapësirë private në pajisjen tënde, mund ta fshehësh atë nga lista jote e aplikacioneve"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Qasu te hapësira private kur është e fshehur"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Nga lista e apl. &gt; \"hapësira private\" te shiriti i kërkimit"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Trokit te pllakëza e hapësirës private"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Shkyç hapësirën tënde private"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Joaktive"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Aktive"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistemi"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Fshi hapësirën private"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Të fshihet hapësira private?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Hapësira jote private do të hiqet nga pajisja jote. Të gjitha aplikacionet dhe të dhënat private do të fshihen. Nuk mund ta zhbësh këtë veprim."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Llogaritë e mëposhtme do të hiqen nga hapësira jote private:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Fshi"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Hapësira private po fshihet…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Kjo do të zgjasë disa minuta"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Hapësira private u fshi"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Hapësira private nuk mund të fshihej"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Hapësira private u shkyç"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Cakto një kyçje ekrani"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Për të përdorur hapësirën private, cakto një kyçje ekrani në këtë pajisje"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Cakto kyçjen e ekranit"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Anulo"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Anulo"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Konfiguro"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Konfiguro një hapësirë private"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Mbaji aplikacionet private në një hapësirë të veçuar që mund ta fshehësh ose kyçësh"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Si funksionon"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Mund të qasesh te hapësira private nga fundi i listës së aplikacioneve"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Aplikacionet në hapësirën private janë të mbrojtura me një kyçje"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Njoftimet nga aplikacionet në hapësirën private janë të fshehura kur ajo është e kyçur"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Aplikacionet në hapësirën tënde private nuk do të shfaqen në menaxherin e lejeve, panelin e privatësisë dhe cilësimet e tjera kur hapësira jote private është e kyçur.\n\nHapësira jote private nuk mund të zhvendoset te një pajisje e re. Do të duhet të konfigurosh një hapësirë tjetër private nëse dëshiron ta përdorësh atë në një pajisje tjetër.\n\nÇdo person që e lidh pajisjen tënde me një kompjuter ose instalon aplikacione të dëmshme në pajisjen tënde mund të jetë në gjendje të qaset te hapësira jote private."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Hapësira private po konfigurohet…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Njoftimet nga aplikacionet e hapësirëa private janë të fshehura kur ajo është e kyçur"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Shkyç hapësirën private për të ndarë fotografitë ose skedarët"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Disa aplikacione janë instaluar tashmë në hapësirën tënde private"</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_lockscreen_title" msgid="6034864097861137509">"Të përdoret kyçja e ekranit për të shkyçur hapësirën private?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Hapësirën private mund ta shkyçësh në të njëjtën mënyrë që shkyç pajisjen tënde ose mund të zgjedhësh një kyçje tjetër"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Përdor kyçjen e ekranit"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Zgjidh një kyçje të re"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Plotësisht gati!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Për të gjetur hapësirën tënde private, shko te lista e aplikacioneve dhe më pas lëviz poshtë"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"U krye"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Lëviz poshtë për të gjetur hapësirën private"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Identifikohu"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Identifikohu në një llogari për ta përdorur me hapësirën tënde private"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Jo tani"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Vazhdo"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Zgjidh një kyçje për hapësirën tënde private"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Mund ta shkyçësh hapësirën private duke përdorur gjurmën e gishtit. Për siguri, ky opsion kërkon një kyçje rezervë."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Cakto një PIN për hapësirën private"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Cakto fjalëkalim për hapësirën private"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Cakto motiv për hapësirën private"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Mund të shtosh deri në <xliff:g id="COUNT">%d</xliff:g> gjurmë gishtash"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ke shtuar numrin maksimal të gjurmëve të gishtave"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Nuk mund të shtohen gjurmë të tjera të gishtave"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Motivi"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Kodi PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Fjalëkalimi"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Të fshihet kyçja e ekranit?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Të hiqen të gjitha llojet e shkyçjes së pajisjes?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Të hiqet mbrojtja e profilit?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Telefoni yt mbrohet nga një motiv në rast se humb ose vidhet."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Telefoni yt mbrohet nga një motiv në rast se humb ose vidhet.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Kjo fshin po ashtu modelin e gjurmës së gishtit të ruajtur në pajisjen tënde. Modeli yt i fytyrës do të fshihet gjithashtu përgjithmonë dhe në mënyrë të sigurt. Nuk do të mund të përdorësh fytyrën ose gjurmën e gishtit për vërtetimin në aplikacione."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Telefoni yt mbrohet nga një kod PIN në rast se humb ose vidhet."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Do të humbasësh të dhënat e ruajtura, si p.sh. kodin PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartat e konfiguruara për pagesë pa kontakt do të hiqen.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofolat dhe aplikacionet e tjera që kërkojnë shkyçjen e pajisjes mund të mos funksionojnë siç duhet."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Telefoni yt mbrohet nga një kod PIN në rast se humb ose vidhet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Kjo fshin po ashtu modelin e gjurmës së gishtit të ruajtur në pajisjen tënde. Nuk do të mund të përdorësh gjurmën e gishtit për vërtetimin në aplikacione."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Do të humbasësh të dhënat e ruajtura, si p.sh. kodin PIN dhe modelin e gjurmës së gishtit.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartat e konfiguruara për pagesë pa kontakt do të hiqen.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofolat dhe aplikacionet e tjera që kërkojnë shkyçjen e pajisjes mund të mos funksionojnë siç duhet."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Telefoni yt mbrohet nga një kod PIN në rast se humb ose vidhet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Modeli yt i fytyrës do të fshihet gjithashtu përgjithmonë dhe në mënyrë të sigurt. Nuk do të mund ta përdorësh fytyrën për vërtetimin në aplikacione."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Do të humbasësh të dhënat e ruajtura, si p.sh. kodin PIN dhe modelin e fytyrës.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartat e konfiguruara për pagesë pa kontakt do të hiqen.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofolat dhe aplikacionet e tjera që kërkojnë shkyçjen e pajisjes mund të mos funksionojnë siç duhet."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Telefoni yt mbrohet nga një kod PIN në rast se humb ose vidhet.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Kjo fshin modelin e gjurmës së gishtit të ruajtur në pajisjen tënde. Modeli yt i fytyrës do të fshihet gjithashtu përgjithmonë dhe në mënyrë të sigurt. Nuk do të mund të përdorësh fytyrën ose gjurmën e gishtit për vërtetimin në aplikacione."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Do të humbasësh të dhënat e ruajtura, si p.sh. kodin PIN, si dhe modelet e fytyrës dhe të gjurmës së gishtit.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kartat e konfiguruara për pagesë pa kontakt do të hiqen.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Portofolat dhe aplikacionet e tjera që kërkojnë shkyçjen e pajisjes mund të mos funksionojnë siç duhet."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Telefoni yt mbrohet nga një fjalëkalim në rast se humb ose vidhet."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Telefoni yt mbrohet nga një fjalëkalim në rast se humb ose vidhet.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth-i"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth-i"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Të çiftohet me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Shto një anëtar të ri te grupi ekzistues i koordinuar"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Konfirmo për të shtuar pjesën e dytë të pajisjes audio"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Kodi i çiftimit të Bluetooth-it"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Shkruaj kodin e çiftimit, pastaj shtyp \"Kthehu\" ose \"Hyr\""</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Kodi PIN përmban shkronja ose simbole"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Duhet të ketë 16 shifra"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Mund të duhet gjithashtu ta shkruash këtë kod PIN në pajisjen tjetër."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Mund të duhet gjithashtu ta shkruash këtë çelës kalimi në pajisjen tjetër."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Konfirmo për të çiftuar me grupin e koordinuar"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Konfirmo për të çiftuar me pajisjen audio"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Lejo qasjen te kontaktet dhe historiku i telefonatave"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Lejo gjithashtu qasjen te kontaktet dhe historiku i telefonatave"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Informacionet do të përdoren për njoftimet për telefonatat etj."</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Nuk mundi të lidhej me <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Pajisjet që ofrohen"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Lidh"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Shkëput"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Ҫifto dhe lidh"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kur Bluetooth-i është i aktivizuar, pajisja jote mund të komunikojë me pajisjet e tjera me Bluetooth në afërsi."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kur Bluetooth-i është i aktivizuar, pajisja jote mund të komunikojë me pajisjet e tjera me Bluetooth në afërsi"</string>
     <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 funksionet 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>
     <string name="device_details_title" msgid="1155622417516195481">"Detajet e pajisjes"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Lejo që ART të verifikojë kodin me bajte për aplikacionet e korrigjueshme"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Shfaq shpejtësinë e rifreskimit"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Shfaq shpejtësinë aktuale të rifreskimit të ekranit"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Shfaq raportin e HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Shfaq raportin aktual të HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Kërkohet shkyçja e pajisjes për NFC-në"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Dërgimi me rreze i Androidit"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Në modalitetin e aeroplanit"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Njofto për rrjetet publike"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Njofto kur ofrohet një rrjet publik me cilësi të lartë"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Lejo rrjetet WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP është një protokoll më i vjetër i sigurisë që është më pak i sigurt"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operatori celular nuk i lejon rrjetet WEP sepse ata janë më pak të sigurt"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Aktivizo automatikisht Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi do të aktivizohet përsëri në afërsi të rrjeteve të ruajtura me cilësi të lartë, si p.sh. rrjeti i shtëpisë"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Nuk ofrohet sepse vendndodhja është e çaktivizuar. Aktivizo "<annotation id="link">"vendndodhjen"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Skanimi i Wi-Fi lejon që aplikacionet dhe shërbimet 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."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivizo"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Skanimi i Wi‑Fi është aktivizuar"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ky rrjet përdor një protokoll më të vjetër të sigurisë që është më pak i sigurt"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> është bllokuar"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ky rrjet përdor një protokoll më të vjetër të sigurisë të quajtur WEP, i cili është më pak i sigurt. Për t\'u lidhur gjithsesi, mund të lejosh rrjetet WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operatori celular nuk të lejon që të lidhesh me këtë rrjet sepse ai përdor një protokoll më të vjetër të sigurisë që është më pak i sigurt"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Lejo WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Mbyll"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Opsionet e përparuara"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Opsionet e përparuara të listës me lëshim poshtë"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"zgjero"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Qëndro në Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Kurrë mos e trego përsëri"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Lidh"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi është i aktivizuar"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Lidhur me <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Po lidhet me <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Po lidhet…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Lidhja me rrjetin dështoi"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Rrjeti nuk është brenda rrezes"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Harro"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Modifiko"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Dështoi në harrimin e rrjetit"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Ruaj"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Dështoi në ruajtjen e rrjetit"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Anulo"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Të dhënat celulare"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Po karikohet"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Po karikohet"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Lidhja me zonën e qasjes për internet"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Fuqia e lidhjes"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Rrjetet e ruajtura"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Nuk është caktuar fjalëkalim"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Emri i zonës së qasjes për internet"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Fjalëkalimi i zonës së qasjes për internet"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Banda AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Çaktivizo automatikisht zonën e qasjes për internet"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kur nuk është lidhur asnjë pajisje"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Zgjero përputhshmërinë"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Shfaq balancimin e të bardhës"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Përdori aplikacionet edhe kur është i palosur"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Ngre automatikisht shpejtësinë e rifreskimit nga 60 në <xliff:g id="ID_1">%1$s</xliff:g> Hz për disa përmbajtje. Rrit përdorimin e baterisë."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Çaktivizo shpejtësinë e parazgjedhur të kuadrove për lojërat"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Çaktivizo kufizimin e shpejtësisë maksimale të kuadrove për lojërat në <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Rrit automatikisht shpejtësinë e rifreskimit deri në <xliff:g id="ID_1">%1$d</xliff:g> Hz për disa përmbajtje. Rrit përdorimin e baterisë."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Detyro shpejtësinë maksimale të rifreskimit"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Shpejtësia më e lartë e rifreskimit për përmirësimin e reagueshmërisë së prekjes dhe cilësisë së animacioneve. Rrit përdorimin e baterisë."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Vëmendja ndaj ekranit"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"\"Vëmendja ndaj ekranit\" përdor kamerën e përparme për të parë nëse dikush po shikon tek ekrani. Funksionon në pajisje dhe imazhet nuk ruhen apo dërgohen asnjëherë te Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Aktivizo vëmendjen ndaj ekranit"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Mbaje ekranin aktiv kur e shikon"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Koha më e gjatë e pritjes së ekranit do të përdorë më shumë bateri."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera është e kyçur"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kamera duhet të jetë e shkyçur për \"Zbulimin e fytyrës\""</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kamera duhet të jetë e shkyçur për \"Vëmendjen ndaj ekranit\""</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (foleja e kartës <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (foleja e kartës <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (kryesore)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Për ta shfaqur, zgjidh rrjetin e ruajtur"</string>
+    <string name="status_imei" msgid="5719752369250485007">"Numri IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"Numri IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MINUTA"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Versioni PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Niveli i baterisë"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Të përbashkëta"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Cilësimet e përbashkëta"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Shkëmbimi i mesazheve nëpërmjet satelitit"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN-të"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Redakto pikën e qasjes"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Shto pikën e qasjes"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Nuk është caktuar"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Nuk është caktuar"</string>
     <string name="apn_name" msgid="6677695784108157953">"Emri"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Rrjeti APN u aktivizua"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Rrjeti APN u çaktivizua"</string>
     <string name="bearer" msgid="3231443241639159358">"Bartësi"</string>
+    <string name="network_type" msgid="748590707422733595">"Lloji i rrjetit"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"I papërcaktuar"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Lloji i MVNO-së"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Vlera e MVNO-së"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Fshi APN-në"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Ruaj"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Anulo"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Hyrje dublikatë e APN-së."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Fusha Emri nuk mund të jetë bosh."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Rrjeti APN nuk mund të jetë bosh."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Fusha e MCC-së duhet të ketë 3 shifra."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Fusha e MNC-së duhet të ketë 2 ose 3 shifra."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operatori nuk lejon shtimin e APN-ve të llojit %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Fusha MMSC duhet të jetë e vlefshme."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Po restauron cilësimet e APN-së me parazgjedhje."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Rivendos të parazgjedhurën"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Rivendosja e cilësimeve të APN-së me parazgjedhje përfundoi."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Rivendos"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth dhe Wi‑Fi janë rivendosur"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Spastro eSIM-et"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Kjo nuk do të anulojë planet e shërbimit celular. Për të shkarkuar karta zëvendësuese SIM, kontakto me operatorin celular."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Kjo nuk do të anulojë planin tënd të shërbimit celular. Për të zëvendësuar kartën SIM, kontakto me operatorin tënd celular."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Rivendos cilësimet"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Të rivendosen të gjitha cilësimet e rrjetit? Ky veprim nuk mund të zhbëhet."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Të rivendosen të gjitha cilësimet e rrjetit dhe të spastrohen kartat eSIM? Nuk mund ta zhbësh këtë veprim."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Të rivendosen?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Rivendosja e rrjetit nuk është e disponueshme për këtë përdorues"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Cilësimet e rrjetit janë rivendosur"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Kartat SIM nuk mund të spastrohen"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Kartat eSIM nuk mund të spastrohen për shkak të një gabimi.\n\nRinise pajisjen dhe provo përsëri."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Kartat eSIM nuk mund të spastrohen"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Ndodhi një gabim dhe kartat e tua eSIM nuk u spastruan.\n\nRinis pajisjen dhe provo përsëri."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Spastro të gjitha të dhënat (rivendosja e fabrikës)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Spastro të gjitha të dhënat (rivendosja e fabrikës)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Muzika"</li>\n<li>"Fotografitë"</li>\n<li>"Të dhëna të tjera të përdoruesit"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"Kartat eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Kjo nuk do ta anulojë planin tënd të shërbimit celular."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Të gjitha informacionet e tua personale dhe aplikacionet e shkarkuara do të fshihen. Nuk mund ta zhbësh këtë veprim."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Të gjitha informacionet e tua personale, duke përfshirë aplikacionet e shkarkuara dhe kartat SIM, do të fshihen. Nuk mund ta zhbësh këtë veprim."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Të gjitha informacionet e tua personale, duke përfshirë aplikacionet e shkarkuara dhe kartat eSIM, do të fshihen. Nuk mund ta zhbësh këtë veprim."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Të spastrohen të gjitha të dhënat?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Rivendosja në gjendjen e fabrikës nuk ofrohet për këtë përdorues"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Po spastron"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Zona e qasjes së internetit, USB, Bluetooth, eternet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Interneti nuk ndahet me pajisje të tjera"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Joaktive"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Ndarja e internetit"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Mos përdor zonën e qasjes për Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Ndaje internetin vetëm me USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Ndaje internetin vetëm me Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Ndaje internetin vetëm me eternet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Ndaje internetin vetëm me USB dhe Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Ndaje internetin vetëm me USB dhe eternet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Ndaje internetin vetëm me Bluetooth dhe eternet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Ndaje internetin vetëm me USB, Bluetooth dhe eternet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Ndarje interneti përmes USB-së"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Ndarje interneti përmes Bluetooth-it"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ndarja e Ethernet-it"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Përdor zonën e qasjes dhe ndarjen e internetit për t\'u ofruar internet pajisjeve të tjera nëpërmjet lidhjes sate Wi-Fi ose të të dhënave celulare. Aplikacionet mund të krijojnë po ashtu një zonë qasjeje të internetit për të ndarë përmbajtje me pajisjet në afërsi."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Ndihma"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Rrjeti celular"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Plani celular"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Aplikacioni për SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Të ndryshohet aplikacioni i SMS-ve?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Të përdoret <xliff:g id="NEW_APP">%1$s</xliff:g> në vend të <xliff:g id="CURRENT_APP">%2$s</xliff:g> si aplikacioni për SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Të ndryshohet ndihmësi i Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Të përdoret <xliff:g id="NEW_APP">%1$s</xliff:g> në vend të <xliff:g id="CURRENT_APP">%2$s</xliff:g> për të menaxhuar lidhjet e rrjetit?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Të përdoret <xliff:g id="NEW_APP">%s</xliff:g> për të menaxhuar lidhjet e rrjetit?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Operatori i kartës SIM është i panjohur"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> nuk ka faqe të sigurt e të njohur"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Vendos kartën SIM dhe rinise"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Lidhu me internetin"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Kërkesat e vendndodhjeve të fundit"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Vend. për profilin e punës"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Lejet e vendndodhjes për aplikacionet"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Qasje e pastër"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontrollet"</string>
     <string name="force_stop" msgid="2681771622136916280">"Ndalo me forcë"</string>
+    <string name="archive" msgid="9074663845068632127">"Arkivo"</string>
+    <string name="restore" msgid="7622486640713967157">"Restauro"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Po restaurohet"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Po restaurohet."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Po restaurohet.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Po restaurohet..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Totali"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Madhësia e aplikacionit"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Aplikacioni i hapësirës ruajtëse të USB-së"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Madhësia e paketës nuk mund të llogaritej."</string>
     <string name="version_text" msgid="7628938665256107608">"versioni <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Zhvendos"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arkivimi dështoi"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"\"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" u arkivua"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Restaurimi dështoi"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"\"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>\" po restaurohet"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Një migrim tjetër është tashmë në vazhdim."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nuk ka hapësirë ruajtëse të mjaftueshme."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Aplikacioni nuk ekziston."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Ofrohet tastiera në ekran"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Menaxho tastierat në ekran"</string>
     <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="6922850403920596246">"Aktivizo \"Tastet e kërcimit\" për qasshmërinë për tastierën fizike"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Tastet e ngadalta"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Aktivizo \"Tastet e ngadalta\" për qasshmërinë e tastierës fizike"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Tastet e përhershme"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Aktivizo \"Tastet e përhershme\" për qasshmërinë për tastierën fizike"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Shpejtësia e treguesit"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Mëso gjestet e bllokut me prekje"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Shko tek ekrani bazë"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Rrëshqit lart me tre gishta kudo në bllokun tënd me prekje"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Kthehu prapa"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Rendit sipas kohës së përdorimit"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Rendit sipas herës së fundit të përdorimit"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Rendit sipas emrit të aplikacionit"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Përdorur për herë të fundit"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Përdorur për herë të fundit"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"asnjëherë"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Koha e përdorimit"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Qasshmëria"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Cilësimet e qasjes"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Zmadho me tre trokitje"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Zmadho me shkurtore"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Zmadho me shkurtore dhe tri trokitje"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Rreth \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Përdor butonin e qasshmërisë për të hapur"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Mbaj shtypur tastet e volumit për ta hapur"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Trokit tri herë në ekran për ta hapur"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Trokit dy herë me dy gishta në ekran për të hapur"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Përdor gjestin për të hapur"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Përdor gjestin e qasshmërisë"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Për ta përdorur këtë veçori, trokit te butoni i qasshmërisë <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> në fund të ekranit.\n\nPër të ndërruar mes veçorive, mbaj të shtypur butonin e qasshmërisë."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Për të përdorur këtë veçori, trokit te butoni i qasshmërisë në ekranin tënd."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Për ta përdorur këtë veçori, mbaj shtypur të dyja tastet e volumit."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Për të filluar dhe ndaluar zmadhimin, trokit tri herë diku në ekran."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Për të filluar dhe ndaluar zmadhimin, trokit dy herë me dy gishta diku në ekran."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Për ta përdorur këtë veçori, rrëshqit shpejt lart nga fundi i ekranit me 2 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 2 gishta dhe mbaje të shtypur."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Për ta përdorur këtë veçori, rrëshqit shpejt lart nga fundi i ekranit me 3 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 3 gishta dhe mbaje të shtypur."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Për të përdorur një veçori të qasshmërisë, rrëshqit shpejt lart nga fundi i ekranit me 2 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 2 gishta dhe mbaje të shtypur."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Për të përdorur një veçori të qasshmërisë, rrëshqit shpejt lart nga fundi i ekranit me 3 gishta.\n\nPër të ndërruar mes veçorive, rrëshqit shpejt lart me 3 gishta dhe mbaje të shtypur."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"E kuptova"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Cilësime: butoni i qasshmërisë"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Cilësimet e butonit"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Shkurtorja për <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Butoni i qasshmërisë"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Gjesti i qasshmërisë"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Mbaj shtypur tastet e volumit"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"mbaj shtypur 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"trokit dy herë me dy gishta në ekran"</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="6863958573135995927">"trokit tri herë mbi ekran"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Mëso më shumë rreth butonit dhe gjestit të qasshmërisë"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Përdorimi i butonit të qasshmërisë. Gjesti nuk ofrohet me navigimin me 3 butona."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Qasu me shpejtësi te veçoritë e qasshmërisë"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Për të filluar"</b>\n"1. Shko te cilësimet e qasshmërisë\n2. Zgjidh një veçori dhe trokit shkurtoren\n3. Zgjidh nëse dëshiron të përdorësh një buton ose gjest për të marrë qasje te kjo veçori"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Për të filluar"</b>\n"1. Shko te cilësimet e qasshmërisë\n2. Zgjidh një veçori dhe trokit shkurtoren\n3. Zgjidh butonin për të pasur qasje te veçoria"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Për të filluar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Shko te cilësimet e qasshmërisë&lt;br/&gt; {1,number,integer}. Zgjidh një veçori dhe trokit shkurtoren&lt;br/&gt; {2,number,integer}. Zgjidh nëse dëshiron të përdorësh një buton ose gjest për t\'u qasur te veçoria&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Për të filluar&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Shko te cilësimet e qasshmërisë&lt;br/&gt; {1,number,integer}. Zgjidh një veçori dhe trokit shkurtoren&lt;br/&gt; {2,number,integer}. Zgjidh butonin për t\'u qasur te veçoria&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Përdor butonin ose gjestin"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Vendndodhja"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Madhësia"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Butoni i energjisë mbyll telefonatën"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Kursor mausi i madh"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Bëje treguesin e miut më të dukshëm"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Bëji të gjitha aplikacionet të errëta"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Zbatohet për aplikacionet pa temën e tyre të errët. Disa aplikacione mund të kenë probleme me ekranin, si p.sh. ngjyra të anasjella."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Hiq animacionet"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Redukto lëvizjen në ekran"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Audioja mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Përdor dridhjen dhe prekjen"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Dridhja e alarmit"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Dridhja e medias"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Dridhja e tastierës"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Dridhja e ziles"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Dridhja e njoftimit"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Reagimi me prekje"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Ndalo"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Anulo"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Të ndalohet shërbimi \"<xliff:g id="SERVICE">%1$s</xliff:g>\"?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Trokitja te <xliff:g id="STOP">%1$s</xliff:g> do të ndalojë <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Çaktivizo"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Mbaj aktiv"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Të çaktivizohet <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Nuk është instaluar asnjë shërbim"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Nuk është zgjedhur asnjë shërbim"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Nuk është dhënë asnjë përshkrim."</string>
     <string name="settings_button" msgid="2195468788019730377">"Cilësimet"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ndjeshmëria ndaj dritës, fotofobia, tema e errët, migrena, dhimbje koke, modaliteti i leximit, modaliteti i natës, ul ndriçimin, pika e bardhë"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Lehtësia e përdorimit, lehtësia e qasjes, ndihma, ndihmëse"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"shikimi, dëgjimi, i verbër, i shurdhër, motorik, shkathtësi, ndihmëse, ndihmë, lehtësi përdorimi, lehtësi qasjeje, dorë, ndihmë"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Zmadhuesi i dritareve, zmadho, zmadhimi, shikim i dobët, zmadho, bëje më të madh"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Titrat, CC, Transkriptimi në çast, vështirësi në dëgjim, humbje e dëgjimit, CART, ligjërimi në tekst, nëntitull"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"kontrasti i ngjyrës"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"aftësitë motorike, miu"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"aparate dëgjimi, me vështirësi në dëgjim, humbje e dëgjimit, impiante kokleare, pajisje për amplifikimin e zërit, përpunues të zërit"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorik, mi, mi i jashtëm, mi me kokë, mi me përshtatje, karrige me rrota, levë kontrolli"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"aparate dëgjimi, vështirësi në dëgjim, humbje e dëgjimit, impiante kokleare, pajisje për amplifikimin e zërit, përpunues të zërit, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"vështirësi në dëgjim, humbje e dëgjimit, titrat, teletajp, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tri butona"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"shkathtësi, motorik, i moshuar, artrit, rsi, goditje në tru, dridhje, sklerozë multiple, paralizë cerebrale, dridhje, lëndim nga sforcim i përsëritur, dorë"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"vonesë, shkathtësi, i moshuar"</string>
     <string name="print_settings" msgid="8519810615863882491">"Printimi"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Joaktive"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 shërbim aktiv printimi}other{# shërbime aktive printimi}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> të mbetura"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> për të karikuar"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Koha para ekranit"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Koha në sfond"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Bateria në nivel të ulët"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Lejo që aplikacioni të ekzekutohet në sfond"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Të kufizohet aktiviteti në sfond?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Nëse e kufizon aktivitetin në sfond për një aplikacion, mund të ketë çrregullime në funksionimin e tij"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Duke qenë se ky aplikacion nuk është caktuar për të optimizuar baterinë, nuk mund ta kufizosh atë.\n\nPër të kufizuar aplikacionin, në fillim aktivizo optimizimin e baterisë."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Menaxho përdorimin e baterisë"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Lejo përdorimin në sfond"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivizo për përditësime në kohë reale; çaktivizo për të kursyer bateri"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Pa kufizim"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"I optimizuar"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"I kufizuar"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Shiko aplikacionet me përdorimin më të lartë"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Karikimi u optimizua për të mbrojtur baterinë tënde"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Për të ndihmuar në zgjatjen e jetëgjatësisë së baterisë sate, është optimizuar karikimi"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Karikimi u optimizua për të mbrojtur baterinë tënde"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Për të ndihmuar në zgjatjen e jetëgjatësisë së baterisë sate, karikimi është i optimizuar gjatë lidhjes me stacionin"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Karikimi u optimizua për të mbrojtur baterinë tënde"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Për të ndihmuar në zgjatjen e jetëgjatësisë së baterisë sate, karikimi është i optimizuar gjatë lidhjes me stacionin"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Po karikohet plotësisht"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Për të mbrojtur baterinë tënde, karikimi do të optimizohet herën tjetër kur tableti yt të jetë i lidhur me stacionin"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Mëso më shumë rreth vendosjes së karikimit në pauzë"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Vazhdo karikimin"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Përfshin aktivitetin me nivel të lartë të energjisë në sfond"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ky aplikacion do të mund ta përdorë baterinë në sfond. Bateria mund të mbarojë më shpejt nga sa pritet."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Hiq"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Anulo"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Karikoje plotësisht"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Problem me aksesorin e karikimit"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Kontrollo aksesorin e karikimit"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Mëso më shumë për karikimin e papërputhshëm"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Menaxheri i baterisë"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Menaxho automatikisht aplikacionet"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"që nga karikimi i fundit i plotë"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Aplikacionet e sistemit"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Aplikacionet e çinstaluara"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Të tjera"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Koha e vlerësuar e mbetur"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Deri në ngarkimin e plotë"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Në total: më pak se një minutë"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Në sfond: më pak se një minutë"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Koha para ekranit: më pak se një minutë"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Më pak se një minutë"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Në total: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Në sfond: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Koha para ekranit: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"tani"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Grafiku i përdorimit të baterisë"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Grafiku i përdorimit të baterisë për çdo ditë"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Grafiku i përdorimit të baterisë për çdo orë"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Përqindja e nivelit të baterisë nga <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> deri në <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Përdorimi i baterisë që nga karikimi i fundit i plotë"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Përdorimi i baterisë për <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Koha para ekranit që nga karikimi i fundit i plotë"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Sinjali i telefonimit të urgjencës"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Cakto sjelljen kur kryhet një telefonatë urgjence"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Rezervimi"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Aktiv"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Joaktiv"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Rezervo dhe restauro"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Të dhënat personale"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Rezervo të dhënat e mia"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Të dhënat celulare dhe Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sinkronizo automatikisht të dhënat personale"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sinkronizo automatikisht të dhënat e punës"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sinkronizo të dhënat private"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Ndrysho ciklin…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dita për rivendosjen e ciklit të përdorimit të të dhënave:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Nuk janë përdorur të dhëna gjatë kësaj periudhe."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Emri"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Lloji"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Adresa e serverit"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Enkriptimi PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Sekreti L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Identifikuesi IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Çelësi IPSec i parashkëmbyer"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certifikata e përdoruesit IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Certifikata CA e protokollit IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Certifikata e serverit IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Shfaq opsionet e përparuara"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Domenet e kërkimit të DNS-së"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Serverët DNS (p.sh. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Rrugët e transferimit (p.sh. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Emri i përdoruesit"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Fjalëkalimi"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Ruaj informacionet e llogarisë"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(nuk përdoret)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(mos e verifiko serverin)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(marrë nga serveri)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Ky lloj i VPN-së nuk mund të qëndrojë i lidhur gjatë gjithë kohës"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Rrjeti VPN gjithmonë aktiv mbështet adresat numerike të serverit"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Duhet të specifikohet një server DNS për rrjetin VPN gjthmonë aktiv"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Adresat e serverit të DNS-së duhet të jenë numerike për rrjetin VPN gjithmonë aktiv"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Informacionet e futura nuk e mbështesin rrjetin VPN gjithmonë aktiv"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Anulo"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Injoro"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blloko lidhjet pa rrjetin VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Të kërkohet lidhja e VPN-së?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Jo e sigurt. Përditësoje me një VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Nisja e VPN-së së pambështetur dështoi."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Zgjidh një profil VPN-je për të qëndruar gjithmonë i lidhur. Trafiku i rrjetit do të lejohet vetëm kur të lidhet me këtë VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Asnjë"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN-ja gjithnjë e aktivizuar kërkon një adresë IP-je për serverin dhe DNS-në."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Sinjalizimet AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Merr buletine rreth rrëmbimeve të fëmijëve"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Përsërit"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktivizo \"Menaxherin e telefonatave\""</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Lejo këtë shërbim të menaxhojë si kryhen telefonatat."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Menaxheri i telefonatave"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Sinjalizimet wireless të urgjencës"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Operatorët e rrjetit"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Emrat e pikës së qasjes"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Statusi i kartës SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Statusi i kartës SIM (foleja %1$d e SIM)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Kartat SIM u ndryshuan."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Kartat e tua SIM u ndryshuan"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Trokit për ta konfiguruar"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Pyet çdo herë"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Kërkohet përzgjedhja"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Aplikacionet së fundi, aplikacionet e parazgjedhura"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Qasja te njoftimet nuk ofrohet për aplikacionet në profilin e punës."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Fjalëkalimet dhe llogaritë"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Fjalëkalimet e ruajtura, plotësimi automatik, llogaritë e sinkronizuara"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Sugjerime për identifikimin dhe plotësimin automatik"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Apl. e parazgjedhura"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Aplikacione të klonuara"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Krijo një shembull të dytë të një aplikacioni në mënyrë që të mund të përdorësh dy llogari në të njëjtën kohë."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"portofoli"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"paguaj, trokit, pagesa"</string>
     <string name="keywords_backup" msgid="707735920706667685">"rezervim, rezervo"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"gjesti"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"fytyrë, shkyçje, autorizim, identifikim"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"fytyrë, shkyç, vërtetim, identifikim, gjurmë gishti, biometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, versioni prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"madhësia e tekstit, shkronja të mëdha, fonti i madh, teksti i madh, shikim i dobët, bëje tekstin më të madh, zmadhuesi i fontit, zmadhimi i fontit"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"shfaqja e ambientit gjithmonë aktive, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiketë, lexues"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tastierë, prekje, dridhje,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volum, dridhje, \"Mos shqetëso\""</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volumi i medias"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volumi i transmetimit"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Aktivizo tingujt"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Titra në çast"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Media me titra automatike"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Altoparlantët e telefonit"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Altoparlantët e tabletit"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Altoparlantët e pajisjes"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Kufje me tel"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Audioja nga media e përputhshme bëhet më përfshirëse"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Joaktiv"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Shfaq të gjithë përmbajtjen e njoftimit"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Shfaq përmbajtjet delikate vetëm pasi ta shkyçësh"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Mos shfaq asnjë njoftim"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Si dëshiron të shfaqet ekrani i kyçjes?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Çfarë dëshiron të shfaqë ekrani yt i kyçjes?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekrani i kyçjes"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Shfaq të gjitha përmbajtjet e njoftimeve të punës"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Fshih përmbajtjet delikate të punës"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Bisedat e fundit u hoqën"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Biseda u hoq"</string>
     <string name="clear" msgid="5092178335409471100">"Pastro"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Pastro: <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Bisedat me përparësi dhe të modifikuara do të shfaqen këtu"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Kur e shënon një bisedë si me përparësi, ose kur bën ndonjë ndryshim tjetër te bisedat, ato do të shfaqen këtu. \n\nPër të ndryshuar cilësimet e bisedës: \nRrëshqit shpejt poshtë nga kreu i ekranit për të hapur strehën me tërheqje poshtë dhe më pas prek dhe mbaj të shtypur një bisedë."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimizo"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Reduktimi i njoftimeve"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Zbato reduktimin për të gjitha njoftimet"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Ul gradualisht volumin e njoftimeve kur merr shumë njoftime të njëpasnjëshme nga i njëjti aplikacion"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Zbato reduktimin për bisedat"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Ul gradualisht volumin e njoftimeve kur merr shumë mesazhe nga e njëjta bisedë brenda një periudhe të shkurtër kohore"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Mos e përdor reduktimin e njoftimeve"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Mos e ul asnjëherë volumin e njoftimeve, pavarësisht sasisë së njoftimeve të njëpasnjëshme nga i njëjti aplikacion"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Lësho dridhje kur është i shkyçur"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Lësho dridhje vetëm kur ekrani është i shkyçur"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Zbato në profilet e punës"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Zbato cilësimet e reduktimit të njoftimeve nga profili yt personal tek ai i punës"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Shërbimet e ndihmësit VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Asnjë aplikacion i instaluar nuk ka kërkuar të ekzekutohet si shërbim ndihmësi VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Të lejohet qasja e shërbimit VR për <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Joaktiv"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Gozhdimi i aplikacionit"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Gozhdimi i aplikacionit të lejon ta mbash aplikacionin aktual në pamje derisa ta zhgozhdosh. Kjo veçori mund të përdoret, për shembull, për të lejuar një shok të besuar që të luajë një lojë specifike."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kur një aplikacion është i gozhduar, ai mund të hapë aplikacione të tjera dhe mund të ketë qasje tek të dhënat personale. \n\nPër të përdorur gozhdimin e aplikacionit: 	\n1. Aktivizo gozhdimin e aplikacionit 	\n2. Hap \"Përmbledhja\" 	\n3. Trokit ikonën e aplikacionit në krye të ekranit dhe më pas trokit \"Gozhdo\""</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kur një aplikacion është i gozhduar, ai mund të hapë aplikacione të tjera dhe mund të ketë qasje tek të dhënat personale. \n\nNëse do që ta ndash në mënyrë të sigurt pajisjen tënde me dikë, provo të përdorësh më mirë një përdorues vizitor. \n\nPër të përdorur gozhdimin e aplikacionit: 	\n1. Aktivizo gozhdimin e aplikacionit 	\n2. Hap \"Përmbledhja\" 	\n3. Trokit ikonën e aplikacionit në krye të ekranit dhe më pas trokit \"Gozhdo\""</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kur një aplikacion është i gozhduar, ai mund të hapë aplikacione të tjera dhe mund të ketë qasje te të dhënat personale. \n\nPër të përdorur gozhdimin e aplikacionit: 	\n{0,number,integer}. Aktivizo gozhdimin e aplikacionit 	\n{1,number,integer}. Hap \"Përmbledhjen\" 	\n{2,number,integer}. Trokit ikonën e aplikacionit në krye të ekranit dhe më pas trokit \"Gozhdo\""</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kur një aplikacion është i gozhduar, ai mund të hapë aplikacione të tjera dhe mund të ketë qasje te të dhënat personale. \n\nNëse do që ta ndash në mënyrë të sigurt pajisjen tënde me dikë, provo të përdorësh më mirë një përdorues vizitor. \n\nPër të përdorur gozhdimin e aplikacionit: 	\n{0,number,integer}. Aktivizo gozhdimin e aplikacionit 	\n{1,number,integer}. Hap \"Përmbledhjen\" 	\n{2,number,integer}. Trokit ikonën e aplikacionit në krye të ekranit dhe më pas trokit \"Gozhdo\""</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kur aplikacioni është i gozhduar: \n\n•		Të dhënat personale mund të jenë të qasshme \n		(si kontaktet dhe përmbajtja e email-eve) \n•		Aplikacioni i gozhduar mund të hapë aplikacione të tjera \n\nPërdore gozhdimin e aplikacionit vetëm me personat te të cilët ke besim."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Kërko motivin e shkyçjes para heqjes së gozhdimit"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Zhgozhdimi kërkon PIN-in"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Kërko fjalëkalim para heqjes nga gozhdimi"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Kyçe pajisjen kur heq gozhdimin"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Konfirmo fshirjen e kartës SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Konfirmo që dëshiron ta spastrosh kartën eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifiko që je ti përpara se të spastrosh një kartë eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Mbrojtja e përparuar beta e memories"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Mbrojtja e përparuar e memories"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Cilësimet e aplikacioneve të papërdorura"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Ndërprit aktivitetin nëse nuk përdoret"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Hiq lejet, fshi skedarët e përkohshëm dhe ndalo njoftimet"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Menaxho aplikacionin nëse nuk përdoret"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Hiq lejet, fshi skedarët e përkohshëm, ndalo njoftimet dhe arkivo aplikacionin"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Të gjitha apl."</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Aplikacionet e instaluara"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Aplikacionet e çastit"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"E lirë"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memoria e përdorur nga aplikacionet"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 aplikacion përdori memorien gjatë {time} të fundit}other{# aplikacione përdorën memorien gjatë {time} të fundit}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Aktivizo profilizimin e përdorimit të memories"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilizimi i përdorimit të memories kërkon burime shtesë të sistemit."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Profilizimi i memories u çaktivizua"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekuenca"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Përdorimi maksimal"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Nuk janë përdorur të dhëna"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Shfaq mbi aplikacionet e tjera"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Lejo shfaqjen mbi aplikacionet e tjera"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Lejoje këtë aplikacion të shfaqet në krye të aplikacioneve të tjera që po përdor. Ky aplikacion do të jetë në gjendje të shikojë se ku troket ose të ndryshojë se çfarë shfaqet në ekran."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Ndrysho daljen e medias"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Lejo që aplikacioni të ndërrojë daljen e medias"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Lejo që ky aplikacion të zgjedhë se cila pajisje e lidhur luan audion ose videon nga aplikacionet e tjera. Nëse lejohet, ky aplikacion mund të qaset te një listë e pajisjeve të disponueshme, si p.sh. kufjet dhe altoparlantët, dhe të zgjedhë se cila pajisje e daljes përdoret për të transmetuar audion ose videon."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Qasje te të gjithë skedarët"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Lejo qasjen për të menaxhuar të gjithë skedarët"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Lejo që ky aplikacion të lexojë, modifikojë dhe fshijë të gjithë skedarët në këtë pajisje ose në çdo volum hapësire ruajtjeje të lidhur. Nëse lejohet, aplikacioni mund të ketë qasje te skedarët pa dijeninë tënde të qartë."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Mund të ketë qasje te të gjithë skedarët"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Aplikacionet e aktivizuara me zë"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Lejo aktivizimin me zë"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Aktivizimi i zërit aktivizon aplikacionet e miratuara, pa përdorur duart, me anë të komandave zanore. Monitorimi i integruar me përshtatje siguron që të dhënat të qëndrojnë private, te dukshme vetëm për ty.\n\n"<a href="">"Më shumë rreth monitorimit të mbrojtur me përshtatje"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Njoftimet në ekranin e plotë"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Të lejohen njoftimet në ekranin e plotë nga ky aplikacion"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Lejo këtë aplikacion të shfaqë njoftime që zënë ekranin e plotë kur pajisja është e kyçur. Aplikacionet mund t’i përdorin këto për të vendosur në fokus alarmet, telefonatat hyrëse apo njoftimet e tjera urgjente."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Paralajmërimi i të dhënave <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Kufiri i të dhënave <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Paralajmërimi i të dhënave <xliff:g id="ID_1">^1</xliff:g> / Kufiri i të dhënave <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Llogaritja e të dhënave nga operatori mund të ndryshojë nga llogaritja e pajisjes"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Përjashton të dhënat që përdoren nga rrjetet e operatorëve celularë"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> të përdorura"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Cakto paralajm. për të dhënat"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"U përditësua <xliff:g id="ID_1">^2</xliff:g> më parë"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Sapo u përditësua nga <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"U përditësua pikërisht tani"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Shiko planin"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Shiko detajet"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Kursyesi i të dhënave"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Të dhënat e pakufizuara"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ka përdorur më shumë bateri se zakonisht ndërkohë që ka qenë në sfond"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ka përdorur më shumë bateri ndërkohë që ka qenë në plan të parë"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ka përdorur më shumë bateri se zakonisht ndërkohë që ka qenë në plan të parë"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomali në përdorimin e baterisë"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Përdorim i lartë i baterisë"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Përdorim i lartë i baterisë në sfond"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Përdorim i lartë i baterisë në plan të parë"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Pllakëzat e zhvilluesit të cilësimeve të shpejta"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Çaktivizo kohën e pritjes së autorizimit të ADB-së"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Çaktivizo revokimin automatik të autorizimeve të ADB-së për sistemet që nuk janë lidhur me sasinë e parazgjedhur të kohës (7 ditë) ose të konfiguruar nga përdoruesi (minimumi 1 ditë)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Gjurma e Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensorët joaktivë"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Cilësimet e profilit të punës"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Kërko për kontakte të direktorisë së punës në aplikacionet personale"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"navigimi i sistemit, navigimi me 2 butona, navigimi me 3 butona, navigimi me gjeste, rrëshqit shpejt"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Asistenti dixhital"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Rrëshqit shpejt për të aktivizuar asistentin"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Rrëshqit shpejt lart nga këndi i poshtëm për të aktivizuar aplikacionin e asistentit dixhital."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Rrëshqit shpejt lart nga këndi i poshtëm për të aktivizuar aplikacionin e asistentit dixhital"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Mbaj shtypur \"Kreun\" për \"Asistentin\""</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Shtyp dhe mbaj shtypur butonin \"Kreu\" për të thirrur aplikacionin e asistentit dixhital."</string>
     <string name="low_label" msgid="6525629096999711220">"E ulët"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Shërbimi i plotësimit automatik"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Shërbimi i parazgjedhur i plotësimit automatik"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Fjalëkalimet"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Fjalëkalimet, çelësat e kalimit dhe shërbimet e të dhënave"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Ofrues shtesë"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Shërbimi i preferuar"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Shërbimet shtesë"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# fjalëkalim}other{# fjalëkalime}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"automatikisht, plotëso, plotësimi automatik, fjalëkalim"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"të dhëna, çelës kalimi, fjalëkalim"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"automatik, plotëso, plotësimi automatik, të dhënat, çelësi i kalimit, fjalëkalimi"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Ndrysho"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Hap"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Nuk është zgjedhur asnjë"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Sigurohu që ke besim te ky aplikacion&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Plotësimi automatik i Google&gt;%1$s&lt;/xliff:g&gt; përdor atë që ndodhet në ekranin tënd për të përcaktuar se çfarë mund të plotësohet automatikisht."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Përdor &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; përdor ato që janë në ekranin tënd për të përcaktuar se çfarë mund të plotësohet automatikisht. Fjalëkalimet, çelësat e kalimit dhe informacionet e tjera të reja do të ruhen këtu nga tani e tutje."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Fjalëkalimet, çelësat e kalimit dhe shërbimet e të dhënave"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fjalëkalimet, çelësat e kalimit dhe informacionet e tjera të reja do të ruhen këtu nga tani e tutje. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; mund të përdorë ato që janë në ekranin tënd për të përcaktuar se çfarë mund të plotësohet automatikisht."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Shërbimi i preferuar për fjalëkalimet, çelësat e kalimit dhe plotësimin automatik"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Të çaktivizohet %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Të çaktivizohet shërbimi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Informacionet e ruajtura si fjalëkalimet, çelësat e kalimit, mënyrat e pagesës dhe informacione të tjera nuk do të plotësohen kur të identifikohesh. Për të përdorur informacionin tënd të ruajtur, zgjidh një fjalëkalim, çelës kalimi ose shërbim të dhënash."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Fjalëkalimet, çelësat e plotësimi auto."</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Të çaktivizohen të gjitha shërbimet?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fjalëkalimet, çelësat e kalimit dhe informacionet e tjera të ruajtura nuk do të ofrohen për plotësimin automatik kur të identifikohesh"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Të ndryshohet shërbimi i preferuar te &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Fjalëkalimet e reja, çelësat e kalimit dhe informacionet e tjera do të ruhen këtu nga tani e tutje. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; mund të përdorë ato që janë në ekranin tënd për të përcaktuar se çfarë mund të plotësohet automatikisht."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Të përdoret %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Çaktivizo"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Ndrysho"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Mund të kesh vetëm 5 shërbime aktive"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Çaktivizo të paktën 1 shërbim për të shtuar një tjetër"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s përdor atë që ke në ekranin për të përcaktuar se çfarë mund të plotësohet automatikisht."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Kufiri i fjalëkalimeve, çelësave të kalimit dhe shërbimeve të të dhënave"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Mund të kesh aktive deri në 5 fjalëkalime, çelësa kalimi dhe shërbime të dhënash në të njëjtën kohë. Çaktivizo një shërbim për të shtuar një tjetër."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Kufiri i fjalëkalimeve, çelësave të kalimit dhe shërbimeve të të dhënave"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Mund të kesh aktive deri në 5 fjalëkalime, çelësa kalimi dhe shërbime të dhënash në të njëjtën kohë. Çaktivizo një shërbim për të shtuar një tjetër."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Çaktivizo"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Plotësim automatik"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Niveli i identifikimit"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Ndryshimet e pajtueshmërisë së aplikacionit mund të modifikohen vetëm për aplikacionet e korrigjueshme. Instalo një aplikacion të korrigjueshëm dhe provo përsëri."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Varet nga një cilësim tjetër"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Llogaria"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d llogari"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Emri i pajisjes"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Informacionet bazë"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Informacione ligjore dhe rregullatore"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Lejo këtë aplikacion të hapet kur skanohet një etiketë NFC.\nNëse kjo leje është aktive, aplikacioni do të ofrohet si opsion sa herë që zbulohet një etiketë."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Luaj median te"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Luaj <xliff:g id="LABEL">%s</xliff:g> në"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audioja do të luhet te"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Kjo pajisje"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Nuk ofrohet gjatë telefonatave"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Prano telefonatën te"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Hiqi zërin"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Për ta aktivizuar, në fillim ndrysho \"Shtyp dhe mbaj shtypur butonin e energjisë\" te menyja e energjisë."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Detajet e rrjetit"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Emri i pajisjes sate është i dukshëm për aplikacionet në telefonin tënd. 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="devices_title" msgid="649715719278562515">"Pajisjet"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Zgjidh rrjetin"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"I shkëputur"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Emri"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Ngjyra (e përdorur nga aplikacionet e përputhshme)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Ruaj"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Përdor kartën SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Përdor këtë kartë SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Joaktive"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Për ta çaktivizuar këtë kartë SIM, hiqe kartën SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Trokit për të aktivizuar <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Spastro kartën SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Për ta çaktivizuar këtë kartë SIM, hiqe kartën SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Trokit për të aktivizuar kartën tënde SIM nga <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Spastro kartën eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Lloji i rrjetit të preferuar"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Ndrysho modalitetin e operimit të rrjetit"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Lloji i rrjetit të preferuar"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Kontakto me operatorin celular të rrjetit për çmimin."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Përdorimi i të dhënave të aplikacionit"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Regjim i pavlefshëm i rrjetit <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Shpërfille."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Shkëmbimi i mesazheve nëpërmjet satelitit"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Dërgo dhe merr mesazhe me tekst nëpërmjet satelitit. Përfshihet me llogarinë tënde."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Dërgo dhe merr mesazhe me tekst nëpërmjet satelitit. Nuk përfshihet me llogarinë tënde."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Shkëmbimi i mesazheve nëpërmjet satelitit"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Rreth shkëmbimit të mesazheve nëpërmjet satelitit"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Mund të dërgosh dhe të marrësh mesazhe me tekst nëpërmjet satelitit si pjesë e një llogarie të kualifikueshme të <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Plani yt i <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Shkëmbimi i mesazheve nëpërmjet satelitit përfshihet me llogarinë tënde"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Shkëmbimi i mesazheve nëpërmjet satelitit nuk përfshihet me llogarinë tënde"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Shto shkëmbimin e mesazheve nëpërmjet satelitit"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Si funksionon"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kur nuk ke një rrjet celular"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefoni yt do të lidhet automatikisht me një satelit. Për lidhjen më të mirë, qëndro në pamje të pastër të qiellit."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Pasi telefoni yt të lidhet me një satelit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Mund t\'i dërgosh mesazh me tekst kujtdo, duke përfshirë shërbimet e urgjencës. Telefoni yt do të rilidhet me një rrjet celular kur disponohet."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Shkëmbimi i mesazheve nëpërmjet satelitit mund të kërkojë më shumë kohë dhe ofrohet vetëm në disa zona. Moti dhe disa struktura të caktuara mund të ndikojnë në lidhjen tënde satelitore. Kryerja e telefonatës nëpërmjet satelitit nuk ofrohet.\n\nMund të duhet pak kohë që ndryshimet në llogarinë tënde të shfaqen te \"Cilësimet\". Kontakto me <xliff:g id="CARRIER_NAME">%1$s</xliff:g> për detaje."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Më shumë rreth shkëmbimit të mesazheve nëpërmjet satelitit"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Emrat e pikës së qasjes"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Nuk ofrohet kur është e lidhur me <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Do të kalosh te <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Dëshiron të kalosh te përdorimi i kartës SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Të përdoret <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Vetëm një kartë SIM mund të jetë aktive në të njëjtën kohë.\n\nKalimi te <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nuk do ta anulojë shërbimin e <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Vetëm 1 kartë eSIM mund të jetë aktive në të njëjtën kohë.\n\nKalimi te <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nuk do ta anulojë shërbimin e <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Vetëm një kartë SIM mund të jetë aktive në të njëjtën kohë.\n\nKalimi nuk do ta anulojë shërbimin e <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Vetëm 1 kartë SIM mund të jetë aktive në të njëjtën kohë.\n\nKalimi në <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nuk do ta anulojë shërbimin e <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Vetëm 1 kartë eSIM mund të jetë aktive në të njëjtën kohë.\n\nKalimi në <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> nuk do ta anulojë shërbimin e <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Vetëm 1 kartë SIM mund të jetë aktive në të njëjtën kohë.\n\nKalimi nuk do ta anulojë shërbimin e <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Mund të përdorësh 2 karta SIM në të njëjtën kohë. Për të përdorur <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, çaktivizo një kartë tjetër SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Kalo te <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Çaktivizo <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Çaktivizimi i kartës SIM nuk do ta anulojë shërbimin"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Po lidhet me rrjetin…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Po kalohet te <xliff:g id="CARRIER_NAME">%1$s</xliff:g> për telefonatat dhe mesazhet…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operatori nuk mund të ndërrohet"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Operatori nuk mund të ndërrohet për shkak të një gabimi."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Karta jote SIM po aktivizohet…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Po kalon te <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Kartat SIM nuk mund të ndërrohen"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Ndodhi një gabim. Kartat SIM nuk mund të ndërrohen."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Të çaktivizohet <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Të çaktivizohet karta SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Po çaktivizohet karta SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operatori celular nuk mund të çaktivizohet"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Ndodhi një gabim dhe operatori celular nuk mund të çaktivizohet."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Karta SIM nuk mund të çaktivizohet"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Ndodhi një gabim dhe karta jote SIM nuk mund të çaktivizohej."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Dëshiron të përdorësh 2 karta SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Kjo pajisje mund të ketë 2 karta SIM aktive në të njëjtën kohë. Që të vazhdosh të përdorësh vetëm 1 kartë SIM, trokit te \"Jo, faleminderit\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Të riniset pajisja?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Jo, faleminderit"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Anulo"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Ndërro"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Çaktivizo"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Karta SIM nuk mund të aktivizohet"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Provo të aktivizosh kartën SIM përsëri. Nëse problemi vazhdon, rinise pajisjen."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Konfiguro kartën SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Cakto preferencat e tua për rrjetin celular për të përdorur disa karta SIM në këtë pajisje"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Etiketo kartat e tua SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Këto etiketa do t\'i shikosh kur të bësh telefonata, të dërgosh mesazhe me tekst dhe të përdorësh të dhënat, si dhe te \"Cilësimet\""</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Etiketa e kartës SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiketa"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Zgjidh kartën SIM për përdorim"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Mund të përdorësh 2 karta SIM në të njëjtën kohë"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Cakto kartat parësore SIM"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Zgjidh se cilat karta SIM do të përdorësh si parazgjedhje për telefonatat, mesazhet me tekst dhe të dhënat"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Kartat parësore SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Telefonatat"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mesazhet me tekst"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Ndërrimi automatik për të dhënat"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Përdor të dhënat nga cilado kartë SIM në varësi të mbulimit dhe disponueshmërisë"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Vetëm për të dhënat"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Konfiguro"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Para"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> po aktivizohet…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Rrjeti celular"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Numri i telefonit"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Etiketa e ngjyra e kartës SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Aktivizimi i rrjetit"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Ndërrimi i operatorit celular"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> është aktiv"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Karta jote SIM nga <xliff:g id="CARRIER_NAME">%1$s</xliff:g> është aktive"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Trokit për të përditësuar cilësimet e kartës SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Kaloi te <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"U kalua te një operator tjetër celular"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Rrjeti yt celular ka ndryshuar"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Konfiguro kartën tjetër SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Zgjidh kartën tënde aktive SIM ose përdor 2 karta SIM njëkohësisht"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Zgjidh një numër për ta përdorur"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 numër ofrohet në këtë pajisje, por vetëm një mund të përdoret në të njëjtën kohë}=2{2 numra ofrohen në këtë pajisje, por vetëm një mund të përdoret në të njëjtën kohë}other{# numra ofrohen në këtë pajisje, por vetëm një mund të përdoret në të njëjtën kohë}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Po aktivizohet<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Nuk mund të aktivizohej në këtë moment"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Zgjidh një kartë SIM për ta përdorur"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 kartë SIM ofrohet në këtë pajisje, por vetëm një mund të përdoret në të njëjtën kohë}=2{2 karta SIM ofrohen në këtë pajisje, por vetëm një mund të përdoret në të njëjtën kohë}other{# karta SIM ofrohen në këtë pajisje, por vetëm një mund të përdoret në të njëjtën kohë}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Po aktivizohet<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Kjo kartë SIM nuk mund të aktivizohej për momentin"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Të përdoret <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> do të përdoret për të dhënat celulare, telefonatat dhe mesazhet SMS"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Nuk ka karta SIM aktive"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Për të përdorur të dhënat celulare, veçoritë e telefonatave dhe mesazhet SMS më vonë, shko te cilësimet e tua të rrjetit"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Të spastrohet kjo kartë eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Spastrimi i kësaj karte SIM e heq shërbimin e <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> nga kjo pajisje.\n\nShërbimi për <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nuk do të anulohet."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Kjo heq shërbimin e <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> nga kjo pajisje, por plani yt i <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> nuk do të anulohet."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Spastro"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Karta SIM po spastrohet…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Karta SIM nuk mund të spastrohet"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Kjo kartë SIM nuk mund të spastrohet për shkak të një gabimi.\n\nRinise pajisjen dhe provo përsëri."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Karta eSIM po spastrohet…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Karta eSIM nuk mund të spastrohet"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Ndodhi një gabim dhe kjo kartë eSIM nuk u spastrua.\n\nRinis pajisjen dhe provo përsëri."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Lidhu me pajisjen"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Aplikacioni <xliff:g id="APPNAME">%1$s</xliff:g> dëshiron të përdorë një rrjet të përkohshëm Wi-Fi për t\'u lidhur me pajisjen tënde"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Nuk u gjet asnjë pajisje. Sigurohu që pajisjet të jenë të ndezura dhe të gatshme për t\'u lidhur."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Telefonata urgjence"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Telefonatat e urgjencës me \"Telefonata me Wi‑Fi\" nuk mbështeten nga operatori yt celular.\nPajisja kalon automatikisht në një rrjet celular për të kryer një telefonatë urgjence.\nTelefonatat e urgjencës janë të mundshme vetëm në zonat me mbulim celular."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Përdor Wi‑Fi për telefonatat për të përmirësuar cilësinë"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Opsioni rezervë i telefonatave"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Nëse <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> nuk ofrohet ose është në roaming, përdor kartën SIM të të dhënave celulare për telefonata me <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"opsioni rezervë i telefonatave"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Mesazh MMS në ardhje"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Mesazhi MMS nuk mund të dërgohet"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Trokit për të lejuar mesazhet MMS në <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> kur të dhënat celulare janë të çaktivizuara"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Informacioni i politikës sate të punës"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Cilësimet menaxhohen nga administratori yt i TI-së"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Rindiz me madhësinë e faqeve 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Rindize pajisjen duke përdorur bërthamën e përputhshme me madhësinë e faqeve 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Të rindizet me bërthamën e përputhshme me faqet 16 KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"PARALAJMËRIM: Disa aplikacione mund të mos jenë në përputhje me këtë modalitet. Pajisja do të rindizet pas konfirmimit."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Të rindizet me bërthamën e përputhshme me faqet 4 KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Pajisja do të rindizet pas konfirmimit."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Përditësimi i bërthamës në bërthamën e përputhshme me faqet 16 KB dështoi"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Ndryshimi po zbatohet"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Administruesi i raportit të defekteve në kod"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Përcakton se cili aplikacion administron shkurtoren e \"Raportit të defekteve në kod\" në pajisjen tënde."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Lejo aplikacionet të cilat mund të shfaqen mbi aplikacione të tjera të mbivendosen mbi ekranet e \"Cilësimeve\""</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Lejo modemin imitues"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Lejo këtë pajisje të ekzekutojë shërbimin e modemit imitues për testimin e instrumenteve. Mos e lejo këtë gjatë përdorimit normal të telefonit"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Çaktivizo mbrojtjet e ndarjes së ekranit"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Çaktivizon mbrojtjet për njoftimet dhe aplikacionin që zbatohen për sistemin gjatë ndarjes së ekranit"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Gozhdo luajtësin e medias"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Për të rifilluar shpejt luajtjen, luajtësi i medias qëndron i hapur te \"Cilësimet e shpejta\""</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Shfaq media në ekranin e kyçjes"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Për të rifilluar shpejt luajtjen, luajtësi i medias qëndron i hapur në ekranin e kyçjes"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Shfaq rekomandimet për mediat"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Shfaq rekomandimet e \"Asistentit\" për median"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Bazuar në aktivitetin tënd"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Fshih luajtësin"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Shfaq luajtësin"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Lejo shtesat e softuerit të kamerës"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Aktivizon implementimin e parazgjedhur të softuerit për veçoritë e përparuara të kamerës, si p.sh. videografia \"Pa shikuar\"."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth-i do të aktivizohet"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Interneti"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Kartat SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Kartat eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktive"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Joaktive"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Aktive"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Joaktive"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Parazgjedhja për <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"telefonatat"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Audioja nga media e përputhshme bëhet më përfshirëse"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Monitorimi i lëvizjes së kokës"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Audioja ndryshon ndërsa ti lëviz kokën për të tingëlluar më e natyrshme"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinkronizimi i lejeve"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Jepi pajisjes <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> të njëjtat leje të aplikacionit që ke lejuar në <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sinkronizo lejet nga telefoni"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Jepi orës të njëjtat leje të aplikacionit që ke lejuar në këtë telefon"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Lloji i pajisjes audio"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"E panjohur"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Altoparlant"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Mesatar"</string>
     <string name="contrast_high" msgid="3988567609694797696">"I lartë"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ky aplikacion mund të hapet vetëm në 1 dritare"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Aktive"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Joaktive"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Joaktive"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Çaktivizuar"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Aktivizuar"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Çaktivizuar"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Aktivizuar"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Çaktivizuar"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Kthen ekranet e ndriçuara në të errëta dhe ekranet e errëta në të ndriçuara"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zmadho në ekran"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Çaktivizuar"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Çaktivizuar"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Po skanon për aplikacione mashtruese"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrollo aktivitetin e aplikacioneve për mashtrime"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Përdor skanimin për aplikacionet mashtruese"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Përdor skanimin për aplikacionet mashtruese për punë"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Fjalëkalimi është konfiguruar tani"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Shfaq treguesin teksa qëndron pezull"</string>
 </resources>
diff --git a/res/values-sr/arrays.xml b/res/values-sr/arrays.xml
index 8b074fd..4ecb26d 100644
--- a/res/values-sr/arrays.xml
+++ b/res/values-sr/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Доступно"</item>
     <item msgid="6096962300722555553">"Изван опсега"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Онемогућено"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast и Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Користи подразумевано системско подешавање: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"После 1 минута"</item>
     <item msgid="1574040255478150028">"После 5 минута"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-sr/strings.xml b/res/values-sr/strings.xml
index 33b68b3..6f08935 100644
--- a/res/values-sr/strings.xml
+++ b/res/values-sr/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Постали сте програмер!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Нема потребе, већ сте програмер."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Прво омогућите опције за програмере."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Само корисници са администраторским правима могу да приступе подешавањима за програмере."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Систем"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Ради"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не ради"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Предњи екран се укључује када затворите уређај"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Само игре, видеи и друго"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Предњи екран се укључује за апликације које онемогућавају да екран буде неактиван"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Превуците нагоре да бисте наставили"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Затворите телефон и превуците нагоре на предњем екрану да бисте и даље корисили апликацију или сачекајте неколико секунди да се екран закључа"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Никад"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Предњи екран се закључава када затворите уређај"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Користи аутоматско ротирање"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Сродно"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Мелодија звона и аларми"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Звук током позива"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Медији"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Обавештења и други системски звуци"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Звуци медија и система"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Обавештења"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Аудио излаз подразумевано одређују појединачне апликације"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Неименовани Bluetooth уређај"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Претражује се"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Откажи"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Онемогући Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Онемогућава функцију Bluetooth LE audio ако уређај подржава могућности LE audio хардвера."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio режим"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"LE Audio прекидач у детаљима о уређају"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Омогући Bluetooth LE Audio листу дозвола"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Омогућава функцију Bluetooth LE Audio листу дозвола."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Заобиђи Bluetooth LE Audio листу дозвољених"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Подразумевано користи LE Audio чак и ако није потврђено да LE Audio периферни уређај задовољава критеријуме листе дозвољених."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Медијски уређаји"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Уређаји за позивање"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Други уређаји"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Сачувани уређаји"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Повезано са налогом"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Претходно коришћено са налогом"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth ће се укључити ради упаривања"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Подешавања повезивања"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Претходно повезани"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth је укључен"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Прикажи све"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Прикажи све"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Писаљка"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Притисак на дугме са задње стране"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (пословни профил)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Пишите у пољима за текст"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Игнориши сва притискања дугмета помоћу писаљке"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Писаљка"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Дељење звука"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Дели звук"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Позиви и аларми"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Повежите се са аудио стримом помоћу QR кода"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Нема аудио стримова у близини."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Датум и време"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Прокси"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Обриши"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Желите да додате %s у жељене језике?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Тиме се апликације и веб-сајтови обавештавају да вам је тај језик жељени."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Подешавања уређаја и регионална подешавања ће се променити."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Промени"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Није доступно: %s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"субота"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ако апликација не подржава регионална подешавања, користиће подразумевана подешавања локалитета."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Сазнајте више о подешавањима језика."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Додатна подешавања"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Жељени род за обраћање"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Подесите род у ком желите да вам се обраћа"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Да би начин обраћања био персонализован, апликације могу да вам се обраћају у роду који изаберете"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Није наведено"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Женски род"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Мушки род"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Неутрално"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Желите ли да уклоните изабрани језик?}one{Желите ли да уклоните изабране језике?}few{Желите ли да уклоните изабране језике?}other{Желите ли да уклоните изабране језике?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текст ће бити приказан на неком другом језику."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Није могуће уклонити све језике"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Локација"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Користи локацију"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Искључена"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Укључено – # апликација има приступ локацији}one{Укључено – # апликација има приступ локацији}few{Укључено – # апликације имају приступ локацији}other{Укључено – # апликација има приступ локацији}}"</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_location_off" msgid="8568995909147566720">"Приступ локацији је искључен за апликације и услуге. Локација уређаја може и даље да се шаље екипама хитних служби када позовете број за хитне случајеве или пошаљете SMS на њега."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Сазнајте више о подешавањима локације."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Сазнајте више о подешавањима локације"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"За промену приступа локацији: Подешавања &gt; Безбедност и приватност &gt; Контроле приватности"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Налози"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Безбедност"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифровање и акредитиви"</string>
@@ -280,7 +306,7 @@
     <string name="security_settings_face_enroll_education_title_accessibility" msgid="3701874093226957891">"Подесите откључавање лицем"</string>
     <string name="security_settings_face_enroll_education_title_unlock_disabled" msgid="8810954233979716906">"Потврдите идентитет лицем"</string>
     <string name="security_settings_face_enroll_education_message" msgid="4308030157487176799"></string>
-    <string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"Започните"</string>
+    <string name="security_settings_face_enroll_education_start" msgid="8830924400907195590">"Започни"</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_message" msgid="2965952386172202665">"Ако је откључавање лицем са функцијом приступачности искључено, неки кораци за подешавање можда неће исправно радити са TalkBack-ом."</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_negative" msgid="7872647360361245461">"Назад"</string>
     <string name="security_settings_face_enroll_education_accessibility_dialog_positive" msgid="3148077647572203458">"Наставите подешавање"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Да бисте имали најбоље резултате, користите заштиту за екран са сертификатом Направљено за Google. Отисак прста детета можда неће радити са другим заштитама за екран."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Откључавање сатом"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Кад подесите откључавање лицем и откључавање отиском прста, телефон ће вам тражити отисак прста кад носите маску или се налазите на неком мрачном месту.\n\nАко није могуће препознати лице или отисак прста, можете да га откључате сатом."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Ако отисак прста не може да се препозна, можете да откључате уређај сатом."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Ако лице не може да се препозна, можете да откључате уређај сатом."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Кад подесите откључавање лицем и откључавање отиском прста, телефон ће вам тражити отисак прста кад носите маску или се налазите на неком мрачном месту.\n\nОткључавање сатом је још један погодан начин за откључавање телефона, на пример, када су вам прсти мокри или се лице не препознаје."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Откључавање сатом је још један погодан начин за откључавање телефона, на пример, када отисак прста није препознат."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Откључавање сатом је још један погодан начин за откључавање телефона, на пример, када вам се лице не препознаје."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Користите отисак прста или сат за"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Користите лице или сат за"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Користите лице, отисак прста или сат за"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Откључавање сатом је још један погодан начин за откључавање овог телефона, на пример, када су вам прсти мокри или се лице не препознаје.\n\nМожете да користите сат да бисте откључали овај телефон када:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Не сада"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Настави"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Још"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Принцип рада"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Сат мора да буде откључан, на зглобу и у домашају овог телефона. Сат нећете морати да откључавате поново док вам је на зглобу."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Добићете обавештење на сату када се овај телефон откључа. Ако се откључао када то нисте желели, додирните обавештење да бисте га поново закључали."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Ти имаш контролу"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Сат можете да уклоните из откључавања сатом у било ком тренутку у подешавањима"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Додирните обавештење"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Превуците нагоре на закључаном екрану"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Одаберите сат"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Доступни сатови"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Откажи"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Потврди"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Спремни сте!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Сада можете да користите сат да бисте откључали овај телефон када превучете нагоре на закључаном екрану или додирнете обавештење"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Готово"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Откључавање сатом"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Можете да користите сат да бисте откључали овај телефон када превучете нагоре на закључаном екрану или додирнете обавештење"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Да бисте користили откључавање сатом, сат мора да буде откључан, на зглобу, у домашају и повезан са овим телефоном. Ако се веза прекине, мораћете да откључате телефон да бисте могли да користите откључавање сатом.\n\nИмајте на уму:\nУ једном наврату можете да подесите само један сат. Да бисте додали други сат, прво уклоните актуелни сат."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Откључавање лицем и отиском прста за посао"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Треба да подесите"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Безбедност"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Приватност"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Пословни профил"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Приватни простор"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Нека приватне апликације буду закључане и сакривене"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Чувајте приватне апликације у засебном простору који можете да сакријете или закључате"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Закључавање приватног простора"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Приватни простор можете да откључавате исто као што откључавате уређај или да одаберете другачији тип откључавања"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Користи закључавање екрана уређаја"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Откључавање лицем и отиском прста"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Откључавање отиском прста"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Откључавање лицем"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Додирните да бисте подесили"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Откључавање отиском прста за приватни простор"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Откључавање лицем за приватни простор"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Начини за откључавање"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Исто као закључавање екрана уређаја"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Одабраћете ново закључавање за приватни простор?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Аутоматски закључајте приватан простор"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Можете аутоматски да закључате приватан простор ако уређај нисте користили неко време"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Сваки пут кад се уређај закључа"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"После 5 минута неактивности"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Никад"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Сакриј кад је закључан"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Сакриј приватни простор кад је закључан"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Приватни простор можете да сакријете на листи апликација како други не би знали да га имате на уређају"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Приступајте приватном простору кад је сакривен"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"На листи апл. унесите „приватни простор“ у траку за претрагу"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Додирните плочицу Приватни простор"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Откључајте приватни простор"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Искључено"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Укључeно"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Систем"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Избриши приватни простор"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Желите да избришете приватни простор?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Приватни простор ће бити уклоњен са уређаја. Све приватне апликације и подаци ће бити избрисани. Не можете да опозовете ову радњу."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Следећи налози ће бити уклоњени из приватног простора:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Избриши"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Приватни простор се брише…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Потрајаће неколико тренутака"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Приватни простор је избрисан"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Брисање приватног простора није успело"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Приватни простор је откључан"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Подесите закључавање екрана"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Да бисте користили приватни простор, подесите закључавање екрана на овом уређају"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Подеси закључавање екрана"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Откажи"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Откажи"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Подеси"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Подесите приватни простор"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Чувајте приватне апликације у засебном простору који можете да сакријете или закључате"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Принцип рада"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Приватном простору можете да приступите са дна листе апликација"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Апликације у приватном простору су заштићене закључавањем"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Обавештења из апликација у приватном простору су скривена кад је он закључан"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Кад је приватни простор закључан, апликације у њему се неће приказивати у менаџеру дозвола, на контролној табли за приватност ни у другим подешавањима.\n\nПриватни простор не можете да преместите на нови уређај. Морате да подесите други приватни простор ако желите да га користите на другом уређају.\n\nСвако ко ваш уређај повеже са рачунаром или на њега инсталира штетне апликације моћи ће да приступи вашем приватном простору."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Подешава се приватни простор…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Обавештења из апликација у приватном простору су скривена кад је он закључан"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Откључајте приватни простор да бисте делили слике или фајлове"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Неке апликације су већ инсталиране у приватном простору"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Подешавање приватног простора није успело"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Пробај поново"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Откључати приватни простор откључавањем екрана?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Приватни простор можете да откључавате исто као што откључавате уређај или да одаберете другачији тип откључавања"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Користи откључавање екрана"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Одабери нови тип откључавања"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Готово!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Да бисте пронашли приватни простор, отворите листу апликација и скролујте надоле"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Скролујте надоле да бисте пронашли приватни простор"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Пријави ме"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Пријавите се на налог који ћете користити са приватним простором"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Не сада"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Настави"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Одаберите тип откључавања за приватни простор"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Приватни простор можете да откључате помоћу отиска прста. Ова опција захтева резервни тип откључавања из безбедносних разлога."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Подесите PIN за приватни простор"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Подесите лозинку за приватни простор"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Подесите образац за приватни простор"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Можете да их додате до <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Додали сте максималан број отисака прстију"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Не можете да додате још отисака прстију"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Шаблон"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Лозинка"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Желите да избришете откључавање екрана?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Желите да уклоните све типове закључавања уређаја?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Желите ли да уклоните заштиту профила?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Шаблон штити телефон ако га изгубите или га неко украде"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Шаблон штити телефон ако га изгубите или га неко украде.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Тиме се брише модел отиска прста који је сачуван на уређају. Модел лица ће се такође трајно и безбедно избрисати. Нећете моћи да потврђујете идентитет лицем или отиском прста у апликацијама."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN штити телефон ако га изгубите или га неко украде"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Изгубићете сачуване податке као што је PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картице које сте подесили за бесконтактно плаћање ће бити уклоњене.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Новчаници и друге апликације које захтевају откључавање уређаја можда неће радити правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN штити телефон ако га изгубите или га неко украде.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Тиме се брише и модел отиска прста који је сачуван на уређају. Нећете моћи да потврђујете идентитет отиском прста у апликацијама."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Изгубићете сачуване податке као што су PIN и модел отиска прста.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картице које сте подесили за бесконтактно плаћање ће бити уклоњене.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Новчаници и друге апликације које захтевају откључавање уређаја можда неће радити правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN штити телефон ако га изгубите или га неко украде.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модел лица ће се такође трајно и безбедно избрисати. Нећете моћи да потврђујете идентитет лицем у апликацијама."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Изгубићете сачуване податке као што су PIN и модел лица.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картице које сте подесили за бесконтактно плаћање ће бити уклоњене.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Новчаници и друге апликације које захтевају откључавање уређаја можда неће радити правилно."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN штити телефон ако га изгубите или га неко украде.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Тиме се брише модел отиска прста који је сачуван на уређају. Модел лица ће се такође трајно и безбедно избрисати. Нећете моћи да потврђујете идентитет лицем или отиском прста у апликацијама."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Изгубићете сачуване податке као што су PIN, модел лица и модел отиска прста.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картице које сте подесили за бесконтактно плаћање ће бити уклоњене.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Новчаници и друге апликације које захтевају откључавање уређаја можда неће радити правилно."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Лозинка штити телефон ако га изгубите или га неко украде"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Лозинка штити телефон ако га изгубите или га неко украде.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Желите да упарите са <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Додајте новог члана у постојећи координисани скуп"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Потврдите да бисте додали други део аудио уређаја"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Кôд за упаривање са Bluetooth уређајем"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Унесите кôд за упаривање, па притисните Return или Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN садржи слова или симболе"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Мора да садржи 16 цифара"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Можда ће бити потребно да унесете овај PIN и на другом уређају."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Можда ће бити потребно да унесете овај приступни кôд и на другом уређају."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Потврдите ради упаривања са координисаним скупом"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Потврдите ради упаривања са аудио уређајем"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Дозволи приступ контактима и историји позива"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Дозволи и приступ контактима и историји позива"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Информације ће се користити за обавештења о позивима и друго"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Није могуће повезати се са уређајем <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Доступни уређаји"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Повежи"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Прекини везу"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Упари и повежи"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Када је Bluetooth укључен, уређај може да комуницира са другим Bluetooth уређајима у близини.\n\nРади бољег доживљаја уређаја, апликације и услуге и даље могу да траже уређаје у близини у било ком тренутку, чак и када је Bluetooth искључен. Ово може да се користи, на пример, за побољшање функција и услуга заснованих на локацији. То можете да промените у подешавањима Bluetooth скенирања."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Промени"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Детаљи о уређају"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволи да ART потврди бинарни кôд апликација из којих могу да се отклоне грешке"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Прикажи учесталост освежавања"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Приказује актуелну учесталост освежавања екрана"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Прикажи HDR или SDR размеру"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Приказује актуелну HDR или SDR размеру"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Тражи да се откључа уређај за коришћење NFC-а"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"У Режиму рада у авиону"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Обавести ме о јавним мрежама"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Обавештава вас кад год је доступна јавна мрежа високог квалитета"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Дозволи WEP мреже"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP је старији безбедносни протокол који је мање сигуран"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Мобилни оператер не дозвољава WEP мреже јер су мање безбедне"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Аутоматски укључи Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"WiFi ће се поново укључити у  близини сачуваних мрежа високог квалитета, као што је кућна мрежа"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Није доступно јер је локација искључена. Укључите "<annotation id="link">"локацију"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"WiFi скенирање омогућава апликацијама и услугама да траже WiFi мреже у било ком тренутку, чак и када је WiFi искључен. Ово, на пример, може да се користи за побољшање функција и услуга заснованих на локацији."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Укључи"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi скенирање је укључено"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Ова мрежа користи старији безбедносни протокол који је мање сигуран"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Мрежа <xliff:g id="NAME">%1$s</xliff:g> је блокирана"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Мрежа користи старији безбедносни протокол звани WEP који је мање сигуран. Да бисте се ипак повезали, дозволите WEP мреже."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Мобилни оператер не дозвољава да се повежете са овом мрежом јер она користи старији безбедносни протокол који је мање сигуран"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Дозволи WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Затвори"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Напредне опције"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Падајућа листа са напредним опцијама"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"проширите"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Остани на Wi‑Fi-ју"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Не приказуј поново"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Повежи"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"WiFi је укључен"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Повезано је на мрежу <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Повезујете се на <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Повезује се…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Повезивање са мрежом није успело"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Мрежа није у домету"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Заборави"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Измени"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Брисање мреже није успело"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Сачувај"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Чување мреже није успело"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Откажи"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"WiFi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобилни подаци"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Етернет"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Пуњење"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Пуњење"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Хотспот веза"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Јачина везе"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Сачуване мреже"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Нисте подесили лозинку"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Назив хотспота"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Лозинка хотспота"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Опсег приступне тачке"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Аутоматски искључи хотспот"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Када ниједан уређај није повезан"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Повећај компатибилност"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс беле екрана"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Настави са коришћењем апл. по затварању"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Течан приказ"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Аутоматски подиже учесталост освежавања са 60 на <xliff:g id="ID_1">%1$s</xliff:g> Hz за одређени садржај. Повећава потрошњу батерије."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Онемогући подраз. брз. кадрова"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Онемогућите ограничавање максималне брзине кадрова за игре на <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Течни приказ"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Аутоматски подиже учесталост освежавања до <xliff:g id="ID_1">%1$d</xliff:g> Hz за одређени садржај. Повећава потрошњу батерије."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Наметни максималну учесталост освежавања"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Највећа учесталост освежавања за побољшан одзив на додир и квалитет анимације. Повећава потрошњу батерије."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Пажња екрана"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Пажња екрана користи предњу камеру да би утврдила да ли неко гледа у екран. Ради на уређају, а слике се никада не чувају нити шаљу Google-у."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Укључите пажњу екрана"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Спречите искључивање екрана док га гледате"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Дуже време за гашење екрана троши више батерије."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камера је закључана"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Камера мора да буде откључана ради препознавања лица"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Камера мора да буде откључана ради пажње екрана"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (отвор за SIM картицу <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (отвор за SIM картицу <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (примарни)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Да бисте видели, одаберите сачувану мрежу"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL верзија"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Ниво батерије"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Заједничко"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Заједничка подешавања"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Сателитска размена порука"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Називи приступних тачака"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Измена приступне тачке"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Додајте приступну тачку"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Није подешено"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Није подешено"</string>
     <string name="apn_name" msgid="6677695784108157953">"Назив"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Назив приступне тачке је омогућен"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Назив приступне тачке је онемогућен"</string>
     <string name="bearer" msgid="3231443241639159358">"Носилац"</string>
+    <string name="network_type" msgid="748590707422733595">"Тип мреже"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Није наведено"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Тип MVNO-а"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Вредност MVNO-а"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Избриши назив приступне тачке"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Сачувај"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Откажи"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Дуплиран унос назива приступне тачке."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Поље Назив не сме да буде празно."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Поље Назив приступне тачке не сме да буде празно."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Поље MЦК мора да садржи 3 цифре."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC поље мора да садржи 2 или 3 цифре."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Мобилни оператер не дозвољава називе приступних тачака типа %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Поље за MMSC мора да има важећу вредност."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Враћање подразумеваних подешавања назива приступне тачке."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Ресетуј на подразумевано"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Поновно постављање подразумеваних подешавања назива приступне тачке је завршено."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Ресетуј"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth и WiFi су ресетовани"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Обриши eSIM-ове"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Овим не отказујете ниједан тарифни пакет. Да бисте преузели нове SIM картице, обратите се мобилном оператеру."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Тиме нећете отказати мобилни тарифни пакет. Да бисте добили заменски SIM, обратите се мобилном оператеру."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ресетуј подешавања"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Желите ли да ресетујете сва подешавања мреже? Ова радња не може да се опозове."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Желите ли да ресетујете сва подешавања мреже и обришете eSIM-ове? Не можете да опозовете ову радњу."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Желите да ресетујете?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Ресетовање мреже није доступно за овог корисника"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Подешавања мреже су ресетована"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Брисање SIM картица није успело"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM-ови не могу да се обришу због грешке.\n\nРестартујте уређај и пробајте поново."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Брисање eSIM картица није успело"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Дошло је до грешке и eSIM картице нису избрисане.\n\nРестартујте уређај и пробајте поново."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Обриши све податке (фабричка подешавања)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Обриши све податке (фабричка подешавања)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музику"</li>\n<li>"слике"</li>\n<li>"друге податке корисника"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-ови"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"На тај начин нећете отказати мобилни тарифни пакет."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Избрисаћете све личне податке и преузете апликације. Ова радња не може да се опозове."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Сви лични подаци, укључујући преузете апликације и SIM картице, биће избрисани. Ова радња не може да се опозове."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Избрисаће се сви лични подаци, укључујући преузете апликације и eSIM картице. Ова радња не може да се опозове."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Желите да обришете све податке?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Ресетовање на фабричка подешавања није доступно за овог корисника"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Брише се"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Хотспот, USB, Bluetooth, етернет"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Интернет се не дели са другим уређајима"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Искључено"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Привезивање"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Немој да користиш Wi‑Fi хотспот"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Дели интернет само преко USB-а"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Дели интернет само преко Bluetooth-а"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Дели интернет само преко етернета"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Дели интернет само преко USB-а и Bluetooth-а"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Дели интернет само преко USB-а и етернета"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Дели интернет само преко Bluetooth-а и етернета"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Дели интернет само преко USB-а, Bluetooth-а и етернета"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB привезивање"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth привезивање"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Привезивање етернета"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Користите хотспот и привезивање да бисте омогућили интернет на другим уређајима помоћу WiFi везе или везе за пренос података преко мобилног оператера. Апликације могу и да праве хотспотове за дељење садржаја са уређајима у близини."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Помоћ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобилна мрежа"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Тарифни пакет за мобилни уређај"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Апликација за SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Желите ли да промените апликацију за SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Желите ли да користите <xliff:g id="NEW_APP">%1$s</xliff:g> уместо <xliff:g id="CURRENT_APP">%2$s</xliff:g> као апликацију за SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Желите да промените Wi‑Fi помоћник?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Желите ли да користите апликацију <xliff:g id="NEW_APP">%1$s</xliff:g> уместо апликације <xliff:g id="CURRENT_APP">%2$s</xliff:g> за управљање мрежним везама?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Желите ли да користите апликацију <xliff:g id="NEW_APP">%s</xliff:g> за управљање мрежним везама?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Непознати SIM оператер"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> нема познат веб-сајт за доделу"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Убаците SIM картицу и рестартујте"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Повежите се са интернетом"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Недавни захтеви за локацију"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Локација за пословни профил"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Дозволе за локацију апликације"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Обриши приступ"</string>
     <string name="controls_label" msgid="8671492254263626383">"Контроле"</string>
     <string name="force_stop" msgid="2681771622136916280">"Принудно заустави"</string>
+    <string name="archive" msgid="9074663845068632127">"Архивирај"</string>
+    <string name="restore" msgid="7622486640713967157">"Врати"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Враћа се"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Враћа се."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Враћа се.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Враћа се…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Укупно"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Величина апликације"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Апликација USB меморије"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Није могуће израчунати величину пакета."</string>
     <string name="version_text" msgid="7628938665256107608">"верзија <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Премести"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Архивирање није успело"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Архивирано: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Враћање није успело"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Враћа се: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Други пренос је већ у току."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Нема довољно простора у меморији."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Апликација не постоји."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Доступна тастатура на екрану"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Управљајте тастатурама на екрану"</string>
     <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="6922850403920596246">"Омогућите Дужи одзив тастера за физичку приступачност тастатуре"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Спори тастери"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Омогућите споре тастере за физичку приступачност тастатуре"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Лепљиви тастери"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Омогућите Лепљиве тастере за физичку приступачност тастатуре"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Додирните доњи десни угао тачпеда за више опција"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Брзина показивача"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Научите покрете за тачпед"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Иди на почетни екран"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Превуците нагоре са три прста било где на тачпеду"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Назад"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Сортирај по времену коришћења"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Сортирај по посл. коришћењу"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Сортирај по називу апликације"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Последњи пут коришћено"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Последњи пут коришћено"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"никад"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Време коришћења"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Приступачност"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Подешавања приступачности"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Увећање помоћу троструког додира"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Увећавајте помоћу пречице"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Увећавајте помоћу пречице и троструког додира"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"О услузи <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Отварајте помоћу дугмета за приступачност"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Задржите тастере за јачину звука да бисте отворили"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Трипут додирните екран да бисте отворили"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Двапут додирните екран помоћу два прста да бисте отворили"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Отварајте помоћу покрета"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Користите покрет за приступачност"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Да бисте користили ову функцију, додирните дугме Приступачност <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> у дну екрана.\n\nДа бисте прелазили са једне функције на другу, додирните и задржите дугме Приступачност."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Да бисте користили ову функцију, додирните дугме Приступачност на екрану."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Да бисте користили ову функцију, притисните и задржите оба тастера за јачину звука."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Да бисте покренули и зауставили увећање, трипут додирните било где на екрану."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Да бисте покренули и зауставили увећање, двапут додирните било где на екрану помоћу два прста."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Да бисте користили ову функцију, превуците нагоре од дна екрана помоћу 2 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 2 прста и задржите."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Да бисте користили ову функцију, превуците нагоре од дна екрана помоћу 3 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 3 прста и задржите."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Да бисте користили функцију приступачности, превуците нагоре од дна екрана помоћу 2 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 2 прста и задржите."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Да бисте користили функцију приступачности, превуците нагоре од дна екрана помоћу 3 прста.\n\nДа бисте прелазили са једне функције на другу, превуците нагоре помоћу 3 прста и задржите."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Важи"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Подешавања дугм. Приступачност"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Подешавања дугмета"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Пречица за: <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Дугме Приступачност"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Покрет за приступачност"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Задржите тастере за јачину звука"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"задржите тастере за јачину звука"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Притисните и задржите оба тастера за јачину звука"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двапут додирните екран помоћу два прста"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"двапут додирните екран помоћу два прста"</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="6863958573135995927">"додирните екран трипут"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Брзо додирните екран {0,number,integer} пута. Ова пречица може да успори уређај"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Сазнајте више о дугмету и покрету Приступачност"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Коришћење дугмета Приступачност. Покрет није доступан уз навигацију помоћу 3 дугмета."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Брзо приступајте функцијама приступачности"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Да бисте започели"</b>\n"1. Идите у подешавања приступачности\n2. Изаберите функцију и додирните пречицу\n3. Одаберите да ли желите да користите дугме или покрет за приступ тој функцији"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Да бисте започели"</b>\n"1. Идите у подешавања приступачности\n2. Изаберите функцију и додирните пречицу\n3. Одаберите дугме које ћете користити за приступ тој функцији"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Да бисте започели&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Идите у подешавања приступачности&lt;br/&gt; {1,number,integer}. Изаберите функцију и додирните пречицу shortcut&lt;br/&gt; {2,number,integer}. Одаберите да ли желите да користите дугме или покрет да бисте приступили функцији&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Да бисте започели&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Идите у подешавања приступачности&lt;br/&gt; {1,number,integer}. Изаберите функцију и додирните пречицу shortcut&lt;br/&gt; {2,number,integer}. Одаберите дугме које ћете користити за приступ тој функцији&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Користите дугме или покрет"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Локација"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Величина"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Дугме за укључивање прекида позив"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Велики показивач миша"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Омогућите да показивач миша буде уочљивији"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Нека све апликације буду тамне"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Примењује се на апликације без тамне теме. Неке можда имају проблеме са приказом, нпр. обрнуте боје."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Уклони анимације"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Смањите померања на екрану"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Моно звук"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Користи вибрирање и хаптику"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Вибрирање аларма"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Вибрирање медија"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Вибрирање тастатуре"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вибрирање звона"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вибрирање обавештења"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Тактилни одзив"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Заустави"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Откажи"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Желите ли да зауставите <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ако додирнете <xliff:g id="STOP">%1$s</xliff:g>, зауставићете услугу <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Искључи"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Настави"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Желите да искључите услугу <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ниједна услуга није инсталирана"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ниједна услуга није изабрана"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Није наведен опис."</string>
     <string name="settings_button" msgid="2195468788019730377">"Подешавања"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"осетљивост на светлост, фотофобија, тамна тема, мигрена, главобоља, режим читања, ноћни режим, смањивање осветљености, бела тачка"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"једноставност коришћења, лакши приступ, помоћ, помоћно"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"вид, слух, слепи, глуви, моторика, спретност, помоћно, помоћ, једноставно коришћење, једноставни приступ, рука, помоћ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"увеличавање прозора, зумирање, увећање, слабовидост, увеличавање, повећати"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"титл, титлови, CC, транскрипција уживо, оштећење слуха, губитак слуха, CART, претварање говора у текст, титловање"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"контраст боја"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"моторика, миш"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"слушни апарати, са оштећењем слуха, губитак слуха, кохлеарни импланти, уређаји за појачавање звука, процесори звука"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"моторика, миш, спољни миш, миш за главу, адаптивни миш, инвалидска колица, џојстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"слушни апарати, са оштећењем слуха, губитак слуха, кохлеарни импланти, уређаји за појачавање звука, процесори звука, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"оштећење слуха, губитак слуха, титл, телепринтер, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"три дугмета"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"спретност, моторика, старије особе, артритис, учестала трауматска истегнућа зглоба, мождани удар, тремор, мултипла склероза, церебрална парализа, дрхтавица, повреда изазвана понављајућим покретима, рука"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"одлагање, спретност, старија особа"</string>
     <string name="print_settings" msgid="8519810615863882491">"Штампање"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Искључено"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 услуга штампања је укључена}one{# услуга штампања је укључена}few{# услуге штампања су укључене}other{# услуга штампања је укључено}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Још <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Пуни се још <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Време на екрану"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Време у позадини"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Низак ниво батерије"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Дозволите апликацији да се покреће у позадини"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Желите ли да ограничите активности у позадини?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ако ограничите активности апликације у позадини, можда ће се понашати неочекивано."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Апл. није подешена за оптимизацију батерије, па не можете да је ограничите. \n\nЗа огр. апл. укључите оптимизацију батерије."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Управљајте потрошњом батерије"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дозволи коришћење у позадини"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Омогућите за ажурирања у реалном времену, онемогућите да бисте уштедели батерију"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Неограничено"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимизовано"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Ограничено"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Погледајте апликације са највећом потрошњом батерије"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Пуњење је оптимизовано да би се заштитила батерија"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Пуњење је оптимизовано да би се продужио век трајања батерије"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Пуњење је оптимизовано да би се заштитила батерија"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Да би се продужио век трајања батерије, пуњење се оптимизује док је уређај на базној станици"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Пуњење је оптимизовано да би се заштитила батерија"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Да би се продужио век трајања батерије, пуњење се оптимизује док је уређај на базној станици"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Потпуно пуњење"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Да би се заштитила батерија, пуњење ће се оптимизовати следећи пут када таблет буде на базној станици"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Сазнајте више о томе зашто је пуњење паузирано"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Настави са пуњењем"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Укључује активности у позадини са великом потрошњом"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ова апликација ће моћи да користи батерију у позадини. Батерија може да се испразни раније него што је очекивано."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Уклони"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Откажи"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Пуни до краја"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Проблем са додатним прибором за пуњење"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Проверите додатну опрему за пуњење"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Сазнајте више о некомпатибилном пуњењу"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Менаџер батерије"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Управљајте апликацијама аутоматски"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"од последњег потпуног пуњења"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системске апликације"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Деинсталиране апликације"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Друго"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Процењено преостало време"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"До потпуног пуњења"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Укупно: мање од минут"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Позадина: мање од минут"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Време испред екрана: мање од минута"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Мање од минута"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Укупно: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Позадина: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Време испред екрана: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"сада"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Графикон потрошње батерије"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Графикон дневне потрошње батерије"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Графикон потрошње батерије по сатима"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Ниво напуњености батерије од <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> до <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Потрошња батерије од последњег потпуног пуњења"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Потрошња батерије за <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Време испред екрана од последњег потпуног пуњења"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал за хитне позиве"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Подешавање понашања када се успоставља хитан позив"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервна копија"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Укључено"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Искључено"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Резервна копија и ресетовање"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Лични подаци"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Прављење резервних копија података"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобилни подаци и WiFi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Аутом. синхрон. личне податке"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Аутом. синхр. податке за посао"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Синхронизуј приватне податке"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Промена циклуса..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Дан у месецу када се поново поставља циклус потрошње података:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"У овом периоду апликације нису користиле податке."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Назив"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Адреса сервера"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP шифровање (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Тајни L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec идентификатор"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec унапред дељени кључ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec сертификат корисника"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA сертификат"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec сертификат сервера"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Прикажи напредне опције"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS домени за претрагу"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS сервери (нпр. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Руте за прослеђивање (нпр. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Корисничко име"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Лозинка"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Сачувај информације о налогу"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(не користи се)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не верификуј сервер)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(примљено са сервера)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Овај тип VPN-а не може увек да остане повезан"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Увек укључени VPN подржава само нумеричке адресе сервера"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"DNS сервер мора да се одреди за увек укључени VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Адресе DNS сервера морају да буду нумеричке за увек укључени VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Унете информације не подржавају увек укључени VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Откажи"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Одбаци"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Блокирај везе без VPN-а"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Треба вам VPN веза?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Није безбедно. Ажурирајте на IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Покретање неподржаног VPN-а није успело."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Изаберите VPN профил са којим ћете увек бити повезани. Мрежни садржај ће бити дозвољен само када сте повезани са овим VPN-ом."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ниједан"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Стално укључен VPN захтева IP адресу за сервер и DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER обавештења"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Пријем објава о киднаповању деце"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Понављање"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Омогући Менаџер позива"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Омогућите овој услузи да управља начином на који се упућују позиви."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Менаџер позива"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Бежична упозорења о хитним случајевима"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Мрежни оператери"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Називи приступних тачака"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM картице"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус SIM картице (отвор за SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-ови су промењени."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-ови су се променили"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Додирните да бисте подесили"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Питај сваки пут"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Потребно је да изаберете нешто"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Недавне апликације, подразумеване апликације"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Приступ обавештењима није доступан за апликације на радном профилу."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Лозинке и налози"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Сачуване лозинке, аутоматско попуњавање, синхронизовани налози"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Предлози за пријављивање и аутоматско попуњавање"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Подразумеване апликације"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Клониране апликације"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Направите другу инстанцу апликације да бисте истовремено могли да користите два налога."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"новчаник"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"платите, додирните, плаћања"</string>
     <string name="keywords_backup" msgid="707735920706667685">"резервна копија, правити резервну копију"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"покрет"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"лице, откључавање, потврда идентитета, пријављивање"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"лице, откључавање, ауторизација, пријављивање, отисак прста, биометрија"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, мин, верзија prl-a, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"величина текста, велика слова, велик фонт, велик текст, слабовидост, повећање текста, увећавање фонта, повећање фонта"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"звек укључен амбијентални приказ, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, ознака, читач"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"тастатура, хаптика, вибрација,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Јачина звука, вибрација, Не узнемиравај"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Јачина звука медија"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Јачина звука за пребацивање"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Звукови при укључивању"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Титл уживо"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Аутоматски титл за медије"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Звучници телефона"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Звучници таблета"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Звучници уређаја"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Жичане слушалице"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Звук компатибилних медија постаје реалистичнији"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Искључено"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Прикажи сав садржај обавештења"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Прикажи осетљив садржај само када је откључан"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Не приказуј уопште обавештења"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Како желите да се приказује садржај на закључаном екрану?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Шта желите да се приказује на закључаном екрану?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Закључан екран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Приказуј сав садржај обавештења о пословном профилу"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Сакриј осетљив садржај пословног профила"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Недавне конверзације су уклоњене"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Конверзација је уклоњена"</string>
     <string name="clear" msgid="5092178335409471100">"Обриши"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Обриши <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Приоритетне и измењене конверзације се приказују овде"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Када означите конверзацију као приоритетну или обавите друге промене у конверзацијама, приказиваће се овде. \n\nДа бисте променили подешавања конверзација: \nПревуците надоле од врха екрана да бисте отворили клизни панел, па додирните и задржите конверзацију."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Умањи"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Мировање за обавештења"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Примени мировање на сва обавештења"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Постепено смањује јачину звука обавештења када добијете много узастопних обавештења из исте апликације"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Примени мировање на све конверзације"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Постепено смањује јачину звука обавештења када добијете много порука из истог ћаскања у кратком периоду"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Не користи мировање за обавештења"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Никада не смањује јачину звука обавештења, без обзира на број узастопних порука из исте апликације"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Вибрирај када је екран откључан"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Вибрира само када је екран откључан"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Примени на пословне профиле"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Примењује подешавања мировања за обавештења са личног профила на пословни профил"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Услуге помагача за виртуелну реалност"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Ниједна инсталирана апликација није захтевала да се покрене као услуга помагача за виртуелну реалност."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Дозвољавате приступ услузи виртуелне реалности за <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Искључено"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Качење апликација"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Качење апликација вам омогућава да задржите приказ актуелне апликације док је не откачите. Помоћу ове функције можете, на пример, да дозволите поузданом пријатељу да игра одређену игру."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Када је апликација закачена, може да отвара друге апликације и лични подаци могу да буду доступни. \n\nДа бисте користили качење апликација: 	\n1. Укључите качење апликација 	\n2. Отворите Преглед 	\n3. Додирните икону апликације у врху екрана, па додирните Закачи"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Када је апликација закачена, може да отвара друге апликације и лични подаци могу да буду доступни. \n\nАко желите да безбедно делите уређај са неким, боље користите профил госта. \n\nДа бисте користили качење апликација: 	\n1. Укључите качење апликација 	\n2. Отворите Преглед 	\n3. Додирните икону апликације у врху екрана, па додирните Закачи"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Када је апликација закачена, може да отвара друге апликације и лични подаци могу да буду доступни. \n\nДа бисте користили качење апликација: 	\n{0,number,integer}. Укључите качење апликација 	\n{1,number,integer}. Отворите Преглед 	\n{2,number,integer}. Додирните икону апликације у врху екрана, па додирните Закачи"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Када је апликација закачена, може да отвара друге апликације и лични подаци могу да буду доступни. \n\nАко желите да безбедно делите уређај са неким, боље користите профил госта. \n\nДа бисте користили качење апликација: 	\n{0,number,integer}. Укључите качење апликација 	\n{1,number,integer}. Отворите Преглед 	\n{2,number,integer}. Додирните икону апликације у врху екрана, па додирните Закачи"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Када је апликација закачена: \n\n•	 Могу да буду доступни лични подаци \n		(на пример, контакти и садржај имејлова) \n•	 Закачена апликација може да отвара друге апликације \n\nКористите качење апликација само са људима којима верујете."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Тражи шаблон за откључавање пре откачињања"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Тражи PIN пре откачињања"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Тражи лозинку пре откачињања"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Закључај уређај пре откачињања"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Потврда брисања SIM картице"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Потврдите да желите да обришете eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Потврдите да сте то ви пре брисања eSIM-а"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Напредна заштита меморије бета"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Напредна заштита меморије"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Подешавања некоришћених апликација"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Паузирај активности ако се не користи"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Уклоните дозволе, избришите привремене фајлове и зауставите обавештења"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Управљај апликацијом ако се не користи"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Уклоните дозволе, избришите привремене фајлове, зауставите обавештења и архивирајте апликацију"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Све апликације"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Инсталиране апликације"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Инстант апликације"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Слободно"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Меморија коју користе апликације"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 апликација је користила меморију у последњем периоду од {time}}one{# апликација је користила меморију у последњем периоду од {time}}few{# апликације су користиле меморију у последњем периоду од {time}}other{# апликација је користило меморију у последњем периоду од {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Омогући профилисање коришћења меморије"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"За профилисање коришћења меморије су потребни додатни системски ресурси."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Профилисање меморије је онемогућено"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Учесталост"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Максимум коришћења"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Не користе се никакви подаци"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Приказ преко других апликација"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Дозволи приказ преко других апликација"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Омогућите овој апликацији да се приказује преко других апликација које користите. Ова апликација ће моћи види где додирујете или да промени оно што се приказује на екрану."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Промените медијски излаз"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Дозволи апликацији да мења медијски излаз"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Дозволи овој апликацији да одабере који повезани уређај репродукује звук или видео из других апликација. Ако добије дозволу, ова апликација може да приступи листи доступних уређаја као што су слушалице и звучници и да одабере који излазни уређај се користи за стримовање или пребацивање звука или видеа."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Приступ свим датотекама"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Дозволи приступ за управљање свим датотекама"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволите да ова апликација чита, мења и брише све датотеке на овом уређају или свим повезаним уређајима за складиштење. Ако то дозволите, апликација може да приступа датотекама без вашег знања."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Може да приступа свим датотекама"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Апликације са активацијом гласом"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дозволи активацију гласом"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Гласовна активација укључује одобрене апликације хендсфри помоћу гласовне команде. Уграђено прилагодљиво откривање гарантује да ће ваши подаци остати приватни.\n\n"<a href="">"Још о заштићеном прилагодљивом откривању"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Обавештења преко целог екрана"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Дозволите обавештења преко целог екрана од ове апликације"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Дозволите овој апликацији да приказује обавештења преко целог екрана када је уређај закључан. Апликације могу да их користе ради истицања аларма, долазних позива или других хитних обавештења."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Упозорење за потрошњу података: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Ограничење потрошње података: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Упозорење за потрошњу података: <xliff:g id="ID_1">^1</xliff:g>/Ограничење потрошње података: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Обрачун података код мобилног оператера се можда разликује од обрачуна уређаја."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Не обухвата податке које користе мреже мобилних оператера"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Потрошили сте <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Подеси упозорење о подацима"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Ажурирано је пре <xliff:g id="ID_1">^2</xliff:g>"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Малопре ажурирао оператер <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Ажурирано је малопре"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Прикажи план"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Прикажи детаље"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Уштеда података"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Неограничен приступ подацима"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> користи више батерије него обично док је у позадини"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> користи више енергије док је у првом плану"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> користи више енергије него обично док је у првом плану"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Аномалија у вези са потрошњом батерије"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Велика потрошња батерије"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Велика потрошња батерије у позадини"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Велика потрошња батерије у првом плану"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Плочице програмера за брза подешавања"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Онемогући временско ограничење овлашћења adb-а"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Онемогућава аутоматско опозивање овлашћења adb-а за системе који се не повежу поново током подразумеваног временског периода (7 дана) или временског периода који конфигурише корисник (најмање 1 дан)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope траг"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Сензори су искључени"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Подешавања пословног профила"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Тражи контакте из пословног директоријума у личним апликацијама"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"навигација кроз систем, навигација помоћу 2 дугмета, навигација помоћу 3 дугмета, навигација помоћу покрета, превлачење"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Дигитални помоћник"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Превуците да бисте покренули помоћник"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Превуците нагоре из неког од доњих улова да бисте покренули апликацију дигиталног помоћника."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Превуците нагоре из неког од доњих улова да бисте покренули апликацију дигиталног помоћника"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"За покретање Помоћника задржите дугме за почетни екран"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Притисните и задржите дугме за почетни екран да бисте покренули апликацију дигиталног помоћника."</string>
     <string name="low_label" msgid="6525629096999711220">"Ниска"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Услуга аутоматског попуњавања"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Подразумевана услуга аутоматског попуњавања"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Лозинке"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Услуге за лозинке, приступне кодове и податке"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Додатни добављачи услуга"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Жељена услуга"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Додатне услуге"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# лозинка}one{# лозинка}few{# лозинке}other{# лозинки}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"аутоматски, попунити, аутоматски попунити, лозинка"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"подаци, приступни кôд, лозинка"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"аутоматски, попуњавање, аутоматско попуњавање, подаци, приступни кључ, лозинка"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Промени"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Отвори"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Ништа није изабрано"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Уверите се да је ова апликација поуздана&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google аутоматско попуњавање&gt;%1$s&lt;/xliff:g&gt; користи садржај екрана за утврђивање података који могу аутоматски да се попуне."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Користићете апликацију &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; користи оно што је на екрану ради одређивања шта може аутоматски да се попуни. Нове лозинке, приступни кодови и други подаци ће се од сада чувати овде."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Услуге за лозинке, приступне кодове и податке"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Користите &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Нове лозинке, приступни кључеви и други подаци ће се од сада чувати овде. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може да користи оно што је на екрану ради одређивања шта може аутоматски да се попуни."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Жељена услуга за лозинке, приступне кључеве и аутоматско попуњавање"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Желите да искључите: %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Желите да искључите ову услугу?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Сачуване информације као што су лозинке, приступни кључеви, начини плаћања и други подаци се неће попуњавати када сте пријављени. Да бисте користили сачуване информације, одаберите услугу за лозинке, приступне кључеве или податке."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Лозинке, прист. кључеви, аут. попуњавање"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Желите да искључите ову услугу?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Лозинке, приступни кључеви и друге сачуване информације неће бити доступне за аутоматско попуњавање када се пријавите"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Промените жељену услугу у &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Нове лозинке, приступни кључеви и други подаци ће се од сада чувати овде. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може да користи оно што је на екрану ради одређивања шта може аутоматски да се попуни"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Желите да користите %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Искључи"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Промени"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Може да буде укључено само 5 услуга"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Искључите бар 1 услугу да бисте могли да додате другу"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s користи садржај на екрану да би утврдио шта може аутоматски да се попуни."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Ограничење услуга за лозинке, приступне кодове и податке"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Можете истовремено да имате највише 5 услуга за лозинке, приступне кодове и податке. Искључите неку од њих да бисте додали још."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Ограничење услуга за лозинке, приступне кодове и податке"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Можете истовремено да имате највише 5 услуга за лозинке, приступне кодове и податке. Искључите неку од њих да бисте додали још."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Искључи"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Аутоматско попуњавање"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Ниво евидентирања"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Промене компатибилности апликација могу да се измене само за апликације са отклоњивим грешкама. Инсталирајте апликацију са отклоњивим грешкама и пробајте поново."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Зависи од другог подешавања"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Налог"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d налога"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Назив уређаја"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Основне информације"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Правне информације и информације у вези са регулативама"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Дозволите да се ова апликација покреће када се скенира NFC ознака.\nАко је ова дозвола укључена, апликација ће бити доступна као опција сваки пут када се ознака открије."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Пуштај медијски садржај на"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Пусти <xliff:g id="LABEL">%s</xliff:g> на"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Звук се пушта"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Овај уређај"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недоступно током позива"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Преузми позив"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Искључи звук"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Да бисте омогућили ово, прво промените опцију Притисните и задржите дугме за укључивање у мени дугмета за укључивање."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Детаљи о мрежи"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Апликације на телефону могу да виде назив уређаја. И други људи могу да виде назив уређаја могу када се повежете са Bluetooth уређајима или WiFi мрежом или подесите WiFi хотспот."</string>
     <string name="devices_title" msgid="649715719278562515">"Уређаји"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Одаберите мрежу"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Веза је прекинута"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Назив"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Боја (користе компатибилне апликације)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Сачувај"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Користи SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Користи овај SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Искључено"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Да бисте онемогућили ову SIM картицу, уклоните је"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Додирните да бисте активирали <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Обриши SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Да бисте искључили ову SIM картицу, уклоните је"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Додирните да бисте активирали <xliff:g id="CARRIER">%1$s</xliff:g> SIM"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Обришите eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Жељени тип мреже"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Промена режима рада мреже"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Жељени тип мреже"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Цене проверите код мобилног оператера."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Потрошња података апликације"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Неважећи режим мреже <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Игноришите."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Сателитска размена порука"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Шаљите и примајте текстуалне поруке преко сателита. Обухваћено је налогом."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Шаљите и примајте текстуалне поруке преко сателита. Није обухваћено налогом."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Сателитска размена порука"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"О сателитској размени порука"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Ако код мобилног оператера <xliff:g id="CARRIER_NAME">%1$s</xliff:g> имате налог који испуњава услове, можете да шаљете и примате текстуалне поруке преко сателита."</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Пакет код мобилног оператера <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Сателитска размена порука је обухваћена налогом"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Сателитска размена порука није обухваћена налогом"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Додај сателитску размену порука"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Принцип рада"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Кад немате приступ мобилној мрежи"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Телефон ће се аутоматски повезати на сателит. За најбољи квалитет везе, уверите се да вам ништа не заклања поглед на небо."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Кад се телефон повеже на сателит"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Можете да шаљете поруке било коме, укључујући хитне службе. Телефон ће се поново повезати на мобилну мрежу када буде доступна."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Сателитска размена порука може да траје дуже и доступна је само у одређеним областима. Временски услови и одређене структуре могу да утичу на сателитску везу. Позивање преко сателита није доступно.\n\nМоже да прође неко време док се промене на налогу не прикажу у Подешавањима. Обратите се мобилном оператеру <xliff:g id="CARRIER_NAME">%1$s</xliff:g> за више детаља."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Више о сателитској размени порука"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Називи приступних тачака"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"Назив приступне тачке"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недоступно када је повезано са: <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Желите ли да пређете на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Желите ли да пређете на SIM картицу?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Желите да користите <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"У датом тренутку може да буде активна само једна SIM картица.\n\nПребацивањем на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> нећете отказати услугу <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"У датом тренутку може да буде активан само 1 eSIM.\n\nПребацивање на оператера <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> неће отказати услугу оператера <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"У датом тренутку може да буде активна само једна SIM картица.\n\nПребацивањем нећете отказати услугу <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"У датом тренутку може да буде активан само 1 SIM.\n\nПреласком на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> не отказујете услуге код мобилног оператера <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"У датом тренутку може да буде активан само 1 eSIM.\n\nПреласком на <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> не отказујете услуге код мобилног оператера <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"У датом тренутку може да буде активан само 1 SIM.\n\nПреласком на други не отказујете услуге код мобилног оператера <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Можете да користите 2 SIM картице истовремено. Да бисте користили <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, искључите другу SIM картицу."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Пређи на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Искључите <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Искључивање SIM картице неће отказати услугу"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Повезује се са мрежом…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Прелази се на оператера <xliff:g id="CARRIER_NAME">%1$s</xliff:g> за позиве и поруке…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Промена мобилног оператера није успела"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Промена мобилног оператера није успела због грешке."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM се активира…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Прелазите на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Промена SIM-а није успела"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Дошло је до грешке. Промена SIM-а није успела."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Желите да искључите услугу <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Желите да искључите SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM се искључује<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Онемогућавање мобилног оператера није успело"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Дошло је до грешке и онемогућавање мобилног оператера није успело."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Искључивање SIM-а није успело"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Дошло је до грешке и SIM није искључен."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Желите ли да користите 2 SIM картице?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"На овом уређају 2 SIM картице могу да буду активне истовремено. Да бисте наставили да користите само 1 SIM картицу, додирните „Не, хвала“."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Желите ли да рестартујете уређај?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Не, хвала"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Откажи"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Пређи"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Искључи"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Активирање SIM картице није успело"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Пробајте поново да укључите SIM картицу. Ако се проблем и даље јавља, рестартујте уређај."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Подесите SIM картицу"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Подесите подешавања мобилне мреже да бисте користили више SIM картица на овом уређају"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Означите SIM картице"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Видећете ове ознаке у току позива, слања SMS порука и коришћења преноса података, као и у Подешавањима."</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Ознака SIM картице"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Ознака"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Избор SIM картица за употребу"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Можете да користите 2 SIM картице истовремено"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Подесите примарне SIM картице"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Одаберите које SIM картице ћете користити подразумевано за позиве, SMS поруке и пренос података"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Примарне SIM картице"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Позиви"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS поруке"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Ауто. замена преноса података"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Користи пренос података са било ког SIM-а у зависности од покривености и доступности"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Само пренос података"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Подеси"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Даље"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Укључује се <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобилна мрежа"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Број телефона"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Ознака и боја SIM картице"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активација мреже"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Прелазак на другог мобилног оператера"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Мобилни оператер <xliff:g id="CARRIER_NAME">%1$s</xliff:g> је активан"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM је активан"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Додирните да бисте ажурирали подешавања SIM-а"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Прешли сте на <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Прешли сте на другог мобилног оператера"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мобилна мрежа је промењена"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Подесите други SIM"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Одаберите активан SIM или користите 2 SIM-а истовремено"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Одаберите број за коришћење"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 број је доступан на овом уређају и само један број може да се користи у датом тренутку}=2{2 броја су доступна на овом уређају, али само један број може да се користи у датом тренутку}one{# број је доступан на овом уређају, али само један број може да се користи у датом тренутку}few{# броја су доступна на овом уређају, али само један број може да се користи у датом тренутку}other{# бројева је доступно на овом уређају, али само један број може да се користи у датом тренутку}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Активира се<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Тренутно не може да се активира"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Изаберите SIM који ће се користити"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM је доступан на овом уређају и само један може да се користи у датом тренутку}=2{2 SIM-а су доступна на овом уређају, али само један може да се користи у датом тренутку}one{# SIM је доступан на овом уређају, али само један може да се користи у датом тренутку}few{# SIM-а су доступна на овом уређају, али само један може да се користи у датом тренутку}other{# SIM-ова је доступно на овом уређају, али само један може да се користи у датом тренутку}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Укључује се<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Тренутно не можемо да укључимо овај SIM"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Желите ли да користите <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ће се користити за мобилне податке, позиве и SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Није доступан ниједан активан SIM"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Да бисте касније користили мобилне податке, функције позива и SMS, идите на подешавања мреже"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Желите да обришете овај eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Брисањем ове SIM картице уклонићете услугу мобилног оператера <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> са овог уређаја.\n\nУслуга мобилног оператера <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> неће бити отказана."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Тиме уклањате услуге мобилног оператера <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> са уређаја, али пакет који имате код мобилног оператера <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> неће бити отказан."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Обриши"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM се брише…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Брисање SIM-а није успело"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Овај SIM не може да се обрише због грешке.\n\nРестартујте уређај и пробајте поново."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Брише се eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Брисање eSIM-а није успело"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Дошло је до грешке и eSIM није избрисан.\n\nРестартујте уређај и покушајте поново."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Повежите са уређајем"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Апликација <xliff:g id="APPNAME">%1$s</xliff:g> жели да користи привремену Wi‑Fi мрежу да би се повезала са уређајем"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Није пронађен ниједан уређај Проверите да ли је уређај укључен и доступан за повезивање."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Хитни позиви"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Мобилни оператер не подржава хитне позиве помоћу функције Позивање преко WiFi-а.\nУређај аутоматски прелази на мобилну мрежу да би упутио хитан позив.\nХитни позиви су могући само у областима покривеним мобилном мрежом."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Користите Wi‑Fi за позиве да бисте побољшали квалитет"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Резервни начин за позивање"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ако услуга <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> није доступна или је у ромингу, користите SIM за мобилне податке за<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>позиве."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"резервни начин за позивање"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Долазна MMS порука"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Слање MMS порука није могуће"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Додирните да бисте омогућили слање MMS порука на уређају <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> када су мобилни подаци искључени"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Информације о смерницама за посао"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Подешавањима управља ИТ администратор"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Укључи уз величину страница 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Укључи уређај уз језгро подржано за 16 KB странице"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Желите ли да рестартујете уређај са језгром компатибилним са 16 KB страницама?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"УПОЗОРЕЊЕ: Неке апликације можда нису компатибилне са овим режимом. Уређај ће се рестартовати после потврде."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Желите ли да рестартујете уређај са језгром компатибилним са 4 KB страницама?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Уређај ће се рестартовати после потврде."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ажурирање на језгро компатибилно са 16 KB страницама није успело."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Примењује се промена"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Обрађивач извештаја о грешци"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Одређује која апликација управља пречицом за извештај о грешци на уређају."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Лично"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Апликације које могу да се приказују преко других апликација прекривају садржај екрана Подешавања"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Дозволи лажни модем"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Желите ли да дозволите овом уређају да покрене услугу лажног модема за тест инструментације. Немојте омогућавати током нормалне употребе телефона"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Онемогући заштиту при дељењу садржаја екрана"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Током дељења садржаја екрана, онемогућава заштиту коју систем примењује у вези са обавештењима и апликацијама"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Медији"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Закачи медија плејер"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Да бисте брзо наставили репродукцију, медија плејер остаје отворен у Брзим подешавањима"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Приказуј медијски садржај на закључаном екрану"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Да бисте брзо наставили репродукцију, медија плејер остаје отворен на закључаном екрану"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Приказуј препоруке за медије"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Прикажи препоруке за медије Помоћника"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"На основу активности"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Сакриј плејер"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Прикажи плејер"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"медији"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Дозволи додатке софтвера камере"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Омогућава примену подразумеваног софтвера напредних функција камере, као што је невизуелна видеографија."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth ће се укључити"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Интернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM картице"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-ови"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Активно"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Неактивно"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Укључено"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Искључено"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /Подразумевано за: <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"позиви"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Звук компатибилних медија постаје реалистичнији"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Праћење главе"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Звук се мења како померате главу да би деловао природније"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синхронизујте дозволе"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Одобрите исте дозволе за <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> као на уређају <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Синхронизуј дозволе са телефона"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Одобрите исте дозволе за апликације на сату као на овом телефону"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Тип аудио уређаја"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Непознато"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Звучник"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Средње"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Високо"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ова апликација може да се отвори само у једном прозору"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Укључeно"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Искључено"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Искључено"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Искључено"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Укључено"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Искључено"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Укључено"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Искључено"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Светли екрани постају тамни, а тамни екрани светли"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Увећање екрана"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Искључено"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Искључено"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Провера ради откривања обмањујућих апликација"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Проверите активности у апликацијама ради откривања „пецања“"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Користи скенирање за обмањујуће апликације"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Користи скенирање за обмањујуће апликације за посао"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Лозинка је подешена"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Прикажи показивач при преласку писаљком"</string>
 </resources>
diff --git a/res/values-sv/arrays.xml b/res/values-sv/arrays.xml
index e4c73a8..b311e99 100644
--- a/res/values-sv/arrays.xml
+++ b/res/values-sv/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Tillgänglig"</item>
     <item msgid="6096962300722555553">"Utanför intervallet"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Inaktiverade"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast och utsändning"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Använd systemstandard: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Efter 1 minut"</item>
     <item msgid="1574040255478150028">"Efter 5 minuter"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-sv/strings.xml b/res/values-sv/strings.xml
index 889d66b..df68c11 100644
--- a/res/values-sv/strings.xml
+++ b/res/values-sv/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Nu är du en utvecklare!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Det behövs inte. Du är redan utvecklare."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Aktivera utvecklaralternativ först"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Endast administratörsanvändare kan komma åt utvecklarinställningar."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"I tjänst"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ur funktion"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Främre skärmen slås på när du viker enheten"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Endast spel, videor med mera"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Främre skärmen slås på för appar som förhindrar att skärmen inaktiveras"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Svep uppåt för att fortsätta"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Vik telefonen och svep uppåt på den främre skärmen för att fortsätta använda appen, eller vänta i några sekunder tills skärmen låses"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Aldrig"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Främre skärmen låses när du viker enheten"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Använd automatisk rotation"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Relaterat"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringsignal och alarm"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Ljud under samtal"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Avisering och andra systemljud"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Medie- och systemljud"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Aviseringar"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Ljudutgången bestäms av enskilda appar som standard"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Namnlös Bluetooth-enhet"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Söker"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Avbryt"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Inaktivera Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Inaktiverar Bluetooth LE Audio-funktionen om enheten har stöd för funktioner för LE Audio-maskinvara."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio-läge"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Visa reglage för LE Audio i Enhetsinfo"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Aktivera godkännandelista för Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Aktivera funktionen för godkännandelista för Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Hoppa över godkännandelistan för Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Använd LE Audio som standard även om LE Audio-kringutrustningen inte har bekräftats uppfylla kraven för godkännandelistan."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medieenheter"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Telefonenheter"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Andra enheter"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Sparade enheter"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Kopplad till kontot"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Användes tidigare med kontot"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth aktiveras för parkoppling"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Anslutningsval"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Tidigare anslutna enheter"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth har aktiverats"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Se alla"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Se alla"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"E-penna"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Vid tryck på knappen för e-penna"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (jobbprofil)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Skriv i textfälten"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ignorera alla knapptryckningar på e-pennan"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"E-penna"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Ljuddelning"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Dela ljud"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Samtal och alarm"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Anslut till en ljudstream med QR-kod"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Inga ljudstreamar hittades i närheten."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Datum och tid"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Rensa"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Vill du lägga till %s som ett föredraget språk?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Detta talar om för appar och webbplatser att du även föredrar det här språket."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Dina enhets- och regionsinställningar ändras."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Ändra"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s är inte tillgängligt"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"lördag"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Om en app inte har stöd för regionsinställningar används appens standardinställningar."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Läs mer om språkinställningar."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Ytterligare inställningar"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Tilltalsform"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Ange hur du vill tilltalas"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Appar kan använda din tilltalsform för att anpassa hur du tilltalas."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Inte angivet"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Femin­informer"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Maskulinformer"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Vill du ta bort det valda språket?}other{Vill du ta bort de valda språken?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Text visas på ett annat språk."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Det går inte att ta bort alla språk"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Plats"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Använd plats"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Av"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{På – # app har platsåtkomst}other{På – # appar har platsåtkomst}}"</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_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="5329024810729665156">"Läs mer om platsinställningar."</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="3574930966097093550">"Ändra platsåtkomst i Inställningar &gt; Säkerhet och integritet &gt; Integritetsinställningar"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Konton"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Säkerhet"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Kryptering och användaruppgifter"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Använd ett skärmskydd märkt Made for Google för bästa resultat. Ditt barns fingeravtryck kanske inte registreras med andra skärmskydd."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Upplåsning med klockan"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"När du konfigurerar ansiktslås och fingeravtryckslås frågar telefonen om fingeravtryck när du använder munskydd eller om det är mörkt.\n\nDu kan låsa upp med klockan om ansiktet eller fingeravtrycket inte känns igen."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Du kan låsa upp med klockan om fingeravtrycket inte känns igen."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Du kan låsa upp med klockan om ansiktet inte känns igen."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"När du konfigurerar ansiktslås och fingeravtryckslås frågar telefonen om fingeravtryck när du använder munskydd eller om det är mörkt.\n\nMed upplåsning med klockan kan du smidigt låsa upp telefonen, till exempel när dina fingrar är fuktiga eller ditt ansikte inte känns igen."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Med upplåsning med klockan kan du smidigt låsa upp telefonen, till exempel när ditt fingeravtryck inte känns igen."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Med upplåsning med klockan kan du smidigt låsa upp telefonen, till exempel när ditt ansikte inte känns igen."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Använd fingeravtrycket eller klockan för att"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Använd ansiktet eller klockan för att"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Använd ansiktet, fingeravtrycket eller klockan för att"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Med upplåsning med klockan kan du smidigt låsa upp telefonen, till exempel när dina fingrar är fuktiga eller ditt ansikte inte känns igen.\n\nDu kan låsa upp den här telefonen med klockan så här:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Inte nu"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Fortsätt"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Mer"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Så fungerar det"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Klockan måste vara upplåst, på handleden och i närheten av telefonen. Du behöver inte låsa upp klockan igen när den är på handleden."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"När den här telefonen låses upp får du en avisering på klockan. Om den låstes upp oavsiktligt kan du trycka på aviseringen och låsa telefonen igen."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Du bestämmer själv"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Du kan ta bort klockan när som helst från Upplåsning med klockan i inställningarna."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Trycka på en avisering"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Svepa uppåt på låsskärmen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Välj klocka"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Tillgängliga klockor"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Avbryt"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Bekräfta"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Nu är det klart!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Nu kan du låsa upp den här telefonen med klockan när du sveper uppåt på låsskärmen eller trycker på en avisering"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Klar"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Upplåsning med klockan"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Du kan låsa upp den här telefonen med klockan när du sveper uppåt på låsskärmen eller trycker på en avisering"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Du kan bara använda upplåsning med klockan om klockan är upplåst, sitter på handleden, i närheten av telefonen och ansluten till den. Om anslutningen avbryts behöver du låsa upp telefonen innan du kan använda upplåsning med klockan\n\nTänk på följande:\nDu kan bara ha en klocka konfigurerad åt gången. Om du vill lägga till en annan klocka måste du först ta bort den befintliga."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Säkerhet"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Integritet"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Jobbprofil"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Privat område"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Håll privata appar låsta och dolda"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Ha privata appar i ett separat rum som du kan dölja eller låsa"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Lås privat område"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Du kan låsa upp ditt privata område på samma sätt som du låser upp din enhet, eller så väljer du ett annat lås"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Använd skärmlåset för enheten"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Ansikts- och fingeravtryckslås"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Fingeravtryckslås"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Ansiktslås"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Tryck för att ställa in"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Fingeravtryckslås för privat område"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Ansiktslås för privat område"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Olika sätt att låsa upp"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Samma som skärmlåset för enheten"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Välja ett nytt lås för ditt privata område?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Lås privat område automatiskt"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Du kan låsa ditt privata område automatiskt om du inte har använt enheten på ett tag"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Varje gång enheten låses"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Efter fem minuters inaktivitet"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Aldrig"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Dölj när det är låst"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Dölj privat område när det är låst"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Du kan dölja ett privat område i applistan så att andra inte vet att du har ett"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Kom åt ett privat område när det är dolt"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Från applistan anger du ”privat område” i sökfältet"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Tryck på rutan för privat område"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Lås upp ditt privata område"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Av"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"På"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Radera privat område"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Vill du radera det privata området?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Det privata området tas bort från enheten. Alla privata appar och all privat data raderas. Det går inte att ångra den här åtgärden."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Följande konton tas bort från det privata området:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Radera"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Raderar privat område …"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Detta tar en stund"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Privat område har raderats"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Det gick inte att radera privat område"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Privat område är upplåst"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ställ in skärmlås"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Ställ in ett skärmlås för enheten om du vill använda ditt privata rum."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Konfigurera skärmlås"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Avbryt"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Avbryt"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Ställ in"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Ställ in ett privat rum"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Ha privata appar i ett separat rum som du kan dölja eller låsa"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Så fungerar det"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Du kan komma åt ditt privata rum längst ned i applistan"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Appar i ditt privata rum skyddas av ett lås"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Aviseringar från appar i ditt privata rum döljs när det är låst"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Appar i ditt privata rum visas inte i behörighetshanteringen, integritetsöversikten eller andra inställningar när ditt privata rum är låst.\n\nDitt privata rum kan inte flyttas till en ny enhet. Du måste ställa in ett nytt privat rum om du vill använda det på en annan enhet.\n\nAlla som ansluter din enhet till en dator eller installerar skadliga appar på enheten kanske kan få åtkomst till ditt privata rum."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Ställer in privat rum …"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Aviseringar från appar i ett privat område döljs när det är låst"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Lås upp ditt privata område för att dela foton eller filer"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Vissa appar är redan installerade i ditt privata rum"</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_lockscreen_title" msgid="6034864097861137509">"Vill du låsa upp privat rum med skärmlåset?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Du kan låsa upp ditt privata rum på samma sätt som du låser upp din enhet, eller så väljer du ett annat lås"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Använd skärmlås"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Välj ett nytt lås"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Klart!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Om du vill hitta ditt privata område öppnar du applistan och scrollar nedåt"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Klar"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Scrolla nedåt för att hitta privat rum"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Logga in"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Logga in på ett konto för att använda det med ditt privata område"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Inte nu"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Fortsätt"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Välj ett lås för ditt privata rum"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Du kan låsa upp ditt privata rum med fingeravtrycket. Av säkerhetsskäl krävs ett alternativt lås."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Ställ in pinkod för ditt privata rum"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Ställ in lösenord för ditt privata rum"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Ställ in mönster för ditt privata rum"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Du kan lägga till upp till <xliff:g id="COUNT">%d</xliff:g> fingeravtryck"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Du har lagt till det högsta tillåtna antalet fingeravtryck"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Det går inte att lägga till fler fingeravtryck"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mönster"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Pinkod"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Lösenord"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Vill du ta bort skärmlåset?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Vill du ta bort alla typer av enhetsupplåsning?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Vill du ta bort profilens säkerhetsfunktioner?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Ett mönster skyddar telefonen om den kommer bort eller blir stulen"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Ett mönster skyddar telefonen om den kommer bort eller blir stulen.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Fingeravtrycksmodellen som sparats på enheten raderas. Ansiktsmodellen raderas också permanent på ett säkert sätt. Du kan inte längre använda ansiktsautentisering eller autentisering med fingeravtryck i appar."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"En pinkod skyddar telefonen om den kommer bort eller blir stulen"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Sparad data, som din pinkod, går förlorad.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som har ställts in för kontaktlös betalning tas bort.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Plånböcker och andra appar som kräver enhetsupplåsning kanske inte fungerar som de ska."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"En pinkod skyddar telefonen om den kommer bort eller blir stulen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Fingeravtrycksmodellen som sparats på enheten raderas också. Du kan inte längre använda autentisering med fingeravtryck i appar."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Sparad data, som din pinkod och fingeravtrycksmodell, går förlorad.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som har ställts in för kontaktlös betalning tas bort.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Plånböcker och andra appar som kräver enhetsupplåsning kanske inte fungerar som de ska."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"En pinkod skyddar telefonen om den kommer bort eller blir stulen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Ansiktsmodellen raderas också permanent på ett säkert sätt. Du kan inte längre använda ansiktsautentisering i appar."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Sparad data, som din pinkod och ansiktsmodell, går förlorad.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som har ställts in för kontaktlös betalning tas bort.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Plånböcker och andra appar som kräver enhetsupplåsning kanske inte fungerar som de ska."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"En pinkod skyddar telefonen om den kommer bort eller blir stulen.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Fingeravtrycksmodellen som sparats på enheten raderas. Ansiktsmodellen raderas också permanent på ett säkert sätt. Du kan inte längre använda ansiktsautentisering eller autentisering med fingeravtryck i appar."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Sparad data, som din pinkod, ansiktsmodell och fingeravtrycksmodell, går förlorad.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kort som har ställts in för kontaktlös betalning tas bort.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Plånböcker och andra appar som kräver enhetsupplåsning kanske inte fungerar som de ska."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Ett lösenord skyddar telefonen om den kommer bort eller blir stulen"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Ett lösenord skyddar telefonen om den kommer bort eller blir stulen.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Vill du koppla till <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Lägg till ny medlem i koordinerat set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Bekräfta för att lägga till den andra delen av ljudenheten"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth-koppplingskod"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Ange kopplingskoden och tryck på Retur"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-koden innehåller bokstäver eller symboler"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Måste bestå av 16 siffror"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Du kan också behöva ange PIN-koden på den andra enheten."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Du kan också behöva ange lösenordet på den andra enheten."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Bekräfta för att parkoppla med koordinerat set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Bekräfta för att parkoppla med ljudenheten"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Tillåt åtkomst till kontakter och sökhistorik"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Ge även åtkomst till kontakter och samtalshistorik"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Uppgifterna används för samtalsaviseringar med mera"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Det gick inte att ansluta till <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Tillgängliga enheter"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Anslut"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Koppla ifrån"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Parkoppla och anslut"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"När Bluetooth har aktiverats kan enheten kommunicera med andra Bluetooth-enheter i närheten."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"När Bluetooth har aktiverats kan enheten kommunicera med andra Bluetooth-enheter i närheten"</string>
     <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_scan_change" msgid="1744636222637390367">"Ändring"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Enhetsinformation"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Verifiera bytekod för felsökningsbara appar genom att tillåta ART"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Visa uppdateringsfrekvens"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Visa skärmens aktuella uppdateringsfrekvens"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Visa HDR/SDR-förhållande"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Visa aktuellt HDR/SDR-förhållande"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Enheten måste låsas upp för NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"I flygplansläge"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Meddelande om offentliga nätverk"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Meddela om tillgängliga offentliga nätverk av hög kvalitet"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Tillåt WEP-nätverk"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP är ett äldre säkerhetsprotokoll som är mindre säkert"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Din operatör tillåter inte WEP-nätverk eftersom de är mindre säkra"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Aktivera wifi automatiskt"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wifi aktiveras i närheten av sparade nätverk av hög kvalitet, till exempel ditt hemnätverk"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Ej tillgängligt eftersom platsåtkomst har inaktiverats. Aktivera "<annotation id="link">"plats"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Med hjälp av wifi-sökning kan appar och tjänster söka efter wifi-nätverk när som helst, även när wifi är inaktiverat. Funktionen kan till exempel användas till att förbättra platsbaserade funktioner och tjänster."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aktivera"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wifi-sökning har aktiverats"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Det här nätverket använder ett äldre säkerhetsprotokoll som är mindre säkert"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> har blockerats"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Det här nätverket använder ett äldre säkerhetsprotokoll som kallas WEP och som är mindre säkert. Om du vill ansluta ändå kan du tillåta WEP-nätverk."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Din operatör tillåter inte att du ansluter till det här nätverket eftersom det använder ett äldre säkerhetsprotokoll som är mindre säkert"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Tillåt WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Stäng"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Avancerade alternativ"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Rullgardinsmenyn Avancerade alternativ"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"utöka"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Fortsätt på Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Visa aldrig igen"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Anslut"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wifi har aktiverats"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Ansluten till <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Ansluter till <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Ansluter …"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Det gick inte att ansluta till nätverket."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Nätverket är inte inom räckvidd"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Glöm"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Ändra"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Det gick inte att glömma nätverket"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Spara"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Det gick inte att spara närverket"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Avbryt"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wifi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobildata"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – laddas"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – laddas"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Anslutning till surfzon"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Anslutningsstyrka"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Sparade nätverk"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Inget lösenord har angetts"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Namn på surfzon"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Lösenord för surfzon"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP-band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Inaktivera surfzon automatiskt"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"När inga enheter är anslutna"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Utöka kompatibiliteten"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Skärmens vitbalans"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Fortsätt att använda appar i hopvikt läge"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Höjer automatiskt uppdateringsfrekvensen från 60 till <xliff:g id="ID_1">%1$s</xliff:g> Hz för visst innehåll. Ökar batteriförbrukningen."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Slå av standardbildfrekvens för spel"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Stäng av begränsningen av bildfrekvensen för spel till <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Höjer automatiskt uppdateringsfrekvensen till <xliff:g id="ID_1">%1$d</xliff:g> Hz för visst innehåll. Ökar batteriförbrukningen."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Tvinga att den högsta uppdateringsfrekvensen körs"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Den högsta uppdateringsfrekvensen ger bättre tryckkänslighet och animationskvalitet. Ökar batteriförbrukningen."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Blickavkänning"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Den främre kameran används i Blickavkänning för att avgöra om någon tittar på skärmen. Funktionen finns på enheten och bilderna varken lagras eller skickas till Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Aktivera blickavkänning"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Låt skärmen vara på så länge du tittar på den"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"En längre tidsgräns för skärmen förbrukar mer batteri."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kameran är låst"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Kameran måste låsas upp för ansiktsigenkänning"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Kameran måste låsas upp för blickavkänning"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM-kortplats <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM-kortplats <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (primär)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Välj ett sparat nätverk att visa"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI-kod"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI-kod SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL-version"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Batterinivå"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Allmänt"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Allmänna inställningar"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellitmeddelanden"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN:er"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Redigera åtkomstpunkt"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Lägg till åtkomstpunkt"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ej fastställt"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Har inte angetts"</string>
     <string name="apn_name" msgid="6677695784108157953">"Namn"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN aktiverat"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN inaktiverat"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Nätverkstyp"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Ej angiven"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO-typ"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO-värde"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Ta bort APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Spara"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Avbryt"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN-posten är en dubblett."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Fältet Namn får inte vara tomt."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN får inte vara tomt."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC-fältet måste bestå av 3 siffror."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC-fältet måste vara 2 eller 3 siffror"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operatören tillåter inte att du lägger till APN:er av typen %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC-fältet måste vara giltigt."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Återställer standardinställningar för APN."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Återställ standardinst."</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Återställning av standardinställningar för APN har slutförts."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Återställ"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth och wifi har återställts"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Rensa eSIM-kort"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Det här avbryter inte något serviceavtal för telefonen. Om du vill ladda ned SIM-kort som ersätter de gamla kontaktar du operatören."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Detta avslutar inte ditt mobilabonnemang. Kontakta operatören för att ersätta SIM-kortet."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Återställ inställningar"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Vill du återställa alla nätverksinställningar? Det går inte att ångra den här åtgärden."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Vill du återställa alla nätverksinställningar och rensa eSIM-kort? Det går inte att ångra den här åtgärden."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Vill du återställa?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Den här användaren kan inte återställa nätverket"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Nätverksinställningarna har återställts"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Det gick inte att rensa SIM-kortet"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Det går inte att rensa eSIM-kort på grund av ett fel.\n\nStarta om enheten och försök igen."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Det gick inte att rensa dessa eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Något gick fel och dina eSIM rensades inte.\n\nStarta om enheten och försök igen."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Rensa all data (återställ standardinst.)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Rensa all data (återställ standardinst.)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"musik"</li>\n<li>"foton"</li>\n<li>"annan användardata"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-kort"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Detta innebär inte att serviceavtalet avslutas."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Alla personliga uppgifter och alla nedladdade appar raderas. Det går inte att ångra den här åtgärden."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Alla personliga uppgifter raderas, inklusive nedladdade appar och SIM-kort. Det går inte att ångra den här åtgärden."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Alla personliga uppgifter raderas, inklusive nedladdade appar och eSIM. Det går inte att ångra den här åtgärden."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Vill du radera all data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Den här användaren kan inte återställa till standardinställningarna"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Raderar"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Surfzon, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet delas inte med andra enheter"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Av"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Internetdelning"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Använd inte Wi‑Fi-surfzon"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Dela internet endast via USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Dela internet endast via Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Dela internet endast via Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Dela internet endast via USB och Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Dela internet endast via USB och Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Dela internet endast via Bluetooth och Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Dela internet endast via USB, Bluetooth och Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Delning via USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Delning via Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-internetdelning"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Med hjälp av surfzoner och internetdelning kan andra enheter anslutas till internet via den här enhetens wifi- eller mobildataanslutning. Surfzoner kan även skapas i appar för att dela innehåll med enheter i närheten."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Hjälp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobilnätverk"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobilplan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Sms-app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Vill du byta sms-app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Vill du använda <xliff:g id="NEW_APP">%1$s</xliff:g> som sms-app i stället för <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Vill du byta wifi-assistentapp?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Vill du hantera nätverksanslutningarna med <xliff:g id="NEW_APP">%1$s</xliff:g> i stället för med <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Vill du hantera nätverksanslutningarna med <xliff:g id="NEW_APP">%s</xliff:g>?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Okänd SIM-operatör"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> har ingen känd administrationswebbplats"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"För in SIM-kortet och starta om"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Anslut till internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Nya platsförfrågningar"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Plats för jobbprofil"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Appars platsbehörighet"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Ta bort åtkomst"</string>
     <string name="controls_label" msgid="8671492254263626383">"Kontroller"</string>
     <string name="force_stop" msgid="2681771622136916280">"Tvinga att avsluta"</string>
+    <string name="archive" msgid="9074663845068632127">"Arkivera"</string>
+    <string name="restore" msgid="7622486640713967157">"Återställ"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Återställer"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Återställer."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Återställer …"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Återställer …"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Totalt"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Appstorlek"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Data på USB-lagringsenhet"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Det gick inte att beräkna paketstorleken."</string>
     <string name="version_text" msgid="7628938665256107608">"version <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Flytta"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arkivering misslyckades"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arkiverade <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Återställningen misslyckades"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Återställer <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Det pågår redan en annan migrering."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Inte tillräckligt med lagringsutrymme."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Appen finns inte."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Tillgängligt skärmtangentbord"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Hantera skärmtangentbord"</string>
     <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="6922850403920596246">"Aktivera studsande tangenter för tillgänglighet med fysiskt tangentbord"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Långsamma tangenter"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Aktivera långsamma tangenter för att göra det fysiska tangentbordet mer tillgängligt"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Tröga tangenter"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Aktivera tröga tangenter för tillgänglighet med fysiskt tangentbord"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Markörens hastighet"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Lär dig rörelser för styrplattan"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Öppna startsidan"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Svep uppåt med tre fingrar var som helst på styrplattan"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Tillbaka"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sortera efter användningstid"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sortera efter senast användning"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sortera efter appnamn"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Användes senast"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Användes senast"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"aldrig"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Användningstid"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Tillgänglighet"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Tillgänglighetsinställningar"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Tryck tre gånger för att förstora"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Förstora med genväg"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Förstora med genväg och tryck snabbt tre gånger"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Om <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Öppna med tillgänglighetsknappen"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Öppna genom att hålla ned volymknapparna"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Öppna genom att trycka snabbt tre gånger"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Tryck snabbt två gånger på skärmen med två fingrar för att öppna"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Öppna med rörelse"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Använda tillgänglighetsrörelser"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Tryck på tillgänglighetsknappen <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> längst ned på skärmen om du vill använda denna funktion.\n\nByt funktion genom att hålla in tillgänglighetsknappen."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Tryck på tillgänglighetsknappen på skärmen om du vill använda den här funktionen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Håll båda volymknapparna nedtryckta om du vill använda den här funktionen."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Tryck snabbt tre gånger någonstans på skärmen för att starta och avsluta förstoring."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Tryck snabbt två gånger någonstans på skärmen med två fingrar för att starta och avsluta förstoring."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Svep uppåt med två fingrar från skärmens nederkant om du vill använda den här funktionen.\n\nByt funktion genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Svep uppåt med tre fingrar från skärmens nederkant om du vill använda den här funktionen.\n\nByt funktion genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Svep uppåt med två fingrar från skärmens nederkant om du vill använda en tillgänglighetsfunktion.\n\nByt funktion genom att svepa uppåt med två fingrar och hålla kvar dem."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Svep uppåt med tre fingrar från skärmens nederkant om du vill använda en tillgänglighetsfunktion.\n\nByt funktion genom att svepa uppåt med tre fingrar och hålla kvar dem."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Inst. för tillgänglighetsknapp"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Knappinställningar"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Genväg till <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Tillgänglighetsknapp"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Tillgänglighetsrörelse"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Håll ned volymknapparna"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"håll ned volymknapparna"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"tryck snabbt två gånger på skärmen med två 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="6863958573135995927">"tryck snabbt tre gånger på skärmen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Läs mer om tillgänglighetsknappen och tillgänglighetsrörelsen"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Använda tillgänglighetsknappen. Rörelsen är inte tillgänglig med navigering med tre knappar."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Kom snabbt åt tillgänglighetsfunktioner"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Så här kommer du igång"</b>\n"1. Öppna tillgänglighetsinställningarna\n2. Välj en funktion och tryck på genvägen\n3. Välj om du vill använda en knapp eller en rörelse för att komma åt funktionen"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Så här kommer du igång"</b>\n"1. Öppna tillgänglighetsinställningarna\n2. Välj en funktion och tryck på genvägen\n3. Välj den knapp du vill använda för att komma åt funktionen"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Så här kommer du igång&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Öppna tillgänglighetsinställningarna&lt;br/&gt; {1,number,integer}. Välj en funktion och tryck på genvägen&lt;br/&gt; {2,number,integer}. Välj om du vill använda en knapp eller en rörelse för att komma åt funktionen&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Så här kommer du igång&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Öppna tillgänglighetsinställningarna&lt;br/&gt; {1,number,integer}. Välj en funktion och tryck på genvägen&lt;br/&gt; {2,number,integer}. Välj den knapp du vill använda för att komma åt funktionen&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Använda knapp eller rörelse"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Läge"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Storlek"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Avsluta samtal med av/på-knapp"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Stor muspekarikon"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Gör muspekaren lättare att upptäcka"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Gör alla appar mörka"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Gäller för appar utan eget mörkt tema. Vissa appar kan få visningsproblem, som inverterade färger."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Ta bort animationer"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Minska rörelse på skärmen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Monoljud"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Använd vibration och haptik"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Vibration för alarm"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Vibration för medieinnehåll"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Tangentbordsvibration"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Vibration för ringsignal"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Vibration för aviseringar"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Tryckåterkoppling"</string>
@@ -2128,16 +2311,15 @@
     <string name="accessibility_service_action_perform_description" msgid="7807832069800034738">"Den kan registrera din användning av en app eller maskinvarusensor 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="7295448112784528196">"Stoppa"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Avbryt"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Vill du avbryta <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Om du trycker på <xliff:g id="STOP">%1$s</xliff:g> stoppas <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Inaktivera"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Behåll på"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vill du inaktivera <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Inga tjänster är installerade"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ingen tjänst har valts"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Ingen beskrivning har angetts."</string>
     <string name="settings_button" msgid="2195468788019730377">"Inställningar"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ljuskänslighet, fotofobi, mörkt tema, migrän, huvudvärk, läsläge, nattläge, minska ljusstyrkan, vitpunkt"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Användarvänlighet, enkel åtkomst, hjälp, stöd"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"syn, hörsel, blind, döv, motorik, fingerfärdighet, assisterande, stöd, användarvänlighet, tillgänglighet, hand, hjälp"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Fönsterförstoring, Zoom, Förstoring, Nedsatt syn, Förstora, göra större"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Textning, undertexter, undertextning, Transkribering, hörselskada, hörselnedsättning, CART, tal till text, undertext"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"färgkontrast"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motorik, mus"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"hörapparater, hörselnedsättning, hörselskada, cochleaimplantat, ljudförstärkande enheter, ljudbehandlare"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorik, mus, extern mus, huvudstyrning, anpassad mus, rullstol, styrspak"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"hörapparater, hörselskada, hörselnedsättning, cochleaimplantat, ljudförstärkande enheter, ljudbehandlare, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"hörselskada, hörselnedsättning, textning, teleprinter, texttelefon"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tre knappar"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"fingerfärdighet, motorik, senior, artrit, förslitningsskada, stroke, darrning, multipel skleros, cerebral pares, skakning, belastningsskada, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"fördröjning, fingerfärdighet, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"Utskrift"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Av"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 utskriftstjänst är på}other{# utskriftstjänster är på}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> återstår"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Ladda i <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> till"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Skärmtid"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Bakgrundstid"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Låg batterinivå"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Tillåt att appen körs i bakgrunden"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Vill du begränsa bakgrundsaktivitet?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Om du begränsar bakgrundaktiviteten för en app kanske den inte fungerar som den ska"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Appen kan inte begränsas eftersom batterioptimering inte har angetts.\n\nAktivera batterioptimering för att begränsa appen."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Hantera batterianvändning"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Tillåt bakgrundsanvändning"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Aktivera för uppdateringar i realtid – inaktivera för att spara batteri"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Obegränsad"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimerad"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Begränsad"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Se appar med högst batteriförbrukning"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Laddningen optimeras för att skydda batteriet"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Laddningen optimeras så att batteriet räcker längre"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Laddningen optimeras för att skydda batteriet"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Laddningen optimeras när du dockar enheten så att batteriet räcker längre"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Laddningen optimeras för att skydda batteriet"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Laddningen optimeras när du dockar enheten så att batteriet räcker längre"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Laddar fullt"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"För att skydda batteriet optimeras laddningen nästa gång surfplattan är dockad"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Läs mer om att laddning är pausad"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Återuppta laddning"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inkluderar batterikrävande aktivitet i bakgrunden"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Den här appen kan dra batteri i bakgrunden. Batteriet kan ta slut snabbare än beräknat."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ta bort"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Avbryt"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Ladda fullt"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Ett problem uppstod med att ladda tillbehöret"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Kontrollera laddningstillbehöret"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Läs mer om inkompatibel laddning"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Hantera appar automatiskt"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"sedan senaste fulladdningen"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Systemappar"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Avinstallerade appar"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Annat"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Beräknad återstående tid"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Tills fulladdad"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Totalt: mindre än en minut"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"I bakgrunden: mindre än en minut"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Skärmtid: mindre än en minut"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Under en minut"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Totalt: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"I bakgrunden: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Skärmtid: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"nu"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>–<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Diagram över batteriförbrukning"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Diagram över batteriförbrukning per dag"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Diagram över batteriförbrukning per timme"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Batteriprocent från <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> till <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Batteriförbrukning sedan batteriet senast var fulladdat"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Batteriförbrukning för <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Skärmtid sedan batteriet senast var fulladdat"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ringsignal vid nödsituationer"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Ange beteende vid nödsamtal"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Säkerhetskopiering"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"På"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Av"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Säkerhetskopiera och återställ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personliga data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Säkerhetskopiera data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobildata och wifi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Autosynka personuppgifter"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Autosynka arbetsuppgifter"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Synka privat data automatiskt"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Ändra cykel…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Dag i månaden för att återställa dataanvändningscykeln:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Inga data användes i appar under den här perioden."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Namn"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Typ"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Serveradress"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP-kryptering (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP-hemlighet"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec-identifierare"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"I förväg delad IPSec-nyckel"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec-användarcertifikat"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA-certifikat"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec-servercertifikat"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Visa avancerade alternativ"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS-sökdomäner"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-servrar (t.ex. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Vidarebefordrar rutter (t.ex. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Användarnamn"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Lösenord"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Spara kontoinformation"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(används inte)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(kontrollera inte servern)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(mottaget från server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Den här VPN-typen kan inte vara ansluten hela tiden"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Always-on VPN har bara stöd för numeriska serveradresser"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"En DNS-server måste anges för Always-on VPN"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS-serveradresser måste vara numeriska för Always-on VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Information som angavs stöder inte Always-on VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Avbryt"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ignorera"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Blockera anslutningar utan VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Ska VPN krävas vid anslutning?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Inte säker. Uppdatera till ett VPN med IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Detta VPN stöds inte och gick inte att starta."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Välj en VPN-profil som du alltid vill vara ansluten till. Nätverkstrafik tillåts bara när du är ansluten till detta VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Inga"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Funktionen Always-on VPN kräver en IP-adress för både server och DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER-varningar"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Ta emot meddelanden om kidnappning"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Upprepa"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Aktivera samtalshanterare"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Tillåt att tjänsten hanterar hur du ringer samtal."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Samtalshanterare"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Trådlösa varningar vid nödsituationer"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Nätverksoperatörer"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Åtkomstpunktsnamn"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status för SIM-kort"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM-status (SIM-kortsplats %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-kortet har ändrats."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-kortet ändrades"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Tryck för att konfigurera"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Fråga varje gång"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Du måste välja något"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Senaste apparna, standardappar"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Appar i jobbprofilen har inte åtkomst till aviseringar"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Lösenord och konton"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Sparade lösenord, autofyll, synkroniserade konton"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Förslag för inloggning och autofyll"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Standardappar"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonade appar"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Skapa en klon av en app så att du kan använda två konton samtidigt."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"betala, tryck, betalningar"</string>
     <string name="keywords_backup" msgid="707735920706667685">"säkerhetskopia, säkerhets kopia"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"rörelse"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ansikte, upplåsning, auktorisering, inloggning"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ansikte, låsa upp, auktorisera, logga in, fingeravtryck, biometri"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei-kod, meid, min, prl-version, imei-kod sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"textstorlek, stora tecken, stort teckensnitt, stor text, nedsatt syn, göra texten större, teckenförstoring, förstora teckensnitt"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"aktiv låsskärm alltid på, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etikett, läsare"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"tangentbord, haptik, vibrera,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volym, vibrera, stör ej"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medievolym"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Castvolym"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ljud vid uppstart"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Live Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Texta media automatiskt"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefonens högtalare"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Surfplattans högtalare"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Enhetens högtalare"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Hörlurar med sladd"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Ljud från kompatibel media blir mer omgivande"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Av"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Visa allt aviseringsinnehåll"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Visa känsligt innehåll endast i upplåst läge"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Visa inga aviseringar alls"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Hur vill du att låsskärmen ska visas?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Vad ska visas på låsskärmen?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Låsskärm"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Visa allt innehåll i jobbaviseringarna"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Dölj känsligt jobbinnehåll"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"De senaste konversationerna har tagits bort"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Konversationen har tagits bort"</string>
     <string name="clear" msgid="5092178335409471100">"Rensa"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Rensa <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Prioriterade och ändrade konversationer visas här"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"När du markerar en konversation som prioriterad eller gör andra ändringar för konversationer så visas det här. \n\nSå här ändrar du inställningarna för konversationer: \nÖppna aviseringspanelen genom att svepa nedåt från skärmens överkant. Sedan trycker du länge på en konversation."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Minimera"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Gradvis sänkning – aviseringar"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Använd gradvis sänkning för alla aviseringar"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Sänker gradvis volymen för aviseringar när du får många aviseringar i rad från samma app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Använd gradvis sänkning för alla konversationer"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Sänker gradvis volymen för aviseringar när du får många meddelanden i rad från samma chatt"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Använd inte gradvis sänkning för aviseringar"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Sänk aldrig aviseringsvolymen, oavsett hur många aviseringar i rad du får från samma app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Vibrera när enheten är upplåst"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Vibrera endast när skärmen är upplåst"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Använd för jobbprofiler"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Använd inställningarna för gradvis sänkning för aviseringar från den privata profilen i jobbprofilen"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Hjälptjänster för VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Inga installerade appar har begärt att få köras som hjälptjänster för VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Vill du tillåta att tjänsten för VR får tillgång till <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Av"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Fästa appar"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Genom att fästa en app kan du se till att den alltid är överst tills du lossar den igen. Du kan använda funktionen t.ex. om du vill låta någon du litar på prova på ett spel."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Det kan gå att öppna andra appar med appen du har fäst och personliga uppgifter kan bli tillgängliga. \n\nSå här fäster du appar: 	\n1. Aktivera Fästa appar 	\n2. Öppna översikten 	\n3. Tryck på appikonen högst upp på skärmen och sedan på Fäst"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Det kan gå att öppna andra appar med appen du har fäst och personliga uppgifter kan bli tillgängliga. \n\nOm du vill dela enheten med någon på ett säkert sätt kan du använda en gästanvändare i stället. \n\nSå här fäster du appar: 	\n1. Aktivera Fästa appar 	\n2. Öppna översikten 	\n3. Tryck på appikonen högst upp på skärmen och sedan på Fäst"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Det kan gå att öppna andra appar med appen du har fäst och personliga uppgifter kan bli tillgängliga. \n\nSå här fäster du appar: 	\n{0,number,integer}. Aktivera Fästa appar 	\n{1,number,integer}. Öppna översikten 	\n{2,number,integer}. Tryck på appikonen högst upp på skärmen och sedan på Fäst"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Det kan gå att öppna andra appar med appen du har fäst och personliga uppgifter kan bli tillgängliga. \n\nOm du vill dela enheten med någon på ett säkert sätt kan du använda en gästanvändare i stället. \n\nSå här fäster du appar: 	\n{0,number,integer}. Aktivera Fästa appar 	\n{1,number,integer}. Öppna översikten 	\n{2,number,integer}. Tryck på appikonen högst upp på skärmen och sedan på Fäst"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Följande gäller när du fäster appar: \n\n•	 Personliga uppgifter kan bli tillgängliga\n		(t.ex. kontakter och innehåll i e-post) \n•	 Det kan gå att öppna andra appar med appen som har fästs \n\nLåt bara personer du litar på använda fästa appar."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Kräv ett upplåsningsmönster för att lossa appar"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Be om pinkod innan appen lossas"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Be om lösenord innan skärmen lossas"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Lås enheten när skärmen lossas"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Bekräfta radering av SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Bekräfta att du vill rensa dina SIM-kort"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Verifiera din identitet innan du raderar ett eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Avancerat minnesskydd i beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Avancerat minnesskydd"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Inställningar för appar som inte används"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Pausa appaktivitet om appen inte används"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Ta bort behörigheter, radera tillfälliga filer och hindra aviseringar"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Hantera appen om den inte används"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Ta bort behörigheter, radera tillfälliga filer, hindra aviseringar och arkivera appen"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Alla appar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Installerade appar"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Snabbappar"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Ledigt"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Minne som används av appar"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app har använt minne under senaste {time}}other{# appar har använt minne under senaste {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Aktivera profilering av minnesanvändning"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Profilering av minnesanvändning kräver ytterligare systemresurser."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Minnesprofilering är inaktiverat"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekvens"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximal användning"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Ingen data används"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Visa ovanpå andra appar"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Tillåt visning ovanpå andra appar"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Tillåt att den här appen visas ovanpå andra appar. Appen kan se var du trycker eller ändra vad som visas på skärmen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Ändra uppspelning av media"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Tillåt att appar ändrar uppspelning av media"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Tillåt att den här appen ändrar vilken ansluten enhet som spelar upp ljud eller video från andra appar. Om du tillåter det kan den här appen få åtkomst till en lista över tillgängliga enheter, till exempel hörlurar och högtalare, och välja vilken utdataenhet som används för att streama eller casta ljud eller video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Åtkomst till alla filer"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Tillåt hanteringsåtkomst för alla filer"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Tillåt att den här appen får läsa, redigera och radera alla filer på enheten och eventuella anslutna lagringsutrymmen. Om du beviljar behörigheten kan appen komma åt filer utan att du informeras."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Har åtkomst till alla filer"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Röstaktiveringsappar"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Tillåt röstaktivering"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Röstaktivering aktiverar godkända appar via rösten med dina röstkommandon. Inbyggda adaptiva sensorer ser till att data förblir privat för dig.\n\n"<a href="">"Mer om skyddade och adaptiva sensorer"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Aviseringar i helskärm"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Tillåt aviseringar i helskärm från den här appen"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Tillåt att den här appen visar aviseringar som täcker hela skärmen när enheten är låst. Sådana aviseringar kan användas i appar för att lyfta fram alarm, inkommande samtal och andra brådskande aviseringar."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Datavarning vid <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Datagräns på <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Datavarning vid <xliff:g id="ID_1">^1</xliff:g>/datagräns på <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operatörens dataredovisning kan skilja sig från enhetens dataredovisning."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Data som används via operatörer utesluts"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> har använts"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Ställ in en datavarning"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Uppdaterades för <xliff:g id="ID_1">^2</xliff:g> sedan"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Uppdaterades av <xliff:g id="ID_1">^1</xliff:g> alldeles nyss"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Uppdaterades alldeles nyss"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Visa abonnemang"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Visa detaljer"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Databesparing"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Obegränsad data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> förbrukade mer batteri än vanligt i bakgrunden"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> förbrukade mer batteri i förgrunden"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> förbrukade mer batteri än vanligt i förgrunden"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Avvikelse i batteriförbrukningen"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Hög batteriförbrukning"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Hög batteriförbrukning i bakgrunden"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Hög batteriförbrukning i förgrunden"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Utvecklarrutor för snabbinställningar"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Inaktivera tidsgräns för adb-auktorisering"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Inaktivera automatiskt återkallande av adb-auktorisering för system som inte har återanslutit inom standardtiden (7 dagar) eller den tid som användaren ställt in (minst 1 dag)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscopespårning"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensorer är inaktiverade"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Inställningar för jobbprofilen"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Sök efter kontakter från jobbkatalogen i privata appar"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"systemnavigering, navigering med två knappar, navigering med tre knappar, navigering med rörelser, svepa"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Aktivera assistenten genom att svepa"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Svep uppåt från något av de nedre hörnen för att aktivera appen digital assistent."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Svep uppåt från något av de nedre hörnen för att aktivera appen digital assistent"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Håll hemknappen nedtryckt för att anropa Assistent"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Håll hemknappen nedtryckt för att anropa den digitala assistentappen."</string>
     <string name="low_label" msgid="6525629096999711220">"Låg"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Autofylltjänst"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Standardtjänst för autofyll"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Lösenord"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Lösenord, nycklar och datatjänster"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Ytterligare leverantörer"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Föredragen tjänst"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Ytterligare tjänster"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# lösenord}other{# lösenord}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, fyll, autofyll, lösenord"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, nyckel, lösenord"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fyll, autofyll, data, nyckel, lösenord"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Ändring"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Öppna"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Inget har valts"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Kontrollera att du litar på den här appen&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofyll&gt;%1$s&lt;/xliff:g&gt; identifierar vad som kan fyllas i automatiskt utifrån vad som visas på skärmen."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Vill du använda &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; använder det som visas på skärmen för att avgöra vad som kan fyllas i automatiskt. Nya lösenord, nycklar och annan information sparas här från och med nu."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Lösenord, nycklar och datatjänster"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Använd &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nya lösenord, nycklar och annan information sparas här från och med nu. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan använda det som visas på skärmen för att avgöra vad som kan fyllas i automatiskt."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Föredragen tjänst för lösenord, nycklar och autofyll"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vill du stänga av %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vill du inaktivera den här tjänsten?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Sparade uppgifter som lösenord, nycklar, betalningsmetoder och annan information fylls inte i när du loggar in. Om du vill använda dina sparade uppgifter väljer du en lösenords-, nyckel- eller datatjänst."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Lösenord, nycklar och autofyll"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Vill du inaktivera alla tjänster?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;Lösenord, nycklar och andra sparade uppgifter blir inte tillgängliga för autofyll när du loggar in"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Ändra tjänsten du föredrar till &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Nya lösenord, nycklar och andra uppgifter sparas från och med nu här. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kan använda det som visas på skärmen för att avgöra vad som kan fyllas i automatiskt"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Vill du använda %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Inaktivera"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Ändra"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Du kan bara ha fem aktiva tjänster"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Inaktivera minst en tjänst för att lägga till en annan"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s använder det som visas på skärmen för att avgöra vad som kan fyllas i automatiskt."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Gräns för lösenord, nycklar och datatjänster"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Du kan ha upp till fem lösenord, nycklar och datatjänster aktiva samtidigt. Inaktivera en tjänst om du vill lägga till fler."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Gräns för lösenord, nycklar och datatjänster"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Du kan ha upp till fem lösenord, nycklar och datatjänster aktiva samtidigt. Inaktivera en tjänst om du vill lägga till fler."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Stäng av"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Autofyll"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Loggningsnivå"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Kompabilitetsändringar för appar kan endast modifieras för felsökningsbara appar. Installera en felsökningsbar app och försök igen."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Beroende av en annan inställning"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Konto"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d konton"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Enhetens namn"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Basinformation"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Juridisk information och föreskrifter"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Tillåt att appen startas när en NFC-etikett skannas.\nOm den här behörigheten är aktiverad blir appen tillgänglig som alternativ när en etikett identifieras."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Spela upp media på"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Spela upp <xliff:g id="LABEL">%s</xliff:g> på"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Ljud spelas upp på"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Den här enheten"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Ej tillgänglig under samtal"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Svara med"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Ljud av"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"För att aktivera ändrar du först alternativet ”Håll av/på-knappen nedtryckt” till startmenyn."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Nätverksinformation"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Enhetens namn är synligt för appar i mobilen. 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="devices_title" msgid="649715719278562515">"Enheter"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Välj nätverk"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Frånkopplad"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Namn"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Färg (används i kompatibla appar)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Spara"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Använd SIM-kort"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Använd det här SIM-kortet"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Av"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Ta ut SIM-kortet om du vill inaktivera det"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Aktivera <xliff:g id="CARRIER">%1$s</xliff:g> genom att trycka"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Radera SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Ta ut SIM-kortet om du vill inaktivera det"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Tryck för att aktivera SIM-kortet från <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Radera eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Önskad nätverkstyp"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Ändra nätverksläge"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Önskad nätverkstyp"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Kontakta din nätoperatör för priser."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Appars dataanvändning"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Ogiltigt nätverksläge: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ignorera."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellitmeddelanden"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Skicka och ta emot sms via satellit. Ingår i kontot."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Skicka och ta emot sms via satellit. Ingår inte i kontot."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellitmeddelanden"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Om satellitmeddelanden"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Att skicka och ta emot sms via satellit ingår i kvalificerade <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-konton"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Ditt <xliff:g id="CARRIER_NAME">%1$s</xliff:g>-abonnemang"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Satellitmeddelanden ingår i kontot"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Satellitmeddelanden ingår inte i kontot"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Lägg till satellitmeddelanden"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Så fungerar det"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"När du inte har ett mobilnätverk"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefonen ansluter automatiskt till en satellit. Den bästa anslutningen får du utomhus under bar himmel."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"När telefonen ansluter till en satellit"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Du kan sms:a vem som helst, inklusive räddningstjänsten. Telefonen återansluter till ett mobilnätverk när det finns ett tillgängligt."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Satellitmeddelanden kan ta längre tid och är bara tillgängliga i vissa områden. Väder och vissa byggnader kan påverka din satellitanslutning. Samtal är inte tillgängliga via satellit.\n\nDet kan ta lite tid innan ändringar i kontot dyker upp i inställningarna. Kontakta <xliff:g id="CARRIER_NAME">%1$s</xliff:g> för mer information."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Mer om satellitmeddelanden"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Namn på åtkomstpunkter"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Inte tillgänglig vid anslutning till <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Vill du byta till <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Vill du byta till SIM-kort?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Vill du använda <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Du kan bara ha ett aktivt SIM-kort åt gången.\n\nOm du byter till <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> avslutas inte tjänsten hos <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Du kan bara ha ett aktivt eSIM-kort åt gången.\n\nOm du byter till <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> avslutas inte tjänsten hos <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Du kan bara ha ett aktivt SIM-kort åt gången.\n\nTjänsten hos <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> avslutas inte för att du byter SIM-kort."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Du kan bara ha ett aktivt SIM-kort åt gången.\n\nNär du byter till <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> avslutas inte tjänsten från <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Du kan bara ha ett aktivt eSIM åt gången.\n\nNär du byter till <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> avslutas inte tjänsten från <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Du kan bara ha ett aktivt SIM-kort åt gången.\n\nNär du byter SIM-kort avslutas inte tjänsten från <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Du kan använda två SIM-kort samtidigt. Inaktivera ett annat SIM-kort om du vill använda <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Byt till <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Stäng av <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Tjänsten avslutas inte för att du byter SIM-kort"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Ansluter till nätverket …"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Byter till <xliff:g id="CARRIER_NAME">%1$s</xliff:g> för samtal och meddelanden …"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Det gick inte att byta operatör"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Det gick inte att byta operatör på grund av ett fel."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Aktiverar SIM-kortet …"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Byter till <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Det går inte att byta SIM-kort"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Något gick fel. Det går inte att byta SIM-kort."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vill du inaktivera <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vill du inaktivera SIM-kortet?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM-kortet inaktiveras <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Det gick inte att inaktivera operatören"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Något gick fel och operatören gick inte att inaktivera."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Det går inte att inaktivera SIM-kortet"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Något gick fel och det gick inte att inaktivera SIM-kortet."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Vill du använda två SIM-kort?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Du kan ha två SIM-kort aktiverade samtidigt på enheten. Om du vill fortsätta att använda ett SIM-kort åt gången trycker du på Nej tack."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Vill du starta om enheten?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Nej tack"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Avbryt"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Byt"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Inaktivera"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Det gick inte att aktivera SIM-kortet"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Testa att aktivera SIM-kortet igen. Starta om enheten om problemet kvarstår."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Konfigurera SIM-kortet"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Ställ in inställningarna för mobilnätverk på att använda flera SIM-kort på den här enheten"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Sätt etikett på SIM-korten"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Du ser dessa etiketter när du ringer samtal, skickar sms, använder data och i inställningarna"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM-kortsetikett"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etikett"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Välj SIM-kort att använda"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Du kan använda två SIM-kort samtidigt"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Ställ in primära SIM-kort"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Välj vilka SIM-kort du vill använda som standard för samtal, sms och data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Dina primära SIM-kort"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Samtal"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Sms"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Automatiskt databyte"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Använd data från båda SIM-korten beroende på täckning och tillgänglighet"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Endast data"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Ställ in"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Nästa"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Aktiverar <xliff:g id="CARRIER_NAME">%1$s</xliff:g> …"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobilnätverk"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefonnummer"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM-kortsetikett och -färg"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Nätverksaktivering"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operatörsbyte"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> är aktiv"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-kortet från <xliff:g id="CARRIER_NAME">%1$s</xliff:g> är aktivt"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Tryck för att uppdatera SIM-inställningarna"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Du har bytt till <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Du har bytt till en annan operatör"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobilnätverket har ändrats"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Konfigurera det andra SIM-kortet"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Välj vilket SIM-kort som ska vara aktivt eller använd två SIM-kort samtidigt"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Välj vilken du vill använda"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{1 nummer har lagts till på den här enheten, men du kan bara använda ett i taget}=2{2 nummer har lagts till på den här enheten, men du kan bara använda ett i taget}other{# nummer har lagts till på den här enheten, men du kan bara använda ett i taget}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Aktiverar <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Det går inte att aktivera profilen just nu"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Välj vilket SIM-kort du vill använda"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{1 SIM-kort har lagts till på den här enheten, men du kan bara använda ett i taget}=2{2 SIM-kort har lagts till på den här enheten, men du kan bara använda ett i taget}other{# SIM-kort har lagts till på den här enheten, men du kan bara använda ett i taget}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Aktiverar <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Det går inte att aktivera detta SIM just nu"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Vill du använda <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> används för mobildata, samtal och sms."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Det finns inga aktiva SIM-kort"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Om du senare vill använda mobildata, samtalsfunktioner och sms öppnar du nätverksinställningarna"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-kort"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Vill du rensa det här eSIM-kortet?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Om du rensar det här SIM-kortet tas tjänsten hos <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> bort från enheten.\n\nTjänsten hos <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> avslutas inte."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Det här tar bort <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>-tjänsten från den här enheten, men ditt <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>-abonnemang avslutas inte."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Rensa"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Rensar SIM-kort …"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Det gick inte att rensa SIM-kortet"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Det gick inte att rensa SIM-kortet på grund av ett fel.\n\nStarta om enheten och försök igen."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Rensar eSIM …"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Det gick inte att rensa detta eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Något gick fel och detta eSIM rensade inte.\n\nStarta om enheten och försök igen."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Anslut till enhet"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Appen <xliff:g id="APPNAME">%1$s</xliff:g> vill ansluta till enheten via ett tillfälligt wifi-nätverk"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Inga enheter hittades. Kontrollera att enheterna är på och går att ansluta till."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Nödsamtal"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Nödsamtal via wifi stöds inte av din operatör.\nEnheten byter automatiskt till ett mobilnätverk vid nödsamtal.\nNödsamtal fungerar endast i områden där mobilnätverket har täckning."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Använd wifi vid samtal så att kvaliteten blir bättre"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Reserv för samtal"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Använd SIM-kortets mobildata för samtal via <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> om <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> inte är tillgängligt eller roaming är aktiverat."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"reserv för samtal"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Inkommande mms"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Det går inte att skicka mms"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Tryck för att tillåta mms via <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> när mobildata är inaktiverat"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Information om jobbpolicy"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Inställningar som hanteras av IT-administratören"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"Grafikprocessor"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Starta med sidstorlek på 16 kB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Starta med kärna kompatibel med sidor på 16 kB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Vill du starta om med en kärna som är kompatibel med sidor på 16 kB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"VARNING! Vissa appar kanske inte är kompatibla med det här läget. Enheten startas om efter bekräftelse."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Vill du starta om med en kärna som är kompatibel med sidor på 4 kB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Enheten startas om efter bekräftelse."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Det gick inte att uppdatera kärnan till en kärna som är kompatibel med sidor på 16 kB."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Tillämpar ändring"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Felrapportshanterare"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Avgör vilken app som hanterar Genväg till felrapport på enheten."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Privat"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Tillåt att appar som får visas ovanpå andra appar överlagras på skärmar med inställningar"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Tillåt skenmodem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Tillåt att en skenmodemtjänst körs på enheten för instrumenteringstest. Aktivera inte detta under normal användning av telefonen"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Inaktivera skärmdelningsskydd"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Inaktiverar app- och aviseringsskydd som tillämpats av systemet under skärmdelning"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Fäst mediespelare"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Mediespelaren förblir öppen i snabbinställningarna så att du snabbt kan återuppta uppspelningen"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Visa media på låsskärmen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Mediespelaren finns tillgänglig på låsskärmen så att du kan återuppta uppspelningen snabbt"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Visa medierekommendationer"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Visa medierekommendationer från assistenten"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Baserat på din aktivitet"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Dölj spelare"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Visa spelare"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Tillåt programvarutillägg för kameran"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Aktiverar implementeringen av standardprogramvaran för avancerade kamerafunktioner, till exempel videoinspelning utan att använda ögonen."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth aktiveras"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-kort"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM-kort"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-kort"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktiv"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Inaktiv"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"På"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Av"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Standardinställning för <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"samtal"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"Sms"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Ljud från kompatibel media blir mer omgivande"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Huvudspårning"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Ljudet ändras när du rör på huvudet för att låta mer naturligt"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Synkronisera behörigheter"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Ge <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> samma appbehörigheter som du har tillåtit på <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Synkronisera behörigheter från telefonen"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Ge klockan samma appbehörigheter som du har gett den här telefonen"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Ljudenhetstyp"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Okänd"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Högtalare"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Medelhög"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Hög"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Denna app kan bara vara öppen i ett fönster"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"På"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Av"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Av"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Av"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"På"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Av"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"På"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Av"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Ändrar ljusa skärmar till mörka och tvärtom"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Zooma in på skärmen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Av"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Av"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Söker efter bedrägliga appar"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kontrollera appaktivitet för att upptäcka nätfiske"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Sök efter bedrägliga appar"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Sök efter bedrägliga jobbappar"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Nu är lösenordet inställt"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Visa pekare när du håller muspekaren över något"</string>
 </resources>
diff --git a/res/values-sw/arrays.xml b/res/values-sw/arrays.xml
index c448b3b..947c928 100644
--- a/res/values-sw/arrays.xml
+++ b/res/values-sw/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Inapatikana"</item>
     <item msgid="6096962300722555553">"Nje-ya-eneo"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Imezimwa"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Tumia Mfumo Chaguomsingi: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Baada ya dakika 1"</item>
     <item msgid="1574040255478150028">"Baada ya dakika 5"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-sw/strings.xml b/res/values-sw/strings.xml
index 7189e0e..aec94f8 100644
--- a/res/values-sw/strings.xml
+++ b/res/values-sw/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Sasa wewe ni msanidi programu!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Hakuna haja, tayari wewe ni msanidi programu."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Tafadhali washa chaguo za wasanidi programu kwanza."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Ni watumiaji wasimamizi pekee wanaoweza kufikia mipangilio ya msanidi programu."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Mfumo"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Inatumika"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Haitumiki"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Skrini ya mbele huwaka unapokunja kifaa chako"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Video na michezo pekee na zaidi"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Skrini ya mbele huwaka unapofungua programu zinazozuia skrini yako kujizima"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Telezesha kidole juu ili uendelee"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Kunja simu yako kisha utelezeshe kidole juu kwenye mwonekano wa mbele ili uendelee kutumia programu, au subiri sekunde chache ili skrini ifungwe"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Kamwe"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Skrini ya mbele hufungwa unapokunja kifaa chako"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Ruhusu skrini ijizungushe kiotomatiki"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Zinazofanana"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Milio ya simu na kengele"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Sauti wakati wa simu"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Maudhui"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Sauti nyingine za mfumo na arifa"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Sauti za maudhui na mfumo"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Arifa"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Kwa chaguomsingi, sauti inayotoka hubainishwa na programu mahususi"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Kifaa cha Bluetooth kisicho na jina"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Inatafuta"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Ghairi"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Zima Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Huzima kipengele cha Bluetooth LE audio ikiwa kifaa kinatumia maunzi yenye uwezo wa kutumia LE audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Hali ya Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Onyesha LE Audio kwenye Maelezo ya Kifaa"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Washa Orodha ya walioruhusiwa kufikia Bluetooth LE audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Washa kipengele cha orodha ya vinavyoruhusiwa kufikia Bluetooth LE audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Kwepa Faili Zilizoruhusiwa za Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Tumia LE Audio kwa chaguomsingi hata ikiwa kifaa cha LE Audio hakijathibitishwa kuwa kimetimiza masharti."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Vifaa vya kuhifadhia data"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Vifaa vya kupiga simu"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Vifaa vingine"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Vifaa vilivyohifadhiwa"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Zinazohusishwa na akaunti"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Kilichotumiwa awali kwenye akaunti"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth itawaka ili ioanishe"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Mapendeleo ya muunganisho"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Vilivyounganishwa awali"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Imewasha Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Angalia vyote"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Angalia vyote"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Kubonyeza kitufe cha nyuma"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Wasifu wa kazini)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Andika kwenye sehemu za maandishi"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Puuza mibofyo yote ya kitufe cha stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Kushiriki faili ya sauti"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Shiriki faili ya sauti"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Simu na kengele"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Unganisha kwenye mtiririko wa maudhui ya sauti ukitumia msimbo wa QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Mitiririko ya maudhui ya sauti haipo karibu."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Tarehe na saa"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Seva mbadala"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Futa"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Ungependa kuweka %s kwenye lugha unazopendelea?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Hii huruhusu programu na vifaa kujua kuwa pia unapendelea lugha hii."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Mipangilio ya kifaa chako na mapendeleo ya kimaeneo yatabadilika."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Badilisha"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s haipatikani"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Jumamosi"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Ikiwa programu hairuhusu mapendeleo ya kimaeneo, programu itatumia mipangilio yake chaguomsingi ya lugha."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Pata maelezo zaidi kuhusu mapendeleo ya lugha."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Mapendeleo ya ziada"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Maneno ya kukutambulisha"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Bainisha jinsi ungependa kutambulishwa"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Programu zinaweza kutumia maneno ya kukutambulisha kuwekea mapendeleo jinsi ya kuwasiliana nawe."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Hayajabainishwa"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Jinsia ya kike"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Jinsia ya kiume"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Wastani"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Ungependa kuondoa lugha iliyochaguliwa?}other{Ungependa kuondoa lugha zilizochaguliwa?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Maandishi yataonyeshwa katika lugha nyingine."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Haiwezi kuondoa lugha zote"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Kutambua Mahali"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Tumia kipengele cha mahali"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Umezima"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Pata maelezo zaidi kuhusu Mipangilio ya Mahali."</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="3574930966097093550">"Ili ubadilishe idhini ya mahali, fungua Mipangilio &gt; Usalama na Faragha &gt; Vidhibiti vya faragha"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Akaunti"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Usalama"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Vitambulisho na usimbaji fiche"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Kwa matokeo bora, tumia ulinzi wa skrini ambao umethibitishwa na Made for Google. Ukitumia ulinzi mwingine wa skrini, alama ya kidole ya mtoto wako huenda isifanye kazi."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Kufungua kupitia Saa"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Ukiweka mbinu ya Kufungua kwa Uso na Kufungua kwa Alama ya Kidole, simu yako itaomba uweke alama ya kidole chako unapovaa barakoa au ukiwa kwenye eneo lenye giza.\n\nUnaweza kufungua kwa kutumia saa yako uso au alama ya kidole chako isipotambuliwa."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Unaweza kufungua kwa kutumia saa yako, alama ya kidole chako isipotambuliwa."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Unaweza kufungua kwa kutumia saa yako, uso wako usipotambuliwa."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Ukiweka mipangilio ya Kufungua kwa Uso na Kufungua kwa Alama ya Kidole, utahitaji kuweka alama ya kidole kwenye simu yako wakati umevaa barakoa au ukiwa penye giza.\n\nKipengele cha Kufungua kupitia Saa ni njia nyingine rahisi ya kufungua simu yako, kwa mfano, wakati vidole vyako vina unyevu au uso wako hautambuliwi."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Kipengele cha Kufungua kupitia Saa ni njia nyingine rahisi ya kufungua simu yako, kwa mfano, wakati alama ya kidole haitambuliwi."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Kipengele cha Kufungua kupitia Saa ni njia nyingine rahisi ya kufungua simu yako, kwa mfano, wakati uso wako hautambuliwi."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Tumia alama ya kidole au saa"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Tumia uso au saa"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Tumia uso, alama ya kidole au saa"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Kipengele cha Kufungua kupitia Saa ni njia nyingine rahisi ya kufungua simu hii, kwa mfano, wakati vidole vyako vina unyevu au uso wako hautambuliwi.\n\nUnaweza kutumia saa yako kufungua simu wakati:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Si sasa"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Endelea"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Zaidi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Jinsi inavyofanya kazi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Lazima uwe umefungua saa yako, umeivaa na iwe karibu na simu hii. Hutahitaji kufungua tena saa yako ukiwa umeivaa."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Ukifungua simu hii, utaarifiwa kwenye saa yako. Ikiwa umeifungua bila kukusudia, gusa arifa ili ufunge simu tena."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Uamuzi ni wako"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Unaweza kuondoa saa yako kwenye kipengele cha Kufungua kupitia Saa wakati wowote katika Mipangilio"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Gusa arifa"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Telezesha kidole juu kwenye skrini iliyofungwa"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Chagua saa yako"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Saa zinazopatikana"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Ghairi"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Thibitisha"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Kila kitu ni shwari!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Sasa unaweza kutumia saa yako kufungua simu hii unapotelezesha kidole juu kwenye skrini iliyofungwa au unapogusa arifa"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Nimemaliza"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Kufungua kupitia Saa"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Unaweza kutumia simu yako kufungua simu hii unapotelezesha kidole kwenda juu kwenye skrini iliyofungwa au kugusa arifa"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Ili utumie kipengele cha Kufungua kupitia Saa, ni sharti saa yako iwe imefunguliwa, uwe umeivaa, iweze kuifikia na iunganishwe kwenye simu hii. Muunganisho ukikatizwa, utahitaji kufungua simu kabla ya kuweza kutumia kipengele cha Kufungua kupitia Saa.\n\nKumbuka:\nUnaweza kuweka mipangilio ya saa moja tu kwa wakati mmoja. Ili uweke mipangilio ya saa nyingine, ondoa kwanza mipangilio ya saa iliyopo."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Usalama"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Faragha"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Wasifu wa kazini"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Sehemu ya faragha"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Funga na ufiche programu za faragha"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Weka programu za faragha kwenye nafasi tofauti unayoweza kuficha au kufunga"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Mbinu ya kufunga sehemu ya faragha"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Unaweza kufungua sehemu yako ya faragha kupitia mbinu unayotumia kufungua kifaa chako au uchague mbinu tofauti ya kufunga"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Tumia mbinu ya kufunga skrini ya kifaa"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Kipengele cha Kufungua kwa Alama ya Kidole na Uso"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Kufungua kwa Alama ya Kidole"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Kipengele cha Kufungua kwa Uso"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Gusa ili uweke mipangilio"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Kufungua sehemu ya faragha kwa alama ya kidole"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Kufungua sehemu ya faragha kwa kutumia uso"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Mbinu za kufungua"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Mbinu sawa ya kufunga skrini ya kifaa"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Ungependa kuchagua mbinu mpya ya kufunga sehemu ya faragha?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Kufunga sehemu ya faragha kiotomatiki"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Unaweza kufunga sehemu yako ya faragha kiotomatiki ikiwa hujatumia kifaa chako kwa muda"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Kila wakati kifaa kinapojifunga"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Ikikaa kwa dakika 5 bila shughuli"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Kisifunge kamwe"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ficha wakati umefunga"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ficha sehemu ya faragha ikiwa imefungwa"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Ili kuzuia watu wengine wasijue kuwa una sehemu ya faragha kwenye kifaa chako, unaweza kuificha kwenye orodha ya programu"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Kufikia sehemu ya faragha ikiwa imefichwa"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Kwenye orodha yako ya programu, andika \"sehemu ya faragha\" kwenye upau wa kutafutia"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Gusa kigae cha sehemu ya faragha"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Fungua sehemu yako ya faragha"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Umezima"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Umewasha"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Mfumo"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Futa nafasi ya faragha"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Ungependa kufuta sehemu ya faragha?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Sehemu yako ya faragha itaondolewa kwenye kifaa hiki. Data na programu zote za faragha zitafutwa. Huwezi kutendua kitendo hiki."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Akaunti zifuatazo zitaondelewa kwenye sehemu yako ya faragha:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Futa"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Inafuta sehemu ya faragha…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Hatua hii itachukua dakika chache"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Imefuta sehemu ya faragha"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Imeshindwa kufuta sehemu ya faragha"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Nafasi ya faragha imefunguliwa"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Weka mbinu ya kufunga skrini"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Ili utumie nafasi ya faragha, weka kipengele cha kufunga skrini kwenye kifaa hiki"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Weka mbinu ya kufunga skrini"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Ghairi"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Acha"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Weka mipangilio"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Kuweka mipangilio ya sehemu ya faragha"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Weka programu za faragha kwenye nafasi tofauti unayoweza kuficha au kufunga"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Utaratibu wake"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Unaweza kufikia sehemu ya faragha upande wa chini wa orodha ya programu zako"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Programu katika sehemu ya faragha zinalindwa kupitia mbinu ya kufunga"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Arifa za programu kwenye sehemu ya faragha hufichwa wakati umeifunga"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Programu zilizo kwenye sehemu yako ya faragha hazitaonekana kwenye Kidhibiti cha ruhusa, dashibodi ya faragha na mipangilio mingine wakati umefunga sehemu yako ya faragha.\n\nSehemu yako ya faragha haiwezi kuhamishiwa kwenye kifaa kipya. Utahitaji kuweka mipangilio ya sehemu nyingine ya faragha ikiwa ungependa kuitumia kwenye kifaa kingine.\n\nMtu yeyote anayeunganisha kifaa chako kwenye kompyuta au anayeweka programu hatari kwenye kifaa chako huenda akafikia sehemu yako ya faragha."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Inaweka mipangilio ya sehemu ya faragha…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Arifa kutoka programu za sehemu ya faragha hufichwa ukiwa umeifunga"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Kufungua sehemu ya faragha ili utume picha au faili"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Baadhi ya programu tayari zimewekwa kwenye sehemu yako 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_lockscreen_title" msgid="6034864097861137509">"Ungependa kutumia kipengele cha kufunga skrini kufungua sehemu ya faragha?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Unaweza kufungua sehemu ya faragha kupitia mbinu unayotumia kufungua kifaa chako au uchague mbinu tofauti ya kufunga"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Tumia mbinu ya kufunga skrini"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Chagua mbinu mpya ya kufunga"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Tayari!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Ili upate sehemu yako ya faragha, nenda kwenye programu zako zilizoorodheshwa kisha uende chini"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Nimemaliza"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Nenda chini ili upate sehemu ya faragha"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Ingia katika akaunti"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Ingia katika akaunti ya kutumia sehemu yako ya faragha"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Si sasa"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Endelea"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Kuchagua mbinu ya kufunga sehemu yako ya faragha"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Unaweza kufungua sehemu yako ya faragha ukitumia alama ya kidole chako. Ili kudumisha usalama, chaguo hili linahitaji mbinu mbadala ya kufunga skrini."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Weka PIN ya sehemu yako ya faragha"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Weka nenosiri la sehemu yako ya faragha"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Weka mchoro wa sehemu yako ya faragha"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Unaweza kuongeza hadi alama za vidole <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Umeongeza idadi ya juu inayoruhusiwa ya alama za kidole"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Haiwezi kuongeza alama zaidi za kidole"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Mchoro"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Nenosiri"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ungependa kufuta mbinu ya kufunga skrini?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Ungependa kuondoa aina zote za mbinu za kufungua kifaa?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Ungependa kuondoa ulinzi wasifu?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Mchoro hulinda simu yako ikipotea au ikiibwa."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Mchoro hulinda simu yako ikipotea au ikiibwa.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Hatua hii hufuta muundo wa alama ya kidole uliohifadhiwa kwenye kifaa chako. Muundo wa uso wako pia utafutwa kabisa kwa usalama. Hutaweza kutumia uso wala alama ya kidole chako kuthibitisha katika programu."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN hulinda simu yako ikipotea au ikiibwa"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Utapoteza data iliyohifadhiwa kama vile PIN yako.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kadi zilizowekewa mipangilio ya kulipa kielektroniki zitaondolewa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pochi na programu zingine zinazohitaji mbinu ya kufungua kifaa huenda zisifanye kazi vizuri."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN hulinda simu yako ikipotea au ikiibwa.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Hatua hii pia hufuta muundo wa alama ya kidole uliohifadhiwa kwenye kifaa chako. Hutaweza kutumia alama ya kidole chako kuthibitisha katika programu."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Utapoteza data iliyohifadhiwa kama vile PIN yako na muundo wa alama ya kidole.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kadi zilizowekewa mipangilio ya kulipa kielektroniki zitaondolewa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pochi na programu zingine zinazohitaji mbinu ya kufungua kifaa huenda zisifanye kazi vizuri."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN hulinda simu yako ikipotea au ikiibwa.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Muundo wa uso wako pia utafutwa kabisa kwa usalama. Hutaweza kutumia uso wako kuthibitisha katika programu."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Utapoteza data iliyohifadhiwa kama vile PIN yako na muundo wa uso.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kadi zilizowekewa mipangilio ya kulipa kielektroniki zitaondolewa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pochi na programu zingine zinazohitaji mbinu ya kufungua kifaa huenda zisifanye kazi vizuri."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN hulinda simu yako ikipotea au ikiibwa.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Hatua hii hufuta muundo wa alama ya kidole uliohifadhiwa kwenye kifaa chako. Muundo wa uso wako pia utafutwa kabisa kwa usalama. Hutaweza kutumia uso wala alama ya kidole chako kuthibitisha katika programu."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Utapoteza data iliyohifadhiwa kama vile PIN yako, miundo ya uso na alama ya kidole.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kadi zilizowekewa mipangilio ya kulipa kielektroniki zitaondolewa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Pochi na programu zingine zinazohitaji mbinu ya kufungua kifaa huenda zisifanye kazi vizuri."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Nenosiri hulinda simu yako ikipotea au ikiibwa"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Nenosiri hulinda simu yako ikipotea au ikiibwa.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Je, ungependa kuoanisha na <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Weka kifaa kipya kwenye seti iliyopo iliyoratibiwa"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Thibitisha ili uweke kifaa chako cha pili cha sauti"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Msimbo wa kuoanisha Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Andika msimbo wa kuoanisha kisha ubonyeze \"Return\" au \"Enter\""</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN inajumlisha herufi au ishara"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Lazima iwe na tarakimu 16"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Unawezahitaji pia kucharaza PIN hii kwenye kifaa kingine."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Unaweza pia kuhitaji kucharaza nenosiri hili kwenye kifaa kingine."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Thibitisha ili uoanishe na seti inayolengwa"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Thibitisha ili uunganishe na kifaa cha sauti"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Ruhusu ufikiaji wa anwani na historia ya simu ulizopiga"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Ruhusu pia ufikiaji wa anwani na rekodi ya simu zilizopigwa"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Maelezo yatatumiwa kwa matangazo ya simu na zaidi"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Haikuweza kuunganisha kwa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Vifaa vinavyopatikana"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Unganisha"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Tenganisha"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Oanisha kisha uunganishe"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Wakati Bluetooth imewashwa, kifaa chako kinaweza kuwasiliana na vifaa vingine vyenye Bluetooth vilivyo karibu"</string>
     <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_scan_change" msgid="1744636222637390367">"Badilisha"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Maelezo ya kifaa"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Ruhusu ART kuthibitisha msimbo wa baiti wa programu zinazoweza kutatuliwa"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Onyesha kiwango cha kuonyesha upya"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Onyesha kiwango cha kuonyesha upya cha sasa cha skrini"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Onyesha uwiano wa HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Onyesho uwiano wa sasa wa HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Hitaji kifaa kifunguliwe ili kipengele cha NFC kitumike"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Hali ya ndegeni imewashwa"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Niarifu mitandao ya umma inapopatikana"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Tuma arifa wakati mtandao wa umma wenye ubora wa juu unapatikana"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Ruhusu mitandao ya WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP ni itifaki ya usalama ya zamani ambayo si salama sana"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Mtoa huduma wako haruhusu mitandao ya WEP kwa sababu si salama sana"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Washa Wi‑Fi kiotomatiki"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi itaanza kutumika tena mitandao iliyohifadhiwa ya ubora wa juu itakapopatikana, kama vile mtandao wa nyumbani"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Haipatikani kwa sababu umezima huduma za mahali. Washa "<annotation id="link">"huduma za mahali"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Utafutaji wa Wi-Fi huruhusu programu na huduma zitafute mitandao ya Wi-Fi wakati wowote, hata wakati umezima Wi-Fi. Hali hii inaweza kutumika, kwa mfano, kuboresha huduma na vipengele vinavyohusiana na mahali."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Washa"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Umewasha utafutaji wa Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Mtandao huu unatumia itifaki ya usalama ya zamani ambayo si salama sana"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> imezuiwa"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Mtandao huu unatumia itifaki ya usalama ya zamani, inayojulikana kama WEP, ambayo si salama sana. Ili uunganishe hata hivyo, ruhusu mitandao ya WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Mtoa huduma wako hakuruhusu kuunganisha kwenye mtandao huu kwa sababu unatumia itifaki ya usalama ya zamani ambayo si salama sana"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Ruhusu WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Funga"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Chaguo za kina"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Chaguo za Kina za Orodha Kunjuzi"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"panua"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Endelea kutumia Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Usionyeshe tena"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Unganisha"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Umewasha Wi‑Fi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Imeunganishwa kwenye <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Inaunganisha kwenye <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Inaunganisha…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Imeshindwa kuunganisha kwa mtandao"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Mtandao hauko karibu"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Sahau"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Rekebisha"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Imeshindwa kusahau mtandao"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Hifadhi"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Imeshindwa kuhifadhi mtandao"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Ghairi"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Data ya mtandao wa simu"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethaneti"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Inachaji"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Inachaji"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Muunganisho wa mtandao pepe"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Uthabiti wa muunganisho"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Mitandao iliyohifadhiwa"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Hujaweka nenosiri lolote"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Jina la mtandaopepe"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Nenosiri la mtandaopepe"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Bendi ya AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Zima mtandaopepe kiotomatiki"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Wakati hamna vifaa vilivyounganishwa"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Panua uoanifu"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ulinganifu wa weupe wa skrini"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Endelea kutumia programu ukiwa umekunja"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Onyesho Laini"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Huongeza kiotomatiki kiwango cha kuonyesha upya kutoka Hz 60 hadi Hz <xliff:g id="ID_1">%1$s</xliff:g> kwa baadhi ya maudhui. Huongeza matumizi ya betri."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Zima kasi chaguomsingi ya picha ya michezo"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Zima kipengele cha kuweka kikomo cha kasi ya picha ya juu ya michezo iwe Hz <xliff:g id="FRAME_RATE">%1$d</xliff:g>."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Onyesho laini"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Hupandisha kiotomatiki kiwango cha kuonyesha upya hadi Hz <xliff:g id="ID_1">%1$d</xliff:g> kwa baadhi ya maudhui. Huongeza matumizi ya betri."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Lazimisha kiwango cha juu cha kuonyesha upya"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Kiwango cha juu kabisa cha kuonyesha upya kwa utendakazi wa mguso ulioboreshwa na ubora wa uhuishaji. Huongeza matumizi ya betri."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Utashi wa skrini"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Kipengele cha utashi wa skrini hutumia kamera ya mbele ili kuona ikiwa kuna mtu anayeangalia skrini. Kipengele hiki hufanya kazi kwenye kifaa na picha hazihifadhiwi wala kutumwa kwa Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Washa utashi wa skrini"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Skrini isizime wakati ninaiangalia"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Muda mrefu wa skrini kujizima hutumia nishati zaidi ya betri."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera imefungwa"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Unahitaji kufungua Kamera ili utumie kipengele cha Utambuzi wa Nyuso"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Unahitaji kufungua Kamera ili utumie kipengele cha Utashi wa Skrini"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (nafasi ya sim ya <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (nafasi ya sim <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (msingi)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Ili uangalie, chagua mtandao uliohifadhiwa"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"NDOGO"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Toleo la PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Kiwango cha betri"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Ya jumuiya"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Mipangilio ya jumuiya"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Kutuma Ujumbe Kupitia Setilaiti"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Badilisha mahali pa kufikia"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Weka mlango wa mtandao"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Haijawekwa"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Haijawekwa"</string>
     <string name="apn_name" msgid="6677695784108157953">"Jina"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN imewashwa"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN imezimwa"</string>
     <string name="bearer" msgid="3231443241639159358">"Mwenye"</string>
+    <string name="network_type" msgid="748590707422733595">"Aina ya mtandao"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Haijabainishwa"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Aina ya MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Thamani ya MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Futa APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Hifadhi"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Ghairi"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Nakala ya data ya apn."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Huwezi kuacha sehemu hii ikiwa haijajazwa."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Lazima APN ijazwe."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Sehemu ya MCC lazima iwe na namba 3."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Sehemu ya MNC lazima iwe na namba 2 au 3."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Mtoa huduma haruhusu kuongeza APN za aina ya %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Ni lazima sehemu ya MMSC iwe sahihi."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Inarejesha mipangilio mbadala ya APN"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Rudisha kwenye chaguomsingi"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Kuweka upya kwa mipangilio mbadala ya APN kumekamilika"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Weka upya"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth na Wi‑Fi vimewekwa upya"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Futa eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Hatua hii haitaghairi mipango yoyote ya huduma za simu. Ili upakue SIM za kubadilisha, wasiliana na mtoa huduma wako."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Hatua hii haitakata mpango wako wa huduma ya simu. Ili upate SIM nyingine, wasiliana na mtoa huduma wako."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Badilisha mipangilio"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Je, ungependa kubadilisha mipangilio yote ya mtandao? Huwezi kutendua kitendo hiki."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Ungependa kuweka upya mipangilio ya mtandao na kufuta eSIM? Huwezi kutendua kitendo hiki."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Iwekwe upya?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Kuweka upya mtandao hakupatikani kwa mtumiaji huyu"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Mipangilio ya mtandao imewekwa upya"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Imeshindwa kufuta data yote kwenye SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Imeshindwa kufuta eSIM kutokana na hitilafu.\n\nZima kisha uwashe kifaa chako na ujaribu tena."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Imeshindwa kufuta eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Hitilafu fulani imetokea na eSIM zako hazijafutwa.\n\nZima kisha uwashe kifaa chako na ujaribu tena."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Futa data yote (rejesha mipangilio iliyotoka nayo kiwandani)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Futa data yote (rejesha mipangilio Iliyotoka nayo kiwandani)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Muziki"</li>\n<li>"Picha"</li>\n<li>"data nyingine ya mtumiaji"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Hatua hii haitaghairi mpango wako wa huduma ya simu ya mkononi."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Taarifa binafsi na programu zako zote zilizopakuliwa zitafutwa. Huwezi kutendua kitendo hiki."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Taarifa yako yote ya binafsi, ikiwa ni pamoja na programu zilizopakuliwa na SIM, zitafutwa Huwezi kutendua kitendo hiki."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Taarifa zako zote binafsi, ikiwa ni pamoja na programu ulizopakua na SIM, zitafutwa. Huwezi kutendua kitendo hiki."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Ungependa kufuta data yote?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Urejeshaji wa mipangilio ya kiwandani haupatikani kwa mtumiaji huyu"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Inafuta"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Mtandao pepe, USB, Bluetooth, Ethaneti"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Haishiriki intaneti na vifaa vingine"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Imezimwa"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Kusambaza mtandao"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Usitumie mtandaopepe wa Wi-Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Shiriki intaneti kupitia USB pekee"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Shiriki intaneti kupitia Bluetooth pekee"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Shiriki intaneti kupitia Ethaneti pekee"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Shiriki intaneti kupitia USB na Bluetooth pekee"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Shiriki intaneti kupitia USB na Ethaneti pekee"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Shiriki intaneti kupitia Bluetooth na Ethaneti pekee"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Shiriki intaneti kupitia USB, Bluetooth na Ethaneti pekee"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Sambaza mtandao kwa USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Sambaza mtandao kwa Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Sambaza mtandao kwa Ethaneti"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Tumia mtandaopepe na huduma ya kusambaza mtandao ili uvisambazie vifaa vingine intaneti kupitia muunganisho wa data wa simu au Wi-Fi. Programu pia zinaweza kuunda mtandaopepe ili kushiriki maudhui na vifaa vilivyo karibu."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Usaidizi"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mtandao wa simu"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mpango wa vifaa vya mkononi"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Programu ya SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Ungependa kubadilisha programu ya SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Ungependa kutumia <xliff:g id="NEW_APP">%1$s</xliff:g> badala ya <xliff:g id="CURRENT_APP">%2$s</xliff:g> kama programu yako ya SMS?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Ungependa kubadili kisaidizi cha Wi-Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Ungependa kutumia <xliff:g id="NEW_APP">%1$s</xliff:g> badala ya <xliff:g id="CURRENT_APP">%2$s</xliff:g> kusimamia miunganisho yako ya mtandao?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Ungependa kutumia <xliff:g id="NEW_APP">%s</xliff:g> kusimamia miunganisho yako ya mtandao?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Mtoa huduma wa SIM asiyejulikana"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> hana tovuti ya utoaji inayojulikana"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Tafadhali weka SIM kadi kisha uzime na uwashe"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Tafadhali unganisha kwenye Intaneti"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Maombi ya hivi karibuni ya kutambua mahali"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Wasifu wa kazi kutambua mahali"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Ruhusa za programu kufikia mahali"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Futa ufikiaji"</string>
     <string name="controls_label" msgid="8671492254263626383">"Vidhibiti"</string>
     <string name="force_stop" msgid="2681771622136916280">"Lazimisha kuzima"</string>
+    <string name="archive" msgid="9074663845068632127">"Hifadhi kwenye kumbukumbu"</string>
+    <string name="restore" msgid="7622486640713967157">"Rejesha"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Inarejesha"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Inarejesha."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Inarejesha.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Inarejesha..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Jumla"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Ukubwa wa programu"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Programu ya hifadhi ya USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Haikuweza kuhesabu ukubwa wa furushi."</string>
     <string name="version_text" msgid="7628938665256107608">"Toleo <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Songa"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Imeshindwa kuhifadhi kwenye kumbukumbu"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Kwenye kumbukumbu: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Imeshindwa kurejesha"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Inarejesha <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Tayari kuna uhamishaji unaoendelea."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Nafasi ya hifadhi haitoshi."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Programu haipo."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Kibodi ya skrini Inayopatikana"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Dhibiti kibodi za skrini"</string>
     <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="6922850403920596246">"Washa Vitufe vinavyoduta kwa ajili ya ufikivu wa kibodi halisi"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Vitufe vya polepole"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Washa Vitufe vya polepole kwa ajili ya ufikivu wa kibodi halisi"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Vitufe vinavyonata"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Washa Vitufe vinavyonata kwa ajili ya ufikivu wa kibodi halisi"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Kasi ya kiashiria"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Jifunze ishara za padi ya kugusa"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Nenda kwenye ukurasa wa mwanzo"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Telezesha vidole vitatu juu popote kwenye padi yako ya kugusa"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Rudi nyuma"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Panga kulingana na muda wa matumizi"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Panga kulingana na mara ya mwisho kutumika"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Panga kulingana na jina la programu"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Mara ya mwisho ilipotumika"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Mwisho kutumika"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"hazijawahi kufunguliwa"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Muda wa utumiaji"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Ufikivu"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Mipangilio ya ufikiaji"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Kuza kwa kugusa mara tatu"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Kuza kwa njia ya mkato"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Kuza ukitumia njia ya mkato na kugonga mara tatu"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Kuhusu <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Tumia kitufe cha ufikivu kufungua"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Shikilia vitufe vya sauti ili ufungue"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Gusa skrini mara tatu ili ufungue"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Gusa skrini mara mbili kwa vidole viwili ili ufungue"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Tumia ishara ili ufungue"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Tumia ishara ya ufikivu"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ili utumie kipengele hiki, gusa kitufe cha zana za ufikivu cha <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> katika sehemu ya chini ya skrini yako.\n\nIli ubadilishe kati ya vipengele, gusa na ushikilie kitufe cha zana za ufikivu."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ili utumie kipengele hiki, gusa kitufe cha zana za ufikivu kwenye skrini yako."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Ili utumie kipengele hiki, bonyeza na ushikilie vitufe vyote viwili vya sauti."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ili uanzishe na kusimamisha ukuzaji, gusa mara tatu mahali popote kwenye skrini yako."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Ili uanze au ukomeshe ukuzaji, gusa mara mbili mahali popote kwenye skrini yako kwa vidole viwili."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ili utumie kipengele hiki, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ili utumie kipengele hiki, 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ili utumie kipengele cha ufikivu, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Ili utumie kipengele cha ufikivu, 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_tutorial_dialog_button" msgid="2031773187678948436">"Nimeelewa"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Mipangilio ya kitufe cha zana za ufikivu"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Mipangilio ya kitufe"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Njia mkato ya <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Kitufe cha zana za ufikivu"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Ishara ya ufikivu"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Shikilia vitufe vya sauti"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"shikilia 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"gusa skrini mara mbili kwa vidole viwili"</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="6863958573135995927">"gusa skrini 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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Pata maelezo zaidi kuhusu ishara na kitufe cha zana za ufikivu"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Kutumia kitufe cha zana za ufikivu. Ishara haipatikani kwenye usogezaji kwa kutumia vitufe 3."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Fikia vipengele vya ufikivu haraka"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Ili uanze"</b>\n"1. Nenda kwenye mipangilio ya ufikivu\n2. Chagua kipengele kisha gusa njia ya mkato\n3. Chagua iwapo unataka kutumia kitufe au ishara ili ufikie kipengele"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Ili uanze"</b>\n"1. Nenda kwenye mipangilio ya ufikivu\n2. Chagua kipengele kisha gusa njia ya mkato\n3. Chagua kitufe ili ufikie kipengele"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Ili uanze&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Nenda kwenye mipangilio ya ufikivu&lt;br/&gt; {1,number,integer}. Teua kipengele kisha uguse njia ya mkato&lt;br/&gt; {2,number,integer}. Chagua ikiwa ungependa kutumia kitufe au ishara kufikia kipengele&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Ili uanze&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Nenda kwenye mipangilio ya ufikivu&lt;br/&gt; {1,number,integer}. Teua kipengele kisha uguse njia ya mkato&lt;br/&gt; {2,number,integer}. Chagua kitufe ili ufikie kipengele&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Tumia ishara au kitufe"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Mahali"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Ukubwa"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Kata simu kwa kitufe cha kuwasha/kuzima"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Kielekezi kikubwa cha kipanya"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Fanya kiashiria cha kipanya kionekane kwa urahisi zaidi"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Fanya programu zote ziwe na mandhari meusi"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Inatumika kwa programu zisizo na mandhari meusi. Baadhi ya programu zinaweza kuwa na matatizo ya kuonyeshwa, kama vile rangi zilizogeuzwa."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Ondoa uhuishaji"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Punguza mwendo kwenye skrini"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Sauti ya mono"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Tumia mtetemo na miguso"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Mtetemo wa kengele"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Mtetemo wa maudhui"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Mtetemo wa kibodi"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Mtetemo wa mlio"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Mtetemo wa arifa"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Mtetemo kifaa kinapoguswa"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Komesha"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Ghairi"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Ungependa kuzima <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Kugusa <xliff:g id="STOP">%1$s</xliff:g> kutasimamisha <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Zima"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Usizime"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Ungependa kuzima <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Hakuna huduma zilizosanidiwa"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Hakuna huduma iliyochaguliwa"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Hakuna maelezo yaliyotolewa."</string>
     <string name="settings_button" msgid="2195468788019730377">"Mipangilio"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ung\'avu wa mwangaza, woga wa mwangaza, mandhari meusi, kipandauso, maumivu ya kichwa, hali ya kusoma, hali ya usiku, kupunguza mwangaza, sehemu nyeupe"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Urahisi wa kutumia, urahisi wa kufikia, usaidizi, saidizi"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"kuona, kusikia, vipofu, viziwi, ulemavu wa misuli, umahiri wa kutumia vidole, saidizi, usaidizi, urahisi wa kutumia, urahisi wa kufikia, mkono, usaidizi"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Kikuza Dirisha, Kuza, Ukuzaji, Uwezo mdogo wa kuona, Kuza, fanya iwe kubwa"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Manukuu, manukuu, manukuu, Nukuu Papo Hapo, tatizo la kusikia, kupoteza uwezo wa kusikia, KIKAPU, kunukuu matamshi, manukuu"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"utofautishaji wa rangi"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"mota, kipanya"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"visaidizi vya kusikia, tatizo la kusikia, kupoteza uwezo wa kusikia, vifaa vinavyosaidia kusikia vinavyopachikwa ndani ya sikio, vifaa vya kukuza sauti, vichakataji sauti"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"ulemavu wa misuli, kipanya, kipanya cha nje, kipanya cha kichwani, kipanya maalum, kiti cha magurudumu, usukani"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"visaidizi vya kusikia, tatizo la kusikia, kupoteza uwezo wa kusikia, vifaa vinavyosaidia kusikia vinavyopachikwa ndani ya sikio, vifaa vya kukuza sauti, vichakataji sauti, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"tatizo la kusikia, kupoteza uwezo wa kusikia, manukuu, mashine ya chapa, TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"vitufe vitatu"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"umahiri wa kutumia vidole, ulemavu wa misuli, ukongwe, yabisi-kavu, rsi, kiharusi, kutetema, kuathirika kwa mfumo wa neva, kupooza ubongo, kutetemeka, kuumia misuli"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"kuchelewa, umahiri wa kutumia vidole, ukongwe"</string>
     <string name="print_settings" msgid="8519810615863882491">"Kuchapisha"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Imezimwa"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Huduma 1 ya kuchapisha imewashwa}other{Huduma # za kuchapisha zimewashwa}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Imesalia <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> chaji ijae"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Muda wa kutumia kifaa"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Muda wa programu kuendeshwa chinichini"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Chaji ya betri imepungua"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Iruhusu programu kutumika chini chini"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Ungependa kudhibiti shughuli za chini chini?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Ikiwa utadhibiti shughuli za chini chini za programu, huenda isifanye kazi vizuri"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Kwa kuwa programu hii haiboreshi matumizi ya betri, huwezi kuizuia.\n\nIli uizuie, washa kuboresha matumizi ya betri."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Dhibiti matumizi ya betri"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Ruhusu matumizi ya chinichini"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Washa upate masasisho katika wakati halisi, zima ili uokoe betri"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Yasiyodhibitiwa"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Yaliyoboreshwa"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Yanayodhibitiwa"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Angalia programu zinazotumia betri zaidi"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Hali ya kuchaji imeboreshwa ili kulinda betri yako"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Ili kuongeza muda wa matumizi ya betri yako, hali ya kuchaji imeboreshwa"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Hali ya kuchaji imeboreshwa ili kulinda betri yako"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Ili kuongeza muda wa matumizi ya betri yako, hali ya kuchaji imeboreshwa kifaa kikiwa kimepachikwa"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Hali ya kuchaji imeboreshwa ili kulinda betri yako"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Ili kuongeza muda wa matumizi ya betri yako, hali ya kuchaji imeboreshwa kifaa kikiwa kimepachikwa"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Kuchaji hadi ijae"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Ili kulinda betri yako, hali ya kuchaji itaboreshwa wakati kompyuta kibao yako imepachikwa"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Pata maelezo zaidi kuhusu kusitisha kuchaji"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Endelea kuchaji"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Inajumuisha shughuli za chinichini zinazotumia nishati nyingi"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Programu hii itatumia chaji chinichini. Hali hii inaweza kufanya chaji ya betri iishe haraka."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ondoa"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Ghairi"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Chaji hadi ijae"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Kifuasi cha kuchaji kina hitilafu"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Kagua kifaa cha kuchaji"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Pata maelezo zaidi kuhusu adapta ya kuchaji isiyooana"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Kidhibiti cha Betri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Dhibiti programu kiotomatiki"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"tangu ilipojaa chaji mara ya mwisho"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Programu za mfumo"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Programu zilizoondolewa"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Nyingine"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Kadirio la muda uliosalia"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Hadi chaji ijae"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Jumla: chini ya dakika moja"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Chinichini: chini ya dakika moja"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Muda wa kutumia kifaa: chini ya dakika moja"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Chini ya dakika moja"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Jumla: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Chinichini: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Muda wa kutumia kifaa: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"sasa"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Chati ya matumizi ya betri"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Chati ya matumizi ya betri ya kila siku"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Chati ya matumizi ya betri ya kila saa"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Asilimia ya chaji ya betri kuanzia <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> hadi <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Matumizi ya betri tangu ilipochajiwa mara ya mwisho"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Matumizi ya betri kuanzia <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Muda wa kutumia kifaa tangu kilipochajiwa mara ya mwisho"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Ishara ya simu ya dharura"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Weka tabia wakati simu ya dharura imepigwa"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Hifadhi nakala"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Imewashwa"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Imezimwa"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Hifadhi nakala na uzirejeshe"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Data za kibinafsi"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Hifadhi nakala ya data yangu"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Wi‑Fi na data ya mtandao wa simu"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Sawazisha kiotomatiki data ya binafsi"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Sawazisha kiotomatiki data ya kazi"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Sawazisha kiotomatiki data ya faragha"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"badilisha mzunguko..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Siku katika mwezi ya kuweka kipindi kipya cha kutumia data:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Hakuna programu zilizotumia data wakati wa kipindi hiki."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Jina"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Aina"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Anwani ya seva"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Usimbaji fiche wa PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Siri ya L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Kitambulizi cha IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Ufunguo wa IPSec ulioshirikiwa mapema"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Cheti cha mtumiaji cha IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Cheti cha IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Cheti cha seva cha IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Onyesha chaguo za kina"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Vikoa vya utafutaji DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Seva ya DNS (mfano 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Njia za usambazaji (mfano 10.0.0.0 / 8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Jina la mtumiaji"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Nenosiri"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Hifadhi maelezo ya akaunti"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(haijatumika)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(usithibitishe seva)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(imepokewa kutoka kwa seva)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Aina hii ya VPN haiwezi kuwa imeunganishwa kila mara"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Hali ya VPN iliyowashwa kila mara inatumia anwani za seva za tarakimu pekee"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Ni lazima ubainishe seva ya DNS katika hali ya VPN iliyowashwa kila mara"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Ni lazima anwani za seva za DNS ziwe tarakimu katika hali ya VPN iliyowashwa kila mara"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Maelezo uliyoweka hayatumiki katika hali ya VPN iliyowashwa kila mara"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Ghairi"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Ondoa"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Zuia miunganisho isiyotumia VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Je, unahitaji muunganisho wa VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Si salama. Sasisha utumie VPN toleo la IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Imeshindwa kuwasha VPN isiyotumika."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Chagua wasifu wa VPN ambapo utakuwa umeunganishwa kila mara. Shughuli kwenye mtandao zitaruhusiwa tu wakati umeunganishwa kwenye VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Hamna"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Kila mara VPN iliyowashwa inahitaji anwani ya Itifaki Wavuti za seva na DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Tahadhari za AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Pokea taarifa kuhusu utekaji watoto nyara"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Rudia"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Washa Kidhibiti cha Simu"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Ruhusu huduma hii isimamie jinsi simu zako zinavyopigwa."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Kidhibiti cha Simu"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Arifa za dharura kupitia vifaa visivyotumia waya"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Kampuni zinazotoa huduma za mitandao"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Majina ya milango ya mtandao"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Hali ya SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Hali ya SIM (sehemu ya sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"dBm <xliff:g id="DBM">%1$d</xliff:g> asu <xliff:g id="ASU">%2$d</xliff:g>"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM zimebadilishwa."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM zako zimebadilika"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Gusa ili uweke mipangilio"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Uliza kila wakati"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Uteuzi unahitajika"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Programu za hivi majuzi, programu chaguomsingi"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Programu zilizo katika wasifu wa kazini haziwezi kufungua arifa."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Manenosiri na akaunti"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Manenosiri yaliyohifadhiwa, kujaza kiotomatiki, akaunti zilizosawazishwa"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Mapendekezo ya kuingia katika akaunti na kujaza kiotomatiki"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Programu chaguomsingi"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Programu Zilizonakiliwa"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Tengeneza nakala ya pili ya programu ili uweze kutumia akaunti mbili kwa wakati mmoja."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Pochi"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"lipa, gusa, malipo"</string>
     <string name="keywords_backup" msgid="707735920706667685">"hifadhi rudufu, hifadhi nakala"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ishara"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"uso, fungua, thibitisha, ingia katika akaunti"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"uso, kufungua, uthibitishaji, kuingia katika akaunti, alama ya kidole, bayometriki"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, toleo la prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ukubwa wa maandishi, chapa kubwa, fonti kubwa, maandishi makubwa, uwezo mdogo wa kuona, ongeza ukubwa wa maandishi, kikuza fonti, kuongeza ukubwa wa fonti"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"onyesho tulivu lisilozimwa kamwe, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tagi, kisomaji"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"kibodi, miguso, mtetemo,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Kiwango cha sauti, mtetemo, Usinisumbue"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Sauti ya maudhui"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Sauti ya maudhui ya kutumwa"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Washa sauti"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Manukuu Papo Hapo"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Wekea maudhui manukuu kiotomatiki"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Spika za simu"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Spika za kishikwambi"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Spika za kifaa"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Vipokea sauti vya kichwani vinavyotumia waya"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Sauti kutoka kwenye maudhui yanayooana huwa murua zaidi"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Imezimwa"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Onyesha maudhui yote ya arifa"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Onyesha tu maudhui nyeti wakati skrini imefunguliwa"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Usionyeshe arifa zozote"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ungependa arifa zako zionyeshwe vipi kwenye skrini iliyofungwa?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ungependa skrini yako iliyofungwa ionyeshe nini?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Skrini iliyofungwa"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Onyesha maudhui yote ya arifa za kazi"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ficha maudhui nyeti ya kazini"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Mazungumzo ya hivi majuzi yameondolewa"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Mazungumzo yameondolewa"</string>
     <string name="clear" msgid="5092178335409471100">"Futa"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Futa gumzo la <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Mazungumzo yenye kipaumbele na yaliyobadilishwa yataonekana hapa"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Mazungumzo utakayotia alama kuwa kipaumbele au yale utakayofanyia mabadiliko mengine yoyote, yataonekana hapa. \n\nIli ubadilishe mipangilio ya mazungumzo: \nTelezesha kidole chini kutoka sehemu ya juu ya skrini ili ufungue menyu inayovutwa chini, kisha uguse na ushikilie mazungumzo."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Punguza"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Kupungua kwa shughuli ya arifa"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Tumia hali ya kupungua kwa shughuli kwenye programu zote"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Punguza polepole sauti ya arifa unapopata arifa nyingi zinazofuatana kutoka kwa programu moja"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Tumia hali ya kupungua kwa shughuli katika mazungumzo"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Punguza polepole sauti ya arifa unapopokea ujumbe mwingi kutoka kwa gumzo moja ndani ya kipindi kifupi cha muda"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Usitumie arifa ya hali ya kupungua kwa shughuli"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Usipunguze kamwe sauti ya arifa, bila kujali idadi ya arifa zinazofuatana kutoka kwa programu moja"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Iteteme inapofunguliwa"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Iteteme tu wakati skrini imefunguliwa"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Tumia kwenye wasifu wa kazini"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Tumia mipangilio ya kupungua kwa shughuli ya arifa ya wasifu wa binafsi kwenye wasifu wa kazini"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Huduma za kisaidizi cha Uhalisia Pepe"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Hakuna programu zilizosakinishwa ambazo zinaweza kutekeleza huduma za kisaidizi cha Uhalisia Pepe."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Ungependa kuruhusu huduma za Uhalisia Pepe katika <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Kimezimwa"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Kubandika programu"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Huduma ya kubandika programu hukuruhusu kuendelea kuonyesha programu ya sasa hadi utakapoibandua. Kipengele hiki kinaweza kutumika, kwa mfano, kumruhusu rafiki unayemwamini kucheza mchezo mahususi."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Wakati programu imebandikwa, inaweza kufungua programu zingine na kufikia data binafsi. \n\nIli utumie kipengele cha kubandika programu: 	\n1. Washa kipengele cha kubandika programu 	\n2. Fungua Muhtasari 	\n3. Gusa aikoni ya programu katika sehemu ya juu ya skrini, kisha uguse Bandika"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Wakati programu imebandikwa, inaweza kufungua programu zingine na kufikia data binafsi. \n\nIkiwa unataka kushiriki kwa usalama kifaa chako na mtu, jaribu kutumia mtumiaji mgeni badala yake. \n\nIli utumie huduma ya kubandika programu: 	\n1. Washa huduma ya kubandika programu	\n2. Fungua Muhtasari 	\n3. Gusa aikoni ya programu katika sehemu ya juu ya skrini, kisha uguse Bandika"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Ukibandika programu, inaweza kufungua programu zingine na huenda ikafikia data binafsi. \n\nIli utumie kipengele cha kubandika programu: 	\n{0,number,integer}. Washa kipengele cha kubandika programu 	\n{1,number,integer}. Fungua Muhtasari 	\n{2,number,integer}. Gusa aikoni ya programu kwenye sehemu ya juu ya skrini, kisha uguse Bandika"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Ukibandika programu, inaweza kufungua programu zingine na huenda ikafikia data binafsi. \n\nKama ungependa kushiriki kifaa chako na mtu mwingine kwa njia salama, jaribu kutumia wasifu wa mgeni badala yake. \n\nIli utumie kipengele cha kubandika programu: 	\n{0,number,integer}. Washa kipengele cha kubandika programu 	\n{1,number,integer}. Fungua Muhtasari 	\n{2,number,integer}. Gusa aikoni ya programu kwenye sehemu ya juu ya skrini, kisha uguse Bandika"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Wakati programu imebandikwa: \n\n• Data binafsi inaweza kufikiwa \n (kama vile maudhui ya barua pepe na anwani) \n•Programu iliyobandikwa inaweza kufungua programu zingine \n\nTumia huduma ya kubandika programu na watu unaowaamini pekee."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Omba mchoro wa kufungua kabla hujabandua"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Itisha PIN kabla hujabandua"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Omba nenosiri kabla hujabandua"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Funga kifaa wakati wa kubandua"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Thibitisha hatua ya kufuta SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Thibitisha kuwa ungependa kufuta eSIM yako"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Thibitisha kuwa ni wewe kabla ya kufuta eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Toleo la Beta la Ulinzi wa kumbukumbu wa hali ya juu."</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Ulinzi wa kumbukumbu wa hali ya juu."</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Mipangilio ya programu zisizotumika"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Simamisha shughuli kwenye programu ikiwa haitumiki"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Ondoa ruhusa, futa faili za muda na usitishe arifa"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Dhibiti programu iwapo haitumiki"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Ondoa ruhusa, futa faili za muda, komesha arifa na uweke programu kwenye kumbukumbu"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Programu Zote"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Programu zilizosakinishwa"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Programu zinazofunguka papo hapo"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Haijatumika"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Hifadhi iliyotumiwa na programu"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Programu 1 imetumia hifadhi katika {time} zilizopita}other{Programu # imetumia hifadhi katika {time} zilizopita}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Washa utoaji maelezo kuhusu matumizi ya hifadhi"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Utoaji maelezo kuhusu matumizi ya hifadhi unahitaji nyenzo za ziada za mfumo."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Kipengele cha utoaji maelezo kuhusu matumizi ya hifadhi kimezimwa"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Masafa"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Upeo wa matumizi"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Hakuna data iliyotumika"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Kuonyeshwa juu ya programu zingine"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Programu ionekane juu ya zingine"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Ruhusu programu hii ionekane juu ya programu zingine unazotumia. Programu hii itaweza kuona unapogusa au kubadilisha kinachoonyeshwa kwenye skrini."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Badilisha tokeo la maudhui"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Ruhusu programu ibadilishe tokeo la maudhui"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Ruhusu programu hii ichague kifaa kilichounganishwa kinachopaswa kucheza maudhui ya sauti au video kutoka kwenye programu nyingine. Ukiiruhusu, programu hii inaweza kufikia orodha ya vifaa vinavyopatikana kama vile vipokea sauti vya kichwani na spika na ichague kifaa cha kutoa maudhui kitakachotumia kutiririsha au kutuma maudhui ya sauti au video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Kufikia faili zote"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Ruhusu ufikiaji ili idhibiti faili zote"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Ruhusu programu hii isome, irekebishe na kufuta faili zote kwenye kifaa hiki au nafasi zozote za hifadhi zilizounganishwa. Ukiipa ruhusa, huenda programu ikafikia faili bila ufahamu wako."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Inaweza kufikia faili zote"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Programu zinazotumia amri ya sauti"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Ruhusu kipengele cha amri ya sauti"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Hatua ya kuwezesha sauti huwasha programu zilizoidhinishwa, bila kutumia mikono, kupitia amri ya sauti. Kipengele kilichojumuishwa cha utambuzi unaotegemea mazingira huhakikisha kuwa ni wewe tu unayeweza kuona data.\n\n"<a href="">"Maelezo zaidi kuhusu utambuzi unaotegemea mazingira"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Arifa za skrini nzima"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Ruhusu programu hii ionyeshe arifa kwenye skrini nzima"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Ruhusu programu hii ionyeshe arifa kwenye skrini nzima ukiwa umefunga kifaa. Programu zinaweza kutumia arifa hizi kuonyesha kengele, simu unazopigiwa au arifa nyingine muhimu."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Onyo la matumizi ya data: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Kikomo cha data: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Onyo la matumizi ya data: <xliff:g id="ID_1">^1</xliff:g> / Kikomo cha data: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Huenda hesabu ya data ya mtoa huduma ikawa tofauti na ya kifaa chako"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Haijumuishi data inayotumiwa na mitandao ya mtoa huduma"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> zimetumika"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Weka onyo la matumizi ya data"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Imesasishwa <xliff:g id="ID_1">^2</xliff:g> zilizopita"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Imesasishwa na <xliff:g id="ID_1">^1</xliff:g> sasa hivi"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Imesasishwa sasa hivi"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Angalia mpango wa data"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Angalia maelezo"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Kiokoa Data"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Data bila kipimo"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> imetumia betri zaidi kuliko kawaida ikiwa chinichini"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> imetumia betri zaidi wakati programu inatumika"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> imetumia betri zaidi kuliko kawaida wakati programu inatumika"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Hitilafu ya matumizi ya betri"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Matumizi ya juu ya betri"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Matumizi ya juu ya betri chinichini"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Matumizi ya juu ya betri wakati programu inatumika"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Vigae vya msanidi programu vya mipangilio ya haraka"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Zima kuisha kwa muda wa uidhinishaji wa adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Zima ubatilishaji wa kiotomatiki wa uidhinishaji wa adb wa mifumo ambayo haijaunganishwa katika kipindi chaguomsingi (siku saba) au muda uliowekwa na mtumiaji (angalau siku moja)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Ufuatiliaji wa Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Vitambuzi Vimezimwa"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Mipangilio ya wasifu wa kazini"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Tafuta anwani za saraka ya kazini katika programu za binafsi"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"usogezaji kwenye mfumo, usogezaji kwa kutumia vitufe 2, usogezaji kwa kutumia vitufe 3, usogezaji kwa kutumia ishara, telezesha kidole"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Mratibu dijitali"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Telezesha kidole ili uombe programu ya mratibu dijitali"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Telezesha kidole juu kutoka kona ya chini ili uombe programu ya mratibu dijitali."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Telezesha kidole juu kutoka kona ya chini ili uombe programu ya mratibu dijitali"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Shikilia kitufe cha Mwanzo ili uombe Mratibu"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Bonyeza na ushikilie Kitufe cha ukurasa wa mwanzo ili uombe programu ya mratibu dijitali."</string>
     <string name="low_label" msgid="6525629096999711220">"Chini"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Huduma ya kujaza kiotomatiki"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Huduma chaguomsingi ya kujaza kiotomatiki"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Manenosiri"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Manenosiri, funguo za siri na huduma za data"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Watoa huduma wa ziada"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Huduma inayopendelewa"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Huduma za ziada"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{Nenosiri #}other{Manenosiri #}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"otomatiki, jaza, kujaza kiotomatiki, nenosiri"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, ufunguo wa siri, nenosiri"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"kiotomatiki, jaza, jaza kiotomatiki, data, ufunguo wa siri, nenosiri"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Badilisha"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Fungua"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Hujachagua yoyote"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Hakikisha kuwa unaamini programu hii&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; hutumia kilicho kwenye skrini yako kubaini kinachoweza kujazwa kiotomatiki."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Tumia &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; hutumia kilicho kwenye skrini yako kubaini kinachoweza kujazwa kiotomatiki. Manenosiri, funguo za siri na maelezo mengine mapya yatahifadhiwa hapa kuanzia sasa."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Manenosiri, funguo za siri na huduma za data"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Tumia &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Manenosiri mapya, funguo za siri na maelezo mengine yatahifadhiwa hapa kuanzia sasa. Huenda &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ikatumia maudhui kwenye skrini yako kubaini kinachoweza kujazwa kiotomatiki."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Huduma unayopendelea kwa manenosiri, funguo za siri na kujaza kiotomatiki"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Ungependa kuzima %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Ungependa kuzima huduma hii?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Maelezo yaliyohifadhiwa kama vile manenosiri, funguo za siri, njia za kulipa na maelezo mengine hayatajazwa utakapoingia katika akaunti. Ili utumie maelezo uliyohifadhi, chagua nenosiri, ufunguo wa siri au huduma ya data."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Manenosiri, funguo za siri na kujaza kiotomatiki"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Ungependa kuzima huduma zote?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Manenosiri, funguo za siri na maelezo mengine yaliyohifadhiwa hayatapatikana ili kujazwa kiotomatiki unapoingia katika akaunti"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Badili huduma unayopendelea kuwa &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Manenosiri mapya, funguo za siri na maelezo mengine yatahifadhiwa hapa kuanzia sasa. Huenda &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ikatumia maudhui kwenye skrini yako kubaini kinachoweza kujazwa kiotomatiki"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Ungependa kutumia %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Zima"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Badilisha"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Unaweza kuwasha huduma 5 pekee"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Zima angalau huduma 1 ili uweze kuongeza nyingine"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s hutumia maudhui kwenye skrini yako kubaini kinachoweza kujazwa kiotomatiki."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Manenosiri, funguo za siri na kikomo cha huduma za data"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Unaweza kutumia hadi manenosiri 5, funguo za siri na huduma za data zinazotumika kwa wakati mmoja. Zima huduma ili uweke zaidi."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Manenosiri, funguo za siri na kikomo cha huduma za data"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Unaweza kutumia hadi manenosiri 5, funguo za siri na huduma za data zinazotumika kwa wakati mmoja. Zima huduma ili uweke zaidi."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Zima"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Kujaza Kiotomatiki"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Kiwango cha kumbukumbu"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Mabadiliko ya uoanifu wa programu yanaweza tu kubadilishwa kwa ajili ya programu zinazoweza kutatuliwa. Sakinisha programu inayoweza kutatuliwa na ujaribu tena."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Inategemea mipangilio mingine"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Akaunti"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Akaunti %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Jina la kifaa"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Maelezo ya msingi"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Sheria na kanuni"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Ruhusu programu hii ifunguke wakati tagi ya NFC inachanganuliwa.\nIkiwa ruhusa hii imewashwa, programu itapatikana kama chaguo wakati wowote tagi inapotambuliwa."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Cheza muziki kwenye"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Cheza <xliff:g id="LABEL">%s</xliff:g> kwenye"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Itaendelea kucheza sauti"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Kifaa hiki"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Haipatikani wakati unaongea kwa simu"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Pokea simu kwenye"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Zima sauti"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Ili uwashe, kwanza badilisha \"Kitufe cha kuwasha/kuzima cha kubonyeza na kushikilia\" kiwe menyu ya kuzima/kuwasha."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Maelezo ya mtandao"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Jina la kifaa chako litaonekana kwa programu zilizo kwenye simu yako. Pia, watu wengine wanaweza kuliona unapounganisha kwenye vifaa vya Bluetooth, unapounganisha kwenye mtandao wa Wi-Fi au kuweka mipangilio ya mtandao pepe wa Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Vifaa"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Chagua mtandao"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Haijaunganishwa"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Jina"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Rangi (inatumiwa na programu zinazooana)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Hifadhi"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Tumia SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Tumia SIM hii"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Imezimwa"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Ili uzime SIM hii, itoe"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Gusa ili uanze kutumia <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Futa data yote kwenye SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Ili uzime SIM hii, ondoa SIM kadi"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Gusa ili uwezeshe SIM yako ya <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Futa eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Aina ya mtandao inayopendelewa"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Badilisha hali ya utendaji wa mtandao"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Aina ya mtandao inayopendelewa"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Wasiliana na mtoa huduma za mtandao kwa maelezo kuhusu bei."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Programu zinavyotumia data"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Hali ya Mtandao Isiyo sahihi <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Puuza"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Kutuma ujumbe kupitia setilaiti"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Tuma na upokee ujumbe wa maandishi kupitia setilaiti. Imejumuishwa kwenye akaunti yako."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Tuma na upokee ujumbe wa maandishi kupitia setilaiti. Haijumuishwi kwenye akaunti yako."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Kutuma ujumbe kupitia setilaiti"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Kuhusu kutuma ujumbe kupitia setilaiti"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Unaweza kutuma na kupokea ujumbe wa maandishi kupitia setilaiti kama sehemu ya akaunti inayotimiza masharti ya <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Mpango wako wa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Huduma ya kutuma ujumbe kupitia setilaiti imejumuishwa kwenye akaunti yako"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Huduma ya kutuma ujumbe kupitia setilaiti haijajumuishwa kwenye akaunti yako"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Weka huduma ya kutuma ujumbe kupitia setilaiti"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Utaratibu wake"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Ukiwa huna mtandao wa simu"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Simu yako itaunganisha kiotomatiki kwenye setilaiti. Kwa muunganisho bora, hakikisha anga inaonekana vizuri."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Baada ya simu yako kuunganisha kwenye setilaiti"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Unaweza kumtumia yeyote ujumbe, ikiwa ni pamoja na huduma za dharura. Simu yako itaunganisha tena kwenye mtandao wa simu ukipatikana."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Huduma ya kutuma ujumbe kupitia setilaiti inaweza kuchukua muda mrefu na inapatikana katika baadhi ya maeneo tu. Hali ya hewa na majengo fulani yanaweza kuathiri muunganisho wako wa setilaiti. Huduma ya kupiga simu kupitia setilaiti haipatikani.\n\nInaweza kuchukua muda kwa mabadiliko uliyofanya kwenye akaunti yako kuonekana katika Mipangilio. Wasiliana na <xliff:g id="CARRIER_NAME">%1$s</xliff:g> kwa maelezo."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Maelezo zaidi kuhusu kutuma ujumbe wa setilaiti"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Majina ya Milango ya Mtandao"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Haipatikani inapounganishwa kwenye <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Ungependa kubadili utumie <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Ungependa kubadili ili utumie SIM kadi?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Ungependa kutumia <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Unaweza kutumia SIM moja tu kwa wakati mmoja.\n\nKubadili na kutumia <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> hakutaghairi huduma yako ya <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Unaweza kutumia eSIM 1 tu kwa wakati mmoja.\n\nHatua ya kubadili ili utumie <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>haitaghairi huduma yako ya <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Unaweza kutumia SIM moja tu kwa wakati mmoja.\n\nKubadili SIM hakutaghairi huduma yako ya <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Unaweza kutumia SIM 1 pekee kwa wakati mmoja.\n\nHatua ya kubadilisha ili utumie huduma ya <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> haitakata huduma yako ya <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Unaweza kutumia eSIM 1 pekee kwa wakati mmoja.\n\nHatua ya kubadilisha ili utumie huduma ya <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> haitakata huduma yako ya <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Unaweza kutumia SIM 1 pekee kwa wakati mmoja.\n\nHatua ya kubadilisha haitakata huduma yako ya <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Unaweza kutumia SIM mbili kwa wakati mmoja. Ili utumie <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, zima SIM nyingine."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Badili utumie <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Zima <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Kuzima SIM hakutaghairi huduma yako"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Inaunganisha kwenye mtandao…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Inabadili ili itumie <xliff:g id="CARRIER_NAME">%1$s</xliff:g> kwa ajili ya simu na ujumbe…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Imeshindwa kubadilisha mtandao wa mtoa huduma"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Imeshindwa kubadilisha mtandao wa mtoa huduma kutokana na hitilafu."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Inawezesha SIM yako…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Inabadili ili kutumia <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Imeshindwa kubadilisha SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Hitilafu fulani imetokea. Imeshindwa kubadilisha SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Ungependa kuzima <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Ungependa kuzima SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Inazima SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Imeshindwa kuzima mtandao wa mtoa huduma"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Hitilafu imetokea na mtandao wa mtoa huduma wako haukuweza kuzimwa."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Imeshindwa kuzima SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Hitilafu fulani imetokea na SIM yako imeshindwa kuzimwa."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Ungependa kutumia SIM 2?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Kifaa hiki kinaweza kutumia SIM mbili kwa wakati mmoja. Ili uendelee kutumia SIM moja kwa wakati mmoja, gusa \"Hapana\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Ungependa kuzima kisha uwashe kifaa?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Hapana"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Ghairi"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Badilisha"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Zima"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Imeshindwa kuanza kutumia SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Jaribu kuwasha SIM tena. Iwapo tatizo litaendelea, zima kisha uwashe kifaa chako."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Weka mipangilio ya SIM yako"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Weka mapendeleo yako ya mtandao wa simu ili utumie zaidi ya SIM moja kwenye kifaa hiki"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Weka lebo za SIM zako"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Utaona lebo hizi unapopiga simu, unapotuma SMS, unapotumia data na katika Mipangilio"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Lebo ya SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Lebo"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Chagua SIM unazotaka kutumia"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Unaweza kutumia SIM mbili kwa wakati mmoja"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Weka SIM zako za msingi"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Chagua SIM ambazo ungependa kutumia kwa chaguomsingi kupiga simu, kutuma SMS na kwa muunganisho wa data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"SIM zako za msingi"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Simu"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Ujumbe"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Kubadilisha muunganisho wa data kiotomatiki"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Tumia muunganisho wa data wa SIM yoyote kulingana na ufikiaji na upatikanaji"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data pekee"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Weka mipangilio"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Endelea"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Inawasha huduma ya <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mtandao wa simu"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Namba ya simu"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Lebo na rangi ya SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Kuwasha mtandao"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Inabadilisha mtoa huduma"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Unatumia <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM yako ya <xliff:g id="CARRIER_NAME">%1$s</xliff:g> inatumika"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Gusa ili usasishe mipangilio ya SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Sasa unatumia <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Sasa unatumia mtoa huduma mwingine"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Umebadilisha mtandao wako wa simu"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Weka mipangilio ya SIM yako nyingine"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Chagua SIM yako inayotumika sana au utumie SIM mbili wakati mmoja"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Chagua namba utakayotumia"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Nambari moja inapatikana kwenye kifaa hiki, lakini unaweza kutumia moja tu kwa wakati mmoja}=2{Nambari mbili zinapatikana kwenye kifaa hiki, lakini unaweza kutumia moja tu kwa wakati mmoja}other{Nambari# zinapatikana kwenye kifaa hiki, lakini unaweza kutumia moja tu kwa wakati mmoja}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Tunawasha<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Tumeshindwa kuwasha kwa sasa"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Chagua SIM ya kutumia"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{SIM 1 inapatikana kwenye kifaa hiki, lakini unaweza kutumia moja tu kwa wakati mmoja}=2{SIM 2 zinapatikana kwenye kifaa hiki, lakini unaweza kutumia moja tu kwa wakati mmoja}other{SIM # zinapatikana kwenye kifaa hiki, lakini unaweza kutumia moja tu kwa wakati mmoja}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Tunawasha <xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Tumeshindwa kuwasha SIM hii kwa sasa"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Ungependa kutumia <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> itatumika kwa ajili ya data ya mtandao wa simu, simu na SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Hakuna SIM zinazotumika zinazopatikana"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Ili utumie data ya mtandao wa simu, vipengele vya simu na SMS baadaye, nenda kwenye mipangilio ya mtandao wako"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Ungependa kufuta eSIM hii?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Kufuta data yote kwenye SIM hii huondoa huduma ya <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> kwenye kifaa hiki.\n\nHuduma ya <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> haitaghairiwa."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Hatua hii huondoa huduma ya <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> kwenye kifaa hiki, lakini mpango wako wa <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> hautakatwa."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Futa"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Inafuta data yote kwenye SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Imeshindwa kufuta data yote kwenye SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hitilafu imetokea wakati wa kufuta data kwenye SIM.\n\nZima kisha uwashe kifaa chako na ujaribu tena."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Kinafuta eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Kimeshindwa kufuta eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Hitilafu fulani imetokea na eSIM hii haijafutwa.\n\nZima kisha uwashe kifaa chako na ujaribu tena."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Unganisha kwenye kifaa"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> yako inataka kutumia mtandao wa muda wa Wi‑Fi kuunganisha kwenye kifaa chako"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Hakuna vifaa vilivyopatikana. Hakikisha kuwa umewasha vifaa na vinaweza kuunganishwa."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Simu za dharura"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Mtoa huduma wako hakuruhusu kupiga simu za dharura kupitia Wi-Fi.\nKifaa hubadili kiotomatiki na kutumia mtandao wa simu ya mkononi ili kupiga simu ya dharura.\nUnaweza kupiga simu za dharura katika maeneo yaliyo na mtandao wa simu ya mkononi pekee."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Tumia Wi-Fi kupiga na kupokea simu ili kuboresha hali ya mawasiliano"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Kupiga simu kupitia mtandao mbadala"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Ikiwa <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> haipatikani au inatumia mitandao ya ng\'ambo, tumia SIM yako ya data ya mtandao wa simu kwa ajili ya simu za <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"kupiga simu kupitia mtandao mbadala"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Ujumbe wa MMS unaoingia"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Huwezi kutuma ujumbe wa MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Gusa ili uruhusu ujumbe wa MMS kwenye <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> wakati data ya mtandao wa simu imezimwa"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Maelezo yako ya sera ya kazini"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Mipangilio inayodhibitiwa na msimamizi wako wa TEHAMA"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Kuwasha ukitumia ukurasa wa K 16"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Kuwasha kifaa ukitumia kiini cha ukurasa wa K 16"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Ungependa kuwasha tena ukitumia kiini kinachooana na kurasa za KB 16?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"TAHADHARI: Huenda baadhi ya programu hazioani na hali hii. Kifaa kitajiwasha tena baada ya uthibitishaji."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Ungependa kuwasha tena ukitumia kiini kinachooana na kurasa za KB 4?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Kifaa kitajiwasha tena baada ya uthibitishaji."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Imeshindwa kusasisha kiini kiwe kinachooana na kurasa za KB 16."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Kutekeleza mabadiliko"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Kidhibiti cha ripoti ya hitilafu"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Hubaini programu inayodhibiti njia ya mkato ya Ripoti ya Hitilafu kwenye kifaa chako."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Binafsi"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Ruhusu programu zinazoweza kuonyeshwa juu ya programu nyingine ziwekelewe juu ya skrini za Mipangilio"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Ruhusu Modemu ya Majaribio"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Ruhusu kifaa hiki kiendeshe huduma ya Modemu ya Majaribio kwa ajili ya majaribio ya vifaa. Usiwezeshe kipengele hiki wakati wa matumizi ya kawaida ya simu"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Zima mipangilio ya ulinzi wa kuruhusu skrini ifikiwe"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Huzima vipengele vya ulinzi wa arifa na programu ambazo mfumo hutumia wakati wa kuruhusu ufikiaji wa skrini"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Maudhui"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Bandika kicheza faili za sauti na video"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Ili uendelee kucheza kwa haraka, kicheza faili za sauti na video hubaki kikiwa kimefunguliwa kila wakati katika Mipangilio ya Haraka"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Onyesha maudhui kwenye skrini iliyofungwa"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Ili uendelee kucheza maudhui kwa haraka, kicheza faili za sauti na video hubaki kikiwa kimefunguliwa kwenye skrini iliyofungwa"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Onyesha mapendekezo ya maudhui"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Onyesha mapendekezo ya maudhui ya programu ya Mratibu"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Kulingana na shughuli zako"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ficha kichezaji"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Onyesha kichezaji"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"maudhui"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Ruhusu viendelezi vya programu ya kamera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Hali hii huwezesha utekelezaji chaguomsingi wa programu ya vipengele vya kina vya kamera, kama vile utengenezaji video Bila Kuangalia."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth itawaka"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Intaneti"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Inatumika"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Haitumiki"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Imewashwa"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Imezimwa"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Chaguomsingi ya <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"simu"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Sauti kutoka kwenye maudhui yanayooana huwa murua zaidi"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Ufuatiliaji wa kichwa"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Sauti hubadilika kadiri unavyosogeza kichwa chako ili isikike kuwa ya asili zaidi"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sawazisha ruhusa"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Ipe <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ruhusa zile zile za programu ulizoruhusu kwenye <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Sawazisha ruhusa kutoka kwenye simu"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Ipe saa yako ruhusa za programu ambazo umeruhusu kwenye simu hii"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Aina ya Kifaa cha Sauti"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Haijulikani"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Spika"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Wastani"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Juu"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Programu hii inaweza kufunguliwa katika dirisha 1 pekee"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Kimewashwa"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Kimezimwa"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Kimezimwa"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Imezimwa"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Imewashwa"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Imezimwa"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Imewashwa"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Imezimwa"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Hugeuza skrini nyeupe kuwa nyeusi na skrini nyeusi kuwa nyeupe"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Vuta karibu kwenye skrini"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Imezimwa"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Imezimwa"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Inatafuta programu hasidi"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kagua shughuli kwenye programu ili kubaini iwapo kuna wizi wa data binafsi"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Kagua ili ugundue programu za kilaghai"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Kagua ili ugundue programu za kilaghai za kazini"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Imekamilisha kuweka nenosiri"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Onyesha kielekezi unapowekelea kiashiria"</string>
 </resources>
diff --git a/res/values-sw600dp/dimens.xml b/res/values-sw600dp/dimens.xml
index b13447f..391a304 100755
--- a/res/values-sw600dp/dimens.xml
+++ b/res/values-sw600dp/dimens.xml
@@ -24,9 +24,6 @@
     <dimen name="actionbar_contentInsetStart">24dp</dimen>
     <dimen name="actionbar_subsettings_contentInsetStart">80dp</dimen>
 
-    <!-- SwitchBar sub settings margin start / end -->
-    <dimen name="switchbar_subsettings_margin_start">80dp</dimen>
-
     <dimen name="settings_panel_width">560dp</dimen>
 
     <!-- Lock pattern view size, align sysui biometric_auth_pattern_view_size -->
diff --git a/res/values-sw720dp-land/dimens.xml b/res/values-sw720dp-land/dimens.xml
index 82c3fef..363817c 100644
--- a/res/values-sw720dp-land/dimens.xml
+++ b/res/values-sw720dp-land/dimens.xml
@@ -20,8 +20,4 @@
     <dimen name="actionbar_contentInsetStart">128dp</dimen>
     <dimen name="actionbar_subsettings_contentInsetStart">128dp</dimen>
 
-    <!-- SwitchBar sub settings margin start / end -->
-    <dimen name="switchbar_subsettings_margin_start">128dp</dimen>
-    <dimen name="switchbar_subsettings_margin_end">128dp</dimen>
-
 </resources>
diff --git a/res/values-sw720dp/dimens.xml b/res/values-sw720dp/dimens.xml
index 6480d48..d09d2fd 100644
--- a/res/values-sw720dp/dimens.xml
+++ b/res/values-sw720dp/dimens.xml
@@ -19,10 +19,6 @@
     <dimen name="actionbar_contentInsetStart">80dp</dimen>
     <dimen name="actionbar_subsettings_contentInsetStart">80dp</dimen>
 
-    <!-- SwitchBar sub settings margin start / end -->
-    <dimen name="switchbar_subsettings_margin_start">80dp</dimen>
-    <dimen name="switchbar_subsettings_margin_end">80dp</dimen>
-
     <!-- Lock pattern view size, align sysui biometric_auth_pattern_view_size -->
     <dimen name="biometric_auth_pattern_view_size">348dp</dimen>
 </resources>
diff --git a/res/values-ta/arrays.xml b/res/values-ta/arrays.xml
index 00cb41b..0419f0d 100644
--- a/res/values-ta/arrays.xml
+++ b/res/values-ta/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"உள்ளது"</item>
     <item msgid="6096962300722555553">"எல்லைக்கு வெளியே உள்ளது"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Disabled"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast and Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"சிஸ்டத்தின் இயல்புநிலையைப் பயன்படுத்து: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 நிமிடத்திற்குப் பிறகு"</item>
     <item msgid="1574040255478150028">"5 நிமிடங்களுக்குப் பிறகு"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ta/strings.xml b/res/values-ta/strings.xml
index 3c92601..aa7a17a 100644
--- a/res/values-ta/strings.xml
+++ b/res/values-ta/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"இப்போது டெவெலப்பராகிவிட்டீர்கள்!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"தேவையில்லை, நீங்கள் ஏற்கனவே ஒரு டெவெலப்பர்."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"முதலில் டெவெலப்பர் விருப்பங்களை இயக்கவும்."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"நிர்வாகப் பயனர்கள் மட்டுமே டெவெலப்பர் அமைப்புகளை அணுக முடியும்."</string>
     <string name="header_category_system" msgid="1665516346845259058">"சிஸ்டம்"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"சேவையில் உள்ளது"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"சேவையில் இல்லை"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"உங்கள் சாதனத்தை மடக்கும்போது முன்புற டிஸ்பிளே இயக்கப்படும்"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"கேம், வீடியோ மற்றும் சிலவற்றிற்கு மட்டும்"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"திரை அமைதி நிலைக்குப் போவதைத் தடுக்கும் ஆப்ஸுக்கு முன்புற டிஸ்பிளே இயக்கப்படும்"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"தொடர மேல்நோக்கி ஸ்வைப் செய்யுங்கள்"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"மொபைலை மடக்கி முன்புற டிஸ்பிளேவில் மேல்நோக்கி ஸ்வைப் செய்து ஆப்ஸைத் தொடர்ந்து பயன்படுத்தலாம் அல்லது திரை பூட்டப்படும் வரை சில வினாடிகள் காத்திருக்கலாம்"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ஒருபோதும் வேண்டாம்"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"உங்கள் சாதனத்தை மடக்கும்போது முன்புற டிஸ்பிளே பூட்டப்படும்"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"\'தானாகச் சுழற்று\' அம்சத்தைப் பயன்படுத்துதல்"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"தொடர்புடையவை"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ரிங்டோன் மற்றும் அலாரங்கள்"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"அழைப்புகளின்போதான ஆடியோ"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"மீடியா"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"அறிவிப்பு &amp; பிற சிஸ்டம் ஒலிகள்"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"மீடியா மற்றும் சிஸ்டம் ஒலிகள்"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"அறிவிப்புகள்"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"இயல்பாக, ஆடியோ அவுட்புட் தனித்தனி ஆப்ஸால் தீர்மானிக்கப்படுகிறது"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"பெயரிடப்படாத புளூடூத் சாதனம்"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"தேடுகிறது"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ரத்துசெய்"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"புளூடூத் LE ஆடியோவை முடக்கு"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"LE ஆடியோ துணைப் பொருள் திறன்களைச் சாதனம் ஆதரித்தால் புளூடூத் LE ஆடியோ அம்சத்தை முடக்கும்."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"புளூடூத் LE ஆடியோ பயன்முறை"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"சாதன விவரங்களில் LE ஆடியோ டாகிளை காட்டு"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"புளூடூத் LE ஆடியோ அனுமதிப் பட்டியல் அம்சத்தை இயக்கு"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"புளூடூத் LE ஆடியோ அனுமதிப் பட்டியல் அம்சத்தை இயக்கும்."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"புளூடூத் LE ஆடியோ ஏற்புப் பட்டியலை பைபாஸ் செய்தல்"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ஏற்புப் பட்டியல் நிபந்தனைகளை LE ஆடியோ வெளிப்புறச் சாதனம் பூர்த்திசெய்கிறதா என்று சரிபார்க்கப்படவில்லை என்றாலும் LE ஆடியோவை இயல்பாகப் பயன்படுத்தும்."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"மீடியா சாதனங்கள்"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"அழைப்பதற்கான சாதனங்கள்"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"பிற சாதனங்கள்"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"சேமிக்கப்பட்ட சாதனங்கள்"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"கணக்குடன் தொடர்புடையது"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"கணக்குடன் ஏற்கெனவே பயன்படுத்தியவை"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"இணைப்பதற்கு, புளூடூத் ஆன் செய்யப்படும்"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"இணைப்பு விருப்பத்தேர்வுகள்"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"இதற்கு முன்னர் இணைத்தவை"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"புளூடூத் ஆன் செய்யப்பட்டது"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"அனைத்தும் காட்டு"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"அனைத்தையும் காட்டு"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"ஸ்டைலஸ்"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"டெயில் பட்டனை அழுத்துதல்"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (பணிக் கணக்கு)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"எழுதுவதற்கான புலங்களில் எழுதுங்கள்"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ஸ்டைலஸ் மூலம் பட்டன்களை அழுத்துவதைத் தவிர்த்தல்"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"ஸ்டைலஸ்"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ஆடியோவைப் பகிர்தல்"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ஆடியோவைப் பகிர்"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"அழைப்புகளும் அலாரங்களும்"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR குறியீட்டைப் பயன்படுத்தி ஆடியோ ஸ்ட்ரீமுடன் இணைக்கலாம்"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"அருகில் ஆடியோ ஸ்ட்ரீம்கள் எதுவுமில்லை."</string>
     <string name="date_and_time" msgid="1788358029823431692">"தேதி &amp; நேரம்"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ப்ராக்ஸி"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"அழி"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"விருப்பமான மொழிகளில் %s ஐச் சேர்க்கவா?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"நீங்கள் இந்த மொழியையும் பயன்படுத்த விரும்புகிறீர்கள் என்பதை ஆப்ஸுக்கும் இணையதளங்களுக்கும் இது தெரியப்படுத்தும்."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"உங்கள் சாதன அமைப்புகளும் பிராந்தியத்திற்கேற்ற விருப்பங்களும் மாறும்."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"மாற்று"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s கிடைக்கவில்லை"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"சனி"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"பிராந்தியத்திற்கேற்ற விருப்பங்களை ஓர் ஆப்ஸ் ஆதரிக்கவில்லை எனில், அதன் இயல்புநிலை மொழி அமைப்புகளை அந்த ஆப்ஸ் பயன்படுத்தும்."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"மொழி விருப்பத்தேர்வுகள் குறித்து மேலும் அறிக."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"கூடுதல் விருப்பத்தேர்வுகள்"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"குறிப்பிடுவதற்கான வார்த்தைகள்"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"உங்களை எப்படிக் குறிப்பிட வேண்டும் என்பதை அமைக்கலாம்"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"ஆப்ஸ் உங்களை எப்படிக் குறிப்பிட வேண்டும் என்பதைப் பிரத்தியேகமாக்க, உங்களைக் குறிப்பிடுவதற்கான வார்த்தைகளை அவை பயன்படுத்தலாம்."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"குறிப்பிடப்படவில்லை"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"பெண்"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"ஆண்"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"நடுநிலை"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{தேர்ந்தெடுக்கப்பட்ட மொழியை அகற்றவா?}other{தேர்ந்தெடுக்கப்பட்ட மொழிகளை அகற்றவா?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"உரை மற்றொரு மொழியில் காட்டப்படும்."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"எல்லா மொழிகளையும் அகற்ற முடியாது"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"இருப்பிடம்"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"இருப்பிடத்தைப் பயன்படுத்து"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ஆஃப்"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ஆன் - # ஆப்ஸ் இருப்பிடத்திற்கான அணுகலைக் கொண்டுள்ளது}other{ஆன் - # ஆப்ஸ் இருப்பிடத்திற்கான அணுகலைக் கொண்டுள்ளன}}"</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_location_off" msgid="8568995909147566720">"ஆப்ஸுக்கும் சேவைகளுக்கும் இருப்பிட அணுகல் முடக்கப்பட்டுள்ளது. எனினும் அவசர உதவி எண்ணை அழைத்தாலோ அதற்கு மெசேஜ் அனுப்பினாலோ, சாதனத்தின் இருப்பிடம் அவசரக் காலத்தில் உதவிபுரிவோருக்கு அனுப்பப்படக்கூடும்."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"இருப்பிட அமைப்புகள் குறித்து மேலும் அறிக."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"இருப்பிட அமைப்புகள் குறித்து மேலும் அறிக"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"இருப்பிட அணுகலை மாற்ற, அமைப்புகள் &gt; பாதுக்காப்பு &amp; தனியுரிமை &gt; தனியுரிமைக் கட்டுப்பாடுகள் என்பதற்குச் செல்க"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"கணக்குகள்"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"பாதுகாப்பு"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"என்கிரிப்ஷன் &amp; அனுமதிச் சான்றுகள்"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"சிறந்த முடிவுகளுக்கு, Made for Google சான்றளிக்கப்பட்ட ஸ்கிரீன் கார்டைப் பயன்படுத்துங்கள். உங்கள் பிள்ளையின் கைரேகை மற்ற ஸ்கிரீன் கார்டுகளுடன் பொருந்தாமல் போகக்கூடும்."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"வாட்ச் அன்லாக்"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"\'முகம் காட்டித் திறத்தல்\' அம்சத்தையும் \'கைரேகை அன்லாக்\' அம்சத்தையும் அமைத்ததும், நீங்கள் முகமூடி அணிந்திருந்தாலோ இருட்டான இடத்தில் இருந்தாலோ உங்கள் கைரேகையைப் பயன்படுத்துமாறு மொபைல் கேட்கும்.\n\nஉங்கள் முகமோ கைரேகையோ அங்கீகரிக்கப்படாதபோது வாட்ச்சைப் பயன்படுத்தி மொபைலை அன்லாக் செய்யலாம்."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"உங்கள் கைரேகை அங்கீகரிக்கப்படாதபோது வாட்ச்சைப் பயன்படுத்தி அன்லாக் செய்யலாம்."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"உங்கள் முகம் அங்கீகரிக்கப்படாதபோது வாட்ச்சைப் பயன்படுத்தி அன்லாக் செய்யலாம்."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"\'முகம் காட்டித் திறத்தல்\' அம்சத்தையும் \'கைரேகை அன்லாக்\' அம்சத்தையும் அமைக்கும்போது, நீங்கள் மாஸ்க் அணிந்திருந்தாலோ இருட்டான இடத்தில் இருந்தாலோ உங்கள் கைரேகையைப் பயன்படுத்துமாறு மொபைல் கேட்கும்.\n\nஉங்கள் மொபைலை அன்லாக் செய்ய வாட்ச் அன்லாக் அம்சம் மற்றொரு எளிதான வழியாகும். உதாரணத்திற்கு, உங்கள் விரல்கள் ஈரமாக இருக்கும்போது அல்லது முகத்தை அடையாளங்காண முடியாதபோது."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"உங்கள் மொபைலை அன்லாக் செய்ய வாட்ச் அன்லாக் அம்சம் மற்றொரு எளிதான வழியாகும். உதாரணத்திற்கு, உங்கள் கைரேகையை அடையாளங்காண முடியாதபோது."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"உங்கள் மொபைலை அன்லாக் செய்ய வாட்ச் அன்லாக் அம்சம் மற்றொரு எளிதான வழியாகும். உதாரணத்திற்கு, உங்கள் முகத்தை அடையாளங்காண முடியாதபோது."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"இதற்கு கைரேகை/வாட்ச்சைப் பயன்படுத்துங்கள்:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"இதற்கு முகம்/வாட்ச்சைப் பயன்படுத்துங்கள்:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"இதற்கு முகம், கைரேகை அல்லது வாட்ச்சைப் பயன்படுத்துங்கள்:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"இந்த மொபைலை அன்லாக் செய்ய வாட்ச் அன்லாக் அம்சம் மற்றொரு எளிதான வழியாகும். உதாரணத்திற்கு, உங்கள் விரல்கள் ஈரமாக இருக்கும்போது அல்லது முகத்தை அடையாளங்காண முடியாதபோது.\n\nபின்வரும் சூழல்களில் இந்த மொபைலை அன்லாக் செய்ய உங்கள் வாட்ச்சைப் பயன்படுத்தலாம்:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"இப்போது வேண்டாம்"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"தொடர்க"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"மேலும் காட்டு"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"இது எப்படிச் செயல்படுகிறது?"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"கையில் அணிந்திருக்கும் வாட்ச் அன்லாக் செய்யப்பட்டு, மொபைலின் வரம்பிற்குள் இருக்க வேண்டும். கையில் வாட்ச் அணிந்திருக்கும்போது மீண்டும் அதை அன்லாக் செய்ய வேண்டியதில்லை."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"இந்த மொபைல் அன்லாக் செய்யப்பட்டால் உங்கள் வாட்ச்சில் அறிவிப்பைப் பெறுவீர்கள். தற்செயலாக அது அன்லாக் செய்யப்பட்டிருந்தால் மீண்டும் மொபைலைப் பூட்ட அறிவிப்பைத் தட்டவும்."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"முழுமையான கட்டுப்பாட்டைப் பெற்றுள்ளீர்கள்"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"எப்போது வேண்டுமானாலும் அமைப்புகளுக்குச் சென்று வாட்ச் அன்லாக்கிலிருந்து உங்கள் வாட்ச்சை அகற்றலாம்"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"அறிவிப்பைத் தட்டுங்கள்"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"பூட்டுத் திரையை மேல்நோக்கி ஸ்வைப் செய்யுங்கள்"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"உங்கள் வாட்ச்சைத் தேர்வுசெய்யுங்கள்"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"கிடைக்கும் வாட்ச்சுகள்"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ரத்துசெய்"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"உறுதிசெய்"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"அமைக்கப்பட்டது!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"தற்போது, பூட்டுத் திரையில் மேலே ஸ்வைப் செய்தோ அறிவிப்பைத் தட்டுவதன் மூலமோ இந்த மொபைலை அன்லாக் செய்து உங்கள் வாட்ச்சைப் பயன்படுத்தலாம்"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"முடிந்தது"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"வாட்ச் அன்லாக்"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"பூட்டுத் திரையில் மேலே ஸ்வைப் செய்தோ அறிவிப்பைத் தட்டுவதன் மூலமோ இந்த மொபைலை அன்லாக் செய்து உங்கள் வாட்ச்சைப் பயன்படுத்தலாம்"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"வாட்ச் அன்லாக் அம்சத்தைப் பயன்படுத்த, கையில் அணிந்திருக்கும் வாட்ச் அன்லாக் செய்யப்பட்ட நிலையிலும் இணைக்கும் வரம்பிற்குள்ளும் இந்த மொபைலுடன் இணைக்கப்பட்டும் இருக்க வேண்டும். இணைப்பில் இடையூறு ஏற்பட்டால் வாட்ச் அன்லாக் அம்சத்தைப் பயன்படுத்துவதற்கு முன்பு மொபைலை அன்லாக் செய்ய வேண்டும்.\n\nநினைவில் கொள்ளுங்கள்:\nஒரு நேரத்தில் ஒரு வாட்ச்சை மட்டுமே அமைக்க முடியும். மற்றொரு வாட்ச்சைச் சேர்க்க, தற்போதுள்ள வாட்ச்சை முதலில் அகற்றுங்கள்."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"பணிக்கான முகம் &amp; கைரேகை அன்லாக்"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"அமைவு தேவை"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"பாதுகாப்பு"</string>
     <string name="privacy_header" msgid="5526002421324257007">"தனியுரிமை"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"பணிக் கணக்கு"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ரகசிய இடம்"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"தனிப்பட்ட ஆப்ஸை லாக் செய்தும் மறைத்தும் வைக்கலாம்"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"தனிப்பட்ட ஆப்ஸை நீங்கள் மறைக்கக்கூடிய அல்லது பூட்டக்கூடிய தனி இடத்தில் வைக்கலாம்"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ரகசிய இடத்திற்கான பூட்டு"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"உங்கள் சாதனத்தை அன்லாக் செய்வது போலவே ரகசிய இடத்தையும் அன்லாக் செய்யலாம் அல்லது வேறு பூட்டைத் தேர்வுசெய்யலாம்"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"சாதனத் திரைப் பூட்டைப் பயன்படுத்துங்கள்"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"முகம் &amp; கைரேகை மூலம் அன்லாக் செய்தல்"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"கைரேகை அன்லாக்"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"முகம் காட்டித் திறத்தல்"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"அமைக்க தட்டுங்கள்"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ரகசிய இடத்திற்கான கைரேகை அன்லாக்"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ரகசிய இடத்திற்கான முகம் காட்டித் திறத்தல்"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"அன்லாக் செய்வதற்கான வழிகள்"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"சாதனத் திரைப் பூட்டைப் போன்றது"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ரகசிய இடத்திற்கான புதிய பூட்டைத் தேர்வுசெய்யவா?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ரகசிய இடத்தைத் தானாகவே பூட்டுதல்"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"உங்கள் சாதனத்தைக் குறிப்பிட்ட காலத்திற்கு நீங்கள் பயன்படுத்தவில்லை எனில் உங்கள் ரகசிய இடத்தைத் தானாகவே பூட்டலாம்"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"சாதனம் பூட்டப்படும் ஒவ்வொரு முறையும்"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 நிமிடச் செயலற்ற நிலைக்குப் பின்பு"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ஒருபோதுமில்லை"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"பூட்டப்பட்டிருக்கும்போது மறைத்தல்"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"பூட்டப்பட்டிருக்கும்போது ரகசிய இடத்தை மறைத்தல்"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"உங்கள் சாதனத்தில் ரகசிய இடம் இருப்பதைப் பிறர் அறியக்கூடாது எனில், உங்கள் ஆப்ஸ் பட்டியலில் இருந்து அதை மறைக்கலாம்"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"மறைக்கப்பட்டிருக்கும்போது ரகசிய இடத்தை அணுகுதல்"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"ஆப்ஸ் பட்டியலின் தேடல் பட்டியில் \"ரகசிய இடம்\" என டைப் செய்க"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ரகசிய இடக் கட்டத்தைத் தட்டுங்கள்"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"உங்கள் ரகசிய இடத்தை அன்லாக் செய்யுங்கள்"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"இயக்கப்பட்டுள்ளது"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"சிஸ்டம்"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ரகசிய இடத்தை நீக்குதல்"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ரகசிய இடத்தை நீக்க வேண்டுமா?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"சாதனத்திலிருந்து உங்கள் ரகசிய இடம் அகற்றப்படும். அனைத்துத் தனிப்பட்ட ஆப்ஸும் தரவும் நீக்கப்படும். இதைச் செயல்தவிர்க்க முடியாது."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"உங்கள் ரகசிய இடத்தில் இருந்து பின்வரும் கணக்குகள் அகற்றப்படும்:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"நீக்கு"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ரகசிய இடத்தை நீக்குகிறது…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"இதற்குச் சிறிது நேரம் ஆகும்"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ரகசிய இடம் நீக்கப்பட்டது"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ரகசிய இடத்தை நீக்க முடியவில்லை"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ரகசிய இடம் அன்லாக் செய்யப்பட்டது"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"திரைப் பூட்டை அமையுங்கள்"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"உங்கள் தனிப்பட்ட இடத்தைப் பயன்படுத்த, இந்தச் சாதனத்தில் திரைப் பூட்டை அமையுங்கள்"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"திரைப் பூட்டை அமை"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ரத்துசெய்"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ரத்துசெய்"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"அமை"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"தனிப்பட்ட இடத்தை அமைத்தல்"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"தனிப்பட்ட ஆப்ஸை நீங்கள் மறைக்கக்கூடிய அல்லது பூட்டக்கூடிய தனி இடத்தில் வைக்கலாம்"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"இது செயல்படும் விதம்"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"ஆப்ஸ் பட்டியலின் கீழ்ப்பகுதியில் இருந்து உங்கள் தனிப்பட்ட இடத்தை அணுகலாம்"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"தனிப்பட்ட இடத்திலுள்ள ஆப்ஸ் பூட்டால் பாதுகாக்கப்படுகின்றன"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"தனிப்பட்ட இடம் பூட்டப்பட்டிருக்கும்போது அதிலுள்ள ஆப்ஸின் அறிவிப்புகள் மறைக்கப்படும்"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"உங்கள் தனிப்பட்ட இடம் பூட்டப்பட்டிருக்கும்போது அதிலுள்ள ஆப்ஸ் எதுவும் அனுமதி நிர்வாகம், தனியுரிமை டாஷ்போர்டு மற்றும் பிற அமைப்புகளில் காட்டப்படாது.\n\nஉங்கள் தனிப்பட்ட இடத்தைப் புதிய சாதனத்திற்கு மாற்ற முடியாது. வேறொரு சாதனத்தில் அதைப் பயன்படுத்த விரும்பினால், வேறொரு தனிப்பட்ட இடத்தை அமைக்க வேண்டும்.\n\nஉங்கள் சாதனத்தைக் கம்ப்யூட்டருடன் இணைத்தோ தீங்கிழைக்கும் ஆப்ஸை உங்கள் சாதனத்தில் நிறுவியோ யார் வேண்டுமானாலும் உங்கள் தனிப்பட்ட இடத்தை அணுக முடியும்."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"தனிப்பட்ட இடத்தை அமைக்கிறது…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ரகசிய இடத்திற்கான ஆப்ஸ் பூட்டப்பட்டிருக்கும்போது அதிலிருந்து வரும் அறிவிப்புகள் மறைக்கப்படும்"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"படங்களையோ ஃபைல்களையோ பகிர ரகசிய இடத்தை அன்லாக் செய்யுங்கள்"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"உங்கள் தனிப்பட்ட இடத்தில் ஏற்கெனவே சில ஆப்ஸ் நிறுவப்பட்டுள்ளன"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ரகசிய இடத்தை அமைக்க முடியவில்லை"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"மீண்டும் முயல்க"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"திரைப்பூட்டால் தனிப்பட்ட இடத்தைத் திறக்க வேண்டுமா?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"உங்கள் சாதனத்தை அன்லாக் செய்வது போலவே தனிப்பட்ட இடத்தையும் அன்லாக் செய்யலாம் அல்லது வேறு பூட்டைத் தேர்வுசெய்யலாம்"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"திரைப் பூட்டைப் பயன்படுத்து"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"புதிய பூட்டைத் தேர்ந்தெடு"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"அமைத்துவிட்டீர்கள்!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"உங்கள் ரகசிய இடத்தை அணுக, ஆப்ஸ் பட்டியலுக்குச் சென்று கீழே நகர்த்துங்கள்"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"முடிந்தது"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"தனிப்பட்ட இடத்தைக் கண்டறிய கீழே நகர்த்துங்கள்"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"உள்நுழைக"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"உங்களுக்கான ரகசிய இடத்தைப் பயன்படுத்த ஒரு கணக்கில் உள்நுழையுங்கள்"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"வேண்டாம்"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"தொடர்க"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"உங்கள் தனிப்பட்ட இடத்திற்கான பூட்டைத் தேர்வுசெய்யுங்கள்"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"உங்கள் கைரேகையைப் பயன்படுத்தி தனிப்பட்ட இடத்தை அன்லாக் செய்யலாம். பாதுகாப்பிற்காக, இதனுடன் மற்றுமொரு பூட்டையும் பயன்படுத்துங்கள்."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"தனிப்பட்ட இடத்திற்கான பின்னை அமைத்தல்"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"தனிப்பட்ட இடத்தின் கடவுச்சொல்லை அமைத்தல்"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"தனிப்பட்ட இடத்திற்கான பேட்டர்னை அமைத்தல்"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> கைரேகைகள் வரை சேர்க்கலாம்"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"அனுமதிக்கப்படும் அதிகபட்சக் கைரேகைகளைச் சேர்த்துவிட்டீர்கள்"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"மேலும் கைரேகைகளைச் சேர்க்க முடியவில்லை"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"பேட்டர்ன்"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"பின்"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"கடவுச்சொல்"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"திரைப் பூட்டை நீக்கவா?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"அனைத்து வகையான சாதன அன்லாக் முறைகளையும் அகற்றவா?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"சுயவிவரப் பாதுகாப்பை அகற்றவா?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ பேட்டர்ன் அதைப் பாதுகாத்திடும்"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ பேட்டர்ன் அதைப் பாதுகாத்திடும்.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>உங்கள் சாதனத்தில் சேமிக்கப்பட்டுள்ள கைரேகைப் பதிவை இது நீக்கிவிடும். உங்கள் முகத் தோற்றப் பதிவும் நிரந்தரமாகவும் பாதுகாப்பாகவும் நீக்கப்படும். ஆப்ஸில் அங்கீகரிக்க முகத்தையோ கைரேகையையோ பயன்படுத்த முடியாது."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ \'பின்\' அதைப் பாதுகாத்திடும்"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"உங்கள் பின் போன்ற சேமித்த தரவை இழப்பீர்கள்.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>காண்டாக்ட்லெஸ் முறையில் பணம் செலுத்துவதற்காக அமைக்கப்பட்ட கார்டுகள் அகற்றப்படும்.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>சாதன அன்லாக் தேவைப்படும் வாலட்களும் பிற ஆப்ஸும் சரியாகச் செயல்படாமல் போகலாம்."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ \'பின்\' அதைப் பாதுகாத்திடும்.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>உங்கள் சாதனத்தில் சேமிக்கப்பட்டுள்ள கைரேகைப் பதிவையும் இது நீக்கிவிடும். ஆப்ஸில் அங்கீகரிக்க கைரேகையைப் பயன்படுத்த முடியாது."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"உங்கள் பின், கைரேகைப் பதிவு போன்ற சேமித்த தரவை இழப்பீர்கள்.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>காண்டாக்ட்லெஸ் முறையில் பணம் செலுத்துவதற்காக அமைக்கப்பட்ட கார்டுகள் அகற்றப்படும்.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>சாதன அன்லாக் தேவைப்படும் வாலட்களும் பிற ஆப்ஸும் சரியாகச் செயல்படாமல் போகலாம்."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ \'பின்\' அதைப் பாதுகாத்திடும்.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>உங்கள் முகத் தோற்றப் பதிவும் நிரந்தரமாகவும் பாதுகாப்பாகவும் நீக்கப்படும். ஆப்ஸில் அங்கீகரிக்க முகத்தைப் பயன்படுத்த முடியாது."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"உங்கள் பின், முகத் தோற்றப் பதிவு போன்ற சேமித்த தரவை இழப்பீர்கள்.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>காண்டாக்ட்லெஸ் முறையில் பணம் செலுத்துவதற்காக அமைக்கப்பட்ட கார்டுகள் அகற்றப்படும்.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>சாதன அன்லாக் தேவைப்படும் வாலட்களும் பிற ஆப்ஸும் சரியாகச் செயல்படாமல் போகலாம்."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ \'பின்\' அதைப் பாதுகாத்திடும்.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>உங்கள் சாதனத்தில் சேமிக்கப்பட்டுள்ள கைரேகைப் பதிவை இது நீக்கிவிடும். உங்கள் முகத் தோற்றப் பதிவும் நிரந்தரமாகவும் பாதுகாப்பாகவும் நீக்கப்படும். ஆப்ஸில் அங்கீகரிக்க முகத்தையோ கைரேகையையோ பயன்படுத்த முடியாது."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"உங்கள் பின், முகம், கைரேகைப் பதிவுகள் போன்ற சேமித்த தரவை இழப்பீர்கள்.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>காண்டாக்ட்லெஸ் முறையில் பணம் செலுத்துவதற்காக அமைக்கப்பட்ட கார்டுகள் அகற்றப்படும்.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>சாதன அன்லாக் தேவைப்படும் வாலட்களும் பிற ஆப்ஸும் சரியாகச் செயல்படாமல் போகலாம்."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ கடவுச்சொல் அதைப் பாதுகாத்திடும்"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"உங்கள் மொபைல் தொலைந்தாலோ திருடப்பட்டாலோ கடவுச்சொல் அதைப் பாதுகாத்திடும்.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"புளூடூத்"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"புளூடூத்"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> உடன் இணைக்கவா?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"ஏற்கெனவே இருக்கும் ஒருங்கிணைக்கப்பட்ட தொகுப்பில் புதிய உறுப்பினரைச் சேர்க்கவும்"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"உங்கள் ஆடியோ சாதனத்தின் இரண்டாவது பகுதியைச் சேர்ப்பதை உறுதிசெய்துகொள்ளுங்கள்"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"புளூடூத் இணைப்புக் குறியீடு"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"இணைத்தல் குறியீட்டை உள்ளிட்டு, திரும்பு அல்லது என்டரை அழுத்தவும்"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"பின்னில் எழுத்துகள் அல்லது எழுத்துக்குறிகள் உள்ளன"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 இலக்கங்கள் இருக்க வேண்டும்"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"பின்னை வேறொரு சாதனத்திலும் உள்ளிட வேண்டியிருக்கலாம்."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"நீங்கள் இந்தக் கடவுச்சொல்லை வேறொரு சாதனத்திலும் உள்ளிட வேண்டியிருக்கலாம்."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ஒருங்கிணைக்கப்பட்ட தொகுப்பில் உள்ள சாதனங்களுடன் இணைப்பதை உறுதிசெய்துகொள்ளுங்கள்"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ஆடியோ சாதனத்துடன் இணைப்பதை உறுதிசெய்துகொள்ளுங்கள்"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"உங்கள் தொடர்புகள் மற்றும் அழைப்புப் பதிவை அணுக அனுமதிக்கவும்"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"தொடர்புகளுக்கும் அழைப்புப் பதிவுகளுக்கும் அனுமதி அளியுங்கள்"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"அழைப்பு அறிவிப்புகளுக்கும் பலவற்றுக்கும் தகவல் பயன்படுத்தப்படும்"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> உடன் இணைக்க முடியவில்லை."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"கிடைக்கும் சாதனங்கள்"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"இணை"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"துண்டி"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"ஜோடி சேர்த்து &amp; இணை"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"புளூடூத் இயக்கத்தில் இருக்கும்போது, உங்கள் சாதனம் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ளலாம்."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"புளூடூத் இயக்கப்பட்டிருக்கும்போது, உங்கள் சாதனம் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ளலாம்"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"புளூடூத் ஆன் செய்யப்பட்டிருக்கும்போது உங்கள் சாதனத்தால் அருகிலுள்ள பிற புளூடூத் சாதனங்களைத் தொடர்புகொள்ள முடியும்.\n\nசாதன அனுபவத்தை மேம்படுத்த, புளூடூத் ஆஃப் செய்யப்பட்டிருந்தாலும்கூட ஆப்ஸும் சேவைகளும் எப்போது வேண்டுமானாலும் அருகிலுள்ள சாதனங்களைத் தேடலாம். உதாரணமாக, இருப்பிடம் சார்ந்த அம்சங்களையும் சேவைகளையும் மேம்படுத்த இதைப் பயன்படுத்தலாம். புளூடூத் ஸ்கேனிங் அமைப்புகளில் இதை மாற்றிக்கொள்ளலாம்."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"மாற்றுதல்"</string>
     <string name="device_details_title" msgid="1155622417516195481">"சாதன விவரங்கள்"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"பிழைதிருத்த, ஆப்ஸிற்கான பைட்கோடைச் சரிபார்க்க ARTயை அனுமதிக்கும்"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ரெஃப்ரெஷ் விகிதம் காட்டு"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"தற்போதைய டிஸ்ப்ளே ரெஃப்ரெஷ் விகிதத்தைக் காட்டும்"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR விகிதத்தைக் காட்டு"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"தற்போதைய HDR/SDR விகிதத்தைக் காட்டும்"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFCக்கு சாதனம் அன்லாக் செய்யப்படுவதை அவசியமாக்குதல்"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android பீம்"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"விமானப் பயன்முறையில்"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"பொது நெட்வொர்க்குகள் கிடைக்கும்போது தெரிவி"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"உயர்தரமான பொது நெட்வொர்க் கிடைக்கும் போது தெரிவிக்கும்"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP நெட்வொர்க்குகளை அனுமதித்தல்"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP என்பது பாதுகாப்பு குறைவான பழைய பாதுகாப்பு நெறிமுறையாகும்"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP நெட்வொர்க்குகள் பாதுகாப்பு குறைவானவை என்பதால் உங்கள் மொபைல் நிறுவனம் அவற்றை அனுமதிப்பதில்லை"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"தானாகவே வைஃபையை இயக்கு"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"உயர்தரம் எனச் சேமிக்கப்பட்ட நெட்வொர்க்குகளுக்கு அருகில் இருக்கும் போது, வைஃபை இயக்கப்படும். உதாரணமாக, உங்கள் வீட்டு நெட்வொர்க்."</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"இருப்பிடம் ஆஃப் செய்யப்பட்டுள்ளதால், கிடைக்கவில்லை. "<annotation id="link">"இருப்பிடத்தை"</annotation>" ஆன் செய்யவும்."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"வைஃபை ஸ்கேனிங் அம்சமானது வைஃபை ஆஃப் செய்யப்பட்டிருந்தாலும்கூட, எந்தநேரத்திலும் வைஃபை நெட்வொர்க்குகளைத் தேட, ஆப்ஸையும் சேவைகளையும் அனுமதிக்கும். உதாரணத்திற்கு, இருப்பிடம் சார்ந்த அம்சங்கள் மற்றும் சேவைகளை மேம்படுத்துவதற்கும் இதைப் பயன்படுத்தலாம்."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ஆன் செய்"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"வைஃபை ஸ்கேனிங் ஆன் செய்யப்பட்டது"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"பாதுகாப்பு குறைவான பழைய பாதுகாப்பு நெறிமுறையை இந்த நெட்வொர்க் பயன்படுத்துகிறது"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> தடுக்கப்பட்டுள்ளது"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"பாதுகாப்பு குறைவான WEP எனும் பழைய பாதுகாப்பு நெறிமுறையை இந்த நெட்வொர்க் பயன்படுத்துகிறது. இருப்பினும் இதனுடன் இணைக்க, WEP நெட்வொர்க்குகளை நீங்கள் அனுமதிக்கலாம்."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"பாதுகாப்பு குறைவான பழைய பாதுகாப்பு நெறிமுறையை இந்த நெட்வொர்க் பயன்படுத்துவதால் இதனுடன் இணைப்பதற்கு உங்கள் மொபைல் நிறுவனம் அனுமதிக்கவில்லை"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP ஐ அனுமதி"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"மூடு"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"மேம்பட்ட விருப்பங்கள்"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"கீழ் தோன்றும் பட்டியின் மேம்படுத்தப்பட்ட விருப்பங்கள்"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"விரி"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"வைஃபையில் தொடர்க"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"இனி ஒருபோதும் காட்டாதே"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"இணை"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"வைஃபை ஆன் செய்யப்பட்டது"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> உடன் இணைக்கப்பட்டது"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> உடன் இணைக்கிறது"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"இணைக்கிறது…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"நெட்வொர்க்குடன் இணைக்க முடியவில்லை"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"நெட்வொர்க் தொடர்பு எல்லையில் இல்லை"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"மறந்துவிடு"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"மாற்று"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"நெட்வொர்க்கை நீக்குவதில் தோல்வி"</string>
     <string name="wifi_save" msgid="2312643132472226807">"சேமி"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"நெட்வொர்க்கைச் சேமிப்பதில் தோல்வி"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ரத்துசெய்"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"வைஃபை"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"மொபைல் டேட்டா"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ஈதர்நெட்"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ சார்ஜாகிறது"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ சார்ஜாகிறது"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ஹாட்ஸ்பாட் இணைப்பு"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"இணைப்பின் வலிமை"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"சேமித்த நெட்வொர்க்குகள்"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"கடவுச்சொல் எதுவும் அமைக்கப்படவில்லை"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ஹாட்ஸ்பாட் பெயர்"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ஹாட்ஸ்பாட் கடவுச்சொல்"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP அலைவரிசை"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ஹாட்ஸ்பாட்டைத் தானாக ஆஃப் செய்"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"எந்த சாதனங்களும் இணைக்கப்படாதபோது"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"இணக்கத்தன்மையை நீட்டித்தல்"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"வெண் சமநிலையை காட்சிப்படுத்தல்"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"மடக்கிய நிலையிலேயே தொடர்ந்து ஆப்ஸைப் பயன்படுத்துதல்"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"சீரான காட்சி"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"சில உள்ளடக்கத்திற்கான புதுப்பிக்கும் விகிதத்தை 60 Hzல் இருந்து <xliff:g id="ID_1">%1$s</xliff:g> Hzக்குத் தானாகவே உயர்த்தும். பேட்டரி உபயோகத்தை அதிகரிக்கும்."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"கேம்களுக்கான இயல்பு ஃப்ரேம் வீதத்தை முடக்குதல்"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"கேம்களுக்கான அதிகபட்ச ஃப்ரேம் வீதமாக <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz என்பதை அமைப்பதை முடக்கலாம்."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"சீரான காட்சி"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"சில உள்ளடக்கத்திற்குப் புதுப்பிக்கும் விகிதத்தை <xliff:g id="ID_1">%1$d</xliff:g> Hzக்குத் தானாகவே உயர்த்தும். பேட்டரி உபயோகத்தை அதிகரிக்கும்."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"கட்டாயமான அதிகபட்ச ரெஃப்ரெஷ் விகிதம்"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"மேம்பட்ட தொடு இயக்கத்திறனுக்கும் அனிமேஷன் தரத்திற்குமான அதிவேக ரெஃப்ரெஷ் விகிதம். இதனால் பேட்டரி உபயோகம் அதிகரிக்கும்."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"திரை மீது கவனம்"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"முன்பக்கக் கேமராவைப் பயன்படுத்தி திரையை யாராவது பார்க்கிறார்களா என்பதை \'திரை மீது கவனம்\' எனும் அம்சம் அறியும். இது சாதன அளவிலேயே இயங்கும், படங்கள் சேமிக்கப்படவோ Googleளுக்கு அனுப்பப்படவோ மாட்டாது."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"\'திரை மீது கவனத்தை\' ஆன் செய்தல்"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"பார்க்கும்போது திரையை ஆனில் வைத்திருக்கும்"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"கூடுதலான திரை அணைவு நேரம் அதிக பேட்டரியைப் பயன்படுத்தும்."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"கேமரா பூட்டப்பட்டுள்ளது"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"முகம் கண்டறிதலைப் பயன்படுத்த, கேமரா அன்லாக் செய்யப்பட வேண்டும்"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"திரை மீது கவனம் அம்சத்தைப் பயன்படுத்த, கேமரா அன்லாக் செய்யப்பட வேண்டும்"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (சிம் ஸ்லாட் <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (சிம் ஸ்லாட் <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (முதன்மை)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"பார்ப்பதற்கு, சேமிக்கப்பட்ட நெட்வொர்க்கைத் தேர்வுசெய்யுங்கள்"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL பதிப்பு"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"பேட்டரி நிலை"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"சமூகம்"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"சமூக அமைப்புகள்"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"சாட்டிலைட் மெசேஜிங்"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN பட்டியல்"</string>
     <string name="apn_edit" msgid="2003683641840248741">"ஆக்சஸ் பாயிண்ட்டைத் திருத்து"</string>
+    <string name="apn_add" msgid="9069613192201630934">"ஆக்சஸ் பாயின்ட்டைச் சேர்த்தல்"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"அமைக்கப்படவில்லை"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"அமைக்கப்படவில்லை"</string>
     <string name="apn_name" msgid="6677695784108157953">"பெயர்"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN இயக்கப்பட்டது"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN முடக்கப்பட்டது"</string>
     <string name="bearer" msgid="3231443241639159358">"பியரர்"</string>
+    <string name="network_type" msgid="748590707422733595">"நெட்வொர்க் வகை"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"குறிப்பிடப்படவில்லை"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO வகை"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO மதிப்பு"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN ஐ நீக்கு"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"சேமி"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ரத்துசெய்"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"நகல் APN உள்ளீடு."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"பெயர் புலம் வெறுமையாக இருக்கக்கூடாது."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN வெறுமையாக இருக்கக்கூடாது."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC புலத்தில் 3 இலக்கங்களாவது இருக்க வேண்டும்."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC புலம் கண்டிப்பாக 2 அல்லது 3 இலக்கங்களில் இருக்க வேண்டும்."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"%s வகை APNகளைச் சேர்க்க, தொலைத்தொடர்பு நிறுவனம் அனுமதிக்கவில்லை."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC புலம் சரியானதாக இருக்க வேண்டும்."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"இயல்புநிலை APN அமைப்புகளை மீட்டமைக்கிறது."</string>
     <string name="menu_restore" msgid="4310539620115151551">"இயல்புநிலைக்கு மீட்டமை"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"இயல்புநிலை APN அமைப்புகளை மீட்டமைப்பது முடிந்தது."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"மீட்டமை"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"புளூடூத் &amp; வைஃபை மீட்டமைக்கப்பட்டன"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMகளை அழி"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"மொபைல் சேவைத் திட்டங்கள் எவையும் இதனால் ரத்துசெய்யப்படாது. மாற்று சிம்களைப் பதிவிறக்க, உங்கள் மொபைல் நிறுவனத்தைத் தொடர்புகொள்ளவும்."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"இது உங்கள் மொபைல் சேவைத் திட்டத்தை ரத்துசெய்யாது. மாற்று சிம்மைப் பெற, உங்கள் மொபைல் நிறுவனத்தைத் தொடர்புகொள்ளுங்கள்."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"அமைப்புகளை மீட்டமை"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"அனைத்து நெட்வொர்க் அமைப்புகளையும் மீட்டமைக்கவா? இதைச் செயல்தவிர்க்க இயலாது."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"அனைத்து நெட்வொர்க் அமைப்புகளையும் மீட்டமைத்து eSIMகளை அழிக்கவா? இதைச் செயல்தவிர்க்க முடியாது."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"மீட்டமைக்கவா?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"நெட்வொர்க் அமைப்புகளை மீட்டமைக்க, இந்தப் பயனருக்கு அனுமதியில்லை"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"நெட்வொர்க் அமைப்புகள் மீட்டமைக்கப்பட்டன"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"சிம்களை அழிக்க இயலாது"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"பிழை ஏற்பட்டதால் eSIMகளை அழிக்க முடியவில்லை.\n\nசாதனத்தை மீண்டும் தொடங்கிவிட்டு முயலவும்."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIMகளை அழிக்க முடியவில்லை"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"ஏதோ தவறாகிவிட்டதால் உங்கள் eSIMகளை அழிக்க முடியவில்லை.\n\nஉங்கள் சாதனத்தை மீண்டும் தொடங்கி மறுபடியும் முயற்சித்துப் பார்க்கவும்."</string>
     <string name="main_clear_title" msgid="277664302144837723">"எல்லாத் தரவையும் அழி (ஆரம்பநிலை ரீசெட்)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"எல்லாத் தரவையும் அழி (ஆரம்பநிலை ரீசெட்)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"இசை"</li>\n<li>"படங்கள்"</li>\n<li>"பிற பயனர் தரவு"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMகள்"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"இதைச் செய்வதால் உங்கள் மொபைல் சேவைத் திட்டம் ரத்துசெய்யப்படாது."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"உங்களின் அனைத்துத் தனிப்பட்ட தகவல்களும் பதிவிறக்கிய ஆப்ஸும் நீக்கப்படும். இதைச் செயல்தவிர்க்க இயலாது."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"பதிவிறக்கிய ஆப்ஸ், சிம்கள் ஆகியவை உட்பட உங்களின் அனைத்துத் தனிப்பட்ட தகவல்களும் நீக்கப்படும். இதைச் செயல்தவிர்க்க இயலாது."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"பதிவிறக்கிய ஆப்ஸ் மற்றும் eSIMகள் உட்பட உங்களின் அனைத்துத் தனிப்பட்ட தகவல்களும் நீக்கப்படும். இதைச் செயல்தவிர்க்க முடியாது."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"எல்லாத் தரவையும் அழிக்கவா?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"இவருக்கு ஆரம்பநிலை மீட்டமைவு இல்லை"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"அழிக்கிறது"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ஹாட்ஸ்பாட், USB, புளூடூத், ஈதர்நெட்"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"பிற சாதனங்களுடன் இணையத்தைப் பகிர்வதில்லை"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"முடக்கப்பட்டுள்ளது"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"டெதெரிங்"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"வைஃபை ஹாட்ஸ்பாட்டைப் பயன்படுத்த வேண்டாம்"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"புளூடூத் வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ஈதர்நெட் வழியாக மட்டுமே இணையத்தைப் பகிரவும்"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB மற்றும் புளூடூத் வழியாக மட்டும் இணையத்தைப் பகிரவும்"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB மற்றும் புளூடூத் வழியாக மட்டுமே இணையத்தைப் பகிரவும்"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"புளூடூத் மற்றும் ஈதர்நெட் வழியாக மட்டுமே இணையத்தைப் பகிரவும்"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, புளூடூத், ஈதர்நெட் வழியாக மட்டுமே இணையத்தைப் பகிரவும்"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB டெதெரிங்"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"புளூடூத் டெதெரிங்"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ஈத்தர்நெட் இணைப்புமுறை"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"உங்கள் வைஃபை அல்லது மொபைல் டேட்டா மூலம் வேறு சாதனங்களுக்கு இணைய இணைப்பை வழங்க ஹாட்ஸ்பாட்டையும் டெதரிங் இணைப்பு முறையையும் பயன்படுத்தும். மேலும், அருகிலுள்ள சாதனங்களுடன் உள்ளடக்கத்தைப் பகிர, தனியாக ஒரு ஹாட்ஸ்பாட்டையும் ஆப்ஸ் உருவாக்கலாம்."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"உதவி"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"நெட்வொர்க்"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"மொபைல் திட்டம்"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS ஆப்ஸை மாற்றவா?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="CURRENT_APP">%2$s</xliff:g>க்குப் பதிலாக <xliff:g id="NEW_APP">%1$s</xliff:g>ஐ உங்கள் SMS பயன்பாடாகப் பயன்படுத்தவா?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"வைஃபை அசிஸ்டண்டை மாற்றவா?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"நெட்வொர்க் இணைப்புகளை நிர்வகிக்க, <xliff:g id="CURRENT_APP">%2$s</xliff:g>க்குப் பதிலாக <xliff:g id="NEW_APP">%1$s</xliff:g>ஐப் பயன்படுத்தவா?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"நெட்வொர்க் இணைப்புகளை நிர்வகிக்க <xliff:g id="NEW_APP">%s</xliff:g>ஐப் பயன்படுத்தவா?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"அறியப்படாத சிம் மொபைல் நிறுவனம்"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> இடம், தெரிந்த புரொவிஷனிங் இணைதளம் இல்லை"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"சிம் கார்டைச் செருகி மீண்டும் தொடங்கவும்"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"இணையத்துடன் இணைக்கவும்"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"சமீபத்திய இருப்பிடக் கோரிக்கைகள்"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"பணி சுயவிவரத்திற்கான இருப்பிடம்"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ஆப்ஸுக்கான இருப்பிட அனுமதிகள்"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"அணுகலை நீக்கு"</string>
     <string name="controls_label" msgid="8671492254263626383">"கட்டுப்பாடுகள்"</string>
     <string name="force_stop" msgid="2681771622136916280">"உடனே நிறுத்து"</string>
+    <string name="archive" msgid="9074663845068632127">"காப்பிடு"</string>
+    <string name="restore" msgid="7622486640713967157">"மீட்டெடு"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"மீட்டெடுக்கிறது"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"மீட்டெடுக்கிறது."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"மீட்டெடுக்கிறது.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"மீட்டெடுக்கிறது..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"மொத்தம்"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ஆப்ஸின் அளவு"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB சேமிப்பிட ஆப்ஸ்"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"பேக்கேஜ் அளவைக் கணக்கிட முடியவில்லை."</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> பதிப்பு"</string>
     <string name="move_app" msgid="5421158479447276791">"நகர்த்து"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"காப்பிட முடியவில்லை"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> காப்பிடப்பட்டது"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"மீட்டெடுக்க முடியவில்லை"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ஐ மீட்டெடுக்கிறது"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ஏற்கனவே ஒரு நகர்த்துதல் செயலில் உள்ளது."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"போதுமான சேமிப்பிடம் இல்லை."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ஆப்ஸ் இல்லை."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"கிடைக்கும் ஸ்கிரீன் கீபோர்டு:"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"ஸ்கிரீன் கீபோர்டுகளை நிர்வகியுங்கள்"</string>
     <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="6922850403920596246">"கீபோர்டு அணுகல்தன்மைக்கான பவுன்ஸ் விசைகளை இயக்கலாம்"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"ஸ்லோ கீஸ்"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"கீபோர்டு அணுகல்தன்மைக்கான ஸ்லோ கீஸை இயக்கலாம்"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"ஸ்டிக்கி கீஸ்"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"கீபோர்டு அணுகல்தன்மைக்கான ஸ்டிக்கி கீஸை இயக்கலாம்"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"மேலும் விருப்பங்களுக்கு டச்பேடின் கீழ்வலது மூலையில் தட்டுக"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"பாயிண்ட்டர் வேகம்"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"டச்பேட் சைகைகளை அறிந்துகொள்ளுங்கள்"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"முகப்பிற்குச் செல்"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"டச்பேடில் மூன்று விரல்களால் மேல்நோக்கி ஸ்வைப் செய்யுங்கள்"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"பின்செல்"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"உபயோக நேரப்படி வரிசைப்படுத்துக"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"கடைசிப் பயன்பாட்டின்படி வரிசைப்படுத்துக"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ஆப்ஸ் பெயரால் வரிசைப்படுத்துக"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"கடைசியாகப் பயன்படுத்தியது"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"கடைசியாகப் பயன்படுத்தியது"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"எப்போதும் இல்லை"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"பயன்படுத்திய நேரம்"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"அணுகல்தன்மை"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"அணுகல்தன்மை அமைப்பு"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"மூன்றுமுறை தட்டிப் பெரிதாக்குதல்"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ஷார்ட்கட் மூலம் பெரிதாக்குதல்"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ஷார்ட்கட் &amp; 3 முறை தட்டுவதன் மூலம் பெரிதாக்கலாம்"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> பற்றிய அறிமுகம்"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"திறக்க அணுகல்தன்மை பட்டனைப் பயன்படுத்துதல்"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"திறக்க ஒலியளவு விசைகளைப் பிடித்திருக்கவும்"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"திறக்க திரையில் 3 முறை தட்டவும்"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"இரண்டு விரல்களால் திரையில் இருமுறை தட்டித் திறத்தல்"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"திறக்க சைகைகளைப் பயன்படுத்துதல்"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"அணுகல்தன்மை சைகையைப் பயன்படுத்தவும்"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"இந்த அம்சத்தைப் பயன்படுத்த திரையின் கீழ்ப்பகுதியில் உள்ள அணுகல்தன்மை பட்டனை <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> தட்டவும்.\n\nஅம்சங்களுக்கு இடையே மாற, அணுகல்தன்மை பட்டனைத் தொட்டுப் பிடித்திருக்கவும்."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"இந்த அம்சத்தைப் பயன்படுத்த, உங்கள் திரையிலுள்ள அணுகல்தன்மை பட்டனைத் தட்டுங்கள்."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"இந்த அம்சத்தைப் பயன்படுத்த ஒலியளவுக்கான விசைகளை அழுத்திப் பிடித்திருக்கவும்."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"பெரிதாக்குவதைத் தொடங்கவும் நிறுத்தவும், திரையில் எங்காவது மூன்று முறை தட்டவும்."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"பெரிதாக்குவதைத் தொடங்கவும் நிறுத்தவும், திரையில் எங்காவது இரண்டு விரல்களால் இருமுறை தட்டவும்."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"இந்த அம்சத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 2 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 2 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"இந்த அமசத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 3 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 3 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"அணுகல்தன்மை அம்சத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 2 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 2 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"அணுகல்தன்மை அம்சத்தைப் பயன்படுத்த திரையின் கீழிருந்து மேலாக 3 விரல்களால் ஸ்வைப் செய்யவும்.\n\nஅம்சங்களுக்கு இடையே மாற 3 விரல்களால் மேல்நோக்கி ஸ்வைப் செய்து பிடித்திருக்கவும்."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"புரிந்தது"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"அணுகல்தன்மை பட்டன் அமைப்புகள்"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"பட்டன் அமைப்புகள்"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> ஷார்ட்கட்"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"அணுகல்தன்மை பட்டன்"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"அணுகல்தன்மை சைகை"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"ஒலியளவுக்கான விசைகளைப் பிடிக்கவும்"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ஒலியளவு விசைகளைப் பிடித்திருக்கவும்"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"இரண்டு ஒலியளவு விசைகளையும் அழுத்திப் பிடித்திருக்கவும்"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"இரண்டு விரல்களால் திரையை இருமுறை தட்டுதல்"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"இரண்டு விரல்களால் திரையை இருமுறை தட்டுங்கள்"</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="6863958573135995927">"திரையில் மூன்று முறை தட்டவும்"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"திரையை விரைவாக {0,number,integer} முறை தட்டவும். இந்த ஷார்ட்கட் உங்கள் சாதனத்தின் வேகத்தைக் குறைக்கக்கூடும்"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"அணுகல்தன்மை பட்டன் மற்றும் சைகை பற்றி மேலும் அறிந்துகொள்ளலாம்"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"அணுகல்தன்மை பட்டனைப் பயன்படுத்துதல். 3-பட்டன் வழிசெலுத்தலில் சைகையைப் பயன்படுத்த முடியாது."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"அணுகல்தன்மை அம்சங்களை விரைவாக அணுகலாம்"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"தொடங்க"</b>\n"1. அணுகல்தன்மை அமைப்புகளுக்குச் செல்லவும்\n2. ஓர் அம்சத்தைத் தேர்ந்தெடுத்து ஷார்ட்கட்டைத் தட்டவும்\n3. அந்த அம்சத்தை அணுக, பட்டன் அல்லது சைகை இவற்றில் எதைப் பயன்படுத்த விரும்புகிறீர்கள் என்பதைத் தேர்வுசெய்யவும்"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"தொடங்க"</b>\n"1. அணுகல்தன்மை அமைப்புகளுக்குச் செல்லவும்\n2. ஓர் அம்சத்தைத் தேர்ந்தெடுத்து ஷார்ட்கட்டைத் தட்டவும்\n3. அம்சத்தை அணுகுவதற்கான பட்டனைத் தேர்ந்தெடுக்கவும்"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"பட்டனையோ சைகையையோ பயன்படுத்துதல்"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"இடம்"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"அளவு"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"பவர் பட்டன் மூலம் அழைப்பை நிறுத்து"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"பெரிய மவுஸ் பாயிண்டர்"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"மவுஸ் பாயிண்ட்டர் நன்றாகத் தெரியும்படி அமைக்கலாம்"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"அனைத்து ஆப்ஸையும் டார்க் ஆக்குதல்"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"டார்க் தீம் இல்லாத ஆப்ஸுக்குப் பொருந்தும். சில ஆப்ஸில் நெகடிவ் போன்ற காட்சிச் சிக்கல்கள் இருக்கலாம்."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"அனிமேஷன்களை அகற்று"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"திரையில் அசைவைக் குறைக்கும்"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"மோனோ ஆடியோ"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"அதிர்வு &amp; ஹாப்டிக்ஸைப் பயன்படுத்துதல்"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"அலார அதிர்வு"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"மீடியா அதிர்வு"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"கீபோர்டு அதிர்வு"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"ரிங் அதிர்வு"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"அறிவிப்பு அதிர்வு"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"தொட்டு கருத்து தெரிவித்தல்"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"நிறுத்து"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ரத்துசெய்"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> சேவையை நிறுத்தவா?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> என்பதைத் தட்டினால் <xliff:g id="SERVICE">%2$s</xliff:g> நிறுத்தப்படும்."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"முடக்கு"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"இயக்கு"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> ஐ முடக்கவா?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"சேவைகள் எதுவும் நிறுவப்படவில்லை"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"சேவை எதையும் தேர்ந்தெடுக்கவில்லை"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"விளக்கம் எதுவும் வழங்கப்படவில்லை."</string>
     <string name="settings_button" msgid="2195468788019730377">"அமைப்பு"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ஒளி உணர்திறன், ஃபோட்டோஃபோபியா, டார்க் தீம், ஒற்றைத் தலைவலி, தலைவலி, வாசிப்புப் பயன்முறை, இரவுப் பயன்முறை, ஒளிர்வைக் குறைத்தல், ஒயிட் பாயிண்ட்"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"எளிதாகப் பயன்படுத்தக்கூடியது, எளிதாக அணுகக்கூடியது, உதவி, உதவிகரமானது"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"பார்வை, கேட்கும் திறன், பார்வையற்றவர்கள், காது கேளாதோர், உடலியக்கம், கைத்திறன், உதவிகரமானது, உதவி, எளிதாகப் பயன்படுத்தக்கூடியது, எளிதாக அணுகக்கூடியது, கை, உதவி"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"சாளரப் பெரிதாக்கி, அளவை மாற்றுதல், பெரிதாக்கல், குறைந்த பார்வைத் திறன், பெரிதாக்கல், பெரிதாக்கு"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"வசனங்கள், விவரிப்பு சப்டைட்டில்கள், CC, Live Transcribe, கேட்பதில் சிரமம், கேட்கும் திறன் இன்மை, CART, பேச்சிலிருந்து உரை, சப்டைட்டில்"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"நிற வேறுபாடு"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"உடல் இயக்கத் திறன், மவுஸ்"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"செவித்துணைக் கருவிகள், செவித்திறன் குறைபாடு, செவித்திறன் இழப்பு, கோக்லியார் இம்பிளான்ட் சாதனங்கள், ஒலிபெருக்கிச் சாதனங்கள், சவுண்டு பிராசஸர்கள்"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"உடலியக்கம், மவுஸ், வெளிப்புற மவுஸ், ஹெட் மவுஸ், அடாப்டிவ் மவுஸ், வீல்சேர், ஜாய்ஸ்டிக்"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"செவித்துணைக் கருவிகள், செவித்திறன் குறைபாடு, செவித்திறன் இழப்பு, செவித்திறன் சாதனங்கள், ஒலிபெருக்கிச் சாதனங்கள், சவுண்டு பிராசஸர்கள், PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"கேட்பதில் சிரமம், கேட்கும் திறன் இன்மை, வசனங்கள், டெலிடைப், TTY"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"மூன்று பட்டன்கள்"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"கைத்திறன், உடல் இயக்கத் திறன், முதியோர், கீல்வாதம், rsi, பக்கவாதம், நடுக்கம், மல்ட்டிபில் ஸ்க்லரோசிஸ், செரிப்ரல் பால்சி, ஷேக்கிங், திரும்பத் திரும்ப ஏற்படும் காயம், கை"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"தாமதம், கைத்திறன், முதியோர்"</string>
     <string name="print_settings" msgid="8519810615863882491">"அச்சிடுதல்"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ஆஃப்"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 பிரிண்ட் சேவை இயக்கப்பட்டுள்ளது}other{# பிரிண்ட் சேவைகள் இயக்கப்பட்டுள்ளன}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> மீதமுள்ளது"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"சார்ஜ் செய்வதற்கு <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"பயன்படுத்திய நேரம்"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"பின்னணியில் எடுக்கப்படும் நேரம்"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"பேட்டரி குறைவாக உள்ளது"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"பின்னணியில் இயங்குவதற்குப் ஆப்ஸை அனுமதிக்கும்"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"பின்னணி செயல்பாட்டைக் கட்டுப்படுத்தவா?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"ஆப்ஸின் பின்னணி செயல்பாட்டைக் கட்டுப்படுத்தினால், சரியாக வேலை செய்யாது."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"பேட்டரியை மேம்படுத்த அமைக்கப்படவில்லை, எனவே கட்டுப்படுத்த முடியாது.\n\nஆப்ஸை கட்டுப்படுத்த, பேட்டரி மேம்படுத்தலை ஆன் செய்க."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"பேட்டரி உபயோகத்தை நிர்வகித்தல்"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"பின்னணி உபயோகத்தை அனுமதித்தல்"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"நிகழ்நேர அறிவிப்புகளுக்காக இயக்கலாம், பேட்டரியைச் சேமிக்க முடக்கலாம்"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"கட்டுப்பாடற்ற பேட்டரி"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"மேம்படுத்தப்பட்டது"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"வரம்பிடப்பட்டது"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"பேட்டரியை அதிகமாக உபயோகிக்கும் ஆப்ஸைக் காண்க"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"உங்கள் பேட்டரியைப் பாதுகாக்க சார்ஜிங் மேம்படுத்தப்பட்டுள்ளது"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"உங்கள் பேட்டரியின் ஆயுட்காலத்தை நீட்டிக்க உதவ சார்ஜிங் மேம்படுத்தப்பட்டுள்ளது"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"உங்கள் பேட்டரியைப் பாதுகாக்க சார்ஜிங் மேம்படுத்தப்பட்டுள்ளது"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"உங்கள் பேட்டரியின் ஆயுட்காலத்தை நீட்டிக்க உதவுவதற்கு, Dock உடன் இணைக்கப்பட்டிருக்கும்போது சார்ஜிங் மேம்படுத்தப்படும்"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"உங்கள் பேட்டரியைப் பாதுகாக்க சார்ஜிங் மேம்படுத்தப்பட்டுள்ளது"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"உங்கள் பேட்டரியின் ஆயுட்காலத்தை நீட்டிக்க உதவுவதற்கு, Dock உடன் இணைக்கப்பட்டிருக்கும்போது சார்ஜிங் மேம்படுத்தப்படும்"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"முழுமையாகச் சார்ஜ் ஆகிறது"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"உங்கள் பேட்டரியைப் பாதுகாக்க, உங்கள் டேப்லெட் அடுத்த முறை Dock உடன் இணைக்கப்படும்போது சார்ஜிங் மேம்படுத்தப்படும்"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"சார்ஜிங் இடைநிறுத்தப்பட்டது குறித்து மேலும் அறிக"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"சார்ஜ் செய்வதை மீண்டும் தொடங்கு"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"அதிக மின்சக்தியைப் பயன்படுத்தும் பின்னணிச் செயல்பாட்டையும் உள்ளடக்கியது"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"இந்த ஆப்ஸ், பின்னணியில் இயங்கி பேட்டரியைப் பயன்படுத்த முடியும். இதனால், பேட்டரி வழக்கத்தைவிட வேகமாகத் தீர்ந்துவிடக்கூடும்."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"அகற்று"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ரத்துசெய்"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"முழுமையாகச் சார்ஜ் ஏற்றுங்கள்"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"சார்ஜரில் சிக்கல்"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"சார்ஜிங் துணைக்கருவியைச் சரிபாருங்கள்"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"இணக்கமற்ற சார்ஜிங் குறித்து மேலும் அறிக"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"பேட்டரி நிர்வாகி"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"தானாகவே ஆப்ஸை நிர்வகித்தல்"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"கடைசியாக பேட்டரி முழுமையாகச் சார்ஜானதிலிருந்து"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"சிஸ்டம் ஆப்ஸ்"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"நிறுவல் நீக்கப்பட்ட ஆப்ஸ்"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"மற்றவை"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"கணக்கிடப்பட்ட மீதமுள்ள நேரம்"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"முழு சார்ஜ் ஆக"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"மொத்தம்: ஒரு நிமிடத்திற்கும் குறைவு"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"பின்னணி: ஒரு நிமிடத்திற்கும் குறைவு"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"சாதனத்தைப் பயன்படுத்திய நேரம்: ஒரு நிமிடத்திற்கும் குறைவு"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ஒரு நிமிடத்திற்கும் குறைவு"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"மொத்தம்: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"பின்னணி: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"சாதனத்தைப் பயன்படுத்திய நேரம்: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"தற்போது"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"பேட்டரி உபயோக விளக்கப்படம்"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"தினசரி பேட்டரி உபயோக விளக்கப்படம்"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"மணிநேர பேட்டரி உபயோக விளக்கப்படம்"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"பேட்டரி நிலை சதவீதம்: <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> முதல் <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> வரை"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"கடைசியாக பேட்டரியை முழுவதுமாகச் சார்ஜ் செய்ததிலிருந்து அதன் உபயோகம் குறித்த விவரம்"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g>க்கான பேட்டரி உபயோகம்"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"கடைசியாக முழுமையாகச் சார்ஜ் செய்யப்பட்டதிலிருந்து சாதனத்தைப் பயன்படுத்திய நேரம்"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"அவசரகால டயலிங் சிக்னல்"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"அவசர அழைப்பு இயக்கப்பட்டிருக்கும்போது நடத்தையை அமை"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"காப்புப்பிரதி"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ஆன் செய்யப்பட்டுள்ளது"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ஆஃப் செய்யப்பட்டுள்ளது"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"காப்புப் பிரதி &amp; மீட்டெடுத்தல்"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"தனிப்பட்ட தரவு"</string>
     <string name="backup_data_title" msgid="507663517227498525">"தரவை காப்புப்பிரதியெடு"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"மொபைல் டேட்டா &amp; வைஃபை"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"தனிப்பட்ட டேட்டாவைத் தானாக ஒத்திசை"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"பணி டேட்டாவைத் தானாக ஒத்திசை"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"தனிப்பட்ட தரவைத் தானாக ஒத்திசை"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"சுழற்சியை மாற்று…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"டேட்டா உபயோகச் சுழற்சியை மீட்டமைப்பதற்கான மாதத்தின் நாள்:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"இந்தக் கால நேரத்தில், எந்தப் பயன்பாடுகளும் தரவைப் பயன்படுத்தவில்லை."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"பெயர்"</string>
     <string name="vpn_type" msgid="5533202873260826663">"வகை"</string>
     <string name="vpn_server" msgid="2908816134941973935">"சேவையக முகவரி"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP என்க்ரிப்ட் (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP ரகசியம்"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec அடையாளங்காட்டி"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec முன் பகிர்வு விசை"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec பயனர் சான்றிதழ்"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA சான்றிதழ்"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec சேவையகச் சான்றிதழ்"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"மேம்பட்ட விருப்பங்களைக் காட்டு"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS தேடல் டொமைன்கள்"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS சேவையகங்கள் (எ.கா. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"முன்னனுப்பும் பாதைகள் (எ.கா. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"பயனர்பெயர்"</string>
     <string name="vpn_password" msgid="1183746907642628127">"கடவுச்சொல்"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"கணக்கின் தகவலைச் சேமி"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(பயன்படுத்தப்படவில்லை)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(சேவையகத்தைச் சரிபார்க்க வேண்டாம்)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(சேவையகத்திலிருந்து பெறப்பட்டது)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"எல்லா நேரமும் இந்த VPN வகை இணைக்கப்பட்டிருக்காது"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"எப்போதும் VPNஐ இயக்கத்திலேயே வைக்கும் விருப்பமானது எண் வடிவச் சேவையக முகவரிகளை மட்டுமே ஆதரிக்கும்"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"எப்போதும் VPNஐ இயக்கத்திலேயே வைக்க, ஒரு DNS சேவையகத்தைக் குறிப்பிட வேண்டும்"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"எப்போதும் VPNஐ இயக்கத்திலேயே வைக்க, DNS சேவையக முகவரிகள் எண் வடிவில் இருக்க வேண்டும்"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"உள்ளிட்ட தகவலானது எப்போதும் VPNஐ இயக்கத்திலேயே வைப்பதை ஆதரிக்கவில்லை"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ரத்துசெய்"</string>
     <string name="vpn_done" msgid="5137858784289564985">"விலக்கு"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN இல்லாமல் இணைப்புகளைத் தடு"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN இணைப்பு வேண்டுமா?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"பாதுகாப்பற்றது. IKEv2 VPNனுக்குப் புதுப்பிக்கவும்"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"ஆதரிக்கப்படாத VPNனைத் தொடங்க முடியவில்லை."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"எப்போதும் இணைந்திருக்க வேண்டிய VPN சுயவிவரத்தைத் தேர்ந்தெடுக்கவும். இந்த VPN உடன் இணைந்திருக்கும்போது மட்டுமே நெட்வொர்க்கின் டிராஃபிக் அனுமதிக்கப்படும்."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ஏதுமில்லை"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"எப்போதும் இயக்கத்தில் இருக்கும் VPN க்கு சேவையகங்கள் மற்றும் DNS ஆகியவற்றின் IP முகவரி தேவைப்படுகிறது."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER எச்சரிக்கைகள்"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"குழந்தைக் கடத்தல் பற்றிய அறிவிப்புகளைப் பெறுதல்"</string>
     <string name="repeat_title" msgid="8676570486899483606">"மீண்டும்"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"அழைப்பு நிர்வாகியை இயக்கு"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"அழைப்புகளின் தன்மையை நிர்வகிக்க இந்தச் சேவையை அனுமதிக்கவும்."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"அழைப்பு நிர்வாகி"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"வயர்லெஸ் அவசரகால விழிப்பூட்டல்கள்"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"நெட்வொர்க் ஆபரேட்டர்கள்"</string>
     <string name="access_point_names" msgid="5768430498022188057">"ஆக்சஸ் பாயிண்ட் பெயர்கள்"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"சிம் நிலை"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"சிம் நிலை (சிம் ஸ்லாட் %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"சிம்கள் மாற்றப்பட்டன."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"உங்கள் சிம்கள் மாற்றப்பட்டன"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"அமைக்க, தட்டவும்"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ஒவ்வொரு முறையும் கேள்"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"தேர்வு தேவை"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"சமீபத்திய ஆப்ஸ், இயல்பான ஆப்ஸ்"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"பணிக் கணக்கில், ஆப்ஸுற்கான அறிவிப்பு அணுகல் இல்லை."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"கடவுச்சொற்களும் கணக்குகளும்"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"சேமிக்கப்பட்டுள்ள கடவுச்சொற்கள், தானாக நிரப்புதல், ஒத்திசைக்கப்பட்ட கணக்குகள்"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"உள்நுழைதல் &amp; தன்னிரப்பிக்கான பரிந்துரைகள்"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"இயல்புநிலை ஆப்ஸ்"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"குளோன் செய்யப்பட்ட ஆப்ஸ்"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ஆப்ஸிற்கான இரண்டாம் நகலை உருவாக்குவதன் மூலம் இரண்டு கணக்குகளையும் ஒரே நேரத்தில் பயன்படுத்தலாம்."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"கட்டணம் செலுத்தவும், தட்டவும், கட்டணம் செலுத்துதல்"</string>
     <string name="keywords_backup" msgid="707735920706667685">"காப்புப்பிரதி, காப்புப் பிரதி"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"சைகை"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"முகம் காட்டித் திறத்தல், அடையாளம், உள்நுழைதல்"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"முகம், அன்லாக், அங்கீகரிப்பு, உள்நுழை, கைரேகை, பயோமெட்ரிக்"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl பதிப்பு, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"உரை அளவு, பெரிய அச்சு, பெரிய எழுத்து, பெரிய உரை, குறைந்த பார்வைத்திறன், உரையைப் பெரிதாக்குதல், எழுத்துப் பெரிதாக்கி, எழுத்தைப் பெரிதாக்குவது"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"எப்போதும் ஆம்பியன்ட் டிஸ்பிளேயில், AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, குறி, ரீடர்"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"கீபோர்டு, ஹாப்டிக்ஸ், அதிர்வு,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ஒலியளவு, அதிர்வு, தொந்தரவு செய்யாதே"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"மீடியா ஒலியளவு"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"அலைபரப்புவதற்கான ஒலியளவு"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"ஒலிகளை இயக்கு"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"உடனடி வசன உரை"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"வசன உரைகளைத் தானாக எழுதும்"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"மொபைல் ஸ்பீக்கர்கள்"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"டேப்லெட் ஸ்பீக்கர்கள்"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"சாதன ஸ்பீக்கர்கள்"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"வயருள்ள ஹெட்ஃபோன்கள்"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"இணக்கமான மீடியாவிலிருந்து வரும் ஆடியோ இன்னும் ஆழ்ந்த இசை அனுபவத்தைத் தரும்"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ஆஃப்"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"எல்லா அறிவிப்பு விவரத்தையும் காட்டு"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"பாதுகாக்க வேண்டியவற்றை அன்லாக்கில் மட்டும் காட்டு"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"அறிவிப்புகளை ஒருபோதும் காட்டாதே"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"லாக் ஸ்கிரீன் எப்படி இருக்க வேண்டும்?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"உங்கள் பூட்டுத் திரை எதைக் காட்ட வேண்டும் என விரும்புகிறீர்கள்?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"லாக் ஸ்கிரீன்"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"எல்லா பணி அறிவிப்பு விவரத்தையும் காட்டு"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"பாதுகாக்க வேண்டிய பணி உள்ளடக்கத்தை மறை"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"சமீபத்திய உரையாடல்கள் அகற்றப்பட்டன"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"உரையாடல் அகற்றப்பட்டது"</string>
     <string name="clear" msgid="5092178335409471100">"அழி"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> ஐ அழிக்கும்"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"முக்கியமான மற்றும் மாற்றியமைக்கப்பட்ட உரையாடல்கள் இங்கே தோன்றும்"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"நீங்கள் உரையாடல் ஒன்றை முக்கியமானதெனக் குறியிடும்போதோ உரையாடல்களில் வேறு ஏதேனும் மாற்றங்களைச் செய்யும்போதோ அவை இங்கே தோன்றும். \n\nஉரையாடல் அமைப்புகளை மாற்றுதல்: \nஅறிவிப்பு விபரத்தைத் திறக்க திரையின் மேல் பகுதியில் இருந்து கீழே ஸ்வைப் செய்தபிறகு உரையாடலைத் தொட்டுப் பிடித்திருக்கவும்."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"சிறிதாக்கு"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"அறிவிப்புக்கான கூல்டவுன்"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"அனைத்து அறிவிப்புகளுக்கும் கூல்டவுனைப் பயன்படுத்துதல்"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ஒரே ஆப்ஸில் இருந்து அடுத்தடுத்து பல அறிவிப்புகளைப் பெறும்போது அறிவிப்பின் ஒலியளவு படிப்படியாகக் குறையும்"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"உரையாடல்களுக்குக் கூல்டவுனைப் பயன்படுத்துதல்"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"குறுகிய காலத்திற்குள் ஒரே அரட்டையில் இருந்து அடுத்தடுத்து பல மெசேஜ்களைப் பெறும்போது அறிவிப்பின் ஒலியளவு படிப்படியாகக் குறையும்"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"அறிவிப்புக்கான கூல்டவுனைப் பயன்படுத்த வேண்டாம்"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ஒரே ஆப்ஸில் இருந்து அடுத்தடுத்து எத்தனை அறிவிப்புகளைப் பெற்றாலும் அறிவிப்பின் ஒலியளவு ஒருபோதும் குறையாது"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"அன்லாக் செய்யப்படும்போது அதிர்வுறும்"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"திரை அன்லாக் செய்யப்படும்போது மட்டுமே அதிர்வுறும்"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"பணிக் கணக்குகளுக்குப் பயன்படுத்துதல்"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"உங்கள் தனிப்பட்ட கணக்கில் இருந்து உங்கள் பணிக் கணக்கிற்கு அறிவிப்புக்கான கூல்டவுன் அமைப்புகளைப் பயன்படுத்தும்"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR உதவிச் சேவைகள்"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"நிறுவப்பட்ட ஆப்ஸ்களில் எதுவும் VR உதவிச் சேவைகளாக இயங்குவதற்காகக் கோரவில்லை"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> ஆனது VR சேவையை அணுக அனுமதிக்கவா?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ஆஃப்"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ஆப்ஸைப் பின் செய்தல்"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"அகற்றப்படும்வரை ஆப்ஸ் ஒன்றைத் திரையில் காட்டுவதற்கு ஆப்ஸைப் பின் செய்தல் அம்சம் அனுமதிக்கிறது. உதாரணமாக, இந்த அம்சத்தைப் பயன்படுத்தி குறிப்பிட்ட கேமை விளையாட நம்பிக்கைக்குரிய நண்பரை அனுமதிக்கலாம்."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"ஆப்ஸ் பின் செய்யப்பட்டிருக்கும்போது அது பிற ஆப்ஸைத் திறக்கக்கூடும், இதனால் தனிப்பட்ட தரவு அணுகப்படக்கூடும். \n\nஆப்ஸைப் பின் செய்தல் அம்சத்தைப் பயன்படுத்த: 	\n1. ஆப்ஸைப் பின் செய்தல் அம்சத்தை இயக்கவும் 	\n2. மேலோட்டப் பார்வையைத் திறக்கவும் 	\n3. திரையின் மேற்பகுதியில் உள்ள ஆப்ஸ் ஐகானைத் தட்டி ‘பின் செய்’ என்பதைத் தட்டவும்"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"ஆப்ஸ் பின் செய்யப்பட்டிருக்கும்போது அது பிற ஆப்ஸைத் திறக்கக்கூடும், இதனால் தனிப்பட்ட தரவு அணுகப்படக்கூடும். \n\nசாதனத்தை வேறொருவருடன் பாதுகாப்பாகப் பகிர விரும்பினால் கெஸ்ட் பயனர் அம்சத்தைப் பயன்படுத்திப் பார்க்கவும். \n\nஆப்ஸைப் பின் செய்ய: 	\n1. ஆப்ஸைப் பின் செய்தல் அம்சத்தை இயக்கவும் 	\n2. மேலோட்டப் பார்வையைத் திறக்கவும் 	\n3. திரையின் மேற்பகுதியில் உள்ள ஆப்ஸ் ஐகானைத் தட்டி ‘பின் செய்’ என்பதைத் தட்டவும்"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"ஓர் ஆப்ஸ் பின் செய்யப்பட்டிருக்கும்போது, அது பிற ஆப்ஸைத் திறக்கக்கூடும். இதனால் ஏதேனும் தனிப்பட்ட தரவு அணுகப்பட வாய்ப்புள்ளது. \n\n\'ஆப்ஸைப் பின் செய்தல்\' அம்சத்தைப் பயன்படுத்த: 	\n{0,number,integer}. \'ஆப்ஸைப் பின் செய்தல்\' அம்சத்தை இயக்கவும் 	\n{1,number,integer}. மேலோட்டப் பார்வையைத் திறக்கவும் 	\n{2,number,integer}. திரையின் மேற்பகுதியில் உள்ள ஆப்ஸ் ஐகானைத் தட்டி, \'பின் செய்\' என்பதைத் தட்டவும்"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"ஓர் ஆப்ஸ் பின் செய்யப்பட்டிருக்கும்போது, அது பிற ஆப்ஸைத் திறக்கக்கூடும். இதனால் ஏதேனும் தனிப்பட்ட தரவு அணுகப்பட வாய்ப்புள்ளது. \n\nசாதனத்தை வேறொருவருடன் பாதுகாப்பாகப் பகிர விரும்பினால் கெஸ்ட் பயனர் அம்சத்தைப் பயன்படுத்திப் பார்க்கவும். \n\n\'ஆப்ஸைப் பின் செய்தல்\' அம்சத்தைப் பயன்படுத்த: 	\n{0,number,integer}. \'ஆப்ஸைப் பின் செய்தல்\' அம்சத்தை இயக்கவும் 	\n{1,number,integer}. மேலோட்டப் பார்வையைத் திறக்கவும் 	\n{2,number,integer}. திரையின் மேற்பகுதியில் உள்ள ஆப்ஸ் ஐகானைத் தட்டி, \'பின் செய்\' என்பதைத் தட்டவும்"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"ஆப்ஸ் பின் செய்யப்படும்போது: \n\n•	தனிப்பட்ட தரவுக்கு அணுகல்தன்மை இருக்கக்கூடும் \n		(தொடர்புகள், மின்னஞ்சல் உள்ளடக்கம் போன்றவை) \n•	பின் செய்யப்பட்ட ஆப்ஸ் பிற ஆப்ஸைத் திறக்கக்கூடும் \n\nஉங்கள் நம்பிக்கைக்குரிய நபர்களுடன் மட்டுமே ஆப்ஸைப் பின்செய்தல் அம்சத்தைப் பயன்படுத்தவும்."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"அகற்றும் முன் அன்லாக் பேட்டர்னைக் கேள்"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"அகற்றும் முன் பின்(PIN) எண்ணைக் கேள்"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"அகற்றும் முன் கடவுச்சொல்லைக் கேள்"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"பின் செய்ததை நீக்கும்போது சாதனத்தைப் பூட்டு"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"சிம் நீக்கத்தை உறுதிப்படுத்துதல்"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"உங்கள் eSIMமை அழிக்க விரும்புவதை உறுதிப்படுத்துங்கள்"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIMமை அழிப்பதற்கு முன்பு இது நீங்கள்தான் என்பதைச் சரிபார்க்கும்"</string>
     <string name="memtag_title" msgid="5096176296797727201">"மேம்பட்ட சாதன பாதுகாப்பு பீட்டா"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"மேம்பட்ட நினைவகப் பாதுகாப்பு"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"பயன்படுத்தப்படாத ஆப்ஸ் அமைப்புகள்"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"செயலில் இல்லாதபோது ஆப்ஸை இடைநிறுத்துதல்"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"அனுமதிகளை அகற்றும், தற்காலிக ஃபைல்களை நீக்கும், அறிவிப்புகளை நிறுத்தும்"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"ஆப்ஸைப் பயன்படுத்தாதபோது நிர்வகித்தல்"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"அனுமதிகளை அகற்றும், தற்காலிக ஃபைல்களை நீக்கும், அறிவிப்புகளை நிறுத்தும், ஆப்ஸைக் காப்பிடும்"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"எல்லா ஆப்ஸ்களும்"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"நிறுவிய ஆப்ஸ்"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"இன்ஸ்டண்ட் ஆப்ஸ்"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"இருப்பது"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ஆப்ஸ் உபயோகிக்கும் நினைவகம்"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{கடந்த {time} இல் 1 ஆப்ஸ் நினைவகத்தைப் பயன்படுத்தியுள்ளது}other{கடந்த {time} இல் # ஆப்ஸ் நினைவகத்தைப் பயன்படுத்தியுள்ளன}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"நினைவக உபயோக ப்ரொஃபைலிங்கை இயக்குதல்"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"நினைவக உபயோகத்தை ப்ரொஃபைலிங் செய்வதற்குக் கூடுதல் சிஸ்டம் ஆதாரங்கள் தேவை."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"நினைவக ப்ரொஃபைலிங் முடக்கப்பட்டது"</string>
     <string name="running_frequency" msgid="7260225121706316639">"அலைவரிசை"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"அதிகபட்ச உபயோகம்"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"டேட்டா எதுவும் பயன்படுத்தப்படவில்லை"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"பிற ஆப்ஸின் மேலே காட்டுதல்"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"பிற ஆப்ஸின் மேலே காட்டுவதை அனுமதி"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"நீங்கள் பயன்படுத்தும் பிற ஆப்ஸின் மேல் காட்டுவதற்கு இந்த ஆப்ஸை அனுமதிக்கும். நீங்கள் எங்கே தட்டுகிறீர்கள் என்பதைப் பார்க்கவும் திரையில் காட்டப்படுவதை மாற்றவும் இந்த ஆப்ஸால் முடியும்."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"மீடியா அவுட்புட்டை மாற்றுதல்"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"மீடியா அவுட்புட்டை மாற்ற ஆப்ஸை அனுமதித்தல்"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"இணைக்கப்பட்டுள்ள எந்தச் சாதனம் பிற ஆப்ஸின் ஆடியோ/வீடியோவைப் பிளே செய்யலாம் என்பதை இந்த ஆப்ஸ் தேர்வுசெய்வதற்கு அனுமதிக்கலாம். அனுமதிக்கப்பட்டால், ஹெட்ஃபோன்கள், ஸ்பீக்கர்கள் போன்ற கிடைக்கக்கூடிய அவுட்புட் சாதனங்களின் பட்டியலை அணுகி, அவற்றில் எதைப் பயன்படுத்தி ஆடியோ/வீடியோவைப் பிளே செய்யலாம் அல்லது அலைபரப்பலாம் என்பதை இந்த ஆப்ஸால் தேர்வுசெய்ய முடியும்."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"ஃபைல்கள் அனைத்திற்குமான அணுகல்"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"ஃபைல்கள் அனைத்தையும் நிர்வகிப்பதற்கு அனுமதி"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"இந்த சாதனத்திலோ இணைக்கப்பட்டுள்ள சேமிப்பகங்களிலோ உள்ள ஃபைல்கள் அனைத்தையும் படிக்கவும் நீக்கவும் அவற்றில் மாற்றங்களைச் செய்யவும் இந்த ஆப்ஸை அனுமதிக்கும். அனுமதி வழங்கப்படும் பட்சத்தில் உங்களுக்குத் தெரியாமலேயே ஃபைல்களை ஆப்ஸ் அணுகக்கூடும்."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"அனைத்து ஃபைல்களையும் அணுகமுடிந்த ஆப்ஸ்"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"குரல் மூலம் செயல்படுத்தக்கூடிய ஆப்ஸ்"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"\'குரல் மூலம் செயல்படுத்தலை\' அனுமதித்தல்"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"குரல் மூலம் செயல்படுத்தல் அம்சத்தின் மூலம், கைகளைப் பயன்படுத்தாமல் குரல் கட்டளையைப் பயன்படுத்தி அனுமதிக்கப்பட்ட ஆப்ஸை இயக்கலாம். சூழல் சார்ந்த உள்ளமைந்த சென்சார், தரவைத் தனிப்பட்டதாகவும் உங்களால் மட்டும் பார்க்கக்கூடியதாகவும் வைத்திருப்பதை உறுதிசெய்கிறது.\n\n"<a href="">"பாதுகாப்பான சூழல் சார்ந்த சென்சார் குறித்து மேலும் அறிக"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"முழுத்திரை அறிவிப்புகள்"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"இந்த ஆப்ஸிலிருந்து முழுத்திரை அறிவிப்புகளைக் காட்ட அனுமதித்தல்"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"சாதனம் பூட்டப்பட்டிருக்கும்போது முழுத்திரையில் அறிவிப்புகளைக் காட்ட இந்த ஆப்ஸை அனுமதிக்கும். அலாரங்கள், உள்வரும் அழைப்புகள் அல்லது பிற அவசர அறிவிப்புகளைத் தனிப்படுத்திக் காட்ட ஆப்ஸ் இவற்றைப் பயன்படுத்தக்கூடும்."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> டேட்டா எச்சரிக்கை"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> டேட்டா வரம்பு"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> டேட்டா எச்சரிக்கை / <xliff:g id="ID_2">^2</xliff:g> டேட்டா வரம்பு"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"மொபைல் நிறுவனம் கணக்கிடும் டேட்டா அளவும், சாதனம் கணக்கிடும் டேட்டா அளவும் மாறுபடலாம்"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"மொபைல் நிறுவன நெட்வொர்க்குகள் பயன்படுத்திய டேட்டா அளவு சேர்க்கப்படவில்லை"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> பயன்படுத்தப்பட்டது"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"டேட்டா பயன்பாட்டு எச்சரிக்கையை அமை"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"புதுப்பித்தது: <xliff:g id="ID_1">^2</xliff:g> முன்பு"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"புதுப்பித்தது: <xliff:g id="ID_1">^1</xliff:g>, இப்போது"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"புதுப்பித்தது: இப்போது"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"திட்டத்தைக் காட்டு"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"விவரங்களைக் காட்டு"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"டேட்டா சேமிப்பான்"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"வரம்பற்ற டேட்டா"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸ் பின்னணியில் இயங்கும்போது வழக்கத்தைவிட பேட்டரியை அதிகமாக உபயோகிக்கிறது"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸ் முன்புலத்தில் இயங்கும்போது பேட்டரியை அதிகமாக உபயோகிக்கிறது"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ஆப்ஸ் முன்புலத்தில் இயங்கும்போது வழக்கத்தைவிட பேட்டரியை அதிகமாக உபயோகிக்கிறது"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"பேட்டரி உபயோக முரண்பாடு"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"அதிக பேட்டரி உபயோகம்"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"பின்னணியில் அதிக பேட்டரி உபயோகம்"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"முன்புலத்தில் அதிக பேட்டரி உபயோகம்"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"விரைவு அமைப்புகளின் டெவெலப்பர் கட்டங்கள்"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb அங்கீகரிப்பு நேர முடிவை முடக்குதல்"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"இயல்பான (7 நாட்கள்) அல்லது பயனர் உள்ளமைத்த (குறைந்தபட்சம் 1 நாள்) நேரத்திற்குள் மீண்டும் இணைப்பிற்கு வராத சிஸ்டங்களுக்கான adb அங்கீகரிப்புகளைத் தானாக ரத்துசெய்தல் முடக்கப்படும்."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"வின்ஸ்கோப் டிரேஸ்"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"சென்சார்களை ஆஃப் செய்தல்"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"பணிச் சுயவிவர அமைப்புகள்"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"தனிப்பட்ட ஆப்ஸிலுள்ள பணித் தகவலகத் தொடர்புகளைத் தேடுதல்"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"சிஸ்டம் வழிசெலுத்தல், 2 பட்டன் வழிசெலுத்தல், 3 பட்டன் வழிசெலுத்தல், சைகை வழிசெலுத்தல், ஸ்வைப்"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"டிஜிட்டல் அசிஸ்டண்ட்"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"அசிஸ்டண்ட்டைத் துவக்க ஸ்வைப் செய்தல்"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸைத் துவக்க, கீழ் மூலையிலிருந்து மேல்நோக்கி ஸ்வைப் செய்யலாம்."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸைத் துவக்க, கீழ் மூலையிலிருந்து மேல்நோக்கி ஸ்வைப் செய்யலாம்"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistantடை இயக்க முகப்பு பட்டனை அழுத்திப் பிடித்தல்"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"டிஜிட்டல் அசிஸ்டண்ட் ஆப்ஸைத் துவக்க, முகப்புப் பட்டனை அழுத்திப் பிடிக்கவும்."</string>
     <string name="low_label" msgid="6525629096999711220">"குறைவு"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"தானாக நிரப்பும் சேவை"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"இயல்புநிலைத் தன்னிரப்பிச் சேவை"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"கடவுச்சொற்கள்"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகள்"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"கூடுதல் வழங்குநர்கள்"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"விருப்பமான சேவை"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"கூடுதல் சேவைகள்"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# கடவுச்சொல்}other{# கடவுச்சொற்கள்}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"தானியங்கு, நிரப்பு, தன்னிரப்பி, கடவுச்சொல்"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"தரவு, கடவுச்சாவி, கடவுச்சொல்"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"தானியங்கு, நிரப்பு, தன்னிரப்பி, தரவு, கடவுச்சாவி, கடவுச்சொல்"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"மாற்று"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"திற"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"எதுவும் தேர்ந்தெடுக்கப்படவில்லை"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;இந்த ஆப்ஸை நம்புகிறீர்கள் என்பதை உறுதிப்படுத்திக்கொள்ளவும்&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; உங்கள் திரையில் இருப்பதைப் பயன்படுத்தி, எவற்றையெல்லாம் தன்னிரப்ப முடியும் என்பதைத் தீர்மானிக்கும்."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ஆப்ஸைப் பயன்படுத்த வேண்டுமா?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; எவற்றைத் தானாக நிரப்ப முடியும் என்பதைத் தீர்மானிக்க &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; உங்கள் திரையில் உள்ளவற்றைப் பயன்படுத்தும். இனி புதிய கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் பிற தகவல்கள் இங்கே சேமிக்கப்படும்."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகள்"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ஆப்ஸைப் பயன்படுத்த வேண்டுமா?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; இனி புதிய கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் பிற தகவல்கள் இங்கே சேமிக்கப்படும். எவற்றைத் தானாக நிரப்ப முடியும் என்பதைத் தீர்மானிக்க &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; உங்கள் திரையில் உள்ளவற்றைப் பயன்படுத்தக்கூடும்."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"கடவுச்சொற்கள், கடவுச்சாவிகள் &amp; தன்னிரப்பிக்கான விருப்பச் சேவை"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s ஐ முடக்கவா?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;இந்தச் சேவையை முடக்கவா?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; கடவுச்சொற்கள், கடவுச்சாவிகள், பேமெண்ட் முறைகள் போன்ற சேமிக்கப்பட்ட தகவல்களும் பிற தகவல்களும் நீங்கள் உள்நுழையும்போது நிரப்பப்படாது. உங்கள் சேமிக்கப்பட்ட தகவல்களைப் பயன்படுத்த ஒரு கடவுச்சொல், கடவுச்சாவி அல்லது தரவுச் சேவையைத் தேர்ந்தெடுங்கள்."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"கடவுச்சொற்கள், கடவுச்சாவிகள் &amp; தன்னிரப்பி"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;அனைத்துச் சேவைகளையும் முடக்கவா?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் சேமிக்கப்பட்ட பிற தகவல்கள் நீங்கள் உள்நுழையும்போது தானாக நிரப்புவதற்குக் கிடைக்காது"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;உங்களுக்கு விருப்பமான சேவையாக &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ஆப்ஸை மாற்றுங்கள். புதிய கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் பிற தகவல்கள் இப்போதிலிருந்து இங்கே சேமிக்கப்படும். எவற்றைத் தானாக நிரப்ப முடியும் என்பதைத் தீர்மானிக்க &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; உங்கள் திரையில் உள்ளவற்றைப் பயன்படுத்தக்கூடும்"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ஐப் பயன்படுத்தலாமா?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"முடக்கு"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"மாற்று"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"5 சேவைகளை மட்டுமே இயக்கி வைத்திருக்கலாம்"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"மற்றொரு சேவையைச் சேர்க்க, குறைந்தது ஒரு சேவையையாவது முடக்கவும்"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"எவற்றைத் தானாக நிரப்பலாம் என்பதைத் தீர்மானிக்க உங்கள் திரையில் உள்ளவற்றை %1$s பயன்படுத்தும்."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகளுக்கான வரம்பு"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"ஒரே நேரத்தில் 5 கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகளைச் செயலில் வைத்திருக்கலாம். மேலும் ஒன்றைச் சேர்க்க ஒரு சேவையை முடக்கவும்."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகளுக்கான வரம்பு"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"ஒரே நேரத்தில் 5 கடவுச்சொற்கள், கடவுச்சாவிகள் மற்றும் தரவுச் சேவைகள் வரை செயலில் வைத்திருக்கலாம். மேலும் ஒன்றைச் சேர்க்க ஒரு சேவையை முடக்கவும்."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"முடக்கு"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"தன்னிரப்பி"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Logging நிலை"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"பிழைதிருத்தி ஆப்ஸில் மட்டுமே ஆப்ஸ் இணக்கத்தன்மை மாற்றங்களை மாற்ற முடியும். பிழைதிருத்தி ஆப்ஸை நிறுவி மீண்டும் முயலவும்."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"மற்றொரு அமைப்பைச் சார்ந்தது"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"கணக்கு"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d கணக்குகள்"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"சாதனத்தின் பெயர்"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"அடிப்படைத் தகவல்கள்"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"சட்டம் &amp; ஒழுங்குமுறை"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC குறி ஸ்கேன் செய்யப்படும்போது இந்த ஆப்ஸை லான்ச் ஆக அனுமதிக்கும்.\nஇந்த அனுமதி இயக்கப்பட்டிருந்தால், ஸ்கேனின்போது குறி கண்டறியப்படும் போதெல்லாம் இந்த ஆப்ஸ் ஒரு விருப்பத்தேர்வாகக் காட்டப்படும்."</string>
     <string name="media_output_title" msgid="8283629315159510680">"மீடியாவை இதில் இயக்கு:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> ஐ இயக்குக"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ஆடியோ இதில் பிளே செய்யப்படும்"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"இந்தச் சாதனம்"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"அழைப்புகளின்போது பயன்படுத்த இயலாது"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"அழைப்புகளை எதில் எடுப்பது?"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ஒலியடக்கு"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"இயக்க, \"பவர் பட்டனை அழுத்திப் பிடித்திருக்கவும்\" என்பதைப் பவர் மெனுவில் மாற்றுங்கள்."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"நெட்வொர்க் விவரங்கள்"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"உங்கள் மொபைலில் உள்ள ஆப்ஸால் உங்கள் சாதனத்தின் பெயரைப் பார்க்க முடியும். புளூடூத் சாதனங்கள், வைஃபை நெட்வொர்க் ஆகியவற்றுடன் இணைக்கும்போதோ வைஃபை ஹாட்ஸ்பாட்டை அமைக்கும்போதோ அப்பெயர் பிறருக்கும் காட்டப்படக்கூடும்."</string>
     <string name="devices_title" msgid="649715719278562515">"சாதனங்கள்"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"நெட்வொர்க்கைத் தேர்வுசெய்"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"தொடர்பு துண்டிக்கப்பட்டது"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"பெயர்"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"வண்ணம் (இணக்கமான ஆப்ஸ் உபயோகிப்பவை)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"சேமி"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"சிம்மைப் பயன்படுத்து"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"இந்த சிம்மைப் பயன்படுத்து"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"முடக்கு"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"சிம் கார்டை அகற்றுவதன் மூலம் அதனை முடக்கலாம்"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> சிம்மை இயக்குவதற்குத் தட்டவும்"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"சிம்மை அழி"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"இந்த சிம்மை முடக்க அதை அகற்றவும்"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"உங்கள் <xliff:g id="CARRIER">%1$s</xliff:g> சிம்மை இயக்க தட்டவும்"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIMமை அழி"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"விருப்பமான நெட்வொர்க் வகை"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"நெட்வொர்க் இயங்கும் பயன்முறையை மாற்று"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"விருப்பமான நெட்வொர்க் வகை"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"கட்டணம் பற்றி அறிய நெட்வொர்க் வழங்குநரைத் தொடர்புகொள்ளவும்."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ஆப்ஸ் டேட்டா உபயோகம்"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"தவறான நெட்வொர்க் பயன்முறை <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. நிராகரி."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"சாட்டிலைட் மெசேஜிங்"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"சாட்டிலைட் மூலம் மெசேஜ்களை அனுப்பவும் பெறவும் முடியும். உங்கள் கணக்கில் சேர்க்கப்பட்டுள்ளது."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"சாட்டிலைட் மூலம் மெசேஜ்களை அனுப்பவும் பெறவும் முடியும். உங்கள் கணக்கில் சேர்க்கப்படவில்லை."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"சாட்டிலைட் மெசேஜிங்"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"சாட்டிலைட் மெசேஜிங் பற்றிய அறிமுகம்"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"தகுதியான <xliff:g id="CARRIER_NAME">%1$s</xliff:g> கணக்கின் ஒரு பகுதியாக நீங்கள் சாட்டிலைட் மூலம் மெசேஜ்களை அனுப்பலாம் பெறலாம்"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"உங்கள் <xliff:g id="CARRIER_NAME">%1$s</xliff:g> திட்டம்"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"சாட்டிலைட் மெசேஜிங் உங்கள் கணக்கில் சேர்க்கப்பட்டுள்ளது"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"சாட்டிலைட் மெசேஜிங் உங்கள் கணக்கில் சேர்க்கப்படவில்லை"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"சாட்டிலைட் மெசேஜிங்கைச் சேர்"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"இது செயல்படும் விதம்"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"மொபைல் நெட்வொர்க் இல்லாதபோது"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"உங்கள் மொபைல் சாட்டிலைட்டுடன் தானாக இணைக்கப்படும். சிறந்த இணைப்பிற்கு வானம் தெளிவாகத் தெரியும் இடத்தில் வையுங்கள்."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"சாட்டிலைட்டுடன் மொபைல் இணைக்கப்பட்ட பிறகு"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"அவசரகாலச் சேவைகள் உட்பட எவருக்கும் நீங்கள் மெச்செஜ் அனுப்பலாம். மொபைல் நெட்வொர்க் கிடைக்கும்போது அதனுடன் உங்கள் மொபைல் மீண்டும் இணையும்."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"சாட்டிலைட் மெசேஜிங் மூலம் மெசேஜ் அனுப்புவதற்குச் சிறிது நேரம் ஆகலாம். மேலும் சில பகுதிகளில் மட்டுமே இந்தச் சேவை கிடைக்கும். வானிலை மற்றும் சில கட்டமைப்புகள் உங்கள் சாட்டிலைட் இணைப்பைப் பாதிக்கக்கூடும். சாட்டிலைட் மூலம் அழைக்கும் வசதி இல்லை.\n\nஉங்கள் கணக்கில் செய்யப்பட்ட மாற்றங்கள் அமைப்புகளில் காட்டுவதற்கு சிறிது நேரம் ஆகலாம். விவரங்களுக்கு <xliff:g id="CARRIER_NAME">%1$s</xliff:g> நிறுவனத்தைத் தொடர்புகொள்ளுங்கள்."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"சாட்டிலைட் மெசேஜிங் குறித்த கூடுதல் தகவல்கள்"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"ஆக்சஸ் பாயிண்ட் நேம்கள்"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> உடன் இணைந்திருக்கும்போது கிடைக்காது"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>க்கு மாற்றவா?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"சிம் கார்டுப் பயன்பாட்டிற்கு மாற்றவா?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> சிம்மைப் பயன்படுத்தவா?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ஒரு நேரத்தில் ஒரு சிம் மட்டுமே செயலில் இருக்கும்.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> சேவைக்கு மாற்றுவதனால் <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ஒரு நேரத்தில் ஒரு eSIM மட்டுமே செயலில் இருக்கலாம்.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> நெட்வொர்க்கிற்கு மாற்றுவது <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> சேவையை ரத்துசெய்யாது."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ஒரு நேரத்தில் ஒரு சிம் மட்டுமே செயலில் இருக்கும்.\n\nமாற்றுவதனால் <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ஒரு நேரத்தில் 1 சிம் மட்டுமே இயக்கத்தில் இருக்க முடியும்.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> நெட்வொர்க்கிற்கு மாறுவதால் <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ஒரு நேரத்தில் ஒரு eSIM மட்டுமே இயக்கத்தில் இருக்க முடியும்.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> நெட்வொர்க்கிற்கு மாறுவதால் <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ஒரு நேரத்தில் 1 சிம் மட்டுமே இயக்கத்தில் இருக்க முடியும்.\n\nநெட்வொர்க்கிற்கு மாறுவதால் <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"நீங்கள் ஒரே சமயத்தில் 2 சிம்களைப் பயன்படுத்தலாம். <xliff:g id="CARRIER_NAME">%1$s</xliff:g> சிம்மைப் பயன்படுத்த மற்றொரு சிம்மை முடக்கவும்."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>க்கு மாற்று"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> சிம்மை முடக்கவா?"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"சிம்மை முடக்குவதால் உங்கள் சேவை ரத்துசெய்யப்படாது"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"நெட்வொர்க்குடன் இணைக்கிறது…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"அழைப்புகள் மற்றும் மெசேஜ்களுக்கு <xliff:g id="CARRIER_NAME">%1$s</xliff:g> என்பதற்கு மாறுகிறது…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"மொபைல் நிறுவனத்தை மாற்ற முடியவில்லை"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"பிழை காரணமாக மொபைல் நிறுவனத்தை மாற்ற முடியவில்லை."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"உங்கள் சிம்மைச் செயல்படுத்துகிறது…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>க்கு மாறுகிறது…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"சிம்களுக்கு இடையே மாற முடியவில்லை"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"ஏதோ தவறாகிவிட்டது. சிம்களுக்கு இடையே மாற முடியவில்லை."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ஐ ஆஃப் செய்யவா?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"சிம்மை ஆஃப் செய்யவா?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"சிம்மை ஆஃப் செய்கிறது<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"மொபைல் நிறுவனத்தை முடக்க முடியவில்லை"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ஏதோ தவறாகிவிட்டதால் தொலைத்தொடர்பு நிறுவனத்தை முடக்க முடியவில்லை."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"சிம்மை முடக்க முடியவில்லை"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"ஏதோ தவறாகிவிட்டது. உங்கள் சிம்மை முடக்க முடியவில்லை."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 சிம்களைப் பயன்படுத்தவா?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"இந்த மொபைலில் ஒரே சமயத்தில் 2 சிம்களைப் பயன்படுத்தலாம். ஒரு சமயத்தில் 1 சிம்மை மட்டும் பயன்படுத்த, \"வேண்டாம்\" என்பதைத் தட்டவும்."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"சாதனத்தை மீண்டும் தொடங்கவா?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"வேண்டாம்"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ரத்துசெய்"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"மாற்று"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"முடக்கு"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"சிம்மை இயக்க முடியவில்லை"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"சிம்மை மீண்டும் ஆன் செய்து பார்க்கவும். சிக்கல் தொடரும்பட்சத்தில் சாதனத்தை மீண்டும் தொடங்கவும்."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"உங்கள் சிம்மை அமையுங்கள்"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"இந்தச் சாதனத்தில் பல சிம்களைப் பயன்படுத்த உங்கள் மொபைல் நெட்வொர்க் விருப்பத்தேர்வுகளை அமைக்கலாம்"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"சிம்களுக்கு லேபிளிடுங்கள்"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"அழைப்புகளை மேற்கொள்ளும்போதும் மெசேஜ்களை அனுப்பும்போதும் டேட்டாவைப் பயன்படுத்தும்போதும் அமைப்புகளிலும் இந்த லேபிள்களைப் பார்ப்பீர்கள்"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM லேபிள்"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"லேபிள்"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"எந்த சிம் பயன்படுத்துவது எனத் தேர்வுசெய்க"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"நீங்கள் ஒரே சமயத்தில் 2 சிம்களைப் பயன்படுத்தலாம்"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"உங்கள் முதன்மை சிம்மை அமைத்தல்"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"அழைப்புகள், மெசேஜ்கள், டேட்டா ஆகியவற்றுக்கு இயல்பாக எந்தெந்த சிம்களைப் பயன்படுத்த வேண்டும் என்பதைத் தேர்வுசெய்யுங்கள்"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"உங்கள் முதன்மை சிம்கள்"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"அழைப்புகள்"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"மெசேஜ்கள்"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"தானியங்கு டேட்டா மாற்றம்"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"கவரேஜ் மற்றும் கிடைக்கும் நிலையைப் பொறுத்து சிம்மில் இருந்து டேட்டாவைப் பயன்படுத்தும்"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"டேட்டா மட்டும்"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"அமை"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"அடுத்து"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> நெட்வொர்க்கை ஆன் செய்கிறது…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"மொபைல் நெட்வொர்க்"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"மொபைல் எண்"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"சிம் லேபிள் மற்றும் வண்ணம்"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"மொபைல் நெட்வொர்க்கை இயக்குதல்"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"மொபைல் நிறுவனத்தை மாற்றுகிறது"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> செயல்பாட்டில் உள்ளது"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"உங்கள் <xliff:g id="CARRIER_NAME">%1$s</xliff:g> சிம் செயலில் உள்ளது"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM அமைப்புகளை மாற்ற தட்டவும்"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>க்கு மாற்றப்பட்டது"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"மற்றொரு மொபைல் நிறுவனத்திற்கு மாற்றப்பட்டது"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"உங்கள் மொபைல் நெட்வொர்க் மாற்றப்பட்டுள்ளது"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"மற்றொரு சிம்மை அமையுங்கள்"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"செயல்பாட்டிலுள்ள சிம்மைத் தேர்வுசெய்யவும் அல்லது ஒரே சமயத்தில் 2 சிம்களைப் பயன்படுத்தவும்"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"பயன்படுத்த ஓர் எண்ணைத் தேர்வுசெய்க"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{இந்த மொபைலில் 1 எண் உள்ளது. ஆனால் ஒரு சமயத்தில் ஒன்றை மட்டுமே பயன்படுத்த முடியும்}=2{இந்த மொபைலில் 2 எண்கள் உள்ளன. ஆனால் ஒரு சமயத்தில் ஒன்றை மட்டுமே பயன்படுத்த முடியும்}other{இந்த மொபைலில் # எண்கள் உள்ளன. ஆனால் ஒரு சமயத்தில் ஒன்றை மட்டுமே பயன்படுத்த முடியும்}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"இயக்குகிறது<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"தற்போது இயக்க இயலவில்லை"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"பயன்படுத்துவதற்கான சிம்மைத் தேர்வுசெய்தல்"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{இந்தச் சாதனத்தில் 1 சிம் உள்ளது. ஆனால் ஒரு நேரத்தில் ஒன்றை மட்டுமே பயன்படுத்த முடியும்.}=2{இந்தச் சாதனத்தில் 2 சிம்கள் உள்ளன. ஆனால் ஒரு நேரத்தில் ஒன்றை மட்டுமே பயன்படுத்த முடியும்.}other{இந்தச் சாதனத்தில் # சிம்கள் உள்ளன. ஆனால் ஒரு நேரத்தில் ஒன்றை மட்டுமே பயன்படுத்த முடியும்.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> ஐ இயக்குகிறது"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"இந்த சிம்மை இப்போது இயக்க முடியாது"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> சேவையைப் பயன்படுத்தவா?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"மொபைல் டேட்டாவிற்கும், அழைப்புகளுக்கும், மெசேஜுக்கும் <xliff:g id="CARRIER_NAME">%1$s</xliff:g> சிம் பயன்படுத்தப்படும்."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"இயக்கத்திலுள்ள சிம்கள் எதுவுமில்லை"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"நெட்வொர்க் அமைப்புகளுக்குச் சென்று மொபைல் டேட்டா, மெசேஜ், அழைப்பு அம்சங்களைப் பிறகு பயன்படுத்துவதற்கு ஏற்றவாறு அமைத்துக்கொள்ளலாம்"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"சிம்"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"இந்த eSIMமை அழிக்கவா?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"சிம்மை அழிப்பது இந்தச் சாதனத்தில் இருந்து <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> சேவையை அகற்றிவிடும்.\n\nஇதனால் <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> சேவை ரத்துசெய்யப்படாது."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"இது இந்தச் சாதனத்திலிருந்து <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> சேவையை அகற்றும். ஆனால் உங்கள் <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> திட்டம் ரத்துசெய்யப்படாது."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"அழி"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"சிம்மை அழிக்கிறது…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"சிம்மை அழிக்க இயலவில்லை"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"பிழை ஏற்பட்டதால் இந்த சிம்மை அழிக்க இயலாது.\n\nசாதனத்தை மீண்டும் தொடங்கி முயலவும்."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIMமை அழிக்கிறது…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIMமை அழிக்க முடியவில்லை"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"ஏதோ தவறாகிவிட்டதால் இந்த eSIM அழிக்கப்படவில்லை.\n\nஉங்கள் சாதனத்தை மீண்டும் தொடங்கி மறுபடியும் முயற்சித்துப் பார்க்கவும்."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"சாதனத்துடன் இணைத்தல்"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"உங்கள் சாதனத்துடன் இணைக்க <xliff:g id="APPNAME">%1$s</xliff:g> ஆப்ஸ் தற்காலிகமான வைஃபை நெட்வொர்க்கைப் பயன்படுத்த விரும்புகிறது"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"சாதனங்கள் எதுவும் இல்லை. சாதனங்கள் ஆன் செய்யப்பட்டு இணைப்பதற்குத் தயாராக உள்ளனவா என்பதை உறுதிப்படுத்தவும்."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"அவசர அழைப்புகள்"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"வைஃபை அழைப்பு மூலம் அவசர அழைப்பு செய்வதை உங்கள் மொபைல் நிறுவனம் ஆதரிக்கவில்லை.\nஅவசர அழைப்பைச் செய்வதற்குச் சாதனம் தானாகச் செல்லுலார் நெட்வொர்க்கிற்கு மாறி விடும்.\nசெல்லுலார் கவரேஜ் உள்ள இடங்களில் மட்டுமே அவசர அழைப்புகள் சாத்தியமாகும்."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"வைஃபையைப் பயன்படுத்தி அழைப்புகளின் தரத்தை மேம்படுத்தலாம்"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"காப்புப் பிரதி அழைப்பு"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> கிடைக்காதபோதோ ரோமிங்கில் இருக்கும்போதோ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> அழைப்புகளுக்கு உங்கள் மொபைல் டேட்டா சிம்மை பயன்படுத்தலாம்."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"காப்புப் பிரதி அழைப்பு"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"உள்வரும் MMS மெசேஜ்"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS மெசேஜை அனுப்ப இயலவில்லை"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"மொபைல் டேட்டா ஆஃப் செய்யப்பட்டிருக்கும்போது <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> இல் MMS மெசேஜிங்கை அனுமதிக்கத் தட்டவும்."</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"உங்கள் பணிக் கணக்கின் கொள்கை குறித்த தகவல்"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"உங்கள் IT நிர்வாகி கட்டுப்படுத்தும் அமைப்புகள்"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16கி. பக்க அளவுடன் தொடங்குதல்"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16கி ஆதரிக்கும் கெர்னல் மூலம் சாதனத்தைத் தொடங்கும்"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16கி.பை. பக்க இணக்கமான கெர்னல் உடன் மறுபடி தொடங்கவா?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"எச்சரிக்கை: இந்தப் பயன்முறைக்கு சில ஆப்ஸ் இணங்காமல் இருக்கக்கூடும். உறுதிசெய்த பின்பு சாதனம் மறுபடி தொடங்கும்."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4கி.பை. பக்க இணக்கமான கெர்னல் உடன் மறுபடி தொடங்கவா?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"உறுதிசெய்த பின்பு சாதனம் மறுபடி தொடங்கும்."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"கெர்னலை 16கி.பை. பக்க இணக்கமான கெர்னலுக்குப் புதுப்பிக்க முடியவில்லை."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"மாற்றங்கள் செயல்படுத்தப்படுகின்றன"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"பிழை அறிக்கை ஹேண்ட்லர்"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"உங்கள் சாதனத்தில் பிழை அறிக்கைக்கான ஷார்ட்கட்டை எந்த ஆப்ஸ் கையாள வேண்டும் என்பதைத் தீர்மானிக்கும்."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"தனிப்பட்டது"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"அமைப்புகள் திரைகளுக்கு மேலாகக் காட்டுவதற்கு மற்ற ஆப்ஸில் டிஸ்ப்ளே செய்யப்படக்கூடிய ஆப்ஸை அனுமதிக்கும்"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"மாதிரி மோடத்தை அனுமதித்தல்"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"கருவியியல் பரிசோதனைக்காக மாதிரி மோடம் சேவையை இயக்க இந்தச் சாதனத்தை அனுமதிக்கும். மொபைலைச் சாதாரணமாகப் பயன்படுத்தும்போது இதை இயக்க வேண்டாம்"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"திரைப் பகிர்வுக்கான பாதுகாப்புகளை முடக்குதல்"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"திரைப் பகிர்வின்போது சிஸ்டமில் பயன்படுத்தப்படும் ஆப்ஸ் மற்றும் அறிவிப்புகளுக்கான பாதுகாப்புகளை முடக்கும்"</string>
     <string name="media_controls_title" msgid="403271085636252597">"மீடியா"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"மீடியா பிளேயரைப் பின் செய்தல்"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"வீடியோவின் இயக்கத்தை விரைவாகத் தொடங்க, விரைவு அமைப்புகளில் மீடியா பிளேயரைத் திறந்து வைத்திருக்கும்"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"பூட்டுத் திரையில் மீடியாவைக் காட்டுதல்"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"பிளேபேக்கை விரைவாகத் தொடங்க, பூட்டுத் திரையில் மீடியா பிளேயரைத் திறந்து வைத்திருக்கும்"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"மீடியா தொடர்பான பரிந்துரைகளைக் காட்டுதல்"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant மீடியா பரிந்துரைகளைக் காட்டுதல்"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"உங்கள் செயல்பாட்டின் அடிப்படையில் பரிந்துரைக்கும்"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"பிளேயர் மறை"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"பிளேயரைக் காட்டும்"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"மீடியா"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"கேமரா மென்பொருள் நீட்டிப்புகளை அனுமதித்தல்"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"\'திரையைப் பார்க்காமலேயே படம்பிடித்தல்\' போன்ற மேம்பட்ட கேமரா அம்சங்களின் இயல்புநிலை மென்பொருள் செயலாக்கத்தை இயக்கும்."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"புளூடூத் ஆன் செய்யப்படும்"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"இணையம்"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"சிம்கள்"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"சிம்"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMகள்"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"செயலிலுள்ளது"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"செயலில் இல்லை"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ஆன்"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ஆஃப்"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g>க்கான இயல்புநிலை"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"அழைப்புகள்"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"மெசேஜ்"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"இணக்கமான மீடியாவிலிருந்து வரும் ஆடியோ இன்னும் ஆழ்ந்த இசை அனுபவத்தைத் தரும்"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"ஹெட் டிராக்கிங்"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"ஒலிக்கு ஏற்றாற்போல உங்கள் தலையை மிக இயல்பாக நகர்த்தும்போது ஆடியோவும் மாறும்"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"ஒத்திசைவு அனுமதிகள்"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> சாதனத்தில் அனுமதித்த அதே ஆப்ஸ் அனுமதிகளை <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> சாதனத்திற்கு வழங்கலாம்"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"மொபைலில் இருக்கும் அனுமதிகளை ஒத்திசைத்தல்"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"இந்த மொபைலில் அனுமதித்த அதே ஆப்ஸ் அனுமதிகளை உங்கள் வாட்ச்சிற்கு வழங்கலாம்"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ஆடியோ சாதனத்தின் வகை"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"தெரியாதவை"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ஸ்பீக்கர்"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"நடுத்தரம்"</string>
     <string name="contrast_high" msgid="3988567609694797696">"அதிகம்"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"இந்த ஆப்ஸை 1 சாளரத்தில் மட்டுமே திறக்க முடியும்"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"இயக்கத்தில்"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"முடக்கத்தில்"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"முடக்கத்தில்"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"இயக்கப்பட்டுள்ளது"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"இயக்கப்பட்டுள்ளது"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"லைட் ஸ்கிரீன்களை டார்க்காகவும், டார்க் ஸ்கிரீன்களை லைட்டாகவும் மாற்றும்"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"திரையைப் பெரிதாக்கலாம்"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"முடக்கப்பட்டுள்ளது"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"முடக்கப்பட்டுள்ளது"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"ஏமாற்றுகின்ற ஆப்ஸிற்கு ஸ்கேன் செய்தல்"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ஃபிஷிங்கிற்கான ஆப்ஸ் உபயோகத்தைப் பாருங்கள்"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ஏமாற்றக்கூடிய ஆப்ஸுக்கான ஸ்கேனிங்கை உபயோகித்தல்"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ஏமாற்றக்கூடிய பணி ஆப்ஸுக்கான ஸ்கேனிங்கை உபயோகித்தல்"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"கடவுச்சொல் இப்போது அமைக்கப்பட்டது"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"மேலே கொண்டுசெல்லும்போது பாயிண்ட்டரைக் காட்டு"</string>
 </resources>
diff --git a/res/values-te/arrays.xml b/res/values-te/arrays.xml
index 0f9d73c..a8ff15b 100644
--- a/res/values-te/arrays.xml
+++ b/res/values-te/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"అందుబాటులో ఉంది"</item>
     <item msgid="6096962300722555553">"పరిధి వెలుపల ఉంది"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"డిజేబుల్ చేయబడింది"</item>
+    <item msgid="7781484297606806796">"యునికాస్ట్"</item>
+    <item msgid="6667451574264144311">"యూనికాస్ట్, ప్రసారం"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"సిస్టమ్ ఆటోమేటిక్ విలువను ఉపయోగించండి: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 నిమిషం తర్వాత"</item>
     <item msgid="1574040255478150028">"5 నిమిషాల తర్వాత"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-te/strings.xml b/res/values-te/strings.xml
index 01d9838..71b4ae1 100644
--- a/res/values-te/strings.xml
+++ b/res/values-te/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"మీరు ఇప్పుడు డెవలపర్!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"అవసరం లేదు, మీరు ఇప్పటికే డెవలపర్‌గా ఉన్నారు."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"దయచేసి మొదట డెవలపర్ ఎంపికలను ప్రారంభించండి."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"డెవలపర్ సెట్టింగ్‌లను అడ్మిన్ యూజర్‌లు మాత్రమే యాక్సెస్ చేయగలరు."</string>
     <string name="header_category_system" msgid="1665516346845259058">"సిస్టమ్"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"సేవ అందుబాటులో ఉంది"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"సేవ అందుబాటులో లేదు"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"మీ పరికరాన్ని మీరు ఫోల్డ్ చేసినప్పుడు ముందు వైపు డిస్‌ప్లే ఆన్ అవుతుంది"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"గేమ్‌లు, వీడియోలు, అలాగే మరిన్ని మాత్రమే"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"మీ స్క్రీన్ ఇన్‌యాక్టివ్‌గా ఉండకుండా చేసే యాప్‌ల కోసం ముందు వైపు డిస్‌ప్లే ఆన్ అవుతుంది"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"కొనసాగించడానికి పైకి స్వైప్ చేయండి"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"యాప్‌ను ఉపయోగించడం కొనసాగించడానికి మీ ఫోన్‌ను ఫోల్డ్ చేసి, ముందు వైపు డిస్‌ప్లేపై పైకి స్వైప్ చేయండి, లేదా స్క్రీన్ లాక్ అయ్యే వరకు కొన్ని సెకన్లు వేచి ఉండండి"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ఎప్పుడూ ఆన్ చేయవద్దు"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"మీరు మీ పరికరాన్ని ఫోల్డ్ చేసినప్పుడు ముందు వైపు డిస్‌ప్లే లాక్ అవుతుంది"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ఆటో-రొటేట్‌ను ఉపయోగించండి"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"సంబంధిత టూల్స్"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"రింగ్‌టోన్, అలారాలు"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"కాల్స్ జరిగే సమయంలో ఆడియో"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"మీడియా"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"నోటిఫికేషన్‌లు, ఇతర సిస్టమ్ సౌండ్స్"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"మీడియా, సిస్టమ్ సౌండ్స్"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"నోటిఫికేషన్‌లు"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"ఆటోమేటిక్‌గా, ఆడియో అవుట్‌పుట్ వ్యక్తిగత యాప్‌ల ద్వారా నిర్ణయించబడుతుంది"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"పేరులేని బ్లూటూత్ పరికరం"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"సెర్చ్ చేయడం"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"రద్దు చేయండి"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"బ్లూటూత్ LE ఆడియోను డిజేబుల్ చేయండి"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"పరికరం LE ఆడియో హార్డ్‌వేర్ సామర్థ్యాలను సపోర్ట్ చేస్తే బ్లూటూత్ LE ఆడియో ఫీచర్‌ని డిజేబుల్ చేస్తుంది."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"బ్లూటూత్ LE ఆడియో మోడ్"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"పరికర వివరాలలో LE ఆడియో టోగుల్‌ను చూపండి"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"బ్లూటూత్ LE ఆడియో వైట్‌లిస్ట్‌ను ఎనేబుల్ చేయండి"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"బ్లూటూత్ LE ఆడియో వైట్‌లిస్ట్ ఫీచర్‌ను ఎనేబుల్ చేయండి."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"బ్లూటూత్ LE ఆడియో వైట్‌లిస్ట్‌ను బైపాస్ చేయండి"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"వైట్‌లిస్ట్ ప్రమాణాలకు అనుగుణంగా LE ఆడియో పెరిఫెరల్ వెరిఫై చేయబడనప్పటికీ ఆటోమేటిక్‌గా LE ఆడియోను ఉపయోగించండి."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"మీడియా పరికరాలు"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"కాల్ పరికరాలు"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"ఇతర పరికరాలు"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"సేవ్ చేసిన పరికరాలు"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"ఈ ఖాతాతో అనుబంధించబడిన పరికరాలు"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ఈ ఖాతా ద్వారా గతంలో ఉపయోగించినవి"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"పెయిరింగ్ కోసం బ్లూటూత్ ఆన్ చేయబడుతుంది"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"కనెక్షన్ ప్రాధాన్యతలు"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"ఇంతకు మునుపు కనెక్ట్ చేయబడినవి"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"బ్లూటూత్ ఆన్ చేయబడింది"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"అన్నీ చూడండి"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"అన్నింటినీ చూడండి"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"స్టైలస్"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"స్టైలస్ బటన్‌ను నొక్కండి"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (వర్క్ ప్రొఫైల్)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"టెక్స్ట్ ఫీల్డ్‌లలో రాయండి"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"అన్ని స్టైలస్ బటన్ ప్రెస్‌లను విస్మరించండి"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"స్టైలస్"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"ఆడియో షేరింగ్"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"ఆడియోను షేర్ చేయండి"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"కాల్స్, అలారాలు"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR కోడ్‌ను ఉపయోగించి ఆడియో స్ట్రీమ్‌కు కనెక్ట్ చేయండి"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"సమీప ఆడియో స్ట్రీమ్‌లు ఏవీ కనుగొనబడలేదు."</string>
     <string name="date_and_time" msgid="1788358029823431692">"తేదీ &amp; సమయం"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"ప్రాక్సీ"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"క్లియర్ చేయండి"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%sని ప్రాధాన్య భాషలకు జోడించాలా?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"మీరు ఈ భాషకు కూడా ప్రాధాన్యం ఇస్తారని, ఇది, యాప్‌లకు, వెబ్‌సైట్‌లకు తెలియజేస్తుంది."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"మీ పరికర సెట్టింగ్‌లు, ప్రాంతీయ ప్రాధాన్యతలు మారుతాయి."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"మార్చండి"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s అందుబాటులో లేదు"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"శనివారం"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"ప్రాంతీయ భాషా ప్రాధాన్యతలకు యాప్, సపోర్ట్ చేయకపోతే, ఆటోమేటిక్ భాషా సెట్టింగ్‌లను యాప్ ఉపయోగిస్తుంది."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"భాషా ప్రాధాన్యతల గురించి మరింత తెలుసుకోండి."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"అదనపు ప్రాధాన్యతలు"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"సంబోధనా పద్ధతులు"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"మిమ్మల్ని సంబోధించే విధానాన్ని సెట్ చేయండి"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"యాప్‌లు మిమ్మల్ని సంబోధించే విధానాన్ని వ్యక్తిగతీకరించడానికి అవి మీరు పేర్కొన్న సంబోధనా పద్ధతులను ఉపయోగించవచ్చు."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"పేర్కొనబడలేదు"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"స్త్రీ"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"పురుషుడు"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"న్యూట్రల్"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{ఎంచుకున్న భాషను తీసివేయాలా?}other{ఎంచుకున్న భాషలను తీసివేయాలా?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"వచనం మరొక భాషలో ప్రదర్శించబడుతుంది."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"అన్ని భాషలను తీసివేయలేరు"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"లొకేషన్"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"లొకేషన్‌ను ఉపయోగించండి"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ఆఫ్"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{ఆన్‌లో ఉంది - # యాప్‌నకు లొకేషన్‌కు యాక్సెస్ ఉంది}other{ఆన్‌లో ఉంది - # యాప్‌లకు లొకేషన్‌కు యాక్సెస్ ఉంది}}"</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_location_off" msgid="8568995909147566720">"యాప్‌లు, సర్వీస్‌లకు లొకేషన్ యాక్సెస్ ఆఫ్ చేయబడింది. మీరు ఎమర్జెన్సీ నంబర్‌కు కాల్ చేసినా లేదా SMS పంపినా, అత్యవసర సమయాలలో స్పందించే వారికి ఆటోమేటిక్‌గా మీ పరికర లొకేషన్ పంపబడుతుంది."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"లొకేషన్ సెట్టింగ్‌ల గురించి మరింత తెలుసుకోండి."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"లొకేషన్ సెట్టింగ్‌ల గురించి మరింత తెలుసుకోండి"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"లొకేషన్ యాక్సెస్‌ను మార్చడానికి, సెట్టింగ్‌లు &gt; సెక్యూరిటీ &amp; గోప్యత &gt; గోప్యతా కంట్రోల్స్‌కు వెళ్లండి"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"ఖాతాలు"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"సెక్యూరిటీ"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"ఎన్‌క్రిప్షన్ &amp; ఆధారాలు"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ఉత్తమ ఫలితాల కోసం, Google చేత సర్టిఫైడ్ చేయబడి తయారు చేయబడిన స్క్రీన్ ప్రొటెక్టర్‌ను ఉపయోగించండి. ఇతర స్క్రీన్ ప్రొటెక్టర్‌లతో, మీ పిల్లల వేలిముద్ర పని చేయకపోవచ్చు."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"వాచ్ అన్‌లాక్"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"మీరు ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేసినప్పుడు, మీరు మాస్క్ ధరించి ఉంటే లేదా చీకటి ప్రదేశంలో ఉంటే మీ ఫోన్, మీ వేలిముద్రను అడుగుతుంది.\n\nమీ ముఖం లేదా వేలిముద్ర గుర్తించబడనప్పుడు మీరు మీ వాచ్‌తో అన్‌లాక్ చేయవచ్చు."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"మీ వేలిముద్ర గుర్తించబడనప్పుడు మీరు మీ వాచ్‌తో అన్‌లాక్ చేయవచ్చు."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"మీ ముఖం గుర్తించబడనప్పుడు మీరు మీ వాచ్‌తో అన్‌లాక్ చేయవచ్చు."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"మీరు ఫేస్ అన్‌లాక్, వేలిముద్ర అన్‌లాక్‌ను సెటప్ చేసినప్పుడు, మీరు మాస్క్ ధరించి ఉంటే లేదా చీకటి ప్రదేశంలో ఉంటే మీ ఫోన్, మీ వేలిముద్రను అడుగుతుంది.\n\nవాచ్ అన్‌లాక్ అనేది ఉదాహరణకు, మీ వేళ్లు తడిగా ఉన్నప్పుడు లేదా ముఖం గుర్తించబడనప్పుడు మీ ఫోన్‌ను అన్‌లాక్ చేయడానికి మరొక అనుకూలమైన మార్గం."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"వాచ్ అన్‌లాక్ అనేది ఉదాహరణకు, మీ వేలిముద్ర గుర్తించబడనప్పుడు మీ ఫోన్‌ను అన్‌లాక్ చేయడానికి మరొక అనుకూలమైన మార్గం."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"వాచ్ అన్‌లాక్ అనేది ఉదాహరణకు, మీ ముఖం గుర్తించబడనప్పుడు మీ ఫోన్‌ను అన్‌లాక్ చేయడానికి మరొక అనుకూలమైన మార్గం."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"వేలిముద్ర లేదా వాచ్‌ను ఉపయోగించండి"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ముఖం, లేదా వాచ్‌ను ఉపయోగించండి"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ముఖం, వేలిముద్ర లేదా వాచ్‌ను ఉపయోగించండి"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"వాచ్ అన్‌లాక్ అనేది ఈ ఫోన్‌ను అన్‌లాక్ చేయడానికి మరొక అనుకూలమైన మార్గం, ఉదాహరణకు, మీ వేళ్లు తడిగా ఉన్నప్పుడు లేదా ముఖం గుర్తించబడనప్పుడు.\n\nమీరు ఈ సందర్భాలలో ఈ ఫోన్‌ను అన్‌లాక్ చేయడానికి మీ వాచ్‌ను ఉపయోగించవచ్చు:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ఇప్పుడు కాదు"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"కొనసాగండి"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"మరింత సమాచారం"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"ఇది ఎలా పని చేస్తుంది"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"మీ వాచ్ తప్పనిసరిగా అన్‌లాక్ చేయబడి ఉండాలి, ఇంకా మీ మణికట్టుపై ధరించి ఉండి, ఈ ఫోన్‌కు దగ్గరగా ఉండాలి. మీ వాచ్ మీ మణికట్టు మీద ఉన్నప్పుడు మీరు దాన్ని మళ్లీ అన్‌లాక్ చేయాల్సిన అవసరం లేదు."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"ఈ ఫోన్ అన్‌లాక్ చేయబడినప్పుడు, మీ వాచ్‌లో మీకు తెలియజేయబడుతుంది. మీకు అవసరం లేనప్పుడు అది అన్‌లాక్ చేయబడితే, ఫోన్‌ను మళ్లీ లాక్ చేయడానికి నోటిఫికేషన్‌ను ట్యాప్ చేయండి."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"మీరు కంట్రోల్ చేయవచ్చు"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"మీరు సెట్టింగ్‌లలో ఎప్పుడైనా వాచ్ అన్‌లాక్ నుండి మీ వాచ్‌ను తీసివేయవచ్చు"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"నోటిఫికేషన్‌ను ట్యాప్ చేయండి"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"లాక్ స్క్రీన్ మీద పైకి స్వైప్ చేయండి"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"మీ వాచ్‌ను ఎంచుకోండి"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"అందుబాటులోని వాచ్‌లు"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"రద్దు చేయండి"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"నిర్ధారించండి"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"మీరు సెటప్‌ను పూర్తి చేశారు!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"మీరు ఇప్పుడు లాక్ స్క్రీన్‌పై స్వైప్ చేసినప్పుడు లేదా నోటిఫికేషన్‌ను ట్యాప్ చేసినప్పుడు ఈ ఫోన్‌ను అన్‌లాక్ చేయడానికి మీ వాచ్‌ను ఉపయోగించవచ్చు"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"పూర్తయింది"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"వాచ్ అన్‌లాక్"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"మీరు లాక్ స్క్రీన్‌పై స్వైప్ చేసినప్పుడు లేదా నోటిఫికేషన్‌ను ట్యాప్ చేసినప్పుడు ఈ ఫోన్‌ను అన్‌లాక్ చేయడానికి మీ వాచ్‌ను ఉపయోగించవచ్చు"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"వాచ్ అన్‌లాక్‌ను ఉపయోగించడానికి, మీ వాచ్ తప్పనిసరిగా అన్‌లాక్ చేయబడి, మీ మణికట్టుపై ధరించి ఉండి, ఫోన్‌కు దగ్గరలో ఉండి, ఇంకా ఈ ఫోన్‌కు కనెక్ట్ చేయబడి ఉండాలి. కనెక్షన్‌కు అంతరాయం ఏర్పడితే, మీరు వాచ్ అన్‌లాక్‌ను ఉపయోగించే ముందు మీరు ఫోన్‌ను అన్‌లాక్ చేయాలి.\n\nవీటిని గుర్తుంచుకోండి:\nమీరు ఒకసారి ఒక వాచ్‌ను మాత్రమే సెటప్ చేయవచ్చు. మరొక వాచ్‌ను జోడించడానికి, ముందుగా ప్రస్తుతం ఉన్న వాచ్‌ను తీసివేయండి."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"వర్క్ కోసం ముఖం &amp; వేలిముద్ర అన్‌లాక్"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"సెటప్ అవసరం"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"సెక్యూరిటీ"</string>
     <string name="privacy_header" msgid="5526002421324257007">"గోప్యత"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"వర్క్ ప్రొఫైల్"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"ప్రైవేట్ స్పేస్"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ప్రైవేట్ యాప్‌లను లాక్ చేసి దాచి ఉంచండి"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"మీరు దాచడానికి లేదా లాక్ చేయడానికి వీలు ఉండే ప్రత్యేక స్పేస్‌లో ప్రైవేట్ యాప్‌లను ఉంచండి"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"ప్రైవేట్ స్పేస్ లాక్"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"మీరు మీ పరికరాన్ని ఎలా అయితే అన్‌లాక్ చేస్తారో, అలాగే ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయవచ్చు, లేదా వేరే లాక్‌ను ఎంచుకోవచ్చు"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"పరికర స్క్రీన్ లాక్‌ను ఉపయోగించండి"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"ముఖం &amp; వేలిముద్ర అన్‌లాక్"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"వేలిముద్ర అన్‌లాక్"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ఫేస్ అన్‌లాక్"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"సెటప్ చేయడానికి ట్యాప్ చేయండి"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"ప్రైవేట్ స్పేస్ కోసం వేలిముద్ర అన్‌లాక్"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"ప్రైవేట్ స్పేస్ కోసం ఫేస్ అన్‌లాక్"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"అన్‌లాక్ చేయడానికి మార్గాలు"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"పరికర స్క్రీన్ లాక్ లాంటిది"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"ప్రైవేట్ స్పేస్ కోసం కొత్త లాక్‌ను ఎంచుకోవాలా?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ప్రైవేట్ స్పేస్‌ను ఆటోమేటిక్‌గా లాక్ చేయండి"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"మీ పరికరాన్ని కొంత వ్యవధి పాటు వినియోగించకపోతే, మీ ప్రైవేట్ స్పేస్‌ను ఆటోమేటిక్‌గా లాక్ చేయవచ్చు"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"పరికరం లాక్ అయిన ప్రతిసారీ"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 నిమిషాలు ఇన్‌యాక్టివ్‌గా ఉన్న తర్వాత"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ఎప్పుడూ వద్దు"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"లాక్ చేయబడినప్పుడు దాచండి"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"లాక్ చేయబడినప్పుడు ప్రైవేట్ స్పేస్‌ను దాచండి"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"మీ పరికరంలో మీకు ప్రైవేట్ స్పేస్ ఉందని ఇతరులకు తెలియకుండా ఆపడానికి, మీరు దానిని మీ యాప్‌ల లిస్ట్ నుండి దాచవచ్చు"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"దాచినప్పుడు ప్రైవేట్ స్పేస్‌ను యాక్సెస్ చేయండి"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"యాప్ లిస్ట్‌లో సెర్చ్ బార్‌లో \"ప్రైవేట్ స్పేస్\" ఎంటర్ చేయండి"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"ప్రైవేట్ స్పేస్ టైల్‌ను ట్యాప్ చేయండి"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"మీ ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయండి"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ఆఫ్‌లో ఉంది"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"ఆన్‌లో ఉంది"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"సిస్టమ్"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ప్రైవేట్ స్పేస్‌ను తొలగించండి"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ప్రైవేట్ స్పేస్‌ను తొలగించాలా?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"మీ పరికరం నుండి మీ ప్రైవేట్ స్పేస్ తీసివేయబడుతుంది. అన్ని ప్రైవేట్ యాప్‌లు, డేటా తొలగించబడతాయి. ఈ చర్యను మీరు చర్య రద్దు చేయలేరు."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"మీ ప్రైవేట్ స్పేస్ నుండి కింది ఖాతాలు తీసివేయబడతాయి:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"తొలగించండి"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"ప్రైవేట్ స్పేస్‌ను తొలగిస్తోంది…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"దీనికి కొన్ని క్షణాలు పడుతుంది"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ప్రైవేట్ స్పేస్ తొలగించబడింది"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ప్రైవేట్ స్పేస్‌ను తొలగించడం సాధ్యం కాలేదు"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ప్రైవేట్ స్పేస్ అన్‌లాక్ చేయబడింది"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"స్క్రీన్ లాక్‌ను సెట్ చేయండి"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"మీ ప్రైవేట్ స్పేస్‌ను ఉపయోగించడానికి, ఈ పరికరంలో స్క్రీన్ లాక్ సెట్ చేయండి"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"స్క్రీన్ లాక్‌ను సెట్ చేయండి"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"రద్దు చేయండి"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"రద్దు చేయండి"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"సెటప్ చేయండి"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ప్రైవేట్ స్పేస్‌ను సెటప్ చేయండి"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"మీరు దాచడానికి లేదా లాక్ చేయడానికి వీలు ఉండే ప్రత్యేక స్పేస్‌లో ప్రైవేట్ యాప్‌లను ఉంచండి"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"ఇది ఎలా పని చేస్తుంది"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"మీ యాప్‌ల లిస్ట్ కింది నుండి మీరు ప్రైవేట్ స్పేస్‌ను యాక్సెస్ చేయవచ్చు"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"ప్రైవేట్ స్పేస్‌లోని యాప్‌లు లాక్ చేయడం ద్వారా రక్షించబడతాయి"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"మీ ప్రైవేట్ స్పేస్ లాక్ అయ్యి ఉన్నప్పుడు, అందులోని యాప్‌ల నుండి నోటిఫికేషన్‌లు రావు"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"మీ ప్రైవేట్ స్పేస్ లాక్ అయి ఉన్నప్పుడు, అందులో ఉన్న యాప్‌లు అనుమతి మేనేజర్‌లో, గోప్యతా డ్యాష్‌బోర్డ్‌లో, ఇతర సెట్టింగ్‌లలో కనిపించవు.\n\nమీ ప్రైవేట్ స్పేస్‌ను కొత్త పరికరానికి తరలించడం సాధ్యం కాదు. మీరు దానిని మరొక పరికరంలో ఉపయోగించాలంటే, మరొక ప్రైవేట్ స్పేస్‌ను సెటప్ చేయవలసి ఉంటుంది.\n\nమీ పరికరాన్ని కంప్యూటర్‌కు కనెక్ట్ చేసే లేదా మీ పరికరంలో హానికరమైన యాప్‌లను ఇన్‌స్టాల్ చేసే ఎవరైనా మీ ప్రైవేట్ స్పేస్‌ను యాక్సెస్ చేయగలరు."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"ప్రైవేట్ స్పేస్ సెటప్ ప్రోగ్రెస్‌లో ఉంది…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"ప్రైవేట్ స్పేస్ లాక్ అయ్యి ఉన్నప్పుడు, అందులోని యాప్‌ల నుండి నోటిఫికేషన్‌లు రావు"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ఫోటోలను లేదా ఫైల్స్‌ను షేర్ చేయడానికి ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయండి"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"కొన్ని యాప్‌లు ఇప్పటికే మీ ప్రైవేట్ స్పేస్‌లో ఇన్‌స్టాల్ అయి ఉంటాయి"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ప్రైవేట్ స్పేస్‌ను సెటప్ చేయడం సాధ్యపడలేదు"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"మళ్లీ ట్రై చేయండి"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ప్రైవేట్ స్పేస్ అన్లాకింగ్‌కు స్క్రీన్లాక్ వాడాలా?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"మీరు మీ పరికరాన్ని ఎలా అయితే అన్‌లాక్ చేస్తారో, అలాగే ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయవచ్చు, లేదా వేరే లాక్‌ను ఎంచుకోవచ్చు"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"స్క్రీన్ లాక్‌ను ఉపయోగించండి"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"కొత్త లాక్‌ను ఎంచుకోండి"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"అంతా సిద్ధంగా ఉంది!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"మీ ప్రైవేట్ స్పేస్‌ను కనుగొనడానికి మీ యాప్‌ల లిస్ట్‌కు వెళ్లి, కిందికి స్క్రోల్ చేయండి"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"పూర్తయింది"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"కిందికి స్క్రోల్ చేసి ప్రైవేట్ స్పేస్‌ను కనుగొనండి"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"సైన్ ఇన్ చేయండి"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"మీ ప్రైవేట్ స్పేస్‌తో ఉపయోగించడానికి ఖాతాకు సైన్ ఇన్ చేయండి"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ఇప్పుడు కాదు"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"కొనసాగండి"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"మీ ప్రైవేట్ స్పేస్‌కు ఒక లాక్‌ను ఎంచుకోండి"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"మీ వేలిముద్రను ఉపయోగించి ప్రైవేట్ స్పేస్‌ను అన్‌లాక్ చేయవచ్చు. భద్రతా అవసరాల దృష్ట్యా, ఈ ఆప్షన్‌కు బ్యాకప్ స్క్రీన్ లాక్ అవసరం."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"మీ ప్రైవేట్ స్పేస్ కోసం PIN సెట్ చేయండి"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"మీ ప్రైవేట్ స్పేస్ కోసం పాస్‌వర్డ్‌ను సెట్ చేయండి"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"మీ ప్రైవేట్ స్పేస్ కోసం ఆకృతి సెట్ చేయి"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"మీరు గరిష్ఠంగా <xliff:g id="COUNT">%d</xliff:g> వేలిముద్రలను జోడించవచ్చు"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"మీరు గరిష్ట సంఖ్యలో వేలిముద్రలను జోడించారు"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"మరిన్ని వేలిముద్రలను జోడించడం సాధ్యపడదు"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"ఆకృతి"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"పాస్‌వర్డ్"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"స్క్రీన్ లాక్‌ను తొలగించాలా?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"అన్ని రకాల పరికర అన్‌లాక్‌లను తీసివేయాలా?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ప్రొఫైల్ సంరక్షణను తీసివేయాలా?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని ఆకృతి రక్షిస్తుంది.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>మీ పరికరంలో స్టోర్ అయి ఉన్న వేలిముద్ర మోడల్‌ను ఇది తొలగిస్తుంది. మీ ఫేస్ మోడల్ కూడా శాశ్వతంగా, సురక్షితంగా తొలగించబడుతుంది. యాప్‌లలో ప్రామాణీకరణ కోసం మీరు మీ ఫేస్ లేదా వేలిముద్రను ఉపయోగించలేరు."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"మీ ఫోన్ పోయినా లేదా దొంగిలించబడినా, PIN దాన్ని రక్షిస్తుంది"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"మీ PIN వంటి సేవ్ చేసిన డేటాను మీరు కోల్పోతారు.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>స్పర్శరహిత పేమెంట్ కోసం సెటప్ చేసిన కార్డ్‌లు తీసివేయబడతాయి.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>పరికర అన్‌లాక్ అవసరమయ్యే వాలెట్‌లు, ఇతర యాప్‌లు సరిగ్గా పని చేయకపోవచ్చు."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>మీ పరికరంలో స్టోర్ అయి ఉన్న వేలిముద్ర మోడల్‌ను కూడా ఇది తొలగిస్తుంది. యాప్‌లలో ప్రామాణీకరణ కోసం మీరు మీ వేలిముద్రను ఉపయోగించలేరు."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"మీ PIN, వేలిముద్ర మోడల్ వంటి సేవ్ చేసిన డేటాను మీరు కోల్పోతారు.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>స్పర్శరహిత పేమెంట్ కోసం సెటప్ చేసిన కార్డ్‌లు తీసివేయబడతాయి.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>పరికర అన్‌లాక్ అవసరమయ్యే వాలెట్‌లు, ఇతర యాప్‌లు సరిగ్గా పని చేయకపోవచ్చు."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>మీ ఫేస్ మోడల్ కూడా శాశ్వతంగా, సురక్షితంగా తొలగించబడుతుంది. యాప్‌లలో ప్రామాణీకరణ కోసం మీరు మీ ఫేస్‌ను ఉపయోగించలేరు."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"మీ PIN, ఫేస్ మోడల్ వంటి సేవ్ చేసిన డేటాను మీరు కోల్పోతారు.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>స్పర్శరహిత పేమెంట్ కోసం సెటప్ చేసిన కార్డ్‌లు తీసివేయబడతాయి.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>పరికర అన్‌లాక్ అవసరమయ్యే వాలెట్‌లు, ఇతర యాప్‌లు సరిగ్గా పని చేయకపోవచ్చు."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని PIN రక్షిస్తుంది.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>మీ పరికరంలో స్టోర్ అయి ఉన్న వేలిముద్ర మోడల్‌ను ఇది తొలగిస్తుంది. మీ ఫేస్ మోడల్ కూడా శాశ్వతంగా, సురక్షితంగా తొలగించబడుతుంది. యాప్‌లలో ప్రామాణీకరణ కోసం మీరు మీ ఫేస్ లేదా వేలిముద్రను ఉపయోగించలేరు."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"మీ PIN, పేస్, ఇంకా వేలిముద్ర మోడల్స్ వంటి సేవ్ చేసిన డేటాను మీరు కోల్పోతారు.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>స్పర్శరహిత పేమెంట్ కోసం సెటప్ చేసిన కార్డ్‌లు తీసివేయబడతాయి.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>పరికర అన్‌లాక్ అవసరమయ్యే వాలెట్‌లు, ఇతర యాప్‌లు సరిగ్గా పని చేయకపోవచ్చు."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని పాస్‌వర్డ్ రక్షిస్తుంది"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"మీ ఫోన్‌ను పోగొట్టుకున్నా లేదా దొంగిలించబడినా దాన్ని పాస్‌వర్డ్ రక్షిస్తుంది.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"బ్లూటూత్"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"బ్లూటూత్"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>తో పెయిర్ చేయాలా?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"ఇప్పటికే ఉన్న కోఆర్డినేటెడ్ సెట్‌కు కొత్త మెంబర్‌ను జోడించండి"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"మీ ఆడియో పరికరంలో రెండవ భాగాన్ని జోడించడాన్ని నిర్ధారించండి"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"బ్లూటూత్ పెయిరింగ్ కోడ్"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"జత చేసే కోడ్‌ను టైప్ చేసి, ఆపై Return లేదా Enter నొక్కండి"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"పిన్‌ అక్షరాలను లేదా చిహ్నాలను కలిగి ఉంది"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"తప్పనిసరిగా 16 అంకెలు ఉండాలి"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"మీరు ఈ పిన్‌ను ఇతర డివైజ్‌లలో కూడా టైప్ చేయాల్సి రావచ్చు."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"మీరు ఈ పాస్‌కీని ఇతర పరికరంలో కూడా టైప్ చేయాల్సి రావచ్చు."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"కోఆర్డినేటెడ్ సెట్‌తో పెయిర్ చేయడానికి నిర్ధారించండి"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ఆడియో పరికరంతో పెయిర్ చేయడానికి నిర్ధారించండి"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"మీ కాంటాక్ట్‌లకు, కాల్ హిస్టరీకి యాక్సెస్‌ను అనుమతించండి"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"కాంటాక్ట్‌లకు, కాల్ హిస్టరీకి కూడా యాక్సెస్‌ను అనుమతించండి"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"సమాచారం, కాల్ అనౌన్స్‌మెంట్‌లు, ఇంకా మరిన్నింటి కోసం ఉపయోగించబడుతుంది"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>కి కనెక్ట్ చేయడం సాధ్యపడలేదు."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"అందుబాటులో ఉన్న పరికరాలు"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"కనెక్ట్ చేయండి"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"డిస్‌కనెక్ట్ చేయండి"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"పెయిర్ చేసి, కనెక్ట్ చేయండి"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"బ్లూటూత్‌ను ఆన్ చేసినప్పుడు, సమీపంలోని ఇతర బ్లూటూత్ పరికరాలతో మీ పరికరం కమ్యూనికేట్ చేయగలదు."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"బ్లూటూత్‌తో, బ్లూటూత్ పరికరాలకు మీది లింక్ కాగలదు"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"బ్లూటూత్ ఆన్ చేసినప్పుడు, సమీపంలోని ఇతర బ్లూటూత్ పరికరాలతో మీ పరికరం కమ్యూనికేట్ చేయగలదు.\n\nపరికర వినియోగ అనుభూతిని మెరుగుపరచడానికి, ఏ సమయంలోనైనా, బ్లూటూత్ ఆఫ్‌లో ఉన్నప్పుడు కూడా, సమీపంలోని పరికరాలను, యాప్‌లు, సర్వీస్‌లు ఇప్పటికీ స్కాన్ చేయగలవు. ఉదాహరణకు, లొకేషన్ ఆధారిత ఫీచర్‌లు, సర్వీస్‌లను మెరుగుపరచడానికి దీనిని ఉపయోగించవచ్చు. మీరు దీన్ని బ్లూటూత్ స్కానింగ్ సెట్టింగ్‌లలో మార్చవచ్చు."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"మార్చండి"</string>
     <string name="device_details_title" msgid="1155622417516195481">"పరికర వివరాలు"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"డీబగ్ చేయదగిన యాప్‌ల బైట్‌కోడ్ చెక్ చేయడం కోసం ARTని అనుమతించండి"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"రిఫ్రెష్ రేటును చూపడం"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"ప్రస్తుత డిస్‌ప్లేకు చెందిన రిఫ్రెష్ రేట్ చూపండి"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR నిష్పత్తిని చూడండి"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"ప్రస్తుత HDR/SDR నిష్పత్తిని చూడండి"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC కోసం పరికరాన్ని అన్‌లాక్ చేయాలి"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ఎయిర్‌ప్లేన్ మోడ్‌లో"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"పబ్లిక్ నెట్‌వర్క్‌ల సమాచారం తెలియజేయండి"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"అధిక క్వాలిటీ ఉన్న పబ్లిక్ నెట్‌వర్క్ అందుబాటులో ఉన్నప్పుడు తెలియజేస్తుంది"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP నెట్‌వర్క్‌లను అనుమతించండి"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP అనేది తక్కువ సురక్షితమైన పాత సెక్యూరిటీ ప్రోటోకాల్"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP నెట్‌వర్క్‌లు తక్కువ సురక్షితమైనవి కాబట్టి మీ క్యారియర్ వాటిని అనుమతించదు"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fiని ఆటోమేటిక్‌గా ఆన్ చేయండి"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"మీ ఇంటి నెట్‌వర్క్‌ల వంటి సేవ్ చేసిన అధిక క్వాలిటీ గల నెట్‌వర్క్‌లు అందుబాటులో ఉన్నప్పుడు Wi‑Fi తిరిగి ఆన్ చేయబడుతుంది"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"లొకేషన్ ఆఫ్ చేయబడింది కనుక అందుబాటులో లేదు. "<annotation id="link">"లొకేషన్‌ను"</annotation>" ఆన్ చేయండి."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi ఆఫ్‌లో ఉన్నా కూడా, ఏ సమయంలోనైనా Wi‑Fi నెట్‌‍వర్క్‌లను స్కాన్ చేయడానికి యాప్‌లను, స‌ర్వీసుల‌ను Wi‑Fi స్కానింగ్ అనుమతిస్తుంది. ఉదాహరణకు, లొకేషన్ ఆధారిత ఫీచర్‌లను, స‌ర్వీసుల‌ను మెరుగుపరచడానికి దీనిని ఉపయోగించవచ్చు."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"ఆన్ చేయి"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi-Fi స్కానింగ్ ఆన్ చేయబడింది"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"ఈ నెట్‌వర్క్ తక్కువ సురక్షితమైన పాత సెక్యూరిటీ ప్రోటోకాల్‌ను ఉపయోగిస్తుంది"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> బ్లాక్ చేయబడింది"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"ఈ నెట్‌వర్క్ WEP అనే పాత సెక్యూరిటీ ప్రోటోకాల్‌ను ఉపయోగిస్తుంది, ఇది తక్కువ సురక్షితమైనది. ఎలాగైనా సరే కనెక్ట్ చేయాలనుకుంటే, మీరు WEP నెట్‌వర్క్‌లను అనుమతించవచ్చు."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"మీ క్యారియర్ మిమ్మల్ని ఈ నెట్‌వర్క్‌కు కనెక్ట్ చేయడానికి అనుమతించదు ఎందుకంటే ఇది తక్కువ సురక్షితమైన పాత సెక్యూరిటీ ప్రోటోకాల్‌ను ఉపయోగిస్తుంది"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEPను అనుంతించండి"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"మూసివేయండి"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"అధునాతన ఆప్షన్‌లు"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"డ్రాప్-డౌన్ లిస్ట్‌ అధునాతన ఎంపికలు"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"విస్తరించు"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"అలాగే Wi‑Fiలో ఉంచు"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"మళ్లీ ఎప్పటికి చూపవద్దు"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"కనెక్ట్ చేయండి"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi ఆన్ చేయబడింది"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>కు కనెక్ట్ అయ్యింది"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>కు కనెక్ట్ చేయబడుతోంది"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"కనెక్ట్ అవుతోంది…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"నెట్‌వర్క్‌కు కనెక్ట్ చేయడం విఫలమైంది"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"నెట్‌వర్క్ పరిధిలో లేదు"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"విస్మరించు"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ఎడిట్ చేయండి"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"నెట్‌వర్క్‌ను ఉపేక్షించడంలో విఫలమైంది"</string>
     <string name="wifi_save" msgid="2312643132472226807">"సేవ్ చేయండి"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"నెట్‌వర్క్‌ను సేవ్ చేయడం విఫలమైంది"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"రద్దు చేయండి"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"మొబైల్ డేటా"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ఈథర్‌నెట్"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ ఛార్జ్ అవుతోంది"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ ఛార్జ్ అవుతోంది"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"హాట్‌స్పాట్ కనెక్షన్"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"కనెక్షన్ సామర్థ్యం"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"సేవ్ అయిన నెట్‌వర్క్‌లు"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"పాస్‌వర్డ్‌ సెట్ చేయలేదు"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"హాట్‌స్పాట్ పేరు"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"హాట్‌స్పాట్ పాస్‌వర్డ్‌"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP బ్యాండ్"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"హాట్‌స్పాట్‌ను ఆటోమేటిక్‌గా ఆఫ్ చేయండి"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"పరికరాలేవీ కనెక్ట్ చేసి లేనప్పుడు"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"అనుకూలతను మెరుగుపరచండి"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"తెలుపు సమతుల్యతను ప్రదర్శించండి"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ఫోల్డ్ చేసినప్పుడు యాప్స్ వాడటం కొనసాగించండి"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"స్మూత్ డిస్‌ప్లే"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"కొంత కంటెంట్ కోసం రిఫ్రెష్ రేటును ఆటోమేటిక్‌గా 60 నుండి <xliff:g id="ID_1">%1$s</xliff:g> Hz వరకు పెంచుతుంది. బ్యాటరీ వినియోగం పెరుగుతుంది."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"గేమ్‌ల కోసం ఆటోమేటిక్ సెట్టింగ్ ఫ్రేమ్ రేట్‌ను డిజేబుల్ చేయండి"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"గేమ్‌ల గరిష్ఠ ఫ్రేమ్ రేట్‌ను <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz వద్ద పరిమితం చేయడాన్ని డిజేబుల్ చేయండి."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"స్మూత్ డిస్‌ప్లే"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"కొంత కంటెంట్ విషయంలో, రిఫ్రెష్ రేటును ఆటోమేటిక్‌గా <xliff:g id="ID_1">%1$d</xliff:g> Hz వరకు పెంచుతుంది. బ్యాటరీ వినియోగం పెరుగుతుంది."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"ఫోర్స్ పీక్ రిఫ్రెష్ రేటు"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"మెరుగైన స్పర్శ ప్రతిస్పందన &amp; యానిమేషన్ క్వాలిటీ కోసం అత్యధిక రిఫ్రెష్ రేటు. ఇది బ్యాటరీ వినియోగం పెరిగేలా చేస్తుంది."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"స్క్రీన్ అటెన్ష‌న్‌"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"స్క్రీన్ వైపు ఎవరైనా చూస్తున్నారా అన్నది తెలుసుకునేందుకు స్క్రీన్ అటెన్ష‌న్,‌ ముందు వైపు ఉన్న కెమెరాను ఉపయోగిస్తుంది. ఇది పరికరంలో పని చేస్తుంది. ఇమేజ్‌లు స్టోర్‌ చేయబడవు లేదా  Googleకు పంపబడవు."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"స్క్రీన్ అటెన్షన్‌ను ఆన్ చేయి"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"స్క్రీన్‌ను చూస్తున్నప్పుడు దానిని ఆన్‌లో ఉంచగలుగుతారు"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ఎక్కువ ఆటోమేటిక్ స్క్రీన్ గడువు ముగింపు వలన ఎక్కువ బ్యాటరీ ఉపయోగించబడుతుంది."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"కెమెరా లాక్ చేయబడింది"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ముఖ గుర్తింపు కోసం కెమెరాను అన్‌లాక్ చేయాలి"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"స్క్రీన్ అటెన్షన్ కోసం కెమెరాను అన్‌లాక్ చేయాలి"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM స్లాట్ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM స్లాట్ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (ప్రాథమిక)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"చూడటానికి సేవ్ చేసిన నెట్‌వర్క్‌ను ఎంచుకోండి"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL వెర్షన్"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"బ్యాటరీ స్థాయి"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"కమ్యూనల్"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"కమ్యూనల్ సెట్టింగ్‌లు"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"శాటిలైట్ మెసేజింగ్"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNలు"</string>
     <string name="apn_edit" msgid="2003683641840248741">"యాక్సెస్ పాయింట్‌ను ఎడిట్ చేయండి"</string>
+    <string name="apn_add" msgid="9069613192201630934">"యాక్సెస్ పాయింట్‌ను జోడించండి"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"సెట్ చేయలేదు"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"సెట్ చేయలేదు"</string>
     <string name="apn_name" msgid="6677695784108157953">"పేరు"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN ఎనేబుల్ చేయబడింది"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN నిలిపివేయబడింది"</string>
     <string name="bearer" msgid="3231443241639159358">"వాహకం"</string>
+    <string name="network_type" msgid="748590707422733595">"నెట్‌వర్క్ రకం"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"పేర్కొనలేదు"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO రకం"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO విలువ"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APNను తొలగించండి"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"సేవ్ చేయండి"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"రద్దు చేయండి"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"డూప్లికేట్ apn ఎంట్రీ."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"పేరు ఫీల్డ్ ఖాళీగా ఉండకూడదు."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN ఖాళీగా ఉండకూడదు."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC ఫీల్డ్ తప్పనిసరిగా 3 అంకెలు కలిగి ఉండాలి."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC ఫీల్డ్‌లో తప్పనిసరిగా 2 లేదా 3 అంకెలు ఉండాలి."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"క్యారియర్ %s రకమైన APNలను జోడించడాన్ని అనుమతించదు."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC ఫీల్డ్ తప్పనిసరిగా చెల్లుబాటు అవ్వాలి."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"ఆటోమేటిక్ APN సెట్టింగ్‌లను రీస్టోర్ చేస్తోంది."</string>
     <string name="menu_restore" msgid="4310539620115151551">"ఆటోమేటిక్‌కు రీసెట్ చేయండి"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"ఆటోమేటిక్ APN సెట్టింగ్‌లను రీసెట్ చేయడం పూర్తయింది."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"రీసెట్ చేయండి"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"బ్లూటూత్ &amp; Wi‑Fi రీసెట్ చేయబడ్డాయి"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIMలను ఫ్యాక్టరీ రీసెట్ చేయండి"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"ఇది ఏవిధమైన మొబైల్ సర్వీస్ ప్లాన్‌లను రద్దు చేయదు. రీప్లేస్‌మెంట్ SIMలను డౌన్‌లోడ్ చేయడానికి మీ క్యారియర్‌ను సంప్రదించండి."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"ఇది మీ మొబైల్ సర్వీస్ ప్లాన్‌ను రద్దు చేయదు. రీప్లేస్‌మెంట్ SIMను పొందడానికి, మీ క్యారియర్‌ను సంప్రదించండి."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"సెట్టింగ్‌లను రీసెట్ చేయండి"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"అన్ని నెట్‌వర్క్ సెట్టింగ్‌లను రీసెట్ చేయాలా? ఈ చర్యను మీరు రద్దు చేయలేరు."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"అన్ని నెట్‌వర్క్ సెట్టింగ్‌లను రీసెట్ చేసి, eSIMలను ఫ్యాక్టరీ రీసెట్ చేయాలా? ఈ చర్యను మీరు చర్య రద్దు చేయలేరు."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"రీసెట్ చేయాలా?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"ఈ వినియోగదారు కోసం నెట్‌వర్క్ రీసెట్ అందుబాటులో లేదు"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"నెట్‌వర్క్ సెట్టింగ్‌లు రీసెట్ చేయబడ్డాయి"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIMల డేటాను తొలగించలేకపోయింది"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ఎర్రర్ కారణంగా eSIMలు ఫ్యాక్టరీ రీసెట్ చేయబడవు.\n\nమీ పరికరాన్ని రీస్టార్ట్ చేసి మళ్లీ ట్రై చేయండి."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIMలను ఫ్యాక్టరీ రీసెట్ చేయడం సాధ్యపడదు"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"ఏదో పొరపాటు జరిగింది, మీ eSIMలు ఫ్యాక్టరీ రీసెట్ చేయబడలేదు.\n\nమీ పరికరాన్ని రీస్టార్ట్ చేసి, మళ్లీ ట్రై చేయండి."</string>
     <string name="main_clear_title" msgid="277664302144837723">"మొత్తం డేటాను తొలగించండి (ఫ్యాక్టరీ రీసెట్)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"మొత్తం డేటాను తొలగించండి (ఫ్యాక్టరీ రీసెట్)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"మ్యూజిక్"</li>\n<li>"ఫోటోలు"</li>\n<li>"ఇతర యూజర్ డేటా"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMలు"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"ఇది మీ మొబైల్ సర్వీస్ ప్లాన్‌ను రద్దు చేయదు."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"మీ మొత్తం వ్యక్తిగత సమాచారంతో పాటు డౌన్‌లోడ్ చేసిన యాప్‌లు అన్నీ సమూలంగా తొలగించబడతాయి. ఒక్కసారి డేటాను తొలగిస్తే మళ్లీ వెనక్కు తెచ్చుకోలేరు."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"మీ మొత్తం వ్యక్తిగత సమాచారంతో పాటు డౌన్‌లోడ్ చేసిన యాప్‌లు, SIMలు అన్నీ సమూలంగా తొలగించబడతాయి. ఒక్కసారి డేటాను తొలగిస్తే మళ్లీ వెనక్కు తెచ్చుకోలేరు."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"మీ మొత్తం వ్యక్తిగత సమాచారంతో పాటు డౌన్‌లోడ్ చేసిన యాప్‌లు &amp; eSIMలు అన్నీ సమూలంగా తొలగించబడతాయి. ఈ చర్యను మీరు చర్య రద్దు చేయలేరు."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"మొత్తం డేటాను తొలగించాలా?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"ఈ యూజర్‌కు ఫ్యాక్టరీ రీసెట్ అందుబాటులో లేదు"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"తొలగిస్తోంది"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"హాట్‌స్పాట్, USB, బ్లూటూత్, ఈథర్‌నెట్"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"ఇంటర్నెట్‌ను ఇతర పరికరాలతో షేర్ చేయడం లేదు"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ఆఫ్‌లో ఉంది"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"టెథరింగ్"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi-Fi హాట్‌స్పాట్‌ను ఉపయోగించవద్దు"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"USB ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"బ్లూటూత్ ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ఈథర్‌నెట్ ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"USB, బ్లూటూత్ ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"USB, ఈథర్‌నెట్‌ల ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"బ్లూటూత్, ఈథర్‌నెట్‌ల ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"USB, బ్లూటూత్, ఈథర్‌నెట్ ద్వారా మాత్రమే ఇంటర్నెట్‌ను షేర్ చేయండి"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB టెథరింగ్‌"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"బ్లూటూత్ టెథరింగ్‌"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ఈథర్‌నెట్ టెథరింగ్"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"మీ Wi‑Fi లేదా మొబైల్ డేటా కనెక్షన్ ద్వారా ఇతర పరికరాలకు ఇంటర్నెట్‌ను అందించడం కోసం హాట్‌స్పాట్ అలాగే టెథరింగ్‌ను ఉపయోగించండి. సమీప పరికరాలతో కంటెంట్‌ను షేర్ చేయడం కోసం యాప్‌లు కూడా హాట్‌స్పాట్‌ను క్రియేట్ చేయవచ్చు."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"సహాయం"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"మొబైల్ నెట్‌వర్క్"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"మొబైల్ ప్లాన్"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS యాప్"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS యాప్‌ను మార్చాలా?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"మీ SMS అనువర్తనంగా <xliff:g id="CURRENT_APP">%2$s</xliff:g>కి బదులుగా <xliff:g id="NEW_APP">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi అసిస్టెంట్‌ను మార్చాలా?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"మీ నెట్‌వర్క్ కనెక్షన్‌లను మేనేజ్ చేయడానికి <xliff:g id="CURRENT_APP">%2$s</xliff:g>కి బదులుగా <xliff:g id="NEW_APP">%1$s</xliff:g>ని ఉపయోగించాలా?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"మీ నెట్‌వర్క్ కనెక్షన్‌లను మేనేజ్ చేయడానికి <xliff:g id="NEW_APP">%s</xliff:g>ని ఉపయోగించాలా?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"సిమ్ ఆపరేటర్ తెలియదు"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>కి తెలిసిన కేటాయింపు వెబ్‌సైట్ ఏదీ లేదు"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"దయచేసి సిమ్ కార్డును చొప్పించి, పునఃప్రారంభించండి"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"దయచేసి ఇంటర్నెట్‌కు కనెక్ట్ చేయండి"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"లొకేషన్‌ను ఇటీవల రిక్వెస్ట్ చేసినవి"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ఆఫీస్ ప్రొఫైల్ కోసం లొకేషన్"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"యాప్ లొకేషన్ అనుమతులు"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"యాక్సెస్‌ను తీసివేయండి"</string>
     <string name="controls_label" msgid="8671492254263626383">"నియంత్రణలు"</string>
     <string name="force_stop" msgid="2681771622136916280">"ఫోర్స్ స్టాప్"</string>
+    <string name="archive" msgid="9074663845068632127">"ఆర్కైవ్ చేయండి"</string>
+    <string name="restore" msgid="7622486640713967157">"రీస్టోర్ చేయండి"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"రీస్టోర్ చేస్తోంది"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"రీస్టోర్ చేస్తోంది."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"రీస్టోర్ చేస్తోంది.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"రీస్టోర్ చేస్తోంది..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"మొత్తం"</string>
     <string name="application_size_label" msgid="6407051020651716729">"యాప్ సైజ్"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB స్టోరేజ్‌ యాప్"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"ప్యాకేజీ పరిమాణాన్ని గణించడం సాధ్యపడలేదు."</string>
     <string name="version_text" msgid="7628938665256107608">"వెర్షన్ <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"తరలించు"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"ఆర్కైవ్ చేయడం విఫలమైంది"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> ఆర్కైవ్ చేయబడింది"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"రీస్టోర్ చేయడం విఫలమైంది"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> రీస్టోర్ చేయబడుతోంది"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ఇప్పటికే మరొక స్థాన మార్పిడి ప్రోగ్రెస్‌లో ఉంది."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"తగినంత స్టోరేజ్‌ స్థలం లేదు."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"యాప్ ఉనికిలో లేదు."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"స్క్రీన్‌పై కీబోర్డ్ అందుబాటులోఉంది"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"స్క్రీన్‌పై కీబోర్డ్స్ మేనేజ్ చేయండి"</string>
     <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="6922850403920596246">"ఫిజికల్ కీబోర్డ్ యాక్సెసిబిలిటీ కోసం బౌన్స్ కీలను ఎనేబుల్ చేయండి"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"నిదానంగా పనిచేసే కీలు"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"ఫిజికల్ కీబోర్డ్ యాక్సెసిబిలిటీ కోసం నిదానంగా పనిచేసే కీలను ఎనేబుల్ చేయండి"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"స్టిక్కీ కీలు"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"ఫిజికల్ కీబోర్డ్ యాక్సెసిబిలిటీ కోసం స్టిక్కీ కీలను ఎనేబుల్ చేయండి"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"మనిన్ని ఆప్షన్‌లకై టచ్‌ప్యాడ్ దిగువ కుడి మూలన ట్యాప్ చేయండి"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"పాయింటర్ స్పీడ్"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"టచ్‌ప్యాడ్ సంజ్ఞ గూర్చి తెలుసుకోండి"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"మొదటి ట్యాబ్‌కు వెళ్లండి"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"మీ టచ్‌ప్యాడ్‌పై ఎక్కడైనా మూడు వేళ్లతో పైకి స్వైప్ చేయండి"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"వెనుకకు వెళ్లండి"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"వినియోగ టైం ద్వారా సార్ట్ చేయి"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"చివరి టైం ద్వారా సార్ట్ చేయి"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"యాప్ పేరు ద్వారా సార్ట్ చేయండి"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"చివరిగా ఉపయోగించినది"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"చివరిగా ఉపయోగించినది"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ఎప్పుడూ లేదు"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"వినియోగ సమయం"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"యాక్సెసిబిలిటీ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"యాక్సెస్ సామర్థ్య సెట్టింగ్‌లు"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"మూడుసార్లు నొక్కడంతో మ్యాగ్నిఫై చేయండి"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"షార్ట్‌కట్‌తో మ్యాగ్నిఫై చేయండి"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"షార్ట్‌కట్‌తో, మూడుసార్లు నొక్కి మ్యాగ్నిఫై చేయండి"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\' పరిచయం"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"తెరవడానికి యాక్సెసిబిలిటీ బటన్‌ను ఉపయోగించండి"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"తెరవడానికి వాల్యూమ్ కీలను పట్టుకుని అలాగే ఉండండి"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"తెరవడానికి స్క్రీన్‌పై మూడు సార్లు ట్యాప్ చేయండి"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"తెరవడానికి రెండు వేళ్లతో స్క్రీన్‌ను డబుల్ ట్యాప్ చేయండి"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"తెరవడానికి సంజ్ఞను ఉపయోగించండి"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"యాక్సెసిబిలిటీ సంజ్ఞను ఉపయోగించండి"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"ఈ ఫీచర్‌ను ఉపయోగించడానికి, మీ స్క్రీన్ దిగువన ఉన్న యాక్సెసిబిలిటీ బటన్ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>ను ట్యాప్ చేయండి.\n\nఫీచర్‌ల మధ్య స్విచ్ అవడానికి, యాక్సెసిబిలిటీ బటన్‌ను నొక్కి &amp; పట్టుకోండి."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"ఈ ఫీచర్‌ను ఉపయోగించడానికి, మీ స్క్రీన్ మీద ఉన్న యాక్సెసిబిలిటీ బటన్‌ను ట్యాప్ చేయండి."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"ఈ ఫీచర్‌ను ఉపయోగించడానికి, రెండు వాల్యూమ్ కీలను నొక్కి, పట్టుకోండి."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"మ్యాగ్నిఫికేషన్‌ను ప్రారంభించడానికి అలాగే ఆపడానికి, మీ స్క్రీన్‌పై ఎక్కడైనా మూడు సార్లు ట్యాప్ చేయండి."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"మ్యాగ్నిఫికేషన్‌ను ప్రారంభించడానికి, ఆపడానికి స్క్రీన్‌పై ఎక్కడైనా 2 వేళ్లతో 2 సార్లు ట్యాప్ చేయండి."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"ఈ ఫీచర్‌ను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 2 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్‌ల మధ్య స్విచ్ అవడానికి, 2 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"ఈ ఫీచర్‌ను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 3 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్‌ల మధ్య స్విచ్ అవడానికి, 3 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"యాక్సెస్ సౌలభ్య ఫీచర్‌లను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 2 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్‌ల మధ్య స్విచ్ అవడానికి, 2 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"యాక్సెస్ సౌలభ్య ఫీచర్‌లను ఉపయోగించడానికి, స్క్రీన్ దిగువ నుండి 3 వేళ్లతో పైకి స్వైప్ చేయండి.\n\nఫీచర్‌ల మధ్య స్విచ్ అవడానికి, 3 వేళ్లతో పైకి స్వైప్ చేసి పట్టుకోండి."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"అర్థమైంది"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"యాక్సెసిబిలిటీ బటన్ సెట్టింగ్స్"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"బటన్ సెట్టింగ్‌లు"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> - షార్ట్‌కట్"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"యాక్సెసిబిలిటీ బటన్"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"యాక్సెసిబిలిటీ సంజ్ఞ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"వాల్యూమ్ కీలను నొక్కి ఉంచండి"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"వాల్యూమ్ కీలను పట్టుకుని అలాగే ఉండండి"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"వాల్యూమ్ కీలు రెండింటినీ నొక్కి పట్టుకోండి"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"రెండు వేళ్లతో స్క్రీన్‌ను డబుల్-ట్యాప్ చేయండి"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"రెండు వేళ్లతో స్క్రీన్‌ను డబుల్-ట్యాప్ చేయండి"</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="6863958573135995927">"స్క్రీన్‌పై మూడు సార్లు ట్యాప్ చేయండి"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"స్క్రీన్‌ను {0,number,integer} సార్లు త్వరగా ట్యాప్ చేయండి. ఈ షార్ట్‌కట్ వల్ల మీ పరికరం పనితీరు నెమ్మదించవచ్చు"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"యాక్సెసిబిలిటీ బటన్ &amp; సంజ్ఞ గురించి మరింత తెలుసుకోండి"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"యాక్సెసిబిలిటీ బటన్‌ను ఉపయోగించడం. 3-బటన్ నావిగేషన్‌తో సంజ్ఞ అందుబాటులో లేదు."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"యాక్సెసిబిలిటీ ఫీచర్‌లను త్వరగా యాక్సెస్ చేయండి"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"ప్రారంభించడానికి"</b>\n"1. యాక్సెసిబిలిటీ సెట్టింగ్‌లకు వెళ్లండి\n2. ఏదైనా ఒక ఫీచర్‌ను ఎంచుకుని, షార్ట్‌కట్‌ను ట్యాప్ చేయండి\n3. ఆ ఫీచర్‌ను యాక్సెస్ చేయడానికి బటన్ లేదా సంజ్ఞలలో దేనిని ఉపయోగించాలనుకుంటున్నారో ఎంచుకోండి"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"ప్రారంభించడానికి"</b>\n"1. యాక్సెసిబిలిటీ సెట్టింగ్‌లకు వెళ్లండి\n2. ఫీచర్‌ను ఎంచుకుని, షార్ట్‌కట్‌ను ట్యాప్ చేయండి\n3. ఫీచర్‌ను యాక్సెస్ చేయడానికి బటన్‌ను ఎంచుకోండి"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"బటన్ లేదా సంజ్ఞను ఉపయోగించండి"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"లొకేషన్"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"సైజ్‌"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"పవర్ బటన్ కాల్‌ను ముగిస్తుంది"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"పెద్ద మౌస్ పాయింటర్"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"మౌస్ పాయింటర్‌ను మరింత గుర్తించదగినదిగా చేయండి"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"యాప్‌లన్నింటిలో డార్క్ ధీమ్ వాడండి"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"డార్క్ ధీమ్స్ లేని యాప్‌లకు వర్తిస్తుంది. కొన్ని యాప్స్‌లో కలర్ మార్పిడుల డిస్‌ప్లేసమస్యలు ఉండవచ్చు."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"యానిమేషన్‌లను తీసివేయండి"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"స్క్రీన్ మీద కదలికను తగ్గించండి"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"మోనో ఆడియో"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"\'వైబ్రేషన్ &amp; ప్రతిస్పందనలు\' వాడండి"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"అలారం వైబ్రేషన్"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"మీడియా వైబ్రేషన్"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"కీబోర్డ్ వైబ్రేషన్"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"రింగ్ వైబ్రేషన్"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"నోటిఫికేషన్ వైబ్రేషన్"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"టచ్ ఫీడ్‌బ్యాక్"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"ఆపివేయి"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"రద్దు చేయండి"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"\'<xliff:g id="SERVICE">%1$s</xliff:g>\'ను ఆపివేయాలా?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"\'<xliff:g id="STOP">%1$s</xliff:g>\'ను నొక్కడం ద్వారా, <xliff:g id="SERVICE">%2$s</xliff:g> నిలిపివేయబడుతుంది."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ఆఫ్ చేయండి"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"ఆన్‌లోనే"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g>‌ను ఆఫ్ చేయాలా?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"సేవలు ఇన్‌స్టాల్ చేయబడలేదు"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ఏ సేవను ఎంచుకోలేదు"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"వివరణ ఏదీ అందించబడలేదు."</string>
     <string name="settings_button" msgid="2195468788019730377">"సెట్టింగ్‌లు"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"లైట్ సెన్సిటివిటీ, ఫోటోఫోబియా, ముదురు రంగు రూపం, మైగ్రేన్, తలనొప్పి, రీడింగ్ మోడ్, నైట్ మోడ్, బ్రైట్‌నెస్‌ను తగ్గించండి, వైట్ పాయింట్"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"సులభమైన వాడకం, సులభంగా యాక్సెస్, సహాయం, సహాయకరం"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"విజన్, వినికిడి, అంధత్వం, చెవుడు, మోటార్, నేర్పరితనం, సహాయకరం, అసిస్టెన్స్, ఉపయోగించడం సులభం, యాక్సెస్ చేయడం సులభం, చేయి, సహాయం"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"విండో మాగ్నిఫైయర్, జూమ్, మ్యాగ్నిఫికేషన్, తక్కువ విజన్, పెద్దదిగా చేయి, పెద్దగా చేయి"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"క్యాప్షన్‌లు, సబ్‌టైటిల్స్, CC, Live Transcribe, వినడంలో సమస్య, వినికిడి ఎర్రర్, CART, స్పీచ్ టూ టెక్స్ట్, సబ్‌టైటిల్"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"రంగు కాంట్రాస్ట్"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"మోటార్, మౌస్"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"వినికిడి పరికారాలు, వినికిడి సమస్యలు, వినికిడి లోపం, కోక్లియర్ ఇంప్లాంట్‌లు, యాంప్లిఫికేషన్ పరికరాలు, సౌండ్ ప్రాసెసర్‌లు"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"మోటార్, మౌస్, ఎక్స్‌టర్నల్ మౌస్, హెడ్ మౌస్, అడాప్టివ్ మౌస్, చక్రాల కుర్చీ, జాయ్‌స్టిక్"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"వినికిడి పరికారాలు, వినికిడి సమస్యలు, వినికిడి లోపం, కోక్లియర్ ఇంప్లాంట్‌లు, యాంప్లిఫికేషన్ పరికరాలు, సౌండ్ ప్రాసెసర్‌లు, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"వినడంలో సమస్య, వినికిడి ఎర్రర్, క్యాప్షన్‌లు, టెలీటైప్, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"మూడు బటన్‌లు"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"నేర్పరితనం, మోటార్, సీనియర్, ఆర్థరైటిస్, rsi, స్ట్రోక్, వణుకు, మల్టిపుల్ స్క్లేరోసిస్, సెరిబ్రల్ పాల్సీ, వణుకు, రిపీటీటివ్ స్ట్రెయిన్ గాయం, చేయి"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ఆలస్యం, నేర్పరితనం, సీనియర్"</string>
     <string name="print_settings" msgid="8519810615863882491">"ప్రింటింగ్‌"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ఆఫ్"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 ప్రింట్ సర్వీస్ ఆన్‌లో ఉంది}other{# ప్రింట్ సర్వీస్‌లు ఆన్‌లో ఉన్నాయి}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> ఉంది"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>లోపు ఛార్జ్ చేయాలి"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"పరికర వినియోగ వ్యవధి"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"బ్యాక్‌గ్రౌండ్ సమయం"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"బ్యాటరీ తక్కువ ఉంది"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"బ్యాక్‌గ్రౌండ్‌లో అమలు కావడానికి యాప్‌ను అనుమతించండి"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"నేపథ్య యాక్టివిటీని పరిమితం చేయాలా?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"మీరు యాప్ నేపథ్య యాక్టివిటీని పరిమితం చేస్తే, అది సరిగ్గా పని చేయకపోవచ్చు."</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"ఈ యాప్ బ్యాటరీని ఆప్టిమైజ్ చేయికి సెట్ చేయబడలేదు కనుక, దీన్ని మీరు పరిమితం చేయలేరు.\n\nయాప్‌ను పరిమితం చేయడానికి, మొదట బ్యాటరీ ఆప్టిమైజేషన్‌ను ఆన్ చేయండి."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"బ్యాటరీ వినియోగాన్ని మేనేజ్ చేయండి"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"బ్యాక్‌గ్రౌండ్ వినియోగాన్ని అనుమతించండి"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"రియల్-టైమ్ అప్‌డేట్‌ల కోసం ఎనేబుల్ చేయండి, బ్యాటరీని సేవ్ చేయడానికి డిజేబుల్ చేయండి"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"అపరిమిత"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"ఆప్టిమైజ్ చేయబడినది"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"పరిమితం చేయబడిన సెట్టింగ్‌లు"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"చాలా ఎక్కువగా బ్యాటరీని వినియోగించే యాప్‌లను చూడండి"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"మీ బ్యాటరీని రక్షించడానికి ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"మీ బ్యాటరీ లైఫ్‌ను పొడిగించడంలో సహాయపడటానికి, ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"మీ బ్యాటరీని రక్షించడానికి ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"మీ బ్యాటరీ జీవితకాలాన్ని పొడిగించడంలో సహాయపడటానికి, డాక్ చేయబడినప్పుడు ఛార్జింగ్ ఆప్టిమైజ్ చేయబడుతుంది"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"మీ బ్యాటరీని రక్షించడానికి ఛార్జింగ్ ఆప్టిమైజ్ చేయబడింది"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"మీ బ్యాటరీ జీవితకాలాన్ని పొడిగించడంలో సహాయపడటానికి, డాక్ చేయబడినప్పుడు ఛార్జింగ్ ఆప్టిమైజ్ చేయబడుతుంది"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"పూర్తిగా ఛార్జింగ్ చేయండి"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"మీ బ్యాటరీని రక్షించడానికి, తదుపరిసారి మీ టాబ్లెట్ డాక్ చేయబడినప్పుడు ఛార్జింగ్ ఆప్టిమైజ్ చేయబడుతుంది"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"పాజ్ చేయబడిన ఛార్జింగ్ గురించి మరింత తెలుసుకోండి"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ఛార్జింగ్‌ను కొనసాగించండి"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"అధిక శక్తి వినియోగానికి సంబంధించిన నేపథ్య కార్యకలాపాం చేర్చబడుతుంది"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"ఈ యాప్ బ్యాక్‌గ్రౌండ్‌లో బ్యాటరీని ఉపయోగించగలదు. మీ బ్యాటరీ ఛార్జింగ్ త్వరగా ఖాళీ కావచ్చు."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"తీసివేయండి"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"రద్దు చేయండి"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"ఫుల్ కావడానికి ఛార్జ్ చేయండి"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ఛార్జింగ్ యాక్సెసరీతో సమస్య ఉంది"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ఛార్జింగ్ యాక్సెసరీని చెక్ చేయండి"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ఛార్జింగ్ అనుకూలంగా లేకపోవడం అనే దాని గురించి మరింత తెలుసుకోండి"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"బ్యాటరీ మేనేజర్"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"యాప్‌లను ఆటోమేటిక్‌గా నిర్వహించండి"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"చివరిసారి పూర్తిగా ఛార్జ్ చేసినప్పటి నుండి"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"సిస్టమ్ యాప్‌లు"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"అన్‌ఇన్‌స్టాల్ చేయబడిన యాప్‌లు"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"ఇతర ఆప్షన్‌లు"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"అంచనా వేసిన సమయం మిగిలి ఉంది"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"పూర్తిగా ఛార్జ్ కావడానికి పట్టే సమయం"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"మొత్తం సమయం: ఒక నిమిషం కన్నా తక్కువ"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"బ్యాక్‌గ్రౌండ్ సమయం: ఒక నిమిషం కన్నా తక్కువ"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"పరికర వినియోగ వ్యవధి: నిమిషం కంటే తక్కువ"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"నిమిషం కంటే తక్కువ"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"మొత్తం ఉపయోగం: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"బ్యాక్‌గ్రౌండ్ సమయం: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"పరికర వినియోగ వ్యవధి: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ప్రస్తుతం"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"బ్యాటరీ వినియోగం చార్ట్"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"రోజువారీ బ్యాటరీ వినియోగ చార్ట్"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"గంటలవారీ బ్యాటరీ వినియోగ చార్ట్"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> నుండి <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> వరకు బ్యాటరీ లెవెల్ శాతం"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"కిందటి సారి పూర్తిగా ఛార్జ్ చేసినప్పటి నుండి బ్యాటరీ వినియోగం"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"బ్యాటరీ వినియోగ వ్యవధి : <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"కిందటి సారి పూర్తిగా ఛార్జ్ చేసినప్పటి నుండి పరికర వినియోగ వ్యవధి"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"అత్యవసర డయలింగ్ సిగ్నల్"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"అత్యవసర కాల్ వచ్చినప్పుడు చేయాల్సిన విధిని సెట్ చేయండి"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"బ్యాకప్"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"ఆన్‌లో ఉంది"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ఆఫ్‌లో ఉంది"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"బ్యాకప్ &amp; పునరుద్ధరణ"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"వ్యక్తిగత డేటా"</string>
     <string name="backup_data_title" msgid="507663517227498525">"నా డేటాను బ్యాకప్ చేయి"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"మొబైల్ డేటా &amp; Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"వ్యక్తిగత డేటా ఆటో-సింక్"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"వర్క్ డేటాను ఆటో-సింక్ చేయండి"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ప్రైవేట్ డేటాను ఆటో-సింక్ చేయి"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"సైకిల్‌ను మార్చు…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"డేటా వినియోగ సైకిల్‌ను రీసెట్ చేయాల్సిన నెలలోని రోజు:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ఈ వ్యవధిలో డేటాను ఏ యాప్‌లు ఉపయోగించలేదు."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"పేరు"</string>
     <string name="vpn_type" msgid="5533202873260826663">"రకం"</string>
     <string name="vpn_server" msgid="2908816134941973935">"సర్వర్ అడ్రస్"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP ఎన్‌క్రిప్షన్ (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP రహస్యం"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec ఐడెంటిఫైయర్"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec ప్రీ-షేర్డ్ కీ"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec వినియోగదారు సర్టిఫికెట్"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA సర్టిఫికెట్"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec సర్వర్ సర్టిఫికెట్"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"అధునాతన ఆప్షన్‌లను చూపు"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS సెర్చ్ డొమైన్‌లు"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS సర్వర్‌లు (ఉదా. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"ఫార్వర్డింగ్ రూట్‌లు (ఉదా. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"యూజర్ పేరు"</string>
     <string name="vpn_password" msgid="1183746907642628127">"పాస్‌వర్డ్"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"ఖాతా సమాచారాన్ని సేవ్ చేయండి"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ఉపయోగించడం లేదు)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(సర్వర్‌ను ధృవీకరించదు)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(సర్వర్ నుండి స్వీకరించబడింది)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"ఈ రకమైన VPNని ఎల్లప్పుడూ కనెక్ట్ చేసి ఉంచడం సాధ్యం కాదు"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"ఎల్లప్పుడూ ఆన్‌లో ఉండే VPNలో కేవలం సంఖ్యాత్మక సర్వర్ అడ్రస్‌లకు మాత్రమే మద్దతు ఉంటుంది"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ఎల్లప్పుడూ ఆన్‌లో ఉండే VPN కోసం DNS సర్వర్‌ని తప్పనిసరిగా పేర్కొనాలి"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ఎల్లప్పుడూ ఆన్‌లో ఉండే VPN కోసం DNS సర్వర్ అడ్రస్‌లు తప్పనిసరిగా సంఖ్యలు అయి ఉండాలి"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ఎంటర్ చేసిన సమాచారానికి ఎల్లప్పుడూ ఆన్‌లో ఉండే VPN సపోర్ట్ చేయదు"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"రద్దు చేయండి"</string>
     <string name="vpn_done" msgid="5137858784289564985">"తీసివేయండి"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN లేని కనెక్షన్‌లను బ్లాక్ చేయండి"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN కనెక్షన్ అవసరమా?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"సురక్షితం కాదు. IKEv2 VPNకు అప్‌డేట్ చేయండి"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"సపోర్ట్ చేయని VPNను ప్రారంభించడంలో విఫలమయింది."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"ఎల్లప్పుడూ కనెక్ట్ చేయబడి ఉండటానికి VPN ప్రొఫైల్‌ను ఎంచుకోండి. ఈ VPNకి కనెక్ట్ అయి ఉన్నప్పుడు మాత్రమే నెట్‌వర్క్ ట్రాఫిక్ అనుమతించబడుతుంది."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ఏదీ వద్దు"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"ఎల్లప్పుడూ-ఆన్‌లో ఉండే VPNకి సర్వర్ మరియు DNS రెండింటి IP అడ్రస్‌ అవసరం."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"యాంబర్ అలర్ట్‌లు"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"పిల్లల అపహరణల గురించి వార్తలను స్వీకరించండి"</string>
     <string name="repeat_title" msgid="8676570486899483606">"రిపీట్‌ చేయండి"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"కాల్ నిర్వాహికిని ప్రారంభించండి"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"మీరు కాల్స్‌ను ఎలా చేయాలో మేనేజ్ చేయడానికి ఈ సేవను అనుమతించండి."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"కాల్ నిర్వాహికి"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"వైర్‌లెస్ ఎమర్జెన్సీ అలర్ట్‌లు"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"నెట్‌వర్క్ ఆపరేటర్‌లు"</string>
     <string name="access_point_names" msgid="5768430498022188057">"యాక్సెస్ పాయింట్ పేర్లు"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM స్టేటస్"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"సిమ్ స్టేటస్‌ (సిమ్ స్లాట్ %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIMలు మార్చబడ్డాయి."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"మీ SIMలు మార్చబడ్డాయి"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"సెటప్ చేయడానికి నొక్కండి"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ప్రతిసారి అడగాలి"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ఎంపిక అవసరం"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"ఇటీవలి యాప్‌లు, ఆటోమేటిక్ యాప్‌లు"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"కార్యాలయ ప్రొఫైల్‌లో ఉన్న యాప్‌లకు సంబంధించి నోటిఫికేషన్ యాక్సెస్ అందుబాటులో లేదు."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"పాస్‌వర్డ్‌లు, ఖాతాలు"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"సేవ్ చేయ‌బ‌డిన పాస్‌వ‌ర్డ్‌లు, ఆటోఫిల్, సింక్ చేసిన ఖాతాలు"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"సైన్ ఇన్, ఆటోఫిల్ సూచనలు"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ఆటోమేటిక్ యాప్‌లు"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"క్లోన్‌డ్ యాప్‌లు"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"యాప్ రెండవ ఉదాహరణ కాపీని క్రియేట్ చేయండి, తద్వారా మీరు ఒకేసారి రెండు ఖాతాలను ఉపయోగించవచ్చు."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"చెల్లించడం, నొక్కడం, పేమెంట్‌లు"</string>
     <string name="keywords_backup" msgid="707735920706667685">"బ్యాకప్, బ్యాకప్"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"సంజ్ఞ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ముఖం, అన్‌లాక్, ప్రామాణీకరణ, సైన్ ఇన్"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ఫేస్, అన్‌లాక్, ప్రామాణీకరణ, సైన్ ఇన్, వేలిముద్ర, బయోమెట్రిక్"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl వెర్షన్, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"టెక్స్ట్ సైజ్, పెద్ద ప్రింట్, పెద్ద ఫాంట్, పెద్ద టెక్స్ట్, తక్కువ విజన్, టెక్స్ట్‌ను పెద్దగా చేయి, ఫాంట్ పెద్దగా చేసేది, పెద్ద ఫాంట్"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ఎల్లప్పుడూ యాంబియెంట్ డిస్‌ప్లేలో, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, ట్యాగ్, రీడర్"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"కీబోర్డ్, స్పర్శ ప్రతిస్పందన టెక్నాలజీ, వైబ్రేట్,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"వాల్యూమ్, వైబ్రేషన్, అంతరాయం కలిగించవద్దు"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"మీడియా వాల్యూమ్"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ప్రసారం వాల్యూమ్"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"పవర్ ఆన్ చేసేటప్పుడు ధ్వనులు"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"లైవ్ క్యాప్షన్"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"మీడియాకు ఆటోమేటిక్ క్యాప్షన్‌లు"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ఫోన్ స్పీకర్‌లు"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"టాబ్లెట్ స్పీకర్‌లు"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"పరికర స్పీకర్‌లు"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"వైర్ ఉన్న హెడ్‌ఫోన్స్"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"అనుకూల మీడియా నుండి వచ్చే ఆడియో మరింతగా లీనమయ్యేలా చేస్తుంది"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ఆఫ్‌లో ఉంది"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"మొత్తం నోటిఫికేషన్ కంటెంట్‌ను చూపించండి"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"గోప్యమైన కంటెంట్‌ను అన్‌లాక్‌లో మాత్రమే చూపండి"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ఎలాంటి నోటిఫికేషన్‌లను చూపవద్దు"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"మీ లాక్ స్క్రీన్ ఎలా డిస్‌ప్లే కావాలనుకుంటున్నారు?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"మీ లాక్ స్క్రీన్ ఏమి చూపాలని మీరు కోరుకుంటున్నారు?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"లాక్ స్క్రీన్"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"మొత్తం వర్క్ నోటిఫికేషన్ కంటెంట్‌ను చూపు"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"గోప్యమైన వర్క్ ప్లేస్ కంటెంట్‌ను దాచండి"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"ఇటీవలి సంభాషణలు తీసివేయబడ్డాయి"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"సంభాషణ తీసివేయబడింది"</string>
     <string name="clear" msgid="5092178335409471100">"క్లియర్ చేయండి"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>ను తీసివేయండి"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ప్రాధాన్యతగల, అలాగే మార్పులు చేసిన సంభాషణలు ఇక్కడ కనిపిస్తాయి"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"మీరు ఒక సంభాషణను ఒకసారి ప్రాధాన్యతగలదిగా మార్క్ చేసినా, లేదా సంభాషణలకు ఇతర మార్పులు ఏవైనా చేసినా, అవి ఇక్కడ కనిపిస్తాయి. \n\nసంభాషణ సెట్టింగ్‌లను ఇలా మార్చండి: \nకిందకు-లాగే షేడ్‌ను తెరవడానికి స్క్రీన్‌పై నుండి కిందకి స్వైప్ చేయండి, ఆపై ఒక సంభాషణను తాకి, అలాగే పట్టుకుని ఉండండి."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"తక్కువ స్థాయికి తగ్గించండి"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"నోటిఫికేషన్ కూల్‌డౌన్"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"అన్ని నోటిఫికేషన్‌లకు కూల్‌డౌన్‌ను వర్తింపజేయండి"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"మీరు ఒకే యాప్ నుండి అనేక వరుస నోటిఫికేషన్‌లను పొందినప్పుడు నోటిఫికేషన్ పొందే సంఖ్యను క్రమంగా తగ్గించండి"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"సంభాషణలకు కూల్‌డౌన్‌ను వర్తింపజేయండి"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"తక్కువ సమయవ్యవధిలో మీరు ఒకే చాట్ నుండి అనేక వరుస నోటిఫికేషన్‌లను పొందినప్పుడు నోటిఫికేషన్ పొందే సంఖ్యను క్రమంగా తగ్గించండి"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"నోటిఫికేషన్ కూల్‌డౌన్‌ను ఉపయోగించవద్దు"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ఒకే యాప్ నుండి ఎన్ని వరుస నోటిఫికేషన్‌లు వచ్చినా, నోటిఫికేషన్ పొందే సంఖ్యను ఎప్పుడూ తగ్గించవద్దు"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"అన్‌లాక్ చేసినప్పుడు వైబ్రేట్ చేయండి"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"స్క్రీన్ అన్‌లాక్ అయినప్పుడు మాత్రమే వైబ్రేట్ అవుతుంది"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"వర్క్ ప్రొఫైల్‌లకు వర్తింపజేయండి"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"మీ వ్యక్తిగత ప్రొఫైల్ నుండి మీ వర్క్ ప్రొఫైల్‌కు నోటిఫికేషన్ కూల్‌డౌన్ సెట్టింగ్‌లను వర్తింపజేయండి"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR సహాయక సర్వీసులు"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"ఇన్‌స్టాల్ చేసిన యాప్‌లేవీ వాటిని VR సహాయక సేవలుగా రన్ చేయాల్సిందిగా రిక్వెస్ట్ చేయలేదు."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> కోసం VR సేవ యాక్సెస్‌ను అనుమతించాలా?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ఆఫ్‌లో ఉంది"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"యాప్‌ను పిన్ చేయడం"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"యాప్‌ను పిన్ చేయడం వలన, ప్రస్తుతం ఉన్న యాప్‌ను మీరు మళ్లీ అన్‌పిన్ చేసేంత వరకూ అది వీక్షణలోనే ఉంటుంది. ఒక నిర్దిష్ట గేమ్‌ను ఆడటానికి నమ్మకమైన ఫ్రెండ్‌ను అనుమతించడం అనేది ఈ ఫీచర్ వినియోగానికి ఒక ఉదాహరణ."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"ఒక యాప్‌ను పిన్ చేసినప్పుడు, పిన్ చేసిన యాప్ వేరే యాప్‌లను తెరవవచ్చు, అలాగే వ్యక్తిగత డేటా‌ను యాక్సెస్ చేయవచ్చు. \n\n\'యాప్‌ను పిన్ చేయడం\'ను ఉపయోగించడానికి: 	\n1. \'యాప్‌ను పిన్ చేయడం\'ను ఆన్ చేయండి 	\n2. ఓవర్‌వ్యూను తెరవండి 	\n3. స్క్రీన్ ఎగువున యాప్ చిహ్నాన్ని ట్యాప్ చేసి, ఆపై పిన్‌ను ట్యాప్ చేయండి"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"ఒక యాప్‌ను పిన్ చేసినప్పుడు, పిన్ చేసిన యాప్ వేరే యాప్‌లను తెరవవచ్చు, అలాగే వ్యక్తిగత డేటా‌ను యాక్సెస్ చేయవచ్చు. \n\nమీ పరికరాన్ని మీరు మరొకరితో సురక్షితంగా షేర్ చేసుకోవాలంటే, బదులుగా గెస్ట్ యూజర్‌ను ఉపయోగించి చూడండి. \n\n\'యాప్‌ను పిన్ చేయడం\'ను ఉపయోగించడానికి: 	\n1. \'యాప్‌ను పిన్ చేయడం\'ను ఆన్ చేయండి 	\n2. ఓవర్‌వ్యూను తెరవండి 	\n3. స్క్రీన్ ఎగువున యాప్ చిహ్నాన్ని ట్యాప్ చేసి, ఆపై పిన్‌ను ట్యాప్ చేయండి"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"ఒక యాప్‌ను పిన్ చేసినప్పుడు, పిన్ చేసిన యాప్ వేరే యాప్‌లను తెరవవచ్చు, అలాగే వ్యక్తిగత డేటా‌ను యాక్సెస్ చేయవచ్చు. \n\nయాప్ పిన్నింగ్ ఫీచర్‌ను ఉపయోగించడానికి: 	\n{0,number,integer}. యాప్ పిన్నింగ్ ఫీచర్‌ను ఆన్ చేయండి	\n{1,number,integer}. ఓవర్‌వ్యూను తెరవండి 	\n{2,number,integer}. స్క్రీన్ ఎగువున యాప్ చిహ్నాన్ని ట్యాప్ చేసి, ఆపై పిన్‌ను ట్యాప్ చేయండి"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"ఒక యాప్‌ను పిన్ చేసినప్పుడు, పిన్ చేసిన యాప్ వేరే యాప్‌లను తెరవవచ్చు, అలాగే వ్యక్తిగత డేటా‌ను యాక్సెస్ చేయవచ్చు. \n\nమీ పరికరాన్ని మీరు మరొకరితో సురక్షితంగా షేర్ చేసుకోవాలనుకుంటే, బదులుగా గెస్ట్ యూజర్‌ను ఉపయోగించి చూడండి. \n\nయాప్ పిన్నింగ్ ఫీచర్‌ను ఉపయోగించడానికి: 	\n{0,number,integer}. యాప్ పిన్నింగ్ ఫీచర్‌ను ఆన్ చేయండి 	\n{1,number,integer}. ఓవర్‌వ్యూను తెరవండి 	\n{2,number,integer}. స్క్రీన్ ఎగువున యాప్ చిహ్నాన్ని ట్యాప్ చేసి, ఆపై పిన్‌ను ట్యాప్ చేయండి"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"యాప్‌ను పిన్ చేసినప్పుడు: \n\n•		వ్యక్తిగత డేటాను యాక్సెస్ చేయడం వీలు కావచ్చు \n		(కాంటాక్ట్‌లు ఇంకా ఈమెయిల్‌ కంటెంట్ లాంటివి) \n•	  పిన్ చేయబడిన యాప్ ఇతర యాప్‌లను తెరవవచ్చు \n\nయాప్‌ను పిన్ చేయడాన్ని విశ్వసనీయ వ్యక్తులతోనే ఉపయోగించండి."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"అన్‌పిన్ చేయడానికి ముందు అన్‌లాక్ ఆకృతి కోసం అడుగు"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"అన్‌పిన్ చేయడానికి ముందు పిన్‌ను అడుగు"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"అన్‌పిన్ చేయడానికి ముందు పాస్‌వర్డ్ కోసం అడుగు"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"అన్‌పిన్ చేస్తున్నప్పుడు పరికరాన్ని లాక్ చేయి"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM తొలగింపును నిర్ధారించండి"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"మీరు మీ eSIMను తొలగించాలనుకుంటున్నారని నిర్ధారించండి"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIMను ఫ్యాక్టరీ రీసెట్ చేసే ముందు ఇది మీరేనని వెరిఫై చేయండి"</string>
     <string name="memtag_title" msgid="5096176296797727201">"అధునాతన మెమరీ రక్షణ బీటా"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"అధునాతన మెమరీ రక్షణ"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"ఉపయోగించని యాప్ సెట్టింగ్‌లు"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"యాప్‌ను ఉపయోగించకపోతే దాని యాక్టివిటీని పాజ్ చేయండి"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"అనుమతులను తీసివేయండి, తాత్కాలిక ఫైళ్లను తొలగించండి, అలాగే నోటిఫికేషన్‌లను ఆపివేయండి"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"యాప్‌ను ఉపయోగించకపోతే, మేనేజ్ చేయండి"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"అనుమతులను తీసివేయండి, తాత్కాలిక ఫైల్స్‌ను తొలగించండి, నోటిఫికేషన్‌లను ఆపివేయండి, యాప్‌ను ఆర్కైవ్ చేయండి"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"అన్ని యాప్‌లు"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"ఇన్‌స్టాల్ చేసిన యాప్‌లు"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"ఇన్‌స్టంట్ యాప్‌లు"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"ఖాళీ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"యాప్‌ల ద్వారా ఉపయోగించబడిన మెమరీ"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{{time} కిత్రం 1 యాప్ మెమరీని ఉపయోగించింది}other{{time} క్రితం # యాప్‌లు మెమరీని ఉపయోగించాయి}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"మెమరీ వినియోగ ప్రొఫైలింగ్‌ను ఆన్ చేయండి"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"మెమరీ వినియోగ ప్రొఫైలింగ్‌కు అదనపు సిస్టమ్ సోర్స్‌లు అవసరం."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"మెమరీ ప్రొఫైలింగ్ డిజేబుల్ చేయబడింది"</string>
     <string name="running_frequency" msgid="7260225121706316639">"తరచుదనం"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"గరిష్ట వినియోగం"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"డేటాను వినియోగించలేదు"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"ఇతర యాప్‌ల ఎగువున ప్రదర్శించండి"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"ఇతర యాప్‌ల ఎగువున కనిపించడానికి అనుమతించండి"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"ఈ యాప్‌ని మీరు ఉపయోగించే ఇతర యాప్‌ల ఎగువున ప్రదర్శించడానికి అనుమతించండి. ఈ యాప్ మీరు స్క్రీన్‌పై ఎక్కడ ట్యాప్ చేస్తున్నారు, ఏది మారుస్తున్నారు అనేది చూడగలుగుతుంది."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"మీడియా అవుట్‌పుట్‌ను మార్చండి"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"యాప్‌నకు మీడియా అవుట్‌పుట్ మార్చే అనుమతివ్వు"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"కనెక్ట్ అయిన పరికరాలలో ఏవి ఇతర యాప్‌లలోని ఆడియో లేదా వీడియోను ప్లే చేయాలో ఎంచుకునే వీలును ఈ యాప్‌నకు కల్పించండి. అనుమతిస్తే, హెడ్‌ఫోన్స్, స్పీకర్‌ల వంటి అందుబాటులో ఉన్న పరికరాల లిస్ట్‌ను ఈ యాప్ యాక్సెస్ చేయగలదు, అలాగే ఆడియో లేదా వీడియోను స్ట్రీమ్ చేయడానికి లేదా ప్రసారం చేయడానికి ఏ అవుట్‌పుట్ పరికరాన్ని ఉపయోగించాలో ఇదే ఎంచుకుంటుంది."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"అన్ని ఫైళ్లకు యాక్సెస్"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"అన్ని ఫైళ్లను మేనేజ్‌ చేయడానికి అనుమతించండి"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"ఈ పరికరంలో, లేదా కనెక్ట్ చేయబడిన ఏవైనా స్టోరేజ్ వాల్యూమ్‌లలో, అన్ని ఫైళ్లను చదవడానికి, మార్చడానికి, తొలగించడానికి ఈ యాప్‌నకు అనుమతిని ఇవ్వండి. అటువంటి అనుమతిని మీరు మంజూరు చేస్తే, మీకు ప్రత్యేకంగా తెలియపరచకుండానే మీ ఫైళ్లను యాప్, యాక్సెస్ చేయవచ్చు."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"అన్ని ఫైళ్లను యాక్సెస్ చేయగలవు"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"వాయిస్ యాక్టివేషన్ యాప్‌లు"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"వాయిస్ యాక్టివేషన్‌ను అనుమతించండి"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"వాయిస్ యాక్టివేషన్, వాయిస్ కమాండ్‌ను ఉపయోగించి ఆమోదించబడిన యాప్‌లను హ్యాండ్స్-ఫ్రీగా ఆన్ చేస్తుంది. బిల్ట్-ఇన్ అడాప్టివ్ సెన్సింగ్, డేటా మీకు మాత్రమే ప్రైవేట్‌గా ఉండేలా చేస్తుంది.\n\n"<a href="">"సురక్షిత అడాప్టివ్ సెన్సింగ్ గురించి మరింత సమాచారం"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"ఫుల్ స్క్రీన్ నోటిఫికేషన్‌లు"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"ఈ యాప్ నుండి ఫుల్ స్క్రీన్ నోటిఫికేషన్‌లను అనుమతించండి"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"పరికరం లాక్‌లో ఉన్నప్పుడు నోటిఫికేషన్లను చూపడానికి ఈ యాప్‌ను అనుమతించండి. ఈ నోటిఫికేషన్లు ఫుల్ స్క్రీన్‌లో కనిపిస్తాయి. అలారాలు, ఇన్‌కమింగ్ కాల్స్ లేదా ఇతర అత్యవసర నోటిఫికేషన్‌లను హైలైట్ చేయడానికి యాప్‌లు వీటిని ఉపయోగించవచ్చు."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> డేటా హెచ్చరిక"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> డేటా పరిమితి"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> డేటా హెచ్చరిక / <xliff:g id="ID_2">^2</xliff:g> డేటా పరిమితి"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"క్యారియర్ డేటా అకౌంటింగ్, పరికర డేటా అకౌంటింగ్ మధ్య తేడా ఉండవచ్చు"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"క్యారియర్ నెట్‌వర్క్‌లు వినియోగించిన డేటా మినహాయించబడుతుంది"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> వినియోగించబడింది"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"డేటా హెచ్చరికను సెట్ చేయండి"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> క్రితం అప్‌డేట్ చేయబడింది"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"ఇప్పుడే <xliff:g id="ID_1">^1</xliff:g> అప్‌డేట్ చేసింది"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ఇప్పుడే అప్‌డేట్ చేయబడింది"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ప్లాన్‌ని చూడండి"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"వివరాలను చూడండి"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"డేటా సేవర్"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"అపరిమిత డేటా"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> బ్యాక్‌గ్రౌండ్‌లో సాధారణం కంటే ఎక్కువ బ్యాటరీని ఉపయోగించింది"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ఫోర్‌గ్రౌండ్‌లో ఎక్కువ బ్యాటరీని ఉపయోగించింది"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ఫోర్‌గ్రౌండ్‌లో సాధారణం కంటే ఎక్కువ బ్యాటరీని ఉపయోగించింది"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"బ్యాటరీ వినియోగ అసాధారణత"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"అధిక బ్యాటరీ వినియోగం"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"బ్యాక్‌గ్రౌండ్‌లో అధిక బ్యాటరీ వినియోగం"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ఫోర్‌గ్రౌండ్‌లో అధిక బ్యాటరీ వినియోగం"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"క్విక్ సెట్టింగ్‌ల డెవలపర్ టైల్స్"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb ప్రామాణీకరణ గడువు ముగింపును డిజేబుల్ చేయండి"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ఆటోమేటిక్ (7 రోజులు) లేదా యూజర్-కాన్ఫిగర్ చేసిన (కనీసం 1 రోజు) సమయం లోపల తిరిగి కనెక్ట్ చేయని వ్యవస్థల కోసం adb అధికారాల ఆటోమేటిక్ ఉపసంహరణను డిజేబుల్ చేయండి."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"విన్‌స్కోప్ ట్రేస్"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"సెన్సార్‌లు ఆపివేయబడ్డాయి"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"వర్క్ ప్రొఫైల్ సెట్టింగ్‌లు"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"వ్యక్తిగత యాప్‌లలో వర్క్ డైరెక్టరీ కాంటాక్ట్‌ల కోసం సెర్చ్ చేయండి"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"సిస్టమ్ నావిగేషన్‌, 2 బటన్ నావిగేషన్‌, 3 బటన్ నావిగేషన్‌, సంజ్ఞ నావిగేషన్, స్వైప్"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"డిజిటల్ అసిస్టెంట్"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"అసిస్టెంట్‌ను అమలు చేయడానికి స్వైప్ చేయండి"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"డిజిటల్ అసిస్టెంట్ యాప్‌ను అమలు చేయడానికి దిగువున మూల నుండి పైకి స్వైప్ చేయండి."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"డిజిటల్ అసిస్టెంట్ యాప్‌ను అమలు చేయడానికి దిగువున మూల నుండి పైకి స్వైప్ చేయండి"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistantను ప్రారంభించడం కోసం మొదటి ట్యాబ్‌ను నొక్కి పట్టుకోండి"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"డిజిటల్ అసిస్టెంట్ యాప్‌ను ప్రారంభించడానికి హోమ్ బటన్‌ను నొక్కి, పట్టుకోండి."</string>
     <string name="low_label" msgid="6525629096999711220">"తక్కువ"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"ఆటోఫిల్‌ సర్వీస్"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ఆటోమేటిక్ ఆటోఫిల్ సర్వీస్ సెట్టింగ్"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"పాస్‌వర్డ్‌లు"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"పాస్‌వర్డ్‌లు, పాస్-కీలు, డేటా సర్వీస్‌లు"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"అదనపు ప్రొవైడర్‌లు"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ప్రాధాన్య సర్వీస్"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"అదనపు సర్వీస్‌లు"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# పాస్‌వర్డ్}other{# పాస్‌వర్డ్‌లు}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"ఆటో, పూరించు, ఆటోఫిల్, పాస్‌వర్డ్"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"డేటా, పాస్-కీ, పాస్‌వర్డ్"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"ఆటోమేటిక్, ఫిల్, ఆటోఫిల్, డేటా, పాస్-కీ, పాస్‌వర్డ్"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"మార్చండి"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"తెరవండి"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ఏదీ ఎంచుకోలేదు"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ఈ యాప్‌ను మీరు విశ్వసిస్తున్నట్లు నిర్ధారించండి&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; మీ స్క్రీన్‌పై ఉన్న వాటిని పరిగణనలోకి తీసుకుని వేటిని ఆటోఫిల్ చేయాలో నిర్ణయిస్తుంది."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;ను ఉపయోగించాలా?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;‌ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; మీ స్క్రీన్‌పై ఉన్న వాటిని ఉపయోగించి, వేటిని ఆటోఫిల్ చేయాలో నిర్ణయిస్తుంది. కొత్త పాస్‌వర్డ్‌లు, పాస్-కీలతో పాటు ఇతర సమాచారం కూడా ఇప్పటి నుండి ఇక్కడ సేవ్ చేయబడుతుంది."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"పాస్‌వర్డ్‌లు, పాస్-కీలు, డేటా సర్వీస్‌లు"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;ను ఉపయోగించాలా?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; కొత్త పాస్‌వర్డ్‌లు, పాస్-కీలు, ఇంకా ఇతర సమాచారం ఇక నుండి ఇక్కడ సేవ్ చేయబడుతుంది. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; వేటిని ఆటోఫిల్ చేయాలో నిర్ణయించడానికి మీ స్క్రీన్‌పై ఉన్న వాటిని ఉపయోగించవచ్చు."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"పాస్‌వర్డ్‌లు, పాస్-కీలు, ఆటోఫిల్ కోసం ప్రాధాన్య సర్వీస్"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$sను ఆఫ్ చేయాలా?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ఈ సర్వీస్‌ను ఆఫ్ చేయాలా?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; మీరు సైన్ ఇన్ చేసినప్పుడు, పాస్‌వర్డ్‌లు, పాస్-కీలు, పేమెంట్ ఆప్షన్‌లు, ఇంకా ఇతర సమాచారం వంటి సేవ్ చేసిన సమాచారం పూరించడం జరగదు. మీరు సేవ్ చేసిన సమాచారాన్ని ఉపయోగించడానికి, పాస్‌వర్డ్‌ను, పాస్-కీని, లేదా డేటా సర్వీస్‌ను ఎంచుకోండి."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"పాస్‌వర్డ్‌లు, పాస్-కీలు, ఆటోఫిల్"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;అన్ని సర్వీస్‌లను ఆఫ్ చేయాలా?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; మీరు సైన్ ఇన్ చేసినప్పుడు ఆటోఫిల్ చేయడానికి పాస్‌వర్డ్‌లు, పాస్-కీలు, అలాగే ఇతర సేవ్ చేసిన సమాచారం అందుబాటులో ఉండదు"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;మీ ప్రాధాన్య సర్వీస్‌ను &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;కి మార్చాలా?&lt;/b&gt;&lt;br/&gt; &lt;br/&gt; కొత్త పాస్‌వర్డ్‌లు, పాస్-కీలు, ఇంకా ఇతర సమాచారం ఇప్పటినుండి ఇక్కడ సేవ్ చేయబడుతుంది. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; వేటిని ఆటోఫిల్ చేయాలో నిర్ణయించడానికి మీ స్క్రీన్‌పై ఉన్న వాటిని ఉపయోగించవచ్చు"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$sని ఉపయోగించాలా?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ఆఫ్ చేయండి"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"మార్చండి"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"మీరు కేవలం 5 సర్వీస్‌ను మాత్రమే కలిగి ఉండవచ్చు"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"మరొక సర్వీస్‌ను జోడించడానికి కనీసం 1 సర్వీస్‌ను ఆఫ్ చేయండి"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"ఏది ఆటోఫిల్ చేయవచ్చో గుర్తించడానికి %1$s మీ స్క్రీన్‌పై ఉన్న వాటిని ఉపయోగిస్తుంది."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"పాస్‌వర్డ్‌లు, పాస్-కీలు అలాగే డేటా సర్వీస్‌ల పరిమితి"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"మీరు ఒకే సమయంలో గరిష్ఠంగా 5 పాస్‌వర్డ్‌లు, పాస్-కీలు అలాగే డేటా సర్వీస్‌లను యాక్టివ్‌గా కలిగి ఉండవచ్చు. మరిన్నింటిని జోడించడం కోసం ఇప్పటికే ఉన్న ఒక సర్వీస్‌ను ఆఫ్ చేయండి."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"పాస్‌వర్డ్‌లు, పాస్-కీలు, అలాగే డేటా సర్వీస్‌ల పరిమితి"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"మీరు ఒకే సమయంలో గరిష్ఠంగా 5 పాస్‌వర్డ్‌లు, పాస్-కీలు, అలాగే డేటా సర్వీస్‌లను యాక్టివ్‌గా జోడించవచ్చు. మరిన్నింటిని జోడించడం కోసం ఇప్పటికే ఉన్న ఒక సర్వీస్‌ను ఆఫ్ చేయండి."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ఆఫ్ చేయండి"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ఆటోఫిల్"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"లాగింగ్ స్థాయి"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"డీబగ్ చేయగల యాప్‌లకు మాత్రమే యాప్ అనుకూలత మార్పులు సవరించబడతాయి. డీబగ్ చేయగల యాప్‌ను ఇన్‌స్టాల్ చేసి మళ్లీ ట్రై చేయండి."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"మరో సెట్టింగ్‌పై ఆధారపడి ఉంటుంది"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"ఖాతా"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ఖాతాలు"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"పరికరం పేరు"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ప్రాథమిక సమాచారం"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"చట్ట సంబంధితం &amp; నియంత్రణ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC ట్యాగ్‌ను స్కాన్ చేసినప్పుడు ప్రారంభమవ్వడానికి ఈ యాప్‌ను అనుమతించండి.\nఈ అనుమతి ఆన్‌లో ఉన్నట్లయితే, ట్యాగ్ గుర్తించబడినప్పుడల్లా ఒక ఆప్షన్‌గా ఉపయోగించేందుకు ఈ యాప్ అందుబాటులో ఉంటుంది."</string>
     <string name="media_output_title" msgid="8283629315159510680">"మీడియాను ప్లే చేయండి"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"ఇందులో <xliff:g id="LABEL">%s</xliff:g>ను ప్లే చేయండి"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"ఆడియో ప్లే అవుతుంది"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"ఈ పరికరం"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"కాల్స్‌ల సమయంలో అందుబాటులో ఉండదు"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"కాల్ తీసుకోండి"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"మ్యూట్ చేసినవి"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"ఎనేబుల్ చేయడానికి, మొదట \"పవర్ బటన్‌ను నొక్కి &amp; పట్టుకోండి\" తర్వాత పవర్ మెనూకు మార్చండి."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"నెట్‌వర్క్ వివరాలు"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"మీ పరికరంలోని పేరు మీ ఫోన్‌లోని యాప్‌లకు కనిపిస్తుంది. మీరు బ్లూటూత్ పరికరాలకు కనెక్ట్ చేసినప్పుడు, Wi-Fi నెట్‌వర్క్‌కు కనెక్ట్ చేసినప్పుడు లేదా Wi-Fi హాట్‌స్పాట్‌ను సెటప్ చేసినప్పుడు ఇతర వ్యక్తులకు కూడా ఇది కనిపించవచ్చు."</string>
     <string name="devices_title" msgid="649715719278562515">"పరికరాలు"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"నెట్‌వర్క్‌ను ఎంచుకోండి"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"డిస్‌కనెక్ట్ అయ్యింది"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"పేరు"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"రంగు (అనుకూల యాప్‌లు ఉపయోగిస్తాయి)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"సేవ్ చేయండి"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIMను ఉపయోగించండి"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ఈ SIMను ఉపయోగించండి"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ఆఫ్"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ఈ SIMను డిజేబుల్ చేయడానికి, SIM కార్డ్‌ను తీసివేయండి"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g>ను యాక్టివేట్ చేయడానికి నొక్కండి"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIMను తొలగించండి"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"ఈ SIMను ఆఫ్ చేయడానికి, SIM కార్డ్‌ను తీసివేయండి"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"మీ <xliff:g id="CARRIER">%1$s</xliff:g> SIMను యాక్టివేట్ చేయడానికి ట్యాప్ చేయండి"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIMను ఫ్యాక్టరీ రీసెట్ చేయండి"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ప్రాధాన్యత గల నెట్‌వర్క్ రకం"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"నెట్‌వర్క్ ఆపరేటింగ్ మోడ్‌ను మార్చండి"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ప్రాధాన్యత గల నెట్‌వర్క్ రకం"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"ధరల కోసం మీ నెట్‌వర్క్ ప్రదాతను అడగండి."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"యాప్ డేటా వినియోగం"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"చెల్లని నెట్‌వర్క్ మోడ్<xliff:g id="NETWORKMODEID">%1$d</xliff:g>. విస్మరించు."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"శాటిలైట్ మెసేజింగ్"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"శాటిలైట్ ద్వారా టెక్స్ట్ మెసేజ్‌లను పంపండి, స్వీకరించండి. మీ ఖాతాతో చేర్చబడింది."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"శాటిలైట్ ద్వారా టెక్స్ట్ మెసేజ్‌లను పంపండి, స్వీకరించండి. మీ ఖాతాతో చేర్చబడలేదు."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"శాటిలైట్ మెసేజింగ్"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"శాటిలైట్ మెసేజింగ్ గురించిన సమాచారం"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"మీరు అర్హత కలిగిన <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ఖాతాలో భాగంగా శాటిలైట్ ద్వారా టెక్స్ట్ మెసేజ్‌లను పంపవచ్చు, స్వీకరించవచ్చు"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"మీ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ప్లాన్"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"మీ ఖాతాతో శాటిలైట్ మెసేజింగ్ చేర్చబడింది"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"మీ ఖాతాతో శాటిలైట్ మెసేజింగ్ చేర్చబడలేదు"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"శాటిలైట్ మెసేజింగ్‌ను జోడించండి"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"ఇది ఎలా పని చేస్తుంది"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"మీ మొబైల్‌లో నెట్‌వర్క్ లేనప్పుడు"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"మీ ఫోన్ శాటిలైట్‌కు ఆటోమేటిక్‌గా కనెక్ట్ అవుతుంది. ఉత్తమ కనెక్షన్ కోసం, దయచేసి ఆకాశం స్పష్టంగా కనిపించే ప్రాంతంలో ఉంచండి."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"మీ ఫోన్ శాటిలైట్‌కు కనెక్ట్ అయిన తర్వాత"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"మీరు ఎమర్జెన్సీ సర్వీసులతో సహా ఎవరికైనా టెక్స్ట్ మెసేజ్ పంపవచ్చు. అందుబాటులో ఉన్నప్పుడు మీ ఫోన్ మొబైల్ నెట్‌వర్క్‌కు మళ్లీ కనెక్ట్ అవుతుంది."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"శాటిలైట్ మెసేజింగ్ కోసం ఎక్కువ సమయం పట్టవచ్చు, ఇది కొన్ని ప్రాంతాలలో మాత్రమే అందుబాటులో ఉంటుంది, వాతావరణం, నిర్దిష్ట నిర్మాణాలు మీ శాటిలైట్ కనెక్షన్‌ను ప్రభావితం చేయవచ్చు. శాటిలైట్ ద్వారా కాల్ చేయడం అందుబాటులో లేదు.\n\nమీ ఖాతాలోని మార్పులు సెట్టింగ్‌లలో కనిపించడానికి కొంత సమయం పట్టవచ్చు. వివరాల కోసం <xliff:g id="CARRIER_NAME">%1$s</xliff:g>‌ను సంప్రదించండి."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"శాటిలైట్ మెసేజింగ్ గురించి మరింత సమాచారం"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"యాక్సెస్ పాయింట్ పేర్లు"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g>కి కనెక్ట్ చేసినప్పుడు అందుబాటులో ఉండదు"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>కు మారాలా?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"సిమ్ కార్డ్‌ను ఉపయోగించడానికి స్విచ్‌ అవ్వాలని అనుకుంటున్నారా?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ను ఉపయోగించాలా?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ఒకసారి ఒక SIM మాత్రమే యాక్టివ్‌గా ఉంటుంది.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>కు స్విచ్ అవ్వడం వలన మీ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ఒకే సమయంలో 1 eSIM మాత్రమే యాక్టివ్‌గా ఉంచవచ్చు.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>కి స్విచ్ అవడం వలన మీ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ఒకసారి ఒక SIM మాత్రమే యాక్టివ్‌గా ఉంటుంది.\n\nస్విచ్ అవ్వడం వలన మీ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"ఒకేసారి 1 SIM మాత్రమే ఆన్‌లో ఉంచవచ్చు.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>కి స్విచ్ అవ్వడం వలన మీ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"ఒకే సమయంలో 1 eSIM మాత్రమే ఆన్‌లో ఉంచవచ్చు.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>కి స్విచ్ అవడం వలన మీ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"ఒకే సమయంలో 1 eSIM మాత్రమే ఆన్‌లో ఉంచవచ్చు.\n\nస్విచ్ అవ్వడం వలన మీ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"మీరు ఒకేసారి 2 SIMలను ఉపయోగించవచ్చు. <xliff:g id="CARRIER_NAME">%1$s</xliff:g>ను ఉపయోగించడానికి, మరొక SIMను ఆఫ్ చేయండి."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>కు మారండి"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ను ఆఫ్ చేయండి"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIMను ఆఫ్ చేయడం వలన మీ సర్వీస్ రద్దు చేయబడదు"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"నెట్‌వర్క్‌కు కనెక్ట్ చేస్తోంది…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"కాల్స్, మెసేజ్‌ల కోసం <xliff:g id="CARRIER_NAME">%1$s</xliff:g>కి మారుతోంది…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"క్యారియర్‌ను స్విచ్ చేయడం సాధ్యం కాదు"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ఎర్రర్ కారణంగా క్యారియర్‌ను స్విచ్ చేయడం సాధ్యం కాదు."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM యాక్టివేట్ చేయబడుతోంది…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> యూజర్‌కు స్విచ్ అవుతోంది…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIMలను స్విచ్ చేయడం సాధ్యపడదు"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"ఏదో పొరపాటు జరిగింది. SIMలను స్విచ్ చేయడం సాధ్యపడదు."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ను ఆఫ్ చేయాలా?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"సిమ్‌ను ఆఫ్ చేయాలా?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIMను ఆఫ్ చేస్తోంది<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"క్యారియర్‌ను డిజేబుల్ చేయడం సాధ్యం కాదు"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"ఏదో తప్పు జరిగింది, మీ క్యారియర్‌ను డిజేబుల్ చేయడం సాధ్యం కాలేదు."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIMను ఆఫ్ చేయడం సాధ్యపడదు"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"ఏదో పొరపాటు జరిగింది, మీ SIM ఆఫ్ చేయడం సాధ్యపడలేదు."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 SIMలు ఉపయోగిస్తారా?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"ఈ పరికరంలో ఒకే సమయంలో 2 SIMలు యాక్టివ్‌గా ఉండే సౌకర్యం ఉంది. ఒక సమయంలో ఒక్క SIMనే ఉపయోగించాలనుకుంటే, \"వద్దు, ధన్యవాదాలు\"ను ట్యాప్ చేయండి."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"పరికరాన్ని రీస్టార్ట్ చేయాలా?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"వద్దు, ధన్యవాదాలు"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"రద్దు చేయండి"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"స్విచ్ చేయి"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ఆఫ్ చేయండి"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIMను యాక్టివేట్ చేయడం సాధ్యం కాదు"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIMను తిరిగి ఆన్ చేయడానికి ట్రై చేయండి. సమస్య ఇంకా కొనసాగితే, మీ పరికరాన్ని రీస్టార్ట్ చేయండి."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"మీ SIMను సెటప్ చేయండి"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ఈ పరికరంలో పలు SIMలను ఉపయోగించడానికి మీ మొబైల్ నెట్‌వర్క్ ప్రాధాన్యతలను సెట్ చేయండి"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"మీ SIMలను లేబుల్ చేయండి"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"కాల్స్ చేస్తున్నప్పుడు, టెక్స్ట్‌లను పంపేటప్పుడు, డేటాను ఉపయోగిస్తున్నప్పుడు, సెట్టింగ్‌లలో మీరు ఈ లేబుళ్లను చూస్తారు"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM లేబుల్"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"లేబుల్"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"ఏ SIMలను ఉపయోగించాలో ఎంచుకోండి"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"మీరు ఒకేసారి 2 SIMలను ఉపయోగించవచ్చు"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"మీ ప్రధాన SIMలను సెట్ చేయండి"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"కాల్స్, టెక్స్ట్‌లు, డేటా కోసం ఆటోమేటిక్‌గా ఏ SIMలను ఉపయోగించాలో ఎంచుకోండి"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"మీ ప్రధాన SIMలు"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"కాల్స్"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"టెక్స్ట్‌లు"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"ఆటోమేటిక్‌గా డేటాను మార్చడం"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"కవరేజ్, లభ్యత ఆధారంగా ఏదైనా SIM నుండి డేటాను ఉపయోగించండి"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"డేటా మాత్రమే"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"సెటప్ చేయండి"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"తర్వాత"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ను ఆన్ చేస్తోంది…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"మొబైల్ నెట్‌వర్క్"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"ఫోన్ నంబర్"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM లేబుల్, రంగు"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"నెట్‌వర్క్ యాక్టివేషన్"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"క్యారియర్‌ మారుతోంది"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> యాక్టివ్‌గా ఉంది"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"మీ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM యాక్టివ్‌గా ఉంది"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM సెట్టింగ్‌లను అప్‌డేట్ చేయడానికి ట్యాప్ చేయండి"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>కి మార్చబడింది"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"మరొక క్యారియర్‌కి మార్చబడింది"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"మీ మొబైల్ నెట్‌వర్క్ మార్చబడింది"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"మీ వేరే SIMను సెటప్ చేయండి"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"యాక్టివ్‌గా ఉన్న మీ SIMను ఎంచుకోండి లేదా 2 SIMలను ఒకేసారి ఉపయోగించండి"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"ఉపయోగించడానికి ఒక నంబర్‌ను ఎంచుకోండి"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{ఈ పరికరంలో 1 నంబర్ అందుబాటులో ఉంది, కానీ మీరు ఒకసారి ఒక్క నంబర్‌ను మాత్రమే ఉపయోగించడానికి వీలవుతుంది}=2{ఈ పరికరంలో 2 నంబర్‌లు అందుబాటులో ఉన్నాయి, కానీ మీరు ఒకసారి ఒక్క నంబర్‌ను మాత్రమే ఉపయోగించడానికి వీలవుతుంది}other{ఈ పరికరంలో # నంబర్‌లు అందుబాటులో ఉన్నాయి, కానీ మీరు ఒకసారి ఒక్క నంబర్‌ను మాత్రమే ఉపయోగించడానికి వీలవుతుంది}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"<xliff:g id="ELLIPSIS">…</xliff:g>ను యాక్టివేట్ చేస్తోంది"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ఇప్పటికిప్పుడు యాక్టివేట్ చేయడం సాధ్యం కాదు"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"ఉపయోగించడానికి SIMను ఎంచుకోండి"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{ఈ పరికరంలో 1 SIM అందుబాటులో ఉంది, కానీ మీరు ఒకసారి ఒకదాన్ని మాత్రమే ఉపయోగించడానికి వీలవుతుంది}=2{ఈ పరికరంలో 2 SIMలు అందుబాటులో ఉన్నాయి, కానీ మీరు ఒకసారి ఒకదాన్ని మాత్రమే ఉపయోగించడానికి వీలవుతుంది}other{ఈ పరికరంలో # SIMలు అందుబాటులో ఉన్నాయి, కానీ మీరు ఒకసారి ఒకదాన్ని మాత్రమే ఉపయోగించడానికి వీలవుతుంది}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"ఆన్ అవుతోంది<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"ప్రస్తుతం ఈ SIMను ఆన్ చేయడం సాధ్యపడలేదు"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>ను ఉపయోగించాలా?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"మొబైల్ డేటా, కాల్స్, SMSల కోసం <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ఉపయోగించబడుతుంది."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"యాక్టివ్‌గా ఉన్న SIMలు ఏవీ లేవు"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"తర్వాత ఎప్పుడైనా మీ మొబైల్ డేటా, కాల్ ఫీచర్‌లు, SMSలను ఉపయోగించడానికి, మీ నెట్‌వర్క్ సెట్టింగ్‌లకు వెళ్లండి"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ఈ eSIMను ఫ్యాక్టరీ రీసెట్ చేయాలా?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"ఈ SIMను తొలగించడం వలన ఈ పరికరం నుండి <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> సర్వీస్ తీసివేయబడుతుంది.\n\n <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> సర్వీస్ రద్దు చేయబడదు."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"ఇది ఈ పరికరం నుండి <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> సర్వీస్‌ను తీసివేస్తుంది, కానీ మీ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ప్లాన్ రద్దు చేయబడదు."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"తొలగించండి"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIMను తొలగిస్తోంది…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIMను తొలగించలేకపోయింది"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ఎర్రర్ కారణంగా ఈ SIMను తొలగించడం సాధ్యం కాలేదు.\n\nమీ పరికరాన్ని రీస్టార్ట్ చేసి మళ్లీ ట్రై చేయండి."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIMను ఫ్యాక్టరీ రీసెట్ చేస్తోంది…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIMను తొలగించడం సాధ్యపడదు"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"ఏదో పొరపాటు జరిగింది, ఈ eSIM ఫ్యాక్టరీ రీసెట్ చేయబడలేదు.\n\nమీ పరికరాన్ని రీస్టార్ట్ చేసి, మళ్లీ ట్రై చేయండి."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"పరికరానికి కనెక్ట్ చేయండి"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"మీ పరికరానికి కనెక్ట్ కావడానికి <xliff:g id="APPNAME">%1$s</xliff:g> యాప్ తాత్కాలిక Wi‑Fi నెట్‌వర్క్‌ను ఉపయోగించాలనుకుంటుంది"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"పరికరాలు ఏవీ కనుగొనబడలేదు. పరికరాలు ఆన్‌లో ఉన్నాయని మరియు కనెక్ట్ చేయడానికి అందుబాటులో ఉన్నాయని నిర్ధారించుకోండి."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"అత్యవసర కాల్స్‌"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Wi‑Fi కాలింగ్‌ను ఉపయోగించి అత్యవసర కాల్స్‌ను చేయడానికి మీ క్యారియర్‌కు మద్దతు లేదు.\nఅత్యవసర కాల్‌ను చేయాల్సినప్పుడు పరికరం ఆటోమేటిక్‌గా సెల్యులార్ నెట్‌వర్క్‌‌కు మారుతుంది.\nసెల్యులార్ కవరేజీ ఉన్న ప్రాంతాలలో మాత్రమే అత్యవసర కాల్స్‌ను చేయడానికి సాధ్యమవుతుంది."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"కాల్స్‌ల క్వాలిటీని మెరుగుపరచడానికి Wi‑Fiని ఉపయోగించండి"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"బ్యాకప్ కాలింగ్"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> అందుబాటులో లేకపోతే లేదా రోమింగ్‌లో ఉంటే, <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> కాల్స్ కోసం మీ మొబైల్ డేటా SIMను ఉపయోగించండి."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"బ్యాకప్ కాలింగ్"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ఇన్‌కమింగ్ MMS మెసేజ్‌"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS మెసేజ్‌ను పంపించడం సాధ్యం కాదు"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"మొబైల్ డేటా ఆఫ్‌లో ఉన్నప్పుడు <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>లో MMS సందేశ సేవను అనుమతించడానికి నొక్కండి"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"మీ వర్క్ పాలసీకి సంబంధించిన సమాచారం"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"మీ IT అడ్మిన్ ద్వారా సెట్టింగ్‌లు మేనేజ్ చేయబడతాయి."</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K పేజీ సైజ్‌తో బూట్ చేయండి"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"16Kపేజీ సైజ్, సపోర్ట్ చేసే కెర్నెల్‌తో పరికరం బూట్"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16KB పేజీల అనుకూలమైన కెర్నెల్‌తో రీబూట్ చేయాలా?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"హెచ్చరిక: కొన్ని అప్లికేషన్‌లు ఈ మోడ్‌లో అనుకూలంగా పని చేయవు. నిర్ధారణ తర్వాత పరికరం రీబూట్ అవుతుంది."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4KB పేజీల అనుకూలమైన కెర్నెల్‌తో రీబూట్ చేయాలా?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"నిర్ధారణ తర్వాత పరికరం రీబూట్ అవుతుంది."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"కెర్నెల్‌ను 16KB పేజీల అనుకూల కెర్నెల్‌తో అప్‌డేట్ చేయడం విఫలమైంది."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"మార్పు వర్తింపజేయబడుతోంది"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"బగ్ రిపోర్ట్‌ హ్యాండ్లర్"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"మీ డివైజ్‌లో బగ్ రిపోర్ట్ షార్ట్‌కట్‌ను ఏ యాప్ నిర్వహించాలో నిర్ణయిస్తుంది."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"వ్యక్తిగతం"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"సెట్టింగ్‌లలోకి వెళ్లి, ఇతర యాప్‌లపై స్క్రీన్ ఓవర్‌లే పద్ధతిలో కనిపించదగ్గ యాప్‌లకు అనుమతినివ్వండి"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"డమ్మీ మోడెమ్ సర్వీస్‌ను అనుమతించండి"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"ఇన్‌స్ట్రుమెంటేషన్ టెస్టింగ్ కోసం డమ్మీ మోడెమ్ సర్వీస్‌ను అమలు చేయడానికి ఈ పరికరాన్ని అనుమతించండి. ఫోన్ సాధారణ వినియోగ సమయంలో దీన్ని ఎనేబుల్ చేయవద్దు"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"స్క్రీన్ షేర్ ప్రొటెక్షన్‌లను డిజేబుల్ చేయండి"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"స్క్రీన్ షేరింగ్ సమయంలో సిస్టమ్‌లో అమలు చేయబడిన యాప్‌లు, నోటిఫికేషన్‌లకు సంబంధించిన ప్రొటెక్షన్‌లను డిజేబుల్ చేస్తుంది"</string>
     <string name="media_controls_title" msgid="403271085636252597">"మీడియా"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"మీడియా ప్లేయర్‌ను పిన్ చేయండి"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"ప్లేబ్యాక్‌ను త్వరగా కొనసాగించడానికి, క్విక్ సెట్టింగ్‌లలో మీడియా ప్లేయర్‌ను తెరిచి ఉంచండి"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"లాక్ స్క్రీన్‌లో మీడియాను చూపండి"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"ప్లేబ్యాక్‌ను త్వరగా కొనసాగించడానికి, లాక్ స్క్రీన్‌లో మీడియా ప్లేయర్‌ను తెరిచి ఉంచండి"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"మీడియా సిఫార్సులను చూపించు"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistant మీడియా సిఫార్సులను చూపించు"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"మీ యాక్టివిటీ ఆధారంగా"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ప్లేయర్‌ను దాచు"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"ప్లేయర్‌ను చూపించు"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"మీడియా"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"కెమెరా సాఫ్ట్‌వేర్ ఎక్స్‌టెన్షన్‌లను అనుమతించండి"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"కంటిచూపు అవసరం ఉండని వీడియోగ్రఫీ వంటి అధునాతన కెమెరా ఫీచర్‌ల ఆటోమేటిక్ సాఫ్ట్‌వేర్ అమలును ప్రారంభిస్తుంది."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"బ్లూటూత్ ఆన్ చేయబడుతుంది"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"ఇంటర్నెట్"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMలు"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMలు"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"యాక్టివ్‌గా ఉంది"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ఇన్‌యాక్టివ్"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"ఆన్‌లో ఉంది"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ఆఫ్‌లో ఉంది"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> కోసం ఆటోమేటిక్ సెట్టింగ్"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"కాల్స్"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"అనుకూల మీడియా నుండి వచ్చే ఆడియో మరింతగా లీనమయ్యేలా చేస్తుంది"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"హెడ్ ట్రాకింగ్"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"మీరు మీ తలను మరింత సహజంగా వినిపించేలా కదిపేటప్పుడు ఆడియో మారుతుంది"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"అనుమతులను సింక్ చేయండి"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>లో మీరు అనుమతించిన అదే యాప్ అనుమతులను <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>‌కి ఇవ్వండి"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"ఫోన్ నుండి అనుమతులను సింక్ చేయండి"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"మీరు ఈ ఫోన్‌కు ఇచ్చిన యాప్ అనుమతులను మీ వాచ్‌కు కూడా ఇవ్వండి"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ఆడియో పరికరం రకం"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"తెలియనిది"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"స్పీకర్"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"మధ్యస్థం"</string>
     <string name="contrast_high" msgid="3988567609694797696">"అధికం"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"ఈ యాప్‌ను 1 విండోలో మాత్రమే తెరవవచ్చు"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"ఆన్‌లో ఉంది"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ఆఫ్‌లో ఉంది"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ఆఫ్‌లో ఉంది"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ఆఫ్‌లో ఉంది"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"ఆన్‌లో ఉంది"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ఆఫ్‌లో ఉంది"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"ఆన్‌లో ఉంది"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ఆఫ్‌లో ఉంది"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"లైట్ స్క్రీన్‌లను డార్క్‌గా, అలాగే డార్క్ స్క్రీన్‌లను లైట్‌గా మారుస్తుంది"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"స్క్రీన్‌పై జూమ్ - ఇన్ చేయండి"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ఆఫ్‌లో ఉంది"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ఆఫ్‌లో ఉంది"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"మోసపూరిత యాప్‌ల కోసం స్కాన్ చేస్తోంది"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ఫిషింగ్ కోసం యాప్ యాక్టివిటీని చెక్ చేయండి"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"మోసపూరిత యాప్‌లను గుర్తించడానికి స్కానింగ్‌ను ఉపయోగించండి"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ఆఫీస్‌కు సంబంధించిన మోసపూరిత యాప్‌లను గుర్తించడానికి స్కానింగ్‌ను ఉపయోగించండి"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"పాస్‌వర్డ్ ఇప్పుడు సెటప్ చేయబడింది"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"మౌస్ కర్సర్‌ను ఉంచేటప్పుడు పాయింటర్‌ను చూపండి"</string>
 </resources>
diff --git a/res/values-th/arrays.xml b/res/values-th/arrays.xml
index dd07c77..b152cc0 100644
--- a/res/values-th/arrays.xml
+++ b/res/values-th/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"พร้อมใช้งาน"</item>
     <item msgid="6096962300722555553">"อยู่นอกระยะสัญญาณ"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"ปิดอยู่"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast และประกาศ"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"ใช้ค่าเริ่มต้นของระบบ: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"หลังจาก 1 นาที"</item>
     <item msgid="1574040255478150028">"หลังจาก 5 นาที"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-th/strings.xml b/res/values-th/strings.xml
index b9bd926..31129b5 100644
--- a/res/values-th/strings.xml
+++ b/res/values-th/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"ตอนนี้คุณเป็นนักพัฒนาซอฟต์แวร์แล้ว!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"ไม่จำเป็น คุณเป็นนักพัฒนาซอฟต์แวร์อยู่แล้ว"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"โปรดเปิดใช้ตัวเลือกสำหรับนักพัฒนาแอปก่อน"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"เฉพาะผู้ใช้ที่ดูแลระบบเท่านั้นที่เข้าถึงการตั้งค่าของนักพัฒนาแอปได้"</string>
     <string name="header_category_system" msgid="1665516346845259058">"ระบบ"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"กำลังให้บริการ"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"ไม่พร้อมให้บริการ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"หน้าจอด้านหน้าจะเปิดขึ้นเมื่อคุณพับอุปกรณ์"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"เฉพาะเกม วิดีโอ และอื่นๆ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"หน้าจอด้านหน้าจะเปิดขึ้นสำหรับแอปที่ทำให้หน้าจอของคุณไม่มีการใช้งาน"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"ปัดขึ้นเพื่อดำเนินการต่อ"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"พับโทรศัพท์แล้วปัดขึ้นบนหน้าจอด้านหน้าเพื่อใช้แอปต่อ หรือรอไม่กี่วินาทีเพื่อให้หน้าจอล็อก"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"ไม่ต้องเลย"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"หน้าจอด้านหน้าจะล็อกเมื่อคุณพับอุปกรณ์"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"ใช้การหมุนอัตโนมัติ"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"ที่เกี่ยวข้อง"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"เสียงเรียกเข้าและการปลุก"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"เสียงในระหว่างการโทร"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"สื่อ"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"เสียงการแจ้งเตือนและระบบอื่นๆ"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"เสียงของสื่อและระบบ"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"การแจ้งเตือน"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"เอาต์พุตเสียงจะกำหนดตามแต่ละแอปโดยค่าเริ่มต้น"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"อุปกรณ์บลูทูธที่ไม่มีชื่อ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"กำลังค้นหา"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"ยกเลิก"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"ปิดใช้ Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"ปิดใช้ฟีเจอร์ Bluetooth LE Audio หากอุปกรณ์รองรับความสามารถของฮาร์ดแวร์ LE Audio"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"โหมด Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"แสดงปุ่มสลับ LE Audio ในรายละเอียดอุปกรณ์"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"เปิดใช้รายการที่อนุญาต Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"เปิดใช้ฟีเจอร์รายการที่อนุญาต Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"ข้ามรายการที่อนุญาต Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"ใช้ LE Audio โดยค่าเริ่มต้นแม้ว่าอุปกรณ์ต่อพ่วง LE Audio จะไม่ได้รับการยืนยันว่าเป็นไปตามเกณฑ์รายการที่อนุญาตก็ตาม"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"อุปกรณ์สื่อ"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"อุปกรณ์สำหรับโทร"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"อุปกรณ์อื่นๆ"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"อุปกรณ์ที่บันทึกไว้"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"เชื่อมโยงกับบัญชี"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"ใช้กับบัญชีก่อนหน้านี้"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"บลูทูธจะเปิดเพื่อจับคู่อุปกรณ์"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"ค่ากำหนดการเชื่อมต่อ"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"อุปกรณ์ที่เคยเชื่อมต่อ"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"เปิดบลูทูธแล้ว"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"ดูทั้งหมด"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"ดูทั้งหมด"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"สไตลัส"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"มีการกดปุ่มค้าง"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (โปรไฟล์งาน)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"เขียนในช่องข้อความ"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"ไม่ต้องสนใจการกดปุ่มสไตลัสทั้งหมด"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"สไตลัส"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"การแชร์เสียง"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"แชร์เสียง"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"การโทรและการปลุก"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"เชื่อมต่อกับสตรีมเสียงโดยใช้คิวอาร์โค้ด"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"ไม่พบสตรีมเสียงที่อยู่ใกล้เคียง"</string>
     <string name="date_and_time" msgid="1788358029823431692">"วันที่และเวลา"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"พร็อกซี"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"ล้างข้อมูล"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"เพิ่มภาษา %s เป็นภาษาที่ต้องการใช่ไหม"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"การดำเนินการนี้จะช่วยให้แอปและเว็บไซต์ทราบว่าคุณต้องการภาษานี้ด้วย"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"การตั้งค่าอุปกรณ์และค่ากำหนดตามพื้นที่จะเปลี่ยนแปลงไป"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"เปลี่ยน"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"ภาษา%sไม่พร้อมใช้งาน"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"วันเสาร์"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"หากแอปไม่รองรับค่ากำหนดตามพื้นที่ แอปจะใช้การตั้งค่าภาษาเริ่มต้นแทน"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"ดูข้อมูลเพิ่มเติมเกี่ยวกับค่ากำหนดภาษา"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"ค่ากำหนดเพิ่มเติม"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"คำที่ใช้เรียกบุคคล"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"กำหนดว่าต้องการให้แอปเรียกตัวคุณอย่างไร"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"แอปสามารถใช้คำเรียกตัวคุณตามที่คุณกำหนด"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"ไม่ระบุ"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"เพศหญิง"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"เพศชาย"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"กลางๆ"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{นำภาษาที่เลือกออกใช่ไหม}other{นำภาษาที่เลือกออกใช่ไหม}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"ข้อความจะแสดงเป็นภาษาอื่น"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ไม่สามารถนำทุกภาษาออกได้"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"ตำแหน่ง"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"ใช้ตำแหน่ง"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"ปิด"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{เปิดอยู่ - แอป # แอปมีสิทธิ์เข้าถึงตำแหน่ง}other{เปิดอยู่ - แอป # แอปมีสิทธิ์เข้าถึงตำแหน่ง}}"</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_location_off" msgid="8568995909147566720">"สิทธิ์เข้าถึงตำแหน่งปิดอยู่สำหรับแอปและบริการต่างๆ ระบบอาจยังส่งตำแหน่งของอุปกรณ์ไปให้หน่วยกู้ภัยฉุกเฉินเมื่อคุณโทรหาหรือส่ง SMS ถึงหมายเลขฉุกเฉิน"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าตำแหน่ง"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการตั้งค่าตำแหน่ง"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"หากต้องการเปลี่ยนสิทธิ์เข้าถึงตำแหน่ง ให้ไปที่การตั้งค่า &gt; ความปลอดภัยและความเป็นส่วนตัว &gt; การควบคุมความเป็นส่วนตัว"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"บัญชี"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"ความปลอดภัย"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"การเข้ารหัสและข้อมูลเข้าสู่ระบบ"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"ใช้แผ่นปกป้องหน้าจอที่มีป้ายรับรอง Made For Google เพื่อให้ได้ผลลัพธ์ที่ดีที่สุด หากใช้แผ่นปกป้องหน้าจออื่นๆ อาจใช้ลายนิ้วมือของบุตรหลานไม่ได้"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"การปลดล็อกด้วยนาฬิกา"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"เมื่อตั้งค่าการปลดล็อกด้วยใบหน้าและลายนิ้วมือ โทรศัพท์จะขอให้สแกนลายนิ้วมือหากคุณสวมหน้ากากหรืออยู่ในที่มืด\n\nคุณสามารถปลดล็อกด้วยนาฬิกาหากระบบจดจำใบหน้าหรือลายนิ้วมือของคุณไม่ได้"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"คุณสามารถปลดล็อกด้วยนาฬิกาหากระบบจดจำลายนิ้วมือของคุณไม่ได้"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"คุณสามารถปลดล็อกด้วยนาฬิกาหากระบบจดจำใบหน้าของคุณไม่ได้"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"เมื่อตั้งค่าการปลดล็อกด้วยใบหน้าและปลดล็อกด้วยลายนิ้วมือ โทรศัพท์จะขอให้สแกนลายนิ้วมือเมื่อคุณสวมหน้ากากหรืออยู่ในที่มืด\n\nการปลดล็อกด้วยนาฬิกาเป็นอีกวิธีหนึ่งที่สะดวกในการปลดล็อกโทรศัพท์ เช่น เมื่อนิ้วเปียกอยู่หรือระบบจดจำใบหน้าไม่ได้"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"การปลดล็อกด้วยนาฬิกาเป็นอีกวิธีหนึ่งที่สะดวกในการปลดล็อกโทรศัพท์ เช่น เมื่อระบบจดจำลายนิ้วมือไม่ได้"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"การปลดล็อกด้วยนาฬิกาเป็นอีกวิธีหนึ่งที่สะดวกในการปลดล็อกโทรศัพท์ เช่น เมื่อระบบจดจำใบหน้าไม่ได้"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"ใช้ลายนิ้วมือหรือนาฬิกาเพื่อ"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"ใช้ใบหน้าหรือนาฬิกาเพื่อ"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"ใช้ใบหน้า ลายนิ้วมือ หรือนาฬิกาเพื่อ"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"การปลดล็อกด้วยนาฬิกาเป็นอีกวิธีหนึ่งที่สะดวกในการปลดล็อกโทรศัพท์เครื่องนี้ เช่น เมื่อนิ้วเปียกอยู่หรือระบบจดจำใบหน้าไม่ได้\n\nคุณใช้นาฬิกาเพื่อปลดล็อกโทรศัพท์เครื่องนี้ได้เมื่อคุณทำดังต่อไปนี้"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ไว้ทีหลัง"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"ต่อไป"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"เพิ่มเติม"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"วิธีการทำงาน"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"นาฬิกาต้องปลดล็อกไว้ สวมอยู่บนข้อมือของคุณ และอยู่ในระยะสัญญาณของโทรศัพท์เครื่องนี้ คุณจะไม่ต้องปลดล็อกนาฬิกาอีกครั้งขณะสวมไว้บนข้อมือ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"เมื่อโทรศัพท์เครื่องนี้ปลดล็อกแล้ว คุณจะได้รับการแจ้งเตือนที่นาฬิกา หากเป็นการปลดล็อกโดยไม่ได้ตั้งใจ ให้แตะการแจ้งเตือนเพื่อล็อกโทรศัพท์อีกครั้ง"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"คุณควบคุมได้"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"คุณนำนาฬิกาออกจากฟีเจอร์การปลดล็อกด้วยนาฬิกาได้ทุกเมื่อในการตั้งค่า"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"แตะการแจ้งเตือน"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"ปัดขึ้นบนหน้าจอล็อก"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"เลือกนาฬิกา"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"นาฬิกาที่พร้อมใช้งาน"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"ยกเลิก"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"ยืนยัน"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"ตั้งค่าเรียบร้อยแล้ว"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"ตอนนี้คุณสามารถใช้นาฬิกาเพื่อปลดล็อกโทรศัพท์เครื่องนี้เมื่อปัดขึ้นบนหน้าจอล็อกหรือแตะการแจ้งเตือน"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"เสร็จสิ้น"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"การปลดล็อกด้วยนาฬิกา"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"คุณสามารถใช้นาฬิกาเพื่อปลดล็อกโทรศัพท์เครื่องนี้เมื่อปัดขึ้นบนหน้าจอล็อกหรือแตะการแจ้งเตือน"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"หากต้องการใช้การปลดล็อกด้วยนาฬิกาก็จะต้องปลดล็อกนาฬิกาไว้ สวมอยู่บนข้อมือของคุณ อยู่ในระยะสัญญาณ และเชื่อมต่อกับโทรศัพท์เครื่องนี้ หากการเชื่อมต่อเกิดติดขัด คุณจะต้องปลดล็อกโทรศัพท์ก่อนจึงจะใช้การปลดล็อกด้วยนาฬิกาได้\n\nข้อควรทราบ\nคุณตั้งค่านาฬิกาได้ครั้งละ 1 เรือนเท่านั้น หากต้องการเพิ่มนาฬิกาอื่น ให้นำนาฬิกาปัจจุบันออกก่อน"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือสำหรับการทำงาน"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"ต้องตั้งค่า"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"ความปลอดภัย"</string>
     <string name="privacy_header" msgid="5526002421324257007">"ความเป็นส่วนตัว"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"โปรไฟล์งาน"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"พื้นที่ส่วนตัว"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"ล็อกและซ่อนแอปส่วนตัวไว้"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"เก็บแอปส่วนตัวไว้ในพื้นที่แยกต่างหากซึ่งคุณจะซ่อนหรือล็อกได้"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"การล็อกพื้นที่ส่วนตัว"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"คุณจะปลดล็อกพื้นที่ส่วนตัวได้โดยใช้วิธีเดียวกับที่คุณปลดล็อกอุปกรณ์ หรือเลือกการล็อกอื่น"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"ใช้การล็อกหน้าจออุปกรณ์"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"การปลดล็อกด้วยใบหน้าและลายนิ้วมือ"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"ปลดล็อกด้วยลายนิ้วมือ"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"ปลดล็อกด้วยใบหน้า"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"แตะเพื่อตั้งค่า"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"การปลดล็อกด้วยลายนิ้วมือสำหรับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"การปลดล็อกด้วยใบหน้าสำหรับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"วิธีปลดล็อก"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"เหมือนกับล็อกหน้าจออุปกรณ์"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"เลือกการล็อกใหม่สำหรับพื้นที่ส่วนตัวไหม"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"ล็อกพื้นที่ส่วนตัวโดยอัตโนมัติ"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"คุณสามารถล็อกพื้นที่ส่วนตัวโดยอัตโนมัติหากไม่ได้ใช้อุปกรณ์เป็นระยะเวลาหนึ่ง"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ทุกครั้งที่อุปกรณ์ล็อก"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"หลังจากไม่มีการใช้งานเป็นเวลา 5 นาที"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"ไม่เลย"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"ซ่อนเมื่อล็อก"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"ซ่อนพื้นที่ส่วนตัวเมื่อล็อกไว้"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"คุณซ่อนพื้นที่ส่วนตัวจากรายการแอปได้ เพื่อไม่ให้คนอื่นรู้ว่ามีพื้นที่ส่วนตัวอยู่ในอุปกรณ์ของคุณ"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"เข้าถึงพื้นที่ส่วนตัวเมื่อซ่อนไว้"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"จากข้อมูลแอป ให้ป้อน \"พื้นที่ส่วนตัว\" ในแถบค้นหา"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"แตะการ์ดพื้นที่ส่วนตัว"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"ปลดล็อกพื้นที่ส่วนตัว"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"ปิด"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"เปิด"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"ระบบ"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"ลบพื้นที่ส่วนตัว"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"ลบพื้นที่ส่วนตัวไหม"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"ระบบจะนำพื้นที่ส่วนตัวออกจากอุปกรณ์ แอปและข้อมูลส่วนตัวทั้งหมดจะถูกลบ คุณยกเลิกการดำเนินการนี้ไม่ได้"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"ระบบจะนำบัญชีต่อไปนี้ออกจากพื้นที่ส่วนตัว"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"ลบ"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"กำลังลบพื้นที่ส่วนตัว…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"การดำเนินการนี้จะใช้เวลาสักครู่"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"ลบพื้นที่ส่วนตัวแล้ว"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"ลบพื้นที่ส่วนตัวไม่ได้"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"ปลดล็อกพื้นที่ส่วนตัวแล้ว"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"ตั้งการล็อกหน้าจอ"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"หากต้องการใช้พื้นที่ส่วนตัว ให้ตั้งการล็อกหน้าจอในอุปกรณ์นี้"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"ตั้งล็อกหน้าจอ"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"ยกเลิก"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"ยกเลิก"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"ตั้งค่า"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"ตั้งค่าพื้นที่ส่วนตัว"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"เก็บแอปส่วนตัวไว้ในพื้นที่แยกต่างหากซึ่งคุณจะซ่อนหรือล็อกได้"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"วิธีการทำงาน"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"คุณเข้าถึงพื้นที่ส่วนตัวได้จากด้านล่างของรายการแอป"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"แอปในพื้นที่ส่วนตัวได้รับการปกป้องโดยการล็อก"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"การแจ้งเตือนจากแอปในพื้นที่ส่วนตัวจะถูกซ่อนเมื่อล็อกไว้"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"แอปในพื้นที่ส่วนตัวจะไม่ปรากฏในเครื่องมือจัดการสิทธิ์ แดชบอร์ดความเป็นส่วนตัว และการตั้งค่าอื่นๆ เมื่อล็อกพื้นที่ส่วนตัวไว้\n\nระบบจะย้ายพื้นที่ส่วนตัวไปยังอุปกรณ์ใหม่ไม่ได้ คุณจะต้องตั้งค่าพื้นที่ส่วนตัวอีกแห่งหนึ่งหากต้องการใช้ในอุปกรณ์อื่น\n\nใครก็ตามที่เชื่อมต่ออุปกรณ์ของคุณกับคอมพิวเตอร์หรือติดตั้งแอปที่เป็นอันตรายลงในอุปกรณ์อาจเข้าถึงพื้นที่ส่วนตัวได้"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"กำลังตั้งค่าพื้นที่ส่วนตัว…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"การแจ้งเตือนจากแอปในพื้นที่ส่วนตัวจะถูกซ่อนเมื่อล็อกไว้"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"ปลดล็อกพื้นที่ส่วนตัวเพื่อแชร์รูปภาพหรือไฟล์"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"แอปบางแอปได้รับการติดตั้งในพื้นที่ส่วนตัวอยู่แล้ว"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"ตั้งค่าพื้นที่ส่วนตัวไม่ได้"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"ลองอีกครั้ง"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"ใช้การล็อกหน้าจอเพื่อปลดล็อกพื้นที่ส่วนตัวใช่ไหม"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"คุณจะปลดล็อกพื้นที่ส่วนตัวได้โดยใช้วิธีเดียวกับที่คุณปลดล็อกอุปกรณ์ หรือเลือกการล็อกอื่น"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"ใช้การล็อกหน้าจอ"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"เลือกการล็อกใหม่"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"เรียบร้อยแล้ว"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"หากต้องการดูพื้นที่ส่วนตัว ให้ไปที่รายการแอปแล้วเลื่อนลงไปด้านล่าง"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"เสร็จสิ้น"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"เลื่อนลงเพื่อค้นหาพื้นที่ส่วนตัว"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"ลงชื่อเข้าใช้"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"ลงชื่อเข้าใช้บัญชีเพื่อใช้กับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ไว้ทีหลัง"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"ดำเนินการต่อ"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"เลือกการล็อกสำหรับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"คุณปลดล็อกพื้นที่ส่วนตัวได้โดยใช้ลายนิ้วมือ ตัวเลือกนี้ต้องใช้การล็อกข้อมูลสำรองเพื่อความปลอดภัย"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"ตั้งค่า PIN สำหรับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"ตั้งค่ารหัสผ่านสำหรับพื้นที่ส่วนตัว"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"ตั้งค่ารูปแบบสำหรับพื้นที่ส่วนตัว"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"คุณสามารถเพิ่มได้ถึง <xliff:g id="COUNT">%d</xliff:g> ลายนิ้วมือ"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"คุณได้เพิ่มลายนิ้วมือถึงขีดจำกัดสูงสุดแล้ว"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"เพิ่มลายนิ้วมืออีกไม่ได้แล้ว"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"รูปแบบ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"รหัสผ่าน"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"ลบล็อกหน้าจอใช่ไหม"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"นำการปลดล็อกอุปกรณ์ทุกประเภทออกใช่ไหม"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"ต้องการนำการปกป้องโปรไฟล์ออกใช่ไหม"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"รูปแบบจะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"รูปแบบจะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>การดำเนินการนี้จะลบรูปแบบลายนิ้วมือที่เก็บอยู่ในอุปกรณ์ ระบบจะลบรูปแบบใบหน้าออกอย่างถาวรและปลอดภัยด้วย คุณจะใช้ใบหน้าหรือลายนิ้วมือสำหรับการตรวจสอบสิทธิ์ในแอปไม่ได้"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN จะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"ข้อมูลที่คุณบันทึกไว้ เช่น PIN อาจสูญหาย<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ระบบจะนำบัตรที่ตั้งค่าไว้สำหรับการชำระเงินแบบไม่ต้องสัมผัสออก<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>แอปกระเป๋าเงินและแอปอื่นๆ ที่ต้องมีการปลดล็อกอุปกรณ์อาจทำงานไม่ถูกต้อง"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN จะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย<xliff:g id="EMPTY_LINE">
 
 </xliff:g>การดำเนินการนี้จะลบรูปแบบลายนิ้วมือที่เก็บอยู่ในอุปกรณ์ด้วย คุณจะใช้ลายนิ้วมือสำหรับการตรวจสอบสิทธิ์ในแอปไม่ได้"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"ข้อมูลที่คุณบันทึกไว้ เช่น PIN และรูปแบบลายนิ้วมือ อาจสูญหาย<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ระบบจะนำบัตรที่ตั้งค่าไว้สำหรับการชำระเงินแบบไม่ต้องสัมผัสออก<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>แอปกระเป๋าเงินและแอปอื่นๆ ที่ต้องมีการปลดล็อกอุปกรณ์อาจทำงานไม่ถูกต้อง"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN จะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย<xliff:g id="EMPTY_LINE">
 
 </xliff:g>ระบบจะลบรูปแบบใบหน้าออกอย่างถาวรและปลอดภัยด้วย คุณจะใช้ใบหน้าสำหรับการตรวจสอบสิทธิ์ในแอปไม่ได้"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"ข้อมูลที่คุณบันทึกไว้ เช่น PIN และรูปแบบใบหน้า อาจสูญหาย<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ระบบจะนำบัตรที่ตั้งค่าไว้สำหรับการชำระเงินแบบไม่ต้องสัมผัสออก<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>แอปกระเป๋าเงินและแอปอื่นๆ ที่ต้องมีการปลดล็อกอุปกรณ์อาจทำงานไม่ถูกต้อง"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN จะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย<xliff:g id="EMPTY_LINE">
 
 </xliff:g>การดำเนินการนี้จะลบรูปแบบลายนิ้วมือที่เก็บอยู่ในอุปกรณ์ ระบบจะลบรูปแบบใบหน้าออกอย่างถาวรและปลอดภัยด้วย คุณจะใช้ใบหน้าหรือลายนิ้วมือสำหรับการตรวจสอบสิทธิ์ในแอปไม่ได้"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"ข้อมูลที่คุณบันทึกไว้ เช่น PIN รวมถึงรูปแบบใบหน้าและลายนิ้วมือ อาจสูญหาย<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>ระบบจะนำบัตรที่ตั้งค่าไว้สำหรับการชำระเงินแบบไม่ต้องสัมผัสออก<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>แอปกระเป๋าเงินและแอปอื่นๆ ที่ต้องมีการปลดล็อกอุปกรณ์อาจทำงานไม่ถูกต้อง"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"รหัสผ่านจะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"รหัสผ่านจะปกป้องโทรศัพท์หากสูญหายหรือถูกขโมย<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"บลูทูธ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"บลูทูธ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"จับคู่กับ <xliff:g id="DEVICE_NAME">%1$s</xliff:g> ไหม"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"เพิ่มสมาชิกใหม่ไปยังชุดทำงานร่วมกันที่มีอยู่เดิม"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"ยืนยันการเพิ่มอุปกรณ์เสียงชิ้นที่ 2"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"รหัสการจับคู่บลูทูธ"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"พิมพ์รหัสการจับคู่แล้วกด Return หรือ Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN ประกอบดัวยตัวอักษรหรือสัญลักษณ์"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"ต้องมี 18 หลัก"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"คุณอาจจำเป็นต้องพิมพ์รหัส PIN นี้ลงในอุปกรณ์อีกเครื่องหนึ่งด้วยเช่นกัน"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"คุณอาจจำเป็นต้องพิมพ์รหัสผ่านนี้ลงในอุปกรณ์อีกเครื่องหนึ่งด้วยเช่นกัน"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"ยืนยันการจับคู่กับชุดที่ทำงานร่วมกัน"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"ยืนยันการจับคู่กับอุปกรณ์เสียง"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"ให้สิทธิ์เข้าถึงรายชื่อติดต่อและประวัติการโทร"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"อนุญาตให้เข้าถึงรายชื่อติดต่อและประวัติการโทรด้วย"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"จะมีการใช้ข้อมูลเพื่อประกาศการติดต่อและอื่นๆ"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"ไม่สามารถเชื่อมต่อกับ <xliff:g id="DEVICE_NAME">%1$s</xliff:g>"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"อุปกรณ์ที่ใช้ได้"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"เชื่อมต่อ"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"ยกเลิกการเชื่อมต่อ"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"จับคู่อุปกรณ์และเชื่อมต่อ"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"เมื่อเปิดบลูทูธ อุปกรณ์ของคุณจะสื่อสารกับอุปกรณ์บลูทูธที่อยู่ใกล้ๆ ได้"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"เมื่อเปิดบลูทูธ อุปกรณ์จะสื่อสารกับอุปกรณ์บลูทูธที่อยู่ใกล้ๆ ได้"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"เมื่อเปิดบลูทูธ อุปกรณ์ของคุณจะสื่อสารกับอุปกรณ์บลูทูธเครื่องอื่นในบริเวณใกล้เคียงได้\n\nแอปและบริการต่างๆ จะยังคงสแกนหาอุปกรณ์ที่อยู่ใกล้เคียงได้ทุกเมื่อแม้บลูทูธจะปิดอยู่เพื่อปรับปรุงประสบการณ์การใช้งานอุปกรณ์ การตั้งค่านี้ใช้เพื่อทำสิ่งต่างๆ เช่น ปรับปรุงฟีเจอร์และบริการที่อิงตามตำแหน่ง คุณเปลี่ยนตัวเลือกนี้ได้ในการตั้งค่าการสแกนหาบลูทูธ"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"เปลี่ยน"</string>
     <string name="device_details_title" msgid="1155622417516195481">"รายละเอียดอุปกรณ์"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"อนุญาตให้ ART ตรวจสอบไบต์โค้ดแอปที่แก้ไขข้อบกพร่องได้"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"แสดงอัตราการรีเฟรช"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"แสดงอัตราการรีเฟรชจอแสดงผลล่าสุด"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"แสดงอัตราส่วน HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"แสดงอัตราส่วน HDR/SDR ปัจจุบัน"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"ต้องปลดล็อกอุปกรณ์เพื่อใช้งาน NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ในโหมดใช้งานบนเครื่องบิน"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"แจ้งเตือนเมื่อพบเครือข่ายสาธารณะ"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"แจ้งเตือนเมื่อมีเครือข่ายสาธารณะคุณภาพสูงพร้อมใช้งาน"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"อนุญาตเครือข่าย WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP เป็นโปรโตคอลความปลอดภัยเวอร์ชันเก่าซึ่งมีความปลอดภัยน้อยกว่า"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"ผู้ให้บริการของคุณไม่อนุญาตเครือข่าย WEP เนื่องจากมีความปลอดภัยน้อยกว่า"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"เปิด Wi‑Fi อัตโนมัติ"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi จะเปิดอีกครั้งเมื่ออยู่ใกล้เครือข่ายคุณภาพสูงที่บันทึกไว้ เช่น เครือข่ายที่บ้านของคุณ"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"ไม่พร้อมใช้งานเนื่องจากตำแหน่งปิดอยู่ โปรดเปิด"<annotation id="link">"ตำแหน่ง"</annotation></string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"การสแกนหา Wi-Fi อนุญาตให้แอปและบริการต่างๆ สแกนหาเครือข่าย Wi‑Fi ตลอดเวลาแม้ Wi‑Fi จะปิดอยู่ การตั้งค่านี้ใช้เพื่อทำสิ่งต่างๆ เช่น ปรับปรุงฟีเจอร์และบริการตามสถานที่"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"เปิด"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"เปิดการสแกนหา Wi-Fi แล้ว"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"เครือข่ายนี้ใช้โปรโตคอลความปลอดภัยเวอร์ชันเก่าซึ่งมีความปลอดภัยน้อยกว่า"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> ถูกบล็อก"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"เครือข่ายนี้ใช้โปรโตคอลความปลอดภัยเวอร์ชันเก่าที่ชื่อว่า WEP ซึ่งมีความปลอดภัยน้อยกว่า หากยังต้องการเชื่อมต่อ คุณอนุญาตเครือข่าย WEP ได้"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"ผู้ให้บริการของคุณไม่อนุญาตให้เชื่อมต่อกับเครือข่ายนี้เนื่องจากใช้โปรโตคอลความปลอดภัยเวอร์ชันเก่าซึ่งมีความปลอดภัยน้อยกว่า"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"อนุญาต WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"ปิด"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"ตัวเลือกขั้นสูง"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ตัวเลือกขั้นสูงที่เป็นรายการแบบเลื่อนลง"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"ขยาย"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"ใช้ Wi-Fi ต่อไป"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"ไม่ต้องแสดงอีก"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"เชื่อมต่อ"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"เปิด Wi-Fi แล้ว"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"เชื่อมต่อกับ <xliff:g id="NETWORK_NAME">%1$s</xliff:g> แล้ว"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"กำลังเชื่อมต่อกับ <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"กำลังเชื่อมต่อ…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"ไม่สามารถเชื่อมต่อกับเครือข่าย"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"เครือข่ายไม่อยู่ในพื้นที่ให้บริการ"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"ลบ"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"แก้ไข"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"ไม่สามารถเลิกการจดจำเครือข่าย"</string>
     <string name="wifi_save" msgid="2312643132472226807">"บันทึก"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"ไม่สามารถบันทึกเครือข่าย"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"ยกเลิก"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"อินเทอร์เน็ตมือถือ"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"อีเทอร์เน็ต"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ กำลังชาร์จ"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ กำลังชาร์จ"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"การเชื่อมต่อฮอตสปอต"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"ความแรงของสัญญาณเชื่อมต่อ"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"เครือข่ายที่บันทึก"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"ไม่ได้ตั้งค่ารหัสผ่าน"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ชื่อฮอตสปอต"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"รหัสผ่านฮอตสปอต"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"ย่านความถี่ AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"ปิดฮอตสปอตโดยอัตโนมัติ"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"เมื่อไม่มีอุปกรณ์ใดเชื่อมต่ออยู่"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"เพิ่มความเข้ากันได้"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"แสดงไวท์บาลานซ์"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"ใช้แอปต่อได้เมื่อพับ"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"เพิ่มอัตราการรีเฟรชจาก 60 เป็น <xliff:g id="ID_1">%1$s</xliff:g> Hz โดยอัตโนมัติสำหรับเนื้อหาบางรายการ เพิ่มการใช้งานแบตเตอรี่"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"ปิดอัตราเฟรมเริ่มต้นสำหรับเกม"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"ปิดใช้การจำกัดอัตราเฟรมสูงสุดสำหรับเกมที่ <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"เพิ่มอัตราการรีเฟรชไปจนถึง <xliff:g id="ID_1">%1$d</xliff:g> Hz โดยอัตโนมัติสำหรับเนื้อหาบางรายการ เพิ่มการใช้งานแบตเตอรี่"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"บังคับอัตราการรีเฟรชเป็นสูงสุด"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"อัตราการรีเฟรชสูงสุดสำหรับการตอบสนองต่อการแตะและคุณภาพของภาพเคลื่อนไหวที่ดียิ่งขึ้น เพิ่มการใช้งานแบตเตอรี่"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"การจดจ่อที่หน้าจอ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"การจดจ่อที่หน้าจอใช้กล้องหน้าเพื่อดูว่ามีใครกำลังดูหน้าจออยู่ไหม ฟีเจอร์นี้จะทำงานในอุปกรณ์และจะไม่มีการเก็บหรือส่งรูปภาพไปให้ Google"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"เปิดฟีเจอร์การจดจ่อที่หน้าจอ"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"เปิดหน้าจอค้างไว้เมื่อดูหน้าจออยู่"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"ระยะหมดเวลาหน้าจอที่นานขึ้นจะใช้พลังงานแบตเตอรี่มากขึ้น"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"กล้องถ่ายรูปล็อกอยู่"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"ต้องปลดล็อกกล้องถ่ายรูปเพื่อใช้การตรวจจับใบหน้า"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"ต้องปลดล็อกกล้องถ่ายรูปเพื่อใช้ฟีเจอร์การจดจ่อที่หน้าจอ"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (ช่องซิม <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (ช่องซิม <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (หลัก)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"เลือกเครือข่ายที่บันทึกไว้เพื่อดู"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"นาที"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"รุ่น PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"ระดับแบตเตอรี่"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"ส่วนกลาง"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"การตั้งค่าส่วนกลาง"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"การรับส่งข้อความผ่านดาวเทียม"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"แก้ไขจุดเข้าใช้งาน"</string>
+    <string name="apn_add" msgid="9069613192201630934">"เพิ่มจุดเข้าใช้งาน"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"ไม่ได้ตั้งค่า"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"ไม่ได้ตั้งค่า"</string>
     <string name="apn_name" msgid="6677695784108157953">"ชื่อ"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"เปิดใช้งาน APN แล้ว"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"ปิดใช้งาน APN แล้ว"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"ประเภทเครือข่าย"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"ไม่ระบุ"</string>
     <string name="mvno_type" msgid="4734654257494971247">"ประเภท MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"ค่า MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"ลบ APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"บันทึก"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"ยกเลิก"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"รายการ APN ซ้ำกัน"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"ต้องใส่ข้อมูลในช่องชื่อ"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"ต้องใส่ข้อมูล APN"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"ช่อง MCC ต้องเป็นเลข 3 หลัก"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"ช่อง MNC ต้องมีเลขอย่างน้อย 2 หรือ 3 หลัก"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"ผู้ให้บริการไม่อนุญาตให้เพิ่ม APN ประเภท %s"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"ช่อง MMSC ต้องถูกต้อง"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"กำลังเรียกคืนการตั้งค่า APN เริ่มต้น"</string>
     <string name="menu_restore" msgid="4310539620115151551">"รีเซ็ตเป็นค่าเริ่มต้น"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"รีเซ็ตการตั้งค่า APN กลับเป็นค่าเริ่มต้นเรียบร้อยแล้ว"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"รีเซ็ต"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"รีเซ็ตบลูทูธและ Wi-Fi แล้ว"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"ลบ eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"การดำเนินการนี้จะไม่ยกเลิกแพ็กเกจมือถือ หากต้องการดาวน์โหลดซิมสำหรับใช้แทน โปรดติดต่อผู้ให้บริการ"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"การดำเนินการนี้จะไม่ยกเลิกแพ็กเกจมือถือ หากต้องการขอซิมใหม่ โปรดติดต่อผู้ให้บริการ"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"รีเซ็ตการตั้งค่า"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"รีเซ็ตการตั้งค่าเครือข่ายทั้งหมดไหม คุณจะยกเลิกการดำเนินการนี้ไม่ได้"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"รีเซ็ตการตั้งค่าเครือข่ายทั้งหมดและลบ eSIM ใช่ไหม คุณจะยกเลิกการดำเนินการนี้ไม่ได้"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"รีเซ็ตไหม"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"การรีเซ็ตเครือข่ายไม่พร้อมใช้งานสำหรับผู้ใช้รายนี้"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"รีเซ็ตการตั้งค่าเครือข่ายแล้ว"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"ลบซิมไม่ได้"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"ลบ eSIM ไม่ได้เนื่องจากมีข้อผิดพลาด\n\nรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"ลบ eSIM ไม่ได้"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"เกิดข้อผิดพลาดทำให้ลบ eSIM ไม่ได้\n\nโปรดรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
     <string name="main_clear_title" msgid="277664302144837723">"ลบข้อมูลทั้งหมด (รีเซ็ตเป็นค่าเริ่มต้น)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"ลบข้อมูลทั้งหมด (รีเซ็ตเป็นค่าเริ่มต้น)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"เพลง"</li>\n<li>"รูปภาพ"</li>\n<li>"ข้อมูลผู้ใช้อื่นๆ"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"การดำเนินการนี้จะไม่ยกเลิกแพ็กเกจอินเทอร์เน็ตมือถือของคุณ"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"ระบบจะลบข้อมูลส่วนบุคคลและแอปที่ดาวน์โหลดทั้งหมด คุณจะยกเลิกการดำเนินการนี้ไม่ได้"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"ระบบจะลบข้อมูลส่วนบุคคล รวมถึงแอปและซิมที่ดาวน์โหลดมาทั้งหมด คุณจะยกเลิกการดำเนินการนี้ไม่ได้"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"ระบบจะลบข้อมูลส่วนบุคคล รวมถึงแอปและ eSIM ที่ดาวน์โหลดมาทั้งหมด คุณยกเลิกการดำเนินการนี้ไม่ได้"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"ลบข้อมูลทั้งหมดใช่ไหม"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"การรีเซ็ตเป็นค่าเริ่มต้นไม่พร้อมใช้งานสำหรับผู้ใช้รายนี้"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"กำลังลบ"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"ฮอตสปอต USB บลูทูธ อีเทอร์เน็ต"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"ไม่ได้แชร์อินเทอร์เน็ตกับอุปกรณ์อื่น"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"ปิด"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"การเชื่อมต่ออินเทอร์เน็ตผ่านมือถือ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"ไม่ใช้ฮอตสปอต Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"แชร์อินเทอร์เน็ตผ่าน USB เท่านั้น"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"แชร์อินเทอร์เน็ตผ่านบลูทูธเท่านั้น"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"แชร์อินเทอร์เน็ตผ่านอีเทอร์เน็ตเท่านั้น"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"แชร์อินเทอร์เน็ตผ่าน USB และบลูทูธเท่านั้น"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"แชร์อินเทอร์เน็ตผ่าน USB และอีเทอร์เน็ตเท่านั้น"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"แชร์อินเทอร์เน็ตผ่านบลูทูธและอีเทอร์เน็ตเท่านั้น"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"แชร์อินเทอร์เน็ตผ่าน USB บลูทูธ และอีเทอร์เน็ตเท่านั้น"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"เชื่อมต่ออินเทอร์เน็ตผ่าน USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"ต่ออินเทอร์เน็ตผ่านบลูทูธ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"เชื่อมต่ออินเทอร์เน็ตผ่านอีเทอร์เน็ต"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"ใช้ฮอตสปอตและการเชื่อมต่ออินเทอร์เน็ตผ่านมือถือเพื่อ⁠ให้⁠อุ⁠ป⁠ก⁠ร⁠ณ์อื่นๆ ใช้อินเทอร์เน็ตจาก Wi-Fi หรือการเชื่อมต่ออินเทอร์เน็ตมือถือของคุณได้ แอปยังสร้างฮอตสปอตเพื่อแชร์เนื้อหากับอุปกรณ์ที่อยู่ใกล้เคียงได้อีกด้วย"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"ความช่วยเหลือ"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"เครือข่ายมือถือ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"แพ็กเกจอินเทอร์เน็ต"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"แอป SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"เปลี่ยนแอป SMS ไหม"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"ใช้ <xliff:g id="NEW_APP">%1$s</xliff:g> เป็นแอป SMS ของคุณแทน <xliff:g id="CURRENT_APP">%2$s</xliff:g> ไหม"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"เปลี่ยน Wi‑Fi Assistant ใช่ไหม"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"ต้องการใช้ <xliff:g id="NEW_APP">%1$s</xliff:g> แทน <xliff:g id="CURRENT_APP">%2$s</xliff:g> ในการจัดการการเชื่อมต่อเครือข่ายใช่ไหม"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"ใช้ <xliff:g id="NEW_APP">%s</xliff:g> ในการจัดการการเชื่อมต่อเครือข่ายใช่ไหม"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"ไม่รู้จักผู้ให้บริการซิม"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> ไม่มีเว็บไซต์การจัดสรรที่รู้จัก"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"โปรดใส่ซิมการ์ดและรีสตาร์ท"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"โปรดเชื่อมต่ออินเทอร์เน็ต"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"คำขอตำแหน่งล่าสุด"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"ตำแหน่งสำหรับโปรไฟล์งาน"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"สิทธิ์เข้าถึงตำแหน่งสำหรับแอป"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"ล้างการเข้าถึง"</string>
     <string name="controls_label" msgid="8671492254263626383">"การควบคุม"</string>
     <string name="force_stop" msgid="2681771622136916280">"บังคับให้หยุด"</string>
+    <string name="archive" msgid="9074663845068632127">"เก็บ"</string>
+    <string name="restore" msgid="7622486640713967157">"คืนค่า"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"กำลังคืนค่า"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"กำลังคืนค่า"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"กำลังคืนค่า.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"กำลังคืนค่า..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"ทั้งหมด"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ขนาดแอป"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"แอปสำหรับจัดเก็บข้อมูล USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"คำนวณขนาดแพ็กเกจไม่ได้"</string>
     <string name="version_text" msgid="7628938665256107608">"เวอร์ชัน <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"ย้าย"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"เก็บไม่สำเร็จ"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"เก็บ <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> แล้ว"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"คืนค่าไม่สำเร็จ"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"กำลังคืนค่า <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"กำลังย้ายข้อมูลอื่นอยู่"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"พื้นที่จัดเก็บข้อมูลไม่เพียงพอ"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ไม่มีแอปพลิเคชันนี้"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"แป้นพิมพ์บนหน้าจอที่พร้อมใช้งาน"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"จัดการแป้นพิมพ์บนหน้าจอ"</string>
     <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="6922850403920596246">"เปิดใช้คีย์ตีกลับสำหรับการช่วยเหลือพิเศษของแป้นพิมพ์จริง"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"เพิ่มระยะเวลาในการกดปุ่ม"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"เปิดใช้การเพิ่มระยะเวลาในการกดปุ่มสำหรับการช่วยเหลือพิเศษของแป้นพิมพ์จริง"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"คีย์ติดหนึบ"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"เปิดใช้คีย์ติดหนึบสำหรับการช่วยเหลือพิเศษของแป้นพิมพ์จริง"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"แตะที่มุมล่างขวาของทัชแพดเพื่อดูตัวเลือกเพิ่มเติม"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"ความเร็วของตัวชี้"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"เรียนรู้ท่าทางสัมผัสของทัชแพด"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"ไปที่หน้าจอหลัก"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"ใช้ 3 นิ้วปัดขึ้นจากตำแหน่งใดก็ได้บนทัชแพด"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"ย้อนกลับ"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"จัดเรียงตามเวลาการใช้งาน"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"จัดเรียงตามครั้งสุดท้ายที่ใช้"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"จัดเรียงตามชื่อแอป"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"ครั้งสุดท้ายที่ใช้"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"ใช้ล่าสุด"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ไม่เคยใช้"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"เวลาการใช้งาน"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"การช่วยเหลือพิเศษ"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"การตั้งค่าการเข้าถึง"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"ขยายด้วยการแตะ 3 ครั้ง"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"ขยายโดยใช้ทางลัด"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"ขยายโดยใช้ทางลัดและการแตะ 3 ครั้ง"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"เกี่ยวกับ \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"ใช้ปุ่มการช่วยเหลือพิเศษเพื่อเปิด"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"กดปุ่มปรับระดับเสียงค้างไว้เพื่อเปิด"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"แตะหน้าจอ 3 ครั้งเพื่อเปิด"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"ใช้ 2 นิ้วแตะสองครั้งบนหน้าจอเพื่อเปิด"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"ใช้ท่าทางสัมผัสเพื่อเปิด"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ใช้ท่าทางสัมผัสการช่วยเหลือพิเศษ"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"หากต้องการใช้ฟีเจอร์นี้ ให้แตะปุ่มการช่วยเหลือพิเศษ <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ที่ด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้แตะปุ่มการช่วยเหลือพิเศษค้างไว้"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"หากต้องการใช้ฟีเจอร์นี้ ให้แตะปุ่มการช่วยเหลือพิเศษบนหน้าจอ"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"หากต้องการใช้ฟีเจอร์นี้ ให้กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"หากต้องการเริ่มหรือหยุดการขยาย ให้แตะ 3 ครั้งที่ใดก็ได้บนหน้าจอ"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"หากต้องการเริ่มหรือหยุดการขยาย ให้ใช้ 2 นิ้วแตะสองครั้งที่ใดก็ได้บนหน้าจอ"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"หากต้องการใช้ฟีเจอร์นี้ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"หากต้องการใช้ฟีเจอร์นี้ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"หากต้องการใช้ฟีเจอร์การช่วยเหลือพิเศษ ให้ใช้ 2 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 2 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"หากต้องการใช้ฟีเจอร์การช่วยเหลือพิเศษ ให้ใช้ 3 นิ้วเลื่อนขึ้นจากด้านล่างของหน้าจอ\n\nหากต้องการสลับระหว่างฟีเจอร์ต่างๆ ให้ใช้ 3 นิ้วเลื่อนขึ้นแล้วค้างไว้"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"รับทราบ"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"การตั้งค่าปุ่มช่วยเหลือพิเศษ"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"การตั้งค่าปุ่ม"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"ทางลัดของ \"<xliff:g id="SERVICE">%1$s</xliff:g>\""</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ปุ่มการช่วยเหลือพิเศษ"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ท่าทางสัมผัสการช่วยเหลือพิเศษ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"กดปุ่มปรับระดับเสียงค้างไว้"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"กดปุ่มปรับระดับเสียงค้างไว้"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"กดปุ่มปรับระดับเสียงทั้ง 2 ปุ่มค้างไว้"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"ใช้ 2 นิ้วแตะสองครั้งบนหน้าจอ"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"ใช้ 2 นิ้วแตะสองครั้งบนหน้าจอ"</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="6863958573135995927">"แตะหน้าจอ 3 ครั้ง"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"แตะหน้าจอเร็วๆ {0,number,integer} ครั้ง ทางลัดนี้อาจทำให้อุปกรณ์ทำงานช้าลง"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ดูข้อมูลเพิ่มเติมเกี่ยวกับปุ่มการช่วยเหลือพิเศษและท่าทางสัมผัส"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"กำลังใช้ปุ่มการช่วยเหลือพิเศษ ท่าทางสัมผัสดังกล่าวใช้กับการนำทางแบบ 3 ปุ่มไม่ได้"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"เข้าถึงฟีเจอร์การช่วยเหลือพิเศษได้อย่างรวดเร็ว"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"วิธีเริ่มต้นใช้งาน"</b>\n"1. ไปที่การตั้งค่าการช่วยเหลือพิเศษ\n2. เลือกฟีเจอร์และแตะทางลัด\n3. เลือกว่าต้องการใช้ปุ่มหรือท่าทางสัมผัสเพื่อเข้าถึงฟีเจอร์"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"วิธีเริ่มต้นใช้งาน"</b>\n"1. ไปที่การตั้งค่าการช่วยเหลือพิเศษ\n2. เลือกฟีเจอร์และแตะทางลัด\n3. เลือกปุ่มสำหรับการเข้าถึงฟีเจอร์"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"ใช้ปุ่มหรือท่าทางสัมผัส"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"ตำแหน่ง"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"ขนาด"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"กดปุ่มเปิด/ปิดเพื่อวางสาย"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"เคอร์เซอร์เมาส์ขนาดใหญ่"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ทำให้เคอร์เซอร์เมาส์มองเห็นได้ชัดเจนยิ่งขึ้น"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"กำหนดให้ทุกแอปใช้ธีมมืด"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"ใช้กับแอปที่ไม่มีธีมมืดของแอปเอง แอปบางแอปอาจมีปัญหาในการแสดงผลอย่างเช่นการสลับสี"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"นำภาพเคลื่อนไหวออก"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"ลดการเคลื่อนไหวบนหน้าจอ"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"เสียงแบบโมโน"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"ใช้การสั่นและการโต้ตอบการสัมผัส"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"การสั่นเมื่อปลุก"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"การสั่นของสื่อ"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"การสั่นของแป้นพิมพ์"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"การสั่นเมื่อมีเสียงเรียกเข้า"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"การสั่นเมื่อมีการแจ้งเตือน"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"การตอบสนองการสัมผัส"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"หยุด"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"ยกเลิก"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"หยุด \"<xliff:g id="SERVICE">%1$s</xliff:g>\" ไหม"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"การแตะ<xliff:g id="STOP">%1$s</xliff:g>จะหยุด <xliff:g id="SERVICE">%2$s</xliff:g>"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"ปิด"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"เปิดไว้"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"ปิด <xliff:g id="SERVICE">%1$s</xliff:g> ใช่ไหม"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"ไม่ได้ติดตั้งบริการใดไว้"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"ไม่ได้เลือกบริการ"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"ไม่มีคำอธิบาย"</string>
     <string name="settings_button" msgid="2195468788019730377">"การตั้งค่า"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ความไวต่อแสง อาการกลัวแสง ธีมมืด ไมเกรน ปวดหัว โหมดอ่านหนังสือ โหมดกลางคืน ลดความสว่าง จุดสีขาว"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"ใช้งานง่าย, เข้าถึงง่าย, ความช่วยเหลือ, การช่วยเหลือพิเศษ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"การมองเห็น, การได้ยิน, ตาบอด, หูหนวก, การเคลื่อนไหว, ความคล่องแคล่ว, อำนวยความสะดวก, การสนับสนุน, ใช้งานง่าย, เข้าถึงง่าย, มือ, ความช่วยเหลือ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"แว่นขยายหน้าจอ, ซูม, การขยาย, สายตาเลือนราง, ขยาย, ทำให้ใหญ่ขึ้น"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"คำบรรยายแทนเสียง, คำบรรภาพ, คำบรรยาย, Live Transcribe, มีปัญหาในการได้ยิน, สูญเสียการได้ยิน, CART, การแปลงเสียงพูดเป็นข้อความ"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"คอนทราสต์ของสี"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"การเคลื่อนไหว, เมาส์"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"เครื่องช่วยฟัง, มีปัญหาในการได้ยิน, สูญเสียการได้ยิน, ประสาทหูเทียม, อุปกรณ์ขยายเสียง, เครื่องแปลงสัญญาณเสียง"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"การเคลื่อนไหว, เมาส์, เมาส์ภายนอก, เมาส์แบบคาดศีรษะ, เมาส์แบบปรับได้, วีลแชร์, จอยสติ๊ก"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"เครื่องช่วยฟัง, มีปัญหาในการได้ยิน, สูญเสียการได้ยิน, ประสาทหูเทียม, อุปกรณ์ขยายเสียง, เครื่องแปลงสัญญาณเสียง, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"มีปัญหาในการได้ยิน, สูญเสียการได้ยิน, คำบรรยายแทนเสียง, โทรพิมพ์, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ปุ่ม 3 ปุ่ม"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"ความคล่องแคล่ว, การเคลื่อนไหว, ผู้สูงอายุ, ภาวะข้ออักเสบ, RSI, โรคหลอดเลือดสมอง, อาการสั่น, โรคปลอกประสาทเสื่อมแข็ง, ภาวะสมองพิการ, การสั่น, การบาดเจ็บจากการทำงานซ้ำๆ, มือ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ล่าช้า, ความคล่องแคล่ว, ผู้สูงอายุ"</string>
     <string name="print_settings" msgid="8519810615863882491">"การพิมพ์"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"ปิด"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{เปิดบริการพิมพ์ 1 รายการ}other{เปิดบริการพิมพ์ # รายการ}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"เหลืออีก <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"อีก <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> จะชาร์จเต็ม"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"เวลาอยู่หน้าจอ"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"เวลาที่ทำงานอยู่เบื้องหลัง"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"แบตเตอรี่อ่อน"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"อนุญาตให้แอปทำงานในเบื้องหลัง"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"จำกัดกิจกรรมในพื้นหลังใช่ไหม"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"แอปอาจทำงานผิดพลาดหากคุณจำกัดกิจกรรมในพื้นหลัง"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"เนื่องจากแอปนี้ไม่ได้ตั้งค่าให้เพิ่มประสิทธิภาพแบตเตอรี่ คุณจึงจำกัดการใช้งานไม่ได้\n\nหากต้องการจำกัด ให้เปิดการเพิ่มประสิทธิภาพแบตเตอรี่ก่อน"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"จัดการการใช้งานแบตเตอรี่"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"อนุญาตการใช้งานในเบื้องหลัง"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"เปิดใช้เพื่อให้อัปเดตแบบเรียลไทม์ ปิดใช้เพื่อประหยัดแบตเตอรี่"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"ไม่จำกัด"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"เพิ่มประสิทธิภาพ"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"จำกัด"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"ดูแอปที่มีการใช้งานแบตเตอรี่สูงสุด"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"ปรับการชาร์จให้เหมาะสมแล้วเพื่อถนอมแบตเตอรี่"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"อุปกรณ์จะเพิ่มประสิทธิภาพการชาร์จเพื่อช่วยยืดอายุการใช้งานของแบตเตอรี่"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"ปรับการชาร์จให้เหมาะสมแล้วเพื่อถนอมแบตเตอรี่"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"อุปกรณ์จะปรับการชาร์จให้เหมาะสมขณะวางอยู่บนแท่นชาร์จเพื่อช่วยยืดอายุการใช้งานแบตเตอรี่"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"ปรับการชาร์จให้เหมาะสมแล้วเพื่อถนอมแบตเตอรี่"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"อุปกรณ์จะปรับการชาร์จให้เหมาะสมขณะวางอยู่บนแท่นชาร์จเพื่อช่วยยืดอายุการใช้งานแบตเตอรี่"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"การชาร์จจนเต็ม"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"อุปกรณ์จะปรับการชาร์จให้เหมาะสมในครั้งถัดไปที่คุณวางแท็บเล็ตบนแท่นชาร์จเพื่อถนอมแบตเตอรี่"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการชาร์จหยุดชั่วคราว"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"ชาร์จต่อ"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"รวมกิจกรรมในเบื้องหลังที่ใช้พลังงานมาก"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"แอปนี้จะใช้แบตเตอรี่ในเบื้องหลังได้ แบตเตอรี่จึงอาจจะหมดเร็วกว่าที่คาดไว้"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"นำออก"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"ยกเลิก"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"ชาร์จจนเต็ม"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"ปัญหาเกี่ยวกับอุปกรณ์เสริมสำหรับการชาร์จ"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"ตรวจสอบอุปกรณ์เสริมสำหรับการชาร์จ"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"ดูข้อมูลเพิ่มเติมเกี่ยวกับการชาร์จด้วยอะแดปเตอร์ที่ใช้ร่วมกันไม่ได้"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"ตัวจัดการแบตเตอรี่"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"จัดการแอปโดยอัตโนมัติ"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"ตั้งแต่ชาร์จจนเต็มครั้งล่าสุด"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"แอประบบ"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"แอปที่ถอนการติดตั้งแล้ว"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"อื่นๆ"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"เวลาที่เหลือโดยประมาณ"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"จนกว่าจะชาร์จเต็ม"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"รวม: ไม่ถึง 1 นาที"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"การทำงานในเบื้องหลัง: ไม่ถึง 1 นาที"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"เวลาอยู่หน้าจอ: น้อยกว่า 1 นาที"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"น้อยกว่า 1 นาที"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"รวม: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"การทำงานในเบื้องหลัง: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"เวลาอยู่หน้าจอ: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ขณะนี้"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"แผนภูมิการใช้งานแบตเตอรี่"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"แผนภูมิการใช้งานแบตเตอรี่รายวัน"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"แผนภูมิการใช้งานแบตเตอรี่รายชั่วโมง"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"เปอร์เซ็นต์ระดับแบตเตอรี่จาก <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> เป็น <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"การใช้งานแบตเตอรี่ตั้งแต่ชาร์จจนเต็มครั้งล่าสุด"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"การใช้งานแบตเตอรี่ในช่วง <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"เวลาอยู่หน้าจอตั้งแต่ชาร์จจนเต็มครั้งล่าสุด"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"สัญญาณการโทรฉุกเฉิน"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ตั้งค่าการทำงานเมื่อมีการโทรหาหมายเลขฉุกเฉิน"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"การสำรองข้อมูล"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"เปิด"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"ปิด"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"การสำรองและคืนค่าข้อมูล"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ข้อมูลส่วนตัว"</string>
     <string name="backup_data_title" msgid="507663517227498525">"สำรองข้อมูลของฉัน"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"อินเทอร์เน็ตมือถือและ Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ซิงค์ข้อมูลส่วนตัวอัตโนมัติ"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"ซิงค์ข้อมูลงานอัตโนมัติ"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"ซิงค์ข้อมูลส่วนตัวโดยอัตโนมัติ"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"เปลี่ยนรอบ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"วันที่ของเดือนในการรีเซ็ตรอบการใช้ข้อมูล:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"ไม่มีข้อมูลการใช้แอปพลิเคชันในช่วงเวลานี้"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"ชื่อ"</string>
     <string name="vpn_type" msgid="5533202873260826663">"ประเภท"</string>
     <string name="vpn_server" msgid="2908816134941973935">"ที่อยู่เซิร์ฟเวอร์"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"การเข้ารหัส PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"ข้อมูลลับ L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"ตัวระบุ IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"คีย์ IPSec ที่แชร์ไว้ล่วงหน้า"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"ใบรับรองผู้ใช้ IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"ใบรับรอง IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"ใบรับรองเซิร์ฟเวอร์ IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"แสดงตัวเลือกขั้นสูง"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"โดเมนการค้นหา DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"เซิร์ฟเวอร์ DNS (เช่น 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"เส้นทางการส่งต่อ (เช่น 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"ชื่อผู้ใช้"</string>
     <string name="vpn_password" msgid="1183746907642628127">"รหัสผ่าน"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"บันทึกข้อมูลบัญชี"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ไม่ใช้)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ไม่ตรวจสอบเซิร์ฟเวอร์)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(ได้รับจากเซิร์ฟเวอร์)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"VPN ประเภทนี้ไม่สามารถเชื่อมต่อไว้ตลอดเวลา"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"การเชื่อมต่อ VPN ตลอดเวลารองรับที่อยู่เซิร์ฟเวอร์แบบตัวเลขเท่านั้น"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"ต้องระบุเซิร์ฟเวอร์ DNS สำหรับการเชื่อมต่อ VPN ตลอดเวลา"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"ที่อยู่เซิร์ฟเวอร์ DNS ต้องเป็นตัวเลขสำหรับการเชื่อมต่อ VPN ตลอดเวลา"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"ข้อมูลที่ป้อนไม่รองรับการเชื่อมต่อ VPN ตลอดเวลา"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"ยกเลิก"</string>
     <string name="vpn_done" msgid="5137858784289564985">"ปิด"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"บล็อกการเชื่อมต่อโดยไม่ใช้ VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"ต้องใช้การเชื่อมต่อ VPN ไหม"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"ไม่ปลอดภัย อัปเดตเป็น IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"เริ่มใช้ VPN ที่ไม่รองรับไม่สำเร็จ"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"เลือกโปรไฟล์ VPN เพื่อคงการเชื่อมต่อเอาไว้ตลอดเวลา การเข้าใช้เครือข่ายจะได้รับอนุญาตเฉพาะเมื่อมีการเชื่อมต่อกับ VPN นี้เท่านั้น"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"ไม่มี"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN แบบเปิดตลอดเวลาจำเป็นต้องใช้ที่อยู่ IP ทั้งสำหรับเซิร์ฟเวอร์และ DNS"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"การแจ้งเตือนเด็กหาย Amber Alert"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"รับกระดานข่าวสารเกี่ยวกับการลักพาตัวเด็ก"</string>
     <string name="repeat_title" msgid="8676570486899483606">"เล่นซ้ำ"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"เปิดใช้ Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"อนุญาตให้บริการนี้จัดการวิธีการโทรของคุณ"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"การแจ้งเหตุฉุกเฉินแบบไร้สาย"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"ผู้ให้บริการเครือข่าย"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Access point names"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"สถานะซิม"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"สถานะซิม (ช่องซิม %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"เปลี่ยนซิมแล้ว"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"เปลี่ยนซิมแล้ว"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"แตะเพื่อตั้งค่า"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ถามทุกครั้ง"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"ต้องเลือก"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"แอปล่าสุด แอปเริ่มต้น"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"การเข้าถึงการแจ้งเตือนไม่พร้อมใช้งานสำหรบแอปในโปรไฟล์งาน"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"รหัสผ่านและบัญชี"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"รหัสผ่านที่บันทึกไว้ ป้อนข้อความอัตโนมัติ บัญชีที่ซิงค์"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"คำแนะนำสำหรับการลงชื่อเข้าใช้และป้อนข้อความอัตโนมัติ"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"แอปเริ่มต้น"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"แอปโคลน"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"สร้างสำเนาแอปเพื่อให้คุณใช้งานทั้ง 2 บัญชีพร้อมกันได้"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ชำระเงิน แตะ การชำระเงิน"</string>
     <string name="keywords_backup" msgid="707735920706667685">"ข้อมูลสำรอง, สำรองข้อมูล"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"ท่าทางสัมผัส"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ใบหน้า, ปลดล็อก, การตรวจสอบสิทธิ์, ลงชื่อเข้าใช้"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ใบหน้า, ปลดล็อก, การตรวจสอบสิทธิ์, ลงชื่อเข้าใช้, ลายนิ้วมือ, ข้อมูลไบโอเมตริก"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, เวอร์ชัน prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ขนาดข้อความ, ตัวอักษรขนาดใหญ่, แบบอักษรขนาดใหญ่, ข้อความขนาดใหญ่, สายตาเลือนราง, ทำให้ข้อความใหญ่ขึ้น, เครื่องมือขยายแบบอักษร, การขยายแบบอักษร"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"การแสดงภาพพักหน้าจอเปิดตลอดเวลา, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, แท็ก, เครื่องอ่าน"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"แป้นพิมพ์ การโต้ตอบการสัมผัส การสั่น"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"ระดับเสียง การสั่น ห้ามรบกวน"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"ระดับเสียงของสื่อ"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"ระดับเสียงเมื่อแคสต์"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"เสียงเปิดเครื่อง"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"คำบรรยายสด"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"แสดงคำบรรยายสื่อโดยอัตโนมัติ"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"ลำโพงโทรศัพท์"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ลำโพงแท็บเล็ต"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"ลำโพงอุปกรณ์"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"หูฟังแบบมีสาย"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"เสียงจากสื่อที่เข้ากันได้จะสมจริงยิ่งขึ้น"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"ปิด"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"แสดงเนื้อหาการแจ้งเตือนทั้งหมด"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"แสดงเนื้อหาที่ละเอียดอ่อนเฉพาะเมื่อปลดล็อก"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"ไม่ต้องแสดงการแจ้งเตือน"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"คุณอยากให้หน้าจอล็อกแสดงในรูปแบบใด"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"คุณอยากให้หน้าจอล็อกแสดงอะไรบ้าง"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"หน้าจอล็อก"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"แสดงเนื้อหาการแจ้งเตือนงานทั้งหมด"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"ซ่อนเนื้อหางานที่ละเอียดอ่อน"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"นำการสนทนาล่าสุดออกแล้ว"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"นำการสนทนาออกแล้ว"</string>
     <string name="clear" msgid="5092178335409471100">"ล้าง"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"ล้าง <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"การสนทนาที่สำคัญและการสนทนาที่มีการเปลี่ยนแปลงจะปรากฏที่นี่"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"การสนทนาจะปรากฏที่นี่เมื่อตั้งสถานะให้เป็นการสนทนาที่สำคัญหรือทำการเปลี่ยนแปลงอื่นๆ \n\nวิธีเปลี่ยนการตั้งค่าการสนทนา \nปัดลงจากด้านบนของหน้าจอเพื่อเปิดหน้าต่างแจ้งเตือนแบบดึงลง จากนั้นแตะการสนทนาค้างไว้"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"ย่อเล็กสุด"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"ระยะเวลาพักการแจ้งเตือน"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"ใช้ระยะเวลาพักกับการแจ้งเตือนทั้งหมด"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"ค่อยๆ ลดระดับเสียงการแจ้งเตือนลงเมื่อคุณได้รับการแจ้งเตือนต่อเนื่องเป็นจำนวนมากจากแอปเดียวกัน"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"ใช้ระยะเวลาพักกับการแจ้งเตือน"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"ค่อยๆ ลดระดับเสียงการแจ้งเตือนลงเมื่อคุณได้รับข้อความเป็นจำนวนมากจากแชทเดียวกันในระยะเวลาสั้นๆ"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"ไม่ใช้ระยะเวลาพักการแจ้งเตือน"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"ไม่ลดระดับเสียงการแจ้งเตือนลง ไม่ว่าจะมีจำนวนการแจ้งเตือนต่อเนื่องจากแอปเดียวกันเท่าใดก็ตาม"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"สั่นเมื่อปลดล็อก"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"สั่นเฉพาะเวลาที่ไม่ได้ล็อกหน้าจอเท่านั้น"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"ใช้กับโปรไฟล์งาน"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"ใช้การตั้งค่าระยะเวลาพักการแจ้งเตือนจากโปรไฟล์ส่วนตัวกับโปรไฟล์งาน"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"บริการตัวช่วย VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"แอปที่ติดตั้งอยู่ไม่ได้ขอให้เรียกใช้เป็นบริการตัวช่วย VR"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"อนุญาตให้ <xliff:g id="SERVICE">%1$s</xliff:g> เข้าถึงบริการ VR ไหม"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"ปิด"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"การปักหมุดแอป"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"การปักหมุดแอปจะทำให้คุณเห็นแอปปัจจุบันได้ตลอดจนกว่าจะเลิกปักหมุด ตัวอย่างการใช้ฟีเจอร์นี้ เช่น อนุญาตให้เพื่อนที่เชื่อถือได้เล่นเกมหนึ่งๆ"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"เมื่อปักหมุดแอป แอปที่ปักหมุดอาจเปิดแอปอื่นๆ และอาจมีการเข้าถึงข้อมูลส่วนตัว \n\nวิธีใช้การปักหมุดแอป 	\n1. เปิดการปักหมุดแอป 	\n2. เปิด \"ภาพรวม\" 	\n3. แตะไอคอนแอปที่ด้านบนหน้าจอ จากนั้นแตะ \"ปักหมุด\""</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"เมื่อปักหมุดแอป แอปที่ปักหมุดอาจเปิดแอปอื่นๆ และอาจมีการเข้าถึงข้อมูลส่วนตัว \n\nหากต้องการใช้อุปกรณ์ร่วมกับคนอื่นอย่างปลอดภัย ให้ลองใช้ผู้ใช้ชั่วคราวแทน \n\nวิธีใช้การปักหมุดแอป 	\n1. เปิดการปักหมุดแอป 	\n2. เปิด \"ภาพรวม\" 	\n3. แตะไอคอนแอปที่ด้านบนหน้าจอ จากนั้นแตะ \"ปักหมุด\""</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"เมื่อปักหมุดแอปแล้ว แอปที่ปักหมุดไว้อาจเปิดแอปอื่นๆ และอาจมีการเข้าถึงข้อมูลส่วนตัว \n\nวิธีใช้การปักหมุดแอป 	\n{0,number,integer} เปิดการปักหมุดแอป 	\n{1,number,integer} เปิดภาพรวม 	\n{2,number,integer} แตะไอคอนแอปที่ด้านบนหน้าจอ จากนั้นแตะ \"ปักหมุด\""</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"เมื่อปักหมุดแอปแล้ว แอปที่ปักหมุดไว้อาจเปิดแอปอื่นๆ และอาจมีการเข้าถึงข้อมูลส่วนตัว \n\nหากต้องการใช้อุปกรณ์ร่วมกับคนอื่นอย่างปลอดภัย ให้ลองใช้ผู้ใช้ที่เป็นผู้มาเยือนแทน \n\nวิธีใช้การปักหมุดแอป 	\n{0,number,integer} เปิดการปักหมุดแอป 	\n{1,number,integer} เปิดภาพรวม 	\n{2,number,integer} แตะไอคอนแอปที่ด้านบนหน้าจอ จากนั้นแตะ \"ปักหมุด\""</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"เมื่อมีการปักหมุดแอป \n\n•	 อาจมีการเข้าถึงข้อมูลส่วนตัว (เช่น รายชื่อติดต่อและเนื้อหาในอีเมล)\n•	 แอปที่ปักหมุดอาจเปิดแอปอื่นๆ \n\nใช้การปักหมุดแอปกับคนที่คุณไว้ใจเท่านั้น\n"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"ขอรูปแบบการปลดล็อกก่อนเลิกปักหมุด"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"ขอ PIN ก่อนเลิกปักหมุด"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"ขอรหัสผ่านก่อนเลิกปักหมุด"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"ล็อกอุปกรณ์เมื่อเลิกปักหมุด"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"ยืนยันการลบซิม"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"ยืนยันว่าคุณต้องการลบ eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"ยืนยันตัวตนของคุณก่อนลบ eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"การป้องกันหน่วยความจำขั้นสูง (เบต้า)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"การป้องกันหน่วยความจำขั้นสูง"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"การตั้งค่าแอปที่ไม่ได้ใช้"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"หยุดกิจกรรมบนแอปไว้ชั่วคราวหากไม่ได้ใช้"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"นำสิทธิ์ออก ลบไฟล์ชั่วคราว และหยุดการแจ้งเตือน"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"จัดการแอปหากไม่ได้ใช้งาน"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"นำสิทธิ์ออก ลบไฟล์ชั่วคราว หยุดการแจ้งเตือน และเก็บแอป"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"แอปทั้งหมด"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"แอปที่ติดตั้ง"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Instant Apps"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"เหลือ"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"หน่วยความจำที่แอปใช้"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 แอปใช้หน่วยความจำในช่วง {time}ที่ผ่านมา}other{# แอปใช้หน่วยความจำในช่วง {time}ที่ผ่านมา}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"เปิดใช้การทำโปรไฟล์การใช้งานหน่วยความจำ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"การทำโปรไฟล์การใช้งานหน่วยความจำต้องใช้ทรัพยากรระบบเพิ่มเติม"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"ปิดใช้การทำโปรไฟล์หน่วยความจำอยู่"</string>
     <string name="running_frequency" msgid="7260225121706316639">"ความถี่"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"การใช้งานสูงสุด"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"ไม่ได้ใช้อินเทอร์เน็ต"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"แสดงทับบนแอปอื่นๆ"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"อนุญาตให้แสดงทับแอปอื่นๆ"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"อนุญาตให้แอปนี้แสดงทับแอปอื่นๆ ที่คุณกำลังใช้อยู่ แอปนี้จะเห็นจุดที่คุณแตะหรือเปลี่ยนแปลงสิ่งที่ปรากฏในหน้าจอได้"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"เปลี่ยนเอาต์พุตสื่อ"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"อนุญาตให้แอปเปลี่ยนเอาต์พุตสื่อ"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"อนุญาตให้แอปนี้เลือกอุปกรณ์ที่เชื่อมต่อที่จะเล่นเสียงหรือวิดีโอจากแอปอื่นๆ หากอนุญาต แอปนี้สามารถเข้าถึงรายการอุปกรณ์ที่มี เช่น หูฟังและลำโพง แล้วเลือกอุปกรณ์เอาต์พุตที่จะใช้ในการสตรีมหรือแคสต์เสียงหรือวิดีโอ"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"การเข้าถึงไฟล์ทั้งหมด"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"อนุญาตให้เข้าถึงเพื่อจัดการไฟล์ทั้งหมด"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"อนุญาตให้แอปนี้อ่าน แก้ไข และลบไฟล์ทั้งหมดในอุปกรณ์นี้หรือวอลุ่มของพื้นที่เก็บข้อมูลใดๆ ที่เชื่อมต่อ หากได้รับอนุญาต ​แอปอาจเข้าถึงไฟล์ได้โดยที่คุณไม่ทราบอย่างชัดแจ้ง"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"เข้าถึงไฟล์ทั้งหมดได้"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"แอปการเปิดใช้งานด้วยเสียง"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"อนุญาตการเปิดใช้งานด้วยเสียง"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"การเปิดใช้งานด้วยเสียงจะเปิดแอปที่ได้รับอนุมัติแบบแฮนด์ฟรีโดยใช้คำสั่งเสียง การตรวจจับแบบปรับอัตโนมัติในตัวช่วยให้มั่นใจได้ว่าข้อมูลจะเป็นส่วนตัวสำหรับคุณเท่านั้น\n\n"<a href="">"ข้อมูลเพิ่มเติมเกี่ยวกับการตรวจจับแบบปรับอัตโนมัติที่มีการป้องกัน"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"การแจ้งเตือนแบบเต็มหน้าจอ"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"อนุญาตให้แอปนี้แสดงการแจ้งเตือนแบบเต็มหน้าจอ"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"อนุญาตให้แอปนี้แสดงการแจ้งเตือนได้เต็มหน้าจอเมื่ออุปกรณ์ล็อกอยู่ แอปอาจใช้การแจ้งเตือนเหล่านี้เพื่อให้เห็นการปลุก สายเรียกเข้า หรือการแจ้งเตือนอื่นๆ ที่เร่งด่วนได้อย่างเด่นชัด"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"คำเตือนปริมาณอินเทอร์เน็ต <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"ขีดจำกัดอินเทอร์เน็ต <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"คำเตือนปริมาณอินเทอร์เน็ต <xliff:g id="ID_1">^1</xliff:g>/ขีดจำกัดอินเทอร์เน็ต <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"การบันทึกการใช้อินเทอร์เน็ตของผู้ให้บริการอาจแตกต่างไปจากการบันทึกในอุปกรณ์"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"ไม่รวมอินเทอร์เน็ตที่ใช้โดยเครือข่ายผู้ให้บริการ"</string>
     <string name="data_used_template" msgid="8229342096562327646">"ใช้ไป <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ตั้งค่าเตือนการใช้อินเทอร์เน็ต"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"อัปเดตเมื่อ <xliff:g id="ID_1">^2</xliff:g>ที่ผ่านมา"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"อัปเดตโดย <xliff:g id="ID_1">^1</xliff:g> เมื่อสักครู่นี้"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"เพิ่งอัปเดตเมื่อสักครู่นี้"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"ดูแผนบริการ"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"ดูรายละเอียด"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"การประหยัดอินเทอร์เน็ต"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"ไม่จำกัดการใช้อินเทอร์เน็ต"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ใช้แบตเตอรี่มากกว่าปกติเมื่อทำงานในเบื้องหลัง"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ใช้แบตเตอรี่มากขึ้นเมื่อทำงานในเบื้องหน้า"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ใช้แบตเตอรี่มากกว่าปกติเมื่อทำงานในเบื้องหน้า"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"การใช้งานแบตเตอรี่ผิดปกติ"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"การใช้งานแบตเตอรี่สูง"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"ใช้งานแบตเตอรี่สูงเมื่อทำงานในเบื้องหลัง"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"ใช้งานแบตเตอรี่สูงเมื่อทำงานในเบื้องหน้า"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"การ์ดการตั้งค่าด่วนสำหรับนักพัฒนาแอป"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"ปิดใช้ระยะหมดเวลาการให้สิทธิ์ adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"ปิดใช้การเพิกถอนการให้สิทธิ์ adb โดยอัตโนมัติสำหรับระบบที่ไม่ได้เชื่อมต่อใหม่ภายในระยะเวลาที่เป็นค่าเริ่มต้น (7 วัน) หรือระยะเวลาที่ผู้ใช้กำหนดค่าไว้ (ขั้นต่ำ 1 วัน)"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope Trace"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"ปิดเซ็นเซอร์"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"การตั้งค่าโปรไฟล์งาน"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ค้นหารายชื่อติดต่อจากไดเรกทอรีงานในแอปส่วนตัว"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"การนำทางของระบบ, การนำทางแบบ 2 ปุ่ม, การนำทางแบบ 3 ปุ่ม, การนำทางด้วยท่าทางสัมผัส, เลื่อน"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ผู้ช่วยดิจิทัล"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"ปัดเพื่อเรียกใช้ผู้ช่วย"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ปัดขึ้นจากมุมด้านล่างเพื่อเรียกใช้แอปผู้ช่วยดิจิทัล"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ปัดขึ้นจากมุมด้านล่างเพื่อเรียกใช้แอปผู้ช่วยดิจิทัล"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"กดปุ่มหน้าแรกค้างไว้เพื่อเรียกใช้ Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"กดปุ่มหน้าแรกค้างไว้เพื่อเรียกใช้แอปผู้ช่วยดิจิทัล"</string>
     <string name="low_label" msgid="6525629096999711220">"ต่ำ"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"บริการป้อนข้อความอัตโนมัติ"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"บริการป้อนข้อความอัตโนมัติเริ่มต้น"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"รหัสผ่าน"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"รหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ต"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"ผู้ให้บริการเพิ่มเติม"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"บริการที่ต้องการ"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"บริการเพิ่มเติม"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{รหัสผ่าน # รายการ}other{รหัสผ่าน # รายการ}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"อัตโนมัติ ป้อนข้อความ ป้อนข้อความอัตโนมัติ รหัสผ่าน"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"อินเทอร์เน็ต, พาสคีย์, รหัสผ่าน"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"อัตโนมัติ, ป้อน, ป้อนข้อความอัตโนมัติ, ข้อมูล, พาสคีย์, รหัสผ่าน"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"การเปลี่ยนแปลง"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"เปิด"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"ไม่มีรายการที่เลือก"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;ตรวจดูว่าคุณเชื่อถือแอปนี้ได้&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google ป้อนอัตโนมัติ&gt;%1$s&lt;/xliff:g&gt; ใช้สิ่งที่อยู่บนหน้าจอเพื่อดูว่าจะป้อนข้อมูลใดโดยอัตโนมัติได้บ้าง"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;ใช้ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ไหม&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; จะใช้สิ่งที่อยู่บนหน้าจอเพื่อดูว่าจะป้อนข้อมูลใดโดยอัตโนมัติได้บ้าง ระบบจะบันทึกรหัสผ่านใหม่ พาสคีย์ และข้อมูลอื่นๆ ไว้ที่นี่นับจากนี้เป็นต้นไป"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"รหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ต"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;ใช้ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ระบบจะบันทึกรหัสผ่านใหม่ พาสคีย์ และข้อมูลอื่นๆ ไว้ที่นี่นับจากนี้เป็นต้นไป &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; อาจใช้สิ่งที่อยู่บนหน้าจอเพื่อดูว่าจะป้อนข้อมูลใดโดยอัตโนมัติได้บ้าง"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"บริการที่ต้องการสำหรับรหัสผ่าน พาสคีย์ และป้อนข้อความอัตโนมัติ"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"ปิด %1$s ไหม"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;ปิดบริการนี้ไหม&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ระบบจะไม่กรอกข้อมูลที่บันทึกไว้ เช่น รหัสผ่าน พาสคีย์ วิธีการชำระเงิน และข้อมูลอื่นๆ เมื่อคุณลงชื่อเข้าใช้ หากต้องการใช้ข้อมูลที่บันทึกไว้ ให้เลือกรหัสผ่าน พาสคีย์ หรือบริการข้อมูล"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"รหัสผ่าน พาสคีย์ และป้อนข้อความอัตโนมัติ"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;ต้องการปิดบริการทั้งหมดหรือไม่&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ระบบจะไม่ป้อนรหัสผ่าน พาสคีย์ และข้อมูลอื่นๆ ที่บันทึกไว้โดยอัตโนมัติเมื่อคุณลงชื่อเข้าใช้"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;เปลี่ยนบริการที่ต้องการเป็น &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; ระบบจะบันทึกรหัสผ่านใหม่ พาสคีย์ และข้อมูลอื่นๆ ไว้ที่นี่นับจากนี้เป็นต้นไป &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; อาจใช้สิ่งที่อยู่บนหน้าจอเพื่อดูว่าจะป้อนข้อมูลใดโดยอัตโนมัติได้บ้าง"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"ใช้ %1$s ใช่ไหม"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"ปิด"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"เปลี่ยน"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"คุณเปิดใช้บริการได้เพียง 5 รายการเท่านั้น"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"ปิดบริการอย่างน้อย 1 รายการเพื่อเพิ่มบริการอื่น"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ใช้สิ่งที่อยู่บนหน้าจอเพื่อดูว่าจะป้อนข้อมูลใดโดยอัตโนมัติได้บ้าง"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"ขีดจำกัดรหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ต"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"คุณสามารถใช้งานรหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ตได้พร้อมกันสูงสุด 5 รายการ ปิดบริการใดบริการหนึ่งเพื่อเพิ่มอีก"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"ขีดจำกัดรหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ต"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"คุณสามารถใช้งานรหัสผ่าน พาสคีย์ และบริการอินเทอร์เน็ตได้พร้อมกันสูงสุด 5 รายการ ปิดบริการใดบริการหนึ่งเพื่อเพิ่มอีก"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"ปิด"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"ป้อนอัตโนมัติ"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"ระดับการบันทึก"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"จะแก้ไขการเปลี่ยนแปลงความเข้ากันได้ของแอปได้เฉพาะแอปที่แก้ไขข้อบกพร่องได้เท่านั้น ติดตั้งแอปที่แก้ไขข้อบกพร่องได้แล้วลองอีกครั้ง"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"ขึ้นอยู่กับการตั้งค่าอื่น"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"บัญชี"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d บัญชี"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"ชื่ออุปกรณ์"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"ข้อมูลพื้นฐาน"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"กฎหมายและข้อบังคับ"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"อนุญาตให้เปิดแอปนี้เมื่อมีการสแกนแท็ก NFC\nหากสิทธิ์นี้เปิดอยู่ แอปดังกล่าวจะพร้อมเป็นตัวเลือกเมื่อใดก็ตามที่ระบบตรวจพบแท็ก"</string>
     <string name="media_output_title" msgid="8283629315159510680">"เล่นสื่อไปยัง"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"เล่น <xliff:g id="LABEL">%s</xliff:g> ใน"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"เสียงจะเล่นต่อไป"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"อุปกรณ์นี้"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"ใช้งานไม่ได้ขณะสนทนาโทรศัพท์"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"รับสายใน"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"ปิดเสียง"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"หากต้องการเปิดใช้ ก่อนอื่นให้เปลี่ยน \"กดปุ่มเปิด/ปิดค้างไว้\" เป็นเมนูเปิด/ปิด"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"รายละเอียดเครือข่าย"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"แอปในโทรศัพท์จะเห็นชื่อของอุปกรณ์ และคนอื่นก็อาจเห็นเช่นกันหากคุณเชื่อมต่อกับอุปกรณ์บลูทูธหรือเครือข่าย Wi-Fi หรือตั้งค่าฮอตสปอต Wi-Fi"</string>
     <string name="devices_title" msgid="649715719278562515">"อุปกรณ์"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"เลือกเครือข่าย"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"เลิกเชื่อมต่อแล้ว"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"ชื่อ"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"สี (ใช้โดยแอปที่เข้ากันได้)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"บันทึก"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"ใช้ซิม"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"ใช้ซิมนี้"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"ปิด"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"ถอดซิมการ์ดเพื่อปิดใช้ซิมนี้"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"แตะเพื่อเปิดใช้งาน <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"ลบซิม"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"หากต้องการปิดซิมนี้ ให้นำซิมการ์ดออก"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"แตะเพื่อเปิดใช้งานซิม <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"ลบ eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ประเภทเครือข่ายที่ต้องการ"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"เปลี่ยนโหมดปฏิบัติการของเครือข่าย"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ประเภทเครือข่ายที่ต้องการ"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"โปรดสอบถามผู้ให้บริการเครือข่ายสำหรับข้อมูลเกี่ยวกับราคา"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ปริมาณการใช้อินเทอร์เน็ตของแอป"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"โหมดเครือข่ายไม่ถูกต้อง <xliff:g id="NETWORKMODEID">%1$d</xliff:g> ไม่สนใจ"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"การรับส่งข้อความผ่านดาวเทียม"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"รับส่งข้อความผ่านดาวเทียม รวมอยู่ในบัญชี"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"รับส่งข้อความผ่านดาวเทียม ไม่รวมอยู่ในบัญชี"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"การรับส่งข้อความผ่านดาวเทียม"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"เกี่ยวกับการรับส่งข้อความผ่านดาวเทียม"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"คุณรับส่งข้อความผ่านดาวเทียมได้โดยเป็นส่วนหนึ่งของบัญชี <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ที่มีสิทธิ์"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"แพ็กเกจ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ของคุณ"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"การรับส่งข้อความผ่านดาวเทียมรวมอยู่ในบัญชีของคุณ"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"การรับส่งข้อความผ่านดาวเทียมไม่รวมอยู่ในบัญชีของคุณ"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"เพิ่มการรับส่งข้อความผ่านดาวเทียม"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"วิธีการทำงาน"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"เมื่อคุณไม่มีเครือข่ายมือถือ"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"โทรศัพท์ของคุณจะเชื่อมต่อกับดาวเทียมโดยอัตโนมัติ โปรดอยู่ในพื้นที่ที่มองเห็นท้องฟ้าได้อย่างชัดเจนเพื่อรับการเชื่อมต่อที่ดีที่สุด"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"หลังจากที่โทรศัพท์เชื่อมต่อกับดาวเทียม"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"คุณส่งข้อความถึงใครก็ได้ รวมถึงบริการช่วยเหลือฉุกเฉิน โดยโทรศัพท์จะเชื่อมต่อกับเครือข่ายมือถืออีกครั้งเมื่อมีให้ใช้งาน"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"การรับส่งข้อความผ่านดาวเทียมอาจใช้เวลานานกว่าปกติและพร้อมให้ใช้งานเฉพาะในบางพื้นที่ โปรดทราบว่าสภาพอากาศและโครงสร้างบางอย่างอาจส่งผลต่อการติดต่อผ่านดาวเทียม การโทรผ่านดาวเทียมไม่พร้อมใช้งาน\n\nระบบอาจใช้เวลาสักครู่กว่าที่การเปลี่ยนแปลงในบัญชีจะแสดงในการตั้งค่า โปรดติดต่อ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> เพื่อสอบถามรายละเอียด"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"ข้อมูลเพิ่มเติมเกี่ยวกับการรับส่งข้อความผ่านดาวเทียม"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"จุดเข้าใช้งาน"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"ใช้ไม่ได้เมื่อเชื่อมต่อกับ <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"เปลี่ยนเป็น <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ใช่ไหม"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"เปลี่ยนไปใช้ซิมการ์ดใช่ไหม"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"ใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ใช่ไหม"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"ใช้งานซิมได้ทีละ 1 ซิมเท่านั้น\n\nการเปลี่ยนเป็น <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> จะไม่ยกเลิกบริการของ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"ใช้งาน eSIM ได้ครั้งละ 1 ซิมเท่านั้น\n\nการเปลี่ยนเป็น \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\" จะไม่ยกเลิกบริการของ \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\""</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"ใช้งานซิมได้ทีละ 1 ซิมเท่านั้น\n\nการเปลี่ยนจะไม่ยกเลิกบริการของ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"เปิดใช้ซิมได้ครั้งละ 1 ซิมเท่านั้น\n\nการเปลี่ยนเป็น <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> จะไม่ยกเลิกบริการของ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"เปิดใช้ eSIM ได้ครั้งละ 1 ซิมเท่านั้น\n\nการเปลี่ยนเป็น <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> จะไม่ยกเลิกบริการของ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"เปิดใช้ซิมได้ครั้งละ 1 ซิมเท่านั้น\n\nการเปลี่ยนเครือข่ายจะไม่ยกเลิกบริการของ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"คุณใช้ได้ 2 ซิมพร้อมกัน หากต้องการใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ให้ปิดอีกซิมหนึ่ง"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"เปลี่ยนเป็น <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"ปิด <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"การปิดซิมจะไม่ยกเลิกบริการ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"กำลังเชื่อมต่อกับเครือข่าย…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"กำลังเปลี่ยนไปใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> สำหรับการโทรและข้อความ…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"เปลี่ยนผู้ให้บริการไม่ได้"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"เปลี่ยนผู้ให้บริการไม่ได้เนื่องจากมีข้อผิดพลาด"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"กำลังเปิดใช้งานซิม…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"กำลังเปลี่ยนเป็น <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"เปลี่ยนซิมไม่ได้"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"เกิดข้อผิดพลาด เปลี่ยนซิมไม่ได้"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"ต้องการปิดใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ไหม"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"ปิดซิมใช่ไหม"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"กำลังปิดใช้ซิม<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"ปิดใช้ผู้ให้บริการไม่ได้"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"เกิดข้อผิดพลาดที่ทำให้ปิดใช้ผู้ให้บริการไม่ได้"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"ปิดซิมไม่ได้"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"เกิดข้อผิดพลาดและปิดซิมไม่ได้"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"ใช้ 2 ซิมไหม"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"อุปกรณ์นี้ใช้ 2 ซิมพร้อมกันได้ หากต้องการใช้ครั้งละ 1 ซิมต่อไป ให้แตะ \"ไม่เป็นไร\""</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"รีสตาร์ทอุปกรณ์ไหม"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"ไม่เป็นไร"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"ยกเลิก"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"เปลี่ยน"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"ปิด"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"เปิดใช้งานซิมไม่ได้"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"ลองเปิดใช้ซิมอีกครั้ง หากยังพบปัญหาอยู่ ให้รีสตาร์ทอุปกรณ์"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"ตั้งค่าซิม"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"ตั้งค่ากำหนดเครือข่ายมือถือเพื่อใช้หลายซิมบนอุปกรณ์นี้"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"ติดป้ายกำกับซิม"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"คุณจะเห็นป้ายกำกับเหล่านี้เมื่อทำการโทร ส่งข้อความ และเชื่อมต่ออินเทอร์เน็ต รวมถึงในการตั้งค่า"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"ป้ายกำกับซิม"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"ป้ายกำกับ"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"เลือกซิมที่จะใช้"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"คุณใช้ได้ 2 ซิมพร้อมกัน"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"ตั้งค่าซิมหลัก"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"เลือกซิมที่จะใช้เป็นค่าเริ่มต้นสำหรับการโทร ส่งข้อความ และเชื่อมต่ออินเทอร์เน็ต"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"ซิมหลักของคุณ"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"โทร"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ข้อความ"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"การเปลี่ยนการเชื่อมต่ออินเทอร์เน็ตอัตโนมัติ"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"ใช้การเชื่อมต่ออินเทอร์เน็ตจากซิมใดก็ได้โดยขึ้นอยู่กับการครอบคลุมและความพร้อมใช้งาน"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"ใช้เชื่อมต่ออินเทอร์เน็ตเท่านั้น"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"ตั้งค่า"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"ถัดไป"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"กำลังเปิด <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"เครือข่ายมือถือ"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"หมายเลขโทรศัพท์"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"ป้ายกำกับและสีซิม"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"การเปิดใช้งานเครือข่าย"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"การเปลี่ยนผู้ให้บริการ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ใช้งานอยู่"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"ซิม <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ทำงานอยู่"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"แตะเพื่ออัปเดตการตั้งค่าซิม"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"เปลี่ยนไปใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> แล้ว"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"เปลี่ยนไปใช้ผู้ให้บริการรายอื่นแล้ว"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"เปลี่ยนเครือข่ายมือถือแล้ว"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"ตั้งค่าซิมอีกอันหนึ่ง"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"เลือกซิมที่ใช้งานอยู่หรือใช้ 2 ซิมพร้อมกัน"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"เลือกหมายเลขที่จะใช้"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{มี 1 หมายเลขที่พร้อมใช้งานในอุปกรณ์เครื่องนี้ แต่จะใช้ได้ครั้งละ 1 หมายเลขเท่านั้น}=2{มี 2 หมายเลขที่พร้อมใช้งานในอุปกรณ์เครื่องนี้ แต่จะใช้ได้ครั้งละ 1 หมายเลขเท่านั้น}other{มี # หมายเลขที่พร้อมใช้งานในอุปกรณ์เครื่องนี้ แต่จะใช้ได้ครั้งละ 1 หมายเลขเท่านั้น}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"กำลังเปิดใช้งาน<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"เปิดใช้งานไม่ได้ในขณะนี้"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"เลือกซิมที่จะใช้"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{มี 1 ซิมที่พร้อมใช้งานในอุปกรณ์นี้ แต่จะใช้ได้ครั้งละ 1 ซิมเท่านั้น}=2{มี 2 ซิมที่พร้อมใช้งานในอุปกรณ์นี้ แต่จะใช้ได้ครั้งละ 1 ซิมเท่านั้น}other{มี # ซิมที่พร้อมใช้งานในอุปกรณ์นี้ แต่จะใช้ได้ครั้งละ 1 ซิมเท่านั้น}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"กำลังเปิด<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"เปิดซิมนี้ไม่ได้ในขณะนี้"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"ใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ใช่ไหม"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"ระบบจะใช้ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> เพื่อใช้งานอินเทอร์เน็ตมือถือ การโทร และ SMS"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"ไม่มีซิมที่ใช้งานอยู่"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"หากต้องการใช้อินเทอร์เน็ตมือถือ ฟีเจอร์การโทร และ SMS ในภายหลัง ให้ไปที่การตั้งค่าเครือข่าย"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"ซิม"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"ลบ eSIM นี้ใช่ไหม"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"การลบซิมนี้จะนำบริการ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ออกจากอุปกรณ์นี้\n\nแต่จะไม่ยกเลิกบริการของ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"การดำเนินการนี้จะนำบริการของ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> ออกจากอุปกรณ์นี้ แต่จะไม่ยกเลิกแพ็กเกจของ <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"ลบ"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"กำลังลบซิม…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"ลบซิมไม่ได้"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"ลบซิมนี้ไม่ได้เนื่องจากมีข้อผิดพลาด\n\nรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"กำลังลบ eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"ลบ eSIM ไม่ได้"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"เกิดข้อผิดพลาดทำให้ลบ eSIM นี้ไม่ได้\n\nโปรดรีสตาร์ทอุปกรณ์แล้วลองอีกครั้ง"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"เชื่อมต่อกับอุปกรณ์"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"แอป <xliff:g id="APPNAME">%1$s</xliff:g> ต้องการใช้เครือข่าย Wi‑Fi ชั่วคราวเพื่อเชื่อมต่อไปยังอุปกรณ์"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"ไม่พบอุปกรณ์ ตรวจสอบว่าอุปกรณ์เปิดอยู่และพร้อมเชื่อมต่อ"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"หมายเลขฉุกเฉิน"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"ผู้ให้บริการของคุณไม่รองรับการโทรหาหมายเลขฉุกเฉินผ่าน Wi‑Fi\nอุปกรณ์จะเปลี่ยนไปใช้เครือข่ายมือถือโดยอัตโนมัติเพื่อโทรหาหมายเลขฉุกเฉิน\nคุณจะโทรหาหมายเลขฉุกเฉินได้ในพื้นที่ที่มีสัญญาณมือถือครอบคลุมเท่านั้น"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"ใช้ Wi‑Fi สำหรับการโทรเพื่อคุณภาพที่ดีขึ้น"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"การโทรสำรอง"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"หาก <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ไม่พร้อมใช้งานหรือกำลังโรมมิ่ง ให้ใช้ซิมสำหรับอินเทอร์เน็ตมือถือในการโทรของ <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"การโทรสำรอง"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"ข้อความ MMS ขาเข้า"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"ส่งข้อความ MMS ไม่สำเร็จ"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"แตะเพื่ออนุญาตให้ใช้การรับส่ง MMS ใน <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> ขณะอินเทอร์เน็ตมือถือปิดอยู่"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"ข้อมูลนโยบายงาน"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"การตั้งค่าที่ผู้ดูแลระบบไอทีจัดการ"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"บูตด้วยหน้าขนาด 16 KB"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"บูตอุปกรณ์โดยใช้เคอร์เนลที่รองรับหน้าขนาด 16 KB"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"รีบูตด้วยเคอร์เนลที่รองรับการใช้งานหน้าขนาด 16 KB ใช่ไหม"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"คำเตือน: บางแอปพลิเคชันอาจไม่รองรับการใช้งานโหมดนี้ อุปกรณ์จะรีบูตหลังจากยืนยัน"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"รีบูตด้วยเคอร์เนลที่รองรับการใช้งานหน้าขนาด 4 KB ใช่ไหม"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"อุปกรณ์จะรีบูตหลังจากยืนยัน"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"อัปเดตเป็นเคอร์เนลที่รองรับการใช้งานหน้าขนาด 16 KB ไม่สำเร็จ"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"กำลังใช้การเปลี่ยนแปลง"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"เครื่องจัดการรายงานข้อบกพร่อง"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"เลือกแอปที่จะให้จัดการทางลัดรายงานข้อบกพร่องในอุปกรณ์"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ส่วนตัว"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"อนุญาตแอปที่แสดงเหนือแอปอื่นๆ ได้เพื่อวางซ้อนหน้าจอการตั้งค่า"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"อนุญาต Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"อนุญาตให้อุปกรณ์นี้เรียกใช้บริการ Mock Modem เพื่อทดสอบการวัดคุม อย่าเปิดใช้การตั้งค่านี้ระหว่างการใช้งานโทรศัพท์ตามปกติ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"ปิดใช้การป้องกันการแชร์หน้าจอ"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"ปิดใช้การป้องกันแอปและการแจ้งเตือนที่ระบบใช้ในระหว่างการแชร์หน้าจอ"</string>
     <string name="media_controls_title" msgid="403271085636252597">"สื่อ"</string>
-    <string name="media_controls_resume_title" msgid="855076860336652370">"ปักหมุดโปรแกรมเล่นสื่อ"</string>
-    <string name="media_controls_resume_description" msgid="3163482266454802097">"โปรแกรมเล่นสื่อจะยังเปิดอยู่ในการตั้งค่าด่วนเพื่อกลับมาเล่นต่อได้โดยเร็ว"</string>
+    <string name="media_controls_resume_title" msgid="855076860336652370">"ปักหมุดมีเดียเพลเยอร์"</string>
+    <string name="media_controls_resume_description" msgid="3163482266454802097">"มีเดียเพลเยอร์จะยังเปิดอยู่ในการตั้งค่าด่วนเพื่อกลับมาเล่นต่อได้โดยเร็ว"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"แสดงสื่อในหน้าจอล็อก"</string>
-    <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"โปรแกรมเล่นสื่อจะยังเปิดอยู่ในหน้าจอล็อกเพื่อกลับมาเล่นต่อได้โดยเร็ว"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"แสดงคำแนะนำสื่อ"</string>
+    <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"มีเดียเพลเยอร์จะยังเปิดอยู่ในหน้าจอล็อกเพื่อกลับมาเล่นต่อได้โดยเร็ว"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"แสดงคำแนะนำสื่อจาก Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"อิงตามกิจกรรมของคุณ"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"ซ่อนโปรแกรมเล่น"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"แสดงโปรแกรมเล่น"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"สื่อ"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"อนุญาตส่วนขยายซอฟต์แวร์กล้อง"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"เปิดการใช้งานซอฟต์แวร์เริ่มต้นของฟีเจอร์กล้องขั้นสูง เช่น การถ่ายทำวิดีโอโดยไม่ต้องใช้สายตา"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"บลูทูธจะเปิด"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"อินเทอร์เน็ต"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"ซิม"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"ซิม"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"ใช้งานอยู่"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"ไม่ใช้งาน"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"เปิด"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"ปิด"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / ค่าเริ่มต้นสำหรับ<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"การโทร"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"เสียงจากสื่อที่เข้ากันได้จะสมจริงยิ่งขึ้น"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"การติดตามการเคลื่อนไหวของศีรษะ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"เสียงจะเปลี่ยนตามการขยับศีรษะเพื่อให้ฟังดูเป็นธรรมชาติมากยิ่งขึ้น"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"สิทธิ์การซิงค์"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"ให้สิทธิ์ของแอปแก่ <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> เหมือนกับที่คุณอนุญาตใน <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"สิทธิ์การซิงค์จากโทรศัพท์"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"ให้สิทธิ์ของแอปแก่นาฬิกาเหมือนกับที่คุณอนุญาตบนโทรศัพท์เครื่องนี้"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"ประเภทอุปกรณ์เสียง"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"ไม่ทราบ"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"ลำโพง"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"ปานกลาง"</string>
     <string name="contrast_high" msgid="3988567609694797696">"สูง"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"แอปนี้เปิดได้ใน 1 หน้าต่างเท่านั้น"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"เปิดอยู่"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"ปิดอยู่"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"ปิดอยู่"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"ปิด"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"เปิด"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"ปิด"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"เปิด"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"ปิด"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"ปรับหน้าจอที่สว่างให้มืดและปรับหน้าจอที่มืดให้สว่าง"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"ซูมเข้าบนหน้าจอ"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"ปิด"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"ปิด"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"การสแกนหาแอปที่หลอกลวง"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"ตรวจสอบกิจกรรมบนแอปเพื่อหาฟิชชิง"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"ใช้การสแกนหาแอปที่หลอกลวง"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"ใช้การสแกนหาแอปที่หลอกลวงสำหรับการทำงาน"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"ตั้งค่ารหัสผ่านแล้ว"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"แสดงตัวชี้เมื่อวางสไตลัสเหนือ"</string>
 </resources>
diff --git a/res/values-tl/arrays.xml b/res/values-tl/arrays.xml
index f9ef5e2..65183a2 100644
--- a/res/values-tl/arrays.xml
+++ b/res/values-tl/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Available"</item>
     <item msgid="6096962300722555553">"Wala-sa-sakop"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Naka-disable"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast at Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Gamitin ang Default ng System: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Pagkalipas ng 1 minuto"</item>
     <item msgid="1574040255478150028">"Pagkalipas ng 5 minuto"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-tl/strings.xml b/res/values-tl/strings.xml
index 11799ce..b9c3e83 100644
--- a/res/values-tl/strings.xml
+++ b/res/values-tl/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Isa ka nang developer!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Hindi na kailangan, isa ka nang developer."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Paki-enable muna ang mga opsyon ng developer."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Ang mga admin user lang ang makaka-access sa mga setting ng developer."</string>
     <string name="header_category_system" msgid="1665516346845259058">"System"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Gumagana"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hindi Gumagana"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Mag-o-on ang display sa harap kapag na-fold mo ang iyong device"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Para lang sa mga laro, video, at higit pa"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Mag-o-on ang display sa harap para sa mga app na pumipigil sa pag-idle ng iyong screen"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Mag-swipe pataas para magpatuloy"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"I-fold ang iyong telepono at mag-swipe pataas sa front display para patuloy na gamitin ang app, o maghintay nang ilang segundo para mag-lock ang screen"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Hindi kailanman"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Magla-lock ang display sa harap kapag na-fold mo ang iyong device"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Gumamit ng auto-rotate"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Kaugnay"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Ringtone at mga alarm"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Audio sa mga tawag"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Notification at system sound"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Mga tunog ng media at system"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Mga Notification"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Bilang default, ang mga indibidwal na app ang tumutukoy ng output ng audio"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Walang pangalang Bluetooth na device"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Naghahanap"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Kanselahin"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"I-disable ang Bluetooth LE audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Dini-disable ang feature na Bluetooth LE audio kung sinusuportahan ng device ang mga kakayahan ng LE audio hardware."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio mode"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Ipakita ang toggle ng LE audio sa Mga Detalye ng Device"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"I-enable ang Allow List ng Bluetooth LE audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"I-enable ang feature ng allow list ng Bluetooth LE audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"I-bypass ang Allowlist ng Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Gamitin ang LE Audio bilang default kahit na hindi pa na-verify ang peripheral ng LE Audio para matugunan ang mga pamantayan sa Allowlist."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Mga media device"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Mga device sa pagtawag"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Iba pang device"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Mga naka-save na device"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Nauugnay sa account"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Dating ginamit sa account"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Mag-o-on ang Bluetooth para magpares"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Kagustuhan sa koneksyon"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Dating nakakonekta"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Naka-on ang Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tingnan lahat"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Tingnan lahat"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Pagpindot sa tail button"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Profile sa trabaho)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Sumulat sa mga field ng text"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Huwag pansinin ang lahat ng pagpindot ng button sa stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Pagbabahagi ng audio"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Ibahagi ang Audio"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Mga tawag at alarm"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Kumonekta sa isang audio stream gamit ang QR code"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Walang audio stream sa malapit."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Petsa at oras"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"I-clear"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Idagdag ang %s sa mga gustong wika?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Ipinapaalam nito sa mga app at website na gusto mo rin ang wikang ito."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Magbabago ang mga setting ng device at panrehiyong preference mo."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Palitan"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Hindi available ang %s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Sabado"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Kung hindi sinusuportahan ng isang app ang mga panrehiyong preference, gagamitin ng app ang mga default nitong setting sa lokalidad."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Matuto pa tungkol sa mga preference sa wika."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Mga karagdagang kagustuhan"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Mga pantawag"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Itakda kung paano mo gustong matawag"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Magagamit ng mga app ang mga pinili mong pantawag sa iyong sarili para i-personalize kung paano ka nila tatawagin."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Hindi tinukoy"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Pambabae"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Panlalaki"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Neutral"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Alisin ang piniling wika?}one{Alisin ang mga piniling wika?}other{Alisin ang mga piniling wika?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Ipapakita ang text sa ibang wika."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Hindi maaalis ang lahat ng wika"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Lokasyon"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Gumamit ng lokasyon"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Naka-off"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Matuto pa tungkol sa Mga Setting ng Lokasyon."</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="3574930966097093550">"Para baguhin ang access sa lokasyon, pumunta sa Mga Setting &gt; Seguridad at Privacy &gt; Mga kontrol sa privacy"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Mga Account"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Seguridad"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Pag-encrypt at mga kredensyal"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Para sa pinakamahuhusay na resulta, gumamit ng screen protector na certified ng Made for Google. Posibleng hindi gumana ang fingerprint ng iyong anak gamit ang iba pang screen protector."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Pag-unlock Gamit ang Relo"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Kapag na-set up mo ang Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint, hihingin ng iyong telepono ang fingerprint mo kapag nakasuot ka ng mask o nasa madilim na lugar ka.\n\nPuwede kang mag-unlock gamit ang iyong relo kapag hindi makilala ang mukha o fingerprint mo."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Puwede kang mag-unlock gamit ang iyong relo kapag hindi makilala ang fingerprint mo."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Puwede kang mag-unlock gamit ang iyong relo kapag hindi makilala ang mukha mo."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Kapag nag-set up ka ng Pag-unlock Gamit ang Mukha at Pag-unlock Gamit ang Fingerprint, hihingin ng iyong telepono ang fingerprint mo kapag naka-mask ka o nasa madilim kang lugar.\n\nAng Pag-unlock Gamit ang Relo ay isa pang madaling paraan para i-unlock ang iyong telepono, halimbawa, kapag basa ang mga daliri mo o hindi nakikilala ang iyong mukha."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Ang Pag-unlock Gamit ang Relo ay isa pang madaling paraan para i-unlock ang iyong telepono, halimbawa, kapag hindi nakikilala ang fingerprint mo."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Ang Pag-unlock Gamit ang Relo ay isa pang madaling paraan para i-unlock ang iyong telepono, halimbawa, kapag hindi nakikilala ang mukha mo."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Gamitin ang fingerprint o relo para"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Gamitin ang mukha o relo para"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Gamitin ang mukha, fingerprint, o relo para"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Ang Pag-unlock Gamit ang Relo ay isa pang madaling paraan para i-unlock ang teleponong ito, halimbawa, kapag basa ang iyong mga daliri o kung hindi nakikilala ang mukha mo.\n\nMagagamit mo ang iyong relo para i-unlock ang teleponong ito kapag ikaw ay:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Hindi ngayon"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Magpatuloy"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Higit pa"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Paano ito gumagana"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Ang iyong relo ay dapat na naka-unlock, nasa iyong pulso, at malapit sa teleponong ito. Hindi mo kakailanganing i-unlock ulit ang iyong relo habang nasa pulso mo ito."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Kapag naka-unlock ang teleponong ito, maaabisuhan ka sa iyong relo. Kung na-unlock ito nang hindi mo sinadadya, i-tap ang notification para i-lock ulit ang telepono."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Ikaw ang may kontrol"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Puwede mong alisin ang iyong relo sa Pag-unlock Gamit ang Relo anumang oras sa Mga Setting"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Mag-tap ng notification"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Mag-swipe pataas sa lock screen"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Piliin ang iyong relo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Mga available na relo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Kanselahin"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Kumpirmahin"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Handa ka na!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Puwede mo nang gamitin ang iyong relo para i-unlock ang teleponong ito kapag nag-swipe ka pataas sa lock screen o nag-tap ka ng notification"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Tapos na"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Pag-unlock Gamit ang Relo"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Puwede mong gamitin ang iyong relo para i-unlock ang teleponong ito kapag nag-swipe ka pataas sa lock screen o nag-tap ka ng notification"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Para magamit ang Pag-unlock Gamit ang Relo, dapat naka-unlock, suot mo sa iyong kamay, nasa malapit, at nakakonekta sa teleponong ito ang iyong relo. Kung maaantala ang koneksyon, kakailanganin mong i-unlock ang telepono bago mo magamit ang Pag-unlock Gamit ang Relo.\n\nTandaan:\nIsang relo lang ang magagamit mo sa bawat pagkakataon. Para magdagdag ng isa pang relo, alisin muna ang kasalukuyang relo."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Seguridad"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Privacy"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Profile sa trabaho"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Pribadong space"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Panatilihing naka-lock at nakatago ang mga pribadong app"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Ilagay ang mga pribadong app sa hiwalay na space na puwede mong itago o i-lock"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Lock ng pribadong space"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Puwede mong i-unlock ang iyong pribadong space sa parehong paraan kung paano mo i-unlock ang device mo, o pumili ng ibang lock"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Gamitin ang lock ng screen ng device"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Pag-unlock Gamit ang Mukha at Fingerprint"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Pag-unlock Gamit ang Fingerprint"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Pag-unlock Gamit ang Mukha"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"I-tap para i-set up"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Pag-unlock Gamit ang Fingerprint para sa pribadong space"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Pag-unlock Gamit ang Mukha para sa pribadong space"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Mga paraan para mag-unlock"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Kapareho ng lock ng screen ng device"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Pumili ng bagong lock para sa pribadong space?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Awtomatikong i-lock ang pribadong space"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Puwede mong awtomatikong i-lock ang pribadong space mo kung matagal mo nang hindi ginamit ang iyong device"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Sa tuwing magla-lock ang device"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Paglipas ng 5 minutong walang aktibidad"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Hindi kailanman"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Itago kapag naka-lock"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Itago ang pribadong space kapag naka-lock"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Para hindi malaman ng iba na may pribadong space ka, puwede itong itago sa listahan ng mga app"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"I-access ang pribadong space kapag nakatago"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Sa app list mo, ilagay ang \"pribadong space\" sa search bar"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"I-tap ang tile ng pribadong space"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"I-unlock ang iyong pribadong space"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Naka-off"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Naka-on"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"System"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"I-delete ang pribadong space"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"I-delete ang pribadong space?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Aalisin ang iyong pribadong space sa device mo. Made-delete ang lahat ng pribadong app at data. Hindi mo maa-undo ang pagkilos na ito."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Aalisin sa iyong pribadong space ang mga sumusunod na account:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"I-delete"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Dine-delete ang pribadong space…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Aabutin ito nang ilang sandali"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Na-delete ang pribadong space"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Hindi na-delete ang pribadong space"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Na-unlock ang pribadong space"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Magtakda ng lock ng screen"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Para gamitin ang iyong pribadong space, magtakda ng lock ng screen sa device na ito."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Itakda ang lock ng screen"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Kanselahin"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Kanselahin"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"I-set up"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Mag-set up ng pribadong space"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Ilagay ang mga pribadong app sa hiwalay na space na puwede mong itago o i-lock"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Paano ito gumagana"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Maa-access mo ang iyong pribadong space mula sa ibaba ng listahan ng mga app mo"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Protektado ng lock ang mga app sa iyong pribadong space"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Nakatago ang mga notification mula sa mga app sa iyong pribadong space kapag naka-lock ito"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Hindi lalabas ang mga app sa iyong pribadong space sa manager ng pahintulot, dashboard ng privacy, at iba pang setting kapag naka-lock ang pribadong space mo.\n\nHindi puwedeng ilipat sa bagong device ang iyong pribadong space. Kakailanganin mong mag-set up ng isa pang pribadong space kung gusto mong gamitin ito sa ibang device.\n\nPuwedeng ma-access ng sinumang kokonekta sa iyong device sa isang computer o mag-i-install ng mga nakakapinsalang app sa device mo ang iyong pribadong space."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Sine-set up ang pribadong space…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Nakatago ang mga notification mula sa mga app sa pribadong space kapag naka-lock ito"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"I-unlock ang iyong pribadong space para magbahagi ng mga larawan o file"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Naka-install na ang ilang app sa iyong 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_lockscreen_title" msgid="6034864097861137509">"Gamitin ang lock ng screen para i-unlock ang pribadong space?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Puwede mong i-unlock ang iyong pribadong space sa parehong paraan kung paano mo i-unlock ang device mo, o pumili ng ibang lock"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Gamitin ang lock ng screen"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Pumili ng bagong lock"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Handa na lahat!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Para mahanap ang iyong pribadong space, pumunta sa listahan ng mga app mo at pagkatapos ay mag-scroll pababa"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Tapos na"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Mag-scroll pababa para mahanap ang pribadong space"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Mag-sign in"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Mag-sign in sa isang account na gagamitin sa iyong pribadong space"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Huwag muna"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Magpatuloy"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Pumili ng lock para sa iyong pribadong space"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Puwede mong i-unlock ang iyong pribadong space gamit ang fingerprint mo. Para sa seguridad, kailangan ng backup na lock para sa opsyong ito."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Magtakda ng PIN para sa pribadong space"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Magtakda ng password sa pribadong space"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Magtakda ng pattern sa pribadong space"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Puwede kang magdagdag ng hanggang <xliff:g id="COUNT">%d</xliff:g> (na) fingerprint"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Naidagdag mo na ang maximum na bilang ng mga fingerprint"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Hindi na makapagdagdag ng higit pang fingerprint"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Pattern"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Password"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"I-delete ang lock ng screen?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Alisin ang lahat ng uri ng pag-unlock ng device?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Alisin ang proteksyon ng profile?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Pinoprotektahan ng pattern ang iyong telepono kung mawala o nakawin ito."</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Pinoprotektahan ng pattern ang iyong telepono kung mawala o nakawin ito.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Dine-delete nito ang modelo ng fingerprint na naka-store sa iyong device. Permanente at secure na ide-delete din ang iyong face model. Hindi mo magagamit ang iyong mukha o fingerprint para sa pag-authenticate sa mga app."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Pinoprotektahan ng PIN ang iyong telepono kung mawala o nakawin."</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"May mawawala sa iyong naka-save na data tulad ng PIN mo.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Aalisin ang mga card na na-set up para sa pagbabayad nang contactless.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Posibleng hindi gumana nang maayos ang mga wallet at iba pang app na nangangailangan ng pag-unlock ng device."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Pinoprotektahan ng PIN ang iyong telepono kung mawala o nakawin ito.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dine-delete din nito ang modelo ng fingerprint na naka-store sa iyong device. Hindi mo magagamit ang iyong fingerprint para sa pag-authenticate sa mga app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"May mawawala sa iyong naka-save na data tulad ng PIN at fingerprint model mo.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Aalisin ang mga card na na-set up para sa pagbabayad nang contactless.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Posibleng hindi gumana nang maayos ang mga wallet at iba pang app na nangangailangan ng pag-unlock ng device."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Pinoprotektahan ng PIN ang iyong telepono kung mawala o nakawin ito.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Permanente at secure na ide-delete din ang iyong face model. Hindi mo magagamit ang iyong mukha para sa pag-authenticate sa mga app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"May mawawala sa iyong naka-save na data tulad ng PIN at face model mo.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Aalisin ang mga card na na-set up para sa pagbabayad nang contactless.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Posibleng hindi gumana nang maayos ang mga wallet at iba pang app na nangangailangan ng pag-unlock ng device."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Pinoprotektahan ng PIN ang iyong telepono kung mawala o nakawin ito.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Dine-delete nito ang modelo ng fingerprint na naka-store sa iyong device. Permanente at secure na ide-delete din ang iyong face model. Hindi mo magagamit ang iyong mukha o fingerprint para sa pag-authenticate sa mga app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"May mawawala sa iyong naka-save na data tulad ng PIN, face at fingerprint model mo.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Aalisin ang mga card na na-set up para sa pagbabayad nang contactless.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Posibleng hindi gumana nang maayos ang mga wallet at iba pang app na nangangailangan ng pag-unlock ng device."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Pinoprotektahan ng password ang iyong telepono kung mawala o nakawin ito."</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Pinoprotektahan ng password ang iyong telepono kung mawala o nakawin ito.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Ipapares ba sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Magdagdag ng bagong miyembro sa kasalukuyang coordinated na set"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Kumpirmahin para idagdag ang pangalawang piraso ng iyong audio device"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Code ng pagpapares ng bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"I-type ang code ng pagpapares pagkatapos ay pindutin ang Return o Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Naglalaman ng mga titik o simbolo ang PIN"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Dapat ay 16 na digit"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Maaari mo ring kailanganing i-type ang PIN na ito sa isa pang device."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Maaari mo ring kailanganing i-type ang passkey na ito sa iba pang device."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Kumpirmahin para ipares sa coordinated na set"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Kumpirmahin para ipares sa audio device"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Payagan ang access sa iyong mga contact at history ng tawag"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Payagan din ang access sa mga contact at history ng tawag"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Gagamitin ang impormasyon para sa mga anunsyo sa tawag at higit pa"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Hindi makakonekta sa <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Mga available na device"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Kumonekta"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Idiskonekta"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Ipares &amp; kumonekta"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Kapag naka-on ang Bluetooth, maaaring makipag-ugnayan ang device mo sa ibang kalapit na Bluetooth device."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Kapag naka-on ang Bluetooth, magagawang makipag-ugnayan ng iyong device sa ibang kalapit na Bluetooth device"</string>
     <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_scan_change" msgid="1744636222637390367">"Palitan"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Mga detalye ng device"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Payagan ang ART na i-verify ang bytecode para sa mga nade-debug na app"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Ipakita ang refresh rate"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Ipakita ang kasalukuyang refresh rate ng display"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Ipakita ang ratio ng HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Ipakita ang kasalukuyang ratio ng HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Hingin ang pag-unlock ng device para sa NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Nasa Airplane mode"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Abisuhan kapag may mga pampublikong network"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Mag-abiso kapag may available na pampublikong network na may mataas na kalidad"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Payagan ang mga WEP network"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"Ang WEP ay isang mas lumang protocol ng seguridad na hindi gaanong secure"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Hindi pinapayagan ng iyong carrier ang mga WEP network dahil hindi gaanong secure ang mga ito"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Awtomatikong i-on ang Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Mag-o-on ulit ang Wi‑Fi kapag malapit sa mga naka-save na network na may mataas na kalidad, gaya ng iyong home network"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Hindi available dahil naka-off ang lokasyon. I-on ang "<annotation id="link">"lokasyon"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Nagbibigay-daan ang pag-scan ng Wi‑Fi sa mga app at serbisyo para mag-scan ng mga Wi‑Fi network anumang oras, kahit na naka-off ang Wi‑Fi. Magagamit ito, halimbawa, para pahusayin ang mga feature at serbisyong batay sa lokasyon."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"I-on"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Na-on ang pag-scan ng Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Gumagamit ang network na ito ng mas lumang protocol ng seguridad na hindi gaanong secure"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Na-block ang <xliff:g id="NAME">%1$s</xliff:g>"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Gumagamit ang network na ito ng mas lumang protocol ng seguridad na tinatawag na WEP na hindi gaanong secure. Para kumonekta pa rin, puwede mong payagan ang mga WEP network."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Hindi ka pinapayagan ng iyong carrier na kumonekta sa network na ito dahil gumagamit ito ng mas lumang protocol ng seguridad na hindi gaanong secure"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Payagan ang WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Isara"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Mga advanced na opsyon"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Mga Advanced na Opsyon sa drop down na listahan"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"i-expand"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Manatili sa Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Huwag kailanman ipakitang muli"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Kumonekta"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Na-on ang Wi‑Fi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Nakakonekta sa <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Kumokonekta sa <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Kumokonekta…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Nabigong kumonekta sa network."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Walang signal ang network"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Kalimutan"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Baguhin"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Nabigong kalimutan ang network"</string>
     <string name="wifi_save" msgid="2312643132472226807">"I-save"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Nabigong i-save ang network"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Kanselahin"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobile data"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Nagcha-charge"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Nagcha-charge"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Koneksyon sa hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Lakas ng koneksyon"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Naka-save na network"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Walang naitakdang password"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Pangalan ng hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Password ng hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP Band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Awtomatikong i-off ang hotspot"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Kapag walang nakakonektang device"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Palawakin ang compatibility"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"White balance ng display"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Magpatuloy sa paggamit ng mga app kapag naka-fold"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth na Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Awtomatikong itinataas sa <xliff:g id="ID_1">%1$s</xliff:g> Hz, mula sa 60 Hz ang refresh rate para sa ilang content. Nakakadagdag sa paggamit ng baterya."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"I-disable ang default na frame rate para sa mga laro"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"I-disable ang paglilimita sa maximum na frame rate para sa mga laro sa <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Awtomatikong tinataasan ang rate ng pag-refresh hanggang <xliff:g id="ID_1">%1$d</xliff:g> Hz para sa ilang content. Nakakadagdag sa paggamit ng baterya."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Puwersahin sa pinakamataas na rate ng pag-refresh"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Pinakamataas na rate ng pag-refresh para sa pinahusay na pagiging responsive ng pagpindot at kalidad ng animation. Pinapalakas ang paggamit ng baterya."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Atensyon sa screen"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Ginagamit ng atensyon sa screen ang camera sa harap para makita kung may taong tumitingin sa screen. Gumagana ito sa device, at hindi kailanman sino-store o ipinapadala sa Google ang mga larawan."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"I-on ang atensyon sa screen"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Panatilihing naka-on ang screen habang tinitingnan mo ito"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Gagamit ng mas maraming baterya ang mas matagal na timeout ng screen."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Naka-lock ang camera"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Dapat ma-unlock ang camera para sa Pag-detect ng Mukha"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Naka-unlock dapat ang Camera para sa Atensyon sa Screen"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (sim slot <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (sim slot <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (pangunahin)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Para tingnan, piliin ang naka-save na network"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL na bersyon"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Antas ng baterya"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Communal"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Mga communal setting"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Satellite na Pagmemensahe"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Mga APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"I-edit ang access point"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Magdagdag ng access point"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Hindi nakatakda"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Hindi nakatakda"</string>
     <string name="apn_name" msgid="6677695784108157953">"Pangalan"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Pinagana ang APN"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Hindi pinagana ang APN"</string>
     <string name="bearer" msgid="3231443241639159358">"Bearer"</string>
+    <string name="network_type" msgid="748590707422733595">"Network type"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Hindi tinukoy"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Uri ng MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO value"</string>
     <string name="menu_delete" msgid="9199740901584348273">"I-delete ang APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"I-save"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Kanselahin"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"I-duplicate ang apn entry."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Hindi maaaring walang laman ang field ng Pangalan."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Hindi maaaring walang laman ang APN."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Dapat na 3 digit ang field na MCC."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Dapat na 2 o 3 digit ang field ng MNC."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Hindi pinapayagan ng carrier ang pagdaragdag ng mga APN na %s ang uri."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Valid dapat ang field ng MMSC."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Nire-restore ang default na mga setting ng APN"</string>
     <string name="menu_restore" msgid="4310539620115151551">"I-reset sa default"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Nakumpleto ang pag-reset sa default na mga setting ng APN."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"I-reset"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Na-reset ang Bluetooth at Wi‑Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Burahin ang mga eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Hindi nito kakanselahin ang anumang plan ng serbisyo sa mobile. Para mag-download ng mga kapalit na SIM, makipag-ugnayan sa iyong carrier."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Hindi nito kakanselahin ang iyong plan ng serbisyo para sa mobile. Para makakuha ng pamalit na SIM, makipag-ugnayan sa iyong carrier."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"I-reset ang mga setting"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"I-reset ang lahat ng network setting? Hindi mo maa-undo ang pagkilos na ito."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"I-reset ang lahat ng setting ng network at burahin ang mga eSIM? Hindi mo maa-undo ang pagkilos na ito."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"I-reset?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Hindi available ang pag-reset ng network para sa user na ito"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Na-reset na ang mga network setting"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Hindi mabura ang mga SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Hindi mabura ang eSIM dahil nagkaroon ng error.\n\nI-restart ang iyong device at subukan ulit."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Hindi mabura ang mga eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Nagkaproblema at hindi nabura ang iyong mga eSIM.\n\nI-restart ang device mo at subukan ulit."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Burahin ang data (factory reset)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Burahin lahat (factory reset)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musika"</li>\n<li>"Mga Larawan"</li>\n<li>"Ibang data ng user"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"mga eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Hindi nito kakanselahin ang iyong plano ng serbisyo sa mobile."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Made-delete ang lahat ng iyong personal na impormasyon at na-download na app. Hindi mo maa-undo ang pagkilos na ito."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Made-delete ang lahat ng iyong personal na impormasyon, kasama ang mga na-download na app at SIM. Hindi mo maa-undo ang pagkilos na ito."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Made-delete ang lahat ng iyong personal na impormasyon, kasama ang mga na-download na app at eSIM. Hindi mo maa-undo ang pagkilos na ito."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Burahin ang lahat ng data?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Hindi available ang factory reset para sa user na ito"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Binubura"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Hindi nagbabahagi ng internet sa ibang device"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Naka-off"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Pag-tether"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Huwag gumamit ng Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Magbahagi ng internet sa pamamagitan lang ng USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Magbahagi ng internet sa pamamagitan lang ng Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Magbahagi ng internet sa pamamagitan lang ng Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Magbahagi ng internet sa pamamagitan lang ng USB at Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Magbahagi ng internet sa pamamagitan lang ng USB at Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Magbahagi ng internet sa pamamagitan lang ng Bluetooth at Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Magbahagi ng internet sa pamamagitan lang ng USB, Bluetooth, at Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Pag-tether ng USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Pag-tether ng Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Pag-tether ng Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Gamitin ang hotspot at pag-tether para magbigay ng internet sa iba pang device sa pamamagitan ng iyong koneksyon sa Wi‑Fi o mobile data. Puwede ring gumawa ng hotspot ang mga app para magbahagi ng content sa mga kalapit na device."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Tulong"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobile network"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobile plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS app"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Palitan ang SMS app?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Gamitin ang <xliff:g id="NEW_APP">%1$s</xliff:g> sa halip na ang <xliff:g id="CURRENT_APP">%2$s</xliff:g> bilang iyong SMS app?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Baguhin ang Wi‑Fi assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Gamitin ang <xliff:g id="NEW_APP">%1$s</xliff:g> sa halip na ang <xliff:g id="CURRENT_APP">%2$s</xliff:g> upang pamahalaan ang iyong mga koneksyon sa network?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Gamitin ang <xliff:g id="NEW_APP">%s</xliff:g> upang pamahalaan ang iyong mga koneksyon sa network?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Hindi kilalang SIM operator"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Walang kilalang provisioning website ang <xliff:g id="OPERATOR">%1$s</xliff:g>"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Mangyaring magpasok ng SIM card at mag-restart"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Mangyaring kumonekta sa Internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Kamakailang hiling sa lokasyon"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Lokayon ng profile sa trabaho"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Pahintulot sa lokasyon ng app"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"I-clear ang access"</string>
     <string name="controls_label" msgid="8671492254263626383">"Mga Kontrol"</string>
     <string name="force_stop" msgid="2681771622136916280">"Sapilitang itigil"</string>
+    <string name="archive" msgid="9074663845068632127">"I-archive"</string>
+    <string name="restore" msgid="7622486640713967157">"I-restore"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Nire-restore"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Nire-restore."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Nire-restore.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Nire-restore..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Kabuuan"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Laki ng app"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB storage na app"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Hindi makalkula ang laki ng package."</string>
     <string name="version_text" msgid="7628938665256107608">"bersyon <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Ilipat"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Hindi na-archive"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Na-archive ang <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Hindi na-restore"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Nire-restore ang <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Mayroon nang kasalukuyang isinasagawang isa pang paglipat."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Hindi sapat na espasyo ng storage."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Hindi umiiral ang app."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Available na On-screen na keyboard"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Pamahalaan ang on-screen na keyboard"</string>
     <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">"Aktwal 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="6922850403920596246">"I-enable ang Mga bounce key para sa accessibility ng pisikal na keyboard"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Mga slow key"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"I-enable ang Mga slow key para sa accessibility ng pisikal na keyboard"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Mga sticky key"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"I-enable ang Mga sticky key para sa accessibility ng pisikal na keyboard"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Bilis ng pointer"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Matuto ng mga galaw sa touchpad"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Pumunta sa home"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Mag-swipe pataas gamit ang 3 daliri saanman sa touchpad mo"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Bumalik"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Ayusin ayon sa tagal ng gamit"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Ayusin ayon sa huling paggamit"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ayusin ayon sa pangalan ng app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Huling oras na ginamit"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Huling ginamit"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"hindi kailanman"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Oras ng paggamit"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Accessibility"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Mga setting ng pagiging maa-access"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Mag-magnify gamit ang triple-tap"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Mag-magnify gamit ang shortcut"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Mag-magnify gamit ang shortcut at pag-triple tap"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Tungkol sa <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Gamitin ang button ng accessibility para buksan"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"I-hold ang mga volume key para buksan"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"I-triple tap ang screen para buksan"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Mag-double tap sa screen gamit ang dalawang daliri para buksan"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Gumamit ng galaw para buksan"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Gamitin ang galaw para sa accessibility"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Para magamit ang feature na ito, i-tap ang button ng accessibility <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> sa ibaba ng iyong screen.\n\nPara magpalipat-lipat sa mga feature, pindutin nang matagal ang button ng accessibility."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Para gamitin ang feature na ito, i-tap ang button ng accessibility sa iyong screen."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Para magamit ang feature na ito, pindutin nang matagal ang parehong volume key."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Para magsimula at huminto sa pag-magnify, mag-tap nang tatlong beses kahit saan sa iyong screen."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Mag-double tap saanman sa screen gamit ang dalawang daliri para simulan at ihinto ang pag-magnify."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Para magamit ang feature na ito, 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Para magamit ang feature na ito, mag-swipe pataas mula sa ibaba ng sceen 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Para gumamit ng feature ng pagiging naa-access, 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Para gumamit ng feature ng pagiging naa-access, 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_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Setting ng accessibility button"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Mga setting ng button"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Shortcut ng <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Button ng accessibility"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Galaw para sa accessibility"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"I-hold ang mga volume key"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"i-hold ang 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"i-double tap ang screen gamit ang dalawang daliri"</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="6863958573135995927">"i-triple tap ang screen"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Matuto pa tungkol sa button ng accessibility at paggalaw"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Paggamit sa button ng accessibility. Hindi available ang galaw sa 3-button na navigaton."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Madaling i-access ang mga feature ng accessibility"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Para magsimula"</b>\n"1. Pumunta sa mga setting ng accessibility\n2. Pumili ng feature at i-tap ang shortcut\n3. Piliin kung gusto mong gumamit ng button o galaw para i-access ang feature"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Para magsimula"</b>\n"1. Pumunta sa mga setting ng accessibility\n2. Pumili ng feature at i-tap ang shortcut\n3. Piliin ang button para i-access ang feature"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Para magsimula&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Pumunta sa mga setting ng accessibility&lt;br/&gt; {1,number,integer}. Pumili ng feature at i-tap ang shortcut&lt;br/&gt; {2,number,integer}. Piliin kung gusto mong gumamit ng button o galaw para i-access ang feature&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Para magsimula&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Pumunta sa mga setting ng accessibility&lt;br/&gt; {1,number,integer}. Pumili ng feature at i-tap ang shortcut&lt;br/&gt; {2,number,integer}. Piliin ang button para i-access ang feature&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Gamitin ang button o galaw"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Lokasyon"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Laki"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Tatapusin ng power button ang tawag"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Malaking pointer ng mouse"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Gawing mas kapansin-pansin ang pointer ng mouse"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Gawing madilim ang lahat ng app"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Nalalapat sa mga app na walang madilim na tema. Puwedeng may mga isyu sa display ang ilang app, tulad ng naka-invert na kulay."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Alisin ang mga animation"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Bawasan ang paggalaw sa screen"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Gumamit ng pag-vibrate at haptics"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Pag-vibrate ng alarm"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Pag-vibrate ng media"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Pag-vibrate ng keyboard"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Pag-vibrate kapag nag-ring"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Pag-vibrate kapag may notification"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Feedback sa pagpindot"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Ihinto"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Kanselahin"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Ihinto ang <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Kapag na-tap ang <xliff:g id="STOP">%1$s</xliff:g>, hihinto ang <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"I-off"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"I-on lang"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"I-off ang <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Walang mga serbisyong naka-install"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Walang serbisyong napili"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Walang ibinigay na paglalarawan."</string>
     <string name="settings_button" msgid="2195468788019730377">"Mga Setting"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"pagkasensitibo sa ilaw, photophobia, madilim na tema, matinding pananakit ng ulo, pananakit ng ulo, reading mode, night mode, bawasan ang liwanag, white point"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Dali ng paggamit, dali ng pag-access, tulong, nakakatulong"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"paningin, pandinig, bulag, bingi, paggalaw, kagalingan sa paggalaw, nakakatulong, pagtulong, dali ng paggamit, dali ng pag-access, kamay, tulong"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Magnifier ng Window, Zoom, Pag-magnify, Malabo ang paningin, Palakihin, gawing mas malaki"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Mga caption, mga closed caption, CC, Instant Transcribe, may problema sa pandinig, walang pandinig, CART, speech to text, subtitle"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"contrast ng kulay"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"mga hearing aid, may problema sa pandinig, pagkawala ng pandinig, mga cochlear implant, mga device sa pag-amplify, mga processor ng tunog"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"paggalaw, mouse, external na mouse, head mouse, adaptive na mouse, wheelchair, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"mga hearing aid, may problema sa pandinig, pagkawala ng pandinig, mga cochlear implant, mga device sa pag-amplify, mga sound processor, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"may problema sa pandinig, walang pandinig, mga caption, Teletype, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"tatlong button"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"kagalingan sa paggalaw, paggalaw, nakatatanda, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, panginginig, paulit-ulit na pinsala sa kalamnan, kamay"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"pagkaantala, kagalingan sa paggalaw, nakatatanda"</string>
     <string name="print_settings" msgid="8519810615863882491">"Pag-print"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Naka-off"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{May 1 serbisyo ng pag-print na naka-on}one{May # serbisyo ng pag-print na naka-on}other{May # na serbisyo ng pag-print na naka-on}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> natitira"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> upang ma-charge"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Tagal ng paggamit"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Tagal sa background"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Paubos na ang baterya"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Pahintulutan ang app na tumakbo sa background"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Limitahan ang aktibidad sa background?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Kung lilimitahan mo ang aktibidad sa background ng app, maaari itong gumana nang hindi tama"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Hindi nakatakda ang app na mag-optimize ng baterya kaya hindi ito malilimitahan.\n\nPara malimitahan, i-on ang battery optimization."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Pamahalaan ang paggamit ng baterya"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Payagan ang paggamit sa background"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"I-enable para sa mga real-time na update, i-disable para makatipid sa baterya"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Hindi pinaghihigpitan"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Naka-optimize"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Limitado"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Tingnan ang mga app na pinakamalakas gumamit"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Naka-optimize ang pag-charge para protektahan ang baterya mo"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Para makatulong na mapatagal ang baterya mo, naka-optimize ang pag-charge"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Naka-optimize ang pag-charge para protektahan ang baterya mo"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Para tumulong na mapatagal ang lifespan ng baterya mo, naka-optimize ang pag-charge habang naka-dock"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Naka-optimize ang pag-charge para protektahan ang baterya mo"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Para tumulong na mapatagal ang lifespan ng baterya mo, naka-optimize ang pag-charge habang naka-dock"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"China-charge hanggang mapuno"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Para protektahan ang iyong baterya, io-optimize ang pag-charge sa susunod na i-dock ang tablet mo"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Naka-pause ang matuto pa tungkol sa pag-charge."</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Ituloy ang pag-charge"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Kasama ang aktibidad sa background na malakas kumonsumo ng baterya"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Makakagamit ang app na ito ng baterya sa background. Maaaring maubos ang iyong baterya nang mas maaga kaysa sa inaasahan."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Alisin"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Kanselahin"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"I-charge hanggang mapuno"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Isyu sa pag-charge ng accessory"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Suriin ang accessory sa pag-charge"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Matuto pa tungkol sa hindi compatible na pag-charge"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Awtomatikong pamahalaan ang mga app"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"mula noong huling ma-full charge"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Mga system app"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Mga na-uninstall na app"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Iba pa"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Tinatayang natitirang oras"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Hanggang mapuno ang baterya"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Kabuuan: wala pang isang minuto"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Background: wala pang isang minuto"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Tagal ng paggamit: wala pang isang minuto"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Wala pang isang minuto"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Kabuuan: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Background: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Tagal ng paggamit: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ngayon"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Chart ng paggamit ng baterya"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Chart ng paggamit ng baterya kada araw"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Chart ng paggamit ng baterya kada oras"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Porsyento ng level ng baterya mula <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> hanggang <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Paggamit ng baterya mula noong huling na-full charge"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Paggamit ng baterya para sa <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Tagal ng paggamit mula noong huling ma-full charge"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Signal sa pang-emergency na pag-dial"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Itakda ang pag-uugali kapag naganap ang isang pang-emergency na tawag"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Pag-back Up"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Naka-on"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Naka-off"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"I-backup &amp; ipanumbalik"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Personal na data"</string>
     <string name="backup_data_title" msgid="507663517227498525">"I-back up ang aking data"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobile data at Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"I-auto sync ang personal data"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"I-auto sync ang work data"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"I-auto sync ang pribadong data"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Baguhin ang cycle…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Araw ng buwan pang i-reset ang ikot ng paggamit ng data:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Walang apps ang gumamit ng data sa panahong ito."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Pangalan"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Uri"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Address ng server"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP encryption (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP na lihim"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifier"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec na paunang nabahaging key"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Certificate ng user ng IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"CA certificate ng IPSec"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"certificate ng server ng IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Ipakita ang mga advanced na pagpipilian"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Mga domain sa paghahanap ng DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Mga server ng DNS (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Mga pagpapasahang ruta (hal. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Username"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Password"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"I-save ang impormasyon ng account"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(hindi ginagamit)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(huwag i-verify ang server)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(natanggap mula sa server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Hindi maaaring palaging manatiling nakakonekta ang uri ng VPN na ito"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Mga numeric na address ng server lang ang sinusuportahan ng VPN na palaging naka-on"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"May tinukoy dapat na server ng DNS para sa VPN na palaging naka-on"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Numeric dapat ang mga address ng server ng DNS para sa VPN na palaging naka-on"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Hindi sinusuportahan ng impormasyong inilagay ang VPN na palaging naka-on"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Kanselahin"</string>
     <string name="vpn_done" msgid="5137858784289564985">"I-dismiss"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"I-block ang mga koneksyong walang VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Gawing mandatoryo ang pagkonekta sa VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Hindi secure. Mag-update sa IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Hindi nasimulan ang hindi sinusuportahang VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Pumili ng VPN profile kung saan palaging mananatiling nakakonekta. Papayagan lang ang trapiko ng network kapag nakakonekta sa VPN na ito."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Wala"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Nangangailangan ang Always-on VPN ng IP address para sa parehong server at DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Mga AMBER alert"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Tumanggap ng mga bulletin tungkol sa pagdampot sa mga bata"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Ulitin"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"I-enable ang Call Manager"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Payagan ang serbisyong ito na pamahalaan kung paano ka tumatawag."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Call Manager"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Mga wireless na alerto sa emergency"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Mga network operator"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Mga access point name"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Status ng SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Status ng SIM (slot ng sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Nagbago ang mga SIM."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Napalitan ang iyong mga SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"I-tap upang mag-set up"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Itanong palagi"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Kinakailangang pumili"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Mga kamakailang app, mga default na app"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Hindi available ang access sa notification para sa mga app sa profile sa trabaho."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Mga password at account"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Mga naka-save na password, autofill, mga naka-sync na account"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Mga suhestyon para sa pag-sign in at autofill"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Mga default na app"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Mga Naka-clone na App"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Gumawa ng ikalawang instance ng isang app para makagamit ka ng dalawang account nang sabay."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"magbayad, mag-tap, mga pagbabayad"</string>
     <string name="keywords_backup" msgid="707735920706667685">"backup, i-back up"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"galaw"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"mukha, i-unlock, auth, mag-sign in"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"mukha, pag-unlock, auth, pag-sign in, fingerprint, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, bersyon ng prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"laki ng text, malaking print, malaking font, malaking text, malabong paningin, palakihin ang text, pampalaki ng font, pagpapalaki ng font"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"palaging naka-on na ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, tag, reader"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"keyboard, haptics, pag-vibrate,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Volume, pag-vibrate, Huwag Istorbohin"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Volume ng media"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Volume ng pag-cast"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"I-on ang mga tunog"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Instant Caption"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"I-autocaption ang media"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Mga speaker ng telepono"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Mga speaker ng tablet"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Mga speaker ng device"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Wired na headphones"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Nagiging mas immersive ang audio mula sa compatible na media"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Naka-off"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Ipakita ang lahat ng content ng notification"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Ipakita lang ang sensitibong content kapag naka-unlock"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Huwag magpakita ng mga notification"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Paano mo gustong ipakita ang lock screen?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ano ang gusto mong ipakita ng iyong lock screen?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Lock screen"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ipakita, lahat ng content ng notification sa trabaho"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Itago ang sensitibong content ng trabaho"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Inalis ang mga kamakailang pag-uusap"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Inalis ang pag-uusap"</string>
     <string name="clear" msgid="5092178335409471100">"I-clear"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"I-clear ang <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Lalabas dito ang mga priyoridad at binagong pag-uusap"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Sa sandaling markahan mo ang isang pag-uusap bilang priyoridad, o magsagawa ng anupamang pagbabago sa mga pag-uusap, lalabas dito ang mga ito. \n\nPara baguhin ang mga setting ng pag-uusap: \nMag-swipe pababa mula sa itaas ng screen para buksan ang pull-down shade, pagkatapos ay pindutin nang matagal ang isang pag-uusap."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"I-minimize"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Cooldown sa notification"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Ilapat ang cooldown sa lahat ng notification"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Dahan-dahang babaan ang volume ng notification kapag nakakuha ka ng maraming sunod-sunod na notification mula sa parehong app"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Ilapat ang cooldown sa mga pag-uusap"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Dahan-dahang babaan ang volume ng notification kapag nakakuha ka ng maraming mensahe mula sa parehong chat sa loob ng maikling panahon"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Huwag gumamit ng cooldown sa notification"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Huwag kailanman babaan ang volume ng notification, gaano man karami ang magkakasunod na notification mula sa parehong app"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Mag-vibrate kapag naka-unlock"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Mag-vibrate lang kapag naka-unlock ang screen"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Ilapat sa mga profile sa trabaho"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Ilapat sa iyong profile sa trabaho ang mga setting ng cooldown sa notification mula sa iyong personal na profile"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Mga serbisyong pantulong sa VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Walang mga naka-install na app ang humiling na mapagana bilang mga serbisyong pantulong sa VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Payagan ang access sa serbisyo ng VR para sa <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Naka-off"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Pag-pin ng app"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Sa pamamagitan ng pag-pin ng app, puwede mong panatilihing nakikita ang kasalukuyang app hanggang sa i-unpin mo ito. Puwedeng gamitin ang feature na ito, halimbawa, para mapalaro sa pinagkakatiwalaang kaibigan ang isang partikular na laro."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Kapag naka-pin ang isang app, puwedeng magbukas ng iba pang app ang naka-pin na app at puwedeng ma-access ang personal na data. \n\nPara gamitin ang pag-pin ng app: 	\n1. I-on ang pag-pin ng app 	\n2. Buksan ang Pangkalahatang-ideya 	\n3. I-tap ang icon ng app sa itaas ng screen, pagkatapos ay i-tap ang I-pin"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Kapag naka-pin ang isang app, puwedeng magbukas ng iba pang app ang naka-pin na app at puwedeng ma-access ang personal na data. \n\nKung gusto mong secure na ipagamit ang iyong device sa ibang tao, subukang gumamit na lang ng profile ng bisita. \n\nPara gamitin ang pag-pin ng app: 	\n1. I-on ang pag-pin ng app 	\n2. Buksan ang Pangkalahatang-ideya 	\n3. I-tap ang icon ng app sa itaas ng screen, pagkatapos ay i-tap ang I-pin"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Kapag naka-pin ang isang app, puwedeng magbukas ng iba pang app ang naka-pin na app at puwedeng ma-access ang personal na data. \n\nPara gamitin ang pag-pin ng app: 	\n{0,number,integer}. I-on ang pag-pin ng app 	\n{1,number,integer}. Buksan ang Overview 	\n{2,number,integer}. I-tap ang icon ng app sa itaas ng screen, pagkatapos ay i-tap ang I-pin"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Kapag naka-pin ang isang app, puwedeng magbukas ng iba pang app ang naka-pin na app at puwedeng ma-access ang personal na data. \n\nKung gusto mong secure na ipagamit ang iyong device sa ibang tao, subukang gumamit na lang ng profile ng bisita. \n\nPara gamitin ang pag-pin ng app: 	\n{0,number,integer}. I-on ang pag-pin ng app 	\n{1,number,integer}. Buksan ang Overview 	\n{2,number,integer}. I-tap ang icon ng app sa itaas ng screen, pagkatapos ay i-tap ang I-pin"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Kapag naka-pin ang isang app: \n\n•		Puwedeng ma-access ang personal data \n		(gaya ng mga contact at content ng email) \n•	 Puwedeng magbukas ng ibang app ang naka-pin na app \n\nGamitin lang ang pag-pin ng app sa mga taong pinagkakatiwalaan mo."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Humingi ng pattern sa pag-unlock bago mag-unpin"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Humingi ng PIN bago mag-unpin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Humingi ng password bago mag-unpin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"I-lock ang device kapag nag-a-unpin"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Kumpirmahin ang pag-delete ng SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Kumpirmahing gusto mong burahin ang iyong eSIM"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"I-verify na ikaw ito bago magbura ng eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Beta ng Advanced na proteksyon sa memory"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Advanced na proteksyon sa memory"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Mga setting ng hindi ginagamit na app"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"I-pause ang aktibidad sa app kung hindi ginagamit"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Alisin ang mga pahintulot, i-delete ang mga pansamantalang file, at ihinto ang mga notification"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Pamahalaan ang app kung hindi ginagamit"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Alisin ang mga pahintulot, i-delete ang mga pansamantalang file, ihinto ang mga notification, at i-archive ang app"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Lahat ng app"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Mga naka-install na app"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Mga instant na app"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Libre"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Memory na ginamit ng mga app"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 app ang gumamit ng memory sa nakalipas na {time}}one{# app ang gumamit ng memory sa nakalipas na {time}}other{# na app ang gumamit ng memory sa nakalipas na {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"I-enable ang pag-profile ng paggamit ng memory"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Nangangailangan ng mga karagdagang resource ng system ang pag-profile ng paggamit ng memory."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Na-disable ang pag-profile ng memory"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frequency"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maximum na paggamit"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Walang nagamit na data"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Ipakita sa ibabaw ng ibang app"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Payagang ipakita sa ibabaw ng iba pang app"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Payagan ang app na ito na lumabas sa ibabaw ng iba pang app na ginagamit mo. Makikita ng app na ito kung saan mo tina-tap o binabago ang lumalabas sa screen."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Palitan ang media output"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Payagan ang app na magpalit ng media output"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Payagan ang app na ito na pumili kung aling nakakonektang device ang magpe-play ng audio o video mula sa iba pang app. Kung papayagan, magagawa ng app na ito na i-access ang listahan ng mga available na device gaya ng mga headphone at speaker at piliin kung aling output device ang gagamitin para mag-stream o mag-cast ng audio o video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Access sa lahat ng file"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Payagan para mapamahalaan ang lahat ng file"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Payagan ang app na ito na basahin, baguhin, at i-delete ang lahat ng file sa device na ito o sa anumang nakakonektang storage volume. Kung pagbibigyan ito, puwedeng mag-access ng mga file ang app nang hindi mo nalalaman."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Makaka-access sa lahat ng file"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Mga app sa pag-activate gamit ang boses"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Payagan ang pag-activate gamit ang boses"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ino-on ng voice activation ang mga naaprubahang app nang hands-free sa pamamagitan ng command gamit ang boses. Sa pamamagitan ng built-in na adaptive sensing, natitiyak na nananatiling pribado sa iyo lang ang data.\n\n"<a href="">"Higit pa tungkol sa protektadong adaptive sensing"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Mga full screen na notification"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Payagan ang mga full screen na notification mula sa app na ito"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Payagan ang app na ito na magpakita ng mga notification na sakop ang buong screen kapag naka-lock ang device. Puwedeng gamitin ng mga app ang mga ito para mag-highlight ng mga alarm, papasok na tawag, o iba pang agarang notification."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Babala kapag umabot na sa <xliff:g id="ID_1">^1</xliff:g> ang data"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> na limitasyon sa data"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Babala kapag umabot na sa <xliff:g id="ID_1">^1</xliff:g> ang data / <xliff:g id="ID_2">^2</xliff:g> na limitasyon sa data"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Maaaring iba ang accounting ng data ng carrier kumpara sa accounting ng device"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Hindi kasama ang data na ginagamit ng mga carrier network"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> ang nagamit"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Magtakda ng babala sa data"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Na-update <xliff:g id="ID_1">^2</xliff:g> ang nakalipas"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Kaka-update lang ng <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Kaka-update lang"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Tingnan ang plan"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Tingnan ang mga detalye"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Data Saver"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Hindi pinaghihigpitang data"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Gumamit ang <xliff:g id="APP_LABEL">%1$s</xliff:g> ng mas maraming baterya kaysa sa karaniwan habang nasa background"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Gumamit ang <xliff:g id="APP_LABEL">%1$s</xliff:g> ng mas maraming baterya habang nasa foreground"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Gumamit ang <xliff:g id="APP_LABEL">%1$s</xliff:g> ng mas maraming baterya kaysa sa karaniwan habang nasa foreground"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Anomaly sa paggamit ng baterya"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Makonsumong paggamit ng baterya"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Makonsumong paggamit ng baterya sa background"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Makonsumong paggamit ng baterya sa foreground"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Mga tile ng developer para sa mga mabilisang setting"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"I-disable ang pag-time out ng pahintulot sa adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"I-disable ang awtomatikong pagbawi ng mga pahintulot sa adb para sa mga system na hindi pa ulit kumokonekta sa loob ng default (7 araw) na haba ng oras o sa loob ng haba ng oras na na-configure ng user (minimum na 1 araw)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Trace ng Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"I-Off ang Mga Sensor"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Mga setting ng profile sa trabaho"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Maghanap ng mga contact ng directory ng trabaho sa mga personal na app"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"system navigation, 2 button na navigation, 3 button na navigation, navigation gamit ang galaw, pag-swipe"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Digital na assistant"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"I-swipe para i-invoke ang assistant"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Mag-swipe pataas mula sa isang sulok sa ibaba para i-invoke ang app ng digital na assistant."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Mag-swipe pataas mula sa isang sulok sa ibaba para i-invoke ang app ng digital na assistant"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Pindutin nang matagal ang Home para sa Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Pindutin nang matagal ang button ng Home para i-invoke ang digital na assistant app."</string>
     <string name="low_label" msgid="6525629096999711220">"Mababa"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Serbisyo ng autofill"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Default na serbisyo ng autofill"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Mga Password"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Mga password, passkey, at serbisyo sa data"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Mga karagdagang provider"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Gustong serbisyo"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Mga karagdagang serbisyo"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# password}one{# password}other{# na password}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"auto, punan, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"data, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"auto, fill, autofill, data, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Baguhin"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Buksan"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Walang pinili"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Tiyaking pinagkakatiwalaan mo ang app na ito&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Ginagamit ng &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ang nasa iyong screen para matukoy kung ano ang pwedeng i-autofill."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Gamitin ang &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Ginagamit ng &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kung ano ang nasa screen mo para matukoy kung ano ang puwedeng i-autofill. Mula ngayon, mase-save na rito ang mga bagong password, passkey, at iba pang impormasyon."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Mga password, passkey, at serbisyo sa data"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Gamitin ang &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Mase-save ang mga bagong password, passkey, at iba pang impormasyon dito mula ngayon. Puwdeng gamitin ng &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kung ano ang nasa screen mo para matukoy kung ano ang puwedeng i-autofill."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Gustong serbisyo para sa mga password, mga passkey, at autofill"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"I-off ang %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;I-off ang serbisyong ito?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Hindi pupunan ang mga naka-save na impormasyon tulad ng mga password, passkey, paraan ng pagbabayad, at iba pang impormasyon kapag nag-sign in ka. Para magamit ang iyong naka-save na impormasyon, pumili ng serbisyo ng password, passkey, o data."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Mga password, mga passkey, at autofill"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;I-off ang lahat ng serbisyo?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Hindi magiging available para sa autofill ang mga password, passkey, at iba pang naka-save na impormasyon kapag nag-sign in ka"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Baguhin ang gusto mong serbisyo sa &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Mase-save dito ang mga bagong password, passkey, at iba pang impormasyon mula ngayon. Puwedeng gamitin ng &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kung ano ang nasa screen mo para matukoy kung ano ang puwedeng i-autofill"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Gamitin ang %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"I-off"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Baguhin"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"5 serbisyo lang ang puwede mong i-on"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"I-off ang kahit 1 serbisyo para magdagdag ng isa pa"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"Ginagamit ng %1$s kung ano ang nasa iyong screen para tukuyin kung ano ang puwedeng i-autofill."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Limitasyon sa mga password, passkey, at serbisyo sa data"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Puwede kang magkaroon ng hanggang 5 aktibong password, passkey, at serbisyo sa data nang sabay-sabay. Mag-off ng serbisyo para makapagdagdag ng higit pa."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Limitasyon sa mga password, passkey, at serbisyo sa data"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Puwede kang magkaroon ng hanggang 5 aktibong password, passkey, at serbisyo sa data nang sabay-sabay. Mag-off ng serbisyo para makapagdagdag ng higit pa."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"I-off"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"I-autofill"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Antas ng pag-log"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Puwede lang baguhin ang mga pagbabago sa compatibility ng app para sa mga nade-debug na app. Mag-install ng nade-debug na app at subukan ulit."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Nakadepende sa isa pang setting"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Account"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d (na) account"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Pangalan ng device"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Pangunahing impormasyon"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Legal at panregulasyon"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Payagang maglunsad ang app na ito kapag may na-scan na tag ng NFC.\nKung naka-on ang pahintulot na ito, magiging available bilang opsyon ang app sa tuwing may made-detect na tag."</string>
     <string name="media_output_title" msgid="8283629315159510680">"I-play ang media sa"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"I-play ang <xliff:g id="LABEL">%s</xliff:g> sa"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Magpe-play ang audio sa"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"device na ito"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Hindi available habang may tawag"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Sagutin ang tawag sa"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"I-mute"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Para i-enable, palitan muna ang \"Pindutin nang matagal ang power button\" sa power menu."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Mga detalye ng network"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Nakikita ng mga app sa iyong telepono ang pangalan ng device 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="devices_title" msgid="649715719278562515">"Mga Device"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Pumili ng network"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Nadiskonekta"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Pangalan"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Kulay (ginagamit ng mga compatible app)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"I-save"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Gumamit ng SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Gamitin ang SIM na ito"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Naka-off"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Para i-disable ang SIM na ito, alisin ang SIM card"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"I-tap para i-activate ang <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Burahin ang SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Para i-off ang SIM na ito, alisin ang SIM card"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"I-tap para i-activate ang iyong SIM sa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Burahin ang eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Mas gustong network type"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Baguhin ang network operating mode"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Mas gustong network type"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Magtanong sa iyong network provider para sa pagpepresyo."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Paggamit ng data ng app"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Invalid ang Network Mode na <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Balewalain."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Satellite na pagmemensahe"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Magpadala at makatanggap ng mga text message sa pamamagitan ng satellite. Kasama sa iyong account."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Magpadala at makatanggap ng mga text message sa pamamagitan ng satellite. Hindi kasama sa iyong account."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Satellite na pagmemensahe"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Tungkol sa satellite na pagmemensahe"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Puwede kang magpadala at makatanggap ng mga text message sa pamamagitan ng satellite bilang bahagi ng isang kwalipikadong <xliff:g id="CARRIER_NAME">%1$s</xliff:g> account"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Ang iyong plan sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Kasama ang satellite na pagmemensahe sa iyong account"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Hindi kasama ang satellite na pagmemensahe sa iyong account"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Magdagdag ng satellite na pagmemensahe"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Paano ito gumagana"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Kapag wala kang mobile network"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Awomatikong kokonekta ang iyong telepono sa satellite. Para sa pinakamahusay na koneksyon, manatili sa kung saan may malinaw na view ng kalangitan."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Kapag nakakoenekta na ang iyong telepono sa satellite"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Puwede kang mag-text sa kahit sino, kasama ang mga serbisyong pang-emergency. Kokonekta ulit ang iyong telepono sa mobile network kapag available."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Posibleng mas magtagal ang satellite na pagmemensahe at available lang sa ilang lugar, puwedeng makaapekto sa iyong koneksyon sa satellite ang lagay ng panahon at ilang partikular na istruktura. Hindi available ang pagtawag sa pamamagitan ng satellite.\n\nPuwedeng abutin nang mas matagal bago lumabas sa Mga Setting ang mga pagbabago sa iyong account. Makipag-ugnayan sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para sa mga detalye."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Higit pa tungkol sa satellite na pagmemensahe"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Mga Access Point Name"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Hindi available kapag nakakonekta sa <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Lumipat sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Lumipat sa paggamit ng SIM card?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Gamitin ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Isang SIM lang ang puwedeng maging aktibo sa isang pagkakataon.\n\nHindi makakansela ang iyong serbisyo mula sa <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> kung lilipat ka sa <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"1 eSIM lang ang puwedeng maging aktibo sa bawat pagkakataon.\n\nHindi makakansela ang iyong serbisyo sa <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> kapag lumipat ka sa <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Isang SIM lang ang puwedeng maging aktibo sa isang pagkakataon.\n\nHindi makakansela ang iyong serbisyo mula sa <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> kung lilipat ka."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"1 SIM lang ang puwedeng maging aktibo sa bawat pagkakataon.\n\nHindi makakansela ang iyong serbisyo sa <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> kapag lumipat ka sa <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"1 eSIM lang ang puwedeng maging aktibo sa bawat pagkakataon.\n\nHindi makakansela ang iyong serbisyo sa <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> kapag lumipat ka sa <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"1 SIM lang ang puwedeng maging aktibo sa bawat pagkakataon.\n\nHindi makakansela ang iyong serbisyo kapag lumipat ka sa <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Puwede kang gumamit ng 2 SIM nang sabay. Para magamit ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, i-off ang isa pang SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Lumipat sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"I-off ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Hindi makakansela ang iyong serbisyo kapag na-off mo ang isang SIM"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Kumokonekta sa network…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Lumilipat sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g> para sa mga tawag at mensahe…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Hindi makalipat ng carrier"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Hindi makalipat ng carrier dahil nagkaroon ng error."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Ina-activate ang iyong SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Lumilipat sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Hindi makalipat ng SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Nagkaproblema. Hindi makalipat ng SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"I-off ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"I-off ang SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Ino-off ang SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Hindi ma-disable ang carrier"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Nagkaproblema at hindi ma-disable ang iyong carrier."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Hindi ma-off ang SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Nagkaproblema at hindi ma-off ang iyong SIM."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Gumamit ng 2 SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Puwedeng magkaroon ang device na ito ng 2 aktibong SIM nang sabay. Para patuloy na gumamit ng 1 SIM sa isang pagkakataon, i-tap ang \"Hindi, salamat.\""</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"I-restart ang device?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Huwag na lang"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Kanselahin"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Lumipat"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"I-off"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Hindi ma-activate ang SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Subukang i-on ulit ang SIM. Kung magpapatuloy ang problema, i-restart ang iyong device."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"I-set up ang iyong SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Itakda ang iyong mga kagustuhan sa mobile network para makagamit ng maraming SIM sa device na ito"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Lagyan ng label ang mga SIM mo"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Makikita mo ang mga label na ito kapag tumatawag, nagpapadala ng mga text, at gumagamit ng data, at sa Mga Setting"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Label ng SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Label"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Pumili ng mga gagamiting SIM"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Puwede kang gumamit ng 2 SIM nang sabay"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Itakda ang mga pangunahing SIM"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Piliin kung aling mga SIM ang gagamitin bilang default para sa mga tawag, text, at data"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Iyong mga pangunahing SIM"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Mga Tawag"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Mga Text"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Awtomatikong paglipat ng data"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Gumamit ng data mula sa alinmang SIM depende sa sakop at availability"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Data lang"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"I-set up"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Susunod"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Ino-on ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobile network"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Numero ng telepono"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Label at kulay ng SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Pag-activate ng network"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Pagpapalit ng carrier"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"Aktibo ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"Aktibo ang iyong SIM sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"I-tap para i-update ang mga setting ng SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Lumipat sa <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Lumipat sa iba pang carrier"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Binago ang iyong mobile network"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"I-set up ang ibang SIM mo"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Piliin ang iyong aktibong SIM o gumamit ng 2 SIM nang sabay"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Pumili ng numerong gagamitin"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{May 1 numerong available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}=2{May 2 numerong available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}one{May # numerong available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}other{May # na numerong available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Ina-activate<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Hindi ma-activate sa ngayon"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Pumili ng gagamiting SIM"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{May 1 SIM na available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}=2{May 2 SIM na available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}one{May # SIM na available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}other{May # na SIM na available sa device na ito, pero isa lang ang magagamit sa bawat pagkakataon}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Ino-on<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Hindi ma-on ang SIM na ito sa ngayon"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Gamitin ang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ang gagamitin para sa mobile data, mga tawag, at SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Walang available na aktibong SIM"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Para gamitin ang mobile data, mga feature ng tawag, at SMS sa ibang pagkakataon, pumunta sa mga setting ng iyong network"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Burahin ang eSIM na ito?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Kapag binura ang SIM na ito, maaalis ang serbisyo ng <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sa device na ito.\n\nHindi makakansela ang serbisyo para sa <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Aalisin nito ang serbisyo ng <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sa device na ito, pero hindi makakansela ang iyong plan sa <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Burahin"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Binubura ang SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Hindi mabura ang SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Hindi mabura ang SIM na ito dahil sa isang error.\n\nI-restart ang iyong device at subukan ulit."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Binubura ang eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Hindi mabura ang eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Nagkaproblema at hindi nabura ang eSIM na ito.\n\nI-restart ang iyong device at subukan ulit."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Kumonekta sa device"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Gustong gumamit ng <xliff:g id="APPNAME">%1$s</xliff:g> app ng pansamantalang Wi‑Fi network para kumonekta sa iyong device"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Walang nahanap na device. Tiyaking naka-on ang mga device at available para kumonekta."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Mga emergency na tawag"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Hindi sinusuportahan ng iyong carrier ang mga emergency na tawag sa Pagtawag gamit ang Wi‑Fi.\nAwtomatikong lumilipat ang device sa isang cellular network para gumawa ng emergency na tawag.\nPosible lang ang mga emergency na tawag sa mga lugar na may cellular signal."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Gumamit ng Wi-Fi para sa mga tawag para mapahusay ang kalidad"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Backup na pagtawag"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Kung hindi available o nasa roaming ang <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>, gamitin ang mobile data SIM mo para sa mga pagtawag sa <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"backup na pagtawag"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Papasok na MMS message"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Hindi maipadala ang MMS message"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"I-tap para payagan ang pagmemensahe ng MMS sa <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> kapag naka-off ang mobile data"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Impormasyon tungkol sa iyong patakaran sa trabaho"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Pinapamahalaan ng iyong IT admin ang mga setting"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"I-boot nang may 16K laki ng page"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Mag-boot gamit ang 16K page size supported kernel"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"I-reboot nang may 16KB page na compatible kernel?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"BABALA: Posibleng hindi compatible sa mode na ito ang ilang application. Magre-reboot ang device pagkatapos ng pagkumpirma."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"I-reboot nang may 4KB page na compatible kernel?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Magre-reboot ang device pagkatapos ng pagkumpirma."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Hindi na-update ang kernel sa 16KB page na compatible kernel."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Inilalapat ang pagbabago"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Tagapangasiwa ng ulat ng bug"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Tinutukoy kung aling app ang mangangasiwa sa shortcut ng Ulat ng Bug sa iyong device."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Personal"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Payagang mag-overlay sa mga screen ng Mga Setting ang mga app na puwedeng lumabas sa ibabaw ng ibang app"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Payagan ang Mock Modem"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Payagan ang device na ito para patakbuhin ang serbisyo ng Mock Modem para sa instrumentation testing. Huwag itong i-enable sa panahon ng karaniwang paggamit ng telepono"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"I-disable ang proteksyon sa pagbabahagi ng screen"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Dini-disable ang mga proteksyon sa app at mga notification na inilapat ng system habang nagbabahagi ng screen"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"I-pin ang media player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Para mabilis na maipagpatuloy ang pag-playback, mananatiling bukas ang media player sa Mga Mabilisang Setting"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Ipakita ang media sa lock screen"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Para mabilis na maipagpatuloy ang pag-playback, mananatiling bukas ang media player sa lock screen"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Ipakita ang mga rekomendasyon sa media"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Ipakita ang mga inirerekomendang media ng Assistant"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Batay sa iyong aktibidad"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Itago ang player"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Ipakita ang player"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Payagan ang mga extension ng software ng camera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Ine-enable ang default na pagpapatupad ng software ng mga advanced na feature ng camera, gaya ng Eyes Free na videography."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Mag-o-on ang Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Mga SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Mga eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Aktibo"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Hindi aktibo"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Naka-on"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Naka-off"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Default para sa <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"mga tawag"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Nagiging mas immersive ang audio mula sa compatible na media"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Pag-track ng ulo"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Nagbabago ang audio habang iginagalaw mo ang iyong ulo para maging mas natural ang tunog"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"I-sync ang mga pahintulot"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Bigyan ang <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> ng mga pahintulot sa app na pinayagan mo rin sa <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"I-sync ang mga pahintulot mula sa telepono"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Bigyan ang iyong relo ng parehong mga pahintulot sa app na pinayagan mo sa teleponong ito"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Uri ng Audio Device"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Hindi alam"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Speaker"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Katamtaman"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Mataas"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Sa 1 window lang puwedeng buksan ang app na ito"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Naka-on"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Naka-off"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Naka-off"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Naka-off"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Naka-on"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Naka-off"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Naka-on"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Naka-off"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Ginagawang madilim ang mga light na screen at light ang mga madilim na screen"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Mag-zoom in sa screen"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Naka-off"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Naka-off"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Nagsa-scan para sa mga mapanlinlang na app"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Suriin ang aktibidad sa app para mag-detect ng phishing"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Gumamit ng pag-scan para sa mga mapanlinlang na app"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Gumamit ng pag-scan para sa mga mapanlinlang na app para sa trabaho"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Naka-set up na ngayon ang password"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Ipakita ang pointer habang nagho-hover"</string>
 </resources>
diff --git a/res/values-tr/arrays.xml b/res/values-tr/arrays.xml
index 5892ae1..aadd3bb 100644
--- a/res/values-tr/arrays.xml
+++ b/res/values-tr/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Müsait"</item>
     <item msgid="6096962300722555553">"Kapsama alanı dışında"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Devre dışı"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast ve Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Sistem Varsayılan ayarını kullan: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 dakika sonra"</item>
     <item msgid="1574040255478150028">"5 dakika sonra"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-tr/strings.xml b/res/values-tr/strings.xml
index 7dc5eae..0ce8dbc 100644
--- a/res/values-tr/strings.xml
+++ b/res/values-tr/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Artık bir geliştiricisiniz"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Gerekli değil, siz zaten bir geliştiricisiniz."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Lütfen önce geliştirici seçeneklerini etkinleştirin."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Geliştirici ayarlarına yalnızca yönetici kullanıcılar erişebilir."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Sistem"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Hizmette"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Hizmet Dışı"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Ön ekran, cihazınızı katladığınızda açılır"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Yalnızca oyunlar, videolar ve daha fazlası"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Ön ekran, ekranınızın boşta kalmasını engelleyen uygulamalar için açılır"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Devam etmek için yukarı kaydırın"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Uygulamayı kullanmaya devam etmek için telefonunuzu katlayıp ön ekranda yukarı kaydırın veya ekranın kilitlenmesi için birkaç saniye bekleyin"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Hiçbir zaman"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Ön ekran, cihazınızı katladığınızda kilitlenir"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Otomatik döndürmeyi kullan"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Benzer"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Zil sesi ve alarmlar"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Telefon görüşmelerinde ses"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Medya"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Bildirimler ve sistem sesleri"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Medya ve sistem sesleri"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Bildirimler"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Varsayılan olarak, ses çıkışı bağımsız uygulamalar tarafından belirlenir"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Adsız Bluetooth cihazı"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Arıyor"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"İptal"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audio\'yu devre dışı bırak"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Cihaz, LE Audio donanımı özelliklerini destekliyorsa Bluetooth LE Audio özelliğini devre dışı bırakır."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio modu"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Cihaz Ayrıntıları\'nda LE Audio açma/kapatmayı göster"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE Audio İzin Verilenler Listesi\'ni etkinleştir"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE Audio izin verilenler listesi özelliğini etkinleştirin."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio izin verilenler listesini atla"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio çevre biriminin, izin verilenler listesi kriterlerini karşıladığı doğrulanmamış olsa bile varsayılan olarak LE Audio\'yu kullanın."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Medya cihazları"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Cihazları ara"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Diğer cihazlar"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Kayıtlı cihazlar"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Hesapla ilişkili"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Hesapta daha önce kullanılan"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth, eşleme işlemi için açılır"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Bağlantı tercihleri"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Daha önce bağlanılmış cihazlar"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth açık"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Tümünü göster"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Tümünü göster"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Ekran kalemi"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ekran kalemi düğmesine basıldığında"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (İş profili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Metin alanlarına yazın"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ekran kalemiyle basılan düğmeleri yoksay"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Ekran kalemi"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Ses paylaşımı"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Sesi paylaş"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Aramalar ve alarmlar"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"QR kodu kullanarak ses akışına bağlanın"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Yakında ses akışı bulunamadı."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Tarih ve saat"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Temizle"</string>
@@ -173,6 +188,8 @@
     <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 edinin"</string>
     <string name="title_change_system_locale" msgid="8589844586256566951">"Sistem dili %s olarak değiştirilsin mi?"</string>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s tercih edilen dillere eklensin mi?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Bu, uygulamaların ve web sitelerinin sizin de bu dili tercih ettiğinizi bilmesini sağlar."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Cihaz ayarlarınız ve bölgesel tercihleriniz değişecek."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Değiştir"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s kullanılamıyor"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Cumartesi"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Bölgesel tercihleri desteklemeyen uygulamalar kendi varsayılan yerel ayarlarını kullanır."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Dil tercihleri ile ilgili daha fazla bilgi edinin."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Ek tercihler"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Hitap şekli"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Kullanılmasını istediğiniz hitap şeklini belirleyin"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Uygulamalar size nasıl hitap edeceklerini kişiselleştirmek için belirlediğiniz hitap şeklini kullanabilir."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Belirtilmedi"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Kadın"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Erkek"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Normal"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Seçilen dil kaldırılsın mı?}other{Seçilen diller kaldırılsın mı?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Metin başka bir dilde görüntülenecek."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Tüm diller kaldırılamaz"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Konum"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Konumu kullan"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Kapalı"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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="5329024810729665156">"Konum Ayarları hakkında daha fazla bilgi edinin."</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="3574930966097093550">"Konum erişimini değiştirmek için Ayarlar &gt; Güvenlik ve Gizlilik &gt; Gizlilik denetimleri\'ne gidin"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Hesaplar"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Güvenlik"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Şifreleme ve kimlik bilgileri"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"En iyi sonuçlar için Made for Google sertifikalı bir ekran koruyucu kullanın. Çocuğunuzun parmak izi diğer ekran koruyucularla çalışmayabilir."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Saat ile Kilit Açma"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi\'ni ayarladığınızda telefonunuz, yüzünüzde maske varken veya karanlık bir yerdeyseniz parmak izinizi ister.\n\nYüzünüz veya parmak iziniz tanınmadığında kilidi kol saatinizle açabilirsiniz."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Parmak iziniz tanınmadığında kilidi kol saatinizle açabilirsiniz."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Yüzünüz tanınmadığında kilidi kol saatinizle açabilirsiniz."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Yüz Tanıma Kilidi ve Parmak İzi Kilidi\'ni ayarladığınızda telefonunuz, yüzünüzde maske varken veya karanlık bir yerdeyseniz parmak izinizi ister.\n\nSaat ile Kilit Açma, bu telefonun kilidini açabileceğiniz pratik yöntemlerden biridir. Örneğin, parmaklarınız ıslak olduğunda veya yüzünüz tanınmadığında bu özelliği kullanabilirsiniz."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Saat ile Kilit Açma, telefonunuzun kilidini açabileceğiniz pratik yöntemlerden biridir. Örneğin, parmak iziniz tanınmadığında bu özelliği kullanabilirsiniz."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Saat ile Kilit Açma, telefonunuzun kilidini açabileceğiniz pratik yöntemlerden biridir. Örneğin, yüzünüz tanınmadığında bu özelliği kullanabilirsiniz."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Şunlar için parmak izini veya kol saatini kullan:"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Şunlar için yüzü veya kol saatini kullan:"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Şunlar için yüzü, parmak izini veya kol saatini kullan:"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Saat ile Kilit Açma, bu telefonun kilidini açabileceğiniz pratik yöntemlerden biridir. Örneğin, parmaklarınız ıslak olduğunda veya yüzünüz tanınmadığında bu özelliği kullanabilirsiniz.\n\nAşağıdaki durumlarda bu telefonun kilidini açmak için kol saatinizi kullanabilirsiniz:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Şimdi değil"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Devam"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Daha fazla"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"İşleyiş şekli"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Kol saatiniz kilidi açık, bileğinize takılı ve bu telefona yakın mesafede olmalıdır. Bileğinizdeyken kol saatinizin kilidini tekrar açmanız gerekmez."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Bu telefonun kilidi açıldığında kol saatinize bildirim gelir. Kilidi yanlışlıkla açtıysanız bildirime dokunarak telefonu tekrar kilitleyebilirsiniz."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Kontrol sizde"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"İstediğiniz zaman Ayarlar\'a giderek kol saatinizi Saat ile Kilit Açma özelliğinden kaldırabilirsiniz"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Bildirime dokunanarak"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Kilit ekranını yukarı kaydırarak"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Kol saatinizi seçin"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Mevcut kol saatleri"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"İptal"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Onayla"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Hazırsınız."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Kilit ekranında yukarı kaydırdığınızda veya bir bildirime dokunduğunuzda bu telefonun kilidini açmak için artık kol saatinizi kullanabilirsiniz"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Bitti"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Saat ile Kilit Açma"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Kilit ekranında yukarı kaydırdığınızda veya bir bildirime dokunduğunuzda bu telefonun kilidini açmak için kol saatinizi kullanabilirsiniz"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Saat ile Kilit Açma özelliğini kullanmak için kol saatiniz kilidi açık, bileğinize takılı, yakın mesafede ve bu telefona bağlı olmalıdır. Bağlantı kesilirse Saat ile Kilit Açma\'yı kullanabilmek için önce telefonun kilidini açmanız gerekir.\n\nHatırlatma:\nAynı anda yalnızca bir tane kol saati ayarlayabilirsiniz. Başka bir kol saati eklemek için önce mevcut kol saatini kaldırın."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Güvenlik"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Gizlilik"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"İş profili"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Özel alan"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Özel uygulamaları kilitli ve gizli tutun"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Özel uygulamaları, gizleyebileceğiniz veya kilitleyebileceğiniz ayrı bir alanda saklayın"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Özel alan kilidi"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Özel alanın kilidini, cihazınızın kilidini açtığınız şekilde açabilir veya farklı bir kilit seçebilirsiniz"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Cihaz ekran kilidini kullanma"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Yüz Tanıma Kilidi ve Parmak İziyle Kilit Açma"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Parmak İzi Kilidi"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Yüz Tanıma Kilidi"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Kurmak için dokunun"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Özel alan için Parmak İzi Kilidi"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Özel alan için Yüz Tanıma Kilidi"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Kilidi açma yöntemleri"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Cihaz ekranı kilidiyle aynı"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Özel alan için yeni bir kilit seçilsin mi?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Özel alanı otomatik olarak kilitleyin"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Cihazınızı bir süredir kullanmadıysanız özel alanınızı otomatik olarak kilitleyebilirsiniz"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Cihaz her kilitlendiğinde"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 dakika etkinlik olmaması durumunda"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Hiçbir zaman"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Kilitli olduğunda gizle"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Kilitli olduğunda özel alanı gizle"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Başkalarının, cihazınızda özel alan olduğunu bilmesini önlemek için bunu uygulama listenizde gizleyin"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Gizli olduğunda özel alana erişin"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Uygulama listenizdeki arama çubuğuna \"özel alan\" yazın"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Özel alan kutusuna dokunun"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Özel alanınızın kilidini açın"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Kapalı"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Açık"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Sistem"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Gizli alanı sil"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Gizli alan silinsin mi?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Özel alanınız cihazınızdan kaldırılacak. Tüm gizli uygulamalar ve veriler silinecek. Bu işlem geri alınamaz."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Şu hesaplar özel alanınızdan kaldırılacak:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Sil"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Özel alan siliniyor…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Bu işlem birkaç dakika sürecek"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Özel alan silindi"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Özel alan silinemedi"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Özel alanın kilidi açıldı"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ekran kilidi ayarlayın"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Özel alanı kullanmak için cihazda ekran kilidi ayarlayın"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekran kilidi ayarla"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"İptal"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"İptal"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Kur"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Özel alan kurun"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Özel uygulamaları, gizleyebileceğiniz veya kilitleyebileceğiniz ayrı bir alanda saklayın"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Nasıl çalışır?"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Özel alana, uygulama listenizin alt tarafından erişebilirsiniz"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Özel alandaki uygulamalar kilit ile korunur"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Kilitli olduğunda özel alandaki uygulamaların gönderdiği bildirimler gizlenir"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Özel alanınız kilitli olduğunda izin yöneticisi, gizlilik kontrol paneli ve diğer ayarlarda özel alanınızdaki uygulamalar görünmez.\n\nÖzel alanınız yeni bir cihaza taşınamaz. Başka bir cihazda kullanmak istiyorsanız ilgili cihazda yeni bir özel alan kurmanız gerekir.\n\nCihazınızı bilgisayara bağlayan veya cihazınıza zararlı uygulamalar yükleyen kişiler özel alanınıza erişebilir."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Özel alan kuruluyor…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Kilitli olduğunda özel alan uygulamalarının gönderdiği bildirimler gizlenir"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Fotoğrafları veya dosyaları paylaşmak için özel alanınızın kilidini açın"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Bazı uygulamalar, özel alanınıza önceden yüklenmiştir"</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_lockscreen_title" msgid="6034864097861137509">"Özel alanın kilidini açmak için ekran kilidi kullanılsın mı?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Özel alanın kilidini, cihazınızın kilidini açtığınız şekilde açabilir veya farklı bir kilit seçebilirsiniz"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Ekran kilidi kullan"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Yeni kilit seç"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Kurulum tamamlandı."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Özel alanınıza erişmek için uygulama listenize gidip aşağı kaydırın"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Bitti"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Özel alanı bulmak için aşağı kaydırın"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Oturum aç"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Özel alanınızda kullanılacak hesapta oturum açın"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Şimdi değil"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Devam"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Özel alanınız için bir kilit seçin"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Özel alanınızın kilidini, parmak izinizi kullanarak açabilirsiniz. Güvenlik amacıyla, bu seçenek için yedek bir kilit gerekir."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Özel alanınız için PIN ayarlayın"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Özel alanınız için şifre ayarlayın"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Özel alanınız için desen ayarlayın"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"<xliff:g id="COUNT">%d</xliff:g> adede kadar parmak izi ekleyebilirsiniz"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Maksimum sayıda parmak izi eklediniz"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Daha fazla parmak izi eklenemez"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Desen"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Şifre"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ekran kilidi silinsin mi?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Cihaz kilidini açma yöntemlerinin tamamı kaldırılsın mı?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Profil koruması kaldırılsın mı?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Kaybolur veya çalınırsa desen telefonunuzu korur"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Kaybolur veya çalınırsa desen telefonunuzu korur.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Bu işlem, cihazınızda depolanan parmak izi modelini siler. Yüz modeliniz de güvenli bir şekilde kalıcı olarak silinir. Uygulamalarda kimlik doğrulama için yüzünüzü ve parmak izinizi kullanamazsınız."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Kaybolur veya çalınırsa PIN telefonunuzu korur"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN\'iniz gibi kayıtlı verileri kaybedersiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Temassız ödeme yapabilecek şekilde ayarlanan kartlar kaldırılır.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihaz kilidinin açılması gereken cüzdanlar ve diğer uygulamalar düzgün çalışmayabilir."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Kaybolur veya çalınırsa PIN telefonunuzu korur.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bu işlem, cihazınızda depolanan parmak izi modelini de siler. Uygulamalarda kimlik doğrulama için parmak izinizi kullanamazsınız."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN\'iniz ve parmak izi modeliniz gibi kayıtlı verileri kaybedersiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Temassız ödeme yapabilecek şekilde ayarlanan kartlar kaldırılır.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihaz kilidinin açılması gereken cüzdanlar ve diğer uygulamalar düzgün çalışmayabilir."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Kaybolur veya çalınırsa PIN telefonunuzu korur.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Yüz modeliniz de güvenli bir şekilde kalıcı olarak silinir. Uygulamalarda kimlik doğrulama için yüzünüzü kullanamazsınız."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN\'iniz ve yüz modeliniz gibi kayıtlı verileri kaybedersiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Temassız ödeme yapabilecek şekilde ayarlanan kartlar kaldırılır.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihaz kilidinin açılması gereken cüzdanlar ve diğer uygulamalar düzgün çalışmayabilir."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Kaybolur veya çalınırsa PIN telefonunuzu korur.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bu işlem, cihazınızda depolanan parmak izi modelini siler. Yüz modeliniz de güvenli bir şekilde kalıcı olarak silinir. Uygulamalarda kimlik doğrulama için yüzünüzü ve parmak izinizi kullanamazsınız."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN\'iniz, yüz ve parmak izi modeliniz gibi kayıtlı verileri kaybedersiniz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Temassız ödeme yapabilecek şekilde ayarlanan kartlar kaldırılır.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Cihaz kilidinin açılması gereken cüzdanlar ve diğer uygulamalar düzgün çalışmayabilir."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Kaybolur veya çalınırsa şifre telefonunuzu korur"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Kaybolur veya çalınırsa şifre telefonunuzu korur.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> ile eşlensin mi?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Mevcut koordine gruba yeni üye ekleyin"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Ses sisteminizin ikinci parçasını eklemeyi onaylayın"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth eşleme kodu"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Eşleme kodunu yazın ve sonra Return veya Enter tuşuna basın"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN, harfler veya simgeler içerir"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"18 basamaklı olmalıdır"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Bu PIN\'i diğer cihazda da yazmanız gerekebilir."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Bu parolayı diğer cihazda da girmeniz gerekebilir."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Koordine grupla eşlemeyi onaylayın"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Ses sistemiyle eşlemeyi onaylayın"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Kişilerime ve çağrı geçmişime erişime izin ver"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Kişilere ve çağrı geçmişine erişim izni de verin"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Bilgiler, arama duyuruları ve diğer özellikler için kullanılacak"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> adlı cihaza bağlanılamadı."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Kullanılabilir cihazlar"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Bağlan"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Bağlantıyı kes"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Eşle ve bağlan"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Bluetooth açık olduğunda, cihazınız yakındaki Bluetooth cihazlarla iletişim kurabilir."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bluetooth açık olduğunda, cihazınız yakındaki Bluetooth cihazlarla iletişim kurabilir."</string>
     <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_scan_change" msgid="1744636222637390367">"Değiştir"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Cihaz ayrıntıları"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART\'ın, hata ayıklaması yapılabilecek uygulamaların bayt kodunu doğrulamasına izin ver"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Yenileme hızını göster"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Mevcut ekranın yenileme hızını göster"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR oranını göster"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Mevcut HDR/SDR oranını göster"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC için cihaz kilidinin açılmasını zorunlu kıl"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Uçak modunda"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Herkese açık ağları bildir"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Herkese açık yüksek kaliteli bir ağ kullanılabilir olduğunda bildir"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP ağlarına izin ver"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP, güvenliği düşük eski bir güvenlik protokolüdür"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operatörünüz, güvenliği düşük olduğundan WEP ağlarına izin vermiyor"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Kablosuz ağı otomatik olarak aç"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Ev ağınız gibi yüksek kaliteli kayıtlı ağların yakınında olduğunuzda kablosuz özelliği tekrar açılır"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Konum kapalı olduğundan kullanılamıyor. "<annotation id="link">"Konum"</annotation>"\'u açın."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Kablosuz ağ taraması uygulamaların ve hizmetlerin kablosuz ağları Kablosuz özelliği kapalıyken bile her zaman taramasına izin verir. Bu özellik, örneğin, konuma dayalı özellikleri ve hizmetleri iyileştirmek için kullanılabilir."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Aç"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Kablosuz ağ taraması açık"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Bu ağda, güvenliği düşük eski bir güvenlik protokolü kullanılıyor"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> engellendi"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Bu ağda, WEP adında güvenliği düşük eski bir güvenlik protokolü kullanılıyor. Yine de bağlanmak için WEP ağlarına izin verebilirsiniz."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operatörünüz, güvenliği düşük eski bir güvenlik protokolü kullandığından bu ağa bağlanmanıza izin vermiyor"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP\'e izin ver"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Kapat"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Gelişmiş seçenekler"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Açılır liste Gelişmiş Seçenekler"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"genişlet"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Kablosuz bağlantıda kal"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Bir daha gösterme"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Bağlan"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Kablosuz bağlantı açık"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> ağına bağlandı"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> cihazına bağlanıyor"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Bağlanıyor…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Ağa bağlanılamadı"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Ağ, kapsama alanında değil"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Unut"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Değiştir"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Ağ unutulamadı"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Kaydet"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Ağ kaydedilemedi"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"İptal"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Kablosuz"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobil veri"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Şarj ediliyor"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Şarj ediliyor"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot bağlantısı"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Bağlantı gücü"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Kayıtlı ağlar"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Şifre ayarlanmadı"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot adı"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot şifresi"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Erişim Noktası Bandı"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspot\'u otomatik olarak kapat"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Hiçbir cihaz bağlı olmadığında"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Uyumluluğu genişlet"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Beyaz dengeyi göster"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Cihaz katlıyken uygulamaları kullanmaya devam et"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Bazı içerikler için yenileme hızını otomatik olarak 60 Hz\'den <xliff:g id="ID_1">%1$s</xliff:g> Hz\'e yükseltir. Pil kullanımını artırır."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Oyunlarda varsayılan kare hızını devre dışı bırakın"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Oyunlarda maksimum kare hızının <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz ile sınırlandırılmasını devre dışı bırakın."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Bazı içerikler için yenileme hızını otomatik olarak <xliff:g id="ID_1">%1$d</xliff:g> Hz\'e yükseltir. Pil kullanımını artırır."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Yoğun yenileme hızına zorla"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Geliştirilmiş dokunma duyarlılığı ve animasyon kalitesi için en yüksek yenileme hızı. Pil kullanımını artırır."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Ekrana dikkat verme"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Ekrana dikkat verme seçeneğinde, ekrana bakan birisi olup olmadığını görmek için ön kamera kullanılır. Tüm işlemler cihazda gerçekleşir ve görüntüler hiçbir zaman saklanmaz ya da Google\'a gönderilmez."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Ekrana dikkat vermeyi açın"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Baktığınız sürece ekranı açık tutar"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Ekran zaman aşımı süresi uzun olduğunda daha fazla pil kullanılır."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera kilitli"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Yüz Algılama için kamera kilidi açık olmalıdır"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Ekrana Dikkat Verme özelliği için kamera açık olmalıdır"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM yuvası <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM yuvası <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (birincil)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Görüntülemek için kaydedilmiş ağı seçin"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL sürümü"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Pil düzeyi"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Ortak"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Ortak ayarlar"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Uydu Üzerinden Mesajlaşma"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN\'ler"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Erişim noktasını düzenle"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Erişim noktası ekleyin"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Ayarlanmadı"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ayarlanmadı"</string>
     <string name="apn_name" msgid="6677695784108157953">"Ad"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN etkin"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN devre dışı"</string>
     <string name="bearer" msgid="3231443241639159358">"Taşıyıcı"</string>
+    <string name="network_type" msgid="748590707422733595">"Ağ türü"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Belirtilmemiş"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO türü"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO değeri"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APN\'yi sil"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Kaydet"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"İptal"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Yinelenen APN girişi."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Ad alanı boş olamaz."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN boş olamaz."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC alanındaki değer 3 rakamdan oluşmalıdır."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC alanındaki değer 2 veya 3 rakamdan oluşmalıdır."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Operatör %s türünde APN eklenmesine izin vermiyor."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC alanı geçerli olmalıdır."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Varsayılan APN ayarları geri yükleniyor."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Varsayılana sıfırla"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Varsayılan APN ayarlarına sıfırlama tamamlandı."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Sıfırla"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth ve kablosuz ayarları sıfırlandı"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM\'leri sil"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Bu işlem, mobil hizmet planlarını iptal etmeyecektir. Yedek SIM\'leri indirmek için operatörünüzle iletişime geçin."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Bu işlem, mobil hizmet tarifenizi iptal etmez. Yeni SIM kart almak için operatörünüzle iletişime geçin."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Ayarları sıfırla"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Tüm ağ ayarları sıfırlansın mı? Bu işlemi geri alamazsınız."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Tüm ağ ayarları sıfırlansın ve eSIM\'ler silinsin mi? Bu işlem geri alınamaz."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Sıfırlansın mı?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Bu kullanıcı için ağ ayarlarına sıfırlama işlevi kullanılamıyor"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Ağ ayarları sıfırlandı"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM\'ler silinemiyor"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM\'ler bir hata nedeniyle silinemiyor.\n\nCihazınızı yeniden başlatıp tekrar deneyin."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM\'ler silinemiyor"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Bir hata oluştu ve eSIM\'leriniz silinmedi.\n\nCihazınızı yeniden başlatıp tekrar deneyin."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Tüm verileri sil (fabrika ayarlarına sıfırla)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Tüm verileri sil (fabrika ayarlarına sıfırla)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Müzik"</li>\n<li>"Fotoğraflar"</li>\n<li>"Diğer kullanıcı verileri"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM\'ler"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Bu işlem mobil hizmet planınızı iptal etmeyecektir."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Tüm kişisel bilgileriniz ve indirilen uygulamalar silinir. Bu işlemi geri alamazsınız."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"İndirilen uygulamalar ve SIM\'ler dahil olmak üzere tüm kişisel bilgileriniz silinecek. Bu işlemi geri alamazsınız."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"İndirilen uygulamalar ve SIM\'ler dahil olmak üzere tüm kişisel bilgileriniz silinecek. Bu işlem geri alınamaz."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Tüm veriler silinsin mi?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Bu kullanıcı için fabrika ayarlarına sıfırlama işlevi kullanılamıyor"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Siliniyor"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"İnternet diğer cihazlarla paylaşılmıyor"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Kapalı"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Tethering"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Kablosuz hotspot kullanma"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"İnterneti yalnızca USB üzerinden paylaş"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"İnterneti yalnızca Bluetooth üzerinden paylaş"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"İnterneti yalnızca Ethernet üzerinden paylaş"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"İnterneti yalnızca USB ve Bluetooth üzerinden paylaş"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"İnterneti yalnızca USB ve Ethernet üzerinden paylaş"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"İnterneti yalnızca Bluetooth ve Ethernet üzerinden paylaş"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"İnterneti yalnızca USB, Bluetooth ve Ethernet üzerinden paylaş"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB tethering"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth tethering"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet tethering"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Kablosuz veya mobil veri bağlantınızdan başka cihazlara internet bağlantısı sağlamak için hotspot ve tethering\'i kullanın. Yakınlardaki cihazlarla içerik paylaşmak için uygulamalar da hotspot oluşturabilir."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Yardım"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobil ağ"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Mobil plan"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS uygulaması"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS uygulaması değiştirilsin mi?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"<xliff:g id="NEW_APP">%1$s</xliff:g>, SMS uygulamanız olarak <xliff:g id="CURRENT_APP">%2$s</xliff:g> yerine kullanılsın mı?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Kablosuz bağlantı yardımcısı değiştirilsin mi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Ağ bağlantılarınızı yönetmek için <xliff:g id="CURRENT_APP">%2$s</xliff:g> yerine <xliff:g id="NEW_APP">%1$s</xliff:g> uygulaması kullanılsın mı?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Ağ bağlantılarınızı yönetmek için <xliff:g id="NEW_APP">%s</xliff:g> kullanılsın mı?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Bilinmeyen SIM operatörü"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>, bilinen temel hazırlık web sitesine sahip değil"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Lütfen SIM kartı takın ve yeniden başlatın"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Lütfen İnternet\'e bağlanın"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Son konum istekleri"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"İş profili konumu"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Uygulama konum izinleri"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Erişimi temizle"</string>
     <string name="controls_label" msgid="8671492254263626383">"Denetimler"</string>
     <string name="force_stop" msgid="2681771622136916280">"Durmaya zorla"</string>
+    <string name="archive" msgid="9074663845068632127">"Arşivle"</string>
+    <string name="restore" msgid="7622486640713967157">"Geri yükle"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Geri yükleniyor"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Geri yükleniyor."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Geri yükleniyor…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Geri yükleniyor..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Toplam"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Uygulama boyutu"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB bellek uygulaması"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Paket boyutu hesaplanamadı."</string>
     <string name="version_text" msgid="7628938665256107608">"sürüm <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Taşı"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arşivlenemedi"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> arşivlendi"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Geri yüklenemedi"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> geri yükleniyor"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Başka bir taşıma işlemi zaten çalışıyor."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Yeterli depolama alanı yok."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Uygulama mevcut değil."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Kullanılabilir dokunmatik klavye"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Ekran klavyelerini yönet"</string>
     <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="6922850403920596246">"Geri sekme tuşlarına klavyeden fiziksel erişimi etkinleştirin"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Yavaş tuşlar"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Yavaş tuşlara klavyeden fiziksel erişimi etkinleştirin"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Yapışkan tuşlar"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Yapışkan tuşlara klavyeden fiziksel erişimi etkinleştirin"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"İşaretçi hızı"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Dokunmatik alan hareketlerini öğren"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Ana ekrana gidin"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Dokunmatik alanda üç parmağınızla yukarı kaydırın"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Geri dön"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Kullanım süresine göre sırala"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Son kullanılmaya göre sırala"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Uygulama adına göre sırala"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Son kullanıldığı tarih"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Son kullanıldığı tarih"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"hiçbir zaman"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Kullanım süresi"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Erişilebilirlik"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Erişebilirlik ayarları"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Üç kez dokunarak büyütme"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Kısayolla büyütme"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Kısayolla ve üç kez dokunarak büyütme"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> hakkında"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Açmak için erişilebilirlik düğmesini kullanın"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Açmak için ses düğmelerini basılı tutun"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Açmak için ekrana üç kez dokunun"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Açmak için ekrana iki parmağınızla iki kez dokunun"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Açmak için hareketi kullanın"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Erişilebilirlik hareketini kullan"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Bu özelliği kullanmak için ekranınızın alt kısmındaki erişilebilirlik düğmesine <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> dokunun.\n\nÖzellikler arasında geçiş yapmak için erişilebilirlik düğmesine dokunup basılı tutun."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Bu özelliği kullanmak için ekranınızdaki erişilebilirlik düğmesine dokunun."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Bu özelliği kullanmak için ses tuşlarının ikisine birden basın ve basılı tutun."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Büyütmeyi başlatıp durdurmak için ekranınızda herhangi bir yere üç kez dokunun."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Büyütmeyi başlatıp durdurmak için ekranınızda herhangi bir yere iki parmağınızla iki kez dokunun."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Bu özelliği kullanmak için 2 parmağınızla ekranın alt kısmı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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Bu özelliği kullanmak için 3 parmağınızla ekranın alt kısmı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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Bir erişilebilirlik özelliğini kullanmak için 2 parmağınızla ekranın alt kısmı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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Bir erişilebilirlik özelliğini kullanmak için 3 parmağınızla ekranın alt kısmı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_tutorial_dialog_button" msgid="2031773187678948436">"Anladım"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Erişilebilirlik düğmesi ayarları"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Düğme ayarları"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> kısayolu"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Erişilebilirlik düğmesi"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Erişilebilirlik hareketi"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Ses seviyesi tuşlarını basılı tut"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"ses tuşlarını basılı tut"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"iki parmağınızla ekrana iki kez dokunun"</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="6863958573135995927">"ekrana üç kez dokun"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Erişilebilirlik düğmesi ve hareketi hakkında daha fazla bilgi edinin"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Erişilebilirlik düğmesini kullanma. Hareket, 3 düğmeli gezinme ile kullanılamaz."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Erişilebilirlik özelliklerine hızlıca erişin"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Başlamak için"</b>\n"1. Erişilebilirlik ayarlarına gidin\n2. Bir özellik seçip kısayola dokunun\n3. Özelliğe erişmek için düğme mi yoksa hareket mi kullanmak istediğinizi seçin"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Başlamak için"</b>\n"1. Erişilebilirlik ayarlarına gidin\n2. Bir özellik seçip kısayola dokunun\n3. Özelliğe erişmek için kullanılacak düğmeyi seçin"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Başlamak için&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Erişilebilirlik ayarlarına gidin&lt;br/&gt; {1,number,integer}. Bir özellik seçip kısayola dokunun&lt;br/&gt; {2,number,integer}. Özelliğe erişmek için düğme mi yoksa hareket mi kullanmak istediğinizi seçin&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Başlamak için&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Erişilebilirlik ayarlarına gidin&lt;br/&gt; {1,number,integer}. Bir özellik seçip kısayola dokunun&lt;br/&gt; {2,number,integer}. Özelliğe erişmek için kullanılacak düğmeyi seçin&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Düğmeyi veya hareketi kullan"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Yer"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Boyut"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Güç düğmesi çağrıyı sonlandırır"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Geniş fare işaretçisi"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Fare işaretçisini daha belirgin hale getirir"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Tüm uygulamaları koyu yap"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Kendi koyu teması olmayan uygulamalarda geçerlidir. Bazı uygulamalarda, renklerin çevrilmesi gibi görüntüleme sorunları olabilir."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animasyonları kaldır"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Ekrandaki hareketliliği azaltır"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono ses"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Titreşimi ve dokunma teknolojisini kullan"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Alarm titreşimi"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Medya titreşimi"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Klavye titreşimi"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Zili çaldırma titreşimi"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Bildirim titreşimi"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Dokunma geri bildirimi"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Durdur"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"İptal"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> durdurulsun mu?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> düğmesine dokunursanız <xliff:g id="SERVICE">%2$s</xliff:g> hizmeti durdurulur."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Kapat"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Açık bırak"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> kapatılsın mı?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Hiçbir hizmet yüklenmedi"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Hizmet seçilmedi"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Hiçbir açıklama sağlanmadı."</string>
     <string name="settings_button" msgid="2195468788019730377">"Ayarlar"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ışık hassasiyeti, ışık korkusu, karanlık tema, migren, baş ağrısı, okuma modu, gece modu, parlaklığı azalt, beyaz nokta"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Kullanım kolaylığı, erişim kolaylığı, destek, yardımcı"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"görme, işitme, kör, sağır, motor, el becerisi, yardımcı, yardım, kullanım kolaylığı, erişim kolaylığı, el, yardım"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Pencere büyütücü, Yakınlaştırma, Büyütme, Az görme, Genişlet, büyüt"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Altyazı, altyazılar, alt yazılar, Canlı Altyazı, duyma zorluğu, duyma kaybı, gerçek zamanlı altyazı, sesle yazma, alt yazı"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"renk kontrastı"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, fare"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"işitme cihazları, duyma zorluğu, duyma kaybı, koklear implantlar, ses yükseltme cihazları, ses işlemcileri"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motor, fare, harici fare, kafa faresi, uyarlanan fare, tekerlekli sandalye, kontrol çubuğu"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"işitme cihazları, işitme zorluğu, işitme kaybı, koklear implantlar, ses yükseltme cihazları, ses işlemcileri, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"duyma zorluğu, duyma kaybı, altyazı, işitme engelli iletişim cihazı, işitme engelli iletişim"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"üç düğme"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"el becerisi, motor, yaşlı, eklem iltihabı, rsi, inme, titreme, multipl skleroz, beyin felci, sallanma, aşırı kullanım sonucu kas rahatsızlığı, el"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"gecikme, el becerisi, yaşlı"</string>
     <string name="print_settings" msgid="8519810615863882491">"Yazdırma"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Kapalı"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 yazdırma hizmeti açık}other{# yazdırma hizmeti açık}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> kaldı"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Şarj olmasına <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> var"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Ekran başında kalma süresi"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Arka planda kullanım süresi"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Pil seviyesi düşük"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Uygulamanın arka planda çalışmasına izin verin"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Arka plan etkinliği sınırlansın mı?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Uygulama için arka plan etkinliğini sınırlarsanız hatalı davranabilir"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Uygulama, pili optimize etmek için ayarlanmadığından kısıtlanamaz.\n\nUygulamayı kısıtlamak için önce pil optimizasyonunu açın."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Pil kullanımını yönetme"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Arka planda kullanıma izin verin"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Etkinleştirerek gerçek zamanlı güncellemeler alın, pil tasarrufu yapmak için de devre dışı bırakın"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Kısıtlanmamış"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimize edilmiş"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Kısıtlı"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"En fazla pil kullanan uygulamaları göster"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Pilinizi korumak için şarj işlemi optimize edildi"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Pilinizin kullanım ömrünü uzatmaya yardımcı olmak için şarj işlemi optimize edildi"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Pilinizi korumak için şarj işlemi optimize edildi"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Cihazınız yuvadayken pilinizin kullanım ömrünü uzatmaya yardımcı olmak için şarj işlemi optimize edildi"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Pilinizi korumak için şarj işlemi optimize edildi"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Cihazınız yuvadayken pilinizin kullanım ömrünü uzatmaya yardımcı olmak için şarj işlemi optimize edildi"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Tamamen dolana kadar şarj ediliyor"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Tabletiniz daha sonra yuvadayken şarj işlemi, pilinizi korumak için optimize edilecek"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Şarj işlemi duraklatıldı hakkında daha fazla bilgi"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Şarja devam et"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Yüksek güç tüketen arka plan etkinliğini içerir"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Bu uygulama arka planda pil gücünü kullanabilecek. Piliniz beklenenden daha erken bitebilir."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Kaldır"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"İptal"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Tam kapasitede şarj et"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Şarj aksesuarı ile ilgili sorun"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Şarj aksesuarını kontrol edin"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Uyumsuz şarj hakkında daha fazla bilgi"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Pil Yöneticisi"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Uygulamaları otomatik olarak yönet"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"son tam şarjdan bu yana"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Sistem uygulamaları"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Kaldırılan uygulamalar"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Diğer"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Kalan tahmini süre"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"sonra tam olarak şarj olacak"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Toplam: Bir dakikadan az"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Arka planda: bir dakikadan az"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Ekran süresi: bir dakikadan az"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"1 dakikadan az"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Toplam: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Arka planda: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Ekran süresi: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"şu an"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g>-<xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Pil kullanım grafiği"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Günlük pil kullanımı grafiği"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Saatlik pil kullanımı grafiği"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Pil seviyesi yüzdesi <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ile <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> arasında"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Son tam şarjdan sonraki pil kullanımı"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g> için pil kullanımı"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Son tam şarjdan sonraki ekran süresi"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Acil durum arama sinyali"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Acil çağrı yapıldığında nasıl işlev göreceğini ayarlayın"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Yedekleme"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Açık"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Kapalı"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Yedekleme ve geri yükleme"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Kişisel veriler"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Verilerimi yedekle"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobil veri ve Kablosuz"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Kişisel verileri otomatik senk. et"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"İş verilerini otomatik senk. et"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Gizli verileri otomatik senkronize et"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Dönemi değiştir..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Ayın, veri kullanım döneminin sıfırlandığı günü:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Bu dönem içinde hiçbir uygulama veri kullanmadı."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Ad"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Tür"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Sunucu adresi"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP şifreleme (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP gizli bilgisi"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec kimliği"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec önceden paylaşılan anahtar"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec kullanıcı sertifikası"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA sertifikası"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec sunucu sertifikası"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Gelişmiş seçenekleri göster"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS arama alan adları"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS sunucuları (ör. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Yönlendirme rotaları (ör. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Kullanıcı adı"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Şifre"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Hesap bilgilerini kaydet"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(kullanılmıyor)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(sunucuyu doğrulama)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(sunucudan alınır)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Bu VPN türü her zaman bağlı durumda kalamaz"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Her zaman açık durumda olan VPN yalnızca sayısal sunucu adreslerini destekliyor"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Her zaman açık durumda olan VPN için bir DNS sunucusu belirtilmelidir"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Her zaman açık durumda olan VPN için DNS sunucusu adresleri sayısal olmalıdır"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Girilen bilgiler her zaman açık durumda olan VPN\'yi desteklemiyor"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"İptal"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Kapat"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN\'si olmayan bağlantıları engelle"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN bağlantısı gerekiyor mu?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Güvenli değil. IKEv2 VPN\'e güncelle"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Desteklenmeyen VPN başlatılamadı."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Her zaman bağlı kalacak bir VPN profili seçin. Ağ trafiğine yalnızca bu VPN\'ye bağlanıldığında izin verilir."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Yok"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Her zaman açık VPN seçeneğinde hem sunucu hem de DNS için bir IP adresi gerekir."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER kayıp çocuk alarmı"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Çocuk kaçırma olaylarıyla ilgili bültenleri alın"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Tekrarla"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Çağrı Yöneticisini Etkinleştir"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Bu hizmetin, çağrılarınızın yapılış şeklini yönetmesine izin verin."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Çağrı Yöneticisi"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Kablosuz acil durum uyarıları"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Ağ operatörleri"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Erişim noktası adları"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM durumu"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM durumu (SIM yuvası %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM\'ler değiştirildi."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM\'leriniz değiştirildi"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Ayarlamak için dokunun"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Her zaman sor"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Seçim gerekiyor"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Son uygulamalar, varsayılan uygulamalar"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"İş profilindeki uygulamalar için bildirim erişimi kullanılamaz."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Şifreler ve hesaplar"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Kayıtlı şifreler, otomatik doldurma, senkronize edilen hesaplar"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Oturum açma ve otomatik doldurma önerileri"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Varsayılan uygulamalar"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klonlanan uygulamalar"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Aynı anda iki hesap kullanabilmek için ikinci bir uygulama örneği oluşturun."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"cüzdan"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ödeme, dokunma, ödemeler"</string>
     <string name="keywords_backup" msgid="707735920706667685">"yedek, yedekleme"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"hareket"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"yüz, kilidi açma, kimlik doğrulama, oturum açma"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"yüz, kilit açma, kimlik doğrulama, giriş yapma, parmak izi, biyometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl sürümü, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"metin boyutu, büyük baskı, büyük harfler, büyük metin, az görme, metni büyüt, yazı tipi büyütücü, yazı tipi büyütme"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"ambiyans ekranı her zaman açık, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, etiket, okuyucu"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klavye, dokunma teknolojisi, titreşim"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ses düzeyi, titreşim, Rahatsız Etmeyin"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Medya ses düzeyi"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Yayın ses düzeyi"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Açılış sesleri"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Canlı Altyazı"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Otomatik medya altyazısı"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefon hoparlörleri"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Tablet hoparlörleri"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Cihaz hoparlörleri"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Kablolu kulaklık"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Uyumlu medyadaki sesler daha yoğun hale gelir"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Kapalı"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Tüm bildirim içeriğini göster"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Hassas içerikleri sadece kilitli değilken göster"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Bildirimleri hiç gösterme"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Kilit ekranının nasıl görüntülenmesini istiyorsunuz?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Kilit ekranınızda nelerin görünmesini istiyorsunuz?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Kilit ekranı"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Tüm iş bildirimi içeriklerini göster"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Hassas iş içeriğini gizle"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Son görüşmeler kaldırıldı"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Görüşme kaldırıldı"</string>
     <string name="clear" msgid="5092178335409471100">"Sil"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> ile sohbeti temizle"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Öncelikli ve değiştirilmiş görüşmeler burada görünür"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Öncelikli olarak işaretlediğiniz veya üzerinde başka değişiklikler yaptığınız görüşmeler burada görünür. \n\nGörüşme ayarlarını değiştirmek için:\nEkranın üst kısmından aşağı kaydırarak aşağı indirilen gölgeyi açın, ardından bir görüşmeye dokunup basılı tutun."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Küçült"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Bildirim bekleme süresi"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Tüm bildirimlere bekleme süresi uygula"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Aynı uygulamadan art arda birçok bildirim aldığınızda bildirim ses seviyesi kademeli olarak azalır"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Görüşmelere bekleme süresi uygula"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Kısa süre içinde aynı sohbetten birçok mesaj aldığınızda bildirim ses seviyesi kademeli olarak azalır"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Bildirim bekleme süresini kullanma"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Aynı uygulamadan art arda gelen bildirim sayısından bağımsız olarak bildirim ses seviyesi hiçbir zaman azalmaz"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Kilit açıldığında titreş"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Yalnızca ekranın kilidi açıldığında titreşir"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"İş profillerine uygula"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Kişisel profilinizdeki bildirim bekleme süresi ayarları, iş profilinize uygulanır"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR yardımcı hizmetleri"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Yüklü hiçbir uygulama VR yardımcı hizmetleri olarak çalışma isteğinde bulunmadı."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"<xliff:g id="SERVICE">%1$s</xliff:g> için VR hizmetine erişim izni verilsin mi?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Kapalı"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Uygulama sabitleme"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Uygulama sabitleme, geçerli uygulamayı sabitleme kaldırılana kadar görünür durumda tutmanıza olanak tanır. Bu özellik, örneğin, güvendiğiniz bir arkadaşınızın belli bir oyunu oynamasını sağlamak için kullanılabilir."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Bir uygulama sabitlendiğinde diğer uygulamaları açabilir ve kişisel verilere erişilebilir. \n\nUygulama sabitlemeyi kullanmak için: 	\n1. Uygulama sabitlemeyi açın 	\n2. Genel Bakış\'ı açın 	\n3. Ekranın üst tarafındaki uygulama simgesine dokunup ardından Sabitle\'ye dokunun"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Bir uygulama sabitlendiğinde diğer uygulamaları açabilir ve kişisel verilere erişilebilir. \n\nCihazınızı güvenli bir şekilde başka biriyle paylaşmak isterseniz bunun yerine misafir kullanıcı özelliğini kullanın. \n\nUygulama sabitlemeyi kullanmak için: 	\n1. Uygulama sabitlemeyi açın 	\n2. Genel Bakış\'ı açın 	\n3. Ekranın üst tarafındaki uygulama simgesine dokunup ardından Sabitle\'ye dokunun"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Bir uygulama sabitlendiğinde diğer uygulamaları açabilir ve kişisel verilere erişilebilir. \n\nUygulama sabitlemeyi kullanmak için: 	\n{0,number,integer}. Uygulama sabitlemeyi açın 	\n{1,number,integer}. Genel Bakış\'ı açın 	\n{2,number,integer}. Ekranın üst tarafındaki uygulama simgesine dokunup ardından Sabitle\'ye dokunun"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Bir uygulama sabitlendiğinde diğer uygulamaları açabilir ve kişisel verilere erişilebilir. \n\nCihazınızı güvenli bir şekilde başka biriyle paylaşmak isterseniz bunun yerine misafir kullanıcı özelliğini kullanın. \n\nUygulama sabitlemeyi kullanmak için: 	\n{0,number,integer}. Uygulama sabitlemeyi açın 	\n{1,number,integer}. Genel Bakış\'ı açın 	\n{2,number,integer}. Ekranın üst tarafındaki uygulama simgesine dokunup ardından Sabitle\'ye dokunun"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Uygulama sabitlendiğinde: \n\n•	 Kişisel verilere erişilebilir \n		(ör. kişiler ve e-posta içerikleri) \n•		Sabitlenen uygulama diğer uygulamaları açabilir \n\nUygulama sabitlemeyi yalnızca güvendiğiniz kişilerle kullanın."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Sabitlemeyi kaldırmadan önce kilit açma desenini sor"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Sabitlemeyi kaldırmadan önce PIN\'i sor"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Sabitlemeyi kaldırmadan önce şifre sor"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Sabitlemeyi kaldırırken cihazı kilitle"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM\'in silinmesini onayla"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM\'inizi silmek istediğinizi onaylayın"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM\'i silmeden önce siz olduğunuzu doğrulayın"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Gelişmiş bellek koruması beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Gelişmiş bellek koruması"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Kullanılmayan uygulama ayarları"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Kullanılmayan uygulama etkinliğini duraklat"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"İzinleri kaldır, geçici dosyaları sil ve bildirimleri durdur"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Kullanılmayan uygulamayı yönet"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"İzinleri kaldır, geçici dosyaları sil, bildirimleri durdur ve uygulamayı arşivle"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Tüm uygulamalar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Yüklü uygulamalar"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Hazır uygulamalar"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Boş"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Uygulamalar tarafından kullanılan bellek"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 uygulama son {time} içinde belleği kullandı}other{# uygulama son {time} içinde belleği kullandı}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Bellek kullanımının profilini çıkarmayı etkinleştir"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Bellek kullanımının profilini çıkarma için ek sistem kaynakları gerekir."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Bellek kullanımının profilini çıkarma devre dışı bırakıldı"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Frekans"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimum kullanım"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Veri kullanılmadı"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Diğer uygulamaların üzerinde göster"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Diğer uygulamalar üzerinde gösterime izin ver"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Bu uygulamaya, kullandığınız diğer uygulamaların üzerinde gösterme izin verir. Bu uygulama, ekranda nereye dokunduğunuzu görebilecek veya ekranda görüntülenenleri değiştirebilecek."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Medya çıkışını değiştirin"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Uygulamanın, medya çıkışını değiştirmesine izin verin"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Bu uygulamanın, diğer uygulamalardan ses veya video oynatabilecek bağlı cihazı seçmesine izin verin. İzin verildiği takdirde bu uygulama, kulaklık ve hoparlör gibi kullanılabilir cihazların listesine erişip ses veya video akışı ya da yayını için kullanılacak çıkış cihazını seçebilir."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Tüm dosyalara erişim"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Tüm dosyaları yönetme erişimine izin ver"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu uygulamanın, bu cihazdaki veya cihaza bağlı depolama birimlerindeki tüm dosyaları okumasına, değiştirmesine ve silmesine izin verin. İzin verilirse uygulama size açıkça bildirmeden dosyalara erişebilir."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Tüm dosyalara erişebilir"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Sesli etkinleştirilen uygulamalar"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Sesli etkinleştirmeye izin ver"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Sesli etkinleştirme özelliği, onaylı uygulamaları ellerinizi kullanmadan sesli komut vererek açmanızı sağlar. Yerleşik uyarlanabilir algılama özelliği, verilerin yalnızca size özel kalmasını sağlar.\n\n"<a href="">"Korumalı uyarlanabilir algılama hakkında daha fazla bilgi"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Tam ekran bildirimler"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Bu uygulamanın tam ekran bildirim göndermesine izin ver"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Cihaz kilitliyken bu uygulamanın tüm ekranı kaplayan bildirimler göstermesine izin verin. Uygulamalar bunu alarmları, gelen aramaları ve diğer acil bildirimleri göstermek için kullanabilir."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> veri uyarısı"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> veri limiti"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> veri uyarısı / <xliff:g id="ID_2">^2</xliff:g> veri sınırı"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Operatörünüzün veri kullanımı hesaplaması, cihazdaki hesaplamadan farklı olabilir"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Operatör ağları tarafından kullanılan verileri hariç tutar"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> kullanıldı"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Veri uyarısı oluştur"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> önce güncellendi"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> tarafından şimdi güncellendi"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Az önce güncellendi"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Planı göster"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Ayrıntıları göster"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Veri Tasarrufu"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Kısıtlanmamış veri"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> arka plandayken normalden daha fazla pil kullandı"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön plandayken daha fazla pil kullandı"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> ön plandayken normalden daha fazla pil kullandı"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Pil kullanımında anormallik"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Yüksek pil kullanımı"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Arka planda yüksek pil kullanımı"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ön planda yüksek pil kullanımı"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Hızlı ayarlar geliştirici kutuları"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Adb yetkilendirme zaman aşımını devre dışı bırak"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Varsayılan (7 gün) veya kullanıcı tarafından yapılandırılan (en az 1 gün) süre içinde yeniden bağlanmamış sistemler için adb yetkilendirmelerinin otomatik olarak iptal edilmesini devre dışı bırakın."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope İzleme"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensörler Kapalı"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"İş profili ayarları"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Kişisel uygulamalarda iş dizini kişilerini ara"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"sistemde gezinme, 2 düğmeli gezinme, 3 düğmeli gezinme, hareketle gezinme, kaydırma"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Dijital asistan"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Asistanı çağırmak için ekranı parmağınızla kaydırın"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Dijital asistan uygulamasını çağırmak için ekranı parmağınızla alt köşeden yukarı kaydırın."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Dijital asistan uygulamasını çağırmak için ekranı parmağınızla alt köşeden yukarı kaydırın."</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Asistan için ana sayfa düğmesini basılı tutun"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Dijital asistan uygulamasını çağırmak için Ana sayfa düğmesini basılı tutun."</string>
     <string name="low_label" msgid="6525629096999711220">"Düşük"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Otomatik doldurma hizmeti"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Varsayılan otomatik doldurma hizmeti"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Şifreler"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Şifreler, geçiş anahtarları ve veri hizmetleri"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Ek sağlayıcılar"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Tercih edilen hizmet"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Ek hizmetler"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# şifre}other{# şifre}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"otomatik, doldurma, otomatik doldurma, şifre"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"veri, geçiş anahtarı, şifre"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"otomatik, doldurma, otomatik doldurma, veriler, geçiş anahtarı, şifre"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Değiştir"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Aç"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Öğe seçilmedi"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Bu uygulamaya güvendiğinizden emin olun&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Otomatik Doldurma&gt;%1$s&lt;/xliff:g&gt; otomatik doldurulabilecek öğeleri belirlemek için ekranınızdaki bilgileri kullanır."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kullanılsın mı?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; otomatik doldurulabilecek alanları belirlemek için ekranınızdaki bilgileri kullanır. Artık yeni şifreler, geçiş anahtarları ve diğer bilgiler buraya kaydedilecek."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Şifreler, geçiş anahtarları ve veri hizmetleri"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; kullanılsın mı?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Yeni şifreler, geçiş anahtarları ve diğer bilgiler artık buraya kaydedilecek. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; otomatik doldurulabilecek alanları belirlemek için ekranınızdaki bilgileri kullanabilir."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Şifreler, geçiş anahtarları ve otomatik doldurma için tercih edilen hizmet"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s kapatılsın mı?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Bu hizmet kapatılsın mı?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Şifreler, geçiş anahtarları, ödeme yöntemleri gibi kayıtlı bilgiler ve diğer bilgiler oturum açtığınızda doldurulmaz. Kayıtlı bilgilerinizi kullanmak için bir şifre, geçiş anahtarı veya veri hizmeti seçin."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Şifreler, geçiş anahtarları ve otomatik doldurma"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Tüm hizmetler devre dışı bırakılsın mı?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Şifreler, geçiş anahtarları ve diğer kayıtlı bilgiler oturum açtığınızda otomatik doldurma için kullanılamayacak"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Tercih ettiğiniz hizmet &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; olarak değiştirilsin mi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Yeni şifreler, geçiş anahtarları ve diğer bilgiler artık buraya kaydedilecek. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; otomatik doldurulabilecek alanları belirlemek için ekranınızdaki bilgileri kullanabilir."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s kullanılsın mı?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Kapat"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Değiştir"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"En fazla beş hizmet etkinleştirebilirsiniz"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Başka hizmet eklemek için en az bir hizmeti devre dışı bırakın"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s, nelerin otomatik olarak doldurulabileceğini belirlemek için ekranınızdan aldığı bilgiyi kullanır."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Şifre, geçiş anahtarı ve veri hizmetlerinin sayısı sınırı aştı"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Aynı anda en fazla 5 etkin şifre, geçiş anahtarı ve veri hizmetiniz olabilir. Başka hizmet eklemek için bir hizmeti devre dışı bırakın."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Şifre, geçiş anahtarı ve veri hizmetlerinin sayısı sınırı aştı"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Aynı anda en fazla 5 etkin şifre, geçiş anahtarı ve veri hizmetiniz olabilir. Başka hizmet eklemek için bir hizmeti devre dışı bırakın."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Kapat"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Otomatik doldur"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Günlük kaydı düzeyi"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Uygulama uyumluluğuyla ilgili değişiklikler sadece hata ayıklaması yapılabilecek uygulamalar için değiştirilebilir. Hata ayıklaması yapılabilecek bir uygulama yükleyip tekrar deneyin"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bu ayar başka bir ayara bağlı"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Hesap"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d hesap"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Cihaz adı"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Temel bilgiler"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Yasalar ve yönetmelikler"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Bir NFC etiketi tarandığında bu uygulamanın başlatılmasına izin verin.\nBu izin verilirse uygulama, bir etiket algılandığında kullanılabilir seçenekler arasında olur."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Medyayı oynatma yeri:"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g> ses çıkışı:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Ses şurada çalacak:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Bu cihaz"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Aramalar sırasında kullanılamaz"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Çağrıyı al"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Sesi kapat"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Etkinleştirmek için önce \"Güç düğmesini basılı tutun\" işlemini güç menüsünden değiştirin."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Ağ ayrıntıları"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Telefonunuzdaki uygulamalar, cihazınızın adını görebilecek. Cihazınızın adı ayrıca Blueetoth 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="devices_title" msgid="649715719278562515">"Cihazlar"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Ağ seç"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Bağlı değil"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Ad"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Renk (uyumlu uygulamalar tarafından kullanılır)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Kaydet"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM\'i kullan"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Bu SIM\'i kullan"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Kapalı"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Bu SIM\'i devre dışı bırakmak için SIM kartı çıkarın"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> operatörünü etkinleştirmek için dokunun"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM\'i sil"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Bu SIM\'i devre dışı bırakmak için SIM kartı çıkarın"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> SIM\'inizi etkinleştirmek için dokunun"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM\'i sil"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tercih edilen ağ türü"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Ağın çalışma modunu değiştir"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tercih edilen ağ türü"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Fiyat bilgisi için ağ sağlayıcınıza başvurun."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Uygulama veri kullanımı"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"<xliff:g id="NETWORKMODEID">%1$d</xliff:g> Geçersiz Ağ Modu. Yoksayın."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Uydu üzerinden mesajlaşma"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Uydu üzerinden kısa mesaj gönderip alın. Hesabınıza dahil edilir."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Uydu üzerinden kısa mesaj gönderip alın. Hesabınıza dahil edilmez."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Uydu üzerinden mesajlaşma"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Uydu üzerinden mesajlaşma hakkında"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Uygun bir <xliff:g id="CARRIER_NAME">%1$s</xliff:g> hesabınız varsa uydu üzerinden kısa mesaj gönderip alabilirsiniz"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> planınız"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Uydu üzerinden mesajlaşma, hesabınıza dahil edilir"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Uydu üzerinden mesajlaşma, hesabınıza dahil edilmez"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Uydu üzerinden mesajlaşmayı ekleyin"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"İşleyiş şekli"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Mobil ağ bağlantınız olmadığında"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefonunuz otomatik olarak bir uyduya bağlanır. En iyi bağlantıyı kurmak için gökyüzünü net bir şekilde görmeniz gerekir."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Telefonunuz bir uyduya bağlandıktan sonra"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Acil durum hizmetleri de dahil istediğiniz kişilere mesaj gönderebilirsiniz. Telefonunuz, mevcut olduğunda mobil ağa tekrar bağlanır."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Uydu üzerinden mesajlaşma daha uzun sürebilir ve yalnızca bazı bölgelerde kullanılabilir. Uydu bağlantınız, hava durumundan ve bazı yapılardan etkilenebilir. Uydu üzerinden arama yapılamaz.\n\nHesabınızda yapılan değişikliklerin, Ayarlar\'da görünmesi biraz zaman alabilir. Ayrıntılar İçin <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ile iletişime geçin."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Uydu üzerinden mesajlaşma hakkında daha fazla bilgi"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Erişim Noktası Adları"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> operatörüne bağlıyken kullanılamaz"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatörüne geçilsin mi?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM kart kullanmaya geçilsin mi?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> kullanılsın mı?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Aynı anda yalnızca tek bir SIM etkin olabilir.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatörüne geçtiğinizde <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> hizmetiniz iptal edilmez."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Aynı anda yalnızca 1 eSIM etkin olabilir.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatörüne geçtiğinizde <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> hizmetiniz iptal edilmez."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Aynı anda yalnızca tek bir SIM etkin olabilir.\n\nGeçiş yaptığınızda <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> hizmetiniz iptal edilmez."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Aynı anda yalnızca 1 SIM etkin olabilir.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatörüne geçtiğinizde <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> hizmetiniz iptal edilmez."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Aynı anda yalnızca 1 eSIM etkin olabilir.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> operatörüne geçtiğinizde <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> hizmetiniz iptal edilmez."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Aynı anda yalnızca 1 SIM etkin olabilir.\n\nBaşka operatöre geçtiğinizde <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> hizmetiniz iptal edilmez."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Aynı anda 2 SIM kullanabilirsiniz. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> kullanmak için diğer SIM\'i devre dışı bırakın."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatörüne geç"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> cihazını kapat"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM\'i devre dışı bıraktığınızda hizmetiniz iptal edilmez"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Ağa bağlanıyor…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Aramalar ve mesajlar için <xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatörüne geçiş yapılıyor…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Operatöre geçiş yapılamıyor"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Bir hata nedeniyle operatöre geçiş yapılamıyor."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM\'iniz etkinleştiriliyor…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> kullanıcısına geçiliyor…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM\'ler arasında geçiş yapılamıyor"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Bir hata oluştu. SIM\'ler arasında geçiş yapılamıyor."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> devre dışı bırakılsın mı?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM kapatılsın mı?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM kapatılıyor<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Operatör devre dışı bırakılamıyor"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Bir hata oluştu ve operatörünüz devre dışı bırakılamadı."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM devre dışı bırakılamıyor"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Bir hata oluştuğu için SIM\'iniz devre dışı bırakılamadı."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 SIM kullanılsın mı?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Bu cihazda aynı anda 2 SIM etkin durumda olabilir. Tek seferde 1 SIM kullanmaya devam etmek için \"Hayır, teşekkürler\" seçeneğine dokunun."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Cihaz yeniden başlatılsın mı?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Hayır, teşekkürler"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"İptal"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Geç"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Kapat"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM etkinleştirilemiyor"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM\'i tekrar açmayı deneyin. Sorun devam ederse cihazınızı yeniden başlatın."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM\'inizi kurun"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Mobil ağ tercihlerinizi, bu cihazda birden fazla SIM kullanacak şekilde ayarlayın"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM\'lerinizi etiketleyin"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Telefon ederken, mesaj gönderirken, verileri kullanırken ve Ayarlar\'da bu etiketleri göreceksiniz"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM etiketi"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Etiket"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Kullanılacak SIM\'leri seçin"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Aynı anda 2 SIM kullanabilirsiniz"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Birincil SIM\'lerinizi kurun"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Aramalar, mesajlar ve veriler için varsayılan olarak kullanılacak SIM\'leri seçin"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Birincil SIM\'leriniz"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Aramalar"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Kısa mesajlar"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Otomatik veri geçişi"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Kapsam alanına ve kullanılabilirliğe bağlı olarak iki SIM\'den birindeki verileri kullanın"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Yalnızca veri"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Ayarla"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Sonraki"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> açılıyor…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobil ağ"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefon numarası"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM etiketi ve rengi"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ağ etkinleştirme"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Operatör değiştirme"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> etkin durumda"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM\'inizin aktif olduğundan emin olun."</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM ayarlarını güncellemek için dokunun"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ağ türüne geçildi"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Başka bir operatöre geçiş yapıldı"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobil ağınız değişti"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Diğer SIM kartınızın kurulumunu yapın"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Etkin SIM\'inizi seçin veya tek seferde 2 SIM kullanın"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Kullanılacak bir numara seçin"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Bu cihazda 1 telefon numarası var ancak tek seferde yalnızca bir numara kullanılabilir}=2{Bu cihazda 2 telefon numarası var ancak tek seferde yalnızca bir numara kullanılabilir}other{Bu cihazda # telefon numarası var ancak tek seferde yalnızca bir numara kullanılabilir}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Etkinleştiriliyor<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Şu anda etkinleştirilemedi"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Kullanılacak SIM\'i seçin"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Bu cihazda 1 SIM var ancak tek seferde yalnızca bir 1 tane kullanılabilir}=2{Bu cihazda 2 SIM var ancak tek seferde yalnızca 1 tane kullanılabilir}other{Bu cihazda # SIM var ancak tek seferde yalnızca 1 tane kullanılabilir}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Açılıyor<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Bu SIM şu anda etkinleştirilemiyor"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> kullanılsın mı?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Mobil veri, aramalar ve SMS için <xliff:g id="CARRIER_NAME">%1$s</xliff:g> kullanılacak."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Şu anda etkin SIM yok"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Mobil veri, arama özellikleri ve SMS\'i daha sonra kullanmak için ağ ayarlarınıza gidin"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Bu eSIM silinsin mi?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Bu SIM silindiğinde, <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> hizmeti bu cihazdan kaldırılır.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> hizmeti iptal edilmez."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Bu işlem, bu cihazdaki <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> hizmetini kaldırır ancak <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> planınız iptal edilmez."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Sil"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM siliniyor…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM silinemiyor"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Bu SIM bir hata nedeniyle silinemiyor.\n\nCihazınızı yeniden başlatıp tekrar deneyin."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM siliniyor…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM silinemiyor"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Bir hata oluştu ve bu eSIM silinmedi.\n\nCihazınızı yeniden başlatıp tekrar deneyin."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Cihaza bağlanın"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> uygulaması cihazınıza bağlanmak için geçici bir kablosuz ağ kullanmak istiyor"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Hiçbir cihaz bulunamadı. Cihazların açık ve bağlanmaya hazır olduğundan emin olun."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Acil durum aramaları"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Operatörünüz, kablosuz çağrı üzerinden yapılan acil durum aramalarını desteklememektedir.\nAcil durum araması yapmak için cihaz otomatik olarak hücresel ağa geçer.\nAcil durum aramaları sadece hücresel ağ kapsamında olan yerlerde yapılabilir."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Kaliteyi iyileştirmek için çağrılarda kablosuz ağ kullanın"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Yedek arama"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> kullanılamıyorsa veya dolaşım yapılıyorsa <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> aramaları için mobil veri SIM\'inizi kullanın."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"yedek arama"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Gelen MMS mesajı"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS mesajı gönderilemiyor"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Mobil veri kapalıyken MMS mesajının <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> üzerinden gönderilip alınmasına izin vermek için dokunun"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"İş politikası bilgileriniz"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Ayarlar BT yöneticiniz tarafından yönetilir"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16K sayfa boyutuyla başlat"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Cihazı, 16K sayfa boyutunu destekleyen çekirdekle başlat"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16 KB sayfalarla uyumlu çekirdekle yeniden başlatılsın mı?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"UYARI: Bazı uygulamalar bu modla uyumlu olmayabilir. Cihaz, onay verildikten sonra yeniden başlatılır."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 KB sayfalarla uyumlu çekirdekle yeniden başlatılsın mı?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Cihaz, onay verildikten sonra yeniden başlatılır."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Çekirdek, 16 KB sayfalarla uyumlu çekirdeğe güncellenemedi."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Değişiklik uygulanıyor"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Hata raporu işleyici"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Cihazınızda Hata Raporu kısayolunun hangi uygulama tarafından işleneceğini belirler."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Kişisel"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Diğer uygulamaların üzerinde görüntülenebilecek uygulamaların Ayarlar ekranlarıyla yer paylaşımlı olarak gösterilmesine izin verir"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Sahte Modem\'e izin ver"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Bu cihazın, enstrümantasyon testi için Sahte Modem hizmetini çalıştırmasına izin verin. Bu hizmeti, telefonunuzu normal kullanırken etkinleştirmeyin"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Ekran paylaşımı korumalarını devre dışı bırakın"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Ekran paylaşımı sırasında sistemin kullandığı uygulama ve bildirim korumalarını devre dışı bırakır"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Medya"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Medya oynatıcıyı sabitle"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Medya oynatıcı, oynatmayı hızlıca devam ettirmek için Hızlı Ayarlar\'da açık kalır"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Medyaları kilit ekranında göster"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Medya oynatıcı, oynatmayı hızlıca devam ettirmek için kilit ekranında açık kalır"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Medya önerilerini göster"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Asistan\'ın medya önerilerini göster"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Etkinliğinize dayalı olarak"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Oynatıcıyı gizle"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Oynatıcıyı göster"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"medya"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Kamera yazılım uzantılarına izin ver"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Ekranı görmenize gerek olmayan video çekimi gibi gelişmiş kamera özelliklerinin varsayılan yazılımını uygulama sürecini etkinleştirir."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth açılacak"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"İnternet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM\'ler"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM\'ler"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Etkin"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Etkin değil"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Açık"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Kapalı"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> için varsayılan"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"aramalar"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Uyumlu medyadaki sesler daha yoğun gelir"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Kafa hareketi izleme"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Ses, kulağa daha doğal gelmesi için kafanızı hareket ettirdikçe değişir"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"İzin senkronizasyonu"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> cihazda etkinleştirdiğiniz uygulama izinleri <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> cihazda da etkinleştirilir"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Telefondaki izinleri senkronize et"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Bu telefonda etkinleştirdiğiniz uygulama izinleri kol saatinizde de etkinleştirilir"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Ses Cihazı Türü"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Bilinmiyor"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Hoparlör"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Orta"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Yüksek"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Bu uygulama yalnızca 1 pencerede açılabilir"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Açık"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Kapalı"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Kapalı"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Kapalı"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Açık"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Kapalı"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Açık"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Kapalı"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Açık renkli ekranları koyu renk yapar, koyu renkli ekranları da açık renk yapar"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Ekranı yakınlaştırın"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Kapalı"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Kapalı"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Yanıltıcı uygulamaları tarama"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Uygulama etkinliğini kimlik avı açısından kontrol edin"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Yanıltıcı uygulamaları tespit etmek için taramayı kullan"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"İş profilinde yanıltıcı uygulamaları tespit etmek için taramayı kullan"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Şifre ayarlandı"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Üzerine gelince işaretçiyi göster"</string>
 </resources>
diff --git a/res/values-uk/arrays.xml b/res/values-uk/arrays.xml
index a4f69f8..3e3d152 100644
--- a/res/values-uk/arrays.xml
+++ b/res/values-uk/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Доступний"</item>
     <item msgid="6096962300722555553">"Поза зоною"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Вимкнено"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast і Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"За умовчанням: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Через 1 хвилину"</item>
     <item msgid="1574040255478150028">"Через 5 хвилин"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-uk/strings.xml b/res/values-uk/strings.xml
index 8062cd9..a8113fd 100644
--- a/res/values-uk/strings.xml
+++ b/res/values-uk/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Тепер ви – розробник!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Немає потреби, ви вже розробник."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Спершу ввімкніть параметри розробника."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Доступ до налаштувань розробника мають лише адміністратори."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Система"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Працює"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Не працює"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Передній екран вмикається, коли ви складаєте пристрій"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Лише ігри, відео тощо"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Для додатків, які перешкоджають блокуванню пристрою, активується передній екран"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Якщо провести пальцем угору"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Складіть телефон і проведіть пальцем угору по передньому екрану, щоб і надалі користуватися додатком, або зачекайте кілька секунд, і екран заблокується"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Ніколи"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Передній екран блокується, коли ви складаєте пристрій"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Увімкнути автообертання"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Схожі"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Сигнал дзвінка й будильники"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Аудіо під час дзвінків"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Медіа"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Сповіщення й системні звуки"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Звуки мультимедіа й системи"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Сповіщення"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"За умовчанням аудіовихід визначають окремі додатки"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Пристрій Bluetooth без імені"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Пошук"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Скасувати"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Вимкнути Bluetooth LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Вимикає функцію Bluetooth LE Audio, якщо пристрій підтримує апаратні можливості LE Audio."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Режим Bluetooth LE Audio"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Перемикач LE Audio в інф. про пристрій"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Увімкнути список дозволів Bluetooth LE Audio"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Увімкнути функцію списку дозволів Bluetooth LE Audio."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Обходити білий список Bluetooth LE Audio"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio використовуватиметься за умовчанням, навіть якщо периферійний пристрій LE Audio не перевірено на відповідність критеріям білого списку."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Носії"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Пристрої для дзвінків"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Інші пристрої"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Збережені пристрої"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Зв’язано з обліковим записом"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Пристрої, на яких раніше використовувався обліковий запис"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth увімкнеться, щоб створити пару"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Параметри підключень"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Підключені раніше"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth увімкнено"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Показати всі"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Показати всі"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Стилус"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Натискання кнопки стилуса"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (робочий профіль)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Писати в текстових полях"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ігнорувати всі натискання кнопок стилусом"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Стилус"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Надання доступу до аудіо"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Поділитись аудіо"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Дзвінки й будильники"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Підключіться до аудіопотоку за допомогою QR-коду"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Аудіопотіків поблизу не знайдено."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Дата й час"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Проксі"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Очистити"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Додати мову (%s) до списку бажаних?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Додатки й веб-сайти знатимуть, що ви віддаєте перевагу також і цій мові."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Регіональні та інші налаштування вашого пристрою буде змінено."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Змінити"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"Вибрана мова (%s) недоступна"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Субота"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Якщо додаток не підтримує регіональні налаштування, він використовуватиме налаштування мови за умовчанням."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Дізнайтеся більше про вибір мови."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Додаткові параметри"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Форма звертання"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Виберіть, як до вас звертатися"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Для персоналізації додатки можуть використовувати вибрану форму звертання до вас."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Не вказано"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Жіночий рід"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Чоловічий рід"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Нейтральна"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Вилучити вибрану мову?}one{Вилучити вибрані мови?}few{Вилучити вибрані мови?}many{Вилучити вибрані мови?}other{Вилучити вибрані мови?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Текст відображатиметься іншою мовою"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Не можна видалити всі мови"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Місцезнаходження"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Використовувати геодані"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Вимкнено"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Увімкнено: # додаток має доступ до геоданих}one{Увімкнено: # додаток має доступ до геоданих}few{Увімкнено: # додатки мають доступ до геоданих}many{Увімкнено: # додатків мають доступ до геоданих}other{Увімкнено: # додатка мають доступ до геоданих}}"</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_location_off" msgid="8568995909147566720">"Доступ до геоданих вимкнено для додатків і сервісів. Однак дані про місцезнаходження вашого пристрою можуть надсилатися в екстрених випадках, якщо ви зателефонуєте або надішлете SMS на екстрений номер."</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"Докладніше про доступ до геоданих."</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"Докладніше про доступ до геоданих"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"Змінити доступ до геоданих: \"Налаштування\" &gt; \"Безпека й конфід.\" &gt; \"Налашт. конфід.\""</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Облікові записи"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Безпека"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Шифрування й облікові дані"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Рекомендуємо використовувати захисну плівку чи скло, що мають позначку \"Створено для Google\". Якщо вони не матимуть такої позначки, відбиток пальця дитини може не розпізнаватися."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Розблокування годинником"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Якщо ви налаштуєте розблокування за допомогою фейс-контролю й відбитка пальця, телефон запитуватиме ваш відбиток пальця, коли ви в масці або навколо вас темно.\n\nЯкщо не вдається розпізнати ваше обличчя або відбиток пальця, ви можете розблокувати пристрій за допомогою годинника."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Якщо ваш відбиток пальця не вдається розпізнати, ви можете розблокувати пристрій за допомогою годинника."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Якщо ваше обличчя не вдається розпізнати, ви можете розблокувати пристрій за допомогою годинника."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Якщо ви налаштуєте розблокування за допомогою фейс-контролю й відбитком пальця, телефон запитуватиме ваш відбиток пальця, коли темно або у вас на обличчі маска.\n\nРозблокування годинником – ще один зручний спосіб розблоковувати цей телефон (наприклад, коли у вас мокрі руки чи пристрій не може розпізнати ваше обличчя)."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Розблокування годинником – ще один зручний спосіб розблоковувати цей телефон (наприклад, коли пристрій не може розпізнати ваш відбиток пальця)."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Розблокування годинником – ще один зручний спосіб розблоковувати цей телефон (наприклад, коли пристрій не може розпізнати ваше обличчя)."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Використовувати відбиток пальця або годинник для"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Використовувати фейс-контроль або годинник для"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Використовувати фейс-контроль, відбиток пальця або годинник для"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Розблокування годинником – ще один зручний спосіб розблоковувати цей телефон (наприклад, коли у вас мокрі руки чи пристрій не може розпізнати ваше обличчя).\n\nЗа допомогою годинника можна розблоковувати цей телефон, коли ви:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Не зараз"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Продовжити"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Більше"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Як це працює"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Годинник має бути розблокований, перебувати на вашому зап’ясті й у радіусі дії цього телефона. Вам не потрібно буде розблоковувати годинник ще раз, поки він на руці."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Коли цей телефон розблокується, ви отримаєте сповіщення на годиннику. Якщо це сталося випадково, натисніть сповіщення, щоб знову заблокувати телефон."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Повний контроль"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Ви будь-коли можете вимкнути функцію розблокування годинником у налаштуваннях"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Натисніть сповіщення"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Проведіть пальцем угору по заблокованому екрану"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Виберіть свій годинник"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Доступні годинники"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Скасувати"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Підтвердити"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Готово."</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Тепер за допомогою годинника ви можете розблоковувати цей телефон, провівши вгору по заблокованому екрану або торкнувшись сповіщення"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Готово"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Розблокування годинником"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Ви можете розблоковувати цей телефон за допомогою годинника, провівши вгору по заблокованому екрану або торкнувшись сповіщення"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Щоб використовувати розблокування годинником, він має бути розблокований, підключений до цього телефона, перебувати в радіусі дії і на вашому зап’ясті. Якщо підключення перерветься, вам потрібно буде розблокувати телефон, перш ніж скористатись розблокуванням годинником.\n\nВажливо.\nУ вас не може бути налаштовано кілька годинників одночасно. Щоб додати інший годинник, спершу вилучіть наявний."</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"Фейс-контроль і відбиток пальця для роботи"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"Потрібно налаштувати"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Безпека"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Конфіденційність"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Робочий профіль"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Приватний простір"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Зберігайте приватні додатки в прихованому й заблокованому сховищі"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Зберігайте приватні додатки в окремому просторі, який можна приховати або заблокувати"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Блокування приватного простору"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Ви можете розблоковувати приватний простір так само, як і свій пристрій, або вибрати інший спосіб"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Використовувати спосіб розблокування екрана пристрою"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Фейс-контроль і розблокування відбитком пальця"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Розблокування відбитком пальця"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Фейс-контроль"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Натисніть, щоб налаштувати"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Розблокування відбитком пальця для приватного простору"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Фейс-контроль для приватного простору"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Способи розблокування"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Той самий спосіб розблокування, що й для екрана пристрою"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Вибрати нове блокування приватного простору?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Автоматичне блокування приватного простору"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Ви можете блокувати приватний простір автоматично, якщо не використовуєте пристрій протягом певного часу"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Щоразу, коли пристрій блокується"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Через 5 хвилин неактивності"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Ніколи"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Не показувати на заблокованому екрані"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Приховати приватний простір, коли його заблоковано"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Приховайте приватний простір зі списку додатків, щоб ніхто не дізнався про його наявність на пристрої"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Отримуйте доступ до приватного простору, коли його приховано"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"У рядку пошуку в списку додатків введіть \"приватний простір\""</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Натисніть панель \"Приватний простір\""</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Розблокувати приватний простір"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Вимкнено"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Увімкнено"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Система"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Видалити приватний простір"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Видалити приватний простір?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Приватний простір буде вилучено з вашого пристрою. Усі приватні додатки й дані буде видалено. Цю дію неможливо відмінити."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Ці облікові записи буде вилучено з вашого приватного простору:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Видалити"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Видалення приватного простору…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Це може зайняти кілька хвилин"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Приватний простір видалено"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Не вдалося видалити приватний простір"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Приватний простір розблоковано"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Налаштуйте блокування екрана"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Щоб застосовувати приватний простір, налаштуйте блокування екрана на цьому пристрої"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Налаштувати блокування екрана"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Скасувати"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Скасувати"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Налаштувати"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Налаштуйте приватний простір"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Зберігайте приватні додатки в окремому просторі, який можна приховати або заблокувати"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Як це працює"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Ви можете отримати доступ до приватного простору внизу списку додатків"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Додатки в приватному просторі захищено блокуванням"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Сповіщення додатків у приватному просторі приховуються, коли його заблоковано"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Коли приватний простір заблоковано, його додатки не відображатимуться в менеджері дозволів, на панелі керування дозволами й в інших налаштуваннях.\n\nПриватний простір не можна перенести на інший пристрій. Якщо ви хочете використовувати приватний простір на іншому пристрої, потрібно налаштувати інший приватний простір.\n\nДо вашого приватного простору може отримати доступ будь-який користувач, установивши на вашому пристрої шкідливі додатки або підключивши його до комп’ютера."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Налаштування приватного простору…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Сповіщення з додатків приватного простору приховуються, коли його заблоковано"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Розблокуйте приватний простір, щоб ділитися фотографіями або файлами"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Деякі додатки вже встановлено в приватному просторі"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"Не вдалося налаштувати приватний простір"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"Повторити"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"Викор. сп. розбл. екрана для розбл. пр. простору?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Ви можете розблоковувати приватний простір так само, як і свій пристрій, або вибрати інший спосіб розблокування"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Доступ розблокуванням екрана"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Вибрати новий спосіб розблокування"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Готово."</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Щоб знайти свій приватний простір, перейдіть до списку додатків і прокрутіть його вниз"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Готово"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Прокрутіть сторінку вниз, щоб знайти приватний простір"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Увійти"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Щоб використовувати приватний простір, увійдіть у свій обліковий запис"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Не зараз"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Продовжити"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Виберіть спосіб розблокування приватного простору"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Ви можете розблоковувати приватний простір відбитком пальця. З міркувань безпеки для цієї функції потрібно налаштувати резервний спосіб розблокування."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Створіть PIN-код для особистого простору"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Установіть пароль особистого простору"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Налаштуйте ключ для особистого простору"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Можна додати максимум стільки відбитків: <xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ви додали максимальну кількість відбитків пальців"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Більше не можна додати відбитки пальців"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Ключ"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN-код"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Пароль"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Видалити дані для розблокування екрана?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Видалити всі способи розблокування пристрою?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Вимкнути захист профілю?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Ключ захищає телефон у разі втрати чи викрадення"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Ключ захищає телефон у разі втрати чи викрадення.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Модель відбитка пальця, що зберігається на пристрої, буде видалено. Модель обличчя також буде остаточно видалено без можливості відновлення. Ви не зможете використовувати фейс-контроль або відбиток пальця для автентифікації в додатках."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"PIN-код захищає телефон у разі втрати чи викрадення"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Ви втратите збережені дані, наприклад PIN-код.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картки, для яких налаштовано безконтактну оплату, буде видалено.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Гаманці й інші додатки, які вимагають розблокування пристрою, можуть не працювати як слід."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"PIN-код захищає телефон у разі втрати чи викрадення.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модель відбитка пальця, що зберігається на пристрої, також буде видалено. Ви не зможете використовувати відбиток пальця для автентифікації в додатках."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Ви втратите збережені дані, наприклад PIN-код і модель відбитка пальця.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картки, для яких налаштовано безконтактну оплату, буде видалено.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Гаманці й інші додатки, які вимагають розблокування пристрою, можуть не працювати як слід."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"PIN-код захищає телефон у разі втрати чи викрадення.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модель обличчя також буде остаточно видалено без можливості відновлення. Ви не зможете використовувати фейс-контроль для автентифікації в додатках."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Ви втратите збережені дані, наприклад PIN-код і модель обличчя.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картки, для яких налаштовано безконтактну оплату, буде видалено.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Гаманці й інші додатки, які вимагають розблокування пристрою, можуть не працювати як слід."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"PIN-код захищає телефон у разі втрати чи викрадення.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Модель відбитка пальця, що зберігається на пристрої, буде видалено. Модель обличчя також буде остаточно видалено без можливості відновлення. Ви не зможете використовувати фейс-контроль або відбиток пальця для автентифікації в додатках."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Ви втратите збережені дані, наприклад PIN-код, моделі обличчя й відбитка пальця.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Картки, для яких налаштовано безконтактну оплату, буде видалено.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Гаманці й інші додатки, які вимагають розблокування пристрою, можуть не працювати як слід."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Пароль захищає телефон у разі втрати чи викрадення"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Пароль захищає телефон у разі втрати чи викрадення.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Підключити пристрій <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Додати нового учасника до наявного набору узгоджених пристроїв"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Підтвердьте, щоб додати другий компонент аудіопристрою"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Код підключення через Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Введіть код підключення та натисніть Return або Enter."</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN-код містить літери чи символи"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Має складатися із 16 цифр"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Також потрібно ввести цей PIN-код на іншому пристрої."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Також потрібно ввести цей ключ доступу на іншому пристрої."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Підтвердьте, щоб підключатися до набору узгоджених пристроїв"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Підтвердьте, щоб підключитися до аудіопристрою"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Дозволити доступ до контактів та історії викликів"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Надати доступ також до контактів і історії викликів"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Інформація використовуватиметься для сповіщень про виклики тощо"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Не вдалося з’єднатися з пристроєм <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Доступні пристрої"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Підключити"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Відключити"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Створ. пару та підкл."</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Коли Bluetooth увімкнено, пристрій може обмінюватися даними з пристроями Bluetooth поблизу."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Коли ввімкнено Bluetooth, ваш пристрій може обмінюватися даними з іншими пристроями з цією технологією поблизу"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"Коли ви вмикаєте Bluetooth, ваш пристрій може обмінюватися даними з іншими пристроями з цією технологією поблизу.\n\nДодатки й сервіси можуть шукати пристрої поруч, навіть якщо Bluetooth вимкнено. Завдяки цьому покращується робота пристрою, зокрема його функцій і сервісів, які використовують геодані. Таке налаштування можна змінити в параметрах пошуку пристроїв із Bluetooth."</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"Змінити"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Про пристрій"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Дозволити ART підтверджувати байт-код налагоджуваних додатків"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Частота оновлення"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Показати поточну частоту оновлення екрана"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Показувати співвідношення HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Показувати поточне співвідношення HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC лише після розблокування"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Передавання даних Android"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"У режимі польоту"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Повідомляти про загальнодоступні мережі"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Сповіщати про доступність високоякісної загальнодоступної мережі"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Дозволити підключення до мереж WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP – це застарілий (менш надійний) протокол безпеки"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Ваш оператор не дозволяє підключатися до мереж WEP, оскільки вони менш надійні"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Автоматично вмикати Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi‑Fi вмикатиметься поблизу збережених високоякісних мереж, як-от вашої домашньої мережі"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Недоступно, оскільки місцезнаходження невідоме. Увімкніть "<annotation id="link">"надсилання геоданих"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"За допомогою функції пошуку мереж Wi-Fi додатки та сервіси можуть будь-коли шукати бездротові мережі, навіть якщо Wi-Fi вимкнено. Це покращує роботу функцій і сервісів, які використовують дані про місцезнаходження."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Увімкнути"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Пошук мереж Wi-Fi увімкнено"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"У цій мережі використовується застарілий (менш надійний) протокол безпеки"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"Мережу <xliff:g id="NAME">%1$s</xliff:g> заблоковано"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"У цій мережі використовується застарілий протокол безпеки WEP, який є менш надійним. Щоб усе одно під’єднатися, ви можете дозволити підключення до мереж WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Ваш оператор не дозволяє підключатися до цієї мережі, оскільки в ній використовується застарілий (менш надійний) протокол безпеки"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Дозволити WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Закрити"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Додаткові параметри"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Спадний список додаткових параметрів"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"розгорнути"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Використовувати Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Більше не показувати"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Підключити"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi увімкнено"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Підключено до мережі \"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>\""</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Підключення до мережі \"<xliff:g id="NETWORK_NAME">%1$s</xliff:g>\""</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Підключення…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Помилка під’єднання до мережі."</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Ви знаходитеся поза зоною покриття мережі"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Видалити"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Змінити"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Помилка видалення мережі"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Зберегти"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Помилка збереження мережі"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Скасувати"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Мобільний трафік"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – заряджається"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – заряджається"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"З\'єднання через точку доступу"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Рівень сигналу"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Збережені мережі"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Пароль не налаштовано"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Назва точки доступу"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Пароль точки доступу"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Діапазон частот точки доступу"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Вимикати точку доступу автоматично"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Коли немає підключених пристроїв"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Розширити сумісність"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Баланс білого для екрана"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Далі користуватися додатками на складеному пристрої"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Плавне відображення"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Автоматично збільшує частоту оновлення певного контенту із 60 до <xliff:g id="ID_1">%1$s</xliff:g> Гц. Збільшує використання заряду акумулятора."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Вимкнути станд. частоту кадрів для ігор"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Вимкнути обмеження частоти кадрів для ігор (<xliff:g id="FRAME_RATE">%1$d</xliff:g> Гц)."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Плавне відображення"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Автоматично збільшує частоту оновлення до <xliff:g id="ID_1">%1$d</xliff:g> Гц для певного контенту. Збільшує використання заряду акумулятора."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Примусово найбільша частота оновлення"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Найвища частота оновлення для кращого реагування на дотики й вищої якості анімації. Підвищує використання заряду акумулятора."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Адаптивний сплячий режим"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Адаптивний сплячий режим за допомогою передньої камери визначає, чи дивиться користувач на екран. Ця функція працює лише на пристрої, не зберігає зображень і не надсилає їх у Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Увімкнути адаптивний сплячий режим"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Не вимикати екран, поки ви на нього дивитеся"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Якщо вибрати довший час вимкнення екрана, акумулятор розряджатиметься швидше."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Камеру заблоковано"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Щоб розпізнавання облич працювало, потрібно розблокувати камеру"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Для роботи адаптивного сплячого режиму потрібно розблокувати камеру"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (гніздо <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g> для SIM-карти)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (гніздо <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g> для SIM-карти) (основний)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Щоб переглянути, виберіть збережену мережу"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Версія PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Рівень заряду акумулятора"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Для спільного використання"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Налаштування для спільного використання"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Обмін повідомленнями через супутник"</string>
     <string name="apn_settings" msgid="4295467389400441299">"Точки доступу"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Змінити точку доступу"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Додати точку доступу"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Не встановлено"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Не задано"</string>
     <string name="apn_name" msgid="6677695784108157953">"Назва"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN увімкнено"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN вимкнено"</string>
     <string name="bearer" msgid="3231443241639159358">"Канал"</string>
+    <string name="network_type" msgid="748590707422733595">"Тип мережі"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Не вказано"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Тип MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Значення MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Видалити APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Зберегти"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Скасувати"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Такий запис APN уже існує."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Поле \"Назва\" не може бути порожнім."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"Поле APN не може бути порожнім."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Поле MCC має містити 3 цифри."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Поле MNC має містити 2 або 3 цифри."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Оператор не дозволяє додавати APN типу %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Поле MMSC має бути дійсним."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Відновлення налаштувань APN за умовчанням."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Скинути налаштування"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Налаштування за умовчанням відновлено."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Скинути"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Налаштування Wi-Fi і Bluetooth скинуто"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Видалити всі дані з eSIM-карт"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Мобільні тарифні плани не буде скасовано. Щоб завантажити нові SIM-карти, зв\'яжіться з оператором."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Тарифний план мобільного оператора не буде скасовано. Зв’яжіться з оператором, щоб отримати SIM-карту на заміну."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Скинути налаштування"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Скинути всі налаштування мережі? Цю дію неможливо відмінити."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Скинути всі мережеві налаштування й видалити дані всіх eSIM-карт? Цю дію неможливо відмінити."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Скинути?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Цей користувач не може скидати налаштування мережі"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Налаштування мереж скинуто"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Не вдалося видалити SIM-карти"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Під час видалення всіх даних з eSIM-карт сталася помилка.\n\nПерезапустіть пристрій і повторіть спробу."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Не вдалося видалити всі дані з eSIM-карт"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Сталася помилка. Не вдалося видалити всі дані з eSIM-карт.\n\nПерезапустіть пристрій і повторіть спробу."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Стерти всі дані (скинути налаштування)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Стерти всі дані (скинути налаштування)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"музику"</li>\n<li>"фото"</li>\n<li>"інші дані користувача"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM-карти"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Ваш тарифний план не буде скасовано."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Усю особисту інформацію та завантажені додатки буде видалено. Цю дію неможливо відмінити."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Усю особисту інформацію, зокрема завантажені додатки й SIM-карти, буде видалено. Цю дію неможливо відмінити."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Усю особисту інформацію, зокрема завантажені додатки й eSIM-карти, буде видалено. Цю дію неможливо відмінити."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Стерти всі дані?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Цей користувач не може скинути налаштування"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Стирання"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Точка доступу, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Інші пристрої не мають доступу до Інтернету"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Вимкнено"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Використання телефона як модема"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Не використовувати точку доступу Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Надавати доступ до Інтернету тільки через USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Надавати доступ до Інтернету тільки через Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Надавати доступ до Інтернету лише через Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Надавати доступ до Інтернету тільки через USB та Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Надавати доступ до Інтернету лише через USB й Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Надавати доступ до Інтернету лише через Bluetooth і Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Надавати доступ до Інтернету лише через USB, Bluetooth і Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB-модем"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth-модем"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet-модем"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Надавайте іншим пристроям доступ до Інтернету через Wi-Fi або мобільне передавання даних за допомогою точки доступу й режиму модема. Додатки також можуть створювати точку доступу, щоб ділитися контентом із пристроями поруч."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Довідка"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Мобільна мережа"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Тарифний план"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Додаток для SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Змінити додаток для SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Використовувати для SMS додаток <xliff:g id="NEW_APP">%1$s</xliff:g> замість <xliff:g id="CURRENT_APP">%2$s</xliff:g>?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Змінити Wi‑Fi Assistant?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Використовувати <xliff:g id="NEW_APP">%1$s</xliff:g> замість додатка <xliff:g id="CURRENT_APP">%2$s</xliff:g> для керування з’єднаннями?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Використовувати <xliff:g id="NEW_APP">%s</xliff:g> для керування з’єднаннями?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Невідомий оператор SIM-карти"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"Оператор <xliff:g id="OPERATOR">%1$s</xliff:g> не має веб-сайту про надання послуг"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Вставте SIM-карту та перезапустіть"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Під’єднайтеся до Інтернету"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Останні запити на геодані"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Геодані для робочого профілю"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Доступ додатків до геоданих"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Скасувати доступ"</string>
     <string name="controls_label" msgid="8671492254263626383">"Ел. керув."</string>
     <string name="force_stop" msgid="2681771622136916280">"Зупинити"</string>
+    <string name="archive" msgid="9074663845068632127">"Архівувати"</string>
+    <string name="restore" msgid="7622486640713967157">"Відновити"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Відновлення"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Відновлення."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Відновлення.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Відновлення…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"Усього"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Розмір додатка"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Додаток на носії USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Не вдалось обчислити розмір пакета."</string>
     <string name="version_text" msgid="7628938665256107608">"версія <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Перем."</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Не вдалося архівувати"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> заархівовано"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Не вдалося відновити"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Відновлення додатка <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Триває ще одне переміщення."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Недостатньо пам’яті."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Програма не існує."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Доступна екранна клавіатура"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Керувати екранною клавіатурою"</string>
     <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="6922850403920596246">"Активуйте ігнорування повторного натискання клавіш як функцію доступності для фізичної клавіатури"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Повільні клавіші"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Активуйте повільні клавіші як функцію доступності фізичної клавіатури"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Залипання клавіш"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Активуйте залипання клавіш як функцію доступності фізичної клавіатури"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Торкніться правого нижнього кута, щоб переглянути інші опції"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Швидкість курсора"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Жести сенсорної панелі: докладніше"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Перейти на головний екран"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Проведіть трьома пальцями вгору будь-де на сенсорній панелі"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Назад"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"За часом використання"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"За часом ост. використання"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"За назвою додатка"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Останнє використання"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Останнє використання"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ніколи"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Час використ."</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Доступність"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Налаштування доступності"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Збільшувати потрійним торканням"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Збільшувати кнопкою/жестом"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Збільшувати кнопкою й потрійним дотиком"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Про сервіс <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Використайте кнопку функцій доступності"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Утримуйте клавіші гучності, щоб відкрити"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Тричі торкніться екрана, щоб відкрити"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Двічі торкніться екрана двома пальцями, щоб відкрити"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Використовуйте жест"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Використовувати жест функцій доступності"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Щоб використовувати цю функцію, натисніть кнопку спеціальних можливостей <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> унизу екрана.\n\nЩоб переключитися між функціями, натисніть і утримуйте кнопку спеціальних можливостей."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Щоб використовувати цю функцію, натисніть кнопку функцій доступності на екрані."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Щоб використовувати цю функцію, натисніть і утримуйте обидві клавіші гучності."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Щоб почати або припинити збільшення, тричі натисніть будь-де на екрані."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Щоб почати або припинити збільшення, двічі натисніть будь-де на екрані двома пальцями."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Щоб використовувати цю функцію, проведіть двома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть двома пальцями знизу вверх і утримуйте їх на екрані."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Щоб використовувати цю функцію, проведіть трьома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть трьома пальцями знизу вверх і утримуйте їх на екрані."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Щоб використовувати спеціальні можливості, проведіть двома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть двома пальцями знизу вверх і утримуйте їх на екрані."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Щоб використовувати спеціальні можливості, проведіть трьома пальцями вверх від низу екрана.\n\nЩоб переключитися між функціями, проведіть трьома пальцями знизу вверх і утримуйте їх на екрані."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Налаштування кнопки"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Налаштування кнопки"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g>: швидкий доступ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Кнопка функцій доступності"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Жест спеціальних можливостей"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Утримувати клавіші гучності"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"утримання клавіш гучності"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"Утримуйте обидві клавіші гучності"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"Двічі торкніться екрана двома пальцями"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"двічі торкніться екрана двома пальцями"</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="6863958573135995927">"потрійний дотик"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"Швидко натисніть екран стільки разів: {0,number,integer}. Призначена кнопка чи відповідний жест може сповільнити роботу пристрою."</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Докладніше про кнопку й жест спеціальних можливостей"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Використання кнопки спеціальних можливостей. Жест недоступний при навігації трьома кнопками."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Швидкий доступ до функцій доступності"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Щоб почати:"</b>\n"1. Перейдіть до налаштувань спеціальних можливостей.\n2. Виберіть потрібну функцію й натисніть ярлик.\n3. Виберіть, чи використовувати кнопку або жест для доступу до функції."</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Щоб почати:"</b>\n"1. Перейдіть до налаштувань спеціальних можливостей.\n2. Виберіть потрібну функцію й натисніть швидку команду.\n3. Виберіть кнопку для доступу до функції."</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Використати кнопку або жест"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Розташування"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Розмір"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Кнопка живлення закінчує виклик"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Великий курсор"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Курсор миші стане помітнішим"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Зробити всі додатки темними"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Стосується додатків без темної теми. У деяких додатках можуть виникати проблеми з відображенням, як-от інвертування кольорів."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Вимкнути анімацію"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Кількість рухомих об’єктів на екрані зменшиться"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Монофонічне аудіо"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Використовувати вібрацію та вібровідгук"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Вібрація сигналу будильника"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Вібрація під час відтворення мультимедіа"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Вібрація клавіатури"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Вібрація під час дзвінків"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Вібрація під час сповіщень"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Реакція на дотик"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Зупинити"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Скасувати"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Зупинити <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Натиснувши \"<xliff:g id="STOP">%1$s</xliff:g>\", ви зупините сервіс <xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Вимкнути"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Продовжити"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Вимкнути сервіс <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Не встановлено жодної служби"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Службу не вибрано"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Немає опису."</string>
     <string name="settings_button" msgid="2195468788019730377">"Налаштування"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"світлова чутливість, фотофобія, темна тема, мігрень, головний біль, режим читання, нічна тема, зменшення яскравості, біла точка"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Просте використання, простий доступ, допомога, допоміжний"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"зір, слух, незрячий, глухий, моторика, координація рухів, допоміжний, допомога, простота використання, простий доступ, рука"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"збільшення вікна, масштаб, збільшення, поганий зір, масштабування, збільшити"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Підписи, субтитри, субтитрування, миттєва транскрипція, поганий слух, втрата слуху, системи CART, перетворення мовлення на текст, субтитр"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"контраст кольорів"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"моторика, миша"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"слуховий апарат, поганий слух, утрата слуху, кохлеарні імплантати, пристрої для підсилення звуку, звукові процесори"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"моторика, миша, зовнішня миша, миша-окуляри, адаптивна миша, інвалідний візок, джойстик"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"слуховий апарат, поганий слух, утрата слуху, кохлеарні імплантати, пристрої для підсилення звуку, звукові процесори, персональні вироби для підсилення звуку"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"проблеми зі слухом, втрата слуху, підписи, телетайп, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"три кнопки"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"координація рухів, моторика, літня людина, артрит, хронічне розтягнення сухожиль, інсульт, тремор, розсіяний склероз, дитячий церебральний параліч, тремтіння, рука"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"затримка, координація рухів, літня людина"</string>
     <string name="print_settings" msgid="8519810615863882491">"Друк"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Вимкнено"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Увімкнено 1 сервіс друку}one{Увімкнено # сервіс друку}few{Увімкнено # сервіси друку}many{Увімкнено # сервісів друку}other{Увімкнено # сервісу друку}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> – <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Залишилося <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Залишилося заряджати <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Час використання пристрою"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Час роботи у фоновому режимі"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Низький заряд акумулятора"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Дозволити додаткам працювати у фоновому режимі"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Обмежити фонову активність?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Якщо обмежити фонову активність, додаток може працювати неналежним чином"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Оскільки в додатку не передбачено економію заряду акумулятора, його не можна обмежити.\n\nУвімкніть оптимізацію споживання заряду."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Використання заряду"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Дозволити використання у фоновому режимі"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Увімкніть, щоб отримувати оновлення в реальному часі; вимкніть, щоб заощадити заряд акумулятора"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Без обмежень"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Оптимізовано"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Обмежено"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Переглянути додатки, що найбільше використовують заряд"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Заряджання оптимізовано, щоб захистити акумулятор"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Щоб продовжити строк служби акумулятора, заряджання оптимізовано"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Заряджання оптимізовано, щоб захистити акумулятор"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Щоб продовжити строк служби акумулятора, заряджання оптимізовано, поки пристрій у док-станції"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Заряджання оптимізовано, щоб захистити акумулятор"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Щоб продовжити строк служби акумулятора, заряджання оптимізовано, поки пристрій у док-станції"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Повне заряджання"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Щоб захистити акумулятор, заряджання буде оптимізовано, коли планшет буде в док-станції наступного разу"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Докладніше про призупинення заряджання"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Відновити заряджання"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Виявлено енергозатратну активність у фоновому режимі"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Цей додаток зможе споживати заряд акумулятора у фоновому режимі. Акумулятор може розрядитися швидше."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Видалити"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Скасувати"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Зарядити повністю"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Проблема із зарядним пристроєм"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Перевірте зарядний пристрій"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Докладніше про використання несумісних зарядних пристроїв"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Диспетчер заряду акумулятора"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Керувати додатками автоматично"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"після останнього повного заряджання"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Системні додатки"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Видалені додатки"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Інше"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Залишилося приблизно"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"До повного заряду"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Усього: менше ніж хвилина"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"У фоновому режимі: менше ніж хвилина"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Час використання пристрою: менше ніж хвилина"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Менше ніж хвилина"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Усього: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"У фоновому режимі: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Час використання пристрою: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"зараз"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Діаграма використання заряду"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Діаграма використання заряду акумулятора за день"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Діаграма використання заряду акумулятора за годину"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Заряд акумулятора у відсотках від <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> до <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Використання заряду акумулятора після останнього повного заряджання"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Використання заряду акумулятора (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Час використання пристрою після останнього повного заряджання"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Сигнал екстреного виклику"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Устан. поведінку при розміщ. аварійного виклику"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Резервне копіювання"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Увімкнено"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Вимкнено"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Резервне копіювання та відновлення"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Особисті дані"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Резервне копіювання даних"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Мобільний Інтернет і Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Автосинхроніз. особистих даних"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Автосинхроніз. робочих даних"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Автосинхроніз. приватних даних"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Змінити цикл..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"День місяця для скидання циклу використання даних:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"У цей період додатки не використовували дані."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Назва"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Тип"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Адреса сервера"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Шифрування PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Ключ L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Ідентифікатор IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Спільний ключ IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Сертифікат користувача IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Сертифікат IPSec від ЦС"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Сертифікат сервера IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Показати розширені параметри"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Домени DNS пошуку"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS-сервери (напр., 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Маршрути пересилання (напр., 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Ім’я користувача"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Пароль"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Зберегти інформацію про обліковий запис"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(не використовується)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(не перевіряти сервер)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(отриманий із сервера)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Цей тип мережі VPN не може підтримувати постійне з’єднання"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Постійна мережа VPN підтримує лише числові адреси сервера"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Для постійної мережі VPN потрібно вказати DNS-сервер"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Для постійної мережі VPN адреси DNS-сервера мають складатися з цифр"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Введена інформація не підтримує постійну мережу VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Скасувати"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Закрити"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Блокувати підключення не через VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Вимагати з’єднання VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Ненадійна мережа. Перейдіть на VPN-підключення за протоколом IKEv2."</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Не вдалося запустити непідтримувану мережу VPN."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Виберіть профіль мережі VPN і не від’єднуйтесь від неї. Мережевий трафік дозволятиметься лише за умови під’єднання до цієї VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Не використовувати"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Для постійної мережі VPN потрібна IP-адреса як для сервера, так і для DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Сповіщення AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Отримувати сповіщення про викрадених дітей"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Повторити"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Увімкнути Менеджер викликів"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Дозволити цій службі керувати здійсненням викликів."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Менеджер викликів"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Бездротові екстрені сповіщення"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Оператори мережі"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Назви точок доступу"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Статус SIM-карти"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Статус SIM-карти (гніздо %1$d для SIM-карти)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> дБм <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM-карти змінено."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM-карту змінено"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Торкніться, щоб налаштувати"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Запитувати щоразу"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Потрібно вибрати"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Нещодавні додатки, додатки за умовчанням"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Додатки в робочому профілі не мають доступу до сповіщень."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Паролі й облікові записи"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Збережені паролі, автозаповнення, синхронізовані облікові записи"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Пропозиції даних для входу й автозаповнення"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Додатки за умовчанням"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Клонування додатків"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Створіть другий екземпляр додатка, щоб ви могли використовувати два облікові записи одночасно."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"гаманець"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"оплатити, торкнутися, платежі"</string>
     <string name="keywords_backup" msgid="707735920706667685">"резервна копія, резервне копіювання"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"жест"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"обличчя, розблокувати, автентифікація, увійти, фейс-контроль"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"обличчя, розблокування, автентифікація, вхід, відбиток пальця, біометричні дані, фейс-контроль"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, версія prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"розмір тексту, великі букви, великий шрифт, великий текст, поганий зір, зробити текст більшим, збільшити шрифт, збільшення шрифту"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"інформація на заблокованому екрані, always on display"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, мітка, засіб зчитування"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"клавіатура, тактильний відгук, вібрація,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Гучність, вібросигнал і режим \"Не турбувати\""</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Гучність медіа"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Гучність трансляції"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Увімкнути звуки"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Живі субтитри"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Автоматичні субтитри (медіа)"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Динаміки телефона"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Динаміки планшета"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Динаміки пристрою"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Дротові навушники"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Звук із сумісних носіїв стає реалістичнішим"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Вимкнено"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Показувати весь вміст сповіщень"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Приховувати приватну інформацію до розблокування"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Узагалі не показувати сповіщення"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Що показувати на заблокованому екрані?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Що має відображатися на заблокованому екрані?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Заблокований екран"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Показувати весь вміст робочих сповіщень"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ховати конфіденційний робочий вміст"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Нещодавні розмови видалено"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Чат видалено"</string>
     <string name="clear" msgid="5092178335409471100">"Очистити"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Видалити користувача <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Тут з’являтимуться важливі та змінені розмови"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Якщо ви внесете зміни до розмов, наприклад позначите певну розмову як важливу, вони з’являться тут. \n\nЩоб змінити налаштування розмови: \nвідкрийте розкривну панель, провівши пальцем униз від верху екрана, а потім натисніть і утримуйте розмову."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Згортати"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Зменшення гучності сповіщень"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Застосовувати зменшення гучності для всіх сповіщень"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Поступово зменшувати гучність сповіщень, коли ви отримуєте багато сповіщень поспіль з одного додатка"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Застосовувати зменшення гучності для розмов"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Поступово зменшувати гучність сповіщень, коли ви отримуєте багато повідомлень з одного чату протягом короткого періоду"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Не застосовувати зменшення гучності сповіщень"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Не зменшувати гучність сповіщень незалежно від кількості послідовних сповіщень з одного додатка"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Вібрувати, коли розблоковано"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Дозволити вібрацію, лише коли екран розблоковано"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Застосувати до робочих профілів"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Застосувати налаштування зменшення гучності сповіщень з вашого особистого профілю до робочого профілю"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Допоміжні VR-сервіси"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Установлені додатки не запитували доступу для роботи в режимі допоміжних VR-сервісів."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Надати VR-сервісу доступ до сервісу <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Вимкнено"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Закріплення додатків"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Ви бачитимете закріплений додаток на екрані, поки не відкріпите його. Цю функцію можна використовувати, наприклад, щоб дозволити другові зіграти в певну гру."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Закріплений додаток матиме змогу відкривати інші додатки й отримувати доступ до персональних даних. \n\nЩоб використовувати закріплення додатка: 	\n1. Увімкніть закріплення додатка. 	\n2. Відкрийте \"Огляд\". 	\n3. Натисніть значок додатка вгорі екрана й виберіть \"Закріпити\"."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Закріплений додаток матиме змогу відкривати інші додатки й отримувати доступ до персональних даних. \n\nЯкщо ви хочете без ризику надавати іншому користувачу доступ до пристрою, натомість використовуйте режим гостя. \n\nЩоб використовувати закріплення додатка: 	\n1. Увімкніть закріплення додатка. 	\n2. Відкрийте \"Огляд\". 	\n3. Натисніть значок додатка вгорі екрана й виберіть \"Закріпити\"."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Закріплений додаток матиме змогу відкривати інші додатки й отримувати доступ до персональних даних. \n\nЩоб використовувати закріплення додатка: 	\n{0,number,integer}. Увімкніть закріплення додатка. 	\n{1,number,integer}. Відкрийте \"Огляд\". 	\n{2,number,integer}. Натисніть значок додатка вгорі екрана й виберіть \"Закріпити\"."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Закріплений додаток матиме змогу відкривати інші додатки й отримувати доступ до персональних даних. \n\nЯкщо ви хочете без ризику надавати іншому користувачу доступ до пристрою, натомість використовуйте режим гостя. \n\nЩоб використовувати закріплення додатка: 	\n{0,number,integer}. Увімкніть закріплення додатка. 	\n{1,number,integer}. Відкрийте \"Огляд\". 	\n{2,number,integer}. Натисніть значок додатка вгорі екрана й виберіть \"Закріпити\"."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Якщо додаток закріплено, він може: \n\n•		отримувати доступ до персональних даних \n		(наприклад, до контактів або електронних листів); \n•		відкривати інші додатки. \n\nВикористовуйте закріплення додатка лише спільно з людьми, яким довіряєте."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Ключ розблокування перед відкріпленням"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"PIN-код для відкріплення"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Запитувати пароль перед відкріпленням"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Блокувати пристрій після відкріплення"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Підтверджувати видалення SIM-карти"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Підтвердьте, що хочете видалити всі дані з eSIM-карти"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Запитувати підтвердження особи, перш ніж очистити eSIM-карту"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Додатковий захист пам’яті (бета)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Додатковий захист пам’яті"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Налаштування невикористовуваних додатків"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Призупинити дії в неактивному додатку"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Вилучити дозволи, видалити тимчасові файли та зупинити сповіщення"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Керувати додатком, що не використовується"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Вилучити дозволи, видалити тимчасові файли, зупинити сповіщення й архівувати додаток"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Усі додатки"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Установлені додатки"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Додатки з миттєвим запуском"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Вільна пам’ять"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Використання пам\'яті додатками"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{За ост. {time} пам’ять використовував 1 додаток}one{За ост. {time} пам’ять використовував # додаток}few{За ост. {time} пам’ять використовували # додатки}many{За ост. {time} пам’ять використовували # додатків}other{За ост. {time} пам’ять використовували # додатка}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Увімк. профілювання використання пам’яті"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Щоб профілювати використання пам’яті, потрібні додаткові системні ресурси."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Профілювання використання пам’яті вимкнено"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Як часто працює додаток"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Найбільше використання"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Трафік не споживався"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Показувати поверх інших додатків"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Показувати поверх інших додатків"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Дозволити цьому додатку відображатися поверх інших відкритих додатків. Він зможе відстежувати місце натискання та змінювати вміст екрана."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Змін. пристр. для відтв. медіа"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Дозвол. додатку змін. прист. для відтв. медіа"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Дозволити цьому додатку вибирати, на якому підключеному пристрої відтворюватиметься аудіо або відео з інших додатків. Якщо дозволено, цей додаток зможе мати доступ до списку доступних пристроїв (наприклад, навушників і колонок) і вибирати, який пристрій виведення використовуватиметься для трансляції аудіо або відео."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Доступ до всіх файлів"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Надати доступ до керування всіма файлами"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Дозволити цьому додатку переглядати, змінювати та видаляти всі файли на цьому пристрої або інших підключених носіях пам\'яті. Після надання дозволу додаток може отримувати доступ до файлів без вашого відома."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Мають доступ до всіх файлів"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Додатки з активацією голосом"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Дозволити активацію голосом"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"За допомогою активації голосом ви можете вмикати схвалені додатки, використовуючи голосові команди. Вбудована функція адаптивного розпізнавання забезпечує конфіденційність даних (вони доступні лише вам).\n\n"<a href="">"Докладніше про захищене адаптивне розпізнавання"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Сповіщення на весь екран"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Дозволити сповіщення на весь екран із цього додатка"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Цьому додатку буде дозволено показувати сповіщення на весь екран, коли пристрій заблоковано. Додатки можуть використовувати це налаштування, щоб показувати будильники, сповіщення про вхідні дзвінки або інші термінові сповіщення."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Застереження, коли використано <xliff:g id="ID_1">^1</xliff:g> трафіку"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Обмеження обсягу даних – <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Застереження, коли використано <xliff:g id="ID_1">^1</xliff:g> трафіку / Обмеження трафіку: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Оператор може по-іншому вимірювати статистику використання трафіку"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Не включає дані, що використовуються в мережах операторів мобільного зв\'язку"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Використано <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Сповіщення щодо трафіку"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Оновлено <xliff:g id="ID_1">^2</xliff:g> тому"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Оператор <xliff:g id="ID_1">^1</xliff:g> щойно оновив"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Щойно оновлено"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Переглянути план"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Докладніше"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Заощадження трафіку"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Необмежені дані"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"Додаток <xliff:g id="APP_LABEL">%1$s</xliff:g> використав більше заряду акумулятора, ніж зазвичай, у фоновому режимі"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"Додаток <xliff:g id="APP_LABEL">%1$s</xliff:g> використав більше заряду акумулятора в активному режимі"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"Додаток <xliff:g id="APP_LABEL">%1$s</xliff:g> використав більше заряду акумулятора, ніж зазвичай, в активному режимі"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Відхилення у використанні заряду акумулятора"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Інтенсивне використання заряду акумулятора"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Інтенсивне використання заряду акумулятора у фоновому режимі"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Інтенсивне використання заряду акумулятора в активному режимі"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Швидкі налаштування блоку розробника"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Вимкнути час очікування авторизації ADB"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Вимкнути автоматичне скасування авторизації ADB для систем, які не підключилися знову впродовж періоду за умовчанням (7 днів) або зазначеного користувачем часу (мінімум 1 день)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Трасування Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Датчики вимкнено"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Налаштування робочого профілю"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Шукати в особистих додатках контакти з робочого каталогу"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"навігація в системі, навігація за допомогою двох кнопок, навігація за допомогою трьох кнопок, навігація за допомогою жестів, проведення пальцем по екрану"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Цифровий помічник"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Провести пальцем, щоб викликати цифрового помічника"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Щоб викликати цифрового помічника, проведіть пальцем угору від нижнього кута екрана."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Щоб викликати цифрового помічника, проведіть пальцем угору від нижнього кута екрана"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Виклик помічника утриманням кнопки гол. екрана"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Щоб викликати цифрового помічника, натисніть і утримуйте кнопку головного екрана."</string>
     <string name="low_label" msgid="6525629096999711220">"Низька"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Автозаповнення"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Сервіс автозаповнення за умовчанням"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Паролі"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Сервіси керування паролями, ключами доступу й даними"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Інші постачальники"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Рекомендований сервіс"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Додаткові сервіси"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# пароль}one{# пароль}few{# паролі}many{# паролів}other{# пароля}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"автоматичний, заповнення, автозаповнення, пароль"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"дані, ключ доступу, пароль"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"автоматично, заповнення, автозаповнення, дані, ключ доступу, пароль"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Змінити"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Відкрити"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Нічого не вибрано"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Переконайтеся, що додаток надійний&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Функція Автозаповнення Google&gt;%1$s&lt;/xliff:g&gt; використовує інформацію на екрані, щоб визначати поля для автозаповнення."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Використовувати &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; використовує інформацію на екрані, щоб визначати поля, які можна заповнити автоматично. Відтепер тут зберігатимуться нові паролі, ключі доступу й інша інформація."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Сервіси керування паролями, ключами доступу й даними"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Використовувати додаток &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Відтепер тут зберігатимуться нові паролі, ключі доступу й інша інформація. Додаток &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може використовувати інформацію на екрані, щоб визначати поля, які можна заповнити автоматично."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Пріоритетний сервіс для паролів, ключів доступу й автозаповнення"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Вимкнути %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Вимкнути цей сервіс?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Збережена інформація, наприклад паролі, ключі доступу, способи оплати тощо, не буде підставлятись автоматично, коли ви ввійдете в обліковий запис. Щоб використовувати збережену інформацію, виберіть сервіс для паролів, ключів доступу або даних."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Паролі, ключі доступу й автозаповнення"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Вимкнути всі сервіси?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Паролі, ключі доступу й інші збережені дані не будуть підставлятись автоматично, коли ви ввійдете в обліковий запис."</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Змінити бажаний сервіс на &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Відтепер тут зберігатимуться нові паролі, ключі доступу й інша інформація. Додаток &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; може використовувати інформацію на екрані, щоб визначати поля, які можна заповнити автоматично."</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Використовувати %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Вимкнути"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Змінити"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Одночасно можна ввімкнути не більше ніж 5 сервісів"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Вимкніть принаймні 1 сервіс, щоб додати інший"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s використовує інформацію на екрані, щоб визначати поля для автозаповнення."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Вибрано забагато сервісів керування паролями, ключами доступу й даними"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Одночасно можуть бути активними щонайбільше 5 сервісів керування паролями, ключами доступу й даними. Вимкніть один із сервісів, щоб додати інший."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Вибрано забагато сервісів керування паролями, ключами доступу й даними"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Одночасно можуть бути активними щонайбільше 5 сервісів керування паролями, ключами доступу й даними. Вимкніть один із сервісів, щоб додати інший."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Вимкнути"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Автозаповнення"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Рівень реєстрації"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Налаштування сумісності можна змінювати лише для налагоджуваних додатків. Установіть налагоджуваний додаток і спробуйте ще раз."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Залежить від іншого налаштування"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Обліковий запис"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"Кількість облікових записів: %d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Назва пристрою"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Основна інформація"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Нормативно-правова інформація"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Дозвольте цьому додатку запускатися під час сканування NFC-міток.\nЯкщо цей дозвіл ввімкнено, у разі виявлення мітки додаток відображатиметься серед доступних опцій."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Де відтворювати мультимедіа"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Як відтворювати <xliff:g id="LABEL">%s</xliff:g>:"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Де відтворюватиметься аудіо:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Цей пристрій"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Недоступно під час викликів"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Прийняти виклик на"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Вимкнути звук"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Щоб увімкнути цю функцію, спершу змініть налаштування \"Утримувати кнопку живлення\" так, щоб при цьому відкривалось меню кнопки живлення."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Інформація про мережу"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Назва пристрою відображається в додатках на телефоні. Її також можуть бачити інші люди, коли ви підключаєтеся до пристроїв Bluetooth або налаштовуєте точку доступу Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Пристрої"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Вибрати мережу"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Від’єднано"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Назва"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Колір (для сумісних додатків)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Зберегти"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Використовувати SIM-карту"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Використовувати цю SIM-карту"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Вимкнено"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Щоб вимкнути цю SIM-карту, вийміть її"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Торкніться, щоб активувати оператора <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Видалити SIM-карту"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Щоб вимкнути цю SIM-карту, вийміть її"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Натисніть, щоб активувати SIM-карту оператора <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Видалити всі дані з eSIM-карти"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Пріоритетний тип мережі"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Змінити режим роботи мережі"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Пріоритетний тип мережі"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Докладніше про ціни можна дізнатися в оператора мережі."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Використання трафіку додатками"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Недійсний режим мережі: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ігнорувати."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Обмін повідомленнями через супутник"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Обмінюйтеся текстовими повідомленнями через супутник. Цю функцію включено у ваш обліковий запис."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Обмінюйтеся текстовими повідомленнями через супутник. Цю функцію не включено у ваш обліковий запис."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Обмін повідомленнями через супутник"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Про обмін повідомленнями через супутник"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"За допомогою відповідного облікового запису <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ви можете обмінюватися текстовими повідомленнями через супутник"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Ваш план оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Послугу обміну повідомленнями через супутник включено у ваш обліковий запис"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Послугу обміну повідомленнями через супутник не включено у ваш обліковий запис"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Додати обмін повідомленнями через супутник"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Як це працює"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Коли мобільна мережа недоступна"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Ваш телефон автоматично підключатиметься до супутника. Для кращого зв’язку вийдіть на відкрите місце (без накриття)."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Коли телефон підключиться до супутника"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Ви можете надсилати текстові повідомлення будь-кому, зокрема службам екстреної допомоги. Телефон знову підключиться до мобільної мережі, коли вона стане доступною."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Обмін повідомленнями через супутник може тривати довше, і ця функція доступна лише в деяких регіонах. На з’єднання із супутником можуть впливати погодні умови й деякі будівлі. Дзвінки через супутник недоступні.\n\nПотрібен деякий час, щоб зміни у вашому обліковому записі відобразилися в налаштуваннях. Щоб дізнатися більше, зверніться до оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Докладніше про обмін повідомленнями через супутник"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Точки доступу"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Недоступно, коли підключено до оператора <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Вибрати оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Вибрати SIM-карту?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Використовувати <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Активною може бути лише одна SIM-карта.\n\nЯкщо ви виберете оператора <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, обслуговування в оператора <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> не буде скасовано."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Активною може бути лише одна eSIM-карта.\n\nЯкщо ви виберете оператора \"<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>\", це не скасує послуг оператора \"<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>\"."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Активною може бути лише одна SIM-карта.\n\nСервіс оператора <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> не буде скасовано."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Активною може бути лише одна SIM-карта.\n\nЯкщо ви виберете оператора <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, це не скасує послуг оператора <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Активною може бути лише одна eSIM-карта.\n\nЯкщо ви виберете оператора <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, це не скасує послуг оператора <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Активною може бути лише одна SIM-карта.\n\nЯкщо ви виберете іншого оператора, це не скасує послуг оператора <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Можна використовувати 2 SIM-карти одночасно. Щоб вибрати SIM-карту оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, вимкніть іншу."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Вибрати оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Вимкнути карту оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Якщо вимкнути SIM-карту, сервіс не буде автоматично скасовано"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Підключення до мережі…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Перемикання на оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g> для здійснення викликів і надсилання повідомлень…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Не вдається змінити оператора"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Не вдалося змінити оператора через помилку."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Активація SIM-карти…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Підключення до мережі оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Не вдалося вибрати іншу SIM-карту"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Сталася помилка. Не вдалося вибрати іншу SIM-карту."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Вимкнути оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Вимкнути SIM-карту?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Вимкнення SIM-карти<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Не вдається вимкнути оператора"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Сталася помилка. Не вдалося вимкнути оператора."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Не вдалося вимкнути SIM-карту"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Сталася помилка. Не вдалося вимкнути SIM-карту."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Використовувати дві SIM-карти?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"На цьому пристрої можна водночас використовувати дві активні SIM-карти. Щоб і надалі використовувати лише одну SIM-карту, виберіть \"Ні, дякую\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Перезапустити пристрій?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Ні, дякую"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Скасувати"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Вибрати"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Вимкнути"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Не вдається активувати SIM-карту"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Спробуйте знову ввімкнути SIM-карту. Якщо проблема не зникне, перезапустіть пристрій."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Налаштуйте SIM-карту"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Налаштуйте параметри мобільних мереж, щоб використовувати на цьому пристрої кілька SIM-карт"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Позначте свої SIM-карти"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Ви бачитимете ці мітки, коли будете телефонувати, надсилати SMS і користуватися мобільним Інтернетом, а також у налаштуваннях"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Мітка SIM-карти"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Мітка"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Виберіть SIM-карти"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Ви можете використовувати 2 SIM-карти одночасно"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Виберіть основні SIM-карти"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Виберіть, які SIM-карти використовувати за умовчанням для дзвінків, SMS і мобільного трафіку"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Ваші основні SIM-карти"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Виклики"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"SMS"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Автом. перемикання моб. даних"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Використовувати мобільний трафік із будь-якої SIM-карти залежно від покриття й доступності"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Лише мобільний Інтернет"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Налаштувати"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Далі"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Вмикається SIM-карта <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Мобільна мережа"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Номер телефону"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Мітка й колір SIM-карти"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Активація мережі"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Змінення оператора"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> активовано"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM-карту оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g> активовано"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Натисніть, щоб оновити налаштування SIM-карти"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Ви перейшли в мережу оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Ви перейшли в мережу іншого оператора"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Мобільну мережу змінено"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Налаштуйте іншу SIM-карту"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Виберіть активну SIM-карту або використовуйте дві водночас"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Виберіть, який номер використовувати"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{На цьому пристрої є лише 1 номер}=2{На цьому пристрої є 2 номери. Одночасно можна використовувати лише один}one{На цьому пристрої є # номер. Одночасно можна використовувати лише один}few{На цьому пристрої є # номери. Одночасно можна використовувати лише один}many{На цьому пристрої є # номерів. Одночасно можна використовувати лише один}other{На цьому пристрої є # номера. Одночасно можна використовувати лише один}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Активація<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Неможливо активувати зараз"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Виберіть SIM-карту, яку хочете використовувати"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{На цьому пристрої встановлено 1 SIM-карту}=2{На цьому пристрої встановлено 2 SIM-карти. Одночасно можна використовувати лише одну.}one{На цьому пристрої встановлено # SIM-карту. Одночасно можна використовувати лише одну.}few{На цьому пристрої встановлено # SIM-карти. Одночасно можна використовувати лише одну.}many{На цьому пристрої встановлено # SIM-карт. Одночасно можна використовувати лише одну.}other{На цьому пристрої встановлено # SIM-карти. Одночасно можна використовувати лише одну.}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Увімкнення<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Не вдалось увімкнути цю SIM-карту"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Використовувати <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"Мережа оператора <xliff:g id="CARRIER_NAME">%1$s</xliff:g> використовуватиметься для мобільного Інтернету, викликів і SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Немає доступних активних SIM-карт"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Щоб використовувати мобільний Інтернет, функції викликів і SMS пізніше, перейдіть у мережеві налаштування"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM-карта"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Видалити всі дані з цієї eSIM-карти?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Якщо ви видалите цю SIM-карту, на цьому пристрої буде неможливо користуватися послугами оператора \"<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>\".\n\nОбслуговування в оператора \"<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>\" не буде скасовано."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Сервіс <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> не працюватиме на цьому пристрої, але тарифний план оператора <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> не буде скасовано."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Видалити"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Видалення SIM-карти…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Не вдалося видалити SIM-карту"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Під час видалення SIM-карти сталася помилка.\n\nПерезапустіть пристрій і повторіть спробу."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Видалення всіх даних з eSIM-карти…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Не вдається видалити всі дані з eSIM-карти"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Сталася помилка. Не вдалося видалити всі дані із цієї eSIM-карти.\n\nПерезапустіть пристрій і повторіть спробу."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Підключитися до пристрою"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Додаток <xliff:g id="APPNAME">%1$s</xliff:g> запитує дозвіл підключитися до пристрою через тимчасову мережу Wi‑Fi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Немає пристроїв. Переконайтеся, що пристрої ввімкнені й готові до з’єднання."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Екстрені виклики"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Ваш оператор не підтримує екстрені виклики через Wi-Fi.\nПід час таких викликів пристрій автоматично перемикається на мобільну мережу.\nЕкстрені виклики можна здійснювати лише в зонах покриття мобільної мережі."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Телефонувати через Wi-Fi для якісніших викликів"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Резервний спосіб здійснення викликів"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Якщо мережа оператора <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> недоступна чи працює в роумінгу, користуйтеся мобільним Інтернетом для викликів через <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"резервний спосіб здійснення викликів"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Вхідне MMS-повідомлення"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Не вдається надіслати MMS-повідомлення"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Торкніться, щоб увімкнути MMS-повідомлення для оператора <xliff:g id="OPERATOR_NAME">%1$s</xliff:g>, коли мобільне передавання даних вимкнено"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Інформація про правила роботи"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Налаштування, якими керує адміністратор вашої організації"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"ГП"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Запустити з розміром сторінки 16 KБ"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Запустити пристрій із ядром для сторінок 16 КБ"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Перезапустити з ядром, сумісним зі сторінками розміром 16 КБ?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ПОПЕРЕДЖЕННЯ. Деякі додатки можуть бути несумісні з цим режимом. Пристрій перезапуститься після підтвердження."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Перезапустити з ядром, сумісним зі сторінками розміром 4 КБ?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Пристрій перезапуститься після підтвердження."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Не вдалося оновити ядро до сумісного зі сторінками розміром 16 КБ."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Застосування змін"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Обробник звітів про помилки"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Визначає, який додаток викликається ярликом звіту про помилку на пристрої."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Особисті додатки"</string>
@@ -4508,16 +4757,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Дозволити додаткам, що можуть показуватися поверх інших додатків, накладатися на екрани налаштувань"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Дозволити тестовий модем"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Цьому пристрою буде дозволено запускати сервіс тестового модема для інструментального тестування. Не вмикайте цю функцію у звичайному режимі роботи телефона."</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Вимкнути захист під час показу екрана"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Вимикає засоби захисту, що застосовуються системою для додатків і сповіщень під час показу екрана"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Медіа"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Закріпити медіапрогравач"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Щоб швидко відновлювати відтворення, медіапрогравач залишається відкритим у швидких налаштуваннях"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Показувати мультимедіа на заблокованому екрані"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Щоб швидко відновлювати відтворення, медіапрогравач залишається відкритим на заблокованому екрані"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Показувати рекомендації мультимедійного контенту"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Показувати рекомендації мультимедійного контенту від Асистента"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"На основі ваших дій"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Приховати програвач"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Показати програвач"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"медіа"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Дозволяти розширення програмного забезпечення для камери"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Вмикає програмну реалізацію за умовчанням для розширених функцій камери, таких як відеографія для користувачів із вадами зору."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Увімкнеться Bluetooth"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Інтернет"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM-карти"</string>
@@ -4545,8 +4798,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM-карта"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM-карта"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM-карти"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Активно"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Неактивно"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Увімкнено"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Вимкнено"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / За умовчанням (<xliff:g id="ID_1">%1$s</xliff:g>)"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"виклики"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4702,8 +4955,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Звук із сумісних носіїв стає реалістичнішим"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Відстеження рухів голови"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Коли ви рухаєте головою, звучання стає природнішим"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Синхронізація дозволів"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Надайте пристрою \"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>\" такі самі дозволи для додатків, які ви надали на пристрої \"<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>\""</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Синхронізуйте дозволи з телефона"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Надайте годиннику такі самі дозволи для додатків, які ви надали на телефоні"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Тип аудіопристрою"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Невідомо"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Колонка"</string>
@@ -4799,4 +5052,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Середній"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Високий"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Цей додаток можна відкрити лише в одному вікні"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Увімкнено"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Вимкнено"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Вимкнено"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Вимкнено"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Увімкнено"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Вимкнено"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Увімкнено"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Вимкнено"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Перетворює світлі кольори на темні й навпаки"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Наблизити вміст екрана"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Вимкнено"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Вимкнено"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Сканування на предмет оманливих додатків"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Перевірка дій у додатках на предмет фішингу"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Використовувати сканування на предмет оманливих додатків"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Використовувати сканування на предмет оманливих робочих додатків"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Пароль установлено"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Показувати курсор під час наведення"</string>
 </resources>
diff --git a/res/values-ur/arrays.xml b/res/values-ur/arrays.xml
index d469c60..f7d90a7 100644
--- a/res/values-ur/arrays.xml
+++ b/res/values-ur/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"دستیاب"</item>
     <item msgid="6096962300722555553">"حد سے باہر"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"غیر فعال"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"‏Unicast اور Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"سسٹم ڈیفالٹ استعمال کریں: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 منٹ کے بعد"</item>
     <item msgid="1574040255478150028">"5 منٹ کے بعد"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-ur/strings.xml b/res/values-ur/strings.xml
index 3add5d2..128b86c 100644
--- a/res/values-ur/strings.xml
+++ b/res/values-ur/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"اب آپ ایک ڈویلپر ہیں!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"کوئی ضرورت نہیں ہے، آپ پہلے سے ہی ایک ڈویلپر ہیں۔"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"براہ کرم پہلے ڈویلپر کے اختیارات فعال کریں"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"صرف منتظم صارفین ہی ڈویلپر کی ترتیبات تک رسائی حاصل کر سکتے ہیں۔"</string>
     <string name="header_category_system" msgid="1665516346845259058">"سسٹم"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"سروس میں"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"سروس میں نہیں ہے"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"جب آپ اپنا آلہ فولڈ کرتے ہیں تو فرنٹ ڈسپلے آن ہو جاتا ہے"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"صرف گیمز، ویڈیوز اور بہت کچھ"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"آپ کی اسکرین کو غیر مصروف ہونے سے روکنے والی ایپس کے لیے فرنٹ ڈسپلے آن ہو جاتا ہے"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"جاری رکھنے کیلئے اوپر سوائپ کریں"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"اپنا فون فولڈ کریں اور ایپ استعمال کرنا جاری رکھنے کیلئے فرنٹ ڈسپلے پر اوپر سوائپ کریں یا اسکرین کے مقفل ہونے کیلئے چند سیکنڈ انتظار کریں"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"کبھی نہیں"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"جب آپ اپنا آلہ فولڈ کرتے ہیں تو فرنٹ ڈسپلے مقفل ہو جاتا ہے"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"\'خودکار طور پر گھمائیں\' کا استعمال کریں"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"متعلقہ"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"رنگ ٹون اور الارمز"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"کالز کے دوران آڈیو"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"میڈیا"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"اطلاعات اور دیگر سسٹم ساؤنڈز"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"میڈیا اور سسٹم کی آوازیں"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"اطلاعات"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"بطور ڈیفالٹ آڈیو آؤٹ کا تعین انفرادی ایپس کے ذریعے کیا جاتا ہے"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"بلا نام بلوٹوتھ آلہ"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"تلاش کر رہا ہے"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"منسوخ کریں"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"‏بلوٹوتھ LE آڈیو غیر فعال کریں"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"‏اگر آلہ LE آڈیو ہارڈویئر کی صلاحیتوں کو سپورٹ کرتا ہے تو یہ بلوٹوتھ LE آڈیو خصوصیت کو غیر فعال کر دے گا۔"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"‏بلوٹوتھ LE آڈیو وضع"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"‏آلے کی تفصیلات میں LE آڈیو ٹوگل کریں دکھائیں"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"‏بلوٹوتھ LE آڈیو اجازت یافتہ کی فہرست کو فعال کریں"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"‏بلوٹوتھ LE آڈیو اجازت یافتہ کی فہرست کی خصوصیت کو فعال کریں۔"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"‏بلوٹوتھ LE آڈیو کی اجازت یافتہ فہرست کو بائی پاس کریں"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"‏اجازت یافتہ کی فہرست کے معیار کو پورا کرنے کے لیے LE آڈیو پیریفرل کی تصدیق کے نہ ہونے کے باوجود LE آڈیو کو بطور ڈیفالٹ استعمال کریں۔"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"میڈیا آلات"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"کال آلات"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"دیگر آلات"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"محفوظ کردہ آلات"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"اکاؤنٹ کے ساتھ وابستہ"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"پہلے اکاؤنٹ کے ساتھ استعمال کیا جاتا تھا"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"جوڑا بنانے کے لیے بلوٹوتھ آن ہو جائے گا"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"کنکشن کی ترجیحات"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"پہلے سے منسلک کردہ"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"بلوٹوتھ کو آن کر دیا گیا"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"سبھی دیکھیں"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"سبھی دیکھیں"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"اسٹائلس"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"‏Tail بٹن دبائیں"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (دفتری پروفائل)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"ٹیکسٹ فیلڈز میں لکھیں"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"اسٹائلس کے بٹن کو دبانے کا عمل نظر انداز کریں"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"اسٹائلس"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"آڈیو کا اشتراک"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"آڈیو کا اشتراک کریں"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"کالز اور الارمز"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"‏QR کوڈ استعمال کر کے آڈیو سلسلہ سے منسلک کریں"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"کوئی قریبی آڈیو سلسلے نہیں ملے۔"</string>
     <string name="date_and_time" msgid="1788358029823431692">"تاریخ اور وقت"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"پراکسی"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"صاف کریں"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"‏‎%s کو ترجیحی زبانوں میں شامل کریں؟"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"اس سے ایپس اور ویب سائٹس کو معلوم ہوتا ہے کہ آپ بھی اس زبان کو ترجیح دیتے ہیں۔"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"آپ کے آلہ کی ترتیبات اور علاقائی ترجیحات تبدیل ہو جائیں گی۔"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"تبدیل کریں"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"‏%s دستیاب نہیں ہے"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"ہفتہ"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"‏اگر کوئی ایپ علاقائی ترجیحات کو سپورٹ نہیں کرتی ہے تو ایپ اپنی ڈیفالٹ locale کی ترتیبات استعمال کرے گی۔"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"زبان کی ترجیحات کے بارے میں مزید جانیں۔"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"اضافی ترجیحات"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"مخاطب کرنے کے الفاظ"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"سیٹ کریں کہ آپ کو کیسے مخاطب کیا جائے"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"ایپس آپ کو آپ کے مطابق مخاطب کرنے کے لیے آپ کے منتخب کردہ الفاظ کا استعمال کر سکتی ہیں۔"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"متعین نہیں ہے"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"مؤنث"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"مذکر"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"نیوٹرل"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{منتخب کردہ زبان ہٹائیں؟}other{منتخب کردہ زبانوں کو ہٹائیں؟}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"متن ایک دوسری زبان میں ڈسپلے کیا جائے گا۔"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"ساری زبانیں نہیں ہٹا سکتا"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"مقام"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"مقام استعمال کریں"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"آف ہے"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{آن ہے - # ایپ کو مقام تک رسائی حاصل ہے}other{آن ہے - # ایپس کو مقام تک رسائی حاصل ہے}}"</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_location_off" msgid="8568995909147566720">"ایپس اور سروسز کے لیے مقام تک رسائی آف ہے۔ آپ کے ایمرجنسی نمبر پر کال کرنے یا ٹیکسٹ پیغام بھیجنے پر بھی ایمرجنسی مدد فراہم کنندگان کو آپ کے آلے کا مقام بھیجا جا سکتا ہے۔"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"مقام کی ترتیبات کے بارے میں مزید جانیں۔"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"مقام کی ترتیبات کے بارے میں مزید جانیں"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"‏مقام تک رسائی کو تبدیل کرنے کے لیے ترتیبات &gt; سیکیورٹی اور رازداری &gt; رازداری سے متعلق کنٹرولز پر جائیں"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"اکاؤنٹس"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"سیکیورٹی"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"مرموز کاری اور اسناد"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"‏بہترین نتائج کے لیے، ایک ایسے اسکرین پروٹیکٹر کا استعمال کریں جو Google کے لیے تیار کردہ سے سند یافتہ ہو۔ ممکن ہے کہ دوسرے اسکرین پروٹیکٹرز کے ساتھ آپ کے بچے کا فنگر پرنٹ کام نہ کرے۔"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"واچ اَن لاک"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"جب آپ فیس اَنلاک اور فنگر پرنٹ اَن لاک کی خصوصیت سیٹ اپ کرتے ہیں تو آپ کے ماسک پہننے یا کسی تاریک جگہ پر موجود ہونے کی صورت میں آپ کا فون آپ کے فنگر پرنٹ کے لیے پوچھے گا\n\nجب آپ کے چہرے یا فنگر پرنٹ کی شناخت نہ ہو تو آپ اپنی گھڑی سے غیر مقفل کر سکتے ہیں۔"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"جب آپ کے فنگر پرنٹ کی شناخت نہ ہو تو آپ اپنی گھڑی سے غیر مقفل کر سکتے ہیں۔"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"جب آپ کے چہرے کی شناخت نہ ہو تو آپ اپنی گھڑی سے غیر مقفل کر سکتے ہیں۔"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"جب آپ فیس اَنلاک اور فنگر پرنٹ اَن لاک کی خصوصیت سیٹ اپ کرتے ہیں تو آپ کے ماسک پہننے یا کسی تاریک جگہ پر موجود ہونے کی صورت میں آپ کا فون آپ کے فنگر پرنٹ کے لیے پوچھے گا۔\n\nواچ اَن لاک اس فون کو غیر مقفل کرنے کا ایک اور آسان طریقہ ہے، مثال کے طور پر، جب آپ کی انگلیاں گیلی ہوں یا چہرے کی شناخت نہ ہو پا رہی ہو۔"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"واچ اَن لاک اس فون کو غیر مقفل کرنے کا ایک اور آسان طریقہ ہے، مثال کے طور پر، جب آپ کے فنگر پرنٹ کی شناخت نہ ہو پا رہی ہو۔"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"واچ اَن لاک اس فون کو غیر مقفل کرنے کا ایک اور آسان طریقہ ہے، مثال کے طور پر، جب آپ کے چہرے کی شناخت نہ ہو پا رہی ہو۔"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"فنگر پرنٹ یا گھڑی استعمال کریں"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"چہرہ یا گھڑی استعمال کریں"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"چہرہ، فنگر پرنٹ یا گھڑی استعمال کریں"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"واچ اَن لاک اس فون کو غیر مقفل کرنے کا ایک اور آسان طریقہ ہے، مثال کے طور پر، جب آپ کی انگلیاں گیلی ہوں یا چہرے کی شناخت نہ ہو پا رہی ہو۔\n\nآپ اس فون کو غیر مقفل کرنے کے لیے اپنی گھڑی استعمال کر سکتے ہیں جب آپ:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"ابھی نہیں"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"جاری رکھیں"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"مزید"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"اس کے کام کرنے کا طریقہ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"آپ کی گھڑی غیر مقفل، آپ کی کلائی پر اور اس فون کے قریب ہونی چاہیے۔ آپ کی گھڑی کے آپ کی کلائی پر ہونے پر آپ کو اسے دوبارہ غیر مقفل کرنے کی ضرورت نہیں ہوگی۔"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"اس فون کے غیر مقفل ہونے پر، آپ کو اپنی گھڑی پر مطلع کیا جائے گا۔ اگر یہ آپ کے نہ چاہنے پر بھی غیر مقفل تھا تو فون کو دوبارہ مقفل کرنے کے لیے اطلاع پر تھپتھپائیں۔"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"یہ سب آپ کے زیر کنٹرول ہے"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"آپ ترتیبات میں کسی بھی وقت واچ اَن لاک سے اپنی گھڑی کو ہٹا سکتے ہیں"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"اطلاع پر تھپتھپائیں"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"لاک اسکرین پر اوپر سوائپ کریں"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"اپنی گھڑی منتخب کریں"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"دستیاب گھڑیاں"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"منسوخ کریں"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"توثیق کریں"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"آپ پوری طرح سے تیار ہیں!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"جب آپ مقفل اسکرین پر اوپر سوائپ کرتے ہیں یا کسی اطلاع کو تھپتھپاتے ہیں تو اب آپ اس فون کو غیر مقفل کرنے کے لیے اپنی گھڑی کا استعمال کر سکتے ہیں"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"ہو گیا"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"واچ اَن لاک"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"جب آپ مقفل اسکرین پر اوپر سوائپ کرتے ہیں یا کسی اطلاع کو تھپتھپاتے ہیں تو آپ اس فون کو غیر مقفل کرنے کے لیے اپنی گھڑی کا استعمال کر سکتے ہیں"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"واچ اَن لاک استعمال کرنے کے لیے، آپ کی گھڑی غیر مقفل، آپ کی کلائی پر، اس فون سے قریب اور اس سے منسلک ہونی چاہیے۔ اگر کنکشن میں خلل پڑتا ہے تو آپ کو واچ اَن لاک استعمال کرنے سے پہلے فون کو غیر مقفل کرنا ہوگا۔\n\nذہن میں رکھیں:\nآپ ایک وقت میں صرف ایک گھڑی سیٹ اپ کر سکتے ہیں۔ دوسری گھڑی شامل کرنے کے لیے، پہلے موجودہ گھڑی کو ہٹائیں۔"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"کام کے لیے فیس اور فنگر پرنٹ اَن لاک"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"سیٹ اپ درکار ہے"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"سیکیورٹی"</string>
     <string name="privacy_header" msgid="5526002421324257007">"رازداری"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"دفتری پروفائل"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"پرائیویٹ اسپیس"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"نجی ایپس کو مقفل اور پوشیدہ رکھیں"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"نجی ایپس کو الگ اسپیس میں رکھیں جنہیں آپ پوشیدہ یا مقفل کر سکتے ہیں"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"پرائیویٹ اسپیس لاک"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"آپ پرائیویٹ اسپیس کو اسی طرح غیر مقفل کر سکتے ہیں جس طرح آپ اپنے آلے کو غیر مقفل کرتے ہیں یا ایک مختلف لاک کا انتخاب کر سکتے ہیں"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"آلے کا اسکرین لاک استعمال کریں"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"چہرہ اور فنگر پرنٹ اَن لاک"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"فنگر پرنٹ اَن لاک"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"فیس اَنلاک"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"سیٹ اپ کرنے کیلئے تھپتھپائیں"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"پرائیویٹ اسپیس کے لیے فنگر پرنٹ اَن لاک"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"پرائیویٹ اسپیس کے لیے فیس اَنلاک"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"غیر مقفل کرنے کے طریقے"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"آلہ کے اسکرین لاک جیسا"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"پرائیویٹ اسپیس کے لیے نیا لاک منتخب کریں؟"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"پرائیویٹ اسپیس کو خودکار طور پر مقفل کریں"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"آپ اپنی پرائیویٹ اسپیس کو خودکار طور پر مقفل کر سکتے ہیں اگر آپ نے اپنے آلے کو کچھ عرصے سے استعمال نہیں کیا ہے"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"ہر بار جب آلہ مقفل ہوتا ہے"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 منٹ کی غیرفعالیت کے بعد"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"کبھی نہیں"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"مقفل ہونے پر چھپائیں"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"مقفل ہونے پر پرائیویٹ اسپیس چھپائیں"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"دیگر لوگوں کو یہ جاننے سے روکنے کیلئے کہ آپ کے آلے پر ایک پرائیویٹ اسپیس ہے، آپ اسے اپنی ایپس کی فہرست سے چھپا سکتے ہیں"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"پوشیدہ ہونے پر پرائیویٹ اسپیس تک رسائی حاصل کریں"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"اپنی ایپس فہرست سے، تلاش بار میں \"پرائیویٹ اسپیس\" درج کریں"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"پرائیویٹ اسپیس ٹائل پر تھپتھپائیں"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"اپنی پرائیویٹ اسپیس کو غیر مقفل کریں"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"آف ہے"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"آن ہے"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"سسٹم"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"پرائیویٹ اسپیس حذف کریں"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"پرائیویٹ اسپیس حذف کریں؟"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"آپ کے پرائیویٹ اسپیس کو آپ کے آلے سے ہٹا دیا جائے گا۔ سبھی نجی ایپس اور ڈیٹا حذف ہو جائیں گے۔ آپ اس کاروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"درج ذیل اکاؤنٹس کو آپ کے پرائیویٹ اسپیس سے ہٹا دیا جائے گا:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"حذف کریں"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"پرائیویٹ اسپیس کو حذف کیا جا رہا ہے…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"اس میں کچھ وقت لگے گا"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"پرائیویٹ اسپیس حذف کر دی گئی"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"پرائیویٹ اسپیس حذف نہیں کی جا سکی"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"پرائیویٹ اسپیس غیر مقفل کی گئی"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"اسکرین لاک سیٹ کریں"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"اپنی نجی اسپیس استعمال کرنے کیلئے، اس آلہ پر اسکرین لاک سیٹ کریں"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"اسکرین لاک سیٹ کریں"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"منسوخ کریں"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"منسوخ کریں"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"سیٹ اپ کریں"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"نجی اسپیس سیٹ اپ کریں"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"نجی ایپس کو الگ اسپیس میں رکھیں جنہیں آپ پوشیدہ یا مقفل کر سکتے ہیں"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"اس کے کام کرنے کا طریقہ"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"آپ اپنی ایپس کی فہرست کے نچلے حصے سے اپنی نجی اسپیس تک رسائی حاصل کر سکتے ہیں"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"آپ کی نجی اسپیس میں موجود ایپس کو بذریعہ لاک محفوظ کیا جاتا ہے"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"آپ کی نجی اسپیس میں موجود ایپس کے مقفل ہونے پر ان کی اطلاعات پوشیدہ ہو جاتی ہیں"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"جب آپ کی نجی اسپیس مقفل ہوتی ہے تو آپ کی نجی اسپیس میں موجود ایپس اجازتوں کے مینیجر، پرائیویسی ڈیش بورڈ اور دیگر ترتیبات میں ظاہر نہیں ہوں گی۔\n\nآپ کی نجی اسپیس کو کسی نئے آلے پر منتقل نہیں کیا جا سکتا۔ اگر آپ اسے کسی دوسرے آلے پر استعمال کرنا چاہتے ہیں تو آپ کو ایک اور نجی اسپیس سیٹ اپ کرنے کی ضرورت ہوگی۔\n\nکوئی بھی جو آپ کے آلے کو کمپیوٹر سے منسلک کرتا ہے یا آپ کے آلے پر نقصان دہ ایپس انسٹال کرتا ہے وہ آپ کی نجی اسپیس تک رسائی حاصل کر سکتا ہے۔"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"نجی اسپیس سیٹ اپ کی جا رہی ہے…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"پرائیویٹ اسپیس ایپس کے مقفل ہونے پر ان کی اطلاعات پوشیدہ ہو جاتی ہیں"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"تصاویر یا فائلز کا اشتراک کرنے کے لیے پرائیویٹ اسپیس کو غیر مقفل کریں"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"کچھ ایپس آپ کی نجی اسپیس میں پہلے سے ہی انسٹال ہیں"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"پرائیویٹ اسپیس سیٹ اپ نہیں کی جا سکی"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"دوبارہ کوشش کریں"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"نجی اسپیس کو غیر مقفل کرنے کے لیے اسکرین لاک استعمال کریں؟"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"آپ نجی اسپیس کو اسی طرح غیر مقفل کر سکتے ہیں جس طرح آپ اپنے آلے کو غیر مقفل کرتے ہیں یا ایک مختلف لاک کا انتخاب کر سکتے ہیں"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"اسکرین لاک استعمال کریں"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"نیا قفل منتخب کریں"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"سب کچھ تیار ہے!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"اپنی نجی اسپیس تلاش کرنے کے لیے، اپنی ایپس کی فہرست پر جائیں پھر نیچے اسکرول کریں"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"ہو گیا"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"نجی اسپیس تلاش کرنے کے لیے نیچے اسکرول کریں"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"سائن ان کریں"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"اپنی پرائیویٹ اسپیس کے ساتھ استعمال کرنے کے لیے اکاؤنٹ میں سائن ان کریں"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"ابھی نہیں"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"جاری رکھیں"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"اپنی نجی جگہ کے لیے لاک کا انتخاب کریں"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"آپ اپنے فنگر پرنٹ کا استعمال کر کے اپنی نجی اسپیس کو غیر مقفل کر سکتے ہیں۔ سیکیورٹی کے مد نظر، اس اختیار کے لیے بیک اپ لاک درکار ہے۔"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"‏اپنی پرائیویٹ اسپیس کے لیے PIN سیٹ کریں"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"اپنی پرائیویٹ اسپیس کے لیے پاس ورڈ سیٹ کریں"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"اپنی پرائیویٹ اسپیس کے لیے پیٹرن سیٹ کریں"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"آپ <xliff:g id="COUNT">%d</xliff:g> فنگر پرنٹس شامل کر سکتے ہیں"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"آپ فنگر پرنٹس کی زیادہ سے زیادہ تعداد شامل کر چکے ہیں"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"مزید فنگر پرنٹس شامل نہیں کر سکتے"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"پیٹرن"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"پاس ورڈ"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"اسکرین لاک حذف کریں؟"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"آلہ غیر مقفل کرنے کے تمام اقسام کو ہٹائیں؟"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"پروفائل کے تحفظ کو ہٹا دیں؟"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"اگر آپ کا فون گم یا چوری ہو جاتا ہے تو پیٹرن اس کی حفاظت کرتا ہے"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"اگر آپ کا فون گم یا چوری ہو جاتا ہے تو پیٹرن اس کی حفاظت کرتا ہے۔<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>اس سے آپ کے آلے پر اسٹور کردہ فنگر پرنٹ کا ماڈل حذف ہو جاتا ہے۔ آپ کے چہرے کے ماڈل کو بھی مستقل اور محفوظ طریقے سے حذف کر دیا جائے گا۔ آپ ایپس میں تصدیق کے لیے اپنے چہرے یا فنگر پرنٹ کا استعمال نہیں کر سکیں گے۔"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"‏اگر آپ کا فون گم یا چوری ہو جاتا ہے تو PIN اس کی حفاظت کرتا ہے"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"‏آپ اپنے PIN جیسے محفوظ کردہ ڈیٹا سے محروم ہو جائیں گے۔<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g> کنٹیکٹ لیس ادائیگی کرنے کے لیے سیٹ اپ کردہ کارڈز ہٹا دیے جائیں گے۔<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>والٹس اور دیگر ایپس جن کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہوتی ہے ہو سکتا ہے ٹھیک سے کام نہ کریں۔"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"‏اگر آپ کا فون گم یا چوری ہو جاتا ہے تو PIN اس کی حفاظت کرتا ہے۔<xliff:g id="EMPTY_LINE">
 
 </xliff:g>اس سے آپ کے آلے پر اسٹور کردہ فنگر پرنٹ کا ماڈل بھی حذف ہو جاتا ہے۔ آپ ایپس میں تصدیق کے لیے اپنے فنگر پرنٹ کا استعمال نہیں کر سکیں گے۔"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"‏آپ اپنے PIN اور فنگر پرنٹ کے ماڈل جیسے محفوظ کردہ ڈیٹا سے محروم ہو جائیں گے۔<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g> کنٹیکٹ لیس ادائیگی کرنے کے لیے سیٹ اپ کردہ کارڈز ہٹا دیے جائیں گے۔<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>والٹس اور دیگر ایپس جن کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہوتی ہے ہو سکتا ہے ٹھیک سے کام نہ کریں۔"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"‏اگر آپ کا فون گم یا چوری ہو جاتا ہے تو PIN اس کی حفاظت کرتا ہے۔<xliff:g id="EMPTY_LINE">
 
 </xliff:g>آپ کے چہرے کے ماڈل کو بھی مستقل اور محفوظ طریقے سے حذف کر دیا جائے گا۔ آپ ایپس میں تصدیق کے لیے اپنے چہرے کا استعمال نہیں کر سکیں گے۔"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"‏آپ اپنے PIN اور چہرے کے ماڈل جیسے محفوظ کردہ ڈیٹا سے محروم ہو جائیں گے۔<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g> کنٹیکٹ لیس ادائیگی کرنے کے لیے سیٹ اپ کردہ کارڈز ہٹا دیے جائیں گے۔<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>والٹس اور دیگر ایپس جن کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہوتی ہے ہو سکتا ہے ٹھیک سے کام نہ کریں۔"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"‏اگر آپ کا فون گم یا چوری ہو جاتا ہے تو PIN اس کی حفاظت کرتا ہے۔<xliff:g id="EMPTY_LINE">
 
 </xliff:g>اس سے آپ کے آلے پر اسٹور کردہ فنگر پرنٹ کا ماڈل حذف ہو جاتا ہے۔ آپ کے چہرے کے ماڈل کو بھی مستقل اور محفوظ طریقے سے حذف کر دیا جائے گا۔ آپ ایپس میں تصدیق کے لیے اپنے چہرے یا فنگر پرنٹ کا استعمال نہیں کر سکیں گے۔"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"‏آپ اپنے PIN، چہرے اور فنگر پرنٹ کے ماڈل جیسے محفوظ کردہ ڈیٹا سے محروم ہو جائیں گے۔<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g> کنٹیکٹ لیس ادائیگی کرنے کے لیے سیٹ اپ کردہ کارڈز ہٹا دیے جائیں گے۔<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>والٹس اور دیگر ایپس جن کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہوتی ہے ہو سکتا ہے ٹھیک سے کام نہ کریں۔"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"اگر آپ کا فون گم یا چوری ہو جاتا ہے تو پاس ورڈ اس کی حفاظت کرتا ہے"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"اگر آپ کا فون گم یا چوری ہو جاتا ہے تو پاس ورڈ اس کی حفاظت کرتا ہے۔<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"بلوٹوتھ"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"بلوٹوتھ"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"‫<xliff:g id="DEVICE_NAME">%1$s</xliff:g> کے ساتھ جوڑا بنائیں؟"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"موجودہ مربوط سیٹ میں نئے رکن کو شامل کریں"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"اپنے آڈیو آلہ کا دوسرا حصہ شامل کرنے کی تصدیق کریں"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"بلوٹوتھ جوڑا بنانے کا کوڈ"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"جوڑا بنانے کا کوڈ ٹائپ کریں پھر ریٹرن یا انٹر دبائیں"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"‏PIN میں حروف یا علامات شامل ہیں"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 ہندسے ہونے چاہئیں"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"‏آپ کو دوسرے آلہ پر بھی یہ PIN ٹائپ کرنے کی ضرورت پڑ سکتی ہے۔"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"آپ کو دیگر آلہ پر بھی اس پاس کلید کو ٹائپ کرنے کی ضرورت ہو سکتی ہے۔"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"مربوط سیٹ کے ساتھ جوڑا بنانے کی تصدیق کریں"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"آڈیو آلہ کے ساتھ جوڑا بنانے کی تصدیق کریں"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"اپنے رابطوں اور کال کی سرگزشت تک رسائی کی اجازت دیں"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"رابطوں اور کال کی سرگزشت تک رسائی کی بھی اجازت دیں"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"معلومات کو کال کے اعلانات اور مزید کے لیے استعمال کیا جائے گا"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> سے مربوط نہیں ہو سکا۔"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"دستیاب آلات"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"منسلک کریں"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"غیر منسلک کریں"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"جوڑا بنائیں اور مربوط کریں"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"بلوٹوتھ آن ہونے پر، آپ کا آلہ دیگر قریبی بلوٹوتھ آلات کے ساتھ مواصلت کر سکتا ہے۔"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"بلوٹوتھ آن ہونے پر، آپ کا آلہ دیگر قریبی بلوٹوتھ آلات سے مواصلت کر سکتا ہے"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"بلوٹوتھ آن ہونے پر آپ کا آلہ دیگر قریبی بلوٹوتھ آلات کے ساتھ مواصلت کر سکتا ہے۔\n\nآلے کے تجربے کو بہتر بنانے کے لیے، ایپس اور سروسز بلوٹوتھ کے آف ہونے پر بھی کسی بھی وقت قریبی آلات کو اسکین کر سکتی ہیں۔ مثال کے طور، مقام پر مبنی خصوصیات اور سروسز کو بہتر بنانے کے لیے اس کا استعمال کیا جا سکتا ہے۔ آپ بلوٹوتھ اسکیننگ کی ترتیبات میں اسے تبدیل کر سکتے ہیں۔"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"تبدیل کریں"</string>
     <string name="device_details_title" msgid="1155622417516195481">"آلہ کی تفصیلات"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"‏قابل ڈیبگ اپپس کے بائٹ کوڈ کی توثیق کے لیے ART کو اجازت دیں"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"ریفریش کی شرح دکھائیں"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"موجودہ ڈسپلے کی ریفریش کی شرح دکھائیں"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"‏HDR/SDR تناسب دکھائیں"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"‏موجودہ HDR/SDR تناسب دکھائیں"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"‏NFC کے لیے آلہ کو غیر مقفل کرنے کی ضرورت ہے"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"ہوائی جہاز وضع میں"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"عوامی نیٹ ورکس کیلئے مطلع کریں"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"جب اعلی معیاری عوامی نیٹ ورک دستیاب ہو مطلع کریں"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"‏WEP نیٹ ورکس کی اجازت دیں"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"‏WEP ایک پرانا سیکیورٹی پروٹوکول ہے جو کم محفوظ ہے"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"‏آپ کا کیریئر WEP نیٹ ورکس کی اجازت نہیں دیتا ہے کیونکہ وہ کم محفوظ ہیں"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"‏خود کار طور پر Wi‑Fi آن کریں"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"‏آپ کے ہوم نیٹ ورک کی طرح، اعلی معیاری محفوظ نیٹ ورکس کے قریب ہونے پر Wi‑Fi واپس آن ہو جائے گا۔"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"مقام آف ہونے کی وجہ سے غیر دستیاب ہے۔ "<annotation id="link">"مقام"</annotation>" آن کریں۔"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"‏Wi‑Fi کے آف ہونے پر بھی، Wi‑Fi اسکیننگ ایپس اور سروسز کو کسی بھی وقت Wi‑Fi نیٹ ورکس اسکین کرنے کی اجازت دیتی ہے۔ مثال کے طور، اسے مقام پر مبنی خصوصیات اور سروسز کو بہتر بنانے کیلئے استعمال کیا جا سکتا ہے۔"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"آن کریں"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"‏Wi‑Fi اسکیننگ آن ہے"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"یہ نیٹ ورک ایک پرانا سیکیورٹی پروٹوکول استعمال کرتا ہے جو کم محفوظ ہے"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> مسدود ہے"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"‏یہ نیٹ ورک ایک پرانا سیکیورٹی پروٹوکول استعمال کرتا ہے جسے WEP کہتے ہیں، جو کم محفوظ ہے۔ بہرحال منسلک ہونے کے لیے، آپ WEP نیٹ ورکس کو اجازت دے سکتے ہیں۔"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"آپ کا کیریئر آپ کو اس نیٹ ورک سے منسلک ہونے کی اجازت نہیں دیتا ہے کیونکہ یہ ایک پرانا سیکیورٹی پروٹوکول استعمال کرتا ہے جو کم محفوظ ہے"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"‏WEP کی اجازت دیں"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"بند کریں"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"جدید ترین اختیارات"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"ڈراپ ڈاؤن فہرست کے اعلی درجے کے اختیارات"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"پھیلائیں"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"‏Wi-Fi پر رہیں"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"دوبارہ کبھی نہ دکھائیں"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"منسلک کریں"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"‏Wi‑Fi کو آن کر دیا گیا"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"‫<xliff:g id="NETWORK_NAME">%1$s</xliff:g> سے منسلک کردہ"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"<xliff:g id="NETWORK_NAME">%1$s</xliff:g> سے منسلک ہو رہا ہے"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"منسلک ہو رہا ہے…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"نیٹ ورک سے مربوط ہونے میں ناکام رہا"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"نیٹ ورک رینج میں نہیں ہے"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"بھول جائیں"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"ترمیم کریں"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"نیٹ ورک کو بھولنے میں ناکام ہوگیا"</string>
     <string name="wifi_save" msgid="2312643132472226807">"محفوظ کریں"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"نیٹ ورک محفوظ کرنے میں ناکام ہوگیا"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"منسوخ کریں"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"موبائل ڈیٹا"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"ایتھرنیٹ"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ چارج ہو رہی ہے"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ چارج ہو رہی ہے"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"ہاٹ اسپاٹ کنکشن"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"کنکشن کی مضبوطی"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"محفوظ کردہ نیٹ ورکس"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"کوئی پاس ورڈ سیٹ نہیں ہے"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"ہاٹ اسپاٹ کا نام"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"ہاٹ اسپاٹ کا پاس ورڈ"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"‏AP بینڈ"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"خودکار طور پر ہاٹ اسپاٹ آف کریں"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"جب کوئی آلات منسلک نہ ہوں"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"موافقت کی توسیع کریں"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"وہائٹ بیلنس ڈسپلے کریں"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"فولڈ پر ایپس کا استعمال جاری رکھیں"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"ہموار ڈسپلے"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"‏کچھ مواد کے لیے 60 سے <xliff:g id="ID_1">%1$s</xliff:g> Hz تک ریفریش کی شرح خودکار طور پر بڑھ جاتی ہے۔ بیٹری کے استعمال میں کرتی ہیں"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"گیمز کیلئے ڈیفالٹ فریم ریٹ غیر فعال کریں"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"‏گیمز کے لیے زیادہ سے زیادہ فریم ریٹ کو ‎<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz پر محدود کرنے کو غیر فعال کریں۔"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"ہموار ڈسپلے"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"‏کچھ مواد کے لیے <xliff:g id="ID_1">%1$d</xliff:g> Hz تک ریفریش ریٹ خودکار طور پر بڑھ جاتی ہے۔ بیٹری کے استعمال میں کرتی اضافہ ہیں"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"زیادہ سے زیادہ ریفریش کی شرح پر مجبور کریں"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"اعلی ترین ریفریش کرنے کی بہتر شرح کے ليے ٹچ کی کارکردگی اور اینیمیشن کوالٹی۔ بیٹری کے استعمال میں اضافہ کرتا ہے۔"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"اسکرین پر توجہ"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"‏اسکرین پر توجہ کی خصوصیت یہ دیکھنے کے لیے سامنے والے کیمرے کا استعمال کرتی ہے کہ آیا کوئی اسکرین کو دیکھ تو نہیں رہا ہے۔ یہ آلہ پر کام کرتی ہے اور تصاویر کبھی بھی اسٹور نہیں کی جاتی ہیں اور نہ ہی Google کو بھیجی جاتی ہیں۔"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"اسکرین پر توجہ آن کریں"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"دیکھتے وقت اسکرین کو آن رکھیں"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"طویل اسکرین ٹائم آؤٹ زیادہ بیٹری استعمال کرے گا۔"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"کیمرا مقفل ہے"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"چہرے کی شناخت کیلئے کیمرا غیر مقفل ہونا ضروری ہے"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"اسکرین پر توجہ کے لیے کیمرا کو غیر مقفل کرنا ضروری ہے"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"‏IMEI (sim‎‎ سلاٹ <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)‎‎"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"‏IMEI (sim‎‎ سلاٹ <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>)‎‎ (بنیادی)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"دیکھنے کے لیے، محفوظ کردہ نیٹ ورک کا انتخاب کریں۔"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"‏PRL ورژن"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"بیٹری کی سطح"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"کمیونل"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"کمیونل ترتیبات"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"سٹلائٹ پیغام رسانی"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"رسائی کے مقام میں ترمیم کریں"</string>
+    <string name="apn_add" msgid="9069613192201630934">"رسائی پوائنٹ شامل کریں"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"سیٹ نہيں ہے"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"سیٹ نہیں ہے"</string>
     <string name="apn_name" msgid="6677695784108157953">"نام"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"‏APN فعال ہے"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"‏APN غیر فعال ہے"</string>
     <string name="bearer" msgid="3231443241639159358">"بیئرر"</string>
+    <string name="network_type" msgid="748590707422733595">"نیٹ ورک کی قسم"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"غیر متعین"</string>
     <string name="mvno_type" msgid="4734654257494971247">"‏MVNO قسم"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"‏MVNO قدر"</string>
     <string name="menu_delete" msgid="9199740901584348273">"‏APN کو حذف کریں"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"محفوظ کریں"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"منسوخ کریں"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"‏ڈپلیکیٹ APN اندراج۔"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"نام فیلڈ خالی نہیں رہ سکتی۔"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"‏APN خالی نہيں رہ سکتا۔"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"‏MCC فیلڈ میں لازمی طور پر 3 ہندسے ہونے چاہئیں۔"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"‏MNC فیلڈ میں لازمی طور پر 2 یا 3 ہندسے ہونے چاہئیں۔"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"‏کیریئر APNs کی قسم ‎%s‎ کو شامل کرنے کی اجازت نہیں دیتا ہے۔"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"‏MMSC فیلڈ کا درست ہونا ضروری ہے۔"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"‏ڈیفالٹ APN ترتیبات بحال ہو رہی ہیں۔"</string>
     <string name="menu_restore" msgid="4310539620115151551">"ڈیفالٹ پر دوبارہ ترتیب دیں"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"‏ڈیفالٹ APN ترتیبات کو دوبارہ ترتیب دینے کا عمل مکمل ہو گیا۔"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"ری سیٹ کریں"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"‏بلوٹوتھ اور Wi‑Fi کو ری سیٹ کر دیا گیا ہے"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"‏eSIMs مٹائیں"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"‏اس سے موبائل سروس کا کوئی بھی پلان منسوخ نہیں ہوگا۔ متبادل SIMs کو ڈاؤن لوڈ کرنے کے لیے، اپنے کیریئر سے رابطہ کریں۔"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"‏اس سے آپ کا موبائل سروس پلان منسوخ نہیں ہوگا۔ متبادل SIM حاصل کرنے کے لیے، اپنے کیریئر سے رابطہ کریں۔"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"ترتیبات ری سیٹ کریں"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"نیٹ ورک کی سبھی ترتیبات ری سیٹ کریں؟ آپ اس کارروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"‏نیٹ ورک کی تمام ترتیبات کو ری سیٹ کریں اور eSIMs کو مٹائیں؟ آپ اس کاروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"ری سیٹ کریں؟"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"اس صارف کیلئے نیٹ ورک کو دوبارہ ترتیب دینا دستیاب نہیں ہے"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"نیٹ ورک کی ترتیبات کو دوبارہ ترتیب دیا گیا ہے"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"‏SIMs کو نہیں مٹا سکتے"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"‏ایک خرابی کی وجہ سے eSIMs کو مٹایا نہیں جا سکتا ہے۔\n\nاپنا آلہ ری اسٹارٹ کریں اور دوبارہ کوشش کریں۔"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"‏eSIMs کو مٹایا نہیں کیا جا سکتا"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"‏کچھ غلط ہو گیا اور آپ کی eSIMs نہیں مٹائی گئیں۔\n\nاپنا آلہ ری سٹارٹ کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="main_clear_title" msgid="277664302144837723">"سبھی ڈیٹا کو حذف کریں (فیکٹری ری سیٹ)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"سبھی ڈیٹا کو حذف کریں (فیکٹری ری سیٹ)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"موسیقی"</li>\n<li>"تصاویر"</li>\n<li>"صارف کا دیگر ڈیٹا"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIMs"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"اس سے آپ کے موبائل سروس کا پلان منسوخ نہیں ہوگا۔"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"آپ کی سبھی ذاتی معلومات اور ڈاؤن لوڈ کردہ ایپس کو حذف کر دیا جائے گا۔ آپ اس کاروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"‏ڈاؤن لوڈ کردہ ایپس اور SIMs سمیت آپ کی سبھی ذاتی معلومات کو حذف کر دیا جائے گا۔ آپ اس کاروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"‏ڈاؤن لوڈ کردہ ایپس اور eSIMs سمیت آپ کی سبھی ذاتی معلومات کو حذف کر دیا جائے گا۔ آپ اس کاروائی کو کالعدم نہیں کر سکتے ہیں۔"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"سبھی ڈیٹا صاف کریں؟"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"اس صارف کیلئے فیکٹری ری سیٹ دستیاب نہیں ہے"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"صاف ہو رہا ہے"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"‏ہاٹ اسپاٹ، USB، بلوٹوتھ، ایتھرنیٹ"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"دیگر آلات کے ساتھ انٹرنیٹ کا اشتراک نہیں ہو رہا ہے"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"آف"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"ٹیدرنگ"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"‏Wi-Fi ہاٹ اسپاٹ کا استعمال نہ کریں"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"‏USB کے ذریعے صرف انٹرٹیٹ کا اشتراک کریں"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"بلوٹوتھ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"ایتھرنیٹ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"‏USB اور بلوٹوتھ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"‏USB اور ایتھرنیٹ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"بلوٹوتھ اور ایتھرنیٹ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"‏USB بلوٹوتھ اور ایتھرنیٹ کے ذریعے صرف انٹرنیٹ کا اشتراک کریں"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"‏USB ٹیدرنگ"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"بلوٹوتھ ٹیدرنگ"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"ایتھرنیٹ ٹیدرنگ"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"‏اپنے Wi‑Fi یا موبائل ڈیٹا کنکشن کے ذریعے دیگر آلات کو انٹرنیٹ فراہم کرنے کے لیے ہاٹ اسپاٹ اور ٹیدرنگ کا استعمال کریں۔ ایپس بھی قریبی آلات کے ساتھ مواد کا اشتراک کرنے کے لیے ایک ہاٹ اسپاٹ تخلیق کر سکتی ہیں۔"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"مدد"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"موبائل نیٹ ورک"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"موبائل پلان"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"‏SMS ایپ"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"‏SMS ایپ تبدیل کریں؟"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"‏اپنے SMS ایپ بطور <xliff:g id="CURRENT_APP">%2$s</xliff:g> کے بجائے <xliff:g id="NEW_APP">%1$s</xliff:g> کو استعمال کریں؟"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"‏Wi‑Fi اسسٹنٹ تبدیل کریں؟"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"اپنے نیٹ ورک کنکشنز کا نظم کرنے کیلئے <xliff:g id="CURRENT_APP">%2$s</xliff:g> کے بجائے <xliff:g id="NEW_APP">%1$s</xliff:g> کا استعمال کریں؟"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"اپنے نیٹ ورک کنکشنز کا نظم کرنے کیلئے <xliff:g id="NEW_APP">%s</xliff:g> کا استعمال کریں؟"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"‏نامعلوم SIM آپریٹر"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> کے پاس کوئی معلوم پرووژننگ ویب سائٹ نہیں ہے"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"‏براہ کرم SIM کارڈ داخل کرکے دوبارہ شروع کریں"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"براہ کرم انٹرنیٹ سے مربوط کریں"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"حالیہ مقام کی درخواستیں"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"دفتری پروفائل کیلئے مقام"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"ایپ کے لیے مقام کی اجازتیں"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"رسائی صاف کریں"</string>
     <string name="controls_label" msgid="8671492254263626383">"کنٹرولز"</string>
     <string name="force_stop" msgid="2681771622136916280">"زبردستی روکیں"</string>
+    <string name="archive" msgid="9074663845068632127">"آرکائیو کریں"</string>
+    <string name="restore" msgid="7622486640713967157">"بحال کریں"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"بحال کیا جا رہا ہے"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"بحال ہو رہی ہے۔"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"بحال ہو رہی ہے…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"بحال ہو رہا ہے…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"کُل"</string>
     <string name="application_size_label" msgid="6407051020651716729">"ایپ سائز"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"‏USB اسٹوریج ایپ"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"پیکیج سائز کا حساب نہیں لگایا جا سکا۔"</string>
     <string name="version_text" msgid="7628938665256107608">"ورژن <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"منتقل کریں"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"آرکائیو کرنے کا عمل ناکام ہو گیا"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"‫<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> آرکائیو کی گئی"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"بحالی ناکام ہو گئی"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> کو بحال کیا جا رہا ہے"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"ایک منتقلی پہلے سے پیشرفت میں ہے۔"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"اسٹوریج کی کافی جگہ نہیں ہے۔"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"ایپ موجود نہیں ہے۔"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"آن اسکرین کی بورڈ دستیاب ہے"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"آن اسکرین کی بورڈز کا نظم کریں"</string>
     <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="6922850403920596246">"فزیکل کی بورڈ ایکسیسبیلٹی کے لیے باؤنس کلیدوں کو فعال کریں"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"سلو کلیدیں"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"فزیکل کی بورڈ ایکسیسبیلٹی کے لیے سست کلیدیں فعال کریں"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"دبی رہنے والی کلیدیں"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"فزیکل کی بورڈ ایکسیسبیلٹی کے لیے دبی رہنے والی کلیدیں فعال کریں"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"مزید اختیارات کے لیے ٹچ پیڈ کے نیچے دائیں کونے پر تھپتھپائیں"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"پوائنٹر کی رفتار"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"ٹچ پیڈ کے اشارے کو جانیں"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"گھر جائیں"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"اپنے ٹچ پیڈ پر کہیں بھی تین انگلیوں سے اوپر کی طرف سوائپ کریں"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"واپس جائیں"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"استعمال کے وقت کے لحاظ سے ترتیب دیں"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"آخری بار استعمال کردہ کے لحاظ سے ترتیب دیں"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"ایپ کے نام کے لحاظ سے ترتیب دیں"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"آخری بار استعمال کردہ"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"آخری بار استعمال کردہ"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"کبھی نہیں"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"استعمال کا وقت"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"ایکسیسبیلٹی"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"ایکسیسبیلٹی ترتیبات"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"تین بار تھپتھپا کر بڑا کریں"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"شارٹ کٹ سے بڑا کریں"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"شارٹ کٹ اور تین بار تھپتھپانے سے بڑا کریں"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> کے بارے میں"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"کھولنے کے لیے ایکسیسبیلٹی بٹن کا استعمال کریں"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"کھولنے کے لیے والیوم کی کلیدوں کو دبائے رکھیں"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"کھولنے کے لیے اسکرین پر تین بار تھپتھپائیں"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"کھولنے کے لیے دو انگلیوں سے دو بار تھپتھپانے والی اسکرین"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"کھولنے کے لیے اشارہ استعمال کریں"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"ایکسیسبیلٹی اشارے کا استعمال کریں"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"یہ خصوصیت استعمال کرنے کیلئے، اپنی اسکرین کے سب سے نیچے<xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ایکسیسبیلٹی بٹن پر تھپتھپائیں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے ایکسیسبیلٹی بٹن کو ٹچ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"اس خصوصیت کا استعمال کرنے کے لیے، اپنی اسکرین پر ایکسیسبیلٹی بٹن پر تھپتھپائیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"یہ خصوصیت استعمال کرنے کیلئے، والیوم کی دونوں کلیدوں کو دبائے رکھیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"میگنیفکیشن شروع یا بند کرنے کے لیے، اپنی اسکرین پر کہیں بھی تین بار تھپتھپائیں۔"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"میگنیفکیشن شروع یا اسٹاپ کرنے کے لیے، اپنی اسکرین پر کہیں بھی دو انگلیوں سے دو بار تھپتھپائیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"یہ خصوصیت استعمال کرنے کیلئے، 2 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 2 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"یہ خصوصیت استعمال کرنے کیلئے، 3 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 3 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"ایکسیسبیلٹی خصوصیت استعمال کرنے کیلئے، 2 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 2 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"ایکسیسبیلٹی خصوصیت استعمال کرنے کیلئے، 3 انگلیوں سے اسکرین کے نیچے سے اوپر کی طرف سوائپ کریں۔\n\nخصوصیات کے درمیان سوئچ کرنے کے لیے، 3 انگلیوں سے اوپر کی طرف سوائپ کریں اور دبائے رکھیں۔"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"سمجھ آ گئی"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"ایکسیسبیلٹی بٹن کی ترتیبات"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"بٹن کی ترتیبات"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> شارٹ کٹ"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"ایکسیسبیلٹی بٹن"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"ایکسیسبیلٹی کا اشارہ"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"والیوم کی کلیدوں کو دبائیں رکھیں"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"والیوم کی کلیدوں کو دبائے رکھیں"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"والیوم کی دونوں کلیدوں کو دبائے رکھیں"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"دو انگلیوں سے دو بار تھپتھپانے والی اسکرین"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"دو انگلیوں سے دو بار تھپتھپانے والی اسکرین"</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="6863958573135995927">"اسکرین پر تین بار تھپتھپائیں"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"‏اسکرین پر فوری طور پر {‎0,number,integer} بار تھپتھپائیں۔ اس شارٹ کٹ سے آپ کا آلہ سست ہو سکتا ہے"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"ایکسیسبیلٹی بٹن اور اشارہ کے بارے میں مزید جانیں"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"ایکسیسبیلٹی بٹن کا استعمال کرنا۔ 3 بٹن والی نیویگیشن کے ساتھ اشارہ دستیاب نہیں ہوتا ہے۔"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"تیزی سے ایکسیسبیلٹی خصوصیات تک رسائی حاصل کریں"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"شروع کرنے کیلئے"</b>\n"1۔ ایکسیسبیلٹی کی ترتیبات پر جائیں\n2۔ کوئی خصوصیت منتخب کریں اور شارٹ کٹ پر تھپتھپائیں\n3۔ منتخب کریں کہ آیا آپ خصوصیت تک رسائی حاصل کرنے کیلئے بٹن یا اشارے کا استعمال کرنا چاہتے ہیں"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"شروع کرنے کے لیے"</b>\n"1۔ ایکسیسبیلٹی کی ترتیبات پر جائیں\n2۔ کوئی خصوصیت منتخب کریں اور شارٹ کٹ پر تھپتھپائیں\n3۔ خصوصیت تک رسائی حاصل کرنے کے لیے بٹن کا انتخاب کریں"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"‏&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"‏&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"بٹن یا اشارہ کا استعمال کریں"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"مقام"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"سائز"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"پاور بٹن سے کال ختم ہو جاتی ہے"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"بڑا ماؤس پوائنٹر"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"ماؤس پوائنٹر کو زیادہ قابل توجہ بنائیں"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"سبھی ایپس کو گہری بنائیں"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"بغیر گہری تھیم والی ایپس پر اطلاق ہوتا ہے۔ کچھ ایپس میں ڈسپلے کے مسائل ہو سکتے ہیں، جیسے الٹے رنگ۔"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"اینیمیشنز ہٹائیں"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"اسکرین پر حرکت کو کم کریں"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"مونو آڈیو"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"وائبریشن اور ہیپٹکس استعمال کریں"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"الارم وائبریشن"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"میڈیا وائبریشن"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"کی بورڈ وائبریشن"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"رنگ وائبریشن"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"اطلاع وائبریشن"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"ٹچ تاثرات"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"روکیں"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"منسوخ کریں"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> روکیں؟"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="STOP">%1$s</xliff:g> پر تھپتھپانے سے <xliff:g id="SERVICE">%2$s</xliff:g> اسٹاپ ہو جائے گی۔"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"آف کریں"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"آن رکھیں"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> آف کریں؟"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"کوئی سروسز انسٹال کردہ نہيں ہیں"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"کوئی سروس منتخب نہیں ہے"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"کوئی تفصیل فراہم نہيں کی گئی۔"</string>
     <string name="settings_button" msgid="2195468788019730377">"ترتیبات"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"لائٹ کی حساسیت، فوٹو فوبیا، گہری تھیم، آدھے سر کا درد، پڑھنے کا موڈ، نائٹ موڈ، چمک کو کم کریں، سفید پوائنٹ"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"استعمال میں آسان، رسائی حاصل کرنے میں آسان، معاون، مددگار"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"بصارت، سماعت، اندھا، بہرا، موٹر، مہارت، معاون، مدد، استعمال میں آسانی، رسائی میں آسانی، ہاتھ، مدد"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"ونڈو میگنیفائر، زوم، میگنیفکیشن، کم وژن، بڑا کرنا، سائز بڑھانا"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"کیپشنز، سب ٹائٹلز، سب ٹائٹلز، لائیو ٹرانسکرائب، اونچا سننے والا، سننے میں دشواری، کارٹ، اسپیچ ٹو ٹیکسٹ، ذیلی عنوان"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"رنگ کنٹراسٹ"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"اعصاب کی حرکی سرگرمی سے متعلق مہارتیں، ماؤس"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"سماعتی آلات، اونچا سننے والا، سننے میں دشواری، کوکلیئر امپلانٹس، ایمپلیفیکیشن آلات، ساؤنڈ پروسیسرز"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"موٹر، ماؤس، بیرونی ماؤس، ہیڈ ماؤس، اڈاپٹیو ماؤس، وہیل چیئر، جوائے اسٹک"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"‏سماعتی آلات، اونچا سننے والا، سننے میں دشواری، کوکلیئر امپلانٹس، ایمپلیفیکیشن آلات، ساؤنڈ پروسیسرز، PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"اونچا سننے والا، سننے میں دشواری، کیپشنز، ٹیلی ٹائپ، ٹیلی ٹائپ رائٹر"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"تین بٹنز"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"مہارت، موٹر، سینئر، وجمع المفاصل، آر ایس آئی، اسٹروک، رَعشہ، مضاعفِ تصلب، دماغی فالج، ارتعاش، بار بار اعصاب کی کھچھاؤ، ہاتھ"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"تاخیر، مہارت، سینئر"</string>
     <string name="print_settings" msgid="8519810615863882491">"پرنٹنگ"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"آف"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 پرنٹ سروس آن ہے}other{# پرنٹ سروسز آن ہیں}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> باقی"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> چارج کرنے کیلئے"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"اسکرین کا وقت"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"پس منظر کا وقت"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"بیٹری کم ہے"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"ایپ کو پس منظر میں چلنے کی اجازت دیں"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"پس منظر کی سرگرمی کو محدود کریں؟"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"اگر آپ کسی ایپ کی پس منظر کی سرگرمی کو محدود کرتے ہیں تو یہ غلط برتاؤ کر سکتی ہے"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"چونکہ یہ ایپ بیٹری کی کارکردگی کو بہتر بنانے کیلئے نہیں ہے، لہذا آپ اسے محدود نہیں کر سکتے ہیں۔\n\nایپ کو محدود کرنے کیلئے، پہلے بیٹری کی کارکردگی کو بہتر بنانے کو آن کریں۔"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"بیٹری کے استعمال کا نظم کریں"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"پس منظر کے استعمال کی اجازت دیں"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"ریئل ٹائم اپ ڈیٹس کے لیے فعال کریں، بیٹری بچانے کے لیے غیر فعال کریں"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"(پابندی کے بغیر)"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"بہتر کردہ"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"محدود کردہ"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"سب سے زیادہ بیٹری استعمال کرنے والی ایپس دیکھیں"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"آپ کی بیٹری کی حفاظت کے لیے چارجنگ کو بہتر بنایا گیا"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"آپ کی بیٹری کی عمر بڑھانے میں مدد کے لیے چارجنگ کو بہتر بنایا گیا"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"آپ کی بیٹری کی حفاظت کے لیے چارجنگ کو بہتر بنایا گیا"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"آپ کی بیٹری کی عمر بڑھانے میں مدد کے لیے ڈاک ہونے کے دوران چارجنگ کو بہتر بنایا گیا"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"آپ کی بیٹری کی حفاظت کے لیے چارجنگ کو بہتر بنایا گیا"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"آپ کی بیٹری کی عمر بڑھانے میں مدد کے لیے ڈاک ہونے کے دوران چارجنگ کو بہتر بنایا گیا"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"مکمل چارج کرنا"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"آپ کی بیٹری کی حفاظت کرنے کے لیے، اگلی بار آپ کے ٹیبلیٹ کے ڈاک ہونے پر چارجنگ کو بہتر بنایا جائے گا"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"چارجنگ کے موقوف ہونے سے متعلق مزید جانیں"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"چارج کرنا دوبارہ شروع کریں"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"اس میں زیادہ پاور والی پس منظر کی سرگرمی شامل ہے"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"یہ ایپ پس منظر میں بیٹری استعمال کر سکے گی۔ آپ کی بیٹری توقع سے پہلے ختم ہو سکتی ہے۔"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"ہٹائیں"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"منسوخ کریں"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"مکمل چارج کریں"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"چارجنگ ایکسیسری کے ساتھ مسئلہ"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"چارجنگ ایکسیسری چیک کریں"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"غیر موافق چارجنگ کے بارے میں مزید جانیں"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"بیٹری مینیجر"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"خودکار طور پر ایپس کا نظم کریں"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"پچھلے مکمل چارج کے بعد سے"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"سسٹم ایپس"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"غیر انسٹال کردہ ایپس"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"دیگر"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"باقی تخمینی وقت"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"پوری طرح چارج ہونے تک"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"کُل: ایک منٹ سے کم"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"پس منظر: ایک منٹ سے کم"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"اسکرین کا وقت: ایک منٹ سے کم"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"ایک منٹ سے کم"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"کُل: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"پس منظر: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"اسکرین کا وقت: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"ابھی"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"بیٹری کے استعمال کا چارٹ"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"یومیہ بیٹری کے استعمال کا چارٹ"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"فی گھنٹہ بیٹری کے استعمال کا چارٹ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> سے <xliff:g id="END_PERCENTAGE">%2$s</xliff:g> تک بیٹری لیول کا فیصد"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"پچھلے مکمل چارج کے بعد سے بیٹری کا استعمال"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"‫<xliff:g id="SLOT">%s</xliff:g> کے لیے بیٹری کا استعمال"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"پچھلے مکمل بیٹری چارج کے بعد سے اسکرین کا وقت"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"ایمرجنسی ڈائلنگ سگنل"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"ایمرجنسی کال کرتے وقت برتاؤ سیٹ کریں"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"بیک اپ"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"آن"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"آف"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"بیک اپ لیں اور بحال کریں"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"ذاتی ڈیٹا"</string>
     <string name="backup_data_title" msgid="507663517227498525">"میرے ڈیٹا کا بیک اپ لیں"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"‏موبائل ڈیٹا اور Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"ذاتی ڈیٹا آٹو سنک کریں"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"دفتری ڈیٹا آٹو سنک کریں"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"نجی ڈیٹا کو خود بخود سینک کریں"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"سائیکل تبدیل کریں…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"ڈیٹا کے استعمال کو دوبارہ ترتیب دینے کیلئے مہینے کا دن:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"اس وقفہ میں کسی ایپ نے ڈیٹا استعمال نہيں کیا۔"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"نام"</string>
     <string name="vpn_type" msgid="5533202873260826663">"قسم"</string>
     <string name="vpn_server" msgid="2908816134941973935">"سرور کا پتہ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"‏PPP مرموز کاری (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"‏L2TP راز"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"‏IPSec شناخت کنندہ"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"‏IPSec پہلے سے اشتراک کردہ کلید"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"‏IPSec صارف سرٹیفیکیٹ"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"‏IPSec CA سرٹیفیکیٹ"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"‏IPSec سرور سرٹیفیکیٹ"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"جدید ترین اختیارات دکھائیں"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"‏DNS تلاش ڈومینز"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"‏DNS سرورز (مثلاً 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"فارورڈنگ روٹس (مثلاً 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"صارف نام"</string>
     <string name="vpn_password" msgid="1183746907642628127">"پاس ورڈ"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"اکاؤنٹ کی معلومات کو محفوظ کریں"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(استعمال نہیں ہوا)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(سرور کی توثیق نہ کریں)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(سرور سے موصول ہوا)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"‏اس قسم کا VPN ہر وقت منسلک نہیں رہ سکتا"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"‏ہمیشہ آن VPN صرف عددی سرور کے پتوں کو سپورٹ کرتا ہے"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"‏ہمیشہ آن VPN کیلئے DNS سرور کا تعین ہونا ضروری ہے"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"‏ہمیشہ آن VPN کیلئے DNS سرور پتوں کا عددی ہونا ضروری ہے"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"‏درج شدہ معلومات ہمیشہ آن VPN کو سپورٹ نہیں کرتی ہیں"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"منسوخ کریں"</string>
     <string name="vpn_done" msgid="5137858784289564985">"برخاست کریں"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"‏بنا VPN والے کنکشنز کو مسدود کریں"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"‏VPN کنکشن درکار ہے؟"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"‏محفوظ نہیں ہے۔ IKEv2 VPN میں اپ ڈیٹ کریں"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"‏غیر تعاون یافتہ VPN شروع کرنے میں ناکام۔"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"‏ہمیشہ مربوط رہنے کیلئے ایک VPN پروفائل منتخب کریں۔ صرف اس VPN سے مربوط ہونے پر ہی نیٹ ورک ٹریفک کی اجازت ہو گی۔"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"کوئی نہیں"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"‏ہمیشہ آن VPN کو سرور اور DNS دونوں کیلئے ایک IP پتہ کی ضرورت ہے۔"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"‏AMBER الرٹس"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"بچوں کے اغوا کے بارے میں بلیٹنز وصول کریں"</string>
     <string name="repeat_title" msgid="8676570486899483606">"دہرائیں"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"کال مینیجر فعال کریں"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"اس سروس کو اپنی کالز کیے جانے کے طریقے کا نظم کرنے کی اجازت دیں۔"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"کال مینیجر"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"وائرلیس ایمرجنسی الرٹس"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"نیٹ ورک آپریٹرز"</string>
     <string name="access_point_names" msgid="5768430498022188057">"رسائی کی جگہ کا نام"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"‏SIM کا اسٹیٹس"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"‏SIM اسٹیٹس (sim سلاٹ ‎%1$d)‎"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"‎<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"‏SIMs کو تبدیل کر دیا گیا۔"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"‏آپ کے SIMs تبدیل ہو گئے"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"سیٹ اپ کرنے کیلئے تھپتھپائیں"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"ہر بار پوچھیں"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"انتخاب درکار ہے"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"حالیہ ایپس، ڈیفالٹ ایپس"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"دفتری پروفائل میں ایپس کو اطلاع تک رسائی حاصل نہیں ہے۔"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"پاس ورڈز اور اکاؤنٹس"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"محفوظ کردہ پاس ورڈز، آٹو فل، سنک کردہ اکاؤنٹس"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"سائن ان اور آٹوفل کے لیے تجاویز"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"ڈیفالٹ ایپس"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"کلون کردہ ایپس"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"ایک ایپ کی دوسری مثال بنائیں تاکہ آپ بیک وقت دو اکاؤنٹس استعمال کر سکیں۔"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"والٹ"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"ادائیگی کریں، تھپتھپائیں، ادائیگیاں"</string>
     <string name="keywords_backup" msgid="707735920706667685">"بیک اپ، بیک اپ لیں"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"اشارہ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"فیس، اَنلاک، اجازت دینا، سائن ان"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"چہرہ، غیر مقفل، توثیق، سائن ان، فنگر پرنٹ، بایومیٹرک"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"‏imei, meid, min, prl ورژن، imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"ٹیکسٹ کا سائز، بڑا پرنٹ، بڑا فونٹ، بڑا ٹیکسٹ، کم وژن، ٹیکسٹ کو بڑا کرنا، فونٹ کو بڑا کرنے والا ٹول، فونٹ بڑا کرنا"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"‏ہمیشہ آن ایمبیئنٹ ڈسپلے، AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"‏nfc، ٹیگ، ریڈر"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"کی بورڈ، ہیپٹکس، وائبریٹ،"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"والیوم، ارتعاش، ڈسٹرب نہ کریں"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"میڈیا والیوم"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"والیوم کاسٹ کریں"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"آوازیں آن کریں"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"لائیو کیپشن"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"خودکار طور پر میڈیا پر کیپشن لگائیں"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"فون کے اسپیکرز"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"ٹیبلیٹ کے اسپیکرز"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"آلے کے اسپیکرز"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"تار والے ہیڈ فونز"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"موافق میڈیا سے آڈیو کا مزید دلچسپ تجربہ فراہم ہوتا ہے"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"آف ہے"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"سبھی اطلاعی مواد دکھائیں"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"غیر مقفل ہونے پر صرف حساس مواد دکھائیں"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"اطلاعات بالکل بھی نہ دکھائیں"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"آپ کس طرح مقفل اسکرین کو ڈسپلے کرنا چاہتے ہیں؟"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"آپ اپنی مقفل اسکرین کو کیا دکھانا چاہتے ہیں؟"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"مقفل اسکرین"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"تمام دفتری اطلاعی مواد دکھائیں"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"دفتر کا حساس مواد چھپائیں"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"حالیہ گفتگوئیں ہٹا دی گئیں"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"گفتگو ہٹا دی گئی"</string>
     <string name="clear" msgid="5092178335409471100">"صاف کریں"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g> مٹائیں"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"ترجیحی اور ترمیم شدہ گفتگوئیں یہاں ظاہر ہوں گی"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"ایک بار جب آپ کسی گفتگو کو بطور ترجیحی نشان زد کرتے ہیں یا گفتگوؤں میں کوئی دوسری تبدیلی کرتے ہیں تو وہ یہاں ظاہر ہوں گی۔ \n\n گفتگو کی ترتیبات کو تبدیل کرنے کے ليے: \nپُل ڈاؤن شیڈ کھولنے کے ليے اسکرین کے اوپری حصے سے نیچے کی طرف سوائپ کریں پھر گفتگو کو ٹچ کریں اور دبائے رکھیں۔"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"کم کریں"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"نوٹیفکیشن کول ڈاؤن"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"تمام اطلاعات پر کولڈاؤن کا اطلاق کریں"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"جب آپ کو ایک ہی ایپ سے پے در پے کئی اطلاعات موصول ہوتی ہیں تو نوٹیفکیشن والیوم کو بتدریج کم کریں"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"گفتگوؤں پر کولڈاؤن کا اطلاق کریں"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"جب آپ کو ایک ہی چیٹ سے تھوڑے ہی عرصے میں بہت سے پیغامات موصول ہوتے ہیں تو نوٹیفکیشن والیوم کو بتدریج کم کریں"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"نوٹیفکیشن کولڈاؤن کا استعمال نہ کریں"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"اس سے قطع نظر کہ ایک ہی ایپ سے پے درپے اطلاعات کی مقدار کتنی بھی ہو، نوٹیفکیشن والیوم کو کبھی کم نہ کریں"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"غیر مقفل ہونے پر وائبریٹ کریں"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"صرف اسکرین کے غیر مقفل ہونے پر وائبریٹ کریں"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"دفتری پروفائلز پر لاگو کریں"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"نوٹیفکیشن کولڈاؤن کی ترتیبات کو اپنی ذاتی پروفائل سے اپنی دفتری پروفائل پر لاگو کریں"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"‏VR مددگار سروسز"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"‏کسی انسٹال کردہ ایپ نے VR مددگار سروسز کے طور پر چلائے جانے کی درخواست نہیں کی ہے۔"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"‏<xliff:g id="SERVICE">%1$s</xliff:g> کیلئے VR سروس کی رسائی کی اجازت دیں؟"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"آف ہے"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"ایپ کو پن کرنا"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"ایپ کو پن کرنے سے آپ کو حالیہ ایپ سے پن ہٹانے تک اسے منظر میں رکھنے کی اجازت ہوتی ہیں۔ اس خصوصیت کا استعمال کیا جا سکتا ہے مثال کے طور پر، کسی بھروسے مند دوست کو ایک مخصوص گیم کھیلنے کی اجازت دینا۔"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"کسی ایپ کو پن کرنے پر پن کردہ ایپ دیگر ایپس کو کھول سکتی ہے اور ذاتی ڈیٹا قابل رسائی ہو سکتا ہے۔ \n\nایپ کو پن کرنا استعمال کرنے کے لیے: \n1۔ ایپ کو پن کرنا آن کریں \n2۔ مجموعی جائزہ کھولیں \n3۔ اسکرین کے اوپری حصے پر ایپ آئیکن پر تھپتھپائیں پھر \'پن کریں\' پر تھپتھپائیں"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"کسی ایپ کو پن کرنے پر پن کردہ ایپ دیگر ایپس کو کھول سکتی ہے اور ذاتی ڈیٹا قابل رسائی ہو سکتا ہے۔ \n\nاگر آپ محفوظ طریقے سے اپنے آلے کا کسی کے ساتھ اشتراک کرنا چاہتے ہیں تو اس کے بجائے مہمان صارف استعمال کر کے آزمائیں۔ \n\nایپ کو پن کرنا استعمال کرنے کے ليے: \n1۔ ایپ کو پن کرنا آن کریں \n2۔ مجموعی جائزہ کھولیں \n3۔ اسکرین کے اوپری حصے پر ایپ آئیکن پر تھپتھپائیں پھر \'پن کریں\' پر تھپتھپائیں"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"‏کسی ایپ کو پن کرنے پر پن کردہ ایپ دیگر ایپس کو کھول سکتی ہے اور ذاتی ڈیٹا قابل رسائی ہو سکتا ہے۔ \n\nایپ کو پن کرنا استعمال کرنے کے لیے: 	\n{0,number,integer}۔ ایپ کو پن کرنا آن کریں 	\n{1,number,integer}۔ مجموعی جائزہ کھولیں 	\n{2,number,integer}۔ اسکرین کے اوپری حصے پر ایپ آئیکن پر تھپتھپائیں پھر \'پن کریں\' پر تھپتھپائیں"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"‏کسی ایپ کو پن کرنے پر پن کردہ ایپ دیگر ایپس کو کھول سکتی ہے اور ذاتی ڈیٹا قابل رسائی ہو سکتا ہے۔ \n\nاگر آپ محفوظ طریقے سے اپنے آلے کا کسی کے ساتھ اشتراک کرنا چاہتے ہیں تو اس کے بجائے مہمان صارف استعمال کر کے آزمائیں۔ \n\nایپ کو پن کرنا استعمال کرنے کے لیے: 	\n{0,number,integer}۔ ایپ کو پن کرنا آن کریں 	\n{1,number,integer}۔ مجموعی جائزہ کھولیں 	\n{2,number,integer}۔ اسکرین کے اوپری حصے پر ایپ آئیکن پر تھپتھپائیں پھر \'پن کریں\' پر تھپتھپائیں"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"جب ایپ کو پن کر دیا جاتا ہے: \n\n• ذاتی ڈیٹا قابل رسائی ہوسکتا ہے \n (جیسے رابطے اور ای میل کا مواد) \n• پن کردہ ایپ دیگر ایپس کو کھول سکتی ہے \n\nصرف ان لوگوں کے ساتھ ایپ کو پن کرنا استعمال کریں جن پر آپ کو بھروسہ ہے۔"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"پن ہٹانے سے پہلے غیر مقفل کرنے کا پیٹرن طلب کریں"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"‏پن ہٹانے سے پہلے PIN طلب کریں"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"پن ہٹانے سے پہلے پاس ورڈ طلب کریں"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"پن ہٹاتے وقت آلہ کو مقفل کریں"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"‏SIM کو حذف کرنے کی تصدیق کریں"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"‏تصدیق کریں کہ آپ اپنے eSIM کو مٹانا چاہتے ہیں"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"‏eSIM کو مٹانے سے پہلے توثیق کریں کہ یہ آپ ہی ہیں"</string>
     <string name="memtag_title" msgid="5096176296797727201">"اعلی میموری پروٹیکشن بی ٹا"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"اعلی میموری پروٹیکشن"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"غیر استعمال شدہ ایپ کی ترتیبات"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"غیر استعمال شدہ ہو تو ایپ سرگرمی روکیں"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"اجازتیں ہٹائیں، عارضی فائلز حذف کریں اور اطلاعات موقوف کریں"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"اگر غیر استعمال شدہ ہے تو ایپ کا نظم کریں"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"اجازتیں ہٹائیں، عارضی فائلوں کو حذف کریں، اطلاعات کو روکیں اور ایپ کو آرکائیو کریں"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"سبھی ایپس"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"انسٹال کردہ ایپس"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"فوری ایپس"</string>
@@ -3655,7 +3841,7 @@
     <string name="usb_summary_MIDI_power" msgid="1184681982025435815">"‏MIDI اور بجلی کی فراہمی"</string>
     <string name="usb_summary_UVC_power" msgid="226810354412154061">"ویب کیم اور سپلائی پاور"</string>
     <string name="background_check_pref" msgid="5304564658578987535">"پس منظر کی جانچ"</string>
-    <string name="assist_access_context_title" msgid="5201495523514096201">"سکرین سے متن استعمال کریں"</string>
+    <string name="assist_access_context_title" msgid="5201495523514096201">"اسکرین سے ٹیکسٹ استعمال کریں"</string>
     <string name="assist_access_context_summary" msgid="6951814413185646275">"معاون ایپ کو سکرین مشمولات تک بطور متن رسائی کرنے کی اجازت دیں"</string>
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"اسکرین شاٹ استعمال کریں"</string>
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"معاون ایپ کو اسکرین کی ایک تصویر تک رسائی کرنے کی اجازت دیں"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"خالی"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"ایپس کی جانب سے استعمال کردہ میموری"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 ایپ نے آخری {time} میں میموری کا استعمال کیا}other{# ایپس نے آخری {time} میں میموری کا استعمال کیا}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"میموری کے استعمال کی پروفائلنگ فعال کریں"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"میموری کے استعمال کی پروفائلنگ کے لیے سسٹم کے اضافی وسائل کی ضرورت ہوتی ہے۔"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"میموری کی پروفائلنگ کو غیر فعال کر دیا گیا"</string>
     <string name="running_frequency" msgid="7260225121706316639">"فریکوئنسی"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"زیادہ سے زیادہ استعمال"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"کوئی ڈیٹا استعمال نہیں ہوا"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"دیگر ایپس پر ڈسپلے کریں"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"دیگر ایپس پر ڈسپلے کی اجازت دیں"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"اپنی زیر استعمال دیگر ایپس کے اوپر اس ایپ کو ڈسپلے ہونے کی اجازت دیں۔ یہ ایپ دیکھ سکتی ہے جہاں آپ تھپتھپاتے ہیں یا اسکرین پر دکھائے جانے والی چیزوں کو تبدیل کر سکتی ہے۔"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"میڈیا آؤٹ پٹ کو تبدیل کریں"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"ایپ کو میڈیا آؤٹ پٹ سوئچ کرنے کی اجازت دیں"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"اس ایپ کو یہ منتخب کرنے کی اجازت دیں کہ کون سا منسلک آلہ دوسری ایپس سے آڈیو یا ویڈیو چلائے۔ اجازت دینے پر، یہ ایپ دستیاب آلات کی فہرست تک رسائی حاصل کر سکتی ہے جیسے کہ ہیڈ فونز اور اسپیکرز اور منتخب کر سکتی ہے کہ کون سا آؤٹ پٹ آلہ آڈیو یا ویڈیو کو کی سلسلہ بند کرنے یا کاسٹ کرنے کے لیے استعمال کیا جائے۔"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"سبھی فائلز کی رسائی"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"سبھی فائلز کا نظم کرنے کیلئے رسائی کی اجازت دیں"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"اس ایپ کو اس آلہ یا کسی منسلک اسٹوریج والیوم کی تمام فائلز کو پڑھنے، اس میں ترمیم کرنے اور حذف کرنے کی اجازت دیں۔ اگر اجازت دی گئی تو ایپ آپ کو بتائے بغیر فائلز تک رسائی حاصل کر سکتی ہے۔"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"سبھی فائلز تک رسائی حاصل کی جا سکتی ہے"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"آواز کی فعالیت کی ایپس"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"آواز کی فعالیت کی اجازت دیں"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"آواز کی فعالیت صوتی کمانڈ کا استعمال کر کے منظور شدہ ایپس، ہینڈز فری کو آن کرتی ہے۔ بلٹ ان اڈاپٹیو سینسنگ یقینی بناتی ہے کہ ڈیٹا صرف آپ کے لیے نجی رہے۔\n\n"<a href="">"محفوظ اڈاپٹیو سینسنگ کے بارے میں مزید"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"پوری اسکرین کی اطلاعات"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"اس ایپ سے پوری اسکرین کی اطلاعات کی اجازت دیں"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"اس ایپ کو وہ اطلاعات دکھانے کی اجازت دیں جو آلے کے مقفل ہونے پر پوری اسکرین پر ظاہر ہوتی ہیں۔ ایپس ان کا استعمال الارمز، اِن کمنگ کالز یا دیگر فوری اطلاعات کو نمایاں کرنے کے لیے کر سکتی ہیں۔"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> ڈیٹا وارننگ"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> ڈیٹا کی حد"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> ڈیٹا وارننگ / <xliff:g id="ID_2">^2</xliff:g> ڈیٹا کی حد"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"کیریئر ڈیٹا کا حساب آپ کے آلہ کے حساب سے مختلف ہو سکتا ہے"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"کیریئر نیٹ ورکس کے ذریعے استعمال کردہ ڈیٹا شامل نہیں ہے"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> استعمال ہوا"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"ڈیٹا وارننگ سیٹ کریں"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> پہلے اپ ڈیٹ کیا گيا"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> نے ابھی ابھی اپ ڈیٹ کیا"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"ابھی ابھی اپ ڈیٹ کیا گيا"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"پلان دیکھیں"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"تفاصیل دیکھیں"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"ڈیٹا سیور"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"غیر محدود ڈیٹا"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> نے پس منظر میں رہتے ہوئے معمول سے زیادہ بیٹری استعمال کی"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> نے پیش منظر میں رہتے ہوئے زیادہ بیٹری استعمال کی"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> نے پیش منظر میں رہتے ہوئے معمول سے زیادہ بیٹری استعمال کی"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"بیٹری کا غیر معمولی استعمال"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"بیٹری کا زیادہ استعمال"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"پس منظر میں بیٹری کا زیادہ استعمال"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"پیش منظر میں بیٹری کا زیادہ استعمال"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"فوری ترتیبات کے ڈویلپر ٹائلز"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"‏adb اجازت دہندگی کے ٹائم آؤٹ کو غیر فعال کریں"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"‏ان سسٹمز کے لیے adb کی اجازت دہندگیوں کی منسوخی کو خود کار طور پر غیر فعال کریں جو ڈیفالٹ (7 دن) یا صارف کے ترتیب کردہ (کم از کم 1 دن) وقت کی تعداد کے اندر دوبارہ منسلک نہیں ہوئی۔"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"‏Winscope ٹریس"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"سینسرز آف ہیں"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"دفتری پروفائل کی ترتیبات"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"ذاتی ایپس میں دفتری ڈائریکٹری کے رابطے تلاش کریں"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"سسٹم نیویگیشن، 2 بٹن والی نیویگیشن، 3 بٹن والی نیویگیشن، اشاروں والی نیویگیشن، سوائپ"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"ڈیجیٹل اسسٹنٹ"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"اسسٹنٹ کو طلب کرنے کے لیے سوائپ کریں"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"ڈیجیٹل اسسٹنٹ ایپ کو طلب کرنے کے لیے نچلے کونے سے اوپر سوائپ کریں۔"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"ڈیجیٹل اسسٹنٹ ایپ کو طلب کرنے کے لیے نچلے کونے سے اوپر سوائپ کریں"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"اسسٹنٹ کے لیے ہوم بٹن کو دبائے رکھیں"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"ڈیجیٹل اسسٹنٹ ایپ کو شروع کرنے کے لیے ہوم بٹن کو چھوئیں اور دبائے رکھیں۔"</string>
     <string name="low_label" msgid="6525629096999711220">"کم"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"آٹو فل سروس"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"ڈیفالٹ آٹو فِل سروس"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"پاس ورڈز"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"پاس ورڈز، پاس کیز اور ڈیٹا سروسز"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"اضافی فراہم کنندگان"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"ترجیحی سروس"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"اضافی سروسز"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# پاس ورڈ}other{# پاس ورڈز}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"خودکار، فل، آٹو فل، پاس ورڈ"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"ڈیٹا، پاس کی، پاس ورڈ"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"آٹو، فل، آٹو فل، ڈیٹا، پاس کی، پاس ورڈ"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"تبدیل کریں"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"کھولیں"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"کوئی منتخب نہیں کیا گیا"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"‏&lt;b&gt;یہ یقینی بنائیں کہ آپ کو اس ایپ پر اعتماد ہے&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;‫%1$s&lt;/xliff:g&gt; آٹو فل کی جا سکنے والی چیزوں کی تعیین کیلئے آپ کی اسکرین پر موجود چیزوں کو استعمال کرتا ہے۔"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"‏&lt;b&gt;استعمال کریں &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; آپ کی اسکرین پر موجود چیزوں کا استعمال کرتا ہے تاکہ یہ تعین کیا جا سکے کہ کیا آٹو فل ہو سکتا ہے۔ نئے پاس ورڈز، نئی پاس کیز اور دیگر نئی معلومات آئندہ سے یہاں محفوظ کی جائیں گی۔"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"پاس ورڈز، پاس کیز اور ڈیٹا سروسز"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"‏‎&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; نئے پاس ورڈز، پاس کیز اور دیگر معلومات اب سے یہاں محفوظ کی جائیں گی۔ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; آپ کی اسکرین پر موجود چیزوں کا استعمال کر سکتا ہے تاکہ یہ تعین کیا جا سکے کہ کیا آٹو فل ہو سکتا ہے۔"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"پاس ورڈز، پاس کیز اور آٹو فل کے لیے ترجیحی سروس"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"‏%1$s کو آف کریں؟"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"‏&lt;b&gt;یہ سروس آف کریں؟&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; جب آپ سائن ان کرتے ہیں تو محفوظ کردہ معلومات جیسے پاس ورڈ، پاس کیز، ادائیگی کے طریقے اور دیگر معلومات کو پُر نہیں کیا جائے گا۔ اپنی محفوظ کردہ معلومات کو استعمال کرنے کے لیے، پاس ورڈ، پاس کی، یا ڈیٹا سروس کا انتخاب کریں۔"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"پاس ورڈز، پاس کیز اور آٹوفل"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"‏&lt;b&gt;Turn off all services?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; آپ کے سائن ان کرنے پر پاس ورڈز، پاس کیز اور دیگر محفوظ کردہ معلومات آٹو فل کے لیے دستیاب نہیں ہوں گی"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"‏&lt;b&gt;اپنی ترجیحی سروس کو &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; میں تبدیل کریں، نئے پاس ورڈز، پاس کیز اور دیگر معلومات اب سے یہاں محفوظ کی جائیں گی۔ &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; آپ کی اسکرین پر موجود چیزوں کا استعمال کر سکتا ہے تاکہ یہ تعین کیا جا سکے کہ کیا آٹو فل ہو سکتا ہے"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"‏%1$s کا استعمال کرنا ہے؟"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"آف کریں"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"تبدیل کریں"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"آپ صرف 5 سروسز آن کر سکتے ہیں"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"دوسری سروس شامل کرنے کے لیے کم از کم 1 سروس آف کریں"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"‏%1$s آپ کی اسکرین پر موجود چیزوں کا استعمال یہ تعین کرنے کے لیے کرتا ہے کہ کیا آٹو فل کیا جا سکتا ہے۔"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"پاس ورڈز، پاس کیز اور ڈیٹا سروسز کی حد"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"آپ ایک وقت میں 5 پاس ورڈز، پاس کیز اور ڈیٹا سروسز فعال رکھ سکتے ہیں۔ مزید شامل کرنے کے لیے سروس کو آف کریں۔"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"پاس ورڈز، پاس کیز اور ڈیٹا سروسز کی حد"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"آپ ایک وقت میں 5 پاس ورڈز، پاس کیز اور ڈیٹا سروسز فعال رکھ سکتے ہیں۔ مزید شامل کرنے کے لیے سروس کو آف کریں۔"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"آف کریں"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"آٹو فل"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"لاگنگ کی سطح"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"ایپ کی موافقت کی تبدیلیاں صرف قابل ڈیبگ اپپس کے لیے ہی ترمیم کی جا سکتی ہیں۔ قابل ڈیبگ ایپ انسٹال کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"دوسری ترتیب پر منحصر ہے"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"اکاؤنٹ"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"‏‎%d اکاؤنٹس"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"آلے کا نام"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"بنیادی معلومات"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"قانونی اور ریگولیٹری"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"‏NFC ٹیگ اسکین ہونے پر اس ایپ کو شروع ہونے کی اجازت دیں۔\nاگر یہ اجازت آن ہوتی ہے تو ٹیگ کا پتا چلنے پر ایپ ایک اختیار کے طور پر دستیاب ہوگی۔"</string>
     <string name="media_output_title" msgid="8283629315159510680">"اس پر میڈیا چلائیں"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"‫<xliff:g id="LABEL">%s</xliff:g> اس پر چلائیں"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"آڈیو چلتی رہے گی"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"یہ آلہ"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"کالز کے دوران غیر دستیاب"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"اس کے ذریعے کال موصول کریں"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"خاموش کریں"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"فعال کرنے کے لیے، پہلے \"پاور بٹن کو چھوئیں اور دبائے رکھیں\" کو پاور مینیو میں تبدیل کریں۔"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"نیٹ ورک کی تفصیلات"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"‏آپ کے آلے کا نام آپ کے فون پر موجود ایپس میں دکھائی دیتا ہے۔ آپ کے بلوٹوتھ آلات سے منسلک ہونے، Wi-Fi نیٹ ورک سے منسلک ہونے یا Wi-Fi ہاٹ اسپاٹ کو سیٹ اپ کرنے پر دوسرے لوگ بھی اسے دیکھ سکتے ہیں۔"</string>
     <string name="devices_title" msgid="649715719278562515">"آلات"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"نیٹ ورک کا انتخاب کریں"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"غیر منسلک"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"نام"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"(موافق ایپس کے ذریعے استعمال کردہ) رنگ"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"محفوظ کریں"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"‏SIM کا استعمال کریں"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"‏اس SIM کا استعمال کریں"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"آف"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"‏اس SIM کو غیر فعال کرنے کے لیے، SIM کارڈ ہٹائيں"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"‫<xliff:g id="CARRIER">%1$s</xliff:g> فعال کرنے کے لیے تھپتھپائیں"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"‏SIM مٹائیں"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"‏اس SIM کو آف کرنے کے لیے، SIM کارڈ ہٹائیں"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"‏اپنا <xliff:g id="CARRIER">%1$s</xliff:g> SIM فعال کرنے کیلئے تھپتھپائیں"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"‏eSIM مٹائیں"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"ترجیحی نیٹ ورک کی قسم"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"نیٹ ورک آپریٹ کرنے کی وضع تبدیل کریں"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"ترجیحی نیٹ ورک کی قسم"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"اپنے نیٹ ورک فراہم کنندہ سے قیمت معلوم کریں۔"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"ایپ ڈیٹا کا استعمال"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"غلط نیٹ ورک موڈ <xliff:g id="NETWORKMODEID">%1$d</xliff:g>۔ نظر انداز کریں۔"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"سٹلائٹ پیغام رسانی"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"سیٹلائٹ کے ذریعے ٹیکسٹ پیغامات بھیجیں اور موصول کریں۔ آپ کے اکاؤنٹ میں شامل ہے۔"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"سیٹلائٹ کے ذریعے ٹیکسٹ پیغامات بھیجیں اور موصول کریں۔ آپ کے اکاؤنٹ میں شامل نہیں ہے۔"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"سٹلائٹ پیغام رسانی"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"سیٹلائٹ پیغام رسانی کے بارے میں"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"آپ ایک اہل <xliff:g id="CARRIER_NAME">%1$s</xliff:g> اکاؤنٹ کے حصے کے طور پر سیٹلائٹ کے ذریعے ٹیکسٹ پیغامات بھیج اور موصول کر سکتے ہیں۔"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"آپ کا <xliff:g id="CARRIER_NAME">%1$s</xliff:g> پلان"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"سیٹلائٹ پیغام رسانی آپ کے اکاؤنٹ کے ساتھ شامل ہے"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"سیٹلائٹ پیغام رسانی آپ کے اکاؤنٹ میں شامل نہیں ہے"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"سیٹلائٹ پیغام رسانی شامل کریں"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"اس کے کام کرنے کا طریقہ"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"آپ کے پاس موبائل نیٹ ورک نہ ہونے پر"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"آپ کا فون سیٹلائٹ سے خودکار طور پر منسلک ہو جائے گا۔ بہترین کنکشن کے لیے، ایسی جگہ رہیں جہاں آسمان صاف نظر آ رہا ہو۔"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"آپ کا فون سیٹلائٹ سے منسلک ہونے کے بعد"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"آپ ایمرجنسی سروسز سمیت کسی کو بھی ٹیکسٹ پیغام بھیج سکتے ہیں۔ دستیاب ہونے پر آپ کا فون موبائل نیٹ ورک سے دوبارہ منسلک ہو جائے گا۔"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"سیٹلائٹ پیغام رسانی میں زیادہ وقت لگ سکتا ہے اور یہ صرف کچھ علاقوں میں دستیاب ہے، موسم اور کچھ ساختیں آپ کے سیٹلائٹ کنکشن کو متاثر کر سکتی ہیں۔ سیٹلائٹ کالنگ دستیاب نہیں ہے۔\n\nآپ کے اکاؤنٹ میں تبدیلیاں ترتیبات میں ظاہر ہونے میں کچھ وقت لگ سکتا ہے۔ تفصیلات کے لیے <xliff:g id="CARRIER_NAME">%1$s</xliff:g> سے رابطہ کریں۔"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"سیٹلائٹ پیغام رسانی کے بارے میں مزید"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"رسائی کی جگہ کے نام"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> سے منسلک ہونے پر دستیاب نہیں ہے"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"‫<xliff:g id="CARRIER_NAME">%1$s</xliff:g> پر سوئچ کریں؟"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"‏SIM کارڈ استعمال کرنے کے لیے سوئچ کریں؟"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> کا استعمال کریں؟"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"‏ایک وقت میں صرف ایک SIM فعال ہو سکتی ہے۔\n\n‫<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> پر سوئچ کرنے سے آپ کے <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> کی سروس منسوخ نہیں ہو گی۔"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"‏ایک وقت میں صرف 1 eSIM فعال ہو سکتا ہے۔\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> پر سوئچ کرنے سے آپ کی <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> سروس منسوخ نہیں ہوگی۔"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"‏ایک وقت میں صرف ایک SIM فعال ہو سکتی ہے۔\n\nسوئچ کرنے سے آپ کے <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> کی سروس منسوخ نہیں ہوگی۔"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"‏ایک وقت میں صرف 1 SIM آن ہو سکتا ہے۔\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> پر سوئچ کرنے سے آپ کی <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> سروس منسوخ نہیں ہوگی۔"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"‏ایک وقت میں صرف 1 eSIM آن ہو سکتا ہے۔\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> پر سوئچ کرنے سے آپ کی <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> سروس منسوخ نہیں ہوگی۔"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"‏ایک وقت میں صرف 1 SIM آن ہو سکتی ہے۔\n\nسوئچ کرنے سے آپ کی <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> سروس منسوخ نہیں ہوگی۔"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"‏آپ ایک وقت میں 2 SIM کا استعمال کر سکتے ہیں۔ <xliff:g id="CARRIER_NAME">%1$s</xliff:g> کا استعمال کرنے کے لیے، دوسری SIM آف کریں۔"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"‫<xliff:g id="CARRIER_NAME">%1$s</xliff:g> پر سوئچ کریں"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> آف کریں"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"‏SIM آف کرنے سے آپ کی سروس منسوخ نہیں ہوگی"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"نیٹ ورک سے منسلک ہو رہا ہے…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"کالز اور پیغامات کے لیے <xliff:g id="CARRIER_NAME">%1$s</xliff:g> پر سوئچ کر رہے ہیں…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"کیریئر کو سوئچ نہیں کیا جا سکتا"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"ایک خرابی کی وجہ سے کیریئر کو سوئچ نہیں کیا جا سکتا۔"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"‏آپ کا SIM فعال ہو رہا ہے…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> پر سوئچ ہو رہا ہے…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"‏SIMs سوئچ نہیں کر سکتے"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"‏کچھ غلط ہو گیا۔ SIMs سوئچ نہیں کر سکتے۔"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"‫<xliff:g id="CARRIER_NAME">%1$s</xliff:g> آف کریں؟"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"‏SIM آف کریں؟"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"‏<xliff:g id="ELLIPSIS">…</xliff:g>SIM کو آف کیا جا رہا ہے"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"کیریئر کو غیر فعال نہیں کیا جا سکتا"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"کچھ غلط ہوگیا اور آپ کے کیریئر کو غیر فعال نہیں کیا سکا۔"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"‏SIM کو آف نہیں کیا جا سکتا"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"‏کچھ غلط ہو گیا اور آپ کا SIM آف نہیں ہو سکا۔"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"‏2 SIMs استعمال کریں؟"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"‏اس آلے میں ایک ہی وقت میں 2 فعال SIMs ہو سکتی ہیں۔ ایک وقت میں 1 SIM کے استعمال کو جاری رکھنے کے لیے \"نہیں شکریہ\" پر تھپتھپائیں۔"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"آلہ ری اسٹارٹ کریں؟"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"نہیں شکریہ"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"منسوخ کریں"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"سوئچ کریں"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"آف کریں"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"‏SIM کو فعال نہیں کیا جا سکتا"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"‏SIM کو دوبارہ آن کرنے کی کوشش کریں۔ مسئلے کے برقرار رہنے پر اپنا آلہ ری اسٹارٹ کریں۔"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"‏اپنا SIM سیٹ اپ کریں"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"‏اس آلے پر متعدد SIMs کا استعمال کرنے کے لیے اپنے موبائل نیٹ ورک کی ترجیحات سیٹ کریں"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"‏اپنے SIMs پر لیبل لگائیں"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"آپ کو یہ لیبلز کال کرنے، ٹیکسٹ بھیجنے، ڈیٹا کا استعمال کرنے پر اور ترتیبات میں نظر آئیں گے"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"‏SIM لیبل"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"لیبل"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"‏منتخب کریں کہ کون سا SIM استعمال کرنا ہے"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"‏آپ ایک وقت میں 2 SIM کا استعمال کر سکتے ہیں"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"‏اپنے بنیادی SIMs سیٹ کریں"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"‏منتخب کریں کہ کالز، ٹیکسٹس اور ڈیٹا کے لیے بطور ڈیفالٹ کون سا SIM استعمال کرنا ہے"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"‏آپ کے بنیادی SIMs"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"کالز"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"ٹیکسٹس"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"خودکار طور پر ڈیٹا سوئچ کرنا"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"‏کوریج اور دستیابی کے لحاظ سے کسی بھی SIM سے ڈیٹا کا استعمال کریں"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"صرف ڈیٹا"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"سیٹ اپ کریں"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"آگے جائیں"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> آن ہو رہا ہے…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"موبائل نیٹ ورک"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"فون نمبر"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"‏SIM لیبل اور رنگ"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"نیٹ ورک کی فعالیت"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"کیریئر سوئچنگ"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> فعال ہے"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"‏آپ کا <xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM فعال ہے"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"‏SIM کی ترتیبات کو اپ ڈیٹ کرنے کے ليے تھپتھپائیں"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> پر سوئچ ہو گیا"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"دوسرے کیریئر پر سوئچ کر دیا گیا"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"آپ کا موبائل نیٹ ورک تبدیل ہو گيا ہے"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"‏اپنا دوسرا SIM سیٹ اپ کریں"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"‏اپنا فعال SIM منتخب کریں یا ایک وقت میں 2 SIMs کو ایک ساتھ استعمال کریں"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"استعمال کرنے کے لیے ایک نمبر منتخب کریں"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{اس آلے پر 1 نمبر دستیاب ہے لیکن ایک وقت میں صرف ایک ہی نمبر کا استعمال کیا جا سکتا ہے}=2{اس آلے پر 2 نمبرز دستیاب ہیں لیکن ایک وقت میں صرف ایک ہی نمبر کا استعمال کیا جا سکتا ہے}other{اس آلے پر # نمبرز دستیاب ہیں لیکن ایک وقت میں صرف ایک ہی نمبر کا استعمال کیا جا سکتا ہے}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"فعال ہو رہی ہے<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"ابھی فعال نہیں کیا جا سکا"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"‏استعمال کرنے کے لیے ایک SIM منتخب کریں"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{‏اس آلے پر 1 SIM دستیاب ہے لیکن ایک وقت میں صرف ایک ہی SIM کا استعمال کیا جا سکتا ہے}=2{‏اس آلے پر ‎2 SIMs دستیاب ہیں لیکن ایک وقت میں صرف ایک ہی SIM کا استعمال کیا جا سکتا ہے}other{‏اس آلے پر ‎# SIMs دستیاب ہیں لیکن ایک وقت میں صرف ایک ہی SIM کا استعمال کیا جا سکتا ہے}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"آن کیا جا رہا ہے<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"‏ابھی اس SIM کو آن نہیں کیا جا سکا"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> استعمال کریں؟"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"‏<xliff:g id="CARRIER_NAME">%1$s</xliff:g> کا استعمال موبائل ڈیٹا، کالز اور SMS کے لیے کیا جائے گا۔"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"‏کوئی فعال SIMs دستیاب نہیں ہے"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"‏موبائل ڈیٹا، کال کی خصوصیات اور SMS کو بعد میں استعمال کرنے کے لیے اپنے نیٹ ورک کی ترتیبات پر جائیں"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"‏اس eSIM کو مٹائیں؟"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"‏اس SIM کو مٹانے سے اس آلہ سے <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> سروس ہٹ جاتی ہے۔\n\n ‫<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> کی سروس منسوخ نہیں ہوگی۔"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"اس سے <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> سروس اس آلہ سے ہٹ جاتی ہے، لیکن آپ کا <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> پلان منسوخ نہیں ہوگا۔"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"مٹائیں"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"‏SIM کو مٹایا جا رہا ہے…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"‏SIM کو نہیں مٹا سکتے"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"‏ایک خرابی کی وجہ سے اس SIM کو مٹایا نہیں جا سکتا ہے۔\n\nاپنا آلہ دوبارہ شروع کریں اور دوبارہ کوشش کریں۔"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"‏eSIM مٹایا جا رہا ہے…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"‏eSIM مٹایا نہیں جا سکا"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"‏کچھ غلط ہو گیا اور یہ eSIM مٹا نہیں گیا۔\n\nاپنا آلہ ری سٹارٹ کریں اور دوبارہ کوشش کریں۔"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"آلے سے منسلک کریں"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"‏<xliff:g id="APPNAME">%1$s</xliff:g> ایپ آپ کے آلے سے منسلک ہونے کے لیے عارضی Wi-Fi نیٹ ورک استعمال کرنا چاہتی ہے"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"کوئی آلہ نہیں ملا۔ یقینی بنائیں کہ آلات آن ہیں اور منسلک کرنے کے لیے دستیاب ہیں۔"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"ایمرجنسی کالز"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"‏آپ کے کیریئر کی جانب سے Wi-Fi پر ایمرجنسی کالز تعاون یافتہ نہیں ہیں۔\nایمرجنسی کال کرنے کے لیے آلہ خود کار طور پر سیلولر نیٹ ورک پر سوئچ ہو جاتا ہے۔\nایمرجنسی کالز صرف سیلولر کوریج والے علاقے میں ممکن ہیں۔"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"‏معیار کو بہتر بنانے کے لیے کالز کے لیے Wi-Fi کا استعمال کریں"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"بیک اپ کالنگ"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"‏اگر <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> دستیاب نہیں ہے یا رومنگ میں ہے تو <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> کے لیے اپنے موبائل ڈیٹا کی SIM کا استعمال کریں۔"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"بیک اپ کالنگ"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"‏آنے والا MMS پیغام"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"‏MMS پیغام نہیں بھیجا جا سکا"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"‏موبائل ڈیٹا آف ہونے پر <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> پر MMS پیغام رسانی کی اجازت دینے کے لیے تھپتھپائیں"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"آپ کے کام کی پالیسی کی معلومات"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"‏آپ کے IT منتظم کے ذریعے نظم کردہ ترتیبات"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"‏16K صفحہ سائز کے ساتھ بوٹ کریں"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"‏16K صفحہ سائز کے تعاون یافتہ کرنل کا استعمال کرتے ہوئے بوٹ کریں"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"‏16KB صفحات کے موافق کرنل کے ساتھ ریبوٹ کریں؟"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"وارننگ: ہو سکتا ہے کچھ ایپلیکیشنز اس وضع کے ساتھ موافق نہ ہوں۔ تصدیق کے بعد آلہ ریبوٹ ہو جائے گا۔"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"‏4KB صفحات کے موافق کرنل کے ساتھ ریبوٹ کریں؟"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"تصدیق کے بعد آلہ ریبوٹ ہو جائے گا۔"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"‏کرنل کو 16KB صفحات کے موافق کرنل میں اپ ڈیٹ کرنے میں ناکام۔"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"تبدیلی کا اطلاق کرنا"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"بگ رپورٹ کا ہینڈلر"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"آپ کے آلے پر کون سی ایپ بگ رپورٹ شارٹ کٹ ہینڈل کرتی اس کا تعین کرتی ہے۔"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"ذاتی"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"ایسی ایپس کو اجازت دیں جو ترتیبات کی اسکرینز کو ایک دوسرے پر چڑھانے کے لیے دوسرے ایپس پر ڈسپلے کر سکتی ہیں"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"موک موڈیم کی اجازت دیں"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"اس آلے کو آلات کی جانچ کرنے کے لیے موک موڈیم سروس چلانے کی اجازت دیں۔ فون کے عام استعمال کے دوران اسے فعال نہ کریں"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"اسکرین کے اشتراک کے تحفظات کو غیر فعال کریں"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"اسکرین کے اشتراک کے دوران سسٹم میں لاگو کردہ ایپ اور اطلاعاتی تحفظات کو غیر فعال کرتا ہے"</string>
     <string name="media_controls_title" msgid="403271085636252597">"میڈیا"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"میڈیا پلیئر کو پن کریں"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"پلے بیک کو فوری طور پر دوبارہ شروع کرنے کے لیے میڈیا پلیئر فوری ترتیبات میں کھلا رہتا ہے"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"مقفل اسکرین پر میڈیا دکھائیں"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"پلے بیک کو فوری طور پر دوبارہ شروع کرنے کے لیے میڈیا پلیئر مقفل اسکرین پر کھلا رہتا ہے"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"میڈیا کی تجاویز دکھائیں"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"اسسٹنٹ کی میڈیا تجاویز دکھائیں"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"آپ کی سرگرمی کی بنیاد پر"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"کھلاڑی کو چھپائیں"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"کھلاڑی کو دکھائیں"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"میڈیا"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"کیمرا سافٹ ویئر ایکسٹینشنز کی اجازت دیں"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"‏Eyes Free ویڈیوگرافی جیسی جدید کیمرا کی خصوصیات کے ڈیفالٹ سافٹ ویئر کے نفاذ کو قابل بناتا ہے۔"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"بلوٹوتھ آن ہو جائے گا"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"انٹرنیٹ"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIMs"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIMs"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"فعال"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"غیر فعال"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"آن ہے"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"آف ہے"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> کے لیے ڈیفالٹ"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"کالز"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"موافق میڈیا سے آڈیو کا مزید دلچسپ تجربہ فراہم ہوتا ہے"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"سر کی ٹریکنگ"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"خود کو زیادہ فطری دکھانے کے لیے اپنے سر کو حرکت دیتے ہی آڈیو تبدیل ہو جاتی ہے"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"مطابقت پذیری کی اجازتیں"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"اپنی <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> کو ایپ کی وہی اجازتیں دیں جن کی آپ نے <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> پر اجازت دی ہے"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"فون سے اجازتوں کو مطابقت پذیر کریں"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"اپنی گھڑی کو ایپ کی وہی اجازتیں دیں جن کی آپ نے اس فون پر اجازت دی ہے"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"آڈیو آلہ کی قسم"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"نامعلوم"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"اسپیکر"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"متوسط"</string>
     <string name="contrast_high" msgid="3988567609694797696">"زیادہ"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"یہ ایپ صرف 1 ونڈو میں کھولی جا سکتی ہے"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"آن ہے"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"آف ہے"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"آف ہے"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"آف ہے"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"آن ہے"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"آف ہے"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"آن ہے"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"آف ہے"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"روشنی کی اسکرینز کو سیاہ اور گہری اسکرینز کو روشنی میں بدل دیتا ہے"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"اسکرین پر زوم ان کریں"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"آف ہے"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"آف ہے"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"جعلسازی کی ایپس کو اسکین کیا جا رہا ہے"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"فریب دہی کے لیے ایپ کی سرگرمی چیک کریں"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"مغالطہ آمیز ایپس کے لیے اسکین کرنے کی خصوصیت استعمال کریں"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"مغالطہ آمیز دفتری ایپس کے لیے اسکین کرنے کی خصوصیت استعمال کریں"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"اب پاس ورڈ سیٹ اپ ہو گیا ہے"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"گھمانے کے دوران پوائنٹر دکھائیں"</string>
 </resources>
diff --git a/res/values-uz/arrays.xml b/res/values-uz/arrays.xml
index 1038caa..c39f5d9 100644
--- a/res/values-uz/arrays.xml
+++ b/res/values-uz/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Aloqada"</item>
     <item msgid="6096962300722555553">"Chegaradan tashqari"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Yoqilmagan"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast va Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Standart tizim parametrlaridan foydalanish: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 daqiqadan keyin"</item>
     <item msgid="1574040255478150028">"5 daqiqadan keyin"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-uz/strings.xml b/res/values-uz/strings.xml
index fc16c81..d1e186d 100644
--- a/res/values-uz/strings.xml
+++ b/res/values-uz/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Siz endi dasturchi rejimidasiz!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Shart emas, siz allaqachon dasturchi rejimidasiz."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Avval dasturchi sozlamalarini yoqing."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Faqat administratorlar dasturchi sozlamalaridan foydalana oladi."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Tizim"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Xizmat doirasida"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Xizmat doirasidan tashqarida"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Qurilma buklanganda old ekranni yoqish"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Faqat oʻyinlar, videolar va boshqalar"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Ekran oʻchganda toʻxtagan ilovalarni old ekranda yoqish"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Tepaga surganda davom etish"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Ilovadan foydalanishda davom etish uchun telefonni taxlab, oldingi ekrani ustida tepaga suring yoki ekran qulflanishi uchun bir necha soniya kuting"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Hech qachon"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Qurilma buklanganda old ekranni qulflash"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Avtomatik burilish"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Aloqador"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Rington va signallar"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Chaqiruvlardagi audio"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Media"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Bildirishnoma va tizim tovushlari"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Media va tizim tovushlari"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Bildirishnomalar"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Standart holatda audio chiqarish har bir ilovada alohida sozlanadi"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Nomsiz bluetooth qurilma"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Qidirilmoqda"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Bekor qilish"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Bluetooth LE Audioni faolsizlantirish"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Qurilmada LE audio apparatli taʼminoti boʻlsa, Bluetooth LE audio funksiyasi faolsizlantiriladi."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth LE Audio rejimi"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Qurilma axborotida LE audio tugmasi chiqsin"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bluetooth LE Audio ruxsat roʻyxatini yoqing"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bluetooth LE Audio ruxsat roʻyxati funksiyasini yoqing"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bluetooth LE Audio ruxsat roʻyxatini chetlash"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"LE Audio aloqasidan birlamchi holatda foydalanish, hatto qurilmaning ruxsat olishga muvofiqligi tekshirilmagan boʻlsa ham."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Media qurilmalar"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Chaqiruv qurilmalari"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Boshqa qurilmalar"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Saqlangan qurilmalar"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Hisob bilan aloqador"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Hisobda avval ishlatilgan"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Juftlash uchun Bluetooth yoqiladi"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Ulanish parametrlari"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Avval ulangan qurilmalar"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Bluetooth yoqildi"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Hammasi"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Hammasi"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Stilus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Stilus tugmasi bosilishi"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Ish profili)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Matn maydonlarida yozish"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Stilus bilan bosilgan barcha tugmalarni eʼtiborsiz qoldirish"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Stilus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Audio ulashuvi"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Audioni ulashish"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Chaqiruvlar va signallar"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Audio oqimga QR kod orqali ulanish"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Yaqin-atrofda audio oqimlar majvud."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Sana va vaqt"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proksi-server"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Tozalash"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"%s asosiy tillarga qoʻshilsinmi?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Buning natijasida ilovalar va veb-saytlar ham bu tilni tanlaganingizni bilishadi."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Qurilma sozlamalari va hududiy sozlamalar oʻzgaradi."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Oʻzgartirish"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s mavjud emas"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Shanba"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Hududiy sozlamalar ishlamasa, ilova standart mahalliy sozlamalardan foydalanadi."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Til sozlamalari haqida batafsil."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Qoʻshimcha sozlamalar"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Murojaat shartlari"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Tegishli murojaat shaklini koʻrsating"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Ilovalar moslashtirish uchun qaysi murojaat shaklini afzal koʻrishingiz haqidagi maʼlumotlardan foydalanish mumkin."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Koʻrsatilmagan"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Ayollar uchun"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Erkaklar uchun"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Oʻrtacha"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Tanlangan til olib tashlansinmi?}other{Tanlangan tillar olib tashlansinmi?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Matnlar keyin boshqa tilda chiqadi."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Barcha tillarni o‘chirib tashlash mumkin emas"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Joylashuv"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Joylashuvni aniqlash"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Oʻchiq"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{# ta ilovada joylashuvga ruxsat bor}other{# ta ilovada joylashuvga ruxsat bor}}"</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_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="5329024810729665156">"Joylashuv sozlamalari haqida batafsil."</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="3574930966097093550">"Joylashuv ruxsatini Sozlamalar &gt; Xavfsizlik va maxfiylik &gt; Maxfiylik nazorati orqali oʻzgartirish mumkin"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Hisoblar"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Xavfsizlik"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Shifrlash va hisobga oid axborot"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Eng yaxshi natijalarga erishish uchun Made for Google sertifikatiga ega ekran himoyasidan foydalaning. Boshqa ekran himoyasida farzandingizning barmoq izi ishlamasligi mumkin."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Soat bilan ochish"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Yuz va barmoq izi bilan ochish sozlanganda, telefoningiz yuz niqobi taqqaningizda yoki qorongʻi joylarda barmoq izingizni soʻraydi.\n\nYuzingiz yoki barmoq izingiz tanilmaganda, soatingiz bilan qulfni ochishingiz mumkin."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Barmoq izingiz tanilmaganda, soatingiz bilan qulfni ochishingiz mumkin."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Yuzingiz tanilmaganda, soatingiz bilan qulfni ochishingiz mumkin."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Yuz va barmoq izi bilan ochish sozlanganda, telefoningiz yuz niqobi taqqaningizda yoki qorongʻi joylarda barmoq izingizni soʻraydi.\n\nBarmoqlar hoʻl boʻlsa yoki yuzingizni tanimasa, soat bilan ochish funksiyasi telefonni qulfdan chiqarishning yana bir qulay usuli hisoblanadi."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Barmoqlar hoʻl boʻlsa, soat bilan ochish funksiyasi telefonni qulfdan chiqarishning yana bir qulay usuli hisoblanadi."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Yuzingizni tanimasa, soat bilan ochish funksiyasi telefonni qulfdan chiqarishning yana bir qulay usuli hisoblanadi."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Barmoq izi yoki soat orqali"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Yuz yoki soat orqali"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Yuz, barmoq izi yoki soat orqali"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Barmoqlar hoʻl boʻlsa yoki yuzingizni tanimasa, soat bilan ochish funksiyasi telefonni qulfdan chiqarishning yana bir qulay usuli hisoblanadi.\n\nBu telefonni quyidagi hollarda soat bilan qulfdan chiqarish mumkin:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Hozir emas"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Davom etish"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Yana"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Ishlash tartibi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Soat qulflanmagan, bilagingizda va bu telefonga yaqin joyda tursin. Soat bilakda turganida yana qulfdan chiqarish shart emas."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Bu telefon qulfdan chiqarilganda soatga bildirishnoma keladi. Agar istamaganingizda qulfdan chiqarilsa, telefonni qayta qulflash uchun bildirishnomaga teging."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Boshqaruv oʻz qoʻlingizda"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Soatni istalgan vaqt Sozlamalar orqali Soat bilan ochish funksiyasidan olib tashlash mumkin"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Bildirishnomaga tegining"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Qulflangan ekranda tepaga suring"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Soatingizni tanlang"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Mavjud soatlar"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Bekor qilish"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"OK"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Hammasi tayyor!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Endi bloklangan ekranda tepaga surib yoki bildirishnomaga teginib, bu telefonni soat orqali qulfdan chiqarish mumkin"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Tayyor"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"[qurilma qulfini] soat bilan ochish"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Bloklangan ekranda tepaga surib yoki bildirishnomaga tegib, bu telefonni soat orqali qulfdan chiqarish mumkin"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Soat bilan ochish uchun soat qulfdan chiqarilgan, bilagingizda, yaqin joyda va bu telefonga ulangan boʻlishi kerak. Agar aloqa uzilsa, soat bilan ochishdan oldin telefonni qulfdan chiqarish kerak.\n\nYodda tuting:\nBir vaqtning oʻzida faqat bitta soatni sozlash mumkin. Boshqa soat qoʻshish uchun hozirgisini olib tashlang."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Xavfsizlik"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Maxfiylik"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Ish profili"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Maxfiy makon"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Maxfiy ilovalar qulflangan va yashirin saqlansin"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Maxfiy ilovalarni berkitish yoki qulflash mumkin alohida joyda saqlang"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Maxfiy makon qulfi"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Maxfiy makonni qurilma qulfi bilan bir xil usulda ochish yoki unga boshqa qulf tanlash mumkin"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Qurilmaning ekran qulfidan foydalanish"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Yuz va barmoq izi bilan ochish"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Barmoq izi bilan ochish"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Yuz bilan ochish"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Sozlash uchun bosing"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Maxfiy makonni barmoq izi bilan ochish"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Maxfiy makonni yuz bilan ochish"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Qulfni ochish usullari"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Qurilmaning qulflash usulidan foydalanish"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Maxfiy makon uchun yangi qulf yaratilsinmi?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Maxfiy makonni avtomatik qulflash"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Agar qurilmangizdan muayyan vaqt foydalanmasangiz, maxfiy makoningizni avtomatik ravishda qulflashingiz mumkin"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Har safar qurilma qulflanganda"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"5 daqiqa nofaollikdan keyin"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Hech qachon"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Qulflanganida berkitilsin"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Qulflanganida Maxfiy makonni berkitish"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Qurilmada Maxfiy makon borligini boshqalar bilmasligi uchun ilovalar roʻyxatidan berkitish mumkin"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Berkitilganida Maxfiy makonga kirish"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Ilovalar roʻyxatidagi qidiruv panelida “maxfiy makon” deb yozing"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Maxfiy makon katakchasini bosing"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Maxfiiy makonni ochish"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Oʻchiq"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Yoniq"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Tizim"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Maxfiy makonni oʻchirish"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Maxfiy makon oʻchirib tashlansinmi?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Maxfiy makoningiz qurilmangizdan olib tashlanadi. Barcha maxfiy ilovalar va maʼlumotlar oʻchirib tashlanadi. Bu amalni ortga qaytara olmaysiz."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Quyidagi hisoblar maxfiy makoningizdan olib tashlanadi:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Oʻchirish"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Maxfiy makon oʻchirib tashlanmoqda…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Bu bir necha daqiqa vaqt oladi"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Maxfiy makon oʻchirib tashlandi"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Maxfiy makon oʻchirib tashlanmadi"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Maxfiy makon ochildi"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Ekran qulfini sozlash"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Maxfiy joy ishlatish uchun bu qurilma ekran qulfini sozlang"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Ekran qulfini sozlash"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Bekor qilish"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Bekor qilish"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Sozlash"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Maxfiy joyni sozlash"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Maxfiy ilovalarni berkitish yoki qulflash mumkin alohida joyda saqlang"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Ishlash tartibi"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Ilovalar roʻyxatining pastki qismidan maxfiy joyga kirish mumkin"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Maxfiy joydagi ilovalar qulf bilan himoyalangan"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Qulflanganida maxfiy joydagi ilovalardan bildirishnomalar berkitiladi"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Maxfiy joy qulflanganda undagi ilovalar ruxsatlar boshqaruvi, maxfiylik paneli va boshqa sozlamalarda chiqmaydi.\n\nMaxfiy joyni yangi qurilmaga koʻchirish imkonsiz. Boshqa qurilmada ishlatish uchun boshqa maxfiy joy sozlanishi kerak.\n\nQurilmani kompyuterga ulash yoki unga zararli ilova oʻrnatish ruxsati bor shaxslar maxfiy joyga ruxsat olishi mumkin."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Maxfiy joy sozlanmoqda…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Qulflanganida maxfiy makon ilovalaridan bildirishnomalar berkitiladi"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Rasm yoki fayl ulashish uchun maxfiy makon qulfini oching"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Ayrim ilovalar maxfiy joyda allaqachon oʻrnatilgan"</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_lockscreen_title" msgid="6034864097861137509">"Maxfiy joy qurilma qulfi bilan ochilsinmi?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Maxfiy joyni qurilma qulfi bilan bir xil usulda ochish yoki unga boshqa qulf tanlash mumkin"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Ekran qulfi"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Yangi qulf tanlash"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Hammasi tayyor!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Maxfiy makonga kirish uchun ilovalar roʻyxatini ochib, pastga varaqlang"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Tayyor"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Maxfiy joyni topish uchun pastga varaqlang"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Kirish"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Maxfiy makoningizdan foydalanish uchun hisob bilan kiring"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Hozir emas"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Davom etish"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Maxfiy joy qulfini tanlang"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Maxfiy joyni barmoq izi bilan ochish mumkin. Xavfsizlik maqsadida bu parametr zaxiraviy qulf bilan ishlaydi."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Maxfiy joy uchun PIN kod belgilash"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Maxfiy joy uchun parol belgilash"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Maxfiy joy uchun grafik kalit belgilash"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Ko’pi bilan <xliff:g id="COUNT">%d</xliff:g> ta barmoq izi qo’shish mumkin"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Barmoq izlari maksimal miqdorda qo‘shildi"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Boshqa barmoq izini qo‘shib bo‘lmaydi"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Grafik kalit"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN kod"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Parol"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Ekran qulfi oʻchirib tashlansinmi?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Qurilma qulfini ochishning barcha turlari olib tashlansinmi?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Profilni himoyalash funksiyasi o‘chirilsinmi?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, grafik kalit undagi maʼlumotlarni himoyalaydi.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Bunda, qurilmangizda saqlangan barmoq izi modeli oʻchirib tashlanadi. Yuz modelingiz ham butunlay va xavfsiz oʻchirib tashlanadi. Endi yuzingiz yoki barmoq izingizdan ilovalar ichida autentifikatsiya uchun foydalana olmaysiz."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"PIN kabi saqlangan axborotdan ayrilasiz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsiz toʻlovga sozlangan kartalar olib tashlanadi.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Qurilmani blokdan chiqarishni talab qiluvchi hamyonlar va boshqa ilovalar yaxshi ishlamasligi mumkin."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bunda, qurilmangizda saqlangan barmoq izi modeli ham oʻchirib tashlanadi. Endi barmoq izingizdan ilovalar ichida autentifikatsiya uchun foydalana olmaysiz."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"PIN va barmoq izi modeli kabi saqlangan axborotdan ayrilasiz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsiz toʻlovga sozlangan kartalar olib tashlanadi.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Qurilmani blokdan chiqarishni talab qiluvchi hamyonlar va boshqa ilovalar yaxshi ishlamasligi mumkin."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Yuz modelingiz ham butunlay va xavfsiz oʻchirib tashlanadi. Endi yuzingizdan ilovalar ichida autentifikatsiya uchun foydalana olmaysiz."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"PIN va yuz modeli kabi saqlangan axborotdan ayrilasiz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsiz toʻlovga sozlangan kartalar olib tashlanadi.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Qurilmani blokdan chiqarishni talab qiluvchi hamyonlar va boshqa ilovalar yaxshi ishlamasligi mumkin."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, PIN kod undagi maʼlumotlarni himoyalaydi.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Bunda, qurilmangizda saqlangan barmoq izi modeli oʻchirib tashlanadi. Yuz modelingiz ham butunlay va xavfsiz oʻchirib tashlanadi. Endi yuzingiz yoki barmoq izingizdan ilovalar ichida autentifikatsiya uchun foydalana olmaysiz."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"PIN, yuz va barmoq izi modeli kabi saqlangan axborotdan ayrilasiz.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Kontaktsiz toʻlovga sozlangan kartalar olib tashlanadi.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Qurilmani blokdan chiqarishni talab qiluvchi hamyonlar va boshqa ilovalar yaxshi ishlamasligi mumkin."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Telefoningiz yoʻqolib qolsa yoki oʻgʻirlansa, parol undagi maʼlumotlarni himoyalaydi.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g> qurilmasiga ulansinmi?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Mavjud sozlangan toʻplamga yangi aʼzo qoʻshing"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Audio qurilmangizning ikkinchi qismini qoʻshishni tasdiqlang"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Bluetooth orqali juftlash kodi"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Ulanish kodini kiriting va keyin “Return” yoki “Enter” tugmasini bosing"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Harflar yoki maxsus belgilardan iborat PIN kod"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"16 ta raqam bo‘lishi lozim"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Ushbu PIN kodni boshqa qurilmada ham terish lozim bo‘lishi mumkin."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Shuningdek, bu kirish kalitini ikkinchi qurilmada kiritishingiz talab qilinishi mumkin."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Sozlangan toʻplamga ulanishni tasdiqlang"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Audio qurilma bilan ulanishni tasdiqlang"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Kontakt va chaqiruvlar tarixiga ruxsat berish"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Shuningdek, kontaktlar va chaqiruvlar tarixiga kirish uchun ruxsat bering"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Maʼlumotlar chaqiruvlar haqida xabar berish uchun ishlatiladi"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"<xliff:g id="DEVICE_NAME">%1$s</xliff:g>ga o‘zaro bog‘lanmadi."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Mavjud qurilmalar"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Ulanish"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Uzish"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Juftlash va ulash"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Yaqin-atrofdagi Bluetooth qurilmalarga ulanish uchun Bluetooth aloqasini yoqing"</string>
     <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_scan_change" msgid="1744636222637390367">"Oʻzgartirish"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Qurilma tafsilotlari"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"ART taʼminotiga debug imkoniyatli ilova bayt-kodlarini tekshirishga ruxsat berish"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Yangilash chastotasi"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Joriy yangilash chastotasini chiqarish"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"HDR/SDR nisbatini koʻrsatish"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Joriy HDR/SDR nisbatini koʻrsatish"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"NFC ishlatish uchun qurilma qulfini ochishni talab qilish"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Uchish rejimida"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Ochiq tarmoqlar haqida xabar berish"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Yuqori sifatli ochiq tarmoqlar haqida xabar qilinsin"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"WEP tarmoqlarga ruxsat berish"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP – past xavfsizlikka ega eskirgan xavfsizlik protokoli"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Operatoringiz past darajadagi xavfsizlik tufayli WEP tarmoqlaridan foydalanishni taqiqlagan"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Wi‑Fi aloqasini avtomatik yoqish"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Saqlab olingan tarmoqlar ichidan signali yaxshisi chiqsa, Wi-Fi avtomatik yonadi (masalan, uyda)"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Joylashuv xizmati faolsizlantirilgani uchun ishlamaydi. "<annotation id="link">"Joylashuv"</annotation>" xizmatini yoqing."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi‑Fi tarmoqlarni qidirish funksiyasi ilova va xizmatlarga hatto Wi-Fi yoniq emasligida ham Wi-Fi tarmoqlarni qidirish uchun ruxsat beradi. Bu joylashuv axborotiga asoslangan funksiya va xizmatlar sifatini yaxshilashda ishlatilishi mumkin."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Yoqish"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi qidirish yoqildi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Bu tarmoq xavfsizlik darajasi past boʻlgan eski xavfsizlik protokolidan foydalanadi."</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> bloklandi"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Ushbu tarmoq past darajadagi xavfsizlikka ega eski WEP xavfsizlik protokolidan foydalanadi. Hali ham ulanishni xohlasangiz, WEP shifrlangan tarmoqlarni yoqing."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Operatoringiz ushbu tarmoqqa ulanishingizga ruxsat bermaydi, chunki u past darajadagi xavfsizlikka ega eski xavfsizlik protokolidan foydalanadi."</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"WEP tarmoqqa ruxsat berish"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Yopish"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Kengaytirilgan sozlamalar"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Qoʻshimcha parametrlar pastga ochiluvchi roʻyxati"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"yoyish"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Wi-Fi tarmog‘ida qoling"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Boshqa ko‘rsatilmasin"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Ulanish"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi-Fi yoqildi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Bunga ulandi: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Ulanmoqda: <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Ulanmoqda…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Tarmoqqa ulanmadi"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Tarmoq xizmat doirasidan tashqarida"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Olib tashlash"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"O‘zgartirish"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Tarmoqni unutmadi"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Saqlash"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Tarmoqni saqlamadi"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Bekor qilish"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Mobil internet"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Quvvatlash"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Quvvatlash"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Hotspot ulanishi"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Aloqa sifati"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Saqlangan tarmoqlar"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Parollanmagan"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Hotspot nomi"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Hotspot paroli"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Wi-Fi diapazoni"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Hotspotni avtomatik faolsizlantirish"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Hech qanday qurilma ulanmaganda"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Kengaytirilgan moslik"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Ekrandagi oq rang muvozanati"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Ilovalarni buklanganda davom ettirish"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Smooth Display"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Ayrim kontent uchun ekranning yangilanish chastotasi 60-<xliff:g id="ID_1">%1$s</xliff:g> Gs orasida almashib turadi. Batareya tezroq sarflanadi."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Oʻyinlar standart kadr tezligini faolsizlantirish"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz chastotada oʻyinlar uchun maksimal kadr tezligi cheklanmasin."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Smooth Display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Ayrim kontent uchun ekranning yangilanish chastotasi <xliff:g id="ID_1">%1$d</xliff:g> Hz gacha almashib turadi. Batareya tezroq sarflanadi."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Eng yuqori majburiy yangilanish chastotasi"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Ekran sensorining javob qaytarishi va animatsiyalar sifati uchun eng yuqori yangilanish chastotasi Batareya tezroq sarflanadi."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Moslashuvchan kutish rejimi"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Moslashuvchan kutish rejimi kimdir old kameraga qaraganini aniqlashda ishlatiladi U faqat qurilmada ishlatiladi va rasmlar hech qachon Google serverlariga yuborilmaydi."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Moslashuvchan kutish rejimini yoqish"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Ekranga qarab turilganida u yoniq turadi"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Ekranning kutish vaqti qancha uzoq boʻlsa, shuncha koʻp quvvat sarflanadi."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Kamera qulflangan"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Yuzni aniqlash funksiyasi ishlashi uchun kamera qulfdan chiqarilishi kerak"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Moslashuvchan kutish rejimi uchun kamera qulflanmagan boʻlishi kerak"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (<xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>-SIM uyasi)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (<xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>-SIM uyasi) (asosiy)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Ochish uchun saqlangan tarmoqni tanlang"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL versiyasi"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Batareya quvvati darajasi"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Umumiy"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Umumiy sozlamalar"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Sputnik orqali xabarlashuv"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Ulanish nuqtasini tahrirlash"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Ulanish nuqtasini kiritish"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Kiritilmagan"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Berilmagan"</string>
     <string name="apn_name" msgid="6677695784108157953">"Nomi"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN yoniq"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN o‘chiq"</string>
     <string name="bearer" msgid="3231443241639159358">"Kanal"</string>
+    <string name="network_type" msgid="748590707422733595">"Tarmoq turi"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Belgilanmagan"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO turi"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO qiymati"</string>
     <string name="menu_delete" msgid="9199740901584348273">"APNni o‘chirish"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Saqlash"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Bekor qilish"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN qiymatini nusxalash"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Nom to‘ldirilmagan bo‘lolmaydi."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN kiritilishi shart"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC 3 ta raqamdan iborat bo‘lishi shart."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC 2 yoki 3 ta raqamdan iborat bo‘lishi shart."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Aloqa operatori bunday turdagi APN (%s) qo‘shishni taqiqlagan."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC qatori yaroqli emas."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"APN standart sozlamalari tiklanmoqda."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Asliga qaytarish"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Standart sozlamalar tiklandi."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Tiklash"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Bluetooth va Wi-Fi sozlamalari tiklandi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"eSIM kartalarni tozalash"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Bunda mobil xizmatning hech qaysi tarif rejasi bekor qilinmaydi. Yangi eSIM profilini yuklab olish uchun aloqa operatoriga murojaat qiling"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Bunda mobil tarif rejangiz bekor qilinmaydi. Yangi SIM profili olish uchun aloqa operatoriga murojaat qiling."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Asliga qaytarish"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Barcha tarmoq sozlamalari qayta tiklansinmi? Bu amalni ortga qaytarish imkonsiz."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Barcha tarmoq sozlamalari va eSIM kartalar tiklansinmi? Bu amalni ortga qaytara olmaysiz."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Asliga qaytarilsinmi?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Bu foydalanuvchi tarmoq sozlamalarini tiklay olmaydi"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Tarmoq sozlamalari qayta tiklandi"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"SIM kartalar axboroti tozalanmadi"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"eSIM kartalar axboroti xatolik sabab tozalanmadi.\n\nQurilmani qayta ishga tushirib, yana urining."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"eSIM kartalar tozalanmadi"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Nimadir xato ketdi va eSIM kartalaringiz tozalanmadi.\n\nQurilmangizni qayta ishga tushiring va qaytadan urining."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Barcha maʼlumotlarni tozalash (zavod sozlamalarini tiklash)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Barcha maʼlumotlarni tozalash (zavod sozlamalarini tiklash)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Musiqalar"</li>\n<li>"Suratlar"</li>\n<li>"Foydalanuvchining boshqa ma\'lumotlari"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM kartalar"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Bunda, mobil aloqa xizmatiga hech narsa qilinmaydi."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Barcha shaxsiy maʼlumotlaringiz va yuklab olingan ilovalar tozalab tashlanadi. Bu amalni ortga qaytara olmaysiz."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Barcha shaxsiy maʼlumotlaringiz, jumladan, yuklab olingan ilovalar va SIM kartalar axboroti tozalab tashlanadi. Bu amalni ortga qaytara olmaysiz."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Barcha shaxsiy maʼlumotlaringiz, jumladan, yuklab olingan ilovalar va eSIMlar axboroti tozalab tashlanadi. Bu amalni ortga qaytara olmaysiz."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Hamma narsa tozalansinmi?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Bu foydalanuvchiga sozlamalarni zavod holatiga qaytarishga ruxsat berilmagan"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Tozalanmoqda"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Hotspot, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Internet boshqa qurilmalarga ulashilmaydi"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Oʻchiq"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Modem rejimi"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Wi‑Fi hotspot ishlatilmasin"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Internetni faqat USB orqali ulashish"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Internetni faqat Bluetooth orqali ulashish"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Internetni faqat Ethernet orqali ulashish"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Internetni faqat USB va Bluetooth orqali ulashish"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Internetni faqat USB va Ethernet orqali ulashish"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Internetni faqat Bluetooth va Ethernet orqali ulashish"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Internetni faqat USB, Bluetooth va Ethernet orqali ulashish"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB modem"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Bluetooth modem"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ethernet modem rejimi"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Boshqa qurilmalarga Wi-Fi yoki mobil internet orqali internetni tarqatish uchun hotspot va modem rejimlaridan foydalaning. Ilovalar ham yaqin-atrofdagi qurilmalarga kontent ulashish uchun hotspot yarata oladi."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Yordam"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mobil tarmoq"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Uyali tarmoq paketlari"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"SMS ilovasi"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"SMS ilovasi almashtirilsinmi?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"SMS xabarlar uchun <xliff:g id="CURRENT_APP">%2$s</xliff:g> emas, <xliff:g id="NEW_APP">%1$s</xliff:g> ishlatilsinmi?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Wi‑Fi yordamchisi o‘zgartirilsinmi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Tarmoq ulanishlarini boshqarish uchun “<xliff:g id="CURRENT_APP">%2$s</xliff:g>” o‘rniga “<xliff:g id="NEW_APP">%1$s</xliff:g>” ilovasidan foydalanilsinmi?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Tarmoq ulanishlarini boshqarish uchun “<xliff:g id="NEW_APP">%s</xliff:g>” ilovasidan foydalanilsinmi?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Noma’lum uyali aloqa operatori"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> operatorida sinxronlash uchun sayti yo‘q"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"SIM karta solib, qurilmani qayta ishga tushiring"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Iltimos, Internetga ulaning"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Joylashuv axboroti so‘rovlari"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Ish profili uchun geolokatsiya"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Ilovalar uchun joylashuv ruxsati"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Ruxsatnomalarni o‘chirish"</string>
     <string name="controls_label" msgid="8671492254263626383">"Boshqaruv"</string>
     <string name="force_stop" msgid="2681771622136916280">"Majburan to‘xtatish"</string>
+    <string name="archive" msgid="9074663845068632127">"Arxivlash"</string>
+    <string name="restore" msgid="7622486640713967157">"Tiklash"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Tiklanmoqda"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Tiklanmoqda."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Tiklanmoqda.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Tiklanmoqda..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Jami"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Ilova hajmi"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB xotira ilovasi"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Paket o‘lchamini hisoblamadi"</string>
     <string name="version_text" msgid="7628938665256107608">"<xliff:g id="VERSION_NUM">%1$s</xliff:g> versiya"</string>
     <string name="move_app" msgid="5421158479447276791">"Boshqa joyga olish"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Arxivlanmadi"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Arxivlandi: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Tiklanmadi"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Tiklanmoqda: <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Boshqa bir ko‘chirish amalga oshirilmoqda."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Xotirada yetarlicha bo‘sh joy yo‘q."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Ilova mavjud emas."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Ekrandagi klaviatura mavjud"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Ekrandagi klaviaturalarni boshqarish"</string>
     <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="6922850403920596246">"Jismoniy klaviatura qulayliklari uchun Qayta bosishni nazorat qilish funksiyasini yoqish"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Sekin tugmalar"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Jismoniy klaviatura qulayliklari uchun Sekin tugmalar funksiyasini yoqish"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Yopishqoq tugmalar"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Jismoniy klaviatura qulayliklari uchun Yopishqoq tugmalarni yoqish"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Pastki oʻng burchakka bossangiz, boshqa parametrlar ochiladi"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Kursor tezligi"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Sensorli panel ishoralari haqida"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Boshiga"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Sensorli panelning istalgan joyida uchta barmoq bilan tepaga suring"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Orqaga"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Foydalanish vaqti boʻyicha saralash"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Oxirgi foydalanish boʻyicha saralash"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Ilova nomi boʻyicha saralash"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"So‘nggi marta foydalanish"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Oxirgi ishlatilgan"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"hech qachon"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Sarf vaqti"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Qulayliklar"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Qulayliklar sozlamalari"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Uch marta bosib kattalashtirish"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Tugma yordamida kattalashtirish"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Tugma va uch marta bosish bilan kattalashtirish"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g> haqida"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Qulayliklar tugmasi bilan ochish"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Ochish uchun ikkala tovush tugmasini bosib turing."</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Ochish uchun ekranga uch marta bosing"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Ochish uchun ekranni ikki barmoq bilan ikki marta bosing"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Imo-ishoralardan foydalaning"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Qulaylik ishorasidan foydalanish"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Bu funksiyadan foydalanish uchun ekraningiz pastidagi <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> maxsus imkoniyatlar tugmasi ustiga bosing.\n\nFunksiyalarni almashtirish uchun maxsus imkoniyatlar tugmasini bosib turing."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Bu funksiyadan foydalanish uchun ekrandagi Qulayliklar tugmasini bosing."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Bu funksiyadan foydalanish uchun ikkala tovush tugmasini bosib turing."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Kattalashtirishni boshlash yoki toʻxtatish uchun ekranning istalgan joyiga uch marta bosing."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Kattalashtirish yoki bekor qilish uchun ekran ustiga ikki barmoq bilan ikki marta bosing."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Bu funksiyadan foydalanish uchun 2 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 2 ta barmoq bilan tepaga suring va ushlab turing."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Bu funksiyadan foydalanish uchun 3 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 3 ta barmoq bilan tepaga suring va ushlab turing."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Maxsus imkoniyatlardan foydalanish uchun 2 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 2 ta barmoq bilan tepaga suring va ushlab turing."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Maxsus imkoniyatlardan foydalanish uchun 3 ta barmoq bilan ekran pastidan tepaga suring.\n\nFunksiyalarni almashtirish uchun 3 ta barmoq bilan tepaga suring va ushlab turing."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"OK"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Qulayliklar tugmasi sozlamalari"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Tugma sozlamalari"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> tezkor tugmasi"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Qulayliklar tugmasi"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Qulaylik ishorasi"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Tovush tugmalarini bosib turish"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"tovush tugmalarini bosib turish"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"ekranni ikki 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="6863958573135995927">"ekran ustiga uch marta bosish"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Qulayliklar tugmasi va ishoralar haqida batafsil"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Qulaylik tugmasidan foydalanish. 3 tugmali navigatsiya ishora orqali ishlamaydi."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Maxsus imkoniyatlarni tez ochish"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Boshlash uchun:"</b>\n"1. Qulayliklar sozlamalarini oching\n2. Funksiyani tanlang va yorliq ustiga bosing\n3. Foydalaniladigan tugmani yoki funksiyadan foydalanish uchun ishorani tanlang"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Boshlash uchun:"</b>\n"1. Qulayliklar sozlamalarini oching\n2. Funksiyani tanlang va yorliq ustiga bosing\n3. Funksiyadan foydalanish uchun tugmani tanlang"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Boshlash uchun&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Maxsus imkoniyatlar sozlamalarini oching&lt;br/&gt; {1,number,integer}. Funksiyani tanlang va yorliq ustiga bosing&lt;br/&gt; {2,number,integer}. Foydalaniladigan tugmani yoki funksiyadan foydalanish uchun ishorani tanlang&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Boshlash uchun&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Maxsus imkoniyatlar sozlamalarini oching&lt;br/&gt; {1,number,integer}. Funksiyani tanlang va yorliq ustiga bosing&lt;br/&gt; {2,number,integer}. Funksiyadan foydalanish uchun tugmani tanlang&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Tugma yoki imo-ishoradan foydalanish"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Joylashuv"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Hajmi"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Quvvat tugmasi chaqiruvni tugatadi"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Yirik sichqoncha kursori"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Kursorni kattaroq chiqarish"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Barcha ilovalarni tungi qilish"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Tungi mavzusi mavjud emas ilovalarga tegishli. Ayrim ilovalarda aks rang kabi xato chiqishi mumkin."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Animatsiyalarni olib tashlash"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Ekrandagi harakatlarni kamaytirish"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Mono audio"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Tebranish va teginish effektidan foydalanish"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Bildirishnomalar kelganda tebranish"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Media tebranish"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Klaviatura tebranishi"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Jiringlaganda tebranish"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Bildirishnomada tebranish"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Teginganda tebranish"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Stop"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Bekor qilish"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"<xliff:g id="SERVICE">%1$s</xliff:g> xizmati to‘xtatilsinmi?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"<xliff:g id="SERVICE">%2$s</xliff:g> xizmatini toʻxtatish uchun <xliff:g id="STOP">%1$s</xliff:g> tugmasini bosing."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Faolsizlantirish"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Kerak emas"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"<xliff:g id="SERVICE">%1$s</xliff:g> faolsizlantirilsinmi?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Hech qanday xizmat o‘rnatilmagan"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Hech qanday xizmat tanlanmagan"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Hech qanday tavsif berilmagan."</string>
     <string name="settings_button" msgid="2195468788019730377">"Sozlamalar"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"yorugʻlikka taʼsirchanlik, fotofobiya, tungi mavzu, migren, bosh ogʻrigʻi, oʻqish rejimi, tungi rejim, xiralashtirish, oq nuqta"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Foydalanish oson, ochish oson, yordam beradi, foydali"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"koʻrish, eshitish, koʻr, kar, motorika, tezkorlik, yordamchi, yordam, foydalanish oson, ochish oson, dastak, yordam"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Oyna lupasi, zum, kattalashtirish, zaif koʻrish, kattalashtirish, katta qilish"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Taglavhalar, yopiq taglavhalar, CC, Jonli transkripsiya, nuqsonli eshitish, karlik, CART, nutq sintezatori, taglavha"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"rang kontrasti"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"motor, sichqoncha"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"eshitish apparatlari, nuqsonli eshitish, karlik, koxlear implantlar, ovoz kuchaytiruvchi qurilmalar va tovush protsessorlari"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"motorika, sichqoncha, tashqi sichqoncha, bosh uchun sichqoncha, moslashuvchan sichqoncha, nogironlar aravachasi, joystik"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"eshitish apparatlari, nuqsonli eshitish, karlik, koxlear implantlar, ovoz kuchaytiruvchi qurilmalar va tovush protsessorlari, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"nuqsonli eshitish, karlik, taglavhalar, teletayp, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"uchta tugma"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"tezkorlik, motorika, keksalar, artrit, rsi, insult, tremor, surunkali skleroz, bolalar falaji, qaltirash, qayta shikastlanish, dastak"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"kechikish, tezkorlik, keksalar"</string>
     <string name="print_settings" msgid="8519810615863882491">"Chop etish"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Oʻchiq"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 ta chop etish xizmati yoniq}other{# ta chop etish xizmati yoniq}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"Batareya quvvati <xliff:g id="REMAIN">%1$s</xliff:g>dan so‘ng tugaydi"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"Batareya quvvati <xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>dan so‘ng to‘ladi"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Foydalanish vaqti"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Fondagi faollik vaqti"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Batareya quvvati kam"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Ilovaga fonda ishlashiga ruxsat berish"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Fonda ishlashi cheklansinmi?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Bu ilovaning ishlashiga ta’sir ko‘rsatishi mumkin"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Bu ilova batareya sarfini optimallashtirish uchun sozlanmagani sababli uni cheklash imkonsiz.\n\nIlovani cheklash uchun avval batareya sarfini optimallashtirish funksiyasini yoqing."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Batareya sarfini boshqarish"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Fonda ishlashiga ruxsat berish"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Real vaqtda yangilanishini yoqish (batareya tejalishi oʻchiriladi)"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Cheklanmagan"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Optimallangan"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Cheklangan"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Batareyani koʻp sarflayotgan ilovalar"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Batareyangizni himoyalash uchun quvvatlash optimallashtirildi"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Batareyangiz ishlash muddatini uzaytirish maqsadida quvvatlash optimallashtirildi"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Batareyangizni himoyalash uchun quvvatlash optimallashtirildi"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Batareyangiz ishlash muddatini kengaytirish maqsadida dokka joylanganda quvvatlash optimallashtiriladi"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Batareyangizni himoyalash uchun quvvatlash optimallashtirildi"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Batareyangiz ishlash muddatini kengaytirish maqsadida dokka joylanganda quvvatlash optimallashtiriladi"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Toʻlgunicha quvvat olish"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Keyingi safar planshetingiz dokka joylanganda batareyangizni himoyalash uchun quvvatlash optimallashtiriladi"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Quvvatlash pauzasi haqida batafsil"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Davom ettirish"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Ichiga koʻproq quvvat talab qiluvchi fondagi harakatni oladi"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Bu ilova fonda batareya quvvatini ishlata oladi. Batareya quvvati kutilgandan tezroq tugashi mumkin."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Ha"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Bekor qilish"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Toʻliq quvvatlash"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Quvvatlash aksessuari bilan muammo"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Quvvatlash aksessuarini tekshiring"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Mos boʻlmagan quvvatlash haqida batafsil"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Batareya boshqaruvi"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Ilovalarni avtomatik boshqarish"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"toʻliq quvvat olganidan buyon"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Tizim ilovalari"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Oʻchirilgan ilovalar"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Boshqalar"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Taxminiy qolgan vaqt"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Quvvati to‘lishigacha qolgan vaqt"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Jami: bir daqiqadan kam"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Orqa fon rejimida: bir daqiqadan kam"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Qurilmadan foydalanish vaqti: bir daqiqadan kam"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Bir daqiqadan kam"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Jami: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Orqa fon rejimi: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Qurilmadan foydalanish vaqti: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"hozir"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g>, <xliff:g id="HOUR">%2$s</xliff:g>⁠"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>⁠"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Batareya sarfi diagrammasi"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Kunlik batareya sarfi sarhisobi"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Soatlik batareya sarfi sarhisobi"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Batareya quvvati foizi: <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> – <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Oxirgi toʻliq quvvatdan keyingi batareya sarfi"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Batareya quvvati sarfi (<xliff:g id="SLOT">%s</xliff:g>)"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Oxirgi toʻliq quvvatlanishdan keyin foydalanish vaqti"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Favqulodda chaqiruv signali"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Favqulodda qo‘ng‘iroq uchun xususiyat o‘rnatish"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Zaxiralash"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Yoniq"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Oʻchiq"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Zaxira nusxa va qayta tiklash"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Shaxsiy ma‘lumotlar"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Ma’lumotlarni zaxiralash"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Mobil internet va Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Avtomatik sinxronlash (shaxsiy)"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Avtomatik sinxronlash (ish)"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Yopiq maʼlumotlarni avto-sinxronlash"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"O‘zgartirish…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Oyning qaysi kunida trafik sarfi davri yangilansin:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Ushbu vaqt oralig‘ida hech qanday ilova trafik sarflamadi."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Tarmoq nomi"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Turi"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Server manzili"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP shifrlash (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP kaliti"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec identifikatori"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec umumiy kaliti"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec foydalanuvchi sertifikati"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec SM sertifikati"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec serveri sertifikati"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Kengaytirilgan sozlamalar"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS qidiruvi uchun domenlar"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS serverlar (m-n, 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Uzatish marshrutlari (m-n, 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Foydalanuvchi nomi"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Parol"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Hisob ma’lumotini saqlash"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ishlatilmagan)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(server tekshirilmasin)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(serverdan olingan)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Bu VPN tarmoq turi doim ulanib tura olmaydi"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"Doimiy VPN faqat raqamli server manzillari bilan ishlaydi"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Doimiy VPN uchun DNS serveri ko‘rsatilishi kerak"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Doimiy VPN uchun DNS server manzillari raqamdan iborat bo‘lishi lozim"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Kiritilgan ma’lumot doimiy VPN tarmoqni qo‘llab-quvvatlamaydi"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Bekor qilish"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Yopish"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"VPN tarmoqsiz ulanishlarni bloklash"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"VPN aloqasi talab qilinsinmi?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Xavfsiz emas. IKEv2 VPN tarmoqqa yangilang"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Mos kelmaydigan VPN ishga tushmadi."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Doimiy VPN tarmog‘ini tanlang: faqat ushbu tarmoqqa ulanganda trafik sarflanishiga ruxsat beriladi."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Ishlatilmasin"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"Server va DNS uchun IP manzilini ko‘rsating."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER ogohlantirishlari"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Bola o‘g‘irlash to‘g‘risidagi rasmiy axborotlarni olish"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Takrorlash"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Qo‘ng‘iroqlar boshqaruvchisini yoqish"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Chaqiruvlarni boshqarish."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Qo‘ng‘iroqlar boshqaruvchisi"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Simsiz tarmoqlar orqali favqulodda ogohlantirish"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Tarmoq operatorlari"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Ulanish nuqtalari"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM karta holati"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM karta holati (%1$d-SIM uyasi)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> sh.s.b"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM kartalar oʻzgardi."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM kartalar almashdi"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Sozlash uchun bosing"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Har safar so‘ralsin"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Tanlash zarur"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Oxirgi ilovalar, birlamchi ilovalar"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Ishchi profildagi ilovalarga bildirishnomalar ruxsati berilmagan."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Parollar va hisoblar"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Saqlangan parollar, avtomatik kiritish, sinxronlangan hisoblar"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Kirish va avtomatik kiritish uchun takliflar"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Birlamchi ilovalar"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Klon ilovalar"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Bir vaqtda ikkita hisobdan foydalanish uchun ilovaning ikkinchi nusxasini yartaing."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"Wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"to‘lash, bosish, to‘lovlar"</string>
     <string name="keywords_backup" msgid="707735920706667685">"zaxira, zaxira nusxa olish"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"imo-ishora"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"yuz, qulfdan chiqarish, tekshiruv, kirish"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"yuz, qulfni ochish, tekshiruv, kirish, barmoq izi, biometrik"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, prl versiyasi, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"matn oʻlchami, katta bosma, katta yozuv, katta matn, zaif koʻrish, matnni kattalashtirish, yozuvni kattalashtirish, katta yozuv"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"doim yoniq ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, teg, rider"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"klaviatura, sezish, tebranish,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Tovush balandligi, tebranish, Bezovta qilinmasin rejimi"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Multimedia tovushi"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Translatsiya tovushi balandligi"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Ovozni yoqish"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Jonli izoh"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Avtomatik taglavha yaratish"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Telefon karnaylari"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Planshet karnaylari"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Qurilma karnaylari"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Simli quloqlik"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Mos mediadan olingan audio yanada qiziqarli chiqadi"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Oʻchiq"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Bildirishnomalar butun chiqsin"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Maxfiy axborotlar faqat qulf ochilganda chiqsin"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Bildirishnomalar chiqmasin"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ekran qulfida nimalar chiqsin?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ekran qulfida nimalar chiqishini xohlaysiz?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Ekran qulfi"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Ish bildirishnomalarini toʻliq chiqarish"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ish profili ma’lumotlari berkitilsin"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Oxirgi suhbatlar olib tashlandi"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Suhbat olib tashlandi"</string>
     <string name="clear" msgid="5092178335409471100">"Tozalash"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Tozalash: <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Muhim va oʻzgargan suhbatlar shu yerda chiqadi"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Muhim deb belgilangan yoki oʻzgartirish kiritilgan xabarlar shu yerda chiqadi. \n\nSuhbat sozlamalarini oʻzgartirish uchun: \nEkran tepasini bosib pastga torting, keyin suhbat ustiga biroz bosib turing."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Kichraytirish"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Bildirishnomalarni cheklash"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Barcha bildirishnomalarga cheklov muddatini belgilash"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Bitta ilovadan ketma-ket koʻplab bildirishnomalar olinganda bildirishnomalar tovushi asta-sekin pasaytiriladi"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Suhbatlarga cheklov muddatini belgilash"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Bitta chatdan qisqa vaqt ichida ketma-ket koʻplab xabarlar olinganda bildirishnomalar tovushi asta-sekin pasaytiriladi"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Bildirishnomalar cheklanmasin"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Bitta ilovadan kelayotgan bildirishnomalar sonidan qatʼi nazar, hech qachon bildirishnomalar cheklanmasin"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Ochilganda tebransin"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Ekran qulfi ochilgandagina tebransin"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Ish profillariga tatbiq qilinsin"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Bildirishnomalarni cheklash sozlamalari shaxsiy profildan ish profiliga tatbiq qilinsin"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Yordamchi VR xizmatlar"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Hech qanday ilova yordamchi VR xizmatlar sifatida ishga tushirilishiga ruxsat so‘ramagan."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"VR xizmatiga “<xliff:g id="SERVICE">%1$s</xliff:g>” xizmatidan foydalanishga ruxsat berilsinmi?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Oʻchiq"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Ilovani mahkamlash"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Bu funksiya muayyan ilovaning ekranini telefonda boshqa ilovalarga kirishni yopgan holda mahkamlaydi. Undan tanishlar bilan oʻyin oʻynash uchun foydalanish mumkin."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Mahkamlangan ilova boshqa ilovalarni ochishi va shaxsiy maʼlumotlarga kirishi mumkin. \n\nBu funksiyadan foydalanish uchun quyidagilarni bajaring: 	\n1. Sozlamalar orqali funksiyani yoqing 	\n2. Umumiy menyusini oching 	\n3. Ekranning yuqori qismidagi ilova belgisini bosib, keyin Mahkamlash tugmasini bosing."</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Mahkamlangan ilova boshqa ilovalarni ochishi va shaxsiy maʼlumotlarga kirishi mumkin. \n\nAgar qurilmangizdan boshqalar foydalanadigan boʻlsa, ular uchun mehmon foydalanuvchini yoqing. \n\nBu funksiyadan foydalanish uchun quyidagilarni bajaring: 	\n1. Sozlamalar orqali funksiyani yoqing 	\n2. Umumiy menyusini oching 	\n3. Ekranning yuqori qismidagi ilova belgisini bosib, keyin Mahkamlash tugmasini bosing."</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Mahkamlangan ilova boshqa ilovalarni ochishi va shaxsiy maʼlumotlarga kirishi mumkin. \n\nIlovani qadash funksiyasidan foydalanish uchun: 	\n{0,number,integer}. Ilovani qadash funksiyasini yoqing 	\n{1,number,integer}. Umumiy menyusini oching 	\n{2,number,integer}. Ekranning yuqori qismidagi ilova belgisini bosib, keyin Mahkamlash tugmasini bosing."</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Mahkamlangan ilova boshqa ilovalarni ochishi va shaxsiy maʼlumotlarga kirishi mumkin. \n\nAgar qurilmangizdan boshqalar foydalanadigan boʻlsa, ular uchun mehmon foydalanuvchini yoqing. \n\nIlovani qadash funksiyasidan foydalanish uchun: 	\n{0,number,integer}. Ilovani qadash funksiyasini yoqing 	\n{1,number,integer}. Umumiy menyusini oching 	\n{2,number,integer}. Ekranning yuqori qismidagi ilova belgisini bosib, keyin Mahkamlash tugmasini bosing."</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Ilova mahkamlanganda: \n\n•		Shaxsiy maʼlumotlarga kira oladi \n		(masalan, kontaktlar va email kontenti) \n•		Boshqa ilovalarni ocha oladi \n\nBu funksiyadan faqat ishonchli odamlaringiz bilan foydalaning."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Yechishdan oldin grafik kalit so‘ralsin"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Yechishda PIN kod talab qilinsin"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Yechishdan oldin parol so‘ralsin"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Funksiya faolsizlantirilganda qurilmani qulflash"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM kartani oʻchirishni tadiqlash"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"eSIM karta tozalanishini tasdiqlang"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"eSIM kartani oʻchirishdan oldin shaxsingizni tasdiqlang"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Kuchaytirilgan xotira himoyasi beta"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Kuchaytirilgan xotira himoyasi"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Ishlatilmagan ilova sozlamalari"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Ishlatilmayotgan ilovalarni pauzalash"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Ruxsatlarni olib tashlash, vaqtinchalik fayllarni oʻchirish va bildirishnomalarni toʻxtatish"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Ishlatilmagan ilovalarni boshqarish"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Ruxsatlarni olib tashlash, vaqtinchalik fayllarni oʻchirish, bildirishnomalarni toʻxtatish va ilovani arxivlash"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Barcha ilovalar"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Oʻrnatilgan ilovalar"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Darhol ochiladigan ilovalar"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Bo‘sh"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Ilovalar sarflagan xotira"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{Oxirgi {time} da 1 ta ilova xotiradan foydalangan}other{Oxirgi {time} da # ta ilova xotiradan foydalangan}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Xotiradan foydalanishni profillarga ajratish yoniq"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Xotiradan foydalanishni profillarga ajratish qoʻshimcha tizim resurslarini sarflaydi"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Xotirani profillarga ajratish oʻchirildi"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Yuz berish oralig‘i"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Maksimal foydalanish"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Trafik sarflanmagan"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Boshqa ilovalar ustidan ochilish"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Boshqa ilovalar ustidan ochilish"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Interfeys elementlarini boshqa oynalar ustidan ochishga ruxsat berish. Bu ilova ekranda nimalar chiqishi va qaysi qismi bosilishini koʻra oladi."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Media chiqishini tanlash"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Ilova media chiqishini tanlashiga ruxsat berish"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Bu ilovaga qaysi ulangan qurilmada boshqa ilovadan audio yoki video ijro etishni tanlashga ruxsat berish. Ruxsat berilsa, bu ilova quloqlik va karnay kabi qurilmalar roʻyxatini olishi va qaysi chiqish qurilmasida audio yoki video ijro etilishini tanlashiga ruxsat beriladi."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Barcha fayllarga kirish ruxsati"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Barcha fayllarni boshqarishga ruxsat"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Bu ilovaga mazkur qurilmadagi yoki ulangan xotira qurilmalaridagi barcha fayllarni oʻqish, tahrirlash va oʻchirib tashlash uchun ruxsat beriladi. Ruxsat berilgandan keyin ilova fayllardan sizning xabaringizsiz foydalana oladi."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Barcha fayllarga ruxsati bor ilova"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ovoz bilan ishga tushadigan ilovalar"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Ovoz bilan ishga tushirishga ruxsat"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ovozli buyruqlar yordamida tanlangan ilovalarni ishga tushirishingiz mumkin. Ichki moslashuvchan sensor tufayli maʼlumotlaringizga faqat siz kirishingiz mumkin boʻladi.\n\n"<a href="">"Himoyali moslashuvchan sensor haqida batafsil"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Butun ekranda bildirishnomalar"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Bu ilova bildirishnomalarini butun ekranda chiqishiga ruxsat berish"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Bu ilovaga qurilma qulflanganida butun ekranni egallaydigan bildirishnoma chiqarishga ruxsat berish. Ilovalar uning yordamida signallar, kiruvchi chaqiruv yoki boshqa shoshilinch bildirishnomalarni ajratib koʻrsatishi mumkin."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Trafik sarfiga oid ogohlantirish: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Trafik limiti: <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Trafik sarfiga oid ogohlantirish: <xliff:g id="ID_1">^1</xliff:g> / trafik limiti: <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Aloqa operatorining hisob-kitobi qurilmanikidan farq qilishi mumkin"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Aloqa operatori orqali uzatilgan trafik kiritilmagan"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> sarflandi"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Trafik sarfiga oid ogohlantirish"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g> oldin yangilangan"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> tomonidan hozir yangilandi"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Hozir yangilandi"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Tarif rejasi"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Tafsilotlar"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Trafik tejash"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Cheklanmagan mobil internet"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> orqa fonda odatdagidan koʻproq batareya sarfladi"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> faol rejimda koʻproq batareya sarfladi"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> faol rejimda odatdagidan koʻproq batareya sarfladi"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Batareya noodatiy sarflanmoqda"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Yuqori batareya sarfi"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Orqa fonda yuqori batareya sarfi"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Faol rejimda yuqori batareya sarfi"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Tezkor sozlamalarning dasturchi tugmalari"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"adb avtorizatsiyasini bekor qilishni faolsizlantirish"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Standart holat boʻyicha (7 kun) yoki foydalanuvchi tomonidan belgilangan (kamida 1 kun) muddatda qayta ulanmagan tizimlar uchun adb avtorizatsiyasining avtomatik bekor qilinishini faolsizlantirish."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope trassirovkasi"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Sensorlar nofaol"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Ish profili sozlamalari"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Ish katalogidagi kontaktlarni shaxsiy ilovalar ichidan qidiring"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"tizim navigatsiyasi, 2 tugmali navigatsiya, 3 tugmali navigatsiya, ishorali navigatsiya"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Raqamli assistent"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Assistentni chaqirish uchun suring"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Raqamli assistent ilovasini chaqirish uchun pastki burchakdan tepaga qaratib suring."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Raqamli assistent ilovasini chaqirish uchun pastki burchakdan tepaga qaratib suring"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Assistentni chaqirish uchun Asosiy tugmani bosib turing"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Raqamli assistent ilovasini chaqirish uchun Asosiy tugmani bosib turing."</string>
     <string name="low_label" msgid="6525629096999711220">"Past"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Avtomatik kiritish"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Birlamchi avtomatik kiritish xizmati"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Parollar"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Parollar, kirish kalitlari va maʼlumotlar uchun xizmatlar"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Qoʻshimcha taʼminotchilar"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Tanlangan xizmat"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Qoʻshimcha xizmatlar"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# ta parol}other{# ta parol}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"avto, toʻldirish, avtotoʻldirish, parol"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"maʼlumotlar, kod, parol"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"avtomatik, kiritish, avtomatik kiritish, maʼlumotlar, kalit, parol"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Oʻzgartirish"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Ochish"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Hech biri tanlanmadi"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Bu ilova ishonchli ekanini tekshiring&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; ekraningizda nimani avtomatik kiritish kerakligini aniqlaydi."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ishlatilsinmi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ekrandagi avtomatik kiritish mumkin axborotlarni aniqlaydi. Endi yangi parollar, kalitlar va boshqa maʼlumotlar saqlanadi."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Parollar, kirish kalitlari va maʼlumotlar uchun xizmatlar"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ishlatilsinmi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Endi yangi parollar, kalitlar va boshqa axborotlar shu yerda saqlanadi. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ekrandagi elementlar yordamida avtomatik kiritish mumkin narsalarni aniqlashi mumkin."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Parol, kirish kaliti va avtomatik kiritish uchun maqbul xizmat"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"%1$s faolsizlantirilsinmi?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Bu xizmat faolsizlantirilsinmi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Hisobga kirganingizda saqlangan parollar, kalitlar, toʻlov usullari va boshqa maʼlumotlar avtomatik kiritilmaydi. Saqlangan axborotdan foydalanish uchun parol, kalit yoki axborot xizmatini tanlang."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Parollar, kalitlar va avtomatik kiritish"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Barcha xizmatlar faolsizlantirilsinmi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Hisobingizga kirganingizda parollar, kalitlar va boshqa saqlangan maʼlumotlar avtomatik toʻldirish uchun chiqmaydi"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Maqbul xizmatingiz quyidagiga oʻzgartirilsinmi: &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Yangi parollar, kalitlar va boshqa maʼlumotlar bundan buyon shu yerda saqlanadi. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ekrandagi elementlar yordamida avtomatik kiritish mumkin narsalarni aniqlashi mumkin"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"%1$s ishlatilsinmi?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Faolsizlantirish"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Oʻzgartirish"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Faqat 5 tagacha xizmatni yoqishingiz mumkin"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Boshqa xizmatni qoʻshish uchun kamida 1 ta eskisini faolsizlantiring"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s ekraningizda nimani avtomatik kiritish kerakligini aniqlaydi."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Parollar, kalitlar va maʼlumotlarni saqlash uchun xizmatlar soni cheklangan"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Bir vaqtda parollar, kalitlar va maʼlumotlarni saqlash uchun 5 tadan ortiq xizmat faol boʻlishi mumkin emas. Yangi xizmat qoʻshish uchun birortasini oʻchiring."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Parollar, kodlar va maʼlumotlarni saqlash boʻyicha xizmatlar soni cheklangan"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Bir vaqtda parollar, kodlar va maʼlumotlarni saqlash uchun 5 tadan ortiq xizmat faol boʻlishi mumkin emas. Yangi xizmat qoʻshish uchun birortasini oʻchiring."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Faolsizlantirish"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Avtomatik kiritish"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Jurnal yuritish darajasi"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Ilova mosligini faqat nosozliklari aniqlanadigan ilovalarda oʻzgartirish mumkin. Nosozliklari aniqlanadigan ilovani oʻrnating va qayta urining."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Bu sozlama boshqa parametrlarga bog‘liq"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Hisob"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d ta hisob"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Qurilma nomi"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Asosiy axborot"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Huquqiy va normativ talablar"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"NFC tegi skanerlanganda bu ilovani ishga tushirishga ruxsat bering.\nRuxsat berilsa, bu ilova NFC teglarini qayta ishlash uchun tanlanishi mumkin."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Yoqish"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"<xliff:g id="LABEL">%s</xliff:g>: qayerda ijro etiladi"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Audio ijro etiladi:"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Shu qurilma"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Chaqiruv paytida ishlamaydi"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Chaqiruv qabul qilish"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Sukut"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Yoqish uchun quvvat menyusida “Quvvat tugmasini bosib turing” sozlamasini oʻzgartiring."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Tarmoq tafsilotlari"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Telefoningizdagi barcha ilovalarga qurilma nomi koʻrinadi. Qurilmalarga Bluetooth yoki Wi-Fi tarmoq orqali ulanganingizda, Wi-Fi hotspot sozlaganingizda boshqa foydalanuvchilarni ularni koʻrishi mumkin."</string>
     <string name="devices_title" msgid="649715719278562515">"Qurilmalar"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Tarmoqni tanlash"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Ulanmagan"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Nomi"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Rang (mos ilovalar uchun)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Saqlash"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"SIM ishlatish"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Bu SIM kartadan foydalanish"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Oʻchiq"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Bu SIM kartani faolsizlantirish uchun uni olib tashlang"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"<xliff:g id="CARRIER">%1$s</xliff:g> tarmoq operatorini faollashtirish uchun bosing"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"SIM axborotini tozalash"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Bu SIM kartani faolsizlantirish uchun uni olib tashlang"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"<xliff:g id="CARRIER">%1$s</xliff:g> SIM kartasini faollashtirish uchun bosing"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"eSIM kartani tozalash"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Tarmoq turi"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Tarmoq rejimini almashtiring"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Tarmoq turi"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Paketlar narxlari haqidagi ma’lumotni internet provayderingizdan olishingiz mumkin."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Ilovalar sarflagan trafik"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Notanish tarmoq rejimi: <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Inkor qilish"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Sputnik orqali xabarlashuv"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Sputnik orqali matnli xabar yuborish va qabul qilish. Hisobingizga kiritilgan."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Sputnik orqali matnli xabar yuborish va qabul qilish. Hisobingizga kiritilmagan."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Sputnik orqali xabarlashuv"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Sputnik orqali xabarlashuv haqida"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Mos <xliff:g id="CARRIER_NAME">%1$s</xliff:g> hisobining bir qismi sifatida sputnik orqali matnli xabarlarni yuborishingiz va qabul qilishingiz mumkin"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> tarif rejangiz"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Sputnik orqali xabarlashuv hisobingizga kiritilgan"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Sputnik orqali xabarlashuv hisobingizga kiritilmagan"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Sputnik orqali xabarlashuvni kiritish"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Ishlash tartibi"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Mobil tarmoq mavjud boʻlmaganda"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Telefoningiz sputnikka avtomatik ulanadi. Yaxshiroq aloqa uchun ochiq osmon ostida turing."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Telefoningiz spurtnikka ulangandan keyin"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Istalgan kishiga, shuningdek, favqulodda xizmatlarga ham xabar yubora olasiz. Telefoningiz mobil tarmoq ishlashi bilan unga ulanadi."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Sputnik orqali xabarlashuv uzoqroq vaqt olishi mumkin va faqat ayrim hududlarda ishlaydi, ob-havo va ayrim tuzilmalar sputnik ulanishiga taʼsir qilishi mumkin. Sputnik orqali chaqiruv ishlamaydi.\n\nHisobingizdagi oʻzgarishlar Sozlamalarda chiqishi uchun biroz vaqt ketishi mumkin. Tafsilotlar uchun <xliff:g id="CARRIER_NAME">%1$s</xliff:g> bilan bogʻlaning."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Sputnik orqali xabarlashuv haqida batafsil"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Internetga ulanish nuqtalari (APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"<xliff:g id="CARRIER">%1$s</xliff:g> bilan ishlamaydi"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> tanlansinmi?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"SIM kartadagi internetga almashsinmi?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ishlatilsinmi?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Faqat bitta SIM kartani faollashtirish mumkin.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> yoqilganda <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Faqat 1 ta eSIM kartani faollashtirish mumkin.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> yoqilganda <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Faqat bitta SIM kartani faollashtirish mumkin.\n\nAlmashganda <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> aloqasini bekor qilmaydi."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Faqat 1 ta SIM kartani faollashtirish mumkin.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> yoqilganda <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Faqat 1 ta eSIM kartani faollashtirish mumkin.\n\n<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> yoqilganda <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> xizmati bekor qilinmaydi."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Faqat 1 ta eSIM kartani faollashtirish mumkin.\n\nAlmashtirilganda <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> xizmati bekor qilinmaydi."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Bir vaqtda 2 ta SIM karta ishlatish mumkin. <xliff:g id="CARRIER_NAME">%1$s</xliff:g> ishlatish uchun narigi SIM kartani faolsizlantiring."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Bunga almashish: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatorini faolsizlantiring"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"SIM karta faolsizlantirilsa, operator xizmatlari bekor qilinmaydi"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Tarmoqqa ulanmoqda…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Chaqiruvlar va SMS xabarlari uchun <xliff:g id="CARRIER_NAME">%1$s</xliff:g> operatoriga almashtirilmoqda…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Aloqa operatori almashtirilmadi"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Xatolik tufayli aloqa operatori almashtirilmadi."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"SIM karta faollashtirilmoqda…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Bunga almashilmoqda: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"SIM kartalar almashmadi"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Nimadir xato ketdi. SIM kartalar almashmadi."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> faolsizlantirilsinmi?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"SIM karta faolsizlantirilsinmi?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"SIM karta faolsizlantirmoqda<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Aloqa operatori faolsizlantirilmadi"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Xatolik yuz berdi va aloqa operatoringiz faolsizlantirilmadi."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"SIM karta faolsizlantirilmadi"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Nimadir xato ketdi va SIM karta faolsizlantirilmadi."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"2 ta SIM kartadan foydalanasizmi?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Bu qurilmada birdaniga 2 ta raqam faol boʻlishi mumkin. Hozircha 1 ta SIM kartadan foydalanishda davom etish uchun “Kerak emas” tugmasini bosing."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Qurilma qayta ishga tushirilsinmi?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Kerak emas"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Bekor qilish"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Almashtirish"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Faolsizlantirish"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"SIM karta faollashmadi"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"SIM kartani qaytadan yoqing. Agar muammo davom etsa, qurilmangizni qayta ishga tushiring."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"SIM kartangizni sozlang"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Bu qurilmada bir nechta SIM kartadan foydalanish uchun mobil tarmoq parametrlarini sozlang"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"SIM kartalaringizni yorliqlang"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Chaqiruvlar amalga oshirganingizda, SMS yuborganingizda va mobil internetdan foydalanganingizda hamda Sozlamalarda bu yorliqlar koʻrinadi"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM karta yorligʻi"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Yorliq"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Ishlatish uchun SIM kartani tanlang"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Bir vaqtda 2 ta SIM karta ishlatish mumkin"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Asosiy SIM kartangizni sozlang"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Chaqiruvlar, SMS va mobil internet uchun standart holatda qaysi SIM kartadan foydalanishni tanlang"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Asosiy SIM kartalaringiz"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Chaqiruvlar"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Matnlar"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Mobil internetni avtoalmashtirish"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Qamrovi va mavjudligiga qarab istalgan SIM kartaning mobil internetidan foydalaning"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Faqat internet"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Sozlash"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Keyingisi"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> yoqilmoqda…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mobil tarmoq"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Telefon raqami"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM yorligʻi va rangi"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Tarmoqni faollashtirish"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Aloqa operatorlarini oʻzaro almashtirish"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> faol"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM kartasi faol"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"SIM karta sozlamalarini yangilash uchun bosing"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Bunga almashdi: <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Boshqa operatorga almashdi"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mobil tarmoq almashtirildi"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Boshqa SIM kartani sozlang"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Faol foydalanadigan SIM kartangizni yoki bir vaqtda 2 ta SIM kartadan foydalanishni tanlang"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Foydalanish uchun raqamni tanlang"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Bu qurilmada 1 ta raqam bor, lekin bir vaqtda faqat bittasidan foydalanish mumkin.}=2{Bu qurilmada 2 ta raqam bor, lekin bir vaqtda faqat bittasidan foydalanish mumkin.}other{Bu qurilmada # ta raqam bor, lekin bir vaqtda faqat bittasidan foydalanish mumkin.}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Faollashtirilmoqda…<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Faollashmadi"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Ishlatiladigan SIM kartani tanlang"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Bu qurilmada 1 ta SIM karta bor, lekin bir vaqtda faqat bittasidan foydalanish mumkin}=2{Bu qurilmada 2 ta SIM karta bor, lekin bir vaqtda faqat bittasidan foydalanish mumkin}other{Bu qurilmada # ta SIM karta bor, lekin bir vaqtda faqat bittasidan foydalanish mumkin}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"<xliff:g id="ELLIPSIS">…</xliff:g> yoqilmoqda"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Hozir SIM kartani faollashtirish imkonsiz"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ishlatilsinmi?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> raqamidan mobil internet, chaqiruv va SMS xabarlari uchun foydalaniladi."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Faol SIM kartalar aniqlanmadi"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Mobil internet, chaqiruv funksiyalari va SMS xabarlardan keyinroq foydalanishni istasangiz, tarmoq sozlamalarini oching"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Bu eSIM karta oʻchirilsinmi?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Agar bu SIM karta maʼlumotlari tozalansa, ushbu qurilmadan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> xizmati ham tozalab tashlanadi.\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> xizmati bekor qilinmaydi."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Bu qurilmadan <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> xizmati olib tashlanadi, lekin <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> tarif rejasi bekor qilinmaydi."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Tozalash"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"SIM karta axboroti tozalanmoqda…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"SIM karta axboroti tozalanmadi"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Bu SIM karta axboroti xatolik sabab tozalanmadi.\n\nQurilmani qayta ishga tushirib, yana urining."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"eSIM tozalanmoqda…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"eSIM tozalanmadi"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Nimadir xato ketdi va bu eSIM tozalanmadi.\n\nQurilmangizni qayta ishga tushiring va qaytadan urining."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Qurilmaga ulanish"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"<xliff:g id="APPNAME">%1$s</xliff:g> ilovasi qurilmangizga ulanish uchun vaqtinchalik Wi‑Fi tarmoqdan foydalanmoqchi"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Qurilmalar topilmadi. Qurilmalar yoniq va tarmoqda ekanligi tekshiring."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Favqulodda qoʻngʻiroqlar"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Aloqa operatoringiz Wi-Fi chaqiruvlar orqali Favqulodda qoʻngʻiroqlar uchun mos emas.\nQurilma favqulodda qoʻngʻiroq bajarish uchun avtomatik ravishda mobil tarmoqdan foydalanadi.\nFavqulodda qoʻngʻiroqlar faqatgina mobil aloqa qamrovi ichida ishlaydi."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Chaqiruvlar sifatini oshirish uchun Wi-Fi tarmoqdan foydalaning"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Zaxiraviy chaqiruv"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ishlamaganda yoki roumingda <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> uchun SIM karta mobil internetidan foydalaning."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"zaxiraviy chaqiruv"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"MMS xabar keldi"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"MMS xabar yuborilmadi"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Mobil internet nofaolligida <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> orqali MMS xabarlashuvga ruxsat berish uchun bosing"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Ish siyosati haqida axborot"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Sozlamalar AT administratori tomonidan boshqariladi"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"16 KB sahifa hajmi bilan yoqish"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Qurilmani 16 KB sahifa hajmini dastaklaydigan yadro bilan yoqish"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"16 KB sahifa hajmi bilan mos yadro bilan qayta yoqilsinmi?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"OGOHLANTIRISH: Ayrim ilovalar bu rejim bilan mos kelmasligi mumkin. Tasdiqlangandan keyin qurilma qayta yoqiladi."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"4 KB sahifa hajmi bilan mos yadro bilan qayta yoqilsinmi?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Tasdiqlangandan keyin qurilma qayta yoqiladi."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"16 KB sahifa hajmi bilan mos yadroga yangilanmadi."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Oʻzgarish tatbiq qilinmoqda"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Xatoliklarni xabar qilish vositasi"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Qurilmadagi qaysi ilova xatoliklarni xabar qilish vositasi bilan ishlashini aniqlaydi."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Shaxsiy"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Boshqa ilovalar ustidan ochiladigan ilovalarga ruxsat berish"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Soxta modemga ruxsat berish"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Bu qurilmada asboblarni tekshirish uchun soxta modem xizmatini ishga tushirishga ruxsat bering. Telefondan odatiy foydalanish vaqtida buni yoqmang"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Ekran namoyishi himoyalarini faolsizlantirish"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Ekranni namoyishi paytida tizim qoʻllaniladigan ilova va bildirishnomalar himoyasini faolsizlantiradi"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Media"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Media pleyerni mahkamlash"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Ijroga tez qaytish, media pleyer Tezkor sozlamalarda chiqadi"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Multimedia ijrosini ekran qulfida chiqarish"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Ijroni tezkor davom ettirish, multimedia pleyeri ekran qulfida chiqadi"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Media tavsiyalarni chiqarish"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Assistent media tavsiyalarini chiqarish"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Faoliyatingiz asosida"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Pleyerni berkitish"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Pleyerni chiqarish"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"media"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Kamera dasturlari kengaytmalaridan foydalanishga ruxsat bering"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Eyes Free videografiyasi kabi qoʻshimcha kamera funksiyalarining standart dasturini yoqadi."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth yoqiladi"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM kartalar"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM kartalar"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Faol"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Nofaol"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Yoniq"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Oʻchiq"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g> uchun birlamchi"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"chaqiruvlar"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Mos mediadan olingan audio yanada qiziqarli chiqadi"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Boshni kuzatish"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Ovoz tabiiyroq chiqishi uchun boshingizni harakatlantirganda oʻzgaradi"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Sinxronlash ruxsatlari"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> soatingizga <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g> qurilmasida ruxsat bergan ilova ruxsatlarini bering"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Telefondan ruxsatlarni sinxronlash"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Soatingizga bu telefonda ruxsat bergan ilova ruxsatlarini bering"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Audio qurilma turi"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Noaniq"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Karnay"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Oʻrtacha"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Yuqori"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Bu ilovani faqat 1 ta oynada ochish mumkin"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Yoniq"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Oʻchiq"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Oʻchiq"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Oʻchiq"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Yoniq"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Oʻchiq"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Yoniq"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Oʻchiq"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Yorqin ranglarni qora va qora ranglarni yorqin qilish"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Ekrandagi zum"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Oʻchiq"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Oʻchiq"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Aldovchi ilovalar uchun tekshirish"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Fishing uchun ilovadagi faoliyatni tekshirish"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Aldovchi ilovalar uchun tekshiring"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Ishga oid aldovchi ilovalar uchun tekshiring"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Parol sozlandi"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Ustiga olib borganda kursorni koʻrsatish"</string>
 </resources>
diff --git a/res/values-vi/arrays.xml b/res/values-vi/arrays.xml
index afbf7b3..4383d1f 100644
--- a/res/values-vi/arrays.xml
+++ b/res/values-vi/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Có sẵn"</item>
     <item msgid="6096962300722555553">"Ngoài vùng phủ sóng"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Đã tắt"</item>
+    <item msgid="7781484297606806796">"Unicast"</item>
+    <item msgid="6667451574264144311">"Unicast và Broadcast"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Sử dụng giá trị mặc định của hệ thống: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Sau 1 phút"</item>
     <item msgid="1574040255478150028">"Sau 5 phút"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-vi/strings.xml b/res/values-vi/strings.xml
index 02edc43..ab46b01 100644
--- a/res/values-vi/strings.xml
+++ b/res/values-vi/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Bạn đã là nhà phát triển!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Không cần, bạn đã là nhà phát triển."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Vui lòng bật tùy chọn của nhà phát triển trước."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Chỉ người dùng quản trị mới dùng được các chế độ cài đặt dành cho nhà phát triển."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Hệ thống"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Đang sử dụng"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Không có dịch vụ"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Màn hình ngoài sẽ bật khi bạn gập thiết bị"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Chỉ trò chơi, video và nhiều nội dung khác"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Màn hình ngoài bật đối với các ứng dụng ngăn không cho màn hình chuyển sang chế độ rảnh"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Vuốt lên để tiếp tục"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Gập điện thoại và vuốt lên trên màn hình ngoài để tiếp tục sử dụng ứng dụng, hoặc đợi vài giây để màn hình tự khoá lại"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Không bao giờ"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Màn hình ngoài sẽ khoá khi bạn gập thiết bị"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Dùng chế độ tự động xoay"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Công cụ liên quan"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"Nhạc chuông và chuông báo"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Âm thanh trong cuộc gọi"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Nội dung nghe nhìn"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Thông báo và âm thanh hệ thống khác"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Âm thanh nội dung nghe nhìn và hệ thống"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Thông báo"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Theo mặc định, đầu ra âm thanh do từng ứng dụng xác định"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Thiết bị Bluetooth chưa được đặt tên"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Đang tìm kiếm"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Huỷ"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Tắt âm thanh năng lượng thấp qua Bluetooth"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Tắt tính năng âm thanh năng lượng thấp qua Bluetooth nếu thiết bị hỗ trợ chức năng phần cứng âm thanh năng lượng thấp."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Bluetooth Âm thanh năng lượng thấp"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Hiện nút bật/tắt Âm thanh năng lượng thấp"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Bật danh sách cho phép Bluetooth Âm thanh năng lượng thấp"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Bật tính năng danh sách cho phép Bluetooth Âm thanh năng lượng thấp."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Bỏ qua danh sách cho phép đối với tính năng Bluetooth Âm thanh năng lượng thấp"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Sử dụng Âm thanh năng lượng thấp theo mặc định, ngay cả khi chưa xác minh được rằng thiết bị ngoại vi Âm thanh năng lượng thấp đáp ứng tiêu chí của danh sách cho phép."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Thiết bị truyền thông"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Thiết bị gọi điện"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Thiết bị khác"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Thiết bị đã lưu"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Được liên kết với tài khoản"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Đã dùng trước đây với tài khoản"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"Bluetooth sẽ bật để ghép nối"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Lựa chọn ưu tiên về kết nối"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Đã kết nối trước đây"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"Đã bật Bluetooth"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Xem tất cả"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Xem tất cả"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"Bút cảm ứng"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Nhấp vào nút ở đuôi"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Hồ sơ công việc)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Viết vào trường văn bản"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Bỏ qua tất cả các lần nhấn nút bằng bút cảm ứng"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"Bút cảm ứng"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Chia sẻ âm thanh"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Chia sẻ âm thanh"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Cuộc gọi và chuông báo"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Kết nối với một luồng âm thanh bằng mã QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Không tìm thấy luồng âm thanh ở gần nào."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Ngày và giờ"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Xóa"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Thêm %s vào ngôn ngữ được ưu tiên?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Thao tác này cho phép các ứng dụng và trang web biết rằng bạn cũng ưu tiên ngôn ngữ này."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Các chế độ cài đặt thiết bị và lựa chọn ưu tiên theo khu vực sẽ thay đổi."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Thay đổi"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"%s không dùng được"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"Thứ Bảy"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Nếu một ứng dụng không hỗ trợ lựa chọn ưu tiên theo khu vực, thì ứng dụng đó sẽ sử dụng chế độ cài đặt ngôn ngữ mặc định."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Tìm hiểu thêm về các lựa chọn ngôn ngữ ưu tiên."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Lựa chọn ưu tiên khác"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Cách xưng hô"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Thiết lập cách xưng hô với bạn"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Các ứng dụng có thể sử dụng cách xưng hô mà bạn thiết lập để cá nhân hoá việc xưng hô với bạn."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Chưa chỉ định"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Nữ giới"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Nam giới"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Trung tính"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Xoá ngôn ngữ đã chọn?}other{Xoá các ngôn ngữ đã chọn?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Văn bản sẽ hiển thị bằng ngôn ngữ khác."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Không thể xóa tất cả ngôn ngữ"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Vị trí"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Sử dụng vị trí"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Đang tắt"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{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_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_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ững người ứ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="5329024810729665156">"Tìm hiểu thêm về chế độ Cài đặt vị trí."</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="3574930966097093550">"Thay đổi quyền vị trí: Cài đặt &gt; Bảo mật &amp; quyền riêng tư &gt; Kiểm soát quyền riêng tư"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Tài khoản"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Bảo mật"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Mã hóa và thông tin xác thực"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Để đạt kết quả tốt nhất, hãy sử dụng miếng bảo vệ màn hình có chứng nhận Made for Google. Với các miếng bảo vệ màn hình khác, thiết bị có thể không nhận dạng được dấu vân tay của con bạn."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Mở khoá bằng đồng hồ"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Khi bạn 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, điện thoại của bạn sẽ yêu cầu bạn cung cấp vân tay khi bạn đeo khẩu trang hoặc ở chỗ tối.\n\nBạn có thể mở khoá bằng đồng hồ khi điện thoại không nhận dạng được khuôn mặt hoặc vân tay của bạn."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Bạn có thể mở khoá bằng đồng hồ khi điện thoại không nhận dạng được vân tay của bạn."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Bạn có thể mở khoá bằng đồng hồ khi điện thoại không nhận dạng được khuôn mặt của bạn."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Khi bạn thiết lập tính năng Mở khoá bằng khuôn mặt và Mở khoá bằng vân tay, điện thoại của bạn sẽ yêu cầu bạn cung cấp vân tay khi bạn đeo khẩu trang hoặc ở chỗ tối.\n\nTính năng Mở khoá bằng đồng hồ là một cách thuận tiện khác để mở khoá điện thoại của bạn, chẳng hạn như khi ngón tay bạn bị ướt hoặc không nhận diện được khuôn mặt."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"Tính năng Mở khoá bằng đồng hồ là một cách thuận tiện khác để mở khoá điện thoại của bạn, chẳng hạn như khi không nhận diện được vân tay của bạn."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"Tính năng Mở khoá bằng đồng hồ là một cách thuận tiện khác để mở khoá điện thoại của bạn, chẳng hạn như khi ngón tay bạn bị ướt hoặc không nhận diện được khuôn mặt."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Dùng vân tay hoặc đồng hồ để"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Dùng khuôn mặt hoặc đồng hồ để"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Dùng khuôn mặt, vân tay hoặc đồng hồ để"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Mở khoá bằng đồng hồ là một tính năng tiện lợi giúp bạn mở khoá điện thoại khi tay bạn dính nước hoặc khi điện thoại không nhận dạng được khuôn mặt của bạn.\n\nBạn có thể dùng đồng hồ của mình để mở khoá điện thoại bằng cách:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Để sau"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Tiếp tục"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Xem thêm"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Cách thức hoạt động"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Bạn phải mở khoá đồng hồ, đeo đồng hồ trên tay và để trong phạm vi của điện thoại này. Khi đeo đồng hồ trên tay, bạn không cần phải mở khoá đồng hồ thêm lần nữa."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Khi điện thoại mở khoá, bạn sẽ nhận được thông báo trên đồng hồ. Nếu điện thoại được mở khoá khi bạn không định làm vậy, hãy nhấn vào thông báo để khoá điện thoại lại."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Bạn nắm quyền kiểm soát"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Lúc nào bạn cũng có thể mở phần Cài đặt để xoá đồng hồ của mình khỏi tính năng Mở khoá bằng đồng hồ"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Nhấn vào thông báo"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Vuốt màn hình khoá từ dưới lên"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Chọn đồng hồ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Những đồng hồ hỗ trợ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Huỷ"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Xác nhận"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Bạn đã hoàn tất!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Giờ đây, bạn có thể dùng đồng hồ của mình để mở khoá điện thoại này bằng cách vuốt màn hình khoá từ dưới lên hoặc nhấn vào thông báo"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Xong"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Mở khoá bằng đồng hồ"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Bạn có thể dùng đồng hồ của mình để mở khoá điện thoại bằng cách vuốt màn hình khoá từ dưới lên hoặc nhấn vào một thông báo"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Để sử dụng tính năng Mở khoá bằng đồng hồ, đồng hồ của bạn phải được mở khoá, đeo trên tay, nằm trong phạm vi của điện thoại và được kết nối với điện thoại. Nếu kết nối bị gián đoạn, bạn sẽ phải mở khoá điện thoại trước khi sử dụng tính năng Mở khoá bằng đồng hồ.\n\nLưu ý:\nMỗi lần, bạn chỉ có thể thiết lập một đồng hồ. Nếu muốn thêm đồng hồ khác thì trước tiên, bạn phải xoá đồng hồ hiện tại."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Bảo mật"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Quyền riêng tư"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Hồ sơ công việc"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Không gian riêng tư"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Luôn khoá và ẩn các ứng dụng riêng tư"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Đưa các ứng dụng riêng tư vào một không gian riêng biệt mà bạn có thể ẩn hoặc khoá"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Khoá không gian riêng tư"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Bạn có thể mở khoá không gian riêng tư theo cách tương tự như mở khoá thiết bị của mình, hoặc chọn một phương thức khoá khác"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Sử dụng phương thức khoá màn hình thiết bị"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Mở khoá bằng khuôn mặt và vân tay"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Mở khoá bằng vân tay"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Mở khoá bằng khuôn mặt"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Nhấn để thiết lập"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Tính năng Mở khoá bằng vân tay cho không gian riêng tư"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Tính năng Mở khoá bằng khuôn mặt cho không gian riêng tư"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Cách mở khoá"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Giống như phương thức khoá màn hình thiết bị"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Chọn một khoá mới cho không gian riêng tư?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Tự động khoá không gian riêng tư"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Bạn có thể tự động khoá không gian riêng tư của mình nếu không sử dụng thiết bị trong một khoảng thời gian"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Mỗi khi khoá thiết bị"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Sau 5 phút không hoạt động"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Không bao giờ"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Ẩn khi khoá"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Ẩn không gian riêng tư khi không gian đó bị khoá"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Để ngăn người khác biết bạn có không gian riêng tư trên thiết bị của mình, bạn có thể ẩn không gian đó khỏi danh sách ứng dụng"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Truy cập thông gian riêng tư khi không gian đó bị ẩn"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Trên danh sách ứng dụng, hãy nhập \"không gian riêng tư\" vào thanh tìm kiếm"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Nhấn vào ô Không gian riêng tư"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Mở khoá không gian riêng tư"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Tắt"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Bật"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Hệ thống"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Xoá không gian riêng tư"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Xoá Không gian riêng tư?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Không gian riêng tư của bạn sẽ bị xoá khỏi thiết bị này. Mọi dữ liệu và ứng dụng riêng tư sẽ bị xoá. Bạn không thể huỷ thao tác này."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Các tài khoản sau sẽ bị xoá khỏi không gian riêng tư của bạn:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Xoá"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Đang xoá không gian riêng tư…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Quá trình này sẽ mất vài phút"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Đã xoá không gian riêng tư"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Không xoá được không gian riêng tư"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Đã mở khoá không gian riêng tư"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Đặt phương thức khoá màn hình"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Để dùng Không gian riêng tư, hãy thiết lập một phương thức khoá màn hình trên thiết bị này"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Đặt phương thức khoá màn hình"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Huỷ"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Huỷ"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Thiết lập"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Thiết lập không gian riêng tư"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Đưa các ứng dụng riêng tư vào một không gian riêng biệt mà bạn có thể ẩn hoặc khoá"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Cơ chế hoạt động"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Bạn có thể truy cập Không gian riêng tư từ cuối danh sách ứng dụng"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Ứng dụng trong không gian riêng tư được bảo vệ bằng khoá"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Thông báo của các ứng dụng trong không gian riêng tư của bạn sẽ bị ẩn khi tính năng này đang khoá"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Các ứng dụng trong không gian riêng tư sẽ không xuất hiện trong trình quản lý quyền, bảng tổng quan về quyền riêng tư và một số chế độ cài đặt khác khi không gian riêng tư đang khoá.\n\nKhông chuyển được không gian riêng tư của bạn sang thiết bị mới. Bạn sẽ cần thiết lập một không gian riêng tư khác nếu muốn sử dụng không gian đó trên một thiết bị khác.\n\nBất cứ ai kết nối thiết bị của bạn với máy tính hoặc cài đặt ứng dụng gây hại trên thiết bị của bạn đều có thể truy cập vào không gian riêng tư của bạn."</string>
+    <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_notifications_hidden_title" msgid="2009112565217540581">"Thông báo của các ứng dụng trong không gian riêng tư sẽ bị ẩn khi không gian đó bị khoá"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Mở khoá không gian riêng tư để chia sẻ ảnh hoặc tệp"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Một số ứng dụng đã được cài đặt vào không gian riêng tư của bạn"</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_lockscreen_title" msgid="6034864097861137509">"Dùng khoá màn hình để mở khoá không gian riêng tư?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Bạn có thể mở khoá không gian riêng tư theo cách tương tự như mở khoá thiết bị của mình, hoặc chọn một phương thức khoá khác"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Dùng phương thức khoá màn hình"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Chọn phương thức khoá mới"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Đã hoàn tất!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Để tìm không gian riêng tư của bạn, hãy mở danh sách ứng dụng rồi cuộn xuống"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Xong"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Di chuyển xuống để tìm không gian riêng tư"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Đăng nhập"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Hãy đăng nhập vào một tài khoản mà bạn sẽ sử dụng cho không gian riêng tư của mình"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Để sau"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Tiếp tục"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Chọn một phương thức khoá cho không gian riêng tư"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Bạn có thể mở khoá không gian riêng tư bằng vân tay của mình. Để bảo mật, lựa chọn này yêu cầu bạn phải có một phương thức khoá dự phòng."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Đặt mã PIN cho không gian riêng tư"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Đặt mật khẩu cho không gian riêng tư"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Đặt hình mở khoá cho không gian riêng tư"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Bạn có thể thêm tối đa <xliff:g id="COUNT">%d</xliff:g> vân tay"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Bạn đã thêm số vân tay tối đa"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Không thể thêm dấu vân tay khác"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Hình mở khóa"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"Mã PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Mật khẩu"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Xóa phương thức khóa màn hình?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Xoá tất cả các loại phương thức mở khoá thiết bị?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Xóa tính năng bảo vệ hồ sơ?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Hình mở khóa giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Hình mở khóa giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Thao tác xóa hình mở khóa sẽ xóa mẫu vân tay lưu trên thiết bị của bạn. Mẫu khuôn mặt của bạn cũng sẽ bị xóa vĩnh viễn theo cách an toàn. Bạn sẽ không thể dùng khuôn mặt hoặc vân tay của mình để xác thực trong các ứng dụng."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Mã PIN giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Bạn sẽ mất dữ liệu đã lưu, chẳng hạn như mã PIN.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Những thẻ được thiết lập tính năng thanh toán không tiếp xúc sẽ bị xoá.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ví và các ứng dụng khác (cần mở khoá thiết bị) có thể không hoạt động bình thường."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Mã PIN giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Thao tác xóa mã PIN cũng sẽ xóa mẫu vân tay lưu trên thiết bị của bạn. Bạn sẽ không thể dùng vân tay của mình để xác thực trong các ứng dụng."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Bạn sẽ mất dữ liệu đã lưu, chẳng hạn như mã PIN và mẫu vân tay.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Những thẻ được thiết lập tính năng thanh toán không tiếp xúc sẽ bị xoá.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ví và các ứng dụng khác (cần mở khoá thiết bị) có thể không hoạt động bình thường."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Mã PIN giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Mẫu khuôn mặt của bạn cũng sẽ bị xóa vĩnh viễn theo cách an toàn. Bạn sẽ không thể dùng khuôn mặt của mình để xác thực trong các ứng dụng."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Bạn sẽ mất dữ liệu đã lưu, chẳng hạn như mã PIN và mẫu khuôn mặt.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Những thẻ được thiết lập tính năng thanh toán không tiếp xúc sẽ bị xoá.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ví và các ứng dụng khác (cần mở khoá thiết bị) có thể không hoạt động bình thường."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Mã PIN giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Thao tác xóa mã PIN sẽ xóa mẫu vân tay lưu trên thiết bị của bạn. Mẫu khuôn mặt của bạn cũng sẽ bị xóa vĩnh viễn theo cách an toàn. Bạn sẽ không thể dùng khuôn mặt hoặc vân tay của mình để xác thực trong các ứng dụng."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Bạn sẽ mất dữ liệu đã lưu, chẳng hạn như mã PIN, mẫu khuôn mặt và vân tay.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Những thẻ được thiết lập tính năng thanh toán không tiếp xúc sẽ bị xoá.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ví và các ứng dụng khác (cần mở khoá thiết bị) có thể không hoạt động bình thường."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Mật khẩu giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Mật khẩu giúp bảo vệ điện thoại của bạn trong trường hợp bị mất hoặc bị đánh cắp.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Ghép nối với <xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Thêm thiết bị mới vào bộ thiết bị phối hợp hiện có"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Xác nhận để thêm bộ phận thứ hai của thiết bị âm thanh"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Mã ghép nối Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Nhập mã ghép nối, sau đó nhấn Quay lại hoặc Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN chứa các ký tự hoặc biểu tượng"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Phải có 16 chữ số"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Bạn cũng có thể cần nhập mã PIN này trên thiết bị khác."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Bạn cũng có thể cần nhập mã xác nhận này trên thiết bị khác."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Xác nhận ghép nối với bộ thiết bị"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Hãy xác nhận để ghép nối với thiết bị âm thanh"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Cho phép truy cập vào danh bạ và nhật ký cuộc gọi của bạn"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Cho phép truy cập cả danh bạ và nhật ký cuộc gọi"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Thông tin sẽ được sử dụng cho tính năng thông báo cuộc gọi và nhiều tính năng khác"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Không thể kết nối với <xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Thiết bị có sẵn"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Kết nối"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Ngắt kết nối"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Ghép nối và kết nối"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Khi Bluetooth bật, thiết bị của bạn có thể kết nối với thiết bị Bluetooth khác ở gần."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Bật Bluetooth để kết nối với thiết bị khác ở gần"</string>
     <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_scan_change" msgid="1744636222637390367">"Thay đổi"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Chi tiết thiết bị"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Cho phép ART xác minh bytecode cho các ứng dụng có thể gỡ lỗi"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Hiện tốc độ làm mới"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Hiện tốc độ làm mới trên màn hình hiện tại"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Hiện tỷ lệ HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Hiện tỷ lệ HDR/SDR hiện tại"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Yêu cầu mở khóa thiết bị để sử dụng NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Ở chế độ trên máy bay"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Thông báo về mạng công cộng"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Thông báo khi có mạng công cộng chất lượng cao"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Cho phép kết nối với mạng WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP là một giao thức bảo mật cũ và kém an toàn hơn"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Nhà mạng của bạn không cho phép kết nối với mạng WEP vì mạng này kém an toàn hơn"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Tự động bật Wi-Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"Wi-Fi sẽ bật lại khi ở gần các mạng đã lưu chất lượng cao, chẳng hạn như mạng gia đình của bạn"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Không hoạt động vì đã tắt vị trí. Hãy bật "<annotation id="link">"vị trí"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Chế độ Quét tìm Wi-Fi cho phép các ứng dụng và dịch vụ quét tìm mạng Wi‑Fi bất kỳ lúc nào, ngay cả khi Wi-Fi tắt. Chế độ này có thể cải thiện các tính năng và dịch vụ dựa trên vị trí."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Bật"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Đã bật tính năng quét tìm Wi‑Fi"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Mạng này dùng một giao thức bảo mật cũ và kém an toàn hơn"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"<xliff:g id="NAME">%1$s</xliff:g> đã bị chặn"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Mạng này dùng một giao thức bảo mật cũ hơn có tên là WEP, giao thức này cũng kém an toàn hơn. Nếu quyết định vẫn kết nối, bạn có thể cho phép mạng WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Nhà mạng của bạn không cho phép kết nối với mạng này vì mạng này dùng một giao thức bảo mật cũ và kém an toàn hơn"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Cho phép WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Đóng"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Tùy chọn nâng cao"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Danh sách thả xuống của Tùy chọn nâng cao"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"mở rộng"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Luôn sử dụng Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Không bao giờ hiển thị lại"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Kết nối"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Đã bật Wi-Fi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Đã kết nối với <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Đang kết nối với <xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Đang kết nối…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Không thể kết nối với mạng"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Đang nằm ngoài vùng phủ sóng của mạng"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Xóa"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Sửa đổi"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Không thể xóa mạng"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Lưu"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Không thể lưu mạng"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Hủy"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Dữ liệu di động"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> – Đang sạc"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> – Đang sạc"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Kết nối điểm phát sóng"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Cường độ tín hiệu kết nối"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Mạng đã lưu"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Chưa đặt mật khẩu"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Tên điểm phát sóng"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Mật khẩu điểm phát sóng"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"Băng tần AP"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Tự động tắt điểm phát sóng"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Khi không có thiết bị nào kết nối"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Tăng cường khả năng tương thích"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Cân bằng trắng của màn hình"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Tiếp tục dùng ứng dụng sau khi gập điện thoại"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Hình ảnh mượt"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Tự động tăng tốc độ làm mới từ 60 lên <xliff:g id="ID_1">%1$s</xliff:g> Hz đối với một số nội dung. Chế độ cài đặt này sẽ làm tăng mức sử dụng pin."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Tắt tốc độ khung hình mặc định cho trò chơi"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Tắt tuỳ chọn giới hạn tốc độ khung hình tối đa cho trò chơi ở <xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"Hình ảnh mượt"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Tự động tăng tốc độ làm mới từ 60 lên đến <xliff:g id="ID_1">%1$d</xliff:g> Hz đối với một số nội dung. Chế độ cài đặt này sẽ làm tăng mức sử dụng pin."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Buộc chuyển sang tốc độ làm mới cao nhất"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Tốc độ làm mới cao nhất giúp cải thiện khả năng phản hồi khi chạm và chất lượng ảnh động. Tính năng này làm tăng mức sử dụng pin."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Phát hiện ánh mắt"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Tính năng phát hiện ánh mắt sử dụng máy ảnh trước để xem liệu có ai đang nhìn vào màn hình hay không. Tính năng này hoạt động trên thiết bị nên sẽ không bao giờ lưu trữ hoặc gửi hình ảnh cho Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Bật tính năng phát hiện ánh mắt"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Giữ màn hình luôn bật khi bạn nhìn vào"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Thời gian chờ khoá màn hình dài hơn sẽ tốn nhiều pin hơn."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Máy ảnh bị khóa"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Bạn phải mở khóa máy ảnh để sử dụng tính năng Phát hiện khuôn mặt"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Bạn phải mở khóa máy ảnh để dùng tính năng Phát hiện ánh mắt"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (khe cắm thẻ SIM <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (khe cắm thẻ SIM <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (chính)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Để xem, hãy chọn mạng đã lưu"</string>
+    <string name="status_imei" msgid="5719752369250485007">"Số IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"Số IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Phiên bản PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Mức pin"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Dùng chung"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Các chế độ cài đặt dùng chung"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Tin nhắn vệ tinh"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Chỉnh sửa điểm truy cập"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Thêm điểm truy cập"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"Chưa đặt"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Chưa đặt"</string>
     <string name="apn_name" msgid="6677695784108157953">"Tên"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"Đã bật APN"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"Đã tắt APN"</string>
     <string name="bearer" msgid="3231443241639159358">"Sóng mang"</string>
+    <string name="network_type" msgid="748590707422733595">"Loại mạng"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Không xác định"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Kiểu MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Giá trị MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Xóa APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Lưu"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Hủy"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Mục nhập APN trùng lặp."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Không được để trống trường Tên."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN không được để trống."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Trường MCC phải có 3 chữ số."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Trường MNC phải có 2 hoặc 3 chữ số."</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Nhà cung cấp dịch vụ không cho phép thêm APN thuộc loại %s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Trường MMSC phải hợp lệ."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Đang khôi phục cài đặt APN mặc định."</string>
     <string name="menu_restore" msgid="4310539620115151551">"Đặt lại về mặc định"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Đã đặt lại xong các tùy chọn cài đặt APN mặc định về trạng thái ban đầu."</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Đặt lại"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"Đã đặt lại Bluetooth và Wi‑Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Xoá eSIM"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Thao tác này sẽ không hủy gói dịch vụ di động nào. Để tải SIM thay thế xuống, hãy liên hệ với nhà mạng của bạn."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Thao tác này sẽ không huỷ gói dịch vụ di động của bạn. Để nhận SIM thay thế, hãy liên hệ với nhà mạng."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Đặt lại chế độ cài đặt"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Bạn muốn đặt lại tất cả chế độ cài đặt mạng? Bạn không thể hủy thao tác này sau khi thực hiện."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Đặt lại mọi chế độ cài đặt mạng và xoá eSIM? Bạn không thể huỷ thao tác này."</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Đặt lại?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Người dùng này không được phép đặt lại mạng"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Cài đặt mạng đã được đặt lại"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Không thể xóa SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Không xoá được eSIM do có lỗi.\n\nHãy khởi động lại thiết bị rồi thử lại."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Không xoá được eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Đã xảy ra lỗi nên không xoá được eSIM của bạn.\n\nHãy khởi động lại thiết bị rồi thử lại."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Xóa mọi dữ liệu (đặt lại về trạng thái ban đầu)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Xóa mọi dữ liệu (đặt lại về trạng thái ban đầu)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Nhạc"</li>\n<li>"Ảnh"</li>\n<li>"Dữ liệu khác của người dùng"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Thao tác này sẽ không hủy gói dịch vụ di động của bạn."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Tất cả thông tin cá nhân và ứng dụng đã tải xuống của bạn đều bị xóa. Bạn không thể hủy thao tác này sau khi thực hiện."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Tất cả thông tin cá nhân của bạn, kể cả SIM và ứng dụng đã tải xuống, đều bị xóa. Bạn không thể hủy thao tác này sau khi thực hiện."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Toàn bộ thông tin cá nhân của bạn, kể cả eSIM và ứng dụng đã tải xuống, đều sẽ bị xoá. Bạn không thể huỷ thao tác này."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Xóa mọi dữ liệu?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Người dùng này không thể thực hiện thao tác đặt lại về trạng thái ban đầu"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Đang xóa"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"Điểm phát sóng, USB, Bluetooth, Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Hiện không chia sẻ Internet với các thiết bị khác"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Đang tắt"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Chia sẻ Internet"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Không dùng điểm phát sóng Wi‑Fi"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Chỉ chia sẻ kết nối Internet qua USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Chỉ chia sẻ kết nối Internet qua Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Chỉ chia sẻ kết nối Internet qua Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Chỉ chia sẻ kết nối Internet qua USB và Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Chỉ chia sẻ kết nối Internet qua USB và Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Chỉ chia sẻ kết nối Internet qua Bluetooth và Ethernet"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Chỉ chia sẻ kết nối Internet qua USB, Bluetooth và Ethernet"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Chia sẻ Internet qua USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Chia sẻ Internet qua Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Chia sẻ Internet qua Ethernet"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Dùng tính năng điểm phát sóng và chia sẻ Internet để cho phép các thiết bị khác kết nối với Internet thông qua dữ liệu di động hoặc Wi-Fi của bạn. Các ứng dụng cũng có thể tạo điểm phát sóng để chia sẻ nội dung với thiết bị ở gần."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Trợ giúp"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Mạng di động"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Gói dịch vụ di động"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Ứng dụng SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Thay đổi ứng dụng SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Sử dụng <xliff:g id="NEW_APP">%1$s</xliff:g> thay vì <xliff:g id="CURRENT_APP">%2$s</xliff:g> làm ứng dụng SMS của bạn?"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Thay đổi trình hỗ trợ Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Sử dụng <xliff:g id="NEW_APP">%1$s</xliff:g> thay cho <xliff:g id="CURRENT_APP">%2$s</xliff:g> để quản lý các kết nối mạng của bạn?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Sử dụng <xliff:g id="NEW_APP">%s</xliff:g> để quản lý các kết nối mạng của bạn?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"Nhà cung cấp dịch vụ SIM không xác định"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> không có trang web cấp phép xác định nào"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Vui lòng lắp thẻ SIM và khởi động lại"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Vui lòng kết nối internet"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Các yêu cầu gần đây về vị trí"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Vị trí của hồ sơ công việc"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Quyền truy cập thông tin vị trí cho ứng dụng"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Xóa quyền truy cập"</string>
     <string name="controls_label" msgid="8671492254263626383">"Các điều khiển"</string>
     <string name="force_stop" msgid="2681771622136916280">"Buộc dừng"</string>
+    <string name="archive" msgid="9074663845068632127">"Lưu trữ"</string>
+    <string name="restore" msgid="7622486640713967157">"Khôi phục"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Đang khôi phục"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Đang khôi phục."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Đang khôi phục.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Đang khôi phục..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Tổng"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Kích thước ứng dụng"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Ứng dụng bộ lưu trữ USB"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Không thể tính toán kích thước gói."</string>
     <string name="version_text" msgid="7628938665256107608">"Phiên bản <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Chuyển"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Không lưu trữ được"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"Đã lưu trữ <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Không khôi phục được"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Đang khôi phục <xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Đang diễn ra một hoạt động di chuyển khác."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Không đủ dung lượng lưu trữ."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Ứng dụng không tồn tại."</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Bàn phím ảo có sẵn"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Quản lý bàn phím ảo"</string>
     <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="6922850403920596246">"Bật Phím nảy để hỗ trợ tiếp cận cho bàn phím vật lý"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Phím chậm"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Bật Phím chậm để hỗ trợ tiếp cận cho bàn phím vật lý"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Phím cố định"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Bật Phím cố định để hỗ trợ tiếp cận cho bàn phím vật lý"</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>
@@ -1709,6 +1880,10 @@
     <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_pointer_speed" msgid="7786579408631352625">"Tốc độ con trỏ"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Tìm hiểu về cử chỉ ở bàn di chuột"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Chuyển đến màn hình chính"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Dùng 3 ngón tay vuốt lên vị trí bất kỳ trên bàn di chuột"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Quay lại"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Sắp xếp theo thời gian dùng"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Sắp xếp theo lần dùng gần đây nhất"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Sắp xếp theo tên ứng dụng"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Sử dụng lần cuối"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Lần sử dụng gần đây nhất"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"không bao giờ"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Thời gian sử dụng"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Hỗ trợ tiếp cận"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Cài đặt hỗ trợ tiếp cận"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Phóng to bằng cách nhấn 3 lần"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Phóng to bằng phím tắt"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Phóng to bằng phím tắt và nhấn 3 lần"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Giới thiệu về <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Dùng nút hỗ trợ tiếp cận để mở"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Giữ các phím âm lượng để mở"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Nhấn 3 lần vào màn hình để mở"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Nhấn đúp vào màn hình bằng hai ngón tay để mở"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Dùng cử chỉ để mở"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Sử dụng cử chỉ hỗ trợ tiếp cận"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Để sử dụng tính năng này, hãy nhấn vào nút hỗ trợ tiếp cận <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ở cuối màn hình.\n\nĐể chuyển đổi giữa các tính năng, hãy chạm và giữ nút hỗ trợ tiếp cận."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Để sử dụng tính năng này, hãy nhấn vào nút hỗ trợ tiếp cận trên màn hình."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Để sử dụng tính năng này, hãy nhấn và giữ cả hai phím âm lượng."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Để bắt đầu và dừng phóng to, hãy nhấn 3 lần vào bất cứ đâu trên màn hình."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Để bắt đầu và dừng phóng to, hãy dùng 2 ngón tay nhấn đúp vào bất cứ đâu trên màn hình."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Để sử dụng tính năng này, hãy 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_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Để sử dụng tính năng này, hãy 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_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Để sử dụng tính năng hỗ trợ tiếp cận, hãy 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_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Để sử dụng tính năng hỗ trợ tiếp cận, hãy 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_tutorial_dialog_button" msgid="2031773187678948436">"Đã hiểu"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Cài đặt nút hỗ trợ tiếp cận"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Cài đặt nút"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"Phím tắt dành cho <xliff:g id="SERVICE">%1$s</xliff:g>"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Nút hỗ trợ tiếp cận"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Cử chỉ hỗ trợ tiếp cận"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Giữ phím âm lượng"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"giữ các 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_two_finger_double_tap_keyword" msgid="2971265341474137433">"nhấn đúp vào màn hình bằng hai 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="6863958573135995927">"nhấn 3 lần vào màn hình"</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>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Tìm hiểu thêm về cử chỉ và nút hỗ trợ tiếp cận"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Sử dụng nút hỗ trợ tiếp cận. Bạn không thể sử dụng cử chỉ này với thao tác bằng 3 nút."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Truy cập nhanh vào bộ tính năng hỗ trợ tiếp cận"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Để bắt đầu, hãy làm theo các bước sau:"</b>\n"1. Chuyển đến phần cài đặt hỗ trợ tiếp cận\n2. Chọn một tính năng rồi nhấn vào phím tắt\n3. Chọn xem bạn muốn dùng nút hay cử chỉ để sử dụng tính năng này"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Để bắt đầu, hãy làm theo các bước sau:"</b>\n"1. Chuyển đến phần cài đặt hỗ trợ tiếp cận\n2. Chọn một tính năng rồi nhấn vào phím tắt\n3. Chọn một nút để sử dụng tính năng này"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Cách bắt đầu&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Mở chế độ cài đặt hỗ trợ tiếp cận&lt;br/&gt; {1,number,integer}. Chọn một tính năng rồi nhấn vào lối tắt&lt;br/&gt; {2,number,integer}. Chọn xem bạn muốn dùng nút hay cử chỉ để sử dụng tính năng đó&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Cách bắt đầu&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Mở chế độ cài đặt hỗ trợ tiếp cận&lt;br/&gt; {1,number,integer}. Chọn một tính năng rồi nhấn vào lối tắt&lt;br/&gt; {2,number,integer}. Chọn nút để sử dụng tính năng đó&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Sử dụng nút hoặc cử chỉ"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Vị trí"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Kích thước"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Kết thúc cuộc gọi bằng nút nguồn"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Con trỏ chuột lớn"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Tăng kích thước con trỏ chuột"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Áp dụng chế độ tối cho mọi ứng dụng"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Áp dụng cho ứng dụng không có giao diện tối riêng. Một số ứng dụng sẽ lỗi hiển thị, như đảo ngược màu."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Xóa hiệu ứng động"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Giảm chuyển động trên màn hình"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Âm thanh đơn âm"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Sử dụng chế độ rung và phản hồi xúc giác"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Rung khi có chuông báo"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Rung khi có nội dung nghe nhìn"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Chế độ rung của bàn phím"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Rung khi đổ chuông"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Rung khi có thông báo"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Phản hồi khi chạm"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"Dừng"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Hủy"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Dừng <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Tính năng <xliff:g id="SERVICE">%2$s</xliff:g> sẽ dừng khi bạn nhấn <xliff:g id="STOP">%1$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Tắt"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Tiếp tục"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Tắt <xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Chưa có dịch vụ nào được cài đặt"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Không có dịch vụ nào được chọn"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Không có mô tả nào được cung cấp."</string>
     <string name="settings_button" msgid="2195468788019730377">"Cài đặt"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"nhạy cảm với ánh sáng, chứng sợ ánh sáng, giao diện tối, chứng đau nửa đầu, chứng nhức đầu, chế độ đọc, chế độ ban đêm, giảm độ sáng, điểm trắng"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Dễ sử dụng, dễ truy cập, trợ giúp, hỗ trợ"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"thị giác, thính giác, khiếm thị, khiếm thính, vận động, khéo léo, hỗ trợ, trợ giúp, dễ sử dụng, dễ tiếp cận, tay, giúp đỡ"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Phóng to cửa sổ, Thu phóng, Phóng to, Thị lực kém, Tăng kích cỡ, làm cho lớn hơn"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Phụ đề, phụ đề chi tiết, CC, Chép lời trực tiếp, nặng tai, suy giảm thính lực, chép lời theo thời gian thực bằng máy tính (CART), chuyển lời nói thành văn bản"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"độ tương phản màu"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"vận động, chuột"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"thiết bị trợ thính, người có thính giác kém, suy giảm thính lực, ốc tai điện tử, thiết bị tăng âm, bộ xử lý âm thanh"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"vận động, chuột, chuột gắn ngoài, chuột gắn đầu, chuột thích ứng, xe lăn, cần điều khiển"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"thiết bị trợ thính, người có thính giác kém, suy giảm thính lực, ốc tai điện tử, thiết bị tăng âm, bộ xử lý âm thanh, trung tâm nhận cuộc gọi cứu hộ công cộng"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"nặng tai, suy giảm thính lực, phụ đề, Máy chữ điện báo, máy điện báo đánh chữ, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"ba nút"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"khéo léo, vận động, người cao tuổi, viêm khớp, RSI, đột quỵ, run rẩy, bệnh đa xơ cứng, bại não, run, chấn thương do căng cơ lặp đi lặp lại, tay"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"chậm trễ, khéo léo, người cao tuổi"</string>
     <string name="print_settings" msgid="8519810615863882491">"In"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Tắt"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 dịch vụ in đang bật}other{# dịch vụ in đang bật}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> còn lại"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> để tính phí"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Thời gian sử dụng thiết bị"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Thời gian chạy ở chế độ nền"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Pin yếu"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Cho phép ứng dụng chạy trong nền"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Giới hạn hoạt động nền?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Nếu bạn giới hạn hoạt động nền cho một ứng dụng, ứng dụng đó có thể hoạt động không đúng cách"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Không thể hạn chế ứng dụng này vì bạn chưa đặt để tối ưu hóa pin.\n\nĐể hạn chế ứng dụng, trước tiên hãy bật tối ưu hóa pin."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Quản lý mức sử dụng pin"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Cho phép sử dụng ở chế độ nền"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Bật để cập nhật theo thời gian thực, tắt để tiết kiệm pin"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Không hạn chế"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Tối ưu hóa"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Bị hạn chế"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Xem các ứng dụng có mức sử dụng pin cao nhất"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Quá trình sạc được tối ưu hoá để bảo vệ pin"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Để giúp kéo dài thời lượng pin, quá trình sạc sẽ được tối ưu hoá"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Quá trình sạc được tối ưu hoá để bảo vệ pin"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Để giúp kéo dài tuổi thọ pin, quá trình sạc sẽ được tối ưu hoá khi bạn gắn thiết bị vào đế"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Quá trình sạc được tối ưu hoá để bảo vệ pin"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Để giúp kéo dài tuổi thọ pin, quá trình sạc sẽ được tối ưu hoá khi bạn gắn thiết bị vào đế"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Sạc đến khi đầy"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Để bảo vệ pin, quá trình sạc sẽ được tối ưu hoá trong lần tới khi bạn gắn máy tính bảng vào đế"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Tìm hiểu thêm về việc quá trình sạc bị tạm dừng"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Tiếp tục sạc"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Bao gồm hoạt động công suất cao trong nền"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Ứng dụng này có thể sử dụng pin trong nền. Pin có thể hết sớm hơn dự kiến."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Xóa"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Hủy"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Sạc đến khi đầy"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Có vấn đề với phụ kiện sạc"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Hãy kiểm tra phụ kiện sạc"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Tìm hiểu thêm về chế độ sạc không tương thích"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Trình quản lý pin"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Tự động quản lý ứng dụng"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"kể từ lần sạc đầy gần nhất"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"Ứng dụng hệ thống"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Ứng dụng đã gỡ cài đặt"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Khác"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Thời gian còn lại ước tính"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Cho tới khi được sạc đầy"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Tổng: chưa đến 1 phút"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Ở chế độ nền: chưa đến 1 phút"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Thời gian sử dụng thiết bị: chưa đến 1 phút"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Dưới 1 phút"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Tổng: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Ở chế độ nền: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Thời gian sử dụng thiết bị: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"hiện tại"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> – <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Biểu đồ mức sử dụng pin"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Biểu đồ mức sử dụng pin hằng ngày"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Biểu đồ mức sử dụng pin hằng giờ"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Phần trăm pin từ <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> đến <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Mức sử dụng pin từ lần sạc đầy gần nhất"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Mức sử dụng pin: <xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Thời gian sử dụng thiết bị kể từ lần sạc đầy gần đây nhất"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Tín hiệu quay số khẩn cấp"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Đặt chế độ khi cuộc gọi khẩn cấp được thực hiện"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sao lưu"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Đang bật"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Đang tắt"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Sao lưu &amp; khôi phục"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Dữ liệu cá nhân"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sao lưu dữ liệu của tôi"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Dữ liệu di động và Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Tự động đồng bộ hóa dữ liệu cá nhân"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Tự động đồng bộ hóa dữ liệu công việc"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Tự động đồng bộ hoá dữ liệu riêng tư"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Thay đổi chu kỳ..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Ngày trong tháng để đặt lại chu kỳ sử dụng dữ liệu:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Không ứng dụng nào sử dụng dữ liệu lúc này."</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Tên"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Loại"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Địa chỉ máy chủ"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"Mã hóa PPP (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Bảo mật L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Số nhận dạng IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Khóa chia sẻ trước IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Chứng chỉ người dùng IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Chứng chỉ IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"Chứng chỉ máy chủ IPSec"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Hiện tùy chọn nâng cao"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Miền tìm kiếm DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"Máy chủ DNS (ví dụ: 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Các tuyến chuyển tiếp (vd: 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Tên người dùng"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Mật khẩu"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Lưu thông tin tài khoản"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(không được sử dụng)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(không xác minh máy chủ)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(đã nhận từ máy chủ)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Loại VPN này không thể duy trì kết nối mọi lúc"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"VPN luôn bật chỉ hỗ trợ địa chỉ máy chủ dạng số"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Máy chủ DNS phải được chỉ định cho VPN luôn bật"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Địa chỉ máy chủ DNS phải có dạng số cho VPN luôn bật"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Thông tin đã nhập không hỗ trợ tính năng VPN luôn bật"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Hủy"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Loại bỏ"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Chặn các đường kết nối không qua VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Yêu cầu kết nối VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Không an toàn. Hãy cập nhật lên VPN IKEv2"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Không khởi động được VPN không được hỗ trợ"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Chọn một cấu hình VPN để luôn giữ kết nối. Lưu lượng truy cập mạng sẽ chỉ được cho phép khi kết nối với VPN này."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Không có"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"VPN luôn bật yêu cầu có địa chỉ IP cho cả máy chủ và DNS."</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Cảnh báo AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Nhận bản tin về bắt cóc trẻ em"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Lặp lại"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Bật Trình quản lý cuộc gọi"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Cho phép dịch vụ này quản lý cách thực hiện cuộc gọi của bạn."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Trình quản lý cuộc gọi"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Cảnh báo khẩn cấp không dây"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Nhà cung cấp dịch vụ mạng"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Tên điểm truy cập"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Trạng thái SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Trạng thái SIM (khe cắm thẻ SIM %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Đã thay SIM."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Đã thay đổi SIM"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Nhấn để thiết lập"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Hỏi mỗi lần gọi"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Lựa chọn là bắt buộc"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Ứng dụng gần đây, ứng dụng mặc định"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Trong hồ sơ công việc, các ứng dụng không có quyền truy cập vào mục thông báo."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Mật khẩu và tài khoản"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Mật khẩu đã lưu, tự động điền, tài khoản đã đồng bộ hóa"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Các đề xuất về chế độ đăng nhập và tự động điền"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Ứng dụng mặc định"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Nhân bản ứng dụng"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Tạo phiên bản thứ hai của ứng dụng để bạn có thể dùng 2 tài khoản cùng một lúc."</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"ví"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"thanh toán, nhấn, khoản thanh toán"</string>
     <string name="keywords_backup" msgid="707735920706667685">"sao lưu"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"cử chỉ"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"khuôn mặt, mở khóa, xác thực, đăng nhập"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"khuôn mặt, mở khóa, xác thực, đăng nhập, vân tay, sinh trắc học"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, phiên bản prl, imei sv"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"cỡ chữ, bản in lớn, phông chữ lớn, chữ lớn, thị lực kém, tăng cỡ chữ, tăng kích cỡ phông chữ, phóng to phông chữ"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"luôn bật chế độ màn hình chờ theo môi trường xung quanh (AOD)"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, thẻ, trình đọc"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"bàn phím, xúc giác, rung,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Âm lượng, rung, Không làm phiền"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Âm lượng nội dung nghe nhìn"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Âm lượng truyền"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Âm thanh bật nguồn"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Phụ đề trực tiếp"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Tự động tạo phụ đề cho nội dung nghe nhìn"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"Loa điện thoại"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Loa máy tính bảng"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Loa thiết bị"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Tai nghe có dây"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Âm thanh của nội dung nghe nhìn tương thích sẽ trở nên sống động hơn"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Đang tắt"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Hiện mọi nội dung thông báo"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Chỉ hiện nội dung nhạy cảm khi mở khóa"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Không hiện thông báo nào"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Bạn muốn màn hình khóa hiện những nội dung gì?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Bạn muốn thông báo hiển thị trên màn hình khoá như thế nào?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Màn hình khóa"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Hiện mọi nội dung thông báo công việc"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Ẩn nội dung công việc nhạy cảm"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Đã xóa các cuộc trò chuyện gần đây"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Đã xóa cuộc trò chuyện"</string>
     <string name="clear" msgid="5092178335409471100">"Xóa"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Xoá <xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Các cuộc trò chuyện ưu tiên và đã sửa đổi sẽ xuất hiện ở đây"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Sau khi bạn đánh dấu một cuộc trò chuyện là ưu tiên hoặc thực hiện bất kỳ sự thay đổi nào khác đối với các cuộc trò chuyện, thì những cuộc trò chuyện đó sẽ xuất hiện ở đây. \n\nĐể thay đổi chế độ cài đặt cuộc trò chuyện: \nVuốt từ đầu màn hình xuống để mở ngăn kéo xuống rồi chạm và giữ cuộc trò chuyện."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Thu nhỏ"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"Giảm dần âm lượng cho thông báo"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Áp dụng chế độ giảm dần âm lượng cho mọi thông báo"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Giảm dần âm lượng thông báo khi bạn nhận được nhiều thông báo liên tiếp từ cùng một ứng dụng"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Áp dụng chế độ giảm dần âm lượng cho các cuộc trò chuyện"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Giảm dần âm lượng thông báo khi bạn nhận được nhiều tin nhắn từ cùng một cuộc trò chuyện trong khoảng thời gian ngắn"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Không dùng chế độ giảm dần âm lượng cho thông báo"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Không bao giờ giảm âm lượng thông báo, bất kể nhận được bao nhiêu thông báo liên tiếp từ cùng một ứng dụng"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Rung khi mở khoá"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Chỉ rung khi màn hình được mở khoá"</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="8260947839104352075">"Áp dụng chế độ giảm dần âm lượng cho thông báo từ hồ sơ cá nhân cho hồ sơ công việc của bạn"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Dịch vụ trình trợ giúp thực tế ảo"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Không có ứng dụng đã cài đặt nào yêu cầu được chạy dưới dạng dịch vụ trình trợ giúp thực tế ảo."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Cho phép <xliff:g id="SERVICE">%1$s</xliff:g> truy cập dịch vụ thực tế ảo?"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Đang tắt"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Ghim ứng dụng"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Tính năng ghim ứng dụng cho phép một ứng dụng liên tục hiện trên màn hình cho tới khi bỏ ghim. Bạn có thể sử dụng tính năng này để cho phép người mà bạn tin cậy chơi một trò chơi cụ thể chẳng hạn."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Khi bạn ghim ứng dụng, ứng dụng đã ghim có thể mở các ứng dụng khác và truy cập vào dữ liệu cá nhân. \n\nĐể dùng tính năng ghim ứng dụng, hãy làm như sau: 	\n1. Bật tính năng ghim ứng dụng 	\n2. Mở phần Tổng quan 	\n3. Nhấn vào biểu tượng ứng dụng ở đầu màn hình, sau đó nhấn vào Ghim"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Khi bạn ghim ứng dụng, ứng dụng đã ghim có thể mở các ứng dụng khác và truy cập vào dữ liệu cá nhân. \n\nNếu bạn muốn chia sẻ thiết bị của mình với người khác một cách an toàn, hãy thử sử dụng chế độ khách. \n\nĐể dùng tính năng ghim ứng dụng, hãy làm như sau: 	\n1. Bật tính năng ghim ứng dụng 	\n2. Mở phần Tổng quan 	\n3. Nhấn vào biểu tượng ứng dụng ở đầu màn hình, sau đó nhấn vào Ghim"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Khi bạn ghim một ứng dụng, ứng dụng đã ghim có thể mở ứng dụng khác và truy cập vào dữ liệu cá nhân. \n\nCách dùng tính năng ghim ứng dụng: 	\n{0,number,integer}. Bật tính năng ghim ứng dụng 	\n{1,number,integer}. Mở phần Tổng quan 	\n{2,number,integer}. Nhấn vào biểu tượng ứng dụng ở đầu màn hình, sau đó nhấn vào Ghim"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Khi bạn ghim một ứng dụng, ứng dụng đã ghim có thể mở ứng dụng khác và truy cập vào dữ liệu cá nhân. \n\nNếu bạn muốn cho người khác dùng thiết bị của mình nhưng vẫn giữ tính bảo mật, hãy thử sử dụng chế độ khách. \n\nCách dùng tính năng ghim ứng dụng: 	\n{0,number,integer}. Bật tính năng ghim ứng dụng 	\n{1,number,integer}. Mở phần Tổng quan 	\n{2,number,integer}. Nhấn vào biểu tượng ứng dụng ở đầu màn hình, sau đó nhấn vào Ghim"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Khi ghim ứng dụng: \n\n•	 Ứng dụng đã ghim có thể truy cập dữ liệu cá nhân (chẳng hạn như danh bạ và nội dung email) \n\n•	 Ứng dụng đã ghim có thể mở các ứng dụng khác \n\nChỉ sử dụng tính năng ghim ứng dụng với những người mà bạn tin tưởng."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Hỏi hình mở khóa trước khi bỏ ghim"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Hỏi mã PIN trước khi bỏ ghim"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Hỏi mật khẩu trước khi bỏ khóa màn hình"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Khóa thiết bị khi bỏ ghim"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Xác nhận việc xóa SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Xác nhận rằng bạn muốn xoá eSIM của mình"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Xác minh danh tính của bạn trước khi xoá eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"Chế độ Bảo vệ bộ nhớ nâng cao (thử nghiệm)"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Bảo vệ bộ nhớ nâng cao"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Chế độ cài đặt cho ứng dụng không dùng đến"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Tạm dừng hoạt động trong ứng dụng nếu không dùng"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Loại bỏ quyền, xoá tệp tạm thời và dừng thông báo"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Quản lý ứng dụng nếu không dùng"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Loại bỏ quyền, xoá tệp tạm thời, dừng thông báo, và lưu trữ ứng dụng"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Tất cả ứng dụng"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Ứng dụng đã cài đặt"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Ứng dụng tức thì"</string>
@@ -3659,7 +3845,7 @@
     <string name="assist_access_context_summary" msgid="6951814413185646275">"Cho phép ứng dụng trợ lý truy cập nội dung trên màn hình dưới dạng văn bản"</string>
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"Sử dụng ảnh chụp màn hình"</string>
     <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"Cho phép ứng dụng trợ lý truy cập hình ảnh màn hình"</string>
-    <string name="assist_flash_title" msgid="5449512572885550108">"Màn hình nháy"</string>
+    <string name="assist_flash_title" msgid="5449512572885550108">"Nhấp nháy màn hình"</string>
     <string name="assist_flash_summary" msgid="3032289860177784594">"Nhấp nháy các cạnh màn hình khi ứng dụng trợ lý truy cập văn bản từ màn hình hoặc ảnh chụp màn hình"</string>
     <string name="assist_footer" msgid="8248015363806299068">"Các ứng dụng trợ lý có thể dựa vào thông tin trên màn hình bạn đang xem để giúp bạn làm nhiều việc. Một số ứng dụng hỗ trợ cả dịch vụ nhập bằng giọng nói và trình chạy để hỗ trợ bạn toàn diện hơn."</string>
     <string name="average_memory_use" msgid="717313706368825388">"Sử dụng bộ nhớ trung bình"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"Còn trống"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Bộ nhớ do ứng dụng sử dụng"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 ứng dụng sử dụng bộ nhớ trong {time} vừa qua}other{# ứng dụng sử dụng bộ nhớ trong {time} vừa qua}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Bật chế độ phân tích mức sử dụng bộ nhớ"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Quy trình phân tích mức sử dụng bộ nhớ cần sử dụng thêm tài nguyên hệ thống."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Đã tắt chế độ phân tích bộ nhớ"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Tần suất"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Mức sử dụng tối đa"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Không sử dụng dữ liệu"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Hiện trên các ứng dụng khác"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Cho phép hiện trên các ứng dụng khác"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Cho phép ứng dụng này hiển thị trên các ứng dụng khác mà bạn đang dùng. Ứng dụng này có thể xem vị trí mà bạn nhấn vào hoặc thay đổi nội dung hiển thị trên màn hình."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Thay đổi đầu ra đa phương tiện"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Cho ứng dụng chuyển đổi đầu ra đa phương tiện"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Cho phép ứng dụng này chọn thiết bị được kết nối sẽ phát âm thanh hoặc video từ các ứng dụng khác. Nếu được cho phép, ứng dụng này sẽ truy cập được danh sách thiết bị hiện có (như tai nghe và loa), và có thể chọn thiết bị đầu ra nào sẽ được dùng để phát trực tuyến hoặc truyền âm thanh hoặc video."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Quyền truy cập vào mọi tệp"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Cho phép truy cập để quản lý tất cả các tệp"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Cho phép ứng dụng này đọc, sửa đổi và xóa tất cả các tệp trên thiết bị này hoặc bất kỳ thiết bị lưu trữ nào đã kết nối. Nếu bạn cho phép, ứng dụng có thể truy cập vào các tệp mà không cần thông báo rõ ràng cho bạn."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Có thể truy cập vào tất cả các tệp"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ứng dụng kích hoạt bằng giọng nói"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Cho phép kích hoạt bằng giọng nói"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Tính năng kích hoạt bằng giọng nói sẽ bật các ứng dụng được phê duyệt bằng lệnh thoại mà không dùng tay. Cảm biến thích ứng tích hợp sẵn giúp bảo mật dữ liệu cho bạn.\n\n"<a href="">"Xem thêm thông tin về cảm biến thích ứng được bảo vệ"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Thông báo toàn màn hình"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Cho phép ứng dụng này hiển thị thông báo toàn màn hình"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Cho phép ứng dụng hiển thị các thông báo chiếm toàn màn hình khi thiết bị đang khoá. Các ứng dụng có thể dùng những thông báo này để làm nổi bật chuông báo, cuộc gọi đến hoặc thông báo khẩn cấp khác."</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"Cảnh báo dữ liệu khi dùng đến <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"Hạn mức dữ liệu <xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"Cảnh báo dữ liệu khi dùng đến <xliff:g id="ID_1">^1</xliff:g>/Hạn mức dữ liệu là <xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Cách tính dữ liệu của nhà mạng có thể khác với thiết bị của bạn."</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Không bao gồm dữ liệu do các nhà mạng sử dụng"</string>
     <string name="data_used_template" msgid="8229342096562327646">"Đã dùng <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Đặt cảnh báo dữ liệu"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Đã cập nhật <xliff:g id="ID_1">^2</xliff:g> trước"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Vừa được <xliff:g id="ID_1">^1</xliff:g> cập nhật xong"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Vừa cập nhật xong"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Xem gói"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Xem chi tiết"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Trình tiết kiệm dữ liệu"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Dữ liệu không hạn chế"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> dùng nhiều pin hơn thường lệ khi ở chế độ nền"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> dùng nhiều pin hơn khi ở chế độ nền trước"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> dùng nhiều pin hơn thường lệ khi ở chế độ nền trước"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Mức sử dụng pin không bình thường"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Mức sử dụng pin cao"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Mức sử dụng pin cao trong nền"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Mức sử dụng pin cao trong nền trước"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Ô cài đặt nhanh dành cho nhà phát triển"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Tắt thời gian chờ ủy quyền adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Tắt tính năng tự động thu hồi các lượt ủy quyền adb đối với những hệ thống chưa kết nối lại trong khoảng thời gian mặc định (7 ngày) hoặc do người dùng đặt (tối thiểu 1 ngày)."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Dấu vết Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Tắt cảm biến"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Cài đặt hồ sơ công việc"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Tìm kiếm những người liên hệ trong các ứng dụng cá nhân bằng thư mục công việc"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"thao tác trên hệ thống, thao tác bằng 2 nút, thao tác bằng 3 nút, thao tác bằng cử chỉ, vuốt"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Trợ lý kỹ thuật số"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Vuốt để gọi trợ lý"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Vuốt lên từ góc dưới cùng để gọi ứng dụng trợ lý kỹ thuật số."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Vuốt lên từ góc dưới cùng để gọi ứng dụng trợ lý kỹ thuật số"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Giữ nút Màn hình chính để mở ứng dụng Trợ lý"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Nhấn và giữ nút Màn hình chính để gọi ứng dụng trợ lý kỹ thuật số."</string>
     <string name="low_label" msgid="6525629096999711220">"Thấp"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Dịch vụ tự động điền"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Dịch vụ tự động điền mặc định"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Mật khẩu"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Dịch vụ dữ liệu, khoá truy cập và mật khẩu"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Các nhà cung cấp khác"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Dịch vụ ưu tiên"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Dịch vụ bổ sung"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# mật khẩu}other{# mật khẩu}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"tự động, điền, tự động điền, mật khẩu"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"dữ liệu, khoá truy cập, mật khẩu"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"tự động, điền, tự động điền, dữ liệu, khoá truy cập, mật khẩu"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Thay đổi"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Mở"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Chưa chọn mục nào"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Hãy đảm bảo bạn tin tưởng ứng dụng này&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; sử dụng thông tin trên màn hình để xác định nội dung nào có thể được tự động điền."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Sử dụng &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; dùng thông tin trên màn hình của bạn để xác định thông tin nào có thể tự động điền. Từ nay, khoá truy cập, mật khẩu mới và thông tin khác sẽ được lưu tại đây."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Dịch vụ dữ liệu, khoá truy cập và mật khẩu"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Sử dụng &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Mật khẩu mới, khoá truy cập mới, cũng như các thông tin khác sẽ được lưu ở đây kể từ bây giờ. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; có thể dùng thông tin trên màn hình của bạn để xác định thông tin nào có thể tự động điền."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Dịch vụ ưu tiên cho mật khẩu, khoá truy cập và tính năng tự động điền"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Tắt %1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Tắt dịch vụ này?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Thông tin đã lưu (ví dụ: mật khẩu, khoá truy cập, phương thức thanh toán) và thông tin khác sẽ không được điền khi bạn đăng nhập. Để sử dụng thông tin mà bạn đã lưu, hãy chọn một mật khẩu, khoá truy cập hoặc dịch vụ dữ liệu."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Mật khẩu, khoá truy cập và tính năng tự động điền"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Tắt tất cả dịch vụ?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Tính năng tự động điền sẽ không sử dụng được mật khẩu, khoá truy cập cũng như thông tin đã lưu khác khi bạn đăng nhập"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;Thay đổi dịch vụ bạn ưu tiên thành &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Từ nay, mật khẩu mới, khoá truy cập mới cũng như thông tin khác sẽ được lưu tại đây. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; có thể dùng nội dung trên màn hình của bạn để xác định thông tin nào có thể tự động điền"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Sử dụng %1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Tắt"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Thay đổi"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Bạn chỉ bật được 5 dịch vụ"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Hãy tắt ít nhất là 1 dịch vụ để có thể thêm 1 dịch vụ khác"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s sử dụng nội dung trên màn hình của bạn để xác định thông tin có thể được tự động điền."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Giới hạn dịch vụ dữ liệu, khoá truy cập và mật khẩu"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Bạn có thể đặt tối đa 5 dịch vụ dữ liệu, khoá truy cập và mật khẩu cùng lúc. Hãy tắt một dịch vụ nếu muốn thêm một dịch vụ khác."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Giới hạn về dịch vụ dữ liệu, khoá truy cập và mật khẩu"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Bạn có thể chọn tối đa 5 dịch vụ dữ liệu, khoá truy cập và mật khẩu cùng lúc. Hãy tắt một dịch vụ nếu muốn thêm một dịch vụ khác."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Tắt"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Tự động điền"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Mức ghi nhật ký"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Bạn chỉ có thể sửa đổi các thay đổi về khả năng tương thích của ứng dụng đối với các ứng dụng có thể gỡ lỗi. Hãy cài đặt một ứng dụng có thể gỡ lỗi rồi thử lại."</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Phụ thuộc vào một cài đặt khác"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"Tài khoản"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d tài khoản"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Tên thiết bị"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Thông tin cơ bản"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Quy định và pháp lý"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Cho phép ứng dụng này khởi chạy khi một thẻ NFC được quét.\nNếu quyền này bật, ứng dụng sẽ xuất hiện dưới dạng lựa chọn mỗi khi có thẻ được phát hiện."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Phát nội dung nghe nhìn tới"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Phát <xliff:g id="LABEL">%s</xliff:g> trên"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Âm thanh sẽ phát ra"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Thiết bị này"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Không hoạt động khi có cuộc gọi"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Thực hiện cuộc gọi trên"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Tắt tiếng"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Để bật, trước tiên, hãy thay đổi tuỳ chọn \"Nhấn và giữ nút nguồn\" thành trình đơn nguồn."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Chi tiết mạng"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Tên thiết bị của bạn sẽ hiển thị với các ứng dụng trên điện thoại. 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ạng Wi-Fi hoặc thiết lập một điểm phát sóng Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Thiết bị"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Chọn mạng"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Đã ngắt kết nối"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Tên"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Màu (do các ứng dụng tương thích dùng)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Lưu"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Dùng SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Dùng SIM này"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Tắt"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Để tắt SIM này, hãy tháo thẻ SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Nhấn để kích hoạt <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Xóa SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Để tắt SIM này, hãy tháo thẻ SIM"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Nhấn để kích hoạt SIM <xliff:g id="CARRIER">%1$s</xliff:g> của bạn"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Xoá eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Loại mạng ưu tiên"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Thay đổi chế độ hoạt động của mạng"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Loại mạng ưa thích"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Hãy liên hệ với nhà mạng của bạn để biết giá cước."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Mức sử dụng dữ liệu của ứng dụng"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Chế độ mạng <xliff:g id="NETWORKMODEID">%1$d</xliff:g> không hợp lệ. Bỏ qua."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Nhắn tin qua vệ tinh"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Gửi và nhận tin nhắn văn bản qua vệ tinh. Tài khoản của bạn có sẵn tính năng này."</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Gửi và nhận tin nhắn văn bản qua vệ tinh. Tài khoản của bạn không có sẵn tính năng này."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Nhắn tin qua vệ tinh"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Giới thiệu về tính năng nhắn tin qua vệ tinh"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Bạn có thể gửi và nhận tin nhắn văn bản qua vệ tinh. Đây là một trong những tính năng của tài khoản <xliff:g id="CARRIER_NAME">%1$s</xliff:g> đủ điều kiện"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Gói <xliff:g id="CARRIER_NAME">%1$s</xliff:g> của bạn"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Tính năng Nhắn tin qua vệ tinh có sẵn trong tài khoản của bạn"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Tính năng Nhắn tin qua vệ tinh không có sẵn trong tài khoản của bạn"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Thêm tính năng nhắn tin qua vệ tinh"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Cách hoạt động"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Khi bạn không có mạng di động"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Điện thoại của bạn sẽ tự động kết nối với vệ tinh. Để có kết nối chất lượng tốt nhất, hãy tìm đến nơi có thể nhìn rõ bầu trời."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Sau khi điện thoại của bạn kết nối với vệ tinh"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Bạn có thể gửi tin nhắn văn bản cho bất cứ ai, gồm cả các dịch vụ khẩn cấp. Điện thoại của bạn sẽ kết nối lại với mạng di động khi có mạng."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Tính năng Nhắn tin qua vệ tinh có thể mất nhiều thời gian hơn, và chỉ dùng được ở một số khu vực. Thời tiết và một số công trình nhất định có thể ảnh hưởng đến kết nối vệ tinh của bạn. Không thể gọi qua vệ tinh.\n\nCó thể mất một chút thời gian thì các thay đổi đối với tài khoản của bạn mới xuất hiện trong phần Cài đặt. Hãy liên hệ với <xliff:g id="CARRIER_NAME">%1$s</xliff:g> để biết thông tin cụ thể."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Tìm hiểu thêm về tính năng nhắn tin qua vệ tinh"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Tên điểm truy cập"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Không sử dụng được khi kết nối với <xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Chuyển sang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Chuyển sang dùng thẻ SIM?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Sử dụng <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"Chỉ một SIM có thể hoạt động mỗi lần.\n\nKhi chuyển sang <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, dịch vụ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> của bạn sẽ không bị hủy."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"Chỉ 1 eSIM có thể hoạt động tại mỗi thời điểm.\n\nKhi bạn chuyển sang <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, dịch vụ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> của bạn sẽ không bị huỷ."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"Chỉ một SIM có thể hoạt động tại một thời điểm.\n\nKhi chuyển đổi SIM, dịch vụ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> của bạn sẽ không bị hủy."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"Chỉ 1 SIM có thể hoạt động tại mỗi thời điểm.\n\nKhi bạn chuyển sang <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, dịch vụ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> của bạn sẽ không bị huỷ."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"Chỉ 1 eSIM có thể hoạt động tại mỗi thời điểm.\n\nKhi bạn chuyển sang <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>, dịch vụ <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> của bạn sẽ không bị huỷ."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"Chỉ 1 SIM có thể hoạt động tại mỗi thời điểm.\n\nKhi chuyển, dịch vụ <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> của bạn sẽ không bị huỷ."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Bạn có thể dùng 2 SIM cùng lúc. Để dùng <xliff:g id="CARRIER_NAME">%1$s</xliff:g>, hãy tắt SIM khác."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Chuyển sang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Tắt <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Nếu tắt SIM, dịch vụ của bạn sẽ không bị huỷ"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Đang kết nối mạng…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Đang chuyển sang <xliff:g id="CARRIER_NAME">%1$s</xliff:g> để gọi điện và nhắn tin…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Không thể chuyển đổi nhà mạng"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Không thể chuyển đổi nhà mạng do lỗi."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Đang kích hoạt SIM…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Đang chuyển sang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Không chuyển SIM được"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Đã xảy ra lỗi. Không chuyển SIM được."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Tắt <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Tắt SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Đang tắt SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Không thể tắt nhà mạng"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Đã xảy ra lỗi nên bạn không thể tắt nhà mạng."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Không tắt được SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Đã xảy ra lỗi nên không tắt được SIM của bạn."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Dùng 2 SIM?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Thiết bị này có thể dùng 2 SIM cùng lúc. Để tiếp tục dùng 1 SIM tại một thời điểm, hãy nhấn vào \"Không, cảm ơn\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Khởi động lại thiết bị?"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Không, cảm ơn"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Hủy"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Chuyển"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Tắt thông báo"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Không thể kích hoạt SIM"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Hãy thử bật lại SIM. Nếu vấn đề vẫn xảy ra, vui lòng khởi động lại thiết bị."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Thiết lập SIM"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Thiết lập các lựa chọn ưu tiên về mạng di động để dùng nhiều SIM trên thiết bị này"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Đặt nhãn cho SIM"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Bạn sẽ thấy những nhãn này khi gọi điện, gửi tin nhắn văn bản, dùng dữ liệu và mở phần Cài đặt"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Nhãn SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Nhãn"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Chọn SIM bạn muốn dùng"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Bạn có thể dùng 2 SIM cùng lúc"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Đặt SIM chính"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Chọn SIM bạn muốn dùng theo mặc định cho cuộc gọi, tin nhắn văn bản và dữ liệu"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"SIM chính"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Cuộc gọi"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Tin nhắn văn bản"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Tự động chuyển đổi dữ liệu"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Dùng dữ liệu từ 1 trong 2 SIM tuỳ theo phạm vi phủ sóng và tình trạng mạng"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Chỉ dữ liệu"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Thiết lập"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Tiếp theo"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Đang bật <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Mạng di động"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Số điện thoại"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Màu và nhãn SIM"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Kích hoạt mạng"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Chuyển nhà mạng"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> đang hoạt động"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"SIM <xliff:g id="CARRIER_NAME">%1$s</xliff:g> của bạn đang hoạt động."</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Nhấn để cập nhật tùy chọn cài đặt SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Đã chuyển sang <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Đã chuyển sang nhà mạng khác"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Mạng di động của bạn đã thay đổi"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Thiết lập thẻ SIM còn lại của bạn"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Chọn SIM đang hoạt động hoặc dùng đồng thời cả 2 SIM"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Chọn một số điện thoại để sử dụng"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Có 1 số điện thoại trên thiết bị này, nhưng mỗi lần bạn chỉ dùng được một số}=2{Có 2 số điện thoại trên thiết bị này, nhưng mỗi lần bạn chỉ dùng được một số}other{Có # số điện thoại trên thiết bị này, nhưng mỗi lần bạn chỉ dùng được một số}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Đang kích hoạt<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Không thể kích hoạt ngay bây giờ"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Chọn một SIM để dùng"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Có 1 SIM trên thiết bị này, nhưng mỗi lần bạn chỉ dùng được một SIM}=2{Có 2 SIM trên thiết bị này, nhưng mỗi lần bạn chỉ dùng được một SIM}other{Có # SIM trên thiết bị này, nhưng mỗi lần bạn chỉ dùng được một SIM}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Đang bật<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Hiện không thể bật SIM này"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Sử dụng <xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> sẽ được dùng cho dữ liệu di động, các cuộc gọi và SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Không có SIM nào đang hoạt động"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Để sử dụng dữ liệu di động, các tính năng gọi điện và SMS vào lúc khác, hãy chuyển đến phần cài đặt mạng của bạn"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Xoá eSIM này?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Nếu bạn xóa SIM này, dịch vụ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> sẽ bị xóa khỏi thiết bị này.\n\nDịch vụ của <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> sẽ không bị hủy."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Thao tác này sẽ xoá dịch vụ <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> trên thiết bị này, nhưng sẽ không huỷ gói <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> của bạn."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Xóa"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Đang xóa SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Không thể xóa SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Không thể xóa SIM này do lỗi.\n\nHãy khởi động lại thiết bị rồi thử lần nữa."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Đang xoá eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Không xoá được eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Đã xảy ra lỗi nên không xoá được eSIM này.\n\nHãy khởi động lại thiết bị rồi thử lại."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Kết nối với thiết bị"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Ứng dụng <xliff:g id="APPNAME">%1$s</xliff:g> muốn dùng mạng Wi-Fi tạm thời để kết nối với thiết bị của bạn"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Không tìm thấy thiết bị nào. Đảm bảo rằng các thiết bị đang bật và sẵn sàng kết nối."</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Cuộc gọi khẩn cấp"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Nhà mạng của bạn không hỗ trợ các cuộc gọi khẩn cấp qua tính năng Gọi qua Wi‑Fi.\nKhi cần thực hiện cuộc gọi khẩn cấp, thiết bị sẽ tự động chuyển sang mạng di động.\nBạn chỉ có thể thực hiện cuộc gọi khẩn cấp ở các khu vực có mạng di động."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Sử dụng Wi‑Fi cho cuộc gọi để cải thiện chất lượng"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Gọi điện dự phòng"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Nếu <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> không có sẵn hoặc đang chuyển vùng, hãy dùng dữ liệu di động của SIM cho những cuộc gọi qua <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"gọi điện dự phòng"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Tin nhắn MMS đến"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Không thể gửi tin nhắn MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Nhấn để cho phép nhắn tin MMS qua <xliff:g id="OPERATOR_NAME">%1$s</xliff:g> khi dữ liệu di động đang tắt"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Thông tin về chính sách công việc của bạn"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Các tùy chọn cài đặt do quản trị viên CNTT quản lý"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Khởi động với kích thước trang 16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Khởi động thiết bị bằng nhân hỗ trợ trang 16K"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Khởi động lại với nhân hệ điều hành tương thích với trang 16KB?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"CẢNH BÁO: Có thể một số ứng dụng sẽ không tương thích với chế độ này. Thiết bị sẽ khởi động lại sau khi xác nhận."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Khởi động lại với nhân hệ điều hành tương thích với trang 4KB?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Thiết bị sẽ khởi động lại sau khi xác nhận."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Không cập nhật được nhân hệ điều hành thành nhân hệ điều hành tương thích với trang 16KB"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Đang áp dụng thay đổi"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Trình xử lý báo cáo lỗi"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Xác định ứng dụng nào xử lý phím tắt Báo cáo lỗi trên thiết bị của bạn."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Cá nhân"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Những ứng dụng có thể hiển thị bên trên các ứng dụng khác sẽ được phép phủ lên màn hình Cài đặt"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Cho phép modem mô phỏng"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Cho phép thiết bị này chạy dịch vụ Modem mô phỏng để thử nghiệm đo lường. Đừng nên bật dịch vụ này trong quá trình sử dụng điện thoại thông thường"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Tắt tính năng bảo vệ khi chia sẻ màn hình"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Tắt tính năng bảo vệ thông báo và ứng dụng mà hệ thống áp dụng trong khi chia sẻ màn hình"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Nội dung nghe nhìn"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Ghim trình phát nội dung nghe nhìn"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Để nhanh chóng tiếp tục phát, trình phát nội dung nghe nhìn sẽ luôn mở trong phần Cài đặt nhanh"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Hiện nội dung nghe nhìn trên màn hình khoá"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Để nhanh chóng tiếp tục phát, trình phát nội dung đa phương tiện luôn mở trên màn hình khoá"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Hiện các nội dung nghe nhìn đề xuất"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Hiện nội dung nghe nhìn mà Trợ lý đề xuất"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Dựa trên hoạt động của bạn"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Ẩn trình phát"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Hiện trình phát"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"nội dung nghe nhìn"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Cho phép tiện ích phần mềm camera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Cho phép mặc định triển khai các tính năng nâng cao của camera, chẳng hạn như tính năng nhiếp ảnh Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"Bluetooth sẽ bật"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"Internet"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Đang hoạt động"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Không hoạt động"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Bật"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Tắt"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Mặc định cho <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"cuộc gọi"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"Tin nhắn SMS"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Âm thanh của nội dung nghe nhìn tương thích sẽ trở nên sống động hơn"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Theo dõi chuyển động của đầu"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Âm thanh sẽ thay đổi khi bạn di chuyển đầu nhằm mang lại trải nghiệm nghe tự nhiên hơn"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Đồng bộ hoá quyền truy cập"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Cấp quyền cho <xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> tương tự như các quyền cho ứng dụng bạn đã cho phép trên <xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Đồng bộ hoá các quyền từ điện thoại"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Cấp quyền cho ứng dụng trên đồng hồ của bạn tương tự như các quyền mà bạn đã cấp trên điện thoại này"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Loại thiết bị âm thanh"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Không xác định"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Loa"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Vừa"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Cao"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Ứng dụng này chỉ có thể mở trong 1 cửa sổ"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Đang bật"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Đang tắt"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Đang tắt"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Đang tắt"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Đang bật"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Đang tắt"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Đang bật"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Đang tắt"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Chuyển màn hình sáng thành tối và màn hình tối thành sáng"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Phóng to trên màn hình"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Đang tắt"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Đang tắt"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Đang quét tìm ứng dụng lừa đảo"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Kiểm tra hoạt động trong ứng dụng để phát hiện hành vi lừa đảo"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Dùng tính năng quét tìm ứng dụng lừa đảo"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Dùng tính năng quét tìm ứng dụng (dùng cho công việc) lừa đảo"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Đã thiết lập xong mật khẩu"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Hiển thị con trỏ khi di chuột"</string>
 </resources>
diff --git a/res/values-zh-rCN/arrays.xml b/res/values-zh-rCN/arrays.xml
index 0da27b1..dd3be23 100644
--- a/res/values-zh-rCN/arrays.xml
+++ b/res/values-zh-rCN/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"可用"</item>
     <item msgid="6096962300722555553">"超出范围"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"已停用"</item>
+    <item msgid="7781484297606806796">"单播"</item>
+    <item msgid="6667451574264144311">"单播和广播"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"使用系统默认值：<xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 分钟后"</item>
     <item msgid="1574040255478150028">"5 分钟后"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-zh-rCN/strings.xml b/res/values-zh-rCN/strings.xml
index 6eb47d5..6781916 100644
--- a/res/values-zh-rCN/strings.xml
+++ b/res/values-zh-rCN/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"您现在处于开发者模式！"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"您已处于开发者模式，无需进行此操作。"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"请先启用开发者选项。"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"只有管理员用户可以访问开发者设置。"</string>
     <string name="header_category_system" msgid="1665516346845259058">"系统"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"服务中"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"不在服务区"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"当您折叠设备时，外屏会开启"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"仅限游戏、视频等"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"当使用可阻止屏幕进入空闲状态的应用时，外屏会开启"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"向上滑动以继续"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"折叠您的手机并在外屏上向上滑动以继续使用该应用，或者等待几秒钟直到屏幕锁定"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"永不"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"当您折叠设备时，外屏会锁定"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"使用自动屏幕旋转功能"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"相关工具"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"铃声和闹钟"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"通话期间的音频"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"媒体"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"通知和其他系统声音"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"媒体和系统提示音"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"通知"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"默认情况下，音频输出由各应用决定"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"未命名的蓝牙设备"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"正在搜索"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"取消"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"停用蓝牙 LE 音频"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"如果设备支持 LE 音频硬件功能，则停用蓝牙 LE 音频功能。"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"蓝牙 LE 音频模式"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"在“设备详细信息”中显示 LE 音频切换开关"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"启用蓝牙 LE 音频许可名单"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"启用蓝牙 LE 音频许可名单功能。"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"绕过蓝牙 LE 音频许可名单"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"默认使用 LE 音频，即使 LE 音频外围设备尚未通过旨在确保满足许可名单条件的验证，也是如此。"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"媒体设备"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"通话设备"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"其他设备"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"保存的设备"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"与账号相关联"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"曾与账号配对过的设备"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"系统将开启蓝牙以进行配对"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"连接偏好设置"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"之前连接的设备"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"已开启蓝牙"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"查看全部"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"查看全部"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"触控笔"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"按下尾部按钮时"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g>（工作资料）"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"在文本字段中书写"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"忽略所有通过触控笔按下按钮的动作"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"触控笔"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"音频分享"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"分享音频"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"来电和闹钟"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"使用二维码连接到音频流"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"在附近未发现音频流。"</string>
     <string name="date_and_time" msgid="1788358029823431692">"日期和时间"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"代理"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"清除"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"将“%s”添加为首选语言？"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"此设置将告知应用和网站，您也想使用此语言作为首选语言。"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"您的设备设置和地区偏好设置将发生更改。"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"更改"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"无法使用%s"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"星期六"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"不支持地区偏好设置的应用将使用默认语言区域设置。"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"详细了解语言偏好设置。"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"更多偏好设置"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"称谓语"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"设置您希望别人如何称呼您"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"应用可以使用您的称谓语以个性化的方式来称呼您。"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"未指定"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"阴性"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"阳性"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"中性"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{要移除所选语言吗？}other{要移除所选语言吗？}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"系统将以其他语言显示文字。"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"无法移除所有语言"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"位置信息"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"使用位置信息"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"已关闭"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{已开启 - # 个应用有权访问位置信息}other{已开启 - # 个应用有权访问位置信息}}"</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_location_off" msgid="8568995909147566720">"应用和服务的位置信息使用权处于关闭状态。在您拨打紧急电话号码或向该号码发送短信时，系统可能仍会将您的设备位置信息发送给急救人员。"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"详细了解位置信息设置。"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"详细了解位置信息设置"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"若要更改位置信息访问权限，请依次前往“设置”&gt;“安全和隐私设置”&gt;“隐私控制”"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"账号"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"安全"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"加密与凭据"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"为获得最佳效果，请使用获得 Made For Google 认证的屏幕保护膜。如果使用其他屏幕保护膜，系统可能无法识别您孩子的指纹。"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"手表解锁"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"设置人脸解锁和指纹解锁后，如果您戴着口罩或所在区域光线较暗，手机会要求您使用指纹解锁。\n\n如果系统无法识别您的面孔或指纹，您可以用手表进行解锁。"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"如果系统无法识别您的指纹，您可以用手表进行解锁。"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"如果系统无法识别您的面孔，您可以用手表进行解锁。"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"在设置“人脸解锁”和“指纹解锁”功能时，如果您戴着口罩或所在区域光线较暗，手机会要求您提供指纹。\n\n“手表解锁”功能是解锁手机的另一种便捷方式。例如，当手指潮湿或设备未能识别出您的面孔时，“手表解锁”功能将非常有用。"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"“手表解锁”功能是解锁手机的另一种便捷方式。例如，当设备未能识别出您的指纹时，“手表解锁”功能将非常有用。"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"“手表解锁”功能是解锁手机的另一种便捷方式。例如，当设备未能识别出您的面孔时，“手表解锁”功能将非常有用。"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"将指纹或手表用于"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"将人脸或手表用于"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"将人脸、指纹或手表用于"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"“手表解锁”功能是解锁这部手机的另一种方便快捷的方式。例如，当您的手指潮湿或设备未能识别出您的面孔时，“手表解锁”将非常有用。\n\n您可以通过以下方式使用您的手表解锁这部手机："</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"以后再说"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"继续"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"更多"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"运作方式"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"您必须将手表戴在手上，使其处于解锁状态，并靠近这部手机。只要手表戴在手上，您就不必再次解锁手表。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"当这部手机解锁后，您会在手表上收到通知。如果误解锁，只需点按通知即可再次锁定手机。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"一切由您掌控"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"您可以随时前往“设置”部分，从“手表解锁”设置中移除自己的手表"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"点按通知"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"在锁定的屏幕上向上滑动"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"选择您的手表"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"可用的手表"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"取消"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"确认"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"大功告成！"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"现在，当您在锁定的屏幕上向上滑动或点按通知时，即可使用您的手表解锁这部手机"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"完成"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"手表解锁"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"当您在锁定的屏幕上向上滑动或在点按通知时，可以使用您的手表解锁这部手机"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"若要使用“手表解锁”功能，您的手表必须满足以下条件：连接到这部手机、处于解锁状态、戴在手腕上，并且靠近这部手机。如果连接中断，您需要先解锁手机才能使用“手表解锁”功能。\n\n注意事项：\n您一次只能设置一块手表。若要再添加一块手表，请先移除当前的手表。"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"用于工作资料的人脸解锁和指纹解锁"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要设置"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"安全"</string>
     <string name="privacy_header" msgid="5526002421324257007">"隐私"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"工作资料"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"私密空间"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"让私密应用保持锁定状态并隐藏"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"将私密应用放在可以隐藏或锁定的独立空间中"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"私密空间锁定"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"您可以像解锁设备一样解锁私密空间，也可以选择其他锁定方式"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"使用设备屏幕锁定方式"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"人脸解锁和指纹解锁"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"指纹解锁"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"人脸解锁"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"点按即可设置"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"使用指纹解锁私密空间"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"使用人脸解锁私密空间"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"解锁方式"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"与设备的屏幕锁定方式相同"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"选择用于锁定私密空间的新方式？"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"自动锁定私密空间"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"设备可在闲置一段时间后自动锁定私密空间"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"每次设备锁定时"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"无操作 5 分钟后"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"永不"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"在锁定时隐藏"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"隐藏锁定的私密空间"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"如要防止其他人知道您的设备上有私密空间，您可以从应用列表中将其隐藏"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"访问隐藏的私密空间"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"在应用列表的搜索栏中输入“私密空间”"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"点按私密空间功能块"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"解锁私密空间"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"关闭"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"开启"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"系统"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"删除私密空间"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"删除私密空间？"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"您的私密空间将被从您的设备中移除。所有应用和数据都会被删除。此操作一经执行便无法撤消。"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"以下账号将被从您的私密空间中移除："</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"删除"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"正在删除私密空间…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"这将需要一点时间"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"已删除私密空间"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"无法删除私密空间"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"已解锁私密空间"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"设置屏锁"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"若要使用私密空间，请在此设备上设置屏锁"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"设置屏锁"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"取消"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"取消"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"设置"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"设置私密空间"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"将私密应用放在可以隐藏或锁定的独立空间中"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"运作方式"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"您可以从应用列表底部访问私密空间"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"系统会通过锁定功能来保护私密空间中的应用"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"私密空间锁定后，系统会隐藏私密空间中应用的通知"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"私密空间处于锁定状态时，私密空间中的应用不会显示在权限管理器、隐私信息中心和其他设置中。\n\n私密空间无法转移到新设备。若要在其他设备上使用私密空间，您需要在该设备上再设置一个私密空间。\n\n任何人如果将您的设备连接到计算机或在设备上安装有害应用，或许就能够访问您的私密空间。"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"正在设置私密空间…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"私密空间处于锁定状态时，系统会隐藏私密空间内应用的通知"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"解锁私密空间即可分享照片或文件"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"某些应用已经安装在私密空间中"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"无法设置私密空间"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"重试"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"要使用屏锁来解锁私密空间？"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"您可以像解锁设备一样解锁私密空间，也可以选择其他锁定方式"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"使用屏锁"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"选择新的锁定方式"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"设置完毕！"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"若要查找私密空间，请前往应用列表，然后向下滚动"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完成"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"向下滚动可找到私密空间"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"登录"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"登录账号才能搭配使用您的私密空间"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"以后再说"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"继续"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"为私密空间选择一种锁定方式"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"您可以通过指纹解锁私密空间。为安全起见，您必须设置备用锁定方式，才能使用此选项。"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"为您的私密空间设置 PIN 码"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"为您的私密空间设置密码"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"为您的私密空间设置解锁图案"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"您最多可以添加 <xliff:g id="COUNT">%d</xliff:g> 个指纹"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"您添加的指纹数量已达到上限"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"无法添加更多的指纹"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"图案"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN 码"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"密码"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"要删除屏幕锁定方式吗？"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"移除所有类型的设备解锁方式？"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"要移除个人资料保护功能吗？"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"手机丢失或被盗时，解锁图案可保护手机中的数据"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"手机丢失或被盗时，解锁图案可保护手机中的数据。<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>这样做会删除您的设备上存储的指纹模型。系统也会安全地永久删除您的脸部模型。您将无法使用面孔或指纹在应用内验证自己的身份。"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"手机丢失或被盗时，PIN 码可保护手机中的数据"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"您将丢失已保存的数据，比如您的 PIN 码。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>为进行感应式付款而设置的银行卡将遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>“钱包”和其他要求解锁设备才能使用的应用可能不会正常运作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"手机丢失或被盗时，PIN 码可保护手机中的数据。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>这样做也会删除您的设备上存储的指纹模型。您将无法使用指纹在应用内验证自己的身份。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"您将丢失已保存的数据，比如您的 PIN 码和指纹模型。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>为进行感应式付款而设置的银行卡将遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>“钱包”和其他要求解锁设备才能使用的应用可能不会正常运作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"手机丢失或被盗时，PIN 码可保护手机中的数据。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>系统也会安全地永久删除您的脸部模型。您将无法使用面孔在应用内验证自己的身份。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"您将丢失已保存的数据，比如您的 PIN 码和脸部模型。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>为进行感应式付款而设置的银行卡将遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>“钱包”和其他要求解锁设备才能使用的应用可能不会正常运作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"手机丢失或被盗时，PIN 码可保护手机中的数据。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>这样做会删除您的设备上存储的指纹模型。系统也会安全地永久删除您的脸部模型。您将无法使用面孔或指纹在应用内验证自己的身份。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"您将丢失已保存的数据，比如您的 PIN 码、脸部模型和指纹模型。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>为进行感应式付款而设置的银行卡将遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>“钱包”和其他要求解锁设备才能使用的应用可能不会正常运作。"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"手机丢失或被盗时，密码可保护手机中的数据"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"手机丢失或被盗时，密码可保护手机中的数据。<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"蓝牙"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"蓝牙"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"要与<xliff:g id="DEVICE_NAME">%1$s</xliff:g>配对吗？"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"请向现有的协调集合添加新成员"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"确认添加第 2 部音频设备"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"蓝牙配对码"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"输入配对码，然后按回车键"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN码由字母或符号组成"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"必须为 16 位数字"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"您可能还需要在另一设备上输入此PIN码。"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"您可能还需要在另一台设备上输入此通行密钥。"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"确认与协调组配对"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"确认与音频设备配对"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"允许访问您的通讯录和通话记录"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"还允许访问通讯录和通话记录"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"信息将用于来电通知等用途"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"无法连接到<xliff:g id="DEVICE_NAME">%1$s</xliff:g>。"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"可用的设备"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"连接"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"断开连接"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"配对和连接"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"开启蓝牙后，您的设备可以与附近的其他蓝牙设备通信。"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"开启蓝牙后，您的设备可以与附近的其他蓝牙设备通信"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"蓝牙功能处于开启状态时，您的设备可以与附近的其他蓝牙设备通信。\n\n为了提升设备的使用体验，即使蓝牙功能已关闭，应用和服务仍可以随时扫描附近的设备。例如，此功能可用于改进需要使用位置信息的功能和服务。您可以在蓝牙扫描设置中更改此功能。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"更改"</string>
     <string name="device_details_title" msgid="1155622417516195481">"设备详细信息"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允许 ART 验证可调试应用的字节码"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"显示刷新频率"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"显示当前的显示屏刷新频率"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"显示 HDR/SDR 比率"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"显示当前的 HDR/SDR 比率"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"必须解锁设备才能使用 NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"正处于飞行模式下"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"附近有公共网络时发出通知"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"有可用的高品质公共网络时通知我"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"允许连接 WEP 网络"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP 是较旧的安全协议，其安全性较低"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"您的运营商不允许连接 WEP 网络，因为这类网络的安全性较低"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"自动开启 WLAN"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"位于已保存的高品质网络（例如您的家庭网络）附近时自动重新开启 WLAN"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"无法使用，因为位置信息服务已关闭。请开启"<annotation id="link">"位置信息服务"</annotation>"。"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"WLAN 扫描功能可让应用和服务随时扫描 WLAN 网络（即使 WLAN 已关闭）。这可用于改进基于位置的功能和服务。"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"开启"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"WLAN 扫描功能已开启"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"此网络采用较旧的安全协议，其安全性较低"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"“<xliff:g id="NAME">%1$s</xliff:g>”已被屏蔽"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"此网络采用名为 WEP 的较旧安全协议，其安全性较低。如果您仍想连接，也可选择允许连接 WEP 网络。"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"您的运营商不允许连接此网络，因为它采用较旧的安全协议，安全性较低"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"允许连接 WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"关闭"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"高级选项"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"下拉列表高级选项"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展开"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"让 WLAN 保持开启状态"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"不再显示"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"连接"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"WLAN 已开启"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"已连接到“<xliff:g id="NETWORK_NAME">%1$s</xliff:g>”"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"正在连接到“<xliff:g id="NETWORK_NAME">%1$s</xliff:g>”"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"正在连接…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"无法连接网络"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"网络不在范围内"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"取消保存"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"修改"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"无法取消保存网络"</string>
     <string name="wifi_save" msgid="2312643132472226807">"保存"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"无法保存网络"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"取消"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"移动数据网络"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"以太网"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ 正在充电"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ 正在充电"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"热点连接"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"连接信号强度"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"已保存的网络"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"未设置密码"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"热点名称"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"热点密码"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP 频段"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"自动关闭热点"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"未连接任何设备时"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"扩大兼容性"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"显示屏白平衡"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"折叠时继续使用应用"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"流畅画面"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"自动将某些内容的刷新率从 60 Hz 调高到 <xliff:g id="ID_1">%1$s</xliff:g> Hz。但会增加耗电量。"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"停用游戏的默认帧速率"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"停用游戏的帧速率上限 (<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz)。"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"流畅画面"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"自动将某些内容的刷新频率调高到 <xliff:g id="ID_1">%1$d</xliff:g> Hz。使用这一设置会增加耗电量。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"强制使用峰值刷新频率"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"使用最高刷新频率可提升按触操作响应和动画质量，但会增加耗电量。"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"屏幕感知"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"屏幕感知功能会通过前置摄像头来确定是否有人正在看屏幕。这个功能只会在设备上运行，系统绝对不会存储图片或将图片发送给 Google。"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"开启屏幕感知功能"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"直视屏幕时让屏幕保持开启"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"自动锁屏设置的时间越长就越耗电。"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"相机已锁定"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"必须解锁相机才能使用人脸检测功能"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"必须解锁相机才能使用屏幕感知功能"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI（SIM 卡插槽 <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>）"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI（SIM 卡插槽 <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>）（主卡）"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"如需查看，请选择已保存的网络"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL 版本"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"电池电量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共用"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"通用设置"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"卫星消息"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"修改接入点"</string>
+    <string name="apn_add" msgid="9069613192201630934">"添加接入点"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"未设置"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未设置"</string>
     <string name="apn_name" msgid="6677695784108157953">"名称"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN 已启用"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"未启用 APN"</string>
     <string name="bearer" msgid="3231443241639159358">"承载系统"</string>
+    <string name="network_type" msgid="748590707422733595">"网络类型"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"未指定"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO 类型"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO 值"</string>
     <string name="menu_delete" msgid="9199740901584348273">"删除 APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"保存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"取消"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"APN 条目重复。"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"“名称”字段不能为空。"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN 不能为空。"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC 字段必须为 3 位数。"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC 字段必须为 2 位数或 3 位数。"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"运营商不允许添加“%s”类型的 APN。"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"MMSC 字段必须有效。"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"正在恢复默认 APN 设置。"</string>
     <string name="menu_restore" msgid="4310539620115151551">"重置为默认设置"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"已重置默认APN设置。"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"重置"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"蓝牙和 WLAN 已重置"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"清空 eSIM 卡"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"此操作并不会取消任何移动服务套餐。如要下载替代 SIM 卡，请与您的运营商联系。"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"此操作不会取消您的移动套餐。若要获得替换 SIM 卡，请联系您的运营商。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"重置设置"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"要重置所有网络设置吗？此操作无法撤消。"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"要重置所有网络设置并清空 eSIM 卡吗？此操作无法撤消。"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"要重置网络设置吗？"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"此用户无权重置网络设置"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"网络设置已重置"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"无法清除 SIM 卡"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"发生错误，因此无法清空 eSIM 卡。\n\n请重启设备，然后重试。"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"无法清空 eSIM 卡"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"出了点问题，未能清空您的 eSIM 卡。\n\n请重启设备并重试。"</string>
     <string name="main_clear_title" msgid="277664302144837723">"清除所有数据（恢复出厂设置）"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"清除所有数据（恢复出厂设置）"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"音乐"</li>\n<li>"照片"</li>\n<li>"其他用户数据"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM 卡"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"这样并不会取消您的移动服务套餐。"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"系统将删除您所有的个人信息和已下载的应用。此操作无法撤消。"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"系统将删除您所有的个人信息（包括已下载的应用和 SIM 卡）。此操作无法撤消。"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"您的所有个人信息（包括已下载的应用和 eSIM 卡）都将删除。此操作一经执行便无法撤消。"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"要清除所有数据吗？"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"此用户无权恢复出厂设置"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"正在清除"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"热点、USB、蓝牙、以太网"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"目前没有与其他设备共享互联网连接"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"已关闭"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"网络共享"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"不使用 WLAN 热点"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"仅通过 USB 共享互联网连接"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"仅通过蓝牙共享互联网连接"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"仅通过以太网共享网络"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"仅通过 USB 和蓝牙共享互联网连接"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"仅通过 USB 和以太网共享网络"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"仅通过蓝牙和以太网共享网络"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"仅通过 USB、蓝牙和以太网共享网络"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 网络共享"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"蓝牙网络共享"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"以太网络共享"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"使用热点和网络共享功能，让其他设备能通过您的 WLAN 或移动数据网络连接到互联网。应用还可以通过创建热点，与附近的设备共享内容。"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"帮助"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"移动网络"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"手机套餐"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"短信应用"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"要更改短信应用吗？"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"要使用“<xliff:g id="NEW_APP">%1$s</xliff:g>”取代“<xliff:g id="CURRENT_APP">%2$s</xliff:g>”作为您的短信应用吗？"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"要更改WLAN助手吗？"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"不再使用<xliff:g id="CURRENT_APP">%2$s</xliff:g>，而改用<xliff:g id="NEW_APP">%1$s</xliff:g>来管理您的网络连接吗？"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"要使用<xliff:g id="NEW_APP">%s</xliff:g>管理您的网络连接吗？"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"未知的SIM卡运营商"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g>没有任何已知的配置网站"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"请插入SIM卡，然后重新启动"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"请连接到互联网"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"近期位置信息请求"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"工作资料位置信息"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"应用位置信息权限"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"取消访问权限"</string>
     <string name="controls_label" msgid="8671492254263626383">"控制"</string>
     <string name="force_stop" msgid="2681771622136916280">"强行停止"</string>
+    <string name="archive" msgid="9074663845068632127">"归档"</string>
+    <string name="restore" msgid="7622486640713967157">"恢复"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"正在恢复"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"正在恢复。"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"正在恢复…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"正在恢复…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"总计"</string>
     <string name="application_size_label" msgid="6407051020651716729">"应用大小"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB存储（应用）"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"无法计算软件包的大小。"</string>
     <string name="version_text" msgid="7628938665256107608">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"移动"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"归档失败"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"已归档<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"恢复失败"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"正在恢复<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"系统目前正在执行另一项迁移操作。"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"存储空间不足。"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"应用不存在。"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"可用的屏幕键盘"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"管理屏幕键盘"</string>
     <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="6922850403920596246">"启用返回键，使实体键盘更具无障碍性"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"慢速键"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"启用慢速键，使实体键盘用起来更加无障碍"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"粘滞键"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"启用粘滞键，使实体键盘更具无障碍性"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"点按触控板的右下角即可查看更多选项"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"指针速度"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"了解触控板手势"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"前往主屏幕"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"在触控板上的任意位置用三根手指向上滑动"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"返回"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"按使用时间排序"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"按上次使用时间排序"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"按应用名称排序"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"上次使用时间"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"上次使用时间"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"从未用过"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"使用时间"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"无障碍"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"无障碍设置"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"点按屏幕三次进行放大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快捷手势进行放大"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"通过“快捷手势”和“点按屏幕三次”进行放大"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"<xliff:g id="SERVICE">%1$s</xliff:g>简介"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用“无障碍”按钮打开"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"按住两个音量键即可打开"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"点按屏幕 3 次即可打开"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"双指点按屏幕两次即可打开"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手势打开"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"使用无障碍功能启动手势"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"如需使用此功能，请点按屏幕底部的“无障碍”按钮 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n轻触并按住“无障碍”按钮，即可在多项功能之间切换。"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"如需使用此功能，请点按屏幕上的“无障碍”按钮。"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"如需使用此功能，请同时按住两个音量键。"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"要启动和停止放大功能，请在屏幕上的任意位置点按三次。"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"要启动或停止放大功能，请在屏幕上的任意位置双指点按两次。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"如需使用此功能，请用两根手指从屏幕底部向上滑动。\n\n用两根手指向上滑动并按住，即可在多项功能之间切换。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"如需使用此功能，请用三根手指从屏幕底部向上滑动。\n\n用三根手指向上滑动并按住，即可在多项功能之间切换。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如需使用无障碍功能，请用两根手指从屏幕底部向上滑动。\n\n用两根手指向上滑动并按住，即可在多项功能之间切换。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"如需使用无障碍功能，请用三根手指从屏幕底部向上滑动。\n\n用三根手指向上滑动并按住，即可在多项功能之间切换。"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"知道了"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"“无障碍”按钮设置"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"按钮设置"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"“<xliff:g id="SERVICE">%1$s</xliff:g>”快捷方式"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"“无障碍”按钮"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"无障碍手势"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住两个音量键"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"按住两个音量键"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同时按住两个音量键"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"双指点按屏幕两次"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"双指点按屏幕两次"</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="6863958573135995927">"点按屏幕三次"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"在屏幕上快速点按 {0,number,integer} 次。此快捷方式可能会减慢设备的运行速度"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"详细了解“无障碍”按钮和无障碍功能启动手势"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"请使用“无障碍”按钮。该手势不能与“三按钮”导航搭配使用。"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"快速使用无障碍功能"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"如要开始使用，请按以下步骤操作："</b>\n"1. 转到无障碍设置\n2. 选择一项功能并点按相应快捷方式\n3. 选择要使用按钮还是手势来使用此功能"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"如要开始使用，请按以下步骤操作："</b>\n"1. 转到无障碍设置\n2. 选择一项功能并点按相应快捷方式\n3. 选择相应按钮以使用此功能"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"使用按钮或手势"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"位置"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"大小"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"按电源按钮结束通话"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"大号鼠标指针"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"使鼠标指针更加显眼"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"使所有应用采用深色主题"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"适用于未自带深色主题的应用。某些应用可能会出现显示问题，例如反色。"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"移除动画"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"减少屏幕动画"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"单声道音频"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"使用振动和触感反馈"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"闹钟振动"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"媒体振动"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"键盘振动"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"响铃振动"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知振动"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"按触反馈"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"停止"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"取消"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"要停用“<xliff:g id="SERVICE">%1$s</xliff:g>”吗？"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"点按“<xliff:g id="STOP">%1$s</xliff:g>”即可停止“<xliff:g id="SERVICE">%2$s</xliff:g>”。"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"关闭"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"保持开启状态"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"要关闭“<xliff:g id="SERVICE">%1$s</xliff:g>”吗？"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"未安装任何服务"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"未选择任何服务"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"没有提供说明。"</string>
     <string name="settings_button" msgid="2195468788019730377">"设置"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"光敏度、畏光、深色主题、偏头痛、头痛、阅读模式、夜间模式、调低亮度、白点"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"易于使用, 易于访问, 协助, 辅助, Ease of use, ease of access, assistance, assistive"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"视觉, 听力, 失明, 失聪, 运动, 灵敏性, 辅助, 协助, 易于使用, 易于访问, 手, 帮助, vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"窗口放大镜, 缩放, 放大, 低视力, 增大, 加大, Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"字幕, 实时转写, 听障, 听力受损, 语音转文字, Captions, closed captions, CC, Live Transcribe, hard of hearing, hearing loss, CART, speech to text, subtitle"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"色彩对比度"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"电机, 鼠标, motor, mouse"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"助听器, 听障, 听力减退, 人工耳蜗, 放大设备, 声音处理器, hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"运动, 鼠标, 外部鼠标, 头部鼠标, 自适应鼠标, 轮椅, 操纵杆, motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"助听器, 听障, 听力减退, 人工耳蜗, 放大设备, 声音处理器, 个人扩音产品, hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"听障, 听力受损, 字幕, 电传, hard of hearing, hearing loss, captions, Teletype, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"三个按钮, three buttons"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"灵敏性, 运动, 老年, 关节炎, 中风, 震颤, 多发性硬化症, 脑瘫, 晃动, 重复性劳损, 手, dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"延迟, 灵敏性, 老年, delay, dexterity, senior"</string>
     <string name="print_settings" msgid="8519810615863882491">"打印"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"已关闭"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 个打印服务已开启}other{# 个打印服务已开启}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"还可用：<xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"充电剩余时间：<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"设备使用时间"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"后台运行时间"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"电池电量低"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"允许应用在后台运行"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"要限制后台活动吗？"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"如果您限制某个应用的后台活动，可能会导致该应用出现异常"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"由于此应用未设置为优化电池用量，因此您无法对其加以限制。\n\n要限制该应用，请先开启电池优化功能。"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"管理电池用量"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"允许后台使用"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"启用可接收实时更新，停用可节省电池电量"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"无限制"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"优化"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"受限"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"查看耗电量较高的应用"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"为保护电池，已采用更优化的充电方式"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"为延长电池寿命，已采用更优化的充电方式"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"为保护电池，已采用更优化的充电方式"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"为延长电池寿命，在插入基座时会采用更优化的充电方式"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"为保护电池，已采用更优化的充电方式"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"为延长电池寿命，在插入基座时会采用更优化的充电方式"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"正在充满电量"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"为保护电池，下次平板电脑插入基座时，将采用更优化的充电方式"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"详细了解充电暂停的原因"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"继续充电"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"包括高耗电后台活动"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"此应用将能够在后台消耗电量。这可能会导致电量耗尽速度比预期更快。"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"移除"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"取消"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"充满电"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"充电配件有问题"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"检查充电配件"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"详细了解不兼容的充电装置"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"电池管理器"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"自动管理应用"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"自上次充满电"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"系统应用"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"已卸载的应用"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"其他"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"预计剩余时间"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"剩余充电时间"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"总计：不到 1 分钟"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"后台：不到 1 分钟"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"设备使用时间：不到 1 分钟"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"不到 1 分钟"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"总计：<xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"后台：<xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"设备使用时间：<xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"现在"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g><xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"电池用量图表"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"每日电池用量图表"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"每小时电池用量图表"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"电池电量百分比：<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> &gt; <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"自上次充满电后的电池用量"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"“<xliff:g id="SLOT">%s</xliff:g>”的电池用量"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"自上次充满电后的设备使用时间"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"紧急拨号信号"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"设置进行紧急呼救时的行为"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"备份"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"已开启"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"已关闭"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"备份和还原"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"个人数据"</string>
     <string name="backup_data_title" msgid="507663517227498525">"备份我的数据"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"移动数据和 WLAN"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"自动同步个人账号数据"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"自动同步工作账号数据"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"自动同步私有数据"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"更改周期..."</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"每月流量消耗重计日期："</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"没有任何应用在此期间产生过数据流量。"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"名称"</string>
     <string name="vpn_type" msgid="5533202873260826663">"类型"</string>
     <string name="vpn_server" msgid="2908816134941973935">"服务器地址"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP 加密 (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 密钥"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 标识符"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 预共享密钥"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 用户证书"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 证书"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 服务器证书"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"显示高级选项"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 搜索网域"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 服务器（例如 8.8.8.8）"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"转发路线（例如 10.0.0.0/8）"</string>
     <string name="vpn_username" msgid="8671768183475960068">"用户名"</string>
     <string name="vpn_password" msgid="1183746907642628127">"密码"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"保存账号信息"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"（未使用）"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"（不验证服务器）"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"（来自服务器）"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"此类型的 VPN 无法随时保持连接"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"始终开启的 VPN 仅支持数字格式的服务器地址"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"必须为始终开启的 VPN 指定 DNS 服务器"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS 服务器地址必须为数字才能使用始终开启的 VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"输入的信息不支持始终开启的 VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"取消"</string>
     <string name="vpn_done" msgid="5137858784289564985">"关闭"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"屏蔽未使用 VPN 的所有连接"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"需要连接 VPN？"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"不安全。请更新为 IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"未能启动不支持的 VPN。"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"选择要始终保持连接的VPN配置文件。只有在连接到此VPN之后才可以使用网络。"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"无"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"始终开启的 VPN 需要服务器和 DNS 的 IP 地址。"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"安珀警报"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"接收有关儿童被绑架/拐骗的公告"</string>
     <string name="repeat_title" msgid="8676570486899483606">"重复"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"启用通话管理器"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"允许此服务管理您的通话。"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"通话管理器"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"无线紧急警报"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"网络运营商"</string>
     <string name="access_point_names" msgid="5768430498022188057">"接入点名称(APN)"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 卡状态"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 卡状态（SIM 卡插槽 %1$d）"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"已更改 SIM 卡。"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"您的 SIM 卡发生了变更"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"点按即可进行设置"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"每次都询问"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"必须选择"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使用的应用、默认应用"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"工作资料中的应用无法访问通知。"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"密码和账号"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"保存的密码、自动填充、同步的账号"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"登录和自动填充方面的建议"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"默认应用"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"克隆应用"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"创建应用的第二个实例，这样您就可以同时使用两个账号。"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"钱包"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支付、点按、付款"</string>
     <string name="keywords_backup" msgid="707735920706667685">"备份内容, 备份"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"手势"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"人脸, 解锁, 身份验证, 登录"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"人脸, 解锁, 身份验证, 登录, 指纹, 生物识别, face, unlock, auth, sign in, fingerprint, biometric"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI, MEID, MIN, PRL 版本, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"文字大小, 大字版, 大字体, 大文字, 低视力, 放大文字, 字体放大工具, 字体放大, text size, large print, large font, large text, low vision, make text bigger, font enlarger, font enlargement"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"氛围屏保始终保持开启状态, AOD, always on ambient display, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"NFC, 标签, tag, 读取器, reader"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"键盘、触感反馈、振动、"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、振动、勿扰"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"媒体音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"投放音量"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"开机音效"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"实时字幕"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"自动生成媒体字幕"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"手机扬声器"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"平板电脑扬声器"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"设备扬声器"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有线耳机"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"播放兼容的媒体内容时，音频更具沉浸感"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"已关闭"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"显示所有通知内容"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"仅在解锁状态下显示敏感内容"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"完全不显示通知"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"屏幕锁定时您想要如何显示通知？"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"您希望锁定的屏幕显示什么内容？"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"锁定屏幕"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"显示所有工作通知内容"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"隐藏敏感工作内容"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"已移除近期对话"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"对话已移除"</string>
     <string name="clear" msgid="5092178335409471100">"清除"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"清除对话“<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>”"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"优先对话和经过修改的对话会显示在这里"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"您标记为优先对话或做出任何其他更改的对话会显示在这里。\n\n如需更改对话设置，请执行以下操作：\n从屏幕顶部向下滑动，将下拉通知栏打开，然后长按要更改的对话。"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"最小化"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"通知音量渐降"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"为所有通知应用音量渐降"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"当您从同一应用连续收到很多通知时，系统会逐渐降低通知音量"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"为对话应用音量渐降"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"当您在短时间内从同一聊天对话收到很多消息时，系统会逐渐降低通知音量"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"不使用通知音量渐降功能"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"无论您从同一应用连续收到多少通知，系统会都不降低通知音量"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"解锁时振动"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"屏幕解锁时仅振动"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"应用于工作资料"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"将个人资料中的通知音量渐降设置应用于工作资料"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 助手服务"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"没有任何已安装的应用请求以 VR 助手服务的形式运行。"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"允许<xliff:g id="SERVICE">%1$s</xliff:g>访问 VR 服务吗？"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"已关闭"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"固定应用"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"通过固定应用功能，您可以固定显示当前应用，直到取消固定该应用为止。例如，您可以利用此功能让信任的好友玩某款游戏。"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"固定某个应用后，该应用可打开其他应用，也能访问个人数据。\n\n如需使用固定应用功能，请按以下步骤操作：	\n1. 开启固定应用功能	\n2. 打开“概览”	\n3. 点按屏幕顶部的应用图标，然后点按“固定”"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"固定某个应用后，该应用可打开其他应用，也能访问个人数据。\n\n如果您想安全地与他人共用您的设备，请尝试改用访客用户模式。\n\n如需使用固定应用功能，请按以下步骤操作：	\n1. 开启固定应用功能	\n2. 打开“概览”	\n3. 点按屏幕顶部的应用图标，然后点按“固定”"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"固定某个应用后，该应用可打开其他应用，也能访问个人数据。\n\n如需使用固定应用功能，请按以下步骤操作：	\n{0,number,integer}. 开启固定应用功能 	\n{1,number,integer}. 打开“概览”	\n{2,number,integer}. 点按屏幕顶部的应用图标，然后点按“固定”"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"固定某个应用后，该应用可打开其他应用，也能访问个人数据。\n\n如果您想安全地与他人共用您的设备，请尝试改用访客用户模式。\n\n如需使用固定应用功能，请按以下步骤操作：	\n{0,number,integer}. 开启固定应用功能	\n{1,number,integer}. 打开“概览”	\n{2,number,integer}. 点按屏幕顶部的应用图标，然后点按“固定”"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"固定应用后：\n\n•		该应用可访问您的个人数据\n		（例如通讯录和电子邮件内容）\n•		已固定的应用可打开其他应用\n\n请务必只为您非常信任的人开启固定应用功能。"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"取消固定屏幕前要求绘制解锁图案"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定前要求输入 PIN 码"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"取消固定屏幕前要求输入密码"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"取消固定屏幕时锁定设备"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"删除 SIM 卡前需确认"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"确认您想清除您的 eSIM 卡"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"先验证是您本人在操作，然后才能清空 eSIM 卡"</string>
     <string name="memtag_title" msgid="5096176296797727201">"高级内存保护 Beta 版"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"高级内存保护"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"针对闲置应用的设置"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"暂停闲置应用的活动"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"移除权限、删除临时文件并停止发送通知"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"管理闲置应用"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"撤消权限、删除临时文件、停止发送通知并归档应用"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"所有应用"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"已安装的应用"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"免安装应用"</string>
@@ -3656,12 +3842,12 @@
     <string name="usb_summary_UVC_power" msgid="226810354412154061">"摄像头和为其他设备充电"</string>
     <string name="background_check_pref" msgid="5304564658578987535">"后台检查"</string>
     <string name="assist_access_context_title" msgid="5201495523514096201">"使用屏幕上的文字内容"</string>
-    <string name="assist_access_context_summary" msgid="6951814413185646275">"允许助手应用获取屏幕上的文字内容"</string>
+    <string name="assist_access_context_summary" msgid="6951814413185646275">"允许辅助应用获取屏幕上的文字内容"</string>
     <string name="assist_access_screenshot_title" msgid="4395902231753643633">"使用屏幕截图"</string>
-    <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"允许助手应用使用屏幕截图"</string>
+    <string name="assist_access_screenshot_summary" msgid="5276593070956201863">"允许辅助应用使用屏幕截图"</string>
     <string name="assist_flash_title" msgid="5449512572885550108">"闪烁屏幕"</string>
-    <string name="assist_flash_summary" msgid="3032289860177784594">"当助手应用获取屏幕/屏幕截图上的文字时，让屏幕边缘闪烁"</string>
-    <string name="assist_footer" msgid="8248015363806299068">"助手应用可根据您当前浏览的屏幕上的内容为您提供帮助。某些应用同时支持启动器和语音输入服务，可为您提供更全面的协助。"</string>
+    <string name="assist_flash_summary" msgid="3032289860177784594">"当辅助应用获取屏幕/屏幕截图上的文字时，让屏幕边缘闪烁"</string>
+    <string name="assist_footer" msgid="8248015363806299068">"辅助应用可根据您当前浏览的屏幕上的内容为您提供帮助。某些应用同时支持启动器和语音输入服务，可为您提供更全面的协助。"</string>
     <string name="average_memory_use" msgid="717313706368825388">"平均内存使用量"</string>
     <string name="maximum_memory_use" msgid="2171779724001152933">"最高内存使用量"</string>
     <string name="memory_usage" msgid="5594133403819880617">"内存使用量"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"可用"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"各个应用使用的内存"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{过去 {time}内有 1 个应用使用了内存}other{过去 {time}内有 # 个应用使用了内存}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"启用内存用量分析功能"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"内存用量分析功能需占用额外的系统资源。"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"内存分析功能已停用"</string>
     <string name="running_frequency" msgid="7260225121706316639">"频率"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"最高使用量"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"未使用任何数据流量"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"显示在其他应用的上层"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"允许显示在其他应用的上层"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"允许此应用显示在您当前使用的其他应用的上层。此应用将能得知您点按的位置或更改屏幕上显示的内容。"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"更改媒体输出"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"允许应用切换媒体输出"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"允许此应用选择要使用哪个已连接的设备播放其他应用的音频/视频。如果允许，此应用可以访问可用设备列表，例如头戴式耳机和音箱，并选择使用哪个输出设备流式传输或投放音频/视频。"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"所有文件访问权限"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"授予管理所有文件的权限"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允许此应用读取、修改和删除此设备或任何已连接存储卷上的所有文件。如果您授予该权限，应用无需明确通知您即可访问文件。"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"可以访问所有文件"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"语音启动应用"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"允许使用语音启动"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"语音启动功能可使用语音指令开启批准的应用，而无需手动操作。内置的自适应传感功能会确保您的数据不外泄。\n\n"<a href="">"详细了解受保护的自适应传感功能"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"全屏通知"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"允许此应用显示全屏通知"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"允许此应用在设备锁定时显示占据整个屏幕空间的通知。应用可以利用全屏通知显示闹钟、来电或其他紧急通知。"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"数据流量警告：<xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"数据流量上限：<xliff:g id="ID_1">^1</xliff:g>"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"数据流量警告：<xliff:g id="ID_1">^1</xliff:g>/数据流量上限：<xliff:g id="ID_2">^2</xliff:g>"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"运营商的流量计算方式可能与您设备的计算方式不同"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"不包括运营商网络的流量消耗"</string>
     <string name="data_used_template" msgid="8229342096562327646">"已使用 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"设置数据流量警告"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"已在 <xliff:g id="ID_1">^2</xliff:g>前更新"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"刚刚由<xliff:g id="ID_1">^1</xliff:g>更新"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"刚刚更新"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"查看流量套餐"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"查看详情"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"省流模式"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"不受流量限制"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 后台电池用量比平时高"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 前台电池用量较高"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"<xliff:g id="APP_LABEL">%1$s</xliff:g> 前台电池用量比平时高"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"电池用量异常"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"电池用量高"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"后台电池用量高"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"前台电池用量高"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"快捷设置开发者功能块"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"停用 adb 授权超时功能"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"停用以下功能：如果系统在默认时间（7 天）或用户配置的时间（最短 1 天）内未重新建立连接，就自动撤消 adb 授权。"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope 跟踪"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"传感器已关闭"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"工作资料设置"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"在个人应用中搜索工作目录联系人"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"系统导航, “双按钮”导航, “三按钮”导航, 手势导航, 滑动"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"数字助理"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"滑动即可调用助理"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"从底部角落向上滑动即可调用数字助理应用。"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"从底部角落向上滑动即可调用数字助理应用"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"按住主屏幕按钮可调用 Google 助理"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"按住主屏幕按钮即可调用数字助理应用。"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"自动填充服务"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"默认自动填充服务"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"密码"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"密码、通行密钥和数据服务"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"其他提供方"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"首选服务"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"其他服务"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# 个密码}other{# 个密码}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"自动, 填充, 自动填充, 密码, auto, fill, autofill, password"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"数据, 通行密钥, 密码, data, passkey, password"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"自动, 填充, 自动填充, 数据, 通行密钥, 密码, auto, fill, autofill, data, passkey, password"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"更改"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"打开"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"未选择任何内容"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;请确认这是您信任的应用&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt;会根据您的屏幕内容判断可自动填充哪些内容。"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;要使用&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;吗？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;会根据屏幕上的内容判断可以自动填充的内容。从现在起，系统会将新密码、通行密钥和其他信息保存在此处。"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"密码、通行密钥和数据服务"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;要使用&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;吗？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;从现在起，系统会将新密码、通行密钥和其他信息保存在此处。&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;可能会根据屏幕上的内容判断可以自动填充的内容。"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"密码、通行密钥和自动填充方面的首选服务"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"要关闭%1$s吗？"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;停用此服务？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;停用此服务后，当您登录时，系统不会填充密码、通行密钥、付款方式等已保存的信息以及其他信息。如需使用已保存的信息，请选择一个密码、通行密钥或数据服务。"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"密码、通行密钥和自动填充"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;关闭所有服务？&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;密码、通行密钥和其他已存信息将不可用于登录时自动填充"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;将您的首选服务更改为&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;？&lt;/b&gt;&lt;br/&gt;&lt;br/&gt;从现在起，新的密码、通行密钥和其他信息将保存在这里。&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;可能会根据屏幕上的内容判断可以自动填充的信息"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"使用%1$s？"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"关闭"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"更改"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"您只能开启 5 项服务"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"至少关闭 1 项服务才能添加另 1 项服务"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"%1$s会根据屏幕上的内容判断可以自动填充的内容。"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"密码、通行密钥和数据服务限制"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"同时最多可以启用 5 个密码、通行密钥和数据服务。若要添加其他服务，请先关闭其中一项服务。"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"密码、通行密钥和数据服务限制"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"同时最多可以启用 5 个密码、通行密钥和数据服务。若要添加其他服务，请先关闭一个已启用的服务。"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"关闭"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"自动填充"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"日志记录级别"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"只能修改可调试应用的应用兼容性变更。请安装可调试的应用，然后重试。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"必须一并更改其他设置"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"账号"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d 个账号"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"设备名称"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"基本信息"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"法律法规"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"扫描到 NFC 标签时，允许此应用启动。\n如果启用此权限，则每当检测到 NFC 标签时，此应用都会列为启动选项。"</string>
     <string name="media_output_title" msgid="8283629315159510680">"媒体播放到"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"用于播放<xliff:g id="LABEL">%s</xliff:g>内容的设备："</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"音频将继续播放"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"此设备"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通话期间无法使用"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"接听来电的设备："</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"静音"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"如需启用，请先从“按住电源按钮”改为电源菜单。"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"网络详情"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"您的设备名称会显示在手机上的应用中。此外，当您连接到蓝牙设备、连接到 WLAN 网络或设置 WLAN 热点时，其他人可能也会看到您的设备名称。"</string>
     <string name="devices_title" msgid="649715719278562515">"设备"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"选择网络"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"已断开连接"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"名称"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"颜色（由兼容应用使用）"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"保存"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"使用 SIM 卡"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"使用此 SIM 卡"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"关闭"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"要停用此 SIM 卡，请将其拔出"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"点按即可激活<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"若要关闭这张 SIM 卡，请移除它"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"点按即可激活您的<xliff:g id="CARRIER">%1$s</xliff:g> SIM 卡"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"清空 eSIM 卡"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"首选网络类型"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"更改网络运行方式"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"首选网络类型"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"请与您的网络服务提供商联系以了解定价。"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"应用的流量使用情况"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"无效的网络模式<xliff:g id="NETWORKMODEID">%1$d</xliff:g>。忽略。"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"卫星消息"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"通过卫星收发短信。您的账号支持此功能。"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"通过卫星收发短信。您的账号不支持此功能。"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"卫星消息"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"关于卫星消息功能"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"您可以使用符合条件的<xliff:g id="CARRIER_NAME">%1$s</xliff:g>账号通过卫星收发短信。"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"您的<xliff:g id="CARRIER_NAME">%1$s</xliff:g>套餐"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"您的账号支持卫星消息功能"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"您的账号不支持卫星消息功能"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"添加卫星消息功能"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"运作方式"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"当您没有移动网络时"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"您的手机会自动连接到卫星。为获得最佳连接质量，请确保您身在能清楚看到天空的场所。"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"当您的手机连接到卫星后"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"您可以给任何对象发短信，包括应急服务机构。当有可用的移动网络时，您的手机将重新连接到移动网络。"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"卫星消息可能需要较长时间才会送达，而且此功能目前仅覆盖部分地区；天气和某些建筑物可能会影响卫星连接质量。不支持卫星通话。\n\n对您账号做出的更改可能要过一段时间才能显示在“设置”中。详情请联系<xliff:g id="CARRIER_NAME">%1$s</xliff:g>查询。"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"详细了解卫星消息功能"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"接入点名称"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"连接到<xliff:g id="CARRIER">%1$s</xliff:g>时无法使用"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"要切换到<xliff:g id="CARRIER_NAME">%1$s</xliff:g>吗？"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"要切换为使用 SIM 卡吗？"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"要使用“<xliff:g id="CARRIER_NAME">%1$s</xliff:g>”吗？"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"一次只能启用一个 SIM 卡。\n\n切换到<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>不会取消<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>服务。"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"一次只能启用一个 eSIM 卡。\n\n切换到<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>不会取消<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>服务。"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"一次只能启用一个 SIM 卡。\n\n进行切换并不会取消<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>服务。"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"一次只能启用 1 张 SIM 卡。\n\n切换到<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>不会取消您所用的<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>服务。"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"一次只能启用 1 张 eSIM 卡。\n\n切换到<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>不会取消您所用的<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>服务。"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"一次只能启用 1 张 SIM 卡。\n\n切换操作不会取消您所用的<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>服务。"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"可以同时使用 2 张 SIM 卡。要使用<xliff:g id="CARRIER_NAME">%1$s</xliff:g>，请关闭另一张 SIM 卡。"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"切换到<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"关闭<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"关闭 SIM 卡并不会取消您的服务"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"正在连接到网络…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"正在切换到使用<xliff:g id="CARRIER_NAME">%1$s</xliff:g>来接打电话和收发信息…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"无法切换运营商"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"发生错误，因此无法切换运营商。"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"正在激活您的 SIM 卡…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"正在切换到<xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"无法切换 SIM 卡"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"出了点问题。无法切换 SIM 卡。"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"要停用<xliff:g id="CARRIER_NAME">%1$s</xliff:g>吗？"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"要停用 SIM 卡吗？"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"无法停用运营商"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"出了点问题，无法停用您的运营商。"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"无法关闭 SIM 卡"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"出了点问题，无法关闭您的 SIM 卡。"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"要使用 2 个 SIM 卡吗？"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"此设备可以同时激活 2 个 SIM 卡。如要继续一次只使用 1 个 SIM 卡，请点按“不用了”。"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"要重启设备吗？"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"不用了"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"取消"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切换"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"停用"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"无法激活 SIM 卡"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"请尝试重新启用 SIM 卡。如果问题仍然存在，请重启您的设备。"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"设置 SIM 卡"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"您可以设置移动网络偏好设置，以便在此设备上使用多张 SIM 卡"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"给 SIM 卡加标签"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"您将在拨打电话、发送短信、使用移动网络时以及设置中看到这些标签"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM 卡标签"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"加标签"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"选择要使用哪些 SIM 卡"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"可以同时使用 2 张 SIM 卡"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"设置主 SIM 卡"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"选择在拨打电话、发送短信和使用移动网络时默认使用哪些 SIM 卡"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"主 SIM 卡"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"通话"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"短信"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"自动切换数据网络"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"根据信号覆盖率和可用性，选择要使用哪张 SIM 卡的移动网络"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"上网专用"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"设置"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"继续"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"正在开启<xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"移动网络"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"电话号码"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM 卡标签和颜色"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"网络激活"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"正在切换运营商"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g>已启用"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"您的<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM 卡已激活"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"点按即可更新 SIM 卡设置"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"已切换到<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"已切换到另外一家运营商"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"您的移动网络已更改"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"设置其他 SIM 卡"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"选择您已激活的 SIM 卡或同时使用 2 个 SIM 卡"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"选择要使用的号码"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{这台设备上有 1 个可用号码，但一次只能使用一个}=2{这台设备上有 2 个可用号码，但一次只能使用一个}other{这台设备上有 # 个可用号码，但一次只能使用一个}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"正在启用<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"目前无法启用"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"选择一张要使用的 SIM 卡"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{这部设备上有 1 张可用的 SIM 卡，但一次只能使用 1 张}=2{这部设备上有 2 张可用的 SIM 卡，但一次只能使用 1 张}other{这部设备上有 # 张可用的 SIM 卡，但一次只能使用 1 张}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"正在开启<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"此刻无法开启这张 SIM 卡"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"要使用“<xliff:g id="CARRIER_NAME">%1$s</xliff:g>”吗？"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"系统将通过<xliff:g id="CARRIER_NAME">%1$s</xliff:g>使用移动数据、通话和短信功能。"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"没有可用的 SIM 卡"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"如要在日后使用移动数据、通话和短信功能，请转到“网络设置”部分"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM 卡"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"要清空此 eSIM 卡吗？"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"清空此 SIM 卡将从此设备中移除<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>服务。\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>的服务不会因此被取消。"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"此操作会移除此设备上的<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>服务，但您的<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>套餐不会被取消。"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"清空"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"正在清空 SIM 卡…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"无法清空 SIM 卡"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"发生错误，因此无法清除此 SIM 卡。\n\n请重启设备，然后重试。"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"正在清空 eSIM 卡…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"无法清空 eSIM 卡"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"出了点问题，未能清空此 eSIM 卡。\n\n请重启设备并重试。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"连接到设备"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"“<xliff:g id="APPNAME">%1$s</xliff:g>”应用要使用临时 WLAN 网络连接到您的设备"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"找不到设备。请确保设备已开启并可连接到网络。"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"紧急呼叫"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"您的运营商不支持通过 WLAN 通话进行紧急呼叫。\n设备会自动切换到移动网络，以拨打紧急呼叫电话。\n只能在移动网络覆盖区域内进行紧急呼叫。"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"使用 WLAN 通话以提升通话质量"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"备用通话"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"如果<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>无法使用或处于漫游状态，系统将使用您的移动数据 SIM 卡拨打和接听<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>电话。"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"备用通话"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"接收彩信"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"无法发送彩信"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"点按即可在移动数据网络关闭时通过<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>收发彩信"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"您的工作政策信息"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"由 IT 管理员管理的设置"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"使用 16K 大小的页面启动"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"使用 16K 页面大小支持的内核启动设备"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"要使用 16KB 页面兼容内核重新启动吗？"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"警告：某些应用可能与此模式不兼容。设备将在确认后重新启动。"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"要使用 4KB 页面兼容内核重新启动吗？"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"设备将在确认后重新启动。"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"无法将内核更新为 16KB 页面兼容的内核。"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"正在应用更改"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Bug 报告处理程序"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"确定要使用哪款应用来处理设备上的错误报告快捷方式。"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"个人"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"允许可在其他应用上层显示的应用重叠显示在“设置”屏幕上"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"允许运行 Mock Modem 服务"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"允许此设备运行 Mock Modem 服务以进行插桩测试。正常使用手机时不得启用该服务"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"停用屏幕共享保护"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"停用系统针对屏幕共享期间应用的应用和通知保护"</string>
     <string name="media_controls_title" msgid="403271085636252597">"媒体"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"固定媒体播放器"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"为了方便您快速恢复播放，媒体播放器会在“快捷设置”中保持打开状态"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"在锁定的屏幕上显示媒体"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"为了方便您快速恢复播放，媒体播放器会在锁定的屏幕上保持打开状态"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"显示媒体推荐内容"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"显示 Google 助理推荐的媒体内容"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"根据您的活动"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"隐藏播放器"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"显示播放器"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"媒体"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"允许相机软件扩展程序"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"允许默认软件实现高级相机功能，例如 Eyes Free 录像。"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"蓝牙将开启"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"互联网"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM 卡"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM 卡"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM 卡"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM 卡"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"使用中"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"未使用"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"已启用"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"已停用"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /默认用于<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"通话"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"短信"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"播放兼容的媒体时，音频更具沉浸感"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"头部跟踪"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"音频会随着头部移动而变化，让聆听效果更加自然"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"同步权限"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"为<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>授予您已在<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>上授予的那些应用权限"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"从手机同步权限"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"为手表授予您已在这部手机上授予的那些应用权限"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"音频设备类型"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"未知"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"扬声器"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
     <string name="contrast_high" msgid="3988567609694797696">"高"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"此应用只能在 1 个窗口中打开"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"开启"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"关闭"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"关闭"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"已关闭"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"已开启"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"已关闭"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"已开启"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"已关闭"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"将亮屏幕调暗，将暗屏幕调亮"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"在屏幕上放大"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"已关闭"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"已关闭"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"扫描是否存在欺骗性应用"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"检查应用活动是否存在钓鱼式攻击"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"使用扫描功能来查找欺骗性应用"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"使用扫描功能来查找你工作资料区的欺骗性应用"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"密码现已设置完成"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"悬停时显示指针"</string>
 </resources>
diff --git a/res/values-zh-rHK/arrays.xml b/res/values-zh-rHK/arrays.xml
index 2e9de69..19426bf 100644
--- a/res/values-zh-rHK/arrays.xml
+++ b/res/values-zh-rHK/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"可用"</item>
     <item msgid="6096962300722555553">"超出範圍"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"已停用"</item>
+    <item msgid="7781484297606806796">"單播"</item>
+    <item msgid="6667451574264144311">"單播和廣播"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"使用系統預設值：<xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 分鐘後"</item>
     <item msgid="1574040255478150028">"5 分鐘後"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml
index ecd9941..89d5e37 100644
--- a/res/values-zh-rHK/strings.xml
+++ b/res/values-zh-rHK/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"開發人員設定已啟用！"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"不需要了，你已經是開發人員。"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"請先啟用開發人員選項。"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"只有管理員使用者可存取開發人員設定。"</string>
     <string name="header_category_system" msgid="1665516346845259058">"系統"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"服務中"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"沒有服務"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"裝置摺疊時開啟前方螢幕"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"只限遊戲、影片等"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"如果應用程式不讓螢幕進入閒置狀態，前方螢幕就會開啟"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"向上滑動即可繼續"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"你可將手機摺疊並在前方螢幕向上滑動，繼續使用應用程式，或等待幾秒讓螢幕上鎖。"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"永不"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"裝置摺疊時鎖定前方螢幕"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"使用自動旋轉"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"相關工具"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"鈴聲和鬧鐘"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"通話期間的音訊"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"媒體"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"通知和其他系統聲效"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"媒體和系統音效"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"通知"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"根據預設，系統會按個別應用程式決定輸出的音訊"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"未命名的藍牙裝置"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"正在搜尋..."</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"取消"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"停用藍牙 LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"如果裝置支援 LE Audio 硬件功能，則停用藍牙 LE Audio 功能。"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"藍牙 LE Audio 模式"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"在「裝置詳情」中顯示 LE Audio 切換按鈕"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"啟用藍牙 LE Audio 許可名單"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"啟用藍牙 LE Audio 許可名單功能。"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"繞過藍牙 LE Audio 許可名單"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"即使 LE Audio 周邊裝置未通過符合許可清單條件的驗證，系統仍會預設使用 LE Audio。"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"媒體裝置"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"通話裝置"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"其他裝置"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"已儲存的裝置"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"與帳戶建立關聯"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"登入帳戶用過"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"系統將開啟藍牙以配對裝置"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"連接偏好設定"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"之前已連接的裝置"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"已開啟藍牙"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"查看全部"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"查看全部"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"觸控筆"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"按下尾部按鈕時"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (工作設定檔)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"在文字欄位書寫"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"忽略所有觸控筆按鈕按壓動作"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"觸控筆"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"音訊分享功能"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"分享音訊"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"通話及鬧鐘"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"使用 QR 碼連接音訊串流"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"找不到附近的音訊串流。"</string>
     <string name="date_and_time" msgid="1788358029823431692">"日期和時間"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"清除"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"要將「%s」新增為偏好語言嗎？"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"此操作讓應用程式和網站知道你同時偏好此語言。"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"系統將變更裝置設定和地區偏好設定。"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"變更"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"「%s」無法使用"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"星期六"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"如果應用程式不支援地區偏好設定，應用程式便會使用其預設語言代碼設定。"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"進一步瞭解語言偏好設定。"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"其他偏好設定"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"稱謂"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"設定你偏好的稱謂"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"應用程式可以使用稱謂來個人化對你的稱呼。"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"未指定"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"女性"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"男性"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"中性"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{要移除所選語言嗎？}other{要移除所選語言嗎？}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"文字將以其他語言顯示。"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"無法移除所有語言"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"位置"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"使用位置"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"關閉"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{開啟 - # 個應用程式可存取位置資訊}other{開啟 - # 個應用程式可存取位置資訊}}"</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_location_off" msgid="8568995909147566720">"應用程式和服務的位置權限已關閉。當你打電話或發短訊到緊急電話號碼時，系統仍會將你的裝置位置資料傳送給救援人員。"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"進一步瞭解「位置設定」。"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"進一步瞭解「位置設定」"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"如要變更位置資料存取權，請前往「設定」&gt; [安全性和私隱] &gt; [私隱權設定]"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"帳戶"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"安全性"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"加密和憑證"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"為獲得最佳效果，請使用已通過 Made for Google 認證的螢幕保護貼。如果使用其他螢幕保護貼，系統可能無法辨識子女的指紋。"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"手錶解鎖"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"設定「面孔解鎖」和「指紋解鎖」時，如果你戴著口罩或人在昏暗的地方，手機就會要求你註冊指紋。\n\n當系統無法識別你的面孔或指紋時，可以使用手錶解鎖裝置。"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"當系統無法識別你的指紋時，可以使用手錶解鎖裝置。"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"當系統無法識別你的面孔時，可以使用手錶解鎖裝置。"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"設定「面孔解鎖」和「指紋解鎖」時，如果你戴著口罩或人在昏暗的地方，手機就會要求你註冊指紋。\n\n在你手指弄濕或系統無法識別你的面孔等情況下，「手錶解鎖」是另一個方便的解鎖手機方式。"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"在系統無法識別你的指紋等情況下，「手錶解鎖」是另一個方便的解鎖手機方式。"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"在系統無法識別你的面孔等情況下，「手錶解鎖」是另一個方便的解鎖手機方式。"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"使用指紋或手錶"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"使用面孔或手錶"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"使用面孔、指紋或手錶"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"在你手指弄濕或系統無法識別你的面孔等情況下，「手錶解鎖」是另一個方便的解鎖手機方式。\n\n遇到以下情況時，你可以使用手錶解鎖此手機："</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"暫時不要"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"繼續"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"更多"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"運作方式"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"你必須先解鎖手錶，並將手錶戴在手腕上，並靠近此手機。只要手錶仍在腕上，你便無需再次解鎖手錶。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"此手機解鎖時，手錶就會顯示通知。如果不小心解鎖手機，只要輕按通知，即可再次鎖定。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"一切由你掌控"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"你可隨時前往「設定」將手錶從「手錶解鎖」中移除"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"輕按通知"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"在上鎖畫面向上滑動"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"選擇手錶"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"可連線的手錶"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"取消"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"確認"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"大功告成！"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"你現可在上鎖畫面向上滑動或輕按通知，即可使用手錶解鎖此手機"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"完成"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"手錶解鎖"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"在上鎖畫面向上滑動或輕按通知，即可使用手錶解鎖此手機"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"如要使用「手錶解鎖」，你必須先解鎖手錶，並將手錶戴在手腕上，以及靠近和連接此手機。如果連線中斷，你必須先解鎖手機，才能使用「手錶解鎖」。\n\n注意事項：\n你每次只可設定一隻手錶。如要新增其他手錶，請先移除目前的手錶。"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"用於工作設定檔的面孔和指紋解鎖"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"保安"</string>
     <string name="privacy_header" msgid="5526002421324257007">"私隱"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"工作設定檔"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"私人空間"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"讓私人應用程式保持鎖定及隱藏"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"將私人應用程式安裝在可隱藏或鎖定的獨立空間"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"私人空間鎖定"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"你可使用解鎖裝置的方式來解鎖私人空間，或選擇其他鎖定方式"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"使用裝置的螢幕鎖定"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"面孔和指紋解鎖"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"指紋解鎖"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"面孔解鎖"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"輕按即可設定"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"使用指紋解鎖私人空間"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"使用面孔解鎖私人空間"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"解鎖方法"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"與裝置的螢幕鎖定相同"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"要為私人空間選擇新的鎖定方式嗎？"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"自動鎖定私人空間"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"裝置可在閒置一段時間後自動鎖定私人空間"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"每當裝置鎖定"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"閒置 5 分鐘後"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"永不"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"在鎖定時隱藏"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"在鎖定時隱藏私人空間"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"如要防止其他使用者知道裝置上有私人空間，可以從應用程式清單中隱藏該空間"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"存取隱藏的私人空間"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"在應用程式清單的搜尋列中輸入「私人空間」"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"輕按私人空間圖塊"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"解鎖私人空間"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"關閉"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"開啟"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"系統"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"刪除私人空間"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"要刪除私人空間嗎？"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"你的私人空間將從裝置上移除。所有私人應用程式和資料都會被刪除，且無法復原。"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"系統將從你的私人空間移除以下帳戶："</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"刪除"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"正在刪除私人空間…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"過程需時數分鐘"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"私人空間已刪除"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"無法刪除私人空間"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"私人空間已解鎖"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"設定螢幕鎖定功能"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"如要使用私人空間，請在此裝置上設定螢幕鎖定功能"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"設定螢幕鎖定功能"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"取消"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"取消"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"設定"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"設定私人空間"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"將私人應用程式安裝在可隱藏或鎖定的獨立空間"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"運作方式"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"你可從應用程式清單底部存取私人空間"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"私人空間中的應用程式受鎖定功能保護"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"私人空間處於鎖定狀態時，系統會隱藏私人空間應用程式的通知"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"私人空間處於鎖定狀態時，當中的應用程式就不會在權限管理工具、私隱資訊主頁和其他設定中顯示。\n\n私人空間無法轉移至新裝置。如要在其他裝置上使用私人空間，請重新設定。\n\n如果有人將裝置連接電腦，或在裝置上安裝有害的應用程式，或許能存取你的私人空間。"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"正在設定私人空間…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"私人空間處於鎖定狀態時，系統會隱藏私人空間應用程式的通知"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"解鎖私人空間，即可分享相片或檔案"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"部分應用程式已安裝在私人空間內"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"無法設定私人空間"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"再試一次"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"要使用螢幕鎖定功能解鎖私人空間嗎？"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"你可使用解鎖裝置的方式來解鎖私人空間，或選擇其他鎖定方式"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"使用螢幕鎖定方式"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"選擇新的鎖定方式"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"大功告成！"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"如要存取私人空間，請前往應用程式清單並向下捲動畫面"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完成"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"向下捲動以尋找私人空間"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"登入"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"需要登入帳戶，才能使用私人空間"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"暫時不要"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"繼續"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"選擇私人空間的鎖定方式"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"你可以使用指紋解鎖私人空間。為安全起見，此選項需要設定後備鎖定方式。"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"設定私人空間的 PIN"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"設定私人空間密碼"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"設定私人空間上鎖圖案"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"你最多可以加入 <xliff:g id="COUNT">%d</xliff:g> 個指紋"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"你加入指紋的數目已達上限"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"無法加入更多指紋"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"圖案"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN 碼"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"密碼"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"要刪除螢幕鎖定嗎？"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"要移除所有裝置解鎖方式嗎？"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"要移除設定檔保護功能嗎？"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"手機遺失或被盜時，圖案可保護手機中的資料"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"手機遺失或被盜時，圖案可保護手機中的資料。<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>這麼做會刪除裝置上儲存的指紋模型。系統亦會妥善地將你的面部模型永久刪除。你之後將無法使用面孔或指紋在應用程式中驗證身分。"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"手機遺失或被盜時，PIN 可保護手機中的資料"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"你將遺失已儲存的資料，例如 PIN。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>系統將移除已設定感應式付款的付款卡。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>「錢包」和其他需要解鎖裝置的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"手機遺失或被盜時，PIN 可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>這麼做亦會刪除裝置上儲存的指紋模型。你之後將無法使用指紋在應用程式中驗證身分。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"你將遺失已儲存的資料，例如 PIN 和指紋模型。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>系統將移除已設定感應式付款的付款卡。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>「錢包」和其他需要解鎖裝置的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"手機遺失或被盜時，PIN 可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>系統亦會妥善地將你的面部模型永久刪除。你之後將無法使用面孔在應用程式中驗證身分。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"你將遺失已儲存的資料，例如 PIN 和面部模型。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>系統將移除已設定感應式付款的付款卡。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>「錢包」和其他需要解鎖裝置的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"手機遺失或被盜時，PIN 可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>這麼做會刪除裝置上儲存的指紋模型。系統亦會妥善地將你的面部模型永久刪除。你之後將無法使用面孔或指紋在應用程式中驗證身分。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"你將遺失已儲存的資料，例如 PIN、面部模型和指紋模型。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>系統將移除已設定感應式付款的付款卡。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>「錢包」和其他需要解鎖裝置的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"手機遺失或被盜時，密碼可保護手機中的資料"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"手機遺失或被盜時，密碼可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"藍牙"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"藍牙"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"要與<xliff:g id="DEVICE_NAME">%1$s</xliff:g>配對嗎？"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"新增新成員至現有的協調組合配對"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"確認新增第二部音響裝置"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"藍牙配對碼"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"輸入配對代碼，然後按 [返回] 或 Enter 鍵"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN 中含有字母或符號"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"必須為 16 位數字"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"你可能也必須在另一部裝置上輸入這個 PIN 碼。"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"你可能也必須在另一部裝置上輸入這個密碼金鑰。"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"確認與協調組合配對"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"確認與音響裝置配對"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"允許存取你的聯絡人和通話記錄"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"亦允許存取通訊錄和通話記錄"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"資訊將用於來電通知等用途"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"無法連接「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"可用的裝置"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"連線"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"中斷連線"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"配對並連線"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"當啟用藍牙功能後，你的裝置可以與其他附近的藍牙裝置通訊。"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"藍牙開啟後，裝置即可與其他附近的藍牙裝置通訊"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"啟用藍牙功能後，你的裝置可與附近的其他藍牙裝置通訊。\n\n為改善裝置的使用體驗，應用程式和服務仍可隨時掃瞄附近的裝置 (即使藍牙功能已關閉)。此操作可用來改善定位功能和服務。你可在藍牙掃瞄設定中變更此設定。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"變更"</string>
     <string name="device_details_title" msgid="1155622417516195481">"裝置詳情"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允許 ART 驗證可偵錯應用程式的位元組碼"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"顯示重新整理頻率"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"顯示現時的顯示屏重新整理頻率"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"顯示 HDR/SDR 比例"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"顯示目前的 HDR/SDR 比例"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"必須解鎖裝置才能使用 NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"處於飛行模式"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"公共網絡通知"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"有高品質的公共網絡時通知我"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"允許使用 WEP 網絡"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP 是較舊的安全通訊協定，安全性較低"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP 網絡安全性較低，因此你的流動網絡供應商不允許使用"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"自動開啟 Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"附近有已儲存的高品質網絡 (例如家用網絡) 時會再次開啟 Wi-Fi"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"由於位置資訊功能已關閉，因此無法使用。請開啟 [位置資訊]"<annotation id="link"></annotation>"。"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Wi-Fi 掃瞄功能允許應用程式和服務隨時掃瞄 Wi-Fi 網絡 (即使 Wi-Fi 已關閉)。此功能可用於改善根據位置運作的功能和服務等等。"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"開啟"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Wi‑Fi 掃瞄功能已開啟"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"此網絡使用較舊的安全通訊協定，安全性較低"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"已封鎖「<xliff:g id="NAME">%1$s</xliff:g>」"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"此網絡使用較舊的安全通訊協定 WEP，安全性較低。如仍要連線，可允許使用 WEP 網絡。"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"此網絡使用較舊的安全通訊協定，安全性較低，因此你的流動網絡供應商不允許使用"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"允許使用 WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"關閉"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"進階選項"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"下拉式清單進階選項"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展開"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"繼續使用 Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"不要再顯示"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"連線"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"已開啟 Wi-Fi"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"已連線至「<xliff:g id="NETWORK_NAME">%1$s</xliff:g>」"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"正在連接至「<xliff:g id="NETWORK_NAME">%1$s</xliff:g>」"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"連接中…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"無法連接網絡"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"網絡不在覆蓋範圍內"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"刪除"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"修改"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"無法刪除網絡"</string>
     <string name="wifi_save" msgid="2312643132472226807">"儲存"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"無法儲存網絡"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"取消"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"流動數據"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"以太網絡"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ 充電中"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ 充電中"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"熱點連線"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"連線強度"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"已儲存的網絡"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"未設定密碼"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"熱點名稱"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"熱點密碼"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"存取點頻段"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"自動關閉熱點"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"沒有已連線的裝置時"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"擴展兼容性"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"顯示屏白平衡"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"在摺疊模式下繼續使用應用程式"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"流暢顯示"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"自動將部分內容的重新整理頻率提升至 60 到 <xliff:g id="ID_1">%1$s</xliff:g> Hz 之間。電池用量會因而增加。"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"停用遊戲預設影格速率"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"停用遊戲影格速率上限 (<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz)。"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"流暢畫面"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"自動將部分內容的更新率調高至 <xliff:g id="ID_1">%1$d</xliff:g> Hz。電池用量會因而增加。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"強制使用最高重新整理頻率"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"最高的重新整理頻率，帶來更靈敏的觸控反應和更高畫質的動畫。這會增加電池用量。"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"螢幕感知"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"「螢幕感知」功能利用前置鏡頭偵測使用者是否看著螢幕。此功能只會在裝置上運作，圖片亦不會被儲存或傳送至 Google。"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"開啟「保持螢幕亮起」"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"看著螢幕時讓螢幕保持開啟"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"長時間螢幕逾時會較為耗電。"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"「相機」已鎖定"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"必須解鎖相機才能使用「面孔偵測」功能"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"必須解鎖相機才能使用「保持螢幕亮起」功能"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM 卡插槽 <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM 卡插槽 <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (主要)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"如要查看，請選擇已儲存的網絡"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL 版本"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"電量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共用"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"共用設定"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"衛星訊息"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"編輯接入點"</string>
+    <string name="apn_add" msgid="9069613192201630934">"新增存取點"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"未設定"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未設定"</string>
     <string name="apn_name" msgid="6677695784108157953">"名稱"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN 已啟用"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN 已停用"</string>
     <string name="bearer" msgid="3231443241639159358">"承載網絡"</string>
+    <string name="network_type" msgid="748590707422733595">"網絡類型"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"未指定"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO 類型"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO 值"</string>
     <string name="menu_delete" msgid="9199740901584348273">"刪除 APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"儲存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"取消"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"重複的 APN 項目。"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"[名稱] 欄位不得留空。"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN 不可留空。"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC 欄位必須為 3 位數。"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC 欄位必須要有 2 或 3 位數。"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"流動網絡供應商不允許新增 %s 類型的 APN。"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"請在 MMSC 欄位輸入有效的值。"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"正在還原預設 APN 設定。"</string>
     <string name="menu_restore" msgid="4310539620115151551">"重設回預設值"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"重設預設 APN 設定已完成。"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"重設"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"已重設藍牙和 Wi‑Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"清除 eSIM 卡"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"此操作不會取消任何流動服務計劃。如要下載替換用的 SIM 卡，請聯絡流動網絡供應商。"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"此操作不會取消你的流動服務計劃。如要替換 SIM 卡，請聯絡你的流動網絡供應商。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"重設設定"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"你要重設所有網絡設定嗎？你將無法復原這項操作。"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"要重設所有網絡設定並清除 eSIM 卡嗎？你無法復原此操作。"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"重設？"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"這位使用者無法重設網絡"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"網絡設定已重設"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"無法清除 SIM 卡"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"由於發生錯誤，因此無法清除 eSIM 卡。\n\n請重新啟動裝置，然後再試一次。"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"無法清除 eSIM 卡"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"發生問題，未清除 eSIM 卡。\n\n請重新啟動裝置並再試一次。"</string>
     <string name="main_clear_title" msgid="277664302144837723">"清除所有資料 (回復原廠設定)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"清除所有資料 (回復原廠設定)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"音樂"</li>\n<li>"相片"</li>\n<li>"其他使用者資料"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM 卡"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"此操作不會取消你的流動服務計劃。"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"系統會刪除你所有的個人資料和已下載的應用程式。你無法復原這項操作。"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"系統會刪除你所有的個人資料，包括已下載的應用程式和 SIM 卡。你無法復原這個動作。"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"系統會刪除你所有個人資料，包括已下載的應用程式和 eSIM 卡，且無法復原。"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"要清除所有資料嗎？"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"這位使用者無法將裝置恢復原廠設定"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"正在清除"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"熱點、USB、藍牙、以太網"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"目前沒有與其他裝置共用互聯網"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"關閉"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"網絡共享"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"不使用 Wi‑Fi 熱點"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"僅透過 USB 分享互聯網"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"僅透過藍牙分享互聯網"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"僅透過以太網分享互聯網"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"僅透過 USB 和藍牙分享互聯網"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"僅透過 USB 和以太網分享互聯網"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"僅透過藍牙和以太網分享互聯網"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"僅透過 USB、藍牙和以太網分享互聯網"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 網絡共享"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"藍牙網絡共享"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"以太網網絡共享"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"使用熱點和網絡共享功能，讓其他裝置透過 Wi‑Fi 或流動數據連接到互聯網。應用程式亦可以建立熱點，與附近的裝置分享內容。"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"說明"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"流動網絡"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"流動數據計劃"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"短訊應用程式"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"變更短訊應用程式？"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"將 <xliff:g id="NEW_APP">%1$s</xliff:g> 設為你的短訊應用程式，而不使用 <xliff:g id="CURRENT_APP">%2$s</xliff:g>？"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"變更 Wi‑Fi Assistant？"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"使用「<xliff:g id="NEW_APP">%1$s</xliff:g>」(取代「<xliff:g id="CURRENT_APP">%2$s</xliff:g>」) 管理你的網絡連線？"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"使用「<xliff:g id="NEW_APP">%s</xliff:g>」管理你的網絡連線？"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"未知的 SIM 流動網絡供應商"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"<xliff:g id="OPERATOR">%1$s</xliff:g> 沒有已知的佈建網站"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"請插入 SIM 卡，並重新啟動裝置"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"請連接互聯網"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"最近的位置資訊要求"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"工作設定檔的位置"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"應用程式位置權限"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"取消存取權"</string>
     <string name="controls_label" msgid="8671492254263626383">"控制按鈕"</string>
     <string name="force_stop" msgid="2681771622136916280">"強制停止"</string>
+    <string name="archive" msgid="9074663845068632127">"封存"</string>
+    <string name="restore" msgid="7622486640713967157">"還原"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"正在還原"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"正在還原。"</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"正在還原…"</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"正在還原…"</string>
     <string name="total_size_label" msgid="2052185048749658866">"總數"</string>
     <string name="application_size_label" msgid="6407051020651716729">"應用程式大小"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB 儲存裝置應用程式"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"無法計算套件大小。"</string>
     <string name="version_text" msgid="7628938665256107608">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"移動"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"封存失敗"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"已封存「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"還原失敗"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"正在還原「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"另一個轉移正在進行中。"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"儲存空間不足。"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"應用程式不存在。"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"可用的屏幕鍵盤"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"管理屏幕鍵盤"</string>
     <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="6922850403920596246">"啟用篩選鍵可讓實體鍵盤更便於無障礙使用"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"緩慢鍵"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"啟用緩慢鍵可讓實體鍵盤更便於無障礙使用"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"相黏鍵"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"啟用相黏鍵可讓實體鍵盤更便於無障礙使用"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"輕按觸控板右下角，即可查看更多選項"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"游標速度"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"學習觸控板手勢"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"返回主畫面"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"用三隻手指在觸控板的任何位置向上滑動"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"返回"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"按使用時間排序"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"按最後使用時間排序"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"按應用程式名稱排序"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"上次使用時間"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"上次使用時間"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"從未開啟"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"使用時間"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"無障礙設定"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"無障礙設定"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"輕按三下來放大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快速鍵來放大"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"使用快速鍵和輕按三下來放大"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"關於「<xliff:g id="SERVICE">%1$s</xliff:g>」"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用無障礙功能按鈕開啟"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"㩒住兩個音量鍵就可以打開"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"㩒螢幕 3 下就可以開"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"用兩隻手指喺螢幕上面㩒兩下就可以打開"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手勢即可開啟"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"使用無障礙手勢"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"要使用這項功能，請輕按螢幕底部的無障礙功能按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要切換不同的功能，按住無障礙功能按鈕即可。"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"要使用這項功能，請輕按螢幕上的無障礙功能按鈕。"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"如果要使用呢項功能，請同時㩒住兩個音量鍵。"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"如果要啟用同停用放大功能，請喺螢幕上面嘅任何一個地方㩒三下。"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"如果要啟用同停用放大功能，請用兩隻手指喺螢幕上面嘅任何一個地方㩒兩下。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"如果要使用呢項功能，請用兩指由螢幕底部向上掃。\n\n用兩指向上掃然後㩒住，就可以切換唔同功能。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"如果要使用呢項功能，請用 3 隻手指由螢幕底部向上掃。\n\n用 3 隻手指向上掃然後㩒住，就可以切換唔同功能。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如果要使用無障礙功能，請用兩指由螢幕底部向上掃。\n\n用兩指向上掃然後㩒住，就可以切換唔同功能。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"如果要使用無障礙功能，請用 3 隻手指由螢幕底部向上掃。\n\n用 3 隻手指向上掃然後㩒住，就可以切換唔同功能。"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"知道了"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"無障礙功能按鈕設定"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"按鈕設定"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"「<xliff:g id="SERVICE">%1$s</xliff:g>」捷徑"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"無障礙功能按鈕"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"無障礙手勢"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量鍵"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"按住音量鍵"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同時按住兩個音量鍵"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"用兩隻手指喺螢幕上面㩒兩下"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"用兩隻手指喺螢幕上面㩒兩下"</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="6863958573135995927">"輕按螢幕三下"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"快速㩒螢幕 {0,number,integer} 下。呢個快速鍵可能會減慢裝置運作速度"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"進一步了解無障礙功能按鈕同手勢"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"請使用無障礙功能按鈕。手勢無法與三按鈕導覽配搭使用。"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"快速使用無障礙功能"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"開始使用："</b>\n"1. 前往無障礙設定\n2. 選取功能並輕按捷徑\n3. 選擇用按鈕或手勢來使用該功能"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"操作方法如下："</b>\n"1. 前往無障礙設定\n2. 選取功能並輕按捷徑\n3. 選擇要用來執行該功能的按鈕"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"使用按鈕或手勢"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"位置"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"大小"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"按開關按鈕結束通話"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"大型滑鼠游標"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"令滑鼠游標更加顯眼"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"所有應用程式都強制使用深色主題"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"套用至本身沒有深色主題的應用程式。部分應用程式可能會有顯示問題，例如色彩反轉。"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"移除動畫"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"減少畫面上的動態效果"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"單聲道音訊"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"使用震動和觸感反應"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"鬧鐘震動"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"媒體震動"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"鍵盤震動"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"鈴聲震動"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知震動"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"輕觸反應"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"停止"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"取消"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"停止「<xliff:g id="SERVICE">%1$s</xliff:g>」？"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"輕按 [<xliff:g id="STOP">%1$s</xliff:g>] 將會停止 <xliff:g id="SERVICE">%2$s</xliff:g>。"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"關閉"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"保持開啟"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"要停用「<xliff:g id="SERVICE">%1$s</xliff:g>」嗎？"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"未安裝任何服務"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"未選取任何服務"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"未提供說明。"</string>
     <string name="settings_button" msgid="2195468788019730377">"設定"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"光敏度, 光敏, 深色主題背景, 偏頭痛, 頭痛, 朗讀模式, 夜間模式, 調低亮度, 白點"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"易於使用, 易於存取, 協助, 輔助"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"視力, 聽力, 失明, 失聰, 動作, 靈活度, 輔助, 容易使用, 容易操作, 手, 協助"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"視窗放大鏡, 縮放, 放大, 低視力"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"字幕, CC, 即時轉錄, 聽障, 失聰, CART, 語音轉文字"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"色彩對比度"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"行動, 滑鼠"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"助聽器, 聽障, 失聰, 人工耳蝸, 擴音器, 聲音處理器"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"行動, 滑鼠, 外置滑鼠, 頭部控制滑鼠, 無障礙共融滑鼠, 輪椅, 搖桿"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"助聽器, 聽障, 聽力受損, 人工耳蝸, 擴音裝置, 聲音處理器, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"聽障, 失聰, 字幕, 電傳打字, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"三個按鈕"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"靈活性, 行動, 年長, 關節炎, rsi, 中風, 顫抖, 多發性硬化症, 大腦麻痺, 抖動, 重複性勞損, 手"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"延遲, 靈活度, 年長"</string>
     <string name="print_settings" msgid="8519810615863882491">"列印"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"關閉"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{已啟用 1 項列印服務}other{已啟用 # 項列印服務}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"剩餘 <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>後完成充電"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"裝置使用時間"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"背景執行時間"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"電量不足"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"允許應用程式在背景中執行"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"要限制背景活動嗎？"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"如果你限制應用程式的背景活動，應用程式可能無法正常運作"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"由於此應用程式並未設定為優化電池，你無法限制其使用。\n\n如要限制應用程式，請先開啟電池優化功能。"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"管理電池用量"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"允許在背景使用"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"啟用即可掌握即時動態，停用則可節省電力"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"無限制"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"優化"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"限制"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"查看用電量最高的應用程式"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"為保護電池，系統已優化充電"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"為延長電池壽命，系統會優化充電"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"為保護電池，系統已優化充電"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"為協助延長電池壽命，裝置放在插座上充電時，系統會優化充電"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"為保護電池，系統已優化充電"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"為協助延長電池壽命，裝置放在插座上充電時，系統會優化充電"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"將電池充滿"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"為保護電池，下次你將平板電腦放在插座上充電時，系統將會優化充電"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"進一步瞭解暫停充電"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"繼續充電"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"包括高耗電背景活動"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"此應用程式會在背景使用電量。你的電池電量可能會比預期更快耗盡。"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"移除"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"取消"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"讓裝置完全充電"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"充電配件發生問題"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"檢查充電配件"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"進一步瞭解不兼容的變壓器充電"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"電池管理工具"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"自動管理應用程式"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"上次充滿電後"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"系統應用程式"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"已解除安裝的應用程式"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"其他"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"估計剩餘時間"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"剩餘充電時間"</string>
@@ -2336,6 +2522,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"總計：不足 1 分鐘"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"背景：不足 1 分鐘"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"裝置使用時間：不足 1 分鐘"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"少於 1 分鐘"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"總計：<xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"背景：<xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"裝置使用時間：<xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2343,9 +2530,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"現在"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g><xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"電池用量圖表"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"每日電池用量圖表"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"每小時電池用量圖表"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"電量百分比由 <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> 至 <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"上次充滿電後的電池用量"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g>的電池用量"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"上次充滿電後的裝置使用時間"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"緊急撥號訊號"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"備份"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"已開啟"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"關閉"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"備份與還原"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"個人資料"</string>
     <string name="backup_data_title" msgid="507663517227498525">"備份我的資料"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"流動數據與 Wi-Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"自動同步處理個人資料"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"自動同步處理工作資料"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"自動同步私人資料"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"變更週期…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"資料用量週期的重設日期："</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"這段期間沒有應用程式使用數據。"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"名稱"</string>
     <string name="vpn_type" msgid="5533202873260826663">"類型"</string>
     <string name="vpn_server" msgid="2908816134941973935">"伺服器位址"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP 加密 (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 密碼"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 識別碼"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 預先共用金鑰"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 使用者憑證"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 憑證"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 伺服器憑證"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"顯示進階選項"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 搜尋網域"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 伺服器 (如 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"轉寄路徑 (如 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"使用者名稱"</string>
     <string name="vpn_password" msgid="1183746907642628127">"密碼"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"儲存帳戶資訊"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(未使用)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(不要驗證伺服器)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(從伺服器接收)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"此 VPN 類型無法隨時保持連線"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"永久連線的 VPN 只支援數字格式的伺服器位址"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"必須為永久連線的 VPN 指定網域名稱系統 (DNS) 伺服器"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"網域名稱系統 (DNS) 伺服器位址必須為數字，才能使用永久連線的 VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"輸入的資料不支援永久連線的 VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"取消"</string>
     <string name="vpn_done" msgid="5137858784289564985">"關閉"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"封鎖沒有使用 VPN 的所有連線"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"需要 VPN 連線嗎？"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"此 VPN 不安全，請更新至 IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"無法啟動不支援的 VPN。"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"選取要永久保持連線的 VPN 設定檔。只在連線至這個 VPN 時才允許網絡流量。"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"無"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"永久連線的 VPN 需要同時具備伺服器和 DNS 的 IP 位址。"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"AMBER 安珀警報"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"接收兒童綁架相關公告"</string>
     <string name="repeat_title" msgid="8676570486899483606">"重複"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"啟用通話管理員"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"允許此服務管理你的通話方式。"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"通話管理員"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"無線緊急警示"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"網絡供應商"</string>
     <string name="access_point_names" msgid="5768430498022188057">"接入點名稱"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 卡狀態"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 卡狀態 (SIM 卡插槽 %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM 卡已變更。"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM 卡已變更"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"輕按即可設定"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"每次都詢問"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"請選取偏好設定"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使用的應用程式、預設應用程式"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"工作設定檔中的應用程式無法存取通知設定。"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"密碼和帳戶"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"已儲存的密碼、自動填入、已同步處理的帳戶"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"登入和自動填入的建議"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"預設應用程式"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"複製應用程式"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"建立應用程式副本，即可同時使用兩個帳戶。"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"錢包"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支付, 輕按, 付款"</string>
     <string name="keywords_backup" msgid="707735920706667685">"備份內容, 備份"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"手勢"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"臉容, 解鎖, 驗證, 登入"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"面孔, 解鎖, 驗證, 登入, 指紋, 生物識別"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"MEI, MEID, MIN, PRL 版本, IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"文字大小, 大字, 大字體, 大型文字, 低視力, 放大字體, 字體放大工具, 字體放大"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"一律開啟氛圍畫面, AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, 標籤, 閱讀器"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"鍵盤、觸感反應、震動、"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、震動、請勿騷擾"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"媒體音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"投放音量"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"開機聲音"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"即時字幕"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"自動為媒體加入字幕"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"手機喇叭"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"平板電腦喇叭"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"裝置喇叭"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有線耳機"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"兼容媒體的音效更逼真，讓你身歷其境"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"已關閉"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"顯示所有通知內容"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"只限在解鎖時顯示敏感內容"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"不顯示任何通知"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"你想上鎖畫面顯示什麼通知？"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"想在上鎖畫面上顯示什麼內容？"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"上鎖畫面"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"顯示所有工作通知內容"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"隱藏敏感的工作內容"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"已移除近期對話"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"已移除對話"</string>
     <string name="clear" msgid="5092178335409471100">"清除"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"清除<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"優先對話和已修改的對話會顯示在這裡"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"這裡會顯示你標記為優先對話或有其他變更的對話。\n\n如要變更對話設定，請按照下列步驟操作：\n從螢幕頂部向下滑動以開啟下拉式面板，然後輕觸並按住對話。"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"最小化"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"通知緩和功能"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"將緩和功能套用至所有通知"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"從同一應用程式連續收到大量通知時，逐漸降低通知音量"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"將緩和功能套用至對話"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"在短時間內從同一對話連續收到大量訊息時，逐漸降低通知音量"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"不使用通知緩和功能"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"無論從同一應用程式連續收到多少通知，一律不降低通知音量"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"解鎖時震動"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"僅在螢幕解鎖時震動"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"套用至工作設定檔"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"將個人設定檔的通知緩和設定套用至工作設定檔"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 助手服務"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"沒有已安裝的應用程式要求提供 VR 助手服務。"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"允許 VR 服務存取 <xliff:g id="SERVICE">%1$s</xliff:g> 嗎？"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"關閉"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"固定應用程式"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"應用程式固定功能可讓目前使用的應用程式持續在畫面上顯示，直到你取消固定為止。此功能可讓信任的朋友玩特定遊戲。"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"固定應用程式後，該應用程式可開啟其他應用程式，亦能存取個人資料。\n\n使用應用程式固定功能的步驟如下：	\n1. 開啟應用程式固定功能	\n2. 開啟 [概覽]	\n3. 輕按畫面頂部的應用程式圖示，然後輕按 [固定]"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"固定應用程式後，該應用程式可開啟其他應用程式，亦能存取個人資料。\n\n如要安全地與他人共用裝置，建議你改用訪客使用者。\n\n使用應用程式固定功能的步驟如下：	\n1. 開啟應用程式固定功能 \n2. 開啟「概覽」 \n3. 輕按畫面頂部的應用程式圖示，然後輕按 [固定]"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"固定應用程式後，該應用程式可開啟其他應用程式，亦能存取個人資料。\n\n請按照下列步驟使用固定應用程式功能：	\n{0,number,integer}. 開啟固定應用程式功能 	\n{1,number,integer}. 開啟概覽 	\n{2,number,integer}. 輕按畫面頂部的應用程式圖示，然後輕按 [固定]"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"固定應用程式後，該應用程式可開啟其他應用程式，亦能存取個人資料。\n\n如要安全地與他人共用裝置，建議你改用訪客使用者。\n\n請按照下列步驟使用固定應用程式功能：	\n{0,number,integer}. 開啟固定應用程式功能 	\n{1,number,integer}. 開啟概覽 	\n{2,number,integer}. 輕按畫面頂部的應用程式圖示，然後輕按 [固定]"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"固定應用程式後：\n\n•	 該應用程式可存取個人資料\n		(例如聯絡人和電郵內容)\n•	 固定的應用程式可開啟其他應用程式\n\n僅與你信任的人使用應用程式固定功能。"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"取消固定時必須提供解鎖圖案"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定時必須輸入 PIN"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"取消固定時必須輸入密碼"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"取消固定時鎖定裝置"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"確認刪除 SIM 卡"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"確認你要清除 eSIM 卡"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"如要清除 eSIM 卡，請先驗證你的身分"</string>
     <string name="memtag_title" msgid="5096176296797727201">"進階記憶體保護功能 Beta 版本"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"進階記憶體保護功能"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"不使用的應用程式設定"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"暫停未使用應用程式的活動"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"移除權限、刪除暫存檔案和停止通知"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"管理不使用的應用程式"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"移除權限、刪除暫存檔案、停止通知和封存應用程式"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"所有應用程式"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"已安裝的應用程式"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"免安裝應用程式"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"可用"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"應用程式的記憶體用量"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{過去 {time}內有 1 個應用程式使用過記憶體}other{過去 {time}內有 # 個應用程式使用過記憶體}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"啟用記憶體用量資料剖析功能"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"記憶體用量資料剖析功能啟用後，將需要較多的系統資源。"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"已停用記憶體用量資料剖析功能"</string>
     <string name="running_frequency" msgid="7260225121706316639">"頻率"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"最高用量"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"並未使用數據"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"在其他應用程式上面顯示"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"可顯示在其他應用程式上面"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"允許此應用程式在你目前使用的其他應用程式上層顯示內容。該應用程式將可知道你輕按的位置或變更畫面上顯示的內容。"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"變更媒體輸出"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"允許應用程式切換媒體輸出"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"允許此應用程式選擇要使用哪一部連結的裝置播放其他應用程式的音訊或影片。如果允許，此應用程式可存取存取清單中的可用裝置 (例如耳機和喇叭)，並選擇要使用哪一部輸出裝置串流播放或投放音訊或影片。"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"所有檔案存取權"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"允許存取以管理所有檔案"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允許此應用程式讀取、修改和刪除此裝置或任何已連接的儲存空間卷宗上的所有檔案。如獲得權限，應用程式可能會在你不知情的情況下存取檔案。"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"可存取所有檔案"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"透過語音啟動的應用程式"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"允許使用語音啟動功能"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"語音啟動功能讓你可以透過語音指令，開句聲便啟動已核准的應用程式。內置的自動調整感應功能則可確保資料不外洩。\n\n"<a href="">"進一步瞭解受保護的自動調整感應功能"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"全螢幕通知"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"允許此應用程式的全螢幕通知"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"允許此應用程式在裝置上鎖時顯示全螢幕通知。應用程式可能會利用這些通知突顯鬧鐘、來電或其他緊急通知。"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> 數據用量警告"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> 數據用量上限"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> 數據用量警告/<xliff:g id="ID_2">^2</xliff:g> 數據用量上限"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"流動網絡供應商的數據計算方式可能與裝置有所不同"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"不包括流動網絡供應商網絡使用的數據"</string>
     <string name="data_used_template" msgid="8229342096562327646">"已使用 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"設定數據用量警告"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g>前更新"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> 於剛剛更新"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"剛剛更新"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"查看數據計劃"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"查看詳情"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"數據節省模式"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"不限制數據用量"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在背景執行時比平時耗電"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比較耗電"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比平時耗電"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"電池用量異常情況"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"耗電量高"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"在背景執行時耗電量高"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"在前景執行時耗電量高"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"快速設定開發人員圖塊"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"停用 adb 授權逾時"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"對在預設時間 (7 天) 或使用者設定的時間 (最少 1 天) 內未重新連接的系統停用自動撤銷 adb 授權。"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope 追蹤"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"感應器已關閉"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"工作設定檔設定"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"在個人應用程式中搜尋工作目錄聯絡人"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"系統導覽, 雙按鈕導覽, 3 按鈕導覽, 手勢導覽, 輕掃"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"數碼助理"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"滑動即可調用數碼助理應用程式"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"如要調用數碼助理應用程式，請從底部角落向上滑動。"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"如要啟動數碼助理應用程式，請從底部的任何一個角落向上滑動"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"按住主畫面按鈕即可使用「Google 助理」"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"按住主按鈕即可調用數碼助理應用程式。"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"自動填入服務"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"預設的自動填入服務"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"密碼"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"密碼、密鑰及資料服務"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"其他供應商"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"偏好的服務"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"其他服務"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# 個密碼}other{# 個密碼}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"自動, 填寫, 自動填入, 密碼"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"資料, 密鑰, 密碼"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"自動, 填入, 自動填入, 資料, 密鑰, 密碼"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"變更"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"開啟"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"未選取任何項目"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;請確定你信任此應用程式&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; 應用程式會根據你畫面上的內容判斷可自動填入的資料。"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"「&lt;b&gt;Use &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」會根據畫面內容判斷要自動填入的資料。從現在起，新密碼、密鑰和其他資料將會儲存在這裡。"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"密碼、密鑰及資料服務"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;要使用「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 從現在起，新的密碼、密鑰和其他資料都會儲存在這裡。「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」可能會根據畫面內容判斷要自動填入的資料。"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"密碼、密鑰和自動填入的偏好服務"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"要關閉「%1$s」嗎？"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;要關閉此服務嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 當你登入後，系統將不會填入密碼、密鑰、付款方法等其他已儲存的資料。如要使用已儲存的資料，請選擇密碼、密鑰或資料服務。"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"密碼、密鑰和自動填入"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;要關閉所有服務嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;系統將無法在你登入時提供密碼、密鑰和其他已儲存的資料"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;將偏好的服務變更為「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;」。從現在起，系統會將新密碼、密鑰和其他資訊儲存在此應用程式。「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」可能會根據畫面內容判斷要自動填入的資料"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"要使用「%1$s」嗎？"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"關閉"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"變更"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"你只可同時開啟 5 項服務"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"如要新增其他服務，請關閉至少 1 項服務"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"「%1$s」會根據畫面內容判斷要自動填入的資料。"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"密碼、密鑰及資料服務限制"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"你最多可同時啟用 5 項密碼、密鑰及資料服務。如要新增服務，請先關閉其中一項服務。"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"密碼、密鑰及資料服務限制"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"你最多可同時啟用 5 項密碼、密鑰及資料服務。如要新增服務，請先關閉其中一項服務。"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"關閉"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"自動填入"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"記錄等級"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"你只能修改 debuggable 應用程式的兼容性。請安裝 debuggable 應用程式，然後再試。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"必須一併變更其他設定"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"帳戶"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d 個帳戶"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"裝置名稱"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"基本資料"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"法律及監管"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"允許系統掃瞄到 NFC 標籤時啟用此應用程式。\n如開啟此權限，系統會在偵測到標籤時，將此應用程式列為選項。"</string>
     <string name="media_output_title" msgid="8283629315159510680">"播放媒體的裝置"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"使用以下裝置播放「<xliff:g id="LABEL">%s</xliff:g>」的內容"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"音訊播放媒體"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"此裝置"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通話時無法使用"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"接聽來電時使用的裝置"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"靜音"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"如要啟用，請先將「按住開關按鈕」變更為電源選單。"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"網絡詳細資料"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"你在手機上的應用程式可以取得你的裝置名稱。當你連接藍牙裝置或 Wi-Fi 網絡，或設定 Wi-Fi 熱點時，其他人亦可能會看到你的裝置名稱。"</string>
     <string name="devices_title" msgid="649715719278562515">"裝置"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"選擇網絡"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"連接已中斷"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"名稱"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"顏色 (由兼容應用程式使用)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"儲存"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"使用 SIM 卡"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"使用此 SIM 卡"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"關"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"如要停用此 SIM 卡，請將其移除"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"輕按即可啟用<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"如要停用此 SIM 卡，請將其移除"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"輕按即可啟用 <xliff:g id="CARRIER">%1$s</xliff:g> SIM 卡"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"清除 eSIM 卡"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"首選網絡類型"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"更改網絡操作模式"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"首選網絡類型"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"請聯絡你的網絡供應商查詢定價。"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"應用程式數據用量"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"網絡模式 <xliff:g id="NETWORKMODEID">%1$d</xliff:g> 無效。忽略。"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"衛星訊息"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"透過衛星收發短訊。你的帳戶支援此功能。"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"透過衛星收發短訊。你的帳戶不支援此功能。"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"衛星訊息"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"關於衛星訊息"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"合資格的 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 帳戶支援透過衛星收發訊息"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"你的 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 計劃"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"你的帳戶支援衛星訊息"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"你的帳戶不支援衛星訊息"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"新增衛星訊息"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"運作方式"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"沒有流動網絡時"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"手機將自動連接衛星。在清楚看到天空的的地方可獲得最佳連線。"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"手機連接衛星後"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"你可發短訊給任何人，包括緊急服務。如果有可用的流動網絡，手機就會重新連線。"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"衛星訊息可能需要比較長的時間才會送達，而且此功能只支援部分地區。天氣和特定結構可能會影響衛星連線。系統不支援衛星電話。\n\n「設定」頁面可能要一段時間後才會顯示帳戶變動，歡迎聯絡 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 查詢詳情。"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"進一步瞭解衛星訊息"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"接入點名稱 (APN)"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"無法在連接至<xliff:g id="CARRIER">%1$s</xliff:g>時使用"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"要切換至 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 嗎？"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"要改用 SIM 卡嗎？"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"要使用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」嗎？"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"每次只可啟用一張 SIM 卡。\n\n切換至 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 將不會取消你的 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 服務。"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"每次只可啟用 1 張 eSIM 卡。\n\n切換至「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」將不會取消你的「<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>」服務。"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"每次只可啟用一張 SIM 卡。\n\n改用其他服務將不會取消你的 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 服務。"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"每次只可啟用 1 張 SIM 卡。\n\n切換至 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 將不會取消你的 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 服務。"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"每次只可啟用 1 張 eSIM 卡。\n\n切換至 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 將不會取消你的 <xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g> 服務。"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"每次只可啟用 1 張 SIM 卡。\n\n切換 SIM 卡將不會取消你的 <xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> 服務。"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"你可以同時使用 2 張 SIM 卡。如要使用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」，請關閉另一張 SIM 卡。"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"切換至 <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"關閉「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"關閉 SIM 卡並不會取消服務"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"正在連接至網絡…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"正在切換至<xliff:g id="CARRIER_NAME">%1$s</xliff:g>來進行通話和收發訊息…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"無法切換流動網絡供應商"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"發生錯誤，無法切換流動網絡供應商。"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"正在啟用 SIM 卡…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"正在切換至 <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"無法切換 SIM 卡"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"發生問題，無法切換 SIM 卡。"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"要停用 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 嗎？"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"要停用 SIM 卡嗎？"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"無法停用流動網絡供應商"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"發生問題，無法停用你的流動網絡供應商。"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"無法停用 SIM 卡"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"發生問題，無法停用 SIM 卡。"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"要使用 2 張 SIM 卡嗎？"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"此裝置可以同時使用 2 張 SIM 卡。如要繼續每次使用一張 SIM 卡，請輕按 [不用了，謝謝]。"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"要重新啟動裝置嗎？"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"不用了，謝謝"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"取消"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切換"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"關閉"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"無法啟用 SIM 卡"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"請嘗試再次啟用 SIM 卡。如果問題持續發生，請重新啟動裝置。"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"設定 SIM 卡"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"如要在此裝置上使用多張 SIM 卡，請設定偏好的流動網絡"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"將 SIM 卡加上標籤"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"撥打電話、傳送短訊及使用數據和「設定」頁面時，你會看到這些標籤"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM 標籤"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"標籤"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"選取要使用的 SIM 卡"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"你可同時使用兩張 SIM 卡"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"設定主要 SIM 卡"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"選擇用於通話、短訊和數據的預設 SIM 卡"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"主要 SIM 卡"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"通話"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"短訊"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"自動切換數據"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"按流動網絡的覆蓋範圍和適用範圍，選擇要使用哪張 SIM 卡的數據"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"數據專用"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"設定"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"下一頁"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"正在開啟 <xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"流動網絡"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"電話號碼"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM 卡標籤和顏色"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"網絡啟用"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"轉用流動網絡供應商"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"已啟用<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM 卡已啟用"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"輕按以更新 SIM 卡設定"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"已切換至 <xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"已切換至其他流動網絡供應商"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"你的流動網絡已變更"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"設定你的其他 SIM 卡"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"選擇你要使用的 SIM 卡或同時使用 2 張 SIM 卡"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"選擇要使用的號碼"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{此裝置上有 1 個號碼可以使用，但一次只能使用一個}=2{此裝置上有 2 個號碼可以使用，但一次只能使用一個}other{此裝置上有 # 個號碼可以使用，但一次只能使用一個}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"正在啟用<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"目前無法啟用"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"選擇要使用的 SIM 卡"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{此裝置上有 1 張 SIM 卡可以使用，但一次只能使用一張}=2{此裝置上有 2 張 SIM 卡可以使用，但一次只能使用一張}other{此裝置上有 # 張 SIM 卡可以使用，但一次只能使用一張}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"正在開啟<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"目前無法啟用此 SIM 卡"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"要使用 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 嗎？"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"系統將使用 <xliff:g id="CARRIER_NAME">%1$s</xliff:g> 的流動數據、通話和短訊服務。"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"沒有可用的 SIM 卡"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"日後如要使用流動數據、通話和短訊功能，請前往 [網絡設定] 調整設定內容"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM 卡"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"要清除此 eSIM 卡嗎？"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"清除此 SIM 卡即會從此裝置中移除 <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> 服務。\n\n<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> 的服務將不會取消。"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"這樣會移除此裝置上的 <xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> 服務，但不會取消 <xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> 計劃。"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"清除"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"正在清除 SIM 卡…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"無法清除 SIM 卡"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"由於發生錯誤，因此無法清除此 SIM 卡。\n\n請重新啟動裝置，然後再試一次。"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"正在清除 eSIM 卡…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"無法清除 eSIM 卡"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"發生問題，未清除此 eSIM 卡。\n\n請重新啟動裝置並再試一次。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"連接裝置"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式要求使用臨時 Wi-Fi 網絡連接你的裝置"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"找不到任何裝置。請確保裝置已開啟，並可連接網絡。"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"緊急通話"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"你的電訊商目前不支援透過 Wi-Fi 通話撥打緊急電話。\n裝置會自動切換至流動網絡以撥打緊急電話。\n你只可在流動網絡覆蓋的區域撥打緊急電話。"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"使用 Wi‑Fi 撥打電話，以提升通話質素"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"備用通話"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"如果 <xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> 無法使用，系統將透過流動數據 SIM 卡撥打和接聽 <xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g> 的電話。"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"備用通話"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"收到的 MMS 訊息"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"無法傳送 MMS 訊息"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"輕按即可在流動數據關閉的情況下透過<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>傳送 MMS 訊息"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"你的工作政策資料"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"由 IT 管理員管理的設定"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"使用 16 K 頁面大小啟動"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"使用 16 K 頁面大小支援的 kernel 啟動裝置"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"要使用 16 KB 頁面兼容 kernel 重新啟動嗎？"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"警告：部分應用程式可能與此模式不兼容。裝置將在確認後重新啟動。"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"要使用 4 KB 頁面兼容 kernel 重新啟動嗎？"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"裝置將在確認後重新啟動。"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"無法將 kernel 更新為 16 KB 頁面兼容 kernel。"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"正在套用變更"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"錯誤報告處理常式"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"選擇裝置上負責處理錯誤報告快速鍵的應用程式。"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"個人"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"允許可以在其他應用程式上顯示内容的應用程式重疊「設定」畫面"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"允許「模擬數據機」"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"允許此裝置執行「模擬數據機」服務，以進行檢測設備測試。正常使用手機時請勿啟用此服務"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"停用螢幕畫面分享保護"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"分享螢幕畫面時，停用系統適用應用程式和通知保護"</string>
     <string name="media_controls_title" msgid="403271085636252597">"媒體"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"固定媒體播放器"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"如要快速恢復播放，請讓「快速設定」中的媒體播放器保持開啟"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"在上鎖畫面上顯示媒體"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"如要快速恢復播放，請讓媒體播放器在上鎖畫面保持開啟"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"顯示媒體建議"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"顯示「Google 助理」媒體內容推薦"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"根據你的活動"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"隱藏播放器"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"顯示播放器"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"媒體"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"允許相機軟件擴充程式"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"允許導入預設軟件的進階相機功能，例如 Eyes Free 錄影。"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"系統將開啟藍牙"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"互聯網"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM 卡"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM 卡"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM 卡"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM 卡"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"已啟用"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"未啟用"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"開啟"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"關閉"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" /<xliff:g id="ID_1">%1$s</xliff:g>的預設設定"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"通話"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"短訊"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"兼容媒體的音效更逼真，讓你身歷其境"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"頭部追蹤"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"音訊會隨著你轉動頭部而變化，因此聽起來更自然"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"同步權限"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"將應用程式在「<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>」上的權限授予「<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>」"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"同步手機的權限"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"將此手機上你已允許的相同應用程式權限授予手錶"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"音響裝置類型"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"不明"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"喇叭"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
     <string name="contrast_high" msgid="3988567609694797696">"高"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"此應用程式只可在 1 個視窗中開啟"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"開啟"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"關閉"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"關閉"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"已停用"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"已啟用"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"已停用"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"已啟用"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"已停用"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"將明亮的畫面調暗或將深色畫面轉為淺色"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"放大畫面"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"已停用"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"已停用"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"透過掃瞄找出欺詐應用程式"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"檢查應用程式活動是否有仿冒詐騙行為"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"使用掃瞄功能找出欺詐性應用程式"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"使用掃瞄功能找出欺詐性工作應用程式"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"密碼現已設定"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"懸停時顯示游標"</string>
 </resources>
diff --git a/res/values-zh-rTW/arrays.xml b/res/values-zh-rTW/arrays.xml
index 406bdcf..ef0cceb 100644
--- a/res/values-zh-rTW/arrays.xml
+++ b/res/values-zh-rTW/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"可用"</item>
     <item msgid="6096962300722555553">"超出範圍"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"已停用"</item>
+    <item msgid="7781484297606806796">"單播"</item>
+    <item msgid="6667451574264144311">"單播和廣播"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"使用系統預設值：<xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"1 分鐘後"</item>
     <item msgid="1574040255478150028">"5 分鐘後"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml
index 605e83f..ac6bfbb 100644
--- a/res/values-zh-rTW/strings.xml
+++ b/res/values-zh-rTW/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"開發人員設定已啟用！"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"不需要了，你已經是開發人員。"</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"請先啟用開發人員選項。"</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"只有管理員使用者可以存取開發人員設定。"</string>
     <string name="header_category_system" msgid="1665516346845259058">"系統"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"服務中"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"無服務"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"裝置摺疊時開啟封面螢幕"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"僅限遊戲、影片等等"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"如果應用程式不讓螢幕進入閒置狀態，封面螢幕就會開啟"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"向上滑動繼續使用"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"你可以將手機摺疊並在封面螢幕向上滑動，繼續使用應用程式，或等待幾秒，讓系統鎖定螢幕"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"永不"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"裝置摺疊時鎖定封面螢幕"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"使用自動旋轉"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"相關工具"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"鈴聲和鬧鐘"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"通話期間的音訊"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"媒體"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"通知和其他系統音效"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"媒體和系統音效"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"通知"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"根據預設，系統會視個別應用程式決定輸出的音訊內容"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"未命名的藍牙裝置"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"搜尋中"</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"取消"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"停用藍牙 LE Audio"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"如果裝置支援 LE Audio 硬體功能，就停用藍牙 LE Audio 功能。"</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"藍牙 LE Audio 模式"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"在「裝置詳細資料」中顯示 LE Audio 切換鈕"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"啟用藍牙 LE Audio 許可清單"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"啟用藍牙 LE Audio 許可清單功能。"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"略過藍牙 LE Audio 許可清單"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"即使 LE Audio 周邊裝置未通過符合許可清單條件的驗證，系統仍會預設使用 LE Audio。"</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"媒體裝置"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"通話裝置"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"其他裝置"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"已儲存的裝置"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"與帳戶建立關聯"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"先前與帳戶搭配使用"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"系統將開啟藍牙以配對裝置"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"連線偏好設定"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"先前連線的裝置"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"已開啟藍牙"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"查看全部"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"查看全部"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"觸控筆"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"按下按鈕後隨即開啟"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (工作資料夾)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"在文字欄位中書寫"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"忽略所有觸控筆按鈕按壓動作"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"觸控筆"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"音訊分享功能"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"分享音訊"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"通話與鬧鐘"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"使用 QR code 連線至音訊串流"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"未偵測到附近有音訊串流。"</string>
     <string name="date_and_time" msgid="1788358029823431692">"日期和時間"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Proxy"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"清除"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"要將「%s」新增為偏好語言嗎？"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"這麼做可讓應用程式和網站知道這也是你的偏好語言。"</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"系統將變更裝置設定和地區偏好設定。"</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"變更"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"「%s」無法使用"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"星期六"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"如果應用程式不支援地區偏好設定，就會使用預設的語言代碼設定。"</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"進一步瞭解語言偏好設定"</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"其他偏好設定"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"稱謂"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"設定你想要的稱謂"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"應用程式可以使用你的稱謂量身打造對你的稱呼方式。"</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"未指定"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"女性"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"男性"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"普通"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{要移除所選語言嗎？}other{要移除所選語言嗎？}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"使用介面的文字會切換成另一種語言。"</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"無法移除所有語言"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"位置"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"使用位置資訊"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"關閉"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{已開啟 - # 個應用程式已取得位置存取權}other{已開啟 - # 個應用程式已取得位置存取權}}"</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_location_off" msgid="8568995909147566720">"應用程式和服務的位置存取權已關閉。當你撥打或傳訊息到緊急電話號碼時，系統仍會將你的裝置位置資訊傳送給緊急應變人員。"</string>
-    <string name="location_settings_footer_learn_more_content_description" msgid="5329024810729665156">"進一步瞭解位置資訊設定。"</string>
+    <string name="location_settings_footer_learn_more_content_description" msgid="349380666660145540">"進一步瞭解位置資訊設定"</string>
+    <string name="location_settings_tooltip_text_for_chrome" msgid="3574930966097093550">"如要變更位置資訊存取權，請依序前往「設定」&gt;「安全性與隱私權」&gt;「隱私權控制項」"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"帳戶"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"安全性"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"加密和憑證"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"為獲得最佳效果，請使用 Made For Google 認證的螢幕保護貼。如果使用其他螢幕保護貼，系統可能無法辨識孩子的指紋。"</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"智慧手錶解鎖"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"設定人臉解鎖和指紋解鎖後，如果你戴口罩或人在光線昏暗的環境，系統會要求你使用指紋解鎖手機。\n\n如果系統無法辨識你的臉或指紋，可以使用智慧手錶解鎖裝置。"</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"如果系統無法辨識你的指紋，可以使用智慧手錶解鎖裝置。"</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"如果系統無法辨識你的臉，可以使用智慧手錶解鎖裝置。"</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"設定「人臉解鎖」和「指紋解鎖」功能後，如果你戴口罩或人在光線昏暗的環境，手機會要求你使用指紋解鎖。\n\n如要解鎖這支手機，「智慧手錶解鎖」功能也很方便。舉例來說，手指有水或臉部辨識失敗時，使用智慧手錶即可輕鬆解鎖。"</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"如要解鎖這支手機，「智慧手錶解鎖」功能也很方便。舉例來說，指紋辨識失敗時，使用智慧手錶即可輕鬆解鎖。"</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"如要解鎖這支手機，「智慧手錶解鎖」功能也很方便。舉例來說，臉部辨識失敗時，使用智慧手錶即可輕鬆解鎖。"</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"使用指紋或智慧手錶"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"使用人臉或智慧手錶"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"使用人臉、指紋或智慧手錶"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"「智慧手錶解鎖」功能是另一種方便解鎖手機的方式。舉例來說，假如手指溼溼的或系統無法辨識你的臉，就適合使用這項功能。\n\n你可以使用手解鎖這支手機的情況如下："</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"暫時不要"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"繼續"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"顯示更多"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"運作方式"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"你的智慧手錶必須處於解鎖狀態，並戴在手腕上，而且要在這支手機的連線範圍內。如果智慧手錶已戴在手腕上，就不必再解鎖智慧手錶。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"手機解鎖後，手錶上會顯示通知。如果不小心解鎖手機，只要輕觸通知，即可再次鎖定。"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"一切由你掌控"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"你隨時可以在「設定」中透過「智慧手錶解鎖」移除智慧手錶"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"輕觸通知"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"在螢幕鎖定畫面向上滑動"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"選擇你的智慧手錶"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"可用的智慧手錶"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"取消"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"確認"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"大功告成！"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"現在用手指在螢幕鎖定畫面上向上滑動或輕觸通知，即可使用手錶解鎖這支手機"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"完成"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"智慧手錶解鎖"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"在螢幕鎖定畫面向上滑動或輕觸通知，即可使用智慧手錶解鎖這支手機"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"如要使用「智慧手錶解鎖」功能，智慧手錶必須戴在手腕上並處於解鎖狀態，而且要在這支手機的連線範圍內。如果連線中斷，請先解鎖手機，才能使用「智慧手錶解鎖」功能。\n\n注意事項：\n一次只能設定一支手錶。如果還新增，請先移除目前的手錶。"</string>
+    <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_work_biometric_preference_title" msgid="3121755615533533585">"用於工作資料夾的人臉和指紋解鎖"</string>
     <string name="security_settings_biometric_preference_summary_none_enrolled" msgid="213377753727694575">"需要設定"</string>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"安全性"</string>
     <string name="privacy_header" msgid="5526002421324257007">"隱私權"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"工作資料夾"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"私人空間"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"讓私人應用程式保持鎖定及隱藏的狀態"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"將私人應用程式安裝在可隱藏或鎖定的獨立空間"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"私人空間鎖定"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"你可以用螢幕鎖定功能鎖定私人空間，也可以選擇其他鎖定方式"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"使用裝置螢幕鎖定"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"人臉和指紋解鎖"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"指紋解鎖"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"人臉解鎖"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"輕觸即可設定"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"使用指紋解鎖私人空間"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"使用人臉解鎖私人空間"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"解鎖方式"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"與裝置的螢幕鎖定一致"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"要選擇新的私人空間鎖定方式嗎？"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"自動鎖定私人空間"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"裝置可在閒置一段時間後自動鎖定私人空間"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"每當裝置鎖定"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"閒置 5 分鐘後"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"永不"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"在鎖定時隱藏"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"隱藏鎖定的私人空間"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"如果不想讓其他人知道裝置上有私人空間，可以在應用程式清單中隱藏該空間"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"存取隱藏的私人空間"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"在應用程式清單的搜尋列中搜尋「私人空間」"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"輕觸私人空間設定方塊"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"解鎖私人空間"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"已關閉"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"已開啟"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"系統"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"刪除私人空間"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"要刪除私人空間嗎？"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"你的私人空間將從裝置上移除。所有私人應用程式和資料都會遭到刪除。這項操作無法取消。"</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"以下帳戶將從你的私人空間移除："</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"刪除"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"正在刪除私人空間…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"請稍候片刻"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"私人空間已刪除"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"無法刪除私人空間"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"私人空間已解鎖"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"設定螢幕鎖定功能"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"如要使用私人空間，請在這部裝置設定螢幕鎖定功能"</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"設定螢幕鎖定功能"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"取消"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"取消"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"設定"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"設定私人空間"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"將私人應用程式安裝在可隱藏或鎖定的獨立空間"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"運作方式"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"你可以在應用程式清單底部存取私人空間"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"鎖定私人空間即可保護應用程式"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"私人空間鎖定時，系統會隱藏來自私人空間應用程式的通知"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"私人空間鎖定時，當中的應用程式不會顯示在權限管理工具、隱私資訊主頁和其他設定。\n\n你無法將私人空間轉移到新裝置。如要在其他裝置上使用私人空間，請重新設定。\n\n如果有人將裝置接上電腦，或在裝置上安裝有害的應用程式，或許能夠存取你的私人空間。"</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"正在設定私人空間…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"私人空間鎖定時，系統會隱藏私人空間應用程式的通知"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"解鎖私人空間即可分享當中的相片或檔案"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"部分應用程式已安裝在私人空間內"</string>
+    <string name="private_space_error_screen_title" msgid="739381738044418346">"無法設定私人空間"</string>
+    <string name="private_space_tryagain_label" msgid="8305362615231738367">"再試一次"</string>
+    <string name="private_space_lockscreen_title" msgid="6034864097861137509">"要使用螢幕鎖定功能鎖定私人空間嗎？"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"你可以用螢幕鎖定功能鎖定私人空間，也可以選擇其他鎖定方式"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"使用螢幕鎖定功能"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"選擇新的鎖定方式"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"大功告成！"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"如要尋找私人空間，請前往應用程式清單並向下捲動畫面"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"完成"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"向下捲動畫面即可找到私人空間"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"登入"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"你必須登入帳戶，才能使用私人空間"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"暫時不要"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"繼續"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"選擇私人空間鎖定方式"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"你可以用指紋解鎖私人空間。為了安全起見，你必須設定備用鎖定方式，才能使用這個選項。"</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"設定私人空間的 PIN 碼"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"設定私人空間的密碼"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"設定私人空間的解鎖圖案"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"你最多可以新增 <xliff:g id="COUNT">%d</xliff:g> 個指紋"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"你新增的指紋數量已達上限"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"無法新增其他指紋"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"圖案"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN 碼"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"密碼"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"要刪除螢幕鎖定方式嗎？"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"要移除所有類型的裝置解鎖方法嗎？"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"要移除設定檔保護功能嗎？"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"手機遺失或遭竊時，解鎖圖案可保護手機中的資料"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"手機遺失或遭竊時，解鎖圖案可保護手機中的資料。<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>這麼做會刪除裝置上儲存的指紋模型。系統也會安全地將你的臉部模型永久刪除。你之後將無法使用臉孔或指紋在應用程式中驗證身分。"</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"手機遺失或遭竊時，PIN 碼可保護手機中的資料"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"這麼做會移除 PIN 碼等已儲存的資料。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>設定用於感應支付的卡片將遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Google 錢包及其他需解鎖裝置才能使用的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"手機遺失或遭竊時，PIN 碼可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>這麼做也會刪除裝置上儲存的指紋模型。你之後將無法使用指紋在應用程式中驗證身分。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"這麼做會移除 PIN 碼和指紋模型等已儲存的資料。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>設定用於感應支付的卡片將遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Google 錢包及其他需解鎖裝置才能使用的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"手機遺失或遭竊時，PIN 碼可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>系統也會安全地將你的臉部模型永久刪除。你之後將無法使用臉孔在應用程式中驗證身分。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"這麼做會移除 PIN 碼和臉部模型等已儲存的資料。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>設定用於感應支付的卡片將遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Google 錢包及其他需解鎖裝置才能使用的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"手機遺失或遭竊時，PIN 碼可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
 </xliff:g>這麼做會刪除裝置上儲存的指紋模型。系統也會安全地將你的臉部模型永久刪除。你之後將無法使用臉孔或指紋在應用程式中驗證身分。"</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"這麼做會移除 PIN 碼、臉部和指紋模型等已儲存的資料。<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>設定用於感應支付的卡片將遭到移除。<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Google 錢包及其他需解鎖裝置才能使用的應用程式可能無法正常運作。"</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"手機遺失或遭竊時，密碼可保護手機中的資料"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"手機遺失或遭竊時，密碼可保護手機中的資料。<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"藍牙"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"藍牙"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"要與「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」配對嗎？"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"將新成員新增至現有協同組"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"確認新增第二部音訊裝置"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"藍牙配對碼"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"輸入配對碼，然後按下返回鍵或 Enter 鍵"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"PIN 碼含有字母或符號"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"必須是 16 位數的數字"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"你可能也必須在另一個裝置上輸入這個 PIN。"</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"你可能也必須在另一個裝置上輸入這個密碼金鑰。"</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"確認與協同組配對"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"確認與音訊裝置配對"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"允許存取你的聯絡人和通話記錄"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"也允許存取聯絡人和通話記錄"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"資訊將用於來電通知等用途"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"無法連線至「<xliff:g id="DEVICE_NAME">%1$s</xliff:g>」。"</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"可用的裝置"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"連線"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"中斷連線"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"配對並連線"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"開啟藍牙功能後，你的裝置即可與其他鄰近的藍牙裝置相互傳輸資料。"</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"藍牙開啟後，裝置即可與其他鄰近的藍牙裝置互傳資料"</string>
     <string name="bluetooth_scanning_on_info_message" msgid="786648535600075223">"藍牙功能開啟後，裝置即可與附近的其他藍牙裝置通訊。\n\n為改善裝置的使用體驗，即使藍牙功能未開啟，應用程式和服務仍可隨時掃描鄰近裝置。舉例來說，這項功能可用來改善適地性功能和服務。你可以在藍牙掃描設定中變更這項功能。"</string>
     <string name="bluetooth_scan_change" msgid="1744636222637390367">"變更"</string>
     <string name="device_details_title" msgid="1155622417516195481">"裝置詳細資料"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"允許 ART 驗證可偵錯應用程式的位元碼"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"顯示刷新率"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"顯示目前的螢幕重新整理頻率"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"顯示 HDR/SDR 比率"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"顯示目前的 HDR/SDR 比率"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"必須解鎖裝置才能使用 NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"處於飛行模式時"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"附近有公用網路時通知我"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"有高品質的公用網路時通知我"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"允許使用 WEP 網路"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"WEP 是較舊的安全通訊協定，安全性較低"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"WEP 網路安全性較低，因此你的電信業者不允許使用這類網路"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"自動開啟 Wi‑Fi"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"若偵測到已儲存且連線品質佳的 Wi‑Fi 網路 (例如家用網路)，系統會自動重新開啟 Wi‑Fi"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"定位服務已關閉，因此無法使用。請開啟 [定位]"<annotation id="link"></annotation>"。"</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"掃描 Wi-Fi 功能可在 Wi‑Fi 關閉時，讓應用程式和服務隨時掃描 Wi‑Fi 網路。此功能可用來改善適地性等功能和服務。"</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"開啟"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"已開啟掃描 Wi-Fi 功能"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"這個網路使用較舊的安全通訊協定，安全性較低"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"已封鎖「<xliff:g id="NAME">%1$s</xliff:g>」"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"這個網路採用 WEP 這個較舊的安全通訊協定，安全性較低。如果仍要連線，可以允許使用 WEP 網路。"</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"這個網路使用較舊的安全通訊協定，安全性較低，因此你的電信業者不允許連線到這個網路"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"允許使用 WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"關閉"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"進階選項"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"下拉式清單進階選項"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"展開"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"保持開啟 Wi‑Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"不要再顯示"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"連線"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"Wi‑Fi 已開啟"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"已連線到「<xliff:g id="NETWORK_NAME">%1$s</xliff:g>」"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"正在連線到「<xliff:g id="NETWORK_NAME">%1$s</xliff:g>」"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"連線中…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"無法連線至網路"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"不在網路有效範圍內"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"清除"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"修改"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"無法刪除網路"</string>
     <string name="wifi_save" msgid="2312643132472226807">"儲存"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"無法儲存網路"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"取消"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"Wi‑Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"行動數據"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"乙太網路"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ 充電中"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ 充電中"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"無線基地台連線"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"連線強度"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"已儲存的網路"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"未設定密碼"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"無線基地台名稱"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"無線基地台密碼"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"AP 頻帶"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"自動關閉無線基地台"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"未連接任何裝置時"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"擴充相容性"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"螢幕白平衡"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"折疊時繼續使用應用程式"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"流暢顯示"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"自動將某些內容的刷新率從 60 Hz 調高到 <xliff:g id="ID_1">%1$s</xliff:g> Hz。請注意，開啟這項設定會增加電池用量。"</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"停用遊戲預設畫面更新率"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"停用遊戲的畫面更新率上限 (<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz)。"</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"流暢顯示"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"自動將某些內容的刷新率調高到 <xliff:g id="ID_1">%1$d</xliff:g> Hz。請注意，開啟這項設定會增加電池用量。"</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"強制使用最高重新整理頻率"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"強制使用最高重新整理頻率可提升觸控回應和動畫品質。請注意，開啟這項設定會增加電池用量。"</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"螢幕感知"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"螢幕感知功能會使用前置鏡頭判斷是否有人正在看著螢幕。這項功能只會在裝置上執行，系統不會儲存相關圖片或將其傳送給 Google。"</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"開啟螢幕感知功能"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"看著螢幕時讓螢幕保持開啟"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"螢幕自動關閉的等候時間越長，就會越耗電。"</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"相機已解鎖"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"必須解鎖相機才能使用臉部偵測功能"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"必須解鎖相機才能使用螢幕感知功能"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"IMEI (SIM 卡插槽 <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"IMEI (SIM 卡插槽 <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (主要)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"如要查看 MAC 位址，請選擇已儲存的網路"</string>
+    <string name="status_imei" msgid="5719752369250485007">"IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"MIN"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"PRL 版本"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"電池電量"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"共通"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"共通設定"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"衛星訊息"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APN"</string>
     <string name="apn_edit" msgid="2003683641840248741">"編輯存取點"</string>
+    <string name="apn_add" msgid="9069613192201630934">"新增存取點"</string>
     <string name="apn_not_set" msgid="8246646433109750293">"未設定"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"未設定"</string>
     <string name="apn_name" msgid="6677695784108157953">"名稱"</string>
@@ -1267,6 +1432,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"APN 已啟用"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"APN 已停用"</string>
     <string name="bearer" msgid="3231443241639159358">"承載系統"</string>
+    <string name="network_type" msgid="748590707422733595">"網路類型"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"未指定"</string>
     <string name="mvno_type" msgid="4734654257494971247">"MVNO 類型"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"MVNO 值"</string>
     <string name="menu_delete" msgid="9199740901584348273">"刪除 APN"</string>
@@ -1274,11 +1441,13 @@
     <string name="menu_save" msgid="6611465355127483100">"儲存"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"取消"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"重複的 APN 項目。"</string>
     <string name="error_name_empty" msgid="1258275899283079142">"[名稱] 欄位不得留空。"</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"APN 不可留空。"</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"MCC 欄位必須為 3 位數。"</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"MNC 欄位必須要有 2 或 3 位數。"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"電信業者不允許新增「%s」類型的 APN。"</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"請在 MMSC 欄位輸入有效的值。"</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"正在還原預設 APN 設定。"</string>
     <string name="menu_restore" msgid="4310539620115151551">"還原為預設狀態"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"重設預設 APN 設定已完成。"</string>
@@ -1291,7 +1460,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"重設"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"已重設藍牙和 Wi‑Fi"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"清除 eSIM 卡"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"這項操作不會取消任何電信資費方案。如要下載替換用的 SIM 卡，請與你的電信業者聯絡。"</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"這麼做不會取消行動資費方案。如需替代 SIM 卡，請洽你的電信業者。"</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"重設設定"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"要重設所有網路設定嗎？請注意，這個動作無法復原。"</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"要重設所有網路設定並清除 eSIM 卡嗎？請注意，這項操作無法復原。"</string>
@@ -1299,15 +1468,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"你要重設嗎？"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"這個使用者無法重設網路設定"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"已重設網路設定"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"無法清除 SIM 卡"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"發生錯誤，因此無法清除 eSIM 卡。\n\n請重新啟動裝置，然後再試一次。"</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"無法清除 eSIM 卡"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"系統發生錯誤，因此未清除 eSIM 卡。\n\n請重新啟動裝置並再試一次。"</string>
     <string name="main_clear_title" msgid="277664302144837723">"清除所有資料 (恢復原廠設定)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"清除所有資料 (恢復原廠設定)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"音樂"</li>\n<li>"相片"</li>\n<li>"其他使用者資料"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729"><li>"eSIM 卡"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"你目前的電信資費方案並不會因此受到任何影響。"</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"系統將刪除你的所有個人資訊和已下載的應用程式。請注意，這項操作無法復原。"</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"系統將刪除你所有的個人資訊，包括已下載的應用程式和 SIM 卡。請注意，這項操作無法復原。"</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"系統將刪除你的所有個人資訊，包括已下載的應用程式和 eSIM 卡。這項操作無法取消。"</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"要清除所有資料嗎？"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"這位使用者無法將裝置恢復原廠設定"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"清除中"</string>
@@ -1340,16 +1509,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"無線基地台、USB、藍牙和乙太網路"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"目前並未分享網路給其他裝置"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"關閉"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"網路共用"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"不使用 Wi-Fi 無線基地台"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"僅透過 USB 分享網際網路連線"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"僅透過藍牙分享網際網路連線"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"僅透過乙太網路分享網際網路連線"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"僅透過 USB 和藍牙分享網際網路連線"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"僅透過 USB 和乙太網路分享網際網路連線"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"僅透過藍牙和乙太網路分享網際網路連線"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"僅透過 USB、藍牙和乙太網路分享網際網路連線"</string>
-    <string name="usb_title" msgid="1157283449840612901">"USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"USB 網路共用"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"藍牙網路共用"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"乙太網路共用"</string>
@@ -1357,7 +1516,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"使用無線基地台和網路共用功能，讓其他裝置能夠透過你的 Wi-Fi 或行動數據連線連上網際網路。應用程式也可以建立無線基地台，以便與鄰近的裝置分享內容。"</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"說明"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"行動網路"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"行動數據傳輸資費方案"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"簡訊應用程式"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"變更簡訊應用程式？"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"你要改用「<xliff:g id="NEW_APP">%1$s</xliff:g>」而不再使用「<xliff:g id="CURRENT_APP">%2$s</xliff:g>」做為簡訊應用程式嗎？"</string>
@@ -1365,10 +1523,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"變更 Wi‑Fi Assistant？"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"改以「<xliff:g id="NEW_APP">%1$s</xliff:g>」取代「<xliff:g id="CURRENT_APP">%2$s</xliff:g>」管理你的網路連線？"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"使用「<xliff:g id="NEW_APP">%s</xliff:g>」管理你的網路連線？"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"未知的 SIM 卡電信業者"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"「<xliff:g id="OPERATOR">%1$s</xliff:g>」沒有任何已知的佈建網站"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"請插入 SIM 卡，並重新啟動裝置"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"請連線至網際網路"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"最近的定位要求"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"工作資料夾位置資訊"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"應用程式位置存取權"</string>
@@ -1551,6 +1705,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"清除存取權"</string>
     <string name="controls_label" msgid="8671492254263626383">"控制項"</string>
     <string name="force_stop" msgid="2681771622136916280">"強制停止"</string>
+    <string name="archive" msgid="9074663845068632127">"封存"</string>
+    <string name="restore" msgid="7622486640713967157">"還原"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"還原中"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"還原中."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"還原中.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"還原中..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"總共"</string>
     <string name="application_size_label" msgid="6407051020651716729">"應用程式大小"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"USB 儲存裝置應用程式"</string>
@@ -1604,6 +1764,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"無法計算套件大小。"</string>
     <string name="version_text" msgid="7628938665256107608">"版本 <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"移動"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"無法封存"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"已封存「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"還原失敗"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"正在還原「<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>」"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"目前已在執行另一項遷移作業。"</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"儲存空間不足。"</string>
     <string name="does_not_exist" msgid="6499163879348776120">"應用程式不存在。"</string>
@@ -1689,9 +1853,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"可用的螢幕小鍵盤"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"管理螢幕小鍵盤"</string>
     <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="6922850403920596246">"啟用篩選鍵可讓實體鍵盤更易於使用"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"延遲感應鍵"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"啟用延遲感應鍵，讓實體鍵盤滿足無障礙需求"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"相黏鍵"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"啟用相黏鍵可讓實體鍵盤更易於使用"</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>
@@ -1709,6 +1880,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"在觸控板上輕觸右下角即可查看更多選項"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"游標速度"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"學習觸控板手勢"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"返回主畫面"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"在觸控板任一處使用三指向上滑動"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"返回"</string>
@@ -1789,7 +1964,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"依使用時間排序"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"依上次使用時間排序"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"依應用程式名稱排序"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"上次使用時間"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"上次使用時間"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"從未開啟"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"使用時間"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"無障礙設定"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"無障礙設定"</string>
@@ -1852,7 +2028,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"輕觸螢幕三下進行放大"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"使用快速手勢放大畫面"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"使用快速手勢並輕觸三下即可放大畫面"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"關於「<xliff:g id="SERVICE">%1$s</xliff:g>」"</string>
@@ -1878,18 +2053,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"使用無障礙按鈕開啟"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"按住音量調高鍵和調低鍵即可開啟"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"輕觸螢幕三下即可開啟"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"用兩指輕觸螢幕兩下即可開啟"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"使用手勢啟用無障礙服務"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"使用無障礙手勢"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"如要使用這項功能，請輕觸螢幕底部的無障礙工具按鈕 <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g>。\n\n如要切換不同的功能，請按住無障礙工具按鈕。"</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"如要使用這項功能，請輕觸畫面上的無障礙工具按鈕。"</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"如要使用這項功能，請同時按住音量調高鍵和調低鍵。"</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"如要啟用及停用放大功能，請在螢幕上的任何地方輕觸三下。"</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"如要啟用及停用放大功能，請用兩指在螢幕的任一處輕觸兩下。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"如要使用這項功能，請用 2 指從螢幕底部向上滑動。\n\n如要切換不同的功能，請用 2 指向上滑動並按住。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"如要使用這項功能，請用 3 指從螢幕底部向上滑動。\n\n如要切換不同的功能，請用 3 指向上滑動並按住。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"如要使用無障礙功能，請用 2 指從螢幕底部向上滑動。\n\n如要切換不同的功能，請用 2 指向上滑動並按住。"</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"如要使用無障礙功能，請用 3 指從螢幕底部向上滑動。\n\n如要切換不同的功能，請用 3 指向上滑動並按住。"</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"我知道了"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"無障礙工具按鈕設定"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"按鈕設定"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"「<xliff:g id="SERVICE">%1$s</xliff:g>」捷徑"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"無障礙工具按鈕"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"無障礙手勢"</string>
@@ -1905,6 +2082,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"按住音量調高鍵和調低鍵"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"按住音量調高鍵和調低鍵"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_hardware" msgid="2503134386397991634">"同時按住音量調高鍵和調低鍵"</string>
+    <string name="accessibility_shortcut_edit_dialog_title_two_finger_double_tap" msgid="2271778556854020996">"用兩指輕觸螢幕兩下"</string>
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword" msgid="2971265341474137433">"用兩指輕觸螢幕兩下"</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="6863958573135995927">"輕觸螢幕三下"</string>
     <string name="accessibility_shortcut_edit_dialog_summary_triple_tap" msgid="2102327956423320536">"快速輕觸螢幕 {0,number,integer} 下。這個手勢可能會影響裝置的運作效能"</string>
@@ -1923,8 +2103,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"進一步瞭解無障礙工具按鈕和手勢"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"請使用無障礙工具按鈕。手勢無法搭配三按鈕操作機制。"</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"快速使用無障礙功能"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"操作方法如下："</b>\n"1. 前往無障礙設定\n2. 選取功能並輕觸捷徑\n3. 選擇是否要透過按鈕或手勢執行該功能"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"操作方法如下："</b>\n"1. 前往無障礙設定\n2. 選取功能並輕觸捷徑\n3. 選擇要用來執行該功能的按鈕"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&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;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&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;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"使用按鈕或手勢"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"位置"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"大小"</string>
@@ -1940,6 +2120,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"按電源鍵結束通話"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"大型滑鼠游標"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"讓滑鼠游標更醒目"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"所有應用程式都強制使用深色主題"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"套用到本身沒有深色主題的應用程式。部分應用程式可能會有顯示問題，例如顏色反轉。"</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"移除動畫"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"減少畫面上的動態效果"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"單聲道音訊"</string>
@@ -1992,6 +2174,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"使用震動與觸覺回饋"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"鬧鐘震動"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"媒體震動"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"鍵盤震動"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"響鈴震動"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"通知震動"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"觸覺回饋"</string>
@@ -2128,16 +2311,15 @@
     <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="7295448112784528196">"停止"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"取消"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"停止「<xliff:g id="SERVICE">%1$s</xliff:g>」？"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"輕觸「<xliff:g id="STOP">%1$s</xliff:g>」會讓「<xliff:g id="SERVICE">%2$s</xliff:g>」停止運作。"</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"停用"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"保持啟用"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"要停用「<xliff:g id="SERVICE">%1$s</xliff:g>」嗎？"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"未安裝任何服務"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"未選取任何服務"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"未提供說明。"</string>
     <string name="settings_button" msgid="2195468788019730377">"設定"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"對光線敏感、畏光、深色主題、偏頭痛、頭痛、閱讀模式、夜間模式、調低亮度、白點"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"容易使用, 容易存取, 輔助功能, 輔助"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"視力, 聽力, 失明, 失聰, 動作, 精細動作, 輔助, 容易使用, 容易操作, 手, 協助"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"視窗放大鏡, 縮放, 放大, 低視能, 加大, 調大"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"字幕, 隱藏式輔助字幕, CC, 即時轉錄, 聽障, 聽力受損, CART, 語音轉文字, 字幕 (Subtitle)"</string>
@@ -2152,10 +2334,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"色彩對比"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"動作, 滑鼠"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"助聽器, 聽障, 聽力受損, 人工電子耳, 擴音裝置, 聲音處理器"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"動作, 滑鼠, 外接滑鼠, 頭控滑鼠, 調適型滑鼠, 輪椅, 搖桿"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"助聽器, 聽障, 聽力受損, 人工電子耳, 擴音裝置, 聲音處理器, PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"聽障, 聽力受損, 字幕, 電傳打字, tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"三個按鈕"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"精細動作, 動作, 年長, 關節炎, rsi, 中風, 顫抖, 多發性硬化症, 腦性麻痺, 震顫, 重複性使力傷害, 手"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"延遲, 精細動作, 年長"</string>
     <string name="print_settings" msgid="8519810615863882491">"列印"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"關閉"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{1 個列印服務已啟用}other{# 個列印服務已啟用}}"</string>
@@ -2190,11 +2375,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"還剩 <xliff:g id="REMAIN">%1$s</xliff:g>"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g>後充電完畢"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"前景執行時間"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"背景執行時間"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"電池電力不足"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"允許應用程式在背景執行"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"要限制背景活動嗎？"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"如果你限制應用程式的背景活動，應用程式可能無法正常運作"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"由於這個應用程式並未設為最佳化電池用量，因此你無法加以限制。\n\n如要限制應用程式，請先開啟電池效能最佳化功能。"</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"管理電池用量"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"允許在背景使用"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"啟用即可掌握即時動態，停用則可節省電力"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"無限制"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"最佳化"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"受限制"</string>
@@ -2230,12 +2420,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"查看電池用量最高的應用程式"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"為保護電池，充電效能已最佳化"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"為延長電池壽命，系統已最佳化充電效能"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"為保護電池，充電效能將最佳化"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"為延長電池壽命，充電效能會在裝置插入座架時最佳化"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"為保護電池，充電效能已最佳化"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"為延長電池壽命，充電效能會在裝置插入座架時最佳化"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"將電池充飽"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"為保護電池，充電效能會在下次平板電腦插入座架時最佳化"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"進一步瞭解暫停充電"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"繼續充電"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"包含高耗電背景活動"</string>
@@ -2252,8 +2436,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"這個應用程式將會在背景耗用電量。你的電池電力可能會比預期更快耗盡。"</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"移除"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"取消"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"將電池充飽"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"充電配件有問題"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"請檢查充電配件"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"進一步瞭解不相容的變壓器充電"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Battery Manager"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"自動管理應用程式"</string>
@@ -2293,6 +2478,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"自上次充飽電後"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"系統應用程式"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"已解除安裝的應用程式"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"其他"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"預估剩餘時間"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"充飽所需時間"</string>
@@ -2335,21 +2521,24 @@
     <string name="battery_app_usage_since_last_full_charge_to" msgid="4339201995118102114">"上次充飽電後至<xliff:g id="SLOT_TIMESTAMP">%s</xliff:g> 的應用程式耗電量"</string>
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"總計：不到 1 分鐘"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"背景：不到 1 分鐘"</string>
-    <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"裝置使用時間：少於 1 分鐘"</string>
+    <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"螢幕時間：少於 1 分鐘"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"不到 1 分鐘"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"總計：<xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"背景：<xliff:g id="TIME">%s</xliff:g>"</string>
-    <string name="battery_usage_screen_time" msgid="3973865893520804115">"裝置使用時間：<xliff:g id="TIME">%s</xliff:g>"</string>
+    <string name="battery_usage_screen_time" msgid="3973865893520804115">"螢幕時間：<xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_footer_empty" msgid="3301144846133808193">"充飽電後，系統會在幾個小時內提供電池用量資料"</string>
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"現在"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g><xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g>，<xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"電池用量圖表"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"每日電池用量圖表"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"每小時電池用量圖表"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"電池電量百分比：從 <xliff:g id="START_PERCENTAGE">%1$s</xliff:g> 到 <xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"上次充飽電後的電池用量"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"<xliff:g id="SLOT">%s</xliff:g>的電池用量"</string>
-    <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"自上次充飽電後的裝置使用時間"</string>
-    <string name="screen_time_category_for_slot" msgid="8287722270554654959">"<xliff:g id="SLOT">%s</xliff:g>的裝置使用時間"</string>
+    <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"自上次充飽電後的螢幕時間"</string>
+    <string name="screen_time_category_for_slot" msgid="8287722270554654959">"<xliff:g id="SLOT">%s</xliff:g>的螢幕時間"</string>
     <string name="battery_usage_spinner_view_by_apps" msgid="8769276544072098082">"應用程式"</string>
     <string name="battery_usage_spinner_view_by_systems" msgid="7904104223212160541">"系統"</string>
     <string name="battery_usage_less_than_percent" msgid="5873099028895001082">"&lt; <xliff:g id="PERCENTAGE">%1$s</xliff:g>"</string>
@@ -2461,8 +2650,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"緊急撥號信號"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"設定撥打緊急電話時的運作方式"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"備份"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"開啟"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"關閉"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"備份與還原"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"個人資料"</string>
     <string name="backup_data_title" msgid="507663517227498525">"備份我的資料"</string>
@@ -2551,6 +2738,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"行動數據和 Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"自動同步處理個人資料"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"自動同步處理工作資料"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"自動同步私人資料"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"變更週期…"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"數據用量週期的重設日期："</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"沒有任何應用程式在這段期間產生數據用量。"</string>
@@ -2600,27 +2788,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"名稱"</string>
     <string name="vpn_type" msgid="5533202873260826663">"類型"</string>
     <string name="vpn_server" msgid="2908816134941973935">"伺服器位址"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP 加密 (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"L2TP 密碼"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"IPSec 識別碼"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"IPSec 預先共用金鑰"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"IPSec 使用者憑證"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"IPSec CA 憑證"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec 伺服器憑證"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"顯示進階選項"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"DNS 搜尋網域"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"DNS 伺服器 (例如 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"轉寄路徑 (例如 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"使用者名稱"</string>
     <string name="vpn_password" msgid="1183746907642628127">"密碼"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"儲存帳戶資訊"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(未使用)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(不要驗證伺服器)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(從伺服器接收)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"這個 VPN 類型無法隨時保持連線"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"永久連線 VPN 僅支援數值格式的伺服器地址"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"必須為永久連線 VPN 指定 DNS 伺服器"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"DNS 伺服器地址必須為數字才能使用永久連線 VPN"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"輸入的資訊不支援永久連線 VPN"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"取消"</string>
     <string name="vpn_done" msgid="5137858784289564985">"關閉"</string>
@@ -2656,6 +2835,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"封鎖沒有 VPN 的連線"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"需要 VPN 連線嗎？"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"這個 VPN 不安全，請更新為 IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"無法啟動不支援的 VPN。"</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"選取要永久連線 VPN 設定檔。只有在連線到這個 VPN 後才能使用網路。"</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"無"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"永久連線 VPN 需要同時具備伺服器和 DNS 的 IP 位址。"</string>
@@ -2790,11 +2970,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"安珀 (AMBER) 警戒"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"接收兒童擄拐案件相關公告"</string>
     <string name="repeat_title" msgid="8676570486899483606">"重複播放"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"啟用通話管理工具"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"允許這項服務管理你的通話方式。"</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"通話管理工具"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"無線緊急警報"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"網路業者"</string>
     <string name="access_point_names" msgid="5768430498022188057">"存取點名稱"</string>
@@ -2856,7 +3031,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"SIM 卡狀態"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"SIM 卡狀態 (SIM 卡插槽 %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"SIM 卡已變更。"</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"SIM 卡變更完成"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"輕觸即可進行設定"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"每次都詢問"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"請選取偏好設定"</string>
@@ -2880,7 +3055,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"最近使用的應用程式、預設應用程式"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"這個工作資料夾中的應用程式無法存取通知。"</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"密碼與帳戶"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"已儲存的密碼、自動填入、保持同步的帳戶"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"登入和自動填入的建議"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"預設應用程式"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"副本應用程式"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"你可以建立應用程式的第二個執行個體，這樣就可以同時使用兩個帳戶。"</string>
@@ -2948,7 +3123,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"錢包"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"支付、感應支付、付款"</string>
     <string name="keywords_backup" msgid="707735920706667685">"備份內容, 備份"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"手勢"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"人臉, 解鎖, 驗證, 登入"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"人臉, 解鎖, 驗證, 登入, 指紋, 生物特徵辨識"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"IMEI、MEID、MIN、PRL 版本、IMEI SV"</string>
@@ -2999,6 +3173,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"文字大小, 大字, 大字型, 大型文字, 低視能, 放大文字, 放大字型, 使用大字型"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"一律開啟微光螢幕, 螢幕長亮模式"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"nfc, 標記, 感應器"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"鍵盤、觸覺技術、震動、"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"音量、震動、零打擾"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"媒體音量"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"投放音量"</string>
@@ -3034,9 +3209,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"啟動音效"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"即時字幕"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"自動產生媒體字幕"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"手機喇叭"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"平板電腦喇叭"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"裝置喇叭"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"有線耳機"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"相容媒體裝置可提供更有臨場感的聲音體驗"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"已關閉"</string>
@@ -3221,7 +3393,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"顯示所有通知內容"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"僅在解鎖狀態下顯示敏感內容"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"完全不顯示通知"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"螢幕鎖定時，你希望如何顯示通知訊息？"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"想在螢幕鎖定畫面上顯示什麼內容？"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"螢幕鎖定"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"顯示所有工作通知內容"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"隱藏敏感的工作內容"</string>
@@ -3250,6 +3422,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"已移除近期對話"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"對話已移除"</string>
     <string name="clear" msgid="5092178335409471100">"清除"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"清除「<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>」"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"這裡會顯示優先對話和已變更的對話"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"你標示為優先對話或做出其他變更的對話會顯示在這裡。\n\n如何變更對話設定：\n從螢幕頂端向下滑動開啟下拉式通知欄，然後按住要變更的對話。"</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"最小化"</string>
@@ -3308,6 +3481,17 @@
     <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="6121016426991791557">"通知緩和功能"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"將緩和功能套用至所有通知"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"從同一應用程式連續收到大量通知時，逐漸降低通知音量"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"將緩和功能套用至對話"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"在短時間內從同一對話連續收到大量訊息時，逐漸降低通知音量"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"不使用通知緩和功能"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"無論從同一應用程式連續收到多少通知，一律不降低通知音量"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"在解鎖時震動"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"只在螢幕解鎖狀態下震動"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"套用至工作資料夾"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"將個人資料夾的通知緩和設定套用至工作資料夾"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"VR 小幫手服務"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"沒有任何已安裝的應用程式要求以 VR 小幫手服務的形式執行。"</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"要允許 <xliff:g id="SERVICE">%1$s</xliff:g> 存取 VR 服務嗎？"</string>
@@ -3502,14 +3686,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"關閉"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"應用程式固定"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"你可以使用應用程式固定功能，將目前使用的應用程式固定在螢幕上，直到你取消固定為止。如果想讓信任的好友用你的手機玩遊戲，就可以使用這個功能。"</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"固定後的應用程式或許可開啟其他應用程式，也或許能存取個人資料。\n\n如何使用應用程式固定功能：	\n1. 開啟應用程式固定功能 	\n2. 開啟「總覽」	\n3. 輕觸畫面頂端的應用程式圖示，然後輕觸「固定」"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"固定後的應用程式或許可開啟其他應用程式，也或許能存取個人資料。\n\n如要安全地與人共用裝置，建議你改用訪客使用者設定檔。\n\n如何使用應用程式固定功能：	\n1. 開啟應用程式固定功能\n2. 開啟「總覽」\n3. 輕觸畫面頂端的應用程式圖示，然後輕觸「固定」"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"應用程式固定後，可能會開啟其他應用程式並存取個人資料。\n\n如要使用應用程式固定功能，請按照下列步驟操作：	\n{0,number,integer}. 開啟應用程式固定功能 	\n{1,number,integer}. 開啟總覽 	\n{2,number,integer}. 輕觸畫面頂端的應用程式圖示，然後輕觸「固定」"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"應用程式固定後，可能會開啟其他應用程式並存取個人資料。\n\n如要安全地與人共用裝置，建議你改用訪客使用者設定檔。\n\n如要使用應用程式固定功能，請按照下列步驟操作：	\n{0,number,integer}. 開啟應用程式固定功能 	\n{1,number,integer}. 開啟總覽 	\n{2,number,integer}. 輕觸畫面頂端的應用程式圖示，然後輕觸「固定」"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"固定應用程式後：\n\n•	 該應用程式可存取個人資料\n		(例如聯絡人和電子郵件內容)\n•		固定的應用程式可開啟其他應用程式\n\n請務必只針對你信任的人使用應用程式固定功能。"</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"取消固定時必須畫出解鎖圖案"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"取消固定時必須輸入 PIN 碼"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"取消固定時必須輸入密碼"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"取消固定時鎖定裝置"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"SIM 卡刪除確認"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"確認清除 eSIM 卡"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"你必須先驗證身分，才能清除 eSIM 卡"</string>
     <string name="memtag_title" msgid="5096176296797727201">"進階記憶體保護功能 Beta 版"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"進階記憶體保護功能"</string>
@@ -3569,6 +3753,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"未使用的應用程式設定"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"暫停未使用的應用程式活動"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"移除權限、刪除暫存檔及停止通知"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"管理應用程式 (如未使用)"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"移除權限、刪除暫存檔、停止通知並封存應用程式"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"所有應用程式"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"已安裝的應用程式"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"免安裝應用程式"</string>
@@ -3598,7 +3784,7 @@
     <string name="apps_storage" msgid="643866814746927111">"應用程式儲存空間"</string>
     <string name="usage_access" msgid="5487993885373893282">"使用記錄存取權"</string>
     <string name="permit_usage_access" msgid="179630895262172674">"允許存取使用記錄"</string>
-    <string name="time_spent_in_app_pref_title" msgid="25327097913383330">"裝置使用時間"</string>
+    <string name="time_spent_in_app_pref_title" msgid="25327097913383330">"螢幕時間"</string>
     <string name="usage_access_description" msgid="8547716253713890707">"具有使用記錄存取權的應用程式可以追蹤你使用的其他應用程式與頻率，以及你的電信業者、語言設定和其他詳細資料。"</string>
     <string name="memory_settings_title" msgid="6582588646363308430">"記憶體"</string>
     <string name="always_running" msgid="9012705720688200252">"一律執行 (<xliff:g id="PERCENTAGE">%s</xliff:g>)"</string>
@@ -3677,6 +3863,9 @@
     <string name="free_memory" msgid="439783742246854785">"可用"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"應用程式的記憶體用量"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{過去 {time}內有 1 個應用程式使用了記憶體}other{過去 {time}內有 # 個應用程式使用了記憶體}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"啟用記憶體用量分析功能"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"記憶體用量分析功能啟用後，將需要較多的系統資源。"</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"記憶體用量分析功能已停用"</string>
     <string name="running_frequency" msgid="7260225121706316639">"頻率"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"最高用量"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"未使用任何數據"</string>
@@ -3695,10 +3884,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"顯示在其他應用程式上層"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"允許顯示在其他應用程式上層"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"允許這個應用程式顯示在畫面最上層，遮住你使用的其他應用程式。該應用程式將可知道你輕觸的位置或變更畫面上顯示的內容。"</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"變更媒體輸出"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"允許應用程式切換媒體輸出"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"允許這個應用程式選擇要使用哪一部連結的裝置播放其他應用程式的音訊或影片。如果允許，這個應用程式可以存取清單中的可用裝置 (例如耳機和音箱)，並選擇要使用哪一部輸出裝置串流播放或投放音訊或影片。"</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"所有檔案的存取權"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"授予管理所有檔案的權限"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"允許這個應用程式讀取、修改及刪除這部裝置或任何已連結儲存空間上的所有檔案。如果應用程式獲得授權，可能會在你不知情的情況下存取檔案。"</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"可以存取所有檔案"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"透過語音啟動的應用程式"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"允許使用語音啟動功能"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"語音啟動功能可透過語音指令開啟已核准的應用程式，不需手動操作。內建的自動調節感應功能則可確保資料不外洩。\n\n"<a href="">"進一步瞭解受保護的自動調節感應功能"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"全螢幕通知"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"允許這個應用程式顯示全螢幕通知"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"允許這個應用程式在裝置鎖定時顯示全螢幕通知。應用程式可能會在這類通知中顯示鬧鐘、來電或其他緊急通知。"</string>
@@ -3807,7 +4002,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> 數據用量警告"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> 數據用量上限"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> 數據用量警告/<xliff:g id="ID_2">^2</xliff:g> 數據用量上限"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"電信業者與裝置的數據計算方式可能有所不同"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"排除電信業者網路的數據用量"</string>
     <string name="data_used_template" msgid="8229342096562327646">"已使用 <xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"設定數據用量警告"</string>
@@ -3833,7 +4027,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"<xliff:g id="ID_1">^2</xliff:g>前更新"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"<xliff:g id="ID_1">^1</xliff:g> 在剛才更新"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"剛才更新"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"查看方案"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"查看詳細資料"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"數據節省模式"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"數據用量不受限"</string>
@@ -3864,6 +4057,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在背景執行時比平常耗電"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比較耗電"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"「<xliff:g id="APP_LABEL">%1$s</xliff:g>」在前景執行時比比平常耗電"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"電池用量異常狀況"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"高電池用量"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"在背景執行時耗用大量電池電力"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"在前景執行時耗用大量電池電力"</string>
@@ -3932,7 +4126,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"開發人員快速設定方塊"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"停用 ADB 授權逾時"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"如果系統在預設時間 (7 天) 或使用者設定時間 (至少 1 天) 內未重新連線，就停用自動撤銷 ADB 授權的功能。"</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Winscope 追蹤"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"感應器已關閉"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"工作資料夾設定"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"在個人應用程式中搜尋工作目錄聯絡人"</string>
@@ -3962,7 +4155,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"系統操作機制, 雙按鈕操作, 三按鈕操作, 手勢操作, 滑動"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"數位助理"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"滑動即可啟動數位助理應用程式"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"如要啟動數位助理應用程式，請從底部的任一角落向上滑動。"</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"如要啟動數位助理應用程式，請從底部的任一角落向上滑動"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"按住主畫面按鈕即可使用 Google 助理"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"按住主畫面按鈕即可叫用數位助理應用程式。"</string>
     <string name="low_label" msgid="6525629096999711220">"低"</string>
@@ -4122,21 +4315,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"自動填入服務"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"預設的自動填入服務"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"密碼"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"密碼、密碼金鑰和資料服務"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"其他提供者"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"偏好的服務"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"其他服務"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{# 個密碼}other{# 個密碼}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"自動, 填寫, 自動填入, 密碼"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"資料, 密碼金鑰, 密碼"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"自動、填入、自動填入、資料、密碼金鑰、密碼"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"變更"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"開啟"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"未選取任何項目"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;請確定這是你信任的應用程式&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; 會根據畫面上顯示的內容判斷要自動填入哪些資訊。"</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;要使用「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」會根據畫面內容判斷可自動填入的資訊。從現在起，系統會將新密碼、密碼金鑰和其他資訊儲存在這裡。"</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"密碼、密碼金鑰和資料服務"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;要使用「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 從現在起，新的密碼、密碼金鑰和其他資訊都會儲存在這裡。「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」可能會根據畫面內容判斷可自動填入的資訊。"</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"密碼、密碼金鑰和自動填入的偏好服務"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"要停用「%1$s」嗎？"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;要關閉這項服務嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; 當你登入後，系統將不會填入密碼、密碼金鑰、付款方式等其他已儲存的資訊。如要使用已儲存的資訊，請選擇所需的密碼、密碼金鑰或資料服務。"</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"密碼、密碼金鑰和自動填入"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;要關閉所有服務嗎？&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;系統將無法在你登入時提供密碼、密碼金鑰和其他已儲存的資訊"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&lt;b&gt;將偏好服務變更為「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt;從現在起，系統會將新密碼、密碼金鑰和其他資訊儲存在這個應用程式。「&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;」可能會根據畫面內容判斷可自動填入的資訊"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"要使用「%1$s」嗎？"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"關閉"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"變更"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"最多只能開啟 5 項服務"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"關閉至少 1 項服務並新增其他服務"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"「%1$s」會根據畫面內容判斷要自動填入的資訊。"</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"密碼、密碼金鑰和資料服務限制"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"一次最多可選取 5 個密碼、密碼金鑰和資料服務。如要新增其他服務，請先停用其中一項服務。"</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"密碼、密碼金鑰和資料服務限制"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"一次最多可選取 5 個密碼、密碼金鑰和資料服務。如要新增其他服務，請先停用其中一項服務。"</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"停用"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"自動填入"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"記錄層級"</string>
@@ -4193,6 +4396,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"你只能修改可偵錯應用程式的應用程式相容性變更。請安裝可進行偵錯的應用程式，然後再試一次。"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"必須一併變更其他設定"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"帳戶"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"%d 個帳戶"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"裝置名稱"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"基本資訊"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"法律和法規"</string>
@@ -4206,6 +4410,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"允許系統掃描到 NFC 標記時啟用這個應用程式。\n如果開啟這項權限，每當系統偵測到標記時，就會將這個應用程式列為選項。"</string>
     <string name="media_output_title" msgid="8283629315159510680">"播放媒體"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"透過以下裝置播放「<xliff:g id="LABEL">%s</xliff:g>」"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"音訊播放媒體"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"這個裝置"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"通話時無法使用"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"接聽來電時使用的裝置"</string>
@@ -4219,7 +4424,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"靜音"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"如要啟用，請先將設定從「按住電源鍵」變更為電源鍵選單。"</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"網路詳細資料"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"你在手機上的應用程式會取得手機的裝置名稱。此外，當你連上藍牙裝置、Wi-Fi 網路或者設定 Wi-Fi 無線基地台時，其他人可能也會看到這個裝置名稱。"</string>
     <string name="devices_title" msgid="649715719278562515">"裝置"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"選擇網路"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"連線中斷"</string>
@@ -4302,11 +4506,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"名稱"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"顏色 (用於相容的應用程式)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"儲存"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"使用 SIM 卡"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"使用這張 SIM 卡"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"停用"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"如要停用這張 SIM 卡，請將其移除"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"輕觸即可啟用「<xliff:g id="CARRIER">%1$s</xliff:g>」"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"清除 SIM 卡"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"移除這張 SIM 卡即可停用"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"輕觸即可啟用「<xliff:g id="CARRIER">%1$s</xliff:g>」的 SIM 卡"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"清除 eSIM 卡"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"偏好的網路類型"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"變更網路操作模式"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"偏好的網路類型"</string>
@@ -4325,6 +4529,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"請向你的網路供應商洽詢定價。"</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"應用程式數據用量"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"網路模式 <xliff:g id="NETWORKMODEID">%1$d</xliff:g> 無效。忽略。"</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"衛星訊息"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"透過衛星收發訊息。你的帳戶支援這項功能。"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"透過衛星收發訊息。你的帳戶不支援這項功能。"</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"衛星訊息"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"關於衛星訊息"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"適用的「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」帳戶支援透過衛星收發訊息"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"你的「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」方案"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"你的帳戶支援衛星訊息"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"你的帳戶不支援衛星訊息"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"新增衛星訊息"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"運作方式"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"沒有行動網路時"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"手機會自動連上衛星。為獲得最佳連線品質，請在沒有物體遮住天空的地方使用。"</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"手機連上衛星後"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"你可以傳送訊息給任何人，包括緊急救援服務。如果有可用的行動網路，手機就會重新連線。"</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"衛星訊息可能需要比較長的時間才會送達，而且這項功能僅支援部分地區。天氣和特定結構可能會影響衛星連線的品質。系統不支援衛星電話。\n\n「設定」頁面可能要一段時間後才會顯示帳戶變動，詳情請洽「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」。"</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"進一步瞭解衛星訊息"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"存取點名稱"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"APN"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"無法在連線到「<xliff:g id="CARRIER">%1$s</xliff:g>」時使用"</string>
@@ -4334,22 +4555,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"要切換至「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」嗎？"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"要改為使用 SIM 卡嗎？"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"要使用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」嗎？"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"一次只能啟用一張 SIM 卡。\n\n切換至「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」並不會取消「<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>」的服務。"</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"一次只能啟用 1 張 eSIM 卡。\n\n切換至「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」不會取消「<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>」的服務。"</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"一次只能啟用一張 SIM 卡。\n\n切換電信業者並不會取消「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」的服務。"</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"一次只能啟用 1 張 SIM 卡。\n\n切換到「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」不會取消「<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>」的服務。"</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"一次只能啟用 1 張 eSIM 卡。\n\n切換到「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」不會取消「<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>」的服務。"</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"一次只能啟用 1 張 SIM 卡。\n\n切換 SIM 卡不會取消「<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>」的服務。"</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"你可以同時使用 2 張 SIM 卡。如要使用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」，請關閉另一張 SIM 卡。"</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"切換至「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"關閉「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"關閉 SIM 卡並不會取消服務"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"正在連線到網路…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"正在切換到「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」以便使用通話和訊息服務…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"無法切換電信業者"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"發生錯誤，因此無法切換電信業者。"</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"正在啟用 SIM 卡…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"正在切換到「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"無法切換 SIM 卡"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"發生錯誤，無法切換 SIM 卡。"</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"要停用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」嗎？"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"要停用 SIM 卡嗎？"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"正在停用 SIM 卡<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"無法停用電信業者"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"發生錯誤，無法停用你的電信業者。"</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"無法停用 SIM 卡"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"發生錯誤，無法停用 SIM 卡。"</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"要使用兩張 SIM 卡嗎？"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"這部裝置可以同時使用兩張 SIM 卡。如果不想同時使用兩張 SIM 卡，請輕觸「不用了，謝謝」。"</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"要重新啟動裝置嗎？"</string>
@@ -4358,32 +4579,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"不用了，謝謝"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"取消"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"切換"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"關閉"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"無法啟用 SIM 卡"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"請試著再次啟用 SIM 卡，如果問題持續發生，請重新啟動裝置。"</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"設定 SIM 卡"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"如要在這部裝置上使用多張 SIM 卡，請設定偏好的行動網路"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"將 SIM 卡加上標籤"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"撥打電話、傳送訊息及使用數據網路和「設定」頁面時，你會看到這些標籤"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"SIM 卡標籤"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"標籤"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"選取要使用的 SIM 卡"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"你可以同時使用 2 張 SIM 卡"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"設定主要 SIM 卡"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"選擇用於通話、訊息和數據傳輸的預設 SIM 卡"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"你的主要 SIM 卡"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"通話"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"訊息"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"自動切換行動數據"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"依據行動網路的涵蓋率和可用性，選擇要使用哪張 SIM 卡的數據"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"數據傳輸專用"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"設定"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"繼續"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"正在啟用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"行動網路"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"電話號碼"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"SIM 卡標籤和顏色"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"啟用網路"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"正在切換電信業者"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」已啟用"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」的 SIM 卡已啟用"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"輕觸即可更新 SIM 卡設定"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"已切換成「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"已切換成其他電信業者"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"你的行動網路已變更"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"設定其他 SIM 卡"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"選擇已啟用的 SIM 卡或同時使用 2 張 SIM 卡"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"選擇要使用的號碼"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{這部裝置上有 1 個可用的號碼，但一次只能使用一個}=2{這部裝置上有 2 個可用的號碼，但一次只能使用一個}other{這部裝置上有 # 個可用的號碼，但一次只能使用一個}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"正在啟用<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"目前無法啟用"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"選擇要使用的 SIM 卡"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{這部裝置上有 1 張可用的 SIM 卡，但一次只能使用一張}=2{這部裝置上有 2 張可用的 SIM 卡，但一次只能使用一張}other{這部裝置上有 # 張可用的 SIM 卡，但一次只能使用一張}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"啟用中<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"目前無法啟用這張 SIM 卡"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"要使用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」嗎？"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"系統將使用「<xliff:g id="CARRIER_NAME">%1$s</xliff:g>」的行動數據、通話和簡訊服務。"</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"沒有可用的 SIM 卡"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"日後如要使用行動數據、通話和簡訊功能，請前往網路設定進行調整"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"SIM 卡"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"要清除這張 eSIM 卡嗎？"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"如果清除這張 SIM 卡，「<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>」服務會從這部裝置中移除。\n\n請放心，「<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>」的服務不會因此取消。"</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"這麼做會從這部裝置移除「<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g>」服務，但不會取消「<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g>」方案。"</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"清除"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"正在清除 SIM 卡…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"無法清除 SIM 卡"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"發生錯誤，因此無法清除這張 SIM 卡。\n\n請重新啟動裝置，然後再試一次。"</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"正在清除 eSIM 卡…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"無法清除 eSIM 卡"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"系統發生錯誤，因此未清除這張 eSIM 卡。\n\n請重新啟動裝置並再試一次。"</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"連線至裝置"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"「<xliff:g id="APPNAME">%1$s</xliff:g>」應用程式想透過臨時的 Wi-Fi 網路連線至你的裝置"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"找不到裝置。請確認裝置已經開啟並可進行連線。"</string>
@@ -4445,9 +4689,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"緊急電話"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"你的電信業者目前不支援透過 Wi-Fi 通話撥打緊急電話。\n這個裝置會在撥打緊急電話時自動切換到行動數據網路。\n你只能在有行動網路訊號的地區撥打緊急電話。"</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"使用 Wi-Fi 進行通話以改善通話品質"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"備用通話網路"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"如果「<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g>」的網路無法使用或正在使用漫遊網路，系統會透過你的行動數據 SIM 卡進行「<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>」通話。"</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"備用通話網路"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"收到多媒體訊息"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"無法傳送多媒體訊息"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"如要在行動數據關閉時透過「<xliff:g id="OPERATOR_NAME">%1$s</xliff:g>」收發多媒體訊息，請輕觸這裡"</string>
@@ -4458,6 +4699,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"你的工作政策資訊"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"由 IT 管理員管理的設定"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"使用 16 K 頁面大小啟動"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"使用 16 K 頁面大小支援的核心啟動裝置"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"要使用 16 KB 頁面相容核心重新啟動嗎？"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"警告：部分應用程式可能與這個模式不相容。裝置將在確認後重新啟動。"</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"要使用 4 KB 頁面相容核心重新啟動嗎？"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"裝置將在確認後重新啟動。"</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"無法將核心更新為 16 KB 頁面相容核心。"</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"正在套用變更"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"錯誤報告處理常式"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"選擇要使用哪個應用程式控管「錯誤報告」捷徑。"</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"個人"</string>
@@ -4506,16 +4755,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"允許可顯示在其他應用程式上的應用程式重疊顯示在「設定」畫面上"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"允許模擬數據機"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"允許這部裝置執行模擬數據機服務，以進行檢測設備測試。正常使用手機時不要啟用這項服務"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"停用螢幕畫面分享防護"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"分享螢幕畫面時，停用系統適用應用程式和通知防護"</string>
     <string name="media_controls_title" msgid="403271085636252597">"媒體"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"固定媒體播放器"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"讓快速設定中的媒體播放器保持開啟狀態，以便快速恢復播放"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"在螢幕鎖定畫面上顯示媒體"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"媒體播放器會在螢幕鎖定畫面上保持開啟狀態，以便快速繼續播放"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"顯示媒體推薦內容"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"顯示 Google 助理媒體推薦內容"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"根據你的活動"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"隱藏播放器"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"顯示播放器"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"媒體"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"允許相機軟體擴充功能"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"允許導入預設軟體的進階相機功能，例如 Eyes Free 錄影。"</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"系統將開啟藍牙"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"網際網路"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"SIM 卡"</string>
@@ -4543,8 +4796,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM 卡"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"eSIM 卡"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"eSIM 卡"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"已啟用"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"未啟用"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"已啟用"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"已停用"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / <xliff:g id="ID_1">%1$s</xliff:g>的預設設定"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"通話"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"簡訊"</string>
@@ -4700,8 +4953,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"相容媒體裝置可提供更有臨場感的聲音體驗"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"頭部追蹤"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"音訊會隨著你轉動頭部而變化，因此聽起來更自然"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"同步權限"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"將應用程式在「<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>」上的權限授予「<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g>」"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"同步處理手機的權限"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"將這部手機上你已允許的相同應用程式權限授予手錶"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"音訊裝置類型"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"不明"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"揚聲器"</string>
@@ -4797,4 +5050,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"中"</string>
     <string name="contrast_high" msgid="3988567609694797696">"高"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"這個應用程式只能在 1 個視窗中開啟"</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"已開啟"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"已關閉"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"已關閉"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"已停用"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"已啟用"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"已停用"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"已啟用"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"已停用"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"將較亮的螢幕畫面調暗，將較暗的螢幕畫面調亮"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"放大畫面"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"已停用"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"已停用"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"透過掃描找出欺騙性應用程式"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"檢查應用程式活動，找出網路釣魚"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"使用掃描功能找出欺騙性應用程式"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"使用掃描功能找出欺騙性工作應用程式"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"密碼設定完成"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"懸停時顯示游標"</string>
 </resources>
diff --git a/res/values-zu/arrays.xml b/res/values-zu/arrays.xml
index fbea6d2..dd1c090 100644
--- a/res/values-zu/arrays.xml
+++ b/res/values-zu/arrays.xml
@@ -77,6 +77,11 @@
     <item msgid="6556827947082659801">"Tholakalayo"</item>
     <item msgid="6096962300722555553">"Ikude nebanga"</item>
   </string-array>
+  <string-array name="bluetooth_leaudio_mode">
+    <item msgid="5307106570247137458">"Kukhutshaziwe"</item>
+    <item msgid="7781484297606806796">"Ukuthumelelana kwabantu ngabanye"</item>
+    <item msgid="6667451574264144311">"Ukuthumelelana kwabantu ngabanye kanye Nokusakaza"</item>
+  </string-array>
   <string-array name="bluetooth_max_connected_audio_devices">
     <item msgid="4792793579224104167">"Sebenzisa okuzenzakalelayo kwesistimu: <xliff:g id="DEFAULT_BLUETOOTH_MAX_CONNECTED_AUDIO_DEVICES">%1$d</xliff:g>"</item>
     <item msgid="5818942631838356082">"1"</item>
@@ -479,4 +484,10 @@
     <item msgid="7025253383416830453">"Ngemuva komzuzu o-1"</item>
     <item msgid="1574040255478150028">"Ngemuva kwemizuzu emi-5"</item>
   </string-array>
+    <!-- no translation found for notification_polite_options:0 (4617190141263245257) -->
+    <!-- no translation found for notification_polite_options:1 (3884076684767467743) -->
+    <!-- no translation found for notification_polite_options:2 (8765197536079931966) -->
+    <!-- no translation found for private_space_auto_lock_options:0 (551584871228110817) -->
+    <!-- no translation found for private_space_auto_lock_options:1 (3263162333754809690) -->
+    <!-- no translation found for private_space_auto_lock_options:2 (1575103586471380629) -->
 </resources>
diff --git a/res/values-zu/strings.xml b/res/values-zu/strings.xml
index 7327f6f..dcf5b31 100644
--- a/res/values-zu/strings.xml
+++ b/res/values-zu/strings.xml
@@ -28,6 +28,7 @@
     <string name="show_dev_on" msgid="2840850085134853754">"Manje ungunjiniyela!"</string>
     <string name="show_dev_already" msgid="7041756429707644630">"Asikho isidingo, usuvele ungunjiniyela."</string>
     <string name="dev_settings_disabled_warning" msgid="6971867026249671244">"Sicela unike amandla izinketho zokuthuthukisa kuqala."</string>
+    <string name="dev_settings_available_to_admin_only_warning" msgid="3408243404879083111">"Abasebenzisi abangabaphathi kuphela abangafinyelela amasethingi onjiniyela."</string>
     <string name="header_category_system" msgid="1665516346845259058">"Isistimu"</string>
     <string name="radioInfo_service_in" msgid="9088637745836646271">"Kwisevisi"</string>
     <string name="radioInfo_service_out" msgid="1868347333892403287">"Ayikho isevisi"</string>
@@ -46,6 +47,8 @@
     <string name="stay_awake_on_fold_summary" msgid="1939963751585954262">"Isibonisi sangaphambili siyakhanya uma ugoqa idivayisi yakho"</string>
     <string name="selective_stay_awake_title" msgid="7887645333447645168">"Amageyimu kuphela, amavidiyo, nokuningi"</string>
     <string name="selective_stay_awake_summary" msgid="9055967322921984543">"Isibonisi sangaphambili siyakhanya lapho unama-app avimba isikrini sakho ukuthi siphumule"</string>
+    <string name="stay_awake_on_lockscreen_title" msgid="8088456642083051068">"Swayipha ukuze uqhubeke"</string>
+    <string name="stay_awake_on_lockscreen_summary" msgid="2299351813382522952">"Goqa ifoni yakho bese uswayipha uye phezulu kusibonisi sangaphambili ukuze uqhubeke usebenzisa i-app, noma ulinde imizuzwana embalwa ukuze isikrini sikhiye"</string>
     <string name="sleep_on_fold_title" msgid="7626123024330501411">"Ungalokothi"</string>
     <string name="sleep_on_fold_summary" msgid="7737992842459588846">"Isibonisi sangaphambili siyakhiya uma ugoqa idivayisi yakho"</string>
     <string name="auto_rotate_settings_primary_switch_title" msgid="3440951924928594520">"Sebenzisa ukuphenduka okuzenzakalelayo"</string>
@@ -79,8 +82,8 @@
     <string name="bluetooth_screen_related" msgid="7976543255501825536">"Okuhambisanayo"</string>
     <string name="bluetooth_ringtone_title" msgid="3177308461256892085">"ithoni yokukhala nama-alamu"</string>
     <string name="bluetooth_call_title" msgid="6851464952021874072">"Umsindo phakathi nezingcingo"</string>
-    <string name="bluetooth_media_title" msgid="343705257183053699">"Imidiya"</string>
-    <string name="bluetooth_system_sounds_title" msgid="6746938637128763205">"Izaziso neminye imisindo yesistimu"</string>
+    <string name="bluetooth_media_title" msgid="2878373577382067290">"Imisindo yemidiya nesistimu"</string>
+    <string name="bluetooth_notification_title" msgid="8708962394926222039">"Izaziso"</string>
     <string name="bluetooth_audio_routing_footer_summary" msgid="410260713589309293">"Ngokuzenzakalelayo, okukhipha umsindo kunqunywa ama-app angawodwana"</string>
     <string name="bluetooth_device" msgid="2217973503732544291">"Idivayisi ye-Bluetooth engaqanjwanga igama"</string>
     <string name="progress_scanning" msgid="2564746192843011826">"Iyasesha..."</string>
@@ -112,24 +115,36 @@
     <string name="bluetooth_disable_hw_offload_dialog_cancel" msgid="3663690305043973720">"Khansela"</string>
     <string name="bluetooth_disable_leaudio" msgid="8619410595945155354">"Khubaza umsindo we-Bluetooth LE"</string>
     <string name="bluetooth_disable_leaudio_summary" msgid="4756307633476985470">"Kukhubaza isakhi somsindo we-Bluetooth LE uma idivayisi isekela amakhono wehadiwe yomsindo we-LE."</string>
+    <string name="bluetooth_leaudio_mode" msgid="5206961943393400814">"Imodi Yomsindo we-Bluetooth LE"</string>
     <string name="bluetooth_show_leaudio_device_details" msgid="3306637862550475370">"Bonisa ukuguqulwa komsindo we-LE Emininingwaneni Yedivayisi"</string>
-    <string name="bluetooth_enable_leaudio_allow_list" msgid="1692999156437357534">"Nika amandla umsindo we-Bluetooth LE Uhlu Lokuvumela"</string>
-    <string name="bluetooth_enable_leaudio_allow_list_summary" msgid="725601205276008525">"Nika amandla isakhi sohlu lokuvumela umsindo we-Bluetooth LE."</string>
+    <string name="bluetooth_bypass_leaudio_allowlist" msgid="7392319491894565552">"Dlula Uhlu Lwabagunyaziwe Lomsindo we-Bluetooth LE"</string>
+    <string name="bluetooth_bypass_leaudio_allowlist_summary" msgid="8999245286359656738">"Sebenzisa umsindo we-LE ngokuzenzakalela ngisho noma umsindo we-LE exhumekayo uqinisekisiwe ukuthi uyahlangabezane nomkhakha Wohlu Lwabagunyaziwe."</string>
     <string name="connected_device_media_device_title" msgid="3783388247594566734">"Amadivayisi emidiya"</string>
     <string name="connected_device_call_device_title" msgid="88732390601723608">"Shayela amadivayisi"</string>
     <string name="connected_device_other_device_title" msgid="4652120430615729193">"Amanye amadivayisi"</string>
     <string name="connected_device_saved_title" msgid="5607274378851905959">"Amadivayisi alondoloziwe"</string>
+    <string name="connected_device_fast_pair_device_title" msgid="543124539265592392">"Ehlotshaniswe ne-akhawunti yakho"</string>
+    <string name="connected_device_previously_associated_fast_pair_device_title" msgid="8353405823992023457">"Kusetshenziswe ngaphambili nge-akhawunti"</string>
     <string name="connected_device_add_device_summary" msgid="8671009879957120802">"I-Bluetooth izovula ukuze ibhanqe"</string>
     <string name="connected_device_connections_title" msgid="4164120115341579170">"Izinketho zoxhumo"</string>
     <string name="connected_device_previously_connected_screen_title" msgid="8823331744788100605">"Kuxhunywe ngaphambilini"</string>
     <string name="connected_device_bluetooth_turned_on_toast" msgid="144664089794199928">"I-Bluetooth ivuliwe"</string>
     <string name="previous_connected_see_all" msgid="7759413145713251328">"Buka konke"</string>
+    <string name="connected_device_fast_pair_device_see_all" msgid="4898279230458128620">"Buka konke"</string>
     <string name="stylus_device_details_title" msgid="7618295136015480864">"I-Stylus"</string>
     <string name="stylus_default_notes_app" msgid="4165657465911764628">"Ukucindezela inkinobho yomsila"</string>
     <string name="stylus_default_notes_summary_work" msgid="4554643411627934223">"<xliff:g id="APP_NAME">%s</xliff:g> (Iphrofayela yomsebenzi)"</string>
     <string name="stylus_textfield_handwriting" msgid="2363579035338976327">"Bhala ezinkambini zombhalo"</string>
     <string name="stylus_ignore_button" msgid="7734540973145241391">"Ziba konke ukucindezela inkinobho ye-stylus"</string>
     <string name="stylus_connected_devices_title" msgid="2823967577941359812">"I-Stylus"</string>
+    <string name="audio_sharing_title" msgid="4144157137502923821">"Ukwabelana ngomsindo"</string>
+    <string name="audio_sharing_switch_title" msgid="7052827328670825701">"Yabelana ngomsindo"</string>
+    <string name="calls_and_alarms_device_title" msgid="6993559028175454198">"Izingcingo nama-alamu"</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>
+    <string name="audio_streams_qr_code_summary" msgid="2838923349871884871">"Xhuma ekusakazeni komsindo usebenzisa ikhodi ye-QR"</string>
+    <string name="audio_streams_empty" msgid="8803517701437394982">"Akukho ukusakazwa komsindo okuseduze okutholiwe."</string>
     <string name="date_and_time" msgid="1788358029823431692">"Idethi nesikhathi"</string>
     <string name="proxy_settings_title" msgid="4201866858226087066">"Ummeleli"</string>
     <string name="proxy_clear_text" msgid="6529658759984031149">"Sula"</string>
@@ -173,6 +188,8 @@
     <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>
+    <string name="title_system_locale_addition" msgid="8218683660751479466">"Engeza u-%s kuzilimi ezikhethiwe?"</string>
+    <string name="desc_system_locale_addition" msgid="3409917362651596070">"Lokhu kuvumela ama-app namawebhusayithi azi ukuthi ukhetha lolu lwimi."</string>
     <string name="desc_notice_device_locale_settings_change" msgid="8311132485850714160">"Amasethingi edivayisi yakho nokuncamelayo kwesifunda kuzoshintsha."</string>
     <string name="button_label_confirmation_of_system_locale_change" msgid="5593798559604894733">"Shintsha"</string>
     <string name="title_unavailable_locale" msgid="2628898110416542386">"i-%s ayitholakali"</string>
@@ -196,6 +213,14 @@
     <string name="saturday_first_day_of_week" msgid="3702282590450322727">"UMgqibelo"</string>
     <string name="title_regional_pref_footer" msgid="7450438024324794380">"Uma i-app ingakusekeli okuncanyelwayo kwesifunda, i-app izosebenzisa amasethingi ayo endawo azenzekelayo."</string>
     <string name="desc_regional_pref_footer_learn_more" msgid="4401708653329230081">"Funda kabanzi mayelana nokuncanyelwayo kolimi."</string>
+    <string name="category_title_terms_of_address" msgid="4309422700380895278">"Izintandokazi ezengeziwe"</string>
+    <string name="terms_of_address_title" msgid="4064593634733842458">"Imigomo yekheli"</string>
+    <string name="terms_of_address_summary" msgid="6136134336560679144">"Setha indlela ofuna kukhulunywe nawe ngayo"</string>
+    <string name="terms_of_address_intro_title" msgid="6149691509414243483">"Ama-app angasebenzisa imigomo yekheli lakho ukuze zenze kube ngokwakho ukuthi zikhuluma nawe kanjani."</string>
+    <string name="terms_of_address_not_specified" msgid="4439257779351251973">"Akucacisiwe"</string>
+    <string name="terms_of_address_feminine" msgid="1743479869695539283">"Okwabesifazane"</string>
+    <string name="terms_of_address_masculine" msgid="983106046135098856">"Okwabesilisa"</string>
+    <string name="terms_of_address_neutral" msgid="5475414185543112478">"Maphakathi nendawo"</string>
     <string name="dlg_remove_locales_title" msgid="3170501604483612114">"{count,plural, =1{Sula ulimi olukhethiwe?}one{Sula izilimi ezikhethiwe?}other{Sula izilimi ezikhethiwe?}}"</string>
     <string name="dlg_remove_locales_message" msgid="8110560091134252067">"Umbhalo uzoboniswa ngolunye ulimi."</string>
     <string name="dlg_remove_locales_error_title" msgid="5875503658221562572">"Ayikwazi ukususa zonke izilimi"</string>
@@ -257,11 +282,12 @@
     <string name="location_settings_title" msgid="8375074508036087178">"Indawo"</string>
     <string name="location_settings_primary_switch_title" msgid="8849081766644685127">"Sebenzisa indawo"</string>
     <string name="location_settings_summary_location_off" msgid="4797932754681162262">"Valiwe"</string>
-    <string name="location_settings_summary_location_on" msgid="7029728269719893381">"{count,plural, =1{Vuliwe -  i-app engu-# enokufinyelela endaweni}one{Vuliwe -  ama-app angu-# anokufinyelela endaweni}other{Vuliwe -  ama-app angu-# anokufinyelela endaweni}}"</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_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="5329024810729665156">"Funda kabanzi Ngamasethingi wendawo."</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="3574930966097093550">"Ukuze ushintshe ukufinyelela kwendawo, iya kokuthi Amasethingi Nokuvikeleka kanye Nobumfihlo Nezilawuli zokwemfihlo"</string>
     <string name="account_settings_title" msgid="9138880127246241885">"Ama-akhawunti"</string>
     <string name="security_settings_title" msgid="6710768415432791970">"Ukuphepha"</string>
     <string name="encryption_and_credential_settings_title" msgid="5856216318961482983">"Ukubethela nokuqinisekisa"</string>
@@ -362,9 +388,9 @@
     <string name="security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6" msgid="3563942520716110478">"Ukuze uthole imiphumela engcono, sebenzisa isivikeli sesikrini Esenzelwe I-Google esigunyaziwe. Kwezinye izivikeli zesikrini, isigxivizo somunwe wengane yakho ungase ungasebenzi."</string>
     <string name="security_settings_fingerprint_v2_enroll_introduction_message_learn_more" msgid="5856010507790137793"></string>
     <string name="security_settings_activeunlock_preference_title" msgid="4257580421087062228">"Ukuvula Iwashi"</string>
-    <string name="biometric_settings_intro_with_activeunlock" msgid="6583248094453119314">"Uma usetha Ukuvula Ngobuso kanye Nokuvula Ngesigxivizo somunwe, ifoni yakho izocela isigxivizo somunwe uma ugqoke imaski noma usendaweni emnyama.\n\nUngakwazi ukuvula ngewashi lakho uma ubuso bakho noma izigxivizo zeminwe zingaziwa."</string>
-    <string name="biometric_settings_intro_with_fingerprint" msgid="4312041617237493461">"Ungakwazi ukuvula ngewashi lakho uma isigxivizo somunwe wakho singaziwa."</string>
-    <string name="biometric_settings_intro_with_face" msgid="7658123658803417930">"Ungakwazi ukuvula ngewashi lakho uma ubuso bakho bungaziwa."</string>
+    <string name="biometric_settings_intro_with_activeunlock" msgid="5032953826653108646">"Uma usetha i-Face Unlock ne-Fingerprint Unlock, ifoni yakho izokucela isigxivizo somunwe uma ugqoke isifonyo noma usendaweni engenako ukukhanya.\n\nI-Watch Unlock ingenye indlela elula yokuvula ifoni yakho, ngokwesibonelo, uma iminwe yakho imanzi noma ubuso bungaqashelwa."</string>
+    <string name="biometric_settings_intro_with_fingerprint" msgid="5881355884547769337">"I-Watch Unlock ingenye indlela elula yokuvula ifoni yakho, ngokwesibonelo, uma isigxivizo sakho somunwe singaqashelwa."</string>
+    <string name="biometric_settings_intro_with_face" msgid="7671919122230588521">"I-Watch Unlock ingenye indlela elula yokuvula ifoni yakho, ngokwesibonelo, uma ubuso bakho bungaqashelwa."</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for" msgid="1160830065613858095">"Sebenzisa isigxivizo somunwe noma iwashi ukuze"</string>
     <string name="biometric_settings_use_face_or_watch_for" msgid="1507077107150278532">"Sebenzisa ubuso noma iwashi ukuze"</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for" msgid="7495835723072020641">"Sebenzisa ubuso, izigxivizo zeminwe, noma iwashi ukuze"</string>
@@ -385,6 +411,33 @@
     <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="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>
+    <string name="security_settings_remoteauth_enroll_introduction_message" msgid="8737276885766036074">"Ukuvula Iwashi kungenye indlela elula yokuvula le foni, ngokwesibonelo, uma iminwe yakho imanzi noma ubuso bungabonakali.\n\nUngasebenzisa iwashi lakho ukuze uvule le foni uma:"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_disagree" msgid="7639258097401796028">"Hhayi manje"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_agree" msgid="5271119227172049339">"Qhubeka"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_more" msgid="1644105894631257595">"Okwengeziwe"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_how_title" msgid="6604152528267830349">"Indlela esebenza ngayo"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open" msgid="8570511335628725116">"Iwashi lakho kufanele livulwe, esihlakaleni sakho, futhi ufinyeleleke kalula kule foni. Ngeke kudingeke ukuthi uvule iwashi lakho futhi lapho lisesihlakaleni sakho."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications" msgid="4298855831154039694">"Uma le foni ivuliwe, uzokwaziswa ewashini lakho. Uma beyivuliwe ngenkathi obungahlosile ngayo, thepha isaziso ukuze ukhiye ifoni futhi."</string>
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title" msgid="7974976673323638524">"Uwena olawulayo"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch" msgid="1888318677088986801">"Ungasusa iwashi lakho kokuthi Ukuvula Iwashi nganoma yisiphi isikhathi Kumasethingi"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification" msgid="1597397399097952974">"Thepha isaziso"</string>
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up" msgid="2129230804324634653">"Swayipha phezulu esikrini sokukhiya"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_title" msgid="313016997943607675">"Khetha iwashi lakho"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading" msgid="8227585438932911013">"Amawashi atholakalayo"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree" msgid="1670201454188049863">"Khansela"</string>
+    <string name="security_settings_remoteauth_enroll_enrolling_agree" msgid="7048336252635730908">"Qinisekisa"</string>
+    <string name="security_settings_remoteauth_enroll_finish_title" msgid="3807372930755413112">"Usumi ngomumo!"</string>
+    <string name="security_settings_remoteauth_enroll_finish_description" msgid="4876209907275244653">"Manje usungasebenzisa iwashi lakho ukuze uvule le foni uma uswayiphela phezulu esikrinini sokukhiya noma uthepha isaziso"</string>
+    <string name="security_settings_remoteauth_enroll_finish_btn_next" msgid="8072138423143889592">"Kwenziwe"</string>
+    <string name="security_settings_remoteauth_settings_title" msgid="1564912618737165129">"Ukuvula Iwashi"</string>
+    <string name="security_settings_remoteauth_settings_description" msgid="2758239650119457964">"Ungasebenzisa iwashi lakho ukuze uvule le foni uma uswayiphela phezulu esikrinini sokukhiya noma uthephe isaziso"</string>
+    <string name="security_settings_remoteauth_settings_info_footer" msgid="795894033901478120">"Ukuze usebenzise Ukuvula Iwashi, iwashi lakho kufanele livulwe, esandleni sakho, endaweni ongalifinyelela kuyo, futhi lixhunywe kule foni. Uma ukuxhuma kuphazamiseka, kuzodingeka uvule ifoni ngaphambi kokuba usebenzise okuthi Ukuvula Iwashi.\n\nKhumbula:\nUngaba newashi elilodwa kuphela elisethiwe ngesikhathi esisodwa. Ukuze ufake elinye iwashi, qala ngokususa elamanje."</string>
+    <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_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>
@@ -493,6 +546,82 @@
     <string name="security_header" msgid="961514795852103424">"Ukuvikela"</string>
     <string name="privacy_header" msgid="5526002421324257007">"Ubumfihlo"</string>
     <string name="work_profile_category_header" msgid="85707750968948517">"Iphrofayela yomsebenzi"</string>
+    <string name="private_space_title" msgid="1752064212078238723">"Isikhala esiyimfihlo"</string>
+    <string name="private_space_summary" msgid="2274405892301976238">"Gcina ama-app angasese ekhiyiwe futhi efihliwe"</string>
+    <string name="private_space_description" msgid="4059594203775816136">"Gcina ama-app agodliwe endaweni ehlukile ongayifihla noma uyikhiye"</string>
+    <string name="private_space_lock_title" msgid="7230836881433350526">"Ukhiye wendawo engasese"</string>
+    <string name="private_space_one_lock_summary" msgid="2106513606571219068">"Ungakwazi ukuvula isikhala esigodliwe ngendlela efanayo ovula ngayo idivayisi yakho, noma ukhethe ukhiye ohlukile"</string>
+    <string name="private_space_screen_lock_title" msgid="8679383894967823163">"Sebenzisa ukukhiya isikrini sedivayisi"</string>
+    <string name="private_space_biometric_title" msgid="3934339826674553174">"Ukuvula Ngobuso Nangesigxivizo Somunwe"</string>
+    <string name="private_space_fingerprint_title" msgid="5989254643211889931">"Ukuvula Ngesigxivizo Somunwe"</string>
+    <string name="private_space_face_title" msgid="3290402865367663079">"Ukuvula Ngobuso"</string>
+    <string name="private_space_biometric_summary" msgid="4403837276018724581">"Thepha ukuze usethe"</string>
+    <string name="private_space_fingerprint_unlock_title" msgid="3614016453395789051">"Ukuvula Ngesigxivizo Somunwe indawo engasese"</string>
+    <string name="private_space_face_unlock_title" msgid="462248384776453613">"Ukuvula Ngobuso indawo engasese"</string>
+    <string name="private_space_category_ways_to_unlock" msgid="4356631225316950046">"Izindlela zokuvula"</string>
+    <string name="private_space_screen_lock_summary" msgid="394837965365561070">"Ifana nokukhiya isikrini sedivayisi"</string>
+    <string name="private_space_new_lock_title" msgid="9056139964133004094">"Khetha isikhiya esisha wendawo engasese?"</string>
+    <string name="private_space_auto_lock_title" msgid="8663409382910601261">"Khiya indawo engasese ngokuzenzekelayo"</string>
+    <string name="private_space_auto_lock_page_summary" msgid="8679844515655838654">"Ungakhiya indawo yakho engasese ngokuzenzakalelayo uma ungakaze usebenzise idivayisi yakho okwesikhathi esithile"</string>
+    <string name="private_space_auto_lock_every_time" msgid="1215061855836002830">"Njalo lapho idivayisi ikhiya"</string>
+    <string name="private_space_auto_lock_after_inactivity" msgid="1748673030841528649">"Ngemva kwemizuzu engu-5 yokungenzi lutho"</string>
+    <string name="private_space_auto_lock_never" msgid="595014527119778873">"Ungalokothi"</string>
+    <string name="private_space_hide_title" msgid="8687034008994037610">"Fihla uma ikhiyiwe"</string>
+    <string name="privatespace_hide_page_title" msgid="8417507414027827566">"Fihla indawo engasese uma ikhiyile"</string>
+    <string name="privatespace_hide_page_summary" msgid="5525422595477989312">"Ukuze umise abanye abantu bazi ukuthi unesikhala esiyimfihlo kudivayisi yakho, ungasifihla ohlwini lwakho lwama-app"</string>
+    <string name="privatespace_access_header" msgid="6066826215718835041">"Finyelela indawo engasese lapho ifihliwe"</string>
+    <string name="privatespace_search_description" msgid="3121043205513022357">"Kusukela ohlwini lwakho lwama-app, faka \"indawo engasese\" kusikhala sokusesha"</string>
+    <string name="privatespace_tap_tile_description" msgid="8346440188590931635">"Thepha isihloko sendawo engasese"</string>
+    <string name="privatespace_unlock_description" msgid="3177710543121916413">"Vula indawo yakho engasese"</string>
+    <string name="privatespace_hide_off_summary" msgid="7227778747159633671">"Valiwe"</string>
+    <string name="privatespace_hide_on_summary" msgid="6136704537527640183">"Vuliwe"</string>
+    <string name="private_space_category_system" msgid="1286843321867285700">"Isistimu"</string>
+    <string name="private_space_delete_title" msgid="636873505724100006">"Sula indawo engasese"</string>
+    <string name="private_space_delete_header" msgid="4594429153176776184">"Sula indawo engasese?"</string>
+    <string name="private_space_delete_summary" msgid="3344372988408565545">"Indawo engasese izosuswa kudivayisi yakho. Wonke ama-app nedatha kuzosulwa. Awukwazi ukuhlehlisa lesi senzo."</string>
+    <string name="private_space_accounts" msgid="1078277762792056395">"Ama-akhawunti alandelayo azosuswa endaweni yakho yangasese:"</string>
+    <string name="private_space_delete_button_label" msgid="1256981385318225002">"Sula"</string>
+    <string name="private_space_confirm_deletion_header" msgid="3468651585498942977">"Isula indawo engasese…"</string>
+    <string name="private_space_confirm_deletion_summary" msgid="342544588554284686">"Lokhu kuzothatha izikhathi ezimbalwa"</string>
+    <string name="private_space_deleted" msgid="7692240901492540053">"Indawo engasese isuliwe"</string>
+    <string name="private_space_delete_failed" msgid="7705795653796174741">"Indawo engasese ayikwazanga ukusulwa"</string>
+    <string name="private_space_unlocked" msgid="9091600948712932046">"Isikhala esiyimfihlo sivuliwe"</string>
+    <string name="no_device_lock_title" msgid="1078223464721029954">"Setha ukukhiya isikrini"</string>
+    <string name="no_device_lock_summary" msgid="7436025227616244687">"Ukuze usebenzise isikhala esigodliwe, setha ukukhiya kwesikrini kule divayisi."</string>
+    <string name="no_device_lock_action_label" msgid="2640487005629001288">"Setha ukukhiya isikrini"</string>
+    <string name="no_device_lock_cancel" msgid="4412602160321228863">"Khansela"</string>
+    <string name="private_space_cancel_label" msgid="379259667396956886">"Khansela"</string>
+    <string name="private_space_setup_button_label" msgid="2094882154623560585">"Setha"</string>
+    <string name="private_space_setup_title" msgid="7091257695872833671">"Setha isikala esigodliwe"</string>
+    <string name="private_space_hide_apps_summary" msgid="6272406822568588610">"Gcina ama-app agodliwe endaweni ehlukile ongayifihla noma uyikhiye"</string>
+    <string name="private_space_how_title" msgid="6878224242661347658">"Indlela esisebenza ngayo"</string>
+    <string name="private_space_access_bottom_text" msgid="8931773427017046981">"Ungafinyelela esikhaleni esigodliwe ekugcineni kohlu lwama-app akho"</string>
+    <string name="private_space_protected_lock_text" msgid="3926344387256377994">"Ama-app asesikhaleni esigodliwe avikelwe ngokhiye"</string>
+    <string name="private_space_hidden_notifications_text" msgid="1487992156742340621">"Izaziso ezisuka kuma-app asesikhaleni esigodliwe ziyafihlwa uma sikhiyiwe"</string>
+    <string name="private_space_apps_permission_text" msgid="7030946025253366172">"Ama-app asesikhaleni sakho esigodliwe ngeke avele kumphathi wemvume, kudeshibhodi yobumfihlo, namanye amasethingi uma isikhala sakho esiyimfihlo sikhiyiwe.\n\nIsikhala sakho esigodliwe asikwazi ukuhanjiswa siye kudivayisi entsha. Uzodinga ukumisa esinye isikhala esigodliwe uma ufuna ukusisebenzisa kwenye idivayisi.\n\nNoma ngubani oxhuma idivayisi yakho kukhompyutha noma ofaka ama-appa ayingozi kudivayisi yakho angakwazi ukufinyelela esikhaleni sakho esigodliwe."</string>
+    <string name="private_space_setting_up_text" msgid="8458035555212009528">"Isetha isikhala esigodliwe…"</string>
+    <string name="private_space_notifications_hidden_title" msgid="2009112565217540581">"Izaziso ezivela kuma-app wendawo engasese ziyafihlwa uma ikhiyiwe"</string>
+    <string name="private_space_share_photos_title" msgid="5176346349303364657">"Vula indawo engasese ukuze wabelane ngezithombe noma amafayela"</string>
+    <string name="private_space_apps_installed_title" msgid="2428207301009983268">"Amanye ama-app avele afakiwe endaweni yakho eyimfihlo"</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_lockscreen_title" msgid="6034864097861137509">"Sebenzisa ukukhiya isikrini ukuvula isikhala esigodliwe?"</string>
+    <string name="private_space_lockscreen_summary" msgid="430569465080645805">"Ungakwazi ukuvula isikhala esigodliwe ngendlela efanayo ovula ngayo idivayisi yakho, noma ukhethe ukhiye ohlukile"</string>
+    <string name="private_space_use_screenlock_label" msgid="9182153443192032782">"Sebenzisa ukukhiya isikrini"</string>
+    <string name="private_space_set_lock_label" msgid="1790408277477408475">"Khetha ukhiya omusha"</string>
+    <string name="private_space_success_title" msgid="4351904015352046118">"Usulungile!"</string>
+    <string name="private_space_access_text" msgid="4433988836344567888">"Ukuze uthole isikhala sakho esiyimfihlo, iya ohlwini lwama-app akho bese uskrolela phansi"</string>
+    <string name="private_space_done_label" msgid="1020482651595246071">"Kwenziwe"</string>
+    <string name="private_space_scrolldown_to_access" msgid="4820954877349434545">"Skrolela phansi ukuze uthole indawo eyimfihlo"</string>
+    <string name="private_space_retry_signin_title" msgid="8090276618867918844">"Ngena ngemvume"</string>
+    <string name="private_space_retry_summary" msgid="1920444015972648774">"Ngena ngemvume ku-akhawunti ukuze usebenzise indawo engasese yakho"</string>
+    <string name="private_space_skip_login_label" msgid="7078019409056628192">"Hhayi manje"</string>
+    <string name="private_space_continue_login_label" msgid="7779965766333065391">"Qhubeka"</string>
+    <string name="private_space_lock_setup_title" msgid="6541564212199510787">"Khetha ukhiye wesikhala sakho esigodliwe"</string>
+    <string name="private_space_lock_setup_description" msgid="423405593476300918">"Ungakwazi ukuvula isikhala sakho esigodliwe usebenzisa isigxivizo somunwe sakho. Mayelana nokuvikeleka, lokhu okukhethwa kukho kudinga ukukhiya okuyisipele."</string>
+    <string name="private_space_choose_your_pin_header" msgid="4560802934975898265">"Setha i-PIN yakho yendawo yangasese"</string>
+    <string name="private_space_choose_your_password_header" msgid="7660259341095044434">"Setha iphasiwedi yendawo yangasese"</string>
+    <string name="private_space_choose_your_pattern_header" msgid="2165607102459936724">"Setha iphethini yendawo yangasese"</string>
     <string name="fingerprint_add_max" msgid="8639321019299347447">"Ungangeza izigxivizo zeminwe ezingafika kwezingu-<xliff:g id="COUNT">%d</xliff:g>"</string>
     <string name="fingerprint_intro_error_max" msgid="4431784409732135610">"Ungeze inombolo ephezulu yezigxivizo zeminwe"</string>
     <string name="fingerprint_intro_error_unknown" msgid="877005321503793963">"Ayikwazi ukwengeza izingxovizo zeminwe eziningi"</string>
@@ -548,7 +677,7 @@
     <string name="unlock_set_unlock_mode_pattern" msgid="1926480143883094896">"Iphathini"</string>
     <string name="unlock_set_unlock_mode_pin" msgid="9028659554829888373">"PIN"</string>
     <string name="unlock_set_unlock_mode_password" msgid="8810609692771987513">"Iphasiwedi"</string>
-    <string name="unlock_disable_frp_warning_title" msgid="3606280046362811229">"Sula ukukhiya isikrini?"</string>
+    <string name="unlock_disable_frp_warning_title" msgid="2545569051372893686">"Susa zonke izinhlobo zokuvula idivayisi?"</string>
     <string name="unlock_disable_frp_warning_title_profile" msgid="1005284289723910461">"Susa ukuvikelwa kwedatha yephrofayela?"</string>
     <string name="unlock_disable_frp_warning_content_pattern" msgid="6246242612158828147">"Iphethini ivikela ifoni yakho uma ilahlekile noma intshontshiwe"</string>
     <string name="unlock_disable_frp_warning_content_pattern_fingerprint" msgid="2259825377085781801">"Iphethini ivikela ifoni yakho uma ilahlekile noma intshontshiwe.<xliff:g id="EMPTY_LINE">
@@ -561,15 +690,35 @@
 
 </xliff:g>Lokhu kusula imodeli yesigxivizo somunwe egcinwe kudivayisi yakho. Imodeli yakho yobuso nayo izosulwa ingunaphakade futhi ngokuphephile. Ngeke uze ukwazi ukusebenzisa ubuso bakho noma izigxivizo zeminwe ukufakazela ubuqiniso kuma-app."</string>
     <string name="unlock_disable_frp_warning_content_pin" msgid="122154942944422284">"Iphinikhodi ivikela ifoni yakho uma ilahlekile noma intshontshiwe"</string>
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys" msgid="6497861740382402784">"Uzolahlekelwa yidatha elondoloziwe Njengephinikhodi yakho.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Amakhadi asethelwe ukukhokha ngaphandle kokuthinta azosuswa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ama-wallet namanye ama-app adinga ukuvulwa kwedivayisi angase angasebenzi kahle."</string>
     <string name="unlock_disable_frp_warning_content_pin_fingerprint" msgid="983373874470746066">"Iphinikhodi ivikela ifoni yakho uma ilahlekile noma intshontshiwe.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Lokhu kusula nemodeli yezigxivizo zeminwe ezigcinwe kudivayisi yakho. Ngeke ukwazi ukusebenzisa izigxivizo zakho zeminwe ekufakazeleni ubuqiniso kuma-app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys" msgid="8930057076658360799">"Uzolahlekelwa yidatha elondoloziwe Njengephinikhodi yakho nesigxivizo somunwe.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Amakhadi asethelwe ukukhokha ngaphandle kokuthinta azosuswa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ama-wallet namanye ama-app adinga ukuvulwa kwedivayisi angase angasebenzi kahle."</string>
     <string name="unlock_disable_frp_warning_content_pin_face" msgid="5607150515413131761">"Iphinikhodi ivikela ifoni yakho uma ilahlekile noma intshontshiwe.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Imodeli yakho yobuso nayo izosuswa unomphela futhi ngokuphephile. Ngeke ukwazi ukusebenzisa ubuso bakho ukufakazela ubuqinisio kuma-app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys" msgid="979399855891561038">"Uzolahlekelwa idatha elondoloziwe Njengephinikhodi yakho nemodeli yobuso.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Amakhadi asethelwe ukukhokha ngaphandle kokuthinta azosuswa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ama-wallet namanye ama-app adinga ukuvulwa kwedivayisi angase angasebenzi kahle."</string>
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint" msgid="1821792325159866312">"Iphinikhodi ivikela ifoni yakho uma ilahlekile noma intshontshiwe.<xliff:g id="EMPTY_LINE">
 
 </xliff:g>Lokhu kusula imodeli yezigxivizo zeminwe ezigcinwe kudivayisi yakho. Imodeli yakho yobuso nayo izosulwa ingunaphakade futhi ngokuphephile. Ngeke uze ukwazi ukusebenzisa ubuso bakho noma izigxivizo zeminwe ukufakazela ubuqiniso kuma-app."</string>
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys" msgid="7019955731206729909">"Uzolahlekelwa yidatha elondoloziwe Njengephinikhodi yakho, ubuso nesigxivizo somunwe.<xliff:g id="EMPTY_LINE_0">
+
+</xliff:g>Amakhadi asethelwe ukukhokha ngaphandle kokuthinta azosuswa.<xliff:g id="EMPTY_LINE_1">
+
+</xliff:g>Ama-wallet namanye ama-app adinga ukuvulwa kwedivayisi angase angasebenzi kahle."</string>
     <string name="unlock_disable_frp_warning_content_password" msgid="6422723907917376210">"Iphasiwedi ivikela ifoni yakho uma ilahlekile noma intshontshiwe"</string>
     <string name="unlock_disable_frp_warning_content_password_fingerprint" msgid="8899452884016354856">"Iphasiwedi ivikela ifoni yakho uma ilahlekile noma intshontshiwe.<xliff:g id="EMPTY_LINE">
 
@@ -638,7 +787,7 @@
     <string name="bluetooth_settings" msgid="2967239493428695171">"Bluetooth"</string>
     <string name="bluetooth_settings_title" msgid="2642029095769509647">"Bluetooth"</string>
     <string name="bluetooth_pairing_request" msgid="7762990650683525640">"Bhangqa ne-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>?"</string>
-    <string name="bluetooth_pairing_group_late_bonding" msgid="5310869364570266209">"Engeza ilungu elisha kusethi ehlanganisiwe ekhona"</string>
+    <string name="bluetooth_pairing_group_late_bonding" msgid="3047893658902159692">"Qinisekisa ukuthi wengeza ingxenye yesibili yedivayisi yakho yokulalelwayo"</string>
     <string name="bluetooth_pairing_key_msg" msgid="1329835708475701761">"Ikhodi yokumatanisa ye-Bluetooth"</string>
     <string name="bluetooth_enter_passkey_msg" msgid="5806420933599368592">"Thayipha ikhodi yokumatanisa bese ucindezela ku-Buyela noma ku-Enter"</string>
     <string name="bluetooth_enable_alphanumeric_pin" msgid="7256286571636950635">"Iphinikhodi iqukethe amaletha namasimbui"</string>
@@ -646,15 +795,17 @@
     <string name="bluetooth_pin_values_hint_16_digits" msgid="5603928271430883558">"Kumele ibe ngamadijithi angu-16"</string>
     <string name="bluetooth_enter_pin_other_device" msgid="6737778699899780717">"Kungenzeka futhi udinge ukufaka le-PIN kwenye idivaysi."</string>
     <string name="bluetooth_enter_passkey_other_device" msgid="8270426446247344709">"Kungadingeka ufake lokhiye wokudlula kwenye idivayisi."</string>
-    <string name="bluetooth_paring_group_msg" msgid="4609515924670823316">"Qinisekisa ukuze ubhangqe nesethi ehlanganisiwe"</string>
+    <string name="bluetooth_paring_group_msg" msgid="2455293929036668131">"Qiniseka ukuthi ubhangqa nedivayisi yokulalelwayo"</string>
     <string name="bluetooth_pairing_shares_phonebook" msgid="4329325125260724843">"Vumela ukufinyelela koxhumana nabo nomlando wekholi"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_text" msgid="2474015367387690034">"Phinda futhi uvumele ukufinyelela koxhumana nabo nomlando wekholi"</string>
+    <string name="bluetooth_pairing_phonebook_toggle_details" msgid="1367197978487212581">"Ulwazi luzosetshenziselwa izimemezelo zekholi nokunye okwengeziwe"</string>
     <string name="bluetooth_error_title" msgid="2284738188253690278"></string>
     <string name="bluetooth_connecting_error_message" msgid="3941893154784152112">"Ayikwazanga ukuxhuma ku-<xliff:g id="DEVICE_NAME">%1$s</xliff:g>."</string>
     <string name="bluetooth_preference_found_media_devices" msgid="830061195998352840">"Amadivayisi atholakalayo"</string>
     <string name="bluetooth_device_context_connect" msgid="4913860372216815855">"Xhuma kwi-inthanethi"</string>
     <string name="bluetooth_device_context_disconnect" msgid="4464167389972513232">"Nqamula"</string>
     <string name="bluetooth_device_context_pair_connect" msgid="2406032703622371826">"Bhangqa; uxhume"</string>
-    <string name="bluetooth_empty_list_bluetooth_off" msgid="316627049372961941">"Uma i-Bluetooth ivuliwe, idivayisi yakho ingakwazi ukuxhumana namanye amadivayisi aseduze we-Bluetooth."</string>
+    <string name="bluetooth_empty_list_bluetooth_off" msgid="7326727272747345476">"Uma i-Bluetooth ivuliwe, idivayisi yakho ingakwazi ukuxhumana namanye amadivayisi aseduze we-Bluetooth"</string>
     <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_scan_change" msgid="1744636222637390367">"Shintsha"</string>
     <string name="device_details_title" msgid="1155622417516195481">"Imininingwane yedivayisi"</string>
@@ -707,6 +858,8 @@
     <string name="art_verifier_for_debuggable_summary" msgid="4802875841862652879">"Vumela i-ART ukuze iqinisekise i-bytecode yezinhlelo zokusebenza ezingasusa iphutha"</string>
     <string name="show_refresh_rate" msgid="5742688821872354973">"Bonisa isilinganiso sokuvuselela"</string>
     <string name="show_refresh_rate_summary" msgid="3558118122374609663">"Bonisa isilinganisi sokuvuselela sesibonisi samanje"</string>
+    <string name="show_hdr_sdr_ratio" msgid="4188007289024955585">"Bonisa isilinganiso se-HDR/SDR"</string>
+    <string name="show_hdr_sdr_ratio_summary" msgid="986292785096013733">"Bonisa isilinganiso samanje se-HDR/SDR"</string>
     <string name="nfc_quick_toggle_title" msgid="3607620705230351666">"i-NFC"</string>
     <string name="nfc_secure_settings_title" msgid="4906958426927741485">"Idinga ukuvula idivayisi ye-NFC"</string>
     <string name="android_beam_settings_title" msgid="2797963824490671295">"i-Android Beam"</string>
@@ -725,6 +878,9 @@
     <string name="wifi_in_airplane_mode" msgid="1235412508135267981">"Kwimodi yendiza"</string>
     <string name="wifi_notify_open_networks" msgid="2610323626246818961">"Yazisa ngamanethiwekhi asesidlangalaleni"</string>
     <string name="wifi_notify_open_networks_summary" msgid="191058832201741013">"Yazisa uma inethiwekhi yompahakthi enekhwalithi ephezulu itholakala"</string>
+    <string name="wifi_allow_wep_networks" msgid="8772342993235292010">"Vumela amanethiwekhi e-WEP"</string>
+    <string name="wifi_allow_wep_networks_summary" msgid="3033397893296724615">"I-WEP iyiphrothokholi yokuvikela endala engavikelekile"</string>
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow" msgid="6298103289728210026">"Inkampani yakho yenethiwekhi ayiwavumeli amanethiwekhi e-WEP ngoba avikeleke kancane"</string>
     <string name="wifi_wakeup" msgid="3834327315861781611">"Vula i-Wi‑Fi ngokuzenzakalelayo"</string>
     <string name="wifi_wakeup_summary" msgid="5778059083790221465">"I-Wi‑Fi izovuleka eceleni kwamanethiwekhi alondolozwe ngekhwalithi ephezulu, njengenethiwekhi yakho yasekhaya"</string>
     <string name="wifi_wakeup_summary_no_location" msgid="681323616606485096">"Akutholakali ngoba indawo ivaliwe. Vula "<annotation id="link">"indawo"</annotation>"."</string>
@@ -746,6 +902,12 @@
     <string name="wifi_settings_scanning_required_info" msgid="1473411566072565789">"Ukuskena kwe-Wi-Fi kuvumela izinhlelo zokusebenza namasevisi ukuthi askenele amanethiwekhi e-Wi-Fi noma kunini, nanoma i-Wi-Fi ivaliwe. Lokhu kungasetshenziswa, njengesibonelo, ukuze kuthuthukiswe izici ezisuselwa endaweni namasevisi."</string>
     <string name="wifi_settings_scanning_required_turn_on" msgid="1112223196123955447">"Vula"</string>
     <string name="wifi_settings_scanning_required_enabled" msgid="4721729158927146365">"Ukuskena kwe-Wi-Fi kuvuliwe"</string>
+    <string name="wifi_settings_warning_wep_network" msgid="2655077013800385646">"Le nethiwekhi isebenzisa iphrothokholi yokuvikela endala engavikeleke kancane"</string>
+    <string name="wifi_settings_wep_networks_blocked_title" msgid="8337700496544833669">"I-<xliff:g id="NAME">%1$s</xliff:g> ivinjiwe"</string>
+    <string name="wifi_settings_wep_networks_summary_toggle_off" msgid="1113138364046142949">"Le nethiwekhi isebenzisa iphrothokholi yokuvikela endala ebizwa nge-WEP, engavikelekile. Ukuze uxhume noma kunjalo, ungavumela amanethiwekhi e-WEP."</string>
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier" msgid="6085673947156094523">"Inkampani yakho yenethiwekhi ayikuvumeli ukuthi uxhume kule nethiwekhi ngoba isebenzisa iphrothokholi yokuvikela endala engavikelekile"</string>
+    <string name="wifi_settings_wep_networks_button_allow" msgid="2807926329019873706">"Vumela i-WEP"</string>
+    <string name="wifi_settings_ssid_block_button_close" msgid="3013886895576949908">"Vala"</string>
     <string name="wifi_show_advanced" msgid="2969378109942071741">"Izinketho ezithuthukile"</string>
     <string name="wifi_advanced_toggle_description" msgid="7299179796727934885">"Izinketho ezithuthukisiwe zohlu olushona ezansi"</string>
     <string name="wifi_advanced_toggle_description_collapsed" msgid="3615140699129928913">"nweba"</string>
@@ -841,15 +1003,12 @@
     <string name="lost_internet_access_cancel" msgid="1981171269794585284">"Hlala ku-Wi-Fi"</string>
     <string name="lost_internet_access_persist" msgid="6813604557672782197">"Ungaphinde uveze"</string>
     <string name="wifi_connect" msgid="2481467560349907397">"Xhuma kwi-inthanethi"</string>
-    <string name="wifi_turned_on_message" msgid="8069855406962662881">"I-Wi-Fi ivuliwe"</string>
     <string name="wifi_connected_to_message" msgid="8976048616505112896">"Ixhumeke ku-<xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
-    <string name="wifi_connecting_to_message" msgid="3153205024060064551">"Ixhuma ku-<xliff:g id="NETWORK_NAME">%1$s</xliff:g>"</string>
     <string name="wifi_connecting" msgid="7450277833386859724">"Iyaxhuma…"</string>
     <string name="wifi_failed_connect_message" msgid="8538000546604347894">"Yehlulekile ukuxhuma kunethiwekhi"</string>
     <string name="wifi_not_in_range_message" msgid="3885327464037574739">"Inethiwekhi ayikho kubanga"</string>
     <string name="wifi_forget" msgid="3485573280364015620">"Khohlwa"</string>
     <string name="wifi_modify" msgid="5127926476383659412">"Lungisa"</string>
-    <string name="wifi_failed_forget_message" msgid="8272732599235525880">"Yehlulekile ukukhohlwa inethiwekhi"</string>
     <string name="wifi_save" msgid="2312643132472226807">"Londoloza"</string>
     <string name="wifi_failed_save_message" msgid="1830279872341387120">"Yehlulekile ukulondoloza inethiwekhi"</string>
     <string name="wifi_cancel" msgid="6698897376888935410">"Khansela"</string>
@@ -871,7 +1030,7 @@
     <string name="internet_source_wifi" msgid="6952593095166435179">"I-Wi-Fi"</string>
     <string name="internet_source_mobile_data" msgid="877403889449201789">"Idatha yeselula"</string>
     <string name="internet_source_ethernet" msgid="8338472576454100966">"I-Ethernet"</string>
-    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"Iku-<xliff:g id="BATTERY_PERCENTAGE">%s</xliff:g> ‑ Iyashaja"</string>
+    <string name="hotspot_battery_charging_summary" msgid="6690892148553288457">"Iku-<xliff:g id="BATTERY_PERCENTAGE">%1$s</xliff:g> ‑ Iyashaja"</string>
     <string name="hotspot_connection_category" msgid="4320380513982923556">"Ukuxhuma ku-Hotspot"</string>
     <string name="hotspot_connection_strength" msgid="87359986943768421">"Amandla okuxhuma"</string>
     <string name="wifi_saved_access_points_label" msgid="5691340724310548151">"Amanethiwekhi alondoloziwe"</string>
@@ -904,7 +1063,6 @@
     <string name="wifi_hotspot_no_password_subtext" msgid="3685689196772398783">"Ayikho iphasiwedi esethiwe"</string>
     <string name="wifi_hotspot_name_title" msgid="6633480190014369846">"Igama le-Hotspot"</string>
     <string name="wifi_hotspot_password_title" msgid="9096340919454296786">"Iphasiwedi ye-Hotspot"</string>
-    <string name="wifi_hotspot_ap_band_title" msgid="560262446129195042">"I-AP Band"</string>
     <string name="wifi_hotspot_auto_off_title" msgid="8855711787485504882">"Vala ama-hotspot ngokuzenzakalela"</string>
     <string name="wifi_hotspot_auto_off_summary" msgid="8283656069997871354">"Lapho engekho amadivayisi axhunyiwe"</string>
     <string name="wifi_hotspot_maximize_compatibility" msgid="6494125684420024058">"Nweba ukuhambelana"</string>
@@ -1008,8 +1166,10 @@
     <string name="display_white_balance_title" msgid="2624544323029364713">"Bonisa ibhalansi emhlophe"</string>
     <string name="display_white_balance_summary" msgid="7625456704950209050"></string>
     <string name="fold_lock_behavior_title" msgid="786228803694268449">"Qhubeka usebenzisa kuma-app agoqiwe"</string>
-    <string name="peak_refresh_rate_title" msgid="1878771412897140903">"Isibonisi esibushelelezi"</string>
-    <string name="peak_refresh_rate_summary" msgid="3627278682437562787">"Iphakamisa ngokuzenzakalela isilinganiso sokuvuselela kusukela kokungu-60 ukuya kokungu-<xliff:g id="ID_1">%1$s</xliff:g> Hz kokunye okuqukethwe. Ikhuphula ukusetshenziswa kwebhethri."</string>
+    <string name="disable_game_default_frame_rate_title" msgid="3712908601744143753">"Khubaza izinga lozimele elizenzakalelayo lamageyimu"</string>
+    <string name="disable_game_default_frame_rate_summary" msgid="4436762704707434225">"Khubaza ukukhawulela izinga eliphezulu lozimele lamageyimu ku-<xliff:g id="FRAME_RATE">%1$d</xliff:g> Hz."</string>
+    <string name="peak_refresh_rate_title" msgid="2056355754210341011">"I-Smooth display"</string>
+    <string name="peak_refresh_rate_summary" msgid="3212309985294885790">"Ikhuphula ngokuzenzakalelayo izinga lokuvuselela lifike ku-<xliff:g id="ID_1">%1$d</xliff:g> Hz kokunye okuqukethwe. Ikhuphula ukusetshenziswa kwebhethri."</string>
     <string name="force_high_refresh_rate_toggle" msgid="3325789621928312050">"Phoqelela isilinganiso sokuvuselela esiphakeme"</string>
     <string name="force_high_refresh_rate_desc" msgid="7794566420873814875">"Inani lokuvuselela eliphezulu kakhulu lokuphendula kokuthinta okuthuthukisiwe nekhwalithi yokugqwayiza. Ikhuphula ukusetshenziswa kwebhethri."</string>
     <string name="adaptive_sleep_title" msgid="2987961991423539233">"Ukunaka isikrini"</string>
@@ -1020,6 +1180,7 @@
     <string name="adaptive_sleep_privacy" msgid="7664570136417980556">"Ukunaka isikrini kusebenzisa ikhamera engaphambili ukuze kwazi uma umuntu othile abheka isikrini. Kusebenza kudivayisi, futhi izithombe azilokothi zilondolozwe noma zithunyelwe ku-Google."</string>
     <string name="adaptive_sleep_contextual_slice_title" msgid="7467588613212629758">"Vula ukunaka isikrini"</string>
     <string name="adaptive_sleep_contextual_slice_summary" msgid="2993867044745446094">"Gcina isikrini sivuliwe lapho usibhekile"</string>
+    <string name="power_consumption_footer_summary" msgid="4901490700555257237">"Ukuzicisha kwesikrini okuthatha isikhathi eside kuzosebenzisa ibhethri eningi."</string>
     <string name="auto_rotate_camera_lock_title" msgid="5369003176695105872">"Ikhamera ivaliwe"</string>
     <string name="auto_rotate_camera_lock_summary" msgid="5699491516271544672">"Ikhamera kumele ivulelwe Ukutholwa Kobuso"</string>
     <string name="adaptive_sleep_camera_lock_summary" msgid="8417541183603618098">"Ikhamera kufanele ivulelwe Ukunaka Kwesikrini"</string>
@@ -1150,6 +1311,8 @@
     <string name="imei_multi_sim" msgid="9001570420423929507">"I-IMEI (imbobo ye-sim <xliff:g id="IMEI_SLOT_ID">%1$d</xliff:g>)"</string>
     <string name="imei_multi_sim_primary" msgid="7914653040843734282">"I-IMEI (imbobo ye-sim <xliff:g id="IMEI_SLOT_ID_PRIMARY">%1$d</xliff:g>) (eyinhloko)"</string>
     <string name="view_saved_network" msgid="1232387673095080910">"Ukuze ubuke, khetha inethiwekhi elondoloziwe"</string>
+    <string name="status_imei" msgid="5719752369250485007">"I-IMEI"</string>
+    <string name="status_imei_sv" msgid="6908985558726440951">"I-IMEI SV"</string>
     <string name="status_min_number" msgid="4492899165438225714">"Okuncane"</string>
     <string name="status_msid_number" msgid="3871958248824595774">"MSID"</string>
     <string name="status_prl_version" msgid="9002131357502714281">"Inguqulo ye-PRL"</string>
@@ -1243,8 +1406,10 @@
     <string name="battery_level_title" msgid="1371765298786083448">"Izinga lebhethri"</string>
     <string name="communal_settings_title" msgid="2845678473945902115">"Okomphakathi"</string>
     <string name="communal_settings_summary" msgid="4923914136953940317">"Amasethingi omphakathi"</string>
+    <string name="satellite_setting" msgid="706846910912477125">"Ukuyaleza Kwesethelayithi"</string>
     <string name="apn_settings" msgid="4295467389400441299">"APNs"</string>
     <string name="apn_edit" msgid="2003683641840248741">"Hlela indawo yokungena"</string>
+    <string name="apn_add" msgid="9069613192201630934">"Faka iphoyinti lokufinyelela"</string>
     <!-- unknown quoting pattern: original -1, translation 1 -->
     <string name="apn_not_set" msgid="8246646433109750293">"&amp;lt;Ayisethiwe&amp;gt;"</string>
     <string name="apn_not_set_for_mvno" msgid="1141490067313964640">"Ayisethiwe"</string>
@@ -1268,6 +1433,8 @@
     <string name="carrier_enabled_summaryOn" msgid="5212067975273903381">"I-APN ivunyeliwe"</string>
     <string name="carrier_enabled_summaryOff" msgid="8541959867953738521">"I-APN ayisebenzi"</string>
     <string name="bearer" msgid="3231443241639159358">"Umthwali"</string>
+    <string name="network_type" msgid="748590707422733595">"Uhlobo lwenethiwekhi"</string>
+    <string name="network_type_unspecified" msgid="7756349656194518725">"Okungacacisiwe"</string>
     <string name="mvno_type" msgid="4734654257494971247">"Uhlobo lwe-MVNO"</string>
     <string name="mvno_match_data" msgid="5213193073684321156">"Inani le-MVNO"</string>
     <string name="menu_delete" msgid="9199740901584348273">"Susa i-APN"</string>
@@ -1275,11 +1442,13 @@
     <string name="menu_save" msgid="6611465355127483100">"Londoloza"</string>
     <string name="menu_cancel" msgid="1197826697950745335">"Khansela"</string>
     <string name="error_title" msgid="7158648377702417716"></string>
+    <string name="error_duplicate_apn_entry" msgid="7792928408935276618">"Phindaphinda ukufakwa kwe-apn."</string>
     <string name="error_name_empty" msgid="1258275899283079142">"Igama lenkundla akumelwe lingabi nalutho."</string>
     <string name="error_apn_empty" msgid="7657491065443746915">"I-APN akumelwe ingabi nalutho."</string>
     <string name="error_mcc_not3" msgid="883659545640179094">"Inkundla ye-MCC kumele ibe namadijithi angu-3."</string>
     <string name="error_mnc_not23" msgid="7642478711158474918">"Inkundla ye-MNC kumelwe ibe amadijithi angu-2 noma angu--3"</string>
     <string name="error_adding_apn_type" msgid="1324263534991467943">"Inkampani yenethiwekhi ayivumeli ukungezwa kwama-APN ohlobo lwe-%s."</string>
+    <string name="error_mmsc_valid" msgid="8380951905485647380">"Inkambu ye-MMSC kufanele ibe evumelekile."</string>
     <string name="restore_default_apn" msgid="6596048535642130689">"Ibuyisela izilungiselelo ezizenzakalelayo ku-APN"</string>
     <string name="menu_restore" msgid="4310539620115151551">"Setha kabusha kube okumisiwe"</string>
     <string name="restore_default_apn_completed" msgid="5167505087078340256">"Ukuhlela okumisiwe izilungiselelo ze-APN kuqedile."</string>
@@ -1292,7 +1461,7 @@
     <string name="reset_bluetooth_wifi_button_text" msgid="3974098137045963639">"Setha kabusha"</string>
     <string name="reset_bluetooth_wifi_complete_toast" msgid="5893439291030574365">"I-Bluetooth ne-Wi-Fi zisethwe kabusha"</string>
     <string name="reset_esim_title" msgid="4194570573425902754">"Sula ama-eSIMs"</string>
-    <string name="reset_esim_desc" msgid="3662444090563399131">"Lokhu ngeke kukhansele noma yiziphi izinhlelo zesevisi yeselula. Ukuze ulande okokumisela ama-SIM, xhumana nenkampani yakho yenethiwekhi."</string>
+    <string name="reset_esim_desc" msgid="6125192435907740751">"Lokhu angeke kukhansele uhlelo lwesevisi yeselula yakho. Ukuze uthole ukuphindiselwa kwe-SIM, xhumana nenkampani yenethiwekhi yakho."</string>
     <string name="reset_network_button_text" msgid="2281476496459610071">"Setha kabusha izilungiselelo"</string>
     <string name="reset_network_final_desc" msgid="5304365082065278425">"Setha kabusha wonek amasethingi enethiwekhi? Awukwazi ukuhlehlisa lesi senzo."</string>
     <string name="reset_network_final_desc_esim" msgid="1129251284212847939">"Setha kabusha amasethingi wenethiwekhi bese usula ama-eSIM? Awukwazi ukuhlehlisa lesi senzo."</string>
@@ -1300,15 +1469,15 @@
     <string name="reset_network_confirm_title" msgid="913014422184481270">"Setha kabusha?"</string>
     <string name="network_reset_not_available" msgid="1966334631394607829">"Ukusetha kabusha inethiwekhi akutholakali kulo msebenzisi"</string>
     <string name="reset_network_complete_toast" msgid="1367872474130621115">"Izilungiselelo zenethiwekhi zisethwe kabusha"</string>
-    <string name="reset_esim_error_title" msgid="4670073610967959597">"Ayikwazi ukusula ama-SIM"</string>
-    <string name="reset_esim_error_msg" msgid="7279607120606365250">"Ama-eSIM awakwazi ukusulwa ngenxa yephutha.\n\nQala kabusha idivayisi yakho bese uzama futhi."</string>
+    <string name="reset_esim_error_title" msgid="6516110227665862295">"Ayikwazi ukusula ama-eSIM"</string>
+    <string name="reset_esim_error_msg" msgid="8459527827897797168">"Kukhona okungahambanga kahle futhi ama-eSIM awasulwanga.\n\nQala kabusha idivayisi yakho bese uphinde uyazama futhi."</string>
     <string name="main_clear_title" msgid="277664302144837723">"Sula yonke idatha (ukusethwa kabusha njengasekuqaleni)"</string>
     <string name="main_clear_short_title" msgid="4752094765533020696">"Sula yonke idatha (ukusethwa kabusha njengasekuqaleni)"</string>
     <string name="main_clear_desc_also_erases_external" msgid="3687911419628956693"><li>"Umculo"</li>\n<li>"Izithombe"</li>\n<li>"Idatha yomunye umsebenzisi"</li></string>
     <string name="main_clear_desc_also_erases_esim" msgid="4553469876411831729">"Ama-"<li>"eSIM"</li></string>
     <string name="main_clear_desc_no_cancel_mobile_plan" msgid="369883568059127035">\n\n"Lokhu ngeke kukhansele uhlelo lwakho lwesevisi yefoni."</string>
     <string name="main_clear_final_desc" msgid="5800877928569039580">"Lonke ulwazi lwakho lomuntu siqu nezinhlelo zokusebenza ezilandiwe zizosuswa. Awukwazi ukuhlehlisa lesi senzo."</string>
-    <string name="main_clear_final_desc_esim" msgid="440406836793824969">"Lonke ulwazi lwakho lomuntu siqu, kuhlanganise nezinhlelo zokusebenza ezilandiwe nama-SIM, kuzosuswa. Awukwazi ukuhlehlisa lesi senzo."</string>
+    <string name="main_clear_final_desc_esim" msgid="6592404057237813989">"Lonke ulwazi lwakho lomuntu siqu, kuhlanganise nezinhlelo zokusebenza ezilandiwe nama-eSIM, kuzosuswa. Awukwazi ukuhlehlisa lesi senzo."</string>
     <string name="main_clear_confirm_title" msgid="6577071819657853713">"Sula yonke idatha?"</string>
     <string name="main_clear_not_available" msgid="3433795327146684827">"Ukusetha kabusha kwasekuqaleni akutholakaleli lo msebenzisi"</string>
     <string name="main_clear_progress_title" msgid="7239741132015617719">"Iyasula"</string>
@@ -1341,16 +1510,6 @@
     <string name="tether_settings_summary_all" msgid="7565193614882005775">"I-Hotspot, i-USB, i-Bluetooth, i-Ethernet"</string>
     <string name="tether_settings_summary_off" msgid="2526164899130351968">"Ayabelani nge-inthanethi namanye amadivayisi"</string>
     <string name="tether_preference_summary_off" msgid="6266799346319794630">"Valiwe"</string>
-    <string name="tethering_interface_options" msgid="7575535888135143650">"Ukusebenzisa ifoni njengemodemu"</string>
-    <string name="disable_wifi_hotspot_title" msgid="2167985468585290478">"Ungasebenzisi i-Wi‑Fi hotspot"</string>
-    <string name="disable_wifi_hotspot_when_usb_on" msgid="220439059794714583">"Yabelana i-inthanethi nge-USB"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_on" msgid="4711723299880116345">"Yabelana i-inthanethi nge-Bluetooth kuphela"</string>
-    <string name="disable_wifi_hotspot_when_ethernet_on" msgid="4123242400542103599">"Yabelana i-inthanethi nge-Ethernet kuphela"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on" msgid="5258774769658150180">"Yabelana i-inthanethi nge-USB nange-Bluetooth"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on" msgid="7126313562907225612">"Yabelana i-inthanethi nge-USB nange-Ethernet kuphela"</string>
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on" msgid="2943464651349235967">"Yabelana i-inthanethi nge-Bluetooth nange-Ethernet kuphela"</string>
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on" msgid="3934609816834760008">"Yabelana i-inthanethi nge-USB, nge-Bluetooth nange-Ethernet kuphela"</string>
-    <string name="usb_title" msgid="1157283449840612901">"I-USB"</string>
     <string name="usb_tethering_button_text" msgid="7364633823180913777">"Imodemu nge-USB"</string>
     <string name="bluetooth_tether_checkbox_text" msgid="6108398414967813545">"Imodemu nge-Bluetooth"</string>
     <string name="ethernet_tether_checkbox_text" msgid="959743110824197356">"Ukusebenzisa ifoni njengemodemu kwe-ethernet"</string>
@@ -1358,7 +1517,6 @@
     <string name="tethering_footer_info_sta_ap_concurrency" msgid="2079039077487477676">"Sebenzisa i-hotspot nokusebenzisa ifoni njengemodemu ukuze unikeze i-inthanethi kumanye amadivayisi nge-Wi-Fi yakho noma ukuxhumeka kwedatha kweselula. Izinhlelo zokusebenza zingaphinda zidale i-hotspot ukuze zabelane ngokuqukethwe namadivayisi aseduze."</string>
     <string name="tethering_help_button_text" msgid="2823655011510912001">"Usizo"</string>
     <string name="network_settings_title" msgid="4663717899931613176">"Inethiwekhi yeselula"</string>
-    <string name="manage_mobile_plan_title" msgid="5616930513733409064">"Uhlelo lweselula"</string>
     <string name="sms_application_title" msgid="4791107002724108809">"Uhlelo lokusebenza lwe-SMS"</string>
     <string name="sms_change_default_dialog_title" msgid="2343439998715457307">"Shintsha uhlelo lokusebenza le-SMS?"</string>
     <string name="sms_change_default_dialog_text" msgid="8777606240342982531">"Sebenzisa i-<xliff:g id="NEW_APP">%1$s</xliff:g> kunokusebenzisa i-<xliff:g id="CURRENT_APP">%2$s</xliff:g> njengohlelo lwakho lokusebenza le-SMS?"</string>
@@ -1366,10 +1524,6 @@
     <string name="network_scorer_change_active_dialog_title" msgid="7005220310238618141">"Shintsha umsizi we-Wi‑Fi?"</string>
     <string name="network_scorer_change_active_dialog_text" msgid="7006057749370850706">"Sebenzisa i-<xliff:g id="NEW_APP">%1$s</xliff:g> esikhundleni se-<xliff:g id="CURRENT_APP">%2$s</xliff:g> ukuze uphathe uxhumo lakho lenethiwekhi?"</string>
     <string name="network_scorer_change_active_no_previous_dialog_text" msgid="680685773455072321">"Sebenzisa i-<xliff:g id="NEW_APP">%s</xliff:g> ukuze uphathe uxhumo lwakho lenethiwekhi?"</string>
-    <string name="mobile_unknown_sim_operator" msgid="6650422533065760963">"I-opharetha ye-SIM engaziwa"</string>
-    <string name="mobile_no_provisioning_url" msgid="609462719893503773">"I-<xliff:g id="OPERATOR">%1$s</xliff:g> ayinayo iwebhusayithi eyaziwayo enikezayo"</string>
-    <string name="mobile_insert_sim_card" msgid="3639245241283948038">"Sicela ufake ikhadi le-SIM bese uqala kabusha"</string>
-    <string name="mobile_connect_to_internet" msgid="8162654404357069060">"Sicela uxhume ku-inthanethi"</string>
     <string name="location_category_recent_location_requests" msgid="2205900488782832082">"Izicelo zendawo zakamuva"</string>
     <string name="managed_profile_location_switch_title" msgid="1265007506385460066">"Indawo yephrofayela yokusebenza"</string>
     <string name="location_app_level_permissions" msgid="907206607664629759">"Izimvume zendawo ye-app"</string>
@@ -1552,6 +1706,12 @@
     <string name="clear_uri_btn_text" msgid="4828117421162495134">"Sula ukufinyelela"</string>
     <string name="controls_label" msgid="8671492254263626383">"Izilawuli"</string>
     <string name="force_stop" msgid="2681771622136916280">"Phoqelela ukuma"</string>
+    <string name="archive" msgid="9074663845068632127">"Ingobo yomlando"</string>
+    <string name="restore" msgid="7622486640713967157">"Buyisela"</string>
+    <string name="restoring_step_one" msgid="3465050101254272874">"Iyabuyisela"</string>
+    <string name="restoring_step_two" msgid="140484846432595108">"Iyabuyisela."</string>
+    <string name="restoring_step_three" msgid="3712883580876329811">"Iyabuyisela.."</string>
+    <string name="restoring_step_four" msgid="8966846882470446209">"Iyabuyisela..."</string>
     <string name="total_size_label" msgid="2052185048749658866">"Konke"</string>
     <string name="application_size_label" msgid="6407051020651716729">"Usayizi wohlelo lokusebenza"</string>
     <string name="external_code_size_label" msgid="7375146402660973743">"Uhlelo lokusebenza lokugcina kwi-USB"</string>
@@ -1605,6 +1765,10 @@
     <string name="invalid_size_value" msgid="7017371543563259201">"Ayikwazanga ukubala usayizi wephakeji."</string>
     <string name="version_text" msgid="7628938665256107608">"Inguqulo <xliff:g id="VERSION_NUM">%1$s</xliff:g>"</string>
     <string name="move_app" msgid="5421158479447276791">"Hambisa"</string>
+    <string name="archiving_failed" msgid="2037798988961634978">"Ukufaka kungobo yomlando kwehlulekile"</string>
+    <string name="archiving_succeeded" msgid="7891249456483297845">"I-<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g> efakwe kungobo yomlando"</string>
+    <string name="restoring_failed" msgid="3390531747355943533">"Ukubuyisela akuphumelelanga"</string>
+    <string name="restoring_in_progress" msgid="7787443682651146115">"Kubuyiselwa i-<xliff:g id="PACKAGE_LABEL">%1$s</xliff:g>"</string>
     <string name="another_migration_already_in_progress" msgid="6550546307856052261">"Okunye ukuthutha sekuvele kuyaqhubeka."</string>
     <string name="insufficient_storage" msgid="8115088042669030558">"Ayikho indawo eyanele yokulondoloza."</string>
     <string name="does_not_exist" msgid="6499163879348776120">"Ifayela ayikho"</string>
@@ -1690,9 +1854,16 @@
     <string name="available_virtual_keyboard_category" msgid="6930012948152749337">"Ikhibhodi ekusikrini etholakalayo"</string>
     <string name="add_virtual_keyboard" msgid="2515850206289352606">"Phatha amakhibhodi akuskrini"</string>
     <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="6922850403920596246">"Nika amandla okhiye Bokubuyisela Emuva ukuze ikhibhodi ephathekayo ikwazi ukufinyelela"</string>
+    <string name="slow_keys" msgid="2891452895499690837">"Okhiye abahamba kancane"</string>
+    <string name="slow_keys_summary" msgid="6147992959180167575">"Vula okhiye Abahamba Kancane ukuze ikhibhodi ephathekayo ikwazi ukufinyelela"</string>
+    <string name="sticky_keys" msgid="7317317044898161747">"Okhiye abanamathelayo"</string>
+    <string name="sticky_keys_summary" msgid="8520909829540989765">"Nika amandla okhiye Abanamathelayo ukuze ikhibhodi ephathekayo ikwazi ukufinyelela"</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>
@@ -1710,6 +1881,10 @@
     <string name="trackpad_bottom_right_tap_summary" msgid="8734094086900680674">"Thepha ekhoneni elingezansi kwesokudla lephedi yokuthinta ukuze uthole okungakhethwa kukho okwengeziwe"</string>
     <string name="trackpad_pointer_speed" msgid="7786579408631352625">"Ijubane lesikhombi"</string>
     <string name="trackpad_touch_gesture" msgid="8641725062131922497">"Funda ukunyakaza kwephedi lokuthinta"</string>
+    <!-- no translation found for keywords_touchpad (8159846254066666032) -->
+    <skip />
+    <!-- no translation found for keywords_trackpad_bottom_right_tap (1285062446073929305) -->
+    <skip />
     <string name="gesture_title_go_home" msgid="3682238648647225933">"Iya ekhasini lokuqala"</string>
     <string name="gesture_summary_go_home" msgid="6409031586904205741">"Swayiphela phezulu ngeminwe emithathu noma kuphi kuphedi yakho yokuthinta"</string>
     <string name="gesture_title_go_back" msgid="6619462058488419802">"Iya emuva"</string>
@@ -1790,7 +1965,8 @@
     <string name="usage_stats_sort_by_usage_time" msgid="2927310334119998301">"Hlunga ngesikhathi sokusebenzisa"</string>
     <string name="usage_stats_sort_by_last_time_used" msgid="7039213339779884017">"Hlunga ngesikhathi sokugcina esetshenziswe ngaso"</string>
     <string name="usage_stats_sort_by_app_name" msgid="4463833145514850478">"Hlunga ngegama le-app"</string>
-    <string name="last_time_used_label" msgid="2639712813493534074">"Isikhathi sokugcina ukusetshenziswa"</string>
+    <string name="last_time_used_label" msgid="7589377271406011659">"Igcinwe ukusetshenziswa"</string>
+    <string name="last_time_used_never" msgid="2936073559267990034">"ngeke"</string>
     <string name="usage_time_label" msgid="9105343335151559883">"Isikhathi sokusetshenziswa"</string>
     <string name="accessibility_settings" msgid="4713215774904704682">"Ukufinyeleleka"</string>
     <string name="accessibility_settings_title" msgid="6739115703615065716">"Izilungiselelo zokufinyelela"</string>
@@ -1853,7 +2029,6 @@
     <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_screen_magnification_gestures_title" msgid="3121714118381882167">"Shintsha ngokuthepha kathathu"</string>
     <string name="accessibility_screen_magnification_navbar_title" msgid="480853328665484528">"Khulisa ngesinqamuleli"</string>
     <string name="accessibility_screen_magnification_state_navbar_gesture" msgid="8067042663897802231">"Khulisa ngenkinobho futhi uthephe kathathu"</string>
     <string name="accessibility_introduction_title" msgid="8834950581512452348">"Mayelana ne-<xliff:g id="SERVICE">%1$s</xliff:g>"</string>
@@ -1879,18 +2054,20 @@
     <string name="accessibility_tutorial_dialog_title_button" msgid="4681164949716215131">"Sebenzisa inkinobho yokufinyelela ukuze uvule"</string>
     <string name="accessibility_tutorial_dialog_title_volume" msgid="494810949830845234">"Bamba okhiye bevolumu ukuze uvule"</string>
     <string name="accessibility_tutorial_dialog_title_triple" msgid="7089562919284464400">"Thepha kathathu isikrini ukuvula"</string>
+    <string name="accessibility_tutorial_dialog_title_two_finger_double" msgid="3912970760484557646">"Thepha kabili isikrini ngeminwe emibili ukuze uvule"</string>
     <string name="accessibility_tutorial_dialog_title_gesture" msgid="4965810097646659332">"Sebenzisa ukuthinta ukuze uvule"</string>
     <string name="accessibility_tutorial_dialog_title_gesture_settings" msgid="6800684770875867559">"Sebenzisa ukufinyeleleka kokuthinta"</string>
     <string name="accessibility_tutorial_dialog_message_button" msgid="7002398857479782303">"Ukuze usebenzise lesi sici, thepha inkinobho yokufinyeleleka <xliff:g id="ACCESSIBILITY_ICON">%s</xliff:g> ngezansi kwesikrini.\n\nUkushintsha phakathi kwezici, thinta futhi ubambe inkinobho yokufinyeleleka."</string>
     <string name="accessibility_tutorial_dialog_message_floating_button" msgid="2551777208185138391">"Ukuze usebenzise lesi sici, thepha inkinobho yokufinyeleleka kusikrini sakho."</string>
     <string name="accessibility_tutorial_dialog_message_volume" msgid="5033080515460519183">"Ukuze usebenzise lesi sici, cindezela futhi ubambe bobabili okhiye bevolumu."</string>
     <string name="accessibility_tutorial_dialog_message_triple" msgid="5219991116201165146">"Ukuqala nokumisa ukukhuliswa, thepha kathathu noma kuphi kusikrini."</string>
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple" msgid="860548190334486449">"Ukuze uqale futhi umise ukukhuliswa, thepha kabili noma yikuphi esikrinini sakho ngeminwe emibili."</string>
     <string name="accessibility_tutorial_dialog_message_gesture" msgid="4148062210755434854">"Ukuze usebenzise lesi sici, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-2.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-2 bese ubambe."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_talkback" msgid="8142847782708562793">"Ukuze usebenzise lesi sici, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-3.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-3 bese ubambe."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings" msgid="40769674586981429">"Ukuze usebenzise isici sokufinyelela, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-2.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-2 bese ubambe."</string>
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback" msgid="7292969929578621958">"Ukuze usebenzise isici sokufinyelela, swayiphela phezulu kusuka ezansi esikrinini ngeminwe emi-3.\n\nUkuze ushintshe phakathi kwezici, swayiphela phezulu ngeminwe emi-3 bese ubambe."</string>
     <string name="accessibility_tutorial_dialog_button" msgid="2031773187678948436">"Ngiyezwa"</string>
-    <string name="accessibility_tutorial_dialog_link_button" msgid="1624189347106713695">"Amasethingi enkinobho yokufinyelela"</string>
+    <string name="accessibility_tutorial_dialog_link_button" msgid="6797349445794031781">"Amasethingi wenkinobho"</string>
     <string name="accessibility_shortcut_title" msgid="8125867833704517463">"<xliff:g id="SERVICE">%1$s</xliff:g> isinqamuleli"</string>
     <string name="accessibility_shortcut_edit_summary_software" msgid="6405629977940618205">"Inkinobho yokufinyeleleka"</string>
     <string name="accessibility_shortcut_edit_summary_software_gesture" msgid="5489284264414421286">"Ukutholakala kokuthinta"</string>
@@ -1906,6 +2083,9 @@
     <string name="accessibility_shortcut_edit_dialog_title_hardware" msgid="2356853121810443026">"Bamba okhiye bevolomu"</string>
     <string name="accessibility_shortcut_hardware_keyword" msgid="3921915304537166064">"bamba okhiye bevolomu"</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_two_finger_double_tap_keyword" msgid="2971265341474137433">"isikrini othepha kabili ngeminwe emibili kuso"</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="6863958573135995927">"isikrini sokuthepha 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>
@@ -1924,8 +2104,8 @@
     <string name="accessibility_button_gesture_footer_learn_more_content_description" msgid="4144803517680297869">"Funda kabanzi ngenkinobho yokufinyeleleka nokuthinta"</string>
     <string name="accessibility_button_intro" msgid="2601976470525277903">"Ukusebenzisa inkinobho yokufinyeleleka. Ukuthinta akutholakali ngokuzulazula kwezinkinobho ezi-3."</string>
     <string name="accessibility_button_summary" msgid="8510939012631455831">"Finyelela ngokushesha izakhi zokufinyelela"</string>
-    <string name="accessibility_button_gesture_description" msgid="7507097717493960397"><b>"Ukuze uqalise:"</b>\n"1. Iya kumasethingi okungena\n2. Khetha isakhi bese uthepha isinqamuleli\n3. Khetha ukuthi uyafuna yini ukusebenzisa inkinobho noma ukuthinta ukuze ufinyelele isakhi"</string>
-    <string name="accessibility_button_description" msgid="1261273371298608222"><b>"Ukuze uqalise"</b>\n"1. Iya kumasethingi okufinyelela\n2. Khetha isakhi bese uthepha isinqamuleli\n3. Khetha inkinobho ukuze ufinyelele isakhi"</string>
+    <string name="accessibility_button_gesture_description" msgid="1141723096904904336">"&lt;b&gt;Ukuze uqalise&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Iya kumasethingi okungena&lt;br/&gt; {1,number,integer}. Khetha isakhi bese uthepha isinqamuleli&lt;br/&gt; {2,number,integer}. Khetha ukuthi uyafuna yini ukusebenzisa inkinobho noma ukunyakazisa umzimba ukuze ufinyelele isakhi&lt;br/&gt;"</string>
+    <string name="accessibility_button_description" msgid="7669538706120092399">"&lt;b&gt;Ukuze uqalise&lt;/b&gt;&lt;br/&gt; {0,number,integer}. Iya kumasethingi okungena&lt;br/&gt; {1,number,integer}. Khetha isakhi bese uthepha isinqamuleli&lt;br/&gt; {2,number,integer}. Khetha inkinobho ukuze ufinyelele isakhi&lt;br/&gt;"</string>
     <string name="accessibility_button_or_gesture_title" msgid="3510075963401163529">"Sebenzisa inkinobho noma ukuthinta"</string>
     <string name="accessibility_button_location_title" msgid="7182107846092304942">"Indawo"</string>
     <string name="accessibility_button_size_title" msgid="5785110470538960881">"Usayizi"</string>
@@ -1941,6 +2121,8 @@
     <string name="accessibility_power_button_ends_call_prerefence_title" msgid="8187306131979612144">"Inkinobho yamandla ivala ikholi"</string>
     <string name="accessibility_toggle_large_pointer_icon_title" msgid="5508351959249876801">"Isikhombi esikhulu segundane"</string>
     <string name="accessibility_toggle_large_pointer_icon_summary" msgid="1480527946039237705">"Yenza isikhombi se-mouse sibonakale kakhudlwana"</string>
+    <string name="accessibility_force_invert_title" msgid="5015366813138748407">"Yenza onke ama-app abe mnyama"</string>
+    <string name="accessibility_force_invert_summary" msgid="1882329675950887268">"Isebenza kuma-app angenayo itimu yawo emnyama. Amanye ama-app angase abe nezinkinga zokubonisa, njengemibala engenisiwe."</string>
     <string name="accessibility_disable_animations" msgid="2993529829457179058">"Susa ukugqwayiza"</string>
     <string name="accessibility_disable_animations_summary" msgid="5828228669556554565">"Yehlisa ukunyakaza esikrinini"</string>
     <string name="accessibility_toggle_primary_mono_title" msgid="7587152099472946571">"Umsindo we-Mono"</string>
@@ -1993,6 +2175,7 @@
     <string name="accessibility_vibration_primary_switch_title" msgid="6162579254864450592">"Sebenzisa ukudlidliza nama-haptic"</string>
     <string name="accessibility_alarm_vibration_title" msgid="4661294337828522745">"Ukudlidliza kwe-alamu"</string>
     <string name="accessibility_media_vibration_title" msgid="1372073715403945428">"Ukudlidliza kwemidiya"</string>
+    <string name="accessibility_keyboard_vibration_title" msgid="7559967730626765441">"Ukudlidliza kwekhibhodi"</string>
     <string name="accessibility_ring_vibration_title" msgid="4689811297654320885">"Ukudlidliza kokukhala"</string>
     <string name="accessibility_notification_vibration_title" msgid="6205679908785776478">"Ukudlidliza kwesaziso"</string>
     <string name="accessibility_touch_vibration_title" msgid="533931451319110741">"Impendulo yokuthinta"</string>
@@ -2129,16 +2312,15 @@
     <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="7295448112784528196">"Misa"</string>
-    <string name="accessibility_dialog_button_cancel" msgid="4813234247237851121">"Khansela"</string>
-    <string name="disable_service_title" msgid="2909108731776956167">"Misa i-<xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
-    <string name="disable_service_message" msgid="4814173941688548016">"Ukuthepha u-<xliff:g id="STOP">%1$s</xliff:g> kuzomisa i-<xliff:g id="SERVICE">%2$s</xliff:g>."</string>
+    <string name="accessibility_dialog_button_stop" msgid="7584815613743292151">"Vala"</string>
+    <string name="accessibility_dialog_button_cancel" msgid="8625997437316659966">"Qhubeka"</string>
+    <string name="disable_service_title" msgid="8178020230162342801">"Vala i-<xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
     <string name="accessibility_no_services_installed" msgid="3725569493860028593">"Ayikho isevisi efakiwe"</string>
     <string name="accessibility_no_service_selected" msgid="1310596127128379897">"Ayikho isevisi ekhethiwe"</string>
     <string name="accessibility_service_default_description" msgid="7801435825448138526">"Akukho ncazelo enikeziwe."</string>
     <string name="settings_button" msgid="2195468788019730377">"Izilungiselelo"</string>
     <string name="keywords_reduce_bright_colors" msgid="1683190961013139183">"ukuzwela kokukhanya, ukwesaba izithombe, itimu emnyama, i-migraine, ikhanda elibuhlungu, imodi yokufunda, imodi yasebusuku, nciphisa ukukhanya, iphoyinti elimhlophe"</string>
-    <string name="keywords_accessibility" msgid="4263443239404659143">"Ukusetshenziswa kalula, ukutholakala kalula, Umsizo, usizo"</string>
+    <string name="keywords_accessibility" msgid="8593989878379366798">"ukubuka, ukuzwa, impumputhe, isithuli, imoto, i-dexterity, okusizayo, usizo, ukusebenziseka kalula, ukufinyelela kalula, isandla, usizo"</string>
     <string name="keywords_magnification" msgid="3908145308269840862">"Isikhulisi Sewindi, Sondeza, Ukukhuliswa, Amehlo aluvindi, Khulisa, yenza kube kukhulu"</string>
     <string name="keywords_talkback" msgid="2816435437095102527"></string>
     <string name="keywords_live_caption" msgid="1667203998080567556">"Amagama-ncazo, amazwibela avaliwe, i-CC, i-Live Transcribe, inkinga yokuzwa, ukulahleka kokuzwa, UBHASKIDI, inkulumo eya kumbhalo, umbhalo ongezansi"</string>
@@ -2153,10 +2335,13 @@
     <string name="keywords_contrast" msgid="4668393735398949873">"ukungafani kombala"</string>
     <string name="keywords_accessibility_menu" msgid="4300579436464706608"></string>
     <string name="keywords_switch_access" msgid="5813094504384313402"></string>
-    <string name="keywords_auto_click" msgid="7151756353013736931">"i-motor, igundwane"</string>
-    <string name="keywords_hearing_aids" msgid="4550504337687223314">"imishini yendlebe, onenkinga yokuzwa, ukulahlekelwa ukuzwa, izifakelo ze-cochlear, amadivaysi okukhulisa umsindo, izicubunguli zomsindo"</string>
+    <string name="keywords_auto_click" msgid="6811744211216280998">"imoto, i-mouse, i-mouse yangaphandle, i-mouse eyinhloko, i-mouse evumelana, isihlalo sabakhubazekile, i-joystick"</string>
+    <string name="keywords_hearing_aids" msgid="4657889873249157071">"imishini yendlebe, onenkinga yokuzwa, ukulahlekelwa ukuzwa, izifakelo ze-cochlear, amadivaysi okukhulisa umsindo, izicubunguli zomsindo, i-PSAP"</string>
     <string name="keywords_rtt" msgid="2429130928152514402">"onenkinga yokuzwa, ukulahlekelwa ukuzwa, amagama-ncazo, i-Teletype, i-tty"</string>
     <string name="keywords_voice_access" msgid="7807335263195876454"></string>
+    <string name="keywords_3_button_navigation" msgid="436361965016404218">"izinkinobho ezintathu"</string>
+    <string name="keywords_touch_and_hold_delay" msgid="7854640156419599912">"i-dexterity, imoto, umuntu omdala, isifo samathambo, i-rsi, ukufa kohlangothi, idumbe, i-multiple sclerosis, i-cerebral palsy, ukuqhaqhazela, ukulimala kokucindezeleka okuphindayo, isandla"</string>
+    <string name="keywords_accessibility_timeout" msgid="8903766864902000346">"ukubambezeleka, i-dexterity, abantu abadala"</string>
     <string name="print_settings" msgid="8519810615863882491">"Ukuphrinta"</string>
     <string name="print_settings_summary_no_service" msgid="6721731154917653862">"Kuvaliwe"</string>
     <string name="print_settings_summary" msgid="1458773840720811915">"{count,plural, =1{Isevisi e-1 yephrinta ivulekile}one{Amasevisi angu-# ephrinta avulekile}other{Amasevisi angu-# ephrinta avulekile}}"</string>
@@ -2191,11 +2376,16 @@
     <string name="power_usage_level_and_status" msgid="821521456989429593">"<xliff:g id="LEVEL">%1$s</xliff:g> - <xliff:g id="STATUS">%2$s</xliff:g>"</string>
     <string name="power_discharge_remaining" msgid="6997529817917076536">"<xliff:g id="REMAIN">%1$s</xliff:g> osele"</string>
     <string name="power_charge_remaining" msgid="7046064326172265116">"<xliff:g id="UNTIL_CHARGED">%1$s</xliff:g> ukuze lishajiwe"</string>
+    <string name="power_usage_detail_screen_time" msgid="6027274749498485283">"Isikhathi sesikrini"</string>
+    <string name="power_usage_detail_background_time" msgid="3661437083554322691">"Isikhathi sangemuva"</string>
     <string name="low_battery_summary" msgid="4458925347316501953">"Ibhethri liphansi"</string>
     <string name="background_activity_summary" msgid="3817376868497046016">"Vumela uhlelo lokusebenza ukuthi lusebenze ngemuva"</string>
     <string name="background_activity_warning_dialog_title" msgid="3449566823290744823">"Khawulela umsebenzi wasemuva?"</string>
     <string name="background_activity_warning_dialog_text" msgid="8202776985767701095">"Uma ukhawulela umsebenzi wangasemuva wohlelo lokusebenza, lungahle lungasebenzi kahle"</string>
     <string name="background_activity_disabled_dialog_text" msgid="4053170297325882494">"Njengoba lolu hlelo lokusebenza lungasethiwe ukuze kulungiselelwe ibhethri, awukwazi ukulikhawulela.\n\nUkuze ukhawulele uhlelo lokusebenza, qala uvule ukulungiselelwa kwebhethri."</string>
+    <string name="manager_battery_usage_category_title" msgid="1493303237531629961">"Phatha ukusetshenziswa kwebhethri"</string>
+    <string name="manager_battery_usage_allow_background_usage_title" msgid="6294649996820358852">"Vumela ukusetshenziswa kwengemuva"</string>
+    <string name="manager_battery_usage_allow_background_usage_summary" msgid="8021153755201340819">"Nika amandla ezibuyekezweni zesikhathi sangempela, khubaza ukuze wonge amandla"</string>
     <string name="manager_battery_usage_unrestricted_title" msgid="2426486290463258032">"Akunamkhawulo"</string>
     <string name="manager_battery_usage_optimized_title" msgid="8080765739761921817">"Kulungisiwe"</string>
     <string name="manager_battery_usage_restricted_title" msgid="7702863764130323118">"Kuvinjelwe"</string>
@@ -2231,12 +2421,6 @@
     <string name="battery_tip_high_usage_summary" msgid="3938999581403084551">"Bona ama-app asetshenziswa kakhulu"</string>
     <string name="battery_tip_limited_temporarily_title" msgid="6258554134146272311">"Ukushaja kuthuthukisiwe ukuvikela ibhethri lakho"</string>
     <string name="battery_tip_limited_temporarily_summary" msgid="5107379280241187562">"Ukusiza ukunweba impilo yebhethri yakho, ukushaja kuthuthukisiwe"</string>
-    <string name="battery_tip_dock_defender_future_bypass_title" msgid="4332616280495788195">"Ukushaja kuthuthukisiwe ukuvikela ibhethri lakho"</string>
-    <string name="battery_tip_dock_defender_future_bypass_summary" msgid="7870758621381307597">"Ukuze usize ukunweba impilo yebhethri lakho, ukushaja kuthuthukiswe ngenkathi kudokhwa"</string>
-    <string name="battery_tip_dock_defender_active_title" msgid="1414785238383255699">"Ukushaja kuthuthukisiwe ukuvikela ibhethri lakho"</string>
-    <string name="battery_tip_dock_defender_active_summary" msgid="3512082623718801459">"Ukuze usize ukunweba impilo yebhethri lakho, ukushaja kuthuthukiswe ngenkathi kudokhwa"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title" msgid="1679449361090557201">"Ishaja ize igcwale"</string>
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary" msgid="1099500476761333281">"Ukuze uvikele ibhethri lakho, ukushaja kuzothuthukiswa esikhathini esizayo lapho ithebulethi yakho idokhiwe"</string>
     <string name="battery_tip_limited_temporarily_sec_button_content_description" msgid="5648444926736883551">"Funda kabanzi mayelana nokuthi ukushaja kumisiwe"</string>
     <string name="battery_tip_limited_temporarily_dialog_resume_charge" msgid="2302295458913832342">"Qalisa kabusha ukukhokhisa"</string>
     <string name="battery_tip_dialog_message_footer" msgid="986542164372177504">"Ifaka umsebenzi ongemuva wamandla aphezulu"</string>
@@ -2253,8 +2437,9 @@
     <string name="battery_tip_unrestrict_app_dialog_message" msgid="215449637818582819">"Lolu hlelo lokusebenza luzokwazi ukusebenzisa ibhethri ngemuva. Ibhethri lakho lingaphela ngokushesha kunokulindelekile."</string>
     <string name="battery_tip_unrestrict_app_dialog_ok" msgid="7940183167721998470">"Susa"</string>
     <string name="battery_tip_unrestrict_app_dialog_cancel" msgid="4968135709160207507">"Khansela"</string>
-    <string name="battery_tip_charge_to_full_button" msgid="6701709034348116261">"Shaja ugcwalise"</string>
-    <string name="battery_tip_incompatible_charging_title" msgid="5120763575150751300">"Inkinga ngesesekeli sokushaja"</string>
+    <!-- no translation found for battery_tip_charge_to_full_button (9172893341338732733) -->
+    <skip />
+    <string name="battery_tip_incompatible_charging_title" msgid="1567827436103364999">"Hlola insiza yokushaja"</string>
     <string name="battery_tip_incompatible_charging_content_description" msgid="355668467640367701">"Funda kabanzi mayelana nokushaja okungahambelani"</string>
     <string name="smart_battery_manager_title" msgid="3677620516657920364">"Isiphathi sebhethri"</string>
     <string name="smart_battery_title" msgid="9095903608520254254">"Phatha izinhlelo zokusebenza ngokuzenzakalela"</string>
@@ -2294,6 +2479,7 @@
     <string name="battery_usage_without_time" msgid="1346894834339420538"></string>
     <string name="battery_usage_since_last_full_charge" msgid="3488425008925924769">"kusukela ekushajeni okugcwele kokugcina"</string>
     <string name="battery_usage_system_apps" msgid="8659537819731575299">"I-app yesistimu"</string>
+    <string name="battery_usage_uninstalled_apps" msgid="8170405012552803662">"Ama-app akhishiwe"</string>
     <string name="battery_usage_others" msgid="311793281613609986">"Abanye"</string>
     <string name="estimated_time_left" msgid="948717045180211777">"Isikhathi esilinganiselwe esisele"</string>
     <string name="estimated_charging_time_left" msgid="2287135413363961246">"Kuze kushaje ngokuphelele"</string>
@@ -2337,6 +2523,7 @@
     <string name="battery_usage_total_less_than_one_minute" msgid="1035425863251685509">"Ingqikithi: ngaphansi komzuzu"</string>
     <string name="battery_usage_background_less_than_one_minute" msgid="3957971442554437909">"Ingemuva: ngaphansi komzuzu"</string>
     <string name="battery_usage_screen_time_less_than_one_minute" msgid="2911989465891679033">"Isikhathi sesikrini: ngaphansi komzuzu"</string>
+    <string name="power_usage_time_less_than_one_minute" msgid="8407404329381010144">"Ngaphansi kweminithi"</string>
     <string name="battery_usage_for_total_time" msgid="8402254046930910905">"Inani: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_for_background_time" msgid="9109637210617095188">"Ingemuva: <xliff:g id="TIME">%s</xliff:g>"</string>
     <string name="battery_usage_screen_time" msgid="3973865893520804115">"Isikhathi sesikrini: <xliff:g id="TIME">%s</xliff:g>"</string>
@@ -2344,9 +2531,11 @@
     <string name="battery_usage_chart_label_now" msgid="4598282721949430165">"manje"</string>
     <string name="battery_usage_timestamps_hyphen" msgid="7401188432989043905">"<xliff:g id="FROM_TIMESTAMP">%1$s</xliff:g> - <xliff:g id="TO_TIMESTAMP">%2$s</xliff:g>"</string>
     <string name="battery_usage_day_and_hour" msgid="1417890420844950881">"<xliff:g id="DAY">%1$s</xliff:g> <xliff:g id="HOUR">%2$s</xliff:g>"</string>
+    <string name="battery_usage_time_info_and_battery_level" msgid="6732629268310936155">"<xliff:g id="TIME_INFO">%1$s</xliff:g> <xliff:g id="BATTERY_LEVEL">%2$s</xliff:g>"</string>
     <string name="battery_usage_chart" msgid="4114747521432440017">"Ishadi lokusetshenziswa kwebhethri"</string>
     <string name="daily_battery_usage_chart" msgid="4176059567682992686">"Ishadi lokusetshenziswa kwebhethri kwansuku zonke"</string>
     <string name="hourly_battery_usage_chart" msgid="3098314511076561272">"Ishadi lokusetshenziswa kwebhethri ngehora"</string>
+    <string name="battery_level_percentage" msgid="1433178290838842146">"Iphesenti leleveli yebhethri ukusuka ku-<xliff:g id="START_PERCENTAGE">%1$s</xliff:g> ukuya ku-<xliff:g id="END_PERCENTAGE">%2$s</xliff:g>"</string>
     <string name="battery_usage_breakdown_title_since_last_full_charge" msgid="435006273323199906">"Ukusetshenziswa kwebhethri kusukela ekushajweni okugcwele kokugcina"</string>
     <string name="battery_usage_breakdown_title_for_slot" msgid="4823179483667671406">"Ukusetshenziswa kwebhethri kwe-<xliff:g id="SLOT">%s</xliff:g>"</string>
     <string name="screen_time_category_last_full_charge" msgid="8856908320256057753">"Isikhathi sesikrini kusukela ekushajweni okugcwele kokugcina"</string>
@@ -2462,8 +2651,6 @@
     <string name="emergency_tone_title" msgid="6673118505206685168">"Isignali yokudayela isimo esiphuthumayo"</string>
     <string name="emergency_tone_summary" msgid="2519776254708767388">"Hlela ukuziphatha lapho ikholi oluphuthumayo lwenziwa"</string>
     <string name="privacy_settings_title" msgid="6437057228255974577">"Sekela ngokulondoloza"</string>
-    <string name="backup_summary_state_on" msgid="9018954639693085240">"Vuliwe"</string>
-    <string name="backup_summary_state_off" msgid="5341339397224835909">"Valiwe"</string>
     <string name="backup_section_title" msgid="6539706829848457794">"Isipele ukubuyiselwa"</string>
     <string name="personal_data_section_title" msgid="6368610168625722682">"Idatha yomuntu siqu"</string>
     <string name="backup_data_title" msgid="507663517227498525">"Sekela ngokulondoloza idatha yami"</string>
@@ -2552,6 +2739,7 @@
     <string name="data_usage_app_summary_title" msgid="4933742247928064178">"Idatha yeselula kanye ne-Wi‑Fi"</string>
     <string name="account_settings_menu_auto_sync_personal" msgid="2905595464540145671">"Vumelanisa ngokuzenzakalelayo idatha yakho"</string>
     <string name="account_settings_menu_auto_sync_work" msgid="8561102487795657789">"Vumelanisa ngokuzenzakalelayo idatha yomsebenzi"</string>
+    <string name="account_settings_menu_auto_sync_private" msgid="2315144351530596228">"Vumelanisa ngokuzenzakalelayo idatha eyimfihlo"</string>
     <string name="data_usage_change_cycle" msgid="4501026427365283899">"Shintsha umjikelezo"</string>
     <string name="data_usage_pick_cycle_day" msgid="3548922497494790123">"Usuku lwenyanga lokusetha kabusha ukusebenza kwedatha:"</string>
     <string name="data_usage_empty" msgid="5619908658853726866">"Azikho izinhlelo zokusebenza ezisebenzise idatha phakathi nalesi sikhathi."</string>
@@ -2601,27 +2789,18 @@
     <string name="vpn_name" msgid="3806456074909253262">"Igama"</string>
     <string name="vpn_type" msgid="5533202873260826663">"Uhlobo"</string>
     <string name="vpn_server" msgid="2908816134941973935">"Ikheli leseva"</string>
-    <string name="vpn_mppe" msgid="7366657055055114239">"PPP ukubethela (MPPE)"</string>
-    <string name="vpn_l2tp_secret" msgid="2356744369959140121">"Imfihlo ye-L2TP"</string>
     <string name="vpn_ipsec_identifier" msgid="8511842694369254801">"Isiqaphelisi se-IPSec"</string>
     <string name="vpn_ipsec_secret" msgid="532007567355505963">"Ukhiye owabelene ngaphambili we-IPSec"</string>
     <string name="vpn_ipsec_user_cert" msgid="2714372103705048405">"Isitifiketi somsebenzisi we-IPSec"</string>
     <string name="vpn_ipsec_ca_cert" msgid="5558498943577474987">"Izitifiketi ze-IPSec CA"</string>
     <string name="vpn_ipsec_server_cert" msgid="1411390470454731396">"IPSec izitifiketi se-server"</string>
     <string name="vpn_show_options" msgid="6105437733943318667">"Bonisa okukhethwa kukho okuseqophelweni"</string>
-    <string name="vpn_search_domains" msgid="1973799969613962440">"Izizinda zokusesha ze-DNS"</string>
-    <string name="vpn_dns_servers" msgid="6505263074417737107">"amaseva e-DNS (e.g. 8.8.8.8)"</string>
-    <string name="vpn_routes" msgid="1218707725375594862">"Ukudlulisa imizila (e.g. 10.0.0.0/8)"</string>
     <string name="vpn_username" msgid="8671768183475960068">"Igama lomsebenzisi"</string>
     <string name="vpn_password" msgid="1183746907642628127">"Iphasiwedi"</string>
     <string name="vpn_save_login" msgid="5986762519977472618">"Lolondoloza ulwazi lwe-akhawunti"</string>
     <string name="vpn_not_used" msgid="7229312881336083354">"(ayisetshenziswa)"</string>
     <string name="vpn_no_ca_cert" msgid="3687379414088677735">"(ungaqinisekisi iseva)"</string>
     <string name="vpn_no_server_cert" msgid="8106540968643125407">"(itholakale kwi-server)"</string>
-    <string name="vpn_always_on_invalid_reason_type" msgid="4699113710248872972">"Lolu hlobo lwe-VPN alikwazi ukuhlala lixhumekile ngazo zonke izikhathi"</string>
-    <string name="vpn_always_on_invalid_reason_server" msgid="2635347740046212693">"I-VPN ehlala ivuliwe isekela kuphela ikheli leseva yezinombolo"</string>
-    <string name="vpn_always_on_invalid_reason_no_dns" msgid="3980357762395272467">"Iseva ye-DNS kufanele icaciswe ku-VPN ehlala ivulekile"</string>
-    <string name="vpn_always_on_invalid_reason_dns" msgid="3934369594591801587">"Ikheli leseva le-DNS kufanele libe yizinombolo ze-VPN ehlala ivulekile"</string>
     <string name="vpn_always_on_invalid_reason_other" msgid="4571905303713233321">"Ulwazi olufakiwe alisekeli i-VPN ehlala ivulekile"</string>
     <string name="vpn_cancel" msgid="5929410618112404383">"Khansela"</string>
     <string name="vpn_done" msgid="5137858784289564985">"Cashisa"</string>
@@ -2657,6 +2836,7 @@
     <string name="vpn_require_connection" msgid="1027347404470060998">"Vimbela uxhumo ngaphandle kwe-VPN"</string>
     <string name="vpn_require_connection_title" msgid="4186758487822779039">"Kudingeka uxhumo lwe-VPN?"</string>
     <string name="vpn_insecure_dialog_subtitle" msgid="1857621742868835300">"Akuphephile. Buyekezela ku-IKEv2 VPN"</string>
+    <string name="vpn_start_unsupported" msgid="7139925503292269904">"Yehlulekile ukuqalisa i-VPN engasekelwa."</string>
     <string name="vpn_lockdown_summary" msgid="4700625960550559029">"Khetha iphrofayela ye-VPN ukuhlala uxhumekile. I-traffic yenethiwekhi izovunyelwa kuphela uma ixhunyiwe kule-VPN."</string>
     <string name="vpn_lockdown_none" msgid="455915403560910517">"Akunalutho"</string>
     <string name="vpn_lockdown_config_error" msgid="1992071316416371316">"I-VPN ehlala ikhanya idinga ikheli le-IP kwisiphakeli ne-DNS."</string>
@@ -2791,11 +2971,6 @@
     <string name="amber_alerts_title" msgid="5238275758191804575">"Izexwayiso ze-AMBER"</string>
     <string name="amber_alerts_summary" msgid="5755221775246075883">"Thola izihloko zezindaba mayelana nokulahleka kwezingane"</string>
     <string name="repeat_title" msgid="8676570486899483606">"Phinda"</string>
-    <string name="call_manager_enable_title" msgid="1214301265395158720">"Nika amandla isiphathi sekholi"</string>
-    <string name="call_manager_enable_summary" msgid="7362506369604163030">"Vumela le sevisi ukuphatha ukuthi amakholi wakho enziwa kanjani."</string>
-    <string name="call_manager_title" msgid="3397433159509629466">"Isiphathi sekholi"</string>
-    <!-- no translation found for call_manager_summary (2558839230880919191) -->
-    <skip />
     <string name="cell_broadcast_settings" msgid="2416980110093867199">"Izexwayiso zesimo esiphuthumayo"</string>
     <string name="network_operators_settings" msgid="5105453353329748954">"Imisebenzi yenethiwekhi"</string>
     <string name="access_point_names" msgid="5768430498022188057">"Amagama wephoyinti lokufinyelela"</string>
@@ -2857,7 +3032,7 @@
     <string name="sim_status_title" msgid="6188770698037109774">"Isimo se-SIM"</string>
     <string name="sim_status_title_sim_slot" msgid="4932996839194493313">"Isimo se-SIM (imbobo ye-sim %1$d)"</string>
     <string name="sim_signal_strength" msgid="6351052821700294501">"<xliff:g id="DBM">%1$d</xliff:g> dBm <xliff:g id="ASU">%2$d</xliff:g> asu"</string>
-    <string name="sim_notification_title" msgid="2819551384383504031">"Ama-SIM ashintshile."</string>
+    <string name="sim_notification_title" msgid="6839556577405929262">"Ama-SIM akho ashintshile"</string>
     <string name="sim_notification_summary" msgid="5593339846307029991">"Thepha ukuze usethe"</string>
     <string name="sim_calls_ask_first_prefs_title" msgid="3077694594349657933">"Buza njalo"</string>
     <string name="sim_selection_required_pref" msgid="231437651041498359">"Ukukhetha kuyadingeka"</string>
@@ -2881,7 +3056,7 @@
     <string name="app_and_notification_dashboard_summary" msgid="8047683010984186106">"Izinhlelo zokusebenza zakamuva, izinhlelo zokusebenza ezizenzakalelayo"</string>
     <string name="notification_settings_work_profile" msgid="6076211850526353975">"Ukufinyelela kwesaziso akutholakaleli izinhelo zokusebenza kuphrofayela yomsebenzi."</string>
     <string name="account_dashboard_title" msgid="8228773251948253914">"Amaphasiwedi nama-akhawunti"</string>
-    <string name="account_dashboard_default_summary" msgid="1730719656099599488">"Amaphasiwedi alondoloziwe, gcwalisa ngokuzenzakalelayo, ama-akhawunti avunyelanisiwe"</string>
+    <string name="account_dashboard_default_summary" msgid="7976899924144356939">"Iziphakamiso zokungena ngemvume amp;nokugcwalisa okuzenzakalelayo"</string>
     <string name="app_default_dashboard_title" msgid="4071015747629103216">"Ama-app azenzekelayo"</string>
     <string name="cloned_apps_dashboard_title" msgid="5542076801222950921">"Ama-App Ahlanganisiwe"</string>
     <string name="desc_cloned_apps_intro_text" msgid="1369621522882622476">"Sungula isenzakalo sesibili se-app ukuze ukwazi ukusebenzisa ama-akhawunti amabili ngesikhathi esisodwa."</string>
@@ -2949,7 +3124,6 @@
     <string name="keywords_wallet" msgid="3757421969956996972">"i-wallet"</string>
     <string name="keywords_payment_settings" msgid="6268791289277000043">"khokha, thepha, i-payments"</string>
     <string name="keywords_backup" msgid="707735920706667685">"isipele, yenza isipele"</string>
-    <string name="keywords_assist_gesture_launch" msgid="7710762655355161924">"uphawu lwezimpawu zomzimba"</string>
     <string name="keywords_face_unlock" msgid="545338452730885392">"ukuvula, ngobuso, gunyaza, ngena ngemvume"</string>
     <string name="keywords_biometric_unlock" msgid="8569545388717753692">"ukuvula, ngobuso, ukufakazela, ukungena ngemvume, isigxivizo somunwe, i-biometrics"</string>
     <string name="keywords_imei_info" msgid="8848791606402333514">"imei, meid, min, inguqulo ye-prl, imei sv"</string>
@@ -3000,6 +3174,7 @@
     <string name="keywords_font_size" msgid="1643198841815006447">"usayizi wombhalo, ukuphrinta okukhulu, ifonti enkulu, umbhalo omkhulu, umbono ophansi, yenza umbhalo ube mkhulu, ukukhulisa ifonti, ukukhulisa ifonti"</string>
     <string name="keywords_always_show_time_info" msgid="1066752498285497595">"isibonisi esihlala sikhanya se-ambient, i-AOD"</string>
     <string name="keywords_change_nfc_tag_apps_state" msgid="9032287964590554366">"i-nfc, umaka, isifundi"</string>
+    <string name="keywords_keyboard_vibration" msgid="6485149510591654697">"ikhibhodi, ama-haptic, Ukudlidliza,"</string>
     <string name="sound_dashboard_summary" msgid="6574444810552643312">"Ivolomu, ukudlidliza, ungaphazamisi"</string>
     <string name="media_volume_option_title" msgid="5966569685119475630">"Ivolumu yabezindaba"</string>
     <string name="remote_media_volume_option_title" msgid="8760846743943305764">"Ivolumu yokusakaza"</string>
@@ -3035,9 +3210,6 @@
     <string name="boot_sounds_title" msgid="5033062848948884111">"Amandla kumisindo"</string>
     <string name="live_caption_title" msgid="8617086825712756983">"Amagama-ncazo abukhoma"</string>
     <string name="live_caption_summary" msgid="2898451867595161809">"Yenza amagama-ngcazo ngokuzenzakalela emidiya"</string>
-    <string name="spatial_audio_speaker" product="default" msgid="3956755613908467186">"izipikha zefoni"</string>
-    <string name="spatial_audio_speaker" product="tablet" msgid="2261196916411018248">"Izipikha zethebhulethi"</string>
-    <string name="spatial_audio_speaker" product="device" msgid="3012868526054155189">"Izipikha zedivayisi"</string>
     <string name="spatial_audio_wired_headphones" msgid="2237355789145828648">"Ama-headphone entambo"</string>
     <string name="spatial_audio_text" msgid="8201387855375146000">"Umsindo ovela kumidiya ehambisanayo uba ogxile kakhulu"</string>
     <string name="spatial_summary_off" msgid="8272678804629774378">"Valiwe"</string>
@@ -3222,7 +3394,7 @@
     <string name="lock_screen_notifications_summary_show" msgid="6540443483088311328">"Bonisa konke okuqukethwe kwesaziso"</string>
     <string name="lock_screen_notifications_summary_hide" msgid="7837303171531166789">"Bonisa okuqukethwe okuzwelayo kuphela uma kuvuliwe"</string>
     <string name="lock_screen_notifications_summary_disable" msgid="3388290397947365744">"Ungabonisi izaziso nhlobo"</string>
-    <string name="lock_screen_notifications_interstitial_message" msgid="4688399629301178487">"Ufuna isikini sokukhiya sibonise kanjani?"</string>
+    <string name="lock_screen_notifications_interstitial_message" msgid="6326229471276829730">"Ufuna ukuthi isikrini sakho sokuvala siboniseni?"</string>
     <string name="lock_screen_notifications_interstitial_title" msgid="1360388192096354315">"Khiya isikrini"</string>
     <string name="lock_screen_notifications_summary_show_profile" msgid="8373401288962523946">"Bonisa konke okuqukethwe kwesaziso somsebenzi"</string>
     <string name="lock_screen_notifications_summary_hide_profile" msgid="2183455323048921579">"Fihla okuqukethwe komsebenzi okuzwelayo"</string>
@@ -3251,6 +3423,7 @@
     <string name="recent_convos_removed" msgid="2122932798895714203">"Izingxoxo zakamuva zisusiwe"</string>
     <string name="recent_convo_removed" msgid="8686414146325958281">"Ingxoxo isusiwe"</string>
     <string name="clear" msgid="5092178335409471100">"Sula"</string>
+    <string name="clear_conversation" msgid="5564321180363279096">"Sula i-<xliff:g id="CONVERSATION_NAME">%1$s</xliff:g>"</string>
     <string name="conversation_onboarding_title" msgid="5194559958353468484">"Izingxoxo ezibalulekile neziguquliwe zizovela lapha"</string>
     <string name="conversation_onboarding_summary" msgid="2484845363368486941">"Lapho usumaka ingxoxo njengebalulekile, noma wenza ezinye izinguquko ezingxoxweni, zizovela lapha. \n\nUkushintsha izilungiselelo zengxoxo: \nSwayipha ngezansi kusuka ngaphezulu kwesikrini ukuvula ukudonsela phansi umthunzi, bese uthinta futhi ubambe ingxoxo."</string>
     <string name="notification_importance_min_title" msgid="7676541266705442501">"Nciphisa"</string>
@@ -3309,6 +3482,17 @@
     <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="6121016426991791557">"Isikhathi sokuphola sezaziso"</string>
+    <string name="notification_polite_all_apps" msgid="1118651561594250059">"Faka isikhathi sokuphola kuzo zonke izaziso"</string>
+    <string name="notification_polite_all_apps_summary" msgid="540268373207498126">"Yehlisa kancane kancane ivolumu yezaziso uma uthola izaziso eziningi ezilandelanayo ku-app eyodwa"</string>
+    <string name="notification_polite_conversations" msgid="8197695136727245741">"Faka isikhathi sokuphola ezingxoxweni"</string>
+    <string name="notification_polite_conversations_summary" msgid="2677141765664359994">"Yehlisa kancane kancane ivolumu yezaziso uma uthola imilayezo eminingi elandelanayo engxoxweni eyodwa phakathi nesikhathi esifushane"</string>
+    <string name="notification_polite_disabled" msgid="1378078021594282842">"Ungasisebenzisi isikhathi sokuphola sezaziso"</string>
+    <string name="notification_polite_disabled_summary" msgid="1145341260283746936">"Ungalokothi wehlise ivolumu yezaziso, kungakhathaliseki ukuthi zingaki izaziso ezingena zilandelana zivela ku-app eyodwa"</string>
+    <string name="notification_polite_vibrate_unlocked" msgid="6142573851761357903">"Dlidliza uma ivulwa"</string>
+    <string name="notification_polite_vibrate_unlocked_summary" msgid="1678472892282874459">"Dlidliza kuphela uma isikrini sivulwa"</string>
+    <string name="notification_polite_work" msgid="8823596456640216391">"Sebenzisa kumaphrofayela omsebenzi"</string>
+    <string name="notification_polite_work_summary" msgid="8260947839104352075">"Sebenzisa amasethingi okuphola kwezaziso kuphrofayela yakho eqondene nawe nakuphrofayela yakho yomsebenzi"</string>
     <string name="vr_listeners_title" msgid="4960357292472540964">"Amasevisi omsizi we-VR"</string>
     <string name="no_vr_listeners" msgid="8442646085375949755">"Azikho izinhlelo zokusebenza ezifakiwe ezicele ukusetshenziswa njengamasevisi wesisizi se-VR."</string>
     <string name="vr_listener_security_warning_title" msgid="7026351795627615177">"Vumela isevisi ye-VR ukufinyelela i-<xliff:g id="SERVICE">%1$s</xliff:g>?"</string>
@@ -3503,14 +3687,14 @@
     <string name="screen_pinning_switch_off_text" msgid="5032105155623003875">"Valiwe"</string>
     <string name="screen_pinning_title" msgid="6927227272780208966">"Ukuphina i-app"</string>
     <string name="app_pinning_intro" msgid="6409063008733004245">"Ukuphina uhlelo lokusebenza kukuvumela ukuba ugcine uhlelo lokusebenza lwamanje lubhekiwe kuze kube yilapho ususa ukuphina kulo. Lesi sici singasetshenziswa, njengesibonelo, ukuvumela umngani othenjiwe ukuthi adlale igeyimu ethile."</string>
-    <string name="screen_pinning_description" msgid="4305370471370474846">"Uma i-app iphiniwe, i-app ephiniwe ingavula amanye ama-app futhi idatha yomuntu siqu ingase ifinyeleleke. \n\nUkuze usebenzise ukuphina i-app: 	\n1. Vula ukuphina i-app 	\n2. Vula Amazwibela 	\n3. Thepha isithonjana se-app phezulu esikrinini, bese uthepha okuthi Phina"</string>
-    <string name="screen_pinning_guest_user_description" msgid="2465729370037556955">"Uma i-app iphiniwe, i-app ephiniwe ingavula amanye ama-app futhi idatha yomuntu siqu ingase ifinyeleleke. \n\nUma ufuna ukwabelana nothile ngokuphephile ngedivayisi yakho, kunalokho zama ukusebenzisa umsebenzisi wesimenywa. \n\nUkuze usebenzise ukuphina i-app: 	\n1. Vula ukuphina i-app 	\n2. Vula Amazwibela 	\n3. Thepha isithonjana se-app phezulu esikrinini, bese uthepha okuthi Phina"</string>
+    <string name="screen_pinning_description" msgid="5822120806426139396">"Uma i-app iphiniwe, i-app ephiniwe ingavula amanye ama-app futhi idatha yomuntu siqu ingase ifinyeleleke. \n\nUkuze usebenzise ukuphina i-app: 	\n{0,number,integer}. Vula ukuphina i-app 	\n{1,number,integer}. Vula Isifinyezo 	\n{2,number,integer}. Thepha isithonjana se-app phezulu esikrinini, bese uthepha okuthi Phina"</string>
+    <string name="screen_pinning_guest_user_description" msgid="2307270321127139579">"Uma i-app iphiniwe, i-app ephiniwe ingavula amanye ama-app futhi idatha yomuntu siqu ingase ifinyeleleke. \n\nUma ufuna ukwabelana nothile ngokuphephile ngedivayisi yakho, kunalokho zama ukusebenzisa umsebenzisi wesimenywa. \n\nUkuze usebenzise ukuphina i-app: 	\n{0,number,integer}. Vula ukuphina i-app 	\n{1,number,integer}. Vula Isifinyezo 	\n{2,number,integer}. Thepha isithonjana se-app phezulu esikrinini, bese uthepha okuthi Phina"</string>
     <string name="screen_pinning_dialog_message" msgid="8144925258679476654">"Uma i-app iphiniwe: \n\n•		Idatha yomuntu siqu ingafinyeleleka \n		(njengoxhumana nabo kanye nokuqukethwe ku-imeyili) \n•		Uhlelo lokusebenza oluphiniwe lungavula amanye ama-app \n\nSebenzisa ukuphina ama-app nabantu obathembayo kuphela."</string>
     <string name="screen_pinning_unlock_pattern" msgid="1345877794180829153">"Cela iphethini yokuvula ngaphambi kokususa ukuphina"</string>
     <string name="screen_pinning_unlock_pin" msgid="8716638956097417023">"Cela iphinikhodi ngaphambi kokuphina"</string>
     <string name="screen_pinning_unlock_password" msgid="4957969621904790573">"Cela iphasiwedi ngaphambi kokususa ukuphina"</string>
     <string name="screen_pinning_unlock_none" msgid="2474959642431856316">"Khiya idivayisi uma ususa ukuphina"</string>
-    <string name="confirm_sim_deletion_title" msgid="9199369003530237871">"Qinisekisa ukutholwa kwe-SIM"</string>
+    <string name="confirm_sim_deletion_title" msgid="7262127071183428893">"Qinisekisa ukuthi ufuna ukusula i-eSIM yakho"</string>
     <string name="confirm_sim_deletion_description" msgid="4439657901673639063">"Qinisekisa ukuthi nguwe ngaphambi kokusula i-eSIM"</string>
     <string name="memtag_title" msgid="5096176296797727201">"I-beta yokuvikela inkumbulo ethuthukisiwe"</string>
     <string name="memtag_toggle" msgid="8695028758462939212">"Ukuvikelwa kwenkumbulo okuthuthukisiwe"</string>
@@ -3570,6 +3754,8 @@
     <string name="unused_apps_category" msgid="8954930958175500851">"Amasethingi we-app engasetshenziswanga"</string>
     <string name="unused_apps_switch" msgid="7595419855882245772">"Misa okwesikhashana umsebenzi we-app uma ingasetshenziswa"</string>
     <string name="unused_apps_switch_summary" msgid="2171098908014596802">"Susa izimvume, sula amafayela wesikhashana, futhi umise izaziso"</string>
+    <string name="unused_apps_switch_v2" msgid="7464060328451454469">"Lawula i-app uma ingasetsheziswa"</string>
+    <string name="unused_apps_switch_summary_v2" msgid="3182898279622036805">"Susa izimvume, sula amafayela esikhashana, futhi ufake i-app kungobo yomlando"</string>
     <string name="filter_all_apps" msgid="6645539744080251371">"Zonke izinhlelo zokusebenza"</string>
     <string name="filter_enabled_apps" msgid="8868356616126759124">"Izinhlelo zokusebenza ezifakiwe"</string>
     <string name="filter_instant_apps" msgid="2292108467020380068">"Izinhlelo zokusebenza ezisheshayo"</string>
@@ -3678,6 +3864,9 @@
     <string name="free_memory" msgid="439783742246854785">"Khululekile"</string>
     <string name="memory_usage_apps" msgid="5776108502569850579">"Imemori esetshenziswe yizinhlelo zokusebenza"</string>
     <string name="memory_usage_apps_summary" msgid="7168292864155527974">"{count,plural, =1{1 i-app esebenzise inkumbulo ekugcineni {time}}one{Ama-app angu-# asebenzise inkumbulo ekugcineni {time}}other{Ama-app angu-# asebenzise inkumbulo ekugcineni {time}}}"</string>
+    <string name="force_enable_pss_profiling_title" msgid="2253816522775341523">"Nika ukwenza iphrofayela yokusetshenziswa kwenkumbulo amandla"</string>
+    <string name="force_enable_pss_profiling_summary" msgid="7714294324548399136">"Ukusebenzisa iphrofayela yokusetshenziswa kwenkumbulo kudinga izinsiza zesistimu ezengeziwe."</string>
+    <string name="pss_profiling_disabled" msgid="1967278421143514850">"Ukwenza iphrofayela yenkumbulo kukhutshaziwe"</string>
     <string name="running_frequency" msgid="7260225121706316639">"Imvamisa"</string>
     <string name="memory_maximum_usage" msgid="2047013391595835607">"Ukusetshenziswa okukhulu"</string>
     <string name="no_data_usage" msgid="4665617440434654132">"Ayikho idatha esetshenzisiwe"</string>
@@ -3696,10 +3885,16 @@
     <string name="system_alert_window_settings" msgid="6458633954424862521">"Bonisa phezu kwamanye ama-app"</string>
     <string name="permit_draw_overlay" msgid="4468994037192804075">"Vumela ukubonisa phezu kwamanye ama-app"</string>
     <string name="allow_overlay_description" msgid="1607235723669496298">"Vumela lolu hlelo lokusebenza ukuthi luboniswe ngaphezulu kwezinye izinhlelo zokusebenza ozisebenzisayo. Lolu hlelo lokusebenza luzokwazi ukubona uma uthepha noma ushintsha okuboniswa kusikrini."</string>
+    <string name="media_routing_control_title" msgid="6402800638960066807">"Shintsha umphumela wemidiya"</string>
+    <string name="allow_media_routing_control" msgid="4907036637509360616">"Vumela i-app ukushintsha okukhipha imidiya"</string>
+    <string name="allow_media_routing_description" msgid="8343709701298051207">"Vumela le-app ukuthi ikhethe ukuthi iyiphi idivayisi exhunyiwe edlala umsindo noma ividiyo kwamanye ama-app. Uma kuvunyelwe, le-app ingafinyelela uhlu lwamadivayisi atholakalayo njengama-headphone nezipikha futhi lukhethe ukuthi iyiphi idivayisi yokukhishwayo esetshenziselwa ukusakaza noma ukusakaza umsindo noma ividiyo."</string>
     <string name="manage_external_storage_title" msgid="8024521099838816100">"Ukufinyelela kuwo wonke amafayela"</string>
     <string name="permit_manage_external_storage" msgid="6928847280689401761">"Vumela ukufinyelela ukuze kuphathwe wonke amafayela"</string>
     <string name="allow_manage_external_storage_description" msgid="5707948153603253225">"Vumela lolu hlelo lokusebenza ukuthi lufunde, lulungise luphinde lususe wonke amafayela kule divayisi noma kwamanye amavolumu axhunyiwe esitoreji. Uma linikeziwe, uhlelo lokusebenza lungafinyelela kumafayela ngaphandle kokwazi kwakho okusobala."</string>
     <string name="filter_manage_external_storage" msgid="6751640571715343804">"Ingafinyelela kuwo wonke amafayela"</string>
+    <string name="voice_activation_apps_title" msgid="7130045161611529825">"Ama-app okuvula i-Voice"</string>
+    <string name="permit_voice_activation_apps" msgid="9152780172988949319">"Vumela ukwenza i-voice isebenze"</string>
+    <string name="allow_voice_activation_apps_description" msgid="6369745626995060656">"Ukwenza kusebenze izwi kuvula ama-app agunyaziwe, i-hands-free, kusetshenziswa umyalo wezwi. Izinzwa eziguquguqukayo ezakhelwe ngaphakathi ziqinisekisa ukuthi idatha ihlala iyimfihlo kuwe kuphela.\n\n"<a href="">"Okwengeziwe mayelana nomuzwa oguqukayo ovikelekile"</a></string>
     <string name="full_screen_intent_title" msgid="747270185715224130">"Izaziso zesikrini esigcwele"</string>
     <string name="permit_full_screen_intent" msgid="9035367640019960861">"Vumela izaziso zesikrini esigcwele ukusuka kule app"</string>
     <string name="footer_description_full_screen_intent" msgid="7716518411349225528">"Vumela i-app ukuthi ibonise izaziso ezithatha isikrini esigcwele lapho idivayisi ikhiyiwe. Ama-app angasebenzisa lokhu ukuze agqamise ama-alamu, amakholi angenayo, noma ezinye izaziso eziphuthumayo."</string>
@@ -3808,7 +4003,6 @@
     <string name="cell_data_warning" msgid="5664921950473359634">"<xliff:g id="ID_1">^1</xliff:g> isexwayiso sedatha"</string>
     <string name="cell_data_limit" msgid="256855024790622112">"<xliff:g id="ID_1">^1</xliff:g> umkhawulo wedatha"</string>
     <string name="cell_data_warning_and_limit" msgid="8393200831986035724">"<xliff:g id="ID_1">^1</xliff:g> isexwayiso sedatha / <xliff:g id="ID_2">^2</xliff:g> umkhawulo wedatha"</string>
-    <string name="operator_warning" msgid="5672761970087591211">"Ukubalwa kwedatha yenkampani yenethiwekhi kungahluka kusuka ekubaleni kwedivayisi"</string>
     <string name="non_carrier_data_usage_warning" msgid="4707184871368847697">"Ayifaki phakathi idatha esetshenziswe izinkampani zenethiwekhi"</string>
     <string name="data_used_template" msgid="8229342096562327646">"<xliff:g id="ID_1">%1$s</xliff:g> okusetshenzisiwe"</string>
     <string name="set_data_warning" msgid="1685771882794205462">"Setha isexwayiso sedatha"</string>
@@ -3834,7 +4028,6 @@
     <string name="no_carrier_update_text" msgid="5432798085593055966">"Kubuyekezwe nge-<xliff:g id="ID_1">^2</xliff:g> edlule"</string>
     <string name="carrier_and_update_now_text" msgid="5075861262344398849">"Kubuyekezwe i-<xliff:g id="ID_1">^1</xliff:g> khona manje"</string>
     <string name="no_carrier_update_now_text" msgid="7898004907837200752">"Kusandwa ukubuyekezwa"</string>
-    <string name="launch_mdp_app_text" msgid="8791816789749304897">"Buka uhlelo"</string>
     <string name="launch_wifi_text" msgid="976421974332512894">"Buka imininingwane"</string>
     <string name="data_saver_title" msgid="2593804270788863815">"Iseva yedatha"</string>
     <string name="unrestricted_data_saver" msgid="7922563266857367495">"Idatha engakhawulelwe"</string>
@@ -3865,6 +4058,7 @@
     <string name="battery_tips_apps_summary_higher_than_usual_in_background" msgid="1585002072567422199">"I-<xliff:g id="APP_LABEL">%1$s</xliff:g> isebenzise ibhethri eyengeziwe kunokujwayelekile ingemuva"</string>
     <string name="battery_tips_apps_summary_always_high_in_foreground" msgid="1910991243576404700">"I-<xliff:g id="APP_LABEL">%1$s</xliff:g> isebenzise ibhethri eyengeziwe kuyilapho ingaphambili"</string>
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground" msgid="7937337570425168210">"I-<xliff:g id="APP_LABEL">%1$s</xliff:g> isebenzise ibhethri eyengeziwe kunokujwayelekile ngaphambili"</string>
+    <string name="battery_usage_anomaly_content_description" msgid="3199380151630770476">"Ukusetshenziswa kwebhethri okudidayo"</string>
     <string name="battery_app_item_hint" msgid="4850929961461039110">"Ukusetshenziswa kwebhethri okuphezulu"</string>
     <string name="battery_app_item_hint_in_bg" msgid="596240821466388336">"Ukusetshenziswa kwebhethri ngemuva"</string>
     <string name="battery_app_item_hint_in_fg" msgid="5091860632260799910">"Ukusetshenziswa kwebhethri ngaphambili"</string>
@@ -3933,7 +4127,6 @@
     <string name="quick_settings_developer_tiles" msgid="7336007844525766623">"Othayela bonjiniyela bezilungiselelo ezisheshayo"</string>
     <string name="adb_authorization_timeout_title" msgid="6996844506783749754">"Khubaza ukugunyazwa isikhathi sokuvala se-adb"</string>
     <string name="adb_authorization_timeout_summary" msgid="409931540424019778">"Khubaza ukuhoxiswa okuzenzakalelayo kokugunyazwa kwe-adb kwamasistimu angazange aphinde axhume phakathi kokuzenzekelayo (izinsuku esingu-7) noma alungiselelwe ngumsebenzisi (usuku olungu-1 ubuncane) ngenani lesikhathi."</string>
-    <string name="winscope_trace_quick_settings_title" msgid="4104768565053226689">"Ukulandelelwa kwe-Winscope"</string>
     <string name="sensors_off_quick_settings_title" msgid="8472151847125917167">"Izinzwa zivaliwe"</string>
     <string name="managed_profile_settings_title" msgid="3400923723423564217">"Amasethingi ephrofayela yomsebenzi"</string>
     <string name="managed_profile_contact_search_title" msgid="6562061740814513737">"Sesha oxhumana nabo bohla lwemibhalo lomsebenzi kuma-app womuntu siqu"</string>
@@ -3963,7 +4156,7 @@
     <string name="keywords_system_navigation" msgid="3131782378486554934">"ukuzula kwesistimu, 2-inkinobho yokuzula, 3-inkinobho yokuzula, ukuzula kokuthinta, swayipha"</string>
     <string name="assistant_gesture_category_title" msgid="2478251256585807920">"Umsizi odijithali"</string>
     <string name="assistant_corner_gesture_title" msgid="1895061522687002106">"Swayipha ukuze uncenge umsizi"</string>
-    <string name="assistant_corner_gesture_summary" msgid="7279576276455168075">"Swayiphela phezulu usuka ekhoneni elingezansi ukuze uncenge i-app yakho yomsizi wedijithali."</string>
+    <string name="assistant_corner_gesture_summary" msgid="5012534700233017955">"Swayiphela phezulu usuka ekhoneni elingezansi ukuze uncenge i-app yakho yomsizi wedijithali"</string>
     <string name="assistant_long_press_home_gesture_title" msgid="4865972278738178753">"Bamba Ikhaya ngokuqondene ne-Assistant"</string>
     <string name="assistant_long_press_home_gesture_summary" msgid="592882226105081447">"Cindezela futhi ubambe inkinobho ethi Ikhaya ukuze uncenge i-app yomsizi edijithali."</string>
     <string name="low_label" msgid="6525629096999711220">"Phansi"</string>
@@ -4123,21 +4316,31 @@
     <string name="autofill_app" msgid="7595308061826307921">"Isevisi yokugcwalisa ngokuzenzekela"</string>
     <string name="default_autofill_app" msgid="372234803718251606">"Isevisi yokugcwalisa okuzenzakalelayo"</string>
     <string name="autofill_passwords" msgid="6708057251459761083">"Amaphasiwedi"</string>
-    <string name="credman_chosen_app_title" msgid="4547405511458518096">"Amaphasiwedi, okhiye bokudlula namasevisi edatha"</string>
-    <string name="credman_credentials" msgid="4931371941253324143">"Abahlinzeki abangeziwe"</string>
+    <string name="credman_chosen_app_title" msgid="7735183808067729319">"Isevisi enconywayo"</string>
+    <string name="credman_credentials" msgid="2620352336624160642">"Amasevisi angeziwe"</string>
     <string name="autofill_passwords_count" msgid="6359289285822955973">"{count,plural, =1{iphasiwedi e-#}one{amaphasiwedi angu-#}other{amaphasiwedi angu-#}}"</string>
     <string name="autofill_keywords" msgid="8598763328489346438">"okuzenzakalelayo, gcwalisa, gcwalisa ngokuzenzakalelayo, iphasiwedi"</string>
     <string name="credman_keywords" msgid="8305600680836806170">"idatha, ukhiye wokudlula, iphasiwedi"</string>
     <string name="credman_autofill_keywords" msgid="701180623776848914">"okuzenzakalelayo, gcwalisa, gcwalisa ngokuzenzakalelayo, idatha, ukhiye wokudlula, iphasiwedi"</string>
+    <string name="credman_button_change" msgid="4072629639218503790">"Shintsha"</string>
+    <string name="credman_button_open" msgid="7519871964170816850">"Vula"</string>
+    <string name="credman_app_list_preference_none" msgid="2509646651254971448">"Akukho okukhethiwe"</string>
     <string name="autofill_confirmation_message" msgid="4888767934273494272">"&lt;b&gt;Qiniseka ukuthi wethemba lolu hlelo lokusebenza&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Google Autofill&gt;%1$s&lt;/xliff:g&gt; isebenzisa okusesikrinini sakho ukunquma okungagcwaliswa ngokuzenzakalela."</string>
-    <string name="credman_autofill_confirmation_message" msgid="4951846866327737417">"&lt;b&gt;Sebenzisa i-&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; isebenzisa lokho okubhalwe esikrinini sakho ukuze inqume ukuthi yini engagcwaliswa ngokuzenzakalelayo. Amaphasiwedi amasha, okhiye bokufinyelela nolunye ulwazi luzolondolozwa lapha kusukela manje kuqhubeke."</string>
-    <string name="credman_picker_title" msgid="2642776965060619988">"Amaphasiwedi, okhiye bokufinyelela namasevisi edatha"</string>
+    <string name="credman_autofill_confirmation_message" msgid="843829628024668466">"&lt;b&gt;Sebenzisa i-&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Amaphasiwedi amasha, okhiye bokudlula, nolunye ulwazi kuzolondolozwa lapha kusukela manje kuqhubeke. I-&lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ingase isebenzise okusesikrinini sakho ukuze inqume ukuthi yini engagcwaliswa ngokuzenzakalela."</string>
+    <string name="credman_picker_title" msgid="8442086614222006564">"Isevisi ekhethwayo yamaphasiwedi, okhiye bokudlula amp;nokugcwalisa okuzenzakalelayo"</string>
     <string name="credman_confirmation_message_title" msgid="8847900085593880729">"Vala i-%1$s?"</string>
     <string name="credman_confirmation_message" msgid="2357324543658635239">"&lt;b&gt;Vala le sevisi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Ulwazi olulondoloziwe olufana namaphasiwedi, okhiye bokudlula, izindlela zokukhokha, nolunye ulwazi ngeke lugcwaliswe lapho ungena ngemvume. Ukuze usebenzise ulwazi lwakho olulondoloziwe, khetha iphasiwedi, ukhiye wokudlula, noma isevisi yedatha."</string>
+    <string name="account_dashboard_title_with_passkeys" msgid="6214673787161409996">"Amaphasiwedi, okhiye bokudlula nokugcwalisa okuzenzakalelayo"</string>
+    <string name="credman_confirmation_message_new_ui" msgid="6126274509951156460">"&lt;b&gt;Vala wonke amasevisi?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Amaphasiwedi, okhiye bokudlula, nolunye ulwazi olulondoloziwe ngeke lutholakale ukuba lufakwe ngokuzenzakalela lapho ungena ngemvume"</string>
+    <string name="credman_autofill_confirmation_message_new_ui" msgid="6222139222478822267">"&amp;;b&gt;Ishintsha isevisi oyincamelayo ukuze ithi &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt;?&lt;/b&gt; &lt;br/&gt; &lt;br/&gt; Amaphasiwedi amasha, okhiye bokudlula, nolunye ulwazi luzolondolozwa lapha kusukela manje kuya phambili. &lt;xliff:g id=app_name example=Provider&gt;%1$s&lt;/xliff:g&gt; ingase isebenzise okusesikrinini sakho ukuze inqume ukuthi yini engagcwaliswa ngokuzenzakalela"</string>
     <string name="credman_enable_confirmation_message_title" msgid="1037501792652277829">"Isebenzisa i-%1$s?"</string>
+    <string name="credman_confirmation_turn_off_positive_button" msgid="5678773011513369161">"Vala"</string>
+    <string name="credman_confirmation_change_provider_positive_button" msgid="7732302992885116967">"Shintsha"</string>
+    <string name="credman_limit_error_msg_title" msgid="1525814645803612135">"Ungaba namasevisi angu-5 kuphela avuliwe"</string>
+    <string name="credman_limit_error_msg" msgid="2521803280130310063">"Vala okungenani isevisi eyodwa ukuze ufake enye"</string>
     <string name="credman_enable_confirmation_message" msgid="8407841892310870169">"I-%1$s isebenzisa okusesikrinini sakho ukuze inqume ukuthi yini engagcwaliswa ngokuzenzekela."</string>
-    <string name="credman_error_message_title" msgid="4741457523969373713">"Amaphasiwedi, okhiye bokudlula nomkhawulo wamasevisi edatha"</string>
-    <string name="credman_error_message" msgid="6793314648458925172">"Ungaba namaphasiwedi ama-5, okhiye bokudlula namasevisi edatha asebenzayo ngesikhathi esifanayo. Vala isevisi ukuze wengeze okwengeziwe."</string>
+    <string name="credman_error_message_title" msgid="4099557206946333568">"Amaphasiwedi, okhiye bokudlula nomkhawulo wamasevisi edatha"</string>
+    <string name="credman_error_message" msgid="8334797097200415449">"Ungaba namaphasiwedi afika kwama-5, okhiye bokudlula namasevisi edatha asebenzayo ngesikhathi esifanayo. Vala isevisi ukuze ufake okwengeziwe."</string>
     <string name="credman_confirmation_message_positive_button" msgid="2812613187691345361">"Vala"</string>
     <string name="debug_autofill_category" msgid="5998163555428196185">"Ukugcwalisa okuzenzakalelayo"</string>
     <string name="autofill_logging_level_title" msgid="3733958845861098307">"Ileveli lokuloga"</string>
@@ -4194,6 +4397,7 @@
     <string name="platform_compat_dialog_text_no_apps" msgid="5715226015751055812">"Izinguquko zokuhambelana kohlelo lokusebenza zingalungiswa kuphela kuzinhlelo zokusebenza ezingalungiswa amaphutha. Faka uhlelo lokusebenza olungalungiswa amaphutha bese uzama futhi"</string>
     <string name="disabled_dependent_setting_summary" msgid="4508635725315852504">"Kuncike kwesinye isilungiselelo"</string>
     <string name="my_device_info_account_preference_title" msgid="9197139254007133175">"I-Akhawunti"</string>
+    <string name="my_device_info_account_preference_summary" msgid="3510582677937510545">"ama-akhawunti angu-%d"</string>
     <string name="my_device_info_device_name_preference_title" msgid="8053298498727237971">"Igama ledivayisi"</string>
     <string name="my_device_info_basic_info_category_title" msgid="381963187269356548">"Ulwazi oluyisisekelo"</string>
     <string name="my_device_info_legal_category_title" msgid="7732792841537995127">"Ezomthetho nokubusayo"</string>
@@ -4207,6 +4411,7 @@
     <string name="change_nfc_tag_apps_detail_summary" msgid="3338220223868942195">"Vumela le-app ukuthi iqalise uma umaka we-NFC uskeniwe.\nUma le mvume ivuliwe, i-app izotholakala njengokukhethwa kukho noma kunini uma kutholwa umaka."</string>
     <string name="media_output_title" msgid="8283629315159510680">"Dlala imidiya ku-"</string>
     <string name="media_output_label_title" msgid="4139048973886819148">"Ukudlala i-<xliff:g id="LABEL">%s</xliff:g> kuvuliwe"</string>
+    <string name="media_output_title_without_playing" msgid="3339321669132875821">"Umsindo uzodlala"</string>
     <string name="media_output_default_summary" msgid="4200343059396412376">"Le divayisi"</string>
     <string name="media_out_summary_ongoing_call_state" msgid="475188726850090363">"Akutholakali ngesikhathi samakholi"</string>
     <string name="take_call_on_title" msgid="1159417893879946757">"Thatha ikholi ku-"</string>
@@ -4220,7 +4425,6 @@
     <string name="prevent_ringing_option_mute_summary" msgid="3939350522269337013">"Thulisa"</string>
     <string name="prevent_ringing_option_unavailable_lpp_summary" msgid="8070356204398144241">"Ukuze unike amandla, qala ngokushintsha okuthi \"Cindezela futhi ubambe inkinobho yamandla\" kube yimenyu yamandla."</string>
     <string name="pref_title_network_details" msgid="7329759534269363308">"Imininingwane yenethiwekhi"</string>
-    <string name="about_phone_device_name_warning" msgid="1938930553285875166">"Igama ledivayisi yakho libonakala kuma-app efonini yakho. Lingase futhi libonwe abanye abantu lapho uxhuma kumadivayisi we-Bluetooth, uxhuma kunethiwekhi ye-Wi-Fi noma usetha i-hotspot ye-Wi-Fi."</string>
     <string name="devices_title" msgid="649715719278562515">"Amadivayisi"</string>
     <string name="choose_network_title" msgid="5355609223363859430">"Khetha inethiwekhi"</string>
     <string name="network_disconnected" msgid="8281188173486212661">"Inqamukile"</string>
@@ -4303,11 +4507,11 @@
     <string name="mobile_network_sim_name_label" msgid="1452440641628369625">"Igama"</string>
     <string name="mobile_network_sim_color_label" msgid="5293944087609632340">"Umbala (usetshenziswe izinhlelo zokusebenza ezihambisanayo)"</string>
     <string name="mobile_network_sim_name_rename" msgid="5967588549571582924">"Londoloza"</string>
-    <string name="mobile_network_use_sim_on" msgid="7298332437547707908">"Sebenzisa i-SIM"</string>
+    <string name="mobile_network_use_sim_on" msgid="5333182776279917886">"Sebenzisa le SIM"</string>
     <string name="mobile_network_use_sim_off" msgid="6303281166199670639">"Valiwe"</string>
-    <string name="mobile_network_disable_sim_explanation" msgid="2851862257846773796">"Ukuze ukhubaze le SIM, susa ikhadi le-SIM"</string>
-    <string name="mobile_network_tap_to_activate" msgid="4139979375717958102">"Thepha ukuze usebenzise i-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
-    <string name="mobile_network_erase_sim" msgid="4629071168032714930">"Sula i-SIM"</string>
+    <string name="mobile_network_disable_sim_explanation" msgid="7182341033728911879">"Ukuze uvale le SIM, khipha i-SIM card"</string>
+    <string name="mobile_network_tap_to_activate" msgid="5280456487243915465">"Thepha ukuze wenze i-<xliff:g id="CARRIER">%1$s</xliff:g> SIM yakho isebenze"</string>
+    <string name="mobile_network_erase_sim" msgid="5387971155494245850">"Sula i-eSIM"</string>
     <string name="preferred_network_mode_title" msgid="3083431168988535628">"Uhlobo lwenethiwekhi oluncamelayo"</string>
     <string name="preferred_network_mode_summary" msgid="537577807865497546">"Shintsha imodi esebenzayo yenethiwekhi"</string>
     <string name="preferred_network_mode_dialogtitle" msgid="4179420486180351631">"Uhlobo lwenethiwekhi oluncamelayo"</string>
@@ -4326,6 +4530,23 @@
     <string name="roaming_check_price_warning" msgid="5876977438036791361">"Hlola ngomhlinzeki wakho wenethiwekhi ukuze uthole intengo."</string>
     <string name="mobile_data_usage_title" msgid="2047864499317759728">"Ukusetshenziswa kwedatha yohlelo lokusebenza"</string>
     <string name="mobile_network_mode_error" msgid="9222056129897416074">"Imodi yenethiwekhi engavumelekile <xliff:g id="NETWORKMODEID">%1$d</xliff:g>. Ziba."</string>
+    <string name="satellite_setting_title" msgid="2543034229989047673">"Ukuyaleza kwesethelayithi"</string>
+    <string name="satellite_setting_enabled_summary" msgid="3554127722727530845">"Thumela futhi wamukele umyalezo obhaliwe ngesethelayithi. Kubandakanywe ne-akhawunti yakho"</string>
+    <string name="satellite_setting_disabled_summary" msgid="6789122487534159857">"Thumela futhi wamukele umyalezo obhaliwe ngesethelayithi. Akubandakanyiwe ne-akhawunti yakho."</string>
+    <string name="keywords_satellite_setting" msgid="3312183289776517695">"Ukuyaleza kwesethelayithi"</string>
+    <string name="category_name_about_satellite_messaging" msgid="3756205049485508340">"Mayelana nokulayeza kwesethelayithi"</string>
+    <string name="title_about_satellite_setting" msgid="9212860038048311345">"Ungathumela futhi wamukele imiyalezo ebhaliwe ngesethelayithi njengengxenye ye-akhawunti efanelekayo ye-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="category_title_your_satellite_plan" msgid="3017895097366691841">"Uhlelo lwakho lwe-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
+    <string name="title_have_satellite_plan" msgid="2048372355699977947">"Ukuyaleza kwesethelayithi kubandakanywe ku-akhawunti yakho"</string>
+    <string name="title_no_satellite_plan" msgid="2876056203035197505">"Ukuyaleza kwesethelayithi akubandakanyiwe ne-akhawunti yakho"</string>
+    <string name="summary_add_satellite_setting" msgid="3815254731634052432">"Faka ukuyaleza kwesethelayithi"</string>
+    <string name="category_name_how_it_works" msgid="585303230539269496">"Indlela esebenza ngayo"</string>
+    <string name="title_satellite_connection_guide" msgid="3294802307913609072">"Uma ungenayo inethiwekhi yeselula"</string>
+    <string name="summary_satellite_connection_guide" msgid="3496123195218418456">"Ifoni yakho izoxhuma ngokuzenzakalela kusethelayithi. Ngokuxhuma okuncono, gcina isibhakabhaka sikhanya bha."</string>
+    <string name="title_supported_service" msgid="4275535165812691571">"Ngemva kokuthi ifoni yakho ixhume kusethelayithi"</string>
+    <string name="summary_supported_service" msgid="4320535903444834786">"Ungathumelela noma ubani umyalezo, okubandakanya amasevisi ezimo eziphuthumayo. Ifoni yakho izophinde ixhume kunethiwekhi yeselula uma itholakala."</string>
+    <string name="satellite_setting_summary_more_information" msgid="4008690241760925372">"Ukuyaleza kwesethelayithi kungathatha isikhathi eside futhi kutholakala kuphela kwezinye izindawo, Isimo sezulu nokwakheka okuthile kungenzeka kuthinte ukuxhumana nesethelayithi yakho. Ukufona ngesethelayithi akutholakali.\n\nKungenzeka kuthathe isikhathi esithile ukuze ushintsho ku-akhawuntti yakho ukuthi lubonakale kumaSethingi. Xhumana ne-<xliff:g id="CARRIER_NAME">%1$s</xliff:g> ngemininingwane."</string>
+    <string name="more_about_satellite_messaging" msgid="3385673133561348509">"Okwengeziwe mayelana nokuyaleza kwesethelayithi"</string>
     <string name="mobile_network_apn_title" msgid="5582995550142073054">"Amagama wephoyinti lokufinyelela"</string>
     <string name="keywords_access_point_names" msgid="8174967126858505945">"i-apn"</string>
     <string name="manual_mode_disallowed_summary" msgid="4243142645520152175">"Ayitholakali uma ixhumeke ku-<xliff:g id="CARRIER">%1$s</xliff:g>"</string>
@@ -4335,22 +4556,22 @@
     <string name="sim_action_switch_sub_dialog_title" msgid="9180969453358718635">"Shintshela ku-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="sim_action_switch_psim_dialog_title" msgid="5613177333235213024">"Shintshela ekusebenziseni iSIM card lakho?"</string>
     <string name="sim_action_switch_sub_dialog_mep_title" msgid="933856847099933004">"Sebenzisa i-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
-    <string name="sim_action_switch_sub_dialog_text" msgid="2091834911153293004">"I-SIM eyodwa kuphela engeziwa isebenze ngesikhathi esithile.\n\nUkushintshela ku-<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ngeke kuze kukhansele isevisi yakho ye-<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="8977951796005849471">"I-eSIM e-1 kuphela engenziwa isebenze ngesikhathi.\n\nUkushintshela ku-<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ngeke kukhansele isevisi yakho ye-<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
-    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="6188750682431170845">"I-SIM eyodwa kuphela engenziwa isebenze ngesikhathi.\n\nUkushintsha ngeke kukhansele isevisi yakho ye-<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text" msgid="7474905814976249607">"I-SIM e-1 kuphela engavulwa ngesikhathi.\n\nUkushintshela ku-<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> angeke kukhansele isevisi yakho ye-<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_downloaded" msgid="6415848271400253954">"I-eSIM e-1 kuphela ingavulwa ngesikhathi.\n\nUkushintshela ku-<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g> ngeke kukhansele isevisi yakho ye-<xliff:g id="FROM_CARRIER_NAME">%2$s</xliff:g>."</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim" msgid="421658355882679837">"I-SIM e-1 kuphela engavulwa ngesikhathi.\n\nUkushintsha angeke kukhansele isevisi yakho ye-<xliff:g id="TO_CARRIER_NAME">%1$s</xliff:g>."</string>
     <string name="sim_action_switch_sub_dialog_mep_text" msgid="8348764755143679582">"Ungasebenzisa ama-SIM ama-2 noma kunini. Ukuze usebenzise i-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>, vala enye i-SIM."</string>
     <string name="sim_action_switch_sub_dialog_confirm" msgid="1901181581944638961">"Shintshela ku-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_carrier_list_item_for_turning_off" msgid="5392037608705799522">"Vala i-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off" msgid="1617619100229136888">"Ukuvala i-SIM ngeke kukhansele isevisi yakho"</string>
-    <string name="sim_action_enabling_sim_without_carrier_name" msgid="2706862823501979981">"Ixhumeka kunethiwekhi…"</string>
-    <string name="sim_action_switch_sub_dialog_progress" msgid="4718412054243793310">"Ishintshela ku-<xliff:g id="CARRIER_NAME">%1$s</xliff:g> mayelana namakholi nemilayezo…"</string>
-    <string name="sim_action_enable_sim_fail_title" msgid="1765646238941015899">"Ayikwazi ukushintsha inkampani yenethiwekhi"</string>
-    <string name="sim_action_enable_sim_fail_text" msgid="4781863235721417544">"Inkampani yenethiwekhi ayikwazi ukushintshwa ngenxa yephutha."</string>
+    <string name="sim_action_enabling_sim_without_carrier_name" msgid="8144175623622669136">"Yenza i-SIM yakho isebenze…"</string>
+    <string name="sim_action_switch_sub_dialog_progress" msgid="697127154780501304">"Ukushintshela ku-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="sim_action_enable_sim_fail_title" msgid="2718084141744769701">"Ayikwazi ukushintsha ama-SIM"</string>
+    <string name="sim_action_enable_sim_fail_text" msgid="8332742656111984482">"Kukhona okungahambanga kahle. Ayikwazi ukushintsha ama-SIM."</string>
     <string name="privileged_action_disable_sub_dialog_title" msgid="3298942357601334418">"Vala i-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="privileged_action_disable_sub_dialog_title_without_carrier" msgid="6518373229436331608">"Vala i-SIM?"</string>
     <string name="privileged_action_disable_sub_dialog_progress" msgid="5900243067681478102">"Ivala i-SIM<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="privileged_action_disable_fail_title" msgid="6689494935697043555">"Ayikwazi ukukhubaza inkampani yenethiwekhi"</string>
-    <string name="privileged_action_disable_fail_text" msgid="8404023523406091819">"Kukhona okungahambanga kahle futhi inkampani yakho yenethiwekhi ayikwazanga ukukhutshazwa."</string>
+    <string name="privileged_action_disable_fail_title" msgid="1808735136395980905">"Ayikwazi ukuvala i-SIM"</string>
+    <string name="privileged_action_disable_fail_text" msgid="6236231745255527458">"Kukhona okungahambanga kahle futhi i-SIM yakho ayikwazanga ukuvalwa."</string>
     <string name="sim_action_enable_dsds_title" msgid="226508711751577169">"Sebenzisa ama-SIM angu-2?"</string>
     <string name="sim_action_enable_dsds_text" msgid="970986559326263949">"Le divayisi ingaba nama-SIM angu-2 ngesikhathi esisodwa. Ukuze uqhubeke nokusebenzisa i-SIM engu-1 ngesikhathi, thepha okuthi \"Cha ngiyabonga\"."</string>
     <string name="sim_action_restart_title" msgid="7054617569121993825">"Qalisa kabusha idivayisi?"</string>
@@ -4359,32 +4580,55 @@
     <string name="sim_action_no_thanks" msgid="435717748384544195">"Cha ngiyabonga"</string>
     <string name="sim_action_cancel" msgid="2668099867029610910">"Khansela"</string>
     <string name="sim_switch_button" msgid="1405772571706095387">"Shintsha"</string>
+    <string name="sim_action_turn_off" msgid="3506698692916473000">"Vala"</string>
     <string name="dsds_activation_failure_title" msgid="4467364110584914794">"Akukwazi ukwenza i-SIM isebenze"</string>
     <string name="dsds_activation_failure_body_msg2" msgid="73044349546544410">"Zama ukuvula i-SIM futhi. Inkinga iyaqhubeka, qala kabusha idivayisi yakho."</string>
+    <string name="sim_onboarding_bottomsheets_title" msgid="143711121394213711">"Setha i-SIM yakho"</string>
+    <string name="sim_onboarding_bottomsheets_msg" msgid="7367245016476460849">"Setha okuncamelayo kwenethiwekhi yakho yeselula ukuze usebenzise ama-SIM amaningi kule divayisi"</string>
+    <string name="sim_onboarding_label_sim_title" msgid="273162565849288273">"Lebula ama-SIM wakho"</string>
+    <string name="sim_onboarding_label_sim_msg" msgid="5105859235219529056">"Uzobona lawa malebula lapho wenza amakholi, uthumela imiyalezo, futhi usebenzisa idatha, futhi Nakumasethingi"</string>
+    <string name="sim_onboarding_label_sim_dialog_title" msgid="5839073125605286120">"Ilebula ye-SIM"</string>
+    <string name="sim_onboarding_label_sim_dialog_label" msgid="9020433985426525185">"Ilebula"</string>
+    <string name="sim_onboarding_select_sim_title" msgid="5895262188167744055">"Khetha ukuthi yimaphi ama-SIM ongawasebenzisa"</string>
+    <string name="sim_onboarding_select_sim_msg" msgid="5638859405391915048">"Ungasebenzisa ama-SIM angu-2 ngesikhathi"</string>
+    <string name="sim_onboarding_primary_sim_title" msgid="2793090401371135675">"Setha ama-SIM wakho ayinhloko"</string>
+    <string name="sim_onboarding_primary_sim_msg" msgid="5484656671490558032">"Khetha ukuthi yimaphi ama-SIM ongawasebenzisa ngokuzenzakalelayo kumakholi, ekuthumeleni imiyalezo, nedatha"</string>
+    <string name="primary_sim_title" msgid="2508161011657571566">"Ama-SIM wakho ayinhloko"</string>
+    <string name="primary_sim_calls_title" msgid="4961189133582615685">"Amakholi"</string>
+    <string name="primary_sim_texts_title" msgid="1287584042733097749">"Ukuthumela imiyalezo"</string>
+    <string name="primary_sim_automatic_data_title" msgid="1265528923229642480">"Ukushintsha idatha okuzenzekelayo"</string>
+    <string name="primary_sim_automatic_data_msg" msgid="1612203837010785203">"Sebenzisa idatha evela kunoma iyiphi i-SIM kuye ngokukhava nokutholakala"</string>
+    <string name="sim_onboarding_phoneNumber_data_only" msgid="8158409121949373662">"Idatha kuphela"</string>
+    <string name="sim_onboarding_setup" msgid="5750393553605388463">"Setha"</string>
+    <string name="sim_onboarding_next" msgid="6415025179929475355">"Okulandelayo"</string>
+    <string name="sim_onboarding_progressbar_turning_sim_on" msgid="1163318788393361574">"Ivula i-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>…"</string>
+    <string name="mobile_network_spn_title" msgid="3053793174495329077">"Inethiwekhi yeselula"</string>
+    <string name="mobile_network_phone_number_title" msgid="2090794402855021784">"Inombolo yefoni"</string>
+    <string name="mobile_network_sim_label_color_title" msgid="2401352348041132876">"Ilebula ye-SIM nombala"</string>
     <string name="sim_setup_channel_id" msgid="8797972565087458515">"Ukwenziwa kusebenze kwenethiwekhi"</string>
     <string name="sim_switch_channel_id" msgid="4927038626791837861">"Ukushintsha inkampani yenethiwekhi"</string>
-    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="3308827462185135307">"I-<xliff:g id="CARRIER_NAME">%1$s</xliff:g> iyasebenza"</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier" msgid="975447139749692794">"I-<xliff:g id="CARRIER_NAME">%1$s</xliff:g> SIM yakho iyasebenza"</string>
     <string name="post_dsds_reboot_notification_text" msgid="7533428378211541410">"Thepha ukuze ubuyekeze izilungiselelo ze-SIM"</string>
     <string name="switch_to_removable_notification" msgid="7640342063449806296">"Ishintshelwe ku-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>"</string>
     <string name="switch_to_removable_notification_no_carrier_name" msgid="7384856964036215338">"Ishintshele kwenye inkampani yenethiwekhi"</string>
     <string name="network_changed_notification_text" msgid="2407908598496951243">"Inethiwekhi yakho ishintshile"</string>
     <string name="dsds_notification_after_suw_title" msgid="3738898232310273982">"Setha enye i-SIM yakho"</string>
     <string name="dsds_notification_after_suw_text" msgid="1287357774676361084">"Khetha i-SIM esebenzayo noma sebenzisa ama-SIM angu-2 ngesikhathi esisodwa"</string>
-    <string name="choose_sim_title" msgid="4804689675237716286">"Khetha inombolo ongayisebenzisa"</string>
-    <string name="choose_sim_text" msgid="4356662002583501647">"{count,plural, =1{Inombolo e-1 iyatholakala kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}=2{Izinombolo ezi-2 ziyatholakala kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}one{Izinombolo ezingu-# ziyatholakala kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}other{Izinombolo ezingu-# ziyatholakala kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}}"</string>
-    <string name="choose_sim_activating" msgid="9035902671985449448">"Yenza kusebenze i-<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
-    <string name="choose_sim_could_not_activate" msgid="2154564459842291617">"Ayikwazanga ukwenziwa isebenze khona manje"</string>
+    <string name="choose_sim_title" msgid="66509047151583877">"Khetha i-SIM ozoyisebenzisa"</string>
+    <string name="choose_sim_text" msgid="8992163497852069924">"{count,plural, =1{Kutholakala i-SIM engu-1 kule divayisi, kodwa iyodwa kuphela engasetshenziswa ngesikhathi}=2{Kutholakala ama-SIM angu-2 kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}one{Kutholakala ama-SIM angu-# kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}other{Kutholakala ama-SIM angu-# kule divayisi, kodwa eyodwa kuphela engasetshenziswa ngesikhathi}}"</string>
+    <string name="choose_sim_activating" msgid="6485547671356386998">"Ivula<xliff:g id="ELLIPSIS">…</xliff:g>"</string>
+    <string name="choose_sim_could_not_activate" msgid="866488735834045525">"Ayikwazanga ukuvula le SIM khona manje"</string>
     <string name="switch_sim_dialog_title" msgid="5407316878973237773">"Sebenzisa i-<xliff:g id="CARRIER_NAME">%1$s</xliff:g>?"</string>
     <string name="switch_sim_dialog_text" msgid="7530186862171635464">"I-<xliff:g id="CARRIER_NAME">%1$s</xliff:g> izosetshenziselwa idatha yeselula, amakholi, ne-SMS."</string>
     <string name="switch_sim_dialog_no_switch_title" msgid="809763410787744247">"Awekho ama-SIM asebenzayo atholakalayo"</string>
     <string name="switch_sim_dialog_no_switch_text" msgid="7053939850026876088">"Ukuze usebenzise idatha yeselula, izici zokushaya, ne-MMS kamuva, iya kuzilungiselelo zakho zenethiwekhi"</string>
     <string name="sim_card_label" msgid="6263064316075963775">"I-SIM"</string>
     <string name="erase_sim_dialog_title" msgid="4742077437653028326">"Sula le eSIM?"</string>
-    <string name="erase_sim_dialog_text" msgid="753031064269699885">"Ukusula le-SIM kususa isevisi ye-<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> kusukela kule divayisi.\n\nIsevisi ye-<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ngeke ize ikhanselwe."</string>
+    <string name="erase_sim_dialog_text" msgid="1406141218170595272">"Lokhu kususa isevisi ye-<xliff:g id="CARRIER_NAME_A">%1$s</xliff:g> evela kule divayisi, kodwa uhlelo lwakho lwe-<xliff:g id="CARRIER_NAME_B">%1$s</xliff:g> ngeke lukhanselwe."</string>
     <string name="erase_sim_confirm_button" msgid="8309115684335320541">"Sula"</string>
-    <string name="erasing_sim" msgid="7877703231075699139">"Isula i-SIM…"</string>
-    <string name="erase_sim_fail_title" msgid="2024446702985862427">"Ayikwazi ukusula i-SIM"</string>
-    <string name="erase_sim_fail_text" msgid="7870804401227483131">"Le SIM ayikwazi ukusulwa ngenxa yephutha.\n\nQala kabusha idivayisi yakho uphinde uzame futhi."</string>
+    <string name="erasing_sim" msgid="4237180547590463930">"Isula i-eSIM…"</string>
+    <string name="erase_sim_fail_title" msgid="1445700500168357303">"Ayikwazi ukusula i-eSIM"</string>
+    <string name="erase_sim_fail_text" msgid="6898841004987411547">"Kukhona okungahambanga kahle futhi le-eSIM ayikasulwa.\n\nQala kabusha idivayisi yakho bese uphinde uyazama."</string>
     <string name="network_connection_request_dialog_title" msgid="1896186380874289434">"Xhuma kudivayisi"</string>
     <string name="network_connection_request_dialog_summary" msgid="7693038309792726170">"Uhlelo lokusebenza le-<xliff:g id="APPNAME">%1$s</xliff:g> lifuna ukusebenzisa inethiwekhi ye-Wi‑Fi ukuxhuma kudivayisi yakho"</string>
     <string name="network_connection_timeout_dialog_message" msgid="598509083077743772">"Awekho amadivayisi atholiwe. Yenza isiqinisekiso sokuthi amadivayisi avuliwe futhi ayatholakala ukuze axhumeke."</string>
@@ -4446,9 +4690,6 @@
     <string name="wfc_disclaimer_emergency_limitation_title_text" msgid="8276287227589397162">"Amakholi aphuthumayo"</string>
     <string name="wfc_disclaimer_emergency_limitation_desc_text" msgid="5503902001191552196">"Amakholi aphuthumayo ngokushaya kwe-Wi-Fi awasekelwe inkampani yakho yenethiwekhi.\nIdivayisi ishintsha ngokuzenzakalela iye kunethiwekhi yeselula ukuze yenze ikholi ephuthumayo.\nAmakholi aphuthumayo akhonakala kuphela ezindaweni ezinokufakwa kweselula."</string>
     <string name="wifi_calling_summary" msgid="8566648389959032967">"Sebenzisa i-Wi‑Fi ngamakholi ukuthuthukisa ikhwalithi"</string>
-    <string name="backup_calling_settings_title" msgid="519714752900364326">"Yenza ikhophi yasenqolobaneni yokushaya ikholi"</string>
-    <string name="backup_calling_setting_summary" msgid="599493254305348733">"Uma i-<xliff:g id="BACKUP_CALLING_OPERATOR_TEXT">%1$s</xliff:g> ingatholakali noma izula, sebenzisa i-SIM yedatha yakho yeselula ukwenza amakholi we-<xliff:g id="BACKUP_CALLING_CARRIER_TEXT">%1$s</xliff:g>."</string>
-    <string name="keywords_backup_calling" msgid="8592800915478816800">"yenza ikhophi yasenqolobaneni yokushaya ikholi"</string>
     <string name="enable_receiving_mms_notification_title" msgid="6465218559386990248">"Umlayezo ongenayo we-MMS"</string>
     <string name="enable_sending_mms_notification_title" msgid="7120641300854953375">"Ayikwazi ukuthumela umlayezo we-MMS"</string>
     <string name="enable_mms_notification_summary" msgid="6432752438276672500">"Thepha ukuze uvumele ukulayeza kwe-MMS ku-<xliff:g id="OPERATOR_NAME">%1$s</xliff:g> uma idatha yeselula ivaliwe"</string>
@@ -4459,6 +4700,14 @@
     <string name="work_policy_privacy_settings" msgid="2702644843505242596">"Ulwazi lwenqubomgomo yakho yomsebenzi"</string>
     <string name="work_policy_privacy_settings_summary" msgid="690118670737638405">"Izilungiselelo eziphethwe umlawuli wakho we-IT"</string>
     <string name="track_frame_time_keywords" msgid="7885340257945922239">"I-GPU"</string>
+    <string name="enable_16k_pages" msgid="5009476566957520607">"Qalisa ngosayizi wekhasi ongu-16K"</string>
+    <string name="enable_16k_pages_summary" msgid="428117226069445198">"Qalisa idivayisi ngosayizi wekhasi ongu-16K wekheneli ehambisanayo"</string>
+    <string name="confirm_enable_16k_pages_title" msgid="6751570067857011642">"Qalisa ngamakhasi angu-16KB wekheneli ehambisanayo?"</string>
+    <string name="confirm_enable_16k_pages_text" msgid="702888115148257215">"ISIXWAYISO: Amanye ama-application angase angahambisani nale modi. Idivayisi izoqalisa ngemva kokuqinisekisa."</string>
+    <string name="confirm_enable_4k_pages_title" msgid="626987400420355263">"Qalisa ngamakhasi angu-4KB wekheneli ehambisanayo?"</string>
+    <string name="confirm_enable_4k_pages_text" msgid="6168921566226074524">"Idivayisi izoqalisa ngemva kokuqinisekisa."</string>
+    <string name="toast_16k_update_failed_text" msgid="8888858987184345567">"Ihlulekile ukubuyekeza ikheneli ibe amakhasi angu-16KB ekheneli ehambisanayo."</string>
+    <string name="progress_16k_ota_title" msgid="2117218313875523741">"Yenza izinguquko"</string>
     <string name="bug_report_handler_title" msgid="713439959113250125">"Isibambi sombiko wesiphazamiso"</string>
     <string name="bug_report_handler_picker_footer_text" msgid="4935758328366585673">"Icacisa ukuthi uluphi uhlelo lokusebenza oluphatha isinqamuleli sombiko wesiphazamisi kudivayisi yakho."</string>
     <string name="personal_profile_app_subtext" msgid="5586060806997067676">"Okomuntu siqu"</string>
@@ -4507,16 +4756,20 @@
     <string name="overlay_settings_summary" msgid="2745336273786148166">"Vumela izinhlelo zokusebenza ezingabonisa ngaphezulu kwezinye izinhlelo zokusebenza ukumboza izikrini zokuthi Amasethingi"</string>
     <string name="allow_mock_modem" msgid="3832264806530479214">"Vumela Imodemu ye-Mock"</string>
     <string name="allow_mock_modem_summary" msgid="9097416612748005374">"Vumela le divayisi ukuthi iqalise isevisi Yemodemu ye-Mock ukuze uhlole izinsimbi. Ungakuniki amandla lokhu ngesikhathi sokusetshenziswa okuvamile kwefoni"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications" msgid="4987116103699222633">"Khubaza izivikelo zokwabelana kwesikrini"</string>
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary" msgid="932295234626582052">"Ikhubaza i-app esetshenzisiwe yesistimu kanye nokuvikelwa kwezaziso phakathi nokwabelana kwesikrini"</string>
     <string name="media_controls_title" msgid="403271085636252597">"Imidiya"</string>
     <string name="media_controls_resume_title" msgid="855076860336652370">"Phina i-media player"</string>
     <string name="media_controls_resume_description" msgid="3163482266454802097">"Ukuze uqalise kabusha ngokushesha ukudlala, i-media player ihlala ivuliwe Kumasethingi asheshayo"</string>
     <string name="media_controls_lockscreen_title" msgid="2188311721857512510">"Bonisa imidiya ekukhiyeni isikrini"</string>
     <string name="media_controls_lockscreen_description" msgid="3320333660404439510">"Ukuze uqalise kabusha ukudlala ngokushesha, i-media player ihlala ivuliwe ekukhiyeni isikrini"</string>
-    <string name="media_controls_recommendations_title" msgid="184225835236807677">"Bonisa izincomo zemidiya"</string>
+    <string name="media_controls_recommendations_title" msgid="3012692549413927608">"Bonisa izincomo zemidiya Zomsizi"</string>
     <string name="media_controls_recommendations_description" msgid="7596498733126824030">"Ngokususelwe kumsebenzi wakho"</string>
     <string name="media_controls_hide_player" msgid="2751439192580884015">"Fihla umdlali"</string>
     <string name="media_controls_show_player" msgid="8504571042365814021">"Bonisa umdlali"</string>
     <string name="keywords_media_controls" msgid="8345490568291778638">"imidiya"</string>
+    <string name="camera_extensions_fallback_title" msgid="3604579046777004989">"Vumela izandiso zesofthiwe yekhamera"</string>
+    <string name="camera_extensions_fallback_description" msgid="6939818294458854536">"Inika amandla ukufakwa kwesofthiwe okuzenzekalelayo kwezakhi zekhamera ezithuthukisiwe, njengevidiyo ye-Eyes Free."</string>
     <string name="connected_device_see_all_summary" msgid="2056010318537268108">"I-Bluetooth izovuleka"</string>
     <string name="provider_internet_settings" msgid="3831259474776313323">"I-inthanethi"</string>
     <string name="provider_network_settings_title" msgid="2624756136016346774">"Ama-SIM"</string>
@@ -4544,8 +4797,8 @@
     <string name="sim_category_title" msgid="2341314000964710495">"SIM"</string>
     <string name="downloaded_sim_category_title" msgid="2876988650413179752">"I-eSIM"</string>
     <string name="downloaded_sims_category_title" msgid="487799905978489922">"Ama-eSIM"</string>
-    <string name="sim_category_active_sim" msgid="1503823567818544012">"Kuyasebenza"</string>
-    <string name="sim_category_inactive_sim" msgid="4068899490133820881">"Akusebenzi"</string>
+    <string name="sim_category_active_sim" msgid="3077009911935592178">"Kuvuliwe"</string>
+    <string name="sim_category_inactive_sim" msgid="7351553344148400450">"Kuvaliwe"</string>
     <string name="sim_category_default_active_sim" msgid="1208194173387987231">" / Okuzenzakalelayo kwe-<xliff:g id="ID_1">%1$s</xliff:g>"</string>
     <string name="default_active_sim_calls" msgid="2390973682556353558">"amakholi"</string>
     <string name="default_active_sim_sms" msgid="8041498593025994921">"I-SMS"</string>
@@ -4701,8 +4954,8 @@
     <string name="bluetooth_details_spatial_audio_summary" msgid="5026859623681482668">"Umsindo ovela kumidiya ehambisanayo uba ogxile kakhulu"</string>
     <string name="bluetooth_details_head_tracking_title" msgid="5416972521040337799">"Ukulandelela ikhanda"</string>
     <string name="bluetooth_details_head_tracking_summary" msgid="3942238746595985395">"Umsindo uyashintsha njengoba uhambisa ikhanda lakho ukuze lizwakale ngokwemvelo"</string>
-    <string name="bluetooth_details_permissions_sync_title" msgid="584337314155926373">"Vumelanisa izimvume"</string>
-    <string name="bluetooth_details_permissions_sync_summary" msgid="3426601558010545762">"Nikeza i-<xliff:g id="REMOTE_DEVICE_NAME">%1$s</xliff:g> izimvume ezifanayo ze-app ovumele ukuba zisebenze ku-<xliff:g id="LOCAL_DEVICE_NAME">%2$s</xliff:g>"</string>
+    <string name="bluetooth_details_permissions_sync_title" msgid="7277580382321003521">"Vumelanisa izimvume ezivele efonini yakho"</string>
+    <string name="bluetooth_details_permissions_sync_summary" msgid="8125037984381432059">"Nikeza iwashi lakho izimvume ezifanayo ze-app ozivumele kulefoni"</string>
     <string name="bluetooth_details_audio_device_types_title" msgid="3381941189346781614">"Uhlobo Lwedivayisi Yokulalelwayo"</string>
     <string name="bluetooth_details_audio_device_type_unknown" msgid="839337391037998014">"Akwaziwa"</string>
     <string name="bluetooth_details_audio_device_type_speaker" msgid="3706227767994792124">"Isipikha"</string>
@@ -4798,4 +5051,30 @@
     <string name="contrast_medium" msgid="384414510709285811">"Okuphakathi"</string>
     <string name="contrast_high" msgid="3988567609694797696">"Phezulu"</string>
     <string name="dock_multi_instances_not_supported_text" msgid="3513493664467667084">"Le-app ingavulwa kuphela ewindini eli-1."</string>
+    <string name="generic_accessibility_service_on" msgid="4466229372357726824">"Ivuliwe"</string>
+    <string name="generic_accessibility_service_off" msgid="4759859497651675724">"Ivaliwe"</string>
+    <string name="generic_accessibility_feature_shortcut_off" msgid="4022872394514077907">"Ivaliwe"</string>
+    <string name="accessibility_shortcut_state_off" msgid="8158137799007601475">"Valiwe"</string>
+    <string name="daltonizer_state_on" msgid="131013270022603983">"Vuliwe"</string>
+    <string name="daltonizer_state_off" msgid="1162285688069856179">"Valiwe"</string>
+    <string name="color_inversion_state_on" msgid="1160969033636440368">"Vuliwe"</string>
+    <string name="color_inversion_state_off" msgid="6925638668080451724">"Valiwe"</string>
+    <string name="color_inversion_feature_summary" msgid="1199876648549627647">"Ishintsha izikrini ezikhanyayo zibe mnyama nezikrini ezimnyama zikhanye"</string>
+    <string name="magnification_feature_summary" msgid="2053971569640663564">"Sondeza isithombe esikrinini"</string>
+    <string name="autoclick_disabled" msgid="3213396804955002120">"Valiwe"</string>
+    <string name="show_captions_disabled" msgid="690650956523818755">"Valiwe"</string>
+    <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="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>
+    <string name="content_protection_preference_title" msgid="5069260032659193074">"Iskena ukuze ithole ama-app akhohlisayo"</string>
+    <string name="content_protection_preference_summary" msgid="2252393849408445391">"Hlola umsebenzi we-app wobugebengu bokweba imininingwane ebucayi"</string>
+    <string name="content_protection_preference_user_consent_switch_title" msgid="1797782616799594426">"Sebenzisa ukuskena ama-app akhohlisayo"</string>
+    <string name="content_protection_preference_user_consent_work_profile_switch_title" msgid="3004347470520916069">"Sebenzisa ukuskena ama-app akhohlisayo omsebenzi"</string>
+    <string name="content_protection_preference_subpage_summary" msgid="3595621220981703364"></string>
+    <string name="content_protection_preference_subpage_info" msgid="6890886357653365489"></string>
+    <string name="accessibility_setup_password_complete" msgid="6358749253318369077">"Iphasiwe manje isethiwe"</string>
+    <string name="show_stylus_pointer_icon" msgid="1010583689203665786">"Bonisa isikhombi ngenkathi uhambisa phezulu"</string>
 </resources>
diff --git a/res/values/accessibility_shortcut_keys.xml b/res/values/accessibility_shortcut_keys.xml
new file mode 100644
index 0000000..0d409a8
--- /dev/null
+++ b/res/values/accessibility_shortcut_keys.xml
@@ -0,0 +1,26 @@
+<?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.
+  -->
+
+<resources>
+    <string name="accessibility_shortcut_volume_keys_pref" translatable="false">shortcut_volume_keys_pref</string>
+    <string name="accessibility_shortcut_gesture_pref" translatable="false">shortcut_gesture_pref</string>
+    <string name="accessibility_shortcut_nav_button_pref" translatable="false">shortcut_nav_button_pref</string>
+    <string name="accessibility_shortcut_fab_pref" translatable="false">shortcut_fab_pref</string>
+    <string name="accessibility_shortcut_triple_tap_pref" translatable="false">shortcut_triple_tap_pref</string>
+    <string name="accessibility_shortcut_two_fingers_double_tap_pref" translatable="false">shortcut_two_fingers_double_tap_pref</string>
+    <string name="accessibility_shortcuts_advanced_collapsed" translatable="false">advanced_shortcuts_collapsed</string>
+</resources>
\ No newline at end of file
diff --git a/res/values/arrays.xml b/res/values/arrays.xml
index 1ab9876..0e35fed 100644
--- a/res/values/arrays.xml
+++ b/res/values/arrays.xml
@@ -233,6 +233,26 @@
 
     <!-- Bluetooth Settings -->
 
+    <!-- Bluetooth developer settings: Bluetooth LE Audio modes -->
+    <string-array name="bluetooth_leaudio_mode">
+        <!-- Do not translate. -->
+        <item>Disabled</item>
+        <!-- Do not translate. -->
+        <item>Unicast</item>
+        <!-- Do not translate. -->
+        <item>Unicast and Broadcast</item>
+    </string-array>
+
+    <!-- Values for Bluetooth LE Audio mode -->
+    <string-array name="bluetooth_leaudio_mode_values" translatable="false">
+        <!-- Do not translate. -->
+        <item>disabled</item>
+        <!-- Do not translate. -->
+        <item>unicast</item>
+        <!-- Do not translate. -->
+        <item>broadcast</item>
+    </string-array>
+
     <!-- Bluetooth developer settings: Titles for maximum number of connected audio devices -->
     <string-array name="bluetooth_max_connected_audio_devices">
         <item>Use System Default: <xliff:g id="default_bluetooth_max_connected_audio_devices">%1$d</xliff:g></item>
@@ -872,15 +892,9 @@
         <item>1</item>
     </string-array>
 
-    <!-- Match this with the constants in VpnProfile. --> <skip />
+    <!-- Match this with the array VPN_TYPES in ConfigDialog. --> <skip />
     <!-- Short names for each VPN type, not really translatable. [CHAR LIMIT=20] -->
     <string-array name="vpn_types" translatable="false">
-        <item>PPTP</item>
-        <item>L2TP/IPSec PSK</item>
-        <item>L2TP/IPSec RSA</item>
-        <item>IPSec Xauth PSK</item>
-        <item>IPSec Xauth RSA</item>
-        <item>IPSec Hybrid RSA</item>
         <item>IKEv2/IPSec MSCHAPv2</item>
         <item>IKEv2/IPSec PSK</item>
         <item>IKEv2/IPSec RSA</item>
@@ -1417,7 +1431,7 @@
 
     <string-array name="battery_tips_card_colors" translatable="false">
         <item>color_accent_selector</item>
-        <item>color_battery_anomaly_yellow_selector</item>
+        <item>color_battery_anomaly_app_warning_selector</item>
     </string-array>
 
     <!-- The following 4 arrays are for power anomaly tips card. Please keep them the same size. -->
@@ -1465,4 +1479,42 @@
         <item>@string/battery_app_item_hint_in_fg</item>
     </string-array>
 
+    <!-- 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 -->
+    </string-array>
+
+    <!-- Values for notification cooldown -->
+    <string-array name="notification_polite_options">
+        <item>@string/notification_polite_all_apps</item>
+        <item>@string/notification_polite_conversations</item>
+        <item>@string/notification_polite_disabled</item>
+    </string-array>
+
+    <!-- Values for notification cooldown -->
+    <string-array name="notification_polite_options_values" translatable="false">
+        <item>0</item>
+        <item>1</item>
+        <item>2</item>
+    </string-array>
+
+    <!-- Entries for private space auto lock option -->
+    <string-array name="private_space_auto_lock_options">
+        <item>@string/private_space_auto_lock_every_time</item>
+        <item>@string/private_space_auto_lock_after_inactivity</item>
+        <item>@string/private_space_auto_lock_never</item>
+    </string-array>
+
+    <!-- Values for private space auto lock option -->
+    <string-array name="private_space_auto_lock_options_values" translatable="false">
+        <item>0</item>
+        <item>1</item>
+        <item>2</item>
+    </string-array>
+
 </resources>
diff --git a/res/values/attrs.xml b/res/values/attrs.xml
index 6f024a3..40a7c58 100644
--- a/res/values/attrs.xml
+++ b/res/values/attrs.xml
@@ -112,12 +112,8 @@
         <attr name="appCount" format="integer" />
     </declare-styleable>
 
+    <!-- TODO: Clean up this -->
     <attr name="switchBarTheme" format="reference" />
-    <attr name="switchBarMarginStart" format="dimension" />
-    <attr name="switchBarMarginEnd" format="dimension" />
-    <attr name="switchBarBackgroundColor" format="color" />
-    <attr name="switchBarBackgroundActivatedColor" format="color" />
-    <attr name="switchBarRestrictionIcon" format="reference" />
 
     <attr name="preferenceBackgroundColor" format="color" />
 
diff --git a/res/values/colors.xml b/res/values/colors.xml
index 657ba11..03225a5 100644
--- a/res/values/colors.xml
+++ b/res/values/colors.xml
@@ -72,10 +72,6 @@
     <color name="contextual_card_background">@*android:color/background_device_default_light</color>
     <!-- End of dashboard/homepage icon background colors -->
 
-    <color name="switchbar_background_color">@*android:color/material_grey_600</color>
-    <color name="switchbar_switch_track_tint">#BFFFFFFF</color>
-    <color name="switchbar_switch_thumb_tint">@android:color/white</color>
-
     <color name="battery_good_color_light">#43a047</color> <!-- Material Green 600 -->
     <color name="battery_bad_color_light">#f44336</color> <!-- Material Red 500 -->
 
@@ -141,6 +137,8 @@
     <color name="SIM_dark_mode_color_pink">#ffff8bcb</color> <!-- Material Pink 300 -->
     <color name="SIM_dark_mode_color_orange">#fffcad70</color> <!-- Material Orange 300 -->
 
+    <!-- Accessibility colors -->
+    <color name="accessibility_text_reading_background">@android:color/white</color>
     <!-- Accessibility Settings icon background colors -->
     <color name="accessibility_feature_background">#5F6368</color> <!-- Google grey 700 -->
     <color name="accessibility_magnification_background">#F50D60</color>
@@ -173,6 +171,10 @@
     <!-- Icon tint color for battery usage system icon -->
     <color name="battery_usage_system_icon_color">?android:attr/textColorPrimary</color>
 
+    <!-- Power anomaly color for icons, button and text -->
+    <color name="power_anomaly_app_warning_hint_color">#D56E0C</color>
+    <color name="power_anomaly_primary_button_text_color">#FFFFFF</color>
+
     <!-- UDFPS colors -->
     <color name="udfps_enroll_icon">#699FF3</color>
     <color name="udfps_moving_target_fill">#C2D7F7</color>
diff --git a/res/values/config.xml b/res/values/config.xml
old mode 100755
new mode 100644
index 17c3398..afd6fdd
--- a/res/values/config.xml
+++ b/res/values/config.xml
@@ -38,8 +38,14 @@
     <!-- Whether to show Camera laser sensor switch in Developer Options -->
     <bool name="config_show_camera_laser_sensor">false</bool>
 
-    <!-- Fully-qualified class name for the implementation of the FeatureFactory to be instantiated. -->
-    <string name="config_featureFactory" translatable="false">com.android.settings.overlay.FeatureFactoryImpl</string>
+    <!-- Intent action to open Avatar Picker app -->
+    <string name="config_avatar_picker_action" translatable="false">
+        com.android.avatarpicker.FULL_SCREEN_ACTIVITY
+    </string>
+    <!-- User avatar dialog result broadcast explicit package -->
+    <string name="config_avatar_picker_package" translatable="false">
+        com.android.avatarpicker
+    </string>
 
     <!-- Package name and fully-qualified class name for the wallpaper picker activity. -->
     <string name="config_wallpaper_picker_package" translatable="false">com.android.settings</string>
@@ -229,6 +235,9 @@
          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.
@@ -258,9 +267,6 @@
         com.android.settings.intelligence
     </string>
 
-    <!-- Whether the confirmation for sim deletion is defaulted to be on or off-->
-    <bool name="config_sim_deletion_confirmation_default_on">false</bool>
-
     <!-- Package Installer package name -->
     <string name="config_package_installer_package_name" translatable="false">
         com.android.packageinstaller
@@ -349,9 +355,6 @@
          Fetch resource from overlay package directly if this is set. -->
     <string name="config_regulatory_info_overlay_package_name" translatable="false" />
 
-    <!-- Whether to show a preference item for mobile plan -->
-    <bool name="config_show_mobile_plan">true</bool>
-
     <!-- Whether none security option is hide or not  (country specific). -->
     <bool name="config_hide_none_security_option">false</bool>
 
@@ -529,8 +532,12 @@
         <item>content://com.android.settings.slices/intent/media_output_indicator</item>
     </string-array>
 
-    <!-- List containing the apps cannot be changed the battery optimize modes -->
-    <string-array name="config_disable_optimization_mode_apps" translatable="false">
+    <!-- List containing the apps keep in battery mode = "Optimized" -->
+    <string-array name="config_force_battery_optimize_mode_apps" translatable="false">
+    </string-array>
+
+    <!-- List containing the apps keep in battery mode = "Unrestricted" -->
+    <string-array name="config_force_battery_unrestrict_mode_apps" translatable="false">
     </string-array>
 
     <!-- Uri to query non-public Slice Uris. -->
@@ -672,6 +679,13 @@
     <!-- The ratio to use when using the two-pane settings layout -->
     <item name="config_activity_embed_split_ratio" format="float" type="dimen">0.3636</item>
 
+    <!-- The smallest value of the smallest-width (sw) of the window in any rotation when the split
+         should be used. -->
+    <integer name="config_activity_embed_split_min_sw_dp">600</integer>
+
+    <!-- The smallest value of current width of the window when the split should be used. -->
+    <integer name="config_activity_embed_split_min_cur_dp">720</integer>
+
     <!-- The number of visible app icons while entering app list related pages for preloading.
          Take the "Unrestricted data" page as the example, the visible app icons could be 15
          on 6.4 inches screen size whether the font size and display size are both small. -->
@@ -689,6 +703,9 @@
     <!-- Whether to enable the advanced vpn feature. The default is not to. -->
     <bool name="config_advanced_vpn_enabled">false</bool>
 
+    <!-- Whether to show the VPN options menu. The default is to show it. -->
+    <bool name="config_show_vpn_options">true</bool>
+
     <!-- An array of uid name for which packages exempt from Wi-Fi permission check. -->
     <string-array name="config_exempt_wifi_permission_uid_name" translatable="false">
         <item>@string/config_settingsintelligence_package_name</item>
@@ -699,7 +716,7 @@
     <bool name="default_allow_sensitive_lockscreen_content">true</bool>
 
     <!-- Whether to enable the app battery usage list page feature. -->
-    <bool name="config_app_battery_usage_list_enabled">true</bool>
+    <bool name="config_app_battery_usage_list_enabled">false</bool>
 
     <!-- Whether sim related information is visible to the end user. -->
     <bool name="config_show_sim_info">true</bool>
@@ -746,14 +763,49 @@
     <!-- Whether to display Cloned Apps page in Settings (Settings > Apps > Cloned Apps).-->
     <bool name="config_cloned_apps_page_enabled">false</bool>
 
+    <!-- Whether to initiate Account login during Private Space setup.-->
+    <bool name="config_privatespace_account_login_enabled">false</bool>
+
     <!-- Certificates of apps which are allowed to use activity embedding with Settings.-->
     <string-array name="config_known_host_certs" translatable="false">
         <item></item>
     </string-array>
 
+    <!-- Whether to display the "Enable wireless display" menu -->
+    <bool name="config_show_wifi_display_enable_menu">true</bool>
+
     <!-- List of packages that should be hidden for MVNO. Do not translate -->
     <string-array name="datausage_hiding_carrier_service_package_names" translatable="false"/>
 
     <!-- List of MVNO. Do not translate -->
     <integer-array name="datausage_hiding_carrier_service_carrier_id" translatable="false"/>
+
+    <!-- App locale change intent action-->
+    <string name ="config_app_locale_intent_action" translatable="false" />
+
+    <!-- Allowed packages to show the confirmation dialog for a system locale suggestion  -->
+    <string-array name="allowed_packages_for_locale_confirmation_diallog" translatable="false"/>
+
+    <!-- Array of text reading preview layouts. Must contain at least 1 layout -->
+    <array name="config_text_reading_preview_samples">
+        <item>@layout/accessibility_text_reading_preview_app_grid</item>
+        <item>@layout/screen_zoom_preview_1</item>
+        <item>@layout/accessibility_text_reading_preview_mail_content</item>
+    </array>
+
+    <!-- Package responsible for updating Mainline Modules -->
+    <string name="config_mainline_module_update_package" translatable="false">com.android.vending</string>
+
+    <!-- Whether location services setting is available or not. -->
+    <bool name="config_show_location_services">true</bool>
+
+    <!-- Whether to disable location toggle for ChromeOS devices-->
+    <bool name="config_disable_location_toggle_for_chrome">false</bool>
+
+    <!-- Whether to display pSIM conversion menu in Settings.-->
+    <bool name="config_psim_conversion_menu_enabled">false</bool>
+
+    <!-- Array of carrier id to allow the pSIM conversion-->
+    <integer-array name="config_psim_conversion_menu_enabled_carrier" translatable="false">
+    </integer-array>
 </resources>
diff --git a/res/values/dimens.xml b/res/values/dimens.xml
index 9703124..4b96486 100755
--- a/res/values/dimens.xml
+++ b/res/values/dimens.xml
@@ -75,10 +75,6 @@
     <!-- Preference icon foreground image inset (from background edge to foreground edge) -->
     <dimen name="preference_icon_foreground_image_inset">12dp</dimen>
 
-    <!-- SwitchBar sub settings margin start / end -->
-    <dimen name="switchbar_subsettings_margin_start">72dp</dimen>
-    <dimen name="switchbar_subsettings_margin_end">16dp</dimen>
-
     <!-- Search bar -->
     <dimen name="search_bar_margin">16dp</dimen>
     <dimen name="search_bar_height">52dp</dimen>
@@ -169,6 +165,34 @@
     <item name="face_preview_scale" format="float" type="dimen">1.0</item>
     <dimen name="face_enroll_intro_illustration_margin_bottom">0dp</dimen>
 
+    <!-- Keyboard -->
+    <dimen name="keyboard_picker_margin_large">68dp</dimen>
+    <dimen name="keyboard_picker_margin">24dp</dimen>
+    <dimen name="keyboard_picker_margin_small">16dp</dimen>
+    <dimen name="keyboard_picker_radius">28dp</dimen>
+    <dimen name="keyboard_picker_text_size">16sp</dimen>
+
+    <!-- RemoteAuth-->
+    <dimen name="remoteauth_fragment_padding_horizontal">40dp</dimen>
+    <dimen name="remoteauth_fragment_subtitle_text_size">14sp</dimen>
+    <dimen name="remoteauth_icon_small_size">24dp</dimen>
+    <dimen name="remoteauth_touchable_area_minimum_span">48dp</dimen>
+    <dimen name="remoteauth_padding_horizontal">24dp</dimen>
+    <dimen name="remoteauth_device_name_text_size">20sp</dimen>
+    <dimen name="remoteauth_device_vertical_margin">12dp</dimen>
+    <dimen name="remoteauth_introduction_fragment_padding_horizontal">30dp</dimen>
+    <dimen name="remoteauth_introduction_description_start_margin">8dp</dimen>
+    <dimen name="remoteauth_introduction_subheading_text_size">18sp</dimen>
+    <dimen name="remoteauth_carousel_progress_margin">28dp</dimen>
+    <dimen name="remoteauth_carousel_progress_circle_diameter">8dp</dimen>
+    <dimen name="remoteauth_carousel_progress_circle_margin">4dp</dimen>
+    <dimen name="remoteauth_enrolling_authenticator_vertical_margin">12dp</dimen>
+    <dimen name="remoteauth_enrolling_authenticator_horizontal_margin">16dp</dimen>
+    <dimen name="remoteauth_enrolling_progress_bar_size">16dp</dimen>
+    <dimen name="remoteauth_settings_top_margin">22dp</dimen>
+    <dimen name="remoteauth_settings_device_horizontal_margin">16dp</dimen>
+
+
     <!-- Lock pattern view size, align sysui biometric_auth_pattern_view_size -->
     <dimen name="biometric_auth_pattern_view_size">348dp</dimen>
     <dimen name="biometric_auth_pattern_view_max_size">@dimen/biometric_auth_pattern_view_size</dimen>
@@ -205,6 +229,16 @@
     <dimen name="message_metadata_top_padding">4dp</dimen>
     <dimen name="message_icon_inset">11dp</dimen>
 
+    <!-- Text Reading Settings -->
+    <dimen name="text_reading_preview_layout_padding_horizontal_min">
+        @*android:dimen/list_item_padding_start_material</dimen>
+    <dimen name="text_reading_preview_background_padding_horizontal_min">18dp</dimen>
+
+    <dimen name="text_reading_preview_layout_padding_horizontal_min_suw">
+        @dimen/text_reading_preview_layout_padding_horizontal_min</dimen>
+    <dimen name="text_reading_preview_background_padding_horizontal_min_suw">
+        @dimen/text_reading_preview_background_padding_horizontal_min</dimen>
+
     <!-- Accessibility Settings -->
     <dimen name="accessibility_layout_margin_start_end">16dp</dimen>
     <dimen name="accessibility_imageview_size">176dp</dimen>
@@ -218,11 +252,6 @@
     <dimen name="accessibility_qs_tooltip_margin">20dp</dimen>
     <dimen name="accessibility_qs_tooltip_margin_top">27dp</dimen>
 
-    <!-- Restricted icon in switch bar -->
-    <dimen name="restricted_icon_margin_end">16dp</dimen>
-    <!-- Restricted icon size in switch bar -->
-    <dimen name="restricted_icon_size">@*android:dimen/config_restrictedIconSize</dimen>
-
     <!-- Padding for Gestures settings screen -->
     <dimen name="gestures_play_button_size">36dp</dimen>
 
@@ -371,7 +400,7 @@
     <dimen name="chartview_divider_height">4dp</dimen>
     <dimen name="chartview_transom_width">4dp</dimen>
     <dimen name="chartview_transom_radius">4dp</dimen>
-    <dimen name="chartview_transom_icon_size">12dp</dimen>
+    <dimen name="chartview_transom_icon_size">18dp</dimen>
     <dimen name="chartview_transom_padding_top">2dp</dimen>
     <dimen name="chartview_transom_layout_height">12dp</dimen>
     <dimen name="chartview_layout_height">182dp</dimen>
@@ -429,7 +458,7 @@
     <dimen name="lottie_animation_view_margin_top">-52dp</dimen>
     <dimen name="limited_vision_button_margin_top">0dp</dimen>
     <dimen name="limited_vision_button_margin_bottom">0dp</dimen>
-    <dimen name="limited_vision_button_toggle_margin_top">0dp</dimen>
+    <dimen name="limited_vision_button_toggle_margin_top">20dp</dimen>
 
     <!-- Default margin for side fps enroll find sensor lottie -->
     <dimen name="sfps_enroll_find_sensor_lottie_margin">0dp</dimen>
@@ -441,4 +470,11 @@
     <dimen name="screen_flash_color_button_inner_circle_size">42dp</dimen>
     <dimen name="screen_flash_color_button_inner_circle_padding">3dp</dimen>
     <dimen name="screen_flash_color_button_inner_circle_stroke">1dp</dimen>
+
+    <!-- An arbitrarily large number to make the max size fit the parent -->
+    <dimen name="animation_max_size">1000dp</dimen>
+
+    <!-- Credential Manager settings dimensions -->
+    <dimen name="credman_primary_provider_pref_left_padding">80dp</dimen>
+    <dimen name="credman_primary_provider_pref_left_padding_compact">24dp</dimen>
 </resources>
diff --git a/res/values/strings.xml b/res/values/strings.xml
index 7fe1daa..76c7106 100644
--- a/res/values/strings.xml
+++ b/res/values/strings.xml
@@ -41,9 +41,13 @@
     <!-- [CHAR LIMIT=NONE] Device Info screen. Okay we get it, stop pressing, you already have it on -->
     <string name="show_dev_already">No need, you are already a developer.</string>
 
-    <!-- [CHAR LIMIT=NONE] Toast message when user attemps to launch developer otions before enabling it. -->
+    <!-- [CHAR LIMIT=NONE] Toast message when user attempts to launch developer options before enabling it. -->
     <string name="dev_settings_disabled_warning">Please enable developer options first.</string>
 
+    <!-- [CHAR LIMIT=NONE] Toast message when non-admin user attempts to launch developer options. -->
+    <string name="dev_settings_available_to_admin_only_warning">Only the admin users can access developer settings.</string>
+
+
     <!-- Category headings in left-pane header menu --> <skip />
     <!-- Settings main menu category heading. System (Updates, data, accessibility, about phone). [CHAR LIMIT=40] -->
     <string name="header_category_system">System</string>
@@ -88,6 +92,11 @@
     <string name="selective_stay_awake_title">Only games, videos, and more</string>
     <!-- Summary for selective stay awake radio button. [CHAR_LIMIT=NONE] -->
     <string name="selective_stay_awake_summary">Front display turns on for apps that stop your screen going idle</string>
+    <!-- Title for fold grace period radio button that, on fold, goes to the lockscreen. [CHAR_LIMIT=NONE] -->
+    <string name="stay_awake_on_lockscreen_title">Swipe up to continue</string>
+    <!-- Summary for folding grace period radio button that, on fold, goes to the lockscreen. [CHAR_LIMIT=NONE] -->
+    <string name="stay_awake_on_lockscreen_summary">Fold your phone and swipe up on the front display to continue using the app, or wait a few seconds for the screen to lock</string>
+
     <!-- Title for sleep on fold radio button. [CHAR_LIMIT=NONE] -->
     <string name="sleep_on_fold_title">Never</string>
     <!-- Summary for sleep on fold radio button. [CHAR_LIMIT=NONE] -->
@@ -123,6 +132,8 @@
     <string name="bluetooth_pairing_pref_title">Pair new device</string>
     <!-- Keywords for bluetooth pairing item [CHAR LIMIT=30] -->
     <string name="keywords_add_bt_device">bluetooth</string>
+    <!-- Title for bluetooth auto on toggle [CHAR LIMIT=60] -->
+    <string name="bluetooth_screen_auto_on_title">Automatically turn on again tomorrow</string>
 
 
     <!-- Button to help user to pair right ear of the hearing aid device. It will show when only one of the hearing aid device set is connected. [CHAR LIMIT=20] -->
@@ -160,10 +171,10 @@
     <string name="bluetooth_ringtone_title">Ringtone and alarms</string>
     <!-- Bluetooth audio output settings. Title of the option managing call audio path. [CHAR LIMIT=30] -->
     <string name="bluetooth_call_title">Audio during calls</string>
-    <!-- Bluetooth audio output settings. Title of the option managing media audio path. [CHAR LIMIT=30] -->
-    <string name="bluetooth_media_title">Media</string>
-    <!-- Bluetooth audio output settings. Title of the option managing system sounds related audio path. [CHAR LIMIT=60] -->
-    <string name="bluetooth_system_sounds_title">Notifications and other system sounds</string>
+    <!-- Bluetooth audio output settings. Title of the option managing media and system sounds related audio path. [CHAR LIMIT=30] -->
+    <string name="bluetooth_media_title">Media and system sounds</string>
+    <!-- Bluetooth audio output settings. Title of the option managing notification audio path. [CHAR LIMIT=60] -->
+    <string name="bluetooth_notification_title">Notifications</string>
     <!-- Description for text in accessibility hearing aids footer. [CHAR LIMIT=NONE] -->
     <string name="bluetooth_audio_routing_footer_summary">By default, audio output is determined by individual apps</string>
 
@@ -240,14 +251,15 @@
     <string name="bluetooth_disable_leaudio">Disable Bluetooth LE audio</string>
     <!-- Summary of toggle for disabling Bluetooth LE audio [CHAR LIMIT=none]-->
     <string name="bluetooth_disable_leaudio_summary">Disables Bluetooth LE audio feature if the device supports LE audio hardware capabilities.</string>
-
+    <!-- Setting toggle title for switch Bluetooth LE Audio mode. [CHAR LIMIT=40] -->
+    <string name="bluetooth_leaudio_mode">Bluetooth LE Audio mode</string>
     <!-- Setting toggle title for enabling Bluetooth LE Audio toggle in Device Details. [CHAR LIMIT=40] -->
     <string name="bluetooth_show_leaudio_device_details">Show LE audio toggle in Device Details</string>
 
-    <!-- Setting toggle title for enabling Bluetooth LE Audio Allow List. [CHAR LIMIT=none] -->
-    <string name="bluetooth_enable_leaudio_allow_list">Enable Bluetooth LE audio Allow List</string>
-    <!-- Summary of toggle for enabling Bluetooth LE audio Allow List [CHAR LIMIT=none]-->
-    <string name="bluetooth_enable_leaudio_allow_list_summary">Enable Bluetooth LE audio allow list feature.</string>
+    <!-- Setting toggle title for ignoring Bluetooth LE Audio Allowlist. [CHAR LIMIT=none] -->
+    <string name="bluetooth_bypass_leaudio_allowlist">Bypass Bluetooth LE Audio Allowlist</string>
+    <!-- Summary of toggle for ignoring Bluetooth LE Audio Allowlist [CHAR LIMIT=none]-->
+    <string name="bluetooth_bypass_leaudio_allowlist_summary">Use LE Audio by default even if LE Audio peripheral hasn\'t been verified to meet Allowlist criteria.</string>
 
     <!-- Title for Bluetooth device group with media capability group [CHAR LIMIT=none]-->
     <string name="connected_device_media_device_title">Media devices</string>
@@ -257,6 +269,10 @@
     <string name="connected_device_other_device_title">Other devices</string>
     <!-- Title for connected device group [CHAR LIMIT=none]-->
     <string name="connected_device_saved_title">Saved devices</string>
+    <!-- Title for fast pair device group [CHAR LIMIT=none]-->
+    <string name="connected_device_fast_pair_device_title">Associated with account</string>
+    <!-- Title for previously associated fast pair device group [CHAR LIMIT=none]-->
+    <string name="connected_device_previously_associated_fast_pair_device_title">Previously used with account</string>
     <!-- Summary for preference to add a device [CHAR LIMIT=none]-->
     <string name="connected_device_add_device_summary">Bluetooth will turn on to pair</string>
     <!-- Title for other connection preferences [CHAR LIMIT=none]-->
@@ -268,6 +284,8 @@
 
     <!-- Title to see all the previous connected devices [CHAR LIMIT=50] -->
     <string name="previous_connected_see_all">See all</string>
+    <!-- Title to see all fast pair devices [CHAR LIMIT=none]-->
+    <string name="connected_device_fast_pair_device_see_all">See all</string>
 
     <!-- Title for stylus device details page [CHAR LIMIT=50] -->
     <string name="stylus_device_details_title">Stylus</string>
@@ -282,6 +300,24 @@
     <!-- Name shown in the title of individual stylus preference in the connected devices page [CHAR LIMIT=60] -->
     <string name="stylus_connected_devices_title">Stylus</string>
 
+    <!-- Title for audio sharing page [CHAR LIMIT=none]-->
+    <string name="audio_sharing_title">Audio sharing</string>
+    <!-- Title for audio sharing primary switch [CHAR LIMIT=none]-->
+    <string name="audio_sharing_switch_title">Share audio</string>
+    <!-- Title for calls and alarms device on audio sharing page [CHAR LIMIT=none]-->
+    <string name="calls_and_alarms_device_title">Calls and alarms</string>
+
+    <!-- Title for audio streams preference category [CHAR LIMIT=none]-->
+    <string name="audio_streams_category_title">Connect to a LE audio stream</string>
+    <!-- Title for audio streams preference [CHAR LIMIT=none]-->
+    <string name="audio_streams_pref_title">Nearby audio streams</string>
+    <!-- Title for audio streams page [CHAR LIMIT=none]-->
+    <string name="audio_streams_title">Audio streams</string>
+    <!-- Summary for QR code scanning in audio streams page [CHAR LIMIT=none]-->
+    <string name="audio_streams_qr_code_summary">Connect to an audio stream using QR code</string>
+    <!--Text that appears when scanning for nearby audio streams is finished and no streams were found [CHAR LIMIT=40]-->
+    <string name="audio_streams_empty">No nearby audio streams were found.</string>
+
     <!-- Date & time settings screen title -->
     <string name="date_and_time">Date &amp; time</string>
 
@@ -398,6 +434,12 @@
     <!-- Title for asking to change system locale or not. [CHAR LIMIT=50]-->
     <string name="title_change_system_locale">Change system language to %s ?</string>
 
+    <!-- The title of a confirmation dialog to indicate adding a system locale. [CHAR LIMIT=50]-->
+    <string name="title_system_locale_addition">Add %s to preferred languages?</string>
+
+    <!-- The content of a confirmation dialog indicating the impact when the user adds a system locale. [CHAR LIMIT=NONE]-->
+    <string name="desc_system_locale_addition">This lets apps and websites know you also prefer this language.</string>
+
     <!-- The text of the confirmation dialog showing the system locale will be changed. [CHAR LIMIT=NONE]-->
     <string name="desc_notice_device_locale_settings_change">Your device settings and regional preferences will change.</string>
 
@@ -452,6 +494,23 @@
     <!-- Support link for the regional preference page. [CHAR LIMIT=NONE]-->
     <string name="regional_pref_footer_learn_more_link" translatable="false">https://support.google.com/android?p=regional_preferences</string>
 
+    <!-- Category for the terms of address. [CHAR LIMIT=NONE]-->
+    <string name="category_title_terms_of_address">Additional preferences</string>
+    <!-- Preference title for the terms of address. [CHAR LIMIT=NONE]-->
+    <string name="terms_of_address_title">Terms of address</string>
+    <!-- Preference summary for the terms of address. [CHAR LIMIT=NONE]-->
+    <string name="terms_of_address_summary">Set how you want to be addressed</string>
+    <!-- The subtitle of terms of address. [CHAR LIMIT=NONE] -->
+    <string name="terms_of_address_intro_title">Apps can use your terms of address to personalize how they address you.</string>
+    <!-- The title of not specified of terms of address. [CHAR LIMIT=NONE] -->
+    <string name="terms_of_address_not_specified">Not specified</string>
+    <!-- The title of feminine of terms of address. [CHAR LIMIT=NONE] -->
+    <string name="terms_of_address_feminine">Feminine</string>
+    <!-- The title of masculine of terms of address. [CHAR LIMIT=NONE] -->
+    <string name="terms_of_address_masculine">Masculine</string>
+    <!-- The title of neutral of terms of address. [CHAR LIMIT=NONE] -->
+    <string name="terms_of_address_neutral">Neutral</string>
+
     <!-- The title of the confirmation dialog shown when the user selects one / several languages and tries to remove them [CHAR LIMIT=60] -->
     <string name="dlg_remove_locales_title">{count, plural,
       =1      {Remove selected language?}
@@ -593,8 +652,8 @@
     <string name="location_settings_summary_location_off">Off</string>
     <!-- Summary for Location settings when location is on, explaining how many apps have location permission [CHAR LIMIT=NONE]-->
     <string name="location_settings_summary_location_on">{count, plural,
-      =1      {On - # app has access to location}
-      other   {On - # apps have access to location}
+      =1      {On / # app has access to location}
+      other   {On / # apps have access to location}
     }</string>
     <!-- Location settings, loading the number of apps which have location permission [CHAR LIMIT=30] -->
     <string name="location_settings_loading_app_permission_stats">Loading\u2026</string>
@@ -614,8 +673,10 @@
     </string>
     <!-- Location settings footer link content description [CHAR LIMIT=NONE] -->
     <string name="location_settings_footer_learn_more_content_description">
-        Learn more about Location Settings.
+        Learn more about Location settings
     </string>
+    <!-- Tooltip for switchbar on Chrome devices. [CHAR LIMIT=90]-->
+    <string name="location_settings_tooltip_text_for_chrome">To change location access, go to Settings > Security and Privacy > Privacy controls</string>
 
     <!-- Main Settings screen setting option title for the item to take you to the accounts screen [CHAR LIMIT=22] -->
     <string name="account_settings_title">Accounts</string>
@@ -753,7 +814,7 @@
     <string name="security_settings_face_settings_remove_face_model">Delete face model</string>
     <!-- Button text in face settings which lets the user enroll their face [CHAR LIMIT=40] -->
     <string name="security_settings_face_settings_enroll">Set up Face Unlock</string>
-   <!-- Dialog title shown when the user removes an enrollment [CHAR LIMIT=35] -->
+    <!-- Dialog title shown when the user removes an enrollment [CHAR LIMIT=35] -->
     <string name="security_settings_face_settings_remove_dialog_title">Delete face model?</string>
     <!-- Dialog contents shown when the user removes an enrollment [CHAR LIMIT=NONE] -->
     <string name="security_settings_face_settings_remove_dialog_details">Your face model will be permanently and securely deleted.\n\nAfter deletion, you will need your PIN, pattern, or password to unlock your phone or for authentication in apps.</string>
@@ -834,11 +895,11 @@
     <!-- Title shown for menu item that launches watch unlock settings. [CHAR LIMIT=40] -->
     <string name ="security_settings_activeunlock_preference_title">Watch Unlock</string>
     <!-- Introduction shown in face and fingerprint page to introduce the biometric feature. [CHAR LIMIT=NONE]-->
-    <string name="biometric_settings_intro_with_activeunlock">When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nYou can unlock with your watch when your face or fingerprint isn\u2019t recognized.</string>
+    <string name="biometric_settings_intro_with_activeunlock">When you set up Face Unlock and Fingerprint Unlock, your phone will ask for your fingerprint when you wear a mask or are in a dark area.\n\nWatch Unlock is another convenient way to unlock your phone, for example, when your fingers are wet or face isn\u2019t recognized.</string>
     <!-- Introduction shown in fingerprint page to explain that watch unlock can be used if fingerprint isn't recognized. [CHAR LIMIT=NONE]-->
-    <string name="biometric_settings_intro_with_fingerprint">You can unlock with your watch when your fingerprint isn\u2019t recognized.</string>
-     <!-- Introduction shown in face page to explain that watch unlock can be used if face isn't recognized. [CHAR LIMIT=NONE]-->
-    <string name="biometric_settings_intro_with_face">You can unlock with your watch when your face isn\u2019t recognized.</string>
+    <string name="biometric_settings_intro_with_fingerprint">Watch Unlock is another convenient way to unlock your phone, for example, when your fingerprint isn\u2019t recognized.</string>
+    <!-- Introduction shown in face page to explain that watch unlock can be used if face isn't recognized. [CHAR LIMIT=NONE]-->
+    <string name="biometric_settings_intro_with_face">Watch Unlock is another convenient way to unlock your phone, for example, when your face isn\u2019t recognized.</string>
     <string name="biometric_settings_use_fingerprint_or_watch_for"> Use fingerprint or watch to</string>
     <string name="biometric_settings_use_face_or_watch_for"> Use face or watch to</string>
     <string name="biometric_settings_use_face_fingerprint_or_watch_for"> Use face, fingerprint, or watch to</string>
@@ -876,6 +937,66 @@
     <!-- 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>
 
+    <!-- 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>
+    <!-- Message shown in summary field when remote authenticator is set up. [CHAR LIMIT=40] -->
+    <string name="security_settings_remoteauth_preference_summary">Watch added</string>
+    <!-- Strings for RemoteAuth enroll introduction page -->
+    <!-- Introduction title shown in remote enrollment to introduce the remote feature [CHAR LIMIT=29] -->
+    <string name="security_settings_remoteauth_enroll_introduction_title">Set up your watch</string>
+    <!-- Summary of the Watch Unlock feature that allows users to unlock the phone with paired watches [CHAR_LIMIT=NONE]-->
+    <string name="security_settings_remoteauth_enroll_introduction_message">Watch Unlock is another convenient way to unlock this phone, for example, when your fingers are wet or face isn\u2019t recognized.\n\nYou can use your watch to unlock this phone when you:</string>
+    <!-- Button text to cancel enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_disagree">Not now</string>
+    <!-- Button text to start enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_agree">Continue</string>
+    <!-- Button text to scroll to the end of a scrollview. [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_introduction_more">More</string>
+    <!-- Heading of the paragraph that explains how the Watch Unlock feature works [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_how_title">How it works</string>
+    <!-- Explains that paired watches must be unlocked, on-body, and nearby, in order to unlock the phone [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_lock_open">Your watch must be unlocked, on your wrist, and within reach of this phone. You won\u2019t need to unlock your watch again while it\u2019s on your wrist.</string>
+    <!-- Explains that users will be notified on the watch when the phone is unlocked by the watch, and they can tap on the notification to lock the phone from the watch [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_notifications">When this phone is unlocked, you\u2019ll get notified on your watch. If it was unlocked when you didn’t intend to, tap the notification to lock the phone again.</string>
+    <!-- Heading of the paragraph that explains how to opt out of the Watch Unlock feature [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_youre_in_control_title">You\u2019re in control</string>
+    <!-- Explains that users can prevent their watches from unlocking their phone by removing them in the Watch Unlock settings [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_info_remove_watch">You can remove your watch from Watch Unlock at any time in Settings</string>
+    <!-- Subtitle for animation that explains users can unlock by tapping a notification [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_animation_tap_notification">Tap a notification</string>
+    <!-- Subtitle for animation that explains users can unlock by swiping up on the lock screen [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_introduction_animation_swipe_up">Swipe up on the lock screen</string>
+    <!-- Strings for RemoteAuth enroll enrolling page -->
+    <!-- Title of the screen that allows users to choose from a list of available watches to enable the Watch Unlock feature [CHAR_LIMIT=45] -->
+    <string name="security_settings_remoteauth_enroll_enrolling_title">Choose your watch</string>
+    <!-- Heading text for the list of watches available for the Watch Unlock feature [CHAR_LIMIT=40] -->
+    <string name="security_settings_remoteauth_enroll_enrolling_list_heading">Available watches</string>
+    <!-- Button text to cancel enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_enrolling_disagree">Cancel</string>
+    <!-- Button text to start enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_enrolling_agree">Confirm</string>
+    <!-- Strings for RemoteAuth enroll finish page -->
+    <!-- Title of the dialog that shows when a paired watch has been set up successfully and can be used to unlock the phone [CHAR_LIMIT=45] -->
+    <string name="security_settings_remoteauth_enroll_finish_title">You\u2019re all set!</string>
+    <!-- Explains when a paired watch can be used to unlock the phone after it has been set up successfully [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_enroll_finish_description">You can now use your watch to unlock this phone when you swipe up on the lock screen or tap a notification</string>
+    <!-- Button text to finish enrollment [CHAR LIMIT=30] -->
+    <string name="security_settings_remoteauth_enroll_finish_btn_next">Done</string>
+    <!-- Strings for RemoteAuth settings page-->
+    <!-- Title for remote authenticator settings page [CHAR_LIMIT=NONE]-->
+    <string name="security_settings_remoteauth_settings_title">Watch Unlock</string>
+    <!-- Explains when a watch can be used to unlock the phone [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_settings_description">You can use your watch to unlock this phone when you swipe up on the lock screen or tap a notification</string>
+    <!-- Explains how to enable the Watch Unlock feature on a watch [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_settings_info_footer">To use Watch Unlock, your watch must be unlocked, on your wrist, within reach, and connected to this phone. If the connection is interrupted, you\u2019ll need to unlock the phone before you can use Watch Unlock.\n\nKeep in mind:\nYou can only have one watch set up at a time. To add another watch, first remove the current one.</string>
+    <!-- Links to the Watch Unlock help center article [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_settings_learn_more">Learn more about Watch Unlock</string>
+    <!-- Button text to add new watch [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_settings_register_new_authenticator">Add watch</string>
+    <!-- Accessibility label of a button that lets users remove enrolled watches from Watch Unlock settings [CHAR_LIMIT=NONE] -->
+    <string name="security_settings_remoteauth_settings_remove_device">Remove watch</string>
+
     <!-- 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>
@@ -996,6 +1117,8 @@
     <string name="security_settings_udfps_enroll_progress_a11y_message">Enrolling fingerprint <xliff:g id="percentage" example="10">%d</xliff:g> percent</string>
     <!-- Title shown in fingerprint enrollment dialog once enrollment is completed [CHAR LIMIT=29] -->
     <string name="security_settings_fingerprint_enroll_finish_title">Fingerprint added</string>
+    <!-- Key for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
+    <string name="security_settings_require_screen_on_to_auth_key" translatable="false">security_settings_require_screen_on_to_auth</string>
     <!-- Title for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
     <string name="security_settings_require_screen_on_to_auth_title">Touch to unlock anytime</string>
     <!-- Description for require screen on to auth toggle shown in fingerprint enrollment dialog once enrollment is completed. [CHAR LIMIT=NONE] -->
@@ -1090,13 +1213,172 @@
 
     <!-- Title for the subpage in the "Security & privacy". This page consists of the more security and privacy settings. Can be navigated by Settings -> Security & privacy -> More security & privacy [CHAR LIMIT=NONE] -->
     <string name="more_security_privacy_settings">More security &amp; privacy</string>
-    <!-- Title for the section that has security entries in the More security & privacy page. [CHAR LIMIT=60] -->
+    <!-- Title for the section that has security entries in the More security & privacy page. Also used for Private Space security category. [CHAR LIMIT=60] -->
     <string name="security_header">Security</string>
     <!-- Title for the section that has privacy entries in the More security & privacy page. [CHAR LIMIT=60] -->
     <string name="privacy_header">Privacy</string>
     <!-- Title for the section that has work profile entries in the More security & privacy page. [CHAR LIMIT=60] -->
     <string name="work_profile_category_header">Work profile</string>
 
+    <!-- Title for the Private Space page. [CHAR LIMIT=60] -->
+    <string name="private_space_title">Private space</string>
+    <!-- Summary for the Private Space page. [CHAR LIMIT=NONE] -->
+    <string name="private_space_summary">Keep private apps locked and hidden</string>
+    <!-- Description for the Private Space page. [CHAR LIMIT=NONE] -->
+    <string name="private_space_description">Keep private apps in a separate space that you can hide or lock</string>
+    <!-- Title for the Private Space one lock preference. [CHAR LIMIT=60] -->
+    <string name="private_space_lock_title">Private space lock</string>
+    <!-- Description for the Private Space one lock preference page. [CHAR LIMIT=NONE] -->
+    <string name="private_space_one_lock_summary">You can unlock your private space the same way you unlock your device, or choose a different lock</string>
+    <!-- Title for the Private Space one lock preference. [CHAR LIMIT=60] -->
+    <string name="private_space_screen_lock_title">Use device screen lock</string>
+    <!-- Title for the Face and Fingerprint preference. [CHAR LIMIT=60] -->
+    <string name="private_space_biometric_title">Face &amp; Fingerprint Unlock</string>
+    <!-- Title for the Fingerprint preference when face hardware is not supported on device. [CHAR LIMIT=40] -->
+    <string name="private_space_fingerprint_title">Fingerprint Unlock</string>
+    <!-- Title for the Face preference when fingerprint unlock is not supported on device. [CHAR LIMIT=40] -->
+    <string name="private_space_face_title">Face Unlock</string>
+    <!-- Summary for the Face and Fingerprint preference when no biometric is set. [CHAR LIMIT=60] -->
+    <string name="private_space_biometric_summary">Tap to set up</string>
+    <!-- Title for the Fingerprint unlock for private space preference. [CHAR LIMIT=60] -->
+    <string name="private_space_fingerprint_unlock_title">Fingerprint Unlock for private space</string>
+    <!-- Title for the Face unlock for private space preference. [CHAR LIMIT=60] -->
+    <string name="private_space_face_unlock_title">Face Unlock for private space</string>
+    <!-- Biometric category title - biometric options for unlocking the device. [CHAR LIMIT=50] -->
+    <string name="private_space_category_ways_to_unlock">Ways to unlock</string>
+    <!-- Summary for one lock when device screen lock is used as private profile lock. [CHAR LIMIT=40] -->
+    <string name="private_space_screen_lock_summary">Same as device screen lock</string>
+    <!-- Dialog message to choose a new lock for Private Space. [CHAR LIMIT=50] -->
+    <string name="private_space_new_lock_title">Choose a new lock for private space?</string>
+    <!-- Title for the preference for auto lock private space and auto lock private space settings page. [CHAR LIMIT=50] -->
+    <string name="private_space_auto_lock_title">Lock private space automatically</string>
+    <!-- Description for private space auto lock settings page. [CHAR LIMIT=NONE] -->
+    <string name="private_space_auto_lock_page_summary">You can lock your private space automatically if you haven\’t used your device for a period of time</string>
+    <!-- Configure auto lock: Value for auto lock configuration to lock private space every time device locks. [CHAR LIMIT=40] -->
+    <string name="private_space_auto_lock_every_time">Every time device locks</string>
+    <!-- Configure auto lock: Value for auto lock configuration to lock private space after 5 minutes of inactivity. [CHAR LIMIT=40] -->
+    <string name="private_space_auto_lock_after_inactivity">After 5 minutes of inactivity</string>
+    <!-- Configure auto lock: Value for auto lock configuration to never lock private space. [CHAR LIMIT=20] -->
+    <string name="private_space_auto_lock_never">Never</string>
+    <!-- Title for the preference to hide Private Space. [CHAR LIMIT=60] -->
+    <string name="private_space_hide_title">Hide when locked</string>
+    <!-- Title for the hide Private Space setting. [CHAR LIMIT=60] -->
+    <string name="privatespace_hide_page_title">Hide private space when locked</string>
+    <!-- Description for hide Private Space settings page. [CHAR LIMIT=NONE] -->
+    <string name="privatespace_hide_page_summary">To stop other people knowing you have a private space on your device, you can hide it from your apps list</string>
+    <!-- Header in hide Private Space settings page to access Private Space when hidden. [CHAR LIMIT=60] -->
+    <string name="privatespace_access_header">Access private space when hidden</string>
+    <!-- Text in hide Private Space settings page on how to search Private Space when hidden. [CHAR LIMIT=90] -->
+    <string name="privatespace_search_description">From your apps list, enter \"private space\" in the search bar</string>
+    <!-- Text in hide Private Space settings page to tap on Private Space tile. [CHAR LIMIT=60] -->
+    <string name="privatespace_tap_tile_description">Tap the private space tile</string>
+    <!-- Text in hide Private Space settings page to Unlock Private Space. [CHAR LIMIT=60] -->
+    <string name="privatespace_unlock_description">Unlock your private space</string>
+    <!-- Used to describe the off state of Private space hidden [CHAR LIMIT=30] -->
+    <string name="privatespace_hide_off_summary">Off</string>
+    <!-- Used to describe the off state of Private space hidden [CHAR LIMIT=30] -->
+    <string name="privatespace_hide_on_summary">On</string>
+    <!-- System category for the Private Space page. [CHAR LIMIT=30] -->
+    <string name="private_space_category_system">System</string>
+    <!-- Title for the preference to delete Private Space. [CHAR LIMIT=40] -->
+    <string name="private_space_delete_title">Delete private space</string>
+    <!-- Title for the delete private space page. [CHAR LIMIT=40] -->
+    <string name="private_space_delete_header">Delete private space?</string>
+    <!-- Description for hide Private Space settings page. [CHAR LIMIT=NONE] -->
+    <string name="private_space_delete_summary">Your private space will be removed from your device. All private apps and data will be deleted. You can’t undo this action.</string>
+    <!-- Text for the accounts added to private space that will be removed. [CHAR LIMIT=90] -->
+    <string name="private_space_accounts">The following accounts will be removed from your private space:</string>
+    <!-- Label for private space delete button [CHAR LIMIT=30] -->
+    <string name="private_space_delete_button_label">Delete</string>
+    <!-- Title for the private space delete confirmation page. [CHAR LIMIT=40] -->
+    <string name="private_space_confirm_deletion_header">Deleting private space\u2026</string>
+    <!-- Description for private space delete confirmation page that mentions it will take a few moments. [CHAR LIMIT=40] -->
+    <string name="private_space_confirm_deletion_summary">This will take a few moments</string>
+    <!-- Toast to show when the private space was deleted. [CHAR LIMIT=NONE] -->
+    <string name="private_space_deleted">Private space deleted</string>
+    <!-- Toast to show when the private space could not be deleted. [CHAR LIMIT=NONE] -->
+    <string name="private_space_delete_failed">Private space could not be deleted</string>
+    <!-- Toast to show when the private space is unlocked from settings entry point. [CHAR LIMIT=40] -->
+    <string name="private_space_unlocked">Private space unlocked</string>
+    <!-- Title of the Alert Dialog when no screen lock is set [CHAR LIMIT=30] -->
+    <string name="no_device_lock_title">Set a screen lock</string>
+    <!-- Summary of the alert when no screen lock is set [CHAR LIMIT=90] -->
+    <string name="no_device_lock_summary">To use your private space, set a screen lock on this device</string>
+    <!-- Action label for dialog when no screen lock is set [CHAR LIMIT=30] -->
+    <string name="no_device_lock_action_label">Set screen lock</string>
+    <!-- Action label to cancel Alert dialog when no screen lock is set [CHAR LIMIT=30] -->
+    <string name="no_device_lock_cancel">Cancel</string>
+    <!-- Action label to cancel private space Setup flow [CHAR LIMIT=30] -->
+    <string name="private_space_cancel_label">Cancel</string>
+    <!-- Label for private space setup button to create private space [CHAR LIMIT=30] -->
+    <string name="private_space_setup_button_label">Set up</string>
+    <!-- Title for Private Space setup education screen. [CHAR LIMIT=50] -->
+    <string name="private_space_setup_title">Set up a private space</string>
+    <!-- Summary for the private space setup education screen. [CHAR LIMIT=NONE] -->
+    <string name="private_space_hide_apps_summary">Keep private apps in a separate space that you can hide or lock</string>
+    <!-- Text shown in private space setup screen which explains how the private space works [CHAR LIMIT=50] -->
+    <string name="private_space_how_title">How it works</string>
+    <!-- Text shown in private space setup screen which explains private space can be accessed from bottom of all apps list. [CHAR LIMIT=NONE] -->
+    <string name="private_space_access_bottom_text">You can access your private space from the bottom of your apps list</string>
+    <!-- Text shown in private space setup screen which explains private space apps are protected by a lock. [CHAR LIMIT=60] -->
+    <string name="private_space_protected_lock_text">Apps in your private space are protected by a lock</string>
+    <!-- Text shown in private space setup screen which explains notifications from private space apps will not be shown when private space is locked. [CHAR LIMIT=NONE] -->
+    <string name="private_space_hidden_notifications_text">Notifications from apps in your private space are hidden when it\u2019s locked</string>
+    <!-- This is info text to help explain in private space setup screen that the permissions granted to private space apps will not be shown in settings when private space is locked. [CHAR LIMIT=NONE] -->
+    <string name="private_space_apps_permission_text">Apps in your private space won\'t appear in permission manager, privacy dashboard, and other settings when your private space is locked.\n\nYour private space can\'t be moved to a new device. You\'ll need to set up another private space if you want to use it on another device.\n\nAnyone that connects your device to a computer or installs harmful apps on your device may be able to access your private space.</string>
+    <!-- Text shown at the bottom in private space auto advancing  screens. [CHAR LIMIT=60] -->
+    <string name="private_space_setting_up_text">Setting up private space\u2026</string>
+    <!-- Title for private space setup in auto advancing screen informing private space notifications are hidden when locked. [CHAR LIMIT=NONE] -->
+    <string name="private_space_notifications_hidden_title">Notifications from private space apps are hidden when it\u2019s locked</string>
+    <!-- Title for private space setup in auto advancing screen informing photos/files from private space can be shared when unlocked. [CHAR LIMIT=NONE] -->
+    <string name="private_space_share_photos_title">Unlock private space to share photos or files</string>
+    <!-- Title for private space setup in auto advancing screen informing some system apps are already installed in private space. [CHAR LIMIT=NONE] -->
+    <string name="private_space_apps_installed_title">Some apps are already installed in your private space</string>
+    <!-- Title for private space creation error screen. [CHAR LIMIT=60] -->
+    <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>
+    <!-- Title for private space lock setup screen. [CHAR LIMIT=90] -->
+    <string name="private_space_lockscreen_title">Use screen lock to unlock private space?</string>
+    <!-- Summary for the private space lock setup screen. [CHAR LIMIT=NONE] -->
+    <string name="private_space_lockscreen_summary">You can unlock your private space the same way you unlock your device, or choose a different lock</string>
+    <!-- Action label to use existing device lock for private space. [CHAR LIMIT=50] -->
+    <string name="private_space_use_screenlock_label">Use screen lock</string>
+    <!-- Label for private space lock setup button to choose a new lock. [CHAR LIMIT=50] -->
+    <string name="private_space_set_lock_label">Choose new lock</string>
+    <!-- Title for private space setup success screen. [CHAR LIMIT=30] -->
+    <string name="private_space_success_title">All set!</string>
+    <!-- Summary for the private space setup success screen. [CHAR LIMIT=NONE] -->
+    <string name="private_space_access_text">To find your private space, go to your apps list then scroll down</string>
+    <!-- Label for private space done button to show a toast, finish setup and launch All apps [CHAR LIMIT=30] -->
+    <string name="private_space_done_label">Done</string>
+    <!-- Toast to show on private space setup completion informing user to scroll down All apps to access private space. [CHAR LIMIT=60] -->
+    <string name="private_space_scrolldown_to_access">Scroll down to find private space</string>
+    <!-- Title for private space account login error screen. [CHAR LIMIT=30] -->
+    <string name="private_space_retry_signin_title">Sign in</string>
+    <!-- Summary for the private space account login error screen. [CHAR LIMIT=NONE] -->
+    <string name="private_space_retry_summary">Sign in to an account to use with your private space</string>
+    <!-- Label for button to skip private space account sign in. [CHAR LIMIT=30] -->
+    <string name="private_space_skip_login_label">Not now</string>
+    <!-- Label for button to coninue with private space account sign in. [CHAR LIMIT=30] -->
+    <string name="private_space_continue_login_label">Continue</string>
+    <!-- private space lock setup screen title. This title is asking the user to choose a type of screen lock (such as a pattern, PIN, or password) that they need to enter to unlock private space. [CHAR LIMIT=60] -->
+    <string name="private_space_lock_setup_title">Choose a lock for your private space</string>
+    <!-- private space lock setup screen description [CHAR LIMIT=NONE] -->
+    <string name="private_space_lock_setup_description">You can unlock your private space using your fingerprint. For security, this option requires a backup lock.</string>
+    <!-- Header for private space choose your PIN screen [CHAR LIMIT=40] -->
+    <string name="private_space_choose_your_pin_header">Set a PIN for your private space</string>
+    <!-- Header for private space choose your password screen [CHAR LIMIT=40] -->
+    <string name="private_space_choose_your_password_header">Set a password for your private space</string>
+    <!-- Header for private space choose your pattern screen [CHAR LIMIT=40] -->
+    <string name="private_space_choose_your_pattern_header">Set a pattern for your private space</string>
+    <!-- Header for private space apps and notifications section [CHAR LIMIT=40] -->
+    <string name="private_space_apps_and_notifications_header">Apps and notifications</string>
+    <!-- Title for private space sensitive notifications toggle [CHAR LIMIT=80] -->
+    <string name="private_space_notifications_title">Sensitive notifications on lock screen</string>
+    <!-- Summary description for private space sensitive notifications toggle [CHAR LIMIT=200] -->
+    <string name="private_space_sensitive_notifications_description">Show sensitive content when private space is unlocked</string>
+
     <!-- Text shown when "Add fingerprint" button is disabled -->
     <string name="fingerprint_add_max">You can add up to <xliff:g id="count" example="5">%d</xliff:g> fingerprints</string>
     <!-- Text shown when users has enrolled a maximum number of fingerprints [CHAR LIMIT=NONE] -->
@@ -1245,7 +1527,7 @@
     <string name="unlock_set_unlock_mode_password">Password</string>
 
     <!-- Title of the dialog shown when the user removes the device lock [CHAR LIMIT=NONE] -->
-    <string name="unlock_disable_frp_warning_title">Delete screen lock?</string>
+    <string name="unlock_disable_frp_warning_title">Remove all types of device unlock?</string>
     <!-- Title of the dialog shown when the user removes the profile lock [CHAR LIMIT=NONE] -->
     <string name="unlock_disable_frp_warning_title_profile">Remove profile protection?</string>
 
@@ -1259,12 +1541,20 @@
     <string name="unlock_disable_frp_warning_content_pattern_face_fingerprint">"A pattern protects your phone if it\u2019s lost or stolen.<xliff:g id="empty_line">\n\n</xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won\u2019t be able to use your face or fingerprint for authentication in apps."</string>
     <!-- Content of the dialog shown when the user removes the device lock PIN [CHAR LIMIT=NONE] -->
     <string name="unlock_disable_frp_warning_content_pin">"A PIN protects your phone if it\u2019s lost or stolen"</string>
+    <!-- Content of the dialog shown when the user removes the device lock PIN and there are apps with auth-bound keys that will be affected [CHAR LIMIT=NONE] -->
+    <string name="unlock_disable_frp_warning_content_pin_authbound_keys">"You will lose saved data like your PIN.<xliff:g id="empty_line">\n\n</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="empty_line">\n\n</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <!-- Content of the dialog shown when the user removes the device lock PIN and the user has fingerprints enrolled [CHAR LIMIT=NONE] -->
     <string name="unlock_disable_frp_warning_content_pin_fingerprint">"A PIN protects your phone if it\u2019s lost or stolen.<xliff:g id="empty_line">\n\n</xliff:g>This also deletes the fingerprint model stored on your device. You won\u2019t be able to use your fingerprint for authentication in apps."</string>
+    <!-- Content of the dialog shown when the user removes the device lock PIN and the user has fingerprints enrolled and there are apps with auth-bound keys that will be affected [CHAR LIMIT=NONE] -->
+    <string name="unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys">"You will lose saved data like your PIN and fingerprint model.<xliff:g id="empty_line">\n\n</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="empty_line">\n\n</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <!-- Content of the dialog shown when the user removes the device lock PIN and the user has face enrolled [CHAR LIMIT=NONE] -->
     <string name="unlock_disable_frp_warning_content_pin_face">"A PIN protects your phone if it\u2019s lost or stolen.<xliff:g id="empty_line">\n\n</xliff:g>Your face model will also be permanently and securely deleted. You won\u2019t be able to use your face for authentication in apps."</string>
+    <!-- Content of the dialog shown when the user removes the device lock PIN and the user has face enrolled and there are apps with auth-bound keys that will be affected [CHAR LIMIT=NONE] -->
+    <string name="unlock_disable_frp_warning_content_pin_face_authbound_keys">"You will lose saved data like your PIN and face model.<xliff:g id="empty_line">\n\n</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="empty_line">\n\n</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <!-- Content of the dialog shown when the user removes the device lock PIN and the user has face authentication and fingerprint enrolled [CHAR LIMIT=NONE] -->
     <string name="unlock_disable_frp_warning_content_pin_face_fingerprint">"A PIN protects your phone if it\u2019s lost or stolen.<xliff:g id="empty_line">\n\n</xliff:g>This deletes the fingerprint model stored on your device. Your face model will also be permanently and securely deleted. You won\u2019t be able to use your face or fingerprint for authentication in apps."</string>
+    <!-- Content of the dialog shown when the user removes the device lock PIN and the user has face authentication and fingerprint enrolled and there are apps with auth-bound keys that will be affected [CHAR LIMIT=NONE] -->
+    <string name="unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys">"You will lose saved data like your PIN, face and fingerprint models.<xliff:g id="empty_line">\n\n</xliff:g>Cards set up for tap to pay will be removed.<xliff:g id="empty_line">\n\n</xliff:g>Wallets and other apps that require device unlock may not work properly."</string>
     <!-- Content of the dialog shown when the user removes the device lock password [CHAR LIMIT=NONE] -->
     <string name="unlock_disable_frp_warning_content_password">"A password protects your phone if it\u2019s lost or stolen"</string>
     <!-- Content of the dialog shown when the user removes the device lock password and the user has fingerprints enrolled [CHAR LIMIT=NONE] -->
@@ -1468,7 +1758,7 @@
     <string name="bluetooth_pairing_request">Pair with <xliff:g id="device_name">%1$s</xliff:g>?</string>
 
     <!-- Message when a bluetooth device from a coordinated set is bonding late. [CHAR LIMIT=NONE] -->
-    <string name="bluetooth_pairing_group_late_bonding">Add new member to the existing coordinated set</string>
+    <string name="bluetooth_pairing_group_late_bonding">Confirm to add the second piece of your audio device</string>
 
     <!-- Message when bluetooth is informing the user of the pairing key. [CHAR LIMIT=NONE] -->
     <string name="bluetooth_pairing_key_msg">Bluetooth pairing code</string>
@@ -1491,11 +1781,17 @@
     <string name="bluetooth_enter_passkey_other_device">You may also need to type this passkey on the other device.</string>
 
     <!-- Pairing dialog text to remind user the pairing including all of the devices in a coordinated set. [CHAR LIMIT=NONE] -->
-    <string name="bluetooth_paring_group_msg">Confirm to pair with the coordinated set</string>
+    <string name="bluetooth_paring_group_msg">Confirm to pair with the audio device</string>
 
     <!-- Checkbox message in pairing dialogs.  [CHAR LIMIT=NONE] -->
     <string name="bluetooth_pairing_shares_phonebook">Allow access to your contacts and call history</string>
 
+    <!-- Phonebook sharing toggle message in pairing dialogs.  [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_pairing_phonebook_toggle_text">Also allow access to contacts and call history</string>
+
+    <!-- Phonebook sharing toggle detailed message in pairing dialogs.  [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_pairing_phonebook_toggle_details">Info will be used for call announcements and more</string>
+
     <!-- Title for BT error dialogs. -->
     <string name="bluetooth_error_title"></string>
 
@@ -1510,10 +1806,14 @@
     <string name="bluetooth_device_context_disconnect">Disconnect</string>
     <!-- Bluetooth settings.  Context menu item for a device.  Action will first pair, and then connect to all profiles on the device. -->
     <string name="bluetooth_device_context_pair_connect">Pair &amp; connect</string>
-    <!-- Bluetooth settings. Text displayed when Bluetooth is off and device list is empty [CHAR LIMIT=50]-->
-    <string name="bluetooth_empty_list_bluetooth_off">When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices.</string>
+    <!-- Bluetooth settings. Text displayed when Bluetooth is off and device list is empty [CHAR LIMIT=NONE]-->
+    <string name="bluetooth_empty_list_bluetooth_off">When Bluetooth is turned on, your device can communicate with other nearby Bluetooth devices</string>
+    <!-- Bluetooth settings. Text displayed when Bluetooth is off and device list is empty when auto-on feature is enabled [CHAR LIMIT=NONE]-->
+    <string name="bluetooth_empty_list_bluetooth_off_auto_on_available">When Bluetooth is on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share, Find My Device, and device location use Bluetooth.</string>
     <!-- Bluetooth settings. Text displayed when Bluetooth is off and bluetooth scanning is turned on [CHAR LIMIT=NONE] -->
     <string name="bluetooth_scanning_on_info_message">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>
+    <!-- Bluetooth settings. Text displayed when Bluetooth is off and bluetooth scanning is turned on [CHAR LIMIT=NONE] -->
+    <string name="bluetooth_scanning_on_info_message_auto_on_available">When Bluetooth is on, your device can communicate with other nearby Bluetooth devices. Features like Quick Share, Find My Device, and device location 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>
     <!-- Bluetooth settings. Link text to bring the user to "scanning settings" screen. [CHAR LIMIT=NONE]-->
     <string name="bluetooth_scan_change">Change</string>
 
@@ -1645,6 +1945,11 @@
     <!-- Debugging developer settings: show refresh rate summary [CHAR LIMIT=58] -->
     <string name="show_refresh_rate_summary">Show the current display refresh rate</string>
 
+    <!-- Debugging developer settings: show HDR/SDR ratio? [CHAR LIMIT=36] -->
+    <string name="show_hdr_sdr_ratio">Show HDR/SDR ratio</string>
+    <!-- Debugging developer settings: show HDR/SDR ratio summary [CHAR LIMIT=58] -->
+    <string name="show_hdr_sdr_ratio_summary">Show the current HDR/SDR ratio</string>
+
     <!-- NFC settings -->
     <!-- Used in the 1st-level settings screen to turn on NFC -->
     <string name="nfc_quick_toggle_title">NFC</string>
@@ -1687,6 +1992,12 @@
     <string name="wifi_notify_open_networks">Notify for public networks</string>
     <!-- Checkbox summary for option to notify user when open networks are nearby-->
     <string name="wifi_notify_open_networks_summary">Notify when a high\u2011quality public network is available</string>
+    <!-- Checkbox title for option to allow user to connect to wep networks-->
+    <string name="wifi_allow_wep_networks">Allow WEP networks</string>
+    <!-- Checkbox summary for option to allow user to connect to wep networks-->
+    <string name="wifi_allow_wep_networks_summary">WEP is an older security protocol that\u0027s less secure</string>
+    <!-- Checkbox summary for option to allow user to connect to wep networks when it is blocked by carrier-->
+    <string name="wifi_allow_wep_networks_summary_carrier_not_allow">Your carrier doesn\u0027t allow WEP networks because they\u0027re less secure</string>
     <!-- Checkbox title for option to enable Wi-Fi when saved networks are nearby -->
     <string name="wifi_wakeup">Turn on Wi\u2011Fi automatically</string>
     <!-- Checkbox summary for option to enable Wi-Fi when high quality saved networks are nearby-->
@@ -1736,6 +2047,18 @@
     <string name="wifi_settings_scanning_required_turn_on">Turn on</string>
     <!-- Wi-Fi settings dialog. Text to show in toast for when user turns on wifi scanning. [CHAR LIMIT=NONE] -->
     <string name="wifi_settings_scanning_required_enabled">Wi\u2011Fi scanning turned on</string>
+    <!-- Wi-Fi settings dialog. Warning on the password entry page for a WEP network, when WEP networks are allowed. [CHAR LIMIT=NONE] -->
+    <string name="wifi_settings_warning_wep_network">This network uses an older security protocol that\u0027s less secure</string>
+    <!-- Wi-Fi settings dialog. Title of dialog displayed when WEP network is blocked. [CHAR LIMIT=NONE] -->
+    <string name="wifi_settings_wep_networks_blocked_title"><xliff:g id="name">%1$s</xliff:g> is blocked</string>
+    <!-- Wi-Fi settings dialog. Summary text of dialog displayed when WEP network toggle is turned off. [CHAR LIMIT=NONE] -->
+    <string name="wifi_settings_wep_networks_summary_toggle_off">This network uses an older security protocol called WEP, which is less secure. To connect anyway, you can allow WEP networks.</string>
+    <!-- Wi-Fi settings dialog. Summary text of dialog displayed when WEP network is blocked by the carrier. [CHAR LIMIT=NONE] -->
+    <string name="wifi_settings_wep_networks_summary_blocked_by_carrier">Your carrier doesn\u0027t allow you to connect to this network because it uses an older security protocol that’s less secure</string>
+    <!-- Wi-Fi settings dialog. Button text of dialog displayed when WEP network toggle is turned off. [CHAR LIMIT=NONE] -->
+    <string name="wifi_settings_wep_networks_button_allow">Allow WEP</string>
+    <!-- Wi-Fi settings dialog. Button text of dialog displayed when WEP network toggle is blocked. [CHAR LIMIT=NONE] -->
+    <string name="wifi_settings_ssid_block_button_close">Close</string>
 
     <!-- Dialog for Access Points --> <skip />
     <!-- Label to show/hide advanced options [CHAR LIMIT=40] -->
@@ -1881,7 +2204,7 @@
     <string name="wifi_dpp_connect_network_using_qr_code">Use a QR code to add a device to this network</string>
     <!-- Hint for QR code process failure [CHAR LIMIT=NONE]  -->
     <string name="wifi_dpp_qr_code_is_not_valid_format">QR code isn\u0027t a valid format</string>
-     <!-- Label for the try again button [CHAR LIMIT=20]-->
+    <!-- Label for the try again button [CHAR LIMIT=20]-->
     <string name="retry">Retry</string>
     <!-- Label for the check box to share a network with other users on the same device -->
     <string name="wifi_shared">Share with other device users</string>
@@ -1929,12 +2252,8 @@
 
     <!-- Button label to connect to a Wi-Fi network -->
     <string name="wifi_connect">Connect</string>
-    <!-- Turned on notification for Wi-Fi [CHAR LIMIT=40] -->
-    <string name="wifi_turned_on_message">Wi\u2011Fi turned on</string>
     <!-- A notification for connected to a Wi-Fi network [CHAR LIMIT=NONE] -->
     <string name="wifi_connected_to_message">Connected to <xliff:g id="network_name" example="MyNetwork">%1$s</xliff:g></string>
-    <!-- A notification for connecting to a Wi-Fi network [CHAR LIMIT=NONE] -->
-    <string name="wifi_connecting_to_message">Connecting to <xliff:g id="network_name" example="MyNetwork">%1$s</xliff:g></string>
     <!-- Button label to connecting progress to a Wi-Fi network [CHAR LIMIT=20] -->
     <string name="wifi_connecting">Connecting\u2026</string>
     <!-- Failured notification for connect -->
@@ -1945,8 +2264,6 @@
     <string name="wifi_forget">Forget</string>
     <!-- Button label to modify a Wi-Fi network -->
     <string name="wifi_modify">Modify</string>
-    <!-- Failured notification for forget -->
-    <string name="wifi_failed_forget_message">Failed to forget network</string>
     <!-- Button label to save a Wi-Fi network configuration -->
     <string name="wifi_save">Save</string>
     <!-- Failured notification for save -->
@@ -2004,7 +2321,7 @@
     <!-- Ethernet summary in Internet source preference [CHAR LIMIT=NONE]-->
     <string name="internet_source_ethernet">Ethernet</string>
     <!-- Hotspot device details battery charging summary [CHAR LIMIT=NONE]-->
-    <string name="hotspot_battery_charging_summary"><xliff:g id="battery_percentage" example="80%">%s</xliff:g> \u2011 Charging</string>
+    <string name="hotspot_battery_charging_summary"><xliff:g id="battery_percentage" example="80%">%1$s</xliff:g> \u2011 Charging</string>
     <!-- Hotspot device details preference category title in Network details [CHAR LIMIT=NONE]-->
     <string name="hotspot_connection_category">Hotspot connection</string>
     <!-- Connection strength preference in Hotspot connection preference category [CHAR LIMIT=NONE]-->
@@ -2076,8 +2393,6 @@
     <string name="wifi_hotspot_name_title">Hotspot name</string>
     <!-- Label for Wifi hotspot password. -->
     <string name="wifi_hotspot_password_title">Hotspot password</string>
-    <!-- Label for Wifi hotspot AP Band. -->
-    <string name="wifi_hotspot_ap_band_title">AP Band</string>
 
     <!-- Title for the toggle to turn off hotspot automatically [CHAR LIMIT=NONE]-->
     <string name="wifi_hotspot_auto_off_title">Turn off hotspot automatically</string>
@@ -2396,10 +2711,14 @@
     <string name="display_white_balance_summary"></string>
     <!-- Display settings screen, setting option name to change Fold setting -->
     <string name="fold_lock_behavior_title">Continue using apps on fold</string>
+    <!-- Display settings screen, game default frame rate settings title [CHAR LIMIT=65] -->
+    <string name="disable_game_default_frame_rate_title">Disable default frame rate for games</string>
+    <!-- Display settings screen, game default frame rate settings summary [CHAR LIMIT=NONE] -->
+    <string name="disable_game_default_frame_rate_summary">Disable limiting the maximum frame rate for games at <xliff:g id="frame_rate" example="60">%1$d</xliff:g> Hz.</string>
     <!-- Display settings screen, peak refresh rate settings title [CHAR LIMIT=30] -->
-    <string name="peak_refresh_rate_title">Smooth Display</string>
+    <string name="peak_refresh_rate_title">Smooth display</string>
     <!-- Display settings screen, peak refresh rate settings summary [CHAR LIMIT=NONE] -->
-    <string name="peak_refresh_rate_summary">Automatically raises the refresh rate from 60 to <xliff:g name="refresh_rate" example="120">%1$s</xliff:g> Hz for some content. Increases battery usage.</string>
+    <string name="peak_refresh_rate_summary">Automatically raises the refresh rate up to <xliff:g name="refresh_rate" example="120">%1$d</xliff:g> Hz for some content. Increases battery usage.</string>
     <!-- Display developer settings: Force to the highest refresh rate [CHAR LIMIT=NONE] -->
     <string name="force_high_refresh_rate_toggle">Force peak refresh rate</string>
     <!-- Display developer settings: Force to the highest refresh rate description [CHAR LIMIT=NONE]-->
@@ -2420,6 +2739,8 @@
     <string name="adaptive_sleep_contextual_slice_title">Turn on screen attention</string>
     <!-- Description about the contextual adaptive sleep card [CHAR LIMIT=NONE]-->
     <string name="adaptive_sleep_contextual_slice_summary">Keep screen on when looking at it</string>
+    <!-- Description about the power consumption implication in screen timeout footer [CHAR LIMIT=NONE]-->
+    <string name="power_consumption_footer_summary">Longer screen timeout will use more battery.</string>
     <!-- auto_rotate settings screen, title about the camera privacy lock enabled [CHAR LIMIT=NONE]-->
     <string name="auto_rotate_camera_lock_title">Camera is locked</string>
     <!-- Description feature's privacy sensitive details to make sure users understand what feature users, what it saves/sends etc [CHAR LIMIT=NONE]-->
@@ -2451,7 +2772,7 @@
     <string name="night_display_temperature_title">Intensity</string>
     <!-- Display settings screen, summary of night display when off and will *never* turn on automatically. [CHAR LIMIT=NONE] -->
     <string name="night_display_summary_off_auto_mode_never">Will never turn on automatically</string>
-         <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
+    <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
     <string name="night_display_summary_off_auto_mode_custom">Will turn on automatically at <xliff:g name="time" example="6 AM">%1$s</xliff:g></string>
     <!-- Display settings screen, summary of night display when off and will turn on automatically at sunset. [CHAR LIMIT=NONE] -->
     <string name="night_display_summary_off_auto_mode_twilight">Will turn on automatically at sunset</string>
@@ -2497,7 +2818,7 @@
     <string name="dark_ui_summary_off_auto_mode_never">Will never turn on automatically</string>
     <!-- Display settings screen, summary of Dark UI when off and will turn on automatically at sunset. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_off_auto_mode_auto">Will turn on automatically at sunset</string>
-        <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
+    <!-- Display settings screen, summary format of night display when off and will turn on automatically at a user defined time. [CHAR LIMIT=NONE] -->
     <string name="dark_ui_summary_off_auto_mode_custom">Will turn on automatically at <xliff:g name="time" example="6 AM">%1$s</xliff:g></string>
     <!-- Display settings screen, summary 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>
@@ -2714,9 +3035,9 @@
     <string name="imei_multi_sim_primary">IMEI (sim slot <xliff:g id="imei_slot_id_primary">%1$d</xliff:g>) (primary)</string>
     <!-- About phone screen, summary of the MAC address [CHAR LIMIT=80] -->
     <string name="view_saved_network">To view, choose saved network</string>
-    <!-- Do not translate. About phone, status item title -->
+    <!-- About phone, status item title. This translation is for specific language only. Like: fr-CA -->
     <string name="status_imei">IMEI</string>
-    <!-- Do not translate. About phone, status item title -->
+    <!-- About phone, status item title. This translation is for specific language only. Like: fr-CA -->
     <string name="status_imei_sv">IMEI SV</string>
     <!-- Do not translate. About phone, status item title -->
     <string name="status_iccid">ICCID</string>
@@ -2859,8 +3180,8 @@
     <!-- Body of dialog informing user about the storage used by the Android System [CHAR LIMIT=NONE]-->
     <string name="storage_detail_dialog_system">System includes files used to run Android version <xliff:g id="version" example="8.0">%s</xliff:g></string>
 
-  <!-- Message to notify guest users as to why they can't set up the storage device [CHAR LIMIT=50]-->
-  <string name="storage_wizard_guest">Guest mode users cannot format SD cards</string>
+    <!-- Message to notify guest users as to why they can't set up the storage device [CHAR LIMIT=50]-->
+    <string name="storage_wizard_guest">Guest mode users cannot format SD cards</string>
 
     <!-- In-progress title. This string lets the user know the SD card is being formatted. The user won't be able to proceed with setup until this step is finished. The placeholder is for the name of the device (e.g. brand name of the SD card). [CHAR LIMIT=32] -->
     <string name="storage_wizard_format_progress_title">Formatting <xliff:g id="name" example="SD card">^1</xliff:g>\u2026</string>
@@ -2905,7 +3226,7 @@
     <!-- Body of a dialog. This text is confirming that the user wants to use their SD card as extra phone storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_format_confirm_v2_body">This <xliff:g id="name" example="SanDisk SD card">^1</xliff:g> needs to be formatted to store apps, files, and media.
 \n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
-  <!-- Body of a dialog. This text is confirming that the user wants to use their SD card as portable storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
+    <!-- Body of a dialog. This text is confirming that the user wants to use their SD card as portable storage, but the formatting process will erase existing content on the card. The first placeholder is for the name of the device (e.g. a brand name of the SD card or USB drive). The second and third placeholders are for the general references (e.g. SD card, USB drive). [CHAR LIMIT=NONE] -->
     <string name="storage_wizard_format_confirm_v2_body_external">This <xliff:g id="name" example="SanDisk SD card">^1</xliff:g> needs to be formatted to store photos, videos, music, and more.
         \n\nFormatting will erase existing content on the <xliff:g id="name" example="SD card">^2</xliff:g>. To avoid losing content, back it up to another <xliff:g id="name" example="SD card">^3</xliff:g> or device.</string>
     <!-- Button text. If a user taps this button, their SD card or USB device will be formatted and used as extra phone storage. The placeholder is for the specific device (e.g. SD card, USB drive, etc.). [CHAR LIMIT=16] -->
@@ -2958,11 +3279,17 @@
     <!-- Summary of the communal settings under Settings > Communal [CHAR LIMIT=50] -->
     <string name="communal_settings_summary">Communal settings</string>
 
+    <!-- _satellite_setting_preference_layout -->
+    <!-- _satellite_setting_preference_layout screen title-->
+    <string name="satellite_setting">Satellite Messaging</string>
+
     <!-- APN Settings -->
     <!-- APN settings screen title -->
     <string name="apn_settings">APNs</string>
     <!-- Screen title after user selects APNs setting option -->
     <string name="apn_edit">Edit access point</string>
+    <!-- Screen title after user selects add APNs setting -->
+    <string name="apn_add">Add access point</string>
     <!-- Edit access point label summary text when no value has been set -->
     <string name="apn_not_set">Not set</string>
     <!-- Edit access point label summary text when no value has been set for mvno value. [CHAR LIMIT=NONE]-->
@@ -3005,6 +3332,10 @@
     <string name="carrier_enabled_summaryOff">APN disabled</string>
     <!-- Edit Beaerer Info of APN -->
     <string name="bearer">Bearer</string>
+    <!-- Edit Network Type Info of APN -->
+    <string name="network_type">Network type</string>
+    <!-- Network type unspecified -->
+    <string name="network_type_unspecified">Unspecified</string>
     <!-- Edit Mvno Type Info of APN -->
     <string name="mvno_type">MVNO type</string>
     <!-- Edit Mvno Match Data Info of APN -->
@@ -3019,6 +3350,8 @@
     <string name="menu_cancel">Cancel</string>
     <!-- APN error dialog title -->
     <string name="error_title"></string>
+    <!-- APN error dialog messages when the new apn is a duplicate: -->
+    <string name="error_duplicate_apn_entry">Duplicate apn entry.</string>
     <!-- APN error dialog messages: -->
     <string name="error_name_empty">The Name field can\u2019t be empty.</string>
     <!-- APN error dialog messages: -->
@@ -3029,6 +3362,8 @@
     <string name="error_mnc_not23">MNC field must be 2 or 3 digits.</string>
     <!-- APN error dialog messages: -->
     <string name="error_adding_apn_type">Carrier does not allow adding APNs of type %s.</string>
+    <!-- APN error messages: -->
+    <string name="error_mmsc_valid">MMSC field must be valid.</string>
     <!-- The message of dialog indicated restoring default APN settings in progress -->
     <string name="restore_default_apn">Restoring default APN settings.</string>
     <!-- APNs screen menu option to reset default APN settings -->
@@ -3062,7 +3397,7 @@
     <!-- Erase Euicc dialog and SD card & phone storage settings screen, title for the menu option and checkbox to let user decide whether erase eSIM data together [CHAR LIMIT=50] -->
     <string name="reset_esim_title">Erase eSIMs</string>
     <!-- Erase Euicc dialog and SD card & phone storage settings screen, message for the checkbox to let user decide whether erase eSIM data together [CHAR LIMIT=NONE] -->
-    <string name="reset_esim_desc">This won’t cancel any mobile service plans. To download replacement SIMs, contact your carrier.</string>
+    <string name="reset_esim_desc">This won’t cancel your mobile service plan. To get a replacement SIM, contact your carrier.</string>
 
     <!-- SD card & phone storage settings screen, button on screen after user selects Reset network settings -->
     <string name="reset_network_button_text">Reset settings</string>
@@ -3079,9 +3414,9 @@
     <!-- Reset settings complete toast text [CHAR LIMIT=75] -->
     <string name="reset_network_complete_toast">Network settings have been reset</string>
     <!-- Title of the error message shown when error happens during erase eSIM data [CHAR LIMIT=NONE] -->
-    <string name="reset_esim_error_title">Can\u2019t erase SIMs</string>
+    <string name="reset_esim_error_title">Can\u2019t erase eSIMs</string>
     <!-- Message of the error message shown when error happens during erase eSIM data [CHAR LIMIT=NONE] -->
-    <string name="reset_esim_error_msg">eSIMs can\u2019t be erased due to an error.\n\nRestart your device and try again.</string>
+    <string name="reset_esim_error_msg">Something went wrong and your eSIMs weren\u2019t erased.\n\nRestart your device and try again.</string>
 
     <!-- Main Clear -->
     <!-- Button title to factory data reset the entire device [CHAR LIMIT=NONE] -->
@@ -3097,7 +3432,7 @@
     <!-- SD card & phone storage settings screen, message on screen after user selects Reset phone button [CHAR LIMIT=NONE] -->
     <string name="main_clear_final_desc">All of your personal information and downloaded apps will be deleted. You can\u2019t undo this action.</string>
     <!-- SD card & phone storage settings screen, message on screen after user selects Reset phone button [CHAR LIMIT=NONE] -->
-    <string name="main_clear_final_desc_esim">All of your personal information, including downloaded apps &amp; SIMs, will be deleted. You can\u2019t undo this action.</string>
+    <string name="main_clear_final_desc_esim">All of your personal information, including downloaded apps &amp; eSIMs, will be deleted. You can\u2019t undo this action.</string>
     <!-- Main clear confirmation screen title [CHAR LIMIT=33] -->
     <string name="main_clear_confirm_title">Erase all data?</string>
     <!-- Error message for users that aren't allowed to factory reset [CHAR LIMIT=none] -->
@@ -3169,29 +3504,8 @@
     <!-- Tethering preference summary when hotspot and tethering are off [CHAR LIMIT=NONE]-->
     <string name="tether_preference_summary_off">Off</string>
 
-    <!-- Tethering interface options [CHAR LIMIT=NONE]-->
-    <string name="tethering_interface_options">Tethering</string>
-
-    <!-- Disable Wifi Hotspot option-->
-    <!-- Don't use Wi-Fi hotspot title [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_title">Don\u2019t use Wi\u2011Fi hotspot</string>
-    <!-- Don't use Wi-Fi hotspot summary when USB tethering is chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_usb_on">Only share internet via USB</string>
-    <!-- Don't use Wi-Fi hotspot summary when Bluetooth tethering is chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_bluetooth_on">Only share internet via Bluetooth</string>
-    <!-- Don't use Wi-Fi hotspot summary when Ethernet tethering is chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_ethernet_on">Only share internet via Ethernet</string>
-    <!-- Don't use Wi-Fi hotspot summary when USB tethering and Bluetooth tethering are chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_on">Only share internet via USB and Bluetooth</string>
-    <!-- Don't use Wi-Fi hotspot summary when USB tethering and Ethernet tethering are chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_usb_and_ethernet_on">Only share internet via USB and Ethernet</string>
-    <!-- Don't use Wi-Fi hotspot summary when Bluetooth tethering and Ethernet tethering are chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_bluetooth_and_ethernet_on">Only share internet via Bluetooth and Ethernet</string>
-    <!-- Don't use Wi-Fi hotspot summary when USB, Bluetooth and Ethernet tethering are chosen [CHAR LIMIT=NONE]-->
-    <string name="disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on">Only share internet via USB, Bluetooth and Ethernet</string>
-
     <!-- USB Tethering options -->
-    <string name="usb_title">USB</string>
+    <!-- Label for USB tethering switch [CHAR LIMIT=NONE]-->
     <string name="usb_tethering_button_text">USB tethering</string>
 
     <!-- Bluetooth Tethering settings-->
@@ -3213,9 +3527,6 @@
     <!-- Wireless controls, item title to go into the network settings -->
     <string name="network_settings_title">Mobile network</string>
 
-    <!-- Mobile plan [CHAR LIMIT=35]-->
-    <string name="manage_mobile_plan_title" translatable="true">Mobile plan</string>
-
     <!-- SMS Application [CHAR LIMIT=35]-->
     <string name="sms_application_title" translatable="true">SMS app</string>
     <string name="sms_change_default_dialog_title" translatable="true">Change SMS app?</string>
@@ -3229,18 +3540,6 @@
     <!-- Wifi Assistant request message.  This message asks the user if it is okay for an app to become the Wifi Assistant. [CHAR LIMIT=100] -->
     <string name="network_scorer_change_active_no_previous_dialog_text">Use <xliff:g id="new_app">%s</xliff:g> to manage your network connections?</string>
 
-    <!-- The SIM operator is not known [CHAR_ LIMIT=50]-->
-    <string name="mobile_unknown_sim_operator" translatable="true">Unknown SIM operator</string>
-
-    <!-- There is no mobile provisiong website for the operator which is the firat parameter [CHAR_ LIMIT=50]-->
-    <string name="mobile_no_provisioning_url"><xliff:g id="operator">%1$s</xliff:g> has no known provisioning website</string>
-
-    <!-- Ask user to insert a SIM card [CHAR_ LIMIT=50]-->
-    <string name="mobile_insert_sim_card" translatable="true">Please insert SIM card and restart</string>
-
-    <!-- Ask user to connect to the internet [CHAR_ LIMIT=50]-->
-    <string name="mobile_connect_to_internet" translatable="true">Please connect to the internet</string>
-
     <!-- Location settings screen, sub category for recent location requests [CHAR LIMIT=42] -->
     <string name="location_category_recent_location_requests">Recent location requests</string>
 
@@ -3691,6 +3990,18 @@
     <string name="controls_label">Controls</string>
     <!-- Manage applications, text label for button to kill / force stop an application -->
     <string name="force_stop">Force stop</string>
+    <!-- Manage applications, text label for button to archive an application. Archiving means uninstalling the app without deleting user's personal data and replacing the app with a stub app with minimum size. So, the user can unarchive the app later and not lose any personal data. -->
+    <string name="archive">Archive</string>
+    <!-- Manage applications, text label for button to restore an application. Restoring means installing the archived app. -->
+    <string name="restore">Restore</string>
+    <!-- Manage applications, text label for button while the application is restoring. -->
+    <string name="restoring_step_one">Restoring</string>
+    <!-- Manage applications, text label for button while the application is restoring. -->
+    <string name="restoring_step_two">Restoring.</string>
+    <!-- Manage applications, text label for button while the application is restoring. -->
+    <string name="restoring_step_three">Restoring..</string>
+    <!-- Manage applications, text label for button while the application is restoring. -->
+    <string name="restoring_step_four">Restoring...</string>
     <!-- Manage applications, individual application info screen,label under Storage heading.  The total storage space taken up by this app. -->
     <string name="total_size_label">Total</string>
     <!-- Manage applications, individual application info screen, label under Storage heading. The amount of space taken up by the application itself (for example, the java compield files and things like that) -->
@@ -3801,6 +4112,15 @@
     <!-- Manage applications, text for Move button -->
     <string name="move_app">Move</string>
 
+    <!-- Toast message when archiving an app failed. -->
+    <string name="archiving_failed">Archiving failed</string>
+    <!-- Toast message when archiving an app succeeded. -->
+    <string name="archiving_succeeded">Archived <xliff:g id="package_label" example="Translate">%1$s</xliff:g></string>
+    <!-- Toast message when restoring an app failed. -->
+    <string name="restoring_failed">Restoring failed</string>
+    <!-- Toast message when restoring an app has started. -->
+    <string name="restoring_in_progress">Restoring <xliff:g id="package_label" example="Translate">%1$s</xliff:g></string>
+
     <!-- Text of pop up message if the request for a "migrate primary storage" operation
          (see storage_menu_migrate) is denied as another is already in progress. [CHAR LIMIT=75] -->
     <string name="another_migration_already_in_progress">Another migration is already in progress.</string>
@@ -3998,12 +4318,26 @@
     <string name="add_virtual_keyboard">Manage on-screen keyboards</string>
     <!-- Title for the 'keyboard options' preference category. [CHAR LIMIT=35] -->
     <string name="keyboard_options_category">Options</string>
+    <!-- Title for the 'keyboard accessibility options' preference category. [CHAR LIMIT=35] -->
+    <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=100] -->
+    <string name="bounce_keys_summary">Enable Bounce keys for physical keyboard accessibility</string>
+    <!-- Title for the 'Slow keys' preference switch. [CHAR LIMIT=35] -->
+    <string name="slow_keys">Slow keys</string>
+    <!-- Summary text for the 'Slow keys' preference sub-screen. [CHAR LIMIT=100] -->
+    <string name="slow_keys_summary">Enable Slow keys for physical keyboard accessibility</string>
+    <!-- Title for the 'Sticky keys' preference switch. [CHAR LIMIT=35] -->
+    <string name="sticky_keys">Sticky keys</string>
+    <!-- Summary text for the 'Sticky keys' preference sub-screen. [CHAR LIMIT=100] -->
+    <string name="sticky_keys_summary">Enable Sticky keys for physical keyboard accessibility</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] -->
@@ -4040,6 +4374,10 @@
     <string name="trackpad_pointer_speed">Pointer speed</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" -->
+    <string name="keywords_touchpad">trackpad, track pad, mouse, cursor, scroll, swipe, right click, click, pointer</string>
+    <!-- Search keywords for 'Bottom-right tap', the name of the touchpad setting that allows the user to click the bottom right corner of the touchpad for more options. -->
+    <string name="keywords_trackpad_bottom_right_tap">right click, tap</string>
 
     <!-- Title text for 'Go home' gesture education [CHAR LIMIT=35] -->
     <string name="gesture_title_go_home">Go home</string>
@@ -4240,7 +4578,9 @@
     <!-- Spinner label to indicate sort by app name. [CHAR LIMIT=30] -->
     <string name="usage_stats_sort_by_app_name">Sort by app name</string>
     <!-- label for last time used -->
-    <string name="last_time_used_label">Last time used</string>
+    <string name="last_time_used_label">Last used</string>
+    <!-- label for last time used of never opened apps -->
+    <string name="last_time_used_never">never</string>
     <!-- label for usage time -->
     <string name="usage_time_label">Usage time</string>
 
@@ -4369,8 +4709,6 @@
     <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 the accessibility preference screen to enable triple-tap gesture screen magnification. [CHAR LIMIT=35] -->
-    <string name="accessibility_screen_magnification_gestures_title">Magnify with triple-tap</string>
     <!-- Title for the accessibility preference screen to enable navigation bar screen magnification. [CHAR LIMIT=35] -->
     <string name="accessibility_screen_magnification_navbar_title">Magnify with shortcut</string>
     <!-- Summary for the accessibility magnification setting indicating both "Magnify with button" and "Magnify with triple-tap" are enabled [CHAR LIMIT=50] -->
@@ -4409,7 +4747,7 @@
     <string name="accessibility_screen_magnification_navbar_short_summary">Tap a button to zoom</string>
     <!-- Intro for the accessibility preference screen to enable screen magnification gestures. [CHAR LIMIT=none] -->
     <string name="accessibility_screen_magnification_intro_text">Quickly zoom in on the screen to make content larger</string>
-    <!-- Summary for the accessibility preference screen to enable screen magnification gestures. [CHAR LIMIT=none] -->
+    <!-- Instructions on the accessibility preference screen teaching the user how to enable screen magnification gestures. [CHAR LIMIT=none] -->
     <string name="accessibility_screen_magnification_summary">
         <![CDATA[
         <b>To zoom in:</b><br/>
@@ -4436,6 +4774,8 @@
     <string name="accessibility_tutorial_dialog_title_volume">Hold volume keys to open</string>
     <!-- Title for the accessibility tutorial dialog in accessibility service with triple tap. [CHAR LIMIT=100] -->
     <string name="accessibility_tutorial_dialog_title_triple">Triple tap screen to open</string>
+    <!-- Title for the accessibility tutorial dialog in accessibility service with two finger double tap. [CHAR LIMIT=100] -->
+    <string name="accessibility_tutorial_dialog_title_two_finger_double">Two finger double tap screen to open</string>
     <!-- Title for the accessibility tutorial dialog in accessibility service with gesture. [CHAR LIMIT=50] -->
     <string name="accessibility_tutorial_dialog_title_gesture">Use gesture to open</string>
     <!-- Title for the accessibility tutorial dialog in gesture navigation settings. [CHAR LIMIT=50] -->
@@ -4448,6 +4788,8 @@
     <string name="accessibility_tutorial_dialog_message_volume">To use this feature, press &amp; hold both volume keys.</string>
     <!-- Instruction for the accessibility tutorial dialog in accessibility service with triple tap. [CHAR LIMIT=100] -->
     <string name="accessibility_tutorial_dialog_message_triple">To start and stop magnification, triple-tap anywhere on your screen.</string>
+    <!-- Instruction for the accessibility tutorial dialog in accessibility service with two finger double tap. [CHAR LIMIT=100] -->
+    <string name="accessibility_tutorial_dialog_message_two_finger_triple">To start and stop magnification, double-tap anywhere on your screen with two fingers.</string>
     <!-- Message for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is not enabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_tutorial_dialog_message_gesture">To use this feature, swipe up from the bottom of the screen with 2 fingers.\n\nTo switch between features, swipe up with 2 fingers and hold.</string>
     <!-- Message for the accessibility tutorial dialog when user enables an accessibility service while using gesture navigation and touch exploration is enabled. [CHAR LIMIT=NONE] -->
@@ -4458,8 +4800,8 @@
     <string name="accessibility_tutorial_dialog_message_gesture_settings_talkback">To use an accessibility feature, swipe up from the bottom of the screen with 3 fingers.\n\nTo switch between features, swipe up with 3 fingers and hold.</string>
     <!-- Button for the accessibility tutorial dialog to dismiss the dialog when user clicks it. [CHAR LIMIT=10] -->
     <string name="accessibility_tutorial_dialog_button">Got it</string>
-    <!-- Button for the accessibility tutorial dialog to link to accessibility settings page. [CHAR LIMIT=30] -->
-    <string name="accessibility_tutorial_dialog_link_button">Accessibility button settings</string>
+    <!-- Button for the accessibility tutorial dialog to open the Accessibility button settings page. [CHAR LIMIT=30] -->
+    <string name="accessibility_tutorial_dialog_link_button">Button settings</string>
     <!-- Title for accessibility shortcut preference for accessibility apps. [CHAR LIMIT=40] -->
     <string name="accessibility_shortcut_title"><xliff:g id="service" example="Select to Speak">%1$s</xliff:g> shortcut</string>
     <!-- Title for software shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
@@ -4490,6 +4832,12 @@
     <string name="accessibility_shortcut_hardware_keyword">hold volume keys</string>
     <!-- Summary for hardware shortcut in accessibility edit shortcut dialog. [CHAR LIMIT=NONE] -->
     <string name="accessibility_shortcut_edit_dialog_summary_hardware">Press &amp; hold both volume keys</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>
+    <!-- Part of list to compose user's accessibility shortcut list. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_shortcut_two_finger_double_tap_keyword">two-finger double-tap screen</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] -->
@@ -4526,10 +4874,24 @@
     <string name="accessibility_button_intro">Using the accessibility button. The gesture isn\u2019t available with 3-button navigation.</string>
     <!-- Summary text for the accessibility button preference. [CHAR LIMIT=50] -->
     <string name="accessibility_button_summary">Quickly access accessibility features</string>
-    <!-- Description for the accessibility button in gesture navigation. Explain how this page works. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_button_gesture_description"><b>To get started</b>\n1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose whether you want to use a button or gesture to access the feature</string>
-    <!-- Description for the accessibility button page. Explain how this page works. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_button_description"><b>To get started</b>\n1. Go to accessibility settings\n2. Select a feature and tap the shortcut\n3. Choose the button to access the feature</string>
+    <!-- Description for the accessibility button in gesture navigation. Explain how this page works in numbered ordered list. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_button_gesture_description">
+        <![CDATA[
+        <b>To get started</b><br/>
+        {0,number,integer}. Go to accessibility settings<br/>
+        {1,number,integer}. Select a feature and tap the shortcut<br/>
+        {2,number,integer}. Choose whether you want to use a button or gesture to access the feature<br/>
+        ]]>
+    </string>
+    <!-- Description for the accessibility button page. Explain how this page works in numbered ordered list. [CHAR LIMIT=NONE] -->
+    <string name="accessibility_button_description">
+        <![CDATA[
+        <b>To get started</b><br/>
+        {0,number,integer}. Go to accessibility settings<br/>
+        {1,number,integer}. Select a feature and tap the shortcut<br/>
+        {2,number,integer}. Choose the button to access the feature<br/>
+        ]]>
+    </string>
     <!-- Title for the button or gesture of the accessibility button. [CHAR LIMIT=35] -->
     <string name="accessibility_button_or_gesture_title">Use button or gesture</string>
     <!-- Title for the location of the accessibility button. [CHAR LIMIT=35] -->
@@ -4562,6 +4924,10 @@
     <string name="accessibility_toggle_large_pointer_icon_title">Large mouse pointer</string>
     <!-- Summary for the accessibility preference for enabling/disabling large icons for mouse/trackpad pointers. [CHAR LIMIT=60] -->
     <string name="accessibility_toggle_large_pointer_icon_summary">Make the mouse pointer more noticeable</string>
+    <!-- Title for the accessibility preference for forcing all apps to use dark theme. [CHAR LIMIT=35] -->
+    <string name="accessibility_force_invert_title">Make all apps dark</string>
+    <!-- Summary for the accessibility preference for forcing all apps to use dark theme. [CHAR LIMIT=100] -->
+    <string name="accessibility_force_invert_summary">Applies to apps without their own dark theme. Some apps may have display issues, like inverted colors.</string>
     <!-- Title for the accessibility preference for disabling animations. [CHAR LIMIT=35] -->
     <string name="accessibility_disable_animations">Remove animations</string>
     <!-- Summary for the accessibility preference for disabling animations. [CHAR LIMIT=60] -->
@@ -4676,6 +5042,8 @@
     <string name="accessibility_alarm_vibration_title">Alarm vibration</string>
     <!-- Title for preference for configuring media vibrations (e.g. vibrations played together with animations, music, videos, etc). [CHAR LIMIT=NONE] -->
     <string name="accessibility_media_vibration_title">Media vibration</string>
+    <!-- Toggle for keyboard vibration. [CHAR LIMIT=NONE]-->
+    <string name="accessibility_keyboard_vibration_title">Keyboard vibration</string>
     <!-- Title for accessibility preference for configuring ring vibrations. [CHAR LIMIT=NONE] -->
     <string name="accessibility_ring_vibration_title">Ring vibration</string>
     <!-- Title for accessibility preference for configuring notification vibrations. -->
@@ -4788,7 +5156,7 @@
     <!-- Title for accessibility hearing device page footer. [CHAR LIMIT=40] -->
     <string name="accessibility_hearing_device_about_title">About hearing devices</string>
     <!-- Description for text in accessibility hearing aids footer. [CHAR LIMIT=NONE] -->
-    <string name="accessibility_hearing_device_footer_summary">Make sure your hearing device is turned on and ready to pair</string>
+    <string name="accessibility_hearing_device_footer_summary">Make sure your hearing device is turned on and ready to pair. Only ASHA and LE Audio hearing devices show on this page.</string>
     <!-- Title for the pair hearing device page. [CHAR LIMIT=25] -->
     <string name="accessibility_hearing_device_pairing_page_title">Pair hearing device</string>
     <!-- Title for the preference category containing the list of the available hearing during and after bluetooth scanning devices. [CHAR LIMIT=30] -->
@@ -4808,7 +5176,7 @@
     <!-- List of synonyms used in the settings search bar to find the "Audio Description. [CHAR LIMIT=NONE] -->
     <string name="keywords_audio_description">audio description, audio, description, low vision,</string>
 
-    <!-- Preference's shortcut when enabled. [CHAR LIMIT=NONE] -->
+    <!-- Shows when the shortcut of an accessibility feature is turned on. The accessibility feature could refer to any accessibility feature installed on the device. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_shortcut_enabled">Shortcut on</string>
     <!-- Preference's shortcut when disabled. [CHAR LIMIT=NONE] -->
     <string name="accessibility_summary_shortcut_disabled">Off</string>
@@ -5003,15 +5371,12 @@
     <string name="accessibility_dialog_button_deny">Deny</string>
 
     <!-- String for the allow button in accessibility permission dialog. [CHAR LIMIT=10] -->
-    <string name="accessibility_dialog_button_stop">Stop</string>
+    <string name="accessibility_dialog_button_stop">Turn off</string>
     <!-- String for the deny button in accessibility permission dialog. [CHAR LIMIT=10] -->
-    <string name="accessibility_dialog_button_cancel">Cancel</string>
+    <string name="accessibility_dialog_button_cancel">Keep on</string>
 
     <!-- Title for a warning about disabling an accessibility service. [CHAR LIMIT=NONE] -->
-    <string name="disable_service_title">Stop <xliff:g id="service" example="TalkBack">%1$s</xliff:g>?</string>
-    <!-- Message for a warning about disabling accessibility service. [CHAR LIMIT=NONE] -->
-    <string name="disable_service_message">Tapping <xliff:g id="stop" example="Stop">%1$s</xliff:g> will
-        stop <xliff:g id="service" example="TalkBack">%2$s</xliff:g>.</string>
+    <string name="disable_service_title">Turn off <xliff:g id="service" example="TalkBack">%1$s</xliff:g>?</string>
 
     <!-- Title for the prompt shown as a placeholder if no accessibility services are installed. [CHAR LIMIT=50] -->
     <string name="accessibility_no_services_installed">No services installed</string>
@@ -5028,7 +5393,7 @@
     <!-- List of synonyms used in the settings search bar to find the “Extra Dim” setting, which dims your screen. Title name is located at strings/reduce_bright_colors_preference_title. [CHAR LIMIT=NONE] -->
     <string name="keywords_reduce_bright_colors">light sensitivity, photophobia, dark theme, migraine, headache, reading mode, night mode, reduce brightness, white point</string>
     <!-- List of synonyms used in the settings search bar to find the “Accessibility”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_accessibility">Ease of use, ease of access, assistance, assistive</string>
+    <string name="keywords_accessibility">vision, hearing, blind, deaf, motor, dexterity, assistive, assistance, ease of use, ease of access, hand, help</string>
     <!-- List of synonyms used in the settings search bar to find the “Magnification”. [CHAR LIMIT=NONE] -->
     <string name="keywords_magnification">Window Magnifier, Zoom, Magnification, Low vision, Enlarge, make bigger</string>
     <!-- List of synonyms used in the settings search bar to find the “TalkBack”. [CHAR LIMIT=NONE] -->
@@ -5058,13 +5423,19 @@
     <!-- List of synonyms used in the settings search bar to find the “Switch Access”. [CHAR LIMIT=NONE] -->
     <string name="keywords_switch_access"></string>
     <!-- List of synonyms used in the settings search bar to find the “Autoclick(dwell timing)”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_auto_click">motor, mouse</string>
+    <string name="keywords_auto_click">motor, mouse, external mouse, head mouse, adaptive mouse, wheelchair, joystick</string>
     <!-- List of synonyms used in the settings search bar to find the “Hearing aids”. [CHAR LIMIT=NONE] -->
-    <string name="keywords_hearing_aids">hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors</string>
+    <string name="keywords_hearing_aids">hearing aids, hard of hearing, hearing loss, cochlear implants, amplification devices, sound processors, PSAP</string>
     <!-- List of synonyms used in the settings search bar to find the “Real-time text (RTT)”. [CHAR LIMIT=NONE] -->
     <string name="keywords_rtt">hard of hearing, hearing loss, captions, Teletype, tty</string>
     <!-- List of synonyms used in the settings search bar to find the “Voice Access”. [CHAR LIMIT=NONE] -->
     <string name="keywords_voice_access"></string>
+    <!-- List of synonyms used in the settings search bar to find the “3-button navigation”. [CHAR LIMIT=NONE] -->
+    <string name="keywords_3_button_navigation">three buttons</string>
+    <!-- List of synonyms used in the settings search bar to find the “Touch & hold delay”. [CHAR LIMIT=NONE] -->
+    <string name="keywords_touch_and_hold_delay">dexterity, motor, senior, arthritis, rsi, stroke, tremor, multiple sclerosis, cerebral palsy, shaking, repetitive strain injury, hand</string>
+    <!-- List of synonyms used in the settings search bar to find the “Time to take action (Accessibility timeout)”. [CHAR LIMIT=NONE] -->
+    <string name="keywords_accessibility_timeout">delay, dexterity, senior</string>
 
     <skip />
 
@@ -5173,6 +5544,10 @@
     <string name="power_discharge_remaining"><xliff:g id="remain">%1$s</xliff:g> remaining</string>
     <!-- Display time remaining until battery is charged [CHAR_LIMIT=60] -->
     <string name="power_charge_remaining"><xliff:g id="until_charged">%1$s</xliff:g> to charge</string>
+    <!-- Title for app screen time in power usage detail page [CHAR LIMIT=NONE] -->
+    <string name="power_usage_detail_screen_time">Screen time</string>
+    <!-- Title for app background time in power usage detail page [CHAR LIMIT=NONE] -->
+    <string name="power_usage_detail_background_time">Background time</string>
 
     <!-- Description of battery state and remaining time (e.g. Charging rapidly • 1hr 23 min left until full)-->
     <string name="battery_state_and_duration" translatable="false"><xliff:g id="state">%1$s</xliff:g> • <xliff:g id="time">%2$s</xliff:g></string>
@@ -5188,6 +5563,12 @@
     <!-- Dialog message when app can't been restricted because it is not optimized [CHAR_LIMIT=120] -->
     <string name="background_activity_disabled_dialog_text">Since this app is not set to optimize battery, you can\u2019t restrict it.\n\nTo restrict the app, first turn on battery optimization.</string>
 
+    <!-- Category title for battery background settings in power usage detail page [CHAR LIMIT=NONE] -->
+    <string name="manager_battery_usage_category_title">Manage battery usage</string>
+    <!-- Title for allow background usage [CHAR LIMIT=NONE] -->
+    <string name="manager_battery_usage_allow_background_usage_title">Allow background usage</string>
+    <!-- Summary for allow background usage [CHAR LIMIT=NONE] -->
+    <string name="manager_battery_usage_allow_background_usage_summary">Enable for real-time updates, disable to save battery</string>
     <!-- Title for the battery unrestricted settings [CHAR_LIMIT=40] -->
     <string name="manager_battery_usage_unrestricted_title">Unrestricted</string>
     <!-- Title for the battery optimized settings [CHAR_LIMIT=40] -->
@@ -5266,18 +5647,6 @@
     <string name="battery_tip_limited_temporarily_title">Charging optimized to protect your battery</string>
     <!-- Summary for the battery limited temporarily tip [CHAR LIMIT=NONE] -->
     <string name="battery_tip_limited_temporarily_summary">To help extend your battery\'s lifespan, charging is optimized</string>
-    <!-- Title for the battery dock defender future bypass tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_dock_defender_future_bypass_title">Charging optimized to protect your battery</string>
-    <!-- Summary for the battery dock defender future bypass tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_dock_defender_future_bypass_summary">To help extend your battery\'s lifespan, charging is optimized while docked</string>
-    <!-- Title for the battery dock defender active tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_dock_defender_active_title">Charging optimized to protect your battery</string>
-    <!-- Summary for the battery dock defender active tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_dock_defender_active_summary">To help extend your battery\'s lifespan, charging is optimized while docked</string>
-    <!-- Title for the battery dock defender temporarily bypassed tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_dock_defender_temporarily_bypassed_title">Charging to full</string>
-    <!-- Summary for the battery dock defender temporarily bypassed tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_dock_defender_temporarily_bypassed_summary">To protect your battery, charging will be optimized the next time your tablet is docked</string>
     <!-- Content description for the battery limited temporarily tip secondary button [CHAR LIMIT=NONE] -->
     <string name="battery_tip_limited_temporarily_sec_button_content_description">Learn more about charging is paused</string>
     <!-- Text of battery limited temporarily tip resume charge button. [CHAR LIMIT=NONE] -->
@@ -5326,10 +5695,10 @@
     <string name="battery_tip_unrestrict_app_dialog_ok">Remove</string>
     <!-- CANCEL button for dialog to remove restriction for app [CHAR LIMIT=NONE] -->
     <string name="battery_tip_unrestrict_app_dialog_cancel">Cancel</string>
-    <!-- Charge to full button for battery defender tips [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_charge_to_full_button">Charge to full</string>
+    <!-- Override button for Battery Defender Tip to start charging  [CHAR LIMIT=NONE] -->
+    <string name="battery_tip_charge_to_full_button">Override</string>
     <!-- Title of incompatible charging battery tip [CHAR LIMIT=NONE] -->
-    <string name="battery_tip_incompatible_charging_title">Issue with charging accessory</string>
+    <string name="battery_tip_incompatible_charging_title">Check charging accessory</string>
     <!-- Content description for the incompatible charging battery tip button [CHAR LIMIT=NONE] -->
     <string name="battery_tip_incompatible_charging_content_description">Learn more about incompatible charging</string>
 
@@ -5423,8 +5792,10 @@
     <string name="battery_usage_without_time"></string>
     <!-- Description for the specific time slot in the battery usage page [CHAR LIMIT=120] -->
     <string name="battery_usage_since_last_full_charge">since last full charge</string>
-   <!-- Description for system apps aggregated battery usage data [CHAR LIMIT=120] -->
+    <!-- Description for system apps aggregated battery usage data [CHAR LIMIT=120] -->
     <string name="battery_usage_system_apps">System apps</string>
+    <!-- Description for uninstalled apps aggregated battery usage data [CHAR LIMIT=120] -->
+    <string name="battery_usage_uninstalled_apps">Uninstalled apps</string>
     <!-- Description for others battery usage data [CHAR LIMIT=120] -->
     <string name="battery_usage_others">Others</string>
 
@@ -5534,6 +5905,8 @@
     <string name="battery_usage_background_less_than_one_minute">Background: less than a min</string>
     <!-- [CHAR_LIMIT=NONE] Device screen on time less than a minute -->
     <string name="battery_usage_screen_time_less_than_one_minute">Screen time: less than a min</string>
+    <!-- [CHAR_LIMIT=NONE] Power usage time less than a minute -->
+    <string name="power_usage_time_less_than_one_minute">Less than a min</string>
     <!-- [CHAR_LIMIT=NONE] Battery usage item for total usage time -->
     <string name="battery_usage_for_total_time">Total: <xliff:g id="time">%s</xliff:g></string>
     <!-- [CHAR_LIMIT=NONE] Battery usage item for background usage time -->
@@ -5548,12 +5921,16 @@
     <string name="battery_usage_timestamps_hyphen"><xliff:g id="from_timestamp">%1$s</xliff:g> - <xliff:g id="to_timestamp">%2$s</xliff:g></string>
     <!-- [CHAR_LIMIT=NONE] The first slot is a week day (e.g. "Monday"); the second slot is a hourly time span (e.g. "6 AM - 8 AM"). -->
     <string name="battery_usage_day_and_hour"><xliff:g id="day">%1$s</xliff:g> <xliff:g id="hour">%2$s</xliff:g></string>
+    <!-- [CHAR_LIMIT=NONE] Accessibility content description for each slot in battery chart view. -->
+    <string name="battery_usage_time_info_and_battery_level"><xliff:g id="time_info" example="Battery usage for Monday 6 AM - 8 AM">%1$s</xliff:g> <xliff:g id="battery_level" example="Battery level percentage from 83% to 59%">%2$s</xliff:g></string>
     <!-- [CHAR_LIMIT=NONE] Accessibility content description for battery chart view. -->
     <string name="battery_usage_chart">Battery usage chart</string>
     <!-- [CHAR_LIMIT=NONE] Accessibility content description for daily battery chart view. -->
     <string name="daily_battery_usage_chart">Daily battery usage chart</string>
     <!-- [CHAR_LIMIT=NONE] Accessibility content description for hourly battery chart view. -->
     <string name="hourly_battery_usage_chart">Hourly battery usage chart</string>
+    <!-- [CHAR_LIMIT=NONE] Accessibility content description for battery level percentage. -->
+    <string name="battery_level_percentage">Battery level percentage from <xliff:g id="start_percentage">%1$s</xliff:g> to <xliff:g id="end_percentage">%2$s</xliff:g></string>
     <!-- [CHAR_LIMIT=NONE] Battery usage breakdown title since last full charge -->
     <string name="battery_usage_breakdown_title_since_last_full_charge">Battery usage since last full charge</string>
     <!-- [CHAR_LIMIT=NONE] Battery usage breakdown title for a selected slot -->
@@ -5828,10 +6205,6 @@
     <!-- Backup and reset Settings screen --><skip />
     <!-- Backup and reset settings menu and activity title -->
     <string name="privacy_settings_title">Backup</string>
-    <!-- Summary for the Backup settings when it is turned on. -->
-    <string name="backup_summary_state_on">On</string>
-    <!-- Summary for the Backup settings when it is turned off. -->
-    <string name="backup_summary_state_off">Off</string>
     <!-- Backup section title -->
     <string name="backup_section_title">Backup &amp; restore</string>
     <!-- Personal data section title -->
@@ -6038,6 +6411,8 @@
     <string name="account_settings_menu_auto_sync_personal">Auto-sync personal data</string>
     <!--  Title for menu option to enable global auto-sync of work account data [CHAR LIMIT=30] -->
     <string name="account_settings_menu_auto_sync_work">Auto-sync work data</string>
+    <!--  Title for menu option to enable global auto-sync of private account data [CHAR LIMIT=30] -->
+    <string name="account_settings_menu_auto_sync_private">Auto-sync private data</string>
 
     <!-- Title for option to change data usage cycle day. [CHAR LIMIT=32] -->
     <string name="data_usage_change_cycle">Change cycle\u2026</string>
@@ -6152,10 +6527,6 @@
     <string name="vpn_type">Type</string>
     <!-- Input label for the server address of a VPN profile. [CHAR LIMIT=40] -->
     <string name="vpn_server">Server address</string>
-    <!-- Checkbox label to enable PPP encryption for a VPN profile. [CHAR LIMIT=40] -->
-    <string name="vpn_mppe">PPP encryption (MPPE)</string>
-    <!-- Input label for the L2TP secret of a VPN profile. [CHAR LIMIT=40] -->
-    <string name="vpn_l2tp_secret">L2TP secret</string>
     <!-- Input label for the IPSec identifier of a VPN profile. [CHAR LIMIT=40] -->
     <string name="vpn_ipsec_identifier">IPSec identifier</string>
     <!-- Input label for the IPSec pre-shared key of a VPN profile. [CHAR LIMIT=40] -->
@@ -6168,12 +6539,6 @@
     <string name="vpn_ipsec_server_cert">IPSec server certificate</string>
     <!-- Checkbox label to show advanced options of a VPN profile. [CHAR LIMIT=40] -->
     <string name="vpn_show_options">Show advanced options</string>
-    <!-- Input label for the DNS search domains of a VPN profile. [CHAR LIMIT=40] -->
-    <string name="vpn_search_domains">DNS search domains</string>
-    <!-- Input label for the DNS servers of a VPN profile. [CHAR LIMIT=40] -->
-    <string name="vpn_dns_servers">DNS servers (e.g. 8.8.8.8)</string>
-    <!-- Input label for the forwarding routes of a VPN profile. [CHAR LIMIT=40] -->
-    <string name="vpn_routes">Forwarding routes (e.g. 10.0.0.0/8)</string>
     <!-- Input label for the username of a VPN profile. [CHAR LIMIT=40] -->
     <string name="vpn_username">Username</string>
     <!-- Input label for the password of a VPN profile. [CHAR LIMIT=40] -->
@@ -6187,22 +6552,6 @@
     <!-- Option to use the server certificate received from the VPN server. [CHAR LIMIT=40] -->
     <string name="vpn_no_server_cert">(received from server)</string>
     <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
-        the selected VPN type doesn't support always-on. [CHAR LIMIT=120] -->
-    <string name="vpn_always_on_invalid_reason_type">This VPN type can\'t stay connected at all
-        times</string>
-    <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
-        the server address is not in numeric form (e.g. 8.8.8.8). [CHAR LIMIT=120] -->
-    <string name="vpn_always_on_invalid_reason_server">Always-on VPN only supports numeric server
-        addresses</string>
-    <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
-        no DNS is found. [CHAR LIMIT=120] -->
-    <string name="vpn_always_on_invalid_reason_no_dns">A DNS server must be specified for always-on
-        VPN</string>
-    <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
-        DNS server addresses are not in numeric form (e.g. 8.8.8.8). [CHAR LIMIT=120] -->
-    <string name="vpn_always_on_invalid_reason_dns">DNS server addresses must be numeric for
-        always-on VPN</string>
-    <!-- Error message displayed below the always-on VPN checkbox when the checkbox is disabled:
         generic error. [CHAR LIMIT=120] -->
     <string name="vpn_always_on_invalid_reason_other">The information entered doesn\'t support
         always-on VPN</string>
@@ -6278,6 +6627,11 @@
 
     <!-- Dialog subtitle warning for a VPN app that has an insecure type. [CHAR LIMIT=100]  -->
     <string name="vpn_insecure_dialog_subtitle">Not secure. Update to an IKEv2 VPN</string>
+    <!-- Dialog message when user attempted to start a VPN type that is no longer supported. It is
+         very unlikely, but not impossible, that a user has a very old VPN configuration that the
+         newer device no longer supports. This message is displayed when the user tries to start
+         this unsupported VPN. [CHAR LIMIT=NONE]  -->
+    <string name="vpn_start_unsupported">Failed to start unsupported VPN.</string>
 
     <!-- Summary describing the always-on VPN feature. [CHAR LIMIT=NONE] -->
     <string name="vpn_lockdown_summary">Select a VPN profile to always remain connected to. Network traffic will only be allowed when connected to this VPN.</string>
@@ -6698,6 +7052,8 @@
     <string name="help_url_adaptive_sleep" translatable="false" />
     <!-- Help URL, Previously connected bluetooth devices [DO NOT TRANSLATE] -->
     <string name="help_url_previously_connected_devices" translatable="false"></string>
+    <!-- Help URL, Fast Pair devices on Connected device settings [DO NOT TRANSLATE] -->
+    <string name="help_url_connected_devices_fast_pair_devices" translatable="false"></string>
     <!-- Help URL, Top level privacy settings [DO NOT TRANSLATE] -->
     <string name="help_url_privacy_dashboard" translatable="false"></string>
 
@@ -6752,6 +7108,8 @@
     <string name="help_url_insecure_vpn" translatable="false"></string>
     <!-- url for learning more about IT admin policy disabling -->
     <string name="help_url_action_disabled_by_it_admin" translatable="false"></string>
+    <!-- url for learning more about bluetooth audio sharing -->
+    <string name="help_url_audio_sharing" translatable="false"></string>
 
     <!-- User account title [CHAR LIMIT=30] -->
     <string name="user_account_title">Account for content</string>
@@ -6774,14 +7132,6 @@
          For example, they may have alerts just once or every 2 or 15 minutes.  [CHAR LIMIT=30] -->
     <string name="repeat_title">Repeat</string>
 
-    <!-- Call Manager enable settings title.  [CHAR LIMIT=50] -->
-    <string name="call_manager_enable_title">Enable Call Manager</string>
-    <!-- Call Manager enable settings summary.  [CHAR LIMIT=80] -->
-    <string name="call_manager_enable_summary">Allow this service to manage how your calls are made.</string>
-    <!-- Call Manager settings title.  [CHAR LIMIT=50] -->
-    <string name="call_manager_title">Call Manager</string>
-    <!-- Call Manager settings summary.  [CHAR LIMIT=50] -->
-    <string name="call_manager_summary"><xliff:g id="app">%1$s</xliff:g></string>
     <!-- Cell Broadcast settings title.  [CHAR LIMIT=50] -->
     <string name="cell_broadcast_settings">Wireless emergency alerts</string>
     <!-- Network operators settings title.  [CHAR LIMIT=50] -->
@@ -6925,7 +7275,7 @@
     <!-- Summary text describing signal strength to the user.  [CHAR LIMIT=60] -->
     <string name="sim_signal_strength"><xliff:g id="dbm">%1$d</xliff:g> dBm <xliff:g id="asu">%2$d</xliff:g> asu</string>
     <!-- Title for SIM notification.  [CHAR LIMIT=40] -->
-    <string name="sim_notification_title">SIMs changed.</string>
+    <string name="sim_notification_title">Your SIMs changed</string>
     <!-- Message under title informing the user to touch to go to SIM Cards in Settings.  [CHAR LIMIT=40] -->
     <string name="sim_notification_summary">Tap to set up</string>
 
@@ -6978,7 +7328,7 @@
     <!-- Title for setting tile leading to saved autofill passwords, autofill, and account settings [CHAR LIMIT=40]-->
     <string name="account_dashboard_title">Passwords &amp; accounts</string>
     <!-- Summary for setting tile leading to saved autofill passwords, autofill, and account settings [CHAR LIMIT=NONE]-->
-    <string name="account_dashboard_default_summary">Saved passwords, autofill, synced accounts</string>
+    <string name="account_dashboard_default_summary">Suggestions for sign-in &amp; autofill</string>
     <!-- Title for setting tile leading to setting UI which allows user set default app to
     handle actions such as open web page, making phone calls, default SMS apps [CHAR  LIMIT=40]-->
     <string name="app_default_dashboard_title">Default apps</string>
@@ -7076,7 +7426,6 @@
     <string name="keywords_wallet">wallet</string>
     <string name="keywords_payment_settings">pay, tap, payments</string>
     <string name="keywords_backup">backup, back up</string>
-    <string name="keywords_assist_gesture_launch">gesture</string>
     <string name="keywords_face_unlock">face, unlock, auth, sign in</string>
     <string name="keywords_biometric_unlock">face, unlock, auth, sign in, fingerprint, biometric</string>
     <string name="keywords_imei_info">imei, meid, min, prl version, imei sv</string>
@@ -7196,6 +7545,9 @@
     <!-- List of synonyms for the nfc tag apps control [CHAR LIMIT=NONE] -->
     <string name="keywords_change_nfc_tag_apps_state">nfc, tag, reader</string>
 
+    <!-- List of synonyms for keyboard vibration settings search [CHAR LIMIT=NONE] -->
+    <string name="keywords_keyboard_vibration">keyboard, haptics, vibrate,</string>
+
     <!-- Summary for sound settings, explaining a few important settings under it [CHAR LIMIT=NONE]-->
     <string name="sound_dashboard_summary">Volume, vibration, Do Not Disturb</string>
 
@@ -7301,13 +7653,6 @@
     <!-- Setting summary for controlling how caption text display in real time [CHAR LIMIT=NONE]-->
     <string name="live_caption_summary">Automatically caption media</string>
 
-    <!-- Output device type for the phone speaker that is available for spatializer effect. [CHAR LIMIT=NONE]-->
-    <string name="spatial_audio_speaker" product="default">Phone speakers</string>
-    <!-- Output device type for the phone speaker that is available for spatializer effect. [CHAR LIMIT=NONE]-->
-    <string name="spatial_audio_speaker" product="tablet">Tablet speakers</string>
-    <!-- Output device type for the phone speaker that is available for spatializer effect. [CHAR LIMIT=NONE]-->
-    <string name="spatial_audio_speaker" product="device">Device speakers</string>
-
     <!-- Output device type for the wired headphones that is available for spatializer effect. [CHAR LIMIT=NONE]-->
     <string name="spatial_audio_wired_headphones">Wired headphones</string>
 
@@ -7696,7 +8041,7 @@
     <string name="notification_history_off_title_extended">Notification history turned off</string>
 
     <!--  Notification history screen; summary when history is off [CHAR LIMIT=NONE] -->
-   <string name="notification_history_off_summary">Turn on notification history to see recent notifications and snoozed notifications</string>
+    <string name="notification_history_off_summary">Turn on notification history to see recent notifications and snoozed notifications</string>
 
     <!-- Notification history screen; title when history is newly turned on [CHAR LIMIT=200] -->
     <string name="history_toggled_on_title">No recent notifications</string>
@@ -7832,7 +8177,7 @@
     <string name="lock_screen_notifications_summary_disable">Don\u2019t show notifications at all</string>
 
     <!-- Security > Choose PIN/PW/Pattern > Notification redaction interstitial: Message asking the user how they want their notifications to appear when the device is locked [CHAR LIMIT=NONE] -->
-    <string name="lock_screen_notifications_interstitial_message">How do you want the lock screen to display?</string>
+    <string name="lock_screen_notifications_interstitial_message">What do you want your lock screen to show?</string>
 
     <!-- Security > Choose PIN/PW/Pattern > Notification redaction interstitial: Title for the screen asking the user how much notification content they want to see on their lock screen [CHAR LIMIT=30] -->
     <string name="lock_screen_notifications_interstitial_title">Lock screen</string>
@@ -7928,6 +8273,9 @@
     <!-- a11y string -->
     <string name="clear">Clear</string>
 
+    <!-- a11y string -->
+    <string name="clear_conversation">Clear <xliff:g id="conversation_name" example="Mom">%1$s</xliff:g></string>
+
     <!-- title for conversation onboarding -->
     <string name="conversation_onboarding_title">Priority and modified conversations will appear here</string>
 
@@ -8078,6 +8426,20 @@
     <string name="notif_listener_more_settings">More settings</string>
     <string name="notif_listener_more_settings_desc">More settings are available inside this app</string>
 
+    <!-- Title for Polite Notifications setting  [CHAR LIMIT=30]-->
+    <string name="notification_polite_title">Notification cooldown</string>
+    <string name="notification_polite_all_apps">Apply cooldown to all notifications</string>
+    <string name="notification_polite_all_apps_summary">Gradually lower the notification volume when you get many successive notifications from the same app</string>
+    <string name="notification_polite_conversations">Apply cooldown to conversations</string>
+    <string name="notification_polite_conversations_summary">Gradually lower the notification volume when you get many messages from the same chat within a short period of time</string>
+    <string name="notification_polite_disabled">Don\'t use notification cooldown</string>
+    <string name="notification_polite_disabled_summary">Never lower notification volume, regardless of the amount of successive notifications from the same app</string>
+    <string name="notification_polite_vibrate_unlocked">Vibrate when unlocked</string>
+    <string name="notification_polite_vibrate_unlocked_summary">Only vibrate when screen is unlocked</string>
+    <string name="notification_polite_work">Apply to work profiles</string>
+    <string name="notification_polite_work_summary">Apply the notification cooldown settings from your personal profile to your work profile</string>
+
+
     <!-- Title for managing VR (virtual reality) helper services. [CHAR LIMIT=50] -->
     <string name="vr_listeners_title">VR helper services</string>
 
@@ -8246,6 +8608,14 @@
     <!-- [CHAR LIMIT=NONE] App notification settings: link to app notification settings-->
     <string name="app_settings_link">Additional settings in the app</string>
 
+    <!-- [CHAR LIMIT=20] 3-dot menu option, reloads the screen to show channels that have not
+    received notifications in the last two week -->
+    <string name="show_unused_channels">Show unused channels</string>
+
+    <!-- [CHAR LIMIT=20] 3-dot menu option, reloads the screen to hide channels that have not
+    received notifications in the last two week -->
+    <string name="hide_unused_channels">Hide unused channels</string>
+
     <!-- [CHAR LIMIT=NONE] Footer listing a count of deleted channels. -->
     <string name="deleted_channels">{count, plural,
       =1      {# category deleted}
@@ -8666,20 +9036,24 @@
     <string name="app_pinning_intro">App pinning allows you to keep the current app in view until you unpin it. This feature can be used, for example, to let a trusted friend play a specific game.</string>
     <!-- [CHAR LIMIT=none] Screen pinning description -->
     <string name="screen_pinning_description">
+        <![CDATA[
         When an app is pinned, the pinned app may open other apps and personal data may be accessible.
         \n\nTo use app pinning:
-        \t\n1. Turn on app pinning
-        \t\n2. Open Overview
-        \t\n3. Tap the app icon at the top of the screen, then tap Pin
+        \t\n{0,number,integer}. Turn on app pinning
+        \t\n{1,number,integer}. Open Overview
+        \t\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin
+        ]]>
     </string>
     <!-- [CHAR LIMIT=none] Screen pinning description -->
     <string name="screen_pinning_guest_user_description">
+        <![CDATA[
         When an app is pinned, the pinned app may open other apps and personal data may be accessible.
         \n\nIf you want to securely share your device with someone, try using a guest user instead.
         \n\nTo use app pinning:
-        \t\n1. Turn on app pinning
-        \t\n2. Open Overview
-        \t\n3. Tap the app icon at the top of the screen, then tap Pin
+        \t\n{0,number,integer}. Turn on app pinning
+        \t\n{1,number,integer}. Open Overview
+        \t\n{2,number,integer}. Tap the app icon at the top of the screen, then tap Pin
+        ]]>
     </string>
     <!-- [CHAR LIMIT=300] Screen pinning title -->
     <string name="screen_pinning_dialog_message">
@@ -8699,7 +9073,7 @@
     <string name="screen_pinning_unlock_none">Lock device when unpinning</string>
 
     <!-- [CHAR LIMIT=60] turn eSim deletion confirmation on/off  -->
-    <string name="confirm_sim_deletion_title">Confirm SIM deletion</string>
+    <string name="confirm_sim_deletion_title">Confirm you want to erase your eSIM</string>
     <!-- [CHAR LIMIT=NONE] eSim deletion confirmation description  -->
     <string name="confirm_sim_deletion_description">Verify it\u0027s you before erasing an eSIM</string>
 
@@ -8864,6 +9238,12 @@
     <!-- Summary of the switch preference that controls whether the system will pause app activity when the app has not been used for months [CHAR LIMIT=NONE]-->
     <string name="unused_apps_switch_summary">Remove permissions, delete temporary files, and stop notifications</string>
 
+    <!-- Label of a switch preference that controls whether the system will pause app activity when the app has not been used for a while [CHAR LIMIT=40]-->
+    <string name="unused_apps_switch_v2">Manage app if unused</string>
+
+    <!-- Summary of the switch preference that controls whether the system will pause app activity when the app has not been used for a while [CHAR LIMIT=NONE]-->
+    <string name="unused_apps_switch_summary_v2">Remove permissions, delete temporary files, stop notifications, and archive the app</string>
+
     <!-- Label for showing all apps in list [CHAR LIMIT=30] -->
     <string name="filter_all_apps">All apps</string>
     <!-- Label for showing enabled apps in list [CHAR LIMIT=30] -->
@@ -9191,6 +9571,13 @@
       other   {# apps used memory in the last {time}}
     }</string>
 
+    <!-- Label for toggle that enables the profiling/aggregating of memory usage [CHAR LIMIT=80]-->
+    <string name="force_enable_pss_profiling_title">Enable memory usage profiling</string>
+    <!-- Description with an explanation of the extra resources used if profiling of memory usage is enabled [CHAR LIMIT=NONE]-->
+    <string name="force_enable_pss_profiling_summary">Memory usage profiling requires additional system resources.</string>
+    <!-- Summary that shows the current memory usage profiling status as disabled. [CHAR LIMIT=NONE]-->
+    <string name="pss_profiling_disabled">Memory profiling disabled</string>
+
     <!-- Label for frequency that the app is runnig (e.g. always, sometimes, etc.) [CHAR LIMIT=25] -->
     <string name="running_frequency">Frequency</string>
 
@@ -9243,6 +9630,14 @@
     <!-- Description of allowing overlay setting [CHAR LIMIT=NONE] -->
     <string name="allow_overlay_description">Allow this app to display on top of other apps you\u2019re using. This app will be able to see where you tap or change what\u2019s displayed on the screen.</string>
 
+    <!-- Change Media Output settings -->
+    <!-- Title for Change Media Output screen [CHAR LIMIT=30] -->
+    <string name="media_routing_control_title">Change media output</string>
+    <!-- Label for setting which controls whether app can change media outputs for other apps [CHAR LIMIT=45] -->
+    <string name="allow_media_routing_control">Allow app to switch media output</string>
+    <!-- Description for allowing change media output setting [CHAR LIMIT=NONE] -->
+    <string name="allow_media_routing_description">Allow this app to choose which connected device plays audio or video from other apps. If allowed, this app can access a list of available devices such as headphones and speakers and choose which output device is used to stream or cast audio or video.</string>
+
     <!-- Manager External Storage settings title [CHAR LIMIT=40] -->
     <string name="manage_external_storage_title">All files access</string>
     <!-- Label for a setting which controls whether an app can manage external storage [CHAR LIMIT=45] -->
@@ -9253,6 +9648,13 @@
     <!-- Label for showing apps that can manage external storage[CHAR LIMIT=45] -->
     <string name="filter_manage_external_storage">Can access all files</string>
 
+    <!-- Voice Activation apps settings title [CHAR LIMIT=40] -->
+    <string name="voice_activation_apps_title">Voice activation apps</string>
+    <!-- Label for a setting which controls whether an app can be voice activated [CHAR LIMIT=NONE] -->
+    <string name="permit_voice_activation_apps">Allow voice activation</string>
+    <!-- Description for a setting which controls whether an app can be voice activated [CHAR LIMIT=NONE] -->
+    <string name ="allow_voice_activation_apps_description">Voice activation turns-on approved apps, hands-free, using voice command. Built-in adaptive sensing ensures data stays private only to you.\n\n<a href="">More about protected adaptive sensing</a></string>
+
     <!-- Manage full screen intent permission title [CHAR LIMIT=40] -->
     <string name="full_screen_intent_title">Full screen notifications</string>
 
@@ -9552,9 +9954,6 @@
     <!-- Format for a summary describing the amount of data before the user is warned or limited [CHAR LIMIT=NONE] -->
     <string name="cell_data_warning_and_limit"><xliff:g name="amount" example="1 GB">^1</xliff:g> data warning / <xliff:g name="amount" example="2 GB">^2</xliff:g> data limit</string>
 
-    <!-- A summary shown on data usage screens to indicate inaccuracy of data tracking [CHAR LIMIT=NONE] -->
-    <string name="operator_warning">Carrier data accounting may differ from device accounting</string>
-
     <!-- A summary shown on data usage screens to indicate data tracking excluded from carrier networks [CHAR LIMIT=NONE] -->
     <string name="non_carrier_data_usage_warning">Excludes data used by carrier networks</string>
 
@@ -9637,9 +10036,6 @@
     <!-- Informational text about recent update time only, without carrier [CHAR LIMIT=30] -->
     <string name="no_carrier_update_now_text">Updated just now</string>
 
-    <!-- Button to launch external data plan app [CHAR LIMIT=30] -->
-    <string name="launch_mdp_app_text">View plan</string>
-
     <!-- Alternate launch button text for Wi-Fi only mode [CHAR LIMIT=30] -->
     <string name="launch_wifi_text">View details</string>
 
@@ -9730,6 +10126,9 @@
     <!-- Summary of apps anomaly for higher than usual in foreground [CHAR LIMIT=NONE] -->
     <string name="battery_tips_apps_summary_higher_than_usual_in_foreground"><xliff:g id="app_label" example="Pokemon Go">%1$s</xliff:g> used more battery than usual while in the foreground</string>
 
+    <!-- Content description of the icon in power anomaly banner [CHAR LIMIT=NONE] -->
+    <string name="battery_usage_anomaly_content_description">Battery usage anomaly</string>
+
     <!-- Label of hint for apps anomaly in battery usage [CHAR LIMIT=NONE] -->
     <string name="battery_app_item_hint">High battery usage</string>
 
@@ -9841,6 +10240,21 @@
     <!-- Keywords for settings screen for controlling apps that can run long background tasks [CHAR LIMIT=NONE] -->
     <string name="keywords_long_background_tasks">long jobs, data transfer, background tasks</string>
 
+    <!-- Title for the settings screen for controlling apps that hold the run backup jobs permission [CHAR LIMIT=60] -->
+    <string name="run_backup_tasks_title">Perform backup tasks in background</string>
+    <!-- Label for the switch to toggle the run backup jobs permission [CHAR LIMIT=100] -->
+    <string name="run_backup_tasks_switch_title">Allow app to run backup-related background tasks</string>
+    <!-- Description that appears below the run_backup_tasks switch [CHAR LIMIT=NONE] -->
+    <string name="run_backup_tasks_footer_title">
+        Indicates that this app has a major use-case where it needs to backup or sync content.
+        Granting this permission allows the app to run in the background for a slightly longer time
+        in order to complete the backup-related work.
+        \n\nIf this permission is denied, the system will not give any special exemption to this
+        app to complete backup-related work in the background.
+    </string>
+    <!-- Keywords for settings screen for controlling apps that hold the run backup tasks permission [CHAR LIMIT=NONE] -->
+    <string name="keywords_run_backup_tasks">backup tasks, backup jobs</string>
+
     <!-- Reset rate-limiting in the system service ShortcutManager.  "ShortcutManager" is the name of a system service and not translatable.
     If the word "rate-limit" is hard to translate, use "Reset ShortcutManager API call limit" as the source text, which means
     the same thing in this context.
@@ -9913,9 +10327,6 @@
     <!-- [CHAR LIMIT=NONE] Setting summary explaining the disablement of the automatic adb authorization timeout. -->
     <string name="adb_authorization_timeout_summary">Disable automatic revocation of adb authorizations for systems that have not reconnected within the default (7 days) or user-configured (minimum 1 day) amount of time.</string>
 
-    <!-- [CHAR LIMIT=25] Title of developer tile to toggle winscope trace -->
-    <string name="winscope_trace_quick_settings_title">Winscope Trace</string>
-
     <!-- [CHAR LIMIT=25] Title of developer tile to toggle sensors -->
     <string name="sensors_off_quick_settings_title">Sensors Off</string>
 
@@ -9994,7 +10405,7 @@
     <!-- Title text for swiping from bottom corners to invoke the digital assistant app. [CHAR LIMIT=60] -->
     <string name="assistant_corner_gesture_title">Swipe to invoke assistant</string>
     <!-- Summary text for swiping from bottom corners to invoke the digital assistant app. [CHAR LIMIT=NONE] -->
-    <string name="assistant_corner_gesture_summary">Swipe up from a bottom corner to invoke digital assistant app.</string>
+    <string name="assistant_corner_gesture_summary">Swipe up from a bottom corner to invoke digital assistant app</string>
 
     <!-- Title text for holding a long press on Home button to invoke the digital assistant app. [CHAR LIMIT=60] -->
     <string name="assistant_long_press_home_gesture_title">Hold Home for Assistant</string>
@@ -10014,7 +10425,7 @@
     <!-- Message for the dialog that explains how increasing sensitivity can affect gestures along the edges. [CHAR LIMIT=NONE] -->
     <string name="back_sensitivity_dialog_message">Higher sensitivity may conflict with any app gestures along the edges of the screen.</string>
 
-    <!-- Title for the dialog that is shown to adjust the back sensitivity [CHAR LIMIT=60] -->
+    <!-- Title for adjusting the back sensitivity, which is the sensitivity of the edge swipe that would trigger back navigation. [CHAR LIMIT=60] -->
     <string name="back_sensitivity_dialog_title">Back Sensitivity</string>
 
     <!-- Title for the screen to show all the gesture navigation settings [CHAR LIMIT=80] -->
@@ -10110,9 +10521,6 @@
     <!-- Title for settings suggestion for fingerprint swipe for notifications [CHAR LIMIT=60] -->
     <string name="fingerprint_swipe_for_notifications_suggestion_title">See notifications quickly</string>
 
-    <!-- Title text for the assist gesture [CHAR LIMIT=60] DO NOT TRANSLATE -->
-    <string name="assist_gesture_title" translatable="false">Assist gesture</string>
-
     <!-- Switch text for each gesture setting state -->
     <string name="gesture_setting_on">On</string>
     <string name="gesture_setting_off">Off</string>
@@ -10409,9 +10817,9 @@
     <!-- Preference category for showing auto-fill services with saved passwords. [CHAR LIMIT=60] -->
     <string name="autofill_passwords">Passwords</string>
     <!-- Preference category for showing autofill and credman services with saved credentials. [CHAR LIMIT=60] -->
-    <string name="credman_chosen_app_title">Passwords, passkeys and data services</string>
-    <!-- Preference category for showing additional credential providers. [CHAR LIMIT=60] -->
-    <string name="credman_credentials">Additional providers</string>
+    <string name="credman_chosen_app_title">Preferred service</string>
+    <!-- Preference category for showing additional credential services. [CHAR LIMIT=60] -->
+    <string name="credman_credentials">Additional services</string>
     <!-- Summary for passwords settings that shows how many passwords are saved for each autofill
          service. [CHAR LIMIT=NONE] -->
     <string name="autofill_passwords_count">{count, plural,
@@ -10427,6 +10835,12 @@
     <string name="credman_keywords">data, passkey, password</string>
     <!-- Keywords for the credman feature. [CHAR LIMIT=NONE] -->
     <string name="credman_autofill_keywords">auto, fill, autofill, data, passkey, password</string>
+    <!-- Button for choosing credman service. [CHAR LIMIT=40] -->
+    <string name="credman_button_change">Change</string>
+    <!-- Button for opening credman service settings. [CHAR LIMIT=40] -->
+    <string name="credman_button_open">Open</string>
+    <!-- Label for None item in Credential Manager service selection [CHAR LIMIT=40] -->
+    <string name="credman_app_list_preference_none">None selected</string>
 
     <!-- Message of the warning dialog for setting the auto-fill app. [CHAR_LIMIT=NONE] -->
     <string name="autofill_confirmation_message">
@@ -10445,13 +10859,14 @@
         <b>Use <xliff:g id="app_name" example="Provider">%1$s</xliff:g>\?</b>
         <br/>
         <br/>
-        <xliff:g id="app_name" example="Provider">%1$s</xliff:g> uses what\'s on
-        your screen to determine what can be autofilled. New passwords, passkeys and other info will be saved here from now on.
+        New passwords, passkeys, and other info will be saved here from now on.
+        <xliff:g id="app_name" example="Provider">%1$s</xliff:g> may use what\'s on your
+        screen to determine what can be autofilled.
         ]]>
     </string>
 
     <!-- Title of the screen where the user picks a provider. [CHAR_LIMIT=NONE] -->
-    <string name="credman_picker_title">Passwords, passkeys and data services</string>
+    <string name="credman_picker_title">Preferred service for passwords, passkeys &amp; autofill</string>
 
     <!-- Title of the warning dialog for disabling the credential provider. [CHAR_LIMIT=NONE] -->
     <string name="credman_confirmation_message_title">Turn off %1$s\?</string>
@@ -10468,17 +10883,54 @@
         ]]>
     </string>
 
+    <!-- Title for setting tile leading to saved autofill passwords, passkeys, autofill, and account settings [CHAR LIMIT=40]-->
+    <string name="account_dashboard_title_with_passkeys">Passwords, passkeys &amp; autofill</string>
+
+    <!-- Message of the warning dialog for disabling the credential provider (new strings for 24Q3). [CHAR_LIMIT=NONE] -->
+    <string name="credman_confirmation_message_new_ui">
+        <![CDATA[
+        <b>Turn off all services?</b>
+        <br/>
+        <br/>
+        Passwords, passkeys, and other saved info won\'t be available for autofill when you sign in
+        ]]>
+    </string>
+
+    <!-- Message of the warning dialog for setting a new preferred credential provider (new strings for 24Q3). [CHAR_LIMIT=NONE] -->
+    <string name="credman_autofill_confirmation_message_new_ui">
+        <![CDATA[
+        <b>Change your preferred service to <xliff:g id="app_name" example="Provider">%1$s</xliff:g>\?</b>
+        <br/>
+        <br/>
+        New passwords, passkeys, and other info will be saved here from now on.
+        <xliff:g id="app_name" example="Provider">%1$s</xliff:g> may use what\'s on your
+        screen to determine what can be autofilled
+        ]]>
+    </string>
+
     <!-- Title of the warning dialog for enabling the credential provider. [CHAR_LIMIT=NONE] -->
     <string name="credman_enable_confirmation_message_title">Use %1$s\?</string>
 
+    <!-- Positive button text for disabling credential manager. [CHAR_LIMIT=30] -->
+    <string name="credman_confirmation_turn_off_positive_button">Turn off</string>
+
+    <!-- Positive button text for changing credential manager provider. [CHAR_LIMIT=30] -->
+    <string name="credman_confirmation_change_provider_positive_button">Change</string>
+
+    <!-- Title of the error dialog when too many credential providers are selected (new strings for 24Q3). [CHAR_LIMIT=NONE] -->
+    <string name="credman_limit_error_msg_title">You can only have 5 services on</string>
+
+    <!-- Message of the error dialog when too many credential providers are selected (new strings for 24Q3). [CHAR_LIMIT=NONE] -->
+    <string name="credman_limit_error_msg">Turn off at least 1 service to add another</string>
+
     <!-- Message of the warning dialog for enabling the credential provider. [CHAR_LIMIT=NONE] -->
     <string name="credman_enable_confirmation_message">%1$s uses what\'s on your screen to determine what can be autofilled.</string>
 
     <!-- Title of the error dialog when too many credential providers are selected. [CHAR_LIMIT=NONE] -->
-    <string name="credman_error_message_title">Passwords, passkeys and data services limit</string>
+    <string name="credman_error_message_title">Passwords, passkeys, and data services limit</string>
 
     <!-- Message of the error dialog when too many credential providers are selected. [CHAR_LIMIT=NONE] -->
-    <string name="credman_error_message">You can have up to 5 passwords, passkeys and data services active at the same time. Turn off a service to add more.</string>
+    <string name="credman_error_message">You can have up to 5 passwords, passkeys, and data services active at the same time. Turn off a service to add more.</string>
 
     <!-- Positive button to turn off credential manager provider (confirmation). [CHAR LIMIT=60] -->
     <string name="credman_confirmation_message_positive_button">Turn off</string>
@@ -10657,6 +11109,8 @@
 
     <!-- Title for preference showing the primary account on the device [CHAR LIMIT=60]-->
     <string name="my_device_info_account_preference_title">Account</string>
+    <!-- Summary for preference showing the number of the accounts. [CHAR LIMIT=NONE]-->
+    <string name="my_device_info_account_preference_summary">%d accounts</string>
     <!-- Title for preference showing the name of the device. [CHAR LIMIT=60]-->
     <string name="my_device_info_device_name_preference_title">Device name</string>
 
@@ -10693,6 +11147,9 @@
     <!-- Title with application label for media output settings. [CHAR LIMIT=NONE] -->
     <string name="media_output_label_title">Play <xliff:g id="label" example="Music Player">%s</xliff:g> on</string>
 
+    <!-- Title for media output settings without media is playing -->
+    <string name="media_output_title_without_playing">Audio will play on</string>
+
     <!-- Summary for media output default settings. (this device) [CHAR LIMIT=30] -->
     <string name="media_output_default_summary">This device</string>
 
@@ -10725,9 +11182,6 @@
     <!-- Title for detail page of wifi network [CHAR LIMIT=30] -->
     <string name="pref_title_network_details">Network details</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 on your phone. 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>
-
     <!-- Title for Connected device shortcut [CHAR LIMIT=30] -->
     <string name="devices_title">Devices</string>
 
@@ -10952,7 +11406,7 @@
     <string name="mobile_network_sim_name_rename">Save</string>
     <!-- Label for the on position of a switch on the mobile network details page which allows
          disabling/enabling a SIM. The SIM is enabled in this state. [CHAR LIMIT=40] -->
-    <string name="mobile_network_use_sim_on">Use SIM</string>
+    <string name="mobile_network_use_sim_on">Use this SIM</string>
     <!-- Label for the off position of a switch on the mobile network details page which allows
          disabling/enabling a SIM. The SIM is disabled in this state. [CHAR LIMIT=40] -->
     <string name="mobile_network_use_sim_off">Off</string>
@@ -10960,7 +11414,7 @@
          the user that the way to disable this SIM is to physically remove it. This is in contrast
          to eSIM's, which can disabled using an on/off toggle switch. [CHAR LIMIT=NONE] -->
     <string name="mobile_network_disable_sim_explanation">
-        To disable this SIM, remove the SIM card
+        To turn off this SIM, remove the SIM card
     </string>
 
     <!--Summary used when a physical SIM is disabled, indicating that tapping on the preference will
@@ -10968,12 +11422,12 @@
         Network & internet page (if there are no other SIMs), or on the mobile network list page.
         [CHAR LIMIT=50] -->
     <string name="mobile_network_tap_to_activate">
-        Tap to activate <xliff:g id="carrier" example="T-mobile">%1$s</xliff:g>
+        Tap to activate your <xliff:g id="carrier" example="T-mobile">%1$s</xliff:g> SIM
     </string>
 
     <!-- Mobile network details page. Label for an option that lets the user delete an eSIM from
          the device. [CHAR LIMIT=60] -->
-    <string name="mobile_network_erase_sim">Erase SIM</string>
+    <string name="mobile_network_erase_sim">Erase eSIM</string>
 
     <!-- Title for preferred network type [CHAR LIMIT=NONE] -->
     <string name="preferred_network_mode_title">Preferred network type</string>
@@ -11018,6 +11472,43 @@
     <string name="mobile_data_usage_title">App data usage</string>
     <!-- Summary to show the current network mode is invalid. [CHAR LIMIT=NONE]-->
     <string name="mobile_network_mode_error">Invalid Network Mode <xliff:g id="networkModeId" example="0">%1$d</xliff:g>. Ignore.</string>
+    <!-- Title for _satellite_setting_preference_layout in mobile network settings [CHAR LIMIT=60] -->
+    <string name="satellite_setting_title">Satellite messaging</string>
+    <!-- Summary for _satellite_setting_preference_layout. [CHAR LIMIT=NONE]-->
+    <string name="satellite_setting_enabled_summary">Send and receive text messages by satellite. Included with your account.</string>
+    <!-- Summary for _satellite_setting_preference_layout. [CHAR LIMIT=NONE]-->
+    <string name="satellite_setting_disabled_summary">Send and receive text messages by satellite. Non included with your account.</string>
+    <!-- Search keywords for "_satellite_setting_preference_layout" [CHAR_LIMIT=NONE] -->
+    <string name="keywords_satellite_setting">Satellite messaging</string>
+    <!-- Category name "About satellite messaging" [CHAR_LIMIT=NONE] -->
+    <string name="category_name_about_satellite_messaging">About satellite messaging</string>
+    <!-- Summary for category "About satellite messaging" [CHAR_LIMIT=NONE] -->
+    <string name="title_about_satellite_setting">You can send and receive text messages by satellite as part of an eligible <xliff:g id="carrier_name" example="T-Mobile">%1$s</xliff:g> account</string>
+    <!-- Category title "Your mobile plan" [CHAR_LIMIT=NONE] -->
+    <string name="category_title_your_satellite_plan">Your <xliff:g id="carrier_name" example="T-Mobile">%1$s</xliff:g> plan</string>
+    <!-- Title for category "Your mobile plan when satellite is included in plan" [CHAR_LIMIT=NONE] -->
+    <string name="title_have_satellite_plan">Satellite messaging is included with your account</string>
+    <!-- Title for category "Your mobile plan when satellite is not included in plan" [CHAR_LIMIT=NONE] -->
+    <string name="title_no_satellite_plan">Satellite messaging isn\u2019t included with your account</string>
+    <!-- text view add satellite messaging" [CHAR_LIMIT=NONE] -->
+    <string name="summary_add_satellite_setting">Add satellite messaging</string>
+    <!-- Category name "How it works" [CHAR_LIMIT=NONE] -->
+    <string name="category_name_how_it_works">How it works</string>
+    <!-- Title for satellite connection guide [CHAR_LIMIT=NONE] -->
+    <string name="title_satellite_connection_guide">When you don\u2019t have a mobile network</string>
+    <!-- Summary for satellite connection guide [CHAR_LIMIT=NONE] -->
+    <string name="summary_satellite_connection_guide">Your phone will auto-connect to a satellite. For the best connection, keep a clear view of the sky.</string>
+    <!-- Title for satellite supported service [CHAR_LIMIT=NONE] -->
+    <string name="title_supported_service">After your phone connects to a satellite</string>
+    <!-- Summary for satellite supported service [CHAR_LIMIT=NONE] -->
+    <string name="summary_supported_service">You can text anyone, including emergency services. Your phone will reconnect to a mobile network when available.</string>
+    <!-- learn more text - more about satellite messaging [CHAR_LIMIT=NONE] -->
+    <string name="satellite_setting_summary_more_information">Satellite messaging may take longer and is available only in some areas, Weather and certain structures may affect your satellite connection. Calling by satellite isn\u2019t available.\n\nIt may take some time for changes to your account to show in Settings. Contact <xliff:g id="carrier_name" example="T-Mobile">%1$s</xliff:g> for details.</string>
+    <!-- more about satellite messaging [CHAR_LIMIT=NONE] -->
+    <string name="more_about_satellite_messaging">More about satellite messaging</string>
+    <!-- URL for more info about satellite messaging [CHAR LIMIT=60] -->
+    <string name="more_info_satellite_messaging_link" translatable="false"></string>
+
     <!-- Title for Apn settings in mobile network settings [CHAR LIMIT=60] -->
     <string name="mobile_network_apn_title">Access Point Names</string>
     <!-- Search keywords for "Access Point Names" [CHAR_LIMIT=NONE] -->
@@ -11041,11 +11532,11 @@
     <!-- Title of confirmation dialog asking the user if they want to switch subscription. [CHAR_LIMIT=NONE] -->
     <string name="sim_action_switch_sub_dialog_mep_title">Use <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g>?</string>
     <!-- Body text of confirmation dialog for switching subscription that involves switching SIM slots. Indicates that only one SIM can be active at a time. Also that switching will not cancel the user's mobile service plan. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_switch_sub_dialog_text">Only one SIM can be active at a time.\n\nSwitching to <xliff:g id="to_carrier_name" example="Google Fi">%1$s</xliff:g> won\u2019t cancel your <xliff:g id="from_carrier_name" example="Sprint">%2$s</xliff:g> service.</string>
-    <!-- Body text of confirmation dialog for switching subscription between two eSIM profiles. Indicates that only 1 eSIM can be active at a time. Also that switching will not cancel the user's mobile service plan. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_switch_sub_dialog_text_downloaded">Only 1 eSIM can be active at a time.\n\nSwitching to <xliff:g id="to_carrier_name" example="Google Fi">%1$s</xliff:g> won\u2019t cancel your <xliff:g id="from_carrier_name" example="Sprint">%2$s</xliff:g> service.</string>
+    <string name="sim_action_switch_sub_dialog_text">Only 1 SIM can be on at a time.\n\nSwitching to <xliff:g id="to_carrier_name" example="Google Fi">%1$s</xliff:g> won\u2019t cancel your <xliff:g id="from_carrier_name" example="Sprint">%2$s</xliff:g> service.</string>
+    <!-- Body text of confirmation dialog for switching subscription between two eSIM profiles. Indicates that only 1 eSIM can be on at a time. Also that switching will not cancel the user's mobile service plan. [CHAR_LIMIT=NONE] -->
+    <string name="sim_action_switch_sub_dialog_text_downloaded">Only 1 eSIM can be on at a time.\n\nSwitching to <xliff:g id="to_carrier_name" example="Google Fi">%1$s</xliff:g> won\u2019t cancel your <xliff:g id="from_carrier_name" example="Sprint">%2$s</xliff:g> service.</string>
     <!-- Body text of confirmation dialog for switching subscription between two eSIM profiles. Indicates that only one SIM can be active at a time. Also that switching will not cancel the user's mobile service plan. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_switch_sub_dialog_text_single_sim">Only one SIM can be active at a time.\n\nSwitching won\u2019t cancel your <xliff:g id="to_carrier_name" example="Google Fi">%1$s</xliff:g> service.</string>
+    <string name="sim_action_switch_sub_dialog_text_single_sim">Only 1 SIM can be on at a time.\n\nSwitching won\u2019t cancel your <xliff:g id="to_carrier_name" example="Google Fi">%1$s</xliff:g> service.</string>
     <!-- Body text of confirmation dialog for switching subscription between two eSIM profiles. Indicates that only one downloaded SIM can be active at a time. Also that switching will not cancel the user's mobile service plan. [CHAR_LIMIT=NONE] -->
     <string name="sim_action_switch_sub_dialog_mep_text">You can use 2 SIMs at a time. To use <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g>, turn off another SIM.</string>
     <!-- Text of confirm button in the confirmation dialog asking the user if they want to switch subscription. [CHAR_LIMIT=NONE] -->
@@ -11055,13 +11546,13 @@
     <!-- Text of carrier list item in the mep confirmation dialog asking the user if they want to turn off the carrier. [CHAR_LIMIT=NONE] -->
     <string name="sim_action_switch_sub_dialog_info_outline_for_turning_off">Turning off a SIM won\u2019t cancel your service</string>
     <!-- Status message indicating the device is in the process of disconnecting from one mobile network and immediately connecting to another. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_enabling_sim_without_carrier_name">Connecting to network&#8230;</string>
+    <string name="sim_action_enabling_sim_without_carrier_name">Activating your SIM&#8230;</string>
     <!-- Text of progress dialog indicating the subscription switch is in progress. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_switch_sub_dialog_progress">Switching to <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g> for calls and messages&#8230;</string>
+    <string name="sim_action_switch_sub_dialog_progress">Switching to <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g>&#8230;</string>
     <!-- Title of error message indicating that the device could not disconnect from one mobile network and immediately connect to another. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_enable_sim_fail_title">Can\u2019t switch carrier</string>
+    <string name="sim_action_enable_sim_fail_title">Can\u2019t switch SIMs</string>
     <!-- Body text of error message indicating the device could not disconnect from one mobile network and immediately connect to another, due to an unspecified issue. [CHAR_LIMIT=NONE] -->
-    <string name="sim_action_enable_sim_fail_text">The carrier can\u2019t be switched due to an error.</string>
+    <string name="sim_action_enable_sim_fail_text">Something went wrong. Can\u2019t switch SIMs.</string>
     <!-- Title of confirmation dialog asking the user if they want to disable subscription. [CHAR_LIMIT=NONE] -->
     <string name="privileged_action_disable_sub_dialog_title">Turn off <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g>?</string>
     <!-- Title of confirmation dialog asking the user if they want to disable subscription. [CHAR_LIMIT=NONE] -->
@@ -11069,9 +11560,9 @@
     <!-- Disabling SIMs progress dialog message [CHAR LIMIT=NONE] -->
     <string name="privileged_action_disable_sub_dialog_progress">Turning off SIM<xliff:g id="ellipsis" example="...">&#8230;</xliff:g></string>
     <!-- Title of error messaging indicating the device could not disable the mobile network. [CHAR LIMIT=NONE] -->
-    <string name="privileged_action_disable_fail_title">Can\u2019t disable carrier</string>
+    <string name="privileged_action_disable_fail_title">Can\u2019t turn off SIM</string>
     <!-- Body text of error message indicating the device could not disable the mobile network, due to an unknown issue. [CHAR LIMIT=NONE] -->
-    <string name="privileged_action_disable_fail_text">Something went wrong and your carrier could not be disabled.</string>
+    <string name="privileged_action_disable_fail_text">Something went wrong and your SIM could not be turned off.</string>
     <!-- Title on a dialog asking the users whether they want to enable DSDS mode. [CHAR LIMIT=NONE] -->
     <string name="sim_action_enable_dsds_title">Use 2 SIMs?</string>
     <!-- Message in a dialog indicating the user can enable DSDS mode. [CHAR LIMIT=NONE] -->
@@ -11088,18 +11579,70 @@
     <string name="sim_action_cancel">Cancel</string>
     <!-- Button which will disconnect the user from one mobile network and immediately connect to another. [CHAR LIMIT=30] -->
     <string name="sim_switch_button">Switch</string>
+    <!-- Button text to turn off the sim. [CHAR LIMIT=30] -->
+    <string name="sim_action_turn_off">Turn off</string>
     <!-- Title of DSDS activation failure dialog [CHAR LIMIT=40] -->
     <string name="dsds_activation_failure_title">Can\u2019t activate SIM</string>
     <!-- Body text of DSDS activation failure dialog. Users could toggle the selected SIM again or reboot to recover. [CHAR LIMIT=NONE] -->
     <string name="dsds_activation_failure_body_msg2">Try turning on the SIM again. If the problem continues, restart your device.</string>
 
+    <!-- Strings for dual SIM onboarding -->
+    <!-- Title of dual sim onboarding's bottom sheets. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_bottomsheets_title">Set up your SIM</string>
+    <!-- Body text of dual sim onboarding's bottom sheets. [CHAR LIMIT=NONE] -->
+    <string name="sim_onboarding_bottomsheets_msg">Set your mobile network preferences to use multiple SIMs on this device</string>
+    <!-- Title of dual sim onboarding's label sim page. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_label_sim_title">Label your SIMs</string>
+    <!-- Body text of dual sim onboarding's label sim page. [CHAR LIMIT=NONE] -->
+    <string name="sim_onboarding_label_sim_msg">You’ll see these labels when making calls, sending texts, and using data, and in Settings</string>
+    <!-- Title of dual sim onboarding's label sim dialog. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_label_sim_dialog_title">SIM label</string>
+    <!-- Label text of dual sim onboarding's label sim dialog. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_label_sim_dialog_label">Label</string>
+    <!-- Title of dual sim onboarding's select sim page. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_select_sim_title">Select which SIMs to use</string>
+    <!-- Body text of dual sim onboarding's select sim page. [CHAR LIMIT=NONE] -->
+    <string name="sim_onboarding_select_sim_msg">You can use 2 SIMs at a time</string>
+    <!-- Title of dual sim onboarding's primary sim page. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_primary_sim_title">Set your primary SIMs</string>
+    <!-- Body text of dual sim onboarding's primary sim page. [CHAR LIMIT=NONE] -->
+    <string name="sim_onboarding_primary_sim_msg">Choose which SIMs to use by default for calls, texts, and data</string>
+
+    <!-- Title of primary sim at SIMs page. [CHAR LIMIT=30] -->
+    <string name="primary_sim_title">Your primary SIMs</string>
+
+    <!-- Title of Calls item/dialog at dual sim onboarding's primary sim page or SIMs page. [CHAR LIMIT=30] -->
+    <string name="primary_sim_calls_title">Calls</string>
+    <!-- Title of Texts item/dialog at dual sim onboarding's primary sim page or SIMs page. [CHAR LIMIT=30] -->
+    <string name="primary_sim_texts_title">Texts</string>
+    <!-- Title of automatic data switching at dual sim onboarding's primary sim page or SIMs page. [CHAR LIMIT=60] -->
+    <string name="primary_sim_automatic_data_title">Automatic data switching</string>
+    <!-- Body text of automatic data switching at dual sim onboarding's primary sim page or SIMs page. [CHAR LIMIT=NONE] -->
+    <string name="primary_sim_automatic_data_msg">Use data from either SIM depending on coverage and availability</string>
+
+    <!-- Text of phone number item when the sim is data only. [CHAR LIMIT=NONE] -->
+    <string name="sim_onboarding_phoneNumber_data_only">Data only</string>
+
+    <!-- Button on the dual sim onboarding to start to set up sim. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_setup">Set up</string>
+    <!-- Button on the dual sim onboarding to go to next page. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_next">Next</string>
+    <!-- Text on the progressbar of dual sim onboarding for turning sim on. [CHAR LIMIT=30] -->
+    <string name="sim_onboarding_progressbar_turning_sim_on">Turning on <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g>&#8230;</string>
+    <!-- Title of service provider name(SPN) at mobile network settings page. [CHAR LIMIT=30] -->
+    <string name="mobile_network_spn_title">Mobile network</string>
+    <!-- Title of phone number at mobile network settings page. [CHAR LIMIT=30] -->
+    <string name="mobile_network_phone_number_title">Phone number</string>
+    <!-- Title of SIM label and color editor dialog at mobile network settings page. [CHAR LIMIT=30] -->
+    <string name="mobile_network_sim_label_color_title">SIM label and color</string>
+
     <!--  Strings for SIM push notifications  -->
     <!-- Category name of the notifications related to SIM setup. [CHAR LIMIT=NONE] -->
     <string name="sim_setup_channel_id">Network activation</string>
     <!-- Title on a push notification indicating that the user's device is in the middle of switching between mobile networks. [CHAR LIMIT=NONE] -->
     <string name="sim_switch_channel_id">Carrier switching</string>
     <!--  The title of post DSDS reboot notification. The title includes carrier's name. [CHAR LIMIT=NONE] -->
-    <string name="post_dsds_reboot_notification_title_with_carrier"><xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g> is active</string>
+    <string name="post_dsds_reboot_notification_title_with_carrier">Your <xliff:g id="carrier_name" example="Google Fi">%1$s</xliff:g> SIM is active</string>
     <!--  The body text of post DSDS reboot notification. [CHAR LIMIT=NONE] -->
     <string name="post_dsds_reboot_notification_text">Tap to update SIM settings</string>
     <!-- Title on a push notification indicating that the user's device switched to a new mobile network. [CHAR LIMIT=NONE] -->
@@ -11115,17 +11658,17 @@
 
     <!-- Strings for choose SIM activity -->
     <!--  The title text of choose SIM activity. [CHAR LIMIT=NONE] -->
-    <string name="choose_sim_title">Choose a number to use</string>
+    <string name="choose_sim_title">Choose a SIM to use</string>
     <!--  The body text of choose SIM activity. [CHAR LIMIT=NONE] -->
     <string name="choose_sim_text">{count, plural,
-      =1      {1 number is available on this device, but only one can be used at a time}
-      =2      {2 numbers are available on this device, but only one can be used at a time}
-      other   {# numbers are available on this device, but only one can be used at a time}
+      =1      {1 SIM is available on this device, but only one can be used at a time}
+      =2      {2 SIMs are available on this device, but only one can be used at a time}
+      other   {# SIMs are available on this device, but only one can be used at a time}
     }</string>
     <!-- String indicating that we are activating the profile [CHAR LIMIT=NONE] -->
-    <string name="choose_sim_activating">Activating<xliff:g id="ellipsis" example="...">&#8230;</xliff:g></string>
+    <string name="choose_sim_activating">Turning on<xliff:g id="ellipsis" example="...">&#8230;</xliff:g></string>
     <!-- String indicating that we failed to activate the selected profile [CHAR LIMIT=NONE] -->
-    <string name="choose_sim_could_not_activate">Couldn\u2019t be activated right now</string>
+    <string name="choose_sim_could_not_activate">Couldn\u2019t turn on this SIM right now</string>
 
     <!-- Strings for switch SIM confirmation dialog. -->
     <!--  The title text of switch SIM confirmation dialog. [CHAR LIMIT=NONE] -->
@@ -11144,15 +11687,15 @@
     <!-- Title on confirmation dialog asking the user if they want to erase the eSIM from the device. [CHAR_LIMIT=NONE] -->
     <string name="erase_sim_dialog_title">Erase this eSIM?</string>
     <!-- Body text in confirmation dialog indicating what erasing a SIM entails. [CHAR_LIMIT=NONE] -->
-    <string name="erase_sim_dialog_text">Erasing this SIM removes <xliff:g id="carrier_name_a" example="Google Fi">%1$s</xliff:g> service from this device.\n\nService for <xliff:g id="carrier_name_b" example="Google Fi">%1$s</xliff:g> won\'t be canceled.</string>
+    <string name="erase_sim_dialog_text">This removes <xliff:g id="carrier_name_a" example="Google Fi">%1$s</xliff:g> service from this device, but your <xliff:g id="carrier_name_b" example="Google Fi">%1$s</xliff:g> plan won\'t be canceled.</string>
     <!-- Button label to erase the eSIM [CHAR_LIMIT=20] -->
     <string name="erase_sim_confirm_button">Erase</string>
     <!-- Status message indicating the device is in the process of erasing the SIM. [CHAR_LIMIT=NONE] -->
-    <string name="erasing_sim">Erasing SIM&#8230;</string>
+    <string name="erasing_sim">Erasing eSIM&#8230;</string>
     <!-- Title of error message indicating the device could not erase the SIM. [CHAR_LIMIT=NONE] -->
-    <string name="erase_sim_fail_title">Can\'t erase SIM</string>
+    <string name="erase_sim_fail_title">Can\'t erase eSIM</string>
     <!-- Body text of error message indicating the device could not erase the SIM due to an error. [CHAR_LIMIT=NONE] -->
-    <string name="erase_sim_fail_text">This SIM can\'t be erased due to an error.\n\nRestart your device and try again.</string>
+    <string name="erase_sim_fail_text">Something went wrong and this eSIM wasn\'t erased.\n\nRestart your device and try again.</string>
 
     <!-- Title for Network connection request Dialog [CHAR LIMIT=60] -->
     <string name="network_connection_request_dialog_title">Connect to device</string>
@@ -11311,15 +11854,6 @@
     <!-- Summary for Wi-Fi calling to explain this feature [CHAR LIMIT=NONE] -->
     <string name="wifi_calling_summary">Use Wi\u2011Fi for calls to improve quality</string>
 
-    <!-- Mobile network settings screen, title of Backup calling setting.  [CHAR LIMIT=NONE] -->
-    <string name="backup_calling_settings_title">Backup calling</string>
-
-    <!-- Backup calling summary.  [CHAR LIMIT=100] -->
-    <string name="backup_calling_setting_summary">If <xliff:g id="backup_calling_operator_text" example="Google Fi">%1$s</xliff:g> is unavailable or roaming, use your mobile data SIM for <xliff:g id="backup_calling_carrier_text" example="Google Fi">%1$s</xliff:g> calls.</string>
-
-    <!-- List of synonyms for the cross SIM calling titles, used to match in settings search [CHAR LIMIT=NONE] -->
-    <string name="keywords_backup_calling">backup calling</string>
-
     <!-- Title for enable MMS notification when trying to receive MMS.  [CHAR LIMIT=40] -->
     <string name="enable_receiving_mms_notification_title">Incoming MMS message</string>
     <!-- Title for enable MMS notification when trying to send MMS.  [CHAR LIMIT=40] -->
@@ -11346,7 +11880,23 @@
     <!-- Developer Settings: Search keywords for the Profile HWUI rendering. [CHAR_LIMIT=NONE] -->
     <string name="track_frame_time_keywords">GPU</string>
 
+    <!-- setting Checkbox title whether to boot with 16K page size [CHAR_LIMIT=35] -->
+    <string name="enable_16k_pages">Boot with 16K page size</string>
+    <!-- setting Checkbox summary whether to boot with 16K page size[CHAR_LIMIT=50] -->
+    <string name="enable_16k_pages_summary">Boot device using 16K page size supported kernel</string>
+    <!-- Confirmation dialog title to ensure user wishes to enable 16K page size -->
+    <string name="confirm_enable_16k_pages_title">Reboot with 16KB pages compatible kernel?</string>
+    <!-- Warning dialog message to confirm user wishes to enable 16K page size -->
+    <string name="confirm_enable_16k_pages_text">WARNING: Some applications may not be compatible with this mode. Device will reboot after confirmation.</string>
+    <!-- dialog title to confirm user wishes to revert to 4k page size kernel -->
+    <string name="confirm_enable_4k_pages_title">Reboot with 4KB pages compatible kernel?</string>
+    <!-- dialog message to confirm user wishes to enable 4K page size -->
+    <string name="confirm_enable_4k_pages_text">Device will reboot after confirmation.</string>
+    <!-- Toast message when 16k OTA update fails -->
+    <string name="toast_16k_update_failed_text">Failed to update kernel to 16KB pages compatible kernel.</string>
+    <string name="progress_16k_ota_title">Applying change</string>
     <!-- DSU Loader. Do not translate. -->
+
     <string name="dsu_loader_title" translatable="false">DSU Loader</string>
     <!-- DSU Loader Description. Do not translate. -->
     <string name="dsu_loader_description" translatable="false">Load a Dynamic System Update Image</string>
@@ -11473,6 +12023,11 @@
     <!-- Developer settings: Summary for allowing mock modem service. [CHAR LIMIT=NONE]-->
     <string name="allow_mock_modem_summary">Allow this device to run Mock Modem service for instrumentation testing. Do not enable this during normal usage of the phone</string>
 
+    <!-- Developer settings: Title for disable app and notification screen share protections [CHAR LIMIT=50] -->
+    <string name="disable_screen_share_protections_for_apps_and_notifications">Disable screen share protections</string>
+    <!-- Developer settings: Summary for disable app and notification screen share protections summary [CHAR LIMIT=150] -->
+    <string name="disable_screen_share_protections_for_apps_and_notifications_summary">Disables system applied app and notifications protections during screen sharing</string>
+
     <!-- Title for media control settings [CHAR LIMIT=50]-->
     <string name="media_controls_title">Media</string>
     <!-- Title of toggle to enable or disable the media resumption feature in quick settings [CHAR LIMIT=50]-->
@@ -11484,7 +12039,7 @@
     <!-- Description of toggle to enable or disable the media resumption on lockscreen [CHAR LIMIT=NONE]-->
     <string name="media_controls_lockscreen_description">To quickly resume playback, media player stays open on lock screen</string>
     <!-- Title of toggle to enable or disable media recommendations in quick settings [CHAR LIMIT=NONE] -->
-    <string name="media_controls_recommendations_title">Show media recommendations</string>
+    <string name="media_controls_recommendations_title">Show Assistant media recommendations</string>
     <!-- Description of toggle to enable or disable media recommendations based on user's activity [CHAR LIMIT=NONE] -->
     <string name="media_controls_recommendations_description">Based on your activity</string>
     <!-- Subtext for media settings when the player will be hidden [CHAR LIMIT=50] -->
@@ -11494,6 +12049,11 @@
     <!-- Keywords for the media controls setting [CHAR LIMIT=NONE]-->
     <string name="keywords_media_controls">media</string>
 
+    <!-- Title of toggle to enable or disable the media resumption on lockscreen [CHAR LIMIT=NONE]-->
+    <string name="camera_extensions_fallback_title">Allow camera software extensions</string>
+    <!-- Description of toggle to enable or disable the media resumption on lockscreen [CHAR LIMIT=NONE]-->
+    <string name="camera_extensions_fallback_description">Enables the default software implementation of advanced camera features, such as Eyes Free videography.</string>
+
     <!-- Summary for see all preference when bluetooth is disable [CHAR LIMIT=none]-->
     <string name="connected_device_see_all_summary">Bluetooth will turn on</string>
 
@@ -11550,9 +12110,9 @@
     <!-- Provider Model: title of eSIMs category. [CHAR LIMIT=50] -->
     <string name="downloaded_sims_category_title">eSIMs</string>
     <!-- Provider Model: summary of Active in SIM category. [CHAR LIMIT=50] -->
-    <string name="sim_category_active_sim">Active</string>
+    <string name="sim_category_active_sim">On</string>
     <!-- Provider Model: summary of Inactive in SIM category. [CHAR LIMIT=50] -->
-    <string name="sim_category_inactive_sim">Inactive</string>
+    <string name="sim_category_inactive_sim">Off</string>
     <!-- Provider Model: summary of default config. [CHAR LIMIT=50] -->
     <string name="sim_category_default_active_sim">\u0020/ Default for <xliff:g name="default_sim_config" example=" / Default for calls">%1$s</xliff:g></string>
     <!-- Provider Model: summary of default call. [CHAR LIMIT=50] -->
@@ -12080,9 +12640,9 @@
     <string name="bluetooth_details_head_tracking_summary">Audio changes as you move your head to sound more natural</string>
 
     <!-- The title of CDM Permissions Sync -->
-    <string name="bluetooth_details_permissions_sync_title">Sync permissions</string>
+    <string name="bluetooth_details_permissions_sync_title">Sync permissions from phone</string>
     <!-- The summary of CDM Permissions Sync -->
-    <string name="bluetooth_details_permissions_sync_summary">Give <xliff:g id="remote_device_name" example="Pixel Watch">%1$s</xliff:g> the same app permissions that you’ve allowed on <xliff:g id="local_device_name" example="Pixel 6">%2$s</xliff:g></string>
+    <string name="bluetooth_details_permissions_sync_summary">Give your watch the same app permissions that you’ve allowed on this phone</string>
 
     <!-- The title of the bluetooth audio device type selection [CHAR LIMIT=none] -->
     <string name="bluetooth_details_audio_device_types_title">Audio Device Type</string>
@@ -12310,4 +12870,77 @@
 
     <!-- Warning message when we try to dock an app not supporting multiple instances split into multiple sides [CHAR LIMIT=NONE] -->
     <string name="dock_multi_instances_not_supported_text">"This app can only be opened in 1 window"</string>
+
+    <!-- Shown when an accessibility feature is turned on. Note: for gendered languages, suggest to translate as "Feature on" because the accessibility feature it refers to can be in any gender. [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_service_on">On</string>
+    <!-- Shown when an accessibility feature is turned off. Note: for gendered languages, suggest to translate as "Feature off" because the accessibility feature it refers to can be in any gender. [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_service_off">Off</string>
+    <!-- Shows when the shortcut of an accessibility feature is turned off. The "off" refers to the state of "shortcut". Note: for gendered languages, suggest to translate as "Shortcut off". [CHAR LIMIT=NONE] -->
+    <string name="generic_accessibility_feature_shortcut_off">Off</string>
+    <!--
+        Summary for the disabled state of the accessibility shortcut.
+        This is shown as a summary for "[Service] shortcut" from the string resource accessibility_shortcut_title,
+        where "off" refers to the state of "shortcut" and
+        should match the same gender as the noun used in the string accessibility_shortcut_title.
+    -->
+    <string name="accessibility_shortcut_state_off">Off</string>
+
+    <!-- Representing daltonizer (color filter) feature is turned on -->
+    <string name="daltonizer_state_on">On</string>
+    <!-- Representing daltonizer (color filter) feature is turned off -->
+    <string name="daltonizer_state_off">Off</string>
+    <!-- Representing color inversion feature is turned on -->
+    <string name="color_inversion_state_on">On</string>
+    <!-- Representing color inversion feature is turned off -->
+    <string name="color_inversion_state_off">Off</string>
+    <!-- The color inversion feature summary displayed as a subtext as an item in a list. -->
+    <string name="color_inversion_feature_summary">Turns light screens dark and dark screens light</string>
+    <!-- Summary for the accessibility preference screen to enable screen magnification. [CHAR LIMIT=none] -->
+    <string name="magnification_feature_summary">Zoom in on the screen</string>
+    <!-- Summary of the AutoClick feature disabled state. -->
+    <string name="autoclick_disabled">Off</string>
+    <!-- Summary of the show captions preference disabled state. -->
+    <string name="show_captions_disabled">Off</string>
+    <!-- Summary of the show captions preference enabled state. -->
+    <string name="show_captions_enabled">On</string>
+    <!-- Summary of the Live Caption disabled state. -->
+    <string name="live_caption_disabled">Off</string>
+    <!-- Summary of the Live Caption enabled state. -->
+    <string name="live_caption_enabled">On</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>
+
+    <!-- Developer settings: grammatical gender title [CHAR LIMIT=50]-->
+    <string name="grammatical_gender_title">Grammatical gender</string>
+    <!-- Developer settings: select Grammatical gender dialog title [CHAR LIMIT=50]-->
+    <string name="grammatical_gender_dialog_title">Select Grammatical gender</string>
+
+    <!-- Do not translate. Developer settings: Title for the screen allowing user to control Quarantined apps [CHAR LIMIT=50] -->
+    <string name="quarantined_apps_title" translatable="false">Quarantined Apps</string>
+    <!-- Do not translate. Developer settings: Button to unquarantine an app [CHAR LIMIT=20] -->
+    <string name="unquarantine_app_button" translatable="false">Unquarantine app</string>
+
+    <!-- Title of preference to manage content protection settings -->
+    <string name="content_protection_preference_title">Scanning for deceptive apps</string>
+    <!-- Summary of the preference to manage content protection settings -->
+    <string name="content_protection_preference_summary">Check app activity for phishing</string>
+    <!-- Title of the switch bar on the subpage of content protection settings -->
+    <string name="content_protection_preference_user_consent_switch_title">Use scanning for deceptive apps</string>
+    <!-- Title of the toggle switch of work apps on the subpage of content protection settings -->
+    <string name="content_protection_preference_user_consent_work_profile_switch_title">Use scanning for deceptive apps for work</string>
+
+    <!-- Default summary of the subpage of content protection settings. Will be overlaid by OEM. -->
+    <string name="content_protection_preference_subpage_summary"></string>
+    <!-- Default information at the bottom of the subpage of content protection settings. Will be overlaid by OEM. -->
+    <string name="content_protection_preference_subpage_info"></string>
+
+    <!-- Content description for setting password complete-->
+    <string name="accessibility_setup_password_complete">Password is now set up</string>
+
+    <!-- Authority of the content provider that support methods restartPhoneProcess and restartRild. Will be overlaid by OEM.-->
+    <string name="reset_telephony_stack_content_provider_authority" translatable="false"></string>
+
+    <!--Text for Stylus Pointer Icon preference -->
+    <string name="show_stylus_pointer_icon">Show pointer while hovering</string>
 </resources>
diff --git a/res/values/styles.xml b/res/values/styles.xml
index ee78a45..fbc6d7f 100644
--- a/res/values/styles.xml
+++ b/res/values/styles.xml
@@ -121,6 +121,7 @@
         <item name="android:textAppearance">@android:style/TextAppearance.DeviceDefault.Medium</item>
         <item name="android:textColorHint">?android:attr/textColorSecondary</item>
         <item name="android:minHeight">@dimen/min_tap_target_size</item>
+        <item name="android:maxLength">500</item>
     </style>
 
     <style name="wifi_section">
@@ -215,10 +216,6 @@
 
     <style name="TextAppearance.Medium" parent="@android:style/TextAppearance.DeviceDefault.Medium"/>
     <style name="TextAppearance.Small" parent="@android:style/TextAppearance.DeviceDefault.Small"/>
-    <style name="TextAppearance.Switch"
-           parent="@android:style/TextAppearance.DeviceDefault.Widget.ActionBar.Title">
-        <item name="android:textSize">16sp</item>
-    </style>
 
     <style name="TextAppearance.CategoryTitle"
            parent="@*android:style/TextAppearance.DeviceDefault.Body2">
@@ -242,11 +239,6 @@
         <item name="android:textColor">?android:attr/colorError</item>
     </style>
 
-    <style name="TextAppearance.Small.SwitchBar">
-        <item name="android:textColor">?android:attr/textColorPrimary</item>
-        <item name="android:textStyle">normal</item>
-    </style>
-
     <style name="TextAppearance.RemoveDialogContent"
            parent="@android:style/TextAppearance.DeviceDefault">
         <item name="android:textSize">16sp</item>
@@ -442,6 +434,14 @@
         <item name="android:textSize">14sp</item>
         <item name="android:textColor">?android:attr/textColorPrimary</item>
         <item name="android:paddingBottom">24dp</item>
+        <item name="android:textIsSelectable">true</item>
+    </style>
+
+    <style name="DeviceAudioSharingText">
+        <item name="android:textAlignment">center</item>
+        <item name="android:fontFamily">@*android:string/config_bodyFontFamily</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textColor">?android:attr/textColorPrimary</item>
     </style>
 
     <style name="ContextualCardStyle">
@@ -949,8 +949,62 @@
     </style>
 
     <style name="ScreenLockPasswordHintTextFontStyle">
+        <item name="android:textColor">?android:attr/colorError</item>
+        <item name="android:fontFamily">google-sans-text</item>
+    </style>
+
+    <style name="PrivateSpaceSetupTextFontStyle">
         <item name="android:textColor">?android:attr/textColorPrimary</item>
         <item name="android:fontFamily">google-sans-text</item>
+        <item name="android:layout_width">wrap_content</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="PrivateSpaceSetupSubHeaderStyle" parent="@style/PrivateSpaceSetupTextFontStyle">
+        <item name="android:paddingLeft">24dp</item>
+        <item name="android:paddingRight">24dp</item>
+        <item name="android:paddingTop">20dp</item>
+        <item name="android:paddingBottom">8dp</item>
+        <item name="android:textSize">14sp</item>
+    </style>
+
+    <style name="PrivateSpaceSetupBulletPointLayoutStyle">
+        <item name="android:paddingLeft">24dp</item>
+        <item name="android:paddingRight">24dp</item>
+        <item name="android:paddingTop">16dp</item>
+        <item name="android:paddingBottom">16dp</item>
+        <item name="android:layout_width">fill_parent</item>
+        <item name="android:layout_height">wrap_content</item>
+    </style>
+
+    <style name="PrivateSpaceBulletPointTextFontStyle" parent="@style/PrivateSpaceSetupTextFontStyle">
+        <item name="android:paddingLeft">16dp</item>
+        <item name="android:textSize">16sp</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_alignParentTop">true</item>
+    </style>
+
+    <style name="CredentialManagerChangeButton" parent="@style/ActionPrimaryButton">
+        <item name="android:fontFamily">google-sans-medium</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textAllCaps">false</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:paddingHorizontal">24dp</item>
+    </style>
+
+    <style name="CredentialManagerOpenButton"
+        parent="@style/Widget.AppCompat.Button">
+        <item name="android:theme">@style/RoundedCornerThemeOverlay</item>
+        <item name="android:fontFamily">google-sans-medium</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:textAllCaps">false</item>
+        <item name="android:singleLine">true</item>
+        <item name="android:background">@null</item>
     </style>
 
 </resources>
diff --git a/res/values/styles_preference.xml b/res/values/styles_preference.xml
index 10c7e69..ec0a747 100644
--- a/res/values/styles_preference.xml
+++ b/res/values/styles_preference.xml
@@ -49,7 +49,7 @@
         <item name="iconSpaceReserved">@bool/settingslib_config_icon_space_reserved</item>
     </style>
 
-    <style name="SyncSwitchPreference" parent="@style/SettingsSwitchPreference.SettingsLib">
+    <style name="SyncSwitchPreference" parent="@style/SettingsSwitchPreferenceCompat.SettingsLib">
         <item name="android:widgetLayout">@layout/preference_widget_sync_toggle</item>
     </style>
 
diff --git a/res/values/themes.xml b/res/values/themes.xml
index 3e6192b..b149bb8 100644
--- a/res/values/themes.xml
+++ b/res/values/themes.xml
@@ -52,8 +52,6 @@
         <!-- Redefine the ActionBar style for contentInsetStart -->
         <item name="android:actionBarStyle">@style/Widget.ActionBar</item>
 
-        <item name="switchBarTheme">@style/ThemeOverlay.SwitchBar.Settings</item>
-
         <item name="preferenceBackgroundColor">@drawable/preference_background</item>
 
         <!-- For AndroidX AlertDialog -->
@@ -88,7 +86,6 @@
         <!-- Redefine the ActionBar style for contentInsetStart -->
         <item name="android:actionBarStyle">@style/Widget.ActionBar.SubSettings</item>
 
-        <item name="switchBarTheme">@style/ThemeOverlay.SwitchBar.Settings</item>
         <item name="android:navigationBarColor">@android:color/transparent</item>
         <item name="android:statusBarColor">@android:color/transparent</item>
     </style>
@@ -109,23 +106,9 @@
         <item name="android:textColorHint">?android:attr/textColorSecondary</item>
     </style>
 
-    <style name="ThemeOverlay.SwitchBar.Settings.Base" parent="@*android:style/ThemeOverlay.DeviceDefault.ActionBar">
-        <item name="android:elevation">1dp</item>
-        <item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
-        <item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
-        <item name="switchBarBackgroundColor">@color/switchbar_background_color</item>
-        <item name="switchBarBackgroundActivatedColor">?android:attr/colorAccent</item>
-        <item name="switchBarRestrictionIcon">@*android:drawable/ic_info</item>
-    </style>
-
-    <style name="ThemeOverlay.SwitchBar.Settings" parent="ThemeOverlay.SwitchBar.Settings.Base"/>
-
-    <style name="Widget.SwitchBar.Switch" parent="@android:style/Widget.Material.CompoundButton.Switch">
-        <item name="android:trackTint">@color/switchbar_switch_track_tint</item>
-        <item name="android:thumbTint">@color/switchbar_switch_thumb_tint</item>
-        <item name="android:minHeight">@dimen/min_tap_target_size</item>
-        <item name="android:minWidth">@dimen/min_tap_target_size</item>
-    </style>
+    <!-- TODO: Clean up this -->
+    <style name="ThemeOverlay.SwitchBar.Settings"
+        parent="@*android:style/ThemeOverlay.DeviceDefault.ActionBar" />
 
     <style name="ThemeOverlay.AlertDialog" parent="@android:style/ThemeOverlay.Material.Dialog.Alert">
         <item name="android:windowSoftInputMode">adjustResize</item>
@@ -240,6 +223,7 @@
 
     <style name="Theme.Panel.Material" parent="Theme.Panel">
         <item name="android:switchStyle">@style/Switch.SettingsLib</item>
+        <item name="switchStyle">@style/SwitchCompat.SettingsLib</item>
 
         <item name="notification_importance_button_background_color_unselected">@android:color/transparent</item>
         <item name="notification_importance_button_border_color_unselected">@android:color/system_outline_variant_light</item>
diff --git a/res/values/themes_suw.xml b/res/values/themes_suw.xml
index a7fcc39..71d9fcb 100644
--- a/res/values/themes_suw.xml
+++ b/res/values/themes_suw.xml
@@ -259,6 +259,7 @@
         <item name="android:textAppearanceListItem">@style/TextAppearance.PreferenceTitle.SettingsLib</item>
         <item name="preferenceTheme">@style/PreferenceTheme.SettingsLib</item>
         <item name="android:switchStyle">@style/Switch.SettingsLib</item>
+        <item name="switchStyle">@style/SwitchCompat.SettingsLib</item>
         <item name="preferenceFragmentCompatStyle">@style/SetupWizardPreferenceFragmentStyle</item>
     </style>
 
diff --git a/res/xml/accessibility_audio_adjustment.xml b/res/xml/accessibility_audio_adjustment.xml
index c38b4ad..92e6d8d 100644
--- a/res/xml/accessibility_audio_adjustment.xml
+++ b/res/xml/accessibility_audio_adjustment.xml
@@ -21,7 +21,7 @@
     android:persistent="false"
     android:title="@string/accessibility_audio_adjustment_title">
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="toggle_primary_mono"
         android:persistent="false"
         android:summary="@string/accessibility_toggle_primary_mono_summary"
diff --git a/res/xml/accessibility_audio_routing_fragment.xml b/res/xml/accessibility_audio_routing_fragment.xml
index 89fad0a..51129d6 100644
--- a/res/xml/accessibility_audio_routing_fragment.xml
+++ b/res/xml/accessibility_audio_routing_fragment.xml
@@ -46,10 +46,10 @@
         android:entries="@array/bluetooth_audio_routing_titles"
         android:entryValues="@array/bluetooth_audio_routing_values"
         android:summary="%s"
-        android:key="audio_routing_system_sounds"
+        android:key="audio_routing_notification"
         android:persistent="false"
-        android:title="@string/bluetooth_system_sounds_title"
-        settings:controller="com.android.settings.accessibility.HearingDeviceSystemSoundsRoutingPreferenceController" />
+        android:title="@string/bluetooth_notification_title"
+        settings:controller="com.android.settings.accessibility.HearingDeviceNotificationRoutingPreferenceController" />
 
     <com.android.settings.accessibility.AccessibilityFooterPreference
         android:key="hearing_device_footer"
diff --git a/res/xml/accessibility_button_settings.xml b/res/xml/accessibility_button_settings.xml
index ab9fc41..2b1392d 100644
--- a/res/xml/accessibility_button_settings.xml
+++ b/res/xml/accessibility_button_settings.xml
@@ -56,7 +56,7 @@
         android:title="@string/accessibility_button_size_title"
         settings:controller="com.android.settings.accessibility.FloatingMenuSizePreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="accessibility_button_fade"
         android:persistent="false"
         android:summary="@string/accessibility_button_fade_summary"
diff --git a/res/xml/accessibility_color_and_motion.xml b/res/xml/accessibility_color_and_motion.xml
index a313526..a500b72 100644
--- a/res/xml/accessibility_color_and_motion.xml
+++ b/res/xml/accessibility_color_and_motion.xml
@@ -49,7 +49,15 @@
         settings:controller="com.android.settings.display.DarkUIPreferenceController"
         settings:searchable="false"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
+        android:icon="@drawable/ic_dark_ui"
+        android:key="toggle_force_invert"
+        android:persistent="false"
+        android:summary="@string/accessibility_force_invert_summary"
+        android:title="@string/accessibility_force_invert_title"
+        settings:controller="com.android.settings.accessibility.ToggleForceInvertPreferenceController"/>
+
+    <SwitchPreferenceCompat
         android:icon="@drawable/ic_accessibility_animation"
         android:key="toggle_disable_animations"
         android:persistent="false"
@@ -57,7 +65,7 @@
         android:title="@string/accessibility_disable_animations"
         settings:controller="com.android.settings.accessibility.DisableAnimationsPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="toggle_large_pointer_icon"
         android:persistent="false"
         android:summary="@string/accessibility_toggle_large_pointer_icon_summary"
diff --git a/res/xml/accessibility_edit_shortcuts.xml b/res/xml/accessibility_edit_shortcuts.xml
new file mode 100644
index 0000000..06cbedd
--- /dev/null
+++ b/res/xml/accessibility_edit_shortcuts.xml
@@ -0,0 +1,79 @@
+<?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.
+  -->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto">
+
+    <com.android.settings.accessibility.shortcuts.ShortcutOptionPreference
+        android:key="@string/accessibility_shortcut_fab_pref"
+        android:persistent="false"
+        android:selectable="true"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.FloatingButtonShortcutOptionController" />
+
+    <com.android.settings.accessibility.shortcuts.ShortcutOptionPreference
+        android:key="@string/accessibility_shortcut_gesture_pref"
+        android:persistent="false"
+        android:selectable="true"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.GestureShortcutOptionController" />
+
+    <com.android.settings.accessibility.shortcuts.ShortcutOptionPreference
+        android:key="@string/accessibility_shortcut_nav_button_pref"
+        android:persistent="false"
+        android:selectable="true"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.NavButtonShortcutOptionController" />
+
+    <com.android.settings.accessibility.shortcuts.ShortcutOptionPreference
+        android:key="@string/accessibility_shortcut_volume_keys_pref"
+        android:persistent="false"
+        android:selectable="true"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.VolumeKeysShortcutOptionController" />
+
+    <com.android.settings.accessibility.shortcuts.ShortcutOptionPreference
+        android:key="@string/accessibility_shortcut_two_fingers_double_tap_pref"
+        android:persistent="false"
+        android:selectable="true"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.TwoFingersDoubleTapShortcutOptionController" />
+
+    <Preference
+        android:icon="@drawable/ic_keyboard_arrow_down"
+        android:key="@string/accessibility_shortcuts_advanced_collapsed"
+        android:persistent="false"
+        android:selectable="true"
+        android:title="@string/accessibility_shortcut_edit_dialog_title_advance"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.AdvancedShortcutsPreferenceController" />
+
+    <com.android.settings.accessibility.shortcuts.ShortcutOptionPreference
+        android:key="@string/accessibility_shortcut_triple_tap_pref"
+        android:persistent="false"
+        android:selectable="true"
+        settings:allowDividerAbove="false"
+        settings:allowDividerBelow="false"
+        settings:controller="com.android.settings.accessibility.shortcuts.TripleTapShortcutOptionController" />
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/accessibility_hearing_aids.xml b/res/xml/accessibility_hearing_aids.xml
index b13eb74..57a0fe2 100644
--- a/res/xml/accessibility_hearing_aids.xml
+++ b/res/xml/accessibility_hearing_aids.xml
@@ -28,11 +28,10 @@
         settings:controller="com.android.settings.accessibility.AvailableHearingDevicePreferenceController"/>
 
     <com.android.settingslib.RestrictedPreference
-        android:key="add_bt_devices"
+        android:key="hearing_device_add_bt_devices"
         android:title="@string/bluetooth_pairing_pref_title"
         android:icon="@drawable/ic_add_24dp"
         android:summary="@string/connected_device_add_device_summary"
-        android:fragment="com.android.settings.accessibility.HearingDevicePairingDetail"
         settings:userRestriction="no_config_bluetooth"
         settings:useAdminDisabledSummary="true"
         settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/>
@@ -53,7 +52,7 @@
             android:fragment="com.android.settings.accessibility.AccessibilityAudioRoutingFragment"
             settings:controller="com.android.settings.accessibility.HearingAidAudioRoutingPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="hearing_aid_compatibility"
             android:order="30"
             android:title="@string/accessibility_hac_mode_title"
diff --git a/res/xml/accessibility_magnification_service_settings.xml b/res/xml/accessibility_magnification_service_settings.xml
deleted file mode 100644
index e80d936..0000000
--- a/res/xml/accessibility_magnification_service_settings.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2019 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-  -->
-
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="magnification_mode_screen"
-    android:persistent="false"
-    android:title="@string/accessibility_magnification_service_settings_title"
-    settings:searchable="false">
-
-    <Preference
-        android:key="magnification_mode"
-        android:persistent="false"
-        android:title="@string/accessibility_magnification_mode_title"
-        settings:searchable="false"
-        settings:controller="com.android.settings.accessibility.MagnificationModePreferenceController" />
-
-</PreferenceScreen>
diff --git a/res/xml/accessibility_magnification_settings.xml b/res/xml/accessibility_magnification_settings.xml
deleted file mode 100644
index 83ce79b..0000000
--- a/res/xml/accessibility_magnification_settings.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2017 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT 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/accessibility_screen_magnification_title"
-    settings:searchable="false">
-    <Preference
-        android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
-        android:key="screen_magnification_gestures_preference_screen"
-        android:title="@string/accessibility_screen_magnification_gestures_title"
-        settings:searchable="false"
-        settings:controller="com.android.settings.accessibility.MagnificationGesturesPreferenceController"/>
-    <Preference
-        android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
-        android:key="screen_magnification_navbar_preference_screen"
-        android:title="@string/accessibility_screen_magnification_navbar_title"
-        settings:searchable="false"
-        settings:controller="com.android.settings.accessibility.MagnificationNavbarPreferenceController"/>
-</PreferenceScreen>
diff --git a/res/xml/accessibility_settings.xml b/res/xml/accessibility_settings.xml
index 1110914..0f4065b 100644
--- a/res/xml/accessibility_settings.xml
+++ b/res/xml/accessibility_settings.xml
@@ -19,7 +19,8 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="accessibility_settings_screen"
     android:persistent="false"
-    android:title="@string/accessibility_settings">
+    android:title="@string/accessibility_settings"
+    settings:keywords="@string/keywords_accessibility">
 
     <PreferenceCategory
         android:key="user_installed_services_category"
@@ -62,7 +63,7 @@
             settings:controller="com.android.settings.accessibility.ReduceBrightColorsPreferenceController"/>
 
         <Preference
-            android:fragment="com.android.settings.accessibility.MagnificationPreferenceFragment"
+            android:fragment="com.android.settings.accessibility.ToggleScreenMagnificationPreferenceFragment"
             android:key="magnification_preference_screen"
             android:icon="@drawable/ic_accessibility_magnification"
             android:persistent="false"
@@ -140,7 +141,7 @@
         android:persistent="false"
         android:title="@string/audio_category_title">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="toggle_audio_description"
             android:persistent="false"
             android:icon="@drawable/ic_audio_description"
diff --git a/res/xml/accessibility_shortcuts_settings.xml b/res/xml/accessibility_shortcuts_settings.xml
index 2863335..c807056 100644
--- a/res/xml/accessibility_shortcuts_settings.xml
+++ b/res/xml/accessibility_shortcuts_settings.xml
@@ -28,7 +28,7 @@
         android:summary="@string/accessibility_button_summary"
         settings:controller="com.android.settings.accessibility.AccessibilityButtonPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="accessibility_shortcut_preference"
         android:persistent="false"
         android:title="@string/accessibility_shortcut_service_on_lock_screen_title"
diff --git a/res/xml/accessibility_system_controls.xml b/res/xml/accessibility_system_controls.xml
index 37c4d67..460214f 100644
--- a/res/xml/accessibility_system_controls.xml
+++ b/res/xml/accessibility_system_controls.xml
@@ -36,7 +36,7 @@
         settings:searchable="false"
         settings:controller="com.android.settings.gestures.OneHandedEnablePreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="toggle_power_button_ends_call_preference"
         android:persistent="false"
         android:title="@string/accessibility_power_button_ends_call_prerefence_title"
@@ -44,7 +44,7 @@
 
     <!-- Standard auto-rotation preference that will be shown when device state based auto-rotation
          settings are NOT available. -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="toggle_lock_screen_rotation_preference"
         android:persistent="false"
         android:title="@string/accelerometer_title"
diff --git a/res/xml/accessibility_tap_assistance.xml b/res/xml/accessibility_tap_assistance.xml
index 22667b4..d2ec653 100644
--- a/res/xml/accessibility_tap_assistance.xml
+++ b/res/xml/accessibility_tap_assistance.xml
@@ -27,14 +27,16 @@
         android:summary="%s"
         android:persistent="false"
         android:title="@string/accessibility_long_press_timeout_preference_title"
-        settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"/>
+        settings:controller="com.android.settings.accessibility.SelectLongPressTimeoutPreferenceController"
+        settings:keywords="@string/keywords_touch_and_hold_delay"/>
 
     <Preference
         android:fragment="com.android.settings.accessibility.AccessibilityControlTimeoutPreferenceFragment"
         android:key="accessibility_control_timeout_preference_fragment"
         android:persistent="false"
         android:title="@string/accessibility_setting_item_control_timeout_title"
-        settings:controller="com.android.settings.accessibility.AccessibilityTimeoutPreferenceController"/>
+        settings:controller="com.android.settings.accessibility.AccessibilityTimeoutPreferenceController"
+        settings:keywords="@string/keywords_accessibility_timeout"/>
 
     <Preference
         android:fragment="com.android.settings.accessibility.ToggleAutoclickPreferenceFragment"
diff --git a/res/xml/accessibility_text_reading_options.xml b/res/xml/accessibility_text_reading_options.xml
index 8a09f67..0711a3f 100644
--- a/res/xml/accessibility_text_reading_options.xml
+++ b/res/xml/accessibility_text_reading_options.xml
@@ -45,17 +45,21 @@
         settings:iconStartContentDescription="@string/screen_zoom_make_smaller_desc"
         settings:keywords="@string/keywords_display_size" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="toggle_force_bold_text"
         android:persistent="false"
         android:title="@string/force_bold_text"
+        settings:controller=
+            "com.android.settings.accessibility.FontWeightAdjustmentPreferenceController"
         settings:keywords="@string/keywords_bold_text" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="toggle_high_text_contrast_preference"
         android:persistent="false"
         android:summary="@string/accessibility_toggle_high_text_contrast_preference_summary"
-        android:title="@string/accessibility_toggle_high_text_contrast_preference_title" />
+        android:title="@string/accessibility_toggle_high_text_contrast_preference_title"
+        settings:controller=
+            "com.android.settings.accessibility.HighTextContrastPreferenceController" />
 
     <com.android.settings.accessibility.TextReadingResetPreference
         android:key="reset"
diff --git a/res/xml/accessibility_vibration_intensity_settings.xml b/res/xml/accessibility_vibration_intensity_settings.xml
index 7b08fe0..f9a5578 100644
--- a/res/xml/accessibility_vibration_intensity_settings.xml
+++ b/res/xml/accessibility_vibration_intensity_settings.xml
@@ -20,23 +20,23 @@
     android:title="@string/accessibility_vibration_settings_title">
 
     <com.android.settingslib.widget.MainSwitchPreference
-        android:key="vibration_main_switch"
+        android:key="vibration_intensity_switch_main"
         android:title="@string/accessibility_vibration_primary_switch_title"
         app:keywords="@string/keywords_accessibility_vibration_primary_switch"
         app:controller="com.android.settings.accessibility.VibrationMainSwitchPreferenceController"/>
 
     <PreferenceCategory
-        android:key="accessibility_call_vibration_category"
+        android:key="vibration_intensity_category_call"
         android:title="@string/accessibility_call_vibration_category_title">
 
         <com.android.settings.widget.SeekBarPreference
-            android:key="ring_vibration_preference_screen"
+            android:key="vibration_intensity_preference_ring"
             android:title="@string/accessibility_ring_vibration_title"
             app:keywords="@string/keywords_ring_vibration"
             app:controller="com.android.settings.accessibility.RingVibrationIntensityPreferenceController" />
 
-        <SwitchPreference
-            android:key="ramping_ringer"
+        <SwitchPreferenceCompat
+            android:key="vibration_intensity_preference_ramping_ringer"
             android:title="@string/vibrate_when_ringing_option_ramping_ringer"
             app:keywords="@string/keywords_ramping_ringer_vibration"
             app:controller="com.android.settings.accessibility.VibrationRampingRingerTogglePreferenceController"/>
@@ -44,17 +44,17 @@
     </PreferenceCategory>
 
     <PreferenceCategory
-        android:key="accessibility_notification_alarm_vibration_category"
+        android:key="vibration_intensity_category_notification_alarm"
         android:title="@string/accessibility_notification_alarm_vibration_category_title">
 
         <com.android.settings.widget.SeekBarPreference
-            android:key="notification_vibration_preference_screen"
+            android:key="vibration_intensity_preference_notification"
             android:title="@string/accessibility_notification_vibration_title"
             app:keywords="@string/keywords_notification_vibration"
             app:controller="com.android.settings.accessibility.NotificationVibrationIntensityPreferenceController" />
 
         <com.android.settings.widget.SeekBarPreference
-            android:key="alarm_vibration_preference_screen"
+            android:key="vibration_intensity_preference_alarm"
             android:title="@string/accessibility_alarm_vibration_title"
             app:keywords="@string/keywords_alarm_vibration"
             app:controller="com.android.settings.accessibility.AlarmVibrationIntensityPreferenceController" />
@@ -62,21 +62,27 @@
     </PreferenceCategory>
 
     <PreferenceCategory
-        android:key="accessibility_interactive_haptics_category"
+        android:key="vibration_intensity_category_haptics"
         android:title="@string/accessibility_interactive_haptics_category_title">
 
         <com.android.settings.widget.SeekBarPreference
-            android:key="touch_vibration_preference_screen"
+            android:key="vibration_intensity_preference_touch"
             android:title="@string/accessibility_touch_vibration_title"
             app:keywords="@string/keywords_touch_vibration"
             app:controller="com.android.settings.accessibility.HapticFeedbackIntensityPreferenceController" />
 
         <com.android.settings.widget.SeekBarPreference
-            android:key="media_vibration_preference_screen"
+            android:key="vibration_intensity_preference_media"
             android:title="@string/accessibility_media_vibration_title"
             app:keywords="@string/keywords_media_vibration"
             app:controller="com.android.settings.accessibility.MediaVibrationIntensityPreferenceController" />
 
+        <SwitchPreferenceCompat
+            android:key="vibration_intensity_preference_keyboard"
+            android:title="@string/accessibility_keyboard_vibration_title"
+            app:keywords="@string/keywords_keyboard_vibration"
+            app:controller="com.android.settings.accessibility.KeyboardVibrationTogglePreferenceController"/>
+
     </PreferenceCategory>
 
 </PreferenceScreen>
diff --git a/res/xml/accessibility_vibration_settings.xml b/res/xml/accessibility_vibration_settings.xml
index 25be499..3ce92a6 100644
--- a/res/xml/accessibility_vibration_settings.xml
+++ b/res/xml/accessibility_vibration_settings.xml
@@ -20,23 +20,23 @@
     android:title="@string/accessibility_vibration_settings_title">
 
     <com.android.settingslib.widget.MainSwitchPreference
-        android:key="vibration_main_switch"
+        android:key="vibration_switch_main"
         android:title="@string/accessibility_vibration_primary_switch_title"
         app:keywords="@string/keywords_accessibility_vibration_primary_switch"
         app:controller="com.android.settings.accessibility.VibrationMainSwitchPreferenceController"/>
 
     <PreferenceCategory
-        android:key="accessibility_call_vibration_category"
+        android:key="vibration_category_call"
         android:title="@string/accessibility_call_vibration_category_title">
 
-        <SwitchPreference
-            android:key="ring_vibration_preference_screen"
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_ring"
             android:title="@string/accessibility_ring_vibration_title"
             app:keywords="@string/keywords_ring_vibration"
             app:controller="com.android.settings.accessibility.RingVibrationTogglePreferenceController" />
 
-        <SwitchPreference
-            android:key="ramping_ringer"
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_ramping_ringer"
             android:title="@string/vibrate_when_ringing_option_ramping_ringer"
             app:keywords="@string/keywords_ramping_ringer_vibration"
             app:controller="com.android.settings.accessibility.VibrationRampingRingerTogglePreferenceController"/>
@@ -44,17 +44,17 @@
     </PreferenceCategory>
 
     <PreferenceCategory
-        android:key="accessibility_notification_alarm_vibration_category"
+        android:key="vibration_category_notification_alarm"
         android:title="@string/accessibility_notification_alarm_vibration_category_title">
 
-        <SwitchPreference
-            android:key="notification_vibration_preference_screen"
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_notification"
             android:title="@string/accessibility_notification_vibration_title"
             app:keywords="@string/keywords_notification_vibration"
             app:controller="com.android.settings.accessibility.NotificationVibrationTogglePreferenceController" />
 
-        <SwitchPreference
-            android:key="alarm_vibration_preference_screen"
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_alarm"
             android:title="@string/accessibility_alarm_vibration_title"
             app:keywords="@string/keywords_alarm_vibration"
             app:controller="com.android.settings.accessibility.AlarmVibrationTogglePreferenceController" />
@@ -62,21 +62,27 @@
     </PreferenceCategory>
 
     <PreferenceCategory
-        android:key="accessibility_interactive_haptics_category"
+        android:key="vibration_category_haptics"
         android:title="@string/accessibility_interactive_haptics_category_title">
 
-        <SwitchPreference
-            android:key="touch_vibration_preference_screen"
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_touch"
             android:title="@string/accessibility_touch_vibration_title"
             app:keywords="@string/keywords_touch_vibration"
             app:controller="com.android.settings.accessibility.HapticFeedbackTogglePreferenceController" />
 
-        <SwitchPreference
-            android:key="media_vibration_preference_screen"
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_media"
             android:title="@string/accessibility_media_vibration_title"
             app:keywords="@string/keywords_media_vibration"
             app:controller="com.android.settings.accessibility.MediaVibrationTogglePreferenceController" />
 
+        <SwitchPreferenceCompat
+            android:key="vibration_preference_keyboard"
+            android:title="@string/accessibility_keyboard_vibration_title"
+            app:keywords="@string/keywords_keyboard_vibration"
+            app:controller="com.android.settings.accessibility.KeyboardVibrationTogglePreferenceController"/>
+
     </PreferenceCategory>
 
 </PreferenceScreen>
diff --git a/res/xml/accounts_dashboard_settings.xml b/res/xml/accounts_dashboard_settings.xml
index c8627e7..f332d52 100644
--- a/res/xml/accounts_dashboard_settings.xml
+++ b/res/xml/accounts_dashboard_settings.xml
@@ -49,21 +49,21 @@
         android:key="dashboard_tile_placeholder"
         android:order="130"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
         android:summary="@string/auto_sync_account_summary"
         android:order="202"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_work_account_data"
         android:title="@string/account_settings_menu_auto_sync_work"
         android:summary="@string/auto_sync_account_summary"
         settings:forWork="true"
         android:order="203"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_personal_account_data"
         android:title="@string/account_settings_menu_auto_sync_personal"
         android:summary="@string/auto_sync_account_summary"
diff --git a/res/xml/accounts_dashboard_settings_credman.xml b/res/xml/accounts_dashboard_settings_credman.xml
index 83c16a2..08377c9 100644
--- a/res/xml/accounts_dashboard_settings_credman.xml
+++ b/res/xml/accounts_dashboard_settings_credman.xml
@@ -18,7 +18,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="user_and_account_settings_screen"
-    android:title="@string/account_dashboard_title"
+    android:title="@string/account_dashboard_title_with_passkeys"
     settings:keywords="@string/keywords_accounts">
 
     <PreferenceCategory
@@ -26,15 +26,14 @@
         android:order="10"
         android:title="@string/credman_chosen_app_title">
 
-        <com.android.settings.widget.GearPreference
-            android:fragment="com.android.settings.applications.credentials.DefaultCombinedPicker"
+        <com.android.settings.applications.credentials.PrimaryProviderPreference
             android:key="default_credman_autofill_main"
             android:title="@string/credman_chosen_app_title"
             settings:keywords="@string/credman_autofill_keywords">
             <extra
                 android:name="for_work"
                 android:value="false" />
-        </com.android.settings.widget.GearPreference>
+        </com.android.settings.applications.credentials.PrimaryProviderPreference>
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -49,21 +48,21 @@
         android:key="dashboard_tile_placeholder"
         android:order="130"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
         android:summary="@string/auto_sync_account_summary"
         android:order="202"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_work_account_data"
         android:title="@string/account_settings_menu_auto_sync_work"
         android:summary="@string/auto_sync_account_summary"
         settings:forWork="true"
         android:order="203"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_personal_account_data"
         android:title="@string/account_settings_menu_auto_sync_personal"
         android:summary="@string/auto_sync_account_summary"
diff --git a/res/xml/accounts_personal_dashboard_settings.xml b/res/xml/accounts_personal_dashboard_settings.xml
index e0ba71b..2d4d682 100644
--- a/res/xml/accounts_personal_dashboard_settings.xml
+++ b/res/xml/accounts_personal_dashboard_settings.xml
@@ -50,14 +50,14 @@
         android:key="dashboard_tile_placeholder"
         android:order="130"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
         android:summary="@string/auto_sync_account_summary"
         android:order="200"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_personal_account_data"
         android:title="@string/account_settings_menu_auto_sync_personal"
         android:summary="@string/auto_sync_account_summary"
diff --git a/res/xml/accounts_personal_dashboard_settings_credman.xml b/res/xml/accounts_personal_dashboard_settings_credman.xml
index b87e866..16ab31b 100644
--- a/res/xml/accounts_personal_dashboard_settings_credman.xml
+++ b/res/xml/accounts_personal_dashboard_settings_credman.xml
@@ -19,7 +19,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="user_and_account_settings_screen"
-    android:title="@string/account_dashboard_title"
+    android:title="@string/account_dashboard_title_with_passkeys"
     settings:keywords="@string/keywords_accounts">
 
     <PreferenceCategory
@@ -27,15 +27,14 @@
         android:order="10"
         android:title="@string/credman_chosen_app_title">
 
-        <com.android.settings.widget.GearPreference
-            android:fragment="com.android.settings.applications.credentials.DefaultCombinedPicker"
+        <com.android.settings.applications.credentials.PrimaryProviderPreference
             android:key="default_credman_autofill_main"
             android:title="@string/credman_chosen_app_title"
             settings:keywords="@string/credman_autofill_keywords">
             <extra
                 android:name="for_work"
                 android:value="false" />
-        </com.android.settings.widget.GearPreference>
+        </com.android.settings.applications.credentials.PrimaryProviderPreference>
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -50,14 +49,14 @@
         android:key="dashboard_tile_placeholder"
         android:order="130"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
         android:summary="@string/auto_sync_account_summary"
         android:order="200"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_personal_account_data"
         android:title="@string/account_settings_menu_auto_sync_personal"
         android:summary="@string/auto_sync_account_summary"
diff --git a/res/xml/accounts_private_dashboard_settings.xml b/res/xml/accounts_private_dashboard_settings.xml
new file mode 100644
index 0000000..cc1a4fd
--- /dev/null
+++ b/res/xml/accounts_private_dashboard_settings.xml
@@ -0,0 +1,66 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="user_and_account_settings_screen"
+    android:title="@string/account_dashboard_title"
+    settings:keywords="@string/keywords_accounts">
+
+    <PreferenceCategory
+        android:key="passwords_category"
+        android:order="10"
+        android:persistent="false"
+        android:title="@string/autofill_passwords"
+        settings:controller="com.android.settings.applications.autofill.PasswordsPreferenceController"
+        settings:keywords="@string/autofill_keywords" />
+
+    <PreferenceCategory
+        android:key="default_service_category"
+        android:order="20"
+        android:title="@string/autofill_app">
+
+        <com.android.settings.widget.GearPreference
+            android:fragment="com.android.settings.applications.defaultapps.DefaultAutofillPicker"
+            android:key="default_autofill_private"
+            android:title="@string/autofill_app"
+            settings:keywords="@string/autofill_keywords">
+            <extra
+                android:name="for_work"
+                android:value="false" />
+        </com.android.settings.widget.GearPreference>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="dashboard_tile_placeholder"
+        android:order="130"/>
+
+    <SwitchPreferenceCompat
+        android:key="auto_sync_account_data"
+        android:title="@string/auto_sync_account_title"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="200"
+        settings:allowDividerAbove="true"/>
+
+    <SwitchPreferenceCompat
+        android:key="auto_sync_private_account_data"
+        android:title="@string/account_settings_menu_auto_sync_private"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="210"/>
+
+</PreferenceScreen>
diff --git a/res/xml/accounts_private_dashboard_settings_credman.xml b/res/xml/accounts_private_dashboard_settings_credman.xml
new file mode 100644
index 0000000..c0b12b5
--- /dev/null
+++ b/res/xml/accounts_private_dashboard_settings_credman.xml
@@ -0,0 +1,66 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="user_and_account_settings_screen"
+    android:title="@string/account_dashboard_title_with_passkeys"
+    settings:keywords="@string/keywords_accounts">
+
+    <PreferenceCategory
+        android:key="default_service_category"
+        android:order="10"
+        android:title="@string/credman_chosen_app_title">
+
+        <com.android.settings.applications.credentials.PrimaryProviderPreference
+            android:key="default_credman_autofill_private"
+            android:title="@string/credman_chosen_app_title"
+            settings:searchable="false">
+            settings:keywords="@string/credman_autofill_keywords">
+            <extra
+                android:name="for_work"
+                android:value="false" />
+        </com.android.settings.applications.credentials.PrimaryProviderPreference>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="credman_category"
+        android:order="20"
+        android:persistent="false"
+        android:title="@string/credman_credentials"
+        settings:controller="com.android.settings.applications.credentials.CredentialManagerPreferenceController"
+        settings:keywords="@string/credman_keywords" />
+
+    <PreferenceCategory
+        android:key="dashboard_tile_placeholder"
+        android:order="130"/>
+
+    <SwitchPreferenceCompat
+        android:key="auto_sync_account_data"
+        android:title="@string/auto_sync_account_title"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="200"
+        settings:allowDividerAbove="true"/>
+
+    <SwitchPreferenceCompat
+        android:key="auto_sync_private_account_data"
+        android:title="@string/account_settings_menu_auto_sync_private"
+        android:summary="@string/auto_sync_account_summary"
+        android:order="210"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/accounts_work_dashboard_settings.xml b/res/xml/accounts_work_dashboard_settings.xml
index 3269933..ad5e359 100644
--- a/res/xml/accounts_work_dashboard_settings.xml
+++ b/res/xml/accounts_work_dashboard_settings.xml
@@ -51,14 +51,14 @@
         android:key="dashboard_tile_placeholder"
         android:order="130"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
         android:summary="@string/auto_sync_account_summary"
         android:order="200"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_work_account_data"
         android:title="@string/account_settings_menu_auto_sync_work"
         android:summary="@string/auto_sync_account_summary"
diff --git a/res/xml/accounts_work_dashboard_settings_credman.xml b/res/xml/accounts_work_dashboard_settings_credman.xml
index bb9976e..44bdb52 100644
--- a/res/xml/accounts_work_dashboard_settings_credman.xml
+++ b/res/xml/accounts_work_dashboard_settings_credman.xml
@@ -19,7 +19,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:key="user_and_account_settings_screen"
-    android:title="@string/account_dashboard_title"
+    android:title="@string/account_dashboard_title_with_passkeys"
     settings:keywords="@string/keywords_accounts">
 
     <PreferenceCategory
@@ -27,15 +27,14 @@
         android:order="10"
         android:title="@string/credman_chosen_app_title">
 
-        <com.android.settings.widget.GearPreference
-            android:fragment="com.android.settings.applications.credentials.DefaultCombinedPickerWork"
+        <com.android.settings.applications.credentials.PrimaryProviderPreference
             android:key="default_credman_autofill_main_work"
             android:title="@string/credman_chosen_app_title"
             settings:searchable="false">
             <extra
                 android:name="for_work"
                 android:value="true" />
-        </com.android.settings.widget.GearPreference>
+        </com.android.settings.applications.credentials.PrimaryProviderPreference>
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -50,14 +49,14 @@
         android:key="dashboard_tile_placeholder"
         android:order="130"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_account_data"
         android:title="@string/auto_sync_account_title"
         android:summary="@string/auto_sync_account_summary"
         android:order="200"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_sync_work_account_data"
         android:title="@string/account_settings_menu_auto_sync_work"
         android:summary="@string/auto_sync_account_summary"
diff --git a/res/xml/all_tether_prefs.xml b/res/xml/all_tether_prefs.xml
deleted file mode 100644
index 0aee621..0000000
--- a/res/xml/all_tether_prefs.xml
+++ /dev/null
@@ -1,100 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  ~ Copyright (C) 2020 The Android Open Source Project
-  ~
-  ~ Licensed under the Apache License, Version 2.0 (the "License");
-  ~ you may not use this file except in compliance with the License.
-  ~ You may obtain a copy of the License at
-  ~
-  ~      http://www.apache.org/licenses/LICENSE-2.0
-  ~
-  ~ Unless required by applicable law or agreed to in writing, software
-  ~ distributed under the License is distributed on an "AS IS" BASIS,
-  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  ~ See the License for the specific language governing permissions and
-  ~ limitations under the License.
-  -->
-
-<PreferenceScreen
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:settings="http://schemas.android.com/apk/res-auto"
-    android:key="all_tether_prefs_screen"
-    android:title="@string/tether_settings_title_all"
-    settings:searchable="false">
-
-    <PreferenceCategory
-        android:key="wifi_tether_settings_group"
-        android:title="@string/wifi_hotspot_checkbox_text"
-        settings:searchable="false">
-        <com.android.settings.wifi.tether.WifiTetherSsidPreference
-            android:key="wifi_tether_network_name_2"
-            android:title="@string/wifi_hotspot_name_title"
-            android:summary="@string/summary_placeholder"/>
-
-        <com.android.settings.widget.ValidatedEditTextPreference
-            android:key="wifi_tether_network_password_2"
-            android:persistent="false"
-            android:title="@string/wifi_hotspot_password_title"/>
-
-        <SwitchPreference
-            android:key="wifi_tether_auto_turn_off_2"
-            android:title="@string/wifi_hotspot_auto_off_title"
-            android:summary="@string/wifi_hotspot_auto_off_summary"/>
-
-        <ListPreference
-            android:key="wifi_tether_network_ap_band_2"
-            android:title="@string/wifi_hotspot_ap_band_title"/>
-
-        <ListPreference
-            android:key="wifi_tether_security_2"
-            android:title="@string/wifi_security"
-            android:summary="@string/summary_placeholder"
-            android:entries="@array/wifi_tether_security"
-            android:entryValues="@array/wifi_tether_security_values"/>
-    </PreferenceCategory>
-
-    <PreferenceCategory
-        android:key="tethering_options_group"
-        android:title="@string/tethering_interface_options"
-        settings:searchable="false">
-        <SwitchPreference
-            android:key="enable_usb_tethering"
-            android:title="@string/usb_tethering_button_text"
-            android:summary="@string/usb_tethering_subtext"
-            settings:controller="com.android.settings.network.UsbTetherPreferenceController"
-            settings:keywords="@string/keywords_hotspot_tethering" />
-
-        <SwitchPreference
-            android:key="enable_bluetooth_tethering_2"
-            android:title="@string/bluetooth_tether_checkbox_text"
-            android:summary="@string/bluetooth_tethering_subtext"
-            settings:controller="com.android.settings.network.BluetoothTetherPreferenceController"
-            settings:keywords="@string/keywords_hotspot_tethering" />
-
-        <SwitchPreference
-            android:key="enable_ethernet_tethering_2"
-            android:title="@string/ethernet_tether_checkbox_text"
-            android:summary="@string/ethernet_tethering_subtext"
-            settings:controller="com.android.settings.network.EthernetTetherPreferenceController"
-            settings:keywords="@string/keywords_hotspot_tethering"/>
-
-        <SwitchPreference
-            android:key="disable_wifi_tethering"
-            android:title="@string/disable_wifi_hotspot_title"
-            android:summary="@string/summary_placeholder"
-            settings:controller="com.android.settings.network.WifiTetherDisablePreferenceController"
-            settings:keywords="@string/keywords_hotspot_tethering" />
-    </PreferenceCategory>
-
-    <Preference
-        android:key="disabled_on_data_saver_2"
-        android:summary="@string/tether_settings_disabled_on_data_saver"
-        android:selectable="false"
-        settings:searchable="false"
-        settings:allowDividerAbove="true" />
-
-    <com.android.settingslib.widget.FooterPreference
-        android:key="tether_prefs_footer_2"
-        android:selectable="false"
-        settings:searchable="false"/>
-</PreferenceScreen>
diff --git a/res/xml/apn_editor.xml b/res/xml/apn_editor.xml
index 0c39948..e5c04e0 100644
--- a/res/xml/apn_editor.xml
+++ b/res/xml/apn_editor.xml
@@ -143,7 +143,7 @@
         android:entryValues="@array/apn_protocol_values"
         android:persistent="false"
         />
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:title="@string/carrier_enabled"
         android:key="carrier_enabled"
         android:enabled="false"
diff --git a/res/xml/app_data_usage.xml b/res/xml/app_data_usage.xml
index aacc1f6..034015c 100644
--- a/res/xml/app_data_usage.xml
+++ b/res/xml/app_data_usage.xml
@@ -21,7 +21,8 @@
     android:title="@string/data_usage_app_summary_title">
 
     <com.android.settings.datausage.SpinnerPreference
-        android:key="cycle" />
+        android:key="cycle"
+        settings:controller="com.android.settings.datausage.AppDataUsageCycleController" />
 
     <PreferenceCategory
         android:key="app_data_usage_summary_category">
@@ -56,7 +57,8 @@
 
         <Preference
             android:key="app_settings"
-            android:title="@string/data_usage_app_settings" />
+            android:title="@string/data_usage_app_settings"
+            settings:controller="com.android.settings.datausage.AppDataUsageAppSettingsController" />
 
         <com.android.settingslib.RestrictedSwitchPreference
             android:key="restrict_background"
@@ -76,6 +78,7 @@
 
     <PreferenceCategory
         android:key="app_list"
-        android:title="@string/data_usage_other_apps" />
+        android:title="@string/data_usage_other_apps"
+        settings:controller="com.android.settings.datausage.AppDataUsageListController" />
 
 </PreferenceScreen>
diff --git a/res/xml/app_info_settings.xml b/res/xml/app_info_settings.xml
index 73241b7..0782f67 100644
--- a/res/xml/app_info_settings.xml
+++ b/res/xml/app_info_settings.xml
@@ -139,7 +139,7 @@
         settings:controller=
             "com.android.settings.applications.appinfo.AppHibernationPreferenceCategoryController">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="hibernation_switch"
             android:title="@string/unused_apps_switch"
             android:summary="@string/unused_apps_switch_summary"
diff --git a/res/xml/app_ops_permissions_details.xml b/res/xml/app_ops_permissions_details.xml
index eb8188b..3cbe009 100644
--- a/res/xml/app_ops_permissions_details.xml
+++ b/res/xml/app_ops_permissions_details.xml
@@ -17,7 +17,7 @@
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto">
 
-    <com.android.settings.widget.FilterTouchesSwitchPreference
+    <com.android.settingslib.RestrictedSwitchPreference
         android:key="app_ops_settings_switch" />
 
     <com.android.settingslib.widget.FooterPreference
diff --git a/res/xml/assist_gesture_settings.xml b/res/xml/assist_gesture_settings.xml
deleted file mode 100644
index 2426516..0000000
--- a/res/xml/assist_gesture_settings.xml
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT 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:app="http://schemas.android.com/apk/res-auto"
-    android:title="@string/assist_gesture_title">
-
-    <com.android.settings.widget.VideoPreference
-        android:key="gesture_assist_video"
-        app:animation="@raw/gesture_assist"
-        app:preview="@drawable/gesture_assist"
-        app:controller="com.android.settings.widget.VideoPreferenceController" />
-
-    <SwitchPreference
-        android:key="gesture_assist"
-        android:title="@string/assist_gesture_title"
-        app:keywords="@string/keywords_assist_gesture_launch"
-        app:controller="com.android.settings.gestures.AssistGestureSettingsPreferenceController"
-        app:allowDividerAbove="true" />
-
-</PreferenceScreen>
diff --git a/res/xml/audio_stream_details_fragment.xml b/res/xml/audio_stream_details_fragment.xml
new file mode 100644
index 0000000..2a84939
--- /dev/null
+++ b/res/xml/audio_stream_details_fragment.xml
@@ -0,0 +1,36 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="Audio stream details">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="audio_stream_header"
+        android:layout="@layout/settings_entity_header"
+        android:selectable="false"
+        settings:allowDividerBelow="true"
+        settings:searchable="false"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamHeaderController" />
+
+    <com.android.settingslib.widget.ActionButtonsPreference
+        android:key="audio_stream_button"
+        settings:allowDividerBelow="true"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamButtonController" />
+
+</PreferenceScreen>
diff --git a/res/xml/auto_rotate_settings.xml b/res/xml/auto_rotate_settings.xml
index 38aa5f0..e8303b1 100644
--- a/res/xml/auto_rotate_settings.xml
+++ b/res/xml/auto_rotate_settings.xml
@@ -28,7 +28,7 @@
         android:title="@string/auto_rotate_settings_primary_switch_title"
         settings:controller="com.android.settings.display.AutoRotateSwitchBarController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_rotate_switch"
         android:title="@string/auto_rotate_settings_primary_switch_title"
         settings:controller="com.android.settings.display.AutoRotatePreferenceController"/>
@@ -50,7 +50,7 @@
         android:title="@string/ambient_camera_summary_battery_saver_on"
         settings:controller="com.android.settings.display.SmartAutoRotateBatterySaverController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="face_based_rotate"
         android:title="@string/auto_rotate_switch_face_based"
         settings:controller="com.android.settings.display.SmartAutoRotateController" />
diff --git a/res/xml/battery_saver_settings.xml b/res/xml/battery_saver_settings.xml
index 52b8b1a..74ef856 100644
--- a/res/xml/battery_saver_settings.xml
+++ b/res/xml/battery_saver_settings.xml
@@ -34,7 +34,7 @@
         settings:keywords="@string/keywords_battery_saver_schedule"
         settings:controller="com.android.settings.fuelgauge.batterysaver.BatterySaverSchedulePreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:order="80"
         android:key="battery_saver_sticky"
         android:title="@string/battery_saver_sticky_title_new"
diff --git a/res/xml/billing_cycle.xml b/res/xml/billing_cycle.xml
index 77f8bc3..000abac 100644
--- a/res/xml/billing_cycle.xml
+++ b/res/xml/billing_cycle.xml
@@ -23,7 +23,7 @@
         android:key="billing_cycle"
         android:title="@string/app_usage_cycle" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="set_data_warning"
         android:title="@string/set_data_warning"/>
 
@@ -31,7 +31,7 @@
         android:key="data_warning"
         android:title="@string/data_warning" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="set_data_limit"
         android:title="@string/set_data_limit" />
 
diff --git a/res/xml/bluetooth_audio_sharing.xml b/res/xml/bluetooth_audio_sharing.xml
new file mode 100644
index 0000000..45781c0
--- /dev/null
+++ b/res/xml/bluetooth_audio_sharing.xml
@@ -0,0 +1,80 @@
+<?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.
+  -->
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/audio_sharing_title">
+
+    <com.android.settingslib.widget.TopIntroPreference
+        android:key="audio_sharing_top_intro"
+        android:title="Let others listen to your media along with you using their own compatible headphones"
+        settings:searchable="false" />
+
+    <PreferenceCategory
+        android:key="audio_sharing_device_volume_group"
+        android:title="Devices listening"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingDeviceVolumeGroupController" />
+
+    <Preference
+        android:icon="@drawable/ic_audio_calls_and_alarms"
+        android:key="calls_and_alarms"
+        android:summary=""
+        android:title="@string/calls_and_alarms_device_title"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.CallsAndAlarmsPreferenceController" />
+
+    <Preference
+        android:icon="@drawable/ic_audio_play_sample"
+        android:key="audio_sharing_play_sound"
+        android:summary="Everyone listening should hear it"
+        android:title="Play a test sound"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingPlaySoundPreferenceController" />
+
+    <PreferenceCategory
+        android:key="audio_sharing_stream_settings_category"
+        android:title="Stream settings"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.StreamSettingsCategoryController">
+
+        <com.android.settings.connecteddevice.audiosharing.AudioSharingNamePreference
+            android:key="audio_sharing_stream_name"
+            android:title="Name"
+            settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingNamePreferenceController" />
+
+        <com.android.settings.widget.ValidatedEditTextPreference
+            android:key="audio_sharing_stream_password"
+            android:summary="********"
+            android:title="Password"
+            settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingPasswordPreferenceController" />
+
+        <SwitchPreferenceCompat
+            android:key="audio_sharing_stream_compatibility"
+            android:title="Improve compatibility"
+            settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingCompatibilityPreferenceController" />
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="audio_streams_settings_category"
+        android:title="@string/audio_streams_category_title"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsCategoryController">
+
+        <Preference
+            android:fragment="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsDashboardFragment"
+            android:icon="@drawable/ic_chevron_right_24dp"
+            android:key="audio_streams_settings"
+            android:title="@string/audio_streams_pref_title" />
+
+    </PreferenceCategory>
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/bluetooth_audio_streams.xml b/res/xml/bluetooth_audio_streams.xml
new file mode 100644
index 0000000..e7e708e
--- /dev/null
+++ b/res/xml/bluetooth_audio_streams.xml
@@ -0,0 +1,48 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="Find an audio stream">
+
+    <com.android.settingslib.widget.TopIntroPreference
+        android:key="audio_streams_top_intro"
+        android:title="Listen to a device that's sharing audio or to a nearby Auracast broadcast"
+        settings:searchable="false"/>
+
+    <Preference
+        android:key="audio_streams_active_device"
+        android:title="Your audio device"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsActiveDeviceController" />
+
+    <com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryPreference
+        android:key="audio_streams_nearby_category"
+        android:title="Audio streams nearby"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryController">
+
+    <Preference
+        android:key="audio_streams_scan_qr_code"
+        android:title="Scan a QR code"
+        android:icon="@drawable/ic_add_24dp"
+        android:summary="Start listening by scanning a stream's QR code"
+        android:order="0"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController" />
+
+    </com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsProgressCategoryPreference>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/bluetooth_audio_streams_dialog.xml b/res/xml/bluetooth_audio_streams_dialog.xml
new file mode 100644
index 0000000..024e537
--- /dev/null
+++ b/res/xml/bluetooth_audio_streams_dialog.xml
@@ -0,0 +1,101 @@
+<?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"
+    xmlns:app="http://schemas.android.com/apk/res-auto"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <LinearLayout
+        android:id="@+id/dialog_bg"
+        android:layout_width="match_parent"
+        android:layout_height="match_parent"
+        android:paddingStart="25dp"
+        android:paddingEnd="25dp"
+        android:orientation="vertical">
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="25dp"
+            android:orientation="vertical">
+
+            <ImageView
+                android:id="@+id/dialog_icon"
+                android:layout_width="30dp"
+                android:layout_height="30dp"
+                android:layout_marginTop="24dp"
+                android:layout_gravity="center"
+                android:src="@drawable/ic_bt_audio_sharing"/>
+
+            <TextView
+                android:id="@+id/dialog_title"
+                android:textAppearance="@android:style/TextAppearance.DeviceDefault.Headline"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:gravity="center"
+                android:layout_gravity="center"/>
+
+            <TextView
+                android:id="@+id/dialog_subtitle"
+                android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
+                android:textStyle="bold"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:gravity="center"
+                android:layout_gravity="center"
+                android:visibility="gone"/>
+
+            <TextView
+                android:id="@+id/dialog_subtitle_2"
+                android:textAppearance="@android:style/TextAppearance.DeviceDefault.Small"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="15dp"
+                android:gravity="center"
+                android:layout_gravity="center"
+                android:visibility="gone"/>
+        </LinearLayout>
+
+        <androidx.constraintlayout.widget.ConstraintLayout
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_marginBottom="@dimen/broadcast_dialog_margin">
+            <Button
+                android:id="@+id/left_button"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintStart_toStartOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                style="@style/BroadcastActionButton"/>
+            <Button
+                android:id="@+id/right_button"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:visibility="gone"
+                app:layout_constraintBottom_toBottomOf="parent"
+                app:layout_constraintEnd_toEndOf="parent"
+                app:layout_constraintTop_toTopOf="parent"
+                style="@style/BroadcastActionButton"/>
+        </androidx.constraintlayout.widget.ConstraintLayout>
+
+    </LinearLayout>
+</FrameLayout>
\ No newline at end of file
diff --git a/res/xml/bluetooth_audio_streams_qr_code.xml b/res/xml/bluetooth_audio_streams_qr_code.xml
new file mode 100644
index 0000000..50b1429
--- /dev/null
+++ b/res/xml/bluetooth_audio_streams_qr_code.xml
@@ -0,0 +1,64 @@
+<?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.
+  -->
+
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="match_parent">
+
+    <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:orientation="vertical">
+
+        <TextView
+            android:id="@android:id/summary"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:gravity="start"
+            android:textSize="15sp"
+            android:textColor="?android:attr/textColorPrimary"
+            android:text="To listen to this audio stream, other people can connect compatible headphones to their Android device. They can then scan this QR code."/>
+
+        <LinearLayout
+            android:layout_width="match_parent"
+            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"
+                android:src="@android:color/transparent"/>
+
+            <TextView
+                android:id="@+id/password"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:textSize="15sp"
+                android:textColor="?android:attr/textColorPrimary"/>
+        </LinearLayout>
+
+    </LinearLayout>
+
+</LinearLayout>
\ No newline at end of file
diff --git a/res/xml/bluetooth_device_details_fragment.xml b/res/xml/bluetooth_device_details_fragment.xml
index 12ed8eb..d260554 100644
--- a/res/xml/bluetooth_device_details_fragment.xml
+++ b/res/xml/bluetooth_device_details_fragment.xml
@@ -81,6 +81,9 @@
         android:key="bluetooth_profiles"/>
 
     <PreferenceCategory
+        android:key="bt_extra_options"/>
+
+    <PreferenceCategory
         android:key="bluetooth_related_tools"
         android:title="@string/bluetooth_screen_related">
         <Preference
diff --git a/res/xml/bluetooth_screen.xml b/res/xml/bluetooth_screen.xml
index 86dc8a1..51507fb 100644
--- a/res/xml/bluetooth_screen.xml
+++ b/res/xml/bluetooth_screen.xml
@@ -18,6 +18,11 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/bluetooth_settings_title">
 
+    <SwitchPreferenceCompat
+        android:key="bluetooth_auto_on_settings_toggle"
+        android:title="@string/bluetooth_screen_auto_on_title"
+        settings:controller="com.android.settings.bluetooth.BluetoothAutoOnPreferenceController"/>
+
     <Preference
         android:key="bluetooth_screen_bt_pair_rename_devices"
         android:title="@string/bluetooth_device_name"
diff --git a/res/xml/button_navigation_settings.xml b/res/xml/button_navigation_settings.xml
index 2459b60..1de011c 100644
--- a/res/xml/button_navigation_settings.xml
+++ b/res/xml/button_navigation_settings.xml
@@ -30,7 +30,7 @@
         settings:lottie_imageAssetsFolder="button_nav_menu"
         settings:lottie_rawRes="@raw/lottie_button_nav_menu"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="assistant_long_press_home_gesture"
         android:title="@string/assistant_long_press_home_gesture_title"
         android:summary="@string/assistant_long_press_home_gesture_summary"
diff --git a/res/xml/configure_notification_settings.xml b/res/xml/configure_notification_settings.xml
index 32081cf..4703a14 100644
--- a/res/xml/configure_notification_settings.xml
+++ b/res/xml/configure_notification_settings.xml
@@ -27,8 +27,7 @@
             android:order="10"
             android:title="@string/app_notification_field"
             android:summary="@string/app_notification_field_summary"
-            android:fragment="com.android.settings.applications.manageapplications.ManageApplications"
-            settings:searchable="false">
+            android:fragment="com.android.settings.applications.manageapplications.ManageApplications">
             <extra
                 android:name="classname"
                 android:value="com.android.settings.Settings$NotificationAppListActivity"/>
@@ -98,7 +97,7 @@
             android:summary="@string/lock_screen_notifs_redact_work_summary"
             settings:controller="com.android.settings.notification.RedactNotificationPreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="notification_lockscreen_bypass"
             android:order="16"
             android:title="@string/lockscreen_bypass_title"
@@ -120,7 +119,7 @@
             settings:controller="com.android.settings.notification.zen.ZenModePreferenceController"
         />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lock_screen_show_only_unseen_notifs"
             android:order="18"
             android:title="@string/unseen_notifs_lock_screen"
@@ -148,37 +147,45 @@
                 android:targetClass="com.android.cellbroadcastreceiver.CellBroadcastSettings"/>
         </com.android.settingslib.RestrictedPreference>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
              android:key="silent_icons"
              android:order="21"
              android:title="@string/silent_notifications_status_bar"
              settings:controller="com.android.settings.notification.SilentStatusBarPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_snooze_options"
             android:order="22"
             android:title="@string/snooze_options_title"
             settings:controller="com.android.settings.notification.SnoozeNotificationPreferenceController" />
 
         <!-- Notification badging -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="notification_badging"
             android:order="23"
             android:title="@string/notification_badging_title"
             settings:controller="com.android.settings.notification.BadgingNotificationPreferenceController"/>
 
         <!-- Pulse notification light, on devices that support it -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="notification_pulse"
             android:order="24"
             android:title="@string/notification_pulse_title"
             settings:controller="com.android.settings.notification.PulseNotificationPreferenceController"/>
 
-        <com.android.settingslib.PrimarySwitchPreference
+        <SwitchPreferenceCompat
             android:key="notification_assistant"
             android:order="25"
             android:title="@string/notification_assistant_title"
             android:summary="@string/notification_assistant_summary"
             settings:controller="com.android.settings.notification.NotificationAssistantPreferenceController"/>
+
+        <Preference
+            android:fragment="com.android.settings.notification.PoliteNotificationsPreferenceFragment"
+            android:key="polite_notifications_preference"
+            android:order="26"
+            android:persistent="false"
+            android:title="@string/notification_polite_title"
+            settings:controller="com.android.settings.notification.PoliteNotificationsPreferenceController" />
     </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/connected_devices.xml b/res/xml/connected_devices.xml
index a0e0a1f..34a5798 100644
--- a/res/xml/connected_devices.xml
+++ b/res/xml/connected_devices.xml
@@ -23,29 +23,42 @@
     <com.android.settings.slices.SlicePreference
         android:key="bt_nearby_slice"
         android:title="@string/summary_placeholder"
-        settings:controller="com.android.settings.slices.SlicePreferenceController"
-        settings:allowDividerBelow="true"/>
+        settings:allowDividerBelow="true"
+        settings:controller="com.android.settings.slices.SlicePreferenceController" />
+
+    <PreferenceCategory
+        android:key="audio_sharing_device_list"
+        android:title="@string/audio_sharing_title"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingDevicePreferenceController">
+        <Preference
+            android:fragment="com.android.settings.connecteddevice.audiosharing.AudioSharingDashboardFragment"
+            android:icon="@drawable/ic_bt_audio_sharing"
+            android:key="connected_device_audio_sharing_settings"
+            android:order="10"
+            android:title="@string/audio_sharing_title"
+            settings:searchable="false" />
+    </PreferenceCategory>
 
     <PreferenceCategory
         android:key="available_device_list"
         android:title="@string/connected_device_media_device_title"
-        settings:controller="com.android.settings.connecteddevice.AvailableMediaDeviceGroupController"/>
+        settings:controller="com.android.settings.connecteddevice.AvailableMediaDeviceGroupController" />
 
     <PreferenceCategory
         android:key="connected_device_list"
         android:title="@string/connected_device_other_device_title"
-        settings:controller="com.android.settings.connecteddevice.ConnectedDeviceGroupController"/>
+        settings:controller="com.android.settings.connecteddevice.ConnectedDeviceGroupController" />
 
     <com.android.settingslib.RestrictedPreference
-        android:key="add_bt_devices"
-        android:title="@string/bluetooth_pairing_pref_title"
-        android:icon="@drawable/ic_add_24dp"
-        android:summary="@string/connected_device_add_device_summary"
         android:fragment="com.android.settings.bluetooth.BluetoothPairingDetail"
+        android:icon="@drawable/ic_add_24dp"
+        android:key="add_bt_devices"
+        android:summary="@string/connected_device_add_device_summary"
+        android:title="@string/bluetooth_pairing_pref_title"
+        settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"
         settings:keywords="@string/keywords_add_bt_device"
-        settings:userRestriction="no_config_bluetooth"
         settings:useAdminDisabledSummary="true"
-        settings:controller="com.android.settings.connecteddevice.AddDevicePreferenceController"/>
+        settings:userRestriction="no_config_bluetooth" />
 
     <PreferenceCategory
         android:key="previously_connected_devices"
@@ -53,26 +66,42 @@
         settings:controller="com.android.settings.connecteddevice.PreviouslyConnectedDevicePreferenceController">
 
         <Preference
-            android:key="previously_connected_devices_see_all"
-            android:title="@string/previous_connected_see_all"
+            android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"
             android:icon="@drawable/ic_chevron_right_24dp"
+            android:key="previously_connected_devices_see_all"
             android:order="10"
-            settings:searchable="false"
-            android:fragment="com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment"/>
+            android:title="@string/previous_connected_see_all"
+            settings:searchable="false" />
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="fast_pair_devices"
+        android:title="@string/connected_device_previously_associated_fast_pair_device_title"
+        settings:controller=
+            "com.android.settings.connecteddevice.fastpair.FastPairDevicePreferenceController">
+
+        <Preference
+            android:fragment=
+                "com.android.settings.connecteddevice.fastpair.FastPairDeviceDashboardFragment"
+            android:icon="@drawable/ic_chevron_right_24dp"
+            android:key="fast_pair_devices_see_all"
+            android:order="10"
+            android:title="@string/connected_device_fast_pair_device_see_all"
+            settings:searchable="false" />
     </PreferenceCategory>
 
     <Preference
-        android:key="connection_preferences"
-        android:title="@string/connected_device_connections_title"
-        android:summary="@string/summary_placeholder"
         android:fragment="com.android.settings.connecteddevice.AdvancedConnectedDeviceDashboardFragment"
+        android:key="connection_preferences"
+        android:summary="@string/summary_placeholder"
+        android:title="@string/connected_device_connections_title"
         settings:allowDividerAbove="true"
-        settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController"/>
+        settings:controller="com.android.settings.connecteddevice.AdvancedConnectedDeviceController" />
 
     <com.android.settingslib.widget.FooterPreference
         android:key="discoverable_footer"
-        android:title="@string/bluetooth_off_footer"
         android:selectable="false"
+        android:title="@string/bluetooth_off_footer"
         settings:controller="com.android.settings.connecteddevice.DiscoverableFooterPreferenceController">
     </com.android.settingslib.widget.FooterPreference>
 
diff --git a/res/xml/connected_devices_advanced.xml b/res/xml/connected_devices_advanced.xml
index 46d1a0a..b088791 100644
--- a/res/xml/connected_devices_advanced.xml
+++ b/res/xml/connected_devices_advanced.xml
@@ -21,56 +21,59 @@
 
     <Preference
         android:fragment="com.android.settings.connecteddevice.BluetoothDashboardFragment"
-        android:key="bluetooth_switchbar_screen"
-        android:title="@string/bluetooth_settings_title"
         android:icon="@*android:drawable/ic_settings_bluetooth"
-        android:order="-9"/>
+        android:key="bluetooth_switchbar_screen"
+        android:order="-10"
+        android:title="@string/bluetooth_settings_title" />
 
     <Preference
+        android:fragment="com.android.settings.connecteddevice.audiosharing.AudioSharingDashboardFragment"
+        android:icon="@drawable/ic_bt_audio_sharing"
+        android:key="audio_sharing_settings"
+        android:order="-9"
+        android:title="@string/audio_sharing_title"
+        settings:controller="com.android.settings.connecteddevice.audiosharing.AudioSharingPreferenceController"
+        settings:searchable="true" />
+
+    <com.android.settingslib.RestrictedPreference
         android:fragment="com.android.settings.connecteddevice.NfcAndPaymentFragment"
-        android:key="nfc_and_payment_settings"
-        android:title="@string/nfc_quick_toggle_title"
         android:icon="@drawable/ic_nfc"
+        android:key="nfc_and_payment_settings"
         android:order="-7"
+        android:title="@string/nfc_quick_toggle_title"
+        settings:controller="com.android.settings.connecteddevice.NfcAndPaymentFragmentController"
         settings:searchable="false"
-        settings:controller="com.android.settings.connecteddevice.NfcAndPaymentFragmentController"/>
+        settings:useAdminDisabledSummary="true"
+        settings:userRestriction="no_near_field_communication_radio" />
 
     <Preference
         android:fragment="com.android.settings.wfd.WifiDisplaySettings"
-        android:key="wifi_display_settings"
-        android:title="@string/wifi_display_settings_title"
         android:icon="@drawable/ic_cast_24dp"
+        android:key="wifi_display_settings"
         android:order="-6"
+        android:title="@string/wifi_display_settings_title"
         settings:controller="com.android.settings.wfd.WifiDisplayPreferenceController"
-        settings:keywords="@string/keywords_wifi_display_settings"/>
+        settings:keywords="@string/keywords_wifi_display_settings" />
 
     <com.android.settingslib.RestrictedPreference
-        android:fragment="com.android.settings.nfc.AndroidBeam"
-        android:key="android_beam_settings"
-        android:title="@string/android_beam_settings_title"
-        settings:controller="com.android.settings.nfc.AndroidBeamPreferenceController"
-        android:icon="@drawable/ic_android"
-        android:order="-5"/>
-
-    <com.android.settingslib.RestrictedPreference
-        android:key="connected_device_printing"
-        android:title="@string/print_settings"
-        android:summary="@string/summary_placeholder"
-        android:icon="@*android:drawable/ic_settings_print"
         android:fragment="com.android.settings.print.PrintSettingsFragment"
-        android:order="-3"/>
+        android:icon="@*android:drawable/ic_settings_print"
+        android:key="connected_device_printing"
+        android:order="-3"
+        android:summary="@string/summary_placeholder"
+        android:title="@string/print_settings" />
 
-    <SwitchPreference
+    <com.android.settingslib.RestrictedSwitchPreference
         android:key="uwb_settings"
-        android:title="@string/uwb_settings_title"
         android:order="100"
         android:summary="@string/summary_placeholder"
+        android:title="@string/uwb_settings_title"
         settings:controller="com.android.settings.uwb.UwbPreferenceController"
-        settings:userRestriction="no_ultra_wideband_radio"
-        settings:useAdminDisabledSummary="true"/>
+        settings:useAdminDisabledSummary="true"
+        settings:userRestriction="no_ultra_wideband_radio" />
 
     <PreferenceCategory
         android:key="dashboard_tile_placeholder"
-        android:order="-8"/>
+        android:order="-8" />
 
 </PreferenceScreen>
diff --git a/res/xml/data_usage_list.xml b/res/xml/data_usage_list.xml
index 644fca4..62456ed 100644
--- a/res/xml/data_usage_list.xml
+++ b/res/xml/data_usage_list.xml
@@ -14,19 +14,17 @@
      limitations under the License.
 -->
 
-<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto">
 
     <PreferenceCategory
         android:key="usage_amount"
         android:title="@string/summary_placeholder">
 
         <com.android.settings.datausage.ChartDataUsagePreference
-            android:key="chart_data" />
-
-        <Preference
-            android:key="operator_warning"
-            android:summary="@string/operator_warning"
-            android:selectable="false" />
+            android:key="chart_data"
+            settings:controller="com.android.settings.datausage.ChartDataUsagePreferenceController"
+            />
 
         <Preference
             android:key="non_carrier_data_usage_warning"
@@ -37,6 +35,7 @@
 
     <PreferenceCategory
         android:key="apps_group"
-        android:layout="@layout/preference_category_no_label" />
+        android:layout="@layout/preference_category_no_label"
+        settings:controller="com.android.settings.datausage.DataUsageListAppsController" />
 
 </PreferenceScreen>
diff --git a/res/xml/date_time_prefs.xml b/res/xml/date_time_prefs.xml
index 593c428..3268466 100644
--- a/res/xml/date_time_prefs.xml
+++ b/res/xml/date_time_prefs.xml
@@ -24,19 +24,22 @@
         android:key="auto_time"
         android:title="@string/date_time_auto"
         settings:useAdditionalSummary="true"
-        settings:userRestriction="no_config_date_time"/>
+        settings:userRestriction="no_config_date_time"
+        settings:controller="com.android.settings.datetime.AutoTimePreferenceController" />
 
     <com.android.settingslib.RestrictedPreference
         android:key="date"
         android:title="@string/date_time_set_date_title"
         android:summary="@string/summary_placeholder"
-        settings:userRestriction="no_config_date_time"/>
+        settings:userRestriction="no_config_date_time"
+        settings:controller="com.android.settings.datetime.DatePreferenceController" />
 
     <com.android.settingslib.RestrictedPreference
         android:key="time"
         android:title="@string/date_time_set_time_title"
         android:summary="@string/summary_placeholder"
-        settings:userRestriction="no_config_date_time"/>
+        settings:userRestriction="no_config_date_time"
+        settings:controller="com.android.settings.datetime.TimePreferenceController" />
 
     <PreferenceCategory
         android:key="timezone_preference_category"
@@ -45,7 +48,8 @@
         <com.android.settingslib.RestrictedSwitchPreference
             android:key="auto_zone"
             android:title="@string/zone_auto_title"
-            settings:userRestriction="no_config_date_time"/>
+            settings:userRestriction="no_config_date_time"
+            settings:controller="com.android.settings.datetime.AutoTimeZonePreferenceController" />
 
         <com.android.settingslib.widget.BannerMessagePreference
             android:key="location_time_zone_detection_status"
@@ -53,7 +57,7 @@
             settings:controller="com.android.settings.datetime.LocationProviderStatusPreferenceController"/>
 
         <!-- This preference gets removed if location-based time zone detection is not supported -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="location_time_zone_detection"
             android:title="@string/location_time_zone_detection_toggle_title"
             settings:controller="com.android.settings.datetime.LocationTimeZoneDetectionPreferenceController"/>
@@ -64,7 +68,8 @@
             android:summary="@string/summary_placeholder"
             android:fragment="com.android.settings.datetime.timezone.TimeZoneSettings"
             settings:userRestriction="no_config_date_time"
-            settings:keywords="@string/keywords_time_zone"/>
+            settings:keywords="@string/keywords_time_zone"
+            settings:controller="com.android.settings.datetime.TimeZonePreferenceController" />
 
     </PreferenceCategory>
 
@@ -72,13 +77,15 @@
         android:key="time_format_preference_category"
         android:title="@string/time_format_category_title"
         settings:keywords="@string/keywords_time_format">
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="auto_24hour"
-            android:title="@string/date_time_24hour_auto"/>
+            android:title="@string/date_time_24hour_auto"
+            settings:controller="com.android.settings.datetime.AutoTimeFormatPreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="24 hour"
-            android:title="@string/date_time_24hour" />
+            android:title="@string/date_time_24hour"
+            settings:controller="com.android.settings.datetime.TimeFormatPreferenceController" />
     </PreferenceCategory>
 
 </PreferenceScreen>
diff --git a/res/xml/development_app_picker.xml b/res/xml/development_app_picker.xml
new file mode 100644
index 0000000..15e4ce0
--- /dev/null
+++ b/res/xml/development_app_picker.xml
@@ -0,0 +1,18 @@
+<?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.
+  -->
+
+<PreferenceScreen/>
diff --git a/res/xml/development_settings.xml b/res/xml/development_settings.xml
index 32acac6..c0b6560 100644
--- a/res/xml/development_settings.xml
+++ b/res/xml/development_settings.xml
@@ -107,6 +107,12 @@
             android:summary="@string/oem_unlock_enable_summary"
             settings:useAdditionalSummary="true" />
 
+        <SwitchPreference
+            android:key="enable_16k_pages"
+            android:title="@string/enable_16k_pages"
+            android:summary="@string/enable_16k_pages_summary"
+            settings:useAdditionalSummary="true" />
+
         <Preference
             android:key="running_apps"
             android:title="@string/runningservices_settings_title"
@@ -123,12 +129,12 @@
                     android:dialogTitle="@string/select_webview_provider_dialog_title"
                     android:fragment="com.android.settings.webview.WebViewAppPicker" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="color_temperature"
             android:title="@string/color_temperature"
             android:summary="@string/color_temperature_desc" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="ota_disable_automatic_update"
             android:title="@string/ota_disable_automatic_update"
             android:summary="@string/ota_disable_automatic_update_summary" />
@@ -146,6 +152,13 @@
             android:key="quick_settings_tiles"
             android:title="@string/quick_settings_developer_tiles"
             android:fragment="com.android.settings.development.qstile.DevelopmentTileConfigFragment" />
+
+        <ListPreference
+            android:key="grammatical_gender"
+            android:title="@string/grammatical_gender_title"
+            android:dialogTitle="@string/grammatical_gender_dialog_title"
+            android:entries="@array/grammatical_gender_entries"
+            android:entryValues="@array/grammatical_gender_values" />
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -168,39 +181,39 @@
             android:summary="@string/enable_adb_wireless_summary"
             settings:keywords="@string/keywords_adb_wireless" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="adb_authorization_timeout"
             android:title="@string/adb_authorization_timeout_title"
             android:summary="@string/adb_authorization_timeout_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_terminal"
             android:title="@string/enable_terminal_title"
             android:summary="@string/enable_terminal_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bugreport_in_power"
             android:title="@string/bugreport_in_power"
             android:summary="@string/bugreport_in_power_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_verbose_vendor_logging"
             android:title="@string/enable_verbose_vendor_logging"
             android:summary="@string/enable_verbose_vendor_logging_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="automatic_system_server_heap_dumps"
             android:title="@string/automatic_system_heap_dump_title"
             android:summary="@string/automatic_system_heap_dump_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="debug_view_attributes"
             android:title="@string/debug_view_attributes" />
 
         <Preference android:key="debug_app"
                     android:title="@string/debug_app" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="wait_for_debugger"
             android:title="@string/wait_for_debugger"
             android:summary="@string/wait_for_debugger_summary" />
@@ -210,7 +223,7 @@
             android:title="@string/verify_apps_over_usb_title"
             android:summary="@string/verify_apps_over_usb_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="art_verifier_for_debuggable"
             android:title="@string/art_verifier_for_debuggable_title"
             android:summary="@string/art_verifier_for_debuggable_summary" />
@@ -229,7 +242,7 @@
             android:entries="@array/select_logpersist_titles"
             android:entryValues="@array/select_logpersist_values" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="camera_laser_sensor_switch"
             android:title="@string/camera_laser_sensor_switch" />
 
@@ -238,16 +251,21 @@
             android:title="@string/feature_flags_dashboard_title"
             android:fragment="com.android.settings.development.featureflags.FeatureFlagsDashboard" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_gpu_debug_layers"
             android:title="@string/enable_gpu_debug_layers"
             android:summary="@string/enable_gpu_debug_layers_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_angle_as_system_driver"
             android:title="@string/enable_angle_as_system_driver"
             android:summary="@string/enable_angle_as_system_driver_summary" />
 
+        <SwitchPreferenceCompat
+            android:key="disable_game_default_frame_rate"
+            android:title="@string/disable_game_default_frame_rate_title"
+            android:summary="@string/disable_game_default_frame_rate_summary"/>
+
         <Preference
             android:key="graphics_driver_dashboard"
             android:title="@string/graphics_driver_dashboard_title"
@@ -261,22 +279,27 @@
             settings:controller="com.android.settings.spa.development.compat.PlatformCompatPreferenceController"
             />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_refresh_rate"
             android:title="@string/show_refresh_rate"
             android:summary="@string/show_refresh_rate_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
+            android:key="show_hdr_sdr_ratio"
+            android:title="@string/show_hdr_sdr_ratio"
+            android:summary="@string/show_hdr_sdr_ratio_summary" />
+
+        <SwitchPreferenceCompat
             android:key="overlay_settings"
             android:title="@string/overlay_settings_title"
             android:summary="@string/overlay_settings_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="pref_key_peak_refresh_rate"
             android:title="@string/force_high_refresh_rate_toggle"
             android:summary="@string/force_high_refresh_rate_desc" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="allow_mock_modem"
             android:title="@string/allow_mock_modem"
             android:summary="@string/allow_mock_modem_summary" />
@@ -292,32 +315,32 @@
         android:title="@string/debug_networking_category"
         android:order="400">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="wifi_display_certification"
             android:title="@string/wifi_display_certification"
             android:summary="@string/wifi_display_certification_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="wifi_verbose_logging"
             android:title="@string/wifi_verbose_logging"
             android:summary="@string/wifi_verbose_logging_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="wifi_scan_throttling"
             android:title="@string/wifi_scan_throttling"
             android:summary="@string/wifi_scan_throttling_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="wifi_non_persistent_mac_randomization"
             android:title="@string/wifi_non_persistent_mac_randomization"
             android:summary="@string/wifi_non_persistent_mac_randomization_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="mobile_data_always_on"
             android:title="@string/mobile_data_always_on"
             android:summary="@string/mobile_data_always_on_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="tethering_hardware_offload"
             android:title="@string/tethering_hardware_offload"
             android:summary="@string/tethering_hardware_offload_summary" />
@@ -335,35 +358,42 @@
             android:fragment="com.android.settings.connecteddevice.usb.UsbDefaultFragment"
             android:title="@string/usb_default_label"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bluetooth_show_devices_without_names"
             android:title="@string/bluetooth_show_devices_without_names"
             android:summary="@string/bluetooth_show_devices_without_names_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bluetooth_disable_absolute_volume"
             android:title="@string/bluetooth_disable_absolute_volume"
             android:summary="@string/bluetooth_disable_absolute_volume_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bluetooth_disable_leaudio"
             android:title="@string/bluetooth_disable_leaudio"
             android:summary="@string/bluetooth_disable_leaudio_summary" />
 
-        <SwitchPreference
+        <ListPreference
+            android:key="bluetooth_leaudio_mode"
+            android:title="@string/bluetooth_leaudio_mode"
+            android:summary="@string/summary_placeholder"
+            android:entries="@array/bluetooth_leaudio_mode"
+            android:entryValues="@array/bluetooth_leaudio_mode_values"/>
+
+        <SwitchPreferenceCompat
             android:key="bluetooth_show_leaudio_device_details"
             android:title="@string/bluetooth_show_leaudio_device_details"/>
 
-        <SwitchPreference
-            android:key="bluetooth_enable_leaudio_allow_list"
-            android:title="@string/bluetooth_enable_leaudio_allow_list"
-            android:summary="@string/bluetooth_enable_leaudio_allow_list_summary" />
+        <SwitchPreferenceCompat
+            android:key="bluetooth_bypass_leaudio_allowlist"
+            android:title="@string/bluetooth_bypass_leaudio_allowlist"
+            android:summary="@string/bluetooth_bypass_leaudio_allowlist_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bluetooth_disable_le_audio_hw_offload"
             android:title="@string/bluetooth_disable_le_audio_hw_offload" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bluetooth_disable_a2dp_hw_offload"
             android:title="@string/bluetooth_disable_a2dp_hw_offload" />
 
@@ -381,7 +411,7 @@
             android:entries="@array/bluetooth_map_versions"
             android:entryValues="@array/bluetooth_map_version_values" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="bluetooth_hd_audio_settings"
             android:title="@string/bluetooth_profile_a2dp_high_quality_unknown_codec"/>
 
@@ -432,17 +462,17 @@
             android:entries="@array/bluetooth_max_connected_audio_devices"
             android:entryValues="@array/bluetooth_max_connected_audio_devices_values" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="nfc_stack_debuglog_enabled"
             android:title="@string/nfc_stack_debuglog_title"
             android:summary="@string/nfc_stack_debuglog_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="nfc_verbose_vendor_log"
             android:title="@string/nfc_verbose_vendor_log_title"
             android:summary="@string/nfc_verbose_vendor_log_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="nfc_snoop_log"
             android:title="@string/nfc_snoop_log_title"
             android:summary="@string/nfc_snoop_log_summary"/>
@@ -454,17 +484,17 @@
         android:title="@string/debug_input_category"
         android:order="500">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_touches"
             android:title="@string/show_touches"
             android:summary="@string/show_touches_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="pointer_location"
             android:title="@string/pointer_location"
             android:summary="@string/pointer_location_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_key_presses"
             android:title="@string/show_key_presses"
             android:summary="@string/show_key_presses_summary" />
@@ -476,17 +506,17 @@
         android:title="@string/debug_drawing_category"
         android:order="600">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_screen_updates"
             android:title="@string/show_screen_updates"
             android:summary="@string/show_screen_updates_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="debug_layout"
             android:title="@string/debug_layout"
             android:summary="@string/debug_layout_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="force_rtl_layout_all_locales"
             android:title="@string/force_rtl_layout_all_locales"
             android:summary="@string/force_rtl_layout_all_locales_summary" />
@@ -524,7 +554,7 @@
             android:title="@string/display_cutout_emulation"
             settings:keywords="@string/display_cutout_emulation_keywords" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="transparent_navigation_bar"
             android:title="@string/transparent_navigation_bar"
             android:summary="@string/transparent_navigation_bar_summary" />
@@ -542,12 +572,12 @@
         android:title="@string/debug_hw_drawing_category"
         android:order="700">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_hw_screen_updates"
             android:title="@string/show_hw_screen_updates"
             android:summary="@string/show_hw_screen_updates_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_hw_layers_updates"
             android:title="@string/show_hw_layers_updates"
             android:summary="@string/show_hw_layers_updates_summary" />
@@ -564,21 +594,21 @@
             android:entries="@array/show_non_rect_clip_entries"
             android:entryValues="@array/show_non_rect_clip_values" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="hwui_force_dark"
             android:title="@string/hwui_force_dark_title"
             android:summary="@string/hwui_force_dark_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_blurs_on_windows"
             android:title="@string/window_blurs"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="force_msaa"
             android:title="@string/force_msaa"
             android:summary="@string/force_msaa_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="disable_overlays"
             android:title="@string/disable_overlays"
             android:summary="@string/disable_overlays_summary" />
@@ -607,6 +637,11 @@
             android:title="@string/transcode_settings_title"
             android:fragment="com.android.settings.development.transcode.TranscodeSettingsFragment" />
 
+        <Preference
+            android:key="widevine_settings"
+            android:title="@string/widevine_settings_title"
+            android:fragment="com.android.settings.development.widevine.WidevineSettingsFragment" />
+
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -614,7 +649,7 @@
         android:title="@string/debug_monitoring_category"
         android:order="900">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="strict_mode"
             android:title="@string/strict_mode"
             android:summary="@string/strict_mode_summary" />
@@ -633,7 +668,7 @@
         android:title="@string/debug_applications_category"
         android:order="1000">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="immediately_destroy_activities"
             android:title="@string/immediately_destroy_activities"
             android:summary="@string/immediately_destroy_activities_summary" />
@@ -649,12 +684,12 @@
             android:fragment="com.android.settings.applications.appops.BackgroundCheckSummary"
             android:title="@string/background_check_pref" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_first_crash_dialog"
             android:title="@string/show_first_crash_dialog"
             android:summary="@string/show_first_crash_dialog_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_all_anrs"
             android:title="@string/show_all_anrs"
             android:summary="@string/show_all_anrs_summary" />
@@ -665,11 +700,16 @@
             android:entries="@array/cached_apps_freezer_entries"
             android:entryValues="@array/cached_apps_freezer_values" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_notification_channel_warnings"
             android:title="@string/show_notification_channel_warnings"
             android:summary="@string/show_notification_channel_warnings_summary" />
 
+        <SwitchPreferenceCompat
+            android:key="disable_screen_share_protections_for_apps_and_notifications"
+            android:title="@string/disable_screen_share_protections_for_apps_and_notifications"
+            android:summary="@string/disable_screen_share_protections_for_apps_and_notifications_summary" />
+
         <Preference
             android:key="asst_importance_reset"
             android:title="@string/asst_importance_reset_title"
@@ -685,32 +725,32 @@
             android:title="@string/tare_title" >
         </Preference>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="force_allow_on_external"
             android:title="@string/force_allow_on_external"
             android:summary="@string/force_allow_on_external_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="force_resizable_activities"
             android:title="@string/force_resizable_activities"
             android:summary="@string/force_resizable_activities_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_freeform_support"
             android:title="@string/enable_freeform_support"
             android:summary="@string/enable_freeform_support_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="force_desktop_mode_on_external_displays"
             android:title="@string/force_desktop_mode"
             android:summary="@string/force_desktop_mode_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_non_resizable_multi_window"
             android:title="@string/enable_non_resizable_multi_window"
             android:summary="@string/enable_non_resizable_multi_window_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="back_navigation_animation"
             android:title="@string/back_navigation_animation"
             android:summary="@string/back_navigation_animation_summary" />
@@ -719,16 +759,22 @@
             android:key="reset_shortcut_manager_throttling"
             android:title="@string/reset_shortcut_manager_throttling" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="disable_phantom_process_monitor"
             android:title="@string/disable_phantom_process_monitor_title"
             android:summary="@string/disable_phantom_process_monitor_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="force_enable_notes_role"
             android:title="@string/enable_notes_role_title"
             android:summary="@string/enable_notes_role_summary" />
 
+        <Preference
+            android:key="quarantined_apps"
+            android:title="@string/quarantined_apps_title"
+            settings:controller="com.android.settings.development.quarantine.QuarantinedAppsPreferenceController"
+            android:fragment="com.android.settings.development.quarantine.QuarantinedAppsFragment" />
+
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -780,12 +826,12 @@
         <Preference android:key="mock_location_app"
                     android:title="@string/mock_location_app" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enable_gnss_raw_meas_full_tracking"
             android:title="@string/enable_gnss_raw_meas_full_tracking"
             android:summary="@string/enable_gnss_raw_meas_full_tracking_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:title="@string/location_indicator_settings_title"
             android:summary="@string/location_indicator_settings_description"
             android:defaultValue="true"
@@ -798,7 +844,7 @@
         android:title="@string/input_method_category"
         android:order="1400">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="stylus_handwriting"
             android:title="@string/stylus_handwriting"
             android:defaultValue="true"
diff --git a/res/xml/display_settings.xml b/res/xml/display_settings.xml
index c5e559c..2df360d 100644
--- a/res/xml/display_settings.xml
+++ b/res/xml/display_settings.xml
@@ -108,7 +108,7 @@
             Standard auto-rotation preference that will be shown when device state based
             auto-rotation settings are NOT available.
           -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="auto_rotate"
             android:title="@string/accelerometer_title"
             settings:keywords="@string/keywords_auto_rotate"
@@ -132,19 +132,19 @@
             settings:keywords="@string/keywords_screen_resolution"
             settings:controller="com.android.settings.display.ScreenResolutionController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="display_white_balance"
             android:title="@string/display_white_balance_title"
             android:summary="@string/display_white_balance_summary"
             settings:controller="com.android.settings.display.DisplayWhiteBalancePreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="peak_refresh_rate"
             android:title="@string/peak_refresh_rate_title"
             android:summary="@string/peak_refresh_rate_summary"
             settings:controller="com.android.settings.display.PeakRefreshRatePreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_operator_name"
             android:title="@string/show_operator_name_title"
             android:summary="@string/show_operator_name_summary"/>
@@ -156,16 +156,16 @@
             settings:keywords="@string/keywords_screensaver"
             settings:controller="com.android.settings.display.ScreenSaverPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="camera_gesture"
             android:title="@string/camera_gesture_title"
             android:summary="@string/camera_gesture_desc"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lift_to_wake"
             android:title="@string/lift_to_wake_title"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="tap_to_wake"
             android:title="@string/tap_to_wake"
             android:summary="@string/tap_to_wake_summary"/>
diff --git a/res/xml/double_tap_power_settings.xml b/res/xml/double_tap_power_settings.xml
index f4d7607..fb5dd52 100644
--- a/res/xml/double_tap_power_settings.xml
+++ b/res/xml/double_tap_power_settings.xml
@@ -26,7 +26,7 @@
         settings:searchable="false"
         app:lottie_rawRes="@drawable/quickly_open_camera"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_double_tap_power"
         android:title="@string/double_tap_power_for_camera_title"
         android:summary="@string/double_tap_power_for_camera_summary"
diff --git a/res/xml/double_tap_screen_settings.xml b/res/xml/double_tap_screen_settings.xml
index f982331..80e9bc4 100644
--- a/res/xml/double_tap_screen_settings.xml
+++ b/res/xml/double_tap_screen_settings.xml
@@ -24,7 +24,7 @@
         android:key="gesture_double_tap_screen_video"
         app:lottie_rawRes="@raw/lottie_tap_to_check_phone" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_double_tap_screen"
         android:title="@string/ambient_display_title"
         android:summary="@string/ambient_display_summary"
diff --git a/res/xml/double_twist_gesture_settings.xml b/res/xml/double_twist_gesture_settings.xml
index 674ba51..699755b 100644
--- a/res/xml/double_twist_gesture_settings.xml
+++ b/res/xml/double_twist_gesture_settings.xml
@@ -27,7 +27,7 @@
         settings:lottie_rawRes="@raw/flip_camera_for_selfie_lottie"
         settings:dynamicColor="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_double_twist"
         android:title="@string/double_twist_for_camera_mode_title"
         android:summary="@string/double_twist_for_camera_mode_summary"
diff --git a/res/xml/dream_fragment_overview.xml b/res/xml/dream_fragment_overview.xml
index 8377a06..6996908 100644
--- a/res/xml/dream_fragment_overview.xml
+++ b/res/xml/dream_fragment_overview.xml
@@ -40,13 +40,13 @@
             android:layout="@layout/dream_picker_layout"/>
     </PreferenceCategory>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="dream_complications_toggle"
         android:title="@string/dream_complications_toggle_title"
         android:summary="@string/dream_complications_toggle_summary"
         settings:controller="com.android.settings.dream.DreamComplicationPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="dream_home_controls_toggle"
         android:title="@string/dream_home_controls_toggle_title"
         android:summary="@string/dream_home_controls_toggle_summary"
diff --git a/res/xml/emergency_gesture_settings.xml b/res/xml/emergency_gesture_settings.xml
index 9fd644f..8367988 100644
--- a/res/xml/emergency_gesture_settings.xml
+++ b/res/xml/emergency_gesture_settings.xml
@@ -28,7 +28,7 @@
         android:title="@string/emergency_gesture_screen_summary"
         app:allowDividerAbove="false"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="emergency_gesture_sound"
         android:icon="@drawable/ic_hearing"
         android:title="@string/emergency_gesture_sound_setting_title"
diff --git a/res/xml/fast_pair_devices.xml b/res/xml/fast_pair_devices.xml
new file mode 100644
index 0000000..bb8381f
--- /dev/null
+++ b/res/xml/fast_pair_devices.xml
@@ -0,0 +1,27 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/connected_device_previously_associated_fast_pair_device_title">
+
+    <PreferenceCategory
+        android:key="fast_pair_device_list"
+        settings:controller="com.android.settings.connecteddevice.fastpair.FastPairDeviceGroupController"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/flash_notifications_settings.xml b/res/xml/flash_notifications_settings.xml
index 85cc2cb..bc76f6d 100644
--- a/res/xml/flash_notifications_settings.xml
+++ b/res/xml/flash_notifications_settings.xml
@@ -30,7 +30,7 @@
         settings:lottie_rawRes="@drawable/flash_notifications_illustration"
         settings:controller="com.android.settings.accessibility.FlashNotificationIllustrationPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="camera_flash_notification_preference"
         android:persistent="false"
         android:title="@string/camera_flash_notification_title"
diff --git a/res/xml/gesture_navigation_settings.xml b/res/xml/gesture_navigation_settings.xml
index 022583c..a4b5af9 100644
--- a/res/xml/gesture_navigation_settings.xml
+++ b/res/xml/gesture_navigation_settings.xml
@@ -28,7 +28,7 @@
         android:persistent="false"
         android:title="@string/assistant_gesture_category_title">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="assistant_gesture_corner_swipe"
             android:title="@string/assistant_corner_gesture_title"
             android:summary="@string/assistant_corner_gesture_summary"
diff --git a/res/xml/gestures.xml b/res/xml/gestures.xml
index 4881360..035c7f7 100644
--- a/res/xml/gestures.xml
+++ b/res/xml/gestures.xml
@@ -21,12 +21,6 @@
     android:title="@string/gesture_preference_title">
 
     <Preference
-        android:key="gesture_assist_input_summary"
-        android:title="@string/assist_gesture_title"
-        android:fragment="com.android.settings.gestures.AssistGestureSettings"
-        settings:controller="com.android.settings.gestures.AssistGestureSettingsPreferenceController" />
-
-    <Preference
         android:key="gesture_swipe_down_fingerprint_input_summary"
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:fragment="com.android.settings.gestures.SwipeToNotificationSettings"
diff --git a/res/xml/hearing_device_pairing_fragment.xml b/res/xml/hearing_device_pairing_fragment.xml
new file mode 100644
index 0000000..1ccc1dd
--- /dev/null
+++ b/res/xml/hearing_device_pairing_fragment.xml
@@ -0,0 +1,45 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/bluetooth_pairing_pref_title">
+
+    <com.android.settings.bluetooth.BluetoothProgressCategory
+        android:key="available_hearing_devices"
+        android:title="@string/accessibility_found_hearing_devices" />
+
+    <PreferenceCategory
+        android:key="more_devices_category"
+        android:title="@string/accessibility_found_all_devices">
+        <com.android.settings.accessibility.ArrowPreference
+            android:key="more_devices"
+            android:title="@string/accessibility_list_all_devices_title"
+            settings:searchable="false"
+            settings:userRestriction="no_config_bluetooth"
+            settings:useAdminDisabledSummary="true"
+            settings:controller="com.android.settings.accessibility.ViewAllBluetoothDevicesPreferenceController"/>
+    </PreferenceCategory>
+
+    <com.android.settings.accessibility.AccessibilityFooterPreference
+        android:key="hearing_device_footer"
+        android:title="@string/accessibility_hearing_device_footer_summary"
+        android:selectable="false"
+        settings:searchable="false"
+        settings:controller="com.android.settings.accessibility.PairHearingDeviceFooterPreferenceController"/>
+
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/keyboard_settings.xml b/res/xml/keyboard_settings.xml
index b18338b..21b2bb0 100644
--- a/res/xml/keyboard_settings.xml
+++ b/res/xml/keyboard_settings.xml
@@ -63,7 +63,7 @@
             android:dialogTitle="@string/pointer_speed" />
     </PreferenceCategory>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="vibrate_input_devices"
         android:title="@string/vibrate_input_devices"
         android:summary="@string/vibrate_input_devices_summary"
diff --git a/res/xml/language_and_input.xml b/res/xml/language_and_input.xml
index a5f6f63..1848f86 100644
--- a/res/xml/language_and_input.xml
+++ b/res/xml/language_and_input.xml
@@ -110,7 +110,7 @@
             android:dialogTitle="@string/pointer_speed" />
     </PreferenceCategory>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="vibrate_input_devices"
         android:title="@string/vibrate_input_devices"
         android:summary="@string/vibrate_input_devices_summary"
diff --git a/res/xml/languages.xml b/res/xml/languages.xml
index 5269d99..844b7fa 100644
--- a/res/xml/languages.xml
+++ b/res/xml/languages.xml
@@ -32,6 +32,17 @@
             android:layout="@layout/locale_order_list" />
     </PreferenceCategory>
 
+    <PreferenceCategory
+        android:key="key_category_terms_of_address"
+        android:title="@string/category_title_terms_of_address"
+        settings:controller="com.android.settings.localepicker.TermsOfAddressCategoryController">
+        <Preference
+            android:key="key_terms_of_address"
+            android:title="@string/terms_of_address_title"
+            android:summary="@string/terms_of_address_summary"
+            settings:controller="com.android.settings.localepicker.TermsOfAddressController"/>
+    </PreferenceCategory>
+
     <com.android.settingslib.widget.FooterPreference
         android:key="footer_languages_picker"
         android:title="@string/desc_notice_of_language_picker"
diff --git a/res/xml/manage_assist.xml b/res/xml/manage_assist.xml
index c8dbe42..527dfd0 100644
--- a/res/xml/manage_assist.xml
+++ b/res/xml/manage_assist.xml
@@ -28,23 +28,17 @@
         android:summary="@string/summary_placeholder"
         settings:searchable="false"/>
 
-    <Preference
-        android:key="gesture_assist_application"
-        android:title="@string/assist_gesture_title"
-        android:fragment="com.android.settings.gestures.AssistGestureSettings"
-        settings:controller="com.android.settings.gestures.AssistGestureSettingsPreferenceController" />
-
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="context"
         android:title="@string/assist_access_context_title"
         android:summary="@string/assist_access_context_summary" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="screenshot"
         android:title="@string/assist_access_screenshot_title"
         android:summary="@string/assist_access_screenshot_summary" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="flash"
         android:title="@string/assist_flash_title"
         android:summary="@string/assist_flash_summary" />
diff --git a/res/xml/manage_domain_url_settings.xml b/res/xml/manage_domain_url_settings.xml
index e820e78..07194e4 100644
--- a/res/xml/manage_domain_url_settings.xml
+++ b/res/xml/manage_domain_url_settings.xml
@@ -25,7 +25,7 @@
         android:key="web_action_category"
         android:title="@string/web_action_section_title"
         settings:controller="com.android.settings.applications.managedomainurls.WebActionCategoryController">
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="instant_app_web_action_toggle"
             android:title="@string/web_action_enable_title"
             android:summary="@string/web_action_enable_summary"
diff --git a/res/xml/managed_profile_settings.xml b/res/xml/managed_profile_settings.xml
index ddfb869..4dcfc4d 100644
--- a/res/xml/managed_profile_settings.xml
+++ b/res/xml/managed_profile_settings.xml
@@ -31,7 +31,7 @@
         settings:useAdditionalSummary="true"
         settings:controller="com.android.settings.accounts.ContactSearchPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="cross_profile_calendar"
         android:summary="@string/cross_profile_calendar_summary"
         android:title="@string/cross_profile_calendar_title"
diff --git a/res/xml/media_controls_settings.xml b/res/xml/media_controls_settings.xml
index 822639a..96a2ee4 100644
--- a/res/xml/media_controls_settings.xml
+++ b/res/xml/media_controls_settings.xml
@@ -20,20 +20,20 @@
     xmlns:app="http://schemas.android.com/apk/res-auto"
     android:title="@string/media_controls_title">
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="media_controls_resume_switch"
         android:title="@string/media_controls_resume_title"
         android:summary="@string/media_controls_resume_description"
         app:keywords="@string/keywords_media_controls"
         app:controller="com.android.settings.sound.MediaControlsPreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="media_controls_lockscreen"
         android:title="@string/media_controls_lockscreen_title"
         android:summary="@string/media_controls_lockscreen_description"
         app:controller="com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="media_controls_recommendations"
         android:title="@string/media_controls_recommendations_title"
         android:summary="@string/media_controls_recommendations_description"
diff --git a/res/xml/mobile_network_settings.xml b/res/xml/mobile_network_settings.xml
index fe61424..a29e123 100644
--- a/res/xml/mobile_network_settings.xml
+++ b/res/xml/mobile_network_settings.xml
@@ -37,29 +37,48 @@
         <ListPreference
             android:key="calls_preference"
             android:title="@string/calls_preference"
+            android:enabled="false"
             settings:controller="com.android.settings.network.telephony.CallsDefaultSubscriptionController"
             settings:allowDividerAbove="true"/>
 
         <ListPreference
             android:key="sms_preference"
             android:title="@string/sms_preference"
+            android:enabled="false"
             settings:controller="com.android.settings.network.telephony.SmsDefaultSubscriptionController"/>
 
         <Preference
+            android:key="mobile_network_spn"
+            android:title="@string/mobile_network_spn_title"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:controller="com.android.settings.network.telephony.MobileNetworkSpnPreferenceController"
+            settings:allowDividerAbove="true" />
+
+        <Preference
+            android:key="phone_number"
+            android:title="@string/status_number"
+            android:summary="@string/summary_placeholder"
+            android:selectable="false"
+            settings:controller="com.android.settings.network.telephony.MobileNetworkPhoneNumberPreferenceController"
+            settings:allowDividerBelow="true"
+            settings:enableCopying="true"/>
+
+        <Preference
             android:key="cdma_lte_data_service_key"
             android:title="@string/cdma_lte_data_service"
             settings:controller="com.android.settings.network.telephony.DataServiceSetupPreferenceController"
             settings:allowDividerAbove="true"
             settings:allowDividerBelow="false"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="mobile_data_enable"
             android:title="@string/mobile_data_settings_title"
             android:summary="@string/mobile_data_settings_summary"
             settings:controller="com.android.settings.network.telephony.MobileDataPreferenceController"
             settings:allowDividerAbove="true"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="auto_data_switch"
             android:title="@string/auto_data_switch_title"
             android:summary="@string/auto_data_switch_summary"
@@ -84,7 +103,7 @@
             android:title="@string/billing_cycle"
             settings:controller="com.android.settings.datausage.BillingCyclePreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="carrier_wifi_toggle"
             android:title="@string/carrier_wifi_offload_title"
             android:summary="@string/carrier_wifi_offload_summary"
@@ -96,13 +115,13 @@
             android:selectable="false"
             settings:searchable="false"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="mms_message"
             android:title="@string/mms_message_title"
             android:summary="@string/mms_message_summary"
             settings:controller="com.android.settings.network.telephony.MmsMessagePreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="enhanced_4g_lte"
             android:title="@string/enhanced_4g_lte_mode_title"
             android:persistent="false"
@@ -110,7 +129,7 @@
             settings:keywords="@string/keywords_enhance_4g_lte"
             settings:controller="com.android.settings.network.telephony.Enhanced4gLtePreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="4g_calling"
             android:title="@string/enhanced_4g_lte_mode_title_4g_calling"
             android:persistent="false"
@@ -118,7 +137,7 @@
             settings:keywords="@string/keywords_enhance_4g_lte"
             settings:controller="com.android.settings.network.telephony.Enhanced4gCallingPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="advance_call"
             android:title="@string/enhanced_4g_lte_mode_title_advanced_calling"
             android:persistent="false"
@@ -126,7 +145,7 @@
             settings:keywords="@string/keywords_enhance_4g_lte"
             settings:controller="com.android.settings.network.telephony.Enhanced4gAdvancedCallingPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="contact_discovery_opt_in"
             android:title="@string/contact_discovery_opt_in_title"
             android:persistent="false"
@@ -160,6 +179,24 @@
             settings:controller="com.android.settings.network.telephony.CarrierSettingsVersionPreferenceController"
             settings:enableCopying="true"/>
 
+        <!-- IMEI -->
+        <Preference
+            android:key="network_mode_imei_info"
+            android:title="@string/status_imei"
+            android:summary="@string/summary_placeholder"
+            settings:keywords="@string/keywords_imei_info"
+            settings:enableCopying="true"
+            settings:controller="com.android.settings.network.telephony.MobileNetworkImeiPreferenceController"/>
+        <!-- EID -->
+        <com.android.settingslib.CustomDialogPreferenceCompat
+            android:key="network_mode_eid_info"
+            android:title="@string/status_eid"
+            android:summary="@string/device_info_protected_single_press"
+            android:positiveButtonText="@string/dlg_ok"
+            android:dialogLayout="@layout/dialog_eid_status"
+            settings:enableCopying="true"
+            settings:controller="com.android.settings.network.telephony.MobileNetworkEidPreferenceController"/>
+
         <PreferenceCategory
             android:key="calling_category"
             android:title="@string/call_category"
@@ -177,7 +214,7 @@
                 </intent>
             </Preference>
 
-            <SwitchPreference
+            <SwitchPreferenceCompat
                 android:key="video_calling_key"
                 android:title="@string/video_calling_settings_title"
                 android:persistent="true"
@@ -206,9 +243,10 @@
         <PreferenceCategory
             android:key="network_operators_category_key"
             android:title="@string/network_operator_category"
+            settings:allowDividerBelow="true"
             settings:controller="com.android.settings.network.telephony.NetworkPreferenceCategoryController">
 
-            <SwitchPreference
+            <com.android.settings.spa.preference.ComposePreference
                 android:key="auto_select_key"
                 android:title="@string/select_automatically"
                 settings:controller="com.android.settings.network.telephony.gsm.AutoSelectPreferenceController"/>
@@ -219,12 +257,19 @@
                 settings:controller="com.android.settings.network.telephony.gsm.OpenNetworkSelectPagePreferenceController"/>
         </PreferenceCategory>
 
+        <com.android.settingslib.RestrictedPreference
+            android:key="telephony_satellite_setting_key"
+            android:persistent="false"
+            android:title="@string/satellite_setting_title"
+            settings:keywords="@string/keywords_satellite_setting"
+            settings:controller=
+                "com.android.settings.network.telephony.SatelliteSettingPreferenceController"/>
+
         <!--We want separate APN setting from reset of settings because we want user to change it with caution-->
         <com.android.settingslib.RestrictedPreference
             android:key="telephony_apn_key"
             android:persistent="false"
             android:title="@string/mobile_network_apn_title"
-            settings:allowDividerAbove="true"
             settings:keywords="@string/keywords_access_point_names"
             settings:controller="com.android.settings.network.telephony.ApnPreferenceController"/>
 
@@ -242,14 +287,14 @@
             settings:useAdminDisabledSummary="true"
             settings:userRestriction="no_cellular_2g"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="require_cellular_encryption"
             android:title="@string/require_cellular_encryption_title"
             android:summary="@string/require_cellular_encryption_summary"
             settings:controller=
-                "com.android.settings.network.telephony.NullAlgorithmsPreferenceController" />
+                "com.android.settings.network.telephony.NullAlgorithmsPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="nr_advanced_calling"
             android:title="@string/nr_advanced_calling_title"
             android:persistent="false"
diff --git a/res/xml/more_security_privacy_settings.xml b/res/xml/more_security_privacy_settings.xml
index 47ea3e0..92c3fa7 100644
--- a/res/xml/more_security_privacy_settings.xml
+++ b/res/xml/more_security_privacy_settings.xml
@@ -42,9 +42,10 @@
             android:summary="@string/unlock_set_unlock_mode_pattern"
             settings:keywords="@string/keywords_lockscreen" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="visiblepattern_profile"
-            android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile" />
+            android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile"
+            settings:controller="com.android.settings.security.VisiblePatternProfilePreferenceController" />
 
         <com.android.settings.RestrictedListPreference
             android:key="privacy_lock_screen_work_profile_notifications"
@@ -85,19 +86,27 @@
             settings:searchable="false"/>
 
         <!-- Show media on lock screen -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="privacy_media_controls_lockscreen"
             android:title="@string/media_controls_lockscreen_title"
             android:summary="@string/media_controls_lockscreen_description"
             settings:controller=
                 "com.android.settings.sound.MediaControlsLockScreenPreferenceController" />
 
+        <!-- Allow software fallback for camera extensions -->
+        <SwitchPreference
+            android:key="privacy_camera_extensions_fallback"
+            android:title="@string/camera_extensions_fallback_title"
+            android:summary="@string/camera_extensions_fallback_description"
+            settings:controller=
+                "com.android.settings.privacy.CameraExtensionsFallbackPreferenceController" />
+
         <!-- Content Capture -->
         <!-- NOTE: content capture has a different preference, depending whether or not the
              ContentCaptureService implementations defines a custom settings activitiy on its manifest.
              Hence, we show both here, but the controller itself will decide if it's available or not.
         -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="content_capture"
             android:title="@string/content_capture"
             android:summary="@string/content_capture_summary"
@@ -118,6 +127,15 @@
         android:key="security_category"
         android:title="@string/security_header" />
 
+    <Preference
+        android:order="230"
+        android:key="content_protection_preference"
+        android:title="@string/content_protection_preference_title"
+        android:summary="@string/content_protection_preference_summary"
+        android:fragment="com.android.settings.security.ContentProtectionPreferenceFragment"
+        settings:keywords="@string/content_protection_preference_title"
+        settings:controller="com.android.settings.security.ContentProtectionPreferenceController" />
+
     <PreferenceCategory
         android:order="240"
         android:key="security_settings_device_admin_category"
@@ -194,14 +212,6 @@
         settings:keywords="@string/keywords_app_pinning"
         settings:controller="com.android.settings.security.ScreenPinningPreferenceController" />
 
-    <SwitchPreference
-        android:order="290"
-        android:key="confirm_sim_deletion"
-        android:title="@string/confirm_sim_deletion_title"
-        android:summary="@string/confirm_sim_deletion_description"
-        settings:isPreferenceVisible="@bool/config_show_sim_info"
-        settings:controller="com.android.settings.security.ConfirmSimDeletionPreferenceController" />
-
     <Preference
         android:order="300"
         android:id="@+id/memtag_page"
@@ -212,4 +222,4 @@
 
 
 
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/my_device_info.xml b/res/xml/my_device_info.xml
index 6edb5b7..62bc040 100644
--- a/res/xml/my_device_info.xml
+++ b/res/xml/my_device_info.xml
@@ -52,11 +52,12 @@
             settings:controller="com.android.settings.deviceinfo.BrandedAccountPreferenceController"/>
 
         <!-- Phone number -->
-        <com.android.settings.deviceinfo.PhoneNumberSummaryPreference
+        <Preference
             android:key="phone_number"
             android:order="3"
             android:title="@string/status_number"
             android:summary="@string/summary_placeholder"
+            android:selectable="false"
             settings:isPreferenceVisible="@bool/config_show_sim_info"
             settings:controller="com.android.settings.deviceinfo.PhoneNumberPreferenceController"
             settings:enableCopying="true"/>
@@ -118,7 +119,6 @@
             android:key="eid_info"
             android:order="31"
             android:title="@string/status_eid"
-            android:summary="@string/device_info_protected_single_press"
             android:positiveButtonText="@string/dlg_ok"
             android:dialogLayout="@layout/dialog_eid_status"
             settings:isPreferenceVisible="@bool/config_show_sim_info"
@@ -126,7 +126,7 @@
             settings:controller="com.android.settings.deviceinfo.simstatus.SimEidPreferenceController"/>
 
         <!-- IMEI -->
-        <com.android.settings.deviceinfo.PhoneNumberSummaryPreference
+        <Preference
             android:key="imei_info"
             android:order="32"
             android:title="@string/status_imei"
@@ -151,7 +151,8 @@
             android:order="43"
             android:title="@string/battery_info"
             android:fragment="com.android.settings.deviceinfo.batteryinfo.BatteryInfoFragment"
-            settings:keywords="@string/keywords_battery_info"/>
+            settings:keywords="@string/keywords_battery_info"
+            settings:controller="com.android.settings.deviceinfo.batteryinfo.BatteryInfoPreferenceController"/>
     </PreferenceCategory>
 
     <PreferenceCategory
diff --git a/res/xml/network_provider_calls_sms.xml b/res/xml/network_provider_calls_sms.xml
index 8d15578..7f2ba8a 100644
--- a/res/xml/network_provider_calls_sms.xml
+++ b/res/xml/network_provider_calls_sms.xml
@@ -26,6 +26,7 @@
         settings:controller="com.android.settings.network.telephony.CallsDefaultSubscriptionController"
         android:order="10"
         android:icon="@drawable/ic_phone"
+        android:enabled="false"
         />
 
     <ListPreference
@@ -34,6 +35,7 @@
         settings:controller="com.android.settings.network.telephony.SmsDefaultSubscriptionController"
         android:order="15"
         android:icon="@drawable/ic_sms"
+        android:enabled="false"
         />
 
     <PreferenceCategory
diff --git a/res/xml/network_provider_internet.xml b/res/xml/network_provider_internet.xml
index ef6ed16..04f248e 100644
--- a/res/xml/network_provider_internet.xml
+++ b/res/xml/network_provider_internet.xml
@@ -37,10 +37,11 @@
         android:icon="@drawable/ic_calls_sms"
         android:order="-20"
         android:summary="@string/summary_placeholder"
-        settings:isPreferenceVisible="@bool/config_show_sim_info"
+        android:fragment="com.android.settings.network.NetworkProviderCallsSmsFragment"
+        settings:userRestriction="no_config_mobile_networks"
         settings:allowDividerBelow="true"
-        settings:keywords="@string/calls_and_sms"
-        settings:useAdminDisabledSummary="true" />
+        settings:useAdminDisabledSummary="true"
+        settings:controller="com.android.settings.network.NetworkProviderCallsSmsController" />
 
     <com.android.settingslib.RestrictedPreference
         android:key="mobile_network_list"
@@ -51,7 +52,6 @@
         settings:keywords="@string/keywords_more_mobile_networks"
         settings:userRestriction="no_config_mobile_networks"
         settings:isPreferenceVisible="@bool/config_show_sim_info"
-        settings:allowDividerAbove="true"
         settings:useAdminDisabledSummary="true"
         settings:searchable="@bool/config_show_sim_info"/>
 
@@ -64,33 +64,13 @@
         settings:userRestriction="no_airplane_mode"/>
 
     <com.android.settingslib.RestrictedPreference
-        android:key="manage_mobile_plan"
-        android:title="@string/manage_mobile_plan_title"
-        android:persistent="false"
-        android:order="19"
-        settings:userRestriction="no_config_mobile_networks"
-        settings:isPreferenceVisible="@bool/config_show_sim_info"
-        settings:useAdminDisabledSummary="true" />
-
-    <com.android.settingslib.RestrictedPreference
         android:fragment="com.android.settings.network.tether.TetherSettings"
         android:key="tether_settings"
         android:title="@string/tether_settings_title_all"
         android:icon="@drawable/ic_wifi_tethering"
         android:order="5"
         android:summary="@string/summary_placeholder"
-        settings:keywords="@string/keywords_hotspot_tethering"
-        settings:userRestriction="no_config_tethering"
-        settings:useAdminDisabledSummary="true" />
-
-    <com.android.settingslib.PrimarySwitchPreference
-        android:fragment="com.android.settings.AllInOneTetherSettings"
-        android:key="all_tether_settings"
-        android:title="@string/tether_settings_title_all"
-        android:icon="@drawable/ic_wifi_tethering"
-        android:order="6"
-        android:summary="@string/summary_placeholder"
-        settings:controller="com.android.settings.network.AllInOneTetherPreferenceController"
+        settings:controller="com.android.settings.network.TetherPreferenceController"
         settings:keywords="@string/keywords_hotspot_tethering"
         settings:userRestriction="no_config_tethering"
         settings:useAdminDisabledSummary="true" />
diff --git a/res/xml/network_provider_settings.xml b/res/xml/network_provider_settings.xml
index 1921ece..418bb8d 100644
--- a/res/xml/network_provider_settings.xml
+++ b/res/xml/network_provider_settings.xml
@@ -65,7 +65,13 @@
 
     <PreferenceCategory
         android:key="access_points"
-        android:layout="@layout/preference_category_no_label"/>
+        android:layout="@layout/preference_category_no_label">
+
+        <com.android.settings.wifi.AddWifiNetworkPreference
+            android:key="add_wifi_network"
+            android:title="@string/wifi_add_network"
+            android:icon="@drawable/ic_add_24dp"/>
+    </PreferenceCategory>
 
     <Preference
         android:key="configure_network_settings"
diff --git a/res/xml/network_provider_sims_list.xml b/res/xml/network_provider_sims_list.xml
index b21341e..cc7589c 100644
--- a/res/xml/network_provider_sims_list.xml
+++ b/res/xml/network_provider_sims_list.xml
@@ -24,7 +24,7 @@
         android:title="@string/summary_placeholder"
         android:layout="@layout/preference_category_no_label"
         android:order="20"
-        settings:controller="com.android.settings.network.NetworkProviderSimsCategoryController"/>
+        settings:controller="com.android.settings.network.NetworkProviderSimListController"/>
 
     <com.android.settingslib.RestrictedPreference
         android:key="add_sim"
diff --git a/res/xml/nfc_and_payment_settings.xml b/res/xml/nfc_and_payment_settings.xml
index b7900f8..5fb7c69 100644
--- a/res/xml/nfc_and_payment_settings.xml
+++ b/res/xml/nfc_and_payment_settings.xml
@@ -30,7 +30,7 @@
         settings:lottie_rawRes="@drawable/nfc_detection_point"
         settings:controller="com.android.settings.nfc.NfcDetectionPointController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="nfc_secure_settings"
         android:title="@string/nfc_secure_settings_title"
         settings:controller="com.android.settings.nfc.SecureNfcPreferenceController"
diff --git a/res/xml/physical_keyboard_settings.xml b/res/xml/physical_keyboard_settings.xml
index 40851a9..b95f23e 100644
--- a/res/xml/physical_keyboard_settings.xml
+++ b/res/xml/physical_keyboard_settings.xml
@@ -21,7 +21,7 @@
     <PreferenceCategory
         android:key="keyboard_options_category"
         android:title="@string/keyboard_options_category">
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="show_virtual_keyboard_switch"
             android:title="@string/show_ime"
             android:summary="@string/show_ime_summary"
@@ -38,4 +38,28 @@
             android:summary="@string/modifier_keys_settings_summary"
             android:fragment="com.android.settings.inputmethod.ModifierKeysSettings" />
     </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="keyboard_a11y_category"
+        android:title="@string/keyboard_a11y_category">
+
+        <SwitchPreference
+            android:key="accessibility_sticky_keys"
+            android:title="@string/sticky_keys"
+            android:summary="@string/sticky_keys_summary"
+            android:defaultValue="false" />
+
+        <SwitchPreference
+            android:key="accessibility_slow_keys"
+            android:title="@string/slow_keys"
+            android:summary="@string/slow_keys_summary"
+            android:defaultValue="false" />
+
+        <SwitchPreference
+            android:key="accessibility_bounce_keys"
+            android:title="@string/bounce_keys"
+            android:summary="@string/bounce_keys_summary"
+            android:defaultValue="false" />
+
+    </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/pick_up_gesture_settings.xml b/res/xml/pick_up_gesture_settings.xml
index 38dad0a..e863080 100644
--- a/res/xml/pick_up_gesture_settings.xml
+++ b/res/xml/pick_up_gesture_settings.xml
@@ -27,7 +27,7 @@
         app:lottie_rawRes="@raw/lottie_lift_to_check_phone"/>
 
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_pick_up"
         android:title="@string/ambient_display_pickup_title"
         android:summary="@string/ambient_display_pickup_summary"
diff --git a/res/xml/polite_notifications_settings.xml b/res/xml/polite_notifications_settings.xml
new file mode 100644
index 0000000..36f64f2
--- /dev/null
+++ b/res/xml/polite_notifications_settings.xml
@@ -0,0 +1,44 @@
+<?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.
+-->
+
+<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/notification_polite_title">
+
+    <com.android.settings.RestrictedListPreference
+        android:key="polite_notifications_pref_dlg"
+        android:persistent="false"
+        android:title="@string/notification_polite_title"
+        android:entries="@array/notification_polite_options"
+        android:entryValues="@array/notification_polite_options_values"
+        settings:controller="com.android.settings.notification.PoliteNotificationFilterController"/>
+
+    <SwitchPreferenceCompat
+        android:key="notification_polite_vibrate_unlocked"
+        android:persistent="false"
+        android:title="@string/notification_polite_vibrate_unlocked"
+        android:summary="@string/notification_polite_vibrate_unlocked_summary"
+        settings:controller="com.android.settings.notification.PoliteNotifVibrateUnlockedToggleController" />
+
+    <SwitchPreferenceCompat
+        android:key="notification_polite_work_profile"
+        android:persistent="false"
+        android:title="@string/notification_polite_work"
+        android:summary="@string/notification_polite_work_summary"
+        settings:controller="com.android.settings.notification.PoliteNotifWorkProfileToggleController" />
+
+</PreferenceScreen>
diff --git a/res/xml/power_background_usage_detail.xml b/res/xml/power_background_usage_detail.xml
new file mode 100644
index 0000000..fb089fd
--- /dev/null
+++ b/res/xml/power_background_usage_detail.xml
@@ -0,0 +1,50 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/manager_battery_usage_allow_background_usage_title">
+
+    <com.android.settingslib.widget.LayoutPreference
+        android:key="header_view"
+        android:layout="@layout/settings_entity_header"
+        android:selectable="false"/>
+
+    <com.android.settingslib.widget.MainSwitchPreference
+        android:key="allow_background_usage"
+        android:title="@string/manager_battery_usage_allow_background_usage_title"
+        settings:controller="com.android.settings.fuelgauge.AllowBackgroundPreferenceController"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="optimized_preference"
+        android:title="@string/manager_battery_usage_optimized_title"
+        android:summary="@string/manager_battery_usage_optimized_summary"
+        settings:controller="com.android.settings.fuelgauge.OptimizedPreferenceController"/>
+
+    <com.android.settingslib.widget.SelectorWithWidgetPreference
+        android:key="unrestricted_preference"
+        android:title="@string/manager_battery_usage_unrestricted_title"
+        android:summary="@string/manager_battery_usage_unrestricted_summary"
+        settings:controller="com.android.settings.fuelgauge.UnrestrictedPreferenceController"/>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="app_usage_footer_preference"
+        android:title="@string/manager_battery_usage_footer"
+        android:selectable="false"
+        settings:searchable="false"/>
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/power_usage_detail.xml b/res/xml/power_usage_detail.xml
index c9836b4..f3b30b6 100644
--- a/res/xml/power_usage_detail.xml
+++ b/res/xml/power_usage_detail.xml
@@ -27,28 +27,34 @@
     <com.android.settingslib.widget.ActionButtonsPreference
         android:key="action_buttons"/>
 
-    <com.android.settingslib.widget.SelectorWithWidgetPreference
-        android:key="unrestricted_pref"
-        android:summary="@string/manager_battery_usage_unrestricted_summary"
-        android:title="@string/manager_battery_usage_unrestricted_title"
-        settings:controller="com.android.settings.fuelgauge.UnrestrictedPreferenceController"/>
+    <PreferenceCategory
+        android:key="battery_usage_time_category"
+        settings:isPreferenceVisible="false"
+        settings:selectable="false"
+        settings:controller=
+            "com.android.settings.fuelgauge.PowerUsageTimeController">
 
-    <com.android.settingslib.widget.SelectorWithWidgetPreference
-        android:key="optimized_pref"
-        android:summary="@string/manager_battery_usage_optimized_summary"
-        android:title="@string/manager_battery_usage_optimized_title"
-        settings:controller="com.android.settings.fuelgauge.OptimizedPreferenceController"/>
+        <com.android.settings.fuelgauge.PowerUsageTimePreference
+            settings:isPreferenceVisible="false"
+            settings:selectable="false"
+            android:key="battery_usage_screen_time"/>
 
-    <com.android.settingslib.widget.SelectorWithWidgetPreference
-        android:key="restricted_pref"
-        android:summary="@string/manager_battery_usage_restricted_summary"
-        android:title="@string/manager_battery_usage_restricted_title"
-        settings:controller="com.android.settings.fuelgauge.RestrictedPreferenceController"/>
+        <com.android.settings.fuelgauge.PowerUsageTimePreference
+            settings:isPreferenceVisible="false"
+            settings:selectable="false"
+            android:key="battery_usage_background_time"/>
 
-    <com.android.settingslib.widget.FooterPreference
-        android:key="app_usage_footer_preference"
-        android:title="@string/manager_battery_usage_footer"
-        android:selectable="false"
-        settings:searchable="false"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:title="@string/manager_battery_usage_category_title"
+        android:key="manage_battery_usage_category">
+
+        <com.android.settingslib.PrimarySwitchPreference
+            android:key="allow_background_usage"
+            android:title="@string/manager_battery_usage_allow_background_usage_title"
+            settings:controller="com.android.settings.fuelgauge.AllowBackgroundPreferenceController"/>
+
+    </PreferenceCategory>
 
 </PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/power_usage_summary.xml b/res/xml/power_usage_summary.xml
index 121e1fe..1af8a8c 100644
--- a/res/xml/power_usage_summary.xml
+++ b/res/xml/power_usage_summary.xml
@@ -1,5 +1,5 @@
 <?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.
@@ -51,7 +51,14 @@
         settings:keywords="@string/keywords_battery_saver"
         settings:controller="com.android.settings.fuelgauge.BatterySaverController" />
 
-    <SwitchPreference
+    <Preference
+        android:fragment="com.android.settings.fuelgauge.SmartBatterySettings"
+        android:key="smart_battery_manager"
+        android:title="@string/smart_battery_manager_title"
+        settings:controller="com.android.settings.fuelgauge.batterytip.BatteryManagerPreferenceController"
+        settings:keywords="@string/keywords_battery_adaptive_preferences" />
+
+    <SwitchPreferenceCompat
         android:key="battery_percentage"
         android:title="@string/battery_percentage"
         android:summary="@string/battery_percentage_description"
diff --git a/res/xml/privacy_controls_settings.xml b/res/xml/privacy_controls_settings.xml
index cc88e0c..c7c3035 100644
--- a/res/xml/privacy_controls_settings.xml
+++ b/res/xml/privacy_controls_settings.xml
@@ -35,7 +35,7 @@
         settings:controller="com.android.settings.privacy.MicToggleController"/>
 
     <!-- Clipboard access notifications -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="show_clip_access_notification"
         android:title="@string/show_clip_access_notification"
         android:summary="@string/show_clip_access_notification_summary"
diff --git a/res/xml/privacy_dashboard_settings.xml b/res/xml/privacy_dashboard_settings.xml
index d84dca5..551501b 100644
--- a/res/xml/privacy_dashboard_settings.xml
+++ b/res/xml/privacy_dashboard_settings.xml
@@ -86,7 +86,7 @@
         settings:controller="com.android.settings.privacy.MicToggleController"/>
 
     <!-- Show passwords -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="show_password"
         android:title="@string/show_password"
         android:summary="@string/show_password_summary"
@@ -99,7 +99,7 @@
         android:summary="@string/summary_placeholder"/>
 
     <!-- Show media on lock screen -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="privacy_media_controls_lockscreen"
         android:title="@string/media_controls_lockscreen_title"
         android:summary="@string/media_controls_lockscreen_description"
@@ -136,7 +136,7 @@
          Hence, we show both here, but the controller itself will decide if it's available or not.
     -->
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="content_capture"
         android:title="@string/content_capture"
         android:summary="@string/content_capture_summary"
@@ -149,7 +149,7 @@
         settings:controller="com.android.settings.privacy.EnableContentCaptureWithServiceSettingsPreferenceController"/>
 
     <!-- Clipboard access notifications -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="show_clip_access_notification"
         android:title="@string/show_clip_access_notification"
         android:summary="@string/show_clip_access_notification_summary"
diff --git a/res/xml/private_space_auto_lock_settings.xml b/res/xml/private_space_auto_lock_settings.xml
new file mode 100644
index 0000000..ae056a4
--- /dev/null
+++ b/res/xml/private_space_auto_lock_settings.xml
@@ -0,0 +1,20 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:title="@string/private_space_auto_lock_title"/>
diff --git a/res/xml/private_space_biometric_settings.xml b/res/xml/private_space_biometric_settings.xml
new file mode 100644
index 0000000..6135b5f
--- /dev/null
+++ b/res/xml/private_space_biometric_settings.xml
@@ -0,0 +1,47 @@
+<?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.
+  -->
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/private_space_biometric_title"
+    settings:searchable="false">
+
+    <com.android.settingslib.widget.TopIntroPreference
+        android:title="@string/biometric_settings_intro"
+        settings:searchable="false" />
+
+    <PreferenceCategory
+        android:key="biometric_ways_to_unlock"
+        android:title="@string/private_space_category_ways_to_unlock"
+        settings:searchable="false">
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="private_space_fingerprint_unlock_settings"
+            android:title="@string/private_space_fingerprint_unlock_title"
+            android:summary="@string/summary_placeholder"
+            settings:controller="com.android.settings.privatespace.onelock.PrivateSpaceFingerprintPreferenceController"
+            settings:searchable="false" />
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="private_space_face_unlock_settings"
+            android:title="@string/private_space_face_unlock_title"
+            android:summary="@string/summary_placeholder"
+            settings:controller="com.android.settings.privatespace.onelock.PrivateSpaceFacePreferenceController"
+            settings:searchable="false" />
+
+    </PreferenceCategory>
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/private_space_settings.xml b/res/xml/private_space_settings.xml
new file mode 100644
index 0000000..e718ca8
--- /dev/null
+++ b/res/xml/private_space_settings.xml
@@ -0,0 +1,90 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="private_space_title"
+    android:title="@string/private_space_title"
+    settings:searchable="false">
+
+    <com.android.settingslib.widget.IllustrationPreference
+        android:key="private_space_settings"
+        settings:searchable="false"
+        settings:lottie_rawRes="@drawable/private_space_illustration"/>
+
+    <Preference
+        android:key="private_space_description"
+        android:summary="@string/private_space_description"
+        android:selectable="false"
+        settings:searchable="false" />
+
+    <PreferenceCategory
+        android:title="@string/security_header">
+
+        <Preference
+            android:key="private_space_auto_lock"
+            android:title="@string/private_space_auto_lock_title"
+            android:fragment="com.android.settings.privatespace.autolock.AutoLockSettingsFragment"
+            settings:controller="com.android.settings.privatespace.autolock.AutoLockPreferenceController"
+            settings:searchable="false" />
+
+        <Preference
+            android:key="private_space_use_one_lock"
+            android:title="@string/private_space_lock_title"
+            android:fragment="com.android.settings.privatespace.onelock.UseOneLockSettingsFragment"
+            settings:controller="com.android.settings.privatespace.onelock.UseOneLockController"
+            settings:searchable="false" />
+
+        <Preference
+            android:key="private_space_hidden"
+            android:title="@string/private_space_hide_title"
+            android:fragment="com.android.settings.privatespace.HidePrivateSpaceSettings"
+            settings:controller="com.android.settings.privatespace.HidePrivateSpaceSummaryController"
+            settings:searchable="false" />
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:title="@string/private_space_apps_and_notifications_header">
+
+        <com.android.settingslib.RestrictedSwitchPreference
+            android:key="private_space_sensitive_notifications"
+            android:title="@string/private_space_notifications_title"
+            android:summary="@string/private_space_sensitive_notifications_description"
+            settings:controller="com.android.settings.privatespace.HidePrivateSpaceSensitiveNotificationsController" />
+
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:title="@string/private_space_category_system">
+
+        <Preference
+            android:key="private_space_delete"
+            android:title="@string/private_space_delete_title"
+            settings:controller="com.android.settings.privatespace.delete.DeletePrivateSpaceController"
+            settings:searchable="false" />
+
+    </PreferenceCategory>
+
+    <com.android.settings.accessibility.AccessibilityFooterPreference
+        android:key="private_space_footer"
+        android:title="@string/private_space_apps_permission_text"
+        android:selectable="false"
+        settings:searchable="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/privatespace_hide_locked.xml b/res/xml/privatespace_hide_locked.xml
new file mode 100644
index 0000000..f453d75
--- /dev/null
+++ b/res/xml/privatespace_hide_locked.xml
@@ -0,0 +1,63 @@
+<!--
+  ~ 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.
+  -->
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/privatespace_hide_page_title">
+
+    <com.android.settingslib.widget.IllustrationPreference
+        android:key="privatespace_hide_video"
+        settings:searchable="false"
+        settings:lottie_rawRes="@drawable/privatespace_placeholder_image"/>
+
+    <com.android.settingslib.widget.MainSwitchPreference
+        android:key="hide_when_locked"
+        android:title="@string/privatespace_hide_page_title"
+        settings:controller="com.android.settings.privatespace.HidePrivateSpaceController"/>
+
+        <Preference
+        android:key="private_space_hidden"
+        android:summary="@string/privatespace_hide_page_summary"
+        android:selectable="false"
+        settings:searchable="false" />
+
+    <PreferenceCategory
+        android:title="@string/privatespace_access_header">
+
+        <Preference
+        android:key="search_when_locked_footer"
+        android:icon="@drawable/counter_1_24dp"
+        android:title="@string/privatespace_search_description"
+        android:selectable="false"
+        settings:searchable="false" />
+
+        <Preference
+            android:key="tap_tile_footer"
+            android:icon="@drawable/counter_2_24dp"
+            android:title="@string/privatespace_tap_tile_description"
+            android:selectable="false"
+            settings:searchable="false" />
+
+        <Preference
+            android:key="unlock_profile_footer"
+            android:icon="@drawable/counter_3_24dp"
+            android:title="@string/privatespace_unlock_description"
+            android:selectable="false"
+            settings:searchable="false" />
+
+    </PreferenceCategory>
+
+</PreferenceScreen>
diff --git a/res/xml/privatespace_one_lock.xml b/res/xml/privatespace_one_lock.xml
new file mode 100644
index 0000000..c9e0e62
--- /dev/null
+++ b/res/xml/privatespace_one_lock.xml
@@ -0,0 +1,44 @@
+<!--
+  ~ 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.
+  -->
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/private_space_lock_title"
+    settings:searchable="false" >
+
+    <com.android.settingslib.widget.TopIntroPreference
+        android:title="@string/private_space_one_lock_summary"
+        settings:searchable="false" />
+
+    <com.android.settingslib.widget.MainSwitchPreference
+        android:key="private_lock_unification"
+        android:title="@string/private_space_screen_lock_title"
+        settings:searchable="false" />
+
+    <Preference
+        android:key="change_private_space_lock"
+        android:title="@string/private_space_lock_title"
+        android:summary="@string/unlock_set_unlock_mode_pattern"
+        settings:searchable="false" />
+
+    <com.android.settingslib.RestrictedPreference
+        android:key="private_space_biometrics"
+        android:title="@string/private_space_biometric_title"
+        android:summary="@string/summary_placeholder"
+        android:fragment="com.android.settings.privatespace.onelock.PrivateSpaceBiometricSettings"
+        settings:searchable="false" />
+
+</PreferenceScreen>
diff --git a/res/xml/process_stats_summary.xml b/res/xml/process_stats_summary.xml
index 3b3271d..9def18f 100644
--- a/res/xml/process_stats_summary.xml
+++ b/res/xml/process_stats_summary.xml
@@ -19,45 +19,52 @@
     android:title="@string/app_memory_use"
     android:key="app_list">
 
+    <SwitchPreference
+        android:key="force_enable_pss_profiling"
+        android:title="@string/force_enable_pss_profiling_title"
+        android:summary="@string/force_enable_pss_profiling_summary" />
+
     <PreferenceCategory
-        android:title="@string/average_memory_use"/>
+        android:title="@string/average_memory_use"
+        android:key="memory_info">
 
-    <com.android.settings.SummaryPreference
-        android:key="status_header"
-        android:selectable="false" />
+        <com.android.settings.SummaryPreference
+            android:key="status_header"
+            android:selectable="false" />
 
-    <com.android.settings.applications.SpacePreference
-        android:layout_height="5dp" />
+        <com.android.settings.applications.SpacePreference
+            android:layout_height="5dp" />
 
-    <Preference
-        android:key="performance"
-        android:selectable="false"
-        android:layout="@layout/horizontal_preference"
-        android:title="@string/memory_performance" />
+        <Preference
+            android:key="performance"
+            android:selectable="false"
+            android:layout="@layout/horizontal_preference"
+            android:title="@string/memory_performance" />
 
-    <Preference
-        android:key="total_memory"
-        android:selectable="false"
-        android:layout="@layout/horizontal_preference"
-        android:title="@string/total_memory" />
+        <Preference
+            android:key="total_memory"
+            android:selectable="false"
+            android:layout="@layout/horizontal_preference"
+            android:title="@string/total_memory" />
 
-    <Preference
-        android:key="average_used"
-        android:selectable="false"
-        android:layout="@layout/horizontal_preference"
-        android:title="@string/average_used" />
+        <Preference
+            android:key="average_used"
+            android:selectable="false"
+            android:layout="@layout/horizontal_preference"
+            android:title="@string/average_used" />
 
-    <Preference
-        android:key="free"
-        android:selectable="false"
-        android:layout="@layout/horizontal_preference"
-        android:title="@string/free_memory" />
+        <Preference
+            android:key="free"
+            android:selectable="false"
+            android:layout="@layout/horizontal_preference"
+            android:title="@string/free_memory" />
 
-    <com.android.settings.applications.SpacePreference
-        android:layout_height="15dp" />
+        <com.android.settings.applications.SpacePreference
+            android:layout_height="15dp" />
 
-    <Preference
-        android:key="apps_list"
-        android:title="@string/memory_usage_apps" />
+        <Preference
+            android:key="apps_list"
+            android:title="@string/memory_usage_apps" />
 
+    </PreferenceCategory>
 </PreferenceScreen>
diff --git a/res/xml/quarantined_apps.xml b/res/xml/quarantined_apps.xml
new file mode 100644
index 0000000..69a90d6
--- /dev/null
+++ b/res/xml/quarantined_apps.xml
@@ -0,0 +1,25 @@
+<?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.
+-->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:key="quarantined_apps_screen"
+    android:title="@string/quarantined_apps_title"
+    settings:controller="com.android.settings.development.quarantine.QuarantinedAppsScreenController"
+    settings:searchable="true">
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/reduce_bright_colors_settings.xml b/res/xml/reduce_bright_colors_settings.xml
index 00ab585..d092e13 100644
--- a/res/xml/reduce_bright_colors_settings.xml
+++ b/res/xml/reduce_bright_colors_settings.xml
@@ -30,7 +30,7 @@
         settings:tickMark="@android:color/transparent"
     />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="rbc_persist"
         android:persistent="false"
         android:title="@string/reduce_bright_colors_persist_preference_title" />
diff --git a/res/xml/reset_dashboard_fragment.xml b/res/xml/reset_dashboard_fragment.xml
index 08852c9..ab253ac 100644
--- a/res/xml/reset_dashboard_fragment.xml
+++ b/res/xml/reset_dashboard_fragment.xml
@@ -30,11 +30,9 @@
         android:fragment="com.android.settings.ResetNetwork" />
 
     <!-- Bluetooth and WiFi reset -->
-    <com.android.settingslib.RestrictedPreference
+    <com.android.settings.spa.preference.ComposePreference
         android:key="network_reset_bluetooth_wifi_pref"
         android:title="@string/reset_bluetooth_wifi_title"
-        settings:userRestriction="no_network_reset"
-        settings:useAdminDisabledSummary="true"
         settings:controller="com.android.settings.network.BluetoothWiFiResetPreferenceController" />
 
     <!-- Reset app preferences -->
diff --git a/res/xml/satellite_setting.xml b/res/xml/satellite_setting.xml
new file mode 100644
index 0000000..9eb1763
--- /dev/null
+++ b/res/xml/satellite_setting.xml
@@ -0,0 +1,65 @@
+<?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:key="satellite_setting"
+    android:title="@string/satellite_setting"
+    settings:keywords="@string/keywords_satellite_setting">
+
+    <PreferenceCategory
+        android:title="@string/category_name_about_satellite_messaging">
+
+        <com.android.settingslib.widget.TopIntroPreference
+            android:key="key_about_satellite_messaging"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="key_category_your_satellite_plan"
+        android:title="@string/category_title_your_satellite_plan">
+
+        <Preference
+            android:key="key_your_satellite_plan"
+            android:icon="?android:attr/textColorPrimary"/>
+    </PreferenceCategory>
+
+    <PreferenceCategory
+        android:key="key_category_how_it_works"
+        android:title="@string/category_name_how_it_works"
+        android:clickable="false"
+        android:focusable="false">
+
+        <Preference
+            android:key="key_satellite_connection_guide"
+            android:title="@string/title_satellite_connection_guide"
+            android:summary="@string/summary_satellite_connection_guide"
+            android:icon="@drawable/ic_signal_cellular_nodata_24px"/>
+
+        <Preference
+            android:key="key_supported_service"
+            android:title="@string/title_supported_service"
+            android:summary="@string/summary_supported_service"
+            android:icon="@drawable/ic_satellite_alt_24px"/>
+    </PreferenceCategory>
+
+    <com.android.settingslib.widget.FooterPreference
+        android:key="satellite_setting_extra_info_footer_pref"
+        android:layout="@layout/satellite_setting_more_information_layout"
+        android:selectable="false"
+        settings:searchable="false"/>
+
+</PreferenceScreen>
diff --git a/res/xml/screen_lock_settings.xml b/res/xml/screen_lock_settings.xml
index 00dd7ae..19061d9 100644
--- a/res/xml/screen_lock_settings.xml
+++ b/res/xml/screen_lock_settings.xml
@@ -23,24 +23,24 @@
     settings:searchable="false">
 
     <!-- available in pattern -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="visiblepattern"
         android:title="@string/lockpattern_settings_enable_visible_pattern_title" />
 
     <!-- available in pin -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_pin_confirm"
         android:title="@string/lock_screen_auto_pin_confirm_title"
         android:summary="@string/lock_screen_auto_pin_confirm_summary" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="enhancedPinPrivacy"
         android:title="@string/lockpattern_settings_enhanced_pin_privacy_title"
         android:summary="@string/lockpattern_settings_enhanced_pin_privacy_summary" />
 
 
     <!-- available in pin/pattern/password -->
-    <com.android.settings.display.TimeoutListPreference
+    <com.android.settings.security.screenlock.ProtectedTimeoutListPreference
         android:key="lock_after_timeout"
         android:title="@string/lock_after_timeout"
         android:summary="@string/summary_placeholder"
@@ -48,7 +48,7 @@
         android:entryValues="@array/lock_after_timeout_values" />
 
     <!-- available in pin/pattern/password -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="power_button_instantly_locks"
         android:title="@string/lockpattern_settings_enable_power_button_instantly_locks" />
 
diff --git a/res/xml/screen_pinning_settings.xml b/res/xml/screen_pinning_settings.xml
index 7689043..2c4402d 100644
--- a/res/xml/screen_pinning_settings.xml
+++ b/res/xml/screen_pinning_settings.xml
@@ -23,7 +23,7 @@
         android:title="@string/app_pinning_intro"
         settings:searchable="false"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="use_screen_lock"
         android:title="@string/screen_pinning_unlock_none"
         settings:allowDividerAbove="true"/>
diff --git a/res/xml/security_advanced_settings.xml b/res/xml/security_advanced_settings.xml
index f52fb12..c220e99 100644
--- a/res/xml/security_advanced_settings.xml
+++ b/res/xml/security_advanced_settings.xml
@@ -106,14 +106,6 @@
         settings:keywords="@string/keywords_app_pinning"
         settings:controller="com.android.settings.security.ScreenPinningPreferenceController" />
 
-    <SwitchPreference
-        android:order="290"
-        android:key="confirm_sim_deletion"
-        android:title="@string/confirm_sim_deletion_title"
-        android:summary="@string/confirm_sim_deletion_description"
-        settings:isPreferenceVisible="@bool/config_show_sim_info"
-        settings:controller="com.android.settings.security.ConfirmSimDeletionPreferenceController" />
-
   <com.android.settingslib.RestrictedPreference
         android:order="300"
         android:id="@+id/memtag_page"
@@ -142,9 +134,10 @@
             android:summary="@string/unlock_set_unlock_mode_pattern"
             settings:keywords="@string/keywords_lockscreen" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="visiblepattern_profile"
-            android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile" />
+            android:title="@string/lockpattern_settings_enable_visible_pattern_title_profile"
+            settings:controller="com.android.settings.security.VisiblePatternProfilePreferenceController" />
 
         <com.android.settingslib.RestrictedPreference
             android:key="fingerprint_settings_profile"
diff --git a/res/xml/security_lockscreen_settings.xml b/res/xml/security_lockscreen_settings.xml
index 80e8fe6..cb1ce44 100644
--- a/res/xml/security_lockscreen_settings.xml
+++ b/res/xml/security_lockscreen_settings.xml
@@ -28,7 +28,7 @@
             android:summary="@string/summary_placeholder"
             settings:keywords="@string/keywords_lock_screen_notif"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="security_display_lockscreen_bypass"
             android:title="@string/lockscreen_bypass_title"
             android:summary="@string/lockscreen_bypass_summary"
@@ -45,25 +45,25 @@
             android:title="@string/owner_info_settings_title"
             android:summary="@string/owner_info_settings_summary" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lockscreen_privacy_wallet_switch"
             android:title="@string/lockscreen_privacy_wallet_setting_toggle"
             android:summary="@string/lockscreen_privacy_wallet_summary"
             settings:controller="com.android.settings.display.WalletPrivacyPreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lock_screen_show_qr_scanner"
             android:title="@string/lockscreen_privacy_qr_code_scanner_setting_toggle"
             android:summary="@string/lockscreen_privacy_qr_code_scanner_summary"
             settings:controller="com.android.settings.display.QRCodeScannerPreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lockscreen_privacy_controls_switch"
             android:title="@string/lockscreen_privacy_controls_setting_toggle"
             android:summary="@string/lockscreen_privacy_controls_summary"
             settings:controller="com.android.settings.display.ControlsPrivacyPreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lockscreen_trivial_controls_switch"
             android:title="@string/lockscreen_trivial_controls_setting_toggle"
             android:summary="@string/lockscreen_trivial_controls_summary"
@@ -74,7 +74,7 @@
             android:title="@string/lockscreen_quick_affordances_title"
             settings:controller="com.android.settings.display.CustomizableLockScreenQuickAffordancesPreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="lockscreen_double_line_clock_switch"
             android:title="@string/lockscreen_double_line_clock_setting_toggle"
             android:summary="@string/lockscreen_double_line_clock_summary"
@@ -116,7 +116,7 @@
             settings:searchable="false"
             settings:controller="com.android.settings.gestures.PickupGesturePreferenceController" />
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="ambient_display_notification"
             android:title="@string/doze_title"
             android:summary="@string/doze_summary"
diff --git a/res/xml/security_settings_combined_biometric.xml b/res/xml/security_settings_combined_biometric.xml
index 5041778..c545b47 100644
--- a/res/xml/security_settings_combined_biometric.xml
+++ b/res/xml/security_settings_combined_biometric.xml
@@ -47,6 +47,13 @@
             android:summary="@string/summary_placeholder"
             settings:keywords="@string/keywords_active_unlock_settings"
             settings:controller="com.android.settings.biometrics.activeunlock.ActiveUnlockStatusPreferenceController" />
+
+        <com.android.settingslib.RestrictedPreference
+            android:key="biometric_remote_authenticator_settings"
+            android:title="@string/security_settings_remoteauth_preference_title"
+            android:summary="@string/summary_placeholder"
+            settings:keywords="@string/keywords_active_unlock_settings"
+            settings:controller="com.android.settings.remoteauth.RemoteAuthStatusPreferenceController" />
     </PreferenceCategory>
 
     <PreferenceCategory
@@ -59,7 +66,7 @@
             settings:keywords="@string/keywords_biometric_unlock"
             settings:controller="com.android.settings.biometrics.combination.BiometricSettingsKeyguardPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="biometric_settings_biometric_app"
             android:title="@string/biometric_settings_use_biometric_for_apps"
             settings:keywords="@string/keywords_biometric_unlock"
diff --git a/res/xml/security_settings_combined_biometric_profile.xml b/res/xml/security_settings_combined_biometric_profile.xml
index 22d19ac..1ab4106 100644
--- a/res/xml/security_settings_combined_biometric_profile.xml
+++ b/res/xml/security_settings_combined_biometric_profile.xml
@@ -45,7 +45,7 @@
     <PreferenceCategory
         android:key="biometric_ways_to_use">
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="biometric_settings_biometric_app_profile"
             android:title="@string/biometric_settings_use_biometric_for_apps"
             settings:keywords="@string/keywords_biometric_unlock"
diff --git a/res/xml/security_settings_face.xml b/res/xml/security_settings_face.xml
index 9fc8a1f..fd3498e 100644
--- a/res/xml/security_settings_face.xml
+++ b/res/xml/security_settings_face.xml
@@ -28,7 +28,7 @@
             android:title="@string/biometric_settings_use_biometric_unlock_phone"
             settings:keywords="@string/keywords_face_unlock"
             settings:controller="com.android.settings.biometrics.face.FaceSettingsKeyguardPreferenceController"/>
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="security_settings_face_app"
             android:title="@string/biometric_settings_use_biometric_for_apps"
             settings:keywords="@string/keywords_face_unlock"
@@ -44,14 +44,14 @@
     <PreferenceCategory
         android:key="security_settings_face_manage_category"
         android:title="@string/security_settings_face_settings_preferences_category">
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="security_settings_face_require_attention"
             android:title="@string/security_settings_face_settings_require_attention"
             android:summary="@string/security_settings_face_settings_require_attention_details"
             settings:keywords="@string/keywords_face_unlock"
             settings:controller="com.android.settings.biometrics.face.FaceSettingsAttentionPreferenceController"/>
 
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="security_settings_face_require_confirmation"
             android:title="@string/security_settings_face_settings_require_confirmation"
             android:summary="@string/security_settings_face_settings_require_confirmation_details"
diff --git a/res/xml/security_settings_fingerprint.xml b/res/xml/security_settings_fingerprint.xml
index 0156ef9..9c8b0a3 100644
--- a/res/xml/security_settings_fingerprint.xml
+++ b/res/xml/security_settings_fingerprint.xml
@@ -36,7 +36,7 @@
         settings:isPreferenceVisible="false">
 
         <com.android.settingslib.RestrictedSwitchPreference
-            android:key="security_settings_require_screen_on_to_auth"
+            android:key="@string/security_settings_require_screen_on_to_auth_key"
             android:title="@string/security_settings_require_screen_on_to_auth_title"
             android:summary="@string/security_settings_require_screen_on_to_auth_description"
             settings:keywords="@string/security_settings_require_screen_on_to_auth_keywords"
diff --git a/res/xml/sim_lock_settings.xml b/res/xml/sim_lock_settings.xml
index 174e5c2..02db847 100644
--- a/res/xml/sim_lock_settings.xml
+++ b/res/xml/sim_lock_settings.xml
@@ -15,10 +15,9 @@
 -->
 
 <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:title="@string/sim_lock_settings">
+    android:title="@string/sim_lock_settings">
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
             android:key="sim_toggle"
             android:title="@string/sim_pin_toggle"
             android:summaryOn="@string/sim_lock_on"
diff --git a/res/xml/smart_battery_detail.xml b/res/xml/smart_battery_detail.xml
index 9795125..4047674 100644
--- a/res/xml/smart_battery_detail.xml
+++ b/res/xml/smart_battery_detail.xml
@@ -26,14 +26,14 @@
         android:key="auto_awesome_battery"
         settings:lottie_rawRes="@raw/auto_awesome_battery_lottie" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="smart_battery"
         android:title="@string/smart_battery_title"
         android:summary="@string/smart_battery_summary"
         settings:controller="com.android.settings.fuelgauge.SmartBatteryPreferenceController"
         settings:allowDividerAbove="true"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_restriction"
         android:title="@string/battery_auto_restriction_title"
         android:summary="@string/battery_auto_restriction_summary"
diff --git a/res/xml/smart_forwarding_switch.xml b/res/xml/smart_forwarding_switch.xml
index dda9d5a..a278cdf 100644
--- a/res/xml/smart_forwarding_switch.xml
+++ b/res/xml/smart_forwarding_switch.xml
@@ -1,10 +1,9 @@
 <PreferenceScreen
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:key="smart_forwarding_preference"
-        android:title="@string/smart_forwarding_title">
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:key="smart_forwarding_preference"
+    android:title="@string/smart_forwarding_title">
 
-      <SwitchPreference
+      <SwitchPreferenceCompat
           android:key="smart_forwarding_switch"
           android:title="Smart forwarding"
           android:summaryOff="@string/smart_forwarding_summary_disabled"
diff --git a/res/xml/sound_settings.xml b/res/xml/sound_settings.xml
index c3e0eef..15312c8 100644
--- a/res/xml/sound_settings.xml
+++ b/res/xml/sound_settings.xml
@@ -36,6 +36,7 @@
         android:icon="@drawable/ic_media_stream"
         android:title="@string/media_volume_option_title"
         android:order="-180"
+        settings:userRestriction="no_adjust_volume"
         settings:controller="com.android.settings.notification.MediaVolumePreferenceController"/>
 
     <!-- Media output switcher -->
@@ -53,6 +54,7 @@
         android:icon="@drawable/ic_local_phone_24_lib"
         android:title="@string/call_volume_option_title"
         android:order="-170"
+        settings:userRestriction="no_adjust_volume"
         settings:controller="com.android.settings.notification.CallVolumePreferenceController"/>
 
     <!-- Hands free profile output switcher -->
@@ -70,6 +72,7 @@
         android:icon="@drawable/ic_ring_volume"
         android:title="@string/separate_ring_volume_option_title"
         android:order="-155"
+        settings:userRestriction="no_adjust_volume"
         settings:controller="com.android.settings.notification.SeparateRingVolumePreferenceController"/>
 
     <!-- Notification volume -->
@@ -78,6 +81,7 @@
         android:icon="@drawable/ic_notifications"
         android:title="@string/notification_volume_option_title"
         android:order="-150"
+        settings:userRestriction="no_adjust_volume"
         settings:controller="com.android.settings.notification.NotificationVolumePreferenceController"
         settings:unavailableSliceSubtitle="@string/notification_volume_disabled_summary"/>
 
@@ -87,6 +91,7 @@
         android:icon="@*android:drawable/ic_audio_alarm"
         android:title="@string/alarm_volume_option_title"
         android:order="-140"
+        settings:userRestriction="no_adjust_volume"
         settings:controller="com.android.settings.notification.AlarmVolumePreferenceController"/>
 
     <!-- TODO(b/174964721): make this a PrimarySwitchPreference -->
@@ -164,37 +169,37 @@
         android:order="-60"/>
 
     <!-- Dial pad tones -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="dial_pad_tones"
         android:title="@string/dial_pad_tones_title"
         android:order="-50"/>
 
     <!-- Screen locking sounds -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="screen_locking_sounds"
         android:title="@string/screen_locking_sounds_title"
         android:order="-45"/>
 
     <!-- Charging sounds -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="charging_sounds"
         android:title="@string/charging_sounds_title"
         android:order="-40"/>
 
     <!-- Docking sounds -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="docking_sounds"
         android:title="@string/docking_sounds_title"
         android:order="-35"/>
 
     <!-- Touch sounds -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="touch_sounds"
         android:title="@string/touch_sounds_title"
         android:order="-30"/>
 
     <!-- Show vibrate icon in status bar -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="vibrate_icon"
         android:title="@string/vibrate_icon_title"
         android:order="-27"/>
@@ -207,7 +212,7 @@
         android:order="-20"/>
 
     <!-- Boot sounds -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="boot_sounds"
         android:title="@string/boot_sounds_title"
         android:order="-15"/>
diff --git a/res/xml/sound_work_settings.xml b/res/xml/sound_work_settings.xml
index 8e48fac..a7ab57a 100644
--- a/res/xml/sound_work_settings.xml
+++ b/res/xml/sound_work_settings.xml
@@ -19,7 +19,7 @@
     android:title="@string/sound_work_settings">
 
     <!-- Use the same sounds of the work profile -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="work_use_personal_sounds"
         android:title="@string/work_use_personal_sounds_title"
         android:summary="@string/work_use_personal_sounds_summary"
diff --git a/res/xml/spatial_audio_settings.xml b/res/xml/spatial_audio_settings.xml
index 13d3b25..7355f98 100644
--- a/res/xml/spatial_audio_settings.xml
+++ b/res/xml/spatial_audio_settings.xml
@@ -24,12 +24,12 @@
         android:title="@string/spatial_audio_text"
         settings:searchable="false"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="spatial_audio"
         android:title="@string/spatial_audio_speaker"
         settings:controller="com.android.settings.notification.SpatialAudioPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="spatial_audio_wired_headphones"
         android:title="@string/spatial_audio_wired_headphones"
         settings:controller="com.android.settings.notification.SpatialAudioWiredHeadphonesController"/>
diff --git a/res/xml/special_access.xml b/res/xml/special_access.xml
index b3f3f7d..d522ef6 100644
--- a/res/xml/special_access.xml
+++ b/res/xml/special_access.xml
@@ -20,6 +20,14 @@
     android:title="@string/special_access">
 
     <Preference
+        android:key="run_backup_tasks"
+        android:title="@string/run_backup_tasks_title"
+        android:order="-2000"
+        settings:keywords="@string/keywords_run_backup_tasks"
+        settings:controller="com.android.settings.spa.app.specialaccess.BackupTasksAppsPreferenceController">
+    </Preference>
+
+    <Preference
         android:key="manage_external_storage"
         android:title="@string/manage_external_storage_title"
         android:order="-1900"
@@ -95,11 +103,23 @@
         settings:controller="com.android.settings.applications.specialaccess.notificationaccess.NotificationAccessController" />
 
     <Preference
+        android:key="media_routing_control"
+        android:title="@string/media_routing_control_title"
+        android:order="-1100"
+        settings:controller="com.android.settings.applications.specialaccess.MediaRoutingControlPreferenceController" >
+    </Preference>
+
+    <Preference
         android:key="use_full_screen_intent"
         android:title="@string/full_screen_intent_title"
         settings:controller="com.android.settings.spa.app.specialaccess.UseFullScreenIntentPreferenceController" />
 
     <Preference
+        android:key="voice_activation_apps"
+        android:title="@string/voice_activation_apps_title"
+        settings:controller="com.android.settings.spa.app.specialaccess.VoiceActivationAppsPreferenceController" />
+
+    <Preference
         android:key="picture_in_picture"
         android:title="@string/picture_in_picture_title"
         android:order="-1100"
diff --git a/res/xml/swipe_to_notification_settings.xml b/res/xml/swipe_to_notification_settings.xml
index 9d681a1..766a894 100644
--- a/res/xml/swipe_to_notification_settings.xml
+++ b/res/xml/swipe_to_notification_settings.xml
@@ -26,7 +26,7 @@
         settings:searchable="false"
         app:lottie_rawRes="@raw/lottie_swipe_fingerprint"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_swipe_down_fingerprint"
         android:title="@string/fingerprint_swipe_for_notifications_title"
         android:summary="@string/fingerprint_swipe_for_notifications_summary"
diff --git a/res/xml/system_dashboard_fragment.xml b/res/xml/system_dashboard_fragment.xml
index 1f5559f..a2cb8fa 100644
--- a/res/xml/system_dashboard_fragment.xml
+++ b/res/xml/system_dashboard_fragment.xml
@@ -93,6 +93,19 @@
     </Preference>
 
     <Preference
+        android:key="system_multiuser"
+        android:title="@string/user_settings_title"
+        android:icon="@drawable/ic_settings_multiuser"
+        android:order="-45"
+        android:fragment="com.android.settings.users.UserSettings"
+        settings:controller="com.android.settings.users.MultiUserPreferenceController"/>
+
+    <com.android.settings.spa.preference.ComposePreference
+        android:key="developer_options"
+        android:order="-40"
+        settings:controller="com.android.settings.system.DeveloperOptionsController"/>
+
+    <Preference
         android:key="reset_dashboard"
         android:title="@string/reset_dashboard_title"
         android:icon="@drawable/ic_restore"
diff --git a/res/xml/tap_screen_gesture_settings.xml b/res/xml/tap_screen_gesture_settings.xml
index 468b416..6b2674b 100644
--- a/res/xml/tap_screen_gesture_settings.xml
+++ b/res/xml/tap_screen_gesture_settings.xml
@@ -26,7 +26,7 @@
         settings:searchable="false"
         app:lottie_rawRes="@raw/lottie_tap_to_check_phone"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_tap"
         android:title="@string/ambient_display_tap_screen_title"
         android:summary="@string/ambient_display_tap_screen_summary"
diff --git a/res/xml/terms_of_address.xml b/res/xml/terms_of_address.xml
new file mode 100644
index 0000000..a29a55c3
--- /dev/null
+++ b/res/xml/terms_of_address.xml
@@ -0,0 +1,46 @@
+<?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.
+-->
+
+<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">
+
+    <com.android.settingslib.widget.TopIntroPreference
+        android:title="@string/terms_of_address_intro_title"
+        android:persistent="false"/>
+
+    <com.android.settings.widget.TickButtonPreference
+        android:key="key_terms_of_address_not_specified"
+        android:title="@string/terms_of_address_not_specified"
+        settings:controller="com.android.settings.localepicker.TermsOfAddressNotSpecifiedController"/>
+
+    <com.android.settings.widget.TickButtonPreference
+        android:key="key_terms_of_address_feminine"
+        android:title="@string/terms_of_address_feminine"
+        settings:controller="com.android.settings.localepicker.TermsOfAddressFeminineController"/>
+
+    <com.android.settings.widget.TickButtonPreference
+        android:key="key_terms_of_address_masculine"
+        android:title="@string/terms_of_address_masculine"
+        settings:controller="com.android.settings.localepicker.TermsOfAddressMasculineController"/>
+
+    <com.android.settings.widget.TickButtonPreference
+        android:key="key_terms_of_address_neutral"
+        android:title="@string/terms_of_address_neutral"
+        settings:controller="com.android.settings.localepicker.TermsOfAddressNeutralController"/>
+
+</PreferenceScreen>
diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml
index a6e0a39..89bd631 100644
--- a/res/xml/tether_prefs.xml
+++ b/res/xml/tether_prefs.xml
@@ -37,13 +37,13 @@
         android:summary="@string/usb_tethering_subtext"
         settings:keywords="@string/keywords_hotspot_tethering" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="enable_bluetooth_tethering"
         android:title="@string/bluetooth_tether_checkbox_text"
         android:summary="@string/bluetooth_tethering_subtext"
         settings:keywords="@string/keywords_hotspot_tethering" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="enable_ethernet_tethering"
         android:title="@string/ethernet_tether_checkbox_text"
         android:summary="@string/ethernet_tethering_subtext"
diff --git a/res/xml/top_level_settings.xml b/res/xml/top_level_settings.xml
index d050a1f..31c6af3 100644
--- a/res/xml/top_level_settings.xml
+++ b/res/xml/top_level_settings.xml
@@ -180,7 +180,7 @@
         android:icon="@drawable/ic_settings_accounts"
         android:key="top_level_accounts"
         android:order="-10"
-        android:title="@string/account_dashboard_title"
+        android:title="@string/account_dashboard_title_with_passkeys"
         android:summary="@string/summary_placeholder"
         settings:highlightableMenuKey="@string/menu_key_accounts"
         settings:controller="com.android.settings.accounts.TopLevelAccountEntryPreferenceController"/>
diff --git a/res/xml/trackpad_gesture_settings.xml b/res/xml/trackpad_gesture_settings.xml
index 6cac7f6..c2cdbdf 100644
--- a/res/xml/trackpad_gesture_settings.xml
+++ b/res/xml/trackpad_gesture_settings.xml
@@ -19,7 +19,7 @@
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/trackpad_touchpad_gesture_title">
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_go_back"
         android:title="@string/trackpad_go_back_title"
         android:summary="@string/trackpad_go_back_summary"
@@ -27,7 +27,7 @@
         android:order="10"
         settings:controller="com.android.settings.inputmethod.TrackpadGoBackPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_go_home"
         android:title="@string/trackpad_go_home_title"
         android:summary="@string/trackpad_go_home_summary"
@@ -35,7 +35,7 @@
         android:order="20"
         settings:controller="com.android.settings.inputmethod.TrackpadGoHomePreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_recent_apps"
         android:title="@string/trackpad_recent_apps_title"
         android:summary="@string/trackpad_recent_apps_summary"
@@ -43,7 +43,7 @@
         android:order="30"
         settings:controller="com.android.settings.inputmethod.TrackpadRecentAppsPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_notifications"
         android:title="@string/trackpad_notifications_title"
         android:summary="@string/trackpad_notifications_summary"
@@ -51,7 +51,7 @@
         android:order="40"
         settings:controller="com.android.settings.inputmethod.TrackpadNotificationsPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="gesture_switch_apps"
         android:title="@string/trackpad_switch_apps_title"
         android:summary="@string/trackpad_switch_apps_summary"
diff --git a/res/xml/trackpad_settings.xml b/res/xml/trackpad_settings.xml
index 19ce259..cca92a3 100644
--- a/res/xml/trackpad_settings.xml
+++ b/res/xml/trackpad_settings.xml
@@ -28,14 +28,14 @@
         android:fragment="com.android.settings.inputmethod.TrackpadTouchGestureSettings"
         settings:controller="com.android.settings.inputmethod.TrackpadTouchGestureSettingsController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="trackpad_tap_to_click"
         android:title="@string/trackpad_tap_to_click"
         android:icon="@drawable/ic_trackpad_tap_to_click"
         settings:controller="com.android.settings.inputmethod.TrackpadTapToClickPreferenceController"
         android:order="10"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="trackpad_reverse_scrolling"
         android:title="@string/trackpad_reverse_scrolling_title"
         android:summary="@string/trackpad_reverse_scrolling_summary"
@@ -43,13 +43,14 @@
         settings:controller="com.android.settings.inputmethod.TrackpadReverseScrollingPreferenceController"
         android:order="20"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="trackpad_bottom_right_tap"
         android:title="@string/trackpad_bottom_right_tap_title"
         android:summary="@string/trackpad_bottom_right_tap_summary"
         android:icon="@drawable/ic_trackpad_bottom_right_click"
         settings:controller="com.android.settings.inputmethod.TrackpadBottomPreferenceController"
-        android:order="30"/>
+        android:order="30"
+        settings:keywords="@string/keywords_trackpad_bottom_right_tap"/>
 
     <com.android.settings.widget.SeekBarPreference
         android:key="trackpad_pointer_speed"
@@ -64,4 +65,4 @@
         android:title="@string/trackpad_touch_gesture"
         android:icon="@drawable/ic_trackpad_touch_gestures_inverse"
         settings:controller="com.android.settings.inputmethod.TouchGesturesButtonPreferenceController"/>
-</PreferenceScreen>
\ No newline at end of file
+</PreferenceScreen>
diff --git a/res/xml/transcode_settings.xml b/res/xml/transcode_settings.xml
index 5c3bb7c..dd57515 100644
--- a/res/xml/transcode_settings.xml
+++ b/res/xml/transcode_settings.xml
@@ -21,27 +21,27 @@
     android:title="@string/transcode_settings_title"
     settings:searchable="false">
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="transcode_user_control"
         android:title="@string/transcode_user_control"
         settings:controller="com.android.settings.development.transcode.TranscodeUserControlPreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="transcode_enable_all"
         android:title="@string/transcode_enable_all"
         settings:controller="com.android.settings.development.transcode.TranscodeGlobalTogglePreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="transcode_default"
         android:title="@string/transcode_default"
         settings:controller="com.android.settings.development.transcode.TranscodeDefaultOptionPreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="transcode_notification"
         android:title="@string/transcode_notification"
         settings:controller="com.android.settings.development.transcode.TranscodeNotificationPreferenceController" />
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="transcode_disable_cache"
         android:title="@string/transcode_disable_cache"
         settings:controller="com.android.settings.development.transcode.TranscodeDisableCachePreferenceController" />
diff --git a/res/xml/user_details_settings.xml b/res/xml/user_details_settings.xml
index 068039c..8e15d14 100644
--- a/res/xml/user_details_settings.xml
+++ b/res/xml/user_details_settings.xml
@@ -21,11 +21,11 @@
     <com.android.settingslib.RestrictedPreference
             android:key="switch_user"
             android:icon="@drawable/ic_swap" />
-    <SwitchPreference
+    <SwitchPreferenceCompat
             android:key="user_grant_admin"
             android:icon="@drawable/ic_admin_panel_settings"
             android:title="@string/user_grant_admin" />
-    <SwitchPreference
+    <SwitchPreferenceCompat
             android:key="enable_calling"
             android:icon="@drawable/ic_phone"
             android:title="@string/user_enable_calling_sms" />
diff --git a/res/xml/widevine_settings.xml b/res/xml/widevine_settings.xml
new file mode 100644
index 0000000..3c577d8
--- /dev/null
+++ b/res/xml/widevine_settings.xml
@@ -0,0 +1,29 @@
+<?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.
+  -->
+
+<PreferenceScreen
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    xmlns:settings="http://schemas.android.com/apk/res-auto"
+    android:title="@string/widevine_settings_title"
+    settings:searchable="false">
+
+    <SwitchPreferenceCompat
+        android:key="force_l3_fallback"
+        android:title="@string/force_l3_fallback_title"
+        android:summary="@string/force_l3_fallback_summary"
+        settings:controller="com.android.settings.development.widevine.ForceL3FallbackPreferenceController" />
+</PreferenceScreen>
\ No newline at end of file
diff --git a/res/xml/wifi_configure_settings.xml b/res/xml/wifi_configure_settings.xml
index 2ab7b6a..5866c58 100644
--- a/res/xml/wifi_configure_settings.xml
+++ b/res/xml/wifi_configure_settings.xml
@@ -19,14 +19,14 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto"
     android:title="@string/wifi_configure_settings_preference_title">
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="enable_wifi_wakeup"
         android:title="@string/wifi_wakeup"
         android:icon="@drawable/ic_auto_wifi"
         android:summary="@string/wifi_wakeup_summary"
         settings:controller="com.android.settings.wifi.WifiWakeupPreferenceController"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="notify_open_networks"
         android:title="@string/wifi_notify_open_networks"
         android:icon="@drawable/ic_open_wifi_notifications"
@@ -34,7 +34,12 @@
         settings:keywords="@string/keywords_wifi_notify_open_networks"
         settings:controller="com.android.settings.wifi.NotifyOpenNetworksPreferenceController"/>
 
-    <SwitchPreference
+    <com.android.settings.spa.preference.ComposePreference
+        android:key="allow_wep_networks"
+        android:title="@string/wifi_allow_wep_networks"
+        settings:controller="com.android.settings.wifi.WepNetworksPreferenceController"/>
+
+    <SwitchPreferenceCompat
         android:key="wifi_cellular_data_fallback"
         android:title="@string/wifi_cellular_data_fallback_title"
         android:summary="@string/wifi_cellular_data_fallback_summary"
diff --git a/res/xml/wifi_network_details_fragment2.xml b/res/xml/wifi_network_details_fragment2.xml
index 0062474..daff20f 100644
--- a/res/xml/wifi_network_details_fragment2.xml
+++ b/res/xml/wifi_network_details_fragment2.xml
@@ -102,7 +102,7 @@
         android:title="@string/wifi_subscription"
         android:summary="@string/wifi_subscription_summary"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="auto_connect"
         android:title="@string/wifi_auto_connect_title"
         android:summary="@string/wifi_auto_connect_summary"/>
@@ -169,15 +169,11 @@
                 settings:enableCopying="true"/>
     </PreferenceCategory>
 
-    <!-- IPv6 Details -->
-    <PreferenceCategory
-            android:key="ipv6_category"
-            android:title="@string/wifi_details_ipv6_address_header"
-            android:selectable="false">
-        <Preference
-                android:key="ipv6_addresses"
-                android:selectable="false"
-                settings:enableCopying="true"/>
-    </PreferenceCategory>
+    <!-- IPv6 address -->
+    <Preference
+        android:title="@string/wifi_details_ipv6_address_header"
+        android:key="ipv6_addresses"
+        android:selectable="false"
+        settings:enableCopying="true"/>
 
 </PreferenceScreen>
diff --git a/res/xml/wifi_settings.xml b/res/xml/wifi_settings.xml
deleted file mode 100644
index eadea68..0000000
--- a/res/xml/wifi_settings.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!-- Copyright (C) 2010 The Android Open Source Project
-
-     Licensed under the Apache License, Version 2.0 (the "License");
-     you may not use this file except in compliance with the License.
-     You may obtain a copy of the License at
-
-          http://www.apache.org/licenses/LICENSE-2.0
-
-     Unless required by applicable law or agreed to in writing, software
-     distributed under the License is distributed on an "AS IS" BASIS,
-     WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-     See the License for the specific language governing permissions and
-     limitations under the License.
--->
-
-<PreferenceScreen
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:title="@string/wifi_settings"
-        settings:keywords="@string/keywords_wifi">
-
-    <com.android.settings.wifi.LinkablePreference
-        android:key="wifi_status_message"/>
-
-    <PreferenceCategory
-        android:key="connected_access_point"
-        android:layout="@layout/preference_category_no_label"/>
-
-    <PreferenceCategory
-        android:key="access_points"
-        android:layout="@layout/preference_category_no_label"/>
-
-    <Preference
-        android:key="configure_wifi_settings"
-        android:title="@string/wifi_configure_settings_preference_title"
-        settings:allowDividerAbove="true"
-        android:fragment="com.android.settings.wifi.ConfigureWifiSettings"/>
-
-    <Preference
-        android:key="saved_networks"
-        android:title="@string/wifi_saved_access_points_label"
-        android:fragment="com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2"/>
-
-    <com.android.settings.datausage.DataUsagePreference
-        android:key="wifi_data_usage"
-        android:title="@string/wifi_data_usage"/>
-</PreferenceScreen>
diff --git a/res/xml/wifi_tether_settings.xml b/res/xml/wifi_tether_settings.xml
index b8b810f..4924bf9 100644
--- a/res/xml/wifi_tether_settings.xml
+++ b/res/xml/wifi_tether_settings.xml
@@ -44,12 +44,12 @@
         android:persistent="false"
         android:title="@string/wifi_hotspot_password_title"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="wifi_tether_auto_turn_off"
         android:title="@string/wifi_hotspot_auto_off_title"
         android:summary="@string/wifi_hotspot_auto_off_summary"/>
 
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="wifi_tether_maximize_compatibility"
         android:title="@string/wifi_hotspot_maximize_compatibility"/>
 
diff --git a/res/xml/zen_mode_calls_settings.xml b/res/xml/zen_mode_calls_settings.xml
index a0b39a9c..447353e 100644
--- a/res/xml/zen_mode_calls_settings.xml
+++ b/res/xml/zen_mode_calls_settings.xml
@@ -29,7 +29,7 @@
     </PreferenceCategory>
 
     <!-- Repeat callers -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="zen_mode_repeat_callers"
         android:title="@string/zen_mode_repeat_callers_title"
         settings:allowDividerAbove="true"/>
diff --git a/res/xml/zen_mode_custom_rule_calls_settings.xml b/res/xml/zen_mode_custom_rule_calls_settings.xml
index 4dca2ad..4bc3cb6 100644
--- a/res/xml/zen_mode_custom_rule_calls_settings.xml
+++ b/res/xml/zen_mode_custom_rule_calls_settings.xml
@@ -35,7 +35,7 @@
             android:title="@string/zen_mode_starred_contacts_title"/>
 
         <!-- Repeat callers -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="zen_mode_repeat_callers"
             android:title="@string/zen_mode_repeat_callers_title" />
     </PreferenceCategory>
diff --git a/res/xml/zen_mode_custom_rule_configuration.xml b/res/xml/zen_mode_custom_rule_configuration.xml
index 664c09a..906d642 100644
--- a/res/xml/zen_mode_custom_rule_configuration.xml
+++ b/res/xml/zen_mode_custom_rule_configuration.xml
@@ -34,31 +34,31 @@
             android:title="@string/zen_mode_messages" />
 
         <!-- Alarms -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="zen_rule_alarms"
             android:title="@string/zen_mode_alarms"
             android:summary="@string/zen_mode_alarms_summary"/>
 
         <!-- Media -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="zen_rule_media"
             android:title="@string/zen_mode_media"
             android:summary="@string/zen_mode_media_summary"/>
 
         <!-- System -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="zen_rule_system"
             android:title="@string/zen_mode_system"
             android:summary="@string/zen_mode_system_summary"/>
 
         <!-- Reminders -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="zen_rule_reminders"
             android:title="@string/zen_mode_reminders"
             android:summary="@string/zen_mode_reminders_summary"/>
 
         <!-- Events -->
-        <SwitchPreference
+        <SwitchPreferenceCompat
             android:key="zen_rule_events"
             android:title="@string/zen_mode_events"
             android:summary="@string/zen_mode_events_summary"/>
diff --git a/res/xml/zen_mode_schedule_rule_settings.xml b/res/xml/zen_mode_schedule_rule_settings.xml
index 874f5c9..82483f3 100644
--- a/res/xml/zen_mode_schedule_rule_settings.xml
+++ b/res/xml/zen_mode_schedule_rule_settings.xml
@@ -42,7 +42,7 @@
     <!-- Start time/End time added and removed here! :-) -->
 
     <!-- Exit DND mode with alarm -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="exit_at_alarm"
         android:title="@string/zen_mode_schedule_alarm_title"
         android:summary="@string/zen_mode_schedule_alarm_summary"
diff --git a/res/xml/zen_mode_sound_vibration_settings.xml b/res/xml/zen_mode_sound_vibration_settings.xml
index 2db42ac..ab22159 100644
--- a/res/xml/zen_mode_sound_vibration_settings.xml
+++ b/res/xml/zen_mode_sound_vibration_settings.xml
@@ -20,29 +20,29 @@
     android:title="@string/zen_category_exceptions" >
 
     <!-- Alarms -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="zen_mode_alarms"
         android:title="@string/zen_mode_alarms"/>
 
     <!-- Media -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="zen_mode_media"
         android:title="@string/zen_mode_media"
         android:summary="@string/zen_mode_media_summary"/>
 
     <!-- System -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="zen_mode_system"
         android:title="@string/zen_mode_system"
         android:summary="@string/zen_mode_system_summary"/>
 
     <!-- Reminders -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="zen_mode_reminders"
         android:title="@string/zen_mode_reminders"/>
 
     <!-- Events -->
-    <SwitchPreference
+    <SwitchPreferenceCompat
         android:key="zen_mode_events"
         android:title="@string/zen_mode_events"/>
 
diff --git a/src/com/android/settings/ActionDisabledByAppOpsDialog.java b/src/com/android/settings/ActionDisabledByAppOpsDialog.java
index 15b8503..be3558e 100644
--- a/src/com/android/settings/ActionDisabledByAppOpsDialog.java
+++ b/src/com/android/settings/ActionDisabledByAppOpsDialog.java
@@ -21,7 +21,6 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
-import android.util.Log;
 
 public class ActionDisabledByAppOpsDialog extends Activity
         implements DialogInterface.OnDismissListener {
diff --git a/src/com/android/settings/AirplaneModeEnabler.java b/src/com/android/settings/AirplaneModeEnabler.java
index 735ae23..c233dda 100644
--- a/src/com/android/settings/AirplaneModeEnabler.java
+++ b/src/com/android/settings/AirplaneModeEnabler.java
@@ -29,6 +29,7 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.network.GlobalSettingsChangeListener;
 import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.overlay.FeatureFactory;
@@ -67,7 +68,7 @@
         super(context, Settings.Global.AIRPLANE_MODE_ON);
 
         mContext = context;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mOnAirplaneModeChangedListener = listener;
 
         mTelephonyManager = context.getSystemService(TelephonyManager.class);
@@ -146,8 +147,19 @@
      * @return any subscription within device is under ECM mode
      */
     public boolean isInEcmMode() {
-        if (mTelephonyManager.getEmergencyCallbackMode()) {
-            return true;
+        if (Flags.enforceTelephonyFeatureMappingForPublicApis()) {
+            try {
+                if (mTelephonyManager.getEmergencyCallbackMode()) {
+                    return true;
+                }
+            } catch (UnsupportedOperationException e) {
+                // Device doesn't support FEATURE_TELEPHONY_CALLING
+                // Ignore exception, device is not in ECM mode.
+            }
+        } else {
+            if (mTelephonyManager.getEmergencyCallbackMode()) {
+                return true;
+            }
         }
         final List<SubscriptionInfo> subInfoList =
                 ProxySubscriptionManager.getInstance(mContext).getActiveSubscriptionsInfo();
@@ -158,8 +170,18 @@
             final TelephonyManager telephonyManager =
                     mTelephonyManager.createForSubscriptionId(subInfo.getSubscriptionId());
             if (telephonyManager != null) {
-                if (telephonyManager.getEmergencyCallbackMode()) {
-                    return true;
+                if (!Flags.enforceTelephonyFeatureMappingForPublicApis()) {
+                    if (telephonyManager.getEmergencyCallbackMode()) {
+                        return true;
+                    }
+                } else {
+                    try {
+                        if (telephonyManager.getEmergencyCallbackMode()) {
+                            return true;
+                        }
+                    } catch (UnsupportedOperationException e) {
+                        // Ignore exception, device is not in ECM mode.
+                    }
                 }
             }
         }
diff --git a/src/com/android/settings/AllInOneTetherSettings.java b/src/com/android/settings/AllInOneTetherSettings.java
deleted file mode 100644
index f98fdc1..0000000
--- a/src/com/android/settings/AllInOneTetherSettings.java
+++ /dev/null
@@ -1,443 +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;
-
-import static android.net.ConnectivityManager.TETHERING_WIFI;
-import static android.net.TetheringManager.ACTION_TETHER_STATE_CHANGED;
-import static android.net.wifi.WifiManager.WIFI_AP_STATE_CHANGED_ACTION;
-
-import android.app.settings.SettingsEnums;
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.wifi.SoftApConfiguration;
-import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.os.UserManager;
-import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.dashboard.RestrictedDashboardFragment;
-import com.android.settings.datausage.DataSaverBackend;
-import com.android.settings.network.BluetoothTetherPreferenceController;
-import com.android.settings.network.EthernetTetherPreferenceController;
-import com.android.settings.network.TetherEnabler;
-import com.android.settings.network.UsbTetherPreferenceController;
-import com.android.settings.network.WifiTetherDisablePreferenceController;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.widget.MainSwitchBarController;
-import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settings.wifi.tether.WifiTetherApBandPreferenceController;
-import com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceController;
-import com.android.settings.wifi.tether.WifiTetherBasePreferenceController;
-import com.android.settings.wifi.tether.WifiTetherFooterPreferenceController;
-import com.android.settings.wifi.tether.WifiTetherPasswordPreferenceController;
-import com.android.settings.wifi.tether.WifiTetherSSIDPreferenceController;
-import com.android.settings.wifi.tether.WifiTetherSecurityPreferenceController;
-import com.android.settingslib.TetherUtil;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicReference;
-
-/**
- * Displays preferences for all Tethering options.
- */
-@SearchIndexable
-public class AllInOneTetherSettings extends RestrictedDashboardFragment
-        implements DataSaverBackend.Listener,
-        WifiTetherBasePreferenceController.OnTetherConfigUpdateListener {
-
-    // TODO(b/148622133): Should clean up the postfix once this fragment replaced TetherSettings.
-    public static final String DEDUP_POSTFIX = "_2";
-
-    @VisibleForTesting
-    static final String KEY_WIFI_TETHER_NETWORK_NAME = "wifi_tether_network_name" + DEDUP_POSTFIX;
-    @VisibleForTesting
-    static final String KEY_WIFI_TETHER_NETWORK_PASSWORD =
-            "wifi_tether_network_password" + DEDUP_POSTFIX;
-    @VisibleForTesting
-    static final String KEY_WIFI_TETHER_AUTO_OFF = "wifi_tether_auto_turn_off" + DEDUP_POSTFIX;
-    @VisibleForTesting
-    static final String KEY_WIFI_TETHER_NETWORK_AP_BAND =
-            "wifi_tether_network_ap_band" + DEDUP_POSTFIX;
-    @VisibleForTesting
-    static final String KEY_WIFI_TETHER_SECURITY = "wifi_tether_security" + DEDUP_POSTFIX;
-
-    private static final String KEY_DATA_SAVER_FOOTER = "disabled_on_data_saver" + DEDUP_POSTFIX;
-    private static final String KEY_WIFI_TETHER_GROUP = "wifi_tether_settings_group";
-    public static final String WIFI_TETHER_DISABLE_KEY = "disable_wifi_tethering";
-    public static final String USB_TETHER_KEY = "enable_usb_tethering";
-    public static final String BLUETOOTH_TETHER_KEY = "enable_bluetooth_tethering" + DEDUP_POSTFIX;
-    public static final String ETHERNET_TETHER_KEY = "enable_ethernet_tethering" + DEDUP_POSTFIX;
-
-    @VisibleForTesting
-    static final int EXPANDED_CHILD_COUNT_DEFAULT = 4;
-    @VisibleForTesting
-    static final int EXPANDED_CHILD_COUNT_WITH_SECURITY_NON = 3;
-    @VisibleForTesting
-    static final int EXPANDED_CHILD_COUNT_MAX = Integer.MAX_VALUE;
-    private static final String TAG = "AllInOneTetherSettings";
-
-    private boolean mUnavailable;
-
-    private DataSaverBackend mDataSaverBackend;
-    private boolean mDataSaverEnabled;
-    private Preference mDataSaverFooter;
-
-    private WifiManager mWifiManager;
-    private boolean mRestartWifiApAfterConfigChange;
-    private final AtomicReference<BluetoothPan> mBluetoothPan = new AtomicReference<>();
-
-    private WifiTetherSSIDPreferenceController mSSIDPreferenceController;
-    private WifiTetherPasswordPreferenceController mPasswordPreferenceController;
-    private WifiTetherApBandPreferenceController mApBandPreferenceController;
-    private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
-    private PreferenceGroup mWifiTetherGroup;
-    private boolean mShouldShowWifiConfig = true;
-    private boolean mHasShownAdvance;
-    private TetherEnabler mTetherEnabler;
-    @VisibleForTesting
-    final TetherEnabler.OnTetherStateUpdateListener mStateUpdateListener =
-            state -> {
-                mShouldShowWifiConfig = TetherEnabler.isTethering(state, TETHERING_WIFI)
-                        || state == TetherEnabler.TETHERING_OFF;
-                getPreferenceScreen().setInitialExpandedChildrenCount(
-                        getInitialExpandedChildCount());
-                mWifiTetherGroup.setVisible(mShouldShowWifiConfig);
-            };
-
-    private final BroadcastReceiver mTetherChangeReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context content, Intent intent) {
-            String action = intent.getAction();
-            if (Log.isLoggable(TAG, Log.DEBUG)) {
-                Log.d(TAG,
-                        "updating display config due to receiving broadcast action " + action);
-            }
-            updateDisplayWithNewConfig();
-            if (TextUtils.equals(action, ACTION_TETHER_STATE_CHANGED)) {
-                restartWifiTetherIfNeed(mWifiManager.getWifiApState());
-            } else if (TextUtils.equals(action, WIFI_AP_STATE_CHANGED_ACTION)) {
-                restartWifiTetherIfNeed(intent.getIntExtra(WifiManager.EXTRA_WIFI_AP_STATE, 0));
-            }
-        }
-
-        private void restartWifiTetherIfNeed(int state) {
-            if (state == WifiManager.WIFI_AP_STATE_DISABLED
-                    && mRestartWifiApAfterConfigChange) {
-                mRestartWifiApAfterConfigChange = false;
-                mTetherEnabler.startTethering(TETHERING_WIFI);
-            }
-        }
-    };
-
-    private final BluetoothProfile.ServiceListener mProfileServiceListener =
-            new BluetoothProfile.ServiceListener() {
-                public void onServiceConnected(int profile, BluetoothProfile proxy) {
-                    mBluetoothPan.set((BluetoothPan) proxy);
-                }
-
-                public void onServiceDisconnected(int profile) {
-                    mBluetoothPan.set(null);
-                }
-            };
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.TETHER;
-    }
-
-    public AllInOneTetherSettings() {
-        super(UserManager.DISALLOW_CONFIG_TETHERING);
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        mWifiManager = (WifiManager) context.getSystemService(Context.WIFI_SERVICE);
-
-        mSSIDPreferenceController = use(WifiTetherSSIDPreferenceController.class);
-        mSecurityPreferenceController = use(WifiTetherSecurityPreferenceController.class);
-        mPasswordPreferenceController = use(WifiTetherPasswordPreferenceController.class);
-        mApBandPreferenceController = use(WifiTetherApBandPreferenceController.class);
-        getSettingsLifecycle().addObserver(use(UsbTetherPreferenceController.class));
-        getSettingsLifecycle().addObserver(use(BluetoothTetherPreferenceController.class));
-        getSettingsLifecycle().addObserver(use(EthernetTetherPreferenceController.class));
-        getSettingsLifecycle().addObserver(use(WifiTetherDisablePreferenceController.class));
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-        mDataSaverBackend = new DataSaverBackend(getContext());
-        mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
-        mDataSaverFooter = findPreference(KEY_DATA_SAVER_FOOTER);
-        mWifiTetherGroup = findPreference(KEY_WIFI_TETHER_GROUP);
-
-        setIfOnlyAvailableForAdmins(true);
-        if (isUiRestricted()) {
-            mUnavailable = true;
-            return;
-        }
-
-        mDataSaverBackend.addListener(this);
-
-        // Set initial state based on Data Saver mode.
-        onDataSaverChanged(mDataSaverBackend.isDataSaverEnabled());
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-        if (mUnavailable) {
-            return;
-        }
-        // Assume we are in a SettingsActivity. This is only safe because we currently use
-        // SettingsActivity as base for all preference fragments.
-        final SettingsActivity activity = (SettingsActivity) getActivity();
-        final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
-        if (adapter != null) {
-            adapter.getProfileProxy(activity.getApplicationContext(), mProfileServiceListener,
-                    BluetoothProfile.PAN);
-        }
-        final SettingsMainSwitchBar mainSwitch = activity.getSwitchBar();
-        mTetherEnabler = new TetherEnabler(activity,
-                new MainSwitchBarController(mainSwitch), mBluetoothPan);
-        getSettingsLifecycle().addObserver(mTetherEnabler);
-        use(UsbTetherPreferenceController.class).setTetherEnabler(mTetherEnabler);
-        use(BluetoothTetherPreferenceController.class).setTetherEnabler(mTetherEnabler);
-        use(EthernetTetherPreferenceController.class).setTetherEnabler(mTetherEnabler);
-        use(WifiTetherDisablePreferenceController.class).setTetherEnabler(mTetherEnabler);
-        mainSwitch.show();
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-
-        if (mUnavailable) {
-            if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.tethering_settings_not_available);
-            }
-            getPreferenceScreen().removeAll();
-            return;
-        }
-        final Context context = getContext();
-        if (context != null) {
-            // The intent WIFI_AP_STATE_CHANGED_ACTION is not sticky intent after SC-V2
-            // But ACTION_TETHER_STATE_CHANGED is still sticky intent. So no need to handle
-            // initial state for WIFI_AP_STATE_CHANGED_ACTION
-            IntentFilter filter = new IntentFilter(ACTION_TETHER_STATE_CHANGED);
-            filter.addAction(WIFI_AP_STATE_CHANGED_ACTION);
-            context.registerReceiver(mTetherChangeReceiver, filter);
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        if (mUnavailable) {
-            return;
-        }
-        if (mTetherEnabler != null) {
-            mTetherEnabler.addListener(mStateUpdateListener);
-        }
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        if (mUnavailable) {
-            return;
-        }
-        if (mTetherEnabler != null) {
-            mTetherEnabler.removeListener(mStateUpdateListener);
-        }
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        if (mUnavailable) {
-            return;
-        }
-        final Context context = getContext();
-        if (context != null) {
-            context.unregisterReceiver(mTetherChangeReceiver);
-        }
-    }
-
-    @Override
-    public void onDestroy() {
-        mDataSaverBackend.remListener(this);
-        super.onDestroy();
-    }
-
-    @Override
-    public void onDataSaverChanged(boolean isDataSaving) {
-        mDataSaverEnabled = isDataSaving;
-        mDataSaverFooter.setVisible(mDataSaverEnabled);
-    }
-
-    @Override
-    public void onAllowlistStatusChanged(int uid, boolean isAllowlisted) {
-        // Do nothing
-    }
-
-    @Override
-    public void onDenylistStatusChanged(int uid, boolean isDenylisted) {
-        // Do nothing
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, this);
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            WifiTetherBasePreferenceController.OnTetherConfigUpdateListener listener) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.add(
-                new WifiTetherSSIDPreferenceController(context, listener));
-        controllers.add(
-                new WifiTetherPasswordPreferenceController(context, listener));
-        controllers.add(
-                new WifiTetherApBandPreferenceController(context, listener));
-        controllers.add(
-                new WifiTetherSecurityPreferenceController(context, listener));
-        controllers.add(
-                new WifiTetherAutoOffPreferenceController(context, KEY_WIFI_TETHER_AUTO_OFF));
-        controllers.add(
-                new WifiTetherFooterPreferenceController(context));
-
-        return controllers;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.all_tether_prefs;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_url_tether;
-    }
-
-    @Override
-    public void onTetherConfigUpdated(AbstractPreferenceController controller) {
-        final SoftApConfiguration config = buildNewConfig();
-        mPasswordPreferenceController.setSecurityType(config.getSecurityType());
-        mWifiManager.setSoftApConfiguration(config);
-
-        if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) {
-            if (Log.isLoggable(TAG, Log.DEBUG)) {
-                Log.d(TAG, "Wifi AP config changed while enabled, stop and restart");
-            }
-            mRestartWifiApAfterConfigChange = true;
-            mTetherEnabler.stopTethering(TETHERING_WIFI);
-        }
-    }
-
-    private SoftApConfiguration buildNewConfig() {
-        final SoftApConfiguration.Builder configBuilder = new SoftApConfiguration.Builder();
-        final int securityType = mSecurityPreferenceController.getSecurityType();
-        configBuilder.setSsid(mSSIDPreferenceController.getSSID());
-        if (securityType == SoftApConfiguration.SECURITY_TYPE_WPA2_PSK) {
-            configBuilder.setPassphrase(
-                    mPasswordPreferenceController.getPasswordValidated(securityType),
-                    SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
-        }
-        configBuilder.setBand(mApBandPreferenceController.getBandIndex());
-        return configBuilder.build();
-    }
-
-    private void updateDisplayWithNewConfig() {
-        mSSIDPreferenceController.updateDisplay();
-        mSecurityPreferenceController.updateDisplay();
-        mPasswordPreferenceController.updateDisplay();
-        mApBandPreferenceController.updateDisplay();
-    }
-
-    @Override
-    public int getInitialExpandedChildCount() {
-        if (mHasShownAdvance || !mShouldShowWifiConfig) {
-            mHasShownAdvance = true;
-            return EXPANDED_CHILD_COUNT_MAX;
-        }
-
-        if (mSecurityPreferenceController == null) {
-            return EXPANDED_CHILD_COUNT_DEFAULT;
-        }
-
-        return (mSecurityPreferenceController.getSecurityType()
-                == SoftApConfiguration.SECURITY_TYPE_OPEN)
-                ? EXPANDED_CHILD_COUNT_WITH_SECURITY_NON : EXPANDED_CHILD_COUNT_DEFAULT;
-    }
-
-    @Override
-    public void onExpandButtonClick() {
-        super.onExpandButtonClick();
-        mHasShownAdvance = true;
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.all_tether_prefs) {
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-
-                    if (!TetherUtil.isTetherAvailable(context)) {
-                        keys.add(KEY_WIFI_TETHER_NETWORK_NAME);
-                        keys.add(KEY_WIFI_TETHER_NETWORK_PASSWORD);
-                        keys.add(KEY_WIFI_TETHER_AUTO_OFF);
-                        keys.add(KEY_WIFI_TETHER_NETWORK_AP_BAND);
-                        keys.add(KEY_WIFI_TETHER_SECURITY);
-                    }
-                    return keys;
-                }
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context, null /*listener*/);
-                }
-            };
-}
diff --git a/src/com/android/settings/BugreportPreference.java b/src/com/android/settings/BugreportPreference.java
index 598399a..3c3e608 100644
--- a/src/com/android/settings/BugreportPreference.java
+++ b/src/com/android/settings/BugreportPreference.java
@@ -87,7 +87,7 @@
             final Context context = getContext();
             if (mFullTitle.isChecked()) {
                 Log.v(TAG, "Taking full bugreport right away");
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                         SettingsEnums.ACTION_BUGREPORT_FROM_SETTINGS_FULL);
                 try {
                     ActivityManager.getService().requestFullBugReport();
@@ -96,7 +96,7 @@
                 }
             } else {
                 Log.v(TAG, "Taking interactive bugreport right away");
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                         SettingsEnums.ACTION_BUGREPORT_FROM_SETTINGS_INTERACTIVE);
                 try {
                     ActivityManager.getService().requestInteractiveBugReport();
diff --git a/src/com/android/settings/CustomListPreference.java b/src/com/android/settings/CustomListPreference.java
index a21abdf..978858b 100644
--- a/src/com/android/settings/CustomListPreference.java
+++ b/src/com/android/settings/CustomListPreference.java
@@ -37,7 +37,6 @@
 
     public CustomListPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        setSingleLineTitle(true);
     }
 
     public CustomListPreference(Context context, AttributeSet attrs, int defStyleAttr,
diff --git a/src/com/android/settings/IccLockSettings.java b/src/com/android/settings/IccLockSettings.java
index 6592fe0..422610a 100644
--- a/src/com/android/settings/IccLockSettings.java
+++ b/src/com/android/settings/IccLockSettings.java
@@ -52,8 +52,9 @@
 import android.widget.TextView;
 import android.widget.Toast;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.network.SubscriptionUtil;
@@ -122,7 +123,7 @@
     private ProxySubscriptionManager mProxySubscriptionMgr;
 
     private EditPinPreference mPinDialog;
-    private SwitchPreference mPinToggle;
+    private TwoStatePreference mPinToggle;
 
     private Resources mRes;
 
@@ -193,7 +194,7 @@
         addPreferencesFromResource(R.xml.sim_lock_settings);
 
         mPinDialog = (EditPinPreference) findPreference(PIN_DIALOG);
-        mPinToggle = (SwitchPreference) findPreference(PIN_TOGGLE);
+        mPinToggle = (TwoStatePreference) findPreference(PIN_TOGGLE);
         if (savedInstanceState != null) {
             if (savedInstanceState.containsKey(DIALOG_STATE)
                     && restoreDialogStates(savedInstanceState)) {
@@ -716,13 +717,18 @@
         return slotId;
     }
 
+    @Nullable
     private SubscriptionInfo getVisibleSubscriptionInfoForSimSlotIndex(int slotId) {
         final List<SubscriptionInfo> subInfoList =
                 mProxySubscriptionMgr.getActiveSubscriptionsInfo();
         if (subInfoList == null) {
             return null;
         }
-        final CarrierConfigManager carrierConfigManager = getContext().getSystemService(
+        Context context = getContext();
+        if (context == null) {
+            return null;
+        }
+        final CarrierConfigManager carrierConfigManager = context.getSystemService(
                 CarrierConfigManager.class);
         for (SubscriptionInfo subInfo : subInfoList) {
             if ((isSubscriptionVisible(carrierConfigManager, subInfo)
diff --git a/src/com/android/settings/MainClear.java b/src/com/android/settings/MainClear.java
index 8a441e2..7b96d42 100644
--- a/src/com/android/settings/MainClear.java
+++ b/src/com/android/settings/MainClear.java
@@ -26,11 +26,13 @@
 import android.accounts.AuthenticatorDescription;
 import android.app.ActionBar;
 import android.app.Activity;
+import android.app.AlertDialog;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -43,6 +45,7 @@
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.os.image.DynamicSystemManager;
 import android.provider.Settings;
 import android.telephony.euicc.EuiccManager;
 import android.text.TextUtils;
@@ -63,6 +66,7 @@
 
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.password.ConfirmLockPattern;
@@ -94,7 +98,6 @@
     static final int KEYGUARD_REQUEST = 55;
     @VisibleForTesting
     static final int CREDENTIAL_CONFIRM_REQUEST = 56;
-
     private static final String KEY_SHOW_ESIM_RESET_CHECKBOX =
             "masterclear.allow_retain_esim_profiles_after_fdr";
 
@@ -266,6 +269,19 @@
                 return;
             }
 
+            final DynamicSystemManager dsuManager = (DynamicSystemManager)
+                    getActivity().getSystemService(Context.DYNAMIC_SYSTEM_SERVICE);
+            if (dsuManager.isInUse()) {
+                AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
+                builder.setTitle(R.string.dsu_is_running);
+                builder.setPositiveButton(R.string.okay, new DialogInterface.OnClickListener() {
+                    public void onClick(DialogInterface dialog, int id) {}
+                });
+                AlertDialog dsuAlertdialog = builder.create();
+                dsuAlertdialog.show();
+                return;
+            }
+
             if (runKeyguardConfirmation(KEYGUARD_REQUEST)) {
                 return;
             }
@@ -432,14 +448,24 @@
 
         final GlifLayout layout = mContentView.findViewById(R.id.setup_wizard_layout);
         final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
+        final Activity activity = getActivity();
         mixin.setPrimaryButton(
-                new FooterButton.Builder(getActivity())
+                new FooterButton.Builder(activity)
                         .setText(R.string.main_clear_button_text)
                         .setListener(mInitiateListener)
                         .setButtonType(ButtonType.OTHER)
-                        .setTheme(R.style.SudGlifButton_Primary)
-                        .build()
-        );
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        if (Flags.showFactoryResetCancelButton()) {
+            mixin.setSecondaryButton(
+                    new FooterButton.Builder(activity)
+                            .setText(android.R.string.cancel)
+                            .setListener(view -> activity.onBackPressed())
+                            .setButtonType(ButtonType.CANCEL)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+                            .build());
+        }
         mInitiateButton = mixin.getPrimaryButton();
     }
 
@@ -501,10 +527,12 @@
 
                 if (userInfo.isManagedProfile()) {
                     titleText.setText(devicePolicyManager.getResources().getString(
-                            WORK_CATEGORY_HEADER, () -> getString(R.string.category_work)));
+                            WORK_CATEGORY_HEADER, () -> getString(
+                                    com.android.settingslib.R.string.category_work)));
                 } else {
                     titleText.setText(devicePolicyManager.getResources().getString(
-                            PERSONAL_CATEGORY_HEADER, () -> getString(R.string.category_personal)));
+                            PERSONAL_CATEGORY_HEADER, () -> getString(
+                                    com.android.settingslib.R.string.category_personal)));
                 }
                 contents.addView(titleView);
             }
diff --git a/src/com/android/settings/MainClearConfirm.java b/src/com/android/settings/MainClearConfirm.java
index c8b982e..b5ddd1a 100644
--- a/src/com/android/settings/MainClearConfirm.java
+++ b/src/com/android/settings/MainClearConfirm.java
@@ -86,13 +86,14 @@
                 return;
             }
 
+            final PersistentDataBlockManager pdbManager;
             // pre-flight check hardware support PersistentDataBlockManager
-            if (SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals("")) {
-                return;
-            }
-
-            final PersistentDataBlockManager pdbManager = (PersistentDataBlockManager)
+            if (!SystemProperties.get(PERSISTENT_DATA_BLOCK_PROP).equals("")) {
+                pdbManager = (PersistentDataBlockManager)
                     getActivity().getSystemService(Context.PERSISTENT_DATA_BLOCK_SERVICE);
+            } else {
+                pdbManager = null;
+            }
 
             if (shouldWipePersistentDataBlock(pdbManager)) {
 
@@ -211,7 +212,7 @@
                         .setText(R.string.main_clear_button_text)
                         .setListener(mFinalClickListener)
                         .setButtonType(ButtonType.OTHER)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/RegulatoryInfoDisplayActivity.kt b/src/com/android/settings/RegulatoryInfoDisplayActivity.kt
index ffacb9c..fdf66c3 100644
--- a/src/com/android/settings/RegulatoryInfoDisplayActivity.kt
+++ b/src/com/android/settings/RegulatoryInfoDisplayActivity.kt
@@ -46,7 +46,7 @@
 
         getRegulatoryInfo()?.let {
             val view = layoutInflater.inflate(R.layout.regulatory_info, null)
-            val image = view.findViewById<ImageView>(R.id.regulatoryInfo)
+            val image = view.requireViewById<ImageView>(R.id.regulatoryInfo)
             image.setImageDrawable(it)
             builder.setView(view)
             builder.show()
diff --git a/src/com/android/settings/RemoteBugreportActivity.java b/src/com/android/settings/RemoteBugreportActivity.java
index 1485287..20cc059 100644
--- a/src/com/android/settings/RemoteBugreportActivity.java
+++ b/src/com/android/settings/RemoteBugreportActivity.java
@@ -20,7 +20,6 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.SHARE_REMOTE_BUGREPORT_NOT_FINISHED_REQUEST_CONSENT;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.SHARING_REMOTE_BUGREPORT_MESSAGE;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.DialogInterface;
@@ -29,6 +28,7 @@
 import android.os.UserHandle;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 
 /**
diff --git a/src/com/android/settings/ResetNetwork.java b/src/com/android/settings/ResetNetwork.java
index da15d03..c33a4f8 100644
--- a/src/com/android/settings/ResetNetwork.java
+++ b/src/com/android/settings/ResetNetwork.java
@@ -16,12 +16,10 @@
 
 package com.android.settings;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.ContentResolver;
 import android.content.Context;
-import android.content.Intent;
 import android.content.res.Resources;
 import android.os.Bundle;
 import android.provider.Settings;
@@ -43,8 +41,10 @@
 import androidx.activity.result.ActivityResult;
 import androidx.activity.result.ActivityResultLauncher;
 import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.network.ResetNetworkRestrictionViewBuilder;
@@ -122,16 +122,24 @@
     void showFinalConfirmation() {
         Bundle args = new Bundle();
 
-        ResetNetworkRequest request = new ResetNetworkRequest(
-                ResetNetworkRequest.RESET_CONNECTIVITY_MANAGER |
-                ResetNetworkRequest.RESET_VPN_MANAGER
-        );
+        // TODO(b/317276437) Simplify the logic once flag is released
+        int resetOptions = ResetNetworkRequest.RESET_CONNECTIVITY_MANAGER
+                        | ResetNetworkRequest.RESET_VPN_MANAGER;
+        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) {
             int selectedIndex = mSubscriptionSpinner.getSelectedItemPosition();
             SubscriptionInfo subscription = mSubscriptions.get(selectedIndex);
             int subId = subscription.getSubscriptionId();
             request.setResetTelephonyAndNetworkPolicyManager(subId)
                    .setResetApn(subId);
+            if (Flags.resetMobileNetworkSettings()) {
+                request.setResetImsSubId(subId);
+            }
         }
         if (mEsimContainer.getVisibility() == View.VISIBLE && mEsimCheckbox.isChecked()) {
             request.setResetEsim(getContext().getPackageName())
diff --git a/src/com/android/settings/ResetNetworkRequest.java b/src/com/android/settings/ResetNetworkRequest.java
index 40eebb0..4be8b32 100644
--- a/src/com/android/settings/ResetNetworkRequest.java
+++ b/src/com/android/settings/ResetNetworkRequest.java
@@ -48,11 +48,29 @@
     /* Reset option - reset BluetoothManager */
     public static final int RESET_BLUETOOTH_MANAGER = 0x10;
 
-    /* Subscription ID for not performing reset TelephonyAndNetworkPolicy or reset APN */
+    /* Reset option - reset IMS stack */
+    public static final int RESET_IMS_STACK = 0x20;
+
+    /* Reset option - reset phone process */
+    public static final int RESET_PHONE_PROCESS = 0x40;
+
+    /* Reset option - reset RILD */
+    public static final int RESET_RILD = 0x80;
+
+    /**
+     *  Subscription ID indicates NOT resetting any of the components below:
+     *  - TelephonyAndNetworkPolicy
+     *  - APN
+     *  - IMS
+     */
     public static final int INVALID_SUBSCRIPTION_ID = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
 
-    /* Subscription ID for performing reset TelephonyAndNetworkPolicy or reset APN
-        on all subscriptions */
+    /**
+     *  Subscription ID indicates resetting components below for ALL subscriptions:
+     *  - TelephonyAndNetworkPolicy
+     *  - APN
+     *  - IMS
+     */
     public static final int ALL_SUBSCRIPTION_ID = SubscriptionManager.DEFAULT_SUBSCRIPTION_ID;
 
     /* Key within Bundle. To store some connectivity options for reset */
@@ -75,10 +93,14 @@
     @VisibleForTesting
     protected static final String KEY_APN_SUBID = "resetApnSubId";
 
+    /** Key within Bundle. To store subscription ID for resetting IMS. */
+    protected  static final String KEY_RESET_IMS_SUBID = "resetImsSubId";
+
     private int mResetOptions = RESET_NONE;
     private String mResetEsimPackageName;
     private int mResetTelephonyManager = INVALID_SUBSCRIPTION_ID;
     private int mResetApn = INVALID_SUBSCRIPTION_ID;
+    private int mSubscriptionIdToResetIms = INVALID_SUBSCRIPTION_ID;
 
     /**
      * Reconstruct based on keys stored within Bundle.
@@ -93,6 +115,8 @@
         mResetTelephonyManager = optionsFromBundle.getInt(
                 KEY_TELEPHONY_NET_POLICY_MANAGER_SUBID, INVALID_SUBSCRIPTION_ID);
         mResetApn = optionsFromBundle.getInt(KEY_APN_SUBID, INVALID_SUBSCRIPTION_ID);
+        mSubscriptionIdToResetIms = optionsFromBundle.getInt(KEY_RESET_IMS_SUBID,
+                INVALID_SUBSCRIPTION_ID);
     }
 
     /**
@@ -173,6 +197,29 @@
     }
 
     /**
+     * Get the subscription ID applied for resetting IMS.
+     * @return subscription ID.
+     *         {@code ALL_SUBSCRIPTION_ID} for applying to all subscriptions.
+     *         {@code INVALID_SUBSCRIPTION_ID} means resetting IMS
+     *         is not part of the option within this request.
+     */
+    public int getResetImsSubId() {
+        return mSubscriptionIdToResetIms;
+    }
+
+    /**
+     * Set the subscription ID applied for resetting APN.
+     * @param subId is the subscription ID referenced from SubscriptionManager.
+     *         {@code ALL_SUBSCRIPTION_ID} for applying to all subscriptions.
+     *         {@code INVALID_SUBSCRIPTION_ID} means resetting IMS will not take place.
+     * @return this
+     */
+    public ResetNetworkRequest setResetImsSubId(int subId) {
+        mSubscriptionIdToResetIms = subId;
+        return this;
+    }
+
+    /**
      * Store a copy of this request into Bundle given.
      * @param writeToBundle is a Bundle for storing configurations of this request.
      * @return this request
@@ -182,6 +229,7 @@
         writeToBundle.putString(KEY_ESIM_PACKAGE, mResetEsimPackageName);
         writeToBundle.putInt(KEY_TELEPHONY_NET_POLICY_MANAGER_SUBID, mResetTelephonyManager);
         writeToBundle.putInt(KEY_APN_SUBID, mResetApn);
+        writeToBundle.putInt(KEY_RESET_IMS_SUBID, mSubscriptionIdToResetIms);
         return this;
     }
 
@@ -219,6 +267,15 @@
         if (mResetApn != INVALID_SUBSCRIPTION_ID) {
             builder.resetApn(mResetApn);
         }
+        if ((mResetOptions & RESET_IMS_STACK) != 0) {
+            builder.resetIms(mSubscriptionIdToResetIms);
+        }
+        if ((mResetOptions & RESET_PHONE_PROCESS) != 0) {
+            builder.restartPhoneProcess();
+        }
+        if ((mResetOptions & RESET_RILD) != 0) {
+            builder.restartRild();
+        }
         return builder;
     }
 }
diff --git a/src/com/android/settings/ResetSubscriptionContract.java b/src/com/android/settings/ResetSubscriptionContract.java
index 580e907..528a16d 100644
--- a/src/com/android/settings/ResetSubscriptionContract.java
+++ b/src/com/android/settings/ResetSubscriptionContract.java
@@ -23,8 +23,8 @@
 
 import androidx.annotation.VisibleForTesting;
 
-import java.util.concurrent.Executors;
 import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.IntStream;
 
@@ -53,8 +53,8 @@
         mContext = context;
         // Only keeps specific subscription ID required to perform reset operation
         IntStream subIdStream = IntStream.of(
-                resetRequest.getResetTelephonyAndNetworkPolicyManager()
-                , resetRequest.getResetApnSubId());
+                resetRequest.getResetTelephonyAndNetworkPolicyManager(),
+                resetRequest.getResetApnSubId(), resetRequest.getResetImsSubId());
         mResetSubscriptionIds = subIdStream.sorted().distinct()
                 .filter(id -> SubscriptionManager.isUsableSubscriptionId(id))
                 .toArray();
diff --git a/src/com/android/settings/RestrictedCheckBox.java b/src/com/android/settings/RestrictedCheckBox.java
index 828c443..64bb0a6 100644
--- a/src/com/android/settings/RestrictedCheckBox.java
+++ b/src/com/android/settings/RestrictedCheckBox.java
@@ -61,7 +61,8 @@
             RestrictedLockUtilsInternal.setTextViewAsDisabledByAdmin(mContext, this,
                     mDisabledByAdmin);
             if (mDisabledByAdmin) {
-                getButtonDrawable().setColorFilter(mContext.getColor(R.color.disabled_text_color),
+                getButtonDrawable().setColorFilter(
+                        mContext.getColor(com.android.settingslib.R.color.disabled_text_color),
                         PorterDuff.Mode.MULTIPLY);
             } else {
                 getButtonDrawable().clearColorFilter();
diff --git a/src/com/android/settings/SetFullBackupPassword.java b/src/com/android/settings/SetFullBackupPassword.java
index b6a03d5..7252289 100644
--- a/src/com/android/settings/SetFullBackupPassword.java
+++ b/src/com/android/settings/SetFullBackupPassword.java
@@ -25,6 +25,7 @@
 import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
+import android.view.WindowManager;
 import android.widget.Button;
 import android.widget.TextView;
 import android.widget.Toast;
@@ -48,7 +49,8 @@
                     // Mismatch between new pw and its confirmation re-entry
                     Log.i(TAG, "password mismatch");
                     Toast.makeText(SetFullBackupPassword.this,
-                            R.string.local_backup_password_toast_confirmation_mismatch,
+                            com.android.settingslib.R
+                                    .string.local_backup_password_toast_confirmation_mismatch,
                             Toast.LENGTH_LONG).show();
                     return;
                 }
@@ -59,14 +61,15 @@
                     // success
                     Log.i(TAG, "password set successfully");
                     Toast.makeText(SetFullBackupPassword.this,
-                            R.string.local_backup_password_toast_success,
+                            com.android.settingslib.R.string.local_backup_password_toast_success,
                             Toast.LENGTH_LONG).show();
                     finish();
                 } else {
                     // failure -- bad existing pw, usually
                     Log.i(TAG, "failure; password mismatch?");
                     Toast.makeText(SetFullBackupPassword.this,
-                            R.string.local_backup_password_toast_validation_failure,
+                            com.android.settingslib.R
+                                    .string.local_backup_password_toast_validation_failure,
                             Toast.LENGTH_LONG).show();
                 }
             } else if (v == mCancel) {
@@ -80,6 +83,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
+        getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
 
         mBackupManager = IBackupManager.Stub.asInterface(ServiceManager.getService("backup"));
 
diff --git a/src/com/android/settings/Settings.java b/src/com/android/settings/Settings.java
index 60a5b80..63ce331 100644
--- a/src/com/android/settings/Settings.java
+++ b/src/com/android/settings/Settings.java
@@ -19,18 +19,15 @@
 import static android.provider.Settings.ACTION_PRIVACY_SETTINGS;
 
 import android.content.ActivityNotFoundException;
-import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
 import android.telephony.ims.ImsRcsManager;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.biometrics.face.FaceSettings;
 import com.android.settings.communal.CommunalPreferenceController;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.enterprise.EnterprisePrivacySettings;
 import com.android.settings.network.MobileNetworkIntentConverter;
 import com.android.settings.overlay.FeatureFactory;
@@ -49,7 +46,6 @@
     */
 
     public static class MemtagPageActivity extends SettingsActivity { /* empty */}
-    public static class AssistGestureSettingsActivity extends SettingsActivity { /* empty */}
     public static class BluetoothSettingsActivity extends SettingsActivity { /* empty */ }
     public static class CreateShortcutActivity extends SettingsActivity { /* empty */ }
     public static class FaceSettingsActivity extends SettingsActivity { /* empty */ }
@@ -59,43 +55,11 @@
     public static class FingerprintSettingsActivityV2 extends SettingsActivity { /* empty */ }
     public static class CombinedBiometricSettingsActivity extends SettingsActivity { /* empty */ }
     public static class CombinedBiometricProfileSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class TetherSettingsActivity extends SettingsActivity {
-        // TODO(b/147675042): Clean the override up when we enable the new Fragment persistently.
-        @Override
-        public Intent getIntent() {
-            return wrapIntentWithAllInOneTetherSettingsIfNeeded(
-                    getApplicationContext(), super.getIntent());
-        }
+    public static class TetherSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class WifiTetherSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class PrivateSpaceBiometricSettingsActivity extends SettingsActivity {
+        /* empty */
     }
-    public static class WifiTetherSettingsActivity extends SettingsActivity {
-        // TODO(b/147675042): Clean the override up when we enable the new Fragment persistently.
-        @Override
-        public Intent getIntent() {
-            return wrapIntentWithAllInOneTetherSettingsIfNeeded(
-                    getApplicationContext(), super.getIntent());
-        }
-    }
-
-    private static Intent wrapIntentWithAllInOneTetherSettingsIfNeeded(
-            Context context, Intent superIntent) {
-        if (!FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE)) {
-            return superIntent;
-        }
-
-        final Intent modIntent = new Intent(superIntent);
-        modIntent.putExtra(EXTRA_SHOW_FRAGMENT,
-                AllInOneTetherSettings.class.getCanonicalName());
-        Bundle args = superIntent.getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-        if (args != null) {
-            args = new Bundle(args);
-        } else {
-            args = new Bundle();
-        }
-        args.putParcelable("intent", superIntent);
-        modIntent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
-        return modIntent;
-    }
-
     public static class VpnSettingsActivity extends SettingsActivity { /* empty */ }
     /** Activity for Data saver settings. */
     public static class DataSaverSummaryActivity extends SettingsActivity { /* empty */ }
@@ -135,9 +99,10 @@
     public static class HighPowerApplicationsActivity extends SettingsActivity { /* empty */ }
     public static class BackgroundCheckSummaryActivity extends SettingsActivity { /* empty */ }
     public static class StorageUseActivity extends SettingsActivity { /* empty */ }
-    public static class DevelopmentSettingsDashboardActivity extends SettingsActivity { /* empty */ }
+    public static class DevelopmentSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AccessibilitySettingsActivity extends SettingsActivity { /* empty */ }
     public static class AccessibilityDetailsSettingsActivity extends SettingsActivity { /* empty */ }
+    public static class AccessibilityEditShortcutsActivity extends SettingsActivity { /* empty */ }
     public static class CaptioningSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AccessibilityInversionSettingsActivity extends SettingsActivity { /* empty */ }
     public static class AccessibilityContrastSettingsActivity extends SettingsActivity { /* empty */ }
@@ -203,7 +168,7 @@
         private String getAlternativeFragmentName() {
             String alternativeFragmentClassname = null;
             final SecuritySettingsFeatureProvider securitySettingsFeatureProvider =
-                    FeatureFactory.getFactory(this).getSecuritySettingsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider();
             if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) {
                 alternativeFragmentClassname = securitySettingsFeatureProvider
                         .getAlternativeSecuritySettingsFragmentClassname();
@@ -315,7 +280,6 @@
     public static class ConfigureWifiSettingsActivity extends SettingsActivity { /* empty */ }
     public static class SavedAccessPointsSettingsActivity extends SettingsActivity { /* empty */ }
     public static class TextToSpeechSettingsActivity extends SettingsActivity { /* empty */ }
-    public static class AndroidBeamSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiDisplaySettingsActivity extends SettingsActivity { /* empty */ }
     public static class DreamSettingsActivity extends SettingsActivity { /* empty */ }
     /** Activity to manage communal settings */
@@ -382,6 +346,7 @@
         /* empty */
     }
 
+    public static class SatelliteSettingActivity extends SettingsActivity { /* empty */ }
     public static class ApnSettingsActivity extends SettingsActivity { /* empty */ }
     public static class WifiCallingSettingsActivity extends SettingsActivity { /* empty */ }
     public static class MemorySettingsActivity extends SettingsActivity { /* empty */ }
@@ -421,8 +386,7 @@
         @Override
         public void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
-            if (FeatureFactory.getFactory(this)
-                    .getEnterprisePrivacyFeatureProvider(this)
+            if (FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider()
                     .showParentalControls()) {
                 finish();
             } else if (!EnterprisePrivacySettings.isPageEnabled(this)) {
@@ -437,6 +401,7 @@
     public static class StylusUsiDetailsActivity extends SettingsActivity { /* empty */ }
     public static class BluetoothBroadcastActivity extends SettingsActivity { /* empty */ }
     public static class BluetoothFindBroadcastsActivity extends SettingsActivity { /* empty */ }
+    public static class AudioStreamConfirmDialogActivity extends SettingsActivity { /* empty */ }
     public static class WifiCallingDisclaimerActivity extends SettingsActivity { /* empty */ }
     public static class MobileNetworkListActivity extends SettingsActivity {}
     public static class PowerMenuSettingsActivity extends SettingsActivity {}
@@ -516,4 +481,11 @@
      * Activity for OneHandedSettings
      */
     public static class OneHandedSettingsActivity extends SettingsActivity { /* empty */ }
+
+    public static class PreviouslyConnectedDeviceActivity extends SettingsActivity { /* empty */ }
+
+    public static class ScreenTimeoutActivity extends SettingsActivity { /* empty */ }
+
+    /** Activity for the Reset mobile network settings. */
+    public static class ResetMobileNetworkSettingsActivity extends SettingsActivity { /* empty */ }
 }
diff --git a/src/com/android/settings/SettingsActivity.java b/src/com/android/settings/SettingsActivity.java
index b369190..27a87f3 100644
--- a/src/com/android/settings/SettingsActivity.java
+++ b/src/com/android/settings/SettingsActivity.java
@@ -16,16 +16,12 @@
 
 package com.android.settings;
 
-import static android.provider.Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY;
-import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY;
-import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
-
+import static com.android.settings.activityembedding.EmbeddedDeepLinkUtils.tryStartMultiPaneDeepLink;
 import static com.android.settings.applications.appinfo.AppButtonsPreferenceController.KEY_REMOVE_TASK_WHEN_FINISHING;
 
 import android.app.ActionBar;
 import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
-import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -35,7 +31,6 @@
 import android.content.pm.ActivityInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.UserInfo;
 import android.content.res.Resources;
 import android.content.res.Resources.Theme;
 import android.graphics.drawable.Icon;
@@ -53,7 +48,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
-import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceManager;
@@ -67,7 +61,6 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.gateway.SettingsGateway;
 import com.android.settings.dashboard.DashboardFeatureProvider;
-import com.android.settings.homepage.DeepLinkHomepageActivityInternal;
 import com.android.settings.homepage.SettingsHomepageActivity;
 import com.android.settings.homepage.TopLevelSettings;
 import com.android.settings.overlay.FeatureFactory;
@@ -76,7 +69,6 @@
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.core.instrumentation.Instrumentable;
 import com.android.settingslib.core.instrumentation.SharedPreferencesLogger;
-import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.drawer.DashboardCategory;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -180,8 +172,6 @@
     private CharSequence mInitialTitle;
     private int mInitialTitleResId;
 
-    private BroadcastReceiver mDevelopmentSettingsListener;
-
     private boolean mBatteryPresent = true;
     private BroadcastReceiver mBatteryInfoReceiver = new BroadcastReceiver() {
         @Override
@@ -238,7 +228,7 @@
         String tag = getMetricsTag();
 
         return new SharedPreferencesLogger(this, tag,
-                FeatureFactory.getFactory(this).getMetricsFeatureProvider(),
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(),
                 lookupMetricsCategory());
     }
 
@@ -278,7 +268,8 @@
         getMetaData();
         final Intent intent = getIntent();
 
-        if (shouldShowTwoPaneDeepLink(intent) && tryStartTwoPaneDeepLink(intent)) {
+        if (shouldShowMultiPaneDeepLink(intent)
+                && tryStartMultiPaneDeepLink(this, intent, mHighlightMenuKey)) {
             finish();
             super.onCreate(savedState);
             return;
@@ -292,8 +283,8 @@
     protected void createUiFromIntent(Bundle savedState, Intent intent) {
         long startTime = System.currentTimeMillis();
 
-        final FeatureFactory factory = FeatureFactory.getFactory(this);
-        mDashboardFeatureProvider = factory.getDashboardFeatureProvider(this);
+        final FeatureFactory factory = FeatureFactory.getFeatureFactory();
+        mDashboardFeatureProvider = factory.getDashboardFeatureProvider();
 
         if (intent.hasExtra(EXTRA_UI_OPTIONS)) {
             getWindow().setUiOptions(intent.getIntExtra(EXTRA_UI_OPTIONS, 0));
@@ -330,14 +321,6 @@
             launchSettingFragment(initialFragmentName, intent);
         }
 
-        final boolean isActionBarButtonEnabled = isActionBarButtonEnabled(intent);
-
-        final ActionBar actionBar = getActionBar();
-        if (actionBar != null) {
-            actionBar.setDisplayHomeAsUpEnabled(isActionBarButtonEnabled);
-            actionBar.setHomeButtonEnabled(isActionBarButtonEnabled);
-            actionBar.setDisplayShowTitleEnabled(true);
-        }
         mMainSwitch = findViewById(R.id.switch_bar);
         if (mMainSwitch != null) {
             mMainSwitch.setMetricsCategory(lookupMetricsCategory());
@@ -395,6 +378,17 @@
         }
     }
 
+    private void setActionBarStatus() {
+        final boolean isActionBarButtonEnabled = isActionBarButtonEnabled(getIntent());
+
+        final ActionBar actionBar = getActionBar();
+        if (actionBar != null) {
+            actionBar.setDisplayHomeAsUpEnabled(isActionBarButtonEnabled);
+            actionBar.setHomeButtonEnabled(isActionBarButtonEnabled);
+            actionBar.setDisplayShowTitleEnabled(true);
+        }
+    }
+
     private boolean isActionBarButtonEnabled(Intent intent) {
         if (WizardManagerHelper.isAnySetupWizard(intent)) {
             return false;
@@ -412,73 +406,7 @@
             intent.getBooleanExtra(EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, false);
     }
 
-    /**
-     * Returns the deep link trampoline intent for large screen devices.
-     */
-    public static Intent getTrampolineIntent(Intent intent, String highlightMenuKey) {
-        final Intent detailIntent = new Intent(intent);
-        // Guard against the arbitrary Intent injection.
-        if (detailIntent.getSelector() != null) {
-            detailIntent.setSelector(null);
-        }
-        // It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
-        final Intent trampolineIntent = new Intent(ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY)
-                .setPackage(Utils.SETTINGS_PACKAGE_NAME)
-                .replaceExtras(detailIntent);
-
-        // Relay detail intent data to prevent failure of Intent#ParseUri.
-        // If Intent#getData() is not null, Intent#toUri will return an Uri which has the scheme of
-        // Intent#getData() and it may not be the scheme of an Intent.
-        trampolineIntent.putExtra(
-                SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA,
-                detailIntent.getData());
-        detailIntent.setData(null);
-
-        trampolineIntent.putExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI,
-                detailIntent.toUri(Intent.URI_INTENT_SCHEME));
-
-        trampolineIntent.putExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY,
-                highlightMenuKey);
-        trampolineIntent.addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT);
-        return trampolineIntent;
-    }
-
-    private boolean tryStartTwoPaneDeepLink(Intent intent) {
-        intent.putExtra(EXTRA_INITIAL_CALLING_PACKAGE, PasswordUtils.getCallingAppPackageName(
-                getActivityToken()));
-        final Intent trampolineIntent;
-        if (intent.getBooleanExtra(EXTRA_IS_FROM_SLICE, false)) {
-            // Get menu key for slice deep link case.
-            final String highlightMenuKey = intent.getStringExtra(
-                    EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY);
-            if (!TextUtils.isEmpty(highlightMenuKey)) {
-                mHighlightMenuKey = highlightMenuKey;
-            }
-            trampolineIntent = getTrampolineIntent(intent, mHighlightMenuKey);
-            trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal.class);
-        } else {
-            trampolineIntent = getTrampolineIntent(intent, mHighlightMenuKey);
-        }
-
-        try {
-            final UserManager um = getSystemService(UserManager.class);
-            final UserInfo userInfo = um.getUserInfo(getUser().getIdentifier());
-            if (userInfo.isManagedProfile()) {
-                trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal.class)
-                        .putExtra(EXTRA_USER_HANDLE, getUser());
-                startActivityAsUser(trampolineIntent,
-                        um.getProfileParent(userInfo.id).getUserHandle());
-            } else {
-                startActivity(trampolineIntent);
-            }
-        } catch (ActivityNotFoundException e) {
-            Log.e(LOG_TAG, "Deep link homepage is not available to show 2-pane UI");
-            return false;
-        }
-        return true;
-    }
-
-    private boolean shouldShowTwoPaneDeepLink(Intent intent) {
+    private boolean shouldShowMultiPaneDeepLink(Intent intent) {
         if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)) {
             return false;
         }
@@ -680,15 +608,7 @@
     @Override
     protected void onResume() {
         super.onResume();
-
-        mDevelopmentSettingsListener = new BroadcastReceiver() {
-            @Override
-            public void onReceive(Context context, Intent intent) {
-                updateTilesList();
-            }
-        };
-        LocalBroadcastManager.getInstance(this).registerReceiver(mDevelopmentSettingsListener,
-                new IntentFilter(DevelopmentSettingsEnabler.DEVELOPMENT_SETTINGS_CHANGED_ACTION));
+        setActionBarStatus();
 
         registerReceiver(mBatteryInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
 
@@ -698,8 +618,6 @@
     @Override
     protected void onPause() {
         super.onPause();
-        LocalBroadcastManager.getInstance(this).unregisterReceiver(mDevelopmentSettingsListener);
-        mDevelopmentSettingsListener = null;
         unregisterReceiver(mBatteryInfoReceiver);
     }
 
@@ -849,19 +767,6 @@
                 || somethingChanged;
 
         somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
-                        Settings.UserSettingsActivity.class.getName()),
-                UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers()
-                        && !Utils.isMonkeyRunning(), isAdmin)
-                || somethingChanged;
-
-        final boolean showDev = DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(this)
-                && !Utils.isMonkeyRunning();
-        somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
-                        Settings.DevelopmentSettingsDashboardActivity.class.getName()),
-                showDev, isAdmin)
-                || somethingChanged;
-
-        somethingChanged = setTileEnabled(changedList, new ComponentName(packageName,
                         Settings.WifiDisplaySettingsActivity.class.getName()),
                 WifiDisplaySettings.isAvailable(this), isAdmin)
                 || somethingChanged;
diff --git a/src/com/android/settings/SettingsActivityUtil.kt b/src/com/android/settings/SettingsActivityUtil.kt
index 65d26de..b1927f1 100644
--- a/src/com/android/settings/SettingsActivityUtil.kt
+++ b/src/com/android/settings/SettingsActivityUtil.kt
@@ -28,15 +28,17 @@
 import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureDetails
 import com.android.settings.applications.specialaccess.pictureinpicture.PictureInPictureSettings
 import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivityForApp
+import com.android.settings.spa.SpaAppBridgeActivity.Companion.getDestinationForApp
 import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
 import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider
+import com.android.settings.spa.app.specialaccess.BackupTasksAppsListProvider
 import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
 import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
 import com.android.settings.spa.app.specialaccess.NfcTagAppsSettingsProvider
 import com.android.settings.spa.app.specialaccess.PictureInPictureListProvider
+import com.android.settings.spa.app.specialaccess.VoiceActivationAppsListProvider
 import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
 import com.android.settings.wifi.ChangeWifiStateDetails
 
@@ -65,21 +67,26 @@
             WifiControlAppListProvider.getAppInfoRoutePrefix(),
         NfcTagAppsSettingsProvider::class.qualifiedName to
             NfcTagAppsSettingsProvider.getAppInfoRoutePrefix(),
+        VoiceActivationAppsListProvider::class.qualifiedName to
+            VoiceActivationAppsListProvider.getAppInfoRoutePrefix(),
+        BackupTasksAppsListProvider::class.qualifiedName to
+            BackupTasksAppsListProvider.getAppInfoRoutePrefix(),
     )
 
     @JvmStatic
     fun Context.launchSpaActivity(fragmentName: String, intent: Intent): Boolean {
-        if (!FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) {
-            return false
-        }
-        FRAGMENT_TO_SPA_DESTINATION_MAP[fragmentName]?.let { destination ->
-            startSpaActivity(destination)
-            return true
-        }
-        FRAGMENT_TO_SPA_APP_DESTINATION_PREFIX_MAP[fragmentName]?.let { appDestinationPrefix ->
-            startSpaActivityForApp(appDestinationPrefix, intent)
-            return true
+        if (FeatureFlagUtils.isEnabled(this, FeatureFlagUtils.SETTINGS_ENABLE_SPA)) {
+            getDestination(fragmentName, intent)?.let { destination ->
+                startSpaActivity(destination)
+                return true
+            }
         }
         return false
     }
+
+    private fun getDestination(fragmentName: String, intent: Intent): String? =
+        FRAGMENT_TO_SPA_DESTINATION_MAP[fragmentName]
+            ?: FRAGMENT_TO_SPA_APP_DESTINATION_PREFIX_MAP[fragmentName]?.let { destinationPrefix ->
+                getDestinationForApp(destinationPrefix, intent)
+            }
 }
diff --git a/src/com/android/settings/SettingsApplication.java b/src/com/android/settings/SettingsApplication.java
index 8c050ea..528576d 100644
--- a/src/com/android/settings/SettingsApplication.java
+++ b/src/com/android/settings/SettingsApplication.java
@@ -17,15 +17,20 @@
 package com.android.settings;
 
 import android.app.Application;
+import android.content.Context;
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.provider.Settings;
 import android.util.FeatureFlagUtils;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.activityembedding.ActivityEmbeddingRulesController;
 import com.android.settings.activityembedding.ActivityEmbeddingUtils;
 import com.android.settings.core.instrumentation.ElapsedTimeUtils;
 import com.android.settings.homepage.SettingsHomepageActivity;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.overlay.FeatureFactoryImpl;
 import com.android.settings.spa.SettingsSpaEnvironment;
 import com.android.settingslib.applications.AppIconCacheManager;
 import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory;
@@ -40,6 +45,12 @@
     private WeakReference<SettingsHomepageActivity> mHomeActivity = new WeakReference<>(null);
 
     @Override
+    protected void attachBaseContext(Context base) {
+        super.attachBaseContext(base);
+        FeatureFactory.setFactory(this, getFeatureFactory());
+    }
+
+    @Override
     public void onCreate() {
         super.onCreate();
 
@@ -62,6 +73,11 @@
         }
     }
 
+    @NonNull
+    protected FeatureFactory getFeatureFactory() {
+        return new FeatureFactoryImpl();
+    }
+
     /**
      * Set the spa environment instance.
      * Override this function to set different spa environment for different Settings app.
diff --git a/src/com/android/settings/SettingsDumpService.java b/src/com/android/settings/SettingsDumpService.java
index 4feb6b2..7e84691 100644
--- a/src/com/android/settings/SettingsDumpService.java
+++ b/src/com/android/settings/SettingsDumpService.java
@@ -38,7 +38,6 @@
 
 import com.android.settings.applications.ProcStatsData;
 import com.android.settings.datausage.lib.DataUsageLib;
-import com.android.settings.fuelgauge.batterytip.AnomalyConfigJobService;
 import com.android.settings.network.MobileNetworkRepository;
 import com.android.settingslib.net.DataUsageController;
 
@@ -99,7 +98,6 @@
                 dump.put(KEY_DATAUSAGE, dumpDataUsage());
                 dump.put(KEY_MEMORY, dumpMemory());
                 dump.put(KEY_DEFAULT_BROWSER_APP, dumpDefaultBrowser());
-                dump.put(KEY_ANOMALY_DETECTION, dumpAnomalyDetection());
             } catch (Exception e) {
                 Log.w(TAG, "exception in dump: ", e);
             }
@@ -197,20 +195,6 @@
         }
     }
 
-    @VisibleForTesting
-    JSONObject dumpAnomalyDetection() throws JSONException {
-        final JSONObject obj = new JSONObject();
-        final SharedPreferences sharedPreferences = getSharedPreferences(
-                AnomalyConfigJobService.PREF_DB,
-                Context.MODE_PRIVATE);
-        final int currentVersion = sharedPreferences.getInt(
-                AnomalyConfigJobService.KEY_ANOMALY_CONFIG_VERSION,
-                0 /* defValue */);
-        obj.put("anomaly_config_version", String.valueOf(currentVersion));
-
-        return obj;
-    }
-
     private void dumpMobileNetworkSettings(IndentingPrintWriter writer) {
         MobileNetworkRepository.getInstance(this).dump(writer);
     }
diff --git a/src/com/android/settings/SettingsInitialize.java b/src/com/android/settings/SettingsInitialize.java
index 37a564b..c0c0777 100644
--- a/src/com/android/settings/SettingsInitialize.java
+++ b/src/com/android/settings/SettingsInitialize.java
@@ -32,6 +32,7 @@
 import android.content.pm.ShortcutInfo;
 import android.content.pm.ShortcutManager;
 import android.content.pm.UserInfo;
+import android.os.Flags;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.util.Log;
@@ -67,6 +68,7 @@
         final PackageManager pm = context.getPackageManager();
         managedProfileSetup(context, pm, broadcast, userInfo);
         cloneProfileSetup(context, pm, userInfo);
+        privateProfileSetup(context, pm, userInfo);
         webviewSettingSetup(context, pm, userInfo);
         ThreadUtils.postOnBackgroundThread(() -> refreshExistingShortcuts(context));
         enableTwoPaneDeepLinkActivityIfNecessary(pm, context);
@@ -104,17 +106,29 @@
             }
         }
 
-        // Disable launcher icon
-        disableComponent(pm, new ComponentName(context, Settings.class));
-        // Disable shortcut picker.
-        disableComponent(pm, new ComponentName(context, CreateShortcutActivity.class));
+        disableComponentsToHideSettings(context, pm);
     }
 
     private void cloneProfileSetup(Context context, PackageManager pm, UserInfo userInfo) {
         if (userInfo == null || !userInfo.isCloneProfile()) {
             return;
         }
-        // Disable launcher icon
+
+        disableComponentsToHideSettings(context, pm);
+    }
+
+    private void privateProfileSetup(Context context, PackageManager pm, UserInfo userInfo) {
+        if (Flags.allowPrivateProfile()) {
+            if (userInfo == null || !userInfo.isPrivateProfile()) {
+                return;
+            }
+
+            disableComponentsToHideSettings(context, pm);
+        }
+    }
+
+    private void disableComponentsToHideSettings(Context context, PackageManager pm) {
+        // Disable settings app launcher icon
         disableComponent(pm, new ComponentName(context, Settings.class));
 
         //Disable Shortcut picker
diff --git a/src/com/android/settings/SettingsPreferenceFragment.java b/src/com/android/settings/SettingsPreferenceFragment.java
index 8c97f02..66397c0 100644
--- a/src/com/android/settings/SettingsPreferenceFragment.java
+++ b/src/com/android/settings/SettingsPreferenceFragment.java
@@ -479,6 +479,10 @@
                 mDialogFragment.dismiss();
                 mDialogFragment = null;
             }
+            RecyclerView view = getListView();
+            if (view != null) {
+                view.clearOnScrollListeners();
+            }
         }
         super.onDetach();
     }
@@ -737,7 +741,7 @@
                 overrideKey, () -> getString(resource)));
     }
 
-    protected void replaceEnterpriseStringSummary(
+    public void replaceEnterpriseStringSummary(
             String preferenceKey, String overrideKey, int resource) {
         Preference preference = findPreference(preferenceKey);
         if (preference == null) {
@@ -750,7 +754,7 @@
                         () -> getString(resource)));
     }
 
-    protected void replaceEnterpriseStringTitle(
+    public void replaceEnterpriseStringTitle(
             String preferenceKey, String overrideKey, int resource) {
         Preference preference = findPreference(preferenceKey);
         if (preference == null) {
diff --git a/src/com/android/settings/TouchBlockingFrameLayout.java b/src/com/android/settings/TouchBlockingFrameLayout.java
index ca249e2..6c77273 100644
--- a/src/com/android/settings/TouchBlockingFrameLayout.java
+++ b/src/com/android/settings/TouchBlockingFrameLayout.java
@@ -16,12 +16,13 @@
 
 package com.android.settings;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.MotionEvent;
 import android.widget.FrameLayout;
 
+import androidx.annotation.Nullable;
+
 /**
  * Extension of FrameLayout that consumes all touch events.
  */
diff --git a/src/com/android/settings/TrustedCredentialsDialogBuilder.java b/src/com/android/settings/TrustedCredentialsDialogBuilder.java
index 9a73991..93d5ebb 100644
--- a/src/com/android/settings/TrustedCredentialsDialogBuilder.java
+++ b/src/com/android/settings/TrustedCredentialsDialogBuilder.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings;
 
-import android.annotation.NonNull;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.DialogInterface;
@@ -31,6 +30,7 @@
 import android.widget.LinearLayout;
 import android.widget.Spinner;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.internal.widget.LockPatternUtils;
diff --git a/src/com/android/settings/TrustedCredentialsFragment.java b/src/com/android/settings/TrustedCredentialsFragment.java
index c90a44d..a150850 100644
--- a/src/com/android/settings/TrustedCredentialsFragment.java
+++ b/src/com/android/settings/TrustedCredentialsFragment.java
@@ -52,13 +52,13 @@
 import android.widget.AdapterView;
 import android.widget.BaseAdapter;
 import android.widget.BaseExpandableListAdapter;
+import android.widget.CompoundButton;
 import android.widget.ExpandableListView;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.ListView;
 import android.widget.ProgressBar;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
@@ -333,11 +333,11 @@
             TextView title = convertView.findViewById(android.R.id.title);
             if (getUserInfoByGroup(groupPosition).isManagedProfile()) {
                 title.setText(mDevicePolicyManager.getResources().getString(WORK_CATEGORY_HEADER,
-                        () -> getString(R.string.category_work)));
+                        () -> getString(com.android.settingslib.R.string.category_work)));
             } else {
                 title.setText(mDevicePolicyManager.getResources().getString(
                         PERSONAL_CATEGORY_HEADER,
-                        () -> getString(R.string.category_personal)));
+                        () -> getString(com.android.settingslib.R.string.category_personal)));
 
             }
             title.setTextAlignment(View.TEXT_ALIGNMENT_VIEW_END);
@@ -456,10 +456,10 @@
             return "Group" + getUserIdByGroup(groupPosition);
         }
 
-        private class ViewHolder {
+        private static class ViewHolder {
             private TextView mSubjectPrimaryView;
             private TextView mSubjectSecondaryView;
-            private Switch mSwitch;
+            private CompoundButton mSwitch;
         }
     }
 
diff --git a/src/com/android/settings/UserCredentialsSettings.java b/src/com/android/settings/UserCredentialsSettings.java
index 73f1d9e..4950650 100644
--- a/src/com/android/settings/UserCredentialsSettings.java
+++ b/src/com/android/settings/UserCredentialsSettings.java
@@ -17,7 +17,6 @@
 package com.android.settings;
 
 import android.annotation.LayoutRes;
-import android.annotation.Nullable;
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -43,6 +42,7 @@
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
diff --git a/src/com/android/settings/Utils.java b/src/com/android/settings/Utils.java
index 910ab81..108e331 100644
--- a/src/com/android/settings/Utils.java
+++ b/src/com/android/settings/Utils.java
@@ -16,11 +16,11 @@
 
 package com.android.settings;
 
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
 import static android.content.Intent.EXTRA_USER;
 import static android.content.Intent.EXTRA_USER_ID;
+import static android.os.UserManager.USER_TYPE_FULL_SYSTEM;
+import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
+import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
 import static android.text.format.DateUtils.FORMAT_ABBREV_MONTH;
 import static android.text.format.DateUtils.FORMAT_SHOW_DATE;
 
@@ -42,7 +42,6 @@
 import android.content.pm.IntentFilterVerificationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
-import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
 import android.content.pm.UserProperties;
 import android.content.res.Configuration;
@@ -55,7 +54,9 @@
 import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.VectorDrawable;
+import android.hardware.face.Face;
 import android.hardware.face.FaceManager;
+import android.hardware.fingerprint.Fingerprint;
 import android.hardware.fingerprint.FingerprintManager;
 import android.net.ConnectivityManager;
 import android.net.LinkAddress;
@@ -66,6 +67,7 @@
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.Flags;
 import android.os.IBinder;
 import android.os.INetworkManagementService;
 import android.os.RemoteException;
@@ -106,14 +108,13 @@
 import androidx.core.graphics.drawable.RoundedBitmapDrawableFactory;
 import androidx.fragment.app.Fragment;
 import androidx.lifecycle.Lifecycle;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
 
 import com.android.internal.app.UnlaunchableAppActivity;
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.dashboard.profileselector.ProfileFragmentBridge;
 import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settingslib.widget.ActionBarShadowController;
 import com.android.settingslib.widget.AdaptiveIcon;
@@ -121,6 +122,7 @@
 import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
+import java.util.Objects;
 import java.util.Set;
 
 public final class Utils extends com.android.settingslib.Utils {
@@ -147,11 +149,6 @@
             "device_identifier_access_restrictions_disabled";
 
     /**
-     * Whether to show the Permissions Hub.
-     */
-    public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "permissions_hub_enabled";
-
-    /**
      * Whether to show location indicators.
      */
     public static final String PROPERTY_LOCATION_INDICATORS_ENABLED = "location_indicators_enabled";
@@ -182,61 +179,6 @@
             "delete_all_app_clones_enabled";
 
     /**
-     * Finds a matching activity for a preference's intent. If a matching
-     * activity is not found, it will remove the preference.
-     *
-     * @param context The context.
-     * @param parentPreferenceGroup The preference group that contains the
-     *            preference whose intent is being resolved.
-     * @param preferenceKey The key of the preference whose intent is being
-     *            resolved.
-     * @param flags 0 or one or more of
-     *            {@link #UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY}
-     *            .
-     * @return Whether an activity was found. If false, the preference was
-     *         removed.
-     */
-    public static boolean updatePreferenceToSpecificActivityOrRemove(Context context,
-            PreferenceGroup parentPreferenceGroup, String preferenceKey, int flags) {
-
-        final Preference preference = parentPreferenceGroup.findPreference(preferenceKey);
-        if (preference == null) {
-            return false;
-        }
-
-        final Intent intent = preference.getIntent();
-        if (intent != null) {
-            // Find the activity that is in the system image
-            final PackageManager pm = context.getPackageManager();
-            final List<ResolveInfo> list = pm.queryIntentActivities(intent, 0);
-            final int listSize = list.size();
-            for (int i = 0; i < listSize; i++) {
-                final ResolveInfo resolveInfo = list.get(i);
-                if ((resolveInfo.activityInfo.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM)
-                        != 0) {
-
-                    // Replace the intent with this specific activity
-                    preference.setIntent(new Intent().setClassName(
-                            resolveInfo.activityInfo.packageName,
-                            resolveInfo.activityInfo.name));
-
-                    if ((flags & UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY) != 0) {
-                        // Set the preference title to the activity's label
-                        preference.setTitle(resolveInfo.loadLabel(pm));
-                    }
-
-                    return true;
-                }
-            }
-        }
-
-        // Did not find a matching activity, so remove the preference
-        parentPreferenceGroup.removePreference(preference);
-
-        return false;
-    }
-
-    /**
      * Returns true if Monkey is running.
      */
     public static boolean isMonkeyRunning() {
@@ -449,6 +391,54 @@
     }
 
     /**
+     * Returns the profile of userType of the current user or {@code null} if none is found or a
+     * profile exists, but it is disabled.
+     */
+    @Nullable
+    public static UserHandle getProfileOfType(
+            @NonNull UserManager userManager, @ProfileType int userType) {
+        final List<UserHandle> userProfiles = userManager.getUserProfiles();
+        String umUserType = getUmUserType(userType);
+        for (UserHandle profile : userProfiles) {
+            if (profile.getIdentifier() == UserHandle.myUserId()) {
+                continue;
+            }
+            final UserInfo userInfo = userManager.getUserInfo(profile.getIdentifier());
+            if (Objects.equals(umUserType, userInfo.userType)) {
+                return profile;
+            }
+        }
+        return null;
+    }
+
+    /**
+     * Returns true if a profile of specified userType exists. Note that it considers all profiles,
+     * including the disabled profiles and the parent user itself.
+     */
+    public static boolean doesProfileOfTypeExists(
+            @NonNull UserManager userManager, @ProfileType int userType) {
+        final List<UserInfo> userProfiles = userManager.getProfiles(UserHandle.myUserId());
+        String umUserType = getUmUserType(userType);
+        for (UserInfo profile : userProfiles) {
+            if (Objects.equals(umUserType, profile.userType)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    private static String getUmUserType(@ProfileType int userType) throws IllegalArgumentException {
+        if (userType == ProfileType.WORK) {
+            return USER_TYPE_PROFILE_MANAGED;
+        } else if (userType == ProfileType.PRIVATE) {
+            return USER_TYPE_PROFILE_PRIVATE;
+        } else if (userType == ProfileType.PERSONAL) {
+            return USER_TYPE_FULL_SYSTEM;
+        }
+        throw new IllegalArgumentException("Cannot get user type for ALL types");
+    }
+
+    /**
      * Returns the managed profile of the current user or {@code null} if none is found. Unlike
      * {@link #getManagedProfile} this method returns enabled and disabled managed profiles.
      */
@@ -487,15 +477,20 @@
         return UserHandle.USER_NULL;
     }
 
-    /** Returns user ID of current user, throws IllegalStateException if it's not available. */
-    public static int getCurrentUserId(UserManager userManager, boolean isWorkProfile)
-            throws IllegalStateException {
-        if (isWorkProfile) {
-            final UserHandle managedUserHandle = getManagedProfile(userManager);
-            if (managedUserHandle == null) {
-                throw new IllegalStateException("Work profile user ID is not available.");
+    /**
+     * Returns user ID of the user of specified type under the current context, throws
+     * IllegalStateException if it's not available.
+     */
+    public static int getCurrentUserIdOfType(
+            @NonNull UserManager userManager,
+            @ProfileType int userType) throws IllegalStateException {
+        if (userType != ProfileType.PERSONAL) {
+            final UserHandle userHandle = getProfileOfType(userManager, userType);
+            if (userHandle == null) {
+                throw new IllegalStateException("User ID of requested profile type is not "
+                        + "available.");
             }
-            return managedUserHandle.getIdentifier();
+            return userHandle.getIdentifier();
         }
         return UserHandle.myUserId();
     }
@@ -790,36 +785,15 @@
     @Nullable public static String getConfirmCredentialStringForUser(@NonNull Context context,
              int userId, @LockPatternUtils.CredentialType int credentialType) {
         final int effectiveUserId = UserManager.get(context).getCredentialOwnerProfile(userId);
-        final boolean isEffectiveUserManagedProfile = UserManager.get(context)
-                .isManagedProfile(effectiveUserId);
-        final DevicePolicyManager devicePolicyManager = context
-                .getSystemService(DevicePolicyManager.class);
+        if (UserManager.get(context).isManagedProfile(effectiveUserId)) {
+            return null;
+        }
         switch (credentialType) {
             case LockPatternUtils.CREDENTIAL_TYPE_PIN:
-                if (isEffectiveUserManagedProfile) {
-                    return devicePolicyManager.getResources().getString(WORK_PROFILE_CONFIRM_PIN,
-                            () -> context.getString(
-                                    R.string.lockpassword_confirm_your_pin_generic_profile));
-                }
-
                 return context.getString(R.string.lockpassword_confirm_your_pin_generic);
             case LockPatternUtils.CREDENTIAL_TYPE_PATTERN:
-                if (isEffectiveUserManagedProfile) {
-                    return devicePolicyManager.getResources().getString(
-                            WORK_PROFILE_CONFIRM_PATTERN,
-                            () -> context.getString(
-                                    R.string.lockpassword_confirm_your_pattern_generic_profile));
-                }
-
                 return context.getString(R.string.lockpassword_confirm_your_pattern_generic);
             case LockPatternUtils.CREDENTIAL_TYPE_PASSWORD:
-                if (isEffectiveUserManagedProfile) {
-                    return devicePolicyManager.getResources().getString(
-                            WORK_PROFILE_CONFIRM_PASSWORD,
-                            () -> context.getString(
-                                    R.string.lockpassword_confirm_your_password_generic_profile));
-                }
-
                 return context.getString(R.string.lockpassword_confirm_your_password_generic);
         }
         return null;
@@ -1252,8 +1226,16 @@
         List<UserHandle> profiles = userManager.getUserProfiles();
         for (UserHandle userHandle : profiles) {
             UserProperties userProperties = userManager.getUserProperties(userHandle);
-            if (userProperties.getShowInSettings()
-                    == UserProperties.SHOW_IN_SETTINGS_SEPARATE) {
+            if (userProperties.getShowInSettings() == UserProperties.SHOW_IN_SETTINGS_SEPARATE) {
+                if (Flags.allowPrivateProfile()
+                        && userProperties.getShowInQuietMode()
+                        == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN) {
+                    if (!userManager.isQuietModeEnabled(userHandle)) {
+                        return true;
+                    } else {
+                        continue;
+                    }
+                }
                 return true;
             }
         }
@@ -1353,4 +1335,64 @@
         return dreamsSupported && (!dreamsOnlyEnabledForDockUser || canCurrentUserDream(context));
     }
 
+
+    /**
+     * Removes fingerprint templates enrolled for a given user.
+     *
+     * @param context application context.
+     * @param userId the id of the relevant user
+     */
+    public static void removeEnrolledFingerprintForUser(Context context, int userId) {
+        FingerprintManager fingerprintManager = getFingerprintManagerOrNull(context);
+        if (fingerprintManager != null && fingerprintManager.hasEnrolledTemplates(userId)) {
+            fingerprintManager.removeAll(userId,
+                    fingerprintManagerRemovalCallback(userId));
+        }
+    }
+
+    /**
+     * Removes face templates enrolled for a given user.
+     *
+     * @param context application context.
+     * @param userId the id of the relevant user
+     */
+    public static void removeEnrolledFaceForUser(Context context, int userId) {
+        FaceManager faceManager  = getFaceManagerOrNull(context);
+        if (faceManager != null && faceManager.hasEnrolledTemplates(userId)) {
+            faceManager.removeAll(userId, faceManagerRemovalCallback(userId));
+        }
+    }
+
+    private static FaceManager.RemovalCallback faceManagerRemovalCallback(int userId) {
+        return new FaceManager.RemovalCallback() {
+            @Override
+            public void onRemovalError(@Nullable Face face, int errMsgId, CharSequence err) {
+                Log.e(TAG, "Unable to remove face template for user " + userId + ", error: " + err);
+            }
+
+            @Override
+            public void onRemovalSucceeded(Face face, int remaining) {
+                if (remaining == 0) {
+                    Log.d(TAG, "Enrolled face templates removed for user " + userId);
+                }
+            }
+        };
+    }
+
+    private static FingerprintManager.RemovalCallback fingerprintManagerRemovalCallback(
+            int userId) {
+        return new FingerprintManager.RemovalCallback() {
+            @Override
+            public void onRemovalError(@Nullable Fingerprint fp, int errMsgId, CharSequence err) {
+                Log.e(TAG, "Unable to remove fingerprint for user " + userId + " , error: " + err);
+            }
+
+            @Override
+            public void onRemovalSucceeded(Fingerprint fp, int remaining) {
+                if (remaining == 0) {
+                    Log.d(TAG, "Enrolled fingerprints removed for user " + userId);
+                }
+            }
+        };
+    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
index 77b8230..bd46152 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.accessibility;
 
 import android.content.Context;
+import android.icu.text.MessageFormat;
+import android.text.Html;
 
 import androidx.preference.PreferenceScreen;
 
@@ -50,7 +52,9 @@
         final int titleResource = AccessibilityUtil.isGestureNavigateEnabled(mContext)
                 ? R.string.accessibility_button_gesture_description
                 : R.string.accessibility_button_description;
-        final CharSequence footerText = mContext.getText(titleResource);
+        final CharSequence footerText = Html.fromHtml(
+                MessageFormat.format(mContext.getString(titleResource), 1, 2, 3),
+                Html.FROM_HTML_MODE_COMPACT);
         final AccessibilityFooterPreference footerPreference =
                 screen.findPreference(getPreferenceKey());
         footerPreference.setTitle(footerText);
diff --git a/src/com/android/settings/accessibility/AccessibilityButtonPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityButtonPreferenceController.java
index f076472..53d9c55 100644
--- a/src/com/android/settings/accessibility/AccessibilityButtonPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityButtonPreferenceController.java
@@ -17,12 +17,16 @@
 package com.android.settings.accessibility;
 
 import android.content.Context;
+import android.content.res.Resources;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.search.SearchIndexableRaw;
+
+import java.util.List;
 
 /**
  * Preference controller for accessibility button preference.
@@ -41,10 +45,23 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        final int titleResource = AccessibilityUtil.isGestureNavigateEnabled(mContext)
-                ? R.string.accessibility_button_gesture_title : R.string.accessibility_button_title;
         final Preference preference = screen.findPreference(getPreferenceKey());
-        preference.setTitle(titleResource);
+        preference.setTitle(getPreferenceTitleResource());
 
     }
+
+    @Override
+    public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
+        SearchIndexableRaw data = new SearchIndexableRaw(mContext);
+        data.key = getPreferenceKey();
+        final Resources res = mContext.getResources();
+        data.title = res.getString(getPreferenceTitleResource());
+        data.screenTitle = res.getString(R.string.accessibility_shortcuts_settings_title);
+        rawData.add(data);
+    }
+
+    private int getPreferenceTitleResource() {
+        return AccessibilityUtil.isGestureNavigateEnabled(mContext)
+                ? R.string.accessibility_button_gesture_title : R.string.accessibility_button_title;
+    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
index 5f84c3c..4e9cd92 100644
--- a/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragment.java
@@ -32,7 +32,6 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.accessibility.AccessibilityManager;
 
@@ -44,6 +43,7 @@
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.accessibility.AccessibilityUtils;
 
 import java.util.List;
@@ -104,10 +104,7 @@
             @Nullable ComponentName componentName) {
         if (MAGNIFICATION_COMPONENT_NAME.equals(componentName)) {
             final String destination = ToggleScreenMagnificationPreferenceFragment.class.getName();
-            final Bundle arguments = new Bundle();
-            MagnificationGesturesPreferenceController.populateMagnificationGesturesPreferenceExtras(
-                    arguments, getContext());
-            return new LaunchFragmentArguments(destination, arguments);
+            return new LaunchFragmentArguments(destination, /* arguments= */ null);
         }
 
         if (ACCESSIBILITY_BUTTON_COMPONENT_NAME.equals(componentName)) {
@@ -115,9 +112,7 @@
             return new LaunchFragmentArguments(destination, /* arguments= */ null);
         }
 
-        if (ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.equals(componentName)
-                && FeatureFlagUtils.isEnabled(getContext(),
-                FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE)) {
+        if (ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.equals(componentName)) {
             final String destination = AccessibilityHearingAidsFragment.class.getName();
             return new LaunchFragmentArguments(destination, /* arguments= */ null);
         }
@@ -170,16 +165,9 @@
         if (permittedServices != null && !permittedServices.contains(packageName)) {
             return false;
         }
-        try {
-            final int mode = mAppOps.noteOpNoThrow(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
-                    uid, packageName);
-            final boolean ecmEnabled = getContext().getResources().getBoolean(
-                    com.android.internal.R.bool.config_enhancedConfirmationModeEnabled);
-            return !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED;
-        } catch (Exception e) {
-            // Fallback in case if app ops is not available in testing.
-            return true;
-        }
+
+        return !RestrictedLockUtilsInternal.isEnhancedConfirmationRestricted(getContext(),
+                packageName, AppOpsManager.OPSTR_BIND_ACCESSIBILITY_SERVICE);
     }
 
     private AccessibilityServiceInfo getAccessibilityServiceInfo(ComponentName componentName) {
@@ -240,7 +228,7 @@
                     new ComponentName(packageName, tileServiceClassName).flattenToString());
         }
 
-        final int metricsCategory = FeatureFactory.getFactory(getActivity().getApplicationContext())
+        final int metricsCategory = FeatureFactory.getFeatureFactory()
                 .getAccessibilityMetricsFeatureProvider()
                 .getDownloadedFeatureMetricsCategory(componentName);
         extras.putInt(AccessibilitySettings.EXTRA_METRICS_CATEGORY, metricsCategory);
diff --git a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
index f744984..ca3a7b1 100644
--- a/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
+++ b/src/com/android/settings/accessibility/AccessibilityDialogUtils.java
@@ -52,6 +52,7 @@
 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;
@@ -247,6 +248,9 @@
                         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;
@@ -255,6 +259,9 @@
                         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;
@@ -358,6 +365,23 @@
                 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);
diff --git a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
index 528801f..1f71ab0 100644
--- a/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
+++ b/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorial.java
@@ -54,6 +54,7 @@
 import androidx.viewpager.widget.PagerAdapter;
 import androidx.viewpager.widget.ViewPager;
 
+import com.android.server.accessibility.Flags;
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.widget.LottieColorUtils;
@@ -170,13 +171,6 @@
     static AlertDialog createAccessibilityTutorialDialogForSetupWizard(Context context,
             int shortcutTypes, @Nullable DialogInterface.OnClickListener actionButtonListener) {
 
-        final int category = SettingsEnums.SWITCH_SHORTCUT_DIALOG_ACCESSIBILITY_BUTTON_SETTINGS;
-        final DialogInterface.OnClickListener linkButtonListener =
-                (dialog, which) -> new SubSettingLauncher(context)
-                        .setDestination(AccessibilityButtonFragment.class.getName())
-                        .setSourceMetricsCategory(category)
-                        .launch();
-
         final AlertDialog alertDialog = new AlertDialog.Builder(context)
                 .setPositiveButton(R.string.accessibility_tutorial_dialog_button,
                         actionButtonListener)
@@ -418,6 +412,23 @@
         return new TutorialPage(type, title, image, indicatorIcon, instruction);
     }
 
+    private static TutorialPage createTwoFingerTripleTapTutorialPage(@NonNull Context context) {
+        // TODO(b/308088945): Update tutorial string and image when UX provides them
+        final int type = UserShortcutType.TWOFINGERTRIPLETAP;
+        final CharSequence title =
+                context.getText(R.string.accessibility_tutorial_dialog_title_two_finger_double);
+        final View image =
+                createIllustrationViewWithImageRawResource(context,
+                        R.raw.a11y_shortcut_type_triple_tap);
+        final CharSequence instruction =
+                context.getText(R.string.accessibility_tutorial_dialog_message_two_finger_triple);
+        final ImageView indicatorIcon =
+                createImageView(context, R.drawable.ic_accessibility_page_indicator);
+        indicatorIcon.setEnabled(false);
+
+        return new TutorialPage(type, title, image, indicatorIcon, instruction);
+    }
+
     @VisibleForTesting
     static List<TutorialPage> createShortcutTutorialPages(@NonNull Context context,
             int shortcutTypes) {
@@ -434,6 +445,13 @@
             tutorialPages.add(createTripleTapTutorialPage(context));
         }
 
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if ((shortcutTypes & UserShortcutType.TWOFINGERTRIPLETAP)
+                    == UserShortcutType.TWOFINGERTRIPLETAP) {
+                tutorialPages.add(createTwoFingerTripleTapTutorialPage(context));
+            }
+        }
+
         return tutorialPages;
     }
 
diff --git a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
index e4611fe..fab6e47 100644
--- a/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
+++ b/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceController.java
@@ -25,9 +25,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentManager;
@@ -35,7 +33,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.bluetooth.BluetoothCallback;
@@ -116,17 +113,7 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            final CachedBluetoothDevice device = mHelper.getConnectedHearingAidDevice();
-            if (FeatureFlagUtils.isEnabled(mContext,
-                    FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE)) {
-                launchHearingAidPage();
-                return true;
-            }
-            if (device == null) {
-                launchHearingAidInstructionDialog();
-            } else {
-                launchBluetoothDeviceDetailSetting(device);
-            }
+            launchHearingAidPage();
             return true;
         }
         return false;
@@ -184,7 +171,8 @@
         }
 
         if (bluetoothProfile == BluetoothProfile.HEARING_AID) {
-            HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice);
+            HearingAidUtils.launchHearingAidPairingDialog(
+                    mFragmentManager, activeDevice, getMetricsCategory());
         }
     }
 
@@ -214,29 +202,6 @@
         mHearingAidPreference = preference;
     }
 
-    @VisibleForTesting
-    void launchBluetoothDeviceDetailSetting(final CachedBluetoothDevice device) {
-        if (device == null) {
-            return;
-        }
-        final Bundle args = new Bundle();
-        args.putString(BluetoothDeviceDetailsFragment.KEY_DEVICE_ADDRESS,
-                device.getDevice().getAddress());
-
-        new SubSettingLauncher(mContext)
-                .setDestination(BluetoothDeviceDetailsFragment.class.getName())
-                .setArguments(args)
-                .setTitleRes(R.string.device_details_title)
-                .setSourceMetricsCategory(getMetricsCategory())
-                .launch();
-    }
-
-    @VisibleForTesting
-    void launchHearingAidInstructionDialog() {
-        HearingAidDialogFragment fragment = HearingAidDialogFragment.newInstance();
-        fragment.show(mFragmentManager, HearingAidDialogFragment.class.toString());
-    }
-
     private void launchHearingAidPage() {
         new SubSettingLauncher(mContext)
                 .setDestination(AccessibilityHearingAidsFragment.class.getName())
diff --git a/src/com/android/settings/accessibility/AccessibilityHearingAidsFragment.java b/src/com/android/settings/accessibility/AccessibilityHearingAidsFragment.java
index 33fef62..80a03c6 100644
--- a/src/com/android/settings/accessibility/AccessibilityHearingAidsFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityHearingAidsFragment.java
@@ -36,9 +36,9 @@
 /** Accessibility settings for hearing aids. */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class AccessibilityHearingAidsFragment extends AccessibilityShortcutPreferenceFragment {
-
     private static final String TAG = "AccessibilityHearingAidsFragment";
     private static final String KEY_HEARING_OPTIONS_CATEGORY = "hearing_options_category";
+    public static final String KEY_HEARING_DEVICE_ADD_BT_DEVICES = "hearing_device_add_bt_devices";
     private static final int SHORTCUT_PREFERENCE_IN_CATEGORY_INDEX = 20;
     private String mFeatureName;
 
diff --git a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
index 93ec8030..fb50ef1 100644
--- a/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
+++ b/src/com/android/settings/accessibility/AccessibilityServiceWarning.java
@@ -67,7 +67,11 @@
         void uninstallPackage();
     }
 
-    /** Returns a {@link Dialog} to be shown to confirm that they want to enable a service. */
+    /**
+     * Returns a {@link Dialog} to be shown to confirm that they want to enable a service.
+     * @deprecated Use {@link com.android.internal.accessibility.dialog.AccessibilityServiceWarning}
+     */
+    @Deprecated
     public static Dialog createCapabilitiesDialog(@NonNull Context context,
             @NonNull AccessibilityServiceInfo info, @NonNull View.OnClickListener listener,
             @NonNull UninstallActionPerformer performer) {
@@ -131,18 +135,14 @@
     /** Returns a {@link Dialog} to be shown to confirm that they want to disable a service. */
     public static Dialog createDisableDialog(Context context,
             AccessibilityServiceInfo info, DialogInterface.OnClickListener listener) {
-        final AlertDialog dialog = new AlertDialog.Builder(context)
-                .setTitle(context.getString(R.string.disable_service_title,
-                        info.getResolveInfo().loadLabel(context.getPackageManager())))
-                .setMessage(context.getString(R.string.disable_service_message,
-                        context.getString(R.string.accessibility_dialog_button_stop),
-                        getServiceName(context, info)))
+        CharSequence serviceName = getServiceName(context, info);
+
+        return new AlertDialog.Builder(context)
+                .setTitle(context.getString(R.string.disable_service_title, serviceName))
                 .setCancelable(true)
                 .setPositiveButton(R.string.accessibility_dialog_button_stop, listener)
                 .setNegativeButton(R.string.accessibility_dialog_button_cancel, listener)
                 .create();
-
-        return dialog;
     }
 
     // Get the service name and bidi wrap it to protect from bidi side effects.
diff --git a/src/com/android/settings/accessibility/AccessibilitySettings.java b/src/com/android/settings/accessibility/AccessibilitySettings.java
index 426d7c9..16414f8 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettings.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettings.java
@@ -79,7 +79,6 @@
     static final String EXTRA_PREFERENCE_KEY = "preference_key";
     static final String EXTRA_CHECKED = "checked";
     static final String EXTRA_TITLE = "title";
-    static final String EXTRA_TITLE_RES = "title_res";
     static final String EXTRA_RESOLVE_INFO = "resolve_info";
     static final String EXTRA_SUMMARY = "summary";
     static final String EXTRA_INTRO = "intro";
@@ -87,7 +86,6 @@
     static final String EXTRA_COMPONENT_NAME = "component_name";
     static final String EXTRA_SETTINGS_COMPONENT_NAME = "settings_component_name";
     static final String EXTRA_TILE_SERVICE_COMPONENT_NAME = "tile_service_component_name";
-    static final String EXTRA_VIDEO_RAW_RESOURCE_ID = "video_resource";
     static final String EXTRA_LAUNCHED_FROM_SUW = "from_suw";
     static final String EXTRA_ANIMATED_IMAGE_RES = "animated_image_res";
     static final String EXTRA_HTML_DESCRIPTION = "html_description";
@@ -248,7 +246,7 @@
      * @return The service summary
      */
     public static CharSequence getServiceSummary(Context context, AccessibilityServiceInfo info,
-            boolean serviceEnabled) {
+                                                 boolean serviceEnabled) {
         if (serviceEnabled && info.crashed) {
             return context.getText(R.string.accessibility_summary_state_stopped);
         }
@@ -263,11 +261,11 @@
                     context, componentName) != AccessibilityUtil.UserShortcutType.EMPTY;
             serviceState = shortcutEnabled
                     ? context.getText(R.string.accessibility_summary_shortcut_enabled)
-                    : context.getText(R.string.accessibility_summary_shortcut_disabled);
+                    : context.getText(R.string.generic_accessibility_feature_shortcut_off);
         } else {
             serviceState = serviceEnabled
-                    ? context.getText(R.string.accessibility_summary_state_enabled)
-                    : context.getText(R.string.accessibility_summary_state_disabled);
+                    ? context.getText(R.string.generic_accessibility_service_on)
+                    : context.getText(R.string.generic_accessibility_service_off);
         }
 
         final CharSequence serviceSummary = info.loadSummary(context.getPackageManager());
@@ -516,7 +514,7 @@
                 @Override
                 public List<SearchIndexableRaw> getRawDataToIndex(Context context,
                         boolean enabled) {
-                    return FeatureFactory.getFactory(context)
+                    return FeatureFactory.getFeatureFactory()
                             .getAccessibilitySearchFeatureProvider().getSearchIndexableRawData(
                                     context);
                 }
diff --git a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
index 10c3f91..fdf7592 100644
--- a/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
+++ b/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizard.java
@@ -24,7 +24,6 @@
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
-import android.content.Context;
 import android.content.pm.ServiceInfo;
 import android.graphics.Color;
 import android.graphics.drawable.Drawable;
@@ -129,7 +128,6 @@
                 SCREEN_READER_PACKAGE_NAME, SCREEN_READER_SERVICE_NAME);
         updateAccessibilityServicePreference(mSelectToSpeakPreference,
                 SELECT_TO_SPEAK_PACKAGE_NAME, SELECT_TO_SPEAK_SERVICE_NAME);
-        configureMagnificationPreferenceIfNeeded(mDisplayMagnificationPreference);
     }
 
     @Override
@@ -220,13 +218,4 @@
         final String htmlDescription = info.loadHtmlDescription(getPackageManager());
         extras.putString(AccessibilitySettings.EXTRA_HTML_DESCRIPTION, htmlDescription);
     }
-
-    private static void configureMagnificationPreferenceIfNeeded(Preference preference) {
-        final Context context = preference.getContext();
-        preference.setFragment(
-                ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName());
-        final Bundle extras = preference.getExtras();
-        MagnificationGesturesPreferenceController
-                .populateMagnificationGesturesPreferenceExtras(extras, context);
-    }
 }
diff --git a/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java b/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java
index b7a3439..9140fdf 100644
--- a/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java
+++ b/src/com/android/settings/accessibility/AccessibilitySetupWizardUtils.java
@@ -17,20 +17,21 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.text.TextUtils;
 import android.widget.LinearLayout;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.StringRes;
 
-import com.android.settings.R;
-
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
 import com.google.android.setupcompat.template.Mixin;
 import com.google.android.setupdesign.GlifPreferenceLayout;
+import com.google.android.setupdesign.R;
 import com.google.android.setupdesign.util.ThemeHelper;
 
 /** Provides utility methods to accessibility settings for Setup Wizard only. */
-class AccessibilitySetupWizardUtils {
+public class AccessibilitySetupWizardUtils {
 
     private AccessibilitySetupWizardUtils(){}
 
@@ -46,10 +47,19 @@
      * @param icon The icon to be set
      */
     public static void updateGlifPreferenceLayout(Context context, GlifPreferenceLayout layout,
-            CharSequence title, CharSequence description, Drawable icon) {
-        layout.setHeaderText(title);
-        layout.setDescriptionText(description);
-        layout.setIcon(icon);
+            @Nullable CharSequence title, @Nullable CharSequence description,
+            @Nullable Drawable icon) {
+        if (!TextUtils.isEmpty(title)) {
+            layout.setHeaderText(title);
+        }
+
+        if (!TextUtils.isEmpty(description)) {
+            layout.setDescriptionText(description);
+        }
+
+        if (icon != null) {
+            layout.setIcon(icon);
+        }
         layout.setDividerInsets(Integer.MAX_VALUE, 0);
 
         if (ThemeHelper.shouldApplyMaterialYouStyle(context)) {
diff --git a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
index b414add..09a691e 100644
--- a/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragment.java
@@ -44,6 +44,7 @@
 
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
+import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.utils.LocaleUtils;
 
@@ -251,7 +252,17 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        showDialog(DialogEnums.EDIT_SHORTCUT);
+        if (Flags.editShortcutsInFullScreen()) {
+            EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                    getContext(),
+                    getMetricsCategory(),
+                    getShortcutTitle(),
+                    getComponentName(),
+                    getIntent()
+            );
+        } else {
+            showDialog(DialogEnums.EDIT_SHORTCUT);
+        }
     }
 
     @Override
@@ -261,7 +272,7 @@
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
-                getComponentName().flattenToString(), AccessibilityUtil.UserShortcutType.SOFTWARE);
+                getComponentName().flattenToString());
         if (preference.isChecked()) {
             AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
                     getComponentName());
@@ -434,11 +445,11 @@
         }
 
         if (!mShortcutPreference.isChecked()) {
-            return context.getText(R.string.switch_off_text);
+            return context.getText(R.string.accessibility_shortcut_state_off);
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(context,
-                getComponentName().flattenToString(), AccessibilityUtil.UserShortcutType.SOFTWARE);
+                getComponentName().flattenToString());
 
         final List<CharSequence> list = new ArrayList<>();
 
@@ -466,8 +477,8 @@
         int value = restoreOnConfigChangedValue();
         if (value == NOT_SET) {
             final int lastNonEmptyUserShortcutType = PreferredShortcuts.retrieveUserShortcutType(
-                    getPrefContext(), getComponentName().flattenToString(),
-                    AccessibilityUtil.UserShortcutType.SOFTWARE);
+                    getPrefContext(), getComponentName().flattenToString()
+            );
             value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
                     : AccessibilityUtil.UserShortcutType.EMPTY;
         }
@@ -508,7 +519,7 @@
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
-                getComponentName().flattenToString(), AccessibilityUtil.UserShortcutType.SOFTWARE);
+                getComponentName().flattenToString());
         mShortcutPreference.setChecked(
                 AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes,
                         getComponentName()));
diff --git a/src/com/android/settings/accessibility/AccessibilityUtil.java b/src/com/android/settings/accessibility/AccessibilityUtil.java
index e2e2933..3b81bdb 100644
--- a/src/com/android/settings/accessibility/AccessibilityUtil.java
+++ b/src/com/android/settings/accessibility/AccessibilityUtil.java
@@ -37,10 +37,9 @@
 
 import androidx.annotation.IntDef;
 import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settings.R;
-
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.util.StringJoiner;
@@ -95,6 +94,7 @@
             UserShortcutType.SOFTWARE,
             UserShortcutType.HARDWARE,
             UserShortcutType.TRIPLETAP,
+            UserShortcutType.TWOFINGERTRIPLETAP,
     })
 
     /** Denotes the user shortcut type. */
@@ -103,6 +103,7 @@
         int SOFTWARE = 1; // 1 << 0
         int HARDWARE = 2; // 1 << 1
         int TRIPLETAP = 4; // 1 << 2
+        int TWOFINGERTRIPLETAP = 8; // 1 << 3
     }
 
     /**
@@ -124,15 +125,15 @@
     }
 
     /**
-     * Return On/Off string according to the setting which specifies the integer value 1 or 0. This
+     * Returns On/Off string according to the setting which specifies the integer value 1 or 0. This
      * setting is defined in the secure system settings {@link android.provider.Settings.Secure}.
      */
-    static CharSequence getSummary(Context context, String settingsSecureKey) {
-        final boolean enabled = Settings.Secure.getInt(context.getContentResolver(),
+    static CharSequence getSummary(
+            Context context, String settingsSecureKey, @StringRes int enabledString,
+            @StringRes int disabledString) {
+        boolean enabled = Settings.Secure.getInt(context.getContentResolver(),
                 settingsSecureKey, State.OFF) == State.ON;
-        final int resId = enabled ? R.string.accessibility_feature_state_on
-                : R.string.accessibility_feature_state_off;
-        return context.getResources().getText(resId);
+        return context.getResources().getText(enabled ? enabledString : disabledString);
     }
 
     /**
diff --git a/src/com/android/settings/accessibility/ArrowPreference.java b/src/com/android/settings/accessibility/ArrowPreference.java
new file mode 100644
index 0000000..32e2bcb
--- /dev/null
+++ b/src/com/android/settings/accessibility/ArrowPreference.java
@@ -0,0 +1,58 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.core.content.res.TypedArrayUtils;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+
+/**
+ * A settings preference with colored rounded rectangle background and an arrow icon on the right
+ */
+public class ArrowPreference extends Preference {
+
+    public ArrowPreference(@NonNull Context context) {
+        this(context, null);
+    }
+
+    public ArrowPreference(@NonNull Context context, @Nullable AttributeSet attrs) {
+        this(context, attrs, TypedArrayUtils.getAttr(context,
+                androidx.preference.R.attr.preferenceStyle,
+                android.R.attr.preferenceStyle));
+    }
+
+    public ArrowPreference(@NonNull Context context, @Nullable AttributeSet attrs,
+            int defStyleAttr) {
+        this(context, attrs, defStyleAttr, 0);
+    }
+
+    public ArrowPreference(@NonNull Context context, @Nullable AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init();
+    }
+
+    private void init() {
+        setLayoutResource(R.layout.arrow_preference);
+    }
+}
diff --git a/src/com/android/settings/accessibility/AutoclickPreferenceController.java b/src/com/android/settings/accessibility/AutoclickPreferenceController.java
index 74cd0ac..dc219d6 100644
--- a/src/com/android/settings/accessibility/AutoclickPreferenceController.java
+++ b/src/com/android/settings/accessibility/AutoclickPreferenceController.java
@@ -53,7 +53,7 @@
         final boolean enabled = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, OFF) == ON;
         if (!enabled) {
-            return mContext.getResources().getText(R.string.accessibility_feature_state_off);
+            return mContext.getResources().getText(R.string.autoclick_disabled);
         }
         final int delayMillis = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY,
diff --git a/src/com/android/settings/accessibility/AvailableHearingDevicePreferenceController.java b/src/com/android/settings/accessibility/AvailableHearingDevicePreferenceController.java
index 076432c..c8692a1 100644
--- a/src/com/android/settings/accessibility/AvailableHearingDevicePreferenceController.java
+++ b/src/com/android/settings/accessibility/AvailableHearingDevicePreferenceController.java
@@ -103,7 +103,8 @@
         }
 
         if (bluetoothProfile == BluetoothProfile.HEARING_AID) {
-            HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice);
+            HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice,
+                    getMetricsCategory());
         }
     }
 }
diff --git a/src/com/android/settings/accessibility/BalanceSeekBarPreference.java b/src/com/android/settings/accessibility/BalanceSeekBarPreference.java
index b03c8ab..0254cae 100644
--- a/src/com/android/settings/accessibility/BalanceSeekBarPreference.java
+++ b/src/com/android/settings/accessibility/BalanceSeekBarPreference.java
@@ -17,16 +17,12 @@
 package com.android.settings.accessibility;
 
 import android.content.Context;
-import android.media.AudioSystem;
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.util.AttributeSet;
-import android.view.View;
 import android.widget.ImageView;
-import android.widget.SeekBar;
 
 import androidx.core.content.res.TypedArrayUtils;
-import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
@@ -43,7 +39,7 @@
 
     public BalanceSeekBarPreference(Context context, AttributeSet attrs) {
         super(context, attrs, TypedArrayUtils.getAttr(context,
-                R.attr.preferenceStyle,
+                com.android.settingslib.R.attr.preferenceStyle,
                 android.R.attr.preferenceStyle));
         mContext = context;
         setLayoutResource(R.layout.preference_balance_slider);
diff --git a/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java b/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java
index 8b9b888..7c96b0f 100644
--- a/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/CameraFlashNotificationPreferenceController.java
@@ -49,7 +49,7 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().changed(
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(
                 getMetricsCategory(), getPreferenceKey(), isChecked ? 1 : 0);
         return Settings.System.putInt(mContext.getContentResolver(),
                 Settings.System.CAMERA_FLASH_NOTIFICATION, (isChecked ? ON : OFF));
diff --git a/src/com/android/settings/accessibility/CaptioningPreferenceController.java b/src/com/android/settings/accessibility/CaptioningPreferenceController.java
index 35d9507..563aad5 100644
--- a/src/com/android/settings/accessibility/CaptioningPreferenceController.java
+++ b/src/com/android/settings/accessibility/CaptioningPreferenceController.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.provider.Settings;
 
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 public class CaptioningPreferenceController extends BasePreferenceController {
@@ -35,6 +36,8 @@
     @Override
     public CharSequence getSummary() {
         return AccessibilityUtil.getSummary(mContext,
-                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED);
+                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED,
+                R.string.show_captions_enabled,
+                R.string.show_captions_disabled);
     }
 }
diff --git a/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java b/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java
index a9d2cdf..10e1fca 100644
--- a/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java
+++ b/src/com/android/settings/accessibility/CaptioningTogglePreferenceController.java
@@ -17,18 +17,18 @@
 package com.android.settings.accessibility;
 
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /** Preference controller for captioning more options. */
 public class CaptioningTogglePreferenceController extends TogglePreferenceController
-        implements OnMainSwitchChangeListener {
+        implements OnCheckedChangeListener {
 
     private final CaptionHelper mCaptionHelper;
 
@@ -63,7 +63,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked != isChecked()) {
             setChecked(isChecked);
         }
diff --git a/src/com/android/settings/accessibility/ColorAndMotionFragment.java b/src/com/android/settings/accessibility/ColorAndMotionFragment.java
index 921aa4e..28c5335 100644
--- a/src/com/android/settings/accessibility/ColorAndMotionFragment.java
+++ b/src/com/android/settings/accessibility/ColorAndMotionFragment.java
@@ -21,11 +21,13 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.provider.Settings;
+import android.view.accessibility.Flags;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -47,10 +49,12 @@
     private static final String DISPLAY_DALTONIZER_PREFERENCE_SCREEN = "daltonizer_preference";
     private static final String TOGGLE_DISABLE_ANIMATIONS = "toggle_disable_animations";
     private static final String TOGGLE_LARGE_POINTER_ICON = "toggle_large_pointer_icon";
+    @VisibleForTesting
+    static final String TOGGLE_FORCE_INVERT = "toggle_force_invert";
 
     private Preference mDisplayDaltonizerPreferenceScreen;
-    private SwitchPreference mToggleDisableAnimationsPreference;
-    private SwitchPreference mToggleLargePointerIconPreference;
+    private TwoStatePreference mToggleDisableAnimationsPreference;
+    private TwoStatePreference mToggleLargePointerIconPreference;
     private AccessibilitySettingsContentObserver mSettingsContentObserver;
 
     private final List<String> mShortcutFeatureKeys = new ArrayList<>();
@@ -68,6 +72,11 @@
 
         mShortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED);
         mShortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED);
+        mShortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
+        mShortcutFeatureKeys.add(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS);
+        if (Flags.forceInvertColor()) {
+            mShortcutFeatureKeys.add(ToggleForceInvertPreferenceController.SETTINGS_KEY);
+        }
 
         mSettingsContentObserver = new AccessibilitySettingsContentObserver(new Handler());
         mSettingsContentObserver.registerKeysToObserverCallback(mShortcutFeatureKeys,
@@ -123,8 +132,6 @@
         final PreferenceCategory experimentalCategory = getPreferenceScreen().findPreference(
                 CATEGORY_EXPERIMENTAL);
         if (ColorDisplayManager.isColorTransformAccelerated(getContext())) {
-            mDisplayDaltonizerPreferenceScreen.setSummary(AccessibilityUtil.getSummary(
-                    getContext(), Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED));
             getPreferenceScreen().removePreference(experimentalCategory);
         } else {
             // Move following preferences to experimental category if device don't supports HWC
diff --git a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
index 926bc0d..5b20714 100644
--- a/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
+++ b/src/com/android/settings/accessibility/ColorInversionPreferenceController.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.provider.Settings;
 
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 /** Controller that shows the color inversion summary. */
@@ -33,7 +34,10 @@
 
     @Override
     public CharSequence getSummary() {
-        return AccessibilityUtil.getSummary(mContext, DISPLAY_INVERSION_ENABLED);
+        return AccessibilityUtil.getSummary(
+                mContext,
+                DISPLAY_INVERSION_ENABLED,
+                R.string.color_inversion_state_on, R.string.color_inversion_state_off);
     }
 
     @Override
diff --git a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
index c859d8c..f89cb54 100644
--- a/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
+++ b/src/com/android/settings/accessibility/DaltonizerPreferenceController.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.provider.Settings;
 
+import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 /** Controller that shows and updates the color correction summary. */
@@ -37,6 +38,9 @@
 
     @Override
     public CharSequence getSummary() {
-        return AccessibilityUtil.getSummary(mContext, DALTONIZER_ENABLED);
+        return AccessibilityUtil.getSummary(
+                mContext,
+                DALTONIZER_ENABLED,
+                R.string.daltonizer_state_on, R.string.daltonizer_state_off);
     }
 }
diff --git a/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java b/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
index 2ec1d70..2333ed3 100644
--- a/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
+++ b/src/com/android/settings/accessibility/DisableAnimationsPreferenceController.java
@@ -26,7 +26,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -62,7 +62,7 @@
     };
 
     private final ContentResolver mContentResolver;
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
 
     public DisableAnimationsPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
diff --git a/src/com/android/settings/accessibility/ExpandablePreference.java b/src/com/android/settings/accessibility/ExpandablePreference.java
new file mode 100644
index 0000000..b84c0c1
--- /dev/null
+++ b/src/com/android/settings/accessibility/ExpandablePreference.java
@@ -0,0 +1,33 @@
+/*
+ * 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.accessibility;
+
+/**
+ * An interface denoting a preference is expandable
+ */
+public interface ExpandablePreference {
+
+    /**
+     * Set the expandable state of the preference
+     */
+    void setExpanded(boolean expanded);
+
+    /**
+     * Returns if the preference is currently expanded.
+     */
+    boolean isExpanded();
+}
diff --git a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java
index 0141084..5b669fa 100644
--- a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java
+++ b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreference.java
@@ -62,7 +62,8 @@
 
     private void init() {
         setLayoutResource(R.layout.flash_notification_preview_preference);
-        mBackgroundEnabled = getContext().getDrawable(R.drawable.settingslib_switch_bar_bg_on);
+        mBackgroundEnabled = getContext().getDrawable(
+                com.android.settingslib.widget.mainswitch.R.drawable.settingslib_switch_bar_bg_on);
         mBackgroundDisabled = getContext().getDrawable(R.drawable.switch_bar_bg_disabled);
         mTextColorDisabled = Utils.getColorAttrDefaultColor(getContext(),
                 android.R.attr.textColorPrimary);
diff --git a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
index f137584..ae1adfa 100644
--- a/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
+++ b/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceController.java
@@ -28,6 +28,7 @@
 import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.UserHandle;
 import android.provider.Settings;
 
 import androidx.annotation.NonNull;
@@ -81,7 +82,7 @@
         if (getPreferenceKey().equals(preference.getKey())) {
             Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
             intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW);
-            mContext.sendBroadcast(intent);
+            mContext.sendBroadcastAsUser(intent, UserHandle.SYSTEM);
             return true;
         }
 
diff --git a/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java b/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java
index dd419d0..3d36aa4 100644
--- a/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java
+++ b/src/com/android/settings/accessibility/FloatingMenuFadePreferenceController.java
@@ -26,7 +26,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -45,7 +45,7 @@
     final ContentObserver mContentObserver;
 
     @VisibleForTesting
-    SwitchPreference mPreference;
+    TwoStatePreference mPreference;
 
     public FloatingMenuFadePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
@@ -81,7 +81,7 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
+        final TwoStatePreference switchPreference = (TwoStatePreference) preference;
 
         switchPreference.setChecked(getFloatingMenuFadeValue() == ON);
     }
diff --git a/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java b/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java
index bd447be..7d4f495 100644
--- a/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java
+++ b/src/com/android/settings/accessibility/FloatingMenuSizePreferenceController.java
@@ -52,11 +52,12 @@
 
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({
+            Size.UNKNOWN,
             Size.SMALL,
             Size.LARGE,
     })
-    @VisibleForTesting
-    @interface Size {
+    public @interface Size {
+        int UNKNOWN = -1;
         int SMALL = 0;
         int LARGE = 1;
     }
diff --git a/src/com/android/settings/accessibility/FontSizeData.java b/src/com/android/settings/accessibility/FontSizeData.java
index 1226d25..096710d 100644
--- a/src/com/android/settings/accessibility/FontSizeData.java
+++ b/src/com/android/settings/accessibility/FontSizeData.java
@@ -25,6 +25,7 @@
 import android.provider.Settings;
 
 import com.android.settingslib.R;
+import com.android.window.flags.Flags;
 
 import java.util.Arrays;
 import java.util.List;
@@ -38,12 +39,11 @@
 
     FontSizeData(Context context) {
         super(context);
-
         final Resources resources = getContext().getResources();
         final ContentResolver resolver = getContext().getContentResolver();
         final List<String> strEntryValues =
                 Arrays.asList(resources.getStringArray(R.array.entryvalues_font_size));
-        setDefaultValue(FONT_SCALE_DEF_VALUE);
+        setDefaultValue(getFontScaleDefValue(resolver));
         final float currentScale =
                 Settings.System.getFloat(resolver, Settings.System.FONT_SCALE, getDefaultValue());
         setInitialIndex(fontSizeValueToIndex(currentScale, strEntryValues.toArray(new String[0])));
@@ -78,4 +78,10 @@
         }
         return indices.length - 1;
     }
+
+    private float getFontScaleDefValue(ContentResolver resolver) {
+        return Flags.configurableFontScaleDefault() ? Settings.System.getFloat(resolver,
+                Settings.System.DEFAULT_DEVICE_FONT_SCALE, FONT_SCALE_DEF_VALUE)
+                : FONT_SCALE_DEF_VALUE;
+    }
 }
diff --git a/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java b/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java
index 71e4a21..727cdd5 100644
--- a/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java
+++ b/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceController.java
@@ -22,6 +22,7 @@
 import android.telephony.TelephonyManager;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 
@@ -49,8 +50,18 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return mTelephonyManager.isHearingAidCompatibilitySupported() ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
+        if (Flags.enforceTelephonyFeatureMappingForPublicApis()) {
+            try {
+                return mTelephonyManager.isHearingAidCompatibilitySupported() ? AVAILABLE
+                        : UNSUPPORTED_ON_DEVICE;
+            } catch (UnsupportedOperationException e) {
+                // Device doesn't support FEATURE_TELEPHONY_CALLING
+                return UNSUPPORTED_ON_DEVICE;
+            }
+        } else {
+            return mTelephonyManager.isHearingAidCompatibilitySupported() ? AVAILABLE
+                    : UNSUPPORTED_ON_DEVICE;
+        }
     }
 
     @Override
@@ -73,6 +84,6 @@
     }
 
     private void setAudioParameterHacEnabled(boolean enabled) {
-        mAudioManager.setParameters(HAC_KEY + "=" + (enabled ? HAC_VAL_ON : HAC_VAL_OFF));
+        mAudioManager.setParameters(HAC_KEY + "=" + (enabled ? HAC_VAL_ON : HAC_VAL_OFF) + ";");
     }
 }
diff --git a/src/com/android/settings/accessibility/HearingAidUtils.java b/src/com/android/settings/accessibility/HearingAidUtils.java
index 4315093..edf2d9f 100644
--- a/src/com/android/settings/accessibility/HearingAidUtils.java
+++ b/src/com/android/settings/accessibility/HearingAidUtils.java
@@ -38,34 +38,30 @@
      *
      * @param fragmentManager The {@link FragmentManager} used to show dialog fragment
      * @param device The {@link CachedBluetoothDevice} need to be hearing aid device
+     * @param launchPage The page id where the dialog is launched
      */
     public static void launchHearingAidPairingDialog(FragmentManager fragmentManager,
-            @NonNull CachedBluetoothDevice device) {
-        // No need to show the pair another ear dialog if the device supports and enables CSIP.
+            @NonNull CachedBluetoothDevice device, int launchPage) {
+        // No need to show the pair another ear dialog if the device supports CSIP.
         // CSIP will pair other devices in the same set automatically.
-        if (isCsipSupportedAndEnabled(device)) {
+        if (device.getProfiles().stream().anyMatch(
+                profile -> profile instanceof CsipSetCoordinatorProfile)) {
             return;
         }
         if (device.isConnectedAshaHearingAidDevice()
                 && device.getDeviceMode() == HearingAidInfo.DeviceMode.MODE_BINAURAL
                 && device.getSubDevice() == null) {
-            launchHearingAidPairingDialogInternal(fragmentManager, device);
+            launchHearingAidPairingDialogInternal(fragmentManager, device, launchPage);
         }
     }
 
     private static void launchHearingAidPairingDialogInternal(FragmentManager fragmentManager,
-            @NonNull CachedBluetoothDevice device) {
+            @NonNull CachedBluetoothDevice device, int launchPage) {
         if (device.getDeviceSide() == HearingAidInfo.DeviceSide.SIDE_INVALID) {
             Log.w(TAG, "Can not launch hearing aid pairing dialog for invalid side");
             return;
         }
-        HearingAidPairingDialogFragment.newInstance(device.getAddress()).show(fragmentManager,
-                HearingAidPairingDialogFragment.TAG);
-    }
-
-    private static boolean isCsipSupportedAndEnabled(@NonNull CachedBluetoothDevice device) {
-        return device.getProfiles().stream().anyMatch(
-                profile -> (profile instanceof CsipSetCoordinatorProfile)
-                        && (profile.isEnabled(device.getDevice())));
+        HearingAidPairingDialogFragment.newInstance(device.getAddress(), launchPage)
+                .show(fragmentManager, HearingAidPairingDialogFragment.TAG);
     }
 }
diff --git a/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceController.java b/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceController.java
index 8ca2663..d8db406 100644
--- a/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceController.java
+++ b/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceController.java
@@ -20,7 +20,6 @@
 import android.provider.Settings;
 
 import com.android.settings.Utils;
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
@@ -28,9 +27,6 @@
  */
 public class HearingDeviceCallRoutingPreferenceController extends
         HearingDeviceAudioRoutingBasePreferenceController {
-
-    private CachedBluetoothDevice mHearingDevice;
-
     public HearingDeviceCallRoutingPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
diff --git a/src/com/android/settings/accessibility/HearingDeviceMediaRoutingPreferenceController.java b/src/com/android/settings/accessibility/HearingDeviceMediaRoutingPreferenceController.java
index cd99ce0..8e19920 100644
--- a/src/com/android/settings/accessibility/HearingDeviceMediaRoutingPreferenceController.java
+++ b/src/com/android/settings/accessibility/HearingDeviceMediaRoutingPreferenceController.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.provider.Settings;
 
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
@@ -27,9 +26,6 @@
  */
 public class HearingDeviceMediaRoutingPreferenceController extends
         HearingDeviceAudioRoutingBasePreferenceController {
-
-    private CachedBluetoothDevice mHearingDevice;
-
     public HearingDeviceMediaRoutingPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
diff --git a/src/com/android/settings/accessibility/HearingDeviceNotificationRoutingPreferenceController.java b/src/com/android/settings/accessibility/HearingDeviceNotificationRoutingPreferenceController.java
new file mode 100644
index 0000000..c875fd7
--- /dev/null
+++ b/src/com/android/settings/accessibility/HearingDeviceNotificationRoutingPreferenceController.java
@@ -0,0 +1,54 @@
+/*
+ * 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.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
+
+/**
+ * The controller of the hearing device notification routing list preference.
+ */
+public class HearingDeviceNotificationRoutingPreferenceController extends
+        HearingDeviceAudioRoutingBasePreferenceController {
+
+    public HearingDeviceNotificationRoutingPreferenceController(Context context,
+            String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    protected int[] getSupportedAttributeList() {
+        return HearingAidAudioRoutingConstants.NOTIFICATION_ROUTING_ATTRIBUTES;
+
+    }
+
+    @Override
+    protected void saveRoutingValue(Context context, int routingValue) {
+        Settings.Secure.putInt(context.getContentResolver(),
+                Settings.Secure.HEARING_AID_NOTIFICATION_ROUTING, routingValue);
+
+    }
+
+    @Override
+    protected int restoreRoutingValue(Context context) {
+        return Settings.Secure.getInt(context.getContentResolver(),
+                Settings.Secure.HEARING_AID_NOTIFICATION_ROUTING,
+                HearingAidAudioRoutingConstants.RoutingValue.AUTO);
+    }
+}
diff --git a/src/com/android/settings/accessibility/HearingDevicePairingFragment.java b/src/com/android/settings/accessibility/HearingDevicePairingFragment.java
new file mode 100644
index 0000000..0b762f3
--- /dev/null
+++ b/src/com/android/settings/accessibility/HearingDevicePairingFragment.java
@@ -0,0 +1,508 @@
+/*
+ * 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.accessibility;
+
+import static android.app.Activity.RESULT_OK;
+import static android.bluetooth.BluetoothGatt.GATT_SUCCESS;
+import static android.os.UserManager.DISALLOW_CONFIG_BLUETOOTH;
+
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothGatt;
+import android.bluetooth.BluetoothGattCallback;
+import android.bluetooth.BluetoothManager;
+import android.bluetooth.BluetoothProfile;
+import android.bluetooth.BluetoothUuid;
+import android.bluetooth.le.BluetoothLeScanner;
+import android.bluetooth.le.ScanCallback;
+import android.bluetooth.le.ScanFilter;
+import android.bluetooth.le.ScanRecord;
+import android.bluetooth.le.ScanResult;
+import android.bluetooth.le.ScanSettings;
+import android.content.Context;
+import android.os.Bundle;
+import android.os.ParcelUuid;
+import android.os.SystemProperties;
+import android.util.Log;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.BluetoothDevicePreference;
+import com.android.settings.bluetooth.BluetoothProgressCategory;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.HearingAidInfo;
+import com.android.settingslib.bluetooth.HearingAidStatsLogUtils;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * This fragment shows all scanned hearing devices through BLE scanning. Users can
+ * pair them in this page.
+ */
+public class HearingDevicePairingFragment extends RestrictedDashboardFragment implements
+        BluetoothCallback {
+
+    private static final boolean DEBUG = true;
+    private static final String TAG = "HearingDevicePairingFragment";
+    private static final String BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY =
+            "persist.bluetooth.showdeviceswithoutnames";
+    private static final String KEY_AVAILABLE_HEARING_DEVICES = "available_hearing_devices";
+
+    LocalBluetoothManager mLocalManager;
+    @Nullable
+    BluetoothAdapter mBluetoothAdapter;
+    @Nullable
+    CachedBluetoothDeviceManager mCachedDeviceManager;
+
+    private boolean mShowDevicesWithoutNames;
+    @Nullable
+    private BluetoothProgressCategory mAvailableHearingDeviceGroup;
+
+    @Nullable
+    BluetoothDevice mSelectedDevice;
+    final List<BluetoothDevice> mSelectedDeviceList = new ArrayList<>();
+    final List<BluetoothGatt> mConnectingGattList = new ArrayList<>();
+    final Map<CachedBluetoothDevice, BluetoothDevicePreference> mDevicePreferenceMap =
+            new HashMap<>();
+
+    private List<ScanFilter> mLeScanFilters;
+
+    public HearingDevicePairingFragment() {
+        super(DISALLOW_CONFIG_BLUETOOTH);
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mLocalManager = Utils.getLocalBtManager(getActivity());
+        if (mLocalManager == null) {
+            Log.e(TAG, "Bluetooth is not supported on this device");
+            return;
+        }
+        mBluetoothAdapter = getSystemService(BluetoothManager.class).getAdapter();
+        mCachedDeviceManager = mLocalManager.getCachedDeviceManager();
+        mShowDevicesWithoutNames = SystemProperties.getBoolean(
+                BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY, false);
+
+        initPreferencesFromPreferenceScreen();
+        initHearingDeviceLeScanFilters();
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        use(ViewAllBluetoothDevicesPreferenceController.class).init(this);
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (mLocalManager == null || mBluetoothAdapter == null || isUiRestricted()) {
+            return;
+        }
+        mLocalManager.setForegroundActivity(getActivity());
+        mLocalManager.getEventManager().registerCallback(this);
+        if (mBluetoothAdapter.isEnabled()) {
+            startScanning();
+        } else {
+            // Turn on bluetooth if it is disabled
+            mBluetoothAdapter.enable();
+        }
+    }
+
+    @Override
+    public void onStop() {
+        super.onStop();
+        if (mLocalManager == null || isUiRestricted()) {
+            return;
+        }
+        stopScanning();
+        removeAllDevices();
+        for (BluetoothGatt gatt: mConnectingGattList) {
+            gatt.disconnect();
+        }
+        mConnectingGattList.clear();
+        mLocalManager.setForegroundActivity(null);
+        mLocalManager.getEventManager().unregisterCallback(this);
+    }
+
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        if (preference instanceof BluetoothDevicePreference) {
+            stopScanning();
+            BluetoothDevicePreference devicePreference = (BluetoothDevicePreference) preference;
+            mSelectedDevice = devicePreference.getCachedDevice().getDevice();
+            if (mSelectedDevice != null) {
+                mSelectedDeviceList.add(mSelectedDevice);
+            }
+            devicePreference.onClicked();
+            return true;
+        }
+        return super.onPreferenceTreeClick(preference);
+    }
+
+    @Override
+    public void onDeviceDeleted(@NonNull CachedBluetoothDevice cachedDevice) {
+        removeDevice(cachedDevice);
+    }
+
+    @Override
+    public void onBluetoothStateChanged(int bluetoothState) {
+        switch (bluetoothState) {
+            case BluetoothAdapter.STATE_ON:
+                startScanning();
+                showBluetoothTurnedOnToast();
+                break;
+            case BluetoothAdapter.STATE_OFF:
+                finish();
+                break;
+        }
+    }
+
+    @Override
+    public void onDeviceBondStateChanged(@NonNull CachedBluetoothDevice cachedDevice,
+            int bondState) {
+        if (DEBUG) {
+            Log.d(TAG, "onDeviceBondStateChanged: " + cachedDevice.getDevice() + ", state = "
+                    + bondState);
+        }
+        if (bondState == BluetoothDevice.BOND_BONDED) {
+            // If one device is connected(bonded), then close this fragment.
+            setResult(RESULT_OK);
+            finish();
+            return;
+        } else if (bondState == BluetoothDevice.BOND_BONDING) {
+            // Set the bond entry where binding process starts for logging hearing aid device info
+            final int pageId = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
+                    .getAttribution(getActivity());
+            final int bondEntry = AccessibilityStatsLogUtils.convertToHearingAidInfoBondEntry(
+                    pageId);
+            HearingAidStatsLogUtils.setBondEntryForDevice(bondEntry, cachedDevice);
+        }
+        if (mSelectedDevice != null) {
+            BluetoothDevice device = cachedDevice.getDevice();
+            if (mSelectedDevice.equals(device) && bondState == BluetoothDevice.BOND_NONE) {
+                // If current selected device failed to bond, restart scanning
+                startScanning();
+            }
+        }
+    }
+
+    @Override
+    public void onProfileConnectionStateChanged(@NonNull CachedBluetoothDevice cachedDevice,
+            int state, int bluetoothProfile) {
+        // This callback is used to handle the case that bonded device is connected in pairing list.
+        // 1. If user selected multiple bonded devices in pairing list, after connected
+        // finish this page.
+        // 2. If the bonded devices auto connected in paring list, after connected it will be
+        // removed from paring list.
+        if (cachedDevice.isConnected()) {
+            final BluetoothDevice device = cachedDevice.getDevice();
+            if (device != null && mSelectedDeviceList.contains(device)) {
+                setResult(RESULT_OK);
+                finish();
+            } else {
+                removeDevice(cachedDevice);
+            }
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.HEARING_AID_PAIRING;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.hearing_device_pairing_fragment;
+    }
+
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    void addDevice(CachedBluetoothDevice cachedDevice) {
+        if (mBluetoothAdapter == null) {
+            return;
+        }
+        // Do not create new preference while the list shows one of the state messages
+        if (mBluetoothAdapter.getState() != BluetoothAdapter.STATE_ON) {
+            return;
+        }
+        if (mDevicePreferenceMap.get(cachedDevice) != null) {
+            return;
+        }
+        String key = cachedDevice.getDevice().getAddress();
+        BluetoothDevicePreference preference = (BluetoothDevicePreference) getCachedPreference(key);
+        if (preference == null) {
+            preference = new BluetoothDevicePreference(getPrefContext(), cachedDevice,
+                    mShowDevicesWithoutNames, BluetoothDevicePreference.SortType.TYPE_FIFO);
+            preference.setKey(key);
+            preference.hideSecondTarget(true);
+        }
+        if (mAvailableHearingDeviceGroup != null) {
+            mAvailableHearingDeviceGroup.addPreference(preference);
+        }
+        mDevicePreferenceMap.put(cachedDevice, preference);
+        if (DEBUG) {
+            Log.d(TAG, "Add device. device: " + cachedDevice.getDevice());
+        }
+    }
+
+    void removeDevice(CachedBluetoothDevice cachedDevice) {
+        if (DEBUG) {
+            Log.d(TAG, "removeDevice: " + cachedDevice.getDevice());
+        }
+        BluetoothDevicePreference preference = mDevicePreferenceMap.remove(cachedDevice);
+        if (mAvailableHearingDeviceGroup != null && preference != null) {
+            mAvailableHearingDeviceGroup.removePreference(preference);
+        }
+    }
+
+    void startScanning() {
+        if (mCachedDeviceManager != null) {
+            mCachedDeviceManager.clearNonBondedDevices();
+        }
+        removeAllDevices();
+        startLeScanning();
+    }
+
+    void stopScanning() {
+        stopLeScanning();
+    }
+
+    private final ScanCallback mLeScanCallback = new ScanCallback() {
+        @Override
+        public void onScanResult(int callbackType, ScanResult result) {
+            handleLeScanResult(result);
+        }
+
+        @Override
+        public void onBatchScanResults(List<ScanResult> results) {
+            for (ScanResult result: results) {
+                handleLeScanResult(result);
+            }
+        }
+
+        @Override
+        public void onScanFailed(int errorCode) {
+            Log.w(TAG, "BLE Scan failed with error code " + errorCode);
+        }
+    };
+
+    void handleLeScanResult(ScanResult result) {
+        if (mCachedDeviceManager == null) {
+            return;
+        }
+        final BluetoothDevice device = result.getDevice();
+        CachedBluetoothDevice cachedDevice = mCachedDeviceManager.findDevice(device);
+        if (cachedDevice == null) {
+            cachedDevice = mCachedDeviceManager.addDevice(device);
+        } else if (cachedDevice.getBondState() == BluetoothDevice.BOND_BONDED) {
+            if (DEBUG) {
+                Log.d(TAG, "Skip this device, already bonded: " + cachedDevice.getDevice());
+            }
+            return;
+        }
+        if (cachedDevice.getHearingAidInfo() == null) {
+            if (DEBUG) {
+                Log.d(TAG, "Set hearing aid info on device: " + cachedDevice.getDevice());
+            }
+            cachedDevice.setHearingAidInfo(new HearingAidInfo.Builder().build());
+        }
+        // No need to handle the device if the device is already in the list or discovering services
+        if (mDevicePreferenceMap.get(cachedDevice) == null
+                && mConnectingGattList.stream().noneMatch(
+                        gatt -> gatt.getDevice().equals(device))) {
+            if (isAndroidCompatibleHearingAid(result)) {
+                addDevice(cachedDevice);
+            } else {
+                discoverServices(cachedDevice);
+            }
+        }
+    }
+
+    void startLeScanning() {
+        if (mBluetoothAdapter == null) {
+            return;
+        }
+        if (DEBUG) {
+            Log.v(TAG, "startLeScanning");
+        }
+        final BluetoothLeScanner leScanner = mBluetoothAdapter.getBluetoothLeScanner();
+        if (leScanner == null) {
+            Log.w(TAG, "LE scanner not found, cannot start LE scanning");
+        } else {
+            final ScanSettings settings = new ScanSettings.Builder()
+                    .setScanMode(ScanSettings.SCAN_MODE_LOW_LATENCY)
+                    .setLegacy(false)
+                    .build();
+            leScanner.startScan(mLeScanFilters, settings, mLeScanCallback);
+            if (mAvailableHearingDeviceGroup != null) {
+                mAvailableHearingDeviceGroup.setProgress(true);
+            }
+        }
+    }
+
+    void stopLeScanning() {
+        if (mBluetoothAdapter == null) {
+            return;
+        }
+        if (DEBUG) {
+            Log.v(TAG, "stopLeScanning");
+        }
+        final BluetoothLeScanner leScanner = mBluetoothAdapter.getBluetoothLeScanner();
+        if (leScanner != null) {
+            leScanner.stopScan(mLeScanCallback);
+            if (mAvailableHearingDeviceGroup != null) {
+                mAvailableHearingDeviceGroup.setProgress(false);
+            }
+        }
+    }
+
+    private void removeAllDevices() {
+        mDevicePreferenceMap.clear();
+        if (mAvailableHearingDeviceGroup != null) {
+            mAvailableHearingDeviceGroup.removeAll();
+        }
+    }
+
+    void initPreferencesFromPreferenceScreen() {
+        mAvailableHearingDeviceGroup = findPreference(KEY_AVAILABLE_HEARING_DEVICES);
+    }
+
+    private void initHearingDeviceLeScanFilters() {
+        mLeScanFilters = new ArrayList<>();
+        // Filters for ASHA hearing aids
+        mLeScanFilters.add(
+                new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HEARING_AID).build());
+        mLeScanFilters.add(new ScanFilter.Builder()
+                .setServiceData(BluetoothUuid.HEARING_AID, new byte[0]).build());
+        // Filters for LE audio hearing aids
+        mLeScanFilters.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.HAS).build());
+        mLeScanFilters.add(new ScanFilter.Builder()
+                .setServiceData(BluetoothUuid.HAS, new byte[0]).build());
+        // Filters for MFi hearing aids
+        mLeScanFilters.add(new ScanFilter.Builder().setServiceUuid(BluetoothUuid.MFI_HAS).build());
+        mLeScanFilters.add(new ScanFilter.Builder()
+                .setServiceData(BluetoothUuid.MFI_HAS, new byte[0]).build());
+    }
+
+    boolean isAndroidCompatibleHearingAid(ScanResult scanResult) {
+        ScanRecord scanRecord = scanResult.getScanRecord();
+        if (scanRecord == null) {
+            if (DEBUG) {
+                Log.d(TAG, "Scan record is null, not compatible with Android. device: "
+                        + scanResult.getDevice());
+            }
+            return false;
+        }
+        List<ParcelUuid> uuids = scanRecord.getServiceUuids();
+        if (uuids != null) {
+            if (uuids.contains(BluetoothUuid.HEARING_AID) || uuids.contains(BluetoothUuid.HAS)) {
+                if (DEBUG) {
+                    Log.d(TAG, "Scan record uuid matched, compatible with Android. device: "
+                            + scanResult.getDevice());
+                }
+                return true;
+            }
+        }
+        if (scanRecord.getServiceData(BluetoothUuid.HEARING_AID) != null
+                || scanRecord.getServiceData(BluetoothUuid.HAS) != null) {
+            if (DEBUG) {
+                Log.d(TAG, "Scan record service data matched, compatible with Android. device: "
+                        + scanResult.getDevice());
+            }
+            return true;
+        }
+        if (DEBUG) {
+            Log.d(TAG, "Scan record mismatched, not compatible with Android. device: "
+                    + scanResult.getDevice());
+        }
+        return false;
+    }
+
+    void discoverServices(CachedBluetoothDevice cachedDevice) {
+        if (DEBUG) {
+            Log.d(TAG, "connectGattToCheckCompatibility, device: " + cachedDevice.getDevice());
+        }
+        BluetoothGatt gatt = cachedDevice.getDevice().connectGatt(getContext(), false,
+                new BluetoothGattCallback() {
+                    @Override
+                    public void onConnectionStateChange(BluetoothGatt gatt, int status,
+                            int newState) {
+                        super.onConnectionStateChange(gatt, status, newState);
+                        if (DEBUG) {
+                            Log.d(TAG, "onConnectionStateChange, status: " + status + ", newState: "
+                                    + newState + ", device: " + cachedDevice.getDevice());
+                        }
+                        if (status == GATT_SUCCESS
+                                && newState == BluetoothProfile.STATE_CONNECTED) {
+                            gatt.discoverServices();
+                        } else {
+                            gatt.disconnect();
+                            mConnectingGattList.remove(gatt);
+                        }
+                    }
+
+                    @Override
+                    public void onServicesDiscovered(BluetoothGatt gatt, int status) {
+                        super.onServicesDiscovered(gatt, status);
+                        if (DEBUG) {
+                            Log.d(TAG, "onServicesDiscovered, status: " + status + ", device: "
+                                    + cachedDevice.getDevice());
+                        }
+                        if (status == GATT_SUCCESS) {
+                            if (gatt.getService(BluetoothUuid.HEARING_AID.getUuid()) != null
+                                    || gatt.getService(BluetoothUuid.HAS.getUuid()) != null) {
+                                if (DEBUG) {
+                                    Log.d(TAG, "compatible with Android, device: "
+                                            + cachedDevice.getDevice());
+                                }
+                                addDevice(cachedDevice);
+                            }
+                        } else {
+                            gatt.disconnect();
+                            mConnectingGattList.remove(gatt);
+                        }
+                    }
+                });
+        mConnectingGattList.add(gatt);
+    }
+
+    void showBluetoothTurnedOnToast() {
+        Toast.makeText(getContext(), R.string.connected_device_bluetooth_turned_on_toast,
+                Toast.LENGTH_SHORT).show();
+    }
+}
diff --git a/src/com/android/settings/accessibility/HearingDeviceRingtoneRoutingPreferenceController.java b/src/com/android/settings/accessibility/HearingDeviceRingtoneRoutingPreferenceController.java
index 3e8f79c..594ab00 100644
--- a/src/com/android/settings/accessibility/HearingDeviceRingtoneRoutingPreferenceController.java
+++ b/src/com/android/settings/accessibility/HearingDeviceRingtoneRoutingPreferenceController.java
@@ -19,7 +19,6 @@
 import android.content.Context;
 import android.provider.Settings;
 
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
 
 /**
@@ -28,15 +27,13 @@
 public class HearingDeviceRingtoneRoutingPreferenceController extends
         HearingDeviceAudioRoutingBasePreferenceController {
 
-    private CachedBluetoothDevice mHearingDevice;
-
     public HearingDeviceRingtoneRoutingPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
 
     @Override
     protected int[] getSupportedAttributeList() {
-        return HearingAidAudioRoutingConstants.RINGTONE_ROUTING_ATTRIBUTE;
+        return HearingAidAudioRoutingConstants.RINGTONE_ROUTING_ATTRIBUTES;
 
     }
 
diff --git a/src/com/android/settings/accessibility/HearingDeviceSystemSoundsRoutingPreferenceController.java b/src/com/android/settings/accessibility/HearingDeviceSystemSoundsRoutingPreferenceController.java
deleted file mode 100644
index 1bc0090..0000000
--- a/src/com/android/settings/accessibility/HearingDeviceSystemSoundsRoutingPreferenceController.java
+++ /dev/null
@@ -1,57 +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.accessibility;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.bluetooth.HearingAidAudioRoutingConstants;
-
-/**
- * The controller of the hearing device system sounds routing list preference.
- */
-public class HearingDeviceSystemSoundsRoutingPreferenceController extends
-        HearingDeviceAudioRoutingBasePreferenceController {
-
-    private CachedBluetoothDevice mHearingDevice;
-
-    public HearingDeviceSystemSoundsRoutingPreferenceController(Context context,
-            String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    @Override
-    protected int[] getSupportedAttributeList() {
-        return HearingAidAudioRoutingConstants.SYSTEM_SOUNDS_ROUTING_ATTRIBUTES;
-
-    }
-
-    @Override
-    protected void saveRoutingValue(Context context, int routingValue) {
-        Settings.Secure.putInt(context.getContentResolver(),
-                Settings.Secure.HEARING_AID_SYSTEM_SOUNDS_ROUTING, routingValue);
-
-    }
-
-    @Override
-    protected int restoreRoutingValue(Context context) {
-        return Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.HEARING_AID_SYSTEM_SOUNDS_ROUTING,
-                HearingAidAudioRoutingConstants.RoutingValue.AUTO);
-    }
-}
diff --git a/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java b/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
index 9f645f1..7a3f4f6 100644
--- a/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
+++ b/src/com/android/settings/accessibility/HighTextContrastPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.accessibility.TextReadingPreferenceFragment.EntryPoint;
@@ -32,7 +32,7 @@
  */
 public class HighTextContrastPreferenceController extends TogglePreferenceController implements
         TextReadingResetController.ResetStateListener {
-    private SwitchPreference mSwitchPreference;
+    private TwoStatePreference mSwitchPreference;
 
     @EntryPoint
     private int mEntryPoint;
diff --git a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
index 0c1876f..21ac998 100644
--- a/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/InvisibleToggleAccessibilityServicePreferenceFragment.java
@@ -64,9 +64,24 @@
     @Override
     void onDialogButtonFromShortcutToggleClicked(View view) {
         super.onDialogButtonFromShortcutToggleClicked(view);
-        if (view.getId() == R.id.permission_enable_allow_button) {
-            AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
-                    true);
+        if (!android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+            if (view.getId() == R.id.permission_enable_allow_button) {
+                AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName,
+                        true);
+            }
+        }
+    }
+
+    /**
+     * {@inheritDoc}
+     *
+     * Enables accessibility service when user clicks permission allow button.
+     */
+    @Override
+    void onAllowButtonFromShortcutToggleClicked() {
+        super.onAllowButtonFromShortcutToggleClicked();
+        if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+            AccessibilityUtils.setAccessibilityServiceState(getContext(), mComponentName, true);
         }
     }
 
diff --git a/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
new file mode 100644
index 0000000..869443c
--- /dev/null
+++ b/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceController.java
@@ -0,0 +1,167 @@
+/*
+ * 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.accessibility;
+
+import static android.provider.Settings.System.KEYBOARD_VIBRATION_ENABLED;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
+import android.os.VibrationAttributes;
+import android.os.Vibrator;
+import android.os.vibrator.Flags;
+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.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+
+/**
+ *  A preference controller to turn on/off keyboard vibration state with a single toggle.
+ */
+public class KeyboardVibrationTogglePreferenceController extends TogglePreferenceController
+        implements DefaultLifecycleObserver {
+
+    private static final String TAG = "KeyboardVibrateControl";
+
+    private static final Uri MAIN_VIBRATION_SWITCH_URI =
+            Settings.System.getUriFor(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY);
+
+    private final ContentObserver mContentObserver;
+
+    private final Vibrator mVibrator;
+
+    @Nullable
+    private TwoStatePreference mPreference;
+
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
+    public KeyboardVibrationTogglePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mVibrator = context.getSystemService(Vibrator.class);
+        mContentObserver = new ContentObserver(new Handler(/* async= */ true)) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                if (uri.equals(MAIN_VIBRATION_SWITCH_URI)) {
+                    updateState(mPreference);
+                } else {
+                    Log.w(TAG, "Unexpected uri change:" + uri);
+                }
+            }
+        };
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        mContext.getContentResolver().registerContentObserver(MAIN_VIBRATION_SWITCH_URI,
+                /* notifyForDescendants= */ false, mContentObserver);
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        mContext.getContentResolver().unregisterContentObserver(mContentObserver);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void updateState(@Nullable Preference preference) {
+        if (preference != null) {
+            super.updateState(preference);
+            preference.setEnabled(isPreferenceEnabled());
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (Flags.keyboardCategoryEnabled()
+                && mContext.getResources().getBoolean(R.bool.config_keyboard_vibration_supported)) {
+            return AVAILABLE;
+        }
+        return UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        // Always unchecked if the preference disabled
+        return isPreferenceEnabled() && isKeyboardVibrationSwitchEnabled();
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        final boolean success = updateKeyboardVibrationSetting(isChecked);
+        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);
+        }
+        return true;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_accessibility;
+    }
+
+    private boolean isPreferenceEnabled() {
+        return VibrationPreferenceConfig.isMainVibrationSwitchEnabled(
+                mContext.getContentResolver());
+    }
+
+    private boolean isKeyboardVibrationSwitchEnabled() {
+        return Settings.System.getInt(mContext.getContentResolver(), KEYBOARD_VIBRATION_ENABLED,
+                mVibrator.isDefaultKeyboardVibrationEnabled() ? ON : OFF) == ON;
+    }
+
+    private boolean updateKeyboardVibrationSetting(boolean enable) {
+        final boolean success = Settings.System.putInt(mContext.getContentResolver(),
+                    KEYBOARD_VIBRATION_ENABLED, enable ? ON : OFF);
+        if (!success) {
+            Log.w(TAG, "Update settings database error!");
+        }
+        return success;
+    }
+}
diff --git a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
index db19096..bde2ef5 100644
--- a/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
+++ b/src/com/android/settings/accessibility/LockScreenRotationPreferenceController.java
@@ -54,7 +54,8 @@
      */
     @Override
     public boolean setChecked(boolean isChecked) {
-        RotationPolicy.setRotationLock(mContext, !isChecked);
+        RotationPolicy.setRotationLock(mContext, !isChecked,
+                /* caller= */ "LockScreenRotationPreferenceController#setChecked");
         return true;
     }
 
diff --git a/src/com/android/settings/accessibility/MagnificationAlwaysOnPreferenceController.java b/src/com/android/settings/accessibility/MagnificationAlwaysOnPreferenceController.java
index b0a6abc..e455aa8 100644
--- a/src/com/android/settings/accessibility/MagnificationAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationAlwaysOnPreferenceController.java
@@ -26,7 +26,7 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -43,7 +43,7 @@
             MagnificationAlwaysOnPreferenceController.class.getSimpleName();
     static final String PREF_KEY = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED;
 
-    private SwitchPreference mSwitchPreference;
+    private TwoStatePreference mSwitchPreference;
 
     public MagnificationAlwaysOnPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
diff --git a/src/com/android/settings/accessibility/MagnificationFollowTypingPreferenceController.java b/src/com/android/settings/accessibility/MagnificationFollowTypingPreferenceController.java
index a758276..86983e3 100644
--- a/src/com/android/settings/accessibility/MagnificationFollowTypingPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationFollowTypingPreferenceController.java
@@ -26,7 +26,7 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -39,7 +39,7 @@
             MagnificationFollowTypingPreferenceController.class.getSimpleName();
     static final String PREF_KEY = "magnification_follow_typing";
 
-    private SwitchPreference mFollowTypingPreference;
+    private TwoStatePreference mFollowTypingPreference;
 
     public MagnificationFollowTypingPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
diff --git a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java b/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
deleted file mode 100644
index 2aba16e..0000000
--- a/src/com/android/settings/accessibility/MagnificationGesturesPreferenceController.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-package com.android.settings.accessibility;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.TogglePreferenceController;
-
-public class MagnificationGesturesPreferenceController extends TogglePreferenceController {
-
-    private boolean mIsFromSUW = false;
-
-    public MagnificationGesturesPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return MagnificationPreferenceFragment.isChecked(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return MagnificationPreferenceFragment.setChecked(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, isChecked);
-    }
-
-    public void setIsFromSUW(boolean fromSUW) {
-        mIsFromSUW = fromSUW;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (getPreferenceKey().equals(preference.getKey())) {
-            Bundle extras = preference.getExtras();
-            populateMagnificationGesturesPreferenceExtras(extras, mContext);
-            extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
-            extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    @Override
-    public boolean isSliceable() {
-        return TextUtils.equals(getPreferenceKey(),
-                "screen_magnification_gestures_preference_screen");
-    }
-
-    @Override
-    public boolean isPublicSlice() {
-        return true;
-    }
-
-    @Override
-    public int getSliceHighlightMenuRes() {
-        return R.string.menu_key_accessibility;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        int resId = 0;
-        if (mIsFromSUW) {
-            resId = R.string.accessibility_screen_magnification_short_summary;
-        } else {
-            final boolean enabled = isChecked();
-            resId = (enabled ? R.string.accessibility_feature_state_on :
-                    R.string.accessibility_feature_state_off);
-        }
-        return mContext.getString(resId);
-    }
-
-    static void populateMagnificationGesturesPreferenceExtras(Bundle extras, Context context) {
-        // TODO(b/270481978): It seems not necessary to put EXTRA_TITLE_RES.
-        extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
-                R.string.accessibility_screen_magnification_gestures_title);
-
-        // TODO(b/270481978): It seems not necessary to put EXTRA_VIDEO_RAW_RESOURCE_ID.
-        extras.putInt(AccessibilitySettings.EXTRA_VIDEO_RAW_RESOURCE_ID,
-                R.raw.accessibility_screen_magnification);
-    }
-}
diff --git a/src/com/android/settings/accessibility/MagnificationJoystickPreferenceController.java b/src/com/android/settings/accessibility/MagnificationJoystickPreferenceController.java
index bc9e093..0a24e96 100644
--- a/src/com/android/settings/accessibility/MagnificationJoystickPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationJoystickPreferenceController.java
@@ -26,7 +26,7 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -41,7 +41,7 @@
             MagnificationJoystickPreferenceController.class.getSimpleName();
     static final String PREF_KEY = Settings.Secure.ACCESSIBILITY_MAGNIFICATION_JOYSTICK_ENABLED;
 
-    private SwitchPreference mSwitchPreference;
+    private TwoStatePreference mSwitchPreference;
 
     public MagnificationJoystickPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
diff --git a/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java b/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
deleted file mode 100644
index 98855f7..0000000
--- a/src/com/android/settings/accessibility/MagnificationNavbarPreferenceController.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-package com.android.settings.accessibility;
-
-import android.content.Context;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.TogglePreferenceController;
-
-public class MagnificationNavbarPreferenceController extends TogglePreferenceController {
-
-    private boolean mIsFromSUW = false;
-
-    public MagnificationNavbarPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return MagnificationPreferenceFragment.isChecked(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED);
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return MagnificationPreferenceFragment.setChecked(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, isChecked);
-    }
-
-    public void setIsFromSUW(boolean fromSUW) {
-        mIsFromSUW = fromSUW;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (getPreferenceKey().equals(preference.getKey())) {
-            Bundle extras = preference.getExtras();
-            extras.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY,
-                    Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED);
-            extras.putInt(AccessibilitySettings.EXTRA_TITLE_RES,
-                    R.string.accessibility_screen_magnification_navbar_title);
-            extras.putCharSequence(AccessibilitySettings.EXTRA_HTML_DESCRIPTION,
-                    mContext.getText(R.string.accessibility_screen_magnification_navbar_summary));
-            extras.putBoolean(AccessibilitySettings.EXTRA_CHECKED, isChecked());
-            extras.putBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW, mIsFromSUW);
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return MagnificationPreferenceFragment.isApplicable(mContext.getResources())
-                ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public boolean isSliceable() {
-        return TextUtils.equals(getPreferenceKey(),
-                "screen_magnification_navbar_preference_screen");
-    }
-
-    @Override
-    public boolean isPublicSlice() {
-        return true;
-    }
-
-    @Override
-    public int getSliceHighlightMenuRes() {
-        return R.string.menu_key_accessibility;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        int resId = 0;
-        if (mIsFromSUW) {
-            resId = R.string.accessibility_screen_magnification_navbar_short_summary;
-        } else {
-            final boolean enabled = isChecked();
-            resId = (enabled ? R.string.accessibility_feature_state_on :
-                    R.string.accessibility_feature_state_off);
-        }
-        return mContext.getText(resId);
-    }
-}
diff --git a/src/com/android/settings/accessibility/MagnificationPreferenceController.java b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
index 5b5236e..23bda87 100644
--- a/src/com/android/settings/accessibility/MagnificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/MagnificationPreferenceController.java
@@ -17,17 +17,11 @@
 package com.android.settings.accessibility;
 
 import android.content.Context;
-import android.os.Bundle;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
 
 public class MagnificationPreferenceController extends BasePreferenceController {
 
-    private Preference mPreference;
-
     public MagnificationPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
@@ -41,18 +35,4 @@
     public CharSequence getSummary() {
         return ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext);
     }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        configureMagnificationPreferenceIfNeeded();
-    }
-
-    private void configureMagnificationPreferenceIfNeeded() {
-        mPreference.setFragment(ToggleScreenMagnificationPreferenceFragment.class.getName());
-        final Bundle extras = mPreference.getExtras();
-        MagnificationGesturesPreferenceController
-                .populateMagnificationGesturesPreferenceExtras(extras, mContext);
-    }
 }
diff --git a/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java
deleted file mode 100644
index d589f0f..0000000
--- a/src/com/android/settings/accessibility/MagnificationPreferenceFragment.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import android.accessibilityservice.AccessibilityServiceInfo;
-import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.res.Resources;
-import android.os.Bundle;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.accessibility.AccessibilityManager;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.List;
-
-/** Settings fragment containing magnification preference. */
-@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public final class MagnificationPreferenceFragment extends DashboardFragment {
-    @VisibleForTesting static final int ON = 1;
-    @VisibleForTesting static final int OFF = 0;
-
-    private static final String TAG = "MagnificationPreferenceFragment";
-
-    // Settings App preference keys
-    private static final String PREFERENCE_TITLE_KEY = "magnification_preference_screen_title";
-
-    // Pseudo ComponentName used to represent navbar magnification in Settings.Secure.
-    private static final String MAGNIFICATION_COMPONENT_ID =
-            "com.android.server.accessibility.MagnificationController";
-
-    private boolean mLaunchedFromSuw = false;
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ACCESSIBILITY_SCREEN_MAGNIFICATION_SETTINGS;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_url_magnification;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.accessibility_magnification_settings;
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        final Bundle args = getArguments();
-        if ((args != null) && args.containsKey(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW)) {
-            mLaunchedFromSuw = args.getBoolean(AccessibilitySettings.EXTRA_LAUNCHED_FROM_SUW);
-        }
-        use(MagnificationGesturesPreferenceController.class)
-                .setIsFromSUW(mLaunchedFromSuw);
-        use(MagnificationNavbarPreferenceController.class)
-                .setIsFromSUW(mLaunchedFromSuw);
-    }
-
-    @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        if (mLaunchedFromSuw) {
-            // If invoked from SUW, redirect to fragment instrumented for Vision Settings metrics
-            preference.setFragment(
-                    ToggleScreenMagnificationPreferenceFragmentForSetupWizard.class.getName());
-        }
-        return super.onPreferenceTreeClick(preference);
-    }
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (mLaunchedFromSuw) {
-            // Do not call super. We don't want to see the "Help & feedback" on OOBE page.
-        } else {
-            super.onCreateOptionsMenu(menu, inflater);
-        }
-    }
-
-    static CharSequence getConfigurationWarningStringForSecureSettingsKey(String key,
-            Context context) {
-        if (!Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED.equals(key)) {
-            return null;
-        }
-        if (Settings.Secure.getInt(context.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, 0) == 0) {
-            return null;
-        }
-        final AccessibilityManager am = (AccessibilityManager) context.getSystemService(
-                Context.ACCESSIBILITY_SERVICE);
-        final String assignedId = Settings.Secure.getString(context.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS);
-        if (!TextUtils.isEmpty(assignedId) && !MAGNIFICATION_COMPONENT_ID.equals(assignedId)) {
-            final ComponentName assignedComponentName = ComponentName.unflattenFromString(
-                    assignedId);
-            final List<AccessibilityServiceInfo> activeServices =
-                    am.getEnabledAccessibilityServiceList(
-                            AccessibilityServiceInfo.FEEDBACK_ALL_MASK);
-            final int serviceCount = activeServices.size();
-            for (int i = 0; i < serviceCount; i++) {
-                final AccessibilityServiceInfo info = activeServices.get(i);
-                if (info.getComponentName().equals(assignedComponentName)) {
-                    final CharSequence assignedServiceName = info.getResolveInfo().loadLabel(
-                            context.getPackageManager());
-                    final int messageId = AccessibilityUtil.isGestureNavigateEnabled(context)
-                            ? R.string.accessibility_screen_magnification_gesture_navigation_warning
-                            : R.string.accessibility_screen_magnification_navbar_configuration_warning;
-                    return context.getString(messageId, assignedServiceName);
-                }
-            }
-        }
-        return null;
-    }
-
-    static boolean isChecked(ContentResolver contentResolver, String settingsKey) {
-        return Settings.Secure.getInt(contentResolver, settingsKey, OFF) == ON;
-    }
-
-    static boolean setChecked(ContentResolver contentResolver, String settingsKey,
-            boolean isChecked) {
-        return Settings.Secure.putInt(contentResolver, settingsKey, isChecked ? ON : OFF);
-    }
-
-    /**
-     * @return {@code true} if this fragment should be shown, {@code false} otherwise. This
-     * fragment is shown in the case that more than one magnification mode is available.
-     */
-    static boolean isApplicable(Resources res) {
-        return res.getBoolean(com.android.internal.R.bool.config_showNavigationBar);
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.accessibility_magnification_settings) {
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return isApplicable(context.getResources());
-                }
-            };
-}
diff --git a/src/com/android/settings/accessibility/MagnificationSettingsFragment.java b/src/com/android/settings/accessibility/MagnificationSettingsFragment.java
deleted file mode 100644
index a898076..0000000
--- a/src/com/android/settings/accessibility/MagnificationSettingsFragment.java
+++ /dev/null
@@ -1,91 +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.accessibility;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.DialogCreatable;
-import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.SearchIndexable;
-
-/** Settings page for magnification. */
-@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class MagnificationSettingsFragment extends DashboardFragment implements
-        MagnificationModePreferenceController.DialogHelper {
-
-    private static final String TAG = "MagnificationSettingsFragment";
-
-    private DialogCreatable mDialogDelegate;
-
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.ACCESSIBILITY_MAGNIFICATION_SETTINGS;
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        use(MagnificationModePreferenceController.class).setDialogHelper(this);
-    }
-
-    @Override
-    public void showDialog(int dialogId) {
-        super.showDialog(dialogId);
-    }
-
-    @Override
-    public void setDialogDelegate(DialogCreatable delegate) {
-        mDialogDelegate = delegate;
-    }
-
-    @Override
-    public int getDialogMetricsCategory(int dialogId) {
-        if (mDialogDelegate != null) {
-            return mDialogDelegate.getDialogMetricsCategory(dialogId);
-        }
-        return 0;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.accessibility_magnification_service_settings;
-    }
-
-    @Override
-    public Dialog onCreateDialog(int dialogId) {
-        if (mDialogDelegate != null) {
-            final Dialog dialog = mDialogDelegate.onCreateDialog(dialogId);
-            if (dialog != null) {
-                return dialog;
-            }
-        }
-        throw new IllegalArgumentException("Unsupported dialogId " + dialogId);
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.accessibility_magnification_service_settings);
-}
diff --git a/src/com/android/settings/accessibility/PreferredShortcuts.java b/src/com/android/settings/accessibility/PreferredShortcuts.java
index 2c9840d..e76bc9b 100644
--- a/src/com/android/settings/accessibility/PreferredShortcuts.java
+++ b/src/com/android/settings/accessibility/PreferredShortcuts.java
@@ -19,10 +19,17 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.SharedPreferences;
+import android.os.UserHandle;
+import android.util.ArrayMap;
 
+import androidx.annotation.NonNull;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.util.ShortcutUtils;
 import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
 /** Static utility methods relating to {@link PreferredShortcut} */
@@ -32,27 +39,25 @@
     private static final String USER_SHORTCUT_TYPE = "user_shortcut_type";
 
     /**
-     * Retrieves {@link UserShortcutType} for the given {@code componentName} from
+     * Retrieves the user preferred shortcut types for the given {@code componentName} from
      * SharedPreferences.
      *
      * @param context       {@link Context} to access the {@link SharedPreferences}
      * @param componentName Name of the service or activity, should be the format of {@link
      *                      ComponentName#flattenToString()}.
-     * @param defaultType   See {@link UserShortcutType}
-     * @return {@link UserShortcutType}
+     * @return {@link ShortcutConstants.UserShortcutType}
      */
-    public static int retrieveUserShortcutType(Context context, String componentName,
-            int defaultType) {
-        if (componentName == null) {
-            return defaultType;
-        }
+    @ShortcutConstants.UserShortcutType
+    public static int retrieveUserShortcutType(
+            @NonNull Context context, @NonNull String componentName) {
+        final int defaultTypes = getDefaultPreferredShortcutTypesForTarget(componentName);
 
         // Create a mutable set to modify
         final Set<String> info = new HashSet<>(getFromSharedPreferences(context));
         info.removeIf(str -> !str.contains(componentName));
 
         if (info.isEmpty()) {
-            return defaultType;
+            return defaultTypes;
         }
 
         final String str = info.stream().findFirst().get();
@@ -81,6 +86,41 @@
     }
 
     /**
+     * Update the user preferred shortcut from Settings data
+     *
+     * @param context    {@link Context} to access the {@link SharedPreferences}
+     * @param components contains a set of {@link ComponentName} the service or activity. The
+     *                   string
+     *                   representation of the ComponentName should be in the format of
+     *                   {@link ComponentName#flattenToString()}.
+     */
+    public static void updatePreferredShortcutsFromSettings(
+            @NonNull Context context, @NonNull Set<String> components) {
+        final Map<Integer, Set<String>> shortcutTypeToTargets = new ArrayMap<>();
+        for (int shortcutType : ShortcutConstants.USER_SHORTCUT_TYPES) {
+            shortcutTypeToTargets.put(
+                    shortcutType,
+                    ShortcutUtils.getShortcutTargetsFromSettings(
+                            context, shortcutType, UserHandle.myUserId()));
+        }
+
+        for (String target : components) {
+            int shortcutTypes = ShortcutConstants.UserShortcutType.DEFAULT;
+            for (Map.Entry<Integer, Set<String>> entry : shortcutTypeToTargets.entrySet()) {
+                if (entry.getValue().contains(target)) {
+                    shortcutTypes |= entry.getKey();
+                }
+            }
+
+            if (shortcutTypes != ShortcutConstants.UserShortcutType.DEFAULT) {
+                final PreferredShortcut shortcut = new PreferredShortcut(
+                        target, shortcutTypes);
+                PreferredShortcuts.saveUserShortcutType(context, shortcut);
+            }
+        }
+    }
+
+    /**
      * Returns a immutable set of {@link PreferredShortcut#toString()} list from
      * SharedPreferences.
      */
@@ -98,5 +138,14 @@
         return context.getSharedPreferences(ACCESSIBILITY_PERF, Context.MODE_PRIVATE);
     }
 
+    /**
+     * Returns the default shortcut types for the given accessibility feature.
+     */
+    @ShortcutConstants.UserShortcutType
+    private static int getDefaultPreferredShortcutTypesForTarget(@NonNull String componentName) {
+        // TODO (b/322712028): return different default shortcut types for the given component
+        return ShortcutConstants.UserShortcutType.SOFTWARE;
+    }
+
     private PreferredShortcuts() {}
 }
diff --git a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
index 6bd8747..f268a40 100644
--- a/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
+++ b/src/com/android/settings/accessibility/PreviewSizeSeekBarController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.accessibility;
 
+import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.Bundle;
@@ -33,6 +34,8 @@
 import com.android.settingslib.core.lifecycle.events.OnDestroy;
 import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 import java.util.Optional;
 
 /**
@@ -207,6 +210,13 @@
             return;
         }
 
+        if (Flags.removeQsTooltipInSuw()
+                && mContext instanceof Activity
+                && WizardManagerHelper.isAnySetupWizard(((Activity) mContext).getIntent())) {
+            // Don't show QuickSettingsTooltip in Setup Wizard
+            return;
+        }
+
         if (!mNeedsQSTooltipReshow && AccessibilityQuickSettingUtils.hasValueInSharedPreferences(
                 mContext, tileComponentName)) {
             // Returns if quick settings tooltip only show once.
diff --git a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
index 00339a1..03bf142 100644
--- a/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
+++ b/src/com/android/settings/accessibility/RestrictedPreferenceHelper.java
@@ -119,7 +119,7 @@
             final String htmlDescription = info.loadHtmlDescription(mPm);
             final String settingsClassName = info.getSettingsActivityName();
             final String tileServiceClassName = info.getTileServiceName();
-            final int metricsCategory = FeatureFactory.getFactory(mContext)
+            final int metricsCategory = FeatureFactory.getFeatureFactory()
                     .getAccessibilityMetricsFeatureProvider()
                     .getDownloadedFeatureMetricsCategory(componentName);
 
@@ -182,7 +182,7 @@
             final String htmlDescription = info.loadHtmlDescription(mPm);
             final String settingsClassName = info.getSettingsActivityName();
             final String tileServiceClassName = info.getTileServiceName();
-            final int metricsCategory = FeatureFactory.getFactory(mContext)
+            final int metricsCategory = FeatureFactory.getFeatureFactory()
                     .getAccessibilityMetricsFeatureProvider()
                     .getDownloadedFeatureMetricsCategory(componentName);
 
@@ -234,37 +234,63 @@
         // permittedServices null means all accessibility services are allowed.
         boolean serviceAllowed = permittedServices == null || permittedServices.contains(
                 preference.getPackageName());
-        boolean appOpsAllowed;
-        if (serviceAllowed) {
-            try {
-                final int mode = mAppOps.noteOpNoThrow(
-                        AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
-                        preference.getUid(), preference.getPackageName());
-                final boolean ecmEnabled = mContext.getResources().getBoolean(
-                        com.android.internal.R.bool.config_enhancedConfirmationModeEnabled);
-                appOpsAllowed = !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED;
-                serviceAllowed = appOpsAllowed;
-            } catch (Exception e) {
-                // Allow service in case if app ops is not available in testing.
-                appOpsAllowed = true;
+
+        if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()
+                && android.security.Flags.extendEcmToAllSettings()) {
+            preference.checkEcmRestrictionAndSetDisabled(
+                    AppOpsManager.OPSTR_BIND_ACCESSIBILITY_SERVICE,
+                    preference.getPackageName());
+            if (preference.isDisabledByEcm()) {
+                serviceAllowed = false;
+            }
+
+            if (serviceAllowed || serviceEnabled) {
+                preference.setEnabled(true);
+            } else {
+                // Disable accessibility service that are not permitted.
+                final RestrictedLockUtils.EnforcedAdmin admin =
+                        RestrictedLockUtilsInternal.checkIfAccessibilityServiceDisallowed(
+                                mContext, preference.getPackageName(), UserHandle.myUserId());
+
+                if (admin != null) {
+                    preference.setDisabledByAdmin(admin);
+                } else if (!preference.isDisabledByEcm()) {
+                    preference.setEnabled(false);
+                }
             }
         } else {
-            appOpsAllowed = false;
-        }
-        if (serviceAllowed || serviceEnabled) {
-            preference.setEnabled(true);
-        } else {
-            // Disable accessibility service that are not permitted.
-            final RestrictedLockUtils.EnforcedAdmin admin =
-                    RestrictedLockUtilsInternal.checkIfAccessibilityServiceDisallowed(
-                            mContext, preference.getPackageName(), UserHandle.myUserId());
-
-            if (admin != null) {
-                preference.setDisabledByAdmin(admin);
-            } else if (!appOpsAllowed) {
-                preference.setDisabledByAppOps(true);
+            boolean appOpsAllowed;
+            if (serviceAllowed) {
+                try {
+                    final int mode = mAppOps.noteOpNoThrow(
+                            AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
+                            preference.getUid(), preference.getPackageName());
+                    final boolean ecmEnabled = mContext.getResources().getBoolean(
+                            com.android.internal.R.bool.config_enhancedConfirmationModeEnabled);
+                    appOpsAllowed = !ecmEnabled || mode == AppOpsManager.MODE_ALLOWED;
+                    serviceAllowed = appOpsAllowed;
+                } catch (Exception e) {
+                    // Allow service in case if app ops is not available in testing.
+                    appOpsAllowed = true;
+                }
             } else {
-                preference.setEnabled(false);
+                appOpsAllowed = false;
+            }
+            if (serviceAllowed || serviceEnabled) {
+                preference.setEnabled(true);
+            } else {
+                // Disable accessibility service that are not permitted.
+                final RestrictedLockUtils.EnforcedAdmin admin =
+                        RestrictedLockUtilsInternal.checkIfAccessibilityServiceDisallowed(
+                                mContext, preference.getPackageName(), UserHandle.myUserId());
+
+                if (admin != null) {
+                    preference.setDisabledByAdmin(admin);
+                } else if (!appOpsAllowed) {
+                    preference.setDisabledByAppOps(true);
+                } else {
+                    preference.setEnabled(false);
+                }
             }
         }
     }
diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
index 8a440b6..ca77f16 100644
--- a/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
+++ b/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragment.java
@@ -27,6 +27,7 @@
 import android.content.Intent;
 import android.graphics.Color;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.view.View;
 
 import androidx.annotation.ColorInt;
@@ -41,6 +42,7 @@
 import java.util.TimerTask;
 import java.util.function.Consumer;
 
+
 /**
  * DialogFragment for Screen flash notification color picker.
  */
@@ -119,7 +121,7 @@
         synchronized (this) {
             if (mTimer != null) mTimer.cancel();
 
-            mTimer = new Timer();
+            mTimer = createTimer();
             if (mIsPreview) {
                 mTimer.schedule(getStopTask(), 0);
                 startDelay = BETWEEN_STOP_AND_START_DELAY_MS;
@@ -166,14 +168,18 @@
         Intent intent = new Intent(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
         intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_LONG_PREVIEW);
         intent.putExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, mCurrentColor);
-        getContext().sendBroadcast(intent);
+        getContext().sendBroadcastAsUser(intent, UserHandle.SYSTEM);
     }
 
     private void stopPreviewLocked() {
         if (getContext() == null) return;
 
         Intent stopIntent = new Intent(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
-        getContext().sendBroadcast(stopIntent);
+        getContext().sendBroadcastAsUser(stopIntent, UserHandle.SYSTEM);
         mIsPreview = false;
     }
+
+    Timer createTimer() {
+        return new Timer();
+    }
 }
diff --git a/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java b/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
index 53abc95..bd54aca 100644
--- a/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
+++ b/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceController.java
@@ -63,7 +63,7 @@
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().changed(
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().changed(
                 getMetricsCategory(), getPreferenceKey(), isChecked ? 1 : 0);
         if (isChecked) {
             checkAndSetInitialColor();
diff --git a/src/com/android/settings/accessibility/ShortcutPreference.java b/src/com/android/settings/accessibility/ShortcutPreference.java
index ec911a9..a04f8f4 100644
--- a/src/com/android/settings/accessibility/ShortcutPreference.java
+++ b/src/com/android/settings/accessibility/ShortcutPreference.java
@@ -21,8 +21,8 @@
 import android.util.TypedValue;
 import android.view.MotionEvent;
 import android.view.View;
+import android.widget.CompoundButton;
 import android.widget.LinearLayout;
-import android.widget.Switch;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
@@ -62,7 +62,7 @@
     ShortcutPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
         setLayoutResource(R.layout.accessibility_shortcut_secondary_action);
-        setWidgetLayoutResource(R.layout.preference_widget_primary_switch);
+        setWidgetLayoutResource(androidx.preference.R.layout.preference_widget_switch_compat);
         setIconSpaceReserved(false);
         // Treat onSettingsClicked as this preference's click.
         setOnPreferenceClickListener(preference -> {
@@ -88,7 +88,8 @@
                     mSettingsEditable ? outValue.resourceId : /* Remove background */ 0);
         }
 
-        Switch switchWidget = holder.itemView.findViewById(R.id.switchWidget);
+        CompoundButton switchWidget =
+                holder.itemView.findViewById(androidx.preference.R.id.switchWidget);
         if (switchWidget != null) {
             // Consumes move events to ignore drag actions.
             switchWidget.setOnTouchListener((v, event) -> {
diff --git a/src/com/android/settings/accessibility/TEST_MAPPING b/src/com/android/settings/accessibility/TEST_MAPPING
new file mode 100644
index 0000000..93f6611
--- /dev/null
+++ b/src/com/android/settings/accessibility/TEST_MAPPING
@@ -0,0 +1,12 @@
+{
+  "presubmit": [
+    {
+      "name": "SettingsUnitTests",
+      "options": [
+        {
+          "include-filter": "com.android.settings.accessibility"
+        }
+      ]
+    }
+  ]
+}
diff --git a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
index 450aeca..a90af21 100644
--- a/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/TextReadingPreferenceFragment.java
@@ -62,7 +62,7 @@
     static final String BOLD_TEXT_KEY = "toggle_force_bold_text";
     static final String HIGH_TEXT_CONTRAST_KEY = "toggle_high_text_contrast_preference";
     static final String RESET_KEY = "reset";
-    private static final String PREVIEW_KEY = "preview";
+    static final String PREVIEW_KEY = "preview";
     private static final String NEED_RESET_SETTINGS = "need_reset_settings";
     private static final String LAST_PREVIEW_INDEX = "last_preview_index";
     private static final int UNKNOWN_INDEX = -1;
diff --git a/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java b/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java
index 783696d..11be73c 100644
--- a/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java
+++ b/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizard.java
@@ -29,6 +29,7 @@
 
 import androidx.recyclerview.widget.RecyclerView;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settingslib.Utils;
 
@@ -42,6 +43,24 @@
 public class TextReadingPreferenceFragmentForSetupWizard extends TextReadingPreferenceFragment {
 
     @Override
+    public void addPreferencesFromResource(int preferencesResId) {
+        super.addPreferencesFromResource(preferencesResId);
+
+        adjustPreviewPaddingsForSetupWizard();
+    }
+
+    @VisibleForTesting
+    void adjustPreviewPaddingsForSetupWizard() {
+        TextReadingPreviewPreference textReadingPreviewPreference = findPreference(PREVIEW_KEY);
+        textReadingPreviewPreference.setLayoutMinHorizontalPadding(
+                getContext().getResources().getDimensionPixelSize(
+                        R.dimen.text_reading_preview_layout_padding_horizontal_min_suw));
+        textReadingPreviewPreference.setBackgroundMinHorizontalPadding(
+                getContext().getResources().getDimensionPixelSize(
+                        R.dimen.text_reading_preview_background_padding_horizontal_min_suw));
+    }
+
+    @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
 
diff --git a/src/com/android/settings/accessibility/TextReadingPreviewController.java b/src/com/android/settings/accessibility/TextReadingPreviewController.java
index ffa156b..4ec0b3d 100644
--- a/src/com/android/settings/accessibility/TextReadingPreviewController.java
+++ b/src/com/android/settings/accessibility/TextReadingPreviewController.java
@@ -18,12 +18,14 @@
 
 import android.content.Context;
 import android.content.res.Configuration;
+import android.content.res.TypedArray;
 import android.os.SystemClock;
 import android.util.Log;
 import android.view.Choreographer;
 import android.view.View;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
@@ -31,6 +33,7 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.instrumentation.SettingsStatsLog;
 import com.android.settings.display.PreviewPagerAdapter;
+import com.android.settings.flags.Flags;
 import com.android.settings.widget.LabeledSeekBarPreference;
 
 import java.util.Objects;
@@ -44,11 +47,10 @@
     private static final String TAG = "TextReadingPreviewCtrl";
     private static final int LAYER_INITIAL_INDEX = 0;
     private static final int FRAME_INITIAL_INDEX = 0;
-    static final int[] PREVIEW_SAMPLE_RES_IDS = new int[]{
+    private static final int[] PREVIEW_SAMPLE_RES_IDS = new int[]{
             R.layout.accessibility_text_reading_preview_app_grid,
             R.layout.screen_zoom_preview_1,
             R.layout.accessibility_text_reading_preview_mail_content};
-
     private static final String PREVIEW_KEY = "preview";
     private static final String FONT_SIZE_KEY = "font_size";
     private static final String DISPLAY_SIZE_KEY = "display_size";
@@ -107,11 +109,12 @@
         final Configuration origConfig = mContext.getResources().getConfiguration();
         final boolean isLayoutRtl =
                 origConfig.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
+        final int[] previewSamples = getPreviewSampleLayouts(mContext);
         final PreviewPagerAdapter pagerAdapter = new PreviewPagerAdapter(mContext, isLayoutRtl,
-                PREVIEW_SAMPLE_RES_IDS, createConfig(origConfig));
+                previewSamples, createConfig(origConfig));
         mPreviewPreference.setPreviewAdapter(pagerAdapter);
         mPreviewPreference.setCurrentItem(
-                isLayoutRtl ? PREVIEW_SAMPLE_RES_IDS.length - 1 : FRAME_INITIAL_INDEX);
+                isLayoutRtl ? previewSamples.length - 1 : FRAME_INITIAL_INDEX);
 
         final int initialPagerIndex =
                 mLastFontProgress * mDisplaySizeData.getValues().size() + mLastDisplayProgress;
@@ -178,6 +181,22 @@
         choreographer.postFrameCallbackDelayed(mCommit, commitDelayMs);
     }
 
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    static int[] getPreviewSampleLayouts(Context context) {
+        if (!Flags.accessibilityCustomizeTextReadingPreview()) {
+            return PREVIEW_SAMPLE_RES_IDS;
+        }
+        TypedArray previews = context.getResources().obtainTypedArray(
+                R.array.config_text_reading_preview_samples);
+        int previewCount = previews.length();
+        int[] previewSamples = new int[previewCount];
+        for (int i = 0; i < previewCount; i++) {
+            previewSamples[i] = previews.getResourceId(i, R.layout.screen_zoom_preview_1);
+        }
+        previews.recycle();
+        return previewSamples;
+    }
+
     private int getPagerIndex() {
         final int displayDataSize = mDisplaySizeData.getValues().size();
         final int fontSizeProgress = mFontSizePreference.getProgress();
diff --git a/src/com/android/settings/accessibility/TextReadingPreviewPager.java b/src/com/android/settings/accessibility/TextReadingPreviewPager.java
index 5d43159..252d121 100644
--- a/src/com/android/settings/accessibility/TextReadingPreviewPager.java
+++ b/src/com/android/settings/accessibility/TextReadingPreviewPager.java
@@ -18,8 +18,7 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.view.MotionEvent;
-import android.view.ViewGroup;
+import android.view.View;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -29,18 +28,31 @@
  * The view pager is used for displaying screen preview with different size configuration changes.
  */
 public class TextReadingPreviewPager extends ViewPager {
+
     public TextReadingPreviewPager(@NonNull Context context, @Nullable AttributeSet attrs) {
         super(context, attrs);
     }
 
     @Override
-    public boolean onInterceptTouchEvent(MotionEvent ev) {
-        final ViewGroup parent = (ViewGroup) getParent();
-        if (parent != null) {
-            // Avoid conflicting with the nested scroll view.
-            parent.requestDisallowInterceptTouchEvent(true);
-        }
+    public boolean onStartNestedScroll(View child, View target, int nestedScrollAxes) {
+        return (nestedScrollAxes & View.SCROLL_AXIS_VERTICAL) != 0;
+    }
 
-        return super.onInterceptTouchEvent(ev);
+    @Override
+    public void onNestedScrollAccepted(View child, View target, int axes) {
+        super.onNestedScrollAccepted(child, target, axes);
+        // Allow the nested scrollview inside of the view pager to be scrollable.
+        getParent().requestDisallowInterceptTouchEvent(true);
+    }
+
+    @Override
+    public void onNestedScroll(
+            View target, int dxConsumed, int dyConsumed, int dxUnconsumed, int dyUnconsumed) {
+        if (dyUnconsumed != 0) {
+            // Assume dyUnconsumed != 0 means the target has been scrolled to the end vertically.
+            // We could let the parent to consume the rest of the dyUnconsumed
+            getParent().requestDisallowInterceptTouchEvent(false);
+        }
+        super.onNestedScroll(target, dxConsumed, dyConsumed, dxUnconsumed, dyUnconsumed);
     }
 }
diff --git a/src/com/android/settings/accessibility/TextReadingPreviewPreference.java b/src/com/android/settings/accessibility/TextReadingPreviewPreference.java
index c4a9489..a9e2dce 100644
--- a/src/com/android/settings/accessibility/TextReadingPreviewPreference.java
+++ b/src/com/android/settings/accessibility/TextReadingPreviewPreference.java
@@ -19,11 +19,14 @@
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.View;
+import android.widget.FrameLayout;
+import android.widget.LinearLayout;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 import androidx.viewpager.widget.ViewPager;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.Preconditions;
 import com.android.settings.R;
 import com.android.settings.display.PreviewPagerAdapter;
@@ -37,6 +40,9 @@
     private int mLastLayerIndex;
     private PreviewPagerAdapter mPreviewAdapter;
 
+    private int mLayoutMinHorizontalPadding = 0;
+    private int mBackgroundMinHorizontalPadding = 0;
+
     private final ViewPager.OnPageChangeListener mPageChangeListener =
             new ViewPager.OnPageChangeListener() {
         @Override
@@ -80,6 +86,10 @@
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
 
+        FrameLayout previewLayout = (FrameLayout) holder.itemView;
+        LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
+        adjustPaddings(previewLayout, backgroundView);
+
         final ViewPager viewPager = (ViewPager) holder.findViewById(R.id.preview_pager);
         viewPager.addOnPageChangeListener(mPageChangeListener);
         final DotsPageIndicator pageIndicator =
@@ -88,6 +98,36 @@
         updatePagerAndIndicator(viewPager, pageIndicator);
     }
 
+    /**
+     * Set the minimum preview layout horizontal inner padding.
+     */
+    void setLayoutMinHorizontalPadding(int layoutMinHorizontalPadding) {
+        mLayoutMinHorizontalPadding = layoutMinHorizontalPadding;
+    }
+
+    /**
+     * Set the minimum preview background view horizontal inner padding.
+     */
+    void setBackgroundMinHorizontalPadding(int backgroundMinHorizontalPadding) {
+        mBackgroundMinHorizontalPadding = backgroundMinHorizontalPadding;
+    }
+
+    @VisibleForTesting
+    void adjustPaddings(FrameLayout previewLayout, LinearLayout backgroundView) {
+        previewLayout.setPadding(
+                Math.max(previewLayout.getPaddingStart(), mLayoutMinHorizontalPadding),
+                previewLayout.getPaddingTop(),
+                Math.max(previewLayout.getPaddingEnd(), mLayoutMinHorizontalPadding),
+                previewLayout.getPaddingBottom()
+        );
+        backgroundView.setPadding(
+                Math.max(backgroundView.getPaddingStart(), mBackgroundMinHorizontalPadding),
+                backgroundView.getPaddingTop(),
+                Math.max(backgroundView.getPaddingEnd(), mBackgroundMinHorizontalPadding),
+                backgroundView.getPaddingBottom()
+        );
+    }
+
     void setPreviewAdapter(PreviewPagerAdapter previewAdapter) {
         if (previewAdapter != mPreviewAdapter) {
             mPreviewAdapter = previewAdapter;
@@ -142,6 +182,12 @@
     }
 
     private void init() {
+        // set up the minimum horizontal paddings
+        setLayoutMinHorizontalPadding(getContext().getResources().getDimensionPixelSize(
+                R.dimen.text_reading_preview_layout_padding_horizontal_min));
+        setBackgroundMinHorizontalPadding(getContext().getResources().getDimensionPixelSize(
+                R.dimen.text_reading_preview_background_padding_horizontal_min));
+
         setLayoutResource(R.layout.accessibility_text_reading_preview);
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
index 28b80ba..0b5ad3e 100644
--- a/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragment.java
@@ -41,13 +41,13 @@
 import android.view.MenuInflater;
 import android.view.View;
 import android.view.accessibility.AccessibilityManager;
-import android.widget.Switch;
+import android.widget.CompoundButton;
 
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
-import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
+import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
 import com.android.settingslib.accessibility.AccessibilityUtils;
 
 import java.util.List;
@@ -157,28 +157,55 @@
                 if (info == null) {
                     return null;
                 }
-                mWarningDialog = AccessibilityServiceWarning
-                        .createCapabilitiesDialog(getPrefContext(), info,
-                                this::onDialogButtonFromEnableToggleClicked,
-                                this::onDialogButtonFromUninstallClicked);
+                if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+                    mWarningDialog =
+                            com.android.internal.accessibility.dialog.AccessibilityServiceWarning
+                                    .createAccessibilityServiceWarningDialog(getPrefContext(), info,
+                                            v -> onAllowButtonFromEnableToggleClicked(),
+                                            v -> onDenyButtonFromEnableToggleClicked(),
+                                            v -> onDialogButtonFromUninstallClicked());
+                } else {
+                    mWarningDialog = AccessibilityServiceWarning
+                            .createCapabilitiesDialog(getPrefContext(), info,
+                                    this::onDialogButtonFromEnableToggleClicked,
+                                    this::onDialogButtonFromUninstallClicked);
+                }
                 return mWarningDialog;
             case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE:
                 if (info == null) {
                     return null;
                 }
-                mWarningDialog = AccessibilityServiceWarning
-                        .createCapabilitiesDialog(getPrefContext(), info,
-                                this::onDialogButtonFromShortcutToggleClicked,
-                                this::onDialogButtonFromUninstallClicked);
+                if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+                    mWarningDialog =
+                            com.android.internal.accessibility.dialog.AccessibilityServiceWarning
+                                    .createAccessibilityServiceWarningDialog(getPrefContext(), info,
+                                            v -> onAllowButtonFromShortcutToggleClicked(),
+                                            v -> onDenyButtonFromShortcutToggleClicked(),
+                                            v -> onDialogButtonFromUninstallClicked());
+                } else {
+                    mWarningDialog = AccessibilityServiceWarning
+                            .createCapabilitiesDialog(getPrefContext(), info,
+                                    this::onDialogButtonFromShortcutToggleClicked,
+                                    this::onDialogButtonFromUninstallClicked);
+                }
                 return mWarningDialog;
             case DialogEnums.ENABLE_WARNING_FROM_SHORTCUT:
                 if (info == null) {
                     return null;
                 }
-                mWarningDialog = AccessibilityServiceWarning
-                        .createCapabilitiesDialog(getPrefContext(), info,
-                                this::onDialogButtonFromShortcutClicked,
-                                this::onDialogButtonFromUninstallClicked);
+                if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+                    mWarningDialog =
+                            com.android.internal.accessibility.dialog.AccessibilityServiceWarning
+                                    .createAccessibilityServiceWarningDialog(getPrefContext(), info,
+                                            v -> onAllowButtonFromShortcutClicked(),
+                                            v -> onDenyButtonFromShortcutClicked(),
+                                            v -> onDialogButtonFromUninstallClicked());
+                } else {
+                    mWarningDialog = AccessibilityServiceWarning
+                            .createCapabilitiesDialog(getPrefContext(), info,
+                                    this::onDialogButtonFromShortcutClicked,
+                                    this::onDialogButtonFromUninstallClicked);
+                }
                 return mWarningDialog;
             case DialogEnums.DISABLE_WARNING_FROM_TOGGLE:
                 if (info == null) {
@@ -294,7 +321,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked != isAccessibilityServiceEnabled()) {
             onPreferenceClick(isChecked);
         }
@@ -303,15 +330,20 @@
     @Override
     public void onToggleClicked(ShortcutPreference preference) {
         final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
-                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mComponentName.flattenToString());
         if (preference.isChecked()) {
-            if (!mToggleServiceSwitchPreference.isChecked()) {
+            final boolean isWarningRequired;
+            if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+                isWarningRequired = getPrefContext().getSystemService(AccessibilityManager.class)
+                        .isAccessibilityServiceWarningRequired(getAccessibilityServiceInfo());
+            } else {
+                isWarningRequired = !mToggleServiceSwitchPreference.isChecked();
+            }
+            if (isWarningRequired) {
                 preference.setChecked(false);
                 showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE);
             } else {
-                AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
-                        mComponentName);
-                showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
+                onAllowButtonFromShortcutToggleClicked();
             }
         } else {
             AccessibilityUtil.optOutAllValuesFromSettings(getPrefContext(), shortcutTypes,
@@ -322,10 +354,20 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        final boolean isServiceOnOrShortcutAdded = mShortcutPreference.isChecked()
-                || mToggleServiceSwitchPreference.isChecked();
-        showPopupDialog(isServiceOnOrShortcutAdded ? DialogEnums.EDIT_SHORTCUT
-                : DialogEnums.ENABLE_WARNING_FROM_SHORTCUT);
+        final boolean isWarningRequired;
+        if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+            isWarningRequired = getPrefContext().getSystemService(AccessibilityManager.class)
+                    .isAccessibilityServiceWarningRequired(getAccessibilityServiceInfo());
+        } else {
+            isWarningRequired = !(mShortcutPreference.isChecked()
+                    || mToggleServiceSwitchPreference.isChecked());
+        }
+
+        if (isWarningRequired) {
+            showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_SHORTCUT);
+        } else {
+            onAllowButtonFromShortcutClicked();
+        }
     }
 
     @Override
@@ -440,7 +482,9 @@
             mIsDialogShown.set(false);
             showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
         }
-        mWarningDialog.dismiss();
+        if (mWarningDialog != null) {
+            mWarningDialog.dismiss();
+        }
     }
 
     private void onDenyButtonFromEnableToggleClicked() {
@@ -459,17 +503,19 @@
         }
     }
 
-    private void onAllowButtonFromShortcutToggleClicked() {
+    void onAllowButtonFromShortcutToggleClicked() {
         mShortcutPreference.setChecked(true);
 
         final int shortcutTypes = retrieveUserShortcutType(getPrefContext(),
-                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mComponentName.flattenToString());
         AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes, mComponentName);
 
         mIsDialogShown.set(false);
         showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
 
-        mWarningDialog.dismiss();
+        if (mWarningDialog != null) {
+            mWarningDialog.dismiss();
+        }
 
         mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
     }
@@ -493,9 +539,21 @@
 
     private void onAllowButtonFromShortcutClicked() {
         mIsDialogShown.set(false);
-        showPopupDialog(DialogEnums.EDIT_SHORTCUT);
+        if (Flags.editShortcutsInFullScreen()) {
+            EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                    getContext(),
+                    getMetricsCategory(),
+                    getShortcutTitle(),
+                    mComponentName,
+                    getIntent()
+            );
+        } else {
+            showPopupDialog(DialogEnums.EDIT_SHORTCUT);
+        }
 
-        mWarningDialog.dismiss();
+        if (mWarningDialog != null) {
+            mWarningDialog.dismiss();
+        }
     }
 
     private void onDenyButtonFromShortcutClicked() {
@@ -507,13 +565,17 @@
             mToggleServiceSwitchPreference.setChecked(false);
             getArguments().putBoolean(AccessibilitySettings.EXTRA_CHECKED,
                     /* disableService */ false);
-            if (!mShortcutPreference.isChecked()) {
+            final boolean isWarningRequired;
+            if (android.view.accessibility.Flags.cleanupAccessibilityWarningDialog()) {
+                isWarningRequired = getPrefContext().getSystemService(AccessibilityManager.class)
+                        .isAccessibilityServiceWarningRequired(getAccessibilityServiceInfo());
+            } else {
+                isWarningRequired = !mShortcutPreference.isChecked();
+            }
+            if (isWarningRequired) {
                 showPopupDialog(DialogEnums.ENABLE_WARNING_FROM_TOGGLE);
             } else {
-                handleConfirmServiceEnabled(/* confirmed= */ true);
-                if (serviceSupportsAccessibilityButton()) {
-                    showPopupDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
-                }
+                onAllowButtonFromEnableToggleClicked();
             }
         } else {
             mToggleServiceSwitchPreference.setChecked(true);
diff --git a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
index 5defe98..ccba9e7f 100644
--- a/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleColorInversionPreferenceFragment.java
@@ -25,6 +25,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.ContentResolver;
+import android.content.Context;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.Settings;
@@ -37,17 +38,22 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SettingsMainSwitchPreference;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
 
-/** Settings page for color inversion. */
+/**
+ * Settings page for color inversion.
+ */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class ToggleColorInversionPreferenceFragment extends ToggleFeaturePreferenceFragment {
 
     private static final String TAG = "ToggleColorInversionPreferenceFragment";
     private static final String ENABLED = Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
 
+    private static final String KEY_SHORTCUT_PREFERENCE = "color_inversion_shortcut_key";
+
     @Override
     protected void registerKeysToObserverCallback(
             AccessibilitySettingsContentObserver contentObserver) {
@@ -67,9 +73,9 @@
         mHtmlDescription = getText(R.string.accessibility_display_inversion_preference_subtitle);
         mTopIntroTitle = getText(R.string.accessibility_display_inversion_preference_intro_text);
         mImageUri = new Uri.Builder().scheme(ContentResolver.SCHEME_ANDROID_RESOURCE)
-                .authority(getPrefContext().getPackageName())
-                .appendPath(String.valueOf(R.raw.a11y_color_inversion_banner))
-                .build();
+            .authority(getPrefContext().getPackageName())
+            .appendPath(String.valueOf(R.raw.a11y_color_inversion_banner))
+            .build();
         final View view = super.onCreateView(inflater, container, savedInstanceState);
         updateFooterPreference();
         return view;
@@ -159,7 +165,7 @@
     @Override
     int getUserShortcutTypes() {
         return AccessibilityUtil.getUserShortcutTypesFromSettings(getPrefContext(),
-                mComponentName);
+            mComponentName);
     }
 
     @Override
@@ -170,8 +176,8 @@
     @Override
     CharSequence getTileTooltipContent(@QuickSettingsTooltipType int type) {
         return getText(type == QuickSettingsTooltipType.GUIDE_TO_EDIT
-                ? R.string.accessibility_color_inversion_qs_tooltip_content
-                : R.string.accessibility_color_inversion_auto_added_qs_tooltip_content);
+            ? R.string.accessibility_color_inversion_qs_tooltip_content
+            : R.string.accessibility_color_inversion_auto_added_qs_tooltip_content);
     }
 
     @Override
@@ -184,5 +190,17 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings);
+            new BaseSearchIndexProvider(R.xml.accessibility_color_inversion_settings) {
+                @Override
+                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+                        boolean enabled) {
+                    final List<SearchIndexableRaw> rawData = new ArrayList<>();
+                    SearchIndexableRaw raw = new SearchIndexableRaw(context);
+                    raw.key = KEY_SHORTCUT_PREFERENCE;
+                    raw.title = context.getString(
+                        R.string.accessibility_display_inversion_shortcut_title);
+                    rawData.add(raw);
+                    return rawData;
+                }
+            };
 }
diff --git a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
index 5e36100..bc34e01 100644
--- a/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleDaltonizerPreferenceFragment.java
@@ -95,8 +95,10 @@
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
         mComponentName = DALTONIZER_COMPONENT_NAME;
-        mPackageName = getText(R.string.accessibility_display_daltonizer_preference_title);
-        mHtmlDescription = getText(R.string.accessibility_display_daltonizer_preference_subtitle);
+        mPackageName = getText(com.android.settingslib.R
+                .string.accessibility_display_daltonizer_preference_title);
+        mHtmlDescription = getText(com.android.settingslib.R
+                .string.accessibility_display_daltonizer_preference_subtitle);
         mTopIntroTitle = getText(R.string.accessibility_daltonizer_about_intro_text);
         final View view = super.onCreateView(inflater, container, savedInstanceState);
         updateFooterPreference();
@@ -108,8 +110,8 @@
         super.onViewCreated(view, savedInstanceState);
         final View rootView = getActivity().getWindow().peekDecorView();
         if (rootView != null) {
-            rootView.setAccessibilityPaneTitle(getString(
-                    R.string.accessibility_display_daltonizer_preference_title));
+            rootView.setAccessibilityPaneTitle(getString(com.android.settingslib.R
+                    .string.accessibility_display_daltonizer_preference_title));
         }
     }
 
diff --git a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
index 6a4344f..e7835f8 100644
--- a/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragment.java
@@ -44,9 +44,11 @@
 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;
-import android.widget.Switch;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
@@ -57,12 +59,13 @@
 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;
 import com.android.settings.utils.LocaleUtils;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settings.widget.SettingsMainSwitchPreference;
 import com.android.settingslib.widget.IllustrationPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 import com.android.settingslib.widget.TopIntroPreference;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -76,7 +79,7 @@
  * and dialog management.
  */
 public abstract class ToggleFeaturePreferenceFragment extends DashboardFragment
-        implements ShortcutPreference.OnClickCallback, OnMainSwitchChangeListener {
+        implements ShortcutPreference.OnClickCallback, OnCheckedChangeListener {
 
     public static final String KEY_GENERAL_CATEGORY = "general_categories";
     public static final String KEY_SHORTCUT_PREFERENCE = "shortcut_preference";
@@ -188,6 +191,7 @@
         initGeneralCategory();
         initShortcutPreference();
         initSettingsPreference();
+        initAppInfoPreference();
         initHtmlTextPreference();
         initFooterPreference();
 
@@ -208,7 +212,7 @@
     public Dialog onCreateDialog(int dialogId) {
         switch (dialogId) {
             case DialogEnums.EDIT_SHORTCUT:
-                final int dialogType = WizardManagerHelper.isAnySetupWizard(getIntent())
+                final int dialogType = isAnySetupWizard()
                         ? DialogType.EDIT_SHORTCUT_GENERIC_SUW : DialogType.EDIT_SHORTCUT_GENERIC;
                 mDialog = AccessibilityDialogUtils.showEditShortcutDialog(
                         getPrefContext(), dialogType, getShortcutTitle(),
@@ -216,7 +220,7 @@
                 setupEditShortcutDialog(mDialog);
                 return mDialog;
             case DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL:
-                if (WizardManagerHelper.isAnySetupWizard(getIntent())) {
+                if (isAnySetupWizard()) {
                     mDialog = AccessibilityGestureNavigationTutorial
                             .createAccessibilityTutorialDialogForSetupWizard(
                                     getPrefContext(), getUserShortcutTypes(),
@@ -325,7 +329,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         onPreferenceToggled(mPreferenceKey, isChecked);
     }
 
@@ -541,6 +545,44 @@
         generalCategory.addPreference(mSettingsPreference);
     }
 
+    @VisibleForTesting
+    @Nullable
+    Preference createAppInfoPreference() {
+        if (!Flags.accessibilityShowAppInfoButton()) {
+            return null;
+        }
+        // App Info is not available in Setup Wizard.
+        if (isAnySetupWizard()) {
+            return null;
+        }
+        // Only show the button for pages with valid component package names.
+        if (mComponentName == null) {
+            return null;
+        }
+        final String packageName = mComponentName.getPackageName();
+        final PackageManager packageManager = getPrefContext().getPackageManager();
+        if (!packageManager.isPackageAvailable(packageName)) {
+            return null;
+        }
+
+        Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+        intent.setData(Uri.parse("package:" + packageName));
+
+        final Preference appInfoPreference = new Preference(getPrefContext());
+        appInfoPreference.setTitle(getString(R.string.application_info_label));
+        appInfoPreference.setIconSpaceReserved(false);
+        appInfoPreference.setIntent(intent);
+        return appInfoPreference;
+    }
+
+    private void initAppInfoPreference() {
+        final Preference appInfoPreference = createAppInfoPreference();
+        if (appInfoPreference != null) {
+            final PreferenceCategory generalCategory = findPreference(KEY_GENERAL_CATEGORY);
+            generalCategory.addPreference(appInfoPreference);
+        }
+    }
+
     private void initHtmlTextPreference() {
         if (TextUtils.isEmpty(mHtmlDescription)) {
             return;
@@ -616,7 +658,7 @@
         int value = restoreOnConfigChangedValue();
         if (value == NOT_SET) {
             final int lastNonEmptyUserShortcutType = PreferredShortcuts.retrieveUserShortcutType(
-                    getPrefContext(), mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                    getPrefContext(), mComponentName.flattenToString());
             value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
                     : UserShortcutType.EMPTY;
         }
@@ -662,11 +704,11 @@
         }
 
         if (!mShortcutPreference.isChecked()) {
-            return context.getText(R.string.switch_off_text);
+            return context.getText(R.string.accessibility_shortcut_state_off);
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(context,
-                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mComponentName.flattenToString());
 
         final List<CharSequence> list = new ArrayList<>();
         if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) {
@@ -759,7 +801,7 @@
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
-                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mComponentName.flattenToString());
         mShortcutPreference.setChecked(
                 AccessibilityUtil.hasValuesInSettings(getPrefContext(), shortcutTypes,
                         mComponentName));
@@ -777,7 +819,7 @@
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
-                mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mComponentName.flattenToString());
         if (preference.isChecked()) {
             AccessibilityUtil.optInAllValuesToSettings(getPrefContext(), shortcutTypes,
                     mComponentName);
@@ -791,7 +833,13 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        showDialog(DialogEnums.EDIT_SHORTCUT);
+        if (com.android.settings.accessibility.Flags.editShortcutsInFullScreen()) {
+            EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                    requireContext(), getMetricsCategory(), getShortcutTitle(),
+                    mComponentName, getIntent());
+        } else {
+            showDialog(DialogEnums.EDIT_SHORTCUT);
+        }
     }
 
     /**
@@ -864,6 +912,14 @@
             return;
         }
 
+        Activity activity = getActivity();
+        if (com.android.settings.accessibility.Flags.removeQsTooltipInSuw()
+                && activity != null
+                && WizardManagerHelper.isAnySetupWizard(activity.getIntent())) {
+            // Don't show QuickSettingsTooltip in Setup Wizard
+            return;
+        }
+
         if (!mNeedsQSTooltipReshow && AccessibilityQuickSettingUtils.hasValueInSharedPreferences(
                 getContext(), tileComponentName)) {
             // Returns if quick settings tooltip only show once.
@@ -902,4 +958,9 @@
         }
         return null;
     }
+
+    @VisibleForTesting
+    boolean isAnySetupWizard() {
+        return WizardManagerHelper.isAnySetupWizard(getIntent());
+    }
 }
diff --git a/src/com/android/settings/accessibility/ToggleForceInvertPreferenceController.java b/src/com/android/settings/accessibility/ToggleForceInvertPreferenceController.java
new file mode 100644
index 0000000..3f2cc13
--- /dev/null
+++ b/src/com/android/settings/accessibility/ToggleForceInvertPreferenceController.java
@@ -0,0 +1,63 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.accessibility.Flags;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
+/** A toggle preference controller for force invert (force dark). */
+public class ToggleForceInvertPreferenceController extends TogglePreferenceController {
+
+    public static final String SETTINGS_KEY =
+            Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED;
+
+    @VisibleForTesting
+    static final int ON = 1;
+    @VisibleForTesting
+    static final int OFF = 0;
+
+    public ToggleForceInvertPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Secure.getInt(mContext.getContentResolver(), SETTINGS_KEY, OFF) != OFF;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                SETTINGS_KEY, isChecked ? ON : OFF);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.forceInvertColor() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_accessibility;
+    }
+}
diff --git a/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
index 16f9957..2f7005c 100644
--- a/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleReduceBrightColorsPreferenceFragment.java
@@ -33,7 +33,7 @@
 import android.view.ViewGroup;
 
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
@@ -102,7 +102,7 @@
         getPreferenceScreen().removePreference(intensity);
         intensity.setOrder(mShortcutPreference.getOrder() - 2);
         generalCategory.addPreference(intensity);
-        final SwitchPreference persist = findPreference(KEY_PERSIST);
+        final TwoStatePreference persist = findPreference(KEY_PERSIST);
         getPreferenceScreen().removePreference(persist);
         persist.setOrder(mShortcutPreference.getOrder() - 1);
         generalCategory.addPreference(persist);
diff --git a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
index 1270671..023556c 100644
--- a/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
+++ b/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragment.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME;
 import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
 import static com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
 import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
@@ -42,16 +43,20 @@
 import android.view.accessibility.AccessibilityManager.TouchExplorationStateChangeListener;
 import android.widget.CheckBox;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 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;
 
@@ -75,13 +80,14 @@
     private static final TextUtils.SimpleStringSplitter sStringColonSplitter =
             new TextUtils.SimpleStringSplitter(COMPONENT_NAME_SEPARATOR);
 
-    protected SwitchPreference mFollowingTypingSwitchPreference;
+    protected TwoStatePreference mFollowingTypingSwitchPreference;
 
     // 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;
     private MagnificationFollowTypingPreferenceController mFollowTypingPreferenceController;
 
@@ -201,8 +207,7 @@
         getSettingsLifecycle().addObserver(magnificationModePreferenceController);
         magnificationModePreferenceController.displayPreference(getPreferenceScreen());
 
-        mFollowingTypingSwitchPreference =
-                new SwitchPreference(getPrefContext());
+        mFollowingTypingSwitchPreference = new SwitchPreferenceCompat(getPrefContext());
         mFollowingTypingSwitchPreference.setTitle(
                 R.string.accessibility_screen_magnification_follow_typing_title);
         mFollowingTypingSwitchPreference.setSummary(
@@ -225,10 +230,6 @@
     protected void onProcessArguments(Bundle arguments) {
         Context context = getContext();
 
-        // This Fragment may get arguments from MagnificationGesturesPreferenceController or
-        // MagnificationNavbarPreferenceController and it's necessary to check if a key exists
-        // before putting a new value into arguments.
-
         if (!arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY)) {
             arguments.putString(AccessibilitySettings.EXTRA_PREFERENCE_KEY,
                     Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED);
@@ -264,7 +265,7 @@
             return;
         }
 
-        var alwaysOnPreference = new SwitchPreference(getPrefContext());
+        var alwaysOnPreference = new SwitchPreferenceCompat(getPrefContext());
         alwaysOnPreference.setTitle(
                 R.string.accessibility_screen_magnification_always_on_title);
         alwaysOnPreference.setSummary(
@@ -289,7 +290,7 @@
             return;
         }
 
-        SwitchPreference joystickPreference = new SwitchPreference(getPrefContext());
+        TwoStatePreference joystickPreference = new SwitchPreferenceCompat(getPrefContext());
         joystickPreference.setTitle(
                 R.string.accessibility_screen_magnification_joystick_title);
         joystickPreference.setSummary(
@@ -334,6 +335,11 @@
         if (mTripleTapTypeCheckBox.isChecked()) {
             value |= UserShortcutType.TRIPLETAP;
         }
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (mTwoFingerTripleTapTypeCheckBox.isChecked()) {
+                value |= UserShortcutType.TWOFINGERTRIPLETAP;
+            }
+        }
         return value;
     }
 
@@ -347,6 +353,15 @@
         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);
@@ -371,7 +386,7 @@
         int value = restoreOnConfigChangedValue();
         if (value == NOT_SET) {
             final int lastNonEmptyUserShortcutType = PreferredShortcuts.retrieveUserShortcutType(
-                    getPrefContext(), MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                    getPrefContext(), MAGNIFICATION_CONTROLLER_NAME);
             value = mShortcutPreference.isChecked() ? lastNonEmptyUserShortcutType
                     : UserShortcutType.EMPTY;
         }
@@ -382,6 +397,10 @@
                 hasShortcutType(value, UserShortcutType.HARDWARE));
         mTripleTapTypeCheckBox.setChecked(
                 hasShortcutType(value, UserShortcutType.TRIPLETAP));
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            mTwoFingerTripleTapTypeCheckBox.setChecked(
+                    hasShortcutType(value, UserShortcutType.TWOFINGERTRIPLETAP));
+        }
     }
 
     private int restoreOnConfigChangedValue() {
@@ -441,7 +460,7 @@
         }
 
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(context,
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
 
         final List<CharSequence> list = new ArrayList<>();
         if (hasShortcutType(shortcutTypes, UserShortcutType.SOFTWARE)) {
@@ -457,6 +476,13 @@
                     R.string.accessibility_shortcut_triple_tap_keyword);
             list.add(tripleTapTitle);
         }
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (hasShortcutType(shortcutTypes, UserShortcutType.TWOFINGERTRIPLETAP)) {
+                final CharSequence twoFingerTripleTapTitle = context.getText(
+                        R.string.accessibility_shortcut_two_finger_double_tap_keyword);
+                list.add(twoFingerTripleTapTitle);
+            }
+        }
 
         // Show software shortcut if first time to use.
         if (list.isEmpty()) {
@@ -537,7 +563,7 @@
                 preferenceKey)) {
             showDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
         }
-        MagnificationPreferenceFragment.setChecked(getContentResolver(), preferenceKey, enabled);
+        Settings.Secure.putInt(getContentResolver(), preferenceKey, enabled ? ON : OFF);
     }
 
     @Override
@@ -548,7 +574,7 @@
     @Override
     public void onToggleClicked(ShortcutPreference preference) {
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
         if (preference.isChecked()) {
             optInAllMagnificationValuesToSettings(getPrefContext(), shortcutTypes);
             showDialog(DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
@@ -560,7 +586,16 @@
 
     @Override
     public void onSettingsClicked(ShortcutPreference preference) {
-        showDialog(DialogEnums.MAGNIFICATION_EDIT_SHORTCUT);
+        if (com.android.settings.accessibility.Flags.editShortcutsInFullScreen()) {
+            EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                    requireContext(),
+                    getMetricsCategory(),
+                    getShortcutTitle(),
+                    MAGNIFICATION_COMPONENT_NAME,
+                    getIntent());
+        } else {
+            showDialog(DialogEnums.MAGNIFICATION_EDIT_SHORTCUT);
+        }
     }
 
     @Override
@@ -594,7 +629,7 @@
     @Override
     protected void updateShortcutPreference() {
         final int shortcutTypes = PreferredShortcuts.retrieveUserShortcutType(getPrefContext(),
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
         mShortcutPreference.setChecked(
                 hasMagnificationValuesInSettings(getPrefContext(), shortcutTypes));
         mShortcutPreference.setSummary(getShortcutTypeSummary(getPrefContext()));
@@ -622,6 +657,12 @@
         if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
             optInMagnificationValueToSettings(context, UserShortcutType.TRIPLETAP);
         }
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (((shortcutTypes & UserShortcutType.TWOFINGERTRIPLETAP)
+                    == UserShortcutType.TWOFINGERTRIPLETAP)) {
+                optInMagnificationValueToSettings(context, UserShortcutType.TWOFINGERTRIPLETAP);
+            }
+        }
     }
 
     private static void optInMagnificationValueToSettings(Context context,
@@ -632,6 +673,15 @@
             return;
         }
 
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (shortcutType == UserShortcutType.TWOFINGERTRIPLETAP) {
+                Settings.Secure.putInt(context.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                        ON);
+                return;
+            }
+        }
+
         if (hasMagnificationValueInSettings(context, shortcutType)) {
             return;
         }
@@ -647,6 +697,17 @@
         joiner.add(MAGNIFICATION_CONTROLLER_NAME);
 
         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
+                && Settings.Secure.getInt(context.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                FloatingMenuSizePreferenceController.Size.UNKNOWN)
+                == FloatingMenuSizePreferenceController.Size.UNKNOWN) {
+            Settings.Secure.putInt(context.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                    FloatingMenuSizePreferenceController.Size.LARGE);
+        }
     }
 
     @VisibleForTesting
@@ -661,6 +722,12 @@
         if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
             optOutMagnificationValueFromSettings(context, UserShortcutType.TRIPLETAP);
         }
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (((shortcutTypes & UserShortcutType.TWOFINGERTRIPLETAP)
+                    == UserShortcutType.TWOFINGERTRIPLETAP)) {
+                optOutMagnificationValueFromSettings(context, UserShortcutType.TWOFINGERTRIPLETAP);
+            }
+        }
     }
 
     private static void optOutMagnificationValueFromSettings(Context context,
@@ -671,6 +738,15 @@
             return;
         }
 
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (shortcutType == UserShortcutType.TWOFINGERTRIPLETAP) {
+                Settings.Secure.putInt(context.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                        OFF);
+                return;
+            }
+        }
+
         final String targetKey = AccessibilityUtil.convertKeyFromSettings(shortcutType);
         final String targetString = Settings.Secure.getString(context.getContentResolver(),
                 targetKey);
@@ -706,6 +782,13 @@
         if (((shortcutTypes & UserShortcutType.TRIPLETAP) == UserShortcutType.TRIPLETAP)) {
             exist |= hasMagnificationValueInSettings(context, UserShortcutType.TRIPLETAP);
         }
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (((shortcutTypes & UserShortcutType.TWOFINGERTRIPLETAP)
+                    == UserShortcutType.TWOFINGERTRIPLETAP)) {
+                exist |= hasMagnificationValueInSettings(context,
+                        UserShortcutType.TWOFINGERTRIPLETAP);
+            }
+        }
         return exist;
     }
 
@@ -716,6 +799,14 @@
                     Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF) == ON;
         }
 
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (shortcutType == UserShortcutType.TWOFINGERTRIPLETAP) {
+                return Settings.Secure.getInt(context.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                        OFF) == ON;
+            }
+        }
+
         final String targetKey = AccessibilityUtil.convertKeyFromSettings(shortcutType);
         final String targetString = Settings.Secure.getString(context.getContentResolver(),
                 targetKey);
@@ -745,6 +836,11 @@
         if (hasMagnificationValuesInSettings(context, UserShortcutType.TRIPLETAP)) {
             shortcutTypes |= UserShortcutType.TRIPLETAP;
         }
+        if (Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            if (hasMagnificationValuesInSettings(context, UserShortcutType.TWOFINGERTRIPLETAP)) {
+                shortcutTypes |= UserShortcutType.TWOFINGERTRIPLETAP;
+            }
+        }
         return shortcutTypes;
     }
 
@@ -755,9 +851,13 @@
      */
     public static CharSequence getServiceSummary(Context context) {
         // Get the user shortcut type from settings provider.
-        final int uerShortcutType = getUserShortcutTypeFromSettings(context);
-        return (uerShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
+        final int userShortcutType = getUserShortcutTypeFromSettings(context);
+        final CharSequence featureState =
+                (userShortcutType != AccessibilityUtil.UserShortcutType.EMPTY)
                 ? context.getText(R.string.accessibility_summary_shortcut_enabled)
-                : context.getText(R.string.accessibility_summary_shortcut_disabled);
+                : 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,
+                featureState, featureSummary);
     }
 }
diff --git a/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java b/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java
new file mode 100644
index 0000000..41e8198
--- /dev/null
+++ b/src/com/android/settings/accessibility/VibrationIntensitySettingsFragment.java
@@ -0,0 +1,98 @@
+/*
+ * 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.accessibility;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Bundle;
+import android.os.Vibrator;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+/** Accessibility settings for the vibration. */
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class VibrationIntensitySettingsFragment extends DashboardFragment {
+
+    private static final String TAG = "VibrationIntensitySettings";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCESSIBILITY_VIBRATION;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_uri_accessibility_vibration;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.accessibility_vibration_intensity_settings;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @VisibleForTesting
+    static boolean isPageSearchEnabled(Context context) {
+        final int supportedIntensityLevels = context.getResources().getInteger(
+                R.integer.config_vibration_supported_intensity_levels);
+        final boolean hasVibrator = context.getSystemService(Vibrator.class).hasVibrator();
+        if (Flags.separateAccessibilityVibrationSettingsFragments()) {
+            return hasVibrator && supportedIntensityLevels > 1;
+        } else {
+            return false;
+        }
+    }
+
+    @Override
+    public View onCreateView(LayoutInflater inflater, ViewGroup container,
+            Bundle savedInstanceState) {
+        final View view = super.onCreateView(inflater, container, savedInstanceState);
+        final Resources res = view.getResources();
+        final RecyclerView rv = getListView();
+        if (rv != null) {
+            final int bottom_padding = res.getDimensionPixelSize(
+                    com.android.settingslib.widget.theme.R.dimen
+                            .settingslib_listPreferredItemPaddingEnd);
+            rv.setPaddingRelative(rv.getPaddingStart(), rv.getPaddingTop(), rv.getPaddingEnd(),
+                    rv.getPaddingBottom() + bottom_padding);
+        }
+        return view;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.accessibility_vibration_intensity_settings) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return VibrationIntensitySettingsFragment.isPageSearchEnabled(context);
+                }
+            };
+}
diff --git a/src/com/android/settings/accessibility/VibrationPreferenceConfig.java b/src/com/android/settings/accessibility/VibrationPreferenceConfig.java
index b4be528..a304862 100644
--- a/src/com/android/settings/accessibility/VibrationPreferenceConfig.java
+++ b/src/com/android/settings/accessibility/VibrationPreferenceConfig.java
@@ -68,8 +68,19 @@
     /** Play a vibration effect with intensity just selected by the user. */
     public static void playVibrationPreview(Vibrator vibrator,
             @VibrationAttributes.Usage int vibrationUsage) {
-        vibrator.vibrate(PREVIEW_VIBRATION_EFFECT,
-                createPreviewVibrationAttributes(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);
     }
 
     public VibrationPreferenceConfig(Context context, String settingKey,
@@ -135,13 +146,17 @@
         return mAudioManager.getRingerModeInternal() == AudioManager.RINGER_MODE_SILENT;
     }
 
-    private static VibrationAttributes createPreviewVibrationAttributes(
+    static VibrationAttributes createPreviewVibrationAttributes(
             @VibrationAttributes.Usage int vibrationUsage) {
         return new VibrationAttributes.Builder()
                 .setUsage(vibrationUsage)
-                // Enforce fresh settings to be applied for the preview vibration, as they
-                // are played immediately after the new user values are set.
-                .setFlags(VibrationAttributes.FLAG_INVALIDATE_SETTINGS_CACHE)
+                .setFlags(
+                        // Enforce fresh settings to be applied for the preview vibration, as they
+                        // are played immediately after the new user values are set.
+                        VibrationAttributes.FLAG_INVALIDATE_SETTINGS_CACHE
+                        // Bypass user settings to allow vibration previews to be played while in
+                        // limited interruptions' mode, e.g. zen mode.
+                        | VibrationAttributes.FLAG_BYPASS_INTERRUPTION_POLICY)
                 .build();
     }
 
diff --git a/src/com/android/settings/accessibility/VibrationPreferenceController.java b/src/com/android/settings/accessibility/VibrationPreferenceController.java
index 61606b8..d430249 100644
--- a/src/com/android/settings/accessibility/VibrationPreferenceController.java
+++ b/src/com/android/settings/accessibility/VibrationPreferenceController.java
@@ -21,9 +21,15 @@
 import android.content.Context;
 import android.os.Vibrator;
 import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.flags.Flags;
 
 /** Controller for "Vibration & haptics" settings page. */
 public class VibrationPreferenceController extends BasePreferenceController {
@@ -49,4 +55,29 @@
                         ? R.string.accessibility_vibration_settings_state_on
                         : R.string.accessibility_vibration_settings_state_off);
     }
+
+    @VisibleForTesting
+    void launchVibrationSettingsFragment(Class klass) {
+        new SubSettingLauncher(mContext)
+                .setSourceMetricsCategory(getMetricsCategory())
+                .setDestination(klass.getName())
+                .launch();
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (Flags.separateAccessibilityVibrationSettingsFragments()
+                && TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            if (mContext.getResources().getInteger(
+                    R.integer.config_vibration_supported_intensity_levels) > 1) {
+                launchVibrationSettingsFragment(VibrationIntensitySettingsFragment.class);
+            } else {
+                launchVibrationSettingsFragment(VibrationSettings.class);
+            }
+            return true;
+        }
+        return super.handlePreferenceTreeClick(preference);
+    }
+
+
 }
diff --git a/src/com/android/settings/accessibility/VibrationSettings.java b/src/com/android/settings/accessibility/VibrationSettings.java
index 26a1bc2..4b36dde 100644
--- a/src/com/android/settings/accessibility/VibrationSettings.java
+++ b/src/com/android/settings/accessibility/VibrationSettings.java
@@ -26,10 +26,12 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
@@ -43,6 +45,9 @@
     private static final String TAG = "VibrationSettings";
 
     private static int getVibrationXmlResourceId(Context context) {
+        if (Flags.separateAccessibilityVibrationSettingsFragments()) {
+            return R.xml.accessibility_vibration_settings;
+        }
         final int supportedIntensities = context.getResources().getInteger(
                 R.integer.config_vibration_supported_intensity_levels);
         return supportedIntensities > 1
@@ -74,6 +79,9 @@
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
+        if (Flags.separateAccessibilityVibrationSettingsFragments()) {
+            return super.onCreateView(inflater, container, savedInstanceState);
+        }
         final View view = super.onCreateView(inflater, container, savedInstanceState);
         final RecyclerView rv = getListView();
         final Resources res = view.getResources();
@@ -81,19 +89,30 @@
                 R.integer.config_vibration_supported_intensity_levels);
         if (rv != null && supportedIntensities > 1) {
             final int bottom_padding = res.getDimensionPixelSize(
-                    R.dimen.settingslib_listPreferredItemPaddingEnd);
+                    com.android.settingslib.widget.theme.R.dimen.settingslib_listPreferredItemPaddingEnd);
             rv.setPaddingRelative(rv.getPaddingStart(), rv.getPaddingTop(), rv.getPaddingEnd(),
                     rv.getPaddingBottom() + bottom_padding);
         }
         return view;
     }
 
+    @VisibleForTesting
+    static boolean isPageSearchEnabled(Context context) {
+        final int supportedIntensityLevels = context.getResources().getInteger(
+                R.integer.config_vibration_supported_intensity_levels);
+        final boolean hasVibrator = context.getSystemService(Vibrator.class).hasVibrator();
+        if (Flags.separateAccessibilityVibrationSettingsFragments()) {
+            return hasVibrator && supportedIntensityLevels == 1;
+        } else {
+            return hasVibrator;
+        }
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider() {
-
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    return context.getSystemService(Vibrator.class).hasVibrator();
+                    return VibrationSettings.isPageSearchEnabled(context);
                 }
 
                 @Override
diff --git a/src/com/android/settings/accessibility/rtt/TelecomUtil.java b/src/com/android/settings/accessibility/rtt/TelecomUtil.java
index 53c988a..8317298 100644
--- a/src/com/android/settings/accessibility/rtt/TelecomUtil.java
+++ b/src/com/android/settings/accessibility/rtt/TelecomUtil.java
@@ -64,7 +64,7 @@
             return Optional.empty();
         }
         SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
+                SubscriptionManager.class).createForAllUserProfiles();
         List<SubscriptionInfo> subscriptionInfos =
                 subscriptionManager.getActiveSubscriptionInfoList();
         if (subscriptionInfos == null) {
diff --git a/src/com/android/settings/accessibility/shortcuts/AdvancedShortcutsPreferenceController.java b/src/com/android/settings/accessibility/shortcuts/AdvancedShortcutsPreferenceController.java
new file mode 100644
index 0000000..61be82f
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/AdvancedShortcutsPreferenceController.java
@@ -0,0 +1,76 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+
+import android.content.Context;
+
+import com.android.settings.accessibility.ExpandablePreference;
+
+import java.util.Set;
+
+/**
+ * A preference controller that controls an expandable preference that wraps
+ * the advanced shortcut options.
+ */
+public class AdvancedShortcutsPreferenceController extends ShortcutOptionPreferenceController
+        implements ExpandablePreference {
+
+    private boolean mIsExpanded = false;
+
+    public AdvancedShortcutsPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    protected boolean isChecked() {
+        return false;
+    }
+
+    @Override
+    protected void enableShortcutForTargets(boolean enable) {
+        // do nothing
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (!isExpanded() && isShortcutAvailable()) {
+            // "Advanced" is available when the user hasn't clicked on it
+            return AVAILABLE_UNSEARCHABLE;
+        }
+        return CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void setExpanded(boolean expanded) {
+        mIsExpanded = expanded;
+    }
+
+    @Override
+    public boolean isExpanded() {
+        return mIsExpanded;
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        // Only Magnification has advanced shortcut options.
+        Set<String> shortcutTargets = getShortcutTargets();
+        return shortcutTargets.size() == 1
+                && shortcutTargets.contains(MAGNIFICATION_CONTROLLER_NAME);
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java b/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
new file mode 100644
index 0000000..a3cbb57
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragment.java
@@ -0,0 +1,359 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static android.app.Activity.RESULT_CANCELED;
+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_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED;
+import static android.provider.Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE;
+
+import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.provider.Settings;
+import android.text.TextUtils;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.accessibility.AccessibilityManager;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.SetupWizardUtils;
+import com.android.settings.accessibility.AccessibilitySetupWizardUtils;
+import com.android.settings.accessibility.PreferredShortcuts;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.util.WizardManagerHelper;
+import com.google.android.setupdesign.GlifPreferenceLayout;
+
+import java.util.Collection;
+import java.util.Set;
+
+/**
+ * A screen show various accessibility shortcut options for the given a11y feature
+ */
+public class EditShortcutsPreferenceFragment extends DashboardFragment {
+    private static final String TAG = "EditShortcutsPreferenceFragment";
+
+    @VisibleForTesting
+    static final String ARG_KEY_SHORTCUT_TARGETS = "targets";
+    @VisibleForTesting
+    static final String SAVED_STATE_IS_EXPANDED = "isExpanded";
+    private ContentObserver mSettingsObserver;
+
+    private static final Uri VOLUME_KEYS_SHORTCUT_SETTING =
+            Settings.Secure.getUriFor(ACCESSIBILITY_SHORTCUT_TARGET_SERVICE);
+    private static final Uri BUTTON_SHORTCUT_MODE_SETTING =
+            Settings.Secure.getUriFor(ACCESSIBILITY_BUTTON_MODE);
+    private static final Uri BUTTON_SHORTCUT_SETTING =
+            Settings.Secure.getUriFor(ACCESSIBILITY_BUTTON_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 =
+            Settings.Secure.getUriFor(ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED);
+
+    @VisibleForTesting
+    static final Uri[] SHORTCUT_SETTINGS = {
+            VOLUME_KEYS_SHORTCUT_SETTING,
+            BUTTON_SHORTCUT_MODE_SETTING,
+            BUTTON_SHORTCUT_SETTING,
+            TRIPLE_TAP_SHORTCUT_SETTING,
+            TWO_FINGERS_DOUBLE_TAP_SHORTCUT_SETTING,
+    };
+
+    private Set<String> mShortcutTargets;
+
+    @Nullable
+    private AccessibilityManager.TouchExplorationStateChangeListener
+            mTouchExplorationStateChangeListener;
+
+
+    /**
+     * Helper method to show the edit shortcut screen
+     */
+    public static void showEditShortcutScreen(
+            Context context, int metricsCategory, CharSequence screenTitle,
+            ComponentName target, Intent fromIntent) {
+        Bundle args = new Bundle();
+
+        if (MAGNIFICATION_COMPONENT_NAME.equals(target)) {
+            // We can remove this branch once b/147990389 is completed
+            args.putStringArray(
+                    ARG_KEY_SHORTCUT_TARGETS, new String[]{MAGNIFICATION_CONTROLLER_NAME});
+        } else {
+            args.putStringArray(
+                    ARG_KEY_SHORTCUT_TARGETS, new String[]{target.flattenToString()});
+        }
+        Intent toIntent = new Intent();
+        if (fromIntent != null) {
+            SetupWizardUtils.copySetupExtras(fromIntent, toIntent);
+        }
+
+        new SubSettingLauncher(context)
+                .setDestination(EditShortcutsPreferenceFragment.class.getName())
+                .setExtras(toIntent.getExtras())
+                .setArguments(args)
+                .setSourceMetricsCategory(metricsCategory)
+                .setTitleText(screenTitle)
+                .launch();
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        initializeArguments();
+        initializePreferenceControllerArguments();
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        if (savedInstanceState != null) {
+            boolean isExpanded = savedInstanceState.getBoolean(SAVED_STATE_IS_EXPANDED);
+            if (isExpanded) {
+                onExpanded();
+            }
+        }
+        mSettingsObserver = new ContentObserver(new Handler()) {
+            @Override
+            public void onChange(boolean selfChange, Uri uri) {
+                if (VOLUME_KEYS_SHORTCUT_SETTING.equals(uri)) {
+                    refreshPreferenceController(VolumeKeysShortcutOptionController.class);
+                } else if (BUTTON_SHORTCUT_MODE_SETTING.equals(uri)
+                        || BUTTON_SHORTCUT_SETTING.equals(uri)) {
+                    refreshSoftwareShortcutControllers();
+                } else if (TRIPLE_TAP_SHORTCUT_SETTING.equals(uri)) {
+                    refreshPreferenceController(TripleTapShortcutOptionController.class);
+                } else if (TWO_FINGERS_DOUBLE_TAP_SHORTCUT_SETTING.equals(uri)) {
+                    refreshPreferenceController(TwoFingersDoubleTapShortcutOptionController.class);
+                }
+
+                PreferredShortcuts.updatePreferredShortcutsFromSettings(
+                        getContext(), mShortcutTargets);
+            }
+        };
+
+        registerSettingsObserver();
+    }
+
+    @NonNull
+    @Override
+    public RecyclerView onCreateRecyclerView(
+            @NonNull LayoutInflater inflater, @NonNull ViewGroup parent,
+            @Nullable Bundle savedInstanceState) {
+        if (parent instanceof GlifPreferenceLayout layout) {
+            // Usually for setup wizard
+            return layout.onCreateRecyclerView(inflater, parent, savedInstanceState);
+        } else {
+            return super.onCreateRecyclerView(inflater, parent, savedInstanceState);
+        }
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+
+        if (view instanceof GlifPreferenceLayout layout) {
+            // Usually for setup wizard
+            String title = null;
+            Intent intent = getIntent();
+            if (intent != null) {
+                title = intent.getStringExtra(EXTRA_SHOW_FRAGMENT_TITLE);
+            }
+            AccessibilitySetupWizardUtils.updateGlifPreferenceLayout(getContext(), layout, title,
+                    /* description= */ null, /* icon= */ null);
+
+            FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
+            AccessibilitySetupWizardUtils.setPrimaryButton(getContext(), mixin, R.string.done,
+                    () -> {
+                        setResult(RESULT_CANCELED);
+                        finish();
+                    });
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        mTouchExplorationStateChangeListener = isTouchExplorationEnabled ->
+                refreshPreferenceController(GestureShortcutOptionController.class);
+
+        final AccessibilityManager am = getSystemService(
+                AccessibilityManager.class);
+        am.addTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+        PreferredShortcuts.updatePreferredShortcutsFromSettings(getContext(), mShortcutTargets);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        if (mTouchExplorationStateChangeListener != null) {
+            final AccessibilityManager am = getSystemService(
+                    AccessibilityManager.class);
+            am.removeTouchExplorationStateChangeListener(mTouchExplorationStateChangeListener);
+        }
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putBoolean(
+                SAVED_STATE_IS_EXPANDED,
+                use(AdvancedShortcutsPreferenceController.class).isExpanded());
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+        unregisterSettingsObserver();
+    }
+
+    private void registerSettingsObserver() {
+        if (mSettingsObserver != null) {
+            for (Uri uri : SHORTCUT_SETTINGS) {
+                getContentResolver().registerContentObserver(
+                        uri, /* notifyForDescendants= */ false, mSettingsObserver);
+            }
+        }
+    }
+
+    private void unregisterSettingsObserver() {
+        if (mSettingsObserver != null) {
+            getContentResolver().unregisterContentObserver(mSettingsObserver);
+        }
+    }
+
+    private void initializeArguments() {
+        Bundle args = getArguments();
+        if (args == null || args.isEmpty()) {
+            throw new IllegalArgumentException(
+                    EditShortcutsPreferenceFragment.class.getSimpleName()
+                            + " requires non-empty shortcut targets");
+        }
+
+        String[] targets = args.getStringArray(ARG_KEY_SHORTCUT_TARGETS);
+        if (targets == null) {
+            throw new IllegalArgumentException(
+                    EditShortcutsPreferenceFragment.class.getSimpleName()
+                            + " requires non-empty shortcut targets");
+        }
+
+        mShortcutTargets = Set.of(targets);
+        // TODO(318748373): use 'targets' to populate title when no title is given
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_ACCESSIBILITY_SERVICE_EDIT_SHORTCUT;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.accessibility_edit_shortcuts;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public boolean onPreferenceTreeClick(Preference preference) {
+        if (getString(R.string.accessibility_shortcuts_advanced_collapsed)
+                .equals(preference.getKey())) {
+            onExpanded();
+            // log here since calling super.onPreferenceTreeClick will be skipped
+            writePreferenceClickMetric(preference);
+            return true;
+        }
+        return super.onPreferenceTreeClick(preference);
+    }
+
+    @VisibleForTesting
+    void initializePreferenceControllerArguments() {
+        boolean isInSuw = WizardManagerHelper.isAnySetupWizard(getIntent());
+
+        getPreferenceControllers()
+                .stream()
+                .flatMap(Collection::stream)
+                .filter(
+                        controller -> controller instanceof ShortcutOptionPreferenceController)
+                .forEach(controller -> {
+                    ShortcutOptionPreferenceController shortcutOptionPreferenceController =
+                            (ShortcutOptionPreferenceController) controller;
+                    shortcutOptionPreferenceController.setShortcutTargets(mShortcutTargets);
+                    shortcutOptionPreferenceController.setInSetupWizard(isInSuw);
+                });
+    }
+
+    private void onExpanded() {
+        AdvancedShortcutsPreferenceController advanced =
+                use(AdvancedShortcutsPreferenceController.class);
+        advanced.setExpanded(true);
+
+        TripleTapShortcutOptionController tripleTapShortcutOptionController =
+                use(TripleTapShortcutOptionController.class);
+        tripleTapShortcutOptionController.setExpanded(true);
+
+        refreshPreferenceController(AdvancedShortcutsPreferenceController.class);
+        refreshPreferenceController(TripleTapShortcutOptionController.class);
+    }
+
+    private void refreshPreferenceController(
+            Class<? extends AbstractPreferenceController> controllerClass) {
+        AbstractPreferenceController controller = use(controllerClass);
+        if (controller != null) {
+            controller.displayPreference(getPreferenceScreen());
+            if (!TextUtils.isEmpty(controller.getPreferenceKey())) {
+                controller.updateState(findPreference(controller.getPreferenceKey()));
+            }
+        }
+    }
+
+    private void refreshSoftwareShortcutControllers() {
+        // Gesture
+        refreshPreferenceController(GestureShortcutOptionController.class);
+
+        // FAB
+        refreshPreferenceController(FloatingButtonShortcutOptionController.class);
+
+        // A11y Nav Button
+        refreshPreferenceController(NavButtonShortcutOptionController.class);
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java
new file mode 100644
index 0000000..e72a85d
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionController.java
@@ -0,0 +1,65 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import android.content.Context;
+import android.text.SpannableStringBuilder;
+
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+/**
+ * A controller handles displaying the floating action button shortcut option preference and
+ * configuring the shortcut.
+ */
+public class FloatingButtonShortcutOptionController
+        extends SoftwareShortcutOptionPreferenceController {
+
+    public FloatingButtonShortcutOptionController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
+            shortcutOptionPreference.setTitle(
+                    R.string.accessibility_shortcut_edit_dialog_title_software);
+            shortcutOptionPreference.setIntroImageResId(
+                    R.drawable.a11y_shortcut_type_software_floating);
+        }
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        return AccessibilityUtil.isFloatingMenuEnabled(mContext);
+    }
+
+    @Nullable
+    @Override
+    public CharSequence getSummary() {
+        if (isInSetupWizard()) {
+            return null;
+        }
+        return new SpannableStringBuilder().append(getCustomizeAccessibilityButtonLink());
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java
new file mode 100644
index 0000000..fb312c6
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionController.java
@@ -0,0 +1,72 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import android.content.Context;
+import android.text.SpannableStringBuilder;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+/**
+ * A controller handles displaying the gesture shortcut option preference and
+ * configuring the shortcut.
+ */
+public class GestureShortcutOptionController extends SoftwareShortcutOptionPreferenceController {
+
+    public GestureShortcutOptionController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
+            shortcutOptionPreference.setTitle(
+                    R.string.accessibility_shortcut_edit_dialog_title_software_by_gesture);
+
+            int resId = AccessibilityUtil.isTouchExploreEnabled(mContext)
+                    ? R.drawable.a11y_shortcut_type_software_gesture_talkback
+                    : R.drawable.a11y_shortcut_type_software_gesture;
+            shortcutOptionPreference.setIntroImageResId(resId);
+        }
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        return !isInSetupWizard()
+                && !AccessibilityUtil.isFloatingMenuEnabled(mContext)
+                && AccessibilityUtil.isGestureNavigateEnabled(mContext);
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        final SpannableStringBuilder sb = new SpannableStringBuilder();
+        final int resId = AccessibilityUtil.isTouchExploreEnabled(mContext)
+                ? R.string.accessibility_shortcut_edit_dialog_summary_software_gesture_talkback
+                : R.string.accessibility_shortcut_edit_dialog_summary_software_gesture;
+        sb.append(mContext.getText(resId));
+        sb.append("\n\n");
+        sb.append(getCustomizeAccessibilityButtonLink());
+
+        return sb;
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/NavButtonShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/NavButtonShortcutOptionController.java
new file mode 100644
index 0000000..32c8da2
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/NavButtonShortcutOptionController.java
@@ -0,0 +1,98 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.text.Spannable;
+import android.text.SpannableString;
+import android.text.SpannableStringBuilder;
+import android.text.style.ImageSpan;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+/**
+ * A controller handles displaying the nav button shortcut option preference and
+ * configuring the shortcut.
+ */
+public class NavButtonShortcutOptionController extends SoftwareShortcutOptionPreferenceController {
+
+    public NavButtonShortcutOptionController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
+            shortcutOptionPreference.setTitle(
+                    R.string.accessibility_shortcut_edit_dialog_title_software);
+            shortcutOptionPreference.setIntroImageResId(R.drawable.a11y_shortcut_type_software);
+            shortcutOptionPreference.setSummaryProvider(
+                    new Preference.SummaryProvider<ShortcutOptionPreference>() {
+                        @Override
+                        public CharSequence provideSummary(
+                                @NonNull ShortcutOptionPreference preference) {
+                            return getSummary(preference.getSummaryTextLineHeight());
+                        }
+                    });
+        }
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        return !AccessibilityUtil.isFloatingMenuEnabled(mContext)
+                && !AccessibilityUtil.isGestureNavigateEnabled(mContext);
+    }
+
+    private CharSequence getSummary(int lineHeight) {
+        final SpannableStringBuilder sb = new SpannableStringBuilder();
+        sb.append(getSummaryStringWithIcon(lineHeight));
+
+        if (!isInSetupWizard()) {
+            sb.append("\n\n");
+            sb.append(getCustomizeAccessibilityButtonLink());
+        }
+
+        return sb;
+    }
+
+    private SpannableString getSummaryStringWithIcon(int lineHeight) {
+        final String summary = mContext
+                .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 = mContext.getDrawable(R.drawable.ic_accessibility_new);
+        final ImageSpan imageSpan = new ImageSpan(icon);
+        imageSpan.setContentDescription("");
+        icon.setBounds(
+                /* left= */ 0, /* top= */ 0, /* right= */ lineHeight, /* bottom= */ lineHeight);
+        spannableMessage.setSpan(
+                imageSpan, indexIconStart, indexIconEnd,
+                Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+        return spannableMessage;
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreference.java b/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreference.java
new file mode 100644
index 0000000..53d84b3
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreference.java
@@ -0,0 +1,142 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import android.content.Context;
+import android.content.res.Resources;
+import android.text.method.LinkMovementMethod;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.DrawableRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.RawRes;
+import androidx.preference.CheckBoxPreference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settingslib.widget.LottieColorUtils;
+
+import com.airbnb.lottie.LottieAnimationView;
+import com.airbnb.lottie.LottieDrawable;
+
+/**
+ * A preference represents an accessibility shortcut option with a checkbox and a tutorial image
+ */
+public class ShortcutOptionPreference extends CheckBoxPreference {
+
+    private static final String TAG = "ShortcutOptionPreference";
+
+    @DrawableRes
+    private int mIntroImageResId = Resources.ID_NULL;
+    @RawRes
+    private int mIntroImageRawResId = Resources.ID_NULL;
+
+    private int mSummaryTextLineHeight;
+
+    public ShortcutOptionPreference(
+            @NonNull Context context, @Nullable AttributeSet attrs,
+            int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init();
+    }
+
+    public ShortcutOptionPreference(@NonNull Context context, @Nullable AttributeSet attrs,
+            int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    public ShortcutOptionPreference(@NonNull Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        init();
+    }
+
+    public ShortcutOptionPreference(@NonNull Context context) {
+        super(context);
+        init();
+    }
+
+    private void init() {
+        setLayoutResource(R.layout.accessibility_shortcut_option_checkable);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        if (mIntroImageResId == Resources.ID_NULL && mIntroImageRawResId == Resources.ID_NULL) {
+            holder.findViewById(R.id.image).setVisibility(View.GONE);
+        } else {
+            holder.findViewById(R.id.image).setVisibility(View.VISIBLE);
+            LottieAnimationView imageView = holder.itemView.findViewById(R.id.image);
+
+            if (mIntroImageRawResId != Resources.ID_NULL) {
+                imageView.setFailureListener(result ->
+                        Log.w(TAG,
+                                "Invalid image raw resource id: "
+                                        + getContext().getResources()
+                                                .getResourceEntryName(mIntroImageRawResId),
+                                result));
+                imageView.setAnimation(mIntroImageRawResId);
+                imageView.setRepeatCount(LottieDrawable.INFINITE);
+                LottieColorUtils.applyDynamicColors(getContext(), imageView);
+                imageView.playAnimation();
+            } else {
+                imageView.setImageResource(mIntroImageResId);
+            }
+        }
+
+        final TextView summaryView = (TextView) holder.findViewById(android.R.id.summary);
+        if (summaryView != null) {
+            mSummaryTextLineHeight = summaryView.getLineHeight();
+            summaryView.setMovementMethod(LinkMovementMethod.getInstance());
+        }
+
+        syncSummaryView(holder);
+    }
+
+
+    /**
+     * Sets the introduction image for this preference with a drawable resource ID.
+     */
+    public void setIntroImageResId(@DrawableRes int introImageResId) {
+        if (introImageResId != mIntroImageResId) {
+            mIntroImageResId = introImageResId;
+            mIntroImageRawResId = Resources.ID_NULL;
+            notifyChanged();
+        }
+    }
+
+    /**
+     * Sets the introduction image for this preference with a raw resource ID for an animated image.
+     */
+    public void setIntroImageRawResId(@RawRes int introImageRawResId) {
+        if (introImageRawResId != mIntroImageRawResId) {
+            mIntroImageRawResId = introImageRawResId;
+            mIntroImageResId = Resources.ID_NULL;
+            notifyChanged();
+        }
+    }
+
+    public int getSummaryTextLineHeight() {
+        return mSummaryTextLineHeight;
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceController.java b/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceController.java
new file mode 100644
index 0000000..4d35554
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceController.java
@@ -0,0 +1,136 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import android.content.Context;
+import android.os.UserHandle;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.util.ShortcutUtils;
+import com.android.internal.util.Preconditions;
+import com.android.settings.core.BasePreferenceController;
+
+import java.util.Collections;
+import java.util.Set;
+
+/**
+ * A base preference controller for {@link ShortcutOptionPreference}
+ */
+public abstract class ShortcutOptionPreferenceController extends BasePreferenceController
+        implements Preference.OnPreferenceChangeListener {
+    private Set<String> mShortcutTargets = Collections.emptySet();
+    private boolean mIsInSetupWizard;
+
+    public ShortcutOptionPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (getPreferenceKey().equals(preference.getKey())
+                && preference instanceof ShortcutOptionPreference) {
+            ((ShortcutOptionPreference) preference).setChecked(isChecked());
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (isShortcutAvailable()) {
+            return AVAILABLE_UNSEARCHABLE;
+        }
+        return CONDITIONALLY_UNAVAILABLE;
+    }
+
+    /**
+     * Set the targets (i.e. a11y features) to be configured with the a11y shortcut option.
+     * <p>
+     * Note: the shortcutTargets cannot be empty, since the edit a11y shortcut option
+     * is meant to configure the shortcut options for an a11y feature.
+     * </>
+     *
+     * @param shortcutTargets the a11y features, like color correction, Talkback, etc.
+     * @throws NullPointerException     if the {@code shortcutTargets} was {@code null}
+     * @throws IllegalArgumentException if the {@code shortcutTargets} was empty
+     */
+    public void setShortcutTargets(Set<String> shortcutTargets) {
+        Preconditions.checkCollectionNotEmpty(shortcutTargets, /* valueName= */ "a11y targets");
+
+        this.mShortcutTargets = shortcutTargets;
+    }
+
+    public void setInSetupWizard(boolean isInSetupWizard) {
+        this.mIsInSetupWizard = isInSetupWizard;
+    }
+
+    protected Set<String> getShortcutTargets() {
+        return mShortcutTargets;
+    }
+
+    protected boolean isInSetupWizard() {
+        return mIsInSetupWizard;
+    }
+
+    @Override
+    public final boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
+        enableShortcutForTargets((Boolean) newValue);
+        return false;
+    }
+
+    @ShortcutConstants.UserShortcutType
+    protected int getShortcutType() {
+        return ShortcutConstants.UserShortcutType.DEFAULT;
+    }
+
+    /**
+     * Returns true if the shortcut is associated to the targets
+     */
+    protected boolean isChecked() {
+        Set<String> targets = ShortcutUtils.getShortcutTargetsFromSettings(
+                mContext, getShortcutType(), UserHandle.myUserId());
+
+        return !targets.isEmpty() && targets.containsAll(getShortcutTargets());
+    }
+
+    /**
+     * Enable or disable the shortcut for the given accessibility features.
+     */
+    protected void enableShortcutForTargets(boolean enable) {
+        Set<String> shortcutTargets = getShortcutTargets();
+        @ShortcutConstants.UserShortcutType int shortcutType = getShortcutType();
+
+        if (enable) {
+            for (String target : shortcutTargets) {
+                ShortcutUtils.optInValueToSettings(mContext, shortcutType, target);
+            }
+        } else {
+            for (String target : shortcutTargets) {
+                ShortcutUtils.optOutValueFromSettings(mContext, shortcutType, target);
+            }
+        }
+        ShortcutUtils.updateInvisibleToggleAccessibilityServiceEnableState(
+                mContext, shortcutTargets, UserHandle.myUserId());
+    }
+
+    /**
+     * Returns true when the user can associate a shortcut to the targets
+     */
+    protected abstract boolean isShortcutAvailable();
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/SoftwareShortcutOptionPreferenceController.java b/src/com/android/settings/accessibility/shortcuts/SoftwareShortcutOptionPreferenceController.java
new file mode 100644
index 0000000..24098c8
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/SoftwareShortcutOptionPreferenceController.java
@@ -0,0 +1,83 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.view.View;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityButtonFragment;
+import com.android.settings.accessibility.FloatingMenuSizePreferenceController;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.utils.AnnotationSpan;
+
+/**
+ * A base controller for the preference controller of software shortcuts.
+ */
+public abstract class SoftwareShortcutOptionPreferenceController
+        extends ShortcutOptionPreferenceController {
+
+    public SoftwareShortcutOptionPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @ShortcutConstants.UserShortcutType
+    @Override
+    protected int getShortcutType() {
+        return ShortcutConstants.UserShortcutType.SOFTWARE;
+    }
+
+    private boolean isMagnificationInTargets() {
+        return getShortcutTargets().contains(MAGNIFICATION_CONTROLLER_NAME);
+    }
+
+    protected CharSequence getCustomizeAccessibilityButtonLink() {
+        final View.OnClickListener linkListener = v -> new SubSettingLauncher(mContext)
+                .setDestination(AccessibilityButtonFragment.class.getName())
+                .setSourceMetricsCategory(getMetricsCategory())
+                .launch();
+        final AnnotationSpan.LinkInfo linkInfo = new AnnotationSpan.LinkInfo(
+                AnnotationSpan.LinkInfo.DEFAULT_ANNOTATION, linkListener);
+        return AnnotationSpan.linkify(
+                mContext.getText(
+                        R.string.accessibility_shortcut_edit_dialog_summary_software_floating),
+                linkInfo);
+    }
+
+    @Override
+    protected void enableShortcutForTargets(boolean enable) {
+        super.enableShortcutForTargets(enable);
+
+        if (enable) {
+            // Update the A11y FAB size to large when the Magnification shortcut is enabled
+            // and the user hasn't changed the floating button size
+            if (isMagnificationInTargets()
+                    && Settings.Secure.getInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                    FloatingMenuSizePreferenceController.Size.UNKNOWN)
+                    == FloatingMenuSizePreferenceController.Size.UNKNOWN) {
+                Settings.Secure.putInt(mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                        FloatingMenuSizePreferenceController.Size.LARGE);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/TripleTapShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/TripleTapShortcutOptionController.java
new file mode 100644
index 0000000..0eb1ee5
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/TripleTapShortcutOptionController.java
@@ -0,0 +1,113 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+
+import android.content.Context;
+import android.icu.text.MessageFormat;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+import com.android.settings.accessibility.ExpandablePreference;
+
+import java.util.Set;
+
+/**
+ * A controller handles displaying the triple tap shortcut option preference and
+ * configuring the shortcut.
+ */
+public class TripleTapShortcutOptionController extends ShortcutOptionPreferenceController
+        implements ExpandablePreference {
+
+    private boolean mIsExpanded = false;
+
+    public TripleTapShortcutOptionController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
+            shortcutOptionPreference.setTitle(
+                    R.string.accessibility_shortcut_edit_dialog_title_triple_tap);
+            String summary = mContext.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);
+
+            shortcutOptionPreference.setSummary(summary);
+            shortcutOptionPreference.setIntroImageRawResId(
+                    R.raw.a11y_shortcut_type_triple_tap);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (isExpanded() && isShortcutAvailable()) {
+            return AVAILABLE_UNSEARCHABLE;
+        }
+        return CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @ShortcutConstants.UserShortcutType
+    @Override
+    protected int getShortcutType() {
+        return ShortcutConstants.UserShortcutType.TRIPLETAP;
+    }
+
+    @Override
+    public void setExpanded(boolean expanded) {
+        mIsExpanded = expanded;
+    }
+
+    @Override
+    public boolean isExpanded() {
+        return mIsExpanded;
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        Set<String> shortcutTargets = getShortcutTargets();
+        return shortcutTargets.size() == 1
+                && shortcutTargets.contains(MAGNIFICATION_CONTROLLER_NAME);
+    }
+
+    @Override
+    protected boolean isChecked() {
+        return Settings.Secure.getInt(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                AccessibilityUtil.State.OFF) == AccessibilityUtil.State.ON;
+    }
+
+    @Override
+    protected void enableShortcutForTargets(boolean enable) {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                enable ? AccessibilityUtil.State.ON : AccessibilityUtil.State.OFF);
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/TwoFingersDoubleTapShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/TwoFingersDoubleTapShortcutOptionController.java
new file mode 100644
index 0000000..64ed7bd
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/TwoFingersDoubleTapShortcutOptionController.java
@@ -0,0 +1,98 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+
+import android.content.Context;
+import android.icu.text.MessageFormat;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.server.accessibility.Flags;
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+import java.util.Set;
+
+/**
+ * A controller handles displaying the two fingers double tap shortcut option preference and
+ * configuring the shortcut.
+ */
+public class TwoFingersDoubleTapShortcutOptionController
+        extends ShortcutOptionPreferenceController {
+
+    public TwoFingersDoubleTapShortcutOptionController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @ShortcutConstants.UserShortcutType
+    @Override
+    protected int getShortcutType() {
+        return ShortcutConstants.UserShortcutType.TRIPLETAP;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
+            // TODO (b/306153204): Update shortcut string and image when UX provides them
+            shortcutOptionPreference.setTitle(
+                    R.string.accessibility_shortcut_edit_dialog_title_two_finger_double_tap);
+            String summary = mContext.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);
+
+            shortcutOptionPreference.setSummary(summary);
+            shortcutOptionPreference.setIntroImageRawResId(
+                    R.raw.a11y_shortcut_type_triple_tap);
+        }
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        if (!Flags.enableMagnificationMultipleFingerMultipleTapGesture()) {
+            return false;
+        }
+        // Only Magnification has two fingers triple tap shortcut option.
+        Set<String> shortcutTargets = getShortcutTargets();
+        return shortcutTargets.size() == 1
+                && shortcutTargets.contains(MAGNIFICATION_CONTROLLER_NAME);
+    }
+
+    @Override
+    protected boolean isChecked() {
+        return Settings.Secure.getInt(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                AccessibilityUtil.State.OFF) == AccessibilityUtil.State.ON;
+    }
+
+    @Override
+    protected void enableShortcutForTargets(boolean enable) {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                enable ? AccessibilityUtil.State.ON : AccessibilityUtil.State.OFF);
+    }
+}
diff --git a/src/com/android/settings/accessibility/shortcuts/VolumeKeysShortcutOptionController.java b/src/com/android/settings/accessibility/shortcuts/VolumeKeysShortcutOptionController.java
new file mode 100644
index 0000000..9083e7c
--- /dev/null
+++ b/src/com/android/settings/accessibility/shortcuts/VolumeKeysShortcutOptionController.java
@@ -0,0 +1,71 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+/**
+ * A controller handles displaying the volume keys shortcut option preference and
+ * configuring the shortcut.
+ */
+public class VolumeKeysShortcutOptionController extends ShortcutOptionPreferenceController {
+
+    public VolumeKeysShortcutOptionController(
+            Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @ShortcutConstants.UserShortcutType
+    @Override
+    protected int getShortcutType() {
+        return ShortcutConstants.UserShortcutType.HARDWARE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+        if (preference instanceof ShortcutOptionPreference shortcutOptionPreference) {
+            shortcutOptionPreference.setTitle(
+                    R.string.accessibility_shortcut_edit_dialog_title_hardware);
+            shortcutOptionPreference.setSummary(
+                    R.string.accessibility_shortcut_edit_dialog_summary_hardware);
+            shortcutOptionPreference.setIntroImageResId(
+                    R.drawable.a11y_shortcut_type_hardware);
+        }
+    }
+
+    @Override
+    protected boolean isShortcutAvailable() {
+        return true;
+    }
+
+    @Override
+    protected void enableShortcutForTargets(boolean enable) {
+        super.enableShortcutForTargets(enable);
+        if (enable) {
+            AccessibilityUtil.skipVolumeShortcutDialogTimeoutRestriction(mContext);
+        }
+    }
+}
diff --git a/src/com/android/settings/accounts/AccountDashboardFragment.java b/src/com/android/settings/accounts/AccountDashboardFragment.java
index 7816fd7..81aefd9 100644
--- a/src/com/android/settings/accounts/AccountDashboardFragment.java
+++ b/src/com/android/settings/accounts/AccountDashboardFragment.java
@@ -31,14 +31,17 @@
 import com.android.settings.applications.autofill.PasswordsPreferenceController;
 import com.android.settings.applications.credentials.CredentialManagerPreferenceController;
 import com.android.settings.applications.credentials.DefaultCombinedPreferenceController;
+import com.android.settings.applications.credentials.DefaultPrivateCombinedPreferenceController;
 import com.android.settings.applications.credentials.DefaultWorkCombinedPreferenceController;
 import com.android.settings.applications.defaultapps.DefaultAutofillPreferenceController;
+import com.android.settings.applications.defaultapps.DefaultPrivateAutofillPreferenceController;
 import com.android.settings.applications.defaultapps.DefaultWorkAutofillPreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.users.AutoSyncDataPreferenceController;
 import com.android.settings.users.AutoSyncPersonalDataPreferenceController;
+import com.android.settings.users.AutoSyncPrivateDataPreferenceController;
 import com.android.settings.users.AutoSyncWorkDataPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
@@ -111,9 +114,11 @@
         if (CredentialManager.isServiceEnabled(context)) {
             controllers.add(new DefaultCombinedPreferenceController(context));
             controllers.add(new DefaultWorkCombinedPreferenceController(context));
+            controllers.add(new DefaultPrivateCombinedPreferenceController(context));
         } else {
             controllers.add(new DefaultAutofillPreferenceController(context));
             controllers.add(new DefaultWorkAutofillPreferenceController(context));
+            controllers.add(new DefaultPrivateAutofillPreferenceController(context));
         }
     }
 
@@ -132,6 +137,7 @@
         controllers.add(new AutoSyncDataPreferenceController(context, parent));
         controllers.add(new AutoSyncPersonalDataPreferenceController(context, parent));
         controllers.add(new AutoSyncWorkDataPreferenceController(context, parent));
+        controllers.add(new AutoSyncPrivateDataPreferenceController(context, parent));
     }
 
     private static int getPreferenceLayoutResId(Context context) {
diff --git a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
index 11fcaff..b466d2b 100644
--- a/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountHeaderPreferenceController.java
@@ -95,6 +95,6 @@
                 .newInstance(mActivity, mHost, mHeaderPreference.findViewById(R.id.entity_header))
                 .setLabel(mAccount.name)
                 .setIcon(helper.getDrawableForType(mContext, mAccount.type))
-                .done(mActivity, true /* rebindButtons */);
+                .done(true /* rebindButtons */);
     }
 }
diff --git a/src/com/android/settings/accounts/AccountPreferenceController.java b/src/com/android/settings/accounts/AccountPreferenceController.java
index cdaba20..2d862d6 100644
--- a/src/com/android/settings/accounts/AccountPreferenceController.java
+++ b/src/com/android/settings/accounts/AccountPreferenceController.java
@@ -42,9 +42,11 @@
 import android.content.pm.ApplicationInfo;
 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.Bundle;
+import android.os.Flags;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.text.BidiFormatter;
@@ -100,7 +102,6 @@
     private SparseArray<ProfileData> mProfiles = new SparseArray<ProfileData>();
     private ManagedProfileBroadcastReceiver mManagedProfileBroadcastReceiver =
             new ManagedProfileBroadcastReceiver();
-    private Preference mProfileNotAvailablePreference;
     private String[] mAuthorities;
     private int mAuthoritiesCount = 0;
     private DashboardFragment mFragment;
@@ -164,7 +165,7 @@
         if (mAuthorities != null) {
             mAuthoritiesCount = mAuthorities.length;
         }
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
+        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mHelper = helper;
         mType = type;
@@ -187,6 +188,11 @@
     }
 
     @Override
+    public void updateRawDataToIndex(List<SearchIndexableRaw> rawData) {
+        rawData.add(newAddAccountRawData());
+    }
+
+    @Override
     public void updateDynamicRawDataToIndex(List<SearchIndexableRaw> rawData) {
         if (!isAvailable()) {
             return;
@@ -296,14 +302,25 @@
             updateProfileUi(userInfo);
         } else {
             List<UserInfo> profiles = mUm.getProfiles(UserHandle.myUserId());
-            final int profilesCount = profiles.size();
-            for (int i = 0; i < profilesCount; i++) {
-                if (profiles.get(i).isManagedProfile()
-                        && (mType & ProfileSelectFragment.ProfileType.WORK) != 0) {
-                    updateProfileUi(profiles.get(i));
-                } else if (!profiles.get(i).isManagedProfile()
-                        && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0) {
-                    updateProfileUi(profiles.get(i));
+            for (UserInfo profile : profiles) {
+                // Check if this controller can handle this profile - e.g. if this controller's
+                // mType has the WORK flag set and this profile is a managed profile.
+                // If there are no tabs then this controller will support all profile types -
+                // - ProfileType.ALL.
+                // At the same time we should check the user property to make sure if this profile
+                // should be shown or not.
+                if (((profile.isManagedProfile()
+                        && (mType & ProfileSelectFragment.ProfileType.WORK) != 0)
+                        || (Flags.allowPrivateProfile()
+                            && profile.isPrivateProfile()
+                            && (mType & ProfileSelectFragment.ProfileType.PRIVATE) != 0)
+                        || (!profile.isManagedProfile()
+                            && !(Flags.allowPrivateProfile() && profile.isPrivateProfile())
+                            && (mType & ProfileSelectFragment.ProfileType.PERSONAL) != 0))
+                        && !(mUm.getUserProperties(profile.getUserHandle())
+                            .getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN
+                            && profile.isQuietModeEnabled())) {
+                    updateProfileUi(profile);
                 }
             }
         }
@@ -336,6 +353,10 @@
             }
             return;
         }
+        if (mUm.getUserProperties(userInfo.getUserHandle()).getShowInSettings()
+                == UserProperties.SHOW_IN_SETTINGS_NO) {
+            return;
+        }
         final Context context = mContext;
         final ProfileData profileData = new ProfileData();
         profileData.userInfo = userInfo;
@@ -352,7 +373,7 @@
         } else if (userInfo.isManagedProfile()) {
             if (mType == ProfileSelectFragment.ProfileType.ALL) {
                 setCategoryTitleFromDevicePolicyResource(preferenceGroup, WORK_CATEGORY_HEADER,
-                        R.string.category_work);
+                        com.android.settingslib.R.string.category_work);
                 final String workGroupSummary = getWorkGroupSummary(context, userInfo);
                 preferenceGroup.setSummary(workGroupSummary);
                 setContentDescriptionFromDevicePolicyResource(preferenceGroup,
@@ -366,7 +387,7 @@
         } else if (userInfo.isCloneProfile()) {
             if (mType == ProfileSelectFragment.ProfileType.ALL) {
                 setCategoryTitleFromDevicePolicyResource(preferenceGroup, CLONE_CATEGORY_HEADER,
-                        R.string.category_clone);
+                        com.android.settingslib.R.string.category_clone);
                 setContentDescriptionFromDevicePolicyResource(preferenceGroup,
                         ACCESSIBILITY_CATEGORY_CLONE, R.string.accessibility_category_clone,
                         null);
@@ -375,7 +396,7 @@
             // Primary Profile
             if (mType == ProfileSelectFragment.ProfileType.ALL) {
                 setCategoryTitleFromDevicePolicyResource(preferenceGroup, PERSONAL_CATEGORY_HEADER,
-                        R.string.category_personal);
+                        com.android.settingslib.R.string.category_personal);
                 setContentDescriptionFromDevicePolicyResource(preferenceGroup,
                         ACCESSIBILITY_CATEGORY_PERSONAL, R.string.accessibility_category_personal,
                         null);
@@ -416,6 +437,14 @@
         }));
     }
 
+    private SearchIndexableRaw newAddAccountRawData() {
+        SearchIndexableRaw data = new SearchIndexableRaw(mContext);
+        data.key = PREF_KEY_ADD_ACCOUNT;
+        data.title = mContext.getString(R.string.add_account_label);
+        data.iconResId = R.drawable.ic_add_24dp;
+        return data;
+    }
+
     private RestrictedPreference newAddAccountPreference() {
         RestrictedPreference preference =
                 new RestrictedPreference(mFragment.getPreferenceManager().getContext());
@@ -530,18 +559,19 @@
         } else {
             profileData.preferenceGroup.removeAll();
             // Put a label instead of the accounts list
-            if (mProfileNotAvailablePreference == null) {
-                mProfileNotAvailablePreference =
-                        new Preference(mFragment.getPreferenceManager().getContext());
-            }
-            mProfileNotAvailablePreference.setEnabled(false);
-            mProfileNotAvailablePreference.setIcon(R.drawable.empty_icon);
-            mProfileNotAvailablePreference.setTitle(null);
-            mProfileNotAvailablePreference.setSummary(
-                    mDpm.getResources().getString(
-                            WORK_PROFILE_NOT_AVAILABLE, () -> mContext.getString(
-                    R.string.managed_profile_not_available_label)));
-            profileData.preferenceGroup.addPreference(mProfileNotAvailablePreference);
+            final Preference profileNotAvailablePreference =
+                    new Preference(mFragment.getPreferenceManager().getContext());
+            profileNotAvailablePreference.setEnabled(false);
+            profileNotAvailablePreference.setIcon(R.drawable.empty_icon);
+            profileNotAvailablePreference.setTitle(null);
+            profileNotAvailablePreference.setSummary(
+                    mDpm.getResources()
+                            .getString(
+                                    WORK_PROFILE_NOT_AVAILABLE,
+                                    () ->
+                                            mContext.getString(
+                                                    R.string.managed_profile_not_available_label)));
+            profileData.preferenceGroup.addPreference(profileNotAvailablePreference);
         }
         if (profileData.removeWorkProfilePreference != null) {
             profileData.preferenceGroup.addPreference(profileData.removeWorkProfilePreference);
diff --git a/src/com/android/settings/accounts/AccountPrivateDashboardFragment.java b/src/com/android/settings/accounts/AccountPrivateDashboardFragment.java
new file mode 100644
index 0000000..9794b4a
--- /dev/null
+++ b/src/com/android/settings/accounts/AccountPrivateDashboardFragment.java
@@ -0,0 +1,109 @@
+/*
+ * 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.accounts;
+
+import static android.provider.Settings.EXTRA_AUTHORITIES;
+
+import static com.android.settings.accounts.AccountDashboardFragment.buildAutofillPreferenceControllers;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.credentials.CredentialManager;
+
+import com.android.settings.R;
+import com.android.settings.applications.autofill.PasswordsPreferenceController;
+import com.android.settings.applications.credentials.CredentialManagerPreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.users.AutoSyncDataPreferenceController;
+import com.android.settings.users.AutoSyncPrivateDataPreferenceController;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AccountPrivateDashboardFragment extends DashboardFragment {
+    private static final String TAG = "AccountPrivateFrag";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.ACCOUNT_PRIVATE;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        if (this.getContext() != null && CredentialManager.isServiceEnabled(this.getContext())) {
+            return R.xml.accounts_private_dashboard_settings_credman;
+        }
+        return R.xml.accounts_private_dashboard_settings;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_user_and_account_dashboard;
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        if (CredentialManager.isServiceEnabled(context)) {
+            CredentialManagerPreferenceController cmpp =
+                    use(CredentialManagerPreferenceController.class);
+            CredentialManagerPreferenceController.Delegate delegate =
+                    new CredentialManagerPreferenceController.Delegate() {
+                        public void setActivityResult(int resultCode) {
+                            getActivity().setResult(resultCode);
+                        }
+                        public void forceDelegateRefresh() {
+                            forceUpdatePreferences();
+                        }
+                    };
+            cmpp.init(this, getFragmentManager(), getIntent(), delegate, /*isWorkProfile=*/false);
+        } else {
+            getSettingsLifecycle().addObserver(use(PasswordsPreferenceController.class));
+        }
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        buildAutofillPreferenceControllers(context, controllers);
+        final String[] authorities = getIntent().getStringArrayExtra(EXTRA_AUTHORITIES);
+        buildAccountPreferenceControllers(context, authorities, controllers);
+        return controllers;
+    }
+
+    private void buildAccountPreferenceControllers(
+            Context context,
+            String[] authorities,
+            List<AbstractPreferenceController> controllers) {
+        final AccountPreferenceController accountPrefController =
+                new AccountPreferenceController(
+                        context,
+                        this,
+                        authorities,
+                        ProfileSelectFragment.ProfileType.PRIVATE);
+        controllers.add(accountPrefController);
+        controllers.add(new AutoSyncDataPreferenceController(context, this));
+        controllers.add(new AutoSyncPrivateDataPreferenceController(context, this));
+    }
+}
diff --git a/src/com/android/settings/accounts/AccountSyncSettings.java b/src/com/android/settings/accounts/AccountSyncSettings.java
index 83f89d8..80056a8 100644
--- a/src/com/android/settings/accounts/AccountSyncSettings.java
+++ b/src/com/android/settings/accounts/AccountSyncSettings.java
@@ -140,11 +140,10 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(getDrawableForType(mAccount.type))
                 .setLabel(mAccount.name)
                 .setSummary(getLabelForType(mAccount.type))
-                .done(activity, getPrefContext());
+                .done(getPrefContext());
         pref.setOrder(0);
         getPreferenceScreen().addPreference(pref);
         if (savedInstanceState != null && savedInstanceState.containsKey(UID_REQUEST_KEY)) {
diff --git a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
index f1b5be1..72366d4 100644
--- a/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
+++ b/src/com/android/settings/accounts/AccountTypePreferenceLoader.java
@@ -92,7 +92,8 @@
                     final Context targetCtx = mFragment.getActivity().createPackageContextAsUser(
                             desc.packageName, 0, mUserHandle);
                     final Theme baseTheme = mFragment.getResources().newTheme();
-                    baseTheme.applyStyle(R.style.Theme_SettingsBase, true);
+                    baseTheme.applyStyle(
+                            com.android.settingslib.widget.theme.R.style.Theme_SettingsBase, true);
                     final Context themedCtx =
                             new LocalClassLoaderContextThemeWrapper(getClass(), targetCtx, 0);
                     themedCtx.getTheme().setTo(baseTheme);
diff --git a/src/com/android/settings/accounts/AvatarViewMixin.java b/src/com/android/settings/accounts/AvatarViewMixin.java
index 6b04e97..0925e24 100644
--- a/src/com/android/settings/accounts/AvatarViewMixin.java
+++ b/src/com/android/settings/accounts/AvatarViewMixin.java
@@ -117,7 +117,7 @@
                     true /* finishSecondaryWithPrimary */,
                     false /* clearTop */);
 
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logSettingsTileClick(KEY_AVATAR_ICON, SettingsEnums.SETTINGS_HOMEPAGE);
 
             // Here may have two different UI while start the activity.
@@ -144,8 +144,8 @@
 
     @VisibleForTesting
     boolean hasAccount() {
-        final Account accounts[] = FeatureFactory.getFactory(
-                mContext).getAccountFeatureProvider().getAccounts(mContext);
+        final Account[] accounts = FeatureFactory.getFeatureFactory().getAccountFeatureProvider()
+                .getAccounts(mContext);
         return (accounts != null) && (accounts.length > 0);
     }
 
diff --git a/src/com/android/settings/accounts/ChooseAccountPreferenceController.java b/src/com/android/settings/accounts/ChooseAccountPreferenceController.java
index a217f01..3d05963 100644
--- a/src/com/android/settings/accounts/ChooseAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/ChooseAccountPreferenceController.java
@@ -50,6 +50,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.StringJoiner;
 
 /**
  * An extra {@link UserHandle} can be specified in the intent as {@link EXTRA_USER}, if the user for
@@ -189,7 +190,7 @@
                 mScreen.addPreference(p);
             }
         } else {
-            if (Log.isLoggable(TAG, Log.VERBOSE)) {
+            if (mAuthorities != null && Log.isLoggable(TAG, Log.VERBOSE)) {
                 final StringBuilder auths = new StringBuilder();
                 for (String a : mAuthorities) {
                     auths.append(a);
@@ -197,8 +198,14 @@
                 }
                 Log.v(TAG, "No providers found for authorities: " + auths);
             }
+            if (mAccountTypesFilter != null) {
+                final StringJoiner types = new StringJoiner(", ", "", "");
+                mAccountTypesFilter.forEach(types::add);
+                Log.w(TAG, "No providers found for account types: " + types);
+            }
             mActivity.setResult(RESULT_CANCELED);
-            mActivity.finish();
+            // Do not finish activity to avoid the caller getting the existing account list because
+            // the prompt respond reveals that the input account does not exist.
         }
     }
 
diff --git a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
index ca0a0d6..f7816bb 100644
--- a/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
+++ b/src/com/android/settings/accounts/EnterpriseDisclosurePreferenceController.java
@@ -35,8 +35,8 @@
     public EnterpriseDisclosurePreferenceController(Context context, String key) {
         // Preference key doesn't matter as we are creating the preference in code.
         super(context, key);
-        mFeatureProvider = FeatureFactory.getFactory(mContext)
-                .getEnterprisePrivacyFeatureProvider(mContext);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java b/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java
index 989be09..df30637 100644
--- a/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java
+++ b/src/com/android/settings/accounts/ManagedProfileQuietModeEnabler.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.accounts;
 
+import android.app.admin.flags.Flags;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -58,7 +59,14 @@
     }
 
     public void setQuietModeEnabled(boolean enabled) {
-        if (mManagedProfile != null) {
+        if (mManagedProfile == null) {
+            return;
+        }
+        if (Flags.quietModeCredentialBugFix()) {
+            if (isQuietModeEnabled() != enabled) {
+                mUserManager.requestQuietModeEnabled(enabled, mManagedProfile);
+            }
+        } else {
             mUserManager.requestQuietModeEnabled(enabled, mManagedProfile);
         }
     }
diff --git a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
index 7003eed..cdb35b4 100644
--- a/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
+++ b/src/com/android/settings/accounts/RemoveAccountPreferenceController.java
@@ -34,19 +34,17 @@
 import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
-import android.widget.Button;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
+import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-import com.android.settingslib.RestrictedLockUtilsInternal;
+import com.android.settings.widget.RestrictedButton;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.LayoutPreference;
@@ -64,19 +62,26 @@
     private Fragment mParentFragment;
     private UserHandle mUserHandle;
     private LayoutPreference mRemoveAccountPreference;
+    private RestrictedButton mRemoveAccountButton;
 
     public RemoveAccountPreferenceController(Context context, Fragment parent) {
         super(context);
         mParentFragment = parent;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mRemoveAccountPreference = screen.findPreference(KEY_REMOVE_ACCOUNT);
-        final Button removeAccountButton = mRemoveAccountPreference.findViewById(R.id.button);
-        removeAccountButton.setOnClickListener(this);
+        mRemoveAccountButton = mRemoveAccountPreference.findViewById(R.id.button);
+        mRemoveAccountButton.setOnClickListener(this);
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        mRemoveAccountButton.updateState();
     }
 
     @Override
@@ -93,21 +98,13 @@
     public void onClick(View v) {
         mMetricsFeatureProvider.logClickedPreference(mRemoveAccountPreference,
                 mMetricsFeatureProvider.getMetricsCategory(mParentFragment));
-        if (mUserHandle != null) {
-            final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
-                    mContext, UserManager.DISALLOW_MODIFY_ACCOUNTS, mUserHandle.getIdentifier());
-            if (admin != null) {
-                RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, admin);
-                return;
-            }
-        }
-
         ConfirmRemoveAccountDialog.show(mParentFragment, mAccount, mUserHandle);
     }
 
     public void init(Account account, UserHandle userHandle) {
         mAccount = account;
         mUserHandle = userHandle;
+        mRemoveAccountButton.init(mUserHandle, UserManager.DISALLOW_MODIFY_ACCOUNTS);
     }
 
     /**
diff --git a/src/com/android/settings/accounts/SyncStateSwitchPreference.java b/src/com/android/settings/accounts/SyncStateSwitchPreference.java
index 9c7f739..2f92d56 100644
--- a/src/com/android/settings/accounts/SyncStateSwitchPreference.java
+++ b/src/com/android/settings/accounts/SyncStateSwitchPreference.java
@@ -26,12 +26,12 @@
 import android.widget.TextView;
 
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.settings.R;
 import com.android.settingslib.widget.AnimatedImageView;
 
-public class SyncStateSwitchPreference extends SwitchPreference {
+public class SyncStateSwitchPreference extends SwitchPreferenceCompat {
 
     private boolean mIsActive = false;
     private boolean mIsPending = false;
@@ -84,7 +84,7 @@
         final boolean failedVisible = mFailed && !activeVisible;
         syncFailedView.setVisibility(failedVisible ? View.VISIBLE : View.GONE);
 
-        View switchView = view.findViewById(com.android.internal.R.id.switch_widget);
+        View switchView = view.findViewById(androidx.preference.R.id.switchWidget);
         if (mOneTimeSyncMode) {
             switchView.setVisibility(View.GONE);
 
diff --git a/src/com/android/settings/accounts/WorkModePreferenceController.java b/src/com/android/settings/accounts/WorkModePreferenceController.java
index 46440f6..2aea27d 100644
--- a/src/com/android/settings/accounts/WorkModePreferenceController.java
+++ b/src/com/android/settings/accounts/WorkModePreferenceController.java
@@ -16,7 +16,8 @@
 package com.android.settings.accounts;
 
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.lifecycle.DefaultLifecycleObserver;
 import androidx.lifecycle.LifecycleOwner;
@@ -27,14 +28,13 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.slices.SliceData;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import org.jetbrains.annotations.NotNull;
 
 
 /** Controller for "Work apps" toggle that allows the user to enable/disable quiet mode. */
 public class WorkModePreferenceController extends BasePreferenceController
-        implements OnMainSwitchChangeListener, DefaultLifecycleObserver,
+        implements OnCheckedChangeListener, DefaultLifecycleObserver,
         ManagedProfileQuietModeEnabler.QuietModeChangeListener {
 
     private final ManagedProfileQuietModeEnabler mQuietModeEnabler;
@@ -68,8 +68,11 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         mQuietModeEnabler.setQuietModeEnabled(!isChecked);
+        if (android.app.admin.flags.Flags.quietModeCredentialBugFix()) {
+            updateState(mPreference);
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
index 993787b..4e39070 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingRulesController.java
@@ -34,6 +34,7 @@
 import androidx.window.embedding.SplitPlaceholderRule;
 import androidx.window.embedding.SplitRule;
 
+import com.android.settings.R;
 import com.android.settings.Settings;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SubSettings;
@@ -49,6 +50,8 @@
 import com.android.settings.homepage.SettingsHomepageActivity;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockPattern;
+import com.android.settings.remoteauth.RemoteAuthActivity;
+import com.android.settings.remoteauth.RemoteAuthActivityInternal;
 import com.android.settingslib.users.AvatarPickerActivity;
 
 import java.util.Collection;
@@ -110,8 +113,9 @@
                 .setFinishPrimaryWithSecondary(finishPrimaryWithSecondary)
                 .setFinishSecondaryWithPrimary(finishSecondaryWithPrimary)
                 .setClearTop(clearTop)
-                .setMinWidthDp(ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthDp())
-                .setMinSmallestWidthDp(ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthDp())
+                .setMinWidthDp(ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthDp(context))
+                .setMinSmallestWidthDp(
+                        ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthDp(context))
                 .setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)
                 .setDefaultSplitAttributes(attributes)
                 .build();
@@ -231,8 +235,9 @@
                 .build();
         final SplitPlaceholderRule placeholderRule = new SplitPlaceholderRule.Builder(
                 activityFilters, intent)
-                .setMinWidthDp(ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthDp())
-                .setMinSmallestWidthDp(ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthDp())
+                .setMinWidthDp(ActivityEmbeddingUtils.getMinCurrentScreenSplitWidthDp(mContext))
+                .setMinSmallestWidthDp(
+                        ActivityEmbeddingUtils.getMinSmallestScreenSplitWidthDp(mContext))
                 .setMaxAspectRatioInPortrait(EmbeddingAspectRatio.ALWAYS_ALLOW)
                 .setSticky(false)
                 .setFinishPrimaryWithPlaceholder(SplitRule.FinishBehavior.ADJACENT)
@@ -245,19 +250,27 @@
     private void registerAlwaysExpandRule() {
         final Set<ActivityFilter> activityFilters = new HashSet<>();
         if (FeatureFlagUtils.isEnabled(mContext, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
-            final Intent searchIntent = FeatureFactory.getFactory(mContext)
+            final Intent searchIntent = FeatureFactory.getFeatureFactory()
                     .getSearchFeatureProvider()
                     .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);
         addActivityFilter(activityFilters, FaceEnrollIntroductionInternal.class);
         addActivityFilter(activityFilters, FaceEnrollIntroduction.class);
-        addActivityFilter(activityFilters, AvatarPickerActivity.class);
+        addActivityFilter(activityFilters, RemoteAuthActivity.class);
+        addActivityFilter(activityFilters, RemoteAuthActivityInternal.class);
         addActivityFilter(activityFilters, ChooseLockPattern.class);
+        if (android.multiuser.Flags.avatarSync()) {
+            String action = mContext.getString(R.string.config_avatar_picker_action);
+            addActivityFilter(activityFilters, new Intent(action));
+        } else {
+            addActivityFilter(activityFilters, AvatarPickerActivity.class);
+        }
         ActivityRule activityRule = new ActivityRule.Builder(activityFilters).setAlwaysExpand(true)
                 .build();
         mRuleController.addRule(activityRule);
diff --git a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
index 67d56e0..b91e0e5 100644
--- a/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
+++ b/src/com/android/settings/activityembedding/ActivityEmbeddingUtils.java
@@ -33,11 +33,6 @@
 
 /** An util class collecting all common methods for the embedding activity features. */
 public class ActivityEmbeddingUtils {
-    // The smallest value of current width of the window when the split should be used.
-    private static final int MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP = 720;
-    // The smallest value of the smallest-width (sw) of the window in any rotation when
-    // the split should be used.
-    private static final int MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP = 600;
     // The minimum width of the activity to show the regular homepage layout.
     private static final float MIN_REGULAR_HOMEPAGE_LAYOUT_WIDTH_DP = 380f;
 
@@ -53,21 +48,21 @@
      * @see androidx.window.embedding.SplitController.SplitSupportStatus#SPLIT_UNAVAILABLE
      */
     private static final boolean SHOULD_ENABLE_LARGE_SCREEN_OPTIMIZATION =
-            SystemProperties.getBoolean("persist.settings.large_screen_opt.enabled", true);
+            SystemProperties.getBoolean("persist.settings.large_screen_opt.enabled", false);
 
     private static final String TAG = "ActivityEmbeddingUtils";
 
     /** Get the smallest width dp of the window when the split should be used. */
-    public static int getMinCurrentScreenSplitWidthDp() {
-        return MIN_CURRENT_SCREEN_SPLIT_WIDTH_DP;
+    public static int getMinCurrentScreenSplitWidthDp(Context context) {
+        return context.getResources().getInteger(R.integer.config_activity_embed_split_min_cur_dp);
     }
 
     /**
      * Get the smallest dp value of the smallest-width (sw) of the window in any rotation when
      * the split should be used.
      */
-    public static int getMinSmallestScreenSplitWidthDp() {
-        return MIN_SMALLEST_SCREEN_SPLIT_WIDTH_DP;
+    public static int getMinSmallestScreenSplitWidthDp(Context context) {
+        return context.getResources().getInteger(R.integer.config_activity_embed_split_min_sw_dp);
     }
 
     /**
diff --git a/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt b/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
new file mode 100644
index 0000000..2bc8cda
--- /dev/null
+++ b/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtils.kt
@@ -0,0 +1,113 @@
+/*
+ * 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.activityembedding
+
+import android.app.Activity
+import android.content.ActivityNotFoundException
+import android.content.Context
+import android.content.Intent
+import android.provider.Settings
+import android.util.Log
+import com.android.settings.SettingsActivity
+import com.android.settings.Utils
+import com.android.settings.homepage.DeepLinkHomepageActivityInternal
+import com.android.settings.homepage.SettingsHomepageActivity
+import com.android.settings.password.PasswordUtils
+import com.android.settingslib.spaprivileged.framework.common.userManager
+
+object EmbeddedDeepLinkUtils {
+    private const val TAG = "EmbeddedDeepLinkUtils"
+
+    @JvmStatic
+    fun Activity.tryStartMultiPaneDeepLink(
+        intent: Intent,
+        highlightMenuKey: String? = null,
+    ): Boolean {
+        intent.putExtra(
+            SettingsActivity.EXTRA_INITIAL_CALLING_PACKAGE,
+            PasswordUtils.getCallingAppPackageName(activityToken),
+        )
+        val trampolineIntent: Intent
+        if (intent.getBooleanExtra(SettingsActivity.EXTRA_IS_FROM_SLICE, false)) {
+            // Get menu key for slice deep link case.
+            var sliceHighlightMenuKey: String? = intent.getStringExtra(
+                Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY
+            )
+            if (sliceHighlightMenuKey.isNullOrEmpty()) {
+                sliceHighlightMenuKey = highlightMenuKey
+            }
+            trampolineIntent = getTrampolineIntent(intent, sliceHighlightMenuKey)
+            trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal::class.java)
+        } else {
+            trampolineIntent = getTrampolineIntent(intent, highlightMenuKey)
+        }
+        return startTrampolineIntent(trampolineIntent)
+    }
+
+    /**
+     * Returns the deep link trampoline intent for large screen devices.
+     */
+    @JvmStatic
+    fun getTrampolineIntent(intent: Intent, highlightMenuKey: String?): Intent {
+        val detailIntent = Intent(intent)
+        // Guard against the arbitrary Intent injection.
+        if (detailIntent.selector != null) {
+            detailIntent.setSelector(null)
+        }
+        // It's a deep link intent, SettingsHomepageActivity will set SplitPairRule and start it.
+        return Intent(Settings.ACTION_SETTINGS_EMBED_DEEP_LINK_ACTIVITY).apply {
+            setPackage(Utils.SETTINGS_PACKAGE_NAME)
+            replaceExtras(detailIntent)
+
+            // Relay detail intent data to prevent failure of Intent#ParseUri.
+            // If Intent#getData() is not null, Intent#toUri will return an Uri which has the scheme
+            // of Intent#getData() and it may not be the scheme of an Intent.
+            putExtra(
+                SettingsHomepageActivity.EXTRA_SETTINGS_LARGE_SCREEN_DEEP_LINK_INTENT_DATA,
+                detailIntent.data
+            )
+            detailIntent.setData(null)
+            putExtra(
+                Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI,
+                detailIntent.toUri(Intent.URI_INTENT_SCHEME)
+            )
+            putExtra(
+                Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_HIGHLIGHT_MENU_KEY,
+                highlightMenuKey
+            )
+            addFlags(Intent.FLAG_ACTIVITY_FORWARD_RESULT)
+        }
+    }
+
+    private fun Context.startTrampolineIntent(trampolineIntent: Intent): Boolean = try {
+        val userInfo = userManager.getUserInfo(user.identifier)
+        if (userInfo.isManagedProfile) {
+            trampolineIntent.setClass(this, DeepLinkHomepageActivityInternal::class.java)
+                .putExtra(SettingsActivity.EXTRA_USER_HANDLE, user)
+            startActivityAsUser(
+                trampolineIntent,
+                userManager.getProfileParent(userInfo.id).userHandle
+            )
+        } else {
+            startActivity(trampolineIntent)
+        }
+        true
+    } catch (e: ActivityNotFoundException) {
+        Log.e(TAG, "Deep link homepage is not available to show 2-pane UI")
+        false
+    }
+}
diff --git a/src/com/android/settings/applications/AppCounter.java b/src/com/android/settings/applications/AppCounter.java
index ce2be84..2b1e47e 100644
--- a/src/com/android/settings/applications/AppCounter.java
+++ b/src/com/android/settings/applications/AppCounter.java
@@ -16,33 +16,52 @@
 
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.FeatureFlags;
+import android.content.pm.FeatureFlagsImpl;
 import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.ApplicationInfoFlags;
 import android.content.pm.UserInfo;
 import android.os.AsyncTask;
+import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.flags.Flags;
+
 import java.util.List;
 
 public abstract class AppCounter extends AsyncTask<Void, Void, Integer> {
 
     protected final PackageManager mPm;
     protected final UserManager mUm;
+    protected final FeatureFlags mFf;
 
-    public AppCounter(Context context, PackageManager packageManager) {
+    @VisibleForTesting
+    AppCounter(@NonNull Context context, @NonNull PackageManager packageManager,
+            @NonNull FeatureFlags featureFlags) {
         mPm = packageManager;
-        mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
+        mUm = context.getSystemService(UserManager.class);
+        mFf = featureFlags;
+    }
+
+    public AppCounter(@NonNull Context context, @NonNull PackageManager packageManager) {
+        this(context, packageManager, new FeatureFlagsImpl());
     }
 
     @Override
     protected Integer doInBackground(Void... params) {
         int count = 0;
         for (UserInfo user : mUm.getProfiles(UserHandle.myUserId())) {
+            long flags = PackageManager.GET_DISABLED_COMPONENTS
+                    | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
+                    | (isArchivingEnabled() ? PackageManager.MATCH_ARCHIVED_PACKAGES : 0)
+                    | (user.isAdmin() ? PackageManager.MATCH_ANY_USER : 0);
+            ApplicationInfoFlags infoFlags = ApplicationInfoFlags.of(flags);
             final List<ApplicationInfo> list =
-                    mPm.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
-                            | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
-                            | (user.isAdmin() ? PackageManager.MATCH_ANY_USER : 0),
-                            user.id);
+                    mPm.getInstalledApplicationsAsUser(infoFlags, user.id);
             for (ApplicationInfo info : list) {
                 if (includeInCount(info)) {
                     count++;
@@ -52,6 +71,11 @@
         return count;
     }
 
+    private boolean isArchivingEnabled() {
+        return mFf.archiving() || SystemProperties.getBoolean("pm.archiving.enabled", false)
+                || Flags.appArchiving();
+    }
+
     @Override
     protected void onPostExecute(Integer count) {
         onCountComplete(count);
@@ -62,5 +86,6 @@
     }
 
     protected abstract void onCountComplete(int num);
+
     protected abstract boolean includeInCount(ApplicationInfo info);
 }
diff --git a/src/com/android/settings/applications/AppInfoBase.java b/src/com/android/settings/applications/AppInfoBase.java
index 3261d6c..2c41be4 100644
--- a/src/com/android/settings/applications/AppInfoBase.java
+++ b/src/com/android/settings/applications/AppInfoBase.java
@@ -90,8 +90,8 @@
         super.onCreate(savedInstanceState);
         mFinishing = false;
         final Activity activity = getActivity();
-        mApplicationFeatureProvider = FeatureFactory.getFactory(activity)
-                .getApplicationFeatureProvider(activity);
+        mApplicationFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getApplicationFeatureProvider();
         mState = ApplicationsState.getInstance(activity.getApplication());
         mSession = mState.newSession(this, getSettingsLifecycle());
         mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
@@ -144,10 +144,14 @@
         if (mAppEntry != null) {
             // Get application info again to refresh changed properties of application
             try {
-                mPackageInfo = mPm.getPackageInfoAsUser(mAppEntry.info.packageName,
-                        PackageManager.MATCH_DISABLED_COMPONENTS |
-                                PackageManager.GET_SIGNING_CERTIFICATES |
-                                PackageManager.GET_PERMISSIONS, mUserId);
+                mPackageInfo = mPm.getPackageInfoAsUser(
+                        mAppEntry.info.packageName,
+                        PackageManager.PackageInfoFlags.of(
+                                PackageManager.MATCH_DISABLED_COMPONENTS
+                                        | PackageManager.GET_SIGNING_CERTIFICATES
+                                        | PackageManager.GET_PERMISSIONS
+                                        | PackageManager.MATCH_ARCHIVED_PACKAGES),
+                        mUserId);
             } catch (NameNotFoundException e) {
                 Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
             }
diff --git a/src/com/android/settings/applications/AppInfoWithHeader.java b/src/com/android/settings/applications/AppInfoWithHeader.java
index 7bf9f64..8645628 100644
--- a/src/com/android/settings/applications/AppInfoWithHeader.java
+++ b/src/com/android/settings/applications/AppInfoWithHeader.java
@@ -46,7 +46,6 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(Utils.getBadgedIcon(getContext(), mPackageInfo.applicationInfo))
                 .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
                 .setSummary(mPackageInfo)
@@ -55,7 +54,7 @@
                 .setUid(mPackageInfo.applicationInfo.uid)
                 .setHasAppInfoLink(true)
                 .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE)
-                .done(activity, getPrefContext());
+                .done(getPrefContext());
         getPreferenceScreen().addPreference(pref);
     }
 }
diff --git a/src/com/android/settings/applications/AppLocaleUtil.java b/src/com/android/settings/applications/AppLocaleUtil.java
index 70d284d..103a2c1 100644
--- a/src/com/android/settings/applications/AppLocaleUtil.java
+++ b/src/com/android/settings/applications/AppLocaleUtil.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications;
 
-import android.annotation.NonNull;
 import android.app.LocaleConfig;
 import android.content.Context;
 import android.content.Intent;
@@ -28,6 +27,7 @@
 import android.util.FeatureFlagUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
diff --git a/src/com/android/settings/applications/AppStateClonedAppsBridge.java b/src/com/android/settings/applications/AppStateClonedAppsBridge.java
index 719023d1..de0251d 100644
--- a/src/com/android/settings/applications/AppStateClonedAppsBridge.java
+++ b/src/com/android/settings/applications/AppStateClonedAppsBridge.java
@@ -76,7 +76,8 @@
     protected void updateExtraInfo(AppEntry app, String pkg, int uid) {
         // Display package if allowlisted but not yet cloned.
         // Or if the app is present in clone profile alongwith being in allowlist.
-        if (mAllowedApps.contains(pkg) && ((!mCloneProfileApps.contains(pkg) || (app.isCloned)))) {
+        if (mAllowedApps.contains(pkg)
+                && ((!mCloneProfileApps.contains(pkg) || (app.isClonedProfile())))) {
             app.extraInfo = Boolean.TRUE;
         } else {
             app.extraInfo = Boolean.FALSE;
diff --git a/src/com/android/settings/applications/AppStorageSettings.java b/src/com/android/settings/applications/AppStorageSettings.java
index 807f043..e45657f 100644
--- a/src/com/android/settings/applications/AppStorageSettings.java
+++ b/src/com/android/settings/applications/AppStorageSettings.java
@@ -53,6 +53,7 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.deviceinfo.StorageWizardMoveConfirm;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState.Callbacks;
@@ -359,6 +360,8 @@
         mButtonsPref.setButton1Enabled(false);
         // Invoke uninstall or clear user data based on sysPackage
         String packageName = mAppEntry.info.packageName;
+        DynamicDenylistManager.getInstance(getContext())
+                .resetDenylistIfNeeded(packageName, /* force= */ false);
         Log.i(TAG, "Clearing user data for package : " + packageName);
         if (mClearDataObserver == null) {
             mClearDataObserver = new ClearUserDataObserver();
diff --git a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
index 80d3947..851d763 100644
--- a/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
+++ b/src/com/android/settings/applications/ApplicationFeatureProviderImpl.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.applications;
 
+import static android.webkit.Flags.updateServiceV2;
+
 import android.Manifest;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
@@ -30,6 +32,7 @@
 import android.content.pm.UserInfo;
 import android.location.LocationManager;
 import android.os.RemoteException;
+import android.os.SystemConfigManager;
 import android.os.UserManager;
 import android.service.euicc.EuiccService;
 import android.telecom.DefaultDialerManager;
@@ -41,6 +44,7 @@
 
 import com.android.internal.telephony.SmsApplication;
 import com.android.settings.R;
+import com.android.settings.webview.WebViewUpdateServiceWrapper;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -54,6 +58,9 @@
     private final IPackageManager mPms;
     private final DevicePolicyManager mDpm;
     private final UserManager mUm;
+    private final WebViewUpdateServiceWrapper mWebViewUpdateServiceWrapper;
+    private final SystemConfigManager mSystemConfigManager;
+
     /** Flags to use when querying PackageManager for Euicc component implementations. */
     private static final int EUICC_QUERY_FLAGS =
             PackageManager.MATCH_SYSTEM_ONLY | PackageManager.MATCH_DEBUG_TRIAGED_MISSING
@@ -61,11 +68,17 @@
 
     public ApplicationFeatureProviderImpl(Context context, PackageManager pm,
             IPackageManager pms, DevicePolicyManager dpm) {
+        this(context, pm, pms, dpm, new WebViewUpdateServiceWrapper());
+    }
+    public ApplicationFeatureProviderImpl(Context context, PackageManager pm,
+            IPackageManager pms, DevicePolicyManager dpm, WebViewUpdateServiceWrapper wvusWrapper) {
         mContext = context.getApplicationContext();
         mPm = pm;
         mPms = pms;
         mDpm = dpm;
         mUm = UserManager.get(mContext);
+        mWebViewUpdateServiceWrapper = wvusWrapper;
+        mSystemConfigManager = context.getSystemService(SystemConfigManager.class);
     }
 
     @Override
@@ -159,6 +172,14 @@
             keepEnabledPackages.add(euicc.packageName);
         }
 
+        // Keep WebView default package enabled.
+        if (updateServiceV2()) {
+            String packageName = mWebViewUpdateServiceWrapper.getDefaultWebViewPackageName();
+            if (packageName != null) {
+                keepEnabledPackages.add(packageName);
+            }
+        }
+
         keepEnabledPackages.addAll(getEnabledPackageAllowlist());
 
         final LocationManager locationManager =
@@ -167,6 +188,7 @@
         if (locationHistoryPackage != null) {
             keepEnabledPackages.add(locationHistoryPackage);
         }
+        keepEnabledPackages.addAll(mSystemConfigManager.getPreventUserDisablePackages());
         return keepEnabledPackages;
     }
 
diff --git a/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java b/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java
index f3ad326..bb628c9 100644
--- a/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java
+++ b/src/com/android/settings/applications/FetchPackageStorageAsyncLoader.java
@@ -16,13 +16,15 @@
 
 package com.android.settings.applications;
 
-import android.annotation.NonNull;
+
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.os.UserHandle;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+
 import com.android.internal.util.Preconditions;
 import com.android.settingslib.applications.StorageStatsSource;
 import com.android.settingslib.applications.StorageStatsSource.AppStorageStats;
diff --git a/src/com/android/settings/applications/InstalledAppCounter.java b/src/com/android/settings/applications/InstalledAppCounter.java
index aeac26e..9da4c9a 100644
--- a/src/com/android/settings/applications/InstalledAppCounter.java
+++ b/src/com/android/settings/applications/InstalledAppCounter.java
@@ -17,10 +17,15 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.FeatureFlags;
+import android.content.pm.FeatureFlagsImpl;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.os.UserHandle;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+
 import java.util.List;
 
 public abstract class InstalledAppCounter extends AppCounter {
@@ -32,9 +37,15 @@
 
     private final int mInstallReason;
 
-    public InstalledAppCounter(Context context, int installReason,
-            PackageManager packageManager) {
-        super(context, packageManager);
+    public InstalledAppCounter(@NonNull Context context, int installReason,
+            @NonNull PackageManager packageManager) {
+        this(context, installReason, packageManager, new FeatureFlagsImpl());
+    }
+
+    @VisibleForTesting
+    InstalledAppCounter(@NonNull Context context, int installReason,
+            @NonNull PackageManager packageManager, @NonNull FeatureFlags featureFlags) {
+        super(context, packageManager, featureFlags);
         mInstallReason = installReason;
     }
 
diff --git a/src/com/android/settings/applications/ProcStatsData.java b/src/com/android/settings/applications/ProcStatsData.java
index 7742e98..aedb066 100644
--- a/src/com/android/settings/applications/ProcStatsData.java
+++ b/src/com/android/settings/applications/ProcStatsData.java
@@ -29,6 +29,8 @@
 import android.util.LongSparseArray;
 import android.util.SparseArray;
 
+import androidx.annotation.WorkerThread;
+
 import com.android.internal.app.ProcessMap;
 import com.android.internal.app.procstats.DumpUtils;
 import com.android.internal.app.procstats.IProcessStats;
@@ -85,24 +87,10 @@
         }
     }
 
-    public void setTotalTime(int totalTime) {
-        memTotalTime = totalTime;
-    }
-
     public void xferStats() {
         sStatsXfer = mStats;
     }
 
-    public void setMemStates(int[] memStates) {
-        mMemStates = memStates;
-        refreshStats(false);
-    }
-
-    public void setStats(int[] stats) {
-        this.mStates = stats;
-        refreshStats(false);
-    }
-
     public int getMemState() {
         int factor = mStats.mMemFactor;
         if (factor == ProcessStats.ADJ_NOTHING) {
@@ -118,15 +106,13 @@
         return mMemInfo;
     }
 
-    public long getElapsedTime() {
-        return mStats.mTimePeriodEndRealtime - mStats.mTimePeriodStartRealtime;
-    }
-
+    /**
+     * Sets the duration.
+     *
+     * <p>Note: {@link #refreshStats(boolean)} needs to called manually to take effect.
+     */
     public void setDuration(long duration) {
-        if (duration != mDuration) {
-            mDuration = duration;
-            refreshStats(true);
-        }
+        mDuration = duration;
     }
 
     public long getDuration() {
@@ -137,6 +123,12 @@
         return pkgEntries;
     }
 
+    /**
+     * Refreshes the stats.
+     *
+     * <p>Note: This needs to be called manually to take effect.
+     */
+    @WorkerThread
     public void refreshStats(boolean forceLoad) {
         if (mStats == null || forceLoad) {
             load();
diff --git a/src/com/android/settings/applications/ProcessStatsDetail.java b/src/com/android/settings/applications/ProcessStatsDetail.java
index 266c195..de21a46 100644
--- a/src/com/android/settings/applications/ProcessStatsDetail.java
+++ b/src/com/android/settings/applications/ProcessStatsDetail.java
@@ -129,7 +129,6 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* appHeader */)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(mApp.mUiTargetApp != null
                         ? IconDrawableFactory.newInstance(activity).getBadgedIcon(mApp.mUiTargetApp)
                         : new ColorDrawable(0))
@@ -140,7 +139,7 @@
                         : UserHandle.USER_NULL)
                 .setHasAppInfoLink(true)
                 .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE)
-                .done(activity, getPrefContext());
+                .done(getPrefContext());
         getPreferenceScreen().addPreference(pref);
     }
 
diff --git a/src/com/android/settings/applications/ProcessStatsSummary.java b/src/com/android/settings/applications/ProcessStatsSummary.java
index 4044794..ef76cd5 100644
--- a/src/com/android/settings/applications/ProcessStatsSummary.java
+++ b/src/com/android/settings/applications/ProcessStatsSummary.java
@@ -16,20 +16,26 @@
 package com.android.settings.applications;
 
 import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.icu.text.MessageFormat;
 import android.os.Bundle;
+import android.os.Flags;
+import android.provider.Settings;
 import android.text.format.Formatter;
 import android.text.format.Formatter.BytesResult;
 
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.SummaryPreference;
 import com.android.settings.Utils;
 import com.android.settings.applications.ProcStatsData.MemInfo;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.development.DisableDevSettingsDialogFragment;
 
 import java.util.HashMap;
 import java.util.Locale;
@@ -37,6 +43,8 @@
 
 public class ProcessStatsSummary extends ProcessStatsBase implements OnPreferenceClickListener {
 
+    private static final String KEY_PREF_SCREEN = "app_list";
+    private static final String KEY_MEMORY_INFO_PREF_GROUP = "memory_info";
     private static final String KEY_STATUS_HEADER = "status_header";
 
     private static final String KEY_PERFORMANCE = "performance";
@@ -44,7 +52,9 @@
     private static final String KEY_AVERAGY_USED = "average_used";
     private static final String KEY_FREE = "free";
     private static final String KEY_APP_LIST = "apps_list";
+    private static final String KEY_FORCE_ENABLE_PSS_PROFILING = "force_enable_pss_profiling";
 
+    private PreferenceCategory mMemoryInfoPrefCategory;
     private SummaryPreference mSummaryPref;
 
     private Preference mPerformance;
@@ -52,12 +62,14 @@
     private Preference mAverageUsed;
     private Preference mFree;
     private Preference mAppListPreference;
+    private SwitchPreference mForceEnablePssProfiling;
 
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
 
         addPreferencesFromResource(R.xml.process_stats_summary);
+        mMemoryInfoPrefCategory = (PreferenceCategory) findPreference(KEY_MEMORY_INFO_PREF_GROUP);
         mSummaryPref = (SummaryPreference) findPreference(KEY_STATUS_HEADER);
         mPerformance = findPreference(KEY_PERFORMANCE);
         mTotalMemory = findPreference(KEY_TOTAL_MEMORY);
@@ -65,11 +77,37 @@
         mFree = findPreference(KEY_FREE);
         mAppListPreference = findPreference(KEY_APP_LIST);
         mAppListPreference.setOnPreferenceClickListener(this);
+
+        // This preference is only applicable if the flag for PSS deprecation in AppProfiler is
+        // enabled. Otherwise, it can immediately be hidden.
+        mForceEnablePssProfiling =
+                (SwitchPreference) findPreference(KEY_FORCE_ENABLE_PSS_PROFILING);
+        if (Flags.removeAppProfilerPssCollection()) {
+            mForceEnablePssProfiling.setOnPreferenceClickListener(this);
+            // Make the toggle reflect the current state of the global setting.
+            mForceEnablePssProfiling.setChecked(isPssProfilingForceEnabled(getContext()));
+        } else {
+            mForceEnablePssProfiling.setVisible(false);
+        }
+    }
+
+    private void refreshPreferences() {
+        // The memory fields should be static if the flag is not enabled.
+        if (!Flags.removeAppProfilerPssCollection()) {
+            return;
+        }
+        mMemoryInfoPrefCategory.setVisible(mForceEnablePssProfiling.isChecked());
     }
 
     @Override
     public void refreshUi() {
         Context context = getContext();
+        refreshPreferences();
+
+        // If PSS collection is not enabled, none of the following work needs to be done.
+        if (Flags.removeAppProfilerPssCollection() && !isPssProfilingForceEnabled(context)) {
+            return;
+        }
 
         MemInfo memInfo = mStatsManager.getMemInfo();
 
@@ -100,7 +138,8 @@
         String durationString = getString(sDurationLabels[mDurationIndex]);
         int numApps = mStatsManager.getEntries().size();
         MessageFormat msgFormat = new MessageFormat(
-                getResources().getString(R.string.memory_usage_apps_summary), Locale.getDefault());
+                getResources().getString(R.string.memory_usage_apps_summary),
+                        Locale.getDefault());
         Map<String, Object> arguments = new HashMap<>();
         arguments.put("count", numApps);
         arguments.put("time", durationString);
@@ -131,7 +170,34 @@
                     .setSourceMetricsCategory(getMetricsCategory())
                     .launch();
             return true;
+        } else if (preference == mForceEnablePssProfiling) {
+            DisableDevSettingsDialogFragment.show(this);
         }
         return false;
     }
+
+    private boolean isPssProfilingForceEnabled(Context context) {
+        ContentResolver cr = context.getContentResolver();
+        return Settings.Global.getInt(cr, Settings.Global.FORCE_ENABLE_PSS_PROFILING, 0) == 1;
+    }
+
+    /**
+     * Called when the reboot confirmation button is clicked.
+     */
+    public void onRebootDialogConfirmed() {
+        Context context = getContext();
+        ContentResolver cr = context.getContentResolver();
+        Settings.Global.putInt(cr, Settings.Global.FORCE_ENABLE_PSS_PROFILING,
+                mForceEnablePssProfiling.isChecked() ? 1 : 0);
+        refreshPreferences();
+    }
+
+    /**
+     * Called when the reboot deny button is clicked.
+     */
+    public void onRebootDialogCanceled() {
+        // Set the toggle to reflect the state of the setting, which should not have changed.
+        mForceEnablePssProfiling.setChecked(isPssProfilingForceEnabled(getContext()));
+    }
+
 }
diff --git a/src/com/android/settings/applications/RunningServiceDetails.java b/src/com/android/settings/applications/RunningServiceDetails.java
index e95b41a..3d5bddb 100644
--- a/src/com/android/settings/applications/RunningServiceDetails.java
+++ b/src/com/android/settings/applications/RunningServiceDetails.java
@@ -226,8 +226,8 @@
 
     void addServicesHeader() {
         if (mNumServices == 0) {
-            mServicesHeader = (TextView) mInflater.inflate(R.layout.preference_category,
-                    mAllDetails, false);
+            mServicesHeader = (TextView) mInflater.inflate(
+                    androidx.preference.R.layout.preference_category, mAllDetails, false);
             mServicesHeader.setText(R.string.runningservicedetails_services_title);
             mAllDetails.addView(mServicesHeader);
         }
@@ -236,8 +236,8 @@
 
     void addProcessesHeader() {
         if (mNumProcesses == 0) {
-            mProcessesHeader = (TextView) mInflater.inflate(R.layout.preference_category,
-                    mAllDetails, false);
+            mProcessesHeader = (TextView) mInflater.inflate(
+                    androidx.preference.R.layout.preference_category, mAllDetails, false);
             mProcessesHeader.setText(R.string.runningservicedetails_processes_title);
             mAllDetails.addView(mProcessesHeader);
         }
diff --git a/src/com/android/settings/applications/RunningServices.java b/src/com/android/settings/applications/RunningServices.java
index b1689d5..c75fe06 100644
--- a/src/com/android/settings/applications/RunningServices.java
+++ b/src/com/android/settings/applications/RunningServices.java
@@ -42,7 +42,7 @@
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        getActivity().setTitle(R.string.runningservices_settings_title);
+        getActivity().setTitle(com.android.settingslib.R.string.runningservices_settings_title);
     }
 
     @Override
diff --git a/src/com/android/settings/applications/UsageAccessDetails.java b/src/com/android/settings/applications/UsageAccessDetails.java
index 4adb6c1..e111942 100644
--- a/src/com/android/settings/applications/UsageAccessDetails.java
+++ b/src/com/android/settings/applications/UsageAccessDetails.java
@@ -38,11 +38,11 @@
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.Preference.OnPreferenceClickListener;
-import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppStateUsageBridge.UsageState;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class UsageAccessDetails extends AppInfoWithHeader implements OnPreferenceChangeListener,
@@ -57,7 +57,7 @@
     // TODO: Break out this functionality into its own class.
     private AppStateUsageBridge mUsageBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    private RestrictedSwitchPreference mSwitchPref;
     private Preference mUsageDesc;
     private Intent mSettingsIntent;
     private UsageState mUsageState;
@@ -78,7 +78,7 @@
         mDpm = context.getSystemService(DevicePolicyManager.class);
 
         addPreferencesFromResource(R.xml.app_ops_permissions_details);
-        mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+        mSwitchPref = (RestrictedSwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
         mUsageDesc = findPreference(KEY_APP_OPS_SETTINGS_DESC);
 
         getPreferenceScreen().setTitle(R.string.usage_access);
@@ -148,7 +148,7 @@
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_USAGE_VIEW_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_USAGE_VIEW_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
@@ -170,8 +170,16 @@
                 mPackageInfo.applicationInfo.uid);
 
         boolean hasAccess = mUsageState.isPermissible();
+        boolean shouldEnable = mUsageState.permissionDeclared;
+
+        if (shouldEnable && !hasAccess) {
+            mSwitchPref.checkEcmRestrictionAndSetDisabled(AppOpsManager.OPSTR_GET_USAGE_STATS,
+                    mPackageName);
+            shouldEnable = !mSwitchPref.isDisabledByEcm();
+        }
+
         mSwitchPref.setChecked(hasAccess);
-        mSwitchPref.setEnabled(mUsageState.permissionDeclared);
+        mSwitchPref.setEnabled(shouldEnable);
 
         ResolveInfo resolveInfo = mPm.resolveActivityAsUser(mSettingsIntent,
                 PackageManager.GET_META_DATA, mUserId);
diff --git a/src/com/android/settings/applications/appcompat/RadioWithImagePreference.java b/src/com/android/settings/applications/appcompat/RadioWithImagePreference.java
index 77cd86c..b47b679 100644
--- a/src/com/android/settings/applications/appcompat/RadioWithImagePreference.java
+++ b/src/com/android/settings/applications/appcompat/RadioWithImagePreference.java
@@ -127,7 +127,7 @@
     }
 
     private void init() {
-        setWidgetLayoutResource(com.android.settingslib.R.layout.preference_widget_radiobutton);
+        setWidgetLayoutResource(R.layout.preference_widget_radiobutton);
         setLayoutResource(R.layout.radio_with_image_preference);
         setIconSpaceReserved(false);
     }
diff --git a/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java b/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java
index dfb583c..ef054df 100644
--- a/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java
+++ b/src/com/android/settings/applications/appcompat/UserAspectRatioDetails.java
@@ -21,6 +21,7 @@
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_16_9;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_3_2;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_4_3;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_APP_DEFAULT;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
@@ -28,6 +29,7 @@
 
 import android.app.ActivityManager;
 import android.app.IActivityManager;
+import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Build;
@@ -44,10 +46,15 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.applications.AppInfoBase;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.applications.AppUtils;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.ActionButtonsPreference;
 
+import com.google.common.collect.BiMap;
+import com.google.common.collect.HashBiMap;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -60,29 +67,41 @@
 
     private static final String KEY_HEADER_SUMMARY = "app_aspect_ratio_summary";
     private static final String KEY_HEADER_BUTTONS = "header_view";
-    private static final String KEY_PREF_FULLSCREEN = "fullscreen_pref";
+
     private static final String KEY_PREF_HALF_SCREEN = "half_screen_pref";
     private static final String KEY_PREF_DISPLAY_SIZE = "display_size_pref";
     private static final String KEY_PREF_16_9 = "16_9_pref";
     private static final String KEY_PREF_4_3 = "4_3_pref";
     @VisibleForTesting
+    static final String KEY_PREF_FULLSCREEN = "fullscreen_pref";
+    @VisibleForTesting
     static final String KEY_PREF_DEFAULT = "app_default_pref";
     @VisibleForTesting
     static final String KEY_PREF_3_2 = "3_2_pref";
 
+    @VisibleForTesting
+    @NonNull String mSelectedKey = KEY_PREF_DEFAULT;
+
+    /** Radio button preference key mapped to {@link PackageManager.UserMinAspectRatio} value */
+    @VisibleForTesting
+    final BiMap<String, Integer> mKeyToAspectRatioMap = HashBiMap.create();
+
     private final List<RadioWithImagePreference> mAspectRatioPreferences = new ArrayList<>();
 
     @NonNull private UserAspectRatioManager mUserAspectRatioManager;
-    @NonNull private String mSelectedKey = KEY_PREF_DEFAULT;
+    private boolean mIsOverrideToFullscreenEnabled;
 
     @Override
     public void onCreate(@NonNull Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
         mUserAspectRatioManager = new UserAspectRatioManager(getContext());
+        mIsOverrideToFullscreenEnabled = getAspectRatioManager()
+                .isOverrideToFullscreenEnabled(mPackageName, mUserId);
+
         initPreferences();
         try {
-            final int userAspectRatio = mUserAspectRatioManager
+            final int userAspectRatio = getAspectRatioManager()
                     .getUserMinAspectRatioValue(mPackageName, mUserId);
             mSelectedKey = getSelectedKey(userAspectRatio);
         } catch (RemoteException e) {
@@ -104,6 +123,7 @@
             Log.e(TAG, "Unable to set user min aspect ratio");
             return;
         }
+        logActionMetrics(selectedKey, mSelectedKey);
         // Only update to selected aspect ratio if nothing goes wrong
         mSelectedKey = selectedKey;
         updateAllPreferences(mSelectedKey);
@@ -118,8 +138,7 @@
 
     @Override
     public int getMetricsCategory() {
-        // TODO(b/292566895): add metrics for logging
-        return 0;
+        return SettingsEnums.USER_ASPECT_RATIO_APP_INFO_SETTINGS;
     }
 
     @Override
@@ -145,43 +164,23 @@
     }
 
     @PackageManager.UserMinAspectRatio
-    private int getSelectedUserMinAspectRatio(@NonNull String selectedKey) {
-        switch (selectedKey) {
-            case KEY_PREF_FULLSCREEN:
-                return USER_MIN_ASPECT_RATIO_FULLSCREEN;
-            case KEY_PREF_HALF_SCREEN:
-                return USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
-            case KEY_PREF_DISPLAY_SIZE:
-                return USER_MIN_ASPECT_RATIO_DISPLAY_SIZE;
-            case KEY_PREF_3_2:
-                return USER_MIN_ASPECT_RATIO_3_2;
-            case KEY_PREF_4_3:
-                return USER_MIN_ASPECT_RATIO_4_3;
-            case KEY_PREF_16_9:
-                return USER_MIN_ASPECT_RATIO_16_9;
-            default:
-                return USER_MIN_ASPECT_RATIO_UNSET;
-        }
+    @VisibleForTesting
+    int getSelectedUserMinAspectRatio(@NonNull String selectedKey) {
+        final int appDefault = mKeyToAspectRatioMap
+                .getOrDefault(KEY_PREF_DEFAULT, USER_MIN_ASPECT_RATIO_UNSET);
+        return mKeyToAspectRatioMap.getOrDefault(selectedKey, appDefault);
     }
 
     @NonNull
     private String getSelectedKey(@PackageManager.UserMinAspectRatio int userMinAspectRatio) {
-        switch (userMinAspectRatio) {
-            case USER_MIN_ASPECT_RATIO_FULLSCREEN:
-                return KEY_PREF_FULLSCREEN;
-            case USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
-                return KEY_PREF_HALF_SCREEN;
-            case USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
-                return KEY_PREF_DISPLAY_SIZE;
-            case USER_MIN_ASPECT_RATIO_3_2:
-                return KEY_PREF_3_2;
-            case USER_MIN_ASPECT_RATIO_4_3:
-                return KEY_PREF_4_3;
-            case USER_MIN_ASPECT_RATIO_16_9:
-                return KEY_PREF_16_9;
-            default:
-                return KEY_PREF_DEFAULT;
+        final String appDefault = mKeyToAspectRatioMap.inverse()
+                .getOrDefault(USER_MIN_ASPECT_RATIO_UNSET, KEY_PREF_DEFAULT);
+
+        if (userMinAspectRatio == USER_MIN_ASPECT_RATIO_UNSET && mIsOverrideToFullscreenEnabled) {
+            // Pre-select fullscreen option if device manufacturer has overridden app to fullscreen
+            userMinAspectRatio = USER_MIN_ASPECT_RATIO_FULLSCREEN;
         }
+        return mKeyToAspectRatioMap.inverse().getOrDefault(userMinAspectRatio, appDefault);
     }
 
     @Override
@@ -197,7 +196,7 @@
                 .setHasAppInfoLink(true)
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE)
-                .done(getActivity(), getPrefContext());
+                .done(getPrefContext());
 
         getPreferenceScreen().addPreference(pref);
     }
@@ -214,7 +213,11 @@
                 .setButton1Icon(R.drawable.ic_settings_open)
                 .setButton1OnClickListener(v -> launchApplication());
 
-        addPreference(KEY_PREF_DEFAULT, USER_MIN_ASPECT_RATIO_UNSET);
+        if (mIsOverrideToFullscreenEnabled) {
+            addPreference(KEY_PREF_DEFAULT, USER_MIN_ASPECT_RATIO_APP_DEFAULT);
+        } else {
+            addPreference(KEY_PREF_DEFAULT, USER_MIN_ASPECT_RATIO_UNSET);
+        }
         addPreference(KEY_PREF_FULLSCREEN, USER_MIN_ASPECT_RATIO_FULLSCREEN);
         addPreference(KEY_PREF_DISPLAY_SIZE, USER_MIN_ASPECT_RATIO_DISPLAY_SIZE);
         addPreference(KEY_PREF_HALF_SCREEN, USER_MIN_ASPECT_RATIO_SPLIT_SCREEN);
@@ -229,12 +232,13 @@
         if (pref == null) {
             return;
         }
-        if (!mUserAspectRatioManager.hasAspectRatioOption(aspectRatio, mPackageName)) {
+        if (!getAspectRatioManager().hasAspectRatioOption(aspectRatio, mPackageName)) {
             pref.setVisible(false);
             return;
         }
         pref.setTitle(mUserAspectRatioManager.getAccessibleEntry(aspectRatio, mPackageName));
         pref.setOnClickListener(this);
+        mKeyToAspectRatioMap.put(key, aspectRatio);
         mAspectRatioPreferences.add(pref);
     }
 
@@ -244,6 +248,68 @@
         }
     }
 
+    private void logActionMetrics(@NonNull String selectedKey, @NonNull String unselectedKey) {
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+        final int attribution = metricsFeatureProvider.getAttribution(getActivity());
+        metricsFeatureProvider.action(
+                attribution,
+                getUnselectedAspectRatioAction(unselectedKey),
+                getMetricsCategory(),
+                mPackageName,
+                mUserId
+        );
+        metricsFeatureProvider.action(
+                attribution,
+                getSelectedAspectRatioAction(selectedKey),
+                getMetricsCategory(),
+                mPackageName,
+                mUserId
+        );
+    }
+
+    private static int getSelectedAspectRatioAction(@NonNull String selectedKey) {
+        switch (selectedKey) {
+            case KEY_PREF_DEFAULT:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_APP_DEFAULT_SELECTED;
+            case KEY_PREF_FULLSCREEN:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_FULL_SCREEN_SELECTED;
+            case KEY_PREF_HALF_SCREEN:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_HALF_SCREEN_SELECTED;
+            case KEY_PREF_4_3:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_4_3_SELECTED;
+            case KEY_PREF_16_9:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_16_9_SELECTED;
+            case KEY_PREF_3_2:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_3_2_SELECTED;
+            case KEY_PREF_DISPLAY_SIZE:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_DISPLAY_SIZE_SELECTED;
+            default:
+                return SettingsEnums.ACTION_UNKNOWN;
+        }
+    }
+
+    private static int getUnselectedAspectRatioAction(@NonNull String unselectedKey) {
+        switch (unselectedKey) {
+            case KEY_PREF_DEFAULT:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_APP_DEFAULT_UNSELECTED;
+            case KEY_PREF_FULLSCREEN:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_FULL_SCREEN_UNSELECTED;
+            case KEY_PREF_HALF_SCREEN:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_HALF_SCREEN_UNSELECTED;
+            case KEY_PREF_4_3:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_4_3_UNSELECTED;
+            case KEY_PREF_16_9:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_16_9_UNSELECTED;
+            case KEY_PREF_3_2:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_3_2_UNSELECTED;
+            case KEY_PREF_DISPLAY_SIZE:
+                return SettingsEnums.ACTION_USER_ASPECT_RATIO_DISPLAY_SIZE_UNSELECTED;
+            default:
+                return SettingsEnums.ACTION_UNKNOWN;
+        }
+    }
+
     @VisibleForTesting
     UserAspectRatioManager getAspectRatioManager() {
         return mUserAspectRatioManager;
diff --git a/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java b/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java
index b940dc8..3bf6109 100644
--- a/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java
+++ b/src/com/android/settings/applications/appcompat/UserAspectRatioManager.java
@@ -16,20 +16,32 @@
 
 package com.android.settings.applications.appcompat;
 
+import static android.content.pm.ActivityInfo.OVERRIDE_ANY_ORIENTATION_TO_USER;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_16_9;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_3_2;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_4_3;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_APP_DEFAULT;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
 import static android.os.UserHandle.getUserHandleForUid;
+import static android.os.UserHandle.getUserId;
+import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE;
 import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE;
 import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE;
 
 import static java.lang.Boolean.FALSE;
 
 import android.app.AppGlobals;
+import android.app.compat.CompatChanges;
 import android.content.Context;
-import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.IPackageManager;
 import android.content.pm.LauncherApps;
 import android.content.pm.PackageManager;
 import android.os.RemoteException;
+import android.os.UserHandle;
 import android.provider.DeviceConfig;
 import android.util.ArrayMap;
 
@@ -38,6 +50,7 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.window.flags.Flags;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -48,10 +61,6 @@
  * {@link PackageManager.UserMinAspectRatio} set by user
  */
 public class UserAspectRatioManager {
-    private static final Intent LAUNCHER_ENTRY_INTENT =
-            new Intent(Intent.ACTION_MAIN).addCategory(Intent.CATEGORY_LAUNCHER);
-
-    // TODO(b/288142656): Enable user aspect ratio settings by default
     private static final boolean DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_SETTINGS = true;
     @VisibleForTesting
     static final String KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS =
@@ -60,6 +69,8 @@
             "enable_app_compat_user_aspect_ratio_fullscreen";
     private static final boolean DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_FULLSCREEN = true;
 
+    final boolean mIsUserMinAspectRatioAppDefaultFlagEnabled = Flags.userMinAspectRatioAppDefault();
+
     private final Context mContext;
     private final IPackageManager mIPm;
     /** Apps that have launcher entry defined in manifest */
@@ -67,8 +78,13 @@
     private final Map<Integer, CharSequence> mUserAspectRatioA11yMap;
 
     public UserAspectRatioManager(@NonNull Context context) {
+        this(context, AppGlobals.getPackageManager());
+    }
+
+    @VisibleForTesting
+    UserAspectRatioManager(@NonNull Context context, @NonNull IPackageManager pm) {
         mContext = context;
-        mIPm = AppGlobals.getPackageManager();
+        mIPm = pm;
         mUserAspectRatioA11yMap = new ArrayMap<>();
         mUserAspectRatioMap = getUserMinAspectRatioMapping();
     }
@@ -91,7 +107,7 @@
             throws RemoteException {
         final int aspectRatio = mIPm.getUserMinAspectRatio(packageName, uid);
         return hasAspectRatioOption(aspectRatio, packageName)
-                ? aspectRatio : PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
+                ? aspectRatio : USER_MIN_ASPECT_RATIO_UNSET;
     }
 
     /**
@@ -99,11 +115,18 @@
      */
     @NonNull
     public String getUserMinAspectRatioEntry(@PackageManager.UserMinAspectRatio int aspectRatio,
-            String packageName) {
-        if (!hasAspectRatioOption(aspectRatio, packageName))  {
-            return mUserAspectRatioMap.get(PackageManager.USER_MIN_ASPECT_RATIO_UNSET);
+            @NonNull String packageName, int userId) {
+        final String appDefault = getAspectRatioStringOrDefault(
+                mUserAspectRatioMap.get(USER_MIN_ASPECT_RATIO_UNSET),
+                USER_MIN_ASPECT_RATIO_UNSET);
+
+        if (!hasAspectRatioOption(aspectRatio, packageName)) {
+            return appDefault;
         }
-        return mUserAspectRatioMap.get(aspectRatio);
+
+        return isCurrentSelectionFromManufacturerOverride(packageName, userId, aspectRatio)
+                ? getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN, packageName, userId)
+                : mUserAspectRatioMap.getOrDefault(aspectRatio, appDefault);
     }
 
     /**
@@ -111,19 +134,22 @@
      */
     @NonNull
     public CharSequence getAccessibleEntry(@PackageManager.UserMinAspectRatio int aspectRatio,
-            String packageName) {
-        return mUserAspectRatioA11yMap.getOrDefault(aspectRatio,
-                getUserMinAspectRatioEntry(aspectRatio, packageName));
+            @NonNull String packageName) {
+        final int userId = mContext.getUserId();
+        return isCurrentSelectionFromManufacturerOverride(packageName, userId, aspectRatio)
+                ? getAccessibleEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN, packageName)
+                : mUserAspectRatioA11yMap.getOrDefault(aspectRatio,
+                        getUserMinAspectRatioEntry(aspectRatio, packageName, userId));
     }
 
     /**
      * @return corresponding aspect ratio string for package name and user
      */
     @NonNull
-    public String getUserMinAspectRatioEntry(@NonNull String packageName, int uid)
+    public String getUserMinAspectRatioEntry(@NonNull String packageName, int userId)
             throws RemoteException {
-        final int aspectRatio = getUserMinAspectRatioValue(packageName, uid);
-        return getUserMinAspectRatioEntry(aspectRatio, packageName);
+        final int aspectRatio = getUserMinAspectRatioValue(packageName, userId);
+        return getUserMinAspectRatioEntry(aspectRatio, packageName, userId);
     }
 
     /**
@@ -133,8 +159,7 @@
      */
     public boolean hasAspectRatioOption(@PackageManager.UserMinAspectRatio int option,
             String packageName) {
-        if (option == PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN
-                && !isFullscreenOptionEnabled(packageName)) {
+        if (option == USER_MIN_ASPECT_RATIO_FULLSCREEN && !isFullscreenOptionEnabled(packageName)) {
             return false;
         }
         return mUserAspectRatioMap.containsKey(option);
@@ -160,6 +185,18 @@
     }
 
     /**
+     * Whether the app has been overridden to fullscreen by device manufacturer or
+     * whether the app's aspect ratio has been overridden by the user.
+     */
+    public boolean isAppOverridden(@NonNull ApplicationInfo app,
+            @PackageManager.UserMinAspectRatio int userOverride) {
+        return (userOverride != USER_MIN_ASPECT_RATIO_UNSET
+                    && userOverride != USER_MIN_ASPECT_RATIO_APP_DEFAULT)
+                || isCurrentSelectionFromManufacturerOverride(app.packageName, getUserId(app.uid),
+                    userOverride);
+    }
+
+    /**
      * Whether fullscreen option in per-app user aspect ratio settings is enabled
      */
     @VisibleForTesting
@@ -173,12 +210,35 @@
                     DEFAULT_VALUE_ENABLE_USER_ASPECT_RATIO_FULLSCREEN);
     }
 
-    LauncherApps getLauncherApps() {
-        return mContext.getSystemService(LauncherApps.class);
+    /**
+     * Whether the device manufacturer has overridden app's orientation to
+     * {@link android.content.pm.ActivityInfo#SCREEN_ORIENTATION_USER} to force app to fullscreen
+     * and app has not opted-out from the treatment
+     */
+    boolean isOverrideToFullscreenEnabled(String pkgName, int userId) {
+        Boolean appAllowsOrientationOverride = readComponentProperty(mContext.getPackageManager(),
+                pkgName, PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE);
+        return mIsUserMinAspectRatioAppDefaultFlagEnabled
+                && hasAspectRatioOption(USER_MIN_ASPECT_RATIO_FULLSCREEN, pkgName)
+                && !FALSE.equals(appAllowsOrientationOverride)
+                && isFullscreenCompatChangeEnabled(pkgName, userId);
+    }
+
+    @VisibleForTesting
+    boolean isFullscreenCompatChangeEnabled(String pkgName, int userId) {
+        return CompatChanges.isChangeEnabled(
+                OVERRIDE_ANY_ORIENTATION_TO_USER, pkgName, UserHandle.of(userId));
+    }
+
+    private boolean isCurrentSelectionFromManufacturerOverride(String pkgName, int userId,
+            @PackageManager.UserMinAspectRatio int aspectRatio) {
+        return aspectRatio == USER_MIN_ASPECT_RATIO_UNSET
+                && isOverrideToFullscreenEnabled(pkgName, userId);
     }
 
     private boolean hasLauncherEntry(@NonNull ApplicationInfo app) {
-        return !getLauncherApps().getActivityList(app.packageName, getUserHandleForUid(app.uid))
+        return !mContext.getSystemService(LauncherApps.class)
+                .getActivityList(app.packageName, getUserHandleForUid(app.uid))
                 .isEmpty();
     }
 
@@ -205,13 +265,13 @@
             boolean containsColon = aspectRatioString.contains(":");
             switch (aspectRatioVal) {
                 // Only map known values of UserMinAspectRatio and ignore unknown entries
-                case PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN:
-                case PackageManager.USER_MIN_ASPECT_RATIO_UNSET:
-                case PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
-                case PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
-                case PackageManager.USER_MIN_ASPECT_RATIO_4_3:
-                case PackageManager.USER_MIN_ASPECT_RATIO_16_9:
-                case PackageManager.USER_MIN_ASPECT_RATIO_3_2:
+                case USER_MIN_ASPECT_RATIO_FULLSCREEN:
+                case USER_MIN_ASPECT_RATIO_UNSET:
+                case USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
+                case USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
+                case USER_MIN_ASPECT_RATIO_4_3:
+                case USER_MIN_ASPECT_RATIO_16_9:
+                case USER_MIN_ASPECT_RATIO_3_2:
                     if (containsColon) {
                         String[] aspectRatioDigits = aspectRatioString.split(":");
                         String accessibleString = getAccessibleOption(aspectRatioDigits[0],
@@ -223,16 +283,24 @@
                     userMinAspectRatioMap.put(aspectRatioVal, aspectRatioString);
             }
         }
-        if (!userMinAspectRatioMap.containsKey(PackageManager.USER_MIN_ASPECT_RATIO_UNSET)) {
+        if (!userMinAspectRatioMap.containsKey(USER_MIN_ASPECT_RATIO_UNSET)) {
             throw new RuntimeException("config_userAspectRatioOverrideValues options must have"
                     + " USER_MIN_ASPECT_RATIO_UNSET value");
         }
+        if (mIsUserMinAspectRatioAppDefaultFlagEnabled) {
+            userMinAspectRatioMap.put(USER_MIN_ASPECT_RATIO_APP_DEFAULT,
+                    userMinAspectRatioMap.get(USER_MIN_ASPECT_RATIO_UNSET));
+            if (mUserAspectRatioA11yMap.containsKey(USER_MIN_ASPECT_RATIO_UNSET)) {
+                mUserAspectRatioA11yMap.put(USER_MIN_ASPECT_RATIO_APP_DEFAULT,
+                        mUserAspectRatioA11yMap.get(USER_MIN_ASPECT_RATIO_UNSET));
+            }
+        }
         return userMinAspectRatioMap;
     }
 
     @NonNull
     private String getAccessibleOption(String numerator, String denominator) {
-        return mContext.getResources().getString(R.string.user_aspect_ratio_option_a11y,
+        return mContext.getString(R.string.user_aspect_ratio_option_a11y,
                 numerator, denominator);
     }
 
@@ -244,17 +312,17 @@
         }
         // Options are customized per device and if strings are set to @null, use default
         switch (aspectRatioVal) {
-            case PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN:
+            case USER_MIN_ASPECT_RATIO_FULLSCREEN:
                 return mContext.getString(R.string.user_aspect_ratio_fullscreen);
-            case PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
+            case USER_MIN_ASPECT_RATIO_SPLIT_SCREEN:
                 return mContext.getString(R.string.user_aspect_ratio_half_screen);
-            case PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
+            case USER_MIN_ASPECT_RATIO_DISPLAY_SIZE:
                 return mContext.getString(R.string.user_aspect_ratio_device_size);
-            case PackageManager.USER_MIN_ASPECT_RATIO_4_3:
+            case USER_MIN_ASPECT_RATIO_4_3:
                 return mContext.getString(R.string.user_aspect_ratio_4_3);
-            case PackageManager.USER_MIN_ASPECT_RATIO_16_9:
+            case USER_MIN_ASPECT_RATIO_16_9:
                 return mContext.getString(R.string.user_aspect_ratio_16_9);
-            case PackageManager.USER_MIN_ASPECT_RATIO_3_2:
+            case USER_MIN_ASPECT_RATIO_3_2:
                 return mContext.getString(R.string.user_aspect_ratio_3_2);
             default:
                 return mContext.getString(R.string.user_aspect_ratio_app_default);
diff --git a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
index 8decbd9..35fc1cb 100644
--- a/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppBatteryPreferenceController.java
@@ -124,8 +124,9 @@
                     mParent.getMetricsCategory(),
                     mBatteryDiffEntry,
                     Utils.formatPercentage(
-                            mBatteryDiffEntry.getPercentage(), /* round */ true),
-                    /*slotInformation=*/ null, /*showTimeInformation=*/ false);
+                            mBatteryDiffEntry.getPercentage(), /*round=*/ true),
+                    /*slotInformation=*/ null, /*showTimeInformation=*/ false,
+                    /*anomalyHintPrefKey=*/ null, /*anomalyHintText=*/ null);
             return true;
         }
 
diff --git a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
index ff191ab..b80de32 100644
--- a/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppButtonsPreferenceController.java
@@ -32,6 +32,7 @@
 import android.content.om.OverlayInfo;
 import android.content.om.OverlayManager;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.Flags;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
@@ -138,9 +139,9 @@
                     "Fragment should implement AppButtonsDialogListener");
         }
 
-        final FeatureFactory factory = FeatureFactory.getFactory(activity);
+        final FeatureFactory factory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = factory.getMetricsFeatureProvider();
-        mApplicationFeatureProvider = factory.getApplicationFeatureProvider(activity);
+        mApplicationFeatureProvider = factory.getApplicationFeatureProvider();
         mState = state;
         mDpm = (DevicePolicyManager) activity.getSystemService(Context.DEVICE_POLICY_SERVICE);
         mUserManager = (UserManager) activity.getSystemService(Context.USER_SERVICE);
@@ -292,7 +293,8 @@
         switch (id) {
             case ButtonActionDialogFragment.DialogType.DISABLE:
                 mMetricsFeatureProvider.action(mActivity,
-                        SettingsEnums.ACTION_SETTINGS_DISABLE_APP);
+                        SettingsEnums.ACTION_SETTINGS_DISABLE_APP,
+                        getPackageNameForMetric());
                 AsyncTask.execute(new DisableChangerRunnable(mPm, mAppEntry.info.packageName,
                         PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER));
                 break;
@@ -433,10 +435,17 @@
                     // No preferred default, so permit uninstall only when
                     // there is more than one candidate
                     enabled = (mHomePackages.size() > 1);
-                } else {
-                    // There is an explicit default home app -- forbid uninstall of
-                    // that one, but permit it for installed-but-inactive ones.
-                    enabled = !mPackageInfo.packageName.equals(currentDefaultHome.getPackageName());
+                } else if (mPackageInfo.packageName.equals(currentDefaultHome.getPackageName())) {
+                    if (Flags.improveHomeAppBehavior()) {
+                        // Allow uninstallation of current home app if it is a non-system app
+                        // and/or there are other candidate apps available.
+                        if (mPackageInfo.applicationInfo.isSystemApp()
+                                || mHomePackages.size() == 1) {
+                            enabled = false;
+                        }
+                    } else {
+                        enabled = false;
+                    }
                 }
             }
         }
diff --git a/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java b/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
index 32662a2..baa1daf 100644
--- a/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppDataUsagePreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.applications.appinfo;
 
 import android.content.Context;
-import android.net.NetworkStats;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
 import android.os.Process;
@@ -34,8 +33,8 @@
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.Utils;
 import com.android.settings.datausage.AppDataUsage;
-import com.android.settings.datausage.DataUsageUtils;
-import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.datausage.lib.NetworkTemplates;
+import com.android.settings.spa.app.appinfo.AppDataUsagePreferenceKt;
 import com.android.settingslib.AppItem;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -46,6 +45,10 @@
 
 import java.util.List;
 
+/**
+ * @deprecated Will be removed, use {@link AppDataUsagePreferenceKt} instead.
+ */
+@Deprecated(forRemoval = true)
 public class AppDataUsagePreferenceController extends AppInfoPreferenceControllerBase
         implements LoaderManager.LoaderCallbacks<List<NetworkCycleDataForUid>>, LifecycleObserver,
         OnResume, OnPause {
@@ -92,7 +95,7 @@
 
     @Override
     public Loader<List<NetworkCycleDataForUid>> onCreateLoader(int id, Bundle args) {
-        final NetworkTemplate template = getTemplate(mContext);
+        final NetworkTemplate template = NetworkTemplates.INSTANCE.getDefaultTemplate(mContext);
         final int uid = mParent.getAppEntry().info.uid;
 
         final NetworkCycleDataForUidLoader.Builder builder =
@@ -147,18 +150,6 @@
         return mContext.getString(R.string.computing_size);
     }
 
-    private static NetworkTemplate getTemplate(Context context) {
-        if (SubscriptionUtil.isSimHardwareVisible(context)
-                && DataUsageUtils.hasReadyMobileRadio(context)) {
-            return new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE).setMeteredness(
-                    NetworkStats.METERED_YES).build();
-        }
-        if (DataUsageUtils.hasWifiRadio(context)) {
-            return new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
-        }
-        return new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build();
-    }
-
     @VisibleForTesting
     boolean isBandwidthControlEnabled() {
         return Utils.isBandwidthControlEnabled();
diff --git a/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java b/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java
index 285493a..5542087 100644
--- a/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceController.java
@@ -66,7 +66,6 @@
         final Activity activity = mParent.getActivity();
         mEntityHeaderController = EntityHeaderController
                 .newInstance(activity, mParent, mHeader.findViewById(R.id.entity_header))
-                .setRecyclerView(mParent.getListView(), mLifecycle)
                 .setPackageName(mPackageName)
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE)
@@ -86,6 +85,6 @@
                 .setLabel(appEntry)
                 .setIcon(appEntry)
                 .setIsInstantApp(isInstantApp)
-                .done(activity, false /* rebindActions */);
+                .done(false /* rebindActions */);
     }
 }
diff --git a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
index e771ff4..90d733e 100644
--- a/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
+++ b/src/com/android/settings/applications/appinfo/AppInfoDashboardFragment.java
@@ -24,6 +24,7 @@
 import android.app.AppOpsManager;
 import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
+import android.app.ecm.EnhancedConfirmationManager;
 import android.app.settings.SettingsEnums;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -490,12 +491,23 @@
                 return true;
             case ACCESS_RESTRICTED_SETTINGS:
                 showLockScreen(getContext(), () -> {
-                    final AppOpsManager appOpsManager = getContext().getSystemService(
-                            AppOpsManager.class);
-                    appOpsManager.setMode(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
-                            getUid(),
-                            getPackageName(),
-                            AppOpsManager.MODE_ALLOWED);
+                    if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()
+                            && android.security.Flags.extendEcmToAllSettings()) {
+                        EnhancedConfirmationManager manager = getContext().getSystemService(
+                                EnhancedConfirmationManager.class);
+                        try {
+                            manager.clearRestriction(getPackageName());
+                        } catch (NameNotFoundException e) {
+                            Log.e(TAG, "Exception when retrieving package:" + getPackageName(), e);
+                        }
+                    } else {
+                        final AppOpsManager appOpsManager = getContext().getSystemService(
+                                AppOpsManager.class);
+                        appOpsManager.setMode(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
+                                getUid(),
+                                getPackageName(),
+                                AppOpsManager.MODE_ALLOWED);
+                    }
                     getActivity().invalidateOptionsMenu();
                     final String toastString = getContext().getString(
                             R.string.toast_allows_restricted_settings_successfully,
@@ -527,14 +539,25 @@
     }
 
     private boolean shouldShowAccessRestrictedSettings() {
-        try {
-            final int mode = getSystemService(AppOpsManager.class).noteOpNoThrow(
-                    AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, getUid(),
-                    getPackageName());
-            return mode == AppOpsManager.MODE_IGNORED;
-        } catch (Exception e) {
-            // Fallback in case if app ops is not available in testing.
-            return false;
+        if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()
+                && android.security.Flags.extendEcmToAllSettings()) {
+            try {
+                return getSystemService(EnhancedConfirmationManager.class)
+                        .isClearRestrictionAllowed(getPackageName());
+            } catch (NameNotFoundException e) {
+                Log.e(TAG, "Exception when retrieving package:" + getPackageName(), e);
+                return false;
+            }
+        } else {
+            try {
+                final int mode = getSystemService(AppOpsManager.class).noteOpNoThrow(
+                        AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, getUid(),
+                        getPackageName());
+                return mode == AppOpsManager.MODE_IGNORED;
+            } catch (Exception e) {
+                // Fallback in case if app ops is not available in testing.
+                return false;
+            }
         }
     }
 
@@ -731,10 +754,12 @@
             try {
                 mPackageInfo = activity.getPackageManager().getPackageInfo(
                         mAppEntry.info.packageName,
-                        PackageManager.MATCH_DISABLED_COMPONENTS |
-                                PackageManager.MATCH_ANY_USER |
-                                PackageManager.GET_SIGNATURES |
-                                PackageManager.GET_PERMISSIONS);
+                        PackageManager.PackageInfoFlags.of(
+                                PackageManager.MATCH_DISABLED_COMPONENTS
+                                        | PackageManager.MATCH_ANY_USER
+                                        | PackageManager.GET_SIGNATURES
+                                        | PackageManager.GET_PERMISSIONS
+                                        | PackageManager.MATCH_ARCHIVED_PACKAGES));
             } catch (NameNotFoundException e) {
                 Log.e(TAG, "Exception when retrieving package:" + mAppEntry.info.packageName, e);
             }
diff --git a/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java b/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java
index 5e99e8b..1216ae8 100644
--- a/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceController.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.os.UserManager;
 
 import androidx.preference.Preference;
 
@@ -39,10 +38,6 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (UserManager.get(mContext).isManagedProfile()) {
-            return DISABLED_FOR_USER;
-        }
-
         if (AppUtils.isMainlineModule(mContext.getPackageManager(), mPackageName)) {
             return DISABLED_FOR_USER;
         }
diff --git a/src/com/android/settings/applications/appinfo/AppLocaleDetails.java b/src/com/android/settings/applications/appinfo/AppLocaleDetails.java
index 6144a73..1e7ca1e 100644
--- a/src/com/android/settings/applications/appinfo/AppLocaleDetails.java
+++ b/src/com/android/settings/applications/appinfo/AppLocaleDetails.java
@@ -137,7 +137,6 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(Utils.getBadgedIcon(getContext(), mApplicationInfo))
                 .setLabel(mApplicationInfo.loadLabel(getContext().getPackageManager()))
                 .setIsInstantApp(AppUtils.isInstant(mApplicationInfo))
@@ -146,7 +145,7 @@
                 .setHasAppInfoLink(true)
                 .setButtonActions(ActionType.ACTION_NONE, ActionType.ACTION_NONE)
                 .setOrder(10)
-                .done(activity, getPrefContext());
+                .done(getPrefContext());
         getPreferenceScreen().addPreference(pref);
     }
 
diff --git a/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java b/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java
index cacbffb..52ed311 100644
--- a/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/AppSettingPreferenceController.java
@@ -59,7 +59,7 @@
         if (intent == null) {
             return false;
         }
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_OPEN_APP_SETTING,
                         mParent.getMetricsCategory(),
diff --git a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
index 5f7e56f..409b695 100644
--- a/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
+++ b/src/com/android/settings/applications/appinfo/DrawOverlayDetails.java
@@ -23,12 +23,13 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.Preference.OnPreferenceClickListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -50,7 +51,8 @@
     // TODO: Break out this functionality into its own class.
     private AppStateOverlayBridge mOverlayBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    @Nullable
+    private TwoStatePreference mSwitchPref = null;
     private OverlayState mOverlayState;
 
     @Override
@@ -121,7 +123,7 @@
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java b/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java
index b723274..9a41f25 100644
--- a/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java
+++ b/src/com/android/settings/applications/appinfo/ExternalSourcesDetails.java
@@ -88,9 +88,9 @@
                         UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY,
                         userHandle);
         if ((userRestrictionSource & UserManager.RESTRICTION_SOURCE_SYSTEM) != 0) {
-            return context.getString(R.string.disabled_by_admin);
+            return context.getString(com.android.settingslib.widget.restricted.R.string.disabled_by_admin);
         } else if (userRestrictionSource != 0) {
-            return context.getString(R.string.disabled);
+            return context.getString(com.android.settingslib.R.string.disabled);
         }
         final InstallAppsState appsState = new AppStateInstallAppsBridge(context, null, null)
                 .createInstallAppsStateFor(entry.info.packageName, entry.info.uid);
@@ -113,7 +113,7 @@
         if (mUserManager.hasBaseUserRestriction(UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES,
                 UserHandle.of(UserHandle.myUserId()))) {
             mSwitchPref.setChecked(false);
-            mSwitchPref.setSummary(R.string.disabled);
+            mSwitchPref.setSummary(com.android.settingslib.R.string.disabled);
             mSwitchPref.setEnabled(false);
             return true;
         }
diff --git a/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java b/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java
index e3c577b..12703dd 100644
--- a/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/HibernationSwitchPreferenceController.java
@@ -37,7 +37,7 @@
 
 import androidx.annotation.NonNull;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.google.common.annotations.VisibleForTesting;
 
@@ -107,7 +107,7 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        ((SwitchPreference) preference).setChecked(isAppEligibleForHibernation()
+        ((TwoStatePreference) preference).setChecked(isAppEligibleForHibernation()
                 && !isPackageHibernationExemptByUser());
         preference.setEnabled(isAppEligibleForHibernation());
         if (!mHibernationEligibilityLoaded) {
diff --git a/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java b/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java
index 5a6d3df..f514ed6 100644
--- a/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java
+++ b/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragment.java
@@ -63,7 +63,7 @@
     public void onClick(DialogInterface dialog, int which) {
         final Context context = getContext();
         final PackageManager packageManager = context.getPackageManager();
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
             .action(context, SettingsEnums.ACTION_SETTINGS_CLEAR_INSTANT_APP, mPackageName);
         packageManager.deletePackageAsUser(mPackageName, null, 0, UserHandle.myUserId());
     }
diff --git a/src/com/android/settings/applications/appinfo/LongBackgroundTasksDetailsPreferenceController.java b/src/com/android/settings/applications/appinfo/LongBackgroundTasksDetailsPreferenceController.java
index 68f893c..0f2b5aa 100644
--- a/src/com/android/settings/applications/appinfo/LongBackgroundTasksDetailsPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/LongBackgroundTasksDetailsPreferenceController.java
@@ -40,8 +40,8 @@
 
     public LongBackgroundTasksDetailsPreferenceController(Context context, String key) {
         super(context, key);
-        mAppFeatureProvider = FeatureFactory.getFactory(context)
-                .getApplicationFeatureProvider(context);
+        mAppFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getApplicationFeatureProvider();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
index 6c840d5..e7eff9f 100644
--- a/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
+++ b/src/com/android/settings/applications/appinfo/ManageExternalStorageDetails.java
@@ -27,7 +27,7 @@
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.Preference.OnPreferenceClickListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -47,7 +47,7 @@
 
     private AppStateManageExternalStorageBridge mBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
     private PermissionState mPermissionState;
     private MetricsFeatureProvider mMetricsFeatureProvider;
 
@@ -67,7 +67,7 @@
         mSwitchPref.setOnPreferenceChangeListener(this);
 
         mMetricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/applications/appinfo/MediaManagementAppsDetails.java b/src/com/android/settings/applications/appinfo/MediaManagementAppsDetails.java
index f60fb4f..71b494b 100644
--- a/src/com/android/settings/applications/appinfo/MediaManagementAppsDetails.java
+++ b/src/com/android/settings/applications/appinfo/MediaManagementAppsDetails.java
@@ -23,7 +23,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -41,7 +41,7 @@
 
     private AppStateMediaManagementAppsBridge mAppBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
     private PermissionState mPermissionState;
 
     @Override
diff --git a/src/com/android/settings/applications/appinfo/OWNERS b/src/com/android/settings/applications/appinfo/OWNERS
index cd6abb8..87cecea 100644
--- a/src/com/android/settings/applications/appinfo/OWNERS
+++ b/src/com/android/settings/applications/appinfo/OWNERS
@@ -2,4 +2,4 @@
 allenwtsu@google.com
 danielwbhuang@google.com
 goldmanj@google.com
-tomhsu@google.com
+zoeychen@google.com
diff --git a/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java b/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java
index 3682af2..b0ef00c 100644
--- a/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java
+++ b/src/com/android/settings/applications/appinfo/TimeSpentInAppPreferenceController.java
@@ -53,8 +53,8 @@
     public TimeSpentInAppPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mPackageManager = context.getPackageManager();
-        mAppFeatureProvider = FeatureFactory.getFactory(context)
-                .getApplicationFeatureProvider(context);
+        mAppFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getApplicationFeatureProvider();
     }
 
     public void setPackageName(String packageName) {
diff --git a/src/com/android/settings/applications/appinfo/TurnScreenOnDetails.java b/src/com/android/settings/applications/appinfo/TurnScreenOnDetails.java
index 39e1a5f..95694db 100644
--- a/src/com/android/settings/applications/appinfo/TurnScreenOnDetails.java
+++ b/src/com/android/settings/applications/appinfo/TurnScreenOnDetails.java
@@ -28,7 +28,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Settings;
@@ -46,7 +46,7 @@
 
     private AppStateTurnScreenOnBridge mAppBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
     private AppStateAppOpsBridge.PermissionState mPermissionState;
 
 
@@ -60,7 +60,7 @@
 
         // find preferences
         addPreferencesFromResource(R.xml.turn_screen_on_permissions_details);
-        mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+        mSwitchPref = (TwoStatePreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
         mSwitchPref.setOnPreferenceChangeListener(this);
     }
 
diff --git a/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java b/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java
index d17f843..94ebc41 100644
--- a/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java
+++ b/src/com/android/settings/applications/appinfo/WriteSettingsDetails.java
@@ -24,7 +24,7 @@
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.Preference.OnPreferenceClickListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -43,7 +43,7 @@
     // TODO: Break out this functionality into its own class.
     private AppStateWriteSettingsBridge mAppBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
     private WriteSettingsState mWriteSettingsState;
 
     @Override
@@ -89,7 +89,7 @@
     void logSpecialPermissionChange(boolean newState, String packageName) {
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY;
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(getContext(),
                 logCategory, packageName);
     }
 
diff --git a/src/com/android/settings/applications/appops/AppOpsCategory.java b/src/com/android/settings/applications/appops/AppOpsCategory.java
index 57d7dc4..95ee256 100644
--- a/src/com/android/settings/applications/appops/AppOpsCategory.java
+++ b/src/com/android/settings/applications/appops/AppOpsCategory.java
@@ -29,9 +29,9 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.BaseAdapter;
+import android.widget.CompoundButton;
 import android.widget.ImageView;
 import android.widget.ListView;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.fragment.app.ListFragment;
@@ -244,14 +244,12 @@
     public static class AppListAdapter extends BaseAdapter {
         private final Resources mResources;
         private final LayoutInflater mInflater;
-        private final AppOpsState mState;
 
         List<AppOpEntry> mList;
 
-        public AppListAdapter(Context context, AppOpsState state) {
+        public AppListAdapter(Context context) {
             mResources = context.getResources();
             mInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
-            mState = state;
         }
 
         public void setData(List<AppOpEntry> data) {
@@ -294,7 +292,7 @@
             ((TextView) view.findViewById(R.id.op_name)).setText(
                     item.getTimeText(mResources, false));
             view.findViewById(R.id.op_time).setVisibility(View.GONE);
-            ((Switch) view.findViewById(R.id.op_switch)).setChecked(
+            ((CompoundButton) view.findViewById(R.id.op_switch)).setChecked(
                     item.getPrimaryOpMode() == AppOpsManager.MODE_ALLOWED);
 
             return view;
@@ -318,7 +316,7 @@
         setHasOptionsMenu(true);
 
         // Create an empty adapter we will use to display the loaded data.
-        mAdapter = new AppListAdapter(getActivity(), mState);
+        mAdapter = new AppListAdapter(getActivity());
         setListAdapter(mAdapter);
 
         // Start out with a progress indicator.
@@ -332,7 +330,7 @@
         AppOpEntry entry = mAdapter.getItem(position);
         if (entry != null) {
             // We treat this as tapping on the check box, toggling the app op state.
-            Switch sw = v.findViewById(R.id.op_switch);
+            CompoundButton sw = v.findViewById(R.id.op_switch);
             boolean checked = !sw.isChecked();
             sw.setChecked(checked);
             AppOpsManager.OpEntry op = entry.getOpEntry(0);
diff --git a/src/com/android/settings/applications/appops/BackgroundCheckSummary.java b/src/com/android/settings/applications/appops/BackgroundCheckSummary.java
index 58f962a..4ed9002 100644
--- a/src/com/android/settings/applications/appops/BackgroundCheckSummary.java
+++ b/src/com/android/settings/applications/appops/BackgroundCheckSummary.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.appops;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.os.Bundle;
 import android.preference.PreferenceFrameLayout;
@@ -24,6 +23,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 
+import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentTransaction;
 
 import com.android.settings.R;
diff --git a/src/com/android/settings/applications/assist/ManageAssist.java b/src/com/android/settings/applications/assist/ManageAssist.java
index ad6c71e..28c7d96 100644
--- a/src/com/android/settings/applications/assist/ManageAssist.java
+++ b/src/com/android/settings/applications/assist/ManageAssist.java
@@ -21,7 +21,6 @@
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.gestures.AssistGestureSettingsPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -59,12 +58,6 @@
         return SettingsEnums.APPLICATIONS_MANAGE_ASSIST;
     }
 
-    @Override
-    public void onAttach(Context context) {
-        super.onAttach(context);
-        use(AssistGestureSettingsPreferenceController.class).setAssistOnly(true);
-    }
-
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
             Lifecycle lifecycle) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
diff --git a/src/com/android/settings/applications/assist/OWNERS b/src/com/android/settings/applications/assist/OWNERS
index 22e486d..12a7e20 100644
--- a/src/com/android/settings/applications/assist/OWNERS
+++ b/src/com/android/settings/applications/assist/OWNERS
@@ -1,9 +1,5 @@
 # Default reviewers for this and subdirectories.
-adamhe@google.com
-augale@google.com
-joannechung@google.com
-lpeter@google.com
-svetoslavganov@google.com
-tymtsai@google.com
+
+include platform/frameworks/base:/core/java/android/service/voice/OWNERS
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/applications/autofill/AutofillPickerActivity.java b/src/com/android/settings/applications/autofill/AutofillPickerActivity.java
index 93b9880..e6180da 100644
--- a/src/com/android/settings/applications/autofill/AutofillPickerActivity.java
+++ b/src/com/android/settings/applications/autofill/AutofillPickerActivity.java
@@ -18,10 +18,10 @@
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.applications.defaultapps.DefaultAutofillPicker;
+import com.android.settings.applications.credentials.DefaultCombinedPicker;
 
 /**
- * Standalone activity used to launch a {@link DefaultAutofillPicker} fragment from a
+ * Standalone activity used to launch a {@link DefaultCombinedPicker} fragment from a
  * {@link android.provider.Settings#ACTION_REQUEST_SET_AUTOFILL_SERVICE} intent.
  */
 public class AutofillPickerActivity extends SettingsActivity {
@@ -30,15 +30,15 @@
     protected void onCreate(Bundle savedInstanceState) {
         final Intent intent = getIntent();
         final String packageName = intent.getData().getSchemeSpecificPart();
-        intent.putExtra(EXTRA_SHOW_FRAGMENT, DefaultAutofillPicker.class.getName());
-        intent.putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.autofill_app);
-        intent.putExtra(DefaultAutofillPicker.EXTRA_PACKAGE_NAME, packageName);
+        intent.putExtra(EXTRA_SHOW_FRAGMENT, DefaultCombinedPicker.class.getName());
+        intent.putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.credman_picker_title);
+        intent.putExtra(DefaultCombinedPicker.EXTRA_PACKAGE_NAME, packageName);
         super.onCreate(savedInstanceState);
     }
 
     @Override
     protected boolean isValidFragment(String fragmentName) {
         return super.isValidFragment(fragmentName)
-                || DefaultAutofillPicker.class.getName().equals(fragmentName);
+                || DefaultCombinedPicker.class.getName().equals(fragmentName);
     }
 }
diff --git a/src/com/android/settings/applications/autofill/AutofillPickerTrampolineActivity.java b/src/com/android/settings/applications/autofill/AutofillPickerTrampolineActivity.java
index ee58bfe..fd17a93 100644
--- a/src/com/android/settings/applications/autofill/AutofillPickerTrampolineActivity.java
+++ b/src/com/android/settings/applications/autofill/AutofillPickerTrampolineActivity.java
@@ -18,11 +18,10 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.view.autofill.AutofillManager;
-
-import com.android.settings.applications.defaultapps.DefaultAutofillPicker;
+import com.android.settings.applications.credentials.DefaultCombinedPicker;
 
 /**
- * Standalone activity used to launch a {@link DefaultAutofillPicker} fragment from a
+ * Standalone activity used to launch a {@link DefaultCombinedPicker} fragment from a
  * {@link android.provider.Settings#ACTION_REQUEST_SET_AUTOFILL_SERVICE} intent.
  *
  * <p>It first check for cases that can fail fast, then forward to {@link AutofillPickerActivity}
diff --git a/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java b/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
index 03a551f..73fef1b 100644
--- a/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
+++ b/src/com/android/settings/applications/autofill/PasswordsPreferenceController.java
@@ -17,6 +17,7 @@
 package com.android.settings.applications.autofill;
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.AUTO_SYNC_PERSONAL_DATA;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.AUTO_SYNC_PRIVATE_DATA;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.AUTO_SYNC_WORK_DATA;
 import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
 import static android.service.autofill.AutofillService.EXTRA_RESULT;
@@ -122,6 +123,8 @@
                 AUTO_SYNC_PERSONAL_DATA, R.string.account_settings_menu_auto_sync_personal);
         replaceEnterpriseStringTitle(screen, "auto_sync_work_account_data",
                 AUTO_SYNC_WORK_DATA, R.string.account_settings_menu_auto_sync_work);
+        replaceEnterpriseStringTitle(screen, "auto_sync_private_account_data",
+                AUTO_SYNC_PRIVATE_DATA, R.string.account_settings_menu_auto_sync_private);
     }
 
     private void addPasswordPreferences(
diff --git a/src/com/android/settings/applications/credentials/CombinedProviderInfo.java b/src/com/android/settings/applications/credentials/CombinedProviderInfo.java
index 074fb7b..4f27870 100644
--- a/src/com/android/settings/applications/credentials/CombinedProviderInfo.java
+++ b/src/com/android/settings/applications/credentials/CombinedProviderInfo.java
@@ -16,17 +16,22 @@
 
 package com.android.settings.applications.credentials;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
+import android.content.ActivityNotFoundException;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ServiceInfo;
 import android.credentials.CredentialProviderInfo;
 import android.graphics.drawable.Drawable;
+import android.os.UserHandle;
 import android.service.autofill.AutofillServiceInfo;
 import android.text.TextUtils;
 import android.util.IconDrawableFactory;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -41,6 +46,11 @@
  * logic for each row in settings.
  */
 public final class CombinedProviderInfo {
+    private static final String TAG = "CombinedProviderInfo";
+    private static final String SETTINGS_ACTIVITY_INTENT_ACTION = "android.intent.action.MAIN";
+    private static final String SETTINGS_ACTIVITY_INTENT_CATEGORY =
+            "android.intent.category.DEFAULT";
+
     private final List<CredentialProviderInfo> mCredentialProviderInfos;
     private final @Nullable AutofillServiceInfo mAutofillServiceInfo;
     private final boolean mIsDefaultAutofillProvider;
@@ -82,6 +92,37 @@
         return mAutofillServiceInfo.getServiceInfo().applicationInfo;
     }
 
+    /** Returns the package name. */
+    public @Nullable String getPackageName() {
+        ApplicationInfo ai = getApplicationInfo();
+        if (ai != null) {
+            return ai.packageName;
+        }
+
+        return null;
+    }
+
+    /** Returns the settings activity. */
+    public @Nullable String getSettingsActivity() {
+        // This logic is not used by the top entry but rather what activity should
+        // be launched from the settings screen.
+        for (CredentialProviderInfo cpi : mCredentialProviderInfos) {
+            final CharSequence settingsActivity = cpi.getSettingsActivity();
+            if (!TextUtils.isEmpty(settingsActivity)) {
+                return String.valueOf(settingsActivity);
+            }
+        }
+
+        if (mAutofillServiceInfo != null) {
+            final String settingsActivity = mAutofillServiceInfo.getSettingsActivity();
+            if (!TextUtils.isEmpty(settingsActivity)) {
+                return settingsActivity;
+            }
+        }
+
+        return null;
+    }
+
     /** Returns the app icon. */
     @Nullable
     public Drawable getAppIcon(@NonNull Context context, int userId) {
@@ -284,4 +325,48 @@
 
         return cmpi;
     }
+
+    public static @Nullable Intent createSettingsActivityIntent(
+            @Nullable CharSequence packageName,
+            @Nullable CharSequence settingsActivity) {
+        if (TextUtils.isEmpty(packageName) || TextUtils.isEmpty(settingsActivity)) {
+            return null;
+        }
+
+        ComponentName cn =
+                new ComponentName(String.valueOf(packageName), String.valueOf(settingsActivity));
+        if (cn == null) {
+            Log.e(
+                    TAG,
+                    "Failed to deserialize settingsActivity attribute, we got: "
+                            + String.valueOf(packageName)
+                            + " and "
+                            + String.valueOf(settingsActivity));
+            return null;
+        }
+
+        Intent intent = new Intent(SETTINGS_ACTIVITY_INTENT_ACTION);
+        intent.addCategory(SETTINGS_ACTIVITY_INTENT_CATEGORY);
+        intent.setComponent(cn);
+        intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+        return intent;
+    }
+
+    /** Launches the settings activity intent. */
+    public static void launchSettingsActivityIntent(
+            @NonNull Context context,
+            @Nullable CharSequence packageName,
+            @Nullable CharSequence settingsActivity,
+            int userId) {
+        Intent settingsIntent = createSettingsActivityIntent(packageName, settingsActivity);
+        if (settingsIntent == null) {
+            return;
+        }
+
+        try {
+            context.startActivityAsUser(settingsIntent, UserHandle.of(userId));
+        } catch (ActivityNotFoundException e) {
+            Log.e(TAG, "Failed to open settings activity", e);
+        }
+    }
 }
diff --git a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
index 6747b36..e16219b 100644
--- a/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/CredentialManagerPreferenceController.java
@@ -18,8 +18,6 @@
 
 import static androidx.lifecycle.Lifecycle.Event.ON_CREATE;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.Dialog;
 import android.content.ComponentName;
@@ -34,6 +32,7 @@
 import android.credentials.CredentialManager;
 import android.credentials.CredentialProviderInfo;
 import android.credentials.SetEnabledProvidersException;
+import android.credentials.flags.Flags;
 import android.database.ContentObserver;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
@@ -45,9 +44,13 @@
 import android.provider.Settings;
 import android.service.autofill.AutofillServiceInfo;
 import android.text.TextUtils;
-import android.util.IconDrawableFactory;
 import android.util.Log;
+import android.util.Pair;
+import android.view.View;
+import android.widget.CompoundButton;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.core.content.ContextCompat;
 import androidx.fragment.app.DialogFragment;
@@ -58,7 +61,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.PreferenceViewHolder;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.content.PackageMonitor;
@@ -67,12 +70,14 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.TwoTargetPreference;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
+import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.Executor;
 
@@ -95,28 +100,28 @@
     private static final int MAX_SELECTABLE_PROVIDERS = 5;
 
     private final PackageManager mPm;
-    private final IconDrawableFactory mIconFactory;
     private final List<CredentialProviderInfo> mServices;
     private final Set<String> mEnabledPackageNames;
     private final @Nullable CredentialManager mCredentialManager;
     private final Executor mExecutor;
-    private final Map<String, SwitchPreference> mPrefs = new HashMap<>(); // key is package name
+    private final Map<String, CombiPreference> mPrefs = new HashMap<>(); // key is package name
     private final List<ServiceInfo> mPendingServiceInfos = new ArrayList<>();
     private final Handler mHandler = new Handler();
     private final SettingContentObserver mSettingsContentObserver;
+    private final ImageUtils.IconResizer mIconResizer;
 
     private @Nullable FragmentManager mFragmentManager = null;
     private @Nullable Delegate mDelegate = null;
     private @Nullable String mFlagOverrideForTest = null;
     private @Nullable PreferenceScreen mPreferenceScreen = null;
 
-    private boolean mVisibility = false;
+    private Optional<Boolean> mSimulateHiddenForTests = Optional.empty();
     private boolean mIsWorkProfile = false;
+    private boolean mSimulateConnectedForTests = false;
 
     public CredentialManagerPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mPm = context.getPackageManager();
-        mIconFactory = IconDrawableFactory.newInstance(mContext);
         mServices = new ArrayList<>();
         mEnabledPackageNames = new HashSet<>();
         mExecutor = ContextCompat.getMainExecutor(mContext);
@@ -126,6 +131,13 @@
                 new SettingContentObserver(mHandler, context.getContentResolver());
         mSettingsContentObserver.register();
         mSettingsPackageMonitor.register(context, context.getMainLooper(), false);
+        mIconResizer = getResizer(context);
+    }
+
+    private static ImageUtils.IconResizer getResizer(Context context) {
+        final Resources resources = context.getResources();
+        int size = (int) resources.getDimension(android.R.dimen.app_icon_size);
+        return new ImageUtils.IconResizer(size, size, resources.getDisplayMetrics());
     }
 
     private @Nullable CredentialManager getCredentialManager(Context context, boolean isTest) {
@@ -144,24 +156,40 @@
 
     @Override
     public int getAvailabilityStatus() {
-        if (mCredentialManager == null) {
+        if (!isConnected()) {
             return UNSUPPORTED_ON_DEVICE;
         }
 
-        if (!mVisibility) {
+        // If there is no top provider or any providers in the list then
+        // we should hide this pref.
+        if (isHiddenDueToNoProviderSet()) {
             return CONDITIONALLY_UNAVAILABLE;
         }
 
-        if (mServices.isEmpty()) {
+        if (!hasNonPrimaryServices()) {
             return CONDITIONALLY_UNAVAILABLE;
         }
 
+        // If we are in work profile mode and there is no user then we
+        // should hide for now. We use CONDITIONALLY_UNAVAILABLE
+        // because it is possible for the user to be set later.
+        if (mIsWorkProfile) {
+            UserHandle workProfile = getWorkProfileUserHandle();
+            if (workProfile == null) {
+                return CONDITIONALLY_UNAVAILABLE;
+            }
+        }
+
         return AVAILABLE;
     }
 
     @VisibleForTesting
     public boolean isConnected() {
-        return mCredentialManager != null;
+        return mCredentialManager != null || mSimulateConnectedForTests;
+    }
+
+    public void setSimulateConnectedForTests(boolean simulateConnectedForTests) {
+        mSimulateConnectedForTests = simulateConnectedForTests;
     }
 
     /**
@@ -183,12 +211,17 @@
         fragment.getSettingsLifecycle().addObserver(this);
         mFragmentManager = fragmentManager;
         mIsWorkProfile = isWorkProfile;
+
         setDelegate(delegate);
         verifyReceivedIntent(launchIntent);
 
         // Recreate the content observers because the user might have changed.
         mSettingsContentObserver.unregister();
         mSettingsContentObserver.register();
+
+        // When we set the mIsWorkProfile above we should try and force a refresh
+        // so we can get the correct data.
+        delegate.forceDelegateRefresh();
     }
 
     /**
@@ -275,7 +308,7 @@
 
         NewProviderConfirmationDialogFragment fragment =
                 newNewProviderConfirmationDialogFragment(
-                        serviceInfo.packageName, appName, /* setActivityResult= */ true);
+                        serviceInfo.packageName, appName, /* shouldSetActivityResult= */ true);
         if (fragment == null || mFragmentManager == null) {
             return;
         }
@@ -299,8 +332,44 @@
                 null);
     }
 
+    private Set<ComponentName> buildComponentNameSet(
+            List<CredentialProviderInfo> providers, boolean removeNonPrimary) {
+        Set<ComponentName> output = new HashSet<>();
+
+        for (CredentialProviderInfo cpi : providers) {
+            if (removeNonPrimary && !cpi.isPrimary()) {
+                continue;
+            }
+
+            output.add(cpi.getComponentName());
+        }
+
+        return output;
+    }
+
     private void updateFromExternal() {
-        update();
+        if (mCredentialManager == null) {
+            return;
+        }
+
+        // Get the list of new providers and components.
+        List<CredentialProviderInfo> newProviders =
+                mCredentialManager.getCredentialProviderServices(
+                        getUser(), CredentialManager.PROVIDER_FILTER_USER_PROVIDERS_ONLY);
+        Set<ComponentName> newComponents = buildComponentNameSet(newProviders, false);
+        Set<ComponentName> newPrimaryComponents = buildComponentNameSet(newProviders, true);
+
+        // Get the list of old components
+        Set<ComponentName> oldComponents = buildComponentNameSet(mServices, false);
+        Set<ComponentName> oldPrimaryComponents = buildComponentNameSet(mServices, true);
+
+        // If the sets are equal then don't update the UI.
+        if (oldComponents.equals(newComponents)
+                && oldPrimaryComponents.equals(newPrimaryComponents)) {
+            return;
+        }
+
+        setAvailableServices(newProviders, null);
 
         if (mPreferenceScreen != null) {
             displayPreference(mPreferenceScreen);
@@ -311,18 +380,33 @@
         }
     }
 
-    private void setVisibility(boolean newVisibility) {
-        if (newVisibility == mVisibility) {
-            return;
-        }
-
-        mVisibility = newVisibility;
+    @VisibleForTesting
+    public void forceDelegateRefresh() {
         if (mDelegate != null) {
             mDelegate.forceDelegateRefresh();
         }
     }
 
     @VisibleForTesting
+    public void setSimulateHiddenForTests(Optional<Boolean> simulateHiddenForTests) {
+        mSimulateHiddenForTests = simulateHiddenForTests;
+    }
+
+    @VisibleForTesting
+    public boolean isHiddenDueToNoProviderSet() {
+        return isHiddenDueToNoProviderSet(getProviders());
+    }
+
+    private boolean isHiddenDueToNoProviderSet(
+            Pair<List<CombinedProviderInfo>, CombinedProviderInfo> providerPair) {
+        if (mSimulateHiddenForTests.isPresent()) {
+            return mSimulateHiddenForTests.get();
+        }
+
+        return (providerPair.first.size() == 0 || providerPair.second == null);
+    }
+
+    @VisibleForTesting
     void setAvailableServices(
             List<CredentialProviderInfo> availableServices, String flagOverrideForTest) {
         mFlagOverrideForTest = flagOverrideForTest;
@@ -344,6 +428,17 @@
         }
     }
 
+    @VisibleForTesting
+    public boolean hasNonPrimaryServices() {
+        for (CredentialProviderInfo availableService : mServices) {
+            if (!availableService.isPrimary()) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
@@ -387,10 +482,11 @@
         return preference;
     }
 
-    /** Aggregates the list of services and builds a list of UI prefs to show. */
-    @VisibleForTesting
-    public Map<String, SwitchPreference> buildPreferenceList(
-            Context context, PreferenceGroup group) {
+    /**
+     * Returns a pair that contains a list of the providers in the first position and the top
+     * provider in the second position.
+     */
+    private Pair<List<CombinedProviderInfo>, CombinedProviderInfo> getProviders() {
         // Get the selected autofill provider. If it is the placeholder then replace it with an
         // empty string.
         String selectedAutofillProvider =
@@ -403,24 +499,35 @@
         // Get the list of combined providers.
         List<CombinedProviderInfo> providers =
                 CombinedProviderInfo.buildMergedList(
-                        AutofillServiceInfo.getAvailableServices(context, getUser()),
+                        AutofillServiceInfo.getAvailableServices(mContext, getUser()),
                         mServices,
                         selectedAutofillProvider);
+        return new Pair<>(providers, CombinedProviderInfo.getTopProvider(providers));
+    }
 
-        // Get the provider that is displayed at the top. If there is none then hide
-        // everything.
-        CombinedProviderInfo topProvider = CombinedProviderInfo.getTopProvider(providers);
-        if (topProvider == null) {
-            setVisibility(false);
+    /** Aggregates the list of services and builds a list of UI prefs to show. */
+    @VisibleForTesting
+    public @NonNull Map<String, CombiPreference> buildPreferenceList(
+            @NonNull Context context, @NonNull PreferenceGroup group) {
+        // Get the providers and extract the values.
+        Pair<List<CombinedProviderInfo>, CombinedProviderInfo> providerPair = getProviders();
+        CombinedProviderInfo topProvider = providerPair.second;
+        List<CombinedProviderInfo> providers = providerPair.first;
+
+        // If the provider is set to "none" or there are no providers then we should not
+        // return any providers.
+        if (isHiddenDueToNoProviderSet(providerPair)) {
+            forceDelegateRefresh();
             return new HashMap<>();
         }
 
-        Map<String, SwitchPreference> output = new HashMap<>();
+        Map<String, CombiPreference> output = new HashMap<>();
         for (CombinedProviderInfo combinedInfo : providers) {
             final String packageName = combinedInfo.getApplicationInfo().packageName;
 
             // If this provider is displayed at the top then we should not show it.
             if (topProvider != null
+                    && topProvider.getApplicationInfo() != null
                     && topProvider.getApplicationInfo().packageName.equals(packageName)) {
                 continue;
             }
@@ -434,29 +541,35 @@
             CharSequence title = combinedInfo.getAppName(context);
 
             // Build the pref and add it to the output & group.
-            SwitchPreference pref =
+            CombiPreference pref =
                     addProviderPreference(
-                            context, title, icon, packageName, combinedInfo.getSettingsSubtitle());
+                            context,
+                            title == null ? "" : title,
+                            icon,
+                            packageName,
+                            combinedInfo.getSettingsSubtitle(),
+                            combinedInfo.getSettingsActivity());
             output.put(packageName, pref);
             group.addPreference(pref);
         }
 
         // Set the visibility if we have services.
-        setVisibility(!output.isEmpty());
+        forceDelegateRefresh();
 
         return output;
     }
 
     /** Creates a preference object based on the provider info. */
     @VisibleForTesting
-    public SwitchPreference createPreference(Context context, CredentialProviderInfo service) {
+    public CombiPreference createPreference(Context context, CredentialProviderInfo service) {
         CharSequence label = service.getLabel(context);
         return addProviderPreference(
                 context,
                 label == null ? "" : label,
                 service.getServiceIcon(mContext),
                 service.getServiceInfo().packageName,
-                service.getSettingsSubtitle());
+                service.getSettingsSubtitle(),
+                service.getSettingsActivity());
     }
 
     /**
@@ -466,7 +579,7 @@
      */
     @VisibleForTesting
     public boolean togglePackageNameEnabled(String packageName) {
-        if (mEnabledPackageNames.size() >= MAX_SELECTABLE_PROVIDERS) {
+        if (hasProviderLimitBeenReached()) {
             return false;
         } else {
             mEnabledPackageNames.add(packageName);
@@ -510,54 +623,87 @@
         return enabledServices;
     }
 
-    private SwitchPreference addProviderPreference(
+    @VisibleForTesting
+    public @NonNull Drawable processIcon(@Nullable Drawable icon) {
+        // If we didn't get an icon then we should use the default app icon.
+        if (icon == null) {
+            icon = mPm.getDefaultActivityIcon();
+        }
+
+        Drawable providerIcon = Utils.getSafeIcon(icon);
+        return mIconResizer.createIconThumbnail(providerIcon);
+    }
+
+    private boolean hasProviderLimitBeenReached() {
+        return hasProviderLimitBeenReached(mEnabledPackageNames.size());
+    }
+
+    @VisibleForTesting
+    public static boolean hasProviderLimitBeenReached(int enabledAdditionalProviderCount) {
+        // If the number of package names has reached the maximum limit then
+        // we should stop any new packages from being added. We will also
+        // reserve one place for the primary provider so if the max limit is
+        // five providers this will be four additional plus the primary.
+        return (enabledAdditionalProviderCount + 1) >= MAX_SELECTABLE_PROVIDERS;
+    }
+
+    private CombiPreference addProviderPreference(
             @NonNull Context prefContext,
             @NonNull CharSequence title,
             @Nullable Drawable icon,
             @NonNull String packageName,
-            @Nullable CharSequence subtitle) {
-        final SwitchPreference pref = new SwitchPreference(prefContext);
+            @Nullable CharSequence subtitle,
+            @Nullable CharSequence settingsActivity) {
+        final CombiPreference pref =
+                new CombiPreference(prefContext, mEnabledPackageNames.contains(packageName));
         pref.setTitle(title);
-        pref.setChecked(mEnabledPackageNames.contains(packageName));
+        pref.setLayoutResource(R.layout.preference_icon_credman);
 
-        if (icon != null) {
-            pref.setIcon(Utils.getSafeIcon(icon));
+        if (Flags.newSettingsUi()) {
+            pref.setIcon(processIcon(icon));
+        } else if (icon != null) {
+            pref.setIcon(icon);
         }
 
         if (subtitle != null) {
             pref.setSummary(subtitle);
         }
 
-        pref.setOnPreferenceClickListener(
-                p -> {
-                    boolean isChecked = pref.isChecked();
+        pref.setPreferenceListener(
+                new CombiPreference.OnCombiPreferenceClickListener() {
+                    @Override
+                    public boolean onCheckChanged(CombiPreference p, boolean isChecked) {
+                        if (isChecked) {
+                            if (hasProviderLimitBeenReached()) {
+                                // Show the error if too many enabled.
+                                final DialogFragment fragment = newErrorDialogFragment();
 
-                    if (isChecked) {
-                        if (mEnabledPackageNames.size() >= MAX_SELECTABLE_PROVIDERS) {
-                            // Show the error if too many enabled.
-                            pref.setChecked(false);
-                            final DialogFragment fragment = newErrorDialogFragment();
+                                if (fragment == null || mFragmentManager == null) {
+                                    return false;
+                                }
 
-                            if (fragment == null || mFragmentManager == null) {
-                                return true;
+                                fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
+                                return false;
                             }
 
-                            fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
-                            return true;
+                            togglePackageNameEnabled(packageName);
+
+                            // Enable all prefs.
+                            if (mPrefs.containsKey(packageName)) {
+                                mPrefs.get(packageName).setChecked(true);
+                            }
+                        } else {
+                            togglePackageNameDisabled(packageName);
                         }
 
-                        togglePackageNameEnabled(packageName);
-
-                        // Enable all prefs.
-                        if (mPrefs.containsKey(packageName)) {
-                            mPrefs.get(packageName).setChecked(true);
-                        }
                         return true;
-                    } else {
-                        togglePackageNameDisabled(packageName);
                     }
 
-                    return true;
+                    @Override
+                    public void onLeftSideClicked() {
+                        CombinedProviderInfo.launchSettingsActivityIntent(
+                                mContext, packageName, settingsActivity, getUser());
+                    }
                 });
 
         return pref;
@@ -605,13 +751,13 @@
             newNewProviderConfirmationDialogFragment(
                     @NonNull String packageName,
                     @NonNull CharSequence appName,
-                    boolean setActivityResult) {
+                    boolean shouldSetActivityResult) {
         DialogHost host =
                 new DialogHost() {
                     @Override
                     public void onDialogClick(int whichButton) {
                         completeEnableProviderDialogBox(
-                                whichButton, packageName, setActivityResult);
+                                whichButton, packageName, shouldSetActivityResult);
                     }
 
                     @Override
@@ -622,8 +768,8 @@
     }
 
     @VisibleForTesting
-    void completeEnableProviderDialogBox(
-            int whichButton, String packageName, boolean setActivityResult) {
+    int completeEnableProviderDialogBox(
+            int whichButton, String packageName, boolean shouldSetActivityResult) {
         int activityResult = -1;
         if (whichButton == DialogInterface.BUTTON_POSITIVE) {
             if (togglePackageNameEnabled(packageName)) {
@@ -640,7 +786,7 @@
                 final DialogFragment fragment = newErrorDialogFragment();
 
                 if (fragment == null || mFragmentManager == null) {
-                    return;
+                    return activityResult;
                 }
 
                 fragment.show(mFragmentManager, ErrorDialogFragment.TAG);
@@ -652,9 +798,11 @@
 
         // If the dialog is being shown because of the intent we should
         // return a result.
-        if (activityResult == -1 || !setActivityResult) {
+        if (activityResult == -1 || !shouldSetActivityResult) {
             setActivityResult(activityResult);
         }
+
+        return activityResult;
     }
 
     private @Nullable ErrorDialogFragment newErrorDialogFragment() {
@@ -672,12 +820,22 @@
 
     protected int getUser() {
         if (mIsWorkProfile) {
-            UserHandle workProfile = Utils.getManagedProfile(UserManager.get(mContext));
-            return workProfile.getIdentifier();
+            UserHandle workProfile = getWorkProfileUserHandle();
+            if (workProfile != null) {
+                return workProfile.getIdentifier();
+            }
         }
         return UserHandle.myUserId();
     }
 
+    private @Nullable UserHandle getWorkProfileUserHandle() {
+        if (mIsWorkProfile) {
+            return Utils.getManagedProfile(UserManager.get(mContext));
+        }
+
+        return null;
+    }
+
     /** Called when the dialog button is clicked. */
     private static interface DialogHost {
         void onDialogClick(int whichButton);
@@ -749,8 +907,18 @@
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
             return new AlertDialog.Builder(getActivity())
-                    .setTitle(getContext().getString(R.string.credman_error_message_title))
-                    .setMessage(getContext().getString(R.string.credman_error_message))
+                    .setTitle(
+                            getContext()
+                                    .getString(
+                                            Flags.newSettingsUi()
+                                                    ? R.string.credman_limit_error_msg_title
+                                                    : R.string.credman_error_message_title))
+                    .setMessage(
+                            getContext()
+                                    .getString(
+                                            Flags.newSettingsUi()
+                                                    ? R.string.credman_limit_error_msg
+                                                    : R.string.credman_error_message))
                     .setPositiveButton(android.R.string.ok, this)
                     .create();
         }
@@ -836,4 +1004,101 @@
             updateFromExternal();
         }
     }
+
+    /** CombiPreference is a combination of TwoTargetPreference and SwitchPreference. */
+    public static class CombiPreference extends TwoTargetPreference {
+
+        private final Listener mListener = new Listener();
+
+        private class Listener implements View.OnClickListener {
+            @Override
+            public void onClick(View buttonView) {
+                // Forward the event.
+                if (mSwitch != null && mOnClickListener != null) {
+                    if (!mOnClickListener.onCheckChanged(CombiPreference.this, mSwitch.isChecked())) {
+                      // The update was not successful since there were too
+                      // many enabled providers to manually reset any state.
+                      mChecked = false;
+                      mSwitch.setChecked(false);
+                    }
+                }
+            }
+        }
+
+        // Stores a reference to the switch view.
+        private @Nullable CompoundButton mSwitch;
+
+        // Switch text for on and off states
+        private @NonNull boolean mChecked = false;
+        private @Nullable OnCombiPreferenceClickListener mOnClickListener = null;
+
+        public interface OnCombiPreferenceClickListener {
+            /** Called when the check is updated */
+            boolean onCheckChanged(CombiPreference p, boolean isChecked);
+
+            /** Called when the left side is clicked. */
+            void onLeftSideClicked();
+        }
+
+        public CombiPreference(Context context, boolean initialValue) {
+            super(context);
+            mChecked = initialValue;
+        }
+
+        /** Set the new checked value */
+        public void setChecked(boolean isChecked) {
+            // Don't update if we don't need too.
+            if (mChecked == isChecked) {
+                return;
+            }
+
+            mChecked = isChecked;
+
+            if (mSwitch != null) {
+                mSwitch.setChecked(isChecked);
+            }
+        }
+
+        @VisibleForTesting
+        public boolean isChecked() {
+            return mChecked;
+        }
+
+        public void setPreferenceListener(OnCombiPreferenceClickListener onClickListener) {
+            mOnClickListener = onClickListener;
+        }
+
+        @Override
+        protected int getSecondTargetResId() {
+            return com.android.settingslib.R.layout.preference_widget_primary_switch;
+        }
+
+        @Override
+        public void onBindViewHolder(PreferenceViewHolder view) {
+            super.onBindViewHolder(view);
+
+            // Setup the switch.
+            View checkableView =
+                    view.itemView.findViewById(com.android.settingslib.R.id.switchWidget);
+            if (checkableView instanceof CompoundButton switchView) {
+                switchView.setChecked(mChecked);
+                switchView.setOnClickListener(mListener);
+
+                // Store this for later.
+                mSwitch = switchView;
+            }
+
+            super.setOnPreferenceClickListener(
+                    new Preference.OnPreferenceClickListener() {
+                        @Override
+                        public boolean onPreferenceClick(Preference preference) {
+                            if (mOnClickListener != null) {
+                                mOnClickListener.onLeftSideClicked();
+                            }
+
+                            return true;
+                        }
+                    });
+        }
+    }
 }
diff --git a/src/com/android/settings/applications/credentials/CredentialsPickerActivity.java b/src/com/android/settings/applications/credentials/CredentialsPickerActivity.java
new file mode 100644
index 0000000..479a184
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/CredentialsPickerActivity.java
@@ -0,0 +1,68 @@
+/*
+ * 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.applications.credentials;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Slog;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.SettingsActivity;
+
+/**
+ * Standalone activity used to launch a {@link DefaultCombinedPicker} fragment if the user is a
+ * normal user, a {@link DefaultCombinedPickerWork} fragment if the user is a work profile or {@link
+ * DefaultCombinedPickerPrivate} fragment if the user is a private profile.
+ */
+public class CredentialsPickerActivity extends SettingsActivity {
+    private static final String TAG = "CredentialsPickerActivity";
+
+    /** Injects the fragment name into the intent so the correct fragment is opened. */
+    @VisibleForTesting
+    public static void injectFragmentIntoIntent(Context context, Intent intent) {
+        final int userId = UserHandle.myUserId();
+        final UserManager userManager = UserManager.get(context);
+
+        if (DefaultCombinedPickerWork.isUserHandledByFragment(userManager, userId)) {
+            Slog.d(TAG, "Creating picker fragment using work profile");
+            intent.putExtra(EXTRA_SHOW_FRAGMENT, DefaultCombinedPickerWork.class.getName());
+        } else if (DefaultCombinedPickerPrivate.isUserHandledByFragment(userManager)) {
+            Slog.d(TAG, "Creating picker fragment using private profile");
+            intent.putExtra(EXTRA_SHOW_FRAGMENT, DefaultCombinedPickerPrivate.class.getName());
+        } else {
+            Slog.d(TAG, "Creating picker fragment using normal profile");
+            intent.putExtra(EXTRA_SHOW_FRAGMENT, DefaultCombinedPicker.class.getName());
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        injectFragmentIntoIntent(this, getIntent());
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected boolean isValidFragment(String fragmentName) {
+        return super.isValidFragment(fragmentName)
+                || DefaultCombinedPicker.class.getName().equals(fragmentName)
+                || DefaultCombinedPickerWork.class.getName().equals(fragmentName)
+                || DefaultCombinedPickerPrivate.class.getName().equals(fragmentName);
+    }
+}
diff --git a/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java b/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java
index dcf8fa8..d6f5289 100644
--- a/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPicker.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.credentials;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -26,8 +25,11 @@
 import android.credentials.CredentialManager;
 import android.credentials.CredentialProviderInfo;
 import android.credentials.SetEnabledProvidersException;
+import android.credentials.flags.Flags;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
 import android.os.OutcomeReceiver;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -36,6 +38,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.core.content.ContextCompat;
 import androidx.preference.Preference;
 
@@ -43,7 +46,6 @@
 import com.android.settings.R;
 import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
 import com.android.settingslib.applications.DefaultAppInfo;
-import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.widget.CandidateInfo;
 
 import java.util.ArrayList;
@@ -65,6 +67,8 @@
     private CredentialManager mCredentialManager;
     private int mIntentSenderUserId = -1;
 
+    private static final Handler sMainHandler = new Handler(Looper.getMainLooper());
+
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -110,6 +114,18 @@
             setCancelListener(target.mCancelListener);
             super.onCreate(savedInstanceState);
         }
+
+        @Override
+        protected CharSequence getPositiveButtonText() {
+            final Bundle bundle = getArguments();
+            if (TextUtils.isEmpty(bundle.getString(EXTRA_KEY))) {
+                return getContext().getString(
+                    R.string.credman_confirmation_turn_off_positive_button);
+            }
+
+            return getContext().getString(
+                R.string.credman_confirmation_change_provider_positive_button);
+        }
     }
 
     @Override
@@ -132,17 +148,44 @@
             new PackageMonitor() {
                 @Override
                 public void onPackageAdded(String packageName, int uid) {
-                    ThreadUtils.postOnMainThread(() -> update());
+                    sMainHandler.post(
+                            () -> {
+                                // See b/296164461 for context
+                                if (getContext() == null) {
+                                    Log.w(TAG, "context is null");
+                                    return;
+                                }
+
+                                update();
+                            });
                 }
 
                 @Override
                 public void onPackageModified(String packageName) {
-                    ThreadUtils.postOnMainThread(() -> update());
+                    sMainHandler.post(
+                            () -> {
+                                // See b/296164461 for context
+                                if (getContext() == null) {
+                                    Log.w(TAG, "context is null");
+                                    return;
+                                }
+
+                                update();
+                            });
                 }
 
                 @Override
                 public void onPackageRemoved(String packageName, int uid) {
-                    ThreadUtils.postOnMainThread(() -> update());
+                    sMainHandler.post(
+                            () -> {
+                                // See b/296164461 for context
+                                if (getContext() == null) {
+                                    Log.w(TAG, "context is null");
+                                    return;
+                                }
+
+                                update();
+                            });
                 }
             };
 
@@ -278,14 +321,18 @@
             final String message =
                     getContext()
                             .getString(
-                                    R.string.credman_confirmation_message);
+                                    Flags.newSettingsUi()
+                                            ? R.string.credman_confirmation_message_new_ui
+                                            : R.string.credman_confirmation_message);
             return Html.fromHtml(message);
         }
         final CharSequence appName = appInfo.loadLabel();
         final String message =
                 getContext()
                         .getString(
-                                R.string.credman_autofill_confirmation_message,
+                                Flags.newSettingsUi()
+                                        ? R.string.credman_autofill_confirmation_message_new_ui
+                                        : R.string.credman_autofill_confirmation_message,
                                 Html.escapeHtml(appName));
         return Html.fromHtml(message);
     }
diff --git a/src/com/android/settings/applications/credentials/DefaultCombinedPickerPrivate.java b/src/com/android/settings/applications/credentials/DefaultCombinedPickerPrivate.java
new file mode 100644
index 0000000..8d8af0e
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPickerPrivate.java
@@ -0,0 +1,45 @@
+/*
+ * 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.applications.credentials;
+
+import android.os.UserManager;
+import android.util.Slog;
+
+import com.android.settings.Utils;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
+
+public class DefaultCombinedPickerPrivate extends DefaultCombinedPicker {
+    private static final String TAG = "DefaultCombinedPickerPrivate";
+
+    @Override
+    protected int getUser() {
+        UserManager userManager = getContext().getSystemService(UserManager.class);
+        return Utils.getCurrentUserIdOfType(userManager, ProfileType.PRIVATE);
+    }
+
+    /** Returns whether the user is handled by this fragment. */
+    public static boolean isUserHandledByFragment(UserManager userManager) {
+        try {
+            // If there is no private profile then this will throw an exception.
+            Utils.getCurrentUserIdOfType(userManager, ProfileType.PRIVATE);
+            return true;
+        } catch (IllegalStateException e) {
+            Slog.e(TAG, "Failed to get private profile user id", e);
+            return false;
+        }
+    }
+}
diff --git a/src/com/android/settings/applications/credentials/DefaultCombinedPickerWork.java b/src/com/android/settings/applications/credentials/DefaultCombinedPickerWork.java
index 9808502..945d6b8 100644
--- a/src/com/android/settings/applications/credentials/DefaultCombinedPickerWork.java
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPickerWork.java
@@ -19,13 +19,16 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 
-import com.android.settings.Utils;
-
 public class DefaultCombinedPickerWork extends DefaultCombinedPicker {
+    private static final String TAG = "DefaultCombinedPickerWork";
 
     @Override
     protected int getUser() {
-        UserHandle workProfile = Utils.getManagedProfile(UserManager.get(getContext()));
-        return workProfile.getIdentifier();
+        return UserHandle.myUserId();
+    }
+
+    /** Returns whether the user is handled by this fragment. */
+    public static boolean isUserHandledByFragment(UserManager userManager, int userId) {
+        return userManager.isManagedProfile(userId);
     }
 }
diff --git a/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java b/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java
index 59c33b2..032402f 100644
--- a/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceController.java
@@ -16,24 +16,28 @@
 
 package com.android.settings.applications.credentials;
 
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.content.pm.ServiceInfo;
 import android.credentials.CredentialManager;
 import android.credentials.CredentialProviderInfo;
+import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.service.autofill.AutofillService;
 import android.service.autofill.AutofillServiceInfo;
 import android.text.TextUtils;
-import android.util.Log;
 import android.view.autofill.AutofillManager;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.Utils;
 import com.android.settings.applications.defaultapps.DefaultAppPreferenceController;
 import com.android.settingslib.applications.DefaultAppInfo;
+import com.android.settingslib.widget.TwoTargetPreference;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -73,38 +77,83 @@
 
     @Override
     protected Intent getSettingIntent(DefaultAppInfo info) {
-        if (info == null) {
-            return null;
+        // Despite this method being called getSettingIntent this intent actually
+        // opens the primary picker. This is so that we can swap the cog and the left
+        // hand side presses to align the UX.
+        if (PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            // We need to return an empty intent here since the class we inherit
+            // from will throw an NPE if we return null and we don't want it to
+            // open anything since we added the buttons.
+            return new Intent();
         }
-        final AutofillSettingIntentProvider intentProvider =
-                new AutofillSettingIntentProvider(mContext, getUser(), info.getKey());
-        return intentProvider.getIntent();
+        return createIntentToOpenPicker();
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        final CombinedProviderInfo topProvider = getTopProvider();
+        if (topProvider != null && mContext != null) {
+            updatePreferenceForProvider(
+                    preference,
+                    topProvider.getAppName(mContext),
+                    topProvider.getSettingsSubtitle(),
+                    topProvider.getAppIcon(mContext, getUser()),
+                    topProvider.getPackageName(),
+                    topProvider.getSettingsActivity());
+        } else {
+            updatePreferenceForProvider(preference, null, null, null, null, null);
+        }
+    }
+
+    @VisibleForTesting
+    public void updatePreferenceForProvider(
+            Preference preference,
+            @Nullable CharSequence appName,
+            @Nullable String appSubtitle,
+            @Nullable Drawable appIcon,
+            @Nullable CharSequence packageName,
+            @Nullable CharSequence settingsActivity) {
+        if (appName == null) {
+            preference.setTitle(R.string.credman_app_list_preference_none);
+        } else {
+            preference.setTitle(appName);
+        }
+
+        if (appIcon == null) {
+            preference.setIcon(null);
+        } else {
+            preference.setIcon(Utils.getSafeIcon(appIcon));
+        }
+
+        preference.setSummary(appSubtitle);
+
+        if (preference instanceof PrimaryProviderPreference) {
+            PrimaryProviderPreference primaryPref = (PrimaryProviderPreference) preference;
+            primaryPref.setIconSize(TwoTargetPreference.ICON_SIZE_MEDIUM);
+            primaryPref.setDelegate(
+                    new PrimaryProviderPreference.Delegate() {
+                        public void onOpenButtonClicked() {
+                            CombinedProviderInfo.launchSettingsActivityIntent(
+                                    mContext, packageName, settingsActivity, getUser());
+                        }
+
+                        public void onChangeButtonClicked() {
+                            startActivity(createIntentToOpenPicker());
+                        }
+                    });
+
+            // Hide the open button if there is no defined settings activity.
+            primaryPref.setOpenButtonVisible(!TextUtils.isEmpty(settingsActivity));
+            primaryPref.setButtonsCompactMode(appName != null);
+        }
+    }
+
+    private @Nullable CombinedProviderInfo getTopProvider() {
+        return CombinedProviderInfo.getTopProvider(getAllProviders(getUser()));
     }
 
     @Override
     protected DefaultAppInfo getDefaultAppInfo() {
-        List<CombinedProviderInfo> providers = getAllProviders(getUser());
-        CombinedProviderInfo topProvider = CombinedProviderInfo.getTopProvider(providers);
-        if (topProvider != null) {
-            ServiceInfo brandingService = topProvider.getBrandingService();
-            if (brandingService == null) {
-                return new DefaultAppInfo(
-                        mContext,
-                        mPackageManager,
-                        getUser(),
-                        topProvider.getApplicationInfo(),
-                        topProvider.getSettingsSubtitle(),
-                        true);
-            } else {
-                return new DefaultAppInfo(
-                        mContext,
-                        mPackageManager,
-                        getUser(),
-                        brandingService,
-                        topProvider.getSettingsSubtitle(),
-                        true);
-            }
-        }
         return null;
     }
 
@@ -138,54 +187,14 @@
         return true;
     }
 
-    /** Provides Intent to setting activity for the specified autofill service. */
-    static final class AutofillSettingIntentProvider {
-
-        private final String mKey;
-        private final Context mContext;
-        private final int mUserId;
-
-        public AutofillSettingIntentProvider(Context context, int userId, String key) {
-            mKey = key;
-            mContext = context;
-            mUserId = userId;
-        }
-
-        public Intent getIntent() {
-            final List<ResolveInfo> resolveInfos =
-                    mContext.getPackageManager()
-                            .queryIntentServicesAsUser(
-                                    AUTOFILL_PROBE, PackageManager.GET_META_DATA, mUserId);
-
-            for (ResolveInfo resolveInfo : resolveInfos) {
-                final ServiceInfo serviceInfo = resolveInfo.serviceInfo;
-
-                // If there are multiple autofill services then pick the first one.
-                if (mKey != null && mKey.startsWith(serviceInfo.packageName)) {
-                    final String settingsActivity;
-                    try {
-                        settingsActivity =
-                                new AutofillServiceInfo(mContext, serviceInfo)
-                                        .getSettingsActivity();
-                    } catch (SecurityException e) {
-                        // Service does not declare the proper permission, ignore it.
-                        Log.e(TAG, "Error getting info for " + serviceInfo + ": " + e);
-                        return null;
-                    }
-                    if (TextUtils.isEmpty(settingsActivity)) {
-                        return null;
-                    }
-                    return new Intent(Intent.ACTION_MAIN)
-                            .setComponent(
-                                    new ComponentName(serviceInfo.packageName, settingsActivity));
-                }
-            }
-
-            return null;
-        }
-    }
-
     protected int getUser() {
         return UserHandle.myUserId();
     }
+
+    /** Creates an intent to open the credential picker. */
+    private Intent createIntentToOpenPicker() {
+        final Context context =
+                mContext.createContextAsUser(UserHandle.of(getUser()), /* flags= */ 0);
+        return new Intent(context, CredentialsPickerActivity.class);
+    }
 }
diff --git a/src/com/android/settings/applications/credentials/DefaultPrivateCombinedPreferenceController.kt b/src/com/android/settings/applications/credentials/DefaultPrivateCombinedPreferenceController.kt
new file mode 100644
index 0000000..990e221
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/DefaultPrivateCombinedPreferenceController.kt
@@ -0,0 +1,48 @@
+/*
+ * 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.applications.credentials
+
+import android.content.Context
+import android.content.Intent
+import android.os.UserHandle
+import com.android.settings.Utils
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment
+import com.android.settingslib.applications.DefaultAppInfo
+
+class DefaultPrivateCombinedPreferenceController(context: Context?) : DefaultCombinedPreferenceController(context) {
+    private val userHandle: UserHandle? =
+            Utils.getProfileOfType(mUserManager, ProfileSelectFragment.ProfileType.PRIVATE)
+
+    override fun isAvailable(): Boolean {
+        return if (userHandle == null) {
+            false
+        } else super.isAvailable()
+    }
+
+    override fun getPreferenceKey(): String {
+        return "default_credman_autofill_private"
+    }
+
+    override fun startActivity(intent: Intent) {
+        userHandle?.let { handle ->
+            mContext.startActivityAsUser(intent, handle)
+        }
+    }
+
+    override fun getUser(): Int {
+        return userHandle?.identifier ?: UserHandle.myUserId()
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/credentials/DefaultWorkCombinedPreferenceController.java b/src/com/android/settings/applications/credentials/DefaultWorkCombinedPreferenceController.java
index eb0aa7a..f7ca204 100644
--- a/src/com/android/settings/applications/credentials/DefaultWorkCombinedPreferenceController.java
+++ b/src/com/android/settings/applications/credentials/DefaultWorkCombinedPreferenceController.java
@@ -21,7 +21,6 @@
 import android.os.UserHandle;
 
 import com.android.settings.Utils;
-import com.android.settingslib.applications.DefaultAppInfo;
 
 public class DefaultWorkCombinedPreferenceController extends DefaultCombinedPreferenceController {
     private final UserHandle mUserHandle;
@@ -45,17 +44,6 @@
     }
 
     @Override
-    protected Intent getSettingIntent(DefaultAppInfo info) {
-        if (info == null) {
-            return null;
-        }
-        final AutofillSettingIntentProvider intentProvider =
-                new AutofillSettingIntentProvider(
-                        mContext, mUserHandle.getIdentifier(), info.getKey());
-        return intentProvider.getIntent();
-    }
-
-    @Override
     protected void startActivity(Intent intent) {
         mContext.startActivityAsUser(intent, mUserHandle);
     }
diff --git a/src/com/android/settings/applications/credentials/ImageUtils.java b/src/com/android/settings/applications/credentials/ImageUtils.java
new file mode 100644
index 0000000..a7803a8
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/ImageUtils.java
@@ -0,0 +1,200 @@
+/*
+ * 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.applications.credentials;
+
+import android.graphics.Bitmap;
+import android.graphics.Canvas;
+import android.graphics.ColorFilter;
+import android.graphics.Paint;
+import android.graphics.PaintFlagsDrawFilter;
+import android.graphics.PixelFormat;
+import android.graphics.Rect;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.PaintDrawable;
+import android.util.DisplayMetrics;
+
+import androidx.annotation.NonNull;
+
+/** Handles resizing of images for CredMan settings. */
+public class ImageUtils {
+
+    /**
+     * Utility class to resize icons to match default icon size. Code is mostly borrowed from
+     * Launcher and ActivityPicker.
+     */
+    public static class IconResizer {
+        private final int mIconWidth;
+        private final int mIconHeight;
+
+        private final DisplayMetrics mMetrics;
+        private final Rect mOldBounds = new Rect();
+        private final Canvas mCanvas = new Canvas();
+
+        public IconResizer(int width, int height, DisplayMetrics metrics) {
+            mCanvas.setDrawFilter(
+                    new PaintFlagsDrawFilter(Paint.DITHER_FLAG, Paint.FILTER_BITMAP_FLAG));
+
+            mMetrics = metrics;
+            mIconWidth = width;
+            mIconHeight = height;
+        }
+
+        /**
+         * Returns a Drawable representing the thumbnail of the specified Drawable. The size of the
+         * thumbnail is defined by the dimension android.R.dimen.app_icon_size.
+         *
+         * <p>This method is not thread-safe and should be invoked on the UI thread only.
+         *
+         * @param icon The icon to get a thumbnail of.
+         * @return A thumbnail for the specified icon or the icon itself if the thumbnail could not
+         *     be created.
+         */
+        public Drawable createIconThumbnail(Drawable icon) {
+            int width = mIconWidth;
+            int height = mIconHeight;
+
+            if (icon == null) {
+                return new EmptyDrawable(width, height);
+            }
+
+            try {
+                if (icon instanceof PaintDrawable) {
+                    PaintDrawable painter = (PaintDrawable) icon;
+                    painter.setIntrinsicWidth(width);
+                    painter.setIntrinsicHeight(height);
+                } else if (icon instanceof BitmapDrawable) {
+                    // Ensure the bitmap has a density.
+                    BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
+                    Bitmap bitmap = bitmapDrawable.getBitmap();
+                    if (bitmap.getDensity() == Bitmap.DENSITY_NONE) {
+                        bitmapDrawable.setTargetDensity(mMetrics);
+                    }
+                }
+                int iconWidth = icon.getIntrinsicWidth();
+                int iconHeight = icon.getIntrinsicHeight();
+
+                if (iconWidth > 0 && iconHeight > 0) {
+                    if (width < iconWidth || height < iconHeight) {
+                        final float ratio = (float) iconWidth / iconHeight;
+
+                        if (iconWidth > iconHeight) {
+                            height = (int) (width / ratio);
+                        } else if (iconHeight > iconWidth) {
+                            width = (int) (height * ratio);
+                        }
+
+                        final Bitmap.Config c =
+                                icon.getOpacity() != PixelFormat.OPAQUE
+                                        ? Bitmap.Config.ARGB_8888
+                                        : Bitmap.Config.RGB_565;
+                        final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
+                        final Canvas canvas = mCanvas;
+                        canvas.setBitmap(thumb);
+
+                        // Copy the old bounds to restore them later
+                        // If we were to do oldBounds = icon.getBounds(),
+                        // the call to setBounds() that follows would
+                        // change the same instance and we would lose the
+                        // old bounds.
+                        mOldBounds.set(icon.getBounds());
+                        final int x = (mIconWidth - width) / 2;
+                        final int y = (mIconHeight - height) / 2;
+                        icon.setBounds(x, y, x + width, y + height);
+                        icon.draw(canvas);
+                        icon.setBounds(mOldBounds);
+
+                        // Create the new resized drawable.
+                        icon = createBitmapDrawable(thumb);
+                    } else if (iconWidth < width && iconHeight < height) {
+                        final Bitmap.Config c = Bitmap.Config.ARGB_8888;
+                        final Bitmap thumb = Bitmap.createBitmap(mIconWidth, mIconHeight, c);
+                        final Canvas canvas = mCanvas;
+                        canvas.setBitmap(thumb);
+                        mOldBounds.set(icon.getBounds());
+
+                        // Set the bounds for the new icon.
+                        final int x = (width - iconWidth) / 2;
+                        final int y = (height - iconHeight) / 2;
+                        icon.setBounds(x, y, x + iconWidth, y + iconHeight);
+                        icon.draw(canvas);
+                        icon.setBounds(mOldBounds);
+
+                        // Create the new resized drawable.
+                        icon = createBitmapDrawable(thumb);
+                    }
+                }
+
+            } catch (Throwable t) {
+                icon = new EmptyDrawable(width, height);
+            }
+
+            return icon;
+        }
+
+        private BitmapDrawable createBitmapDrawable(Bitmap thumb) {
+            BitmapDrawable icon = new BitmapDrawable(thumb);
+            icon.setTargetDensity(mMetrics);
+            mCanvas.setBitmap(null);
+            return icon;
+        }
+    }
+
+    public static class EmptyDrawable extends Drawable {
+        private final int mWidth;
+        private final int mHeight;
+
+        EmptyDrawable(int width, int height) {
+            mWidth = width;
+            mHeight = height;
+        }
+
+        @Override
+        public int getIntrinsicWidth() {
+            return mWidth;
+        }
+
+        @Override
+        public int getIntrinsicHeight() {
+            return mHeight;
+        }
+
+        @Override
+        public int getMinimumWidth() {
+            return mWidth;
+        }
+
+        @Override
+        public int getMinimumHeight() {
+            return mHeight;
+        }
+
+        @Override
+        public void draw(@NonNull Canvas canvas) {}
+
+        @Override
+        public void setAlpha(int alpha) {}
+
+        @Override
+        public void setColorFilter(@NonNull ColorFilter cf) {}
+
+        @Override
+        public int getOpacity() {
+            return PixelFormat.TRANSLUCENT;
+        }
+    }
+}
diff --git a/src/com/android/settings/applications/credentials/PrimaryProviderPreference.java b/src/com/android/settings/applications/credentials/PrimaryProviderPreference.java
new file mode 100644
index 0000000..84459e0
--- /dev/null
+++ b/src/com/android/settings/applications/credentials/PrimaryProviderPreference.java
@@ -0,0 +1,211 @@
+/*
+ * 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.applications.credentials;
+
+import android.content.Context;
+import android.credentials.flags.Flags;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.Button;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.widget.GearPreference;
+
+/**
+ * This preference is shown at the top of the "passwords & accounts" screen and allows the user to
+ * pick their primary credential manager provider.
+ */
+public class PrimaryProviderPreference extends GearPreference {
+
+    public static boolean shouldUseNewSettingsUi() {
+        return Flags.newSettingsUi();
+    }
+
+    private @Nullable Button mChangeButton = null;
+    private @Nullable Button mOpenButton = null;
+    private @Nullable View mButtonFrameView = null;
+    private @Nullable View mGearView = null;
+    private @Nullable Delegate mDelegate = null;
+    private boolean mButtonsCompactMode = false;
+    private boolean mOpenButtonVisible = false;
+
+    /** Called to send messages back to the parent controller. */
+    public static interface Delegate {
+        void onOpenButtonClicked();
+
+        void onChangeButtonClicked();
+    }
+
+    public PrimaryProviderPreference(
+            @NonNull Context context,
+            @NonNull AttributeSet attrs,
+            int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initializeNewSettingsUi();
+    }
+
+    public PrimaryProviderPreference(
+           @NonNull Context context,
+           @NonNull AttributeSet attrs) {
+        super(context, attrs);
+        initializeNewSettingsUi();
+    }
+
+    private void initializeNewSettingsUi() {
+        if (!shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        // Change the layout to the new settings ui.
+        setLayoutResource(R.layout.preference_credential_manager_with_buttons);
+    }
+
+    @Override
+    public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
+        super.onBindViewHolder(holder);
+
+        if (shouldUseNewSettingsUi()) {
+            onBindViewHolderNewSettingsUi(holder);
+        } else {
+            onBindViewHolderOldSettingsUi(holder);
+        }
+    }
+
+    private void onBindViewHolderOldSettingsUi(PreferenceViewHolder holder) {
+        setOnPreferenceClickListener(
+                new Preference.OnPreferenceClickListener() {
+                    public boolean onPreferenceClick(@NonNull Preference preference) {
+                        if (mDelegate != null) {
+                            mDelegate.onOpenButtonClicked();
+                            return true;
+                        }
+
+                        return false;
+                    }
+                });
+
+        // Setup the gear icon to handle opening the change provider scenario.
+        mGearView = holder.findViewById(R.id.settings_button);
+        mGearView.setVisibility(View.VISIBLE);
+        mGearView.setOnClickListener(
+                new View.OnClickListener() {
+                    public void onClick(@NonNull View v) {
+                        if (mDelegate != null) {
+                            mDelegate.onChangeButtonClicked();
+                        }
+                    }
+                });
+    }
+
+    private void onBindViewHolderNewSettingsUi(PreferenceViewHolder holder) {
+        mOpenButton = (Button) holder.findViewById(R.id.open_button);
+        mOpenButton.setOnClickListener(
+                new View.OnClickListener() {
+                    public void onClick(@NonNull View v) {
+                        if (mDelegate != null) {
+                            mDelegate.onOpenButtonClicked();
+                        }
+                    }
+                });
+        setVisibility(mOpenButton, mOpenButtonVisible);
+
+        mChangeButton = (Button) holder.findViewById(R.id.change_button);
+        mChangeButton.setOnClickListener(
+                new View.OnClickListener() {
+                    public void onClick(@NonNull View v) {
+                        if (mDelegate != null) {
+                            mDelegate.onChangeButtonClicked();
+                        }
+                    }
+                });
+
+        mButtonFrameView = holder.findViewById(R.id.credman_button_frame);
+        updateButtonFramePadding();
+    }
+
+    public void setOpenButtonVisible(boolean isVisible) {
+        if (mOpenButton != null) {
+            mOpenButton.setVisibility(isVisible ? View.VISIBLE : View.GONE);
+            setVisibility(mOpenButton, isVisible);
+        }
+
+        mOpenButtonVisible = isVisible;
+    }
+
+    private void updateButtonFramePadding() {
+        if (mButtonFrameView == null) {
+          return;
+        }
+
+        int paddingLeft = mButtonsCompactMode ?
+            getContext().getResources().getDimensionPixelSize(
+                R.dimen.credman_primary_provider_pref_left_padding) :
+            getContext().getResources().getDimensionPixelSize(
+                R.dimen.credman_primary_provider_pref_left_padding_compact);
+
+        mButtonFrameView.setPadding(
+            paddingLeft,
+            mButtonFrameView.getPaddingTop(),
+            mButtonFrameView.getPaddingRight(),
+            mButtonFrameView.getPaddingBottom());
+    }
+
+    public void setButtonsCompactMode(boolean isCompactMode) {
+        mButtonsCompactMode = isCompactMode;
+        updateButtonFramePadding();
+    }
+
+    public void setDelegate(@NonNull Delegate delegate) {
+        mDelegate = delegate;
+    }
+
+    @Override
+    protected boolean shouldHideSecondTarget() {
+        return shouldUseNewSettingsUi();
+    }
+
+    @VisibleForTesting
+    public @Nullable Button getOpenButton() {
+        return mOpenButton;
+    }
+
+    @VisibleForTesting
+    public @Nullable Button getChangeButton() {
+        return mChangeButton;
+    }
+
+    @VisibleForTesting
+    public @Nullable View getButtonFrameView() {
+        return mButtonFrameView;
+    }
+
+    @VisibleForTesting
+    public @Nullable View getGearView() {
+        return mGearView;
+    }
+
+    private static void setVisibility(View view, boolean isVisible) {
+        view.setVisibility(isVisible ? View.VISIBLE : View.GONE);
+    }
+}
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
index b089dd8..fda6b28 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragment.java
@@ -138,11 +138,15 @@
             final Bundle bundle = getArguments();
             final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
                     .setMessage(bundle.getCharSequence(EXTRA_MESSAGE))
-                    .setPositiveButton(android.R.string.ok, this)
+                    .setPositiveButton(getPositiveButtonText(), this)
                     .setNegativeButton(android.R.string.cancel, mCancelListener);
             return builder.create();
         }
 
+        protected CharSequence getPositiveButtonText() {
+            return getContext().getString(android.R.string.ok);
+        }
+
         @Override
         public void onClick(DialogInterface dialog, int which) {
             final Fragment fragment = getTargetFragment();
diff --git a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java
index 30c7973..c31fb9e 100644
--- a/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java
+++ b/src/com/android/settings/applications/defaultapps/DefaultAppPreferenceController.java
@@ -18,7 +18,6 @@
 
 import static com.android.settingslib.widget.TwoTargetPreference.ICON_SIZE_MEDIUM;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -28,6 +27,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
diff --git a/src/com/android/settings/applications/defaultapps/DefaultPrivateAutofillPreferenceController.kt b/src/com/android/settings/applications/defaultapps/DefaultPrivateAutofillPreferenceController.kt
new file mode 100644
index 0000000..67211b4
--- /dev/null
+++ b/src/com/android/settings/applications/defaultapps/DefaultPrivateAutofillPreferenceController.kt
@@ -0,0 +1,66 @@
+/*
+ * 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.applications.defaultapps
+
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
+import android.os.UserHandle
+import android.provider.Settings
+import android.text.TextUtils
+import com.android.settings.Utils
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment
+import com.android.settingslib.applications.DefaultAppInfo
+
+class DefaultPrivateAutofillPreferenceController(context: Context?) : DefaultAutofillPreferenceController(context) {
+    private val userHandle: UserHandle? = Utils
+            .getProfileOfType(mUserManager, ProfileSelectFragment.ProfileType.PRIVATE)
+
+    override fun isAvailable(): Boolean {
+        return if (userHandle == null) {
+            false
+        } else super.isAvailable()
+    }
+
+    override fun getPreferenceKey(): String {
+        return "default_autofill_private"
+    }
+
+    override fun getDefaultAppInfo(): DefaultAppInfo ? {
+        val flattenComponent = userHandle?.let { handle ->
+            Settings.Secure.getStringForUser(
+                    mContext.contentResolver,
+                    DefaultAutofillPicker.SETTING,
+                    handle.identifier
+            )
+        }
+        return if (!flattenComponent.isNullOrEmpty()) {
+            userHandle?.let {
+                DefaultAppInfo(
+                        mContext,
+                        mPackageManager,
+                        it.identifier,
+                        ComponentName.unflattenFromString(flattenComponent))
+            }
+        } else null
+    }
+
+    override fun startActivity(intent: Intent) {
+        if (userHandle == null) {
+            mContext.startActivityAsUser(intent, UserHandle.CURRENT)
+        } else mContext.startActivityAsUser(intent, userHandle)
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/applications/defaultapps/SettingIntentProvider.java b/src/com/android/settings/applications/defaultapps/SettingIntentProvider.java
index a6e3edf..c43fbd5 100644
--- a/src/com/android/settings/applications/defaultapps/SettingIntentProvider.java
+++ b/src/com/android/settings/applications/defaultapps/SettingIntentProvider.java
@@ -16,9 +16,10 @@
 
 package com.android.settings.applications.defaultapps;
 
-import android.annotation.Nullable;
 import android.content.Intent;
 
+import androidx.annotation.Nullable;
+
 /**
  * Provides an "advanced setting" intent for this app info.
  */
diff --git a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
index cc662aa..676c35a 100644
--- a/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
+++ b/src/com/android/settings/applications/intentpicker/AppLaunchSettings.java
@@ -35,7 +35,8 @@
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.TextView;
 
 import androidx.annotation.VisibleForTesting;
@@ -51,7 +52,6 @@
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.util.HashMap;
 import java.util.List;
@@ -62,7 +62,7 @@
 
 /** The page of the Open by default */
 public class AppLaunchSettings extends AppInfoBase implements
-        Preference.OnPreferenceChangeListener, OnMainSwitchChangeListener {
+        Preference.OnPreferenceChangeListener, OnCheckedChangeListener {
     private static final String TAG = "AppLaunchSettings";
     // Preference keys
     private static final String MAIN_SWITCH_PREF_KEY = "open_by_default_supported_links";
@@ -168,7 +168,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         IntentPickerUtils.logd("onSwitchChanged: isChecked=" + isChecked);
         if (mMainSwitchPreference != null) { //mMainSwitchPreference synced with Switch
             mMainSwitchPreference.setChecked(isChecked);
@@ -200,7 +200,6 @@
         final String summary = activity.getString(R.string.app_launch_top_intro_message);
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setIcon(Utils.getBadgedIcon(mContext, mPackageInfo.applicationInfo))
                 .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
                 .setSummary(summary)  // add intro text
@@ -210,7 +209,7 @@
                 .setHasAppInfoLink(true)
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE)
-                .done(activity, getPrefContext());
+                .done(getPrefContext());
         getPreferenceScreen().addPreference(pref);
     }
 
@@ -289,6 +288,7 @@
                 .create();
         if (dialog.getListView() != null) {
             dialog.getListView().setTextDirection(View.TEXT_DIRECTION_LOCALE);
+            dialog.getListView().setEnabled(false);
         } else {
             Log.w(TAG, "createVerifiedLinksDialog: dialog.getListView() is null, please check it.");
         }
diff --git a/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java b/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java
index fdb6d25..199dc4e 100644
--- a/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java
+++ b/src/com/android/settings/applications/intentpicker/LeftSideCheckBoxPreference.java
@@ -22,7 +22,6 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
 import com.android.settingslib.widget.TwoTargetPreference;
 
 /** This preference has a check box in the left side. */
@@ -33,7 +32,7 @@
     public LeftSideCheckBoxPreference(Context context, AttributeSet attrs,
             int defStyleAttr, int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
-        setLayoutResource(R.layout.preference_checkable_two_target);
+        setLayoutResource(com.android.settingslib.R.layout.preference_checkable_two_target);
     }
 
     public LeftSideCheckBoxPreference(Context context, AttributeSet attrs, int defStyleAttr) {
@@ -51,7 +50,7 @@
     public LeftSideCheckBoxPreference(Context context, boolean isChecked) {
         super(context);
         mChecked = isChecked;
-        setLayoutResource(R.layout.preference_checkable_two_target);
+        setLayoutResource(com.android.settingslib.R.layout.preference_checkable_two_target);
     }
 
     @Override
diff --git a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
index e7bb88d..fd998f5 100644
--- a/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
+++ b/src/com/android/settings/applications/manageapplications/AppFilterRegistry.java
@@ -167,13 +167,13 @@
         mFilters[FILTER_APPS_PERSONAL] = new AppFilterItem(
                 ApplicationsState.FILTER_PERSONAL,
                 FILTER_APPS_PERSONAL,
-                R.string.category_personal);
+                com.android.settingslib.R.string.category_personal);
 
         // Work
         mFilters[FILTER_APPS_WORK] = new AppFilterItem(
                 ApplicationsState.FILTER_WORK,
                 FILTER_APPS_WORK,
-                R.string.category_work);
+                com.android.settingslib.R.string.category_work);
 
         // Usage access screen, never displayed.
         mFilters[FILTER_APPS_USAGE_ACCESS] = new AppFilterItem(
@@ -219,7 +219,7 @@
         mFilters[FILTER_ALARMS_AND_REMINDERS] = new AppFilterItem(
                 AppStateAlarmsAndRemindersBridge.FILTER_CLOCK_APPS,
                 FILTER_ALARMS_AND_REMINDERS,
-                R.string.alarms_and_reminders_title);
+                com.android.settingslib.R.string.alarms_and_reminders_title);
 
         // Apps that can manage media files
         mFilters[FILTER_APPS_MEDIA_MANAGEMENT] = new AppFilterItem(
@@ -279,7 +279,7 @@
         mFilters[FILTER_APPS_TURN_SCREEN_ON] = new AppFilterItem(
                 AppStateTurnScreenOnBridge.FILTER_TURN_SCREEN_ON_APPS,
                 FILTER_APPS_TURN_SCREEN_ON,
-                R.string.turn_screen_on_title);
+                com.android.settingslib.R.string.turn_screen_on_title);
     }
 
     public static AppFilterRegistry getInstance() {
diff --git a/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java b/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
index 58232ea..cd3fd6b 100644
--- a/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
+++ b/src/com/android/settings/applications/manageapplications/ApplicationViewHolder.java
@@ -31,9 +31,9 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.CompoundButton;
 import android.widget.ImageView;
 import android.widget.ProgressBar;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.annotation.StringRes;
@@ -46,11 +46,16 @@
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.spaprivileged.template.app.AppListItemModelKt;
+import com.android.settingslib.spaprivileged.template.app.AppListPageKt;
 import com.android.settingslib.widget.LottieColorUtils;
 
 import com.airbnb.lottie.LottieAnimationView;
 
-
+/**
+ * @deprecated Will be removed, use {@link AppListItemModelKt} {@link AppListPageKt} instead.
+ */
+@Deprecated(forRemoval = true)
 public class ApplicationViewHolder extends RecyclerView.ViewHolder {
 
     @VisibleForTesting
@@ -62,7 +67,7 @@
     @VisibleForTesting
     final ViewGroup mWidgetContainer;
     @VisibleForTesting
-    final Switch mSwitch;
+    final CompoundButton mSwitch;
     final ImageView mAddIcon;
     final ProgressBar mProgressBar;
 
@@ -73,8 +78,8 @@
         mAppName = itemView.findViewById(android.R.id.title);
         mAppIcon = itemView.findViewById(android.R.id.icon);
         mSummary = itemView.findViewById(android.R.id.summary);
-        mDisabled = itemView.findViewById(R.id.appendix);
-        mSwitch = itemView.findViewById(R.id.switchWidget);
+        mDisabled = itemView.findViewById(com.android.settingslib.widget.preference.app.R.id.appendix);
+        mSwitch = itemView.findViewById(com.android.settingslib.R.id.switchWidget);
         mWidgetContainer = itemView.findViewById(android.R.id.widget_frame);
         mAddIcon = itemView.findViewById(R.id.add_preference_widget);
         mProgressBar = itemView.findViewById(R.id.progressBar_cyclic);
@@ -86,7 +91,7 @@
 
     static View newView(ViewGroup parent, boolean twoTarget, int listType) {
         ViewGroup view = (ViewGroup) LayoutInflater.from(parent.getContext())
-                .inflate(R.layout.preference_app, parent, false);
+                .inflate(com.android.settingslib.widget.preference.app.R.layout.preference_app, parent, false);
         ViewGroup widgetFrame = view.findViewById(android.R.id.widget_frame);
         if (twoTarget) {
             if (widgetFrame != null) {
@@ -94,11 +99,13 @@
                     LayoutInflater.from(parent.getContext())
                             .inflate(R.layout.preference_widget_add_progressbar, widgetFrame, true);
                 } else {
-                    LayoutInflater.from(parent.getContext())
-                            .inflate(R.layout.preference_widget_primary_switch, widgetFrame, true);
+                    LayoutInflater.from(parent.getContext()).inflate(
+                            com.android.settingslib.R.layout.preference_widget_primary_switch,
+                            widgetFrame, true);
                 }
                 View divider = LayoutInflater.from(parent.getContext()).inflate(
-                        R.layout.preference_two_target_divider, view, false);
+                        com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target_divider,
+                        view, false);
                 // second to last, before widget frame
                 view.addView(divider, view.getChildCount() - 1);
             }
@@ -110,7 +117,8 @@
 
     static View newHeader(ViewGroup parent, int resText) {
         ViewGroup view = (ViewGroup) LayoutInflater.from(parent.getContext())
-                .inflate(R.layout.preference_app_header, parent, false);
+                .inflate(com.android.settingslib.widget.preference.app.R.layout.preference_app_header,
+                        parent, false);
         TextView textView = view.findViewById(R.id.apps_top_intro_text);
         textView.setText(resText);
         return view;
@@ -165,10 +173,6 @@
         mAppName.setContentDescription(contentDescription);
     }
 
-    void setIcon(int drawableRes) {
-        mAppIcon.setImageResource(drawableRes);
-    }
-
     void setIcon(Drawable icon) {
         if (icon == null) {
             return;
@@ -183,7 +187,7 @@
         } else if (!info.enabled || info.enabledSetting
                 == PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) {
             mDisabled.setVisibility(View.VISIBLE);
-            mDisabled.setText(R.string.disabled);
+            mDisabled.setText(com.android.settingslib.R.string.disabled);
         } else {
             mDisabled.setVisibility(View.GONE);
         }
@@ -211,7 +215,8 @@
         }
     }
 
-    void updateSwitch(Switch.OnCheckedChangeListener listener, boolean enabled, boolean checked) {
+    void updateSwitch(CompoundButton.OnCheckedChangeListener listener, boolean enabled,
+            boolean checked) {
         if (mSwitch != null && mWidgetContainer != null) {
             mWidgetContainer.setFocusable(false);
             mWidgetContainer.setClickable(false);
@@ -226,7 +231,7 @@
     void updateAppCloneWidget(Context context, View.OnClickListener onClickListener,
             AppEntry entry) {
         if (mAddIcon != null) {
-            if (!entry.isCloned) {
+            if (!entry.isClonedProfile()) {
                 mAddIcon.setBackground(context.getDrawable(R.drawable.ic_add_24dp));
             } else {
                 mAddIcon.setBackground(context.getDrawable(R.drawable.ic_trash_can));
@@ -244,12 +249,12 @@
             public void onClick(View v) {
                 CloneBackend cloneBackend = CloneBackend.getInstance(context);
                 final MetricsFeatureProvider metricsFeatureProvider =
-                        FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+                        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
                 String packageName = entry.info.packageName;
 
                 if (mWidgetContainer != null) {
-                    if (!entry.isCloned) {
+                    if (!entry.isClonedProfile()) {
                         metricsFeatureProvider.action(context,
                                 SettingsEnums.ACTION_CREATE_CLONE_APP);
                         mAddIcon.setVisibility(View.INVISIBLE);
@@ -280,7 +285,7 @@
                             }
                         }.execute();
 
-                    } else if (entry.isCloned) {
+                    } else if (entry.isClonedProfile()) {
                         metricsFeatureProvider.action(context,
                                 SettingsEnums.ACTION_DELETE_CLONE_APP);
                         cloneBackend.uninstallClonedApp(packageName, /*allUsers*/ false,
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplications.java b/src/com/android/settings/applications/manageapplications/ManageApplications.java
index d734a27..c2fabff 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplications.java
+++ b/src/com/android/settings/applications/manageapplications/ManageApplications.java
@@ -295,6 +295,7 @@
     private String mVolumeUuid;
     private int mStorageType;
     private boolean mIsWorkOnly;
+    private boolean mIsPrivateProfileOnly;
     private int mWorkUserId;
     private boolean mIsPersonalOnly;
     private View mEmptyView;
@@ -378,6 +379,8 @@
                 == ProfileSelectFragment.ProfileType.PERSONAL;
         mIsWorkOnly = args != null && args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
                 == ProfileSelectFragment.ProfileType.WORK;
+        mIsPrivateProfileOnly = args != null && args.getInt(ProfileSelectFragment.EXTRA_PROFILE)
+                == ProfileSelectFragment.ProfileType.PRIVATE;
         mWorkUserId = args != null ? args.getInt(EXTRA_WORK_ID) : UserHandle.myUserId();
         if (mIsWorkOnly && mWorkUserId == UserHandle.myUserId()) {
             mWorkUserId = Utils.getManagedProfileId(mUserManager, UserHandle.myUserId());
@@ -660,6 +663,10 @@
         if (mIsWorkOnly) {
             compositeFilter = new CompoundFilter(compositeFilter, ApplicationsState.FILTER_WORK);
         }
+        if (mIsPrivateProfileOnly) {
+            compositeFilter =
+                    new CompoundFilter(compositeFilter, ApplicationsState.FILTER_PRIVATE_PROFILE);
+        }
         if (mIsPersonalOnly) {
             compositeFilter = new CompoundFilter(compositeFilter,
                     ApplicationsState.FILTER_PERSONAL);
@@ -689,7 +696,8 @@
                 startAppInfoFragment(WriteSettingsDetails.class, R.string.write_system_settings);
                 break;
             case LIST_TYPE_MANAGE_SOURCES:
-                startAppInfoFragment(ExternalSourcesDetails.class, R.string.install_other_apps);
+                startAppInfoFragment(ExternalSourcesDetails.class,
+                        com.android.settingslib.R.string.install_other_apps);
                 break;
             case LIST_TYPE_GAMES:
                 startAppInfoFragment(AppStorageSettings.class, R.string.game_storage_settings);
@@ -704,7 +712,7 @@
                 break;
             case LIST_TYPE_ALARMS_AND_REMINDERS:
                 startAppInfoFragment(AlarmsAndRemindersDetails.class,
-                        R.string.alarms_and_reminders_label);
+                        com.android.settingslib.R.string.alarms_and_reminders_label);
                 break;
             case LIST_TYPE_MEDIA_MANAGEMENT_APPS:
                 startAppInfoFragment(MediaManagementAppsDetails.class,
@@ -741,7 +749,8 @@
                         R.string.change_nfc_tag_apps_title);
                 break;
             case LIST_TYPE_TURN_SCREEN_ON:
-                startAppInfoFragment(TurnScreenOnDetails.class, R.string.turn_screen_on_title);
+                startAppInfoFragment(TurnScreenOnDetails.class,
+                        com.android.settingslib.R.string.turn_screen_on_title);
                 break;
             // TODO: Figure out if there is a way where we can spin up the profile's settings
             // process ahead of time, to avoid a long load of data when user clicks on a managed
@@ -1052,7 +1061,7 @@
         } else if (className.equals(WriteSettingsActivity.class.getName())) {
             screenTitle = R.string.write_settings;
         } else if (className.equals(ManageExternalSourcesActivity.class.getName())) {
-            screenTitle = R.string.install_other_apps;
+            screenTitle = com.android.settingslib.R.string.install_other_apps;
         } else if (className.equals(ChangeWifiStateActivity.class.getName())) {
             screenTitle = R.string.change_wifi_state_title;
         } else if (className.equals(ManageExternalStorageActivity.class.getName())) {
@@ -1060,7 +1069,7 @@
         } else if (className.equals(MediaManagementAppsActivity.class.getName())) {
             screenTitle = R.string.media_management_apps_title;
         } else if (className.equals(AlarmsAndRemindersActivity.class.getName())) {
-            screenTitle = R.string.alarms_and_reminders_title;
+            screenTitle = com.android.settingslib.R.string.alarms_and_reminders_title;
         } else if (className.equals(NotificationAppListActivity.class.getName())
                 || className.equals(
                 NotificationReviewPermissionsActivity.class.getName())) {
@@ -1076,7 +1085,7 @@
         } else if (className.equals(ChangeNfcTagAppsActivity.class.getName())) {
             screenTitle = R.string.change_nfc_tag_apps_title;
         } else if (className.equals(TurnScreenOnSettingsActivity.class.getName())) {
-            screenTitle = R.string.turn_screen_on_title;
+            screenTitle = com.android.settingslib.R.string.turn_screen_on_title;
         } else {
             if (screenTitle == -1) {
                 screenTitle = R.string.all_apps;
diff --git a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
index 8313686..dca115b 100644
--- a/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
+++ b/src/com/android/settings/applications/manageapplications/ManageApplicationsUtil.kt
@@ -59,14 +59,17 @@
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WIFI_ACCESS
 import com.android.settings.applications.manageapplications.ManageApplications.LIST_TYPE_WRITE_SETTINGS
 import com.android.settings.spa.app.AllAppListPageProvider
+import com.android.settings.spa.app.battery.BatteryOptimizationModeAppListPageProvider
 import com.android.settings.spa.app.appcompat.UserAspectRatioAppsPageProvider
 import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
 import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider
 import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
+import com.android.settings.spa.app.specialaccess.LongBackgroundTasksAppListProvider
 import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
 import com.android.settings.spa.app.specialaccess.NfcTagAppsSettingsProvider
+import com.android.settings.spa.app.specialaccess.TurnScreenOnAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
 import com.android.settings.spa.notification.AppListNotificationsPageProvider
 import com.android.settings.spa.system.AppLanguagesPageProvider
@@ -119,6 +122,12 @@
             LIST_TYPE_MAIN -> AllAppListPageProvider.name
             LIST_TYPE_NFC_TAG_APPS -> NfcTagAppsSettingsProvider.getAppListRoute()
             LIST_TYPE_USER_ASPECT_RATIO_APPS -> UserAspectRatioAppsPageProvider.name
+            LIST_TYPE_LONG_BACKGROUND_TASKS -> LongBackgroundTasksAppListProvider.getAppListRoute()
+            LIST_TYPE_TURN_SCREEN_ON -> TurnScreenOnAppsAppListProvider.getAppListRoute()
+            // TODO(b/292165031) enable once sorting is supported
+            //LIST_TYPE_STORAGE -> StorageAppListPageProvider.Apps.name
+            //LIST_TYPE_GAMES -> StorageAppListPageProvider.Games.name
+            LIST_TYPE_BATTERY_OPTIMIZATION -> BatteryOptimizationModeAppListPageProvider.name
             else -> null
         }
     }
diff --git a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
index 6da3e52..b2b7512 100644
--- a/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
+++ b/src/com/android/settings/applications/manageapplications/ResetAppsHelper.java
@@ -39,6 +39,7 @@
 
 import com.android.settings.R;
 import com.android.settings.fuelgauge.BatteryOptimizeUtils;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
 
 import java.util.Arrays;
 import java.util.List;
@@ -155,6 +156,8 @@
             }
             mAom.resetAllModes();
             BatteryOptimizeUtils.resetAppOptimizationMode(mContext, mIPm, mAom);
+            DynamicDenylistManager.getInstance(mContext)
+                    .resetDenylistIfNeeded(/* packageName= */ null, /* force= */ true);
             final int[] restrictedUids = mNpm.getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
             final int currentUserId = ActivityManager.getCurrentUser();
             for (int uid : restrictedUids) {
diff --git a/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java b/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java
index 763a500..c66c97e 100644
--- a/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceController.java
@@ -16,10 +16,14 @@
 
 package com.android.settings.applications.specialaccess;
 
+import android.app.role.RoleManager;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.nfc.NfcAdapter;
+import android.nfc.cardemulation.CardEmulation;
 import android.os.UserManager;
+import android.permission.flags.Flags;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -62,6 +66,20 @@
     }
 
     @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (Flags.walletRoleEnabled()
+                && mPreferenceKey.equals(preference.getKey())) {
+            RoleManager roleManager = mContext.getSystemService(RoleManager.class);
+            if (roleManager.isRoleAvailable(RoleManager.ROLE_WALLET)) {
+                Intent intent = new Intent(CardEmulation.ACTION_CHANGE_DEFAULT);
+                mContext.startActivity(intent);
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @Override
     public void onResume() {
         if (mPaymentSettingsEnabler != null) {
             mPaymentSettingsEnabler.resume();
diff --git a/src/com/android/settings/applications/specialaccess/MediaRoutingControlPreferenceController.java b/src/com/android/settings/applications/specialaccess/MediaRoutingControlPreferenceController.java
new file mode 100644
index 0000000..72011ba
--- /dev/null
+++ b/src/com/android/settings/applications/specialaccess/MediaRoutingControlPreferenceController.java
@@ -0,0 +1,53 @@
+/*
+ * 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.applications.specialaccess;
+
+import android.Manifest;
+import android.content.Context;
+import android.text.TextUtils;
+
+import androidx.preference.Preference;
+
+import com.android.media.flags.Flags;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.spa.SpaActivity;
+import com.android.settings.spa.app.specialaccess.MediaRoutingControlAppListProvider;
+
+/**
+ * This controller manages features availability for special app access for
+ * {@link Manifest.permission#MEDIA_ROUTING_CONTROL} permission.
+ */
+public class MediaRoutingControlPreferenceController extends BasePreferenceController {
+    public MediaRoutingControlPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.enablePrivilegedRoutingForMediaRoutingControl()
+                ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (TextUtils.equals(preference.getKey(), mPreferenceKey)) {
+            SpaActivity.startSpaActivity(
+                    mContext, MediaRoutingControlAppListProvider.INSTANCE.getAppListRoute());
+            return true;
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java b/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java
index 597705c..b95da80 100644
--- a/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java
+++ b/src/com/android/settings/applications/specialaccess/PaymentSettingsEnabler.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.nfc.NfcAdapter;
 import android.nfc.cardemulation.CardEmulation;
+import android.os.UserHandle;
 
 import androidx.preference.Preference;
 
@@ -64,12 +65,17 @@
         }
     }
 
+    private boolean hasAnyServices() {
+        return mCardEmuManager.getServices(
+            CardEmulation.CATEGORY_PAYMENT, UserHandle.myUserId()).isEmpty();
+    }
+
     @Override
     public void resume() {
         if (!isNfcAvailable()) {
             return;
         }
-        if (mCardEmuManager.getServices(CardEmulation.CATEGORY_PAYMENT).isEmpty()) {
+        if (hasAnyServices()) {
             mIsPaymentAvailable = false;
         } else {
             mIsPaymentAvailable = true;
diff --git a/src/com/android/settings/applications/specialaccess/applications/LongBackgroundTaskController.java b/src/com/android/settings/applications/specialaccess/applications/LongBackgroundTaskController.java
index ccfa9c8..93bf1ad 100644
--- a/src/com/android/settings/applications/specialaccess/applications/LongBackgroundTaskController.java
+++ b/src/com/android/settings/applications/specialaccess/applications/LongBackgroundTaskController.java
@@ -30,8 +30,8 @@
 
     public LongBackgroundTaskController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mAppFeatureProvider = FeatureFactory.getFactory(context)
-                .getApplicationFeatureProvider(context);
+        mAppFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getApplicationFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
index c43bde6..bb9876b 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminAdd.java
@@ -573,7 +573,7 @@
     void logSpecialPermissionChange(boolean allow, String packageName) {
         int logCategory = allow ? SettingsEnums.APP_SPECIAL_PERMISSION_ADMIN_ALLOW :
                 SettingsEnums.APP_SPECIAL_PERMISSION_ADMIN_DENY;
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(
                 SettingsEnums.PAGE_UNKNOWN,
                 logCategory,
                 SettingsEnums.PAGE_UNKNOWN,
@@ -647,7 +647,8 @@
     }
 
     void updateInterface() {
-        findViewById(R.id.restricted_icon).setVisibility(View.GONE);
+        findViewById(com.android.settingslib.widget.restricted.R.id.restricted_icon)
+                .setVisibility(View.GONE);
         mAdminIcon.setImageDrawable(mDeviceAdmin.loadIcon(getPackageManager()));
         mAdminName.setText(mDeviceAdmin.loadLabel(getPackageManager()));
         try {
@@ -682,7 +683,8 @@
                 final boolean hasBaseRestriction = hasBaseCantRemoveProfileRestriction();
                 if ((hasBaseRestriction && mDPM.isOrganizationOwnedDeviceWithManagedProfile())
                         || (admin != null && !hasBaseRestriction)) {
-                    findViewById(R.id.restricted_icon).setVisibility(View.VISIBLE);
+                    findViewById(com.android.settingslib.widget.restricted.R.id.restricted_icon)
+                            .setVisibility(View.VISIBLE);
                 }
                 mActionButton.setEnabled(admin == null && !hasBaseRestriction);
             } else if (isProfileOwner || mDeviceAdmin.getComponent().equals(
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListItem.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListItem.java
index 370a4df..f7dff2e 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListItem.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListItem.java
@@ -86,6 +86,14 @@
         return new UserHandle(getUserIdFromDeviceAdminInfo(mInfo));
     }
 
+    public int getUid() {
+        return mInfo.getActivityInfo().applicationInfo.uid;
+    }
+
+    public String getPackageName() {
+        return mInfo.getPackageName();
+    }
+
     public Intent getLaunchIntent(Context context) {
         return new Intent(context, DeviceAdminAdd.class)
                 .putExtra(DevicePolicyManager.EXTRA_DEVICE_ADMIN, mInfo.getComponent());
diff --git a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
index 9403316..640f21d 100644
--- a/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/deviceadmin/DeviceAdminListPreferenceController.java
@@ -18,6 +18,7 @@
 
 import static android.app.admin.DevicePolicyManager.ACTION_DEVICE_POLICY_MANAGER_STATE_CHANGED;
 
+import android.Manifest;
 import android.app.AppGlobals;
 import android.app.admin.DeviceAdminInfo;
 import android.app.admin.DeviceAdminReceiver;
@@ -31,6 +32,7 @@
 import android.content.pm.IPackageManager;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.content.pm.UserProperties;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -45,12 +47,13 @@
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.widget.AppSwitchPreference;
 import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.TwoTargetPreference;
 
 import org.xmlpull.v1.XmlPullParserException;
 
@@ -104,7 +107,7 @@
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mPackageManager = mContext.getPackageManager();
         mIPackageManager = AppGlobals.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -154,12 +157,23 @@
         mAdmins.clear();
         final List<UserHandle> profiles = mUm.getUserProfiles();
         for (UserHandle profile : profiles) {
+            if (shouldSkipProfile(profile)) {
+                continue;
+            }
             final int profileId = profile.getIdentifier();
             updateAvailableAdminsForProfile(profileId);
         }
         Collections.sort(mAdmins);
     }
 
+    private boolean shouldSkipProfile(UserHandle profile) {
+        return  android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace()
+                && mUm.isQuietModeEnabled(profile)
+                && mUm.getUserProperties(profile).getShowInQuietMode()
+                        == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN;
+    }
+
     private void refreshUI() {
         if (mPreferenceGroup == null) {
             return;
@@ -167,35 +181,35 @@
         if (mFooterPreference != null) {
             mFooterPreference.setVisible(mAdmins.isEmpty());
         }
-        final Map<String, AppSwitchPreference> preferenceCache = new ArrayMap<>();
+        final Map<String, RestrictedSwitchPreference> preferenceCache = new ArrayMap<>();
         final Context prefContext = mPreferenceGroup.getContext();
         final int childrenCount = mPreferenceGroup.getPreferenceCount();
         for (int i = 0; i < childrenCount; i++) {
             final Preference pref = mPreferenceGroup.getPreference(i);
-            if (!(pref instanceof AppSwitchPreference)) {
+            if (!(pref instanceof RestrictedSwitchPreference switchPref)) {
                 continue;
             }
-            final AppSwitchPreference appSwitch = (AppSwitchPreference) pref;
-            preferenceCache.put(appSwitch.getKey(), appSwitch);
+            preferenceCache.put(switchPref.getKey(), switchPref);
         }
         for (DeviceAdminListItem item : mAdmins) {
             final String key = item.getKey();
-            AppSwitchPreference pref = preferenceCache.remove(key);
+            RestrictedSwitchPreference pref = preferenceCache.remove(key);
             if (pref == null) {
-                pref = new AppSwitchPreference(prefContext);
+                pref = new RestrictedSwitchPreference(prefContext);
                 mPreferenceGroup.addPreference(pref);
             }
             bindPreference(item, pref);
         }
-        for (AppSwitchPreference unusedCacheItem : preferenceCache.values()) {
+        for (RestrictedSwitchPreference unusedCacheItem : preferenceCache.values()) {
             mPreferenceGroup.removePreference(unusedCacheItem);
         }
     }
 
-    private void bindPreference(DeviceAdminListItem item, AppSwitchPreference pref) {
+    private void bindPreference(DeviceAdminListItem item, RestrictedSwitchPreference pref) {
         pref.setKey(item.getKey());
         pref.setTitle(item.getName());
         pref.setIcon(item.getIcon());
+        pref.setIconSize(TwoTargetPreference.ICON_SIZE_DEFAULT);
         pref.setChecked(item.isActive());
         pref.setSummary(item.getDescription());
         pref.setEnabled(item.isEnabled());
@@ -207,6 +221,8 @@
         });
         pref.setOnPreferenceChangeListener((preference, newValue) -> false);
         pref.setSingleLineTitle(true);
+        pref.checkEcmRestrictionAndSetDisabled(Manifest.permission.BIND_DEVICE_ADMIN,
+                item.getPackageName());
     }
 
     /**
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
index 4149e23..faa1b51 100644
--- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetails.java
@@ -208,7 +208,8 @@
             title.setText(appLabel);
         }
 
-        final ImageView personalIconView = mHeader.findViewById(R.id.entity_header_icon_personal);
+        final ImageView personalIconView = mHeader.findViewById(
+                com.android.settingslib.widget.preference.layout.R.id.entity_header_icon_personal);
         if (personalIconView != null) {
             Drawable icon = IconDrawableFactory.newInstance(mContext)
                     .getBadgedIcon(mPackageInfo.applicationInfo, personalProfile.getIdentifier())
@@ -219,7 +220,8 @@
             personalIconView.setImageDrawable(icon);
         }
 
-        final ImageView workIconView = mHeader.findViewById(R.id.entity_header_icon_work);
+        final ImageView workIconView = mHeader.findViewById(
+                com.android.settingslib.widget.preference.layout.R.id.entity_header_icon_work);
         if (workIconView != null) {
             Drawable icon = IconDrawableFactory.newInstance(mContext)
                     .getBadgedIcon(mPackageInfo.applicationInfo, workProfile.getIdentifier())
@@ -499,20 +501,24 @@
     private void enableSwitchPref() {
         mSwitchPref.setChecked(true);
         mSwitchPref.setTitle(R.string.interact_across_profiles_switch_enabled);
-        final ImageView horizontalArrowIcon = mHeader.findViewById(R.id.entity_header_swap_horiz);
+        final ImageView horizontalArrowIcon =
+                mHeader.findViewById(com.android.settingslib.widget.preference.layout.R.id.entity_header_swap_horiz);
         if (horizontalArrowIcon != null) {
             horizontalArrowIcon.setImageDrawable(
-                    mContext.getDrawable(R.drawable.ic_swap_horiz_blue));
+                    mContext.getDrawable(
+                            com.android.settingslib.widget.preference.layout.R.drawable.ic_swap_horiz_blue));
         }
     }
 
     private void disableSwitchPref() {
         mSwitchPref.setChecked(false);
         mSwitchPref.setTitle(R.string.interact_across_profiles_switch_disabled);
-        final ImageView horizontalArrowIcon = mHeader.findViewById(R.id.entity_header_swap_horiz);
+        final ImageView horizontalArrowIcon =
+                mHeader.findViewById(com.android.settingslib.widget.preference.layout.R.id.entity_header_swap_horiz);
         if (horizontalArrowIcon != null) {
             horizontalArrowIcon.setImageDrawable(
-                    mContext.getDrawable(R.drawable.ic_swap_horiz_grey));
+                    mContext.getDrawable(
+                            com.android.settingslib.widget.preference.layout.R.drawable.ic_swap_horiz_grey));
         }
     }
 
diff --git a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
index 8169072..432b423 100644
--- a/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
+++ b/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettings.java
@@ -17,7 +17,6 @@
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.CONNECTED_WORK_AND_PERSONAL_APPS_TITLE;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -32,6 +31,7 @@
 import android.util.Pair;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
index 6bee62c..70a31b8 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceController.java
@@ -24,6 +24,7 @@
 import android.content.pm.PackageManager;
 import android.os.AsyncTask;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceFragmentCompat;
@@ -41,6 +42,8 @@
     private PreferenceFragmentCompat mParent;
     private NotificationManager mNm;
     private PackageManager mPm;
+    // The appOp representing this preference
+    private String mSettingIdentifier;
 
     public ApprovalPreferenceController(Context context, String key) {
         super(context, key);
@@ -71,6 +74,15 @@
         return this;
     }
 
+    /**
+     * Set the associated appOp for the Setting
+     */
+    @NonNull
+    public ApprovalPreferenceController setSettingIdentifier(@NonNull String settingIdentifier) {
+        mSettingIdentifier = settingIdentifier;
+        return this;
+    }
+
     @Override
     public int getAvailabilityStatus() {
         return AVAILABLE;
@@ -107,8 +119,21 @@
                 return false;
             }
         });
-        preference.updateState(
-                mCn.getPackageName(), mPkgInfo.applicationInfo.uid, isAllowedCn, isEnabled);
+
+        if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()
+                && android.security.Flags.extendEcmToAllSettings()) {
+            if (!isAllowedCn && !isEnabled) {
+                preference.setEnabled(false);
+            } else if (isEnabled) {
+                preference.setEnabled(true);
+            } else {
+                preference.checkEcmRestrictionAndSetDisabled(mSettingIdentifier,
+                        mCn.getPackageName());
+            }
+        } else {
+            preference.updateState(
+                    mCn.getPackageName(), mPkgInfo.applicationInfo.uid, isAllowedCn, isEnabled);
+        }
     }
 
     public void disable(final ComponentName cn) {
@@ -117,7 +142,11 @@
         AsyncTask.execute(() -> {
             if (!mNm.isNotificationPolicyAccessGrantedForPackage(
                     cn.getPackageName())) {
-                mNm.removeAutomaticZenRules(cn.getPackageName());
+                if (android.app.Flags.modesApi()) {
+                    mNm.removeAutomaticZenRules(cn.getPackageName(), /* fromUser= */ true);
+                } else {
+                    mNm.removeAutomaticZenRules(cn.getPackageName());
+                }
             }
         });
     }
@@ -135,7 +164,7 @@
     void logSpecialPermissionChange(boolean enable, String packageName) {
         final int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_NOTIVIEW_DENY;
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(mContext,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(mContext,
                 logCategory, packageName);
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java b/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java
index 8ccf7ed..b636264 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/HeaderPreferenceController.java
@@ -109,7 +109,6 @@
         mHeaderController = EntityHeaderController.newInstance(
                 mFragment.getActivity(), mFragment, pref.findViewById(R.id.entity_header));
         pref = mHeaderController
-                .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
                 .setIcon(IconDrawableFactory.newInstance(mFragment.getActivity())
                         .getBadgedIcon(mPackageInfo.applicationInfo))
                 .setLabel(mPackageInfo.applicationInfo.loadLabel(mPm))
@@ -122,7 +121,7 @@
                 .setHasAppInfoLink(true)
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE)
-                .done(mFragment.getActivity(), mContext);
+                .done(mContext);
         pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
index 17dabe4..e885d5c 100644
--- a/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
+++ b/src/com/android/settings/applications/specialaccess/notificationaccess/NotificationAccessDetails.java
@@ -21,6 +21,7 @@
 import static com.android.settings.applications.AppInfoBase.ARG_PACKAGE_NAME;
 
 import android.Manifest;
+import android.app.AppOpsManager;
 import android.app.NotificationManager;
 import android.app.settings.SettingsEnums;
 import android.companion.ICompanionDeviceManager;
@@ -102,6 +103,7 @@
                 .setCn(mComponentName)
                 .setNm(context.getSystemService(NotificationManager.class))
                 .setPm(mPm)
+                .setSettingIdentifier(AppOpsManager.OPSTR_ACCESS_NOTIFICATIONS)
                 .setParent(this);
         use(HeaderPreferenceController.class)
                 .setFragment(this)
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
index 1c322ff..d166b82 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureDetails.java
@@ -28,7 +28,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -41,7 +41,7 @@
     private static final String KEY_APP_OPS_SETTINGS_SWITCH = "app_ops_settings_switch";
     private static final String LOG_TAG = "PictureInPictureDetails";
 
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -49,7 +49,7 @@
 
         // find preferences
         addPreferencesFromResource(R.xml.picture_in_picture_permissions_details);
-        mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+        mSwitchPref = (TwoStatePreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
 
         // set title/summary for all of them
         mSwitchPref.setTitle(R.string.picture_in_picture_app_detail_switch);
@@ -124,7 +124,7 @@
                 ? SettingsEnums.APP_PICTURE_IN_PICTURE_ALLOW
                 : SettingsEnums.APP_PICTURE_IN_PICTURE_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
index 3c90bf3..f19b68a 100644
--- a/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
+++ b/src/com/android/settings/applications/specialaccess/pictureinpicture/PictureInPictureSettings.java
@@ -17,7 +17,6 @@
 
 import static android.content.pm.PackageManager.GET_ACTIVITIES;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.pm.ActivityInfo;
@@ -32,6 +31,7 @@
 import android.util.Pair;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
diff --git a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
index 54ac63e..2a5f1db 100644
--- a/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
+++ b/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccess.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.applications.specialaccess.premiumsms;
 
-import android.annotation.Nullable;
 import android.app.Application;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -24,8 +23,8 @@
 import android.telephony.SmsManager;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.DropDownPreference;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceScreen;
@@ -38,6 +37,7 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.RestrictedDropDownPreference;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.applications.ApplicationsState.Callbacks;
@@ -52,6 +52,8 @@
 public class PremiumSmsAccess extends EmptyTextSettings
         implements Callback, Callbacks, OnPreferenceChangeListener {
 
+    private static final String ECM_RESTRICTION_KEY = "android:premium_sms_access";
+
     private ApplicationsState mApplicationsState;
     private AppStateSmsPremBridge mSmsBackend;
     private Session mSession;
@@ -126,7 +128,7 @@
         if (category != SmsManager.PREMIUM_SMS_CONSENT_UNKNOWN) {
             // TODO(117860032): Category is wrong. It should be defined in SettingsEnums.
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
             metricsFeatureProvider.action(
                     metricsFeatureProvider.getAttribution(getActivity()),
                     category,
@@ -205,7 +207,7 @@
 
     }
 
-    private class PremiumSmsPreference extends DropDownPreference {
+    private class PremiumSmsPreference extends RestrictedDropDownPreference {
         private final AppEntry mAppEntry;
 
         public PremiumSmsPreference(AppEntry appEntry, Context context) {
@@ -224,6 +226,7 @@
             });
             setValue(String.valueOf(getCurrentValue()));
             setSummary("%s");
+            this.checkEcmRestrictionAndSetDisabled(ECM_RESTRICTION_KEY, appEntry.info.packageName);
         }
 
         private int getCurrentValue() {
diff --git a/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
index a70d03e..d35a492 100644
--- a/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
+++ b/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerSettings.java
@@ -69,7 +69,7 @@
         int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_VRHELPER_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_VRHELPER_DENY;
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(
                 metricsFeatureProvider.getAttribution(getActivity()),
                 logCategory,
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
index 2c52a8c..6f4137c 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessController.java
@@ -23,7 +23,6 @@
 import android.content.Context;
 import android.content.pm.PackageInfo;
 import android.content.pm.ParceledListSlice;
-import android.os.AsyncTask;
 import android.os.RemoteException;
 import android.util.ArraySet;
 import android.util.Log;
@@ -102,15 +101,19 @@
     }
 
     public static void deleteRules(final Context context, final String pkg) {
-       final NotificationManager mgr = context.getSystemService(NotificationManager.class);
-       mgr.removeAutomaticZenRules(pkg);
+        final NotificationManager mgr = context.getSystemService(NotificationManager.class);
+        if (android.app.Flags.modesApi()) {
+            mgr.removeAutomaticZenRules(pkg, /* fromUser= */ true);
+        } else {
+            mgr.removeAutomaticZenRules(pkg);
+        }
     }
 
     @VisibleForTesting
     static void logSpecialPermissionChange(boolean enable, String packageName, Context context) {
         int logCategory = enable ? SettingsEnums.APP_SPECIAL_PERMISSION_DND_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_DND_DENY;
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                 logCategory, packageName);
     }
 }
diff --git a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
index 0a326c6..ffe13e6 100644
--- a/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
+++ b/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessDetails.java
@@ -16,13 +16,12 @@
 
 package com.android.settings.applications.specialaccess.zenaccess;
 
-import android.app.ActivityManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Bundle;
 
 import androidx.appcompat.app.AlertDialog;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -66,7 +65,7 @@
         return null;
     }
 
-    public void updatePreference(Context context, SwitchPreference preference) {
+    private void updatePreference(Context context, TwoStatePreference preference) {
         final CharSequence label = mPackageInfo.applicationInfo.loadLabel(mPm);
         final Set<String> autoApproved = ZenAccessController.getAutoApprovedPackages(context);
         if (autoApproved.contains(mPackageName)) {
diff --git a/src/com/android/settings/aware/AwareFeatureProvider.java b/src/com/android/settings/aware/AwareFeatureProvider.java
deleted file mode 100644
index a4e9c0c..0000000
--- a/src/com/android/settings/aware/AwareFeatureProvider.java
+++ /dev/null
@@ -1,36 +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.aware;
-
-import android.content.Context;
-
-import androidx.fragment.app.Fragment;
-
-public interface AwareFeatureProvider {
-    /** Returns true if the aware sensor is supported. */
-    boolean isSupported(Context context);
-
-    /** Returns true if the aware feature is enabled. */
-    boolean isEnabled(Context context);
-
-    /** Show information dialog. */
-    void showRestrictionDialog(Fragment parent);
-
-    /** Return Quick Gestures Summary. */
-    CharSequence getGestureSummary(Context context, boolean sensorSupported,
-            boolean assistGestureEnabled, boolean assistGestureSilenceEnabled);
-}
diff --git a/src/com/android/settings/aware/AwareFeatureProviderImpl.java b/src/com/android/settings/aware/AwareFeatureProviderImpl.java
deleted file mode 100644
index 6f80d8a..0000000
--- a/src/com/android/settings/aware/AwareFeatureProviderImpl.java
+++ /dev/null
@@ -1,43 +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.aware;
-
-import android.content.Context;
-
-import androidx.fragment.app.Fragment;
-
-public class AwareFeatureProviderImpl implements AwareFeatureProvider {
-    @Override
-    public boolean isSupported(Context context) {
-        return false;
-    }
-
-    @Override
-    public boolean isEnabled(Context context) {
-        return false;
-    }
-
-    @Override
-    public void showRestrictionDialog(Fragment parent) {
-    }
-
-    @Override
-    public CharSequence getGestureSummary(Context context, boolean sensorSupported,
-            boolean assistGestureEnabled, boolean assistGestureSilenceEnabled) {
-        return null;
-    }
-}
diff --git a/src/com/android/settings/backup/AutoRestorePreferenceController.java b/src/com/android/settings/backup/AutoRestorePreferenceController.java
index bf63e25..1394ce1 100644
--- a/src/com/android/settings/backup/AutoRestorePreferenceController.java
+++ b/src/com/android/settings/backup/AutoRestorePreferenceController.java
@@ -25,7 +25,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -79,7 +79,7 @@
             backupManager.setAutoRestore(nextValue);
             result = true;
         } catch (RemoteException e) {
-            ((SwitchPreference) mPreference).setChecked(!nextValue);
+            ((TwoStatePreference) mPreference).setChecked(!nextValue);
             Log.e(TAG, "Error can't set setAutoRestore", e);
         }
 
diff --git a/src/com/android/settings/backup/BackupSettingsHelper.java b/src/com/android/settings/backup/BackupSettingsHelper.java
index b55172e..258f54d 100644
--- a/src/com/android/settings/backup/BackupSettingsHelper.java
+++ b/src/com/android/settings/backup/BackupSettingsHelper.java
@@ -24,7 +24,6 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
-import android.os.UserManager;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -51,24 +50,6 @@
     }
 
     /**
-     * If there is only one profile, show whether the backup is on or off.
-     * Otherwise, show nothing.
-     */
-    public String getSummary() {
-        UserManager userManager = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
-        if (userManager.getUserProfiles().size() == 1) {
-            try {
-                int resId = mBackupManager.isBackupEnabled()
-                        ? R.string.backup_summary_state_on : R.string.backup_summary_state_off;
-                return mContext.getText(resId).toString();
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error getting isBackupEnabled", e);
-            }
-        }
-        return null;
-    }
-
-    /**
      * Returns an intent to launch backup settings from backup transport if the intent was provided
      * by the transport. Otherwise returns the intent to launch the default backup settings screen.
      *
diff --git a/src/com/android/settings/backup/SettingsBackupHelper.java b/src/com/android/settings/backup/SettingsBackupHelper.java
index a682df8..04935a7 100644
--- a/src/com/android/settings/backup/SettingsBackupHelper.java
+++ b/src/com/android/settings/backup/SettingsBackupHelper.java
@@ -16,29 +16,47 @@
 
 package com.android.settings.backup;
 
+import static com.android.settings.localepicker.LocaleNotificationDataManager.LOCALE_NOTIFICATION;
+
 import android.app.backup.BackupAgentHelper;
 import android.app.backup.BackupDataInputStream;
 import android.app.backup.BackupDataOutput;
 import android.app.backup.BackupHelper;
+import android.app.backup.SharedPreferencesBackupHelper;
 import android.os.ParcelFileDescriptor;
 
 import com.android.settings.fuelgauge.BatteryBackupHelper;
+import com.android.settings.onboarding.OnboardingFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.shortcut.CreateShortcutPreferenceController;
 
 import java.io.FileInputStream;
 import java.io.FileOutputStream;
 import java.io.IOException;
+import com.android.settings.flags.Flags;
 
 /**
  * Backup agent for Settings APK
  */
 public class SettingsBackupHelper extends BackupAgentHelper {
+    private static final String PREF_LOCALE_NOTIFICATION = "localeNotificationSharedPref";
+    public static final String SOUND_BACKUP_HELPER = "SoundSettingsBackup";
 
     @Override
     public void onCreate() {
         super.onCreate();
         addHelper("no-op", new NoOpHelper());
         addHelper(BatteryBackupHelper.TAG, new BatteryBackupHelper(this));
+        addHelper(PREF_LOCALE_NOTIFICATION,
+                new SharedPreferencesBackupHelper(this, LOCALE_NOTIFICATION));
+        if (Flags.enableSoundBackup()) {
+            OnboardingFeatureProvider onboardingFeatureProvider =
+                    FeatureFactory.getFeatureFactory().getOnboardingFeatureProvider();
+            if (onboardingFeatureProvider != null) {
+                addHelper(SOUND_BACKUP_HELPER, onboardingFeatureProvider.
+                        getSoundBackupHelper(this, this.getBackupRestoreEventLogger()));
+            }
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/backup/ToggleBackupSettingFragment.java b/src/com/android/settings/backup/ToggleBackupSettingFragment.java
index 8f60be9..c3ad92f 100644
--- a/src/com/android/settings/backup/ToggleBackupSettingFragment.java
+++ b/src/com/android/settings/backup/ToggleBackupSettingFragment.java
@@ -11,7 +11,6 @@
 import android.provider.Settings;
 import android.util.Log;
 import android.view.View;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
@@ -116,8 +115,7 @@
         mSwitchBar.setOnBeforeCheckedChangeListener(
                 new SettingsMainSwitchBar.OnBeforeCheckedChangeListener() {
                     @Override
-                    public boolean onBeforeCheckedChanged(
-                            Switch toggleSwitch, boolean checked) {
+                    public boolean onBeforeCheckedChanged(boolean checked) {
                         if (!checked) {
                             // Don't change Switch status until user makes choice in dialog
                             // so return true here.
diff --git a/src/com/android/settings/biometrics/BiometricEnrollActivity.java b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
index ebbe2e8..73e1af1 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollActivity.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollActivity.java
@@ -24,7 +24,6 @@
 
 import static com.google.android.setupdesign.transition.TransitionHelper.TRANSITION_FADE_THROUGH;
 
-import android.annotation.NonNull;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
@@ -45,6 +44,7 @@
 import android.os.UserManager;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 
 import com.android.internal.util.FrameworkStatsLog;
@@ -238,7 +238,7 @@
                 if (parentalConsent && isMultiSensor && mIsFaceEnrollable) {
                     // Exclude face enrollment from setup wizard if feature config not supported
                     // in setup wizard flow, we still allow user enroll faces through settings.
-                    mIsFaceEnrollable = FeatureFactory.getFactory(getApplicationContext())
+                    mIsFaceEnrollable = FeatureFactory.getFeatureFactory()
                             .getFaceFeatureProvider()
                             .isSetupWizardSupported(getApplicationContext());
                     Log.d(TAG, "config_suw_support_face_enroll: " + mIsFaceEnrollable);
@@ -424,7 +424,9 @@
     // handles responses while parental consent is pending
     private void handleOnActivityResultWhileConsenting(
             int requestCode, int resultCode, Intent data) {
-        overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+        overridePendingTransition(
+                com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                com.google.android.setupdesign.R.anim.sud_slide_next_out);
 
         switch (requestCode) {
             case REQUEST_CHOOSE_LOCK:
diff --git a/src/com/android/settings/biometrics/BiometricEnrollBase.java b/src/com/android/settings/biometrics/BiometricEnrollBase.java
index 6e11079..335d0b9 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollBase.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollBase.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
 
-import android.annotation.Nullable;
 import android.annotation.SuppressLint;
 import android.content.Intent;
 import android.content.res.ColorStateList;
@@ -32,6 +31,7 @@
 import android.widget.TextView;
 
 import androidx.annotation.ColorInt;
+import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
@@ -40,6 +40,7 @@
 import com.android.settings.core.InstrumentedActivity;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
 import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
 import com.android.systemui.unfold.updates.FoldProvider;
 
@@ -171,8 +172,16 @@
             mNextLaunched = savedInstanceState.getBoolean(EXTRA_KEY_NEXT_LAUNCHED);
         }
         mUserId = getIntent().getIntExtra(Intent.EXTRA_USER_ID, UserHandle.myUserId());
-        mPostureGuidanceIntent = FeatureFactory.getFactory(getApplicationContext())
+        mPostureGuidanceIntent = FeatureFactory.getFeatureFactory()
                 .getFaceFeatureProvider().getPostureGuidanceIntent(getApplicationContext());
+
+        // Remove the existing split screen dialog.
+        BiometricsSplitScreenDialog dialog =
+                (BiometricsSplitScreenDialog) getSupportFragmentManager()
+                        .findFragmentByTag(BiometricsSplitScreenDialog.class.getName());
+        if (dialog != null) {
+            getSupportFragmentManager().beginTransaction().remove(dialog).commit();
+        }
     }
 
     @Override
@@ -338,4 +347,8 @@
         final ColorStateList stateList = Utils.getColorAttr(this, android.R.attr.windowBackground);
         return stateList != null ? stateList.getDefaultColor() : Color.TRANSPARENT;
     }
+
+    protected boolean shouldShowSplitScreenDialog() {
+        return isInMultiWindowMode() && !ActivityEmbeddingUtils.isActivityEmbedded(this);
+    }
 }
diff --git a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
index 46f534d..1b9a70f 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollIntroduction.java
@@ -154,6 +154,12 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        if (shouldShowSplitScreenDialog()) {
+            BiometricsSplitScreenDialog
+                    .newInstance(getModality(), !WizardManagerHelper.isAnySetupWizard(getIntent()))
+                    .show(getSupportFragmentManager(), BiometricsSplitScreenDialog.class.getName());
+        }
+
         if (savedInstanceState != null) {
             mConfirmingCredentials = savedInstanceState.getBoolean(KEY_CONFIRMING_CREDENTIALS);
             mHasScrolledToBottom = savedInstanceState.getBoolean(KEY_SCROLLED_TO_BOTTOM);
@@ -293,6 +299,13 @@
 
     @Override
     protected void onNextButtonClick(View view) {
+        // If it's not on suw, this method shouldn't be accessed.
+        if (shouldShowSplitScreenDialog() && WizardManagerHelper.isAnySetupWizard(getIntent())) {
+            BiometricsSplitScreenDialog.newInstance(getModality(), false /*destroyActivity*/)
+                    .show(getSupportFragmentManager(), BiometricsSplitScreenDialog.class.getName());
+            return;
+        }
+
         mNextClicked = true;
         if (checkMaxEnrolled() == 0) {
             // Lock thingy is already set up, launch directly to the next page
@@ -367,7 +380,9 @@
                 updatePasswordQuality();
                 final boolean handled = onSetOrConfirmCredentials(data);
                 if (!handled) {
-                    overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+                    overridePendingTransition(
+                            com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                            com.google.android.setupdesign.R.anim.sud_slide_next_out);
                     getNextButton().setEnabled(false);
                     getChallenge(((sensorId, userId, challenge) -> {
                         mSensorId = sensorId;
@@ -387,7 +402,9 @@
             if (resultCode == RESULT_OK && data != null) {
                 final boolean handled = onSetOrConfirmCredentials(data);
                 if (!handled) {
-                    overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+                    overridePendingTransition(
+                            com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                            com.google.android.setupdesign.R.anim.sud_slide_next_out);
                     getNextButton().setEnabled(false);
                     getChallenge(((sensorId, userId, challenge) -> {
                         mSensorId = sensorId;
@@ -403,7 +420,9 @@
                 finish();
             }
         } else if (requestCode == LEARN_MORE_REQUEST) {
-            overridePendingTransition(R.anim.sud_slide_back_in, R.anim.sud_slide_back_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_slide_back_in,
+                    com.google.android.setupdesign.R.anim.sud_slide_back_out);
         } else if (requestCode == ENROLL_NEXT_BIOMETRIC_REQUEST
                 || cameFromMultiBioFpAuthAddAnother) {
             if (isResultFinished(resultCode)) {
diff --git a/src/com/android/settings/biometrics/BiometricEnrollSidecar.java b/src/com/android/settings/biometrics/BiometricEnrollSidecar.java
index 369fa4b..78f6087 100644
--- a/src/com/android/settings/biometrics/BiometricEnrollSidecar.java
+++ b/src/com/android/settings/biometrics/BiometricEnrollSidecar.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.biometrics;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
@@ -24,6 +23,8 @@
 import android.os.Handler;
 import android.os.UserHandle;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
diff --git a/src/com/android/settings/biometrics/BiometricHandoffActivity.java b/src/com/android/settings/biometrics/BiometricHandoffActivity.java
index 7f28ced..263bab1 100644
--- a/src/com/android/settings/biometrics/BiometricHandoffActivity.java
+++ b/src/com/android/settings/biometrics/BiometricHandoffActivity.java
@@ -56,7 +56,7 @@
                     .setText(R.string.biometric_settings_hand_back_to_guardian_ok)
                     .setButtonType(FooterButton.ButtonType.NEXT)
                     .setListener(this::onNextButtonClick)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mPrimaryFooterButton;
diff --git a/src/com/android/settings/biometrics/BiometricSettingsProvider.kt b/src/com/android/settings/biometrics/BiometricSettingsProvider.kt
new file mode 100644
index 0000000..308f245
--- /dev/null
+++ b/src/com/android/settings/biometrics/BiometricSettingsProvider.kt
@@ -0,0 +1,78 @@
+/*
+ * 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
+
+import android.content.ContentProvider
+import android.content.ContentValues
+import android.database.Cursor
+import android.net.Uri
+import android.os.Bundle
+import com.android.settings.flags.Flags
+
+class BiometricSettingsProvider : ContentProvider() {
+  companion object {
+    const val GET_SUW_FACE_ENABLED = "getSuwFaceEnabled"
+    const val SUW_FACE_ENABLED = "suw_face_enabled"
+  }
+
+  override fun delete(uri: Uri, selection: String?, selectionArgs: Array<out String>?): Int {
+    throw UnsupportedOperationException("query operation not supported currently.")
+  }
+
+  override fun getType(uri: Uri): String? {
+    throw UnsupportedOperationException("getType not supported")
+  }
+
+  override fun insert(uri: Uri, values: ContentValues?): Uri? {
+    throw UnsupportedOperationException("insert not supported")
+  }
+
+  override fun query(
+    uri: Uri,
+    projection: Array<out String>?,
+    selection: String?,
+    selectionArgs: Array<out String>?,
+    sortOrder: String?
+  ): Cursor? {
+    throw UnsupportedOperationException("query not supported")
+  }
+
+  override fun update(
+    uri: Uri,
+    values: ContentValues?,
+    selection: String?,
+    selectionArgs: Array<out String>?
+  ): Int {
+    throw UnsupportedOperationException("update not supported")
+  }
+
+  override fun onCreate(): Boolean = true
+
+  override fun call(method: String, arg: String?, extras: Bundle?): Bundle? {
+    val bundle = Bundle()
+    if (Flags.biometricSettingsProvider()) {
+      if (GET_SUW_FACE_ENABLED == method) {
+        val faceEnabled =
+          requireContext()
+            .resources
+            .getBoolean(com.android.settings.R.bool.config_suw_support_face_enroll)
+        bundle.putBoolean(SUW_FACE_ENABLED, faceEnabled)
+      }
+    }
+    return bundle
+  }
+}
diff --git a/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java b/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
index 2f9ae6b..b9d2072 100644
--- a/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
+++ b/src/com/android/settings/biometrics/BiometricStatusPreferenceController.java
@@ -71,7 +71,7 @@
     public BiometricStatusPreferenceController(Context context, String key) {
         super(context, key);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
diff --git a/src/com/android/settings/biometrics/BiometricUtils.java b/src/com/android/settings/biometrics/BiometricUtils.java
index 4e1a2f3..3376d86 100644
--- a/src/com/android/settings/biometrics/BiometricUtils.java
+++ b/src/com/android/settings/biometrics/BiometricUtils.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.biometrics;
 
+import static android.util.FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT;
+
 import android.annotation.IntDef;
 import android.app.Activity;
 import android.app.PendingIntent;
@@ -23,6 +25,7 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentSender;
+import android.hardware.biometrics.BiometricManager;
 import android.hardware.biometrics.SensorProperties;
 import android.hardware.face.FaceManager;
 import android.hardware.face.FaceSensorPropertiesInternal;
@@ -63,6 +66,7 @@
  */
 public class BiometricUtils {
     private static final String TAG = "BiometricUtils";
+    public static final String EXTRA_ENROLL_REASON = BiometricManager.EXTRA_ENROLL_REASON;
 
     /** The character ' • ' to separate the setup choose options */
     public static final String SEPARATOR = " \u2022 ";
@@ -249,20 +253,22 @@
      */
     public static Intent getFingerprintFindSensorIntent(@NonNull Context context,
             @NonNull Intent activityIntent) {
-        if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT)) {
-            final Intent intent = new Intent(context, FingerprintEnrollmentActivity.class);
+        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);
-            if (WizardManagerHelper.isAnySetupWizard(activityIntent)) {
-                SetupWizardUtils.copySetupExtras(activityIntent, intent);
-            }
-            return intent;
-        } else if (WizardManagerHelper.isAnySetupWizard(activityIntent)) {
-            Intent intent = new Intent(context, SetupFingerprintEnrollFindSensor.class);
-            SetupWizardUtils.copySetupExtras(activityIntent, intent);
-            return intent;
         } else {
-            return new Intent(context, FingerprintEnrollFindSensor.class);
+            intent = new Intent(context, isSuw
+                    ? SetupFingerprintEnrollFindSensor.class
+                    : FingerprintEnrollFindSensor.class);
         }
+        if (isSuw) {
+            SetupWizardUtils.copySetupExtras(activityIntent, intent);
+        }
+        return intent;
     }
 
     /**
@@ -272,19 +278,21 @@
      */
     public static Intent getFingerprintIntroIntent(@NonNull Context context,
             @NonNull Intent activityIntent) {
-        if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT)) {
-            final Intent intent = new Intent(context, FingerprintEnrollmentActivity.class);
-            if (WizardManagerHelper.isAnySetupWizard(activityIntent)) {
-                WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent);
-            }
-            return intent;
-        } else if (WizardManagerHelper.isAnySetupWizard(activityIntent)) {
-            Intent intent = new Intent(context, SetupFingerprintEnrollIntroduction.class);
-            WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent);
-            return intent;
+        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 {
-            return new Intent(context, FingerprintEnrollIntroduction.class);
+            intent = new Intent(context, isSuw
+                    ? SetupFingerprintEnrollIntroduction.class
+                    : FingerprintEnrollIntroduction.class);
         }
+        if (isSuw) {
+            WizardManagerHelper.copyWizardManagerExtras(activityIntent, intent);
+        }
+        return intent;
     }
 
     /**
@@ -508,7 +516,7 @@
      * Returns true if the device supports Face enrollment in SUW flow
      */
     public static boolean isFaceSupportedInSuw(Context context) {
-        return FeatureFactory.getFactory(context).getFaceFeatureProvider().isSetupWizardSupported(
+        return FeatureFactory.getFeatureFactory().getFaceFeatureProvider().isSetupWizardSupported(
                 context);
     }
 
diff --git a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
index 7051b70..1e1a142 100644
--- a/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/BiometricsEnrollEnrolling.java
@@ -16,11 +16,12 @@
 
 package com.android.settings.biometrics;
 
-import android.annotation.Nullable;
 import android.content.Intent;
 import android.os.UserHandle;
 import android.view.View;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 /**
@@ -96,6 +97,14 @@
     }
 
     public void startEnrollment() {
+        // If it's in multi window mode, dialog is shown, do not start enrollment.
+        if (shouldShowSplitScreenDialog()) {
+            return;
+        }
+        startEnrollmentInternal();
+    }
+
+    protected void startEnrollmentInternal() {
         mSidecar = (BiometricEnrollSidecar) getSupportFragmentManager()
                 .findFragmentByTag(TAG_SIDECAR);
         if (mSidecar == null) {
diff --git a/src/com/android/settings/biometrics/BiometricsSplitScreenDialog.java b/src/com/android/settings/biometrics/BiometricsSplitScreenDialog.java
index c1ecee8..79feb0b 100644
--- a/src/com/android/settings/biometrics/BiometricsSplitScreenDialog.java
+++ b/src/com/android/settings/biometrics/BiometricsSplitScreenDialog.java
@@ -18,6 +18,8 @@
 
 import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
 
+import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_SKIP;
+
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.DialogInterface;
@@ -34,23 +36,33 @@
  */
 public class BiometricsSplitScreenDialog extends InstrumentedDialogFragment {
     private static final String KEY_BIOMETRICS_MODALITY = "biometrics_modality";
+    private static final String KEU_DESTROY_ACTIVITY = "destroy_activity";
 
     @BiometricAuthenticator.Modality
     private int mBiometricsModality;
+    private boolean mDestroyActivity;
 
-    /** Returns the new instance of the class */
+    /**
+     * Returns the new instance of the class
+     * @param biometricsModality Biometric modality.
+     * @param destroyActivity Whether to destroy the activity
+     * @return the current {@link BiometricsSplitScreenDialog}
+     */
     public static BiometricsSplitScreenDialog newInstance(
-            @BiometricAuthenticator.Modality int biometricsModality) {
+            @BiometricAuthenticator.Modality int biometricsModality, boolean destroyActivity) {
         final BiometricsSplitScreenDialog dialog = new BiometricsSplitScreenDialog();
         final Bundle args = new Bundle();
         args.putInt(KEY_BIOMETRICS_MODALITY, biometricsModality);
+        args.putBoolean(KEU_DESTROY_ACTIVITY, destroyActivity);
         dialog.setArguments(args);
+        dialog.setCancelable(false);
         return dialog;
     }
 
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         mBiometricsModality = getArguments().getInt(KEY_BIOMETRICS_MODALITY);
+        mDestroyActivity = getArguments().getBoolean(KEU_DESTROY_ACTIVITY);
         int titleId;
         int messageId;
         switch (mBiometricsModality) {
@@ -65,9 +77,16 @@
         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
         builder.setTitle(titleId)
                 .setMessage(messageId)
+                .setCancelable(false)
                 .setPositiveButton(
                         R.string.biometric_settings_add_biometrics_in_split_mode_ok,
-                        (DialogInterface.OnClickListener) (dialog, which) -> dialog.dismiss());
+                        (DialogInterface.OnClickListener) (dialog, which) -> {
+                            dialog.dismiss();
+                            if (mDestroyActivity) {
+                                getActivity().setResult(RESULT_SKIP);
+                                getActivity().finish();
+                            }
+                        });
         return builder.create();
     }
 
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
index 1f30e56..ce12c59 100644
--- a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetup.java
@@ -88,7 +88,7 @@
                         .setText(R.string.cancel)
                         .setListener(this::onCancelClick)
                         .setButtonType(FooterButton.ButtonType.CANCEL)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -97,7 +97,7 @@
                         .setText(R.string.security_settings_activeunlock_biometric_setup)
                         .setListener(this::onNextButtonClick)
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java
index 4d92598..2eee9df 100644
--- a/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java
+++ b/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtils.java
@@ -191,13 +191,10 @@
     public String getIntroForActiveUnlock() {
         final boolean faceAllowed = Utils.hasFaceHardware(mContext);
         final boolean fingerprintAllowed = Utils.hasFingerprintHardware(mContext);
-        if (useBiometricFailureLayout()) {
+        if (isAvailable()) {
             int introRes = getIntroRes(faceAllowed, fingerprintAllowed);
             return introRes == 0 ? "" : mContext.getString(introRes);
         }
-        if (useUnlockIntentLayout() && (!faceAllowed || !fingerprintAllowed)) {
-            return "";
-        }
         return mContext.getString(R.string.biometric_settings_intro);
     }
 
diff --git a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
index 69ae9a7..b174788 100644
--- a/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
+++ b/src/com/android/settings/biometrics/combination/BiometricsSettingsBase.java
@@ -16,8 +16,6 @@
 package com.android.settings.biometrics.combination;
 
 import static android.app.Activity.RESULT_OK;
-import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
-import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT;
 
 import static com.android.settings.password.ChooseLockPattern.RESULT_FINISHED;
 
@@ -48,12 +46,10 @@
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricStatusPreferenceController;
 import com.android.settings.biometrics.BiometricUtils;
-import com.android.settings.biometrics.BiometricsSplitScreenDialog;
 import com.android.settings.core.SettingsBaseActivity;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.password.ChooseLockSettingsHelper;
-import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.transition.SettingsTransitionHelper;
 
@@ -167,18 +163,6 @@
         // since FingerprintSettings and FaceSettings revoke the challenge when finishing.
         if (getFacePreferenceKey().equals(key)) {
             mDoNotFinishActivity = true;
-
-            //  If it's split mode and there is no enrolled face, show the dialog. (if there is
-            //  enrolled face, FaceSettingsEnrollButtonPreferenceController#onClick will handle
-            //  the dialog)
-            if (getActivity().isInMultiWindowMode() && !ActivityEmbeddingUtils.isActivityEmbedded(
-                    getActivity()) && !mFaceManager.hasEnrolledTemplates(mUserId)) {
-                BiometricsSplitScreenDialog.newInstance(TYPE_FACE).show(
-                        getActivity().getSupportFragmentManager(),
-                        BiometricsSplitScreenDialog.class.getName());
-                return true;
-            }
-
             mFaceManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
                 final Activity activity = getActivity();
                 if (activity == null || activity.isFinishing()) {
@@ -209,18 +193,6 @@
             return true;
         } else if (getFingerprintPreferenceKey().equals(key)) {
             mDoNotFinishActivity = true;
-
-            //  If it's split mode and there is no enrolled fingerprint, show the dialog. (if
-            //  there is enrolled fingerprint, FingerprintSettingsFragment#onPreferenceTreeClick
-            //  will handle the dialog)
-            if (getActivity().isInMultiWindowMode() && !ActivityEmbeddingUtils.isActivityEmbedded(
-                    getActivity()) && !mFingerprintManager.hasEnrolledFingerprints(mUserId)) {
-                BiometricsSplitScreenDialog.newInstance(TYPE_FINGERPRINT).show(
-                        getActivity().getSupportFragmentManager(),
-                        BiometricsSplitScreenDialog.class.getName());
-                return true;
-            }
-
             mFingerprintManager.generateChallenge(mUserId, (sensorId, userId, challenge) -> {
                 final Activity activity = getActivity();
                 if (activity == null || activity.isFinishing()) {
@@ -328,8 +300,9 @@
                 if (BiometricUtils.containsGatekeeperPasswordHandle(data)) {
                     mGkPwHandle = BiometricUtils.getGatekeeperPasswordHandle(data);
                     if (!TextUtils.isEmpty(mRetryPreferenceKey)) {
-                        getActivity().overridePendingTransition(R.anim.sud_slide_next_in,
-                                R.anim.sud_slide_next_out);
+                        getActivity().overridePendingTransition(
+                                com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                                com.google.android.setupdesign.R.anim.sud_slide_next_out);
                         retryPreferenceKey(mRetryPreferenceKey, mRetryPreferenceExtra);
                     }
                 } else {
diff --git a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java
index 8cc6bc4..2cd239e 100644
--- a/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java
+++ b/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtils.java
@@ -159,4 +159,12 @@
     public String getProfileSettingsClassName() {
         return Settings.CombinedBiometricProfileSettingsActivity.class.getName();
     }
+
+    /**
+     * Returns the class name of the Settings page corresponding to combined biometric settings for
+     * Private profile.
+     */
+    public String getPrivateProfileSettingsClassName() {
+        return Settings.PrivateSpaceBiometricSettingsActivity.class.getName();
+    }
 }
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java b/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java
index f6ba0f9..b0b9488 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollAccessibilityToggle.java
@@ -22,17 +22,18 @@
 import android.view.LayoutInflater;
 import android.widget.CompoundButton;
 import android.widget.LinearLayout;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import com.android.settings.R;
 
+import com.google.android.material.materialswitch.MaterialSwitch;
+
 /**
  * A layout that contains a start-justified title, and an end-justified switch.
  */
 public class FaceEnrollAccessibilityToggle extends LinearLayout {
 
-    private Switch mSwitch;
+    private final MaterialSwitch mSwitch;
 
     public FaceEnrollAccessibilityToggle(Context context) {
         this(context, null /* attrs */);
@@ -70,13 +71,14 @@
 
     public void setChecked(boolean checked) {
         mSwitch.setChecked(checked);
+        mSwitch.jumpDrawablesToCurrentState(); // Do not trigger animation from activity
     }
 
     public void setListener(CompoundButton.OnCheckedChangeListener listener) {
         mSwitch.setOnCheckedChangeListener(listener);
     }
 
-    public Switch getSwitch() {
+    public CompoundButton getSwitch() {
         return mSwitch;
     }
 }
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
index 4ef4752..6862bc9 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEducation.java
@@ -25,6 +25,8 @@
 import android.content.res.Configuration;
 import android.hardware.face.FaceManager;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
 import android.os.UserHandle;
 import android.text.TextUtils;
 import android.util.Log;
@@ -32,6 +34,7 @@
 import android.view.accessibility.AccessibilityManager;
 import android.widget.Button;
 import android.widget.CompoundButton;
+import android.widget.ScrollView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
@@ -86,6 +89,23 @@
                 }
             };
 
+    final View.OnLayoutChangeListener mSwitchDiversityOnLayoutChangeListener =
+            (v, left, top, right, bottom, oldLeft, oldTop, oldRight, oldBottom) -> {
+                if (oldBottom == 0 && bottom != 0) {
+                    new Handler(Looper.getMainLooper()).post(() -> {
+                        final ScrollView scrollView =
+                                findViewById(com.google.android.setupdesign.R.id.sud_scroll_view);
+                        if (scrollView != null) {
+                            scrollView.fullScroll(View.FOCUS_DOWN); // scroll down
+                        }
+                        if (mSwitchDiversity != null) {
+                            mSwitchDiversity.removeOnLayoutChangeListener(
+                                    this.mSwitchDiversityOnLayoutChangeListener);
+                        }
+                    });
+                }
+            };
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -117,7 +137,8 @@
                             .setText(R.string.skip_label)
                             .setListener(this::onSkipButtonClick)
                             .setButtonType(FooterButton.ButtonType.SKIP)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
         } else {
@@ -126,7 +147,8 @@
                             .setText(R.string.security_settings_face_enroll_introduction_cancel)
                             .setListener(this::onSkipButtonClick)
                             .setButtonType(FooterButton.ButtonType.CANCEL)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
         }
@@ -135,7 +157,7 @@
                 .setText(R.string.security_settings_face_enroll_education_start)
                 .setListener(this::onNextButtonClick)
                 .setButtonType(FooterButton.ButtonType.NEXT)
-                .setTheme(R.style.SudGlifButton_Primary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                 .build();
 
         final AccessibilityManager accessibilityManager = getApplicationContext().getSystemService(
@@ -153,6 +175,7 @@
             mSwitchDiversity.setChecked(true);
             accessibilityButton.setVisibility(View.GONE);
             mSwitchDiversity.setVisibility(View.VISIBLE);
+            mSwitchDiversity.addOnLayoutChangeListener(mSwitchDiversityOnLayoutChangeListener);
         });
 
         mSwitchDiversity = findViewById(R.id.toggle_diversity);
@@ -242,6 +265,8 @@
         }
 
         intent.putExtra(EXTRA_KEY_REQUIRE_DIVERSITY, !mSwitchDiversity.isChecked());
+        intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
 
         if (!mSwitchDiversity.isChecked() && mAccessibilityEnabled) {
             FaceEnrollAccessibilityDialog dialog = FaceEnrollAccessibilityDialog.newInstance();
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
index 68fbe38..da3689a 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollEnrolling.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.biometrics.face;
 
+import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
+
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.hardware.face.FaceManager;
@@ -33,6 +35,7 @@
 import com.android.settings.biometrics.BiometricErrorDialog;
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.biometrics.BiometricsEnrollEnrolling;
+import com.android.settings.biometrics.BiometricsSplitScreenDialog;
 import com.android.settings.slices.CustomSliceRegistry;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
@@ -88,6 +91,10 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
+        if (shouldShowSplitScreenDialog()) {
+            BiometricsSplitScreenDialog.newInstance(TYPE_FACE, true /*destroyActivity*/)
+                    .show(getSupportFragmentManager(), BiometricsSplitScreenDialog.class.getName());
+        }
         setContentView(R.layout.face_enroll_enrolling);
         setHeaderText(R.string.security_settings_face_enroll_repeat_title);
         mErrorText = findViewById(R.id.error_text);
@@ -100,7 +107,7 @@
                         .setText(R.string.security_settings_face_enroll_enrolling_skip)
                         .setListener(this::onSkipButtonClick)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -134,7 +141,7 @@
     }
 
     @Override
-    public void startEnrollment() {
+    protected void startEnrollmentInternal() {
         super.startEnrollment();
         mPreviewFragment = (FaceEnrollPreviewFragment) getSupportFragmentManager()
                 .findFragmentByTag(TAG_FACE_PREVIEW);
@@ -158,7 +165,7 @@
             disabledFeatures[i] = mDisabledFeatures.get(i);
         }
 
-        return new FaceEnrollSidecar(disabledFeatures);
+        return new FaceEnrollSidecar(disabledFeatures, getIntent());
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
index 6e99cdb..16aeeb0 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollFinish.java
@@ -43,7 +43,7 @@
                         .setText(R.string.security_settings_face_enroll_done)
                         .setListener(this::onNextButtonClick)
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
index bea0c33..b0996a4 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollIntroduction.java
@@ -484,6 +484,9 @@
     protected Intent getEnrollingIntent() {
         Intent intent = new Intent(this, FaceEnrollEducation.class);
         WizardManagerHelper.copyWizardManagerExtras(getIntent(), intent);
+        intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
+
         return intent;
     }
 
@@ -537,7 +540,7 @@
                     .setText(R.string.security_settings_face_enroll_introduction_agree)
                     .setButtonType(FooterButton.ButtonType.OPT_IN)
                     .setListener(this::onNextButtonClick)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mPrimaryFooterButton;
@@ -551,7 +554,7 @@
                     .setText(R.string.security_settings_face_enroll_introduction_no_thanks)
                     .setListener(this::onSkipButtonClick)
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mSecondaryFooterButton;
diff --git a/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java b/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
index de713dd..b7ba1b5 100644
--- a/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
+++ b/src/com/android/settings/biometrics/face/FaceEnrollSidecar.java
@@ -18,6 +18,7 @@
 
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
+import android.content.Intent;
 import android.hardware.face.FaceManager;
 
 import com.android.settings.biometrics.BiometricEnrollSidecar;
@@ -33,8 +34,11 @@
 
     private FaceUpdater mFaceUpdater;
 
-    public FaceEnrollSidecar(int[] disabledFeatures) {
+    private Intent mIntent;
+
+    public FaceEnrollSidecar(int[] disabledFeatures, Intent intent) {
         mDisabledFeatures = Arrays.copyOf(disabledFeatures, disabledFeatures.length);
+        mIntent = intent;
     }
 
     @Override
@@ -47,7 +51,7 @@
     public void startEnrollment() {
         super.startEnrollment();
         mFaceUpdater.enroll(mUserId, mToken, mEnrollmentCancel,
-                mEnrollmentCallback, mDisabledFeatures);
+                mEnrollmentCallback, mDisabledFeatures, mIntent);
     }
 
     private FaceManager.EnrollmentCallback mEnrollmentCallback
diff --git a/src/com/android/settings/biometrics/face/FaceSettings.java b/src/com/android/settings/biometrics/face/FaceSettings.java
index 2e94404..197aca0 100644
--- a/src/com/android/settings/biometrics/face/FaceSettings.java
+++ b/src/com/android/settings/biometrics/face/FaceSettings.java
@@ -18,7 +18,6 @@
 
 import static android.app.Activity.RESULT_OK;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.FACE_SETTINGS_FOR_WORK_TITLE;
-import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
 
 import static com.android.settings.biometrics.BiometricEnrollBase.CONFIRM_REQUEST;
 import static com.android.settings.biometrics.BiometricEnrollBase.ENROLL_REQUEST;
@@ -43,12 +42,10 @@
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricUtils;
-import com.android.settings.biometrics.BiometricsSplitScreenDialog;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.LayoutPreference;
@@ -104,26 +101,8 @@
         mEnrollButton.setVisible(true);
     };
 
-    private final FaceSettingsEnrollButtonPreferenceController.Listener mEnrollListener =
-            new FaceSettingsEnrollButtonPreferenceController.Listener() {
-                @Override
-                public boolean onShowSplitScreenDialog() {
-                    if (getActivity().isInMultiWindowMode()
-                            && !ActivityEmbeddingUtils.isActivityEmbedded(getActivity())) {
-                        // If it's in split mode, show the error dialog.
-                        BiometricsSplitScreenDialog.newInstance(TYPE_FACE).show(
-                                getActivity().getSupportFragmentManager(),
-                                BiometricsSplitScreenDialog.class.getName());
-                        return true;
-                    }
-                    return false;
-                }
-
-                @Override
-                public void onStartEnrolling(Intent intent) {
-                    FaceSettings.this.startActivityForResult(intent, ENROLL_REQUEST);
-                }
-            };
+    private final FaceSettingsEnrollButtonPreferenceController.Listener mEnrollListener = intent ->
+            startActivityForResult(intent, ENROLL_REQUEST);
 
     /**
      * @param context
@@ -182,7 +161,7 @@
 
         mUserId = getActivity().getIntent().getIntExtra(
                 Intent.EXTRA_USER_ID, UserHandle.myUserId());
-        mFaceFeatureProvider = FeatureFactory.getFactory(getContext()).getFaceFeatureProvider();
+        mFaceFeatureProvider = FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
 
         if (mUserManager.getUserInfo(mUserId).isManagedProfile()) {
             getActivity().setTitle(
@@ -418,13 +397,9 @@
                 }
 
                 private boolean isAttentionSupported(Context context) {
-                    FaceFeatureProvider featureProvider = FeatureFactory.getFactory(
-                            context).getFaceFeatureProvider();
-                    boolean isAttentionSupported = false;
-                    if (featureProvider != null) {
-                        isAttentionSupported = featureProvider.isAttentionSupported(context);
-                    }
-                    return isAttentionSupported;
+                    FaceFeatureProvider featureProvider =
+                            FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
+                    return featureProvider.isAttentionSupported(context);
                 }
 
                 private boolean hasEnrolledBiometrics(Context context) {
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
index 82fa00b..b5e9908 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsAttentionPreferenceController.java
@@ -23,7 +23,7 @@
 import android.provider.Settings;
 
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.Utils;
 
@@ -37,7 +37,7 @@
 
     private byte[] mToken;
     private FaceManager mFaceManager;
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
 
     private final SetFeatureCallback mSetFeatureCallback = new SetFeatureCallback() {
         @Override
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java
index 50e4248..e5f7c4f 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceController.java
@@ -75,11 +75,6 @@
 
     @Override
     public void onClick(View v) {
-        // If it's in multi window mode, do not start the introduction intent.
-        if (mListener != null && mListener.onShowSplitScreenDialog()) {
-            return;
-        }
-
         mIsClicked = true;
         final Intent intent = new Intent();
         intent.setClassName(SETTINGS_PACKAGE_NAME, FaceEnrollIntroduction.class.getName());
@@ -121,12 +116,6 @@
      */
     public interface Listener {
         /**
-         * Called to check whether to show dialog in split screen mode
-         * @return Whether split screen warning dialog shown.
-         */
-        boolean onShowSplitScreenDialog();
-
-        /**
          * Called when the user has indicated an intent to begin enrolling a new face.
          * @param intent The Intent that should be used to launch face enrollment.
          */
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java
index 0ce02ab..e2123f0 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceController.java
@@ -49,7 +49,7 @@
 
     public FaceSettingsFooterPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mProvider = FeatureFactory.getFactory(context).getFaceFeatureProvider();
+        mProvider = FeatureFactory.getFeatureFactory().getFaceFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
index 4b2e336..797364b 100644
--- a/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
+++ b/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceController.java
@@ -178,7 +178,7 @@
         super(context, preferenceKey);
         mContext = context;
         mFaceManager = context.getSystemService(FaceManager.class);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mFaceUpdater = new FaceUpdater(context, mFaceManager);
     }
 
diff --git a/src/com/android/settings/biometrics/face/FaceUpdater.java b/src/com/android/settings/biometrics/face/FaceUpdater.java
index 3a1f77c..ddb6812 100644
--- a/src/com/android/settings/biometrics/face/FaceUpdater.java
+++ b/src/com/android/settings/biometrics/face/FaceUpdater.java
@@ -17,8 +17,10 @@
 package com.android.settings.biometrics.face;
 
 import android.content.Context;
+import android.content.Intent;
 import android.hardware.face.Face;
 import android.hardware.face.FaceEnrollCell;
+import android.hardware.face.FaceEnrollOptions;
 import android.hardware.face.FaceManager;
 import android.os.CancellationSignal;
 import android.view.Surface;
@@ -26,6 +28,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.settings.Utils;
+import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.safetycenter.BiometricsSafetySource;
 
 /**
@@ -49,18 +52,19 @@
 
     /** Wrapper around the {@link FaceManager#enroll} method. */
     public void enroll(int userId, byte[] hardwareAuthToken, CancellationSignal cancel,
-            FaceManager.EnrollmentCallback callback, int[] disabledFeatures) {
-        mFaceManager.enroll(userId, hardwareAuthToken, cancel,
-                new NotifyingEnrollmentCallback(mContext, callback), disabledFeatures);
+            FaceManager.EnrollmentCallback callback, int[] disabledFeatures, Intent intent) {
+        this.enroll(userId, hardwareAuthToken, cancel,
+                new NotifyingEnrollmentCallback(mContext, callback), disabledFeatures,
+                null, false, intent);
     }
 
     /** Wrapper around the {@link FaceManager#enroll} method. */
     public void enroll(int userId, byte[] hardwareAuthToken, CancellationSignal cancel,
             FaceManager.EnrollmentCallback callback, int[] disabledFeatures,
-            @Nullable Surface previewSurface, boolean debugConsent) {
+            @Nullable Surface previewSurface, boolean debugConsent, Intent intent) {
         mFaceManager.enroll(userId, hardwareAuthToken, cancel,
                 new NotifyingEnrollmentCallback(mContext, callback), disabledFeatures,
-                previewSurface, debugConsent);
+                previewSurface, debugConsent, toFaceEnrollOptions(intent));
     }
 
     /** Wrapper around the {@link FaceManager#remove} method. */
@@ -134,4 +138,14 @@
             BiometricsSafetySource.onBiometricsChanged(mContext); // biometrics data changed
         }
     }
+
+    private FaceEnrollOptions toFaceEnrollOptions(Intent intent) {
+        final int reason = intent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1);
+        final FaceEnrollOptions.Builder builder = new FaceEnrollOptions.Builder();
+        builder.setEnrollReason(FaceEnrollOptions.ENROLL_REASON_UNKNOWN);
+        if (reason != -1) {
+            builder.setEnrollReason(reason);
+        }
+        return builder.build();
+    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
index a62bd67..90b9346 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrolling.java
@@ -16,13 +16,12 @@
 
 package com.android.settings.biometrics.fingerprint;
 
+import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT;
 import static android.text.Layout.HYPHENATION_FREQUENCY_NONE;
 
 import android.animation.Animator;
 import android.animation.ObjectAnimator;
 import android.annotation.IntDef;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.annotation.RawRes;
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
@@ -53,15 +52,15 @@
 import android.view.View;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
-import android.view.animation.AccelerateDecelerateInterpolator;
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
 import android.widget.ProgressBar;
 import android.widget.RelativeLayout;
 import android.widget.TextView;
-import android.widget.Toast;
 
 import androidx.annotation.IdRes;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -69,10 +68,15 @@
 import com.android.settings.biometrics.BiometricEnrollSidecar;
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.biometrics.BiometricsEnrollEnrolling;
+import com.android.settings.biometrics.BiometricsSplitScreenDialog;
+import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.display.DisplayDensityUtils;
 
 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;
@@ -85,6 +89,7 @@
 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.
@@ -100,27 +105,22 @@
 
     private static final int PROGRESS_BAR_MAX = 10000;
 
-    private static final int STAGE_UNKNOWN = -1;
+    public static final int STAGE_UNKNOWN = -1;
     private static final int STAGE_CENTER = 0;
     private static final int STAGE_GUIDED = 1;
     private static final int STAGE_FINGERTIP = 2;
     private static final int STAGE_LEFT_EDGE = 3;
     private static final int STAGE_RIGHT_EDGE = 4;
 
-    @VisibleForTesting
-    protected static final int SFPS_STAGE_NO_ANIMATION = 0;
+    public static final int SFPS_STAGE_NO_ANIMATION = 0;
 
-    @VisibleForTesting
-    protected static final int SFPS_STAGE_CENTER = 1;
+    public static final int SFPS_STAGE_CENTER = 1;
 
-    @VisibleForTesting
-    protected static final int SFPS_STAGE_FINGERTIP = 2;
+    public static final int SFPS_STAGE_FINGERTIP = 2;
 
-    @VisibleForTesting
-    protected static final int SFPS_STAGE_LEFT_EDGE = 3;
+    public static final int SFPS_STAGE_LEFT_EDGE = 3;
 
-    @VisibleForTesting
-    protected static final int SFPS_STAGE_RIGHT_EDGE = 4;
+    public static final int SFPS_STAGE_RIGHT_EDGE = 4;
 
     @IntDef({STAGE_UNKNOWN, STAGE_CENTER, STAGE_GUIDED, STAGE_FINGERTIP, STAGE_LEFT_EDGE,
             STAGE_RIGHT_EDGE})
@@ -192,11 +192,16 @@
     private boolean mHaveShownSfpsRightEdgeLottie;
     private boolean mShouldShowLottie;
 
-    private ObjectAnimator mHelpAnimation;
+    private Animator mHelpAnimation;
 
     private OrientationEventListener mOrientationEventListener;
     private int mPreviousRotation = 0;
 
+    @NonNull
+    private SfpsEnrollmentFeature mSfpsEnrollmentFeature = new EmptySfpsEnrollmentFeature();
+    @Nullable
+    private UdfpsEnrollCalibrator mCalibrator;
+
     @VisibleForTesting
     protected boolean shouldShowLottie() {
         DisplayDensityUtils displayDensity = new DisplayDensityUtils(getApplicationContext());
@@ -204,6 +209,10 @@
         final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
                 [currentDensityIndex];
         final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
+
+        if (getResources().getConfiguration().fontScale > 1) {
+            return false;
+        }
         return defaultDensity == currentDensity;
     }
 
@@ -216,15 +225,10 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-
-        if (isInMultiWindowMode()) {
-            final Toast splitUnsupportedToast = Toast.makeText(this,
-                    R.string.dock_multi_instances_not_supported_text, Toast.LENGTH_SHORT);
-            splitUnsupportedToast.show();
-            finish();
-            return;
+        if (shouldShowSplitScreenDialog()) {
+            BiometricsSplitScreenDialog.newInstance(TYPE_FINGERPRINT, true /*destroyActivity*/)
+                    .show(getSupportFragmentManager(), BiometricsSplitScreenDialog.class.getName());
         }
-
         if (savedInstanceState != null) {
             restoreSavedState(savedInstanceState);
         }
@@ -248,7 +252,15 @@
 
             setContentView(layout);
             setDescriptionText(R.string.security_settings_udfps_enroll_start_message);
+
+            if (Flags.udfpsEnrollCalibration()) {
+                mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
+                        .getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
+                                getIntent());
+            }
         } else if (mCanAssumeSfps) {
+            mSfpsEnrollmentFeature = FeatureFactory.getFeatureFactory()
+                    .getFingerprintFeatureProvider().getSfpsEnrollmentFeature();
             setContentView(R.layout.sfps_enroll_enrolling);
             setHelpAnimation();
         } else {
@@ -282,7 +294,7 @@
                         .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
                         .setListener(this::onSkipButtonClick)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -333,20 +345,14 @@
     }
 
     private void setHelpAnimation() {
-        final float translationX = 40;
-        final int duration = 550;
         final RelativeLayout progressLottieLayout = findViewById(R.id.progress_lottie);
-        mHelpAnimation = ObjectAnimator.ofFloat(progressLottieLayout,
-                "translationX" /* propertyName */,
-                0, translationX, -1 * translationX, translationX, 0f);
-        mHelpAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
-        mHelpAnimation.setDuration(duration);
-        mHelpAnimation.setAutoCancel(false);
+        mHelpAnimation = mSfpsEnrollmentFeature.getHelpAnimator(progressLottieLayout);
     }
+
     @Override
     protected BiometricEnrollSidecar getSidecar() {
         final FingerprintEnrollSidecar sidecar = new FingerprintEnrollSidecar(this,
-                FingerprintManager.ENROLL_ENROLL);
+                FingerprintManager.ENROLL_ENROLL, getIntent());
         return sidecar;
     }
 
@@ -365,6 +371,11 @@
         super.onSaveInstanceState(outState);
         outState.putBoolean(KEY_STATE_CANCELED, mIsCanceled);
         outState.putInt(KEY_STATE_PREVIOUS_ROTATION, mPreviousRotation);
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                mCalibrator.onSaveInstanceState(outState);
+            }
+        }
     }
 
     private void restoreSavedState(Bundle savedInstanceState) {
@@ -604,7 +615,8 @@
         }
         switch (getCurrentSfpsStage()) {
             case SFPS_STAGE_NO_ANIMATION:
-                setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title);
+                setHeaderText(mSfpsEnrollmentFeature
+                        .getFeaturedStageHeaderResource(SFPS_STAGE_NO_ANIMATION));
                 if (!mHaveShownSfpsNoAnimationLottie && mIllustrationLottie != null) {
                     mHaveShownSfpsNoAnimationLottie = true;
                     mIllustrationLottie.setContentDescription(
@@ -613,39 +625,48 @@
                                     0
                             )
                     );
-                    configureEnrollmentStage(R.raw.sfps_lottie_no_animation);
+                    configureEnrollmentStage(mSfpsEnrollmentFeature
+                            .getSfpsEnrollLottiePerStage(SFPS_STAGE_NO_ANIMATION));
                 }
                 break;
 
             case SFPS_STAGE_CENTER:
-                setHeaderText(R.string.security_settings_sfps_enroll_finger_center_title);
+                setHeaderText(mSfpsEnrollmentFeature
+                        .getFeaturedStageHeaderResource(SFPS_STAGE_CENTER));
                 if (!mHaveShownSfpsCenterLottie && mIllustrationLottie != null) {
                     mHaveShownSfpsCenterLottie = true;
-                    configureEnrollmentStage(R.raw.sfps_lottie_pad_center);
+                    configureEnrollmentStage(mSfpsEnrollmentFeature
+                            .getSfpsEnrollLottiePerStage(SFPS_STAGE_CENTER));
                 }
                 break;
 
             case SFPS_STAGE_FINGERTIP:
-                setHeaderText(R.string.security_settings_sfps_enroll_fingertip_title);
+                setHeaderText(mSfpsEnrollmentFeature
+                        .getFeaturedStageHeaderResource(SFPS_STAGE_FINGERTIP));
                 if (!mHaveShownSfpsTipLottie && mIllustrationLottie != null) {
                     mHaveShownSfpsTipLottie = true;
-                    configureEnrollmentStage(R.raw.sfps_lottie_tip);
+                    configureEnrollmentStage(mSfpsEnrollmentFeature
+                            .getSfpsEnrollLottiePerStage(SFPS_STAGE_FINGERTIP));
                 }
                 break;
 
             case SFPS_STAGE_LEFT_EDGE:
-                setHeaderText(R.string.security_settings_sfps_enroll_left_edge_title);
+                setHeaderText(mSfpsEnrollmentFeature
+                        .getFeaturedStageHeaderResource(SFPS_STAGE_LEFT_EDGE));
                 if (!mHaveShownSfpsLeftEdgeLottie && mIllustrationLottie != null) {
                     mHaveShownSfpsLeftEdgeLottie = true;
-                    configureEnrollmentStage(R.raw.sfps_lottie_left_edge);
+                    configureEnrollmentStage(mSfpsEnrollmentFeature
+                            .getSfpsEnrollLottiePerStage(SFPS_STAGE_LEFT_EDGE));
                 }
                 break;
 
             case SFPS_STAGE_RIGHT_EDGE:
-                setHeaderText(R.string.security_settings_sfps_enroll_right_edge_title);
+                setHeaderText(mSfpsEnrollmentFeature
+                        .getFeaturedStageHeaderResource(SFPS_STAGE_RIGHT_EDGE));
                 if (!mHaveShownSfpsRightEdgeLottie && mIllustrationLottie != null) {
                     mHaveShownSfpsRightEdgeLottie = true;
-                    configureEnrollmentStage(R.raw.sfps_lottie_right_edge);
+                    configureEnrollmentStage(mSfpsEnrollmentFeature
+                            .getSfpsEnrollLottiePerStage(SFPS_STAGE_RIGHT_EDGE));
                 }
                 break;
 
@@ -670,11 +691,19 @@
             setDescriptionText("");
         }
         LottieCompositionFactory.fromRawRes(this, lottie)
-                .addListener((c) -> {
-                    mIllustrationLottie.setComposition(c);
-                    mIllustrationLottie.setVisibility(View.VISIBLE);
-                    mIllustrationLottie.playAnimation();
-                });
+                .addListener((c) -> onLottieComposition(mIllustrationLottie, c));
+    }
+
+    private void onLottieComposition(LottieAnimationView view, LottieComposition composition) {
+        if (view == null || composition == null) {
+            return;
+        }
+        view.setComposition(composition);
+        view.setVisibility(View.VISIBLE);
+        view.playAnimation();
+        if (mCanAssumeSfps) {
+            mSfpsEnrollmentFeature.handleOnEnrollmentLottieComposition(view);
+        }
     }
 
     @EnrollStage
@@ -704,17 +733,8 @@
         }
 
         final int progressSteps = mSidecar.getEnrollmentSteps() - mSidecar.getEnrollmentRemaining();
-        if (progressSteps < getStageThresholdSteps(0)) {
-            return SFPS_STAGE_NO_ANIMATION;
-        } else if (progressSteps < getStageThresholdSteps(1)) {
-            return SFPS_STAGE_CENTER;
-        } else if (progressSteps < getStageThresholdSteps(2)) {
-            return SFPS_STAGE_FINGERTIP;
-        } else if (progressSteps < getStageThresholdSteps(3)) {
-            return SFPS_STAGE_LEFT_EDGE;
-        } else {
-            return SFPS_STAGE_RIGHT_EDGE;
-        }
+        return mSfpsEnrollmentFeature
+                .getCurrentSfpsEnrollStage(progressSteps, this::getStageThresholdSteps);
     }
 
     private boolean isStageHalfCompleted() {
@@ -745,22 +765,31 @@
             Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet");
             return 1;
         }
-        return Math.round(mSidecar.getEnrollmentSteps()
-                * mFingerprintManager.getEnrollStageThreshold(index));
+        final float threshold = mCanAssumeSfps
+                ? mSfpsEnrollmentFeature.getEnrollStageThreshold(this, index)
+                : mFingerprintManager.getEnrollStageThreshold(index);
+        return Math.round(mSidecar.getEnrollmentSteps() * threshold);
     }
 
     @Override
     public void onEnrollmentHelp(int helpMsgId, CharSequence helpString) {
-        if (!TextUtils.isEmpty(helpString)) {
+        final CharSequence featuredString = mCanAssumeSfps
+                ? mSfpsEnrollmentFeature.getFeaturedVendorString(this, helpMsgId, helpString)
+                : helpString;
+
+        if (!TextUtils.isEmpty(featuredString)) {
             if (!(mCanAssumeUdfps || mCanAssumeSfps)) {
                 mErrorText.removeCallbacks(mTouchAgainRunnable);
             }
-            showError(helpString);
+            showError(featuredString);
 
             if (mUdfpsEnrollHelper != null) mUdfpsEnrollHelper.onEnrollmentHelp();
         }
 
         dismissTouchDialogIfSfps();
+        if (mCanAssumeSfps) {
+            mSfpsEnrollmentFeature.handleOnEnrollmentHelp(helpMsgId, featuredString, () -> this);
+        }
     }
 
     @Override
@@ -1175,4 +1204,33 @@
             return SettingsEnums.DIALOG_FINGERPRINT_ICON_TOUCH;
         }
     }
-}
\ No newline at end of file
+
+    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/FingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
index aadc932..6b7538a 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensor.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.biometrics.fingerprint;
 
+import static android.text.Layout.HYPHENATION_FREQUENCY_NORMAL;
+
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
 import android.content.res.Configuration;
@@ -27,7 +29,6 @@
 import android.view.OrientationEventListener;
 import android.view.Surface;
 import android.view.View;
-import android.view.View.OnClickListener;
 import android.view.accessibility.AccessibilityManager;
 
 import androidx.annotation.NonNull;
@@ -38,6 +39,8 @@
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricEnrollSidecar;
 import com.android.settings.biometrics.BiometricUtils;
+import com.android.settings.flags.Flags;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settingslib.widget.LottieColorUtils;
 import com.android.systemui.unfold.compat.ScreenSizeFoldProvider;
@@ -74,6 +77,8 @@
     private ScreenSizeFoldProvider mScreenSizeFoldProvider;
     private boolean mIsFolded;
     private boolean mIsReverseDefaultRotation;
+    @Nullable
+    protected UdfpsEnrollCalibrator mCalibrator;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -95,23 +100,16 @@
                         .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
                         .setListener(this::onSkipButtonClick)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
+        getLayout().getHeaderTextView().setHyphenationFrequency(HYPHENATION_FREQUENCY_NORMAL);
 
         listenOrientationEvent();
 
         if (mCanAssumeUdfps) {
             setHeaderText(R.string.security_settings_udfps_enroll_find_sensor_title);
             setDescriptionText(R.string.security_settings_udfps_enroll_find_sensor_message);
-            mFooterBarMixin.setPrimaryButton(
-                    new FooterButton.Builder(this)
-                    .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
-                    .setListener(this::onStartButtonClick)
-                    .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
-                    .build()
-            );
 
             mIllustrationLottie = findViewById(R.id.illustration_lottie);
             AccessibilityManager am = getSystemService(AccessibilityManager.class);
@@ -164,12 +162,22 @@
 
         mAnimation = null;
         if (mCanAssumeUdfps) {
-            mIllustrationLottie.setOnClickListener(new OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    onStartButtonClick(v);
+            if (Flags.udfpsEnrollCalibration()) {
+                mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
+                        .getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState,
+                                getIntent());
+                if (mCalibrator != null) {
+                    mCalibrator.onFindSensorPage(
+                            getLifecycle(),
+                            getSupportFragmentManager(),
+                            this::enableUdfpsLottieAndNextButton
+                    );
+                } else {
+                    enableUdfpsLottieAndNextButton();
                 }
-            });
+            } else {
+                enableUdfpsLottieAndNextButton();
+            }
         } else if (!mCanAssumeSfps) {
             View animationView = findViewById(R.id.fingerprint_sensor_location_animation);
             if (animationView instanceof FingerprintFindSensorAnimation) {
@@ -178,6 +186,25 @@
         }
     }
 
+    private void enableUdfpsLottieAndNextButton() {
+        if (isFinishing()) {
+            return;
+        }
+
+        if (mFooterBarMixin.getPrimaryButton() == null) {
+            mFooterBarMixin.setPrimaryButton(new FooterButton.Builder(this)
+                    .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
+                    .setListener(this::onStartButtonClick)
+                    .setButtonType(FooterButton.ButtonType.NEXT)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                    .build()
+            );
+        }
+        if (mIllustrationLottie != null) {
+            mIllustrationLottie.setOnClickListener(this::onStartButtonClick);
+        }
+    }
+
     private int getRotationFromDefault(int rotation) {
         if (mIsReverseDefaultRotation) {
             return (rotation + 1) % 4;
@@ -255,6 +282,24 @@
     protected void onSaveInstanceState(Bundle outState) {
         super.onSaveInstanceState(outState);
         outState.putBoolean(SAVED_STATE_IS_NEXT_CLICKED, mNextClicked);
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                mCalibrator.onSaveInstanceState(outState);
+            }
+        }
+    }
+
+    @Override
+    protected Intent getFingerprintEnrollingIntent() {
+        final Intent ret = super.getFingerprintEnrollingIntent();
+        ret.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                ret.putExtras(mCalibrator.getExtrasForNextIntent(true));
+            }
+        }
+        return ret;
     }
 
     @Override
@@ -306,7 +351,7 @@
                 FingerprintEnrollEnrolling.TAG_SIDECAR);
         if (mSidecar == null) {
             mSidecar = new FingerprintEnrollSidecar(this,
-                    FingerprintManager.ENROLL_FIND_SENSOR);
+                    FingerprintManager.ENROLL_FIND_SENSOR, getIntent());
             getSupportFragmentManager().beginTransaction()
                     .add(mSidecar, FingerprintEnrollEnrolling.TAG_SIDECAR)
                     .commitAllowingStateLoss();
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
index a5d198d..9c89f24 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFinish.java
@@ -23,8 +23,10 @@
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
+import android.view.ViewGroup;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -32,6 +34,8 @@
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricUtils;
+import com.android.settings.biometrics.fingerprint.feature.SfpsRestToUnlockFeature;
+import com.android.settings.overlay.FeatureFactory;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupcompat.template.FooterButton;
@@ -56,6 +60,8 @@
 
     private boolean mIsAddAnotherOrFinish;
 
+    private SfpsRestToUnlockFeature mSfpsRestToUnlockFeature;
+
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
@@ -64,14 +70,20 @@
                 mFingerprintManager.getSensorPropertiesInternal();
         mCanAssumeSfps = props != null && props.size() == 1 && props.get(0).isAnySidefpsType();
         if (mCanAssumeSfps) {
+            mSfpsRestToUnlockFeature = FeatureFactory.getFeatureFactory()
+                    .getFingerprintFeatureProvider().getSfpsRestToUnlockFeature(this);
             setContentView(R.layout.sfps_enroll_finish);
+            setUpRestToUnlockLayout();
         } else {
             setContentView(R.layout.fingerprint_enroll_finish);
         }
         setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
         setDescriptionText(R.string.security_settings_fingerprint_enroll_finish_v2_message);
-        if (mCanAssumeSfps) {
-            setDescriptionForSfps();
+        final String sfpsDescription = mSfpsRestToUnlockFeature != null
+                ? mSfpsRestToUnlockFeature.getDescriptionForSfps(this)
+                : null;
+        if (mCanAssumeSfps && !TextUtils.isEmpty(sfpsDescription)) {
+            setDescriptionForSfps(sfpsDescription);
         }
 
         mFooterBarMixin = getLayout().getMixin(FooterBarMixin.class);
@@ -79,7 +91,7 @@
                 new FooterButton.Builder(this)
                         .setText(R.string.fingerprint_enroll_button_add)
                         .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
 
@@ -88,12 +100,12 @@
                         .setText(R.string.security_settings_fingerprint_enroll_done)
                         .setListener(this::onNextButtonClick)
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
     }
 
-    private void setDescriptionForSfps() {
+    private void setDescriptionForSfps(String sfpsDescription) {
         final FingerprintManager fpm = Utils.getFingerprintManagerOrNull(this);
         if (fpm != null) {
             final List<FingerprintSensorPropertiesInternal> props =
@@ -101,12 +113,19 @@
             final int maxEnrollments = props.get(0).maxEnrollmentsPerUser;
             final int enrolled = fpm.getEnrolledFingerprints(mUserId).size();
             if (enrolled < maxEnrollments) {
-                setDescriptionText(R.string
-                        .security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message);
+                setDescriptionText(sfpsDescription);
             }
         }
     }
 
+    private void setUpRestToUnlockLayout() {
+        final ViewGroup contentFrame = findViewById(R.id.sfps_enrollment_finish_content_frame);
+        final View restToUnlockLayout = mSfpsRestToUnlockFeature.getRestToUnlockLayout(this);
+        if (restToUnlockLayout == null) return;
+        contentFrame.removeAllViews();
+        contentFrame.addView(restToUnlockLayout);
+    }
+
     @Override
     public void onBackPressed() {
         updateFingerprintSuggestionEnableState();
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
index 04063ed..f92cfbf 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroduction.java
@@ -45,6 +45,8 @@
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.biometrics.GatekeeperPasswordProvider;
 import com.android.settings.biometrics.MultiBiometricEnrollHelper;
+import com.android.settings.flags.Flags;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
@@ -57,7 +59,6 @@
 import java.util.List;
 
 public class FingerprintEnrollIntroduction extends BiometricEnrollIntroduction {
-
     private static final String TAG = "FingerprintIntro";
 
     @VisibleForTesting
@@ -67,6 +68,8 @@
 
     private DevicePolicyManager mDevicePolicyManager;
     private boolean mCanAssumeUdfps;
+    @Nullable
+    protected UdfpsEnrollCalibrator mCalibrator;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -85,6 +88,11 @@
 
         mDevicePolicyManager = getSystemService(DevicePolicyManager.class);
 
+        if (Flags.udfpsEnrollCalibration()) {
+            mCalibrator = FeatureFactory.getFeatureFactory().getFingerprintFeatureProvider()
+                    .getUdfpsEnrollCalibrator(getApplicationContext(), savedInstanceState, null);
+        }
+
         final ImageView iconFingerprint = findViewById(R.id.icon_fingerprint);
         final ImageView iconDeviceLocked = findViewById(R.id.icon_device_locked);
         final ImageView iconTrashCan = findViewById(R.id.icon_trash_can);
@@ -127,13 +135,16 @@
         footerTitle1.setText(getFooterTitle1());
         footerTitle2.setText(getFooterTitle2());
 
-        final ScrollView scrollView = findViewById(R.id.sud_scroll_view);
+        final ScrollView scrollView =
+                findViewById(com.google.android.setupdesign.R.id.sud_scroll_view);
         scrollView.setImportantForAccessibility(View.IMPORTANT_FOR_ACCESSIBILITY_YES);
 
         final Intent intent = getIntent();
         if (mFromSettingsSummary
                 && GatekeeperPasswordProvider.containsGatekeeperPasswordHandle(intent)) {
-            overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                    com.google.android.setupdesign.R.anim.sud_slide_next_out);
             getNextButton().setEnabled(false);
             getChallenge(((sensorId, userId, challenge) -> {
                 if (isFinishing()) {
@@ -153,6 +164,16 @@
     }
 
     @Override
+    protected void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                mCalibrator.onSaveInstanceState(outState);
+            }
+        }
+    }
+
+    @Override
     protected void initViews() {
         setDescriptionText(getString(
                 R.string.security_settings_fingerprint_enroll_introduction_v3_message,
@@ -361,6 +382,13 @@
             intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE,
                     BiometricUtils.getGatekeeperPasswordHandle(getIntent()));
         }
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
+            }
+        }
+        intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                getIntent().getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1));
         return intent;
     }
 
@@ -406,7 +434,7 @@
                     .setText(R.string.security_settings_fingerprint_enroll_introduction_agree)
                     .setListener(this::onNextButtonClick)
                     .setButtonType(FooterButton.ButtonType.OPT_IN)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mPrimaryFooterButton;
@@ -420,7 +448,7 @@
                     .setText(getNegativeButtonTextId())
                     .setListener(this::onSkipButtonClick)
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
         }
         return mSecondaryFooterButton;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
index 493302b..52d7d2b 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollSidecar.java
@@ -21,6 +21,8 @@
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.content.Intent;
+import android.hardware.fingerprint.FingerprintEnrollOptions;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.SystemClock;
 import android.util.Log;
@@ -28,6 +30,9 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.biometrics.BiometricEnrollSidecar;
+import com.android.settings.biometrics.BiometricUtils;
+
+import com.google.android.setupcompat.util.WizardManagerHelper;
 
 /**
  * Sidecar fragment to handle the state around fingerprint enrollment.
@@ -39,15 +44,18 @@
     private @FingerprintManager.EnrollReason int mEnrollReason;
     private final MessageDisplayController mMessageDisplayController;
     private final boolean mMessageDisplayControllerFlag;
+    private final Intent mIntent;
 
     /**
      * Create a new FingerprintEnrollSidecar object.
-     * @param context associated context
+     *
+     * @param context      associated context
      * @param enrollReason reason for enrollment
      */
     public FingerprintEnrollSidecar(Context context,
-            @FingerprintManager.EnrollReason int enrollReason) {
+            @FingerprintManager.EnrollReason int enrollReason, Intent intent) {
         mEnrollReason = enrollReason;
+        mIntent = intent;
 
         int helpMinimumDisplayTime = context.getResources().getInteger(
                 R.integer.enrollment_help_minimum_time_display);
@@ -85,14 +93,21 @@
             return;
         }
 
+        if (mIntent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1) == -1) {
+            final boolean isSuw = WizardManagerHelper.isAnySetupWizard(mIntent);
+            mIntent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                    isSuw ? FingerprintEnrollOptions.ENROLL_REASON_SUW :
+                            FingerprintEnrollOptions.ENROLL_REASON_SETTINGS);
+        }
+
         if (mEnrollReason == ENROLL_ENROLL && mMessageDisplayControllerFlag) {
             //API calls need to be processed for {@link FingerprintEnrollEnrolling}
             mFingerprintUpdater.enroll(mToken, mEnrollmentCancel, mUserId,
-                    mMessageDisplayController, mEnrollReason);
+                    mMessageDisplayController, mEnrollReason, mIntent);
         } else {
             //No processing required for {@link FingerprintEnrollFindSensor}
             mFingerprintUpdater.enroll(mToken, mEnrollmentCancel, mUserId, mEnrollmentCallback,
-                    mEnrollReason);
+                    mEnrollReason, mIntent);
         }
     }
 
@@ -100,7 +115,8 @@
         mEnrollReason = enrollReason;
     }
 
-    @VisibleForTesting FingerprintManager.EnrollmentCallback mEnrollmentCallback
+    @VisibleForTesting
+    FingerprintManager.EnrollmentCallback mEnrollmentCallback
             = new FingerprintManager.EnrollmentCallback() {
 
         @Override
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
index d65e057..155ced5 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintErrorDialog.java
@@ -30,10 +30,10 @@
 import android.os.Bundle;
 
 import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 
 import com.android.settings.R;
-import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 /** Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment. */
@@ -95,7 +95,7 @@
         return dialog;
     }
 
-    public static void showErrorDialog(BiometricEnrollBase host, int errMsgId, boolean isSetup) {
+    public static void showErrorDialog(FragmentActivity host, int errMsgId, boolean isSetup) {
         if (host.isFinishing()) {
             return;
         }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProvider.java b/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProvider.java
new file mode 100644
index 0000000..c1e34a5
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProvider.java
@@ -0,0 +1,55 @@
+/*
+ * 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.fingerprint;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature;
+import com.android.settings.biometrics.fingerprint.feature.SfpsRestToUnlockFeature;
+
+public interface FingerprintFeatureProvider {
+    /**
+     * Gets the feature implementation of SFPS enrollment.
+     * @return the feature implementation
+     */
+    SfpsEnrollmentFeature getSfpsEnrollmentFeature();
+
+
+    /**
+     * Gets calibrator for udfps pre-enroll
+     * @param appContext application context
+     * @param activitySavedInstanceState activity savedInstanceState
+     * @param activityIntent activity intent
+     */
+    @Nullable
+    default UdfpsEnrollCalibrator getUdfpsEnrollCalibrator(@NonNull Context appContext,
+            @Nullable Bundle activitySavedInstanceState, @Nullable Intent activityIntent) {
+        return null;
+    }
+
+    /**
+     * Gets the feature implementation of SFPS rest to unlock.
+     * @param context context
+     * @return the feature implementation
+     */
+    SfpsRestToUnlockFeature getSfpsRestToUnlockFeature(@NonNull Context context);
+}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProviderImpl.java b/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProviderImpl.java
new file mode 100644
index 0000000..8a8df98
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProviderImpl.java
@@ -0,0 +1,52 @@
+/*
+ * 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.fingerprint;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeature;
+import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeatureImpl;
+import com.android.settings.biometrics.fingerprint.feature.SfpsRestToUnlockFeature;
+import com.android.settings.biometrics.fingerprint.feature.SfpsRestToUnlockFeatureImpl;
+
+public class FingerprintFeatureProviderImpl implements FingerprintFeatureProvider {
+
+    @Nullable
+    private SfpsEnrollmentFeature mSfpsEnrollmentFeatureImpl = null;
+
+    @Nullable
+    private SfpsRestToUnlockFeature mSfpsRestToUnlockFeature = null;
+
+    @Override
+    public SfpsEnrollmentFeature getSfpsEnrollmentFeature() {
+        if (mSfpsEnrollmentFeatureImpl == null) {
+            mSfpsEnrollmentFeatureImpl = new SfpsEnrollmentFeatureImpl();
+        }
+        return mSfpsEnrollmentFeatureImpl;
+    }
+
+    @Override
+    public SfpsRestToUnlockFeature getSfpsRestToUnlockFeature(@NonNull Context context) {
+        if (mSfpsRestToUnlockFeature == null) {
+            mSfpsRestToUnlockFeature = new SfpsRestToUnlockFeatureImpl();
+        }
+        return mSfpsRestToUnlockFeature;
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintLocationAnimationView.java b/src/com/android/settings/biometrics/fingerprint/FingerprintLocationAnimationView.java
index 99d4ff9..2916872 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintLocationAnimationView.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintLocationAnimationView.java
@@ -20,7 +20,6 @@
 import android.animation.AnimatorListenerAdapter;
 import android.animation.ValueAnimator;
 import android.annotation.ColorInt;
-import android.annotation.Nullable;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Paint;
@@ -29,6 +28,8 @@
 import android.view.animation.AnimationUtils;
 import android.view.animation.Interpolator;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 import com.android.settings.Utils;
 
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java b/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java
index 134462d..73eccdc 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintRemoveSidecar.java
@@ -16,13 +16,14 @@
 
 package com.android.settings.biometrics.fingerprint;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.hardware.fingerprint.Fingerprint;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.core.InstrumentedFragment;
 
 import java.util.LinkedList;
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
index 505fe1c..2aacbe4 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettings.java
@@ -20,7 +20,6 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED_EXPLANATION;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE;
 import static android.app.admin.DevicePolicyResources.UNDEFINED;
-import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT;
 
 import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
 import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY;
@@ -60,7 +59,7 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
@@ -68,22 +67,23 @@
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricUtils;
-import com.android.settings.biometrics.BiometricsSplitScreenDialog;
 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;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockGeneric;
 import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.activityembedding.ActivityEmbeddingUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.transition.SettingsTransitionHelper;
 import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.TwoTargetPreference;
@@ -91,6 +91,7 @@
 import com.google.android.setupdesign.util.DeviceHelper;
 
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 
@@ -146,12 +147,47 @@
         return manager != null && isHardwareDetected;
     }
 
+
     /**
      *
      */
+    @SearchIndexable
     public static class FingerprintSettingsFragment extends DashboardFragment
             implements OnPreferenceChangeListener, FingerprintPreference.OnDeleteClickListener {
 
+        public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+                new BaseSearchIndexProvider(R.xml.security_settings_fingerprint) {
+                    @Override
+                    public List<AbstractPreferenceController>
+                            createPreferenceControllers(Context context) {
+                        return createThePreferenceControllers(context);
+                    }
+                };
+
+        private static List<AbstractPreferenceController> createThePreferenceControllers(Context
+                context) {
+            final List<AbstractPreferenceController> controllers = new ArrayList<>();
+            FingerprintManager manager = Utils.getFingerprintManagerOrNull(context);
+            if (manager == null || !manager.isHardwareDetected()) {
+                return null;
+            }
+            if (manager.isPowerbuttonFps()) {
+                controllers.add(
+                        new FingerprintUnlockCategoryController(
+                                context,
+                                KEY_FINGERPRINT_UNLOCK_CATEGORY
+                        ));
+                controllers.add(
+                        new FingerprintSettingsRequireScreenOnToAuthPreferenceController(
+                                context,
+                                KEY_REQUIRE_SCREEN_ON_TO_AUTH
+                        ));
+            }
+            controllers.add(new FingerprintsEnrolledCategoryPreferenceController(context,
+                    KEY_FINGERPRINTS_ENROLLED_CATEGORY));
+            return controllers;
+        }
+
         private static class FooterColumn {
             CharSequence mTitle = null;
             CharSequence mLearnMoreOverrideText = null;
@@ -597,6 +633,19 @@
         private void addFingerprintUnlockCategory() {
             mFingerprintUnlockCategory = findPreference(KEY_FINGERPRINT_UNLOCK_CATEGORY);
             setupFingerprintUnlockCategoryPreferences();
+            final Preference restToUnlockPreference = FeatureFactory.getFeatureFactory()
+                    .getFingerprintFeatureProvider()
+                    .getSfpsRestToUnlockFeature(getContext())
+                    .getRestToUnlockPreference(getContext());
+            if (restToUnlockPreference != null) {
+                // Use custom featured preference if any.
+                mRequireScreenOnToAuthPreference.setTitle(restToUnlockPreference.getTitle());
+                mRequireScreenOnToAuthPreference.setSummary(restToUnlockPreference.getSummary());
+                mRequireScreenOnToAuthPreference.setChecked(
+                        ((TwoStatePreference) restToUnlockPreference).isChecked());
+                mRequireScreenOnToAuthPreference.setOnPreferenceChangeListener(
+                        restToUnlockPreference.getOnPreferenceChangeListener());
+            }
             updateFingerprintUnlockCategoryVisibility();
         }
 
@@ -615,7 +664,7 @@
                     mRequireScreenOnToAuthPreferenceController.isChecked());
             mRequireScreenOnToAuthPreference.setOnPreferenceChangeListener(
                     (preference, newValue) -> {
-                        final boolean isChecked = ((SwitchPreference) preference).isChecked();
+                        final boolean isChecked = ((TwoStatePreference) preference).isChecked();
                         mRequireScreenOnToAuthPreferenceController.setChecked(!isChecked);
                         return true;
                     });
@@ -738,23 +787,12 @@
         public boolean onPreferenceTreeClick(Preference pref) {
             final String key = pref.getKey();
             if (KEY_FINGERPRINT_ADD.equals(key)) {
-                // If it's in split mode, show the error dialog and don't need to show adding
-                // fingerprint intent.
-                final boolean isActivityEmbedded = ActivityEmbeddingUtils.isActivityEmbedded(
-                                getActivity());
-                if (getActivity().isInMultiWindowMode() && !isActivityEmbedded) {
-                    BiometricsSplitScreenDialog.newInstance(TYPE_FINGERPRINT).show(
-                            getActivity().getSupportFragmentManager(),
-                            BiometricsSplitScreenDialog.class.getName());
-                    return true;
-                }
-
                 mIsEnrolling = true;
                 Intent intent = new Intent();
                 if (FeatureFlagUtils.isEnabled(getContext(),
                         FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT)) {
                     intent.setClassName(SETTINGS_PACKAGE_NAME,
-                            FingerprintEnrollmentActivity.class.getName());
+                            FingerprintEnrollmentActivity.InternalActivity.class.getName());
                     intent.putExtra(EnrollmentRequest.EXTRA_SKIP_FIND_SENSOR, true);
                 } else {
                     intent.setClassName(SETTINGS_PACKAGE_NAME,
@@ -839,6 +877,8 @@
         @Override
         protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
             if (!isFingerprintHardwareDetected(context)) {
+                Log.e(TAG, "Fingerprint hardware is not detected");
+                mControllers = Collections.emptyList();
                 return null;
             }
 
@@ -847,20 +887,20 @@
         }
 
         private List<AbstractPreferenceController> buildPreferenceControllers(Context context) {
-            final List<AbstractPreferenceController> controllers = new ArrayList<>();
+            final List<AbstractPreferenceController> controllers =
+                    createThePreferenceControllers(context);
             if (isSfps()) {
-                mFingerprintUnlockCategoryPreferenceController =
-                    new FingerprintUnlockCategoryController(
-                        context,
-                        KEY_FINGERPRINT_UNLOCK_CATEGORY
-                    );
-                mRequireScreenOnToAuthPreferenceController =
-                        new FingerprintSettingsRequireScreenOnToAuthPreferenceController(
-                                context,
-                                KEY_REQUIRE_SCREEN_ON_TO_AUTH
-                        );
-                controllers.add(mFingerprintUnlockCategoryPreferenceController);
-                controllers.add(mRequireScreenOnToAuthPreferenceController);
+                for (AbstractPreferenceController controller : controllers) {
+                    if (controller.getPreferenceKey() == KEY_FINGERPRINT_UNLOCK_CATEGORY) {
+                        mFingerprintUnlockCategoryPreferenceController =
+                                (FingerprintUnlockCategoryController) controller;
+                    } else if (controller.getPreferenceKey() == KEY_REQUIRE_SCREEN_ON_TO_AUTH) {
+                        mRequireScreenOnToAuthPreferenceController =
+                                (FingerprintSettingsRequireScreenOnToAuthPreferenceController)
+                                        controller;
+                    }
+
+                }
             }
             return controllers;
         }
@@ -876,8 +916,9 @@
                             final Activity activity = getActivity();
                             if (activity != null) {
                                 // Apply pending transition for auto adding first fingerprint case
-                                activity.overridePendingTransition(R.anim.sud_slide_next_in,
-                                        R.anim.sud_slide_next_out);
+                                activity.overridePendingTransition(
+                                        com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                                        com.google.android.setupdesign.R.anim.sud_slide_next_out);
                             }
 
                             // To have smoother animation, change flow to let next visible activity
@@ -923,7 +964,7 @@
                     activity.finish();
                 }
             } else if (requestCode == AUTO_ADD_FIRST_FINGERPRINT_REQUEST) {
-                if (resultCode != RESULT_FINISHED || data == null) {
+                if (resultCode != RESULT_FINISHED) {
                     Log.d(TAG, "Add first fingerprint, fail or null data, result:" + resultCode);
                     if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
                         // If "Fingerprint Unlock" is closed because of timeout, notify result code
@@ -935,14 +976,19 @@
                     return;
                 }
 
-                mToken = data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
+                if (mToken == null && data != null) {
+                    mToken = data.getByteArrayExtra(
+                            ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN);
+                }
                 if (mToken == null) {
                     Log.w(TAG, "Add first fingerprint, null token");
                     finish();
                     return;
                 }
 
-                mChallenge = data.getLongExtra(EXTRA_KEY_CHALLENGE, -1L);
+                if (mChallenge == -1L && data != null) {
+                    mChallenge = data.getLongExtra(EXTRA_KEY_CHALLENGE, -1L);
+                }
                 if (mChallenge == -1L) {
                     Log.w(TAG, "Add first fingerprint, invalid challenge");
                     finish();
@@ -1028,7 +1074,7 @@
             intent.setClassName(SETTINGS_PACKAGE_NAME,
                     FeatureFlagUtils.isEnabled(getActivity(),
                             FeatureFlagUtils.SETTINGS_BIOMETRICS2_ENROLLMENT)
-                            ? FingerprintEnrollmentActivity.class.getName()
+                            ? FingerprintEnrollmentActivity.InternalActivity.class.getName()
                             : FingerprintEnrollIntroductionInternal.class.getName()
             );
 
@@ -1356,12 +1402,14 @@
             super.onBindViewHolder(view);
             mView = view.itemView;
             mDeleteView = view.itemView.findViewById(R.id.delete_button);
-            mDeleteView.setOnClickListener(new View.OnClickListener() {
-                @Override
-                public void onClick(View v) {
-                    if (mOnDeleteClickListener != null) {
-                        mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this);
-                    }
+            if (mFingerprint != null) {
+                mDeleteView.setContentDescription(
+                        mDeleteView.getContentDescription()
+                                + " " + mFingerprint.getName().toString());
+            }
+            mDeleteView.setOnClickListener(v -> {
+                if (mOnDeleteClickListener != null) {
+                    mOnDeleteClickListener.onDeleteClick(FingerprintPreference.this);
                 }
             });
         }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java b/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java
index 87396dd..61ec54b 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsRequireScreenOnToAuthPreferenceController.java
@@ -25,11 +25,14 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.Utils;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
 
 /**
  * Preference controller that controls whether a SFPS device is required to be interactive for
  * fingerprint authentication to unlock the device.
  */
+@SearchIndexable
 public class FingerprintSettingsRequireScreenOnToAuthPreferenceController
         extends FingerprintSettingsPreferenceController {
     private static final String TAG =
@@ -104,4 +107,10 @@
         return UserHandle.of(getUserId()).getIdentifier();
     }
 
+    /**
+     * This feature is not directly searchable.
+     */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider() {};
+
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/FingerprintUpdater.java b/src/com/android/settings/biometrics/fingerprint/FingerprintUpdater.java
index 306b1a3..ea9abf1 100644
--- a/src/com/android/settings/biometrics/fingerprint/FingerprintUpdater.java
+++ b/src/com/android/settings/biometrics/fingerprint/FingerprintUpdater.java
@@ -17,13 +17,16 @@
 package com.android.settings.biometrics.fingerprint;
 
 import android.content.Context;
+import android.content.Intent;
 import android.hardware.fingerprint.Fingerprint;
+import android.hardware.fingerprint.FingerprintEnrollOptions;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.CancellationSignal;
 
 import androidx.annotation.Nullable;
 
 import com.android.settings.Utils;
+import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.safetycenter.BiometricsSafetySource;
 
 /**
@@ -48,9 +51,10 @@
     /** Wrapper around the {@link FingerprintManager#enroll} method. */
     public void enroll(byte [] hardwareAuthToken, CancellationSignal cancel, int userId,
             FingerprintManager.EnrollmentCallback callback,
-            @FingerprintManager.EnrollReason int enrollReason) {
+            @FingerprintManager.EnrollReason int enrollReason, Intent intent) {
         mFingerprintManager.enroll(hardwareAuthToken, cancel, userId,
-                new NotifyingEnrollmentCallback(mContext, callback), enrollReason);
+                new NotifyingEnrollmentCallback(mContext, callback), enrollReason,
+                toFingerprintEnrollOptions(intent));
     }
 
     /** Wrapper around the {@link FingerprintManager#remove} method. */
@@ -138,4 +142,14 @@
             BiometricsSafetySource.onBiometricsChanged(mContext); // biometrics data changed
         }
     }
+
+    private FingerprintEnrollOptions toFingerprintEnrollOptions(Intent intent) {
+        final int reason = intent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1);
+        final FingerprintEnrollOptions.Builder builder = new FingerprintEnrollOptions.Builder();
+        builder.setEnrollReason(FingerprintEnrollOptions.ENROLL_REASON_UNKNOWN);
+        if (reason != -1) {
+            builder.setEnrollReason(reason);
+        }
+        return builder.build();
+    }
 }
diff --git a/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java b/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java
index 11f3ee3..4dc75b9 100644
--- a/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java
+++ b/src/com/android/settings/biometrics/fingerprint/MessageDisplayController.java
@@ -16,11 +16,12 @@
 
 package com.android.settings.biometrics.fingerprint;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Handler;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import java.time.Clock;
 import java.util.ArrayDeque;
 import java.util.Deque;
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
index a71bb65..6590530 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensor.java
@@ -33,6 +33,7 @@
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
 public class SetupFingerprintEnrollFindSensor extends FingerprintEnrollFindSensor {
@@ -48,6 +49,11 @@
         }
         BiometricUtils.copyMultiBiometricExtras(getIntent(), intent);
         SetupWizardUtils.copySetupExtras(getIntent(), intent);
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                intent.putExtras(mCalibrator.getExtrasForNextIntent(true));
+            }
+        }
         return intent;
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
index eb68687..0ee9ad3 100644
--- a/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
+++ b/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroduction.java
@@ -25,6 +25,7 @@
 import com.android.settings.SetupWizardUtils;
 import com.android.settings.Utils;
 import com.android.settings.biometrics.BiometricUtils;
+import com.android.settings.flags.Flags;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.password.SetupSkipDialog;
 
@@ -46,6 +47,11 @@
                     BiometricUtils.getGatekeeperPasswordHandle(getIntent()));
         }
         SetupWizardUtils.copySetupExtras(getIntent(), intent);
+        if (Flags.udfpsEnrollCalibration()) {
+            if (mCalibrator != null) {
+                intent.putExtras(mCalibrator.getExtrasForNextIntent(false));
+            }
+        }
         return intent;
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt
new file mode 100644
index 0000000..c54c6b5
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollCalibrator.kt
@@ -0,0 +1,18 @@
+package com.android.settings.biometrics.fingerprint
+
+import android.os.Bundle
+import androidx.fragment.app.FragmentManager
+import androidx.lifecycle.Lifecycle
+
+interface UdfpsEnrollCalibrator {
+
+    fun getExtrasForNextIntent(isEnrolling: Boolean): Bundle
+
+    fun onSaveInstanceState(outState: Bundle)
+
+    fun onFindSensorPage(
+            lifecycle: Lifecycle,
+            fragmentManager: FragmentManager,
+            enableEnrollingRunnable: Runnable
+    )
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
index df2f2f7..c798dff 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollEnrollingView.java
@@ -37,8 +37,8 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
-import com.android.settingslib.udfps.UdfpsOverlayParams;
-import com.android.settingslib.udfps.UdfpsUtils;
+import com.android.systemui.biometrics.UdfpsUtils;
+import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
 import com.google.android.setupdesign.GlifLayout;
@@ -78,7 +78,7 @@
     @Override
     protected void onFinishInflate() {
         super.onFinishInflate();
-        mHeaderView = findViewById(R.id.sud_landscape_header_area);
+        mHeaderView = findViewById(com.google.android.setupdesign.R.id.sud_landscape_header_area);
         mUdfpsEnrollView = findViewById(R.id.udfps_animation_view);
     }
 
@@ -138,7 +138,8 @@
                 displayInfo.getNaturalWidth(),
                 displayInfo.getNaturalHeight(),
                 scaleFactor,
-                displayInfo.rotation);
+                displayInfo.rotation,
+                udfpsProps.sensorType);
 
         mUdfpsEnrollView.setOverlayParams(params);
         mUdfpsEnrollView.setEnrollHelper(udfpsEnrollHelper);
@@ -201,8 +202,10 @@
             return false;
         };
 
-        findManagedViewById(mIsLandscape ? R.id.sud_landscape_content_area
-                : R.id.sud_layout_content).setOnHoverListener(onHoverListener);
+        findManagedViewById(mIsLandscape
+                ? com.google.android.setupdesign.R.id.sud_landscape_content_area
+                : com.google.android.setupdesign.R.id.sud_layout_content
+        ).setOnHoverListener(onHoverListener);
     }
 
     private void swapHeaderAndContent() {
@@ -212,7 +215,8 @@
         parentView.addView(mHeaderView);
 
         // Hide scroll indicators
-        BottomScrollView headerScrollView = mHeaderView.findViewById(R.id.sud_header_scroll_view);
+        BottomScrollView headerScrollView = mHeaderView.findViewById(
+                com.google.android.setupdesign.R.id.sud_header_scroll_view);
         headerScrollView.setScrollIndicators(0);
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java
index 0bfb87d..8d1113e 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollHelper.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.biometrics.fingerprint;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.content.Context;
 import android.graphics.PointF;
 import android.hardware.fingerprint.FingerprintManager;
@@ -29,6 +27,9 @@
 import android.util.TypedValue;
 import android.view.accessibility.AccessibilityManager;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import com.android.settings.core.InstrumentedFragment;
 
 import java.util.ArrayList;
@@ -182,7 +183,7 @@
      * Called when a fingerprint image has been acquired, but wasn't processed yet.
      */
     public void onAcquired(boolean isAcquiredGood) {
-        if (mListener != null && mTotalSteps != -1) {
+        if (mListener != null) {
             mListener.onAcquired(isAcquiredGood && animateIfLastStep());
         }
     }
diff --git a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
index 5ded91e..4a2a243 100644
--- a/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
+++ b/src/com/android/settings/biometrics/fingerprint/UdfpsEnrollView.java
@@ -19,6 +19,7 @@
 import android.content.Context;
 import android.graphics.Rect;
 import android.graphics.RectF;
+import android.hardware.fingerprint.FingerprintSensorProperties;
 import android.os.Handler;
 import android.os.Looper;
 import android.util.AttributeSet;
@@ -33,7 +34,7 @@
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
-import com.android.settingslib.udfps.UdfpsOverlayParams;
+import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams;
 
 /**
  * View corresponding with udfps_enroll_view.xml
@@ -202,7 +203,9 @@
     }
 
     private void onFingerDown() {
-        mFingerprintDrawable.setShouldSkipDraw(true);
+        if (mOverlayParams.getSensorType() == FingerprintSensorProperties.TYPE_UDFPS_OPTICAL) {
+            mFingerprintDrawable.setShouldSkipDraw(true);
+        }
         mFingerprintDrawable.invalidateSelf();
     }
 
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
new file mode 100644
index 0000000..f99d394
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeature.java
@@ -0,0 +1,96 @@
+/*
+ * 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.fingerprint.feature;
+
+import android.animation.Animator;
+import android.content.Context;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling;
+
+import com.airbnb.lottie.LottieAnimationView;
+
+import java.util.function.Function;
+import java.util.function.Supplier;
+
+public interface SfpsEnrollmentFeature {
+
+    /**
+     * Gets current SFPS enrollment stage.
+     * @param progressSteps current step of enrollment
+     * @param mapper a mapper to map each stage to its threshold
+     * @return current enrollment stage
+     */
+    int getCurrentSfpsEnrollStage(int progressSteps, Function<Integer, Integer> mapper);
+
+    /**
+     * Gets the vendor string by feature.
+     * @param context Context
+     * @param id An integer identifying the error message
+     * @param msg A human-readable string that can be shown in UI
+     * @return A human-readable string of specific feature
+     */
+    default CharSequence getFeaturedVendorString(Context context, int id, CharSequence msg) {
+        return msg;
+    }
+
+    /**
+     * Gets the stage header string by feature.
+     * @param stage the specific stage
+     * @return the resource id of the header text of the specific stage
+     */
+    int getFeaturedStageHeaderResource(int stage);
+
+    /**
+     * Gets the enrollment lottie resource id per stage
+     * @param stage current enrollment stage
+     * @return enrollment lottie resource id
+     */
+    int getSfpsEnrollLottiePerStage(int stage);
+
+    /**
+     * Handles extra stuffs on receiving enrollment help.
+     * @param helpMsgId help message id
+     * @param helpString help message
+     * @param enrollingSupplier supplier of enrolling context
+     */
+    default void handleOnEnrollmentHelp(int helpMsgId, CharSequence helpString,
+            Supplier<FingerprintEnrollEnrolling> enrollingSupplier) {}
+
+    /**
+     * Gets the fingerprint enrollment threshold.
+     * @param context context
+     * @param index the enrollment stage index
+     * @return threshold
+     */
+    float getEnrollStageThreshold(@NonNull Context context, int index);
+
+    /**
+     * Gets the help animator used when get help message.
+     * @param target the target view to animate
+     * @return animator
+     */
+    Animator getHelpAnimator(@NonNull View target);
+
+    /**
+     * Handles extra stuffs on lottie composition.
+     * @param lottieView the view related to the lottie
+     */
+    default void handleOnEnrollmentLottieComposition(LottieAnimationView lottieView) {}
+}
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java
new file mode 100644
index 0000000..60ced6e
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImpl.java
@@ -0,0 +1,110 @@
+/*
+ * 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.fingerprint.feature;
+
+import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_CENTER;
+import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_FINGERTIP;
+import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_LEFT_EDGE;
+import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_NO_ANIMATION;
+import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_RIGHT_EDGE;
+import static com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.STAGE_UNKNOWN;
+
+import android.animation.Animator;
+import android.animation.ObjectAnimator;
+import android.content.Context;
+import android.hardware.fingerprint.FingerprintManager;
+import android.view.View;
+import android.view.animation.AccelerateInterpolator;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+
+import java.util.function.Function;
+
+public class SfpsEnrollmentFeatureImpl implements SfpsEnrollmentFeature {
+    @VisibleForTesting
+    public static final int HELP_ANIMATOR_DURATION = 550;
+
+    @Nullable
+    private FingerprintManager mFingerprintManager = null;
+
+    @Override
+    public int getCurrentSfpsEnrollStage(int progressSteps, Function<Integer, Integer> mapper) {
+        if (mapper == null) {
+            return STAGE_UNKNOWN;
+        }
+        if (progressSteps < mapper.apply(0)) {
+            return SFPS_STAGE_NO_ANIMATION;
+        } else if (progressSteps < mapper.apply(1)) {
+            return SFPS_STAGE_CENTER;
+        } else if (progressSteps < mapper.apply(2)) {
+            return SFPS_STAGE_FINGERTIP;
+        } else if (progressSteps < mapper.apply(3)) {
+            return SFPS_STAGE_LEFT_EDGE;
+        } else {
+            return SFPS_STAGE_RIGHT_EDGE;
+        }
+    }
+
+    @Override
+    public int getFeaturedStageHeaderResource(int stage) {
+        return switch (stage) {
+            case SFPS_STAGE_NO_ANIMATION
+                    -> R.string.security_settings_fingerprint_enroll_repeat_title;
+            case SFPS_STAGE_CENTER -> R.string.security_settings_sfps_enroll_finger_center_title;
+            case SFPS_STAGE_FINGERTIP -> R.string.security_settings_sfps_enroll_fingertip_title;
+            case SFPS_STAGE_LEFT_EDGE -> R.string.security_settings_sfps_enroll_left_edge_title;
+            case SFPS_STAGE_RIGHT_EDGE -> R.string.security_settings_sfps_enroll_right_edge_title;
+            default -> throw new IllegalArgumentException("Invalid stage: " + stage);
+        };
+    }
+
+    @Override
+    public int getSfpsEnrollLottiePerStage(int stage) {
+        return switch (stage) {
+            case SFPS_STAGE_NO_ANIMATION -> R.raw.sfps_lottie_no_animation;
+            case SFPS_STAGE_CENTER -> R.raw.sfps_lottie_pad_center;
+            case SFPS_STAGE_FINGERTIP -> R.raw.sfps_lottie_tip;
+            case SFPS_STAGE_LEFT_EDGE -> R.raw.sfps_lottie_left_edge;
+            case SFPS_STAGE_RIGHT_EDGE -> R.raw.sfps_lottie_right_edge;
+            default -> throw new IllegalArgumentException("Invalid stage: " + stage);
+        };
+    }
+
+    @Override
+    public float getEnrollStageThreshold(@NonNull Context context, int index) {
+        if (mFingerprintManager == null) {
+            mFingerprintManager = context.getSystemService(FingerprintManager.class);
+        }
+        return mFingerprintManager.getEnrollStageThreshold(index);
+    }
+
+    @Override
+    public Animator getHelpAnimator(@NonNull View target) {
+        final float translationX = 40;
+        final ObjectAnimator help = ObjectAnimator.ofFloat(target,
+                "translationX" /* propertyName */,
+                0, translationX, -1 * translationX, translationX, 0f);
+        help.setInterpolator(new AccelerateInterpolator());
+        help.setDuration(HELP_ANIMATOR_DURATION);
+        help.setAutoCancel(false);
+        return help;
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeature.kt b/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeature.kt
new file mode 100644
index 0000000..840926c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeature.kt
@@ -0,0 +1,49 @@
+/*
+ * 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.fingerprint.feature
+
+import android.content.Context
+import android.view.View
+import androidx.preference.Preference
+
+/**
+ * Defines the feature provided by rest to unlock.
+ */
+interface SfpsRestToUnlockFeature {
+    /**
+     * Gets the content view hierarchy for SFPS rest to unlock feature which is used by
+     * [com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish].
+     * @param context the context of
+     * [com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish].
+     */
+    fun getRestToUnlockLayout(context: Context) : View? = null
+
+    /**
+     * Gets the SFPS rest to unlock preference which is used in
+     * [com.android.settings.biometrics.fingerprint.FingerprintSettings].
+     * @param context the context of
+     * [com.android.settings.biometrics.fingerprint.FingerprintSettings].
+     */
+    fun getRestToUnlockPreference(context: Context) : Preference? = null
+
+    /**
+     * Gets the specific description used in
+     * [com.android.settings.biometrics.fingerprint.FingerprintEnrollFinish] for SFPS devices.
+     * @return the description text for SFPS devices.
+     */
+    fun getDescriptionForSfps(context: Context) : String
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeatureImpl.kt b/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeatureImpl.kt
new file mode 100644
index 0000000..de78a2a
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeatureImpl.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.fingerprint.feature
+
+import android.content.Context
+
+class SfpsRestToUnlockFeatureImpl : SfpsRestToUnlockFeature {
+    override fun getDescriptionForSfps(context: Context) : String {
+        return context.getString(
+            com.android.settings.R
+                .string.security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message
+        )
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/OWNERS b/src/com/android/settings/biometrics/fingerprint2/OWNERS
new file mode 100644
index 0000000..f5fd453
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/OWNERS
@@ -0,0 +1,4 @@
+# Owners for Biometric Fingerprint
+joshmccloskey@google.com
+jbolinger@google.com
+spdonghao@google.com
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/README.md b/src/com/android/settings/biometrics/fingerprint2/README.md
new file mode 100644
index 0000000..4a99a2b
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/README.md
@@ -0,0 +1,10 @@
+### Fingerprint Settings Enrollment
+
+#### Flows
+
+* FingerprintSettings (ui.settings.fragment.FingerprintSettingsV2Fragment)
+* FingerprintEnrollment (ui.enrollment.activity.FingerprintEnrollmentV2Activity)
+
+#### Style
+
+* Please use [kfmt](https://plugins.jetbrains.com/plugin/14912-ktfmt)
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
new file mode 100644
index 0000000..0ef1d25
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/conversion/Util.kt
@@ -0,0 +1,74 @@
+/*
+ * 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.conversion
+
+import android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_CANCELED
+import android.hardware.biometrics.BiometricFingerprintConstants.FINGERPRINT_ERROR_UNABLE_TO_PROCESS
+import android.hardware.fingerprint.FingerprintManager
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
+
+object Util {
+  fun EnrollReason.toOriginalReason(): Int {
+    return when (this) {
+      EnrollReason.EnrollEnrolling -> FingerprintManager.ENROLL_ENROLL
+      EnrollReason.FindSensor -> FingerprintManager.ENROLL_FIND_SENSOR
+    }
+  }
+
+  fun Int.toEnrollError(isSetupWizard: Boolean): FingerEnrollState.EnrollError {
+    val errTitle =
+      when (this) {
+        FingerprintManager.FINGERPRINT_ERROR_TIMEOUT ->
+          R.string.security_settings_fingerprint_enroll_error_dialog_title
+        FingerprintManager.FINGERPRINT_ERROR_BAD_CALIBRATION ->
+          R.string.security_settings_fingerprint_bad_calibration_title
+        else -> R.string.security_settings_fingerprint_enroll_error_unable_to_process_dialog_title
+      }
+    val errString =
+      if (isSetupWizard) {
+        when (this) {
+          FingerprintManager.FINGERPRINT_ERROR_TIMEOUT ->
+            R.string.security_settings_fingerprint_enroll_error_dialog_title
+          FingerprintManager.FINGERPRINT_ERROR_BAD_CALIBRATION ->
+            R.string.security_settings_fingerprint_bad_calibration_title
+          else -> R.string.security_settings_fingerprint_enroll_error_unable_to_process_dialog_title
+        }
+      } else {
+        when (this) {
+          // This message happens when the underlying crypto layer
+          // decides to revoke the enrollment auth token
+          FingerprintManager.FINGERPRINT_ERROR_TIMEOUT ->
+            R.string.security_settings_fingerprint_enroll_error_timeout_dialog_message
+          FingerprintManager.FINGERPRINT_ERROR_BAD_CALIBRATION ->
+            R.string.security_settings_fingerprint_bad_calibration
+          FingerprintManager.FINGERPRINT_ERROR_UNABLE_TO_PROCESS ->
+            R.string.security_settings_fingerprint_enroll_error_unable_to_process_message
+          // There's nothing specific to tell the user about. Ask them to try again.
+          else -> R.string.security_settings_fingerprint_enroll_error_generic_dialog_message
+        }
+      }
+
+    return FingerEnrollState.EnrollError(
+      errTitle,
+      errString,
+      this == FINGERPRINT_ERROR_UNABLE_TO_PROCESS,
+      this == FINGERPRINT_ERROR_CANCELED,
+    )
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt
new file mode 100644
index 0000000..000a477
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/data/repository/FingerprintSensorRepository.kt
@@ -0,0 +1,90 @@
+/*
+ * 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.ComponentInfoInternal
+import android.hardware.biometrics.SensorLocationInternal
+import android.hardware.biometrics.SensorProperties
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintSensorProperties
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
+import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.toFingerprintSensor
+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.stateIn
+import kotlinx.coroutines.withContext
+
+/**
+ * Provides the [FingerprintSensor]
+ *
+ * TODO(b/313493336): Move this to systemui
+ */
+interface FingerprintSensorRepository {
+  /** Get the [FingerprintSensor] */
+  val fingerprintSensor: Flow<FingerprintSensor>
+}
+
+class FingerprintSensorRepositoryImpl(
+    fingerprintManager: FingerprintManager,
+    backgroundDispatcher: CoroutineDispatcher,
+    activityScope: CoroutineScope,
+) : FingerprintSensorRepository {
+
+  override val fingerprintSensor: Flow<FingerprintSensor> =
+    callbackFlow {
+        val callback =
+          object : IFingerprintAuthenticatorsRegisteredCallback.Stub() {
+            override fun onAllAuthenticatorsRegistered(
+              sensors: List<FingerprintSensorPropertiesInternal>
+            ) {
+              if (sensors.isEmpty()) {
+                trySend(DEFAULT_PROPS)
+              } else {
+                trySend(sensors[0].toFingerprintSensor())
+              }
+            }
+          }
+        withContext(backgroundDispatcher) {
+          fingerprintManager?.addAuthenticatorsRegisteredCallback(callback)
+        }
+        awaitClose {}
+      }
+      .stateIn(activityScope, started = SharingStarted.Eagerly, initialValue = DEFAULT_PROPS)
+
+    companion object {
+        private const val TAG = "FingerprintSensorRepoImpl"
+
+        private val DEFAULT_PROPS =
+            FingerprintSensorPropertiesInternal(
+                -1 /* sensorId */,
+                SensorProperties.STRENGTH_CONVENIENCE,
+                0 /* maxEnrollmentsPerUser */,
+                listOf<ComponentInfoInternal>(),
+                FingerprintSensorProperties.TYPE_UNKNOWN,
+                false /* halControlsIllumination */,
+                true /* resetLockoutRequiresHardwareAuthToken */,
+                listOf<SensorLocationInternal>(SensorLocationInternal.DEFAULT),
+            )
+                .toFingerprintSensor()
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt
new file mode 100644
index 0000000..e769237
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/AccessibilityInteractor.kt
@@ -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.biometrics.fingerprint2.domain.interactor
+
+import android.view.accessibility.AccessibilityManager
+import androidx.lifecycle.LifecycleCoroutineScope
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.stateIn
+
+/** Represents all of the information on accessibility state. */
+interface AccessibilityInteractor {
+    /** A flow that contains whether or not accessibility is enabled */
+    val isAccessibilityEnabled: Flow<Boolean>
+}
+
+class AccessibilityInteractorImpl(
+    accessibilityManager: AccessibilityManager,
+    activityScope: LifecycleCoroutineScope
+) : AccessibilityInteractor {
+  /** A flow that contains whether or not accessibility is enabled */
+  override val isAccessibilityEnabled: Flow<Boolean> =
+    callbackFlow {
+        val listener =
+            AccessibilityManager.AccessibilityStateChangeListener { enabled -> trySend(enabled) }
+        accessibilityManager.addAccessibilityStateChangeListener(listener)
+
+        // This clause will be called when no one is listening to the flow
+        awaitClose { accessibilityManager.removeAccessibilityStateChangeListener(listener) }
+    }
+      .stateIn(
+        activityScope, // This is going to tied to the activity scope
+          SharingStarted.WhileSubscribed(), // When no longer subscribed, we removeTheListener
+        false
+      )
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt
deleted file mode 100644
index 2fbdedf..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractor.kt
+++ /dev/null
@@ -1,207 +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.FingerprintManager
-import android.hardware.fingerprint.FingerprintManager.GenerateChallengeCallback
-import android.hardware.fingerprint.FingerprintManager.RemovalCallback
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
-import android.os.CancellationSignal
-import android.util.Log
-import com.android.settings.biometrics.GatekeeperPasswordProvider
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-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"
-
-/** Encapsulates business logic related to managing fingerprints. */
-interface FingerprintManagerInteractor {
-  /** Returns the list of current fingerprints. */
-  val enrolledFingerprints: Flow<List<FingerprintViewModel>>
-
-  /** Returns the max enrollable fingerprints, note during SUW this might be 1 */
-  val maxEnrollableFingerprints: Flow<Int>
-
-  /** Runs [FingerprintManager.authenticate] */
-  suspend fun authenticate(): FingerprintAuthAttemptViewModel
-
-  /**
-   * 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
-   * [FingerprintManager.enroll]
-   *
-   * @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>
-
-  /** Returns true if a user can enroll a fingerprint false otherwise. */
-  fun canEnrollFingerprints(numFingerprints: Int): Flow<Boolean>
-
-  /**
-   * Removes the given fingerprint, returning true if it was successfully removed and false
-   * otherwise
-   */
-  suspend fun removeFingerprint(fp: FingerprintViewModel): Boolean
-
-  /** Renames the given fingerprint if one exists */
-  suspend fun renameFingerprint(fp: FingerprintViewModel, newName: String)
-
-  /** Indicates if the device has side fingerprint */
-  suspend fun hasSideFps(): Boolean
-
-  /** Indicates if the press to auth feature has been enabled */
-  suspend fun pressToAuthEnabled(): Boolean
-
-  /** Retrieves the sensor properties of a device */
-  suspend fun sensorPropertiesInternal(): List<FingerprintSensorPropertiesInternal>
-}
-
-class FingerprintManagerInteractorImpl(
-  applicationContext: Context,
-  private val backgroundDispatcher: CoroutineDispatcher,
-  private val fingerprintManager: FingerprintManager,
-  private val gatekeeperPasswordProvider: GatekeeperPasswordProvider,
-  private val pressToAuthProvider: () -> Boolean,
-) : 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<FingerprintViewModel>> = flow {
-    emit(
-      fingerprintManager
-        .getEnrolledFingerprints(applicationContext.userId)
-        .map { (FingerprintViewModel(it.name.toString(), it.biometricId, it.deviceId)) }
-        .toList()
-    )
-  }
-
-  override fun canEnrollFingerprints(numFingerprints: Int): Flow<Boolean> = flow {
-    emit(numFingerprints < maxFingerprints)
-  }
-
-  override val maxEnrollableFingerprints = flow { emit(maxFingerprints) }
-
-  override suspend fun removeFingerprint(fp: FingerprintViewModel): 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: FingerprintViewModel, newName: String) {
-    withContext(backgroundDispatcher) {
-      fingerprintManager.rename(fp.fingerId, applicationContext.userId, newName)
-    }
-  }
-
-  override suspend fun hasSideFps(): Boolean = suspendCancellableCoroutine {
-    it.resume(fingerprintManager.isPowerbuttonFps)
-  }
-
-  override suspend fun pressToAuthEnabled(): Boolean = suspendCancellableCoroutine {
-    it.resume(pressToAuthProvider())
-  }
-
-  override suspend fun sensorPropertiesInternal(): List<FingerprintSensorPropertiesInternal> =
-    suspendCancellableCoroutine {
-      it.resume(fingerprintManager.sensorPropertiesInternal)
-    }
-
-  override suspend fun authenticate(): FingerprintAuthAttemptViewModel =
-    suspendCancellableCoroutine { c: CancellableContinuation<FingerprintAuthAttemptViewModel> ->
-      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(FingerprintAuthAttemptViewModel.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(FingerprintAuthAttemptViewModel.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/FingerprintManagerInteractorImpl.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
new file mode 100644
index 0000000..900f7cf
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FingerprintManagerInteractorImpl.kt
@@ -0,0 +1,274 @@
+/*
+ * 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.biometrics.BiometricConstants;
+import android.hardware.biometrics.BiometricFingerprintConstants
+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.BiometricUtils
+import com.android.settings.biometrics.fingerprint2.conversion.Util.toEnrollError
+import com.android.settings.biometrics.fingerprint2.conversion.Util.toOriginalReason
+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.biometrics.fingerprint2.lib.model.FingerprintFlow
+import com.android.settings.biometrics.fingerprint2.lib.model.SetupWizard
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.android.systemui.biometrics.shared.model.toFingerprintSensor
+import com.google.android.setupcompat.util.WizardManagerHelper
+import kotlin.coroutines.resume
+import kotlin.coroutines.suspendCoroutine
+import kotlinx.coroutines.CancellableContinuation
+import kotlinx.coroutines.CoroutineDispatcher
+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.flow
+import kotlinx.coroutines.flow.update
+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 pressToAuthInteractor: PressToAuthInteractor,
+  private val fingerprintFlow: FingerprintFlow,
+  private val intent: Intent,
+) : FingerprintManagerInteractor {
+
+  private val maxFingerprints =
+    applicationContext.resources.getInteger(
+      com.android.internal.R.integer.config_fingerprintMaxTemplatesPerUser
+    )
+  private val applicationContext = applicationContext.applicationContext
+
+  private val enrollRequestOutstanding = MutableStateFlow(false)
+
+  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
+    )
+  }
+
+  override val sensorPropertiesInternal = fingerprintSensorRepository.fingerprintSensor
+
+  override val maxEnrollableFingerprints = flow { emit(maxFingerprints) }
+
+  override suspend fun enroll(
+    hardwareAuthToken: ByteArray?,
+    enrollReason: EnrollReason,
+  ): 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 }
+        }
+      }
+
+    val cancellationSignal = CancellationSignal()
+
+    if (intent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1) === -1) {
+      val isSuw: Boolean = WizardManagerHelper.isAnySetupWizard(intent)
+      intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+      if (isSuw) FingerprintEnrollOptions.ENROLL_REASON_SUW else
+        FingerprintEnrollOptions.ENROLL_REASON_SETTINGS)
+    }
+
+    fingerprintManager.enroll(
+      hardwareAuthToken,
+      cancellationSignal,
+      applicationContext.userId,
+      enrollmentCallback,
+      enrollReason.toOriginalReason(),
+      toFingerprintEnrollOptions(intent)
+    )
+    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()
+      }
+    }
+  }
+
+  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,
+      )
+    }
+
+  private fun toFingerprintEnrollOptions(intent: Intent): FingerprintEnrollOptions {
+    val reason: Int =
+      intent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1)
+    val builder: FingerprintEnrollOptions.Builder = FingerprintEnrollOptions.Builder()
+    builder.setEnrollReason(FingerprintEnrollOptions.ENROLL_REASON_UNKNOWN)
+    if (reason != -1) {
+      builder.setEnrollReason(reason)
+    }
+    return builder.build()
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FoldStateInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FoldStateInteractor.kt
new file mode 100644
index 0000000..0224aa2
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/FoldStateInteractor.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.biometrics.fingerprint2.domain.interactor
+
+import android.content.Context
+import android.content.res.Configuration
+import com.android.systemui.unfold.compat.ScreenSizeFoldProvider
+import com.android.systemui.unfold.updates.FoldProvider
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.callbackFlow
+
+interface FoldStateInteractor {
+    /** A flow that contains the fold state info */
+    val isFolded: Flow<Boolean>
+
+    /**
+     * Indicates a configuration change has occurred, and the repo
+     * should update the [isFolded] flow.
+     */
+    fun onConfigurationChange(newConfig: Configuration)
+}
+
+/**
+ * Interactor which handles fold state
+ */
+class FoldStateInteractorImpl(context: Context) : FoldStateInteractor {
+    private val screenSizeFoldProvider = ScreenSizeFoldProvider(context)
+    override val isFolded: Flow<Boolean> = callbackFlow {
+        val foldStateListener = FoldProvider.FoldCallback { isFolded -> trySend(isFolded) }
+        screenSizeFoldProvider.registerCallback(foldStateListener, context.mainExecutor)
+        awaitClose { screenSizeFoldProvider.unregisterCallback(foldStateListener) }
+    }
+
+    /**
+     * This function is called by the root activity, indicating an orientation event has occurred.
+     * When this happens, the [ScreenSizeFoldProvider] is notified and it will re-compute if the
+     * device is folded or not, and notify the [FoldProvider.FoldCallback]
+     */
+    override fun onConfigurationChange(newConfig: Configuration) {
+        screenSizeFoldProvider.onConfigurationChange(newConfig)
+    }
+
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/OrientationInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/OrientationInteractor.kt
new file mode 100644
index 0000000..968203f
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/OrientationInteractor.kt
@@ -0,0 +1,84 @@
+/*
+ * 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.Context
+import android.view.OrientationEventListener
+import com.android.internal.R
+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.stateIn
+
+/**
+ * Interactor which provides information about orientation
+ */
+interface OrientationInteractor {
+  /** A flow that contains the information about the orientation changing */
+  val orientation: Flow<Int>
+  /** A flow that contains the rotation info */
+  val rotation: Flow<Int>
+  /**
+   * A Helper function that computes rotation if device is in
+   * [R.bool.config_reverseDefaultConfigRotation]
+   */
+  fun getRotationFromDefault(rotation: Int): Int
+}
+
+class OrientationInteractorImpl(private val context: Context, activityScope: CoroutineScope) :
+  OrientationInteractor {
+
+  override val orientation: Flow<Int> = callbackFlow {
+    val orientationEventListener =
+      object : OrientationEventListener(context) {
+        override fun onOrientationChanged(orientation: Int) {
+          trySend(orientation)
+        }
+      }
+    orientationEventListener.enable()
+    awaitClose { orientationEventListener.disable() }
+  }
+
+  override val rotation: Flow<Int> =
+    callbackFlow {
+      val orientationEventListener =
+        object : OrientationEventListener(context) {
+          override fun onOrientationChanged(orientation: Int) {
+            trySend(getRotationFromDefault(context.display!!.rotation))
+          }
+        }
+      orientationEventListener.enable()
+      awaitClose { orientationEventListener.disable() }
+    }
+      .stateIn(
+        activityScope, // This is tied to the activity scope
+        SharingStarted.WhileSubscribed(), // When no longer subscribed, we removeTheListener
+        context.display!!.rotation,
+      )
+
+  override fun getRotationFromDefault(rotation: Int): Int {
+    val isReverseDefaultRotation =
+      context.resources.getBoolean(R.bool.config_reverseDefaultRotation)
+    return if (isReverseDefaultRotation) {
+      (rotation + 1) % 4
+    } else {
+      rotation
+    }
+  }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/domain/interactor/PressToAuthInteractor.kt b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/PressToAuthInteractor.kt
new file mode 100644
index 0000000..ab7b5de
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/domain/interactor/PressToAuthInteractor.kt
@@ -0,0 +1,104 @@
+/*
+ * 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.Context
+import android.database.ContentObserver
+import android.provider.Settings
+import android.util.Log
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.flowOn
+
+/** Interface that indicates if press to auth is on or off. */
+interface PressToAuthInteractor {
+    /** Indicates true if the PressToAuth feature is enabled, false otherwise. */
+    val isEnabled: Flow<Boolean>
+}
+
+/** Indicates whether or not the press to auth feature is enabled. */
+class PressToAuthInteractorImpl(
+    private val context: Context,
+    private val backgroundDispatcher: CoroutineDispatcher,
+) : PressToAuthInteractor {
+
+    /**
+     * A flow that contains the status of the press to auth feature.
+     */
+    override val isEnabled: Flow<Boolean> =
+
+        callbackFlow {
+            val callback =
+                object : ContentObserver(null) {
+                    override fun onChange(selfChange: Boolean) {
+                        Log.d(TAG, "SFPS_PERFORMANT_AUTH_ENABLED#onchange")
+                        trySend(
+                            getPressToAuth(),
+                        )
+                    }
+                }
+
+            context.contentResolver.registerContentObserver(
+                Settings.Secure.getUriFor(Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED),
+                false,
+                callback,
+                context.userId
+            )
+            trySend(getPressToAuth())
+            awaitClose {
+                context.contentResolver.unregisterContentObserver(callback)
+            }
+        }.flowOn(backgroundDispatcher)
+
+
+    /**
+     * Returns true if press to auth is enabled
+     */
+    private fun getPressToAuth(): Boolean {
+        var toReturn: Int =
+            Settings.Secure.getIntForUser(
+                context.contentResolver,
+                Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+                -1,
+                context.userId,
+            )
+        if (toReturn == -1) {
+            toReturn =
+                if (
+                    context.resources.getBoolean(com.android.internal.R.bool.config_performantAuthDefault)
+                ) {
+                    1
+                } else {
+                    0
+                }
+            Settings.Secure.putIntForUser(
+                context.contentResolver,
+                Settings.Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+                toReturn,
+                context.userId,
+            )
+        }
+        return toReturn == 1
+
+    }
+
+    companion object {
+        const val TAG = "PressToAuthInteractor"
+    }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/Android.bp b/src/com/android/settings/biometrics/fingerprint2/lib/Android.bp
new file mode 100644
index 0000000..9f753b2
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/Android.bp
@@ -0,0 +1,18 @@
+// This  library is mainly used for fakes which will be shared across are various types of tests
+// unit/robo/screenshot etc.
+//
+// This library shouldn't have many dependencies.
+package {
+    default_team: "trendy_team_android_settings_app",
+}
+
+android_library {
+    name: "FingerprintManagerInteractor",
+    srcs: [
+        "**/*.kt",
+    ],
+    static_libs: [
+        "BiometricsSharedLib",
+        "kotlinx-coroutines-android",
+    ],
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml b/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml
new file mode 100644
index 0000000..250f0af
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/AndroidManifest.xml
@@ -0,0 +1,18 @@
+<!--
+  ~ 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.
+  -->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.settings.biometrics.fingerprint2.lib">
+</manifest>
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
new file mode 100644
index 0000000..c0e1b4a
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/domain/interactor/FingerprintManagerInteractor.kt
@@ -0,0 +1,78 @@
+/*
+ * 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.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. Returning the [FingerEnrollState] that represents this fingerprint enrollment
+   * state.
+   */
+  suspend fun enroll(
+    hardwareAuthToken: ByteArray?,
+    enrollReason: EnrollReason,
+  ): 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/model/EnrollReason.kt b/src/com/android/settings/biometrics/fingerprint2/lib/model/EnrollReason.kt
new file mode 100644
index 0000000..3cc6497
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/model/EnrollReason.kt
@@ -0,0 +1,28 @@
+/*
+ * 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.lib.model
+
+/** The reason for enrollment */
+enum class EnrollReason {
+  /**
+   * The enroll happens on education screen. This is to support legacy flows where we require the
+   * user to touch the sensor before going ahead to the EnrollEnrolling flow
+   */
+  FindSensor,
+  /** The enroll happens on enrolling screen. */
+  EnrollEnrolling
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt
new file mode 100644
index 0000000..683397f
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerEnrollState.kt
@@ -0,0 +1,45 @@
+/*
+ * 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.lib.model
+
+import android.annotation.StringRes
+
+/**
+ * Represents a fingerprint enrollment state. See [FingerprintManager.EnrollmentCallback] for more
+ * information
+ */
+sealed class FingerEnrollState {
+  /**
+   * Represents an enrollment step progress.
+   *
+   * Progress is obtained by (totalStepsRequired - remainingSteps) / totalStepsRequired
+   */
+  data class EnrollProgress(val remainingSteps: Int, val totalStepsRequired: Int) :
+    FingerEnrollState()
+
+  /** Represents that recoverable error has been encountered during enrollment. */
+  data class EnrollHelp(@StringRes val helpMsgId: Int, val helpString: String) :
+    FingerEnrollState()
+
+  /** Represents that an unrecoverable error has been encountered and the operation is complete. */
+  data class EnrollError(
+    @StringRes val errTitle: Int,
+    @StringRes val errString: Int,
+    val shouldRetryEnrollment: Boolean,
+    val isCancelled: Boolean,
+  ) : FingerEnrollState()
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintAuthAttemptModel.kt b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintAuthAttemptModel.kt
new file mode 100644
index 0000000..45259e9
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintAuthAttemptModel.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.model
+
+/** Information indicating whether an auth was successful or not */
+sealed class FingerprintAuthAttemptModel {
+  /** Indicates a successful auth attempt has occurred for [fingerId] */
+  data class Success(val fingerId: Int) : FingerprintAuthAttemptModel()
+
+  /** Indicates a failed auth attempt has occurred. */
+  data class Error(val error: Int, val message: String) : FingerprintAuthAttemptModel()
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintData.kt b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintData.kt
new file mode 100644
index 0000000..62aa2c7
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintData.kt
@@ -0,0 +1,20 @@
+/*
+ * 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.lib.model
+
+/** Basic information about an enrolled fingerprint */
+data class FingerprintData(val name: String, val fingerId: Int, val deviceId: Long)
diff --git a/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintFlow.kt b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintFlow.kt
new file mode 100644
index 0000000..40d7a03
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/lib/model/FingerprintFlow.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.lib.model
+
+/**
+ * The [FingerprintFlow] for fingerprint enrollment indicates information on how the flow should
+ * behave.
+ */
+sealed class FingerprintFlow
+
+/** The default enrollment experience, typically called from Settings */
+data object Default : FingerprintFlow()
+
+/** SetupWizard/Out of box experience (OOBE) enrollment type. */
+data object SetupWizard : FingerprintFlow()
+
+/** Unicorn enrollment type */
+data object Unicorn : FingerprintFlow()
+
+/** Flow to specify settings type */
+data object Settings : FingerprintFlow()
+
+/** Indicates that the fast enroll experience should occur */
+data object FastEnroll : FingerprintFlow()
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt b/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt
deleted file mode 100644
index d9f3e43..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/binder/FingerprintSettingsViewBinder.kt
+++ /dev/null
@@ -1,177 +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.ui.binder
-
-import android.hardware.fingerprint.FingerprintManager
-import android.util.Log
-import androidx.lifecycle.LifecycleCoroutineScope
-import com.android.settings.biometrics.fingerprint2.ui.binder.FingerprintSettingsViewBinder.FingerprintView
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollAdditionalFingerprint
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollFirstFingerprint
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintStateViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettings
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettingsWithResult
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchConfirmDeviceCredential
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchedActivity
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.PreferenceViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.ShowSettings
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.Job
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.flow.filterNotNull
-import kotlinx.coroutines.launch
-
-private const val TAG = "FingerprintSettingsViewBinder"
-
-/** Binds a [FingerprintSettingsViewModel] to a [FingerprintView] */
-object FingerprintSettingsViewBinder {
-
-  interface FingerprintView {
-    /**
-     * Helper function to launch fingerprint enrollment(This should be the default behavior when a
-     * user enters their PIN/PATTERN/PASS and no fingerprints are enrolled).
-     */
-    fun launchFullFingerprintEnrollment(
-      userId: Int,
-      gateKeeperPasswordHandle: Long?,
-      challenge: Long?,
-      challengeToken: ByteArray?
-    )
-
-    /** Helper to launch an add fingerprint request */
-    fun launchAddFingerprint(userId: Int, challengeToken: ByteArray?)
-    /**
-     * Helper function that will try and launch confirm lock, if that fails we will prompt user to
-     * choose a PIN/PATTERN/PASS.
-     */
-    fun launchConfirmOrChooseLock(userId: Int)
-
-    /** Used to indicate that FingerprintSettings is finished. */
-    fun finish()
-
-    /** Indicates what result should be set for the returning callee */
-    fun setResultExternal(resultCode: Int)
-    /** Indicates the settings UI should be shown */
-    fun showSettings(state: FingerprintStateViewModel)
-    /** Indicates that a user has been locked out */
-    fun userLockout(authAttemptViewModel: FingerprintAuthAttemptViewModel.Error)
-    /** Indicates a fingerprint preference should be highlighted */
-    suspend fun highlightPref(fingerId: Int)
-    /** Indicates a user should be prompted to delete a fingerprint */
-    suspend fun askUserToDeleteDialog(fingerprintViewModel: FingerprintViewModel): Boolean
-    /** Indicates a user should be asked to renae ma dialog */
-    suspend fun askUserToRenameDialog(
-      fingerprintViewModel: FingerprintViewModel
-    ): Pair<FingerprintViewModel, String>?
-  }
-
-  fun bind(
-    view: FingerprintView,
-    viewModel: FingerprintSettingsViewModel,
-    navigationViewModel: FingerprintSettingsNavigationViewModel,
-    lifecycleScope: LifecycleCoroutineScope,
-  ) {
-
-    /** Result listener for launching enrollments **after** a user has reached the settings page. */
-
-    // Settings display flow
-    lifecycleScope.launch {
-      viewModel.fingerprintState.filterNotNull().collect { view.showSettings(it) }
-    }
-
-    // Dialog flow
-    lifecycleScope.launch {
-      viewModel.isShowingDialog.collectLatest {
-        if (it == null) {
-          return@collectLatest
-        }
-        when (it) {
-          is PreferenceViewModel.RenameDialog -> {
-            val willRename = view.askUserToRenameDialog(it.fingerprintViewModel)
-            if (willRename != null) {
-              Log.d(TAG, "renaming fingerprint $it")
-              viewModel.renameFingerprint(willRename.first, willRename.second)
-            }
-            viewModel.onRenameDialogFinished()
-          }
-          is PreferenceViewModel.DeleteDialog -> {
-            if (view.askUserToDeleteDialog(it.fingerprintViewModel)) {
-              Log.d(TAG, "deleting fingerprint $it")
-              viewModel.deleteFingerprint(it.fingerprintViewModel)
-            }
-            viewModel.onDeleteDialogFinished()
-          }
-        }
-      }
-    }
-
-    // Auth flow
-    lifecycleScope.launch {
-      viewModel.authFlow.filterNotNull().collect {
-        when (it) {
-          is FingerprintAuthAttemptViewModel.Success -> {
-            view.highlightPref(it.fingerId)
-          }
-          is FingerprintAuthAttemptViewModel.Error -> {
-            if (it.error == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
-              view.userLockout(it)
-            }
-          }
-        }
-      }
-    }
-
-    // Launch this on Dispatchers.Default and not main.
-    // Otherwise it takes too long for state transitions such as PIN/PATTERN/PASS
-    // to enrollment, which makes gives the user a janky experience.
-    lifecycleScope.launch(Dispatchers.Default) {
-      var settingsShowingJob: Job? = null
-      navigationViewModel.nextStep.filterNotNull().collect { nextStep ->
-        settingsShowingJob?.cancel()
-        settingsShowingJob = null
-        Log.d(TAG, "next step = $nextStep")
-        when (nextStep) {
-          is EnrollFirstFingerprint ->
-            view.launchFullFingerprintEnrollment(
-              nextStep.userId,
-              nextStep.gateKeeperPasswordHandle,
-              nextStep.challenge,
-              nextStep.challengeToken
-            )
-          is EnrollAdditionalFingerprint ->
-            view.launchAddFingerprint(nextStep.userId, nextStep.challengeToken)
-          is LaunchConfirmDeviceCredential -> view.launchConfirmOrChooseLock(nextStep.userId)
-          is FinishSettings -> {
-            Log.d(TAG, "Finishing due to ${nextStep.reason}")
-            view.finish()
-          }
-          is FinishSettingsWithResult -> {
-            Log.d(TAG, "Finishing with result ${nextStep.result} due to ${nextStep.reason}")
-            view.setResultExternal(nextStep.result)
-            view.finish()
-          }
-          is ShowSettings -> Log.d(TAG, "Showing settings")
-          is LaunchedActivity -> Log.d(TAG, "Launched activity, awaiting result")
-        }
-      }
-    }
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/README.md b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/README.md
new file mode 100644
index 0000000..8469f59
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/README.md
@@ -0,0 +1,23 @@
+### Fingerprint Settings Enrollment
+
+#### Entry Points (To FingerprintEnrollment)
+
+* FingerprintSettings (which launches the below intent)
+* Intent -> ".biometrics.fingerprint2.ui.enrollment.activity.FingerprintEnrollmentV2Activity")
+
+#### General Architecture
+
+The code should follow the MVVM architecture.
+
+**In addition, one activity (FingerprintEnrollmentV2Activity) should**
+
+* Control a list of fragments which correspond to enrollment steps
+* Be responsible for navigation events between fragments
+* Be responsible for navigation events to other activities if need be (
+  ConfirmDeviceCredentialActivity)
+* Be the controller of the viewmodels
+
+#### Style
+
+* Please use [kfmt](https://plugins.jetbrains.com/plugin/14912-ktfmt)
+
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
new file mode 100644
index 0000000..d26b812
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/activity/FingerprintEnrollmentV2Activity.kt
@@ -0,0 +1,426 @@
+/*
+ * 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.ui.enrollment.activity
+
+import android.app.Activity
+import android.content.Intent
+import android.content.res.Configuration
+import android.hardware.fingerprint.FingerprintManager
+import android.os.Bundle
+import android.util.Log
+import android.view.accessibility.AccessibilityManager
+import androidx.activity.result.contract.ActivityResultContracts
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.FragmentActivity
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import com.android.internal.widget.LockPatternUtils
+import com.android.settings.R
+import com.android.settings.SetupWizardUtils
+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.RESULT_FINISHED
+import com.android.settings.biometrics.GatekeeperPasswordProvider
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepositoryImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.AccessibilityInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
+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.OrientationInteractor
+import com.android.settings.biometrics.fingerprint2.domain.interactor.OrientationInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.PressToAuthInteractorImpl
+import com.android.settings.biometrics.fingerprint2.lib.model.Default
+import com.android.settings.biometrics.fingerprint2.lib.model.SetupWizard
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollConfirmationV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollEnrollingV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollFindSensorV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollIntroV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.fragment.RFPSEnrollFragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.viewmodel.RFPSViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintAction
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollConfirmationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollEnrollingViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollIntroViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintFlowViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.ConfirmDeviceCredential
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Confirmation
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Education
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Enrollment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Init
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Introduction
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.TransitionStep
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.flags.Flags
+import com.android.settings.password.ChooseLockGeneric
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.google.android.setupcompat.util.WizardManagerHelper
+import com.google.android.setupdesign.util.ThemeHelper
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintEnrollmentV2Activity"
+
+/**
+ * This is the activity that controls the entire Fingerprint Enrollment experience through its
+ * children fragments.
+ */
+class FingerprintEnrollmentV2Activity : FragmentActivity() {
+  private lateinit var fingerprintEnrollEnrollingViewModel: FingerprintEnrollEnrollingViewModel
+  private lateinit var navigationViewModel: FingerprintNavigationViewModel
+  private lateinit var gatekeeperViewModel: FingerprintGatekeeperViewModel
+  private lateinit var fingerprintEnrollViewModel: FingerprintEnrollViewModel
+  private lateinit var foldStateInteractor: FoldStateInteractor
+  private lateinit var orientationInteractor: OrientationInteractor
+  private lateinit var fingerprintScrollViewModel: FingerprintScrollViewModel
+  private lateinit var backgroundViewModel: BackgroundViewModel
+  private lateinit var fingerprintFlowViewModel: FingerprintFlowViewModel
+  private lateinit var fingerprintEnrollConfirmationViewModel:
+    FingerprintEnrollConfirmationViewModel
+  private val coroutineDispatcher = Dispatchers.Default
+
+  /** Result listener for ChooseLock activity flow. */
+  private val confirmDeviceResultListener =
+    registerForActivityResult(ActivityResultContracts.StartActivityForResult()) { result ->
+      val resultCode = result.resultCode
+      val data = result.data
+      onConfirmDevice(resultCode, data)
+    }
+
+  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+    super.onActivityResult(requestCode, resultCode, data)
+    if (requestCode == CONFIRM_REQUEST) {
+      onConfirmDevice(resultCode, data)
+    }
+  }
+
+  override fun onStop() {
+    super.onStop()
+    if (!isChangingConfigurations) {
+      backgroundViewModel.wentToBackground()
+    }
+  }
+
+  override fun onResume() {
+    super.onResume()
+    backgroundViewModel.inForeground()
+  }
+
+  override fun onConfigurationChanged(newConfig: Configuration) {
+    super.onConfigurationChanged(newConfig)
+    foldStateInteractor.onConfigurationChange(newConfig)
+  }
+
+  private fun onConfirmDevice(resultCode: Int, data: Intent?) {
+    val wasSuccessful = resultCode == RESULT_FINISHED || resultCode == Activity.RESULT_OK
+    val gateKeeperPasswordHandle = data?.getExtra(EXTRA_KEY_GK_PW_HANDLE) as Long?
+
+    lifecycleScope.launch {
+      val confirmDeviceResult =
+        if (wasSuccessful) {
+          FingerprintAction.CONFIRM_DEVICE_SUCCESS
+        } else {
+          FingerprintAction.CONFIRM_DEVICE_FAIL
+        }
+      gatekeeperViewModel.onConfirmDevice(wasSuccessful, gateKeeperPasswordHandle)
+      navigationViewModel.update(
+        confirmDeviceResult,
+        ConfirmDeviceCredential::class,
+        "$TAG#onConfirmDevice",
+      )
+    }
+  }
+
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+    // TODO(b/299573056): Show split screen dialog when it's in multi window mode.
+    setContentView(R.layout.fingerprint_v2_enroll_main)
+
+    if (!Flags.fingerprintV2Enrollment()) {
+      check(false) {
+        "fingerprint enrollment v2 is not enabled, " +
+          "please run adb shell device_config put " +
+          "biometrics_framework com.android.settings.flags.fingerprint_v2_enrollment true"
+      }
+      finish()
+    }
+
+    setTheme(SetupWizardUtils.getTheme(applicationContext, intent))
+    ThemeHelper.trySetDynamicColor(applicationContext)
+
+    val backgroundDispatcher = Dispatchers.IO
+
+    val context = applicationContext
+    val fingerprintManager = context.getSystemService(FINGERPRINT_SERVICE) as FingerprintManager
+    val isAnySuw = WizardManagerHelper.isAnySetupWizard(intent)
+    val enrollType =
+      if (isAnySuw) {
+        SetupWizard
+      } else {
+        Default
+      }
+
+    backgroundViewModel =
+      ViewModelProvider(this, BackgroundViewModel.BackgroundViewModelFactory())[
+        BackgroundViewModel::class.java]
+
+    fingerprintFlowViewModel =
+      ViewModelProvider(this, FingerprintFlowViewModel.FingerprintFlowViewModelFactory(enrollType))[
+        FingerprintFlowViewModel::class.java]
+
+    val fingerprintSensorRepo =
+      FingerprintSensorRepositoryImpl(fingerprintManager, backgroundDispatcher, lifecycleScope)
+    val pressToAuthInteractor = PressToAuthInteractorImpl(context, backgroundDispatcher)
+
+    val fingerprintManagerInteractor =
+      FingerprintManagerInteractorImpl(
+        context,
+        backgroundDispatcher,
+        fingerprintManager,
+        fingerprintSensorRepo,
+        GatekeeperPasswordProvider(LockPatternUtils(context)),
+        pressToAuthInteractor,
+        enrollType,
+        getIntent(),
+      )
+
+    var challenge: Long? = intent.getExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE) as Long?
+    val token = intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
+    val gatekeeperInfo = FingerprintGatekeeperViewModel.toGateKeeperInfo(challenge, token)
+
+    val hasConfirmedDeviceCredential = gatekeeperInfo is GatekeeperInfo.GatekeeperPasswordInfo
+
+    val accessibilityInteractor =
+      AccessibilityInteractorImpl(
+        getSystemService(AccessibilityManager::class.java)!!,
+        lifecycleScope,
+      )
+
+    navigationViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintNavigationViewModel.FingerprintNavigationViewModelFactory(
+          Init,
+          hasConfirmedDeviceCredential,
+          fingerprintFlowViewModel,
+          fingerprintManagerInteractor,
+        ),
+      )[FingerprintNavigationViewModel::class.java]
+    // Initialize FingerprintEnrollIntroViewModel
+    ViewModelProvider(
+      this,
+      FingerprintEnrollIntroViewModel.FingerprintEnrollIntoViewModelFactory(
+        navigationViewModel,
+        fingerprintFlowViewModel,
+        fingerprintManagerInteractor,
+      ),
+    )[FingerprintEnrollIntroViewModel::class.java]
+
+    gatekeeperViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintGatekeeperViewModel.FingerprintGatekeeperViewModelFactory(
+          gatekeeperInfo,
+          fingerprintManagerInteractor,
+        ),
+      )[FingerprintGatekeeperViewModel::class.java]
+
+    // Initialize FoldStateViewModel
+    foldStateInteractor = FoldStateInteractorImpl(context)
+    foldStateInteractor.onConfigurationChange(resources.configuration)
+
+    orientationInteractor = OrientationInteractorImpl(context, lifecycleScope)
+
+    // Initialize FingerprintViewModel
+    fingerprintEnrollViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintEnrollViewModel.FingerprintEnrollViewModelFactory(
+          fingerprintManagerInteractor,
+          gatekeeperViewModel,
+          navigationViewModel,
+        ),
+      )[FingerprintEnrollViewModel::class.java]
+
+    // Initialize scroll view model
+    fingerprintScrollViewModel =
+      ViewModelProvider(this, FingerprintScrollViewModel.FingerprintScrollViewModelFactory())[
+        FingerprintScrollViewModel::class.java]
+
+    // Initialize FingerprintEnrollEnrollingViewModel
+    fingerprintEnrollEnrollingViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingViewModelFactory(
+          fingerprintEnrollViewModel,
+          backgroundViewModel,
+        ),
+      )[FingerprintEnrollEnrollingViewModel::class.java]
+
+    // Initialize FingerprintEnrollFindSensorViewModel
+    ViewModelProvider(
+      this,
+      FingerprintEnrollFindSensorViewModel.FingerprintEnrollFindSensorViewModelFactory(
+        navigationViewModel,
+        fingerprintEnrollViewModel,
+        gatekeeperViewModel,
+        backgroundViewModel,
+        accessibilityInteractor,
+        foldStateInteractor,
+        orientationInteractor,
+        fingerprintFlowViewModel,
+        fingerprintManagerInteractor,
+      ),
+    )[FingerprintEnrollFindSensorViewModel::class.java]
+
+    // Initialize RFPS View Model
+    ViewModelProvider(
+      this,
+      RFPSViewModel.RFPSViewModelFactory(
+        fingerprintEnrollEnrollingViewModel,
+        navigationViewModel,
+        orientationInteractor,
+      ),
+    )[RFPSViewModel::class.java]
+
+    fingerprintEnrollConfirmationViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintEnrollConfirmationViewModel.FingerprintEnrollConfirmationViewModelFactory(
+          navigationViewModel,
+          fingerprintManagerInteractor,
+        ),
+      )[FingerprintEnrollConfirmationViewModel::class.java]
+
+    lifecycleScope.launch {
+      navigationViewModel.currentStep.collect { step ->
+        if (step is Init) {
+          Log.d(TAG, "FingerprintNav.init($step)")
+          navigationViewModel.update(FingerprintAction.ACTIVITY_CREATED, Init::class, "$TAG#init")
+        }
+      }
+    }
+
+    lifecycleScope.launch {
+      navigationViewModel.navigateTo.filterNotNull().collect { step ->
+        Log.d(TAG, "navigateTo: $step")
+        if (step is ConfirmDeviceCredential) {
+          launchConfirmOrChooseLock(userId)
+          navigationViewModel.update(
+            FingerprintAction.TRANSITION_FINISHED,
+            TransitionStep::class,
+            "$TAG#launchConfirmOrChooseLock",
+          )
+        } else {
+          val theClass: Fragment? =
+            when (step) {
+              Confirmation -> FingerprintEnrollConfirmationV2Fragment()
+              is Education -> {
+                FingerprintEnrollFindSensorV2Fragment(step.sensor.sensorType)
+              }
+              is Enrollment -> {
+                when (step.sensor.sensorType) {
+                  FingerprintSensorType.REAR -> RFPSEnrollFragment()
+                  else -> FingerprintEnrollEnrollingV2Fragment()
+                }
+              }
+              Introduction -> FingerprintEnrollIntroV2Fragment()
+              else -> null
+            }
+
+          if (theClass != null) {
+            supportFragmentManager.fragments.onEach { fragment ->
+              supportFragmentManager.beginTransaction().remove(fragment).commit()
+            }
+
+            supportFragmentManager
+              .beginTransaction()
+              .setReorderingAllowed(true)
+              .add(R.id.fragment_container_view, theClass, null)
+              .commit()
+            navigationViewModel.update(
+              FingerprintAction.TRANSITION_FINISHED,
+              TransitionStep::class,
+              "$TAG#fragmentManager.add($theClass)",
+            )
+          }
+        }
+      }
+    }
+
+    lifecycleScope.launch {
+      navigationViewModel.shouldFinish.filterNotNull().collect {
+        Log.d(TAG, "FingerprintSettingsNav.finishing($it)")
+        if (it.result != null) {
+          finishActivity(it.result as Int)
+        } else {
+          finish()
+        }
+      }
+    }
+
+    lifecycleScope.launch {
+      navigationViewModel.currentScreen.filterNotNull().collect { screen ->
+        Log.d(TAG, "FingerprintSettingsNav.currentScreen($screen)")
+      }
+    }
+
+    val fromSettingsSummary =
+      intent.getBooleanExtra(BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY, false)
+    if (
+      fromSettingsSummary && GatekeeperPasswordProvider.containsGatekeeperPasswordHandle(intent)
+    ) {
+      overridePendingTransition(
+        com.google.android.setupdesign.R.anim.sud_slide_next_in,
+        com.google.android.setupdesign.R.anim.sud_slide_next_out,
+      )
+    }
+  }
+
+  private fun launchConfirmOrChooseLock(userId: Int) {
+    val activity = this
+    lifecycleScope.launch(coroutineDispatcher) {
+      val intent = Intent()
+      val builder = ChooseLockSettingsHelper.Builder(activity)
+      val launched =
+        builder
+          .setRequestCode(CONFIRM_REQUEST)
+          .setTitle(getString(R.string.security_settings_fingerprint_preference_title))
+          .setRequestGatekeeperPasswordHandle(true)
+          .setUserId(userId)
+          .setForegroundOnly(true)
+          .setReturnCredentials(true)
+          .show()
+      if (!launched) {
+        intent.setClassName(SETTINGS_PACKAGE_NAME, ChooseLockGeneric::class.java.name)
+        intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS, true)
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true)
+        intent.putExtra(Intent.EXTRA_USER_ID, userId)
+        confirmDeviceResultListener.launch(intent)
+      }
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.kt
new file mode 100644
index 0000000..d8c1c93
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollConfirmationV2Fragment.kt
@@ -0,0 +1,109 @@
+/*
+ * 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.ui.enrollment.fragment
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.annotation.VisibleForTesting
+import androidx.fragment.app.Fragment
+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.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollConfirmationViewModel
+import com.google.android.setupcompat.template.FooterBarMixin
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.GlifLayout
+import kotlinx.coroutines.launch
+
+/**
+ * A fragment to indicate that fingerprint enrollment has been completed.
+ *
+ * This page will display basic information about what a fingerprint can be used for and acts as the
+ * final step of enrollment.
+ */
+class FingerprintEnrollConfirmationV2Fragment() :
+  Fragment(R.layout.fingerprint_enroll_finish_base) {
+
+  companion object {
+    const val TAG = "FingerprintEnrollConfirmationV2Fragment"
+  }
+
+  /** Used for testing purposes */
+  private var factory: ViewModelProvider.Factory? = null
+
+  @VisibleForTesting
+  constructor(theFactory: ViewModelProvider.Factory) : this() {
+    factory = theFactory
+  }
+
+  private val viewModelProvider: ViewModelProvider by lazy {
+    if (factory != null) {
+      ViewModelProvider(requireActivity(), factory!!)
+    } else {
+      ViewModelProvider(requireActivity())
+    }
+  }
+
+  private val viewModel: FingerprintEnrollConfirmationViewModel by lazy {
+    viewModelProvider[FingerprintEnrollConfirmationViewModel::class.java]
+  }
+
+  override fun onCreateView(
+    inflater: LayoutInflater,
+    container: ViewGroup?,
+    savedInstanceState: Bundle?,
+  ): View? =
+    super.onCreateView(inflater, container, savedInstanceState).also { theView ->
+      val mainView = theView!! as GlifLayout
+
+      mainView.setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title)
+      mainView.setDescriptionText(R.string.security_settings_fingerprint_enroll_finish_v2_message)
+
+      val mixin = mainView.getMixin(FooterBarMixin::class.java)
+      viewLifecycleOwner.lifecycleScope.launch {
+        repeatOnLifecycle(Lifecycle.State.RESUMED) {
+          viewModel.isAddAnotherButtonVisible.collect {
+            mixin.secondaryButton =
+              FooterButton.Builder(requireContext())
+                .setText(R.string.fingerprint_enroll_button_add)
+                .setListener { viewModel.onAddAnotherButtonClicked() }
+                .setButtonType(FooterButton.ButtonType.SKIP)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+                .build()
+          }
+        }
+      }
+
+      mixin.setPrimaryButton(
+        FooterButton.Builder(requireContext())
+          .setText(R.string.security_settings_fingerprint_enroll_done)
+          .setListener(this::onNextButtonClick)
+          .setButtonType(FooterButton.ButtonType.NEXT)
+          .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+          .build()
+      )
+    }
+
+  @Suppress("UNUSED_PARAMETER")
+  private fun onNextButtonClick(view: View?) {
+    viewModel.onNextButtonClicked()
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.kt
new file mode 100644
index 0000000..be30346
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollEnrollingV2Fragment.kt
@@ -0,0 +1,29 @@
+/*
+ * 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.ui.enrollment.fragment
+
+import android.os.Bundle
+import androidx.fragment.app.Fragment
+import com.android.settings.R
+
+/** A fragment that is responsible for enrolling a users fingerprint. */
+class FingerprintEnrollEnrollingV2Fragment : Fragment(R.layout.fingerprint_enroll_enrolling) {
+
+  override fun onCreate(savedInstanceState: Bundle?) {
+    super.onCreate(savedInstanceState)
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt
new file mode 100644
index 0000000..2b1ff9b
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollFindSensorV2Fragment.kt
@@ -0,0 +1,214 @@
+/*
+ * 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.ui.enrollment.fragment
+
+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.VisibleForTesting
+import androidx.fragment.app.Fragment
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import com.airbnb.lottie.LottieAnimationView
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog
+import com.android.settings.biometrics.fingerprint.FingerprintFindSensorAnimation
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.google.android.setupcompat.template.FooterBarMixin
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.GlifLayout
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintEnrollFindSensorV2Fragment"
+
+/**
+ * A fragment that is used to educate the user about the fingerprint sensor on this device.
+ *
+ * If the sensor is not a udfps sensor, this fragment listens to fingerprint enrollment for
+ * proceeding to the enroll enrolling.
+ *
+ * The main goals of this page are
+ * 1. Inform the user where the fingerprint sensor is on their device
+ * 2. Explain to the user how the enrollment process shown by [FingerprintEnrollEnrollingV2Fragment]
+ *    will work.
+ */
+class FingerprintEnrollFindSensorV2Fragment(val sensorType: FingerprintSensorType) : Fragment() {
+  /** Used for testing purposes */
+  private var factory: ViewModelProvider.Factory? = null
+
+  @VisibleForTesting
+  constructor(
+    sensorType: FingerprintSensorType,
+    theFactory: ViewModelProvider.Factory,
+  ) : this(sensorType) {
+    factory = theFactory
+  }
+
+  private val viewModelProvider: ViewModelProvider by lazy {
+    if (factory != null) {
+      ViewModelProvider(requireActivity(), factory!!)
+    } else {
+      ViewModelProvider(requireActivity())
+    }
+  }
+
+  // This is only for non-udfps or non-sfps sensor. For udfps and sfps, we show lottie.
+  private var animation: FingerprintFindSensorAnimation? = null
+
+  private var contentLayoutId: Int = -1
+  private val viewModel: FingerprintEnrollFindSensorViewModel by lazy {
+    viewModelProvider[FingerprintEnrollFindSensorViewModel::class.java]
+  }
+
+  override fun onCreateView(
+    inflater: LayoutInflater,
+    container: ViewGroup?,
+    savedInstanceState: Bundle?,
+  ): View? {
+
+    contentLayoutId =
+      when (sensorType) {
+        FingerprintSensorType.UDFPS_OPTICAL,
+        FingerprintSensorType.UDFPS_ULTRASONIC -> R.layout.udfps_enroll_find_sensor_layout
+        FingerprintSensorType.POWER_BUTTON -> R.layout.sfps_enroll_find_sensor_layout
+        else -> R.layout.fingerprint_v2_enroll_find_sensor
+      }
+
+    val view = inflater.inflate(contentLayoutId, container, false)!! as GlifLayout
+    setTexts(sensorType, view)
+
+    // Set up footer bar
+    val footerBarMixin = view.getMixin(FooterBarMixin::class.java)
+    setupSecondaryButton(footerBarMixin)
+    lifecycleScope.launch {
+      viewModel.showPrimaryButton.collect { setupPrimaryButton(footerBarMixin) }
+    }
+
+    // Set up lottie or animation
+    lifecycleScope.launch {
+      viewModel.sfpsLottieInfo.collect { (isFolded, rotation) ->
+        setupLottie(view, getSfpsIllustrationLottieAnimation(isFolded, rotation))
+      }
+    }
+    lifecycleScope.launch {
+      viewModel.udfpsLottieInfo.collect { isAccessibilityEnabled ->
+        val lottieAnimation =
+          if (isAccessibilityEnabled) R.raw.udfps_edu_a11y_lottie else R.raw.udfps_edu_lottie
+        setupLottie(view, lottieAnimation) { viewModel.proceedToEnrolling() }
+      }
+    }
+    lifecycleScope.launch {
+      viewModel.showRfpsAnimation.collect {
+        animation = view.findViewById(R.id.fingerprint_sensor_location_animation)
+        animation!!.startAnimation()
+      }
+    }
+
+    lifecycleScope.launch {
+      viewModel.showErrorDialog.collect { (errMsgId, isSetup) ->
+        // TODO: Covert error dialog kotlin as well
+        FingerprintErrorDialog.showErrorDialog(requireActivity(), errMsgId, isSetup)
+      }
+    }
+    return view
+  }
+
+  override fun onDestroy() {
+    animation?.stopAnimation()
+    super.onDestroy()
+  }
+
+  private fun setupSecondaryButton(footerBarMixin: FooterBarMixin) {
+    footerBarMixin.secondaryButton =
+      FooterButton.Builder(requireActivity())
+        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
+        .setListener { viewModel.secondaryButtonClicked() }
+        .setButtonType(FooterButton.ButtonType.SKIP)
+        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+        .build()
+  }
+
+  private fun setupPrimaryButton(footerBarMixin: FooterBarMixin) {
+    footerBarMixin.primaryButton =
+      FooterButton.Builder(requireActivity())
+        .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
+        .setListener {
+          Log.d(TAG, "onStartButtonClick")
+          viewModel.proceedToEnrolling()
+        }
+        .setButtonType(FooterButton.ButtonType.NEXT)
+        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+        .build()
+  }
+
+  private fun setupLottie(
+    view: View,
+    lottieAnimation: Int,
+    lottieClickListener: View.OnClickListener? = null,
+  ) {
+    val illustrationLottie: LottieAnimationView? = view.findViewById(R.id.illustration_lottie)
+    illustrationLottie?.setAnimation(lottieAnimation)
+    illustrationLottie?.playAnimation()
+    illustrationLottie?.setOnClickListener(lottieClickListener)
+    illustrationLottie?.visibility = View.VISIBLE
+  }
+
+  private fun setTexts(sensorType: FingerprintSensorType?, view: GlifLayout) {
+    when (sensorType) {
+      FingerprintSensorType.UDFPS_OPTICAL,
+      FingerprintSensorType.UDFPS_ULTRASONIC -> {
+        view.setHeaderText(R.string.security_settings_udfps_enroll_find_sensor_title)
+        view.setDescriptionText(R.string.security_settings_udfps_enroll_find_sensor_message)
+      }
+      FingerprintSensorType.POWER_BUTTON -> {
+        view.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title)
+        view.setDescriptionText(R.string.security_settings_sfps_enroll_find_sensor_message)
+      }
+      else -> {
+        view.setHeaderText(R.string.security_settings_fingerprint_enroll_find_sensor_title)
+        view.setDescriptionText(R.string.security_settings_fingerprint_enroll_find_sensor_message)
+      }
+    }
+  }
+
+  private fun getSfpsIllustrationLottieAnimation(isFolded: Boolean, rotation: Int): Int {
+    val animation: Int
+    when (rotation) {
+      Surface.ROTATION_90 ->
+        animation =
+          (if (isFolded) R.raw.fingerprint_edu_lottie_folded_top_left
+          else R.raw.fingerprint_edu_lottie_portrait_top_left)
+      Surface.ROTATION_180 ->
+        animation =
+          (if (isFolded) R.raw.fingerprint_edu_lottie_folded_bottom_left
+          else R.raw.fingerprint_edu_lottie_landscape_bottom_left)
+      Surface.ROTATION_270 ->
+        animation =
+          (if (isFolded) R.raw.fingerprint_edu_lottie_folded_bottom_right
+          else R.raw.fingerprint_edu_lottie_portrait_bottom_right)
+      else ->
+        animation =
+          (if (isFolded) R.raw.fingerprint_edu_lottie_folded_top_right
+          else R.raw.fingerprint_edu_lottie_landscape_top_right)
+    }
+    return animation
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
new file mode 100644
index 0000000..53d0ddf
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/fragment/FingerprintEnrollIntroV2Fragment.kt
@@ -0,0 +1,304 @@
+/*
+ * 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.ui.enrollment.fragment
+
+import android.annotation.NonNull
+import android.annotation.StringRes
+import android.graphics.Color
+import android.graphics.PorterDuff
+import android.graphics.PorterDuffColorFilter
+import android.os.Bundle
+import android.text.Html
+import android.text.method.LinkMovementMethod
+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.VisibleForTesting
+import androidx.fragment.app.Fragment
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.lifecycleScope
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.Unicorn
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollIntroViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+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.DynamicColorPalette
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintEnrollmentIntroV2Fragment"
+
+/** This class represents the customizable text for FingerprintEnrollIntroduction. */
+private data class TextModel(
+  @StringRes val footerMessageTwo: Int,
+  @StringRes val footerMessageThree: Int,
+  @StringRes val footerMessageFour: Int,
+  @StringRes val footerMessageFive: Int,
+  @StringRes val footerMessageSix: Int,
+  @StringRes val negativeButton: Int,
+  @StringRes val footerTitleOne: Int,
+  @StringRes val footerTitleTwo: Int,
+  @StringRes val headerText: Int,
+  @StringRes val descriptionText: Int,
+)
+
+/**
+ * The introduction fragment that is used to inform the user the basics of what a fingerprint sensor
+ * is and how it will be used.
+ *
+ * The main gaols of this page are
+ * 1. Inform the user what the fingerprint sensor is and does
+ * 2. How the data will be stored
+ * 3. How the user can access and remove their data
+ */
+class FingerprintEnrollIntroV2Fragment() : Fragment(R.layout.fingerprint_v2_enroll_introduction) {
+
+  /** Used for testing purposes */
+  private var factory: ViewModelProvider.Factory? = null
+
+  @VisibleForTesting
+  constructor(theFactory: ViewModelProvider.Factory) : this() {
+    factory = theFactory
+  }
+
+  private val viewModelProvider: ViewModelProvider by lazy {
+    if (factory != null) {
+      ViewModelProvider(requireActivity(), factory!!)
+    } else {
+      ViewModelProvider(requireActivity())
+    }
+  }
+
+  private lateinit var footerBarMixin: FooterBarMixin
+  private lateinit var textModel: TextModel
+
+  private val viewModel: FingerprintEnrollIntroViewModel by lazy {
+    viewModelProvider[FingerprintEnrollIntroViewModel::class.java]
+  }
+
+  private val fingerprintScrollViewModel: FingerprintScrollViewModel by lazy {
+    viewModelProvider[FingerprintScrollViewModel::class.java]
+  }
+
+  private val gateKeeperViewModel: FingerprintGatekeeperViewModel by lazy {
+    viewModelProvider[FingerprintGatekeeperViewModel::class.java]
+  }
+
+  override fun onCreateView(
+    inflater: LayoutInflater,
+    container: ViewGroup?,
+    savedInstanceState: Bundle?,
+  ): View? =
+    super.onCreateView(inflater, container, savedInstanceState).also { theView ->
+      val view = theView!!
+
+      viewLifecycleOwner.lifecycleScope.launch {
+        combine(viewModel.fingerprintFlow, viewModel.sensor.filterNotNull()) {
+            enrollType,
+            sensorType ->
+            Pair(enrollType, sensorType.sensorType)
+          }
+          .collect { (enrollType, sensorType) ->
+            textModel =
+              when (enrollType) {
+                Unicorn -> getUnicornTextModel()
+                else -> getNormalTextModel()
+              }
+
+            setupFooterBarAndScrollView(view)
+
+            val layout = view as GlifLayout
+
+            layout.setHeaderText(textModel.headerText)
+            layout.setDescriptionText(textModel.descriptionText)
+
+            // Set color filter for the following icons.
+            val colorFilter = getIconColorFilter()
+            listOf(
+                R.id.icon_fingerprint,
+                R.id.icon_device_locked,
+                R.id.icon_trash_can,
+                R.id.icon_info,
+                R.id.icon_shield,
+                R.id.icon_link,
+              )
+              .forEach { icon ->
+                view.requireViewById<ImageView>(icon).drawable.colorFilter = colorFilter
+              }
+
+            // Set the text for the footer text views.
+            listOf(
+                R.id.footer_message_2 to textModel.footerMessageTwo,
+                R.id.footer_message_3 to textModel.footerMessageThree,
+                R.id.footer_message_4 to textModel.footerMessageFour,
+                R.id.footer_message_5 to textModel.footerMessageFive,
+                R.id.footer_message_6 to textModel.footerMessageSix,
+              )
+              .forEach { pair -> view.requireViewById<TextView>(pair.first).setText(pair.second) }
+
+            setFooterLink(view)
+
+            val iconShield: ImageView = view.requireViewById(R.id.icon_shield)
+            val footerMessage6: TextView = view.requireViewById(R.id.footer_message_6)
+            when (sensorType) {
+              FingerprintSensorType.UDFPS_ULTRASONIC,
+              FingerprintSensorType.UDFPS_OPTICAL -> {
+                footerMessage6.visibility = View.VISIBLE
+                iconShield.visibility = View.VISIBLE
+              }
+              else -> {
+                footerMessage6.visibility = View.GONE
+                iconShield.visibility = View.GONE
+              }
+            }
+
+            view.requireViewById<TextView?>(R.id.footer_title_1).setText(textModel.footerTitleOne)
+            view.requireViewById<TextView?>(R.id.footer_title_2).setText(textModel.footerTitleOne)
+          }
+      }
+      return view
+    }
+
+  /** TODO (b/305269201): This link isn't displaying for screenshot tests. */
+  private fun setFooterLink(view: View) {
+    val footerLink: TextView = view.requireViewById(R.id.footer_learn_more)
+    footerLink.movementMethod = LinkMovementMethod.getInstance()
+    footerLink.text =
+      Html.fromHtml(
+        getString(R.string.security_settings_fingerprint_v2_enroll_introduction_message_learn_more),
+        Html.FROM_HTML_MODE_LEGACY,
+      )
+  }
+
+  private fun setupFooterBarAndScrollView(view: View) {
+    val scrollView: ScrollView =
+      view.requireViewById(com.google.android.setupdesign.R.id.sud_scroll_view)
+    scrollView.importantForAccessibility = View.IMPORTANT_FOR_ACCESSIBILITY_YES
+    // Next button responsible for starting the next fragment.
+    val onNextButtonClick: View.OnClickListener =
+      View.OnClickListener { viewModel.primaryButtonClicked() }
+
+    val layout: GlifLayout = view.findViewById(R.id.setup_wizard_layout)!!
+    footerBarMixin = layout.getMixin(FooterBarMixin::class.java)
+    footerBarMixin.primaryButton =
+      FooterButton.Builder(requireContext())
+        .setText(R.string.security_settings_face_enroll_introduction_more)
+        .setListener(onNextButtonClick)
+        .setButtonType(FooterButton.ButtonType.OPT_IN)
+        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+        .build()
+
+    footerBarMixin.setSecondaryButton(
+      FooterButton.Builder(requireContext())
+        .setText(textModel.negativeButton)
+        .setListener { viewModel.onSecondaryButtonClicked() }
+        .setButtonType(FooterButton.ButtonType.NEXT)
+        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+        .build(),
+      true, /* usePrimaryStyle */
+    )
+
+    val primaryButton = footerBarMixin.primaryButton
+    val secondaryButton = footerBarMixin.secondaryButton
+
+    secondaryButton.visibility = View.INVISIBLE
+
+    val requireScrollMixin = layout.getMixin(RequireScrollMixin::class.java)
+    requireScrollMixin.requireScrollWithButton(
+      requireContext(),
+      primaryButton,
+      R.string.security_settings_face_enroll_introduction_more,
+      onNextButtonClick,
+    )
+
+    requireScrollMixin.setOnRequireScrollStateChangedListener { scrollNeeded: Boolean ->
+      // Show secondary button once scroll is completed.
+      if (!scrollNeeded) {
+        fingerprintScrollViewModel.userConsented()
+      }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      fingerprintScrollViewModel.hasReadConsentScreen.collect { consented ->
+        if (consented) {
+          primaryButton.setText(
+            requireContext(),
+            R.string.security_settings_fingerprint_enroll_introduction_agree,
+          )
+          secondaryButton.visibility = View.VISIBLE
+        } else {
+          secondaryButton.visibility = View.INVISIBLE
+        }
+      }
+    }
+
+    footerBarMixin.getButtonContainer()?.setBackgroundColor(Color.TRANSPARENT)
+
+    // I think I should remove this, and make the challenge a pre-requisite of launching
+    // the flow. For instance if someone launches the activity with an invalid challenge, it
+    // either 1) Fails or 2) Launched confirmDeviceCredential
+    primaryButton.isEnabled = false
+    viewLifecycleOwner.lifecycleScope.launch {
+      gateKeeperViewModel.hasValidGatekeeperInfo.collect { primaryButton.isEnabled = it }
+    }
+  }
+
+  private fun getNormalTextModel() =
+    TextModel(
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_2,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_3,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_4,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_5,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_6,
+      R.string.security_settings_fingerprint_enroll_introduction_no_thanks,
+      R.string.security_settings_fingerprint_enroll_introduction_footer_title_1,
+      R.string.security_settings_fingerprint_enroll_introduction_footer_title_2,
+      R.string.security_settings_fingerprint_enroll_introduction_title,
+      R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+    )
+
+  private fun getUnicornTextModel() =
+    TextModel(
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_2,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_3,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_4,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_5,
+      R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_consent_6,
+      R.string.security_settings_fingerprint_enroll_introduction_no_thanks,
+      R.string.security_settings_fingerprint_enroll_introduction_footer_title_consent_1,
+      R.string.security_settings_fingerprint_enroll_introduction_footer_title_2,
+      R.string.security_settings_fingerprint_enroll_consent_introduction_title,
+      R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+    )
+
+  @NonNull
+  private fun getIconColorFilter(): PorterDuffColorFilter {
+    return PorterDuffColorFilter(
+      DynamicColorPalette.getColor(context, DynamicColorPalette.ColorType.ACCENT),
+      PorterDuff.Mode.SRC_IN,
+    )
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/README.md b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/README.md
new file mode 100644
index 0000000..dfb9598
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/README.md
@@ -0,0 +1,26 @@
+# Module enrollment
+
+### Fingerprint Settings Enrollment Modules
+
+This directory is responsible for containing the enrollment modules, each enrollment module is
+responsible for the actual enrolling portion of FingerprintEnrollment.
+The modules should be split out into udfps, rfps, and sfps.
+
+[comment]: <>  This file structure print out has been generated with the tree command.
+
+```
+├── enrolling
+│   └── rfps
+│       ├── data
+│       ├── domain
+│       │   └── RFPSInteractor.kt
+│       ├── README.md
+│       └── ui
+│           ├── fragment
+│           │   └── RFPSEnrollFragment.kt
+│           ├── viewmodel
+│           │   └── RFPSViewModel.kt
+│           └── widget
+│               └── RFPSProgressIndicator.kt
+└── README.md
+```
\ No newline at end of file
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/fragment/RFPSEnrollFragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/fragment/RFPSEnrollFragment.kt
new file mode 100644
index 0000000..a9cd16f
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/fragment/RFPSEnrollFragment.kt
@@ -0,0 +1,264 @@
+/*
+ * 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.ui.enrollment.modules.enrolling.rfps.ui.fragment
+
+import android.graphics.Color
+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.AnimationUtils
+import android.view.animation.Interpolator
+import android.widget.TextView
+import androidx.annotation.VisibleForTesting
+import androidx.fragment.app.Fragment
+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.biometrics.fingerprint2.domain.interactor.OrientationInteractor
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.viewmodel.RFPSIconTouchViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.viewmodel.RFPSViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.widget.FingerprintErrorDialog
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.widget.IconTouchDialog
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.widget.RFPSProgressBar
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import com.google.android.setupcompat.template.FooterBarMixin
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.GlifLayout
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.launch
+
+/** This fragment is responsible for taking care of rear fingerprint enrollment. */
+class RFPSEnrollFragment() : Fragment(R.layout.fingerprint_v2_rfps_enroll_enrolling) {
+
+  /** Used for testing purposes */
+  private var factory: ViewModelProvider.Factory? = null
+
+  @VisibleForTesting
+  constructor(theFactory: ViewModelProvider.Factory) : this() {
+    factory = theFactory
+  }
+
+  private val viewModelProvider: ViewModelProvider by lazy {
+    if (factory != null) {
+      ViewModelProvider(requireActivity(), factory!!)
+    } else {
+      ViewModelProvider(requireActivity())
+    }
+  }
+
+  private lateinit var linearOutSlowInInterpolator: Interpolator
+  private lateinit var fastOutLinearInInterpolator: Interpolator
+  private lateinit var textView: TextView
+  private lateinit var progressBar: RFPSProgressBar
+
+  private val iconTouchViewModel: RFPSIconTouchViewModel by lazy {
+    viewModelProvider[RFPSIconTouchViewModel::class.java]
+  }
+
+  private val rfpsViewModel: RFPSViewModel by lazy { viewModelProvider[RFPSViewModel::class.java] }
+
+  private val backgroundViewModel: BackgroundViewModel by lazy {
+    viewModelProvider[BackgroundViewModel::class.java]
+  }
+  override fun onCreateView(
+    inflater: LayoutInflater,
+    container: ViewGroup?,
+    savedInstanceState: Bundle?,
+  ): View? {
+    val view = super.onCreateView(inflater, container, savedInstanceState)!!
+    val fragment = this
+    val context = requireContext()
+    val glifLayout = view.requireViewById(R.id.setup_wizard_layout) as GlifLayout
+    glifLayout.setDescriptionText(R.string.security_settings_fingerprint_enroll_start_message)
+    glifLayout.setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title)
+
+    fastOutLinearInInterpolator =
+      AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_linear_in)
+    linearOutSlowInInterpolator =
+      AnimationUtils.loadInterpolator(context, android.R.interpolator.linear_out_slow_in)
+
+    textView = view.requireViewById(R.id.text) as TextView
+    progressBar = view.requireViewById(R.id.fingerprint_progress_bar) as RFPSProgressBar
+
+    val footerBarMixin = glifLayout.getMixin(FooterBarMixin::class.java)
+    footerBarMixin.secondaryButton =
+      FooterButton.Builder(context)
+        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
+        .setListener { rfpsViewModel.negativeButtonClicked() }
+        .setButtonType(FooterButton.ButtonType.SKIP)
+        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+        .build()
+    footerBarMixin.buttonContainer.setBackgroundColor(Color.TRANSPARENT)
+
+    progressBar.setOnTouchListener { _, motionEvent ->
+      if (motionEvent.actionMasked == MotionEvent.ACTION_DOWN) {
+        iconTouchViewModel.userTouchedFingerprintIcon()
+      }
+      true
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.shouldDismissDialog.collect { dismissDialogs() }
+    }
+
+    // Signal we are ready for enrollment.
+    rfpsViewModel.readyForEnrollment()
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      repeatOnLifecycle(Lifecycle.State.RESUMED) {
+        // Icon animation  update
+        viewLifecycleOwner.lifecycleScope.launch {
+          // TODO(b/324427704): Fix this delay
+          delay(100)
+          rfpsViewModel.shouldAnimateIcon.collect { animate ->
+            progressBar.updateIconAnimation(animate)
+          }
+        }
+
+        // Flow to show a dialog.
+        viewLifecycleOwner.lifecycleScope.launch {
+          iconTouchViewModel.shouldShowDialog.collectLatest { showDialog ->
+            if (showDialog) {
+              try {
+                IconTouchDialog.showInstance(fragment)
+              } catch (exception: Exception) {
+                Log.d(TAG, "Dialog dismissed due to $exception")
+              }
+            }
+          }
+        }
+      }
+    }
+
+    // If we go to the background, then finish enrollment. This should be permanent finish,
+    // and shouldn't be reset until we explicitly tell the view model we want to retry
+    // enrollment.
+    viewLifecycleOwner.lifecycleScope.launch {
+      backgroundViewModel.background
+        .filter { inBackground -> inBackground }
+        .collect { rfpsViewModel.didGoToBackground() }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.progress.filterNotNull().collect { progress -> handleEnrollProgress(progress) }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.helpMessage.filterNotNull().collect { help ->
+        textView.text = help.helpString
+        textView.visibility = View.VISIBLE
+        textView.translationY =
+          resources.getDimensionPixelSize(R.dimen.fingerprint_error_text_appear_distance).toFloat()
+        textView.alpha = 0f
+        textView
+          .animate()
+          .alpha(1f)
+          .translationY(0f)
+          .setDuration(200)
+          .setInterpolator(linearOutSlowInInterpolator)
+          .start()
+      }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.errorMessage.filterNotNull().collect { error -> handleEnrollError(error) }
+    }
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.textViewIsVisible.collect {
+        textView.visibility = if (it) View.VISIBLE else View.INVISIBLE
+      }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.clearHelpMessage.collect {
+        textView
+          .animate()
+          .alpha(0f)
+          .translationY(
+            resources
+              .getDimensionPixelSize(R.dimen.fingerprint_error_text_disappear_distance)
+              .toFloat()
+          )
+          .setDuration(100)
+          .setInterpolator(fastOutLinearInInterpolator)
+          .withEndAction { rfpsViewModel.setVisibility(false) }
+          .start()
+      }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      repeatOnLifecycle(Lifecycle.State.DESTROYED) {
+        rfpsViewModel.stopEnrollment()
+        dismissDialogs()
+      }
+    }
+
+    viewLifecycleOwner.lifecycleScope.launch {
+      rfpsViewModel.didCompleteEnrollment
+        .filter { it }
+        .collect { rfpsViewModel.finishedSuccessfully() }
+    }
+    return view
+  }
+
+  private fun handleEnrollError(error: FingerEnrollState.EnrollError) {
+    val fragment = this
+    viewLifecycleOwner.lifecycleScope.launch {
+      try {
+        val shouldRestartEnrollment = FingerprintErrorDialog.showInstance(error, fragment)
+        rfpsViewModel.userClickedStopEnrollDialog()
+      } catch (exception: Exception) {
+        Log.e(TAG, "Exception occurred $exception")
+      }
+    }
+  }
+
+  private fun handleEnrollProgress(progress: FingerEnrollState.EnrollProgress) {
+    progressBar.updateProgress(
+      progress.remainingSteps.toFloat() / progress.totalStepsRequired.toFloat()
+    )
+  }
+
+  private fun dismissDialogs() {
+    val transaction = parentFragmentManager.beginTransaction()
+    for (frag in parentFragmentManager.fragments) {
+      if (frag is InstrumentedDialogFragment) {
+        Log.d(TAG, "removing dialog settings fragment $frag")
+        frag.dismiss()
+        transaction.remove(frag)
+      }
+    }
+    transaction.commitAllowingStateLoss()
+  }
+
+  companion object {
+    private const val TAG = "RFPSEnrollFragment"
+    private val navStep = FingerprintNavigationStep.Enrollment::class
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSIconTouchViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSIconTouchViewModel.kt
new file mode 100644
index 0000000..cbcb1d4
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSIconTouchViewModel.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.ui.enrollment.modules.enrolling.rfps.ui.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.shareIn
+import kotlinx.coroutines.flow.transform
+import kotlinx.coroutines.flow.update
+
+private const val touchesToShowDialog = 3
+/**
+ * This class is responsible for counting the number of touches on the fingerprint icon, and if this
+ * number reaches a threshold it will produce an action via [shouldShowDialog] to indicate the ui
+ * should show a dialog.
+ */
+class RFPSIconTouchViewModel : ViewModel() {
+
+  /** Keeps the number of times a user has touches the fingerprint icon. */
+  private val _touches: MutableStateFlow<Int> = MutableStateFlow(0)
+
+  /**
+   * Whether or not the UI should be showing the dialog. By making this SharingStarted.Eagerly the
+   * first event 0 % 3 == 0 will fire as soon as this view model is created, so it should be ignored
+   * and work as intended.
+   */
+  val shouldShowDialog: Flow<Boolean> =
+    _touches
+      .transform { numTouches -> emit((numTouches % touchesToShowDialog) == 0) }
+      .shareIn(viewModelScope, SharingStarted.Eagerly, 0)
+
+  /** Indicates a user has tapped on the fingerprint icon. */
+  fun userTouchedFingerprintIcon() {
+    _touches.update { _touches.value + 1 }
+  }
+
+  class RFPSIconTouchViewModelFactory : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return RFPSIconTouchViewModel() as T
+    }
+  }
+}
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
new file mode 100644
index 0000000..6ee5709
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/viewmodel/RFPSViewModel.kt
@@ -0,0 +1,169 @@
+/*
+ * 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.ui.enrollment.modules.enrolling.rfps.ui.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.biometrics.fingerprint2.domain.interactor.OrientationInteractor
+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
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Enrollment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.filterIsInstance
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.shareIn
+import kotlinx.coroutines.flow.transform
+import kotlinx.coroutines.flow.update
+
+/** View Model used by the rear fingerprint enrollment fragment. */
+class RFPSViewModel(
+  private val fingerprintEnrollViewModel: FingerprintEnrollEnrollingViewModel,
+  private val navigationViewModel: FingerprintNavigationViewModel,
+  orientationInteractor: OrientationInteractor,
+) : ViewModel() {
+
+  private val _textViewIsVisible = MutableStateFlow<Boolean>(false)
+  /** Value to indicate if the text view is visible or not */
+  val textViewIsVisible: Flow<Boolean> = _textViewIsVisible.asStateFlow()
+
+  private var _shouldAnimateIcon: Flow<Boolean> =
+    fingerprintEnrollViewModel.enrollFlowShouldBeRunning
+  /** Indicates if the icon should be animating or not */
+  val shouldAnimateIcon = _shouldAnimateIcon
+
+  private var enrollFlow: Flow<FingerEnrollState?> = fingerprintEnrollViewModel.enrollFLow
+
+  /**
+   * Enroll progress message with a replay of size 1 allowing for new subscribers to get the most
+   * recent state (this is useful for things like screen rotation)
+   */
+  val progress: Flow<FingerEnrollState.EnrollProgress?> =
+    enrollFlow
+      .filterIsInstance<FingerEnrollState.EnrollProgress>()
+      .shareIn(viewModelScope, SharingStarted.Eagerly, 0)
+
+  /** Clear help message on enroll progress */
+  val clearHelpMessage: Flow<Boolean> = progress.map { it != null }
+
+  /** Enroll help message that is only displayed once */
+  val helpMessage: Flow<FingerEnrollState.EnrollHelp?> =
+    enrollFlow
+      .filterIsInstance<FingerEnrollState.EnrollHelp>()
+      .shareIn(viewModelScope, SharingStarted.Eagerly, 0)
+      .transform { _textViewIsVisible.update { true } }
+
+  /**
+   * The error message should only be shown once, for scenarios like screen rotations, we don't want
+   * to re-show the error message.
+   */
+  val errorMessage: Flow<FingerEnrollState.EnrollError?> =
+    enrollFlow
+      .filterIsInstance<FingerEnrollState.EnrollError>()
+      .shareIn(viewModelScope, SharingStarted.Eagerly, 0)
+
+  /** Indicates that enrollment was completed. */
+  val didCompleteEnrollment: Flow<Boolean> = progress.filterNotNull().map { it.remainingSteps == 0 }
+
+  /** Indicates if the fragment should dismiss a dialog if one was shown. */
+  val shouldDismissDialog = orientationInteractor.orientation.map { true }
+
+  /** Indicates if the consumer is ready for enrollment */
+  fun readyForEnrollment() {
+    fingerprintEnrollViewModel.canEnroll()
+  }
+
+  /** Indicates if enrollment should stop */
+  fun stopEnrollment() {
+    fingerprintEnrollViewModel.stopEnroll()
+  }
+
+  /** Set the visibility of the text view */
+  fun setVisibility(isVisible: Boolean) {
+    _textViewIsVisible.update { isVisible }
+  }
+
+  /** Indicates that the user is done with trying to enroll a fingerprint */
+  fun userClickedStopEnrollDialog() {
+    navigationViewModel.update(
+      FingerprintAction.USER_CLICKED_FINISH,
+      navStep,
+      "${TAG}#userClickedStopEnrollingDialog",
+    )
+  }
+
+  /** Indicates that the application went to the background. */
+  fun didGoToBackground() {
+    navigationViewModel.update(
+      FingerprintAction.DID_GO_TO_BACKGROUND,
+      navStep,
+      "${TAG}#didGoToBackground",
+    )
+    stopEnrollment()
+  }
+
+  /** Indicates the negative button has been clicked */
+  fun negativeButtonClicked() {
+    doReset()
+    navigationViewModel.update(
+      FingerprintAction.NEGATIVE_BUTTON_PRESSED,
+      navStep,
+      "${TAG}negativeButtonClicked",
+    )
+  }
+
+  /** Indicates that an enrollment was completed */
+  fun finishedSuccessfully() {
+    doReset()
+    navigationViewModel.update(FingerprintAction.NEXT, navStep, "${TAG}#progressFinished")
+  }
+
+  private fun doReset() {
+    _textViewIsVisible.update { false }
+    _shouldAnimateIcon = fingerprintEnrollViewModel.enrollFlowShouldBeRunning
+    /** Indicates if the icon should be animating or not */
+    enrollFlow = fingerprintEnrollViewModel.enrollFLow
+  }
+
+  class RFPSViewModelFactory(
+    private val fingerprintEnrollEnrollingViewModel: FingerprintEnrollEnrollingViewModel,
+    private val navigationViewModel: FingerprintNavigationViewModel,
+    private val orientationInteractor: OrientationInteractor,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return RFPSViewModel(
+        fingerprintEnrollEnrollingViewModel,
+        navigationViewModel,
+        orientationInteractor,
+      )
+        as T
+    }
+  }
+
+  companion object {
+    private val navStep = Enrollment::class
+    private const val TAG = "RFPSViewModel"
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/FingerprintErrorDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/FingerprintErrorDialog.kt
new file mode 100644
index 0000000..9c0040b
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/FingerprintErrorDialog.kt
@@ -0,0 +1,113 @@
+/*
+ * 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.ui.enrollment.modules.enrolling.rfps.ui.widget
+
+import android.app.AlertDialog
+import android.app.Dialog
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.util.Log
+import androidx.fragment.app.Fragment
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+private const val TAG = "FingerprintErrorDialog"
+
+/** A Dialog used for fingerprint enrollment when an error occurs. */
+class FingerprintErrorDialog : InstrumentedDialogFragment() {
+  private lateinit var onContinue: DialogInterface.OnClickListener
+  private lateinit var onTryAgain: DialogInterface.OnClickListener
+  private lateinit var onCancelListener: DialogInterface.OnCancelListener
+
+  override fun onCancel(dialog: DialogInterface) {
+    Log.d(TAG, "onCancel $dialog")
+    onCancelListener.onCancel(dialog)
+  }
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    Log.d(TAG, "onCreateDialog $this")
+    val errorString = requireArguments().getInt(KEY_MESSAGE)
+    val errorTitle = requireArguments().getInt(KEY_TITLE)
+    val builder = AlertDialog.Builder(requireContext())
+    val shouldShowTryAgain = requireArguments().getBoolean(KEY_SHOULD_TRY_AGAIN)
+    builder.setTitle(errorTitle).setMessage(errorString).setCancelable(false)
+
+    if (shouldShowTryAgain) {
+      builder
+        .setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_try_again) {
+          dialog,
+          which ->
+          dialog.dismiss()
+          onTryAgain.onClick(dialog, which)
+        }
+        .setNegativeButton(R.string.security_settings_fingerprint_enroll_dialog_ok) { dialog, which
+          ->
+          dialog.dismiss()
+          onContinue.onClick(dialog, which)
+        }
+    } else {
+      builder.setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_ok) {
+        dialog,
+        which ->
+        dialog.dismiss()
+        onContinue.onClick(dialog, which)
+      }
+    }
+
+    val dialog = builder.create()
+    dialog.setCanceledOnTouchOutside(false)
+    return dialog
+  }
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.DIALOG_FINGERPINT_ERROR
+  }
+
+  companion object {
+    private const val KEY_MESSAGE = "fingerprint_message"
+    private const val KEY_TITLE = "fingerprint_title"
+    private const val KEY_SHOULD_TRY_AGAIN = "should_try_again"
+
+    suspend fun showInstance(error: FingerEnrollState.EnrollError, fragment: Fragment) =
+      suspendCancellableCoroutine { continuation ->
+        val dialog = FingerprintErrorDialog()
+        dialog.onTryAgain = DialogInterface.OnClickListener { _, _ -> continuation.resume(true) }
+
+        dialog.onContinue = DialogInterface.OnClickListener { _, _ -> continuation.resume(false) }
+
+        dialog.onCancelListener =
+          DialogInterface.OnCancelListener {
+            Log.d(TAG, "onCancelListener clicked $dialog")
+            continuation.resume(null)
+          }
+
+        continuation.invokeOnCancellation { Log.d(TAG, "invokeOnCancellation $dialog") }
+
+        val bundle = Bundle()
+        bundle.putInt(KEY_TITLE, error.errTitle)
+        bundle.putInt(KEY_MESSAGE, error.errString)
+        bundle.putBoolean(KEY_SHOULD_TRY_AGAIN, error.shouldRetryEnrollment)
+        dialog.arguments = bundle
+        Log.d(TAG, "showing dialog $dialog")
+        dialog.show(fragment.parentFragmentManager, FingerprintErrorDialog::class.java.toString())
+      }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/IconTouchDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/IconTouchDialog.kt
new file mode 100644
index 0000000..c086343
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/IconTouchDialog.kt
@@ -0,0 +1,73 @@
+/*
+ * 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.ui.enrollment.modules.enrolling.rfps.ui.widget
+
+import android.app.AlertDialog
+import android.app.Dialog
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.util.Log
+import androidx.fragment.app.Fragment
+import com.android.settings.R
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+private const val TAG = "IconTouchDialog"
+
+/** Dialog shown when the user taps the Progress bar a certain amount of times. */
+class IconTouchDialog : InstrumentedDialogFragment() {
+  lateinit var onDismissListener: DialogInterface.OnClickListener
+  lateinit var onCancelListener: DialogInterface.OnCancelListener
+
+  override fun onCancel(dialog: DialogInterface) {
+    Log.d(TAG, "onCancel $dialog")
+    onCancelListener.onCancel(dialog)
+  }
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    val builder: AlertDialog.Builder = AlertDialog.Builder(activity, R.style.Theme_AlertDialog)
+    builder
+      .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, which ->
+        dialog.dismiss()
+        onDismissListener.onClick(dialog, which)
+      }
+      .setOnCancelListener { onCancelListener.onCancel(it) }
+    return builder.create()
+  }
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.DIALOG_FINGERPRINT_ICON_TOUCH
+  }
+
+  companion object {
+    suspend fun showInstance(fragment: Fragment) = suspendCancellableCoroutine { continuation ->
+      val dialog = IconTouchDialog()
+      dialog.onDismissListener =
+        DialogInterface.OnClickListener { _, _ -> continuation.resume("Done") }
+      dialog.onCancelListener =
+        DialogInterface.OnCancelListener { _ -> continuation.resume("OnCancel") }
+
+      continuation.invokeOnCancellation { Log.d(TAG, "invokeOnCancellation $dialog") }
+
+      dialog.show(fragment.parentFragmentManager, IconTouchDialog::class.java.toString())
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/RFPSProgressBar.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/RFPSProgressBar.kt
new file mode 100644
index 0000000..5a6fc14
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/modules/enrolling/rfps/ui/widget/RFPSProgressBar.kt
@@ -0,0 +1,104 @@
+/*
+ * 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.ui.enrollment.modules.enrolling.rfps.ui.widget
+
+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.util.AttributeSet
+import android.util.Log
+import android.view.animation.AnimationUtils
+import android.view.animation.Interpolator
+import com.android.settings.R
+import com.android.settings.widget.RingProgressBar
+
+/** Progress bar for rear fingerprint enrollment. */
+class RFPSProgressBar : RingProgressBar {
+
+  private val fastOutSlowInInterpolator: Interpolator
+
+  private val iconAnimationDrawable: AnimatedVectorDrawable
+  private val iconBackgroundBlinksDrawable: AnimatedVectorDrawable
+
+  private val maxProgress: Int
+
+  private var progressAnimation: ObjectAnimator? = null
+
+  private var shouldAnimateInternal: Boolean = false
+
+  constructor(context: Context, attributeSet: AttributeSet) : super(context, attributeSet) {
+    val fingerprintDrawable = background as LayerDrawable
+    iconAnimationDrawable =
+      fingerprintDrawable.findDrawableByLayerId(R.id.fingerprint_animation)
+        as AnimatedVectorDrawable
+    iconBackgroundBlinksDrawable =
+      fingerprintDrawable.findDrawableByLayerId(R.id.fingerprint_background)
+        as AnimatedVectorDrawable
+    fastOutSlowInInterpolator =
+      AnimationUtils.loadInterpolator(context, android.R.interpolator.fast_out_slow_in)
+    iconAnimationDrawable.registerAnimationCallback(
+      object : Animatable2.AnimationCallback() {
+        override fun onAnimationEnd(drawable: Drawable?) {
+          super.onAnimationEnd(drawable)
+          if (shouldAnimateInternal) {
+            animateIconAnimationInternal()
+          }
+        }
+      }
+    )
+
+    progressBackgroundTintMode = PorterDuff.Mode.SRC
+
+    val attributes =
+      context.obtainStyledAttributes(R.style.RingProgressBarStyle, intArrayOf(android.R.attr.max))
+
+    maxProgress = attributes.getInt(0, -1)
+
+    attributes.recycle()
+  }
+
+  /** Indicates if the progress animation should be running */
+  fun updateIconAnimation(shouldAnimate: Boolean) {
+    if (shouldAnimate && !shouldAnimateInternal) {
+      animateIconAnimationInternal()
+    }
+
+    shouldAnimateInternal = shouldAnimate
+
+  }
+  /** This function should only be called when actual progress has been made. */
+  fun updateProgress(percentComplete: Float) {
+    val progress = maxProgress - (percentComplete.coerceIn(0.0f, 100.0f) * maxProgress).toInt()
+    iconBackgroundBlinksDrawable.start()
+
+    progressAnimation?.isRunning?.let { progressAnimation!!.cancel() }
+
+    progressAnimation = ObjectAnimator.ofInt(this, "progress", getProgress(), progress)
+
+    progressAnimation?.interpolator = fastOutSlowInInterpolator
+    progressAnimation?.setDuration(250)
+    progressAnimation?.start()
+  }
+
+  private fun animateIconAnimationInternal() {
+    iconAnimationDrawable.start()
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/BackgroundViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/BackgroundViewModel.kt
new file mode 100644
index 0000000..2b53a53
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/BackgroundViewModel.kt
@@ -0,0 +1,48 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.update
+
+/** A class for determining if the application is in the background or not. */
+class BackgroundViewModel : ViewModel() {
+
+  private val _background = MutableStateFlow(false)
+  /** When true, the application is in background, else false */
+  val background = _background.asStateFlow()
+
+  /** Indicates that the application has been put in the background. */
+  fun wentToBackground() {
+    _background.update { true }
+  }
+
+  /** Indicates that the application has been brought to the foreground. */
+  fun inForeground() {
+    _background.update { false }
+  }
+
+  class BackgroundViewModelFactory : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return BackgroundViewModel() as T
+    }
+  }
+}
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
new file mode 100644
index 0000000..d9b31d7
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModel.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.biometrics.fingerprint2.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import kotlinx.coroutines.flow.Flow
+
+/**
+ * Models the UI state for [FingerprintEnrollConfirmationV2Fragment]
+ */
+class FingerprintEnrollConfirmationViewModel(
+  private val navigationViewModel: FingerprintNavigationViewModel,
+  fingerprintInteractor: FingerprintManagerInteractor,
+) : 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
+
+  /**
+   * Indicates that the user has clicked the next button and is done with fingerprint enrollment.
+   */
+  fun onNextButtonClicked() {
+    navigationViewModel.update(FingerprintAction.NEXT, navStep, "onNextButtonClicked")
+  }
+
+  /**
+   * Indicates that the user has clicked the add another button and will be sent to the enrollment
+   * screen.
+   */
+  fun onAddAnotherButtonClicked() {
+    navigationViewModel.update(FingerprintAction.ADD_ANOTHER, navStep, "onAddAnotherButtonClicked")
+  }
+
+  class FingerprintEnrollConfirmationViewModelFactory(
+    private val navigationViewModel: FingerprintNavigationViewModel,
+    private val fingerprintInteractor: FingerprintManagerInteractor,
+  ) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintEnrollConfirmationViewModel(navigationViewModel, fingerprintInteractor) as T
+    }
+  }
+
+  companion object {
+    private const val TAG = "FingerprintEnrollConfirmationViewModel"
+    private val navStep = FingerprintNavigationStep.Confirmation::class
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModel.kt
new file mode 100644
index 0000000..63182bb
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModel.kt
@@ -0,0 +1,83 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.transformLatest
+import kotlinx.coroutines.flow.update
+
+/**
+ * This class is a wrapper around the [FingerprintEnrollViewModel] and decides when the user should
+ * or should not be enrolling.
+ */
+class FingerprintEnrollEnrollingViewModel(
+  private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+  backgroundViewModel: BackgroundViewModel,
+) : ViewModel() {
+
+  private val _didTryEnrollment = MutableStateFlow(false)
+  private val _userDidEnroll = MutableStateFlow(false)
+  /** Indicates if the enrollment flow should be running. */
+  val enrollFlowShouldBeRunning: Flow<Boolean> =
+    _userDidEnroll.combine(backgroundViewModel.background) { shouldEnroll, isInBackground ->
+      if (isInBackground) {
+        false
+      } else {
+        shouldEnroll
+      }
+    }
+
+  /**
+   * Used to indicate the consumer of the view model is ready for an enrollment. Note that this does
+   * not necessarily try an enrollment.
+   */
+  fun canEnroll() {
+    // Update _consumerShouldEnroll after updating the other values.
+    if (!_didTryEnrollment.value) {
+      _didTryEnrollment.update { true }
+      _userDidEnroll.update { true }
+    }
+  }
+
+  /** Used to indicate to stop the enrollment. */
+  fun stopEnroll() {
+    _userDidEnroll.update { false }
+  }
+
+  /** Collects the enrollment flow based on [enrollFlowShouldBeRunning] */
+  val enrollFLow =
+    enrollFlowShouldBeRunning.transformLatest {
+      if (it) {
+        fingerprintEnrollViewModel.enrollFlow.collect { event -> emit(event) }
+      }
+    }
+
+  class FingerprintEnrollEnrollingViewModelFactory(
+    private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+    private val backgroundViewModel: BackgroundViewModel,
+  ) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintEnrollEnrollingViewModel(fingerprintEnrollViewModel, backgroundViewModel)
+        as T
+    }
+  }
+}
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
new file mode 100644
index 0000000..3bf806b
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollFindSensorViewModel.kt
@@ -0,0 +1,217 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+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.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.lib.model.SetupWizard
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollFindSensorV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Education
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.combineTransform
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+/** Models the UI state for [FingerprintEnrollFindSensorV2Fragment]. */
+class FingerprintEnrollFindSensorViewModel(
+  private val navigationViewModel: FingerprintNavigationViewModel,
+  private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+  private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+  backgroundViewModel: BackgroundViewModel,
+  accessibilityInteractor: AccessibilityInteractor,
+  foldStateInteractor: FoldStateInteractor,
+  orientationInteractor: OrientationInteractor,
+  fingerprintFlowViewModel: FingerprintFlowViewModel,
+  fingerprintManagerInteractor: FingerprintManagerInteractor,
+) : ViewModel() {
+
+  /** Represents the stream of sensor type. */
+  val sensorType: Flow<FingerprintSensorType> =
+    fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
+  private val _isUdfps: Flow<Boolean> =
+    sensorType.map {
+      it == FingerprintSensorType.UDFPS_OPTICAL || it == FingerprintSensorType.UDFPS_ULTRASONIC
+    }
+  private val _isSfps: Flow<Boolean> = sensorType.map { it == FingerprintSensorType.POWER_BUTTON }
+  private val _isRearSfps: Flow<Boolean> = sensorType.map { it == FingerprintSensorType.REAR }
+
+  /** Represents the stream of showing primary button. */
+  val showPrimaryButton: Flow<Boolean> = _isUdfps.filter { it }
+
+  private val _showSfpsLottie = _isSfps.filter { it }
+  /** Represents the stream of showing sfps lottie and the information Pair(isFolded, rotation). */
+  val sfpsLottieInfo: Flow<Pair<Boolean, Int>> =
+    combineTransform(
+      _showSfpsLottie,
+      foldStateInteractor.isFolded,
+      orientationInteractor.rotation,
+    ) { _, isFolded, rotation ->
+      emit(Pair(isFolded, rotation))
+    }
+
+  private val _showUdfpsLottie = _isUdfps.filter { it }
+  /** Represents the stream of showing udfps lottie and whether accessibility is enabled. */
+  val udfpsLottieInfo: Flow<Boolean> =
+    _showUdfpsLottie.combine(accessibilityInteractor.isAccessibilityEnabled) {
+      _,
+      isAccessibilityEnabled ->
+      isAccessibilityEnabled
+    }
+
+  /** Represents the stream of showing rfps animation. */
+  val showRfpsAnimation: Flow<Boolean> = _isRearSfps.filter { it }
+
+  private val _showErrorDialog: MutableStateFlow<Pair<Int, Boolean>?> = MutableStateFlow(null)
+  /** Represents the stream of showing error dialog. */
+  val showErrorDialog = _showErrorDialog.filterNotNull()
+
+  private var _didTryEducation = false
+  private var _education: MutableStateFlow<Boolean> = MutableStateFlow(false)
+  /** Indicates if the education flow should be running. */
+  private val educationFlowShouldBeRunning: Flow<Boolean> =
+    _education.combine(backgroundViewModel.background) { shouldRunEducation, isInBackground ->
+      !isInBackground && shouldRunEducation
+    }
+
+  init {
+    // Start or end enroll flow
+    viewModelScope.launch {
+      combine(
+          sensorType,
+          gatekeeperViewModel.hasValidGatekeeperInfo,
+          gatekeeperViewModel.gatekeeperInfo,
+          navigationViewModel.currentScreen,
+        ) { sensorType, hasValidGatekeeperInfo, gatekeeperInfo, currStep ->
+          val shouldStartEnroll =
+            currStep is Education &&
+              sensorType != FingerprintSensorType.UDFPS_OPTICAL &&
+              sensorType != FingerprintSensorType.UDFPS_ULTRASONIC &&
+              hasValidGatekeeperInfo
+          if (shouldStartEnroll) (gatekeeperInfo as GatekeeperInfo.GatekeeperPasswordInfo).token
+          else null
+        }
+        .collect { token ->
+          if (token != null) {
+            canStartEducation()
+          } else {
+            stopEducation()
+          }
+        }
+    }
+
+    // Enroll progress flow
+    viewModelScope.launch {
+      educationFlowShouldBeRunning.collect {
+        // Only collect the flow when we should be running.
+        if (it) {
+          combine(
+              fingerprintEnrollViewModel.educationEnrollFlow.filterNotNull(),
+              fingerprintFlowViewModel.fingerprintFlow,
+            ) { educationFlow, type ->
+              Pair(educationFlow, type)
+            }
+            .collect { (educationFlow, type) ->
+              when (educationFlow) {
+                is FingerEnrollState.EnrollProgress -> proceedToEnrolling()
+                is FingerEnrollState.EnrollError -> {
+                  if (educationFlow.isCancelled) {
+                    proceedToEnrolling()
+                  } else {
+                    _showErrorDialog.update { Pair(educationFlow.errString, type == SetupWizard) }
+                  }
+                }
+                is FingerEnrollState.EnrollHelp -> {}
+              }
+            }
+        }
+      }
+    }
+  }
+
+  /** Indicates if education can begin */
+  private fun canStartEducation() {
+    if (!_didTryEducation) {
+      _didTryEducation = true
+      _education.update { true }
+    }
+  }
+
+  /** Indicates that education has finished */
+  private fun stopEducation() {
+    _education.update { false }
+  }
+
+  /** Proceed to EnrollEnrolling page. */
+  fun proceedToEnrolling() {
+    stopEducation()
+    navigationViewModel.update(FingerprintAction.NEXT, navStep, "$TAG#proceedToEnrolling")
+  }
+
+  /** Indicates the secondary button has been clicked */
+  fun secondaryButtonClicked() {
+    navigationViewModel.update(
+      FingerprintAction.NEGATIVE_BUTTON_PRESSED,
+      navStep,
+      "${TAG}#secondaryButtonClicked",
+    )
+  }
+
+  class FingerprintEnrollFindSensorViewModelFactory(
+    private val navigationViewModel: FingerprintNavigationViewModel,
+    private val fingerprintEnrollViewModel: FingerprintEnrollViewModel,
+    private val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+    private val backgroundViewModel: BackgroundViewModel,
+    private val accessibilityInteractor: AccessibilityInteractor,
+    private val foldStateInteractor: FoldStateInteractor,
+    private val orientationInteractor: OrientationInteractor,
+    private val fingerprintFlowViewModel: FingerprintFlowViewModel,
+    private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  ) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintEnrollFindSensorViewModel(
+        navigationViewModel,
+        fingerprintEnrollViewModel,
+        gatekeeperViewModel,
+        backgroundViewModel,
+        accessibilityInteractor,
+        foldStateInteractor,
+        orientationInteractor,
+        fingerprintFlowViewModel,
+        fingerprintManagerInteractor,
+      )
+        as T
+    }
+  }
+
+  companion object {
+    private const val TAG = "FingerprintEnrollFindSensorViewModel"
+    private val navStep = Education::class
+  }
+}
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
new file mode 100644
index 0000000..3bf003c
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollIntroViewModel.kt
@@ -0,0 +1,75 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+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
+import kotlinx.coroutines.flow.Flow
+
+/** A view model for fingerprint enroll introduction. */
+class FingerprintEnrollIntroViewModel(
+  val navigationViewModel: FingerprintNavigationViewModel,
+  private val fingerprintFlowViewModel: FingerprintFlowViewModel,
+  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+) : ViewModel() {
+
+  /** Represents a stream of [FingerprintSensor] */
+  val sensor: Flow<FingerprintSensor?> = fingerprintManagerInteractor.sensorPropertiesInternal
+
+  /** Represents a stream of [FingerprintFlow] */
+  val fingerprintFlow: Flow<FingerprintFlow?> = fingerprintFlowViewModel.fingerprintFlow
+
+  /** Indicates the primary button has been clicked */
+  fun primaryButtonClicked() {
+    navigationViewModel.update(FingerprintAction.NEXT, navStep, "${TAG}#onNextClicked")
+  }
+
+  /** Indicates the secondary button has been clicked */
+  fun onSecondaryButtonClicked() {
+    navigationViewModel.update(
+      FingerprintAction.NEGATIVE_BUTTON_PRESSED,
+      navStep,
+      "${TAG}#negativeButtonClicked",
+    )
+  }
+
+  class FingerprintEnrollIntoViewModelFactory(
+    val navigationViewModel: FingerprintNavigationViewModel,
+    val fingerprintFlowViewModel: FingerprintFlowViewModel,
+    val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintEnrollIntroViewModel(
+        navigationViewModel,
+        fingerprintFlowViewModel,
+        fingerprintManagerInteractor,
+      )
+        as T
+    }
+  }
+
+  companion object {
+    val navStep = Introduction::class
+    private const val TAG = "FingerprintEnrollIntroViewModel"
+  }
+}
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
new file mode 100644
index 0000000..c27808d
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollViewModel.kt
@@ -0,0 +1,121 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+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.model.EnrollReason
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerEnrollState
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Education
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Enrollment
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.shareIn
+import kotlinx.coroutines.flow.transformLatest
+
+/** Represents all of the fingerprint information needed for a fingerprint enrollment process. */
+class FingerprintEnrollViewModel(
+  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  gatekeeperViewModel: FingerprintGatekeeperViewModel,
+  val navigationViewModel: FingerprintNavigationViewModel,
+) : ViewModel() {
+
+  /**
+   * Cached value of [FingerprintSensorType]
+   *
+   * This is typically used by fragments that change their layout/behavior based on this
+   * information. This value should be set before any fragment is created.
+   */
+  var sensorTypeCached: FingerprintSensorType? = null
+  private var _enrollReason: Flow<EnrollReason?> =
+    navigationViewModel.currentScreen.map {
+      when (it) {
+        is Enrollment -> EnrollReason.EnrollEnrolling
+        is Education -> EnrollReason.FindSensor
+        else -> null
+      }
+    }
+
+  /** Represents the stream of [FingerprintSensorType] */
+  val sensorType: Flow<FingerprintSensorType?> =
+    fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
+
+  /**
+   * A flow that contains a [FingerprintEnrollViewModel] which contains the relevant information for
+   * an enrollment process
+   *
+   * This flow should be the only flow which calls enroll().
+   */
+  val _enrollFlow: Flow<FingerEnrollState> =
+    combine(gatekeeperViewModel.gatekeeperInfo, _enrollReason) { hardwareAuthToken, enrollReason ->
+        Pair(hardwareAuthToken, enrollReason)
+      }
+      .transformLatest {
+        /** [transformLatest] is used as we want to make sure to cancel previous API call. */
+        (hardwareAuthToken, enrollReason) ->
+        if (hardwareAuthToken is GatekeeperInfo.GatekeeperPasswordInfo && enrollReason != null) {
+          fingerprintManagerInteractor.enroll(hardwareAuthToken.token, enrollReason).collect {
+            emit(it)
+          }
+        }
+      }
+      .shareIn(viewModelScope, SharingStarted.WhileSubscribed(), 0)
+
+  /**
+   * This flow will kick off education when
+   * 1) There is an active subscriber to this flow
+   * 2) shouldEnroll is true and we are on the FindSensor step
+   */
+  val educationEnrollFlow: Flow<FingerEnrollState?> =
+    _enrollReason.filterNotNull().transformLatest { enrollReason ->
+      if (enrollReason == EnrollReason.FindSensor) {
+        _enrollFlow.collect { event -> emit(event) }
+      } else {
+        emit(null)
+      }
+    }
+
+  /**
+   * This flow will kick off enrollment when
+   * 1) There is an active subscriber to this flow
+   * 2) shouldEnroll is true and we are on the EnrollEnrolling step
+   */
+  val enrollFlow: Flow<FingerEnrollState?> =
+    _enrollReason.filterNotNull().transformLatest { enrollReason ->
+      if (enrollReason == EnrollReason.EnrollEnrolling) {
+        _enrollFlow.collect { event -> emit(event) }
+      } else {
+        emit(null)
+      }
+    }
+
+  class FingerprintEnrollViewModelFactory(
+    val interactor: FingerprintManagerInteractor,
+    val gatekeeperViewModel: FingerprintGatekeeperViewModel,
+    val navigationViewModel: FingerprintNavigationViewModel,
+  ) : ViewModelProvider.Factory {
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintEnrollViewModel(interactor, gatekeeperViewModel, navigationViewModel) as T
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintFlowViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintFlowViewModel.kt
new file mode 100644
index 0000000..f076524
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintFlowViewModel.kt
@@ -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.biometrics.fingerprint2.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintFlow
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.shareIn
+
+class FingerprintFlowViewModel(private val fingerprintFlowType: FingerprintFlow) : ViewModel() {
+  val fingerprintFlow: Flow<FingerprintFlow> =
+    flowOf(fingerprintFlowType).shareIn(viewModelScope, SharingStarted.Eagerly, 1)
+
+  class FingerprintFlowViewModelFactory(val flowType: FingerprintFlow) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintFlowViewModel(flowType) as T
+    }
+  }
+}
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
new file mode 100644
index 0000000..322be6a
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintGatekeeperViewModel.kt
@@ -0,0 +1,125 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import android.os.CountDownTimer
+import android.util.Log
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.lifecycle.viewModelScope
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+sealed interface GatekeeperInfo {
+  object Invalid : GatekeeperInfo
+
+  object Timeout : GatekeeperInfo
+
+  data class GatekeeperPasswordInfo(val token: ByteArray?, val passwordHandle: Long?) :
+    GatekeeperInfo
+}
+
+/**
+ * This class is responsible for maintaining the gatekeeper information including things like
+ * timeouts.
+ *
+ * Please note, that this class can't fully support timeouts of the gatekeeper password handle due
+ * to the fact that a handle may have been generated earlier in the settings enrollment and passed
+ * in as a parameter to this class.
+ */
+class FingerprintGatekeeperViewModel(
+  theGatekeeperInfo: GatekeeperInfo?,
+  private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+) : ViewModel() {
+
+  private var _gatekeeperInfo: MutableStateFlow<GatekeeperInfo?> =
+    MutableStateFlow(theGatekeeperInfo)
+
+  /** The gatekeeper info for fingerprint enrollment. */
+  val gatekeeperInfo: Flow<GatekeeperInfo?> = _gatekeeperInfo.asStateFlow()
+
+  /** Indicates if the gatekeeper info is valid. */
+  val hasValidGatekeeperInfo: Flow<Boolean> =
+    gatekeeperInfo.map { it is GatekeeperInfo.GatekeeperPasswordInfo }
+
+  private var _credentialConfirmed: MutableStateFlow<Boolean?> = MutableStateFlow(null)
+  val credentialConfirmed: Flow<Boolean?> = _credentialConfirmed.asStateFlow()
+
+  private var countDownTimer: CountDownTimer? = null
+
+  /** Timeout of 15 minutes for a generated challenge */
+  private val TIMEOUT: Long = 15 * 60 * 1000
+
+  /** Called after a confirm device credential attempt has been made. */
+  fun onConfirmDevice(wasSuccessful: Boolean, theGatekeeperPasswordHandle: Long?) {
+    if (!wasSuccessful) {
+      Log.d(TAG, "confirmDevice failed")
+      _gatekeeperInfo.update { GatekeeperInfo.Invalid }
+      _credentialConfirmed.update { false }
+    } else {
+      viewModelScope.launch {
+        val res = fingerprintManagerInteractor.generateChallenge(theGatekeeperPasswordHandle!!)
+        _gatekeeperInfo.update { GatekeeperInfo.GatekeeperPasswordInfo(res.second, res.first) }
+        _credentialConfirmed.update { true }
+        startTimeout()
+      }
+    }
+  }
+
+  private fun startTimeout() {
+    countDownTimer?.cancel()
+    countDownTimer =
+      object : CountDownTimer(TIMEOUT, 1000) {
+        override fun onFinish() {
+          _gatekeeperInfo.update { GatekeeperInfo.Timeout }
+        }
+
+        override fun onTick(millisUntilFinished: Long) {}
+      }
+  }
+
+  class FingerprintGatekeeperViewModelFactory(
+    private val gatekeeperInfo: GatekeeperInfo?,
+    private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintGatekeeperViewModel(gatekeeperInfo, fingerprintManagerInteractor) as T
+    }
+  }
+
+  companion object {
+    private const val TAG = "FingerprintGatekeeperViewModel"
+    /**
+     * A function that checks if the challenge and token are valid, in which case a
+     * [GatekeeperInfo.GatekeeperPasswordInfo] is provided, else [GatekeeperInfo.Invalid]
+     */
+    fun toGateKeeperInfo(challenge: Long?, token: ByteArray?): GatekeeperInfo {
+      Log.d(TAG, "toGateKeeperInfo(${challenge == null}, ${token == null})")
+      if (challenge == null || token == null) {
+        return GatekeeperInfo.Invalid
+      }
+      return GatekeeperInfo.GatekeeperPasswordInfo(token, challenge)
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationStep.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationStep.kt
new file mode 100644
index 0000000..76b4895
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationStep.kt
@@ -0,0 +1,188 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import com.android.settings.biometrics.fingerprint2.lib.model.FastEnroll
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintFlow
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+
+/**
+ * A [FingerprintAction] event notifies the current [FingerprintNavigationStep] that an event
+ * occurred. Depending on the type of [FingerprintAction] and the current
+ * [FingerprintNavigationStep], the navstep will potentially produce a new
+ * [FingerprintNavigationStep] indicating either 1). Control flow has changed 2). The activity has
+ * finished 3). A transition is required
+ */
+enum class FingerprintAction {
+  NEXT,
+  PREV,
+  CONFIRM_DEVICE_SUCCESS,
+  CONFIRM_DEVICE_FAIL,
+  TRANSITION_FINISHED,
+  DID_GO_TO_BACKGROUND,
+  ACTIVITY_CREATED,
+  NEGATIVE_BUTTON_PRESSED,
+  USER_CLICKED_FINISH,
+  ADD_ANOTHER,
+}
+
+/** State that can be used to help a [FingerprintNavigationStep] determine the next step to take. */
+data class NavigationState(
+  val flowType: FingerprintFlow,
+  val hasConfirmedDeviceCredential: Boolean,
+  val fingerprintSensor: FingerprintSensor?,
+)
+
+/**
+ * A generic interface for operating on (state, action) -> state? which will produce either another
+ * FingerprintNavStep if something is required, or nothing.
+ *
+ * Note during the lifetime of the Activity, their should only be one [FingerprintNavigationStep] at
+ * a time.
+ */
+sealed interface FingerprintNavigationStep {
+  fun update(state: NavigationState, action: FingerprintAction): FingerprintNavigationStep?
+
+  /**
+   * This indicates that a transition should occur from one screen to another. This class should
+   * contain all necessary info about the transition.
+   *
+   * A transition step will cause a screen to change ownership from the current screen to the
+   * [nextUiStep], after the transition has been completed and a
+   * [FingerprintAction.TRANSITION_FINISHED] has been sent, the [nextUiStep] will be given control.
+   */
+  class TransitionStep(val nextUiStep: UiStep) : FingerprintNavigationStep {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.TRANSITION_FINISHED -> nextUiStep
+        else -> null
+      }
+    }
+
+    override fun toString(): String = "TransitionStep(nextUiStep=$nextUiStep)"
+  }
+
+  /** Indicates we should finish the enrolling activity */
+  data class Finish(val result: Int?) : FingerprintNavigationStep {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? = null
+  }
+
+  /** UiSteps should have a 1 to 1 mapping between each screen of FingerprintEnrollment */
+  sealed class UiStep : FingerprintNavigationStep
+
+  /** This is the landing page for enrollment, where no content is shown. */
+  data object Init : UiStep() {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.ACTIVITY_CREATED -> {
+          if (!state.hasConfirmedDeviceCredential) {
+            TransitionStep(ConfirmDeviceCredential)
+          } else if (state.flowType is FastEnroll) {
+            TransitionStep(Enrollment(state.fingerprintSensor!!))
+          } else {
+            TransitionStep(Introduction)
+          }
+        }
+        else -> null
+      }
+    }
+  }
+
+  /** Indicates the ConfirmDeviceCredential activity is being presented to the user */
+  data object ConfirmDeviceCredential : UiStep() {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.CONFIRM_DEVICE_SUCCESS -> TransitionStep(Introduction)
+        FingerprintAction.CONFIRM_DEVICE_FAIL -> Finish(null)
+        else -> null
+      }
+    }
+  }
+
+  /** Indicates the FingerprintIntroduction screen is being presented to the user */
+  data object Introduction : UiStep() {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.NEXT -> TransitionStep(Education(state.fingerprintSensor!!))
+        FingerprintAction.NEGATIVE_BUTTON_PRESSED,
+        FingerprintAction.PREV -> Finish(null)
+        else -> null
+      }
+    }
+  }
+
+  /** Indicates the FingerprintEducation screen is being presented to the user */
+  data class Education(val sensor: FingerprintSensor) : UiStep() {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.NEXT -> TransitionStep(Enrollment(state.fingerprintSensor!!))
+        FingerprintAction.NEGATIVE_BUTTON_PRESSED,
+        FingerprintAction.PREV -> TransitionStep(Introduction)
+        else -> null
+      }
+    }
+  }
+
+  /** Indicates the Enrollment screen is being presented to the user */
+  data class Enrollment(val sensor: FingerprintSensor) : UiStep() {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.NEXT -> TransitionStep(Confirmation)
+        FingerprintAction.NEGATIVE_BUTTON_PRESSED,
+        FingerprintAction.USER_CLICKED_FINISH,
+        FingerprintAction.DID_GO_TO_BACKGROUND -> Finish(null)
+        else -> null
+      }
+    }
+  }
+
+  /** Indicates the Confirmation screen is being presented to the user */
+  data object Confirmation : UiStep() {
+    override fun update(
+      state: NavigationState,
+      action: FingerprintAction,
+    ): FingerprintNavigationStep? {
+      return when (action) {
+        FingerprintAction.NEXT -> Finish(null)
+        FingerprintAction.PREV -> TransitionStep(Education(state.fingerprintSensor!!))
+        FingerprintAction.ADD_ANOTHER -> TransitionStep(Enrollment(state.fingerprintSensor!!))
+        else -> null
+      }
+    }
+  }
+}
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
new file mode 100644
index 0000000..131f5bb
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintNavigationViewModel.kt
@@ -0,0 +1,147 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import android.util.Log
+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.ui.enrollment.viewmodel.FingerprintNavigationStep.Finish
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.TransitionStep
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.UiStep
+import java.lang.NullPointerException
+import kotlin.reflect.KClass
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.combineTransform
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+/**
+ * This class is essentially a wrapper around [FingerprintNavigationStep] that will be used by
+ * fragments/viewmodels that want to consume these events. It should provide no additional
+ * functionality beyond what is available in [FingerprintNavigationStep].
+ */
+class FingerprintNavigationViewModel(
+  step: UiStep,
+  hasConfirmedDeviceCredential: Boolean,
+  flowViewModel: FingerprintFlowViewModel,
+  fingerprintManagerInteractor: FingerprintManagerInteractor,
+) : ViewModel() {
+
+  private var _navStateInternal: MutableStateFlow<NavigationState?> = MutableStateFlow(null)
+
+  init {
+    viewModelScope.launch {
+      flowViewModel.fingerprintFlow
+        .combineTransform(fingerprintManagerInteractor.sensorPropertiesInternal) { flow, props ->
+          if (props?.sensorId != -1) {
+            emit(NavigationState(flow, hasConfirmedDeviceCredential, props))
+          }
+        }
+        .collect { navState -> _navStateInternal.update { navState } }
+    }
+  }
+
+  private var _currentStep = MutableStateFlow<FingerprintNavigationStep?>(step)
+
+  private var _navigateTo: MutableStateFlow<UiStep?> = MutableStateFlow(null)
+  val navigateTo: Flow<UiStep?> = _navigateTo.asStateFlow()
+
+  /**
+   * This indicates a navigation event should occur. Navigation depends on navStateInternal being
+   * present.
+   */
+  val currentStep: Flow<FingerprintNavigationStep> =
+    _currentStep.filterNotNull().combineTransform(_navStateInternal.filterNotNull()) { navigation, _
+      ->
+      emit(navigation)
+    }
+
+  private var _finishState = MutableStateFlow<Finish?>(null)
+
+  /** This indicates the activity should finish. */
+  val shouldFinish: Flow<Finish?> = _finishState.asStateFlow()
+
+  private var _currentScreen = MutableStateFlow<UiStep?>(null)
+
+  /** This indicates what screen should currently be presenting to the user. */
+  val currentScreen: Flow<UiStep?> = _currentScreen.asStateFlow()
+
+  /** See [updateInternal] for more details */
+  fun update(action: FingerprintAction, caller: KClass<*>, debugStr: String) {
+    Log.d(TAG, "$caller.update($action) $debugStr")
+    val currentStep = _currentStep.value
+    val isUiStep = currentStep is UiStep && caller is UiStep
+    if (currentStep == null) {
+      throw NullPointerException("current step is null")
+    }
+    if (isUiStep && currentStep::class != caller) {
+      throw IllegalAccessError(
+        "Error $currentStep != $caller, $caller should not be sending any events at this time"
+      )
+    }
+    val navState = _navStateInternal.value
+    if (navState == null) {
+      throw NullPointerException("nav state is null")
+    }
+    val nextStep = currentStep.update(navState, action) ?: return
+    Log.d(TAG, "nextStep=$nextStep")
+    // Whenever an state update occurs, everything should be cleared.
+    _currentStep.update { nextStep }
+    _finishState.update { null }
+    _currentScreen.update { null }
+
+    when (nextStep) {
+      is TransitionStep -> {
+        _navigateTo.update { nextStep.nextUiStep }
+      }
+      is Finish -> {
+        _finishState.update { nextStep }
+      }
+      is UiStep -> {
+        _currentScreen.update { nextStep }
+      }
+    }
+  }
+
+  class FingerprintNavigationViewModelFactory(
+    private val step: UiStep,
+    private val hasConfirmedDeviceCredential: Boolean,
+    private val flowViewModel: FingerprintFlowViewModel,
+    private val fingerprintManagerInteractor: FingerprintManagerInteractor,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintNavigationViewModel(
+        step,
+        hasConfirmedDeviceCredential,
+        flowViewModel,
+        fingerprintManagerInteractor,
+      )
+        as T
+    }
+  }
+
+  companion object {
+    private const val TAG = "FingerprintNavigationViewModel"
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.kt
new file mode 100644
index 0000000..bc9703d
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/enrollment/viewmodel/FingerprintScrollViewModel.kt
@@ -0,0 +1,46 @@
+/*
+ * 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.ui.enrollment.viewmodel
+
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.update
+
+/** This class is responsible for ensuring a users consent to use FingerprintEnrollment. */
+class FingerprintScrollViewModel : ViewModel() {
+
+  private val _hasReadConsentScreen: MutableStateFlow<Boolean> = MutableStateFlow(false)
+
+  /** Indicates if a user has consented to FingerprintEnrollment */
+  val hasReadConsentScreen: Flow<Boolean> = _hasReadConsentScreen.asStateFlow()
+
+  /** Indicates that a user has consented to FingerprintEnrollment */
+  fun userConsented() {
+    _hasReadConsentScreen.update { true }
+  }
+
+  class FingerprintScrollViewModelFactory : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+      return FingerprintScrollViewModel() as T
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt
deleted file mode 100644
index 42e2047..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintDeletionDialog.kt
+++ /dev/null
@@ -1,119 +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.ui.fragment
-
-import android.app.Dialog
-import android.app.admin.DevicePolicyManager
-import android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
-import android.app.admin.DevicePolicyResources.UNDEFINED
-import android.app.settings.SettingsEnums
-import android.content.DialogInterface
-import android.os.Bundle
-import android.os.UserManager
-import androidx.appcompat.app.AlertDialog
-import com.android.settings.R
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment
-import kotlin.coroutines.resume
-import kotlinx.coroutines.suspendCancellableCoroutine
-
-private const val KEY_IS_LAST_FINGERPRINT = "IS_LAST_FINGERPRINT"
-
-class FingerprintDeletionDialog : InstrumentedDialogFragment() {
-  private lateinit var fingerprintViewModel: FingerprintViewModel
-  private var isLastFingerprint: Boolean = false
-  private lateinit var alertDialog: AlertDialog
-  lateinit var onClickListener: DialogInterface.OnClickListener
-  lateinit var onNegativeClickListener: DialogInterface.OnClickListener
-  lateinit var onCancelListener: DialogInterface.OnCancelListener
-
-  override fun getMetricsCategory(): Int {
-    return SettingsEnums.DIALOG_FINGERPINT_EDIT
-  }
-
-  override fun onCancel(dialog: DialogInterface) {
-    onCancelListener.onCancel(dialog)
-  }
-
-  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
-    val fp = requireArguments().get(KEY_FINGERPRINT) as android.hardware.fingerprint.Fingerprint
-    fingerprintViewModel = FingerprintViewModel(fp.name.toString(), fp.biometricId, fp.deviceId)
-    isLastFingerprint = requireArguments().getBoolean(KEY_IS_LAST_FINGERPRINT)
-    val title = getString(R.string.fingerprint_delete_title, fingerprintViewModel.name)
-    var message = getString(R.string.fingerprint_v2_delete_message, fingerprintViewModel.name)
-    val context = requireContext()
-
-    if (isLastFingerprint) {
-      val isProfileChallengeUser = UserManager.get(context).isManagedProfile(context.userId)
-      val messageId =
-        if (isProfileChallengeUser) {
-          WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
-        } else {
-          UNDEFINED
-        }
-      val defaultMessageId =
-        if (isProfileChallengeUser) {
-          R.string.fingerprint_last_delete_message_profile_challenge
-        } else {
-          R.string.fingerprint_last_delete_message
-        }
-      val devicePolicyManager = requireContext().getSystemService(DevicePolicyManager::class.java)
-      message =
-        devicePolicyManager?.resources?.getString(messageId) {
-          message + "\n\n" + context.getString(defaultMessageId)
-        }
-          ?: ""
-    }
-
-    alertDialog =
-      AlertDialog.Builder(requireActivity())
-        .setTitle(title)
-        .setMessage(message)
-        .setPositiveButton(
-          R.string.security_settings_fingerprint_enroll_dialog_delete,
-          onClickListener
-        )
-        .setNegativeButton(R.string.cancel, onNegativeClickListener)
-        .create()
-    return alertDialog
-  }
-
-  companion object {
-    private const val KEY_FINGERPRINT = "fingerprint"
-    suspend fun showInstance(
-      fp: FingerprintViewModel,
-      lastFingerprint: Boolean,
-      target: FingerprintSettingsV2Fragment,
-    ) = suspendCancellableCoroutine { continuation ->
-      val dialog = FingerprintDeletionDialog()
-      dialog.onClickListener = DialogInterface.OnClickListener { _, _ -> continuation.resume(true) }
-      dialog.onNegativeClickListener =
-        DialogInterface.OnClickListener { _, _ -> continuation.resume(false) }
-      dialog.onCancelListener = DialogInterface.OnCancelListener { continuation.resume(false) }
-
-      continuation.invokeOnCancellation { dialog.dismiss() }
-      val bundle = Bundle()
-      bundle.putObject(
-        KEY_FINGERPRINT,
-        android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId)
-      )
-      bundle.putBoolean(KEY_IS_LAST_FINGERPRINT, lastFingerprint)
-      dialog.arguments = bundle
-      dialog.show(target.parentFragmentManager, FingerprintDeletionDialog::class.java.toString())
-    }
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt
deleted file mode 100644
index e12785d..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsPreference.kt
+++ /dev/null
@@ -1,85 +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.ui.fragment
-
-import android.content.Context
-import android.util.Log
-import android.view.View
-import androidx.lifecycle.lifecycleScope
-import androidx.preference.PreferenceViewHolder
-import com.android.settings.R
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settingslib.widget.TwoTargetPreference
-import kotlinx.coroutines.delay
-import kotlinx.coroutines.launch
-
-private const val TAG = "FingerprintSettingsPreference"
-
-class FingerprintSettingsPreference(
-  context: Context,
-  val fingerprintViewModel: FingerprintViewModel,
-  val fragment: FingerprintSettingsV2Fragment,
-  val isLastFingerprint: Boolean
-) : TwoTargetPreference(context) {
-  private lateinit var myView: View
-
-  init {
-    key = "FINGERPRINT_" + fingerprintViewModel.fingerId
-    Log.d(TAG, "FingerprintPreference $this with frag $fragment $key")
-    title = fingerprintViewModel.name
-    isPersistent = false
-    setIcon(R.drawable.ic_fingerprint_24dp)
-    setOnPreferenceClickListener {
-      fragment.lifecycleScope.launch { fragment.onPrefClicked(fingerprintViewModel) }
-      true
-    }
-  }
-
-  override fun onBindViewHolder(view: PreferenceViewHolder) {
-    super.onBindViewHolder(view)
-    myView = view.itemView
-    view.itemView.findViewById<View>(R.id.delete_button)?.setOnClickListener {
-      fragment.lifecycleScope.launch { fragment.onDeletePrefClicked(fingerprintViewModel) }
-    }
-  }
-
-  /** Highlights this dialog. */
-  suspend fun highlight() {
-    fragment.activity?.getDrawable(R.drawable.preference_highlight)?.let { highlight ->
-      val centerX: Float = myView.width / 2.0f
-      val centerY: Float = myView.height / 2.0f
-      highlight.setHotspot(centerX, centerY)
-      myView.background = highlight
-      myView.isPressed = true
-      myView.isPressed = false
-      delay(300)
-      myView.background = null
-    }
-  }
-
-  override fun getSecondTargetResId(): Int {
-    return R.layout.preference_widget_delete
-  }
-
-  suspend fun askUserToDeleteDialog(): Boolean {
-    return FingerprintDeletionDialog.showInstance(fingerprintViewModel, isLastFingerprint, fragment)
-  }
-
-  suspend fun askUserToRenameDialog(): Pair<FingerprintViewModel, String>? {
-    return FingerprintSettingsRenameDialog.showInstance(fingerprintViewModel, fragment)
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt
deleted file mode 100644
index a08b3db..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsRenameDialog.kt
+++ /dev/null
@@ -1,145 +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.ui.fragment
-
-import android.app.Dialog
-import android.app.settings.SettingsEnums
-import android.content.DialogInterface
-import android.os.Bundle
-import android.text.InputFilter
-import android.text.Spanned
-import android.text.TextUtils
-import android.util.Log
-import android.widget.ImeAwareEditText
-import androidx.appcompat.app.AlertDialog
-import com.android.settings.R
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment
-import kotlin.coroutines.resume
-import kotlinx.coroutines.suspendCancellableCoroutine
-
-private const val TAG = "FingerprintSettingsRenameDialog"
-
-class FingerprintSettingsRenameDialog : InstrumentedDialogFragment() {
-  lateinit var onClickListener: DialogInterface.OnClickListener
-  lateinit var onCancelListener: DialogInterface.OnCancelListener
-
-  override fun onCancel(dialog: DialogInterface) {
-    Log.d(TAG, "onCancel $dialog")
-    onCancelListener.onCancel(dialog)
-  }
-
-  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
-    Log.d(TAG, "onCreateDialog $this")
-    val fp = requireArguments().get(KEY_FINGERPRINT) as android.hardware.fingerprint.Fingerprint
-    val fingerprintViewModel = FingerprintViewModel(fp.name.toString(), fp.biometricId, fp.deviceId)
-
-    val context = requireContext()
-    val alertDialog =
-      AlertDialog.Builder(context)
-        .setView(R.layout.fingerprint_rename_dialog)
-        .setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_ok, onClickListener)
-        .create()
-    alertDialog.setOnShowListener {
-      (dialog?.findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText?)?.apply {
-        val name = fingerprintViewModel.name
-        setText(name)
-        filters = this@FingerprintSettingsRenameDialog.getFilters()
-        selectAll()
-        requestFocus()
-        scheduleShowSoftInput()
-      }
-    }
-
-    return alertDialog
-  }
-
-  private fun getFilters(): Array<InputFilter> {
-    val filter: InputFilter =
-      object : InputFilter {
-
-        override fun filter(
-          source: CharSequence,
-          start: Int,
-          end: Int,
-          dest: Spanned?,
-          dstart: Int,
-          dend: Int
-        ): CharSequence? {
-          for (index in start until end) {
-            val c = source[index]
-            // KXMLSerializer does not allow these characters,
-            // see KXmlSerializer.java:162.
-            if (c.code < 0x20) {
-              return ""
-            }
-          }
-          return null
-        }
-      }
-    return arrayOf(filter)
-  }
-
-  override fun getMetricsCategory(): Int {
-    return SettingsEnums.DIALOG_FINGERPINT_EDIT
-  }
-
-  companion object {
-    private const val KEY_FINGERPRINT = "fingerprint"
-
-    suspend fun showInstance(fp: FingerprintViewModel, target: FingerprintSettingsV2Fragment) =
-      suspendCancellableCoroutine { continuation ->
-        val dialog = FingerprintSettingsRenameDialog()
-        val onClick =
-          DialogInterface.OnClickListener { _, _ ->
-            val dialogTextField =
-              dialog.requireDialog().findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText
-            val newName = dialogTextField.text.toString()
-            if (!TextUtils.equals(newName, fp.name)) {
-              Log.d(TAG, "rename $fp.name to $newName for $dialog")
-              continuation.resume(Pair(fp, newName))
-            } else {
-              continuation.resume(null)
-            }
-          }
-
-        dialog.onClickListener = onClick
-        dialog.onCancelListener =
-          DialogInterface.OnCancelListener {
-            Log.d(TAG, "onCancelListener clicked $dialog")
-            continuation.resume(null)
-          }
-
-        continuation.invokeOnCancellation {
-          Log.d(TAG, "invokeOnCancellation $dialog")
-          dialog.dismiss()
-        }
-
-        val bundle = Bundle()
-        bundle.putObject(
-          KEY_FINGERPRINT,
-          android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId)
-        )
-        dialog.arguments = bundle
-        Log.d(TAG, "showing dialog $dialog")
-        dialog.show(
-          target.parentFragmentManager,
-          FingerprintSettingsRenameDialog::class.java.toString()
-        )
-      }
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt b/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt
deleted file mode 100644
index b82f7c1..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/fragment/FingerprintSettingsV2Fragment.kt
+++ /dev/null
@@ -1,581 +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.ui.fragment
-
-import android.app.Activity
-import android.app.admin.DevicePolicyManager
-import android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED_EXPLANATION
-import android.app.settings.SettingsEnums
-import android.content.Context.FINGERPRINT_SERVICE
-import android.content.Intent
-import android.hardware.fingerprint.FingerprintManager
-import android.os.Bundle
-import android.provider.Settings.Secure
-import android.text.TextUtils
-import android.util.FeatureFlagUtils
-import android.util.Log
-import android.view.View
-import android.widget.Toast
-import androidx.activity.result.ActivityResultLauncher
-import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
-import androidx.lifecycle.ViewModelProvider
-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.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.domain.interactor.FingerprintManagerInteractorImpl
-import com.android.settings.biometrics.fingerprint2.ui.binder.FingerprintSettingsViewBinder
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintStateViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settings.core.SettingsBaseActivity
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment
-import com.android.settings.dashboard.DashboardFragment
-import com.android.settings.password.ChooseLockGeneric
-import com.android.settings.password.ChooseLockSettingsHelper
-import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE
-import com.android.settingslib.HelpUtils
-import com.android.settingslib.RestrictedLockUtils
-import com.android.settingslib.RestrictedLockUtilsInternal
-import com.android.settingslib.transition.SettingsTransitionHelper
-import com.android.settingslib.widget.FooterPreference
-import com.google.android.setupdesign.util.DeviceHelper
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-
-private const val TAG = "FingerprintSettingsV2Fragment"
-private const val KEY_FINGERPRINTS_ENROLLED_CATEGORY = "security_settings_fingerprints_enrolled"
-private const val KEY_FINGERPRINT_SIDE_FPS_CATEGORY =
-  "security_settings_fingerprint_unlock_category"
-private const val KEY_FINGERPRINT_ADD = "key_fingerprint_add"
-private const val KEY_FINGERPRINT_SIDE_FPS_SCREEN_ON_TO_AUTH =
-  "security_settings_require_screen_on_to_auth"
-private const val KEY_FINGERPRINT_FOOTER = "security_settings_fingerprint_footer"
-
-/**
- * A class responsible for showing FingerprintSettings. Typical activity Flows are
- * 1. Settings > FingerprintSettings > PIN/PATTERN/PASS -> FingerprintSettings
- * 2. FingerprintSettings -> FingerprintEnrollment fow
- *
- * This page typically allows for
- * 1. Fingerprint deletion
- * 2. Fingerprint enrollment
- * 3. Renaming a fingerprint
- * 4. Enabling/Disabling a feature
- */
-class FingerprintSettingsV2Fragment :
-  DashboardFragment(), FingerprintSettingsViewBinder.FingerprintView {
-  private lateinit var settingsViewModel: FingerprintSettingsViewModel
-  private lateinit var navigationViewModel: FingerprintSettingsNavigationViewModel
-
-  /** Result listener for ChooseLock activity flow. */
-  private val confirmDeviceResultListener =
-    registerForActivityResult(StartActivityForResult()) { result ->
-      val resultCode = result.resultCode
-      val data = result.data
-      onConfirmDevice(resultCode, data)
-    }
-
-  /** Result listener for launching enrollments **after** a user has reached the settings page. */
-  private val launchAdditionalFingerprintListener: ActivityResultLauncher<Intent> =
-    registerForActivityResult(StartActivityForResult()) { result ->
-      lifecycleScope.launch {
-        val resultCode = result.resultCode
-        Log.d(TAG, "onEnrollAdditionalFingerprint($resultCode)")
-
-        if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
-          navigationViewModel.onEnrollAdditionalFailure()
-        } else {
-          navigationViewModel.onEnrollSuccess()
-        }
-      }
-    }
-
-  /** Initial listener for the first enrollment request */
-  private val launchFirstEnrollmentListener: ActivityResultLauncher<Intent> =
-    registerForActivityResult(StartActivityForResult()) { result ->
-      lifecycleScope.launch {
-        val resultCode = result.resultCode
-        val data = result.data
-
-        Log.d(TAG, "onEnrollFirstFingerprint($resultCode, $data)")
-        if (resultCode != RESULT_FINISHED || data == null) {
-          if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
-            navigationViewModel.onEnrollFirstFailure(
-              "Received RESULT_TIMEOUT when enrolling",
-              resultCode
-            )
-          } else {
-            navigationViewModel.onEnrollFirstFailure(
-              "Incorrect resultCode or data was null",
-              resultCode
-            )
-          }
-        } else {
-          val token = data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
-          val challenge = data.getExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE) as Long?
-          navigationViewModel.onEnrollFirst(token, challenge)
-        }
-      }
-    }
-
-  override fun userLockout(authAttemptViewModel: FingerprintAuthAttemptViewModel.Error) {
-    Toast.makeText(activity, authAttemptViewModel.message, Toast.LENGTH_SHORT).show()
-  }
-
-  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
-    // This is needed to support ChooseLockSettingBuilder...show(). All other activity
-    // calls should use the registerForActivity method call.
-    super.onActivityResult(requestCode, resultCode, data)
-    onConfirmDevice(resultCode, data)
-  }
-
-  override fun onCreate(icicle: Bundle?) {
-    super.onCreate(icicle)
-
-    if (icicle != null) {
-      Log.d(TAG, "onCreateWithSavedState")
-    } else {
-      Log.d(TAG, "onCreate()")
-    }
-
-    if (
-      !FeatureFlagUtils.isEnabled(
-        context,
-        FeatureFlagUtils.SETTINGS_BIOMETRICS2_FINGERPRINT_SETTINGS
-      )
-    ) {
-      Log.d(TAG, "Finishing due to feature not being enabled")
-      finish()
-      return
-    }
-
-    val context = requireContext()
-    val userId = context.userId
-
-    preferenceScreen.isVisible = false
-
-    val fingerprintManager = context.getSystemService(FINGERPRINT_SERVICE) as FingerprintManager
-
-    val backgroundDispatcher = Dispatchers.IO
-    val activity = requireActivity()
-    val userHandle = activity.user.identifier
-
-    val interactor =
-      FingerprintManagerInteractorImpl(
-        context.applicationContext,
-        backgroundDispatcher,
-        fingerprintManager,
-        GatekeeperPasswordProvider(LockPatternUtils(context.applicationContext))
-      ) {
-        var toReturn: Int =
-          Secure.getIntForUser(
-            context.contentResolver,
-            Secure.SFPS_PERFORMANT_AUTH_ENABLED,
-            -1,
-            userHandle,
-          )
-        if (toReturn == -1) {
-          toReturn =
-            if (
-              context.resources.getBoolean(com.android.internal.R.bool.config_performantAuthDefault)
-            ) {
-              1
-            } else {
-              0
-            }
-          Secure.putIntForUser(
-            context.contentResolver,
-            Secure.SFPS_PERFORMANT_AUTH_ENABLED,
-            toReturn,
-            userHandle
-          )
-        }
-
-        toReturn == 1
-      }
-
-    val token = intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
-    val challenge = intent.getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, -1L)
-
-    navigationViewModel =
-      ViewModelProvider(
-        this,
-        FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
-          userId,
-          interactor,
-          backgroundDispatcher,
-          token,
-          challenge
-        )
-      )[FingerprintSettingsNavigationViewModel::class.java]
-
-    settingsViewModel =
-      ViewModelProvider(
-        this,
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          userId,
-          interactor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-      )[FingerprintSettingsViewModel::class.java]
-
-    FingerprintSettingsViewBinder.bind(
-      this,
-      settingsViewModel,
-      navigationViewModel,
-      lifecycleScope,
-    )
-  }
-
-  override fun getMetricsCategory(): Int {
-    return SettingsEnums.FINGERPRINT
-  }
-
-  override fun getPreferenceScreenResId(): Int {
-    return R.xml.security_settings_fingerprint_limbo
-  }
-
-  override fun getLogTag(): String {
-    return TAG
-  }
-
-  override fun onStop() {
-    super.onStop()
-    navigationViewModel.maybeFinishActivity(requireActivity().isChangingConfigurations)
-  }
-
-  override fun onPause() {
-    super.onPause()
-    settingsViewModel.shouldAuthenticate(false)
-    val transaction = parentFragmentManager.beginTransaction()
-    for (frag in parentFragmentManager.fragments) {
-      if (frag is InstrumentedDialogFragment) {
-        Log.d(TAG, "removing dialog settings fragment $frag")
-        frag.dismiss()
-        transaction.remove(frag)
-      }
-    }
-    transaction.commit()
-  }
-
-  override fun onResume() {
-    super.onResume()
-    settingsViewModel.shouldAuthenticate(true)
-  }
-
-  /** Used to indicate that preference has been clicked */
-  fun onPrefClicked(fingerprintViewModel: FingerprintViewModel) {
-    Log.d(TAG, "onPrefClicked(${fingerprintViewModel})")
-    settingsViewModel.onPrefClicked(fingerprintViewModel)
-  }
-
-  /** Used to indicate that a delete pref has been clicked */
-  fun onDeletePrefClicked(fingerprintViewModel: FingerprintViewModel) {
-    Log.d(TAG, "onDeletePrefClicked(${fingerprintViewModel})")
-    settingsViewModel.onDeleteClicked(fingerprintViewModel)
-  }
-
-  override fun showSettings(state: FingerprintStateViewModel) {
-    val category =
-      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINTS_ENROLLED_CATEGORY)
-        as PreferenceCategory?
-
-    category?.removeAll()
-
-    state.fingerprintViewModels.forEach { fingerprint ->
-      category?.addPreference(
-        FingerprintSettingsPreference(
-          requireContext(),
-          fingerprint,
-          this@FingerprintSettingsV2Fragment,
-          state.fingerprintViewModels.size == 1,
-        )
-      )
-    }
-    category?.isVisible = true
-
-    createFingerprintsFooterPreference(state.canEnroll, state.maxFingerprints)
-    preferenceScreen.isVisible = true
-
-    val sideFpsPref =
-      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_SIDE_FPS_CATEGORY)
-        as PreferenceCategory?
-    sideFpsPref?.isVisible = false
-
-    if (state.hasSideFps) {
-      sideFpsPref?.isVisible = state.fingerprintViewModels.isNotEmpty()
-      val otherPref =
-        this@FingerprintSettingsV2Fragment.findPreference(
-          KEY_FINGERPRINT_SIDE_FPS_SCREEN_ON_TO_AUTH
-        ) as Preference?
-      otherPref?.isVisible = state.fingerprintViewModels.isNotEmpty()
-    }
-    addFooter(state.hasSideFps)
-  }
-  private fun addFooter(hasSideFps: Boolean) {
-    val footer =
-      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_FOOTER)
-        as PreferenceCategory?
-    val admin =
-      RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
-        activity,
-        DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT,
-        requireActivity().userId
-      )
-    val activity = requireActivity()
-    val helpIntent =
-      HelpUtils.getHelpIntent(activity, getString(helpResource), activity::class.java.name)
-    val learnMoreClickListener =
-      View.OnClickListener { v: View? -> activity.startActivityForResult(helpIntent, 0) }
-
-    class FooterColumn {
-      var title: CharSequence? = null
-      var learnMoreOverrideText: CharSequence? = null
-      var learnMoreOnClickListener: View.OnClickListener? = null
-    }
-
-    var footerColumns = mutableListOf<FooterColumn>()
-    if (admin != null) {
-      val devicePolicyManager = getSystemService(DevicePolicyManager::class.java)
-      val column1 = FooterColumn()
-      column1.title =
-        devicePolicyManager.resources.getString(FINGERPRINT_UNLOCK_DISABLED_EXPLANATION) {
-          getString(R.string.security_fingerprint_disclaimer_lockscreen_disabled_1)
-        }
-
-      column1.learnMoreOnClickListener =
-        View.OnClickListener { _ ->
-          RestrictedLockUtils.sendShowAdminSupportDetailsIntent(activity, admin)
-        }
-      column1.learnMoreOverrideText = getText(R.string.admin_support_more_info)
-      footerColumns.add(column1)
-      val column2 = FooterColumn()
-      column2.title = getText(R.string.security_fingerprint_disclaimer_lockscreen_disabled_2)
-      if (hasSideFps) {
-        column2.learnMoreOverrideText =
-          getText(R.string.security_settings_fingerprint_settings_footer_learn_more)
-      }
-      column2.learnMoreOnClickListener = learnMoreClickListener
-      footerColumns.add(column2)
-    } else {
-      val column = FooterColumn()
-      column.title =
-        getString(
-          R.string.security_settings_fingerprint_enroll_introduction_v3_message,
-          DeviceHelper.getDeviceName(requireActivity())
-        )
-      column.learnMoreOnClickListener = learnMoreClickListener
-      if (hasSideFps) {
-        column.learnMoreOverrideText =
-          getText(R.string.security_settings_fingerprint_settings_footer_learn_more)
-      }
-      footerColumns.add(column)
-    }
-
-    footer?.removeAll()
-    for (i in 0 until footerColumns.size) {
-      val column = footerColumns[i]
-      val footerPrefToAdd: FooterPreference =
-        FooterPreference.Builder(requireContext()).setTitle(column.title).build()
-      if (i > 0) {
-        footerPrefToAdd.setIconVisibility(View.GONE)
-      }
-      if (column.learnMoreOnClickListener != null) {
-        footerPrefToAdd.setLearnMoreAction(column.learnMoreOnClickListener)
-        if (!TextUtils.isEmpty(column.learnMoreOverrideText)) {
-          footerPrefToAdd.setLearnMoreText(column.learnMoreOverrideText)
-        }
-      }
-      footer?.addPreference(footerPrefToAdd)
-    }
-  }
-
-  override suspend fun askUserToDeleteDialog(fingerprintViewModel: FingerprintViewModel): Boolean {
-    Log.d(TAG, "showing delete dialog for (${fingerprintViewModel})")
-
-    try {
-      val willDelete =
-        fingerprintPreferences()
-          .first { it?.fingerprintViewModel == fingerprintViewModel }
-          ?.askUserToDeleteDialog()
-          ?: false
-      if (willDelete) {
-        mMetricsFeatureProvider.action(
-          context,
-          SettingsEnums.ACTION_FINGERPRINT_DELETE,
-          fingerprintViewModel.fingerId
-        )
-      }
-      return willDelete
-    } catch (exception: Exception) {
-      Log.d(TAG, "askUserToDeleteDialog exception $exception")
-      return false
-    }
-  }
-
-  override suspend fun askUserToRenameDialog(
-    fingerprintViewModel: FingerprintViewModel
-  ): Pair<FingerprintViewModel, String>? {
-    Log.d(TAG, "showing rename dialog for (${fingerprintViewModel})")
-    try {
-      val toReturn =
-        fingerprintPreferences()
-          .first { it?.fingerprintViewModel == fingerprintViewModel }
-          ?.askUserToRenameDialog()
-      if (toReturn != null) {
-        mMetricsFeatureProvider.action(
-          context,
-          SettingsEnums.ACTION_FINGERPRINT_RENAME,
-          toReturn.first.fingerId
-        )
-      }
-      return toReturn
-    } catch (exception: Exception) {
-      Log.d(TAG, "askUserToRenameDialog exception $exception")
-      return null
-    }
-  }
-
-  override suspend fun highlightPref(fingerId: Int) {
-    fingerprintPreferences()
-      .first { pref -> pref?.fingerprintViewModel?.fingerId == fingerId }
-      ?.highlight()
-  }
-
-  override fun launchConfirmOrChooseLock(userId: Int) {
-    lifecycleScope.launch(Dispatchers.Default) {
-      navigationViewModel.setStepToLaunched()
-      val intent = Intent()
-      val builder =
-        ChooseLockSettingsHelper.Builder(requireActivity(), this@FingerprintSettingsV2Fragment)
-      val launched =
-        builder
-          .setRequestCode(CONFIRM_REQUEST)
-          .setTitle(getString(R.string.security_settings_fingerprint_preference_title))
-          .setRequestGatekeeperPasswordHandle(true)
-          .setUserId(userId)
-          .setForegroundOnly(true)
-          .setReturnCredentials(true)
-          .show()
-      if (!launched) {
-        intent.setClassName(SETTINGS_PACKAGE_NAME, ChooseLockGeneric::class.java.name)
-        intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS, true)
-        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true)
-        intent.putExtra(Intent.EXTRA_USER_ID, userId)
-        confirmDeviceResultListener.launch(intent)
-      }
-    }
-  }
-
-  override fun launchFullFingerprintEnrollment(
-    userId: Int,
-    gateKeeperPasswordHandle: Long?,
-    challenge: Long?,
-    challengeToken: ByteArray?,
-  ) {
-    navigationViewModel.setStepToLaunched()
-    Log.d(TAG, "launchFullFingerprintEnrollment")
-    val intent = Intent()
-    intent.setClassName(
-      SETTINGS_PACKAGE_NAME,
-      FingerprintEnrollIntroductionInternal::class.java.name
-    )
-    intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true)
-    intent.putExtra(
-      SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
-      SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE
-    )
-
-    intent.putExtra(Intent.EXTRA_USER_ID, userId)
-
-    if (gateKeeperPasswordHandle != null) {
-      intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gateKeeperPasswordHandle)
-    } else {
-      intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, challengeToken)
-      intent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge)
-    }
-    launchFirstEnrollmentListener.launch(intent)
-  }
-
-  override fun setResultExternal(resultCode: Int) {
-    setResult(resultCode)
-  }
-
-  override fun launchAddFingerprint(userId: Int, challengeToken: ByteArray?) {
-    navigationViewModel.setStepToLaunched()
-    val intent = Intent()
-    intent.setClassName(
-      SETTINGS_PACKAGE_NAME,
-      FingerprintEnrollEnrolling::class.qualifiedName.toString()
-    )
-    intent.putExtra(Intent.EXTRA_USER_ID, userId)
-    intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, challengeToken)
-    launchAdditionalFingerprintListener.launch(intent)
-  }
-
-  private fun onConfirmDevice(resultCode: Int, data: Intent?) {
-    val wasSuccessful = resultCode == RESULT_FINISHED || resultCode == Activity.RESULT_OK
-    val gateKeeperPasswordHandle = data?.getExtra(EXTRA_KEY_GK_PW_HANDLE) as Long?
-    lifecycleScope.launch {
-      navigationViewModel.onConfirmDevice(wasSuccessful, gateKeeperPasswordHandle)
-    }
-  }
-
-  private fun createFingerprintsFooterPreference(canEnroll: Boolean, maxFingerprints: Int) {
-    val pref = this@FingerprintSettingsV2Fragment.findPreference<Preference>(KEY_FINGERPRINT_ADD)
-    val maxSummary = context?.getString(R.string.fingerprint_add_max, maxFingerprints) ?: ""
-    pref?.summary = maxSummary
-    pref?.isEnabled = canEnroll
-    pref?.setOnPreferenceClickListener {
-      navigationViewModel.onAddFingerprintClicked()
-      true
-    }
-    pref?.isVisible = true
-  }
-
-  private fun fingerprintPreferences(): List<FingerprintSettingsPreference?> {
-    val category =
-      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINTS_ENROLLED_CATEGORY)
-        as PreferenceCategory?
-
-    return category?.let { cat ->
-      cat.childrenToList().map { it as FingerprintSettingsPreference? }
-    }
-      ?: emptyList()
-  }
-
-  private fun PreferenceCategory.childrenToList(): List<Preference> {
-    val mutable: MutableList<Preference> = mutableListOf()
-    for (i in 0 until this.preferenceCount) {
-      mutable.add(this.getPreference(i))
-    }
-    return mutable.toList()
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/README.md b/src/com/android/settings/biometrics/fingerprint2/ui/settings/README.md
new file mode 100644
index 0000000..461ffc2
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/README.md
@@ -0,0 +1,17 @@
+### Fingerprint Settings Enrollment
+
+#### Entry Point (For Fingerprint Settings)
+
+* [SecuritySettings] (https://cs.android.com/android/platform/superproject/+/master:packages/apps/Settings/src/com/android/settings/security/SecuritySettings.java;l=40?q=SecuritySettings)
+
+#### General Architecture
+
+The code should follow the MVVM architecture.
+
+The FingerprintSettingsV2Fragment is responsible for most of the heavy lifting. It should coordinate
+navigation events, maintain the viewmodels, and launch new activities if need be.
+
+#### Style
+
+* Please use [kfmt](https://plugins.jetbrains.com/plugin/14912-ktfmt)
+
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/binder/FingerprintSettingsViewBinder.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/binder/FingerprintSettingsViewBinder.kt
new file mode 100644
index 0000000..540e5ee
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/binder/FingerprintSettingsViewBinder.kt
@@ -0,0 +1,181 @@
+/*
+ * 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.ui.settings.binder
+
+import android.hardware.fingerprint.FingerprintManager
+import android.util.Log
+import androidx.lifecycle.LifecycleCoroutineScope
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.ui.settings.binder.FingerprintSettingsViewBinder.FingerprintView
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.EnrollAdditionalFingerprint
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.EnrollFirstFingerprint
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettings
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettingsWithResult
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.LaunchConfirmDeviceCredential
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.LaunchedActivity
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.PreferenceViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.ShowSettings
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsViewBinder"
+
+/** Binds a [FingerprintSettingsViewModel] to a [FingerprintView] */
+object FingerprintSettingsViewBinder {
+
+  interface FingerprintView {
+    /**
+     * Helper function to launch fingerprint enrollment(This should be the default behavior when a
+     * user enters their PIN/PATTERN/PASS and no fingerprints are enrolled).
+     */
+    fun launchFullFingerprintEnrollment(
+      userId: Int,
+      gateKeeperPasswordHandle: Long?,
+      challenge: Long?,
+      challengeToken: ByteArray?,
+    )
+    /** Helper to launch an add fingerprint request */
+    fun launchAddFingerprint(userId: Int, challengeToken: ByteArray?)
+    /**
+     * Helper function that will try and launch confirm lock, if that fails we will prompt user to
+     * choose a PIN/PATTERN/PASS.
+     */
+    fun launchConfirmOrChooseLock(userId: Int)
+    /** Used to indicate that FingerprintSettings is finished. */
+    fun finish()
+    /** Indicates what result should be set for the returning callee */
+    fun setResultExternal(resultCode: Int)
+    /** Indicates the settings UI should be shown */
+    fun showSettings(enrolledFingerprints: List<FingerprintData>)
+    /** Updates the add fingerprints preference */
+    fun updateAddFingerprintsPreference(canEnroll: Boolean, maxFingerprints: Int)
+    /** Updates the sfps fingerprints preference */
+    fun updateSfpsPreference(isSfpsPrefVisible: Boolean)
+    /** Indicates that a user has been locked out */
+    fun userLockout(authAttemptViewModel: FingerprintAuthAttemptModel.Error)
+    /** Indicates a fingerprint preference should be highlighted */
+    suspend fun highlightPref(fingerId: Int)
+    /** Indicates a user should be prompted to delete a fingerprint */
+    suspend fun askUserToDeleteDialog(fingerprintViewModel: FingerprintData): Boolean
+    /** Indicates a user should be asked to renae ma dialog */
+    suspend fun askUserToRenameDialog(
+      fingerprintViewModel: FingerprintData
+    ): Pair<FingerprintData, String>?
+  }
+
+  fun bind(
+    view: FingerprintView,
+    viewModel: FingerprintSettingsViewModel,
+    navigationViewModel: FingerprintSettingsNavigationViewModel,
+    lifecycleScope: LifecycleCoroutineScope,
+  ) {
+
+    /** Result listener for launching enrollments **after** a user has reached the settings page. */
+
+    // Settings display flow
+    lifecycleScope.launch { viewModel.enrolledFingerprints.collect { view.showSettings(it) } }
+    lifecycleScope.launch {
+      viewModel.addFingerprintPrefInfo.collect { (enablePref, maxFingerprints) ->
+        view.updateAddFingerprintsPreference(enablePref, maxFingerprints)
+      }
+    }
+    lifecycleScope.launch { viewModel.isSfpsPrefVisible.collect { view.updateSfpsPreference(it) } }
+
+    // Dialog flow
+    lifecycleScope.launch {
+      viewModel.isShowingDialog.collectLatest {
+        if (it == null) {
+          return@collectLatest
+        }
+        when (it) {
+          is PreferenceViewModel.RenameDialog -> {
+            val willRename = view.askUserToRenameDialog(it.fingerprintViewModel)
+            if (willRename != null) {
+              Log.d(TAG, "renaming fingerprint $it")
+              viewModel.renameFingerprint(willRename.first, willRename.second)
+            }
+            viewModel.onRenameDialogFinished()
+          }
+          is PreferenceViewModel.DeleteDialog -> {
+            if (view.askUserToDeleteDialog(it.fingerprintViewModel)) {
+              Log.d(TAG, "deleting fingerprint $it")
+              viewModel.deleteFingerprint(it.fingerprintViewModel)
+            }
+            viewModel.onDeleteDialogFinished()
+          }
+        }
+      }
+    }
+
+    // Auth flow
+    lifecycleScope.launch {
+      viewModel.authFlow.filterNotNull().collect {
+        when (it) {
+          is FingerprintAuthAttemptModel.Success -> {
+            view.highlightPref(it.fingerId)
+          }
+          is FingerprintAuthAttemptModel.Error -> {
+            if (it.error == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
+              view.userLockout(it)
+            }
+          }
+        }
+      }
+    }
+
+    // Launch this on Dispatchers.Default and not main.
+    // Otherwise it takes too long for state transitions such as PIN/PATTERN/PASS
+    // to enrollment, which makes gives the user a janky experience.
+    lifecycleScope.launch(Dispatchers.Default) {
+      var settingsShowingJob: Job? = null
+      navigationViewModel.nextStep.filterNotNull().collect { nextStep ->
+        settingsShowingJob?.cancel()
+        settingsShowingJob = null
+        Log.d(TAG, "next step = $nextStep")
+        when (nextStep) {
+          is EnrollFirstFingerprint ->
+            view.launchFullFingerprintEnrollment(
+              nextStep.userId,
+              nextStep.gateKeeperPasswordHandle,
+              nextStep.challenge,
+              nextStep.challengeToken,
+            )
+          is EnrollAdditionalFingerprint ->
+            view.launchAddFingerprint(nextStep.userId, nextStep.challengeToken)
+          is LaunchConfirmDeviceCredential -> view.launchConfirmOrChooseLock(nextStep.userId)
+          is FinishSettings -> {
+            Log.d(TAG, "Finishing due to ${nextStep.reason}")
+            view.finish()
+          }
+          is FinishSettingsWithResult -> {
+            Log.d(TAG, "Finishing with result ${nextStep.result} due to ${nextStep.reason}")
+            view.setResultExternal(nextStep.result)
+            view.finish()
+          }
+          is ShowSettings -> Log.d(TAG, "Showing settings")
+          is LaunchedActivity -> Log.d(TAG, "Launched activity, awaiting result")
+        }
+      }
+    }
+  }
+}
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
new file mode 100644
index 0000000..46f64de
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintDeletionDialog.kt
@@ -0,0 +1,119 @@
+/*
+ * 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.ui.settings.fragment
+
+import android.app.Dialog
+import android.app.admin.DevicePolicyManager
+import android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
+import android.app.admin.DevicePolicyResources.UNDEFINED
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.os.UserManager
+import androidx.appcompat.app.AlertDialog
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+private const val KEY_IS_LAST_FINGERPRINT = "IS_LAST_FINGERPRINT"
+
+class FingerprintDeletionDialog : InstrumentedDialogFragment() {
+  private lateinit var fingerprintViewModel: FingerprintData
+  private var isLastFingerprint: Boolean = false
+  private lateinit var alertDialog: AlertDialog
+  lateinit var onClickListener: DialogInterface.OnClickListener
+  lateinit var onNegativeClickListener: DialogInterface.OnClickListener
+  lateinit var onCancelListener: DialogInterface.OnCancelListener
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.DIALOG_FINGERPINT_EDIT
+  }
+
+  override fun onCancel(dialog: DialogInterface) {
+    onCancelListener.onCancel(dialog)
+  }
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    val fp = requireArguments().get(KEY_FINGERPRINT) as android.hardware.fingerprint.Fingerprint
+    fingerprintViewModel = FingerprintData(fp.name.toString(), fp.biometricId, fp.deviceId)
+    isLastFingerprint = requireArguments().getBoolean(KEY_IS_LAST_FINGERPRINT)
+    val title = getString(R.string.fingerprint_delete_title, fingerprintViewModel.name)
+    var message = getString(R.string.fingerprint_v2_delete_message, fingerprintViewModel.name)
+    val context = requireContext()
+
+    if (isLastFingerprint) {
+      val isProfileChallengeUser = UserManager.get(context).isManagedProfile(context.userId)
+      val messageId =
+        if (isProfileChallengeUser) {
+          WORK_PROFILE_FINGERPRINT_LAST_DELETE_MESSAGE
+        } else {
+          UNDEFINED
+        }
+      val defaultMessageId =
+        if (isProfileChallengeUser) {
+          R.string.fingerprint_last_delete_message_profile_challenge
+        } else {
+          R.string.fingerprint_last_delete_message
+        }
+      val devicePolicyManager = requireContext().getSystemService(DevicePolicyManager::class.java)
+      message =
+        devicePolicyManager?.resources?.getString(messageId) {
+          message + "\n\n" + context.getString(defaultMessageId)
+        } ?: ""
+    }
+
+    alertDialog =
+      AlertDialog.Builder(requireActivity())
+        .setTitle(title)
+        .setMessage(message)
+        .setPositiveButton(
+          R.string.security_settings_fingerprint_enroll_dialog_delete,
+          onClickListener,
+        )
+        .setNegativeButton(R.string.cancel, onNegativeClickListener)
+        .create()
+    return alertDialog
+  }
+
+  companion object {
+    private const val KEY_FINGERPRINT = "fingerprint"
+
+    suspend fun showInstance(
+      fp: FingerprintData,
+      lastFingerprint: Boolean,
+      target: FingerprintSettingsV2Fragment,
+    ) = suspendCancellableCoroutine { continuation ->
+      val dialog = FingerprintDeletionDialog()
+      dialog.onClickListener = DialogInterface.OnClickListener { _, _ -> continuation.resume(true) }
+      dialog.onNegativeClickListener =
+        DialogInterface.OnClickListener { _, _ -> continuation.resume(false) }
+      dialog.onCancelListener = DialogInterface.OnCancelListener { continuation.resume(false) }
+
+      continuation.invokeOnCancellation { dialog.dismiss() }
+      val bundle = Bundle()
+      bundle.putObject(
+        KEY_FINGERPRINT,
+        android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId),
+      )
+      bundle.putBoolean(KEY_IS_LAST_FINGERPRINT, lastFingerprint)
+      dialog.arguments = bundle
+      dialog.show(target.parentFragmentManager, FingerprintDeletionDialog::class.java.toString())
+    }
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsPreference.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsPreference.kt
new file mode 100644
index 0000000..09dcb81
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsPreference.kt
@@ -0,0 +1,85 @@
+/*
+ * 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.ui.settings.fragment
+
+import android.content.Context
+import android.util.Log
+import android.view.View
+import androidx.lifecycle.lifecycleScope
+import androidx.preference.PreferenceViewHolder
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settingslib.widget.TwoTargetPreference
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsPreference"
+
+class FingerprintSettingsPreference(
+  context: Context,
+  val fingerprintViewModel: FingerprintData,
+  val fragment: FingerprintSettingsV2Fragment,
+  val isLastFingerprint: Boolean,
+) : TwoTargetPreference(context) {
+  private lateinit var myView: View
+
+  init {
+    key = "FINGERPRINT_" + fingerprintViewModel.fingerId
+    Log.d(TAG, "FingerprintPreference $this with frag $fragment $key")
+    title = fingerprintViewModel.name
+    isPersistent = false
+    setIcon(R.drawable.ic_fingerprint_24dp)
+    setOnPreferenceClickListener {
+      fragment.lifecycleScope.launch { fragment.onPrefClicked(fingerprintViewModel) }
+      true
+    }
+  }
+
+  override fun onBindViewHolder(view: PreferenceViewHolder) {
+    super.onBindViewHolder(view)
+    myView = view.itemView
+    view.itemView.findViewById<View>(R.id.delete_button)?.setOnClickListener {
+      fragment.lifecycleScope.launch { fragment.onDeletePrefClicked(fingerprintViewModel) }
+    }
+  }
+
+  /** Highlights this dialog. */
+  suspend fun highlight() {
+    fragment.activity?.getDrawable(R.drawable.preference_highlight)?.let { highlight ->
+      val centerX: Float = myView.width / 2.0f
+      val centerY: Float = myView.height / 2.0f
+      highlight.setHotspot(centerX, centerY)
+      myView.background = highlight
+      myView.isPressed = true
+      myView.isPressed = false
+      delay(300)
+      myView.background = null
+    }
+  }
+
+  override fun getSecondTargetResId(): Int {
+    return R.layout.preference_widget_delete
+  }
+
+  suspend fun askUserToDeleteDialog(): Boolean {
+    return FingerprintDeletionDialog.showInstance(fingerprintViewModel, isLastFingerprint, fragment)
+  }
+
+  suspend fun askUserToRenameDialog(): Pair<FingerprintData, String>? {
+    return FingerprintSettingsRenameDialog.showInstance(fingerprintViewModel, fragment)
+  }
+}
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
new file mode 100644
index 0000000..9fef0c5
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsRenameDialog.kt
@@ -0,0 +1,146 @@
+/*
+ * 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.ui.settings.fragment
+
+import android.app.Dialog
+import android.app.settings.SettingsEnums
+import android.content.DialogInterface
+import android.os.Bundle
+import android.text.InputFilter
+import android.text.Spanned
+import android.text.TextUtils
+import android.util.Log
+import android.widget.ImeAwareEditText
+import androidx.appcompat.app.AlertDialog
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import kotlin.coroutines.resume
+import kotlinx.coroutines.suspendCancellableCoroutine
+
+private const val TAG = "FingerprintSettingsRenameDialog"
+
+class FingerprintSettingsRenameDialog : InstrumentedDialogFragment() {
+  lateinit var onClickListener: DialogInterface.OnClickListener
+  lateinit var onCancelListener: DialogInterface.OnCancelListener
+
+  override fun onCancel(dialog: DialogInterface) {
+    Log.d(TAG, "onCancel $dialog")
+    onCancelListener.onCancel(dialog)
+  }
+
+  override fun onCreateDialog(savedInstanceState: Bundle?): Dialog {
+    Log.d(TAG, "onCreateDialog $this")
+    val fp = requireArguments().get(KEY_FINGERPRINT) as android.hardware.fingerprint.Fingerprint
+    val fingerprintViewModel = FingerprintData(fp.name.toString(), fp.biometricId, fp.deviceId)
+
+    val context = requireContext()
+    val alertDialog =
+      AlertDialog.Builder(context)
+        .setView(R.layout.fingerprint_rename_dialog)
+        .setPositiveButton(R.string.security_settings_fingerprint_enroll_dialog_ok, onClickListener)
+        .create()
+    alertDialog.setOnShowListener {
+      (dialog?.findViewById(R.id.fingerprint_rename_field) as ImeAwareEditText?)?.apply {
+        val name = fingerprintViewModel.name
+        setText(name)
+        filters = this@FingerprintSettingsRenameDialog.getFilters()
+        selectAll()
+        requestFocus()
+        scheduleShowSoftInput()
+      }
+    }
+
+    return alertDialog
+  }
+
+  private fun getFilters(): Array<InputFilter> {
+    val filter: InputFilter =
+      object : InputFilter {
+
+        override fun filter(
+          source: CharSequence,
+          start: Int,
+          end: Int,
+          dest: Spanned?,
+          dstart: Int,
+          dend: Int,
+        ): CharSequence? {
+          for (index in start until end) {
+            val c = source[index]
+            // KXMLSerializer does not allow these characters,
+            // see KXmlSerializer.java:162.
+            if (c.code < 0x20) {
+              return ""
+            }
+          }
+          return null
+        }
+      }
+    return arrayOf(filter)
+  }
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.DIALOG_FINGERPINT_EDIT
+  }
+
+  companion object {
+    private const val KEY_FINGERPRINT = "fingerprint"
+
+    suspend fun showInstance(fp: FingerprintData, target: FingerprintSettingsV2Fragment) =
+      suspendCancellableCoroutine { continuation ->
+        val dialog = FingerprintSettingsRenameDialog()
+        val onClick =
+          DialogInterface.OnClickListener { _, _ ->
+            val dialogTextField =
+              dialog.requireDialog().requireViewById(R.id.fingerprint_rename_field)
+                as ImeAwareEditText
+            val newName = dialogTextField.text.toString()
+            if (!TextUtils.equals(newName, fp.name)) {
+              Log.d(TAG, "rename $fp.name to $newName for $dialog")
+              continuation.resume(Pair(fp, newName))
+            } else {
+              continuation.resume(null)
+            }
+          }
+
+        dialog.onClickListener = onClick
+        dialog.onCancelListener =
+          DialogInterface.OnCancelListener {
+            Log.d(TAG, "onCancelListener clicked $dialog")
+            continuation.resume(null)
+          }
+
+        continuation.invokeOnCancellation {
+          Log.d(TAG, "invokeOnCancellation $dialog")
+          dialog.dismiss()
+        }
+
+        val bundle = Bundle()
+        bundle.putObject(
+          KEY_FINGERPRINT,
+          android.hardware.fingerprint.Fingerprint(fp.name, fp.fingerId, fp.deviceId),
+        )
+        dialog.arguments = bundle
+        Log.d(TAG, "showing dialog $dialog")
+        dialog.show(
+          target.parentFragmentManager,
+          FingerprintSettingsRenameDialog::class.java.toString(),
+        )
+      }
+  }
+}
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
new file mode 100644
index 0000000..bd90524
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/fragment/FingerprintSettingsV2Fragment.kt
@@ -0,0 +1,581 @@
+/*
+ * 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.ui.settings.fragment
+
+import android.app.Activity
+import android.app.admin.DevicePolicyManager
+import android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED_EXPLANATION
+import android.app.settings.SettingsEnums
+import android.content.Context.FINGERPRINT_SERVICE
+import android.content.Intent
+import android.hardware.fingerprint.FingerprintManager
+import android.os.Bundle
+import android.provider.Settings.Secure
+import android.text.TextUtils
+import android.util.Log
+import android.view.View
+import android.widget.Toast
+import androidx.activity.result.ActivityResultLauncher
+import androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult
+import androidx.lifecycle.ViewModelProvider
+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.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.PressToAuthInteractorImpl
+import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
+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.Settings
+import com.android.settings.biometrics.fingerprint2.ui.settings.binder.FingerprintSettingsViewBinder
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel
+import com.android.settings.core.SettingsBaseActivity
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment
+import com.android.settings.dashboard.DashboardFragment
+import com.android.settings.password.ChooseLockGeneric
+import com.android.settings.password.ChooseLockSettingsHelper
+import com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE
+import com.android.settingslib.HelpUtils
+import com.android.settingslib.RestrictedLockUtils
+import com.android.settingslib.RestrictedLockUtilsInternal
+import com.android.settingslib.transition.SettingsTransitionHelper
+import com.android.settingslib.widget.FooterPreference
+import com.google.android.setupdesign.util.DeviceHelper
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsV2Fragment"
+private const val KEY_FINGERPRINTS_ENROLLED_CATEGORY = "security_settings_fingerprints_enrolled"
+private const val KEY_FINGERPRINT_SIDE_FPS_CATEGORY =
+  "security_settings_fingerprint_unlock_category"
+private const val KEY_FINGERPRINT_ADD = "key_fingerprint_add"
+private const val KEY_FINGERPRINT_SIDE_FPS_SCREEN_ON_TO_AUTH =
+  "security_settings_require_screen_on_to_auth"
+private const val KEY_FINGERPRINT_FOOTER = "security_settings_fingerprint_footer"
+
+/**
+ * A class responsible for showing FingerprintSettings. Typical activity Flows are
+ * 1. Settings > FingerprintSettings > PIN/PATTERN/PASS -> FingerprintSettings
+ * 2. FingerprintSettings -> FingerprintEnrollment fow
+ *
+ * This page typically allows for
+ * 1. Fingerprint deletion
+ * 2. Fingerprint enrollment
+ * 3. Renaming a fingerprint
+ * 4. Enabling/Disabling a feature
+ */
+class FingerprintSettingsV2Fragment :
+  DashboardFragment(), FingerprintSettingsViewBinder.FingerprintView {
+  private lateinit var settingsViewModel: FingerprintSettingsViewModel
+  private lateinit var navigationViewModel: FingerprintSettingsNavigationViewModel
+
+  /** Result listener for ChooseLock activity flow. */
+  private val confirmDeviceResultListener =
+    registerForActivityResult(StartActivityForResult()) { result ->
+      val resultCode = result.resultCode
+      val data = result.data
+      onConfirmDevice(resultCode, data)
+    }
+
+  /** Result listener for launching enrollments **after** a user has reached the settings page. */
+  private val launchAdditionalFingerprintListener: ActivityResultLauncher<Intent> =
+    registerForActivityResult(StartActivityForResult()) { result ->
+      lifecycleScope.launch {
+        val resultCode = result.resultCode
+        Log.d(TAG, "onEnrollAdditionalFingerprint($resultCode)")
+
+        if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
+          navigationViewModel.onEnrollAdditionalFailure()
+        } else {
+          navigationViewModel.onEnrollSuccess()
+        }
+      }
+    }
+
+  /** Initial listener for the first enrollment request */
+  private val launchFirstEnrollmentListener: ActivityResultLauncher<Intent> =
+    registerForActivityResult(StartActivityForResult()) { result ->
+      lifecycleScope.launch {
+        val resultCode = result.resultCode
+        val data = result.data
+
+        Log.d(TAG, "onEnrollFirstFingerprint($resultCode, $data)")
+        if (resultCode != RESULT_FINISHED || data == null) {
+          if (resultCode == BiometricEnrollBase.RESULT_TIMEOUT) {
+            navigationViewModel.onEnrollFirstFailure(
+              "Received RESULT_TIMEOUT when enrolling",
+              resultCode,
+            )
+          } else {
+            navigationViewModel.onEnrollFirstFailure(
+              "Incorrect resultCode or data was null",
+              resultCode,
+            )
+          }
+        } else {
+          val token = data.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
+          val challenge = data.getExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE) as Long?
+          navigationViewModel.onEnrollFirst(token, challenge)
+        }
+      }
+    }
+
+  override fun userLockout(authAttemptViewModel: FingerprintAuthAttemptModel.Error) {
+    Toast.makeText(activity, authAttemptViewModel.message, Toast.LENGTH_SHORT).show()
+  }
+
+  override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
+    // This is needed to support ChooseLockSettingBuilder...show(). All other activity
+    // calls should use the registerForActivity method call.
+    super.onActivityResult(requestCode, resultCode, data)
+    onConfirmDevice(resultCode, data)
+  }
+
+  override fun onCreate(icicle: Bundle?) {
+    super.onCreate(icicle)
+
+    if (icicle != null) {
+      Log.d(TAG, "onCreateWithSavedState")
+    } else {
+      Log.d(TAG, "onCreate()")
+    }
+
+    /*
+    if (
+      !FeatureFlagUtils.isEnabled(
+        context,
+        FeatureFlagUtils.SETTINGS_BIOMETRICS2_FINGERPRINT_SETTINGS
+      )
+    ) {
+      Log.d(TAG, "Finishing due to feature not being enabled")
+      finish()
+      return
+    }
+
+     */
+
+    val context = requireContext()
+    val userId = context.userId
+
+    preferenceScreen.isVisible = false
+
+    val fingerprintManager = context.getSystemService(FINGERPRINT_SERVICE) as FingerprintManager
+
+    val backgroundDispatcher = Dispatchers.IO
+    val activity = requireActivity()
+    val userHandle = activity.user.identifier
+    // Note that SUW should not be launching FingerprintSettings
+    val isAnySuw = Settings
+
+    val pressToAuthProvider = {
+      var toReturn: Int =
+        Secure.getIntForUser(
+          context.contentResolver,
+          Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+          -1,
+          userHandle,
+        )
+      if (toReturn == -1) {
+        toReturn =
+          if (
+            context.resources.getBoolean(com.android.internal.R.bool.config_performantAuthDefault)
+          ) {
+            1
+          } else {
+            0
+          }
+        Secure.putIntForUser(
+          context.contentResolver,
+          Secure.SFPS_PERFORMANT_AUTH_ENABLED,
+          toReturn,
+          userHandle,
+        )
+      }
+
+      toReturn == 1
+    }
+    val fingerprintSensorProvider =
+      FingerprintSensorRepositoryImpl(fingerprintManager, backgroundDispatcher, lifecycleScope)
+    val pressToAuthInteractor = PressToAuthInteractorImpl(context, backgroundDispatcher)
+
+    val interactor =
+      FingerprintManagerInteractorImpl(
+        context.applicationContext,
+        backgroundDispatcher,
+        fingerprintManager,
+        fingerprintSensorProvider,
+        GatekeeperPasswordProvider(LockPatternUtils(context.applicationContext)),
+        pressToAuthInteractor,
+        Settings,
+        getIntent()
+      )
+
+    val token = intent.getByteArrayExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN)
+    val challenge = intent.getLongExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, -1L)
+
+    navigationViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+          userId,
+          interactor,
+          backgroundDispatcher,
+          token,
+          challenge,
+        ),
+      )[FingerprintSettingsNavigationViewModel::class.java]
+
+    settingsViewModel =
+      ViewModelProvider(
+        this,
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          userId,
+          interactor,
+          backgroundDispatcher,
+          navigationViewModel,
+        ),
+      )[FingerprintSettingsViewModel::class.java]
+
+    FingerprintSettingsViewBinder.bind(this, settingsViewModel, navigationViewModel, lifecycleScope)
+  }
+
+  override fun getMetricsCategory(): Int {
+    return SettingsEnums.FINGERPRINT
+  }
+
+  override fun getPreferenceScreenResId(): Int {
+    return R.xml.security_settings_fingerprint_limbo
+  }
+
+  override fun getLogTag(): String {
+    return TAG
+  }
+
+  override fun onStop() {
+    super.onStop()
+    navigationViewModel.maybeFinishActivity(requireActivity().isChangingConfigurations)
+  }
+
+  override fun onPause() {
+    super.onPause()
+    settingsViewModel.shouldAuthenticate(false)
+    val transaction = parentFragmentManager.beginTransaction()
+    for (frag in parentFragmentManager.fragments) {
+      if (frag is InstrumentedDialogFragment) {
+        Log.d(TAG, "removing dialog settings fragment $frag")
+        frag.dismiss()
+        transaction.remove(frag)
+      }
+    }
+    transaction.commit()
+  }
+
+  override fun onResume() {
+    super.onResume()
+    settingsViewModel.shouldAuthenticate(true)
+  }
+
+  /** Used to indicate that preference has been clicked */
+  fun onPrefClicked(fingerprintViewModel: FingerprintData) {
+    Log.d(TAG, "onPrefClicked(${fingerprintViewModel})")
+    settingsViewModel.onPrefClicked(fingerprintViewModel)
+  }
+
+  /** Used to indicate that a delete pref has been clicked */
+  fun onDeletePrefClicked(fingerprintViewModel: FingerprintData) {
+    Log.d(TAG, "onDeletePrefClicked(${fingerprintViewModel})")
+    settingsViewModel.onDeleteClicked(fingerprintViewModel)
+  }
+
+  override fun showSettings(enrolledFingerprints: List<FingerprintData>) {
+    val category =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINTS_ENROLLED_CATEGORY)
+        as PreferenceCategory?
+
+    category?.removeAll()
+
+    enrolledFingerprints.forEach { fingerprint ->
+      category?.addPreference(
+        FingerprintSettingsPreference(
+          requireContext(),
+          fingerprint,
+          this@FingerprintSettingsV2Fragment,
+          enrolledFingerprints.size == 1,
+        )
+      )
+    }
+    category?.isVisible = true
+    preferenceScreen.isVisible = true
+    addFooter()
+  }
+
+  override fun updateAddFingerprintsPreference(canEnroll: Boolean, maxFingerprints: Int) {
+    val pref = this@FingerprintSettingsV2Fragment.findPreference<Preference>(KEY_FINGERPRINT_ADD)
+    val maxSummary = context?.getString(R.string.fingerprint_add_max, maxFingerprints) ?: ""
+    pref?.summary = maxSummary
+    pref?.isEnabled = canEnroll
+    pref?.setOnPreferenceClickListener {
+      navigationViewModel.onAddFingerprintClicked()
+      true
+    }
+    pref?.isVisible = true
+  }
+
+  override fun updateSfpsPreference(isSfpsPrefVisible: Boolean) {
+    val sideFpsPref =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_SIDE_FPS_CATEGORY)
+        as PreferenceCategory?
+    sideFpsPref?.isVisible = isSfpsPrefVisible
+    val otherPref =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_SIDE_FPS_SCREEN_ON_TO_AUTH)
+        as Preference?
+    otherPref?.isVisible = isSfpsPrefVisible
+  }
+
+  private fun addFooter() {
+    val footer =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINT_FOOTER)
+        as PreferenceCategory?
+    val admin =
+      RestrictedLockUtilsInternal.checkIfKeyguardFeaturesDisabled(
+        activity,
+        DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT,
+        requireActivity().userId,
+      )
+    val activity = requireActivity()
+    val helpIntent =
+      HelpUtils.getHelpIntent(activity, getString(helpResource), activity::class.java.name)
+    val learnMoreClickListener =
+      View.OnClickListener { v: View? -> activity.startActivityForResult(helpIntent, 0) }
+
+    class FooterColumn {
+      var title: CharSequence? = null
+      var learnMoreOverrideText: CharSequence? = null
+      var learnMoreOnClickListener: View.OnClickListener? = null
+    }
+
+    var footerColumns = mutableListOf<FooterColumn>()
+    if (admin != null) {
+      val devicePolicyManager = getSystemService(DevicePolicyManager::class.java)
+      val column1 = FooterColumn()
+      column1.title =
+        devicePolicyManager.resources.getString(FINGERPRINT_UNLOCK_DISABLED_EXPLANATION) {
+          getString(R.string.security_fingerprint_disclaimer_lockscreen_disabled_1)
+        }
+
+      column1.learnMoreOnClickListener =
+        View.OnClickListener { _ ->
+          RestrictedLockUtils.sendShowAdminSupportDetailsIntent(activity, admin)
+        }
+      column1.learnMoreOverrideText = getText(R.string.admin_support_more_info)
+      footerColumns.add(column1)
+      val column2 = FooterColumn()
+      column2.title = getText(R.string.security_fingerprint_disclaimer_lockscreen_disabled_2)
+      column2.learnMoreOverrideText =
+        getText(R.string.security_settings_fingerprint_settings_footer_learn_more)
+      column2.learnMoreOnClickListener = learnMoreClickListener
+      footerColumns.add(column2)
+    } else {
+      val column = FooterColumn()
+      column.title =
+        getString(
+          R.string.security_settings_fingerprint_enroll_introduction_v3_message,
+          DeviceHelper.getDeviceName(requireActivity()),
+        )
+      column.learnMoreOnClickListener = learnMoreClickListener
+      column.learnMoreOverrideText =
+        getText(R.string.security_settings_fingerprint_settings_footer_learn_more)
+      footerColumns.add(column)
+    }
+
+    footer?.removeAll()
+    for (i in 0 until footerColumns.size) {
+      val column = footerColumns[i]
+      val footerPrefToAdd: FooterPreference =
+        FooterPreference.Builder(requireContext()).setTitle(column.title).build()
+      if (i > 0) {
+        footerPrefToAdd.setIconVisibility(View.GONE)
+      }
+      if (column.learnMoreOnClickListener != null) {
+        footerPrefToAdd.setLearnMoreAction(column.learnMoreOnClickListener)
+        if (!TextUtils.isEmpty(column.learnMoreOverrideText)) {
+          footerPrefToAdd.setLearnMoreText(column.learnMoreOverrideText)
+        }
+      }
+      footer?.addPreference(footerPrefToAdd)
+    }
+  }
+
+  override suspend fun askUserToDeleteDialog(fingerprintViewModel: FingerprintData): Boolean {
+    Log.d(TAG, "showing delete dialog for (${fingerprintViewModel})")
+
+    try {
+      val willDelete =
+        fingerprintPreferences()
+          .first { it?.fingerprintViewModel == fingerprintViewModel }
+          ?.askUserToDeleteDialog() ?: false
+      if (willDelete) {
+        mMetricsFeatureProvider.action(
+          context,
+          SettingsEnums.ACTION_FINGERPRINT_DELETE,
+          fingerprintViewModel.fingerId,
+        )
+      }
+      return willDelete
+    } catch (exception: Exception) {
+      Log.d(TAG, "askUserToDeleteDialog exception $exception")
+      return false
+    }
+  }
+
+  override suspend fun askUserToRenameDialog(
+    fingerprintViewModel: FingerprintData
+  ): Pair<FingerprintData, String>? {
+    Log.d(TAG, "showing rename dialog for (${fingerprintViewModel})")
+    try {
+      val toReturn =
+        fingerprintPreferences()
+          .first { it?.fingerprintViewModel == fingerprintViewModel }
+          ?.askUserToRenameDialog()
+      if (toReturn != null) {
+        mMetricsFeatureProvider.action(
+          context,
+          SettingsEnums.ACTION_FINGERPRINT_RENAME,
+          toReturn.first.fingerId,
+        )
+      }
+      return toReturn
+    } catch (exception: Exception) {
+      Log.d(TAG, "askUserToRenameDialog exception $exception")
+      return null
+    }
+  }
+
+  override suspend fun highlightPref(fingerId: Int) {
+    fingerprintPreferences()
+      .first { pref -> pref?.fingerprintViewModel?.fingerId == fingerId }
+      ?.highlight()
+  }
+
+  override fun launchConfirmOrChooseLock(userId: Int) {
+    lifecycleScope.launch(Dispatchers.Default) {
+      navigationViewModel.setStepToLaunched()
+      val intent = Intent()
+      val builder =
+        ChooseLockSettingsHelper.Builder(requireActivity(), this@FingerprintSettingsV2Fragment)
+      val launched =
+        builder
+          .setRequestCode(CONFIRM_REQUEST)
+          .setTitle(getString(R.string.security_settings_fingerprint_preference_title))
+          .setRequestGatekeeperPasswordHandle(true)
+          .setUserId(userId)
+          .setForegroundOnly(true)
+          .setReturnCredentials(true)
+          .show()
+      if (!launched) {
+        intent.setClassName(SETTINGS_PACKAGE_NAME, ChooseLockGeneric::class.java.name)
+        intent.putExtra(ChooseLockGeneric.ChooseLockGenericFragment.HIDE_INSECURE_OPTIONS, true)
+        intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_REQUEST_GK_PW_HANDLE, true)
+        intent.putExtra(Intent.EXTRA_USER_ID, userId)
+        confirmDeviceResultListener.launch(intent)
+      }
+    }
+  }
+
+  override fun launchFullFingerprintEnrollment(
+    userId: Int,
+    gateKeeperPasswordHandle: Long?,
+    challenge: Long?,
+    challengeToken: ByteArray?,
+  ) {
+    navigationViewModel.setStepToLaunched()
+    Log.d(TAG, "launchFullFingerprintEnrollment")
+    val intent = Intent()
+    intent.setClassName(
+      SETTINGS_PACKAGE_NAME,
+      FingerprintEnrollIntroductionInternal::class.java.name,
+    )
+    intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true)
+    intent.putExtra(
+      SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
+      SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE,
+    )
+
+    intent.putExtra(Intent.EXTRA_USER_ID, userId)
+
+    if (gateKeeperPasswordHandle != null) {
+      intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gateKeeperPasswordHandle)
+    } else {
+      intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, challengeToken)
+      intent.putExtra(BiometricEnrollBase.EXTRA_KEY_CHALLENGE, challenge)
+    }
+    launchFirstEnrollmentListener.launch(intent)
+  }
+
+  override fun setResultExternal(resultCode: Int) {
+    setResult(resultCode)
+  }
+
+  override fun launchAddFingerprint(userId: Int, challengeToken: ByteArray?) {
+    navigationViewModel.setStepToLaunched()
+    val intent = Intent()
+    intent.setClassName(
+      SETTINGS_PACKAGE_NAME,
+      FingerprintEnrollEnrolling::class.qualifiedName.toString(),
+    )
+    intent.putExtra(Intent.EXTRA_USER_ID, userId)
+    intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, challengeToken)
+    launchAdditionalFingerprintListener.launch(intent)
+  }
+
+  private fun onConfirmDevice(resultCode: Int, data: Intent?) {
+    val wasSuccessful = resultCode == RESULT_FINISHED || resultCode == Activity.RESULT_OK
+    val gateKeeperPasswordHandle = data?.getExtra(EXTRA_KEY_GK_PW_HANDLE) as Long?
+    lifecycleScope.launch {
+      navigationViewModel.onConfirmDevice(wasSuccessful, gateKeeperPasswordHandle)
+    }
+  }
+
+  private fun fingerprintPreferences(): List<FingerprintSettingsPreference?> {
+    val category =
+      this@FingerprintSettingsV2Fragment.findPreference(KEY_FINGERPRINTS_ENROLLED_CATEGORY)
+        as PreferenceCategory?
+
+    return category?.let { cat ->
+      cat.childrenToList().map { it as FingerprintSettingsPreference? }
+    } ?: emptyList()
+  }
+
+  private fun PreferenceCategory.childrenToList(): List<Preference> {
+    val mutable: MutableList<Preference> = mutableListOf()
+    for (i in 0 until this.preferenceCount) {
+      mutable.add(this.getPreference(i))
+    }
+    return mutable.toList()
+  }
+}
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
new file mode 100644
index 0000000..00b91a8
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsNavigationViewModel.kt
@@ -0,0 +1,196 @@
+/*
+ * 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.ui.settings.viewmodel
+
+import android.hardware.fingerprint.FingerprintManager
+import androidx.lifecycle.ViewModel
+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 kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.last
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+/** 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?,
+) : ViewModel() {
+
+  private var token = tokenInit
+  private var challenge = challengeInit
+
+  private val _nextStep: MutableStateFlow<NextStepViewModel?> = MutableStateFlow(null)
+
+  /** This flow represents the high level state for the FingerprintSettingsV2Fragment. */
+  val nextStep: StateFlow<NextStepViewModel?> = _nextStep.asStateFlow()
+
+  init {
+    if (challengeInit == null || tokenInit == null) {
+      _nextStep.update { LaunchConfirmDeviceCredential(userId) }
+    } else {
+      viewModelScope.launch {
+        if (fingerprintManagerInteractor.enrolledFingerprints.last().isEmpty()) {
+          _nextStep.update { EnrollFirstFingerprint(userId, null, challenge, token) }
+        } else {
+          showSettingsHelper()
+        }
+      }
+    }
+  }
+
+  /** Used to indicate that FingerprintSettings is complete. */
+  fun finish() {
+    _nextStep.update { null }
+  }
+
+  /** Used to finish settings in certain cases. */
+  fun maybeFinishActivity(changingConfig: Boolean) {
+    val isConfirmingOrEnrolling =
+      _nextStep.value is LaunchConfirmDeviceCredential ||
+        _nextStep.value is EnrollAdditionalFingerprint ||
+        _nextStep.value is EnrollFirstFingerprint ||
+        _nextStep.value is LaunchedActivity
+    if (!isConfirmingOrEnrolling && !changingConfig)
+      _nextStep.update {
+        FinishSettingsWithResult(BiometricEnrollBase.RESULT_TIMEOUT, "onStop finishing settings")
+      }
+  }
+
+  /** Used to indicate that we have launched another activity and we should await its result. */
+  fun setStepToLaunched() {
+    _nextStep.update { LaunchedActivity }
+  }
+
+  /** Indicates a successful enroll has occurred */
+  fun onEnrollSuccess() {
+    showSettingsHelper()
+  }
+
+  /** Add fingerprint clicked */
+  fun onAddFingerprintClicked() {
+    _nextStep.update { EnrollAdditionalFingerprint(userId, token) }
+  }
+
+  /** Enrolling of an additional fingerprint failed */
+  fun onEnrollAdditionalFailure() {
+    launchFinishSettings("Failed to enroll additional fingerprint")
+  }
+
+  /** The first fingerprint enrollment failed */
+  fun onEnrollFirstFailure(reason: String) {
+    launchFinishSettings(reason)
+  }
+
+  /** The first fingerprint enrollment failed with a result code */
+  fun onEnrollFirstFailure(reason: String, resultCode: Int) {
+    launchFinishSettings(reason, resultCode)
+  }
+
+  /** Notifies that a users first enrollment succeeded. */
+  fun onEnrollFirst(theToken: ByteArray?, theChallenge: Long?) {
+    if (theToken == null) {
+      launchFinishSettings("Error, empty token")
+      return
+    }
+    if (theChallenge == null) {
+      launchFinishSettings("Error, empty keyChallenge")
+      return
+    }
+    token = theToken
+    challenge = theChallenge
+
+    showSettingsHelper()
+  }
+
+  /**
+   * Indicates to the view model that a confirm device credential action has been completed with a
+   * [theGateKeeperPasswordHandle] which will be used for [FingerprintManager] operations such as
+   * [FingerprintManager.enroll].
+   */
+  suspend fun onConfirmDevice(wasSuccessful: Boolean, theGateKeeperPasswordHandle: Long?) {
+    if (!wasSuccessful) {
+      launchFinishSettings("ConfirmDeviceCredential was unsuccessful")
+      return
+    }
+    if (theGateKeeperPasswordHandle == null) {
+      launchFinishSettings("ConfirmDeviceCredential gatekeeper password was null")
+      return
+    }
+
+    launchEnrollNextStep(theGateKeeperPasswordHandle)
+  }
+
+  private fun showSettingsHelper() {
+    _nextStep.update { ShowSettings }
+  }
+
+  private suspend fun launchEnrollNextStep(gateKeeperPasswordHandle: Long?) {
+    fingerprintManagerInteractor.enrolledFingerprints.collect {
+      if (it.isEmpty()) {
+        _nextStep.update { EnrollFirstFingerprint(userId, gateKeeperPasswordHandle, null, null) }
+      } else {
+        viewModelScope.launch(backgroundDispatcher) {
+          val challengePair =
+            fingerprintManagerInteractor.generateChallenge(gateKeeperPasswordHandle!!)
+          challenge = challengePair.first
+          token = challengePair.second
+
+          showSettingsHelper()
+        }
+      }
+    }
+  }
+
+  private fun launchFinishSettings(reason: String) {
+    _nextStep.update { FinishSettings(reason) }
+  }
+
+  private fun launchFinishSettings(reason: String, errorCode: Int) {
+    _nextStep.update { FinishSettingsWithResult(errorCode, reason) }
+  }
+
+  class FingerprintSettingsNavigationModelFactory(
+    private val userId: Int,
+    private val interactor: FingerprintManagerInteractor,
+    private val backgroundDispatcher: CoroutineDispatcher,
+    private val token: ByteArray?,
+    private val challenge: Long?,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+
+      return FingerprintSettingsNavigationViewModel(
+        userId,
+        interactor,
+        backgroundDispatcher,
+        token,
+        challenge,
+      )
+        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
new file mode 100644
index 0000000..80bbb43
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/FingerprintSettingsViewModel.kt
@@ -0,0 +1,334 @@
+/*
+ * 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.ui.settings.viewmodel
+
+import android.hardware.fingerprint.FingerprintManager
+import android.util.Log
+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.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import kotlinx.coroutines.CoroutineDispatcher
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableSharedFlow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.combineTransform
+import kotlinx.coroutines.flow.distinctUntilChanged
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.sample
+import kotlinx.coroutines.flow.transform
+import kotlinx.coroutines.flow.transformLatest
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+
+private const val TAG = "FingerprintSettingsViewModel"
+private const val DEBUG = false
+
+/** 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,
+) : ViewModel() {
+  private val _enrolledFingerprints: MutableStateFlow<List<FingerprintData>?> =
+    MutableStateFlow(null)
+
+  /** Represents the stream of enrolled fingerprints. */
+  val enrolledFingerprints: Flow<List<FingerprintData>> =
+    _enrolledFingerprints.asStateFlow().filterNotNull().filterOnlyWhenSettingsIsShown()
+
+  /** 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(),
+        )
+      )
+    }
+
+  /** Represents the stream of visibility of sfps preference. */
+  val isSfpsPrefVisible: Flow<Boolean> =
+    _enrolledFingerprints.filterOnlyWhenSettingsIsShown().transform {
+      emit(fingerprintManagerInteractor.hasSideFps() && !it.isNullOrEmpty())
+    }
+
+  private val _isShowingDialog: MutableStateFlow<PreferenceViewModel?> = MutableStateFlow(null)
+  val isShowingDialog =
+    _isShowingDialog.combine(navigationViewModel.nextStep) { dialogFlow, nextStep ->
+      if (nextStep is ShowSettings) {
+        return@combine dialogFlow
+      } else {
+        return@combine null
+      }
+    }
+
+  private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
+
+  private val _fingerprintSensorType: Flow<FingerprintSensorType> =
+    fingerprintManagerInteractor.sensorPropertiesInternal.filterNotNull().map { it.sensorType }
+
+  private val _sensorNullOrEmpty: Flow<Boolean> =
+    fingerprintManagerInteractor.sensorPropertiesInternal.map { it == null }
+
+  private val _isLockedOut: MutableStateFlow<FingerprintAuthAttemptModel.Error?> =
+    MutableStateFlow(null)
+
+  private val _authSucceeded: MutableSharedFlow<FingerprintAuthAttemptModel.Success?> =
+    MutableSharedFlow()
+
+  private val _attemptsSoFar: MutableStateFlow<Int> = MutableStateFlow(0)
+  /**
+   * This is a very tricky flow. The current fingerprint manager APIs are not robust, and a proper
+   * implementation would take quite a lot of code to implement, it might be easier to rewrite
+   * FingerprintManager.
+   *
+   * The hack to note is the sample(400), if we call authentications in too close of proximity
+   * without waiting for a response, the fingerprint manager will send us the results of the
+   * previous attempt.
+   */
+  private val canAuthenticate: Flow<Boolean> =
+    combine(
+        _isShowingDialog,
+        navigationViewModel.nextStep,
+        _consumerShouldAuthenticate,
+        _enrolledFingerprints,
+        _isLockedOut,
+        _attemptsSoFar,
+        _fingerprintSensorType,
+        _sensorNullOrEmpty,
+      ) {
+        dialogShowing,
+        step,
+        resume,
+        fingerprints,
+        isLockedOut,
+        attempts,
+        sensorType,
+        sensorNullOrEmpty ->
+        if (DEBUG) {
+          Log.d(
+            TAG,
+            "canAuthenticate(isShowingDialog=${dialogShowing != null}," +
+              "nextStep=${step}," +
+              "resumed=${resume}," +
+              "fingerprints=${fingerprints}," +
+              "lockedOut=${isLockedOut}," +
+              "attempts=${attempts}," +
+              "sensorType=${sensorType}" +
+              "sensorNullOrEmpty=${sensorNullOrEmpty}",
+          )
+        }
+        if (sensorNullOrEmpty) {
+          return@combine false
+        }
+        if (
+          listOf(FingerprintSensorType.UDFPS_ULTRASONIC, FingerprintSensorType.UDFPS_OPTICAL)
+            .contains(sensorType)
+        ) {
+          return@combine false
+        }
+
+        if (step != null && step is ShowSettings) {
+          if (fingerprints?.isNotEmpty() == true) {
+            return@combine dialogShowing == null && isLockedOut == null && resume && attempts < 15
+          }
+        }
+        false
+      }
+      .sample(400)
+      .distinctUntilChanged()
+
+  /** Represents a consistent stream of authentication attempts. */
+  val authFlow: Flow<FingerprintAuthAttemptModel> =
+    canAuthenticate
+      .transformLatest {
+        try {
+          Log.d(TAG, "canAuthenticate $it")
+          while (it && navigationViewModel.nextStep.value is ShowSettings) {
+            Log.d(TAG, "canAuthenticate authing")
+            attemptingAuth()
+            when (val authAttempt = fingerprintManagerInteractor.authenticate()) {
+              is FingerprintAuthAttemptModel.Success -> {
+                onAuthSuccess(authAttempt)
+                emit(authAttempt)
+              }
+              is FingerprintAuthAttemptModel.Error -> {
+                if (authAttempt.error == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
+                  lockout(authAttempt)
+                  emit(authAttempt)
+                  return@transformLatest
+                }
+              }
+            }
+          }
+        } catch (exception: Exception) {
+          Log.d(TAG, "shouldAuthenticate exception $exception")
+        }
+      }
+      .flowOn(backgroundDispatcher)
+
+  init {
+    viewModelScope.launch {
+      navigationViewModel.nextStep.filterNotNull().collect {
+        _isShowingDialog.update { null }
+        if (it is ShowSettings) {
+          // reset state
+          updateEnrolledFingerprints()
+        }
+      }
+    }
+  }
+
+  /** The rename dialog has finished */
+  fun onRenameDialogFinished() {
+    _isShowingDialog.update { null }
+  }
+
+  /** The delete dialog has finished */
+  fun onDeleteDialogFinished() {
+    _isShowingDialog.update { null }
+  }
+
+  override fun toString(): String {
+    return "userId: $userId\n" + "enrolledFingerprints: ${_enrolledFingerprints.value}\n"
+  }
+
+  /** The fingerprint delete button has been clicked. */
+  fun onDeleteClicked(fingerprintViewModel: FingerprintData) {
+    viewModelScope.launch {
+      if (_isShowingDialog.value == null || navigationViewModel.nextStep.value != ShowSettings) {
+        _isShowingDialog.tryEmit(PreferenceViewModel.DeleteDialog(fingerprintViewModel))
+      } else {
+        Log.d(TAG, "Ignoring onDeleteClicked due to dialog showing ${_isShowingDialog.value}")
+      }
+    }
+  }
+
+  /** The rename fingerprint dialog has been clicked. */
+  fun onPrefClicked(fingerprintViewModel: FingerprintData) {
+    viewModelScope.launch {
+      if (_isShowingDialog.value == null || navigationViewModel.nextStep.value != ShowSettings) {
+        _isShowingDialog.tryEmit(PreferenceViewModel.RenameDialog(fingerprintViewModel))
+      } else {
+        Log.d(TAG, "Ignoring onPrefClicked due to dialog showing ${_isShowingDialog.value}")
+      }
+    }
+  }
+
+  /** A request to delete a fingerprint */
+  fun deleteFingerprint(fp: FingerprintData) {
+    viewModelScope.launch(backgroundDispatcher) {
+      if (fingerprintManagerInteractor.removeFingerprint(fp)) {
+        updateEnrolledFingerprints()
+      }
+    }
+  }
+
+  /** A request to rename a fingerprint */
+  fun renameFingerprint(fp: FingerprintData, newName: String) {
+    viewModelScope.launch {
+      fingerprintManagerInteractor.renameFingerprint(fp, newName)
+      updateEnrolledFingerprints()
+    }
+  }
+
+  private fun attemptingAuth() {
+    _attemptsSoFar.update { it + 1 }
+  }
+
+  private suspend fun onAuthSuccess(success: FingerprintAuthAttemptModel.Success) {
+    _authSucceeded.emit(success)
+    _attemptsSoFar.update { 0 }
+  }
+
+  private fun lockout(attemptViewModel: FingerprintAuthAttemptModel.Error) {
+    _isLockedOut.update { attemptViewModel }
+  }
+
+  private suspend fun updateEnrolledFingerprints() {
+    _enrolledFingerprints.update { fingerprintManagerInteractor.enrolledFingerprints.first() }
+  }
+
+  /** Used to indicate whether the consumer of the view model is ready for authentication. */
+  fun shouldAuthenticate(authenticate: Boolean) {
+    _consumerShouldAuthenticate.update { authenticate }
+  }
+
+  private fun <T> Flow<T>.filterOnlyWhenSettingsIsShown() =
+    combineTransform(navigationViewModel.nextStep) { value, currStep ->
+      if (currStep != null && currStep is ShowSettings) {
+        emit(value)
+      }
+    }
+
+  class FingerprintSettingsViewModelFactory(
+    private val userId: Int,
+    private val interactor: FingerprintManagerInteractor,
+    private val backgroundDispatcher: CoroutineDispatcher,
+    private val navigationViewModel: FingerprintSettingsNavigationViewModel,
+  ) : ViewModelProvider.Factory {
+
+    @Suppress("UNCHECKED_CAST")
+    override fun <T : ViewModel> create(modelClass: Class<T>): T {
+
+      return FingerprintSettingsViewModel(
+        userId,
+        interactor,
+        backgroundDispatcher,
+        navigationViewModel,
+      )
+        as T
+    }
+  }
+}
+
+private inline fun <T1, T2, T3, T4, T5, T6, T7, T8, R> combine(
+  flow: Flow<T1>,
+  flow2: Flow<T2>,
+  flow3: Flow<T3>,
+  flow4: Flow<T4>,
+  flow5: Flow<T5>,
+  flow6: Flow<T6>,
+  flow7: Flow<T7>,
+  flow8: Flow<T8>,
+  crossinline transform: suspend (T1, T2, T3, T4, T5, T6, T7, T8) -> R,
+): Flow<R> {
+  return combine(flow, flow2, flow3, flow4, flow5, flow6, flow7, flow8) { args: Array<*> ->
+    @Suppress("UNCHECKED_CAST")
+    transform(
+      args[0] as T1,
+      args[1] as T2,
+      args[2] as T3,
+      args[3] as T4,
+      args[4] as T5,
+      args[5] as T6,
+      args[6] as T7,
+      args[7] as T8,
+    )
+  }
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.kt
new file mode 100644
index 0000000..3acedb1
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/NextStepViewModel.kt
@@ -0,0 +1,43 @@
+/*
+ * 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.ui.settings.viewmodel
+
+/**
+ * A class to represent a high level step for FingerprintSettings. This is typically to perform an
+ * action like launching an activity.
+ */
+sealed class NextStepViewModel
+
+data class EnrollFirstFingerprint(
+  val userId: Int,
+  val gateKeeperPasswordHandle: Long?,
+  val challenge: Long?,
+  val challengeToken: ByteArray?,
+) : NextStepViewModel()
+
+data class EnrollAdditionalFingerprint(val userId: Int, val challengeToken: ByteArray?) :
+  NextStepViewModel()
+
+data class FinishSettings(val reason: String) : NextStepViewModel()
+
+data class FinishSettingsWithResult(val result: Int, val reason: String) : NextStepViewModel()
+
+object ShowSettings : NextStepViewModel()
+
+object LaunchedActivity : NextStepViewModel()
+
+data class LaunchConfirmDeviceCredential(val userId: Int) : NextStepViewModel()
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt
new file mode 100644
index 0000000..2a1d9c6
--- /dev/null
+++ b/src/com/android/settings/biometrics/fingerprint2/ui/settings/viewmodel/PreferenceViewModel.kt
@@ -0,0 +1,26 @@
+/*
+ * 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.ui.settings.viewmodel
+
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+
+/** Classed use to represent a Dialogs state. */
+sealed class PreferenceViewModel {
+  data class RenameDialog(val fingerprintViewModel: FingerprintData) : PreferenceViewModel()
+
+  data class DeleteDialog(val fingerprintViewModel: FingerprintData) : PreferenceViewModel()
+}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt
deleted file mode 100644
index a3a5d3c..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsNavigationViewModel.kt
+++ /dev/null
@@ -1,189 +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.ui.viewmodel
-
-import android.hardware.fingerprint.FingerprintManager
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.viewModelScope
-import com.android.settings.biometrics.BiometricEnrollBase
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.StateFlow
-import kotlinx.coroutines.flow.asStateFlow
-import kotlinx.coroutines.flow.update
-import kotlinx.coroutines.launch
-
-/** 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?,
-) : ViewModel() {
-
-  private var token = tokenInit
-  private var challenge = challengeInit
-
-  private val _nextStep: MutableStateFlow<NextStepViewModel?> = MutableStateFlow(null)
-  /** This flow represents the high level state for the FingerprintSettingsV2Fragment. */
-  val nextStep: StateFlow<NextStepViewModel?> = _nextStep.asStateFlow()
-
-  init {
-    if (challengeInit == null || tokenInit == null) {
-      _nextStep.update { LaunchConfirmDeviceCredential(userId) }
-    } else {
-      viewModelScope.launch { showSettingsHelper() }
-    }
-  }
-
-  /** Used to indicate that FingerprintSettings is complete. */
-  fun finish() {
-    _nextStep.update { null }
-  }
-
-  /** Used to finish settings in certain cases. */
-  fun maybeFinishActivity(changingConfig: Boolean) {
-    val isConfirmingOrEnrolling =
-      _nextStep.value is LaunchConfirmDeviceCredential ||
-        _nextStep.value is EnrollAdditionalFingerprint ||
-        _nextStep.value is EnrollFirstFingerprint ||
-        _nextStep.value is LaunchedActivity
-    if (!isConfirmingOrEnrolling && !changingConfig)
-      _nextStep.update {
-        FinishSettingsWithResult(BiometricEnrollBase.RESULT_TIMEOUT, "onStop finishing settings")
-      }
-  }
-
-  /** Used to indicate that we have launched another activity and we should await its result. */
-  fun setStepToLaunched() {
-    _nextStep.update { LaunchedActivity }
-  }
-
-  /** Indicates a successful enroll has occurred */
-  fun onEnrollSuccess() {
-    showSettingsHelper()
-  }
-
-  /** Add fingerprint clicked */
-  fun onAddFingerprintClicked() {
-    _nextStep.update { EnrollAdditionalFingerprint(userId, token) }
-  }
-
-  /** Enrolling of an additional fingerprint failed */
-  fun onEnrollAdditionalFailure() {
-    launchFinishSettings("Failed to enroll additional fingerprint")
-  }
-
-  /** The first fingerprint enrollment failed */
-  fun onEnrollFirstFailure(reason: String) {
-    launchFinishSettings(reason)
-  }
-
-  /** The first fingerprint enrollment failed with a result code */
-  fun onEnrollFirstFailure(reason: String, resultCode: Int) {
-    launchFinishSettings(reason, resultCode)
-  }
-
-  /** Notifies that a users first enrollment succeeded. */
-  fun onEnrollFirst(theToken: ByteArray?, theChallenge: Long?) {
-    if (theToken == null) {
-      launchFinishSettings("Error, empty token")
-      return
-    }
-    if (theChallenge == null) {
-      launchFinishSettings("Error, empty keyChallenge")
-      return
-    }
-    token = theToken!!
-    challenge = theChallenge!!
-
-    showSettingsHelper()
-  }
-
-  /**
-   * Indicates to the view model that a confirm device credential action has been completed with a
-   * [theGateKeeperPasswordHandle] which will be used for [FingerprintManager] operations such as
-   * [FingerprintManager.enroll].
-   */
-  suspend fun onConfirmDevice(wasSuccessful: Boolean, theGateKeeperPasswordHandle: Long?) {
-    if (!wasSuccessful) {
-      launchFinishSettings("ConfirmDeviceCredential was unsuccessful")
-      return
-    }
-    if (theGateKeeperPasswordHandle == null) {
-      launchFinishSettings("ConfirmDeviceCredential gatekeeper password was null")
-      return
-    }
-
-    launchEnrollNextStep(theGateKeeperPasswordHandle)
-  }
-
-  private fun showSettingsHelper() {
-    _nextStep.update { ShowSettings }
-  }
-
-  private suspend fun launchEnrollNextStep(gateKeeperPasswordHandle: Long?) {
-    fingerprintManagerInteractor.enrolledFingerprints.collect {
-      if (it.isEmpty()) {
-        _nextStep.update { EnrollFirstFingerprint(userId, gateKeeperPasswordHandle, null, null) }
-      } else {
-        viewModelScope.launch(backgroundDispatcher) {
-          val challengePair =
-            fingerprintManagerInteractor.generateChallenge(gateKeeperPasswordHandle!!)
-          challenge = challengePair.first
-          token = challengePair.second
-
-          showSettingsHelper()
-        }
-      }
-    }
-  }
-
-  private fun launchFinishSettings(reason: String) {
-    _nextStep.update { FinishSettings(reason) }
-  }
-
-  private fun launchFinishSettings(reason: String, errorCode: Int) {
-    _nextStep.update { FinishSettingsWithResult(errorCode, reason) }
-  }
-  class FingerprintSettingsNavigationModelFactory(
-    private val userId: Int,
-    private val interactor: FingerprintManagerInteractor,
-    private val backgroundDispatcher: CoroutineDispatcher,
-    private val token: ByteArray?,
-    private val challenge: Long?,
-  ) : ViewModelProvider.Factory {
-
-    @Suppress("UNCHECKED_CAST")
-    override fun <T : ViewModel> create(
-      modelClass: Class<T>,
-    ): T {
-
-      return FingerprintSettingsNavigationViewModel(
-        userId,
-        interactor,
-        backgroundDispatcher,
-        token,
-        challenge,
-      )
-        as T
-    }
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt
deleted file mode 100644
index 554f336..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintSettingsViewModel.kt
+++ /dev/null
@@ -1,324 +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.ui.viewmodel
-
-import android.hardware.fingerprint.FingerprintManager
-import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL
-import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
-import android.util.Log
-import androidx.lifecycle.ViewModel
-import androidx.lifecycle.ViewModelProvider
-import androidx.lifecycle.viewModelScope
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
-import kotlinx.coroutines.CoroutineDispatcher
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.MutableSharedFlow
-import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.combineTransform
-import kotlinx.coroutines.flow.distinctUntilChanged
-import kotlinx.coroutines.flow.filterNotNull
-import kotlinx.coroutines.flow.flowOn
-import kotlinx.coroutines.flow.last
-import kotlinx.coroutines.flow.sample
-import kotlinx.coroutines.flow.transformLatest
-import kotlinx.coroutines.flow.update
-import kotlinx.coroutines.launch
-
-private const val TAG = "FingerprintSettingsViewModel"
-private const val DEBUG = false
-
-/** 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,
-) : ViewModel() {
-
-  private val _consumerShouldAuthenticate: MutableStateFlow<Boolean> = MutableStateFlow(false)
-
-  private val fingerprintSensorPropertiesInternal:
-    MutableStateFlow<List<FingerprintSensorPropertiesInternal>?> =
-    MutableStateFlow(null)
-
-  private val _isShowingDialog: MutableStateFlow<PreferenceViewModel?> = MutableStateFlow(null)
-  val isShowingDialog =
-    _isShowingDialog.combine(navigationViewModel.nextStep) { dialogFlow, nextStep ->
-      if (nextStep is ShowSettings) {
-        return@combine dialogFlow
-      } else {
-        return@combine null
-      }
-    }
-
-  init {
-    viewModelScope.launch {
-      fingerprintSensorPropertiesInternal.update {
-        fingerprintManagerInteractor.sensorPropertiesInternal()
-      }
-    }
-
-    viewModelScope.launch {
-      navigationViewModel.nextStep.filterNotNull().collect {
-        _isShowingDialog.update { null }
-        if (it is ShowSettings) {
-          // reset state
-          updateSettingsData()
-        }
-      }
-    }
-  }
-
-  private val _fingerprintStateViewModel: MutableStateFlow<FingerprintStateViewModel?> =
-    MutableStateFlow(null)
-  val fingerprintState: Flow<FingerprintStateViewModel?> =
-    _fingerprintStateViewModel.combineTransform(navigationViewModel.nextStep) {
-      settingsShowingViewModel,
-      currStep ->
-      if (currStep != null && currStep is ShowSettings) {
-        emit(settingsShowingViewModel)
-      }
-    }
-
-  private val _isLockedOut: MutableStateFlow<FingerprintAuthAttemptViewModel.Error?> =
-    MutableStateFlow(null)
-
-  private val _authSucceeded: MutableSharedFlow<FingerprintAuthAttemptViewModel.Success?> =
-    MutableSharedFlow()
-
-  private val attemptsSoFar: MutableStateFlow<Int> = MutableStateFlow(0)
-
-  /**
-   * This is a very tricky flow. The current fingerprint manager APIs are not robust, and a proper
-   * implementation would take quite a lot of code to implement, it might be easier to rewrite
-   * FingerprintManager.
-   *
-   * The hack to note is the sample(400), if we call authentications in too close of proximity
-   * without waiting for a response, the fingerprint manager will send us the results of the
-   * previous attempt.
-   */
-  private val canAuthenticate: Flow<Boolean> =
-    combine(
-        _isShowingDialog,
-        navigationViewModel.nextStep,
-        _consumerShouldAuthenticate,
-        _fingerprintStateViewModel,
-        _isLockedOut,
-        attemptsSoFar,
-        fingerprintSensorPropertiesInternal
-      ) { dialogShowing, step, resume, fingerprints, isLockedOut, attempts, sensorProps ->
-        if (DEBUG) {
-          Log.d(
-            TAG,
-            "canAuthenticate(isShowingDialog=${dialogShowing != null}," +
-              "nextStep=${step}," +
-              "resumed=${resume}," +
-              "fingerprints=${fingerprints}," +
-              "lockedOut=${isLockedOut}," +
-              "attempts=${attempts}," +
-              "sensorProps=${sensorProps}"
-          )
-        }
-        if (sensorProps.isNullOrEmpty()) {
-          return@combine false
-        }
-        val sensorType = sensorProps[0].sensorType
-        if (listOf(TYPE_UDFPS_OPTICAL, TYPE_UDFPS_ULTRASONIC).contains(sensorType)) {
-          return@combine false
-        }
-
-        if (step != null && step is ShowSettings) {
-          if (fingerprints?.fingerprintViewModels?.isNotEmpty() == true) {
-            return@combine dialogShowing == null && isLockedOut == null && resume && attempts < 15
-          }
-        }
-        false
-      }
-      .sample(400)
-      .distinctUntilChanged()
-
-  /** Represents a consistent stream of authentication attempts. */
-  val authFlow: Flow<FingerprintAuthAttemptViewModel> =
-    canAuthenticate
-      .transformLatest {
-        try {
-          Log.d(TAG, "canAuthenticate $it")
-          while (it && navigationViewModel.nextStep.value is ShowSettings) {
-            Log.d(TAG, "canAuthenticate authing")
-            attemptingAuth()
-            when (val authAttempt = fingerprintManagerInteractor.authenticate()) {
-              is FingerprintAuthAttemptViewModel.Success -> {
-                onAuthSuccess(authAttempt)
-                emit(authAttempt)
-              }
-              is FingerprintAuthAttemptViewModel.Error -> {
-                if (authAttempt.error == FingerprintManager.FINGERPRINT_ERROR_LOCKOUT) {
-                  lockout(authAttempt)
-                  emit(authAttempt)
-                  return@transformLatest
-                }
-              }
-            }
-          }
-        } catch (exception: Exception) {
-          Log.d(TAG, "shouldAuthenticate exception $exception")
-        }
-      }
-      .flowOn(backgroundDispatcher)
-
-  /** The rename dialog has finished */
-  fun onRenameDialogFinished() {
-    _isShowingDialog.update { null }
-  }
-
-  /** The delete dialog has finished */
-  fun onDeleteDialogFinished() {
-    _isShowingDialog.update { null }
-  }
-
-  override fun toString(): String {
-    return "userId: $userId\n" + "fingerprintState: ${_fingerprintStateViewModel.value}\n"
-  }
-
-  /** The fingerprint delete button has been clicked. */
-  fun onDeleteClicked(fingerprintViewModel: FingerprintViewModel) {
-    viewModelScope.launch {
-      if (_isShowingDialog.value == null || navigationViewModel.nextStep.value != ShowSettings) {
-        _isShowingDialog.tryEmit(PreferenceViewModel.DeleteDialog(fingerprintViewModel))
-      } else {
-        Log.d(TAG, "Ignoring onDeleteClicked due to dialog showing ${_isShowingDialog.value}")
-      }
-    }
-  }
-
-  /** The rename fingerprint dialog has been clicked. */
-  fun onPrefClicked(fingerprintViewModel: FingerprintViewModel) {
-    viewModelScope.launch {
-      if (_isShowingDialog.value == null || navigationViewModel.nextStep.value != ShowSettings) {
-        _isShowingDialog.tryEmit(PreferenceViewModel.RenameDialog(fingerprintViewModel))
-      } else {
-        Log.d(TAG, "Ignoring onPrefClicked due to dialog showing ${_isShowingDialog.value}")
-      }
-    }
-  }
-
-  /** A request to delete a fingerprint */
-  fun deleteFingerprint(fp: FingerprintViewModel) {
-    viewModelScope.launch(backgroundDispatcher) {
-      if (fingerprintManagerInteractor.removeFingerprint(fp)) {
-        updateSettingsData()
-      }
-    }
-  }
-
-  /** A request to rename a fingerprint */
-  fun renameFingerprint(fp: FingerprintViewModel, newName: String) {
-    viewModelScope.launch {
-      fingerprintManagerInteractor.renameFingerprint(fp, newName)
-      updateSettingsData()
-    }
-  }
-
-  private fun attemptingAuth() {
-    attemptsSoFar.update { it + 1 }
-  }
-
-  private suspend fun onAuthSuccess(success: FingerprintAuthAttemptViewModel.Success) {
-    _authSucceeded.emit(success)
-    attemptsSoFar.update { 0 }
-  }
-
-  private fun lockout(attemptViewModel: FingerprintAuthAttemptViewModel.Error) {
-    _isLockedOut.update { attemptViewModel }
-  }
-
-  /**
-   * This function is sort of a hack, it's used whenever we want to check for fingerprint state
-   * updates.
-   */
-  private suspend fun updateSettingsData() {
-    Log.d(TAG, "update settings data called")
-    val fingerprints = fingerprintManagerInteractor.enrolledFingerprints.last()
-    val canEnrollFingerprint =
-      fingerprintManagerInteractor.canEnrollFingerprints(fingerprints.size).last()
-    val maxFingerprints = fingerprintManagerInteractor.maxEnrollableFingerprints.last()
-    val hasSideFps = fingerprintManagerInteractor.hasSideFps()
-    val pressToAuthEnabled = fingerprintManagerInteractor.pressToAuthEnabled()
-    _fingerprintStateViewModel.update {
-      FingerprintStateViewModel(
-        fingerprints,
-        canEnrollFingerprint,
-        maxFingerprints,
-        hasSideFps,
-        pressToAuthEnabled
-      )
-    }
-  }
-
-  /** Used to indicate whether the consumer of the view model is ready for authentication. */
-  fun shouldAuthenticate(authenticate: Boolean) {
-    _consumerShouldAuthenticate.update { authenticate }
-  }
-
-  class FingerprintSettingsViewModelFactory(
-    private val userId: Int,
-    private val interactor: FingerprintManagerInteractor,
-    private val backgroundDispatcher: CoroutineDispatcher,
-    private val navigationViewModel: FingerprintSettingsNavigationViewModel,
-  ) : ViewModelProvider.Factory {
-
-    @Suppress("UNCHECKED_CAST")
-    override fun <T : ViewModel> create(
-      modelClass: Class<T>,
-    ): T {
-
-      return FingerprintSettingsViewModel(
-        userId,
-        interactor,
-        backgroundDispatcher,
-        navigationViewModel,
-      )
-        as T
-    }
-  }
-}
-
-private inline fun <T1, T2, T3, T4, T5, T6, T7, R> combine(
-  flow: Flow<T1>,
-  flow2: Flow<T2>,
-  flow3: Flow<T3>,
-  flow4: Flow<T4>,
-  flow5: Flow<T5>,
-  flow6: Flow<T6>,
-  flow7: Flow<T7>,
-  crossinline transform: suspend (T1, T2, T3, T4, T5, T6, T7) -> R
-): Flow<R> {
-  return combine(flow, flow2, flow3, flow4, flow5, flow6, flow7) { args: Array<*> ->
-    @Suppress("UNCHECKED_CAST")
-    transform(
-      args[0] as T1,
-      args[1] as T2,
-      args[2] as T3,
-      args[3] as T4,
-      args[4] as T5,
-      args[5] as T6,
-      args[6] as T7,
-    )
-  }
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.kt
deleted file mode 100644
index 1df0e34..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/FingerprintViewModel.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.biometrics.fingerprint2.ui.viewmodel
-
-/** Represents the fingerprint data nad the relevant state. */
-data class FingerprintStateViewModel(
-  val fingerprintViewModels: List<FingerprintViewModel>,
-  val canEnroll: Boolean,
-  val maxFingerprints: Int,
-  val hasSideFps: Boolean,
-  val pressToAuth: Boolean,
-)
-
-data class FingerprintViewModel(
-  val name: String,
-  val fingerId: Int,
-  val deviceId: Long,
-)
-
-sealed class FingerprintAuthAttemptViewModel {
-  data class Success(
-    val fingerId: Int,
-  ) : FingerprintAuthAttemptViewModel()
-
-  data class Error(
-    val error: Int,
-    val message: String,
-  ) : FingerprintAuthAttemptViewModel()
-}
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt
deleted file mode 100644
index f9dbbff..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/NextStepViewModel.kt
+++ /dev/null
@@ -1,45 +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.ui.viewmodel
-
-/**
- * A class to represent a high level step for FingerprintSettings. This is typically to perform an
- * action like launching an activity.
- */
-sealed class NextStepViewModel
-
-data class EnrollFirstFingerprint(
-  val userId: Int,
-  val gateKeeperPasswordHandle: Long?,
-  val challenge: Long?,
-  val challengeToken: ByteArray?,
-) : NextStepViewModel()
-
-data class EnrollAdditionalFingerprint(
-  val userId: Int,
-  val challengeToken: ByteArray?,
-) : NextStepViewModel()
-
-data class FinishSettings(val reason: String) : NextStepViewModel()
-
-data class FinishSettingsWithResult(val result: Int, val reason: String) : NextStepViewModel()
-
-object ShowSettings : NextStepViewModel()
-
-object LaunchedActivity : NextStepViewModel()
-
-data class LaunchConfirmDeviceCredential(val userId: Int) : NextStepViewModel()
diff --git a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt b/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt
deleted file mode 100644
index 05764a2..0000000
--- a/src/com/android/settings/biometrics/fingerprint2/ui/viewmodel/PreferenceViewModel.kt
+++ /dev/null
@@ -1,28 +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.ui.viewmodel
-
-/** Classed use to represent a Dialogs state. */
-sealed class PreferenceViewModel {
-  data class RenameDialog(
-    val fingerprintViewModel: FingerprintViewModel,
-  ) : PreferenceViewModel()
-
-  data class DeleteDialog(
-    val fingerprintViewModel: FingerprintViewModel,
-  ) : PreferenceViewModel()
-}
diff --git a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
index dd5b673..516f471 100644
--- a/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
+++ b/src/com/android/settings/biometrics2/factory/BiometricsViewModelFactory.java
@@ -28,12 +28,14 @@
 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;
@@ -47,14 +49,14 @@
  */
 public class BiometricsViewModelFactory implements ViewModelProvider.Factory {
 
-    private static final String TAG = "BiometricsViewModelFact";
+    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<Integer> USER_ID_KEY =
-            new CreationExtras.Key<Integer>() {};
+    public static final CreationExtras.Key<CredentialModel> CREDENTIAL_MODEL_KEY =
+            new CreationExtras.Key<CredentialModel>() {};
 
     @NonNull
     @Override
@@ -67,17 +69,18 @@
             Log.w(TAG, "create, null application");
             return create(modelClass);
         }
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(application);
-        final BiometricsRepositoryProvider provider = FeatureFactory.getFactory(application)
-                .getBiometricsRepositoryProvider();
+        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);
-            if (challengeGenerator != null) {
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
+            if (challengeGenerator != null && credentialModel != null) {
                 return (T) new AutoCredentialViewModel(application, lockPatternUtils,
-                        challengeGenerator);
+                        challengeGenerator, credentialModel);
             }
         } else if (modelClass.isAssignableFrom(DeviceFoldedViewModel.class)) {
             return (T) new DeviceFoldedViewModel(new ScreenSizeFoldProvider(application),
@@ -92,10 +95,10 @@
         } else if (modelClass.isAssignableFrom(FingerprintEnrollIntroViewModel.class)) {
             final FingerprintRepository repository = provider.getFingerprintRepository(application);
             final EnrollmentRequest request = extras.get(ENROLLMENT_REQUEST_KEY);
-            final Integer userId = extras.get(USER_ID_KEY);
-            if (repository != null && request != null && userId != null) {
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
+            if (repository != null && request != null && credentialModel != null) {
                 return (T) new FingerprintEnrollIntroViewModel(application, repository, request,
-                        userId);
+                        credentialModel.getUserId());
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollmentViewModel.class)) {
             final FingerprintRepository repository = provider.getFingerprintRepository(application);
@@ -104,27 +107,32 @@
                 return (T) new FingerprintEnrollmentViewModel(application, repository, request);
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollProgressViewModel.class)) {
-            final Integer userId = extras.get(USER_ID_KEY);
-            if (userId != null) {
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
+            if (credentialModel != null) {
                 return (T) new FingerprintEnrollProgressViewModel(application,
-                        new FingerprintUpdater(application), userId);
+                        new FingerprintUpdater(application), credentialModel.getUserId());
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollEnrollingViewModel.class)) {
-            final Integer userId = extras.get(USER_ID_KEY);
+            final CredentialModel credentialModel = extras.get(CREDENTIAL_MODEL_KEY);
             final FingerprintRepository fingerprint = provider.getFingerprintRepository(
                     application);
-            if (fingerprint != null) {
-                return (T) new FingerprintEnrollEnrollingViewModel(application, userId,
-                        fingerprint);
+            if (fingerprint != null && credentialModel != null) {
+                return (T) new FingerprintEnrollEnrollingViewModel(application,
+                        credentialModel.getUserId(), fingerprint);
             }
         } else if (modelClass.isAssignableFrom(FingerprintEnrollFinishViewModel.class)) {
-            final Integer userId = extras.get(USER_ID_KEY);
+            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 && userId != null) {
-                return (T) new FingerprintEnrollFinishViewModel(application, userId, request,
-                        fingerprint);
+            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.java b/src/com/android/settings/biometrics2/ui/model/CredentialModel.java
deleted file mode 100644
index caff80a..0000000
--- a/src/com/android/settings/biometrics2/ui/model/CredentialModel.java
+++ /dev/null
@@ -1,197 +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.model;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
-
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.UserHandle;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-
-import java.time.Clock;
-
-/**
- * Secret credential data including
- * 1. userId
- * 2. challenge
- * 3. token
- * 4. gkPwHandle
- */
-public final class CredentialModel {
-
-    /**
-     * Default value for an invalid challenge
-     */
-    @VisibleForTesting
-    public static final long INVALID_CHALLENGE = -1L;
-
-    /**
-     * Default value if GkPwHandle is invalid.
-     */
-    @VisibleForTesting
-    public static final long INVALID_GK_PW_HANDLE = 0L;
-
-    private final Clock mClock;
-
-    private final long mInitMillis;
-
-    private final int mUserId;
-
-    private long mChallenge;
-    @Nullable
-    private Long mUpdateChallengeMillis = null;
-
-    @Nullable
-    private byte[] mToken;
-    @Nullable
-    private Long mUpdateTokenMillis = null;
-
-    private long mGkPwHandle;
-    @Nullable
-    private Long mClearGkPwHandleMillis = null;
-
-    public CredentialModel(@Nullable Bundle bundle, @NonNull Clock clock) {
-        if (bundle == null) {
-            bundle = new Bundle();
-        }
-        mUserId = bundle.getInt(Intent.EXTRA_USER_ID, UserHandle.myUserId());
-        mChallenge = bundle.getLong(EXTRA_KEY_CHALLENGE, INVALID_CHALLENGE);
-        mToken = bundle.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        mGkPwHandle = bundle.getLong(EXTRA_KEY_GK_PW_HANDLE, INVALID_GK_PW_HANDLE);
-        mClock = clock;
-        mInitMillis = mClock.millis();
-    }
-
-    /**
-     * Get a bundle which can be used to recreate CredentialModel
-     */
-    @NonNull
-    public Bundle getBundle() {
-        final Bundle bundle = new Bundle();
-        bundle.putInt(Intent.EXTRA_USER_ID, mUserId);
-        bundle.putLong(EXTRA_KEY_CHALLENGE, mChallenge);
-        bundle.putByteArray(EXTRA_KEY_CHALLENGE_TOKEN, mToken);
-        bundle.putLong(EXTRA_KEY_GK_PW_HANDLE, mGkPwHandle);
-        return bundle;
-    }
-
-    /**
-     * Get userId for this credential
-     */
-    public int getUserId() {
-        return mUserId;
-    }
-
-    /**
-     * Check user id is valid or not
-     */
-    public boolean isValidUserId() {
-        return mUserId != UserHandle.USER_NULL;
-    }
-
-    /**
-     * Get challenge
-     */
-    public long getChallenge() {
-        return mChallenge;
-    }
-
-    /**
-     * Set challenge
-     */
-    public void setChallenge(long value) {
-        mUpdateChallengeMillis = mClock.millis();
-        mChallenge = value;
-    }
-
-    /**
-     * Check challenge is valid or not
-     */
-    public boolean isValidChallenge() {
-        return mChallenge != INVALID_CHALLENGE;
-    }
-
-    /**
-     * Get challenge token
-     */
-    @Nullable
-    public byte[] getToken() {
-        return mToken;
-    }
-
-    /**
-     * Set challenge token
-     */
-    public void setToken(@Nullable byte[] value) {
-        mUpdateTokenMillis = mClock.millis();
-        mToken = value;
-    }
-
-    /**
-     * Check challengeToken is valid or not
-     */
-    public boolean isValidToken() {
-        return mToken != null;
-    }
-
-    /**
-     * Get gatekeeper password handle
-     */
-    public long getGkPwHandle() {
-        return mGkPwHandle;
-    }
-
-    /**
-     * Clear gatekeeper password handle data
-     */
-    public void clearGkPwHandle() {
-        mClearGkPwHandleMillis = mClock.millis();
-        mGkPwHandle = INVALID_GK_PW_HANDLE;
-    }
-
-    /**
-     * Check gkPwHandle is valid or not
-     */
-    public boolean isValidGkPwHandle() {
-        return mGkPwHandle != INVALID_GK_PW_HANDLE;
-    }
-
-    /**
-     * Returns a string representation of the object
-     */
-    @Override
-    public String toString() {
-        final int gkPwHandleLen = ("" + mGkPwHandle).length();
-        final int tokenLen = mToken == null ? 0 : mToken.length;
-        final int challengeLen = ("" + mChallenge).length();
-        return getClass().getSimpleName() + ":{initMillis:" + mInitMillis
-                + ", userId:" + mUserId
-                + ", challenge:{len:" + challengeLen
-                + ", updateMillis:" + mUpdateChallengeMillis + "}"
-                + ", token:{len:" + tokenLen + ", isValid:" + isValidToken()
-                + ", updateMillis:" + mUpdateTokenMillis + "}"
-                + ", gkPwHandle:{len:" + gkPwHandleLen + ", isValid:" + isValidGkPwHandle()
-                + ", clearMillis:" + mClearGkPwHandleMillis + "}"
-                + " }";
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt b/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
new file mode 100644
index 0000000..5350733
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/model/CredentialModel.kt
@@ -0,0 +1,108 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.java
deleted file mode 100644
index c62d670..0000000
--- a/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.java
+++ /dev/null
@@ -1,52 +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.model;
-
-/**
- * Biometric Enrollment progress
- */
-public final class EnrollmentProgress {
-
-    public static final int INITIAL_STEPS = -1;
-    public static final int INITIAL_REMAINING = 0;
-
-    private final int mSteps;
-    private final int mRemaining;
-
-    public EnrollmentProgress(int steps, int remaining) {
-        mSteps = steps;
-        mRemaining = remaining;
-    }
-
-    public int getSteps() {
-        return mSteps;
-    }
-
-    public int getRemaining() {
-        return mRemaining;
-    }
-
-    public boolean isInitialStep() {
-        return mSteps == INITIAL_STEPS;
-    }
-
-    @Override
-    public String toString() {
-        return getClass().getSimpleName() + "@" + Integer.toHexString(hashCode())
-                + "{steps:" + mSteps + ", remaining:" + mRemaining + "}";
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.kt b/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.kt
new file mode 100644
index 0000000..7b35a68
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/model/EnrollmentProgress.kt
@@ -0,0 +1,33 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.java
deleted file mode 100644
index 4849b5e..0000000
--- a/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.java
+++ /dev/null
@@ -1,116 +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.model;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY;
-
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-
-import com.android.settings.SetupWizardUtils;
-import com.android.settings.biometrics.BiometricEnrollActivity;
-
-import com.google.android.setupcompat.util.WizardManagerHelper;
-
-/**
- * Biometric enrollment generic intent data, which includes
- * 1. isSuw
- * 2. isAfterSuwOrSuwSuggestedAction
- * 3. theme
- * 4. isFromSettingsSummery
- * 5. isSkipIntro
- * 6. isSkipFindSensor
- * 7. a helper method, getSetupWizardExtras
- */
-public final class EnrollmentRequest {
-
-    public static final String EXTRA_SKIP_FIND_SENSOR = "skip_find_sensor";
-
-    private final boolean mIsSuw;
-    private final boolean mIsAfterSuwOrSuwSuggestedAction;
-    private final boolean mIsFromSettingsSummery;
-    private final boolean mIsSkipIntro;
-    private final boolean mIsSkipFindSensor;
-    private final int mTheme;
-    private final Bundle mSuwExtras;
-
-    public EnrollmentRequest(@NonNull Intent intent, @NonNull Context context) {
-        mIsSuw = WizardManagerHelper.isAnySetupWizard(intent);
-        mIsAfterSuwOrSuwSuggestedAction = WizardManagerHelper.isDeferredSetupWizard(intent)
-                || WizardManagerHelper.isPortalSetupWizard(intent)
-                || intent.getBooleanExtra(EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, false);
-        mSuwExtras = getSuwExtras(mIsSuw, intent);
-        mIsFromSettingsSummery = intent.getBooleanExtra(EXTRA_FROM_SETTINGS_SUMMARY, false);
-        mIsSkipIntro = intent.getBooleanExtra(BiometricEnrollActivity.EXTRA_SKIP_INTRO, false);
-        mIsSkipFindSensor = intent.getBooleanExtra(EXTRA_SKIP_FIND_SENSOR, false);
-        mTheme = SetupWizardUtils.getTheme(context, intent);
-    }
-
-    public boolean isSuw() {
-        return mIsSuw;
-    }
-
-    public boolean isAfterSuwOrSuwSuggestedAction() {
-        return mIsAfterSuwOrSuwSuggestedAction;
-    }
-
-    public boolean isFromSettingsSummery() {
-        return mIsFromSettingsSummery;
-    }
-
-    public boolean isSkipIntro() {
-        return mIsSkipIntro;
-    }
-
-    public boolean isSkipFindSensor() {
-        return mIsSkipFindSensor;
-    }
-
-    public int getTheme() {
-        return mTheme;
-    }
-
-    @NonNull
-    public Bundle getSuwExtras() {
-        return new Bundle(mSuwExtras);
-    }
-
-    /**
-     * Returns a string representation of the object
-     */
-    @Override
-    public String toString() {
-        return getClass().getSimpleName() + ":{isSuw:" + mIsSuw
-                + ", isAfterSuwOrSuwSuggestedAction:" + mIsAfterSuwOrSuwSuggestedAction
-                + ", isFromSettingsSummery:" + mIsFromSettingsSummery
-                + "}";
-    }
-
-    @NonNull
-    private static Bundle getSuwExtras(boolean isSuw, @NonNull Intent intent) {
-        final Intent toIntent = new Intent();
-        if (isSuw) {
-            SetupWizardUtils.copySetupExtras(intent, toIntent);
-        }
-        return toIntent.getExtras() != null ? toIntent.getExtras() : new Bundle();
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.kt b/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.kt
new file mode 100644
index 0000000..4696c62
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/model/EnrollmentRequest.kt
@@ -0,0 +1,78 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.java
deleted file mode 100644
index 184e1d1..0000000
--- a/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.java
+++ /dev/null
@@ -1,52 +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.model;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-
-/**
- * Enrolling status message (help or error)
- */
-public final class EnrollmentStatusMessage {
-
-    private final int mMsgId;
-    @NonNull private final CharSequence mStr;
-
-    public EnrollmentStatusMessage(int msgId, @Nullable CharSequence str) {
-        mMsgId = msgId;
-        mStr = str != null ? str : "";
-    }
-
-    public int getMsgId() {
-        return mMsgId;
-    }
-
-    @Override
-    public String toString() {
-        return getClass().getSimpleName() + "@" + Integer.toHexString(hashCode())
-                + "{id:" + mMsgId + ", str:" + mStr + "}";
-    }
-
-    /**
-     * Gets status string
-     */
-    @NonNull
-    public CharSequence getStr() {
-        return mStr;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.kt b/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.kt
new file mode 100644
index 0000000..6dd0c5c
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/model/EnrollmentStatusMessage.kt
@@ -0,0 +1,27 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.java
deleted file mode 100644
index b5e462e..0000000
--- a/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.java
+++ /dev/null
@@ -1,81 +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.model;
-
-import android.annotation.IntDef;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * 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.
- */
-public final class FingerprintEnrollIntroStatus {
-
-    /**
-     * Unconfirmed case, it means that this value is invalid, and view shall bypass this value.
-     */
-    public static final int FINGERPRINT_ENROLLABLE_UNKNOWN = -1;
-
-    /**
-     * User is allowed to enrolled a new fingerprint.
-     */
-    public static final int FINGERPRINT_ENROLLABLE_OK = 0;
-
-    /**
-     * User is not allowed to enrolled a new fingerprint because the number of enrolled fingerprint
-     * has reached maximum.
-     */
-    public static final int FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX = 1;
-
-    @IntDef(prefix = {"FINGERPRINT_ENROLLABLE_"}, value = {
-            FINGERPRINT_ENROLLABLE_UNKNOWN,
-            FINGERPRINT_ENROLLABLE_OK,
-            FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintEnrollableStatus {
-    }
-
-    private final boolean mHasScrollToBottom;
-
-    @FingerprintEnrollableStatus
-    private final int mEnrollableStatus;
-
-    public FingerprintEnrollIntroStatus(boolean hasScrollToBottom, int enrollableStatus) {
-        mEnrollableStatus = enrollableStatus;
-        mHasScrollToBottom = hasScrollToBottom;
-    }
-
-    /**
-     * Get enrollable status. It means that user is allowed to enroll a new fingerprint or not.
-     */
-    @FingerprintEnrollableStatus
-    public int getEnrollableStatus() {
-        return mEnrollableStatus;
-    }
-
-    /**
-     * Get info for this onboarding introduction page has scrolled to bottom or not
-     */
-    public boolean hasScrollToBottom() {
-        return mHasScrollToBottom;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.kt b/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.kt
new file mode 100644
index 0000000..4cbaffa
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/model/FingerprintEnrollIntroStatus.kt
@@ -0,0 +1,49 @@
+/*
+ * 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/FingerprintEnrollEnrollingErrorDialog.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingErrorDialog.java
deleted file mode 100644
index ad34e74..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingErrorDialog.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright 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.
- */
-
-package com.android.settings.biometrics2.ui.view;
-
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.ErrorDialogData;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_RESTART;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.hardware.biometrics.BiometricConstants;
-import android.os.Bundle;
-
-import androidx.appcompat.app.AlertDialog;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-/**
- * Fingerprint error dialog, will be shown when an error occurs during fingerprint enrollment.
- */
-public class FingerprintEnrollEnrollingErrorDialog extends InstrumentedDialogFragment {
-
-    private FingerprintEnrollEnrollingViewModel mViewModel;
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        final AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
-        final ErrorDialogData data = mViewModel.getErrorDialogLiveData().getValue();
-        final int errMsgId = data.getErrMsgId();
-        final boolean canAssumeUdfps = mViewModel.canAssumeUdfps();
-        final boolean wasTimeout = errMsgId == BiometricConstants.BIOMETRIC_ERROR_TIMEOUT;
-
-        builder.setTitle(data.getErrTitle())
-                .setMessage(data.getErrMsg())
-                .setCancelable(false);
-        if (wasTimeout && canAssumeUdfps) {
-            builder.setPositiveButton(
-                    R.string.security_settings_fingerprint_enroll_dialog_try_again,
-                    (dialog, which) -> {
-                            dialog.dismiss();
-                            mViewModel.onErrorDialogAction(FINGERPRINT_ERROR_DIALOG_ACTION_RESTART);
-                    });
-            builder.setNegativeButton(
-                    R.string.security_settings_fingerprint_enroll_dialog_ok,
-                    (dialog, which) -> {
-                            dialog.dismiss();
-                            mViewModel.onErrorDialogAction(
-                                    FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT);
-                    });
-        } else {
-            builder.setPositiveButton(
-                    R.string.security_settings_fingerprint_enroll_dialog_ok,
-                    (dialog, which) -> {
-                        dialog.dismiss();
-                        mViewModel.onErrorDialogAction(wasTimeout
-                                ? FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT
-                                : FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH);
-                    });
-        }
-        final AlertDialog dialog = builder.create();
-        dialog.setCanceledOnTouchOutside(false);
-        return dialog;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.DIALOG_FINGERPINT_ERROR;
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        mViewModel = new ViewModelProvider(getActivity()).get(
-                FingerprintEnrollEnrollingViewModel.class);
-        super.onAttach(context);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.java
deleted file mode 100644
index f4fe7ff..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.java
+++ /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.view;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.os.Bundle;
-
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settings.R;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-/**
- * Icon Touch dialog
- */
-public class FingerprintEnrollEnrollingIconTouchDialog extends InstrumentedDialogFragment {
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        AlertDialog.Builder builder = new AlertDialog.Builder(getActivity(),
-                R.style.Theme_AlertDialog);
-        builder.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, which) -> dialog.dismiss());
-        return builder.create();
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.DIALOG_FINGERPRINT_ICON_TOUCH;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.kt
new file mode 100644
index 0000000..9f99d17
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingIconTouchDialog.kt
@@ -0,0 +1,41 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java
deleted file mode 100644
index 8a4ed63..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.java
+++ /dev/null
@@ -1,464 +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 static android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL;
-
-import android.animation.Animator;
-import android.animation.ObjectAnimator;
-import android.app.Activity;
-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;
-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;
-import android.view.animation.Interpolator;
-import android.widget.ProgressBar;
-import android.widget.TextView;
-
-import androidx.activity.OnBackPressedCallback;
-import androidx.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog;
-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.FingerprintEnrollProgressViewModel;
-
-import com.google.android.setupcompat.template.FooterBarMixin;
-import com.google.android.setupcompat.template.FooterButton;
-import com.google.android.setupdesign.GlifLayout;
-
-/**
- * Fragment is used to handle enrolling process for rfps
- */
-public class FingerprintEnrollEnrollingRfpsFragment extends Fragment {
-
-    private static final String TAG = FingerprintEnrollEnrollingRfpsFragment.class.getSimpleName();
-    private static final boolean DEBUG = false;
-
-    private static final int PROGRESS_BAR_MAX = 10000;
-    private static final long ANIMATION_DURATION = 250L;
-    private static final long ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN = 500;
-    private static final int 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 static final int HINT_TIMEOUT_DURATION = 2500;
-
-    private FingerprintEnrollEnrollingViewModel mEnrollingViewModel;
-    private FingerprintEnrollProgressViewModel mProgressViewModel;
-
-    private Interpolator mFastOutSlowInInterpolator;
-    private Interpolator mLinearOutSlowInInterpolator;
-    private Interpolator mFastOutLinearInInterpolator;
-    private boolean mAnimationCancelled;
-
-    private GlifLayout mView;
-    private ProgressBar mProgressBar;
-    private ObjectAnimator mProgressAnim;
-    private TextView mErrorText;
-    private AnimatedVectorDrawable mIconAnimationDrawable;
-    private AnimatedVectorDrawable mIconBackgroundBlinksDrawable;
-    private int mIconTouchCount;
-
-    private final View.OnClickListener mOnSkipClickListener = v -> {
-        mEnrollingViewModel.setOnSkipPressed();
-        cancelEnrollment();
-    };
-
-    private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
-        if (DEBUG) {
-            Log.d(TAG, "mProgressObserver(" + progress + ")");
-        }
-        if (progress != null && progress.getSteps() >= 0) {
-            onEnrollmentProgressChange(progress);
-        }
-    };
-
-    private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
-        if (DEBUG) {
-            Log.d(TAG, "mHelpMessageObserver(" + helpMessage + ")");
-        }
-        if (helpMessage != null) {
-            onEnrollmentHelp(helpMessage);
-        }
-    };
-
-    private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
-        if (DEBUG) {
-            Log.d(TAG, "mErrorMessageObserver(" + errorMessage + ")");
-        }
-        if (errorMessage != null) {
-            onEnrollmentError(errorMessage);
-        }
-    };
-
-    private final OnBackPressedCallback mOnBackPressedCallback = new OnBackPressedCallback(true) {
-        @Override
-        public void handleOnBackPressed() {
-            setEnabled(false);
-            mEnrollingViewModel.setOnBackPressed();
-            cancelEnrollment();
-        }
-    };
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        final FragmentActivity activity = getActivity();
-        final ViewModelProvider provider = new ViewModelProvider(activity);
-        mEnrollingViewModel = provider.get(FingerprintEnrollEnrollingViewModel.class);
-        mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
-        super.onAttach(context);
-        activity.getOnBackPressedDispatcher().addCallback(mOnBackPressedCallback);
-    }
-
-    @Override
-    public void onDetach() {
-        mOnBackPressedCallback.setEnabled(false);
-        super.onDetach();
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        mView = initRfpsLayout(inflater, container);
-        return mView;
-    }
-
-    private GlifLayout initRfpsLayout(LayoutInflater inflater, ViewGroup container) {
-        final GlifLayout containView = (GlifLayout) inflater.inflate(
-                R.layout.fingerprint_enroll_enrolling, container, false);
-
-        final Activity activity = getActivity();
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, containView);
-        glifLayoutHelper.setDescriptionText(getString(
-                R.string.security_settings_fingerprint_enroll_start_message));
-        glifLayoutHelper.setHeaderText(R.string.security_settings_fingerprint_enroll_repeat_title);
-
-        mErrorText = containView.findViewById(R.id.error_text);
-        mProgressBar = containView.findViewById(R.id.fingerprint_progress_bar);
-        containView.getMixin(FooterBarMixin.class).setSecondaryButton(
-                new FooterButton.Builder(activity)
-                        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-                        .setListener(mOnSkipClickListener)
-                        .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
-                        .build()
-        );
-
-        final LayerDrawable fingerprintDrawable = (LayerDrawable) mProgressBar.getBackground();
-        mIconAnimationDrawable = (AnimatedVectorDrawable)
-                fingerprintDrawable.findDrawableByLayerId(R.id.fingerprint_animation);
-        mIconBackgroundBlinksDrawable = (AnimatedVectorDrawable)
-                fingerprintDrawable.findDrawableByLayerId(R.id.fingerprint_background);
-        mIconAnimationDrawable.registerAnimationCallback(mIconAnimationCallback);
-
-        mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(
-                activity, android.R.interpolator.fast_out_slow_in);
-        mLinearOutSlowInInterpolator = AnimationUtils.loadInterpolator(
-                activity, android.R.interpolator.linear_out_slow_in);
-        mFastOutLinearInInterpolator = AnimationUtils.loadInterpolator(
-                activity, android.R.interpolator.fast_out_linear_in);
-
-        mProgressBar.setProgressBackgroundTintMode(PorterDuff.Mode.SRC);
-        mProgressBar.setOnTouchListener((v, event) -> {
-            if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
-                mIconTouchCount++;
-                if (mIconTouchCount == ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN) {
-                    showIconTouchDialog();
-                } else {
-                    mProgressBar.postDelayed(mShowDialogRunnable,
-                            ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN);
-                }
-            } else if (event.getActionMasked() == MotionEvent.ACTION_CANCEL
-                    || event.getActionMasked() == MotionEvent.ACTION_UP) {
-                mProgressBar.removeCallbacks(mShowDialogRunnable);
-            }
-            return true;
-        });
-
-        return containView;
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        mAnimationCancelled = false;
-        startIconAnimation();
-        startEnrollment();
-        updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
-        updateTitleAndDescription();
-    }
-
-    private void startIconAnimation() {
-        if (mIconAnimationDrawable != null) {
-            mIconAnimationDrawable.start();
-        }
-    }
-
-    private void stopIconAnimation() {
-        mAnimationCancelled = true;
-        if (mIconAnimationDrawable != null) {
-            mIconAnimationDrawable.stop();
-        }
-    }
-
-    @Override
-    public void onStop() {
-        stopIconAnimation();
-        removeEnrollmentObservers();
-        if (!getActivity().isChangingConfigurations() && mProgressViewModel.isEnrolling()) {
-            mProgressViewModel.cancelEnrollment();
-        }
-        super.onStop();
-    }
-
-    private void removeEnrollmentObservers() {
-        preRemoveEnrollmentObservers();
-        mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver);
-    }
-
-    private void preRemoveEnrollmentObservers() {
-        mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
-        mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver);
-    }
-
-    private void cancelEnrollment() {
-        preRemoveEnrollmentObservers();
-        mProgressViewModel.cancelEnrollment();
-    }
-
-    private void startEnrollment() {
-        final boolean startResult = mProgressViewModel.startEnrollment(ENROLL_ENROLL);
-        if (!startResult) {
-            Log.e(TAG, "startEnrollment(), failed");
-        }
-        mProgressViewModel.getProgressLiveData().observe(this, mProgressObserver);
-        mProgressViewModel.getHelpMessageLiveData().observe(this, mHelpMessageObserver);
-        mProgressViewModel.getErrorMessageLiveData().observe(this, mErrorMessageObserver);
-    }
-
-    private void onEnrollmentHelp(@NonNull EnrollmentStatusMessage helpMessage) {
-        final CharSequence helpStr = helpMessage.getStr();
-        if (!TextUtils.isEmpty(helpStr)) {
-            mErrorText.removeCallbacks(mTouchAgainRunnable);
-            showError(helpStr);
-        }
-    }
-
-    private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
-        stopIconAnimation();
-        removeEnrollmentObservers();
-
-        if (mEnrollingViewModel.getOnBackPressed()
-                && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            mEnrollingViewModel.onCancelledDueToOnBackPressed();
-        } else if (mEnrollingViewModel.getOnSkipPressed()
-                && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            mEnrollingViewModel.onCancelledDueToOnSkipPressed();
-        } else {
-            final int errMsgId = errorMessage.getMsgId();
-            mEnrollingViewModel.showErrorDialog(
-                    new FingerprintEnrollEnrollingViewModel.ErrorDialogData(
-                            mView.getContext().getString(
-                                    FingerprintErrorDialog.getErrorMessage(errMsgId)),
-                            mView.getContext().getString(
-                                    FingerprintErrorDialog.getErrorTitle(errMsgId)),
-                            errMsgId
-                    ));
-            mProgressViewModel.cancelEnrollment();
-        }
-    }
-
-    private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) {
-        updateProgress(true /* animate */, progress);
-        updateTitleAndDescription();
-        animateFlash();
-        mErrorText.removeCallbacks(mTouchAgainRunnable);
-        mErrorText.postDelayed(mTouchAgainRunnable, HINT_TIMEOUT_DURATION);
-    }
-
-    private void updateProgress(boolean animate, @NonNull EnrollmentProgress enrollmentProgress) {
-        if (!mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "Enrollment not started yet");
-            return;
-        }
-
-        final int progress = getProgress(enrollmentProgress);
-        // Only clear the error when progress has been made.
-        // TODO (b/234772728) Add tests.
-        if (mProgressBar != null && mProgressBar.getProgress() < progress) {
-            clearError();
-        }
-
-        if (animate) {
-            animateProgress(progress);
-        } else {
-            if (mProgressBar != null) {
-                mProgressBar.setProgress(progress);
-            }
-            if (progress >= PROGRESS_BAR_MAX) {
-                mDelayedFinishRunnable.run();
-            }
-        }
-    }
-
-    private int getProgress(@NonNull EnrollmentProgress progress) {
-        if (progress.getSteps() == -1) {
-            return 0;
-        }
-        int displayProgress = Math.max(0, progress.getSteps() + 1 - progress.getRemaining());
-        return PROGRESS_BAR_MAX * displayProgress / (progress.getSteps() + 1);
-    }
-
-    private void showError(CharSequence error) {
-        mErrorText.setText(error);
-        if (mErrorText.getVisibility() == View.INVISIBLE) {
-            mErrorText.setVisibility(View.VISIBLE);
-            mErrorText.setTranslationY(mView.getContext().getResources().getDimensionPixelSize(
-                    R.dimen.fingerprint_error_text_appear_distance));
-            mErrorText.setAlpha(0f);
-            mErrorText.animate()
-                    .alpha(1f)
-                    .translationY(0f)
-                    .setDuration(200)
-                    .setInterpolator(mLinearOutSlowInInterpolator)
-                    .start();
-        } else {
-            mErrorText.animate().cancel();
-            mErrorText.setAlpha(1f);
-            mErrorText.setTranslationY(0f);
-        }
-        if (isResumed() && mEnrollingViewModel.isAccessibilityEnabled()) {
-            mEnrollingViewModel.vibrateError(getClass().getSimpleName() + "::showError");
-        }
-    }
-
-    private void clearError() {
-        if (mErrorText.getVisibility() == View.VISIBLE) {
-            mErrorText.animate()
-                    .alpha(0f)
-                    .translationY(getResources().getDimensionPixelSize(
-                            R.dimen.fingerprint_error_text_disappear_distance))
-                    .setDuration(100)
-                    .setInterpolator(mFastOutLinearInInterpolator)
-                    .withEndAction(() -> mErrorText.setVisibility(View.INVISIBLE))
-                    .start();
-        }
-    }
-
-    private void animateProgress(int progress) {
-        if (mProgressAnim != null) {
-            mProgressAnim.cancel();
-        }
-        ObjectAnimator anim = ObjectAnimator.ofInt(mProgressBar, "progress",
-                mProgressBar.getProgress(), progress);
-        anim.addListener(mProgressAnimationListener);
-        anim.setInterpolator(mFastOutSlowInInterpolator);
-        anim.setDuration(ANIMATION_DURATION);
-        anim.start();
-        mProgressAnim = anim;
-    }
-
-    private final Runnable mTouchAgainRunnable = new Runnable() {
-        @Override
-        public void run() {
-            // Use mView to getString to prevent activity is missing during rotation
-            showError(mView.getContext().getString(
-                    R.string.security_settings_fingerprint_enroll_lift_touch_again));
-        }
-    };
-
-    private void animateFlash() {
-        if (mIconBackgroundBlinksDrawable != null) {
-            mIconBackgroundBlinksDrawable.start();
-        }
-    }
-
-    private void updateTitleAndDescription() {
-        final EnrollmentProgress progressLiveData =
-                mProgressViewModel.getProgressLiveData().getValue();
-        new GlifLayoutHelper(getActivity(), mView).setDescriptionText(mView.getContext().getString(
-                progressLiveData == null || progressLiveData.getSteps() == -1
-                ? R.string.security_settings_fingerprint_enroll_start_message
-                : R.string.security_settings_fingerprint_enroll_repeat_message));
-    }
-
-    private void showIconTouchDialog() {
-        mIconTouchCount = 0;
-        mEnrollingViewModel.showIconTouchDialog();
-    }
-
-    private final Runnable mShowDialogRunnable = () -> showIconTouchDialog();
-
-    private final Animator.AnimatorListener mProgressAnimationListener =
-            new Animator.AnimatorListener() {
-
-                @Override
-                public void onAnimationStart(Animator animation) {
-                    startIconAnimation();
-                }
-
-                @Override
-                public void onAnimationRepeat(Animator animation) { }
-
-                @Override
-                public void onAnimationEnd(Animator animation) {
-                    stopIconAnimation();
-                    if (mProgressBar.getProgress() >= PROGRESS_BAR_MAX) {
-                        mProgressBar.postDelayed(mDelayedFinishRunnable, ANIMATION_DURATION);
-                    }
-                }
-
-                @Override
-                public void onAnimationCancel(Animator animation) { }
-            };
-
-    // Give the user a chance to see progress completed before jumping to the next stage.
-    private final Runnable mDelayedFinishRunnable = () -> mEnrollingViewModel.onEnrollingDone();
-
-    private final Animatable2.AnimationCallback mIconAnimationCallback =
-            new Animatable2.AnimationCallback() {
-                @Override
-                public void onAnimationEnd(Drawable d) {
-                    if (mAnimationCancelled) {
-                        return;
-                    }
-
-                    // Start animation after it has ended.
-                    mProgressBar.post(() -> startIconAnimation());
-                }
-            };
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
new file mode 100644
index 0000000..2530628
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingRfpsFragment.kt
@@ -0,0 +1,513 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java
deleted file mode 100644
index f2dad238..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.java
+++ /dev/null
@@ -1,597 +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 static android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL;
-
-import android.animation.Animator;
-import android.animation.ObjectAnimator;
-import android.annotation.RawRes;
-import android.app.Activity;
-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;
-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.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.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog;
-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.FingerprintEnrollProgressViewModel;
-
-import com.airbnb.lottie.LottieAnimationView;
-import com.airbnb.lottie.LottieCompositionFactory;
-import com.airbnb.lottie.LottieProperty;
-import com.airbnb.lottie.model.KeyPath;
-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;
-
-/**
- * Fragment is used to handle enrolling process for sfps
- */
-public class FingerprintEnrollEnrollingSfpsFragment extends Fragment {
-
-    private static final String TAG = FingerprintEnrollEnrollingSfpsFragment.class.getSimpleName();
-    private static final boolean DEBUG = false;
-
-    private static final int PROGRESS_BAR_MAX = 10000;
-    private static final long ANIMATION_DURATION = 250L;
-    private static final long ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN = 500;
-    private static final int ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN = 3;
-
-    private static final int STAGE_UNKNOWN = -1;
-    private static final int SFPS_STAGE_NO_ANIMATION = 0;
-    private static final int SFPS_STAGE_CENTER = 1;
-    private static final int SFPS_STAGE_FINGERTIP = 2;
-    private static final int SFPS_STAGE_LEFT_EDGE = 3;
-    private static final int SFPS_STAGE_RIGHT_EDGE = 4;
-
-    private FingerprintEnrollEnrollingViewModel mEnrollingViewModel;
-    private FingerprintEnrollProgressViewModel mProgressViewModel;
-
-    private Interpolator mFastOutSlowInInterpolator;
-
-    private GlifLayout mView;
-    private ProgressBar mProgressBar;
-    private ObjectAnimator mProgressAnim;
-
-    private LottieAnimationView mIllustrationLottie;
-
-    private boolean mHaveShownSfpsNoAnimationLottie;
-    private boolean mHaveShownSfpsCenterLottie;
-    private boolean mHaveShownSfpsTipLottie;
-    private boolean mHaveShownSfpsLeftEdgeLottie;
-    private boolean mHaveShownSfpsRightEdgeLottie;
-    private ObjectAnimator mHelpAnimation;
-    private int mIconTouchCount;
-
-    private final View.OnClickListener mOnSkipClickListener =
-            (v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed();
-
-    private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
-        if (DEBUG) {
-            Log.d(TAG, "mProgressObserver(" + progress + ")");
-        }
-        if (progress != null && progress.getSteps() >= 0) {
-            onEnrollmentProgressChange(progress);
-        }
-    };
-
-    private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
-        if (DEBUG) {
-            Log.d(TAG, "mHelpMessageObserver(" + helpMessage + ")");
-        }
-        if (helpMessage != null) {
-            onEnrollmentHelp(helpMessage);
-        }
-    };
-
-    private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
-        if (DEBUG) {
-            Log.d(TAG, "mErrorMessageObserver(" + errorMessage + ")");
-        }
-        if (errorMessage != null) {
-            onEnrollmentError(errorMessage);
-        }
-    };
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        final FragmentActivity activity = getActivity();
-        final ViewModelProvider provider = new ViewModelProvider(activity);
-        mEnrollingViewModel = provider.get(FingerprintEnrollEnrollingViewModel.class);
-        mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
-        super.onAttach(context);
-        requireActivity().getOnBackPressedDispatcher().addCallback(new OnBackPressedCallback(true) {
-            @Override
-            public void handleOnBackPressed() {
-                setEnabled(false);
-                mEnrollingViewModel.setOnBackPressed();
-                cancelEnrollment();
-            }
-        });
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        mView = initSfpsLayout(inflater, container);
-        maybeHideSfpsText(getActivity().getResources().getConfiguration());
-        return mView;
-    }
-
-    private GlifLayout initSfpsLayout(LayoutInflater inflater, ViewGroup container) {
-        final GlifLayout containView = (GlifLayout) inflater.inflate(R.layout.sfps_enroll_enrolling,
-                container, false);
-        final Activity activity = getActivity();
-
-        new GlifLayoutHelper(activity, containView).setDescriptionText(
-                getString(R.string.security_settings_fingerprint_enroll_start_message));
-
-        // setHelpAnimation()
-        final float translationX = 40;
-        final int duration = 550;
-        final RelativeLayout progressLottieLayout = containView.findViewById(R.id.progress_lottie);
-        mHelpAnimation = ObjectAnimator.ofFloat(progressLottieLayout,
-                "translationX" /* propertyName */,
-                0, translationX, -1 * translationX, translationX, 0f);
-        mHelpAnimation.setInterpolator(new AccelerateDecelerateInterpolator());
-        mHelpAnimation.setDuration(duration);
-        mHelpAnimation.setAutoCancel(false);
-
-        mIllustrationLottie = containView.findViewById(R.id.illustration_lottie);
-
-        mProgressBar = containView.findViewById(R.id.fingerprint_progress_bar);
-        final FooterBarMixin footerBarMixin = containView.getMixin(FooterBarMixin.class);
-        footerBarMixin.setSecondaryButton(
-                new FooterButton.Builder(activity)
-                        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-                        .setListener(mOnSkipClickListener)
-                        .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
-                        .build()
-        );
-
-        mFastOutSlowInInterpolator = AnimationUtils.loadInterpolator(
-                activity, android.R.interpolator.fast_out_slow_in);
-
-        mProgressBar.setProgressBackgroundTintMode(PorterDuff.Mode.SRC);
-        mProgressBar.setOnTouchListener((v, event) -> {
-            if (event.getActionMasked() == MotionEvent.ACTION_DOWN) {
-                mIconTouchCount++;
-                if (mIconTouchCount == ICON_TOUCH_COUNT_SHOW_UNTIL_DIALOG_SHOWN) {
-                    showIconTouchDialog();
-                } else {
-                    mProgressBar.postDelayed(mShowDialogRunnable,
-                            ICON_TOUCH_DURATION_UNTIL_DIALOG_SHOWN);
-                }
-            } else if (event.getActionMasked() == MotionEvent.ACTION_CANCEL
-                    || event.getActionMasked() == MotionEvent.ACTION_UP) {
-                mProgressBar.removeCallbacks(mShowDialogRunnable);
-            }
-            return true;
-        });
-
-        return containView;
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        startEnrollment();
-        updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
-        final EnrollmentStatusMessage msg = mProgressViewModel.getHelpMessageLiveData().getValue();
-        if (msg != null) {
-            onEnrollmentHelp(msg);
-        } else {
-            clearError();
-            updateTitleAndDescription();
-        }
-    }
-
-    @Override
-    public void onStop() {
-        removeEnrollmentObservers();
-        if (!getActivity().isChangingConfigurations() && mProgressViewModel.isEnrolling()) {
-            mProgressViewModel.cancelEnrollment();
-        }
-        super.onStop();
-    }
-
-    private void removeEnrollmentObservers() {
-        preRemoveEnrollmentObservers();
-        mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver);
-    }
-
-    private void preRemoveEnrollmentObservers() {
-        mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
-        mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver);
-    }
-
-    private void cancelEnrollment() {
-        preRemoveEnrollmentObservers();
-        mProgressViewModel.cancelEnrollment();
-    }
-
-    private void startEnrollment() {
-        final boolean startResult = mProgressViewModel.startEnrollment(ENROLL_ENROLL);
-        if (!startResult) {
-            Log.e(TAG, "startEnrollment(), failed");
-        }
-        mProgressViewModel.getProgressLiveData().observe(this, mProgressObserver);
-        mProgressViewModel.getHelpMessageLiveData().observe(this, mHelpMessageObserver);
-        mProgressViewModel.getErrorMessageLiveData().observe(this, mErrorMessageObserver);
-    }
-
-    private void configureEnrollmentStage(CharSequence description, @RawRes int lottie) {
-        new GlifLayoutHelper(getActivity(), mView).setDescriptionText(description);
-        LottieCompositionFactory.fromRawRes(getActivity(), lottie)
-                .addListener((c) -> {
-                    mIllustrationLottie.setComposition(c);
-                    mIllustrationLottie.setVisibility(View.VISIBLE);
-                    mIllustrationLottie.playAnimation();
-                });
-    }
-
-    private int getCurrentSfpsStage() {
-        EnrollmentProgress progressLiveData = mProgressViewModel.getProgressLiveData().getValue();
-
-        if (progressLiveData == null) {
-            return STAGE_UNKNOWN;
-        }
-
-        final int progressSteps = progressLiveData.getSteps() - progressLiveData.getRemaining();
-        if (progressSteps < getStageThresholdSteps(0)) {
-            return SFPS_STAGE_NO_ANIMATION;
-        } else if (progressSteps < getStageThresholdSteps(1)) {
-            return SFPS_STAGE_CENTER;
-        } else if (progressSteps < getStageThresholdSteps(2)) {
-            return SFPS_STAGE_FINGERTIP;
-        } else if (progressSteps < getStageThresholdSteps(3)) {
-            return SFPS_STAGE_LEFT_EDGE;
-        } else {
-            return SFPS_STAGE_RIGHT_EDGE;
-        }
-    }
-
-    private void onEnrollmentHelp(@NonNull EnrollmentStatusMessage helpMessage) {
-        final CharSequence helpStr = helpMessage.getStr();
-        if (!TextUtils.isEmpty(helpStr)) {
-            showError(helpStr);
-        }
-    }
-
-    private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
-        removeEnrollmentObservers();
-
-        if (mEnrollingViewModel.getOnBackPressed()
-                && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            mEnrollingViewModel.onCancelledDueToOnBackPressed();
-        } else if (mEnrollingViewModel.getOnSkipPressed()
-                && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            mEnrollingViewModel.onCancelledDueToOnSkipPressed();
-        } else {
-            final int errMsgId = errorMessage.getMsgId();
-            mEnrollingViewModel.showErrorDialog(
-                    new FingerprintEnrollEnrollingViewModel.ErrorDialogData(
-                            getString(FingerprintErrorDialog.getErrorMessage(errMsgId)),
-                            getString(FingerprintErrorDialog.getErrorTitle(errMsgId)),
-                            errMsgId
-                    ));
-            mProgressViewModel.cancelEnrollment();
-        }
-    }
-
-    private void announceEnrollmentProgress(CharSequence announcement) {
-        mEnrollingViewModel.sendAccessibilityEvent(announcement);
-    }
-
-    private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) {
-        updateProgress(true /* animate */, progress);
-        if (mEnrollingViewModel.isAccessibilityEnabled()) {
-            final int percent = (int) (((float) (progress.getSteps() - progress.getRemaining())
-                    / (float) progress.getSteps()) * 100);
-
-            CharSequence announcement = getString(
-                    R.string.security_settings_sfps_enroll_progress_a11y_message, percent);
-            announceEnrollmentProgress(announcement);
-
-            mIllustrationLottie.setContentDescription(
-                    getString(R.string.security_settings_sfps_animation_a11y_label, percent)
-            );
-        }
-        updateTitleAndDescription();
-    }
-
-    private void updateProgress(boolean animate, @NonNull EnrollmentProgress enrollmentProgress) {
-        if (!mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "Enrollment not started yet");
-            return;
-        }
-
-        final int progress = getProgress(enrollmentProgress);
-        // Only clear the error when progress has been made.
-        // TODO (b/234772728) Add tests.
-        if (mProgressBar != null && mProgressBar.getProgress() < progress) {
-            clearError();
-        }
-
-        if (animate) {
-            animateProgress(progress);
-        } else {
-            if (mProgressBar != null) {
-                mProgressBar.setProgress(progress);
-            }
-            if (progress >= PROGRESS_BAR_MAX) {
-                mDelayedFinishRunnable.run();
-            }
-        }
-    }
-
-    private int getProgress(@NonNull EnrollmentProgress progress) {
-        if (progress.getSteps() == -1) {
-            return 0;
-        }
-        int displayProgress = Math.max(0, progress.getSteps() + 1 - progress.getRemaining());
-        return PROGRESS_BAR_MAX * displayProgress / (progress.getSteps() + 1);
-    }
-
-    private void showError(CharSequence error) {
-        mView.setHeaderText(error);
-        mView.getHeaderTextView().setContentDescription(error);
-        new GlifLayoutHelper(getActivity(), mView).setDescriptionText("");
-        if (isResumed() && !mHelpAnimation.isRunning()) {
-            mHelpAnimation.start();
-        }
-        applySfpsErrorDynamicColors(true);
-        if (isResumed() && mEnrollingViewModel.isAccessibilityEnabled()) {
-            mEnrollingViewModel.vibrateError(getClass().getSimpleName() + "::showError");
-        }
-    }
-
-    private void clearError() {
-        applySfpsErrorDynamicColors(false);
-    }
-
-    private void animateProgress(int progress) {
-        if (mProgressAnim != null) {
-            mProgressAnim.cancel();
-        }
-        ObjectAnimator anim = ObjectAnimator.ofInt(mProgressBar, "progress",
-                mProgressBar.getProgress(), progress);
-        anim.addListener(mProgressAnimationListener);
-        anim.setInterpolator(mFastOutSlowInInterpolator);
-        anim.setDuration(ANIMATION_DURATION);
-        anim.start();
-        mProgressAnim = anim;
-    }
-
-    /**
-     * Applies dynamic colors corresponding to showing or clearing errors on the progress bar
-     * and finger lottie for SFPS
-     */
-    private void applySfpsErrorDynamicColors(boolean isError) {
-        applyProgressBarDynamicColor(isError);
-        applyLottieDynamicColor(isError);
-    }
-
-    private void applyProgressBarDynamicColor(boolean isError) {
-        final Context context = getActivity().getApplicationContext();
-        int error_color = context.getColor(R.color.sfps_enrollment_progress_bar_error_color);
-        int progress_bar_fill_color = context.getColor(
-                R.color.sfps_enrollment_progress_bar_fill_color);
-        ColorStateList fillColor = ColorStateList.valueOf(
-                isError ? error_color : progress_bar_fill_color);
-        mProgressBar.setProgressTintList(fillColor);
-        mProgressBar.setProgressTintMode(PorterDuff.Mode.SRC);
-        mProgressBar.invalidate();
-    }
-
-    private void applyLottieDynamicColor(boolean isError) {
-        final Context context = getActivity().getApplicationContext();
-        int error_color = context.getColor(R.color.sfps_enrollment_fp_error_color);
-        int fp_captured_color = context.getColor(R.color.sfps_enrollment_fp_captured_color);
-        int color = isError ? error_color : fp_captured_color;
-        mIllustrationLottie.addValueCallback(
-                new KeyPath(".blue100", "**"),
-                LottieProperty.COLOR_FILTER,
-                frameInfo -> new PorterDuffColorFilter(color, PorterDuff.Mode.SRC_ATOP)
-        );
-        mIllustrationLottie.invalidate();
-    }
-
-    private int getStageThresholdSteps(int index) {
-        final EnrollmentProgress progressLiveData =
-                mProgressViewModel.getProgressLiveData().getValue();
-
-        if (progressLiveData == null || progressLiveData.getSteps() == -1) {
-            Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet");
-            return 1;
-        }
-        return Math.round(progressLiveData.getSteps()
-                * mEnrollingViewModel.getEnrollStageThreshold(index));
-    }
-
-    private void updateTitleAndDescription() {
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(getActivity(), mView);
-        if (mEnrollingViewModel.isAccessibilityEnabled()) {
-            mEnrollingViewModel.clearTalkback();
-            glifLayoutHelper.getGlifLayout().getDescriptionTextView().setAccessibilityLiveRegion(
-                    View.ACCESSIBILITY_LIVE_REGION_POLITE);
-        }
-        final int stage = getCurrentSfpsStage();
-        if (DEBUG) {
-            Log.d(TAG, "updateTitleAndDescription, stage:" + stage
-                    + ", noAnimation:" + mHaveShownSfpsNoAnimationLottie
-                    + ", center:" + mHaveShownSfpsCenterLottie
-                    + ", tip:" + mHaveShownSfpsTipLottie
-                    + ", leftEdge:" + mHaveShownSfpsLeftEdgeLottie
-                    + ", rightEdge:" + mHaveShownSfpsRightEdgeLottie);
-        }
-        switch (stage) {
-            case SFPS_STAGE_NO_ANIMATION:
-                glifLayoutHelper.setHeaderText(
-                        R.string.security_settings_fingerprint_enroll_repeat_title);
-                if (!mHaveShownSfpsNoAnimationLottie) {
-                    mHaveShownSfpsNoAnimationLottie = true;
-                    mIllustrationLottie.setContentDescription(
-                            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
-                    );
-                }
-                break;
-
-            case SFPS_STAGE_CENTER:
-                glifLayoutHelper.setHeaderText(
-                        R.string.security_settings_sfps_enroll_finger_center_title);
-                if (!mHaveShownSfpsCenterLottie) {
-                    mHaveShownSfpsCenterLottie = true;
-                    configureEnrollmentStage(
-                            getString(R.string.security_settings_sfps_enroll_start_message),
-                            R.raw.sfps_lottie_pad_center
-                    );
-                }
-                break;
-
-            case SFPS_STAGE_FINGERTIP:
-                glifLayoutHelper.setHeaderText(
-                        R.string.security_settings_sfps_enroll_fingertip_title);
-                if (!mHaveShownSfpsTipLottie) {
-                    mHaveShownSfpsTipLottie = true;
-                    configureEnrollmentStage("", R.raw.sfps_lottie_tip);
-                }
-                break;
-
-            case SFPS_STAGE_LEFT_EDGE:
-                glifLayoutHelper.setHeaderText(
-                        R.string.security_settings_sfps_enroll_left_edge_title);
-                if (!mHaveShownSfpsLeftEdgeLottie) {
-                    mHaveShownSfpsLeftEdgeLottie = true;
-                    configureEnrollmentStage("", R.raw.sfps_lottie_left_edge);
-                }
-                break;
-
-            case SFPS_STAGE_RIGHT_EDGE:
-                glifLayoutHelper.setHeaderText(
-                        R.string.security_settings_sfps_enroll_right_edge_title);
-                if (!mHaveShownSfpsRightEdgeLottie) {
-                    mHaveShownSfpsRightEdgeLottie = true;
-                    configureEnrollmentStage("", R.raw.sfps_lottie_right_edge);
-                }
-                break;
-
-            case STAGE_UNKNOWN:
-            default:
-                // 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.
-                glifLayoutHelper.setHeaderText(
-                        R.string.security_settings_sfps_enroll_find_sensor_title);
-                glifLayoutHelper.setDescriptionText(getString(
-                        R.string.security_settings_sfps_enroll_start_message));
-                final CharSequence description = getString(
-                        R.string.security_settings_sfps_enroll_find_sensor_message);
-                glifLayoutHelper.getGlifLayout().getHeaderTextView().setContentDescription(
-                        description);
-                glifLayoutHelper.getActivity().setTitle(description);
-                break;
-
-        }
-    }
-
-    private void showIconTouchDialog() {
-        mIconTouchCount = 0;
-        mEnrollingViewModel.showIconTouchDialog();
-    }
-
-    private final Runnable mShowDialogRunnable = () -> showIconTouchDialog();
-
-    private final Animator.AnimatorListener mProgressAnimationListener =
-            new Animator.AnimatorListener() {
-
-                @Override
-                public void onAnimationStart(Animator animation) { }
-
-                @Override
-                public void onAnimationRepeat(Animator animation) { }
-
-                @Override
-                public void onAnimationEnd(Animator animation) {
-                    if (mProgressBar.getProgress() >= PROGRESS_BAR_MAX) {
-                        mProgressBar.postDelayed(mDelayedFinishRunnable, ANIMATION_DURATION);
-                    }
-                }
-
-                @Override
-                public void onAnimationCancel(Animator animation) { }
-            };
-
-    // Give the user a chance to see progress completed before jumping to the next stage.
-    private final Runnable mDelayedFinishRunnable = () -> mEnrollingViewModel.onEnrollingDone();
-
-    private void maybeHideSfpsText(@NonNull Configuration newConfig) {
-        final HeaderMixin headerMixin = ((GlifLayout) mView).getMixin(HeaderMixin.class);
-        final DescriptionMixin descriptionMixin = ((GlifLayout) mView).getMixin(
-                DescriptionMixin.class);
-        final boolean isLandscape = newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE;
-
-        if (isLandscape) {
-            headerMixin.setAutoTextSizeEnabled(true);
-            headerMixin.getTextView().setMinLines(0);
-            headerMixin.getTextView().setMaxLines(10);
-            descriptionMixin.getTextView().setMinLines(0);
-            descriptionMixin.getTextView().setMaxLines(10);
-        } else {
-            headerMixin.setAutoTextSizeEnabled(false);
-            headerMixin.getTextView().setLines(4);
-            // hide the description
-            descriptionMixin.getTextView().setLines(0);
-        }
-
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
new file mode 100644
index 0000000..7faeeac
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingSfpsFragment.kt
@@ -0,0 +1,669 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java
deleted file mode 100644
index 40d5713..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.java
+++ /dev/null
@@ -1,620 +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 static android.hardware.fingerprint.FingerprintManager.ENROLL_ENROLL;
-
-import android.annotation.RawRes;
-import android.app.Activity;
-import android.content.Context;
-import android.content.res.Configuration;
-import android.hardware.fingerprint.FingerprintManager;
-import android.os.Bundle;
-import android.text.TextUtils;
-import android.util.DisplayMetrics;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.Surface;
-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.annotation.NonNull;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics.BiometricUtils;
-import com.android.settings.biometrics.fingerprint.FingerprintErrorDialog;
-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.FingerprintEnrollProgressViewModel;
-import com.android.settings.biometrics2.ui.widget.UdfpsEnrollView;
-import com.android.settingslib.display.DisplayDensityUtils;
-
-import com.airbnb.lottie.LottieAnimationView;
-import com.airbnb.lottie.LottieCompositionFactory;
-
-/**
- * Fragment is used to handle enrolling process for udfps
- */
-public class FingerprintEnrollEnrollingUdfpsFragment extends Fragment {
-
-    private static final String TAG = FingerprintEnrollEnrollingUdfpsFragment.class.getSimpleName();
-
-    private static final int PROGRESS_BAR_MAX = 10000;
-
-    private static final int STAGE_UNKNOWN = -1;
-    private static final int STAGE_CENTER = 0;
-    private static final int STAGE_GUIDED = 1;
-    private static final int STAGE_FINGERTIP = 2;
-    private static final int STAGE_LEFT_EDGE = 3;
-    private static final int STAGE_RIGHT_EDGE = 4;
-
-    private FingerprintEnrollEnrollingViewModel mEnrollingViewModel;
-    private DeviceRotationViewModel mRotationViewModel;
-    private FingerprintEnrollProgressViewModel mProgressViewModel;
-
-    private LottieAnimationView mIllustrationLottie;
-    private boolean mHaveShownUdfpsTipLottie;
-    private boolean mHaveShownUdfpsLeftEdgeLottie;
-    private boolean mHaveShownUdfpsRightEdgeLottie;
-    private boolean mHaveShownUdfpsCenterLottie;
-    private boolean mHaveShownUdfpsGuideLottie;
-
-    private TextView mTitleText;
-    private TextView mSubTitleText;
-    private UdfpsEnrollView mUdfpsEnrollView;
-    private Button mSkipBtn;
-    private ImageView mIcon;
-
-    private boolean mShouldShowLottie;
-    private boolean mIsAccessibilityEnabled;
-
-    private int mRotation = -1;
-
-    private final View.OnClickListener mOnSkipClickListener =
-            (v) -> mEnrollingViewModel.onCancelledDueToOnSkipPressed();
-
-    private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
-        if (progress != null) {
-            onEnrollmentProgressChange(progress);
-        }
-    };
-    private final Observer<EnrollmentStatusMessage> mHelpMessageObserver = helpMessage -> {
-        if (helpMessage != null) {
-            onEnrollmentHelp(helpMessage);
-        }
-    };
-    private final Observer<EnrollmentStatusMessage> mErrorMessageObserver = errorMessage -> {
-        if (errorMessage != null) {
-            onEnrollmentError(errorMessage);
-        }
-    };
-    private final Observer<Boolean> mAcquireObserver = isAcquiredGood -> {
-        if (isAcquiredGood != null) {
-            onAcquired(isAcquiredGood);
-        }
-    };
-    private final Observer<Integer> mPointerDownObserver = sensorId -> {
-        if (sensorId != null) {
-            onPointerDown(sensorId);
-        }
-    };
-    private final Observer<Integer> mPointerUpObserver = sensorId -> {
-        if (sensorId != null) {
-            onPointerUp(sensorId);
-        }
-    };
-
-    private final Observer<Integer> mRotationObserver = rotation -> {
-        if (rotation != null) {
-            onRotationChanged(rotation);
-        }
-    };
-
-    private final OnBackPressedCallback mOnBackPressedCallback = new OnBackPressedCallback(true) {
-        @Override
-        public void handleOnBackPressed() {
-            setEnabled(false);
-            mEnrollingViewModel.setOnBackPressed();
-            cancelEnrollment();
-        }
-    };
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        final FragmentActivity activity = getActivity();
-        final ViewModelProvider provider = new ViewModelProvider(activity);
-        mEnrollingViewModel = provider.get(FingerprintEnrollEnrollingViewModel.class);
-        mRotationViewModel = provider.get(DeviceRotationViewModel.class);
-        mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
-        super.onAttach(context);
-        activity.getOnBackPressedDispatcher().addCallback(mOnBackPressedCallback);
-    }
-
-    @Override
-    public void onDetach() {
-        mOnBackPressedCallback.setEnabled(false);
-        super.onDetach();
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        mIsAccessibilityEnabled = mEnrollingViewModel.isAccessibilityEnabled();
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        final RelativeLayout containView = (RelativeLayout) inflater.inflate(
-                R.layout.udfps_enroll_enrolling_v2, container, false);
-
-        final Activity activity = getActivity();
-        mIcon = containView.findViewById(R.id.sud_layout_icon);
-        mTitleText = containView.findViewById(R.id.suc_layout_title);
-        mSubTitleText = containView.findViewById(R.id.sud_layout_subtitle);
-        mSkipBtn = containView.findViewById(R.id.skip_btn);
-        mSkipBtn.setOnClickListener(mOnSkipClickListener);
-        mUdfpsEnrollView = containView.findViewById(R.id.udfps_animation_view);
-        mUdfpsEnrollView.setSensorProperties(
-                mEnrollingViewModel.getFirstFingerprintSensorPropertiesInternal());
-        mShouldShowLottie = shouldShowLottie();
-        final boolean isLandscape = BiometricUtils.isReverseLandscape(activity)
-                || BiometricUtils.isLandscape(activity);
-        updateOrientation(containView, (isLandscape
-                ? Configuration.ORIENTATION_LANDSCAPE : Configuration.ORIENTATION_PORTRAIT));
-
-        mRotation = mRotationViewModel.getLiveData().getValue();
-        configLayout(mRotation);
-        return containView;
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-        startEnrollment();
-        updateProgress(false /* animate */, mProgressViewModel.getProgressLiveData().getValue());
-        final EnrollmentStatusMessage msg = mProgressViewModel.getHelpMessageLiveData().getValue();
-        if (msg != null) {
-            onEnrollmentHelp(msg);
-        } else {
-            updateTitleAndDescription();
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        mRotationViewModel.getLiveData().observe(this, mRotationObserver);
-    }
-
-    @Override
-    public void onPause() {
-        mRotationViewModel.getLiveData().removeObserver(mRotationObserver);
-        super.onPause();
-    }
-
-    @Override
-    public void onStop() {
-        removeEnrollmentObservers();
-        if (!getActivity().isChangingConfigurations() && mProgressViewModel.isEnrolling()) {
-            mProgressViewModel.cancelEnrollment();
-        }
-        super.onStop();
-    }
-
-    private void removeEnrollmentObservers() {
-        preRemoveEnrollmentObservers();
-        mProgressViewModel.getErrorMessageLiveData().removeObserver(mErrorMessageObserver);
-    }
-
-    private void preRemoveEnrollmentObservers() {
-        mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
-        mProgressViewModel.getHelpMessageLiveData().removeObserver(mHelpMessageObserver);
-        mProgressViewModel.getAcquireLiveData().removeObserver(mAcquireObserver);
-        mProgressViewModel.getPointerDownLiveData().removeObserver(mPointerDownObserver);
-        mProgressViewModel.getPointerUpLiveData().removeObserver(mPointerUpObserver);
-    }
-
-    private void cancelEnrollment() {
-        preRemoveEnrollmentObservers();
-        mProgressViewModel.cancelEnrollment();
-    }
-
-    private void startEnrollment() {
-        final boolean startResult = mProgressViewModel.startEnrollment(ENROLL_ENROLL);
-        if (!startResult) {
-            Log.e(TAG, "startEnrollment(), failed");
-        }
-        mProgressViewModel.getProgressLiveData().observe(this, mProgressObserver);
-        mProgressViewModel.getHelpMessageLiveData().observe(this, mHelpMessageObserver);
-        mProgressViewModel.getErrorMessageLiveData().observe(this, mErrorMessageObserver);
-        mProgressViewModel.getAcquireLiveData().observe(this, mAcquireObserver);
-        mProgressViewModel.getPointerDownLiveData().observe(this, mPointerDownObserver);
-        mProgressViewModel.getPointerUpLiveData().observe(this, mPointerUpObserver);
-    }
-
-    private void updateProgress(boolean animate, @NonNull EnrollmentProgress enrollmentProgress) {
-        if (!mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "Enrollment not started yet");
-            return;
-        }
-
-        final int progress = getProgress(enrollmentProgress);
-
-        if (mProgressViewModel.getProgressLiveData().getValue().getSteps() != -1) {
-            mUdfpsEnrollView.onEnrollmentProgress(enrollmentProgress.getRemaining(),
-                    enrollmentProgress.getSteps());
-        }
-
-        if (animate) {
-            animateProgress(progress);
-        } else if (progress >= PROGRESS_BAR_MAX) {
-            mDelayedFinishRunnable.run();
-        }
-    }
-
-    private int getProgress(@NonNull EnrollmentProgress progress) {
-        if (progress.getSteps() == -1) {
-            return 0;
-        }
-        int displayProgress = Math.max(0, progress.getSteps() + 1 - progress.getRemaining());
-        return PROGRESS_BAR_MAX * displayProgress / (progress.getSteps() + 1);
-    }
-
-    private void animateProgress(int progress) {
-        // UDFPS animations are owned by SystemUI
-        if (progress >= PROGRESS_BAR_MAX) {
-            // Wait for any animations in SysUI to finish, then proceed to next page
-            getActivity().getMainThreadHandler().postDelayed(mDelayedFinishRunnable, 400L);
-        }
-    }
-
-    private void updateTitleAndDescription() {
-        switch (getCurrentStage()) {
-            case STAGE_CENTER:
-                mTitleText.setText(R.string.security_settings_fingerprint_enroll_repeat_title);
-                if (mIsAccessibilityEnabled || mIllustrationLottie == null) {
-                    mSubTitleText.setText(R.string.security_settings_udfps_enroll_start_message);
-                } else if (!mHaveShownUdfpsCenterLottie) {
-                    mHaveShownUdfpsCenterLottie = true;
-                    // Note: Update string reference when differentiate in between udfps & sfps
-                    mIllustrationLottie.setContentDescription(
-                            getString(R.string.security_settings_sfps_enroll_finger_center_title)
-                    );
-                    configureEnrollmentStage(R.raw.udfps_center_hint_lottie);
-                }
-                break;
-
-            case STAGE_GUIDED:
-                mTitleText.setText(R.string.security_settings_fingerprint_enroll_repeat_title);
-                if (mIsAccessibilityEnabled || mIllustrationLottie == null) {
-                    mSubTitleText.setText(
-                            R.string.security_settings_udfps_enroll_repeat_a11y_message);
-                } else if (!mHaveShownUdfpsGuideLottie) {
-                    mHaveShownUdfpsGuideLottie = true;
-                    mIllustrationLottie.setContentDescription(
-                            getString(R.string.security_settings_fingerprint_enroll_repeat_message)
-                    );
-                    // TODO(b/228100413) Could customize guided lottie animation
-                    configureEnrollmentStage(R.raw.udfps_center_hint_lottie);
-                }
-                break;
-            case STAGE_FINGERTIP:
-                mTitleText.setText(R.string.security_settings_udfps_enroll_fingertip_title);
-                if (!mHaveShownUdfpsTipLottie && mIllustrationLottie != null) {
-                    mHaveShownUdfpsTipLottie = true;
-                    mIllustrationLottie.setContentDescription(
-                            getString(R.string.security_settings_udfps_tip_fingerprint_help)
-                    );
-                    configureEnrollmentStage(R.raw.udfps_tip_hint_lottie);
-                }
-                break;
-            case STAGE_LEFT_EDGE:
-                mTitleText.setText(R.string.security_settings_udfps_enroll_left_edge_title);
-                if (!mHaveShownUdfpsLeftEdgeLottie && mIllustrationLottie != null) {
-                    mHaveShownUdfpsLeftEdgeLottie = true;
-                    mIllustrationLottie.setContentDescription(
-                            getString(R.string.security_settings_udfps_side_fingerprint_help)
-                    );
-                    configureEnrollmentStage(R.raw.udfps_left_edge_hint_lottie);
-                } else if (mIllustrationLottie == null) {
-                    if (isStageHalfCompleted()) {
-                        mSubTitleText.setText(
-                                R.string.security_settings_fingerprint_enroll_repeat_message);
-                    } else {
-                        mSubTitleText.setText(R.string.security_settings_udfps_enroll_edge_message);
-                    }
-                }
-                break;
-            case STAGE_RIGHT_EDGE:
-                mTitleText.setText(R.string.security_settings_udfps_enroll_right_edge_title);
-                if (!mHaveShownUdfpsRightEdgeLottie && mIllustrationLottie != null) {
-                    mHaveShownUdfpsRightEdgeLottie = true;
-                    mIllustrationLottie.setContentDescription(
-                            getString(R.string.security_settings_udfps_side_fingerprint_help)
-                    );
-                    configureEnrollmentStage(R.raw.udfps_right_edge_hint_lottie);
-
-                } else if (mIllustrationLottie == null) {
-                    if (isStageHalfCompleted()) {
-                        mSubTitleText.setText(
-                                R.string.security_settings_fingerprint_enroll_repeat_message);
-                    } else {
-                        mSubTitleText.setText(R.string.security_settings_udfps_enroll_edge_message);
-                    }
-                }
-                break;
-
-            case STAGE_UNKNOWN:
-            default:
-                mTitleText.setText(R.string.security_settings_fingerprint_enroll_udfps_title);
-                mSubTitleText.setText(R.string.security_settings_udfps_enroll_start_message);
-                final CharSequence description = getString(
-                        R.string.security_settings_udfps_enroll_a11y);
-                getActivity().setTitle(description);
-                break;
-        }
-    }
-
-    private boolean shouldShowLottie() {
-        DisplayDensityUtils displayDensity = new DisplayDensityUtils(getContext());
-        int currentDensityIndex = displayDensity.getCurrentIndexForDefaultDisplay();
-        final int currentDensity = displayDensity.getDefaultDisplayDensityValues()
-                [currentDensityIndex];
-        final int defaultDensity = displayDensity.getDefaultDensityForDefaultDisplay();
-        return defaultDensity == currentDensity;
-    }
-
-    private void updateOrientation(@NonNull RelativeLayout content, int orientation) {
-        switch (orientation) {
-            case Configuration.ORIENTATION_LANDSCAPE: {
-                mIllustrationLottie = null;
-                break;
-            }
-            case Configuration.ORIENTATION_PORTRAIT: {
-                if (mShouldShowLottie) {
-                    mIllustrationLottie = content.findViewById(R.id.illustration_lottie);
-                }
-                break;
-            }
-            default:
-                Log.e(TAG, "Error unhandled configuration change");
-                break;
-        }
-    }
-
-    private int getCurrentStage() {
-        EnrollmentProgress progressLiveData = mProgressViewModel.getProgressLiveData().getValue();
-
-        if (progressLiveData == null || progressLiveData.getSteps() == -1) {
-            return STAGE_UNKNOWN;
-        }
-
-        final int progressSteps = progressLiveData.getSteps() - progressLiveData.getRemaining();
-        if (progressSteps < getStageThresholdSteps(0)) {
-            return STAGE_CENTER;
-        } else if (progressSteps < getStageThresholdSteps(1)) {
-            return STAGE_GUIDED;
-        } else if (progressSteps < getStageThresholdSteps(2)) {
-            return STAGE_FINGERTIP;
-        } else if (progressSteps < getStageThresholdSteps(3)) {
-            return STAGE_LEFT_EDGE;
-        } else {
-            return STAGE_RIGHT_EDGE;
-        }
-    }
-
-    private boolean isStageHalfCompleted() {
-        EnrollmentProgress progressLiveData = mProgressViewModel.getProgressLiveData().getValue();
-        if (progressLiveData == null || progressLiveData.getSteps() == -1) {
-            return false;
-        }
-
-        final int progressSteps = progressLiveData.getSteps() - progressLiveData.getRemaining();
-        int prevThresholdSteps = 0;
-        for (int i = 0; i < mEnrollingViewModel.getEnrollStageCount(); i++) {
-            final int thresholdSteps = getStageThresholdSteps(i);
-            if (progressSteps >= prevThresholdSteps && progressSteps < thresholdSteps) {
-                final int adjustedProgress = progressSteps - prevThresholdSteps;
-                final int adjustedThreshold = thresholdSteps - prevThresholdSteps;
-                return adjustedProgress >= adjustedThreshold / 2;
-            }
-            prevThresholdSteps = thresholdSteps;
-        }
-
-        // After last enrollment step.
-        return true;
-    }
-
-    private int getStageThresholdSteps(int index) {
-
-        EnrollmentProgress progressLiveData = mProgressViewModel.getProgressLiveData().getValue();
-
-        if (progressLiveData == null || progressLiveData.getSteps() == -1) {
-            Log.w(TAG, "getStageThresholdSteps: Enrollment not started yet");
-            return 1;
-        }
-        return Math.round(progressLiveData.getSteps()
-                * mEnrollingViewModel.getEnrollStageThreshold(index));
-    }
-
-    private void configureEnrollmentStage(@RawRes int lottie) {
-        mSubTitleText.setText("");
-        LottieCompositionFactory.fromRawRes(getActivity(), lottie)
-                .addListener((c) -> {
-                    mIllustrationLottie.setComposition(c);
-                    mIllustrationLottie.setVisibility(View.VISIBLE);
-                    mIllustrationLottie.playAnimation();
-                });
-    }
-
-    private void onEnrollmentProgressChange(@NonNull EnrollmentProgress progress) {
-        updateProgress(true /* animate */, progress);
-
-        updateTitleAndDescription();
-
-        if (mIsAccessibilityEnabled) {
-            final int steps = progress.getSteps();
-            final int remaining = progress.getRemaining();
-            final int percent = (int) (((float) (steps - remaining) / (float) steps) * 100);
-            CharSequence announcement = getActivity().getString(
-                    R.string.security_settings_udfps_enroll_progress_a11y_message, percent);
-            mEnrollingViewModel.sendAccessibilityEvent(announcement);
-        }
-
-    }
-
-    private void onEnrollmentHelp(@NonNull EnrollmentStatusMessage helpMessage) {
-        final CharSequence helpStr = helpMessage.getStr();
-        if (!TextUtils.isEmpty(helpStr)) {
-            showError(helpStr);
-            mUdfpsEnrollView.onEnrollmentHelp();
-        }
-    }
-    private void onEnrollmentError(@NonNull EnrollmentStatusMessage errorMessage) {
-        removeEnrollmentObservers();
-
-        if (mEnrollingViewModel.getOnBackPressed()
-                && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            mEnrollingViewModel.onCancelledDueToOnBackPressed();
-        } else if (mEnrollingViewModel.getOnSkipPressed()
-                && errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            mEnrollingViewModel.onCancelledDueToOnSkipPressed();
-        } else {
-            final int errMsgId = errorMessage.getMsgId();
-            mEnrollingViewModel.showErrorDialog(
-                    new FingerprintEnrollEnrollingViewModel.ErrorDialogData(
-                            getString(FingerprintErrorDialog.getErrorMessage(errMsgId)),
-                            getString(FingerprintErrorDialog.getErrorTitle(errMsgId)),
-                            errMsgId
-                    ));
-            mProgressViewModel.cancelEnrollment();
-        }
-    }
-
-    private void onAcquired(boolean isAcquiredGood) {
-        if (mUdfpsEnrollView != null) {
-            mUdfpsEnrollView.onAcquired(isAcquiredGood);
-        }
-    }
-
-    private void onPointerDown(int sensorId) {
-        if (mUdfpsEnrollView != null) {
-            mUdfpsEnrollView.onPointerDown(sensorId);
-        }
-    }
-
-    private void onPointerUp(int sensorId) {
-        if (mUdfpsEnrollView != null) {
-            mUdfpsEnrollView.onPointerUp(sensorId);
-        }
-    }
-
-    private void showError(CharSequence error) {
-        mTitleText.setText(error);
-        mTitleText.setContentDescription(error);
-        mSubTitleText.setContentDescription("");
-    }
-
-    private void onRotationChanged(int newRotation) {
-        if( (newRotation +2) % 4 == mRotation) {
-            mRotation = newRotation;
-            configLayout(newRotation);
-        }
-    }
-
-    private void configLayout(int newRotation) {
-        final Activity activity = getActivity();
-        if (newRotation == Surface.ROTATION_270) {
-            RelativeLayout.LayoutParams iconLP = new RelativeLayout.LayoutParams(-2, -2);
-            iconLP.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            iconLP.addRule(RelativeLayout.END_OF, R.id.udfps_animation_view);
-            iconLP.topMargin = (int) convertDpToPixel(76.64f, activity);
-            iconLP.leftMargin = (int) convertDpToPixel(151.54f, activity);
-            mIcon.setLayoutParams(iconLP);
-
-            RelativeLayout.LayoutParams titleLP = new RelativeLayout.LayoutParams(-1, -2);
-            titleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            titleLP.addRule(RelativeLayout.END_OF, R.id.udfps_animation_view);
-            titleLP.topMargin = (int) convertDpToPixel(138f, activity);
-            titleLP.leftMargin = (int) convertDpToPixel(144f, activity);
-            mTitleText.setLayoutParams(titleLP);
-
-            RelativeLayout.LayoutParams subtitleLP = new RelativeLayout.LayoutParams(-1, -2);
-            subtitleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            subtitleLP.addRule(RelativeLayout.END_OF, R.id.udfps_animation_view);
-            subtitleLP.topMargin = (int) convertDpToPixel(198f, activity);
-            subtitleLP.leftMargin = (int) convertDpToPixel(144f, activity);
-            mSubTitleText.setLayoutParams(subtitleLP);
-        } else if (newRotation == Surface.ROTATION_90) {
-            DisplayMetrics metrics = activity.getResources().getDisplayMetrics();
-            RelativeLayout.LayoutParams iconLP = new RelativeLayout.LayoutParams(-2, -2);
-            iconLP.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            iconLP.addRule(RelativeLayout.ALIGN_PARENT_START);
-            iconLP.topMargin = (int) convertDpToPixel(76.64f, activity);
-            iconLP.leftMargin = (int) convertDpToPixel(71.99f, activity);
-            mIcon.setLayoutParams(iconLP);
-
-            RelativeLayout.LayoutParams titleLP = new 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 = (int) convertDpToPixel(138f, activity);
-            titleLP.leftMargin = (int) convertDpToPixel(66f, activity);
-            mTitleText.setLayoutParams(titleLP);
-
-            RelativeLayout.LayoutParams subtitleLP = new RelativeLayout.LayoutParams(
-                    metrics.widthPixels / 2, -2);
-            subtitleLP.addRule(RelativeLayout.ALIGN_PARENT_TOP);
-            subtitleLP.addRule(RelativeLayout.ALIGN_PARENT_START);
-            subtitleLP.topMargin = (int) convertDpToPixel(198f, activity);
-            subtitleLP.leftMargin = (int) convertDpToPixel(66f, activity);
-            mSubTitleText.setLayoutParams(subtitleLP);
-        }
-
-        if (newRotation == Surface.ROTATION_90 || newRotation == Surface.ROTATION_270) {
-            RelativeLayout.LayoutParams skipBtnLP =
-                    (RelativeLayout.LayoutParams) mSkipBtn.getLayoutParams();
-            skipBtnLP.topMargin = (int) convertDpToPixel(26f, activity);
-            skipBtnLP.leftMargin = (int) convertDpToPixel(54f, activity);
-            mSkipBtn.requestLayout();
-        }
-    }
-
-    private float convertDpToPixel(float dp, Context context) {
-        return dp * getDensity(context);
-    }
-
-    private float getDensity(Context context) {
-        DisplayMetrics metrics = context.getResources().getDisplayMetrics();
-        return metrics.density;
-    }
-
-    // Give the user a chance to see progress completed before jumping to the next stage.
-    private final Runnable mDelayedFinishRunnable = () -> mEnrollingViewModel.onEnrollingDone();
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
new file mode 100644
index 0000000..7e754ac
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollEnrollingUdfpsFragment.kt
@@ -0,0 +1,707 @@
+/*
+ * 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
new file mode 100644
index 0000000..882cbcf
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollErrorDialog.kt
@@ -0,0 +1,123 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.java
deleted file mode 100644
index 61f8e82..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.java
+++ /dev/null
@@ -1,270 +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 static android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR;
-import static android.view.View.OnClickListener;
-
-import android.app.Activity;
-import android.content.Context;
-import android.hardware.fingerprint.FingerprintManager;
-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.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-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.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;
-
-/**
- * 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>
- */
-public class FingerprintEnrollFindRfpsFragment extends Fragment {
-
-    private static final boolean DEBUG = false;
-    private static final String TAG = "FingerprintEnrollFindRfpsFragment";
-
-    private FingerprintEnrollFindSensorViewModel mViewModel;
-    private FingerprintEnrollProgressViewModel mProgressViewModel;
-    private DeviceRotationViewModel mRotationViewModel;
-
-    private View mView;
-    private GlifLayout mGlifLayout;
-    private FooterBarMixin mFooterBarMixin;
-    private final OnClickListener mOnSkipClickListener = (v) -> mViewModel.onSkipButtonClick();
-    @Nullable private FingerprintFindSensorAnimation mAnimation;
-    @Surface.Rotation private int mLastRotation = -1;
-
-    private final Observer<Integer> mRotationObserver = rotation -> {
-        if (DEBUG) {
-            Log.d(TAG, "rotationObserver " + rotation);
-        }
-        if (rotation != null) {
-            onRotationChanged(rotation);
-        }
-    };
-
-    private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
-        if (DEBUG) {
-            Log.d(TAG, "mProgressObserver(" + progress + ")");
-        }
-        if (progress != null && !progress.isInitialStep()) {
-            stopLookingForFingerprint(true);
-        }
-    };
-
-    private final Observer<EnrollmentStatusMessage> mLastCancelMessageObserver = errorMessage -> {
-        if (DEBUG) {
-            Log.d(TAG, "mLastCancelMessageObserver(" + errorMessage + ")");
-        }
-        if (errorMessage != null) {
-            onLastCancelMessage(errorMessage);
-        }
-    };
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        final Context context = inflater.getContext();
-        mView = inflater.inflate(R.layout.fingerprint_enroll_find_sensor, container, false);
-        mGlifLayout = mView.findViewById(R.id.setup_wizard_layout);
-        mFooterBarMixin = mGlifLayout.getMixin(FooterBarMixin.class);
-        mFooterBarMixin.setSecondaryButton(
-                new FooterButton.Builder(context)
-                        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-                        .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
-                        .build()
-        );
-        View animationView = mView.findViewById(R.id.fingerprint_sensor_location_animation);
-        if (animationView instanceof FingerprintFindSensorAnimation) {
-            mAnimation = (FingerprintFindSensorAnimation) animationView;
-        }
-        return mView;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        final Activity activity = getActivity();
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, mGlifLayout);
-        glifLayoutHelper.setHeaderText(
-                R.string.security_settings_fingerprint_enroll_find_sensor_title);
-        glifLayoutHelper.setDescriptionText(
-                getText(R.string.security_settings_fingerprint_enroll_find_sensor_message));
-        mFooterBarMixin.getSecondaryButton().setOnClickListener(mOnSkipClickListener);
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-
-        if (DEBUG) {
-            Log.d(TAG, "onStart(), start looking for fingerprint, animation exist:"
-                    + (mAnimation != null));
-        }
-        startLookingForFingerprint();
-    }
-
-    @Override
-    public void onResume() {
-        final LiveData<Integer> rotationLiveData = mRotationViewModel.getLiveData();
-        mLastRotation = rotationLiveData.getValue();
-        rotationLiveData.observe(this, mRotationObserver);
-
-        if (mAnimation != null) {
-            if (DEBUG) {
-                Log.d(TAG, "onResume(), start animation");
-            }
-            mAnimation.startAnimation();
-        }
-        super.onResume();
-    }
-
-    @Override
-    public void onPause() {
-        if (mAnimation != null) {
-            if (DEBUG) {
-                Log.d(TAG, "onPause(), pause animation");
-            }
-            mAnimation.pauseAnimation();
-        }
-        super.onPause();
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        final boolean isEnrolling = mProgressViewModel.isEnrolling();
-        if (DEBUG) {
-            Log.d(TAG, "onStop(), current enrolling: " + isEnrolling + ", animation exist:"
-                    + (mAnimation != null));
-        }
-        if (isEnrolling) {
-            stopLookingForFingerprint(false);
-        }
-    }
-
-    private void startLookingForFingerprint() {
-        if (mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "startLookingForFingerprint(), failed because isEnrolling is true before"
-                    + " starting");
-            return;
-        }
-
-        final boolean startResult = mProgressViewModel.startEnrollment(ENROLL_FIND_SENSOR);
-        if (!startResult) {
-            Log.e(TAG, "startLookingForFingerprint(), failed to start enrollment");
-        }
-        mProgressViewModel.getProgressLiveData().observe(this, mProgressObserver);
-    }
-
-    private void stopLookingForFingerprint(boolean waitForLastCancelErrMsg) {
-        if (!mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "stopLookingForFingerprint(), failed because isEnrolling is false before"
-                    + " stopping");
-            return;
-        }
-
-        if (waitForLastCancelErrMsg) {
-            mProgressViewModel.clearErrorMessageLiveData(); // Prevent got previous error message
-            mProgressViewModel.getErrorMessageLiveData().observe(this,
-                    mLastCancelMessageObserver);
-        }
-
-        mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
-        final boolean cancelResult = mProgressViewModel.cancelEnrollment();
-        if (!cancelResult) {
-            Log.e(TAG, "stopLookingForFingerprint(), failed to cancel enrollment");
-        }
-    }
-
-    private void onRotationChanged(@Surface.Rotation int newRotation) {
-        if (DEBUG) {
-            Log.d(TAG, "onRotationChanged() from " + mLastRotation + " to " + newRotation);
-        }
-        if (newRotation % 2 != mLastRotation % 2) {
-            // Fragment is going to be recreated, just stopLookingForFingerprint() here.
-            stopLookingForFingerprint(true);
-        }
-    }
-
-    private void onLastCancelMessage(@NonNull EnrollmentStatusMessage errorMessage) {
-        if (errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            final EnrollmentProgress progress = mProgressViewModel.getProgressLiveData().getValue();
-            mProgressViewModel.clearProgressLiveData();
-            mProgressViewModel.getErrorMessageLiveData().removeObserver(mLastCancelMessageObserver);
-            if (progress != null && !progress.isInitialStep()) {
-                mViewModel.onStartButtonClick();
-            }
-        } else {
-            Log.e(TAG, "mErrorMessageObserver(" + errorMessage + ")");
-        }
-    }
-
-    @Override
-    public void onDestroy() {
-        if (mAnimation != null) {
-            if (DEBUG) {
-                Log.d(TAG, "onDestroy(), stop animation");
-            }
-            mAnimation.stopAnimation();
-        }
-        super.onDestroy();
-    }
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        final FragmentActivity activity = getActivity();
-        final ViewModelProvider provider = new ViewModelProvider(activity);
-        mViewModel = provider.get(FingerprintEnrollFindSensorViewModel.class);
-        mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
-        mRotationViewModel = provider.get(DeviceRotationViewModel.class);
-        super.onAttach(context);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
new file mode 100644
index 0000000..be24fc6
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindRfpsFragment.kt
@@ -0,0 +1,295 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.java
deleted file mode 100644
index 75207ca..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.java
+++ /dev/null
@@ -1,286 +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 static android.hardware.fingerprint.FingerprintManager.ENROLL_FIND_SENSOR;
-
-import android.app.Activity;
-import android.content.Context;
-import android.hardware.fingerprint.FingerprintManager;
-import android.os.Bundle;
-import android.util.Log;
-import android.view.LayoutInflater;
-import android.view.Surface;
-import android.view.View;
-import android.view.View.OnClickListener;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.RawRes;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-
-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.FingerprintEnrollFindSensorViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollProgressViewModel;
-import com.android.settingslib.widget.LottieColorUtils;
-
-import com.airbnb.lottie.LottieAnimationView;
-import com.google.android.setupcompat.template.FooterBarMixin;
-import com.google.android.setupcompat.template.FooterButton;
-import com.google.android.setupdesign.GlifLayout;
-
-/**
- * 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>
- */
-public class FingerprintEnrollFindSfpsFragment extends Fragment {
-
-    private static final boolean DEBUG = false;
-    private static final String TAG = "FingerprintEnrollFindSfpsFragment";
-
-    private FingerprintEnrollFindSensorViewModel mViewModel;
-    private FingerprintEnrollProgressViewModel mProgressViewModel;
-    private DeviceRotationViewModel mRotationViewModel;
-    private DeviceFoldedViewModel mFoldedViewModel;
-
-    private GlifLayout mView;
-    private FooterBarMixin mFooterBarMixin;
-    private final OnClickListener mOnSkipClickListener = (v) -> mViewModel.onSkipButtonClick();
-    private LottieAnimationView mIllustrationLottie;
-    @Surface.Rotation private int mAnimationRotation = -1;
-
-    private final Observer<Integer> mRotationObserver = rotation -> {
-        if (DEBUG) {
-            Log.d(TAG, "rotationObserver " + rotation);
-        }
-        if (rotation != null) {
-            onRotationChanged(rotation);
-        }
-    };
-
-    private final Observer<EnrollmentProgress> mProgressObserver = progress -> {
-        if (DEBUG) {
-            Log.d(TAG, "mProgressObserver(" + progress + ")");
-        }
-        if (progress != null && !progress.isInitialStep()) {
-            stopLookingForFingerprint(true);
-        }
-    };
-
-    private final Observer<EnrollmentStatusMessage> mLastCancelMessageObserver = errorMessage -> {
-        if (DEBUG) {
-            Log.d(TAG, "mLastCancelMessageObserver(" + errorMessage + ")");
-        }
-        if (errorMessage != null) {
-            onLastCancelMessage(errorMessage);
-        }
-    };
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        final Context context = inflater.getContext();
-        mView = (GlifLayout) inflater.inflate(R.layout.sfps_enroll_find_sensor_layout, container,
-                false);
-        mIllustrationLottie = mView.findViewById(R.id.illustration_lottie);
-        mFooterBarMixin = mView.getMixin(FooterBarMixin.class);
-        mFooterBarMixin.setSecondaryButton(
-                new FooterButton.Builder(context)
-                        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-                        .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
-                        .build()
-        );
-        return mView;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        final Activity activity = getActivity();
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, mView);
-        glifLayoutHelper.setHeaderText(R.string.security_settings_sfps_enroll_find_sensor_title);
-        glifLayoutHelper.setDescriptionText(
-                getText(R.string.security_settings_sfps_enroll_find_sensor_message));
-        mFooterBarMixin.getSecondaryButton().setOnClickListener(mOnSkipClickListener);
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-
-        final boolean isEnrolling = mProgressViewModel.isEnrolling();
-        if (DEBUG) {
-            Log.d(TAG, "onStart(), isEnrolling:" + isEnrolling);
-        }
-        if (!isEnrolling) {
-            startLookingForFingerprint();
-        }
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        final LiveData<Integer> rotationLiveData = mRotationViewModel.getLiveData();
-        playLottieAnimation(rotationLiveData.getValue());
-        rotationLiveData.observe(this, mRotationObserver);
-    }
-
-    @Override
-    public void onPause() {
-        mRotationViewModel.getLiveData().removeObserver(mRotationObserver);
-        super.onPause();
-    }
-
-    @Override
-    public void onStop() {
-        super.onStop();
-        final boolean isEnrolling = mProgressViewModel.isEnrolling();
-        if (DEBUG) {
-            Log.d(TAG, "onStop(), isEnrolling:" + isEnrolling);
-        }
-        if (isEnrolling) {
-            stopLookingForFingerprint(false);
-        }
-    }
-
-    private void startLookingForFingerprint() {
-        if (mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "startLookingForFingerprint(), failed because isEnrolling is true before"
-                    + " starting");
-            return;
-        }
-
-        mProgressViewModel.clearProgressLiveData();
-        mProgressViewModel.getProgressLiveData().observe(this, mProgressObserver);
-        final boolean startResult = mProgressViewModel.startEnrollment(ENROLL_FIND_SENSOR);
-        if (!startResult) {
-            Log.e(TAG, "startLookingForFingerprint(), failed to start enrollment");
-        }
-    }
-
-    private void stopLookingForFingerprint(boolean waitForLastCancelErrMsg) {
-        if (!mProgressViewModel.isEnrolling()) {
-            Log.d(TAG, "stopLookingForFingerprint(), failed because isEnrolling is false before"
-                    + " stopping");
-            return;
-        }
-
-        if (waitForLastCancelErrMsg) {
-            mProgressViewModel.clearErrorMessageLiveData(); // Prevent got previous error message
-            mProgressViewModel.getErrorMessageLiveData().observe(this,
-                    mLastCancelMessageObserver);
-        }
-
-        mProgressViewModel.getProgressLiveData().removeObserver(mProgressObserver);
-        final boolean cancelResult = mProgressViewModel.cancelEnrollment();
-        if (!cancelResult) {
-            Log.e(TAG, "stopLookingForFingerprint(), failed to cancel enrollment");
-        }
-    }
-
-    private void onRotationChanged(@Surface.Rotation int newRotation) {
-        if (DEBUG) {
-            Log.d(TAG, "onRotationChanged() from " + mAnimationRotation + " to " + newRotation);
-        }
-        if ((newRotation + 2) % 4 == mAnimationRotation) {
-            // Fragment not changed, we just need to play correct rotation animation
-            playLottieAnimation(newRotation);
-        } else if (newRotation % 2 != mAnimationRotation % 2) {
-            // Fragment is going to be recreated, just stopLookingForFingerprint() here.
-            stopLookingForFingerprint(true);
-        }
-    }
-
-    private void onLastCancelMessage(@NonNull EnrollmentStatusMessage errorMessage) {
-        if (errorMessage.getMsgId() == FingerprintManager.FINGERPRINT_ERROR_CANCELED) {
-            final EnrollmentProgress progress = mProgressViewModel.getProgressLiveData().getValue();
-            mProgressViewModel.clearProgressLiveData();
-            mProgressViewModel.getErrorMessageLiveData().removeObserver(mLastCancelMessageObserver);
-            if (progress != null && !progress.isInitialStep()) {
-                mViewModel.onStartButtonClick();
-            }
-        } else {
-            Log.e(TAG, "mErrorMessageObserver(" + errorMessage + ")");
-        }
-    }
-
-    private void playLottieAnimation(@Surface.Rotation int rotation) {
-        @RawRes final int animationRawRes = getSfpsLottieAnimationRawRes(rotation);
-        if (DEBUG) {
-            Log.d(TAG, "play lottie animation " + animationRawRes
-                    + ", previous rotation:" + mAnimationRotation + ", new rotation:" + rotation);
-        }
-
-        mAnimationRotation = rotation;
-        mIllustrationLottie.setAnimation(animationRawRes);
-        LottieColorUtils.applyDynamicColors(getActivity(), mIllustrationLottie);
-        mIllustrationLottie.setVisibility(View.VISIBLE);
-        mIllustrationLottie.playAnimation();
-    }
-
-    @RawRes
-    private int getSfpsLottieAnimationRawRes(@Surface.Rotation int rotation) {
-        final boolean isFolded = !Boolean.FALSE.equals(mFoldedViewModel.getLiveData().getValue());
-        switch (rotation) {
-            case Surface.ROTATION_90:
-                return isFolded ? R.raw.fingerprint_edu_lottie_folded_top_left
-                        : R.raw.fingerprint_edu_lottie_portrait_top_left;
-            case Surface.ROTATION_180 :
-                return isFolded ? R.raw.fingerprint_edu_lottie_folded_bottom_left
-                        : R.raw.fingerprint_edu_lottie_landscape_bottom_left;
-            case Surface.ROTATION_270 :
-                return isFolded ? R.raw.fingerprint_edu_lottie_folded_bottom_right
-                        : R.raw.fingerprint_edu_lottie_portrait_bottom_right;
-            default :
-                return isFolded ? R.raw.fingerprint_edu_lottie_folded_top_right
-                        : R.raw.fingerprint_edu_lottie_landscape_top_right;
-        }
-    }
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        final FragmentActivity activity = getActivity();
-        final ViewModelProvider provider = new ViewModelProvider(activity);
-        mViewModel = provider.get(FingerprintEnrollFindSensorViewModel.class);
-        mProgressViewModel = provider.get(FingerprintEnrollProgressViewModel.class);
-        mRotationViewModel = provider.get(DeviceRotationViewModel.class);
-        mFoldedViewModel = provider.get(DeviceFoldedViewModel.class);
-        super.onAttach(context);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
new file mode 100644
index 0000000..7455be1
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindSfpsFragment.kt
@@ -0,0 +1,319 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.java
deleted file mode 100644
index 565f017..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.java
+++ /dev/null
@@ -1,115 +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 static android.view.View.OnClickListener;
-
-import android.app.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel;
-
-import com.airbnb.lottie.LottieAnimationView;
-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>
- */
-public class FingerprintEnrollFindUdfpsFragment extends Fragment {
-
-    private FingerprintEnrollFindSensorViewModel mViewModel;
-
-    private View mView;
-    private GlifLayout mGlifLayout;
-    private FooterBarMixin mFooterBarMixin;
-    private final OnClickListener mOnSkipClickListener = (v) -> mViewModel.onSkipButtonClick();
-    private final OnClickListener mOnStartClickListener = (v) -> mViewModel.onStartButtonClick();
-    private LottieAnimationView mIllustrationLottie;
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-        final Context context = inflater.getContext();
-        mView = inflater.inflate(R.layout.udfps_enroll_find_sensor_layout, container, false);
-        mGlifLayout = mView.findViewById(R.id.setup_wizard_layout);
-        mIllustrationLottie = mView.findViewById(R.id.illustration_lottie);
-        mFooterBarMixin = mGlifLayout.getMixin(FooterBarMixin.class);
-        mFooterBarMixin.setSecondaryButton(
-                new FooterButton.Builder(context)
-                        .setText(R.string.security_settings_fingerprint_enroll_enrolling_skip)
-                        .setButtonType(FooterButton.ButtonType.SKIP)
-                        .setTheme(R.style.SudGlifButton_Secondary)
-                        .build()
-        );
-        mFooterBarMixin.setPrimaryButton(
-                new FooterButton.Builder(context)
-                        .setText(R.string.security_settings_udfps_enroll_find_sensor_start_button)
-                        .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
-                        .build()
-        );
-        return mView;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        final Activity activity = getActivity();
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, mGlifLayout);
-        glifLayoutHelper.setHeaderText(R.string.security_settings_udfps_enroll_find_sensor_title);
-        glifLayoutHelper.setDescriptionText(
-                getText(R.string.security_settings_udfps_enroll_find_sensor_message));
-        mFooterBarMixin.getSecondaryButton().setOnClickListener(mOnSkipClickListener);
-        mFooterBarMixin.getPrimaryButton().setOnClickListener(mOnStartClickListener);
-        mIllustrationLottie.setOnClickListener(mOnStartClickListener);
-
-        if (mViewModel.isAccessibilityEnabled()) {
-            mIllustrationLottie.setAnimation(R.raw.udfps_edu_a11y_lottie);
-        }
-    }
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        mViewModel = new ViewModelProvider(getActivity()).get(
-                FingerprintEnrollFindSensorViewModel.class);
-        super.onAttach(context);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
new file mode 100644
index 0000000..3dce99c
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFindUdfpsFragment.kt
@@ -0,0 +1,125 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.java
deleted file mode 100644
index e0b991a..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.java
+++ /dev/null
@@ -1,103 +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.Activity;
-import android.content.Context;
-import android.os.Bundle;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-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.
- */
-public class FingerprintEnrollFinishFragment extends Fragment {
-
-    private FingerprintEnrollFinishViewModel mViewModel;
-
-    private final View.OnClickListener mAddButtonClickListener =
-            (v) -> mViewModel.onAddButtonClick();
-    private final View.OnClickListener mNextButtonClickListener =
-            (v) -> mViewModel.onNextButtonClick();
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        super.onAttach(context);
-        final ViewModelProvider provider = new ViewModelProvider(getActivity());
-        mViewModel = provider.get(FingerprintEnrollFinishViewModel.class);
-    }
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-
-        GlifLayout view = (GlifLayout) inflater.inflate(
-                mViewModel.canAssumeSfps()
-                        ? R.layout.sfps_enroll_finish
-                        : R.layout.fingerprint_enroll_finish,
-                container,
-                false);
-
-        final Activity activity = getActivity();
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(activity, view);
-
-        glifLayoutHelper.setHeaderText(R.string.security_settings_fingerprint_enroll_finish_title);
-        if (mViewModel.canAssumeSfps() && mViewModel.isAnotherFingerprintEnrollable()) {
-            glifLayoutHelper.setDescriptionText(getString(R.string
-                    .security_settings_fingerprint_enroll_finish_v2_add_fingerprint_message));
-        } else {
-            glifLayoutHelper.setDescriptionText(getString(
-                    R.string.security_settings_fingerprint_enroll_finish_v2_message));
-        }
-
-        final FooterBarMixin footerBarMixin = view.getMixin(FooterBarMixin.class);
-        footerBarMixin.setPrimaryButton(
-                new FooterButton.Builder(activity)
-                        .setText(mViewModel.getRequest().isSuw()
-                                ? R.string.next_label
-                                : R.string.security_settings_fingerprint_enroll_done)
-                        .setListener(mNextButtonClickListener)
-                        .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
-                        .build()
-        );
-        if (mViewModel.isAnotherFingerprintEnrollable()) {
-            footerBarMixin.setSecondaryButton(new FooterButton.Builder(activity)
-                    .setText(R.string.fingerprint_enroll_button_add)
-                    .setListener(mAddButtonClickListener)
-                    .setButtonType(FooterButton.ButtonType.SKIP)
-                    .setTheme(R.style.SudGlifButton_Secondary)
-                    .build());
-        }
-
-        return view;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
new file mode 100644
index 0000000..2af2dee
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollFinishFragment.kt
@@ -0,0 +1,117 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java
deleted file mode 100644
index be1f0bd..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.java
+++ /dev/null
@@ -1,281 +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 static android.app.admin.DevicePolicyResources.Strings.Settings.FINGERPRINT_UNLOCK_DISABLED;
-
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_OK;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_UNKNOWN;
-
-import static com.google.android.setupdesign.util.DynamicColorPalette.ColorType.ACCENT;
-
-import android.app.admin.DevicePolicyManager;
-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.View.OnClickListener;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.StringRes;
-import androidx.fragment.app.Fragment;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus;
-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;
-
-/**
- * Fingerprint intro onboarding page fragment implementation
- */
-public class FingerprintEnrollIntroFragment extends Fragment {
-
-    private static final String TAG = "FingerprintEnrollIntroFragment";
-
-    private FingerprintEnrollIntroViewModel mViewModel = null;
-
-    private View mView = null;
-    private FooterButton mPrimaryFooterButton = null;
-    private FooterButton mSecondaryFooterButton = null;
-    private final OnClickListener mOnNextClickListener = (v) -> mViewModel.onNextButtonClick();
-    private final OnClickListener mOnSkipOrCancelClickListener =
-            (v) -> mViewModel.onSkipOrCancelButtonClick();
-    private ImageView mIconShield = null;
-    private TextView mFooterMessage6 = null;
-    @Nullable private PorterDuffColorFilter mIconColorFilter;
-
-    @Nullable
-    @Override
-    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container,
-            @Nullable Bundle savedInstanceState) {
-
-        final Context context = inflater.getContext();
-        mView = inflater.inflate(R.layout.fingerprint_enroll_introduction, container, false);
-
-        final ImageView iconFingerprint = mView.findViewById(R.id.icon_fingerprint);
-        final ImageView iconDeviceLocked = mView.findViewById(R.id.icon_device_locked);
-        final ImageView iconTrashCan = mView.findViewById(R.id.icon_trash_can);
-        final ImageView iconInfo = mView.findViewById(R.id.icon_info);
-        mIconShield = mView.findViewById(R.id.icon_shield);
-        final ImageView iconLink = mView.findViewById(R.id.icon_link);
-        iconFingerprint.getDrawable().setColorFilter(getIconColorFilter(context));
-        iconDeviceLocked.getDrawable().setColorFilter(getIconColorFilter(context));
-        iconTrashCan.getDrawable().setColorFilter(getIconColorFilter(context));
-        iconInfo.getDrawable().setColorFilter(getIconColorFilter(context));
-        mIconShield.getDrawable().setColorFilter(getIconColorFilter(context));
-        iconLink.getDrawable().setColorFilter(getIconColorFilter(context));
-
-        final TextView footerMessage2 = mView.findViewById(R.id.footer_message_2);
-        final TextView footerMessage3 = mView.findViewById(R.id.footer_message_3);
-        final TextView footerMessage4 = mView.findViewById(R.id.footer_message_4);
-        final TextView footerMessage5 = mView.findViewById(R.id.footer_message_5);
-        mFooterMessage6 = mView.findViewById(R.id.footer_message_6);
-        footerMessage2.setText(
-                R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_2);
-        footerMessage3.setText(
-                R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_3);
-        footerMessage4.setText(
-                R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_4);
-        footerMessage5.setText(
-                R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_5);
-        mFooterMessage6.setText(
-                R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_6);
-
-        final TextView footerTitle1 = mView.findViewById(R.id.footer_title_1);
-        final TextView footerTitle2 = mView.findViewById(R.id.footer_title_2);
-        footerTitle1.setText(
-                R.string.security_settings_fingerprint_enroll_introduction_footer_title_1);
-        footerTitle2.setText(
-                R.string.security_settings_fingerprint_enroll_introduction_footer_title_2);
-
-        final TextView footerLink = mView.findViewById(R.id.footer_learn_more);
-        footerLink.setMovementMethod(LinkMovementMethod.getInstance());
-        final String footerLinkStr = getContext().getString(
-                R.string.security_settings_fingerprint_v2_enroll_introduction_message_learn_more,
-                Html.FROM_HTML_MODE_LEGACY);
-        footerLink.setText(Html.fromHtml(footerLinkStr));
-
-        // footer buttons
-        mPrimaryFooterButton = new FooterButton.Builder(context)
-                .setText(R.string.security_settings_fingerprint_enroll_introduction_agree)
-                .setButtonType(FooterButton.ButtonType.OPT_IN)
-                .setTheme(R.style.SudGlifButton_Primary)
-                .build();
-        mSecondaryFooterButton = new FooterButton.Builder(context)
-                .setButtonType(FooterButton.ButtonType.NEXT)
-                .setTheme(R.style.SudGlifButton_Primary)
-                .build();
-        getFooterBarMixin().setPrimaryButton(mPrimaryFooterButton);
-        getFooterBarMixin().setSecondaryButton(mSecondaryFooterButton, true /* usePrimaryStyle */);
-
-        return mView;
-    }
-
-    @Override
-    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-
-        final Context context = view.getContext();
-
-        mPrimaryFooterButton.setOnClickListener(mOnNextClickListener);
-        mSecondaryFooterButton.setOnClickListener(mOnSkipOrCancelClickListener);
-
-        if (mViewModel.canAssumeUdfps()) {
-            mFooterMessage6.setVisibility(View.VISIBLE);
-            mIconShield.setVisibility(View.VISIBLE);
-        } else {
-            mFooterMessage6.setVisibility(View.GONE);
-            mIconShield.setVisibility(View.GONE);
-        }
-        mSecondaryFooterButton.setText(context,
-                mViewModel.getRequest().isAfterSuwOrSuwSuggestedAction()
-                ? R.string.security_settings_fingerprint_enroll_introduction_cancel
-                : R.string.security_settings_fingerprint_enroll_introduction_no_thanks);
-
-        final GlifLayoutHelper glifLayoutHelper = new GlifLayoutHelper(getActivity(), getLayout());
-        if (mViewModel.isBiometricUnlockDisabledByAdmin()
-                && !mViewModel.isParentalConsentRequired()) {
-            glifLayoutHelper.setHeaderText(
-                    R.string.security_settings_fingerprint_enroll_introduction_title_unlock_disabled
-            );
-            glifLayoutHelper.setDescriptionText(getDescriptionDisabledByAdmin(context));
-        } 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)));
-        }
-        observePageStatusLiveDataIfNeed();
-    }
-
-    private void observePageStatusLiveDataIfNeed() {
-        final LiveData<FingerprintEnrollIntroStatus> statusLiveData =
-                mViewModel.getPageStatusLiveData();
-        final FingerprintEnrollIntroStatus status = statusLiveData.getValue();
-        if (status != null && status.hasScrollToBottom()) {
-            // Do not requireScrollWithButton() again when "I agree" or "Done" button is visible,
-            // because if we requireScrollWithButton() again, it will become "More" after scroll-up.
-            return;
-        }
-
-        final RequireScrollMixin requireScrollMixin = getLayout()
-                .getMixin(RequireScrollMixin.class);
-        requireScrollMixin.requireScrollWithButton(getActivity(), mPrimaryFooterButton,
-                getMoreButtonTextRes(), mOnNextClickListener);
-
-        // Always set true to setHasScrolledToBottom() before registering listener through
-        // setOnRequireScrollStateChangedListener(), because listener will not be called if first
-        // scrollNeeded is true
-        mViewModel.setHasScrolledToBottom(true);
-        requireScrollMixin.setOnRequireScrollStateChangedListener(
-                scrollNeeded -> mViewModel.setHasScrolledToBottom(!scrollNeeded));
-        statusLiveData.observe(this, this::updateFooterButtons);
-    }
-
-    @Override
-    public void onAttach(@NonNull Context context) {
-        mViewModel = new ViewModelProvider(getActivity())
-                .get(FingerprintEnrollIntroViewModel.class);
-        super.onAttach(context);
-    }
-
-    @NonNull
-    private PorterDuffColorFilter getIconColorFilter(@NonNull Context context) {
-        if (mIconColorFilter == null) {
-            mIconColorFilter = new PorterDuffColorFilter(
-                    DynamicColorPalette.getColor(context, ACCENT),
-                    PorterDuff.Mode.SRC_IN);
-        }
-        return mIconColorFilter;
-    }
-
-    private GlifLayout getLayout() {
-        return mView.findViewById(R.id.setup_wizard_layout);
-    }
-
-    @NonNull
-    private FooterBarMixin getFooterBarMixin() {
-        final GlifLayout layout = getLayout();
-        return layout.getMixin(FooterBarMixin.class);
-    }
-
-    @NonNull
-    private String getDescriptionDisabledByAdmin(@NonNull Context context) {
-        final int defaultStrId =
-                R.string.security_settings_fingerprint_enroll_introduction_message_unlock_disabled;
-
-        final DevicePolicyManager devicePolicyManager = getActivity()
-                .getSystemService(DevicePolicyManager.class);
-        if (devicePolicyManager != null) {
-            return devicePolicyManager.getResources().getString(FINGERPRINT_UNLOCK_DISABLED,
-                    () -> context.getString(defaultStrId));
-        } else {
-            Log.w(TAG, "getDescriptionDisabledByAdmin, null device policy manager res");
-            return "";
-        }
-    }
-
-    void updateFooterButtons(@NonNull FingerprintEnrollIntroStatus status) {
-        @StringRes final int scrollToBottomPrimaryResId =
-                status.getEnrollableStatus() == FINGERPRINT_ENROLLABLE_OK
-                        ? R.string.security_settings_fingerprint_enroll_introduction_agree
-                        : R.string.done;
-
-        mPrimaryFooterButton.setText(getContext(),
-                status.hasScrollToBottom() ? scrollToBottomPrimaryResId : getMoreButtonTextRes());
-        mSecondaryFooterButton.setVisibility(
-                status.hasScrollToBottom() ? View.VISIBLE : View.INVISIBLE);
-
-        final TextView errorTextView = mView.findViewById(R.id.error_text);
-        switch (status.getEnrollableStatus()) {
-            case FINGERPRINT_ENROLLABLE_OK:
-                errorTextView.setText(null);
-                errorTextView.setVisibility(View.GONE);
-                break;
-            case FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX:
-                errorTextView.setText(R.string.fingerprint_intro_error_max);
-                errorTextView.setVisibility(View.VISIBLE);
-                break;
-            case FINGERPRINT_ENROLLABLE_UNKNOWN:
-                // default case, do nothing.
-        }
-    }
-
-    @StringRes
-    private int getMoreButtonTextRes() {
-        return R.string.security_settings_face_enroll_introduction_more;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
new file mode 100644
index 0000000..d1b3799
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollIntroFragment.kt
@@ -0,0 +1,329 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.java
deleted file mode 100644
index 4a09eb9..0000000
--- a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.java
+++ /dev/null
@@ -1,628 +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 static androidx.activity.result.contract.ActivityResultContracts.StartActivityForResult;
-import static androidx.lifecycle.ViewModelProvider.AndroidViewModelFactory.APPLICATION_KEY;
-
-import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.CHALLENGE_GENERATOR_KEY;
-import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.ENROLLMENT_REQUEST_KEY;
-import static com.android.settings.biometrics2.factory.BiometricsViewModelFactory.USER_ID_KEY;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_IS_GENERATING_CHALLENGE;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_VALID;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.ErrorDialogData;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE;
-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.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingAction;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FingerprintErrorDialogAction;
-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.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel.FingerprintEnrollFindSensorAction;
-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.ui.viewmodel.FingerprintEnrollFinishViewModel.FingerprintEnrollFinishAction;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FingerprintEnrollIntroAction;
-
-import android.annotation.StyleRes;
-import android.app.Application;
-import android.content.Intent;
-import android.content.res.ColorStateList;
-import android.content.res.Configuration;
-import android.content.res.Resources;
-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.annotation.ColorInt;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.fragment.app.Fragment;
-import androidx.fragment.app.FragmentActivity;
-import androidx.lifecycle.Observer;
-import androidx.lifecycle.ViewModelProvider;
-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.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.factory.BiometricsViewModelFactory;
-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.DeviceFoldedViewModel;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel;
-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.google.android.setupdesign.util.ThemeHelper;
-
-/**
- * Fingerprint enrollment activity implementation
- */
-public class FingerprintEnrollmentActivity extends FragmentActivity {
-
-    private static final boolean DEBUG = false;
-    private static final String TAG = "FingerprintEnrollmentActivity";
-
-    private static final String INTRO_TAG = "intro";
-    private static final String FIND_UDFPS_TAG = "find-udfps";
-    private static final String FIND_SFPS_TAG = "find-sfps";
-    private static final String FIND_RFPS_TAG = "find-rfps";
-    private static final String ENROLLING_UDFPS_TAG = "enrolling-udfps";
-    private static final String ENROLLING_SFPS_TAG = "enrolling-sfps";
-    private static final String ENROLLING_RFPS_TAG = "enrolling-rfps";
-    private static final String FINISH_TAG = "finish";
-    private static final String SKIP_SETUP_FIND_FPS_DIALOG_TAG = "skip-setup-dialog";
-    private static final String ENROLLING_ERROR_DIALOG_TAG = "enrolling-error-dialog";
-
-    protected static final int LAUNCH_CONFIRM_LOCK_ACTIVITY = 1;
-
-    // This flag is used for addBackStack(), we do not save it in ViewModel because it is just used
-    // during FragmentManager calls
-    private boolean mIsFirstFragmentAdded = false;
-
-    private ViewModelProvider mViewModelProvider;
-    private FingerprintEnrollmentViewModel mViewModel;
-    private AutoCredentialViewModel mAutoCredentialViewModel;
-    private final Observer<Integer> mIntroActionObserver = action -> {
-        if (DEBUG) {
-            Log.d(TAG, "mIntroActionObserver(" + action + ")");
-        }
-        if (action != null) {
-            onIntroAction(action);
-        }
-    };
-    private final Observer<Integer> mFindSensorActionObserver = action -> {
-        if (DEBUG) {
-            Log.d(TAG, "mFindSensorActionObserver(" + action + ")");
-        }
-        if (action != null) {
-            onFindSensorAction(action);
-        }
-    };
-    private final Observer<Integer> mEnrollingActionObserver = action -> {
-        if (DEBUG) {
-            Log.d(TAG, "mEnrollingActionObserver(" + action + ")");
-        }
-        if (action != null) {
-            onEnrollingAction(action);
-        }
-    };
-    private final Observer<ErrorDialogData> mEnrollingErrorDialogObserver = data -> {
-        if (DEBUG) {
-            Log.d(TAG, "mEnrollingErrorDialogObserver(" + data + ")");
-        }
-        if (data != null) {
-            new FingerprintEnrollEnrollingErrorDialog().show(getSupportFragmentManager(),
-                    ENROLLING_ERROR_DIALOG_TAG);
-        }
-    };
-    private final Observer<Integer> mEnrollingErrorDialogActionObserver = action -> {
-        if (DEBUG) {
-            Log.d(TAG, "mEnrollingErrorDialogActionObserver(" + action + ")");
-        }
-        if (action != null) {
-            onEnrollingErrorDialogAction(action);
-        }
-    };
-    private final Observer<Integer> mFinishActionObserver = action -> {
-        if (DEBUG) {
-            Log.d(TAG, "mFinishActionObserver(" + action + ")");
-        }
-        if (action != null) {
-            onFinishAction(action);
-        }
-    };
-    private final ActivityResultCallback<ActivityResult> mChooseLockResultCallback =
-            result -> onChooseOrConfirmLockResult(true /* isChooseLock */, result);
-    private final ActivityResultLauncher<Intent> mChooseLockLauncher =
-            registerForActivityResult(new StartActivityForResult(), mChooseLockResultCallback);
-
-    @Override
-    protected void onCreate(@Nullable Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-
-        mViewModelProvider = new ViewModelProvider(this);
-
-        mViewModel = mViewModelProvider.get(FingerprintEnrollmentViewModel.class);
-        mViewModel.setSavedInstanceState(savedInstanceState);
-
-        mAutoCredentialViewModel = mViewModelProvider.get(AutoCredentialViewModel.class);
-        mAutoCredentialViewModel.setCredentialModel(savedInstanceState, getIntent());
-
-        // Theme
-        setTheme(mViewModel.getRequest().getTheme());
-        ThemeHelper.trySetDynamicColor(this);
-        getWindow().setStatusBarColor(android.graphics.Color.TRANSPARENT);
-
-        // fragment
-        setContentView(R.layout.biometric_enrollment_container);
-
-        final Fragment fragment = getSupportFragmentManager().findFragmentById(
-                R.id.fragment_container_view);
-        if (DEBUG) {
-            Log.d(TAG, "onCreate() has savedInstance:" + (savedInstanceState != null)
-                    + ", fragment:" + fragment);
-        }
-        if (fragment == null) {
-            checkCredential();
-            final EnrollmentRequest request = mViewModel.getRequest();
-            if (request.isSkipFindSensor()) {
-                startEnrollingFragment();
-            } else if (request.isSkipIntro()) {
-                startFindSensorFragment();
-            } else {
-                startIntroFragment();
-            }
-        } else {
-            final String tag = fragment.getTag();
-            if (INTRO_TAG.equals(tag)) {
-                attachIntroViewModel();
-            } else if (FIND_UDFPS_TAG.equals(tag) || FIND_SFPS_TAG.equals(tag)
-                    || FIND_RFPS_TAG.equals(tag)) {
-                attachFindSensorViewModel();
-                attachIntroViewModel();
-            } else if (ENROLLING_UDFPS_TAG.equals(tag) || ENROLLING_SFPS_TAG.equals(tag)
-                    || ENROLLING_RFPS_TAG.equals(tag)) {
-                attachEnrollingViewModel();
-                attachFindSensorViewModel();
-                attachIntroViewModel();
-            } else if (FINISH_TAG.equals(tag)) {
-                attachFinishViewModel();
-                attachFindSensorViewModel();
-                attachIntroViewModel();
-            } else {
-                Log.e(TAG, "fragment tag " + tag + " not found");
-                finish();
-                return;
-            }
-        }
-
-        // observe LiveData
-        mViewModel.getSetResultLiveData().observe(this, this::onSetActivityResult);
-
-        mAutoCredentialViewModel.getGenerateChallengeFailedLiveData().observe(this,
-                this::onGenerateChallengeFailed);
-    }
-
-    private void startFragment(@NonNull Class<? extends Fragment> fragmentClass,
-            @NonNull String tag) {
-        if (!mIsFirstFragmentAdded) {
-            getSupportFragmentManager().beginTransaction()
-                    .setReorderingAllowed(true)
-                    .replace(R.id.fragment_container_view, fragmentClass, null, tag)
-                    .commit();
-            mIsFirstFragmentAdded = true;
-        } else {
-            getSupportFragmentManager().beginTransaction()
-                    .setReorderingAllowed(true)
-                    .setCustomAnimations(R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                            R.anim.shared_x_axis_activity_open_exit,
-                            R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                            R.anim.shared_x_axis_activity_close_exit)
-                    .replace(R.id.fragment_container_view, fragmentClass, null, tag)
-                    .addToBackStack(tag)
-                    .commit();
-        }
-    }
-
-    private void startIntroFragment() {
-        attachIntroViewModel();
-        startFragment(FingerprintEnrollIntroFragment.class, INTRO_TAG);
-    }
-
-    private void attachIntroViewModel() {
-        final EnrollmentRequest request = mViewModel.getRequest();
-        if (request.isSkipIntro() || request.isSkipFindSensor()) {
-            return;
-        }
-
-        final FingerprintEnrollIntroViewModel introViewModel =
-                mViewModelProvider.get(FingerprintEnrollIntroViewModel.class);
-
-        // Clear ActionLiveData in FragmentViewModel to prevent getting previous action during
-        // recreate, like press 'Agree' then press 'back' in FingerprintEnrollFindSensor activity.
-        introViewModel.clearActionLiveData();
-        introViewModel.getActionLiveData().observe(this, mIntroActionObserver);
-    }
-
-    // We need to make sure token is valid before entering find sensor page
-    private void startFindSensorFragment() {
-        // Always setToken into progressViewModel even it is not necessary action for UDFPS
-        mViewModelProvider.get(FingerprintEnrollProgressViewModel.class)
-                .setToken(mAutoCredentialViewModel.getToken());
-
-        attachFindSensorViewModel();
-
-        final String tag;
-        final Class<? extends Fragment> fragmentClass;
-        if (mViewModel.canAssumeUdfps()) {
-            tag = FIND_UDFPS_TAG;
-            fragmentClass = FingerprintEnrollFindUdfpsFragment.class;
-        } else if (mViewModel.canAssumeSfps()) {
-            tag = FIND_SFPS_TAG;
-            fragmentClass = FingerprintEnrollFindSfpsFragment.class;
-        } else {
-            tag = FIND_RFPS_TAG;
-            fragmentClass = FingerprintEnrollFindRfpsFragment.class;
-        }
-        startFragment(fragmentClass, tag);
-    }
-
-    private void attachFindSensorViewModel() {
-        if (mViewModel.getRequest().isSkipFindSensor()) {
-            return;
-        }
-
-        final FingerprintEnrollFindSensorViewModel findSensorViewModel =
-                mViewModelProvider.get(FingerprintEnrollFindSensorViewModel.class);
-
-        // Clear ActionLiveData in FragmentViewModel to prevent getting previous action during
-        // recreate, like press 'Start' then press 'back' in FingerprintEnrollEnrolling activity.
-        findSensorViewModel.clearActionLiveData();
-        findSensorViewModel.getActionLiveData().observe(this, mFindSensorActionObserver);
-    }
-
-    private void startEnrollingFragment() {
-        // Always setToken into progressViewModel even it is not necessary action for SFPS or RFPS
-        mViewModelProvider.get(FingerprintEnrollProgressViewModel.class)
-                .setToken(mAutoCredentialViewModel.getToken());
-
-        attachEnrollingViewModel();
-
-        final String tag;
-        final Class<? extends Fragment> fragmentClass;
-        if (mViewModel.canAssumeUdfps()) {
-            tag = ENROLLING_UDFPS_TAG;
-            fragmentClass = FingerprintEnrollEnrollingUdfpsFragment.class;
-        } else if (mViewModel.canAssumeSfps()) {
-            tag = ENROLLING_SFPS_TAG;
-            fragmentClass = FingerprintEnrollEnrollingSfpsFragment.class;
-        } else {
-            tag = ENROLLING_RFPS_TAG;
-            fragmentClass = FingerprintEnrollEnrollingRfpsFragment.class;
-        }
-        startFragment(fragmentClass, tag);
-    }
-
-    private void attachEnrollingViewModel() {
-        final FingerprintEnrollEnrollingViewModel enrollingViewModel =
-                mViewModelProvider.get(FingerprintEnrollEnrollingViewModel.class);
-        enrollingViewModel.clearActionLiveData();
-        enrollingViewModel.getActionLiveData().observe(this, mEnrollingActionObserver);
-        enrollingViewModel.getErrorDialogLiveData().observe(this, mEnrollingErrorDialogObserver);
-        enrollingViewModel.getErrorDialogActionLiveData().observe(this,
-                mEnrollingErrorDialogActionObserver);
-    }
-
-    private void startFinishFragment() {
-        mViewModel.setIsNewFingerprintAdded();
-        attachFinishViewModel();
-
-        getSupportFragmentManager().popBackStack();
-        if (getSupportFragmentManager().getBackStackEntryCount() == 0) {
-            // Replace enrolling page
-            getSupportFragmentManager().beginTransaction()
-                    .setReorderingAllowed(true)
-                    .setCustomAnimations(R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                            R.anim.shared_x_axis_activity_open_exit,
-                            R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                            R.anim.shared_x_axis_activity_close_exit)
-                    .replace(R.id.fragment_container_view, FingerprintEnrollFinishFragment.class,
-                            null, FINISH_TAG)
-                    .commit();
-        } else {
-            // Remove Enrolling page from backstack, and add Finish page. Latest backstack will
-            // be changed from Intro->FindSensor->Enrolling to Intro->FindSensor->Finish
-            getSupportFragmentManager().beginTransaction()
-                    .setReorderingAllowed(true)
-                    .setCustomAnimations(R.anim.shared_x_axis_activity_open_enter_dynamic_color,
-                            R.anim.shared_x_axis_activity_open_exit,
-                            R.anim.shared_x_axis_activity_close_enter_dynamic_color,
-                            R.anim.shared_x_axis_activity_close_exit)
-                    .replace(R.id.fragment_container_view, FingerprintEnrollFinishFragment.class,
-                            null, FINISH_TAG)
-                    .addToBackStack(FINISH_TAG)
-                    .commit();
-        }
-    }
-
-    private void attachFinishViewModel() {
-        final FingerprintEnrollFinishViewModel viewModel =
-                mViewModelProvider.get(FingerprintEnrollFinishViewModel.class);
-        viewModel.clearActionLiveData();
-        viewModel.getActionLiveData().observe(this, mFinishActionObserver);
-    }
-
-    private void onGenerateChallengeFailed(@NonNull Boolean ignoredBoolean) {
-        onSetActivityResult(new ActivityResult(RESULT_CANCELED, null));
-    }
-
-    private void onSetActivityResult(@NonNull ActivityResult result) {
-        final Bundle challengeExtras = mAutoCredentialViewModel.createGeneratingChallengeExtras();
-        final ActivityResult overrideResult = mViewModel.getOverrideActivityResult(
-                result, challengeExtras);
-        if (DEBUG) {
-            Log.d(TAG, "onSetActivityResult(" + result + "), override:" + overrideResult
-                    + ") challengeExtras:" + challengeExtras);
-        }
-        setResult(overrideResult.getResultCode(), overrideResult.getData());
-        finish();
-    }
-
-    private void checkCredential() {
-        switch (mAutoCredentialViewModel.checkCredential()) {
-            case CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK: {
-                final Intent intent = mAutoCredentialViewModel.createChooseLockIntent(this,
-                        mViewModel.getRequest().isSuw(), mViewModel.getRequest().getSuwExtras());
-                if (!mViewModel.isWaitingActivityResult().compareAndSet(false, true)) {
-                    Log.w(TAG, "chooseLock, fail to set isWaiting flag to true");
-                }
-                mChooseLockLauncher.launch(intent);
-                return;
-            }
-            case CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK: {
-                final boolean launched = mAutoCredentialViewModel.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 (!mViewModel.isWaitingActivityResult().compareAndSet(false, true)) {
-                    Log.w(TAG, "confirmLock, fail to set isWaiting flag to true");
-                }
-                return;
-            }
-            case CREDENTIAL_VALID:
-            case CREDENTIAL_IS_GENERATING_CHALLENGE: {
-                // Do nothing
-            }
-        }
-    }
-
-    private void onChooseOrConfirmLockResult(boolean isChooseLock,
-            @NonNull ActivityResult activityResult) {
-        if (!mViewModel.isWaitingActivityResult().compareAndSet(true, false)) {
-            Log.w(TAG, "isChooseLock:" + isChooseLock + ", fail to unset waiting flag");
-        }
-        if (mAutoCredentialViewModel.checkNewCredentialFromActivityResult(
-                isChooseLock, activityResult)) {
-            overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
-        } else {
-            onSetActivityResult(activityResult);
-        }
-    }
-
-    private void onIntroAction(@FingerprintEnrollIntroAction int action) {
-        switch (action) {
-            case FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH: {
-                onSetActivityResult(
-                        new ActivityResult(BiometricEnrollBase.RESULT_FINISHED, null));
-                return;
-            }
-            case FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL: {
-                onSetActivityResult(
-                        new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null));
-                return;
-            }
-            case FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL: {
-                startFindSensorFragment();
-            }
-        }
-    }
-
-    private void onFindSensorAction(@FingerprintEnrollFindSensorAction int action) {
-        switch (action) {
-            case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_SKIP: {
-                onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null));
-                return;
-            }
-            case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_DIALOG: {
-                new SkipSetupFindFpsDialog().show(getSupportFragmentManager(),
-                        SKIP_SETUP_FIND_FPS_DIALOG_TAG);
-                return;
-            }
-            case FINGERPRINT_ENROLL_FIND_SENSOR_ACTION_START: {
-                startEnrollingFragment();
-            }
-        }
-    }
-
-    private void onEnrollingAction(@FingerprintEnrollEnrollingAction int action) {
-        switch (action) {
-            case FINGERPRINT_ENROLL_ENROLLING_ACTION_DONE: {
-                startFinishFragment();
-                break;
-            }
-            case FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP: {
-                onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_SKIP, null));
-                break;
-            }
-            case FINGERPRINT_ENROLL_ENROLLING_ACTION_SHOW_ICON_TOUCH_DIALOG: {
-                new FingerprintEnrollEnrollingIconTouchDialog().show(getSupportFragmentManager(),
-                        SKIP_SETUP_FIND_FPS_DIALOG_TAG);
-                break;
-            }
-            case FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED: {
-                if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
-                    getSupportFragmentManager().popBackStack();
-                } else {
-                    onSetActivityResult(new ActivityResult(RESULT_CANCELED, null));
-                }
-                break;
-            }
-        }
-    }
-
-    private void onEnrollingErrorDialogAction(@FingerprintErrorDialogAction int action) {
-        switch (action) {
-            case FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH:
-                onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_FINISHED, null));
-                break;
-            case FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT:
-                onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null));
-                break;
-        }
-    }
-
-    private void onFinishAction(@FingerprintEnrollFinishAction int action) {
-        switch (action) {
-            case FINGERPRINT_ENROLL_FINISH_ACTION_ADD_BUTTON_CLICK: {
-                startEnrollingFragment();
-                break;
-            }
-            case FINGERPRINT_ENROLL_FINISH_ACTION_NEXT_BUTTON_CLICK: {
-                final Intent data;
-                if (mViewModel.getRequest().isSuw()) {
-                    data = new Intent();
-                    data.putExtras(mViewModel.getSuwFingerprintCountExtra(
-                            mAutoCredentialViewModel.getUserId()));
-                } else {
-                    data = null;
-                }
-                onSetActivityResult(new ActivityResult(BiometricEnrollBase.RESULT_FINISHED, data));
-                break;
-            }
-        }
-    }
-
-    @Override
-    protected void onPause() {
-        super.onPause();
-        mViewModel.checkFinishActivityDuringOnPause(isFinishing(), isChangingConfigurations());
-    }
-
-    @Override
-    protected void onDestroy() {
-        mViewModel.updateFingerprintSuggestionEnableState(mAutoCredentialViewModel.getUserId());
-        super.onDestroy();
-    }
-
-    @Override
-    protected void onApplyThemeResource(Resources.Theme theme, @StyleRes int resid, boolean first) {
-        theme.applyStyle(R.style.SetupWizardPartnerResource, true);
-        super.onApplyThemeResource(theme, resid, first);
-    }
-
-    @Override
-    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
-        if (requestCode == LAUNCH_CONFIRM_LOCK_ACTIVITY) {
-            onChooseOrConfirmLockResult(false, new ActivityResult(resultCode, data));
-            return;
-        }
-        super.onActivityResult(requestCode, resultCode, data);
-    }
-
-    @NonNull
-    @Override
-    public CreationExtras getDefaultViewModelCreationExtras() {
-        final Application application =
-                super.getDefaultViewModelCreationExtras().get(APPLICATION_KEY);
-        final MutableCreationExtras ret = new MutableCreationExtras();
-        ret.set(APPLICATION_KEY, application);
-
-        final FingerprintRepository repository = FeatureFactory.getFactory(application)
-                .getBiometricsRepositoryProvider().getFingerprintRepository(application);
-        ret.set(CHALLENGE_GENERATOR_KEY, new FingerprintChallengeGenerator(repository));
-
-        ret.set(ENROLLMENT_REQUEST_KEY, new EnrollmentRequest(getIntent(),
-                getApplicationContext()));
-
-        Bundle extras = getIntent().getExtras();
-        final CredentialModel credentialModel = new CredentialModel(extras,
-                SystemClock.elapsedRealtimeClock());
-        ret.set(USER_ID_KEY, credentialModel.getUserId());
-
-        return ret;
-    }
-
-    @NonNull
-    @Override
-    public ViewModelProvider.Factory getDefaultViewModelProviderFactory() {
-        return new BiometricsViewModelFactory();
-    }
-
-    @Override
-    public void onAttachedToWindow() {
-        super.onAttachedToWindow();
-        getWindow().setStatusBarColor(getBackgroundColor());
-    }
-
-    @ColorInt
-    private int getBackgroundColor() {
-        final ColorStateList stateList = Utils.getColorAttr(this, android.R.attr.windowBackground);
-        return stateList != null ? stateList.getDefaultColor() : Color.TRANSPARENT;
-    }
-
-    @Override
-    public void onConfigurationChanged(@NonNull Configuration newConfig) {
-        mViewModelProvider.get(DeviceFoldedViewModel.class).onConfigurationChanged(newConfig);
-        super.onConfigurationChanged(newConfig);
-    }
-
-    @Override
-    protected void onSaveInstanceState(@NonNull Bundle outState) {
-        super.onSaveInstanceState(outState);
-        mViewModel.onSaveInstanceState(outState);
-        mAutoCredentialViewModel.onSaveInstanceState(outState);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
new file mode 100644
index 0000000..ec96597
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivity.kt
@@ -0,0 +1,633 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.java
deleted file mode 100644
index 6af4928..0000000
--- a/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.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.view;
-
-import android.app.Activity;
-import android.text.TextUtils;
-import android.view.View;
-import android.widget.TextView;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.StringRes;
-
-import com.google.android.setupdesign.GlifLayout;
-
-/**
- * Utils class for GlifLayout
- */
-public class GlifLayoutHelper {
-
-    @NonNull private final Activity mActivity;
-    @NonNull private final GlifLayout mGlifLayout;
-
-    public GlifLayoutHelper(@NonNull Activity activity, @NonNull GlifLayout glifLayout) {
-        mActivity = activity;
-        mGlifLayout = glifLayout;
-    }
-
-    /**
-     * Sets header text to GlifLayout
-     */
-    public void setHeaderText(@StringRes int textResId) {
-        TextView layoutTitle = mGlifLayout.getHeaderTextView();
-        CharSequence previousTitle = layoutTitle.getText();
-        CharSequence title = mActivity.getText(textResId);
-        if (previousTitle != title) {
-            if (!TextUtils.isEmpty(previousTitle)) {
-                layoutTitle.setAccessibilityLiveRegion(View.ACCESSIBILITY_LIVE_REGION_POLITE);
-            }
-            mGlifLayout.setHeaderText(title);
-            mGlifLayout.getHeaderTextView().setContentDescription(title);
-            mActivity.setTitle(title);
-        }
-        mGlifLayout.getHeaderTextView().setContentDescription(title);
-    }
-
-    /**
-     * Sets description text to GlifLayout
-     */
-    public void setDescriptionText(CharSequence description) {
-        CharSequence previousDescription = mGlifLayout.getDescriptionText();
-        // Prevent a11y for re-reading the same string
-        if (!TextUtils.equals(previousDescription, description)) {
-            mGlifLayout.setDescriptionText(description);
-        }
-    }
-
-    @NonNull
-    public Activity getActivity() {
-        return mActivity;
-    }
-
-    @NonNull
-    public GlifLayout getGlifLayout() {
-        return mGlifLayout;
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.kt b/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.kt
new file mode 100644
index 0000000..756f309
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/GlifLayoutHelper.kt
@@ -0,0 +1,56 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.java
deleted file mode 100644
index b011267..0000000
--- a/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.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.biometrics2.ui.view;
-
-import static android.content.DialogInterface.OnClickListener;
-
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.Bundle;
-
-import androidx.annotation.NonNull;
-import androidx.appcompat.app.AlertDialog;
-import androidx.lifecycle.ViewModelProvider;
-
-import com.android.settings.R;
-import com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollFindSensorViewModel;
-import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-
-/**
- * Skip dialog which shows when user clicks "Do it later" button in FingerprintFindSensor page.
- */
-public class SkipSetupFindFpsDialog extends InstrumentedDialogFragment {
-
-    private FingerprintEnrollFindSensorViewModel mViewModel;
-    private final OnClickListener mOnSkipClickListener =
-            (d, w) -> mViewModel.onSkipDialogButtonClick();
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.DIALOG_FINGERPRINT_SKIP_SETUP;
-    }
-
-    @Override
-    public Dialog onCreateDialog(Bundle savedInstanceState) {
-        return onCreateDialogBuilder().create();
-    }
-
-    /**
-     * Returns builder for this dialog
-     */
-    @NonNull
-    private AlertDialog.Builder onCreateDialogBuilder() {
-        return new AlertDialog.Builder(getActivity(), R.style.Theme_AlertDialog)
-                .setTitle(R.string.setup_fingerprint_enroll_skip_title)
-                .setPositiveButton(R.string.skip_anyway_button_label, mOnSkipClickListener)
-                .setNegativeButton(R.string.go_back_button_label, null)
-                .setMessage(R.string.setup_fingerprint_enroll_skip_after_adding_lock_text);
-    }
-
-    @Override
-    public void onAttach(Context context) {
-        mViewModel = new ViewModelProvider(getActivity()).get(
-                FingerprintEnrollFindSensorViewModel.class);
-        super.onAttach(context);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.kt b/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.kt
new file mode 100644
index 0000000..bb74e36
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/view/SkipSetupFindFpsDialog.kt
@@ -0,0 +1,56 @@
+/*
+ * 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.java b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java
deleted file mode 100644
index 7e48f82..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.java
+++ /dev/null
@@ -1,393 +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.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_GK_PW_HANDLE;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
-
-import android.annotation.IntDef;
-import android.app.Activity;
-import android.app.Application;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.SystemClock;
-import android.util.Log;
-
-import androidx.activity.result.ActivityResult;
-import androidx.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.VerifyCredentialResponse;
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * AutoCredentialViewModel which uses CredentialModel to determine next actions for activity, like
- * start ChooseLockActivity, start ConfirmLockActivity, GenerateCredential, or do nothing.
- */
-public class AutoCredentialViewModel extends AndroidViewModel {
-
-    private static final String TAG = "AutoCredentialViewModel";
-
-    @VisibleForTesting
-    static final String KEY_CREDENTIAL_MODEL = "credential_model";
-
-    @VisibleForTesting
-    static final String KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL =
-            "is_generating_challenge_during_checking_credential";
-
-    private static final boolean DEBUG = false;
-
-    /**
-     * Valid credential, activity does nothing.
-     */
-    public static final int CREDENTIAL_VALID = 0;
-
-    /**
-     * This credential looks good, but still need to run generateChallenge().
-     */
-    public static final int CREDENTIAL_IS_GENERATING_CHALLENGE = 1;
-
-    /**
-     * Need activity to run choose lock
-     */
-    public static final int CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK = 2;
-
-    /**
-     * Need activity to run confirm lock
-     */
-    public static final int CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK = 3;
-
-    @IntDef(prefix = { "CREDENTIAL_" }, value = {
-            CREDENTIAL_VALID,
-            CREDENTIAL_IS_GENERATING_CHALLENGE,
-            CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK,
-            CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface CredentialAction {}
-
-    /**
-     * Generic callback for FingerprintManager#generateChallenge or FaceManager#generateChallenge
-     */
-    public interface GenerateChallengeCallback {
-        /**
-         * Generic generateChallenge method for FingerprintManager or FaceManager
-         */
-        void onChallengeGenerated(int sensorId, int userId, long challenge);
-    }
-
-    /**
-     * A generic interface class for calling different generateChallenge from FingerprintManager or
-     * FaceManager
-     */
-    public interface ChallengeGenerator {
-        /**
-         * Get callback that will be called later after challenge generated
-         */
-        @Nullable
-        GenerateChallengeCallback getCallback();
-
-        /**
-         * Set callback that will be called later after challenge generated
-         */
-        void setCallback(@Nullable GenerateChallengeCallback callback);
-
-        /**
-         * Method for generating challenge from FingerprintManager or FaceManager
-         */
-        void generateChallenge(int userId);
-    }
-
-    /**
-     * Used to generate challenge through FingerprintRepository
-     */
-    public static class FingerprintChallengeGenerator implements ChallengeGenerator {
-
-        private static final String TAG = "FingerprintChallengeGenerator";
-
-        @NonNull
-        private final FingerprintRepository mFingerprintRepository;
-
-        @Nullable
-        private GenerateChallengeCallback mCallback = null;
-
-        public FingerprintChallengeGenerator(@NonNull FingerprintRepository fingerprintRepository) {
-            mFingerprintRepository = fingerprintRepository;
-        }
-
-        @Nullable
-        @Override
-        public GenerateChallengeCallback getCallback() {
-            return mCallback;
-        }
-
-        @Override
-        public void setCallback(@Nullable GenerateChallengeCallback callback) {
-            mCallback = callback;
-        }
-
-        @Override
-        public void generateChallenge(int userId) {
-            final GenerateChallengeCallback callback = mCallback;
-            if (callback == null) {
-                Log.e(TAG, "generateChallenge, null callback");
-                return;
-            }
-            mFingerprintRepository.generateChallenge(userId, callback::onChallengeGenerated);
-        }
-    }
-
-    @NonNull private final LockPatternUtils mLockPatternUtils;
-    @NonNull private final ChallengeGenerator mChallengeGenerator;
-    private CredentialModel mCredentialModel = null;
-    @NonNull private final MutableLiveData<Boolean> mGenerateChallengeFailedLiveData =
-            new MutableLiveData<>();
-
-    // flag if token is generating through checkCredential()'s generateChallenge()
-    private boolean mIsGeneratingChallengeDuringCheckingCredential;
-
-    public AutoCredentialViewModel(
-            @NonNull Application application,
-            @NonNull LockPatternUtils lockPatternUtils,
-            @NonNull ChallengeGenerator challengeGenerator) {
-        super(application);
-        mLockPatternUtils = lockPatternUtils;
-        mChallengeGenerator = challengeGenerator;
-    }
-
-    /**
-     * Set CredentialModel, the source is coming from savedInstanceState or activity intent
-     */
-    public void setCredentialModel(@Nullable Bundle savedInstanceState, @NonNull Intent intent) {
-        final Bundle bundle;
-        if (savedInstanceState != null) {
-            bundle = savedInstanceState.getBundle(KEY_CREDENTIAL_MODEL);
-            mIsGeneratingChallengeDuringCheckingCredential = savedInstanceState.getBoolean(
-                    KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL);
-        } else {
-            bundle = intent.getExtras();
-        }
-        mCredentialModel = new CredentialModel(bundle, SystemClock.elapsedRealtimeClock());
-
-        if (DEBUG) {
-            Log.d(TAG, "setCredentialModel " + mCredentialModel + ", savedInstanceState exist:"
-                    + (savedInstanceState != null));
-        }
-    }
-
-    /**
-     * Handle onSaveInstanceState from activity
-     */
-    public void onSaveInstanceState(@NonNull Bundle outState) {
-        outState.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL,
-                mIsGeneratingChallengeDuringCheckingCredential);
-        outState.putBundle(KEY_CREDENTIAL_MODEL, mCredentialModel.getBundle());
-    }
-
-    @NonNull
-    public LiveData<Boolean> getGenerateChallengeFailedLiveData() {
-        return mGenerateChallengeFailedLiveData;
-    }
-
-    /**
-     * Get bundle which passing back to FingerprintSettings for late generateChallenge()
-     */
-    @Nullable
-    public Bundle createGeneratingChallengeExtras() {
-        if (!mIsGeneratingChallengeDuringCheckingCredential
-                || !mCredentialModel.isValidToken()
-                || !mCredentialModel.isValidChallenge()) {
-            return null;
-        }
-
-        Bundle bundle = new Bundle();
-        bundle.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN,
-                mCredentialModel.getToken());
-        bundle.putLong(EXTRA_KEY_CHALLENGE, mCredentialModel.getChallenge());
-        return bundle;
-    }
-
-    /**
-     * Check credential status for biometric enrollment.
-     */
-    @CredentialAction
-    public int checkCredential() {
-        if (isValidCredential()) {
-            return CREDENTIAL_VALID;
-        }
-        if (isUnspecifiedPassword()) {
-            return CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK;
-        } else if (mCredentialModel.isValidGkPwHandle()) {
-            final long gkPwHandle = mCredentialModel.getGkPwHandle();
-            mCredentialModel.clearGkPwHandle();
-            // GkPwHandle is got through caller activity, we shall not revoke it after
-            // generateChallenge(). Let caller activity to make decision.
-            generateChallenge(gkPwHandle, false /* revokeGkPwHandle */);
-            mIsGeneratingChallengeDuringCheckingCredential = true;
-            return CREDENTIAL_IS_GENERATING_CHALLENGE;
-        } else {
-            return CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK;
-        }
-    }
-
-    private void generateChallenge(long gkPwHandle, boolean revokeGkPwHandle) {
-        mChallengeGenerator.setCallback((sensorId, userId, challenge) -> {
-            try {
-                final byte[] newToken = requestGatekeeperHat(gkPwHandle, challenge, userId);
-                mCredentialModel.setChallenge(challenge);
-                mCredentialModel.setToken(newToken);
-            } catch (IllegalStateException e) {
-                Log.e(TAG, "generateChallenge, IllegalStateException", e);
-                mGenerateChallengeFailedLiveData.postValue(true);
-                return;
-            }
-
-            if (revokeGkPwHandle) {
-                mLockPatternUtils.removeGatekeeperPasswordHandle(gkPwHandle);
-            }
-
-            if (DEBUG) {
-                Log.d(TAG, "generateChallenge(), model:" + mCredentialModel
-                        + ", revokeGkPwHandle:" + revokeGkPwHandle);
-            }
-
-            // Check credential again
-            if (!isValidCredential()) {
-                Log.w(TAG, "generateChallenge, invalid Credential");
-                mGenerateChallengeFailedLiveData.postValue(true);
-            }
-        });
-        mChallengeGenerator.generateChallenge(getUserId());
-    }
-
-    private boolean isValidCredential() {
-        return !isUnspecifiedPassword() && mCredentialModel.isValidToken();
-    }
-
-    private boolean isUnspecifiedPassword() {
-        return mLockPatternUtils.getActivePasswordQuality(getUserId())
-                == 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
-     */
-    public boolean checkNewCredentialFromActivityResult(boolean isChooseLock,
-            @NonNull ActivityResult result) {
-        if ((isChooseLock && result.getResultCode() == ChooseLockPattern.RESULT_FINISHED)
-                || (!isChooseLock && result.getResultCode() == Activity.RESULT_OK)) {
-            final Intent data = result.getData();
-            if (data != null) {
-                final long gkPwHandle = result.getData().getLongExtra(
-                        EXTRA_KEY_GK_PW_HANDLE, INVALID_GK_PW_HANDLE);
-                // Revoke self requested GkPwHandle because it shall only used once inside this
-                // activity lifecycle.
-                generateChallenge(gkPwHandle, true /* revokeGkPwHandle */);
-                return true;
-            }
-        }
-        return false;
-    }
-
-    /**
-     * Get userId for this credential
-     */
-    public int getUserId() {
-        return mCredentialModel.getUserId();
-    }
-
-    /**
-     * Get userId for this credential
-     */
-    @Nullable
-    public byte[] getToken() {
-        return mCredentialModel.getToken();
-    }
-
-    @Nullable
-    private byte[] requestGatekeeperHat(long gkPwHandle, long challenge, int userId)
-            throws IllegalStateException {
-        final VerifyCredentialResponse response = mLockPatternUtils
-                .verifyGatekeeperPasswordHandle(gkPwHandle, challenge, userId);
-        if (!response.isMatched()) {
-            throw new GatekeeperCredentialNotMatchException("Unable to request Gatekeeper HAT");
-        }
-        return response.getGatekeeperHAT();
-    }
-
-    /**
-     * Create Intent for choosing lock
-     */
-    @NonNull
-    public Intent createChooseLockIntent(@NonNull Context context, boolean isSuw,
-            @NonNull Bundle suwExtras) {
-        final Intent 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 (mCredentialModel.isValidUserId()) {
-            intent.putExtra(Intent.EXTRA_USER_ID, mCredentialModel.getUserId());
-        }
-        return intent;
-    }
-
-    /**
-     * Create ConfirmLockLauncher
-     */
-    @NonNull
-    public ChooseLockSettingsHelper createConfirmLockLauncher(@NonNull Activity activity,
-            int requestCode, @NonNull String title) {
-        final ChooseLockSettingsHelper.Builder builder =
-                new ChooseLockSettingsHelper.Builder(activity);
-        builder.setRequestCode(requestCode)
-                .setTitle(title)
-                .setRequestGatekeeperPasswordHandle(true)
-                .setForegroundOnly(true)
-                .setReturnCredentials(true);
-
-        if (mCredentialModel.isValidUserId()) {
-            builder.setUserId(mCredentialModel.getUserId());
-        }
-        return builder.build();
-    }
-
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
new file mode 100644
index 0000000..95aee4b
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModel.kt
@@ -0,0 +1,283 @@
+/*
+ * 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/DeviceRotationViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModel.java
index 3bed9fb..07fe275 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModel.java
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/DeviceRotationViewModel.java
@@ -59,9 +59,7 @@
         @Override
         public void onDisplayChanged(int displayId) {
             final int rotation = getRotation();
-            if (DEBUG) {
-                Log.d(TAG, "onDisplayChanged(" + displayId + "), rotation:" + rotation);
-            }
+            Log.d(TAG, "onDisplayChanged(" + displayId + "), rotation:" + rotation);
             mLiveData.postValue(rotation);
         }
     };
@@ -98,10 +96,11 @@
      * Returns RotationLiveData
      */
     public LiveData<Integer> getLiveData() {
-        if (mLiveData.getValue() == null) {
-            // Init data here because if we set it through getDisplay().getRotation() or through
-            // getDisplay().getDisplayInfo() in constructor(), we always get incorrect value.
-            mLiveData.setValue(getRotation());
+        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;
     }
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
index 12584ee..eba6a15 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModel.java
@@ -73,35 +73,11 @@
     @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,
-            FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_BACK_PRESSED
+            FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface FingerprintEnrollEnrollingAction {}
 
-    /**
-     * Enrolling skipped
-     */
-    public static final int FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH = 0;
-
-    /**
-     * Enrolling finished
-     */
-    public static final int FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT = 1;
-
-    /**
-     * Icon touch dialog show
-     */
-    public static final int FINGERPRINT_ERROR_DIALOG_ACTION_RESTART = 2;
-
-    @IntDef(prefix = { "FINGERPRINT_ERROR_DIALOG_ACTION_" }, value = {
-            FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH,
-            FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT,
-            FINGERPRINT_ERROR_DIALOG_ACTION_RESTART
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintErrorDialogAction {}
-
     private final int mUserId;
     private boolean mOnBackPressed;
     private boolean mOnSkipPressed;
@@ -110,11 +86,12 @@
     private final Vibrator mVibrator;
 
     private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
-    private final MutableLiveData<ErrorDialogData> mErrorDialogLiveData = new MutableLiveData<>();
-    private final MutableLiveData<Integer> mErrorDialogActionLiveData = new MutableLiveData<>();
 
-    public FingerprintEnrollEnrollingViewModel(@NonNull Application application,
-            int userId, @NonNull FingerprintRepository fingerprintRepository) {
+    public FingerprintEnrollEnrollingViewModel(
+            @NonNull Application application,
+            int userId,
+            @NonNull FingerprintRepository fingerprintRepository
+    ) {
         super(application);
         mUserId = userId;
         mFingerprintRepository = fingerprintRepository;
@@ -122,21 +99,6 @@
         mVibrator = application.getSystemService(Vibrator.class);
     }
 
-    /**
-     * Notifies activity to show error dialog
-     */
-    public void showErrorDialog(@NonNull ErrorDialogData errorDialogData) {
-        mErrorDialogLiveData.postValue(errorDialogData);
-    }
-
-    public LiveData<ErrorDialogData> getErrorDialogLiveData() {
-        return mErrorDialogLiveData;
-    }
-
-    public LiveData<Integer> getErrorDialogActionLiveData() {
-        return mErrorDialogActionLiveData;
-    }
-
     public LiveData<Integer> getActionLiveData() {
         return mActionLiveData;
     }
@@ -148,16 +110,6 @@
         mActionLiveData.setValue(null);
     }
 
-    /**
-     * Saves new user dialog action to mErrorDialogActionLiveData
-     */
-    public void onErrorDialogAction(@FingerprintErrorDialogAction int action) {
-        if (DEBUG) {
-            Log.d(TAG, "onErrorDialogAction(" + action + ")");
-        }
-        mErrorDialogActionLiveData.postValue(action);
-    }
-
     public boolean getOnSkipPressed() {
         return mOnSkipPressed;
     }
@@ -170,7 +122,7 @@
     }
 
     /**
-     * Enrolling is cacelled because user clicks skip
+     * Enrolling is cancelled because user clicks skip
      */
     public void onCancelledDueToOnSkipPressed() {
         final int action = FINGERPRINT_ENROLL_ENROLLING_CANCELED_BECAUSE_USER_SKIP;
@@ -293,45 +245,4 @@
     public FingerprintSensorPropertiesInternal getFirstFingerprintSensorPropertiesInternal() {
         return mFingerprintRepository.getFirstFingerprintSensorPropertiesInternal();
     }
-
-    /**
-     * The first sensor type is UDFPS sensor or not
-     */
-    public boolean canAssumeUdfps() {
-        return mFingerprintRepository.canAssumeUdfps();
-    }
-
-    /**
-     * Data for passing to FingerprintEnrollEnrollingErrorDialog
-     */
-    public static class ErrorDialogData {
-        @NonNull private final CharSequence mErrMsg;
-        @NonNull private final CharSequence mErrTitle;
-        @NonNull private final int mErrMsgId;
-
-        public ErrorDialogData(@NonNull CharSequence errMsg, @NonNull CharSequence errTitle,
-                int errMsgId) {
-            mErrMsg = errMsg;
-            mErrTitle = errTitle;
-            mErrMsgId = errMsgId;
-        }
-
-        public CharSequence getErrMsg() {
-            return mErrMsg;
-        }
-
-        public CharSequence getErrTitle() {
-            return mErrTitle;
-        }
-
-        public int getErrMsgId() {
-            return mErrMsgId;
-        }
-
-        @Override
-        public String toString() {
-            return getClass().getSimpleName() + "@" + Integer.toHexString(hashCode())
-                    + "{id:" + mErrMsgId + "}";
-        }
-    }
 }
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModel.kt
new file mode 100644
index 0000000..b154fe7
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModel.kt
@@ -0,0 +1,51 @@
+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/FingerprintEnrollIntroViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.java
deleted file mode 100644
index a9ca7b4..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.java
+++ /dev/null
@@ -1,204 +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.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_OK;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_UNKNOWN;
-
-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.MediatorLiveData;
-import androidx.lifecycle.MutableLiveData;
-
-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 java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
-/**
- * Fingerprint intro onboarding page view model implementation
- */
-public class FingerprintEnrollIntroViewModel extends AndroidViewModel {
-
-    private static final String TAG = "FingerprintEnrollIntroViewModel";
-    private static final boolean HAS_SCROLLED_TO_BOTTOM_DEFAULT = false;
-    private static final int ENROLLABLE_STATUS_DEFAULT = FINGERPRINT_ENROLLABLE_UNKNOWN;
-
-    /**
-     * User clicks 'Done' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH = 0;
-
-    /**
-     * User clicks 'Agree' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL = 1;
-
-    /**
-     * User clicks 'Skip' button on this page
-     */
-    public static final int FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL = 2;
-
-    @IntDef(prefix = { "FINGERPRINT_ENROLL_INTRO_ACTION_" }, value = {
-            FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH,
-            FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL,
-            FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface FingerprintEnrollIntroAction {}
-
-    @NonNull private final FingerprintRepository mFingerprintRepository;
-
-    private final MutableLiveData<Boolean> mHasScrolledToBottomLiveData =
-            new MutableLiveData<>(HAS_SCROLLED_TO_BOTTOM_DEFAULT);
-    private final MutableLiveData<Integer> mEnrollableStatusLiveData =
-            new MutableLiveData<>(ENROLLABLE_STATUS_DEFAULT);
-    private final MediatorLiveData<FingerprintEnrollIntroStatus> mPageStatusLiveData =
-            new MediatorLiveData<>();
-    private final MutableLiveData<Integer> mActionLiveData = new MutableLiveData<>();
-    private final int mUserId;
-    @NonNull private final EnrollmentRequest mRequest;
-
-    public FingerprintEnrollIntroViewModel(@NonNull Application application,
-            @NonNull FingerprintRepository fingerprintRepository,
-            @NonNull EnrollmentRequest request, int userId) {
-        super(application);
-        mFingerprintRepository = fingerprintRepository;
-        mRequest = request;
-        mUserId = userId;
-
-        mPageStatusLiveData.addSource(
-                mEnrollableStatusLiveData,
-                enrollable -> {
-                    final Boolean toBottomValue = mHasScrolledToBottomLiveData.getValue();
-                    final FingerprintEnrollIntroStatus status = new FingerprintEnrollIntroStatus(
-                            toBottomValue != null ? toBottomValue : HAS_SCROLLED_TO_BOTTOM_DEFAULT,
-                            enrollable);
-                    mPageStatusLiveData.setValue(status);
-                });
-        mPageStatusLiveData.addSource(
-                mHasScrolledToBottomLiveData,
-                hasScrolledToBottom -> {
-                    final Integer enrollableValue = mEnrollableStatusLiveData.getValue();
-                    final FingerprintEnrollIntroStatus status = new FingerprintEnrollIntroStatus(
-                            hasScrolledToBottom,
-                            enrollableValue != null ? enrollableValue : ENROLLABLE_STATUS_DEFAULT);
-                    mPageStatusLiveData.setValue(status);
-                });
-
-        updateEnrollableStatus();
-    }
-
-    /**
-     * Get enrollment request
-     */
-    public EnrollmentRequest getRequest() {
-        return mRequest;
-    }
-
-    private void updateEnrollableStatus() {
-        final int num = mFingerprintRepository.getNumOfEnrolledFingerprintsSize(mUserId);
-        final int max =
-                mRequest.isSuw() && !mRequest.isAfterSuwOrSuwSuggestedAction()
-                ? mFingerprintRepository.getMaxFingerprintsInSuw(getApplication().getResources())
-                : mFingerprintRepository.getMaxFingerprints();
-        mEnrollableStatusLiveData.postValue(num >= max
-                ? FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-                : FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    /**
-     * Get enrollable status and hasScrollToBottom live data
-     */
-    public LiveData<FingerprintEnrollIntroStatus> getPageStatusLiveData() {
-        return mPageStatusLiveData;
-    }
-
-    /**
-     * Clear user's action live data
-     */
-    public void clearActionLiveData() {
-        mActionLiveData.setValue(null);
-    }
-
-    /**
-     * Get user's action live data (like clicking Agree, Skip, or Done)
-     */
-    public LiveData<Integer> getActionLiveData() {
-        return mActionLiveData;
-    }
-
-    /**
-     * The first sensor type is UDFPS sensor or not
-     */
-    public boolean canAssumeUdfps() {
-        return mFingerprintRepository.canAssumeUdfps();
-    }
-
-    /**
-     * Update onboarding intro page has scrolled to bottom
-     */
-    public void setHasScrolledToBottom(boolean value) {
-        mHasScrolledToBottomLiveData.postValue(value);
-    }
-
-    /**
-     * Get parental consent required or not during enrollment process
-     */
-    public boolean isParentalConsentRequired() {
-        return mFingerprintRepository.isParentalConsentRequired(getApplication());
-    }
-
-    /**
-     * Get fingerprint is disable by admin or not
-     */
-    public boolean isBiometricUnlockDisabledByAdmin() {
-        return mFingerprintRepository.isDisabledByAdmin(getApplication(), mUserId);
-    }
-
-    /**
-     * User clicks next button
-     */
-    public void onNextButtonClick() {
-        final Integer status = mEnrollableStatusLiveData.getValue();
-        switch (status != null ? status : ENROLLABLE_STATUS_DEFAULT) {
-            case FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX:
-                mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH);
-                break;
-            case FINGERPRINT_ENROLLABLE_OK:
-                mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL);
-                break;
-            default:
-                Log.w(TAG, "fail to click next, enrolled:" + status);
-        }
-    }
-
-    /**
-     * User clicks skip/cancel button
-     */
-    public void onSkipOrCancelButtonClick() {
-        mActionLiveData.postValue(FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL);
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt
new file mode 100644
index 0000000..98137b4
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModel.kt
@@ -0,0 +1,138 @@
+/*
+ * 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
index 7074288..1cfec52 100644
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModel.java
@@ -16,12 +16,14 @@
 
 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;
@@ -41,6 +43,8 @@
 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
@@ -57,6 +61,7 @@
             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<>();
@@ -66,6 +71,8 @@
 
     private final FingerprintUpdater mFingerprintUpdater;
     @Nullable private CancellationSignal mCancellationSignal = null;
+    @NonNull private final LinkedList<CancellationSignal> mCancelingSignalQueue =
+            new LinkedList<>();
     private final EnrollmentCallback mEnrollmentCallback = new EnrollmentCallback() {
 
         @Override
@@ -91,10 +98,13 @@
 
         @Override
         public void onEnrollmentError(int errMsgId, CharSequence errString) {
-            if (DEBUG) {
-                Log.d(TAG, "onEnrollmentError(" + errMsgId + ", " + 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));
             }
-            mErrorMessageLiveData.postValue(new EnrollmentStatusMessage(errMsgId, errString));
         }
 
         @Override
@@ -152,6 +162,10 @@
         return mErrorMessageLiveData;
     }
 
+    public LiveData<Object> getCanceledSignalLiveData() {
+        return mCanceledSignalLiveData;
+    }
+
     public LiveData<Boolean> getAcquireLiveData() {
         return mAcquireLiveData;
     }
@@ -167,14 +181,14 @@
     /**
      * Starts enrollment and return latest isEnrolling() result
      */
-    public boolean startEnrollment(@EnrollReason int reason) {
+    public Object startEnrollment(@EnrollReason int reason) {
         if (mToken == null) {
             Log.e(TAG, "Null hardware auth token for enroll");
-            return false;
+            return null;
         }
         if (mCancellationSignal != null) {
-            Log.w(TAG, "Enrolling has started, shall not start again");
-            return true;
+            Log.w(TAG, "Enrolling is running, shall not start again");
+            return mCancellationSignal;
         }
         if (DEBUG) {
             Log.e(TAG, "startEnrollment(" + reason + ")");
@@ -199,12 +213,13 @@
                     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);
+            mFingerprintUpdater.enroll(mToken, mCancellationSignal, mUserId, callback, reason,
+                    new Intent());
         } else {
             mFingerprintUpdater.enroll(mToken, mCancellationSignal, mUserId, mEnrollmentCallback,
-                    reason);
+                    reason, new Intent());
         }
-        return true;
+        return mCancellationSignal;
     }
 
     /**
@@ -212,13 +227,17 @@
      */
     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");
         }
-
-        mCancellationSignal = null;
+        mCancelingSignalQueue.add(cancellationSignal);
         cancellationSignal.cancel();
+
         return true;
     }
 
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.java b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.java
deleted file mode 100644
index 3c779c9..0000000
--- a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.java
+++ /dev/null
@@ -1,208 +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.android.settings.biometrics.fingerprint.FingerprintEnrollFinish.FINGERPRINT_SUGGESTION_ACTIVITY;
-import static com.android.settings.biometrics.fingerprint.SetupFingerprintEnrollIntroduction.EXTRA_FINGERPRINT_ENROLLED_COUNT;
-
-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.annotation.NonNull;
-import androidx.annotation.Nullable;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.AndroidViewModel;
-import androidx.lifecycle.LiveData;
-import androidx.lifecycle.MutableLiveData;
-
-import com.android.settings.biometrics.BiometricEnrollBase;
-import com.android.settings.biometrics2.data.repository.FingerprintRepository;
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-
-import java.util.concurrent.atomic.AtomicBoolean;
-
-/**
- * Fingerprint enrollment view model implementation
- */
-public class FingerprintEnrollmentViewModel extends AndroidViewModel {
-
-    private static final String TAG = "FingerprintEnrollmentViewModel";
-
-    @VisibleForTesting
-    static final String SAVED_STATE_IS_WAITING_ACTIVITY_RESULT = "is_waiting_activity_result";
-
-    @VisibleForTesting
-    static final String SAVED_STATE_IS_NEW_FINGERPRINT_ADDED = "is_new_fingerprint_added";
-
-    @NonNull private final FingerprintRepository mFingerprintRepository;
-
-    private final AtomicBoolean mIsWaitingActivityResult = new AtomicBoolean(false);
-    private final MutableLiveData<ActivityResult> mSetResultLiveData = new MutableLiveData<>();
-    @NonNull private final EnrollmentRequest mRequest;
-    private boolean mIsNewFingerprintAdded = false;
-
-    public FingerprintEnrollmentViewModel(
-            @NonNull Application application,
-            @NonNull FingerprintRepository fingerprintRepository,
-            @NonNull EnrollmentRequest request) {
-        super(application);
-        mFingerprintRepository = fingerprintRepository;
-        mRequest = request;
-    }
-
-    /**
-     * Get EnrollmentRequest
-     */
-    @NonNull
-    public EnrollmentRequest getRequest() {
-        return mRequest;
-    }
-
-    /**
-     * 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(), .
-     */
-    @NonNull
-    public ActivityResult getOverrideActivityResult(@NonNull ActivityResult result,
-            @Nullable Bundle generatingChallengeExtras) {
-        // TODO write tests
-        final int newResultCode = mIsNewFingerprintAdded
-                ? BiometricEnrollBase.RESULT_FINISHED
-                : (mRequest.isAfterSuwOrSuwSuggestedAction()
-                        ? BiometricEnrollBase.RESULT_CANCELED
-                        : result.getResultCode());
-
-        Intent newData = result.getData();
-        if (newResultCode == BiometricEnrollBase.RESULT_FINISHED
-                && generatingChallengeExtras != null) {
-            if (newData == null) {
-                newData = new Intent();
-            }
-            newData.putExtras(generatingChallengeExtras);
-        }
-        return new 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.
-     */
-    public void checkFinishActivityDuringOnPause(boolean isActivityFinishing,
-            boolean isChangingConfigurations) {
-        if (isChangingConfigurations || isActivityFinishing || mRequest.isSuw()
-                || isWaitingActivityResult().get()) {
-            return;
-        }
-
-        mSetResultLiveData.postValue(
-                new ActivityResult(BiometricEnrollBase.RESULT_TIMEOUT, null));
-    }
-
-    /**
-     * Get Suw fingerprint count extra for statistics
-     */
-    @NonNull
-    public Bundle getSuwFingerprintCountExtra(int userId) {
-        final Bundle bundle = new Bundle();
-        bundle.putInt(EXTRA_FINGERPRINT_ENROLLED_COUNT,
-                mFingerprintRepository.getNumOfEnrolledFingerprintsSize(userId));
-        return bundle;
-    }
-
-    @NonNull
-    public LiveData<ActivityResult> getSetResultLiveData() {
-        return mSetResultLiveData;
-    }
-
-    @NonNull
-    public AtomicBoolean isWaitingActivityResult() {
-        return mIsWaitingActivityResult;
-    }
-
-    /**
-     * Handle savedInstanceState from activity onCreated()
-     */
-    public void setSavedInstanceState(@Nullable Bundle savedInstanceState) {
-        if (savedInstanceState == null) {
-            return;
-        }
-        mIsWaitingActivityResult.set(
-                savedInstanceState.getBoolean(SAVED_STATE_IS_WAITING_ACTIVITY_RESULT, false)
-        );
-        mIsNewFingerprintAdded = savedInstanceState.getBoolean(
-                SAVED_STATE_IS_NEW_FINGERPRINT_ADDED, false);
-    }
-
-    /**
-     * Handle onSaveInstanceState from activity
-     */
-    public void onSaveInstanceState(@NonNull Bundle outState) {
-        outState.putBoolean(SAVED_STATE_IS_WAITING_ACTIVITY_RESULT, mIsWaitingActivityResult.get());
-        outState.putBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED, mIsNewFingerprintAdded);
-    }
-
-    /**
-     * The first sensor type is UDFPS sensor or not
-     */
-    public boolean canAssumeUdfps() {
-        return mFingerprintRepository.canAssumeUdfps();
-    }
-
-    /**
-     * The first sensor type is side fps sensor or not
-     */
-    public boolean canAssumeSfps() {
-        return mFingerprintRepository.canAssumeSfps();
-    }
-
-    /**
-     * Sets mIsNewFingerprintAdded to true
-     */
-    public void setIsNewFingerprintAdded() {
-        mIsNewFingerprintAdded = true;
-    }
-
-    /**
-     * Update FINGERPRINT_SUGGESTION_ACTIVITY into package manager
-     */
-    public void updateFingerprintSuggestionEnableState(int userId) {
-        final int enrolled = mFingerprintRepository.getNumOfEnrolledFingerprintsSize(userId);
-
-        // 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.
-        final int flag = (enrolled == 1) ? PackageManager.COMPONENT_ENABLED_STATE_ENABLED
-                : PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
-
-        ComponentName componentName = new ComponentName(getApplication(),
-                FINGERPRINT_SUGGESTION_ACTIVITY);
-        getApplication().getPackageManager().setComponentEnabledSetting(componentName, flag,
-                PackageManager.DONT_KILL_APP);
-        Log.d(TAG, FINGERPRINT_SUGGESTION_ACTIVITY + " enabled state = " + (enrolled == 1));
-    }
-}
diff --git a/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
new file mode 100644
index 0000000..37b0052
--- /dev/null
+++ b/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModel.kt
@@ -0,0 +1,162 @@
+/*
+ * 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/UdfpsEnrollView.java b/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollView.java
index 518397a..c99cb2d 100644
--- a/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollView.java
+++ b/src/com/android/settings/biometrics2/ui/widget/UdfpsEnrollView.java
@@ -23,6 +23,7 @@
 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;
@@ -36,8 +37,8 @@
 import androidx.annotation.Nullable;
 
 import com.android.settings.R;
-import com.android.settingslib.udfps.UdfpsOverlayParams;
-import com.android.settingslib.udfps.UdfpsUtils;
+import com.android.systemui.biometrics.UdfpsUtils;
+import com.android.systemui.biometrics.shared.model.UdfpsOverlayParams;
 
 /**
  * View corresponding with udfps_enroll_view.xml
@@ -130,18 +131,26 @@
         onFingerUp();
     }
 
+    private final ViewTreeObserver.OnDrawListener mOnDrawListener = this::updateOverlayParams;
+
     /**
      * setup SensorProperties
      */
     public void setSensorProperties(FingerprintSensorPropertiesInternal properties) {
         mSensorProperties = properties;
-        ((ViewGroup) getParent()).getViewTreeObserver().addOnDrawListener(
-                new ViewTreeObserver.OnDrawListener() {
-                    @Override
-                    public void onDraw() {
-                        updateOverlayParams();
-                    }
-                });
+        ((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() {
@@ -168,6 +177,10 @@
         }
 
         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];
@@ -247,8 +260,8 @@
                 displayInfo.getNaturalWidth(),
                 displayInfo.getNaturalHeight(),
                 scaleFactor,
-                displayInfo.rotation);
-
+                displayInfo.rotation,
+                mSensorProperties.sensorType);
 
         post(() -> {
             mProgressBarRadius =
diff --git a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
index ebaa2fa..1326831 100644
--- a/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.bluetooth;
 
+import static com.android.settings.bluetooth.Utils.preloadAndRun;
+
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.content.ContentResolver;
@@ -55,9 +57,13 @@
 import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.widget.LayoutPreference;
 
+import com.google.common.base.Supplier;
+import com.google.common.base.Suppliers;
+
 import java.io.IOException;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Map;
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
@@ -167,6 +173,10 @@
     }
 
     private void registerBluetoothDevice() {
+        if (mBluetoothAdapter == null) {
+            Log.d(TAG, "No mBluetoothAdapter");
+            return;
+        }
         if (mBluetoothDevices == null) {
             mBluetoothDevices = new HashSet<>();
         }
@@ -180,86 +190,139 @@
             }
         });
         if (mBluetoothDevices.isEmpty()) {
-            Log.d(TAG, "No BT devcie to register.");
+            Log.d(TAG, "No BT device to register.");
             return;
         }
         mCachedDevice.registerCallback(this);
-        mBluetoothDevices.forEach(bd ->
-                mBluetoothAdapter.addOnMetadataChangedListener(bd,
-                        mContext.getMainExecutor(), mMetadataListener));
+        Set<BluetoothDevice> errorDevices = new HashSet<>();
+        mBluetoothDevices.forEach(bd -> {
+            try {
+                boolean isSuccess = mBluetoothAdapter.addOnMetadataChangedListener(bd,
+                        mContext.getMainExecutor(), mMetadataListener);
+                if (!isSuccess) {
+                    Log.e(TAG, bd.getAnonymizedAddress() + ": add into Listener failed");
+                    errorDevices.add(bd);
+                }
+            } catch (NullPointerException e) {
+                errorDevices.add(bd);
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            } catch (IllegalArgumentException e) {
+                errorDevices.add(bd);
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            }
+        });
+        for (BluetoothDevice errorDevice : errorDevices) {
+            mBluetoothDevices.remove(errorDevice);
+            Log.d(TAG, "mBluetoothDevices remove " + errorDevice.getAnonymizedAddress());
+        }
     }
 
     private void unRegisterBluetoothDevice() {
+        if (mBluetoothAdapter == null) {
+            Log.d(TAG, "No mBluetoothAdapter");
+            return;
+        }
         if (mBluetoothDevices == null || mBluetoothDevices.isEmpty()) {
-            Log.d(TAG, "No BT devcie to unregister.");
+            Log.d(TAG, "No BT device to unregister.");
             return;
         }
         mCachedDevice.unregisterCallback(this);
-        mBluetoothDevices.forEach(bd -> mBluetoothAdapter.removeOnMetadataChangedListener(bd,
-                mMetadataListener));
+        mBluetoothDevices.forEach(bd -> {
+            try {
+                mBluetoothAdapter.removeOnMetadataChangedListener(bd, mMetadataListener);
+            } catch (NullPointerException e) {
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            } catch (IllegalArgumentException e) {
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            }
+        });
         mBluetoothDevices.clear();
     }
 
     @VisibleForTesting
     void refresh() {
         if (mLayoutPreference != null && mCachedDevice != null) {
-            final TextView title = mLayoutPreference.findViewById(R.id.entity_header_title);
-            title.setText(mCachedDevice.getName());
-            final TextView summary = mLayoutPreference.findViewById(R.id.entity_header_summary);
+            Supplier<String> deviceName = Suppliers.memoize(() -> mCachedDevice.getName());
+            Supplier<Boolean> disconnected =
+                    Suppliers.memoize(() -> !mCachedDevice.isConnected() || mCachedDevice.isBusy());
+            Supplier<Boolean> isUntetheredHeadset =
+                    Suppliers.memoize(() -> isUntetheredHeadset(mCachedDevice.getDevice()));
+            Supplier<String> summaryText =
+                    Suppliers.memoize(
+                            () -> {
+                                if (disconnected.get() || isUntetheredHeadset.get()) {
+                                    return mCachedDevice.getConnectionSummary(
+                                            /* shortSummary= */ true);
+                                }
+                                return mCachedDevice.getConnectionSummary(
+                                        BluetoothUtils.getIntMetaData(
+                                                        mCachedDevice.getDevice(),
+                                                        BluetoothDevice.METADATA_MAIN_BATTERY)
+                                                != BluetoothUtils.META_INT_ERROR);
+                            });
+            preloadAndRun(
+                    List.of(deviceName, disconnected, isUntetheredHeadset, summaryText),
+                    () -> {
+                        final TextView title =
+                                mLayoutPreference.findViewById(R.id.entity_header_title);
+                        title.setText(deviceName.get());
+                        final TextView summary =
+                                mLayoutPreference.findViewById(R.id.entity_header_summary);
 
-            if (!mCachedDevice.isConnected() || mCachedDevice.isBusy()) {
-                summary.setText(mCachedDevice.getConnectionSummary(true /* shortSummary */));
-                updateDisconnectLayout();
-                return;
-            }
-            final BluetoothDevice device = mCachedDevice.getDevice();
-            final String deviceType = BluetoothUtils.getStringMetaData(device,
-                    BluetoothDevice.METADATA_DEVICE_TYPE);
-            if (TextUtils.equals(deviceType,
-                    BluetoothDevice.DEVICE_TYPE_UNTETHERED_HEADSET)
-                    || BluetoothUtils.getBooleanMetaData(device,
-                    BluetoothDevice.METADATA_IS_UNTETHERED_HEADSET)) {
-                summary.setText(mCachedDevice.getConnectionSummary(true /* shortSummary */));
-                updateSubLayout(mLayoutPreference.findViewById(R.id.layout_left),
-                        BluetoothDevice.METADATA_UNTETHERED_LEFT_ICON,
-                        BluetoothDevice.METADATA_UNTETHERED_LEFT_BATTERY,
-                        BluetoothDevice.METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD,
-                        BluetoothDevice.METADATA_UNTETHERED_LEFT_CHARGING,
-                        R.string.bluetooth_left_name,
-                        LEFT_DEVICE_ID);
+                        if (disconnected.get()) {
+                            summary.setText(summaryText.get());
+                            updateDisconnectLayout();
+                            return;
+                        }
+                        if (isUntetheredHeadset.get()) {
+                            summary.setText(summaryText.get());
+                            updateSubLayout(
+                                    mLayoutPreference.findViewById(R.id.layout_left),
+                                    BluetoothDevice.METADATA_UNTETHERED_LEFT_ICON,
+                                    BluetoothDevice.METADATA_UNTETHERED_LEFT_BATTERY,
+                                    BluetoothDevice.METADATA_UNTETHERED_LEFT_LOW_BATTERY_THRESHOLD,
+                                    BluetoothDevice.METADATA_UNTETHERED_LEFT_CHARGING,
+                                    R.string.bluetooth_left_name,
+                                    LEFT_DEVICE_ID);
 
-                updateSubLayout(mLayoutPreference.findViewById(R.id.layout_middle),
-                        BluetoothDevice.METADATA_UNTETHERED_CASE_ICON,
-                        BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY,
-                        BluetoothDevice.METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD,
-                        BluetoothDevice.METADATA_UNTETHERED_CASE_CHARGING,
-                        R.string.bluetooth_middle_name,
-                        CASE_DEVICE_ID);
+                            updateSubLayout(
+                                    mLayoutPreference.findViewById(R.id.layout_middle),
+                                    BluetoothDevice.METADATA_UNTETHERED_CASE_ICON,
+                                    BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY,
+                                    BluetoothDevice.METADATA_UNTETHERED_CASE_LOW_BATTERY_THRESHOLD,
+                                    BluetoothDevice.METADATA_UNTETHERED_CASE_CHARGING,
+                                    R.string.bluetooth_middle_name,
+                                    CASE_DEVICE_ID);
 
-                updateSubLayout(mLayoutPreference.findViewById(R.id.layout_right),
-                        BluetoothDevice.METADATA_UNTETHERED_RIGHT_ICON,
-                        BluetoothDevice.METADATA_UNTETHERED_RIGHT_BATTERY,
-                        BluetoothDevice.METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD,
-                        BluetoothDevice.METADATA_UNTETHERED_RIGHT_CHARGING,
-                        R.string.bluetooth_right_name,
-                        RIGHT_DEVICE_ID);
+                            updateSubLayout(
+                                    mLayoutPreference.findViewById(R.id.layout_right),
+                                    BluetoothDevice.METADATA_UNTETHERED_RIGHT_ICON,
+                                    BluetoothDevice.METADATA_UNTETHERED_RIGHT_BATTERY,
+                                    BluetoothDevice.METADATA_UNTETHERED_RIGHT_LOW_BATTERY_THRESHOLD,
+                                    BluetoothDevice.METADATA_UNTETHERED_RIGHT_CHARGING,
+                                    R.string.bluetooth_right_name,
+                                    RIGHT_DEVICE_ID);
 
-                showBothDevicesBatteryPredictionIfNecessary();
-            } else {
-                mLayoutPreference.findViewById(R.id.layout_left).setVisibility(View.GONE);
-                mLayoutPreference.findViewById(R.id.layout_right).setVisibility(View.GONE);
+                            showBothDevicesBatteryPredictionIfNecessary();
+                        } else {
+                            mLayoutPreference
+                                    .findViewById(R.id.layout_left)
+                                    .setVisibility(View.GONE);
+                            mLayoutPreference
+                                    .findViewById(R.id.layout_right)
+                                    .setVisibility(View.GONE);
 
-                summary.setText(mCachedDevice.getConnectionSummary(
-                        BluetoothUtils.getIntMetaData(device, BluetoothDevice.METADATA_MAIN_BATTERY)
-                                != BluetoothUtils.META_INT_ERROR));
-                updateSubLayout(mLayoutPreference.findViewById(R.id.layout_middle),
-                        BluetoothDevice.METADATA_MAIN_ICON,
-                        BluetoothDevice.METADATA_MAIN_BATTERY,
-                        BluetoothDevice.METADATA_MAIN_LOW_BATTERY_THRESHOLD,
-                        BluetoothDevice.METADATA_MAIN_CHARGING,
-                        /* titleResId */ 0,
-                        MAIN_DEVICE_ID);
-            }
+                            summary.setText(summaryText.get());
+                            updateSubLayout(
+                                    mLayoutPreference.findViewById(R.id.layout_middle),
+                                    BluetoothDevice.METADATA_MAIN_ICON,
+                                    BluetoothDevice.METADATA_MAIN_BATTERY,
+                                    BluetoothDevice.METADATA_MAIN_LOW_BATTERY_THRESHOLD,
+                                    BluetoothDevice.METADATA_MAIN_CHARGING,
+                                    /* titleResId= */ 0,
+                                    MAIN_DEVICE_ID);
+                        }
+                    });
         }
     }
 
@@ -267,7 +330,7 @@
     Drawable createBtBatteryIcon(Context context, int level, boolean charging) {
         final BatteryMeterView.BatteryMeterDrawable drawable =
                 new BatteryMeterView.BatteryMeterDrawable(context,
-                        context.getColor(R.color.meter_background_color),
+                        context.getColor(com.android.settingslib.R.color.meter_background_color),
                         context.getResources().getDimensionPixelSize(
                                 R.dimen.advanced_bluetooth_battery_meter_width),
                         context.getResources().getDimensionPixelSize(
@@ -282,13 +345,87 @@
         return drawable;
     }
 
-    private void updateSubLayout(LinearLayout linearLayout, int iconMetaKey, int batteryMetaKey,
-            int lowBatteryMetaKey, int chargeMetaKey, int titleResId, int deviceId) {
+    private void updateSubLayout(
+            LinearLayout linearLayout,
+            int iconMetaKey,
+            int batteryMetaKey,
+            int lowBatteryMetaKey,
+            int chargeMetaKey,
+            int titleResId,
+            int deviceId) {
         if (linearLayout == null) {
             return;
         }
+        BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
+        Supplier<String> iconUri =
+                Suppliers.memoize(
+                        () -> BluetoothUtils.getStringMetaData(bluetoothDevice, iconMetaKey));
+        Supplier<Integer> batteryLevel =
+                Suppliers.memoize(
+                        () -> BluetoothUtils.getIntMetaData(bluetoothDevice, batteryMetaKey));
+        Supplier<Boolean> charging =
+                Suppliers.memoize(
+                        () -> BluetoothUtils.getBooleanMetaData(bluetoothDevice, chargeMetaKey));
+        Supplier<Integer> lowBatteryLevel =
+                Suppliers.memoize(
+                        () -> {
+                            int level =
+                                    BluetoothUtils.getIntMetaData(
+                                            bluetoothDevice, lowBatteryMetaKey);
+                            if (level == BluetoothUtils.META_INT_ERROR) {
+                                if (batteryMetaKey
+                                        == BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY) {
+                                    level = CASE_LOW_BATTERY_LEVEL;
+                                } else {
+                                    level = LOW_BATTERY_LEVEL;
+                                }
+                            }
+                            return level;
+                        });
+        Supplier<Boolean> isUntethered =
+                Suppliers.memoize(() -> isUntetheredHeadset(bluetoothDevice));
+        Supplier<Integer> nativeBatteryLevel = Suppliers.memoize(bluetoothDevice::getBatteryLevel);
+        preloadAndRun(
+                List.of(
+                        iconUri,
+                        batteryLevel,
+                        charging,
+                        lowBatteryLevel,
+                        isUntethered,
+                        nativeBatteryLevel),
+                () ->
+                        updateSubLayoutUi(
+                                linearLayout,
+                                iconMetaKey,
+                                batteryMetaKey,
+                                lowBatteryMetaKey,
+                                chargeMetaKey,
+                                titleResId,
+                                deviceId,
+                                iconUri,
+                                batteryLevel,
+                                charging,
+                                lowBatteryLevel,
+                                isUntethered,
+                                nativeBatteryLevel));
+    }
+
+    private void updateSubLayoutUi(
+            LinearLayout linearLayout,
+            int iconMetaKey,
+            int batteryMetaKey,
+            int lowBatteryMetaKey,
+            int chargeMetaKey,
+            int titleResId,
+            int deviceId,
+            Supplier<String> preloadedIconUri,
+            Supplier<Integer> preloadedBatteryLevel,
+            Supplier<Boolean> preloadedCharging,
+            Supplier<Integer> preloadedLowBatteryLevel,
+            Supplier<Boolean> preloadedIsUntethered,
+            Supplier<Integer> preloadedNativeBatteryLevel) {
         final BluetoothDevice bluetoothDevice = mCachedDevice.getDevice();
-        final String iconUri = BluetoothUtils.getStringMetaData(bluetoothDevice, iconMetaKey);
+        final String iconUri = preloadedIconUri.get();
         final ImageView imageView = linearLayout.findViewById(R.id.header_icon);
         if (iconUri != null) {
             updateIcon(imageView, iconUri);
@@ -298,17 +435,9 @@
             imageView.setImageDrawable(pair.first);
             imageView.setContentDescription(pair.second);
         }
-        final int batteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice, batteryMetaKey);
-        final boolean charging = BluetoothUtils.getBooleanMetaData(bluetoothDevice, chargeMetaKey);
-        int lowBatteryLevel = BluetoothUtils.getIntMetaData(bluetoothDevice,
-                lowBatteryMetaKey);
-        if (lowBatteryLevel == BluetoothUtils.META_INT_ERROR) {
-            if (batteryMetaKey == BluetoothDevice.METADATA_UNTETHERED_CASE_BATTERY) {
-                lowBatteryLevel = CASE_LOW_BATTERY_LEVEL;
-            } else {
-                lowBatteryLevel = LOW_BATTERY_LEVEL;
-            }
-        }
+        final int batteryLevel = preloadedBatteryLevel.get();
+        final boolean charging = preloadedCharging.get();
+        int lowBatteryLevel = preloadedLowBatteryLevel.get();
 
         Log.d(TAG, "buletoothDevice: " + bluetoothDevice.getAnonymizedAddress()
                 + ", updateSubLayout() icon : " + iconMetaKey + ", battery : " + batteryMetaKey
@@ -320,7 +449,7 @@
             showBatteryPredictionIfNecessary(linearLayout, deviceId, batteryLevel);
         }
         final TextView batterySummaryView = linearLayout.findViewById(R.id.bt_battery_summary);
-        if (isUntetheredHeadset(bluetoothDevice)) {
+        if (preloadedIsUntethered.get()) {
             if (batteryLevel != BluetoothUtils.META_INT_ERROR) {
                 linearLayout.setVisibility(View.VISIBLE);
                 batterySummaryView.setText(
@@ -331,7 +460,7 @@
                 if (deviceId == MAIN_DEVICE_ID) {
                     linearLayout.setVisibility(View.VISIBLE);
                     linearLayout.findViewById(R.id.bt_battery_icon).setVisibility(View.GONE);
-                    int level = bluetoothDevice.getBatteryLevel();
+                    int level = preloadedNativeBatteryLevel.get();
                     if (level != BluetoothDevice.BATTERY_LEVEL_UNKNOWN
                             && level != BluetoothDevice.BATTERY_LEVEL_BLUETOOTH_OFF) {
                         batterySummaryView.setText(
diff --git a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
index 99ebd7b..8250f70 100644
--- a/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdater.java
@@ -23,11 +23,11 @@
 import androidx.preference.Preference;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
-/**
- * Controller to maintain available media Bluetooth devices
- */
+/** Controller to maintain available media Bluetooth devices */
 public class AvailableMediaBluetoothDeviceUpdater extends BluetoothDeviceUpdater
         implements Preference.OnPreferenceClickListener {
 
@@ -37,11 +37,15 @@
     private static final String PREF_KEY = "available_media_bt";
 
     private final AudioManager mAudioManager;
+    private final LocalBluetoothManager mLocalBtManager;
 
-    public AvailableMediaBluetoothDeviceUpdater(Context context,
-            DevicePreferenceCallback devicePreferenceCallback, int metricsCategory) {
+    public AvailableMediaBluetoothDeviceUpdater(
+            Context context,
+            DevicePreferenceCallback devicePreferenceCallback,
+            int metricsCategory) {
         super(context, devicePreferenceCallback, metricsCategory);
         mAudioManager = (AudioManager) context.getSystemService(Context.AUDIO_SERVICE);
+        mLocalBtManager = Utils.getLocalBtManager(context);
     }
 
     @Override
@@ -66,17 +70,45 @@
 
         boolean isFilterMatched = false;
         if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) {
-            if (DBG) {
-                Log.d(TAG, "isFilterMatched() current audio profile : " + currentAudioProfile);
+            Log.d(TAG, "isFilterMatched() current audio profile : " + currentAudioProfile);
+
+            // If device is LE Audio, it is compatible with HFP and A2DP.
+            // 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()) {
+                boolean isAudioSharingFilterMatched =
+                        FeatureFactory.getFeatureFactory()
+                                .getAudioSharingFeatureProvider()
+                                .isAudioSharingFilterMatched(cachedDevice, mLocalManager);
+                if (!isAudioSharingFilterMatched) {
+                    Log.d(
+                            TAG,
+                            "isFilterMatched() device : "
+                                    + cachedDevice.getName()
+                                    + ", the LE Audio profile is connected and not in sharing "
+                                    + "if broadcast enabled.");
+                    return true;
+                } else {
+                    Log.d(
+                            TAG,
+                            "Filter out device : "
+                                    + cachedDevice.getName()
+                                    + ", it is in audio sharing.");
+                    return false;
+                }
             }
-            // If device is Hearing Aid or LE Audio, it is compatible with HFP and A2DP.
+
+            // If device is Hearing Aid, it is compatible with HFP and A2DP.
             // It would show in Available Devices group.
-            if (cachedDevice.isConnectedAshaHearingAidDevice()
-                    || cachedDevice.isConnectedLeAudioDevice()) {
-                Log.d(TAG, "isFilterMatched() device : " +
-                        cachedDevice.getName() + ", the profile is connected.");
+            if (cachedDevice.isConnectedAshaHearingAidDevice()) {
+                Log.d(
+                        TAG,
+                        "isFilterMatched() device : "
+                                + cachedDevice.getName()
+                                + ", the Hearing Aid profile is connected.");
                 return true;
             }
+
             // According to the current audio profile type,
             // this page will show the bluetooth device that have corresponding profile.
             // For example:
@@ -91,10 +123,12 @@
                     isFilterMatched = cachedDevice.isConnectedHfpDevice();
                     break;
             }
-            if (DBG) {
-                Log.d(TAG, "isFilterMatched() device : " +
-                        cachedDevice.getName() + ", isFilterMatched : " + isFilterMatched);
-            }
+            Log.d(
+                    TAG,
+                    "isFilterMatched() device : "
+                            + cachedDevice.getName()
+                            + ", isFilterMatched : "
+                            + isFilterMatched);
         }
         return isFilterMatched;
     }
@@ -102,8 +136,11 @@
     @Override
     public boolean onPreferenceClick(Preference preference) {
         mMetricsFeatureProvider.logClickedPreference(preference, mMetricsCategory);
-        final CachedBluetoothDevice device = ((BluetoothDevicePreference) preference)
-                .getBluetoothDevice();
+        final CachedBluetoothDevice device =
+                ((BluetoothDevicePreference) preference).getBluetoothDevice();
+        FeatureFactory.getFeatureFactory()
+                .getAudioSharingFeatureProvider()
+                .handleMediaDeviceOnClick(mLocalManager);
         return device.setActive();
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothAutoOnPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothAutoOnPreferenceController.java
new file mode 100644
index 0000000..f6f62e8
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothAutoOnPreferenceController.java
@@ -0,0 +1,144 @@
+/*
+ * 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.content.Context;
+import android.database.ContentObserver;
+import android.os.Handler;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+import com.android.settingslib.flags.Flags;
+import com.android.settingslib.utils.ThreadUtils;
+
+public class BluetoothAutoOnPreferenceController extends TogglePreferenceController
+        implements LifecycleObserver, OnStart, OnStop {
+    private static final String TAG = "BluetoothAutoOnPreferenceController";
+    @VisibleForTesting static final String PREF_KEY = "bluetooth_auto_on_settings_toggle";
+    static final String SETTING_NAME = "bluetooth_automatic_turn_on";
+    static final int UNSET = -1;
+    @VisibleForTesting static final int ENABLED = 1;
+    @VisibleForTesting static final int DISABLED = 0;
+    private final ContentObserver mContentObserver =
+            new ContentObserver(new Handler(/* async= */ true)) {
+                @Override
+                public void onChange(boolean selfChange) {
+                    var unused =
+                            ThreadUtils.postOnBackgroundThread(
+                                    () -> {
+                                        updateValue();
+                                        mContext.getMainExecutor()
+                                                .execute(
+                                                        () -> {
+                                                            if (mPreference != null) {
+                                                                updateState(mPreference);
+                                                            }
+                                                        });
+                                    });
+                }
+            };
+    private int mAutoOnValue = UNSET;
+    @Nullable private TwoStatePreference mPreference;
+
+    public BluetoothAutoOnPreferenceController(
+            @NonNull Context context, @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public void onStart() {
+        mContext.getContentResolver()
+                .registerContentObserver(
+                        Settings.Secure.getUriFor(SETTING_NAME),
+                        /* notifyForDescendants= */ false,
+                        mContentObserver);
+    }
+
+    @Override
+    public void onStop() {
+        mContext.getContentResolver().unregisterContentObserver(mContentObserver);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (!Flags.bluetoothQsTileDialogAutoOnToggle()) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        updateValue();
+        return mAutoOnValue != UNSET ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mAutoOnValue == ENABLED;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (getAvailabilityStatus() != AVAILABLE) {
+            Log.w(TAG, "Trying to set toggle value while feature not available.");
+            return false;
+        }
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            boolean updated =
+                                    Settings.Secure.putIntForUser(
+                                            mContext.getContentResolver(),
+                                            SETTING_NAME,
+                                            isChecked ? ENABLED : DISABLED,
+                                            UserHandle.myUserId());
+                            if (updated) {
+                                updateValue();
+                            }
+                        });
+        return true;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+
+    private void updateValue() {
+        mAutoOnValue =
+                Settings.Secure.getIntForUser(
+                        mContext.getContentResolver(), SETTING_NAME, UNSET, UserHandle.myUserId());
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java b/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
index 7fa63b0..2914cf4 100644
--- a/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothBroadcastDialog.java
@@ -113,7 +113,7 @@
         });
 
         mAlertDialog = new AlertDialog.Builder(mContext,
-                com.android.settingslib.R.style.Theme_AlertDialog_SettingsLib)
+                com.android.settingslib.widget.theme.R.style.Theme_AlertDialog_SettingsLib)
             .setView(layout)
             .create();
 
diff --git a/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java b/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java
index 9904e8b..d0fabc6 100644
--- a/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothBroadcastSourcePreference.java
@@ -42,7 +42,8 @@
 class BluetoothBroadcastSourcePreference extends Preference {
 
     private static final int RESOURCE_ID_UNKNOWN_PROGRAM_INFO = R.string.device_info_default;
-    private static final int RESOURCE_ID_ICON = R.drawable.settings_input_antenna;
+    private static final int RESOURCE_ID_ICON =
+            com.android.settingslib.R.drawable.settings_input_antenna;
 
     private BluetoothLeBroadcastMetadata mBluetoothLeBroadcastMetadata;
     private BluetoothLeBroadcastReceiveState mBluetoothLeBroadcastReceiveState;
@@ -59,16 +60,19 @@
     @Override
     public void onBindViewHolder(final PreferenceViewHolder view) {
         super.onBindViewHolder(view);
-        view.findViewById(R.id.two_target_divider).setVisibility(View.INVISIBLE);
-        final ImageButton imageButton = (ImageButton) view.findViewById(R.id.icon_button);
+        view.findViewById(com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider)
+                .setVisibility(View.INVISIBLE);
+        final ImageButton imageButton =
+                (ImageButton) view.findViewById(com.android.settingslib.R.id.icon_button);
         imageButton.setVisibility(View.GONE);
-        mFrictionImageView = (ImageView) view.findViewById(R.id.friction_icon);
+        mFrictionImageView =
+                (ImageView) view.findViewById(com.android.settingslib.R.id.friction_icon);
         updateStatusButton();
     }
 
     private void initUi() {
-        setLayoutResource(R.layout.preference_access_point);
-        setWidgetLayoutResource(R.layout.access_point_friction_widget);
+        setLayoutResource(com.android.settingslib.R.layout.preference_access_point);
+        setWidgetLayoutResource(com.android.settingslib.R.layout.access_point_friction_widget);
         mTitle = getContext().getString(RESOURCE_ID_UNKNOWN_PROGRAM_INFO);
         mStatus = false;
         final Drawable drawable = getContext().getDrawable(RESOURCE_ID_ICON);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeController.java b/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeController.java
index 9571767..d62543b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeController.java
@@ -23,6 +23,7 @@
 import static android.media.AudioManager.AUDIO_DEVICE_CATEGORY_OTHER;
 import static android.media.AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER;
 import static android.media.AudioManager.AUDIO_DEVICE_CATEGORY_UNKNOWN;
+import static android.media.audio.Flags.automaticBtDeviceType;
 
 import android.content.Context;
 import android.media.AudioManager;
@@ -106,9 +107,15 @@
                     final int index = pref.findIndexOfValue(value);
                     if (index >= 0) {
                         pref.setSummary(pref.getEntries()[index]);
-                        mAudioManager.setBluetoothAudioDeviceCategory(mCachedDevice.getAddress(),
-                                mCachedDevice.getDevice().getType() == DEVICE_TYPE_LE,
-                                Integer.parseInt(value));
+                        if (automaticBtDeviceType()) {
+                            mAudioManager.setBluetoothAudioDeviceCategory(
+                                    mCachedDevice.getAddress(), Integer.parseInt(value));
+                        } else {
+                            mAudioManager.setBluetoothAudioDeviceCategory_legacy(
+                                    mCachedDevice.getAddress(),
+                                    mCachedDevice.getDevice().getType() == DEVICE_TYPE_LE,
+                                    Integer.parseInt(value));
+                        }
                         mCachedDevice.onAudioDeviceCategoryChanged();
                     }
                 }
@@ -163,9 +170,15 @@
                 Integer.toString(AUDIO_DEVICE_CATEGORY_OTHER),
         });
 
-        @AudioDeviceCategory final int deviceCategory =
-                mAudioManager.getBluetoothAudioDeviceCategory(mCachedDevice.getAddress(),
-                        mCachedDevice.getDevice().getType() == DEVICE_TYPE_LE);
+        @AudioDeviceCategory int deviceCategory;
+        if (automaticBtDeviceType()) {
+            deviceCategory = mAudioManager.getBluetoothAudioDeviceCategory(
+                    mCachedDevice.getAddress());
+        } else {
+            deviceCategory = mAudioManager.getBluetoothAudioDeviceCategory_legacy(
+                    mCachedDevice.getAddress(),
+                    mCachedDevice.getDevice().getType() == DEVICE_TYPE_LE);
+        }
         if (DEBUG) {
             Log.v(TAG, "getBluetoothAudioDeviceCategory() device: "
                     + mCachedDevice.getDevice().getAnonymizedAddress()
@@ -173,6 +186,12 @@
         }
         mAudioDeviceTypePreference.setValue(Integer.toString(deviceCategory));
 
+        if (automaticBtDeviceType()) {
+            if (mAudioManager.isBluetoothAudioDeviceCategoryFixed(mCachedDevice.getAddress())) {
+                mAudioDeviceTypePreference.setEnabled(false);
+            }
+        }
+
         mAudioDeviceTypePreference.setSummary(mAudioDeviceTypePreference.getEntry());
         mAudioDeviceTypePreference.setOnPreferenceChangeListener(this);
     }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
index e3f0f09..ad65ce4 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsController.java
@@ -185,7 +185,7 @@
     public void updatePreferences(Context context,
             String address, PreferenceCategory container) {
         // If the device is FastPair, remove CDM companion apps.
-        final BluetoothFeatureProvider bluetoothFeatureProvider = FeatureFactory.getFactory(context)
+        final BluetoothFeatureProvider bluetoothFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getBluetoothFeatureProvider();
         final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
index 5444f68..3338fe9 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsController.java
@@ -51,7 +51,7 @@
         mFragment = fragment;
         mCachedDevice = device;
         lifecycle.addObserver(this);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncController.java b/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncController.java
index 0d74f3c..1f63993 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncController.java
@@ -20,13 +20,13 @@
 import android.companion.CompanionDeviceManager;
 import android.companion.datatransfer.PermissionSyncRequest;
 import android.content.Context;
-import android.provider.Settings;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
@@ -69,7 +69,7 @@
                 a -> Objects.equal(mCachedDevice.getAddress(),
                         a.getDeviceMacAddress().toString().toUpperCase())).max(
                 Comparator.comparingLong(AssociationInfo::getTimeApprovedMs)).ifPresent(
-                    a -> mAssociationId = a.getId());
+                a -> mAssociationId = a.getId());
     }
 
     @Override
@@ -82,7 +82,7 @@
 
     @Override
     public boolean onPreferenceClick(Preference preference) {
-        SwitchPreference switchPreference = (SwitchPreference) preference;
+        TwoStatePreference switchPreference = (TwoStatePreference) preference;
         String key = switchPreference.getKey();
         if (key.equals(KEY_PERM_SYNC)) {
             if (switchPreference.isChecked()) {
@@ -91,7 +91,7 @@
                 mCompanionDeviceManager.disablePermissionsSync(mAssociationId);
             }
         }
-        return true;
+        return false;
     }
 
     @Override
@@ -107,7 +107,7 @@
 
     @Override
     protected void refresh() {
-        SwitchPreference permSyncPref = mPreferenceCategory.findPreference(KEY_PERM_SYNC);
+        TwoStatePreference permSyncPref = mPreferenceCategory.findPreference(KEY_PERM_SYNC);
         if (permSyncPref == null) {
             permSyncPref = createPermSyncPreference(mPreferenceCategory.getContext());
             mPreferenceCategory.addPreference(permSyncPref);
@@ -133,13 +133,11 @@
     }
 
     @VisibleForTesting
-    SwitchPreference createPermSyncPreference(Context context) {
-        SwitchPreference pref = new SwitchPreference(context);
+    TwoStatePreference createPermSyncPreference(Context context) {
+        TwoStatePreference pref = new SwitchPreferenceCompat(context);
         pref.setKey(KEY_PERM_SYNC);
         pref.setTitle(context.getString(R.string.bluetooth_details_permissions_sync_title));
-        pref.setSummary(context.getString(R.string.bluetooth_details_permissions_sync_summary,
-                mCachedDevice.getName(),
-                Settings.Global.getString(context.getContentResolver(), "device_name")));
+        pref.setSummary(context.getString(R.string.bluetooth_details_permissions_sync_summary));
         pref.setOnPreferenceClickListener(this);
         return pref;
     }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsExtraOptionsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsExtraOptionsController.java
new file mode 100644
index 0000000..ddaf5e5
--- /dev/null
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsExtraOptionsController.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.bluetooth;
+
+import android.content.Context;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceFragmentCompat;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.utils.ThreadUtils;
+
+import dagger.internal.Preconditions;
+
+import java.util.List;
+
+public class BluetoothDetailsExtraOptionsController extends BluetoothDetailsController {
+
+    private static final String KEY_BLUETOOTH_EXTRA_OPTIONS = "bt_extra_options";
+
+    @VisibleForTesting @Nullable
+    PreferenceCategory mOptionsContainer;
+    @Nullable PreferenceScreen mPreferenceScreen;
+
+    public BluetoothDetailsExtraOptionsController(
+            Context context,
+            PreferenceFragmentCompat fragment,
+            CachedBluetoothDevice device,
+            Lifecycle lifecycle) {
+        super(context, fragment, device, lifecycle);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_BLUETOOTH_EXTRA_OPTIONS;
+    }
+
+    @Override
+    protected void init(PreferenceScreen screen) {
+        mPreferenceScreen = screen;
+        mOptionsContainer = screen.findPreference(getPreferenceKey());
+        refresh();
+    }
+
+    @Override
+    protected void refresh() {
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    List<Preference> options =
+                            FeatureFactory.getFeatureFactory()
+                                    .getBluetoothFeatureProvider()
+                                    .getBluetoothExtraOptions(mContext, mCachedDevice);
+                    ThreadUtils.postOnMainThread(
+                            () -> {
+                                if (mOptionsContainer != null) {
+                                    mOptionsContainer.removeAll();
+                                    for (Preference option : options) {
+                                        mOptionsContainer.addPreference(option);
+                                    }
+                                    setVisible(
+                                            Preconditions.checkNotNull(mPreferenceScreen),
+                                            getPreferenceKey(),
+                                            !options.isEmpty());
+                                }
+                            });
+                });
+    }
+}
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
index 8f90b28..5ffa8cf 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHeaderController.java
@@ -29,8 +29,6 @@
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
-import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.LayoutPreference;
 
@@ -41,15 +39,10 @@
     private static final String KEY_DEVICE_HEADER = "bluetooth_device_header";
 
     private EntityHeaderController mHeaderController;
-    private LocalBluetoothManager mLocalManager;
-    private CachedBluetoothDeviceManager mDeviceManager;
 
     public BluetoothDetailsHeaderController(Context context, PreferenceFragmentCompat fragment,
-            CachedBluetoothDevice device, Lifecycle lifecycle,
-            LocalBluetoothManager bluetoothManager) {
+            CachedBluetoothDevice device, Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
-        mLocalManager = bluetoothManager;
-        mDeviceManager = mLocalManager.getCachedDeviceManager();
     }
 
     @Override
@@ -87,7 +80,7 @@
     protected void refresh() {
         if (isAvailable()) {
             setHeaderProperties();
-            mHeaderController.done(mFragment.getActivity(), true /* rebindActions */);
+            mHeaderController.done(true /* rebindActions */);
         }
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java
index c4a4221..3d85ca2 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsController.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
@@ -39,7 +38,8 @@
 public class BluetoothDetailsHearingDeviceControlsController extends BluetoothDetailsController
         implements Preference.OnPreferenceClickListener {
 
-    private static final String KEY_DEVICE_CONTROLS_GENERAL_GROUP = "device_controls_general";
+    @VisibleForTesting
+    static final String KEY_DEVICE_CONTROLS_GENERAL_GROUP = "device_controls_general";
     @VisibleForTesting
     static final String KEY_HEARING_DEVICE_CONTROLS = "hearing_device_controls";
 
@@ -51,8 +51,7 @@
 
     @Override
     public boolean isAvailable() {
-        return mCachedDevice.isHearingAidDevice() && FeatureFlagUtils.isEnabled(mContext,
-                FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE);
+        return mCachedDevice.isHearingAidDevice();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
index d80512e..9943013 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsMacAddressController.java
@@ -59,6 +59,12 @@
                 title.append("\n").append(member.getIdentityAddress());
             }
             mFooterPreference.setTitle(title);
+        } else if (mCachedDevice.getSubDevice() != null) {
+            StringBuilder title = new StringBuilder(mContext.getString(
+                    R.string.bluetooth_multuple_devices_mac_address,
+                    mCachedDevice.getIdentityAddress()));
+            title.append("\n").append(mCachedDevice.getSubDevice().getIdentityAddress());
+            mFooterPreference.setTitle(title);
         } else {
             mFooterPreference.setTitle(mContext.getString(
                     R.string.bluetooth_device_mac_address, mCachedDevice.getIdentityAddress()));
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java b/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
index 188b4ad..d1d00d8 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.bluetooth;
 
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
 import androidx.preference.PreferenceFragmentCompat;
@@ -31,6 +32,8 @@
 
 import com.google.common.annotations.VisibleForTesting;
 
+import java.util.Set;
+
 /**
  * This class handles button preference logic to display for hearing aid device.
  */
@@ -73,7 +76,6 @@
     protected void refresh() {
         updateButtonPreferenceTitle(mPreference);
         setPreferencesVisibility(getButtonPreferenceVisibility(mCachedDevice));
-
     }
 
     private void updateButtonPreferenceTitle(ButtonPreference preference) {
@@ -91,7 +93,11 @@
     }
 
     private boolean getButtonPreferenceVisibility(CachedBluetoothDevice cachedDevice) {
-        return isBinauralMode(cachedDevice) && isOnlyOneSideConnected(cachedDevice);
+        // The device is not connected yet. Don't show the button.
+        if (!cachedDevice.isConnectedHearingAidDevice()) {
+            return false;
+        }
+        return isBinauralMode(cachedDevice) && !isOtherSideBonded(cachedDevice);
     }
 
     private void launchPairingDetail() {
@@ -106,16 +112,16 @@
         return cachedDevice.getDeviceMode() == HearingAidInfo.DeviceMode.MODE_BINAURAL;
     }
 
-    private boolean isOnlyOneSideConnected(CachedBluetoothDevice cachedDevice) {
-        if (!cachedDevice.isConnectedAshaHearingAidDevice()) {
-            return false;
-        }
-
+    private boolean isOtherSideBonded(CachedBluetoothDevice cachedDevice) {
         final CachedBluetoothDevice subDevice = cachedDevice.getSubDevice();
-        if (subDevice != null && subDevice.isConnectedAshaHearingAidDevice()) {
-            return false;
-        }
+        final boolean subDeviceBonded =
+                subDevice != null && subDevice.getBondState() == BluetoothDevice.BOND_BONDED;
 
-        return true;
+        final Set<CachedBluetoothDevice> memberDevice = cachedDevice.getMemberDevice();
+        final boolean allMemberDevicesBonded =
+                !memberDevice.isEmpty() && memberDevice.stream().allMatch(
+                        device -> device.getBondState() == BluetoothDevice.BOND_BONDED);
+
+        return subDeviceBonded || allMemberDevicesBonded;
     }
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
index e76b92e..943d99b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsProfilesController.java
@@ -16,11 +16,14 @@
 
 package com.android.settings.bluetooth;
 
+import static android.bluetooth.BluetoothDevice.METADATA_MODEL_NAME;
+
 import android.bluetooth.BluetoothDevice;
 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;
 
@@ -29,11 +32,15 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+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.LeAudioProfile;
@@ -44,11 +51,14 @@
 import com.android.settingslib.bluetooth.PanProfile;
 import com.android.settingslib.bluetooth.PbapServerProfile;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.utils.ThreadUtils;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
+import java.util.concurrent.atomic.AtomicReference;
 
 /**
  * This class adds switches for toggling the individual profiles that a Bluetooth device
@@ -68,11 +78,14 @@
 
     private static final String ENABLE_DUAL_MODE_AUDIO =
             "persist.bluetooth.enable_dual_mode_audio";
-    private static final String CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT = "le_audio_enabled_by_default";
+    private static final String LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY =
+            "ro.bluetooth.leaudio.le_audio_connection_by_default";
     private static final boolean LE_AUDIO_TOGGLE_VISIBLE_DEFAULT_VALUE = true;
     private static final String LE_AUDIO_TOGGLE_VISIBLE_PROPERTY =
             "persist.bluetooth.leaudio.toggle_visible";
 
+    private final AtomicReference<Set<String>> mInvisiblePreferenceKey = new AtomicReference<>();
+
     private LocalBluetoothManager mManager;
     private LocalBluetoothProfileManager mProfileManager;
     private CachedBluetoothDevice mCachedDevice;
@@ -107,29 +120,48 @@
     /**
      * Creates a switch preference for the particular profile.
      *
-     * @param context The context to use when creating the SwitchPreference
+     * @param context The context to use when creating the TwoStatePreference
      * @param profile The profile for which the preference controls.
      * @return A preference that allows the user to choose whether this profile
      * will be connected to.
      */
-    private SwitchPreference createProfilePreference(Context context,
+    private TwoStatePreference createProfilePreference(Context context,
             LocalBluetoothProfile profile) {
-        SwitchPreference pref = new SwitchPreference(context);
+        TwoStatePreference pref = new SwitchPreferenceCompat(context);
         pref.setKey(profile.toString());
         pref.setTitle(profile.getNameResource(mCachedDevice.getDevice()));
         pref.setOnPreferenceClickListener(this);
         pref.setOrder(profile.getOrdinal());
 
-        if (profile instanceof LeAudioProfile) {
+        boolean isLeEnabledByDefault =
+                SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true);
+
+        if (profile instanceof LeAudioProfile && (!isLeEnabledByDefault || !isModelNameInAllowList(
+                BluetoothUtils.getStringMetaData(mCachedDevice.getDevice(),
+                        METADATA_MODEL_NAME)))) {
             pref.setSummary(R.string.device_details_leaudio_toggle_summary);
         }
         return pref;
     }
 
     /**
-     * Refreshes the state for an existing SwitchPreference for a profile.
+     * Checks if the device model name is in the LE audio allow list based on its model name.
+     *
+     * @param modelName The model name of the device to be checked.
+     * @return true if the device is in the allow list, false otherwise.
      */
-    private void refreshProfilePreference(SwitchPreference profilePref,
+    @VisibleForTesting
+    boolean isModelNameInAllowList(String modelName) {
+        if (modelName == null || modelName.isEmpty()) {
+            return false;
+        }
+        return BluetoothProperties.le_audio_allow_list().contains(modelName);
+    }
+
+    /**
+     * Refreshes the state for an existing TwoStatePreference for a profile.
+     */
+    private void refreshProfilePreference(TwoStatePreference profilePref,
             LocalBluetoothProfile profile) {
         BluetoothDevice device = mCachedDevice.getDevice();
         boolean isLeAudioEnabled = isLeAudioEnabled();
@@ -158,6 +190,7 @@
         } else if (profile instanceof PbapServerProfile) {
             profilePref.setChecked(device.getPhonebookAccessPermission()
                     == BluetoothDevice.ACCESS_ALLOWED);
+            profilePref.setSummary(profile.getSummaryResourceForDevice(mCachedDevice.getDevice()));
         } else if (profile instanceof PanProfile) {
             profilePref.setChecked(profile.getConnectionStatus(device) ==
                     BluetoothProfile.STATE_CONNECTED);
@@ -167,8 +200,8 @@
 
         if (profile instanceof A2dpProfile) {
             A2dpProfile a2dp = (A2dpProfile) profile;
-            SwitchPreference highQualityPref = (SwitchPreference) mProfilesContainer.findPreference(
-                    HIGH_QUALITY_AUDIO_PREF_TAG);
+            TwoStatePreference highQualityPref =
+                    mProfilesContainer.findPreference(HIGH_QUALITY_AUDIO_PREF_TAG);
             if (highQualityPref != null) {
                 if (a2dp.isEnabled(device) && a2dp.supportsHighQualityAudio(device)) {
                     highQualityPref.setVisible(true);
@@ -253,7 +286,7 @@
                 return false;
             }
         }
-        SwitchPreference profilePref = (SwitchPreference) preference;
+        TwoStatePreference profilePref = (TwoStatePreference) preference;
         if (profilePref.isChecked()) {
             enableProfile(profile);
         } else {
@@ -327,15 +360,23 @@
         }
 
         LocalBluetoothProfile asha = mProfileManager.getHearingAidProfile();
+        LocalBluetoothProfile broadcastAssistant =
+                mProfileManager.getLeAudioBroadcastAssistantProfile();
 
         for (CachedBluetoothDevice leAudioDevice : mProfileDeviceMap.get(profile.toString())) {
             Log.d(TAG,
                     "device:" + leAudioDevice.getDevice().getAnonymizedAddress()
-                            + "disable LE profile");
+                            + " disable LE profile");
             profile.setEnabled(leAudioDevice.getDevice(), false);
             if (asha != null) {
                 asha.setEnabled(leAudioDevice.getDevice(), true);
             }
+            if (broadcastAssistant != null) {
+                Log.d(TAG,
+                        "device:" + leAudioDevice.getDevice().getAnonymizedAddress()
+                                + " disable LE broadcast assistant profile");
+                broadcastAssistant.setEnabled(leAudioDevice.getDevice(), false);
+            }
         }
 
         if (!SystemProperties.getBoolean(ENABLE_DUAL_MODE_AUDIO, false)) {
@@ -362,15 +403,23 @@
             disableProfileBeforeUserEnablesLeAudio(mProfileManager.getHeadsetProfile());
         }
         LocalBluetoothProfile asha = mProfileManager.getHearingAidProfile();
+        LocalBluetoothProfile broadcastAssistant =
+                mProfileManager.getLeAudioBroadcastAssistantProfile();
 
         for (CachedBluetoothDevice leAudioDevice : mProfileDeviceMap.get(profile.toString())) {
             Log.d(TAG,
                     "device:" + leAudioDevice.getDevice().getAnonymizedAddress()
-                            + "enable LE profile");
+                            + " enable LE profile");
             profile.setEnabled(leAudioDevice.getDevice(), true);
             if (asha != null) {
                 asha.setEnabled(leAudioDevice.getDevice(), false);
             }
+            if (broadcastAssistant != null) {
+                Log.d(TAG,
+                        "device:" + leAudioDevice.getDevice().getAnonymizedAddress()
+                                + " enable LE broadcast assistant profile");
+                broadcastAssistant.setEnabled(leAudioDevice.getDevice(), true);
+            }
         }
     }
 
@@ -432,12 +481,12 @@
         BluetoothDevice device = mCachedDevice.getDevice();
         A2dpProfile a2dp = (A2dpProfile) profile;
         if (a2dp.isProfileReady() && a2dp.supportsHighQualityAudio(device)) {
-            SwitchPreference highQualityAudioPref = new SwitchPreference(
+            TwoStatePreference highQualityAudioPref = new SwitchPreferenceCompat(
                     mProfilesContainer.getContext());
             highQualityAudioPref.setKey(HIGH_QUALITY_AUDIO_PREF_TAG);
             highQualityAudioPref.setVisible(false);
             highQualityAudioPref.setOnPreferenceClickListener(clickedPref -> {
-                boolean enable = ((SwitchPreference) clickedPref).isChecked();
+                boolean enable = ((TwoStatePreference) clickedPref).isChecked();
                 a2dp.setHighQualityAudioEnabled(mCachedDevice.getDevice(), enable);
                 return true;
             });
@@ -468,12 +517,12 @@
                 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 = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_BLUETOOTH,
-                CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT, false);
+        boolean isLeEnabledByDefault =
+                SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true);
         mIsLeAudioToggleEnabled = isLeAudioToggleVisible || isLeEnabledByDefault;
         Log.d(TAG, "BT_LE_AUDIO_CONTACT_SHARING_ENABLED:" + mIsLeContactSharingEnabled
                 + ", LE_AUDIO_TOGGLE_VISIBLE_PROPERTY:" + isLeAudioToggleVisible
-                + ", CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT:" + isLeEnabledByDefault);
+                + ", LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY:" + isLeEnabledByDefault);
     }
 
     @Override
@@ -505,12 +554,27 @@
      */
     @Override
     protected void refresh() {
+        if (Flags.enableBluetoothProfileToggleVisibilityChecker()) {
+            ThreadUtils.postOnBackgroundThread(
+                    () -> {
+                        mInvisiblePreferenceKey.set(
+                                FeatureFactory.getFeatureFactory()
+                                        .getBluetoothFeatureProvider()
+                                        .getInvisibleProfilePreferenceKeys(
+                                                mContext, mCachedDevice.getDevice()));
+                        ThreadUtils.postOnMainThread(this::refreshUi);
+                    });
+        } else {
+            refreshUi();
+        }
+    }
+
+    private void refreshUi() {
         for (LocalBluetoothProfile profile : getProfiles()) {
             if (profile == null || !profile.isProfileReady()) {
                 continue;
             }
-            SwitchPreference pref = mProfilesContainer.findPreference(
-                    profile.toString());
+            TwoStatePreference pref = mProfilesContainer.findPreference(profile.toString());
             if (pref == null) {
                 pref = createProfilePreference(mProfilesContainer.getContext(), profile);
                 mProfilesContainer.addPreference(pref);
@@ -519,8 +583,8 @@
             refreshProfilePreference(pref, profile);
         }
         for (LocalBluetoothProfile removedProfile : mCachedDevice.getRemovedProfiles()) {
-            final SwitchPreference pref = mProfilesContainer.findPreference(
-                    removedProfile.toString());
+            final TwoStatePreference pref =
+                    mProfilesContainer.findPreference(removedProfile.toString());
             if (pref != null) {
                 mProfilesContainer.removePreference(pref);
             }
@@ -536,6 +600,16 @@
             preference.setSelectable(false);
             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()));
+                }
+            }
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java b/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java
index bfaea85..dc5a91a 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsRelatedToolsController.java
@@ -75,8 +75,8 @@
             mPreferenceCategory.removePreference(liveCaptionPreference);
         }
 
-        final List<ComponentName> relatedToolsList = FeatureFactory.getFactory(
-                mContext).getBluetoothFeatureProvider().getRelatedTools();
+        final List<ComponentName> relatedToolsList =
+                FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider().getRelatedTools();
         if (!CollectionUtils.isEmpty(relatedToolsList)) {
             addAccessibilityInstalledRelatedPreference(relatedToolsList);
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
index c431cee..e5fb365 100644
--- a/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioController.java
@@ -21,7 +21,6 @@
 import android.content.Context;
 import android.media.AudioDeviceAttributes;
 import android.media.AudioDeviceInfo;
-import android.media.AudioManager;
 import android.media.Spatializer;
 import android.text.TextUtils;
 import android.util.Log;
@@ -31,11 +30,16 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.concurrent.atomic.AtomicBoolean;
 
 /**
  * The controller of the Spatial audio setting in the bluetooth detail settings.
@@ -55,14 +59,16 @@
     @VisibleForTesting
     AudioDeviceAttributes mAudioDevice = null;
 
+    AtomicBoolean mHasHeadTracker = new AtomicBoolean(false);
+
     public BluetoothDetailsSpatialAudioController(
             Context context,
             PreferenceFragmentCompat fragment,
             CachedBluetoothDevice device,
             Lifecycle lifecycle) {
         super(context, fragment, device, lifecycle);
-        AudioManager audioManager = context.getSystemService(AudioManager.class);
-        mSpatializer = audioManager.getSpatializer();
+        mSpatializer = FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider()
+                .getSpatializer(context);
     }
 
     @Override
@@ -72,11 +78,17 @@
 
     @Override
     public boolean onPreferenceClick(Preference preference) {
-        SwitchPreference switchPreference = (SwitchPreference) preference;
+        TwoStatePreference switchPreference = (TwoStatePreference) preference;
         String key = switchPreference.getKey();
         if (TextUtils.equals(key, KEY_SPATIAL_AUDIO)) {
             updateSpatializerEnabled(switchPreference.isChecked());
-            refreshSpatialAudioEnabled(switchPreference);
+            ThreadUtils.postOnBackgroundThread(
+                    () -> {
+                        mHasHeadTracker.set(
+                                mAudioDevice != null && mSpatializer.hasHeadTracker(mAudioDevice));
+                        mContext.getMainExecutor()
+                                .execute(() -> refreshSpatialAudioEnabled(switchPreference));
+                    });
             return true;
         } else if (TextUtils.equals(key, KEY_HEAD_TRACKING)) {
             updateSpatializerHeadTracking(switchPreference.isChecked());
@@ -123,8 +135,16 @@
         if (mAudioDevice == null) {
             getAvailableDevice();
         }
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    mHasHeadTracker.set(
+                            mAudioDevice != null && mSpatializer.hasHeadTracker(mAudioDevice));
+                    mContext.getMainExecutor().execute(this::refreshUi);
+                });
+    }
 
-        SwitchPreference spatialAudioPref = mProfilesContainer.findPreference(KEY_SPATIAL_AUDIO);
+    private void refreshUi() {
+        TwoStatePreference spatialAudioPref = mProfilesContainer.findPreference(KEY_SPATIAL_AUDIO);
         if (spatialAudioPref == null && mAudioDevice != null) {
             spatialAudioPref = createSpatialAudioPreference(mProfilesContainer.getContext());
             mProfilesContainer.addPreference(spatialAudioPref);
@@ -132,7 +152,7 @@
             if (spatialAudioPref != null) {
                 mProfilesContainer.removePreference(spatialAudioPref);
             }
-            final SwitchPreference headTrackingPref =
+            final TwoStatePreference headTrackingPref =
                     mProfilesContainer.findPreference(KEY_HEAD_TRACKING);
             if (headTrackingPref != null) {
                 mProfilesContainer.removePreference(headTrackingPref);
@@ -144,12 +164,13 @@
         refreshSpatialAudioEnabled(spatialAudioPref);
     }
 
-    private void refreshSpatialAudioEnabled(SwitchPreference spatialAudioPref) {
+    private void refreshSpatialAudioEnabled(
+            TwoStatePreference spatialAudioPref) {
         boolean isSpatialAudioOn = mSpatializer.getCompatibleAudioDevices().contains(mAudioDevice);
         Log.d(TAG, "refresh() isSpatialAudioOn : " + isSpatialAudioOn);
         spatialAudioPref.setChecked(isSpatialAudioOn);
 
-        SwitchPreference headTrackingPref = mProfilesContainer.findPreference(KEY_HEAD_TRACKING);
+        TwoStatePreference headTrackingPref = mProfilesContainer.findPreference(KEY_HEAD_TRACKING);
         if (headTrackingPref == null) {
             headTrackingPref = createHeadTrackingPreference(mProfilesContainer.getContext());
             mProfilesContainer.addPreference(headTrackingPref);
@@ -157,11 +178,10 @@
         refreshHeadTracking(spatialAudioPref, headTrackingPref);
     }
 
-    private void refreshHeadTracking(SwitchPreference spatialAudioPref,
-                                     SwitchPreference headTrackingPref) {
-        boolean isHeadTrackingAvailable =
-                spatialAudioPref.isChecked() && mSpatializer.hasHeadTracker(mAudioDevice);
-        Log.d(TAG, "refresh() has head tracker : " + mSpatializer.hasHeadTracker(mAudioDevice));
+    private void refreshHeadTracking(TwoStatePreference spatialAudioPref,
+            TwoStatePreference headTrackingPref) {
+        boolean isHeadTrackingAvailable = spatialAudioPref.isChecked() && mHasHeadTracker.get();
+        Log.d(TAG, "refresh() has head tracker : " + mHasHeadTracker.get());
         headTrackingPref.setVisible(isHeadTrackingAvailable);
         if (isHeadTrackingAvailable) {
             headTrackingPref.setChecked(mSpatializer.isHeadTrackerEnabled(mAudioDevice));
@@ -169,8 +189,8 @@
     }
 
     @VisibleForTesting
-    SwitchPreference createSpatialAudioPreference(Context context) {
-        SwitchPreference pref = new SwitchPreference(context);
+    TwoStatePreference createSpatialAudioPreference(Context context) {
+        TwoStatePreference pref = new SwitchPreferenceCompat(context);
         pref.setKey(KEY_SPATIAL_AUDIO);
         pref.setTitle(context.getString(R.string.bluetooth_details_spatial_audio_title));
         pref.setSummary(context.getString(R.string.bluetooth_details_spatial_audio_summary));
@@ -179,8 +199,8 @@
     }
 
     @VisibleForTesting
-    SwitchPreference createHeadTrackingPreference(Context context) {
-        SwitchPreference pref = new SwitchPreference(context);
+    TwoStatePreference createHeadTrackingPreference(Context context) {
+        TwoStatePreference pref = new SwitchPreferenceCompat(context);
         pref.setKey(KEY_HEAD_TRACKING);
         pref.setTitle(context.getString(R.string.bluetooth_details_head_tracking_title));
         pref.setSummary(context.getString(R.string.bluetooth_details_head_tracking_summary));
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
index ae022aa..9c68c9c 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragment.java
@@ -22,6 +22,7 @@
 import android.app.settings.SettingsEnums;
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
+import android.content.Intent;
 import android.content.res.TypedArray;
 import android.hardware.input.InputManager;
 import android.net.Uri;
@@ -53,6 +54,7 @@
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import java.util.ArrayList;
@@ -173,8 +175,8 @@
         use(LeAudioBluetoothDetailsHeaderController.class).init(mCachedDevice, mManager);
         use(KeyboardSettingsPreferenceController.class).init(mCachedDevice);
 
-        final BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory(
-                context).getBluetoothFeatureProvider();
+        final BluetoothFeatureProvider featureProvider =
+                FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider();
         final boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
 
@@ -184,8 +186,8 @@
     }
 
     private void updateExtraControlUri(int viewWidth) {
-        BluetoothFeatureProvider featureProvider = FeatureFactory.getFactory(
-                getContext()).getBluetoothFeatureProvider();
+        BluetoothFeatureProvider featureProvider =
+                FeatureFactory.getFeatureFactory().getBluetoothFeatureProvider();
         boolean sliceEnabled = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SETTINGS_UI,
                 SettingsUIDeviceConfig.BT_SLICE_SETTINGS_ENABLED, true);
         Uri controlUri = null;
@@ -203,6 +205,16 @@
         slicePreferenceController.setSliceUri(sliceEnabled ? controlUri : null);
         slicePreferenceController.onStart();
         slicePreferenceController.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());
     }
 
     private final ViewTreeObserver.OnGlobalLayoutListener mOnGlobalLayoutListener =
@@ -295,7 +307,7 @@
         if (mCachedDevice != null) {
             Lifecycle lifecycle = getSettingsLifecycle();
             controllers.add(new BluetoothDetailsHeaderController(context, this, mCachedDevice,
-                    lifecycle, mManager));
+                    lifecycle));
             controllers.add(new BluetoothDetailsButtonsController(context, this, mCachedDevice,
                     lifecycle));
             controllers.add(new BluetoothDetailsCompanionAppsController(context, this,
@@ -314,10 +326,16 @@
                     lifecycle));
             controllers.add(new BluetoothDetailsPairOtherController(context, this, mCachedDevice,
                     lifecycle));
-            controllers.add(new BluetoothDetailsHearingDeviceControlsController(context, this,
-                    mCachedDevice, lifecycle));
+            // Don't need to show hearing device again when launched from the same page.
+            if (!isLaunchFromHearingDevicePage()) {
+                controllers.add(new BluetoothDetailsHearingDeviceControlsController(context, this,
+                        mCachedDevice, lifecycle));
+            }
             controllers.add(new BluetoothDetailsDataSyncController(context, this,
                     mCachedDevice, lifecycle));
+            controllers.add(
+                    new BluetoothDetailsExtraOptionsController(
+                            context, this, mCachedDevice, lifecycle));
         }
         return controllers;
     }
@@ -335,6 +353,16 @@
         return width;
     }
 
+    private boolean isLaunchFromHearingDevicePage() {
+        final Intent intent = getIntent();
+        if (intent == null) {
+            return false;
+        }
+
+        return intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
+                SettingsEnums.PAGE_UNKNOWN) == SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS;
+    }
+
     @VisibleForTesting
     void setTitleForInputDevice() {
         if (StylusDevicesController.isDeviceStylus(mInputDevice, mCachedDevice)) {
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
index f2bc6fc..67c32ed 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBase.java
@@ -99,8 +99,8 @@
             return;
         } else if (bondState == BluetoothDevice.BOND_BONDING) {
             // Set the bond entry where binding process starts for logging hearing aid device info
-            final int pageId = FeatureFactory.getFactory(
-                    getContext()).getMetricsFeatureProvider().getAttribution(getActivity());
+            final int pageId = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
+                    .getAttribution(getActivity());
             final int bondEntry = AccessibilityStatsLogUtils.convertToHearingAidInfoBondEntry(
                     pageId);
             HearingAidStatsLogUtils.setBondEntryForDevice(bondEntry, cachedDevice);
diff --git a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
index 039080b..ac0c63b 100644
--- a/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
+++ b/src/com/android/settings/bluetooth/BluetoothDevicePreference.java
@@ -156,7 +156,7 @@
         return R.layout.preference_widget_gear;
     }
 
-    CachedBluetoothDevice getCachedDevice() {
+    public CachedBluetoothDevice getCachedDevice() {
         return mCachedDevice;
     }
 
@@ -196,6 +196,10 @@
     }
 
     private void registerMetadataChangedListener() {
+        if (mBluetoothAdapter == null) {
+            Log.d(TAG, "No mBluetoothAdapter");
+            return;
+        }
         if (mBluetoothDevices == null) {
             mBluetoothDevices = new HashSet<>();
         }
@@ -210,18 +214,47 @@
             Log.d(TAG, "No BT device to register.");
             return;
         }
-        mBluetoothDevices.forEach(bd ->
-                mBluetoothAdapter.addOnMetadataChangedListener(bd,
-                        getContext().getMainExecutor(), mMetadataListener));
+        Set<BluetoothDevice> errorDevices = new HashSet<>();
+        mBluetoothDevices.forEach(bd -> {
+            try {
+                boolean isSuccess = mBluetoothAdapter.addOnMetadataChangedListener(bd,
+                        getContext().getMainExecutor(), mMetadataListener);
+                if (!isSuccess) {
+                    Log.e(TAG, bd.getAnonymizedAddress() + ": add into Listener failed");
+                    errorDevices.add(bd);
+                }
+            } catch (NullPointerException e) {
+                errorDevices.add(bd);
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            } catch (IllegalArgumentException e) {
+                errorDevices.add(bd);
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            }
+        });
+        for (BluetoothDevice errorDevice : errorDevices) {
+            mBluetoothDevices.remove(errorDevice);
+            Log.d(TAG, "mBluetoothDevices remove " + errorDevice.getAnonymizedAddress());
+        }
     }
 
     private void unregisterMetadataChangedListener() {
+        if (mBluetoothAdapter == null) {
+            Log.d(TAG, "No mBluetoothAdapter");
+            return;
+        }
         if (mBluetoothDevices == null || mBluetoothDevices.isEmpty()) {
             Log.d(TAG, "No BT device to unregister.");
             return;
         }
-        mBluetoothDevices.forEach(
-                bd -> mBluetoothAdapter.removeOnMetadataChangedListener(bd, mMetadataListener));
+        mBluetoothDevices.forEach(bd -> {
+            try {
+                mBluetoothAdapter.removeOnMetadataChangedListener(bd, mMetadataListener);
+            } catch (NullPointerException e) {
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            } catch (IllegalArgumentException e) {
+                Log.e(TAG, bd.getAnonymizedAddress() + ":" + e.toString());
+            }
+        });
         mBluetoothDevices.clear();
     }
 
@@ -329,12 +362,16 @@
         }
     }
 
-    void onClicked() {
+    /**
+     * Performs different actions according to the device connected and bonded state after
+     * clicking on the preference.
+     */
+    public void onClicked() {
         Context context = getContext();
         int bondState = mCachedDevice.getBondState();
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         if (mCachedDevice.isConnected()) {
             metricsFeatureProvider.action(context,
@@ -378,7 +415,7 @@
     private void pair() {
         if (!mCachedDevice.startPairing()) {
             Utils.showError(getContext(), mCachedDevice.getName(),
-                    R.string.bluetooth_pairing_error_message);
+                    com.android.settingslib.R.string.bluetooth_pairing_error_message);
         }
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java b/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
index e8751dc..4c70b95 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceController.java
@@ -38,7 +38,7 @@
      */
     public BluetoothDeviceRenamePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
index 2935c67..4b21b2e 100644
--- a/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothDeviceUpdater.java
@@ -82,7 +82,7 @@
         mPreferenceMap = new HashMap<>();
         mLocalManager = localManager;
         mMetricsCategory = metricsCategory;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
@@ -183,10 +183,8 @@
 
     @Override
     public void onAclConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
-        if (DBG) {
-            Log.d(getLogTag(), "onAclConnectionStateChanged() device: " + cachedDevice.getName()
-                    + ", state: " + state);
-        }
+        Log.d(getLogTag(), "onAclConnectionStateChanged() device: " + cachedDevice.getName()
+                + ", state: " + state);
         update(cachedDevice);
     }
 
diff --git a/src/com/android/settings/bluetooth/BluetoothEnabler.java b/src/com/android/settings/bluetooth/BluetoothEnabler.java
index de49ce1..eaa0b96 100644
--- a/src/com/android/settings/bluetooth/BluetoothEnabler.java
+++ b/src/com/android/settings/bluetooth/BluetoothEnabler.java
@@ -63,12 +63,6 @@
     };
 
     public BluetoothEnabler(Context context, SwitchWidgetController switchController,
-            MetricsFeatureProvider metricsFeatureProvider, int metricsEvent) {
-        this(context, switchController, metricsFeatureProvider, metricsEvent,
-                new RestrictionUtils());
-    }
-
-    public BluetoothEnabler(Context context, SwitchWidgetController switchController,
             MetricsFeatureProvider metricsFeatureProvider, int metricsEvent,
             RestrictionUtils restrictionUtils) {
         mContext = context;
diff --git a/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java b/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java
index 648ca30..1751082 100644
--- a/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java
+++ b/src/com/android/settings/bluetooth/BluetoothFeatureProvider.java
@@ -18,9 +18,16 @@
 
 import android.bluetooth.BluetoothDevice;
 import android.content.ComponentName;
+import android.content.Context;
+import android.media.Spatializer;
 import android.net.Uri;
 
+import androidx.preference.Preference;
+
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
 import java.util.List;
+import java.util.Set;
 
 /**
  * Provider for bluetooth related features.
@@ -50,4 +57,31 @@
      * @return list of {@link ComponentName}
      */
     List<ComponentName> getRelatedTools();
+
+    /**
+     * Gets the instance of {@link Spatializer}.
+     *
+     * @param context Context
+     * @return the Spatializer instance
+     */
+    Spatializer getSpatializer(Context context);
+
+    /**
+     * Gets bluetooth device extra options
+     *
+     * @param context Context
+     * @param device the bluetooth device
+     * @return the extra bluetooth preference list
+     */
+    List<Preference> getBluetoothExtraOptions(Context context, CachedBluetoothDevice device);
+
+    /**
+     * Gets the bluetooth profile preference keys which should be hidden in the device details page.
+     *
+     * @param context         Context
+     * @param bluetoothDevice the bluetooth device
+     * @return the profiles which should be hidden
+     */
+    Set<String> getInvisibleProfilePreferenceKeys(
+            Context context, BluetoothDevice bluetoothDevice);
 }
diff --git a/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.java b/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.java
index 5ddf062..2d4ac49 100644
--- a/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.java
+++ b/src/com/android/settings/bluetooth/BluetoothFeatureProviderImpl.java
@@ -19,19 +19,26 @@
 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 {
 
-    public BluetoothFeatureProviderImpl(Context context) {}
-
     @Override
     public Uri getBluetoothDeviceSettingsUri(BluetoothDevice bluetoothDevice) {
         final byte[] uriByte = bluetoothDevice.getMetadata(
@@ -48,4 +55,22 @@
     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/BluetoothFindBroadcastsFragment.java b/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java
index f9d083d..cffd68c 100644
--- a/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragment.java
@@ -30,10 +30,16 @@
 import android.content.Context;
 import android.content.Intent;
 import android.os.Bundle;
+import android.text.Editable;
+import android.text.InputFilter;
+import android.text.InputType;
+import android.text.Spanned;
+import android.text.TextWatcher;
 import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.WindowManager;
+import android.widget.Button;
 import android.widget.EditText;
 import android.widget.TextView;
 import android.widget.Toast;
@@ -474,9 +480,64 @@
                 .create();
 
         alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
+        addTextWatcher(alertDialog, editText);
         alertDialog.show();
+        updateBtnState(alertDialog, false);
     }
 
+    private void addTextWatcher(AlertDialog alertDialog, EditText editText) {
+        if (alertDialog == null || editText == null) {
+            return;
+        }
+        final InputFilter[] filter = new InputFilter[] {mInputFilter};
+        editText.setFilters(filter);
+        editText.setInputType(InputType.TYPE_CLASS_TEXT
+                | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
+        TextWatcher bCodeTextWatcher = new TextWatcher() {
+            @Override
+            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
+                // Do nothing
+            }
+
+            @Override
+            public void onTextChanged(CharSequence s, int start, int before, int count) {
+                // Do nothing
+            }
+
+            @Override
+            public void afterTextChanged(Editable s) {
+                boolean breakBroadcastCodeRuleTextLengthLessThanMin =
+                        s.length() > 0 && s.toString().getBytes().length < 4;
+                boolean breakBroadcastCodeRuleTextLengthMoreThanMax =
+                        s.toString().getBytes().length > 16;
+                boolean breakRule = breakBroadcastCodeRuleTextLengthLessThanMin
+                        || breakBroadcastCodeRuleTextLengthMoreThanMax;
+                updateBtnState(alertDialog, !breakRule);
+            }
+        };
+        editText.addTextChangedListener(bCodeTextWatcher);
+    }
+
+    private void updateBtnState(AlertDialog alertDialog, boolean isEnable) {
+        Button positiveBtn = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
+        if (positiveBtn != null) {
+            positiveBtn.setEnabled(isEnable ? true : false);
+        }
+    }
+
+    private InputFilter mInputFilter = new InputFilter() {
+        @Override
+        public CharSequence filter(CharSequence source, int start, int end,
+                Spanned dest, int dstart, int dend) {
+            byte[] bytes = source.toString().getBytes(StandardCharsets.UTF_8);
+            if (bytes.length == source.length()) {
+                return source;
+            } else {
+                return "";
+            }
+        }
+    };
+
     private void handleSearchStarted() {
         cacheRemoveAllPrefs(mBroadcastSourceListCategory);
         addConnectedSourcePreference();
diff --git a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
index 74c39b6..c5b29f3 100644
--- a/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothNameDialogFragment.java
@@ -132,7 +132,7 @@
 
     @Override
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
-        if (actionId == EditorInfo.IME_ACTION_DONE) {
+        if (actionId == EditorInfo.IME_ACTION_DONE || actionId == EditorInfo.IME_NULL) {
             setDeviceName(v.getText().toString());
             if (mAlertDialog != null && mAlertDialog.isShowing()) {
                 mAlertDialog.dismiss();
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
index 0cd36d0..d5b4211 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialog.java
@@ -16,7 +16,8 @@
 
 package com.android.settings.bluetooth;
 
-import android.annotation.Nullable;
+import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
+
 import android.bluetooth.BluetoothDevice;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -24,11 +25,10 @@
 import android.content.IntentFilter;
 import android.os.Bundle;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentActivity;
 
-import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
-
 /**
  * BluetoothPairingDialog asks the user to enter a PIN / Passkey / simple confirmation
  * for pairing with a remote Bluetooth device. It is an activity that appears as a dialog.
diff --git a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
index e11c275..33e6fc3 100644
--- a/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/BluetoothPairingDialogFragment.java
@@ -32,6 +32,7 @@
 import android.view.inputmethod.InputMethodManager;
 import android.widget.Button;
 import android.widget.CheckBox;
+import android.widget.CompoundButton;
 import android.widget.EditText;
 import android.widget.TextView;
 
@@ -300,8 +301,10 @@
         mBuilder.setTitle(getString(R.string.bluetooth_pairing_request,
                 mPairingController.getDeviceName()));
         mBuilder.setView(createView());
-        mBuilder.setPositiveButton(getString(R.string.bluetooth_pairing_accept), this);
-        mBuilder.setNegativeButton(getString(R.string.bluetooth_pairing_decline), this);
+        mBuilder.setPositiveButton(
+                getString(com.android.settingslib.R.string.bluetooth_pairing_accept), this);
+        mBuilder.setNegativeButton(
+                getString(com.android.settingslib.R.string.bluetooth_pairing_decline), this);
         AlertDialog dialog = mBuilder.create();
         return dialog;
     }
@@ -339,11 +342,9 @@
         TextView pairingViewCaption = (TextView) view.findViewById(R.id.pairing_caption);
         TextView pairingViewContent = (TextView) view.findViewById(R.id.pairing_subhead);
         TextView messagePairing = (TextView) view.findViewById(R.id.pairing_code_message);
-        CheckBox contactSharing = (CheckBox) view.findViewById(
-                R.id.phonebook_sharing_message_confirm_pin);
-        contactSharing.setText(getString(R.string.bluetooth_pairing_shares_phonebook));
-
-        contactSharing.setVisibility(
+        CompoundButton contactSharing =
+                view.findViewById(R.id.phonebook_sharing_message_confirm_pin);
+        view.findViewById(R.id.phonebook_sharing).setVisibility(
                 mPairingController.isContactSharingVisible() ? View.VISIBLE : View.GONE);
         mPairingController.setContactSharingState();
         contactSharing.setChecked(mPairingController.getContactSharingState());
diff --git a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java
index fdd9e25..41606ba 100644
--- a/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java
+++ b/src/com/android/settings/bluetooth/BluetoothPermissionActivity.java
@@ -24,10 +24,11 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.os.Bundle;
-import android.text.TextUtils;
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 import android.widget.Button;
@@ -209,6 +210,14 @@
 
     @VisibleForTesting
     void sendReplyIntentToReceiver(final boolean allowed, final boolean always) {
+        String bluetoothName;
+        try {
+            bluetoothName = Utils.findBluetoothPackageName(this);
+        } catch (NameNotFoundException e) {
+            Log.e(TAG, "Failed to find bluetooth package name", e);
+            return;
+        }
+
         Intent intent = new Intent(BluetoothDevice.ACTION_CONNECTION_ACCESS_REPLY);
 
         if (DEBUG) {
@@ -216,6 +225,7 @@
                     + " mReturnPackage");
         }
 
+        intent.setPackage(bluetoothName);
         intent.putExtra(BluetoothDevice.EXTRA_CONNECTION_ACCESS_RESULT,
                         allowed ? BluetoothDevice.CONNECTION_ACCESS_YES
                                 : BluetoothDevice.CONNECTION_ACCESS_NO);
diff --git a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
index 508084d..fd8ef1f 100644
--- a/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
+++ b/src/com/android/settings/bluetooth/BluetoothSliceBuilder.java
@@ -124,7 +124,8 @@
 
     private static boolean isBluetoothEnabled() {
         final BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
-        return adapter.isEnabled();
+        return adapter.getState() == BluetoothAdapter.STATE_ON
+                || adapter.getState() == BluetoothAdapter.STATE_TURNING_ON;
     }
 
     private static PendingIntent getPrimaryAction(Context context) {
diff --git a/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java b/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java
index 6e82649..4587fba 100644
--- a/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java
+++ b/src/com/android/settings/bluetooth/BluetoothSummaryUpdater.java
@@ -80,9 +80,9 @@
             case BluetoothAdapter.STATE_CONNECTED:
                 return getConnectedDeviceSummary();
             case BluetoothAdapter.STATE_CONNECTING:
-                return mContext.getString(R.string.bluetooth_connecting);
+                return mContext.getString(com.android.settingslib.R.string.bluetooth_connecting);
             case BluetoothAdapter.STATE_DISCONNECTING:
-                return mContext.getString(R.string.bluetooth_disconnecting);
+                return mContext.getString(com.android.settingslib.R.string.bluetooth_disconnecting);
             default:
                 return mContext.getString(R.string.disconnected);
         }
diff --git a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
index 5c3af9b..ac55758 100644
--- a/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
+++ b/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceController.java
@@ -15,8 +15,13 @@
  */
 package com.android.settings.bluetooth;
 
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.SETTING_NAME;
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.UNSET;
+
 import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
 import android.view.View;
 
 import androidx.annotation.VisibleForTesting;
@@ -29,6 +34,7 @@
 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.flags.Flags;
 import com.android.settingslib.widget.FooterPreference;
 
 /**
@@ -36,8 +42,11 @@
  * is delegated to the SwitchWidgetController it uses.
  */
 public class BluetoothSwitchPreferenceController
-        implements LifecycleObserver, OnStart, OnStop,
-        SwitchWidgetController.OnSwitchChangeListener, View.OnClickListener {
+        implements LifecycleObserver,
+                OnStart,
+                OnStop,
+                SwitchWidgetController.OnSwitchChangeListener,
+                View.OnClickListener {
 
     private BluetoothEnabler mBluetoothEnabler;
     private RestrictionUtils mRestrictionUtils;
@@ -46,18 +55,21 @@
     private FooterPreference mFooterPreference;
     private boolean mIsAlwaysDiscoverable;
 
-    @VisibleForTesting
-    AlwaysDiscoverable mAlwaysDiscoverable;
+    @VisibleForTesting AlwaysDiscoverable mAlwaysDiscoverable;
 
-    public BluetoothSwitchPreferenceController(Context context,
+    public BluetoothSwitchPreferenceController(
+            Context context,
             SwitchWidgetController switchController,
             FooterPreference footerPreference) {
         this(context, new RestrictionUtils(), switchController, footerPreference);
     }
 
     @VisibleForTesting
-    public BluetoothSwitchPreferenceController(Context context, RestrictionUtils restrictionUtils,
-            SwitchWidgetController switchController, FooterPreference footerPreference) {
+    public BluetoothSwitchPreferenceController(
+            Context context,
+            RestrictionUtils restrictionUtils,
+            SwitchWidgetController switchController,
+            FooterPreference footerPreference) {
         mRestrictionUtils = restrictionUtils;
         mSwitch = switchController;
         mContext = context;
@@ -66,11 +78,13 @@
         mSwitch.setupView();
         updateText(mSwitch.isChecked());
 
-        mBluetoothEnabler = new BluetoothEnabler(context,
-                switchController,
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider(),
-                SettingsEnums.ACTION_SETTINGS_MASTER_SWITCH_BLUETOOTH_TOGGLE,
-                mRestrictionUtils);
+        mBluetoothEnabler =
+                new BluetoothEnabler(
+                        context,
+                        switchController,
+                        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider(),
+                        SettingsEnums.ACTION_SETTINGS_MASTER_SWITCH_BLUETOOTH_TOGGLE,
+                        mRestrictionUtils);
         mBluetoothEnabler.setToggleCallback(this);
         mAlwaysDiscoverable = new AlwaysDiscoverable(context);
     }
@@ -97,8 +111,8 @@
     /**
      * Set whether the device can be discovered. By default the value will be {@code false}.
      *
-     * @param isAlwaysDiscoverable {@code true} if the device can be discovered,
-     *     otherwise {@code false}
+     * @param isAlwaysDiscoverable {@code true} if the device can be discovered, otherwise {@code
+     *     false}
      */
     public void setAlwaysDiscoverable(boolean isAlwaysDiscoverable) {
         mIsAlwaysDiscoverable = isAlwaysDiscoverable;
@@ -119,15 +133,35 @@
                 .launch();
     }
 
-    @VisibleForTesting void updateText(boolean isChecked) {
+    @VisibleForTesting
+    void updateText(boolean isChecked) {
         if (!isChecked && Utils.isBluetoothScanningEnabled(mContext)) {
-            mFooterPreference.setTitle(R.string.bluetooth_scanning_on_info_message);
+            if (isAutoOnFeatureAvailable()) {
+                mFooterPreference.setTitle(
+                        R.string.bluetooth_scanning_on_info_message_auto_on_available);
+            } else {
+                mFooterPreference.setTitle(R.string.bluetooth_scanning_on_info_message);
+            }
             mFooterPreference.setLearnMoreText(mContext.getString(R.string.bluetooth_scan_change));
             mFooterPreference.setLearnMoreAction(v -> onClick(v));
         } else {
-            mFooterPreference.setTitle(R.string.bluetooth_empty_list_bluetooth_off);
+            if (isAutoOnFeatureAvailable()) {
+                mFooterPreference.setTitle(
+                        R.string.bluetooth_empty_list_bluetooth_off_auto_on_available);
+            } else {
+                mFooterPreference.setTitle(R.string.bluetooth_empty_list_bluetooth_off);
+            }
             mFooterPreference.setLearnMoreText("");
             mFooterPreference.setLearnMoreAction(null);
         }
     }
+
+    private boolean isAutoOnFeatureAvailable() {
+        if (!Flags.bluetoothQsTileDialogAutoOnToggle()) {
+            return false;
+        }
+        return Settings.Secure.getIntForUser(
+                        mContext.getContentResolver(), SETTING_NAME, UNSET, UserHandle.myUserId())
+                != UNSET;
+    }
 }
diff --git a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
index 489c095..012220c 100644
--- a/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdater.java
@@ -24,6 +24,8 @@
 import androidx.preference.Preference;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
 /**
@@ -95,6 +97,15 @@
                         cachedDevice.getName() + ", isFilterMatched : " + isFilterMatched);
             }
         }
+        if (Flags.enableHideExclusivelyManagedBluetoothDevice()) {
+            if (BluetoothUtils.isExclusivelyManagedBluetoothDevice(mContext,
+                    cachedDevice.getDevice())) {
+                if (DBG) {
+                    Log.d(TAG, "isFilterMatched() hide BluetoothDevice with exclusive manager");
+                }
+                return false;
+            }
+        }
         return isFilterMatched;
     }
 
diff --git a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
index f18ae46..3224f94 100644
--- a/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
+++ b/src/com/android/settings/bluetooth/DeviceListPreferenceFragment.kt
@@ -34,8 +34,10 @@
 import androidx.preference.PreferenceGroup
 import com.android.settings.R
 import com.android.settings.dashboard.RestrictedDashboardFragment
+import com.android.settings.flags.Flags
 import com.android.settingslib.bluetooth.BluetoothCallback
 import com.android.settingslib.bluetooth.BluetoothDeviceFilter
+import com.android.settingslib.bluetooth.BluetoothUtils
 import com.android.settingslib.bluetooth.CachedBluetoothDevice
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager
 import com.android.settingslib.bluetooth.LocalBluetoothManager
@@ -55,7 +57,12 @@
 abstract class DeviceListPreferenceFragment(restrictedKey: String?) :
     RestrictedDashboardFragment(restrictedKey), BluetoothCallback {
 
-    private var filter: BluetoothDeviceFilter.Filter? = BluetoothDeviceFilter.ALL_FILTER
+    enum class ScanType {
+        CLASSIC, LE
+    }
+
+    private var scanType = ScanType.CLASSIC
+    private var filter: BluetoothDeviceFilter.Filter = BluetoothDeviceFilter.ALL_FILTER
     private var leScanFilters: List<ScanFilter>? = null
 
     @JvmField
@@ -91,7 +98,8 @@
     private var showDevicesWithoutNames = false
 
     protected fun setFilter(filterType: Int) {
-        filter = BluetoothDeviceFilter.getFilter(filterType)
+        this.scanType = ScanType.CLASSIC
+        this.filter = BluetoothDeviceFilter.getFilter(filterType)
     }
 
     /**
@@ -101,7 +109,7 @@
      * @param leScanFilters list of settings to filter scan result
      */
     fun setFilter(leScanFilters: List<ScanFilter>?) {
-        filter = null
+        this.scanType = ScanType.LE
         this.leScanFilters = leScanFilters
     }
 
@@ -191,11 +199,14 @@
 
     private suspend fun addDevice(cachedDevice: CachedBluetoothDevice) =
         withContext(Dispatchers.Default) {
-            // TODO(b/289189853): Replace checking if `filter` is null or not to decide which type
-            // of Bluetooth scanning method will be used
-            val filterMatched = filter == null || filter!!.matches(cachedDevice.device) == true
-            // Prevent updates while the list shows one of the state messages
-            if (mBluetoothAdapter!!.state == BluetoothAdapter.STATE_ON && filterMatched) {
+            if (mBluetoothAdapter!!.state != BluetoothAdapter.STATE_ON) {
+                // Prevent updates while the list shows one of the state messages
+                return@withContext
+            }
+            // LE filters was already applied at scan time. We just need to check if the classic
+            // filter matches
+            if (scanType == ScanType.LE
+                || (scanType == ScanType.CLASSIC && filter.matches(cachedDevice.device) == true)) {
                 createDevicePreference(cachedDevice)
             }
         }
@@ -208,6 +219,14 @@
             )
             return
         }
+        if (Flags.enableHideExclusivelyManagedBluetoothDevice()) {
+            if (cachedDevice.device.bondState == BluetoothDevice.BOND_BONDED
+                && BluetoothUtils.isExclusivelyManagedBluetoothDevice(
+                    prefContext, cachedDevice.device)) {
+                Log.d(TAG, "Trying to create preference for a exclusively managed device")
+                return
+            }
+        }
         // Only add device preference when it's not found in the map and there's no other state
         // message showing in the list
         val preference = devicePreferenceMap.computeIfAbsent(cachedDevice) {
@@ -277,19 +296,19 @@
 
     @VisibleForTesting
     open fun startScanning() {
-        if (filter != null) {
-            startClassicScanning()
-        } else if (leScanFilters != null) {
+        if (scanType == ScanType.LE) {
             startLeScanning()
+        } else {
+            startClassicScanning()
         }
     }
 
     @VisibleForTesting
     open fun stopScanning() {
-        if (filter != null) {
-            stopClassicScanning()
-        } else if (leScanFilters != null) {
+        if (scanType == ScanType.LE) {
             stopLeScanning()
+        } else {
+            stopClassicScanning()
         }
     }
 
diff --git a/src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java b/src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java
index acbfd92..3a16e3e 100644
--- a/src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java
+++ b/src/com/android/settings/bluetooth/HearingAidPairingDialogFragment.java
@@ -28,8 +28,11 @@
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
+import com.android.settings.accessibility.HearingDevicePairingDetail;
+import com.android.settings.accessibility.HearingDevicePairingFragment;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HearingAidInfo;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -41,6 +44,8 @@
         CachedBluetoothDevice.Callback {
     public static final String TAG = "HearingAidPairingDialogFragment";
     private static final String KEY_DEVICE_ADDRESS = "device_address";
+    private static final String KEY_LAUNCH_PAGE = "launch_page";
+
     private LocalBluetoothManager mLocalBluetoothManager;
     private CachedBluetoothDevice mDevice;
 
@@ -50,11 +55,17 @@
      *
      * @param deviceAddress The remote Bluetooth device address, that needs to be a hearing aid
      *                      device.
+     * @param launchPage The id of the page where this dialog launch from. Should be one of
+     *                   {@link SettingsEnums#ACCESSIBILITY},
+     *                   {@link SettingsEnums#ACCESSIBILITY_HEARING_AID_SETTINGS}, or
+     *                   {@link SettingsEnums#SETTINGS_CONNECTED_DEVICE_CATEGORY}
      * @return a DialogFragment
      */
-    public static HearingAidPairingDialogFragment newInstance(String deviceAddress) {
+    public static HearingAidPairingDialogFragment newInstance(String deviceAddress,
+            int launchPage) {
         Bundle args = new Bundle(1);
         args.putString(KEY_DEVICE_ADDRESS, deviceAddress);
+        args.putInt(KEY_LAUNCH_PAGE, launchPage);
         final HearingAidPairingDialogFragment fragment = new HearingAidPairingDialogFragment();
         fragment.setArguments(args);
         return fragment;
@@ -111,8 +122,17 @@
     }
 
     private void positiveButtonListener() {
+        final int launchPage = getArguments().getInt(KEY_LAUNCH_PAGE);
+        final boolean launchFromA11y = (launchPage == SettingsEnums.ACCESSIBILITY)
+                || (launchPage == SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS);
+        final String a11yDestination = Flags.newHearingDevicePairingPage()
+                ? HearingDevicePairingFragment.class.getName()
+                : HearingDevicePairingDetail.class.getName();
+        final String destination = launchFromA11y
+                ? a11yDestination
+                : BluetoothPairingDetail.class.getName();
         new SubSettingLauncher(getActivity())
-                .setDestination(BluetoothPairingDetail.class.getName())
+                .setDestination(destination)
                 .setSourceMetricsCategory(getMetricsCategory())
                 .launch();
     }
diff --git a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
index f72494f..a64874d 100644
--- a/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
+++ b/src/com/android/settings/bluetooth/LeAudioBluetoothDetailsHeaderController.java
@@ -192,7 +192,7 @@
     Drawable createBtBatteryIcon(Context context, int level) {
         final BatteryMeterView.BatteryMeterDrawable drawable =
                 new BatteryMeterView.BatteryMeterDrawable(context,
-                        context.getColor(R.color.meter_background_color),
+                        context.getColor(com.android.settingslib.R.color.meter_background_color),
                         context.getResources().getDimensionPixelSize(
                                 R.dimen.advanced_bluetooth_battery_meter_width),
                         context.getResources().getDimensionPixelSize(
@@ -287,7 +287,8 @@
                     com.android.settings.Utils.formatPercentage(batteryLevel);
             batterySummaryView.setText(batteryLevelPercentageString);
             batterySummaryView.setContentDescription(mContext.getString(
-                    R.string.bluetooth_battery_level, batteryLevelPercentageString));
+                    com.android.settingslib.R.string.bluetooth_battery_level,
+                    batteryLevelPercentageString));
             batterySummaryView.setCompoundDrawablesRelativeWithIntrinsicBounds(
                     createBtBatteryIcon(mContext, batteryLevel), /* top */ null,
                     /* end */ null, /* bottom */ null);
diff --git a/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java b/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java
index ebca342..6dd1105 100644
--- a/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java
+++ b/src/com/android/settings/bluetooth/LocalBluetoothPreferences.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.bluetooth;
 
-import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
@@ -26,6 +25,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
+
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
 /**
diff --git a/src/com/android/settings/bluetooth/OWNERS b/src/com/android/settings/bluetooth/OWNERS
index e7fbbd1..0a3dec9 100644
--- a/src/com/android/settings/bluetooth/OWNERS
+++ b/src/com/android/settings/bluetooth/OWNERS
@@ -3,7 +3,9 @@
 timhypeng@google.com
 siyuanh@google.com
 robertluo@google.com
-changbetty@google.com
-songferngwang@google.com
+yiyishen@google.com
+yqian@google.com
+chelseahao@google.com
+hahong@google.com
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java b/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java
index 4af75ad..30e5c7b 100644
--- a/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java
+++ b/src/com/android/settings/bluetooth/QrCodeScanModeBaseActivity.java
@@ -42,8 +42,8 @@
 
         int defaultTheme =
                 ThemeHelper.isSetupWizardDayNightEnabled(this)
-                        ? R.style.SudThemeGlifV3_DayNight
-                        : R.style.SudThemeGlifV3_Light;
+                        ? com.google.android.setupdesign.R.style.SudThemeGlifV3_DayNight
+                        : com.google.android.setupdesign.R.style.SudThemeGlifV3_Light;
         ThemeResolver themeResolver =
                 new ThemeResolver.Builder(ThemeResolver.getDefault())
                         .setDefaultTheme(defaultTheme)
diff --git a/src/com/android/settings/bluetooth/RequestPermissionActivity.java b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
index 32ca277..d670554 100644
--- a/src/com/android/settings/bluetooth/RequestPermissionActivity.java
+++ b/src/com/android/settings/bluetooth/RequestPermissionActivity.java
@@ -18,7 +18,6 @@
 
 import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
-import android.annotation.NonNull;
 import android.app.Activity;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
@@ -37,6 +36,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
diff --git a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
index 43bc4f3..1db90fa 100644
--- a/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
+++ b/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdater.java
@@ -25,6 +25,8 @@
 import androidx.preference.Preference;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 
@@ -38,7 +40,6 @@
         implements Preference.OnPreferenceClickListener {
 
     private static final String TAG = "SavedBluetoothDeviceUpdater";
-    private static final boolean DBG = Log.isLoggable(BluetoothDeviceUpdater.TAG, Log.DEBUG);
 
     private static final String PREF_KEY = "saved_bt";
 
@@ -100,14 +101,22 @@
     @Override
     public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
         final BluetoothDevice device = cachedDevice.getDevice();
-        if (DBG) {
-            Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName() +
-                    ", is connected : " + device.isConnected() + ", is profile connected : "
-                    + cachedDevice.isConnected());
+        boolean isExclusivelyManaged = BluetoothUtils.isExclusivelyManagedBluetoothDevice(mContext,
+                cachedDevice.getDevice());
+        Log.d(TAG, "isFilterMatched() device name : " + cachedDevice.getName()
+                + ", is connected : " + device.isConnected() + ", is profile connected : "
+                + cachedDevice.isConnected() + ", is exclusively managed : "
+                + isExclusivelyManaged);
+        if (Flags.enableHideExclusivelyManagedBluetoothDevice()) {
+            return device.getBondState() == BluetoothDevice.BOND_BONDED
+                    && (mShowConnectedDevice || (!device.isConnected()
+                    && isDeviceInCachedDevicesList(cachedDevice)))
+                    && !isExclusivelyManaged;
+        } else {
+            return device.getBondState() == BluetoothDevice.BOND_BONDED
+                    && (mShowConnectedDevice || (!device.isConnected()
+                    && isDeviceInCachedDevicesList(cachedDevice)));
         }
-        return device.getBondState() == BluetoothDevice.BOND_BONDED
-                && (mShowConnectedDevice || (!device.isConnected() && isDeviceInCachedDevicesList(
-                cachedDevice)));
     }
 
     @Override
diff --git a/src/com/android/settings/bluetooth/Utils.java b/src/com/android/settings/bluetooth/Utils.java
index f1d6b20..f6288b2 100644
--- a/src/com/android/settings/bluetooth/Utils.java
+++ b/src/com/android/settings/bluetooth/Utils.java
@@ -37,12 +37,16 @@
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.BluetoothUtils.ErrorListener;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothManager.BluetoothManagerCallback;
+import com.android.settingslib.utils.ThreadUtils;
+
+import com.google.common.base.Supplier;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -67,13 +71,13 @@
     public static int getConnectionStateSummary(int connectionState) {
         switch (connectionState) {
             case BluetoothProfile.STATE_CONNECTED:
-                return R.string.bluetooth_connected;
+                return com.android.settingslib.R.string.bluetooth_connected;
             case BluetoothProfile.STATE_CONNECTING:
-                return R.string.bluetooth_connecting;
+                return com.android.settingslib.R.string.bluetooth_connecting;
             case BluetoothProfile.STATE_DISCONNECTED:
-                return R.string.bluetooth_disconnected;
+                return com.android.settingslib.R.string.bluetooth_disconnected;
             case BluetoothProfile.STATE_DISCONNECTING:
-                return R.string.bluetooth_disconnecting;
+                return com.android.settingslib.R.string.bluetooth_disconnecting;
             default:
                 return 0;
         }
@@ -106,7 +110,7 @@
 
     @VisibleForTesting
     static void showConnectingError(Context context, String name, LocalBluetoothManager manager) {
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider().visible(context,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().visible(context,
                 SettingsEnums.PAGE_UNKNOWN, SettingsEnums.ACTION_SETTINGS_BLUETOOTH_CONNECT_ERROR,
                 0);
         showError(context, name, R.string.bluetooth_connecting_error_message, manager);
@@ -272,4 +276,22 @@
                 + " , deviceList = " + cachedBluetoothDevices);
         return cachedBluetoothDevices;
     }
+
+    /**
+     * Preloads the values and run the Runnable afterwards.
+     * @param suppliers the value supplier, should be a memoized supplier
+     * @param runnable the runnable to be run after value is preloaded
+     */
+    public static void preloadAndRun(List<Supplier<?>> suppliers, Runnable runnable) {
+        if (!Flags.enableOffloadBluetoothOperationsToBackgroundThread()) {
+            runnable.run();
+            return;
+        }
+        ThreadUtils.postOnBackgroundThread(() -> {
+            for (Supplier<?> supplier : suppliers) {
+                supplier.get();
+            }
+            ThreadUtils.postOnMainThread(runnable);
+        });
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java b/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java
index d2bc319..ef44843 100644
--- a/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/AddDevicePreferenceController.java
@@ -15,18 +15,25 @@
  */
 package com.android.settings.connecteddevice;
 
+import static com.android.settings.accessibility.AccessibilityHearingAidsFragment.KEY_HEARING_DEVICE_ADD_BT_DEVICES;
+
 import android.bluetooth.BluetoothAdapter;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
+import android.text.TextUtils;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.accessibility.HearingDevicePairingDetail;
+import com.android.settings.accessibility.HearingDevicePairingFragment;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.flags.Flags;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -76,6 +83,21 @@
     }
 
     @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (TextUtils.equals(preference.getKey(), KEY_HEARING_DEVICE_ADD_BT_DEVICES)) {
+            String destination = Flags.newHearingDevicePairingPage()
+                    ? HearingDevicePairingFragment.class.getName()
+                    : HearingDevicePairingDetail.class.getName();
+            new SubSettingLauncher(preference.getContext())
+                    .setDestination(destination)
+                    .setSourceMetricsCategory(getMetricsCategory())
+                    .launch();
+            return true;
+        }
+        return super.handlePreferenceTreeClick(preference);
+    }
+
+    @Override
     public int getAvailabilityStatus() {
         return mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
                 ? AVAILABLE
diff --git a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
index e2d92c7..8e230cb 100644
--- a/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragment.java
@@ -17,12 +17,10 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.pm.PackageManager;
 import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.nfc.AndroidBeamPreferenceController;
 import com.android.settings.print.PrintSettingPreferenceController;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.uwb.UwbPreferenceController;
@@ -112,17 +110,6 @@
                 }
 
                 @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-                    PackageManager pm = context.getPackageManager();
-                    if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC)) {
-                        keys.add(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
-                    }
-
-                    return keys;
-                }
-
-                @Override
                 public List<AbstractPreferenceController> createPreferenceControllers(
                         Context context) {
                     return buildControllers(context, null /* lifecycle */);
diff --git a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
index a340015..fc3493c 100644
--- a/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupController.java
@@ -17,11 +17,16 @@
 
 import static com.android.settingslib.Utils.isAudioModeOngoingCall;
 
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
@@ -33,36 +38,94 @@
 import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater;
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
 import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
 /**
- * Controller to maintain the {@link androidx.preference.PreferenceGroup} for all
- * available media devices. It uses {@link DevicePreferenceCallback}
- * to add/remove {@link Preference}
+ * Controller to maintain the {@link androidx.preference.PreferenceGroup} for all available media
+ * devices. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference}
  */
 public class AvailableMediaDeviceGroupController extends BasePreferenceController
         implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback, BluetoothCallback {
+    private static final boolean DEBUG = BluetoothUtils.D;
 
     private static final String TAG = "AvailableMediaDeviceGroupController";
     private static final String KEY = "available_device_list";
 
-    @VisibleForTesting
-    PreferenceGroup mPreferenceGroup;
-    @VisibleForTesting
-    LocalBluetoothManager mLocalBluetoothManager;
+    @VisibleForTesting PreferenceGroup mPreferenceGroup;
+    @VisibleForTesting LocalBluetoothManager mLocalBluetoothManager;
+    private final Executor mExecutor;
     private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
     private FragmentManager mFragmentManager;
+    private BluetoothLeBroadcastAssistant.Callback mAssistantCallback =
+            new BluetoothLeBroadcastAssistant.Callback() {
+                @Override
+                public void onSearchStarted(int reason) {}
+
+                @Override
+                public void onSearchStartFailed(int reason) {}
+
+                @Override
+                public void onSearchStopped(int reason) {}
+
+                @Override
+                public void onSearchStopFailed(int reason) {}
+
+                @Override
+                public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
+
+                @Override
+                public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    mBluetoothDeviceUpdater.forceUpdate();
+                }
+
+                @Override
+                public void onSourceAddFailed(
+                        @NonNull BluetoothDevice sink,
+                        @NonNull BluetoothLeBroadcastMetadata source,
+                        int reason) {}
+
+                @Override
+                public void onSourceModified(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceModifyFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceRemoved(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    mBluetoothDeviceUpdater.forceUpdate();
+                }
+
+                @Override
+                public void onSourceRemoveFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {}
+            };
 
     public AvailableMediaDeviceGroupController(Context context) {
         super(context, KEY);
         mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
+        mExecutor = Executors.newSingleThreadExecutor();
     }
 
     @Override
@@ -71,6 +134,18 @@
             Log.e(TAG, "onStart() Bluetooth is not supported on this device");
             return;
         }
+        if (AudioSharingUtils.isFeatureEnabled()) {
+            LocalBluetoothLeBroadcastAssistant assistant =
+                    mLocalBluetoothManager
+                            .getProfileManager()
+                            .getLeAudioBroadcastAssistantProfile();
+            if (assistant != null) {
+                if (DEBUG) {
+                    Log.d(TAG, "onStart() Register callbacks for assistant.");
+                }
+                assistant.registerServiceCallBack(mExecutor, mAssistantCallback);
+            }
+        }
         mBluetoothDeviceUpdater.registerCallback();
         mLocalBluetoothManager.getEventManager().registerCallback(this);
         mBluetoothDeviceUpdater.refreshPreference();
@@ -82,6 +157,18 @@
             Log.e(TAG, "onStop() Bluetooth is not supported on this device");
             return;
         }
+        if (AudioSharingUtils.isFeatureEnabled()) {
+            LocalBluetoothLeBroadcastAssistant assistant =
+                    mLocalBluetoothManager
+                            .getProfileManager()
+                            .getLeAudioBroadcastAssistantProfile();
+            if (assistant != null) {
+                if (DEBUG) {
+                    Log.d(TAG, "onStop() Register callbacks for assistant.");
+                }
+                assistant.unregisterServiceCallBack(mAssistantCallback);
+            }
+        }
         mBluetoothDeviceUpdater.unregisterCallback();
         mLocalBluetoothManager.getEventManager().unregisterCallback(this);
     }
@@ -130,8 +217,16 @@
 
     public void init(DashboardFragment fragment) {
         mFragmentManager = fragment.getParentFragmentManager();
-        mBluetoothDeviceUpdater = new AvailableMediaBluetoothDeviceUpdater(fragment.getContext(),
-                AvailableMediaDeviceGroupController.this, fragment.getMetricsCategory());
+        mBluetoothDeviceUpdater =
+                new AvailableMediaBluetoothDeviceUpdater(
+                        fragment.getContext(),
+                        AvailableMediaDeviceGroupController.this,
+                        fragment.getMetricsCategory());
+    }
+
+    @VisibleForTesting
+    public void setFragmentManager(FragmentManager fragmentManager) {
+        mFragmentManager = fragmentManager;
     }
 
     @VisibleForTesting
@@ -152,19 +247,20 @@
         }
 
         if (bluetoothProfile == BluetoothProfile.HEARING_AID) {
-            HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, activeDevice);
+            HearingAidUtils.launchHearingAidPairingDialog(
+                    mFragmentManager, activeDevice, getMetricsCategory());
         }
     }
 
     private void updateTitle() {
         if (isAudioModeOngoingCall(mContext)) {
             // in phone call
-            mPreferenceGroup.
-                    setTitle(mContext.getString(R.string.connected_device_call_device_title));
+            mPreferenceGroup.setTitle(
+                    mContext.getString(R.string.connected_device_call_device_title));
         } else {
             // without phone call
-            mPreferenceGroup.
-                    setTitle(mContext.getString(R.string.connected_device_media_device_title));
+            mPreferenceGroup.setTitle(
+                    mContext.getString(R.string.connected_device_media_device_title));
         }
     }
 }
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
index 9286b81..2798be4 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragment.java
@@ -15,8 +15,6 @@
  */
 package com.android.settings.connecteddevice;
 
-import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.net.Uri;
@@ -24,17 +22,27 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.Lifecycle;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
+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.HearingAidStatsLogUtils;
+import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class ConnectedDeviceDashboardFragment extends DashboardFragment {
 
@@ -42,10 +50,8 @@
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
     private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";
 
-    @VisibleForTesting
-    static final String KEY_CONNECTED_DEVICES = "connected_device_list";
-    @VisibleForTesting
-    static final String KEY_AVAILABLE_DEVICES = "available_device_list";
+    @VisibleForTesting static final String KEY_CONNECTED_DEVICES = "connected_device_list";
+    @VisibleForTesting static final String KEY_AVAILABLE_DEVICES = "available_device_list";
 
     @Override
     public int getMetricsCategory() {
@@ -70,35 +76,83 @@
     @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();
+        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() : "";
         if (DEBUG) {
-            Log.d(TAG, "onAttach() calling package name is : " + callingAppPackageName
-                    + ", action : " + action);
+            Log.d(
+                    TAG,
+                    "onAttach() calling package name is : "
+                            + callingAppPackageName
+                            + ", action : "
+                            + action);
         }
         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);
+        use(SlicePreferenceController.class)
+                .setSliceUri(
+                        nearbyEnabled
+                                ? Uri.parse(getString(R.string.config_nearby_devices_slice_uri))
+                                : null);
         use(DiscoverableFooterPreferenceController.class)
                 .setAlwaysDiscoverable(isAlwaysDiscoverable(callingAppPackageName, action));
+
+        // Show hearing devices survey if user is categorized as one of interested category
+        final String category = HearingAidStatsLogUtils.getUserCategory(context);
+        if (category != null && !category.isEmpty()) {
+            SurveyFeatureProvider provider =
+                    FeatureFactory.getFeatureFactory().getSurveyFeatureProvider(context);
+            if (provider != null) {
+                provider.sendActivityIfAvailable(category);
+            }
+        }
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        return buildPreferenceControllers(context, /* fragment= */ this, getSettingsLifecycle());
+    }
+
+    private static List<AbstractPreferenceController> buildPreferenceControllers(
+            Context context,
+            @Nullable ConnectedDeviceDashboardFragment fragment,
+            @Nullable Lifecycle lifecycle) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        if (AudioSharingUtils.isFeatureEnabled()) {
+            AbstractPreferenceController audioSharingController =
+                    FeatureFactory.getFeatureFactory()
+                            .getAudioSharingFeatureProvider()
+                            .createAudioSharingDevicePreferenceController(
+                                    context, fragment, lifecycle);
+            if (audioSharingController != null) {
+                controllers.add(audioSharingController);
+            }
+        }
+        return controllers;
     }
 
     @VisibleForTesting
     boolean isAlwaysDiscoverable(String callingAppPackageName, String action) {
-        return TextUtils.equals(SLICE_ACTION, action) ? false
+        return TextUtils.equals(SLICE_ACTION, action)
+                ? false
                 : TextUtils.equals(Utils.SETTINGS_PACKAGE_NAME, callingAppPackageName)
-                || TextUtils.equals(Utils.SYSTEMUI_PACKAGE_NAME, callingAppPackageName);
+                        || TextUtils.equals(Utils.SYSTEMUI_PACKAGE_NAME, callingAppPackageName);
     }
 
-    /**
-     * For Search.
-     */
+    /** For Search. */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.connected_devices);
+            new BaseSearchIndexProvider(R.xml.connected_devices) {
+                @Override
+                public List<AbstractPreferenceController> createPreferenceControllers(
+                        Context context) {
+                    return buildPreferenceControllers(
+                            context, /* fragment= */ null, /* lifecycle= */ null);
+                }
+            };
 }
diff --git a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
index f7517b4..5be761e 100644
--- a/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/ConnectedDeviceGroupController.java
@@ -180,7 +180,7 @@
     public void init(DashboardFragment fragment) {
         final Context context = fragment.getContext();
         DockUpdaterFeatureProvider dockUpdaterFeatureProvider =
-                FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider();
+                FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider();
         final DockUpdater connectedDockUpdater =
                 dockUpdaterFeatureProvider.getConnectedDockUpdater(context, this);
         init(hasBluetoothFeature()
diff --git a/src/com/android/settings/connecteddevice/OWNERS b/src/com/android/settings/connecteddevice/OWNERS
index 3546796..5215a8f 100644
--- a/src/com/android/settings/connecteddevice/OWNERS
+++ b/src/com/android/settings/connecteddevice/OWNERS
@@ -2,7 +2,9 @@
 hughchen@google.com
 timhypeng@google.com
 robertluo@google.com
-changbetty@google.com
-songferngwang@google.com
+yiyishen@google.com
+yqian@google.com
+chelseahao@google.com
+hahong@google.com
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
index 5c906fd..33f8b73 100644
--- a/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
+++ b/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceController.java
@@ -17,6 +17,7 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -36,13 +37,16 @@
 import com.android.settings.connecteddevice.dock.DockUpdater;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
 import java.util.ArrayList;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 public class PreviouslyConnectedDevicePreferenceController extends BasePreferenceController
         implements LifecycleObserver, OnStart, OnStop, DevicePreferenceCallback {
@@ -56,11 +60,12 @@
 
     private final List<Preference> mDevicesList = new ArrayList<>();
     private final List<Preference> mDockDevicesList = new ArrayList<>();
+    private final Map<BluetoothDevice, Preference> mDevicePreferenceMap = new HashMap<>();
+    private final BluetoothAdapter mBluetoothAdapter;
 
     private PreferenceGroup mPreferenceGroup;
     private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
     private DockUpdater mSavedDockUpdater;
-    private BluetoothAdapter mBluetoothAdapter;
 
     @VisibleForTesting
     Preference mSeeAllPreference;
@@ -78,10 +83,14 @@
     public PreviouslyConnectedDevicePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
 
-        mSavedDockUpdater = FeatureFactory.getFactory(
-                context).getDockUpdaterFeatureProvider().getSavedDockUpdater(context, this);
+        mSavedDockUpdater = FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider()
+                .getSavedDockUpdater(context, this);
         mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
-        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
+        } else {
+            mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        }
     }
 
     @Override
@@ -114,6 +123,9 @@
         mContext.registerReceiver(mReceiver, mIntentFilter,
                 Context.RECEIVER_EXPORTED_UNAUDITED);
         mBluetoothDeviceUpdater.refreshPreference();
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            updatePreferenceGroup();
+        }
     }
 
     @Override
@@ -131,19 +143,37 @@
 
     @Override
     public void onDeviceAdded(Preference preference) {
-        final List<BluetoothDevice> bluetoothDevices =
-                mBluetoothAdapter.getMostRecentlyConnectedDevices();
-        final int index = preference instanceof BluetoothDevicePreference
-                ? bluetoothDevices.indexOf(((BluetoothDevicePreference) preference)
-                .getBluetoothDevice().getDevice()) : DOCK_DEVICE_INDEX;
-        if (DEBUG) {
-            Log.d(TAG, "onDeviceAdded() " + preference.getTitle() + ", index of : " + index);
-            for (BluetoothDevice device : bluetoothDevices) {
-                Log.d(TAG, "onDeviceAdded() most recently device : " + device.getName());
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            if (preference instanceof BluetoothDevicePreference) {
+                mDevicePreferenceMap.put(
+                        ((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
+                        preference);
+            } else {
+                mDockDevicesList.add(preference);
             }
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceAdded() " + preference.getTitle());
+            }
+            updatePreferenceGroup();
+        } else {
+            final List<BluetoothDevice> bluetoothDevices =
+                    mBluetoothAdapter.getMostRecentlyConnectedDevices();
+            final int index =
+                    preference instanceof BluetoothDevicePreference
+                            ? bluetoothDevices.indexOf(
+                                    ((BluetoothDevicePreference) preference)
+                                            .getBluetoothDevice()
+                                            .getDevice())
+                            : DOCK_DEVICE_INDEX;
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceAdded() " + preference.getTitle() + ", index of : " + index);
+                for (BluetoothDevice device : bluetoothDevices) {
+                    Log.d(TAG, "onDeviceAdded() most recently device : " + device.getName());
+                }
+            }
+            addPreference(index, preference);
+            updatePreferenceVisibility();
         }
-        addPreference(index, preference);
-        updatePreferenceVisibility();
     }
 
     private void addPreference(int index, Preference preference) {
@@ -194,13 +224,57 @@
 
     @Override
     public void onDeviceRemoved(Preference preference) {
-        if (preference instanceof BluetoothDevicePreference) {
-            mDevicesList.remove(preference);
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            if (preference instanceof BluetoothDevicePreference) {
+                mDevicePreferenceMap.remove(
+                        ((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
+                        preference);
+            } else {
+                mDockDevicesList.remove(preference);
+            }
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceRemoved() " + preference.getTitle());
+            }
+            updatePreferenceGroup();
         } else {
-            mDockDevicesList.remove(preference);
-        }
+            if (preference instanceof BluetoothDevicePreference) {
+                mDevicesList.remove(preference);
+            } else {
+                mDockDevicesList.remove(preference);
+            }
 
-        addPreference();
+            addPreference();
+            updatePreferenceVisibility();
+        }
+    }
+
+    /** Sort the preferenceGroup by most recently used. */
+    public void updatePreferenceGroup() {
+        mPreferenceGroup.removeAll();
+        mPreferenceGroup.addPreference(mSeeAllPreference);
+        if (mBluetoothAdapter != null && mBluetoothAdapter.isEnabled()) {
+            // Bluetooth is supported
+            int order = 0;
+            for (BluetoothDevice device : mBluetoothAdapter.getMostRecentlyConnectedDevices()) {
+                Preference preference = mDevicePreferenceMap.getOrDefault(device, null);
+                if (preference != null) {
+                    preference.setOrder(order);
+                    mPreferenceGroup.addPreference(preference);
+                    order += 1;
+                }
+                if (order == MAX_DEVICE_NUM) {
+                    break;
+                }
+            }
+            for (Preference preference : mDockDevicesList) {
+                if (order == MAX_DEVICE_NUM) {
+                    break;
+                }
+                preference.setOrder(order);
+                mPreferenceGroup.addPreference(preference);
+                order += 1;
+            }
+        }
         updatePreferenceVisibility();
     }
 
diff --git a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java
index 3034e2f..c73481d 100644
--- a/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java
+++ b/src/com/android/settings/connecteddevice/SavedDeviceGroupController.java
@@ -15,6 +15,9 @@
  */
 package com.android.settings.connecteddevice;
 
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
 
@@ -23,18 +26,25 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.bluetooth.BluetoothDevicePreference;
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
 import com.android.settings.bluetooth.SavedBluetoothDeviceUpdater;
 import com.android.settings.connecteddevice.dock.DockUpdater;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.overlay.DockUpdaterFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * Controller to maintain the {@link PreferenceGroup} for all
  * saved devices. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference}
@@ -45,6 +55,10 @@
 
     private static final String KEY = "saved_device_list";
 
+    private final Map<BluetoothDevice, Preference> mDevicePreferenceMap = new HashMap<>();
+    private final List<Preference> mDockDevicesList = new ArrayList<>();
+    private final BluetoothAdapter mBluetoothAdapter;
+
     @VisibleForTesting
     PreferenceGroup mPreferenceGroup;
     private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -54,9 +68,10 @@
         super(context, KEY);
 
         DockUpdaterFeatureProvider dockUpdaterFeatureProvider =
-                FeatureFactory.getFactory(context).getDockUpdaterFeatureProvider();
+                FeatureFactory.getFeatureFactory().getDockUpdaterFeatureProvider();
         mSavedDockUpdater =
                 dockUpdaterFeatureProvider.getSavedDockUpdater(context, this);
+        mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
     }
 
     @Override
@@ -64,6 +79,9 @@
         mBluetoothDeviceUpdater.registerCallback();
         mSavedDockUpdater.registerCallback();
         mBluetoothDeviceUpdater.refreshPreference();
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            updatePreferenceGroup();
+        }
     }
 
     @Override
@@ -101,17 +119,63 @@
 
     @Override
     public void onDeviceAdded(Preference preference) {
-        if (mPreferenceGroup.getPreferenceCount() == 0) {
-            mPreferenceGroup.setVisible(true);
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            mPreferenceGroup.addPreference(preference);
+            if (preference instanceof BluetoothDevicePreference) {
+                mDevicePreferenceMap.put(
+                        ((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
+                        preference);
+            } else {
+                mDockDevicesList.add(preference);
+            }
+            updatePreferenceGroup();
+        } else {
+            if (mPreferenceGroup.getPreferenceCount() == 0) {
+                mPreferenceGroup.setVisible(true);
+            }
+            mPreferenceGroup.addPreference(preference);
         }
-        mPreferenceGroup.addPreference(preference);
     }
 
     @Override
     public void onDeviceRemoved(Preference preference) {
-        mPreferenceGroup.removePreference(preference);
-        if (mPreferenceGroup.getPreferenceCount() == 0) {
+        if (Flags.enableSavedDevicesOrderByRecency()) {
+            mPreferenceGroup.removePreference(preference);
+            if (preference instanceof BluetoothDevicePreference) {
+                mDevicePreferenceMap.remove(
+                        ((BluetoothDevicePreference) preference).getBluetoothDevice().getDevice(),
+                        preference);
+            } else {
+                mDockDevicesList.remove(preference);
+            }
+            updatePreferenceGroup();
+        } else {
+            mPreferenceGroup.removePreference(preference);
+            if (mPreferenceGroup.getPreferenceCount() == 0) {
+                mPreferenceGroup.setVisible(false);
+            }
+        }
+    }
+
+    /** Sort the preferenceGroup by most recently used. */
+    public void updatePreferenceGroup() {
+        if (mBluetoothAdapter == null || !mBluetoothAdapter.isEnabled()) {
+            // Bluetooth is unsupported or disabled
             mPreferenceGroup.setVisible(false);
+        } else {
+            mPreferenceGroup.setVisible(true);
+            int order = 0;
+            for (BluetoothDevice device : mBluetoothAdapter.getMostRecentlyConnectedDevices()) {
+                Preference preference = mDevicePreferenceMap.getOrDefault(device, null);
+                if (preference != null) {
+                    preference.setOrder(order);
+                    order += 1;
+                }
+            }
+            for (Preference preference : mDockDevicesList) {
+                preference.setOrder(order);
+                order += 1;
+            }
         }
     }
 
@@ -130,4 +194,9 @@
     public void setSavedDockUpdater(DockUpdater savedDockUpdater) {
         mSavedDockUpdater = savedDockUpdater;
     }
+
+    @VisibleForTesting
+    void setPreferenceGroup(PreferenceGroup preferenceGroup) {
+        mPreferenceGroup = preferenceGroup;
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
new file mode 100644
index 0000000..8497c9d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBasePreferenceController.java
@@ -0,0 +1,89 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+public abstract class AudioSharingBasePreferenceController extends BasePreferenceController
+        implements DefaultLifecycleObserver {
+    private final BluetoothAdapter mBluetoothAdapter;
+    private final LocalBluetoothManager mBtManager;
+    protected final LocalBluetoothLeBroadcast mBroadcast;
+    protected Preference mPreference;
+
+    public AudioSharingBasePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        mBtManager = Utils.getLocalBtManager(context);
+        mBroadcast =
+                mBtManager == null
+                        ? null
+                        : mBtManager.getProfileManager().getLeAudioBroadcastProfile();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (isAvailable()) {
+            updateVisibility();
+        }
+    }
+
+    /** Update the visibility of the preference. */
+    protected void updateVisibility() {
+        if (mPreference != null) {
+            var unused =
+                    ThreadUtils.postOnBackgroundThread(
+                            () -> {
+                                boolean isVisible = isBroadcasting() && isBluetoothStateOn();
+                                ThreadUtils.postOnMainThread(
+                                        () -> mPreference.setVisible(isVisible));
+                            });
+        }
+    }
+
+    protected boolean isBroadcasting() {
+        return mBroadcast != null && mBroadcast.isEnabled(null);
+    }
+
+    protected boolean isBluetoothStateOn() {
+        return mBluetoothAdapter != null && mBluetoothAdapter.isEnabled();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
new file mode 100644
index 0000000..59393ad
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingBluetoothDeviceUpdater.java
@@ -0,0 +1,91 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.content.Context;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.bluetooth.BluetoothDevicePreference;
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+public class AudioSharingBluetoothDeviceUpdater extends BluetoothDeviceUpdater
+        implements Preference.OnPreferenceClickListener {
+
+    private static final String TAG = "AudioSharingBluetoothDeviceUpdater";
+
+    private static final String PREF_KEY = "audio_sharing_bt";
+
+    private LocalBluetoothManager mLocalBluetoothManager;
+
+    public AudioSharingBluetoothDeviceUpdater(
+            Context context,
+            DevicePreferenceCallback devicePreferenceCallback,
+            int metricsCategory) {
+        super(context, devicePreferenceCallback, metricsCategory);
+        mLocalBluetoothManager = Utils.getLocalBluetoothManager(context);
+    }
+
+    @Override
+    public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
+        boolean isFilterMatched = false;
+        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 (cachedDevice.isConnectedLeAudioDevice()
+                    && AudioSharingUtils.hasBroadcastSource(cachedDevice, mLocalBluetoothManager)) {
+                isFilterMatched = true;
+            }
+        }
+        Log.d(
+                TAG,
+                "isFilterMatched() device : "
+                        + cachedDevice.getName()
+                        + ", isFilterMatched : "
+                        + isFilterMatched);
+        return isFilterMatched;
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        mMetricsFeatureProvider.logClickedPreference(preference, mMetricsCategory);
+        final CachedBluetoothDevice device =
+                ((BluetoothDevicePreference) preference).getBluetoothDevice();
+        return device.setActive();
+    }
+
+    @Override
+    protected String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected void update(CachedBluetoothDevice cachedBluetoothDevice) {
+        super.update(cachedBluetoothDevice);
+        Log.d(TAG, "Map : " + mPreferenceMap);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
new file mode 100644
index 0000000..c39257d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingCompatibilityPreferenceController.java
@@ -0,0 +1,177 @@
+/*
+ * 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.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+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 androidx.preference.TwoStatePreference;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingCompatibilityPreferenceController extends TogglePreferenceController
+        implements DefaultLifecycleObserver {
+
+    private static final String TAG = "AudioSharingCompatibilityPrefController";
+
+    private static final String PREF_KEY = "audio_sharing_stream_compatibility";
+    private static final String SHARING_OFF_SUMMARY =
+            "Helps some devices like hearing aids connect by reducing audio quality";
+    private static final String SHARING_ON_SUMMARY =
+            "Turns off the audio sharing to config the compatibility";
+
+    private final LocalBluetoothManager mBtManager;
+    private final Executor mExecutor;
+    private final LocalBluetoothLeBroadcast mBroadcast;
+    @Nullable private TwoStatePreference mPreference;
+
+    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+            new BluetoothLeBroadcast.Callback() {
+                @Override
+                public void onBroadcastStarted(int reason, int broadcastId) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastStarted(), reason = "
+                                    + reason
+                                    + ", broadcastId = "
+                                    + broadcastId);
+                    updateEnabled();
+                }
+
+                @Override
+                public void onBroadcastStartFailed(int reason) {}
+
+                @Override
+                public void onBroadcastMetadataChanged(
+                        int broadcastId, @NonNull BluetoothLeBroadcastMetadata metadata) {}
+
+                @Override
+                public void onBroadcastStopped(int reason, int broadcastId) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastStopped(), reason = "
+                                    + reason
+                                    + ", broadcastId = "
+                                    + broadcastId);
+                    updateEnabled();
+                }
+
+                @Override
+                public void onBroadcastStopFailed(int reason) {}
+
+                @Override
+                public void onBroadcastUpdated(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastUpdateFailed(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStopped(int reason, int broadcastId) {}
+            };
+
+    public AudioSharingCompatibilityPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBtManager = Utils.getLocalBtManager(context);
+        mBroadcast = mBtManager.getProfileManager().getLeAudioBroadcastProfile();
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mBroadcast != null) {
+            mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mBroadcast != null) {
+            mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        updateEnabled();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mBroadcast != null && mBroadcast.getImproveCompatibility();
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        if (mBroadcast == null || mBroadcast.getImproveCompatibility() == isChecked) {
+            Log.d(
+                    TAG,
+                    "Skip setting improveCompatibility, unchanged = "
+                            + (mBroadcast.getImproveCompatibility() == isChecked));
+            return false;
+        }
+        mBroadcast.setImproveCompatibility(isChecked);
+        // TODO: call updateBroadcast once framework change ready.
+        return true;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+
+    private void updateEnabled() {
+        mContext.getMainExecutor()
+                .execute(
+                        () -> {
+                            if (mPreference != null) {
+                                boolean isBroadcasting =
+                                        AudioSharingUtils.isBroadcasting(mBtManager);
+                                mPreference.setEnabled(!isBroadcasting);
+                                mPreference.setSummary(
+                                        isBroadcasting ? SHARING_ON_SUMMARY : SHARING_OFF_SUMMARY);
+                            }
+                        });
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java
new file mode 100644
index 0000000..7a7f337
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDashboardFragment.java
@@ -0,0 +1,107 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsCategoryController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.widget.SettingsMainSwitchBar;
+
+public class AudioSharingDashboardFragment extends DashboardFragment
+        implements AudioSharingSwitchBarController.OnSwitchBarChangedListener {
+    private static final String TAG = "AudioSharingDashboardFrag";
+
+    SettingsMainSwitchBar mMainSwitchBar;
+    private AudioSharingSwitchBarController mSwitchBarController;
+    private AudioSharingDeviceVolumeGroupController mAudioSharingDeviceVolumeGroupController;
+    private CallsAndAlarmsPreferenceController mCallsAndAlarmsPreferenceController;
+    private AudioSharingPlaySoundPreferenceController mAudioSharingPlaySoundPreferenceController;
+    private AudioStreamsCategoryController mAudioStreamsCategoryController;
+
+    public AudioSharingDashboardFragment() {
+        super();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.AUDIO_SHARING_SETTINGS;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_audio_sharing;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.bluetooth_audio_sharing;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        mAudioSharingDeviceVolumeGroupController =
+                use(AudioSharingDeviceVolumeGroupController.class);
+        mAudioSharingDeviceVolumeGroupController.init(this);
+        mCallsAndAlarmsPreferenceController = use(CallsAndAlarmsPreferenceController.class);
+        mCallsAndAlarmsPreferenceController.init(this);
+        mAudioSharingPlaySoundPreferenceController =
+                use(AudioSharingPlaySoundPreferenceController.class);
+        mAudioStreamsCategoryController = use(AudioStreamsCategoryController.class);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+        // Assume we are in a SettingsActivity. This is only safe because we currently use
+        // SettingsActivity as base for all preference fragments.
+        final SettingsActivity activity = (SettingsActivity) getActivity();
+        mMainSwitchBar = activity.getSwitchBar();
+        mMainSwitchBar.setTitle(getText(R.string.audio_sharing_switch_title));
+        mSwitchBarController = new AudioSharingSwitchBarController(activity, mMainSwitchBar, this);
+        mSwitchBarController.init(this);
+        getSettingsLifecycle().addObserver(mSwitchBarController);
+        mMainSwitchBar.show();
+    }
+
+    @Override
+    public void onSwitchBarChanged() {
+        updateVisibilityForAttachedPreferences();
+    }
+
+    private void updateVisibilityForAttachedPreferences() {
+        mAudioSharingDeviceVolumeGroupController.updateVisibility();
+        mCallsAndAlarmsPreferenceController.updateVisibility();
+        mAudioSharingPlaySoundPreferenceController.updateVisibility();
+        mAudioStreamsCategoryController.updateVisibility();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
new file mode 100644
index 0000000..a5f5adb
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceAdapter.java
@@ -0,0 +1,86 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Button;
+
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+
+import java.util.ArrayList;
+
+public class AudioSharingDeviceAdapter extends RecyclerView.Adapter<RecyclerView.ViewHolder> {
+
+    private static final String TAG = "AudioSharingDeviceAdapter";
+    private final ArrayList<AudioSharingDeviceItem> mDevices;
+    private final OnClickListener mOnClickListener;
+    private final String mPrefix;
+
+    public AudioSharingDeviceAdapter(
+            ArrayList<AudioSharingDeviceItem> devices, OnClickListener listener, String prefix) {
+        mDevices = devices;
+        mOnClickListener = listener;
+        mPrefix = prefix;
+    }
+
+    private class AudioSharingDeviceViewHolder extends RecyclerView.ViewHolder {
+        private final Button mButtonView;
+
+        AudioSharingDeviceViewHolder(View view) {
+            super(view);
+            mButtonView = view.findViewById(R.id.device_button);
+        }
+
+        public void bindView(int position) {
+            if (mButtonView != null) {
+                mButtonView.setText(mPrefix + mDevices.get(position).getName());
+                mButtonView.setOnClickListener(
+                        v -> mOnClickListener.onClick(mDevices.get(position)));
+            } else {
+                Log.w(TAG, "bind view skipped due to button view is null");
+            }
+        }
+    }
+
+    @Override
+    public RecyclerView.ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
+        View view =
+                LayoutInflater.from(parent.getContext())
+                        .inflate(R.layout.audio_sharing_device_item, parent, false);
+        return new AudioSharingDeviceViewHolder(view);
+    }
+
+    @Override
+    public void onBindViewHolder(RecyclerView.ViewHolder holder, int position) {
+        ((AudioSharingDeviceViewHolder) holder).bindView(position);
+    }
+
+    @Override
+    public int getItemCount() {
+        return mDevices.size();
+    }
+
+    public interface OnClickListener {
+        /** Called when an item has been clicked. */
+        void onClick(AudioSharingDeviceItem item);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceItem.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceItem.java
new file mode 100644
index 0000000..5998e30
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceItem.java
@@ -0,0 +1,75 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.os.Parcel;
+import android.os.Parcelable;
+
+public final class AudioSharingDeviceItem implements Parcelable {
+    private final String mName;
+    private final int mGroupId;
+    private final boolean mIsActive;
+
+    public AudioSharingDeviceItem(String name, int groupId, boolean isActive) {
+        mName = name;
+        mGroupId = groupId;
+        mIsActive = isActive;
+    }
+
+    public String getName() {
+        return mName;
+    }
+
+    public int getGroupId() {
+        return mGroupId;
+    }
+
+    public boolean isActive() {
+        return mIsActive;
+    }
+
+    public AudioSharingDeviceItem(Parcel in) {
+        mName = in.readString();
+        mGroupId = in.readInt();
+        mIsActive = in.readBoolean();
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeString(mName);
+        dest.writeInt(mGroupId);
+        dest.writeBoolean(mIsActive);
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    public static final Creator<AudioSharingDeviceItem> CREATOR =
+            new Creator<AudioSharingDeviceItem>() {
+                @Override
+                public AudioSharingDeviceItem createFromParcel(Parcel in) {
+                    return new AudioSharingDeviceItem(in);
+                }
+
+                @Override
+                public AudioSharingDeviceItem[] newArray(int size) {
+                    return new AudioSharingDeviceItem[size];
+                }
+            };
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
new file mode 100644
index 0000000..ef0f226
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDevicePreferenceController.java
@@ -0,0 +1,677 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCsipSetCoordinator;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+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.LeAudioProfile;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import com.google.common.collect.ImmutableList;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingDevicePreferenceController extends BasePreferenceController
+        implements DefaultLifecycleObserver, DevicePreferenceCallback, BluetoothCallback {
+    private static final boolean DEBUG = BluetoothUtils.D;
+
+    private static final String TAG = "AudioSharingDevicePrefController";
+    private static final String KEY = "audio_sharing_device_list";
+    private static final String KEY_AUDIO_SHARING_SETTINGS =
+            "connected_device_audio_sharing_settings";
+
+    private final LocalBluetoothManager mLocalBtManager;
+    private final Executor mExecutor;
+    private CachedBluetoothDeviceManager mDeviceManager;
+    private LocalBluetoothLeBroadcast mBroadcast;
+    private LocalBluetoothLeBroadcastAssistant mAssistant;
+    private PreferenceGroup mPreferenceGroup;
+    private Preference mAudioSharingSettingsPreference;
+    private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
+    private DashboardFragment mFragment;
+    private List<BluetoothDevice> mTargetSinks = new ArrayList<>();
+
+    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+            new BluetoothLeBroadcast.Callback() {
+                @Override
+                public void onBroadcastStarted(int reason, int broadcastId) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastStarted(), reason = "
+                                    + reason
+                                    + ", broadcastId = "
+                                    + broadcastId);
+                }
+
+                @Override
+                public void onBroadcastStartFailed(int reason) {
+                    Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
+                    // TODO: handle broadcast start fail
+                }
+
+                @Override
+                public void onBroadcastMetadataChanged(
+                        int broadcastId, @NonNull BluetoothLeBroadcastMetadata metadata) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastMetadataChanged(), broadcastId = "
+                                    + broadcastId
+                                    + ", metadata = "
+                                    + metadata);
+                    addSourceToTargetDevices(mTargetSinks);
+                    mTargetSinks = new ArrayList<>();
+                }
+
+                @Override
+                public void onBroadcastStopped(int reason, int broadcastId) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastStopped(), reason = "
+                                    + reason
+                                    + ", broadcastId = "
+                                    + broadcastId);
+                }
+
+                @Override
+                public void onBroadcastStopFailed(int reason) {
+                    Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
+                    // TODO: handle broadcast stop fail
+                }
+
+                @Override
+                public void onBroadcastUpdated(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastUpdateFailed(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStopped(int reason, int broadcastId) {}
+            };
+
+    private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+            new BluetoothLeBroadcastAssistant.Callback() {
+                @Override
+                public void onSearchStarted(int reason) {}
+
+                @Override
+                public void onSearchStartFailed(int reason) {}
+
+                @Override
+                public void onSearchStopped(int reason) {}
+
+                @Override
+                public void onSearchStopFailed(int reason) {}
+
+                @Override
+                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);
+                    mBluetoothDeviceUpdater.forceUpdate();
+                    if (mDeviceManager != null) {
+                        CachedBluetoothDevice cachedDevice = mDeviceManager.findDevice(sink);
+                        if (cachedDevice != null) {
+                            closeOpeningDialogsForLeaDevice(cachedDevice);
+                        }
+                    }
+                }
+
+                @Override
+                public void onSourceAddFailed(
+                        @NonNull BluetoothDevice sink,
+                        @NonNull BluetoothLeBroadcastMetadata source,
+                        int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceAddFailed(), sink = "
+                                    + sink
+                                    + ", source = "
+                                    + source
+                                    + ", reason = "
+                                    + reason);
+                    AudioSharingUtils.toastMessage(
+                            mContext,
+                            String.format(
+                                    Locale.US,
+                                    "Fail to add source to %s reason %d",
+                                    sink.getAddress(),
+                                    reason));
+                }
+
+                @Override
+                public void onSourceModified(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceModifyFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceRemoved(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceRemoved(), sink = "
+                                    + sink
+                                    + ", sourceId = "
+                                    + sourceId
+                                    + ", reason = "
+                                    + reason);
+                    mBluetoothDeviceUpdater.forceUpdate();
+                }
+
+                @Override
+                public void onSourceRemoveFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceRemoveFailed(), sink = "
+                                    + sink
+                                    + ", sourceId = "
+                                    + sourceId
+                                    + ", reason = "
+                                    + reason);
+                    AudioSharingUtils.toastMessage(
+                            mContext,
+                            String.format(
+                                    Locale.US,
+                                    "Fail to remove source from %s reason %d",
+                                    sink.getAddress(),
+                                    reason));
+                }
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {}
+            };
+
+    public AudioSharingDevicePreferenceController(Context context) {
+        super(context, KEY);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        if (mLocalBtManager != null) {
+            mDeviceManager = mLocalBtManager.getCachedDeviceManager();
+            mBroadcast = mLocalBtManager.getProfileManager().getLeAudioBroadcastProfile();
+            mAssistant = mLocalBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+        }
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mLocalBtManager == null) {
+            Log.d(TAG, "onStart() Bluetooth is not supported on this device");
+            return;
+        }
+        if (mBroadcast == null || mAssistant == null) {
+            Log.d(TAG, "onStart() Broadcast or assistant is not supported on this device");
+            return;
+        }
+        if (mBluetoothDeviceUpdater == null) {
+            Log.d(TAG, "onStart() Bluetooth device updater is not initialized");
+            return;
+        }
+        mLocalBtManager.getEventManager().registerCallback(this);
+        if (DEBUG) {
+            Log.d(TAG, "onStart() Register callbacks for broadcast and assistant.");
+        }
+        mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+        mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+        mBluetoothDeviceUpdater.registerCallback();
+        mBluetoothDeviceUpdater.refreshPreference();
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mLocalBtManager == null) {
+            Log.d(TAG, "onStop() Bluetooth is not supported on this device");
+            return;
+        }
+        if (mBroadcast == null || mAssistant == null) {
+            Log.d(TAG, "onStop() Broadcast or assistant is not supported on this device");
+            return;
+        }
+        if (mBluetoothDeviceUpdater == null) {
+            Log.d(TAG, "onStop() Bluetooth device updater is not initialized");
+            return;
+        }
+        mLocalBtManager.getEventManager().unregisterCallback(this);
+        if (DEBUG) {
+            Log.d(TAG, "onStop() Unregister callbacks for broadcast and assistant.");
+        }
+        mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+        mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+        mBluetoothDeviceUpdater.unregisterCallback();
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        mPreferenceGroup = screen.findPreference(KEY);
+        mAudioSharingSettingsPreference =
+                mPreferenceGroup.findPreference(KEY_AUDIO_SHARING_SETTINGS);
+        mPreferenceGroup.setVisible(false);
+        mAudioSharingSettingsPreference.setVisible(false);
+
+        if (isAvailable()) {
+            mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
+            mBluetoothDeviceUpdater.forceUpdate();
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() && mBluetoothDeviceUpdater != null
+                ? AVAILABLE_UNSEARCHABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void onDeviceAdded(Preference preference) {
+        if (mPreferenceGroup.getPreferenceCount() == 1) {
+            mPreferenceGroup.setVisible(true);
+            mAudioSharingSettingsPreference.setVisible(true);
+        }
+        mPreferenceGroup.addPreference(preference);
+    }
+
+    @Override
+    public void onDeviceRemoved(Preference preference) {
+        mPreferenceGroup.removePreference(preference);
+        if (mPreferenceGroup.getPreferenceCount() == 1) {
+            mPreferenceGroup.setVisible(false);
+            mAudioSharingSettingsPreference.setVisible(false);
+        }
+    }
+
+    @Override
+    public void onProfileConnectionStateChanged(
+            @NonNull CachedBluetoothDevice cachedDevice,
+            @ConnectionState int state,
+            int bluetoothProfile) {
+        if (state == BluetoothAdapter.STATE_DISCONNECTED) {
+            boolean isLeAudio = isLeAudioSupported(cachedDevice);
+            if (isLeAudio && bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                closeOpeningDialogsForLeaDevice(cachedDevice);
+                return;
+            }
+            if (!isLeAudio && !cachedDevice.isConnected()) {
+                closeOpeningDialogsForNonLeaDevice(cachedDevice);
+                return;
+            }
+        }
+        if (state != BluetoothAdapter.STATE_CONNECTED || !cachedDevice.getDevice().isConnected()) {
+            Log.d(TAG, "Ignore onProfileConnectionStateChanged, not connected state");
+            return;
+        }
+        if (mFragment == null) {
+            Log.d(TAG, "Ignore onProfileConnectionStateChanged, no host fragment");
+            return;
+        }
+        if (mAssistant == null && mBroadcast == null) {
+            Log.d(
+                    TAG,
+                    "Ignore onProfileConnectionStateChanged, no broadcast or assistant supported");
+            return;
+        }
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> handleOnProfileStateChanged(cachedDevice, bluetoothProfile));
+    }
+
+    /**
+     * Initialize the controller.
+     *
+     * @param fragment The fragment to provide the context and metrics category for {@link
+     *     AudioSharingBluetoothDeviceUpdater} and provide the host for dialogs.
+     */
+    public void init(DashboardFragment fragment) {
+        mFragment = fragment;
+        mBluetoothDeviceUpdater =
+                new AudioSharingBluetoothDeviceUpdater(
+                        fragment.getContext(),
+                        AudioSharingDevicePreferenceController.this,
+                        fragment.getMetricsCategory());
+    }
+
+    private void handleOnProfileStateChanged(
+            @NonNull CachedBluetoothDevice cachedDevice, int bluetoothProfile) {
+        boolean isLeAudioSupported = isLeAudioSupported(cachedDevice);
+        // For eligible (LE audio) remote device, we only check its connected LE audio profile.
+        if (isLeAudioSupported && bluetoothProfile != BluetoothProfile.LE_AUDIO) {
+            Log.d(
+                    TAG,
+                    "Ignore onProfileConnectionStateChanged, not the le profile for le audio"
+                            + " device");
+            return;
+        }
+        boolean isFirstConnectedProfile = isFirstConnectedProfile(cachedDevice, bluetoothProfile);
+        // For ineligible (non LE audio) remote device, we only check its first connected profile.
+        if (!isLeAudioSupported && !isFirstConnectedProfile) {
+            Log.d(
+                    TAG,
+                    "Ignore onProfileConnectionStateChanged, not the first connected profile for"
+                            + " non le audio device");
+            return;
+        }
+        if (DEBUG) {
+            Log.d(
+                    TAG,
+                    "Start handling onProfileConnectionStateChanged for "
+                            + cachedDevice.getDevice().getAnonymizedAddress());
+        }
+        if (!isLeAudioSupported) {
+            // Handle connected ineligible (non LE audio) remote device
+            handleOnProfileStateChangedForNonLeAudioDevice(cachedDevice);
+        } else {
+            // Handle connected eligible (LE audio) remote device
+            handleOnProfileStateChangedForLeAudioDevice(cachedDevice);
+        }
+    }
+
+    private void handleOnProfileStateChangedForNonLeAudioDevice(
+            @NonNull CachedBluetoothDevice cachedDevice) {
+        if (isBroadcasting()) {
+            // Show stop audio sharing dialog when an ineligible (non LE audio) remote device
+            // connected during a sharing session.
+            postOnMainThread(
+                    () -> {
+                        closeOpeningDialogsOtherThan(AudioSharingStopDialogFragment.tag());
+                        AudioSharingStopDialogFragment.show(
+                                mFragment,
+                                cachedDevice,
+                                () -> mBroadcast.stopBroadcast(mBroadcast.getLatestBroadcastId()));
+                    });
+        } else {
+            // Do nothing for ineligible (non LE audio) remote device when no sharing session.
+            if (DEBUG) {
+                Log.d(
+                        TAG,
+                        "Ignore onProfileConnectionStateChanged for non LE audio without"
+                                + " sharing session");
+            }
+        }
+    }
+
+    private void handleOnProfileStateChangedForLeAudioDevice(
+            @NonNull CachedBluetoothDevice cachedDevice) {
+        Map<Integer, List<CachedBluetoothDevice>> groupedDevices =
+                AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
+        if (isBroadcasting()) {
+            int groupId = AudioSharingUtils.getGroupId(cachedDevice);
+            if (groupedDevices.containsKey(groupId)
+                    && groupedDevices.get(groupId).stream()
+                            .anyMatch(
+                                    device ->
+                                            AudioSharingUtils.hasBroadcastSource(
+                                                    device, mLocalBtManager))) {
+                Log.d(
+                        TAG,
+                        "Automatically add another device within the same group to the sharing: "
+                                + cachedDevice.getDevice().getAnonymizedAddress());
+                addSourceToTargetDevices(ImmutableList.of(cachedDevice.getDevice()));
+                return;
+            }
+            // Show audio sharing switch or join dialog according to device count in the sharing
+            // session.
+            ArrayList<AudioSharingDeviceItem> deviceItemsInSharingSession =
+                    AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
+                            mLocalBtManager, groupedDevices, /* filterByInSharing= */ true);
+            // Show audio sharing switch dialog when the third eligible (LE audio) remote device
+            // connected during a sharing session.
+            if (deviceItemsInSharingSession.size() >= 2) {
+                postOnMainThread(
+                        () -> {
+                            closeOpeningDialogsOtherThan(
+                                    AudioSharingDisconnectDialogFragment.tag());
+                            AudioSharingDisconnectDialogFragment.show(
+                                    mFragment,
+                                    deviceItemsInSharingSession,
+                                    cachedDevice,
+                                    (AudioSharingDeviceItem item) -> {
+                                        // Remove all sources from the device user clicked
+                                        if (groupedDevices.containsKey(item.getGroupId())) {
+                                            for (CachedBluetoothDevice device :
+                                                    groupedDevices.get(item.getGroupId())) {
+                                                for (BluetoothLeBroadcastReceiveState source :
+                                                        mAssistant.getAllSources(
+                                                                device.getDevice())) {
+                                                    mAssistant.removeSource(
+                                                            device.getDevice(),
+                                                            source.getSourceId());
+                                                }
+                                            }
+                                        }
+                                        // Add current broadcast to the latest connected device
+                                        mAssistant.addSource(
+                                                cachedDevice.getDevice(),
+                                                mBroadcast.getLatestBluetoothLeBroadcastMetadata(),
+                                                /* isGroupOp= */ true);
+                                    });
+                        });
+            } else {
+                // Show audio sharing join dialog when the first or second eligible (LE audio)
+                // remote device connected during a sharing session.
+                postOnMainThread(
+                        () -> {
+                            closeOpeningDialogsOtherThan(AudioSharingJoinDialogFragment.tag());
+                            AudioSharingJoinDialogFragment.show(
+                                    mFragment,
+                                    deviceItemsInSharingSession,
+                                    cachedDevice,
+                                    () -> {
+                                        // Add current broadcast to the latest connected device
+                                        mAssistant.addSource(
+                                                cachedDevice.getDevice(),
+                                                mBroadcast.getLatestBluetoothLeBroadcastMetadata(),
+                                                /* isGroupOp= */ true);
+                                    });
+                        });
+            }
+        } else {
+            ArrayList<AudioSharingDeviceItem> deviceItems = new ArrayList<>();
+            for (List<CachedBluetoothDevice> devices : groupedDevices.values()) {
+                // 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;
+                }
+                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) {
+                postOnMainThread(
+                        () -> {
+                            closeOpeningDialogsOtherThan(AudioSharingJoinDialogFragment.tag());
+                            AudioSharingJoinDialogFragment.show(
+                                    mFragment,
+                                    deviceItems,
+                                    cachedDevice,
+                                    () -> {
+                                        mTargetSinks = new ArrayList<>();
+                                        for (List<CachedBluetoothDevice> devices :
+                                                groupedDevices.values()) {
+                                            for (CachedBluetoothDevice device : devices) {
+                                                mTargetSinks.add(device.getDevice());
+                                            }
+                                        }
+                                        mBroadcast.startPrivateBroadcast();
+                                    });
+                        });
+            }
+        }
+    }
+
+    private boolean isLeAudioSupported(CachedBluetoothDevice cachedDevice) {
+        return cachedDevice.getProfiles().stream()
+                .anyMatch(
+                        profile ->
+                                profile instanceof LeAudioProfile
+                                        && profile.isEnabled(cachedDevice.getDevice()));
+    }
+
+    private boolean isFirstConnectedProfile(
+            CachedBluetoothDevice cachedDevice, int bluetoothProfile) {
+        return cachedDevice.getProfiles().stream()
+                .noneMatch(
+                        profile ->
+                                profile.getProfileId() != bluetoothProfile
+                                        && profile.getConnectionStatus(cachedDevice.getDevice())
+                                                == BluetoothProfile.STATE_CONNECTED);
+    }
+
+    private boolean isBroadcasting() {
+        return mBroadcast != null && mBroadcast.isEnabled(null);
+    }
+
+    private void addSourceToTargetDevices(List<BluetoothDevice> sinks) {
+        if (sinks.isEmpty() || mBroadcast == null || mAssistant == null) {
+            Log.d(TAG, "Skip adding source to target.");
+            return;
+        }
+        BluetoothLeBroadcastMetadata broadcastMetadata =
+                mBroadcast.getLatestBluetoothLeBroadcastMetadata();
+        if (broadcastMetadata == null) {
+            Log.e(TAG, "Error: There is no broadcastMetadata.");
+            return;
+        }
+        for (BluetoothDevice sink : sinks) {
+            Log.d(
+                    TAG,
+                    "Add broadcast with broadcastId: "
+                            + broadcastMetadata.getBroadcastId()
+                            + "to the device: "
+                            + sink.getAnonymizedAddress());
+            mAssistant.addSource(sink, broadcastMetadata, /* isGroupOp= */ false);
+        }
+    }
+
+    private void closeOpeningDialogsOtherThan(String tag) {
+        if (mFragment == null) return;
+        List<Fragment> fragments = mFragment.getChildFragmentManager().getFragments();
+        for (Fragment fragment : fragments) {
+            if (fragment instanceof DialogFragment && !fragment.getTag().equals(tag)) {
+                Log.d(TAG, "Remove staled opening dialog " + fragment.getTag());
+                ((DialogFragment) fragment).dismiss();
+            }
+        }
+    }
+
+    private void closeOpeningDialogsForLeaDevice(@NonNull CachedBluetoothDevice cachedDevice) {
+        if (mFragment == null) return;
+        int groupId = AudioSharingUtils.getGroupId(cachedDevice);
+        List<Fragment> fragments = mFragment.getChildFragmentManager().getFragments();
+        for (Fragment fragment : fragments) {
+            CachedBluetoothDevice device = getCachedBluetoothDeviceFromDialog(fragment);
+            if (device != null
+                    && groupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID
+                    && AudioSharingUtils.getGroupId(device) == groupId) {
+                Log.d(TAG, "Remove staled opening dialog for group " + groupId);
+                ((DialogFragment) fragment).dismiss();
+            }
+        }
+    }
+
+    private void closeOpeningDialogsForNonLeaDevice(@NonNull CachedBluetoothDevice cachedDevice) {
+        if (mFragment == null) return;
+        String address = cachedDevice.getAddress();
+        List<Fragment> fragments = mFragment.getChildFragmentManager().getFragments();
+        for (Fragment fragment : fragments) {
+            CachedBluetoothDevice device = getCachedBluetoothDeviceFromDialog(fragment);
+            if (device != null && address != null && address.equals(device.getAddress())) {
+                Log.d(
+                        TAG,
+                        "Remove staled opening dialog for device "
+                                + cachedDevice.getDevice().getAnonymizedAddress());
+                ((DialogFragment) fragment).dismiss();
+            }
+        }
+    }
+
+    @Nullable
+    private CachedBluetoothDevice getCachedBluetoothDeviceFromDialog(Fragment fragment) {
+        CachedBluetoothDevice device = null;
+        if (fragment instanceof AudioSharingJoinDialogFragment) {
+            device = ((AudioSharingJoinDialogFragment) fragment).getDevice();
+        } else if (fragment instanceof AudioSharingStopDialogFragment) {
+            device = ((AudioSharingStopDialogFragment) fragment).getDevice();
+        } else if (fragment instanceof AudioSharingDisconnectDialogFragment) {
+            device = ((AudioSharingDisconnectDialogFragment) fragment).getDevice();
+        }
+        return device;
+    }
+
+    private void postOnMainThread(@NonNull Runnable runnable) {
+        mContext.getMainExecutor().execute(runnable);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
new file mode 100644
index 0000000..5c0a90a
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeControlUpdater.java
@@ -0,0 +1,142 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothDevice;
+import android.content.Context;
+import android.util.Log;
+import android.widget.SeekBar;
+
+import androidx.preference.Preference;
+
+import com.android.settings.bluetooth.BluetoothDevicePreference;
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+public class AudioSharingDeviceVolumeControlUpdater extends BluetoothDeviceUpdater
+        implements Preference.OnPreferenceClickListener {
+
+    private static final String TAG = "AudioSharingDeviceVolumeControlUpdater";
+
+    private static final String PREF_KEY = "audio_sharing_volume_control";
+
+    private final LocalBluetoothManager mLocalBtManager;
+
+    public AudioSharingDeviceVolumeControlUpdater(
+            Context context,
+            DevicePreferenceCallback devicePreferenceCallback,
+            int metricsCategory) {
+        super(context, devicePreferenceCallback, metricsCategory);
+        mLocalBtManager = Utils.getLocalBluetoothManager(context);
+    }
+
+    @Override
+    public boolean isFilterMatched(CachedBluetoothDevice cachedDevice) {
+        boolean isFilterMatched = false;
+        if (isDeviceConnected(cachedDevice) && isDeviceInCachedDevicesList(cachedDevice)) {
+            // 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(mLocalBtManager)
+                    && AudioSharingUtils.hasBroadcastSource(cachedDevice, mLocalBtManager)) {
+                isFilterMatched = true;
+            }
+        }
+        Log.d(
+                TAG,
+                "isFilterMatched() device : "
+                        + cachedDevice.getName()
+                        + ", isFilterMatched : "
+                        + isFilterMatched);
+        return isFilterMatched;
+    }
+
+    @Override
+    public boolean onPreferenceClick(Preference preference) {
+        return true;
+    }
+
+    @Override
+    protected void addPreference(CachedBluetoothDevice cachedDevice) {
+        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) {
+                            if (mLocalBtManager != null
+                                    && mLocalBtManager.getProfileManager().getVolumeControlProfile()
+                                            != null) {
+                                mLocalBtManager
+                                        .getProfileManager()
+                                        .getVolumeControlProfile()
+                                        .setDeviceVolume(
+                                                cachedDevice.getDevice(),
+                                                seekBar.getProgress(),
+                                                /* isGroupOp= */ true);
+                            }
+                        }
+                    };
+            AudioSharingDeviceVolumePreference vPreference =
+                    new AudioSharingDeviceVolumePreference(mPrefContext, cachedDevice);
+            vPreference.initialize();
+            vPreference.setOnSeekBarChangeListener(listener);
+            vPreference.setKey(getPreferenceKey());
+            vPreference.setIcon(com.android.settingslib.R.drawable.ic_bt_untethered_earbuds);
+            vPreference.setTitle(cachedDevice.getName());
+            mPreferenceMap.put(device, vPreference);
+            mDevicePreferenceCallback.onDeviceAdded(vPreference);
+        }
+    }
+
+    @Override
+    protected String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected void update(CachedBluetoothDevice cachedBluetoothDevice) {
+        super.update(cachedBluetoothDevice);
+        Log.d(TAG, "Map : " + mPreferenceMap);
+    }
+
+    @Override
+    protected void addPreference(
+            CachedBluetoothDevice cachedDevice, @BluetoothDevicePreference.SortType int type) {}
+
+    @Override
+    protected void launchDeviceDetails(Preference preference) {}
+
+    @Override
+    public void refreshPreference() {}
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
new file mode 100644
index 0000000..edd1caf
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumeGroupController.java
@@ -0,0 +1,345 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.annotation.IntRange;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothVolumeControl;
+import android.content.Context;
+import android.media.AudioManager;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.fragment.app.FragmentManager;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.BluetoothDeviceUpdater;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.VolumeControlProfile;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingDeviceVolumeGroupController extends AudioSharingBasePreferenceController
+        implements DevicePreferenceCallback {
+    private static final String TAG = "AudioSharingDeviceVolumeGroupController";
+    private static final String KEY = "audio_sharing_device_volume_group";
+
+    private final LocalBluetoothManager mLocalBtManager;
+    private final LocalBluetoothLeBroadcastAssistant mAssistant;
+    private final Executor mExecutor;
+    private VolumeControlProfile mVolumeControl;
+    private BluetoothDeviceUpdater mBluetoothDeviceUpdater;
+    private FragmentManager mFragmentManager;
+    private PreferenceGroup mPreferenceGroup;
+    private List<AudioSharingDeviceVolumePreference> mVolumePreferences = new ArrayList<>();
+    private Map<Integer, Integer> mValueMap = new HashMap<Integer, Integer>();
+
+    private BluetoothVolumeControl.Callback mVolumeControlCallback =
+            new BluetoothVolumeControl.Callback() {
+                @Override
+                public void onVolumeOffsetChanged(
+                        @NonNull BluetoothDevice device, int volumeOffset) {}
+
+                @Override
+                public void onDeviceVolumeChanged(
+                        @NonNull BluetoothDevice device,
+                        @IntRange(from = -255, to = 255) int volume) {
+                    CachedBluetoothDevice cachedDevice =
+                            mLocalBtManager.getCachedDeviceManager().findDevice(device);
+                    if (cachedDevice == null) return;
+                    int groupId = AudioSharingUtils.getGroupId(cachedDevice);
+                    mValueMap.put(groupId, volume);
+                    for (AudioSharingDeviceVolumePreference preference : mVolumePreferences) {
+                        if (preference.getCachedDevice() != null
+                                && AudioSharingUtils.getGroupId(preference.getCachedDevice())
+                                        == groupId) {
+                            // If the callback return invalid volume, try to
+                            // get the volume from AudioManager.STREAM_MUSIC
+                            int finalVolume = getAudioVolumeIfNeeded(volume);
+                            Log.d(
+                                    TAG,
+                                    "onDeviceVolumeChanged: set volume to "
+                                            + finalVolume
+                                            + " for "
+                                            + device.getAnonymizedAddress());
+                            mContext.getMainExecutor()
+                                    .execute(() -> preference.setProgress(finalVolume));
+                            break;
+                        }
+                    }
+                }
+            };
+
+    private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+            new BluetoothLeBroadcastAssistant.Callback() {
+                @Override
+                public void onSearchStarted(int reason) {}
+
+                @Override
+                public void onSearchStartFailed(int reason) {}
+
+                @Override
+                public void onSearchStopped(int reason) {}
+
+                @Override
+                public void onSearchStopFailed(int reason) {}
+
+                @Override
+                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);
+                    mBluetoothDeviceUpdater.forceUpdate();
+                }
+
+                @Override
+                public void onSourceAddFailed(
+                        @NonNull BluetoothDevice sink,
+                        @NonNull BluetoothLeBroadcastMetadata source,
+                        int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceAddFailed(), sink = "
+                                    + sink
+                                    + ", source = "
+                                    + source
+                                    + ", reason = "
+                                    + reason);
+                }
+
+                @Override
+                public void onSourceModified(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceModifyFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceRemoved(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceRemoved(), sink = "
+                                    + sink
+                                    + ", sourceId = "
+                                    + sourceId
+                                    + ", reason = "
+                                    + reason);
+                    mBluetoothDeviceUpdater.forceUpdate();
+                }
+
+                @Override
+                public void onSourceRemoveFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceRemoveFailed(), sink = "
+                                    + sink
+                                    + ", sourceId = "
+                                    + sourceId
+                                    + ", reason = "
+                                    + reason);
+                }
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {}
+            };
+
+    public AudioSharingDeviceVolumeGroupController(Context context) {
+        super(context, KEY);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        mAssistant = mLocalBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+        mExecutor = Executors.newSingleThreadExecutor();
+        if (mLocalBtManager != null) {
+            mVolumeControl = mLocalBtManager.getProfileManager().getVolumeControlProfile();
+        }
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        super.onStart(owner);
+        if (mAssistant == null) {
+            Log.d(TAG, "onStart() Broadcast or assistant is not supported on this device");
+            return;
+        }
+        if (mBluetoothDeviceUpdater == null) {
+            Log.d(TAG, "onStart() Bluetooth device updater is not initialized");
+            return;
+        }
+        mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+        mBluetoothDeviceUpdater.registerCallback();
+        if (mVolumeControl != null) {
+            Log.d(TAG, "onStart() Registered volume control callback");
+            mVolumeControl.registerCallback(mExecutor, mVolumeControlCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        super.onStop(owner);
+        if (mAssistant == null) {
+            Log.d(TAG, "onStop() Broadcast or assistant is not supported on this device");
+            return;
+        }
+        if (mBluetoothDeviceUpdater == null) {
+            Log.d(TAG, "onStop() Bluetooth device updater is not initialized");
+            return;
+        }
+        mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+        mBluetoothDeviceUpdater.unregisterCallback();
+        if (mVolumeControl != null) {
+            Log.d(TAG, "onStop() Unregistered volume control callback");
+            mVolumeControl.unregisterCallback(mVolumeControlCallback);
+            mValueMap.clear();
+        }
+    }
+
+    @Override
+    public void onDestroy(@NonNull LifecycleOwner owner) {
+        mVolumePreferences.clear();
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        mPreferenceGroup = screen.findPreference(KEY);
+        mPreferenceGroup.setVisible(false);
+
+        if (isAvailable() && mBluetoothDeviceUpdater != null) {
+            mBluetoothDeviceUpdater.setPrefContext(screen.getContext());
+            mBluetoothDeviceUpdater.forceUpdate();
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void onDeviceAdded(Preference preference) {
+        if (mPreferenceGroup.getPreferenceCount() == 0) {
+            mPreferenceGroup.setVisible(true);
+        }
+        mPreferenceGroup.addPreference(preference);
+        if (preference instanceof AudioSharingDeviceVolumePreference) {
+            var volumePref = (AudioSharingDeviceVolumePreference) preference;
+            mVolumePreferences.add(volumePref);
+            if (volumePref.getProgress() > 0) return;
+            CachedBluetoothDevice device = volumePref.getCachedDevice();
+            if (device == null) return;
+            int volume = mValueMap.getOrDefault(AudioSharingUtils.getGroupId(device), -1);
+            // If the volume is invalid, try to get the volume from AudioManager.STREAM_MUSIC
+            int finalVolume = getAudioVolumeIfNeeded(volume);
+            Log.d(
+                    TAG,
+                    "onDeviceAdded: set volume to "
+                            + finalVolume
+                            + " for "
+                            + device.getDevice().getAnonymizedAddress());
+            mContext.getMainExecutor().execute(() -> volumePref.setProgress(finalVolume));
+        }
+    }
+
+    @Override
+    public void onDeviceRemoved(Preference preference) {
+        mPreferenceGroup.removePreference(preference);
+        if (mPreferenceGroup.getPreferenceCount() == 0) {
+            mPreferenceGroup.setVisible(false);
+        }
+        if (preference instanceof AudioSharingDeviceVolumePreference) {
+            var volumePref = (AudioSharingDeviceVolumePreference) preference;
+            if (mVolumePreferences.contains(volumePref)) {
+                mVolumePreferences.remove(volumePref);
+            }
+            CachedBluetoothDevice device = volumePref.getCachedDevice();
+            Log.d(
+                    TAG,
+                    "onDeviceRemoved: "
+                            + (device == null
+                                    ? "null"
+                                    : device.getDevice().getAnonymizedAddress()));
+        }
+    }
+
+    @Override
+    public void updateVisibility() {
+        if (mPreferenceGroup != null) {
+            mPreferenceGroup.setVisible(false);
+            if (mPreferenceGroup.getPreferenceCount() > 0) {
+                super.updateVisibility();
+            }
+        }
+    }
+
+    /**
+     * Initialize the controller.
+     *
+     * @param fragment The fragment to provide the context and metrics category for {@link
+     *     AudioSharingBluetoothDeviceUpdater} and provide the host for dialogs.
+     */
+    public void init(DashboardFragment fragment) {
+        mBluetoothDeviceUpdater =
+                new AudioSharingDeviceVolumeControlUpdater(
+                        fragment.getContext(),
+                        AudioSharingDeviceVolumeGroupController.this,
+                        fragment.getMetricsCategory());
+    }
+
+    private int getAudioVolumeIfNeeded(int volume) {
+        if (volume >= 0) return volume;
+        try {
+            AudioManager audioManager = mContext.getSystemService(AudioManager.class);
+            int max = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);
+            int min = audioManager.getStreamMinVolume(AudioManager.STREAM_MUSIC);
+            return Math.round(
+                    audioManager.getStreamVolume(AudioManager.STREAM_MUSIC) * 255f / (max - min));
+        } catch (RuntimeException e) {
+            Log.e(TAG, "Fail to fetch current music stream volume, error = " + e);
+            return volume;
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
new file mode 100644
index 0000000..9dd9fb0
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDeviceVolumePreference.java
@@ -0,0 +1,56 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.content.Context;
+import android.widget.SeekBar;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+public class AudioSharingDeviceVolumePreference extends SeekBarPreference {
+    public static final int MIN_VOLUME = 0;
+    public static final int MAX_VOLUME = 255;
+
+    protected SeekBar mSeekBar;
+    private final CachedBluetoothDevice mCachedDevice;
+
+    public AudioSharingDeviceVolumePreference(
+            Context context, @NonNull CachedBluetoothDevice device) {
+        super(context);
+        setLayoutResource(R.layout.preference_volume_slider);
+        mCachedDevice = device;
+    }
+
+    @Nullable
+    public CachedBluetoothDevice getCachedDevice() {
+        return mCachedDevice;
+    }
+
+    /**
+     * Initialize {@link AudioSharingDeviceVolumePreference}.
+     * Need to be called after creating the preference.
+     */
+    public void initialize() {
+        setMax(MAX_VOLUME);
+        setMin(MIN_VOLUME);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
new file mode 100644
index 0000000..32cd2f8
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragment.java
@@ -0,0 +1,154 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+import com.google.common.collect.Iterables;
+
+import java.util.ArrayList;
+import java.util.stream.Collectors;
+
+public class AudioSharingDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingDialog";
+
+    private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
+
+    // The host creates an instance of this dialog fragment must implement this interface to receive
+    // event callbacks.
+    public interface DialogEventListener {
+        /**
+         * Called when users click the device item for sharing in the dialog.
+         *
+         * @param item The device item clicked.
+         */
+        void onItemClick(AudioSharingDeviceItem item);
+    }
+
+    private static DialogEventListener sListener;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_START_AUDIO_SHARING;
+    }
+
+    /**
+     * Display the {@link AudioSharingDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param deviceItems The connected device items eligible for audio sharing.
+     * @param listener The callback to handle the user action on this dialog.
+     */
+    public static void show(
+            Fragment host,
+            ArrayList<AudioSharingDeviceItem> deviceItems,
+            DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        if (manager.findFragmentByTag(TAG) == null) {
+            final Bundle bundle = new Bundle();
+            bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
+            AudioSharingDialogFragment dialog = new AudioSharingDialogFragment();
+            dialog.setArguments(bundle);
+            dialog.show(manager, TAG);
+        }
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        Bundle arguments = requireArguments();
+        ArrayList<AudioSharingDeviceItem> deviceItems =
+                arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS);
+        final AlertDialog.Builder builder =
+                new AlertDialog.Builder(getActivity()).setCancelable(false);
+        LayoutInflater inflater = LayoutInflater.from(builder.getContext());
+        View customTitle = inflater.inflate(R.layout.dialog_custom_title_audio_sharing, null);
+        ImageView icon = customTitle.findViewById(R.id.title_icon);
+        icon.setImageResource(R.drawable.ic_bt_audio_sharing);
+        TextView title = customTitle.findViewById(R.id.title_text);
+        View rootView = inflater.inflate(R.layout.dialog_audio_sharing, /* parent= */ null);
+        TextView subTitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        TextView subTitle2 = rootView.findViewById(R.id.share_audio_subtitle2);
+        RecyclerView recyclerView = rootView.findViewById(R.id.btn_list);
+        Button shareBtn = rootView.findViewById(R.id.share_btn);
+        Button cancelBtn = rootView.findViewById(R.id.cancel_btn);
+        if (deviceItems.isEmpty()) {
+            title.setText("Share your audio");
+            subTitle2.setText(
+                    "To start sharing audio, "
+                            + "connect two pairs of headphones that support LE Audio");
+            ImageView image = rootView.findViewById(R.id.share_audio_guidance);
+            image.setVisibility(View.VISIBLE);
+            builder.setNegativeButton("Close", null);
+        } else if (deviceItems.size() == 1) {
+            title.setText("Share your audio");
+            subTitle1.setText(
+                    deviceItems.stream()
+                            .map(AudioSharingDeviceItem::getName)
+                            .collect(Collectors.joining(" and ")));
+            subTitle2.setText(
+                    "This device's music and videos will play on both pairs of headphones");
+            shareBtn.setText("Share audio");
+            shareBtn.setOnClickListener(
+                    v -> {
+                        sListener.onItemClick(Iterables.getOnlyElement(deviceItems));
+                        dismiss();
+                    });
+            cancelBtn.setOnClickListener(v -> dismiss());
+            subTitle1.setVisibility(View.VISIBLE);
+            shareBtn.setVisibility(View.VISIBLE);
+            cancelBtn.setVisibility(View.VISIBLE);
+        } else {
+            title.setText("Share audio with another device");
+            subTitle2.setText(
+                    "This device's music and videos will play on the headphones you connect");
+            recyclerView.setAdapter(
+                    new AudioSharingDeviceAdapter(
+                            deviceItems,
+                            (AudioSharingDeviceItem item) -> {
+                                sListener.onItemClick(item);
+                                dismiss();
+                            },
+                            "Connect "));
+            recyclerView.setLayoutManager(
+                    new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+            recyclerView.setVisibility(View.VISIBLE);
+            cancelBtn.setOnClickListener(v -> dismiss());
+            cancelBtn.setVisibility(View.VISIBLE);
+        }
+        AlertDialog dialog = builder.setCustomTitle(customTitle).setView(rootView).create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
new file mode 100644
index 0000000..74c73aa
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragment.java
@@ -0,0 +1,173 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.recyclerview.widget.LinearLayoutManager;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+import java.util.ArrayList;
+import java.util.Locale;
+
+public class AudioSharingDisconnectDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingDisconnectDialog";
+
+    private static final String BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS =
+            "bundle_key_device_to_disconnect_items";
+    private static final String BUNDLE_KEY_NEW_DEVICE_NAME = "bundle_key_new_device_name";
+
+    // The host creates an instance of this dialog fragment must implement this interface to receive
+    // event callbacks.
+    public interface DialogEventListener {
+        /**
+         * Called when users click the device item to disconnect from the audio sharing in the
+         * dialog.
+         *
+         * @param item The device item clicked.
+         */
+        void onItemClick(AudioSharingDeviceItem item);
+    }
+
+    private static DialogEventListener sListener;
+    @Nullable private static CachedBluetoothDevice sNewDevice;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_AUDIO_SHARING_SWITCH_DEVICE;
+    }
+
+    /**
+     * Display the {@link AudioSharingDisconnectDialogFragment} dialog.
+     *
+     * <p>If the dialog is showing for the same group, update the dialog event listener.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param deviceItems The existing connected device items in audio sharing session.
+     * @param newDevice The latest connected device triggered this dialog.
+     * @param listener The callback to handle the user action on this dialog.
+     */
+    public static void show(
+            Fragment host,
+            ArrayList<AudioSharingDeviceItem> deviceItems,
+            CachedBluetoothDevice newDevice,
+            DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        Fragment dialog = manager.findFragmentByTag(TAG);
+        if (dialog != null
+                && ((DialogFragment) dialog).getDialog() != null
+                && ((DialogFragment) dialog).getDialog().isShowing()) {
+            int newGroupId = AudioSharingUtils.getGroupId(newDevice);
+            if (sNewDevice != null && newGroupId == AudioSharingUtils.getGroupId(sNewDevice)) {
+                Log.d(
+                        TAG,
+                        String.format(
+                                Locale.US,
+                                "Dialog is showing for the same device group %d, "
+                                        + "update the content.",
+                                newGroupId));
+                sListener = listener;
+                sNewDevice = newDevice;
+                return;
+            } else {
+                Log.d(
+                        TAG,
+                        String.format(
+                                Locale.US,
+                                "Dialog is showing for new device group %d, "
+                                        + "dismiss current dialog.",
+                                newGroupId));
+                ((DialogFragment) dialog).dismiss();
+            }
+        }
+        sListener = listener;
+        sNewDevice = newDevice;
+        Log.d(TAG, "Show up the dialog.");
+        final Bundle bundle = new Bundle();
+        bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS, deviceItems);
+        bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDevice.getName());
+        AudioSharingDisconnectDialogFragment dialogFrag =
+                new AudioSharingDisconnectDialogFragment();
+        dialogFrag.setArguments(bundle);
+        dialogFrag.show(manager, TAG);
+    }
+
+    /** Return the tag of {@link AudioSharingDisconnectDialogFragment} dialog. */
+    public static @NonNull String tag() {
+        return TAG;
+    }
+
+    /** Get the latest connected device which triggers the dialog. */
+    public @Nullable CachedBluetoothDevice getDevice() {
+        return sNewDevice;
+    }
+
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        Bundle arguments = requireArguments();
+        ArrayList<AudioSharingDeviceItem> deviceItems =
+                arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_TO_DISCONNECT_ITEMS);
+        final AlertDialog.Builder builder =
+                new AlertDialog.Builder(getActivity()).setCancelable(false);
+        LayoutInflater inflater = LayoutInflater.from(builder.getContext());
+        // Set custom title for the dialog.
+        View customTitle = inflater.inflate(R.layout.dialog_custom_title_audio_sharing, null);
+        ImageView icon = customTitle.findViewById(R.id.title_icon);
+        icon.setImageResource(R.drawable.ic_bt_audio_sharing);
+        TextView title = customTitle.findViewById(R.id.title_text);
+        title.setText("Choose a device to disconnect");
+        View rootView =
+                inflater.inflate(R.layout.dialog_audio_sharing_disconnect, /* parent= */ null);
+        TextView subTitle = rootView.findViewById(R.id.share_audio_disconnect_description);
+        subTitle.setText("Only 2 devices can share audio at a time");
+        RecyclerView recyclerView = rootView.findViewById(R.id.device_btn_list);
+        recyclerView.setAdapter(
+                new AudioSharingDeviceAdapter(
+                        deviceItems,
+                        (AudioSharingDeviceItem item) -> {
+                            sListener.onItemClick(item);
+                            dismiss();
+                        },
+                        "Disconnect "));
+        recyclerView.setLayoutManager(
+                new LinearLayoutManager(getActivity(), LinearLayoutManager.VERTICAL, false));
+        Button cancelBtn = rootView.findViewById(R.id.cancel_btn);
+        cancelBtn.setOnClickListener(v -> dismiss());
+        AlertDialog dialog = builder.setCustomTitle(customTitle).setView(rootView).create();
+        dialog.setCanceledOnTouchOutside(false);
+        return dialog;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProvider.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProvider.java
new file mode 100644
index 0000000..c71a368
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProvider.java
@@ -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.connecteddevice.audiosharing;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.lifecycle.Lifecycle;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+/** Feature provider for the audio sharing related features, */
+public interface AudioSharingFeatureProvider {
+
+    /** Create audio sharing device preference controller. */
+    @Nullable
+    AbstractPreferenceController createAudioSharingDevicePreferenceController(
+            @NonNull Context context,
+            @Nullable DashboardFragment fragment,
+            @Nullable Lifecycle lifecycle);
+
+    /**
+     * Check if the device match the audio sharing filter.
+     *
+     * <p>The filter is used to filter device in "Media devices" section.
+     */
+    boolean isAudioSharingFilterMatched(
+            @NonNull CachedBluetoothDevice cachedDevice, LocalBluetoothManager localBtManager);
+
+    /** Handle preference onClick in "Media devices" section. */
+    void handleMediaDeviceOnClick(LocalBluetoothManager localBtManager);
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProviderImpl.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProviderImpl.java
new file mode 100644
index 0000000..05a6a63
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProviderImpl.java
@@ -0,0 +1,49 @@
+/*
+ * 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.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.lifecycle.Lifecycle;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+public class AudioSharingFeatureProviderImpl implements AudioSharingFeatureProvider {
+
+    @Nullable
+    @Override
+    public AbstractPreferenceController createAudioSharingDevicePreferenceController(
+            @NonNull Context context,
+            @Nullable DashboardFragment fragment,
+            @Nullable Lifecycle lifecycle) {
+        return null;
+    }
+
+    @Override
+    public boolean isAudioSharingFilterMatched(
+            @NonNull CachedBluetoothDevice cachedDevice, LocalBluetoothManager localBtManager) {
+        return false;
+    }
+
+    @Override
+    public void handleMediaDeviceOnClick(LocalBluetoothManager localBtManager) {}
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
new file mode 100644
index 0000000..8791c11
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragment.java
@@ -0,0 +1,175 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+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.CachedBluetoothDevice;
+
+import java.util.ArrayList;
+import java.util.Locale;
+import java.util.stream.Collectors;
+
+public class AudioSharingJoinDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingJoinDialog";
+    private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
+    private static final String BUNDLE_KEY_NEW_DEVICE_NAME = "bundle_key_new_device_name";
+
+    // The host creates an instance of this dialog fragment must implement this interface to receive
+    // event callbacks.
+    public interface DialogEventListener {
+        /** Called when users click the share audio button in the dialog. */
+        void onShareClick();
+    }
+
+    private static DialogEventListener sListener;
+    private static @Nullable CachedBluetoothDevice sNewDevice;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_START_AUDIO_SHARING;
+    }
+
+    /**
+     * Display the {@link AudioSharingJoinDialogFragment} dialog.
+     *
+     * <p>If the dialog is showing, update the dialog message and event listener.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param deviceItems The existing connected device items eligible for audio sharing.
+     * @param newDevice The latest connected device triggered this dialog.
+     * @param listener The callback to handle the user action on this dialog.
+     */
+    public static void show(
+            Fragment host,
+            ArrayList<AudioSharingDeviceItem> deviceItems,
+            CachedBluetoothDevice newDevice,
+            DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        sNewDevice = newDevice;
+        Fragment dialog = manager.findFragmentByTag(TAG);
+        if (dialog != null
+                && ((DialogFragment) dialog).getDialog() != null
+                && ((DialogFragment) dialog).getDialog().isShowing()) {
+            Log.d(TAG, "Dialog is showing, update the content.");
+            updateDialog(
+                    deviceItems,
+                    newDevice.getName(),
+                    (AlertDialog) ((DialogFragment) dialog).getDialog());
+        } else {
+            Log.d(TAG, "Show up the dialog.");
+            final Bundle bundle = new Bundle();
+            bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
+            bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDevice.getName());
+            final AudioSharingJoinDialogFragment dialogFrag = new AudioSharingJoinDialogFragment();
+            dialogFrag.setArguments(bundle);
+            dialogFrag.show(manager, TAG);
+        }
+    }
+
+    /** Return the tag of {@link AudioSharingJoinDialogFragment} dialog. */
+    public static @NonNull String tag() {
+        return TAG;
+    }
+
+    /** Get the latest connected device which triggers the dialog. */
+    public @Nullable CachedBluetoothDevice getDevice() {
+        return sNewDevice;
+    }
+
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        Bundle arguments = requireArguments();
+        ArrayList<AudioSharingDeviceItem> deviceItems =
+                arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS);
+        String newDeviceName = arguments.getString(BUNDLE_KEY_NEW_DEVICE_NAME);
+        final AlertDialog.Builder builder =
+                new AlertDialog.Builder(getActivity()).setCancelable(false);
+        LayoutInflater inflater = LayoutInflater.from(builder.getContext());
+        // Set custom title for the dialog.
+        View customTitle =
+                inflater.inflate(R.layout.dialog_custom_title_audio_sharing, /* parent= */ null);
+        ImageView icon = customTitle.findViewById(R.id.title_icon);
+        icon.setImageResource(R.drawable.ic_bt_audio_sharing);
+        TextView title = customTitle.findViewById(R.id.title_text);
+        title.setText("Share your audio");
+        View rootView = inflater.inflate(R.layout.dialog_audio_sharing_join, /* parent= */ null);
+        TextView subtitle = rootView.findViewById(R.id.share_audio_subtitle);
+        subtitle.setText("This device's music and videos will play on both pairs of headphones");
+        Button shareBtn = rootView.findViewById(R.id.share_btn);
+        Button cancelBtn = rootView.findViewById(R.id.cancel_btn);
+        shareBtn.setOnClickListener(
+                v -> {
+                    sListener.onShareClick();
+                    dismiss();
+                });
+        shareBtn.setText("Share audio");
+        cancelBtn.setOnClickListener(v -> dismiss());
+        AlertDialog dialog = builder.setCustomTitle(customTitle).setView(rootView).create();
+        dialog.setCanceledOnTouchOutside(false);
+        updateDialog(deviceItems, newDeviceName, dialog);
+        dialog.show();
+        TextView messageView = (TextView) dialog.findViewById(android.R.id.message);
+        if (messageView != null) {
+            Typeface typeface = Typeface.create(Typeface.DEFAULT_FAMILY, Typeface.NORMAL);
+            messageView.setTypeface(typeface);
+            messageView.setTextDirection(View.TEXT_DIRECTION_LOCALE);
+            messageView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
+        } else {
+            Log.w(TAG, "Fail to update message style: message view is null");
+        }
+        return dialog;
+    }
+
+    private static void updateDialog(
+            ArrayList<AudioSharingDeviceItem> deviceItems,
+            String newDeviceName,
+            @NonNull AlertDialog dialog) {
+        if (deviceItems.isEmpty()) {
+            dialog.setMessage(newDeviceName);
+        } else {
+            dialog.setMessage(
+                    String.format(
+                            Locale.US,
+                            "%s and %s",
+                            deviceItems.stream()
+                                    .map(AudioSharingDeviceItem::getName)
+                                    .collect(Collectors.joining(", ")),
+                            newDeviceName));
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
new file mode 100644
index 0000000..44c947d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreference.java
@@ -0,0 +1,110 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.widget.ImageButton;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsQrCodeFragment;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.widget.ValidatedEditTextPreference;
+
+public class AudioSharingNamePreference extends ValidatedEditTextPreference {
+    private static final String TAG = "AudioSharingNamePreference";
+    private boolean mShowQrCodeIcon = false;
+
+    public AudioSharingNamePreference(
+            Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        initialize();
+    }
+
+    public AudioSharingNamePreference(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        initialize();
+    }
+
+    public AudioSharingNamePreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        initialize();
+    }
+
+    public AudioSharingNamePreference(Context context) {
+        super(context);
+        initialize();
+    }
+
+    private void initialize() {
+        setLayoutResource(
+                com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target);
+        setWidgetLayoutResource(R.layout.preference_widget_qrcode);
+    }
+
+    void setShowQrCodeIcon(boolean show) {
+        mShowQrCodeIcon = show;
+        notifyChanged();
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        super.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);
+
+        if (shareButton != null && divider != null) {
+            if (mShowQrCodeIcon) {
+                configureVisibleStateForQrCodeIcon(shareButton, divider);
+            } else {
+                configureInvisibleStateForQrCodeIcon(shareButton, divider);
+            }
+        } else {
+            Log.w(TAG, "onBindViewHolder() : shareButton or divider is null!");
+        }
+    }
+
+    private void configureVisibleStateForQrCodeIcon(ImageButton shareButton, View divider) {
+        divider.setVisibility(View.VISIBLE);
+        shareButton.setVisibility(View.VISIBLE);
+        shareButton.setImageDrawable(getContext().getDrawable(R.drawable.ic_qrcode_24dp));
+        shareButton.setOnClickListener(unused -> launchAudioSharingQrCodeFragment());
+    }
+
+    private void configureInvisibleStateForQrCodeIcon(ImageButton shareButton, View divider) {
+        divider.setVisibility(View.INVISIBLE);
+        shareButton.setVisibility(View.INVISIBLE);
+        shareButton.setOnClickListener(null);
+    }
+
+    private void launchAudioSharingQrCodeFragment() {
+        new SubSettingLauncher(getContext())
+                .setTitleText("Audio sharing QR code")
+                .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
new file mode 100644
index 0000000..644e05e
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNamePreferenceController.java
@@ -0,0 +1,223 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import static com.android.settings.connecteddevice.audiosharing.AudioSharingUtils.isBroadcasting;
+
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.util.Log;
+
+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.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+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.utils.ThreadUtils;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingNamePreferenceController extends BasePreferenceController
+        implements ValidatedEditTextPreference.Validator,
+                Preference.OnPreferenceChangeListener,
+                DefaultLifecycleObserver {
+
+    private static final String TAG = "AudioSharingNamePreferenceController";
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private static final String PREF_KEY = "audio_sharing_stream_name";
+
+    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+            new BluetoothLeBroadcast.Callback() {
+                @Override
+                public void onBroadcastMetadataChanged(
+                        int broadcastId, BluetoothLeBroadcastMetadata metadata) {
+                    if (DEBUG) {
+                        Log.d(
+                                TAG,
+                                "onBroadcastMetadataChanged() broadcastId : "
+                                        + broadcastId
+                                        + " metadata: "
+                                        + metadata);
+                    }
+                    updateQrCodeIcon(true);
+                }
+
+                @Override
+                public void onBroadcastStartFailed(int reason) {}
+
+                @Override
+                public void onBroadcastStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastStopFailed(int reason) {}
+
+                @Override
+                public void onBroadcastStopped(int reason, int broadcastId) {
+                    if (DEBUG) {
+                        Log.d(
+                                TAG,
+                                "onBroadcastStopped() reason : "
+                                        + reason
+                                        + " broadcastId: "
+                                        + broadcastId);
+                    }
+                    updateQrCodeIcon(false);
+                }
+
+                @Override
+                public void onBroadcastUpdateFailed(int reason, int broadcastId) {
+                    Log.w(TAG, "onBroadcastUpdateFailed() reason : " + reason);
+                    // Do nothing if update failed.
+                }
+
+                @Override
+                public void onBroadcastUpdated(int reason, int broadcastId) {
+                    if (DEBUG) {
+                        Log.d(TAG, "onBroadcastUpdated() reason : " + reason);
+                    }
+                    updateBroadcastName();
+                }
+
+                @Override
+                public void onPlaybackStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStopped(int reason, int broadcastId) {}
+            };
+
+    @Nullable private final LocalBluetoothManager mLocalBtManager;
+    @Nullable private final LocalBluetoothLeBroadcast mBroadcast;
+    private final Executor mExecutor;
+    private final AudioSharingNameTextValidator mAudioSharingNameTextValidator;
+    @Nullable private AudioSharingNamePreference mPreference;
+
+    public AudioSharingNamePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mLocalBtManager = Utils.getLocalBluetoothManager(context);
+        mBroadcast =
+                (mLocalBtManager != null)
+                        ? mLocalBtManager.getProfileManager().getLeAudioBroadcastProfile()
+                        : null;
+        mAudioSharingNameTextValidator = new AudioSharingNameTextValidator();
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mBroadcast != null) {
+            mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mBroadcast != null) {
+            mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        if (mPreference != null) {
+            mPreference.setValidator(this);
+            updateBroadcastName();
+            updateQrCodeIcon(isBroadcasting(mLocalBtManager));
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (mPreference != null
+                && mPreference.getSummary() != null
+                && ((String) newValue).contentEquals(mPreference.getSummary())) {
+            return false;
+        }
+
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            if (mBroadcast != null) {
+                                mBroadcast.setProgramInfo((String) newValue);
+                                if (isBroadcasting(mLocalBtManager)) {
+                                    // Update broadcast, UI update will be handled after callback
+                                    mBroadcast.updateBroadcast();
+                                } else {
+                                    // Directly update UI if no ongoing broadcast
+                                    updateBroadcastName();
+                                }
+                            }
+                        });
+        return true;
+    }
+
+    private void updateBroadcastName() {
+        if (mPreference != null) {
+            var unused =
+                    ThreadUtils.postOnBackgroundThread(
+                            () -> {
+                                if (mBroadcast != null) {
+                                    String name = mBroadcast.getProgramInfo();
+                                    ThreadUtils.postOnMainThread(
+                                            () -> {
+                                                if (mPreference != null) {
+                                                    mPreference.setText(name);
+                                                    mPreference.setSummary(name);
+                                                }
+                                            });
+                                }
+                            });
+        }
+    }
+
+    private void updateQrCodeIcon(boolean show) {
+        if (mPreference != null) {
+            ThreadUtils.postOnMainThread(
+                    () -> {
+                        if (mPreference != null) {
+                            mPreference.setShowQrCodeIcon(show);
+                        }
+                    });
+        }
+    }
+
+    @Override
+    public boolean isTextValid(String value) {
+        return mAudioSharingNameTextValidator.isTextValid(value);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidator.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidator.java
new file mode 100644
index 0000000..2022eb2
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingNameTextValidator.java
@@ -0,0 +1,44 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import com.android.settings.widget.ValidatedEditTextPreference;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * Validator for Audio Sharing Name, which should be a UTF-8 encoded string containing a minimum of
+ * 4 characters and a maximum of 32 human-readable characters.
+ */
+public class AudioSharingNameTextValidator implements ValidatedEditTextPreference.Validator {
+    private static final int MIN_LENGTH = 4;
+    private static final int MAX_LENGTH = 32;
+
+    @Override
+    public boolean isTextValid(String value) {
+        if (value == null || value.length() < MIN_LENGTH || value.length() > MAX_LENGTH) {
+            return false;
+        }
+        return isValidUTF8(value);
+    }
+
+    private static boolean isValidUTF8(String value) {
+        byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
+        String reconstructedString = new String(bytes, StandardCharsets.UTF_8);
+        return value.equals(reconstructedString);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
new file mode 100644
index 0000000..da0eb2e
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordPreferenceController.java
@@ -0,0 +1,130 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+
+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.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.widget.ValidatedEditTextPreference;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingPasswordPreferenceController extends BasePreferenceController
+        implements ValidatedEditTextPreference.Validator,
+                Preference.OnPreferenceChangeListener,
+                DefaultLifecycleObserver {
+    private static final String PREF_KEY = "audio_sharing_stream_password";
+
+    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+            new BluetoothLeBroadcast.Callback() {
+                @Override
+                public void onBroadcastMetadataChanged(
+                        int broadcastId, BluetoothLeBroadcastMetadata metadata) {}
+
+                @Override
+                public void onBroadcastStartFailed(int reason) {}
+
+                @Override
+                public void onBroadcastStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastStopFailed(int reason) {}
+
+                @Override
+                public void onBroadcastStopped(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastUpdateFailed(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastUpdated(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStopped(int reason, int broadcastId) {}
+            };
+    @Nullable private final LocalBluetoothLeBroadcast mBroadcast;
+    private final Executor mExecutor;
+    private final AudioSharingPasswordValidator mAudioSharingPasswordValidator;
+    @Nullable private ValidatedEditTextPreference mPreference;
+
+    public AudioSharingPasswordPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mBroadcast =
+                Utils.getLocalBtManager(context).getProfileManager().getLeAudioBroadcastProfile();
+        mAudioSharingPasswordValidator = new AudioSharingPasswordValidator();
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mBroadcast != null) {
+            mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mBroadcast != null) {
+            mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        if (mPreference != null) {
+            mPreference.setValidator(this);
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        // TODO(chelseahao): implement
+        return true;
+    }
+
+    @Override
+    public boolean isTextValid(String value) {
+        return mAudioSharingPasswordValidator.isTextValid(value);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidator.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidator.java
new file mode 100644
index 0000000..dbb40ec
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPasswordValidator.java
@@ -0,0 +1,51 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import com.android.settings.widget.ValidatedEditTextPreference;
+
+import java.nio.charset.StandardCharsets;
+
+/**
+ * Validator for Audio Sharing Password, which should be a UTF-8 string that has at least 4 octets
+ * and should not exceed 16 octets.
+ */
+public class AudioSharingPasswordValidator implements ValidatedEditTextPreference.Validator {
+    private static final int MIN_OCTETS = 4;
+    private static final int MAX_OCTETS = 16;
+
+    @Override
+    public boolean isTextValid(String value) {
+        if (value == null
+                || getOctetsCount(value) < MIN_OCTETS
+                || getOctetsCount(value) > MAX_OCTETS) {
+            return false;
+        }
+
+        return isValidUTF8(value);
+    }
+
+    private static int getOctetsCount(String value) {
+        return value.getBytes(StandardCharsets.UTF_8).length;
+    }
+
+    private static boolean isValidUTF8(String value) {
+        byte[] bytes = value.getBytes(StandardCharsets.UTF_8);
+        String reconstructedString = new String(bytes, StandardCharsets.UTF_8);
+        return value.equals(reconstructedString);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java
new file mode 100644
index 0000000..6722219
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPlaySoundPreferenceController.java
@@ -0,0 +1,98 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.media.AudioAttributes;
+import android.media.AudioManager;
+import android.media.Ringtone;
+import android.media.RingtoneManager;
+import android.net.Uri;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+
+public class AudioSharingPlaySoundPreferenceController
+        extends AudioSharingBasePreferenceController {
+
+    private static final String TAG = "AudioSharingPlaySoundPreferenceController";
+
+    private static final String PREF_KEY = "audio_sharing_play_sound";
+
+    private final Ringtone mRingtone;
+
+    public AudioSharingPlaySoundPreferenceController(Context context) {
+        super(context, PREF_KEY);
+        mRingtone = RingtoneManager.getRingtone(context, getMediaVolumeUri());
+        if (mRingtone != null) {
+            mRingtone.setStreamType(AudioManager.STREAM_MUSIC);
+        }
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference.setVisible(mRingtone != null);
+        mPreference.setOnPreferenceClickListener(
+                (v) -> {
+                    if (mRingtone == null) {
+                        Log.d(TAG, "Skip onClick due to ringtone is null");
+                        return true;
+                    }
+                    try {
+                        mRingtone.setAudioAttributes(
+                                new AudioAttributes.Builder(mRingtone.getAudioAttributes())
+                                        .setFlags(AudioAttributes.FLAG_BYPASS_MUTE)
+                                        .addTag("VX_AOSP_SAMPLESOUND")
+                                        .build());
+                        if (!mRingtone.isPlaying()) {
+                            mRingtone.play();
+                        }
+                    } catch (Throwable e) {
+                        Log.w(TAG, "Fail to play sample, error = " + e);
+                    }
+                    return true;
+                });
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        super.onStop(owner);
+        if (mRingtone != null && mRingtone.isPlaying()) {
+            mRingtone.stop();
+        }
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    private Uri getMediaVolumeUri() {
+        return Uri.parse(
+                ContentResolver.SCHEME_ANDROID_RESOURCE
+                        + "://"
+                        + mContext.getPackageName()
+                        + "/"
+                        + R.raw.media_volume);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java
new file mode 100644
index 0000000..16c9888
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceController.java
@@ -0,0 +1,138 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+
+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.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioSharingPreferenceController extends BasePreferenceController
+        implements DefaultLifecycleObserver, BluetoothCallback {
+    private static final String TAG = "AudioSharingPreferenceController";
+
+    private final LocalBluetoothManager mLocalBtManager;
+    private final Executor mExecutor;
+    @Nullable private LocalBluetoothLeBroadcast mBroadcast = null;
+    @Nullable private Preference mPreference;
+
+    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+            new BluetoothLeBroadcast.Callback() {
+                @Override
+                public void onBroadcastStarted(int reason, int broadcastId) {
+                    if (mPreference != null) {
+                        refreshSummary(mPreference);
+                    }
+                }
+
+                @Override
+                public void onBroadcastStartFailed(int reason) {}
+
+                @Override
+                public void onBroadcastMetadataChanged(
+                        int broadcastId, @NonNull BluetoothLeBroadcastMetadata metadata) {}
+
+                @Override
+                public void onBroadcastStopped(int reason, int broadcastId) {
+                    if (mPreference != null) {
+                        refreshSummary(mPreference);
+                    }
+                }
+
+                @Override
+                public void onBroadcastStopFailed(int reason) {}
+
+                @Override
+                public void onBroadcastUpdated(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastUpdateFailed(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStopped(int reason, int broadcastId) {}
+            };
+
+    public AudioSharingPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mLocalBtManager = Utils.getLocalBtManager(context);
+        if (mLocalBtManager != null) {
+            mBroadcast = mLocalBtManager.getProfileManager().getLeAudioBroadcastProfile();
+        }
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().registerCallback(this);
+        }
+        if (mBroadcast != null) {
+            mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().unregisterCallback(this);
+        }
+        if (mBroadcast != null) {
+            mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+        }
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return AudioSharingUtils.isBroadcasting(mLocalBtManager) ? "On" : "Off";
+    }
+
+    @Override
+    public void onBluetoothStateChanged(@AdapterState int bluetoothState) {
+        if (mPreference != null) {
+            refreshSummary(mPreference);
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
new file mode 100644
index 0000000..3ba41f7
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragment.java
@@ -0,0 +1,138 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.graphics.Typeface;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.DialogFragment;
+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.CachedBluetoothDevice;
+
+public class AudioSharingStopDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioSharingStopDialog";
+
+    private static final String BUNDLE_KEY_NEW_DEVICE_NAME = "bundle_key_new_device_name";
+
+    // The host creates an instance of this dialog fragment must implement this interface to receive
+    // event callbacks.
+    public interface DialogEventListener {
+        /** Called when users click the stop sharing button in the dialog. */
+        void onStopSharingClick();
+    }
+
+    private static DialogEventListener sListener;
+    private static @Nullable CachedBluetoothDevice sNewDevice;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_STOP_AUDIO_SHARING;
+    }
+
+    /**
+     * Display the {@link AudioSharingStopDialogFragment} dialog.
+     *
+     * <p>If the dialog is showing, update the dialog message and event listener.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param newDevice The latest connected device triggered this dialog.
+     * @param listener The callback to handle the user action on this dialog.
+     */
+    public static void show(
+            Fragment host, CachedBluetoothDevice newDevice, DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        sNewDevice = newDevice;
+        Fragment dialog = manager.findFragmentByTag(TAG);
+        if (dialog != null
+                && ((DialogFragment) dialog).getDialog() != null
+                && ((DialogFragment) dialog).getDialog().isShowing()) {
+            Log.d(TAG, "Dialog is showing, update the content.");
+            updateDialog(newDevice.getName(), (AlertDialog) ((DialogFragment) dialog).getDialog());
+        } else {
+            Log.d(TAG, "Show up the dialog.");
+            final Bundle bundle = new Bundle();
+            bundle.putString(BUNDLE_KEY_NEW_DEVICE_NAME, newDevice.getName());
+            AudioSharingStopDialogFragment dialogFrag = new AudioSharingStopDialogFragment();
+            dialogFrag.setArguments(bundle);
+            dialogFrag.show(manager, TAG);
+        }
+    }
+
+    /** Return the tag of {@link AudioSharingStopDialogFragment} dialog. */
+    public static @NonNull String tag() {
+        return TAG;
+    }
+
+    /** Get the latest connected device which triggers the dialog. */
+    public @Nullable CachedBluetoothDevice getDevice() {
+        return sNewDevice;
+    }
+
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        Bundle arguments = requireArguments();
+        String newDeviceName = arguments.getString(BUNDLE_KEY_NEW_DEVICE_NAME);
+        final AlertDialog.Builder builder =
+                new AlertDialog.Builder(getActivity()).setCancelable(false);
+        LayoutInflater inflater = LayoutInflater.from(builder.getContext());
+        // Set custom title for the dialog.
+        View customTitle =
+                inflater.inflate(R.layout.dialog_custom_title_audio_sharing, /* parent= */ null);
+        ImageView icon = customTitle.findViewById(R.id.title_icon);
+        icon.setImageResource(R.drawable.ic_warning_24dp);
+        TextView title = customTitle.findViewById(R.id.title_text);
+        title.setText("Stop sharing audio?");
+        builder.setPositiveButton(
+                "Stop sharing", (dialog, which) -> sListener.onStopSharingClick());
+        builder.setNegativeButton("Cancel", (dialog, which) -> dismiss());
+        AlertDialog dialog = builder.setCustomTitle(customTitle).create();
+        dialog.setCanceledOnTouchOutside(false);
+        updateDialog(newDeviceName, dialog);
+        dialog.show();
+        TextView messageView = (TextView) dialog.findViewById(android.R.id.message);
+        if (messageView != null) {
+            Typeface typeface = Typeface.create(Typeface.DEFAULT_FAMILY, Typeface.NORMAL);
+            messageView.setTypeface(typeface);
+            messageView.setTextDirection(View.TEXT_DIRECTION_LOCALE);
+            messageView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);
+        } else {
+            Log.w(TAG, "sssFail to update dialog: message view is null");
+        }
+        return dialog;
+    }
+
+    private static void updateDialog(String newDeviceName, @NonNull AlertDialog dialog) {
+        dialog.setMessage(
+                newDeviceName + " wants to connect, headphones in audio sharing will disconnect.");
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
new file mode 100644
index 0000000..b82c94d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarController.java
@@ -0,0 +1,395 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.util.Log;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.widget.SettingsMainSwitchBar;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import com.google.common.collect.ImmutableList;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Locale;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+import java.util.stream.Collectors;
+
+public class AudioSharingSwitchBarController extends BasePreferenceController
+        implements DefaultLifecycleObserver, OnCheckedChangeListener {
+    private static final String TAG = "AudioSharingSwitchBarCtl";
+    private static final String PREF_KEY = "audio_sharing_main_switch";
+
+    interface OnSwitchBarChangedListener {
+        void onSwitchBarChanged();
+    }
+
+    private final SettingsMainSwitchBar mSwitchBar;
+    private final BluetoothAdapter mBluetoothAdapter;
+    private final LocalBluetoothManager mBtManager;
+    private final LocalBluetoothLeBroadcast mBroadcast;
+    private final LocalBluetoothLeBroadcastAssistant mAssistant;
+    private final Executor mExecutor;
+    private final OnSwitchBarChangedListener mListener;
+    private DashboardFragment mFragment;
+    private Map<Integer, List<CachedBluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
+    private List<BluetoothDevice> mTargetActiveSinks = new ArrayList<>();
+    private ArrayList<AudioSharingDeviceItem> mDeviceItemsForSharing = new ArrayList<>();
+    @VisibleForTesting IntentFilter mIntentFilter;
+
+    @VisibleForTesting
+    BroadcastReceiver mReceiver =
+            new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    if (!BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) return;
+                    int adapterState =
+                            intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothDevice.ERROR);
+                    mSwitchBar.setChecked(isBroadcasting());
+                    mSwitchBar.setEnabled(adapterState == BluetoothAdapter.STATE_ON);
+                    mListener.onSwitchBarChanged();
+                }
+            };
+
+    private final BluetoothLeBroadcast.Callback mBroadcastCallback =
+            new BluetoothLeBroadcast.Callback() {
+                @Override
+                public void onBroadcastStarted(int reason, int broadcastId) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastStarted(), reason = "
+                                    + reason
+                                    + ", broadcastId = "
+                                    + broadcastId);
+                    updateSwitch();
+                }
+
+                @Override
+                public void onBroadcastStartFailed(int reason) {
+                    Log.d(TAG, "onBroadcastStartFailed(), reason = " + reason);
+                    // TODO: handle broadcast start fail
+                    updateSwitch();
+                }
+
+                @Override
+                public void onBroadcastMetadataChanged(
+                        int broadcastId, @NonNull BluetoothLeBroadcastMetadata metadata) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastMetadataChanged(), broadcastId = "
+                                    + broadcastId
+                                    + ", metadata = "
+                                    + metadata.getBroadcastName());
+                    addSourceToTargetSinks(mTargetActiveSinks);
+                    if (mFragment == null) {
+                        Log.w(TAG, "Dialog fail to show due to null fragment.");
+                        return;
+                    }
+                    ThreadUtils.postOnMainThread(
+                            () -> {
+                                AudioSharingDialogFragment.show(
+                                        mFragment,
+                                        mDeviceItemsForSharing,
+                                        item -> {
+                                            addSourceToTargetSinks(
+                                                    mGroupedConnectedDevices
+                                                            .getOrDefault(
+                                                                    item.getGroupId(),
+                                                                    ImmutableList.of())
+                                                            .stream()
+                                                            .map(CachedBluetoothDevice::getDevice)
+                                                            .collect(Collectors.toList()));
+                                        });
+                            });
+                }
+
+                @Override
+                public void onBroadcastStopped(int reason, int broadcastId) {
+                    Log.d(
+                            TAG,
+                            "onBroadcastStopped(), reason = "
+                                    + reason
+                                    + ", broadcastId = "
+                                    + broadcastId);
+                    updateSwitch();
+                }
+
+                @Override
+                public void onBroadcastStopFailed(int reason) {
+                    Log.d(TAG, "onBroadcastStopFailed(), reason = " + reason);
+                    // TODO: handle broadcast stop fail
+                    updateSwitch();
+                }
+
+                @Override
+                public void onBroadcastUpdated(int reason, int broadcastId) {}
+
+                @Override
+                public void onBroadcastUpdateFailed(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStarted(int reason, int broadcastId) {}
+
+                @Override
+                public void onPlaybackStopped(int reason, int broadcastId) {}
+            };
+
+    private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+            new BluetoothLeBroadcastAssistant.Callback() {
+                @Override
+                public void onSearchStarted(int reason) {}
+
+                @Override
+                public void onSearchStartFailed(int reason) {}
+
+                @Override
+                public void onSearchStopped(int reason) {}
+
+                @Override
+                public void onSearchStopFailed(int reason) {}
+
+                @Override
+                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);
+                }
+
+                @Override
+                public void onSourceAddFailed(
+                        @NonNull BluetoothDevice sink,
+                        @NonNull BluetoothLeBroadcastMetadata source,
+                        int reason) {
+                    Log.d(
+                            TAG,
+                            "onSourceAddFailed(), sink = "
+                                    + sink
+                                    + ", source = "
+                                    + source
+                                    + ", reason = "
+                                    + reason);
+                    AudioSharingUtils.toastMessage(
+                            mContext,
+                            String.format(
+                                    Locale.US,
+                                    "Fail to add source to %s reason %d",
+                                    sink.getAddress(),
+                                    reason));
+                }
+
+                @Override
+                public void onSourceModified(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceModifyFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceRemoved(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceRemoveFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {}
+            };
+
+    AudioSharingSwitchBarController(
+            Context context, SettingsMainSwitchBar switchBar, OnSwitchBarChangedListener listener) {
+        super(context, PREF_KEY);
+        mSwitchBar = switchBar;
+        mListener = listener;
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
+        mBtManager = Utils.getLocalBtManager(context);
+        mBroadcast = mBtManager.getProfileManager().getLeAudioBroadcastProfile();
+        mAssistant = mBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        mSwitchBar.addOnSwitchChangeListener(this);
+        mContext.registerReceiver(mReceiver, mIntentFilter, Context.RECEIVER_EXPORTED_UNAUDITED);
+        if (mBroadcast != null) {
+            mBroadcast.registerServiceCallBack(mExecutor, mBroadcastCallback);
+        }
+        if (mAssistant != null) {
+            mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+        }
+        if (isAvailable()) {
+            mSwitchBar.setChecked(isBroadcasting());
+            mSwitchBar.setEnabled(mBluetoothAdapter != null && mBluetoothAdapter.isEnabled());
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        mSwitchBar.removeOnSwitchChangeListener(this);
+        mContext.unregisterReceiver(mReceiver);
+        if (mBroadcast != null) {
+            mBroadcast.unregisterServiceCallBack(mBroadcastCallback);
+        }
+        if (mAssistant != null) {
+            mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+        }
+    }
+
+    @Override
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+        // Filter out unnecessary callbacks when switch is disabled.
+        if (!buttonView.isEnabled()) return;
+        if (isChecked) {
+            startAudioSharing();
+        } else {
+            stopAudioSharing();
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    /**
+     * Initialize the controller.
+     *
+     * @param fragment The fragment to host the {@link AudioSharingSwitchBarController} dialog.
+     */
+    public void init(DashboardFragment fragment) {
+        this.mFragment = fragment;
+    }
+
+    private void startAudioSharing() {
+        mSwitchBar.setEnabled(false);
+        if (mBroadcast == null || isBroadcasting()) {
+            Log.d(TAG, "Already in broadcasting or broadcast not support, ignore!");
+            mSwitchBar.setEnabled(true);
+            return;
+        }
+        mGroupedConnectedDevices = AudioSharingUtils.fetchConnectedDevicesByGroupId(mBtManager);
+        ArrayList<AudioSharingDeviceItem> deviceItems =
+                AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
+                        mBtManager, mGroupedConnectedDevices, /* filterByInSharing= */ false);
+        // deviceItems is ordered. The active device is the first place if exits.
+        mDeviceItemsForSharing = new ArrayList<>(deviceItems);
+        if (!deviceItems.isEmpty() && deviceItems.get(0).isActive()) {
+            for (CachedBluetoothDevice device :
+                    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());
+            }
+            mDeviceItemsForSharing.remove(0);
+        }
+        mBroadcast.startPrivateBroadcast();
+    }
+
+    private void stopAudioSharing() {
+        mSwitchBar.setEnabled(false);
+        if (mBroadcast == null || !isBroadcasting()) {
+            Log.d(TAG, "Already not broadcasting or broadcast not support, ignore!");
+            mSwitchBar.setEnabled(true);
+            return;
+        }
+        mBroadcast.stopBroadcast(mBroadcast.getLatestBroadcastId());
+    }
+
+    private void updateSwitch() {
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            boolean isBroadcasting = isBroadcasting();
+                            ThreadUtils.postOnMainThread(
+                                    () -> {
+                                        if (mSwitchBar.isChecked() != isBroadcasting) {
+                                            mSwitchBar.setChecked(isBroadcasting);
+                                        }
+                                        mSwitchBar.setEnabled(true);
+                                        mListener.onSwitchBarChanged();
+                                    });
+                        });
+    }
+
+    private boolean isBroadcasting() {
+        return mBroadcast != null && mBroadcast.isEnabled(null);
+    }
+
+    private void addSourceToTargetSinks(List<BluetoothDevice> sinks) {
+        if (sinks.isEmpty() || mBroadcast == null || mAssistant == null) {
+            Log.d(TAG, "Skip adding source to target.");
+            return;
+        }
+        BluetoothLeBroadcastMetadata broadcastMetadata =
+                mBroadcast.getLatestBluetoothLeBroadcastMetadata();
+        if (broadcastMetadata == null) {
+            Log.e(TAG, "Error: There is no broadcastMetadata.");
+            return;
+        }
+        for (BluetoothDevice sink : sinks) {
+            Log.d(
+                    TAG,
+                    "Add broadcast with broadcastId: "
+                            + broadcastMetadata.getBroadcastId()
+                            + "to the device: "
+                            + sink.getAnonymizedAddress());
+            mAssistant.addSource(sink, broadcastMetadata, /* isGroupOp= */ false);
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
new file mode 100644
index 0000000..f489e9c
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/AudioSharingUtils.java
@@ -0,0 +1,408 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCsipSetCoordinator;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LeAudioProfile;
+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 java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Optional;
+import java.util.stream.Collectors;
+
+import javax.annotation.Nullable;
+
+public class AudioSharingUtils {
+    private static final String TAG = "AudioSharingUtils";
+    private static final boolean DEBUG = BluetoothUtils.D;
+
+    /**
+     * Fetch {@link CachedBluetoothDevice}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(
+            LocalBluetoothManager localBtManager) {
+        Map<Integer, List<CachedBluetoothDevice>> groupedDevices = new HashMap<>();
+        if (localBtManager == null) {
+            Log.d(TAG, "Skip fetchConnectedDevicesByGroupId due to bt manager is null");
+            return groupedDevices;
+        }
+        LocalBluetoothLeBroadcastAssistant assistant =
+                localBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+        if (assistant == null) {
+            Log.d(TAG, "Skip fetchConnectedDevicesByGroupId due to assistant profile is null");
+            return groupedDevices;
+        }
+        List<BluetoothDevice> connectedDevices = assistant.getConnectedDevices();
+        CachedBluetoothDeviceManager cacheManager = localBtManager.getCachedDeviceManager();
+        for (BluetoothDevice device : connectedDevices) {
+            CachedBluetoothDevice cachedDevice = cacheManager.findDevice(device);
+            if (cachedDevice == null) {
+                Log.d(TAG, "Skip device due to not being cached: " + device.getAnonymizedAddress());
+                continue;
+            }
+            int groupId = getGroupId(cachedDevice);
+            if (groupId == BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
+                Log.d(
+                        TAG,
+                        "Skip device due to no valid group id: " + device.getAnonymizedAddress());
+                continue;
+            }
+            if (!groupedDevices.containsKey(groupId)) {
+                groupedDevices.put(groupId, new ArrayList<>());
+            }
+            groupedDevices.get(groupId).add(cachedDevice);
+        }
+        if (DEBUG) {
+            Log.d(TAG, "fetchConnectedDevicesByGroupId: " + groupedDevices);
+        }
+        return groupedDevices;
+    }
+
+    /**
+     * Fetch a list of ordered connected lead {@link CachedBluetoothDevice}s eligible for audio
+     * 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 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
+     *     session.
+     * @return A list of ordered connected devices eligible for the audio sharing. The active device
+     *     is placed in the first place if it exists.
+     */
+    public static List<CachedBluetoothDevice> buildOrderedConnectedLeadDevices(
+            LocalBluetoothManager localBtManager,
+            Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices,
+            boolean filterByInSharing) {
+        List<CachedBluetoothDevice> orderedDevices = new ArrayList<>();
+        for (List<CachedBluetoothDevice> devices : groupedConnectedDevices.values()) {
+            @Nullable CachedBluetoothDevice leadDevice = getLeadDevice(devices);
+            if (leadDevice == null) {
+                Log.d(TAG, "Skip due to no lead device");
+                continue;
+            }
+            if (filterByInSharing && !hasBroadcastSource(leadDevice, localBtManager)) {
+                Log.d(
+                        TAG,
+                        "Filtered the device due to not in sharing session: "
+                                + leadDevice.getDevice().getAnonymizedAddress());
+                continue;
+            }
+            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());
+                });
+        return orderedDevices;
+    }
+
+    /**
+     * Get the lead device from a list of devices with same group id.
+     *
+     * @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;
+            }
+        }
+        CachedBluetoothDevice leadDevice = devices.get(0);
+        Log.d(
+                TAG,
+                "No lead device in the group, pick arbitrary device as the lead: "
+                        + leadDevice.getDevice().getAnonymizedAddress());
+        return leadDevice;
+    }
+
+    /**
+     * Fetch a list of ordered connected lead {@link AudioSharingDeviceItem}s eligible for audio
+     * 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 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
+     *     session.
+     * @return A list of ordered connected devices eligible for the audio sharing. The active device
+     *     is placed in the first place if it exists.
+     */
+    public static ArrayList<AudioSharingDeviceItem> buildOrderedConnectedLeadAudioSharingDeviceItem(
+            LocalBluetoothManager localBtManager,
+            Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices,
+            boolean filterByInSharing) {
+        return buildOrderedConnectedLeadDevices(
+                        localBtManager, groupedConnectedDevices, filterByInSharing)
+                .stream()
+                .map(device -> buildAudioSharingDeviceItem(device))
+                .collect(Collectors.toCollection(ArrayList::new));
+    }
+
+    /** Build {@link AudioSharingDeviceItem} from {@link CachedBluetoothDevice}. */
+    public static AudioSharingDeviceItem buildAudioSharingDeviceItem(
+            CachedBluetoothDevice cachedDevice) {
+        return new AudioSharingDeviceItem(
+                cachedDevice.getName(),
+                getGroupId(cachedDevice),
+                isActiveLeAudioDevice(cachedDevice));
+    }
+
+    /**
+     * Check if {@link CachedBluetoothDevice} is in an audio sharing session.
+     *
+     * @param cachedDevice The cached bluetooth device to check.
+     * @param localBtManager The BT manager to provide BT functions.
+     * @return Whether the device is in an audio sharing session.
+     */
+    public static boolean hasBroadcastSource(
+            CachedBluetoothDevice cachedDevice, LocalBluetoothManager localBtManager) {
+        if (localBtManager == null) {
+            Log.d(TAG, "Skip check hasBroadcastSource due to bt manager is null");
+            return false;
+        }
+        LocalBluetoothLeBroadcastAssistant assistant =
+                localBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+        if (assistant == null) {
+            Log.d(TAG, "Skip check hasBroadcastSource due to assistant profile is null");
+            return false;
+        }
+        List<BluetoothLeBroadcastReceiveState> sourceList =
+                assistant.getAllSources(cachedDevice.getDevice());
+        if (!sourceList.isEmpty()) {
+            Log.d(
+                    TAG,
+                    "Lead device has broadcast source, device = "
+                            + cachedDevice.getDevice().getAnonymizedAddress());
+            return true;
+        }
+        // Return true if member device is in broadcast.
+        for (CachedBluetoothDevice device : cachedDevice.getMemberDevice()) {
+            List<BluetoothLeBroadcastReceiveState> list =
+                    assistant.getAllSources(device.getDevice());
+            if (!list.isEmpty()) {
+                Log.d(
+                        TAG,
+                        "Member device has broadcast source, device = "
+                                + device.getDevice().getAnonymizedAddress());
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /**
+     * Check if {@link CachedBluetoothDevice} is an active le audio device.
+     *
+     * @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);
+    }
+
+    /**
+     * Retrieves the one and only active Bluetooth LE Audio sink device, regardless if the device is
+     * currently in an audio sharing session.
+     *
+     * @param manager The LocalBluetoothManager instance used to fetch connected devices.
+     * @return An Optional containing the active LE Audio device, or an empty Optional if not found.
+     */
+    public static Optional<CachedBluetoothDevice> getActiveSinkOnAssistant(
+            @Nullable LocalBluetoothManager manager) {
+        if (manager == null) {
+            Log.w(TAG, "getActiveSinksOnAssistant(): LocalBluetoothManager is null!");
+            return Optional.empty();
+        }
+        var groupedDevices = fetchConnectedDevicesByGroupId(manager);
+        var leadDevices = buildOrderedConnectedLeadDevices(manager, groupedDevices, false);
+
+        if (!leadDevices.isEmpty() && isActiveLeAudioDevice(leadDevices.get(0))) {
+            return Optional.of(leadDevices.get(0));
+        } else {
+            Log.w(TAG, "getActiveSinksOnAssistant(): No active lead device!");
+        }
+        return Optional.empty();
+    }
+
+    /** Toast message on main thread. */
+    public static void toastMessage(Context context, String message) {
+        context.getMainExecutor()
+                .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;
+    }
+
+    /** Automatically update active device if needed. */
+    public static void updateActiveDeviceIfNeeded(LocalBluetoothManager localBtManager) {
+        if (localBtManager == null) {
+            Log.d(TAG, "Skip updateActiveDeviceIfNeeded due to bt manager is null");
+            return;
+        }
+        Map<Integer, List<CachedBluetoothDevice>> groupedConnectedDevices =
+                fetchConnectedDevicesByGroupId(localBtManager);
+        List<CachedBluetoothDevice> devicesInSharing =
+                buildOrderedConnectedLeadDevices(
+                        localBtManager, groupedConnectedDevices, /* filterByInSharing= */ true);
+        if (devicesInSharing.isEmpty()) return;
+        List<BluetoothDevice> devices =
+                BluetoothAdapter.getDefaultAdapter().getMostRecentlyConnectedDevices();
+        CachedBluetoothDevice targetDevice = null;
+        // Find the earliest connected device in sharing session.
+        int targetDeviceIdx = -1;
+        for (CachedBluetoothDevice device : devicesInSharing) {
+            if (devices.contains(device.getDevice())) {
+                int idx = devices.indexOf(device.getDevice());
+                if (idx > targetDeviceIdx) {
+                    targetDeviceIdx = idx;
+                    targetDevice = device;
+                }
+            }
+        }
+        if (targetDevice != null && !isActiveLeAudioDevice(targetDevice)) {
+            Log.d(
+                    TAG,
+                    "updateActiveDeviceIfNeeded, set active device: "
+                            + targetDevice.getDevice().getAnonymizedAddress());
+            targetDevice.setActive();
+        } else {
+            Log.d(
+                    TAG,
+                    "updateActiveDeviceIfNeeded, skip set active device: "
+                            + (targetDevice == null
+                                    ? "null"
+                                    : (targetDevice.getDevice().getAnonymizedAddress()
+                                            + " is already active")));
+        }
+    }
+
+    /** 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(LocalBluetoothManager manager) {
+        if (manager == null) {
+            Log.d(TAG, "Skip stop broadcasting due to bt manager is null");
+            return;
+        }
+        LocalBluetoothLeBroadcast broadcast =
+                manager.getProfileManager().getLeAudioBroadcastProfile();
+        if (broadcast == null) {
+            Log.d(TAG, "Skip stop broadcasting due to broadcast profile is null");
+        }
+        broadcast.stopBroadcast(broadcast.getLatestBroadcastId());
+    }
+
+    /**
+     * 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(),
+                "bluetooth_le_broadcast_fallback_active_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);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java
new file mode 100644
index 0000000..9d346d3
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragment.java
@@ -0,0 +1,103 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+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 java.util.ArrayList;
+
+/** Provides a dialog to choose the active device for calls and alarms. */
+public class CallsAndAlarmsDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "CallsAndAlarmsDialog";
+    private static final String BUNDLE_KEY_DEVICE_ITEMS = "bundle_key_device_items";
+
+    // The host creates an instance of this dialog fragment must implement this interface to receive
+    // event callbacks.
+    public interface DialogEventListener {
+        /**
+         * Called when users click the device item to set active for calls and alarms in the dialog.
+         *
+         * @param item The device item clicked.
+         */
+        void onItemClick(AudioSharingDeviceItem item);
+    }
+
+    private static DialogEventListener sListener;
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_AUDIO_SHARING_SWITCH_ACTIVE;
+    }
+
+    /**
+     * Display the {@link CallsAndAlarmsDialogFragment} dialog.
+     *
+     * @param host The Fragment this dialog will be hosted.
+     * @param deviceItems The connected device items in audio sharing session.
+     * @param listener The callback to handle the user action on this dialog.
+     */
+    public static void show(
+            Fragment host,
+            ArrayList<AudioSharingDeviceItem> deviceItems,
+            DialogEventListener listener) {
+        if (!AudioSharingUtils.isFeatureEnabled()) return;
+        final FragmentManager manager = host.getChildFragmentManager();
+        sListener = listener;
+        if (manager.findFragmentByTag(TAG) == null) {
+            final Bundle bundle = new Bundle();
+            bundle.putParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS, deviceItems);
+            final CallsAndAlarmsDialogFragment dialog = new CallsAndAlarmsDialogFragment();
+            dialog.setArguments(bundle);
+            dialog.show(manager, TAG);
+        }
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        Bundle arguments = requireArguments();
+        ArrayList<AudioSharingDeviceItem> deviceItems =
+                arguments.getParcelableArrayList(BUNDLE_KEY_DEVICE_ITEMS);
+        int checkedItem = -1;
+        for (AudioSharingDeviceItem item : deviceItems) {
+            int fallbackActiveGroupId = AudioSharingUtils.getFallbackActiveGroupId(getContext());
+            if (item.getGroupId() == fallbackActiveGroupId) {
+                checkedItem = deviceItems.indexOf(item);
+            }
+        }
+        String[] choices =
+                deviceItems.stream().map(AudioSharingDeviceItem::getName).toArray(String[]::new);
+        AlertDialog.Builder builder =
+                new AlertDialog.Builder(getActivity())
+                        .setTitle(R.string.calls_and_alarms_device_title)
+                        .setSingleChoiceItems(
+                                choices,
+                                checkedItem,
+                                (dialog, which) -> {
+                                    sListener.onItemClick(deviceItems.get(which));
+                                });
+        return builder.create();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java
new file mode 100644
index 0000000..2a538d5
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceController.java
@@ -0,0 +1,261 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothCsipSetCoordinator;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+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 androidx.preference.PreferenceScreen;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+/** PreferenceController to control the dialog to choose the active device for calls and alarms */
+public class CallsAndAlarmsPreferenceController extends AudioSharingBasePreferenceController
+        implements BluetoothCallback {
+
+    private static final String TAG = "CallsAndAlarmsPreferenceController";
+    private static final String PREF_KEY = "calls_and_alarms";
+
+    private final LocalBluetoothManager mLocalBtManager;
+    private final Executor mExecutor;
+    @Nullable private LocalBluetoothLeBroadcastAssistant mAssistant = null;
+    private DashboardFragment mFragment;
+    Map<Integer, List<CachedBluetoothDevice>> mGroupedConnectedDevices = new HashMap<>();
+    private ArrayList<AudioSharingDeviceItem> mDeviceItemsInSharingSession = new ArrayList<>();
+
+    private BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+            new BluetoothLeBroadcastAssistant.Callback() {
+                @Override
+                public void onSearchStarted(int reason) {}
+
+                @Override
+                public void onSearchStartFailed(int reason) {}
+
+                @Override
+                public void onSearchStopped(int reason) {}
+
+                @Override
+                public void onSearchStopFailed(int reason) {}
+
+                @Override
+                public void onSourceFound(@NonNull BluetoothLeBroadcastMetadata source) {}
+
+                @Override
+                public void onSourceAdded(@NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    Log.d(TAG, "onSourceAdded");
+                    updatePreference();
+                }
+
+                @Override
+                public void onSourceAddFailed(
+                        @NonNull BluetoothDevice sink,
+                        @NonNull BluetoothLeBroadcastMetadata source,
+                        int reason) {}
+
+                @Override
+                public void onSourceModified(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceModifyFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onSourceRemoved(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {
+                    Log.d(TAG, "onSourceRemoved");
+                    updatePreference();
+                }
+
+                @Override
+                public void onSourceRemoveFailed(
+                        @NonNull BluetoothDevice sink, int sourceId, int reason) {}
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {}
+            };
+
+    public CallsAndAlarmsPreferenceController(Context context) {
+        super(context, PREF_KEY);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        if (mLocalBtManager != null) {
+            mAssistant = mLocalBtManager.getProfileManager().getLeAudioBroadcastAssistantProfile();
+        }
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return PREF_KEY;
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference.setOnPreferenceClickListener(
+                preference -> {
+                    if (mFragment == null) {
+                        Log.w(TAG, "Dialog fail to show due to null host.");
+                        return true;
+                    }
+                    updateDeviceItemsInSharingSession();
+                    if (mDeviceItemsInSharingSession.size() >= 1) {
+                        CallsAndAlarmsDialogFragment.show(
+                                mFragment,
+                                mDeviceItemsInSharingSession,
+                                (AudioSharingDeviceItem item) -> {
+                                    if (!mGroupedConnectedDevices.containsKey(item.getGroupId())) {
+                                        return;
+                                    }
+                                    List<CachedBluetoothDevice> devices =
+                                            mGroupedConnectedDevices.get(item.getGroupId());
+                                    @Nullable
+                                    CachedBluetoothDevice lead =
+                                            AudioSharingUtils.getLeadDevice(devices);
+                                    if (lead != null) {
+                                        Log.d(
+                                                TAG,
+                                                "Set fallback active device: "
+                                                        + lead.getDevice().getAnonymizedAddress());
+                                        lead.setActive();
+                                        updatePreference();
+                                    } else {
+                                        Log.w(
+                                                TAG,
+                                                "Fail to set fallback active device: no lead"
+                                                        + " device");
+                                    }
+                                });
+                    }
+                    return true;
+                });
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        super.onStart(owner);
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().registerCallback(this);
+        }
+        if (mAssistant != null) {
+            mAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        super.onStop(owner);
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().unregisterCallback(this);
+        }
+        if (mAssistant != null) {
+            mAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+        }
+    }
+
+    @Override
+    public void updateVisibility() {
+        if (mPreference == null) return;
+        var unused = ThreadUtils.postOnBackgroundThread(() -> updatePreference());
+    }
+
+    private void updatePreference() {
+        boolean isVisible = isBroadcasting() && isBluetoothStateOn();
+        if (!isVisible) {
+            AudioSharingUtils.postOnMainThread(mContext, () -> mPreference.setVisible(false));
+            return;
+        }
+        updateDeviceItemsInSharingSession();
+        int fallbackActiveGroupId = AudioSharingUtils.getFallbackActiveGroupId(mContext);
+        Log.d(TAG, "updatePreference: get fallback active group " + fallbackActiveGroupId);
+        if (fallbackActiveGroupId != BluetoothCsipSetCoordinator.GROUP_ID_INVALID) {
+            for (AudioSharingDeviceItem item : mDeviceItemsInSharingSession) {
+                if (item.getGroupId() == fallbackActiveGroupId) {
+                    AudioSharingUtils.postOnMainThread(
+                            mContext,
+                            () -> {
+                                mPreference.setSummary(item.getName());
+                                mPreference.setVisible(true);
+                            });
+                    return;
+                }
+            }
+        }
+        AudioSharingUtils.postOnMainThread(
+                mContext,
+                () -> {
+                    mPreference.setSummary("No active device in sharing");
+                    mPreference.setVisible(true);
+                });
+    }
+
+    @Override
+    public void onProfileConnectionStateChanged(
+            @NonNull CachedBluetoothDevice cachedDevice,
+            @ConnectionState int state,
+            int bluetoothProfile) {
+        if (state == BluetoothAdapter.STATE_DISCONNECTED
+                && bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+            // The fallback active device could be updated if the previous fallback device is
+            // disconnected.
+            updatePreference();
+        }
+    }
+
+    /**
+     * Initialize the controller.
+     *
+     * @param fragment The fragment to host the {@link CallsAndAlarmsDialogFragment} dialog.
+     */
+    public void init(DashboardFragment fragment) {
+        this.mFragment = fragment;
+    }
+
+    private void updateDeviceItemsInSharingSession() {
+        mGroupedConnectedDevices =
+                AudioSharingUtils.fetchConnectedDevicesByGroupId(mLocalBtManager);
+        mDeviceItemsInSharingSession =
+                AudioSharingUtils.buildOrderedConnectedLeadAudioSharingDeviceItem(
+                        mLocalBtManager, mGroupedConnectedDevices, /* filterByInSharing= */ true);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.java
new file mode 100644
index 0000000..f62183d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/StreamSettingsCategoryController.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.connecteddevice.audiosharing;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.util.Log;
+
+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.settings.core.BasePreferenceController;
+
+public class StreamSettingsCategoryController extends BasePreferenceController
+        implements DefaultLifecycleObserver {
+    private static final String TAG = "StreamSettingsCategoryController";
+    private final BluetoothAdapter mBluetoothAdapter;
+    private final IntentFilter mIntentFilter;
+    private @Nullable Preference mPreference;
+    private BroadcastReceiver mReceiver =
+            new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    if (!BluetoothAdapter.ACTION_STATE_CHANGED.equals(intent.getAction())) return;
+                    int adapterState =
+                            intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothDevice.ERROR);
+                    mContext.getMainExecutor()
+                            .execute(
+                                    () -> {
+                                        if (mPreference == null) {
+                                            Log.w(
+                                                    TAG,
+                                                    "Skip BT state change due to mPreference "
+                                                            + "is null");
+                                        } else {
+                                            mPreference.setVisible(
+                                                    adapterState == BluetoothAdapter.STATE_ON);
+                                        }
+                                    });
+                }
+            };
+
+    public StreamSettingsCategoryController(Context context, String key) {
+        super(context, key);
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        mContext.registerReceiver(mReceiver, mIntentFilter, Context.RECEIVER_EXPORTED_UNAUDITED);
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        mContext.unregisterReceiver(mReceiver);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        if (mPreference != null) {
+            mPreference.setVisible(isBluetoothStateOn());
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AudioSharingUtils.isFeatureEnabled() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    private boolean isBluetoothStateOn() {
+        return mBluetoothAdapter != null && mBluetoothAdapter.isEnabled();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
new file mode 100644
index 0000000..47597cf
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamButtonController.java
@@ -0,0 +1,197 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.Context;
+import android.util.Log;
+import android.view.View;
+
+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;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.ActionButtonsPreference;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioStreamButtonController extends BasePreferenceController
+        implements DefaultLifecycleObserver {
+    private static final String TAG = "AudioStreamButtonController";
+    private static final String KEY = "audio_stream_button";
+    private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+            new AudioStreamsBroadcastAssistantCallback() {
+                @Override
+                public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
+                    super.onSourceRemoved(sink, sourceId, reason);
+                    updateButton();
+                }
+
+                @Override
+                public void onSourceRemoveFailed(BluetoothDevice sink, int sourceId, int reason) {
+                    super.onSourceRemoveFailed(sink, sourceId, reason);
+                    updateButton();
+                }
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {
+                    super.onReceiveStateChanged(sink, sourceId, state);
+                    if (mAudioStreamsHelper.isConnected(state)) {
+                        updateButton();
+                    }
+                }
+
+                @Override
+                public void onSourceAddFailed(
+                        BluetoothDevice sink, BluetoothLeBroadcastMetadata source, int reason) {
+                    super.onSourceAddFailed(sink, source, reason);
+                    updateButton();
+                }
+
+                @Override
+                public void onSourceLost(int broadcastId) {
+                    super.onSourceLost(broadcastId);
+                    updateButton();
+                }
+            };
+
+    private final AudioStreamsRepository mAudioStreamsRepository =
+            AudioStreamsRepository.getInstance();
+    private final Executor mExecutor;
+    private final AudioStreamsHelper mAudioStreamsHelper;
+    private final @Nullable LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
+    private @Nullable ActionButtonsPreference mPreference;
+    private int mBroadcastId = -1;
+
+    public AudioStreamButtonController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mExecutor = Executors.newSingleThreadExecutor();
+        mAudioStreamsHelper = new AudioStreamsHelper(Utils.getLocalBtManager(context));
+        mLeBroadcastAssistant = mAudioStreamsHelper.getLeBroadcastAssistant();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "onStart(): LeBroadcastAssistant is null!");
+            return;
+        }
+        mLeBroadcastAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "onStop(): LeBroadcastAssistant is null!");
+            return;
+        }
+        mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+    }
+
+    @Override
+    public final void displayPreference(PreferenceScreen screen) {
+        mPreference = screen.findPreference(getPreferenceKey());
+        updateButton();
+        super.displayPreference(screen);
+    }
+
+    private void updateButton() {
+        if (mPreference != null) {
+            if (mAudioStreamsHelper.getAllConnectedSources().stream()
+                    .map(BluetoothLeBroadcastReceiveState::getBroadcastId)
+                    .anyMatch(connectedBroadcastId -> connectedBroadcastId == mBroadcastId)) {
+                ThreadUtils.postOnMainThread(
+                        () -> {
+                            if (mPreference != null) {
+                                mPreference.setButton1Enabled(true);
+                                mPreference
+                                        .setButton1Text(
+                                                R.string.bluetooth_device_context_disconnect)
+                                        .setButton1Icon(R.drawable.ic_settings_close)
+                                        .setButton1OnClickListener(
+                                                unused -> {
+                                                    if (mPreference != null) {
+                                                        mPreference.setButton1Enabled(false);
+                                                    }
+                                                    mAudioStreamsHelper.removeSource(mBroadcastId);
+                                                });
+                            }
+                        });
+            } else {
+                View.OnClickListener clickToRejoin =
+                        unused ->
+                                ThreadUtils.postOnBackgroundThread(
+                                        () -> {
+                                            var metadata =
+                                                    mAudioStreamsRepository.getSavedMetadata(
+                                                            mContext, mBroadcastId);
+                                            if (metadata != null) {
+                                                mAudioStreamsHelper.addSource(metadata);
+                                                ThreadUtils.postOnMainThread(
+                                                        () -> {
+                                                            if (mPreference != null) {
+                                                                mPreference.setButton1Enabled(
+                                                                        false);
+                                                            }
+                                                        });
+                                            }
+                                        });
+                ThreadUtils.postOnMainThread(
+                        () -> {
+                            if (mPreference != null) {
+                                mPreference.setButton1Enabled(true);
+                                mPreference
+                                        .setButton1Text(R.string.bluetooth_device_context_connect)
+                                        .setButton1Icon(R.drawable.ic_add_24dp)
+                                        .setButton1OnClickListener(clickToRejoin);
+                            }
+                        });
+            }
+        } else {
+            Log.w(TAG, "updateButton(): preference is null!");
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    /** Initialize with broadcast id */
+    void init(int broadcastId) {
+        mBroadcastId = broadcastId;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.java
new file mode 100644
index 0000000..131c8f6
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamConfirmDialog.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.connecteddevice.audiosharing.audiostreams;
+
+import android.app.Activity;
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode.QrCodeScanModeFragment;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+
+import com.google.common.base.Strings;
+
+public class AudioStreamConfirmDialog extends InstrumentedDialogFragment {
+    public static final String KEY_BROADCAST_METADATA = "key_broadcast_metadata";
+    private static final String TAG = "AudioStreamConfirmDialog";
+    private Activity mActivity;
+    private String mBroadcastMetadataStr;
+    private BluetoothLeBroadcastMetadata mBroadcastMetadata;
+    private boolean mIsRequestValid = false;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        setShowsDialog(true);
+        mActivity = getActivity();
+        if (mActivity == null) {
+            Log.w(TAG, "onCreate() mActivity is null!");
+            return;
+        }
+        mBroadcastMetadataStr =
+                mActivity.getIntent().getStringExtra(QrCodeScanModeFragment.KEY_BROADCAST_METADATA);
+        if (Strings.isNullOrEmpty(mBroadcastMetadataStr)) {
+            Log.w(TAG, "onCreate() mBroadcastMetadataStr is null or empty!");
+            return;
+        }
+        mBroadcastMetadata =
+                BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(
+                        mBroadcastMetadataStr);
+        if (mBroadcastMetadata == null) {
+            Log.w(TAG, "onCreate() mBroadcastMetadata is null!");
+        } else {
+            // Warm up LE_AUDIO_BROADCAST_ASSISTANT service
+            Utils.getLocalBluetoothManager(mActivity);
+            mIsRequestValid = true;
+        }
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return mIsRequestValid ? getConfirmDialog() : getErrorDialog();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO(chelseahao): update metrics id
+        return 0;
+    }
+
+    private Dialog getConfirmDialog() {
+        return new AudioStreamsDialogFragment.DialogBuilder(mActivity)
+                .setTitle("Listen to audio stream")
+                .setSubTitle1(mBroadcastMetadata.getBroadcastName())
+                .setSubTitle2(
+                        "The audio stream will play on the active LE audio device. Use this device"
+                                + " to control the volume.")
+                .setLeftButtonText("Cancel")
+                .setLeftButtonOnClickListener(
+                        unused -> {
+                            dismiss();
+                            mActivity.finish();
+                        })
+                .setRightButtonText("Listen")
+                .setRightButtonOnClickListener(
+                        unused -> {
+                            launchAudioStreamsActivity();
+                            dismiss();
+                            mActivity.finish();
+                        })
+                .build();
+    }
+
+    private Dialog getErrorDialog() {
+        return new AudioStreamsDialogFragment.DialogBuilder(mActivity)
+                .setTitle("Can't listen to audio stream")
+                .setSubTitle2("Can't play this audio stream. Learn more")
+                .setRightButtonText("Close")
+                .setRightButtonOnClickListener(
+                        unused -> {
+                            dismiss();
+                            mActivity.finish();
+                        })
+                .build();
+    }
+
+    private void launchAudioStreamsActivity() {
+        Bundle bundle = new Bundle();
+        bundle.putString(KEY_BROADCAST_METADATA, mBroadcastMetadataStr);
+
+        new SubSettingLauncher(mActivity)
+                .setTitleRes(R.string.bluetooth_find_broadcast_title)
+                .setDestination(AudioStreamsDashboardFragment.class.getName())
+                .setArguments(bundle)
+                .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN)
+                .launch();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragment.java
new file mode 100644
index 0000000..e1dc228
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamDetailsFragment.java
@@ -0,0 +1,59 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.content.Context;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+
+public class AudioStreamDetailsFragment extends DashboardFragment {
+    static final String BROADCAST_NAME_ARG = "broadcast_name";
+    static final String BROADCAST_ID_ARG = "broadcast_id";
+    private static final String TAG = "AudioStreamDetailsFragment";
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        Bundle arguments = getArguments();
+        if (arguments != null) {
+            use(AudioStreamHeaderController.class)
+                    .init(
+                            this,
+                            arguments.getString(BROADCAST_NAME_ARG),
+                            arguments.getInt(BROADCAST_ID_ARG));
+            use(AudioStreamButtonController.class).init(arguments.getInt(BROADCAST_ID_ARG));
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO(chelseahao): update metrics id
+        return 0;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.audio_stream_details_fragment;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
new file mode 100644
index 0000000..3524543
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamHeaderController.java
@@ -0,0 +1,171 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.LayoutPreference;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+import javax.annotation.Nullable;
+
+public class AudioStreamHeaderController extends BasePreferenceController
+        implements DefaultLifecycleObserver {
+    private static final String TAG = "AudioStreamHeaderController";
+    private static final String KEY = "audio_stream_header";
+    private final Executor mExecutor;
+    private final AudioStreamsHelper mAudioStreamsHelper;
+    @Nullable private final LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
+    private final BluetoothLeBroadcastAssistant.Callback mBroadcastAssistantCallback =
+            new AudioStreamsBroadcastAssistantCallback() {
+                @Override
+                public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
+                    super.onSourceRemoved(sink, sourceId, reason);
+                    updateSummary();
+                }
+
+                @Override
+                public void onSourceLost(int broadcastId) {
+                    super.onSourceLost(broadcastId);
+                    updateSummary();
+                }
+
+                @Override
+                public void onReceiveStateChanged(
+                        BluetoothDevice sink,
+                        int sourceId,
+                        BluetoothLeBroadcastReceiveState state) {
+                    super.onReceiveStateChanged(sink, sourceId, state);
+                    if (mAudioStreamsHelper.isConnected(state)) {
+                        updateSummary();
+                    }
+                }
+            };
+
+    private @Nullable EntityHeaderController mHeaderController;
+    private @Nullable DashboardFragment mFragment;
+    private String mBroadcastName = "";
+    private int mBroadcastId = -1;
+
+    public AudioStreamHeaderController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mExecutor = Executors.newSingleThreadExecutor();
+        mAudioStreamsHelper = new AudioStreamsHelper(Utils.getLocalBtManager(context));
+        mLeBroadcastAssistant = mAudioStreamsHelper.getLeBroadcastAssistant();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "onStart(): LeBroadcastAssistant is null!");
+            return;
+        }
+        mLeBroadcastAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "onStop(): LeBroadcastAssistant is null!");
+            return;
+        }
+        mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+    }
+
+    @Override
+    public final void displayPreference(PreferenceScreen screen) {
+        LayoutPreference headerPreference = screen.findPreference(KEY);
+        if (headerPreference != null && mFragment != null) {
+            mHeaderController =
+                    EntityHeaderController.newInstance(
+                            mFragment.getActivity(),
+                            mFragment,
+                            headerPreference.findViewById(R.id.entity_header));
+            if (mBroadcastName != null) {
+                mHeaderController.setLabel(mBroadcastName);
+            }
+            mHeaderController.setIcon(
+                    screen.getContext().getDrawable(R.drawable.ic_bt_audio_sharing));
+            screen.addPreference(headerPreference);
+            updateSummary();
+        }
+        super.displayPreference(screen);
+    }
+
+    private void updateSummary() {
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            var latestSummary =
+                                    mAudioStreamsHelper.getAllConnectedSources().stream()
+                                                    .map(
+                                                            BluetoothLeBroadcastReceiveState
+                                                                    ::getBroadcastId)
+                                                    .anyMatch(
+                                                            connectedBroadcastId ->
+                                                                    connectedBroadcastId
+                                                                            == mBroadcastId)
+                                            ? "Listening now"
+                                            : "";
+                            ThreadUtils.postOnMainThread(
+                                    () -> {
+                                        if (mHeaderController != null) {
+                                            mHeaderController.setSummary(latestSummary);
+                                            mHeaderController.done(true);
+                                        }
+                                    });
+                        });
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    /** Initialize with {@link AudioStreamDetailsFragment} and broadcast name and id */
+    void init(
+            AudioStreamDetailsFragment audioStreamDetailsFragment,
+            String broadcastName,
+            int broadcastId) {
+        mFragment = audioStreamDetailsFragment;
+        mBroadcastName = broadcastName;
+        mBroadcastId = broadcastId;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
new file mode 100644
index 0000000..c2e1178
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamPreference.java
@@ -0,0 +1,195 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothLeAudioContentMetadata;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.content.Context;
+import android.util.AttributeSet;
+import android.view.View;
+
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settingslib.widget.TwoTargetPreference;
+
+import com.google.common.base.Strings;
+
+/**
+ * Custom preference class for managing audio stream preferences with an optional lock icon. Extends
+ * {@link TwoTargetPreference}.
+ */
+class AudioStreamPreference extends TwoTargetPreference {
+    private boolean mIsConnected = false;
+    private AudioStream mAudioStream;
+
+    /**
+     * 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;
+        }
+        mIsConnected = isConnected;
+        setSummary(summary);
+        setOnPreferenceClickListener(onPreferenceClickListener);
+        notifyChanged();
+    }
+
+    AudioStreamPreference(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
+        setIcon(R.drawable.ic_bt_audio_sharing);
+    }
+
+    void setAudioStreamState(AudioStreamsProgressCategoryController.AudioStreamState state) {
+        mAudioStream.setState(state);
+    }
+
+    void setAudioStreamMetadata(BluetoothLeBroadcastMetadata metadata) {
+        mAudioStream.setMetadata(metadata);
+    }
+
+    int getAudioStreamBroadcastId() {
+        return mAudioStream.getBroadcastId();
+    }
+
+    int getAudioStreamRssi() {
+        return mAudioStream.getRssi();
+    }
+
+    @Nullable
+    BluetoothLeBroadcastMetadata getAudioStreamMetadata() {
+        return mAudioStream.getMetadata();
+    }
+
+    AudioStreamsProgressCategoryController.AudioStreamState getAudioStreamState() {
+        return mAudioStream.getState();
+    }
+
+    @Override
+    protected boolean shouldHideSecondTarget() {
+        return mIsConnected;
+    }
+
+    @Override
+    protected int getSecondTargetResId() {
+        return R.layout.preference_widget_lock;
+    }
+
+    @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);
+        }
+    }
+
+    static AudioStreamPreference fromMetadata(
+            Context context, BluetoothLeBroadcastMetadata source) {
+        AudioStreamPreference preference = new AudioStreamPreference(context, /* attrs= */ null);
+        preference.setTitle(getBroadcastName(source));
+        preference.setAudioStream(new AudioStream(source));
+        return preference;
+    }
+
+    static AudioStreamPreference fromReceiveState(
+            Context context, BluetoothLeBroadcastReceiveState receiveState) {
+        AudioStreamPreference preference = new AudioStreamPreference(context, /* attrs= */ null);
+        preference.setTitle(getBroadcastName(receiveState));
+        preference.setAudioStream(new AudioStream(receiveState));
+        return preference;
+    }
+
+    private void setAudioStream(AudioStream audioStream) {
+        mAudioStream = audioStream;
+    }
+
+    private static String getBroadcastName(BluetoothLeBroadcastMetadata source) {
+        return source.getSubgroups().stream()
+                .map(s -> s.getContentMetadata().getProgramInfo())
+                .filter(i -> !Strings.isNullOrEmpty(i))
+                .findFirst()
+                .orElse("Broadcast Id: " + source.getBroadcastId());
+    }
+
+    private static String getBroadcastName(BluetoothLeBroadcastReceiveState state) {
+        return state.getSubgroupMetadata().stream()
+                .map(BluetoothLeAudioContentMetadata::getProgramInfo)
+                .filter(i -> !Strings.isNullOrEmpty(i))
+                .findFirst()
+                .orElse("Broadcast Id: " + state.getBroadcastId());
+    }
+
+    private static final class AudioStream {
+        private static final int UNAVAILABLE = -1;
+        @Nullable private BluetoothLeBroadcastMetadata mMetadata;
+        @Nullable private BluetoothLeBroadcastReceiveState mReceiveState;
+        private AudioStreamsProgressCategoryController.AudioStreamState mState =
+                AudioStreamsProgressCategoryController.AudioStreamState.UNKNOWN;
+
+        private AudioStream(BluetoothLeBroadcastMetadata metadata) {
+            mMetadata = metadata;
+        }
+
+        private AudioStream(BluetoothLeBroadcastReceiveState receiveState) {
+            mReceiveState = receiveState;
+        }
+
+        private int getBroadcastId() {
+            return mMetadata != null
+                    ? mMetadata.getBroadcastId()
+                    : mReceiveState != null ? mReceiveState.getBroadcastId() : UNAVAILABLE;
+        }
+
+        private int getRssi() {
+            return mMetadata != null ? mMetadata.getRssi() : Integer.MAX_VALUE;
+        }
+
+        private AudioStreamsProgressCategoryController.AudioStreamState getState() {
+            return mState;
+        }
+
+        @Nullable
+        private BluetoothLeBroadcastMetadata getMetadata() {
+            return mMetadata;
+        }
+
+        private void setState(AudioStreamsProgressCategoryController.AudioStreamState state) {
+            mState = state;
+        }
+
+        private void setMetadata(BluetoothLeBroadcastMetadata metadata) {
+            mMetadata = metadata;
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceController.java
new file mode 100644
index 0000000..d001409
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceController.java
@@ -0,0 +1,67 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class AudioStreamsActiveDeviceController extends BasePreferenceController
+        implements AudioStreamsActiveDeviceSummaryUpdater.OnSummaryChangeListener,
+                DefaultLifecycleObserver {
+
+    public static final String KEY = "audio_streams_active_device";
+    private final AudioStreamsActiveDeviceSummaryUpdater mSummaryHelper;
+    private Preference mPreference;
+
+    public AudioStreamsActiveDeviceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mSummaryHelper = new AudioStreamsActiveDeviceSummaryUpdater(mContext, this);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(KEY);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void onSummaryChanged(String summary) {
+        mPreference.setSummary(summary);
+    }
+
+    @Override
+    public void onResume(@NonNull LifecycleOwner owner) {
+        mSummaryHelper.register(true);
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        mSummaryHelper.register(false);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
new file mode 100644
index 0000000..b2e6fb2
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsActiveDeviceSummaryUpdater.java
@@ -0,0 +1,100 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+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 String mSummary;
+    private OnSummaryChangeListener mListener;
+
+    public AudioStreamsActiveDeviceSummaryUpdater(
+            Context context, OnSummaryChangeListener listener) {
+        mBluetoothManager = Utils.getLocalBluetoothManager(context);
+        mListener = listener;
+    }
+
+    @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);
+        }
+        if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+            notifyChangeIfNeeded();
+        }
+    }
+
+    void register(boolean register) {
+        if (register) {
+            notifyChangeIfNeeded();
+            mBluetoothManager.getEventManager().registerCallback(this);
+        } else {
+            mBluetoothManager.getEventManager().unregisterCallback(this);
+        }
+    }
+
+    private void notifyChangeIfNeeded() {
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    String summary = getSummary();
+                    if (!TextUtils.equals(mSummary, summary)) {
+                        mSummary = summary;
+                        ThreadUtils.postOnMainThread(() -> mListener.onSummaryChanged(summary));
+                    }
+                });
+    }
+
+    private String getSummary() {
+        var activeSink = AudioSharingUtils.getActiveSinkOnAssistant(mBluetoothManager);
+        if (activeSink.isEmpty()) {
+            return "No active LE Audio device";
+        }
+        return activeSink.get().getName();
+    }
+
+    /** Interface definition for a callback to be invoked when the summary has been changed. */
+    interface OnSummaryChangeListener {
+        /**
+         * Called when summary has changed.
+         *
+         * @param summary The new summary.
+         */
+        void onSummaryChanged(String summary);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java
new file mode 100644
index 0000000..9fb5b21
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsBroadcastAssistantCallback.java
@@ -0,0 +1,132 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.util.Log;
+
+import com.android.settingslib.bluetooth.BluetoothUtils;
+
+public class AudioStreamsBroadcastAssistantCallback
+        implements BluetoothLeBroadcastAssistant.Callback {
+
+    private static final String TAG = "AudioStreamsBroadcastAssistantCallback";
+    private static final boolean DEBUG = BluetoothUtils.D;
+
+    @Override
+    public void onReceiveStateChanged(
+            BluetoothDevice sink, int sourceId, BluetoothLeBroadcastReceiveState state) {
+        if (DEBUG) {
+            Log.d(
+                    TAG,
+                    "onReceiveStateChanged() sink : "
+                            + sink.getAddress()
+                            + " sourceId: "
+                            + sourceId
+                            + " state: "
+                            + state);
+        }
+    }
+
+    @Override
+    public void onSearchStartFailed(int reason) {
+        Log.w(TAG, "onSearchStartFailed() reason : " + reason);
+    }
+
+    @Override
+    public void onSearchStarted(int reason) {
+        if (DEBUG) {
+            Log.d(TAG, "onSearchStarted() reason : " + reason);
+        }
+    }
+
+    @Override
+    public void onSearchStopFailed(int reason) {
+        Log.w(TAG, "onSearchStopFailed() reason : " + reason);
+    }
+
+    @Override
+    public void onSearchStopped(int reason) {
+        if (DEBUG) {
+            Log.d(TAG, "onSearchStopped() reason : " + reason);
+        }
+    }
+
+    @Override
+    public void onSourceAddFailed(
+            BluetoothDevice sink, BluetoothLeBroadcastMetadata source, int reason) {
+        if (DEBUG) {
+            Log.d(
+                    TAG,
+                    "onSourceAddFailed() sink : "
+                            + sink.getAddress()
+                            + " source: "
+                            + source
+                            + " reason: "
+                            + reason);
+        }
+    }
+
+    @Override
+    public void onSourceAdded(BluetoothDevice sink, int sourceId, int reason) {
+        if (DEBUG) {
+            Log.d(
+                    TAG,
+                    "onSourceAdded() sink : "
+                            + sink.getAddress()
+                            + " sourceId: "
+                            + sourceId
+                            + " reason: "
+                            + reason);
+        }
+    }
+
+    @Override
+    public void onSourceFound(BluetoothLeBroadcastMetadata source) {
+        if (DEBUG) {
+            Log.d(TAG, "onSourceFound() broadcastId : " + source.getBroadcastId());
+        }
+    }
+
+    @Override
+    public void onSourceLost(int broadcastId) {
+        if (DEBUG) {
+            Log.d(TAG, "onSourceLost() broadcastId : " + broadcastId);
+        }
+    }
+
+    @Override
+    public void onSourceModified(BluetoothDevice sink, int sourceId, int reason) {}
+
+    @Override
+    public void onSourceModifyFailed(BluetoothDevice sink, int sourceId, int reason) {}
+
+    @Override
+    public void onSourceRemoveFailed(BluetoothDevice sink, int sourceId, int reason) {
+        Log.w(TAG, "onSourceRemoveFailed() sourceId : " + sourceId + " reason : " + reason);
+    }
+
+    @Override
+    public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
+        if (DEBUG) {
+            Log.d(TAG, "onSourceRemoved() sourceId : " + sourceId + " reason : " + reason);
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
new file mode 100644
index 0000000..56d0fa7
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsCategoryController.java
@@ -0,0 +1,110 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+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;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingBasePreferenceController;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+import com.android.settings.flags.Flags;
+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;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+public class AudioStreamsCategoryController extends AudioSharingBasePreferenceController {
+    private static final String TAG = "AudioStreamsCategoryController";
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private final LocalBluetoothManager mLocalBtManager;
+    private final Executor mExecutor;
+    private final BluetoothCallback mBluetoothCallback =
+            new BluetoothCallback() {
+                @Override
+                public void onActiveDeviceChanged(
+                        @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
+                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                        updateVisibility();
+                    }
+                }
+            };
+
+    public AudioStreamsCategoryController(Context context, String key) {
+        super(context, key);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        mExecutor = Executors.newSingleThreadExecutor();
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        super.onStart(owner);
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().registerCallback(mBluetoothCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        super.onStop(owner);
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().unregisterCallback(mBluetoothCallback);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.enableLeAudioQrCodePrivateBroadcastSharing()
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void updateVisibility() {
+        if (mPreference == null) return;
+        mExecutor.execute(
+                () -> {
+                    boolean hasActiveLe =
+                            AudioSharingUtils.getActiveSinkOnAssistant(mLocalBtManager).isPresent();
+                    boolean isBroadcasting = isBroadcasting();
+                    boolean isBluetoothOn = isBluetoothStateOn();
+                    if (DEBUG) {
+                        Log.d(
+                                TAG,
+                                "updateVisibility() isBroadcasting : "
+                                        + isBroadcasting
+                                        + " hasActiveLe : "
+                                        + hasActiveLe
+                                        + " is BT on : "
+                                        + isBluetoothOn);
+                    }
+                    ThreadUtils.postOnMainThread(
+                            () ->
+                                    mPreference.setVisible(
+                                            isBluetoothOn && hasActiveLe && !isBroadcasting));
+                });
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
new file mode 100644
index 0000000..bddbb61
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDashboardFragment.java
@@ -0,0 +1,134 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController.REQUEST_SCAN_BT_BROADCAST_QR_CODE;
+
+import android.app.Activity;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode.QrCodeScanModeFragment;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+
+import com.google.common.base.Strings;
+
+public class AudioStreamsDashboardFragment extends DashboardFragment {
+    private static final String TAG = "AudioStreamsDashboardFrag";
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private AudioStreamsProgressCategoryController mAudioStreamsProgressCategoryController;
+
+    public AudioStreamsDashboardFragment() {
+        super();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO: update category id.
+        return 0;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_audio_sharing;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.bluetooth_audio_streams;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        use(AudioStreamsScanQrCodeController.class).setFragment(this);
+        mAudioStreamsProgressCategoryController = use(AudioStreamsProgressCategoryController.class);
+        mAudioStreamsProgressCategoryController.setFragment(this);
+
+        if (getArguments() != null) {
+            String broadcastMetadataStr =
+                    getArguments().getString(AudioStreamConfirmDialog.KEY_BROADCAST_METADATA);
+            if (!Strings.isNullOrEmpty(broadcastMetadataStr)) {
+                BluetoothLeBroadcastMetadata broadcastMetadata =
+                        BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(
+                                broadcastMetadataStr);
+                if (broadcastMetadata == null) {
+                    Log.w(TAG, "onAttach() broadcastMetadata is null!");
+                } else {
+                    mAudioStreamsProgressCategoryController.setSourceFromQrCode(broadcastMetadata);
+                }
+            }
+        }
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (DEBUG) {
+            Log.d(
+                    TAG,
+                    "onActivityResult() requestCode : "
+                            + requestCode
+                            + " resultCode : "
+                            + resultCode);
+        }
+        if (requestCode == REQUEST_SCAN_BT_BROADCAST_QR_CODE) {
+            if (resultCode == Activity.RESULT_OK) {
+                String broadcastMetadata =
+                        data.getStringExtra(QrCodeScanModeFragment.KEY_BROADCAST_METADATA);
+                BluetoothLeBroadcastMetadata source =
+                        BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(
+                                broadcastMetadata);
+                if (source == null) {
+                    Log.w(TAG, "onActivityResult() source is null!");
+                    return;
+                }
+                if (DEBUG) {
+                    Log.d(TAG, "onActivityResult() broadcastId : " + source.getBroadcastId());
+                }
+                if (mAudioStreamsProgressCategoryController == null) {
+                    Log.w(
+                            TAG,
+                            "onActivityResult() AudioStreamsProgressCategoryController is null!");
+                    return;
+                }
+                mAudioStreamsProgressCategoryController.setSourceFromQrCode(source);
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragment.java
new file mode 100644
index 0000000..c7d7f16
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsDialogFragment.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.audiostreams;
+
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.content.Context;
+import android.os.Bundle;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.Button;
+import android.widget.TextView;
+
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+
+import com.google.common.base.Strings;
+
+import java.util.function.Consumer;
+
+public class AudioStreamsDialogFragment extends InstrumentedDialogFragment {
+    private static final String TAG = "AudioStreamsDialogFragment";
+    private final DialogBuilder mDialogBuilder;
+
+    AudioStreamsDialogFragment(DialogBuilder dialogBuilder) {
+        mDialogBuilder = dialogBuilder;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO(chelseahao): update metrics id
+        return 0;
+    }
+
+    @Override
+    public Dialog onCreateDialog(Bundle savedInstanceState) {
+        return mDialogBuilder.build();
+    }
+
+    static void show(Fragment host, DialogBuilder dialogBuilder) {
+        FragmentManager manager = host.getChildFragmentManager();
+        (new AudioStreamsDialogFragment(dialogBuilder)).show(manager, TAG);
+    }
+
+    static class DialogBuilder {
+        private final Context mContext;
+        private final AlertDialog.Builder mBuilder;
+        private String mTitle;
+        private String mSubTitle1;
+        private String mSubTitle2;
+        private String mLeftButtonText;
+        private String mRightButtonText;
+        private Consumer<AlertDialog> mLeftButtonOnClickListener;
+        private Consumer<AlertDialog> mRightButtonOnClickListener;
+
+        DialogBuilder(Context context) {
+            mContext = context;
+            mBuilder = new AlertDialog.Builder(context);
+        }
+
+        DialogBuilder setTitle(String title) {
+            mTitle = title;
+            return this;
+        }
+
+        DialogBuilder setSubTitle1(String subTitle1) {
+            mSubTitle1 = subTitle1;
+            return this;
+        }
+
+        DialogBuilder setSubTitle2(String subTitle2) {
+            mSubTitle2 = subTitle2;
+            return this;
+        }
+
+        DialogBuilder setLeftButtonText(String text) {
+            mLeftButtonText = text;
+            return this;
+        }
+
+        DialogBuilder setLeftButtonOnClickListener(Consumer<AlertDialog> listener) {
+            mLeftButtonOnClickListener = listener;
+            return this;
+        }
+
+        DialogBuilder setRightButtonText(String text) {
+            mRightButtonText = text;
+            return this;
+        }
+
+        DialogBuilder setRightButtonOnClickListener(Consumer<AlertDialog> listener) {
+            mRightButtonOnClickListener = listener;
+            return this;
+        }
+
+        AlertDialog build() {
+            View rootView =
+                    LayoutInflater.from(mContext)
+                            .inflate(R.xml.bluetooth_audio_streams_dialog, /* parent= */ null);
+
+            AlertDialog dialog = mBuilder.setView(rootView).setCancelable(false).create();
+            dialog.setCanceledOnTouchOutside(false);
+
+            TextView title = rootView.requireViewById(R.id.dialog_title);
+            title.setText(mTitle);
+
+            if (!Strings.isNullOrEmpty(mSubTitle1)) {
+                TextView subTitle1 = rootView.requireViewById(R.id.dialog_subtitle);
+                subTitle1.setText(mSubTitle1);
+                subTitle1.setVisibility(View.VISIBLE);
+            }
+            if (!Strings.isNullOrEmpty(mSubTitle2)) {
+                TextView subTitle2 = rootView.requireViewById(R.id.dialog_subtitle_2);
+                subTitle2.setText(mSubTitle2);
+                subTitle2.setVisibility(View.VISIBLE);
+            }
+            if (!Strings.isNullOrEmpty(mLeftButtonText)) {
+                Button leftButton = rootView.requireViewById(R.id.left_button);
+                leftButton.setText(mLeftButtonText);
+                leftButton.setVisibility(View.VISIBLE);
+                leftButton.setOnClickListener(unused -> mLeftButtonOnClickListener.accept(dialog));
+            }
+            if (!Strings.isNullOrEmpty(mRightButtonText)) {
+                Button rightButton = rootView.requireViewById(R.id.right_button);
+                rightButton.setText(mRightButtonText);
+                rightButton.setVisibility(View.VISIBLE);
+                rightButton.setOnClickListener(
+                        unused -> mRightButtonOnClickListener.accept(dialog));
+            }
+
+            return dialog;
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
new file mode 100644
index 0000000..2c6eedb
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsHelper.java
@@ -0,0 +1,166 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import static java.util.Collections.emptyList;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.util.Log;
+
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.List;
+import java.util.stream.Stream;
+
+import javax.annotation.Nullable;
+
+/**
+ * A helper class that adds, removes and retrieves LE broadcast sources for all active sink devices.
+ */
+class AudioStreamsHelper {
+
+    private static final String TAG = "AudioStreamsHelper";
+    private static final boolean DEBUG = BluetoothUtils.D;
+
+    private final @Nullable LocalBluetoothManager mBluetoothManager;
+    private final @Nullable LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
+
+    AudioStreamsHelper(@Nullable LocalBluetoothManager bluetoothManager) {
+        mBluetoothManager = bluetoothManager;
+        mLeBroadcastAssistant = getLeBroadcastAssistant(mBluetoothManager);
+    }
+
+    /**
+     * Adds the specified LE broadcast source to all active sinks.
+     *
+     * @param source The LE broadcast metadata representing the audio source.
+     */
+    void addSource(BluetoothLeBroadcastMetadata source) {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "addSource(): LeBroadcastAssistant is null!");
+            return;
+        }
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            for (var sink : getActiveSinksOnAssistant(mBluetoothManager)) {
+                                if (DEBUG) {
+                                    Log.d(
+                                            TAG,
+                                            "addSource(): join broadcast broadcastId"
+                                                    + " : "
+                                                    + source.getBroadcastId()
+                                                    + " sink : "
+                                                    + sink.getAddress());
+                                }
+                                mLeBroadcastAssistant.addSource(sink, source, false);
+                            }
+                        });
+    }
+
+    /** Removes sources from LE broadcasts associated for all active sinks based on broadcast Id. */
+    void removeSource(int broadcastId) {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "removeSource(): LeBroadcastAssistant is null!");
+            return;
+        }
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            for (var sink : getActiveSinksOnAssistant(mBluetoothManager)) {
+                                if (DEBUG) {
+                                    Log.d(
+                                            TAG,
+                                            "removeSource(): remove all sources with broadcast id :"
+                                                    + broadcastId
+                                                    + " from sink : "
+                                                    + sink.getAddress());
+                                }
+                                mLeBroadcastAssistant.getAllSources(sink).stream()
+                                        .filter(state -> state.getBroadcastId() == broadcastId)
+                                        .forEach(
+                                                state ->
+                                                        mLeBroadcastAssistant.removeSource(
+                                                                sink, state.getSourceId()));
+                            }
+                        });
+    }
+
+    /** Retrieves a list of all LE broadcast receive states from active sinks. */
+    List<BluetoothLeBroadcastReceiveState> getAllConnectedSources() {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "getAllSources(): LeBroadcastAssistant is null!");
+            return emptyList();
+        }
+        return getActiveSinksOnAssistant(mBluetoothManager).stream()
+                .flatMap(sink -> mLeBroadcastAssistant.getAllSources(sink).stream())
+                .filter(this::isConnected)
+                .toList();
+    }
+
+    @Nullable
+    LocalBluetoothLeBroadcastAssistant getLeBroadcastAssistant() {
+        return mLeBroadcastAssistant;
+    }
+
+    boolean isConnected(BluetoothLeBroadcastReceiveState state) {
+        return state.getPaSyncState() == BluetoothLeBroadcastReceiveState.PA_SYNC_STATE_SYNCHRONIZED
+                && state.getBigEncryptionState()
+                        == BluetoothLeBroadcastReceiveState.BIG_ENCRYPTION_STATE_DECRYPTING;
+    }
+
+    private static List<BluetoothDevice> getActiveSinksOnAssistant(
+            @Nullable LocalBluetoothManager manager) {
+        if (manager == null) {
+            Log.w(TAG, "getActiveSinksOnAssistant(): LocalBluetoothManager is null!");
+            return emptyList();
+        }
+        return AudioSharingUtils.getActiveSinkOnAssistant(manager)
+                .map(
+                        cachedBluetoothDevice ->
+                                Stream.concat(
+                                                Stream.of(cachedBluetoothDevice.getDevice()),
+                                                cachedBluetoothDevice.getMemberDevice().stream()
+                                                        .map(CachedBluetoothDevice::getDevice))
+                                        .toList())
+                .orElse(emptyList());
+    }
+
+    private static @Nullable LocalBluetoothLeBroadcastAssistant getLeBroadcastAssistant(
+            @Nullable LocalBluetoothManager manager) {
+        if (manager == null) {
+            Log.w(TAG, "getLeBroadcastAssistant(): LocalBluetoothManager is null!");
+            return null;
+        }
+
+        LocalBluetoothProfileManager profileManager = manager.getProfileManager();
+        if (profileManager == null) {
+            Log.w(TAG, "getLeBroadcastAssistant(): LocalBluetoothProfileManager is null!");
+            return null;
+        }
+
+        return profileManager.getLeAudioBroadcastAssistantProfile();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
new file mode 100644
index 0000000..34ffc91
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryCallback.java
@@ -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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.util.Log;
+
+import java.util.Locale;
+
+public class AudioStreamsProgressCategoryCallback extends AudioStreamsBroadcastAssistantCallback {
+    private static final String TAG = "AudioStreamsProgressCategoryCallback";
+
+    private final AudioStreamsProgressCategoryController mCategoryController;
+
+    public AudioStreamsProgressCategoryCallback(
+            AudioStreamsProgressCategoryController audioStreamsProgressCategoryController) {
+        mCategoryController = audioStreamsProgressCategoryController;
+    }
+
+    @Override
+    public void onReceiveStateChanged(
+            BluetoothDevice sink, int sourceId, BluetoothLeBroadcastReceiveState state) {
+        super.onReceiveStateChanged(sink, sourceId, state);
+        mCategoryController.handleSourceConnected(state);
+    }
+
+    @Override
+    public void onSearchStartFailed(int reason) {
+        super.onSearchStartFailed(reason);
+        mCategoryController.showToast(
+                String.format(Locale.US, "Failed to start scanning, reason %d", reason));
+    }
+
+    @Override
+    public void onSearchStarted(int reason) {
+        super.onSearchStarted(reason);
+        if (mCategoryController == null) {
+            Log.w(TAG, "onSearchStarted() : mCategoryController is null!");
+            return;
+        }
+        mCategoryController.setScanning(true);
+    }
+
+    @Override
+    public void onSearchStopFailed(int reason) {
+        super.onSearchStopFailed(reason);
+        mCategoryController.showToast(
+                String.format(Locale.US, "Failed to stop scanning, reason %d", reason));
+    }
+
+    @Override
+    public void onSearchStopped(int reason) {
+        super.onSearchStopped(reason);
+        if (mCategoryController == null) {
+            Log.w(TAG, "onSearchStopped() : mCategoryController is null!");
+            return;
+        }
+        mCategoryController.setScanning(false);
+    }
+
+    @Override
+    public void onSourceAddFailed(
+            BluetoothDevice sink, BluetoothLeBroadcastMetadata source, int reason) {
+        super.onSourceAddFailed(sink, source, reason);
+        mCategoryController.showToast(
+                String.format(Locale.US, "Failed to join broadcast, reason %d", reason));
+    }
+
+    @Override
+    public void onSourceFound(BluetoothLeBroadcastMetadata source) {
+        super.onSourceFound(source);
+        if (mCategoryController == null) {
+            Log.w(TAG, "onSourceFound() : mCategoryController is null!");
+            return;
+        }
+        mCategoryController.handleSourceFound(source);
+    }
+
+    @Override
+    public void onSourceLost(int broadcastId) {
+        super.onSourceLost(broadcastId);
+        mCategoryController.handleSourceLost(broadcastId);
+    }
+
+    @Override
+    public void onSourceRemoveFailed(BluetoothDevice sink, int sourceId, int reason) {
+        super.onSourceRemoveFailed(sink, sourceId, reason);
+        mCategoryController.showToast(
+                String.format(
+                        Locale.US,
+                        "Failed to remove source %d for sink %s",
+                        sourceId,
+                        sink.getAddress()));
+    }
+
+    @Override
+    public void onSourceRemoved(BluetoothDevice sink, int sourceId, int reason) {
+        super.onSourceRemoved(sink, sourceId, reason);
+        mCategoryController.handleSourceRemoved();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
new file mode 100644
index 0000000..c6f342a
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryController.java
@@ -0,0 +1,641 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import static com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamsScanQrCodeController.REQUEST_SCAN_BT_BROADCAST_QR_CODE;
+
+import static java.util.Collections.emptyList;
+
+import android.app.AlertDialog;
+import android.app.settings.SettingsEnums;
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.CountDownTimer;
+import android.provider.Settings;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.EditText;
+import android.widget.TextView;
+
+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.bluetooth.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode.QrCodeScanModeActivity;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+import com.android.settingslib.bluetooth.BluetoothCallback;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.nio.charset.StandardCharsets;
+import java.util.Comparator;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executor;
+import java.util.concurrent.Executors;
+
+import javax.annotation.Nullable;
+
+public class AudioStreamsProgressCategoryController extends BasePreferenceController
+        implements DefaultLifecycleObserver {
+    private static final String TAG = "AudioStreamsProgressCategoryController";
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private final BluetoothCallback mBluetoothCallback =
+            new BluetoothCallback() {
+                @Override
+                public void onActiveDeviceChanged(
+                        @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
+                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                        mExecutor.execute(() -> init(activeDevice != null));
+                    }
+                }
+            };
+
+    private final Preference.OnPreferenceClickListener mAddSourceOrShowDialog =
+            preference -> {
+                var p = (AudioStreamPreference) preference;
+                if (DEBUG) {
+                    Log.d(
+                            TAG,
+                            "preferenceClicked(): attempt to join broadcast id : "
+                                    + p.getAudioStreamBroadcastId());
+                }
+                var source = p.getAudioStreamMetadata();
+                if (source != null) {
+                    if (source.isEncrypted()) {
+                        ThreadUtils.postOnMainThread(() -> launchPasswordDialog(source, p));
+                    } else {
+                        moveToState(p, AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE);
+                    }
+                }
+                return true;
+            };
+
+    private final Preference.OnPreferenceClickListener mLaunchDetailFragment =
+            preference -> {
+                var p = (AudioStreamPreference) preference;
+                Bundle broadcast = new Bundle();
+                broadcast.putString(
+                        AudioStreamDetailsFragment.BROADCAST_NAME_ARG, (String) p.getTitle());
+                broadcast.putInt(
+                        AudioStreamDetailsFragment.BROADCAST_ID_ARG, p.getAudioStreamBroadcastId());
+
+                new SubSettingLauncher(mContext)
+                        .setTitleText("Audio stream details")
+                        .setDestination(AudioStreamDetailsFragment.class.getName())
+                        // TODO(chelseahao): Add logging enum
+                        .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN)
+                        .setArguments(broadcast)
+                        .launch();
+                return true;
+            };
+
+    private final AudioStreamsRepository mAudioStreamsRepository =
+            AudioStreamsRepository.getInstance();
+
+    enum AudioStreamState {
+        UNKNOWN,
+        // When mTimedSourceFromQrCode is present and this source has not been synced.
+        WAIT_FOR_SYNC,
+        // When source has been synced but not added to any sink.
+        SYNCED,
+        // When addSource is called for this source and waiting for response.
+        ADD_SOURCE_WAIT_FOR_RESPONSE,
+        // Source is added to active sink.
+        SOURCE_ADDED,
+    }
+
+    private final Comparator<AudioStreamPreference> mComparator =
+            Comparator.<AudioStreamPreference, Boolean>comparing(
+                            p ->
+                                    p.getAudioStreamState()
+                                            == AudioStreamsProgressCategoryController
+                                                    .AudioStreamState.SOURCE_ADDED)
+                    .thenComparingInt(AudioStreamPreference::getAudioStreamRssi)
+                    .reversed();
+
+    private final Executor mExecutor;
+    private final AudioStreamsProgressCategoryCallback mBroadcastAssistantCallback;
+    private final AudioStreamsHelper mAudioStreamsHelper;
+    private final @Nullable LocalBluetoothLeBroadcastAssistant mLeBroadcastAssistant;
+    private final @Nullable LocalBluetoothManager mBluetoothManager;
+    private final ConcurrentHashMap<Integer, AudioStreamPreference> mBroadcastIdToPreferenceMap =
+            new ConcurrentHashMap<>();
+    private @Nullable TimedSourceFromQrCode mTimedSourceFromQrCode;
+    private AudioStreamsProgressCategoryPreference mCategoryPreference;
+    private AudioStreamsDashboardFragment mFragment;
+
+    public AudioStreamsProgressCategoryController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mExecutor = Executors.newSingleThreadExecutor();
+        mBluetoothManager = Utils.getLocalBtManager(mContext);
+        mAudioStreamsHelper = new AudioStreamsHelper(mBluetoothManager);
+        mLeBroadcastAssistant = mAudioStreamsHelper.getLeBroadcastAssistant();
+        mBroadcastAssistantCallback = new AudioStreamsProgressCategoryCallback(this);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mCategoryPreference = screen.findPreference(getPreferenceKey());
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mBluetoothManager != null) {
+            mBluetoothManager.getEventManager().registerCallback(mBluetoothCallback);
+        }
+        mExecutor.execute(
+                () -> {
+                    boolean hasActive =
+                            AudioSharingUtils.getActiveSinkOnAssistant(mBluetoothManager)
+                                    .isPresent();
+                    init(hasActive);
+                });
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mBluetoothManager != null) {
+            mBluetoothManager.getEventManager().unregisterCallback(mBluetoothCallback);
+        }
+        mExecutor.execute(this::stopScanning);
+    }
+
+    void setFragment(AudioStreamsDashboardFragment fragment) {
+        mFragment = fragment;
+    }
+
+    void setSourceFromQrCode(BluetoothLeBroadcastMetadata source) {
+        mTimedSourceFromQrCode =
+                new TimedSourceFromQrCode(source, () -> handleSourceLost(source.getBroadcastId()));
+    }
+
+    void setScanning(boolean isScanning) {
+        ThreadUtils.postOnMainThread(
+                () -> {
+                    if (mCategoryPreference != null) mCategoryPreference.setProgress(isScanning);
+                });
+    }
+
+    void handleSourceFound(BluetoothLeBroadcastMetadata source) {
+        var broadcastIdFound = source.getBroadcastId();
+        mBroadcastIdToPreferenceMap.compute(
+                broadcastIdFound,
+                (k, v) -> {
+                    if (v == null) {
+                        // No existing preference for this source founded, add one and set initial
+                        // state to SYNCED.
+                        return addNewPreference(source, AudioStreamState.SYNCED);
+                    }
+                    var fromState = v.getAudioStreamState();
+                    if (fromState == AudioStreamState.WAIT_FOR_SYNC
+                            && mTimedSourceFromQrCode != null) {
+                        var pendingSource = mTimedSourceFromQrCode.get();
+                        if (pendingSource == null) {
+                            Log.w(
+                                    TAG,
+                                    "handleSourceFound(): unexpected state with null pendingSource:"
+                                            + fromState
+                                            + " for broadcastId : "
+                                            + broadcastIdFound);
+                            v.setAudioStreamMetadata(source);
+                            moveToState(v, AudioStreamState.SYNCED);
+                            return v;
+                        }
+                        // A preference with source founded is existed from a QR code scan. As the
+                        // source is now synced, we update the preference with pendingSource from QR
+                        // code scan and add source with it (since it has the password).
+                        v.setAudioStreamMetadata(pendingSource);
+                        moveToState(v, AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE);
+                    } else {
+                        // A preference with source founded existed either because it's already
+                        // connected (SOURCE_ADDED), or other unexpected reason. We update the
+                        // preference with this source and won't change it's state.
+                        v.setAudioStreamMetadata(source);
+                        if (fromState != AudioStreamState.SOURCE_ADDED) {
+                            Log.w(
+                                    TAG,
+                                    "handleSourceFound(): unexpected state : "
+                                            + fromState
+                                            + " for broadcastId : "
+                                            + broadcastIdFound);
+                        }
+                    }
+                    return v;
+                });
+    }
+
+    private void handleSourceFromQrCodeIfExists() {
+        if (mTimedSourceFromQrCode == null || mTimedSourceFromQrCode.get() == null) {
+            return;
+        }
+        var metadataFromQrCode = mTimedSourceFromQrCode.get();
+        mBroadcastIdToPreferenceMap.compute(
+                metadataFromQrCode.getBroadcastId(),
+                (k, v) -> {
+                    if (v == null) {
+                        // No existing preference for this source from the QR code scan, add one and
+                        // set initial state to WAIT_FOR_SYNC.
+                        return addNewPreference(metadataFromQrCode, AudioStreamState.WAIT_FOR_SYNC);
+                    }
+                    var fromState = v.getAudioStreamState();
+                    if (fromState == AudioStreamState.SYNCED) {
+                        // A preference with source from the QR code is existed because it has been
+                        // founded during scanning, now we have the password, we can add source.
+                        v.setAudioStreamMetadata(metadataFromQrCode);
+                        moveToState(v, AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE);
+                    } else {
+                        v.setAudioStreamMetadata(metadataFromQrCode);
+                        Log.w(
+                                TAG,
+                                "handleSourceFromQrCode(): unexpected state : "
+                                        + fromState
+                                        + " for broadcastId : "
+                                        + metadataFromQrCode.getBroadcastId());
+                    }
+                    return v;
+                });
+    }
+
+    void handleSourceLost(int broadcastId) {
+        var toRemove = mBroadcastIdToPreferenceMap.remove(broadcastId);
+        if (toRemove != null) {
+            ThreadUtils.postOnMainThread(
+                    () -> {
+                        if (mCategoryPreference != null) {
+                            mCategoryPreference.removePreference(toRemove);
+                        }
+                    });
+        }
+        mAudioStreamsHelper.removeSource(broadcastId);
+    }
+
+    void handleSourceRemoved() {
+        for (var entry : mBroadcastIdToPreferenceMap.entrySet()) {
+            var preference = entry.getValue();
+
+            // Look for preference has SOURCE_ADDED state, re-check if they are still connected. If
+            // not, means the source is removed from the sink, we move back the preference to SYNCED
+            // state.
+            if (preference.getAudioStreamState() == AudioStreamState.SOURCE_ADDED
+                    && mAudioStreamsHelper.getAllConnectedSources().stream()
+                            .noneMatch(
+                                    connected ->
+                                            connected.getBroadcastId()
+                                                    == preference.getAudioStreamBroadcastId())) {
+
+                ThreadUtils.postOnMainThread(
+                        () -> {
+                            var metadata = preference.getAudioStreamMetadata();
+
+                            if (metadata != null) {
+                                moveToState(preference, AudioStreamState.SYNCED);
+                            } else {
+                                handleSourceLost(preference.getAudioStreamBroadcastId());
+                            }
+                        });
+
+                return;
+            }
+        }
+    }
+
+    void handleSourceConnected(BluetoothLeBroadcastReceiveState receiveState) {
+        if (!mAudioStreamsHelper.isConnected(receiveState)) {
+            return;
+        }
+        var broadcastIdConnected = receiveState.getBroadcastId();
+        mBroadcastIdToPreferenceMap.compute(
+                broadcastIdConnected,
+                (k, v) -> {
+                    if (v == null) {
+                        // No existing preference for this source even if it's already connected,
+                        // add one and set initial state to SOURCE_ADDED. This could happen because
+                        // we retrieves the connected source during onStart() from
+                        // AudioStreamsHelper#getAllConnectedSources() even before the source is
+                        // founded by scanning.
+                        return addNewPreference(receiveState, AudioStreamState.SOURCE_ADDED);
+                    }
+                    var fromState = v.getAudioStreamState();
+                    if (fromState == AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE
+                            || fromState == AudioStreamState.SYNCED
+                            || fromState == AudioStreamState.WAIT_FOR_SYNC
+                            || fromState == AudioStreamState.SOURCE_ADDED) {
+                        // Expected state, do nothing
+                    } else {
+                        Log.w(
+                                TAG,
+                                "handleSourceConnected(): unexpected state : "
+                                        + fromState
+                                        + " for broadcastId : "
+                                        + broadcastIdConnected);
+                    }
+                    moveToState(v, AudioStreamState.SOURCE_ADDED);
+                    return v;
+                });
+    }
+
+    void showToast(String msg) {
+        AudioSharingUtils.toastMessage(mContext, msg);
+    }
+
+    private void init(boolean hasActive) {
+        mBroadcastIdToPreferenceMap.clear();
+        ThreadUtils.postOnMainThread(
+                () -> {
+                    if (mCategoryPreference != null) {
+                        mCategoryPreference.removeAudioStreamPreferences();
+                        mCategoryPreference.setVisible(hasActive);
+                    }
+                });
+        if (hasActive) {
+            startScanning();
+        } else {
+            stopScanning();
+            ThreadUtils.postOnMainThread(
+                    () -> AudioStreamsDialogFragment.show(mFragment, getNoLeDeviceDialog()));
+        }
+    }
+
+    private void startScanning() {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "startScanning(): LeBroadcastAssistant is null!");
+            return;
+        }
+        if (mLeBroadcastAssistant.isSearchInProgress()) {
+            showToast("Failed to start scanning, please try again.");
+            return;
+        }
+        if (DEBUG) {
+            Log.d(TAG, "startScanning()");
+        }
+        mLeBroadcastAssistant.registerServiceCallBack(mExecutor, mBroadcastAssistantCallback);
+
+        // Handle QR code scan and display currently connected streams
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            handleSourceFromQrCodeIfExists();
+                            mAudioStreamsHelper
+                                    .getAllConnectedSources()
+                                    .forEach(this::handleSourceConnected);
+                            mLeBroadcastAssistant.startSearchingForSources(emptyList());
+                        });
+    }
+
+    private void stopScanning() {
+        if (mLeBroadcastAssistant == null) {
+            Log.w(TAG, "stopScanning(): LeBroadcastAssistant is null!");
+            return;
+        }
+        if (mLeBroadcastAssistant.isSearchInProgress()) {
+            if (DEBUG) {
+                Log.d(TAG, "stopScanning()");
+            }
+            mLeBroadcastAssistant.stopSearchingForSources();
+        }
+        mLeBroadcastAssistant.unregisterServiceCallBack(mBroadcastAssistantCallback);
+        if (mTimedSourceFromQrCode != null) {
+            mTimedSourceFromQrCode.cleanup();
+            mTimedSourceFromQrCode = null;
+        }
+    }
+
+    private AudioStreamPreference addNewPreference(
+            BluetoothLeBroadcastReceiveState receiveState, AudioStreamState state) {
+        var preference = AudioStreamPreference.fromReceiveState(mContext, receiveState);
+        moveToState(preference, state);
+        return preference;
+    }
+
+    private AudioStreamPreference addNewPreference(
+            BluetoothLeBroadcastMetadata metadata, AudioStreamState state) {
+        var preference = AudioStreamPreference.fromMetadata(mContext, metadata);
+        moveToState(preference, state);
+        return preference;
+    }
+
+    private void moveToState(AudioStreamPreference preference, AudioStreamState state) {
+        if (preference.getAudioStreamState() == state) {
+            return;
+        }
+        preference.setAudioStreamState(state);
+
+        // Perform action according to the new state
+        if (state == AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE) {
+            if (mTimedSourceFromQrCode != null) {
+                mTimedSourceFromQrCode.consumed(preference.getAudioStreamBroadcastId());
+            }
+            var metadata = preference.getAudioStreamMetadata();
+            if (metadata != null) {
+                mAudioStreamsHelper.addSource(metadata);
+                // Cache the metadata that used for add source, if source is added successfully, we
+                // will save it persistently.
+                mAudioStreamsRepository.cacheMetadata(metadata);
+            }
+        } else if (state == AudioStreamState.SOURCE_ADDED) {
+            if (mTimedSourceFromQrCode != null) {
+                mTimedSourceFromQrCode.consumed(preference.getAudioStreamBroadcastId());
+            }
+            // Saved connected metadata for user to re-join this broadcast later.
+            var cached =
+                    mAudioStreamsRepository.getCachedMetadata(
+                            preference.getAudioStreamBroadcastId());
+            if (cached != null) {
+                mAudioStreamsRepository.saveMetadata(mContext, cached);
+            }
+        } else if (state == AudioStreamState.WAIT_FOR_SYNC) {
+            if (mTimedSourceFromQrCode != null) {
+                mTimedSourceFromQrCode.waitForConsume();
+            }
+        }
+
+        // Get preference click listener according to the new state
+        Preference.OnPreferenceClickListener listener;
+        if (state == AudioStreamState.SYNCED) {
+            listener = mAddSourceOrShowDialog;
+        } else if (state == AudioStreamState.SOURCE_ADDED) {
+            listener = mLaunchDetailFragment;
+        } else {
+            listener = null;
+        }
+
+        // Get preference summary according to the new state
+        String summary;
+        if (state == AudioStreamState.WAIT_FOR_SYNC) {
+            summary = "Scanning...";
+        } else if (state == AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE) {
+            summary = "Connecting...";
+        } else if (state == AudioStreamState.SOURCE_ADDED) {
+            summary = "Listening now";
+        } else {
+            summary = "";
+        }
+
+        // Update UI
+        ThreadUtils.postOnMainThread(
+                () -> {
+                    preference.setIsConnected(
+                            state == AudioStreamState.SOURCE_ADDED, summary, listener);
+                    if (mCategoryPreference != null) {
+                        mCategoryPreference.addAudioStreamPreference(preference, mComparator);
+                    }
+                });
+    }
+
+    private void launchPasswordDialog(
+            BluetoothLeBroadcastMetadata source, AudioStreamPreference preference) {
+        View layout =
+                LayoutInflater.from(mContext)
+                        .inflate(R.layout.bluetooth_find_broadcast_password_dialog, null);
+        ((TextView) layout.requireViewById(R.id.broadcast_name_text))
+                .setText(preference.getTitle());
+        AlertDialog alertDialog =
+                new AlertDialog.Builder(mContext)
+                        .setTitle(R.string.find_broadcast_password_dialog_title)
+                        .setView(layout)
+                        .setNeutralButton(android.R.string.cancel, null)
+                        .setPositiveButton(
+                                R.string.bluetooth_connect_access_dialog_positive,
+                                (dialog, which) -> {
+                                    var code =
+                                            ((EditText)
+                                                            layout.requireViewById(
+                                                                    R.id.broadcast_edit_text))
+                                                    .getText()
+                                                    .toString();
+                                    var metadata =
+                                            new BluetoothLeBroadcastMetadata.Builder(source)
+                                                    .setBroadcastCode(
+                                                            code.getBytes(StandardCharsets.UTF_8))
+                                                    .build();
+                                    // Update the metadata after user entered the password
+                                    preference.setAudioStreamMetadata(metadata);
+                                    moveToState(
+                                            preference,
+                                            AudioStreamState.ADD_SOURCE_WAIT_FOR_RESPONSE);
+                                })
+                        .create();
+        alertDialog.show();
+    }
+
+    private AudioStreamsDialogFragment.DialogBuilder getNoLeDeviceDialog() {
+        return new AudioStreamsDialogFragment.DialogBuilder(mContext)
+                .setTitle("Connect compatible headphones")
+                .setSubTitle2(
+                        "To listen to an audio stream, first connect headphones that support LE"
+                                + " Audio to this device. Learn more")
+                .setLeftButtonText("Close")
+                .setLeftButtonOnClickListener(AlertDialog::dismiss)
+                .setRightButtonText("Connect a device")
+                .setRightButtonOnClickListener(
+                        dialog -> {
+                            mContext.startActivity(new Intent(Settings.ACTION_BLUETOOTH_SETTINGS));
+                            dialog.dismiss();
+                        });
+    }
+
+    private AudioStreamsDialogFragment.DialogBuilder getBroadcastUnavailableDialog(
+            String broadcastName) {
+        return new AudioStreamsDialogFragment.DialogBuilder(mContext)
+                .setTitle("Audio stream isn't available")
+                .setSubTitle1(broadcastName)
+                .setSubTitle2("This audio stream isn't playing anything right now")
+                .setLeftButtonText("Close")
+                .setLeftButtonOnClickListener(AlertDialog::dismiss)
+                .setRightButtonText("Retry")
+                .setRightButtonOnClickListener(
+                        dialog -> {
+                            if (mFragment != null) {
+                                Intent intent = new Intent(mContext, QrCodeScanModeActivity.class);
+                                intent.setAction(
+                                        BluetoothBroadcastUtils
+                                                .ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER);
+                                mFragment.startActivityForResult(
+                                        intent, REQUEST_SCAN_BT_BROADCAST_QR_CODE);
+                                dialog.dismiss();
+                            }
+                        });
+    }
+
+    private class TimedSourceFromQrCode {
+        private static final int WAIT_FOR_SYNC_TIMEOUT_MILLIS = 15000;
+        private final CountDownTimer mTimer;
+        private BluetoothLeBroadcastMetadata mSourceFromQrCode;
+
+        private TimedSourceFromQrCode(
+                BluetoothLeBroadcastMetadata sourceFromQrCode, Runnable timeoutAction) {
+            mSourceFromQrCode = sourceFromQrCode;
+            mTimer =
+                    new CountDownTimer(WAIT_FOR_SYNC_TIMEOUT_MILLIS, 1000) {
+                        @Override
+                        public void onTick(long millisUntilFinished) {}
+
+                        @Override
+                        public void onFinish() {
+                            timeoutAction.run();
+                            ThreadUtils.postOnMainThread(
+                                    () ->
+                                            AudioStreamsDialogFragment.show(
+                                                    mFragment,
+                                                    getBroadcastUnavailableDialog(
+                                                            sourceFromQrCode.getBroadcastName())));
+                        }
+                    };
+        }
+
+        private void waitForConsume() {
+            mTimer.start();
+        }
+
+        private void cleanup() {
+            mTimer.cancel();
+            mSourceFromQrCode = null;
+        }
+
+        private void consumed(int broadcastId) {
+            if (mSourceFromQrCode == null || broadcastId != mSourceFromQrCode.getBroadcastId()) {
+                return;
+            }
+            cleanup();
+        }
+
+        private BluetoothLeBroadcastMetadata get() {
+            return mSourceFromQrCode;
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreference.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreference.java
new file mode 100644
index 0000000..33adc31
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsProgressCategoryPreference.java
@@ -0,0 +1,89 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.ProgressCategory;
+import com.android.settings.R;
+
+import java.util.ArrayList;
+import java.util.Comparator;
+import java.util.List;
+
+public class AudioStreamsProgressCategoryPreference extends ProgressCategory {
+
+    public AudioStreamsProgressCategoryPreference(Context context) {
+        super(context);
+        init();
+    }
+
+    public AudioStreamsProgressCategoryPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        init();
+    }
+
+    public AudioStreamsProgressCategoryPreference(
+            Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+        init();
+    }
+
+    public AudioStreamsProgressCategoryPreference(
+            Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+        init();
+    }
+
+    void addAudioStreamPreference(
+            @NonNull AudioStreamPreference preference,
+            Comparator<AudioStreamPreference> comparator) {
+        super.addPreference(preference);
+
+        List<AudioStreamPreference> preferences = getAllAudioStreamPreferences();
+        preferences.sort(comparator);
+        for (int i = 0; i < preferences.size(); i++) {
+            // setOrder to i + 1, since the order 0 preference should always be the
+            // "audio_streams_scan_qr_code"
+            preferences.get(i).setOrder(i + 1);
+        }
+    }
+
+    void removeAudioStreamPreferences() {
+        List<AudioStreamPreference> streams = getAllAudioStreamPreferences();
+        for (var toRemove : streams) {
+            removePreference(toRemove);
+        }
+    }
+
+    private List<AudioStreamPreference> getAllAudioStreamPreferences() {
+        List<AudioStreamPreference> streams = new ArrayList<>();
+        for (int i = 0; i < getPreferenceCount(); i++) {
+            if (getPreference(i) instanceof AudioStreamPreference) {
+                streams.add((AudioStreamPreference) getPreference(i));
+            }
+        }
+        return streams;
+    }
+
+    private void init() {
+        setEmptyTextRes(R.string.audio_streams_empty);
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
new file mode 100644
index 0000000..2366e70
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsQrCodeFragment.java
@@ -0,0 +1,124 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.graphics.Bitmap;
+import android.os.Bundle;
+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 androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settings.bluetooth.Utils;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcast;
+import com.android.settingslib.qrcode.QrCodeGenerator;
+
+import com.google.zxing.WriterException;
+
+import java.nio.charset.StandardCharsets;
+import java.util.Optional;
+
+public class AudioStreamsQrCodeFragment extends InstrumentedFragment {
+    private static final String TAG = "AudioStreamsQrCodeFragment";
+
+    @Override
+    public int getMetricsCategory() {
+        // TODO(chelseahao): update metrics id
+        return 0;
+    }
+
+    @Override
+    public final View onCreateView(
+            LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        View view = inflater.inflate(R.xml.bluetooth_audio_streams_qr_code, container, false);
+
+        BluetoothLeBroadcastMetadata broadcastMetadata = getBroadcastMetadata();
+
+        if (broadcastMetadata != null) {
+            getQrCodeBitmap(broadcastMetadata)
+                    .ifPresent(
+                            bm -> {
+                                ((ImageView) view.requireViewById(R.id.qrcode_view))
+                                        .setImageBitmap(bm);
+                                ((TextView) view.requireViewById(R.id.password))
+                                        .setText(
+                                                "Password: "
+                                                        + new String(
+                                                                broadcastMetadata
+                                                                        .getBroadcastCode(),
+                                                                StandardCharsets.UTF_8));
+                            });
+        }
+        return view;
+    }
+
+    private Optional<Bitmap> getQrCodeBitmap(@Nullable BluetoothLeBroadcastMetadata metadata) {
+        if (metadata == null) {
+            Log.d(TAG, "onCreateView: broadcastMetadata is empty!");
+            return Optional.empty();
+        }
+        String metadataStr = BluetoothLeBroadcastMetadataExt.INSTANCE.toQrCodeString(metadata);
+        if (metadataStr.isEmpty()) {
+            Log.d(TAG, "onCreateView: metadataStr is empty!");
+            return Optional.empty();
+        }
+        Log.d("chelsea", metadataStr);
+        try {
+            int qrcodeSize = getContext().getResources().getDimensionPixelSize(R.dimen.qrcode_size);
+            Bitmap bitmap = QrCodeGenerator.encodeQrCode(metadataStr, qrcodeSize);
+            return Optional.of(bitmap);
+        } catch (WriterException e) {
+            Log.d(
+                    TAG,
+                    "onCreateView: broadcastMetadata "
+                            + metadata
+                            + " qrCode generation exception "
+                            + e);
+        }
+
+        return Optional.empty();
+    }
+
+    @Nullable
+    private BluetoothLeBroadcastMetadata getBroadcastMetadata() {
+        LocalBluetoothLeBroadcast localBluetoothLeBroadcast =
+                Utils.getLocalBtManager(getActivity())
+                        .getProfileManager()
+                        .getLeAudioBroadcastProfile();
+        if (localBluetoothLeBroadcast == null) {
+            Log.d(TAG, "getBroadcastMetadataQrCode: localBluetoothLeBroadcast is null!");
+            return null;
+        }
+
+        BluetoothLeBroadcastMetadata metadata =
+                localBluetoothLeBroadcast.getLatestBluetoothLeBroadcastMetadata();
+        if (metadata == null) {
+            Log.d(TAG, "getBroadcastMetadataQrCode: metadata is null!");
+            return null;
+        }
+
+        return metadata;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsRepository.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsRepository.java
new file mode 100644
index 0000000..65245ac
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsRepository.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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothLeBroadcastMetadata;
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.util.Log;
+
+import com.android.settingslib.bluetooth.BluetoothLeBroadcastMetadataExt;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.utils.ThreadUtils;
+
+import java.util.concurrent.ConcurrentHashMap;
+
+import javax.annotation.Nullable;
+
+/** Manages the caching and storage of Bluetooth audio stream metadata. */
+public class AudioStreamsRepository {
+
+    private static final String TAG = "AudioStreamsRepository";
+    private static final boolean DEBUG = BluetoothUtils.D;
+
+    private static final String PREF_KEY = "bluetooth_audio_stream_pref";
+    private static final String METADATA_KEY = "bluetooth_audio_stream_metadata";
+
+    @Nullable
+    private static AudioStreamsRepository sInstance = null;
+
+    private AudioStreamsRepository() {}
+
+    /**
+     * Gets the single instance of AudioStreamsRepository.
+     *
+     * @return The AudioStreamsRepository instance.
+     */
+    public static synchronized AudioStreamsRepository getInstance() {
+        if (sInstance == null) {
+            sInstance = new AudioStreamsRepository();
+        }
+        return sInstance;
+    }
+
+    private final ConcurrentHashMap<Integer, BluetoothLeBroadcastMetadata>
+            mBroadcastIdToMetadataCacheMap = new ConcurrentHashMap<>();
+
+    /**
+     * Caches BluetoothLeBroadcastMetadata in a local cache.
+     *
+     * @param metadata The BluetoothLeBroadcastMetadata to be cached.
+     */
+    void cacheMetadata(BluetoothLeBroadcastMetadata metadata) {
+        if (DEBUG) {
+            Log.d(
+                    TAG,
+                    "cacheMetadata(): broadcastId "
+                            + metadata.getBroadcastId()
+                            + " saved in local cache.");
+        }
+        mBroadcastIdToMetadataCacheMap.put(metadata.getBroadcastId(), metadata);
+    }
+
+    /**
+     * Gets cached BluetoothLeBroadcastMetadata by broadcastId.
+     *
+     * @param broadcastId The broadcastId to look up in the cache.
+     * @return The cached BluetoothLeBroadcastMetadata or null if not found.
+     */
+    @Nullable
+    BluetoothLeBroadcastMetadata getCachedMetadata(int broadcastId) {
+        var metadata = mBroadcastIdToMetadataCacheMap.get(broadcastId);
+        if (metadata == null) {
+            Log.w(
+                    TAG,
+                    "getCachedMetadata(): broadcastId not found in"
+                            + " mBroadcastIdToMetadataCacheMap.");
+            return null;
+        }
+        return metadata;
+    }
+
+    /**
+     * Saves metadata to SharedPreferences asynchronously.
+     *
+     * @param context The context.
+     * @param metadata The BluetoothLeBroadcastMetadata to be saved.
+     */
+    void saveMetadata(Context context, BluetoothLeBroadcastMetadata metadata) {
+        var unused =
+                ThreadUtils.postOnBackgroundThread(
+                        () -> {
+                            SharedPreferences sharedPref =
+                                    context.getSharedPreferences(PREF_KEY, Context.MODE_PRIVATE);
+                            if (sharedPref != null) {
+                                SharedPreferences.Editor editor = sharedPref.edit();
+                                editor.putString(
+                                        METADATA_KEY,
+                                        BluetoothLeBroadcastMetadataExt.INSTANCE.toQrCodeString(
+                                                metadata));
+                                editor.apply();
+                                if (DEBUG) {
+                                    Log.d(
+                                            TAG,
+                                            "saveMetadata(): broadcastId "
+                                                    + metadata.getBroadcastId()
+                                                    + " metadata saved in storage.");
+                                }
+                            }
+                        });
+    }
+
+    /**
+     * Gets saved metadata from SharedPreferences.
+     *
+     * @param context The context.
+     * @param broadcastId The broadcastId to retrieve metadata for.
+     * @return The saved BluetoothLeBroadcastMetadata or null if not found.
+     */
+    @Nullable
+    BluetoothLeBroadcastMetadata getSavedMetadata(Context context, int broadcastId) {
+        SharedPreferences sharedPref = context.getSharedPreferences(PREF_KEY, Context.MODE_PRIVATE);
+        if (sharedPref != null) {
+            String savedMetadataStr = sharedPref.getString(METADATA_KEY, null);
+            if (savedMetadataStr == null) {
+                Log.w(TAG, "getSavedMetadata(): savedMetadataStr is null");
+                return null;
+            }
+            var savedMetadata =
+                    BluetoothLeBroadcastMetadataExt.INSTANCE.convertToBroadcastMetadata(
+                            savedMetadataStr);
+            if (savedMetadata == null || savedMetadata.getBroadcastId() != broadcastId) {
+                Log.w(TAG, "getSavedMetadata(): savedMetadata doesn't match broadcast Id.");
+                return null;
+            }
+            if (DEBUG) {
+                Log.d(
+                        TAG,
+                        "getSavedMetadata(): broadcastId "
+                                + savedMetadata.getBroadcastId()
+                                + " metadata found in storage.");
+            }
+            return savedMetadata;
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
new file mode 100644
index 0000000..24e1ca3
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/AudioStreamsScanQrCodeController.java
@@ -0,0 +1,132 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams;
+
+import android.bluetooth.BluetoothProfile;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+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.settings.bluetooth.Utils;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingUtils;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.qrcode.QrCodeScanModeActivity;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+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 AudioStreamsScanQrCodeController extends BasePreferenceController
+        implements DefaultLifecycleObserver {
+    static final int REQUEST_SCAN_BT_BROADCAST_QR_CODE = 0;
+    private static final String TAG = "AudioStreamsProgressCategoryController";
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private static final String KEY = "audio_streams_scan_qr_code";
+    private final BluetoothCallback mBluetoothCallback =
+            new BluetoothCallback() {
+                @Override
+                public void onActiveDeviceChanged(
+                        @Nullable CachedBluetoothDevice activeDevice, int bluetoothProfile) {
+                    if (bluetoothProfile == BluetoothProfile.LE_AUDIO) {
+                        updateVisibility();
+                    }
+                }
+            };
+
+    private final LocalBluetoothManager mLocalBtManager;
+    private AudioStreamsDashboardFragment mFragment;
+    private Preference mPreference;
+
+    public AudioStreamsScanQrCodeController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+    }
+
+    public void setFragment(AudioStreamsDashboardFragment fragment) {
+        mFragment = fragment;
+    }
+
+    @Override
+    public void onStart(@NonNull LifecycleOwner owner) {
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().registerCallback(mBluetoothCallback);
+        }
+    }
+
+    @Override
+    public void onStop(@NonNull LifecycleOwner owner) {
+        if (mLocalBtManager != null) {
+            mLocalBtManager.getEventManager().unregisterCallback(mBluetoothCallback);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        if (mPreference == null) {
+            Log.w(TAG, "displayPreference() mPreference is null!");
+            return;
+        }
+        mPreference.setOnPreferenceClickListener(
+                preference -> {
+                    if (mFragment == null) {
+                        Log.w(TAG, "displayPreference() mFragment is null!");
+                        return false;
+                    }
+                    if (preference.getKey().equals(KEY)) {
+                        Intent intent = new Intent(mContext, QrCodeScanModeActivity.class);
+                        intent.setAction(
+                                BluetoothBroadcastUtils.ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER);
+                        mFragment.startActivityForResult(intent, REQUEST_SCAN_BT_BROADCAST_QR_CODE);
+                        if (DEBUG) {
+                            Log.w(TAG, "displayPreference() sent intent : " + intent);
+                        }
+                        return true;
+                    }
+                    return false;
+                });
+    }
+
+    private void updateVisibility() {
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    boolean hasActiveLe =
+                            AudioSharingUtils.getActiveSinkOnAssistant(mLocalBtManager).isPresent();
+                    ThreadUtils.postOnMainThread(() -> mPreference.setVisible(hasActiveLe));
+                });
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeActivity.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeActivity.java
new file mode 100644
index 0000000..091ebcb
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeActivity.java
@@ -0,0 +1,113 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams.qrcode;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.fragment.app.FragmentTransaction;
+
+import com.android.settings.R;
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+
+/**
+ * Finding a broadcast through QR code.
+ *
+ * <p>To use intent action {@link
+ * BluetoothBroadcastUtils#ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER}, specify the bluetooth device
+ * sink of the broadcast to be provisioned in {@link
+ * BluetoothBroadcastUtils#EXTRA_BLUETOOTH_DEVICE_SINK} and check the operation for all coordinated
+ * set members throughout one session or not by {@link
+ * BluetoothBroadcastUtils#EXTRA_BLUETOOTH_SINK_IS_GROUP}.
+ */
+public class QrCodeScanModeActivity extends QrCodeScanModeBaseActivity {
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private static final String TAG = "QrCodeScanModeActivity";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+    }
+
+    @Override
+    protected void handleIntent(Intent intent) {
+        String action = intent != null ? intent.getAction() : null;
+        if (DEBUG) {
+            Log.d(TAG, "handleIntent(), action = " + action);
+        }
+
+        if (action == null) {
+            finish();
+            return;
+        }
+
+        switch (action) {
+            case BluetoothBroadcastUtils.ACTION_BLUETOOTH_LE_AUDIO_QR_CODE_SCANNER:
+                showQrCodeScannerFragment(intent);
+                break;
+            default:
+                if (DEBUG) {
+                    Log.e(TAG, "Launch with an invalid action");
+                }
+                finish();
+        }
+    }
+
+    protected void showQrCodeScannerFragment(Intent intent) {
+        if (intent == null) {
+            if (DEBUG) {
+                Log.d(TAG, "intent is null, can not get bluetooth information from intent.");
+            }
+            return;
+        }
+
+        if (DEBUG) {
+            Log.d(TAG, "showQrCodeScannerFragment");
+        }
+
+        if (DEBUG) {
+            Log.d(TAG, "get extra from intent");
+        }
+
+        QrCodeScanModeFragment fragment =
+                (QrCodeScanModeFragment)
+                        mFragmentManager.findFragmentByTag(
+                                BluetoothBroadcastUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
+
+        if (fragment == null) {
+            fragment = new QrCodeScanModeFragment();
+        } else {
+            if (fragment.isVisible()) {
+                return;
+            }
+
+            // When the fragment in back stack but not on top of the stack, we can simply pop
+            // stack because current fragment transactions are arranged in an order
+            mFragmentManager.popBackStackImmediate();
+            return;
+        }
+        final FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction();
+
+        fragmentTransaction.replace(
+                R.id.fragment_container,
+                fragment,
+                BluetoothBroadcastUtils.TAG_FRAGMENT_QR_CODE_SCANNER);
+        fragmentTransaction.commit();
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeBaseActivity.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeBaseActivity.java
new file mode 100644
index 0000000..637014a
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeBaseActivity.java
@@ -0,0 +1,64 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams.qrcode;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.SystemProperties;
+
+import androidx.fragment.app.FragmentManager;
+
+import com.android.settings.R;
+import com.android.settingslib.core.lifecycle.ObservableActivity;
+
+import com.google.android.setupdesign.util.ThemeHelper;
+import com.google.android.setupdesign.util.ThemeResolver;
+
+public abstract class QrCodeScanModeBaseActivity extends ObservableActivity {
+
+    private static final String THEME_KEY = "setupwizard.theme";
+    private static final String THEME_DEFAULT_VALUE = "SudThemeGlifV3_DayNight";
+    protected FragmentManager mFragmentManager;
+
+    protected abstract void handleIntent(Intent intent);
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        int defaultTheme =
+                ThemeHelper.isSetupWizardDayNightEnabled(this)
+                        ? com.google.android.setupdesign.R.style.SudThemeGlifV3_DayNight
+                        : com.google.android.setupdesign.R.style.SudThemeGlifV3_Light;
+        ThemeResolver themeResolver =
+                new ThemeResolver.Builder(ThemeResolver.getDefault())
+                        .setDefaultTheme(defaultTheme)
+                        .setUseDayNight(true)
+                        .build();
+        setTheme(
+                themeResolver.resolve(
+                        SystemProperties.get(THEME_KEY, THEME_DEFAULT_VALUE),
+                        /* suppressDayNight= */ !ThemeHelper.isSetupWizardDayNightEnabled(this)));
+
+        setContentView(R.layout.qrcode_scan_mode_activity);
+        mFragmentManager = getSupportFragmentManager();
+
+        if (savedInstanceState == null) {
+            handleIntent(getIntent());
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeFragment.java b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeFragment.java
new file mode 100644
index 0000000..378128d
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/audiosharing/audiostreams/qrcode/QrCodeScanModeFragment.java
@@ -0,0 +1,269 @@
+/*
+ * 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.connecteddevice.audiosharing.audiostreams.qrcode;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.Matrix;
+import android.graphics.Outline;
+import android.graphics.Rect;
+import android.graphics.SurfaceTexture;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Message;
+import android.os.VibrationEffect;
+import android.os.Vibrator;
+import android.util.Log;
+import android.util.Size;
+import android.view.LayoutInflater;
+import android.view.TextureView;
+import android.view.View;
+import android.view.ViewGroup;
+import android.view.ViewOutlineProvider;
+import android.view.accessibility.AccessibilityEvent;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.StringRes;
+
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settingslib.bluetooth.BluetoothBroadcastUtils;
+import com.android.settingslib.bluetooth.BluetoothUtils;
+import com.android.settingslib.qrcode.QrCamera;
+
+import java.time.Duration;
+
+public class QrCodeScanModeFragment extends InstrumentedFragment
+        implements TextureView.SurfaceTextureListener, QrCamera.ScannerCallback {
+    private static final boolean DEBUG = BluetoothUtils.D;
+    private static final String TAG = "QrCodeScanModeFragment";
+
+    /** Message sent to hide error message */
+    private static final int MESSAGE_HIDE_ERROR_MESSAGE = 1;
+
+    /** Message sent to show error message */
+    private static final int MESSAGE_SHOW_ERROR_MESSAGE = 2;
+
+    /** Message sent to broadcast QR code */
+    private static final int MESSAGE_SCAN_BROADCAST_SUCCESS = 3;
+
+    private static final long SHOW_ERROR_MESSAGE_INTERVAL = 10000;
+    private static final long SHOW_SUCCESS_SQUARE_INTERVAL = 1000;
+
+    private static final Duration VIBRATE_DURATION_QR_CODE_RECOGNITION = Duration.ofMillis(3);
+
+    public static final String KEY_BROADCAST_METADATA = "key_broadcast_metadata";
+
+    private int mCornerRadius;
+    private String mBroadcastMetadata;
+    private Context mContext;
+    private QrCamera mCamera;
+    private TextureView mTextureView;
+    private TextView mSummary;
+    private TextView mErrorMessage;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        mContext = getContext();
+    }
+
+    @Override
+    public final View onCreateView(
+            LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
+        return inflater.inflate(
+                R.layout.qrcode_scanner_fragment, container, /* attachToRoot */ false);
+    }
+
+    @Override
+    public void onViewCreated(View view, Bundle savedInstanceState) {
+        mTextureView = view.findViewById(R.id.preview_view);
+        mCornerRadius =
+                mContext.getResources().getDimensionPixelSize(R.dimen.qrcode_preview_radius);
+        mTextureView.setSurfaceTextureListener(this);
+        mTextureView.setOutlineProvider(
+                new ViewOutlineProvider() {
+                    @Override
+                    public void getOutline(View view, Outline outline) {
+                        outline.setRoundRect(
+                                0, 0, view.getWidth(), view.getHeight(), mCornerRadius);
+                    }
+                });
+        mTextureView.setClipToOutline(true);
+        mErrorMessage = view.findViewById(R.id.error_message);
+    }
+
+    private void initCamera(SurfaceTexture surface) {
+        // Check if the camera has already created.
+        if (mCamera == null) {
+            mCamera = new QrCamera(mContext, this);
+            mCamera.start(surface);
+        }
+    }
+
+    private void destroyCamera() {
+        if (mCamera != null) {
+            mCamera.stop();
+            mCamera = null;
+        }
+    }
+
+    @Override
+    public void onSurfaceTextureAvailable(@NonNull SurfaceTexture surface, int width, int height) {
+        initCamera(surface);
+    }
+
+    @Override
+    public void onSurfaceTextureSizeChanged(
+            @NonNull SurfaceTexture surface, int width, int height) {}
+
+    @Override
+    public boolean onSurfaceTextureDestroyed(@NonNull SurfaceTexture surface) {
+        destroyCamera();
+        return true;
+    }
+
+    @Override
+    public void onSurfaceTextureUpdated(@NonNull SurfaceTexture surface) {}
+
+    @Override
+    public void handleSuccessfulResult(String qrCode) {
+        if (DEBUG) {
+            Log.d(TAG, "handleSuccessfulResult(), get the qr code string.");
+        }
+        mBroadcastMetadata = qrCode;
+        handleBtLeAudioScanner();
+    }
+
+    @Override
+    public void handleCameraFailure() {
+        destroyCamera();
+    }
+
+    @Override
+    public Size getViewSize() {
+        return new Size(mTextureView.getWidth(), mTextureView.getHeight());
+    }
+
+    @Override
+    public Rect getFramePosition(Size previewSize, int cameraOrientation) {
+        return new Rect(0, 0, previewSize.getHeight(), previewSize.getHeight());
+    }
+
+    @Override
+    public void setTransform(Matrix transform) {
+        mTextureView.setTransform(transform);
+    }
+
+    @Override
+    public boolean isValid(String qrCode) {
+        if (qrCode.startsWith(BluetoothBroadcastUtils.SCHEME_BT_BROADCAST_METADATA)) {
+            return true;
+        } else {
+            showErrorMessage(R.string.bt_le_audio_qr_code_is_not_valid_format);
+            return false;
+        }
+    }
+
+    protected boolean isDecodeTaskAlive() {
+        return mCamera != null && mCamera.isDecodeTaskAlive();
+    }
+
+    private final Handler mHandler =
+            new Handler() {
+                @Override
+                public void handleMessage(Message msg) {
+                    switch (msg.what) {
+                        case MESSAGE_HIDE_ERROR_MESSAGE:
+                            mErrorMessage.setVisibility(View.INVISIBLE);
+                            break;
+
+                        case MESSAGE_SHOW_ERROR_MESSAGE:
+                            final String errorMessage = (String) msg.obj;
+
+                            mErrorMessage.setVisibility(View.VISIBLE);
+                            mErrorMessage.setText(errorMessage);
+                            mErrorMessage.sendAccessibilityEvent(
+                                    AccessibilityEvent.TYPE_WINDOW_STATE_CHANGED);
+
+                            // Cancel any pending messages to hide error view and requeue the
+                            // message so
+                            // user has time to see error
+                            removeMessages(MESSAGE_HIDE_ERROR_MESSAGE);
+                            sendEmptyMessageDelayed(
+                                    MESSAGE_HIDE_ERROR_MESSAGE, SHOW_ERROR_MESSAGE_INTERVAL);
+                            break;
+
+                        case MESSAGE_SCAN_BROADCAST_SUCCESS:
+                            Log.d(TAG, "scan success");
+                            final Intent resultIntent = new Intent();
+                            resultIntent.putExtra(KEY_BROADCAST_METADATA, mBroadcastMetadata);
+                            getActivity().setResult(Activity.RESULT_OK, resultIntent);
+                            notifyUserForQrCodeRecognition();
+                            break;
+                        default:
+                    }
+                }
+            };
+
+    private void notifyUserForQrCodeRecognition() {
+        if (mCamera != null) {
+            mCamera.stop();
+        }
+
+        mErrorMessage.setVisibility(View.INVISIBLE);
+        mTextureView.setVisibility(View.INVISIBLE);
+
+        triggerVibrationForQrCodeRecognition(getContext());
+
+        getActivity().finish();
+    }
+
+    private static void triggerVibrationForQrCodeRecognition(Context context) {
+        Vibrator vibrator = context.getSystemService(Vibrator.class);
+        if (vibrator == null) {
+            return;
+        }
+        vibrator.vibrate(
+                VibrationEffect.createOneShot(
+                        VIBRATE_DURATION_QR_CODE_RECOGNITION.toMillis(),
+                        VibrationEffect.DEFAULT_AMPLITUDE));
+    }
+
+    private void showErrorMessage(@StringRes int messageResId) {
+        final Message message =
+                mHandler.obtainMessage(MESSAGE_SHOW_ERROR_MESSAGE, getString(messageResId));
+        message.sendToTarget();
+    }
+
+    private void handleBtLeAudioScanner() {
+        Message message = mHandler.obtainMessage(MESSAGE_SCAN_BROADCAST_SUCCESS);
+        mHandler.sendMessageDelayed(message, SHOW_SUCCESS_SQUARE_INTERVAL);
+    }
+
+    private void updateSummary() {
+        mSummary.setText(getString(R.string.bt_le_audio_scan_qr_code_scanner));
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.LE_AUDIO_BROADCAST_SCAN_QR_CODE;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/dock/DockUpdater.java b/src/com/android/settings/connecteddevice/dock/DockUpdater.java
index 99ac124..1bc3c56 100644
--- a/src/com/android/settings/connecteddevice/dock/DockUpdater.java
+++ b/src/com/android/settings/connecteddevice/dock/DockUpdater.java
@@ -15,9 +15,10 @@
  */
 package com.android.settings.connecteddevice.dock;
 
-import android.annotation.NonNull;
 import android.content.Context;
 
+import androidx.annotation.NonNull;
+
 /**
  * Update the dock devices. It notifies the upper level whether to add/remove the preference
  * through {@link DevicePreferenceCallback}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceDashboardFragment.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceDashboardFragment.java
new file mode 100644
index 0000000..2c6c112
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceDashboardFragment.java
@@ -0,0 +1,55 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import android.app.settings.SettingsEnums;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+/** This fragment contains list of available FastPair device */
+@SearchIndexable(forTarget = SearchIndexable.MOBILE)
+public class FastPairDeviceDashboardFragment extends DashboardFragment {
+
+    private static final String TAG = "FastPairDeviceFrag";
+
+    @Override
+    public int getHelpResource() {
+        return R.string.help_url_connected_devices_fast_pair_devices;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.fast_pair_devices;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.FAST_PAIR_DEVICES;
+    }
+
+    /** For Search. */
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.fast_pair_devices);
+}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java
new file mode 100644
index 0000000..52ad91c
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupController.java
@@ -0,0 +1,168 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+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;
+
+/**
+ * Controller to maintain the {@link PreferenceGroup} for all Fast Pair devices. It uses {@link
+ * DevicePreferenceCallback} to add/remove {@link Preference}
+ */
+public class FastPairDeviceGroupController extends BasePreferenceController
+        implements PreferenceControllerMixin, DefaultLifecycleObserver, DevicePreferenceCallback {
+
+    private static final String TAG = "FastPairDeviceGroupCtr";
+
+    private static final String KEY = "fast_pair_device_list";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    @VisibleForTesting PreferenceGroup mPreferenceGroup;
+    private final FastPairDeviceUpdater mFastPairDeviceUpdater;
+    private final BluetoothAdapter mBluetoothAdapter;
+    @VisibleForTesting IntentFilter mIntentFilter;
+
+    @VisibleForTesting
+    BroadcastReceiver mReceiver =
+            new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    updatePreferenceVisibility();
+                }
+            };
+
+    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;
+        }
+        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+        mIntentFilter = new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED);
+    }
+
+    @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);
+    }
+
+    @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);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        mPreferenceGroup = screen.findPreference(KEY);
+        mPreferenceGroup.setVisible(false);
+
+        if (isAvailable()) {
+            final Context context = screen.getContext();
+            mFastPairDeviceUpdater.setPreferenceContext(context);
+            mFastPairDeviceUpdater.forceUpdate();
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
+                        && mFastPairDeviceUpdater != null)
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void onDeviceAdded(Preference preference) {
+        if (preference == null) {
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceAdded receives null preference. Ignore.");
+            }
+            return;
+        }
+        mPreferenceGroup.addPreference(preference);
+        updatePreferenceVisibility();
+    }
+
+    @Override
+    public void onDeviceRemoved(Preference preference) {
+        if (preference == null) {
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceRemoved receives null preference. Ignore.");
+            }
+            return;
+        }
+        mPreferenceGroup.removePreference(preference);
+        updatePreferenceVisibility();
+    }
+
+    private void updatePreferenceVisibility() {
+        mPreferenceGroup.setVisible(
+                mBluetoothAdapter != null
+                        && mBluetoothAdapter.isEnabled()
+                        && mPreferenceGroup.getPreferenceCount() > 0);
+    }
+
+    @VisibleForTesting
+    public void setPreferenceGroup(PreferenceGroup preferenceGroup) {
+        mPreferenceGroup = preferenceGroup;
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java
new file mode 100644
index 0000000..a1c6d18
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceController.java
@@ -0,0 +1,211 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentFilter;
+import android.content.pm.PackageManager;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.DefaultLifecycleObserver;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceScreen;
+
+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 java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+/**
+ * Controller to maintain the {@link PreferenceGroup} for all Fast Pair devices and a "See all"
+ * Preference. It uses {@link DevicePreferenceCallback} to add/remove {@link Preference}.
+ */
+public class FastPairDevicePreferenceController extends BasePreferenceController
+        implements DefaultLifecycleObserver, DevicePreferenceCallback {
+
+    private static final String TAG = "FastPairDevicePrefCtr";
+    private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
+
+    private static final int MAX_DEVICE_NUM = 3;
+    private static final String KEY_SEE_ALL = "fast_pair_devices_see_all";
+
+    private final List<Preference> mPreferenceList = new ArrayList<>();
+
+    private PreferenceGroup mPreferenceGroup;
+    private FastPairDeviceUpdater mFastPairDeviceUpdater;
+    private BluetoothAdapter mBluetoothAdapter;
+
+    @VisibleForTesting Preference mSeeAllPreference;
+    @VisibleForTesting IntentFilter mIntentFilter;
+
+    @VisibleForTesting
+    BroadcastReceiver mReceiver =
+            new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    updatePreferenceVisibility();
+                }
+            };
+
+    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;
+        }
+        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);
+    }
+
+    @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);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceGroup = screen.findPreference(getPreferenceKey());
+        mSeeAllPreference = mPreferenceGroup.findPreference(KEY_SEE_ALL);
+        updatePreferenceVisibility();
+        if (isAvailable()) {
+            final Context context = screen.getContext();
+            mFastPairDeviceUpdater.setPreferenceContext(context);
+            mFastPairDeviceUpdater.forceUpdate();
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (mContext.getPackageManager().hasSystemFeature(PackageManager.FEATURE_BLUETOOTH)
+                        && mFastPairDeviceUpdater != null)
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void onDeviceAdded(Preference preference) {
+        if (preference == null) {
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceAdd receives null preference. Ignore.");
+            }
+            return;
+        }
+
+        // Keep showing the latest MAX_DEVICE_NUM devices.
+        // The preference for the latest device has top preference order.
+        int idx = Collections.binarySearch(mPreferenceList, preference);
+        // Binary search returns the index of the search key if it is contained in the list;
+        // otherwise, (-(insertion point) - 1).
+        // The insertion point is defined as the point at which the key would be inserted into the
+        // list: the index of the first element greater than the key, or list.size() if all elements
+        // in the list are less than the specified key.
+        if (idx >= 0) {
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceAdd receives duplicate preference. Ignore.");
+            }
+            return;
+        }
+        idx = -1 * (idx + 1);
+        mPreferenceList.add(idx, preference);
+        if (idx < MAX_DEVICE_NUM) {
+            if (mPreferenceList.size() > MAX_DEVICE_NUM) {
+                mPreferenceGroup.removePreference(mPreferenceList.get(MAX_DEVICE_NUM));
+            }
+            mPreferenceGroup.addPreference(preference);
+        }
+        updatePreferenceVisibility();
+    }
+
+    @Override
+    public void onDeviceRemoved(Preference preference) {
+        if (preference == null) {
+            if (DEBUG) {
+                Log.d(TAG, "onDeviceRemoved receives null preference. Ignore.");
+            }
+            return;
+        }
+
+        // Keep showing the latest MAX_DEVICE_NUM devices.
+        // The preference for the latest device has top preference order.
+        final int idx = mPreferenceList.indexOf(preference);
+        mPreferenceList.remove(preference);
+        if (idx < MAX_DEVICE_NUM) {
+            mPreferenceGroup.removePreference(preference);
+            if (mPreferenceList.size() >= MAX_DEVICE_NUM) {
+                mPreferenceGroup.addPreference(mPreferenceList.get(MAX_DEVICE_NUM - 1));
+            }
+        }
+        updatePreferenceVisibility();
+    }
+
+    @VisibleForTesting
+    void setPreferenceGroup(PreferenceGroup preferenceGroup) {
+        mPreferenceGroup = preferenceGroup;
+    }
+
+    @VisibleForTesting
+    void updatePreferenceVisibility() {
+        if (mBluetoothAdapter != null
+                && mBluetoothAdapter.isEnabled()
+                && mPreferenceList.size() > 0) {
+            mPreferenceGroup.setVisible(true);
+            mSeeAllPreference.setVisible(mPreferenceList.size() > MAX_DEVICE_NUM);
+        } else {
+            mPreferenceGroup.setVisible(false);
+            mSeeAllPreference.setVisible(false);
+        }
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java
new file mode 100644
index 0000000..5d30f7e
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceUpdater.java
@@ -0,0 +1,40 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import android.content.Context;
+
+import androidx.annotation.Nullable;
+
+/**
+ * Updates the Fast Pair devices. It notifies the upper level whether to add/remove the preference
+ * through {@link DevicePreferenceCallback}
+ */
+public interface FastPairDeviceUpdater {
+
+    /** Registers the Fast Pair event callback and update the list */
+    default void registerCallback() {}
+
+    /** Unregisters the Fast Pair event callback */
+    default void unregisterCallback() {}
+
+    /** Forces to update the list of Fast Pair devices */
+    default void forceUpdate() {}
+
+    /** Sets the context to generate the {@link Preference}, so it could get the correct theme. */
+    default void setPreferenceContext(@Nullable Context preferenceContext) {}
+}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProvider.java b/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProvider.java
new file mode 100644
index 0000000..4673e7b
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProvider.java
@@ -0,0 +1,32 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import android.content.Context;
+
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+
+/**
+ * Feature provider for the Fast Pair device updater.
+ */
+public interface FastPairFeatureProvider {
+    /**
+     * Returns the FastPairDeviceUpdater of the account associated Fast Pair device
+     */
+    FastPairDeviceUpdater getFastPairDeviceUpdater(
+            Context context, DevicePreferenceCallback devicePreferenceCallback);
+}
diff --git a/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProviderImpl.java b/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProviderImpl.java
new file mode 100644
index 0000000..ef6f3b5
--- /dev/null
+++ b/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProviderImpl.java
@@ -0,0 +1,33 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import android.content.Context;
+
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+
+/**
+ * Default implementation for {@link FastPairFeatureProvider}
+ */
+public class FastPairFeatureProviderImpl implements FastPairFeatureProvider {
+    @Override
+    public FastPairDeviceUpdater getFastPairDeviceUpdater(
+            Context context, DevicePreferenceCallback devicePreferenceCallback) {
+        return new FastPairDeviceUpdater() {
+        };
+    }
+}
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java b/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
index 1187c59..5bf97ab 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDeviceUpdater.java
@@ -71,7 +71,7 @@
         mFragment = fragment;
         mRegisteredBatteryCallbackIds = new ArrayList<>();
         mDevicePreferenceCallback = devicePreferenceCallback;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mContext = context;
         mInputManager = context.getSystemService(InputManager.class);
     }
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
index 985c8b7..cd23103 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusDevicesController.java
@@ -24,6 +24,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
+import android.hardware.input.InputSettings;
 import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -32,6 +33,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.InputDevice;
+import android.view.KeyEvent;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
 
@@ -40,7 +42,8 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.profileselector.ProfileSelectDialog;
@@ -71,6 +74,8 @@
     static final String KEY_IGNORE_BUTTON = "ignore_button";
     @VisibleForTesting
     static final String KEY_DEFAULT_NOTES = "default_notes";
+    @VisibleForTesting
+    static final String KEY_SHOW_STYLUS_POINTER_ICON = "show_stylus_pointer_icon";
 
     private static final String TAG = "StylusDevicesController";
 
@@ -106,6 +111,17 @@
             return null;
         }
 
+        // Check if the connected stylus supports the tail button. A connected device is when input
+        // device is available (mInputDevice != null). For a cached device (mInputDevice == null)
+        // there isn't way to check if the device supports the button so assume it does.
+        if (mInputDevice != null) {
+            boolean doesStylusSupportTailButton =
+                    mInputDevice.hasKeys(KeyEvent.KEYCODE_STYLUS_BUTTON_TAIL)[0];
+            if (!doesStylusSupportTailButton) {
+                return null;
+            }
+        }
+
         Preference pref = preference == null ? new Preference(mContext) : preference;
         pref.setKey(KEY_DEFAULT_NOTES);
         pref.setTitle(mContext.getString(R.string.stylus_default_notes_app));
@@ -157,8 +173,8 @@
         return pref;
     }
 
-    private SwitchPreference createButtonPressPreference() {
-        SwitchPreference pref = new SwitchPreference(mContext);
+    private TwoStatePreference createButtonPressPreference() {
+        TwoStatePreference pref = new SwitchPreferenceCompat(mContext);
         pref.setKey(KEY_IGNORE_BUTTON);
         pref.setTitle(mContext.getString(R.string.stylus_ignore_button));
         pref.setIcon(R.drawable.ic_block);
@@ -168,6 +184,26 @@
         return pref;
     }
 
+    @Nullable
+    private SwitchPreferenceCompat createShowStylusPointerIconPreference(
+            SwitchPreferenceCompat preference) {
+        if (!mContext.getResources()
+                .getBoolean(com.android.internal.R.bool.config_enableStylusPointerIcon)) {
+            // If the config is not enabled, no need to show the preference to user
+            return null;
+        }
+        SwitchPreferenceCompat pref = preference == null ? new SwitchPreferenceCompat(mContext)
+                : preference;
+        pref.setKey(KEY_SHOW_STYLUS_POINTER_ICON);
+        pref.setTitle(mContext.getString(R.string.show_stylus_pointer_icon));
+        pref.setIcon(R.drawable.ic_stylus);
+        pref.setOnPreferenceClickListener(this);
+        pref.setChecked(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.STYLUS_POINTER_ICON_ENABLED,
+                InputSettings.DEFAULT_STYLUS_POINTER_ICON_ENABLED) == 1);
+        return pref;
+    }
+
     @Override
     public boolean onPreferenceClick(Preference preference) {
         String key = preference.getKey();
@@ -198,7 +234,12 @@
             case KEY_IGNORE_BUTTON:
                 Settings.Secure.putInt(mContext.getContentResolver(),
                         Secure.STYLUS_BUTTONS_ENABLED,
-                        ((SwitchPreference) preference).isChecked() ? 0 : 1);
+                        ((TwoStatePreference) preference).isChecked() ? 0 : 1);
+                break;
+            case KEY_SHOW_STYLUS_POINTER_ICON:
+                Settings.Secure.putInt(mContext.getContentResolver(),
+                        Secure.STYLUS_POINTER_ICON_ENABLED,
+                        ((SwitchPreferenceCompat) preference).isChecked() ? 1 : 0);
                 break;
         }
         return true;
@@ -255,6 +296,13 @@
         if (buttonPref == null) {
             mPreferencesContainer.addPreference(createButtonPressPreference());
         }
+        SwitchPreferenceCompat currShowStylusPointerIconPref = mPreferencesContainer
+                .findPreference(KEY_SHOW_STYLUS_POINTER_ICON);
+        Preference showStylusPointerIconPref =
+                createShowStylusPointerIconPreference(currShowStylusPointerIconPref);
+        if (currShowStylusPointerIconPref == null && showStylusPointerIconPref != null) {
+            mPreferencesContainer.addPreference(showStylusPointerIconPref);
+        }
     }
 
     private boolean currentInputMethodSupportsHandwriting() {
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java
index 7ca35d8..106ad70 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProvider.java
@@ -25,7 +25,7 @@
 
 import javax.annotation.Nullable;
 
-/** FeatureProvider for USB settings */
+/** FeatureProvider for USB settings **/
 public interface StylusFeatureProvider {
 
     /**
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java
index be5ae40..9166c13 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusFeatureProviderImpl.java
@@ -23,7 +23,8 @@
 
 import java.util.List;
 
-/** Default implementation for StylusFeatureProvider */
+
+/** Default implementation for StylusFeatureProvider **/
 public class StylusFeatureProviderImpl implements StylusFeatureProvider {
     @Override
     public boolean isUsbFirmwareUpdateEnabled(UsbDevice usbDevice) {
diff --git a/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java b/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
index 9c567a4..a89925e 100644
--- a/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
+++ b/src/com/android/settings/connecteddevice/stylus/StylusUsbFirmwareController.java
@@ -35,7 +35,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
-/** Preference controller for stylus firmware updates via USB */
+/** Preference controller for stylus firmware updates via USB **/
 public class StylusUsbFirmwareController extends BasePreferenceController
         implements LifecycleObserver, OnStart, OnStop {
     private static final String TAG = StylusUsbFirmwareController.class.getSimpleName();
@@ -85,8 +85,8 @@
             mPreferenceScreen.removePreference(mPreference);
         }
         if (hasUsbStylusFirmwareUpdateFeature(mStylusUsbDevice)) {
-            StylusFeatureProvider featureProvider = FeatureFactory.getFactory(
-                    mContext).getStylusFeatureProvider();
+            StylusFeatureProvider featureProvider =
+                    FeatureFactory.getFeatureFactory().getStylusFeatureProvider();
             List<Preference> preferences =
                     featureProvider.getUsbFirmwareUpdatePreferences(mContext, mStylusUsbDevice);
 
@@ -134,8 +134,8 @@
     static boolean hasUsbStylusFirmwareUpdateFeature(UsbDevice usbDevice) {
         if (usbDevice == null) return false;
 
-        StylusFeatureProvider featureProvider = FeatureFactory.getFactory(
-                FeatureFactory.getAppContext()).getStylusFeatureProvider();
+        StylusFeatureProvider featureProvider =
+                FeatureFactory.getFeatureFactory().getStylusFeatureProvider();
 
         return featureProvider.isUsbFirmwareUpdateEnabled(usbDevice);
     }
diff --git a/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java b/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java
index 41d88d2..10b875f 100644
--- a/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java
+++ b/src/com/android/settings/connecteddevice/stylus/UsbStylusBroadcastReceiver.java
@@ -23,7 +23,7 @@
 import android.hardware.usb.UsbDevice;
 import android.hardware.usb.UsbManager;
 
-/** Broadcast receiver for styluses connected via USB */
+/** Broadcast receiver for styluses connected via USB **/
 public class UsbStylusBroadcastReceiver extends BroadcastReceiver {
     private Context mContext;
     private UsbStylusConnectionListener mUsbConnectionListener;
@@ -35,7 +35,7 @@
         mUsbConnectionListener = usbConnectionListener;
     }
 
-    /** Registers the receiver. */
+    /** Registers the receiver. **/
     public void register() {
         if (!mListeningToUsbEvents) {
             final IntentFilter intentFilter = new IntentFilter();
@@ -50,7 +50,7 @@
         }
     }
 
-    /** Unregisters the receiver. */
+    /** Unregisters the receiver. **/
     public void unregister() {
         if (mListeningToUsbEvents) {
             mContext.unregisterReceiver(this);
diff --git a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
index d76ac69..221aab5 100644
--- a/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
+++ b/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdater.java
@@ -78,8 +78,7 @@
         mUsbBackend = usbBackend;
         mUsbReceiver = new UsbConnectionBroadcastReceiver(context,
                 mUsbConnectionListener, mUsbBackend);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mFragment.getContext())
-                .getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void registerCallback() {
diff --git a/src/com/android/settings/connecteddevice/usb/UsbBackend.java b/src/com/android/settings/connecteddevice/usb/UsbBackend.java
index 2f8b5c3..d194499 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbBackend.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbBackend.java
@@ -22,7 +22,6 @@
 import static android.service.usb.UsbPortStatusProto.DATA_ROLE_NONE;
 import static android.service.usb.UsbPortStatusProto.POWER_ROLE_SINK;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.hardware.usb.UsbManager;
@@ -32,6 +31,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import java.util.List;
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java
index 1219211..488de19 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsController.java
@@ -23,6 +23,8 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.flags.Flags;
+import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 /**
@@ -61,4 +63,16 @@
      */
     @UiThread
     protected abstract void refresh(boolean connected, long functions, int powerRole, int dataRole);
+
+    /** Protects given action with an auth challenge. */
+    protected final void requireAuthAndExecute(Runnable action) {
+        if (Flags.enableAuthChallengeForUsbPreferences() && !mFragment.isUserAuthenticated()) {
+            WifiDppUtils.showLockScreen(mContext, () -> {
+                mFragment.setUserAuthenticated(true);
+                action.run();
+            });
+        } else {
+            action.run();
+        }
+    }
 }
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java
index 6d455a6..8782c79 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleController.java
@@ -98,17 +98,19 @@
 
     @Override
     public void onRadioButtonClicked(SelectorWithWidgetPreference preference) {
-        int role = UsbBackend.dataRoleFromString(preference.getKey());
-        if (role != mUsbBackend.getDataRole() && mNextRolePref == null
-                && !Utils.isMonkeyRunning()) {
-            mUsbBackend.setDataRole(role);
-            mNextRolePref = preference;
-            preference.setSummary(R.string.usb_switching);
+        requireAuthAndExecute(() -> {
+            int role = UsbBackend.dataRoleFromString(preference.getKey());
+            if (role != mUsbBackend.getDataRole() && mNextRolePref == null
+                    && !Utils.isMonkeyRunning()) {
+                mUsbBackend.setDataRole(role);
+                mNextRolePref = preference;
+                preference.setSummary(R.string.usb_switching);
 
-            mHandler.postDelayed(mFailureCallback,
-                    mUsbBackend.areAllRolesSupported() ? UsbBackend.PD_ROLE_SWAP_TIMEOUT_MS
-                            : UsbBackend.NONPD_ROLE_SWAP_TIMEOUT_MS);
-        }
+                mHandler.postDelayed(mFailureCallback,
+                        mUsbBackend.areAllRolesSupported() ? UsbBackend.PD_ROLE_SWAP_TIMEOUT_MS
+                                : UsbBackend.NONPD_ROLE_SWAP_TIMEOUT_MS);
+            }
+        });
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
index 0c94d19..f8cabbc 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFragment.java
@@ -45,6 +45,7 @@
 
     private List<UsbDetailsController> mControllers;
     private UsbBackend mUsbBackend;
+    private boolean mUserAuthenticated = false;
 
     @VisibleForTesting
     UsbConnectionBroadcastReceiver mUsbReceiver;
@@ -56,6 +57,20 @@
                 }
             };
 
+    boolean isUserAuthenticated() {
+        return mUserAuthenticated;
+    }
+
+    void setUserAuthenticated(boolean userAuthenticated) {
+        mUserAuthenticated = userAuthenticated;
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        mUserAuthenticated = false;
+    }
+
     @Override
     public void onViewCreated(View view, Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
index 88e20b6..04fab7d 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsController.java
@@ -130,37 +130,39 @@
 
     @Override
     public void onRadioButtonClicked(SelectorWithWidgetPreference preference) {
-        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;
-
-            //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);
+        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;
 
-            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 isClickEventIgnored(long function, long previousFunction) {
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java
index e151258..39d7c75 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderController.java
@@ -50,7 +50,7 @@
     protected void refresh(boolean connected, long functions, int powerRole, int dataRole) {
         mHeaderController.setLabel(mContext.getString(R.string.usb_pref));
         mHeaderController.setIcon(mContext.getDrawable(R.drawable.ic_usb));
-        mHeaderController.done(mFragment.getActivity(), true /* rebindActions */);
+        mHeaderController.done(true /* rebindActions */);
     }
 
     @Override
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleController.java
index 07bd175..f00435a 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleController.java
@@ -26,7 +26,8 @@
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -39,7 +40,7 @@
     private static final String KEY_USB_USE_POWER_ONLY = "usb_use_power_only";
 
     private PreferenceCategory mPreferenceCategory;
-    private SwitchPreference mSwitchPreference;
+    private TwoStatePreference mSwitchPreference;
 
     private int mNextPowerRole;
 
@@ -60,7 +61,7 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mPreferenceCategory = screen.findPreference(getPreferenceKey());
-        mSwitchPreference = new SwitchPreference(mPreferenceCategory.getContext());
+        mSwitchPreference = new SwitchPreferenceCompat(mPreferenceCategory.getContext());
         mSwitchPreference.setTitle(R.string.usb_use_power_only);
         mSwitchPreference.setKey(KEY_USB_USE_POWER_ONLY);
         mSwitchPreference.setOnPreferenceClickListener(this);
diff --git a/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpController.java b/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpController.java
index 280e1d2..a023171 100644
--- a/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpController.java
+++ b/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpController.java
@@ -25,7 +25,8 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -41,7 +42,7 @@
     private static final String KEY_USB_TRANSCODE_FILES = "usb_transcode_files";
 
     private PreferenceCategory mPreferenceCategory;
-    private SwitchPreference mSwitchPreference;
+    private TwoStatePreference mSwitchPreference;
 
     public UsbDetailsTranscodeMtpController(Context context, UsbDetailsFragment fragment,
             UsbBackend backend) {
@@ -53,7 +54,7 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         mPreferenceCategory = screen.findPreference(getPreferenceKey());
-        mSwitchPreference = new SwitchPreference(mPreferenceCategory.getContext());
+        mSwitchPreference = new SwitchPreferenceCompat(mPreferenceCategory.getContext());
         mSwitchPreference.setTitle(R.string.usb_transcode_files);
         mSwitchPreference.setKey(KEY_USB_TRANSCODE_FILES);
         mSwitchPreference.setOnPreferenceClickListener(this);
@@ -77,13 +78,15 @@
 
     @Override
     public boolean onPreferenceClick(Preference preference) {
-        SystemProperties.set(TRANSCODE_MTP_SYS_PROP_KEY,
-                Boolean.toString(mSwitchPreference.isChecked()));
+        requireAuthAndExecute(() -> {
+            SystemProperties.set(TRANSCODE_MTP_SYS_PROP_KEY,
+                    Boolean.toString(mSwitchPreference.isChecked()));
 
-        final long previousFunctions = mUsbBackend.getCurrentFunctions();
-        // Toggle the MTP connection to reload file sizes for files shared via MTP clients
-        mUsbBackend.setCurrentFunctions(previousFunctions & ~UsbManager.FUNCTION_MTP);
-        mUsbBackend.setCurrentFunctions(previousFunctions);
+            final long previousFunctions = mUsbBackend.getCurrentFunctions();
+            // Toggle the MTP connection to reload file sizes for files shared via MTP clients
+            mUsbBackend.setCurrentFunctions(previousFunctions & ~UsbManager.FUNCTION_MTP);
+            mUsbBackend.setCurrentFunctions(previousFunctions);
+        });
 
         return true;
     }
diff --git a/src/com/android/settings/core/CategoryMixin.java b/src/com/android/settings/core/CategoryMixin.java
index 151ed7b..5f9fc00 100644
--- a/src/com/android/settings/core/CategoryMixin.java
+++ b/src/com/android/settings/core/CategoryMixin.java
@@ -19,7 +19,6 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
 import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
 
-import android.annotation.Nullable;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -30,6 +29,7 @@
 import android.util.ArraySet;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
diff --git a/src/com/android/settings/core/FeatureFlags.java b/src/com/android/settings/core/FeatureFlags.java
index 1a97ca9..3c17e6e 100644
--- a/src/com/android/settings/core/FeatureFlags.java
+++ b/src/com/android/settings/core/FeatureFlags.java
@@ -22,8 +22,6 @@
 public class FeatureFlags {
     public static final String AUDIO_SWITCHER_SETTINGS = "settings_audio_switcher";
     public static final String HEARING_AID_SETTINGS = "settings_bluetooth_hearing_aid";
-    public static final String WIFI_DETAILS_DATAUSAGE_HEADER =
-            "settings_wifi_details_datausage_header";
     public static final String CONTROLLER_ENHANCEMENT = "settings_controller_loading_enhancement";
     public static final String CONDITIONAL_CARDS = "settings_conditionals";
     public static final String TETHER_ALL_IN_ONE = "settings_tether_all_in_one";
diff --git a/src/com/android/settings/core/InstrumentedActivity.java b/src/com/android/settings/core/InstrumentedActivity.java
index be350a8..a0849a8 100644
--- a/src/com/android/settings/core/InstrumentedActivity.java
+++ b/src/com/android/settings/core/InstrumentedActivity.java
@@ -33,6 +33,6 @@
         super.onCreate(savedInstanceState);
         // Mixin that logs visibility change for activity.
         getSettingsLifecycle().addObserver(new VisibilityLoggerMixin(getMetricsCategory(),
-                FeatureFactory.getFactory(this).getMetricsFeatureProvider()));
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()));
     }
 }
diff --git a/src/com/android/settings/core/InstrumentedFragment.java b/src/com/android/settings/core/InstrumentedFragment.java
index c4ceb4a..b98c270 100644
--- a/src/com/android/settings/core/InstrumentedFragment.java
+++ b/src/com/android/settings/core/InstrumentedFragment.java
@@ -33,7 +33,7 @@
 
     @Override
     public void onAttach(Context context) {
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider);
         // Mixin that logs visibility change for activity.
diff --git a/src/com/android/settings/core/InstrumentedPreferenceFragment.java b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
index bff405b..4d871d4 100644
--- a/src/com/android/settings/core/InstrumentedPreferenceFragment.java
+++ b/src/com/android/settings/core/InstrumentedPreferenceFragment.java
@@ -27,7 +27,7 @@
 import androidx.annotation.XmlRes;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.internal.jank.InteractionJankMonitor;
@@ -57,7 +57,7 @@
 
     @Override
     public void onAttach(Context context) {
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         // Mixin that logs visibility change for activity.
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider);
@@ -71,9 +71,9 @@
         super.onStart();
         // Override the OnPreferenceTreeClickListener in super.onStart() to inject jank detection.
         getPreferenceManager().setOnPreferenceTreeClickListener((preference) -> {
-            if (preference instanceof SwitchPreference) {
+            if (preference instanceof TwoStatePreference twoStatePreference) {
                 SettingsJankMonitor.detectSwitchPreferenceClickJank(
-                        getListView(), (SwitchPreference) preference);
+                        getListView(), twoStatePreference);
             }
             return onPreferenceTreeClick(preference);
         });
diff --git a/src/com/android/settings/core/PreferenceControllerListHelper.java b/src/com/android/settings/core/PreferenceControllerListHelper.java
index 6d450fe..f37140e 100644
--- a/src/com/android/settings/core/PreferenceControllerListHelper.java
+++ b/src/com/android/settings/core/PreferenceControllerListHelper.java
@@ -20,13 +20,14 @@
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_FOR_WORK;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
 
-import android.annotation.NonNull;
 import android.annotation.XmlRes;
 import android.content.Context;
 import android.os.Bundle;
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
 import com.android.settingslib.core.AbstractPreferenceController;
 
diff --git a/src/com/android/settings/core/PreferenceXmlParserUtils.java b/src/com/android/settings/core/PreferenceXmlParserUtils.java
index a1a8d67..df3cd92 100644
--- a/src/com/android/settings/core/PreferenceXmlParserUtils.java
+++ b/src/com/android/settings/core/PreferenceXmlParserUtils.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.core;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.annotation.XmlRes;
 import android.content.Context;
 import android.content.res.TypedArray;
@@ -26,11 +24,10 @@
 import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Log;
-import android.util.TypedValue;
 import android.util.Xml;
 
 import androidx.annotation.IntDef;
-import androidx.annotation.VisibleForTesting;
+import androidx.annotation.NonNull;
 
 import com.android.settings.R;
 
@@ -50,10 +47,9 @@
 public class PreferenceXmlParserUtils {
 
     private static final String TAG = "PreferenceXmlParserUtil";
-    @VisibleForTesting
-    static final String PREF_SCREEN_TAG = "PreferenceScreen";
+    public static final String PREF_SCREEN_TAG = "PreferenceScreen";
     private static final List<String> SUPPORTED_PREF_TYPES = Arrays.asList(
-            "Preference", "PreferenceCategory", "PreferenceScreen",
+            "Preference", "PreferenceCategory", "PreferenceScreen", "SwitchPreferenceCompat",
             "com.android.settings.widget.WorkOnlyCategory");
     public static final int PREPEND_VALUE = 0;
     public static final int APPEND_VALUE = 1;
@@ -71,10 +67,13 @@
             MetadataFlag.FLAG_NEED_PREF_TITLE,
             MetadataFlag.FLAG_NEED_PREF_SUMMARY,
             MetadataFlag.FLAG_NEED_PREF_ICON,
+            MetadataFlag.FLAG_NEED_KEYWORDS,
             MetadataFlag.FLAG_NEED_SEARCHABLE,
+            MetadataFlag.FLAG_NEED_PREF_APPEND,
             MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE,
             MetadataFlag.FLAG_FOR_WORK,
-            MetadataFlag.FLAG_NEED_HIGHLIGHTABLE_MENU_KEY})
+            MetadataFlag.FLAG_NEED_HIGHLIGHTABLE_MENU_KEY,
+            MetadataFlag.FLAG_NEED_USER_RESTRICTION})
     @Retention(RetentionPolicy.SOURCE)
     public @interface MetadataFlag {
 
@@ -91,6 +90,7 @@
         int FLAG_UNAVAILABLE_SLICE_SUBTITLE = 1 << 11;
         int FLAG_FOR_WORK = 1 << 12;
         int FLAG_NEED_HIGHLIGHTABLE_MENU_KEY = 1 << 13;
+        int FLAG_NEED_USER_RESTRICTION = 1 << 14;
     }
 
     public static final String METADATA_PREF_TYPE = "type";
@@ -105,70 +105,7 @@
     public static final String METADATA_UNAVAILABLE_SLICE_SUBTITLE = "unavailable_slice_subtitle";
     public static final String METADATA_FOR_WORK = "for_work";
     public static final String METADATA_HIGHLIGHTABLE_MENU_KEY = "highlightable_menu_key";
-
-    private static final String ENTRIES_SEPARATOR = "|";
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_KEY} instead.
-     */
-    @Deprecated
-    public static String getDataKey(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.Preference,
-                com.android.internal.R.styleable.Preference_key);
-    }
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_TITLE} instead.
-     */
-    @Deprecated
-    public static String getDataTitle(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.Preference,
-                com.android.internal.R.styleable.Preference_title);
-    }
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_SUMMARY} instead.
-     */
-    @Deprecated
-    public static String getDataSummary(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.Preference,
-                com.android.internal.R.styleable.Preference_summary);
-    }
-
-    public static String getDataSummaryOn(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.CheckBoxPreference,
-                com.android.internal.R.styleable.CheckBoxPreference_summaryOn);
-    }
-
-    public static String getDataSummaryOff(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs,
-                com.android.internal.R.styleable.CheckBoxPreference,
-                com.android.internal.R.styleable.CheckBoxPreference_summaryOff);
-    }
-
-    public static String getDataEntries(Context context, AttributeSet attrs) {
-        return getDataEntries(context, attrs,
-                com.android.internal.R.styleable.ListPreference,
-                com.android.internal.R.styleable.ListPreference_entries);
-    }
-
-    public static String getDataKeywords(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs, R.styleable.Preference,
-                R.styleable.Preference_keywords);
-    }
-
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with {@link #METADATA_CONTROLLER} instead.
-     */
-    @Deprecated
-    public static String getController(Context context, AttributeSet attrs) {
-        return getStringData(context, attrs, R.styleable.Preference,
-                R.styleable.Preference_controller);
-    }
+    public static final String METADATA_USER_RESTRICTION = "userRestriction";
 
     /**
      * Extracts metadata from preference xml and put them into a {@link Bundle}.
@@ -257,54 +194,26 @@
                 preferenceMetadata.putString(METADATA_HIGHLIGHTABLE_MENU_KEY,
                         getHighlightableMenuKey(preferenceAttributes));
             }
+            if (hasFlag(flags, MetadataFlag.FLAG_NEED_USER_RESTRICTION)) {
+                preferenceMetadata.putString(METADATA_USER_RESTRICTION,
+                        getUserRestriction(context, attrs));
+            }
             metadata.add(preferenceMetadata);
 
             preferenceAttributes.recycle();
+            if (preferenceScreenAttributes != null) {
+                preferenceScreenAttributes.recycle();
+            }
         } while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
                 && (type != XmlPullParser.END_TAG || parser.getDepth() > outerDepth));
         parser.close();
         return metadata;
     }
 
-    /**
-     * Call {@link #extractMetadata(Context, int, int)} with a {@link MetadataFlag} instead.
-     */
-    @Deprecated
-    @Nullable
-    private static String getStringData(Context context, AttributeSet set, int[] attrs, int resId) {
-        final TypedArray ta = context.obtainStyledAttributes(set, attrs);
-        String data = ta.getString(resId);
-        ta.recycle();
-        return data;
-    }
-
     private static boolean hasFlag(int flags, @MetadataFlag int flag) {
         return (flags & flag) != 0;
     }
 
-    private static String getDataEntries(Context context, AttributeSet set, int[] attrs,
-            int resId) {
-        final TypedArray sa = context.obtainStyledAttributes(set, attrs);
-        final TypedValue tv = sa.peekValue(resId);
-        sa.recycle();
-        String[] data = null;
-        if (tv != null && tv.type == TypedValue.TYPE_REFERENCE) {
-            if (tv.resourceId != 0) {
-                data = context.getResources().getStringArray(tv.resourceId);
-            }
-        }
-        final int count = (data == null) ? 0 : data.length;
-        if (count == 0) {
-            return null;
-        }
-        final StringBuilder result = new StringBuilder();
-        for (int n = 0; n < count; n++) {
-            result.append(data[n]);
-            result.append(ENTRIES_SEPARATOR);
-        }
-        return result.toString();
-    }
-
     private static String getKey(TypedArray styledAttributes) {
         return styledAttributes.getString(com.android.internal.R.styleable.Preference_key);
     }
@@ -351,4 +260,13 @@
         return styledAttributes.getBoolean(
                 R.styleable.Preference_forWork, false);
     }
+
+    private static String getUserRestriction(Context context, AttributeSet attrs) {
+        TypedArray preferenceAttributes = context.obtainStyledAttributes(attrs,
+                com.android.settingslib.R.styleable.RestrictedPreference);
+        String userRestriction = preferenceAttributes.getString(
+                com.android.settingslib.R.styleable.RestrictedPreference_userRestriction);
+        preferenceAttributes.recycle();
+        return userRestriction;
+    }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/core/SettingsBaseActivity.java b/src/com/android/settings/core/SettingsBaseActivity.java
index ff84a3f..e43772e 100644
--- a/src/com/android/settings/core/SettingsBaseActivity.java
+++ b/src/com/android/settings/core/SettingsBaseActivity.java
@@ -110,8 +110,10 @@
         }
 
         if (isToolbarEnabled() && !isAnySetupWizard) {
-            super.setContentView(R.layout.collapsing_toolbar_base_layout);
-            mCollapsingToolbarLayout = findViewById(R.id.collapsing_toolbar);
+            super.setContentView(
+                    com.android.settingslib.collapsingtoolbar.R.layout.collapsing_toolbar_base_layout);
+            mCollapsingToolbarLayout =
+                    findViewById(com.android.settingslib.collapsingtoolbar.R.id.collapsing_toolbar);
             mAppBarLayout = findViewById(R.id.app_bar);
             if (mCollapsingToolbarLayout != null) {
                 mCollapsingToolbarLayout.setLineSpacingMultiplier(TOOLBAR_LINE_SPACING_MULTIPLIER);
@@ -162,9 +164,12 @@
         final int transitionType = getTransitionType(intent);
         super.startActivityForResult(intent, requestCode, options);
         if (transitionType == TransitionType.TRANSITION_SLIDE) {
-            overridePendingTransition(R.anim.sud_slide_next_in, R.anim.sud_slide_next_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_slide_next_in,
+                    com.google.android.setupdesign.R.anim.sud_slide_next_out);
         } else if (transitionType == TransitionType.TRANSITION_FADE) {
-            overridePendingTransition(android.R.anim.fade_in, R.anim.sud_stay);
+            overridePendingTransition(
+                    android.R.anim.fade_in, com.google.android.setupdesign.R.anim.sud_stay);
         }
     }
 
@@ -172,7 +177,8 @@
     protected void onPause() {
         // For accessibility activities launched from setup wizard.
         if (getTransitionType(getIntent()) == TransitionType.TRANSITION_FADE) {
-            overridePendingTransition(R.anim.sud_stay, android.R.anim.fade_out);
+            overridePendingTransition(
+                    com.google.android.setupdesign.R.anim.sud_stay, android.R.anim.fade_out);
         }
         super.onPause();
     }
diff --git a/src/com/android/settings/core/TogglePreferenceController.java b/src/com/android/settings/core/TogglePreferenceController.java
index f14e0b2..459312a 100644
--- a/src/com/android/settings/core/TogglePreferenceController.java
+++ b/src/com/android/settings/core/TogglePreferenceController.java
@@ -21,6 +21,7 @@
 
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.SliceData;
+import com.android.settings.onboarding.OnboardingFeatureProvider;
 import com.android.settings.widget.TwoStateButtonPreference;
 import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.core.instrumentation.SettingsJankMonitor;
@@ -81,9 +82,14 @@
         // TwoStatePreference is a regular preference and can be handled by DashboardFragment
         if (preference instanceof PrimarySwitchPreference
                 || preference instanceof TwoStateButtonPreference) {
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logClickedPreference(preference, getMetricsCategory());
         }
+        OnboardingFeatureProvider onboardingFeatureProvider =
+                FeatureFactory.getFeatureFactory().getOnboardingFeatureProvider();
+        if (onboardingFeatureProvider != null) {
+            onboardingFeatureProvider.markPreferenceHasChanged(mContext, mPreferenceKey);
+        }
         return setChecked((boolean) newValue);
     }
 
diff --git a/src/com/android/settings/core/gateway/SettingsGateway.java b/src/com/android/settings/core/gateway/SettingsGateway.java
index 7b1abaf..e3131f7 100644
--- a/src/com/android/settings/core/gateway/SettingsGateway.java
+++ b/src/com/android/settings/core/gateway/SettingsGateway.java
@@ -16,11 +16,11 @@
 
 package com.android.settings.core.gateway;
 
-import com.android.settings.AllInOneTetherSettings;
 import com.android.settings.DisplaySettings;
 import com.android.settings.IccLockSettings;
 import com.android.settings.MainClear;
 import com.android.settings.MainClearConfirm;
+import com.android.settings.ResetNetwork;
 import com.android.settings.Settings;
 import com.android.settings.TestingSettings;
 import com.android.settings.TrustedCredentialsSettings;
@@ -34,6 +34,8 @@
 import com.android.settings.accessibility.ToggleColorInversionPreferenceFragment;
 import com.android.settings.accessibility.ToggleDaltonizerPreferenceFragment;
 import com.android.settings.accessibility.ToggleReduceBrightColorsPreferenceFragment;
+import com.android.settings.accessibility.VibrationIntensitySettingsFragment;
+import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
 import com.android.settings.accounts.AccountDashboardFragment;
 import com.android.settings.accounts.AccountSyncSettings;
 import com.android.settings.accounts.ChooseAccountFragment;
@@ -73,7 +75,7 @@
 import com.android.settings.biometrics.combination.CombinedBiometricSettings;
 import com.android.settings.biometrics.face.FaceSettings;
 import com.android.settings.biometrics.fingerprint.FingerprintSettings;
-import com.android.settings.biometrics.fingerprint2.ui.fragment.FingerprintSettingsV2Fragment;
+import com.android.settings.biometrics.fingerprint2.ui.settings.fragment.FingerprintSettingsV2Fragment;
 import com.android.settings.bluetooth.BluetoothBroadcastDialog;
 import com.android.settings.bluetooth.BluetoothDeviceDetailsFragment;
 import com.android.settings.bluetooth.BluetoothFindBroadcastsFragment;
@@ -84,6 +86,7 @@
 import com.android.settings.connecteddevice.ConnectedDeviceDashboardFragment;
 import com.android.settings.connecteddevice.NfcAndPaymentFragment;
 import com.android.settings.connecteddevice.PreviouslyConnectedDeviceDashboardFragment;
+import com.android.settings.connecteddevice.audiosharing.audiostreams.AudioStreamConfirmDialog;
 import com.android.settings.connecteddevice.stylus.StylusUsiDetailsFragment;
 import com.android.settings.connecteddevice.usb.UsbDetailsFragment;
 import com.android.settings.datausage.DataSaverSummary;
@@ -101,6 +104,7 @@
 import com.android.settings.deviceinfo.legal.ModuleLicensesDashboard;
 import com.android.settings.display.AutoBrightnessSettings;
 import com.android.settings.display.NightDisplaySettings;
+import com.android.settings.display.ScreenTimeoutSettings;
 import com.android.settings.display.SmartAutoRotatePreferenceFragment;
 import com.android.settings.display.darkmode.DarkModeSettingsFragment;
 import com.android.settings.dream.DreamSettings;
@@ -109,7 +113,6 @@
 import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleSettings;
 import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
 import com.android.settings.fuelgauge.batteryusage.PowerUsageSummary;
-import com.android.settings.gestures.AssistGestureSettings;
 import com.android.settings.gestures.ButtonNavigationSettingsFragment;
 import com.android.settings.gestures.DoubleTapPowerSettings;
 import com.android.settings.gestures.DoubleTapScreenSettings;
@@ -143,8 +146,8 @@
 import com.android.settings.network.apn.ApnSettings;
 import com.android.settings.network.telephony.MobileNetworkSettings;
 import com.android.settings.network.telephony.NetworkSelectSettings;
+import com.android.settings.network.telephony.SatelliteSetting;
 import com.android.settings.network.tether.TetherSettings;
-import com.android.settings.nfc.AndroidBeam;
 import com.android.settings.nfc.PaymentSettings;
 import com.android.settings.notification.ConfigureNotificationSettings;
 import com.android.settings.notification.NotificationAccessSettings;
@@ -167,6 +170,9 @@
 import com.android.settings.print.PrintSettingsFragment;
 import com.android.settings.privacy.PrivacyControlsFragment;
 import com.android.settings.privacy.PrivacyDashboardFragment;
+import com.android.settings.privatespace.delete.PrivateSpaceDeleteFragment;
+import com.android.settings.privatespace.delete.PrivateSpaceDeletionProgressFragment;
+import com.android.settings.privatespace.onelock.PrivateSpaceBiometricSettings;
 import com.android.settings.regionalpreferences.RegionalPreferencesEntriesFragment;
 import com.android.settings.safetycenter.MoreSecurityPrivacyFragment;
 import com.android.settings.security.LockscreenDashboardFragment;
@@ -187,7 +193,6 @@
 import com.android.settings.wifi.ConfigureWifiSettings;
 import com.android.settings.wifi.WifiAPITest;
 import com.android.settings.wifi.WifiInfo;
-import com.android.settings.wifi.WifiSettings;
 import com.android.settings.wifi.calling.WifiCallingDisclaimerFragment;
 import com.android.settings.wifi.calling.WifiCallingSettings;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
@@ -205,11 +210,9 @@
             AdvancedConnectedDeviceDashboardFragment.class.getName(),
             CreateShortcut.class.getName(),
             BluetoothPairingDetail.class.getName(),
-            WifiSettings.class.getName(),
             WifiNetworkDetailsFragment.class.getName(),
             ConfigureWifiSettings.class.getName(),
             SavedAccessPointsWifiSettings2.class.getName(),
-            AllInOneTetherSettings.class.getName(),
             TetherSettings.class.getName(),
             SmartAutoRotatePreferenceFragment.class.getName(),
             WifiP2pSettings.class.getName(),
@@ -251,6 +254,7 @@
             AccessibilityDetailsSettingsFragment.class.getName(),
             AccessibilitySettings.class.getName(),
             AccessibilitySettingsForSetupWizard.class.getName(),
+            EditShortcutsPreferenceFragment.class.getName(),
             TextReadingPreferenceFragment.class.getName(),
             TextReadingPreferenceFragmentForSetupWizard.class.getName(),
             CaptioningPropertiesFragment.class.getName(),
@@ -261,16 +265,17 @@
             PrivateVolumeForget.class.getName(),
             PublicVolumeSettings.class.getName(),
             DevelopmentSettingsDashboardFragment.class.getName(),
-            AndroidBeam.class.getName(),
             WifiDisplaySettings.class.getName(),
             PowerUsageSummary.class.getName(),
             AccountSyncSettings.class.getName(),
-            AssistGestureSettings.class.getName(),
             FaceSettings.class.getName(),
             FingerprintSettings.FingerprintSettingsFragment.class.getName(),
             FingerprintSettingsV2Fragment.class.getName(),
             CombinedBiometricSettings.class.getName(),
             CombinedBiometricProfileSettings.class.getName(),
+            PrivateSpaceBiometricSettings.class.getName(),
+            PrivateSpaceDeleteFragment.class.getName(),
+            PrivateSpaceDeletionProgressFragment.class.getName(),
             SwipeToNotificationSettings.class.getName(),
             DoubleTapPowerSettings.class.getName(),
             DoubleTapScreenSettings.class.getName(),
@@ -304,6 +309,7 @@
             AppNotificationSettings.class.getName(),
             NotificationAssistantPicker.class.getName(),
             ChannelNotificationSettings.class.getName(),
+            SatelliteSetting.class.getName(),
             ApnSettings.class.getName(),
             ApnEditor.class.getName(),
             WifiCallingSettings.class.getName(),
@@ -353,6 +359,7 @@
             DataUsageList.class.getName(),
             ToggleBackupSettingFragment.class.getName(),
             PreviouslyConnectedDeviceDashboardFragment.class.getName(),
+            AudioStreamConfirmDialog.class.getName(),
             BatterySaverScheduleSettings.class.getName(),
             MobileNetworkListFragment.class.getName(),
             PowerMenuSettings.class.getName(),
@@ -377,7 +384,10 @@
             LongBackgroundTasksDetails.class.getName(),
             RegionalPreferencesEntriesFragment.class.getName(),
             BatteryInfoFragment.class.getName(),
-            UserAspectRatioDetails.class.getName()
+            UserAspectRatioDetails.class.getName(),
+            ScreenTimeoutSettings.class.getName(),
+            ResetNetwork.class.getName(),
+            VibrationIntensitySettingsFragment.class.getName(),
     };
 
     public static final String[] SETTINGS_FOR_RESTRICTED = {
diff --git a/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java b/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java
index 0a214f1..9f92537 100644
--- a/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java
+++ b/src/com/android/settings/core/instrumentation/InstrumentedDialogFragment.java
@@ -46,7 +46,7 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context)
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getMetricsFeatureProvider();
         mLifecycle.addObserver(new VisibilityLoggerMixin(getMetricsCategory(),
                 mMetricsFeatureProvider));
diff --git a/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java b/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
deleted file mode 100644
index 86ee3d6..0000000
--- a/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriter.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core.instrumentation;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Process;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.text.format.DateUtils;
-import android.util.Log;
-import android.util.Pair;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-import com.android.settings.intelligence.LogProto.SettingsLog;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.LogWriter;
-
-import java.io.ByteArrayOutputStream;
-import java.io.DataOutputStream;
-import java.time.ZoneId;
-import java.time.ZonedDateTime;
-import java.util.LinkedList;
-import java.util.List;
-
-public class SettingsIntelligenceLogWriter implements LogWriter {
-    private static final String TAG = "IntelligenceLogWriter";
-
-    private static final String LOG = "logs";
-    private static final long MESSAGE_DELAY = DateUtils.MINUTE_IN_MILLIS; // 1 minute
-    // Based on the exp, 99.5% users collect less than 150 data in 1 minute.
-    private static final int CACHE_LOG_THRESHOLD = 150;
-
-    private List<SettingsLog> mSettingsLogList;
-    private SendLogHandler mLogHandler;
-
-    public SettingsIntelligenceLogWriter() {
-        mSettingsLogList = new LinkedList<>();
-        final HandlerThread workerThread = new HandlerThread("SettingsIntelligenceLogWriter",
-                Process.THREAD_PRIORITY_BACKGROUND);
-        workerThread.start();
-        mLogHandler = new SendLogHandler(workerThread.getLooper());
-    }
-
-    @Override
-    public void visible(Context context, int attribution, int pageId, int latency) {
-        action(attribution /* from pageId */,
-                SettingsEnums.PAGE_VISIBLE /* action */,
-                pageId /* target pageId */,
-                "" /* changedPreferenceKey */,
-                latency /* changedPreferenceIntValue */);
-    }
-
-    @Override
-    public void hidden(Context context, int pageId, int visibleTime) {
-        action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
-                SettingsEnums.PAGE_HIDE /* action */,
-                pageId /* pageId */,
-                "" /* changedPreferenceKey */,
-                visibleTime /* changedPreferenceIntValue */);
-    }
-
-    @Override
-    public void clicked(int sourceCategory, String key) {
-    }
-
-    @Override
-    public void changed(int category, String key, int value) {
-    }
-
-    @Override
-    public void action(Context context, int action, Pair<Integer, Object>... taggedData) {
-        action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
-                action,
-                SettingsEnums.PAGE_UNKNOWN /* pageId */,
-                "" /* changedPreferenceKey */,
-                0 /* changedPreferenceIntValue */);
-    }
-
-    @Override
-    public void action(Context context, int action, int value) {
-        action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
-                action,
-                SettingsEnums.PAGE_UNKNOWN /* pageId */,
-                "" /* changedPreferenceKey */,
-                value /* changedPreferenceIntValue */);
-    }
-
-    @Override
-    public void action(Context context, int action, boolean value) {
-        action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
-                action,
-                SettingsEnums.PAGE_UNKNOWN /* pageId */,
-                "" /* changedPreferenceKey */,
-                value ? 1 : 0 /* changedPreferenceIntValue */);
-    }
-
-    @Override
-    public void action(Context context, int action, String pkg) {
-        action(SettingsEnums.PAGE_UNKNOWN /* attribution */,
-                action,
-                SettingsEnums.PAGE_UNKNOWN /* pageId */,
-                pkg /* changedPreferenceKey */,
-                1 /* changedPreferenceIntValue */);
-    }
-
-    @Override
-    public void action(int attribution, int action, int pageId, String key, int value) {
-        final ZonedDateTime now = ZonedDateTime.now(ZoneId.systemDefault());
-        final SettingsLog settingsLog = SettingsLog.newBuilder()
-                .setAttribution(attribution)
-                .setAction(action)
-                .setPageId(pageId)
-                .setChangedPreferenceKey(key != null ? key : "")
-                .setChangedPreferenceIntValue(value)
-                .setTimestamp(now.toString())
-                .build();
-        mLogHandler.post(() -> {
-            mSettingsLogList.add(settingsLog);
-        });
-        if (action == SettingsEnums.ACTION_CONTEXTUAL_CARD_DISMISS
-                || mSettingsLogList.size() >= CACHE_LOG_THRESHOLD) {
-            // Directly send this event to notify SI instantly that the card is dismissed
-            mLogHandler.sendLog();
-        } else {
-            mLogHandler.scheduleSendLog();
-        }
-    }
-
-    @VisibleForTesting
-    static byte[] serialize(List<SettingsLog> settingsLogs) {
-        final int size = settingsLogs.size();
-        final ByteArrayOutputStream bout = new ByteArrayOutputStream();
-        final DataOutputStream output = new DataOutputStream(bout);
-        // The data format is "size, length, byte array, length, byte array ..."
-        try {
-            output.writeInt(size);
-            for (SettingsLog settingsLog : settingsLogs) {
-                final byte[] data = settingsLog.toByteArray();
-                output.writeInt(data.length);
-                output.write(data);
-            }
-            return bout.toByteArray();
-        } catch (Exception e) {
-            Log.e(TAG, "serialize error", e);
-            return null;
-        } finally {
-            try {
-                output.close();
-            } catch (Exception e) {
-                Log.e(TAG, "close error", e);
-            }
-        }
-    }
-
-    private class SendLogHandler extends Handler {
-
-        SendLogHandler(Looper looper) {
-            super(looper);
-        }
-
-        void scheduleSendLog() {
-            removeCallbacks(mSendLogsRunnable);
-            postDelayed(mSendLogsRunnable, MESSAGE_DELAY);
-        }
-
-        void sendLog() {
-            removeCallbacks(mSendLogsRunnable);
-            post(mSendLogsRunnable);
-        }
-    }
-
-    private final Runnable mSendLogsRunnable = () -> {
-        final Context context = FeatureFactory.getAppContext();
-        if (context == null) {
-            Log.e(TAG, "context is null");
-            return;
-        }
-        final String action = context.getString(R.string
-                .config_settingsintelligence_log_action);
-        if (!TextUtils.isEmpty(action) && !mSettingsLogList.isEmpty()) {
-            final Intent intent = new Intent();
-            intent.setPackage(context.getString(R.string
-                    .config_settingsintelligence_package_name));
-            intent.setAction(action);
-            intent.putExtra(LOG, serialize(mSettingsLogList));
-            context.sendBroadcastAsUser(intent, UserHandle.CURRENT);
-            mSettingsLogList.clear();
-        }
-    };
-}
diff --git a/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java b/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java
index 01927fd..bfe3185 100644
--- a/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java
+++ b/src/com/android/settings/core/instrumentation/SettingsMetricsFeatureProvider.java
@@ -29,7 +29,6 @@
     protected void installLogWriters() {
         mLoggerWriters.add(new StatsLogWriter());
         mLoggerWriters.add(new SettingsEventLogWriter());
-        mLoggerWriters.add(new SettingsIntelligenceLogWriter());
     }
 
     /**
diff --git a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
index 578493a..8214d0b 100644
--- a/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
+++ b/src/com/android/settings/dashboard/DashboardFeatureProviderImpl.java
@@ -55,7 +55,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -100,7 +100,7 @@
     public DashboardFeatureProviderImpl(Context context) {
         mContext = context.getApplicationContext();
         mCategoryManager = CategoryManager.get(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPackageManager = context.getPackageManager();
     }
 
@@ -376,16 +376,16 @@
     }
 
     private void setSwitchChecked(Preference pref, boolean checked) {
-        if (pref instanceof PrimarySwitchPreference) {
-            ((PrimarySwitchPreference) pref).setChecked(checked);
-        } else if (pref instanceof SwitchPreference) {
-            ((SwitchPreference) pref).setChecked(checked);
+        if (pref instanceof PrimarySwitchPreference primarySwitchPreference) {
+            primarySwitchPreference.setChecked(checked);
+        } else if (pref instanceof TwoStatePreference twoStatePreference) {
+            twoStatePreference.setChecked(checked);
         }
     }
 
     private void setSwitchEnabled(Preference pref, boolean enabled) {
-        if (pref instanceof PrimarySwitchPreference) {
-            ((PrimarySwitchPreference) pref).setSwitchEnabled(enabled);
+        if (pref instanceof PrimarySwitchPreference primarySwitchPreference) {
+            primarySwitchPreference.setSwitchEnabled(enabled);
         } else {
             pref.setEnabled(enabled);
         }
diff --git a/src/com/android/settings/dashboard/DashboardFragment.java b/src/com/android/settings/dashboard/DashboardFragment.java
index d4acfa1..0973076 100644
--- a/src/com/android/settings/dashboard/DashboardFragment.java
+++ b/src/com/android/settings/dashboard/DashboardFragment.java
@@ -38,7 +38,7 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -94,8 +94,8 @@
         super.onAttach(context);
         mSuppressInjectedTileKeys = Arrays.asList(context.getResources().getStringArray(
                 R.array.config_suppress_injected_tile_keys));
-        mDashboardFeatureProvider = FeatureFactory.getFactory(context).
-                getDashboardFeatureProvider(context);
+        mDashboardFeatureProvider =
+                FeatureFactory.getFeatureFactory().getDashboardFeatureProvider();
         // Load preference controllers from code
         final List<AbstractPreferenceController> controllersFromCode =
                 createPreferenceControllers(context);
@@ -600,7 +600,7 @@
                         .setWidgetLayoutResource(R.layout.preference_external_action_icon);
                 return externalActionPreference;
             case SWITCH:
-                return new SwitchPreference(getPrefContext());
+                return new SwitchPreferenceCompat(getPrefContext());
             case SWITCH_WITH_ACTION:
                 return new PrimarySwitchPreference(getPrefContext());
             case GROUP:
diff --git a/src/com/android/settings/dashboard/SummaryProvider.java b/src/com/android/settings/dashboard/SummaryProvider.java
deleted file mode 100644
index 6acc663..0000000
--- a/src/com/android/settings/dashboard/SummaryProvider.java
+++ /dev/null
@@ -1,91 +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.dashboard;
-
-import static com.android.settingslib.drawer.TileUtils.META_DATA_PREFERENCE_SUMMARY;
-
-import android.content.ContentProvider;
-import android.content.ContentValues;
-import android.content.Context;
-import android.content.pm.UserInfo;
-import android.database.Cursor;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-
-import com.android.settings.R;
-import com.android.settings.backup.BackupSettingsHelper;
-
-/** Provide preference summary for injected items. */
-public class SummaryProvider extends ContentProvider {
-    private static final String BACKUP = "backup";
-    private static final String USER = "user";
-
-    @Override
-    public Bundle call(String method, String uri, Bundle extras) {
-        final Bundle bundle = new Bundle();
-        switch (method) {
-            case BACKUP:
-                bundle.putString(META_DATA_PREFERENCE_SUMMARY,
-                        new BackupSettingsHelper(getContext()).getSummary());
-                break;
-            case USER:
-                final Context context = getContext();
-                final UserInfo info = context.getSystemService(UserManager.class).getUserInfo(
-                        UserHandle.myUserId());
-                bundle.putString(META_DATA_PREFERENCE_SUMMARY,
-                        context.getString(R.string.users_summary,
-                                info.name));
-                break;
-            default:
-                throw new IllegalArgumentException("Unknown Uri format: " + uri);
-        }
-        return bundle;
-    }
-
-    @Override
-    public boolean onCreate() {
-        return true;
-    }
-
-    @Override
-    public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs,
-            String sortOrder) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public String getType(Uri uri) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public Uri insert(Uri uri, ContentValues values) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int delete(Uri uri, String selection, String[] selectionArgs) {
-        throw new UnsupportedOperationException();
-    }
-
-    @Override
-    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
-        throw new UnsupportedOperationException();
-    }
-}
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java
index cf91031..77dc3a7 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectAccountFragment.java
@@ -15,10 +15,12 @@
  */
 
 package com.android.settings.dashboard.profileselector;
+
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
 import com.android.settings.accounts.AccountPersonalDashboardFragment;
+import com.android.settings.accounts.AccountPrivateDashboardFragment;
 import com.android.settings.accounts.AccountWorkProfileDashboardFragment;
 
 /**
@@ -28,10 +30,12 @@
 
     @Override
     public Fragment[] getFragments() {
-        return new Fragment[] {
-                new AccountPersonalDashboardFragment(),
-                new AccountWorkProfileDashboardFragment()
-        };
+        return ProfileSelectFragment.getFragments(
+                getContext(),
+                null /* bundle */,
+                AccountPersonalDashboardFragment::new,
+                AccountWorkProfileDashboardFragment::new,
+                AccountPrivateDashboardFragment::new);
     }
 
     @Override
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
index 58a51cb..4df1fdd 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectDialog.java
@@ -25,6 +25,7 @@
 import android.content.DialogInterface.OnShowListener;
 import android.content.Intent;
 import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -130,14 +131,14 @@
         final UserHandle user = mSelectedTile.userHandle.get(position);
         if (!mSelectedTile.hasPendingIntent()) {
             final Intent intent = new Intent(mSelectedTile.getIntent());
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logStartedIntentWithProfile(intent, mSourceMetricCategory,
                             position == 1 /* isWorkProfile */);
             intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
             getActivity().startActivityAsUser(intent, user);
         } else {
             PendingIntent pendingIntent = mSelectedTile.pendingIntentMap.get(user);
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logSettingsTileClickWithProfile(mSelectedTile.getKey(getContext()),
                             mSourceMetricCategory,
                             position == 1 /* isWorkProfile */);
@@ -183,7 +184,9 @@
         final UserManager userManager = UserManager.get(context);
         for (int i = userHandles.size() - 1; i >= 0; i--) {
             UserInfo userInfo = userManager.getUserInfo(userHandles.get(i).getIdentifier());
-            if (userInfo == null || userInfo.isCloneProfile()) {
+            if (userInfo == null
+                    || userInfo.isCloneProfile()
+                    || shouldHideUserInQuietMode(userHandles.get(i), userManager)) {
                 if (DEBUG) {
                     Log.d(TAG, "Delete the user: " + userHandles.get(i).getIdentifier());
                 }
@@ -214,7 +217,9 @@
         final UserManager userManager = UserManager.get(context);
         for (UserHandle userHandle : List.copyOf(tile.pendingIntentMap.keySet())) {
             UserInfo userInfo = userManager.getUserInfo(userHandle.getIdentifier());
-            if (userInfo == null || userInfo.isCloneProfile()) {
+            if (userInfo == null
+                    || userInfo.isCloneProfile()
+                    || shouldHideUserInQuietMode(userHandle, userManager)) {
                 if (DEBUG) {
                     Log.d(TAG, "Delete the user: " + userHandle.getIdentifier());
                 }
@@ -223,4 +228,11 @@
             }
         }
     }
+
+    private static boolean shouldHideUserInQuietMode(
+            UserHandle userHandle, UserManager userManager) {
+        UserProperties userProperties = userManager.getUserProperties(userHandle);
+        return userProperties.getShowInQuietMode() == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN
+                && userManager.isQuietModeEnabled(userHandle);
+    }
 }
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
index 9be2177..8279588 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectFragment.java
@@ -17,23 +17,32 @@
 package com.android.settings.dashboard.profileselector;
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.PERSONAL_CATEGORY_HEADER;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.PRIVATE_CATEGORY_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_CATEGORY_HEADER;
 import static android.content.Intent.EXTRA_USER_ID;
 
 import android.annotation.IntDef;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.content.pm.UserInfo;
 import android.os.Bundle;
+import android.os.Flags;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
+import androidx.lifecycle.Lifecycle;
 import androidx.recyclerview.widget.RecyclerView;
 import androidx.viewpager2.adapter.FragmentStateAdapter;
 import androidx.viewpager2.widget.ViewPager2;
@@ -42,12 +51,15 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
 
 import com.google.android.material.tabs.TabLayout;
 import com.google.android.material.tabs.TabLayoutMediator;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.List;
 
 /**
  * Base fragment class for profile settings.
@@ -77,9 +89,14 @@
         int WORK = 1 << 1;
 
         /**
-         * It is personal and work profile
+         * It is private profile
          */
-        int ALL = PERSONAL | WORK;
+        int PRIVATE = 1 << 2;
+
+        /**
+         * It is personal, work, and private profile
+         */
+        int ALL = PERSONAL | WORK | PRIVATE;
     }
 
     /**
@@ -97,6 +114,11 @@
      */
     public static final int WORK_TAB = 1;
 
+    /**
+     * Used in fragment argument with Extra key {@link SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB}
+     */
+    public static final int PRIVATE_TAB = 2;
+
     private ViewGroup mContentView;
 
     private ViewPager2 mViewPager;
@@ -110,7 +132,6 @@
         if (titleResId > 0) {
             activity.setTitle(titleResId);
         }
-        final int selectedTab = getTabId(activity, getArguments());
 
         final View tabContainer = mContentView.findViewById(R.id.tab_container);
         mViewPager = tabContainer.findViewById(R.id.view_pager);
@@ -129,6 +150,7 @@
                 }
         );
         tabContainer.setVisibility(View.VISIBLE);
+        final int selectedTab = getTabId(activity, getArguments());
         final TabLayout.Tab tab = tabs.getTabAt(selectedTab);
         tab.select();
 
@@ -208,19 +230,27 @@
         if (bundle != null) {
             final int extraTab = bundle.getInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, -1);
             if (extraTab != -1) {
-                return extraTab;
+                return ((ViewPagerAdapter) mViewPager.getAdapter()).getTabForPosition(extraTab);
             }
             final int userId = bundle.getInt(EXTRA_USER_ID, UserHandle.SYSTEM.getIdentifier());
             final boolean isWorkProfile = UserManager.get(activity).isManagedProfile(userId);
             if (isWorkProfile) {
                 return WORK_TAB;
             }
+            UserInfo userInfo = UserManager.get(activity).getUserInfo(userId);
+            if (Flags.allowPrivateProfile() && userInfo != null && userInfo.isPrivateProfile()) {
+                return PRIVATE_TAB;
+            }
         }
         // Start intent from a specific user eg: adb shell --user 10
         final int intentUser = activity.getIntent().getContentUserHint();
         if (UserManager.get(activity).isManagedProfile(intentUser)) {
             return WORK_TAB;
         }
+        UserInfo userInfo = UserManager.get(activity).getUserInfo(intentUser);
+        if (Flags.allowPrivateProfile() && userInfo != null && userInfo.isPrivateProfile()) {
+            return PRIVATE_TAB;
+        }
 
         return PERSONAL_TAB;
     }
@@ -229,13 +259,119 @@
         final DevicePolicyManager devicePolicyManager =
                 getContext().getSystemService(DevicePolicyManager.class);
 
-        if (position == WORK_TAB) {
+        if (Flags.allowPrivateProfile()) {
+            int tabForPosition =
+                    ((ViewPagerAdapter) mViewPager.getAdapter()).getTabForPosition(position);
+
+            if (tabForPosition == WORK_TAB) {
+                return devicePolicyManager.getResources().getString(WORK_CATEGORY_HEADER,
+                        () -> getContext().getString(
+                                com.android.settingslib.R.string.category_work));
+            }
+
+            if (tabForPosition == PRIVATE_TAB) {
+                return devicePolicyManager.getResources().getString(PRIVATE_CATEGORY_HEADER,
+                        () -> getContext()
+                                .getString(com.android.settingslib.R.string.category_private));
+            }
+
+        } else if (position == WORK_TAB) {
             return devicePolicyManager.getResources().getString(WORK_CATEGORY_HEADER,
-                    () -> getContext().getString(R.string.category_work));
+                    () -> getContext().getString(com.android.settingslib.R.string.category_work));
+
+        }
+        return devicePolicyManager.getResources().getString(PERSONAL_CATEGORY_HEADER,
+                () -> getContext().getString(
+                        com.android.settingslib.R.string.category_personal));
+    }
+
+    /** Creates fragments of passed types, and returns them in an array. */
+    @NonNull static Fragment[] getFragments(
+            Context context,
+            @Nullable Bundle bundle,
+            FragmentConstructor personalFragmentConstructor,
+            FragmentConstructor workFragmentConstructor,
+            FragmentConstructor privateFragmentConstructor) {
+        return getFragments(
+                context,
+                bundle,
+                personalFragmentConstructor,
+                workFragmentConstructor,
+                privateFragmentConstructor,
+                new PrivateSpaceInfoProvider() {});
+    }
+
+    /**
+     * Creates fragments of passed types, and returns them in an array. This overload exists only
+     * for helping with testing.
+     */
+    @NonNull static Fragment[] getFragments(
+            Context context,
+            @Nullable Bundle bundle,
+            FragmentConstructor personalFragmentConstructor,
+            FragmentConstructor workFragmentConstructor,
+            FragmentConstructor privateFragmentConstructor,
+            PrivateSpaceInfoProvider privateSpaceInfoProvider) {
+        Fragment[] result = new Fragment[0];
+        ArrayList<Fragment> fragments = new ArrayList<>();
+
+        try {
+            UserManager userManager = context.getSystemService(UserManager.class);
+            List<UserInfo> userInfos = userManager.getProfiles(UserHandle.myUserId());
+
+            for (UserInfo userInfo : userInfos) {
+                if (userInfo.getUserHandle().isSystem()) {
+                    fragments.add(createAndGetFragment(
+                            ProfileType.PERSONAL,
+                            bundle != null ? bundle : new Bundle(),
+                            personalFragmentConstructor));
+                } else if (userInfo.isManagedProfile()) {
+                    fragments.add(createAndGetFragment(
+                            ProfileType.WORK,
+                            bundle != null ? bundle.deepCopy() : new Bundle(),
+                            workFragmentConstructor));
+                } else if (Flags.allowPrivateProfile() && userInfo.isPrivateProfile()) {
+                    if (!privateSpaceInfoProvider.isPrivateSpaceLocked(context)) {
+                        fragments.add(createAndGetFragment(
+                                ProfileType.PRIVATE,
+                                bundle != null ? bundle.deepCopy() : new Bundle(),
+                                privateFragmentConstructor));
+                    }
+                } else {
+                    Log.d(TAG, "Not showing tab for unsupported user");
+                }
+            }
+
+            result = new Fragment[fragments.size()];
+            fragments.toArray(result);
+        } catch (Exception e) {
+            Log.e(TAG, "Failed to create fragment");
         }
 
-        return devicePolicyManager.getResources().getString(PERSONAL_CATEGORY_HEADER,
-                () -> getContext().getString(R.string.category_personal));
+        return result;
+    }
+
+    private static Fragment createAndGetFragment(
+            @ProfileType int profileType, Bundle bundle, FragmentConstructor fragmentConstructor) {
+        bundle.putInt(EXTRA_PROFILE, profileType);
+        final Fragment fragment = fragmentConstructor.constructAndGetFragment();
+        fragment.setArguments(bundle);
+        return fragment;
+    }
+
+    @VisibleForTesting
+    void setViewPager(ViewPager2 viewPager) {
+        mViewPager = viewPager;
+    }
+
+    interface FragmentConstructor {
+        Fragment constructAndGetFragment();
+    }
+
+    interface PrivateSpaceInfoProvider {
+        default boolean isPrivateSpaceLocked(Context context) {
+            return PrivateSpaceMaintainer.getInstance(context).isPrivateSpaceLocked();
+        }
     }
 
     static class ViewPagerAdapter extends FragmentStateAdapter {
@@ -247,6 +383,15 @@
             mChildFragments = fragment.getFragments();
         }
 
+        @VisibleForTesting
+        ViewPagerAdapter(
+                @NonNull FragmentManager fragmentManager,
+                @NonNull Lifecycle lifecycle,
+                ProfileSelectFragment profileSelectFragment) {
+            super(fragmentManager, lifecycle);
+            mChildFragments = profileSelectFragment.getFragments();
+        }
+
         @Override
         public Fragment createFragment(int position) {
             return mChildFragments[position];
@@ -256,5 +401,23 @@
         public int getItemCount() {
             return mChildFragments.length;
         }
+
+        @VisibleForTesting
+        int getTabForPosition(int position) {
+            if (position >= mChildFragments.length) {
+                Log.e(TAG, "tab requested for out of bound position " + position);
+                return PERSONAL_TAB;
+            }
+            @ProfileType
+            int profileType = mChildFragments[position].getArguments().getInt(EXTRA_PROFILE);
+
+            if (profileType == ProfileType.WORK) {
+                return WORK_TAB;
+            }
+            if (profileType == ProfileType.PRIVATE) {
+                return PRIVATE_TAB;
+            }
+            return PERSONAL_TAB;
+        }
     }
 }
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectKeyboardFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectKeyboardFragment.java
index c4386e6..d35692c 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectKeyboardFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectKeyboardFragment.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.dashboard.profileselector;
 
-import android.os.Bundle;
-
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
@@ -39,19 +37,11 @@
 
     @Override
     public Fragment[] getFragments() {
-        final Bundle personalOnly = new Bundle();
-        personalOnly.putInt(EXTRA_PROFILE, ProfileType.PERSONAL);
-        final Fragment personalFragment = new AvailableVirtualKeyboardFragment();
-        personalFragment.setArguments(personalOnly);
-
-        final Bundle workOnly = new Bundle();
-        workOnly.putInt(EXTRA_PROFILE, ProfileType.WORK);
-        final Fragment workFragment = new AvailableVirtualKeyboardFragment();
-        workFragment.setArguments(workOnly);
-
-        return new Fragment[]{
-                personalFragment,
-                workFragment
-        };
+        return ProfileSelectFragment.getFragments(
+                getContext(),
+                null /* bundle */,
+                AvailableVirtualKeyboardFragment::new,
+                AvailableVirtualKeyboardFragment::new,
+                AvailableVirtualKeyboardFragment::new);
     }
 }
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java
index 28fb97b..feaec74 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragment.java
@@ -45,20 +45,12 @@
 
     @Override
     public Fragment[] getFragments() {
-
-        final Bundle workOnly = new Bundle();
-        workOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.WORK);
-        final Fragment workFragment = new LocationWorkProfileSettings();
-        workFragment.setArguments(workOnly);
-
-        final Bundle personalOnly = new Bundle();
-        personalOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.PERSONAL);
-        final Fragment personalFragment = new LocationPersonalSettings();
-        personalFragment.setArguments(personalOnly);
-        return new Fragment[]{
-                personalFragment,
-                workFragment
-        };
+        return ProfileSelectFragment.getFragments(
+                getContext(),
+                null /* bundle */,
+                LocationPersonalSettings::new,
+                LocationWorkProfileSettings::new,
+                LocationPersonalSettings::new);
     }
 
     @Override
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationServicesFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationServicesFragment.java
index 111e4ce..8e48c7b 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationServicesFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationServicesFragment.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.dashboard.profileselector;
 
-import android.os.Bundle;
-
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
@@ -31,19 +29,12 @@
 
     @Override
     public Fragment[] getFragments() {
-        final Bundle workOnly = new Bundle();
-        workOnly.putInt(EXTRA_PROFILE, ProfileType.WORK);
-        final Fragment workFragment = new LocationServicesForWork();
-        workFragment.setArguments(workOnly);
-
-        final Bundle personalOnly = new Bundle();
-        personalOnly.putInt(EXTRA_PROFILE, ProfileType.PERSONAL);
-        final Fragment personalFragment = new LocationServices();
-        personalFragment.setArguments(personalOnly);
-        return new Fragment[]{
-                personalFragment, // 0
-                workFragment
-        };
+        return ProfileSelectFragment.getFragments(
+                getContext(),
+                null /* bundle */,
+                LocationServices::new,
+                LocationServicesForWork::new,
+                LocationServices::new);
     }
 
     @Override
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java
index 36aa9c5..4c82f6c 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectManageApplications.java
@@ -31,19 +31,12 @@
 
     @Override
     public Fragment[] getFragments() {
-        final Bundle workOnly = getArguments() != null ? getArguments().deepCopy() : new Bundle();
-        workOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.WORK);
-        final Fragment workFragment = new ManageApplications();
-        workFragment.setArguments(workOnly);
-
-        final Bundle personalOnly = getArguments() != null ? getArguments() : new Bundle();
-        personalOnly.putInt(EXTRA_PROFILE, ProfileSelectFragment.ProfileType.PERSONAL);
-        final Fragment personalFragment = new ManageApplications();
-        personalFragment.setArguments(personalOnly);
-        return new Fragment[]{
-                personalFragment, //0
-                workFragment
-        };
+        return ProfileSelectFragment.getFragments(
+                getContext(),
+                getArguments(),
+                ManageApplications::new,
+                ManageApplications::new,
+                ManageApplications::new);
     }
 
     @Override
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectPhysicalKeyboardFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectPhysicalKeyboardFragment.java
index 3c1546e..2caf8db 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectPhysicalKeyboardFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectPhysicalKeyboardFragment.java
@@ -51,22 +51,13 @@
 
     @Override
     public Fragment[] getFragments() {
-        final Bundle personalOnly = new Bundle();
-        personalOnly.putInt(EXTRA_PROFILE, ProfileType.PERSONAL);
-        final Fragment personalFragment = new NewKeyboardLayoutEnabledLocalesFragment();
-        personalOnly.putParcelable(
-                Settings.EXTRA_INPUT_DEVICE_IDENTIFIER, mInputDeviceIdentifier);
-        personalFragment.setArguments(personalOnly);
-
-        final Bundle workOnly = new Bundle();
-        workOnly.putInt(EXTRA_PROFILE, ProfileType.WORK);
-        final Fragment workFragment = new NewKeyboardLayoutEnabledLocalesFragment();
-        workOnly.putParcelable(Settings.EXTRA_INPUT_DEVICE_IDENTIFIER, mInputDeviceIdentifier);
-        workFragment.setArguments(workOnly);
-
-        return new Fragment[]{
-                personalFragment,
-                workFragment
-        };
+        Bundle bundle = new Bundle();
+        bundle.putParcelable(Settings.EXTRA_INPUT_DEVICE_IDENTIFIER, mInputDeviceIdentifier);
+        return ProfileSelectFragment.getFragments(
+                getContext(),
+                bundle,
+                NewKeyboardLayoutEnabledLocalesFragment::new,
+                NewKeyboardLayoutEnabledLocalesFragment::new,
+                NewKeyboardLayoutEnabledLocalesFragment::new);
     }
 }
diff --git a/src/com/android/settings/dashboard/profileselector/ProfileSelectStorageFragment.java b/src/com/android/settings/dashboard/profileselector/ProfileSelectStorageFragment.java
index 5babf30..b523e7e 100644
--- a/src/com/android/settings/dashboard/profileselector/ProfileSelectStorageFragment.java
+++ b/src/com/android/settings/dashboard/profileselector/ProfileSelectStorageFragment.java
@@ -193,20 +193,12 @@
             return mFragments;
         }
 
-        final Bundle workBundle = new Bundle();
-        workBundle.putInt(EXTRA_PROFILE, ProfileType.WORK);
-        final Fragment workFragment = new StorageCategoryFragment();
-        workFragment.setArguments(workBundle);
-
-        final Bundle personalBundle = new Bundle();
-        personalBundle.putInt(EXTRA_PROFILE, ProfileType.PERSONAL);
-        final Fragment personalFragment = new StorageCategoryFragment();
-        personalFragment.setArguments(personalBundle);
-
-        mFragments = new Fragment[] {
-            personalFragment,
-            workFragment
-        };
+        mFragments = ProfileSelectFragment.getFragments(
+                getContext(),
+                null /* bundle */,
+                StorageCategoryFragment::new,
+                StorageCategoryFragment::new,
+                StorageCategoryFragment::new);
         return mFragments;
     }
 
diff --git a/src/com/android/settings/dashboard/profileselector/UserAdapter.java b/src/com/android/settings/dashboard/profileselector/UserAdapter.java
index f7cda69..c9e49f1 100644
--- a/src/com/android/settings/dashboard/profileselector/UserAdapter.java
+++ b/src/com/android/settings/dashboard/profileselector/UserAdapter.java
@@ -17,6 +17,7 @@
 package com.android.settings.dashboard.profileselector;
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.PERSONAL_CATEGORY_HEADER;
+import static android.app.admin.DevicePolicyResources.Strings.Settings.PRIVATE_CATEGORY_HEADER;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_CATEGORY_HEADER;
 
 import android.app.ActivityManager;
@@ -27,6 +28,7 @@
 import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
@@ -47,18 +49,21 @@
  * Adapter for a spinner that shows a list of users.
  */
 public class UserAdapter extends BaseAdapter {
+    private static final String TAG = "UserAdapter";
 
     /** Holder for user details */
     public static class UserDetails {
         private final UserHandle mUserHandle;
+        private final UserManager mUserManager;
         private final Drawable mIcon;
         private final String mTitle;
 
         public UserDetails(UserHandle userHandle, UserManager um, Context context) {
             mUserHandle = userHandle;
+            mUserManager = um;
             UserInfo userInfo = um.getUserInfo(mUserHandle.getIdentifier());
             int tintColor = Utils.getColorAttrDefaultColor(context,
-                    com.android.internal.R.attr.materialColorPrimaryContainer);
+                    com.android.internal.R.attr.materialColorPrimary);
             if (userInfo.isManagedProfile()) {
                 mIcon = context.getPackageManager().getUserBadgeForDensityNoBackground(
                         userHandle, /* density= */ 0);
@@ -73,15 +78,22 @@
             DevicePolicyManager devicePolicyManager =
                     Objects.requireNonNull(context.getSystemService(DevicePolicyManager.class));
             DevicePolicyResourcesManager resources = devicePolicyManager.getResources();
-            int userHandle = mUserHandle.getIdentifier();
-            if (userHandle == UserHandle.USER_CURRENT
-                    || userHandle == ActivityManager.getCurrentUser()) {
+            int userId = mUserHandle.getIdentifier();
+            if (userId == UserHandle.USER_CURRENT || userId == ActivityManager.getCurrentUser()) {
                 return resources.getString(PERSONAL_CATEGORY_HEADER,
-                        () -> context.getString(R.string.category_personal));
-            } else {
+                        () -> context.getString(
+                                com.android.settingslib.R.string.category_personal));
+            } else if (mUserManager.isManagedProfile(userId)) {
                 return resources.getString(WORK_CATEGORY_HEADER,
-                        () -> context.getString(R.string.category_work));
+                        () -> context.getString(com.android.settingslib.R.string.category_work));
+            } else if (android.os.Flags.allowPrivateProfile()
+                    && mUserManager.getUserInfo(userId).isPrivateProfile()) {
+                return resources.getString(PRIVATE_CATEGORY_HEADER,
+                        () -> context.getString(com.android.settingslib.R.string.category_private));
             }
+            Log.w(TAG, "title requested for unexpected user id " + userId);
+            return resources.getString(PERSONAL_CATEGORY_HEADER,
+                    () -> context.getString(com.android.settingslib.R.string.category_personal));
         }
     }
 
diff --git a/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java b/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java
index e9a1e8d..3995db6 100644
--- a/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java
+++ b/src/com/android/settings/dashboard/suggestions/SuggestionStateProvider.java
@@ -83,7 +83,7 @@
                 isComplete = true;
             } else {
                 final Context context = getContext();
-                isComplete = FeatureFactory.getFactory(context)
+                isComplete = FeatureFactory.getFeatureFactory()
                         .getSuggestionFeatureProvider()
                         .isSuggestionComplete(context, cn);
             }
diff --git a/src/com/android/settings/datausage/AppDataUsage.java b/src/com/android/settings/datausage/AppDataUsage.java
index e15cead..dbc0bc7 100644
--- a/src/com/android/settings/datausage/AppDataUsage.java
+++ b/src/com/android/settings/datausage/AppDataUsage.java
@@ -16,47 +16,48 @@
 
 import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
 
+import static com.android.settings.datausage.lib.AppDataUsageRepository.getAppUid;
+import static com.android.settings.datausage.lib.AppDataUsageRepository.getAppUidList;
+
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
-import android.os.Process;
 import android.os.UserHandle;
-import android.telephony.SubscriptionManager;
 import android.util.ArraySet;
 import android.util.IconDrawableFactory;
 import android.util.Log;
-import android.view.View;
-import android.widget.AdapterView;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
-import androidx.loader.app.LoaderManager;
-import androidx.loader.content.Loader;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.PreferenceCategory;
 import androidx.recyclerview.widget.DefaultItemAnimator;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
+import com.android.settings.datausage.lib.AppDataUsageDetailsRepository;
+import com.android.settings.datausage.lib.NetworkTemplates;
+import com.android.settings.datausage.lib.NetworkUsageDetailsData;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.AppItem;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.net.NetworkCycleDataForUid;
-import com.android.settingslib.net.NetworkCycleDataForUidLoader;
 import com.android.settingslib.net.UidDetail;
 import com.android.settingslib.net.UidDetailProvider;
 
+import kotlin.Unit;
+
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.List;
 
 public class AppDataUsage extends DataUsageBaseFragment implements OnPreferenceChangeListener,
@@ -72,37 +73,25 @@
     private static final String KEY_TOTAL_USAGE = "total_usage";
     private static final String KEY_FOREGROUND_USAGE = "foreground_usage";
     private static final String KEY_BACKGROUND_USAGE = "background_usage";
-    private static final String KEY_APP_SETTINGS = "app_settings";
     private static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
-    private static final String KEY_APP_LIST = "app_list";
-    private static final String KEY_CYCLE = "cycle";
     private static final String KEY_UNRESTRICTED_DATA = "unrestricted_data_saver";
 
-    private static final int LOADER_APP_USAGE_DATA = 2;
-    private static final int LOADER_APP_PREF = 3;
-
     private PackageManager mPackageManager;
     private final ArraySet<String> mPackages = new ArraySet<>();
     private Preference mTotalUsage;
     private Preference mForegroundUsage;
     private Preference mBackgroundUsage;
-    private Preference mAppSettings;
     private RestrictedSwitchPreference mRestrictBackground;
-    private PreferenceCategory mAppList;
 
     private Drawable mIcon;
     @VisibleForTesting
     CharSequence mLabel;
     @VisibleForTesting
     String mPackageName;
-    private CycleAdapter mCycleAdapter;
 
-    private List<NetworkCycleDataForUid> mUsageData;
     @VisibleForTesting
     NetworkTemplate mTemplate;
     private AppItem mAppItem;
-    private Intent mAppSettingsIntent;
-    private SpinnerPreference mCycle;
     private RestrictedSwitchPreference mUnrestrictedData;
     private DataSaverBackend mDataSaverBackend;
     private Context mContext;
@@ -129,15 +118,16 @@
         mSelectedCycle = (args != null) ? args.getLong(ARG_SELECTED_CYCLE) : 0L;
 
         if (mTemplate == null) {
-            mTemplate = DataUsageUtils.getDefaultTemplate(mContext,
-                    SubscriptionManager.getDefaultDataSubscriptionId());
+            mTemplate = NetworkTemplates.INSTANCE.getDefaultTemplate(mContext);
         }
+        final Activity activity = requireActivity();
+        activity.setTitle(NetworkTemplates.getTitleResId(mTemplate));
         if (mAppItem == null) {
             int uid = (args != null) ? args.getInt(AppInfoBase.ARG_PACKAGE_UID, -1)
                     : getActivity().getIntent().getIntExtra(AppInfoBase.ARG_PACKAGE_UID, -1);
             if (uid == -1) {
                 // TODO: Log error.
-                getActivity().finish();
+                activity.finish();
             } else {
                 addUid(uid);
                 mAppItem = new AppItem(uid);
@@ -149,19 +139,12 @@
             }
         }
 
-        if (mAppItem.key > 0 && UserHandle.isApp(mAppItem.key)) {
-            // In case we've been asked data usage for an app, automatically
-            // include data usage of the corresponding SDK sandbox
-            final int appSandboxUid = Process.toSdkSandboxUid(mAppItem.key);
-            if (!mAppItem.uids.get(appSandboxUid)) {
-                mAppItem.addUid(appSandboxUid);
-            }
-        }
         mTotalUsage = findPreference(KEY_TOTAL_USAGE);
         mForegroundUsage = findPreference(KEY_FOREGROUND_USAGE);
         mBackgroundUsage = findPreference(KEY_BACKGROUND_USAGE);
 
-        initCycle();
+        final List<Integer> uidList = getAppUidList(mAppItem.uids);
+        initCycle(uidList);
 
         final UidDetailProvider uidDetailProvider = getUidDetailProvider();
 
@@ -174,14 +157,16 @@
                 removePreference(KEY_RESTRICT_BACKGROUND);
             } else {
                 if (mPackages.size() != 0) {
+                    int userId = UserHandle.getUserId(mAppItem.key);
                     try {
                         final ApplicationInfo info = mPackageManager.getApplicationInfoAsUser(
-                            mPackages.valueAt(0), 0, UserHandle.getUserId(mAppItem.key));
+                                mPackages.valueAt(0), 0, userId);
                         mIcon = IconDrawableFactory.newInstance(getActivity()).getBadgedIcon(info);
                         mLabel = info.loadLabel(mPackageManager);
                         mPackageName = info.packageName;
                     } catch (PackageManager.NameNotFoundException e) {
                     }
+                    use(AppDataUsageAppSettingsController.class).init(mPackages, userId);
                 }
                 mRestrictBackground = findPreference(KEY_RESTRICT_BACKGROUND);
                 mRestrictBackground.setOnPreferenceChangeListener(this);
@@ -189,32 +174,8 @@
                 mUnrestrictedData.setOnPreferenceChangeListener(this);
             }
             mDataSaverBackend = new DataSaverBackend(mContext);
-            mAppSettings = findPreference(KEY_APP_SETTINGS);
 
-            mAppSettingsIntent = new Intent(Intent.ACTION_MANAGE_NETWORK_USAGE);
-            mAppSettingsIntent.addCategory(Intent.CATEGORY_DEFAULT);
-
-            final PackageManager pm = getPackageManager();
-            boolean matchFound = false;
-            for (String packageName : mPackages) {
-                mAppSettingsIntent.setPackage(packageName);
-                if (pm.resolveActivity(mAppSettingsIntent, 0) != null) {
-                    matchFound = true;
-                    break;
-                }
-            }
-            if (!matchFound) {
-                removePreference(KEY_APP_SETTINGS);
-                mAppSettings = null;
-            }
-
-            if (mPackages.size() > 1) {
-                mAppList = findPreference(KEY_APP_LIST);
-                LoaderManager.getInstance(this).restartLoader(LOADER_APP_PREF, Bundle.EMPTY,
-                        mAppPrefCallbacks);
-            } else {
-                removePreference(KEY_APP_LIST);
-            }
+            use(AppDataUsageListController.class).init(uidList);
         } else {
             final Context context = getActivity();
             final UidDetail uidDetail = uidDetailProvider.getUidDetail(mAppItem.key, true);
@@ -223,20 +184,16 @@
             mPackageName = context.getPackageName();
 
             removePreference(KEY_UNRESTRICTED_DATA);
-            removePreference(KEY_APP_SETTINGS);
             removePreference(KEY_RESTRICT_BACKGROUND);
-            removePreference(KEY_APP_LIST);
         }
 
         addEntityHeader();
     }
 
     @Override
-    public void onResume() {
-        super.onResume();
-        // No animations will occur before:
-        //  - LOADER_APP_USAGE_DATA initially updates the cycle
-        //  - updatePrefs() initially updates the preference visibility
+    public void onStart() {
+        super.onStart();
+        // No animations will occur before bindData() initially updates the cycle.
         // This is mainly for the cycle spinner, because when the page is entered from the
         // AppInfoDashboardFragment, there is no way to know whether the cycle data is available
         // before finished the async loading.
@@ -244,11 +201,14 @@
         // setBackPreferenceListAnimatorIfLoaded().
         mIsLoading = true;
         getListView().setItemAnimator(null);
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
         if (mDataSaverBackend != null) {
             mDataSaverBackend.addListener(this);
         }
-        LoaderManager.getInstance(this).restartLoader(LOADER_APP_USAGE_DATA, null /* args */,
-                mUidDataCallbacks);
         updatePrefs();
     }
 
@@ -261,7 +221,7 @@
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
         if (preference == mRestrictBackground) {
             mDataSaverBackend.setIsDenylisted(mAppItem.key, mPackageName, !(Boolean) newValue);
             updatePrefs();
@@ -274,17 +234,6 @@
     }
 
     @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        if (preference == mAppSettings) {
-            // TODO: target towards entire UID instead of just first package
-            getActivity().startActivityAsUser(mAppSettingsIntent, new UserHandle(
-                    UserHandle.getUserId(mAppItem.key)));
-            return true;
-        }
-        return super.onPreferenceTreeClick(preference);
-    }
-
-    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.app_data_usage;
     }
@@ -304,14 +253,17 @@
         return new UidDetailProvider(mContext);
     }
 
-    private void initCycle() {
-        mCycle = findPreference(KEY_CYCLE);
-        mCycleAdapter = new CycleAdapter(mContext, mCycle, mCycleListener);
+    @VisibleForTesting
+    void initCycle(List<Integer> uidList) {
+        var controller = use(AppDataUsageCycleController.class);
+        var repository = new AppDataUsageDetailsRepository(mContext, mTemplate, mCycles, uidList);
+        controller.init(repository, data -> {
+            bindData(data);
+            return Unit.INSTANCE;
+        });
         if (mCycles != null) {
-            // If coming from a page like DataUsageList where already has a selected cycle, display
-            // that before loading to reduce flicker.
-            mCycleAdapter.setInitialCycleList(mCycles, mSelectedCycle);
-            mCycle.setHasCycles(true);
+            Log.d(TAG, "setInitialCycles: " + mCycles + " " + mSelectedCycle);
+            controller.setInitialCycles(mCycles, mSelectedCycle);
         }
     }
 
@@ -337,8 +289,9 @@
             return;
         }
         setBackPreferenceListAnimatorIfLoaded();
-        final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfMeteredDataRestricted(
-                mContext, mPackageName, UserHandle.getUserId(mAppItem.key));
+        final EnforcedAdmin admin = RestrictedLockUtilsInternal
+                .checkIfMeteredDataUsageUserControlDisabled(mContext, mPackageName,
+                        UserHandle.getUserId(mAppItem.key));
         if (mRestrictBackground != null) {
             mRestrictBackground.setChecked(!restrictBackground);
             mRestrictBackground.setDisabledByAdmin(admin);
@@ -355,41 +308,27 @@
     }
 
     private void addUid(int uid) {
-        if (Process.isSdkSandboxUid(uid)) {
-            // For a sandbox process, get the associated app UID
-            uid = Process.getAppUidForSdkSandboxUid(uid);
-        }
-        String[] packages = mPackageManager.getPackagesForUid(uid);
+        String[] packages = mPackageManager.getPackagesForUid(getAppUid(uid));
         if (packages != null) {
-            for (int i = 0; i < packages.length; i++) {
-                mPackages.add(packages[i]);
-            }
+            Collections.addAll(mPackages, packages);
         }
     }
 
     @VisibleForTesting
-    void bindData(int position) {
-        final long backgroundBytes, foregroundBytes;
-        if (mUsageData == null || position >= mUsageData.size()) {
-            backgroundBytes = foregroundBytes = 0;
-            mCycle.setHasCycles(false);
-        } else {
-            mCycle.setHasCycles(true);
-            final NetworkCycleDataForUid data = mUsageData.get(position);
-            backgroundBytes = data.getBackgroudUsage();
-            foregroundBytes = data.getForegroudUsage();
-        }
-        final long totalBytes = backgroundBytes + foregroundBytes;
-
-        mTotalUsage.setSummary(DataUsageUtils.formatDataUsage(mContext, totalBytes));
-        mForegroundUsage.setSummary(DataUsageUtils.formatDataUsage(mContext, foregroundBytes));
-        mBackgroundUsage.setSummary(DataUsageUtils.formatDataUsage(mContext, backgroundBytes));
+    void bindData(@NonNull NetworkUsageDetailsData data) {
+        mIsLoading = false;
+        mTotalUsage.setSummary(DataUsageUtils.formatDataUsage(mContext, data.getTotalUsage()));
+        mForegroundUsage.setSummary(
+                DataUsageUtils.formatDataUsage(mContext, data.getForegroundUsage()));
+        mBackgroundUsage.setSummary(
+                DataUsageUtils.formatDataUsage(mContext, data.getBackgroundUsage()));
     }
 
     private boolean getAppRestrictBackground() {
         final int uid = mAppItem.key;
         final int uidPolicy = services.mPolicyManager.getUidPolicy(uid);
-        return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0;
+        return (uidPolicy & POLICY_REJECT_METERED_BACKGROUND) != 0
+                && DynamicDenylistManager.getInstance(mContext).isInManualDenylist(uid);
     }
 
     private boolean getUnrestrictData() {
@@ -417,7 +356,6 @@
         final Activity activity = getActivity();
         final Preference pref = EntityHeaderController
                 .newInstance(activity, this, null /* header */)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setUid(uid)
                 .setHasAppInfoLink(showInfoButton)
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
@@ -425,7 +363,7 @@
                 .setIcon(mIcon)
                 .setLabel(mLabel)
                 .setPackageName(pkg)
-                .done(activity, getPrefContext());
+                .done(getPrefContext());
         getPreferenceScreen().addPreference(pref);
     }
 
@@ -434,89 +372,6 @@
         return SettingsEnums.APP_DATA_USAGE;
     }
 
-    private AdapterView.OnItemSelectedListener mCycleListener =
-            new AdapterView.OnItemSelectedListener() {
-        @Override
-        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-            bindData(position);
-        }
-
-        @Override
-        public void onNothingSelected(AdapterView<?> parent) {
-            // ignored
-        }
-    };
-
-    @VisibleForTesting
-    final LoaderManager.LoaderCallbacks<List<NetworkCycleDataForUid>> mUidDataCallbacks =
-        new LoaderManager.LoaderCallbacks<List<NetworkCycleDataForUid>>() {
-            @Override
-            public Loader<List<NetworkCycleDataForUid>> onCreateLoader(int id, Bundle args) {
-                final NetworkCycleDataForUidLoader.Builder builder
-                    = NetworkCycleDataForUidLoader.builder(mContext);
-                builder.setRetrieveDetail(true)
-                    .setNetworkTemplate(mTemplate);
-                for (int i = 0; i < mAppItem.uids.size(); i++) {
-                    builder.addUid(mAppItem.uids.keyAt(i));
-                }
-                if (mCycles != null) {
-                    builder.setCycles(mCycles);
-                }
-                return builder.build();
-            }
-
-            @Override
-            public void onLoadFinished(Loader<List<NetworkCycleDataForUid>> loader,
-                    List<NetworkCycleDataForUid> data) {
-                mUsageData = data;
-                mCycleAdapter.updateCycleList(data);
-                if (mSelectedCycle > 0L) {
-                    final int numCycles = data.size();
-                    int position = 0;
-                    for (int i = 0; i < numCycles; i++) {
-                        final NetworkCycleDataForUid cycleData = data.get(i);
-                        if (cycleData.getEndTime() == mSelectedCycle) {
-                            position = i;
-                            break;
-                        }
-                    }
-                    if (position > 0) {
-                        mCycle.setSelection(position);
-                    }
-                    bindData(position);
-                } else {
-                    bindData(0 /* position */);
-                }
-                mIsLoading = false;
-            }
-
-            @Override
-            public void onLoaderReset(Loader<List<NetworkCycleDataForUid>> loader) {
-            }
-        };
-
-    private final LoaderManager.LoaderCallbacks<ArraySet<Preference>> mAppPrefCallbacks =
-        new LoaderManager.LoaderCallbacks<ArraySet<Preference>>() {
-            @Override
-            public Loader<ArraySet<Preference>> onCreateLoader(int i, Bundle bundle) {
-                return new AppPrefLoader(getPrefContext(), mPackages, getPackageManager());
-            }
-
-            @Override
-            public void onLoadFinished(Loader<ArraySet<Preference>> loader,
-                    ArraySet<Preference> preferences) {
-                if (preferences != null && mAppList != null) {
-                    for (Preference preference : preferences) {
-                        mAppList.addPreference(preference);
-                    }
-                }
-            }
-
-            @Override
-            public void onLoaderReset(Loader<ArraySet<Preference>> loader) {
-            }
-        };
-
     @Override
     public void onDataSaverChanged(boolean isDataSaving) {
 
diff --git a/src/com/android/settings/datausage/AppDataUsageActivity.java b/src/com/android/settings/datausage/AppDataUsageActivity.java
index 48bedce..9a5a2cb 100644
--- a/src/com/android/settings/datausage/AppDataUsageActivity.java
+++ b/src/com/android/settings/datausage/AppDataUsageActivity.java
@@ -17,9 +17,9 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.Bundle;
+import android.provider.Settings;
 import android.util.Log;
 
-import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settingslib.AppItem;
 
@@ -61,14 +61,12 @@
         args.putParcelable(AppDataUsage.ARG_APP_ITEM, appItem);
         intent.putExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS, args);
         intent.putExtra(EXTRA_SHOW_FRAGMENT, AppDataUsage.class.getName());
-        intent.putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.data_usage_app_summary_title);
 
         super.onCreate(savedInstanceState);
     }
 
     @Override
     protected boolean isValidFragment(String fragmentName) {
-        return super.isValidFragment(fragmentName)
-                || AppDataUsage.class.getName().equals(fragmentName);
+        return AppDataUsage.class.getName().equals(fragmentName);
     }
 }
diff --git a/src/com/android/settings/datausage/AppDataUsageAppSettingsController.kt b/src/com/android/settings/datausage/AppDataUsageAppSettingsController.kt
new file mode 100644
index 0000000..53a18c6
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsageAppSettingsController.kt
@@ -0,0 +1,90 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.content.Intent
+import android.os.UserHandle
+import androidx.annotation.OpenForTesting
+import androidx.annotation.VisibleForTesting
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.core.BasePreferenceController
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+@OpenForTesting
+open class AppDataUsageAppSettingsController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+
+    private var packageNames: Iterable<String> = emptyList()
+    private var userId: Int = -1
+    private lateinit var preference: Preference
+    private var resolvedIntent: Intent? = null
+
+    private val packageManager = mContext.packageManager
+
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    fun init(packageNames: Iterable<String>, userId: Int) {
+        this.packageNames = packageNames
+        this.userId = userId
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                update()
+            }
+        }
+    }
+
+    private suspend fun update() {
+        resolvedIntent = withContext(Dispatchers.Default) {
+            packageNames.map { packageName ->
+                Intent(SettingsIntent).setPackage(packageName)
+            }.firstOrNull { intent ->
+                packageManager.resolveActivityAsUser(intent, 0, userId) != null
+            }
+        }
+        preference.isVisible = resolvedIntent != null
+    }
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key == mPreferenceKey) {
+            resolvedIntent?.let { mContext.startActivityAsUser(it, UserHandle.of(userId)) }
+            return true
+        }
+        return false
+    }
+
+    private companion object {
+        val SettingsIntent = Intent(Intent.ACTION_MANAGE_NETWORK_USAGE).apply {
+            addCategory(Intent.CATEGORY_DEFAULT)
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsageCycleController.kt b/src/com/android/settings/datausage/AppDataUsageCycleController.kt
new file mode 100644
index 0000000..a3b7499
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsageCycleController.kt
@@ -0,0 +1,107 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.view.View
+import android.widget.AdapterView
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.PreferenceScreen
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.datausage.lib.IAppDataUsageDetailsRepository
+import com.android.settings.datausage.lib.NetworkUsageDetailsData
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+class AppDataUsageCycleController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+
+    private lateinit var repository: IAppDataUsageDetailsRepository
+    private var onUsageDataUpdated: (NetworkUsageDetailsData) -> Unit = {}
+    private lateinit var preference: SpinnerPreference
+    private var cycleAdapter: CycleAdapter? = null
+
+    private var usageDetailsDataList: List<NetworkUsageDetailsData> = emptyList()
+
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+        if (cycleAdapter == null) {
+            cycleAdapter = CycleAdapter(mContext, preference)
+        }
+    }
+
+    fun init(
+        repository: IAppDataUsageDetailsRepository,
+        onUsageDataUpdated: (NetworkUsageDetailsData) -> Unit,
+    ) {
+        this.repository = repository
+        this.onUsageDataUpdated = onUsageDataUpdated
+    }
+
+    /**
+     * Sets the initial cycles.
+     *
+     * If coming from a page like DataUsageList where already has a selected cycle, display that
+     * before loading to reduce flicker.
+     */
+    fun setInitialCycles(initialCycles: List<Long>, initialSelectedEndTime: Long) {
+        if (initialCycles.isNotEmpty()) {
+            cycleAdapter?.setInitialCycleList(initialCycles, initialSelectedEndTime)
+            preference.setHasCycles(true)
+        }
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                update()
+            }
+        }
+    }
+
+    private suspend fun update() {
+        usageDetailsDataList = withContext(Dispatchers.Default) {
+            repository.queryDetailsForCycles()
+        }
+        if (usageDetailsDataList.isEmpty()) {
+            preference.setHasCycles(false)
+            onUsageDataUpdated(NetworkUsageDetailsData.AllZero)
+            return
+        }
+
+        preference.setHasCycles(true)
+        cycleAdapter?.updateCycleList(usageDetailsDataList.map { it.range })
+        preference.setOnItemSelectedListener(cycleListener)
+    }
+
+    private val cycleListener = object : AdapterView.OnItemSelectedListener {
+        override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
+            usageDetailsDataList.getOrNull(position)?.let(onUsageDataUpdated)
+        }
+
+        override fun onNothingSelected(parent: AdapterView<*>?) {
+            // ignored
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsageListController.kt b/src/com/android/settings/datausage/AppDataUsageListController.kt
new file mode 100644
index 0000000..746782a
--- /dev/null
+++ b/src/com/android/settings/datausage/AppDataUsageListController.kt
@@ -0,0 +1,76 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import androidx.annotation.OpenForTesting
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.PreferenceGroup
+import androidx.preference.PreferenceScreen
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.datausage.lib.AppPreferenceRepository
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+@OpenForTesting
+open class AppDataUsageListController @JvmOverloads constructor(
+    context: Context,
+    preferenceKey: String,
+    private val repository: AppPreferenceRepository = AppPreferenceRepository(context),
+) : BasePreferenceController(context, preferenceKey) {
+
+    private var uids: List<Int> = emptyList()
+    private lateinit var preference: PreferenceGroup
+
+    fun init(uids: List<Int>) {
+        this.uids = uids
+    }
+
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                updateList()
+            }
+        }
+    }
+
+    private suspend fun updateList() {
+        if (uids.size <= 1) {
+            preference.isVisible = false
+            return
+        }
+        preference.isVisible = true
+        val appPreferences = withContext(Dispatchers.Default) {
+            repository.loadAppPreferences(uids)
+        }
+        preference.removeAll()
+        for (appPreference in appPreferences) {
+            preference.addPreference(appPreference)
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/AppDataUsagePreference.java b/src/com/android/settings/datausage/AppDataUsagePreference.java
index 2805819..d8c7392 100644
--- a/src/com/android/settings/datausage/AppDataUsagePreference.java
+++ b/src/com/android/settings/datausage/AppDataUsagePreference.java
@@ -38,6 +38,7 @@
     public AppDataUsagePreference(Context context, AppItem item, int percent,
             UidDetailProvider provider) {
         super(context);
+        setKey("app_data_usage_" + item.key);
         mItem = item;
         mPercent = percent;
 
diff --git a/src/com/android/settings/datausage/AppPrefLoader.java b/src/com/android/settings/datausage/AppPrefLoader.java
deleted file mode 100644
index 1e0a554..0000000
--- a/src/com/android/settings/datausage/AppPrefLoader.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.util.ArraySet;
-
-import androidx.preference.Preference;
-
-import com.android.settingslib.utils.AsyncLoaderCompat;
-
-public class AppPrefLoader extends AsyncLoaderCompat<ArraySet<Preference>> {
-    private ArraySet<String> mPackages;
-    private PackageManager mPackageManager;
-    private Context mPrefContext;
-
-    public AppPrefLoader(Context prefContext, ArraySet<String> pkgs, PackageManager pm) {
-        super(prefContext);
-        mPackages = pkgs;
-        mPackageManager = pm;
-        mPrefContext = prefContext;
-    }
-
-    @Override
-    public ArraySet<Preference> loadInBackground() {
-        ArraySet<Preference> results = new ArraySet<>();
-        for (int i = 1, size = mPackages.size(); i < size; i++) {
-            try {
-                ApplicationInfo info = mPackageManager.getApplicationInfo(mPackages.valueAt(i), 0);
-                Preference preference = new Preference(mPrefContext);
-                preference.setIcon(info.loadIcon(mPackageManager));
-                preference.setTitle(info.loadLabel(mPackageManager));
-                preference.setSelectable(false);
-                results.add(preference);
-            } catch (PackageManager.NameNotFoundException e) {
-            }
-        }
-        return results;
-    }
-
-    @Override
-    protected void onDiscardResult(ArraySet<Preference> result) {
-    }
-}
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.java b/src/com/android/settings/datausage/BillingCyclePreference.java
deleted file mode 100644
index 1bd2be8..0000000
--- a/src/com/android/settings/datausage/BillingCyclePreference.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.settings.datausage;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.net.NetworkTemplate;
-import android.os.Bundle;
-import android.os.RemoteException;
-import android.telephony.TelephonyManager;
-import android.telephony.data.ApnSetting;
-import android.util.AttributeSet;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.network.MobileDataEnabledListener;
-
-/**
- * Preference which displays billing cycle of subscription
- */
-public class BillingCyclePreference extends Preference
-        implements TemplatePreference, MobileDataEnabledListener.Client {
-
-    private NetworkTemplate mTemplate;
-    private NetworkServices mServices;
-    private int mSubId;
-    private MobileDataEnabledListener mListener;
-
-    /**
-     * Preference constructor
-     *
-     * @param context Context of preference
-     * @param arrts The attributes of the XML tag that is inflating the preference
-     */
-    public BillingCyclePreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-        mListener = new MobileDataEnabledListener(context, this);
-    }
-
-    @Override
-    public void onAttached() {
-        super.onAttached();
-        mListener.start(mSubId);
-    }
-
-    @Override
-    public void onDetached() {
-        mListener.stop();
-        super.onDetached();
-    }
-
-    @Override
-    public void setTemplate(NetworkTemplate template, int subId,
-            NetworkServices services) {
-        mTemplate = template;
-        mSubId = subId;
-        mServices = services;
-        setSummary(null);
-
-        setIntent(getIntent());
-    }
-
-    private void updateEnabled() {
-        try {
-            setEnabled(mServices.mNetworkService.isBandwidthControlEnabled()
-                    && mServices.mTelephonyManager.createForSubscriptionId(mSubId)
-                            .isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
-                    && mServices.mUserManager.isAdminUser());
-        } catch (RemoteException e) {
-            setEnabled(false);
-        }
-    }
-
-    @Override
-    public Intent getIntent() {
-        final Bundle args = new Bundle();
-        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
-        return new SubSettingLauncher(getContext())
-                .setDestination(BillingCycleSettings.class.getName())
-                .setArguments(args)
-                .setTitleRes(R.string.billing_cycle)
-                .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN)
-                .toIntent();
-    }
-
-    /**
-     * Implementation of {@code MobileDataEnabledListener.Client}
-     */
-    public void onMobileDataEnabledChange() {
-        updateEnabled();
-    }
-}
diff --git a/src/com/android/settings/datausage/BillingCyclePreference.kt b/src/com/android/settings/datausage/BillingCyclePreference.kt
new file mode 100644
index 0000000..a6904bc
--- /dev/null
+++ b/src/com/android/settings/datausage/BillingCyclePreference.kt
@@ -0,0 +1,72 @@
+/*
+ * 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.datausage
+
+import android.app.settings.SettingsEnums
+import android.content.Context
+import android.net.NetworkTemplate
+import android.os.Bundle
+import android.util.AttributeSet
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.android.settings.R
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.datausage.lib.BillingCycleRepository
+import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settings.spa.preference.ComposePreference
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import kotlinx.coroutines.flow.map
+
+/**
+ * Preference which displays billing cycle of subscription
+ *
+ * @param context Context of preference
+ * @param attrs   The attributes of the XML tag that is inflating the preference
+ */
+class BillingCyclePreference @JvmOverloads constructor(
+    context: Context,
+    attrs: AttributeSet?,
+    private val repository: BillingCycleRepository = BillingCycleRepository(context),
+) : ComposePreference(context, attrs), TemplatePreference {
+
+    override fun setTemplate(template: NetworkTemplate, subId: Int) {
+        setContent {
+            val isModifiable by remember {
+                context.mobileDataEnabledFlow(subId).map { repository.isModifiable(subId) }
+            }.collectAsStateWithLifecycle(initialValue = false)
+
+            Preference(object : PreferenceModel {
+                override val title = stringResource(R.string.billing_cycle)
+                override val enabled = { isModifiable }
+                override val onClick = { launchBillingCycleSettings(template) }
+            })
+        }
+    }
+
+    private fun launchBillingCycleSettings(template: NetworkTemplate) {
+        val args = Bundle().apply {
+            putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, template)
+        }
+        SubSettingLauncher(context).apply {
+            setDestination(BillingCycleSettings::class.java.name)
+            setArguments(args)
+            setTitleRes(R.string.billing_cycle)
+            setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN)
+        }.launch()
+    }
+}
diff --git a/src/com/android/settings/datausage/BillingCyclePreferenceController.java b/src/com/android/settings/datausage/BillingCyclePreferenceController.java
index 73216ab..8b55585 100644
--- a/src/com/android/settings/datausage/BillingCyclePreferenceController.java
+++ b/src/com/android/settings/datausage/BillingCyclePreferenceController.java
@@ -17,20 +17,12 @@
 package com.android.settings.datausage;
 
 import android.content.Context;
-import android.net.NetworkPolicyManager;
 import android.net.NetworkTemplate;
-import android.os.INetworkManagementService;
-import android.os.ServiceManager;
-import android.os.UserManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.datausage.DataUsageUtils;
 import com.android.settings.datausage.lib.DataUsageLib;
-import com.android.settingslib.NetworkPolicyEditor;
 
 public class BillingCyclePreferenceController extends BasePreferenceController {
     private int mSubscriptionId;
@@ -48,18 +40,9 @@
         super.displayPreference(screen);
         BillingCyclePreference preference = screen.findPreference(getPreferenceKey());
 
-        TemplatePreference.NetworkServices services = new TemplatePreference.NetworkServices();
-        services.mNetworkService = INetworkManagementService.Stub.asInterface(
-                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
-        services.mPolicyManager = mContext.getSystemService(NetworkPolicyManager.class);
-        services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
-        services.mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
-        services.mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
-        services.mUserManager = mContext.getSystemService(UserManager.class);
-
         NetworkTemplate template = DataUsageLib.getMobileTemplate(mContext, mSubscriptionId);
 
-        preference.setTemplate(template, mSubscriptionId, services);
+        preference.setTemplate(template, mSubscriptionId);
     }
 
     @Override
diff --git a/src/com/android/settings/datausage/BillingCycleSettings.java b/src/com/android/settings/datausage/BillingCycleSettings.java
index c3ddb2e..9a7411a 100644
--- a/src/com/android/settings/datausage/BillingCycleSettings.java
+++ b/src/com/android/settings/datausage/BillingCycleSettings.java
@@ -40,10 +40,11 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.datausage.lib.NetworkTemplates;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.network.telephony.MobileNetworkUtils;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -82,8 +83,8 @@
     NetworkTemplate mNetworkTemplate;
     private Preference mBillingCycle;
     private Preference mDataWarning;
-    private SwitchPreference mEnableDataWarning;
-    private SwitchPreference mEnableDataLimit;
+    private TwoStatePreference mEnableDataWarning;
+    private TwoStatePreference mEnableDataLimit;
     private Preference mDataLimit;
     private DataUsageController mDataUsageController;
 
@@ -92,8 +93,8 @@
             Preference billingCycle,
             Preference dataLimit,
             Preference dataWarning,
-            SwitchPreference enableLimit,
-            SwitchPreference enableWarning) {
+            TwoStatePreference enableLimit,
+            TwoStatePreference enableWarning) {
         services.mPolicyEditor = policyEditor;
         mBillingCycle = billingCycle;
         mDataLimit = dataLimit;
@@ -128,15 +129,14 @@
         }
 
         if (mNetworkTemplate == null) {
-            mNetworkTemplate = DataUsageUtils.getDefaultTemplate(context,
-                DataUsageUtils.getDefaultSubscriptionId(context));
+            mNetworkTemplate = NetworkTemplates.INSTANCE.getDefaultTemplate(context);
         }
 
         mBillingCycle = findPreference(KEY_BILLING_CYCLE);
-        mEnableDataWarning = (SwitchPreference) findPreference(KEY_SET_DATA_WARNING);
+        mEnableDataWarning = (TwoStatePreference) findPreference(KEY_SET_DATA_WARNING);
         mEnableDataWarning.setOnPreferenceChangeListener(this);
         mDataWarning = findPreference(KEY_DATA_WARNING);
-        mEnableDataLimit = (SwitchPreference) findPreference(KEY_SET_DATA_LIMIT);
+        mEnableDataLimit = (TwoStatePreference) findPreference(KEY_SET_DATA_LIMIT);
         mEnableDataLimit.setOnPreferenceChangeListener(this);
         mDataLimit = findPreference(KEY_DATA_LIMIT);
     }
diff --git a/src/com/android/settings/datausage/CellDataPreference.java b/src/com/android/settings/datausage/CellDataPreference.java
index 0e47bc4..3bd3ecc 100644
--- a/src/com/android/settings/datausage/CellDataPreference.java
+++ b/src/com/android/settings/datausage/CellDataPreference.java
@@ -26,11 +26,10 @@
 import android.util.AttributeSet;
 import android.util.Log;
 import android.view.View;
-import android.widget.Checkable;
+import android.widget.CompoundButton;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog.Builder;
-import androidx.core.content.res.TypedArrayUtils;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
@@ -51,12 +50,10 @@
     public int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     public boolean mChecked;
     public boolean mMultiSimDialog;
-    private MobileDataEnabledListener mDataStateListener;
+    private final MobileDataEnabledListener mDataStateListener;
 
     public CellDataPreference(Context context, AttributeSet attrs) {
-        super(context, attrs, TypedArrayUtils.getAttr(context,
-                androidx.preference.R.attr.switchPreferenceStyle,
-                android.R.attr.switchPreferenceStyle));
+        super(context, attrs, androidx.preference.R.attr.switchPreferenceCompatStyle);
         mDataStateListener = new MobileDataEnabledListener(context, this);
     }
 
@@ -99,7 +96,7 @@
     }
 
     @Override
-    public void setTemplate(NetworkTemplate template, int subId, NetworkServices services) {
+    public void setTemplate(NetworkTemplate template, int subId) {
         if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             throw new IllegalArgumentException("CellDataPreference needs a SubscriptionInfo");
         }
@@ -138,7 +135,7 @@
     @Override
     protected void performClick(View view) {
         final Context context = getContext();
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(context, SettingsEnums.ACTION_CELL_DATA_TOGGLE, !mChecked);
         final SubscriptionInfo currentSir = getActiveSubscriptionInfo(mSubId);
         final SubscriptionInfo nextSir = getActiveSubscriptionInfo(
@@ -170,9 +167,10 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final View switchView = holder.findViewById(android.R.id.switch_widget);
+        final CompoundButton switchView =
+                (CompoundButton) holder.findViewById(androidx.preference.R.id.switchWidget);
         switchView.setClickable(false);
-        ((Checkable) switchView).setChecked(mChecked);
+        switchView.setChecked(mChecked);
     }
 
     @Override
diff --git a/src/com/android/settings/datausage/ChartDataUsagePreference.java b/src/com/android/settings/datausage/ChartDataUsagePreference.java
index 12fb03b..e8e2109 100644
--- a/src/com/android/settings/datausage/ChartDataUsagePreference.java
+++ b/src/com/android/settings/datausage/ChartDataUsagePreference.java
@@ -26,15 +26,17 @@
 import android.util.DataUnit;
 import android.util.SparseIntArray;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settings.datausage.lib.NetworkCycleChartData;
+import com.android.settings.datausage.lib.NetworkUsageData;
 import com.android.settings.widget.UsageView;
-import com.android.settingslib.net.NetworkCycleChartData;
-import com.android.settingslib.net.NetworkCycleData;
 
 import java.util.ArrayList;
 import java.util.Comparator;
@@ -51,13 +53,11 @@
     private final int mWarningColor;
     private final int mLimitColor;
 
-    private Resources mResources;
-    private NetworkPolicy mPolicy;
+    private final Resources mResources;
+    @Nullable private NetworkPolicy mPolicy;
     private long mStart;
     private long mEnd;
     private NetworkCycleChartData mNetworkCycleChartData;
-    private int mSecondaryColor;
-    private int mSeriesColor;
 
     public ChartDataUsagePreference(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -69,18 +69,16 @@
     }
 
     @Override
-    public void onBindViewHolder(PreferenceViewHolder holder) {
+    public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final UsageView chart = (UsageView) holder.findViewById(R.id.data_usage);
-        if (mNetworkCycleChartData == null) {
-            return;
-        }
-
+        final UsageView chart = holder.itemView.requireViewById(R.id.data_usage);
         final int top = getTop();
         chart.clearPaths();
         chart.configureGraph(toInt(mEnd - mStart), top);
-        calcPoints(chart, mNetworkCycleChartData.getUsageBuckets());
-        setupContentDescription(chart, mNetworkCycleChartData.getUsageBuckets());
+        if (mNetworkCycleChartData != null) {
+            calcPoints(chart, mNetworkCycleChartData.getDailyUsage());
+            setupContentDescription(chart, mNetworkCycleChartData.getDailyUsage());
+        }
         chart.setBottomLabels(new CharSequence[] {
                 Utils.formatDateRange(getContext(), mStart, mStart),
                 Utils.formatDateRange(getContext(), mEnd, mEnd),
@@ -90,23 +88,21 @@
     }
 
     public int getTop() {
-        final long totalData = mNetworkCycleChartData.getTotalUsage();
+        final long totalData =
+                mNetworkCycleChartData != null ? mNetworkCycleChartData.getTotal().getUsage() : 0;
         final long policyMax =
             mPolicy != null ? Math.max(mPolicy.limitBytes, mPolicy.warningBytes) : 0;
         return (int) (Math.max(totalData, policyMax) / RESOLUTION);
     }
 
     @VisibleForTesting
-    void calcPoints(UsageView chart, List<NetworkCycleData> usageSummary) {
-        if (usageSummary == null) {
-            return;
-        }
+    void calcPoints(UsageView chart, @NonNull List<NetworkUsageData> usageSummary) {
         final SparseIntArray points = new SparseIntArray();
         points.put(0, 0);
 
         final long now = System.currentTimeMillis();
         long totalData = 0;
-        for (NetworkCycleData data : usageSummary) {
+        for (NetworkUsageData data : usageSummary) {
             final long startTime = data.getStartTime();
             if (startTime > now) {
                 break;
@@ -114,11 +110,8 @@
             final long endTime = data.getEndTime();
 
             // increment by current bucket total
-            totalData += data.getTotalUsage();
+            totalData += data.getUsage();
 
-            if (points.size() == 1) {
-                points.put(toInt(startTime - mStart) - 1, -1);
-            }
             points.put(toInt(startTime - mStart + 1), (int) (totalData / RESOLUTION));
             points.put(toInt(endTime - mStart), (int) (totalData / RESOLUTION));
         }
@@ -127,7 +120,8 @@
         }
     }
 
-    private void setupContentDescription(UsageView chart, List<NetworkCycleData> usageSummary) {
+    private void setupContentDescription(
+            UsageView chart, @NonNull List<NetworkUsageData> usageSummary) {
         final Context context = getContext();
         final StringBuilder contentDescription = new StringBuilder();
         final int flags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_ABBREV_MONTH;
@@ -139,7 +133,7 @@
                 .getString(R.string.data_usage_chart_brief_content_description, startDate, endDate);
         contentDescription.append(briefContentDescription);
 
-        if (usageSummary == null || usageSummary.isEmpty()) {
+        if (usageSummary.isEmpty()) {
             final String noDataContentDescription = mResources
                     .getString(R.string.data_usage_chart_no_data_content_description);
             contentDescription.append(noDataContentDescription);
@@ -172,17 +166,17 @@
      * Collect the date of the same percentage, e.g., Aug 2 to Aug 22: 0%; Aug 23: 2%.
      */
     @VisibleForTesting
-    List<DataUsageSummaryNode> getDensedStatsData(List<NetworkCycleData> usageSummary) {
+    List<DataUsageSummaryNode> getDensedStatsData(@NonNull List<NetworkUsageData> usageSummary) {
         final List<DataUsageSummaryNode> dataUsageSummaryNodes = new ArrayList<>();
         final long overallDataUsage = Math.max(1L, usageSummary.stream()
-                .mapToLong(NetworkCycleData::getTotalUsage).sum());
+                .mapToLong(NetworkUsageData::getUsage).sum());
         long cumulatedDataUsage = 0L;
-        int cumulatedDataUsagePercentage = 0;
 
         // Collect List of DataUsageSummaryNode for data usage percentage information.
-        for (NetworkCycleData data : usageSummary) {
-            cumulatedDataUsage += data.getTotalUsage();
-            cumulatedDataUsagePercentage = (int) ((cumulatedDataUsage * 100) / overallDataUsage);
+        for (NetworkUsageData data : usageSummary) {
+            cumulatedDataUsage += data.getUsage();
+            int cumulatedDataUsagePercentage =
+                    (int) ((cumulatedDataUsage * 100) / overallDataUsage);
 
             final DataUsageSummaryNode node = new DataUsageSummaryNode(data.getStartTime(),
                     data.getEndTime(), cumulatedDataUsagePercentage);
@@ -270,8 +264,9 @@
         }
 
         if (policy.warningBytes != NetworkPolicy.WARNING_DISABLED) {
-            chart.setDividerLoc((int) (policy.warningBytes / RESOLUTION));
-            float weight = policy.warningBytes / RESOLUTION / (float) top;
+            int dividerLoc = (int) (policy.warningBytes / RESOLUTION);
+            chart.setDividerLoc(dividerLoc);
+            float weight = dividerLoc / (float) top;
             float above = 1 - weight;
             chart.setSideLabelWeights(above, weight);
             middleVisibility = mWarningColor;
@@ -291,29 +286,21 @@
         return new SpannableStringBuilder().append(label, new ForegroundColorSpan(mLimitColor), 0);
     }
 
-    public void setNetworkPolicy(NetworkPolicy policy) {
+    /** Sets network policy. */
+    public void setNetworkPolicy(@Nullable NetworkPolicy policy) {
         mPolicy = policy;
         notifyChanged();
     }
 
-    public long getInspectStart() {
-        return mStart;
-    }
-
-    public long getInspectEnd() {
-        return mEnd;
+    /** Sets time. */
+    public void setTime(long start, long end) {
+        mStart = start;
+        mEnd = end;
+        notifyChanged();
     }
 
     public void setNetworkCycleData(NetworkCycleChartData data) {
         mNetworkCycleChartData = data;
-        mStart = data.getStartTime();
-        mEnd = data.getEndTime();
-        notifyChanged();
-    }
-
-    public void setColors(int seriesColor, int secondaryColor) {
-        mSeriesColor = seriesColor;
-        mSecondaryColor = secondaryColor;
         notifyChanged();
     }
 }
diff --git a/src/com/android/settings/datausage/ChartDataUsagePreferenceController.kt b/src/com/android/settings/datausage/ChartDataUsagePreferenceController.kt
new file mode 100644
index 0000000..34dcb4d
--- /dev/null
+++ b/src/com/android/settings/datausage/ChartDataUsagePreferenceController.kt
@@ -0,0 +1,60 @@
+/*
+ * 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.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.INetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkCycleChartData
+import com.android.settings.datausage.lib.NetworkCycleDataRepository
+
+class ChartDataUsagePreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+
+    private lateinit var repository: INetworkCycleDataRepository
+    private lateinit var preference: ChartDataUsagePreference
+
+    fun init(template: NetworkTemplate) {
+        this.repository = NetworkCycleDataRepository(mContext, template)
+    }
+
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    /**
+     * Sets whether billing cycle modifiable.
+     *
+     * Don't bind warning / limit sweeps if not modifiable.
+     */
+    fun setBillingCycleModifiable(isModifiable: Boolean) {
+        preference.setNetworkPolicy(
+            if (isModifiable) repository.getPolicy() else null
+        )
+    }
+
+    /** Updates chart to show selected cycle. */
+    fun update(chartData: NetworkCycleChartData) {
+        preference.setTime(chartData.total.startTime, chartData.total.endTime)
+        preference.setNetworkCycleData(chartData)
+    }
+}
diff --git a/src/com/android/settings/datausage/CycleAdapter.java b/src/com/android/settings/datausage/CycleAdapter.java
index 2af4012..7cff05e 100644
--- a/src/com/android/settings/datausage/CycleAdapter.java
+++ b/src/com/android/settings/datausage/CycleAdapter.java
@@ -14,10 +14,9 @@
 package com.android.settings.datausage;
 
 import android.content.Context;
-import android.widget.AdapterView;
+import android.util.Range;
 
 import com.android.settings.Utils;
-import com.android.settingslib.net.NetworkCycleData;
 import com.android.settingslib.widget.SettingsSpinnerAdapter;
 
 import java.util.List;
@@ -25,13 +24,10 @@
 public class CycleAdapter extends SettingsSpinnerAdapter<CycleAdapter.CycleItem> {
 
     private final SpinnerInterface mSpinner;
-    private final AdapterView.OnItemSelectedListener mListener;
 
-    public CycleAdapter(Context context, SpinnerInterface spinner,
-            AdapterView.OnItemSelectedListener listener) {
+    public CycleAdapter(Context context, SpinnerInterface spinner) {
         super(context);
         mSpinner = spinner;
-        mListener = listener;
         mSpinner.setAdapter(this);
     }
 
@@ -66,16 +62,15 @@
      * Rebuild list based on network data. Always selects the newest item,
      * updating the inspection range on chartData.
      */
-    public void updateCycleList(List<? extends NetworkCycleData> cycleData) {
-        mSpinner.setOnItemSelectedListener(mListener);
+    public void updateCycleList(List<Range<Long>> cycleData) {
         // stash away currently selected cycle to try restoring below
         final CycleAdapter.CycleItem previousItem = (CycleAdapter.CycleItem)
                 mSpinner.getSelectedItem();
         clear();
 
         final Context context = getContext();
-        for (NetworkCycleData data : cycleData) {
-            add(new CycleAdapter.CycleItem(context, data.getStartTime(), data.getEndTime()));
+        for (Range<Long> cycle : cycleData) {
+            add(new CycleAdapter.CycleItem(context, cycle.getLower(), cycle.getUpper()));
         }
 
         // force pick the current cycle (first item)
@@ -122,8 +117,6 @@
     public interface SpinnerInterface {
         void setAdapter(CycleAdapter cycleAdapter);
 
-        void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener);
-
         Object getSelectedItem();
 
         void setSelection(int position);
diff --git a/src/com/android/settings/datausage/DataPlanInfo.kt b/src/com/android/settings/datausage/DataPlanInfo.kt
new file mode 100644
index 0000000..51eb592
--- /dev/null
+++ b/src/com/android/settings/datausage/DataPlanInfo.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.datausage
+
+data class DataPlanInfo(
+
+    /** The number of registered plans, [0, N] */
+    val dataPlanCount: Int,
+
+    /**
+     * The size of the first registered plan if one exists or the size of the warning if it is set.
+     *
+     * Set to -1 if no plan information is available.
+     */
+    val dataPlanSize: Long,
+
+    /**
+     * The "size" of the data usage bar, i.e. the amount of data its rhs end represents.
+     *
+     * Set to -1 if not display a data usage bar.
+     */
+    val dataBarSize: Long,
+
+    /** The number of bytes used since the start of the cycle. */
+    val dataPlanUse: Long,
+
+    /**
+     * The ending time of the billing cycle in ms since the epoch.
+     *
+     * Set to `null` if no cycle information is available.
+     */
+    val cycleEnd: Long?,
+
+    /** The time of the last update in milliseconds since the epoch, or -1 if unknown. */
+    val snapshotTime: Long,
+)
diff --git a/src/com/android/settings/datausage/DataPlanRepository.kt b/src/com/android/settings/datausage/DataPlanRepository.kt
new file mode 100644
index 0000000..9d34200
--- /dev/null
+++ b/src/com/android/settings/datausage/DataPlanRepository.kt
@@ -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.datausage
+
+import android.net.NetworkPolicy
+import android.telephony.SubscriptionPlan
+import com.android.settings.datausage.lib.INetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkCycleDataRepository.Companion.getCycles
+import com.android.settings.datausage.lib.NetworkStatsRepository
+
+interface DataPlanRepository {
+    fun getDataPlanInfo(policy: NetworkPolicy, plans: List<SubscriptionPlan>): DataPlanInfo
+}
+
+class DataPlanRepositoryImpl(
+    private val networkCycleDataRepository: INetworkCycleDataRepository,
+) : DataPlanRepository {
+    override fun getDataPlanInfo(
+        policy: NetworkPolicy,
+        plans: List<SubscriptionPlan>,
+    ): DataPlanInfo {
+        getPrimaryPlan(plans)?.let { primaryPlan ->
+            val dataPlanSize = when (primaryPlan.dataLimitBytes) {
+                SubscriptionPlan.BYTES_UNLIMITED -> SubscriptionPlan.BYTES_UNKNOWN
+                else -> primaryPlan.dataLimitBytes
+            }
+            return DataPlanInfo(
+                dataPlanCount = plans.size,
+                dataPlanSize = dataPlanSize,
+                dataBarSize = dataPlanSize,
+                dataPlanUse = primaryPlan.dataUsageBytes,
+                cycleEnd = primaryPlan.cycleRule.end?.toInstant()?.toEpochMilli(),
+                snapshotTime = primaryPlan.dataUsageTime,
+            )
+        }
+
+        val cycle = policy.getCycles().firstOrNull()
+        val dataUsage = networkCycleDataRepository.queryUsage(
+            cycle ?: NetworkStatsRepository.AllTimeRange
+        ).usage
+        return DataPlanInfo(
+            dataPlanCount = 0,
+            dataPlanSize = SubscriptionPlan.BYTES_UNKNOWN,
+            dataBarSize = maxOf(dataUsage, policy.limitBytes, policy.warningBytes),
+            dataPlanUse = dataUsage,
+            cycleEnd = cycle?.upper,
+            snapshotTime = SubscriptionPlan.TIME_UNKNOWN,
+        )
+    }
+
+    companion object {
+        private const val PETA = 1_000_000_000_000_000L
+
+        private fun getPrimaryPlan(plans: List<SubscriptionPlan>): SubscriptionPlan? =
+            plans.firstOrNull()?.takeIf { plan ->
+                plan.dataLimitBytes > 0 && validSize(plan.dataUsageBytes) && plan.cycleRule != null
+            }
+
+        private fun validSize(value: Long): Boolean = value in 0L until PETA
+    }
+}
diff --git a/src/com/android/settings/datausage/DataSaverBackend.java b/src/com/android/settings/datausage/DataSaverBackend.java
index 6a39234..6e99453 100644
--- a/src/com/android/settings/datausage/DataSaverBackend.java
+++ b/src/com/android/settings/datausage/DataSaverBackend.java
@@ -23,6 +23,7 @@
 import android.net.NetworkPolicyManager;
 import android.util.SparseIntArray;
 
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.utils.ThreadUtils;
@@ -39,6 +40,7 @@
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
     private final NetworkPolicyManager mPolicyManager;
+    private final DynamicDenylistManager mDynamicDenylistManager;
     private final ArrayList<Listener> mListeners = new ArrayList<>();
     private SparseIntArray mUidPolicies = new SparseIntArray();
     private boolean mAllowlistInitialized;
@@ -48,8 +50,9 @@
     public DataSaverBackend(@NotNull Context context) {
         // TODO(b/246537614):Use fragment context to DataSaverBackend class will caused memory leak
         mContext = context.getApplicationContext();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPolicyManager = NetworkPolicyManager.from(mContext);
+        mDynamicDenylistManager = DynamicDenylistManager.getInstance(mContext);
     }
 
     public void addListener(Listener listener) {
@@ -83,7 +86,7 @@
 
     public void setIsAllowlisted(int uid, String packageName, boolean allowlisted) {
         final int policy = allowlisted ? POLICY_ALLOW_METERED_BACKGROUND : POLICY_NONE;
-        mPolicyManager.setUidPolicy(uid, policy);
+        mDynamicDenylistManager.setUidPolicyLocked(uid, policy);
         mUidPolicies.put(uid, policy);
         if (allowlisted) {
             mMetricsFeatureProvider.action(
@@ -113,7 +116,7 @@
 
     public void setIsDenylisted(int uid, String packageName, boolean denylisted) {
         final int policy = denylisted ? POLICY_REJECT_METERED_BACKGROUND : POLICY_NONE;
-        mPolicyManager.setUidPolicy(uid, policy);
+        mDynamicDenylistManager.setUidPolicyLocked(uid, policy);
         mUidPolicies.put(uid, policy);
         if (denylisted) {
             mMetricsFeatureProvider.action(
@@ -123,7 +126,8 @@
 
     public boolean isDenylisted(int uid) {
         loadDenylist();
-        return mUidPolicies.get(uid, POLICY_NONE) == POLICY_REJECT_METERED_BACKGROUND;
+        return mUidPolicies.get(uid, POLICY_NONE) == POLICY_REJECT_METERED_BACKGROUND
+                && mDynamicDenylistManager.isInManualDenylist(uid);
     }
 
     private void loadDenylist() {
diff --git a/src/com/android/settings/datausage/DataSaverSummary.kt b/src/com/android/settings/datausage/DataSaverSummary.kt
index 0828d36..cdd46f2 100644
--- a/src/com/android/settings/datausage/DataSaverSummary.kt
+++ b/src/com/android/settings/datausage/DataSaverSummary.kt
@@ -19,7 +19,6 @@
 import android.content.Context
 import android.os.Bundle
 import android.telephony.SubscriptionManager
-import android.widget.Switch
 import com.android.settings.R
 import com.android.settings.SettingsActivity
 import com.android.settings.dashboard.DashboardFragment
@@ -51,9 +50,7 @@
         switchBar = (activity as SettingsActivity).switchBar.apply {
             setTitle(getString(R.string.data_saver_switch_title))
             show()
-            addOnSwitchChangeListener { _: Switch, isChecked: Boolean ->
-                onSwitchChanged(isChecked)
-            }
+            addOnSwitchChangeListener { _, isChecked -> onSwitchChanged(isChecked) }
         }
     }
 
@@ -105,4 +102,4 @@
                         SubscriptionManager.INVALID_SUBSCRIPTION_ID)
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/datausage/DataUsageBaseFragment.java b/src/com/android/settings/datausage/DataUsageBaseFragment.java
index eee3228..5ddbab8 100644
--- a/src/com/android/settings/datausage/DataUsageBaseFragment.java
+++ b/src/com/android/settings/datausage/DataUsageBaseFragment.java
@@ -15,23 +15,13 @@
 package com.android.settings.datausage;
 
 import android.content.Context;
-import android.net.NetworkPolicy;
 import android.net.NetworkPolicyManager;
 import android.os.Bundle;
-import android.os.INetworkManagementService;
-import android.os.RemoteException;
-import android.os.ServiceManager;
-import android.os.UserManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
 
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settingslib.NetworkPolicyEditor;
 
 public abstract class DataUsageBaseFragment extends DashboardFragment {
-    private static final String TAG = "DataUsageBase";
-    private static final String ETHERNET = "ethernet";
 
     protected final TemplatePreference.NetworkServices services =
             new TemplatePreference.NetworkServices();
@@ -41,16 +31,10 @@
         super.onCreate(icicle);
         Context context = getContext();
 
-        services.mNetworkService = INetworkManagementService.Stub.asInterface(
-                ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE));
         services.mPolicyManager = (NetworkPolicyManager) context
                 .getSystemService(Context.NETWORK_POLICY_SERVICE);
 
         services.mPolicyEditor = new NetworkPolicyEditor(services.mPolicyManager);
-
-        services.mTelephonyManager = context.getSystemService(TelephonyManager.class);
-        services.mSubscriptionManager = SubscriptionManager.from(context);
-        services.mUserManager = UserManager.get(context);
     }
 
     @Override
@@ -58,33 +42,4 @@
         super.onResume();
         services.mPolicyEditor.read();
     }
-
-    protected boolean isAdmin() {
-        return services.mUserManager.isAdminUser();
-    }
-
-    protected boolean isMobileDataAvailable(int subId) {
-        return services.mSubscriptionManager.getActiveSubscriptionInfo(subId) != null;
-    }
-
-    protected boolean isNetworkPolicyModifiable(NetworkPolicy policy, int subId) {
-        return policy != null && isBandwidthControlEnabled() && services.mUserManager.isAdminUser()
-                && isDataEnabled(subId);
-    }
-
-    private boolean isDataEnabled(int subId) {
-        if (subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            return true;
-        }
-        return services.mTelephonyManager.getDataEnabled(subId);
-    }
-
-    protected boolean isBandwidthControlEnabled() {
-        try {
-            return services.mNetworkService.isBandwidthControlEnabled();
-        } catch (RemoteException e) {
-            Log.w(TAG, "problem talking with INetworkManagementService: ", e);
-            return false;
-        }
-    }
 }
diff --git a/src/com/android/settings/datausage/DataUsageInfoController.java b/src/com/android/settings/datausage/DataUsageInfoController.java
index a471c39..380322b 100644
--- a/src/com/android/settings/datausage/DataUsageInfoController.java
+++ b/src/com/android/settings/datausage/DataUsageInfoController.java
@@ -14,8 +14,6 @@
 
 package com.android.settings.datausage;
 
-import android.net.NetworkPolicy;
-
 import com.android.settingslib.net.DataUsageController.DataUsageInfo;
 
 /**
@@ -23,21 +21,6 @@
  */
 public class DataUsageInfoController {
     /**
-     * Take the cached data usage values in the NetworkPolicy to update DataUsageInfo.
-     */
-    public void updateDataLimit(DataUsageInfo info, NetworkPolicy policy) {
-        if (info == null || policy == null) {
-            return;
-        }
-        if (policy.warningBytes >= 0) {
-            info.warningLevel = policy.warningBytes;
-        }
-        if (policy.limitBytes >= 0) {
-            info.limitLevel = policy.limitBytes;
-        }
-    }
-
-    /**
      * @returns the most appropriate limit for the data usage summary. Use the total usage when it
      * is higher than the limit and warning level. Use the limit when it is set and less than usage.
      * Otherwise use warning level.
diff --git a/src/com/android/settings/datausage/DataUsageList.java b/src/com/android/settings/datausage/DataUsageList.java
deleted file mode 100644
index dd8312c..0000000
--- a/src/com/android/settings/datausage/DataUsageList.java
+++ /dev/null
@@ -1,676 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.app.usage.NetworkStats.Bucket.UID_REMOVED;
-import static android.app.usage.NetworkStats.Bucket.UID_TETHERING;
-import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
-
-import android.app.Activity;
-import android.app.ActivityManager;
-import android.app.settings.SettingsEnums;
-import android.app.usage.NetworkStats;
-import android.app.usage.NetworkStats.Bucket;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.UserInfo;
-import android.graphics.Color;
-import android.net.ConnectivityManager;
-import android.net.NetworkPolicy;
-import android.net.NetworkTemplate;
-import android.os.Bundle;
-import android.os.Process;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.util.EventLog;
-import android.util.Log;
-import android.util.SparseArray;
-import android.view.View;
-import android.view.View.AccessibilityDelegate;
-import android.view.accessibility.AccessibilityEvent;
-import android.widget.AdapterView;
-import android.widget.AdapterView.OnItemSelectedListener;
-import android.widget.ImageView;
-import android.widget.Spinner;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.loader.app.LoaderManager.LoaderCallbacks;
-import androidx.loader.content.Loader;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-
-import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.datausage.CycleAdapter.SpinnerInterface;
-import com.android.settings.network.MobileDataEnabledListener;
-import com.android.settings.network.MobileNetworkRepository;
-import com.android.settings.network.ProxySubscriptionManager;
-import com.android.settings.widget.LoadingViewController;
-import com.android.settingslib.AppItem;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.settingslib.net.NetworkCycleChartData;
-import com.android.settingslib.net.NetworkCycleChartDataLoader;
-import com.android.settingslib.net.NetworkStatsSummaryLoader;
-import com.android.settingslib.net.UidDetail;
-import com.android.settingslib.net.UidDetailProvider;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.Optional;
-
-/**
- * Panel showing data usage history across various networks, including options
- * to inspect based on usage cycle and control through {@link NetworkPolicy}.
- */
-public class DataUsageList extends DataUsageBaseFragment
-        implements MobileDataEnabledListener.Client {
-
-    static final String EXTRA_SUB_ID = "sub_id";
-    static final String EXTRA_NETWORK_TEMPLATE = "network_template";
-    static final String EXTRA_NETWORK_TYPE = "network_type";
-
-    private static final String TAG = "DataUsageList";
-    private static final boolean LOGD = false;
-
-    private static final String KEY_USAGE_AMOUNT = "usage_amount";
-    private static final String KEY_CHART_DATA = "chart_data";
-    private static final String KEY_APPS_GROUP = "apps_group";
-    private static final String KEY_TEMPLATE = "template";
-    private static final String KEY_APP = "app";
-
-    @VisibleForTesting
-    static final int LOADER_CHART_DATA = 2;
-    @VisibleForTesting
-    static final int LOADER_SUMMARY = 3;
-
-    @VisibleForTesting
-    MobileDataEnabledListener mDataStateListener;
-
-    @VisibleForTesting
-    NetworkTemplate mTemplate;
-    @VisibleForTesting
-    int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    @VisibleForTesting
-    int mNetworkType;
-    @VisibleForTesting
-    Spinner mCycleSpinner;
-    @VisibleForTesting
-    LoadingViewController mLoadingViewController;
-
-    private ChartDataUsagePreference mChart;
-    private List<NetworkCycleChartData> mCycleData;
-    // Caches the cycles for startAppDataUsage usage, which need be cleared when resumed.
-    private ArrayList<Long> mCycles;
-    // Spinner will keep the selected cycle even after paused, this only keeps the displayed cycle,
-    // which need be cleared when resumed.
-    private CycleAdapter.CycleItem mLastDisplayedCycle;
-    private UidDetailProvider mUidDetailProvider;
-    private CycleAdapter mCycleAdapter;
-    private Preference mUsageAmount;
-    private PreferenceGroup mApps;
-    private View mHeader;
-    private MobileNetworkRepository mMobileNetworkRepository;
-    private SubscriptionInfoEntity mSubscriptionInfoEntity;
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.DATA_USAGE_LIST;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        if (isGuestUser(getContext())) {
-            Log.e(TAG, "This setting isn't available for guest user");
-            EventLog.writeEvent(0x534e4554, "262741858", -1 /* UID */, "Guest user");
-            finish();
-            return;
-        }
-
-        final Activity activity = getActivity();
-        if (!isBandwidthControlEnabled()) {
-            Log.w(TAG, "No bandwidth control; leaving");
-            activity.finish();
-            return;
-        }
-
-        mUidDetailProvider = new UidDetailProvider(activity);
-        mUsageAmount = findPreference(KEY_USAGE_AMOUNT);
-        mChart = findPreference(KEY_CHART_DATA);
-        mApps = findPreference(KEY_APPS_GROUP);
-
-        final Preference unnecessaryWarningPreference = findPreference("operator_warning");
-        if (unnecessaryWarningPreference != null) {
-            unnecessaryWarningPreference.setVisible(false);
-        }
-
-        processArgument();
-        updateSubscriptionInfoEntity();
-        mDataStateListener = new MobileDataEnabledListener(activity, this);
-    }
-
-    @Override
-    public void onViewCreated(View v, Bundle savedInstanceState) {
-        super.onViewCreated(v, savedInstanceState);
-
-        mHeader = setPinnedHeaderView(R.layout.apps_filter_spinner);
-        mHeader.findViewById(R.id.filter_settings).setOnClickListener(btn -> {
-            final Bundle args = new Bundle();
-            args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
-            new SubSettingLauncher(getContext())
-                    .setDestination(BillingCycleSettings.class.getName())
-                    .setTitleRes(R.string.billing_cycle)
-                    .setSourceMetricsCategory(getMetricsCategory())
-                    .setArguments(args)
-                    .launch();
-        });
-        mCycleSpinner = mHeader.findViewById(R.id.filter_spinner);
-        mCycleSpinner.setVisibility(View.GONE);
-        mCycleAdapter = new CycleAdapter(mCycleSpinner.getContext(), new SpinnerInterface() {
-            @Override
-            public void setAdapter(CycleAdapter cycleAdapter) {
-                mCycleSpinner.setAdapter(cycleAdapter);
-            }
-
-            @Override
-            public void setOnItemSelectedListener(OnItemSelectedListener listener) {
-                mCycleSpinner.setOnItemSelectedListener(listener);
-            }
-
-            @Override
-            public Object getSelectedItem() {
-                return mCycleSpinner.getSelectedItem();
-            }
-
-            @Override
-            public void setSelection(int position) {
-                mCycleSpinner.setSelection(position);
-            }
-        }, mCycleListener);
-        mCycleSpinner.setAccessibilityDelegate(new AccessibilityDelegate() {
-            @Override
-            public void sendAccessibilityEvent(View host, int eventType) {
-                if (eventType == AccessibilityEvent.TYPE_VIEW_SELECTED) {
-                    // Ignore TYPE_VIEW_SELECTED or TalkBack will speak for it at onResume.
-                    return;
-                }
-                super.sendAccessibilityEvent(host, eventType);
-            }
-        });
-
-        mLoadingViewController = new LoadingViewController(
-                getView().findViewById(R.id.loading_container), getListView());
-    }
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        mLoadingViewController.showLoadingViewDelayed();
-        mDataStateListener.start(mSubId);
-        mCycles = null;
-        mLastDisplayedCycle = null;
-
-        // kick off loader for network history
-        // TODO: consider chaining two loaders together instead of reloading
-        // network history when showing app detail.
-        getLoaderManager().restartLoader(LOADER_CHART_DATA,
-                buildArgs(mTemplate), mNetworkCycleDataCallbacks);
-
-        updateBody();
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        mDataStateListener.stop();
-
-        getLoaderManager().destroyLoader(LOADER_CHART_DATA);
-        getLoaderManager().destroyLoader(LOADER_SUMMARY);
-    }
-
-    @Override
-    public void onDestroy() {
-        if (mUidDetailProvider != null) {
-            mUidDetailProvider.clearCache();
-            mUidDetailProvider = null;
-        }
-        super.onDestroy();
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.data_usage_list;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    void processArgument() {
-        final Bundle args = getArguments();
-        if (args != null) {
-            mSubId = args.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-            mTemplate = args.getParcelable(EXTRA_NETWORK_TEMPLATE);
-            mNetworkType = args.getInt(EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_MOBILE);
-        }
-        if (mTemplate == null && mSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            final Intent intent = getIntent();
-            mSubId = intent.getIntExtra(Settings.EXTRA_SUB_ID,
-                    SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-            mTemplate = intent.getParcelableExtra(Settings.EXTRA_NETWORK_TEMPLATE);
-
-            if (mTemplate == null) {
-                Optional<NetworkTemplate> mobileNetworkTemplateFromSim =
-                        DataUsageUtils.getMobileNetworkTemplateFromSubId(getContext(), getIntent());
-                if (mobileNetworkTemplateFromSim.isPresent()) {
-                    mTemplate = mobileNetworkTemplateFromSim.get();
-                }
-            }
-        }
-    }
-
-    @VisibleForTesting
-    void updateSubscriptionInfoEntity() {
-        mMobileNetworkRepository = MobileNetworkRepository.getInstance(getContext());
-        ThreadUtils.postOnBackgroundThread(() -> {
-            mSubscriptionInfoEntity = mMobileNetworkRepository.getSubInfoById(
-                    String.valueOf(mSubId));
-        });
-    }
-
-    /**
-     * Implementation of {@code MobileDataEnabledListener.Client}
-     */
-    public void onMobileDataEnabledChange() {
-        updatePolicy();
-    }
-
-    /**
-     * Update body content based on current tab. Loads network cycle data from system, and
-     * binds them to visible controls.
-     */
-    private void updateBody() {
-        if (!isAdded()) return;
-
-        final Context context = getActivity();
-
-        // detail mode can change visible menus, invalidate
-        getActivity().invalidateOptionsMenu();
-
-        int seriesColor = context.getColor(R.color.sim_noitification);
-        if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            final SubscriptionInfo sir = ProxySubscriptionManager.getInstance(context)
-                    .getActiveSubscriptionInfo(mSubId);
-
-            if (sir != null) {
-                seriesColor = sir.getIconTint();
-            }
-        }
-
-        final int secondaryColor = Color.argb(127, Color.red(seriesColor), Color.green(seriesColor),
-                Color.blue(seriesColor));
-        mChart.setColors(seriesColor, secondaryColor);
-    }
-
-    private Bundle buildArgs(NetworkTemplate template) {
-        final Bundle args = new Bundle();
-        args.putParcelable(KEY_TEMPLATE, template);
-        args.putParcelable(KEY_APP, null);
-        return args;
-    }
-
-    /**
-     * Update chart sweeps and cycle list to reflect {@link NetworkPolicy} for
-     * current {@link #mTemplate}.
-     */
-    @VisibleForTesting
-    void updatePolicy() {
-        final NetworkPolicy policy = services.mPolicyEditor.getPolicy(mTemplate);
-        final View configureButton = mHeader.findViewById(R.id.filter_settings);
-        //SUB SELECT
-        if (isNetworkPolicyModifiable(policy, mSubId) && isMobileDataAvailable(mSubId)) {
-            mChart.setNetworkPolicy(policy);
-            configureButton.setVisibility(View.VISIBLE);
-            ((ImageView) configureButton).setColorFilter(android.R.color.white);
-        } else {
-            // controls are disabled; don't bind warning/limit sweeps
-            mChart.setNetworkPolicy(null);
-            configureButton.setVisibility(View.GONE);
-        }
-
-        // generate cycle list based on policy and available history
-        mCycleAdapter.updateCycleList(mCycleData);
-        updateSelectedCycle();
-    }
-
-    /**
-     * Updates the chart and detail data when initial loaded or selected cycle changed.
-     */
-    private void updateSelectedCycle() {
-        // Avoid from updating UI after #onStop.
-        if (!getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
-            return;
-        }
-
-        // Avoid from updating UI when async query still on-going.
-        // This could happen when a request from #onMobileDataEnabledChange.
-        if (mCycleData == null) {
-            return;
-        }
-
-        final int position = mCycleSpinner.getSelectedItemPosition();
-        if (mCycleAdapter.getCount() == 0 || position < 0) {
-            return;
-        }
-        final CycleAdapter.CycleItem cycle = mCycleAdapter.getItem(position);
-        if (Objects.equals(cycle, mLastDisplayedCycle)) {
-            // Avoid duplicate update to avoid page flash.
-            return;
-        }
-        mLastDisplayedCycle = cycle;
-
-        if (LOGD) {
-            Log.d(TAG, "showing cycle " + cycle + ", [start=" + cycle.start + ", end="
-                    + cycle.end + "]");
-        }
-
-        // update chart to show selected cycle, and update detail data
-        // to match updated sweep bounds.
-        mChart.setNetworkCycleData(mCycleData.get(position));
-
-        updateDetailData();
-    }
-
-    /**
-     * Update details based on {@link #mChart} inspection range depending on
-     * current mode. Updates {@link #mAdapter} with sorted list
-     * of applications data usage.
-     */
-    private void updateDetailData() {
-        if (LOGD) Log.d(TAG, "updateDetailData()");
-
-        // kick off loader for detailed stats
-        getLoaderManager().restartLoader(LOADER_SUMMARY, null /* args */,
-                mNetworkStatsDetailCallbacks);
-
-        final long totalBytes = mCycleData != null && !mCycleData.isEmpty()
-            ? mCycleData.get(mCycleSpinner.getSelectedItemPosition()).getTotalUsage() : 0;
-        final CharSequence totalPhrase = DataUsageUtils.formatDataUsage(getActivity(), totalBytes);
-        mUsageAmount.setTitle(getString(R.string.data_used_template, totalPhrase));
-    }
-
-    /**
-     * Bind the given {@link NetworkStats}, or {@code null} to clear list.
-     */
-    private void bindStats(NetworkStats stats, int[] restrictedUids) {
-        mApps.removeAll();
-        if (stats == null) {
-            if (LOGD) {
-                Log.d(TAG, "No network stats data. App list cleared.");
-            }
-            return;
-        }
-
-        final ArrayList<AppItem> items = new ArrayList<>();
-        long largest = 0;
-
-        final int currentUserId = ActivityManager.getCurrentUser();
-        final UserManager userManager = UserManager.get(getContext());
-        final List<UserHandle> profiles = userManager.getUserProfiles();
-        final SparseArray<AppItem> knownItems = new SparseArray<AppItem>();
-
-        final Bucket bucket = new Bucket();
-        while (stats.hasNextBucket() && stats.getNextBucket(bucket)) {
-            // Decide how to collapse items together
-            final int uid = bucket.getUid();
-            final int collapseKey;
-            final int category;
-            final int userId = UserHandle.getUserId(uid);
-            if (UserHandle.isApp(uid) || Process.isSdkSandboxUid(uid)) {
-                if (profiles.contains(new UserHandle(userId))) {
-                    if (userId != currentUserId) {
-                        // Add to a managed user item.
-                        final int managedKey = UidDetailProvider.buildKeyForUser(userId);
-                        largest = accumulate(managedKey, knownItems, bucket,
-                            AppItem.CATEGORY_USER, items, largest);
-                    }
-                    // Map SDK sandbox back to its corresponding app
-                    if (Process.isSdkSandboxUid(uid)) {
-                        collapseKey = Process.getAppUidForSdkSandboxUid(uid);
-                    } else {
-                        collapseKey = uid;
-                    }
-                    category = AppItem.CATEGORY_APP;
-                } else {
-                    // If it is a removed user add it to the removed users' key
-                    final UserInfo info = userManager.getUserInfo(userId);
-                    if (info == null) {
-                        collapseKey = UID_REMOVED;
-                        category = AppItem.CATEGORY_APP;
-                    } else {
-                        // Add to other user item.
-                        collapseKey = UidDetailProvider.buildKeyForUser(userId);
-                        category = AppItem.CATEGORY_USER;
-                    }
-                }
-            } else if (uid == UID_REMOVED || uid == UID_TETHERING
-                    || uid == Process.OTA_UPDATE_UID) {
-                collapseKey = uid;
-                category = AppItem.CATEGORY_APP;
-            } else {
-                collapseKey = android.os.Process.SYSTEM_UID;
-                category = AppItem.CATEGORY_APP;
-            }
-            largest = accumulate(collapseKey, knownItems, bucket, category, items, largest);
-        }
-        stats.close();
-
-        final int restrictedUidsMax = restrictedUids.length;
-        for (int i = 0; i < restrictedUidsMax; ++i) {
-            final int uid = restrictedUids[i];
-            // Only splice in restricted state for current user or managed users
-            if (!profiles.contains(new UserHandle(UserHandle.getUserId(uid)))) {
-                continue;
-            }
-
-            AppItem item = knownItems.get(uid);
-            if (item == null) {
-                item = new AppItem(uid);
-                item.total = -1;
-                item.addUid(uid);
-                items.add(item);
-                knownItems.put(item.key, item);
-            }
-            item.restricted = true;
-        }
-
-        Collections.sort(items);
-        final List<String> packageNames = Arrays.asList(getContext().getResources().getStringArray(
-                R.array.datausage_hiding_carrier_service_package_names));
-        // When there is no specified SubscriptionInfo, Wi-Fi data usage will be displayed.
-        // In this case, the carrier service package also needs to be hidden.
-        boolean shouldHidePackageName = mSubscriptionInfoEntity != null
-                ? Arrays.stream(getContext().getResources().getIntArray(
-                        R.array.datausage_hiding_carrier_service_carrier_id))
-                .anyMatch(carrierId -> (carrierId == mSubscriptionInfoEntity.carrierId))
-                : true;
-
-        for (int i = 0; i < items.size(); i++) {
-            UidDetail detail = mUidDetailProvider.getUidDetail(items.get(i).key, true);
-            // Do not show carrier service package in data usage list if it should be hidden for
-            // the carrier.
-            if (detail != null && shouldHidePackageName && packageNames.contains(
-                    detail.packageName)) {
-                continue;
-            }
-
-            final int percentTotal = largest != 0 ? (int) (items.get(i).total * 100 / largest) : 0;
-            final AppDataUsagePreference preference = new AppDataUsagePreference(getContext(),
-                    items.get(i), percentTotal, mUidDetailProvider);
-            preference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
-                @Override
-                public boolean onPreferenceClick(Preference preference) {
-                    AppDataUsagePreference pref = (AppDataUsagePreference) preference;
-                    AppItem item = pref.getItem();
-                    startAppDataUsage(item);
-                    return true;
-                }
-            });
-            mApps.addPreference(preference);
-        }
-    }
-
-    @VisibleForTesting
-    void startAppDataUsage(AppItem item) {
-        final Bundle args = new Bundle();
-        args.putParcelable(AppDataUsage.ARG_APP_ITEM, item);
-        args.putParcelable(AppDataUsage.ARG_NETWORK_TEMPLATE, mTemplate);
-        if (mCycles == null) {
-            mCycles = new ArrayList<>();
-            for (NetworkCycleChartData data : mCycleData) {
-                if (mCycles.isEmpty()) {
-                    mCycles.add(data.getEndTime());
-                }
-                mCycles.add(data.getStartTime());
-            }
-        }
-        args.putSerializable(AppDataUsage.ARG_NETWORK_CYCLES, mCycles);
-        args.putLong(AppDataUsage.ARG_SELECTED_CYCLE,
-            mCycleData.get(mCycleSpinner.getSelectedItemPosition()).getEndTime());
-
-        new SubSettingLauncher(getContext())
-                .setDestination(AppDataUsage.class.getName())
-                .setTitleRes(R.string.data_usage_app_summary_title)
-                .setArguments(args)
-                .setSourceMetricsCategory(getMetricsCategory())
-                .launch();
-    }
-
-    /**
-     * Accumulate data usage of a network stats entry for the item mapped by the collapse key.
-     * Creates the item if needed.
-     *
-     * @param collapseKey  the collapse key used to map the item.
-     * @param knownItems   collection of known (already existing) items.
-     * @param bucket       the network stats bucket to extract data usage from.
-     * @param itemCategory the item is categorized on the list view by this category. Must be
-     */
-    private static long accumulate(int collapseKey, final SparseArray<AppItem> knownItems,
-            Bucket bucket, int itemCategory, ArrayList<AppItem> items, long largest) {
-        final int uid = bucket.getUid();
-        AppItem item = knownItems.get(collapseKey);
-        if (item == null) {
-            item = new AppItem(collapseKey);
-            item.category = itemCategory;
-            items.add(item);
-            knownItems.put(item.key, item);
-        }
-        item.addUid(uid);
-        item.total += bucket.getRxBytes() + bucket.getTxBytes();
-        return Math.max(largest, item.total);
-    }
-
-    private final OnItemSelectedListener mCycleListener = new OnItemSelectedListener() {
-        @Override
-        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
-            updateSelectedCycle();
-        }
-
-        @Override
-        public void onNothingSelected(AdapterView<?> parent) {
-            // ignored
-        }
-    };
-
-    @VisibleForTesting
-    final LoaderCallbacks<List<NetworkCycleChartData>> mNetworkCycleDataCallbacks =
-            new LoaderCallbacks<List<NetworkCycleChartData>>() {
-        @Override
-        public Loader<List<NetworkCycleChartData>> onCreateLoader(int id, Bundle args) {
-            return NetworkCycleChartDataLoader.builder(getContext())
-                    .setNetworkTemplate(mTemplate)
-                    .build();
-        }
-
-        @Override
-        public void onLoadFinished(Loader<List<NetworkCycleChartData>> loader,
-                List<NetworkCycleChartData> data) {
-            mLoadingViewController.showContent(false /* animate */);
-            mCycleData = data;
-            // calculate policy cycles based on available data
-            updatePolicy();
-            mCycleSpinner.setVisibility(View.VISIBLE);
-        }
-
-        @Override
-        public void onLoaderReset(Loader<List<NetworkCycleChartData>> loader) {
-            mCycleData = null;
-        }
-    };
-
-    private final LoaderCallbacks<NetworkStats> mNetworkStatsDetailCallbacks =
-            new LoaderCallbacks<NetworkStats>() {
-        @Override
-        public Loader<NetworkStats> onCreateLoader(int id, Bundle args) {
-            return new NetworkStatsSummaryLoader.Builder(getContext())
-                    .setStartTime(mChart.getInspectStart())
-                    .setEndTime(mChart.getInspectEnd())
-                    .setNetworkTemplate(mTemplate)
-                    .build();
-        }
-
-        @Override
-        public void onLoadFinished(Loader<NetworkStats> loader, NetworkStats data) {
-            final int[] restrictedUids = services.mPolicyManager.getUidsWithPolicy(
-                    POLICY_REJECT_METERED_BACKGROUND);
-            bindStats(data, restrictedUids);
-            updateEmptyVisible();
-        }
-
-        @Override
-        public void onLoaderReset(Loader<NetworkStats> loader) {
-            bindStats(null, new int[0]);
-            updateEmptyVisible();
-        }
-
-        private void updateEmptyVisible() {
-            if ((mApps.getPreferenceCount() != 0) !=
-                    (getPreferenceScreen().getPreferenceCount() != 0)) {
-                if (mApps.getPreferenceCount() != 0) {
-                    getPreferenceScreen().addPreference(mUsageAmount);
-                    getPreferenceScreen().addPreference(mApps);
-                } else {
-                    getPreferenceScreen().removeAll();
-                }
-            }
-        }
-    };
-
-    private static boolean isGuestUser(Context context) {
-        if (context == null) return false;
-        final UserManager userManager = context.getSystemService(UserManager.class);
-        if (userManager == null) return false;
-        return userManager.isGuestUser();
-    }
-}
diff --git a/src/com/android/settings/datausage/DataUsageList.kt b/src/com/android/settings/datausage/DataUsageList.kt
new file mode 100644
index 0000000..3083fb7
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageList.kt
@@ -0,0 +1,192 @@
+/*
+ * 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.datausage
+
+import android.app.settings.SettingsEnums
+import android.net.NetworkPolicy
+import android.net.NetworkTemplate
+import android.os.Bundle
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import android.util.EventLog
+import android.util.Log
+import android.view.View
+import androidx.annotation.OpenForTesting
+import androidx.annotation.VisibleForTesting
+import androidx.fragment.app.viewModels
+import androidx.preference.Preference
+import com.android.settings.R
+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.mobileDataEnabledFlow
+import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity
+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
+
+/**
+ * Panel showing data usage history across various networks, including options
+ * to inspect based on usage cycle and control through [NetworkPolicy].
+ */
+@OpenForTesting
+open class DataUsageList : DashboardFragment() {
+    @VisibleForTesting
+    var template: NetworkTemplate? = null
+        private set
+
+    @VisibleForTesting
+    var subId = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+        private set
+
+    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
+
+    private val viewModel: DataUsageListViewModel by viewModels()
+
+    override fun getMetricsCategory() = SettingsEnums.DATA_USAGE_LIST
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        billingCycleRepository = BillingCycleRepository(requireContext())
+        if (requireContext().userManager.isGuestUser) {
+            Log.e(TAG, "This setting isn't available for guest user")
+            EventLog.writeEvent(0x534e4554, "262741858", -1 /* UID */, "Guest user")
+            finish()
+            return
+        }
+        if (!billingCycleRepository.isBandwidthControlEnabled()) {
+            Log.w(TAG, "No bandwidth control; leaving")
+            finish()
+            return
+        }
+        usageAmount = findPreference(KEY_USAGE_AMOUNT)
+        processArgument()
+        val template = template
+        if (template == null) {
+            Log.e(TAG, "No template; leaving")
+            finish()
+            return
+        }
+        updateSubscriptionInfoEntity()
+        dataUsageListAppsController = use(DataUsageListAppsController::class.java).apply {
+            init(template)
+        }
+        chartDataUsagePreferenceController = use(ChartDataUsagePreferenceController::class.java)
+            .apply { init(template) }
+    }
+
+    override fun onViewCreated(v: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(v, savedInstanceState)
+
+        requireContext().mobileDataEnabledFlow(subId)
+            .collectLatestWithLifecycle(viewLifecycleOwner) { updatePolicy() }
+
+        val template = template ?: return
+        viewModel.templateFlow.value = template
+        dataUsageListHeaderController = DataUsageListHeaderController(
+            setPinnedHeaderView(R.layout.apps_filter_spinner),
+            template,
+            metricsCategory,
+            viewLifecycleOwner,
+            viewModel.cyclesFlow,
+            ::updateSelectedCycle,
+        )
+        viewModel.cyclesFlow.collectLatestWithLifecycle(viewLifecycleOwner) { cycles ->
+            dataUsageListAppsController?.updateCycles(cycles)
+        }
+        viewModel.chartDataFlow.collectLatestWithLifecycle(viewLifecycleOwner) { chartData ->
+            chartDataUsagePreferenceController?.update(chartData)
+        }
+    }
+
+    override fun getPreferenceScreenResId() = R.xml.data_usage_list
+
+    override fun getLogTag() = TAG
+
+    private fun processArgument() {
+        arguments?.let {
+            subId = it.getInt(EXTRA_SUB_ID, SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+            template = it.getParcelable(EXTRA_NETWORK_TEMPLATE, NetworkTemplate::class.java)
+        }
+        if (template == null && subId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            subId = intent.getIntExtra(
+                Settings.EXTRA_SUB_ID,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            )
+            template = intent.getParcelableExtra(
+                Settings.EXTRA_NETWORK_TEMPLATE,
+                NetworkTemplate::class.java,
+            ) ?: DataUsageUtils.getMobileNetworkTemplateFromSubId(context, intent).getOrNull()
+        }
+    }
+
+    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() {
+        val isBillingCycleModifiable = isBillingCycleModifiable()
+        dataUsageListHeaderController?.setConfigButtonVisible(isBillingCycleModifiable)
+        chartDataUsagePreferenceController?.setBillingCycleModifiable(isBillingCycleModifiable)
+    }
+
+    private fun isBillingCycleModifiable(): Boolean =
+        billingCycleRepository.isModifiable(subId) &&
+            requireContext().getSystemService(SubscriptionManager::class.java)!!
+                .getActiveSubscriptionInfo(subId) != null
+
+    /**
+     * Updates the chart and detail data when initial loaded or selected cycle changed.
+     */
+    private fun updateSelectedCycle(usageData: NetworkUsageData) {
+        Log.d(TAG, "showing cycle $usageData")
+
+        usageAmount?.title = usageData.getDataUsedString(requireContext())
+        viewModel.selectedCycleFlow.value = usageData
+
+        updateApps(usageData)
+    }
+
+    /** Updates applications data usage. */
+    private fun updateApps(usageData: NetworkUsageData) {
+        dataUsageListAppsController?.update(
+            carrierId = subscriptionInfoEntity?.carrierId,
+            startTime = usageData.startTime,
+            endTime = usageData.endTime,
+        )
+    }
+
+    companion object {
+        const val EXTRA_SUB_ID = "sub_id"
+        const val EXTRA_NETWORK_TEMPLATE = "network_template"
+
+        private const val TAG = "DataUsageList"
+        private const val KEY_USAGE_AMOUNT = "usage_amount"
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageListAppsController.kt b/src/com/android/settings/datausage/DataUsageListAppsController.kt
new file mode 100644
index 0000000..93623f4
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageListAppsController.kt
@@ -0,0 +1,116 @@
+/*
+ * 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.datausage
+
+import android.app.ActivityManager
+import android.content.Context
+import android.net.NetworkTemplate
+import android.os.Bundle
+import androidx.annotation.OpenForTesting
+import androidx.annotation.VisibleForTesting
+import androidx.lifecycle.LifecycleCoroutineScope
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.preference.PreferenceGroup
+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.datausage.lib.AppDataUsageRepository
+import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settingslib.AppItem
+import com.android.settingslib.net.UidDetailProvider
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+@OpenForTesting
+open class DataUsageListAppsController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+
+    private val uidDetailProvider = UidDetailProvider(context)
+    private lateinit var template: NetworkTemplate
+    private lateinit var repository: AppDataUsageRepository
+    private lateinit var preference: PreferenceGroup
+    private lateinit var lifecycleScope: LifecycleCoroutineScope
+
+    private var cycleData: List<NetworkUsageData>? = null
+
+    open fun init(template: NetworkTemplate) {
+        this.template = template
+        repository = AppDataUsageRepository(
+            context = mContext,
+            currentUserId = ActivityManager.getCurrentUser(),
+            template = template,
+        ) { appItem: AppItem -> uidDetailProvider.getUidDetail(appItem.key, true).packageName }
+    }
+
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        lifecycleScope = viewLifecycleOwner.lifecycleScope
+    }
+
+    fun updateCycles(cycleData: List<NetworkUsageData>) {
+        this.cycleData = cycleData
+    }
+
+    fun update(carrierId: Int?, startTime: Long, endTime: Long) = lifecycleScope.launch {
+        val apps = withContext(Dispatchers.Default) {
+            repository.getAppPercent(carrierId, startTime, endTime).map { (appItem, percent) ->
+                AppDataUsagePreference(mContext, appItem, percent, uidDetailProvider).apply {
+                    setOnPreferenceClickListener {
+                        startAppDataUsage(appItem, endTime)
+                        true
+                    }
+                }
+            }
+        }
+        preference.removeAll()
+        for (app in apps) {
+            preference.addPreference(app)
+        }
+    }
+
+    @VisibleForTesting
+    fun startAppDataUsage(item: AppItem, endTime: Long) {
+        val cycleData = cycleData ?: return
+        val args = Bundle().apply {
+            putParcelable(AppDataUsage.ARG_APP_ITEM, item)
+            putParcelable(AppDataUsage.ARG_NETWORK_TEMPLATE, template)
+            val cycles = ArrayList<Long>().apply {
+                for (data in cycleData) {
+                    if (isEmpty()) add(data.endTime)
+                    add(data.startTime)
+                }
+            }
+            putSerializable(AppDataUsage.ARG_NETWORK_CYCLES, cycles)
+            putLong(AppDataUsage.ARG_SELECTED_CYCLE, endTime)
+        }
+        SubSettingLauncher(mContext).apply {
+            setDestination(AppDataUsage::class.java.name)
+            setTitleRes(R.string.data_usage_app_summary_title)
+            setArguments(args)
+            setSourceMetricsCategory(metricsCategory)
+        }.launch()
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageListHeaderController.kt b/src/com/android/settings/datausage/DataUsageListHeaderController.kt
new file mode 100644
index 0000000..ade891a
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageListHeaderController.kt
@@ -0,0 +1,117 @@
+/*
+ * 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.datausage
+
+import android.net.NetworkTemplate
+import android.os.Bundle
+import android.util.Range
+import android.view.View
+import android.view.accessibility.AccessibilityEvent
+import android.widget.AdapterView
+import android.widget.Spinner
+import androidx.annotation.OpenForTesting
+import androidx.lifecycle.LifecycleOwner
+import com.android.settings.R
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.datausage.CycleAdapter.SpinnerInterface
+import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.flow.Flow
+
+@OpenForTesting
+open class DataUsageListHeaderController(
+    header: View,
+    template: NetworkTemplate,
+    sourceMetricsCategory: Int,
+    viewLifecycleOwner: LifecycleOwner,
+    cyclesFlow: Flow<List<NetworkUsageData>>,
+    private val updateSelectedCycle: (usageData: NetworkUsageData) -> Unit,
+) {
+    private val context = header.context
+
+    private val configureButton: View = header.requireViewById(R.id.filter_settings)
+    private val cycleSpinner: Spinner = header.requireViewById(R.id.filter_spinner)
+
+    private val cycleListener = object : AdapterView.OnItemSelectedListener {
+        override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
+            setSelectedCycle(position)
+        }
+
+        override fun onNothingSelected(parent: AdapterView<*>?) {
+            // ignored
+        }
+    }
+
+    private val cycleAdapter = CycleAdapter(context, object : SpinnerInterface {
+        override fun setAdapter(cycleAdapter: CycleAdapter) {
+            cycleSpinner.adapter = cycleAdapter
+        }
+
+        override fun getSelectedItem() = cycleSpinner.selectedItem
+
+        override fun setSelection(position: Int) {
+            cycleSpinner.setSelection(position)
+            if (cycleSpinner.onItemSelectedListener == null) {
+                cycleSpinner.onItemSelectedListener = cycleListener
+            } else {
+                setSelectedCycle(position)
+            }
+        }
+    })
+
+    private var cycles: List<NetworkUsageData> = emptyList()
+
+    init {
+        configureButton.setOnClickListener {
+            val args = Bundle().apply {
+                putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, template)
+            }
+            SubSettingLauncher(context).apply {
+                setDestination(BillingCycleSettings::class.java.name)
+                setTitleRes(R.string.billing_cycle)
+                setSourceMetricsCategory(sourceMetricsCategory)
+                setArguments(args)
+            }.launch()
+        }
+        cycleSpinner.visibility = View.GONE
+        cycleSpinner.accessibilityDelegate = object : View.AccessibilityDelegate() {
+            override fun sendAccessibilityEvent(host: View, eventType: Int) {
+                // Ignore TYPE_VIEW_SELECTED or TalkBack will speak for it at onResume.
+                if (eventType == AccessibilityEvent.TYPE_VIEW_SELECTED) return
+                super.sendAccessibilityEvent(host, eventType)
+            }
+        }
+
+        cyclesFlow.collectLatestWithLifecycle(viewLifecycleOwner) {
+            cycles = it
+            updateCycleData()
+        }
+    }
+
+    open fun setConfigButtonVisible(visible: Boolean) {
+        configureButton.visibility = if (visible) View.VISIBLE else View.GONE
+    }
+
+    private fun updateCycleData() {
+        cycleAdapter.updateCycleList(cycles.map { Range(it.startTime, it.endTime) })
+        cycleSpinner.visibility = View.VISIBLE
+    }
+
+    private fun setSelectedCycle(position: Int) {
+        cycles.getOrNull(position)?.let(updateSelectedCycle)
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageListViewModel.kt b/src/com/android/settings/datausage/DataUsageListViewModel.kt
new file mode 100644
index 0000000..7d7a1d6
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageListViewModel.kt
@@ -0,0 +1,71 @@
+/*
+ * 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.datausage
+
+import android.app.Application
+import android.net.NetworkTemplate
+import androidx.lifecycle.AndroidViewModel
+import androidx.lifecycle.viewModelScope
+import com.android.settings.datausage.lib.NetworkCycleBucketRepository
+import com.android.settings.datausage.lib.NetworkStatsRepository
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.filterTime
+import com.android.settings.datausage.lib.NetworkUsageData
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.plus
+
+data class SelectedBuckets(
+    val selectedCycle: NetworkUsageData,
+    val buckets: List<Bucket>,
+)
+
+class DataUsageListViewModel(application: Application) : AndroidViewModel(application) {
+    private val scope = viewModelScope + Dispatchers.Default
+
+    val templateFlow = MutableStateFlow<NetworkTemplate?>(null)
+
+    private val bucketsFlow = templateFlow.filterNotNull().map { template ->
+        NetworkStatsRepository(getApplication(), template).queryDetailsForDevice()
+    }.stateIn(scope, SharingStarted.WhileSubscribed(), emptyList())
+
+    val cyclesFlow = combine(templateFlow.filterNotNull(), bucketsFlow) { template, buckets ->
+        NetworkCycleBucketRepository(application, template, buckets).loadCycles()
+    }.flowOn(Dispatchers.Default)
+
+    val selectedCycleFlow = MutableStateFlow<NetworkUsageData?>(null)
+
+    private val selectedBucketsFlow =
+        combine(selectedCycleFlow.filterNotNull(), bucketsFlow) { selectedCycle, buckets ->
+            SelectedBuckets(
+                selectedCycle = selectedCycle,
+                buckets = buckets.filterTime(selectedCycle.startTime, selectedCycle.endTime),
+            )
+        }.flowOn(Dispatchers.Default)
+
+    val chartDataFlow =
+        combine(templateFlow.filterNotNull(), selectedBucketsFlow) { template, selectedBuckets ->
+            NetworkCycleBucketRepository(application, template, selectedBuckets.buckets)
+                .queryChartData(selectedBuckets.selectedCycle)
+        }.flowOn(Dispatchers.Default)
+}
diff --git a/src/com/android/settings/datausage/DataUsagePreference.java b/src/com/android/settings/datausage/DataUsagePreference.java
index 0ed0ad3..07368c7 100644
--- a/src/com/android/settings/datausage/DataUsagePreference.java
+++ b/src/com/android/settings/datausage/DataUsagePreference.java
@@ -18,7 +18,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.TypedArray;
-import android.net.ConnectivityManager;
 import android.net.NetworkTemplate;
 import android.os.Bundle;
 import android.util.AttributeSet;
@@ -49,7 +48,7 @@
     }
 
     @Override
-    public void setTemplate(NetworkTemplate template, int subId, NetworkServices services) {
+    public void setTemplate(NetworkTemplate template, int subId) {
         mTemplate = template;
         mSubId = subId;
         final DataUsageController controller = getDataUsageController();
@@ -78,9 +77,6 @@
         final SubSettingLauncher launcher;
         args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mTemplate);
         args.putInt(DataUsageList.EXTRA_SUB_ID, mSubId);
-        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, mTemplate.getMatchRule()
-                == NetworkTemplate.MATCH_MOBILE
-                ? ConnectivityManager.TYPE_MOBILE : ConnectivityManager.TYPE_WIFI);
         launcher = new SubSettingLauncher(getContext())
             .setArguments(args)
             .setDestination(DataUsageList.class.getName())
diff --git a/src/com/android/settings/datausage/DataUsageSummary.java b/src/com/android/settings/datausage/DataUsageSummary.java
index 25fc49b..5681c92 100644
--- a/src/com/android/settings/datausage/DataUsageSummary.java
+++ b/src/com/android/settings/datausage/DataUsageSummary.java
@@ -36,11 +36,11 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.datausage.lib.DataUsageLib;
 import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.network.telephony.MobileNetworkUtils;
-import com.android.settingslib.NetworkPolicyEditor;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import java.util.ArrayList;
@@ -49,7 +49,7 @@
 /**
  * Settings preference fragment that displays data usage summary.
  */
-public class DataUsageSummary extends DataUsageBaseFragment implements DataUsageEditController {
+public class DataUsageSummary extends DashboardFragment {
 
     private static final String TAG = "DataUsageSummary";
 
@@ -57,21 +57,9 @@
 
     public static final String KEY_RESTRICT_BACKGROUND = "restrict_background";
 
-    private static final String KEY_STATUS_HEADER = "status_header";
-
     // Mobile data keys
     public static final String KEY_MOBILE_USAGE_TITLE = "mobile_category";
-    public static final String KEY_MOBILE_DATA_USAGE_TOGGLE = "data_usage_enable";
-    public static final String KEY_MOBILE_DATA_USAGE = "cellular_data_usage";
-    public static final String KEY_MOBILE_BILLING_CYCLE = "billing_preference";
 
-    // Wifi keys
-    public static final String KEY_WIFI_USAGE_TITLE = "wifi_category";
-    public static final String KEY_WIFI_DATA_USAGE = "wifi_data_usage";
-
-    private DataUsageSummaryPreference mSummaryPreference;
-    private DataUsageSummaryPreferenceController mSummaryController;
-    private NetworkTemplate mDefaultTemplate;
     private ProxySubscriptionManager mProxySubscriptionMgr;
 
     @Override
@@ -107,10 +95,8 @@
         if (defaultSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
             hasMobileData = false;
         }
-        mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, defaultSubId);
-        mSummaryPreference = findPreference(KEY_STATUS_HEADER);
 
-        if (!hasMobileData || !isAdmin()) {
+        if (!hasMobileData || !UserManager.get(context).isAdminUser()) {
             removePreference(KEY_RESTRICT_BACKGROUND);
         }
         boolean hasWifiRadio = DataUsageUtils.hasWifiRadio(context);
@@ -134,15 +120,6 @@
     }
 
     @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        if (preference == findPreference(KEY_STATUS_HEADER)) {
-            BillingCycleSettings.BytesEditorFragment.show(this, false);
-            return false;
-        }
-        return super.onPreferenceTreeClick(preference);
-    }
-
-    @Override
     protected int getPreferenceScreenResId() {
         return R.xml.data_usage;
     }
@@ -160,11 +137,9 @@
             MobileNetworkUtils.isMobileNetworkUserRestricted(context)) {
             return controllers;
         }
-        mSummaryController =
-                new DataUsageSummaryPreferenceController(activity, getSettingsLifecycle(), this,
-                        DataUsageUtils.getDefaultSubscriptionId(activity));
+        final var mSummaryController = new DataUsageSummaryPreferenceController(activity,
+                DataUsageUtils.getDefaultSubscriptionId(activity));
         controllers.add(mSummaryController);
-        getSettingsLifecycle().addObserver(mSummaryController);
         return controllers;
     }
 
@@ -191,9 +166,8 @@
     private void addMobileSection(int subId, SubscriptionInfo subInfo) {
         TemplatePreferenceCategory category = (TemplatePreferenceCategory)
                 inflatePreferences(R.xml.data_usage_cellular);
-        category.setTemplate(DataUsageLib.getMobileTemplate(getContext(), subId),
-                subId, services);
-        category.pushTemplates(services);
+        category.setTemplate(DataUsageLib.getMobileTemplate(getContext(), subId), subId);
+        category.pushTemplates();
         final CharSequence displayName = SubscriptionUtil.getUniqueSubscriptionDisplayName(
                 subInfo, getContext());
         if (subInfo != null && !TextUtils.isEmpty(displayName)) {
@@ -206,15 +180,14 @@
     void addWifiSection() {
         TemplatePreferenceCategory category = (TemplatePreferenceCategory)
                 inflatePreferences(R.xml.data_usage_wifi);
-        category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build(),
-                0, services);
+        category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build(), 0);
     }
 
     private void addEthernetSection() {
         TemplatePreferenceCategory category = (TemplatePreferenceCategory)
                 inflatePreferences(R.xml.data_usage_ethernet);
-        category.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build(),
-                0, services);
+        category.setTemplate(
+                new NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build(), 0);
     }
 
     private Preference inflatePreferences(int resId) {
@@ -267,10 +240,10 @@
     private void updateState() {
         PreferenceScreen screen = getPreferenceScreen();
         for (int i = 1; i < screen.getPreferenceCount(); i++) {
-          Preference currentPreference = screen.getPreference(i);
-          if (currentPreference instanceof TemplatePreferenceCategory) {
-            ((TemplatePreferenceCategory) currentPreference).pushTemplates(services);
-          }
+            Preference currentPreference = screen.getPreference(i);
+            if (currentPreference instanceof TemplatePreferenceCategory) {
+                ((TemplatePreferenceCategory) currentPreference).pushTemplates();
+            }
         }
     }
 
@@ -279,22 +252,6 @@
         return SettingsEnums.DATA_USAGE_SUMMARY;
     }
 
-    @Override
-    public NetworkPolicyEditor getNetworkPolicyEditor() {
-        return services.mPolicyEditor;
-    }
-
-    @Override
-    public NetworkTemplate getNetworkTemplate() {
-        return mDefaultTemplate;
-    }
-
-    @Override
-    public void updateDataUsage() {
-        updateState();
-        mSummaryController.updateState(mSummaryPreference);
-    }
-
     private static boolean isGuestUser(Context context) {
         if (context == null) return false;
         final UserManager userManager = context.getSystemService(UserManager.class);
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreference.java b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
index 86e01ed..93d930c 100644
--- a/src/com/android/settings/datausage/DataUsageSummaryPreference.java
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreference.java
@@ -17,14 +17,9 @@
 package com.android.settings.datausage;
 
 import android.annotation.AttrRes;
-import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.Intent;
 import android.graphics.Typeface;
 import android.icu.text.MessageFormat;
-import android.net.ConnectivityManager;
-import android.net.NetworkTemplate;
-import android.os.Bundle;
 import android.text.Spannable;
 import android.text.SpannableString;
 import android.text.TextUtils;
@@ -32,19 +27,18 @@
 import android.text.style.AbsoluteSizeSpan;
 import android.util.AttributeSet;
 import android.view.View;
-import android.widget.Button;
 import android.widget.LinearLayout;
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
-import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.Utils;
-import com.android.settingslib.net.DataUsageController;
 import com.android.settingslib.utils.StringUtil;
 
 import java.util.HashMap;
@@ -67,27 +61,18 @@
     private CharSequence mStartLabel;
     private CharSequence mEndLabel;
 
-    /** large vs small size is 36/16 ~ 2.25 */
-    private static final float LARGER_FONT_RATIO = 2.25f;
-    private static final float SMALLER_FONT_RATIO = 1.0f;
-
-    private boolean mDefaultTextColorSet;
-    private int mDefaultTextColor;
     private int mNumPlans;
-    /** The specified un-initialized value for cycle time */
-    private final long CYCLE_TIME_UNINITIAL_VALUE = 0;
     /** The ending time of the billing cycle in milliseconds since epoch. */
-    private long mCycleEndTimeMs;
+    @Nullable
+    private Long mCycleEndTimeMs;
     /** The time of the last update in standard milliseconds since the epoch */
     private long mSnapshotTimeMs;
     /** Name of carrier, or null if not available */
     private CharSequence mCarrierName;
     private CharSequence mLimitInfoText;
-    private Intent mLaunchIntent;
 
     /** Progress to display on ProgressBar */
     private float mProgress;
-    private boolean mHasMobileData;
 
     /**
      * The size of the first registered plan if one exists or the size of the warning if it is set.
@@ -98,11 +83,6 @@
     /** The number of bytes used since the start of the cycle. */
     private long mDataplanUse;
 
-    /** WiFi only mode */
-    private boolean mWifiMode;
-    private String mUsagePeriod;
-    private boolean mSingleWifi;    // Shows only one specified WiFi network usage
-
     public DataUsageSummaryPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
         setLayoutResource(R.layout.data_usage_summary_preference);
@@ -120,13 +100,15 @@
         notifyChanged();
     }
 
-    public void setUsageInfo(long cycleEnd, long snapshotTime, CharSequence carrierName,
-            int numPlans, Intent launchIntent) {
+    /**
+     * Sets the usage info.
+     */
+    public void setUsageInfo(@Nullable Long cycleEnd, long snapshotTime, CharSequence carrierName,
+            int numPlans) {
         mCycleEndTimeMs = cycleEnd;
         mSnapshotTimeMs = snapshotTime;
         mCarrierName = carrierName;
         mNumPlans = numPlans;
-        mLaunchIntent = launchIntent;
         notifyChanged();
     }
 
@@ -143,22 +125,17 @@
         notifyChanged();
     }
 
-    void setUsageNumbers(long used, long dataPlanSize, boolean hasMobileData) {
+    /**
+     * Sets the usage numbers.
+     */
+    public void setUsageNumbers(long used, long dataPlanSize) {
         mDataplanUse = used;
         mDataplanSize = dataPlanSize;
-        mHasMobileData = hasMobileData;
-        notifyChanged();
-    }
-
-    void setWifiMode(boolean isWifiMode, String usagePeriod, boolean isSingleWifi) {
-        mWifiMode = isWifiMode;
-        mUsagePeriod = usagePeriod;
-        mSingleWifi = isSingleWifi;
         notifyChanged();
     }
 
     @Override
-    public void onBindViewHolder(PreferenceViewHolder holder) {
+    public void onBindViewHolder(@NonNull PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
 
         ProgressBar bar = getProgressBar(holder);
@@ -177,66 +154,13 @@
 
         TextView usageTitle = getUsageTitle(holder);
         TextView carrierInfo = getCarrierInfo(holder);
-        Button launchButton = getLaunchButton(holder);
         TextView limitInfo = getDataLimits(holder);
 
-        if (mWifiMode && mSingleWifi) {
-            updateCycleTimeText(holder);
-
-            usageTitle.setVisibility(View.GONE);
-            launchButton.setVisibility(View.GONE);
-            carrierInfo.setVisibility(View.GONE);
-
-            limitInfo.setVisibility(TextUtils.isEmpty(mLimitInfoText) ? View.GONE : View.VISIBLE);
-            limitInfo.setText(mLimitInfoText);
-        } else if (mWifiMode) {
-            usageTitle.setText(R.string.data_usage_wifi_title);
-            usageTitle.setVisibility(View.VISIBLE);
-            TextView cycleTime = getCycleTime(holder);
-            cycleTime.setText(mUsagePeriod);
-            carrierInfo.setVisibility(View.GONE);
-            limitInfo.setVisibility(View.GONE);
-
-            final long usageLevel = getHistoricalUsageLevel();
-            if (usageLevel > 0L) {
-                launchButton.setOnClickListener((view) -> {
-                    launchWifiDataUsage(getContext());
-                });
-            } else {
-                launchButton.setEnabled(false);
-            }
-            launchButton.setText(R.string.launch_wifi_text);
-            launchButton.setVisibility(View.VISIBLE);
-        } else {
-            usageTitle.setVisibility(mNumPlans > 1 ? View.VISIBLE : View.GONE);
-            updateCycleTimeText(holder);
-            updateCarrierInfo(carrierInfo);
-            if (mLaunchIntent != null) {
-                launchButton.setOnClickListener((view) -> {
-                    getContext().startActivity(mLaunchIntent);
-                });
-                launchButton.setVisibility(View.VISIBLE);
-            } else {
-                launchButton.setVisibility(View.GONE);
-            }
-            limitInfo.setVisibility(
-                    TextUtils.isEmpty(mLimitInfoText) ? View.GONE : View.VISIBLE);
-            limitInfo.setText(mLimitInfoText);
-        }
-    }
-
-    @VisibleForTesting
-    static void launchWifiDataUsage(Context context) {
-        final Bundle args = new Bundle(1);
-        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
-                new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI);
-        final SubSettingLauncher launcher = new SubSettingLauncher(context)
-                .setArguments(args)
-                .setDestination(DataUsageList.class.getName())
-                .setSourceMetricsCategory(SettingsEnums.PAGE_UNKNOWN);
-        launcher.setTitleRes(R.string.wifi_data_usage);
-        launcher.launch();
+        usageTitle.setVisibility(mNumPlans > 1 ? View.VISIBLE : View.GONE);
+        updateCycleTimeText(holder);
+        updateCarrierInfo(carrierInfo);
+        limitInfo.setVisibility(TextUtils.isEmpty(mLimitInfoText) ? View.GONE : View.VISIBLE);
+        limitInfo.setText(mLimitInfoText);
     }
 
     private void updateDataUsageLabels(PreferenceViewHolder holder) {
@@ -257,7 +181,7 @@
 
         final MeasurableLinearLayout layout = getLayout(holder);
 
-        if (mHasMobileData && mNumPlans >= 0 && mDataplanSize > 0L) {
+        if (mDataplanSize > 0L) {
             TextView usageRemainingField = getDataRemaining(holder);
             long dataRemaining = mDataplanSize - mDataplanUse;
             if (dataRemaining >= 0) {
@@ -283,7 +207,7 @@
         TextView cycleTime = getCycleTime(holder);
 
         // Takes zero as a special case which value is never set.
-        if (mCycleEndTimeMs == CYCLE_TIME_UNINITIAL_VALUE) {
+        if (mCycleEndTimeMs == null) {
             cycleTime.setVisibility(View.GONE);
             return;
         }
@@ -307,7 +231,7 @@
 
 
     private void updateCarrierInfo(TextView carrierInfo) {
-        if (mNumPlans > 0 && mSnapshotTimeMs >= 0L) {
+        if (mSnapshotTimeMs >= 0L) {
             carrierInfo.setVisibility(View.VISIBLE);
             long updateAgeMillis = calculateTruncatedUpdateAge();
 
@@ -373,13 +297,6 @@
     }
 
     @VisibleForTesting
-    protected long getHistoricalUsageLevel() {
-        final DataUsageController controller = new DataUsageController(getContext());
-        return controller.getHistoricalUsageLevel(
-                new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-    }
-
-    @VisibleForTesting
     protected TextView getUsageTitle(PreferenceViewHolder holder) {
         return (TextView) holder.findViewById(R.id.usage_title);
     }
@@ -410,11 +327,6 @@
     }
 
     @VisibleForTesting
-    protected Button getLaunchButton(PreferenceViewHolder holder) {
-        return (Button) holder.findViewById(R.id.launch_mdp_app_button);
-    }
-
-    @VisibleForTesting
     protected LinearLayout getLabelBar(PreferenceViewHolder holder) {
         return (LinearLayout) holder.findViewById(R.id.label_bar);
     }
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
deleted file mode 100644
index fe20a01..0000000
--- a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.java
+++ /dev/null
@@ -1,398 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.app.Activity;
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.net.INetworkPolicyManager;
-import android.net.NetworkPolicyManager;
-import android.net.NetworkTemplate;
-import android.os.ServiceManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionPlan;
-import android.text.TextUtils;
-import android.util.Log;
-import android.util.RecurrenceRule;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.internal.util.CollectionUtils;
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.datausage.lib.DataUsageLib;
-import com.android.settings.network.ProxySubscriptionManager;
-import com.android.settings.network.telephony.TelephonyBasePreferenceController;
-import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.NetworkPolicyEditor;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.net.DataUsageController;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.List;
-import java.util.concurrent.Future;
-
-/**
- * This is the controller for a data usage header that retrieves carrier data from the new
- * subscriptions framework API if available. The controller reads subscription information from the
- * framework and falls back to legacy usage data if none are available.
- */
-public class DataUsageSummaryPreferenceController extends TelephonyBasePreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver, OnStart {
-
-    private static final String TAG = "DataUsageController";
-    private static final String KEY = "status_header";
-    private static final long PETA = 1000000000000000L;
-    private static final float RELATIVE_SIZE_LARGE = 1.25f * 1.25f;  // (1/0.8)^2
-    private static final float RELATIVE_SIZE_SMALL = 1.0f / RELATIVE_SIZE_LARGE;  // 0.8^2
-
-    private EntityHeaderController mEntityHeaderController;
-    private final Lifecycle mLifecycle;
-    private final PreferenceFragmentCompat mFragment;
-    protected DataUsageController mDataUsageController;
-    protected DataUsageInfoController mDataInfoController;
-    private NetworkTemplate mDefaultTemplate;
-    protected NetworkPolicyEditor mPolicyEditor;
-    private int mDataUsageTemplate;
-    private boolean mHasMobileData;
-
-    /** Name of the carrier, or null if not available */
-    private CharSequence mCarrierName;
-
-    /** The number of registered plans, [0,N] */
-    private int mDataplanCount;
-
-    /** The time of the last update in milliseconds since the epoch, or -1 if unknown */
-    private long mSnapshotTime;
-
-    /**
-     * The size of the first registered plan if one exists or the size of the warning if it is set.
-     * -1 if no information is available.
-     */
-    private long mDataplanSize;
-    /** The "size" of the data usage bar, i.e. the amount of data its rhs end represents */
-    private long mDataBarSize;
-    /** The number of bytes used since the start of the cycle. */
-    private long mDataplanUse;
-    /** The starting time of the billing cycle in ms since the epoch */
-    private long mCycleStart;
-    /** The ending time of the billing cycle in ms since the epoch */
-    private long mCycleEnd;
-
-    private Intent mManageSubscriptionIntent;
-
-    private Future<Long> mHistoricalUsageLevel;
-
-    public DataUsageSummaryPreferenceController(Activity activity,
-            Lifecycle lifecycle, PreferenceFragmentCompat fragment, int subscriptionId) {
-        super(activity, KEY);
-
-        mLifecycle = lifecycle;
-        mFragment = fragment;
-        init(subscriptionId);
-    }
-
-    /**
-     * Initialize based on subscription ID provided
-     * @param subscriptionId is the target subscriptionId
-     */
-    public void init(int subscriptionId) {
-        mSubId = subscriptionId;
-        mHasMobileData = DataUsageUtils.hasMobileData(mContext);
-        mDataUsageController = null;
-    }
-
-    protected void updateConfiguration(Context context,
-            int subscriptionId, SubscriptionInfo subInfo) {
-        final NetworkPolicyManager policyManager =
-                context.getSystemService(NetworkPolicyManager.class);
-        mPolicyEditor = new NetworkPolicyEditor(policyManager);
-
-        mDataUsageController = createDataUsageController(context);
-        mDataUsageController.setSubscriptionId(subscriptionId);
-        mDataInfoController = new DataUsageInfoController();
-
-        if (subInfo != null) {
-            mDataUsageTemplate = R.string.cell_data_template;
-            mDefaultTemplate = DataUsageLib.getMobileTemplate(context, subscriptionId);
-        } else if (DataUsageUtils.hasWifiRadio(context)) {
-            mDataUsageTemplate = R.string.wifi_data_template;
-            mDefaultTemplate = new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
-        } else {
-            mDataUsageTemplate = R.string.ethernet_data_template;
-            mDefaultTemplate = DataUsageUtils.getDefaultTemplate(context, subscriptionId);
-        }
-    }
-
-    @VisibleForTesting
-    DataUsageController createDataUsageController(Context context) {
-        return new DataUsageController(context);
-    }
-
-    @VisibleForTesting
-    DataUsageSummaryPreferenceController(
-            DataUsageController dataUsageController,
-            DataUsageInfoController dataInfoController,
-            NetworkTemplate defaultTemplate,
-            NetworkPolicyEditor policyEditor,
-            int dataUsageTemplate,
-            Activity activity,
-            Lifecycle lifecycle,
-            EntityHeaderController entityHeaderController,
-            PreferenceFragmentCompat fragment,
-            int subscriptionId) {
-        super(activity, KEY);
-        mDataUsageController = dataUsageController;
-        mDataInfoController = dataInfoController;
-        mDefaultTemplate = defaultTemplate;
-        mPolicyEditor = policyEditor;
-        mDataUsageTemplate = dataUsageTemplate;
-        mHasMobileData = true;
-        mLifecycle = lifecycle;
-        mEntityHeaderController = entityHeaderController;
-        mFragment = fragment;
-        mSubId = subscriptionId;
-    }
-
-    @Override
-    public void onStart() {
-        if (mEntityHeaderController == null) {
-            mEntityHeaderController =
-                    EntityHeaderController.newInstance((Activity) mContext, mFragment, null);
-        }
-        RecyclerView view = mFragment.getListView();
-        mEntityHeaderController.setRecyclerView(view, mLifecycle);
-    }
-
-    @VisibleForTesting
-    List<SubscriptionPlan> getSubscriptionPlans(int subscriptionId) {
-        return ProxySubscriptionManager.getInstance(mContext).get()
-                .getSubscriptionPlans(subscriptionId);
-    }
-
-    protected SubscriptionInfo getSubscriptionInfo(int subscriptionId) {
-        if (!mHasMobileData) {
-            return null;
-        }
-        return ProxySubscriptionManager.getInstance(mContext)
-                .getAccessibleSubscriptionInfo(subscriptionId);
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return (getSubscriptionInfo(subId) != null)
-                || DataUsageUtils.hasWifiRadio(mContext) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        DataUsageSummaryPreference summaryPreference = (DataUsageSummaryPreference) preference;
-
-        final SubscriptionInfo subInfo = getSubscriptionInfo(mSubId);
-        if (mDataUsageController == null) {
-            updateConfiguration(mContext, mSubId, subInfo);
-        }
-
-        mHistoricalUsageLevel = ThreadUtils.postOnBackgroundThread(() ->
-                mDataUsageController.getHistoricalUsageLevel(mDefaultTemplate));
-
-        final DataUsageController.DataUsageInfo info =
-                mDataUsageController.getDataUsageInfo(mDefaultTemplate);
-
-        long usageLevel = info.usageLevel;
-
-        if (subInfo != null) {
-            mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(mDefaultTemplate));
-            summaryPreference.setWifiMode(/* isWifiMode */ false,
-                    /* usagePeriod */ null, /* isSingleWifi */ false);
-        } else {
-            summaryPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */
-                    info.period, /* isSingleWifi */ false);
-            summaryPreference.setLimitInfo(null);
-            summaryPreference.setUsageNumbers(displayUsageLevel(usageLevel),
-                    /* dataPlanSize */ -1L,
-                    /* hasMobileData */ true);
-            summaryPreference.setChartEnabled(false);
-            summaryPreference.setUsageInfo(info.cycleEnd,
-                    /* snapshotTime */ -1L,
-                    /* carrierName */ null,
-                    /* numPlans */ 0,
-                    /* launchIntent */ null);
-            return;
-        }
-
-        refreshDataplanInfo(info, subInfo);
-
-        if (info.warningLevel > 0 && info.limitLevel > 0) {
-            summaryPreference.setLimitInfo(TextUtils.expandTemplate(
-                    mContext.getText(R.string.cell_data_warning_and_limit),
-                    DataUsageUtils.formatDataUsage(mContext, info.warningLevel),
-                    DataUsageUtils.formatDataUsage(mContext, info.limitLevel)));
-        } else if (info.warningLevel > 0) {
-            summaryPreference.setLimitInfo(TextUtils.expandTemplate(
-                    mContext.getText(R.string.cell_data_warning),
-                    DataUsageUtils.formatDataUsage(mContext, info.warningLevel)));
-        } else if (info.limitLevel > 0) {
-            summaryPreference.setLimitInfo(TextUtils.expandTemplate(
-                    mContext.getText(R.string.cell_data_limit),
-                    DataUsageUtils.formatDataUsage(mContext, info.limitLevel)));
-        } else {
-            summaryPreference.setLimitInfo(null);
-        }
-
-        if ((mDataplanUse <= 0L) && (mSnapshotTime < 0)) {
-            Log.d(TAG, "Display data usage from history");
-            mDataplanUse = displayUsageLevel(usageLevel);
-            mSnapshotTime = -1L;
-        }
-
-        summaryPreference.setUsageNumbers(mDataplanUse, mDataplanSize, mHasMobileData);
-
-        if (mDataBarSize <= 0) {
-            summaryPreference.setChartEnabled(false);
-        } else {
-            summaryPreference.setChartEnabled(true);
-            summaryPreference.setLabels(DataUsageUtils.formatDataUsage(mContext, 0 /* sizeBytes */),
-                    DataUsageUtils.formatDataUsage(mContext, mDataBarSize));
-            summaryPreference.setProgress(mDataplanUse / (float) mDataBarSize);
-        }
-        summaryPreference.setUsageInfo(mCycleEnd, mSnapshotTime, mCarrierName,
-                mDataplanCount, mManageSubscriptionIntent);
-    }
-
-    private long displayUsageLevel(long usageLevel) {
-        if (usageLevel > 0) {
-            return usageLevel;
-        }
-        try {
-            usageLevel = mHistoricalUsageLevel.get();
-        } catch (Exception ex) {
-        }
-        return usageLevel;
-    }
-
-    // TODO(b/70950124) add test for this method once the robolectric shadow run script is
-    // completed (b/3526807)
-    private void refreshDataplanInfo(DataUsageController.DataUsageInfo info,
-            SubscriptionInfo subInfo) {
-        // reset data before overwriting
-        mCarrierName = null;
-        mDataplanCount = 0;
-        mDataplanSize = -1L;
-        mDataBarSize = mDataInfoController.getSummaryLimit(info);
-        mDataplanUse = info.usageLevel;
-        mCycleStart = info.cycleStart;
-        mCycleEnd = info.cycleEnd;
-        mSnapshotTime = -1L;
-
-        if (subInfo != null && mHasMobileData) {
-            mCarrierName = subInfo.getCarrierName();
-            final List<SubscriptionPlan> plans = getSubscriptionPlans(mSubId);
-            final SubscriptionPlan primaryPlan = getPrimaryPlan(plans);
-
-            if (primaryPlan != null) {
-                mDataplanCount = plans.size();
-                mDataplanSize = primaryPlan.getDataLimitBytes();
-                if (unlimited(mDataplanSize)) {
-                    mDataplanSize = -1L;
-                }
-                mDataBarSize = mDataplanSize;
-                mDataplanUse = primaryPlan.getDataUsageBytes();
-
-                RecurrenceRule rule = primaryPlan.getCycleRule();
-                if (rule != null && rule.start != null && rule.end != null) {
-                    mCycleStart = rule.start.toEpochSecond() * 1000L;
-                    mCycleEnd = rule.end.toEpochSecond() * 1000L;
-                }
-                mSnapshotTime = primaryPlan.getDataUsageTime();
-            }
-        }
-        // Temporarily return null, since no current users of SubscriptionPlan have this intent set.
-        // TODO (b/170330084): Remove after refactoring 5G SubscriptionPlan logic.
-        // mManageSubscriptionIntent = createManageSubscriptionIntent(mSubId);
-        mManageSubscriptionIntent = null;
-        Log.i(TAG, "Have " + mDataplanCount + " plans, dflt sub-id " + mSubId
-                + ", intent " + mManageSubscriptionIntent);
-    }
-
-    /**
-     * Create an {@link Intent} that can be launched towards the carrier app
-     * that is currently defining the billing relationship plan through
-     * {@link INetworkPolicyManager#setSubscriptionPlans(int, SubscriptionPlan [], String)}.
-     *
-     * @return ready to launch Intent targeted towards the carrier app, or
-     *         {@code null} if no carrier app is defined, or if the defined
-     *         carrier app provides no management activity.
-     */
-    @VisibleForTesting
-    Intent createManageSubscriptionIntent(int subId) {
-        final INetworkPolicyManager iNetPolicyManager = INetworkPolicyManager.Stub.asInterface(
-                ServiceManager.getService(Context.NETWORK_POLICY_SERVICE));
-        String owner = "";
-        try {
-            owner = iNetPolicyManager.getSubscriptionPlansOwner(subId);
-        } catch (Exception ex) {
-            Log.w(TAG, "Fail to get subscription plan owner for subId " + subId, ex);
-        }
-
-        if (TextUtils.isEmpty(owner)) {
-            return null;
-        }
-
-        final List<SubscriptionPlan> plans = getSubscriptionPlans(subId);
-        if (plans.isEmpty()) {
-            return null;
-        }
-
-        final Intent intent = new Intent(SubscriptionManager.ACTION_MANAGE_SUBSCRIPTION_PLANS);
-        intent.setPackage(owner);
-        intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, subId);
-
-        if (mContext.getPackageManager().queryIntentActivities(intent,
-                PackageManager.MATCH_DEFAULT_ONLY).isEmpty()) {
-            return null;
-        }
-
-        return intent;
-    }
-
-    private static SubscriptionPlan getPrimaryPlan(List<SubscriptionPlan> plans) {
-        if (CollectionUtils.isEmpty(plans)) {
-            return null;
-        }
-        // First plan in the list is the primary plan
-        SubscriptionPlan plan = plans.get(0);
-        return plan.getDataLimitBytes() > 0
-                && validSize(plan.getDataUsageBytes())
-                && plan.getCycleRule() != null ? plan : null;
-    }
-
-    private static boolean validSize(long value) {
-        return value >= 0L && value < PETA;
-    }
-
-    public static boolean unlimited(long size) {
-        return size == SubscriptionPlan.BYTES_UNLIMITED;
-    }
-}
diff --git a/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.kt b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.kt
new file mode 100644
index 0000000..8b31f67
--- /dev/null
+++ b/src/com/android/settings/datausage/DataUsageSummaryPreferenceController.kt
@@ -0,0 +1,159 @@
+/*
+ * 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.net.NetworkPolicy
+import android.net.NetworkTemplate
+import android.text.TextUtils
+import android.util.Log
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.datausage.lib.DataUsageLib.getMobileTemplate
+import com.android.settings.datausage.lib.INetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkCycleDataRepository
+import com.android.settings.network.ProxySubscriptionManager
+import com.android.settings.network.telephony.TelephonyBasePreferenceController
+import kotlin.math.max
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * This is the controller for a data usage header that retrieves carrier data from the new
+ * subscriptions framework API if available. The controller reads subscription information from the
+ * framework and falls back to legacy usage data if none are available.
+ */
+open class DataUsageSummaryPreferenceController @JvmOverloads constructor(
+    context: Context,
+    subId: Int,
+    private val proxySubscriptionManager: ProxySubscriptionManager =
+        ProxySubscriptionManager.getInstance(context),
+    private val networkCycleDataRepositoryFactory: (
+        template: NetworkTemplate,
+    ) -> INetworkCycleDataRepository = { NetworkCycleDataRepository(context, it) },
+    private val dataPlanRepositoryFactory: (
+        networkCycleDataRepository: INetworkCycleDataRepository,
+    ) -> DataPlanRepository = { DataPlanRepositoryImpl(it) }
+) : TelephonyBasePreferenceController(context, KEY) {
+
+    init {
+        mSubId = subId
+    }
+
+    private val subInfo by lazy {
+        if (DataUsageUtils.hasMobileData(mContext)) {
+            proxySubscriptionManager.getAccessibleSubscriptionInfo(mSubId)
+        } else null
+    }
+    private val networkCycleDataRepository by lazy {
+        networkCycleDataRepositoryFactory(getMobileTemplate(mContext, mSubId))
+    }
+    private val policy by lazy { networkCycleDataRepository.getPolicy() }
+    private lateinit var preference: DataUsageSummaryPreference
+
+    override fun getAvailabilityStatus(subId: Int) =
+        if (subInfo != null && policy != null) AVAILABLE else CONDITIONALLY_UNAVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+        policy?.let {
+            preference.setLimitInfo(it.getLimitInfo())
+            val dataBarSize = max(it.limitBytes, it.warningBytes)
+            if (dataBarSize > NetworkPolicy.WARNING_DISABLED) {
+                setDataBarSize(dataBarSize)
+            }
+        }
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                update()
+            }
+        }
+    }
+
+    private suspend fun update() {
+        val policy = policy ?: return
+        val dataPlanInfo = withContext(Dispatchers.Default) {
+            dataPlanRepositoryFactory(networkCycleDataRepository).getDataPlanInfo(
+                policy = policy,
+                plans = proxySubscriptionManager.get().getSubscriptionPlans(mSubId),
+            )
+        }
+        Log.d(TAG, "dataPlanInfo: $dataPlanInfo")
+        preference.setUsageNumbers(dataPlanInfo.dataPlanUse, dataPlanInfo.dataPlanSize)
+        if (dataPlanInfo.dataBarSize > 0) {
+            preference.setChartEnabled(true)
+            setDataBarSize(dataPlanInfo.dataBarSize)
+            preference.setProgress(dataPlanInfo.dataPlanUse / dataPlanInfo.dataBarSize.toFloat())
+        } else {
+            preference.setChartEnabled(false)
+        }
+
+        preference.setUsageInfo(
+            dataPlanInfo.cycleEnd,
+            dataPlanInfo.snapshotTime,
+            subInfo?.carrierName,
+            dataPlanInfo.dataPlanCount,
+        )
+    }
+
+    private fun setDataBarSize(dataBarSize: Long) {
+        preference.setLabels(
+            DataUsageUtils.formatDataUsage(mContext, /* byteValue = */ 0),
+            DataUsageUtils.formatDataUsage(mContext, dataBarSize)
+        )
+    }
+
+    private fun NetworkPolicy.getLimitInfo(): CharSequence? = when {
+        warningBytes > 0 && limitBytes > 0 -> {
+            TextUtils.expandTemplate(
+                mContext.getText(R.string.cell_data_warning_and_limit),
+                DataUsageUtils.formatDataUsage(mContext, warningBytes),
+                DataUsageUtils.formatDataUsage(mContext, limitBytes),
+            )
+        }
+
+        warningBytes > 0 -> {
+            TextUtils.expandTemplate(
+                mContext.getText(R.string.cell_data_warning),
+                DataUsageUtils.formatDataUsage(mContext, warningBytes),
+            )
+        }
+
+        limitBytes > 0 -> {
+            TextUtils.expandTemplate(
+                mContext.getText(R.string.cell_data_limit),
+                DataUsageUtils.formatDataUsage(mContext, limitBytes),
+            )
+        }
+
+        else -> null
+    }
+
+    companion object {
+        private const val TAG = "DataUsageSummaryPC"
+        private const val KEY = "status_header"
+    }
+}
diff --git a/src/com/android/settings/datausage/DataUsageUtils.java b/src/com/android/settings/datausage/DataUsageUtils.java
index cce7ca1..2bbf3e2 100644
--- a/src/com/android/settings/datausage/DataUsageUtils.java
+++ b/src/com/android/settings/datausage/DataUsageUtils.java
@@ -17,7 +17,6 @@
 import static android.content.pm.PackageManager.FEATURE_ETHERNET;
 import static android.content.pm.PackageManager.FEATURE_USB_HOST;
 import static android.content.pm.PackageManager.FEATURE_WIFI;
-import static android.telephony.TelephonyManager.SIM_STATE_READY;
 
 import android.app.usage.NetworkStats.Bucket;
 import android.app.usage.NetworkStatsManager;
@@ -46,10 +45,9 @@
 /**
  * Utility methods for data usage classes.
  */
-public final class DataUsageUtils extends com.android.settingslib.net.DataUsageUtils {
+public final class DataUsageUtils {
     static final boolean TEST_RADIOS = false;
     static final String TEST_RADIOS_PROP = "test.radios";
-    private static final boolean LOGD = false;
     private static final String ETHERNET = "ethernet";
     private static final String TAG = "DataUsageUtils";
 
@@ -107,44 +105,6 @@
     }
 
     /**
-     * Test if device has a mobile data radio with SIM in ready state.
-     */
-    public static boolean hasReadyMobileRadio(Context context) {
-        if (DataUsageUtils.TEST_RADIOS) {
-            return SystemProperties.get(DataUsageUtils.TEST_RADIOS_PROP).contains("mobile");
-        }
-        final List<SubscriptionInfo> subInfoList =
-                ProxySubscriptionManager.getInstance(context)
-                .getActiveSubscriptionsInfo();
-        // No activated Subscriptions
-        if (subInfoList == null) {
-            if (LOGD) {
-                Log.d(TAG, "hasReadyMobileRadio: subInfoList=null");
-            }
-            return false;
-        }
-        final TelephonyManager tele = context.getSystemService(TelephonyManager.class);
-        // require both supported network and ready SIM
-        boolean isReady = true;
-        for (SubscriptionInfo subInfo : subInfoList) {
-            isReady = isReady & tele.getSimState(subInfo.getSimSlotIndex()) == SIM_STATE_READY;
-            if (LOGD) {
-                Log.d(TAG, "hasReadyMobileRadio: subInfo=" + subInfo);
-            }
-        }
-
-        final boolean isDataCapable = tele.isDataCapable();
-        final boolean retVal = isDataCapable && isReady;
-        if (LOGD) {
-            Log.d(TAG, "hasReadyMobileRadio:"
-                    + " telephonManager.isDataCapable()="
-                    + isDataCapable
-                    + " isReady=" + isReady);
-        }
-        return retVal;
-    }
-
-    /**
      * Whether device has a Wi-Fi data radio.
      */
     public static boolean hasWifiRadio(Context context) {
diff --git a/src/com/android/settings/datausage/MeasurableLinearLayout.java b/src/com/android/settings/datausage/MeasurableLinearLayout.java
index f165be7..7fd392c 100644
--- a/src/com/android/settings/datausage/MeasurableLinearLayout.java
+++ b/src/com/android/settings/datausage/MeasurableLinearLayout.java
@@ -1,11 +1,12 @@
 package com.android.settings.datausage;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.View;
 import android.widget.LinearLayout;
 
+import androidx.annotation.Nullable;
+
 public class MeasurableLinearLayout extends LinearLayout {
     private View mFixedView;
     private View mDisposableView;
diff --git a/src/com/android/settings/datausage/NetworkRestrictionsPreference.java b/src/com/android/settings/datausage/NetworkRestrictionsPreference.java
deleted file mode 100644
index 9afc0c3..0000000
--- a/src/com/android/settings/datausage/NetworkRestrictionsPreference.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
- * except in compliance with the License. You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the
- * License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the specific language governing
- * permissions and limitations under the License.
- */
-
-package com.android.settings.datausage;
-
-import android.content.Context;
-import android.net.NetworkTemplate;
-import android.util.AttributeSet;
-
-import androidx.preference.Preference;
-
-public class NetworkRestrictionsPreference extends Preference implements TemplatePreference {
-
-    public NetworkRestrictionsPreference(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    @Override
-    public void setTemplate(NetworkTemplate template, int subId,
-            NetworkServices services) {
-        // TODO: Summary
-    }
-}
diff --git a/src/com/android/settings/datausage/OWNERS b/src/com/android/settings/datausage/OWNERS
index d71b165..1ad5b2d 100644
--- a/src/com/android/settings/datausage/OWNERS
+++ b/src/com/android/settings/datausage/OWNERS
@@ -2,6 +2,5 @@
 andychou@google.com
 bonianchen@google.com
 changbetty@google.com
-goldmanj@google.com
 songferngwang@google.com
 wengsu@google.com
diff --git a/src/com/android/settings/datausage/SpinnerPreference.java b/src/com/android/settings/datausage/SpinnerPreference.java
index c6b5f9f..febdead 100644
--- a/src/com/android/settings/datausage/SpinnerPreference.java
+++ b/src/com/android/settings/datausage/SpinnerPreference.java
@@ -14,13 +14,13 @@
 
 package com.android.settings.datausage;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.View;
 import android.widget.AdapterView;
 import android.widget.Spinner;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
@@ -47,7 +47,6 @@
         notifyChanged();
     }
 
-    @Override
     public void setOnItemSelectedListener(AdapterView.OnItemSelectedListener listener) {
         mListener = listener;
     }
@@ -95,7 +94,6 @@
                 @Override
                 public void onItemSelected(
                         AdapterView<?> parent, View view, int position, long id) {
-                    if (mPosition == position) return;
                     mPosition = position;
                     mCurrentObject = mAdapter.getItem(position);
                     if (mListener != null) {
diff --git a/src/com/android/settings/datausage/TemplatePreference.java b/src/com/android/settings/datausage/TemplatePreference.java
index 43dda0a..8e780db 100644
--- a/src/com/android/settings/datausage/TemplatePreference.java
+++ b/src/com/android/settings/datausage/TemplatePreference.java
@@ -16,23 +16,16 @@
 
 import android.net.NetworkPolicyManager;
 import android.net.NetworkTemplate;
-import android.os.INetworkManagementService;
-import android.os.UserManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 
 import com.android.settingslib.NetworkPolicyEditor;
 
 public interface TemplatePreference {
 
-    void setTemplate(NetworkTemplate template, int subId, NetworkServices services);
+    /** Sets the network template. */
+    void setTemplate(NetworkTemplate template, int subId);
 
     class NetworkServices {
-        INetworkManagementService mNetworkService;
         NetworkPolicyManager mPolicyManager;
-        TelephonyManager mTelephonyManager;
-        SubscriptionManager mSubscriptionManager;
-        UserManager mUserManager;
         NetworkPolicyEditor mPolicyEditor;
     }
 
diff --git a/src/com/android/settings/datausage/TemplatePreferenceCategory.java b/src/com/android/settings/datausage/TemplatePreferenceCategory.java
index d26b9b1..9173676 100644
--- a/src/com/android/settings/datausage/TemplatePreferenceCategory.java
+++ b/src/com/android/settings/datausage/TemplatePreferenceCategory.java
@@ -31,8 +31,7 @@
     }
 
     @Override
-    public void setTemplate(NetworkTemplate template, int subId,
-            NetworkServices services) {
+    public void setTemplate(NetworkTemplate template, int subId) {
         mTemplate = template;
         mSubId = subId;
     }
@@ -46,12 +45,13 @@
         return super.addPreference(preference);
     }
 
-    public void pushTemplates(NetworkServices services) {
+    /** Pushes the templates. */
+    public void pushTemplates() {
         if (mTemplate == null) {
             throw new RuntimeException("null mTemplate for " + getKey());
         }
         for (int i = 0; i < getPreferenceCount(); i++) {
-            ((TemplatePreference) getPreference(i)).setTemplate(mTemplate, mSubId, services);
+            ((TemplatePreference) getPreference(i)).setTemplate(mTemplate, mSubId);
         }
     }
 
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
index 1fea84c..b3e66a9 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreference.java
@@ -13,14 +13,16 @@
  */
 package com.android.settings.datausage;
 
-import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfMeteredDataRestricted;
+import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfMeteredDataUsageUserControlDisabled;
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
 import android.view.View;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
@@ -36,6 +38,7 @@
 
 public class UnrestrictedDataAccessPreference extends AppSwitchPreference implements
         DataSaverBackend.Listener {
+    private static final String ECM_SETTING_IDENTIFIER = "android:unrestricted_data_access";
 
     private final ApplicationsState mApplicationsState;
     private final AppEntry mEntry;
@@ -56,8 +59,9 @@
         mApplicationsState = applicationsState;
         mDataSaverBackend = dataSaverBackend;
         mParentFragment = parentFragment;
-        setDisabledByAdmin(checkIfMeteredDataRestricted(context, entry.info.packageName,
-                UserHandle.getUserId(entry.info.uid)));
+        setDisabledByAdmin(checkIfMeteredDataUsageUserControlDisabled(
+                context, entry.info.packageName, UserHandle.getUserId(entry.info.uid)));
+        mHelper.checkEcmRestrictionAndSetDisabled(ECM_SETTING_IDENTIFIER, entry.info.packageName);
         updateState();
         setKey(generateKey(mEntry));
 
@@ -166,20 +170,35 @@
         return mHelper.isDisabledByAdmin();
     }
 
+    @VisibleForTesting
+    boolean isDisabledByEcm() {
+        return mHelper.isDisabledByEcm();
+    }
+
     public void setDisabledByAdmin(EnforcedAdmin admin) {
         mHelper.setDisabledByAdmin(admin);
     }
 
+    /**
+     * Checks if the given setting is subject to Enhanced Confirmation Mode restrictions for this
+     * package. Marks the preference as disabled if so.
+     * @param packageName the package to check the restriction for
+     */
+    public void checkEcmRestrictionAndSetDisabled(@NonNull String packageName) {
+        mHelper.checkEcmRestrictionAndSetDisabled(ECM_SETTING_IDENTIFIER, packageName);
+    }
+
     // Sets UI state based on allowlist/denylist status.
     public void updateState() {
         setTitle(mEntry.label);
         if (mDataUsageState != null) {
             setChecked(mDataUsageState.isDataSaverAllowlisted);
             if (isDisabledByAdmin()) {
-                setSummary(R.string.disabled_by_admin);
+                setSummary(com.android.settingslib.widget.restricted.R.string.disabled_by_admin);
             } else if (mDataUsageState.isDataSaverDenylisted) {
                 setSummary(R.string.restrict_background_blocklisted);
-            } else {
+            // If disabled by ECM, the summary is set directly by the switch.
+            } else if (!isDisabledByEcm()) {
                 setSummary("");
             }
         }
diff --git a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
index 438ed0d..0fb30a8 100644
--- a/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
+++ b/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceController.java
@@ -13,7 +13,7 @@
  */
 package com.android.settings.datausage;
 
-import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfMeteredDataRestricted;
+import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfMeteredDataUsageUserControlDisabled;
 
 import android.app.Application;
 import android.app.settings.SettingsEnums;
@@ -149,8 +149,9 @@
                 preference.setOnPreferenceChangeListener(this);
                 mScreen.addPreference(preference);
             } else {
-                preference.setDisabledByAdmin(checkIfMeteredDataRestricted(mContext,
+                preference.setDisabledByAdmin(checkIfMeteredDataUsageUserControlDisabled(mContext,
                         entry.info.packageName, UserHandle.getUserId(entry.info.uid)));
+                preference.checkEcmRestrictionAndSetDisabled(entry.info.packageName);
                 preference.updateState();
             }
             preference.setOrder(i);
@@ -233,7 +234,7 @@
     void logSpecialPermissionChange(boolean allowlisted, String packageName) {
         final int logCategory = allowlisted ? SettingsEnums.APP_SPECIAL_PERMISSION_UNL_DATA_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_UNL_DATA_DENY;
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider().action(mContext,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(mContext,
                 logCategory, packageName);
     }
 
diff --git a/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java b/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java
deleted file mode 100644
index 4d2dd00..0000000
--- a/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceController.java
+++ /dev/null
@@ -1,71 +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.app.Activity;
-import android.net.NetworkTemplate;
-import android.telephony.SubscriptionManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceFragmentCompat;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.net.DataUsageController;
-
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * The controller displays a data usage chart for the specified Wi-Fi network.
- */
-public class WifiDataUsageSummaryPreferenceController extends DataUsageSummaryPreferenceController {
-    final Set<String> mAllNetworkKeys;
-
-    public WifiDataUsageSummaryPreferenceController(Activity activity, Lifecycle lifecycle,
-            PreferenceFragmentCompat fragment, Set<String> allNetworkKeys) {
-        super(activity, lifecycle, fragment, SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        mAllNetworkKeys = new HashSet<>(allNetworkKeys);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (preference == null) {
-            return;
-        }
-
-        final DataUsageSummaryPreference mPreference = (DataUsageSummaryPreference) preference;
-        final NetworkTemplate template = new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI)
-                .setWifiNetworkKeys(mAllNetworkKeys).build();
-        if (mDataUsageController == null) {
-            updateConfiguration(mContext, mSubId, getSubscriptionInfo(mSubId));
-        }
-        final DataUsageController.DataUsageInfo info = mDataUsageController.getDataUsageInfo(
-                template);
-        mDataInfoController.updateDataLimit(info, mPolicyEditor.getPolicy(template));
-
-        mPreference.setWifiMode(/* isWifiMode */ true, /* usagePeriod */
-                info.period, /* isSingleWifi */ true);
-        mPreference.setChartEnabled(true);
-        // Treats Wi-Fi network as unlimited network, which has same usage level and limited level.
-        mPreference.setUsageNumbers(info.usageLevel, info.usageLevel, /* hasMobileData */ false);
-
-        // TODO(b/126142293): Passpoint Wi-Fi should have limit of data usage and time remaining
-        mPreference.setProgress(100);
-        mPreference.setLabels(DataUsageUtils.formatDataUsage(mContext, /* sizeBytes */ 0),
-                DataUsageUtils.formatDataUsage(mContext, info.usageLevel));
-    }
-}
diff --git a/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepository.kt b/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepository.kt
new file mode 100644
index 0000000..cd3372f
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepository.kt
@@ -0,0 +1,62 @@
+/*
+ * 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.datausage.lib
+
+import android.app.usage.NetworkStats
+import android.content.Context
+import android.net.NetworkTemplate
+import android.util.Range
+import com.android.settings.datausage.lib.AppDataUsageRepository.Companion.withSdkSandboxUids
+import com.android.settingslib.spa.framework.util.asyncMap
+
+interface IAppDataUsageDetailsRepository {
+    suspend fun queryDetailsForCycles(): List<NetworkUsageDetailsData>
+}
+
+class AppDataUsageDetailsRepository @JvmOverloads constructor(
+    context: Context,
+    private val template: NetworkTemplate,
+    private val cycles: List<Long>?,
+    uids: List<Int>,
+    private val networkCycleDataRepository: INetworkCycleDataRepository =
+        NetworkCycleDataRepository(context, template),
+    private val networkStatsRepository: NetworkStatsRepository =
+        NetworkStatsRepository(context, template),
+) : IAppDataUsageDetailsRepository {
+    private val withSdkSandboxUids = withSdkSandboxUids(uids)
+
+    override suspend fun queryDetailsForCycles(): List<NetworkUsageDetailsData> =
+        getCycles().asyncMap { queryDetails(it) }.filter { it.totalUsage > 0 }
+
+    private fun getCycles(): List<Range<Long>> =
+        cycles?.zipWithNext { endTime, startTime -> Range(startTime, endTime) }
+            ?: networkCycleDataRepository.getCycles()
+
+    private fun queryDetails(range: Range<Long>): NetworkUsageDetailsData {
+        val buckets = networkStatsRepository.queryBuckets(range.lower, range.upper)
+            .filter { it.uid in withSdkSandboxUids }
+        val totalUsage = buckets.sumOf { it.bytes }
+        val foregroundUsage =
+            buckets.filter { it.state == NetworkStats.Bucket.STATE_FOREGROUND }.sumOf { it.bytes }
+        return NetworkUsageDetailsData(
+            range = range,
+            totalUsage = totalUsage,
+            foregroundUsage = foregroundUsage,
+            backgroundUsage = totalUsage - foregroundUsage,
+        )
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt b/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt
new file mode 100644
index 0000000..1844a7a
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/AppDataUsageRepository.kt
@@ -0,0 +1,213 @@
+/*
+ * 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.datausage.lib
+
+import android.app.usage.NetworkStats
+import android.content.Context
+import android.net.NetworkPolicyManager
+import android.net.NetworkTemplate
+import android.os.Process
+import android.os.UserHandle
+import android.util.SparseArray
+import android.util.SparseBooleanArray
+import androidx.annotation.VisibleForTesting
+import androidx.core.util.keyIterator
+import com.android.settings.R
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
+import com.android.settingslib.AppItem
+import com.android.settingslib.net.UidDetailProvider
+import com.android.settingslib.spaprivileged.framework.common.userManager
+
+class AppDataUsageRepository(
+    private val context: Context,
+    private val currentUserId: Int,
+    template: NetworkTemplate,
+    private val getPackageName: (AppItem) -> String?,
+) {
+    private val networkStatsRepository = NetworkStatsRepository(context, template)
+
+    fun getAppPercent(carrierId: Int?, startTime: Long, endTime: Long): List<Pair<AppItem, Int>> {
+        val buckets = networkStatsRepository.queryBuckets(startTime, endTime)
+        return getAppPercent(carrierId, buckets)
+    }
+
+    @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
+        bindStats(buckets, profiles, knownItems, items)
+        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)
+            }
+            item.restricted = true
+        }
+
+        val filteredItems = filterItems(carrierId, items).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
+            item to percentTotal
+        }
+    }
+
+    private fun filterItems(carrierId: Int?, items: List<AppItem>): List<AppItem> {
+        // When there is no specified SubscriptionInfo, Wi-Fi data usage will be displayed.
+        // In this case, the carrier service package also needs to be hidden.
+        if (carrierId != null && carrierId !in context.resources.getIntArray(
+                R.array.datausage_hiding_carrier_service_carrier_id
+            )
+        ) {
+            return items
+        }
+        val hiddenPackageNames = context.resources.getStringArray(
+            R.array.datausage_hiding_carrier_service_package_names
+        )
+        return items.filter { item ->
+            // Do not show carrier service package in data usage list if it should be hidden for
+            // the carrier.
+            getPackageName(item) !in hiddenPackageNames
+        }
+    }
+
+    private fun bindStats(
+        buckets: List<Bucket>,
+        profiles: List<UserHandle>,
+        knownItems: SparseArray<AppItem>,
+        items: ArrayList<AppItem>,
+    ) {
+        for (bucket in buckets) {
+            // Decide how to collapse items together
+            val uid = bucket.uid
+            val collapseKey: Int
+            val category: Int
+            val userId = UserHandle.getUserId(uid)
+            if (UserHandle.isApp(uid) || Process.isSdkSandboxUid(uid)) {
+                if (profiles.contains(UserHandle(userId))) {
+                    if (userId != currentUserId) {
+                        // Add to a managed user item.
+                        accumulate(
+                            collapseKey = UidDetailProvider.buildKeyForUser(userId),
+                            knownItems = knownItems,
+                            bucket = bucket,
+                            itemCategory = AppItem.CATEGORY_USER,
+                            items = items,
+                        )
+                    }
+                    collapseKey = getAppUid(uid)
+                    category = AppItem.CATEGORY_APP
+                } else {
+                    // If it is a removed user add it to the removed users' key
+                    if (context.userManager.getUserInfo(userId) == null) {
+                        collapseKey = NetworkStats.Bucket.UID_REMOVED
+                        category = AppItem.CATEGORY_APP
+                    } else {
+                        // Add to other user item.
+                        collapseKey = UidDetailProvider.buildKeyForUser(userId)
+                        category = AppItem.CATEGORY_USER
+                    }
+                }
+            } else if (uid == NetworkStats.Bucket.UID_REMOVED ||
+                uid == NetworkStats.Bucket.UID_TETHERING ||
+                uid == Process.OTA_UPDATE_UID
+            ) {
+                collapseKey = uid
+                category = AppItem.CATEGORY_APP
+            } else {
+                collapseKey = Process.SYSTEM_UID
+                category = AppItem.CATEGORY_APP
+            }
+            accumulate(
+                collapseKey = collapseKey,
+                knownItems = knownItems,
+                bucket = bucket,
+                itemCategory = category,
+                items = items,
+            )
+        }
+    }
+
+    /**
+     * Accumulate data usage of a network stats entry for the item mapped by the collapse key.
+     * Creates the item if needed.
+     *
+     * @param collapseKey  the collapse key used to map the item.
+     * @param knownItems   collection of known (already existing) items.
+     * @param bucket       the network stats bucket to extract data usage from.
+     * @param itemCategory the item is categorized on the list view by this category. Must be
+     */
+    private fun accumulate(
+        collapseKey: Int,
+        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)
+        }
+        item.addUid(bucket.uid)
+        item.total += bucket.bytes
+    }
+
+    companion object {
+        @JvmStatic
+        fun getAppUidList(uids: SparseBooleanArray) =
+            uids.keyIterator().asSequence().map { getAppUid(it) }.distinct().toList()
+
+        @JvmStatic
+        fun getAppUid(uid: Int): Int {
+            if (Process.isSdkSandboxUid(uid)) {
+                // For a sandbox process, get the associated app UID
+                return Process.getAppUidForSdkSandboxUid(uid)
+            }
+            return uid
+        }
+
+        /**
+         * Gets the apps' uids, also add the apps' SDK sandboxes' uids.
+         *
+         * In case we've been asked data usage for an app, include data usage of the corresponding
+         * SDK sandbox.
+         */
+        fun withSdkSandboxUids(uids: List<Int>): List<Int> {
+            val set = uids.toMutableSet()
+            for (uid in uids) {
+                if (Process.isApplicationUid(uid)) {
+                    set += Process.toSdkSandboxUid(uid)
+                }
+            }
+            return set.toList()
+        }
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/AppDataUsageSummaryRepository.kt b/src/com/android/settings/datausage/lib/AppDataUsageSummaryRepository.kt
new file mode 100644
index 0000000..b723e27
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/AppDataUsageSummaryRepository.kt
@@ -0,0 +1,40 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkTemplate
+import com.android.settings.datausage.lib.AppDataUsageRepository.Companion.withSdkSandboxUids
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.AllTimeRange
+import com.android.settingslib.spa.framework.util.asyncMap
+
+interface IAppDataUsageSummaryRepository {
+    suspend fun querySummary(uid: Int): NetworkUsageData?
+}
+
+class AppDataUsageSummaryRepository(
+    context: Context,
+    template: NetworkTemplate,
+    private val networkStatsRepository: NetworkStatsRepository =
+        NetworkStatsRepository(context, template),
+) : IAppDataUsageSummaryRepository {
+
+    override suspend fun querySummary(uid: Int): NetworkUsageData? =
+        withSdkSandboxUids(listOf(uid)).asyncMap {
+            networkStatsRepository.queryAggregateForUid(range = AllTimeRange, uid = it)
+        }.filterNotNull().aggregate()
+}
diff --git a/src/com/android/settings/datausage/lib/AppPreferenceRepository.kt b/src/com/android/settings/datausage/lib/AppPreferenceRepository.kt
new file mode 100644
index 0000000..3bfb24a
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/AppPreferenceRepository.kt
@@ -0,0 +1,51 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.content.pm.PackageManager
+import android.os.UserHandle
+import android.util.IconDrawableFactory
+import androidx.preference.Preference
+
+class AppPreferenceRepository(
+    private val context: Context,
+    private val iconDrawableFactory: IconDrawableFactory = IconDrawableFactory.newInstance(context),
+) {
+    private val packageManager = context.packageManager
+
+    fun loadAppPreferences(uids: List<Int>): List<Preference> = uids.flatMap { uid ->
+        val userId = UserHandle.getUserId(uid)
+        getPackagesForUid(uid).mapNotNull { packageName ->
+            getPreference(packageName, userId)
+        }
+    }
+
+    private fun getPackagesForUid(uid: Int): Array<String> =
+        packageManager.getPackagesForUid(uid) ?: emptyArray()
+
+    private fun getPreference(packageName: String, userId: Int): Preference? = try {
+        val app = packageManager.getApplicationInfoAsUser(packageName, 0, userId)
+        Preference(context).apply {
+            icon = iconDrawableFactory.getBadgedIcon(app)
+            title = app.loadLabel(packageManager)
+            isSelectable = false
+        }
+    } catch (e: PackageManager.NameNotFoundException) {
+        null
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/BillingCycleRepository.kt b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
new file mode 100644
index 0000000..bd6aa27
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/BillingCycleRepository.kt
@@ -0,0 +1,55 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.os.INetworkManagementService
+import android.os.ServiceManager
+import android.telephony.TelephonyManager
+import android.util.Log
+import androidx.annotation.OpenForTesting
+import com.android.settingslib.spaprivileged.framework.common.userManager
+
+@OpenForTesting
+open class BillingCycleRepository @JvmOverloads constructor(
+    context: Context,
+    private val networkService: INetworkManagementService =
+        INetworkManagementService.Stub.asInterface(
+            ServiceManager.getService(Context.NETWORKMANAGEMENT_SERVICE)
+        ),
+) {
+    private val userManager = context.userManager
+    private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+
+    fun isModifiable(subId: Int): Boolean =
+        isBandwidthControlEnabled() && userManager.isAdminUser && isDataEnabled(subId)
+
+    open fun isBandwidthControlEnabled(): Boolean = try {
+        networkService.isBandwidthControlEnabled
+    } catch (e: Exception) {
+        Log.w(TAG, "problem talking with INetworkManagementService: ", e)
+        false
+    }
+
+    private fun isDataEnabled(subId: Int): Boolean =
+        telephonyManager.createForSubscriptionId(subId)
+            .isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
+
+    companion object {
+        private const val TAG = "BillingCycleRepository"
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/DataUsageLib.java b/src/com/android/settings/datausage/lib/DataUsageLib.java
deleted file mode 100644
index b3f7e79..0000000
--- a/src/com/android/settings/datausage/lib/DataUsageLib.java
+++ /dev/null
@@ -1,115 +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.datausage.lib;
-
-import android.content.Context;
-import android.net.NetworkStats;
-import android.net.NetworkTemplate;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.ArraySet;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-
-import com.android.internal.util.ArrayUtils;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Lib class for data usage
- */
-public class DataUsageLib {
-    private static final String TAG = "DataUsageLib";
-
-    /**
-     * Return mobile NetworkTemplate based on {@code subId}
-     */
-    public static NetworkTemplate getMobileTemplate(Context context, int subId) {
-        final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class);
-        final int mobileDefaultSubId = telephonyManager.getSubscriptionId();
-
-        final SubscriptionManager subscriptionManager =
-                context.getSystemService(SubscriptionManager.class);
-        final List<SubscriptionInfo> subInfoList =
-                subscriptionManager.getAvailableSubscriptionInfoList();
-        if (subInfoList == null) {
-            Log.i(TAG, "Subscription is not inited: " + subId);
-            return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId);
-        }
-
-        for (SubscriptionInfo subInfo : subInfoList) {
-            if ((subInfo != null) && (subInfo.getSubscriptionId() == subId)) {
-                return getNormalizedMobileTemplate(telephonyManager, subId);
-            }
-        }
-        Log.i(TAG, "Subscription is not active: " + subId);
-        return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId);
-    }
-
-    private static NetworkTemplate getNormalizedMobileTemplate(
-            TelephonyManager telephonyManager, int subId) {
-        final NetworkTemplate mobileTemplate = getMobileTemplateForSubId(telephonyManager, subId);
-        final String[] mergedSubscriberIds = telephonyManager
-                .createForSubscriptionId(subId).getMergedImsisFromGroup();
-        if (ArrayUtils.isEmpty(mergedSubscriberIds)) {
-            Log.i(TAG, "mergedSubscriberIds is null.");
-            return mobileTemplate;
-        }
-
-        return normalizeMobileTemplate(mobileTemplate, mergedSubscriberIds);
-    }
-
-    private static NetworkTemplate normalizeMobileTemplate(
-            @NonNull NetworkTemplate template, @NonNull String[] merged) {
-        if (template.getSubscriberIds().isEmpty()) return template;
-        // The input template should have at most 1 subscriberId.
-        final String subscriberId = template.getSubscriberIds().iterator().next();
-        // In some rare cases (e.g. b/243015487), merged subscriberId list might contain
-        // duplicated items. Deduplication for better error handling.
-        final ArraySet mergedSet = new ArraySet(merged);
-        if (mergedSet.size() != merged.length) {
-            Log.wtf(TAG, "Duplicated merged list detected: " + Arrays.toString(merged));
-        }
-        if (mergedSet.contains(subscriberId)) {
-            // Requested template subscriber is part of the merge group; return
-            // a template that matches all merged subscribers.
-            return new NetworkTemplate.Builder(template.getMatchRule())
-                    .setSubscriberIds(mergedSet)
-                    .setMeteredness(template.getMeteredness()).build();
-        }
-
-        return template;
-    }
-
-    public static NetworkTemplate getMobileTemplateForSubId(
-            TelephonyManager telephonyManager, int subId) {
-        // Create template that matches any mobile network when the subscriberId is null.
-        String subscriberId = telephonyManager.getSubscriberId(subId);
-        return subscriberId != null
-                ? new NetworkTemplate.Builder(NetworkTemplate.MATCH_CARRIER)
-                .setSubscriberIds(Set.of(subscriberId))
-                .setMeteredness(NetworkStats.METERED_YES)
-                .build()
-                : new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
-                        .setMeteredness(NetworkStats.METERED_YES)
-                        .build();
-    }
-}
diff --git a/src/com/android/settings/datausage/lib/DataUsageLib.kt b/src/com/android/settings/datausage/lib/DataUsageLib.kt
new file mode 100644
index 0000000..9e94aba
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/DataUsageLib.kt
@@ -0,0 +1,99 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkStats
+import android.net.NetworkTemplate
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.util.Log
+
+/**
+ * Lib class for data usage
+ */
+object DataUsageLib {
+    private const val TAG = "DataUsageLib"
+
+    /**
+     * Return mobile NetworkTemplate based on `subId`
+     */
+    @JvmStatic
+    fun getMobileTemplate(context: Context, subId: Int): NetworkTemplate {
+        val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+        val mobileDefaultSubId = telephonyManager.subscriptionId
+        val subscriptionManager = context.getSystemService(SubscriptionManager::class.java)!!
+        val subInfoList = subscriptionManager.availableSubscriptionInfoList
+        if (subInfoList == null) {
+            Log.i(TAG, "Subscription is not inited: $subId")
+            return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId)
+        }
+        for (subInfo in subInfoList) {
+            if (subInfo?.subscriptionId == subId) {
+                return getNormalizedMobileTemplate(telephonyManager, subId)
+            }
+        }
+        Log.i(TAG, "Subscription is not active: $subId")
+        return getMobileTemplateForSubId(telephonyManager, mobileDefaultSubId)
+    }
+
+    private fun getNormalizedMobileTemplate(
+        telephonyManager: TelephonyManager,
+        subId: Int,
+    ): NetworkTemplate {
+        val mobileTemplate = getMobileTemplateForSubId(telephonyManager, subId)
+        val mergedSubscriberIds =
+            telephonyManager.createForSubscriptionId(subId).mergedImsisFromGroup
+        if (mergedSubscriberIds.isNullOrEmpty()) {
+            Log.i(TAG, "mergedSubscriberIds is empty.")
+            return mobileTemplate
+        }
+        return normalizeMobileTemplate(mobileTemplate, mergedSubscriberIds)
+    }
+
+    private fun normalizeMobileTemplate(
+        template: NetworkTemplate,
+        merged: Array<String?>,
+    ): NetworkTemplate {
+        val subscriberId = template.subscriberIds.firstOrNull() ?: return template
+        // In some rare cases (e.g. b/243015487), merged subscriberId list might contain
+        // duplicated items. Deduplication for better error handling.
+        val mergedSet = merged.toSet()
+        if (mergedSet.size != merged.size) {
+            Log.wtf(TAG, "Duplicated merged list detected: " + merged.contentToString())
+        }
+        return if (mergedSet.contains(subscriberId)) {
+            // Requested template subscriber is part of the merge group; return
+            // a template that matches all merged subscribers.
+            NetworkTemplate.Builder(template.matchRule)
+                .setSubscriberIds(mergedSet)
+                .setMeteredness(template.meteredness)
+                .build()
+        } else template
+    }
+
+    @JvmStatic
+    fun getMobileTemplateForSubId(telephonyManager: TelephonyManager, subId: Int): NetworkTemplate {
+        // Create template that matches any mobile network when the subscriberId is null.
+        val subscriberId = telephonyManager.getSubscriberId(subId)
+        return when (subscriberId) {
+            null -> NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
+            else -> NetworkTemplate.Builder(NetworkTemplate.MATCH_CARRIER)
+                .setSubscriberIds(setOf(subscriberId))
+        }.setMeteredness(NetworkStats.METERED_YES).build()
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkCycleBucketRepository.kt b/src/com/android/settings/datausage/lib/NetworkCycleBucketRepository.kt
new file mode 100644
index 0000000..7e3e183
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkCycleBucketRepository.kt
@@ -0,0 +1,67 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkTemplate
+import android.text.format.DateUtils
+import android.util.Range
+import com.android.settings.datausage.lib.NetworkCycleDataRepository.Companion.bucketRange
+import com.android.settings.datausage.lib.NetworkCycleDataRepository.Companion.getCycles
+import com.android.settings.datausage.lib.NetworkCycleDataRepository.Companion.reverseBucketRange
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.aggregate
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.filterTime
+
+class NetworkCycleBucketRepository(
+    context: Context,
+    networkTemplate: NetworkTemplate,
+    private val buckets: List<Bucket>,
+    private val networkCycleDataRepository: NetworkCycleDataRepository =
+        NetworkCycleDataRepository(context, networkTemplate)
+) {
+
+    fun loadCycles(): List<NetworkUsageData> =
+        getCycles().map { aggregateUsage(it) }.filter { it.usage > 0 }
+
+    private fun getCycles(): List<Range<Long>> =
+        networkCycleDataRepository.getPolicy()?.getCycles() ?: queryCyclesAsFourWeeks()
+
+    private fun queryCyclesAsFourWeeks(): List<Range<Long>> {
+        val timeRange = buckets.aggregate()?.timeRange ?: return emptyList()
+        return reverseBucketRange(
+            startTime = timeRange.lower,
+            endTime = timeRange.upper,
+            step = DateUtils.WEEK_IN_MILLIS * 4,
+        )
+    }
+
+    fun queryChartData(usageData: NetworkUsageData) = NetworkCycleChartData(
+        total = usageData,
+        dailyUsage = bucketRange(
+            startTime = usageData.startTime,
+            endTime = usageData.endTime,
+            step = NetworkCycleChartData.BUCKET_DURATION.inWholeMilliseconds,
+        ).map { aggregateUsage(it) },
+    )
+
+    private fun aggregateUsage(range: Range<Long>) = NetworkUsageData(
+        startTime = range.lower,
+        endTime = range.upper,
+        usage = buckets.filterTime(range.lower, range.upper).aggregate()?.usage ?: 0,
+    )
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkCycleChartData.kt b/src/com/android/settings/datausage/lib/NetworkCycleChartData.kt
new file mode 100644
index 0000000..fd3c504
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkCycleChartData.kt
@@ -0,0 +1,31 @@
+/*
+ * 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.datausage.lib
+
+import kotlin.time.Duration.Companion.days
+
+/**
+ * Usage data in a billing cycle with daily data for plotting the usage chart.
+ */
+data class NetworkCycleChartData(
+    val total: NetworkUsageData,
+    val dailyUsage: List<NetworkUsageData>,
+) {
+    companion object {
+        val BUCKET_DURATION = 1.days
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkCycleDataRepository.kt b/src/com/android/settings/datausage/lib/NetworkCycleDataRepository.kt
new file mode 100644
index 0000000..31052ef
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkCycleDataRepository.kt
@@ -0,0 +1,81 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkPolicy
+import android.net.NetworkPolicyManager
+import android.net.NetworkTemplate
+import android.text.format.DateUtils
+import android.util.Range
+import com.android.settingslib.NetworkPolicyEditor
+
+interface INetworkCycleDataRepository {
+    fun getCycles(): List<Range<Long>>
+    fun getPolicy(): NetworkPolicy?
+    fun queryUsage(range: Range<Long>): NetworkUsageData
+}
+
+class NetworkCycleDataRepository(
+    context: Context,
+    private val networkTemplate: NetworkTemplate,
+    private val networkStatsRepository: NetworkStatsRepository =
+        NetworkStatsRepository(context, networkTemplate),
+) : INetworkCycleDataRepository {
+
+    private val policyManager = context.getSystemService(NetworkPolicyManager::class.java)!!
+
+    fun loadFirstCycle(): NetworkUsageData? = getCycles().firstOrNull()?.let { queryUsage(it) }
+
+    override fun getCycles(): List<Range<Long>> =
+        getPolicy()?.getCycles() ?: queryCyclesAsFourWeeks()
+
+    private fun queryCyclesAsFourWeeks(): List<Range<Long>> {
+        val timeRange = networkStatsRepository.getTimeRange() ?: return emptyList()
+        return reverseBucketRange(
+            startTime = timeRange.lower,
+            endTime = timeRange.upper,
+            step = DateUtils.WEEK_IN_MILLIS * 4,
+        )
+    }
+
+    override fun getPolicy(): NetworkPolicy? =
+        with(NetworkPolicyEditor(policyManager)) {
+            read()
+            getPolicy(networkTemplate)
+        }
+
+
+    override fun queryUsage(range: Range<Long>) = NetworkUsageData(
+        startTime = range.lower,
+        endTime = range.upper,
+        usage = networkStatsRepository.querySummaryForDevice(range.lower, range.upper),
+    )
+
+    companion object {
+        fun NetworkPolicy.getCycles() = cycleIterator().asSequence().map {
+            Range(it.lower.toInstant().toEpochMilli(), it.upper.toInstant().toEpochMilli())
+        }.toList()
+
+        fun bucketRange(startTime: Long, endTime: Long, step: Long): List<Range<Long>> =
+            (startTime..endTime step step).zipWithNext(::Range)
+
+        fun reverseBucketRange(startTime: Long, endTime: Long, step: Long): List<Range<Long>> =
+            (endTime downTo (startTime - step + 1) step step)
+                .zipWithNext { bucketEnd, bucketStart -> Range(bucketStart, bucketEnd) }
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt b/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt
new file mode 100644
index 0000000..56b1931
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkStatsRepository.kt
@@ -0,0 +1,110 @@
+/*
+ * 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.datausage.lib
+
+import android.app.usage.NetworkStats
+import android.app.usage.NetworkStatsManager
+import android.content.Context
+import android.net.NetworkTemplate
+import android.util.Log
+import android.util.Range
+
+class NetworkStatsRepository(context: Context, private val template: NetworkTemplate) {
+    private val networkStatsManager = context.getSystemService(NetworkStatsManager::class.java)!!
+
+    fun queryAggregateForUid(
+        range: Range<Long>,
+        uid: Int,
+        state: Int = NetworkStats.Bucket.STATE_ALL,
+    ): NetworkUsageData? = try {
+        networkStatsManager.queryDetailsForUidTagState(
+            template, range.lower, range.upper, uid, NetworkStats.Bucket.TAG_NONE, state,
+        ).convertToBuckets().aggregate()
+    } catch (e: Exception) {
+        Log.e(TAG, "Exception queryDetailsForUidTagState", e)
+        null
+    }
+
+    fun queryDetailsForDevice(): List<Bucket> = try {
+        networkStatsManager.queryDetailsForDevice(template, Long.MIN_VALUE, Long.MAX_VALUE)
+            .convertToBuckets()
+    } catch (e: Exception) {
+        Log.e(TAG, "Exception queryDetailsForDevice", e)
+        emptyList()
+    }
+
+    fun getTimeRange(): Range<Long>? = queryDetailsForDevice().aggregate()?.timeRange
+
+    fun querySummaryForDevice(startTime: Long, endTime: Long): Long = try {
+        networkStatsManager.querySummaryForDevice(template, startTime, endTime).bytes
+    } catch (e: Exception) {
+        Log.e(TAG, "Exception querySummaryForDevice", e)
+        0
+    }
+
+    fun queryBuckets(startTime: Long, endTime: Long): List<Bucket> = try {
+        networkStatsManager.querySummary(template, startTime, endTime).convertToBuckets()
+    } catch (e: Exception) {
+        Log.e(TAG, "Exception querySummary", e)
+        emptyList()
+    }
+
+    companion object {
+        private const val TAG = "NetworkStatsRepository"
+
+        val AllTimeRange = Range(Long.MIN_VALUE, Long.MAX_VALUE)
+
+        data class Bucket(
+            val uid: Int,
+            val bytes: Long,
+            val state: Int = NetworkStats.Bucket.STATE_ALL,
+            val startTimeStamp: Long,
+            val endTimeStamp: Long,
+        )
+
+        fun List<Bucket>.aggregate(): NetworkUsageData? = when {
+            isEmpty() -> null
+            else -> NetworkUsageData(
+                startTime = minOf { it.startTimeStamp },
+                endTime = maxOf { it.endTimeStamp },
+                usage = sumOf { it.bytes },
+            )
+        }
+
+        fun List<Bucket>.filterTime(startTime: Long, endTime: Long): List<Bucket> = filter {
+            it.startTimeStamp >= startTime && it.endTimeStamp <= endTime
+        }
+
+        private fun NetworkStats.convertToBuckets(): List<Bucket> = use {
+            val buckets = mutableListOf<Bucket>()
+            val bucket = NetworkStats.Bucket()
+            while (getNextBucket(bucket)) {
+                buckets += Bucket(
+                    uid = bucket.uid,
+                    bytes = bucket.bytes,
+                    state = bucket.state,
+                    startTimeStamp = bucket.startTimeStamp,
+                    endTimeStamp = bucket.endTimeStamp,
+                )
+            }
+            buckets
+        }
+
+        private val NetworkStats.Bucket.bytes: Long
+            get() = rxBytes + txBytes
+    }
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkTemplates.kt b/src/com/android/settings/datausage/lib/NetworkTemplates.kt
new file mode 100644
index 0000000..9020070
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkTemplates.kt
@@ -0,0 +1,56 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkTemplate
+import android.telephony.SubscriptionManager
+import androidx.annotation.StringRes
+import com.android.settings.R
+import com.android.settings.datausage.DataUsageUtils
+
+interface INetworkTemplates {
+    /**
+     * Returns the default network template based on the availability of mobile data, Wifi. Returns
+     * ethernet template if both mobile data and Wifi are not available.
+     */
+    fun getDefaultTemplate(context: Context): NetworkTemplate
+}
+
+object NetworkTemplates : INetworkTemplates {
+    @JvmStatic
+    @StringRes
+    fun NetworkTemplate.getTitleResId(): Int =
+        when (matchRule) {
+            NetworkTemplate.MATCH_MOBILE,
+            NetworkTemplate.MATCH_CARRIER -> R.string.cellular_data_usage
+
+            NetworkTemplate.MATCH_WIFI -> R.string.wifi_data_usage
+            NetworkTemplate.MATCH_ETHERNET -> R.string.ethernet_data_usage
+            else -> R.string.data_usage_app_summary_title
+        }
+
+    /**
+     * Returns the default network template based on the availability of mobile data, Wifi. Returns
+     * ethernet template if both mobile data and Wifi are not available.
+     */
+    override fun getDefaultTemplate(context: Context): NetworkTemplate =
+        DataUsageUtils.getDefaultTemplate(
+            context,
+            SubscriptionManager.getDefaultDataSubscriptionId(),
+        )
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkUsageData.kt b/src/com/android/settings/datausage/lib/NetworkUsageData.kt
new file mode 100644
index 0000000..f9d83d5
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkUsageData.kt
@@ -0,0 +1,64 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.text.format.DateUtils
+import android.util.Range
+import com.android.settings.R
+import com.android.settings.datausage.DataUsageUtils
+
+/**
+ * Base data structure representing usage data in a period.
+ */
+data class NetworkUsageData(
+    val startTime: Long,
+    val endTime: Long,
+    val usage: Long,
+) {
+    val timeRange = Range(startTime, endTime)
+
+    fun formatStartDate(context: Context): String =
+        DateUtils.formatDateTime(context, startTime, DATE_FORMAT)
+
+    fun formatDateRange(context: Context): String =
+        DateUtils.formatDateRange(context, startTime, endTime, DATE_FORMAT)
+
+    fun formatUsage(context: Context): CharSequence = DataUsageUtils.formatDataUsage(context, usage)
+
+    fun getDataUsedString(context: Context): String =
+        context.getString(R.string.data_used_template, formatUsage(context))
+
+    companion object {
+        val AllZero = NetworkUsageData(
+            startTime = 0L,
+            endTime = 0L,
+            usage = 0L,
+        )
+
+        private const val DATE_FORMAT = DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_ABBREV_MONTH
+    }
+}
+
+fun List<NetworkUsageData>.aggregate(): NetworkUsageData? = when {
+    isEmpty() -> null
+    else -> NetworkUsageData(
+        startTime = minOf { it.startTime },
+        endTime = maxOf { it.endTime },
+        usage = sumOf { it.usage },
+    )
+}
diff --git a/src/com/android/settings/datausage/lib/NetworkUsageDetailsData.kt b/src/com/android/settings/datausage/lib/NetworkUsageDetailsData.kt
new file mode 100644
index 0000000..19ff81c
--- /dev/null
+++ b/src/com/android/settings/datausage/lib/NetworkUsageDetailsData.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.datausage.lib
+
+import android.util.Range
+
+/**
+ * Details data structure representing usage data in a period.
+ */
+data class NetworkUsageDetailsData(
+    val range: Range<Long>,
+    val totalUsage: Long,
+    val foregroundUsage: Long,
+    val backgroundUsage: Long,
+) {
+    companion object {
+        val AllZero = NetworkUsageDetailsData(
+            range = Range(0, 0),
+            totalUsage = 0,
+            foregroundUsage = 0,
+            backgroundUsage = 0,
+        )
+    }
+}
diff --git a/src/com/android/settings/datetime/AutoTimeFormatPreferenceController.java b/src/com/android/settings/datetime/AutoTimeFormatPreferenceController.java
index 7b7e064..44e7cc6 100644
--- a/src/com/android/settings/datetime/AutoTimeFormatPreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeFormatPreferenceController.java
@@ -19,54 +19,33 @@
 import android.content.Context;
 import android.provider.Settings;
 import android.provider.Settings.System;
-import android.text.TextUtils;
 import android.text.format.DateFormat;
 
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-import androidx.preference.TwoStatePreference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
 
 import java.util.Locale;
 
-public class AutoTimeFormatPreferenceController extends AbstractPreferenceController
-          implements PreferenceControllerMixin {
+public class AutoTimeFormatPreferenceController extends TogglePreferenceController {
 
-    private static final String KEY_AUTO_24_HOUR = "auto_24hour";
-
-    public AutoTimeFormatPreferenceController(Context context, UpdateTimeAndDateCallback callback) {
-        super(context);
+    public AutoTimeFormatPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_AUTO_24_HOUR;
+    public boolean isChecked() {
+        return isAutoTimeFormatSelection(mContext);
     }
 
     @Override
-    public void updateState(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
-            return;
-        }
-        ((SwitchPreference) preference).setChecked(isAutoTimeFormatSelection(mContext));
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!(preference instanceof TwoStatePreference)
-            || !TextUtils.equals(KEY_AUTO_24_HOUR, preference.getKey())) {
-            return false;
-        }
-        boolean auto24HourEnabled = ((SwitchPreference) preference).isChecked();
+    public boolean setChecked(boolean isChecked) {
         Boolean is24Hour;
-        if (auto24HourEnabled) {
+        if (isChecked) {
             is24Hour = null;
         } else {
             is24Hour = is24HourLocale(mContext.getResources().getConfiguration().locale);
@@ -75,6 +54,11 @@
         return true;
     }
 
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_system;
+    }
+
     boolean is24HourLocale(Locale locale) {
         return DateFormat.is24HourLocale(locale);
     }
diff --git a/src/com/android/settings/datetime/AutoTimePreferenceController.java b/src/com/android/settings/datetime/AutoTimePreferenceController.java
index 2b158e0..434eba9 100644
--- a/src/com/android/settings/datetime/AutoTimePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimePreferenceController.java
@@ -27,28 +27,26 @@
 import android.app.time.TimeManager;
 import android.content.Context;
 
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
 
-public class AutoTimePreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+public class AutoTimePreferenceController extends TogglePreferenceController {
 
-    private static final String KEY_AUTO_TIME = "auto_time";
-    private final UpdateTimeAndDateCallback mCallback;
+    private UpdateTimeAndDateCallback mCallback;
     private final TimeManager mTimeManager;
 
-    public AutoTimePreferenceController(Context context, UpdateTimeAndDateCallback callback) {
-        super(context);
+    public AutoTimePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
+    }
+
+    public void setDateAndTimeCallback(UpdateTimeAndDateCallback callback) {
         mCallback = callback;
     }
 
     @Override
-    public boolean isAvailable() {
+    public int getAvailabilityStatus() {
         TimeCapabilities timeCapabilities =
                 getTimeCapabilitiesAndConfig().getCapabilities();
         int capability = timeCapabilities.getConfigureAutoDetectionEnabledCapability();
@@ -57,43 +55,31 @@
         // This method handles the "is visible?" check.
         switch (capability) {
             case CAPABILITY_NOT_SUPPORTED:
-                return false;
+                return DISABLED_DEPENDENT_SETTING;
             case CAPABILITY_POSSESSED:
-                return true;
             case CAPABILITY_NOT_ALLOWED:
                 // This case is expected for enterprise restrictions, where the toggle should be
                 // present but disabled. Disabling is handled declaratively via the
                 // settings:userRestriction attribute in .xml. The client-side logic is expected to
                 // concur with the capabilities logic in the system server.
-                return true;
             case CAPABILITY_NOT_APPLICABLE:
                 // CAPABILITY_NOT_APPLICABLE is not currently expected, so this is return value is
                 // arbitrary.
-                return true;
+                return AVAILABLE;
             default:
                 throw new IllegalStateException("Unknown capability=" + capability);
         }
     }
 
     @Override
-    public void updateState(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
-            return;
-        }
-
-        ((SwitchPreference) preference).setChecked(isEnabled());
+    public boolean isChecked() {
+        return isEnabled();
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_AUTO_TIME;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        boolean autoTimeEnabled = (Boolean) newValue;
+    public boolean setChecked(boolean isChecked) {
         TimeConfiguration configuration = new TimeConfiguration.Builder()
-                .setAutoDetectionEnabled(autoTimeEnabled)
+                .setAutoDetectionEnabled(isChecked)
                 .build();
         boolean result = mTimeManager.updateTimeConfiguration(configuration);
 
@@ -101,6 +87,11 @@
         return result;
     }
 
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_system;
+    }
+
     /** Returns whether the preference should be "checked", i.e. set to the "on" position. */
     @VisibleForTesting
     public boolean isEnabled() {
diff --git a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
index 7d1c1b6..011cc97 100644
--- a/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/AutoTimeZonePreferenceController.java
@@ -27,36 +27,42 @@
 import android.app.time.TimeZoneConfiguration;
 import android.content.Context;
 
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.core.TogglePreferenceController;
 
-public class AutoTimeZonePreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+public class AutoTimeZonePreferenceController extends TogglePreferenceController {
 
-    private static final String KEY_AUTO_TIME_ZONE = "auto_zone";
-
-    private final boolean mIsFromSUW;
-    private final UpdateTimeAndDateCallback mCallback;
+    private boolean mIsFromSUW;
+    private UpdateTimeAndDateCallback mCallback;
     private final TimeManager mTimeManager;
 
-    public AutoTimeZonePreferenceController(Context context, UpdateTimeAndDateCallback callback,
-            boolean isFromSUW) {
-        super(context);
+    public AutoTimeZonePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
+    }
+
+    /**
+     * Set the Time and Date callback
+     */
+    public AutoTimeZonePreferenceController setTimeAndDateCallback(
+            UpdateTimeAndDateCallback callback) {
         mCallback = callback;
+        return this;
+    }
+
+    /**
+     * Set if current fragment is launched via SUW
+     */
+    public AutoTimeZonePreferenceController setFromSUW(boolean isFromSUW) {
         mIsFromSUW = isFromSUW;
+        return this;
     }
 
     @Override
-    public boolean isAvailable() {
+    public int getAvailabilityStatus() {
         if (mIsFromSUW) {
-            return false;
+            return DISABLED_DEPENDENT_SETTING;
         }
 
         TimeZoneCapabilities timeZoneCapabilities =
@@ -67,43 +73,31 @@
         // This method handles the "is visible?" check.
         switch (capability) {
             case CAPABILITY_NOT_SUPPORTED:
-                return false;
+                return DISABLED_DEPENDENT_SETTING;
             case CAPABILITY_POSSESSED:
-                return true;
             case CAPABILITY_NOT_ALLOWED:
                 // This case is expected for enterprise restrictions, where the toggle should be
                 // present but disabled. Disabling is handled declaratively via the
                 // settings:userRestriction attribute in .xml. The client-side logic is expected to
                 // concur with the capabilities logic in the system server.
-                return true;
             case CAPABILITY_NOT_APPLICABLE:
                 // CAPABILITY_NOT_APPLICABLE is not currently expected, so this is return value is
                 // arbitrary.
-                return true;
+                return AVAILABLE;
             default:
                 throw new IllegalStateException("Unknown capability=" + capability);
         }
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_AUTO_TIME_ZONE;
+    public boolean isChecked() {
+        return isEnabled();
     }
 
     @Override
-    public void updateState(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
-            return;
-        }
-
-        ((SwitchPreference) preference).setChecked(isEnabled());
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        boolean autoZoneEnabled = (Boolean) newValue;
+    public boolean setChecked(boolean isChecked) {
         TimeZoneConfiguration configuration = new TimeZoneConfiguration.Builder()
-                .setAutoDetectionEnabled(autoZoneEnabled)
+                .setAutoDetectionEnabled(isChecked)
                 .build();
         boolean result = mTimeManager.updateTimeZoneConfiguration(configuration);
 
@@ -112,6 +106,11 @@
     }
 
     @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_system;
+    }
+
+    @Override
     public CharSequence getSummary() {
         // If auto time zone cannot enable telephony fallback and is capable of location, then auto
         // time zone must use location.
@@ -124,12 +123,6 @@
         return "";
     }
 
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        refreshSummary(screen.findPreference(getPreferenceKey()));
-    }
-
     @VisibleForTesting
     boolean isEnabled() {
         TimeZoneConfiguration config = getTimeZoneCapabilitiesAndConfig().getConfiguration();
diff --git a/src/com/android/settings/datetime/DatePreferenceController.java b/src/com/android/settings/datetime/DatePreferenceController.java
index eef5526..02aba6e 100644
--- a/src/com/android/settings/datetime/DatePreferenceController.java
+++ b/src/com/android/settings/datetime/DatePreferenceController.java
@@ -33,14 +33,12 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.core.BasePreferenceController;
 
 import java.util.Calendar;
 
-public class DatePreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, DatePickerDialog.OnDateSetListener {
+public class DatePreferenceController extends BasePreferenceController
+        implements DatePickerDialog.OnDateSetListener {
 
     public interface DatePreferenceHost extends UpdateTimeAndDateCallback {
         void showDatePicker();
@@ -49,38 +47,39 @@
     public static final int DIALOG_DATEPICKER = 0;
 
     private static final String TAG = "DatePreferenceController";
-    private static final String KEY_DATE = "date";
 
-    private final DatePreferenceHost mHost;
+    private DatePreferenceHost mHost;
     private final TimeManager mTimeManager;
 
-    public DatePreferenceController(Context context, DatePreferenceHost host) {
-        super(context);
-        mHost = host;
+    public DatePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
     }
 
+    public void setHost(DatePreferenceHost host) {
+        mHost = host;
+    }
+
     @Override
-    public boolean isAvailable() {
-        return true;
+    public int getAvailabilityStatus() {
+        return isEnabled() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
     }
 
     @Override
     public void updateState(Preference preference) {
-        if (!(preference instanceof RestrictedPreference)) {
-            return;
-        }
-        final Calendar now = Calendar.getInstance();
-        preference.setSummary(DateFormat.getLongDateFormat(mContext).format(now.getTime()));
-        if (!((RestrictedPreference) preference).isDisabledByAdmin()) {
-            boolean enableManualDateSelection = isEnabled();
-            preference.setEnabled(enableManualDateSelection);
-        }
+        super.updateState(preference);
+        preference.setEnabled(isEnabled());
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        Calendar now = Calendar.getInstance();
+        return DateFormat.getLongDateFormat(mContext).format(now.getTime());
     }
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!TextUtils.equals(preference.getKey(), KEY_DATE)) {
+        if (!TextUtils.equals(getPreferenceKey(), preference.getKey())) {
             return false;
         }
         mHost.showDatePicker();
@@ -88,11 +87,6 @@
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_DATE;
-    }
-
-    @Override
     public void onDateSet(DatePicker view, int year, int month, int day) {
         setDate(year, month, day);
         mHost.updateTimeAndDateDisplay(mContext);
diff --git a/src/com/android/settings/datetime/DateTimeSettings.java b/src/com/android/settings/datetime/DateTimeSettings.java
index 367146b..fb1dd19 100644
--- a/src/com/android/settings/datetime/DateTimeSettings.java
+++ b/src/com/android/settings/datetime/DateTimeSettings.java
@@ -16,21 +16,17 @@
 
 package com.android.settings.datetime;
 
-import android.app.Activity;
 import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.app.timedetector.TimeDetectorHelper;
 import android.content.Context;
-import android.content.Intent;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.ArrayList;
-import java.util.List;
+import com.google.android.setupcompat.util.WizardManagerHelper;
 
 @SearchIndexable
 public class DateTimeSettings extends DashboardFragment implements
@@ -59,40 +55,19 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
+        boolean isFromSUW = WizardManagerHelper.isAnySetupWizard(getIntent());
         getSettingsLifecycle().addObserver(new TimeChangeListenerMixin(context, this));
         use(LocationTimeZoneDetectionPreferenceController.class).setFragment(this);
-    }
+        use(AutoTimePreferenceController.class).setDateAndTimeCallback(this);
+        use(DatePreferenceController.class).setHost(this);
+        use(TimePreferenceController.class).setHost(this);
+        use(AutoTimeZonePreferenceController.class)
+                .setTimeAndDateCallback(this)
+                .setFromSUW(isFromSUW);
+        use(TimeFormatPreferenceController.class)
+                .setTimeAndDateCallback(this)
+                .setFromSUW(isFromSUW);
 
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        final Activity activity = getActivity();
-        final Intent intent = activity.getIntent();
-        final boolean isFromSUW = intent.getBooleanExtra(EXTRA_IS_FROM_SUW, false);
-
-        final AutoTimePreferenceController autoTimePreferenceController =
-                new AutoTimePreferenceController(
-                        activity, this /* UpdateTimeAndDateCallback */);
-        controllers.add(autoTimePreferenceController);
-        DatePreferenceController datePreferenceController = new DatePreferenceController(
-                activity, this /* UpdateTimeAndDateCallback */);
-        controllers.add(datePreferenceController);
-        controllers.add(new TimePreferenceController(
-                activity, this /* UpdateTimeAndDateCallback */, datePreferenceController));
-
-        final AutoTimeZonePreferenceController autoTimeZonePreferenceController =
-                new AutoTimeZonePreferenceController(
-                        activity, this /* UpdateTimeAndDateCallback */, isFromSUW);
-        controllers.add(autoTimeZonePreferenceController);
-        controllers.add(new TimeZonePreferenceController(activity));
-
-        final AutoTimeFormatPreferenceController autoTimeFormatPreferenceController =
-                new AutoTimeFormatPreferenceController(
-                        activity, this /* UpdateTimeAndDateCallback */);
-        controllers.add(autoTimeFormatPreferenceController);
-        controllers.add(new TimeFormatPreferenceController(
-                activity, this /* UpdateTimeAndDateCallback */, isFromSUW));
-        return controllers;
     }
 
     @Override
diff --git a/src/com/android/settings/datetime/TimeFormatPreferenceController.java b/src/com/android/settings/datetime/TimeFormatPreferenceController.java
index 900ec7a..22f7509 100644
--- a/src/com/android/settings/datetime/TimeFormatPreferenceController.java
+++ b/src/com/android/settings/datetime/TimeFormatPreferenceController.java
@@ -19,78 +19,93 @@
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
-import android.text.TextUtils;
 import android.text.format.DateFormat;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-import androidx.preference.TwoStatePreference;
 
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
 
 import java.util.Calendar;
 import java.util.Date;
 
-public class TimeFormatPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
+public class TimeFormatPreferenceController extends TogglePreferenceController {
 
     static final String HOURS_12 = "12";
     static final String HOURS_24 = "24";
 
-    private static final String KEY_TIME_FORMAT = "24 hour";
-
     // Used for showing the current date format, which looks like "12/31/2010", "2010/12/13", etc.
     // The date value is stubs (independent of actual date).
     private final Calendar mDummyDate;
-    private final boolean mIsFromSUW;
-    private final UpdateTimeAndDateCallback mUpdateTimeAndDateCallback;
+    private boolean mIsFromSUW;
+    private UpdateTimeAndDateCallback mUpdateTimeAndDateCallback;
 
-    public TimeFormatPreferenceController(Context context, UpdateTimeAndDateCallback callback,
-            boolean isFromSUW) {
-        super(context);
-        mIsFromSUW = isFromSUW;
+    public TimeFormatPreferenceController(Context context, String key) {
+        super(context, key);
         mDummyDate = Calendar.getInstance();
+    }
+
+    /**
+     * Set the Time and Date callback
+     */
+    public TimeFormatPreferenceController setTimeAndDateCallback(
+            UpdateTimeAndDateCallback callback) {
         mUpdateTimeAndDateCallback = callback;
+        return this;
+    }
+
+    /**
+     * Set if current fragment is launched via SUW
+     */
+    public TimeFormatPreferenceController setFromSUW(boolean isFromSUW) {
+        mIsFromSUW = isFromSUW;
+        return this;
     }
 
     @Override
-    public boolean isAvailable() {
-        return !mIsFromSUW;
+    public int getAvailabilityStatus() {
+        if (mIsFromSUW) {
+            return DISABLED_DEPENDENT_SETTING;
+        }
+        if (AutoTimeFormatPreferenceController.isAutoTimeFormatSelection(mContext)) {
+            return DISABLED_DEPENDENT_SETTING;
+        }
+        return AVAILABLE;
     }
 
     @Override
     public void updateState(Preference preference) {
-        if (!(preference instanceof TwoStatePreference)) {
-            return;
-        }
-        preference.setEnabled(
-            !AutoTimeFormatPreferenceController.isAutoTimeFormatSelection(mContext));
-        ((TwoStatePreference) preference).setChecked(is24Hour());
+        super.updateState(preference);
+        preference.setEnabled(getAvailabilityStatus() == AVAILABLE);
+        refreshSummary(preference);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return is24Hour();
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        update24HourFormat(mContext, isChecked);
+        mUpdateTimeAndDateCallback.updateTimeAndDateDisplay(mContext);
+        return true;
+    }
+
+    @Override
+    public CharSequence getSummary() {
         final Calendar now = Calendar.getInstance();
         mDummyDate.setTimeZone(now.getTimeZone());
         // We use December 31st because it's unambiguous when demonstrating the date format.
         // We use 13:00 so we can demonstrate the 12/24 hour options.
         mDummyDate.set(now.get(Calendar.YEAR), 11, 31, 13, 0, 0);
         final Date dummyDate = mDummyDate.getTime();
-        preference.setSummary(DateFormat.getTimeFormat(mContext).format(dummyDate));
+        return DateFormat.getTimeFormat(mContext).format(dummyDate);
     }
 
     @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!(preference instanceof TwoStatePreference)
-                || !TextUtils.equals(KEY_TIME_FORMAT, preference.getKey())) {
-            return false;
-        }
-        final boolean is24Hour = ((SwitchPreference) preference).isChecked();
-        update24HourFormat(mContext, is24Hour);
-        mUpdateTimeAndDateCallback.updateTimeAndDateDisplay(mContext);
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_TIME_FORMAT;
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_system;
     }
 
     private boolean is24Hour() {
diff --git a/src/com/android/settings/datetime/TimePreferenceController.java b/src/com/android/settings/datetime/TimePreferenceController.java
index 09950fc..1923d55 100644
--- a/src/com/android/settings/datetime/TimePreferenceController.java
+++ b/src/com/android/settings/datetime/TimePreferenceController.java
@@ -16,7 +16,11 @@
 
 package com.android.settings.datetime;
 
+import static android.app.time.Capabilities.CAPABILITY_POSSESSED;
+
 import android.app.TimePickerDialog;
+import android.app.time.TimeCapabilities;
+import android.app.time.TimeManager;
 import android.app.timedetector.ManualTimeSuggestion;
 import android.app.timedetector.TimeDetector;
 import android.content.Context;
@@ -27,14 +31,12 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settings.core.BasePreferenceController;
 
 import java.util.Calendar;
 
-public class TimePreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, TimePickerDialog.OnTimeSetListener {
+public class TimePreferenceController extends BasePreferenceController
+        implements TimePickerDialog.OnTimeSetListener {
 
     public interface TimePreferenceHost extends UpdateTimeAndDateCallback {
         void showTimePicker();
@@ -43,41 +45,39 @@
     public static final int DIALOG_TIMEPICKER = 1;
 
     private static final String TAG = "TimePreferenceController";
-    private static final String KEY_TIME = "time";
 
-    private final DatePreferenceController mDatePreferenceController;
-    private final TimePreferenceHost mHost;
+    private TimePreferenceHost mHost;
+    private TimeManager mTimeManager;
 
+    public TimePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mTimeManager = context.getSystemService(TimeManager.class);
+    }
 
-    public TimePreferenceController(Context context,
-            TimePreferenceHost callback,
-            DatePreferenceController datePreferenceController) {
-        super(context);
-        mHost = callback;
-        mDatePreferenceController = datePreferenceController;
+    public void setHost(TimePreferenceHost host) {
+        mHost = host;
     }
 
     @Override
-    public boolean isAvailable() {
-        return true;
+    public int getAvailabilityStatus() {
+        return isEnabled() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
     }
 
     @Override
     public void updateState(Preference preference) {
-        if (!(preference instanceof RestrictedPreference)) {
-            return;
-        }
-        final Calendar now = Calendar.getInstance();
-        preference.setSummary(DateFormat.getTimeFormat(mContext).format(now.getTime()));
-        if (!((RestrictedPreference) preference).isDisabledByAdmin()) {
-            boolean enableManualTimeSelection = mDatePreferenceController.isEnabled();
-            preference.setEnabled(enableManualTimeSelection);
-        }
+        super.updateState(preference);
+        preference.setEnabled(isEnabled());
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        Calendar now = Calendar.getInstance();
+        return DateFormat.getTimeFormat(mContext).format(now.getTime());
     }
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!TextUtils.equals(KEY_TIME, preference.getKey())) {
+        if (!TextUtils.equals(getPreferenceKey(), preference.getKey())) {
             return false;
         }
         mHost.showTimePicker();
@@ -85,11 +85,6 @@
     }
 
     @Override
-    public String getPreferenceKey() {
-        return KEY_TIME;
-    }
-
-    @Override
     public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
         if (mContext != null) {
             setTime(hourOfDay, minute);
@@ -132,4 +127,16 @@
             Log.w(TAG, "Unable to set time with suggestion=" + manualTimeSuggestion);
         }
     }
+
+    /**
+     * Returns whether selecting the preference should prompt for the user to enter the date
+     * manually. Exposed as public so that the time controller can easily share the same logic as
+     * the rules are identical for time.
+     */
+    public boolean isEnabled() {
+        TimeCapabilities timeZoneCapabilities =
+                mTimeManager.getTimeCapabilitiesAndConfig().getCapabilities();
+        int suggestManualTimeCapability = timeZoneCapabilities.getSetManualTimeCapability();
+        return suggestManualTimeCapability == CAPABILITY_POSSESSED;
+    }
 }
diff --git a/src/com/android/settings/datetime/TimeZonePreferenceController.java b/src/com/android/settings/datetime/TimeZonePreferenceController.java
index cb9c38a..d45173f 100644
--- a/src/com/android/settings/datetime/TimeZonePreferenceController.java
+++ b/src/com/android/settings/datetime/TimeZonePreferenceController.java
@@ -25,45 +25,41 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.datetime.ZoneGetter;
 
 import java.util.Calendar;
 
-public class TimeZonePreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String KEY_TIMEZONE = "timezone";
+public class TimeZonePreferenceController extends BasePreferenceController {
 
     private final TimeManager mTimeManager;
 
-    public TimeZonePreferenceController(Context context) {
-        super(context);
+    public TimeZonePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
         mTimeManager = context.getSystemService(TimeManager.class);
     }
 
     @Override
+    public CharSequence getSummary() {
+        return getTimeZoneOffsetAndName();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return shouldEnableManualTimeZoneSelection() ? AVAILABLE : DISABLED_DEPENDENT_SETTING;
+    }
+
+    @Override
     public void updateState(Preference preference) {
-        if (!(preference instanceof RestrictedPreference)) {
+        super.updateState(preference);
+
+        if (preference instanceof RestrictedPreference
+                && ((RestrictedPreference) preference).isDisabledByAdmin()) {
             return;
         }
-        preference.setSummary(getTimeZoneOffsetAndName());
-        if (!((RestrictedPreference) preference).isDisabledByAdmin()) {
-            boolean enableManualTimeZoneSelection = shouldEnableManualTimeZoneSelection();
-            preference.setEnabled(enableManualTimeZoneSelection);
-        }
-    }
 
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_TIMEZONE;
+        preference.setEnabled(shouldEnableManualTimeZoneSelection());
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
index f46bb0d..a8cb9ad 100644
--- a/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
+++ b/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarController.java
@@ -20,7 +20,8 @@
 import android.content.Context;
 import android.os.SystemProperties;
 import android.provider.Settings;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
@@ -29,11 +30,10 @@
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.Utils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /** Handles the logic for flipping the storage management toggle on a {@link SwitchBar}. */
 public class AutomaticStorageManagerSwitchBarController
-        implements OnMainSwitchChangeListener {
+        implements OnCheckedChangeListener {
     private static final String STORAGE_MANAGER_ENABLED_BY_DEFAULT_PROPERTY =
             "ro.storage_manager.enabled";
 
@@ -64,7 +64,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         mMetrics.action(mContext, SettingsEnums.ACTION_TOGGLE_STORAGE_MANAGER, isChecked);
         mDaysToRetainPreference.setEnabled(isChecked);
         Settings.Secure.putInt(
diff --git a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
index 7514577..09f3871 100644
--- a/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
+++ b/src/com/android/settings/development/AbstractBluetoothA2dpPreferenceController.java
@@ -30,7 +30,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -45,7 +44,8 @@
         OnDestroy {
 
     @VisibleForTesting
-    static final int STREAMING_LABEL_ID = R.string.bluetooth_select_a2dp_codec_streaming_label;
+    static final int STREAMING_LABEL_ID =
+            com.android.settingslib.R.string.bluetooth_select_a2dp_codec_streaming_label;
 
     protected final BluetoothA2dpConfigStore mBluetoothA2dpConfigStore;
     protected BluetoothA2dp mBluetoothA2dp;
diff --git a/src/com/android/settings/development/AdbAuthorizationTimeoutPreferenceController.java b/src/com/android/settings/development/AdbAuthorizationTimeoutPreferenceController.java
index 79aa8e6..c2ae189 100644
--- a/src/com/android/settings/development/AdbAuthorizationTimeoutPreferenceController.java
+++ b/src/com/android/settings/development/AdbAuthorizationTimeoutPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -51,7 +51,7 @@
                 Settings.Global.DEFAULT_ADB_ALLOWED_CONNECTION_TIME);
         // An authTimeout of 0 indicates this preference is enabled and adb authorizations will not
         // be automatically revoked.
-        ((SwitchPreference) mPreference).setChecked(authTimeout == 0);
+        ((TwoStatePreference) mPreference).setChecked(authTimeout == 0);
     }
 
     @Override
@@ -64,7 +64,7 @@
     public void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         writeSetting(false);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     private void writeSetting(boolean isEnabled) {
diff --git a/src/com/android/settings/development/AdbDeviceDetailsActionController.java b/src/com/android/settings/development/AdbDeviceDetailsActionController.java
index da4430d..1faf36f 100644
--- a/src/com/android/settings/development/AdbDeviceDetailsActionController.java
+++ b/src/com/android/settings/development/AdbDeviceDetailsActionController.java
@@ -70,7 +70,7 @@
         mButtonsPref = ((ActionButtonsPreference) screen.findPreference(getPreferenceKey()))
                 .setButton1Visible(false)
                 .setButton2Icon(R.drawable.ic_settings_delete)
-                .setButton2Text(R.string.adb_device_forget)
+                .setButton2Text(com.android.settingslib.R.string.adb_device_forget)
                 .setButton2OnClickListener(view -> forgetDevice());
     }
 
diff --git a/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java b/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
index 3aa92f1..e4bb737 100644
--- a/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
+++ b/src/com/android/settings/development/AdbDeviceDetailsFingerprintController.java
@@ -23,7 +23,6 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.widget.FooterPreference;
 
@@ -71,7 +70,7 @@
         mFingerprintCategory = (PreferenceCategory) screen.findPreference(getPreferenceKey());
         mFingerprintPref = new FooterPreference(mFingerprintCategory.getContext());
         final CharSequence titleFormat = mContext.getText(
-                R.string.adb_device_fingerprint_title_format);
+                com.android.settingslib.R.string.adb_device_fingerprint_title_format);
         mFingerprintPref.setTitle(String.format(
                 titleFormat.toString(), mPairedDevice.guid));
         mFingerprintCategory.addPreference(mFingerprintPref);
diff --git a/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java b/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java
index 7830bb9..1bb4f3c 100644
--- a/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java
+++ b/src/com/android/settings/development/AdbDeviceDetailsHeaderController.java
@@ -82,7 +82,7 @@
         mEntityHeaderController
                 .setIcon(mContext.getDrawable(com.android.internal.R.drawable.ic_bt_laptop))
                 .setLabel(mPairedDevice.name)
-                .done(mFragment.getActivity(), true);
+                .done(true);
     }
 }
 
diff --git a/src/com/android/settings/development/AdbIpAddressPreferenceController.java b/src/com/android/settings/development/AdbIpAddressPreferenceController.java
index ce5a851..36d1b99 100644
--- a/src/com/android/settings/development/AdbIpAddressPreferenceController.java
+++ b/src/com/android/settings/development/AdbIpAddressPreferenceController.java
@@ -29,7 +29,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.deviceinfo.AbstractConnectivityPreferenceController;
 
@@ -110,13 +109,13 @@
         if (ipAddress != null) {
             int port = getPort();
             if (port <= 0) {
-                mAdbIpAddrPref.setSummary(R.string.status_unavailable);
+                mAdbIpAddrPref.setSummary(com.android.settingslib.R.string.status_unavailable);
             } else {
                 ipAddress += ":" + port;
             }
             mAdbIpAddrPref.setSummary(ipAddress);
         } else {
-            mAdbIpAddrPref.setSummary(R.string.status_unavailable);
+            mAdbIpAddrPref.setSummary(com.android.settingslib.R.string.status_unavailable);
         }
     }
 
diff --git a/src/com/android/settings/development/AdbPairedDevicePreference.java b/src/com/android/settings/development/AdbPairedDevicePreference.java
index 5d30428..9cc85bc 100644
--- a/src/com/android/settings/development/AdbPairedDevicePreference.java
+++ b/src/com/android/settings/development/AdbPairedDevicePreference.java
@@ -75,11 +75,11 @@
         gearNoBg.setVisibility(View.VISIBLE);
     }
 
-    static void setTitle(AdbPairedDevicePreference preference,
-                         PairDevice pairedDevice) {
+    static void setTitle(AdbPairedDevicePreference preference, PairDevice pairedDevice) {
         preference.setTitle(pairedDevice.name);
         preference.setSummary(pairedDevice.connected
-                ? preference.getContext().getText(R.string.adb_wireless_device_connected_summary)
+                ? preference.getContext()
+                .getText(com.android.settingslib.R.string.adb_wireless_device_connected_summary)
                 : "");
     }
 
diff --git a/src/com/android/settings/development/AdbQrcodeScannerFragment.java b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
index afbb8e4..ca44747 100644
--- a/src/com/android/settings/development/AdbQrcodeScannerFragment.java
+++ b/src/com/android/settings/development/AdbQrcodeScannerFragment.java
@@ -177,7 +177,7 @@
         mVerifyingTextView = view.findViewById(R.id.verifying_textview);
 
         setHeaderTitle(R.string.wifi_dpp_scan_qr_code);
-        mSummary.setText(R.string.adb_wireless_qrcode_pairing_description);
+        mSummary.setText(com.android.settingslib.R.string.adb_wireless_qrcode_pairing_description);
 
         mErrorMessage = view.findViewById(R.id.error_message);
     }
diff --git a/src/com/android/settings/development/AdbWirelessDialogController.java b/src/com/android/settings/development/AdbWirelessDialogController.java
index 136c7b3..35471b9 100644
--- a/src/com/android/settings/development/AdbWirelessDialogController.java
+++ b/src/com/android/settings/development/AdbWirelessDialogController.java
@@ -59,22 +59,26 @@
 
         switch (mMode) {
             case AdbWirelessDialogUiBase.MODE_PAIRING:
-                String title = res.getString(R.string.adb_pairing_device_dialog_title);
+                String title = res.getString(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_title);
                 mUi.setTitle(title);
                 mView.findViewById(R.id.l_pairing_six_digit).setVisibility(View.VISIBLE);
                 mUi.setCancelButton(res.getString(R.string.cancel));
                 mUi.setCanceledOnTouchOutside(false);
                 break;
             case AdbWirelessDialogUiBase.MODE_PAIRING_FAILED:
-                String msg = res.getString(R.string.adb_pairing_device_dialog_failed_msg);
-                mUi.setTitle(R.string.adb_pairing_device_dialog_failed_title);
+                String msg = res.getString(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_failed_msg);
+                mUi.setTitle(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_failed_title);
                 mView.findViewById(R.id.l_pairing_failed).setVisibility(View.VISIBLE);
                 mFailedMsg = (TextView) mView.findViewById(R.id.pairing_failed_label);
                 mFailedMsg.setText(msg);
                 mUi.setSubmitButton(res.getString(R.string.okay));
                 break;
             case AdbWirelessDialogUiBase.MODE_QRCODE_FAILED:
-                mUi.setTitle(R.string.adb_pairing_device_dialog_failed_title);
+                mUi.setTitle(
+                        com.android.settingslib.R.string.adb_pairing_device_dialog_failed_title);
                 mView.findViewById(R.id.l_qrcode_pairing_failed).setVisibility(View.VISIBLE);
                 mUi.setSubmitButton(res.getString(R.string.okay));
                 break;
diff --git a/src/com/android/settings/development/AllowAppsOnExternalPreferenceController.java b/src/com/android/settings/development/AllowAppsOnExternalPreferenceController.java
index 14474f2..cc86513 100644
--- a/src/com/android/settings/development/AllowAppsOnExternalPreferenceController.java
+++ b/src/com/android/settings/development/AllowAppsOnExternalPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.FORCE_ALLOW_ON_EXTERNAL, SETTING_VALUE_OFF);
 
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,6 +67,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.FORCE_ALLOW_ON_EXTERNAL, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java b/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java
index 766352a..114b121 100644
--- a/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java
+++ b/src/com/android/settings/development/AnimatorDurationScalePreferenceController.java
@@ -25,7 +25,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -48,9 +47,10 @@
 
         mWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
-        mListValues = context.getResources().getStringArray(R.array.animator_duration_scale_values);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.animator_duration_scale_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.animator_duration_scale_entries);
+                com.android.settingslib.R.array.animator_duration_scale_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/AppPicker.java b/src/com/android/settings/development/AppPicker.java
index 51215a1..8f478b5 100644
--- a/src/com/android/settings/development/AppPicker.java
+++ b/src/com/android/settings/development/AppPicker.java
@@ -32,8 +32,6 @@
 import android.widget.ArrayAdapter;
 import android.widget.ListView;
 
-import com.android.settings.R;
-
 import java.text.Collator;
 import java.util.ArrayList;
 import java.util.Collections;
@@ -168,7 +166,7 @@
             Collections.sort(mPackageInfoList, sDisplayNameComparator);
             if (mIncludeNothing) {
                 MyApplicationInfo info = new MyApplicationInfo();
-                info.label = context.getText(R.string.no_application);
+                info.label = context.getText(com.android.settingslib.R.string.no_application);
                 mPackageInfoList.add(0, info);
             }
             addAll(mPackageInfoList);
diff --git a/src/com/android/settings/development/AppViewHolder.java b/src/com/android/settings/development/AppViewHolder.java
index 4deef90..6bdf454 100644
--- a/src/com/android/settings/development/AppViewHolder.java
+++ b/src/com/android/settings/development/AppViewHolder.java
@@ -21,7 +21,6 @@
 import android.widget.ImageView;
 import android.widget.TextView;
 
-import com.android.settings.R;
 import com.android.settingslib.applications.ApplicationsState;
 
 // View Holder used when displaying views
@@ -36,7 +35,8 @@
 
     static public AppViewHolder createOrRecycle(LayoutInflater inflater, View convertView) {
         if (convertView == null) {
-            convertView = inflater.inflate(R.layout.preference_app, null);
+            convertView =
+                    inflater.inflate(com.android.settingslib.widget.preference.app.R.layout.preference_app, null);
 
             // Creates a ViewHolder and store references to the two children views
             // we want to bind data to.
@@ -45,7 +45,8 @@
             holder.appName = convertView.findViewById(android.R.id.title);
             holder.appIcon = convertView.findViewById(android.R.id.icon);
             holder.summary = convertView.findViewById(android.R.id.summary);
-            holder.disabled = convertView.findViewById(R.id.appendix);
+            holder.disabled =
+                    convertView.findViewById(com.android.settingslib.widget.preference.app.R.id.appendix);
             holder.widget = convertView.findViewById(android.R.id.widget_frame);
             convertView.setTag(holder);
             return holder;
diff --git a/src/com/android/settings/development/AppsNotRespondingPreferenceController.java b/src/com/android/settings/development/AppsNotRespondingPreferenceController.java
index 15e2663..3ce2870 100644
--- a/src/com/android/settings/development/AppsNotRespondingPreferenceController.java
+++ b/src/com/android/settings/development/AppsNotRespondingPreferenceController.java
@@ -20,7 +20,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -57,7 +57,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.ANR_SHOW_BACKGROUND, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -65,6 +65,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.ANR_SHOW_BACKGROUND, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ArtVerifierPreferenceController.java b/src/com/android/settings/development/ArtVerifierPreferenceController.java
index 4b2f030..0f47920 100644
--- a/src/com/android/settings/development/ArtVerifierPreferenceController.java
+++ b/src/com/android/settings/development/ArtVerifierPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
         final int verifyDebuggable = Settings.Global.getInt(
                 mContext.getContentResolver(),
                 Settings.Global.ART_VERIFIER_VERIFY_DEBUGGABLE, SETTING_VALUE_ON);
-        ((SwitchPreference) mPreference).setChecked(verifyDebuggable != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(verifyDebuggable != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,6 +67,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.ART_VERIFIER_VERIFY_DEBUGGABLE, SETTING_VALUE_ON);
-        ((SwitchPreference) mPreference).setChecked(true);
+        ((TwoStatePreference) mPreference).setChecked(true);
     }
 }
diff --git a/src/com/android/settings/development/AutomaticSystemServerHeapDumpPreferenceController.java b/src/com/android/settings/development/AutomaticSystemServerHeapDumpPreferenceController.java
index aa76bb8..05a5dc9 100644
--- a/src/com/android/settings/development/AutomaticSystemServerHeapDumpPreferenceController.java
+++ b/src/com/android/settings/development/AutomaticSystemServerHeapDumpPreferenceController.java
@@ -22,7 +22,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -71,7 +71,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_AUTOMATIC_SYSTEM_SERVER_HEAP_DUMPS, SETTING_VALUE_ON);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -79,6 +79,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_AUTOMATIC_SYSTEM_SERVER_HEAP_DUMPS, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/BackAnimationPreferenceController.java b/src/com/android/settings/development/BackAnimationPreferenceController.java
index 003b1f9..09af27a 100644
--- a/src/com/android/settings/development/BackAnimationPreferenceController.java
+++ b/src/com/android/settings/development/BackAnimationPreferenceController.java
@@ -16,18 +16,19 @@
 
 package com.android.settings.development;
 
+import static com.android.window.flags.Flags.predictiveBackSystemAnims;
+
 import android.content.Context;
 import android.provider.Settings;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
-import java.util.Objects;
-
 /**
  * PreferenceController for enabling/disabling animation related to back button and back gestures.
  */
@@ -49,13 +50,17 @@
 
 
     public BackAnimationPreferenceController(Context context,
-            DevelopmentSettingsDashboardFragment fragment) {
+            @Nullable DevelopmentSettingsDashboardFragment fragment) {
         super(context);
-        Objects.requireNonNull(fragment);
         mFragment = fragment;
     }
 
     @Override
+    public boolean isAvailable() {
+        return !predictiveBackSystemAnims();
+    }
+
+    @Override
     public String getPreferenceKey() {
         return BACK_NAVIGATION_ANIMATION_KEY;
     }
@@ -76,7 +81,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_BACK_ANIMATION, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -84,6 +89,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_BACK_ANIMATION, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/BackAnimationPreferenceDialog.java b/src/com/android/settings/development/BackAnimationPreferenceDialog.java
index 8347e8d..9715075 100644
--- a/src/com/android/settings/development/BackAnimationPreferenceDialog.java
+++ b/src/com/android/settings/development/BackAnimationPreferenceDialog.java
@@ -27,7 +27,6 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 /**
@@ -66,8 +65,8 @@
     @NonNull
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.back_navigation_animation)
-                .setMessage(R.string.back_navigation_animation_dialog)
+                .setTitle(com.android.settingslib.R.string.back_navigation_animation)
+                .setMessage(com.android.settingslib.R.string.back_navigation_animation_dialog)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .create();
     }
diff --git a/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java b/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java
index 690d079..7a7d6fa 100644
--- a/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java
+++ b/src/com/android/settings/development/BackgroundProcessLimitPreferenceController.java
@@ -25,8 +25,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class BackgroundProcessLimitPreferenceController extends
diff --git a/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java b/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java
index e47048a..b43303b 100644
--- a/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothA2dpHwOffloadPreferenceController.java
@@ -23,7 +23,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -66,10 +66,10 @@
         if (offloadSupported) {
             final boolean offloadDisabled =
                     SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
-            ((SwitchPreference) mPreference).setChecked(offloadDisabled);
+            ((TwoStatePreference) mPreference).setChecked(offloadDisabled);
         } else {
             mPreference.setEnabled(false);
-            ((SwitchPreference) mPreference).setChecked(true);
+            ((TwoStatePreference) mPreference).setChecked(true);
         }
     }
 
@@ -79,7 +79,7 @@
         final boolean offloadSupported =
                 SystemProperties.getBoolean(A2DP_OFFLOAD_SUPPORTED_PROPERTY, false);
         if (offloadSupported) {
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
             SystemProperties.set(A2DP_OFFLOAD_DISABLED_PROPERTY, "false");
         }
     }
diff --git a/src/com/android/settings/development/BluetoothAbsoluteVolumePreferenceController.java b/src/com/android/settings/development/BluetoothAbsoluteVolumePreferenceController.java
index 77f0f50..1e5a7ca 100644
--- a/src/com/android/settings/development/BluetoothAbsoluteVolumePreferenceController.java
+++ b/src/com/android/settings/development/BluetoothAbsoluteVolumePreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -57,13 +57,13 @@
     public void updateState(Preference preference) {
         final boolean isEnabled = SystemProperties.getBoolean(
                 BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         SystemProperties.set(BLUETOOTH_DISABLE_ABSOLUTE_VOLUME_PROPERTY, "false");
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java b/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java
index 8c307a6..0bf94de 100644
--- a/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceController.java
@@ -24,8 +24,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class BluetoothAvrcpVersionPreferenceController extends DeveloperOptionsPreferenceController
diff --git a/src/com/android/settings/development/BluetoothDeviceNoNamePreferenceController.java b/src/com/android/settings/development/BluetoothDeviceNoNamePreferenceController.java
index 849e981..c306aca 100644
--- a/src/com/android/settings/development/BluetoothDeviceNoNamePreferenceController.java
+++ b/src/com/android/settings/development/BluetoothDeviceNoNamePreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -57,13 +57,13 @@
     public void updateState(Preference preference) {
         final boolean isEnabled = SystemProperties.getBoolean(
                 BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         SystemProperties.set(BLUETOOTH_SHOW_DEVICES_WITHOUT_NAMES_PROPERTY, "false");
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java
index a643a20..51533e7 100644
--- a/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceController.java
@@ -21,10 +21,11 @@
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.os.SystemProperties;
+import android.sysprop.BluetoothProperties;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -36,27 +37,27 @@
         extends DeveloperOptionsPreferenceController
         implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
 
-    private static final String PREFERENCE_KEY = "bluetooth_enable_leaudio_allow_list";
+    private static final String PREFERENCE_KEY = "bluetooth_bypass_leaudio_allowlist";
 
-    private static final String LE_AUDIO_ALLOW_LIST_SWITCH_SUPPORT_PROPERTY =
-            "ro.bluetooth.leaudio_allow_list.supported";
+    static final String LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY =
+            "ro.bluetooth.leaudio.le_audio_connection_by_default";
     @VisibleForTesting
-    static final String LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY =
-            "persist.bluetooth.leaudio.enable_allow_list";
+    static final String BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY =
+            "persist.bluetooth.leaudio.bypass_allow_list";
 
     @VisibleForTesting
     BluetoothAdapter mBluetoothAdapter;
+    @VisibleForTesting boolean mLeAudioConnectionByDefault;
 
     private final DevelopmentSettingsDashboardFragment mFragment;
 
-    @VisibleForTesting
-    boolean mChanged = false;
-
     public BluetoothLeAudioAllowListPreferenceController(Context context,
             DevelopmentSettingsDashboardFragment fragment) {
         super(context);
         mFragment = fragment;
         mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
+        mLeAudioConnectionByDefault =
+                SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true);
     }
 
     @Override
@@ -65,52 +66,48 @@
     }
 
     @Override
+    public boolean isAvailable() {
+        return BluetoothProperties.isProfileBapUnicastClientEnabled().orElse(false)
+                && mLeAudioConnectionByDefault;
+    }
+
+    @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
-        BluetoothRebootDialog.show(mFragment);
-        mChanged = true;
-        return false;
+        final boolean isBypassed = (Boolean) newValue;
+        SystemProperties.set(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY,
+                isBypassed ? "true" : "false");
+        return true;
     }
 
     @Override
     public void updateState(Preference preference) {
         if (mBluetoothAdapter == null) {
-            return;
-        }
-
-        final int leAudioSupportedState = mBluetoothAdapter.isLeAudioSupported();
-        final boolean leAudioEnabled =
-                (leAudioSupportedState == BluetoothStatusCodes.FEATURE_SUPPORTED);
-        final boolean leAudioAllowListSupport =
-                SystemProperties.getBoolean(LE_AUDIO_ALLOW_LIST_SWITCH_SUPPORT_PROPERTY, false);
-
-        if (leAudioEnabled && leAudioAllowListSupport) {
-            final boolean leAudioAllowListEnabled =
-                    SystemProperties.getBoolean(LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, false);
-            ((SwitchPreference) mPreference).setChecked(leAudioAllowListEnabled);
-        } else {
             mPreference.setEnabled(false);
-            ((SwitchPreference) mPreference).setChecked(false);
-        }
-    }
-
-    /**
-     * Called when the RebootDialog confirm is clicked.
-     */
-    public void onRebootDialogConfirmed() {
-        if (!mChanged) {
             return;
         }
 
-        final boolean leAudioAllowListEnabled =
-                SystemProperties.getBoolean(LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, false);
-        SystemProperties.set(LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY,
-                Boolean.toString(!leAudioAllowListEnabled));
+        final boolean isLeAudioSupported =
+                (mBluetoothAdapter.isLeAudioSupported() == BluetoothStatusCodes.FEATURE_SUPPORTED);
+        if (!isLeAudioSupported) {
+            mPreference.setEnabled(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
+            return;
+        }
+
+        mPreference.setEnabled(true);
+        final boolean isLeAudioAllowlistBypassed =
+                SystemProperties.getBoolean(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, false);
+        ((TwoStatePreference) mPreference).setChecked(isLeAudioAllowlistBypassed);
     }
 
-    /**
-     * Called when the RebootDialog cancel is clicked.
-     */
-    public void onRebootDialogCanceled() {
-        mChanged = false;
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        final boolean isBypassed =
+                SystemProperties.getBoolean(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, false);
+        if (isBypassed) {
+            SystemProperties.set(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, Boolean.toString(false));
+            ((TwoStatePreference) mPreference).setChecked(false);
+        }
     }
 }
diff --git a/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
index 980bdaa..0a82990 100644
--- a/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceController.java
@@ -21,11 +21,10 @@
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.os.SystemProperties;
-import android.provider.DeviceConfig;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -39,7 +38,8 @@
         implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
 
     private static final String PREFERENCE_KEY = "bluetooth_show_leaudio_device_details";
-    private static final String CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT = "le_audio_enabled_by_default";
+    private static final String LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY =
+            "ro.bluetooth.leaudio.le_audio_connection_by_default";
     private static final boolean LE_AUDIO_TOGGLE_VISIBLE_DEFAULT_VALUE = true;
     static int sLeAudioSupportedStateCache = BluetoothStatusCodes.ERROR_UNKNOWN;
 
@@ -48,10 +48,13 @@
 
     @VisibleForTesting
     BluetoothAdapter mBluetoothAdapter;
+    @VisibleForTesting boolean mLeAudioEnabledByDefault;
 
     public BluetoothLeAudioDeviceDetailsPreferenceController(Context context) {
         super(context);
         mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
+        mLeAudioEnabledByDefault =
+                SystemProperties.getBoolean(LE_AUDIO_CONNECTION_BY_DEFAULT_PROPERTY, true);
     }
 
     @Override
@@ -70,7 +73,8 @@
         }
 
         // Display the option only if LE Audio is supported
-        return (sLeAudioSupportedStateCache == BluetoothStatusCodes.FEATURE_SUPPORTED);
+        return !mLeAudioEnabledByDefault
+                && (sLeAudioSupportedStateCache == BluetoothStatusCodes.FEATURE_SUPPORTED);
     }
 
     @Override
@@ -88,11 +92,7 @@
 
         final boolean isLeAudioToggleVisible = SystemProperties.getBoolean(
                 LE_AUDIO_TOGGLE_VISIBLE_PROPERTY, LE_AUDIO_TOGGLE_VISIBLE_DEFAULT_VALUE);
-        final boolean leAudioEnabledByDefault = DeviceConfig.getBoolean(
-                DeviceConfig.NAMESPACE_BLUETOOTH, CONFIG_LE_AUDIO_ENABLED_BY_DEFAULT, false);
 
-        mPreference.setEnabled(!leAudioEnabledByDefault);
-        ((SwitchPreference) mPreference).setChecked(isLeAudioToggleVisible
-                || leAudioEnabledByDefault);
+        ((TwoStatePreference) mPreference).setChecked(isLeAudioToggleVisible);
     }
 }
diff --git a/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java
index 904f828..91b9eb8 100644
--- a/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothLeAudioHwOffloadPreferenceController.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.development.BluetoothA2dpHwOffloadPreferenceController.A2DP_OFFLOAD_DISABLED_PROPERTY;
 
-
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothManager;
 import android.bluetooth.BluetoothStatusCodes;
@@ -27,7 +26,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -87,10 +86,10 @@
         if (leAudioEnabled && leAudioOffloadSupported && !a2dpOffloadDisabled) {
             final boolean offloadDisabled =
                     SystemProperties.getBoolean(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, true);
-            ((SwitchPreference) mPreference).setChecked(offloadDisabled);
+            ((TwoStatePreference) mPreference).setChecked(offloadDisabled);
         } else {
             mPreference.setEnabled(false);
-            ((SwitchPreference) mPreference).setChecked(true);
+            ((TwoStatePreference) mPreference).setChecked(true);
         }
     }
 
@@ -108,7 +107,7 @@
         final boolean a2dpOffloadDisabled =
                 SystemProperties.getBoolean(A2DP_OFFLOAD_DISABLED_PROPERTY, false);
         if (leAudioEnabled && leAudioOffloadSupported && !a2dpOffloadDisabled) {
-            ((SwitchPreference) mPreference).setChecked(true);
+            ((TwoStatePreference) mPreference).setChecked(true);
             SystemProperties.set(LE_AUDIO_OFFLOAD_DISABLED_PROPERTY, "true");
         } else {
             mPreference.setEnabled(false);
diff --git a/src/com/android/settings/development/BluetoothLeAudioModePreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioModePreferenceController.java
new file mode 100644
index 0000000..06cfe65
--- /dev/null
+++ b/src/com/android/settings/development/BluetoothLeAudioModePreferenceController.java
@@ -0,0 +1,139 @@
+/*
+ * 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.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothManager;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.Context;
+import android.os.SystemProperties;
+import android.sysprop.BluetoothProperties;
+import android.text.TextUtils;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+
+/**
+ * Preference controller to control Bluetooth LE audio mode
+ */
+public class BluetoothLeAudioModePreferenceController
+        extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String PREFERENCE_KEY = "bluetooth_leaudio_mode";
+
+    static final String LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY =
+            "persist.bluetooth.leaudio_dynamic_switcher.mode";
+
+    @Nullable private final DevelopmentSettingsDashboardFragment mFragment;
+
+    private final String[] mListValues;
+    private final String[] mListSummaries;
+    @VisibleForTesting
+    @Nullable String mNewMode;
+    @VisibleForTesting
+    BluetoothAdapter mBluetoothAdapter;
+
+    boolean mChanged = false;
+
+    public BluetoothLeAudioModePreferenceController(@NonNull Context context,
+            @Nullable DevelopmentSettingsDashboardFragment fragment) {
+        super(context);
+        mFragment = fragment;
+        mBluetoothAdapter = context.getSystemService(BluetoothManager.class).getAdapter();
+
+        mListValues = context.getResources().getStringArray(R.array.bluetooth_leaudio_mode_values);
+        mListSummaries = context.getResources().getStringArray(R.array.bluetooth_leaudio_mode);
+    }
+
+    @Override
+    @NonNull public String getPreferenceKey() {
+        return PREFERENCE_KEY;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return BluetoothProperties.isProfileBapBroadcastSourceEnabled().orElse(false);
+    }
+
+    @Override
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
+        if (mFragment == null) {
+            return false;
+        }
+
+        BluetoothRebootDialog.show(mFragment);
+        mChanged = true;
+        mNewMode = newValue.toString();
+        return false;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        if (mBluetoothAdapter == null) {
+            return;
+        }
+
+        if (mBluetoothAdapter.isLeAudioBroadcastSourceSupported()
+                == BluetoothStatusCodes.FEATURE_SUPPORTED) {
+            SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, "broadcast");
+        } else if (mBluetoothAdapter.isLeAudioSupported()
+                == BluetoothStatusCodes.FEATURE_SUPPORTED) {
+            SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, "unicast");
+        } else {
+            SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, "disabled");
+        }
+
+        final String currentValue = SystemProperties.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY);
+        int index = 0;
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentValue, mListValues[i])) {
+                index = i;
+                break;
+            }
+        }
+
+        final ListPreference listPreference = (ListPreference) preference;
+        listPreference.setValue(mListValues[index]);
+        listPreference.setSummary(mListSummaries[index]);
+    }
+
+    /**
+     * Called when the RebootDialog confirm is clicked.
+     */
+    public void onRebootDialogConfirmed() {
+        if (!mChanged) {
+            return;
+        }
+        SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mNewMode);
+    }
+
+    /**
+     * Called when the RebootDialog cancel is clicked.
+     */
+    public void onRebootDialogCanceled() {
+        mChanged = false;
+    }
+}
diff --git a/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java b/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java
index 9cbbc7f..2a544f2 100644
--- a/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothLeAudioPreferenceController.java
@@ -21,10 +21,11 @@
 import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.os.SystemProperties;
+import android.sysprop.BluetoothProperties;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -65,6 +66,12 @@
     }
 
     @Override
+    public boolean isAvailable() {
+        return BluetoothProperties.isProfileBapUnicastClientEnabled().orElse(false)
+                && !BluetoothProperties.isProfileBapBroadcastSourceEnabled().orElse(false);
+    }
+
+    @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         BluetoothRebootDialog.show(mFragment);
         mChanged = true;
@@ -84,7 +91,7 @@
         final boolean leAudioEnabled =
                 (isLeAudioSupportedStatus == BluetoothStatusCodes.FEATURE_SUPPORTED);
 
-        ((SwitchPreference) mPreference).setChecked(!leAudioEnabled);
+        ((TwoStatePreference) mPreference).setChecked(!leAudioEnabled);
 
         // Disable option if Bluetooth is disabled or if switch is not supported
         if (isLeAudioSupportedStatus == BluetoothStatusCodes.ERROR_BLUETOOTH_NOT_ENABLED
diff --git a/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java b/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
index ac20627..b91a8ba 100644
--- a/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothMapVersionPreferenceController.java
@@ -24,8 +24,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 /**
diff --git a/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java
index 8ace9bb..607b672 100644
--- a/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceController.java
@@ -56,10 +56,12 @@
         super(context);
         mListValues =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_values);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_values);
         mListEntries =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_entries);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_entries);
         mProfilesFilterDisabledEntry =
                 context.getResources()
                         .getString(R.string.bt_hci_snoop_log_filtered_mode_disabled_summary);
diff --git a/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java
index c17291c..1816011 100644
--- a/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceController.java
@@ -56,10 +56,12 @@
         super(context);
         mListValues =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_values);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_values);
         mListEntries =
                 context.getResources()
-                        .getStringArray(R.array.bt_hci_snoop_log_profile_filter_entries);
+                        .getStringArray(com.android.settingslib.R
+                                .array.bt_hci_snoop_log_profile_filter_entries);
         mProfilesFilterDisabledEntry =
                 context.getResources()
                         .getString(R.string.bt_hci_snoop_log_filtered_mode_disabled_summary);
diff --git a/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java b/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java
index 31ed652..1ef4810 100644
--- a/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java
+++ b/src/com/android/settings/development/BluetoothSnoopLogPreferenceController.java
@@ -26,7 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -48,8 +47,10 @@
     public BluetoothSnoopLogPreferenceController(
             Context context, DevelopmentSettingsDashboardFragment fragment) {
         super(context);
-        mListValues = context.getResources().getStringArray(R.array.bt_hci_snoop_log_values);
-        mListEntries = context.getResources().getStringArray(R.array.bt_hci_snoop_log_entries);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.bt_hci_snoop_log_values);
+        mListEntries = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.bt_hci_snoop_log_entries);
         mFragment = fragment;
     }
 
diff --git a/src/com/android/settings/development/BugReportInPowerPreferenceController.java b/src/com/android/settings/development/BugReportInPowerPreferenceController.java
index 5ad63e0..c8c46c9 100644
--- a/src/com/android/settings/development/BugReportInPowerPreferenceController.java
+++ b/src/com/android/settings/development/BugReportInPowerPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -68,7 +68,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.BUGREPORT_IN_POWER_MENU, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -76,6 +76,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.BUGREPORT_IN_POWER_MENU, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java b/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java
index e57a3d7..5142a78 100644
--- a/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java
+++ b/src/com/android/settings/development/CachedAppsFreezerPreferenceController.java
@@ -29,7 +29,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -46,9 +45,10 @@
     public CachedAppsFreezerPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.cached_apps_freezer_values);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.cached_apps_freezer_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.cached_apps_freezer_entries);
+                com.android.settingslib.R.array.cached_apps_freezer_entries);
     }
 
     @Override
@@ -76,7 +76,8 @@
 
         if (!newValue.equals(currentValue)) {
             final AlertDialog dialog = new AlertDialog.Builder(mContext)
-                    .setMessage(R.string.cached_apps_freezer_reboot_dialog_text)
+                    .setMessage(
+                            com.android.settingslib.R.string.cached_apps_freezer_reboot_dialog_text)
                     .setPositiveButton(android.R.string.ok, getRebootDialogOkListener(newValue))
                     .setNegativeButton(android.R.string.cancel, getRebootDialogCancelListener())
                     .create();
diff --git a/src/com/android/settings/development/CameraLaserSensorPreferenceController.java b/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
index 6717280..0a9600a 100644
--- a/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
+++ b/src/com/android/settings/development/CameraLaserSensorPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -72,7 +72,7 @@
     @Override
     public void updateState(Preference preference) {
         final boolean enabled = isLaserSensorEnabled();
-        ((SwitchPreference) mPreference).setChecked(enabled);
+        ((TwoStatePreference) mPreference).setChecked(enabled);
     }
 
     // There should be no impact on the current
diff --git a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java
index b39d874..69e6c69 100644
--- a/src/com/android/settings/development/ClearAdbKeysPreferenceController.java
+++ b/src/com/android/settings/development/ClearAdbKeysPreferenceController.java
@@ -52,6 +52,9 @@
 
     @Override
     public boolean isAvailable() {
+        // If the build is insecure (any -user build, 'ro.adb.secure=0'), adbd does not
+        // requests/store authorizations. There is no need for a "revoke authorizations"
+        // button.
         return AdbProperties.secure().orElse(false);
     }
 
diff --git a/src/com/android/settings/development/ClearAdbKeysWarningDialog.java b/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
index cdf8a95..129f26a 100644
--- a/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
+++ b/src/com/android/settings/development/ClearAdbKeysWarningDialog.java
@@ -25,7 +25,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class ClearAdbKeysWarningDialog extends InstrumentedDialogFragment implements
@@ -51,7 +50,7 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setMessage(R.string.adb_keys_warning_message)
+                .setMessage(com.android.settingslib.R.string.adb_keys_warning_message)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, null /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/ColorModePreference.java b/src/com/android/settings/development/ColorModePreference.java
index 9e5666e..f4a2c79 100644
--- a/src/com/android/settings/development/ColorModePreference.java
+++ b/src/com/android/settings/development/ColorModePreference.java
@@ -24,14 +24,14 @@
 import android.util.AttributeSet;
 import android.view.Display;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
-import com.android.settings.R;
+import com.android.settingslib.R;
 
 import java.util.ArrayList;
 import java.util.List;
 
-public class ColorModePreference extends SwitchPreference implements DisplayListener {
+public class ColorModePreference extends TwoStatePreference implements DisplayListener {
 
     private DisplayManager mDisplayManager;
     private Display mDisplay;
diff --git a/src/com/android/settings/development/CoolColorTemperaturePreferenceController.java b/src/com/android/settings/development/CoolColorTemperaturePreferenceController.java
index 54df6ba..82964e7 100644
--- a/src/com/android/settings/development/CoolColorTemperaturePreferenceController.java
+++ b/src/com/android/settings/development/CoolColorTemperaturePreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -65,14 +65,14 @@
     public void updateState(Preference preference) {
         final boolean enableColorTemperature = SystemProperties.getBoolean(
                 COLOR_TEMPERATURE_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(enableColorTemperature);
+        ((TwoStatePreference) mPreference).setChecked(enableColorTemperature);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         SystemProperties.set(COLOR_TEMPERATURE_PROPERTY, Boolean.toString(false));
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java b/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java
index da4b94b..e53ab20 100644
--- a/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java
+++ b/src/com/android/settings/development/DebugGpuOverdrawPreferenceController.java
@@ -24,7 +24,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
@@ -41,8 +40,10 @@
     public DebugGpuOverdrawPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.debug_hw_overdraw_values);
-        mListSummaries = context.getResources().getStringArray(R.array.debug_hw_overdraw_entries);
+        mListValues = context.getResources().getStringArray(
+                com.android.settingslib.R.array.debug_hw_overdraw_values);
+        mListSummaries = context.getResources().getStringArray(
+                com.android.settingslib.R.array.debug_hw_overdraw_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java b/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java
index 8f15c86..fc74206 100644
--- a/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java
+++ b/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceController.java
@@ -24,7 +24,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
@@ -41,8 +40,10 @@
     public DebugNonRectClipOperationsPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.show_non_rect_clip_values);
-        mListSummaries = context.getResources().getStringArray(R.array.show_non_rect_clip_entries);
+        mListValues = context.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_values);
+        mListSummaries = context.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/DebugViewAttributesPreferenceController.java b/src/com/android/settings/development/DebugViewAttributesPreferenceController.java
index 04d819c..58d764c 100644
--- a/src/com/android/settings/development/DebugViewAttributesPreferenceController.java
+++ b/src/com/android/settings/development/DebugViewAttributesPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
     public void updateState(Preference preference) {
         final int debugViewAttrMode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.DEBUG_VIEW_ATTRIBUTES, 0 /* default */);
-        ((SwitchPreference) mPreference).setChecked(debugViewAttrMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(debugViewAttrMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,6 +67,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEBUG_VIEW_ATTRIBUTES, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/DesktopModePreferenceController.java b/src/com/android/settings/development/DesktopModePreferenceController.java
index 0e257f6..dcd0c14 100644
--- a/src/com/android/settings/development/DesktopModePreferenceController.java
+++ b/src/com/android/settings/development/DesktopModePreferenceController.java
@@ -24,7 +24,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -71,7 +71,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -79,7 +79,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 DEVELOPMENT_FORCE_DESKTOP_MODE_ON_EXTERNAL_DISPLAYS, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/DevelopmentAppPicker.java b/src/com/android/settings/development/DevelopmentAppPicker.java
new file mode 100644
index 0000000..7ef0869
--- /dev/null
+++ b/src/com/android/settings/development/DevelopmentAppPicker.java
@@ -0,0 +1,150 @@
+/*
+ * 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.development;
+
+import static android.app.Activity.RESULT_OK;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Build;
+import android.os.Bundle;
+import android.os.Process;
+import android.os.UserHandle;
+
+import com.android.settings.R;
+import com.android.settings.applications.defaultapps.DefaultAppPickerFragment;
+import com.android.settingslib.applications.DefaultAppInfo;
+
+import java.text.Collator;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.List;
+
+public class DevelopmentAppPicker extends DefaultAppPickerFragment {
+    public static final String EXTRA_REQUESTING_PERMISSION = "REQUESTING_PERMISSION";
+    public static final String EXTRA_DEBUGGABLE = "DEBUGGABLE";
+    public static final String EXTRA_SELECTING_APP = "SELECTING_APP";
+
+    private String mPermissionName;
+    private boolean mDebuggableOnly;
+    private String mSelectingApp;
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+        Bundle arguments = getArguments();
+        if (arguments == null) {
+            return;
+        }
+        mPermissionName = arguments.getString(EXTRA_REQUESTING_PERMISSION);
+        mDebuggableOnly = arguments.getBoolean(EXTRA_DEBUGGABLE);
+        mSelectingApp = arguments.getString(EXTRA_SELECTING_APP);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DEVELOPMENT_APP_PICKER;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.development_app_picker;
+    }
+
+    @Override
+    protected boolean shouldShowItemNone() {
+        return true;
+    }
+
+    @Override
+    protected List<DefaultAppInfo> getCandidates() {
+        List<DefaultAppInfo> packageInfoList = new ArrayList<DefaultAppInfo>();
+        Context context = getContext();
+        List<ApplicationInfo> installedApps = mPm.getInstalledApplications(0);
+        for (ApplicationInfo ai : installedApps) {
+            if (ai.uid == Process.SYSTEM_UID) {
+                continue;
+            }
+            // Filter out apps that are not debuggable if required.
+            if (mDebuggableOnly) {
+                // On a user build, we only allow debugging of apps that
+                // are marked as debuggable, otherwise (for platform development)
+                // we allow all apps.
+                if ((ai.flags & ApplicationInfo.FLAG_DEBUGGABLE) == 0
+                        && "user".equals(Build.TYPE)) {
+                    continue;
+                }
+            }
+
+            // Filter out apps that do not request the permission if required.
+            if (mPermissionName != null) {
+                boolean requestsPermission = false;
+                try {
+                    PackageInfo pi = mPm.getPackageInfo(ai.packageName,
+                            PackageManager.GET_PERMISSIONS);
+                    if (pi.requestedPermissions == null) {
+                        continue;
+                    }
+                    for (String requestedPermission : pi.requestedPermissions) {
+                        if (requestedPermission.equals(mPermissionName)) {
+                            requestsPermission = true;
+                            break;
+                        }
+                    }
+                    if (!requestsPermission) {
+                        continue;
+                    }
+                } catch (PackageManager.NameNotFoundException e) {
+                    continue;
+                }
+            }
+            DefaultAppInfo appInfo = new DefaultAppInfo(context, mPm, UserHandle.myUserId(), ai);
+            packageInfoList.add(appInfo);
+        }
+        Collections.sort(packageInfoList, sLabelComparator);
+        return packageInfoList;
+    }
+
+    @Override
+    protected String getDefaultKey() {
+        return mSelectingApp;
+    }
+
+    @Override
+    protected boolean setDefaultKey(String key) {
+        DefaultAppInfo appInfo = (DefaultAppInfo) getCandidate(key);
+        Intent intent = new Intent();
+        if (appInfo != null && appInfo.packageItemInfo != null) {
+            intent.setAction(appInfo.packageItemInfo.packageName);
+        }
+        setResult(RESULT_OK, intent);
+        finish();
+        return true;
+    }
+
+    private static final Comparator<DefaultAppInfo> sLabelComparator =
+            new Comparator<DefaultAppInfo>() {
+                public int compare(DefaultAppInfo a, DefaultAppInfo b) {
+                    return Collator.getInstance().compare(a.loadLabel(), b.loadLabel());
+                }
+            };
+}
diff --git a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
index 047b219..6b38b28 100644
--- a/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
+++ b/src/com/android/settings/development/DevelopmentSettingsDashboardFragment.java
@@ -45,8 +45,11 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+import android.widget.Toast;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.localbroadcastmanager.content.LocalBroadcastManager;
 
@@ -80,7 +83,6 @@
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.development.SystemPropPoker;
 import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
@@ -89,7 +91,7 @@
 
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class DevelopmentSettingsDashboardFragment extends RestrictedDashboardFragment
-        implements OnMainSwitchChangeListener, OemUnlockDialogHost, AdbDialogHost,
+        implements OnCheckedChangeListener, OemUnlockDialogHost, AdbDialogHost,
         AdbClearKeysDialogHost, LogPersistDialogHost,
         BluetoothRebootDialog.OnRebootDialogListener,
         AbstractBluetoothPreferenceController.Callback,
@@ -230,6 +232,19 @@
             getActivity().finish();
             return;
         }
+        Context context = requireContext();
+        UserManager um = (UserManager) getSystemService(Context.USER_SERVICE);
+
+        if (!um.isAdminUser()) {
+            Toast.makeText(context, R.string.dev_settings_available_to_admin_only_warning,
+                            Toast.LENGTH_SHORT)
+                    .show();
+            finish();
+        } else if (!DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context)) {
+            Toast.makeText(context, R.string.dev_settings_disabled_warning, Toast.LENGTH_SHORT)
+                    .show();
+            finish();
+        }
     }
 
     @Override
@@ -243,7 +258,8 @@
             mIsAvailable = false;
             // Show error message
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.development_settings_not_available);
+                getEmptyTextView().setText(
+                        com.android.settingslib.R.string.development_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
@@ -332,10 +348,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        if (switchView != mSwitchBar.getSwitch()) {
-            return;
-        }
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         final boolean developmentEnabledState =
                 DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(getContext());
         if (isChecked != developmentEnabledState) {
@@ -371,8 +384,8 @@
                     DisableDevSettingsDialogFragment.show(this /* host */);
                 }
             }
-            FeatureFactory.getFactory(
-                    getContext()).getSearchFeatureProvider().sendPreIndexIntent(getContext());
+            FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
+                    .sendPreIndexIntent(getContext());
         }
     }
 
@@ -442,10 +455,10 @@
                         BluetoothLeAudioPreferenceController.class);
         leAudioFeatureController.onRebootDialogConfirmed();
 
-        final BluetoothLeAudioAllowListPreferenceController leAudioAllowListController =
+        final BluetoothLeAudioModePreferenceController leAudioModeController =
                 getDevelopmentOptionsController(
-                    BluetoothLeAudioAllowListPreferenceController.class);
-        leAudioAllowListController.onRebootDialogConfirmed();
+                        BluetoothLeAudioModePreferenceController.class);
+        leAudioModeController.onRebootDialogConfirmed();
     }
 
     @Override
@@ -464,10 +477,10 @@
                         BluetoothLeAudioPreferenceController.class);
         leAudioFeatureController.onRebootDialogCanceled();
 
-        final BluetoothLeAudioAllowListPreferenceController leAudioAllowListController =
+        final BluetoothLeAudioModePreferenceController leAudioModeController =
                 getDevelopmentOptionsController(
-                    BluetoothLeAudioAllowListPreferenceController.class);
-        leAudioAllowListController.onRebootDialogCanceled();
+                        BluetoothLeAudioModePreferenceController.class);
+        leAudioModeController.onRebootDialogCanceled();
     }
 
     @Override
@@ -611,8 +624,9 @@
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Activity activity, Lifecycle lifecycle, DevelopmentSettingsDashboardFragment fragment,
-            BluetoothA2dpConfigStore bluetoothA2dpConfigStore) {
+            @Nullable Activity activity, @Nullable Lifecycle lifecycle,
+            @Nullable DevelopmentSettingsDashboardFragment fragment,
+            @Nullable BluetoothA2dpConfigStore bluetoothA2dpConfigStore) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new MemoryUsagePreferenceController(context));
         controllers.add(new BugReportPreferenceController(context));
@@ -628,6 +642,7 @@
         controllers.add(new BluetoothSnoopLogFilterProfilePbapPreferenceController(context));
         controllers.add(new BluetoothSnoopLogFilterProfileMapPreferenceController(context));
         controllers.add(new OemUnlockPreferenceController(context, activity, fragment));
+        controllers.add(new Enable16kPagesPreferenceController(context, fragment));
         controllers.add(new PictureColorModePreferenceController(context, lifecycle));
         controllers.add(new WebViewAppPreferenceController(context));
         controllers.add(new CoolColorTemperaturePreferenceController(context));
@@ -665,6 +680,7 @@
         controllers.add(new BluetoothAvrcpVersionPreferenceController(context));
         controllers.add(new BluetoothMapVersionPreferenceController(context));
         controllers.add(new BluetoothLeAudioPreferenceController(context, fragment));
+        controllers.add(new BluetoothLeAudioModePreferenceController(context, fragment));
         controllers.add(new BluetoothLeAudioDeviceDetailsPreferenceController(context));
         controllers.add(new BluetoothLeAudioAllowListPreferenceController(context, fragment));
         controllers.add(new BluetoothA2dpHwOffloadPreferenceController(context, fragment));
@@ -678,6 +694,7 @@
         controllers.add(new ShowKeyPressesPreferenceController(context));
         controllers.add(new ShowSurfaceUpdatesPreferenceController(context));
         controllers.add(new ShowLayoutBoundsPreferenceController(context));
+        controllers.add(new ShowHdrSdrRatioPreferenceController(context));
         controllers.add(new ShowRefreshRatePreferenceController(context));
         controllers.add(new RtlLayoutPreferenceController(context));
         controllers.add(new WindowAnimationScalePreferenceController(context));
@@ -690,6 +707,7 @@
         controllers.add(new HardwareLayersUpdatesPreferenceController(context));
         controllers.add(new DebugGpuOverdrawPreferenceController(context));
         controllers.add(new DebugNonRectClipOperationsPreferenceController(context));
+        controllers.add(new GameDefaultFrameRatePreferenceController(context));
         controllers.add(new ForceDarkPreferenceController(context));
         controllers.add(new EnableBlursPreferenceController(context));
         controllers.add(new ForceMSAAPreferenceController(context));
@@ -744,6 +762,8 @@
         controllers.add(new ContrastPreferenceController(
                 context, context.getSystemService(UiModeManager.class)));
         controllers.add(new ForceEnableNotesRolePreferenceController(context));
+        controllers.add(new GrammaticalGenderPreferenceController(context));
+        controllers.add(new SensitiveContentProtectionPreferenceController(context));
 
         return controllers;
     }
diff --git a/src/com/android/settings/development/DevelopmentSettingsDisabledActivity.java b/src/com/android/settings/development/DevelopmentSettingsDisabledActivity.java
deleted file mode 100644
index 9ea24da..0000000
--- a/src/com/android/settings/development/DevelopmentSettingsDisabledActivity.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development;
-
-import android.app.Activity;
-import android.os.Bundle;
-import android.widget.Toast;
-
-import com.android.settings.R;
-
-public class DevelopmentSettingsDisabledActivity extends Activity {
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        Toast.makeText(this, R.string.dev_settings_disabled_warning, Toast.LENGTH_SHORT).show();
-        finish();
-    }
-}
diff --git a/src/com/android/settings/development/DevelopmentSystemPropertiesWrapper.java b/src/com/android/settings/development/DevelopmentSystemPropertiesWrapper.java
new file mode 100644
index 0000000..e8a64d2
--- /dev/null
+++ b/src/com/android/settings/development/DevelopmentSystemPropertiesWrapper.java
@@ -0,0 +1,66 @@
+/*
+ * 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.development;
+
+import android.annotation.NonNull;
+import android.os.SystemProperties;
+/**
+ * Wrapper interface to access {@link SystemProperties}.
+ *
+ * @hide
+ */
+
+public interface DevelopmentSystemPropertiesWrapper {
+    /**
+     * Get the String value for the given {@code key}.
+     *
+     * @param key the key to lookup
+     * @param def the default value in case the property is not set or empty
+     * @return if the {@code key} isn't found, return {@code def} if it isn't null, or an empty
+     * string otherwise
+     */
+    @NonNull
+    String get(@NonNull String key, @NonNull String def);
+    /**
+     * Set the value for the given {@code key} to {@code val}.
+     *
+     * @throws IllegalArgumentException if the {@code val} exceeds 91 characters
+     * @throws RuntimeException if the property cannot be set, for example, if it was blocked by
+     * SELinux. libc will log the underlying reason.
+     */
+    void set(@NonNull String key, @NonNull String val);
+
+    /**
+     * Get the Integer value for the given {@code key}.
+     *
+     * @param key the key to lookup
+     * @param def the default value in case the property is not set or empty
+     * @return if the {@code key} isn't found, return {@code def} if it isn't null, not parsable
+     * or an empty string otherwise
+     */
+    @NonNull
+    int getInt(@NonNull String key, @NonNull int def);
+
+    /**
+     * Get the boolean value for the given {@code key}.
+     *
+     * @param key the key to lookup
+     * @param def the default value in case the property is not set or empty
+     * @return if the {@code key} isn't found, return {@code def}.
+     */
+    boolean getBoolean(@NonNull String key, @NonNull boolean def);
+}
diff --git a/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java b/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java
index f10e171..4f7fb4d 100644
--- a/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java
+++ b/src/com/android/settings/development/DisableAutomaticUpdatesPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -63,7 +63,7 @@
         final int updatesEnabled = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, 0 /* default */);
 
-        ((SwitchPreference) mPreference).setChecked(updatesEnabled != DISABLE_UPDATES_SETTING);
+        ((TwoStatePreference) mPreference).setChecked(updatesEnabled != DISABLE_UPDATES_SETTING);
     }
 
     @Override
@@ -71,6 +71,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.OTA_DISABLE_AUTOMATIC_UPDATE, DISABLE_UPDATES_SETTING);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/DisableDevSettingsDialogFragment.java b/src/com/android/settings/development/DisableDevSettingsDialogFragment.java
index 224768b..4355f27 100644
--- a/src/com/android/settings/development/DisableDevSettingsDialogFragment.java
+++ b/src/com/android/settings/development/DisableDevSettingsDialogFragment.java
@@ -29,6 +29,8 @@
 import androidx.fragment.app.FragmentManager;
 
 import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.applications.ProcessStatsSummary;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class DisableDevSettingsDialogFragment extends InstrumentedDialogFragment
@@ -42,7 +44,7 @@
         return dialog;
     }
 
-    public static void show(DevelopmentSettingsDashboardFragment host) {
+    public static void show(SettingsPreferenceFragment host) {
         final DisableDevSettingsDialogFragment dialog = new DisableDevSettingsDialogFragment();
         dialog.setTargetFragment(host, 0 /* requestCode */);
         // We need to handle data changes and switch state based on which button user clicks,
@@ -75,18 +77,31 @@
     @Override
     public void onClick(DialogInterface dialog, int which) {
         Fragment fragment = getTargetFragment();
-        if (!(fragment instanceof DevelopmentSettingsDashboardFragment)){
+        if (!(fragment instanceof DevelopmentSettingsDashboardFragment)
+                && !(fragment instanceof ProcessStatsSummary)) {
             Log.e(TAG, "getTargetFragment return unexpected type");
         }
 
-        final DevelopmentSettingsDashboardFragment host =
-                (DevelopmentSettingsDashboardFragment) fragment;
-        if (which == DialogInterface.BUTTON_POSITIVE) {
-            host.onDisableDevelopmentOptionsConfirmed();
-            PowerManager pm = getContext().getSystemService(PowerManager.class);
-            pm.reboot(null);
-        } else {
-            host.onDisableDevelopmentOptionsRejected();
+        if (fragment instanceof DevelopmentSettingsDashboardFragment) {
+            final DevelopmentSettingsDashboardFragment host =
+                    (DevelopmentSettingsDashboardFragment) fragment;
+            if (which == DialogInterface.BUTTON_POSITIVE) {
+                host.onDisableDevelopmentOptionsConfirmed();
+                PowerManager pm = getContext().getSystemService(PowerManager.class);
+                pm.reboot(null);
+            } else {
+                host.onDisableDevelopmentOptionsRejected();
+            }
+        } else if (fragment instanceof ProcessStatsSummary) {
+            final ProcessStatsSummary host =
+                    (ProcessStatsSummary) fragment;
+            if (which == DialogInterface.BUTTON_POSITIVE) {
+                host.onRebootDialogConfirmed();
+                PowerManager pm = getContext().getSystemService(PowerManager.class);
+                pm.reboot(null);
+            } else {
+                host.onRebootDialogCanceled();
+            }
         }
     }
 }
diff --git a/src/com/android/settings/development/DisableLogPersistWarningDialog.java b/src/com/android/settings/development/DisableLogPersistWarningDialog.java
index 4514b1b..6f7adf0 100644
--- a/src/com/android/settings/development/DisableLogPersistWarningDialog.java
+++ b/src/com/android/settings/development/DisableLogPersistWarningDialog.java
@@ -25,7 +25,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class DisableLogPersistWarningDialog extends InstrumentedDialogFragment implements
@@ -55,8 +54,8 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.dev_logpersist_clear_warning_title)
-                .setMessage(R.string.dev_logpersist_clear_warning_message)
+                .setTitle(com.android.settingslib.R.string.dev_logpersist_clear_warning_title)
+                .setMessage(com.android.settingslib.R.string.dev_logpersist_clear_warning_message)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/Enable16kPagesPreferenceController.java b/src/com/android/settings/development/Enable16kPagesPreferenceController.java
new file mode 100644
index 0000000..3f9da57
--- /dev/null
+++ b/src/com/android/settings/development/Enable16kPagesPreferenceController.java
@@ -0,0 +1,360 @@
+/*
+ * 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 android.content.Context;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.ParcelFileDescriptor;
+import android.os.PersistableBundle;
+import android.os.PowerManager;
+import android.os.SystemProperties;
+import android.os.SystemUpdateManager;
+import android.os.UpdateEngine;
+import android.os.UpdateEngineStable;
+import android.os.UpdateEngineStableCallback;
+import android.provider.Settings;
+import android.util.Log;
+import android.widget.LinearLayout;
+import android.widget.ProgressBar;
+import android.widget.Toast;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog;
+import androidx.core.content.ContextCompat;
+import androidx.preference.Preference;
+import androidx.preference.SwitchPreference;
+
+import com.android.settings.R;
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.ListeningExecutorService;
+import com.google.common.util.concurrent.MoreExecutors;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.InputStreamReader;
+import java.util.ArrayList;
+import java.util.Enumeration;
+import java.util.List;
+import java.util.concurrent.Executors;
+import java.util.zip.ZipEntry;
+import java.util.zip.ZipFile;
+
+/** Controller for 16K pages developer option */
+public class Enable16kPagesPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener,
+                PreferenceControllerMixin,
+                Enable16kbPagesDialogHost {
+
+    private static final String TAG = "Enable16kPages";
+    private static final String REBOOT_REASON = "toggle16k";
+    private static final String ENABLE_16K_PAGES = "enable_16k_pages";
+
+    @VisibleForTesting
+    static final String DEV_OPTION_PROPERTY = "ro.product.build.16k_page.enabled";
+
+    private static final int ENABLE_4K_PAGE_SIZE = 0;
+    private static final int ENABLE_16K_PAGE_SIZE = 1;
+
+    private static final String OTA_16K_PATH = "/system/boot_otas/boot_ota_16k.zip";
+    private static final String OTA_4K_PATH = "/system/boot_otas/boot_ota_4k.zip";
+    private static final String PAYLOAD_BINARY_FILE_NAME = "payload.bin";
+    private static final String PAYLOAD_PROPERTIES_FILE_NAME = "payload_properties.txt";
+    private static final int OFFSET_TO_FILE_NAME = 30;
+    public static final String EXPERIMENTAL_UPDATE_TITLE = "Android 16K Kernel Experimental Update";
+
+    private @Nullable DevelopmentSettingsDashboardFragment mFragment = null;
+    private boolean mEnable16k;
+
+    private final ListeningExecutorService mExecutorService =
+            MoreExecutors.listeningDecorator(Executors.newSingleThreadExecutor());
+
+    private AlertDialog mProgressDialog;
+
+    public Enable16kPagesPreferenceController(
+            @NonNull Context context, @Nullable DevelopmentSettingsDashboardFragment fragment) {
+        super(context);
+        mFragment = fragment;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return SystemProperties.getBoolean(DEV_OPTION_PROPERTY, false);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return ENABLE_16K_PAGES;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        mEnable16k = (Boolean) newValue;
+        Enable16kPagesWarningDialog.show(mFragment, this, mEnable16k);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final int optionValue =
+                Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Global.ENABLE_16K_PAGES,
+                        ENABLE_4K_PAGE_SIZE /* default */);
+
+        ((SwitchPreference) mPreference).setChecked(optionValue == ENABLE_16K_PAGE_SIZE);
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        // TODO(295035851) : Revert kernel when dev option turned off
+        super.onDeveloperOptionsSwitchDisabled();
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Settings.Global.ENABLE_16K_PAGES,
+                ENABLE_4K_PAGE_SIZE);
+        ((SwitchPreference) mPreference).setChecked(false);
+    }
+
+    /** Called when user confirms reboot dialog */
+    @Override
+    public void on16kPagesDialogConfirmed() {
+        // Show progress bar
+        mProgressDialog = makeProgressDialog();
+        mProgressDialog.show();
+
+        // Apply update in background
+        ListenableFuture future = mExecutorService.submit(() -> installUpdate());
+        Futures.addCallback(
+                future,
+                new FutureCallback<>() {
+
+                    @Override
+                    public void onSuccess(@NonNull Object result) {
+                        // This means UpdateEngineStable is working on applying update in
+                        // background.
+                        // Result of that operation will be provided by separate callback.
+                        Log.i(TAG, "applyPayload call to UpdateEngineStable succeeded.");
+                    }
+
+                    @Override
+                    public void onFailure(Throwable t) {
+                        hideProgressDialog();
+                        Log.e(TAG, "Failed to call applyPayload of UpdateEngineStable!");
+                        displayToast(mContext.getString(R.string.toast_16k_update_failed_text));
+                    }
+                },
+                ContextCompat.getMainExecutor(mContext));
+    }
+
+    /** Called when user dismisses to reboot dialog */
+    @Override
+    public void on16kPagesDialogDismissed() {}
+
+    private void installUpdate() {
+        // Check if there is any pending system update
+        SystemUpdateManager manager = mContext.getSystemService(SystemUpdateManager.class);
+        Bundle data = manager.retrieveSystemUpdateInfo();
+        int status = data.getInt(SystemUpdateManager.KEY_STATUS);
+        if (status != SystemUpdateManager.STATUS_UNKNOWN
+                && status != SystemUpdateManager.STATUS_IDLE) {
+            throw new RuntimeException("System has pending update!");
+        }
+
+        // Publish system update info
+        PersistableBundle info = createUpdateInfo(SystemUpdateManager.STATUS_IN_PROGRESS);
+        manager.updateSystemUpdateInfo(info);
+
+        String updateFilePath = mEnable16k ? OTA_16K_PATH : OTA_4K_PATH;
+        try {
+            File updateFile = new File(updateFilePath);
+            applyUpdateFile(updateFile);
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+
+    @VisibleForTesting
+    void applyUpdateFile(@NonNull File updateFile) throws IOException, FileNotFoundException {
+        boolean payloadFound = false;
+        boolean propertiesFound = false;
+        long payloadOffset = 0;
+        long payloadSize = 0;
+
+        List<String> properties = new ArrayList<>();
+        try (ZipFile zip = new ZipFile(updateFile)) {
+            Enumeration<? extends ZipEntry> entries = zip.entries();
+            long offset = 0;
+            while (entries.hasMoreElements()) {
+                ZipEntry zipEntry = entries.nextElement();
+                String fileName = zipEntry.getName();
+                long extraSize = zipEntry.getExtra() == null ? 0 : zipEntry.getExtra().length;
+                offset += OFFSET_TO_FILE_NAME + fileName.length() + extraSize;
+
+                if (zipEntry.isDirectory()) {
+                    continue;
+                }
+
+                long length = zipEntry.getCompressedSize();
+                if (PAYLOAD_BINARY_FILE_NAME.equals(fileName)) {
+                    if (zipEntry.getMethod() != ZipEntry.STORED) {
+                        throw new IOException("Unknown compression method.");
+                    }
+                    payloadFound = true;
+                    payloadOffset = offset;
+                    payloadSize = length;
+                } else if (PAYLOAD_PROPERTIES_FILE_NAME.equals(fileName)) {
+                    propertiesFound = true;
+                    InputStream inputStream = zip.getInputStream(zipEntry);
+                    if (inputStream != null) {
+                        BufferedReader br = new BufferedReader(new InputStreamReader(inputStream));
+                        String line;
+                        while ((line = br.readLine()) != null) {
+                            properties.add(line);
+                        }
+                    }
+                }
+                offset += length;
+            }
+        }
+
+        if (!payloadFound) {
+            throw new FileNotFoundException(
+                    "Failed to find payload in zip: " + updateFile.getAbsolutePath());
+        }
+
+        if (!propertiesFound) {
+            throw new FileNotFoundException(
+                    "Failed to find payload properties in zip: " + updateFile.getAbsolutePath());
+        }
+
+        if (payloadSize == 0) {
+            throw new IOException("Found empty payload in zip: " + updateFile.getAbsolutePath());
+        }
+
+        applyPayload(updateFile, payloadOffset, payloadSize, properties);
+    }
+
+    private void hideProgressDialog() {
+        // Hide progress bar
+        if (mProgressDialog != null && mProgressDialog.isShowing()) {
+            mProgressDialog.hide();
+        }
+    }
+
+    @VisibleForTesting
+    void applyPayload(
+            @NonNull File updateFile,
+            long payloadOffset,
+            long payloadSize,
+            @NonNull List<String> properties)
+            throws FileNotFoundException {
+        String[] header = properties.stream().toArray(String[]::new);
+        UpdateEngineStable updateEngineStable = new UpdateEngineStable();
+        try {
+            ParcelFileDescriptor pfd =
+                    ParcelFileDescriptor.open(updateFile, ParcelFileDescriptor.MODE_READ_ONLY);
+            updateEngineStable.bind(
+                    new OtaUpdateCallback(updateEngineStable),
+                    new Handler(mContext.getMainLooper()));
+            updateEngineStable.applyPayloadFd(pfd, payloadOffset, payloadSize, header);
+        } finally {
+            Log.e(TAG, "Failure while applying an update using update engine");
+        }
+    }
+
+    private void displayToast(String message) {
+        Toast.makeText(mContext, message, Toast.LENGTH_SHORT).show();
+    }
+
+    private class OtaUpdateCallback extends UpdateEngineStableCallback {
+        UpdateEngineStable mUpdateEngineStable;
+
+        OtaUpdateCallback(@NonNull UpdateEngineStable engine) {
+            mUpdateEngineStable = engine;
+        }
+
+        @Override
+        public void onStatusUpdate(int status, float percent) {}
+
+        @Override
+        public void onPayloadApplicationComplete(int errorCode) {
+            Log.i(TAG, "Callback from update engine stable received. unbinding..");
+            // unbind the callback from update engine
+            mUpdateEngineStable.unbind();
+
+            // Hide progress bar
+            hideProgressDialog();
+
+            if (errorCode == UpdateEngine.ErrorCodeConstants.SUCCESS) {
+                Log.i(TAG, "applyPayload successful");
+
+                // Save changed preference
+                Settings.Global.putInt(
+                        mContext.getContentResolver(),
+                        Settings.Global.ENABLE_16K_PAGES,
+                        mEnable16k ? ENABLE_16K_PAGE_SIZE : ENABLE_4K_PAGE_SIZE);
+
+                // Publish system update info
+                SystemUpdateManager manager = mContext.getSystemService(SystemUpdateManager.class);
+                PersistableBundle info =
+                        createUpdateInfo(SystemUpdateManager.STATUS_WAITING_REBOOT);
+                manager.updateSystemUpdateInfo(info);
+
+                // Restart device to complete update
+                PowerManager pm = mContext.getSystemService(PowerManager.class);
+                pm.reboot(REBOOT_REASON);
+            } else {
+                Log.e(TAG, "applyPayload failed, error code: " + errorCode);
+                displayToast(mContext.getString(R.string.toast_16k_update_failed_text));
+            }
+        }
+    }
+
+    private AlertDialog makeProgressDialog() {
+        AlertDialog.Builder builder = new AlertDialog.Builder(mFragment.getActivity());
+        builder.setTitle(R.string.progress_16k_ota_title);
+
+        final ProgressBar progressBar = new ProgressBar(mFragment.getActivity());
+        LinearLayout.LayoutParams params =
+                new LinearLayout.LayoutParams(
+                        LinearLayout.LayoutParams.WRAP_CONTENT,
+                        LinearLayout.LayoutParams.WRAP_CONTENT);
+        progressBar.setLayoutParams(params);
+        builder.setView(progressBar);
+        builder.setCancelable(false);
+        return builder.create();
+    }
+
+    private PersistableBundle createUpdateInfo(int status) {
+        PersistableBundle infoBundle = new PersistableBundle();
+        infoBundle.putInt(SystemUpdateManager.KEY_STATUS, status);
+        infoBundle.putBoolean(SystemUpdateManager.KEY_IS_SECURITY_UPDATE, false);
+        infoBundle.putString(SystemUpdateManager.KEY_TITLE, EXPERIMENTAL_UPDATE_TITLE);
+        return infoBundle;
+    }
+}
diff --git a/src/com/android/settings/development/Enable16kPagesWarningDialog.java b/src/com/android/settings/development/Enable16kPagesWarningDialog.java
new file mode 100644
index 0000000..5c27b3f
--- /dev/null
+++ b/src/com/android/settings/development/Enable16kPagesWarningDialog.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.development;
+
+import android.app.Dialog;
+import android.app.settings.SettingsEnums;
+import android.content.DialogInterface;
+import android.os.Bundle;
+
+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;
+
+/** Dialog when user interacts 16K pages developer option */
+public class Enable16kPagesWarningDialog extends InstrumentedDialogFragment
+        implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
+
+    public static final String TAG = "Enable16KDialog";
+    private static final String DIALOG_BUNDLE_KEY = "SHOW_16K_DIALOG";
+
+    private Enable16kbPagesDialogHost mHost;
+
+    private void setHost(@NonNull Enable16kbPagesDialogHost host) {
+        mHost = host;
+    }
+
+    /** This method is used to show warning dialog to apply 16K update and reboot */
+    public static void show(
+            @NonNull Fragment hostFragment,
+            @NonNull Enable16kbPagesDialogHost dialogHost,
+            boolean enable16k) {
+        final FragmentManager manager = hostFragment.getActivity().getSupportFragmentManager();
+        Fragment existingFragment = manager.findFragmentByTag(TAG);
+        if (existingFragment == null) {
+            existingFragment = new Enable16kPagesWarningDialog();
+        }
+
+        if (existingFragment instanceof Enable16kPagesWarningDialog) {
+            Bundle bundle = new Bundle();
+            bundle.putBoolean(DIALOG_BUNDLE_KEY, enable16k);
+            existingFragment.setArguments(bundle);
+            existingFragment.setTargetFragment(hostFragment, 0 /* requestCode */);
+            ((Enable16kPagesWarningDialog) existingFragment).setHost(dialogHost);
+            ((Enable16kPagesWarningDialog) existingFragment).show(manager, TAG);
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.DIALOG_ENABLE_16K_PAGES;
+    }
+
+    @NonNull
+    @Override
+    public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
+        final Bundle bundle = getArguments();
+        boolean is16kDialog = bundle.getBoolean(DIALOG_BUNDLE_KEY);
+        return new AlertDialog.Builder(getActivity())
+                .setTitle(
+                        is16kDialog
+                                ? R.string.confirm_enable_16k_pages_title
+                                : R.string.confirm_enable_4k_pages_title)
+                .setMessage(
+                        is16kDialog
+                                ? R.string.confirm_enable_16k_pages_text
+                                : R.string.confirm_enable_4k_pages_text)
+                .setPositiveButton(android.R.string.ok, this /* onClickListener */)
+                .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
+                .create();
+    }
+
+    @Override
+    public void onClick(@NonNull DialogInterface dialog, int buttonId) {
+        if (buttonId == DialogInterface.BUTTON_POSITIVE) {
+            mHost.on16kPagesDialogConfirmed();
+        } else {
+            mHost.on16kPagesDialogDismissed();
+        }
+    }
+
+    @Override
+    public void onDismiss(@NonNull DialogInterface dialog) {
+        super.onDismiss(dialog);
+        mHost.on16kPagesDialogDismissed();
+    }
+}
diff --git a/src/com/android/settings/development/Enable16kbPagesDialogHost.java b/src/com/android/settings/development/Enable16kbPagesDialogHost.java
new file mode 100644
index 0000000..fc54bd4
--- /dev/null
+++ b/src/com/android/settings/development/Enable16kbPagesDialogHost.java
@@ -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.development;
+
+/** Interface for Enable16kbPagesDialogHost callbacks. */
+public interface Enable16kbPagesDialogHost {
+    /** Callback when the user presses ok the warning dialog. */
+    void on16kPagesDialogConfirmed();
+
+    /** Callback when the user cancels or dismisses the warning dialog. */
+    void on16kPagesDialogDismissed();
+}
diff --git a/src/com/android/settings/development/EnableAdbWarningDialog.java b/src/com/android/settings/development/EnableAdbWarningDialog.java
index 5204130..0b65be2 100644
--- a/src/com/android/settings/development/EnableAdbWarningDialog.java
+++ b/src/com/android/settings/development/EnableAdbWarningDialog.java
@@ -25,7 +25,6 @@
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 
 public class EnableAdbWarningDialog extends InstrumentedDialogFragment implements
@@ -50,8 +49,8 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.adb_warning_title)
-                .setMessage(R.string.adb_warning_message)
+                .setTitle(com.android.settingslib.R.string.adb_warning_title)
+                .setMessage(com.android.settingslib.R.string.adb_warning_message)
                 .setPositiveButton(android.R.string.ok, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/EnableBlursPreferenceController.java b/src/com/android/settings/development/EnableBlursPreferenceController.java
index 129d999..d3a521a 100644
--- a/src/com/android/settings/development/EnableBlursPreferenceController.java
+++ b/src/com/android/settings/development/EnableBlursPreferenceController.java
@@ -23,7 +23,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -69,7 +69,7 @@
     public void updateState(Preference preference) {
         boolean isEnabled = Settings.Global.getInt(mContext.getContentResolver(),
                     Settings.Global.DISABLE_WINDOW_BLURS, 0) == 0;
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
diff --git a/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java b/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
index 6b84cdc..497d7d6 100644
--- a/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
+++ b/src/com/android/settings/development/EnableDevelopmentSettingWarningDialog.java
@@ -24,8 +24,8 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentManager;
 
-import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settingslib.R;
 
 public class EnableDevelopmentSettingWarningDialog extends InstrumentedDialogFragment
         implements DialogInterface.OnClickListener {
diff --git a/src/com/android/settings/development/EnableGnssRawMeasFullTrackingPreferenceController.java b/src/com/android/settings/development/EnableGnssRawMeasFullTrackingPreferenceController.java
index 6348d62..69a4154 100644
--- a/src/com/android/settings/development/EnableGnssRawMeasFullTrackingPreferenceController.java
+++ b/src/com/android/settings/development/EnableGnssRawMeasFullTrackingPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,8 @@
         final int enableGnssRawMeasFullTrackingMode =
                 Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(enableGnssRawMeasFullTrackingMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference)
+                .setChecked(enableGnssRawMeasFullTrackingMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,6 +68,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_GNSS_RAW_MEAS_FULL_TRACKING, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/EnableGpuDebugLayersPreferenceController.java b/src/com/android/settings/development/EnableGpuDebugLayersPreferenceController.java
index 163605f..847bd41 100644
--- a/src/com/android/settings/development/EnableGpuDebugLayersPreferenceController.java
+++ b/src/com/android/settings/development/EnableGpuDebugLayersPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -58,7 +58,8 @@
     public void updateState(Preference preference) {
         final int enableGpuDebugLayersMode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_GPU_DEBUG_LAYERS, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(enableGpuDebugLayersMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference)
+                .setChecked(enableGpuDebugLayersMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -66,6 +67,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.ENABLE_GPU_DEBUG_LAYERS, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java b/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
index 9bfe9d2..0375acc 100644
--- a/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
+++ b/src/com/android/settings/development/EnableOemUnlockSettingWarningDialog.java
@@ -51,8 +51,8 @@
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         return new AlertDialog.Builder(getActivity())
-                .setTitle(R.string.confirm_enable_oem_unlock_title)
-                .setMessage(R.string.confirm_enable_oem_unlock_text)
+                .setTitle(com.android.settingslib.R.string.confirm_enable_oem_unlock_title)
+                .setMessage(com.android.settingslib.R.string.confirm_enable_oem_unlock_text)
                 .setPositiveButton(R.string.enable_text, this /* onClickListener */)
                 .setNegativeButton(android.R.string.cancel, this /* onClickListener */)
                 .create();
diff --git a/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java b/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
index f13143d..ab65139 100644
--- a/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
+++ b/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceController.java
@@ -16,16 +16,16 @@
 
 package com.android.settings.development;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.hardware.dumpstate.V1_0.IDumpstateDevice;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -84,7 +84,7 @@
         ThreadUtils.postOnBackgroundThread(() -> {
                     final boolean enabled = getVerboseLoggingEnabled();
                     ThreadUtils.getUiThreadHandler().post(() ->
-                            ((SwitchPreference) mPreference).setChecked(enabled));
+                            ((TwoStatePreference) mPreference).setChecked(enabled));
                 }
         );
     }
@@ -95,7 +95,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         ThreadUtils.postOnBackgroundThread(() ->
                 setVerboseLoggingEnabled(false));
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/ForceDarkPreferenceController.java b/src/com/android/settings/development/ForceDarkPreferenceController.java
index 90e67e0..c81c16f 100644
--- a/src/com/android/settings/development/ForceDarkPreferenceController.java
+++ b/src/com/android/settings/development/ForceDarkPreferenceController.java
@@ -21,7 +21,7 @@
 import android.view.ThreadedRenderer;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -54,13 +54,13 @@
     public void updateState(Preference preference) {
         final boolean isEnabled = SystemProperties.getBoolean(
                 ThreadedRenderer.DEBUG_FORCE_DARK, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         SystemProperties.set(ThreadedRenderer.DEBUG_FORCE_DARK, null);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ForceEnableNotesRolePreferenceController.java b/src/com/android/settings/development/ForceEnableNotesRolePreferenceController.java
index 4060bb6..45eeafa 100644
--- a/src/com/android/settings/development/ForceEnableNotesRolePreferenceController.java
+++ b/src/com/android/settings/development/ForceEnableNotesRolePreferenceController.java
@@ -39,7 +39,7 @@
 import android.os.UserManager;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
@@ -81,13 +81,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) mPreference).setChecked(isEnabled());
+        ((TwoStatePreference) mPreference).setChecked(isEnabled());
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
         setEnabled(false);
     }
 
diff --git a/src/com/android/settings/development/ForceMSAAPreferenceController.java b/src/com/android/settings/development/ForceMSAAPreferenceController.java
index a1a4d66..4fd4cc2 100644
--- a/src/com/android/settings/development/ForceMSAAPreferenceController.java
+++ b/src/com/android/settings/development/ForceMSAAPreferenceController.java
@@ -20,7 +20,7 @@
 import android.sysprop.DisplayProperties;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -51,13 +51,13 @@
     @Override
     public void updateState(Preference preference) {
         final boolean isEnabled = DisplayProperties.debug_force_msaa().orElse(false);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         DisplayProperties.debug_force_msaa(false);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ForcePeakRefreshRatePreferenceController.java b/src/com/android/settings/development/ForcePeakRefreshRatePreferenceController.java
index d5d4025..abeb949 100644
--- a/src/com/android/settings/development/ForcePeakRefreshRatePreferenceController.java
+++ b/src/com/android/settings/development/ForcePeakRefreshRatePreferenceController.java
@@ -16,17 +16,19 @@
 
 package com.android.settings.development;
 
+import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE;
+import static com.android.internal.display.RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay;
+
 import android.content.Context;
-import android.hardware.display.DisplayManager;
 import android.provider.Settings;
 import android.util.Log;
-import android.view.Display;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
+import com.android.server.display.feature.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -35,9 +37,6 @@
         implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
 
     @VisibleForTesting
-    static float DEFAULT_REFRESH_RATE = 60f;
-
-    @VisibleForTesting
     static float NO_CONFIG = 0f;
 
     @VisibleForTesting
@@ -48,17 +47,7 @@
 
     public ForcePeakRefreshRatePreferenceController(Context context) {
         super(context);
-
-        final DisplayManager dm = context.getSystemService(DisplayManager.class);
-        final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY);
-
-        if (display == null) {
-            Log.w(TAG, "No valid default display device");
-            mPeakRefreshRate = DEFAULT_REFRESH_RATE;
-        } else {
-            mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes());
-        }
-
+        mPeakRefreshRate = findHighestRefreshRateForDefaultDisplay(context);
         Log.d(TAG, "DEFAULT_REFRESH_RATE : " + DEFAULT_REFRESH_RATE
             + " mPeakRefreshRate : " + mPeakRefreshRate);
     }
@@ -84,7 +73,7 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) mPreference).setChecked(isForcePeakRefreshRateEnabled());
+        ((TwoStatePreference) mPreference).setChecked(isForcePeakRefreshRateEnabled());
     }
 
     @Override
@@ -102,12 +91,14 @@
         Settings.System.putFloat(mContext.getContentResolver(),
             Settings.System.MIN_REFRESH_RATE, NO_CONFIG);
 
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
     void forcePeakRefreshRate(boolean enable) {
-        final float peakRefreshRate = enable ? mPeakRefreshRate : NO_CONFIG;
+        final float valueIfEnabled = Flags.backUpSmoothDisplayAndForcePeakRefreshRate()
+                ? Float.POSITIVE_INFINITY : mPeakRefreshRate;
+        final float peakRefreshRate = enable ? valueIfEnabled : NO_CONFIG;
         Settings.System.putFloat(mContext.getContentResolver(),
             Settings.System.MIN_REFRESH_RATE, peakRefreshRate);
     }
@@ -116,17 +107,7 @@
         final float peakRefreshRate = Settings.System.getFloat(mContext.getContentResolver(),
             Settings.System.MIN_REFRESH_RATE, NO_CONFIG);
 
-        return peakRefreshRate >= mPeakRefreshRate;
-    }
-
-    private float findPeakRefreshRate(Display.Mode[] modes) {
-        float peakRefreshRate = DEFAULT_REFRESH_RATE;
-        for (Display.Mode mode : modes) {
-            if (Math.round(mode.getRefreshRate()) > peakRefreshRate) {
-                peakRefreshRate = mode.getRefreshRate();
-            }
-        }
-
-        return peakRefreshRate;
+        return Math.round(peakRefreshRate) == Math.round(mPeakRefreshRate)
+                || Float.isInfinite(peakRefreshRate);
     }
 }
diff --git a/src/com/android/settings/development/FreeformWindowsPreferenceController.java b/src/com/android/settings/development/FreeformWindowsPreferenceController.java
index 8bb2b1c..872c046 100644
--- a/src/com/android/settings/development/FreeformWindowsPreferenceController.java
+++ b/src/com/android/settings/development/FreeformWindowsPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -69,7 +69,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -77,7 +77,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/GameDefaultFrameRatePreferenceController.java b/src/com/android/settings/development/GameDefaultFrameRatePreferenceController.java
new file mode 100644
index 0000000..00001fb
--- /dev/null
+++ b/src/com/android/settings/development/GameDefaultFrameRatePreferenceController.java
@@ -0,0 +1,146 @@
+/*
+ * 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.development;
+
+
+import android.app.IGameManagerService;
+import android.content.Context;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.os.SystemProperties;
+
+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.settings.flags.Flags;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+public class GameDefaultFrameRatePreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin  {
+    private static final String TAG = "GameDefFrameRatePrefCtr";
+    private static final String DISABLE_GAME_DEFAULT_FRAME_RATE_KEY =
+            "disable_game_default_frame_rate";
+    private final IGameManagerService mGameManagerService;
+    static final String PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED =
+            "debug.graphics.game_default_frame_rate.disabled";
+
+    private final DevelopmentSystemPropertiesWrapper mSysProps;
+    private int mGameDefaultFrameRateValue;
+
+    @VisibleForTesting
+    static class Injector {
+        public DevelopmentSystemPropertiesWrapper createSystemPropertiesWrapper() {
+            return new DevelopmentSystemPropertiesWrapper() {
+                @Override
+                public String get(String key, String def) {
+                    return SystemProperties.get(key, def);
+                }
+                @Override
+                public boolean getBoolean(String key, boolean def) {
+                    return SystemProperties.getBoolean(key, def);
+                }
+
+                @Override
+                public int getInt(String key, int def) {
+                    return SystemProperties.getInt(key, def);
+                }
+
+                @Override
+                public void set(String key, String val) {
+                    SystemProperties.set(key, val);
+                }
+            };
+        }
+    }
+
+    public GameDefaultFrameRatePreferenceController(Context context) {
+        super(context);
+        mGameManagerService = IGameManagerService.Stub.asInterface(
+                ServiceManager.getService(Context.GAME_SERVICE));
+
+        mSysProps = new Injector().createSystemPropertiesWrapper();
+
+        mGameDefaultFrameRateValue = mSysProps.getInt(
+                "ro.surface_flinger.game_default_frame_rate_override", 60);
+    }
+
+    @VisibleForTesting
+    GameDefaultFrameRatePreferenceController(Context context,
+                                             IGameManagerService gameManagerService,
+                                             Injector injector) {
+        super(context);
+        mGameManagerService = gameManagerService;
+        mSysProps = injector.createSystemPropertiesWrapper();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return DISABLE_GAME_DEFAULT_FRAME_RATE_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isDisabled = (Boolean) newValue;
+        try {
+            mGameManagerService.toggleGameDefaultFrameRate(!isDisabled);
+            updateGameDefaultPreferenceSetting();
+        } catch (RemoteException e) {
+            // intentional no-op
+        }
+        return true;
+    }
+
+    private void updateGameDefaultPreferenceSetting() {
+        final boolean isDisabled =
+                mSysProps.getBoolean(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED,
+                        false);
+        ((TwoStatePreference) mPreference).setChecked(isDisabled);
+        mPreference.setSummary(mContext.getString(
+                R.string.disable_game_default_frame_rate_summary,
+                mGameDefaultFrameRateValue));
+    }
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateGameDefaultPreferenceSetting();
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return Flags.developmentGameDefaultFrameRate();
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        final TwoStatePreference preference = (TwoStatePreference) mPreference;
+        if (preference.isChecked()) {
+            // When the developer option is disabled, we should set everything
+            // to off, that is, enabling game default frame rate.
+            try {
+                mGameManagerService.toggleGameDefaultFrameRate(true);
+            } catch (RemoteException e) {
+                // intentional no-op
+            }
+        }
+        preference.setChecked(false);
+    }
+
+}
diff --git a/src/com/android/settings/development/GlobalSettingSwitchPreferenceController.java b/src/com/android/settings/development/GlobalSettingSwitchPreferenceController.java
index d79c231..1c16762 100644
--- a/src/com/android/settings/development/GlobalSettingSwitchPreferenceController.java
+++ b/src/com/android/settings/development/GlobalSettingSwitchPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -67,13 +67,13 @@
     public void updateState(Preference preference) {
         final int mode =
             Settings.Global.getInt(mContext.getContentResolver(), mSettingsKey, mDefault);
-        ((SwitchPreference) mPreference).setChecked(mode != mOff);
+        ((TwoStatePreference) mPreference).setChecked(mode != mOff);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(), mSettingsKey, mOff);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/GpuViewUpdatesPreferenceController.java b/src/com/android/settings/development/GpuViewUpdatesPreferenceController.java
index 0087e28..dc0c984 100644
--- a/src/com/android/settings/development/GpuViewUpdatesPreferenceController.java
+++ b/src/com/android/settings/development/GpuViewUpdatesPreferenceController.java
@@ -21,7 +21,7 @@
 import android.view.ThreadedRenderer;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -54,13 +54,13 @@
     public void updateState(Preference preference) {
         final boolean isEnabled = SystemProperties.getBoolean(
                 ThreadedRenderer.DEBUG_DIRTY_REGIONS_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         SystemProperties.set(ThreadedRenderer.DEBUG_DIRTY_REGIONS_PROPERTY, null);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/GrammaticalGenderPreferenceController.java b/src/com/android/settings/development/GrammaticalGenderPreferenceController.java
new file mode 100644
index 0000000..0540974
--- /dev/null
+++ b/src/com/android/settings/development/GrammaticalGenderPreferenceController.java
@@ -0,0 +1,103 @@
+/*
+ * Copyright (C) 2020 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.development;
+
+import android.app.ActivityManager;
+import android.app.IActivityManager;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+import android.text.TextUtils;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Preference controller to control Grammatical Gender
+ */
+public class GrammaticalGenderPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String GRAMMATICAL_GENDER_KEY =
+            "grammatical_gender";
+    @VisibleForTesting
+    static final String GRAMMATICAL_GENDER_PROPERTY = "persist.sys.grammatical_gender";
+    private final String[] mListValues;
+    private final String[] mListSummaries;
+
+    private IActivityManager mActivityManager;
+
+    public GrammaticalGenderPreferenceController(Context context) {
+        this(context, ActivityManager.getService());
+    }
+
+    @VisibleForTesting
+    GrammaticalGenderPreferenceController(Context context,
+            IActivityManager activityManager) {
+        super(context);
+
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.grammatical_gender_values);
+        mListSummaries = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.grammatical_gender_entries);
+        mActivityManager = activityManager;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return GRAMMATICAL_GENDER_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        SystemProperties.set(GRAMMATICAL_GENDER_PROPERTY, newValue.toString());
+        updateState(mPreference);
+        try {
+            Configuration config = mActivityManager.getConfiguration();
+            config.setGrammaticalGender(Integer.parseInt(newValue.toString()));
+            mActivityManager.updatePersistentConfiguration(config);
+        } catch (RemoteException ex) {
+            // intentional no-op
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        final ListPreference listPreference = (ListPreference) preference;
+        final String currentValue = SystemProperties.get(GRAMMATICAL_GENDER_PROPERTY);
+        int index = 0; // Defaults to Not Selected
+        for (int i = 0; i < mListValues.length; i++) {
+            if (TextUtils.equals(currentValue, mListValues[i])) {
+                index = i;
+                break;
+            }
+        }
+        listPreference.setValue(mListValues[index]);
+        listPreference.setSummary(mListSummaries[index]);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return android.app.Flags.systemTermsOfAddressEnabled();
+    }
+}
diff --git a/src/com/android/settings/development/HardwareLayersUpdatesPreferenceController.java b/src/com/android/settings/development/HardwareLayersUpdatesPreferenceController.java
index 8ffbdcd..5a1f6f5 100644
--- a/src/com/android/settings/development/HardwareLayersUpdatesPreferenceController.java
+++ b/src/com/android/settings/development/HardwareLayersUpdatesPreferenceController.java
@@ -21,7 +21,7 @@
 import android.view.ThreadedRenderer;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -54,13 +54,13 @@
     public void updateState(Preference preference) {
         final boolean isEnabled = SystemProperties.getBoolean(
                 ThreadedRenderer.DEBUG_SHOW_LAYERS_UPDATES_PROPERTY, false /* default */);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         SystemProperties.set(ThreadedRenderer.DEBUG_SHOW_LAYERS_UPDATES_PROPERTY, null);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/HardwareOverlaysPreferenceController.java b/src/com/android/settings/development/HardwareOverlaysPreferenceController.java
index c10e107..8ebf3cd 100644
--- a/src/com/android/settings/development/HardwareOverlaysPreferenceController.java
+++ b/src/com/android/settings/development/HardwareOverlaysPreferenceController.java
@@ -24,7 +24,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -71,7 +71,7 @@
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        final SwitchPreference switchPreference = (SwitchPreference) mPreference;
+        final TwoStatePreference switchPreference = (TwoStatePreference) mPreference;
         if (switchPreference.isChecked()) {
             // Writing false to the preference when the setting is already off will have a
             // side effect of turning on the preference that we wish to avoid
@@ -96,7 +96,7 @@
             @SuppressWarnings("unused") final int showUpdates = reply.readInt();
             @SuppressWarnings("unused") final int showBackground = reply.readInt();
             final int disableOverlays = reply.readInt();
-            ((SwitchPreference) mPreference).setChecked(disableOverlays != SETTING_VALUE_OFF);
+            ((TwoStatePreference) mPreference).setChecked(disableOverlays != SETTING_VALUE_OFF);
             reply.recycle();
             data.recycle();
         } catch (RemoteException ex) {
diff --git a/src/com/android/settings/development/HdcpCheckingPreferenceController.java b/src/com/android/settings/development/HdcpCheckingPreferenceController.java
index 52fe8e0..f3afcc2 100644
--- a/src/com/android/settings/development/HdcpCheckingPreferenceController.java
+++ b/src/com/android/settings/development/HdcpCheckingPreferenceController.java
@@ -25,8 +25,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
 
diff --git a/src/com/android/settings/development/KeepActivitiesPreferenceController.java b/src/com/android/settings/development/KeepActivitiesPreferenceController.java
index 0ba2c42..ef8daaa 100644
--- a/src/com/android/settings/development/KeepActivitiesPreferenceController.java
+++ b/src/com/android/settings/development/KeepActivitiesPreferenceController.java
@@ -25,7 +25,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -68,14 +68,14 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.ALWAYS_FINISH_ACTIVITIES, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         writeImmediatelyDestroyActivitiesOptions(false);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     private void writeImmediatelyDestroyActivitiesOptions(boolean isEnabled) {
diff --git a/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java b/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java
index d970f42..2303a91 100644
--- a/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java
+++ b/src/com/android/settings/development/LocalBackupPasswordPreferenceController.java
@@ -25,8 +25,8 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class LocalBackupPasswordPreferenceController extends DeveloperOptionsPreferenceController
diff --git a/src/com/android/settings/development/LocalTerminalPreferenceController.java b/src/com/android/settings/development/LocalTerminalPreferenceController.java
index d48615c..797ba51 100644
--- a/src/com/android/settings/development/LocalTerminalPreferenceController.java
+++ b/src/com/android/settings/development/LocalTerminalPreferenceController.java
@@ -7,7 +7,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -63,7 +63,7 @@
     public void updateState(Preference preference) {
         final boolean isTerminalEnabled = mPackageManager.getApplicationEnabledSetting(
                 TERMINAL_APP_PACKAGE) == PackageManager.COMPONENT_ENABLED_STATE_ENABLED;
-        ((SwitchPreference) mPreference).setChecked(isTerminalEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isTerminalEnabled);
     }
 
     @Override
@@ -78,7 +78,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         mPackageManager.setApplicationEnabledSetting(TERMINAL_APP_PACKAGE,
                 PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0 /* flags */);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/MemoryUsagePreferenceController.java b/src/com/android/settings/development/MemoryUsagePreferenceController.java
index 1b20e70..ca8effa 100644
--- a/src/com/android/settings/development/MemoryUsagePreferenceController.java
+++ b/src/com/android/settings/development/MemoryUsagePreferenceController.java
@@ -17,6 +17,8 @@
 package com.android.settings.development;
 
 import android.content.Context;
+import android.os.Flags;
+import android.provider.Settings;
 import android.text.format.Formatter;
 
 import androidx.annotation.VisibleForTesting;
@@ -65,9 +67,13 @@
                     (long) memInfo.realUsedRam);
             final String totalResult = Formatter.formatShortFileSize(mContext,
                     (long) memInfo.realTotalRam);
-            ThreadUtils.postOnMainThread(
-                    () -> mPreference.setSummary(mContext.getString(R.string.memory_summary,
-                            usedResult, totalResult)));
+            boolean displayMemorySummary = !Flags.removeAppProfilerPssCollection();
+            displayMemorySummary |= Settings.Global.getInt(mContext.getContentResolver(),
+                    Settings.Global.FORCE_ENABLE_PSS_PROFILING, 0) == 1;
+            String summary = displayMemorySummary
+                    ? mContext.getString(R.string.memory_summary, usedResult, totalResult)
+                    : mContext.getString(R.string.pss_profiling_disabled);
+            ThreadUtils.postOnMainThread(() -> mPreference.setSummary(summary));
         });
     }
 
diff --git a/src/com/android/settings/development/MobileDataAlwaysOnPreferenceController.java b/src/com/android/settings/development/MobileDataAlwaysOnPreferenceController.java
index b2fa693..8d5990a 100644
--- a/src/com/android/settings/development/MobileDataAlwaysOnPreferenceController.java
+++ b/src/com/android/settings/development/MobileDataAlwaysOnPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
         final int mobileDataAlwaysOnMode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.MOBILE_DATA_ALWAYS_ON, SETTING_VALUE_ON);
 
-        ((SwitchPreference) mPreference).setChecked(mobileDataAlwaysOnMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mobileDataAlwaysOnMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,6 +67,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.MOBILE_DATA_ALWAYS_ON,
                 SETTING_VALUE_ON);
-        ((SwitchPreference) mPreference).setChecked(true);
+        ((TwoStatePreference) mPreference).setChecked(true);
     }
 }
diff --git a/src/com/android/settings/development/MockLocationAppPreferenceController.java b/src/com/android/settings/development/MockLocationAppPreferenceController.java
index 6b0ed03..d927c31 100644
--- a/src/com/android/settings/development/MockLocationAppPreferenceController.java
+++ b/src/com/android/settings/development/MockLocationAppPreferenceController.java
@@ -21,17 +21,20 @@
 import android.Manifest;
 import android.app.Activity;
 import android.app.AppOpsManager;
+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.os.Bundle;
+import android.provider.Settings;
 import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 import java.util.List;
@@ -65,10 +68,26 @@
         if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
             return false;
         }
-        final Intent intent = new Intent(mContext, AppPicker.class);
-        intent.putExtra(AppPicker.EXTRA_REQUESTIING_PERMISSION,
-                Manifest.permission.ACCESS_MOCK_LOCATION);
-        mFragment.startActivityForResult(intent, REQUEST_MOCK_LOCATION_APP);
+        if (Flags.deprecateListActivity()) {
+            final Bundle args = new Bundle();
+            args.putString(DevelopmentAppPicker.EXTRA_REQUESTING_PERMISSION,
+                    Manifest.permission.ACCESS_MOCK_LOCATION);
+            final String debugApp = Settings.Global.getString(
+                    mContext.getContentResolver(), Settings.Global.DEBUG_APP);
+            args.putString(DevelopmentAppPicker.EXTRA_SELECTING_APP, debugApp);
+            new SubSettingLauncher(mContext)
+                    .setDestination(DevelopmentAppPicker.class.getName())
+                    .setSourceMetricsCategory(SettingsEnums.DEVELOPMENT)
+                    .setArguments(args)
+                    .setTitleRes(com.android.settingslib.R.string.select_application)
+                    .setResultListener(mFragment, REQUEST_MOCK_LOCATION_APP)
+                    .launch();
+        } else {
+            final Intent intent = new Intent(mContext, AppPicker.class);
+            intent.putExtra(AppPicker.EXTRA_REQUESTIING_PERMISSION,
+                    Manifest.permission.ACCESS_MOCK_LOCATION);
+            mFragment.startActivityForResult(intent, REQUEST_MOCK_LOCATION_APP);
+        }
         return true;
     }
 
@@ -98,11 +117,13 @@
 
         if (!TextUtils.isEmpty(mockLocationApp)) {
             mPreference.setSummary(
-                    mContext.getResources().getString(R.string.mock_location_app_set,
-                            getAppLabel(mockLocationApp)));
+                    mContext.getResources()
+                            .getString(com.android.settingslib.R.string.mock_location_app_set,
+                                    getAppLabel(mockLocationApp)));
         } else {
             mPreference.setSummary(
-                    mContext.getResources().getString(R.string.mock_location_app_not_set));
+                    mContext.getResources()
+                            .getString(com.android.settingslib.R.string.mock_location_app_not_set));
         }
     }
 
diff --git a/src/com/android/settings/development/MockModemPreferenceController.java b/src/com/android/settings/development/MockModemPreferenceController.java
index 655f157..aaca787 100644
--- a/src/com/android/settings/development/MockModemPreferenceController.java
+++ b/src/com/android/settings/development/MockModemPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -67,7 +67,7 @@
         try {
             final boolean isEnabled = SystemProperties.getBoolean(
                     ALLOW_MOCK_MODEM_PROPERTY, false /* default */);
-            ((SwitchPreference) mPreference).setChecked(isEnabled);
+            ((TwoStatePreference) mPreference).setChecked(isEnabled);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to get radio system property: " + e.getMessage());
         }
@@ -78,7 +78,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         try {
             SystemProperties.set(ALLOW_MOCK_MODEM_PROPERTY, "false");
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to set radio system property: " + e.getMessage());
         }
diff --git a/src/com/android/settings/development/NfcSnoopLogPreferenceController.java b/src/com/android/settings/development/NfcSnoopLogPreferenceController.java
index ef7e194..01fbb92 100644
--- a/src/com/android/settings/development/NfcSnoopLogPreferenceController.java
+++ b/src/com/android/settings/development/NfcSnoopLogPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -69,7 +69,7 @@
     public void updateState(Preference preference) {
         try {
             final String currentValue = SystemProperties.get(NFC_NFCSNOOP_LOG_MODE_PROPERTY);
-            ((SwitchPreference) mPreference).setChecked(currentValue.equals(NFCSNOOP_MODE_FULL));
+            ((TwoStatePreference) mPreference).setChecked(currentValue.equals(NFCSNOOP_MODE_FULL));
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to get nfc system property: " + e.getMessage());
         }
@@ -80,7 +80,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         try {
             SystemProperties.set(NFC_NFCSNOOP_LOG_MODE_PROPERTY, NFCSNOOP_MODE_FILTERED);
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to set nfc system property: " + e.getMessage());
         }
diff --git a/src/com/android/settings/development/NfcStackDebugLogPreferenceController.java b/src/com/android/settings/development/NfcStackDebugLogPreferenceController.java
index a3cab25..4464923 100644
--- a/src/com/android/settings/development/NfcStackDebugLogPreferenceController.java
+++ b/src/com/android/settings/development/NfcStackDebugLogPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -63,7 +63,7 @@
         try {
             final boolean isEnabled = SystemProperties.getBoolean(
                     NFC_STACK_DEBUGLOG_ENABLED_PROPERTY, false /* default */);
-            ((SwitchPreference) mPreference).setChecked(isEnabled);
+            ((TwoStatePreference) mPreference).setChecked(isEnabled);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to get nfc system property: " + e.getMessage());
         }
@@ -74,7 +74,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         try {
             SystemProperties.set(NFC_STACK_DEBUGLOG_ENABLED_PROPERTY, "false");
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to set nfc system property: " + e.getMessage());
         }
diff --git a/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java b/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java
index dcac14c..d0f9d9e 100644
--- a/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java
+++ b/src/com/android/settings/development/NfcVerboseVendorLogPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -69,7 +69,7 @@
     public void updateState(Preference preference) {
         try {
             final String currentValue = SystemProperties.get(NFC_VERBOSE_VENDOR_LOG_PROPERTY);
-            ((SwitchPreference) mPreference)
+            ((TwoStatePreference) mPreference)
                     .setChecked(currentValue.equals(VERBOSE_VENDOR_LOG_ENABLED));
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to get nfc system property: " + e.getMessage());
@@ -81,7 +81,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         try {
             SystemProperties.set(NFC_VERBOSE_VENDOR_LOG_PROPERTY, VERBOSE_VENDOR_LOG_DISABLED);
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to set nfc system property: " + e.getMessage());
         }
diff --git a/src/com/android/settings/development/NonResizableMultiWindowPreferenceController.java b/src/com/android/settings/development/NonResizableMultiWindowPreferenceController.java
index b1c4be9..50d90bd 100644
--- a/src/com/android/settings/development/NonResizableMultiWindowPreferenceController.java
+++ b/src/com/android/settings/development/NonResizableMultiWindowPreferenceController.java
@@ -23,7 +23,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -66,7 +66,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -74,6 +74,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 DEVELOPMENT_ENABLE_NON_RESIZABLE_MULTI_WINDOW, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/NotificationChannelWarningsPreferenceController.java b/src/com/android/settings/development/NotificationChannelWarningsPreferenceController.java
index 22b3f83..93fe7f0 100644
--- a/src/com/android/settings/development/NotificationChannelWarningsPreferenceController.java
+++ b/src/com/android/settings/development/NotificationChannelWarningsPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -62,7 +62,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.SHOW_NOTIFICATION_CHANNEL_WARNINGS, 0);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -70,7 +70,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.SHOW_NOTIFICATION_CHANNEL_WARNINGS, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/OWNERS b/src/com/android/settings/development/OWNERS
new file mode 100644
index 0000000..92c8cfa
--- /dev/null
+++ b/src/com/android/settings/development/OWNERS
@@ -0,0 +1,11 @@
+# GameDefaultFrameRatePreferenceController
+per-file GameDefaultFrameRatePreferenceController.java=file:platform/frameworks/base:/GAME_MANAGER_OWNERS
+
+# SensitiveContentProtectionPreferenceController
+per-file SensitiveContentProtectionPreferenceController.kt=file:platform/frameworks/base:/core/java/android/permission/OWNERS
+
+# ShowHdrSdrRatioPreferenceController
+per-file ShowHdrSdrRatioPreferenceController.java=file:platform/frameworks/native:/services/surfaceflinger/OWNERS
+
+# ShowRefreshRatePreferenceController
+per-file ShowRefreshRatePreferenceController.java=file:platform/frameworks/native:/services/surfaceflinger/OWNERS
diff --git a/src/com/android/settings/development/OemUnlockPreferenceController.java b/src/com/android/settings/development/OemUnlockPreferenceController.java
index 118312a..9076f9a 100644
--- a/src/com/android/settings/development/OemUnlockPreferenceController.java
+++ b/src/com/android/settings/development/OemUnlockPreferenceController.java
@@ -159,7 +159,7 @@
     }
 
     private void updateOemUnlockSettingDescription() {
-        int oemUnlockSummary = R.string.oem_unlock_enable_summary;
+        int oemUnlockSummary = com.android.settingslib.R.string.oem_unlock_enable_summary;
         if (isBootloaderUnlocked()) {
             oemUnlockSummary = R.string.oem_unlock_enable_disabled_summary_bootloader_unlocked;
         } else if (isSimLockedDevice()) {
@@ -203,7 +203,7 @@
         final ChooseLockSettingsHelper.Builder builder =
                 new ChooseLockSettingsHelper.Builder(mActivity, mFragment);
         return builder.setRequestCode(requestCode)
-                .setTitle(resources.getString(R.string.oem_unlock_enable))
+                .setTitle(resources.getString(com.android.settingslib.R.string.oem_unlock_enable))
                 .show();
     }
 
diff --git a/src/com/android/settings/development/OverlaySettingsPreferenceController.java b/src/com/android/settings/development/OverlaySettingsPreferenceController.java
index cd08793..c60cb6f 100644
--- a/src/com/android/settings/development/OverlaySettingsPreferenceController.java
+++ b/src/com/android/settings/development/OverlaySettingsPreferenceController.java
@@ -23,7 +23,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) preference).setChecked(isOverlaySettingsEnabled(mContext));
+        ((TwoStatePreference) preference).setChecked(isOverlaySettingsEnabled(mContext));
     }
 
     /**
diff --git a/src/com/android/settings/development/PhantomProcessPreferenceController.java b/src/com/android/settings/development/PhantomProcessPreferenceController.java
index b277fe1..f03cf95 100644
--- a/src/com/android/settings/development/PhantomProcessPreferenceController.java
+++ b/src/com/android/settings/development/PhantomProcessPreferenceController.java
@@ -23,7 +23,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -66,7 +66,7 @@
         try {
             final boolean isEnabled = !FeatureFlagUtils.isEnabled(mContext,
                     SETTINGS_ENABLE_MONITOR_PHANTOM_PROCS);
-            ((SwitchPreference) mPreference).setChecked(isEnabled);
+            ((TwoStatePreference) mPreference).setChecked(isEnabled);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to get feature flag: " + e.getMessage());
         }
@@ -79,7 +79,7 @@
             FeatureFlagUtils.setEnabled(mContext,
                     SETTINGS_ENABLE_MONITOR_PHANTOM_PROCS,
                     true /* Enable the monitoring */);
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
         } catch (RuntimeException e) {
             Log.e(TAG, "Fail to set feature flag: " + e.getMessage());
         }
diff --git a/src/com/android/settings/development/PointerLocationPreferenceController.java b/src/com/android/settings/development/PointerLocationPreferenceController.java
index 0fd0137..3b76740 100644
--- a/src/com/android/settings/development/PointerLocationPreferenceController.java
+++ b/src/com/android/settings/development/PointerLocationPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -57,7 +57,7 @@
     public void updateState(Preference preference) {
         final int pointerLocationMode = Settings.System.getInt(mContext.getContentResolver(),
                 Settings.System.POINTER_LOCATION, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(pointerLocationMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(pointerLocationMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -65,6 +65,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.POINTER_LOCATION,
                 SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java b/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java
index 52e730b..2a0c1d6 100644
--- a/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java
+++ b/src/com/android/settings/development/ProfileGpuRenderingPreferenceController.java
@@ -24,7 +24,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 import com.android.settingslib.development.SystemPropPoker;
@@ -40,8 +39,10 @@
     public ProfileGpuRenderingPreferenceController(Context context) {
         super(context);
 
-        mListValues = context.getResources().getStringArray(R.array.track_frame_time_values);
-        mListSummaries = context.getResources().getStringArray(R.array.track_frame_time_entries);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.track_frame_time_values);
+        mListSummaries = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.track_frame_time_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/ResizableActivityPreferenceController.java b/src/com/android/settings/development/ResizableActivityPreferenceController.java
index c74e995..28b1478 100644
--- a/src/com/android/settings/development/ResizableActivityPreferenceController.java
+++ b/src/com/android/settings/development/ResizableActivityPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -58,7 +58,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -66,6 +66,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_FORCE_RESIZABLE_ACTIVITIES, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/RtlLayoutPreferenceController.java b/src/com/android/settings/development/RtlLayoutPreferenceController.java
index 913259e..bb7061d 100644
--- a/src/com/android/settings/development/RtlLayoutPreferenceController.java
+++ b/src/com/android/settings/development/RtlLayoutPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.app.LocalePicker;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -59,7 +59,7 @@
     public void updateState(Preference preference) {
         int rtlLayoutMode = Settings.Global.getInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_FORCE_RTL, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(rtlLayoutMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(rtlLayoutMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,7 +67,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         writeToForceRtlLayoutSetting(false);
         updateLocales();
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/SecondaryDisplayPreferenceController.java b/src/com/android/settings/development/SecondaryDisplayPreferenceController.java
index 3e1653d..572013c 100644
--- a/src/com/android/settings/development/SecondaryDisplayPreferenceController.java
+++ b/src/com/android/settings/development/SecondaryDisplayPreferenceController.java
@@ -23,8 +23,8 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.R;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class SecondaryDisplayPreferenceController extends DeveloperOptionsPreferenceController
diff --git a/src/com/android/settings/development/SecureSettingSwitchPreferenceController.java b/src/com/android/settings/development/SecureSettingSwitchPreferenceController.java
index a72c0e0..199ecab 100644
--- a/src/com/android/settings/development/SecureSettingSwitchPreferenceController.java
+++ b/src/com/android/settings/development/SecureSettingSwitchPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -54,13 +54,13 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Secure.getInt(
             mContext.getContentResolver(), mSettingsKey, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Secure.putInt(mContext.getContentResolver(), mSettingsKey, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/SelectDebugAppPreferenceController.java b/src/com/android/settings/development/SelectDebugAppPreferenceController.java
index b882c70..d691149 100644
--- a/src/com/android/settings/development/SelectDebugAppPreferenceController.java
+++ b/src/com/android/settings/development/SelectDebugAppPreferenceController.java
@@ -19,17 +19,20 @@
 import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_CODE_DEBUG_APP;
 
 import android.app.Activity;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
+import android.os.Bundle;
 import android.provider.Settings;
+import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.core.SubSettingLauncher;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
 public class SelectDebugAppPreferenceController extends DeveloperOptionsPreferenceController
@@ -54,13 +57,29 @@
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (DEBUG_APP_KEY.equals(preference.getKey())) {
+        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            return false;
+        }
+
+        if (Flags.deprecateListActivity()) {
+            final Bundle args = new Bundle();
+            args.putBoolean(DevelopmentAppPicker.EXTRA_DEBUGGABLE, true /* value */);
+            final String debugApp = Settings.Global.getString(
+                    mContext.getContentResolver(), Settings.Global.DEBUG_APP);
+            args.putString(DevelopmentAppPicker.EXTRA_SELECTING_APP, debugApp);
+            new SubSettingLauncher(mContext)
+                    .setDestination(DevelopmentAppPicker.class.getName())
+                    .setSourceMetricsCategory(SettingsEnums.DEVELOPMENT)
+                    .setArguments(args)
+                    .setTitleRes(com.android.settingslib.R.string.select_application)
+                    .setResultListener(mFragment, REQUEST_CODE_DEBUG_APP)
+                    .launch();
+        } else {
             final Intent intent = getActivityStartIntent();
             intent.putExtra(AppPicker.EXTRA_DEBUGGABLE, true /* value */);
             mFragment.startActivityForResult(intent, REQUEST_CODE_DEBUG_APP);
-            return true;
         }
-        return false;
+        return true;
     }
 
     @Override
@@ -82,7 +101,8 @@
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        mPreference.setSummary(mContext.getResources().getString(R.string.debug_app_not_set));
+        mPreference.setSummary(mContext.getResources()
+                .getString(com.android.settingslib.R.string.debug_app_not_set));
     }
 
     @VisibleForTesting
@@ -94,10 +114,12 @@
         final String debugApp = Settings.Global.getString(
                 mContext.getContentResolver(), Settings.Global.DEBUG_APP);
         if (debugApp != null && debugApp.length() > 0) {
-            mPreference.setSummary(mContext.getResources().getString(R.string.debug_app_set,
-                    getAppLabel(debugApp)));
+            mPreference.setSummary(mContext.getResources()
+                    .getString(com.android.settingslib.R.string.debug_app_set,
+                            getAppLabel(debugApp)));
         } else {
-            mPreference.setSummary(mContext.getResources().getString(R.string.debug_app_not_set));
+            mPreference.setSummary(mContext.getResources()
+                    .getString(com.android.settingslib.R.string.debug_app_not_set));
         }
     }
 
diff --git a/src/com/android/settings/development/SensitiveContentProtectionPreferenceController.kt b/src/com/android/settings/development/SensitiveContentProtectionPreferenceController.kt
new file mode 100644
index 0000000..e627f81
--- /dev/null
+++ b/src/com/android/settings/development/SensitiveContentProtectionPreferenceController.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.development
+
+import android.content.Context
+import android.permission.flags.Flags.sensitiveNotificationAppProtection
+import android.provider.Settings
+import androidx.annotation.VisibleForTesting
+import androidx.preference.Preference
+import androidx.preference.TwoStatePreference
+import com.android.server.notification.Flags.screenshareNotificationHiding
+import com.android.settings.core.PreferenceControllerMixin
+import com.android.settingslib.development.DeveloperOptionsPreferenceController
+
+class SensitiveContentProtectionPreferenceController(val context: Context) :
+    DeveloperOptionsPreferenceController(context),
+    Preference.OnPreferenceChangeListener,
+    PreferenceControllerMixin {
+
+    override fun getPreferenceKey(): String =
+        DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS_KEY
+
+    override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
+        val isEnabled = newValue as Boolean
+        Settings.Global.putInt(
+            mContext.getContentResolver(),
+            Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            if (isEnabled) SETTING_VALUE_ON else SETTING_VALUE_OFF
+        )
+        return true
+    }
+
+    override fun updateState(preference: Preference?) {
+        val mode = Settings.Global.getInt(
+            mContext.getContentResolver(),
+            Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            0)
+        (mPreference as TwoStatePreference).isChecked = mode != SETTING_VALUE_OFF
+    }
+
+    // Overriding as public, kotlin tests can not invoke a protected method
+    public override fun onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled()
+        Settings.Global.putInt(
+            mContext.getContentResolver(),
+            Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            SETTING_VALUE_OFF
+        )
+        (mPreference as TwoStatePreference).isChecked = false
+    }
+
+    override fun isAvailable(): Boolean {
+        return sensitiveNotificationAppProtection() || screenshareNotificationHiding()
+    }
+
+    companion object {
+        private const val DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS_KEY =
+            "disable_screen_share_protections_for_apps_and_notifications"
+
+        @VisibleForTesting
+        val SETTING_VALUE_ON = 1
+
+        @VisibleForTesting
+        val SETTING_VALUE_OFF = 0
+    }
+}
diff --git a/src/com/android/settings/development/ShowFirstCrashDialogPreferenceController.java b/src/com/android/settings/development/ShowFirstCrashDialogPreferenceController.java
index 5e0cda8..df5ad4e 100644
--- a/src/com/android/settings/development/ShowFirstCrashDialogPreferenceController.java
+++ b/src/com/android/settings/development/ShowFirstCrashDialogPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -66,7 +66,7 @@
     public void updateState(Preference preference) {
         final int mode = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.SHOW_FIRST_CRASH_DIALOG_DEV_OPTION, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -74,6 +74,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.SHOW_FIRST_CRASH_DIALOG_DEV_OPTION, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ShowHdrSdrRatioPreferenceController.java b/src/com/android/settings/development/ShowHdrSdrRatioPreferenceController.java
new file mode 100644
index 0000000..2e7807e
--- /dev/null
+++ b/src/com/android/settings/development/ShowHdrSdrRatioPreferenceController.java
@@ -0,0 +1,144 @@
+/**
+ * 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.development;
+
+import android.content.Context;
+import android.hardware.display.DisplayManager;
+import android.os.IBinder;
+import android.os.Parcel;
+import android.os.RemoteException;
+import android.os.ServiceManager;
+import android.view.Display;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.development.DeveloperOptionsPreferenceController;
+
+/**
+ * Controller class for controlling the hdr/sdr ratio on SurfaceFlinger
+ */
+public class ShowHdrSdrRatioPreferenceController extends DeveloperOptionsPreferenceController
+        implements Preference.OnPreferenceChangeListener, PreferenceControllerMixin {
+
+    private static final String SHOW_REFRESH_RATE_KEY = "show_hdr_sdr_ratio";
+
+    private static final int SETTING_VALUE_QUERY = 2;
+    private static final int SETTING_VALUE_ON = 1;
+    private static final int SETTING_VALUE_OFF = 0;
+
+    private static final String SURFACE_FLINGER_SERVICE_KEY = "SurfaceFlinger";
+
+    private static final int SURFACE_FLINGER_CODE = 1043;
+
+    private static final String SURFACE_COMPOSER_INTERFACE_KEY = "android.ui.ISurfaceComposer";
+
+    private final IBinder mSurfaceFlinger;
+
+    private final boolean mIsHdrSdrRatioAvailable;
+
+    public ShowHdrSdrRatioPreferenceController(Context context) {
+        super(context);
+        mSurfaceFlinger = ServiceManager.getService(SURFACE_FLINGER_SERVICE_KEY);
+        DisplayManager displayManager = context.getSystemService(DisplayManager.class);
+        Display display = displayManager.getDisplay(Display.DEFAULT_DISPLAY);
+        mIsHdrSdrRatioAvailable = display != null && display.isHdrSdrRatioAvailable();
+    }
+
+    @VisibleForTesting
+    ShowHdrSdrRatioPreferenceController(Context context, IBinder surfaceFlinger,
+                                        boolean isHdrSdrRatioAvailable) {
+        super(context);
+        mSurfaceFlinger = surfaceFlinger;
+        mIsHdrSdrRatioAvailable = isHdrSdrRatioAvailable;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return SHOW_REFRESH_RATE_KEY;
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final boolean isEnabled = (Boolean) newValue;
+        writeShowHdrSdrRatioSetting(isEnabled);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        updateShowHdrSdrRatioSetting();
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return Flags.developmentHdrSdrRatio() && mIsHdrSdrRatioAvailable;
+    }
+
+    @Override
+    protected void onDeveloperOptionsSwitchDisabled() {
+        super.onDeveloperOptionsSwitchDisabled();
+        final TwoStatePreference preference = (TwoStatePreference) mPreference;
+        if (preference.isChecked()) {
+            // Writing false to the preference when the setting is already off will have a
+            // side effect of turning on the preference that we wish to avoid
+            writeShowHdrSdrRatioSetting(false);
+            preference.setChecked(false);
+        }
+    }
+
+    private void updateShowHdrSdrRatioSetting() {
+        // magic communication with surface flinger.
+        try {
+            if (mSurfaceFlinger != null) {
+                final Parcel data = Parcel.obtain();
+                final Parcel reply = Parcel.obtain();
+                data.writeInterfaceToken(SURFACE_COMPOSER_INTERFACE_KEY);
+                data.writeInt(SETTING_VALUE_QUERY);
+                mSurfaceFlinger.transact(SURFACE_FLINGER_CODE, data, reply, 0 /* flags */);
+                final boolean enabled = reply.readBoolean();
+                ((TwoStatePreference) mPreference).setChecked(enabled);
+                reply.recycle();
+                data.recycle();
+            }
+        } catch (RemoteException ex) {
+            // intentional no-op
+        }
+    }
+
+    @VisibleForTesting
+    void writeShowHdrSdrRatioSetting(boolean isEnabled) {
+        try {
+            if (mSurfaceFlinger != null) {
+                final Parcel data = Parcel.obtain();
+                data.writeInterfaceToken(SURFACE_COMPOSER_INTERFACE_KEY);
+                final int showHdrSdrRatio = isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF;
+                data.writeInt(showHdrSdrRatio);
+                mSurfaceFlinger.transact(SURFACE_FLINGER_CODE, data,
+                        null /* reply */, 0 /* flags */);
+                data.recycle();
+            }
+        } catch (RemoteException ex) {
+            // intentional no-op
+        }
+        updateShowHdrSdrRatioSetting();
+    }
+}
diff --git a/src/com/android/settings/development/ShowKeyPressesPreferenceController.java b/src/com/android/settings/development/ShowKeyPressesPreferenceController.java
index 247f59a..e8faec5 100644
--- a/src/com/android/settings/development/ShowKeyPressesPreferenceController.java
+++ b/src/com/android/settings/development/ShowKeyPressesPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
     public void updateState(Preference preference) {
         int showKeyPresses = Settings.System.getInt(mContext.getContentResolver(),
                 Settings.System.SHOW_KEY_PRESSES, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(showKeyPresses != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(showKeyPresses != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -67,6 +67,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.SHOW_KEY_PRESSES,
                 SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java b/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java
index f78a297..f439874 100644
--- a/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java
+++ b/src/com/android/settings/development/ShowLayoutBoundsPreferenceController.java
@@ -20,7 +20,7 @@
 import android.sysprop.DisplayProperties;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -51,13 +51,13 @@
     @Override
     public void updateState(Preference preference) {
         final boolean isEnabled = DisplayProperties.debug_layout().orElse(false);
-        ((SwitchPreference) mPreference).setChecked(isEnabled);
+        ((TwoStatePreference) mPreference).setChecked(isEnabled);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         DisplayProperties.debug_layout(false);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/ShowRefreshRatePreferenceController.java b/src/com/android/settings/development/ShowRefreshRatePreferenceController.java
index e56268d..4d52252 100644
--- a/src/com/android/settings/development/ShowRefreshRatePreferenceController.java
+++ b/src/com/android/settings/development/ShowRefreshRatePreferenceController.java
@@ -24,7 +24,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -75,7 +75,7 @@
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        final SwitchPreference preference = (SwitchPreference) mPreference;
+        final TwoStatePreference preference = (TwoStatePreference) mPreference;
         if (preference.isChecked()) {
             // Writing false to the preference when the setting is already off will have a
             // side effect of turning on the preference that we wish to avoid
@@ -95,7 +95,7 @@
                 data.writeInt(SETTING_VALUE_QUERY);
                 mSurfaceFlinger.transact(SURFACE_FLINGER_CODE, data, reply, 0 /* flags */);
                 final boolean enabled = reply.readBoolean();
-                ((SwitchPreference) mPreference).setChecked(enabled);
+                ((TwoStatePreference) mPreference).setChecked(enabled);
                 reply.recycle();
                 data.recycle();
             }
diff --git a/src/com/android/settings/development/ShowSurfaceUpdatesPreferenceController.java b/src/com/android/settings/development/ShowSurfaceUpdatesPreferenceController.java
index 5dadb6f..359bb80 100644
--- a/src/com/android/settings/development/ShowSurfaceUpdatesPreferenceController.java
+++ b/src/com/android/settings/development/ShowSurfaceUpdatesPreferenceController.java
@@ -24,7 +24,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -72,7 +72,7 @@
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        final SwitchPreference preference = (SwitchPreference) mPreference;
+        final TwoStatePreference preference = (TwoStatePreference) mPreference;
         if (preference.isChecked()) {
             // Writing false to the preference when the setting is already off will have a
             // side effect of turning on the preference that we wish to avoid
@@ -93,7 +93,7 @@
                 @SuppressWarnings("unused") final int showCpu = reply.readInt();
                 @SuppressWarnings("unused") final int enableGL = reply.readInt();
                 final int showUpdates = reply.readInt();
-                ((SwitchPreference) mPreference).setChecked(showUpdates != SETTING_VALUE_OFF);
+                ((TwoStatePreference) mPreference).setChecked(showUpdates != SETTING_VALUE_OFF);
                 reply.recycle();
                 data.recycle();
             }
diff --git a/src/com/android/settings/development/ShowTapsPreferenceController.java b/src/com/android/settings/development/ShowTapsPreferenceController.java
index 25d421d..e469a8c 100644
--- a/src/com/android/settings/development/ShowTapsPreferenceController.java
+++ b/src/com/android/settings/development/ShowTapsPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -57,7 +57,7 @@
     public void updateState(Preference preference) {
         int showTapsMode = Settings.System.getInt(mContext.getContentResolver(),
                 Settings.System.SHOW_TOUCHES, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(showTapsMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(showTapsMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -65,6 +65,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.SHOW_TOUCHES,
                 SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/SimulateColorSpacePreferenceController.java b/src/com/android/settings/development/SimulateColorSpacePreferenceController.java
index 56fa76d..bff2494 100644
--- a/src/com/android/settings/development/SimulateColorSpacePreferenceController.java
+++ b/src/com/android/settings/development/SimulateColorSpacePreferenceController.java
@@ -26,7 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -83,8 +82,10 @@
             if (index < 0) {
                 final Resources res = mContext.getResources();
                 // We're using a mode controlled by accessibility preferences.
-                listPreference.setSummary(res.getString(R.string.daltonizer_type_overridden,
-                        res.getString(R.string.accessibility_display_daltonizer_preference_title)));
+                listPreference.setSummary(
+                        res.getString(com.android.settingslib.R.string.daltonizer_type_overridden,
+                        res.getString(com.android.settingslib.R
+                                .string.accessibility_display_daltonizer_preference_title)));
             } else {
                 listPreference.setSummary("%s");
             }
diff --git a/src/com/android/settings/development/StrictModePreferenceController.java b/src/com/android/settings/development/StrictModePreferenceController.java
index c28e476..047c8ec 100644
--- a/src/com/android/settings/development/StrictModePreferenceController.java
+++ b/src/com/android/settings/development/StrictModePreferenceController.java
@@ -25,7 +25,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -64,14 +64,14 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) mPreference).setChecked(isStrictModeEnabled());
+        ((TwoStatePreference) mPreference).setChecked(isStrictModeEnabled());
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         writeStrictModeVisualOptions(false);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     private boolean isStrictModeEnabled() {
diff --git a/src/com/android/settings/development/StylusHandwritingPreferenceController.java b/src/com/android/settings/development/StylusHandwritingPreferenceController.java
index 12cd781..7a95144 100644
--- a/src/com/android/settings/development/StylusHandwritingPreferenceController.java
+++ b/src/com/android/settings/development/StylusHandwritingPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -57,7 +57,7 @@
         final int enable = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED,
                 Settings.Secure.STYLUS_HANDWRITING_DEFAULT_VALUE);
-        ((SwitchPreference) mPreference).setChecked(enable != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(enable != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -66,6 +66,6 @@
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_HANDWRITING_ENABLED,
                 Settings.Secure.STYLUS_HANDWRITING_DEFAULT_VALUE);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/SystemSettingSwitchPreferenceController.java b/src/com/android/settings/development/SystemSettingSwitchPreferenceController.java
index 476cf50..c7b532a 100644
--- a/src/com/android/settings/development/SystemSettingSwitchPreferenceController.java
+++ b/src/com/android/settings/development/SystemSettingSwitchPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -54,13 +54,13 @@
     public void updateState(Preference preference) {
         final int mode = Settings.System.getInt(
             mContext.getContentResolver(), mSettingsKey, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(mode != SETTING_VALUE_OFF);
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         Settings.System.putInt(mContext.getContentResolver(), mSettingsKey, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/TetheringHardwareAccelPreferenceController.java b/src/com/android/settings/development/TetheringHardwareAccelPreferenceController.java
index f838a76..8fe6198 100644
--- a/src/com/android/settings/development/TetheringHardwareAccelPreferenceController.java
+++ b/src/com/android/settings/development/TetheringHardwareAccelPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -61,7 +61,7 @@
         final int tetheringMode = Settings.Global.getInt(
                 mContext.getContentResolver(),
                 Settings.Global.TETHER_OFFLOAD_DISABLED, 0 /* default */);
-        ((SwitchPreference) mPreference).setChecked(tetheringMode != SETTING_VALUE_OFF);
+        ((TwoStatePreference) mPreference).setChecked(tetheringMode != SETTING_VALUE_OFF);
     }
 
     @Override
@@ -69,6 +69,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.TETHER_OFFLOAD_DISABLED, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java b/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java
index 0a8e941..ac68364 100644
--- a/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java
+++ b/src/com/android/settings/development/TransitionAnimationScalePreferenceController.java
@@ -25,7 +25,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -50,9 +49,9 @@
         mWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
         mListValues = context.getResources().getStringArray(
-                R.array.transition_animation_scale_values);
+                com.android.settingslib.R.array.transition_animation_scale_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.transition_animation_scale_entries);
+                com.android.settingslib.R.array.transition_animation_scale_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/TransparentNavigationBarPreferenceController.java b/src/com/android/settings/development/TransparentNavigationBarPreferenceController.java
index d1f54b5..16e72db 100644
--- a/src/com/android/settings/development/TransparentNavigationBarPreferenceController.java
+++ b/src/com/android/settings/development/TransparentNavigationBarPreferenceController.java
@@ -24,7 +24,7 @@
 import android.os.ServiceManager;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
@@ -62,13 +62,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) mPreference).setChecked(isEnabled());
+        ((TwoStatePreference) mPreference).setChecked(isEnabled());
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
         final boolean enabled = isEnabled();
         if (!enabled) {
             setEnabled(false);
diff --git a/src/com/android/settings/development/UsbAudioRoutingPreferenceController.java b/src/com/android/settings/development/UsbAudioRoutingPreferenceController.java
index e130b2b..27a08a8 100644
--- a/src/com/android/settings/development/UsbAudioRoutingPreferenceController.java
+++ b/src/com/android/settings/development/UsbAudioRoutingPreferenceController.java
@@ -25,7 +25,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.RestrictedSwitchPreference;
@@ -81,7 +81,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @Override
diff --git a/src/com/android/settings/development/WaitForDebuggerPreferenceController.java b/src/com/android/settings/development/WaitForDebuggerPreferenceController.java
index 80cb225..bb3b3e5 100644
--- a/src/com/android/settings/development/WaitForDebuggerPreferenceController.java
+++ b/src/com/android/settings/development/WaitForDebuggerPreferenceController.java
@@ -29,7 +29,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -79,7 +79,7 @@
     }
 
     private void updateState(Preference preference, String debugApp) {
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
+        final TwoStatePreference switchPreference = (TwoStatePreference) preference;
         final boolean debuggerEnabled = Settings.Global.getInt(mContext.getContentResolver(),
             Settings.Global.WAIT_FOR_DEBUGGER, SETTING_VALUE_OFF) != SETTING_VALUE_OFF;
         writeDebuggerAppOptions(debugApp, debuggerEnabled, true /* persistent */);
@@ -92,7 +92,7 @@
         super.onDeveloperOptionsSwitchDisabled();
         writeDebuggerAppOptions(null /* package name */,
                 false /* waitForDebugger */, false /* persistent */);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/development/WifiDisplayCertificationPreferenceController.java b/src/com/android/settings/development/WifiDisplayCertificationPreferenceController.java
index 0236f15..ed1bb6e 100644
--- a/src/com/android/settings/development/WifiDisplayCertificationPreferenceController.java
+++ b/src/com/android/settings/development/WifiDisplayCertificationPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -60,7 +60,7 @@
         final int wifiDisplayCertificationMode = Settings.Global.getInt(
                 mContext.getContentResolver(), Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON,
                 SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(
+        ((TwoStatePreference) mPreference).setChecked(
             wifiDisplayCertificationMode != SETTING_VALUE_OFF);
     }
 
@@ -69,6 +69,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.WIFI_DISPLAY_CERTIFICATION_ON, SETTING_VALUE_OFF);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/WifiNonPersistentMacRandomizationPreferenceController.java b/src/com/android/settings/development/WifiNonPersistentMacRandomizationPreferenceController.java
index 3f6d775..a4dcda4 100644
--- a/src/com/android/settings/development/WifiNonPersistentMacRandomizationPreferenceController.java
+++ b/src/com/android/settings/development/WifiNonPersistentMacRandomizationPreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -60,7 +60,7 @@
                 NON_PERSISTENT_MAC_RANDOMIZATION_FEATURE_FLAG, 0) == 1) {
             enabled = true;
         }
-        ((SwitchPreference) mPreference).setChecked(enabled);
+        ((TwoStatePreference) mPreference).setChecked(enabled);
     }
 
     @Override
@@ -68,6 +68,6 @@
         super.onDeveloperOptionsSwitchDisabled();
         Settings.Global.putInt(mContext.getContentResolver(),
                 NON_PERSISTENT_MAC_RANDOMIZATION_FEATURE_FLAG, 0);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java b/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java
index 2632691..0adbbfd 100644
--- a/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java
+++ b/src/com/android/settings/development/WifiScanThrottlingPreferenceController.java
@@ -20,7 +20,7 @@
 import android.net.wifi.WifiManager;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -50,13 +50,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) mPreference).setChecked(mWifiManager.isScanThrottleEnabled());
+        ((TwoStatePreference) mPreference).setChecked(mWifiManager.isScanThrottleEnabled());
     }
 
     @Override
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         mWifiManager.setScanThrottleEnabled(true);
-        ((SwitchPreference) mPreference).setChecked(true);
+        ((TwoStatePreference) mPreference).setChecked(true);
     }
 }
diff --git a/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java b/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java
index 92ed65d..9ee5193 100644
--- a/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java
+++ b/src/com/android/settings/development/WifiVerboseLoggingPreferenceController.java
@@ -21,7 +21,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
@@ -59,7 +59,7 @@
     @Override
     public void updateState(Preference preference) {
         final boolean enabled = mWifiManager.isVerboseLoggingEnabled();
-        ((SwitchPreference) mPreference).setChecked(enabled);
+        ((TwoStatePreference) mPreference).setChecked(enabled);
 
     }
 
@@ -67,6 +67,6 @@
     protected void onDeveloperOptionsSwitchDisabled() {
         super.onDeveloperOptionsSwitchDisabled();
         mWifiManager.setVerboseLoggingEnabled(false);
-        ((SwitchPreference) mPreference).setChecked(false);
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 }
diff --git a/src/com/android/settings/development/WindowAnimationScalePreferenceController.java b/src/com/android/settings/development/WindowAnimationScalePreferenceController.java
index 70b2e2d..d8575a0 100644
--- a/src/com/android/settings/development/WindowAnimationScalePreferenceController.java
+++ b/src/com/android/settings/development/WindowAnimationScalePreferenceController.java
@@ -25,7 +25,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -49,9 +48,10 @@
 
         mWindowManager = IWindowManager.Stub.asInterface(
                 ServiceManager.getService(Context.WINDOW_SERVICE));
-        mListValues = context.getResources().getStringArray(R.array.window_animation_scale_values);
+        mListValues = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.window_animation_scale_values);
         mListSummaries = context.getResources().getStringArray(
-                R.array.window_animation_scale_entries);
+                com.android.settingslib.R.array.window_animation_scale_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/WirelessDebuggingEnabler.java b/src/com/android/settings/development/WirelessDebuggingEnabler.java
index 8fec233..d4e4fc7 100644
--- a/src/com/android/settings/development/WirelessDebuggingEnabler.java
+++ b/src/com/android/settings/development/WirelessDebuggingEnabler.java
@@ -26,7 +26,6 @@
 import android.util.Log;
 import android.widget.Toast;
 
-import com.android.settings.R;
 import com.android.settings.widget.SwitchWidgetController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -125,8 +124,8 @@
     public boolean onSwitchToggled(boolean isChecked) {
         if (isChecked && !WirelessDebuggingPreferenceController.isWifiConnected(mContext)) {
             // No connected Wi-Fi network. Reset the switch to off.
-            Toast.makeText(
-                    mContext, R.string.adb_wireless_no_network_msg, Toast.LENGTH_LONG)
+            Toast.makeText(mContext, com.android.settingslib.R.string.adb_wireless_no_network_msg,
+                            Toast.LENGTH_LONG)
                     .show();
             mSwitchWidget.setChecked(false);
             return false;
diff --git a/src/com/android/settings/development/WirelessDebuggingFragment.java b/src/com/android/settings/development/WirelessDebuggingFragment.java
index 7c60069..8be8d91 100644
--- a/src/com/android/settings/development/WirelessDebuggingFragment.java
+++ b/src/com/android/settings/development/WirelessDebuggingFragment.java
@@ -211,7 +211,8 @@
 
         mOffMessagePreference =
                 new FooterPreference(mFooterCategory.getContext());
-        final CharSequence title = getText(R.string.adb_wireless_list_empty_off);
+        final CharSequence title =
+                getText(com.android.settingslib.R.string.adb_wireless_list_empty_off);
         mOffMessagePreference.setTitle(title);
         mFooterCategory.addPreference(mOffMessagePreference);
     }
@@ -418,7 +419,7 @@
         // For sending to the device details fragment.
         p.savePairedDeviceToExtras(p.getExtras());
         new SubSettingLauncher(getContext())
-                .setTitleRes(R.string.adb_wireless_device_details_title)
+                .setTitleRes(com.android.settingslib.R.string.adb_wireless_device_details_title)
                 .setDestination(AdbDeviceDetailsFragment.class.getName())
                 .setArguments(p.getExtras())
                 .setSourceMetricsCategory(getMetricsCategory())
diff --git a/src/com/android/settings/development/WirelessDebuggingPreferenceController.java b/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
index f637ae1..b9171ac 100644
--- a/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
+++ b/src/com/android/settings/development/WirelessDebuggingPreferenceController.java
@@ -34,7 +34,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -163,7 +162,8 @@
         if (enabled && !isWifiConnected(mContext)) {
             // Cannot enable ADB over Wi-Fi if we're not connected to wifi.
             Toast.makeText(
-                    mContext, R.string.adb_wireless_no_network_msg, Toast.LENGTH_LONG)
+                    mContext, com.android.settingslib.R.string.adb_wireless_no_network_msg,
+                            Toast.LENGTH_LONG)
                     .show();
             return false;
         }
diff --git a/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java b/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
index 39e2276..b0c60a8 100644
--- a/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreference.java
@@ -103,7 +103,8 @@
             // View will be invisible when all options are enabled.
             helpTextView.setVisibility(View.GONE);
         } else {
-            helpTextView.setText(R.string.bluetooth_select_a2dp_codec_type_help_info);
+            helpTextView.setText(
+                    com.android.settingslib.R.string.bluetooth_select_a2dp_codec_type_help_info);
             helpTextView.setVisibility(View.VISIBLE);
         }
     }
@@ -135,7 +136,8 @@
         }
         return index == getDefaultIndex() ? mSummaryStrings.get(getDefaultIndex()) :
                 String.format(getContext().getResources().getString(
-                        R.string.bluetooth_select_a2dp_codec_streaming_label),
+                        com.android.settingslib.R
+                                .string.bluetooth_select_a2dp_codec_streaming_label),
                         mSummaryStrings.get(index));
     }
 
diff --git a/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
index 480c208..99eb730 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothBitPerSampleDialogPreference.java
@@ -61,12 +61,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_24);
         mRadioButtonIds.add(R.id.bluetooth_audio_bit_per_sample_32);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_bits_per_sample_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_bits_per_sample_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
index a878f32..4a4191a 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothChannelModeDialogPreference.java
@@ -60,12 +60,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_mono);
         mRadioButtonIds.add(R.id.bluetooth_audio_channel_mode_stereo);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_channel_mode_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_channel_mode_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_channel_mode_summaries);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_channel_mode_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
index 929a6d0..11cfd34 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothCodecDialogPreference.java
@@ -64,11 +64,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_codec_lc3);
         mRadioButtonIds.add(R.id.bluetooth_audio_codec_opus);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
-        stringArray = context.getResources().getStringArray(R.array.bluetooth_a2dp_codec_summaries);
+        stringArray = context.getResources()
+                .getStringArray(com.android.settingslib.R.array.bluetooth_a2dp_codec_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
index 8092194..feaa36e 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothHDAudioPreferenceController.java
@@ -22,7 +22,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.development.BluetoothA2dpConfigStore;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -64,7 +64,7 @@
         if (supported) {
             final boolean isEnabled = bluetoothA2dp.isOptionalCodecsEnabled(activeDevice)
                     == BluetoothA2dp.OPTIONAL_CODECS_PREF_ENABLED;
-            ((SwitchPreference) mPreference).setChecked(isEnabled);
+            ((TwoStatePreference) mPreference).setChecked(isEnabled);
         }
     }
 
diff --git a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
index a7d6a11..796cbe8 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothQualityDialogPreference.java
@@ -65,12 +65,13 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_quality_optimized_connection);
         mRadioButtonIds.add(R.id.bluetooth_audio_quality_best_effort);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_ldac_playback_quality_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
+                com.android.settingslib.R
+                        .array.bluetooth_a2dp_codec_ldac_playback_quality_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
index 622c47a..71eda79 100644
--- a/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
+++ b/src/com/android/settings/development/bluetooth/BluetoothSampleRateDialogPreference.java
@@ -62,12 +62,12 @@
         mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_882);
         mRadioButtonIds.add(R.id.bluetooth_audio_sample_rate_960);
         String[] stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_sample_rate_titles);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_sample_rate_titles);
         for (int i = 0; i < stringArray.length; i++) {
             mRadioButtonStrings.add(stringArray[i]);
         }
         stringArray = context.getResources().getStringArray(
-                R.array.bluetooth_a2dp_codec_sample_rate_summaries);
+                com.android.settingslib.R.array.bluetooth_a2dp_codec_sample_rate_summaries);
         for (int i = 0; i < stringArray.length; i++) {
             mSummaryStrings.add(stringArray[i]);
         }
diff --git a/src/com/android/settings/development/compat/PlatformCompatDashboard.java b/src/com/android/settings/development/compat/PlatformCompatDashboard.java
index 3f0ffc7..05159c7 100644
--- a/src/com/android/settings/development/compat/PlatformCompatDashboard.java
+++ b/src/com/android/settings/development/compat/PlatformCompatDashboard.java
@@ -33,7 +33,8 @@
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.compat.CompatibilityChangeConfig;
 import com.android.internal.compat.CompatibilityChangeInfo;
@@ -171,7 +172,7 @@
     Preference createPreferenceForChange(Context context, CompatibilityChangeInfo change,
             CompatibilityChangeConfig configMappings) {
         final boolean currentValue = configMappings.isChangeEnabled(change.getId());
-        final SwitchPreference item = new SwitchPreference(context);
+        final TwoStatePreference item = new SwitchPreferenceCompat(context);
         final String changeName =
                 change.getName() != null ? change.getName() : "Change_" + change.getId();
         item.setSummary(changeName);
diff --git a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
index d6bdb77..baac047 100644
--- a/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
+++ b/src/com/android/settings/development/featureflags/FeatureFlagPreference.java
@@ -19,9 +19,9 @@
 import android.content.Context;
 import android.util.FeatureFlagUtils;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
-public class FeatureFlagPreference extends SwitchPreference {
+public class FeatureFlagPreference extends SwitchPreferenceCompat {
 
     private final String mKey;
     private final boolean mIsPersistent;
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java
index 95cf64c..e75ab1a 100644
--- a/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverController.java
@@ -25,7 +25,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -52,9 +52,6 @@
     private boolean mShouldToggleSwitchBackOnRebootDialogDismiss;
 
     @VisibleForTesting
-    static final String PROPERTY_RO_GFX_ANGLE_SUPPORTED = "ro.gfx.angle.supported";
-
-    @VisibleForTesting
     static final String PROPERTY_PERSISTENT_GRAPHICS_EGL = "persist.graphics.egl";
 
     @VisibleForTesting
@@ -97,11 +94,6 @@
         return mSystemProperties.getBoolean(PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION, false);
     }
 
-    private boolean isAngleSupported() {
-        return TextUtils.equals(
-                        mSystemProperties.get(PROPERTY_RO_GFX_ANGLE_SUPPORTED, ""), "true");
-    }
-
     @VisibleForTesting
     GraphicsDriverEnableAngleAsSystemDriverController(
             Context context, DevelopmentSettingsDashboardFragment fragment, Injector injector) {
@@ -145,10 +137,6 @@
 
     /** Return the default value of "persist.graphics.egl" */
     public boolean isDefaultValue() {
-        if (!isAngleSupported()) {
-            return true;
-        }
-
         final String currentGlesDriver =
                 mSystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
         // default value of "persist.graphics.egl" is ""
@@ -158,21 +146,16 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        if (isAngleSupported()) {
-            // set switch on if "persist.graphics.egl" is "angle" and angle is built in /vendor
-            // set switch off otherwise.
-            final String currentGlesDriver =
-                    mSystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
-            final boolean isAngle = TextUtils.equals(ANGLE_DRIVER_SUFFIX, currentGlesDriver);
-            ((SwitchPreference) mPreference).setChecked(isAngle);
-        } else {
-            mPreference.setEnabled(false);
-            ((SwitchPreference) mPreference).setChecked(false);
-        }
+        // set switch on if "persist.graphics.egl" is "angle".
+        final String currentGlesDriver =
+                mSystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
+        final boolean isAngle = TextUtils.equals(ANGLE_DRIVER_SUFFIX, currentGlesDriver);
+        ((TwoStatePreference) mPreference).setChecked(isAngle);
 
-        // Regardless of whether ANGLE is enabled, disable the developer option UI
-        // as long as UI is not enabled via debug property.
-        if (!isAngleDeveloperOptionEnabled()) {
+        // Disable the developer option toggle UI if ANGLE is disabled, this means next time the
+        // debug property needs to be set to true again to enable ANGLE. If ANGLE is enabled, don't
+        // disable the developer option toggle UI so that it can be turned off easily.
+        if (!isAngleDeveloperOptionEnabled() && !((TwoStatePreference) mPreference).isChecked()) {
             mPreference.setEnabled(false);
         }
     }
@@ -181,12 +164,10 @@
     protected void onDeveloperOptionsSwitchDisabled() {
         // 1) disable the switch
         super.onDeveloperOptionsSwitchDisabled();
-        if (isAngleSupported()) {
-            // 2) set the persist.graphics.egl empty string
-            GraphicsEnvironment.getInstance().toggleAngleAsSystemDriver(false);
-            // 3) reset the switch
-            ((SwitchPreference) mPreference).setChecked(false);
-        }
+        // 2) set the persist.graphics.egl empty string
+        GraphicsEnvironment.getInstance().toggleAngleAsSystemDriver(false);
+        // 3) reset the switch
+        ((TwoStatePreference) mPreference).setChecked(false);
     }
 
     void toggleSwitchBack() {
@@ -196,7 +177,7 @@
             // if persist.graphics.egl = "angle", set the property value back to ""
             GraphicsEnvironment.getInstance().toggleAngleAsSystemDriver(false);
             // toggle switch off
-            ((SwitchPreference) mPreference).setChecked(false);
+            ((TwoStatePreference) mPreference).setChecked(false);
             return;
         }
 
@@ -204,7 +185,7 @@
             // if persist.graphicx.egl = "", set the persist.graphics.egl back to "angle"
             GraphicsEnvironment.getInstance().toggleAngleAsSystemDriver(true);
             // toggle switch on
-            ((SwitchPreference) mPreference).setChecked(true);
+            ((TwoStatePreference) mPreference).setChecked(true);
             return;
         }
 
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java
index b1faefa..79a28a5 100644
--- a/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarController.java
@@ -43,16 +43,13 @@
                    GraphicsDriverContentObserver.OnGraphicsDriverContentChangedListener,
                    LifecycleObserver, OnStart, OnStop {
 
-    private final Context mContext;
     private final ContentResolver mContentResolver;
-    @VisibleForTesting
-    SwitchWidgetController mSwitchWidgetController;
+    private final SwitchWidgetController mSwitchWidgetController;
     @VisibleForTesting
     GraphicsDriverContentObserver mGraphicsDriverContentObserver;
 
     GraphicsDriverGlobalSwitchBarController(
             Context context, SwitchWidgetController switchWidgetController) {
-        mContext = context;
         mContentResolver = context.getContentResolver();
         mGraphicsDriverContentObserver =
                 new GraphicsDriverContentObserver(new Handler(Looper.getMainLooper()), this);
diff --git a/src/com/android/settings/development/graphicsdriver/GraphicsDriverSystemPropertiesWrapper.java b/src/com/android/settings/development/graphicsdriver/GraphicsDriverSystemPropertiesWrapper.java
index 9684282..33badd1 100644
--- a/src/com/android/settings/development/graphicsdriver/GraphicsDriverSystemPropertiesWrapper.java
+++ b/src/com/android/settings/development/graphicsdriver/GraphicsDriverSystemPropertiesWrapper.java
@@ -14,9 +14,11 @@
  * limitations under the License.
  */
 package com.android.settings.development.graphicsdriver;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
+
 import android.os.SystemProperties;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 /**
  * Wrapper interface to access {@link SystemProperties}.
  *
diff --git a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
index 079195c..0ca189d 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTileConfigFragment.java
@@ -18,21 +18,26 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.provider.SearchIndexableResource;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.content.pm.ServiceInfo;
+import android.os.SystemProperties;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.Indexable;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 @SearchIndexable
 public class DevelopmentTileConfigFragment extends DashboardFragment {
     private static final String TAG = "DevelopmentTileConfig";
+    private static final String QS_TILE_PERF = "develop_qs_tile";
 
     @Override
     protected String getLogTag() {
@@ -56,5 +61,61 @@
                 protected boolean isPageSearchEnabled(Context context) {
                     return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
                 }
+
+                @Override
+                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
+                        boolean enabled) {
+                    List<SearchIndexableRaw> result = new ArrayList<>();
+                    // Save the query system property for getNonIndexableKeys to avoid
+                    // getTitleServiceList multiple times
+                    SharedPreferences sharedPref = context.getSharedPreferences(QS_TILE_PERF,
+                            Context.MODE_PRIVATE);
+
+                    List<ServiceInfo> services =
+                            DevelopmentTilePreferenceController.getTileServiceList(context);
+                    PackageManager pm = context.getPackageManager();
+                    SharedPreferences.Editor editor = sharedPref.edit();
+                    for (ServiceInfo sInfo : services) {
+                        SearchIndexableRaw data = new SearchIndexableRaw(context);
+                        data.title = sInfo.loadLabel(pm).toString();
+                        data.key = sInfo.name;
+                        result.add(data);
+
+                        if (sInfo.metaData == null) {
+                            continue;
+                        }
+                        String flag = sInfo.metaData.getString(
+                                DevelopmentTiles.META_DATA_REQUIRES_SYSTEM_PROPERTY);
+                        if (flag == null) {
+                            continue;
+                        }
+                        editor.putString(sInfo.name, flag);
+                    }
+                    editor.apply();
+
+                    return result;
+                }
+
+                @Override
+                public List<String> getNonIndexableKeys(Context context) {
+                    List<String> keys = super.getNonIndexableKeys(context);
+
+                    SharedPreferences sharedPref = context.getSharedPreferences(QS_TILE_PERF,
+                            Context.MODE_PRIVATE);
+                    Map<String, ?> map = sharedPref.getAll();
+                    for (Map.Entry<String, ?> entry : map.entrySet()) {
+                        if (entry.getValue() == null) {
+                            continue;
+                        }
+                        String key = entry.getKey();
+                        String flag = entry.getValue().toString();
+
+                        if (!SystemProperties.getBoolean(flag, false)) {
+                            keys.add(key);
+                        }
+                    }
+
+                    return keys;
+                }
             };
 }
diff --git a/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java b/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
index 4f506b0..7fc9d9e 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTilePreferenceController.java
@@ -31,11 +31,13 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.settings.core.BasePreferenceController;
 
+import java.util.ArrayList;
 import java.util.List;
 
 public class DevelopmentTilePreferenceController extends BasePreferenceController {
@@ -59,13 +61,9 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         final Context context = screen.getContext();
-        final Intent intent = new Intent(TileService.ACTION_QS_TILE)
-                .setPackage(context.getPackageName());
-        final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentServices(intent,
-                PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_META_DATA);
-        for (ResolveInfo info : resolveInfos) {
-            ServiceInfo sInfo = info.serviceInfo;
+        List<ServiceInfo> serviceInfos = getTileServiceList(context);
 
+        for (ServiceInfo sInfo : serviceInfos) {
             // Check if the tile requires a flag. If it does, hide tile if flag is off.
             if (sInfo.metaData != null) {
                 String flag = sInfo.metaData.getString(
@@ -85,7 +83,7 @@
                     || ((enabledSetting == PackageManager.COMPONENT_ENABLED_STATE_DEFAULT)
                     && sInfo.enabled);
 
-            SwitchPreference preference = new SwitchPreference(context);
+            TwoStatePreference preference = new SwitchPreferenceCompat(context);
             preference.setTitle(sInfo.loadLabel(mPackageManager));
             preference.setIcon(sInfo.icon);
             preference.setKey(sInfo.name);
@@ -95,6 +93,24 @@
         }
     }
 
+    /**
+     * Get Quick Settings services from PackageManager
+     */
+    public static List<ServiceInfo> getTileServiceList(Context context) {
+        Intent intent = new Intent(TileService.ACTION_QS_TILE)
+                .setPackage(context.getPackageName());
+        PackageManager packageManager = context.getPackageManager();
+        List<ResolveInfo> resolveInfos = packageManager.queryIntentServices(intent,
+                PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.GET_META_DATA);
+
+        List<ServiceInfo> servicesInfos = new ArrayList<>();
+        for (ResolveInfo info : resolveInfos) {
+            ServiceInfo sInfo = info.serviceInfo;
+            servicesInfos.add(sInfo);
+        }
+        return servicesInfos;
+    }
+
     @VisibleForTesting
     static class OnChangeHandler implements Preference.OnPreferenceChangeListener {
 
diff --git a/src/com/android/settings/development/qstile/DevelopmentTiles.java b/src/com/android/settings/development/qstile/DevelopmentTiles.java
index 3b6c646..cf0d4d1 100644
--- a/src/com/android/settings/development/qstile/DevelopmentTiles.java
+++ b/src/com/android/settings/development/qstile/DevelopmentTiles.java
@@ -29,9 +29,7 @@
 import android.hardware.SensorPrivacyManager;
 import android.net.Uri;
 import android.os.Handler;
-import android.os.IBinder;
 import android.os.Looper;
-import android.os.Parcel;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemProperties;
@@ -45,12 +43,8 @@
 import android.view.WindowManagerGlobal;
 import android.widget.Toast;
 
-import androidx.annotation.VisibleForTesting;
-
 import com.android.internal.app.LocalePicker;
-import com.android.internal.inputmethod.ImeTracing;
 import com.android.internal.statusbar.IStatusBarService;
-import com.android.settings.R;
 import com.android.settings.development.WirelessDebuggingPreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -205,173 +199,6 @@
     }
 
     /**
-     * Tile to toggle Winscope trace which consists of Window and Layer traces.
-     */
-    public static class WinscopeTrace extends DevelopmentTiles {
-        @VisibleForTesting
-        static final int SURFACE_FLINGER_LAYER_TRACE_CONTROL_CODE = 1025;
-        @VisibleForTesting
-        static final int SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE = 1026;
-        private static final String VIEW_CAPTURE_ENABLED = "view_capture_enabled";
-        private IBinder mSurfaceFlinger;
-        private IWindowManager mWindowManager;
-        private ImeTracing mImeTracing;
-        private Toast mToast;
-
-        @Override
-        public void onCreate() {
-            super.onCreate();
-            mWindowManager = WindowManagerGlobal.getWindowManagerService();
-            mSurfaceFlinger = ServiceManager.getService("SurfaceFlinger");
-            mImeTracing = ImeTracing.getInstance();
-            Context context = getApplicationContext();
-            CharSequence text = "Trace files written to /data/misc/wmtrace";
-            mToast = Toast.makeText(context, text, Toast.LENGTH_LONG);
-        }
-
-        private boolean isWindowTraceEnabled() {
-            try {
-                return mWindowManager.isWindowTraceEnabled();
-            } catch (RemoteException e) {
-                Log.e(TAG,
-                        "Could not get window trace status, defaulting to false." + e.toString());
-            }
-            return false;
-        }
-
-        private boolean isLayerTraceEnabled() {
-            boolean layerTraceEnabled = false;
-            Parcel reply = null;
-            Parcel data = null;
-            try {
-                if (mSurfaceFlinger != null) {
-                    reply = Parcel.obtain();
-                    data = Parcel.obtain();
-                    data.writeInterfaceToken("android.ui.ISurfaceComposer");
-                    mSurfaceFlinger.transact(SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE,
-                            data, reply, 0 /* flags */);
-                    layerTraceEnabled = reply.readBoolean();
-                }
-            } catch (RemoteException e) {
-                Log.e(TAG, "Could not get layer trace status, defaulting to false." + e.toString());
-            } finally {
-                if (data != null) {
-                    data.recycle();
-                    reply.recycle();
-                }
-            }
-            return layerTraceEnabled;
-        }
-
-        private boolean isSystemUiTracingEnabled() {
-            try {
-                final IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
-                        ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
-                if (statusBarService != null) {
-                    return statusBarService.isTracing();
-                }
-            } catch (RemoteException e) {
-                Log.e(TAG, "Could not get system ui tracing status." + e.toString());
-            }
-            return false;
-        }
-
-        private boolean isImeTraceEnabled() {
-            return mImeTracing.isEnabled();
-        }
-
-        private boolean isViewCaptureEnabled() {
-            // Add null checking to avoid test case failure.
-            if (getApplicationContext() != null) {
-                return Settings.Global.getInt(getApplicationContext().getContentResolver(),
-                    VIEW_CAPTURE_ENABLED, 0) != 0;
-            }
-            return false;
-        }
-
-        @Override
-        protected boolean isEnabled() {
-            return isWindowTraceEnabled() || isLayerTraceEnabled() || isSystemUiTracingEnabled()
-                    || isImeTraceEnabled() || isViewCaptureEnabled();
-        }
-
-        private void setWindowTraceEnabled(boolean isEnabled) {
-            try {
-                if (isEnabled) {
-                    mWindowManager.startWindowTrace();
-                } else {
-                    mWindowManager.stopWindowTrace();
-                }
-            } catch (RemoteException e) {
-                Log.e(TAG, "Could not set window trace status." + e.toString());
-            }
-        }
-
-        private void setLayerTraceEnabled(boolean isEnabled) {
-            Parcel data = null;
-            try {
-                if (mSurfaceFlinger != null) {
-                    data = Parcel.obtain();
-                    data.writeInterfaceToken("android.ui.ISurfaceComposer");
-                    data.writeInt(isEnabled ? 1 : 0);
-                    mSurfaceFlinger.transact(SURFACE_FLINGER_LAYER_TRACE_CONTROL_CODE,
-                            data, null, 0 /* flags */);
-                }
-            } catch (RemoteException e) {
-                Log.e(TAG, "Could not set layer tracing." + e.toString());
-            } finally {
-                if (data != null) {
-                    data.recycle();
-                }
-            }
-        }
-
-        private void setSystemUiTracing(boolean isEnabled) {
-            try {
-                final IStatusBarService statusBarService = IStatusBarService.Stub.asInterface(
-                        ServiceManager.checkService(Context.STATUS_BAR_SERVICE));
-                if (statusBarService != null) {
-                    if (isEnabled) {
-                        statusBarService.startTracing();
-                    } else {
-                        statusBarService.stopTracing();
-                    }
-                }
-            } catch (RemoteException e) {
-                Log.e(TAG, "Could not set system ui tracing." + e.toString());
-            }
-        }
-
-        private void setImeTraceEnabled(boolean isEnabled) {
-            if (isEnabled) {
-                mImeTracing.startImeTrace();
-            } else {
-                mImeTracing.stopImeTrace();
-            }
-        }
-
-        private void setViewCaptureEnabled(boolean isEnabled) {
-            // Add null checking to avoid test case failure.
-            if (getApplicationContext() != null) {
-                Settings.Global.putInt(getApplicationContext()
-                        .getContentResolver(), VIEW_CAPTURE_ENABLED, isEnabled ? 1 : 0);
-            }
-        }
-
-        @Override
-        protected void setIsEnabled(boolean isEnabled) {
-            setWindowTraceEnabled(isEnabled);
-            setLayerTraceEnabled(isEnabled);
-            setSystemUiTracing(isEnabled);
-            setImeTraceEnabled(isEnabled);
-            setViewCaptureEnabled(isEnabled);
-            if (!isEnabled) {
-                mToast.show();
-            }
-        }
-    }
-
-    /**
      * Tile to toggle sensors off to control camera, mic, and sensors managed by the SensorManager.
      */
     public static class SensorsOff extends DevelopmentTiles {
@@ -388,8 +215,8 @@
             mSensorPrivacyManager = (SensorPrivacyManager) mContext.getSystemService(
                     Context.SENSOR_PRIVACY_SERVICE);
             mIsEnabled = mSensorPrivacyManager.isAllSensorPrivacyEnabled();
-            mMetricsFeatureProvider = FeatureFactory.getFactory(
-                    mContext).getMetricsFeatureProvider();
+            mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
+                    .getMetricsFeatureProvider();
             mKeyguardManager = (KeyguardManager) mContext.getSystemService(
                     Context.KEYGUARD_SERVICE);
         }
@@ -401,8 +228,8 @@
 
         @Override
         public void setIsEnabled(boolean isEnabled) {
-            // Don't allow sensors to be reenabled from the lock screen.
-            if (mIsEnabled && mKeyguardManager.isKeyguardLocked()) {
+            // Don't allow sensors to be toggled from the lock screen.
+            if (mKeyguardManager.isKeyguardLocked()) {
                 return;
             }
             mMetricsFeatureProvider.action(getApplicationContext(), SettingsEnums.QS_SENSOR_PRIVACY,
@@ -433,7 +260,8 @@
             mContext = getApplicationContext();
             mKeyguardManager = (KeyguardManager) mContext.getSystemService(
                     Context.KEYGUARD_SERVICE);
-            mToast = Toast.makeText(mContext, R.string.adb_wireless_no_network_msg,
+            mToast = Toast.makeText(mContext,
+                    com.android.settingslib.R.string.adb_wireless_no_network_msg,
                     Toast.LENGTH_LONG);
         }
 
@@ -511,77 +339,4 @@
                 Settings.System.SHOW_TOUCHES, isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
         }
     }
-
-    /**
-     * Tile to enable desktop mode
-     */
-    public static class DesktopMode extends DevelopmentTiles {
-
-        private static final int SETTING_VALUE_ON = 1;
-        private static final int SETTING_VALUE_OFF = 0;
-        private Context mContext;
-
-        @Override
-        public void onCreate() {
-            super.onCreate();
-            mContext = getApplicationContext();
-        }
-
-        @Override
-        protected boolean isEnabled() {
-            return Settings.System.getInt(mContext.getContentResolver(),
-                    Settings.System.DESKTOP_MODE, SETTING_VALUE_OFF) == SETTING_VALUE_ON;
-        }
-
-        private boolean isDesktopModeFlagEnabled() {
-            return SystemProperties.getBoolean("persist.wm.debug.desktop_mode", false);
-        }
-
-        private boolean isFreeformFlagEnabled() {
-            return Settings.Global.getInt(mContext.getContentResolver(),
-                    Settings.Global.DEVELOPMENT_ENABLE_FREEFORM_WINDOWS_SUPPORT, SETTING_VALUE_OFF)
-                    == SETTING_VALUE_ON;
-        }
-
-        private boolean isCaptionOnShellEnabled() {
-            return SystemProperties.getBoolean("persist.wm.debug.caption_on_shell", false);
-        }
-
-        @Override
-        protected void setIsEnabled(boolean isEnabled) {
-            if (isEnabled) {
-                // Check that all required features are enabled
-                if (!isDesktopModeFlagEnabled()) {
-                    closeShade();
-                    showMessage(
-                            "Enable 'Desktop Windowing Proto 1' from the Flag Flipper app");
-                    return;
-                }
-                if (!isCaptionOnShellEnabled()) {
-                    closeShade();
-                    showMessage("Enable 'Captions in Shell' from the Flag Flipper app");
-                    return;
-                }
-                if (!isFreeformFlagEnabled()) {
-                    closeShade();
-                    showMessage(
-                            "Enable freeform windows from developer settings");
-                    return;
-                }
-            }
-
-            Settings.System.putInt(mContext.getContentResolver(),
-                    Settings.System.DESKTOP_MODE,
-                    isEnabled ? SETTING_VALUE_ON : SETTING_VALUE_OFF);
-            closeShade();
-        }
-
-        private void closeShade() {
-            sendBroadcast(new Intent(Intent.ACTION_CLOSE_SYSTEM_DIALOGS));
-        }
-
-        private void showMessage(String message) {
-            Toast.makeText(mContext, message, Toast.LENGTH_LONG).show();
-        }
-    }
 }
diff --git a/src/com/android/settings/development/quarantine/OWNERS b/src/com/android/settings/development/quarantine/OWNERS
new file mode 100644
index 0000000..d4de31a
--- /dev/null
+++ b/src/com/android/settings/development/quarantine/OWNERS
@@ -0,0 +1,4 @@
+# Bug component: 316234
+
+sudheersai@google.com
+yamasani@google.com
\ No newline at end of file
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppPreference.java b/src/com/android/settings/development/quarantine/QuarantinedAppPreference.java
new file mode 100644
index 0000000..6ad1f86
--- /dev/null
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppPreference.java
@@ -0,0 +1,76 @@
+/*
+ * 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.development.quarantine;
+
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+import com.android.settingslib.applications.AppUtils;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.utils.ThreadUtils;
+import com.android.settingslib.widget.AppSwitchPreference;
+
+public class QuarantinedAppPreference extends AppSwitchPreference {
+    private final AppEntry mEntry;
+    private Drawable mCacheIcon;
+
+    public QuarantinedAppPreference(Context context, AppEntry entry) {
+        super(context);
+        mEntry = entry;
+        mCacheIcon = AppUtils.getIconFromCache(mEntry);
+
+        mEntry.ensureLabel(context);
+        setKey(generateKey(mEntry));
+        if (mCacheIcon != null) {
+            setIcon(mCacheIcon);
+        } else {
+            setIcon(R.drawable.empty_icon);
+        }
+        updateState();
+    }
+
+    static String generateKey(AppEntry entry) {
+        return entry.info.packageName + "|" + entry.info.uid;
+    }
+
+    public AppEntry getEntry() {
+        return mEntry;
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder holder) {
+        if (mCacheIcon == null) {
+            ThreadUtils.postOnBackgroundThread(() -> {
+                final Drawable icon = AppUtils.getIcon(getContext(), mEntry);
+                ThreadUtils.postOnMainThread(() -> {
+                    setIcon(icon);
+                    mCacheIcon = icon;
+                });
+            });
+        }
+        super.onBindViewHolder(holder);
+    }
+
+    void updateState() {
+        setTitle(mEntry.label);
+        setChecked((boolean) mEntry.extraInfo);
+        notifyChanged();
+    }
+}
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppStateBridge.java b/src/com/android/settings/development/quarantine/QuarantinedAppStateBridge.java
new file mode 100644
index 0000000..206b922
--- /dev/null
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppStateBridge.java
@@ -0,0 +1,61 @@
+/*
+ * 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.development.quarantine;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+
+import com.android.settings.applications.AppStateBaseBridge;
+import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+
+import java.util.ArrayList;
+
+public class QuarantinedAppStateBridge extends AppStateBaseBridge {
+    private Context mContext;
+
+    public QuarantinedAppStateBridge(Context context,
+            ApplicationsState appState, Callback callback) {
+        super(appState, callback);
+        mContext = context;
+    }
+
+    @Override
+    protected void loadAllExtraInfo() {
+        final ArrayList<AppEntry> apps = mAppSession.getAllApps();
+        for (int i = 0; i < apps.size(); i++) {
+            final AppEntry app = apps.get(i);
+            updateExtraInfo(app, app.info.packageName, app.info.uid);
+        }
+    }
+
+    @Override
+    protected void updateExtraInfo(AppEntry app, String pkg, int uid) {
+        app.extraInfo = isPackageQuarantined(pkg, uid);
+    }
+
+    private boolean isPackageQuarantined(String pkg, int uid) {
+        final PackageManager pm = mContext.createContextAsUser(
+                UserHandle.getUserHandleForUid(uid), 0).getPackageManager();
+        try {
+            return pm.isPackageQuarantined(pkg);
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+    }
+}
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppsFragment.java b/src/com/android/settings/development/quarantine/QuarantinedAppsFragment.java
new file mode 100644
index 0000000..985e962
--- /dev/null
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppsFragment.java
@@ -0,0 +1,172 @@
+/*
+ * 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.development.quarantine;
+
+import static android.view.MenuItem.SHOW_AS_ACTION_ALWAYS;
+import static android.view.MenuItem.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.view.Menu;
+import android.view.MenuInflater;
+import android.view.MenuItem;
+import android.widget.SearchView;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.applications.AppIconCacheManager;
+import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.ApplicationsState.AppFilter;
+import com.android.settingslib.search.SearchIndexable;
+
+import com.google.android.material.appbar.AppBarLayout;
+
+// TODO: b/297934650 - Update this to use SPA framework
+@SearchIndexable
+public class QuarantinedAppsFragment extends DashboardFragment implements
+        SearchView.OnQueryTextListener, SearchView.OnCloseListener,
+        MenuItem.OnActionExpandListener {
+    private static final String TAG = "QuarantinedApps";
+
+    private static final int MENU_SEARCH_APPS = Menu.FIRST + 42;
+    private static final int MENU_SHOW_SYSTEM = Menu.FIRST + 43;
+    private static final String EXTRA_SHOW_SYSTEM = "show_system";
+
+    private boolean mShowSystem;
+    private SearchView mSearchView;
+    private String mCurQuery;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+        mShowSystem = icicle != null && icicle.getBoolean(EXTRA_SHOW_SYSTEM);
+        use(QuarantinedAppsScreenController.class).setFilter(mCustomFilter);
+        use(QuarantinedAppsScreenController.class).setSession(getSettingsLifecycle());
+    }
+
+    @Override
+    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
+        mSearchView = new SearchView(getContext());
+        mSearchView.setOnQueryTextListener(this);
+        mSearchView.setOnCloseListener(this);
+        mSearchView.setIconifiedByDefault(true);
+
+        menu.add(Menu.NONE, MENU_SEARCH_APPS, Menu.NONE, R.string.search_settings)
+                .setIcon(R.drawable.ic_find_in_page_24px)
+                .setActionView(mSearchView)
+                .setOnActionExpandListener(this)
+                .setShowAsAction(SHOW_AS_ACTION_ALWAYS | SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW);
+        menu.add(Menu.NONE, MENU_SHOW_SYSTEM, Menu.NONE,
+                mShowSystem ? R.string.menu_hide_system : R.string.menu_show_system);
+        super.onCreateOptionsMenu(menu, inflater);
+    }
+
+    @Override
+    public boolean onOptionsItemSelected(MenuItem item) {
+        if (item.getItemId() == MENU_SHOW_SYSTEM) {
+            mShowSystem = !mShowSystem;
+            item.setTitle(mShowSystem ? R.string.menu_hide_system : R.string.menu_show_system);
+            use(QuarantinedAppsScreenController.class).setFilter(mCustomFilter);
+            use(QuarantinedAppsScreenController.class).rebuild();
+            return true;
+        }
+        return super.onOptionsItemSelected(item);
+    }
+
+    @Override
+    public boolean onQueryTextChange(String newText) {
+        mCurQuery = !TextUtils.isEmpty(newText) ? newText : null;
+        use(QuarantinedAppsScreenController.class).rebuild();
+        return true;
+    }
+
+    @Override
+    public boolean onQueryTextSubmit(String query) {
+        // Don't care about this.
+        return true;
+    }
+
+    @Override
+    public boolean onClose() {
+        if (!TextUtils.isEmpty(mSearchView.getQuery())) {
+            mSearchView.setQuery(null, true);
+        }
+        return true;
+    }
+
+    public final AppFilter mCustomFilter = new AppFilter() {
+        @Override
+        public void init() {
+        }
+
+        @Override
+        public boolean filterApp(ApplicationsState.AppEntry entry) {
+            final AppFilter defaultFilter = mShowSystem ? ApplicationsState.FILTER_ALL_ENABLED
+                    : ApplicationsState.FILTER_DOWNLOADED_AND_LAUNCHER;
+            return defaultFilter.filterApp(entry) && (mCurQuery == null
+                    || entry.label.toLowerCase().contains(mCurQuery.toLowerCase()));
+        }
+    };
+
+    @Override
+    public boolean onMenuItemActionExpand(MenuItem item) {
+        final AppBarLayout mAppBarLayout = getActivity().findViewById(R.id.app_bar);
+        // To prevent a large space on tool bar.
+        mAppBarLayout.setExpanded(false /*expanded*/, false /*animate*/);
+        return true;
+    }
+
+    @Override
+    public boolean onMenuItemActionCollapse(MenuItem item) {
+        final AppBarLayout mAppBarLayout = getActivity().findViewById(R.id.app_bar);
+        // To prevent a large space on tool bar.
+        mAppBarLayout.setExpanded(false /*expanded*/, false /*animate*/);
+        return true;
+    }
+
+    @Override
+    public int getPreferenceScreenResId() {
+        return R.xml.quarantined_apps;
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putBoolean(EXTRA_SHOW_SYSTEM, mShowSystem);
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.QUARANTINED_APPS_DEV_CONTROL;
+    }
+
+    @Override
+    public void onDestroyView() {
+        super.onDestroyView();
+        AppIconCacheManager.getInstance().release();
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.quarantined_apps);
+}
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppsPreferenceController.java b/src/com/android/settings/development/quarantine/QuarantinedAppsPreferenceController.java
new file mode 100644
index 0000000..de3b18b
--- /dev/null
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppsPreferenceController.java
@@ -0,0 +1,33 @@
+/*
+ * 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.development.quarantine;
+
+import android.content.Context;
+import android.content.pm.Flags;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class QuarantinedAppsPreferenceController extends BasePreferenceController {
+    public QuarantinedAppsPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.quarantinedEnabled() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java b/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
new file mode 100644
index 0000000..4d4834b
--- /dev/null
+++ b/src/com/android/settings/development/quarantine/QuarantinedAppsScreenController.java
@@ -0,0 +1,232 @@
+/*
+ * 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.development.quarantine;
+
+import android.app.Application;
+import android.content.Context;
+import android.content.pm.Flags;
+import android.content.pm.PackageManager;
+import android.content.pm.SuspendDialogInfo;
+import android.os.UserHandle;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.applications.AppStateBaseBridge;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settingslib.applications.AppUtils;
+import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+import com.android.settingslib.applications.ApplicationsState.AppFilter;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnDestroy;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+import java.util.ArrayList;
+import java.util.Set;
+import java.util.TreeSet;
+
+public class QuarantinedAppsScreenController extends BasePreferenceController implements
+        LifecycleObserver, OnStart, OnStop, OnDestroy,
+        ApplicationsState.Callbacks, Preference.OnPreferenceChangeListener,
+        AppStateBaseBridge.Callback {
+    private final ApplicationsState mApplicationsState;
+    private final QuarantinedAppStateBridge mQuarantinedAppStateBridge;
+    private ApplicationsState.Session mSession;
+    private PreferenceScreen mScreen;
+    private AppFilter mFilter;
+    private boolean mExtraLoaded;
+
+    public QuarantinedAppsScreenController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mApplicationsState = ApplicationsState.getInstance(
+                (Application) context.getApplicationContext());
+        mQuarantinedAppStateBridge = new QuarantinedAppStateBridge(context,
+                mApplicationsState, this);
+    }
+
+    @Override
+    public void onStart() {
+        mQuarantinedAppStateBridge.resume(true /* forceLoadAllApps */);
+    }
+
+    @Override
+    public void onStop() {
+        mQuarantinedAppStateBridge.pause();
+    }
+
+    @Override
+    public void onDestroy() {
+        mQuarantinedAppStateBridge.release();
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mScreen = screen;
+    }
+
+    public void setFilter(AppFilter filter) {
+        mFilter = filter;
+    }
+
+    public void setSession(Lifecycle lifecycle) {
+        mSession = mApplicationsState.newSession(this, lifecycle);
+    }
+
+    @Override
+    public void onExtraInfoUpdated() {
+        mExtraLoaded = true;
+        rebuild();
+    }
+
+    public void rebuild() {
+        if (!mExtraLoaded || mSession == null) {
+            return;
+        }
+
+        final ArrayList<AppEntry> apps = mSession.rebuild(mFilter,
+                ApplicationsState.ALPHA_COMPARATOR);
+        if (apps != null) {
+            onRebuildComplete(apps);
+        }
+    }
+
+    @Override
+    public void onRebuildComplete(ArrayList<AppEntry> apps) {
+        if (apps == null) {
+            return;
+        }
+
+        // Preload top visible icons of app list.
+        AppUtils.preloadTopIcons(mContext, apps,
+                mContext.getResources().getInteger(R.integer.config_num_visible_app_icons));
+
+        // Create apps key set for removing useless preferences
+        final Set<String> appsKeySet = new TreeSet<>();
+        // Add or update preferences
+        final int count = apps.size();
+        for (int i = 0; i < count; i++) {
+            final AppEntry entry = apps.get(i);
+            if (!shouldAddPreference(entry)) {
+                continue;
+            }
+            final String prefkey = QuarantinedAppPreference.generateKey(entry);
+            appsKeySet.add(prefkey);
+            QuarantinedAppPreference preference = mScreen.findPreference(prefkey);
+            if (preference == null) {
+                preference = new QuarantinedAppPreference(mScreen.getContext(), entry);
+                preference.setOnPreferenceChangeListener(this);
+                mScreen.addPreference(preference);
+            } else {
+                preference.updateState();
+            }
+            preference.setOrder(i);
+        }
+
+        // Remove useless preferences
+        removeUselessPrefs(appsKeySet);
+    }
+
+    private void removeUselessPrefs(final Set<String> appsKeySet) {
+        final int prefCount = mScreen.getPreferenceCount();
+        String prefKey;
+        if (prefCount > 0) {
+            for (int i = prefCount - 1; i >= 0; i--) {
+                final Preference pref = mScreen.getPreference(i);
+                prefKey = pref.getKey();
+                if (!appsKeySet.isEmpty() && appsKeySet.contains(prefKey)) {
+                    continue;
+                }
+                mScreen.removePreference(pref);
+            }
+        }
+    }
+
+    @VisibleForTesting
+    static boolean shouldAddPreference(AppEntry app) {
+        return app != null && UserHandle.isApp(app.info.uid);
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        if (preference instanceof QuarantinedAppPreference) {
+            final QuarantinedAppPreference quarantinedPreference =
+                    (QuarantinedAppPreference) preference;
+            final boolean quarantined = newValue == Boolean.TRUE;
+            setPackageQuarantined(quarantinedPreference.getEntry().info.packageName,
+                    quarantinedPreference.getEntry().info.uid, quarantined);
+            quarantinedPreference.getEntry().extraInfo = quarantined;
+            return true;
+        }
+        return false;
+    }
+
+    private void setPackageQuarantined(String pkg, int uid, boolean quarantined) {
+        final PackageManager pm = mContext.createContextAsUser(
+                UserHandle.getUserHandleForUid(uid), 0).getPackageManager();
+        final SuspendDialogInfo dialogInfo;
+        if (quarantined) {
+            dialogInfo = new SuspendDialogInfo.Builder()
+                    .setNeutralButtonText(R.string.unquarantine_app_button)
+                    .setNeutralButtonAction(SuspendDialogInfo.BUTTON_ACTION_UNSUSPEND)
+                    .build();
+        } else {
+            dialogInfo = null;
+        }
+        pm.setPackagesSuspended(new String[] {pkg}, quarantined, null /* appExtras */,
+                null /* launcherExtras */, dialogInfo,
+                PackageManager.FLAG_SUSPEND_QUARANTINED);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.quarantinedEnabled() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void onRunningStateChanged(boolean running) {
+    }
+
+    @Override
+    public void onPackageListChanged() {
+    }
+
+    @Override
+    public void onPackageIconChanged() {
+    }
+
+    @Override
+    public void onPackageSizeChanged(String packageName) {
+    }
+
+    @Override
+    public void onAllSizesComputed() {
+    }
+
+    @Override
+    public void onLauncherInfoChanged() {
+    }
+
+    @Override
+    public void onLoadEntriesCompleted() {
+    }
+}
diff --git a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java
index f0c9ff4..7462e0d 100644
--- a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java
+++ b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreference.java
@@ -19,12 +19,12 @@
 import android.content.Context;
 import android.os.SystemProperties;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 /**
  * Bluetooth Snoop Logger Filters Preference
  */
-public class SnoopLoggerFiltersPreference extends SwitchPreference {
+public class SnoopLoggerFiltersPreference extends SwitchPreferenceCompat {
 
     private final String mKey;
     private static final String TAG = "SnoopLoggerFiltersPreference";
diff --git a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java
index 8262182..b32d161 100644
--- a/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java
+++ b/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceController.java
@@ -22,7 +22,6 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
 /** A {@link BasePreferenceController} used in {@link SnoopLoggerFiltersDashboard} */
@@ -35,9 +34,11 @@
     public SnoopLoggerFiltersPreferenceController(Context context, String key) {
         super(context, key);
         mListValues =
-                context.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_values);
+                context.getResources().getStringArray(
+                        com.android.settingslib.R.array.bt_hci_snoop_log_filters_values);
         mListEntries =
-                context.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_entries);
+                context.getResources().getStringArray(
+                        com.android.settingslib.R.array.bt_hci_snoop_log_filters_entries);
     }
 
     @Override
diff --git a/src/com/android/settings/development/storage/BlobInfoListView.java b/src/com/android/settings/development/storage/BlobInfoListView.java
index d3c7033..36d6c7a 100644
--- a/src/com/android/settings/development/storage/BlobInfoListView.java
+++ b/src/com/android/settings/development/storage/BlobInfoListView.java
@@ -83,7 +83,8 @@
         super.onActivityResult(requestCode, resultCode, data);
         if (requestCode == SharedDataUtils.LEASE_VIEW_REQUEST_CODE
                 && resultCode == SharedDataUtils.LEASE_VIEW_RESULT_CODE_FAILURE) {
-            Toast.makeText(this, R.string.shared_data_delete_failure_text, Toast.LENGTH_LONG)
+            Toast.makeText(this, com.android.settingslib.R.string.shared_data_delete_failure_text,
+                            Toast.LENGTH_LONG)
                     .show();
         }
         // do nothing on LEASE_VIEW_RESULT_CODE_SUCCESS since data is updated in onResume()
@@ -103,7 +104,7 @@
 
     private void showDeleteBlobDialog(BlobInfo blob) {
         final AlertDialog dialog = new AlertDialog.Builder(mContext)
-                .setMessage(R.string.shared_data_no_accessors_dialog_text)
+                .setMessage(com.android.settingslib.R.string.shared_data_no_accessors_dialog_text)
                 .setPositiveButton(android.R.string.ok, getDialogOnClickListener(blob))
                 .setNegativeButton(android.R.string.cancel, null)
                 .create();
@@ -116,7 +117,9 @@
                 mBlobStoreManager.deleteBlob(blob);
             } catch (IOException e) {
                 Log.e(TAG, "Unable to delete blob: " + e.getMessage());
-                Toast.makeText(this, R.string.shared_data_delete_failure_text, Toast.LENGTH_LONG)
+                Toast.makeText(this,
+                                com.android.settingslib.R.string.shared_data_delete_failure_text,
+                                Toast.LENGTH_LONG)
                         .show();
             }
             queryBlobsAndUpdateList();
@@ -128,7 +131,8 @@
             mAdapter.updateList(mBlobStoreManager.queryBlobsForUser(UserHandle.CURRENT));
         } catch (IOException e) {
             Log.e(TAG, "Unable to fetch blobs for current user: " + e.getMessage());
-            Toast.makeText(this, R.string.shared_data_query_failure_text, Toast.LENGTH_LONG).show();
+            Toast.makeText(this, com.android.settingslib.R.string.shared_data_query_failure_text,
+                    Toast.LENGTH_LONG).show();
             finish();
         }
     }
@@ -155,7 +159,8 @@
 
             final BlobInfo blob = getItem(position);
             holder.blobLabel.setText(blob.getLabel());
-            holder.blobId.setText(getString(R.string.blob_id_text, blob.getId()));
+            holder.blobId.setText(
+                    getString(com.android.settingslib.R.string.blob_id_text, blob.getId()));
             holder.blobExpiry.setText(formatExpiryTime(blob.getExpiryTimeMs()));
             holder.blobSize.setText(SharedDataUtils.formatSize(blob.getSizeBytes()));
             return convertView;
@@ -165,7 +170,8 @@
             if (expiryTimeMs == 0) {
                 return getString(R.string.blob_never_expires_text);
             }
-            return getString(R.string.blob_expires_text, SharedDataUtils.formatTime(expiryTimeMs));
+            return getString(com.android.settingslib.R.string.blob_expires_text,
+                    SharedDataUtils.formatTime(expiryTimeMs));
         }
     }
 }
diff --git a/src/com/android/settings/development/storage/LeaseInfoListView.java b/src/com/android/settings/development/storage/LeaseInfoListView.java
index 597e155..bc97119 100644
--- a/src/com/android/settings/development/storage/LeaseInfoListView.java
+++ b/src/com/android/settings/development/storage/LeaseInfoListView.java
@@ -100,7 +100,7 @@
 
         blobLabel.setText(mBlobInfo.getLabel());
         blobLabel.setTypeface(Typeface.DEFAULT_BOLD);
-        blobId.setText(getString(R.string.blob_id_text, mBlobInfo.getId()));
+        blobId.setText(getString(com.android.settingslib.R.string.blob_id_text, mBlobInfo.getId()));
         blobExpiry.setVisibility(View.GONE);
         blobSize.setText(SharedDataUtils.formatSize(mBlobInfo.getSizeBytes()));
         return headerView;
@@ -110,7 +110,7 @@
         final Button deleteButton = new Button(this);
         deleteButton.setLayoutParams(
                 new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
-        deleteButton.setText(R.string.delete_blob_text);
+        deleteButton.setText(com.android.settingslib.R.string.delete_blob_text);
         deleteButton.setOnClickListener(getButtonOnClickListener());
         return deleteButton;
     }
@@ -118,7 +118,7 @@
     private View.OnClickListener getButtonOnClickListener() {
         return v -> {
             final AlertDialog dialog = new AlertDialog.Builder(mContext)
-                    .setMessage(R.string.delete_blob_confirmation_text)
+                    .setMessage(com.android.settingslib.R.string.delete_blob_confirmation_text)
                     .setPositiveButton(android.R.string.ok, getDialogOnClickListener())
                     .setNegativeButton(android.R.string.cancel, null)
                     .create();
@@ -185,7 +185,8 @@
                 }
             } finally {
                 if (TextUtils.isEmpty(description)) {
-                    description = getString(R.string.accessor_no_description_text);
+                    description = getString(
+                            com.android.settingslib.R.string.accessor_no_description_text);
                 }
             }
             return description;
@@ -195,7 +196,7 @@
             if (expiryTimeMillis == 0) {
                 return getString(R.string.accessor_never_expires_text);
             }
-            return getString(R.string.accessor_expires_text,
+            return getString(com.android.settingslib.R.string.accessor_expires_text,
                     SharedDataUtils.formatTime(expiryTimeMillis));
         }
     }
diff --git a/src/com/android/settings/development/storage/SharedDataPreferenceController.java b/src/com/android/settings/development/storage/SharedDataPreferenceController.java
index 5d94dc8..88f317b 100644
--- a/src/com/android/settings/development/storage/SharedDataPreferenceController.java
+++ b/src/com/android/settings/development/storage/SharedDataPreferenceController.java
@@ -23,7 +23,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.development.DeveloperOptionsPreferenceController;
 
@@ -52,12 +51,13 @@
             final boolean showPref = mBlobStoreManager != null
                     && !mBlobStoreManager.queryBlobsForUser(UserHandle.CURRENT).isEmpty();
             preference.setEnabled(showPref);
-            preference.setSummary(showPref ? R.string.shared_data_summary
-                                           : R.string.shared_data_no_blobs_text);
+            preference.setSummary(
+                    showPref ? com.android.settingslib.R.string.shared_data_summary
+                            : com.android.settingslib.R.string.shared_data_no_blobs_text);
         } catch (IOException e) {
             Log.e(TAG, "Unable to fetch blobs for current user: " + e.getMessage());
             preference.setEnabled(false);
-            preference.setSummary(R.string.shared_data_no_blobs_text);
+            preference.setSummary(com.android.settingslib.R.string.shared_data_no_blobs_text);
         }
     }
 }
diff --git a/src/com/android/settings/development/tare/AlarmManagerFragment.java b/src/com/android/settings/development/tare/AlarmManagerFragment.java
index 9b9eded..b55c7cf 100644
--- a/src/com/android/settings/development/tare/AlarmManagerFragment.java
+++ b/src/com/android/settings/development/tare/AlarmManagerFragment.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.development.tare;
 
-import android.annotation.Nullable;
 import android.app.Fragment;
 import android.app.tare.EconomyManager;
 import android.content.res.Resources;
@@ -26,6 +25,8 @@
 import android.widget.ExpandableListView;
 import android.widget.ExpandableListView.OnChildClickListener;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 
 /**
diff --git a/src/com/android/settings/development/tare/JobSchedulerFragment.java b/src/com/android/settings/development/tare/JobSchedulerFragment.java
index e3b36a5..7f5e663 100644
--- a/src/com/android/settings/development/tare/JobSchedulerFragment.java
+++ b/src/com/android/settings/development/tare/JobSchedulerFragment.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.development.tare;
 
-import android.annotation.Nullable;
 import android.app.Fragment;
 import android.app.tare.EconomyManager;
 import android.content.res.Resources;
@@ -26,6 +25,8 @@
 import android.widget.ExpandableListView;
 import android.widget.ExpandableListView.OnChildClickListener;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 
 /**
diff --git a/src/com/android/settings/development/tare/TareFactorController.java b/src/com/android/settings/development/tare/TareFactorController.java
index b5dd6ea..3407b7b 100644
--- a/src/com/android/settings/development/tare/TareFactorController.java
+++ b/src/com/android/settings/development/tare/TareFactorController.java
@@ -25,7 +25,6 @@
 import static android.provider.Settings.Global.TARE_ALARM_MANAGER_CONSTANTS;
 import static android.provider.Settings.Global.TARE_JOB_SCHEDULER_CONSTANTS;
 
-import android.annotation.NonNull;
 import android.app.tare.EconomyManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -40,6 +39,8 @@
 import android.util.KeyValueListParser;
 import android.util.Slog;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.R;
 
 /**
diff --git a/src/com/android/settings/development/tare/TareFactorDialogFragment.java b/src/com/android/settings/development/tare/TareFactorDialogFragment.java
index 6d2f5ca..269e209 100644
--- a/src/com/android/settings/development/tare/TareFactorDialogFragment.java
+++ b/src/com/android/settings/development/tare/TareFactorDialogFragment.java
@@ -18,7 +18,6 @@
 
 import static android.app.tare.EconomyManager.CAKE_IN_ARC;
 
-import android.annotation.NonNull;
 import android.app.AlertDialog;
 import android.app.Dialog;
 import android.app.DialogFragment;
@@ -33,6 +32,8 @@
 import android.widget.EditText;
 import android.widget.Spinner;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.R;
 import com.android.settings.Utils;
 
diff --git a/src/com/android/settings/development/tare/TareFactorExpandableListAdapter.java b/src/com/android/settings/development/tare/TareFactorExpandableListAdapter.java
index 79b7d41..9c78d06 100644
--- a/src/com/android/settings/development/tare/TareFactorExpandableListAdapter.java
+++ b/src/com/android/settings/development/tare/TareFactorExpandableListAdapter.java
@@ -18,7 +18,6 @@
 
 import static android.app.tare.EconomyManager.CAKE_IN_ARC;
 
-import android.annotation.NonNull;
 import android.annotation.SuppressLint;
 import android.view.LayoutInflater;
 import android.view.View;
@@ -26,6 +25,8 @@
 import android.widget.BaseExpandableListAdapter;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.R;
 
 /**
diff --git a/src/com/android/settings/development/tare/TareHomePage.java b/src/com/android/settings/development/tare/TareHomePage.java
index cfe8d5e..0eb93fc 100644
--- a/src/com/android/settings/development/tare/TareHomePage.java
+++ b/src/com/android/settings/development/tare/TareHomePage.java
@@ -35,7 +35,6 @@
 import android.widget.Button;
 import android.widget.CompoundButton;
 import android.widget.CompoundButton.OnCheckedChangeListener;
-import android.widget.Switch;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -45,7 +44,7 @@
 public class TareHomePage extends Activity {
     private static final String TAG = "TareHomePage";
 
-    private Switch mOnSwitch;
+    private CompoundButton mOnSwitch;
     private Button mRevButton;
     private TextView mAlarmManagerView;
     private TextView mJobSchedulerView;
diff --git a/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceController.java b/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceController.java
new file mode 100644
index 0000000..78468c1
--- /dev/null
+++ b/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceController.java
@@ -0,0 +1,80 @@
+/*
+* 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.development.widevine;
+
+import android.content.Context;
+import android.sysprop.WidevineProperties;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settings.media_drm.Flags;
+
+/**
+ * The controller (in the Media Widevine settings) enforces L3 security level
+* of Widevine CDM.
+*/
+public class ForceL3FallbackPreferenceController extends TogglePreferenceController {
+    private static final String TAG = "ForceL3FallbackPreferenceController";
+
+    public ForceL3FallbackPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public boolean isChecked() {
+        return WidevineProperties.forcel3_enabled().orElse(false);
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        WidevineProperties.forcel3_enabled(isChecked);
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (Flags.forceL3Enabled()) {
+            preference.setEnabled(true);
+            Log.i(TAG, "forceL3Enabled is on");
+        } else {
+            preference.setEnabled(false);
+            // In case of flag rollback, the controller should be unchecked.
+            WidevineProperties.forcel3_enabled(false);
+            Log.i(TAG, "forceL3Enabled is off");
+        }
+        super.updateState(preference);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            return AVAILABLE;
+        } else {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_system;
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/development/widevine/WidevineSettingsFragment.java b/src/com/android/settings/development/widevine/WidevineSettingsFragment.java
new file mode 100644
index 0000000..058aa40
--- /dev/null
+++ b/src/com/android/settings/development/widevine/WidevineSettingsFragment.java
@@ -0,0 +1,58 @@
+/*
+* 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.development.widevine;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * Fragment for native widevine settings in Developer options.
+*/
+@SearchIndexable
+public class WidevineSettingsFragment extends DashboardFragment {
+    private static final String TAG = "WidevineSettings";
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.widevine_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.WIDEVINE_SETTINGS;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+        new BaseSearchIndexProvider(R.xml.widevine_settings) {
+
+            @Override
+            protected boolean isPageSearchEnabled(Context context) {
+                return DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(context);
+            }
+        };
+}
\ No newline at end of file
diff --git a/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java b/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
index f00a327..13aac5c 100644
--- a/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BrandedAccountPreferenceController.java
@@ -19,14 +19,13 @@
 import android.accounts.Account;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.os.Bundle;
 import android.text.TextUtils;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.accounts.AccountDetailDashboardFragment;
+import com.android.settings.accounts.AccountDashboardFragment;
 import com.android.settings.accounts.AccountFeatureProvider;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.SubSettingLauncher;
@@ -38,7 +37,7 @@
 
     public BrandedAccountPreferenceController(Context context, String key) {
         super(context, key);
-        mAccountFeatureProvider = FeatureFactory.getFactory(mContext).getAccountFeatureProvider();
+        mAccountFeatureProvider = FeatureFactory.getFeatureFactory().getAccountFeatureProvider();
         mAccounts = mAccountFeatureProvider.getAccounts(mContext);
     }
 
@@ -63,7 +62,11 @@
             return;
         }
 
-        accountPreference.setSummary(mAccounts[0].name);
+        if (mAccounts.length == 1) {
+            accountPreference.setSummary(mAccounts[0].name);
+        } else {
+            accountPreference.setSummary(getAccountSummary(mAccounts.length));
+        }
     }
 
     @Override
@@ -72,18 +75,9 @@
             return false;
         }
 
-        final Bundle args = new Bundle();
-        args.putParcelable(AccountDetailDashboardFragment.KEY_ACCOUNT,
-                mAccounts[0]);
-        args.putParcelable(AccountDetailDashboardFragment.KEY_USER_HANDLE,
-                android.os.Process.myUserHandle());
-        args.putString(AccountDetailDashboardFragment.KEY_ACCOUNT_TYPE,
-                mAccountFeatureProvider.getAccountType());
-
         new SubSettingLauncher(mContext)
-                .setDestination(AccountDetailDashboardFragment.class.getName())
-                .setTitleRes(R.string.account_sync_title)
-                .setArguments(args)
+                .setDestination(AccountDashboardFragment.class.getName())
+                .setTitleRes(R.string.account_dashboard_title)
                 .setSourceMetricsCategory(SettingsEnums.DEVICEINFO)
                 .launch();
         return true;
@@ -97,4 +91,9 @@
             preference.setVisible(false);
         }
     }
+
+    private String getAccountSummary(int accountNo) {
+        return mContext.getResources()
+            .getString(R.string.my_device_info_account_preference_summary, accountNo);
+    }
 }
diff --git a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
index 55b38af..6fe3ca4 100644
--- a/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/BuildNumberPreferenceController.java
@@ -46,8 +46,8 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
-
 import com.android.settingslib.utils.StringUtil;
+
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
 public class BuildNumberPreferenceController extends BasePreferenceController implements
@@ -70,7 +70,7 @@
     public BuildNumberPreferenceController(Context context, String key) {
         super(context, key);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void setHost(InstrumentedPreferenceFragment fragment) {
@@ -241,7 +241,7 @@
                 Toast.LENGTH_LONG);
         mDevHitToast.show();
 
-        FeatureFactory.getFactory(mContext).getSearchFeatureProvider().sendPreIndexIntent(mContext);
+        FeatureFactory.getFeatureFactory().getSearchFeatureProvider().sendPreIndexIntent(mContext);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/deviceinfo/OWNERS b/src/com/android/settings/deviceinfo/OWNERS
index 68cee36..110402f 100644
--- a/src/com/android/settings/deviceinfo/OWNERS
+++ b/src/com/android/settings/deviceinfo/OWNERS
@@ -2,7 +2,6 @@
 allenwtsu@google.com
 andychou@google.com
 bonianchen@google.com
-goldmanj@google.com
 songferngwang@google.com
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
index d1bf808..8e583fd 100644
--- a/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/PhoneNumberPreferenceController.java
@@ -56,28 +56,6 @@
     }
 
     @Override
-    public CharSequence getSummary() {
-        return mContext.getString(R.string.device_info_protected_single_press);
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        String prefKey = preference.getKey();
-        if (prefKey.startsWith(KEY_PHONE_NUMBER)) {
-            int simSlotNumber = 0;
-            if (!TextUtils.equals(prefKey, KEY_PHONE_NUMBER)) {
-                // Get multisim slot number from preference key.
-                // Multisim preference key is KEY_PHONE_NUMBER + simSlotNumber
-                simSlotNumber = Integer.parseInt(
-                        prefKey.replaceAll("[^0-9]", ""));
-            }
-            final Preference simStatusPreference = mPreferenceList.get(simSlotNumber);
-            simStatusPreference.setSummary(getPhoneNumber(simSlotNumber));
-        }
-        return super.handlePreferenceTreeClick(preference);
-    }
-
-    @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         if (!SubscriptionUtil.isSimHardwareVisible(mContext)) {
@@ -105,7 +83,7 @@
         for (int simSlotNumber = 0; simSlotNumber < mPreferenceList.size(); simSlotNumber++) {
             final Preference simStatusPreference = mPreferenceList.get(simSlotNumber);
             simStatusPreference.setTitle(getPreferenceTitle(simSlotNumber));
-            simStatusPreference.setSummary(getSummary());
+            simStatusPreference.setSummary(getPhoneNumber(simSlotNumber));
         }
     }
 
@@ -155,7 +133,7 @@
     }
 
     @VisibleForTesting
-    protected CharSequence getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
+    protected String getFormattedPhoneNumber(SubscriptionInfo subscriptionInfo) {
         final String phoneNumber = SubscriptionUtil.getBidiFormattedPhoneNumber(mContext,
                 subscriptionInfo);
         return TextUtils.isEmpty(phoneNumber) ? mContext.getString(R.string.device_info_default)
@@ -164,6 +142,6 @@
 
     @VisibleForTesting
     protected Preference createNewPreference(Context context) {
-        return new PhoneNumberSummaryPreference(context);
+        return new Preference(context);
     }
 }
diff --git a/src/com/android/settings/deviceinfo/StorageCategoryFragment.java b/src/com/android/settings/deviceinfo/StorageCategoryFragment.java
index 52f453d..1280057 100644
--- a/src/com/android/settings/deviceinfo/StorageCategoryFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageCategoryFragment.java
@@ -37,6 +37,7 @@
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
 import com.android.settings.deviceinfo.storage.ManageStoragePreferenceController;
 import com.android.settings.deviceinfo.storage.NonCurrentUserController;
 import com.android.settings.deviceinfo.storage.StorageAsyncLoader;
@@ -85,7 +86,7 @@
 
     private StorageItemPreferenceController mPreferenceController;
     private List<NonCurrentUserController> mNonCurrentUsers;
-    private boolean mIsWorkProfile;
+    private @ProfileType int mProfileType;
     private int mUserId;
     private boolean mIsLoadedFromCache;
     private StorageCacheHelper mStorageCacheHelper;
@@ -163,9 +164,9 @@
         // These member variables are initialized befoer super.onAttach for
         // createPreferenceControllers to work correctly.
         mUserManager = context.getSystemService(UserManager.class);
-        mIsWorkProfile = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE)
-                == ProfileSelectFragment.ProfileType.WORK;
-        mUserId = Utils.getCurrentUserId(mUserManager, mIsWorkProfile);
+        mProfileType = getArguments().getInt(ProfileSelectFragment.EXTRA_PROFILE);
+        mUserId = Utils.getCurrentUserIdOfType(mUserManager, mProfileType);
+
         mStorageCacheHelper = new StorageCacheHelper(getContext(), mUserId);
 
         super.onAttach(context);
@@ -229,8 +230,12 @@
 
     @Override
     public int getMetricsCategory() {
-        return mIsWorkProfile ? SettingsEnums.SETTINGS_STORAGE_CATEGORY_WORK :
-                SettingsEnums.SETTINGS_STORAGE_CATEGORY;
+        if (mProfileType == ProfileSelectFragment.ProfileType.WORK) {
+            return SettingsEnums.SETTINGS_STORAGE_CATEGORY_WORK;
+        } else if (mProfileType == ProfileSelectFragment.ProfileType.PRIVATE) {
+            return SettingsEnums.SETTINGS_STORAGE_CATEGORY_PRIVATE;
+        }
+        return SettingsEnums.SETTINGS_STORAGE_CATEGORY;
     }
 
     @Override
@@ -248,11 +253,12 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         final StorageManager sm = context.getSystemService(StorageManager.class);
         mPreferenceController = new StorageItemPreferenceController(context, this,
-                null /* volume */, new StorageManagerVolumeProvider(sm), mIsWorkProfile);
+                null /* volume */, new StorageManagerVolumeProvider(sm), mProfileType);
         controllers.add(mPreferenceController);
 
-        mNonCurrentUsers = mIsWorkProfile ? EMPTY_LIST :
-                NonCurrentUserController.getNonCurrentUserControllers(context, mUserManager);
+        mNonCurrentUsers = mProfileType == ProfileSelectFragment.ProfileType.PERSONAL
+                ? NonCurrentUserController.getNonCurrentUserControllers(context, mUserManager)
+                : EMPTY_LIST;
         controllers.addAll(mNonCurrentUsers);
         return controllers;
     }
diff --git a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
index f31f2be..0da3667 100644
--- a/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
+++ b/src/com/android/settings/deviceinfo/StorageDashboardFragment.java
@@ -308,7 +308,6 @@
         // These member variables are initialized befoer super.onAttach for
         // createPreferenceControllers to work correctly.
         mUserManager = context.getSystemService(UserManager.class);
-        mIsWorkProfile = false;
         mUserId = UserHandle.myUserId();
         mStorageCacheHelper = new StorageCacheHelper(getContext(), mUserId);
 
@@ -423,7 +422,7 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         final StorageManager sm = context.getSystemService(StorageManager.class);
         mPreferenceController = new StorageItemPreferenceController(context, this,
-                null /* volume */, new StorageManagerVolumeProvider(sm), mIsWorkProfile);
+                null /* volume */, new StorageManagerVolumeProvider(sm));
         controllers.add(mPreferenceController);
 
         mNonCurrentUsers = NonCurrentUserController.getNonCurrentUserControllers(context,
@@ -467,8 +466,7 @@
                     final UserManager userManager = context.getSystemService(UserManager.class);
                     final List<AbstractPreferenceController> controllers = new ArrayList<>();
                     controllers.add(new StorageItemPreferenceController(context, null /* host */,
-                            null /* volume */, new StorageManagerVolumeProvider(sm),
-                            false /* isWorkProfile */));
+                            null /* volume */, new StorageManagerVolumeProvider(sm)));
                     controllers.addAll(NonCurrentUserController.getNonCurrentUserControllers(
                             context, userManager));
                     return controllers;
diff --git a/src/com/android/settings/deviceinfo/StorageWizardBase.java b/src/com/android/settings/deviceinfo/StorageWizardBase.java
index ad3c2c5..bb9a781 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardBase.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardBase.java
@@ -20,7 +20,6 @@
 import static android.os.storage.VolumeInfo.EXTRA_VOLUME_ID;
 
 import android.annotation.LayoutRes;
-import android.annotation.NonNull;
 import android.content.Intent;
 import android.content.res.Resources.Theme;
 import android.graphics.drawable.Drawable;
@@ -38,6 +37,7 @@
 import android.widget.ProgressBar;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
@@ -116,7 +116,7 @@
                 .setText(R.string.wizard_back)
                 .setListener(this::onNavigateBack)
                 .setButtonType(FooterButton.ButtonType.OTHER)
-                .setTheme(R.style.SudGlifButton_Secondary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                 .build()
         );
         mFooterBarMixin.setPrimaryButton(
@@ -124,7 +124,7 @@
                 .setText(R.string.wizard_next)
                 .setListener(this::onNavigateNext)
                 .setButtonType(FooterButton.ButtonType.NEXT)
-                .setTheme(R.style.SudGlifButton_Primary)
+                .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                 .build()
         );
         mBack = mFooterBarMixin.getSecondaryButton();
diff --git a/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java b/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java
index 79f97de..b59d169 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardFormatSlow.java
@@ -57,7 +57,7 @@
 
     @Override
     public void onNavigateBack(View view) {
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_BENCHMARK_SLOW_ABORT);
 
         final Intent intent = new Intent(this, StorageWizardInit.class);
@@ -69,11 +69,11 @@
     public void onNavigateNext(View view) {
         if (view != null) {
             // User made an explicit choice to continue when slow
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                     SettingsEnums.ACTION_STORAGE_BENCHMARK_SLOW_CONTINUE);
         } else {
             // User made an implicit choice to continue when fast
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                     SettingsEnums.ACTION_STORAGE_BENCHMARK_FAST_CONTINUE);
         }
 
diff --git a/src/com/android/settings/deviceinfo/StorageWizardInit.java b/src/com/android/settings/deviceinfo/StorageWizardInit.java
index 8d04983..b912ffe 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardInit.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardInit.java
@@ -133,7 +133,7 @@
     public void onNavigateExternal(View view) {
         if (view != null) {
             // User made an explicit choice for external
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_INIT_EXTERNAL);
         }
         StorageWizardFormatConfirm.showPublic(this, mDisk.getId());
@@ -142,7 +142,7 @@
     public void onNavigateInternal(View view) {
         if (view != null) {
             // User made an explicit choice for internal
-            FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_INIT_INTERNAL);
         }
         StorageWizardFormatConfirm.showPrivate(this, mDisk.getId());
diff --git a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
index f65dd24..0b88657 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardMigrateConfirm.java
@@ -30,6 +30,7 @@
 import android.view.View;
 import android.widget.Toast;
 
+import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.password.ChooseLockSettingsHelper;
@@ -82,7 +83,7 @@
 
     @Override
     public void onNavigateBack(View view) {
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_MIGRATE_LATER);
 
         if (mDisk != null) {
@@ -97,10 +98,19 @@
     @Override
     public void onNavigateNext(View view) {
         // Ensure that all users are unlocked so that we can move their data
+        final LockPatternUtils lpu = new LockPatternUtils(this);
         if (StorageManager.isFileEncrypted()) {
             for (UserInfo user : getSystemService(UserManager.class).getUsers()) {
-                if (!StorageManager.isUserKeyUnlocked(user.id)) {
-                    Log.d(TAG, "User " + user.id + " is currently locked; requesting unlock");
+                if (StorageManager.isCeStorageUnlocked(user.id)) {
+                    continue;
+                }
+                if (!lpu.isSecure(user.id)) {
+                    Log.d(TAG, "Unsecured user " + user.id + " is currently locked; attempting "
+                            + "automatic unlock");
+                    lpu.unlockUserKeyIfUnsecured(user.id);
+                } else {
+                    Log.d(TAG, "Secured user " + user.id + " is currently locked; requesting "
+                            + "manual unlock");
                     final CharSequence description = TextUtils.expandTemplate(
                             getText(R.string.storage_wizard_move_unlock), user.name);
                     final ChooseLockSettingsHelper.Builder builder =
@@ -142,7 +152,7 @@
             return;
         }
 
-        FeatureFactory.getFactory(this).getMetricsFeatureProvider().action(this,
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
                 SettingsEnums.ACTION_STORAGE_MIGRATE_NOW);
 
         final Intent intent = new Intent(this, StorageWizardMigrateProgress.class);
diff --git a/src/com/android/settings/deviceinfo/StorageWizardMoveConfirm.java b/src/com/android/settings/deviceinfo/StorageWizardMoveConfirm.java
index da96104..f55f822 100644
--- a/src/com/android/settings/deviceinfo/StorageWizardMoveConfirm.java
+++ b/src/com/android/settings/deviceinfo/StorageWizardMoveConfirm.java
@@ -33,6 +33,7 @@
 import android.view.View;
 
 import com.android.internal.util.Preconditions;
+import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
 import com.android.settings.password.ChooseLockSettingsHelper;
 
@@ -79,10 +80,19 @@
     @Override
     public void onNavigateNext(View view) {
         // Ensure that all users are unlocked so that we can move their data
+        final LockPatternUtils lpu = new LockPatternUtils(this);
         if (StorageManager.isFileEncrypted()) {
             for (UserInfo user : getSystemService(UserManager.class).getUsers()) {
-                if (!StorageManager.isUserKeyUnlocked(user.id)) {
-                    Log.d(TAG, "User " + user.id + " is currently locked; requesting unlock");
+                if (StorageManager.isCeStorageUnlocked(user.id)) {
+                    continue;
+                }
+                if (!lpu.isSecure(user.id)) {
+                    Log.d(TAG, "Unsecured user " + user.id + " is currently locked; attempting "
+                            + "automatic unlock");
+                    lpu.unlockUserKeyIfUnsecured(user.id);
+                } else {
+                    Log.d(TAG, "Secured user " + user.id + " is currently locked; requesting "
+                            + "manual unlock");
                     final CharSequence description = TextUtils.expandTemplate(
                             getText(R.string.storage_wizard_move_unlock), user.name);
                     final ChooseLockSettingsHelper.Builder builder =
diff --git a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
index ccae7e9..1955f36 100644
--- a/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/TopLevelStoragePreferenceController.java
@@ -27,6 +27,7 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
 import com.android.settings.deviceinfo.storage.StorageCacheHelper;
 import com.android.settingslib.deviceinfo.PrivateStorageInfo;
 import com.android.settingslib.deviceinfo.StorageManagerVolumeProvider;
@@ -62,8 +63,8 @@
 
     @VisibleForTesting
     protected Future refreshSummaryThread(Preference preference) {
-        int userId = Utils.getCurrentUserId(mContext.getSystemService(UserManager.class),
-                /* isWorkProfile */ false);
+        int userId = Utils.getCurrentUserIdOfType(
+                mContext.getSystemService(UserManager.class), ProfileType.PERSONAL);
         final StorageCacheHelper storageCacheHelper = new StorageCacheHelper(mContext, userId);
         long cachedUsedSize = storageCacheHelper.retrieveUsedSize();
         long cachedTotalSize = storageCacheHelper.retrieveCachedSize().totalSize;
diff --git a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
index 5e5e2ab..50b6097 100644
--- a/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/aboutphone/MyDeviceInfoFragment.java
@@ -183,7 +183,6 @@
         final Bundle bundle = getArguments();
         final EntityHeaderController controller = EntityHeaderController
                 .newInstance(context, this, headerView)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
                 .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE);
 
@@ -199,7 +198,7 @@
                     com.android.settingslib.Utils.getUserIcon(getActivity(), userManager, info));
         }
 
-        controller.done(context, true /* rebindActions */);
+        controller.done(true /* rebindActions */);
     }
 
     @Override
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
index 6c7a743..0b75099 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceController.java
@@ -38,8 +38,8 @@
 
     public BatteryFirstUseDatePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
-                context).getBatterySettingsFeatureProvider();
+        mBatterySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getBatterySettingsFeatureProvider();
         mBatteryManager = mContext.getSystemService(BatteryManager.class);
     }
 
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java
index 1731212..c017022 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragment.java
@@ -17,15 +17,15 @@
 package com.android.settings.deviceinfo.batteryinfo;
 
 import android.app.settings.SettingsEnums;
+import android.content.Context;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-/**
- * A fragment that shows battery hardware information.
- */
+/** A fragment that shows battery hardware information. */
 @SearchIndexable
 public class BatteryInfoFragment extends DashboardFragment {
 
@@ -47,5 +47,12 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.battery_info);
+            new BaseSearchIndexProvider(R.xml.battery_info) {
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return FeatureFactory.getFeatureFactory()
+                            .getBatterySettingsFeatureProvider()
+                            .isBatteryInfoEnabled(context);
+                }
+            };
 }
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoPreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoPreferenceController.java
new file mode 100644
index 0000000..d285801
--- /dev/null
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoPreferenceController.java
@@ -0,0 +1,41 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+
+/** Controller to enter battery information page. */
+public class BatteryInfoPreferenceController extends BasePreferenceController {
+
+    private final BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
+
+    public BatteryInfoPreferenceController(Context context, String key) {
+        super(context, key);
+        mBatterySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getBatterySettingsFeatureProvider();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return mBatterySettingsFeatureProvider.isBatteryInfoEnabled(mContext) ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+}
diff --git a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
index ff54c77..15d6b28 100644
--- a/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceController.java
@@ -38,8 +38,8 @@
 
     public BatteryManufactureDatePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mBatterySettingsFeatureProvider = FeatureFactory.getFactory(
-                context).getBatterySettingsFeatureProvider();
+        mBatterySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getBatterySettingsFeatureProvider();
         mBatteryManager = mContext.getSystemService(BatteryManager.class);
     }
 
diff --git a/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java b/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
index fb17eca..fa71c34 100644
--- a/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceController.java
@@ -28,6 +28,7 @@
 import androidx.preference.Preference;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.flags.Flags;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -40,10 +41,6 @@
 
 public class MainlineModuleVersionPreferenceController extends BasePreferenceController {
 
-    private static final String TAG = "MainlineModuleControl";
-    private static final List<String> VERSION_NAME_DATE_PATTERNS = Arrays.asList("yyyy-MM-dd",
-            "yyyy-MM");
-
     @VisibleForTesting
     static final Intent MODULE_UPDATE_INTENT =
             new Intent("android.settings.MODULE_UPDATE_SETTINGS");
@@ -51,6 +48,10 @@
     static final Intent MODULE_UPDATE_V2_INTENT =
             new Intent("android.settings.MODULE_UPDATE_VERSIONS");
 
+    private static final String TAG = "MainlineModuleControl";
+    private static final List<String> VERSION_NAME_DATE_PATTERNS = Arrays.asList("yyyy-MM-dd",
+            "yyyy-MM");
+
     private final PackageManager mPackageManager;
 
     private String mModuleVersion;
@@ -58,6 +59,12 @@
     public MainlineModuleVersionPreferenceController(Context context, String key) {
         super(context, key);
         mPackageManager = mContext.getPackageManager();
+        if (Flags.mainlineModuleExplicitIntent()) {
+            String packageName = mContext
+                    .getString(com.android.settings.R.string.config_mainline_module_update_package);
+            MODULE_UPDATE_INTENT.setPackage(packageName);
+            MODULE_UPDATE_V2_INTENT.setPackage(packageName);
+        }
         initModules();
     }
 
diff --git a/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt b/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt
index 0b0eeb7..92d7733 100644
--- a/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt
+++ b/src/com/android/settings/deviceinfo/hardwareinfo/ManufacturedYearPreferenceController.kt
@@ -17,13 +17,12 @@
 
 import android.content.Context
 import com.android.settings.core.BasePreferenceController
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 
 /** Preference controller for Manufactured Year. */
 class ManufacturedYearPreferenceController(context: Context, preferenceKey: String) :
     BasePreferenceController(context, preferenceKey) {
-    private val year: String? =
-        FeatureFactory.getFactory(context).hardwareInfoFeatureProvider.manufacturedYear
+    private val year: String? = featureFactory.hardwareInfoFeatureProvider.manufacturedYear
 
     override fun getAvailabilityStatus(): Int =
         if (!year.isNullOrEmpty()) AVAILABLE else UNSUPPORTED_ON_DEVICE
diff --git a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
index 2045b96..ff55184 100644
--- a/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceController.java
@@ -33,7 +33,6 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.deviceinfo.PhoneNumberSummaryPreference;
 import com.android.settings.deviceinfo.simstatus.SlotSimStatus;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settingslib.Utils;
@@ -103,6 +102,7 @@
             multiImeiPreference.setKey(DEFAULT_KEY + (1 + simSlotNumber));
             multiImeiPreference.setEnabled(true);
             multiImeiPreference.setCopyingEnabled(true);
+
             category.addPreference(multiImeiPreference);
        }
     }
@@ -112,11 +112,6 @@
         updatePreference(preference, keyToSlotIndex(preference.getKey()));
     }
 
-    @Override
-    public CharSequence getSummary() {
-        return mContext.getString(R.string.device_info_protected_single_press);
-    }
-
     private CharSequence getSummary(int simSlot) {
         final int phoneType = getPhoneType(simSlot);
         return phoneType == PHONE_TYPE_CDMA ? mTelephonyManager.getMeid(simSlot)
@@ -150,8 +145,12 @@
 
     @VisibleForTesting
     protected void updatePreference(Preference preference, int simSlot) {
+        if (simSlot < 0) {
+            preference.setVisible(false);
+            return;
+        }
         preference.setTitle(getTitle(simSlot));
-        preference.setSummary(getSummary());
+        preference.setSummary(getSummary(simSlot));
     }
 
     private CharSequence getTitleForGsmPhone(int simSlot, boolean isPrimaryImei) {
@@ -195,6 +194,6 @@
 
     @VisibleForTesting
     Preference createNewPreference(Context context) {
-        return new PhoneNumberSummaryPreference(context);
+        return new Preference(context);
     }
 }
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt b/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
index 996f31f..f765d8c 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
+++ b/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceController.kt
@@ -92,6 +92,7 @@
             }
             preference.title = title
             preference.dialogTitle = title
+            preference.summary = eid
             updateDialog()
         }
     }
@@ -125,14 +126,11 @@
             WindowManager.LayoutParams.FLAG_SECURE
         )
         dialog.setCanceledOnTouchOutside(false)
-        val textView = dialog.findViewById<TextView>(R.id.esim_id_value)
+        val textView = dialog.requireViewById<TextView>(R.id.esim_id_value)
         textView.text = PhoneNumberUtil.expandByTts(eid)
 
-        val qrCodeView = dialog.findViewById<ImageView>(R.id.esim_id_qrcode)
+        val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode)
         qrCodeView.setImageBitmap(getEidQrCode(eid))
-
-        // After "Tap to show", eid is displayed on preference.
-        preference.summary = textView.text
     }
 
     override fun handlePreferenceTreeClick(preference: Preference): Boolean {
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
index d3058ce..6ac0d26 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogController.java
@@ -18,7 +18,6 @@
 
 import static androidx.lifecycle.Lifecycle.Event;
 
-import android.annotation.Nullable;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -54,6 +53,7 @@
 import android.util.Log;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
@@ -630,24 +630,24 @@
         @Override
         public void onRegistered(@AccessNetworkConstants.TransportType int imsTransportType) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_registered));
+                    com.android.settingslib.R.string.ims_reg_status_registered));
         }
         @Override
         public void onRegistering(@AccessNetworkConstants.TransportType int imsTransportType) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_not_registered));
+                    com.android.settingslib.R.string.ims_reg_status_not_registered));
         }
         @Override
         public void onUnregistered(@Nullable ImsReasonInfo info) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_not_registered));
+                    com.android.settingslib.R.string.ims_reg_status_not_registered));
         }
         @Override
         public void onTechnologyChangeFailed(
                 @AccessNetworkConstants.TransportType int imsTransportType,
                 @Nullable ImsReasonInfo info) {
             mDialog.setText(IMS_REGISTRATION_STATE_VALUE_ID, mRes.getString(
-                    R.string.ims_reg_status_not_registered));
+                    com.android.settingslib.R.string.ims_reg_status_not_registered));
         }
     };
 
diff --git a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
index e82d541..f212eea 100644
--- a/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
+++ b/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogFragment.java
@@ -111,10 +111,7 @@
             Log.d(TAG, "Fragment not attached yet.");
             return;
         }
-        setText(viewId, text, true);
-    }
 
-    public void setText(int viewId, CharSequence text, boolean enableCopy) {
         final TextView textView = mRootView.findViewById(viewId);
         if (textView == null) {
             return;
@@ -125,6 +122,5 @@
             text = PhoneNumberUtil.expandByTts(text);
         }
         textView.setText(text);
-        textView.setTextIsSelectable(enableCopy);
     }
 }
diff --git a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
index 84d88e3..b98fbda 100644
--- a/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceController.java
@@ -50,7 +50,7 @@
 
     public AutomaticStorageManagementSwitchPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public AutomaticStorageManagementSwitchPreferenceController setFragmentManager(
diff --git a/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java b/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
index 9613b55..442531b 100644
--- a/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/ManageStoragePreferenceController.java
@@ -71,7 +71,7 @@
         }
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsFeatureProvider.action(mContext, SettingsEnums.STORAGE_FREE_UP_SPACE_NOW);
 
         final Intent intent = new Intent(StorageManager.ACTION_MANAGE_STORAGE);
diff --git a/src/com/android/settings/deviceinfo/storage/StorageEntry.java b/src/com/android/settings/deviceinfo/storage/StorageEntry.java
index b419370..38b2c33 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageEntry.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageEntry.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.deviceinfo.storage;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -26,6 +25,8 @@
 import android.os.storage.VolumeRecord;
 import android.text.TextUtils;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.R;
 
 import java.io.File;
diff --git a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
index d2471b7..fd42417 100644
--- a/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
+++ b/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceController.java
@@ -17,11 +17,13 @@
 package com.android.settings.deviceinfo.storage;
 
 import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PERSONAL_TAB;
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PRIVATE_TAB;
 import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.WORK_TAB;
 
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
 import android.content.res.TypedArray;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
@@ -47,6 +49,7 @@
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
 import com.android.settings.deviceinfo.StorageItemPreference;
 import com.android.settings.deviceinfo.storage.StorageUtils.SystemInfoFragment;
 import com.android.settings.overlay.FeatureFactory;
@@ -108,33 +111,33 @@
     private final Fragment mFragment;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private final StorageVolumeProvider mSvp;
-    private VolumeInfo mVolume;
+    @Nullable private VolumeInfo mVolume;
     private int mUserId;
     private long mUsedBytes;
     private long mTotalSize;
 
-    private List<StorageItemPreference> mPrivateStorageItemPreferences;
-    private PreferenceScreen mScreen;
+    @Nullable private List<StorageItemPreference> mPrivateStorageItemPreferences;
+    @Nullable private PreferenceScreen mScreen;
     @VisibleForTesting
-    Preference mPublicStoragePreference;
+    @Nullable Preference mPublicStoragePreference;
     @VisibleForTesting
-    StorageItemPreference mImagesPreference;
+    @Nullable StorageItemPreference mImagesPreference;
     @VisibleForTesting
-    StorageItemPreference mVideosPreference;
+    @Nullable StorageItemPreference mVideosPreference;
     @VisibleForTesting
-    StorageItemPreference mAudioPreference;
+    @Nullable StorageItemPreference mAudioPreference;
     @VisibleForTesting
-    StorageItemPreference mAppsPreference;
+    @Nullable StorageItemPreference mAppsPreference;
     @VisibleForTesting
-    StorageItemPreference mGamesPreference;
+    @Nullable StorageItemPreference mGamesPreference;
     @VisibleForTesting
-    StorageItemPreference mDocumentsAndOtherPreference;
+    @Nullable StorageItemPreference mDocumentsAndOtherPreference;
     @VisibleForTesting
-    StorageItemPreference mSystemPreference;
+    @Nullable StorageItemPreference mSystemPreference;
     @VisibleForTesting
-    StorageItemPreference mTrashPreference;
+    @Nullable StorageItemPreference mTrashPreference;
 
-    private boolean mIsWorkProfile;
+    private final int mProfileType;
 
     private StorageCacheHelper mStorageCacheHelper;
     // The mIsDocumentsPrefShown being used here is to prevent a flicker problem from displaying
@@ -142,16 +145,25 @@
     private boolean mIsDocumentsPrefShown;
     private boolean mIsPreferenceOrderedBySize;
 
-    public StorageItemPreferenceController(Context context, Fragment hostFragment,
-            VolumeInfo volume, StorageVolumeProvider svp, boolean isWorkProfile) {
+    public StorageItemPreferenceController(
+            Context context, Fragment hostFragment, VolumeInfo volume, StorageVolumeProvider svp) {
+        this(context, hostFragment, volume, svp, ProfileSelectFragment.ProfileType.PERSONAL);
+    }
+
+    public StorageItemPreferenceController(
+            Context context,
+            Fragment hostFragment,
+            @Nullable VolumeInfo volume,
+            StorageVolumeProvider svp,
+            @ProfileSelectFragment.ProfileType int profileType) {
         super(context);
         mPackageManager = context.getPackageManager();
         mUserManager = context.getSystemService(UserManager.class);
         mFragment = hostFragment;
         mVolume = volume;
         mSvp = svp;
-        mIsWorkProfile = isWorkProfile;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mProfileType = profileType;
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mUserId = getCurrentUserId();
         mIsDocumentsPrefShown = isDocumentsPrefShown();
         mStorageCacheHelper = new StorageCacheHelper(mContext, mUserId);
@@ -168,7 +180,7 @@
 
     @VisibleForTesting
     int getCurrentUserId() {
-        return Utils.getCurrentUserId(mUserManager, mIsWorkProfile);
+        return Utils.getCurrentUserIdOfType(mUserManager, mProfileType);
     }
 
     @Override
@@ -229,7 +241,9 @@
         mVolume = volume;
 
         if (mPublicStoragePreference != null) {
-            mPublicStoragePreference.setVisible(isValidPublicVolume() && !mIsWorkProfile);
+            mPublicStoragePreference.setVisible(
+                    isValidPublicVolume()
+                            && mProfileType == ProfileSelectFragment.ProfileType.PERSONAL);
         }
 
         // If isValidPrivateVolume() is true, these preferences will become visible at
@@ -327,9 +341,16 @@
      * Sets the user id for which this preference controller is handling.
      */
     public void setUserId(UserHandle userHandle) {
-        if (mIsWorkProfile && !mUserManager.isManagedProfile(userHandle.getIdentifier())) {
+        if (mProfileType == ProfileSelectFragment.ProfileType.WORK
+                && !mUserManager.isManagedProfile(userHandle.getIdentifier())) {
             throw new IllegalArgumentException("Only accept work profile userHandle");
         }
+
+        UserInfo userInfo = mUserManager.getUserInfo(userHandle.getIdentifier());
+        if (mProfileType == ProfileSelectFragment.ProfileType.PRIVATE
+                && (userInfo == null || userInfo.isPrivateProfile())) {
+            throw new IllegalArgumentException("Only accept private profile userHandle");
+        }
         mUserId = userHandle.getIdentifier();
 
         tintPreference(mPublicStoragePreference);
@@ -498,8 +519,13 @@
 
     private Bundle getWorkAnnotatedBundle(int additionalCapacity) {
         final Bundle args = new Bundle(1 + additionalCapacity);
-        args.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB,
-                mIsWorkProfile ? WORK_TAB : PERSONAL_TAB);
+        if (mProfileType == ProfileSelectFragment.ProfileType.WORK) {
+            args.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, WORK_TAB);
+        } else if (mProfileType == ProfileSelectFragment.ProfileType.PRIVATE) {
+            args.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, PRIVATE_TAB);
+        } else {
+            args.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, PERSONAL_TAB);
+        }
         return args;
     }
 
diff --git a/src/com/android/settings/devicelock/DeviceLockPreferenceController.java b/src/com/android/settings/devicelock/DeviceLockPreferenceController.java
index 4b6fe88..cf54c87 100644
--- a/src/com/android/settings/devicelock/DeviceLockPreferenceController.java
+++ b/src/com/android/settings/devicelock/DeviceLockPreferenceController.java
@@ -47,6 +47,11 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
+        if (mDeviceLockManager == null) {
+            Log.w(TAG, "DeviceLockManager is not available");
+            preference.setVisible(false);
+            return;
+        }
         mDeviceLockManager.getKioskApps(mContext.getMainExecutor(),
                 result -> {
                     // if kiosk apps present on the device, the device is provisioned by Device Lock
diff --git a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
index b21c6ac..725b956 100644
--- a/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
+++ b/src/com/android/settings/display/AdaptiveSleepPreferenceController.java
@@ -62,7 +62,7 @@
     public AdaptiveSleepPreferenceController(Context context, RestrictionUtils restrictionUtils) {
         mContext = context;
         mRestrictionUtils = restrictionUtils;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPowerManager = context.getSystemService(PowerManager.class);
         mPackageManager = context.getPackageManager();
diff --git a/src/com/android/settings/display/AlwaysOnDisplaySlice.java b/src/com/android/settings/display/AlwaysOnDisplaySlice.java
index 003c603..7a9f2f9 100644
--- a/src/com/android/settings/display/AlwaysOnDisplaySlice.java
+++ b/src/com/android/settings/display/AlwaysOnDisplaySlice.java
@@ -36,8 +36,6 @@
 
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.aware.AwareFeatureProvider;
-import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.CustomSliceable;
 
@@ -59,12 +57,10 @@
 
     private final Context mContext;
     private final AmbientDisplayConfiguration mConfig;
-    private final AwareFeatureProvider mFeatureProvider;
 
     public AlwaysOnDisplaySlice(Context context) {
         mContext = context;
         mConfig = new AmbientDisplayConfiguration(mContext);
-        mFeatureProvider = FeatureFactory.getFactory(context).getAwareFeatureProvider();
     }
 
     @Override
@@ -107,12 +103,9 @@
         final boolean isChecked = intent.getBooleanExtra(android.app.slice.Slice.EXTRA_TOGGLE_STATE,
                 false);
         final ContentResolver resolver = mContext.getContentResolver();
-        final boolean isAwareSupported = mFeatureProvider.isSupported(mContext);
-        final boolean isAwareEnabled = mFeatureProvider.isEnabled(mContext);
 
         Settings.Secure.putInt(resolver, DOZE_ALWAYS_ON, isChecked ? 1 : 0);
-        Settings.Secure.putInt(resolver, DOZE_WAKE_DISPLAY_GESTURE,
-                (isAwareEnabled && isAwareSupported && isChecked) ? 1 : 0);
+        Settings.Secure.putInt(resolver, DOZE_WAKE_DISPLAY_GESTURE, 0);
     }
 
     @Override
diff --git a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
index a5b0aeb..71d431a 100644
--- a/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
+++ b/src/com/android/settings/display/AmbientDisplayNotificationsPreferenceController.java
@@ -45,7 +45,7 @@
 
     public AmbientDisplayNotificationsPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
diff --git a/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java b/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
index ec311f4..9bfb2f4 100644
--- a/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
+++ b/src/com/android/settings/display/AutoBrightnessDetailPreferenceController.java
@@ -17,18 +17,18 @@
 package com.android.settings.display;
 
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Controller that updates the adaptive brightness.
  */
 public class AutoBrightnessDetailPreferenceController extends
-        AutoBrightnessPreferenceController implements OnMainSwitchChangeListener {
+        AutoBrightnessPreferenceController implements OnCheckedChangeListener {
 
     public AutoBrightnessDetailPreferenceController(Context context, String key) {
         super(context, key);
@@ -58,7 +58,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked != isChecked()) {
             setChecked(isChecked);
         }
diff --git a/src/com/android/settings/display/AutoRotatePreferenceController.java b/src/com/android/settings/display/AutoRotatePreferenceController.java
index 90423fb..ec2592d 100644
--- a/src/com/android/settings/display/AutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/AutoRotatePreferenceController.java
@@ -39,7 +39,7 @@
 
     public AutoRotatePreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -103,7 +103,8 @@
         final boolean isLocked = !isChecked;
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATION_LOCK,
                 isLocked);
-        RotationPolicy.setRotationLock(mContext, isLocked);
+        RotationPolicy.setRotationLock(mContext, isLocked,
+                /* caller= */ "AutoRotatePreferenceController#setChecked");
         return true;
     }
 }
diff --git a/src/com/android/settings/display/AutoRotateSwitchBarController.java b/src/com/android/settings/display/AutoRotateSwitchBarController.java
index d76104a..e6fc2e3 100644
--- a/src/com/android/settings/display/AutoRotateSwitchBarController.java
+++ b/src/com/android/settings/display/AutoRotateSwitchBarController.java
@@ -39,7 +39,7 @@
 
     public AutoRotateSwitchBarController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -82,7 +82,8 @@
         final boolean isLocked = !isChecked;
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATE_ROTATE_MASTER_TOGGLE,
                 isLocked);
-        RotationPolicy.setRotationLock(mContext, isLocked);
+        RotationPolicy.setRotationLock(mContext, isLocked,
+                /* caller= */ "AutoRotateSwitchBarController#setChecked");
         return true;
     }
 
diff --git a/src/com/android/settings/display/BatteryPercentagePreferenceController.java b/src/com/android/settings/display/BatteryPercentagePreferenceController.java
index 448fb2b..a7113b3 100644
--- a/src/com/android/settings/display/BatteryPercentagePreferenceController.java
+++ b/src/com/android/settings/display/BatteryPercentagePreferenceController.java
@@ -23,7 +23,7 @@
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.R;
 import com.android.settings.Utils;
@@ -67,9 +67,11 @@
     @Override
     public void updateState(Preference preference) {
         int setting = Settings.System.getInt(mContext.getContentResolver(),
-                SHOW_BATTERY_PERCENT, 0);
+                SHOW_BATTERY_PERCENT,
+                mContext.getResources().getBoolean(
+                R.bool.config_defaultBatteryPercentageSetting) ? 1 : 0);
 
-        ((SwitchPreference) preference).setChecked(setting == 1);
+        ((TwoStatePreference) preference).setChecked(setting == 1);
     }
 
     @Override
@@ -77,7 +79,7 @@
         boolean showPercentage = (Boolean) newValue;
         Settings.System.putInt(mContext.getContentResolver(), SHOW_BATTERY_PERCENT,
                 showPercentage ? 1 : 0);
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(mContext, SettingsEnums.OPEN_BATTERY_PERCENTAGE, showPercentage);
         return true;
     }
diff --git a/src/com/android/settings/display/BrightnessLevelPreferenceController.java b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
index b6a0ca3..ac1a1cb 100644
--- a/src/com/android/settings/display/BrightnessLevelPreferenceController.java
+++ b/src/com/android/settings/display/BrightnessLevelPreferenceController.java
@@ -14,6 +14,7 @@
 package com.android.settings.display;
 
 import static android.content.Intent.ACTION_SHOW_BRIGHTNESS_DIALOG;
+import static android.content.Intent.EXTRA_BRIGHTNESS_DIALOG_IS_FULL_WIDTH;
 
 import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX;
 import static com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MIN;
@@ -53,7 +54,6 @@
     private static final String TAG = "BrightnessPrefCtrl";
     private static final String KEY_BRIGHTNESS = "brightness";
     private static final Uri BRIGHTNESS_ADJ_URI;
-
     private final ContentResolver mContentResolver;
     private final Handler mHandler = new Handler(Looper.getMainLooper());
     private final DisplayManager mDisplayManager;
@@ -141,6 +141,7 @@
         final Intent intent = new Intent(ACTION_SHOW_BRIGHTNESS_DIALOG);
         intent.putExtra(SettingsBaseActivity.EXTRA_PAGE_TRANSITION_TYPE,
                 SettingsTransitionHelper.TransitionType.TRANSITION_NONE);
+        intent.putExtra(EXTRA_BRIGHTNESS_DIALOG_IS_FULL_WIDTH, true);
 
         // Start activity in the same task and pass fade animations
         final ActivityOptions options = ActivityOptions.makeCustomAnimation(mContext,
diff --git a/src/com/android/settings/display/CameraGesturePreferenceController.java b/src/com/android/settings/display/CameraGesturePreferenceController.java
index 8e72a55..7d6fd7a 100644
--- a/src/com/android/settings/display/CameraGesturePreferenceController.java
+++ b/src/com/android/settings/display/CameraGesturePreferenceController.java
@@ -20,7 +20,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -43,7 +43,7 @@
     public void updateState(Preference preference) {
         int value = Settings.Secure.getInt(mContext.getContentResolver(),
                 CAMERA_GESTURE_DISABLED, 0);
-        ((SwitchPreference) preference).setChecked(value == 0);
+        ((TwoStatePreference) preference).setChecked(value == 0);
     }
 
     @Override
diff --git a/src/com/android/settings/display/ControlsPrivacyPreferenceController.java b/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
index 5b5b900..b9a2bfa 100644
--- a/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
+++ b/src/com/android/settings/display/ControlsPrivacyPreferenceController.java
@@ -88,7 +88,7 @@
     }
 
     private boolean isSecure() {
-        final LockPatternUtils utils = FeatureFactory.getFactory(mContext)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(mContext);
         final int userId = UserHandle.myUserId();
diff --git a/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java b/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java
index beefc05..e38f5d4 100644
--- a/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java
+++ b/src/com/android/settings/display/DeviceStateAutoRotateSettingController.java
@@ -27,7 +27,8 @@
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -42,7 +43,7 @@
 public class DeviceStateAutoRotateSettingController extends TogglePreferenceController implements
         LifecycleObserver {
 
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
 
     private final DeviceStateRotationLockSettingsManager mAutoRotateSettingsManager;
     private final int mOrder;
@@ -67,7 +68,7 @@
     public DeviceStateAutoRotateSettingController(Context context, int deviceState,
             String deviceStateDescription, int order) {
         this(context, deviceState, deviceStateDescription, order,
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider());
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider());
     }
 
     void init(Lifecycle lifecycle) {
@@ -86,7 +87,7 @@
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
-        mPreference = new SwitchPreference(mContext);
+        mPreference = new SwitchPreferenceCompat(mContext);
         mPreference.setTitle(mDeviceStateDescription);
         mPreference.setKey(getPreferenceKey());
         mPreference.setOrder(mOrder);
diff --git a/src/com/android/settings/display/DisplayFeatureProvider.java b/src/com/android/settings/display/DisplayFeatureProvider.java
new file mode 100644
index 0000000..a7c8dbb
--- /dev/null
+++ b/src/com/android/settings/display/DisplayFeatureProvider.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.display;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/** Feature provider for display settings */
+public interface DisplayFeatureProvider {
+
+    /** Create toggle preference */
+    @Nullable
+    TogglePreferenceController createAdditionalPreference(@NonNull Context context);
+
+    /** Update toggle preference */
+    void updatePreference(@Nullable TogglePreferenceController togglePreferenceController);
+
+    /** Add toggle preference to PreferenceScreen */
+    void addToScreen(@Nullable TogglePreferenceController togglePreferenceController,
+            @NonNull PreferenceScreen screen);
+}
diff --git a/src/com/android/settings/display/DisplayFeatureProviderImpl.java b/src/com/android/settings/display/DisplayFeatureProviderImpl.java
new file mode 100644
index 0000000..c9ec791
--- /dev/null
+++ b/src/com/android/settings/display/DisplayFeatureProviderImpl.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.display;
+
+import android.content.Context;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.TogglePreferenceController;
+
+public class DisplayFeatureProviderImpl implements DisplayFeatureProvider {
+
+    @Override
+    @Nullable
+    public TogglePreferenceController createAdditionalPreference(@NonNull Context context) {
+        return null;
+    }
+
+    @Override
+    public void updatePreference(@Nullable TogglePreferenceController togglePreferenceController) {
+
+    }
+
+    @Override
+    public void addToScreen(@Nullable TogglePreferenceController togglePreferenceController,
+            @NonNull PreferenceScreen screen) {
+
+    }
+}
diff --git a/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java b/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java
index 88e78e8..bee3a22 100644
--- a/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java
+++ b/src/com/android/settings/display/FoldLockBehaviorPreferenceController.java
@@ -24,12 +24,13 @@
 import static com.android.settings.display.FoldLockBehaviorSettings.SETTING_VALUE_STAY_AWAKE_ON_FOLD;
 
 import android.content.Context;
-import android.content.res.Resources;
 import android.os.UserHandle;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
 
+import com.android.internal.foldables.FoldGracePeriodProvider;
+import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
@@ -45,28 +46,35 @@
  */
 public class FoldLockBehaviorPreferenceController extends BasePreferenceController {
 
-    private final Resources mResources;
-
-    private static Map<String, String> KEY_TO_TEXT = new HashMap<>();
+    private static final Map<String, String> KEY_TO_TEXT = new HashMap<>();
+    private final FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
 
     public FoldLockBehaviorPreferenceController(Context context, String key) {
-        this(context, key, context.getResources());
+        this(context, key, new FoldLockSettingAvailabilityProvider(context.getResources()));
     }
 
-    public FoldLockBehaviorPreferenceController(Context context, String key, Resources resources) {
+    public FoldLockBehaviorPreferenceController(Context context, String key,
+            FoldLockSettingAvailabilityProvider foldLockSettingAvailabilityProvider) {
         super(context, key);
-        mResources = resources;
+        mFoldLockSettingAvailabilityProvider = foldLockSettingAvailabilityProvider;
         KEY_TO_TEXT.put(SETTING_VALUE_STAY_AWAKE_ON_FOLD,
                 resourceToString(R.string.stay_awake_on_fold_title));
-        KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
-                resourceToString(R.string.selective_stay_awake_title));
+        if (new FoldGracePeriodProvider().isEnabled()) {
+            KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
+                    resourceToString(R.string.stay_awake_on_lockscreen_title));
+        } else {
+            KEY_TO_TEXT.put(SETTING_VALUE_SELECTIVE_STAY_AWAKE,
+                    resourceToString(R.string.selective_stay_awake_title));
+        }
         KEY_TO_TEXT.put(SETTING_VALUE_SLEEP_ON_FOLD,
                 resourceToString(R.string.sleep_on_fold_title));
     }
 
     @Override
     public int getAvailabilityStatus() {
-        return mResources.getBoolean(com.android.internal.R.bool.config_fold_lock_behavior)
+        boolean isFoldLockBehaviorAvailable =
+                mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable();
+        return isFoldLockBehaviorAvailable
                 ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
diff --git a/src/com/android/settings/display/FoldLockBehaviorSettings.java b/src/com/android/settings/display/FoldLockBehaviorSettings.java
index beda52e..889a7dd 100644
--- a/src/com/android/settings/display/FoldLockBehaviorSettings.java
+++ b/src/com/android/settings/display/FoldLockBehaviorSettings.java
@@ -24,6 +24,7 @@
 import android.provider.Settings;
 import android.util.Log;
 
+import com.android.internal.foldables.FoldGracePeriodProvider;
 import com.android.settings.R;
 import com.android.settings.support.actionbar.HelpResourceProvider;
 import com.android.settings.utils.CandidateInfoExtra;
@@ -48,18 +49,19 @@
     public static final String SETTING_VALUE_STAY_AWAKE_ON_FOLD = "stay_awake_on_fold_key";
     public static final String SETTING_VALUE_SELECTIVE_STAY_AWAKE = "selective_stay_awake_key";
     public static final String SETTING_VALUE_SLEEP_ON_FOLD = "sleep_on_fold_key";
-    private static final String SETTING_VALUE_DEFAULT = SETTING_VALUE_SELECTIVE_STAY_AWAKE;
     public static final String TAG = "FoldLockBehaviorSetting";
     public static final HashSet<String> SETTING_VALUES = new HashSet<>(
             Set.of(SETTING_VALUE_STAY_AWAKE_ON_FOLD, SETTING_VALUE_SELECTIVE_STAY_AWAKE,
                     SETTING_VALUE_SLEEP_ON_FOLD));
-
+    private static final String SETTING_VALUE_DEFAULT = SETTING_VALUE_SELECTIVE_STAY_AWAKE;
     private Context mContext;
+    private final FoldGracePeriodProvider mFoldGracePeriodProvider = new FoldGracePeriodProvider();
 
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
         mContext = context;
+        setIllustrationLottieAnimation(getDefaultKey());
     }
 
     @Override
@@ -69,10 +71,17 @@
                 resourceToString(R.string.stay_awake_on_fold_title),
                 resourceToString(R.string.stay_awake_on_fold_summary),
                 SETTING_VALUE_STAY_AWAKE_ON_FOLD, /* enabled */ true));
-        candidates.add(new CandidateInfoExtra(
-                resourceToString(R.string.selective_stay_awake_title),
-                resourceToString(R.string.selective_stay_awake_summary),
-                SETTING_VALUE_SELECTIVE_STAY_AWAKE, /* enabled */ true));
+        if (mFoldGracePeriodProvider.isEnabled()) {
+            candidates.add(new CandidateInfoExtra(
+                    resourceToString(R.string.stay_awake_on_lockscreen_title),
+                    resourceToString(R.string.stay_awake_on_lockscreen_summary),
+                    SETTING_VALUE_SELECTIVE_STAY_AWAKE, /* enabled */ true));
+        } else {
+            candidates.add(new CandidateInfoExtra(
+                    resourceToString(R.string.selective_stay_awake_title),
+                    resourceToString(R.string.selective_stay_awake_summary),
+                    SETTING_VALUE_SELECTIVE_STAY_AWAKE, /* enabled */ true));
+        }
         candidates.add(new CandidateInfoExtra(
                 resourceToString(R.string.sleep_on_fold_title),
                 resourceToString(R.string.sleep_on_fold_summary),
@@ -136,6 +145,36 @@
                 UserHandle.USER_CURRENT);
     }
 
+    @Override
+    protected void onSelectionPerformed(boolean success) {
+        if (success) {
+            setIllustrationLottieAnimation(getDefaultKey());
+            updateCandidates();
+        }
+    }
+
+    private void setIllustrationLottieAnimation(String foldSettingValue) {
+        switch (foldSettingValue) {
+            case SETTING_VALUE_STAY_AWAKE_ON_FOLD:
+                setIllustration(R.raw.fold_setting_stay_awake_on_fold_lottie,
+                        IllustrationType.LOTTIE_ANIMATION);
+                break;
+            case SETTING_VALUE_SELECTIVE_STAY_AWAKE:
+                if (mFoldGracePeriodProvider.isEnabled()) {
+                    setIllustration(R.raw.fold_setting_grace_period_selective_stay_awake_lottie,
+                            IllustrationType.LOTTIE_ANIMATION);
+                } else {
+                    setIllustration(R.raw.fold_setting_selective_stay_awake_lottie,
+                            IllustrationType.LOTTIE_ANIMATION);
+                }
+                break;
+            case SETTING_VALUE_SLEEP_ON_FOLD:
+                setIllustration(R.raw.fold_setting_sleep_on_fold_lottie,
+                        IllustrationType.LOTTIE_ANIMATION);
+                break;
+        }
+    }
+
     private String resourceToString(int resource) {
         return mContext.getText(resource).toString();
     }
diff --git a/src/com/android/settings/display/LiftToWakePreferenceController.java b/src/com/android/settings/display/LiftToWakePreferenceController.java
index d12b7c4..4725dc4 100644
--- a/src/com/android/settings/display/LiftToWakePreferenceController.java
+++ b/src/com/android/settings/display/LiftToWakePreferenceController.java
@@ -21,7 +21,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -56,6 +56,6 @@
     @Override
     public void updateState(Preference preference) {
         int value = Settings.Secure.getInt(mContext.getContentResolver(), WAKE_GESTURE_ENABLED, 0);
-        ((SwitchPreference) preference).setChecked(value != 0);
+        ((TwoStatePreference) preference).setChecked(value != 0);
     }
 }
diff --git a/src/com/android/settings/display/LockscreenClockPreferenceController.java b/src/com/android/settings/display/LockscreenClockPreferenceController.java
index 70ae55e..bf427b2 100644
--- a/src/com/android/settings/display/LockscreenClockPreferenceController.java
+++ b/src/com/android/settings/display/LockscreenClockPreferenceController.java
@@ -37,7 +37,8 @@
 
     @Override
     public boolean isChecked() {
-        return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1) != 0;
+        return Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY,
+                getDoublelineClockDefault()) != 0;
     }
 
     @Override
@@ -67,4 +68,9 @@
     public int getSliceHighlightMenuRes() {
         return R.string.menu_key_display;
     }
+
+    protected int getDoublelineClockDefault() {
+        return mContext.getResources()
+            .getInteger(com.android.internal.R.integer.config_doublelineClockDefault);
+    }
 }
diff --git a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
index d0d4822..fd6d199 100644
--- a/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
+++ b/src/com/android/settings/display/NightDisplayActivationPreferenceController.java
@@ -19,7 +19,8 @@
 import android.content.Context;
 import android.hardware.display.ColorDisplayManager;
 import android.text.TextUtils;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -29,13 +30,12 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Controller that updates the night display.
  */
 public class NightDisplayActivationPreferenceController extends
-        TogglePreferenceController implements OnMainSwitchChangeListener {
+        TogglePreferenceController implements OnCheckedChangeListener {
 
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private ColorDisplayManager mColorDisplayManager;
@@ -47,7 +47,7 @@
 
         mColorDisplayManager = context.getSystemService(ColorDisplayManager.class);
         mTimeFormatter = new NightDisplayTimeFormatter(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -81,7 +81,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         final boolean activated = mColorDisplayManager.isNightDisplayActivated();
         if (isChecked != activated) {
             // TODO(b/179017365): Create a controller which extends TogglePreferenceController to
diff --git a/src/com/android/settings/display/PeakRefreshRatePreferenceController.java b/src/com/android/settings/display/PeakRefreshRatePreferenceController.java
index dfcc601..17d763a 100644
--- a/src/com/android/settings/display/PeakRefreshRatePreferenceController.java
+++ b/src/com/android/settings/display/PeakRefreshRatePreferenceController.java
@@ -16,18 +16,21 @@
 
 package com.android.settings.display;
 
+import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE;
+import static com.android.internal.display.RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay;
+
 import android.content.Context;
 import android.hardware.display.DisplayManager;
 import android.os.Handler;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.util.Log;
-import android.view.Display;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.server.display.feature.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -39,8 +42,6 @@
 public class PeakRefreshRatePreferenceController extends TogglePreferenceController
         implements LifecycleObserver, OnStart, OnStop {
 
-    @VisibleForTesting static float DEFAULT_REFRESH_RATE = 60f;
-
     @VisibleForTesting float mPeakRefreshRate;
 
     private static final String TAG = "RefreshRatePrefCtr";
@@ -48,7 +49,7 @@
 
     private final Handler mHandler;
     private final IDeviceConfigChange mOnDeviceConfigChange;
-    private final DeviceConfigDisplaySettings mDeviceConfigDisplaySettings;
+    private DeviceConfigDisplaySettings mDeviceConfigDisplaySettings;
     private Preference mPreference;
 
     private interface IDeviceConfigChange {
@@ -65,17 +66,7 @@
                         updateState(mPreference);
                     }
                 };
-
-        final DisplayManager dm = mContext.getSystemService(DisplayManager.class);
-        final Display display = dm.getDisplay(Display.DEFAULT_DISPLAY);
-
-        if (display == null) {
-            Log.w(TAG, "No valid default display device");
-            mPeakRefreshRate = DEFAULT_REFRESH_RATE;
-        } else {
-            mPeakRefreshRate = findPeakRefreshRate(display.getSupportedModes());
-        }
-
+        mPeakRefreshRate = Math.round(findHighestRefreshRateForDefaultDisplay(context));
         Log.d(
                 TAG,
                 "DEFAULT_REFRESH_RATE : "
@@ -111,12 +102,15 @@
                         mContext.getContentResolver(),
                         Settings.System.PEAK_REFRESH_RATE,
                         getDefaultPeakRefreshRate());
-        return Math.round(peakRefreshRate) == Math.round(mPeakRefreshRate);
+        return Math.round(peakRefreshRate) == Math.round(mPeakRefreshRate)
+                || Float.isInfinite(peakRefreshRate);
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        final float peakRefreshRate = isChecked ? mPeakRefreshRate : DEFAULT_REFRESH_RATE;
+        final float valueIfChecked = Flags.backUpSmoothDisplayAndForcePeakRefreshRate()
+                ? Float.POSITIVE_INFINITY : mPeakRefreshRate;
+        final float peakRefreshRate = isChecked ? valueIfChecked : DEFAULT_REFRESH_RATE;
         Log.d(TAG, "setChecked to : " + peakRefreshRate);
 
         return Settings.System.putFloat(
@@ -139,17 +133,13 @@
     }
 
     @VisibleForTesting
-    float findPeakRefreshRate(Display.Mode[] modes) {
-        float peakRefreshRate = DEFAULT_REFRESH_RATE;
-        for (Display.Mode mode : modes) {
-            if (Math.round(mode.getRefreshRate()) > peakRefreshRate) {
-                peakRefreshRate = mode.getRefreshRate();
-            }
-        }
-        return peakRefreshRate;
+    void injectDeviceConfigDisplaySettings(
+            DeviceConfigDisplaySettings deviceConfigDisplaySettings) {
+        mDeviceConfigDisplaySettings = deviceConfigDisplaySettings;
     }
 
-    private class DeviceConfigDisplaySettings
+    @VisibleForTesting
+    class DeviceConfigDisplaySettings
             implements DeviceConfig.OnPropertiesChangedListener, Executor {
         public void startListening() {
             DeviceConfig.addOnPropertiesChangedListener(
diff --git a/src/com/android/settings/display/ScreenResolutionFragment.java b/src/com/android/settings/display/ScreenResolutionFragment.java
index daf1793..a2ad25f 100644
--- a/src/com/android/settings/display/ScreenResolutionFragment.java
+++ b/src/com/android/settings/display/ScreenResolutionFragment.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.display;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.res.Resources;
@@ -30,6 +29,7 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.view.accessibility.AccessibilityManager;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
 
@@ -107,7 +107,8 @@
         final FooterPreference footerPreference = new FooterPreference(screen.getContext());
         footerPreference.setTitle(R.string.screen_resolution_footer);
         footerPreference.setSelectable(false);
-        footerPreference.setLayoutResource(R.layout.preference_footer);
+        footerPreference.setLayoutResource(
+                com.android.settingslib.widget.preference.footer.R.layout.preference_footer);
         screen.addPreference(footerPreference);
     }
 
diff --git a/src/com/android/settings/display/ScreenTimeoutSettings.java b/src/com/android/settings/display/ScreenTimeoutSettings.java
index 8ca8e0e..2d229a3 100644
--- a/src/com/android/settings/display/ScreenTimeoutSettings.java
+++ b/src/com/android/settings/display/ScreenTimeoutSettings.java
@@ -34,13 +34,17 @@
 import android.provider.Settings;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.flags.Flags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.support.actionbar.HelpResourceProvider;
 import com.android.settings.widget.RadioButtonPickerFragment;
+import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -55,13 +59,12 @@
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * Fragment that is used to control screen timeout.
- */
+/** Fragment that is used to control screen timeout. */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class ScreenTimeoutSettings extends RadioButtonPickerFragment implements
-        HelpResourceProvider {
+public class ScreenTimeoutSettings extends RadioButtonPickerFragment
+        implements HelpResourceProvider {
     private static final String TAG = "ScreenTimeout";
+
     /** If there is no setting in the provider, use this. */
     public static final int FALLBACK_SCREEN_TIMEOUT_VALUE = 30000;
 
@@ -72,25 +75,27 @@
     private FooterPreference mPrivacyPreference;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private SensorPrivacyManager mPrivacyManager;
-    private final BroadcastReceiver mReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            mAdaptiveSleepBatterySaverPreferenceController.updateVisibility();
-            mAdaptiveSleepController.updatePreference();
-        }
-    };
+    private final BroadcastReceiver mReceiver =
+            new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    mAdaptiveSleepBatterySaverPreferenceController.updateVisibility();
+                    mAdaptiveSleepController.updatePreference();
+                }
+            };
 
     private DevicePolicyManager mDevicePolicyManager;
     private SensorPrivacyManager.OnSensorPrivacyChangedListener mPrivacyChangedListener;
+    private boolean mIsUserAuthenticated = false;
+
+    @VisibleForTesting Context mContext;
+
+    @VisibleForTesting RestrictedLockUtils.EnforcedAdmin mAdmin;
+
+    @VisibleForTesting FooterPreference mDisableOptionsPreference;
 
     @VisibleForTesting
-    Context mContext;
-
-    @VisibleForTesting
-    RestrictedLockUtils.EnforcedAdmin mAdmin;
-
-    @VisibleForTesting
-    FooterPreference mDisableOptionsPreference;
+    FooterPreference mPowerConsumptionPreference;
 
     @VisibleForTesting
     AdaptiveSleepPermissionPreferenceController mAdaptiveSleepPermissionController;
@@ -98,16 +103,17 @@
     @VisibleForTesting
     AdaptiveSleepCameraStatePreferenceController mAdaptiveSleepCameraStatePreferenceController;
 
-    @VisibleForTesting
-    AdaptiveSleepPreferenceController mAdaptiveSleepController;
+    @VisibleForTesting AdaptiveSleepPreferenceController mAdaptiveSleepController;
 
     @VisibleForTesting
     AdaptiveSleepBatterySaverPreferenceController mAdaptiveSleepBatterySaverPreferenceController;
 
+    @Nullable
+    TogglePreferenceController mAdditionalTogglePreferenceController;
+
     public ScreenTimeoutSettings() {
         super();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(getContext())
-                .getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -118,8 +124,8 @@
         mInitialEntries = getResources().getStringArray(R.array.screen_timeout_entries);
         mInitialValues = getResources().getStringArray(R.array.screen_timeout_values);
         mAdaptiveSleepController = new AdaptiveSleepPreferenceController(context);
-        mAdaptiveSleepPermissionController = new AdaptiveSleepPermissionPreferenceController(
-                context);
+        mAdaptiveSleepPermissionController =
+                new AdaptiveSleepPermissionPreferenceController(context);
         mAdaptiveSleepCameraStatePreferenceController =
                 new AdaptiveSleepCameraStatePreferenceController(context, getLifecycle());
         mAdaptiveSleepBatterySaverPreferenceController =
@@ -128,9 +134,12 @@
         mPrivacyPreference.setIcon(R.drawable.ic_privacy_shield_24dp);
         mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
         mPrivacyPreference.setSelectable(false);
-        mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
+        mPrivacyPreference.setLayoutResource(
+                com.android.settingslib.widget.preference.footer.R.layout.preference_footer);
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPrivacyChangedListener = (sensor, enabled) -> mAdaptiveSleepController.updatePreference();
+        mAdditionalTogglePreferenceController = FeatureFactory.getFeatureFactory()
+                .getDisplayFeatureProvider().createAdditionalPreference(context);
     }
 
     @Override
@@ -140,8 +149,9 @@
         if (mInitialValues != null) {
             for (int i = 0; i < mInitialValues.length; ++i) {
                 if (Long.parseLong(mInitialValues[i].toString()) <= maxTimeout) {
-                    candidates.add(new TimeoutCandidateInfo(mInitialEntries[i],
-                            mInitialValues[i].toString(), true));
+                    candidates.add(
+                            new TimeoutCandidateInfo(
+                                    mInitialEntries[i], mInitialValues[i].toString(), true));
                 }
             }
         } else {
@@ -157,9 +167,12 @@
         mAdaptiveSleepCameraStatePreferenceController.updateVisibility();
         mAdaptiveSleepBatterySaverPreferenceController.updateVisibility();
         mAdaptiveSleepController.updatePreference();
-        mContext.registerReceiver(mReceiver,
-                new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
+        mContext.registerReceiver(
+                mReceiver, new IntentFilter(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
         mPrivacyManager.addSensorPrivacyListener(CAMERA, mPrivacyChangedListener);
+        mIsUserAuthenticated = false;
+        FeatureFactory.getFeatureFactory().getDisplayFeatureProvider().updatePreference(
+                mAdditionalTogglePreferenceController);
     }
 
     @Override
@@ -181,19 +194,21 @@
         }
 
         for (CandidateInfo info : candidateList) {
-            SelectorWithWidgetPreference pref =
-                    new SelectorWithWidgetPreference(getPrefContext());
+            ProtectedSelectorWithWidgetPreference pref =
+                    new ProtectedSelectorWithWidgetPreference(
+                            getPrefContext(), info.getKey(), this);
             bindPreference(pref, info.getKey(), info, defaultKey);
             screen.addPreference(pref);
         }
 
-        final long selectedTimeout = Long.parseLong(defaultKey);
+        final long selectedTimeout = getTimeoutFromKey(defaultKey);
         final long maxTimeout = getMaxScreenTimeout(getContext());
         if (!candidateList.isEmpty() && (selectedTimeout > maxTimeout)) {
             // The selected time out value is longer than the max timeout allowed by the admin.
             // Select the largest value from the list by default.
-            final SelectorWithWidgetPreference preferenceWithLargestTimeout =
-                    (SelectorWithWidgetPreference) screen.getPreference(candidateList.size() - 1);
+            final ProtectedSelectorWithWidgetPreference preferenceWithLargestTimeout =
+                    (ProtectedSelectorWithWidgetPreference)
+                            screen.getPreference(candidateList.size() - 1);
             preferenceWithLargestTimeout.setChecked(true);
         }
 
@@ -201,7 +216,11 @@
         mPrivacyPreference.setIcon(R.drawable.ic_privacy_shield_24dp);
         mPrivacyPreference.setTitle(R.string.adaptive_sleep_privacy);
         mPrivacyPreference.setSelectable(false);
-        mPrivacyPreference.setLayoutResource(R.layout.preference_footer);
+        mPrivacyPreference.setLayoutResource(
+                com.android.settingslib.widget.preference.footer.R.layout.preference_footer);
+
+        FeatureFactory.getFeatureFactory().getDisplayFeatureProvider()
+                .addToScreen(mAdditionalTogglePreferenceController, screen);
 
         if (isScreenAttentionAvailable(getContext())) {
             mAdaptiveSleepPermissionController.addToScreen(screen);
@@ -214,28 +233,57 @@
         if (mAdmin != null) {
             setupDisabledFooterPreference();
             screen.addPreference(mDisableOptionsPreference);
+        } else {
+            setupPowerConsumptionFooterPreference();
+            screen.addPreference(mPowerConsumptionPreference);
         }
     }
 
+    boolean isUserAuthenticated() {
+        return mIsUserAuthenticated;
+    }
+
+    void setUserAuthenticated(boolean isUserAuthenticated) {
+        mIsUserAuthenticated = isUserAuthenticated;
+    }
+
     @VisibleForTesting
     void setupDisabledFooterPreference() {
-        final String textDisabledByAdmin = mDevicePolicyManager.getResources().getString(
-                OTHER_OPTIONS_DISABLED_BY_ADMIN, () -> getResources().getString(
-                        R.string.admin_disabled_other_options));
+        final String textDisabledByAdmin =
+                mDevicePolicyManager
+                        .getResources()
+                        .getString(
+                                OTHER_OPTIONS_DISABLED_BY_ADMIN,
+                                () ->
+                                        getResources()
+                                                .getString(R.string.admin_disabled_other_options));
         final String textMoreDetails = getResources().getString(R.string.admin_more_details);
 
         mDisableOptionsPreference = new FooterPreference(getContext());
         mDisableOptionsPreference.setTitle(textDisabledByAdmin);
         mDisableOptionsPreference.setSelectable(false);
         mDisableOptionsPreference.setLearnMoreText(textMoreDetails);
-        mDisableOptionsPreference.setLearnMoreAction(v -> {
-            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(), mAdmin);
-        });
+        mDisableOptionsPreference.setLearnMoreAction(
+                v -> {
+                    RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(), mAdmin);
+                });
         mDisableOptionsPreference.setIcon(R.drawable.ic_info_outline_24dp);
 
         // The 'disabled by admin' preference should always be at the end of the setting page.
-        mDisableOptionsPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE);
         mPrivacyPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE - 1);
+        mDisableOptionsPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE);
+    }
+
+    @VisibleForTesting
+    void setupPowerConsumptionFooterPreference() {
+        mPowerConsumptionPreference = new FooterPreference(getContext());
+        mPowerConsumptionPreference.setTitle(R.string.power_consumption_footer_summary);
+        mPowerConsumptionPreference.setSelectable(false);
+        mPowerConsumptionPreference.setIcon(R.drawable.ic_info_outline_24dp);
+
+        // The 'Longer screen timeout' preference should always be at the end of the setting page.
+        mPrivacyPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE - 1);
+        mPowerConsumptionPreference.setOrder(DEFAULT_ORDER_OF_LOWEST_PREFERENCE);
     }
 
     @Override
@@ -283,17 +331,20 @@
         if (context == null) {
             return Long.toString(FALLBACK_SCREEN_TIMEOUT_VALUE);
         } else {
-            return Long.toString(Settings.System.getLong(context.getContentResolver(),
-                    SCREEN_OFF_TIMEOUT, FALLBACK_SCREEN_TIMEOUT_VALUE));
+            return Long.toString(
+                    Settings.System.getLong(
+                            context.getContentResolver(),
+                            SCREEN_OFF_TIMEOUT,
+                            FALLBACK_SCREEN_TIMEOUT_VALUE));
         }
     }
 
     private void setCurrentSystemScreenTimeout(Context context, String key) {
         try {
             if (context != null) {
-                final long value = Long.parseLong(key);
-                mMetricsFeatureProvider.action(context, SettingsEnums.ACTION_SCREEN_TIMEOUT_CHANGED,
-                        (int) value);
+                final long value = getTimeoutFromKey(key);
+                mMetricsFeatureProvider.action(
+                        context, SettingsEnums.ACTION_SCREEN_TIMEOUT_CHANGED, (int) value);
                 Settings.System.putLong(context.getContentResolver(), SCREEN_OFF_TIMEOUT, value);
             }
         } catch (NumberFormatException e) {
@@ -305,7 +356,12 @@
         return AdaptiveSleepPreferenceController.isAdaptiveSleepSupported(context);
     }
 
-    private static class TimeoutCandidateInfo extends CandidateInfo {
+    private static long getTimeoutFromKey(String key) {
+        return Long.parseLong(key);
+    }
+
+    @VisibleForTesting
+    static class TimeoutCandidateInfo extends CandidateInfo {
         private final CharSequence mLabel;
         private final String mKey;
 
@@ -331,10 +387,42 @@
         }
     }
 
+    @VisibleForTesting
+    static class ProtectedSelectorWithWidgetPreference
+            extends SelectorWithWidgetPreference {
+
+        private final long mTimeoutMs;
+        private final ScreenTimeoutSettings mScreenTimeoutSettings;
+
+        ProtectedSelectorWithWidgetPreference(
+                Context context, String key, ScreenTimeoutSettings screenTimeoutSettings) {
+            super(context);
+            mTimeoutMs = getTimeoutFromKey(key);
+            mScreenTimeoutSettings = screenTimeoutSettings;
+        }
+
+        @Override
+        public void onClick() {
+            if (Flags.protectScreenTimeoutWithAuth()
+                    && !mScreenTimeoutSettings.isUserAuthenticated()
+                    && !isChecked()
+                    && mTimeoutMs > getTimeoutFromKey(mScreenTimeoutSettings.getDefaultKey())) {
+                WifiDppUtils.showLockScreen(
+                        getContext(),
+                        () -> {
+                            mScreenTimeoutSettings.setUserAuthenticated(true);
+                            super.onClick();
+                        });
+            } else {
+                super.onClick();
+            }
+        }
+    }
+
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.screen_timeout_settings) {
-                public List<SearchIndexableRaw> getRawDataToIndex(Context context,
-                        boolean enabled) {
+                public List<SearchIndexableRaw> getRawDataToIndex(
+                        Context context, boolean enabled) {
                     if (!isScreenAttentionAvailable(context)) {
                         return null;
                     }
diff --git a/src/com/android/settings/display/ShowOperatorNamePreferenceController.java b/src/com/android/settings/display/ShowOperatorNamePreferenceController.java
index 9e9bf8e..558763a 100644
--- a/src/com/android/settings/display/ShowOperatorNamePreferenceController.java
+++ b/src/com/android/settings/display/ShowOperatorNamePreferenceController.java
@@ -20,7 +20,7 @@
 import android.telephony.SubscriptionManager;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -64,6 +64,6 @@
     public void updateState(Preference preference) {
         int value = Settings.Secure.getInt(mContext.getContentResolver(),
                 KEY_SHOW_OPERATOR_NAME, 1);
-        ((SwitchPreference) preference).setChecked(value != 0);
+        ((TwoStatePreference) preference).setChecked(value != 0);
     }
 }
diff --git a/src/com/android/settings/display/SmartAutoRotateController.java b/src/com/android/settings/display/SmartAutoRotateController.java
index 768a6c1..b5e3af2 100644
--- a/src/com/android/settings/display/SmartAutoRotateController.java
+++ b/src/com/android/settings/display/SmartAutoRotateController.java
@@ -81,7 +81,7 @@
 
     public SmartAutoRotateController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPowerManager = context.getSystemService(PowerManager.class);
         mDeviceStateAutoRotateSettingsManager = DeviceStateRotationLockSettingsManager.getInstance(
diff --git a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
index 3747f06..a5c15b6 100644
--- a/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
+++ b/src/com/android/settings/display/SmartAutoRotatePreferenceController.java
@@ -79,7 +79,7 @@
         super(context, preferenceKey);
         mPrivacyManager = SensorPrivacyManager.getInstance(context);
         mPowerManager = context.getSystemService(PowerManager.class);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -169,7 +169,8 @@
         final boolean isLocked = !isChecked;
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_ROTATION_LOCK,
                 isLocked);
-        RotationPolicy.setRotationLock(mContext, isLocked);
+        RotationPolicy.setRotationLock(mContext, isLocked,
+                /* caller= */ "SmartAutoRotatePreferenceController#setChecked");
         return true;
     }
 
diff --git a/src/com/android/settings/display/TapToWakePreferenceController.java b/src/com/android/settings/display/TapToWakePreferenceController.java
index 5c2d975..b074d21 100644
--- a/src/com/android/settings/display/TapToWakePreferenceController.java
+++ b/src/com/android/settings/display/TapToWakePreferenceController.java
@@ -17,7 +17,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -46,7 +46,7 @@
     public void updateState(Preference preference) {
         int value = Settings.Secure.getInt(
                 mContext.getContentResolver(), Settings.Secure.DOUBLE_TAP_TO_WAKE, 0);
-        ((SwitchPreference) preference).setChecked(value != 0);
+        ((TwoStatePreference) preference).setChecked(value != 0);
     }
 
     @Override
diff --git a/src/com/android/settings/display/ThemePreferenceController.java b/src/com/android/settings/display/ThemePreferenceController.java
index 1dbf87f..25c6b69 100644
--- a/src/com/android/settings/display/ThemePreferenceController.java
+++ b/src/com/android/settings/display/ThemePreferenceController.java
@@ -59,7 +59,7 @@
         super(context);
         mOverlayService = overlayManager;
         mPackageManager = context.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/TwilightLocationPreferenceController.java b/src/com/android/settings/display/TwilightLocationPreferenceController.java
index af93047..9e35fc6 100644
--- a/src/com/android/settings/display/TwilightLocationPreferenceController.java
+++ b/src/com/android/settings/display/TwilightLocationPreferenceController.java
@@ -39,7 +39,7 @@
     public TwilightLocationPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mLocationManager = context.getSystemService(LocationManager.class);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/display/WalletPrivacyPreferenceController.java b/src/com/android/settings/display/WalletPrivacyPreferenceController.java
index f40e838..77fa079 100644
--- a/src/com/android/settings/display/WalletPrivacyPreferenceController.java
+++ b/src/com/android/settings/display/WalletPrivacyPreferenceController.java
@@ -89,7 +89,7 @@
     }
 
     private boolean isSecure() {
-        final LockPatternUtils utils = FeatureFactory.getFactory(mContext)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(mContext);
         int userId = UserHandle.myUserId();
diff --git a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
index 66ab2d3..5f441be 100644
--- a/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceController.java
@@ -18,7 +18,8 @@
 import android.app.UiModeManager;
 import android.content.Context;
 import android.content.res.Configuration;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -28,7 +29,6 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.time.LocalTime;
 
@@ -36,7 +36,7 @@
  * Controller for activate/deactivate night mode button
  */
 public class DarkModeActivationPreferenceController extends BasePreferenceController implements
-        OnMainSwitchChangeListener {
+        OnCheckedChangeListener {
 
     private final UiModeManager mUiModeManager;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
@@ -47,7 +47,7 @@
         super(context, preferenceKey);
         mUiModeManager = context.getSystemService(UiModeManager.class);
         mFormat = new TimeFormatter(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public DarkModeActivationPreferenceController(Context context, String preferenceKey,
@@ -96,7 +96,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         mMetricsFeatureProvider.logClickedPreference(mPreference, getMetricsCategory());
         final boolean active = (mContext.getResources().getConfiguration().uiMode
                 & Configuration.UI_MODE_NIGHT_YES) != 0;
diff --git a/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java b/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
index c6e379c..488befb 100644
--- a/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
+++ b/src/com/android/settings/display/darkmode/DarkModeCustomBedtimePreferenceController.java
@@ -20,6 +20,7 @@
 
 import android.app.UiModeManager;
 import android.content.Context;
+import android.content.Intent;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -52,7 +53,12 @@
         super.displayPreference(screen);
         mFooterPreference = screen.findPreference(getPreferenceKey());
         mFooterPreference.setLearnMoreAction(
-                v -> v.getContext().startActivity(mBedtimeSettings.getBedtimeSettingsIntent()));
+                v -> {
+                    Intent bedtimeSettingsIntent = mBedtimeSettings.getBedtimeSettingsIntent();
+                    if (bedtimeSettingsIntent != null) {
+                        v.getContext().startActivity(bedtimeSettingsIntent);
+                    }
+                });
         mFooterPreference.setLearnMoreText(
                 mContext.getString(R.string.dark_ui_bedtime_footer_action));
     }
diff --git a/src/com/android/settings/dream/DreamPickerController.java b/src/com/android/settings/dream/DreamPickerController.java
index d7003e6..3eb1fb1 100644
--- a/src/com/android/settings/dream/DreamPickerController.java
+++ b/src/com/android/settings/dream/DreamPickerController.java
@@ -61,7 +61,7 @@
         mBackend = backend;
         mDreamInfos = mBackend.getDreamInfos();
         mActiveDream = getActiveDreamInfo(mDreamInfos);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/dream/DreamSettings.java b/src/com/android/settings/dream/DreamSettings.java
index 824aa15..418bb64 100644
--- a/src/com/android/settings/dream/DreamSettings.java
+++ b/src/com/android/settings/dream/DreamSettings.java
@@ -29,7 +29,8 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.Button;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -44,13 +45,12 @@
 import com.android.settingslib.dream.DreamBackend.WhenToDream;
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @SearchIndexable
-public class DreamSettings extends DashboardFragment implements OnMainSwitchChangeListener {
+public class DreamSettings extends DashboardFragment implements OnCheckedChangeListener {
 
     private static final String TAG = "DreamSettings";
     static final String WHILE_CHARGING_ONLY = "while_charging_only";
@@ -224,9 +224,6 @@
         mPreviewButton.setOnClickListener(v -> dreamBackend.preview(dreamBackend.getActiveDream()));
 
         mRecyclerView = super.onCreateRecyclerView(inflater, parent, bundle);
-        // The enable/disable status change of the nested RecyclerView(Dream Picker) causes the
-        // focus moving. Make the RecyclerView unfocusable to prevent the unexpected scrolling when
-        // the focus changes in the TalkBack mode.
         mRecyclerView.setFocusable(false);
         updatePaddingForPreviewButton();
         return mRecyclerView;
@@ -249,7 +246,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         setAllPreferencesEnabled(isChecked);
         mPreviewButton.setVisibility(isChecked ? View.VISIBLE : View.GONE);
         updatePaddingForPreviewButton();
diff --git a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
index b6135ab..b222cc1 100644
--- a/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
+++ b/src/com/android/settings/emergency/EmergencyGesturePreferenceController.java
@@ -17,7 +17,8 @@
 package com.android.settings.emergency;
 
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -27,13 +28,12 @@
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.emergencynumber.EmergencyNumberUtils;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Preference controller for emergency gesture setting
  */
 public class EmergencyGesturePreferenceController extends BasePreferenceController implements
-        OnMainSwitchChangeListener {
+        OnCheckedChangeListener {
 
     @VisibleForTesting
     EmergencyNumberUtils mEmergencyNumberUtils;
@@ -72,7 +72,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         mEmergencyNumberUtils.setEmergencyGestureEnabled(isChecked);
     }
 }
diff --git a/src/com/android/settings/emergency/MoreSettingsPreferenceController.java b/src/com/android/settings/emergency/MoreSettingsPreferenceController.java
index d945b21..4771f5a 100644
--- a/src/com/android/settings/emergency/MoreSettingsPreferenceController.java
+++ b/src/com/android/settings/emergency/MoreSettingsPreferenceController.java
@@ -111,7 +111,7 @@
 
     @Override
     public void onClick(View v) {
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .logClickedPreference(mPreference, getMetricsCategory());
         final Intent intent = new Intent(mIntent)
                 .addCategory(Intent.CATEGORY_LAUNCHER)
diff --git a/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java b/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java
index 2376c80..9fc51ac 100644
--- a/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java
+++ b/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelper.java
@@ -18,12 +18,12 @@
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.DISABLED_BY_IT_ADMIN_TITLE;
 
-import android.annotation.NonNull;
 import android.annotation.UserIdInt;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.os.Process;
 import android.os.UserHandle;
 import android.view.LayoutInflater;
@@ -32,6 +32,7 @@
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
@@ -88,10 +89,11 @@
 
     public AlertDialog.Builder prepareDialogBuilder(String restriction,
             EnforcedAdmin enforcedAdmin) {
+        DialogInterface.OnClickListener listener = mActionDisabledByAdminController
+                .getPositiveButtonListener(mActivity, enforcedAdmin);
         AlertDialog.Builder builder = new AlertDialog.Builder(mActivity)
-                .setPositiveButton(R.string.suggestion_button_close,
-                        mActionDisabledByAdminController
-                                .getPositiveButtonListener(mActivity, enforcedAdmin))
+                .setPositiveButton(listener == null
+                        ? R.string.suggestion_button_close : R.string.okay, listener)
                 .setView(mDialogView);
         prepareDialogBuilder(builder, restriction, enforcedAdmin);
         return builder;
diff --git a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
index cf1b8a3..bdbdce9 100644
--- a/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminActionPreferenceControllerBase.java
@@ -36,8 +36,8 @@
 
     public AdminActionPreferenceControllerBase(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     protected abstract Date getAdminActionTimestamp();
diff --git a/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java b/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java
index 65ee5e0..de14689 100644
--- a/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/AdminGrantedPermissionsPreferenceControllerBase.java
@@ -38,8 +38,8 @@
             String[] permissions) {
         super(context);
         mPermissions = permissions;
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getApplicationFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getApplicationFeatureProvider();
         mAsync = async;
         mHasApps = false;
     }
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
index f1f9a61..b602791 100644
--- a/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnCurrentUserPreferenceController.java
@@ -35,8 +35,8 @@
 
     public AlwaysOnVpnCurrentUserPreferenceController(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
         mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
     }
 
diff --git a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
index a23af0c..c545a28 100644
--- a/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
+++ b/src/com/android/settings/enterprise/AlwaysOnVpnManagedProfilePreferenceController.java
@@ -27,8 +27,8 @@
 
     public AlwaysOnVpnManagedProfilePreferenceController(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/ApplicationListFragment.java b/src/com/android/settings/enterprise/ApplicationListFragment.java
index 38a5c6f..10707ba 100644
--- a/src/com/android/settings/enterprise/ApplicationListFragment.java
+++ b/src/com/android/settings/enterprise/ApplicationListFragment.java
@@ -79,7 +79,7 @@
         @Override
         public void buildApplicationList(Context context,
                 ApplicationFeatureProvider.ListOfAppsCallback callback) {
-            FeatureFactory.getFactory(context).getApplicationFeatureProvider(context)
+            FeatureFactory.getFeatureFactory().getApplicationFeatureProvider()
                     .listAppsWithAdminGrantedPermissions(mPermissions, callback);
         }
 
@@ -120,8 +120,8 @@
         @Override
         public void buildApplicationList(Context context,
                 ApplicationFeatureProvider.ListOfAppsCallback callback) {
-            FeatureFactory.getFactory(context).getApplicationFeatureProvider(context).
-                    listPolicyInstalledApps(callback);
+            FeatureFactory.getFeatureFactory()
+                    .getApplicationFeatureProvider().listPolicyInstalledApps(callback);
         }
     }
 }
diff --git a/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java b/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java
index 936df25..2e87cb9 100644
--- a/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/CaCertsPreferenceControllerBase.java
@@ -31,8 +31,8 @@
 
     public CaCertsPreferenceControllerBase(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
index 91ebeff..141116f 100644
--- a/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseInstalledPackagesPreferenceController.java
@@ -34,8 +34,8 @@
 
     public EnterpriseInstalledPackagesPreferenceController(Context context, boolean async) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getApplicationFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getApplicationFeatureProvider();
         mAsync = async;
     }
 
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
index b1ffcf1..887fc32 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacyFeatureProviderImpl.java
@@ -26,6 +26,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
 import android.content.res.Resources;
 import android.net.ConnectivityManager;
 import android.net.VpnManager;
@@ -220,6 +221,9 @@
     public int getNumberOfActiveDeviceAdminsForCurrentUserAndManagedProfile() {
         int activeAdmins = 0;
         for (final UserInfo userInfo : mUm.getProfiles(MY_USER_ID)) {
+            if (shouldSkipProfile(userInfo)) {
+                continue;
+            }
             final List<ComponentName> activeAdminsForUser
                     = mDpm.getActiveAdminsAsUser(userInfo.id);
             if (activeAdminsForUser != null) {
@@ -250,6 +254,14 @@
         return false;
     }
 
+    private boolean shouldSkipProfile(UserInfo userInfo) {
+        return android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.handleInterleavedSettingsForPrivateSpace()
+                && userInfo.isQuietModeEnabled()
+                && mUm.getUserProperties(userInfo.getUserHandle()).getShowInQuietMode()
+                        == UserProperties.SHOW_IN_QUIET_MODE_HIDDEN;
+    }
+
     private Intent getParentalControlsIntent() {
         final ComponentName componentName =
                 mDpm.getProfileOwnerOrDeviceOwnerSupervisionComponent(new UserHandle(MY_USER_ID));
diff --git a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
index a154ded..da1cb45 100644
--- a/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
+++ b/src/com/android/settings/enterprise/EnterprisePrivacySettings.java
@@ -168,8 +168,8 @@
     }
 
     public static boolean isPageEnabled(Context context) {
-        return FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context)
+        return FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider()
                 .hasDeviceOwner();
     }
 
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
index 3e83523..d72cd8f 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceController.java
@@ -69,10 +69,10 @@
         super(context);
         mPm = packageManager;
         mParent = parent;
-        final FeatureFactory factory = FeatureFactory.getFactory(context);
-        mApplicationFeatureProvider = factory.getApplicationFeatureProvider(context);
-        mEnterprisePrivacyFeatureProvider = factory.getEnterprisePrivacyFeatureProvider(context);
-        mUserFeatureProvider = factory.getUserFeatureProvider(context);
+        final FeatureFactory factory = FeatureFactory.getFeatureFactory();
+        mApplicationFeatureProvider = factory.getApplicationFeatureProvider();
+        mEnterprisePrivacyFeatureProvider = factory.getEnterprisePrivacyFeatureProvider();
+        mUserFeatureProvider = factory.getUserFeatureProvider();
         buildAppList();
     }
 
@@ -137,11 +137,13 @@
                 if (userInfo.isManagedProfile()) {
                     category.setTitle(devicePolicyManager.getResources().getString(
                             WORK_CATEGORY_HEADER,
-                            () -> mContext.getString(R.string.category_work)));
+                            () -> mContext.getString(
+                                    com.android.settingslib.R.string.category_work)));
                 } else {
                     category.setTitle(devicePolicyManager.getResources().getString(
                             PERSONAL_CATEGORY_HEADER,
-                            () -> mContext.getString(R.string.category_personal)));
+                            () -> mContext.getString(
+                                    com.android.settingslib.R.string.category_personal)));
                 }
                 category.setOrder(i);
                 createPreferences(prefContext, category, mApps.get(i));
diff --git a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
index 32abcc4..72a06fe 100644
--- a/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
+++ b/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsPreferenceController.java
@@ -37,9 +37,9 @@
 
     public EnterpriseSetDefaultAppsPreferenceController(Context context) {
         super(context);
-        final FeatureFactory factory = FeatureFactory.getFactory(context);
-        mApplicationFeatureProvider = factory.getApplicationFeatureProvider(context);
-        mUserFeatureProvider = factory.getUserFeatureProvider(context);
+        final FeatureFactory factory = FeatureFactory.getFeatureFactory();
+        mApplicationFeatureProvider = factory.getApplicationFeatureProvider();
+        mUserFeatureProvider = factory.getUserFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
index f008b18..6bade7c 100644
--- a/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
+++ b/src/com/android/settings/enterprise/FailedPasswordWipePreferenceControllerBase.java
@@ -31,8 +31,8 @@
 
     public FailedPasswordWipePreferenceControllerBase(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     protected abstract int getMaximumFailedPasswordsBeforeWipe();
diff --git a/src/com/android/settings/enterprise/ImePreferenceController.java b/src/com/android/settings/enterprise/ImePreferenceController.java
index 2adf52c..ae47d21 100644
--- a/src/com/android/settings/enterprise/ImePreferenceController.java
+++ b/src/com/android/settings/enterprise/ImePreferenceController.java
@@ -34,8 +34,8 @@
 
     public ImePreferenceController(Context context) {
         super(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
index 90a1a1e..4b301d5 100644
--- a/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
+++ b/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceController.java
@@ -31,8 +31,8 @@
 
     public ManageDeviceAdminPreferenceController(Context context, String key) {
         super(context, key);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
         mDevicePolicyManager =
                 mContext.getSystemService(DevicePolicyManager.class);
     }
diff --git a/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java b/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java
index e582fb0..e54fbcb 100644
--- a/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java
+++ b/src/com/android/settings/enterprise/PrivacyPreferenceControllerHelper.java
@@ -39,8 +39,8 @@
 
     PrivacyPreferenceControllerHelper(Context context) {
         mContext = Objects.requireNonNull(context);
-        mFeatureProvider = FeatureFactory.getFactory(context)
-                .getEnterprisePrivacyFeatureProvider(context);
+        mFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getEnterprisePrivacyFeatureProvider();
         mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
     }
 
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
index d38dede..6b04d3c 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetail.java
@@ -27,10 +27,13 @@
 import android.content.pm.PackageManager;
 import android.os.Bundle;
 import android.os.UserHandle;
+import android.text.TextUtils;
 import android.util.Log;
 import android.view.View;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
@@ -45,14 +48,12 @@
 import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.HelpUtils;
+import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.instrumentation.Instrumentable;
-import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.LayoutPreference;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -60,21 +61,24 @@
 import java.util.concurrent.Executors;
 
 /**
- * Power usage detail fragment for each app, this fragment contains
- *
- * 1. Detail battery usage information for app(i.e. usage time, usage amount)
+ * Power usage detail fragment for each app, this fragment contains <br>
+ * <br>
+ * 1. Detail battery usage information for app(i.e. usage time, usage amount) <br>
  * 2. Battery related controls for app(i.e uninstall, force stop)
  */
-public class AdvancedPowerUsageDetail extends DashboardFragment implements
-        ButtonActionDialogFragment.AppButtonsDialogListener,
-        SelectorWithWidgetPreference.OnClickListener {
-
+public class AdvancedPowerUsageDetail extends DashboardFragment
+        implements ButtonActionDialogFragment.AppButtonsDialogListener,
+                Preference.OnPreferenceClickListener,
+                Preference.OnPreferenceChangeListener {
     public static final String TAG = "AdvancedPowerDetail";
     public static final String EXTRA_UID = "extra_uid";
     public static final String EXTRA_PACKAGE_NAME = "extra_package_name";
     public static final String EXTRA_FOREGROUND_TIME = "extra_foreground_time";
     public static final String EXTRA_BACKGROUND_TIME = "extra_background_time";
     public static final String EXTRA_SCREEN_ON_TIME = "extra_screen_on_time";
+    public static final String EXTRA_ANOMALY_HINT_PREF_KEY = "extra_anomaly_hint_pref_key";
+    public static final String EXTRA_ANOMALY_HINT_TEXT = "extra_anomaly_hint_text";
+    public static final String EXTRA_SHOW_TIME_INFO = "extra_show_time_info";
     public static final String EXTRA_SLOT_TIME = "extra_slot_time";
     public static final String EXTRA_LABEL = "extra_label";
     public static final String EXTRA_ICON_ID = "extra_icon_id";
@@ -82,44 +86,27 @@
     public static final String EXTRA_POWER_USAGE_AMOUNT = "extra_power_usage_amount";
 
     private static final String KEY_PREF_HEADER = "header_view";
-    private static final String KEY_PREF_UNRESTRICTED = "unrestricted_pref";
-    private static final String KEY_PREF_OPTIMIZED = "optimized_pref";
-    private static final String KEY_PREF_RESTRICTED = "restricted_pref";
-    private static final String KEY_FOOTER_PREFERENCE = "app_usage_footer_preference";
-    private static final String PACKAGE_NAME_NONE = "none";
-
-    private static final String HEADER_SUMMARY_FORMAT = "%s\n(%s)";
+    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
 
     private static final int REQUEST_UNINSTALL = 0;
     private static final int REQUEST_REMOVE_DEVICE_ADMIN = 1;
 
     private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
 
-    @VisibleForTesting
-    LayoutPreference mHeaderPreference;
-    @VisibleForTesting
-    ApplicationsState mState;
-    @VisibleForTesting
-    ApplicationsState.AppEntry mAppEntry;
-    @VisibleForTesting
-    BatteryOptimizeUtils mBatteryOptimizeUtils;
-    @VisibleForTesting
-    FooterPreference mFooterPreference;
-    @VisibleForTesting
-    SelectorWithWidgetPreference mRestrictedPreference;
-    @VisibleForTesting
-    SelectorWithWidgetPreference mOptimizePreference;
-    @VisibleForTesting
-    SelectorWithWidgetPreference mUnrestrictedPreference;
-    @VisibleForTesting
-    @BatteryOptimizeUtils.OptimizationMode
-    int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN;
-    @VisibleForTesting
-    BackupManager mBackupManager;
-    @VisibleForTesting
-    StringBuilder mLogStringBuilder;
-
     private AppButtonsPreferenceController mAppButtonsPreferenceController;
+    private PowerUsageTimeController mPowerUsageTimeController;
+
+    @VisibleForTesting LayoutPreference mHeaderPreference;
+    @VisibleForTesting ApplicationsState mState;
+    @VisibleForTesting ApplicationsState.AppEntry mAppEntry;
+    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @VisibleForTesting PrimarySwitchPreference mAllowBackgroundUsagePreference;
+
+    @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode
+    int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN;
+
+    @VisibleForTesting BackupManager mBackupManager;
+    @VisibleForTesting StringBuilder mLogStringBuilder;
 
     // A wrapper class to carry LaunchBatteryDetailPage required arguments.
     private static final class LaunchBatteryDetailPageArgs {
@@ -127,29 +114,28 @@
         private String mPackageName;
         private String mAppLabel;
         private String mSlotInformation;
+        private String mAnomalyHintText;
+        private String mAnomalyHintPrefKey;
         private int mUid;
         private int mIconId;
         private int mConsumedPower;
         private long mForegroundTimeMs;
         private long mBackgroundTimeMs;
         private long mScreenOnTimeMs;
+        private boolean mShowTimeInformation;
         private boolean mIsUserEntry;
     }
 
-    /** Launches battery details page for an individual battery consumer. */
-    public static void startBatteryDetailPage(
-            Activity caller, InstrumentedPreferenceFragment fragment,
-            BatteryDiffEntry diffEntry, String usagePercent, String slotInformation) {
-        startBatteryDetailPage(
-                caller, fragment.getMetricsCategory(), diffEntry, usagePercent, slotInformation,
-                /*showTimeInformation=*/ true);
-    }
-
     /** Launches battery details page for an individual battery consumer fragment. */
     public static void startBatteryDetailPage(
-            Context context, int sourceMetricsCategory,
-            BatteryDiffEntry diffEntry, String usagePercent, String slotInformation,
-            boolean showTimeInformation) {
+            Context context,
+            int sourceMetricsCategory,
+            BatteryDiffEntry diffEntry,
+            String usagePercent,
+            String slotInformation,
+            boolean showTimeInformation,
+            String anomalyHintPrefKey,
+            String anomalyHintText) {
         final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs();
         // configure the launch argument.
         launchArgs.mUsagePercent = usagePercent;
@@ -159,18 +145,25 @@
         launchArgs.mUid = (int) diffEntry.mUid;
         launchArgs.mIconId = diffEntry.getAppIconId();
         launchArgs.mConsumedPower = (int) diffEntry.mConsumePower;
-        if (showTimeInformation) {
+        launchArgs.mShowTimeInformation = showTimeInformation;
+        if (launchArgs.mShowTimeInformation) {
             launchArgs.mForegroundTimeMs = diffEntry.mForegroundUsageTimeInMs;
-            launchArgs.mBackgroundTimeMs = diffEntry.mBackgroundUsageTimeInMs;
+            launchArgs.mBackgroundTimeMs =
+                    diffEntry.mBackgroundUsageTimeInMs + diffEntry.mForegroundServiceUsageTimeInMs;
             launchArgs.mScreenOnTimeMs = diffEntry.mScreenOnTimeInMs;
+            launchArgs.mAnomalyHintPrefKey = anomalyHintPrefKey;
+            launchArgs.mAnomalyHintText = anomalyHintText;
         }
         launchArgs.mIsUserEntry = isUserConsumer(diffEntry.mConsumerType);
         startBatteryDetailPage(context, sourceMetricsCategory, launchArgs);
     }
 
     /** Launches battery details page for an individual battery consumer. */
-    public static void startBatteryDetailPage(Activity caller,
-            InstrumentedPreferenceFragment fragment, BatteryEntry entry, String usagePercent) {
+    public static void startBatteryDetailPage(
+            Activity caller,
+            InstrumentedPreferenceFragment fragment,
+            BatteryEntry entry,
+            String usagePercent) {
         final LaunchBatteryDetailPageArgs launchArgs = new LaunchBatteryDetailPageArgs();
         // configure the launch argument.
         launchArgs.mUsagePercent = usagePercent;
@@ -180,6 +173,7 @@
         launchArgs.mIconId = entry.mIconId;
         launchArgs.mConsumedPower = (int) entry.getConsumedPower();
         launchArgs.mIsUserEntry = entry.isUserEntry();
+        launchArgs.mShowTimeInformation = false;
         startBatteryDetailPage(caller, fragment.getMetricsCategory(), launchArgs);
     }
 
@@ -203,8 +197,13 @@
         args.putString(EXTRA_SLOT_TIME, launchArgs.mSlotInformation);
         args.putString(EXTRA_POWER_USAGE_PERCENT, launchArgs.mUsagePercent);
         args.putInt(EXTRA_POWER_USAGE_AMOUNT, launchArgs.mConsumedPower);
-        final int userId = launchArgs.mIsUserEntry ? ActivityManager.getCurrentUser()
-            : UserHandle.getUserId(launchArgs.mUid);
+        args.putBoolean(EXTRA_SHOW_TIME_INFO, launchArgs.mShowTimeInformation);
+        args.putString(EXTRA_ANOMALY_HINT_PREF_KEY, launchArgs.mAnomalyHintPrefKey);
+        args.putString(EXTRA_ANOMALY_HINT_TEXT, launchArgs.mAnomalyHintText);
+        final int userId =
+                launchArgs.mIsUserEntry
+                        ? ActivityManager.getCurrentUser()
+                        : UserHandle.getUserId(launchArgs.mUid);
 
         new SubSettingLauncher(context)
                 .setDestination(AdvancedPowerUsageDetail.class.getName())
@@ -215,11 +214,11 @@
                 .launch();
     }
 
-    /**
-     * Start packageName's battery detail page.
-     */
+    /** Start packageName's battery detail page. */
     public static void startBatteryDetailPage(
-            Activity caller, Instrumentable instrumentable, String packageName,
+            Activity caller,
+            Instrumentable instrumentable,
+            String packageName,
             UserHandle userHandle) {
         final Bundle args = new Bundle(3);
         final PackageManager packageManager = caller.getPackageManager();
@@ -252,7 +251,7 @@
         super.onCreate(icicle);
 
         final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
-        onCreateForTriState(packageName);
+        onCreateBackgroundUsageState(packageName);
         mHeaderPreference = findPreference(KEY_PREF_HEADER);
 
         if (packageName != null) {
@@ -266,16 +265,7 @@
 
         initHeader();
         mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
-        initPreferenceForTriState(getContext());
-        mExecutor.execute(() -> {
-            String packageName =
-                    getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
-                    .action(
-                            getContext(),
-                            SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                            packageName);
-        });
+        initFooter();
         mLogStringBuilder = new StringBuilder("onResume mode = ").append(mOptimizationMode);
     }
 
@@ -283,28 +273,28 @@
     public void onPause() {
         super.onPause();
 
-        final int selectedPreference = getSelectedPreference();
-
         notifyBackupManager();
-        mLogStringBuilder.append(", onPause mode = ").append(selectedPreference);
-        logMetricCategory(selectedPreference);
+        final int currentOptimizeMode = mBatteryOptimizeUtils.getAppOptimizationMode();
+        mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode);
+        logMetricCategory(currentOptimizeMode);
 
-        mExecutor.execute(() -> {
-            BatteryOptimizeLogUtils.writeLog(
-                    getContext().getApplicationContext(),
-                    Action.LEAVE,
-                    BatteryOptimizeLogUtils.getPackageNameWithUserId(
-                            mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
-                    mLogStringBuilder.toString());
-        });
-        Log.d(TAG, "Leave with mode: " + selectedPreference);
+        mExecutor.execute(
+                () -> {
+                    BatteryOptimizeLogUtils.writeLog(
+                            getContext().getApplicationContext(),
+                            Action.LEAVE,
+                            BatteryOptimizeLogUtils.getPackageNameWithUserId(
+                                    mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
+                            mLogStringBuilder.toString());
+                });
+        Log.d(TAG, "Leave with mode: " + currentOptimizeMode);
     }
 
     @VisibleForTesting
     void notifyBackupManager() {
         if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
-            final BackupManager backupManager = mBackupManager != null
-                    ? mBackupManager : new BackupManager(getContext());
+            final BackupManager backupManager =
+                    mBackupManager != null ? mBackupManager : new BackupManager(getContext());
             backupManager.dataChanged();
         }
     }
@@ -314,11 +304,11 @@
         final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header);
         final Activity context = getActivity();
         final Bundle bundle = getArguments();
-        EntityHeaderController controller = EntityHeaderController
-                .newInstance(context, this, appSnippet)
-                .setRecyclerView(getListView(), getSettingsLifecycle())
-                .setButtonActions(EntityHeaderController.ActionType.ACTION_NONE,
-                        EntityHeaderController.ActionType.ACTION_NONE);
+        EntityHeaderController controller =
+                EntityHeaderController.newInstance(context, this, appSnippet)
+                        .setButtonActions(
+                                EntityHeaderController.ActionType.ACTION_NONE,
+                                EntityHeaderController.ActionType.ACTION_NONE);
 
         if (mAppEntry == null) {
             controller.setLabel(bundle.getString(EXTRA_LABEL));
@@ -336,38 +326,45 @@
             controller.setIsInstantApp(AppUtils.isInstant(mAppEntry.info));
         }
 
-        controller.setSummary(getHeaderSummary(bundle));
-        controller.done(context, true /* rebindActions */);
+        if (mPowerUsageTimeController != null) {
+            final String slotTime = bundle.getString(EXTRA_SLOT_TIME);
+            final long screenOnTimeInMs = bundle.getLong(EXTRA_SCREEN_ON_TIME);
+            final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME);
+            final String anomalyHintPrefKey = bundle.getString(EXTRA_ANOMALY_HINT_PREF_KEY);
+            final String anomalyHintText = bundle.getString(EXTRA_ANOMALY_HINT_TEXT);
+            mPowerUsageTimeController.handleScreenTimeUpdated(
+                    slotTime,
+                    screenOnTimeInMs,
+                    backgroundTimeMs,
+                    anomalyHintPrefKey,
+                    anomalyHintText);
+        }
+        controller.done(true /* rebindActions */);
     }
 
     @VisibleForTesting
-    void initPreferenceForTriState(Context context) {
+    void initFooter() {
         final String stateString;
-        final String footerString;
+        final String detailInfoString;
+        final Context context = getContext();
 
         if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
             // Present optimized only string when the package name is invalid.
             stateString = context.getString(R.string.manager_battery_usage_optimized_only);
-            footerString = context.getString(
-                    R.string.manager_battery_usage_footer_limited, stateString);
+            detailInfoString =
+                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
         } else if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
             // Present unrestricted only string when the package is system or default active app.
             stateString = context.getString(R.string.manager_battery_usage_unrestricted_only);
-            footerString = context.getString(
-                    R.string.manager_battery_usage_footer_limited, stateString);
+            detailInfoString =
+                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
         } else {
             // Present default string to normal app.
-            footerString = context.getString(R.string.manager_battery_usage_footer);
+            detailInfoString =
+                    context.getString(
+                            R.string.manager_battery_usage_allow_background_usage_summary);
         }
-        mFooterPreference.setTitle(footerString);
-        final Intent helpIntent = HelpUtils.getHelpIntent(context, context.getString(
-                R.string.help_url_app_usage_settings), /*backupContext=*/ "");
-        if (helpIntent != null) {
-            mFooterPreference.setLearnMoreAction(v ->
-                    startActivityForResult(helpIntent, /*requestCode=*/ 0));
-            mFooterPreference.setLearnMoreText(
-                    context.getString(R.string.manager_battery_usage_link_a11y));
-        }
+        mAllowBackgroundUsagePreference.setSummary(detailInfoString);
     }
 
     @Override
@@ -392,13 +389,21 @@
         final int uid = bundle.getInt(EXTRA_UID, 0);
         final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
 
-        mAppButtonsPreferenceController = new AppButtonsPreferenceController(
-                (SettingsActivity) getActivity(), this, getSettingsLifecycle(),
-                packageName, mState, REQUEST_UNINSTALL, REQUEST_REMOVE_DEVICE_ADMIN);
+        mAppButtonsPreferenceController =
+                new AppButtonsPreferenceController(
+                        (SettingsActivity) getActivity(),
+                        this,
+                        getSettingsLifecycle(),
+                        packageName,
+                        mState,
+                        REQUEST_UNINSTALL,
+                        REQUEST_REMOVE_DEVICE_ADMIN);
+        if (bundle.getBoolean(EXTRA_SHOW_TIME_INFO, false)) {
+            mPowerUsageTimeController = new PowerUsageTimeController(getContext());
+            controllers.add(mPowerUsageTimeController);
+        }
         controllers.add(mAppButtonsPreferenceController);
-        controllers.add(new UnrestrictedPreferenceController(context, uid, packageName));
-        controllers.add(new OptimizedPreferenceController(context, uid, packageName));
-        controllers.add(new RestrictedPreferenceController(context, uid, packageName));
+        controllers.add(new AllowBackgroundPreferenceController(context, uid, packageName));
 
         return controllers;
     }
@@ -419,97 +424,76 @@
     }
 
     @Override
-    public void onRadioButtonClicked(SelectorWithWidgetPreference selected) {
-        final String selectedKey = selected.getKey();
-        updatePreferenceState(mUnrestrictedPreference, selectedKey);
-        updatePreferenceState(mOptimizePreference, selectedKey);
-        updatePreferenceState(mRestrictedPreference, selectedKey);
-        mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference(), Action.APPLY);
+    public boolean onPreferenceClick(Preference preference) {
+        if (!(preference instanceof PrimarySwitchPreference)
+                || !TextUtils.equals(preference.getKey(), KEY_ALLOW_BACKGROUND_USAGE)) {
+            return false;
+        }
+        PowerBackgroundUsageDetail.startPowerBackgroundUsageDetailPage(
+                getContext(), getArguments());
+        return true;
     }
 
-    private void updatePreferenceState(SelectorWithWidgetPreference preference,
-            String selectedKey) {
-        preference.setChecked(selectedKey.equals(preference.getKey()));
+    @Override
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
+        if (!(preference instanceof PrimarySwitchPreference)
+                || !TextUtils.equals(preference.getKey(), KEY_ALLOW_BACKGROUND_USAGE)) {
+            return false;
+        }
+        if (newValue instanceof Boolean) {
+            final boolean isAllowBackgroundUsage = (boolean) newValue;
+            mBatteryOptimizeUtils.setAppUsageState(
+                    isAllowBackgroundUsage
+                            ? BatteryOptimizeUtils.MODE_OPTIMIZED
+                            : BatteryOptimizeUtils.MODE_RESTRICTED,
+                    Action.APPLY);
+        }
+        return true;
     }
 
-    private void logMetricCategory(int selectedKey) {
-        if (selectedKey == mOptimizationMode) {
+    private void logMetricCategory(int currentOptimizeMode) {
+        if (currentOptimizeMode == mOptimizationMode) {
             return;
         }
-
         int metricCategory = 0;
-        switch (selectedKey) {
+        switch (currentOptimizeMode) {
             case BatteryOptimizeUtils.MODE_UNRESTRICTED:
-                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED;
-                break;
             case BatteryOptimizeUtils.MODE_OPTIMIZED:
-                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED;
+                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_ALLOW_BACKGROUND;
                 break;
             case BatteryOptimizeUtils.MODE_RESTRICTED:
-                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED;
+                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_DISABLE_BACKGROUND;
                 break;
         }
         if (metricCategory == 0) {
             return;
         }
         int finalMetricCategory = metricCategory;
-        mExecutor.execute(() -> {
-            String packageName =
-                    getLoggingPackageName(getContext(), mBatteryOptimizeUtils.getPackageName());
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
-                    .action(
-                            /* attribution */ SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                            /* action */ finalMetricCategory,
-                            /* pageId */ SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                            packageName,
-                            getArguments().getInt(EXTRA_POWER_USAGE_AMOUNT));
-        });
+        mExecutor.execute(
+                () -> {
+                    String packageName =
+                            BatteryUtils.getLoggingPackageName(
+                                    getContext(), mBatteryOptimizeUtils.getPackageName());
+                    FeatureFactory.getFeatureFactory()
+                            .getMetricsFeatureProvider()
+                            .action(
+                                    /* attribution */ SettingsEnums.LEAVE_APP_BATTERY_USAGE,
+                                    /* action */ finalMetricCategory,
+                                    /* pageId */ SettingsEnums.FUELGAUGE_POWER_USAGE_DETAIL,
+                                    packageName,
+                                    getArguments().getInt(EXTRA_POWER_USAGE_AMOUNT));
+                });
     }
 
-    private void onCreateForTriState(String packageName) {
-        mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED);
-        mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED);
-        mRestrictedPreference = findPreference(KEY_PREF_RESTRICTED);
-        mFooterPreference = findPreference(KEY_FOOTER_PREFERENCE);
-        mUnrestrictedPreference.setOnClickListener(this);
-        mOptimizePreference.setOnClickListener(this);
-        mRestrictedPreference.setOnClickListener(this);
-
-        mBatteryOptimizeUtils = new BatteryOptimizeUtils(
-                getContext(), getArguments().getInt(EXTRA_UID), packageName);
-    }
-
-    private int getSelectedPreference() {
-        if (mRestrictedPreference.isChecked()) {
-            return BatteryOptimizeUtils.MODE_RESTRICTED;
-        } else if (mUnrestrictedPreference.isChecked()) {
-            return BatteryOptimizeUtils.MODE_UNRESTRICTED;
-        } else if (mOptimizePreference.isChecked()) {
-            return BatteryOptimizeUtils.MODE_OPTIMIZED;
-        } else {
-            return BatteryOptimizeUtils.MODE_UNKNOWN;
+    private void onCreateBackgroundUsageState(String packageName) {
+        mAllowBackgroundUsagePreference = findPreference(KEY_ALLOW_BACKGROUND_USAGE);
+        if (mAllowBackgroundUsagePreference != null) {
+            mAllowBackgroundUsagePreference.setOnPreferenceClickListener(this);
+            mAllowBackgroundUsagePreference.setOnPreferenceChangeListener(this);
         }
-    }
 
-    private CharSequence getHeaderSummary(Bundle bundle) {
-        final long foregroundTimeMs = bundle.getLong(EXTRA_FOREGROUND_TIME);
-        final long backgroundTimeMs = bundle.getLong(EXTRA_BACKGROUND_TIME);
-        final long screenOnTimeInMs = bundle.getLong(EXTRA_SCREEN_ON_TIME);
-        final String slotTime = bundle.getString(EXTRA_SLOT_TIME, null);
-        final String usageSummary = BatteryUtils.buildBatteryUsageTimeSummary(getContext(),
-                /* isSystem= */ false, foregroundTimeMs, backgroundTimeMs, screenOnTimeInMs);
-
-        if (usageSummary.isEmpty()) {
-            return getText(R.string.battery_usage_without_time);
-        } else {
-            CharSequence slotSummary = slotTime == null
-                    ? getText(R.string.battery_usage_since_last_full_charge) : slotTime;
-            return String.format("%s\n(%s)", usageSummary, slotSummary);
-        }
-    }
-
-    private static String getLoggingPackageName(Context context, String originalPackingName) {
-        return BatteryUtils.isAppInstalledFromGooglePlayStore(context, originalPackingName)
-                ? originalPackingName : PACKAGE_NAME_NONE;
+        mBatteryOptimizeUtils =
+                new BatteryOptimizeUtils(
+                        getContext(), getArguments().getInt(EXTRA_UID), packageName);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailActivity.java b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailActivity.java
index 67f2323..3ef2c0c 100644
--- a/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailActivity.java
+++ b/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailActivity.java
@@ -29,14 +29,11 @@
 
 import androidx.appcompat.app.AppCompatActivity;
 
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.fuelgauge.AdvancedPowerUsageDetail;
 import com.android.settings.R;
 import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
 
-/**
- * Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment.
- */
+/** Trampoline activity for launching the {@link AdvancedPowerUsageDetail} fragment. */
 public class AdvancedPowerUsageDetailActivity extends AppCompatActivity {
 
     private static final String TAG = "AdvancedPowerDetailActivity";
diff --git a/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java b/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java
new file mode 100644
index 0000000..52cec795
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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;
+
+import android.content.Context;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settingslib.PrimarySwitchPreference;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.MainSwitchPreference;
+
+/** Controller to update the app background usage state */
+public class AllowBackgroundPreferenceController extends AbstractPreferenceController
+        implements PreferenceControllerMixin {
+
+    private static final String TAG = "AllowBackgroundPreferenceController";
+
+    @VisibleForTesting static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
+
+    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
+
+    public AllowBackgroundPreferenceController(Context context, int uid, String packageName) {
+        super(context);
+        mBatteryOptimizeUtils = new BatteryOptimizeUtils(context, uid, packageName);
+    }
+
+    private void setChecked(Preference preference, boolean checked) {
+        if (preference instanceof PrimarySwitchPreference) {
+            ((PrimarySwitchPreference) preference).setChecked(checked);
+        } else if (preference instanceof MainSwitchPreference) {
+            ((MainSwitchPreference) preference).setChecked(checked);
+        }
+    }
+
+    private void setEnabled(Preference preference, boolean enabled) {
+        if (preference instanceof PrimarySwitchPreference) {
+            ((PrimarySwitchPreference) preference).setEnabled(enabled);
+            ((PrimarySwitchPreference) preference).setSwitchEnabled(enabled);
+        } else if (preference instanceof MainSwitchPreference) {
+            ((MainSwitchPreference) preference).setEnabled(enabled);
+        }
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        setEnabled(preference, mBatteryOptimizeUtils.isOptimizeModeMutable());
+
+        final boolean isAllowBackground =
+                mBatteryOptimizeUtils.getAppOptimizationMode()
+                        != BatteryOptimizeUtils.MODE_RESTRICTED;
+        setChecked(preference, isAllowBackground);
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return true;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_ALLOW_BACKGROUND_USAGE;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        return getPreferenceKey().equals(preference.getKey());
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceController.java b/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceController.java
index 26fd398..318f230 100644
--- a/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceController.java
@@ -19,25 +19,23 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 
-/**
- * Controller to change and update the auto restriction toggle
- */
-public class AutoRestrictionPreferenceController extends BasePreferenceController implements
-        Preference.OnPreferenceChangeListener {
+/** Controller to change and update the auto restriction toggle */
+public class AutoRestrictionPreferenceController extends BasePreferenceController
+        implements Preference.OnPreferenceChangeListener {
     private static final String KEY_SMART_BATTERY = "auto_restriction";
     private static final int ON = 1;
     private static final int OFF = 0;
-    private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+    private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
 
     public AutoRestrictionPreferenceController(Context context) {
         super(context, KEY_SMART_BATTERY);
-        mPowerUsageFeatureProvider = FeatureFactory.getFactory(
-                context).getPowerUsageFeatureProvider(context);
+        mPowerUsageFeatureProvider =
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
     }
 
     @Override
@@ -50,15 +48,20 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON;
-        ((SwitchPreference) preference).setChecked(smartBatteryOn);
+        final boolean smartBatteryOn =
+                Settings.Global.getInt(
+                                mContext.getContentResolver(),
+                                Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
+                                ON)
+                        == ON;
+        ((TwoStatePreference) preference).setChecked(smartBatteryOn);
     }
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean smartBatteryOn = (Boolean) newValue;
-        Settings.Global.putInt(mContext.getContentResolver(),
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
                 Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
                 smartBatteryOn ? ON : OFF);
         return true;
diff --git a/src/com/android/settings/fuelgauge/BatteryActiveView.java b/src/com/android/settings/fuelgauge/BatteryActiveView.java
index 4856b3d..969bf63 100644
--- a/src/com/android/settings/fuelgauge/BatteryActiveView.java
+++ b/src/com/android/settings/fuelgauge/BatteryActiveView.java
@@ -14,7 +14,6 @@
 
 package com.android.settings.fuelgauge;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.Paint;
@@ -22,6 +21,8 @@
 import android.util.SparseIntArray;
 import android.view.View;
 
+import androidx.annotation.Nullable;
+
 public class BatteryActiveView extends View {
 
     private final Paint mPaint = new Paint();
@@ -63,13 +64,15 @@
             return;
         }
         mPaint.setColor(color);
-        canvas.drawRect(start / period * getWidth(), 0, end / period * getWidth(), getHeight(),
-                mPaint);
+        canvas.drawRect(
+                start / period * getWidth(), 0, end / period * getWidth(), getHeight(), mPaint);
     }
 
     public interface BatteryActiveProvider {
         boolean hasData();
+
         long getPeriod();
+
         SparseIntArray getColorArray();
     }
 }
diff --git a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
index 50f1b90..797b7ad 100644
--- a/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
+++ b/src/com/android/settings/fuelgauge/BatteryBackupHelper.java
@@ -52,6 +52,7 @@
 public final class BatteryBackupHelper implements BackupHelper {
     /** An inditifier for {@link BackupHelper}. */
     public static final String TAG = "BatteryBackupHelper";
+
     // Definition for the device build information.
     public static final String KEY_BUILD_BRAND = "device_build_brand";
     public static final String KEY_BUILD_PRODUCT = "device_build_product";
@@ -70,17 +71,12 @@
     static final String DELIMITER_MODE = ":";
     static final String KEY_OPTIMIZATION_LIST = "optimization_mode_list";
 
-    @VisibleForTesting
-    ArraySet<ApplicationInfo> mTestApplicationInfoList = null;
+    @VisibleForTesting ArraySet<ApplicationInfo> mTestApplicationInfoList = null;
 
-    @VisibleForTesting
-    PowerAllowlistBackend mPowerAllowlistBackend;
-    @VisibleForTesting
-    IDeviceIdleController mIDeviceIdleController;
-    @VisibleForTesting
-    IPackageManager mIPackageManager;
-    @VisibleForTesting
-    BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @VisibleForTesting PowerAllowlistBackend mPowerAllowlistBackend;
+    @VisibleForTesting IDeviceIdleController mIDeviceIdleController;
+    @VisibleForTesting IPackageManager mIPackageManager;
+    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     private byte[] mOptimizationModeBytes;
     private boolean mVerifyMigrateConfiguration = false;
@@ -95,8 +91,8 @@
     }
 
     @Override
-    public void performBackup(ParcelFileDescriptor oldState, BackupDataOutput data,
-            ParcelFileDescriptor newState) {
+    public void performBackup(
+            ParcelFileDescriptor oldState, BackupDataOutput data, ParcelFileDescriptor newState) {
         if (!isOwner() || data == null) {
             Log.w(TAG, "ignore performBackup() for non-owner or empty data");
             return;
@@ -111,8 +107,8 @@
         writeBackupData(data, KEY_BUILD_MANUFACTURER, Build.MANUFACTURER);
         writeBackupData(data, KEY_BUILD_FINGERPRINT, Build.FINGERPRINT);
         // Add customized device build metadata fields.
-        final PowerUsageFeatureProvider provider = FeatureFactory.getFactory(mContext)
-                .getPowerUsageFeatureProvider(mContext);
+        final PowerUsageFeatureProvider provider =
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
         writeBackupData(data, KEY_BUILD_METADATA_1, provider.getBuildMetadata1(mContext));
         writeBackupData(data, KEY_BUILD_METADATA_2, provider.getBuildMetadata2(mContext));
 
@@ -149,8 +145,7 @@
     }
 
     @Override
-    public void writeNewStateDescription(ParcelFileDescriptor newState) {
-    }
+    public void writeNewStateDescription(ParcelFileDescriptor newState) {}
 
     private List<String> getFullPowerList() {
         final long timestamp = System.currentTimeMillis();
@@ -166,8 +161,11 @@
             Log.w(TAG, "no data found in the getFullPowerList()");
             return new ArrayList<>();
         }
-        Log.d(TAG, String.format("getFullPowerList() size=%d in %d/ms",
-                allowlistedApps.length, (System.currentTimeMillis() - timestamp)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getFullPowerList() size=%d in %d/ms",
+                        allowlistedApps.length, (System.currentTimeMillis() - timestamp)));
         return Arrays.asList(allowlistedApps);
     }
 
@@ -187,27 +185,34 @@
         for (ApplicationInfo info : applications) {
             final int mode = BatteryOptimizeUtils.getMode(appOps, info.uid, info.packageName);
             @BatteryOptimizeUtils.OptimizationMode
-            final int optimizationMode = BatteryOptimizeUtils.getAppOptimizationMode(
-                    mode, allowlistedApps.contains(info.packageName));
+            final int optimizationMode =
+                    BatteryOptimizeUtils.getAppOptimizationMode(
+                            mode, allowlistedApps.contains(info.packageName));
             // Ignores default optimized/unknown state or system/default apps.
             if (optimizationMode == BatteryOptimizeUtils.MODE_OPTIMIZED
                     || optimizationMode == BatteryOptimizeUtils.MODE_UNKNOWN
                     || isSystemOrDefaultApp(info.packageName, info.uid)) {
                 continue;
             }
-            final String packageOptimizeMode =
-                    info.packageName + DELIMITER_MODE + optimizationMode;
+            final String packageOptimizeMode = info.packageName + DELIMITER_MODE + optimizationMode;
             builder.append(packageOptimizeMode + DELIMITER);
             Log.d(TAG, "backupOptimizationMode: " + packageOptimizeMode);
             BatteryOptimizeLogUtils.writeLog(
-                    sharedPreferences, Action.BACKUP, info.packageName,
+                    sharedPreferences,
+                    Action.BACKUP,
+                    info.packageName,
                     /* actionDescription */ "mode: " + optimizationMode);
             backupCount++;
         }
 
         writeBackupData(data, KEY_OPTIMIZATION_LIST, builder.toString());
-        Log.d(TAG, String.format("backup getInstalledApplications():%d count=%d in %d/ms",
-                applications.size(), backupCount, (System.currentTimeMillis() - timestamp)));
+        Log.d(
+                TAG,
+                String.format(
+                        "backup getInstalledApplications():%d count=%d in %d/ms",
+                        applications.size(),
+                        backupCount,
+                        (System.currentTimeMillis() - timestamp)));
     }
 
     @VisibleForTesting
@@ -225,8 +230,8 @@
         }
         int restoreCount = 0;
         for (int index = 0; index < appConfigurations.length; index++) {
-            final String[] results = appConfigurations[index]
-                    .split(BatteryBackupHelper.DELIMITER_MODE);
+            final String[] results =
+                    appConfigurations[index].split(BatteryBackupHelper.DELIMITER_MODE);
             // Example format: com.android.systemui:2 we should have length=2
             if (results == null || results.length != 2) {
                 Log.w(TAG, "invalid raw data found:" + appConfigurations[index]);
@@ -244,15 +249,17 @@
             try {
                 optimizationMode = Integer.parseInt(results[1]);
             } catch (NumberFormatException e) {
-                Log.e(TAG, "failed to parse the optimization mode: "
-                        + appConfigurations[index], e);
+                Log.e(TAG, "failed to parse the optimization mode: " + appConfigurations[index], e);
                 continue;
             }
             restoreOptimizationMode(packageName, optimizationMode);
             restoreCount++;
         }
-        Log.d(TAG, String.format("restoreOptimizationMode() count=%d in %d/ms",
-                restoreCount, (System.currentTimeMillis() - timestamp)));
+        Log.d(
+                TAG,
+                String.format(
+                        "restoreOptimizationMode() count=%d in %d/ms",
+                        restoreCount, (System.currentTimeMillis() - timestamp)));
         return restoreCount;
     }
 
@@ -260,15 +267,15 @@
         if (mOptimizationModeBytes == null || mOptimizationModeBytes.length == 0) {
             return;
         }
-        final PowerUsageFeatureProvider provider = FeatureFactory.getFactory(mContext)
-                .getPowerUsageFeatureProvider(mContext);
+        final PowerUsageFeatureProvider provider =
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
         if (!provider.isValidToRestoreOptimizationMode(mDeviceBuildInfoMap)) {
             return;
         }
         // Start to restore the app optimization mode data.
         final int restoreCount = restoreOptimizationMode(mOptimizationModeBytes);
         if (restoreCount > 0) {
-            BatterySettingsMigrateChecker.verifyOptimizationModes(mContext);
+            BatterySettingsMigrateChecker.verifyBatteryOptimizeModes(mContext);
         }
         mOptimizationModeBytes = null; // clear data
     }
@@ -319,8 +326,9 @@
         if (mIDeviceIdleController != null) {
             return mIDeviceIdleController;
         }
-        mIDeviceIdleController = IDeviceIdleController.Stub.asInterface(
-                ServiceManager.getService(DEVICE_IDLE_SERVICE));
+        mIDeviceIdleController =
+                IDeviceIdleController.Stub.asInterface(
+                        ServiceManager.getService(DEVICE_IDLE_SERVICE));
         return mIDeviceIdleController;
     }
 
@@ -342,7 +350,7 @@
 
     private boolean isSystemOrDefaultApp(String packageName, int uid) {
         return BatteryOptimizeUtils.isSystemOrDefaultApp(
-                getPowerAllowlistBackend(), packageName, uid);
+                mContext, getPowerAllowlistBackend(), packageName, uid);
     }
 
     private ArraySet<ApplicationInfo> getInstalledApplications() {
@@ -374,8 +382,7 @@
         return dataBytes;
     }
 
-    private static void writeBackupData(
-            BackupDataOutput data, String dataKey, String dataContent) {
+    private static void writeBackupData(BackupDataOutput data, String dataKey, String dataContent) {
         if (dataContent == null || dataContent.isEmpty()) {
             return;
         }
diff --git a/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java b/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java
index 79ecd40..324f897 100644
--- a/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/BatteryBroadcastReceiver.java
@@ -34,19 +34,19 @@
 import java.lang.annotation.RetentionPolicy;
 
 /**
- * Use this broadcastReceiver to listen to the battery change and it will invoke
- * {@link OnBatteryChangedListener}
+ * Use this broadcastReceiver to listen to the battery change and it will invoke {@link
+ * OnBatteryChangedListener}
  */
 public class BatteryBroadcastReceiver extends BroadcastReceiver {
 
     private static final String TAG = "BatteryBroadcastRcvr";
+
     /**
-     * Callback if any of the monitored fields has been changed:
-     *
-     * Battery level(e.g. 100%->99%)
-     * Battery status(e.g. plugged->unplugged)
-     * Battery saver(e.g. off->on)
-     * Battery health(e.g. good->overheat)
+     * Callback if any of the monitored fields has been changed: <br>
+     * <br>
+     * Battery level(e.g. 100%->99%) Battery status(e.g. plugged->unplugged) <br>
+     * Battery saver(e.g.off->on) <br>
+     * Battery health(e.g. good->overheat) <br>
      * Battery charging status(e.g. default->long life)
      */
     public interface OnBatteryChangedListener {
@@ -54,13 +54,15 @@
     }
 
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({BatteryUpdateType.MANUAL,
-            BatteryUpdateType.BATTERY_LEVEL,
-            BatteryUpdateType.BATTERY_SAVER,
-            BatteryUpdateType.BATTERY_STATUS,
-            BatteryUpdateType.BATTERY_HEALTH,
-            BatteryUpdateType.CHARGING_STATUS,
-            BatteryUpdateType.BATTERY_NOT_PRESENT})
+    @IntDef({
+        BatteryUpdateType.MANUAL,
+        BatteryUpdateType.BATTERY_LEVEL,
+        BatteryUpdateType.BATTERY_SAVER,
+        BatteryUpdateType.BATTERY_STATUS,
+        BatteryUpdateType.BATTERY_HEALTH,
+        BatteryUpdateType.CHARGING_STATUS,
+        BatteryUpdateType.BATTERY_NOT_PRESENT
+    })
     public @interface BatteryUpdateType {
         int MANUAL = 0;
         int BATTERY_LEVEL = 1;
@@ -71,14 +73,10 @@
         int BATTERY_NOT_PRESENT = 6;
     }
 
-    @VisibleForTesting
-    String mBatteryLevel;
-    @VisibleForTesting
-    String mBatteryStatus;
-    @VisibleForTesting
-    int mChargingStatus;
-    @VisibleForTesting
-    int mBatteryHealth;
+    @VisibleForTesting String mBatteryLevel;
+    @VisibleForTesting String mBatteryStatus;
+    @VisibleForTesting int mChargingStatus;
+    @VisibleForTesting int mBatteryHealth;
     private OnBatteryChangedListener mBatteryListener;
     private Context mContext;
 
@@ -102,8 +100,8 @@
         intentFilter.addAction(BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION);
         intentFilter.addAction(UsbManager.ACTION_USB_PORT_COMPLIANCE_CHANGED);
 
-        final Intent intent = mContext.registerReceiver(this, intentFilter,
-                Context.RECEIVER_EXPORTED);
+        final Intent intent =
+                mContext.registerReceiver(this, intentFilter, Context.RECEIVER_EXPORTED);
         updateBatteryStatus(intent, true /* forceUpdate */);
     }
 
@@ -121,10 +119,13 @@
             final String batteryLevel = Utils.getBatteryPercentage(intent);
             final String batteryStatus =
                     Utils.getBatteryStatus(mContext, intent, /* compactStatus= */ false);
-            final int chargingStatus = intent.getIntExtra(
-                    BatteryManager.EXTRA_CHARGING_STATUS, BatteryManager.CHARGING_POLICY_DEFAULT);
-            final int batteryHealth = intent.getIntExtra(
-                    BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN);
+            final int chargingStatus =
+                    intent.getIntExtra(
+                            BatteryManager.EXTRA_CHARGING_STATUS,
+                            BatteryManager.CHARGING_POLICY_DEFAULT);
+            final int batteryHealth =
+                    intent.getIntExtra(
+                            BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN);
             Log.d(
                     TAG,
                     "Battery changed: level: "
@@ -144,7 +145,7 @@
                 mBatteryListener.onBatteryChanged(BatteryUpdateType.CHARGING_STATUS);
             } else if (batteryHealth != mBatteryHealth) {
                 mBatteryListener.onBatteryChanged(BatteryUpdateType.BATTERY_HEALTH);
-            } else if(!batteryLevel.equals(mBatteryLevel)) {
+            } else if (!batteryLevel.equals(mBatteryLevel)) {
                 mBatteryListener.onBatteryChanged(BatteryUpdateType.BATTERY_LEVEL);
             } else if (!batteryStatus.equals(mBatteryStatus)) {
                 mBatteryListener.onBatteryChanged(BatteryUpdateType.BATTERY_STATUS);
diff --git a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
index c910e69..6a65dc0 100644
--- a/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceController.java
@@ -15,10 +15,8 @@
 
 package com.android.settings.fuelgauge;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.icu.text.NumberFormat;
 import android.os.BatteryManager;
 import android.os.PowerManager;
@@ -26,7 +24,6 @@
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
-import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
@@ -34,53 +31,28 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.widget.EntityHeaderController;
 import com.android.settingslib.Utils;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.widget.UsageProgressBarPreference;
 
-/**
- * Controller that update the battery header view
- */
+/** Controller that update the battery header view */
 public class BatteryHeaderPreferenceController extends BasePreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver, OnStart,
-        BatteryPreferenceController {
+        implements PreferenceControllerMixin, BatteryPreferenceController {
     private static final String TAG = "BatteryHeaderPreferenceController";
 
-    @VisibleForTesting
-    static final String KEY_BATTERY_HEADER = "battery_header";
+    @VisibleForTesting static final String KEY_BATTERY_HEADER = "battery_header";
     private static final int BATTERY_MAX_LEVEL = 100;
 
-    @VisibleForTesting
-    BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
-    @VisibleForTesting
-    UsageProgressBarPreference mBatteryUsageProgressBarPref;
+    @VisibleForTesting BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
+    @VisibleForTesting UsageProgressBarPreference mBatteryUsageProgressBarPref;
 
-    private Activity mActivity;
-    private PreferenceFragmentCompat mHost;
-    private Lifecycle mLifecycle;
     private BatteryTip mBatteryTip;
     private final PowerManager mPowerManager;
 
     public BatteryHeaderPreferenceController(Context context, String key) {
         super(context, key);
         mPowerManager = context.getSystemService(PowerManager.class);
-        mBatteryStatusFeatureProvider = FeatureFactory.getFactory(context)
-                .getBatteryStatusFeatureProvider(context);
-    }
-
-    public void setActivity(Activity activity) {
-        mActivity = activity;
-    }
-
-    public void setFragment(PreferenceFragmentCompat fragment) {
-        mHost = fragment;
-    }
-
-    public void setLifecycle(Lifecycle lifecycle) {
-        mLifecycle = lifecycle;
+        mBatteryStatusFeatureProvider =
+                FeatureFactory.getFeatureFactory().getBatteryStatusFeatureProvider();
     }
 
     @Override
@@ -103,17 +75,13 @@
         return AVAILABLE_UNSEARCHABLE;
     }
 
-    @Override
-    public void onStart() {
-        EntityHeaderController.newInstance(mActivity, mHost, null /* header view */)
-                .setRecyclerView(mHost.getListView(), mLifecycle);
-    }
-
     private CharSequence generateLabel(BatteryInfo info) {
         if (Utils.containsIncompatibleChargers(mContext, TAG)) {
-            return mContext.getString(R.string.battery_info_status_not_charging);
+            return mContext.getString(
+                    com.android.settingslib.R.string.battery_info_status_not_charging);
         } else if (BatteryUtils.isBatteryDefenderOn(info)) {
-            return null;
+            return mContext.getString(
+                    com.android.settingslib.R.string.battery_info_status_charging_on_hold);
         } else if (info.remainingLabel == null
                 || info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
             // Present status only if no remaining time or status anomalous
@@ -124,12 +92,11 @@
                     R.string.battery_state_and_duration, info.statusLabel, info.remainingLabel);
         } else if (mPowerManager.isPowerSaveMode()) {
             // Power save mode is on
-            final String powerSaverOn = mContext.getString(
-                    R.string.battery_tip_early_heads_up_done_title);
+            final String powerSaverOn =
+                    mContext.getString(R.string.battery_tip_early_heads_up_done_title);
             return mContext.getString(
                     R.string.battery_state_and_duration, powerSaverOn, info.remainingLabel);
-        } else if (mBatteryTip != null
-                && mBatteryTip.getType() == BatteryTip.TipType.LOW_BATTERY) {
+        } else if (mBatteryTip != null && mBatteryTip.getType() == BatteryTip.TipType.LOW_BATTERY) {
             // Low battery state
             final String lowBattery = mContext.getString(R.string.low_battery_summary);
             return mContext.getString(
@@ -150,9 +117,7 @@
         mBatteryUsageProgressBarPref.setPercent(info.batteryLevel, BATTERY_MAX_LEVEL);
     }
 
-    /**
-     * Callback which receives text for the summary line.
-     */
+    /** Callback which receives text for the summary line. */
     public void updateBatteryStatus(String label, BatteryInfo info) {
         final CharSequence summary = label != null ? label : generateLabel(info);
         mBatteryUsageProgressBarPref.setBottomSummary(summary);
@@ -160,8 +125,8 @@
     }
 
     public void quickUpdateHeaderPreference() {
-        Intent batteryBroadcast = com.android.settingslib.fuelgauge.BatteryUtils
-                .getBatteryIntent(mContext);
+        Intent batteryBroadcast =
+                com.android.settingslib.fuelgauge.BatteryUtils.getBatteryIntent(mContext);
         final int batteryLevel = Utils.getBatteryLevel(batteryBroadcast);
         final boolean discharging =
                 batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) == 0;
@@ -170,9 +135,7 @@
         mBatteryUsageProgressBarPref.setPercent(batteryLevel, BATTERY_MAX_LEVEL);
     }
 
-    /**
-     * Update summary when battery tips changed.
-     */
+    /** Update summary when battery tips changed. */
     public void updateHeaderByBatteryTips(BatteryTip batteryTip, BatteryInfo batteryInfo) {
         mBatteryTip = batteryTip;
 
@@ -182,7 +145,8 @@
     }
 
     private CharSequence formatBatteryPercentageText(int batteryLevel) {
-        return TextUtils.expandTemplate(mContext.getText(R.string.battery_header_title_alternate),
+        return TextUtils.expandTemplate(
+                mContext.getText(R.string.battery_header_title_alternate),
                 NumberFormat.getIntegerInstance().format(batteryLevel));
     }
 }
diff --git a/src/com/android/settings/fuelgauge/BatteryInfo.java b/src/com/android/settings/fuelgauge/BatteryInfo.java
index 27d7154..ea8ef8d 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfo.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfo.java
@@ -24,6 +24,7 @@
 import android.os.BatteryStatsManager;
 import android.os.BatteryUsageStats;
 import android.os.SystemClock;
+import android.provider.Settings;
 import android.text.format.Formatter;
 import android.util.Log;
 import android.util.SparseIntArray;
@@ -33,7 +34,6 @@
 import androidx.annotation.WorkerThread;
 
 import com.android.internal.os.BatteryStatsHistoryIterator;
-import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.UsageView;
@@ -68,87 +68,110 @@
 
     public void bindHistory(final UsageView view, BatteryDataParser... parsers) {
         final Context context = view.getContext();
-        BatteryDataParser parser = new BatteryDataParser() {
-            SparseIntArray points = new SparseIntArray();
-            long startTime;
-            int lastTime = -1;
-            byte lastLevel;
+        BatteryDataParser parser =
+                new BatteryDataParser() {
+                    SparseIntArray mPoints = new SparseIntArray();
+                    long mStartTime;
+                    int mLastTime = -1;
+                    byte mLastLevel;
 
-            @Override
-            public void onParsingStarted(long startTime, long endTime) {
-                this.startTime = startTime;
-                timePeriod = endTime - startTime;
-                view.clearPaths();
-                // Initially configure the graph for history only.
-                view.configureGraph((int) timePeriod, 100);
-            }
+                    @Override
+                    public void onParsingStarted(long startTime, long endTime) {
+                        this.mStartTime = startTime;
+                        timePeriod = endTime - startTime;
+                        view.clearPaths();
+                        // Initially configure the graph for history only.
+                        view.configureGraph((int) timePeriod, 100);
+                    }
 
-            @Override
-            public void onDataPoint(long time, HistoryItem record) {
-                lastTime = (int) time;
-                lastLevel = record.batteryLevel;
-                points.put(lastTime, lastLevel);
-            }
+                    @Override
+                    public void onDataPoint(long time, HistoryItem record) {
+                        mLastTime = (int) time;
+                        mLastLevel = record.batteryLevel;
+                        mPoints.put(mLastTime, mLastLevel);
+                    }
 
-            @Override
-            public void onDataGap() {
-                if (points.size() > 1) {
-                    view.addPath(points);
-                }
-                points.clear();
-            }
+                    @Override
+                    public void onDataGap() {
+                        if (mPoints.size() > 1) {
+                            view.addPath(mPoints);
+                        }
+                        mPoints.clear();
+                    }
 
-            @Override
-            public void onParsingDone() {
-                onDataGap();
+                    @Override
+                    public void onParsingDone() {
+                        onDataGap();
 
-                // Add projection if we have an estimate.
-                if (remainingTimeUs != 0) {
-                    PowerUsageFeatureProvider provider = FeatureFactory.getFactory(context)
-                            .getPowerUsageFeatureProvider(context);
-                    if (!mCharging && provider.isEnhancedBatteryPredictionEnabled(context)) {
-                        points = provider.getEnhancedBatteryPredictionCurve(context, startTime);
-                    } else {
-                        // Linear extrapolation.
-                        if (lastTime >= 0) {
-                            points.put(lastTime, lastLevel);
-                            points.put((int) (timePeriod +
-                                            PowerUtil.convertUsToMs(remainingTimeUs)),
-                                    mCharging ? 100 : 0);
+                        // Add projection if we have an estimate.
+                        if (remainingTimeUs != 0) {
+                            PowerUsageFeatureProvider provider =
+                                    FeatureFactory.getFeatureFactory()
+                                            .getPowerUsageFeatureProvider();
+                            if (!mCharging
+                                    && provider.isEnhancedBatteryPredictionEnabled(context)) {
+                                mPoints =
+                                        provider.getEnhancedBatteryPredictionCurve(
+                                                context, mStartTime);
+                            } else {
+                                // Linear extrapolation.
+                                if (mLastTime >= 0) {
+                                    mPoints.put(mLastTime, mLastLevel);
+                                    mPoints.put(
+                                            (int)
+                                                    (timePeriod
+                                                            + PowerUtil.convertUsToMs(
+                                                                    remainingTimeUs)),
+                                            mCharging ? 100 : 0);
+                                }
+                            }
+                        }
+
+                        // If we have a projection, reconfigure the graph to show it.
+                        if (mPoints != null && mPoints.size() > 0) {
+                            int maxTime = mPoints.keyAt(mPoints.size() - 1);
+                            view.configureGraph(maxTime, 100);
+                            view.addProjectedPath(mPoints);
                         }
                     }
-                }
-
-                // If we have a projection, reconfigure the graph to show it.
-                if (points != null && points.size() > 0) {
-                    int maxTime = points.keyAt(points.size() - 1);
-                    view.configureGraph(maxTime, 100);
-                    view.addProjectedPath(points);
-                }
-            }
-        };
+                };
         BatteryDataParser[] parserList = new BatteryDataParser[parsers.length + 1];
         for (int i = 0; i < parsers.length; i++) {
             parserList[i] = parsers[i];
         }
         parserList[parsers.length] = parser;
         parseBatteryHistory(parserList);
-        String timeString = context.getString(R.string.charge_length_format,
-                Formatter.formatShortElapsedTime(context, timePeriod));
+        String timeString =
+                context.getString(
+                        com.android.settingslib.R.string.charge_length_format,
+                        Formatter.formatShortElapsedTime(context, timePeriod));
         String remaining = "";
         if (remainingTimeUs != 0) {
-            remaining = context.getString(R.string.remaining_length_format,
-                    Formatter.formatShortElapsedTime(context, remainingTimeUs / 1000));
+            remaining =
+                    context.getString(
+                            com.android.settingslib.R.string.remaining_length_format,
+                            Formatter.formatShortElapsedTime(context, remainingTimeUs / 1000));
         }
-        view.setBottomLabels(new CharSequence[]{timeString, remaining});
+        view.setBottomLabels(new CharSequence[] {timeString, remaining});
     }
 
-    public static void getBatteryInfo(final Context context, final Callback callback,
-            boolean shortString) {
-        BatteryInfo.getBatteryInfo(context, callback,  /* batteryUsageStats */ null, shortString);
+    /** Gets battery info */
+    public static void getBatteryInfo(
+            final Context context, final Callback callback, boolean shortString) {
+        BatteryInfo.getBatteryInfo(context, callback, /* batteryUsageStats */ null, shortString);
     }
 
-    public static void getBatteryInfo(final Context context, final Callback callback,
+    static long getSettingsChargeTimeRemaining(final Context context) {
+        return Settings.Global.getLong(
+                context.getContentResolver(),
+                com.android.settingslib.fuelgauge.BatteryUtils.GLOBAL_TIME_TO_FULL_MILLIS,
+                -1);
+    }
+
+    /** Gets battery info */
+    public static void getBatteryInfo(
+            final Context context,
+            final Callback callback,
             @Nullable final BatteryUsageStats batteryUsageStats,
             boolean shortString) {
         new AsyncTask<Void, Void, BatteryInfo>() {
@@ -160,8 +183,9 @@
                     stats = batteryUsageStats;
                 } else {
                     try {
-                        stats = context.getSystemService(BatteryStatsManager.class)
-                                .getBatteryUsageStats();
+                        stats =
+                                context.getSystemService(BatteryStatsManager.class)
+                                        .getBatteryUsageStats();
                         shouldCloseBatteryUsageStats = true;
                     } catch (RuntimeException e) {
                         Log.e(TAG, "getBatteryInfo() from getBatteryUsageStats()", e);
@@ -169,8 +193,7 @@
                         stats = new BatteryUsageStats.Builder(new String[0]).build();
                     }
                 }
-                final BatteryInfo batteryInfo =
-                        getBatteryInfo(context, stats, shortString);
+                final BatteryInfo batteryInfo = getBatteryInfo(context, stats, shortString);
                 if (shouldCloseBatteryUsageStats) {
                     try {
                         stats.close();
@@ -190,66 +213,89 @@
         }.executeOnExecutor(AsyncTask.THREAD_POOL_EXECUTOR);
     }
 
-    /**
-     * Creates a BatteryInfo based on BatteryUsageStats
-     */
+    /** Creates a BatteryInfo based on BatteryUsageStats */
     @WorkerThread
-    public static BatteryInfo getBatteryInfo(final Context context,
-            @NonNull final BatteryUsageStats batteryUsageStats, boolean shortString) {
+    public static BatteryInfo getBatteryInfo(
+            final Context context,
+            @NonNull final BatteryUsageStats batteryUsageStats,
+            boolean shortString) {
         final long batteryStatsTime = System.currentTimeMillis();
         BatteryUtils.logRuntime(LOG_TAG, "time for getStats", batteryStatsTime);
 
         final long startTime = System.currentTimeMillis();
         PowerUsageFeatureProvider provider =
-                FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context);
-        final long elapsedRealtimeUs =
-                PowerUtil.convertMsToUs(SystemClock.elapsedRealtime());
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
+        final long elapsedRealtimeUs = PowerUtil.convertMsToUs(SystemClock.elapsedRealtime());
 
-        final Intent batteryBroadcast = context.registerReceiver(null,
-                new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+        final Intent batteryBroadcast =
+                context.registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
         // 0 means we are discharging, anything else means charging
         final boolean discharging =
                 batteryBroadcast.getIntExtra(BatteryManager.EXTRA_PLUGGED, -1) == 0;
 
-        if (discharging && provider != null
-                && provider.isEnhancedBatteryPredictionEnabled(context)) {
+        if (discharging && provider.isEnhancedBatteryPredictionEnabled(context)) {
             Estimate estimate = provider.getEnhancedBatteryPrediction(context);
             if (estimate != null) {
                 Estimate.storeCachedEstimate(context, estimate);
-                BatteryUtils
-                        .logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
-                return BatteryInfo.getBatteryInfo(context, batteryBroadcast, batteryUsageStats,
-                        estimate, elapsedRealtimeUs, shortString);
+                BatteryUtils.logRuntime(LOG_TAG, "time for enhanced BatteryInfo", startTime);
+                return BatteryInfo.getBatteryInfo(
+                        context,
+                        batteryBroadcast,
+                        batteryUsageStats,
+                        estimate,
+                        elapsedRealtimeUs,
+                        shortString);
             }
         }
         final long prediction = discharging ? batteryUsageStats.getBatteryTimeRemainingMs() : 0;
-        final Estimate estimate = new Estimate(
-                prediction,
-                false, /* isBasedOnUsage */
-                EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
+        final Estimate estimate =
+                new Estimate(
+                        prediction,
+                        false, /* isBasedOnUsage */
+                        EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
         BatteryUtils.logRuntime(LOG_TAG, "time for regular BatteryInfo", startTime);
-        return BatteryInfo.getBatteryInfo(context, batteryBroadcast, batteryUsageStats,
-                estimate, elapsedRealtimeUs, shortString);
+        return BatteryInfo.getBatteryInfo(
+                context,
+                batteryBroadcast,
+                batteryUsageStats,
+                estimate,
+                elapsedRealtimeUs,
+                shortString);
     }
 
     @WorkerThread
-    public static BatteryInfo getBatteryInfoOld(Context context, Intent batteryBroadcast,
-            BatteryUsageStats batteryUsageStats, long elapsedRealtimeUs, boolean shortString) {
-        Estimate estimate = new Estimate(
-                batteryUsageStats.getBatteryTimeRemainingMs(),
-                false,
-                EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
-        return getBatteryInfo(context, batteryBroadcast, batteryUsageStats, estimate,
-                elapsedRealtimeUs, shortString);
+    public static BatteryInfo getBatteryInfoOld(
+            Context context,
+            Intent batteryBroadcast,
+            BatteryUsageStats batteryUsageStats,
+            long elapsedRealtimeUs,
+            boolean shortString) {
+        Estimate estimate =
+                new Estimate(
+                        batteryUsageStats.getBatteryTimeRemainingMs(),
+                        false,
+                        EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
+        return getBatteryInfo(
+                context,
+                batteryBroadcast,
+                batteryUsageStats,
+                estimate,
+                elapsedRealtimeUs,
+                shortString);
     }
 
     @WorkerThread
-    public static BatteryInfo getBatteryInfo(Context context, Intent batteryBroadcast,
-            @NonNull BatteryUsageStats batteryUsageStats, Estimate estimate,
-            long elapsedRealtimeUs, boolean shortString) {
+    public static BatteryInfo getBatteryInfo(
+            Context context,
+            Intent batteryBroadcast,
+            @NonNull BatteryUsageStats batteryUsageStats,
+            Estimate estimate,
+            long elapsedRealtimeUs,
+            boolean shortString) {
         final long startTime = System.currentTimeMillis();
-        final boolean isCompactStatus = context.getResources().getBoolean(
-                com.android.settings.R.bool.config_use_compact_battery_status);
+        final boolean isCompactStatus =
+                context.getResources()
+                        .getBoolean(com.android.settings.R.bool.config_use_compact_battery_status);
         BatteryInfo info = new BatteryInfo();
         info.mBatteryUsageStats = batteryUsageStats;
         info.batteryLevel = Utils.getBatteryLevel(batteryBroadcast);
@@ -257,78 +303,111 @@
         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;
+        info.isBatteryDefender =
+                batteryBroadcast.getIntExtra(
+                                BatteryManager.EXTRA_CHARGING_STATUS,
+                                BatteryManager.CHARGING_POLICY_DEFAULT)
+                        == BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE;
 
         info.statusLabel = Utils.getBatteryStatus(context, batteryBroadcast, isCompactStatus);
-        info.batteryStatus = batteryBroadcast.getIntExtra(
-                BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN);
+        info.batteryStatus =
+                batteryBroadcast.getIntExtra(
+                        BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN);
         if (!info.mCharging) {
             updateBatteryInfoDischarging(context, shortString, estimate, info);
         } else {
-            updateBatteryInfoCharging(context, batteryBroadcast, batteryUsageStats,
-                    info, isCompactStatus);
+            updateBatteryInfoCharging(
+                    context, batteryBroadcast, batteryUsageStats, info, isCompactStatus);
         }
         BatteryUtils.logRuntime(LOG_TAG, "time for getBatteryInfo", startTime);
         return info;
     }
 
-    private static void updateBatteryInfoCharging(Context context, Intent batteryBroadcast,
-            BatteryUsageStats stats, BatteryInfo info, boolean compactStatus) {
+    private static void updateBatteryInfoCharging(
+            Context context,
+            Intent batteryBroadcast,
+            BatteryUsageStats stats,
+            BatteryInfo info,
+            boolean compactStatus) {
         final Resources resources = context.getResources();
         final long chargeTimeMs = stats.getChargeTimeRemainingMs();
-        final int status = batteryBroadcast.getIntExtra(BatteryManager.EXTRA_STATUS,
-                BatteryManager.BATTERY_STATUS_UNKNOWN);
+        if (getSettingsChargeTimeRemaining(context) != chargeTimeMs) {
+            Settings.Global.putLong(
+                    context.getContentResolver(),
+                    com.android.settingslib.fuelgauge.BatteryUtils.GLOBAL_TIME_TO_FULL_MILLIS,
+                    chargeTimeMs);
+        }
+
+        final int status =
+                batteryBroadcast.getIntExtra(
+                        BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN);
         info.discharging = false;
         info.suggestionLabel = null;
         int dockDefenderMode = BatteryUtils.getCurrentDockDefenderMode(context, info);
-        if ((info.isBatteryDefender && status != BatteryManager.BATTERY_STATUS_FULL
-                && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED)
+        if ((info.isBatteryDefender
+                        && status != BatteryManager.BATTERY_STATUS_FULL
+                        && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED)
                 || dockDefenderMode == BatteryUtils.DockDefenderMode.ACTIVE) {
             // Battery defender active, battery charging paused
             info.remainingLabel = null;
-            int chargingLimitedResId = R.string.power_charging_limited;
+            int chargingLimitedResId = com.android.settingslib.R.string.power_charging_limited;
             info.chargeLabel = context.getString(chargingLimitedResId, info.batteryPercentString);
-        } else if ((chargeTimeMs > 0 && status != BatteryManager.BATTERY_STATUS_FULL
-                && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED)
+        } else if ((chargeTimeMs > 0
+                        && status != BatteryManager.BATTERY_STATUS_FULL
+                        && dockDefenderMode == BatteryUtils.DockDefenderMode.DISABLED)
                 || dockDefenderMode == BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED) {
             // Battery is charging to full
             info.remainingTimeUs = PowerUtil.convertMsToUs(chargeTimeMs);
-            final CharSequence timeString = StringUtil.formatElapsedTime(context,
-                    (double) PowerUtil.convertUsToMs(info.remainingTimeUs), false /* withSeconds */,
-                    true /* collapseTimeUnit */);
-            int resId = R.string.power_charging_duration;
-            info.remainingLabel = chargeTimeMs <= 0 ? null : context.getString(
-                    R.string.power_remaining_charging_duration_only, timeString);
-            info.chargeLabel = chargeTimeMs <= 0 ? info.batteryPercentString
-                    : context.getString(resId, info.batteryPercentString, timeString);
+            final CharSequence timeString =
+                    StringUtil.formatElapsedTime(
+                            context,
+                            (double) PowerUtil.convertUsToMs(info.remainingTimeUs),
+                            false /* withSeconds */,
+                            true /* collapseTimeUnit */);
+            int resId = com.android.settingslib.R.string.power_charging_duration;
+            info.remainingLabel =
+                    chargeTimeMs <= 0
+                            ? null
+                            : context.getString(
+                                    com.android.settingslib.R.string
+                                            .power_remaining_charging_duration_only,
+                                    timeString);
+            info.chargeLabel =
+                    chargeTimeMs <= 0
+                            ? info.batteryPercentString
+                            : context.getString(resId, info.batteryPercentString, timeString);
         } else if (dockDefenderMode == BatteryUtils.DockDefenderMode.FUTURE_BYPASS) {
             // Dock defender will be triggered in the future, charging will be optimized.
-            info.chargeLabel = context.getString(R.string.power_charging_future_paused,
-                    info.batteryPercentString);
+            info.chargeLabel =
+                    context.getString(
+                            com.android.settingslib.R.string.power_charging_future_paused,
+                            info.batteryPercentString);
         } else {
-            final String chargeStatusLabel = Utils.getBatteryStatus(context, batteryBroadcast,
-                    compactStatus);
+            final String chargeStatusLabel =
+                    Utils.getBatteryStatus(context, batteryBroadcast, compactStatus);
             info.remainingLabel = null;
-            info.chargeLabel = info.batteryLevel == 100 ? info.batteryPercentString :
-                    resources.getString(R.string.power_charging, info.batteryPercentString,
-                            chargeStatusLabel);
+            info.chargeLabel =
+                    info.batteryLevel == 100
+                            ? info.batteryPercentString
+                            : resources.getString(
+                                    com.android.settingslib.R.string.power_charging,
+                                    info.batteryPercentString,
+                                    chargeStatusLabel);
         }
     }
 
-    private static void updateBatteryInfoDischarging(Context context, boolean shortString,
-            Estimate estimate, BatteryInfo info) {
+    private static void updateBatteryInfoDischarging(
+            Context context, boolean shortString, Estimate estimate, BatteryInfo info) {
         final long drainTimeUs = PowerUtil.convertMsToUs(estimate.getEstimateMillis());
         if (drainTimeUs > 0) {
             info.remainingTimeUs = drainTimeUs;
-            info.remainingLabel = PowerUtil.getBatteryRemainingShortStringFormatted(
-                    context,
-                    PowerUtil.convertUsToMs(drainTimeUs)
-            );
+            info.remainingLabel =
+                    PowerUtil.getBatteryRemainingShortStringFormatted(
+                            context, PowerUtil.convertUsToMs(drainTimeUs));
             info.chargeLabel = info.remainingLabel;
-            info.suggestionLabel = PowerUtil.getBatteryTipStringFormatted(
-                    context, PowerUtil.convertUsToMs(drainTimeUs));
+            info.suggestionLabel =
+                    PowerUtil.getBatteryTipStringFormatted(
+                            context, PowerUtil.convertUsToMs(drainTimeUs));
         } else {
             info.remainingLabel = null;
             info.suggestionLabel = null;
@@ -347,8 +426,8 @@
     }
 
     /**
-     * Iterates over battery history included in the BatteryUsageStats that this object
-     * was initialized with.
+     * Iterates over battery history included in the BatteryUsageStats that this object was
+     * initialized with.
      */
     public void parseBatteryHistory(BatteryDataParser... parsers) {
         long startWalltime = 0;
@@ -370,8 +449,7 @@
                 first = false;
                 historyStart = rec.time;
             }
-            if (rec.cmd == HistoryItem.CMD_CURRENT_TIME
-                    || rec.cmd == HistoryItem.CMD_RESET) {
+            if (rec.cmd == HistoryItem.CMD_CURRENT_TIME || rec.cmd == HistoryItem.CMD_RESET) {
                 // If there is a ridiculously large jump in time, then we won't be
                 // able to create a good chart with that data, so just ignore the
                 // times we got before and pretend like our data extends back from
@@ -433,7 +511,7 @@
 
                     if (rec.cmd != HistoryItem.CMD_OVERFLOW
                             && (rec.cmd != HistoryItem.CMD_CURRENT_TIME
-                            || Math.abs(lastWalltime - curWalltime) > (60 * 60 * 1000))) {
+                                    || Math.abs(lastWalltime - curWalltime) > (60 * 60 * 1000))) {
                         for (int j = 0; j < parsers.length; j++) {
                             parsers[j].onDataGap();
                         }
diff --git a/src/com/android/settings/fuelgauge/BatteryInfoLoader.java b/src/com/android/settings/fuelgauge/BatteryInfoLoader.java
index ffee462..5ea94f8 100644
--- a/src/com/android/settings/fuelgauge/BatteryInfoLoader.java
+++ b/src/com/android/settings/fuelgauge/BatteryInfoLoader.java
@@ -26,11 +26,10 @@
  * automatically grab enhanced battery estimates if available or fall back to the system estimate
  * when not available.
  */
-public class BatteryInfoLoader extends AsyncLoaderCompat<BatteryInfo>{
+public class BatteryInfoLoader extends AsyncLoaderCompat<BatteryInfo> {
     private static final String LOG_TAG = "BatteryInfoLoader";
 
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
 
     public BatteryInfoLoader(Context context) {
         super(context);
@@ -38,9 +37,7 @@
     }
 
     @Override
-    protected void onDiscardResult(BatteryInfo result) {
-
-    }
+    protected void onDiscardResult(BatteryInfo result) {}
 
     @Override
     public BatteryInfo loadInBackground() {
diff --git a/src/com/android/settings/fuelgauge/BatteryMeterView.java b/src/com/android/settings/fuelgauge/BatteryMeterView.java
index 4a0dc1d..a041a31 100644
--- a/src/com/android/settings/fuelgauge/BatteryMeterView.java
+++ b/src/com/android/settings/fuelgauge/BatteryMeterView.java
@@ -16,12 +16,12 @@
 
 package com.android.settings.fuelgauge;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.graphics.ColorFilter;
 import android.util.AttributeSet;
 import android.widget.ImageView;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -29,14 +29,10 @@
 import com.android.settingslib.graph.ThemedBatteryDrawable;
 
 public class BatteryMeterView extends ImageView {
-    @VisibleForTesting
-    BatteryMeterDrawable mDrawable;
-    @VisibleForTesting
-    ColorFilter mErrorColorFilter;
-    @VisibleForTesting
-    ColorFilter mAccentColorFilter;
-    @VisibleForTesting
-    ColorFilter mForegroundColorFilter;
+    @VisibleForTesting BatteryMeterDrawable mDrawable;
+    @VisibleForTesting ColorFilter mErrorColorFilter;
+    @VisibleForTesting ColorFilter mAccentColorFilter;
+    @VisibleForTesting ColorFilter mForegroundColorFilter;
 
     public BatteryMeterView(Context context) {
         this(context, null, 0);
@@ -49,13 +45,17 @@
     public BatteryMeterView(Context context, @Nullable AttributeSet attrs, int defStyleAttr) {
         super(context, attrs, defStyleAttr);
 
-        final int frameColor = context.getColor(R.color.meter_background_color);
-        mAccentColorFilter = Utils.getAlphaInvariantColorFilterForColor(
-                Utils.getColorAttrDefaultColor(context, android.R.attr.colorAccent));
-        mErrorColorFilter = Utils.getAlphaInvariantColorFilterForColor(
-                context.getColor(R.color.battery_icon_color_error));
-        mForegroundColorFilter = Utils.getAlphaInvariantColorFilterForColor(
-                Utils.getColorAttrDefaultColor(context, android.R.attr.colorForeground));
+        final int frameColor =
+                context.getColor(com.android.settingslib.R.color.meter_background_color);
+        mAccentColorFilter =
+                Utils.getAlphaInvariantColorFilterForColor(
+                        Utils.getColorAttrDefaultColor(context, android.R.attr.colorAccent));
+        mErrorColorFilter =
+                Utils.getAlphaInvariantColorFilterForColor(
+                        context.getColor(R.color.battery_icon_color_error));
+        mForegroundColorFilter =
+                Utils.getAlphaInvariantColorFilterForColor(
+                        Utils.getColorAttrDefaultColor(context, android.R.attr.colorForeground));
         mDrawable = new BatteryMeterDrawable(context, frameColor);
         mDrawable.setColorFilter(mAccentColorFilter);
         setImageDrawable(mDrawable);
@@ -107,10 +107,10 @@
         public BatteryMeterDrawable(Context context, int frameColor) {
             super(context, frameColor);
 
-            mIntrinsicWidth = context.getResources()
-                    .getDimensionPixelSize(R.dimen.battery_meter_width);
-            mIntrinsicHeight = context.getResources()
-                    .getDimensionPixelSize(R.dimen.battery_meter_height);
+            mIntrinsicWidth =
+                    context.getResources().getDimensionPixelSize(R.dimen.battery_meter_width);
+            mIntrinsicHeight =
+                    context.getResources().getDimensionPixelSize(R.dimen.battery_meter_height);
         }
 
         public BatteryMeterDrawable(Context context, int frameColor, int width, int height) {
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java
index d093d35..afdae8e 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtils.java
@@ -34,8 +34,7 @@
     private static final String BATTERY_OPTIMIZE_FILE_NAME = "battery_optimize_historical_logs";
     private static final String LOGS_KEY = "battery_optimize_logs_key";
 
-    @VisibleForTesting
-    static final int MAX_ENTRIES = 40;
+    @VisibleForTesting static final int MAX_ENTRIES = 40;
 
     private BatteryOptimizeLogUtils() {}
 
@@ -45,8 +44,11 @@
         writeLog(getSharedPreferences(context), action, packageName, actionDescription);
     }
 
-    static void writeLog(SharedPreferences sharedPreferences, Action action,
-            String packageName, String actionDescription) {
+    static void writeLog(
+            SharedPreferences sharedPreferences,
+            Action action,
+            String packageName,
+            String actionDescription) {
         writeLog(
                 sharedPreferences,
                 BatteryOptimizeHistoricalLogEntry.newBuilder()
@@ -70,10 +72,7 @@
 
         String loggingContent =
                 Base64.encodeToString(newLogBuilder.build().toByteArray(), Base64.DEFAULT);
-        sharedPreferences
-                .edit()
-                .putString(LOGS_KEY, loggingContent)
-                .apply();
+        sharedPreferences.edit().putString(LOGS_KEY, loggingContent).apply();
     }
 
     private static BatteryOptimizeHistoricalLog parseLogFromString(String storedLogs) {
@@ -107,9 +106,11 @@
     }
 
     private static String toString(BatteryOptimizeHistoricalLogEntry entry) {
-        return String.format("%s\t%s\taction:%s\tevent:%s",
+        return String.format(
+                "%s\t%s\taction:%s\tevent:%s",
                 ConvertUtils.utcToLocalTimeForLogging(entry.getTimestamp()),
-                entry.getPackageName(), entry.getAction(),
+                entry.getPackageName(),
+                entry.getAction(),
                 entry.getActionDescription());
     }
 
diff --git a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
index 124840e..dc4aade 100644
--- a/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryOptimizeUtils.java
@@ -45,6 +45,10 @@
     private static final String TAG = "BatteryOptimizeUtils";
     private static final String UNKNOWN_PACKAGE = "unknown";
 
+    // Avoid reload the data again since it is predefined in the resource/config.
+    private static List<String> sBatteryOptimizeModeList = null;
+    private static List<String> sBatteryUnrestrictModeList = null;
+
     @VisibleForTesting AppOpsManager mAppOpsManager;
     @VisibleForTesting BatteryUtils mBatteryUtils;
     @VisibleForTesting PowerAllowlistBackend mPowerAllowListBackend;
@@ -58,24 +62,26 @@
     // If current user is admin, match apps from all users. Otherwise, only match the currect user.
     private static final int RETRIEVE_FLAG_ADMIN =
             PackageManager.MATCH_ANY_USER
-                | PackageManager.MATCH_DISABLED_COMPONENTS
-                | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
+                    | PackageManager.MATCH_DISABLED_COMPONENTS
+                    | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
     private static final int RETRIEVE_FLAG =
             PackageManager.MATCH_DISABLED_COMPONENTS
-                | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
+                    | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS;
 
     // Optimization modes.
-    static final int MODE_UNKNOWN = 0;
-    static final int MODE_RESTRICTED = 1;
-    static final int MODE_UNRESTRICTED = 2;
-    static final int MODE_OPTIMIZED = 3;
+    public static final int MODE_UNKNOWN = 0;
+    public static final int MODE_RESTRICTED = 1;
+    public static final int MODE_UNRESTRICTED = 2;
+    public static final int MODE_OPTIMIZED = 3;
 
-    @IntDef(prefix = {"MODE_"}, value = {
-        MODE_UNKNOWN,
-        MODE_RESTRICTED,
-        MODE_UNRESTRICTED,
-        MODE_OPTIMIZED,
-    })
+    @IntDef(
+            prefix = {"MODE_"},
+            value = {
+                MODE_UNKNOWN,
+                MODE_RESTRICTED,
+                MODE_UNRESTRICTED,
+                MODE_OPTIMIZED,
+            })
     @Retention(RetentionPolicy.SOURCE)
     static @interface OptimizationMode {}
 
@@ -106,16 +112,37 @@
 
     /** Gets the {@link OptimizationMode} for associated app. */
     @OptimizationMode
-    public int getAppOptimizationMode() {
-        refreshState();
+    public int getAppOptimizationMode(boolean refreshList) {
+        if (refreshList) {
+            mPowerAllowListBackend.refreshList();
+        }
+        mAllowListed = mPowerAllowListBackend.isAllowlisted(mPackageName, mUid);
+        mMode =
+                mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, mUid, mPackageName);
+        Log.d(
+                TAG,
+                String.format(
+                        "refresh %s state, allowlisted = %s, mode = %d",
+                        mPackageName, mAllowListed, mMode));
         return getAppOptimizationMode(mMode, mAllowListed);
     }
 
+    /** Gets the {@link OptimizationMode} for associated app. */
+    @OptimizationMode
+    public int getAppOptimizationMode() {
+        return getAppOptimizationMode(true);
+    }
+
     /** Resets optimization mode for all applications. */
     public static void resetAppOptimizationMode(
             Context context, IPackageManager ipm, AppOpsManager aom) {
-        resetAppOptimizationMode(context, ipm, aom,
-                PowerAllowlistBackend.getInstance(context), BatteryUtils.getInstance(context));
+        resetAppOptimizationMode(
+                context,
+                ipm,
+                aom,
+                PowerAllowlistBackend.getInstance(context),
+                BatteryUtils.getInstance(context));
     }
 
     /** Sets the {@link OptimizationMode} for associated app. */
@@ -130,21 +157,31 @@
 
     /** Return {@code true} if it is disabled for default optimized mode only. */
     public boolean isDisabledForOptimizeModeOnly() {
-        return getAllowList(mContext).contains(mPackageName)
+        return getForceBatteryOptimizeModeList(mContext).contains(mPackageName)
                 || mBatteryUtils.getPackageUid(mPackageName) == BatteryUtils.UID_NULL;
     }
 
-    /**
-     * Return {@code true} if this package is system or default active app.
-     */
+    /** Return {@code true} if this package is system or default active app. */
     public boolean isSystemOrDefaultApp() {
         mPowerAllowListBackend.refreshList();
-        return isSystemOrDefaultApp(mPowerAllowListBackend, mPackageName, mUid);
+        return isSystemOrDefaultApp(mContext, mPowerAllowListBackend, mPackageName, mUid);
+    }
+
+    /** Return {@code true} if the optimization mode of this package can be changed */
+    public boolean isOptimizeModeMutable() {
+        return !isDisabledForOptimizeModeOnly() && !isSystemOrDefaultApp();
     }
 
     /**
-      * Gets the list of installed applications.
-      */
+     * Return {@code true} if the optimization mode is mutable and current state is not restricted
+     */
+    public boolean isSelectorPreferenceEnabled() {
+        // Enable the preference if apps are not set into restricted mode, otherwise disable it
+        return isOptimizeModeMutable()
+                && getAppOptimizationMode() != BatteryOptimizeUtils.MODE_RESTRICTED;
+    }
+
+    /** Gets the list of installed applications. */
     public static ArraySet<ApplicationInfo> getInstalledApplications(
             Context context, IPackageManager ipm) {
         final ArraySet<ApplicationInfo> applications = new ArraySet<>();
@@ -152,9 +189,10 @@
         for (UserInfo userInfo : um.getProfiles(UserHandle.myUserId())) {
             try {
                 @SuppressWarnings("unchecked")
-                final ParceledListSlice<ApplicationInfo> infoList = ipm.getInstalledApplications(
-                        userInfo.isAdmin() ? RETRIEVE_FLAG_ADMIN : RETRIEVE_FLAG,
-                        userInfo.id);
+                final ParceledListSlice<ApplicationInfo> infoList =
+                        ipm.getInstalledApplications(
+                                userInfo.isAdmin() ? RETRIEVE_FLAG_ADMIN : RETRIEVE_FLAG,
+                                userInfo.id);
                 if (infoList != null) {
                     applications.addAll(infoList.getList());
                 }
@@ -165,15 +203,19 @@
         }
         // Removes the application which is disabled by the system.
         applications.removeIf(
-                info -> info.enabledSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
-                    && !info.enabled);
+                info ->
+                        info.enabledSetting != PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER
+                                && !info.enabled);
         return applications;
     }
 
     @VisibleForTesting
     static void resetAppOptimizationMode(
-            Context context, IPackageManager ipm, AppOpsManager aom,
-            PowerAllowlistBackend allowlistBackend, BatteryUtils batteryUtils) {
+            Context context,
+            IPackageManager ipm,
+            AppOpsManager aom,
+            PowerAllowlistBackend allowlistBackend,
+            BatteryUtils batteryUtils) {
         final ArraySet<ApplicationInfo> applications = getInstalledApplications(context, ipm);
         if (applications == null || applications.isEmpty()) {
             Log.w(TAG, "no data found in the getInstalledApplications()");
@@ -183,21 +225,30 @@
         allowlistBackend.refreshList();
         // Resets optimization mode for each application.
         for (ApplicationInfo info : applications) {
-            final int mode = aom.checkOpNoThrow(
-                    AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, info.uid, info.packageName);
+            final int mode =
+                    aom.checkOpNoThrow(
+                            AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, info.uid, info.packageName);
             @OptimizationMode
-            final int optimizationMode = getAppOptimizationMode(
-                    mode, allowlistBackend.isAllowlisted(info.packageName, info.uid));
+            final int optimizationMode =
+                    getAppOptimizationMode(
+                            mode, allowlistBackend.isAllowlisted(info.packageName, info.uid));
             // Ignores default optimized/unknown state or system/default apps.
             if (optimizationMode == MODE_OPTIMIZED
                     || optimizationMode == MODE_UNKNOWN
-                    || isSystemOrDefaultApp(allowlistBackend, info.packageName, info.uid)) {
+                    || isSystemOrDefaultApp(
+                            context, allowlistBackend, info.packageName, info.uid)) {
                 continue;
             }
 
             // Resets to the default mode: MODE_OPTIMIZED.
-            setAppUsageStateInternal(context, MODE_OPTIMIZED, info.uid, info.packageName,
-                    batteryUtils, allowlistBackend, Action.RESET);
+            setAppUsageStateInternal(
+                    context,
+                    MODE_OPTIMIZED,
+                    info.uid,
+                    info.packageName,
+                    batteryUtils,
+                    allowlistBackend,
+                    Action.RESET);
         }
     }
 
@@ -211,19 +262,45 @@
     }
 
     static boolean isSystemOrDefaultApp(
-            PowerAllowlistBackend powerAllowlistBackend, String packageName, int uid) {
+            Context context,
+            PowerAllowlistBackend powerAllowlistBackend,
+            String packageName,
+            int uid) {
         return powerAllowlistBackend.isSysAllowlisted(packageName)
+                // Always forced unrestricted apps are one type of system important apps.
+                || getForceBatteryUnrestrictModeList(context).contains(packageName)
                 || powerAllowlistBackend.isDefaultActiveApp(packageName, uid);
     }
 
-    static List<String> getAllowList(Context context) {
-        return Arrays.asList(context.getResources().getStringArray(
-                R.array.config_disable_optimization_mode_apps));
+    static List<String> getForceBatteryOptimizeModeList(Context context) {
+        if (sBatteryOptimizeModeList == null) {
+            sBatteryOptimizeModeList =
+                    Arrays.asList(
+                            context.getResources()
+                                    .getStringArray(
+                                            R.array.config_force_battery_optimize_mode_apps));
+        }
+        return sBatteryOptimizeModeList;
+    }
+
+    static List<String> getForceBatteryUnrestrictModeList(Context context) {
+        if (sBatteryUnrestrictModeList == null) {
+            sBatteryUnrestrictModeList =
+                    Arrays.asList(
+                            context.getResources()
+                                    .getStringArray(
+                                            R.array.config_force_battery_unrestrict_mode_apps));
+        }
+        return sBatteryUnrestrictModeList;
     }
 
     private static void setAppUsageStateInternal(
-            Context context, @OptimizationMode int mode, int uid, String packageName,
-            BatteryUtils batteryUtils, PowerAllowlistBackend powerAllowlistBackend,
+            Context context,
+            @OptimizationMode int mode,
+            int uid,
+            String packageName,
+            BatteryUtils batteryUtils,
+            PowerAllowlistBackend powerAllowlistBackend,
             Action action) {
         if (mode == MODE_UNKNOWN) {
             Log.d(TAG, "set unknown app optimization mode.");
@@ -237,16 +314,29 @@
                 mode == MODE_RESTRICTED ? AppOpsManager.MODE_IGNORED : AppOpsManager.MODE_ALLOWED;
         final boolean allowListed = mode == MODE_UNRESTRICTED;
 
-        setAppOptimizationModeInternal(context, appOpsManagerMode, allowListed, uid,
-                packageName, batteryUtils, powerAllowlistBackend, action);
+        setAppOptimizationModeInternal(
+                context,
+                appOpsManagerMode,
+                allowListed,
+                uid,
+                packageName,
+                batteryUtils,
+                powerAllowlistBackend,
+                action);
     }
 
     private static void setAppOptimizationModeInternal(
-            Context context, int appStandbyMode, boolean allowListed, int uid, String packageName,
-            BatteryUtils batteryUtils, PowerAllowlistBackend powerAllowlistBackend,
+            Context context,
+            int appStandbyMode,
+            boolean allowListed,
+            int uid,
+            String packageName,
+            BatteryUtils batteryUtils,
+            PowerAllowlistBackend powerAllowlistBackend,
             Action action) {
-        final String packageNameKey = BatteryOptimizeLogUtils
-                .getPackageNameWithUserId(packageName, UserHandle.myUserId());
+        final String packageNameKey =
+                BatteryOptimizeLogUtils.getPackageNameWithUserId(
+                        packageName, UserHandle.myUserId());
         try {
             batteryUtils.setForceAppStandby(uid, packageName, appStandbyMode);
             if (allowListed) {
@@ -260,24 +350,14 @@
             Log.e(TAG, "set OPTIMIZATION MODE failed for " + packageName, e);
         }
         BatteryOptimizeLogUtils.writeLog(
-                context,
-                action,
-                packageNameKey,
-                createLogEvent(appStandbyMode, allowListed));
-    }
-
-    private void refreshState() {
-        mPowerAllowListBackend.refreshList();
-        mAllowListed = mPowerAllowListBackend.isAllowlisted(mPackageName, mUid);
-        mMode = mAppOpsManager
-                .checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, mUid, mPackageName);
-        Log.d(TAG, String.format("refresh %s state, allowlisted = %s, mode = %d",
-                mPackageName, mAllowListed, mMode));
+                context, action, packageNameKey, createLogEvent(appStandbyMode, allowListed));
     }
 
     private static String createLogEvent(int appStandbyMode, boolean allowListed) {
-        return appStandbyMode < 0 ? "Apply optimize setting ERROR" :
-                String.format("\tStandbyMode: %s, allowListed: %s, mode: %s",
+        return appStandbyMode < 0
+                ? "Apply optimize setting ERROR"
+                : String.format(
+                        "\tStandbyMode: %s, allowListed: %s, mode: %s",
                         appStandbyMode,
                         allowListed,
                         getAppOptimizationMode(appStandbyMode, allowListed));
diff --git a/src/com/android/settings/fuelgauge/BatteryPreferenceController.java b/src/com/android/settings/fuelgauge/BatteryPreferenceController.java
index badf5c8..08ad1d1 100644
--- a/src/com/android/settings/fuelgauge/BatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/BatteryPreferenceController.java
@@ -16,15 +16,12 @@
 
 package com.android.settings.fuelgauge;
 
-/**
- * Common interface for a preference controller that updates battery status
- */
+/** Common interface for a preference controller that updates battery status */
 public interface BatteryPreferenceController {
 
     /**
-     * Updates the label for the preference controller. If the label is null, the
-     * implementation should revert back to the original label based on the
-     * battery info.
+     * Updates the label for the preference controller. If the label is null, the implementation
+     * should revert back to the original label based on the battery info.
      */
     void updateBatteryStatus(String label, BatteryInfo info);
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySaverController.java b/src/com/android/settings/fuelgauge/BatterySaverController.java
index c712ab0..70abfbc 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverController.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverController.java
@@ -35,22 +35,20 @@
 import com.android.settingslib.core.lifecycle.events.OnStop;
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 
-/**
- * Controller to update the battery saver entry preference.
- */
+/** Controller to update the battery saver entry preference. */
 public class BatterySaverController extends BasePreferenceController
         implements LifecycleObserver, OnStart, OnStop, BatterySaverReceiver.BatterySaverListener {
     private static final String KEY_BATTERY_SAVER = "battery_saver_summary";
     private final BatterySaverReceiver mBatteryStateChangeReceiver;
     private final PowerManager mPowerManager;
     private Preference mBatterySaverPref;
-    private final ContentObserver mObserver = new ContentObserver(
-            new Handler(Looper.getMainLooper())) {
-        @Override
-        public void onChange(boolean selfChange) {
-            updateSummary();
-        }
-    };
+    private final ContentObserver mObserver =
+            new ContentObserver(new Handler(Looper.getMainLooper())) {
+                @Override
+                public void onChange(boolean selfChange) {
+                    updateSummary();
+                }
+            };
 
     public BatterySaverController(Context context) {
         super(context, KEY_BATTERY_SAVER);
@@ -79,9 +77,11 @@
 
     @Override
     public void onStart() {
-        mContext.getContentResolver().registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL),
-                true /* notifyForDescendants */, mObserver);
+        mContext.getContentResolver()
+                .registerContentObserver(
+                        Settings.Global.getUriFor(Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL),
+                        true /* notifyForDescendants */,
+                        mObserver);
 
         mBatteryStateChangeReceiver.setListening(true);
         updateSummary();
@@ -101,15 +101,20 @@
         }
 
         final ContentResolver resolver = mContext.getContentResolver();
-        final int mode = Settings.Global.getInt(resolver,
-                Global.AUTOMATIC_POWER_SAVE_MODE, PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
+        final int mode =
+                Settings.Global.getInt(
+                        resolver,
+                        Global.AUTOMATIC_POWER_SAVE_MODE,
+                        PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
         if (mode == PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE) {
-            final int percent = Settings.Global.getInt(resolver,
-                    Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
-            return percent != 0 ?
-                    mContext.getString(R.string.battery_saver_off_scheduled_summary,
-                            Utils.formatPercentage(percent)) :
-                    mContext.getString(R.string.battery_saver_off_summary);
+            final int percent =
+                    Settings.Global.getInt(
+                            resolver, Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+            return percent != 0
+                    ? mContext.getString(
+                            R.string.battery_saver_off_scheduled_summary,
+                            Utils.formatPercentage(percent))
+                    : mContext.getString(R.string.battery_saver_off_summary);
         } else {
             return mContext.getString(R.string.battery_saver_pref_auto_routine_summary);
         }
@@ -127,6 +132,5 @@
     }
 
     @Override
-    public void onBatteryChanged(boolean pluggedIn) {
-    }
+    public void onBatteryChanged(boolean pluggedIn) {}
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySaverDrawable.java b/src/com/android/settings/fuelgauge/BatterySaverDrawable.java
index ce29361..bde1335 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverDrawable.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverDrawable.java
@@ -23,9 +23,7 @@
 import com.android.settingslib.Utils;
 import com.android.settingslib.graph.BatteryMeterDrawableBase;
 
-/**
- * Drawable that shows a static battery saver icon - a full battery symbol and a plus sign.
- */
+/** Drawable that shows a static battery saver icon - a full battery symbol and a plus sign. */
 public class BatterySaverDrawable extends BatteryMeterDrawableBase {
 
     private static final int MAX_BATTERY = 100;
diff --git a/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java b/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java
index c4e5ce6..fb12dbe 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverModeVoiceActivity.java
@@ -27,8 +27,8 @@
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 
 /**
- * Activity for modifying the {@link android.os.PowerManager} power save mode
- * setting using the Voice Interaction API.
+ * Activity for modifying the {@link android.os.PowerManager} power save mode setting using the
+ * Voice Interaction API.
  */
 public class BatterySaverModeVoiceActivity extends VoiceSettingsActivity {
     private static final String TAG = "BatterySaverModeVoiceActivity";
@@ -36,9 +36,11 @@
     @Override
     protected boolean onVoiceSettingInteraction(Intent intent) {
         if (intent.hasExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED)) {
-            if (BatterySaverUtils.setPowerSaveMode(this,
+            if (BatterySaverUtils.setPowerSaveMode(
+                    this,
                     intent.getBooleanExtra(EXTRA_BATTERY_SAVER_MODE_ENABLED, false),
-                    /*needFirstTimeWarning=*/ true, SAVER_ENABLED_VOICE)) {
+                    /* needFirstTimeWarning= */ true,
+                    SAVER_ENABLED_VOICE)) {
                 notifySuccess(null);
             } else {
                 Log.v(TAG, "Unable to set power mode");
diff --git a/src/com/android/settings/fuelgauge/BatterySaverReceiver.java b/src/com/android/settings/fuelgauge/BatterySaverReceiver.java
index bf5c51b..7537c54 100644
--- a/src/com/android/settings/fuelgauge/BatterySaverReceiver.java
+++ b/src/com/android/settings/fuelgauge/BatterySaverReceiver.java
@@ -71,6 +71,7 @@
 
     public interface BatterySaverListener {
         void onPowerSaveModeChanged();
+
         void onBatteryChanged(boolean pluggedIn);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
index 260fde0..62be5df 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProvider.java
@@ -18,6 +18,11 @@
 
 import android.content.Context;
 
+import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
+import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+
+import java.util.List;
+
 /** Feature provider for battery settings usage. */
 public interface BatterySettingsFeatureProvider {
 
@@ -26,4 +31,14 @@
 
     /** Returns true if first use date should be shown */
     boolean isFirstUseDateAvailable(Context context, long firstUseDateMs);
+
+    /** Check whether the battery information page is enabled in the About phone page */
+    boolean isBatteryInfoEnabled(Context context);
+
+    /** A way to add more battery tip detectors. */
+    void addBatteryTipDetector(
+            Context context,
+            List<BatteryTip> batteryTips,
+            BatteryInfo batteryInfo,
+            BatteryTipPolicy batteryTipPolicy);
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
index 6b456b7..f398373 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImpl.java
@@ -18,6 +18,12 @@
 
 import android.content.Context;
 
+import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
+import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector;
+import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+
+import java.util.List;
+
 /** Feature provider implementation for battery settings usage. */
 public class BatterySettingsFeatureProviderImpl implements BatterySettingsFeatureProvider {
 
@@ -30,4 +36,18 @@
     public boolean isFirstUseDateAvailable(Context context, long firstUseDateMs) {
         return false;
     }
+
+    @Override
+    public boolean isBatteryInfoEnabled(Context context) {
+        return false;
+    }
+
+    @Override
+    public void addBatteryTipDetector(
+            Context context,
+            List<BatteryTip> batteryTips,
+            BatteryInfo batteryInfo,
+            BatteryTipPolicy batteryTipPolicy) {
+        batteryTips.add(new LowBatteryDetector(context, batteryTipPolicy, batteryInfo).detect());
+    }
 }
diff --git a/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java b/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
index 8697e43..066e0fc 100644
--- a/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
+++ b/src/com/android/settings/fuelgauge/BatterySettingsMigrateChecker.java
@@ -26,6 +26,7 @@
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleRadioButtonsController;
+import com.android.settings.fuelgauge.datasaver.DynamicDenylistManager;
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 
 import java.util.List;
@@ -34,8 +35,7 @@
 public final class BatterySettingsMigrateChecker extends BroadcastReceiver {
     private static final String TAG = "BatterySettingsMigrateChecker";
 
-    @VisibleForTesting
-    static BatteryOptimizeUtils sBatteryOptimizeUtils = null;
+    @VisibleForTesting static BatteryOptimizeUtils sBatteryOptimizeUtils = null;
 
     @Override
     public void onReceive(Context context, Intent intent) {
@@ -50,42 +50,60 @@
     static void verifyConfiguration(Context context) {
         context = context.getApplicationContext();
         verifySaverConfiguration(context);
-        verifyOptimizationModes(context);
+        verifyBatteryOptimizeModes(context);
+        DynamicDenylistManager.getInstance(context).onBootComplete();
     }
 
     /** Avoid users set important apps into the unexpected battery optimize modes */
-    static void verifyOptimizationModes(Context context) {
+    static void verifyBatteryOptimizeModes(Context context) {
         Log.d(TAG, "invoke verifyOptimizationModes()");
-        verifyOptimizationModes(context, BatteryOptimizeUtils.getAllowList(context));
+        verifyBatteryOptimizeModeApps(
+                context,
+                BatteryOptimizeUtils.MODE_OPTIMIZED,
+                BatteryOptimizeUtils.getForceBatteryOptimizeModeList(context));
+        verifyBatteryOptimizeModeApps(
+                context,
+                BatteryOptimizeUtils.MODE_UNRESTRICTED,
+                BatteryOptimizeUtils.getForceBatteryUnrestrictModeList(context));
     }
 
     @VisibleForTesting
-    static void verifyOptimizationModes(Context context, List<String> allowList) {
-        allowList.forEach(packageName -> {
-            final BatteryOptimizeUtils batteryOptimizeUtils =
-                    BatteryBackupHelper.newBatteryOptimizeUtils(context, packageName,
-                            /* testOptimizeUtils */ sBatteryOptimizeUtils);
-            if (batteryOptimizeUtils == null) {
-                return;
-            }
-            if (batteryOptimizeUtils.getAppOptimizationMode() !=
-                    BatteryOptimizeUtils.MODE_OPTIMIZED) {
-                Log.w(TAG, "Reset optimization mode for: " + packageName);
-                batteryOptimizeUtils.setAppUsageState(BatteryOptimizeUtils.MODE_OPTIMIZED,
-                        BatteryOptimizeHistoricalLogEntry.Action.FORCE_RESET);
-            }
-        });
+    static void verifyBatteryOptimizeModeApps(
+            Context context,
+            @BatteryOptimizeUtils.OptimizationMode int optimizationMode,
+            List<String> allowList) {
+        allowList.forEach(
+                packageName -> {
+                    final BatteryOptimizeUtils batteryOptimizeUtils =
+                            BatteryBackupHelper.newBatteryOptimizeUtils(
+                                    context,
+                                    packageName,
+                                    /* testOptimizeUtils */ sBatteryOptimizeUtils);
+                    if (batteryOptimizeUtils == null) {
+                        return;
+                    }
+                    if (batteryOptimizeUtils.getAppOptimizationMode() != optimizationMode) {
+                        Log.w(
+                                TAG,
+                                "Reset " + packageName + " battery mode into " + optimizationMode);
+                        batteryOptimizeUtils.setAppUsageState(
+                                optimizationMode,
+                                BatteryOptimizeHistoricalLogEntry.Action.FORCE_RESET);
+                    }
+                });
     }
 
     static void verifySaverConfiguration(Context context) {
         Log.d(TAG, "invoke verifySaverConfiguration()");
         final ContentResolver resolver = context.getContentResolver();
-        final int threshold = Settings.Global.getInt(resolver,
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+        final int threshold =
+                Settings.Global.getInt(resolver, Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
         // Force refine the invalid scheduled battery level.
         if (threshold < BatterySaverScheduleRadioButtonsController.TRIGGER_LEVEL_MIN
                 && threshold > 0) {
-            Settings.Global.putInt(resolver, Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
+            Settings.Global.putInt(
+                    resolver,
+                    Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
                     BatterySaverScheduleRadioButtonsController.TRIGGER_LEVEL_MIN);
             Log.w(TAG, "Reset invalid scheduled battery level from: " + threshold);
         }
diff --git a/src/com/android/settings/fuelgauge/BatteryStatusFeatureProvider.java b/src/com/android/settings/fuelgauge/BatteryStatusFeatureProvider.java
index 46f00c7..b6b3b35 100644
--- a/src/com/android/settings/fuelgauge/BatteryStatusFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/BatteryStatusFeatureProvider.java
@@ -16,14 +16,9 @@
 
 package com.android.settings.fuelgauge;
 
-/**
- * Feature Provider used to retrieve battery status
- */
+/** Feature Provider used to retrieve battery status */
 public interface BatteryStatusFeatureProvider {
 
-    /**
-     * Trigger a battery status update; return false if built-in status should be used.
-     */
-    boolean triggerBatteryStatusUpdate(
-            BatteryPreferenceController controller, BatteryInfo info);
+    /** Trigger a battery status update; return false if built-in status should be used. */
+    boolean triggerBatteryStatusUpdate(BatteryPreferenceController controller, BatteryInfo info);
 }
diff --git a/src/com/android/settings/fuelgauge/BatteryStatusFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/BatteryStatusFeatureProviderImpl.java
index dc4b5db..11c4628 100644
--- a/src/com/android/settings/fuelgauge/BatteryStatusFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/BatteryStatusFeatureProviderImpl.java
@@ -18,9 +18,7 @@
 
 import android.content.Context;
 
-/**
- * Used to override battery status string in Battery Header.
- */
+/** Used to override battery status string in Battery Header. */
 public class BatteryStatusFeatureProviderImpl implements BatteryStatusFeatureProvider {
 
     protected Context mContext;
diff --git a/src/com/android/settings/fuelgauge/BatteryUtils.java b/src/com/android/settings/fuelgauge/BatteryUtils.java
index 1f7e3ec..f846a6c 100644
--- a/src/com/android/settings/fuelgauge/BatteryUtils.java
+++ b/src/com/android/settings/fuelgauge/BatteryUtils.java
@@ -22,17 +22,14 @@
 import android.content.pm.InstallSourceInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.os.BatteryManager;
 import android.os.BatteryStats;
 import android.os.BatteryStatsManager;
 import android.os.BatteryUsageStats;
 import android.os.BatteryUsageStatsQuery;
 import android.os.Build;
-import android.os.Process;
 import android.os.SystemClock;
 import android.os.UidBatteryConsumer;
-import android.os.UserHandle;
 import android.provider.Settings;
 import android.text.TextUtils;
 import android.text.format.DateUtils;
@@ -47,14 +44,11 @@
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.R;
 import com.android.settings.fuelgauge.batterytip.AnomalyDatabaseHelper;
-import com.android.settings.fuelgauge.batterytip.AnomalyInfo;
 import com.android.settings.fuelgauge.batterytip.BatteryDatabaseManager;
-import com.android.settings.fuelgauge.batterytip.StatsManagerConfig;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.fuelgauge.Estimate;
 import com.android.settingslib.fuelgauge.EstimateKt;
-import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
 import com.android.settingslib.utils.PowerUtil;
 import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.utils.ThreadUtils;
@@ -68,16 +62,16 @@
 import java.time.ZoneId;
 import java.time.format.DateTimeFormatter;
 import java.time.format.FormatStyle;
-import java.util.List;
 
-/**
- * Utils for battery operation
- */
+/** Utils for battery operation */
 public class BatteryUtils {
+    public static final int UID_ZERO = 0;
     public static final int UID_NULL = -1;
     public static final int SDK_NULL = -1;
+
     /** Special UID value for data usage by removed apps. */
     public static final int UID_REMOVED_APPS = -4;
+
     /** Special UID value for data usage by tethering. */
     public static final int UID_TETHERING = -5;
 
@@ -87,13 +81,10 @@
     public static final String BYPASS_DOCK_DEFENDER_ACTION = "battery.dock.defender.bypass";
 
     private static final String GOOGLE_PLAY_STORE_PACKAGE = "com.android.vending";
+    private static final String PACKAGE_NAME_NONE = "none";
 
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({StatusType.SCREEN_USAGE,
-            StatusType.FOREGROUND,
-            StatusType.BACKGROUND,
-            StatusType.ALL
-    })
+    @IntDef({StatusType.SCREEN_USAGE, StatusType.FOREGROUND, StatusType.BACKGROUND, StatusType.ALL})
     public @interface StatusType {
         int SCREEN_USAGE = 0;
         int FOREGROUND = 1;
@@ -102,10 +93,12 @@
     }
 
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({DockDefenderMode.FUTURE_BYPASS,
-            DockDefenderMode.ACTIVE,
-            DockDefenderMode.TEMPORARILY_BYPASSED,
-            DockDefenderMode.DISABLED})
+    @IntDef({
+        DockDefenderMode.FUTURE_BYPASS,
+        DockDefenderMode.ACTIVE,
+        DockDefenderMode.TEMPORARILY_BYPASSED,
+        DockDefenderMode.DISABLED
+    })
     public @interface DockDefenderMode {
         int FUTURE_BYPASS = 0;
         int ACTIVE = 1;
@@ -120,8 +113,7 @@
 
     private AppOpsManager mAppOpsManager;
     private Context mContext;
-    @VisibleForTesting
-    PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+    @VisibleForTesting PowerUsageFeatureProvider mPowerUsageFeatureProvider;
 
     public static BatteryUtils getInstance(Context context) {
         if (sInstance == null || sInstance.isDataCorrupted()) {
@@ -135,12 +127,18 @@
         mContext = context;
         mPackageManager = context.getPackageManager();
         mAppOpsManager = (AppOpsManager) context.getSystemService(Context.APP_OPS_SERVICE);
-        mPowerUsageFeatureProvider = FeatureFactory.getFactory(context)
-                .getPowerUsageFeatureProvider(context);
+        mPowerUsageFeatureProvider =
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
     }
 
-    public long getProcessTimeMs(@StatusType int type, @Nullable BatteryStats.Uid uid,
-            int which) {
+    /** For test to reset single instance. */
+    @VisibleForTesting
+    public void reset() {
+        sInstance = null;
+    }
+
+    /** Gets the process time */
+    public long getProcessTimeMs(@StatusType int type, @Nullable BatteryStats.Uid uid, int which) {
         if (uid == null) {
             return 0;
         }
@@ -184,8 +182,9 @@
 
     private long getProcessBackgroundTimeMs(BatteryStats.Uid uid, int which) {
         final long rawRealTimeUs = PowerUtil.convertMsToUs(SystemClock.elapsedRealtime());
-        final long timeUs = uid.getProcessStateTime(
-                BatteryStats.Uid.PROCESS_STATE_BACKGROUND, rawRealTimeUs, which);
+        final long timeUs =
+                uid.getProcessStateTime(
+                        BatteryStats.Uid.PROCESS_STATE_BACKGROUND, rawRealTimeUs, which);
 
         Log.v(TAG, "package: " + mPackageManager.getNameForUid(uid.getUid()));
         Log.v(TAG, "background time(us): " + timeUs);
@@ -199,17 +198,17 @@
     }
 
     /**
-     * Returns true if the specified battery consumer should be excluded from the summary
-     * battery consumption list.
+     * Returns true if the specified battery consumer should be excluded from the summary battery
+     * consumption list.
      */
     public boolean shouldHideUidBatteryConsumer(UidBatteryConsumer consumer) {
-        return shouldHideUidBatteryConsumer(consumer,
-                mPackageManager.getPackagesForUid(consumer.getUid()));
+        return shouldHideUidBatteryConsumer(
+                consumer, mPackageManager.getPackagesForUid(consumer.getUid()));
     }
 
     /**
-     * Returns true if the specified battery consumer should be excluded from the summary
-     * battery consumption list.
+     * Returns true if the specified battery consumer should be excluded from the summary battery
+     * consumption list.
      */
     public boolean shouldHideUidBatteryConsumer(UidBatteryConsumer consumer, String[] packages) {
         return mPowerUsageFeatureProvider.isTypeSystem(consumer.getUid(), packages)
@@ -217,20 +216,16 @@
     }
 
     /**
-     * Returns true if the specified battery consumer should be excluded from
-     * battery consumption lists, either short or full.
+     * Returns true if the specified battery consumer should be excluded from battery consumption
+     * lists, either short or full.
      */
-    public boolean shouldHideUidBatteryConsumerUnconditionally(UidBatteryConsumer consumer,
-            String[] packages) {
+    public boolean shouldHideUidBatteryConsumerUnconditionally(
+            UidBatteryConsumer consumer, String[] packages) {
         final int uid = consumer.getUid();
-        return uid == UID_TETHERING
-                ? false
-                : uid < 0 || isHiddenSystemModule(packages);
+        return uid == UID_TETHERING ? false : uid < 0 || isHiddenSystemModule(packages);
     }
 
-    /**
-     * Returns true if one the specified packages belongs to a hidden system module.
-     */
+    /** Returns true if one the specified packages belongs to a hidden system module. */
     public boolean isHiddenSystemModule(String[] packages) {
         if (packages != null) {
             for (int i = 0, length = packages.length; i < length; i++) {
@@ -245,14 +240,14 @@
     /**
      * Calculate the power usage percentage for an app
      *
-     * @param powerUsageMah   power used by the app
-     * @param totalPowerMah   total power used in the system
+     * @param powerUsageMah power used by the app
+     * @param totalPowerMah total power used in the system
      * @param dischargeAmount The discharge amount calculated by {@link BatteryStats}
      * @return A percentage value scaled by {@paramref dischargeAmount}
      * @see BatteryStats#getDischargeAmount(int)
      */
-    public double calculateBatteryPercent(double powerUsageMah, double totalPowerMah,
-            int dischargeAmount) {
+    public double calculateBatteryPercent(
+            double powerUsageMah, double totalPowerMah, int dischargeAmount) {
         if (totalPowerMah == 0) {
             return 0;
         }
@@ -264,9 +259,8 @@
      * Find the package name for a {@link android.os.BatteryStats.Uid}
      *
      * @param uid id to get the package name
-     * @return the package name. If there are multiple packages related to
-     * given id, return the first one. Or return null if there are no known
-     * packages with the given id
+     * @return the package name. If there are multiple packages related to given id, return the
+     *     first one. Or return null if there are no known packages with the given id
      * @see PackageManager#getPackagesForUid(int)
      */
     public String getPackageName(int uid) {
@@ -282,8 +276,8 @@
      */
     public int getTargetSdkVersion(final String packageName) {
         try {
-            ApplicationInfo info = mPackageManager.getApplicationInfo(packageName,
-                    PackageManager.GET_META_DATA);
+            ApplicationInfo info =
+                    mPackageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA);
 
             return info.targetSdkVersion;
         } catch (PackageManager.NameNotFoundException e) {
@@ -293,28 +287,26 @@
         return SDK_NULL;
     }
 
-    /**
-     * Check whether background restriction is enabled
-     */
-    public boolean isBackgroundRestrictionEnabled(final int targetSdkVersion, final int uid,
-            final String packageName) {
+    /** Check whether background restriction is enabled */
+    public boolean isBackgroundRestrictionEnabled(
+            final int targetSdkVersion, final int uid, final String packageName) {
         if (targetSdkVersion >= Build.VERSION_CODES.O) {
             return true;
         }
-        final int mode = mAppOpsManager
-                .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, uid, packageName);
+        final int mode =
+                mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, uid, packageName);
         return mode == AppOpsManager.MODE_IGNORED || mode == AppOpsManager.MODE_ERRORED;
     }
 
     /**
      * Calculate the time since last full charge, including the device off time
      *
-     * @param batteryUsageStats  class that contains the data
-     * @param currentTimeMs      current wall time
+     * @param batteryUsageStats class that contains the data
+     * @param currentTimeMs current wall time
      * @return time in millis
      */
-    public long calculateLastFullChargeTime(BatteryUsageStats batteryUsageStats,
-            long currentTimeMs) {
+    public long calculateLastFullChargeTime(
+            BatteryUsageStats batteryUsageStats, long currentTimeMs) {
         return currentTimeMs - batteryUsageStats.getStatsStartTimestamp();
     }
 
@@ -322,9 +314,7 @@
         Log.d(tag, message + ": " + (System.currentTimeMillis() - startTime) + "ms");
     }
 
-    /**
-     * Return {@code true} if battery defender is on and charging.
-     */
+    /** Return {@code true} if battery defender is on and charging. */
     public static boolean isBatteryDefenderOn(BatteryInfo batteryInfo) {
         return batteryInfo.isBatteryDefender && !batteryInfo.discharging;
     }
@@ -333,13 +323,33 @@
      * Find package uid from package name
      *
      * @param packageName used to find the uid
-     * @return uid for packageName, or {@link #UID_NULL} if exception happens or
-     * {@code packageName} is null
+     * @return uid for packageName, or {@link #UID_NULL} if exception happens or {@code packageName}
+     *     is null
      */
     public int getPackageUid(String packageName) {
         try {
-            return packageName == null ? UID_NULL : mPackageManager.getPackageUid(packageName,
-                    PackageManager.GET_META_DATA);
+            return packageName == null
+                    ? UID_NULL
+                    : mPackageManager.getPackageUid(packageName, PackageManager.GET_META_DATA);
+        } catch (PackageManager.NameNotFoundException e) {
+            return UID_NULL;
+        }
+    }
+
+    /**
+     * Find package uid from package name
+     *
+     * @param packageName used to find the uid
+     * @param userId The user handle identifier to look up the package under
+     * @return uid for packageName, or {@link #UID_NULL} if exception happens or {@code packageName}
+     *     is null
+     */
+    public int getPackageUidAsUser(String packageName, int userId) {
+        try {
+            return packageName == null
+                    ? UID_NULL
+                    : mPackageManager.getPackageUidAsUser(
+                            packageName, PackageManager.GET_META_DATA, userId);
         } catch (PackageManager.NameNotFoundException e) {
             return UID_NULL;
         }
@@ -359,16 +369,18 @@
             return (T) protoClass.getDefaultInstanceForType();
         }
         try {
-            return (T) protoClass.getParserForType()
-                    .parseFrom(Base64.decode(serializedProto, Base64.DEFAULT));
+            return (T)
+                    protoClass
+                            .getParserForType()
+                            .parseFrom(Base64.decode(serializedProto, Base64.DEFAULT));
         } catch (InvalidProtocolBufferException e) {
             Log.e(TAG, "Failed to deserialize proto class", e);
             return (T) protoClass.getDefaultInstanceForType();
         }
     }
 
-    public void setForceAppStandby(int uid, String packageName,
-            int mode) {
+    /** Sets force app standby mode */
+    public void setForceAppStandby(int uid, String packageName, int mode) {
         final boolean isPreOApp = isPreOApp(packageName);
         if (isPreOApp) {
             // Control whether app could run in the background if it is pre O app
@@ -377,22 +389,27 @@
         // Control whether app could run jobs in the background
         mAppOpsManager.setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, uid, packageName, mode);
 
-        ThreadUtils.postOnBackgroundThread(() -> {
-            final BatteryDatabaseManager batteryDatabaseManager = BatteryDatabaseManager
-                    .getInstance(mContext);
-            if (mode == AppOpsManager.MODE_IGNORED) {
-                batteryDatabaseManager.insertAction(AnomalyDatabaseHelper.ActionType.RESTRICTION,
-                        uid, packageName, System.currentTimeMillis());
-            } else if (mode == AppOpsManager.MODE_ALLOWED) {
-                batteryDatabaseManager.deleteAction(AnomalyDatabaseHelper.ActionType.RESTRICTION,
-                        uid, packageName);
-            }
-        });
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    final BatteryDatabaseManager batteryDatabaseManager =
+                            BatteryDatabaseManager.getInstance(mContext);
+                    if (mode == AppOpsManager.MODE_IGNORED) {
+                        batteryDatabaseManager.insertAction(
+                                AnomalyDatabaseHelper.ActionType.RESTRICTION,
+                                uid,
+                                packageName,
+                                System.currentTimeMillis());
+                    } else if (mode == AppOpsManager.MODE_ALLOWED) {
+                        batteryDatabaseManager.deleteAction(
+                                AnomalyDatabaseHelper.ActionType.RESTRICTION, uid, packageName);
+                    }
+                });
     }
 
     public boolean isForceAppStandbyEnabled(int uid, String packageName) {
-        return mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, uid,
-                packageName) == AppOpsManager.MODE_IGNORED;
+        return mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, uid, packageName)
+                == AppOpsManager.MODE_IGNORED;
     }
 
     public boolean clearForceAppStandby(String packageName) {
@@ -407,12 +424,13 @@
 
     @WorkerThread
     public BatteryInfo getBatteryInfo(final String tag) {
-        final BatteryStatsManager systemService = mContext.getSystemService(
-                BatteryStatsManager.class);
+        final BatteryStatsManager systemService =
+                mContext.getSystemService(BatteryStatsManager.class);
         BatteryUsageStats batteryUsageStats;
         try {
-            batteryUsageStats = systemService.getBatteryUsageStats(
-                    new BatteryUsageStatsQuery.Builder().includeBatteryHistory().build());
+            batteryUsageStats =
+                    systemService.getBatteryUsageStats(
+                            new BatteryUsageStatsQuery.Builder().includeBatteryHistory().build());
         } catch (RuntimeException e) {
             Log.e(TAG, "getBatteryInfo() error from getBatteryUsageStats()", e);
             // Use default BatteryUsageStats.
@@ -424,23 +442,29 @@
         // Stuff we always need to get BatteryInfo
         final Intent batteryBroadcast = getBatteryIntent(mContext);
 
-        final long elapsedRealtimeUs = PowerUtil.convertMsToUs(
-                SystemClock.elapsedRealtime());
+        final long elapsedRealtimeUs = PowerUtil.convertMsToUs(SystemClock.elapsedRealtime());
 
         BatteryInfo batteryInfo;
         Estimate estimate = getEnhancedEstimate();
 
         // couldn't get estimate from cache or provider, use fallback
         if (estimate == null) {
-            estimate = new Estimate(
-                    batteryUsageStats.getBatteryTimeRemainingMs(),
-                    false /* isBasedOnUsage */,
-                    EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
+            estimate =
+                    new Estimate(
+                            batteryUsageStats.getBatteryTimeRemainingMs(),
+                            false /* isBasedOnUsage */,
+                            EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
         }
 
         BatteryUtils.logRuntime(tag, "BatteryInfoLoader post query", startTime);
-        batteryInfo = BatteryInfo.getBatteryInfo(mContext, batteryBroadcast,
-                batteryUsageStats, estimate, elapsedRealtimeUs, false /* shortString */);
+        batteryInfo =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        batteryBroadcast,
+                        batteryUsageStats,
+                        estimate,
+                        elapsedRealtimeUs,
+                        false /* shortString */);
         BatteryUtils.logRuntime(tag, "BatteryInfoLoader.loadInBackground", startTime);
 
         try {
@@ -455,9 +479,9 @@
     Estimate getEnhancedEstimate() {
         // Align the same logic in the BatteryControllerImpl.updateEstimate()
         Estimate estimate = Estimate.getCachedEstimateIfAvailable(mContext);
-        if (estimate == null &&
-                mPowerUsageFeatureProvider != null &&
-                mPowerUsageFeatureProvider.isEnhancedBatteryPredictionEnabled(mContext)) {
+        if (estimate == null
+                && mPowerUsageFeatureProvider != null
+                && mPowerUsageFeatureProvider.isEnhancedBatteryPredictionEnabled(mContext)) {
             estimate = mPowerUsageFeatureProvider.getEnhancedBatteryPrediction(mContext);
             if (estimate != null) {
                 Estimate.storeCachedEstimate(mContext, estimate);
@@ -492,8 +516,8 @@
 
     public boolean isPreOApp(final String packageName) {
         try {
-            ApplicationInfo info = mPackageManager.getApplicationInfo(packageName,
-                    PackageManager.GET_META_DATA);
+            ApplicationInfo info =
+                    mPackageManager.getApplicationInfo(packageName, PackageManager.GET_META_DATA);
 
             return info.targetSdkVersion < Build.VERSION_CODES.O;
         } catch (PackageManager.NameNotFoundException e) {
@@ -518,80 +542,13 @@
     }
 
     /**
-     * Return {@code true} if we should hide anomaly app represented by {@code uid}
-     */
-    public boolean shouldHideAnomaly(PowerAllowlistBackend powerAllowlistBackend, int uid,
-            AnomalyInfo anomalyInfo) {
-        final String[] packageNames = mPackageManager.getPackagesForUid(uid);
-        if (ArrayUtils.isEmpty(packageNames)) {
-            // Don't show it if app has been uninstalled
-            return true;
-        }
-
-        return isSystemUid(uid) || powerAllowlistBackend.isAllowlisted(packageNames, uid)
-                || (isSystemApp(mPackageManager, packageNames) && !hasLauncherEntry(packageNames))
-                || (isExcessiveBackgroundAnomaly(anomalyInfo) && !isPreOApp(packageNames));
-    }
-
-    private boolean isExcessiveBackgroundAnomaly(AnomalyInfo anomalyInfo) {
-        return anomalyInfo.anomalyType
-                == StatsManagerConfig.AnomalyType.EXCESSIVE_BACKGROUND_SERVICE;
-    }
-
-    private boolean isSystemUid(int uid) {
-        final int appUid = UserHandle.getAppId(uid);
-        return appUid >= Process.ROOT_UID && appUid < Process.FIRST_APPLICATION_UID;
-    }
-
-    private boolean isSystemApp(PackageManager packageManager, String[] packageNames) {
-        for (String packageName : packageNames) {
-            try {
-                final ApplicationInfo info = packageManager.getApplicationInfo(packageName,
-                        0 /* flags */);
-                if ((info.flags & ApplicationInfo.FLAG_SYSTEM) != 0) {
-                    return true;
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-                Log.e(TAG, "Package not found: " + packageName, e);
-            }
-        }
-
-        return false;
-    }
-
-    private boolean hasLauncherEntry(String[] packageNames) {
-        final Intent launchIntent = new Intent(Intent.ACTION_MAIN, null);
-        launchIntent.addCategory(Intent.CATEGORY_LAUNCHER);
-
-        // If we do not specify MATCH_DIRECT_BOOT_AWARE or
-        // MATCH_DIRECT_BOOT_UNAWARE, system will derive and update the flags
-        // according to the user's lock state. When the user is locked,
-        // components
-        // with ComponentInfo#directBootAware == false will be filtered. We should
-        // explicitly include both direct boot aware and unaware components here.
-        final List<ResolveInfo> resolveInfos = mPackageManager.queryIntentActivities(launchIntent,
-                PackageManager.MATCH_DISABLED_COMPONENTS
-                        | PackageManager.MATCH_DIRECT_BOOT_AWARE
-                        | PackageManager.MATCH_DIRECT_BOOT_UNAWARE
-                        | PackageManager.MATCH_SYSTEM_ONLY);
-        for (int i = 0, size = resolveInfos.size(); i < size; i++) {
-            final ResolveInfo resolveInfo = resolveInfos.get(i);
-            if (ArrayUtils.contains(packageNames, resolveInfo.activityInfo.packageName)) {
-                return true;
-            }
-        }
-
-        return false;
-    }
-
-    /**
      * Return version number of an app represented by {@code packageName}, and return -1 if not
      * found.
      */
     public long getAppLongVersionCode(String packageName) {
         try {
-            final PackageInfo packageInfo = mPackageManager.getPackageInfo(packageName,
-                    0 /* flags */);
+            final PackageInfo packageInfo =
+                    mPackageManager.getPackageInfo(packageName, 0 /* flags */);
             return packageInfo.getLongVersionCode();
         } catch (PackageManager.NameNotFoundException e) {
             Log.e(TAG, "Cannot find package: " + packageName, e);
@@ -615,6 +572,13 @@
                 && GOOGLE_PLAY_STORE_PACKAGE.equals(installSourceInfo.getInitiatingPackageName());
     }
 
+    /** Gets the logging package name. */
+    public static String getLoggingPackageName(Context context, String originalPackingName) {
+        return BatteryUtils.isAppInstalledFromGooglePlayStore(context, originalPackingName)
+                ? originalPackingName
+                : PACKAGE_NAME_NONE;
+    }
+
     /** Gets the latest sticky battery intent from the Android system. */
     public static Intent getBatteryIntent(Context context) {
         return com.android.settingslib.fuelgauge.BatteryUtils.getBatteryIntent(context);
@@ -623,12 +587,14 @@
     /** Gets the current dock defender mode */
     public static int getCurrentDockDefenderMode(Context context, BatteryInfo batteryInfo) {
         if (batteryInfo.pluggedStatus == BatteryManager.BATTERY_PLUGGED_DOCK) {
-            if (Settings.Global.getInt(context.getContentResolver(),
-                    SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0) == 1) {
+            if (Settings.Global.getInt(
+                            context.getContentResolver(), SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0)
+                    == 1) {
                 return DockDefenderMode.TEMPORARILY_BYPASSED;
-            } else if (batteryInfo.isBatteryDefender && FeatureFactory.getFactory(context)
-                    .getPowerUsageFeatureProvider(context)
-                    .isExtraDefend()) {
+            } else if (batteryInfo.isBatteryDefender
+                    && FeatureFactory.getFeatureFactory()
+                            .getPowerUsageFeatureProvider()
+                            .isExtraDefend()) {
                 return DockDefenderMode.ACTIVE;
             } else if (!batteryInfo.isBatteryDefender) {
                 return DockDefenderMode.FUTURE_BYPASS;
@@ -637,59 +603,82 @@
         return DockDefenderMode.DISABLED;
     }
 
-    /** Formats elapsed time without commas in between.  */
+    /** Formats elapsed time without commas in between. */
     public static CharSequence formatElapsedTimeWithoutComma(
             Context context, double millis, boolean withSeconds, boolean collapseTimeUnit) {
         return StringUtil.formatElapsedTime(context, millis, withSeconds, collapseTimeUnit)
-                .toString().replaceAll(",", "");
+                .toString()
+                .replaceAll(",", "");
     }
 
     /** Builds the battery usage time summary. */
-    public static String buildBatteryUsageTimeSummary(final Context context, final boolean isSystem,
-            final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
+    public static String buildBatteryUsageTimeSummary(
+            final Context context,
+            final boolean isSystem,
+            final long foregroundUsageTimeInMs,
+            final long backgroundUsageTimeInMs,
             final long screenOnTimeInMs) {
         StringBuilder summary = new StringBuilder();
         if (isSystem) {
             final long totalUsageTimeInMs = foregroundUsageTimeInMs + backgroundUsageTimeInMs;
             if (totalUsageTimeInMs != 0) {
-                summary.append(buildBatteryUsageTimeInfo(context, totalUsageTimeInMs,
-                        R.string.battery_usage_total_less_than_one_minute,
-                        R.string.battery_usage_for_total_time));
+                summary.append(
+                        buildBatteryUsageTimeInfo(
+                                context,
+                                totalUsageTimeInMs,
+                                R.string.battery_usage_total_less_than_one_minute,
+                                R.string.battery_usage_for_total_time));
             }
         } else {
             if (screenOnTimeInMs != 0) {
-                summary.append(buildBatteryUsageTimeInfo(context, screenOnTimeInMs,
-                        R.string.battery_usage_screen_time_less_than_one_minute,
-                        R.string.battery_usage_screen_time));
+                summary.append(
+                        buildBatteryUsageTimeInfo(
+                                context,
+                                screenOnTimeInMs,
+                                R.string.battery_usage_screen_time_less_than_one_minute,
+                                R.string.battery_usage_screen_time));
             }
             if (screenOnTimeInMs != 0 && backgroundUsageTimeInMs != 0) {
                 summary.append('\n');
             }
             if (backgroundUsageTimeInMs != 0) {
-                summary.append(buildBatteryUsageTimeInfo(context, backgroundUsageTimeInMs,
-                        R.string.battery_usage_background_less_than_one_minute,
-                        R.string.battery_usage_for_background_time));
+                summary.append(
+                        buildBatteryUsageTimeInfo(
+                                context,
+                                backgroundUsageTimeInMs,
+                                R.string.battery_usage_background_less_than_one_minute,
+                                R.string.battery_usage_for_background_time));
             }
         }
         return summary.toString();
     }
+
     /** Format the date of battery related info */
     public static CharSequence getBatteryInfoFormattedDate(long dateInMs) {
         final Instant instant = Instant.ofEpochMilli(dateInMs);
-        final String localDate = instant.atZone(ZoneId.systemDefault()).toLocalDate().format(
-                DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG));
+        final String localDate =
+                instant.atZone(ZoneId.systemDefault())
+                        .toLocalDate()
+                        .format(DateTimeFormatter.ofLocalizedDate(FormatStyle.LONG));
 
         return localDate;
     }
 
     /** Builds the battery usage time information for one timestamp. */
-    private static String buildBatteryUsageTimeInfo(final Context context, long timeInMs,
-            final int lessThanOneMinuteResId, final int normalResId) {
+    private static String buildBatteryUsageTimeInfo(
+            final Context context,
+            long timeInMs,
+            final int lessThanOneMinuteResId,
+            final int normalResId) {
         if (timeInMs < DateUtils.MINUTE_IN_MILLIS) {
             return context.getString(lessThanOneMinuteResId);
         }
-        final CharSequence timeSequence = formatElapsedTimeWithoutComma(
-                context, (double) timeInMs, /*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
+        final CharSequence timeSequence =
+                formatElapsedTimeWithoutComma(
+                        context,
+                        (double) timeInMs,
+                        /* withSeconds= */ false,
+                        /* collapseTimeUnit= */ false);
         return context.getString(normalResId, timeSequence);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java b/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java
index 62f2780..a68a4de 100644
--- a/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java
+++ b/src/com/android/settings/fuelgauge/DebugEstimatesLoader.java
@@ -40,40 +40,48 @@
     }
 
     @Override
-    protected void onDiscardResult(List<BatteryInfo> result) {
-
-    }
+    protected void onDiscardResult(List<BatteryInfo> result) {}
 
     @Override
     public List<BatteryInfo> loadInBackground() {
         Context context = getContext();
         PowerUsageFeatureProvider powerUsageFeatureProvider =
-                FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context);
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
 
         // get stuff we'll need for both BatteryInfo
-        final long elapsedRealtimeUs = PowerUtil.convertMsToUs(
-                SystemClock.elapsedRealtime());
-        Intent batteryBroadcast = getContext().registerReceiver(null,
-                new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+        final long elapsedRealtimeUs = PowerUtil.convertMsToUs(SystemClock.elapsedRealtime());
+        Intent batteryBroadcast =
+                getContext()
+                        .registerReceiver(null, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
         BatteryUsageStats batteryUsageStats;
         try {
-            batteryUsageStats = context.getSystemService(BatteryStatsManager.class)
-                    .getBatteryUsageStats();
+            batteryUsageStats =
+                    context.getSystemService(BatteryStatsManager.class).getBatteryUsageStats();
         } catch (RuntimeException e) {
             Log.e(TAG, "getBatteryInfo() from getBatteryUsageStats()", e);
             // Use default BatteryUsageStats.
             batteryUsageStats = new BatteryUsageStats.Builder(new String[0]).build();
         }
-        BatteryInfo oldinfo = BatteryInfo.getBatteryInfoOld(getContext(), batteryBroadcast,
-                batteryUsageStats, elapsedRealtimeUs, false);
+        BatteryInfo oldinfo =
+                BatteryInfo.getBatteryInfoOld(
+                        getContext(),
+                        batteryBroadcast,
+                        batteryUsageStats,
+                        elapsedRealtimeUs,
+                        false);
 
         Estimate estimate = powerUsageFeatureProvider.getEnhancedBatteryPrediction(context);
         if (estimate == null) {
             estimate = new Estimate(0, false, EstimateKt.AVERAGE_TIME_TO_DISCHARGE_UNKNOWN);
         }
-        BatteryInfo newInfo = BatteryInfo.getBatteryInfo(getContext(), batteryBroadcast,
-                batteryUsageStats,
-                estimate, elapsedRealtimeUs, false);
+        BatteryInfo newInfo =
+                BatteryInfo.getBatteryInfo(
+                        getContext(),
+                        batteryBroadcast,
+                        batteryUsageStats,
+                        estimate,
+                        elapsedRealtimeUs,
+                        false);
 
         List<BatteryInfo> infos = new ArrayList<>();
         infos.add(oldinfo);
diff --git a/src/com/android/settings/fuelgauge/HighPowerDetail.java b/src/com/android/settings/fuelgauge/HighPowerDetail.java
index f3a188f..b2585a6 100644
--- a/src/com/android/settings/fuelgauge/HighPowerDetail.java
+++ b/src/com/android/settings/fuelgauge/HighPowerDetail.java
@@ -40,23 +40,18 @@
 import com.android.settingslib.applications.ApplicationsState.AppEntry;
 import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
 
-public class HighPowerDetail extends InstrumentedDialogFragment implements OnClickListener,
-        View.OnClickListener {
+public class HighPowerDetail extends InstrumentedDialogFragment
+        implements OnClickListener, View.OnClickListener {
 
     private static final String ARG_DEFAULT_ON = "default_on";
 
-    @VisibleForTesting
-    PowerAllowlistBackend mBackend;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
-    @VisibleForTesting
-    String mPackageName;
-    @VisibleForTesting
-    int mPackageUid;
+    @VisibleForTesting PowerAllowlistBackend mBackend;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
+    @VisibleForTesting String mPackageName;
+    @VisibleForTesting int mPackageUid;
     private CharSequence mLabel;
     private boolean mDefaultOn;
-    @VisibleForTesting
-    boolean mIsEnabled;
+    @VisibleForTesting boolean mIsEnabled;
     private Checkable mOptionOn;
     private Checkable mOptionOff;
 
@@ -85,10 +80,13 @@
     }
 
     public Checkable setup(View view, boolean on) {
-        ((TextView) view.findViewById(android.R.id.title)).setText(on
-                ? R.string.ignore_optimizations_on : R.string.ignore_optimizations_off);
-        ((TextView) view.findViewById(android.R.id.summary)).setText(on
-                ? R.string.ignore_optimizations_on_desc : R.string.ignore_optimizations_off_desc);
+        ((TextView) view.findViewById(android.R.id.title))
+                .setText(on ? R.string.ignore_optimizations_on : R.string.ignore_optimizations_off);
+        ((TextView) view.findViewById(android.R.id.summary))
+                .setText(
+                        on
+                                ? R.string.ignore_optimizations_on_desc
+                                : R.string.ignore_optimizations_off_desc);
         view.setClickable(true);
         view.setOnClickListener(this);
         if (!on && mBackend.isSysAllowlisted(mPackageName)) {
@@ -99,10 +97,11 @@
 
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
-        AlertDialog.Builder b = new AlertDialog.Builder(getContext())
-                .setTitle(mLabel)
-                .setNegativeButton(R.string.cancel, null)
-                .setView(R.layout.ignore_optimizations_content);
+        AlertDialog.Builder b =
+                new AlertDialog.Builder(getContext())
+                        .setTitle(mLabel)
+                        .setNegativeButton(R.string.cancel, null)
+                        .setView(R.layout.ignore_optimizations_content);
         if (!mBackend.isSysAllowlisted(mPackageName)) {
             b.setPositiveButton(R.string.done, this);
         }
@@ -141,8 +140,8 @@
             if (newValue != oldValue) {
                 logSpecialPermissionChange(newValue, mPackageName, getContext());
                 if (newValue) {
-                    mBatteryUtils.setForceAppStandby(mPackageUid, mPackageName,
-                            AppOpsManager.MODE_ALLOWED);
+                    mBatteryUtils.setForceAppStandby(
+                            mPackageUid, mPackageName, AppOpsManager.MODE_ALLOWED);
                     mBackend.addApp(mPackageName);
                 } else {
                     mBackend.removeApp(mPackageName);
@@ -153,10 +152,13 @@
 
     @VisibleForTesting
     static void logSpecialPermissionChange(boolean allowlist, String packageName, Context context) {
-        int logCategory = allowlist ? SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_DENY
-                : SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_ALLOW;
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context, logCategory,
-                packageName);
+        int logCategory =
+                allowlist
+                        ? SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_DENY
+                        : SettingsEnums.APP_SPECIAL_PERMISSION_BATTERY_ALLOW;
+        FeatureFactory.getFeatureFactory()
+                .getMetricsFeatureProvider()
+                .action(context, logCategory, packageName);
     }
 
     @Override
@@ -177,8 +179,8 @@
     }
 
     @VisibleForTesting
-    static CharSequence getSummary(Context context, PowerAllowlistBackend powerAllowlist,
-            String pkg, int uid) {
+    static CharSequence getSummary(
+            Context context, PowerAllowlistBackend powerAllowlist, String pkg, int uid) {
         return context.getString(
                 powerAllowlist.isSysAllowlisted(pkg) || powerAllowlist.isDefaultActiveApp(pkg, uid)
                         ? R.string.high_power_system
diff --git a/src/com/android/settings/fuelgauge/InactiveApps.java b/src/com/android/settings/fuelgauge/InactiveApps.java
index 284e5be..465a9d8 100644
--- a/src/com/android/settings/fuelgauge/InactiveApps.java
+++ b/src/com/android/settings/fuelgauge/InactiveApps.java
@@ -47,15 +47,16 @@
 public class InactiveApps extends SettingsPreferenceFragment
         implements Preference.OnPreferenceChangeListener {
 
-    private static final CharSequence[] FULL_SETTABLE_BUCKETS_NAMES =
-            {"ACTIVE", "WORKING_SET", "FREQUENT", "RARE", "RESTRICTED"};
+    private static final CharSequence[] FULL_SETTABLE_BUCKETS_NAMES = {
+        "ACTIVE", "WORKING_SET", "FREQUENT", "RARE", "RESTRICTED"
+    };
 
     private static final CharSequence[] FULL_SETTABLE_BUCKETS_VALUES = {
-            Integer.toString(STANDBY_BUCKET_ACTIVE),
-            Integer.toString(STANDBY_BUCKET_WORKING_SET),
-            Integer.toString(STANDBY_BUCKET_FREQUENT),
-            Integer.toString(STANDBY_BUCKET_RARE),
-            Integer.toString(STANDBY_BUCKET_RESTRICTED)
+        Integer.toString(STANDBY_BUCKET_ACTIVE),
+        Integer.toString(STANDBY_BUCKET_WORKING_SET),
+        Integer.toString(STANDBY_BUCKET_FREQUENT),
+        Integer.toString(STANDBY_BUCKET_RARE),
+        Integer.toString(STANDBY_BUCKET_RESTRICTED)
     };
 
     private UsageStatsManager mUsageStats;
@@ -71,7 +72,7 @@
 
         mUsageStats = getActivity().getSystemService(UsageStatsManager.class);
         addPreferencesFromResource(R.xml.placeholder_preference_screen);
-        getActivity().setTitle(R.string.inactive_apps_title);
+        getActivity().setTitle(com.android.settingslib.R.string.inactive_apps_title);
     }
 
     @Override
@@ -118,7 +119,7 @@
             return possibleBuckets;
         }
         if (minBucket < STANDBY_BUCKET_ACTIVE) {
-            return new CharSequence[]{};
+            return new CharSequence[] {};
         }
         // Use FULL_SETTABLE_BUCKETS_VALUES since we're searching using the int value. The index
         // should apply no matter which array we're going to copy from.
@@ -133,13 +134,20 @@
 
     static String bucketToName(int bucket) {
         switch (bucket) {
-            case STANDBY_BUCKET_EXEMPTED: return "EXEMPTED";
-            case STANDBY_BUCKET_ACTIVE: return "ACTIVE";
-            case STANDBY_BUCKET_WORKING_SET: return "WORKING_SET";
-            case STANDBY_BUCKET_FREQUENT: return "FREQUENT";
-            case STANDBY_BUCKET_RARE: return "RARE";
-            case STANDBY_BUCKET_RESTRICTED: return "RESTRICTED";
-            case STANDBY_BUCKET_NEVER: return "NEVER";
+            case STANDBY_BUCKET_EXEMPTED:
+                return "EXEMPTED";
+            case STANDBY_BUCKET_ACTIVE:
+                return "ACTIVE";
+            case STANDBY_BUCKET_WORKING_SET:
+                return "WORKING_SET";
+            case STANDBY_BUCKET_FREQUENT:
+                return "FREQUENT";
+            case STANDBY_BUCKET_RARE:
+                return "RARE";
+            case STANDBY_BUCKET_RESTRICTED:
+                return "RESTRICTED";
+            case STANDBY_BUCKET_NEVER:
+                return "NEVER";
         }
         return "";
     }
@@ -148,12 +156,13 @@
         final Resources res = getActivity().getResources();
         final int appBucket = mUsageStats.getAppStandbyBucket(p.getKey());
         final String bucketName = bucketToName(appBucket);
-        p.setSummary(res.getString(R.string.standby_bucket_summary, bucketName));
+        p.setSummary(
+                res.getString(com.android.settingslib.R.string.standby_bucket_summary, bucketName));
         // Buckets outside of the range of the dynamic ones are only used for special
         // purposes and can either not be changed out of, or might have undesirable
         // side-effects in combination with other assumptions.
-        final boolean changeable = appBucket >= STANDBY_BUCKET_ACTIVE
-                && appBucket <= STANDBY_BUCKET_RESTRICTED;
+        final boolean changeable =
+                appBucket >= STANDBY_BUCKET_ACTIVE && appBucket <= STANDBY_BUCKET_RESTRICTED;
         if (changeable) {
             p.setValue(Integer.toString(appBucket));
         }
diff --git a/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java b/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
index ca75b0e..a26ab7a 100644
--- a/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/OptimizedPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
-import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -31,7 +30,7 @@
 
     private static final String TAG = "OPTIMIZED_PREF";
 
-    @VisibleForTesting String KEY_OPTIMIZED_PREF = "optimized_pref";
+    @VisibleForTesting static final String KEY_OPTIMIZED_PREF = "optimized_preference";
     @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     public OptimizedPreferenceController(Context context, int uid, String packageName) {
@@ -46,24 +45,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
-            Log.d(TAG, "disable preference for " + mBatteryOptimizeUtils.getPackageName());
-            preference.setEnabled(true);
-            ((SelectorWithWidgetPreference) preference).setChecked(true);
-            return;
-        }
+        preference.setEnabled(mBatteryOptimizeUtils.isSelectorPreferenceEnabled());
 
-        if (mBatteryOptimizeUtils.getAppOptimizationMode()
-                == BatteryOptimizeUtils.MODE_OPTIMIZED) {
-            Log.d(TAG, "is optimized states");
-            ((SelectorWithWidgetPreference) preference).setChecked(true);
-        } else {
-            ((SelectorWithWidgetPreference) preference).setChecked(false);
-            if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
-                Log.d(TAG, "is system or default app, disable pref");
-                preference.setEnabled(false);
-            }
-        }
+        final boolean isOptimized =
+                mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()
+                        || mBatteryOptimizeUtils.getAppOptimizationMode()
+                                == BatteryOptimizeUtils.MODE_OPTIMIZED;
+        ((SelectorWithWidgetPreference) preference).setChecked(isOptimized);
     }
 
     @Override
diff --git a/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
new file mode 100644
index 0000000..2067456
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetail.java
@@ -0,0 +1,338 @@
+/*
+ * 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;
+
+import static com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
+
+import android.app.Activity;
+import android.app.backup.BackupManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.view.View;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.HelpUtils;
+import com.android.settingslib.applications.AppUtils;
+import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.LayoutPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
+/** Allow background usage fragment for each app */
+public class PowerBackgroundUsageDetail extends DashboardFragment
+        implements SelectorWithWidgetPreference.OnClickListener, OnCheckedChangeListener {
+    private static final String TAG = "PowerBackgroundUsageDetail";
+
+    public static final String EXTRA_UID = "extra_uid";
+    public static final String EXTRA_PACKAGE_NAME = "extra_package_name";
+    public static final String EXTRA_LABEL = "extra_label";
+    public static final String EXTRA_POWER_USAGE_AMOUNT = "extra_power_usage_amount";
+    public static final String EXTRA_ICON_ID = "extra_icon_id";
+    private static final String KEY_PREF_HEADER = "header_view";
+    private static final String KEY_PREF_UNRESTRICTED = "unrestricted_preference";
+    private static final String KEY_PREF_OPTIMIZED = "optimized_preference";
+    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
+    private static final String KEY_FOOTER_PREFERENCE = "app_usage_footer_preference";
+
+    private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
+
+    @VisibleForTesting LayoutPreference mHeaderPreference;
+    @VisibleForTesting ApplicationsState mState;
+    @VisibleForTesting ApplicationsState.AppEntry mAppEntry;
+    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @VisibleForTesting SelectorWithWidgetPreference mOptimizePreference;
+    @VisibleForTesting SelectorWithWidgetPreference mUnrestrictedPreference;
+    @VisibleForTesting MainSwitchPreference mMainSwitchPreference;
+    @VisibleForTesting FooterPreference mFooterPreference;
+    @VisibleForTesting BackupManager mBackupManager;
+    @VisibleForTesting StringBuilder mLogStringBuilder;
+
+    @VisibleForTesting @BatteryOptimizeUtils.OptimizationMode
+    int mOptimizationMode = BatteryOptimizeUtils.MODE_UNKNOWN;
+
+    @Override
+    public void onAttach(Activity activity) {
+        super.onAttach(activity);
+
+        mState = ApplicationsState.getInstance(getActivity().getApplication());
+    }
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        super.onCreate(icicle);
+
+        final String packageName = getArguments().getString(EXTRA_PACKAGE_NAME);
+        onCreateBackgroundUsageState(packageName);
+        mHeaderPreference = findPreference(KEY_PREF_HEADER);
+
+        if (packageName != null) {
+            mAppEntry = mState.getEntry(packageName, UserHandle.myUserId());
+        }
+    }
+
+    @Override
+    public void onResume() {
+        super.onResume();
+        initHeader();
+        mOptimizationMode = mBatteryOptimizeUtils.getAppOptimizationMode();
+        initFooter();
+        mLogStringBuilder = new StringBuilder("onResume mode = ").append(mOptimizationMode);
+    }
+
+    @Override
+    public void onPause() {
+        super.onPause();
+
+        notifyBackupManager();
+        final int currentOptimizeMode = mBatteryOptimizeUtils.getAppOptimizationMode();
+        mLogStringBuilder.append(", onPause mode = ").append(currentOptimizeMode);
+        logMetricCategory(currentOptimizeMode);
+
+        mExecutor.execute(
+                () -> {
+                    BatteryOptimizeLogUtils.writeLog(
+                            getContext().getApplicationContext(),
+                            Action.LEAVE,
+                            BatteryOptimizeLogUtils.getPackageNameWithUserId(
+                                    mBatteryOptimizeUtils.getPackageName(), UserHandle.myUserId()),
+                            mLogStringBuilder.toString());
+                });
+        Log.d(TAG, "Leave with mode: " + currentOptimizeMode);
+    }
+
+    @Override
+    public void onRadioButtonClicked(SelectorWithWidgetPreference selected) {
+        final String selectedKey = selected == null ? null : selected.getKey();
+        updateSelectorPreferenceState(mUnrestrictedPreference, selectedKey);
+        updateSelectorPreferenceState(mOptimizePreference, selectedKey);
+        mBatteryOptimizeUtils.setAppUsageState(getSelectedPreference(), Action.APPLY);
+    }
+
+    @Override
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+        mMainSwitchPreference.setChecked(isChecked);
+        updateSelectorPreference(isChecked);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.FUELGAUGE_POWER_USAGE_MANAGE_BACKGROUND;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        final Bundle bundle = getArguments();
+        final int uid = bundle.getInt(EXTRA_UID, 0);
+        final String packageName = bundle.getString(EXTRA_PACKAGE_NAME);
+
+        controllers.add(new AllowBackgroundPreferenceController(context, uid, packageName));
+        controllers.add(new OptimizedPreferenceController(context, uid, packageName));
+        controllers.add(new UnrestrictedPreferenceController(context, uid, packageName));
+
+        return controllers;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.power_background_usage_detail;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @VisibleForTesting
+    void updateSelectorPreference(boolean isEnabled) {
+        mOptimizePreference.setEnabled(isEnabled);
+        mUnrestrictedPreference.setEnabled(isEnabled);
+        onRadioButtonClicked(isEnabled ? mOptimizePreference : null);
+    }
+
+    @VisibleForTesting
+    void notifyBackupManager() {
+        if (mOptimizationMode != mBatteryOptimizeUtils.getAppOptimizationMode()) {
+            final BackupManager backupManager =
+                    mBackupManager != null ? mBackupManager : new BackupManager(getContext());
+            backupManager.dataChanged();
+        }
+    }
+
+    @VisibleForTesting
+    int getSelectedPreference() {
+        if (!mMainSwitchPreference.isChecked()) {
+            return BatteryOptimizeUtils.MODE_RESTRICTED;
+        } else if (mUnrestrictedPreference.isChecked()) {
+            return BatteryOptimizeUtils.MODE_UNRESTRICTED;
+        } else if (mOptimizePreference.isChecked()) {
+            return BatteryOptimizeUtils.MODE_OPTIMIZED;
+        } else {
+            return BatteryOptimizeUtils.MODE_UNKNOWN;
+        }
+    }
+
+    static void startPowerBackgroundUsageDetailPage(Context context, Bundle args) {
+        new SubSettingLauncher(context)
+                .setDestination(PowerBackgroundUsageDetail.class.getName())
+                .setArguments(args)
+                .setSourceMetricsCategory(SettingsEnums.FUELGAUGE_POWER_USAGE_MANAGE_BACKGROUND)
+                .launch();
+    }
+
+    @VisibleForTesting
+    void initHeader() {
+        final View appSnippet = mHeaderPreference.findViewById(R.id.entity_header);
+        final Activity context = getActivity();
+        final Bundle bundle = getArguments();
+        EntityHeaderController controller =
+                EntityHeaderController.newInstance(context, this, appSnippet)
+                        .setButtonActions(
+                                EntityHeaderController.ActionType.ACTION_NONE,
+                                EntityHeaderController.ActionType.ACTION_NONE);
+
+        if (mAppEntry == null) {
+            controller.setLabel(bundle.getString(EXTRA_LABEL));
+
+            final int iconId = bundle.getInt(EXTRA_ICON_ID, 0);
+            if (iconId == 0) {
+                controller.setIcon(context.getPackageManager().getDefaultActivityIcon());
+            } else {
+                controller.setIcon(context.getDrawable(bundle.getInt(EXTRA_ICON_ID)));
+            }
+        } else {
+            mState.ensureIcon(mAppEntry);
+            controller.setLabel(mAppEntry);
+            controller.setIcon(mAppEntry);
+            controller.setIsInstantApp(AppUtils.isInstant(mAppEntry.info));
+        }
+
+        controller.done(true /* rebindActions */);
+    }
+
+    @VisibleForTesting
+    void initFooter() {
+        final String stateString;
+        final String footerString;
+        final Context context = getContext();
+
+        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
+            // Present optimized only string when the package name is invalid.
+            stateString = context.getString(R.string.manager_battery_usage_optimized_only);
+            footerString =
+                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
+        } else if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
+            // Present unrestricted only string when the package is system or default active app.
+            stateString = context.getString(R.string.manager_battery_usage_unrestricted_only);
+            footerString =
+                    context.getString(R.string.manager_battery_usage_footer_limited, stateString);
+        } else {
+            // Present default string to normal app.
+            footerString = context.getString(R.string.manager_battery_usage_footer);
+        }
+        mFooterPreference.setTitle(footerString);
+        final Intent helpIntent =
+                HelpUtils.getHelpIntent(
+                        context,
+                        context.getString(R.string.help_url_app_usage_settings),
+                        /* backupContext= */ "");
+        if (helpIntent != null) {
+            mFooterPreference.setLearnMoreAction(
+                    v -> startActivityForResult(helpIntent, /* requestCode= */ 0));
+            mFooterPreference.setLearnMoreText(
+                    context.getString(R.string.manager_battery_usage_link_a11y));
+        }
+    }
+
+    private void onCreateBackgroundUsageState(String packageName) {
+        mOptimizePreference = findPreference(KEY_PREF_OPTIMIZED);
+        mUnrestrictedPreference = findPreference(KEY_PREF_UNRESTRICTED);
+        mMainSwitchPreference = findPreference(KEY_ALLOW_BACKGROUND_USAGE);
+        mFooterPreference = findPreference(KEY_FOOTER_PREFERENCE);
+
+        mOptimizePreference.setOnClickListener(this);
+        mUnrestrictedPreference.setOnClickListener(this);
+        mMainSwitchPreference.addOnSwitchChangeListener(this);
+
+        mBatteryOptimizeUtils =
+                new BatteryOptimizeUtils(
+                        getContext(), getArguments().getInt(EXTRA_UID), packageName);
+    }
+
+    private void updateSelectorPreferenceState(
+            SelectorWithWidgetPreference preference, String selectedKey) {
+        preference.setChecked(TextUtils.equals(selectedKey, preference.getKey()));
+    }
+
+    private void logMetricCategory(int currentOptimizeMode) {
+        if (currentOptimizeMode == mOptimizationMode) {
+            return;
+        }
+        int metricCategory = 0;
+        switch (currentOptimizeMode) {
+            case BatteryOptimizeUtils.MODE_UNRESTRICTED:
+                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_UNRESTRICTED;
+                break;
+            case BatteryOptimizeUtils.MODE_OPTIMIZED:
+                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED;
+                break;
+            case BatteryOptimizeUtils.MODE_RESTRICTED:
+                metricCategory = SettingsEnums.ACTION_APP_BATTERY_USAGE_RESTRICTED;
+                break;
+        }
+        if (metricCategory == 0) {
+            return;
+        }
+        int finalMetricCategory = metricCategory;
+        mExecutor.execute(
+                () -> {
+                    String packageName =
+                            BatteryUtils.getLoggingPackageName(
+                                    getContext(), mBatteryOptimizeUtils.getPackageName());
+                    FeatureFactory.getFeatureFactory()
+                            .getMetricsFeatureProvider()
+                            .action(
+                                    /* attribution */ SettingsEnums
+                                            .LEAVE_POWER_USAGE_MANAGE_BACKGROUND,
+                                    /* action */ finalMetricCategory,
+                                    /* pageId */ SettingsEnums
+                                            .FUELGAUGE_POWER_USAGE_MANAGE_BACKGROUND,
+                                    packageName,
+                                    getArguments().getInt(EXTRA_POWER_USAGE_AMOUNT));
+                });
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
index 4253ca6..a04d8f8 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProvider.java
@@ -22,25 +22,20 @@
 import android.util.ArrayMap;
 import android.util.SparseIntArray;
 
+import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
 import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
 import com.android.settingslib.fuelgauge.Estimate;
 
 import java.util.List;
 import java.util.Set;
 
-/**
- * Feature Provider used in power usage
- */
+/** Feature Provider used in power usage */
 public interface PowerUsageFeatureProvider {
 
-    /**
-     * Check whether the battery usage button is enabled in the battery page
-     */
+    /** Check whether the battery usage button is enabled in the battery page */
     boolean isBatteryUsageEnabled();
 
-    /**
-     * Check whether the battery tips card is enabled in the battery usage page
-     */
+    /** Check whether the battery tips card is enabled in the battery usage page */
     boolean isBatteryTipsEnabled();
 
     /**
@@ -48,39 +43,25 @@
      */
     double getBatteryUsageListScreenOnTimeThresholdInMs();
 
-    /**
-     * Returns a threshold (mA) for the minimal comsume power in battery usage list
-     */
+    /** Returns a threshold (mA) for the minimal comsume power in battery usage list */
     double getBatteryUsageListConsumePowerThreshold();
 
-    /**
-     * Returns an allowlist of app names combined into the system-apps item
-     */
+    /** Returns an allowlist of app names combined into the system-apps item */
     List<String> getSystemAppsAllowlist();
 
-    /**
-     * Check whether location setting is enabled
-     */
+    /** Check whether location setting is enabled */
     boolean isLocationSettingEnabled(String[] packages);
 
-    /**
-     * Gets an {@link Intent} to show additional battery info
-     */
+    /** Gets an {@link Intent} to show additional battery info */
     Intent getAdditionalBatteryInfoIntent();
 
-    /**
-     * Check whether it is type service
-     */
+    /** Check whether it is type service */
     boolean isTypeService(int uid);
 
-    /**
-     * Check whether it is type system
-     */
+    /** Check whether it is type system */
     boolean isTypeSystem(int uid, String[] packages);
 
-    /**
-     * Returns an improved prediction for battery time remaining
-     */
+    /** Returns an improved prediction for battery time remaining */
     Estimate getEnhancedBatteryPrediction(Context context);
 
     /**
@@ -90,14 +71,10 @@
      */
     SparseIntArray getEnhancedBatteryPredictionCurve(Context context, long zeroTime);
 
-    /**
-     * Checks whether the toggle for enhanced battery predictions is enabled
-     */
+    /** Checks whether the toggle for enhanced battery predictions is enabled */
     boolean isEnhancedBatteryPredictionEnabled(Context context);
 
-    /**
-     * Checks whether debugging should be enabled for battery estimates
-     */
+    /** Checks whether debugging should be enabled for battery estimates */
     boolean isEstimateDebugEnabled();
 
     /**
@@ -115,88 +92,58 @@
      */
     String getOldEstimateDebugString(String timeRemaining);
 
-    /**
-     * Checks whether smart battery feature is supported in this device
-     */
+    /** Checks whether smart battery feature is supported in this device */
     boolean isSmartBatterySupported();
 
-    /**
-     * Checks whether we should show usage information by slots or not
-     */
+    /** Checks whether we should show usage information by slots or not */
     boolean isChartGraphSlotsEnabled(Context context);
 
-    /**
-     * Returns {@code true} if current defender mode is extra defend
-     */
+    /** Checks whether adaptive charging feature is supported in this device */
+    boolean isAdaptiveChargingSupported();
+
+    /** Checks whether battery manager feature is supported in this device */
+    boolean isBatteryManagerSupported();
+
+    /** Returns {@code true} if current defender mode is extra defend */
     boolean isExtraDefend();
 
-    /**
-     * Returns {@code true} if delay the hourly job when device is booting
-     */
+    /** Returns {@code true} if delay the hourly job when device is booting */
     boolean delayHourlyJobWhenBooting();
 
-    /**
-     * Insert settings configuration data for anomaly detection
-     */
-    void insertSettingsData(Context context, double displayDrain);
+    /** Returns {@link Bundle} for settings anomaly detection result */
+    PowerAnomalyEventList detectSettingsAnomaly(
+            Context context, double displayDrain, DetectRequestSourceType detectRequestSourceType);
 
-    /**
-     * Returns {@link Bundle} for settings anomaly detection result
-     */
-    PowerAnomalyEventList detectSettingsAnomaly(Context context, double displayDrain);
-
-    /**
-     * Gets an intent for one time bypass charge limited to resume charging.
-     */
+    /** Gets an intent for one time bypass charge limited to resume charging. */
     Intent getResumeChargeIntent(boolean isDockDefender);
 
-    /**
-     * Returns the intent action used to mark as the full charge start event.
-     */
+    /** Returns the intent action used to mark as the full charge start event. */
     String getFullChargeIntentAction();
 
-    /**
-     * Returns {@link Set} for the system component ids which are combined into others
-     */
+    /** Returns {@link Set} for the system component ids which are combined into others */
     Set<Integer> getOthersSystemComponentSet();
 
-    /**
-     * Returns {@link Set} for the custom system component names which are combined into others
-     */
+    /** Returns {@link Set} for the custom system component names which are combined into others */
     Set<String> getOthersCustomComponentNameSet();
 
-    /**
-     * Returns {@link Set} for hiding system component ids in the usage screen
-     */
+    /** Returns {@link Set} for hiding system component ids in the usage screen */
     Set<Integer> getHideSystemComponentSet();
 
-    /**
-     * Returns {@link Set} for hiding application package names in the usage screen
-     */
+    /** Returns {@link Set} for hiding application package names in the usage screen */
     Set<String> getHideApplicationSet();
 
-    /**
-     * Returns {@link Set} for hiding applications background usage time
-     */
+    /** Returns {@link Set} for hiding applications background usage time */
     Set<String> getHideBackgroundUsageTimeSet();
 
-    /**
-     * Returns {@link Set} for ignoring task root class names for screen on time
-     */
+    /** Returns {@link Set} for ignoring task root class names for screen on time */
     Set<String> getIgnoreScreenOnTimeTaskRootSet();
 
-    /**
-     * Returns the customized device build information for data backup
-     */
+    /** Returns the customized device build information for data backup */
     String getBuildMetadata1(Context context);
 
-    /**
-     * Returns the customized device build information for data backup
-     */
+    /** Returns the customized device build information for data backup */
     String getBuildMetadata2(Context context);
 
-    /**
-     * Whether the app optimization mode is valid to restore
-     */
+    /** Whether the app optimization mode is valid to restore */
     boolean isValidToRestoreOptimizationMode(ArrayMap<String, String> deviceInfoMap);
 }
diff --git a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
index 5931e206..75ebabb 100644
--- a/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
+++ b/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImpl.java
@@ -27,6 +27,7 @@
 import android.util.SparseIntArray;
 
 import com.android.internal.util.ArrayUtils;
+import com.android.settings.fuelgauge.batteryusage.DetectRequestSourceType;
 import com.android.settings.fuelgauge.batteryusage.PowerAnomalyEventList;
 import com.android.settingslib.fuelgauge.Estimate;
 
@@ -39,8 +40,9 @@
 
     private static final String PACKAGE_CALENDAR_PROVIDER = "com.android.providers.calendar";
     private static final String PACKAGE_MEDIA_PROVIDER = "com.android.providers.media";
-    private static final String[] PACKAGES_SYSTEM = {PACKAGE_MEDIA_PROVIDER,
-            PACKAGE_CALENDAR_PROVIDER, SYSTEMUI_PACKAGE_NAME};
+    private static final String[] PACKAGES_SYSTEM = {
+        PACKAGE_MEDIA_PROVIDER, PACKAGE_CALENDAR_PROVIDER, SYSTEMUI_PACKAGE_NAME
+    };
 
     protected PackageManager mPackageManager;
     protected Context mContext;
@@ -137,8 +139,8 @@
 
     @Override
     public boolean isSmartBatterySupported() {
-        return mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_smart_battery_available);
+        return mContext.getResources()
+                .getBoolean(com.android.internal.R.bool.config_smart_battery_available);
     }
 
     @Override
@@ -147,6 +149,16 @@
     }
 
     @Override
+    public boolean isAdaptiveChargingSupported() {
+        return false;
+    }
+
+    @Override
+    public boolean isBatteryManagerSupported() {
+        return true;
+    }
+
+    @Override
     public Intent getResumeChargeIntent(boolean isDockDefender) {
         return null;
     }
@@ -167,10 +179,8 @@
     }
 
     @Override
-    public void insertSettingsData(Context context, double displayDrain) {}
-
-    @Override
-    public PowerAnomalyEventList detectSettingsAnomaly(Context context, double displayDrain) {
+    public PowerAnomalyEventList detectSettingsAnomaly(
+            Context context, double displayDrain, DetectRequestSourceType detectRequestSourceType) {
         return null;
     }
 
diff --git a/src/com/android/settings/fuelgauge/PowerUsageTimeController.java b/src/com/android/settings/fuelgauge/PowerUsageTimeController.java
new file mode 100644
index 0000000..0dfdd5d
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/PowerUsageTimeController.java
@@ -0,0 +1,124 @@
+/*
+ * 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;
+
+import static com.android.settings.fuelgauge.BatteryUtils.formatElapsedTimeWithoutComma;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.text.format.DateUtils;
+
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+public class PowerUsageTimeController extends BasePreferenceController {
+    private static final String TAG = "PowerUsageTimeController";
+
+    private static final String KEY_POWER_USAGE_TIME = "battery_usage_time_category";
+    private static final String KEY_SCREEN_TIME_PREF = "battery_usage_screen_time";
+    private static final String KEY_BACKGROUND_TIME_PREF = "battery_usage_background_time";
+
+    @VisibleForTesting PreferenceCategory mPowerUsageTimeCategory;
+    @VisibleForTesting PowerUsageTimePreference mScreenTimePreference;
+    @VisibleForTesting PowerUsageTimePreference mBackgroundTimePreference;
+
+    public PowerUsageTimeController(Context context) {
+        super(context, KEY_POWER_USAGE_TIME);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPowerUsageTimeCategory = screen.findPreference(KEY_POWER_USAGE_TIME);
+        mScreenTimePreference = screen.findPreference(KEY_SCREEN_TIME_PREF);
+        mBackgroundTimePreference = screen.findPreference(KEY_BACKGROUND_TIME_PREF);
+        mPowerUsageTimeCategory.setVisible(false);
+    }
+
+    void handleScreenTimeUpdated(
+            final String slotTime,
+            final long screenOnTimeInMs,
+            final long backgroundTimeInMs,
+            final String anomalyHintPrefKey,
+            final String anomalyHintText) {
+        final boolean isShowScreenOnTime =
+                showTimePreference(
+                        mScreenTimePreference,
+                        R.string.power_usage_detail_screen_time,
+                        screenOnTimeInMs,
+                        anomalyHintPrefKey,
+                        anomalyHintText);
+        final boolean isShowBackgroundTime =
+                showTimePreference(
+                        mBackgroundTimePreference,
+                        R.string.power_usage_detail_background_time,
+                        backgroundTimeInMs,
+                        anomalyHintPrefKey,
+                        anomalyHintText);
+        if (isShowScreenOnTime || isShowBackgroundTime) {
+            showCategoryTitle(slotTime);
+        }
+    }
+
+    boolean showTimePreference(
+            PowerUsageTimePreference preference,
+            int titleResId,
+            long summaryTimeMs,
+            String anomalyHintKey,
+            String anomalyHintText) {
+        if (preference == null
+                || (summaryTimeMs == 0 && !TextUtils.equals(anomalyHintKey, preference.getKey()))) {
+            return false;
+        }
+        preference.setTimeTitle(mContext.getString(titleResId));
+        preference.setTimeSummary(getPowerUsageTimeInfo(summaryTimeMs));
+        if (TextUtils.equals(anomalyHintKey, preference.getKey())) {
+            preference.setAnomalyHint(anomalyHintText);
+        }
+        preference.setVisible(true);
+        return true;
+    }
+
+    private CharSequence getPowerUsageTimeInfo(long timeInMs) {
+        if (timeInMs < DateUtils.MINUTE_IN_MILLIS) {
+            return mContext.getString(R.string.power_usage_time_less_than_one_minute);
+        }
+        return formatElapsedTimeWithoutComma(
+                mContext,
+                (double) timeInMs,
+                /* withSeconds= */ false,
+                /* collapseTimeUnit= */ false);
+    }
+
+    @VisibleForTesting
+    void showCategoryTitle(String slotTimestamp) {
+        mPowerUsageTimeCategory.setTitle(
+                slotTimestamp == null
+                        ? mContext.getString(R.string.battery_app_usage)
+                        : mContext.getString(R.string.battery_app_usage_for, slotTimestamp));
+        mPowerUsageTimeCategory.setVisible(true);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/PowerUsageTimePreference.java b/src/com/android/settings/fuelgauge/PowerUsageTimePreference.java
new file mode 100644
index 0000000..16c7770
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/PowerUsageTimePreference.java
@@ -0,0 +1,90 @@
+/*
+ * 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;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.TextView;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceViewHolder;
+
+import com.android.settings.R;
+
+/** Custom preference for displaying the app power usage time. */
+public class PowerUsageTimePreference extends Preference {
+    private static final String TAG = "PowerUsageTimePreference";
+
+    @VisibleForTesting CharSequence mTimeTitle;
+    @VisibleForTesting CharSequence mTimeSummary;
+    @VisibleForTesting CharSequence mAnomalyHintText;
+
+    public PowerUsageTimePreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+        setLayoutResource(R.layout.power_usage_time);
+    }
+
+    void setTimeTitle(CharSequence timeTitle) {
+        if (!TextUtils.equals(mTimeTitle, timeTitle)) {
+            mTimeTitle = timeTitle;
+            notifyChanged();
+        }
+    }
+
+    void setTimeSummary(CharSequence timeSummary) {
+        if (!TextUtils.equals(mTimeSummary, timeSummary)) {
+            mTimeSummary = timeSummary;
+            notifyChanged();
+        }
+    }
+
+    void setAnomalyHint(CharSequence anomalyHintText) {
+        if (!TextUtils.equals(mAnomalyHintText, anomalyHintText)) {
+            mAnomalyHintText = anomalyHintText;
+            notifyChanged();
+        }
+    }
+
+    private void showAnomalyHint(PreferenceViewHolder view) {
+        if (TextUtils.isEmpty(mAnomalyHintText)) {
+            return;
+        }
+        final View anomalyHintView = view.findViewById(R.id.anomaly_hints);
+        if (anomalyHintView == null) {
+            return;
+        }
+        final TextView warningInfo = anomalyHintView.findViewById(R.id.warning_info);
+        if (warningInfo == null) {
+            return;
+        }
+        warningInfo.setText(mAnomalyHintText);
+        anomalyHintView.setVisibility(View.VISIBLE);
+    }
+
+    @Override
+    public void onBindViewHolder(PreferenceViewHolder view) {
+        super.onBindViewHolder(view);
+
+        ((TextView) view.findViewById(R.id.time_title)).setText(mTimeTitle);
+        ((TextView) view.findViewById(R.id.time_summary)).setText(mTimeSummary);
+
+        showAnomalyHint(view);
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
index 9ef8c8c..d948cc0 100644
--- a/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
+++ b/src/com/android/settings/fuelgauge/RequestIgnoreBatteryOptimizations.java
@@ -31,8 +31,8 @@
 import com.android.internal.app.AlertController;
 import com.android.settings.R;
 
-public class RequestIgnoreBatteryOptimizations extends AlertActivity implements
-        DialogInterface.OnClickListener {
+public class RequestIgnoreBatteryOptimizations extends AlertActivity
+        implements DialogInterface.OnClickListener {
     private static final String TAG = "RequestIgnoreBatteryOptimizations";
     private static final boolean DEBUG = false;
 
@@ -42,22 +42,24 @@
     @Override
     public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        getWindow().addSystemFlags(android.view.WindowManager.LayoutParams
-                .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+        getWindow()
+                .addSystemFlags(
+                        android.view.WindowManager.LayoutParams
+                                .SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
 
         mPowerWhitelistManager = getSystemService(PowerWhitelistManager.class);
 
         Uri data = getIntent().getData();
         if (data == null) {
-            debugLog("No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
-                    + getIntent());
+            debugLog(
+                    "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: " + getIntent());
             finish();
             return;
         }
         mPackageName = data.getSchemeSpecificPart();
         if (mPackageName == null) {
-            debugLog("No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: "
-                    + getIntent());
+            debugLog(
+                    "No data supplied for IGNORE_BATTERY_OPTIMIZATION_SETTINGS in: " + getIntent());
             finish();
             return;
         }
@@ -69,11 +71,16 @@
             return;
         }
 
-        if (getPackageManager().checkPermission(
-                Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS, mPackageName)
+        if (getPackageManager()
+                        .checkPermission(
+                                Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS,
+                                mPackageName)
                 != PackageManager.PERMISSION_GRANTED) {
-            debugLog("Requested package " + mPackageName + " does not hold permission "
-                    + Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
+            debugLog(
+                    "Requested package "
+                            + mPackageName
+                            + " does not hold permission "
+                            + Manifest.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS);
             finish();
             return;
         }
@@ -88,9 +95,12 @@
         }
 
         final AlertController.AlertParams p = mAlertParams;
-        final CharSequence appLabel = ai.loadSafeLabel(getPackageManager(),
-                PackageItemInfo.DEFAULT_MAX_LABEL_SIZE_PX, PackageItemInfo.SAFE_LABEL_FLAG_TRIM
-                        | PackageItemInfo.SAFE_LABEL_FLAG_FIRST_LINE);
+        final CharSequence appLabel =
+                ai.loadSafeLabel(
+                        getPackageManager(),
+                        PackageItemInfo.DEFAULT_MAX_LABEL_SIZE_PX,
+                        PackageItemInfo.SAFE_LABEL_FLAG_TRIM
+                                | PackageItemInfo.SAFE_LABEL_FLAG_FIRST_LINE);
         p.mTitle = getText(R.string.high_power_prompt_title);
         p.mMessage = getString(R.string.high_power_prompt_body, appLabel);
         p.mPositiveButtonText = getText(R.string.allow);
diff --git a/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java b/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
index d43a488..9969f24 100644
--- a/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/RestrictAppPreferenceController.java
@@ -35,15 +35,11 @@
 
 import java.util.List;
 
-/**
- * Controller to change and update the smart battery toggle
- */
+/** Controller to change and update the smart battery toggle */
 public class RestrictAppPreferenceController extends BasePreferenceController {
-    @VisibleForTesting
-    static final String KEY_RESTRICT_APP = "restricted_app";
+    @VisibleForTesting static final String KEY_RESTRICT_APP = "restricted_app";
 
-    @VisibleForTesting
-    List<AppInfo> mAppInfos;
+    @VisibleForTesting List<AppInfo> mAppInfos;
     private AppOpsManager mAppOpsManager;
     private InstrumentedPreferenceFragment mPreferenceFragment;
     private UserManager mUserManager;
@@ -65,7 +61,8 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return mAppInfos.size() > 0 && !mEnableAppBatteryUsagePage ? AVAILABLE
+        return mAppInfos.size() > 0 && !mEnableAppBatteryUsagePage
+                ? AVAILABLE
                 : CONDITIONALLY_UNAVAILABLE;
     }
 
@@ -76,18 +73,18 @@
         final int num = mAppInfos.size();
         // Fragment change RestrictedAppsList after onPause(), UI needs to be updated in onResume()
         preference.setVisible(num > 0);
-        preference.setSummary(StringUtil.getIcuPluralsString(mContext, num,
-                        R.string.restricted_app_summary));
+        preference.setSummary(
+                StringUtil.getIcuPluralsString(mContext, num, R.string.restricted_app_summary));
     }
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (getPreferenceKey().equals(preference.getKey())) {
             // start fragment
-            RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment,
-                    mAppInfos);
-            FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
-                    .action(mContext, SettingsEnums.OPEN_APP_RESTRICTED_LIST);
+            RestrictedAppDetails.startRestrictedAppDetails(mPreferenceFragment, mAppInfos);
+            FeatureFactory.getFeatureFactory()
+                    .getMetricsFeatureProvider()
+                    .action(mContext, SettingsEnums.ACTION_APP_RESTRICTED_LIST_MANAGED);
             return true;
         }
 
diff --git a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
index 77eaa23..82c92de 100644
--- a/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
+++ b/src/com/android/settings/fuelgauge/RestrictedAppDetails.java
@@ -52,36 +52,28 @@
 
 import java.util.List;
 
-/**
- * Fragment to show a list of anomaly apps, where user could handle these anomalies
- */
-public class RestrictedAppDetails extends DashboardFragment implements
-        BatteryTipPreferenceController.BatteryTipListener {
+/** Fragment to show a list of anomaly apps, where user could handle these anomalies */
+public class RestrictedAppDetails extends DashboardFragment
+        implements BatteryTipPreferenceController.BatteryTipListener {
 
     public static final String TAG = "RestrictedAppDetails";
 
-    @VisibleForTesting
-    static final String EXTRA_APP_INFO_LIST = "app_info_list";
+    @VisibleForTesting static final String EXTRA_APP_INFO_LIST = "app_info_list";
     private static final String KEY_PREF_RESTRICTED_APP_LIST = "restrict_app_list";
     private static final long TIME_NULL = -1;
 
-    @VisibleForTesting
-    List<AppInfo> mAppInfos;
-    @VisibleForTesting
-    IconDrawableFactory mIconDrawableFactory;
-    @VisibleForTesting
-    PreferenceGroup mRestrictedAppListGroup;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
-    @VisibleForTesting
-    PackageManager mPackageManager;
-    @VisibleForTesting
-    BatteryDatabaseManager mBatteryDatabaseManager;
+    @VisibleForTesting List<AppInfo> mAppInfos;
+    @VisibleForTesting IconDrawableFactory mIconDrawableFactory;
+    @VisibleForTesting PreferenceGroup mRestrictedAppListGroup;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
+    @VisibleForTesting PackageManager mPackageManager;
+    @VisibleForTesting BatteryDatabaseManager mBatteryDatabaseManager;
 
     private MetricsFeatureProvider mMetricsFeatureProvider;
 
-    public static void startRestrictedAppDetails(InstrumentedPreferenceFragment fragment,
-            List<AppInfo> appInfos) {
+    /** Starts restricted app details page */
+    public static void startRestrictedAppDetails(
+            InstrumentedPreferenceFragment fragment, List<AppInfo> appInfos) {
         final Bundle args = new Bundle();
         args.putParcelableList(EXTRA_APP_INFO_LIST, appInfos);
 
@@ -104,8 +96,7 @@
         mIconDrawableFactory = IconDrawableFactory.newInstance(context);
         mBatteryUtils = BatteryUtils.getInstance(context);
         mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
-        mMetricsFeatureProvider =
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         refreshUi();
     }
 
@@ -144,39 +135,50 @@
     void refreshUi() {
         mRestrictedAppListGroup.removeAll();
         final Context context = getPrefContext();
-        final SparseLongArray timestampArray = mBatteryDatabaseManager
-                .queryActionTime(AnomalyDatabaseHelper.ActionType.RESTRICTION);
+        final SparseLongArray timestampArray =
+                mBatteryDatabaseManager.queryActionTime(
+                        AnomalyDatabaseHelper.ActionType.RESTRICTION);
         final long now = System.currentTimeMillis();
 
         for (int i = 0, size = mAppInfos.size(); i < size; i++) {
             final CheckBoxPreference checkBoxPreference = new AppCheckBoxPreference(context);
             final AppInfo appInfo = mAppInfos.get(i);
             try {
-                final ApplicationInfo applicationInfo = mPackageManager.getApplicationInfoAsUser(
-                        appInfo.packageName, 0 /* flags */, UserHandle.getUserId(appInfo.uid));
+                final ApplicationInfo applicationInfo =
+                        mPackageManager.getApplicationInfoAsUser(
+                                appInfo.packageName,
+                                0 /* flags */,
+                                UserHandle.getUserId(appInfo.uid));
                 checkBoxPreference.setChecked(
                         mBatteryUtils.isForceAppStandbyEnabled(appInfo.uid, appInfo.packageName));
                 checkBoxPreference.setTitle(mPackageManager.getApplicationLabel(applicationInfo));
                 checkBoxPreference.setIcon(
-                        Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager,
+                        Utils.getBadgedIcon(
+                                mIconDrawableFactory,
+                                mPackageManager,
                                 appInfo.packageName,
                                 UserHandle.getUserId(appInfo.uid)));
                 checkBoxPreference.setKey(getKeyFromAppInfo(appInfo));
-                checkBoxPreference.setOnPreferenceChangeListener((pref, value) -> {
-                    final BatteryTipDialogFragment fragment = createDialogFragment(appInfo,
-                            (Boolean) value);
-                    fragment.setTargetFragment(this, 0 /* requestCode */);
-                    fragment.show(getFragmentManager(), TAG);
-                    mMetricsFeatureProvider.action(getContext(),
-                            SettingsEnums.ACTION_APP_RESTRICTED_LIST_UNCHECKED,
-                            appInfo.packageName);
-                    return false;
-                });
+                checkBoxPreference.setOnPreferenceChangeListener(
+                        (pref, value) -> {
+                            final BatteryTipDialogFragment fragment =
+                                    createDialogFragment(appInfo, (Boolean) value);
+                            fragment.setTargetFragment(this, 0 /* requestCode */);
+                            fragment.show(getFragmentManager(), TAG);
+                            mMetricsFeatureProvider.action(
+                                    getContext(),
+                                    SettingsEnums.ACTION_APP_RESTRICTED_LIST_UNCHECKED,
+                                    appInfo.packageName);
+                            return false;
+                        });
 
                 final long timestamp = timestampArray.get(appInfo.uid, TIME_NULL);
                 if (timestamp != TIME_NULL) {
-                    checkBoxPreference.setSummary(getString(R.string.restricted_app_time_summary,
-                            StringUtil.formatRelativeTime(context, now - timestamp, false)));
+                    checkBoxPreference.setSummary(
+                            getString(
+                                    R.string.restricted_app_time_summary,
+                                    StringUtil.formatRelativeTime(
+                                            context, now - timestamp, false)));
                 }
                 final CharSequence test = checkBoxPreference.getSummaryOn();
                 mRestrictedAppListGroup.addPreference(checkBoxPreference);
@@ -196,8 +198,9 @@
             appInfo = ((UnrestrictAppTip) batteryTip).getUnrestrictAppInfo();
         }
 
-        CheckBoxPreference preference = (CheckBoxPreference) mRestrictedAppListGroup
-                .findPreference(getKeyFromAppInfo(appInfo));
+        CheckBoxPreference preference =
+                (CheckBoxPreference)
+                        mRestrictedAppListGroup.findPreference(getKeyFromAppInfo(appInfo));
         if (preference != null) {
             preference.setChecked(isRestricted);
         }
@@ -205,12 +208,12 @@
 
     @VisibleForTesting
     BatteryTipDialogFragment createDialogFragment(AppInfo appInfo, boolean toRestrict) {
-        final BatteryTip batteryTip = toRestrict
-                ? new RestrictAppTip(BatteryTip.StateType.NEW, appInfo)
-                : new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo);
+        final BatteryTip batteryTip =
+                toRestrict
+                        ? new RestrictAppTip(BatteryTip.StateType.NEW, appInfo)
+                        : new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo);
 
-        return BatteryTipDialogFragment.newInstance(
-                batteryTip, getMetricsCategory());
+        return BatteryTipDialogFragment.newInstance(batteryTip, getMetricsCategory());
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java b/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java
deleted file mode 100644
index 7db77f1..0000000
--- a/src/com/android/settings/fuelgauge/RestrictedPreferenceController.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.fuelgauge;
-
-import android.content.Context;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
-
-public class RestrictedPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String TAG = "RESTRICTED_PREF";
-
-    @VisibleForTesting String KEY_RESTRICTED_PREF = "restricted_pref";
-    @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
-
-    public RestrictedPreferenceController(Context context, int uid, String packageName) {
-        super(context);
-        mBatteryOptimizeUtils = new BatteryOptimizeUtils(context, uid, packageName);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-
-        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
-            Log.d(TAG, "disable preference for " + mBatteryOptimizeUtils.getPackageName());
-            preference.setEnabled(false);
-            return;
-        } else {
-            preference.setEnabled(true);
-        }
-
-        if (mBatteryOptimizeUtils.getAppOptimizationMode()
-                == BatteryOptimizeUtils.MODE_RESTRICTED) {
-            Log.d(TAG, "is restricted states");
-            ((SelectorWithWidgetPreference) preference).setChecked(true);
-        } else {
-            ((SelectorWithWidgetPreference) preference).setChecked(false);
-            if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
-                Log.d(TAG, "is system or default app, disable pref");
-                preference.setEnabled(false);
-            }
-        }
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return true;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_RESTRICTED_PREF;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        return getPreferenceKey().equals(preference.getKey());
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
index 26c0ab9..ba292f2 100644
--- a/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/SmartBatteryPreferenceController.java
@@ -22,27 +22,25 @@
 import android.text.TextUtils;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
 
-/**
- * Controller to change and update the smart battery toggle
- */
-public class SmartBatteryPreferenceController extends BasePreferenceController implements
-        Preference.OnPreferenceChangeListener {
+/** Controller to change and update the smart battery toggle */
+public class SmartBatteryPreferenceController extends BasePreferenceController
+        implements Preference.OnPreferenceChangeListener {
 
     private static final String KEY_SMART_BATTERY = "smart_battery";
     private static final int ON = 1;
     private static final int OFF = 0;
-    private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+    private final PowerUsageFeatureProvider mPowerUsageFeatureProvider;
 
     public SmartBatteryPreferenceController(Context context) {
         super(context, KEY_SMART_BATTERY);
-        mPowerUsageFeatureProvider = FeatureFactory.getFactory(context)
-                .getPowerUsageFeatureProvider(context);
+        mPowerUsageFeatureProvider =
+                FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
     }
 
     @Override
@@ -70,16 +68,22 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        final boolean smartBatteryOn = Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON;
-        ((SwitchPreference) preference).setChecked(smartBatteryOn);
+        final boolean smartBatteryOn =
+                Settings.Global.getInt(
+                                mContext.getContentResolver(),
+                                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED,
+                                ON)
+                        == ON;
+        ((TwoStatePreference) preference).setChecked(smartBatteryOn);
     }
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
         final boolean smartBatteryOn = (Boolean) newValue;
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, smartBatteryOn ? ON : OFF);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED,
+                smartBatteryOn ? ON : OFF);
         return true;
     }
 }
diff --git a/src/com/android/settings/fuelgauge/SmartBatterySettings.java b/src/com/android/settings/fuelgauge/SmartBatterySettings.java
index 88b1fc9..44dba9a 100644
--- a/src/com/android/settings/fuelgauge/SmartBatterySettings.java
+++ b/src/com/android/settings/fuelgauge/SmartBatterySettings.java
@@ -32,9 +32,7 @@
 import java.util.Arrays;
 import java.util.List;
 
-/**
- * Fragment to show smart battery and restricted app controls
- */
+/** Fragment to show smart battery and restricted app controls */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class SmartBatterySettings extends DashboardFragment {
     public static final String TAG = "SmartBatterySettings";
@@ -65,12 +63,12 @@
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(
-            Context context, SettingsActivity settingsActivity,
+            Context context,
+            SettingsActivity settingsActivity,
             InstrumentedPreferenceFragment fragment) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         if (settingsActivity != null && fragment != null) {
-            controllers.add(
-                    new RestrictAppPreferenceController(fragment));
+            controllers.add(new RestrictAppPreferenceController(fragment));
         } else {
             controllers.add(new RestrictAppPreferenceController(context));
         }
diff --git a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
index e08f4ba..08d49f1 100644
--- a/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceController.java
@@ -28,21 +28,19 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.Utils;
 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.Utils;
 import com.android.settingslib.utils.ThreadUtils;
 
-public class TopLevelBatteryPreferenceController extends BasePreferenceController implements
-        LifecycleObserver, OnStart, OnStop, BatteryPreferenceController {
+public class TopLevelBatteryPreferenceController extends BasePreferenceController
+        implements LifecycleObserver, OnStart, OnStop, BatteryPreferenceController {
 
     private static final String TAG = "TopLvBatteryPrefControl";
 
-    @VisibleForTesting
-    Preference mPreference;
-    @VisibleForTesting
-    protected boolean mIsBatteryPresent = true;
+    @VisibleForTesting Preference mPreference;
+    @VisibleForTesting protected boolean mIsBatteryPresent = true;
 
     private final BatteryBroadcastReceiver mBatteryBroadcastReceiver;
 
@@ -53,28 +51,33 @@
     public TopLevelBatteryPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mBatteryBroadcastReceiver = new BatteryBroadcastReceiver(mContext);
-        mBatteryBroadcastReceiver.setBatteryChangedListener(type -> {
-            Log.d(TAG, "onBatteryChanged: type=" + type);
-            if (type == BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_NOT_PRESENT) {
-                mIsBatteryPresent = false;
-            }
-            BatteryInfo.getBatteryInfo(mContext, info -> {
-                Log.d(TAG, "getBatteryInfo: " + info);
-                mBatteryInfo = info;
-                updateState(mPreference);
-                // Update the preference summary text to the latest state.
-                setSummaryAsync(info);
-            }, true /* shortString */);
-        });
+        mBatteryBroadcastReceiver.setBatteryChangedListener(
+                type -> {
+                    Log.d(TAG, "onBatteryChanged: type=" + type);
+                    if (type == BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_NOT_PRESENT) {
+                        mIsBatteryPresent = false;
+                    }
+                    BatteryInfo.getBatteryInfo(
+                            mContext,
+                            info -> {
+                                Log.d(TAG, "getBatteryInfo: " + info);
+                                mBatteryInfo = info;
+                                updateState(mPreference);
+                                // Update the preference summary text to the latest state.
+                                setSummaryAsync(info);
+                            },
+                            true /* shortString */);
+                });
 
-        mBatteryStatusFeatureProvider = FeatureFactory.getFactory(context)
-                .getBatteryStatusFeatureProvider(context);
+        mBatteryStatusFeatureProvider =
+                FeatureFactory.getFeatureFactory().getBatteryStatusFeatureProvider();
     }
 
     @Override
     public int getAvailabilityStatus() {
         return mContext.getResources().getBoolean(R.bool.config_show_top_level_battery)
-                ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
@@ -106,13 +109,17 @@
         return getDashboardLabel(mContext, mBatteryInfo, batteryStatusUpdate);
     }
 
-    protected CharSequence getDashboardLabel(Context context, BatteryInfo info,
-            boolean batteryStatusUpdate) {
+    protected CharSequence getDashboardLabel(
+            Context context, BatteryInfo info, boolean batteryStatusUpdate) {
         if (info == null || context == null) {
             return null;
         }
-        Log.d(TAG, "getDashboardLabel: " + mBatteryStatusLabel + " batteryStatusUpdate="
-                + batteryStatusUpdate);
+        Log.d(
+                TAG,
+                "getDashboardLabel: "
+                        + mBatteryStatusLabel
+                        + " batteryStatusUpdate="
+                        + batteryStatusUpdate);
 
         if (batteryStatusUpdate) {
             setSummaryAsync(info);
@@ -121,24 +128,36 @@
     }
 
     private void setSummaryAsync(BatteryInfo info) {
-        ThreadUtils.postOnBackgroundThread(() -> {
-            // Return false if built-in status should be used, will use updateBatteryStatus()
-            // method to inject the customized battery status label.
-            final boolean triggerBatteryStatusUpdate =
-                    mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(this, info);
-            ThreadUtils.postOnMainThread(() -> {
-                if (!triggerBatteryStatusUpdate) {
-                    mBatteryStatusLabel = null; // will generateLabel()
-                }
-                mPreference.setSummary(
-                        mBatteryStatusLabel == null ? generateLabel(info) : mBatteryStatusLabel);
-            });
-        });
+        ThreadUtils.postOnBackgroundThread(
+                () -> {
+                    // Return false if built-in status should be used, will use
+                    // updateBatteryStatus()
+                    // method to inject the customized battery status label.
+                    final boolean triggerBatteryStatusUpdate =
+                            mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(this, info);
+                    ThreadUtils.postOnMainThread(
+                            () -> {
+                                if (!triggerBatteryStatusUpdate) {
+                                    mBatteryStatusLabel = null; // will generateLabel()
+                                }
+                                mPreference.setSummary(
+                                        mBatteryStatusLabel == null
+                                                ? generateLabel(info)
+                                                : mBatteryStatusLabel);
+                            });
+                });
     }
 
     private CharSequence generateLabel(BatteryInfo info) {
         if (Utils.containsIncompatibleChargers(mContext, TAG)) {
-            return mContext.getString(R.string.battery_info_status_not_charging);
+            return mContext.getString(
+                    com.android.settingslib.R.string.power_incompatible_charging_settings_home_page,
+                    info.batteryPercentString);
+        }
+        if (BatteryUtils.isBatteryDefenderOn(info)) {
+            return mContext.getString(
+                    com.android.settingslib.R.string.power_charging_on_hold_settings_home_page,
+                    info.batteryPercentString);
         }
         if (info.batteryStatus == BatteryManager.BATTERY_STATUS_NOT_CHARGING) {
             // Present status only if no remaining time or status anomalous
@@ -148,15 +167,14 @@
         } else if (info.remainingLabel == null) {
             return info.batteryPercentString;
         } else {
-            return mContext.getString(R.string.power_remaining_settings_home_page,
+            return mContext.getString(
+                    com.android.settingslib.R.string.power_remaining_settings_home_page,
                     info.batteryPercentString,
                     info.remainingLabel);
         }
     }
 
-    /**
-     * Callback which receives text for the label.
-     */
+    /** Callback which receives text for the label. */
     @Override
     public void updateBatteryStatus(String label, BatteryInfo info) {
         mBatteryStatusLabel = label; // Null if adaptive charging is not active
diff --git a/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java b/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
index 4578723..652941b 100644
--- a/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/UnrestrictedPreferenceController.java
@@ -17,7 +17,6 @@
 package com.android.settings.fuelgauge;
 
 import android.content.Context;
-import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -31,7 +30,8 @@
 
     private static final String TAG = "UNRESTRICTED_PREF";
 
-    @VisibleForTesting String KEY_UNRESTRICTED_PREF = "unrestricted_pref";
+    @VisibleForTesting static final String KEY_UNRESTRICTED_PREF = "unrestricted_preference";
+
     @VisibleForTesting BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     public UnrestrictedPreferenceController(Context context, int uid, String packageName) {
@@ -41,26 +41,12 @@
 
     @Override
     public void updateState(Preference preference) {
+        preference.setEnabled(mBatteryOptimizeUtils.isSelectorPreferenceEnabled());
 
-        if (mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()) {
-            Log.d(TAG, "disable preference for " + mBatteryOptimizeUtils.getPackageName());
-            preference.setEnabled(false);
-            return;
-        } else {
-            preference.setEnabled(true);
-        }
-
-        if (mBatteryOptimizeUtils.getAppOptimizationMode()
-                == BatteryOptimizeUtils.MODE_UNRESTRICTED) {
-            Log.d(TAG, "is unrestricted states");
-            ((SelectorWithWidgetPreference) preference).setChecked(true);
-        } else {
-            ((SelectorWithWidgetPreference) preference).setChecked(false);
-            if (mBatteryOptimizeUtils.isSystemOrDefaultApp()) {
-                Log.d(TAG, "is system or default app, disable pref");
-                preference.setEnabled(false);
-            }
-        }
+        final boolean isUnrestricted =
+                mBatteryOptimizeUtils.getAppOptimizationMode()
+                        == BatteryOptimizeUtils.MODE_UNRESTRICTED;
+        ((SelectorWithWidgetPreference) preference).setChecked(isUnrestricted);
     }
 
     @Override
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
index be364ee..5c57c0c 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceController.java
@@ -37,12 +37,9 @@
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 import com.android.settingslib.widget.MainSwitchPreference;
 
-/**
- * Controller to update the battery saver button
- */
-public class BatterySaverButtonPreferenceController extends
-        TogglePreferenceController implements LifecycleObserver, OnStart, OnStop,
-        BatterySaverReceiver.BatterySaverListener {
+/** Controller to update the battery saver button */
+public class BatterySaverButtonPreferenceController extends TogglePreferenceController
+        implements LifecycleObserver, OnStart, OnStop, BatterySaverReceiver.BatterySaverListener {
     private static final long SWITCH_ANIMATION_DURATION = 350L;
 
     private final BatterySaverReceiver mBatterySaverReceiver;
@@ -104,8 +101,8 @@
 
     @Override
     public boolean setChecked(boolean stateOn) {
-        return BatterySaverUtils.setPowerSaveMode(mContext, stateOn,
-                false /* needFirstTimeWarning */, SAVER_ENABLED_SETTINGS);
+        return BatterySaverUtils.setPowerSaveMode(
+                mContext, stateOn, false /* needFirstTimeWarning */, SAVER_ENABLED_SETTINGS);
     }
 
     @Override
@@ -115,8 +112,7 @@
 
     @Override
     public void onPowerSaveModeChanged() {
-        mHandler.postDelayed(() -> onPowerSaveModeChangedInternal(),
-                SWITCH_ANIMATION_DURATION);
+        mHandler.postDelayed(() -> onPowerSaveModeChangedInternal(), SWITCH_ANIMATION_DURATION);
     }
 
     private void onPowerSaveModeChangedInternal() {
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceController.java
index dce1903..ebec5cf 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceController.java
@@ -32,17 +32,14 @@
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 
 /**
- * Simple controller to navigate users to the scheduling page from
- * "Settings > Battery > Battery Saver". Also updates the summary for preference based on
- * the currently selected settings.
+ * Simple controller to navigate users to the scheduling page from "Settings > Battery > Battery
+ * Saver". Also updates the summary for preference based on the currently selected settings.
  */
 public class BatterySaverSchedulePreferenceController extends BasePreferenceController {
 
-    @VisibleForTesting
-    Preference mBatterySaverSchedulePreference;
+    @VisibleForTesting Preference mBatterySaverSchedulePreference;
     public static final String KEY_BATTERY_SAVER_SCHEDULE = "battery_saver_schedule";
 
-
     public BatterySaverSchedulePreferenceController(Context context) {
         super(context, KEY_BATTERY_SAVER_SCHEDULE);
         BatterySaverUtils.revertScheduleToNoneIfNeeded(context);
@@ -66,7 +63,8 @@
         if (KEY_PERCENTAGE.equals(mode)) {
             final int threshold =
                     Settings.Global.getInt(resolver, Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
-            return mContext.getString(R.string.battery_saver_auto_percentage_summary,
+            return mContext.getString(
+                    R.string.battery_saver_auto_percentage_summary,
                     Utils.formatPercentage(threshold));
         }
         return mContext.getText(R.string.battery_saver_auto_no_schedule);
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java
index 4266bea..6425833 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleRadioButtonsController.java
@@ -31,23 +31,23 @@
 /**
  * Responds to user actions in the Settings > Battery > Set a Schedule Screen
  *
- * Note that this is not a preference controller since that screen does not inherit from
+ * <p>Note that this is not a preference controller since that screen does not inherit from
  * DashboardFragment.
  *
- * Will call the appropriate power manager APIs and modify the correct settings to enable
- * users to control their automatic battery saver toggling preferences.
- * See {@link Settings.Global#AUTOMATIC_POWER_SAVE_MODE} for more details.
+ * <p>Will call the appropriate power manager APIs and modify the correct settings to enable users
+ * to control their automatic battery saver toggling preferences. See {@link
+ * Settings.Global#AUTOMATIC_POWER_SAVE_MODE} for more details.
  */
 public class BatterySaverScheduleRadioButtonsController {
     private static final String TAG = "BatterySaverScheduleRadioButtonsController";
 
-    public static final int TRIGGER_LEVEL_MIN = 10;
+    public static final int TRIGGER_LEVEL_MIN = 20;
 
     private Context mContext;
     private BatterySaverScheduleSeekBarController mSeekBarController;
 
-    public BatterySaverScheduleRadioButtonsController(Context context,
-            BatterySaverScheduleSeekBarController seekbar) {
+    public BatterySaverScheduleRadioButtonsController(
+            Context context, BatterySaverScheduleSeekBarController seekbar) {
         mContext = context;
         mSeekBarController = seekbar;
     }
@@ -67,10 +67,11 @@
             case KEY_PERCENTAGE:
                 triggerLevel = TRIGGER_LEVEL_MIN;
                 confirmationExtras.putBoolean(BatterySaverUtils.EXTRA_CONFIRM_TEXT_ONLY, true);
-                confirmationExtras.putInt(BatterySaverUtils.EXTRA_POWER_SAVE_MODE_TRIGGER,
+                confirmationExtras.putInt(
+                        BatterySaverUtils.EXTRA_POWER_SAVE_MODE_TRIGGER,
                         PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
-                confirmationExtras.putInt(BatterySaverUtils.EXTRA_POWER_SAVE_MODE_TRIGGER_LEVEL,
-                        triggerLevel);
+                confirmationExtras.putInt(
+                        BatterySaverUtils.EXTRA_POWER_SAVE_MODE_TRIGGER_LEVEL, triggerLevel);
                 break;
             default:
                 throw new IllegalStateException(
@@ -79,7 +80,7 @@
 
         if (!TextUtils.equals(key, KEY_NO_SCHEDULE)
                 && BatterySaverUtils.maybeShowBatterySaverConfirmation(
-                mContext, confirmationExtras)) {
+                        mContext, confirmationExtras)) {
             // reset this if we need to show the confirmation message
             mode = PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE;
             triggerLevel = 0;
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java
index 687221e..8580f6e 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarController.java
@@ -35,30 +35,28 @@
 import com.android.settingslib.fuelgauge.BatterySaverUtils;
 
 /**
- * Responds to user actions in the Settings > Battery > Set a Schedule Screen for the seekbar.
- * Note that this seekbar is only visible when the radio button selected is "Percentage".
+ * Responds to user actions in the Settings > Battery > Set a Schedule Screen for the seekbar. Note
+ * that this seekbar is only visible when the radio button selected is "Percentage".
  *
- * Note that this is not a preference controller since that screen does not inherit from
+ * <p>Note that this is not a preference controller since that screen does not inherit from
  * DashboardFragment.
  *
- * Will call the appropriate power manager APIs and modify the correct settings to enable
- * users to control their automatic battery saver toggling preferences.
- * See {@link Settings.Global#AUTOMATIC_POWER_SAVE_MODE} for more details.
+ * <p>Will call the appropriate power manager APIs and modify the correct settings to enable users
+ * to control their automatic battery saver toggling preferences. See {@link
+ * Settings.Global#AUTOMATIC_POWER_SAVE_MODE} for more details.
  */
-public class BatterySaverScheduleSeekBarController implements
-        OnPreferenceChangeListener, OnSeekBarChangeListener {
+public class BatterySaverScheduleSeekBarController
+        implements OnPreferenceChangeListener, OnSeekBarChangeListener {
 
     public static final int MAX_SEEKBAR_VALUE = 15;
     public static final int MIN_SEEKBAR_VALUE = 2;
     public static final String KEY_BATTERY_SAVER_SEEK_BAR = "battery_saver_seek_bar";
     private static final int LEVEL_UNIT_SCALE = 5;
 
-    @VisibleForTesting
-    public SeekBarPreference mSeekBarPreference;
+    @VisibleForTesting public SeekBarPreference mSeekBarPreference;
     private Context mContext;
 
-    @VisibleForTesting
-    int mPercentage;
+    @VisibleForTesting int mPercentage;
 
     public BatterySaverScheduleSeekBarController(Context context) {
         mContext = context;
@@ -93,7 +91,8 @@
     @Override
     public void onStopTrackingTouch(SeekBar seekBar) {
         if (mPercentage > 0) {
-            Settings.Global.putInt(mContext.getContentResolver(),
+            Settings.Global.putInt(
+                    mContext.getContentResolver(),
                     Global.LOW_POWER_MODE_TRIGGER_LEVEL,
                     mPercentage);
         }
@@ -108,8 +107,7 @@
             final int currentSeekbarValue = Math.max(threshold / 5, MIN_SEEKBAR_VALUE);
             mSeekBarPreference.setVisible(true);
             mSeekBarPreference.setProgress(currentSeekbarValue);
-            final CharSequence stateDescription = formatStateDescription(
-                    currentSeekbarValue * 5);
+            final CharSequence stateDescription = formatStateDescription(currentSeekbarValue * 5);
             mSeekBarPreference.setTitle(stateDescription);
             mSeekBarPreference.overrideSeekBarStateDescription(stateDescription);
         } else {
@@ -130,7 +128,7 @@
     }
 
     private CharSequence formatStateDescription(int percentage) {
-        return mContext.getString(R.string.battery_saver_seekbar_title,
-                Utils.formatPercentage(percentage));
+        return mContext.getString(
+                R.string.battery_saver_seekbar_title, Utils.formatPercentage(percentage));
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
index 1a7fdaf..cded470 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettings.java
@@ -49,32 +49,32 @@
 import java.util.List;
 
 /**
- * Fragment that allows users to customize their automatic battery saver mode settings.
- *
- * Location: Settings > Battery > Battery Saver > Set a Schedule
+ * Fragment that allows users to customize their automatic battery saver mode settings. <br>
+ * <br>
+ * Location: Settings > Battery > Battery Saver > Set a Schedule <br>
  * See {@link BatterySaverSchedulePreferenceController} for the controller that manages navigation
- * to this screen from "Settings > Battery > Battery Saver" and the summary.
- * See {@link BatterySaverScheduleRadioButtonsController} &
- * {@link BatterySaverScheduleSeekBarController} for the controller that manages user
- * interactions in this screen.
+ * to this screen from "Settings > Battery > Battery Saver" and the summary. <br>
+ * See {@link BatterySaverScheduleRadioButtonsController} & {@link
+ * BatterySaverScheduleSeekBarController} for the controller that manages user interactions in this
+ * screen.
  */
 public class BatterySaverScheduleSettings extends RadioButtonPickerFragment {
 
     public BatterySaverScheduleRadioButtonsController mRadioButtonController;
-    @VisibleForTesting
-    Context mContext;
+    @VisibleForTesting Context mContext;
     private int mSaverPercentage;
     private String mSaverScheduleKey;
     private BatterySaverScheduleSeekBarController mSeekBarController;
 
     @VisibleForTesting
-    final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            getPreferenceScreen().removeAll();
-            updateCandidates();
-        }
-    };
+    final ContentObserver mSettingsObserver =
+            new ContentObserver(new Handler()) {
+                @Override
+                public void onChange(boolean selfChange, Uri uri) {
+                    getPreferenceScreen().removeAll();
+                    updateCandidates();
+                }
+            };
 
     @Override
     protected int getPreferenceScreenResId() {
@@ -85,18 +85,19 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         mSeekBarController = new BatterySaverScheduleSeekBarController(context);
-        mRadioButtonController = new BatterySaverScheduleRadioButtonsController(
-                context, mSeekBarController);
+        mRadioButtonController =
+                new BatterySaverScheduleRadioButtonsController(context, mSeekBarController);
         mContext = context;
     }
 
     @Override
     public void onResume() {
         super.onResume();
-        mContext.getContentResolver().registerContentObserver(
-                Settings.Secure.getUriFor(Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED),
-                false,
-                mSettingsObserver);
+        mContext.getContentResolver()
+                .registerContentObserver(
+                        Settings.Secure.getUriFor(Settings.Secure.LOW_POWER_WARNING_ACKNOWLEDGED),
+                        false,
+                        mSettingsObserver);
         mSaverScheduleKey = BatterySaverUtils.getBatterySaverScheduleKey(mContext);
         mSaverPercentage = getSaverPercentage();
     }
@@ -124,24 +125,30 @@
     protected List<? extends CandidateInfo> getCandidates() {
         Context context = getContext();
         List<CandidateInfo> candidates = Lists.newArrayList();
-        candidates.add(new BatterySaverScheduleCandidateInfo(
-                context.getText(R.string.battery_saver_auto_no_schedule),
-                /* summary */ null,
-                KEY_NO_SCHEDULE,
-                /* enabled */ true));
+        candidates.add(
+                new BatterySaverScheduleCandidateInfo(
+                        context.getText(R.string.battery_saver_auto_no_schedule),
+                        /* summary */ null,
+                        KEY_NO_SCHEDULE,
+                        /* enabled */ true));
         BatterySaverUtils.revertScheduleToNoneIfNeeded(context);
-        candidates.add(new BatterySaverScheduleCandidateInfo(
-                context.getText(R.string.battery_saver_auto_percentage),
-                /* summary */ null,
-                KEY_PERCENTAGE,
-                /* enabled */ true));
+        candidates.add(
+                new BatterySaverScheduleCandidateInfo(
+                        context.getText(R.string.battery_saver_auto_percentage),
+                        /* summary */ null,
+                        KEY_PERCENTAGE,
+                        /* enabled */ true));
 
         return candidates;
     }
 
     @Override
-    public void bindPreferenceExtra(SelectorWithWidgetPreference pref, String key,
-            CandidateInfo info, String defaultKey, String systemDefaultKey) {
+    public void bindPreferenceExtra(
+            SelectorWithWidgetPreference pref,
+            String key,
+            CandidateInfo info,
+            String defaultKey,
+            String systemDefaultKey) {
         final BatterySaverScheduleCandidateInfo candidateInfo =
                 (BatterySaverScheduleCandidateInfo) info;
         final CharSequence summary = candidateInfo.getSummary();
@@ -174,14 +181,16 @@
 
     private void logPowerSaver() {
         final int currentSaverPercentage = getSaverPercentage();
-        final String currentSaverScheduleKey = BatterySaverUtils.getBatterySaverScheduleKey(
-                mContext);
+        final String currentSaverScheduleKey =
+                BatterySaverUtils.getBatterySaverScheduleKey(mContext);
         if (mSaverScheduleKey.equals(currentSaverScheduleKey)
                 && mSaverPercentage == currentSaverPercentage) {
             return;
         }
-        FeatureFactory.getFactory(mContext).getMetricsFeatureProvider()
-                .action(SettingsEnums.FUELGAUGE_BATTERY_SAVER,
+        FeatureFactory.getFeatureFactory()
+                .getMetricsFeatureProvider()
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_SAVER,
                         SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
                         SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
                         currentSaverScheduleKey,
@@ -189,8 +198,8 @@
     }
 
     private int getSaverPercentage() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1);
+        return Settings.Global.getInt(
+                mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, -1);
     }
 
     static class BatterySaverScheduleCandidateInfo extends CandidateInfo {
@@ -199,8 +208,8 @@
         private final CharSequence mSummary;
         private final String mKey;
 
-        BatterySaverScheduleCandidateInfo(CharSequence label, CharSequence summary, String key,
-                boolean enabled) {
+        BatterySaverScheduleCandidateInfo(
+                CharSequence label, CharSequence summary, String key, boolean enabled) {
             super(enabled);
             mLabel = label;
             mKey = key;
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
index c86775f..8e281de 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettings.java
@@ -28,9 +28,7 @@
 import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.FooterPreference;
 
-/**
- * Battery saver settings page
- */
+/** Battery saver settings page */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
 public class BatterySaverSettings extends DashboardFragment {
     private static final String TAG = "BatterySaverSettings";
@@ -63,9 +61,7 @@
         return R.string.help_url_battery_saver_settings;
     }
 
-    /**
-     * For Search.
-     */
+    /** For Search. */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.battery_saver_settings);
 
@@ -83,13 +79,17 @@
     void addHelpLink() {
         FooterPreference pref = getPreferenceScreen().findPreference(KEY_FOOTER_PREFERENCE);
         if (pref != null) {
-            pref.setLearnMoreAction(v -> {
-                mMetricsFeatureProvider.action(getContext(),
-                        SettingsEnums.ACTION_APP_BATTERY_LEARN_MORE);
-                startActivityForResult(HelpUtils.getHelpIntent(getContext(),
-                        getString(R.string.help_url_battery_saver_settings),
-                        /*backupContext=*/ ""), /*requestCode=*/ 0);
-            });
+            pref.setLearnMoreAction(
+                    v -> {
+                        mMetricsFeatureProvider.action(
+                                getContext(), SettingsEnums.ACTION_APP_BATTERY_LEARN_MORE);
+                        startActivityForResult(
+                                HelpUtils.getHelpIntent(
+                                        getContext(),
+                                        getString(R.string.help_url_battery_saver_settings),
+                                        /* backupContext= */ ""),
+                                /* requestCode= */ 0);
+                    });
             pref.setLearnMoreText(getString(R.string.battery_saver_link_a11y));
         }
     }
diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java
index f06083a..dea4e4d 100644
--- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverStickyPreferenceController.java
@@ -5,15 +5,15 @@
 import android.provider.Settings.Global;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.TogglePreferenceController;
 
-public class BatterySaverStickyPreferenceController extends TogglePreferenceController implements
-        PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+public class BatterySaverStickyPreferenceController extends TogglePreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
     private static final int DEFAULT_STICKY_SHUTOFF_LEVEL = 90;
 
     private Context mContext;
@@ -25,36 +25,48 @@
 
     @Override
     public boolean isChecked() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-            Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, 1) == 1;
+        return Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED,
+                        1)
+                == 1;
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        Settings.Global.putInt(mContext.getContentResolver(),
-            Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED,
-            isChecked ? 1 : 0);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED,
+                isChecked ? 1 : 0);
         return true;
     }
 
     @Override
     protected void refreshSummary(Preference preference) {
         super.refreshSummary(preference);
-        final int stickyShutoffLevel = Settings.Global.getInt(mContext.getContentResolver(),
-                Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL, DEFAULT_STICKY_SHUTOFF_LEVEL);
+        final int stickyShutoffLevel =
+                Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL,
+                        DEFAULT_STICKY_SHUTOFF_LEVEL);
         final String formatPercentage = Utils.formatPercentage(stickyShutoffLevel);
-        preference.setTitle(mContext.getString(R.string.battery_saver_sticky_title_percentage,
-                formatPercentage));
-        preference.setSummary(mContext.getString(R.string.battery_saver_sticky_description_new,
-                formatPercentage));
+        preference.setTitle(
+                mContext.getString(
+                        R.string.battery_saver_sticky_title_percentage, formatPercentage));
+        preference.setSummary(
+                mContext.getString(
+                        R.string.battery_saver_sticky_description_new, formatPercentage));
     }
 
     @Override
     public void updateState(Preference preference) {
-        int setting = Settings.Global.getInt(mContext.getContentResolver(),
-            Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, 1);
+        int setting =
+                Settings.Global.getInt(
+                        mContext.getContentResolver(),
+                        Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED,
+                        1);
 
-        ((SwitchPreference) preference).setChecked(setting == 1);
+        ((TwoStatePreference) preference).setChecked(setting == 1);
         refreshSummary(preference);
     }
 
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobService.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobService.java
deleted file mode 100644
index bb73142..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobService.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import android.app.job.JobInfo;
-import android.app.job.JobParameters;
-import android.app.job.JobScheduler;
-import android.app.job.JobService;
-import android.content.ComponentName;
-import android.content.Context;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.concurrent.TimeUnit;
-
-/** A JobService to clean up obsolete data in anomaly database */
-public class AnomalyCleanupJobService extends JobService {
-    private static final String TAG = "AnomalyCleanUpJobService";
-
-    @VisibleForTesting
-    static final long CLEAN_UP_FREQUENCY_MS = TimeUnit.DAYS.toMillis(1);
-
-    public static void scheduleCleanUp(Context context) {
-        final JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);
-
-        final ComponentName component = new ComponentName(context, AnomalyCleanupJobService.class);
-        final JobInfo.Builder jobBuilder =
-                new JobInfo.Builder(R.integer.job_anomaly_clean_up, component)
-                        .setPeriodic(CLEAN_UP_FREQUENCY_MS)
-                        .setRequiresDeviceIdle(true)
-                        .setRequiresCharging(true)
-                        .setPersisted(true);
-        final JobInfo pending = jobScheduler.getPendingJob(R.integer.job_anomaly_clean_up);
-
-        // Don't schedule it if it already exists, to make sure it runs periodically even after
-        // reboot
-        if (pending == null && jobScheduler.schedule(jobBuilder.build())
-                != JobScheduler.RESULT_SUCCESS) {
-            Log.i(TAG, "Anomaly clean up job service schedule failed.");
-        }
-    }
-
-    @Override
-    public boolean onStartJob(JobParameters params) {
-        final BatteryDatabaseManager batteryDatabaseManager = BatteryDatabaseManager
-                .getInstance(this);
-        final BatteryTipPolicy policy = new BatteryTipPolicy(this);
-        ThreadUtils.postOnBackgroundThread(() -> {
-            batteryDatabaseManager.deleteAllAnomaliesBeforeTimeStamp(
-                    System.currentTimeMillis() - TimeUnit.DAYS.toMillis(
-                            policy.dataHistoryRetainDay));
-            jobFinished(params, false /* wantsReschedule */);
-        });
-
-        return true;
-    }
-
-    @Override
-    public boolean onStopJob(JobParameters jobParameters) {
-        return false;
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobService.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobService.java
deleted file mode 100644
index ad02c3a..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobService.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import android.app.StatsManager;
-import android.app.job.JobInfo;
-import android.app.job.JobParameters;
-import android.app.job.JobScheduler;
-import android.app.job.JobService;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.SharedPreferences;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.Base64;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.concurrent.TimeUnit;
-
-/** A JobService check whether to update the anomaly config periodically */
-public class AnomalyConfigJobService extends JobService {
-    private static final String TAG = "AnomalyConfigJobService";
-
-    public static final String PREF_DB = "anomaly_pref";
-    public static final String KEY_ANOMALY_CONFIG_VERSION = "anomaly_config_version";
-    private static final int DEFAULT_VERSION = 0;
-
-    @VisibleForTesting
-    static final long CONFIG_UPDATE_FREQUENCY_MS = TimeUnit.DAYS.toMillis(1);
-
-    public static void scheduleConfigUpdate(Context context) {
-        final JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);
-
-        final ComponentName component = new ComponentName(context, AnomalyConfigJobService.class);
-        final JobInfo.Builder jobBuilder =
-                new JobInfo.Builder(R.integer.job_anomaly_config_update, component)
-                        .setPeriodic(CONFIG_UPDATE_FREQUENCY_MS)
-                        .setRequiresDeviceIdle(true)
-                        .setRequiresCharging(true)
-                        .setPersisted(true);
-        final JobInfo pending = jobScheduler.getPendingJob(R.integer.job_anomaly_config_update);
-
-        // Don't schedule it if it already exists, to make sure it runs periodically even after
-        // reboot
-        if (pending == null && jobScheduler.schedule(jobBuilder.build())
-                != JobScheduler.RESULT_SUCCESS) {
-            Log.i(TAG, "Anomaly config update job service schedule failed.");
-        }
-    }
-
-    @Override
-    public boolean onStartJob(JobParameters params) {
-        ThreadUtils.postOnBackgroundThread(() -> {
-            final StatsManager statsManager = getSystemService(StatsManager.class);
-            checkAnomalyConfig(statsManager);
-            try {
-                BatteryTipUtils.uploadAnomalyPendingIntent(this, statsManager);
-            } catch (StatsManager.StatsUnavailableException e) {
-                Log.w(TAG, "Failed to uploadAnomalyPendingIntent.", e);
-            }
-            jobFinished(params, false /* wantsReschedule */);
-        });
-
-        return true;
-    }
-
-    @Override
-    public boolean onStopJob(JobParameters jobParameters) {
-        return false;
-    }
-
-    @VisibleForTesting
-    synchronized void checkAnomalyConfig(StatsManager statsManager) {
-        final SharedPreferences sharedPreferences = getSharedPreferences(PREF_DB,
-                Context.MODE_PRIVATE);
-        final int currentVersion = sharedPreferences.getInt(KEY_ANOMALY_CONFIG_VERSION,
-                DEFAULT_VERSION);
-        final int newVersion = Settings.Global.getInt(getContentResolver(),
-                Settings.Global.ANOMALY_CONFIG_VERSION, DEFAULT_VERSION);
-        final String rawConfig = Settings.Global.getString(getContentResolver(),
-                Settings.Global.ANOMALY_CONFIG);
-        Log.i(TAG, "CurrentVersion: " + currentVersion + " new version: " + newVersion);
-
-        if (newVersion > currentVersion) {
-            try {
-                statsManager.removeConfig(StatsManagerConfig.ANOMALY_CONFIG_KEY);
-            } catch (StatsManager.StatsUnavailableException e) {
-                Log.i(TAG, "When updating anomaly config, failed to first remove the old config "
-                        + StatsManagerConfig.ANOMALY_CONFIG_KEY, e);
-            }
-            if (!TextUtils.isEmpty(rawConfig)) {
-                try {
-                    final byte[] config = Base64.decode(rawConfig, Base64.DEFAULT);
-                    statsManager.addConfig(StatsManagerConfig.ANOMALY_CONFIG_KEY, config);
-                    Log.i(TAG, "Upload the anomaly config. configKey: "
-                            + StatsManagerConfig.ANOMALY_CONFIG_KEY);
-                    SharedPreferences.Editor editor = sharedPreferences.edit();
-                    editor.putInt(KEY_ANOMALY_CONFIG_VERSION, newVersion);
-                    editor.commit();
-                } catch (IllegalArgumentException e) {
-                    Log.e(TAG, "Anomaly raw config is in wrong format", e);
-                } catch (StatsManager.StatsUnavailableException e) {
-                    Log.i(TAG, "Upload of anomaly config failed for configKey "
-                            + StatsManagerConfig.ANOMALY_CONFIG_KEY, e);
-                }
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigReceiver.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigReceiver.java
deleted file mode 100644
index 369e613..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigReceiver.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import android.app.StatsManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.util.Log;
-
-/**
- * Receive broadcast when {@link StatsManager} restart, then check the anomaly config and
- * prepare info for {@link StatsManager}
- */
-public class AnomalyConfigReceiver extends BroadcastReceiver {
-    private static final String TAG = "AnomalyConfigReceiver";
-
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        if (StatsManager.ACTION_STATSD_STARTED.equals(intent.getAction())
-                || Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
-            final StatsManager statsManager = context.getSystemService(StatsManager.class);
-
-            // Check whether to update the config
-            AnomalyConfigJobService.scheduleConfigUpdate(context);
-
-            try {
-                BatteryTipUtils.uploadAnomalyPendingIntent(context, statsManager);
-            } catch (StatsManager.StatsUnavailableException e) {
-                Log.w(TAG, "Failed to uploadAnomalyPendingIntent.", e);
-            }
-
-            if (Intent.ACTION_BOOT_COMPLETED.equals(intent.getAction())) {
-                AnomalyCleanupJobService.scheduleCleanUp(context);
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyDatabaseHelper.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyDatabaseHelper.java
index 349a419..6ec516e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyDatabaseHelper.java
+++ b/src/com/android/settings/fuelgauge/batterytip/AnomalyDatabaseHelper.java
@@ -26,9 +26,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-/**
- * Database controls the anomaly logging(e.g. packageName, anomalyType and time)
- */
+/** Database controls the anomaly logging(e.g. packageName, anomalyType and time) */
 public class AnomalyDatabaseHelper extends SQLiteOpenHelper {
     private static final String TAG = "BatteryDatabaseHelper";
 
@@ -36,9 +34,7 @@
     private static final int DATABASE_VERSION = 5;
 
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({State.NEW,
-            State.HANDLED,
-            State.AUTO_HANDLED})
+    @IntDef({State.NEW, State.HANDLED, State.AUTO_HANDLED})
     public @interface State {
         int NEW = 0;
         int HANDLED = 1;
@@ -57,81 +53,92 @@
     }
 
     public interface AnomalyColumns {
-        /**
-         * The package name of the anomaly app
-         */
+        /** The package name of the anomaly app */
         String PACKAGE_NAME = "package_name";
-        /**
-         * The uid of the anomaly app
-         */
+
+        /** The uid of the anomaly app */
         String UID = "uid";
+
         /**
          * The type of the anomaly app
+         *
          * @see StatsManagerConfig.AnomalyType
          */
         String ANOMALY_TYPE = "anomaly_type";
+
         /**
          * The state of the anomaly app
+         *
          * @see State
          */
         String ANOMALY_STATE = "anomaly_state";
-        /**
-         * The time when anomaly happens
-         */
+
+        /** The time when anomaly happens */
         String TIME_STAMP_MS = "time_stamp_ms";
     }
 
     private static final String CREATE_ANOMALY_TABLE =
-            "CREATE TABLE " + Tables.TABLE_ANOMALY +
-                    "(" +
-                    AnomalyColumns.UID +
-                    " INTEGER NOT NULL, " +
-                    AnomalyColumns.PACKAGE_NAME +
-                    " TEXT, " +
-                    AnomalyColumns.ANOMALY_TYPE +
-                    " INTEGER NOT NULL, " +
-                    AnomalyColumns.ANOMALY_STATE +
-                    " INTEGER NOT NULL, " +
-                    AnomalyColumns.TIME_STAMP_MS +
-                    " INTEGER NOT NULL, " +
-                    " PRIMARY KEY (" + AnomalyColumns.UID + "," + AnomalyColumns.ANOMALY_TYPE + ","
-                    + AnomalyColumns.ANOMALY_STATE + "," + AnomalyColumns.TIME_STAMP_MS + ")"
+            "CREATE TABLE "
+                    + Tables.TABLE_ANOMALY
+                    + "("
+                    + AnomalyColumns.UID
+                    + " INTEGER NOT NULL, "
+                    + AnomalyColumns.PACKAGE_NAME
+                    + " TEXT, "
+                    + AnomalyColumns.ANOMALY_TYPE
+                    + " INTEGER NOT NULL, "
+                    + AnomalyColumns.ANOMALY_STATE
+                    + " INTEGER NOT NULL, "
+                    + AnomalyColumns.TIME_STAMP_MS
+                    + " INTEGER NOT NULL, "
+                    + " PRIMARY KEY ("
+                    + AnomalyColumns.UID
+                    + ","
+                    + AnomalyColumns.ANOMALY_TYPE
+                    + ","
+                    + AnomalyColumns.ANOMALY_STATE
+                    + ","
+                    + AnomalyColumns.TIME_STAMP_MS
+                    + ")"
                     + ")";
 
-
     public interface ActionColumns {
-        /**
-         * The package name of an app been performed an action
-         */
+        /** The package name of an app been performed an action */
         String PACKAGE_NAME = "package_name";
-        /**
-         * The uid of an app been performed an action
-         */
+
+        /** The uid of an app been performed an action */
         String UID = "uid";
+
         /**
          * The type of user action
+         *
          * @see ActionType
          */
         String ACTION_TYPE = "action_type";
-        /**
-         * The time when action been performed
-         */
+
+        /** The time when action been performed */
         String TIME_STAMP_MS = "time_stamp_ms";
     }
 
     private static final String CREATE_ACTION_TABLE =
-            "CREATE TABLE " + Tables.TABLE_ACTION +
-                    "(" +
-                    ActionColumns.UID +
-                    " INTEGER NOT NULL, " +
-                    ActionColumns.PACKAGE_NAME +
-                    " TEXT, " +
-                    ActionColumns.ACTION_TYPE +
-                    " INTEGER NOT NULL, " +
-                    ActionColumns.TIME_STAMP_MS +
-                    " INTEGER NOT NULL, " +
-                    " PRIMARY KEY (" + ActionColumns.ACTION_TYPE + "," + ActionColumns.UID + ","
-                    + ActionColumns.PACKAGE_NAME + ")"
+            "CREATE TABLE "
+                    + Tables.TABLE_ACTION
+                    + "("
+                    + ActionColumns.UID
+                    + " INTEGER NOT NULL, "
+                    + ActionColumns.PACKAGE_NAME
+                    + " TEXT, "
+                    + ActionColumns.ACTION_TYPE
+                    + " INTEGER NOT NULL, "
+                    + ActionColumns.TIME_STAMP_MS
+                    + " INTEGER NOT NULL, "
+                    + " PRIMARY KEY ("
+                    + ActionColumns.ACTION_TYPE
+                    + ","
+                    + ActionColumns.UID
+                    + ","
+                    + ActionColumns.PACKAGE_NAME
+                    + ")"
                     + ")";
 
     private static AnomalyDatabaseHelper sSingleton;
@@ -155,8 +162,14 @@
     @Override
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
         if (oldVersion < DATABASE_VERSION) {
-            Log.w(TAG, "Detected schema version '" + oldVersion + "'. " +
-                    "Index needs to be rebuilt for schema version '" + newVersion + "'.");
+            Log.w(
+                    TAG,
+                    "Detected schema version '"
+                            + oldVersion
+                            + "'. "
+                            + "Index needs to be rebuilt for schema version '"
+                            + newVersion
+                            + "'.");
             // We need to drop the tables and recreate them
             reconstruct(db);
         }
@@ -164,8 +177,14 @@
 
     @Override
     public void onDowngrade(SQLiteDatabase db, int oldVersion, int newVersion) {
-        Log.w(TAG, "Detected schema version '" + oldVersion + "'. " +
-                "Index needs to be rebuilt for schema version '" + newVersion + "'.");
+        Log.w(
+                TAG,
+                "Detected schema version '"
+                        + oldVersion
+                        + "'. "
+                        + "Index needs to be rebuilt for schema version '"
+                        + newVersion
+                        + "'.");
         // We need to drop the tables and recreate them
         reconstruct(db);
     }
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java
deleted file mode 100644
index 93a95f3..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobService.java
+++ /dev/null
@@ -1,237 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import static android.os.StatsDimensionsValue.INT_VALUE_TYPE;
-import static android.os.StatsDimensionsValue.TUPLE_VALUE_TYPE;
-
-import android.app.AppOpsManager;
-import android.app.StatsManager;
-import android.app.job.JobInfo;
-import android.app.job.JobParameters;
-import android.app.job.JobScheduler;
-import android.app.job.JobService;
-import android.app.job.JobWorkItem;
-import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.StatsDimensionsValue;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.annotation.GuardedBy;
-import androidx.annotation.VisibleForTesting;
-
-import com.android.internal.util.ArrayUtils;
-import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryUtils;
-import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-/** A JobService to store anomaly data to anomaly database */
-public class AnomalyDetectionJobService extends JobService {
-    private static final String TAG = "AnomalyDetectionService";
-    private static final int ON = 1;
-    @VisibleForTesting
-    static final int UID_NULL = -1;
-    @VisibleForTesting
-    static final int STATSD_UID_FILED = 1;
-    @VisibleForTesting
-    static final long MAX_DELAY_MS = TimeUnit.MINUTES.toMillis(30);
-
-    private final Object mLock = new Object();
-    @GuardedBy("mLock")
-    @VisibleForTesting
-    boolean mIsJobCanceled = false;
-
-    public static void scheduleAnomalyDetection(Context context, Intent intent) {
-        final JobScheduler jobScheduler = context.getSystemService(JobScheduler.class);
-        final ComponentName component = new ComponentName(context,
-                AnomalyDetectionJobService.class);
-        final JobInfo.Builder jobBuilder =
-                new JobInfo.Builder(R.integer.job_anomaly_detection, component)
-                        .setOverrideDeadline(MAX_DELAY_MS);
-
-        if (jobScheduler.enqueue(jobBuilder.build(), new JobWorkItem(intent))
-                != JobScheduler.RESULT_SUCCESS) {
-            Log.i(TAG, "Anomaly detection job service enqueue failed.");
-        }
-    }
-
-    @Override
-    public boolean onStartJob(JobParameters params) {
-        synchronized (mLock) {
-            mIsJobCanceled = false;
-        }
-        ThreadUtils.postOnBackgroundThread(() -> {
-            final Context context = AnomalyDetectionJobService.this;
-            final BatteryDatabaseManager batteryDatabaseManager =
-                    BatteryDatabaseManager.getInstance(this);
-            final BatteryTipPolicy policy = new BatteryTipPolicy(this);
-            final BatteryUtils batteryUtils = BatteryUtils.getInstance(this);
-            final ContentResolver contentResolver = getContentResolver();
-            final UserManager userManager = getSystemService(UserManager.class);
-            final PowerAllowlistBackend powerAllowlistBackend =
-                    PowerAllowlistBackend.getInstance(context);
-            final PowerUsageFeatureProvider powerUsageFeatureProvider = FeatureFactory
-                    .getFactory(this).getPowerUsageFeatureProvider(this);
-            final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory
-                    .getFactory(this).getMetricsFeatureProvider();
-
-            for (JobWorkItem item = dequeueWork(params); item != null; item = dequeueWork(params)) {
-                saveAnomalyToDatabase(context, userManager,
-                        batteryDatabaseManager, batteryUtils, policy, powerAllowlistBackend,
-                        contentResolver, powerUsageFeatureProvider, metricsFeatureProvider,
-                        item.getIntent().getExtras());
-
-                completeWork(params, item);
-            }
-        });
-
-        return true;
-    }
-
-    @Override
-    public boolean onStopJob(JobParameters jobParameters) {
-        synchronized (mLock) {
-            mIsJobCanceled = true;
-        }
-        return true; // Need to reschedule
-    }
-
-    @VisibleForTesting
-    void saveAnomalyToDatabase(Context context, UserManager userManager,
-            BatteryDatabaseManager databaseManager, BatteryUtils batteryUtils,
-            BatteryTipPolicy policy, PowerAllowlistBackend powerAllowlistBackend,
-            ContentResolver contentResolver, PowerUsageFeatureProvider powerUsageFeatureProvider,
-            MetricsFeatureProvider metricsFeatureProvider, Bundle bundle) {
-        // The Example of intentDimsValue is: 35:{1:{1:{1:10013|}|}|}
-        final StatsDimensionsValue intentDimsValue =
-                bundle.getParcelable(StatsManager.EXTRA_STATS_DIMENSIONS_VALUE);
-        final long timeMs = bundle.getLong(AnomalyDetectionReceiver.KEY_ANOMALY_TIMESTAMP,
-                System.currentTimeMillis());
-        final ArrayList<String> cookies = bundle.getStringArrayList(
-                StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES);
-        final AnomalyInfo anomalyInfo = new AnomalyInfo(
-                !ArrayUtils.isEmpty(cookies) ? cookies.get(0) : "");
-        Log.i(TAG, "Extra stats value: " + intentDimsValue.toString());
-
-        try {
-            final int uid = extractUidFromStatsDimensionsValue(intentDimsValue);
-            final boolean autoFeatureOn = powerUsageFeatureProvider.isSmartBatterySupported()
-                    ? Settings.Global.getInt(contentResolver,
-                    Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON) == ON
-                    : Settings.Global.getInt(contentResolver,
-                            Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON) == ON;
-            final String packageName = batteryUtils.getPackageName(uid);
-            final long versionCode = batteryUtils.getAppLongVersionCode(packageName);
-            final String versionedPackage = packageName + "/" + versionCode;
-            if (batteryUtils.shouldHideAnomaly(powerAllowlistBackend, uid, anomalyInfo)) {
-                metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
-                        SettingsEnums.ACTION_ANOMALY_IGNORED,
-                        SettingsEnums.PAGE_UNKNOWN,
-                        versionedPackage,
-                        anomalyInfo.anomalyType);
-            } else {
-                if (autoFeatureOn && anomalyInfo.autoRestriction) {
-                    // Auto restrict this app
-                    batteryUtils.setForceAppStandby(uid, packageName,
-                            AppOpsManager.MODE_IGNORED);
-                    databaseManager.insertAnomaly(uid, packageName, anomalyInfo.anomalyType,
-                            AnomalyDatabaseHelper.State.AUTO_HANDLED,
-                            timeMs);
-                } else {
-                    databaseManager.insertAnomaly(uid, packageName, anomalyInfo.anomalyType,
-                            AnomalyDatabaseHelper.State.NEW,
-                            timeMs);
-                }
-                metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
-                        SettingsEnums.ACTION_ANOMALY_TRIGGERED,
-                        SettingsEnums.PAGE_UNKNOWN,
-                        versionedPackage,
-                        anomalyInfo.anomalyType);
-            }
-
-        } catch (NullPointerException | IndexOutOfBoundsException e) {
-            Log.e(TAG, "Parse stats dimensions value error.", e);
-        }
-    }
-
-    /**
-     * Extract the uid from {@link StatsDimensionsValue}
-     *
-     * The uid dimension has the format: 1:<int> inside the tuple list. Here are some examples:
-     * 1. Excessive bg anomaly: 27:{1:10089|}
-     * 2. Wakeup alarm anomaly: 35:{1:{1:{1:10013|}|}|}
-     * 3. Bluetooth anomaly:    3:{1:{1:{1:10140|}|}|}
-     */
-    @VisibleForTesting
-    int extractUidFromStatsDimensionsValue(StatsDimensionsValue statsDimensionsValue) {
-        if (statsDimensionsValue == null) {
-            return UID_NULL;
-        }
-        if (statsDimensionsValue.isValueType(INT_VALUE_TYPE)
-                && statsDimensionsValue.getField() == STATSD_UID_FILED) {
-            // Find out the real uid
-            return statsDimensionsValue.getIntValue();
-        }
-        if (statsDimensionsValue.isValueType(TUPLE_VALUE_TYPE)) {
-            final List<StatsDimensionsValue> values = statsDimensionsValue.getTupleValueList();
-            for (int i = 0, size = values.size(); i < size; i++) {
-                int uid = extractUidFromStatsDimensionsValue(values.get(i));
-                if (uid != UID_NULL) {
-                    return uid;
-                }
-            }
-        }
-
-        return UID_NULL;
-    }
-
-    @VisibleForTesting
-    JobWorkItem dequeueWork(JobParameters parameters) {
-        synchronized (mLock) {
-            if (mIsJobCanceled) {
-                return null;
-            }
-
-            return parameters.dequeueWork();
-        }
-    }
-
-    @VisibleForTesting
-    void completeWork(JobParameters parameters, JobWorkItem item) {
-        synchronized (mLock) {
-            if (mIsJobCanceled) {
-                return;
-            }
-
-            parameters.completeWork(item);
-        }
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionReceiver.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionReceiver.java
deleted file mode 100644
index b1bb73a..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionReceiver.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import android.app.StatsManager;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Bundle;
-import android.util.Log;
-
-/**
- * Receive the anomaly info from {@link StatsManager}
- */
-public class AnomalyDetectionReceiver extends BroadcastReceiver {
-    private static final String TAG = "SettingsAnomalyReceiver";
-
-    public static final String KEY_ANOMALY_TIMESTAMP = "key_anomaly_timestamp";
-
-    @Override
-    public void onReceive(Context context, Intent intent) {
-        final long configUid = intent.getLongExtra(StatsManager.EXTRA_STATS_CONFIG_UID, -1);
-        final long configKey = intent.getLongExtra(StatsManager.EXTRA_STATS_CONFIG_KEY, -1);
-        final long subscriptionId = intent.getLongExtra(StatsManager.EXTRA_STATS_SUBSCRIPTION_ID,
-                -1);
-        Log.i(TAG, "Anomaly intent received.  configUid = " + configUid + " configKey = "
-                + configKey + " subscriptionId = " + subscriptionId);
-
-        final Bundle bundle = intent.getExtras();
-        if (bundle == null) {
-            return;
-        }
-        bundle.putLong(KEY_ANOMALY_TIMESTAMP, System.currentTimeMillis());
-
-        AnomalyDetectionJobService.scheduleAnomalyDetection(context, intent);
-    }
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/AnomalyInfo.java b/src/com/android/settings/fuelgauge/batterytip/AnomalyInfo.java
deleted file mode 100644
index fc15706..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/AnomalyInfo.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import android.util.KeyValueListParser;
-import android.util.Log;
-
-/**
- * Model class to parse and store anomaly info from statsd.
- */
-public class AnomalyInfo {
-    private static final String TAG = "AnomalyInfo";
-
-    private static final String KEY_ANOMALY_TYPE = "anomaly_type";
-    private static final String KEY_AUTO_RESTRICTION = "auto_restriction";
-    public final Integer anomalyType;
-    public final boolean autoRestriction;
-
-    public AnomalyInfo(String info) {
-        Log.i(TAG, "anomalyInfo: " + info);
-        KeyValueListParser parser = new KeyValueListParser(',');
-        parser.setString(info);
-        anomalyType = parser.getInt(KEY_ANOMALY_TYPE, -1);
-        autoRestriction = parser.getBoolean(KEY_AUTO_RESTRICTION, false);
-    }
-
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/AppInfo.java b/src/com/android/settings/fuelgauge/batterytip/AppInfo.java
index e79b874..8166a3d 100644
--- a/src/com/android/settings/fuelgauge/batterytip/AppInfo.java
+++ b/src/com/android/settings/fuelgauge/batterytip/AppInfo.java
@@ -25,16 +25,17 @@
 
 import java.util.Objects;
 
-/**
- * Model class stores app info(e.g. package name, type..) that used in battery tip
- */
+/** Model class stores app info(e.g. package name, type..) that used in battery tip */
 public class AppInfo implements Comparable<AppInfo>, Parcelable {
     public final String packageName;
+
     /**
      * Anomaly type of the app
+     *
      * @see StatsManagerConfig.AnomalyType
      */
     public final ArraySet<Integer> anomalyTypes;
+
     public final long screenOnTimeMs;
     public final int uid;
 
@@ -73,7 +74,11 @@
 
     @Override
     public String toString() {
-        return "packageName=" + packageName + ",anomalyTypes=" + anomalyTypes + ",screenTime="
+        return "packageName="
+                + packageName
+                + ",anomalyTypes="
+                + anomalyTypes
+                + ",screenTime="
                 + screenOnTimeMs;
     }
 
@@ -93,15 +98,16 @@
                 && TextUtils.equals(packageName, other.packageName);
     }
 
-    public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
-        public AppInfo createFromParcel(Parcel in) {
-            return new AppInfo(in);
-        }
+    public static final Parcelable.Creator CREATOR =
+            new Parcelable.Creator() {
+                public AppInfo createFromParcel(Parcel in) {
+                    return new AppInfo(in);
+                }
 
-        public AppInfo[] newArray(int size) {
-            return new AppInfo[size];
-        }
-    };
+                public AppInfo[] newArray(int size) {
+                    return new AppInfo[size];
+                }
+            };
 
     public static final class Builder {
         private ArraySet<Integer> mAnomalyTypes = new ArraySet<>();
@@ -133,4 +139,4 @@
             return new AppInfo(this);
         }
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryDatabaseManager.java b/src/com/android/settings/fuelgauge/batterytip/BatteryDatabaseManager.java
index bb69999..2b0ba45 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryDatabaseManager.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryDatabaseManager.java
@@ -47,8 +47,8 @@
 /**
  * Database manager for battery data. Now it only contains anomaly data stored in {@link AppInfo}.
  *
- * This manager may be accessed by multi-threads. All the database related methods are synchronized
- * so each operation won't be interfered by other threads.
+ * <p>This manager may be accessed by multi-threads. All the database related methods are
+ * synchronized so each operation won't be interfered by other threads.
  */
 public class BatteryDatabaseManager {
     private static BatteryDatabaseManager sSingleton;
@@ -74,16 +74,15 @@
     /**
      * Insert an anomaly log to database.
      *
-     * @param uid          the uid of the app
-     * @param packageName  the package name of the app
-     * @param type         the type of the anomaly
+     * @param uid the uid of the app
+     * @param packageName the package name of the app
+     * @param type the type of the anomaly
      * @param anomalyState the state of the anomaly
-     * @param timestampMs  the time when it is happened
+     * @param timestampMs the time when it is happened
      * @return {@code true} if insert operation succeed
      */
-    public synchronized boolean insertAnomaly(int uid, String packageName, int type,
-            int anomalyState,
-            long timestampMs) {
+    public synchronized boolean insertAnomaly(
+            int uid, String packageName, int type, int anomalyState, long timestampMs) {
         final SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
         ContentValues values = new ContentValues();
         values.put(UID, uid);
@@ -105,22 +104,31 @@
         final String orderBy = AnomalyDatabaseHelper.AnomalyColumns.TIME_STAMP_MS + " DESC";
         final Map<Integer, AppInfo.Builder> mAppInfoBuilders = new ArrayMap<>();
         final String selection = TIME_STAMP_MS + " > ? AND " + ANOMALY_STATE + " = ? ";
-        final String[] selectionArgs = new String[]{String.valueOf(timestampMsAfter),
-                String.valueOf(state)};
+        final String[] selectionArgs =
+                new String[] {String.valueOf(timestampMsAfter), String.valueOf(state)};
 
-        try (Cursor cursor = db.query(TABLE_ANOMALY, projection, selection, selectionArgs,
-                null /* groupBy */, null /* having */, orderBy)) {
+        try (Cursor cursor =
+                db.query(
+                        TABLE_ANOMALY,
+                        projection,
+                        selection,
+                        selectionArgs,
+                        null /* groupBy */,
+                        null /* having */,
+                        orderBy)) {
             while (cursor.moveToNext()) {
                 final int uid = cursor.getInt(cursor.getColumnIndex(UID));
                 if (!mAppInfoBuilders.containsKey(uid)) {
-                    final AppInfo.Builder builder = new AppInfo.Builder()
-                            .setUid(uid)
-                            .setPackageName(
-                                    cursor.getString(cursor.getColumnIndex(PACKAGE_NAME)));
+                    final AppInfo.Builder builder =
+                            new AppInfo.Builder()
+                                    .setUid(uid)
+                                    .setPackageName(
+                                            cursor.getString(cursor.getColumnIndex(PACKAGE_NAME)));
                     mAppInfoBuilders.put(uid, builder);
                 }
-                mAppInfoBuilders.get(uid).addAnomalyType(
-                        cursor.getInt(cursor.getColumnIndex(ANOMALY_TYPE)));
+                mAppInfoBuilders
+                        .get(uid)
+                        .addAnomalyType(cursor.getInt(cursor.getColumnIndex(ANOMALY_TYPE)));
             }
         }
 
@@ -133,15 +141,15 @@
 
     public synchronized void deleteAllAnomaliesBeforeTimeStamp(long timestampMs) {
         final SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
-        db.delete(TABLE_ANOMALY, TIME_STAMP_MS + " < ?",
-                new String[]{String.valueOf(timestampMs)});
+        db.delete(
+                TABLE_ANOMALY, TIME_STAMP_MS + " < ?", new String[] {String.valueOf(timestampMs)});
     }
 
     /**
      * Update the type of anomalies to {@code state}
      *
      * @param appInfos represents the anomalies
-     * @param state    which state to update to
+     * @param state which state to update to
      */
     public synchronized void updateAnomalies(List<AppInfo> appInfos, int state) {
         if (!appInfos.isEmpty()) {
@@ -154,8 +162,14 @@
             final SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
             final ContentValues values = new ContentValues();
             values.put(ANOMALY_STATE, state);
-            db.update(TABLE_ANOMALY, values, PACKAGE_NAME + " IN (" + TextUtils.join(",",
-                    Collections.nCopies(appInfos.size(), "?")) + ")", whereArgs);
+            db.update(
+                    TABLE_ANOMALY,
+                    values,
+                    PACKAGE_NAME
+                            + " IN ("
+                            + TextUtils.join(",", Collections.nCopies(appInfos.size(), "?"))
+                            + ")",
+                    whereArgs);
         }
     }
 
@@ -171,10 +185,17 @@
         final SQLiteDatabase db = mDatabaseHelper.getReadableDatabase();
         final String[] projection = {ActionColumns.UID, ActionColumns.TIME_STAMP_MS};
         final String selection = ActionColumns.ACTION_TYPE + " = ? ";
-        final String[] selectionArgs = new String[]{String.valueOf(type)};
+        final String[] selectionArgs = new String[] {String.valueOf(type)};
 
-        try (Cursor cursor = db.query(TABLE_ACTION, projection, selection, selectionArgs,
-                null /* groupBy */, null /* having */, null /* orderBy */)) {
+        try (Cursor cursor =
+                db.query(
+                        TABLE_ACTION,
+                        projection,
+                        selection,
+                        selectionArgs,
+                        null /* groupBy */,
+                        null /* having */,
+                        null /* orderBy */)) {
             final int uidIndex = cursor.getColumnIndex(ActionColumns.UID);
             final int timestampIndex = cursor.getColumnIndex(ActionColumns.TIME_STAMP_MS);
 
@@ -188,11 +209,12 @@
         return timeStamps;
     }
 
-    /**
-     * Insert an action, or update it if already existed
-     */
-    public synchronized boolean insertAction(@AnomalyDatabaseHelper.ActionType int type,
-            int uid, String packageName, long timestampMs) {
+    /** Insert an action, or update it if already existed */
+    public synchronized boolean insertAction(
+            @AnomalyDatabaseHelper.ActionType int type,
+            int uid,
+            String packageName,
+            long timestampMs) {
         final SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
         final ContentValues values = new ContentValues();
         values.put(ActionColumns.UID, uid);
@@ -203,17 +225,21 @@
         return db.insertWithOnConflict(TABLE_ACTION, null, values, CONFLICT_REPLACE) != -1;
     }
 
-    /**
-     * Remove an action
-     */
-    public synchronized boolean deleteAction(@AnomalyDatabaseHelper.ActionType int type,
-            int uid, String packageName) {
+    /** Remove an action */
+    public synchronized boolean deleteAction(
+            @AnomalyDatabaseHelper.ActionType int type, int uid, String packageName) {
         SQLiteDatabase db = mDatabaseHelper.getWritableDatabase();
         final String where =
-                ActionColumns.ACTION_TYPE + " = ? AND " + ActionColumns.UID + " = ? AND "
-                        + ActionColumns.PACKAGE_NAME + " = ? ";
-        final String[] whereArgs = new String[]{String.valueOf(type), String.valueOf(uid),
-                String.valueOf(packageName)};
+                ActionColumns.ACTION_TYPE
+                        + " = ? AND "
+                        + ActionColumns.UID
+                        + " = ? AND "
+                        + ActionColumns.PACKAGE_NAME
+                        + " = ? ";
+        final String[] whereArgs =
+                new String[] {
+                    String.valueOf(type), String.valueOf(uid), String.valueOf(packageName)
+                };
 
         return db.delete(TABLE_ACTION, where, whereArgs) != 0;
     }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
new file mode 100644
index 0000000..7448003
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceController.java
@@ -0,0 +1,85 @@
+/*
+ * 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.batterytip;
+
+import android.app.AppOpsManager;
+import android.content.Context;
+import android.os.UserManager;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.utils.StringUtil;
+
+/** Preference controller to control the battery manager */
+public class BatteryManagerPreferenceController extends BasePreferenceController {
+    private static final String KEY_BATTERY_MANAGER = "smart_battery_manager";
+
+    private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+    private AppOpsManager mAppOpsManager;
+    private UserManager mUserManager;
+    private boolean mEnableAppBatteryUsagePage;
+
+    public BatteryManagerPreferenceController(Context context) {
+        super(context, KEY_BATTERY_MANAGER);
+        mPowerUsageFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getPowerUsageFeatureProvider();
+        mAppOpsManager = context.getSystemService(AppOpsManager.class);
+        mUserManager = context.getSystemService(UserManager.class);
+        mEnableAppBatteryUsagePage =
+                mContext.getResources().getBoolean(R.bool.config_app_battery_usage_list_enabled);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (!mPowerUsageFeatureProvider.isBatteryManagerSupported()) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        if (!mContext.getResources().getBoolean(R.bool.config_battery_manager_consider_ac)) {
+            return AVAILABLE_UNSEARCHABLE;
+        }
+        return mPowerUsageFeatureProvider.isAdaptiveChargingSupported()
+                ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        if (!mEnableAppBatteryUsagePage) {
+            final int num = BatteryTipUtils.getRestrictedAppsList(mAppOpsManager,
+                    mUserManager).size();
+            updateSummary(preference, num);
+        }
+    }
+
+    @VisibleForTesting
+    void updateSummary(Preference preference, int num) {
+        if (num > 0) {
+            preference.setSummary(StringUtil.getIcuPluralsString(mContext, num,
+                    R.string.battery_manager_app_restricted));
+        } else {
+            preference.setSummary(
+                    mPowerUsageFeatureProvider.isAdaptiveChargingSupported()
+                            ? R.string.battery_manager_summary
+                            : R.string.battery_manager_summary_unsupported);
+        }
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java
index 3989e89..73b7523 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragment.java
@@ -46,19 +46,15 @@
 
 import java.util.List;
 
-/**
- * Dialog Fragment to show action dialog for each anomaly
- */
-public class BatteryTipDialogFragment extends InstrumentedDialogFragment implements
-        DialogInterface.OnClickListener {
+/** Dialog Fragment to show action dialog for each anomaly */
+public class BatteryTipDialogFragment extends InstrumentedDialogFragment
+        implements DialogInterface.OnClickListener {
 
     private static final String ARG_BATTERY_TIP = "battery_tip";
     private static final String ARG_METRICS_KEY = "metrics_key";
 
-    @VisibleForTesting
-    BatteryTip mBatteryTip;
-    @VisibleForTesting
-    int mMetricsKey;
+    @VisibleForTesting BatteryTip mBatteryTip;
+    @VisibleForTesting int mMetricsKey;
 
     public static BatteryTipDialogFragment newInstance(BatteryTip batteryTip, int metricsKey) {
         BatteryTipDialogFragment dialogFragment = new BatteryTipDialogFragment();
@@ -87,16 +83,17 @@
                         .create();
             case BatteryTip.TipType.HIGH_DEVICE_USAGE:
                 final HighUsageTip highUsageTip = (HighUsageTip) mBatteryTip;
-                final RecyclerView view = (RecyclerView) LayoutInflater.from(context).inflate(
-                        R.layout.recycler_view,
-                        null);
+                final RecyclerView view =
+                        (RecyclerView)
+                                LayoutInflater.from(context).inflate(R.layout.recycler_view, null);
                 view.setLayoutManager(new LinearLayoutManager(context));
-                view.setAdapter(new HighUsageAdapter(context,
-                        highUsageTip.getHighUsageAppList()));
+                view.setAdapter(new HighUsageAdapter(context, highUsageTip.getHighUsageAppList()));
 
                 return new AlertDialog.Builder(context)
-                        .setMessage(getString(R.string.battery_tip_dialog_message,
-                                highUsageTip.getHighUsageAppList().size()))
+                        .setMessage(
+                                getString(
+                                        R.string.battery_tip_dialog_message,
+                                        highUsageTip.getHighUsageAppList().size()))
                         .setView(view)
                         .setPositiveButton(android.R.string.ok, null)
                         .create();
@@ -104,14 +101,19 @@
                 final RestrictAppTip restrictAppTip = (RestrictAppTip) mBatteryTip;
                 final List<AppInfo> restrictedAppList = restrictAppTip.getRestrictAppList();
                 final int num = restrictedAppList.size();
-                final CharSequence appLabel = Utils.getApplicationLabel(context,
-                        restrictedAppList.get(0).packageName);
+                final CharSequence appLabel =
+                        Utils.getApplicationLabel(context, restrictedAppList.get(0).packageName);
 
-                final AlertDialog.Builder builder = new AlertDialog.Builder(context)
-                        .setTitle(StringUtil.getIcuPluralsString(context, num,
-                                R.string.battery_tip_restrict_app_dialog_title))
-                        .setPositiveButton(R.string.battery_tip_restrict_app_dialog_ok, this)
-                        .setNegativeButton(android.R.string.cancel, null);
+                final AlertDialog.Builder builder =
+                        new AlertDialog.Builder(context)
+                                .setTitle(
+                                        StringUtil.getIcuPluralsString(
+                                                context,
+                                                num,
+                                                R.string.battery_tip_restrict_app_dialog_title))
+                                .setPositiveButton(
+                                        R.string.battery_tip_restrict_app_dialog_ok, this)
+                                .setNegativeButton(android.R.string.cancel, null);
                 if (num == 1) {
                     builder.setMessage(
                             getString(R.string.battery_tip_restrict_app_dialog_message, appLabel));
@@ -119,22 +121,25 @@
                     builder.setMessage(
                             getString(
                                     R.string.battery_tip_restrict_apps_less_than_5_dialog_message));
-                    final RecyclerView restrictionView = (RecyclerView) LayoutInflater.from(
-                            context).inflate(R.layout.recycler_view, null);
+                    final RecyclerView restrictionView =
+                            (RecyclerView)
+                                    LayoutInflater.from(context)
+                                            .inflate(R.layout.recycler_view, null);
                     restrictionView.setLayoutManager(new LinearLayoutManager(context));
                     restrictionView.setAdapter(new HighUsageAdapter(context, restrictedAppList));
                     builder.setView(restrictionView);
                 } else {
-                    builder.setMessage(context.getString(
-                            R.string.battery_tip_restrict_apps_more_than_5_dialog_message,
-                            restrictAppTip.getRestrictAppsString(context)));
+                    builder.setMessage(
+                            context.getString(
+                                    R.string.battery_tip_restrict_apps_more_than_5_dialog_message,
+                                    restrictAppTip.getRestrictAppsString(context)));
                 }
 
                 return builder.create();
             case BatteryTip.TipType.REMOVE_APP_RESTRICTION:
                 final UnrestrictAppTip unrestrictAppTip = (UnrestrictAppTip) mBatteryTip;
-                final CharSequence name = Utils.getApplicationLabel(context,
-                        unrestrictAppTip.getPackageName());
+                final CharSequence name =
+                        Utils.getApplicationLabel(context, unrestrictAppTip.getPackageName());
 
                 return new AlertDialog.Builder(context)
                         .setTitle(getString(R.string.battery_tip_unrestrict_app_dialog_title))
@@ -158,9 +163,11 @@
         if (lsn == null) {
             return;
         }
-        final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(mBatteryTip,
-                (SettingsActivity) getActivity(),
-                (InstrumentedPreferenceFragment) getTargetFragment());
+        final BatteryTipAction action =
+                BatteryTipUtils.getActionForBatteryTip(
+                        mBatteryTip,
+                        (SettingsActivity) getActivity(),
+                        (InstrumentedPreferenceFragment) getTargetFragment());
         if (action != null) {
             action.handlePositiveAction(mMetricsKey);
         }
@@ -168,10 +175,12 @@
     }
 
     private boolean isPluggedIn() {
-        final Intent batteryIntent = getContext().registerReceiver(null /* receiver */,
-                new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
-        return batteryIntent != null && batteryIntent.getIntExtra(
-                BatteryManager.EXTRA_PLUGGED, 0) != 0;
+        final Intent batteryIntent =
+                getContext()
+                        .registerReceiver(
+                                null /* receiver */,
+                                new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
+        return batteryIntent != null
+                && batteryIntent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 0) != 0;
     }
-
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
index 34c431a..d68bf39 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoader.java
@@ -18,21 +18,16 @@
 
 import android.content.Context;
 import android.os.BatteryUsageStats;
-import android.os.PowerManager;
 
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.BatteryUtils;
 import com.android.settings.fuelgauge.batterytip.detectors.BatteryDefenderDetector;
-import com.android.settings.fuelgauge.batterytip.detectors.DockDefenderDetector;
 import com.android.settings.fuelgauge.batterytip.detectors.HighUsageDetector;
 import com.android.settings.fuelgauge.batterytip.detectors.IncompatibleChargerDetector;
-import com.android.settings.fuelgauge.batterytip.detectors.LowBatteryDetector;
-import com.android.settings.fuelgauge.batterytip.detectors.SmartBatteryDetector;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip;
-import com.android.settingslib.fuelgauge.EstimateKt;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.utils.AsyncLoaderCompat;
 
 import java.util.ArrayList;
@@ -47,8 +42,8 @@
     private static final String TAG = "BatteryTipLoader";
 
     private BatteryUsageStats mBatteryUsageStats;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
+
+    @VisibleForTesting BatteryUtils mBatteryUtils;
 
     public BatteryTipLoader(Context context, BatteryUsageStats batteryUsageStats) {
         super(context);
@@ -59,22 +54,22 @@
     @Override
     public List<BatteryTip> loadInBackground() {
         final List<BatteryTip> tips = new ArrayList<>();
-        final BatteryTipPolicy policy = new BatteryTipPolicy(getContext());
+        final BatteryTipPolicy batteryTipPolicy = new BatteryTipPolicy(getContext());
         final BatteryInfo batteryInfo = mBatteryUtils.getBatteryInfo(TAG);
         final Context context = getContext().getApplicationContext();
-        final boolean isPowerSaveMode =
-                context.getSystemService(PowerManager.class).isPowerSaveMode();
 
-        tips.add(new LowBatteryDetector(context, policy, batteryInfo, isPowerSaveMode).detect());
-        tips.add(new HighUsageDetector(context, policy, mBatteryUsageStats, batteryInfo).detect());
+        tips.add(
+                new HighUsageDetector(context, batteryTipPolicy, mBatteryUsageStats, batteryInfo)
+                        .detect());
         tips.add(new BatteryDefenderDetector(batteryInfo, context).detect());
-        tips.add(new DockDefenderDetector(batteryInfo, context).detect());
         tips.add(new IncompatibleChargerDetector(context).detect());
+        FeatureFactory.getFeatureFactory()
+                .getBatterySettingsFeatureProvider()
+                .addBatteryTipDetector(context, tips, batteryInfo, batteryTipPolicy);
         Collections.sort(tips);
         return tips;
     }
 
     @Override
-    protected void onDiscardResult(List<BatteryTip> result) {
-    }
+    protected void onDiscardResult(List<BatteryTip> result) {}
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPolicy.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPolicy.java
index 3fbbf5b..2feaad5 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPolicy.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPolicy.java
@@ -25,10 +25,7 @@
 
 import java.time.Duration;
 
-/**
- * Class to store the policy for battery tips, which comes from
- * {@link Settings.Global}
- */
+/** Class to store the policy for battery tips, which comes from {@link Settings.Global} */
 public class BatteryTipPolicy {
     public static final String TAG = "BatteryTipPolicy";
 
@@ -102,9 +99,9 @@
     public final long highUsagePeriodMs;
 
     /**
-     * The battery draining threshold to detect whether device is heavily used.
-     * If battery drains more than {@link #highUsageBatteryDraining} in last {@link
-     * #highUsagePeriodMs}, treat device as heavily used.
+     * The battery draining threshold to detect whether device is heavily used. If battery drains
+     * more than {@link #highUsageBatteryDraining} in last {@link #highUsagePeriodMs}, treat device
+     * as heavily used.
      *
      * @see Settings.Global#BATTERY_TIP_CONSTANTS
      * @see #KEY_HIGH_USAGE_BATTERY_DRAINING
@@ -171,8 +168,8 @@
     /**
      * Battery drain percentage threshold for excessive background anomaly(i.e. 10%)
      *
-     * This is an additional check for excessive background, to check whether battery drain
-     * for an app is larger than x%
+     * <p>This is an additional check for excessive background, to check whether battery drain for
+     * an app is larger than x%
      *
      * @see Settings.Global#BATTERY_TIP_CONSTANTS
      * @see #KEY_EXCESSIVE_BG_DRAIN_PERCENTAGE
@@ -220,8 +217,9 @@
     @VisibleForTesting
     BatteryTipPolicy(Context context, KeyValueListParser parser) {
         mParser = parser;
-        final String value = Settings.Global.getString(context.getContentResolver(),
-                Settings.Global.BATTERY_TIP_CONSTANTS);
+        final String value =
+                Settings.Global.getString(
+                        context.getContentResolver(), Settings.Global.BATTERY_TIP_CONSTANTS);
 
         try {
             mParser.setString(value);
@@ -234,8 +232,8 @@
         batterySaverTipEnabled = mParser.getBoolean(KEY_BATTERY_SAVER_TIP_ENABLED, true);
         highUsageEnabled = mParser.getBoolean(KEY_HIGH_USAGE_ENABLED, true);
         highUsageAppCount = mParser.getInt(KEY_HIGH_USAGE_APP_COUNT, 3);
-        highUsagePeriodMs = mParser.getLong(KEY_HIGH_USAGE_PERIOD_MS,
-                Duration.ofHours(2).toMillis());
+        highUsagePeriodMs =
+                mParser.getLong(KEY_HIGH_USAGE_PERIOD_MS, Duration.ofHours(2).toMillis());
         highUsageBatteryDraining = mParser.getInt(KEY_HIGH_USAGE_BATTERY_DRAINING, 25);
         appRestrictionEnabled = mParser.getBoolean(KEY_APP_RESTRICTION_ENABLED, true);
         appRestrictionActiveHour = mParser.getInt(KEY_APP_RESTRICTION_ACTIVE_HOUR, 24);
@@ -251,5 +249,4 @@
         testSmartBatteryTip = mParser.getBoolean(KEY_TEST_SMART_BATTERY_TIP, false);
         testLowBatteryTip = mParser.getBoolean(KEY_TEST_LOW_BATTERY_TIP, false);
     }
-
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
index b041003..31cec6a 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceController.java
@@ -16,12 +16,13 @@
 
 package com.android.settings.fuelgauge.batterytip;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.os.BadParcelableException;
 import android.os.Bundle;
+import android.util.ArrayMap;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -35,14 +36,11 @@
 import com.android.settings.widget.CardPreference;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
 
-/**
- * Controller in charge of the battery tip group
- */
+/** Controller in charge of the battery tip group */
 public class BatteryTipPreferenceController extends BasePreferenceController {
 
     public static final String PREF_NAME = "battery_tip";
@@ -57,16 +55,14 @@
     private SettingsActivity mSettingsActivity;
     private MetricsFeatureProvider mMetricsFeatureProvider;
     private boolean mNeedUpdate;
-    @VisibleForTesting
-    CardPreference mCardPreference;
-    @VisibleForTesting
-    Context mPrefContext;
+    @VisibleForTesting CardPreference mCardPreference;
+    @VisibleForTesting Context mPrefContext;
     InstrumentedPreferenceFragment mFragment;
 
     public BatteryTipPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mBatteryTipMap = new HashMap<>();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mBatteryTipMap = new ArrayMap<>();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mNeedUpdate = true;
     }
 
@@ -122,13 +118,15 @@
         final BatteryTip batteryTip = mBatteryTipMap.get(preference.getKey());
         if (batteryTip != null) {
             if (batteryTip.shouldShowDialog()) {
-                BatteryTipDialogFragment dialogFragment = BatteryTipDialogFragment.newInstance(
-                        batteryTip, mFragment.getMetricsCategory());
+                BatteryTipDialogFragment dialogFragment =
+                        BatteryTipDialogFragment.newInstance(
+                                batteryTip, mFragment.getMetricsCategory());
                 dialogFragment.setTargetFragment(mFragment, REQUEST_ANOMALY_ACTION);
                 dialogFragment.show(mFragment.getFragmentManager(), TAG);
             } else {
-                final BatteryTipAction action = BatteryTipUtils.getActionForBatteryTip(batteryTip,
-                        mSettingsActivity, mFragment);
+                final BatteryTipAction action =
+                        BatteryTipUtils.getActionForBatteryTip(
+                                batteryTip, mSettingsActivity, mFragment);
                 if (action != null) {
                     action.handlePositiveAction(mFragment.getMetricsCategory());
                 }
@@ -183,13 +181,11 @@
         return visibleBatteryTip.orElse(null);
     }
 
-    /**
-     * Listener to give the control back to target fragment
-     */
+    /** Listener to give the control back to target fragment */
     public interface BatteryTipListener {
         /**
-         * This method is invoked once battery tip is handled, then target fragment could do
-         * extra work.
+         * This method is invoked once battery tip is handled, then target fragment could do extra
+         * work.
          *
          * @param batteryTip that has been handled
          */
diff --git a/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java b/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
index 61e0fb1..7dc993c 100644
--- a/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
+++ b/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtils.java
@@ -17,8 +17,6 @@
 package com.android.settings.fuelgauge.batterytip;
 
 import android.app.AppOpsManager;
-import android.app.PendingIntent;
-import android.app.StatsManager;
 import android.content.Context;
 import android.content.Intent;
 import android.os.UserHandle;
@@ -48,15 +46,13 @@
 public class BatteryTipUtils {
     private static final int REQUEST_CODE = 0;
 
-    /**
-     * Get a list of restricted apps with {@link AppOpsManager#OP_RUN_ANY_IN_BACKGROUND}
-     */
+    /** Get a list of restricted apps with {@link AppOpsManager#OP_RUN_ANY_IN_BACKGROUND} */
     @NonNull
-    public static List<AppInfo> getRestrictedAppsList(AppOpsManager appOpsManager,
-            UserManager userManager) {
+    public static List<AppInfo> getRestrictedAppsList(
+            AppOpsManager appOpsManager, UserManager userManager) {
         final List<UserHandle> userHandles = userManager.getUserProfiles();
-        final List<AppOpsManager.PackageOps> packageOpsList = appOpsManager.getPackagesForOps(
-                new int[]{AppOpsManager.OP_RUN_ANY_IN_BACKGROUND});
+        final List<AppOpsManager.PackageOps> packageOpsList =
+                appOpsManager.getPackagesForOps(new int[] {AppOpsManager.OP_RUN_ANY_IN_BACKGROUND});
         final List<AppInfo> appInfos = new ArrayList<>();
 
         for (int i = 0, size = CollectionUtils.size(packageOpsList); i < size; i++) {
@@ -69,11 +65,12 @@
                 }
                 if (entry.getMode() != AppOpsManager.MODE_ALLOWED
                         && userHandles.contains(
-                        new UserHandle(UserHandle.getUserId(packageOps.getUid())))) {
-                    appInfos.add(new AppInfo.Builder()
-                            .setPackageName(packageOps.getPackageName())
-                            .setUid(packageOps.getUid())
-                            .build());
+                                new UserHandle(UserHandle.getUserId(packageOps.getUid())))) {
+                    appInfos.add(
+                            new AppInfo.Builder()
+                                    .setPackageName(packageOps.getPackageName())
+                                    .setUid(packageOps.getUid())
+                                    .build());
                 }
             }
         }
@@ -89,8 +86,10 @@
      * @param fragment used to populate {@link BatteryTipAction}
      * @return an action for {@code batteryTip}
      */
-    public static BatteryTipAction getActionForBatteryTip(BatteryTip batteryTip,
-            SettingsActivity settingsActivity, InstrumentedPreferenceFragment fragment) {
+    public static BatteryTipAction getActionForBatteryTip(
+            BatteryTip batteryTip,
+            SettingsActivity settingsActivity,
+            InstrumentedPreferenceFragment fragment) {
         switch (batteryTip.getType()) {
             case BatteryTip.TipType.SMART_BATTERY_MANAGER:
                 return new SmartBatteryAction(settingsActivity, fragment);
@@ -110,29 +109,8 @@
         }
     }
 
-    /**
-     * Upload the {@link PendingIntent} to {@link StatsManager} for anomaly detection
-     * @throws StatsManager.StatsUnavailableException if failed to communicate with stats service
-     */
-    public static void uploadAnomalyPendingIntent(Context context, StatsManager statsManager)
-            throws StatsManager.StatsUnavailableException {
-        final Intent extraIntent = new Intent(context, AnomalyDetectionReceiver.class);
-        final PendingIntent pendingIntent = PendingIntent.getBroadcast(context, REQUEST_CODE,
-                extraIntent, PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_MUTABLE);
-        statsManager.setBroadcastSubscriber(pendingIntent,
-                StatsManagerConfig.ANOMALY_CONFIG_KEY, StatsManagerConfig.SUBSCRIBER_ID);
-    }
-
-    /**
-     * Detect and return anomaly apps after {@code timeAfterMs}
-     */
+   /** Detect and return anomaly apps after {@code timeAfterMs} */
     public static List<AppInfo> detectAnomalies(Context context, long timeAfterMs) {
-        final List<AppInfo> highUsageApps = BatteryDatabaseManager.getInstance(context)
-                .queryAllAnomalies(timeAfterMs, AnomalyDatabaseHelper.State.NEW);
-        // Remove it if it doesn't have label or been restricted
-        highUsageApps.removeIf(AppLabelPredicate.getInstance(context)
-                .or(AppRestrictionPredicate.getInstance(context)));
-
-        return highUsageApps;
+        return new ArrayList<>();
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
index cb7b14e..3f8f8e1 100644
--- a/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
+++ b/src/com/android/settings/fuelgauge/batterytip/HighUsageAdapter.java
@@ -33,9 +33,7 @@
 
 import java.util.List;
 
-/**
- * Adapter for the high usage app list
- */
+/** Adapter for the high usage app list */
 public class HighUsageAdapter extends RecyclerView.Adapter<HighUsageAdapter.ViewHolder> {
     private final Context mContext;
     private final IconDrawableFactory mIconDrawableFactory;
@@ -66,8 +64,8 @@
 
     @Override
     public ViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
-        final View view = LayoutInflater.from(mContext).inflate(R.layout.app_high_usage_item,
-                parent, false);
+        final View view =
+                LayoutInflater.from(mContext).inflate(R.layout.app_high_usage_item, parent, false);
         return new ViewHolder(view);
     }
 
@@ -75,7 +73,10 @@
     public void onBindViewHolder(ViewHolder holder, int position) {
         final AppInfo app = mHighUsageAppList.get(position);
         holder.appIcon.setImageDrawable(
-                Utils.getBadgedIcon(mIconDrawableFactory, mPackageManager, app.packageName,
+                Utils.getBadgedIcon(
+                        mIconDrawableFactory,
+                        mPackageManager,
+                        app.packageName,
                         UserHandle.getUserId(app.uid)));
         CharSequence label = Utils.getApplicationLabel(mContext, app.packageName);
         if (label == null) {
@@ -89,4 +90,4 @@
     public int getItemCount() {
         return mHighUsageAppList.size();
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParser.java b/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParser.java
index d5710c2..76f5abc 100644
--- a/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParser.java
+++ b/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParser.java
@@ -20,20 +20,17 @@
 
 import com.android.settings.fuelgauge.BatteryInfo;
 
-/**
- * DataParser used to go through battery data and detect whether battery is
- * heavily used.
- */
+/** DataParser used to go through battery data and detect whether battery is heavily used. */
 public class HighUsageDataParser implements BatteryInfo.BatteryDataParser {
-    /**
-     * time period to check the battery usage
-     */
+    /** Time period to check the battery usage */
     private final long mTimePeriodMs;
+
     /**
-     * treat device as heavily used if battery usage is more than {@code threshold}. 1 means 1%
+     * Treat device as heavily used if battery usage is more than {@code threshold}. 1 means 1%
      * battery usage.
      */
     private int mThreshold;
+
     private long mEndTimeMs;
     private byte mEndBatteryLevel;
     private byte mLastPeriodBatteryLevel;
@@ -69,11 +66,8 @@
         mBatteryDrain = mLastPeriodBatteryLevel - mEndBatteryLevel;
     }
 
-    /**
-     * Return {@code true} if the battery drain in {@link #mTimePeriodMs} is too much
-     */
+    /** Return {@code true} if the battery drain in {@link #mTimePeriodMs} is too much */
     public boolean isDeviceHeavilyUsed() {
         return mBatteryDrain > mThreshold;
     }
 }
-
diff --git a/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java b/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java
index 153aa40..e18d11d 100644
--- a/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java
+++ b/src/com/android/settings/fuelgauge/batterytip/StatsManagerConfig.java
@@ -21,244 +21,197 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-/**
- * This class provides all the configs needed if we want to use {@link android.app.StatsManager}
- */
+/** This class provides all the configs needed if we want to use {@link android.app.StatsManager} */
 public class StatsManagerConfig {
     /**
-     * The key that represents the anomaly config.
-     * This value is used in {@link android.app.StatsManager#addConfig(long, byte[])}
+     * The key that represents the anomaly config. This value is used in {@link
+     * android.app.StatsManager#addConfig(long, byte[])}
      */
     public static final long ANOMALY_CONFIG_KEY = 1;
 
-    /**
-     * The key that represents subscriber, which is settings app.
-     */
+    /** The key that represents subscriber, which is settings app. */
     public static final long SUBSCRIBER_ID = 1;
 
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({AnomalyType.NULL,
-            AnomalyType.UNKNOWN_REASON,
-            AnomalyType.EXCESSIVE_WAKELOCK_ALL_SCREEN_OFF,
-            AnomalyType.EXCESSIVE_WAKEUPS_IN_BACKGROUND,
-            AnomalyType.EXCESSIVE_UNOPTIMIZED_BLE_SCAN,
-            AnomalyType.EXCESSIVE_BACKGROUND_SERVICE,
-            AnomalyType.EXCESSIVE_WIFI_SCAN,
-            AnomalyType.EXCESSIVE_FLASH_WRITES,
-            AnomalyType.EXCESSIVE_MEMORY_IN_BACKGROUND,
-            AnomalyType.EXCESSIVE_DAVEY_RATE,
-            AnomalyType.EXCESSIVE_JANKY_FRAMES,
-            AnomalyType.SLOW_COLD_START_TIME,
-            AnomalyType.SLOW_HOT_START_TIME,
-            AnomalyType.SLOW_WARM_START_TIME,
-            AnomalyType.EXCESSIVE_BACKGROUND_SYNCS,
-            AnomalyType.EXCESSIVE_GPS_SCANS_IN_BACKGROUND,
-            AnomalyType.EXCESSIVE_JOB_SCHEDULING,
-            AnomalyType.EXCESSIVE_MOBILE_NETWORK_IN_BACKGROUND,
-            AnomalyType.EXCESSIVE_WIFI_LOCK_TIME,
-            AnomalyType.JOB_TIMED_OUT,
-            AnomalyType.LONG_UNOPTIMIZED_BLE_SCAN,
-            AnomalyType.BACKGROUND_ANR,
-            AnomalyType.BACKGROUND_CRASH_RATE,
-            AnomalyType.EXCESSIVE_ANR_LOOPING,
-            AnomalyType.EXCESSIVE_ANRS,
-            AnomalyType.EXCESSIVE_CRASH_RATE,
-            AnomalyType.EXCESSIVE_CRASH_LOOPING,
-            AnomalyType.NUMBER_OF_OPEN_FILES,
-            AnomalyType.EXCESSIVE_CAMERA_USAGE_IN_BACKGROUND,
-            AnomalyType.EXCESSIVE_CONTACT_ACCESS,
-            AnomalyType.EXCESSIVE_AUDIO_IN_BACKGROUND,
-            AnomalyType.EXCESSIVE_CRASH_ANR_IN_BACKGROUND,
-            AnomalyType.BATTERY_DRAIN_FROM_UNUSED_APP,
+    @IntDef({
+        AnomalyType.NULL,
+        AnomalyType.UNKNOWN_REASON,
+        AnomalyType.EXCESSIVE_WAKELOCK_ALL_SCREEN_OFF,
+        AnomalyType.EXCESSIVE_WAKEUPS_IN_BACKGROUND,
+        AnomalyType.EXCESSIVE_UNOPTIMIZED_BLE_SCAN,
+        AnomalyType.EXCESSIVE_BACKGROUND_SERVICE,
+        AnomalyType.EXCESSIVE_WIFI_SCAN,
+        AnomalyType.EXCESSIVE_FLASH_WRITES,
+        AnomalyType.EXCESSIVE_MEMORY_IN_BACKGROUND,
+        AnomalyType.EXCESSIVE_DAVEY_RATE,
+        AnomalyType.EXCESSIVE_JANKY_FRAMES,
+        AnomalyType.SLOW_COLD_START_TIME,
+        AnomalyType.SLOW_HOT_START_TIME,
+        AnomalyType.SLOW_WARM_START_TIME,
+        AnomalyType.EXCESSIVE_BACKGROUND_SYNCS,
+        AnomalyType.EXCESSIVE_GPS_SCANS_IN_BACKGROUND,
+        AnomalyType.EXCESSIVE_JOB_SCHEDULING,
+        AnomalyType.EXCESSIVE_MOBILE_NETWORK_IN_BACKGROUND,
+        AnomalyType.EXCESSIVE_WIFI_LOCK_TIME,
+        AnomalyType.JOB_TIMED_OUT,
+        AnomalyType.LONG_UNOPTIMIZED_BLE_SCAN,
+        AnomalyType.BACKGROUND_ANR,
+        AnomalyType.BACKGROUND_CRASH_RATE,
+        AnomalyType.EXCESSIVE_ANR_LOOPING,
+        AnomalyType.EXCESSIVE_ANRS,
+        AnomalyType.EXCESSIVE_CRASH_RATE,
+        AnomalyType.EXCESSIVE_CRASH_LOOPING,
+        AnomalyType.NUMBER_OF_OPEN_FILES,
+        AnomalyType.EXCESSIVE_CAMERA_USAGE_IN_BACKGROUND,
+        AnomalyType.EXCESSIVE_CONTACT_ACCESS,
+        AnomalyType.EXCESSIVE_AUDIO_IN_BACKGROUND,
+        AnomalyType.EXCESSIVE_CRASH_ANR_IN_BACKGROUND,
+        AnomalyType.BATTERY_DRAIN_FROM_UNUSED_APP,
     })
     public @interface AnomalyType {
-        /**
-         * This represents an error condition in the anomaly detection.
-         */
+        /** This represents an error condition in the anomaly detection. */
         int NULL = -1;
 
-        /**
-         * The anomaly type does not match any other defined type.
-         */
+        /** The anomaly type does not match any other defined type. */
         int UNKNOWN_REASON = 0;
 
         /**
-         * The application held a partial (screen off) wake lock for a period of time that
-         * exceeded the threshold with the screen off when not charging.
+         * The application held a partial (screen off) wake lock for a period of time that exceeded
+         * the threshold with the screen off when not charging.
          */
         int EXCESSIVE_WAKELOCK_ALL_SCREEN_OFF = 1;
 
         /**
-         * The application exceeded the maximum number of wakeups while in the background
-         * when not charging.
+         * The application exceeded the maximum number of wakeups while in the background when not
+         * charging.
          */
         int EXCESSIVE_WAKEUPS_IN_BACKGROUND = 2;
 
-        /**
-         * The application did unoptimized Bluetooth scans too frequently when not charging.
-         */
+        /** The application did unoptimized Bluetooth scans too frequently when not charging. */
         int EXCESSIVE_UNOPTIMIZED_BLE_SCAN = 3;
 
         /**
-         * The application ran in the background for a period of time that exceeded the
-         * threshold.
+         * The application ran in the background for a period of time that exceeded the threshold.
          */
         int EXCESSIVE_BACKGROUND_SERVICE = 4;
 
-        /**
-         * The application exceeded the maximum number of wifi scans when not charging.
-         */
+        /** The application exceeded the maximum number of wifi scans when not charging. */
         int EXCESSIVE_WIFI_SCAN = 5;
 
-        /**
-         * The application exceed the maximum number of flash writes
-         */
+        /** The application exceed the maximum number of flash writes */
         int EXCESSIVE_FLASH_WRITES = 6;
 
         /**
-         * The application used more than the maximum memory, while not spending any time
-         * in the foreground.
+         * The application used more than the maximum memory, while not spending any time in the
+         * foreground.
          */
         int EXCESSIVE_MEMORY_IN_BACKGROUND = 7;
 
         /**
-         * The application exceeded the maximum percentage of frames with a render rate of
-         * greater than 700ms.
+         * The application exceeded the maximum percentage of frames with a render rate of greater
+         * than 700ms.
          */
         int EXCESSIVE_DAVEY_RATE = 8;
 
         /**
-         * The application exceeded the maximum percentage of frames with a render rate
-         * greater than 16ms.
+         * The application exceeded the maximum percentage of frames with a render rate greater than
+         * 16ms.
          */
         int EXCESSIVE_JANKY_FRAMES = 9;
 
         /**
-         * The application exceeded the maximum cold start time - the app has not been
-         * launched since last system start, died or was killed.
+         * The application exceeded the maximum cold start time - the app has not been launched
+         * since last system start, died or was killed.
          */
         int SLOW_COLD_START_TIME = 10;
 
         /**
-         * The application exceeded the maximum hot start time - the app and activity are
-         * already in memory.
+         * The application exceeded the maximum hot start time - the app and activity are already in
+         * memory.
          */
         int SLOW_HOT_START_TIME = 11;
 
         /**
-         * The application exceeded the maximum warm start time - the app was already in
-         * memory but the activity wasn’t created yet or was removed from memory.
+         * The application exceeded the maximum warm start time - the app was already in memory but
+         * the activity wasn’t created yet or was removed from memory.
          */
         int SLOW_WARM_START_TIME = 12;
 
-        /**
-         * The application exceeded the maximum number of syncs while in the background.
-         */
+        /** The application exceeded the maximum number of syncs while in the background. */
         int EXCESSIVE_BACKGROUND_SYNCS = 13;
 
-        /**
-         * The application exceeded the maximum number of gps scans while in the background.
-         */
+        /** The application exceeded the maximum number of gps scans while in the background. */
         int EXCESSIVE_GPS_SCANS_IN_BACKGROUND = 14;
 
-        /**
-         * The application scheduled more than the maximum number of jobs while not charging.
-         */
+        /** The application scheduled more than the maximum number of jobs while not charging. */
         int EXCESSIVE_JOB_SCHEDULING = 15;
 
         /**
-         * The application exceeded the maximum amount of mobile network traffic while in
-         * the background.
+         * The application exceeded the maximum amount of mobile network traffic while in the
+         * background.
          */
         int EXCESSIVE_MOBILE_NETWORK_IN_BACKGROUND = 16;
 
         /**
-         * The application held the WiFi lock for more than the maximum amount of time while
-         * not charging.
+         * The application held the WiFi lock for more than the maximum amount of time while not
+         * charging.
          */
         int EXCESSIVE_WIFI_LOCK_TIME = 17;
 
-        /**
-         * The application scheduled a job that ran longer than the maximum amount of time.
-         */
+        /** The application scheduled a job that ran longer than the maximum amount of time. */
         int JOB_TIMED_OUT = 18;
 
         /**
-         * The application did an unoptimized Bluetooth scan that exceeded the maximum
-         * time while in the background.
+         * The application did an unoptimized Bluetooth scan that exceeded the maximum time while in
+         * the background.
          */
         int LONG_UNOPTIMIZED_BLE_SCAN = 19;
 
-        /**
-         * The application exceeded the maximum ANR rate while in the background.
-         */
+        /** The application exceeded the maximum ANR rate while in the background. */
         int BACKGROUND_ANR = 20;
 
-        /**
-         * The application exceeded the maximum crash rate while in the background.
-         */
+        /** The application exceeded the maximum crash rate while in the background. */
         int BACKGROUND_CRASH_RATE = 21;
 
-        /**
-         * The application exceeded the maximum ANR-looping rate.
-         */
+        /** The application exceeded the maximum ANR-looping rate. */
         int EXCESSIVE_ANR_LOOPING = 22;
 
-        /**
-         * The application exceeded the maximum ANR rate.
-         */
+        /** The application exceeded the maximum ANR rate. */
         int EXCESSIVE_ANRS = 23;
 
-        /**
-         * The application exceeded the maximum crash rate.
-         */
+        /** The application exceeded the maximum crash rate. */
         int EXCESSIVE_CRASH_RATE = 24;
 
-        /**
-         * The application exceeded the maximum crash-looping rate.
-         */
+        /** The application exceeded the maximum crash-looping rate. */
         int EXCESSIVE_CRASH_LOOPING = 25;
 
-        /**
-         * The application crashed because no more file descriptors were available.
-         */
+        /** The application crashed because no more file descriptors were available. */
         int NUMBER_OF_OPEN_FILES = 26;
 
-        /**
-         * The application used an excessive amount of CPU while in a
-         * background process state.
-         */
+        /** The application used an excessive amount of CPU while in a background process state. */
         int EXCESSIVE_CPU_USAGE_IN_BACKGROUND = 27;
 
         /**
-         * The application kept the camera open for an excessive amount
-         * of time while in a bckground process state.
+         * The application kept the camera open for an excessive amount of time while in a bckground
+         * process state.
          */
         int EXCESSIVE_CAMERA_USAGE_IN_BACKGROUND = 28;
 
-        /**
-         * The application has accessed the contacts content provider an
-         * excessive amount.
-         */
+        /** The application has accessed the contacts content provider an excessive amount. */
         int EXCESSIVE_CONTACT_ACCESS = 29;
 
-        /**
-         * The application has played too much audio while in a background
-         * process state.
-         */
+        /** The application has played too much audio while in a background process state. */
         int EXCESSIVE_AUDIO_IN_BACKGROUND = 30;
 
         /**
-         * The application has crashed or ANRed too many times while in a
-         * background process state.
+         * The application has crashed or ANRed too many times while in a background process state.
          */
         int EXCESSIVE_CRASH_ANR_IN_BACKGROUND = 31;
 
         /**
-         * An application which has not been used by the user recently
-         * was detected to cause an excessive amount of battery drain.
+         * An application which has not been used by the user recently was detected to cause an
+         * excessive amount of battery drain.
          */
         int BATTERY_DRAIN_FROM_UNUSED_APP = 32;
     }
-
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java
index 6f823e9..42b1c2d 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/BatterySaverAction.java
@@ -28,14 +28,12 @@
         super(context);
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     @Override
     public void handlePositiveAction(int metricsKey) {
-        BatterySaverUtils.setPowerSaveMode(mContext, true, /*needFirstTimeWarning*/ true,
-                SAVER_ENABLED_UNKNOWN);
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_TIP_TURN_ON_BATTERY_SAVER, metricsKey);
+        BatterySaverUtils.setPowerSaveMode(
+                mContext, true, /*needFirstTimeWarning*/ true, SAVER_ENABLED_UNKNOWN);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_TIP_TURN_ON_BATTERY_SAVER, metricsKey);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java
index 0ae2c14..66f9c44 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/BatteryTipAction.java
@@ -30,11 +30,9 @@
 
     public BatteryTipAction(Context context) {
         mContext = context;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     public abstract void handlePositiveAction(int metricsKey);
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/OpenBatterySaverAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/OpenBatterySaverAction.java
index 1bc2ebf..9073086 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/OpenBatterySaverAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/OpenBatterySaverAction.java
@@ -22,23 +22,18 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.fuelgauge.batterysaver.BatterySaverSettings;
 
-/**
- *
- * Action to open the {@link com.android.settings.fuelgauge.batterysaver.BatterySaverSettings}
- */
+/** Action to open the {@link com.android.settings.fuelgauge.batterysaver.BatterySaverSettings} */
 public class OpenBatterySaverAction extends BatteryTipAction {
 
     public OpenBatterySaverAction(Context context) {
         super(context);
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     @Override
     public void handlePositiveAction(int metricsKey) {
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_TIP_OPEN_BATTERY_SAVER_PAGE, metricsKey);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_TIP_OPEN_BATTERY_SAVER_PAGE, metricsKey);
         new SubSettingLauncher(mContext)
                 .setDestination(BatterySaverSettings.class.getName())
                 .setSourceMetricsCategory(metricsKey)
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentAction.java
index f0d9f28..30c318e 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentAction.java
@@ -30,35 +30,32 @@
 
 import java.util.List;
 
-/**
- * Action to open the {@link com.android.settings.fuelgauge.RestrictedAppDetails}
- */
+/** Action to open the {@link com.android.settings.fuelgauge.RestrictedAppDetails} */
 public class OpenRestrictAppFragmentAction extends BatteryTipAction {
     private final RestrictAppTip mRestrictAppTip;
     private final InstrumentedPreferenceFragment mFragment;
-    @VisibleForTesting
-    BatteryDatabaseManager mBatteryDatabaseManager;
+    @VisibleForTesting BatteryDatabaseManager mBatteryDatabaseManager;
 
-    public OpenRestrictAppFragmentAction(InstrumentedPreferenceFragment fragment,
-            RestrictAppTip tip) {
+    public OpenRestrictAppFragmentAction(
+            InstrumentedPreferenceFragment fragment, RestrictAppTip tip) {
         super(fragment.getContext());
         mFragment = fragment;
         mRestrictAppTip = tip;
         mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(mContext);
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     @Override
     public void handlePositiveAction(int metricsKey) {
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_TIP_OPEN_APP_RESTRICTION_PAGE, metricsKey);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_TIP_OPEN_APP_RESTRICTION_PAGE, metricsKey);
         final List<AppInfo> mAppInfos = mRestrictAppTip.getRestrictAppList();
         RestrictedAppDetails.startRestrictedAppDetails(mFragment, mAppInfos);
 
         // Mark all the anomalies as handled, so it won't show up again.
-        ThreadUtils.postOnBackgroundThread(() -> mBatteryDatabaseManager.updateAnomalies(mAppInfos,
-                AnomalyDatabaseHelper.State.HANDLED));
+        ThreadUtils.postOnBackgroundThread(
+                () ->
+                        mBatteryDatabaseManager.updateAnomalies(
+                                mAppInfos, AnomalyDatabaseHelper.State.HANDLED));
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java
index 33ac5df..83abf49 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppAction.java
@@ -31,15 +31,11 @@
 
 import java.util.List;
 
-/**
- * Action to restrict the apps, then app is not allowed to run in the background.
- */
+/** Action to restrict the apps, then app is not allowed to run in the background. */
 public class RestrictAppAction extends BatteryTipAction {
     private RestrictAppTip mRestrictAppTip;
-    @VisibleForTesting
-    BatteryDatabaseManager mBatteryDatabaseManager;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
+    @VisibleForTesting BatteryDatabaseManager mBatteryDatabaseManager;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
 
     public RestrictAppAction(Context context, RestrictAppTip tip) {
         super(context);
@@ -48,9 +44,7 @@
         mBatteryDatabaseManager = BatteryDatabaseManager.getInstance(context);
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     @Override
     public void handlePositiveAction(int metricsKey) {
         final List<AppInfo> appInfos = mRestrictAppTip.getRestrictAppList();
@@ -59,18 +53,19 @@
             final AppInfo appInfo = appInfos.get(i);
             final String packageName = appInfo.packageName;
             // Force app standby, then app can't run in the background
-            mBatteryUtils.setForceAppStandby(appInfo.uid, packageName,
-                    AppOpsManager.MODE_IGNORED);
+            mBatteryUtils.setForceAppStandby(appInfo.uid, packageName, AppOpsManager.MODE_IGNORED);
             if (CollectionUtils.isEmpty(appInfo.anomalyTypes)) {
                 // Only log context if there is no anomaly type
-                mMetricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
+                mMetricsFeatureProvider.action(
+                        SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_TIP_RESTRICT_APP,
                         metricsKey,
                         packageName,
                         0);
             } else {
                 for (int type : appInfo.anomalyTypes) {
-                    mMetricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
+                    mMetricsFeatureProvider.action(
+                            SettingsEnums.PAGE_UNKNOWN,
                             SettingsEnums.ACTION_TIP_RESTRICT_APP,
                             metricsKey,
                             packageName,
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
index f6b9c94..55c0031 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/SmartBatteryAction.java
@@ -36,20 +36,18 @@
         mFragment = fragment;
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     @Override
     public void handlePositiveAction(int metricsKey) {
-        mMetricsFeatureProvider.action(mContext,
-                SettingsEnums.ACTION_TIP_OPEN_SMART_BATTERY, metricsKey);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_TIP_OPEN_SMART_BATTERY, metricsKey);
         new SubSettingLauncher(mSettingsActivity)
-                .setSourceMetricsCategory(mFragment instanceof Instrumentable
-                        ? ((Instrumentable) mFragment).getMetricsCategory()
-                        : Instrumentable.METRICS_CATEGORY_UNKNOWN)
+                .setSourceMetricsCategory(
+                        mFragment instanceof Instrumentable
+                                ? ((Instrumentable) mFragment).getMetricsCategory()
+                                : Instrumentable.METRICS_CATEGORY_UNKNOWN)
                 .setDestination(SmartBatterySettings.class.getName())
                 .setTitleRes(R.string.smart_battery_manager_title)
                 .launch();
-
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java b/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java
index 0ef2c0f..1d959bf 100644
--- a/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java
+++ b/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppAction.java
@@ -26,13 +26,10 @@
 import com.android.settings.fuelgauge.batterytip.AppInfo;
 import com.android.settings.fuelgauge.batterytip.tips.UnrestrictAppTip;
 
-/**
- * Action to clear the restriction to the app
- */
+/** Action to clear the restriction to the app */
 public class UnrestrictAppAction extends BatteryTipAction {
     private UnrestrictAppTip mUnRestrictAppTip;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
 
     public UnrestrictAppAction(Context context, UnrestrictAppTip tip) {
         super(context);
@@ -40,15 +37,13 @@
         mBatteryUtils = BatteryUtils.getInstance(context);
     }
 
-    /**
-     * Handle the action when user clicks positive button
-     */
+    /** Handle the action when user clicks positive button */
     @Override
     public void handlePositiveAction(int metricsKey) {
         final AppInfo appInfo = mUnRestrictAppTip.getUnrestrictAppInfo();
         // Clear force app standby, then app can run in the background
-        mBatteryUtils.setForceAppStandby(appInfo.uid, appInfo.packageName,
-                AppOpsManager.MODE_ALLOWED);
+        mBatteryUtils.setForceAppStandby(
+                appInfo.uid, appInfo.packageName, AppOpsManager.MODE_ALLOWED);
         mMetricsFeatureProvider.action(
                 SettingsEnums.PAGE_UNKNOWN,
                 SettingsEnums.ACTION_TIP_UNRESTRICT_APP,
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
index 8b7d4c1..db572cd 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/BatteryDefenderDetector.java
@@ -23,9 +23,7 @@
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.overlay.FeatureFactory;
 
-/**
- * Detect whether the battery is overheated
- */
+/** Detect whether the battery is overheated */
 public class BatteryDefenderDetector implements BatteryTipDetector {
     private final BatteryInfo mBatteryInfo;
     private final Context mContext;
@@ -37,11 +35,13 @@
 
     @Override
     public BatteryTip detect() {
-        final boolean isBasicBatteryDefend = mBatteryInfo.isBatteryDefender
-                && !FeatureFactory.getFactory(mContext).getPowerUsageFeatureProvider(mContext)
-                .isExtraDefend();
-        final int state = isBasicBatteryDefend
-                ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
+        final boolean isBasicBatteryDefend =
+                mBatteryInfo.isBatteryDefender
+                        && !FeatureFactory.getFeatureFactory()
+                                .getPowerUsageFeatureProvider()
+                                .isExtraDefend();
+        final int state =
+                isBasicBatteryDefend ? 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/batterytip/detectors/DockDefenderDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetector.java
deleted file mode 100644
index 8a839d3..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetector.java
+++ /dev/null
@@ -1,48 +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.batterytip.detectors;
-
-import android.content.Context;
-
-import com.android.settings.fuelgauge.BatteryInfo;
-import com.android.settings.fuelgauge.BatteryUtils;
-import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.fuelgauge.batterytip.tips.DockDefenderTip;
-
-/**
- * Detect whether the dock defender mode is enabled.
- */
-public class DockDefenderDetector implements BatteryTipDetector {
-    private final BatteryInfo mBatteryInfo;
-    private final Context mContext;
-
-    public DockDefenderDetector(BatteryInfo batteryInfo, Context context) {
-        mBatteryInfo = batteryInfo;
-        mContext = context;
-    }
-
-    @Override
-    public BatteryTip detect() {
-        int mode = BatteryUtils.getCurrentDockDefenderMode(mContext, mBatteryInfo);
-        return new DockDefenderTip(
-                mode != BatteryUtils.DockDefenderMode.DISABLED
-                        ? BatteryTip.StateType.NEW
-                        : BatteryTip.StateType.INVISIBLE,
-                mode);
-    }
-
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java
index 8126dcc..8866346 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetector.java
@@ -38,8 +38,8 @@
 import java.util.concurrent.TimeUnit;
 
 /**
- * Detector whether to show summary tip. This detector should be executed as the last
- * {@link BatteryTipDetector} since it need the most up-to-date {@code visibleTips}
+ * Detector whether to show summary tip. This detector should be executed as the last {@link
+ * BatteryTipDetector} since it need the most up-to-date {@code visibleTips}
  */
 public class HighUsageDetector implements BatteryTipDetector {
     private static final String TAG = "HighUsageDetector";
@@ -48,29 +48,31 @@
     private BatteryUsageStats mBatteryUsageStats;
     private final BatteryInfo mBatteryInfo;
     private List<AppInfo> mHighUsageAppList;
-    @VisibleForTesting
-    HighUsageDataParser mDataParser;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
-    @VisibleForTesting
-    boolean mDischarging;
+    @VisibleForTesting HighUsageDataParser mDataParser;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
+    @VisibleForTesting boolean mDischarging;
 
-    public HighUsageDetector(Context context, BatteryTipPolicy policy,
-            BatteryUsageStats batteryUsageStats, BatteryInfo batteryInfo) {
+    public HighUsageDetector(
+            Context context,
+            BatteryTipPolicy policy,
+            BatteryUsageStats batteryUsageStats,
+            BatteryInfo batteryInfo) {
         mPolicy = policy;
         mBatteryUsageStats = batteryUsageStats;
         mBatteryInfo = batteryInfo;
         mHighUsageAppList = new ArrayList<>();
         mBatteryUtils = BatteryUtils.getInstance(context);
-        mDataParser = new HighUsageDataParser(mPolicy.highUsagePeriodMs,
-                mPolicy.highUsageBatteryDraining);
+        mDataParser =
+                new HighUsageDataParser(
+                        mPolicy.highUsagePeriodMs, mPolicy.highUsageBatteryDraining);
         mDischarging = batteryInfo.discharging;
     }
 
     @Override
     public BatteryTip detect() {
-        final long lastFullChargeTimeMs = mBatteryUtils.calculateLastFullChargeTime(
-                mBatteryUsageStats, System.currentTimeMillis());
+        final long lastFullChargeTimeMs =
+                mBatteryUtils.calculateLastFullChargeTime(
+                        mBatteryUsageStats, System.currentTimeMillis());
         if (mPolicy.highUsageEnabled && mDischarging) {
             parseBatteryData();
             if (mDataParser.isDeviceHeavilyUsed() || mPolicy.testHighUsageTip) {
@@ -80,22 +82,25 @@
                         mBatteryUsageStats.getUidBatteryConsumers();
                 // Sort by descending power
                 uidBatteryConsumers.sort(
-                        (consumer1, consumer2) -> Double.compare(consumer2.getConsumedPower(),
-                                consumer1.getConsumedPower()));
+                        (consumer1, consumer2) ->
+                                Double.compare(
+                                        consumer2.getConsumedPower(),
+                                        consumer1.getConsumedPower()));
                 for (UidBatteryConsumer consumer : uidBatteryConsumers) {
-                    final double percent = mBatteryUtils.calculateBatteryPercent(
-                            consumer.getConsumedPower(), totalPower, dischargeAmount);
+                    final double percent =
+                            mBatteryUtils.calculateBatteryPercent(
+                                    consumer.getConsumedPower(), totalPower, dischargeAmount);
                     if ((percent + 0.5f < 1f)
                             || mBatteryUtils.shouldHideUidBatteryConsumer(consumer)) {
                         // Don't show it if we should hide or usage percentage is lower than 1%
                         continue;
                     }
 
-                    mHighUsageAppList.add(new AppInfo.Builder()
-                            .setUid(consumer.getUid())
-                            .setPackageName(
-                                    mBatteryUtils.getPackageName(consumer.getUid()))
-                            .build());
+                    mHighUsageAppList.add(
+                            new AppInfo.Builder()
+                                    .setUid(consumer.getUid())
+                                    .setPackageName(mBatteryUtils.getPackageName(consumer.getUid()))
+                                    .build());
                     if (mHighUsageAppList.size() >= mPolicy.highUsageAppCount) {
                         break;
                     }
@@ -103,10 +108,11 @@
 
                 // When in test mode, add an app if necessary
                 if (mPolicy.testHighUsageTip && mHighUsageAppList.isEmpty()) {
-                    mHighUsageAppList.add(new AppInfo.Builder()
-                            .setPackageName(SETTINGS_PACKAGE_NAME)
-                            .setScreenOnTimeMs(TimeUnit.HOURS.toMillis(3))
-                            .build());
+                    mHighUsageAppList.add(
+                            new AppInfo.Builder()
+                                    .setPackageName(SETTINGS_PACKAGE_NAME)
+                                    .setScreenOnTimeMs(TimeUnit.HOURS.toMillis(3))
+                                    .build());
                 }
             }
         }
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java
index cfd9a2c..5a9e4f3 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetector.java
@@ -34,12 +34,12 @@
 
     @Override
     public BatteryTip detect() {
-        final boolean isIncompatibleCharging =
-                Utils.containsIncompatibleChargers(mContext, TAG);
-        final int state = isIncompatibleCharging
-                ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
-        Log.d(TAG, "detect() state= " + state + " isIncompatibleCharging: "
-                + isIncompatibleCharging);
+        final boolean isIncompatibleCharging = Utils.containsIncompatibleChargers(mContext, TAG);
+        final int state =
+                isIncompatibleCharging ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
+        Log.d(
+                TAG,
+                "detect() state= " + state + " isIncompatibleCharging: " + isIncompatibleCharging);
         return new IncompatibleChargerTip(state);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java
index 9e970d2..b1a1562 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetector.java
@@ -17,45 +17,43 @@
 package com.android.settings.fuelgauge.batterytip.detectors;
 
 import android.content.Context;
+import android.os.PowerManager;
 
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip;
 
-/**
- * Detect whether the battery is too low
- */
+/** Detect whether the battery is too low */
 public class LowBatteryDetector implements BatteryTipDetector {
     private final BatteryInfo mBatteryInfo;
-    private final BatteryTipPolicy mPolicy;
+    private final BatteryTipPolicy mBatteryTipPolicy;
     private final boolean mIsPowerSaveMode;
     private final int mWarningLevel;
 
-
-    public LowBatteryDetector(Context context, BatteryTipPolicy policy, BatteryInfo batteryInfo,
-            boolean isPowerSaveMode) {
-        mPolicy = policy;
+    public LowBatteryDetector(
+            Context context, BatteryTipPolicy batteryTipPolicy, BatteryInfo batteryInfo) {
+        mBatteryTipPolicy = batteryTipPolicy;
         mBatteryInfo = batteryInfo;
-        mWarningLevel = context.getResources().getInteger(
-                com.android.internal.R.integer.config_lowBatteryWarningLevel);
-        mIsPowerSaveMode = isPowerSaveMode;
+        mWarningLevel =
+                context.getResources()
+                        .getInteger(com.android.internal.R.integer.config_lowBatteryWarningLevel);
+        mIsPowerSaveMode = context.getSystemService(PowerManager.class).isPowerSaveMode();
     }
 
     @Override
     public BatteryTip detect() {
         final boolean lowBattery = mBatteryInfo.batteryLevel <= mWarningLevel;
-        final boolean lowBatteryEnabled = mPolicy.lowBatteryEnabled && !mIsPowerSaveMode;
+        final boolean lowBatteryEnabled = mBatteryTipPolicy.lowBatteryEnabled && !mIsPowerSaveMode;
         final boolean dischargingLowBatteryState =
-                mPolicy.testLowBatteryTip || (mBatteryInfo.discharging && lowBattery);
-
-        int state = BatteryTip.StateType.INVISIBLE;
+                mBatteryTipPolicy.testLowBatteryTip || (mBatteryInfo.discharging && lowBattery);
 
         // Show it as new if in test or in discharging low battery state,
         // dismiss it if battery saver is on or disabled by config.
-        if (lowBatteryEnabled && dischargingLowBatteryState) {
-            state = BatteryTip.StateType.NEW;
-        }
+        final int state =
+                lowBatteryEnabled && dischargingLowBatteryState
+                        ? BatteryTip.StateType.NEW
+                        : BatteryTip.StateType.INVISIBLE;
 
         return new LowBatteryTip(state, mIsPowerSaveMode);
     }
diff --git a/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java b/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java
index 0487ac3..7f9dcd6 100644
--- a/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java
+++ b/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetector.java
@@ -25,9 +25,7 @@
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 import com.android.settings.fuelgauge.batterytip.tips.SmartBatteryTip;
 
-/**
- * Detect whether to show smart battery tip.
- */
+/** Detect whether to show smart battery tip. */
 public class SmartBatteryDetector implements BatteryTipDetector {
     private static final int EXPECTED_BATTERY_LEVEL = 30;
 
@@ -36,8 +34,12 @@
     private final ContentResolver mContentResolver;
     private final boolean mIsPowerSaveMode;
 
-    public SmartBatteryDetector(Context context, BatteryTipPolicy policy, BatteryInfo batteryInfo,
-            ContentResolver contentResolver, boolean isPowerSaveMode) {
+    public SmartBatteryDetector(
+            Context context,
+            BatteryTipPolicy policy,
+            BatteryInfo batteryInfo,
+            ContentResolver contentResolver,
+            boolean isPowerSaveMode) {
         mPolicy = policy;
         mBatteryInfo = batteryInfo;
         mContentResolver = contentResolver;
@@ -46,14 +48,18 @@
 
     @Override
     public BatteryTip detect() {
-        final boolean smartBatteryOff = Settings.Global.getInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1) == 0;
+        final boolean smartBatteryOff =
+                Settings.Global.getInt(
+                                mContentResolver,
+                                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED,
+                                1)
+                        == 0;
         final boolean isUnderExpectedBatteryLevel =
                 mBatteryInfo.batteryLevel <= EXPECTED_BATTERY_LEVEL;
         // Show it if in test or smart battery is off.
         final boolean enableSmartBatteryTip =
                 smartBatteryOff && !mIsPowerSaveMode && isUnderExpectedBatteryLevel
-                || mPolicy.testSmartBatteryTip;
+                        || mPolicy.testSmartBatteryTip;
         final int state =
                 enableSmartBatteryTip ? BatteryTip.StateType.NEW : BatteryTip.StateType.INVISIBLE;
         return new SmartBatteryTip(state);
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/AppLabelPredicate.java b/src/com/android/settings/fuelgauge/batterytip/tips/AppLabelPredicate.java
index 1444b12..5bd4dc0 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/AppLabelPredicate.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/AppLabelPredicate.java
@@ -23,9 +23,7 @@
 
 import java.util.function.Predicate;
 
-/**
- * {@link Predicate} for {@link AppInfo} to check whether it has label
- */
+/** {@link Predicate} for {@link AppInfo} to check whether it has label */
 public class AppLabelPredicate implements Predicate<AppInfo> {
 
     private static AppLabelPredicate sInstance;
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/AppRestrictionPredicate.java b/src/com/android/settings/fuelgauge/batterytip/tips/AppRestrictionPredicate.java
index 43a4d90..a08953c 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/AppRestrictionPredicate.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/AppRestrictionPredicate.java
@@ -23,9 +23,7 @@
 
 import java.util.function.Predicate;
 
-/**
- * {@link Predicate} for {@link AppInfo} to check whether it is restricted.
- */
+/** {@link Predicate} for {@link AppInfo} to check whether it is restricted. */
 public class AppRestrictionPredicate implements Predicate<AppInfo> {
 
     private static AppRestrictionPredicate sInstance;
@@ -46,7 +44,8 @@
     @Override
     public boolean test(AppInfo appInfo) {
         // Return true if app already been restricted
-        return mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
-                appInfo.uid, appInfo.packageName) == AppOpsManager.MODE_IGNORED;
+        return mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, appInfo.uid, appInfo.packageName)
+                == AppOpsManager.MODE_IGNORED;
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
index 4a8f98b..3716244 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTip.java
@@ -16,12 +16,14 @@
 
 package com.android.settings.fuelgauge.batterytip.tips;
 
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.os.Parcel;
 import android.util.Log;
 
+import androidx.core.app.ActivityCompat;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
@@ -30,9 +32,9 @@
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
-/**
- * Tip to show current battery is overheated
- */
+import kotlin.Unit;
+
+/** Tip to show current battery is overheated */
 public class BatteryDefenderTip extends BatteryTip {
 
     private static final String TAG = "BatteryDefenderTip";
@@ -60,7 +62,7 @@
 
     @Override
     public int getIconId() {
-        return R.drawable.ic_battery_status_good_theme;
+        return R.drawable.ic_battery_defender_tip_shield;
     }
 
     @Override
@@ -70,8 +72,7 @@
 
     @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-        metricsFeatureProvider.action(context, SettingsEnums.ACTION_BATTERY_DEFENDER_TIP,
-                mState);
+        metricsFeatureProvider.action(context, SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mState);
     }
 
     @Override
@@ -86,31 +87,45 @@
         }
 
         cardPreference.setSelectable(false);
-        cardPreference.setPrimaryButtonText(
+        cardPreference.setIconResId(getIconId());
+        cardPreference.setPrimaryButtonText(context.getString(R.string.learn_more));
+        cardPreference.setPrimaryButtonAction(
+                () -> {
+                    var helpIntent =
+                            HelpUtils.getHelpIntent(
+                                    context,
+                                    context.getString(R.string.help_url_battery_defender),
+                                    /* backupContext= */ "");
+                    ActivityCompat.startActivityForResult(
+                            (Activity) preference.getContext(),
+                            helpIntent,
+                            /* requestCode= */ 0,
+                            /* options= */ null);
+
+                    return Unit.INSTANCE;
+                });
+        cardPreference.setPrimaryButtonVisibility(true);
+        cardPreference.setPrimaryButtonContentDescription(
+                context.getString(
+                        R.string.battery_tip_limited_temporarily_sec_button_content_description));
+
+        cardPreference.setSecondaryButtonText(
                 context.getString(R.string.battery_tip_charge_to_full_button));
-        cardPreference.setPrimaryButtonClickListener(
-                unused -> {
+        cardPreference.setSecondaryButtonAction(
+                () -> {
                     resumeCharging(context);
                     preference.setVisible(false);
-                });
-        cardPreference.setPrimaryButtonVisible(mIsPluggedIn);
 
-        cardPreference.setSecondaryButtonText(context.getString(R.string.learn_more));
-        cardPreference.setSecondaryButtonClickListener(
-                button -> button.startActivityForResult(
-                        HelpUtils.getHelpIntent(
-                                context,
-                                context.getString(R.string.help_url_battery_defender),
-                                /* backupContext */ ""), /* requestCode */ 0));
-        cardPreference.setSecondaryButtonVisible(true);
-        cardPreference.setSecondaryButtonContentDescription(context.getString(
-                R.string.battery_tip_limited_temporarily_sec_button_content_description));
+                    return Unit.INSTANCE;
+                });
+        cardPreference.setSecondaryButtonVisibility(mIsPluggedIn);
+        cardPreference.buildContent();
     }
 
     private void resumeCharging(Context context) {
         final Intent intent =
-                FeatureFactory.getFactory(context)
-                        .getPowerUsageFeatureProvider(context)
+                FeatureFactory.getFeatureFactory()
+                        .getPowerUsageFeatureProvider()
                         .getResumeChargeIntent(false);
         if (intent != null) {
             context.sendBroadcast(intent);
@@ -119,13 +134,14 @@
         Log.i(TAG, "send resume charging broadcast intent=" + intent);
     }
 
-    public static final Creator CREATOR = new Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new BatteryDefenderTip(in);
-        }
+    public static final Creator CREATOR =
+            new Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new BatteryDefenderTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new BatteryDefenderTip[size];
-        }
-    };
+                public BatteryTip[] newArray(int size) {
+                    return new BatteryDefenderTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
index fdafca6..1d08617 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTip.java
@@ -35,32 +35,36 @@
 /**
  * Base model for a battery tip(e.g. suggest user to turn on battery saver)
  *
- * Each {@link BatteryTip} contains basic data(e.g. title, summary, icon) as well as the
+ * <p>Each {@link BatteryTip} contains basic data(e.g. title, summary, icon) as well as the
  * pre-defined action(e.g. turn on battery saver)
  */
 public abstract class BatteryTip implements Comparable<BatteryTip>, Parcelable {
+
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({StateType.NEW,
-            StateType.HANDLED,
-            StateType.INVISIBLE})
+    @IntDef({StateType.NEW, StateType.HANDLED, StateType.INVISIBLE})
     public @interface StateType {
+
         int NEW = 0;
         int HANDLED = 1;
         int INVISIBLE = 2;
     }
 
     @Retention(RetentionPolicy.SOURCE)
-    @IntDef({TipType.SUMMARY,
-            TipType.BATTERY_SAVER,
-            TipType.HIGH_DEVICE_USAGE,
-            TipType.SMART_BATTERY_MANAGER,
-            TipType.APP_RESTRICTION,
-            TipType.REDUCED_BATTERY,
-            TipType.LOW_BATTERY,
-            TipType.REMOVE_APP_RESTRICTION,
-            TipType.BATTERY_DEFENDER,
-            TipType.DOCK_DEFENDER,
-            TipType.INCOMPATIBLE_CHARGER})
+    @IntDef({
+        TipType.SUMMARY,
+        TipType.BATTERY_SAVER,
+        TipType.HIGH_DEVICE_USAGE,
+        TipType.SMART_BATTERY_MANAGER,
+        TipType.APP_RESTRICTION,
+        TipType.REDUCED_BATTERY,
+        TipType.LOW_BATTERY,
+        TipType.REMOVE_APP_RESTRICTION,
+        TipType.BATTERY_DEFENDER,
+        TipType.DOCK_DEFENDER,
+        TipType.INCOMPATIBLE_CHARGER,
+        TipType.BATTERY_WARNING,
+        TipType.WIRELESS_CHARGING_WARNING
+    })
     public @interface TipType {
         int SMART_BATTERY_MANAGER = 0;
         int APP_RESTRICTION = 1;
@@ -73,10 +77,12 @@
         int BATTERY_DEFENDER = 8;
         int DOCK_DEFENDER = 9;
         int INCOMPATIBLE_CHARGER = 10;
+        int BATTERY_WARNING = 11;
+        int WIRELESS_CHARGING_WARNING = 12;
     }
 
-    @VisibleForTesting
-    static final SparseIntArray TIP_ORDER;
+    @VisibleForTesting static final SparseIntArray TIP_ORDER;
+
     static {
         TIP_ORDER = new SparseIntArray();
         TIP_ORDER.append(TipType.BATTERY_SAVER, 0);
@@ -90,26 +96,27 @@
         TIP_ORDER.append(TipType.SMART_BATTERY_MANAGER, 8);
         TIP_ORDER.append(TipType.REDUCED_BATTERY, 9);
         TIP_ORDER.append(TipType.REMOVE_APP_RESTRICTION, 10);
+        TIP_ORDER.append(TipType.BATTERY_WARNING, 11);
+        TIP_ORDER.append(TipType.WIRELESS_CHARGING_WARNING, 12);
     }
 
     private static final String KEY_PREFIX = "key_battery_tip";
 
-    protected int mType;
     protected int mState;
+    protected int mType;
     protected boolean mShowDialog;
-    /**
-     * Whether we need to update battery tip when configuration change
-     */
+
+    /** Whether we need to update battery tip when configuration change */
     protected boolean mNeedUpdate;
 
-    BatteryTip(Parcel in) {
+    public BatteryTip(Parcel in) {
         mType = in.readInt();
         mState = in.readInt();
         mShowDialog = in.readBoolean();
         mNeedUpdate = in.readBoolean();
     }
 
-    BatteryTip(int type, int state, boolean showDialog) {
+    public BatteryTip(int type, int state, boolean showDialog) {
         mType = type;
         mState = state;
         mShowDialog = showDialog;
@@ -146,15 +153,14 @@
 
     /**
      * Check whether data is still make sense. If not, try recover.
+     *
      * @param context used to do validate check
      */
     public void validateCheck(Context context) {
         // do nothing
     }
 
-    /**
-     * Log the battery tip
-     */
+    /** Log the battery tip */
     public abstract void log(Context context, MetricsFeatureProvider metricsFeatureProvider);
 
     public void updatePreference(Preference preference) {
@@ -203,7 +209,7 @@
         return "type=" + mType + " state=" + mState;
     }
 
-    CardPreference castToCardPreferenceSafely(Preference preference) {
+    public CardPreference castToCardPreferenceSafely(Preference preference) {
         return preference instanceof CardPreference ? (CardPreference) preference : null;
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTip.java
deleted file mode 100644
index 327f974..0000000
--- a/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTip.java
+++ /dev/null
@@ -1,175 +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.batterytip.tips;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Parcel;
-import android.util.Log;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryUtils;
-import com.android.settings.fuelgauge.BatteryUtils.DockDefenderMode;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.widget.CardPreference;
-import com.android.settingslib.HelpUtils;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-/**
- * Tip to show dock defender status
- */
-public class DockDefenderTip extends BatteryTip {
-    private static final String TAG = "DockDefenderTip";
-    private int mMode;
-
-    public DockDefenderTip(@StateType int state, @DockDefenderMode int mode) {
-        super(TipType.DOCK_DEFENDER, state, false);
-        mMode = mode;
-    }
-
-    private DockDefenderTip(Parcel in) {
-        super(in);
-    }
-
-    public int getMode() {
-        return mMode;
-    }
-
-    @Override
-    public CharSequence getTitle(Context context) {
-        switch (mMode) {
-            case DockDefenderMode.FUTURE_BYPASS:
-                return context.getString(R.string.battery_tip_dock_defender_future_bypass_title);
-            case DockDefenderMode.ACTIVE:
-                return context.getString(R.string.battery_tip_dock_defender_active_title);
-            case DockDefenderMode.TEMPORARILY_BYPASSED:
-                return context.getString(
-                        R.string.battery_tip_dock_defender_temporarily_bypassed_title);
-            default:
-                return null;
-        }
-    }
-
-    @Override
-    public CharSequence getSummary(Context context) {
-        switch (mMode) {
-            case DockDefenderMode.FUTURE_BYPASS:
-                return context.getString(R.string.battery_tip_dock_defender_future_bypass_summary);
-            case DockDefenderMode.ACTIVE:
-                return context.getString(R.string.battery_tip_dock_defender_active_summary);
-            case DockDefenderMode.TEMPORARILY_BYPASSED:
-                return context.getString(
-                        R.string.battery_tip_dock_defender_temporarily_bypassed_summary);
-            default:
-                return null;
-        }
-    }
-
-    @Override
-    public int getIconId() {
-        return mMode == DockDefenderMode.ACTIVE ? R.drawable.ic_battery_status_protected_24dp :
-                R.drawable.ic_battery_dock_defender_untriggered_24dp;
-    }
-
-    @Override
-    public void updateState(BatteryTip tip) {
-        mState = tip.mState;
-        if (tip instanceof DockDefenderTip) {
-            mMode = ((DockDefenderTip) tip).mMode;
-        }
-    }
-
-    @Override
-    public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-        metricsFeatureProvider.action(context, SettingsEnums.ACTION_DOCK_DEFENDER_TIP,
-                mState);
-    }
-
-    @Override
-    public void updatePreference(Preference preference) {
-        super.updatePreference(preference);
-        final Context context = preference.getContext();
-
-        CardPreference cardPreference = castToCardPreferenceSafely(preference);
-        if (cardPreference == null) {
-            Log.e(TAG, "cast Preference to CardPreference failed");
-            return;
-        }
-
-        cardPreference.setSelectable(false);
-        switch (mMode) {
-            case DockDefenderMode.FUTURE_BYPASS:
-            case DockDefenderMode.ACTIVE:
-                cardPreference.setPrimaryButtonText(
-                        context.getString(R.string.battery_tip_charge_to_full_button));
-                cardPreference.setPrimaryButtonClickListener(unused -> {
-                    resumeCharging(context);
-                    mMode = DockDefenderMode.TEMPORARILY_BYPASSED;
-                    context.sendBroadcast(new Intent().setAction(
-                            BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION).setPackage(
-                            context.getPackageName()).addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY
-                            | Intent.FLAG_RECEIVER_FOREGROUND));
-                    updatePreference(preference);
-                });
-                cardPreference.setPrimaryButtonVisible(true);
-                break;
-            case DockDefenderMode.TEMPORARILY_BYPASSED:
-                cardPreference.setPrimaryButtonVisible(false);
-                break;
-            default:
-                cardPreference.setVisible(false);
-                return;
-        }
-
-        cardPreference.setSecondaryButtonText(context.getString(R.string.learn_more));
-        cardPreference.setSecondaryButtonClickListener(
-                button -> button.startActivityForResult(
-                        HelpUtils.getHelpIntent(
-                                context,
-                                context.getString(R.string.help_url_dock_defender),
-                                /* backupContext */ ""), /* requestCode */ 0));
-        cardPreference.setSecondaryButtonVisible(true);
-        cardPreference.setSecondaryButtonContentDescription(context.getString(
-                R.string.battery_tip_limited_temporarily_sec_button_content_description));
-
-    }
-
-    private void resumeCharging(Context context) {
-        final Intent intent =
-                FeatureFactory.getFactory(context)
-                        .getPowerUsageFeatureProvider(context)
-                        .getResumeChargeIntent(true);
-        if (intent != null) {
-            context.sendBroadcast(intent);
-        }
-
-        Log.i(TAG, "send resume charging broadcast intent=" + intent);
-    }
-
-    public static final Creator CREATOR = new Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new DockDefenderTip(in);
-        }
-
-        public BatteryTip[] newArray(int size) {
-            return new DockDefenderTip[size];
-        }
-    };
-}
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java
index 47938fb..44e4f5c 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTip.java
@@ -29,17 +29,16 @@
 
 import java.util.List;
 
-/**
- * Tip to show general summary about battery life
- */
+/** Tip to show general summary about battery life */
 public class HighUsageTip extends BatteryTip {
 
     private final long mLastFullChargeTimeMs;
-    @VisibleForTesting
-    final List<AppInfo> mHighUsageAppList;
+    @VisibleForTesting final List<AppInfo> mHighUsageAppList;
 
     public HighUsageTip(long lastFullChargeTimeMs, List<AppInfo> appList) {
-        super(TipType.HIGH_DEVICE_USAGE, appList.isEmpty() ? StateType.INVISIBLE : StateType.NEW,
+        super(
+                TipType.HIGH_DEVICE_USAGE,
+                appList.isEmpty() ? StateType.INVISIBLE : StateType.NEW,
                 true /* showDialog */);
         mLastFullChargeTimeMs = lastFullChargeTimeMs;
         mHighUsageAppList = appList;
@@ -81,13 +80,11 @@
 
     @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-        metricsFeatureProvider.action(context, SettingsEnums.ACTION_HIGH_USAGE_TIP,
-                mState);
+        metricsFeatureProvider.action(context, SettingsEnums.ACTION_HIGH_USAGE_TIP, mState);
         for (int i = 0, size = mHighUsageAppList.size(); i < size; i++) {
             final AppInfo appInfo = mHighUsageAppList.get(i);
-            metricsFeatureProvider.action(context,
-                    SettingsEnums.ACTION_HIGH_USAGE_TIP_LIST,
-                    appInfo.packageName);
+            metricsFeatureProvider.action(
+                    context, SettingsEnums.ACTION_HIGH_USAGE_TIP_LIST, appInfo.packageName);
         }
     }
 
@@ -112,14 +109,14 @@
         return stringBuilder.toString();
     }
 
-    public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new HighUsageTip(in);
-        }
+    public static final Parcelable.Creator CREATOR =
+            new Parcelable.Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new HighUsageTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new HighUsageTip[size];
-        }
-    };
-
+                public BatteryTip[] newArray(int size) {
+                    return new HighUsageTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
index 48cfb7a..72c710c 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTip.java
@@ -16,11 +16,13 @@
 
 package com.android.settings.fuelgauge.batterytip.tips;
 
+import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Parcel;
 import android.util.Log;
 
+import androidx.core.app.ActivityCompat;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
@@ -28,6 +30,8 @@
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import kotlin.Unit;
+
 /** Tip to show incompatible charger state */
 public final class IncompatibleChargerTip extends BatteryTip {
     private static final String TAG = "IncompatibleChargerTip";
@@ -52,7 +56,7 @@
 
     @Override
     public int getIconId() {
-        return R.drawable.ic_battery_charger;
+        return R.drawable.ic_battery_incompatible_charger;
     }
 
     @Override
@@ -62,8 +66,8 @@
 
     @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-       metricsFeatureProvider.action(context, SettingsEnums.ACTION_INCOMPATIBLE_CHARGING_TIP,
-                mState);
+        metricsFeatureProvider.action(
+                context, SettingsEnums.ACTION_INCOMPATIBLE_CHARGING_TIP, mState);
     }
 
     @Override
@@ -77,25 +81,38 @@
         }
 
         cardPreference.setSelectable(false);
+        cardPreference.enableDismiss(false);
+        cardPreference.setIconResId(getIconId());
         cardPreference.setPrimaryButtonText(context.getString(R.string.learn_more));
-        cardPreference.setPrimaryButtonClickListener(
-                button -> button.startActivityForResult(
-                        HelpUtils.getHelpIntent(
-                                context,
-                                context.getString(R.string.help_url_incompatible_charging),
-                                /* backupContext */ ""), /* requestCode */ 0));
-        cardPreference.setPrimaryButtonVisible(true);
-        cardPreference.setPrimaryButtonContentDescription(context.getString(
-                R.string.battery_tip_incompatible_charging_content_description));
+        cardPreference.setPrimaryButtonAction(
+                () -> {
+                    var helpIntent =
+                            HelpUtils.getHelpIntent(
+                                    context,
+                                    context.getString(R.string.help_url_incompatible_charging),
+                                    /* backupContext */ "");
+                    ActivityCompat.startActivityForResult(
+                            (Activity) context,
+                            helpIntent,
+                            /* requestCode= */ 0,
+                            /* options= */ null);
+
+                    return Unit.INSTANCE;
+                });
+        cardPreference.setPrimaryButtonVisibility(true);
+        cardPreference.setPrimaryButtonContentDescription(
+                context.getString(R.string.battery_tip_incompatible_charging_content_description));
+        cardPreference.buildContent();
     }
 
-    public static final Creator CREATOR = new Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new IncompatibleChargerTip(in);
-        }
+    public static final Creator CREATOR =
+            new Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new IncompatibleChargerTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new IncompatibleChargerTip[size];
-        }
-    };
+                public BatteryTip[] newArray(int size) {
+                    return new IncompatibleChargerTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTip.java
index aeff7e9..3073d12 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTip.java
@@ -62,28 +62,27 @@
 
     @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-        metricsFeatureProvider.action(context, SettingsEnums.ACTION_LOW_BATTERY_TIP,
-                mState);
+        metricsFeatureProvider.action(context, SettingsEnums.ACTION_LOW_BATTERY_TIP, mState);
     }
 
     @Override
     public void updateState(BatteryTip tip) {
         final LowBatteryTip lowBatteryTip = (LowBatteryTip) tip;
-        mState = lowBatteryTip.mPowerSaveModeOn
-                ? StateType.INVISIBLE : lowBatteryTip.getState();
+        mState = lowBatteryTip.mPowerSaveModeOn ? StateType.INVISIBLE : lowBatteryTip.getState();
     }
 
     boolean isPowerSaveModeOn() {
         return mPowerSaveModeOn;
     }
 
-    public static final Parcelable.Creator CREATOR = new Parcelable.Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new LowBatteryTip(in);
-        }
+    public static final Parcelable.Creator CREATOR =
+            new Parcelable.Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new LowBatteryTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new LowBatteryTip[size];
-        }
-    };
+                public BatteryTip[] newArray(int size) {
+                    return new LowBatteryTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
index 55ac3fa..2b74dd2 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTip.java
@@ -18,9 +18,9 @@
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.content.res.Resources;
 import android.icu.text.ListFormatter;
 import android.os.Parcel;
+import android.util.ArrayMap;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -31,13 +31,10 @@
 import com.android.settingslib.utils.StringUtil;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
-/**
- * Tip to suggest user to restrict some bad apps
- */
+/** Tip to suggest user to restrict some bad apps */
 public class RestrictAppTip extends BatteryTip {
     private List<AppInfo> mRestrictAppList;
 
@@ -63,28 +60,33 @@
     @Override
     public CharSequence getTitle(Context context) {
         final int num = mRestrictAppList.size();
-        final CharSequence appLabel = num > 0 ? Utils.getApplicationLabel(context,
-                mRestrictAppList.get(0).packageName) : "";
+        final CharSequence appLabel =
+                num > 0
+                        ? Utils.getApplicationLabel(context, mRestrictAppList.get(0).packageName)
+                        : "";
 
-        Map<String, Object> arguments = new HashMap<>();
+        Map<String, Object> arguments = new ArrayMap<>();
         arguments.put("count", num);
         arguments.put("label", appLabel);
         return mState == StateType.HANDLED
-                ? StringUtil.getIcuPluralsString(context, arguments,
-                R.string.battery_tip_restrict_handled_title)
-                : StringUtil.getIcuPluralsString(context, arguments,
-                R.string.battery_tip_restrict_title);
+                ? StringUtil.getIcuPluralsString(
+                        context, arguments, R.string.battery_tip_restrict_handled_title)
+                : StringUtil.getIcuPluralsString(
+                        context, arguments, R.string.battery_tip_restrict_title);
     }
 
     @Override
     public CharSequence getSummary(Context context) {
         final int num = mRestrictAppList.size();
-        final CharSequence appLabel = num > 0 ? Utils.getApplicationLabel(context,
-                mRestrictAppList.get(0).packageName) : "";
-        final int resId = mState == StateType.HANDLED
-                ? R.string.battery_tip_restrict_handled_summary
-                : R.string.battery_tip_restrict_summary;
-        Map<String, Object> arguments = new HashMap<>();
+        final CharSequence appLabel =
+                num > 0
+                        ? Utils.getApplicationLabel(context, mRestrictAppList.get(0).packageName)
+                        : "";
+        final int resId =
+                mState == StateType.HANDLED
+                        ? R.string.battery_tip_restrict_handled_summary
+                        : R.string.battery_tip_restrict_summary;
+        Map<String, Object> arguments = new ArrayMap<>();
         arguments.put("count", num);
         arguments.put("label", appLabel);
         return StringUtil.getIcuPluralsString(context, arguments, resId);
@@ -128,13 +130,13 @@
 
     @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-        metricsFeatureProvider.action(context, SettingsEnums.ACTION_APP_RESTRICTION_TIP,
-                mState);
+        metricsFeatureProvider.action(context, SettingsEnums.ACTION_APP_RESTRICTION_TIP, mState);
         if (mState == StateType.NEW) {
             for (int i = 0, size = mRestrictAppList.size(); i < size; i++) {
                 final AppInfo appInfo = mRestrictAppList.get(i);
                 for (Integer anomalyType : appInfo.anomalyTypes) {
-                    metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
+                    metricsFeatureProvider.action(
+                            SettingsEnums.PAGE_UNKNOWN,
                             SettingsEnums.ACTION_APP_RESTRICTION_TIP_LIST,
                             SettingsEnums.PAGE_UNKNOWN,
                             appInfo.packageName,
@@ -148,14 +150,11 @@
         return mRestrictAppList;
     }
 
-    /**
-     * Construct the app list string(e.g. app1, app2, and app3)
-     */
+    /** Construct the app list string(e.g. app1, app2, and app3) */
     public CharSequence getRestrictAppsString(Context context) {
         final List<CharSequence> appLabels = new ArrayList<>();
         for (int i = 0, size = mRestrictAppList.size(); i < size; i++) {
-            appLabels.add(Utils.getApplicationLabel(context,
-                    mRestrictAppList.get(i).packageName));
+            appLabels.add(Utils.getApplicationLabel(context, mRestrictAppList.get(i).packageName));
         }
 
         return ListFormatter.getInstance().format(appLabels);
@@ -180,13 +179,14 @@
         dest.writeTypedList(mRestrictAppList);
     }
 
-    public static final Creator CREATOR = new Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new RestrictAppTip(in);
-        }
+    public static final Creator CREATOR =
+            new Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new RestrictAppTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new RestrictAppTip[size];
-        }
-    };
+                public BatteryTip[] newArray(int size) {
+                    return new RestrictAppTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTip.java
index 0593e88..c99653b 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTip.java
@@ -23,9 +23,7 @@
 import com.android.settings.R;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
-/**
- * Tip to suggest turn on smart battery if it is not on
- */
+/** Tip to suggest turn on smart battery if it is not on */
 public class SmartBatteryTip extends BatteryTip {
 
     public SmartBatteryTip(@StateType int state) {
@@ -58,18 +56,17 @@
 
     @Override
     public void log(Context context, MetricsFeatureProvider metricsFeatureProvider) {
-        metricsFeatureProvider.action(context, SettingsEnums.ACTION_SMART_BATTERY_TIP,
-                mState);
+        metricsFeatureProvider.action(context, SettingsEnums.ACTION_SMART_BATTERY_TIP, mState);
     }
 
-    public static final Creator CREATOR = new Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new SmartBatteryTip(in);
-        }
+    public static final Creator CREATOR =
+            new Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new SmartBatteryTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new SmartBatteryTip[size];
-        }
-    };
-
+                public BatteryTip[] newArray(int size) {
+                    return new SmartBatteryTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java b/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
index 3c560f8..7b5caeb 100644
--- a/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
+++ b/src/com/android/settings/fuelgauge/batterytip/tips/UnrestrictAppTip.java
@@ -84,13 +84,14 @@
         dest.writeParcelable(mAppInfo, flags);
     }
 
-    public static final Creator CREATOR = new Creator() {
-        public BatteryTip createFromParcel(Parcel in) {
-            return new UnrestrictAppTip(in);
-        }
+    public static final Creator CREATOR =
+            new Creator() {
+                public BatteryTip createFromParcel(Parcel in) {
+                    return new UnrestrictAppTip(in);
+                }
 
-        public BatteryTip[] newArray(int size) {
-            return new UnrestrictAppTip[size];
-        }
-    };
+                public BatteryTip[] newArray(int size) {
+                    return new UnrestrictAppTip[size];
+                }
+            };
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
index d535490..8924a0b 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapper.java
@@ -48,7 +48,8 @@
         mResourceIndex = mPowerAnomalyEvent.getKey().getNumber();
     }
 
-    private <T> T getInfo(Function<WarningBannerInfo, T> warningBannerInfoSupplier,
+    private <T> T getInfo(
+            Function<WarningBannerInfo, T> warningBannerInfoSupplier,
             Function<WarningItemInfo, T> warningItemInfoSupplier) {
         if (warningBannerInfoSupplier != null && mPowerAnomalyEvent.hasWarningBannerInfo()) {
             return warningBannerInfoSupplier.apply(mPowerAnomalyEvent.getWarningBannerInfo());
@@ -60,15 +61,19 @@
 
     private int getResourceId(int resourceId, int resourceIndex, String defType) {
         final String key = getStringFromArrayResource(resourceId, resourceIndex);
-        return TextUtils.isEmpty(key) ? 0
+        return TextUtils.isEmpty(key)
+                ? 0
                 : mContext.getResources().getIdentifier(key, defType, mContext.getPackageName());
     }
 
-    private String getString(Function<WarningBannerInfo, String> warningBannerInfoSupplier,
+    private String getString(
+            Function<WarningBannerInfo, String> warningBannerInfoSupplier,
             Function<WarningItemInfo, String> warningItemInfoSupplier,
-            int resourceId, int resourceIndex) {
+            int resourceId,
+            int resourceIndex) {
         final String string = getInfo(warningBannerInfoSupplier, warningItemInfoSupplier);
-        return (!TextUtils.isEmpty(string) || resourceId <= 0) ? string
+        return (!TextUtils.isEmpty(string) || resourceId <= 0)
+                ? string
                 : getStringFromArrayResource(resourceId, resourceIndex);
     }
 
@@ -78,13 +83,18 @@
         }
         final String[] stringArray = mContext.getResources().getStringArray(resourceId);
         return (resourceIndex >= 0 && resourceIndex < stringArray.length)
-                ? stringArray[resourceIndex] : null;
+                ? stringArray[resourceIndex]
+                : null;
     }
 
     void setRelatedBatteryDiffEntry(BatteryDiffEntry batteryDiffEntry) {
         mRelatedBatteryDiffEntry = batteryDiffEntry;
     }
 
+    int getAnomalyKeyNumber() {
+        return mPowerAnomalyEvent.getKey().getNumber();
+    }
+
     String getEventId() {
         return mPowerAnomalyEvent.hasEventId() ? mPowerAnomalyEvent.getEventId() : null;
     }
@@ -98,13 +108,13 @@
     }
 
     String getTitleString() {
-        final String protoTitleString = getInfo(WarningBannerInfo::getTitleString,
-                WarningItemInfo::getTitleString);
-        if (!TextUtils.isEmpty(protoTitleString)) {
-            return protoTitleString;
+        final String titleStringFromProto =
+                getInfo(WarningBannerInfo::getTitleString, WarningItemInfo::getTitleString);
+        if (!TextUtils.isEmpty(titleStringFromProto)) {
+            return titleStringFromProto;
         }
-        final int titleFormatResId = getResourceId(R.array.power_anomaly_title_ids,
-                mResourceIndex, "string");
+        final int titleFormatResId =
+                getResourceId(R.array.power_anomaly_title_ids, mResourceIndex, "string");
         if (mPowerAnomalyEvent.hasWarningBannerInfo()) {
             return mContext.getString(titleFormatResId);
         } else if (mPowerAnomalyEvent.hasWarningItemInfo() && mRelatedBatteryDiffEntry != null) {
@@ -115,19 +125,31 @@
     }
 
     String getMainBtnString() {
-        return getString(WarningBannerInfo::getMainButtonString,
+        return getString(
+                WarningBannerInfo::getMainButtonString,
                 WarningItemInfo::getMainButtonString,
-                R.array.power_anomaly_main_btn_strings, mResourceIndex);
+                R.array.power_anomaly_main_btn_strings,
+                mResourceIndex);
     }
 
     String getDismissBtnString() {
-        return getString(WarningBannerInfo::getCancelButtonString,
+        return getString(
+                WarningBannerInfo::getCancelButtonString,
                 WarningItemInfo::getCancelButtonString,
-                R.array.power_anomaly_dismiss_btn_strings, mResourceIndex);
+                R.array.power_anomaly_dismiss_btn_strings,
+                mResourceIndex);
     }
 
     String getAnomalyHintString() {
-        return getStringFromArrayResource(R.array.power_anomaly_hint_messages, mResourceIndex);
+        final String anomalyHintStringFromProto =
+                getInfo(null, WarningItemInfo::getWarningInfoString);
+        return TextUtils.isEmpty(anomalyHintStringFromProto)
+                ? getStringFromArrayResource(R.array.power_anomaly_hint_messages, mResourceIndex)
+                : anomalyHintStringFromProto;
+    }
+
+    String getAnomalyHintPrefKey() {
+        return getInfo(null, WarningItemInfo::getAnomalyHintPrefKey);
     }
 
     String getDismissRecordKey() {
@@ -140,8 +162,9 @@
 
     String getAnomalyEntryKey() {
         return mPowerAnomalyEvent.hasWarningItemInfo()
-                && mPowerAnomalyEvent.getWarningItemInfo().hasItemKey()
-                ? mPowerAnomalyEvent.getWarningItemInfo().getItemKey() : null;
+                        && mPowerAnomalyEvent.getWarningItemInfo().hasItemKey()
+                ? mPowerAnomalyEvent.getWarningItemInfo().getItemKey()
+                : null;
     }
 
     boolean hasSubSettingLauncher() {
@@ -155,23 +178,24 @@
         if (mSubSettingLauncher != null) {
             return mSubSettingLauncher;
         }
-        final String destinationClassName = getInfo(
-                WarningBannerInfo::getMainButtonDestination, null);
+        final String destinationClassName =
+                getInfo(WarningBannerInfo::getMainButtonDestination, null);
         if (!TextUtils.isEmpty(destinationClassName)) {
-            final Integer sourceMetricsCategory = getInfo(
-                    WarningBannerInfo::getMainButtonSourceMetricsCategory, null);
-            final String preferenceHighlightKey = getInfo(
-                    WarningBannerInfo::getMainButtonSourceHighlightKey, null);
+            final Integer sourceMetricsCategory =
+                    getInfo(WarningBannerInfo::getMainButtonSourceMetricsCategory, null);
+            final String preferenceHighlightKey =
+                    getInfo(WarningBannerInfo::getMainButtonSourceHighlightKey, null);
             Bundle arguments = Bundle.EMPTY;
             if (!TextUtils.isEmpty(preferenceHighlightKey)) {
                 arguments = new Bundle(1);
-                arguments.putString(SettingsActivity.EXTRA_FRAGMENT_ARG_KEY,
-                        preferenceHighlightKey);
+                arguments.putString(
+                        SettingsActivity.EXTRA_FRAGMENT_ARG_KEY, preferenceHighlightKey);
             }
-            mSubSettingLauncher = new SubSettingLauncher(mContext)
-                    .setDestination(destinationClassName)
-                    .setSourceMetricsCategory(sourceMetricsCategory)
-                    .setArguments(arguments);
+            mSubSettingLauncher =
+                    new SubSettingLauncher(mContext)
+                            .setDestination(destinationClassName)
+                            .setSourceMetricsCategory(sourceMetricsCategory)
+                            .setArguments(arguments);
         }
         return mSubSettingLauncher;
     }
@@ -191,13 +215,13 @@
             return null;
         }
         final WarningItemInfo warningItemInfo = mPowerAnomalyEvent.getWarningItemInfo();
-        final Long startTimestamp = warningItemInfo.hasStartTimestamp()
-                ? warningItemInfo.getStartTimestamp() : null;
-        final Long endTimestamp = warningItemInfo.hasEndTimestamp()
-                ? warningItemInfo.getEndTimestamp() : null;
+        final Long startTimestamp =
+                warningItemInfo.hasStartTimestamp() ? warningItemInfo.getStartTimestamp() : null;
+        final Long endTimestamp =
+                warningItemInfo.hasEndTimestamp() ? warningItemInfo.getEndTimestamp() : null;
         if (startTimestamp != null && endTimestamp != null) {
-            mHighlightSlotPair = batteryLevelData
-                    .getIndexByTimestamps(startTimestamp, endTimestamp);
+            mHighlightSlotPair =
+                    batteryLevelData.getIndexByTimestamps(startTimestamp, endTimestamp);
             if (mHighlightSlotPair.first == BatteryChartViewModel.SELECTED_INDEX_INVALID
                     || mHighlightSlotPair.second == BatteryChartViewModel.SELECTED_INDEX_INVALID) {
                 // Drop invalid mHighlightSlotPair index
@@ -214,7 +238,7 @@
         }
         preference.setTitle(titleString);
         preference.setIconResourceId(getIconResId());
-        preference.setMainButtonStrokeColorResourceId(getColorResId());
+        preference.setButtonColorResourceId(getColorResId());
         preference.setMainButtonLabel(getMainBtnString());
         preference.setDismissButtonLabel(getDismissBtnString());
         return true;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
index 844241e..51dce26 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceController.java
@@ -35,6 +35,7 @@
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.Utils;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -55,8 +56,12 @@
 
 /** Controls the update for chart graph and the list items. */
 public class BatteryChartPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver, OnCreate, OnDestroy,
-        OnSaveInstanceState, OnResume {
+        implements PreferenceControllerMixin,
+                LifecycleObserver,
+                OnCreate,
+                OnDestroy,
+                OnSaveInstanceState,
+                OnResume {
     private static final String TAG = "BatteryChartPreferenceController";
     private static final String PREFERENCE_KEY = "battery_chart";
 
@@ -73,22 +78,14 @@
         void onSelectedIndexUpdated();
     }
 
-    @VisibleForTesting
-    Context mPrefContext;
-    @VisibleForTesting
-    TextView mChartSummaryTextView;
-    @VisibleForTesting
-    BatteryChartView mDailyChartView;
-    @VisibleForTesting
-    BatteryChartView mHourlyChartView;
-    @VisibleForTesting
-    int mDailyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
-    @VisibleForTesting
-    int mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
-    @VisibleForTesting
-    int mDailyHighlightSlotIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID;
-    @VisibleForTesting
-    int mHourlyHighlightSlotIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID;
+    @VisibleForTesting Context mPrefContext;
+    @VisibleForTesting TextView mChartSummaryTextView;
+    @VisibleForTesting BatteryChartView mDailyChartView;
+    @VisibleForTesting BatteryChartView mHourlyChartView;
+    @VisibleForTesting int mDailyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+    @VisibleForTesting int mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+    @VisibleForTesting int mDailyHighlightSlotIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID;
+    @VisibleForTesting int mHourlyHighlightSlotIndex = BatteryChartViewModel.SELECTED_INDEX_INVALID;
 
     private boolean mIs24HourFormat;
     private View mBatteryChartViewGroup;
@@ -100,13 +97,14 @@
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private final Handler mHandler = new Handler(Looper.getMainLooper());
     private final AnimatorListenerAdapter mHourlyChartFadeInAdapter =
-            createHourlyChartAnimatorListenerAdapter(/*visible=*/ true);
+            createHourlyChartAnimatorListenerAdapter(/* visible= */ true);
     private final AnimatorListenerAdapter mHourlyChartFadeOutAdapter =
-            createHourlyChartAnimatorListenerAdapter(/*visible=*/ false);
+            createHourlyChartAnimatorListenerAdapter(/* visible= */ false);
 
     @VisibleForTesting
     final DailyChartLabelTextGenerator mDailyChartLabelTextGenerator =
             new DailyChartLabelTextGenerator();
+
     @VisibleForTesting
     final HourlyChartLabelTextGenerator mHourlyChartLabelTextGenerator =
             new HourlyChartLabelTextGenerator();
@@ -116,8 +114,7 @@
         super(context);
         mActivity = activity;
         mIs24HourFormat = DateFormat.is24HourFormat(context);
-        mMetricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         if (lifecycle != null) {
             lifecycle.addObserver(this);
         }
@@ -128,12 +125,13 @@
         if (savedInstanceState == null) {
             return;
         }
-        mDailyChartIndex =
-                savedInstanceState.getInt(KEY_DAILY_CHART_INDEX, mDailyChartIndex);
-        mHourlyChartIndex =
-                savedInstanceState.getInt(KEY_HOURLY_CHART_INDEX, mHourlyChartIndex);
-        Log.d(TAG, String.format("onCreate() dailyIndex=%d hourlyIndex=%d",
-                mDailyChartIndex, mHourlyChartIndex));
+        mDailyChartIndex = savedInstanceState.getInt(KEY_DAILY_CHART_INDEX, mDailyChartIndex);
+        mHourlyChartIndex = savedInstanceState.getInt(KEY_HOURLY_CHART_INDEX, mHourlyChartIndex);
+        Log.d(
+                TAG,
+                String.format(
+                        "onCreate() dailyIndex=%d hourlyIndex=%d",
+                        mDailyChartIndex, mHourlyChartIndex));
     }
 
     @Override
@@ -149,8 +147,11 @@
         }
         savedInstance.putInt(KEY_DAILY_CHART_INDEX, mDailyChartIndex);
         savedInstance.putInt(KEY_HOURLY_CHART_INDEX, mHourlyChartIndex);
-        Log.d(TAG, String.format("onSaveInstanceState() dailyIndex=%d hourlyIndex=%d",
-                mDailyChartIndex, mHourlyChartIndex));
+        Log.d(
+                TAG,
+                String.format(
+                        "onSaveInstanceState() dailyIndex=%d hourlyIndex=%d",
+                        mDailyChartIndex, mHourlyChartIndex));
     }
 
     @Override
@@ -158,7 +159,7 @@
         if (mActivity == null || mActivity.isChangingConfigurations()) {
             BatteryDiffEntry.clearCache();
         }
-        mHandler.removeCallbacksAndMessages(/*token=*/ null);
+        mHandler.removeCallbacksAndMessages(/* token= */ null);
     }
 
     @Override
@@ -204,19 +205,22 @@
             refreshUi();
             return;
         }
-        mDailyViewModel = new BatteryChartViewModel(
-                batteryLevelData.getDailyBatteryLevels().getLevels(),
-                batteryLevelData.getDailyBatteryLevels().getTimestamps(),
-                BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS,
-                mDailyChartLabelTextGenerator);
+        mDailyViewModel =
+                new BatteryChartViewModel(
+                        batteryLevelData.getDailyBatteryLevels().getLevels(),
+                        batteryLevelData.getDailyBatteryLevels().getTimestamps(),
+                        BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS,
+                        mDailyChartLabelTextGenerator);
         mHourlyViewModels = new ArrayList<>();
         for (BatteryLevelData.PeriodBatteryLevelData hourlyBatteryLevelsPerDay :
                 batteryLevelData.getHourlyBatteryLevelsPerDay()) {
-            mHourlyViewModels.add(new BatteryChartViewModel(
-                    hourlyBatteryLevelsPerDay.getLevels(),
-                    hourlyBatteryLevelsPerDay.getTimestamps(),
-                    BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
-                    mHourlyChartLabelTextGenerator.updateSpecialCaseContext(batteryLevelData)));
+            mHourlyViewModels.add(
+                    new BatteryChartViewModel(
+                            hourlyBatteryLevelsPerDay.getLevels(),
+                            hourlyBatteryLevelsPerDay.getTimestamps(),
+                            BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+                            mHourlyChartLabelTextGenerator.updateSpecialCaseContext(
+                                    batteryLevelData)));
         }
         refreshUi();
     }
@@ -248,17 +252,21 @@
         }
         mDailyChartIndex = mDailyHighlightSlotIndex;
         mHourlyChartIndex = mHourlyHighlightSlotIndex;
-        Log.d(TAG, String.format("onDailyChartSelect:%d, onHourlyChartSelect:%d",
-                mDailyChartIndex, mHourlyChartIndex));
+        Log.d(
+                TAG,
+                String.format(
+                        "onDailyChartSelect:%d, onHourlyChartSelect:%d",
+                        mDailyChartIndex, mHourlyChartIndex));
         refreshUi();
-        mHandler.post(() -> mDailyChartView.announceForAccessibility(
-                getAccessibilityAnnounceMessage()));
+        mHandler.post(
+                () -> mDailyChartView.announceForAccessibility(getAccessibilityAnnounceMessage()));
         if (mOnSelectedIndexUpdatedListener != null) {
             mOnSelectedIndexUpdatedListener.onSelectedIndexUpdated();
         }
     }
 
-    void setBatteryChartView(@NonNull final BatteryChartView dailyChartView,
+    void setBatteryChartView(
+            @NonNull final BatteryChartView dailyChartView,
             @NonNull final BatteryChartView hourlyChartView) {
         final View parentView = (View) dailyChartView.getParent();
         if (parentView != null && parentView.getId() == R.id.battery_chart_group) {
@@ -270,63 +278,76 @@
         }
         if (mBatteryChartViewGroup != null) {
             final View grandparentView = (View) mBatteryChartViewGroup.getParent();
-            mChartSummaryTextView = grandparentView != null
-                    ? grandparentView.findViewById(R.id.chart_summary) : null;
+            mChartSummaryTextView =
+                    grandparentView != null
+                            ? grandparentView.findViewById(R.id.chart_summary)
+                            : null;
         }
     }
 
-    private void setBatteryChartViewInner(@NonNull final BatteryChartView dailyChartView,
+    private void setBatteryChartViewInner(
+            @NonNull final BatteryChartView dailyChartView,
             @NonNull final BatteryChartView hourlyChartView) {
         mDailyChartView = dailyChartView;
-        mDailyChartView.setOnSelectListener(trapezoidIndex -> {
-            if (mDailyChartIndex == trapezoidIndex) {
-                return;
-            }
-            Log.d(TAG, "onDailyChartSelect:" + trapezoidIndex);
-            mDailyChartIndex = trapezoidIndex;
-            mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
-            refreshUi();
-            mHandler.post(() -> mDailyChartView.announceForAccessibility(
-                    getAccessibilityAnnounceMessage()));
-            mMetricsFeatureProvider.action(
-                    mPrefContext,
-                    trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
-                            ? SettingsEnums.ACTION_BATTERY_USAGE_DAILY_SHOW_ALL
-                            : SettingsEnums.ACTION_BATTERY_USAGE_DAILY_TIME_SLOT,
-                    mDailyChartIndex);
-            if (mOnSelectedIndexUpdatedListener != null) {
-                mOnSelectedIndexUpdatedListener.onSelectedIndexUpdated();
-            }
-        });
+        mDailyChartView.setOnSelectListener(
+                trapezoidIndex -> {
+                    if (mDailyChartIndex == trapezoidIndex) {
+                        return;
+                    }
+                    Log.d(TAG, "onDailyChartSelect:" + trapezoidIndex);
+                    mDailyChartIndex = trapezoidIndex;
+                    mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
+                    refreshUi();
+                    mHandler.post(
+                            () ->
+                                    mDailyChartView.announceForAccessibility(
+                                            getAccessibilityAnnounceMessage()));
+                    mMetricsFeatureProvider.action(
+                            mPrefContext,
+                            trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
+                                    ? SettingsEnums.ACTION_BATTERY_USAGE_DAILY_SHOW_ALL
+                                    : SettingsEnums.ACTION_BATTERY_USAGE_DAILY_TIME_SLOT,
+                            mDailyChartIndex);
+                    if (mOnSelectedIndexUpdatedListener != null) {
+                        mOnSelectedIndexUpdatedListener.onSelectedIndexUpdated();
+                    }
+                });
         mHourlyChartView = hourlyChartView;
-        mHourlyChartView.setOnSelectListener(trapezoidIndex -> {
-            if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
-                // This will happen when a daily slot and an hour slot are clicked together.
-                return;
-            }
-            if (mHourlyChartIndex == trapezoidIndex) {
-                return;
-            }
-            Log.d(TAG, "onHourlyChartSelect:" + trapezoidIndex);
-            mHourlyChartIndex = trapezoidIndex;
-            refreshUi();
-            mHandler.post(() -> mHourlyChartView.announceForAccessibility(
-                    getAccessibilityAnnounceMessage()));
-            mMetricsFeatureProvider.action(
-                    mPrefContext,
-                    trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
-                            ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL
-                            : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT,
-                    mHourlyChartIndex);
-            if (mOnSelectedIndexUpdatedListener != null) {
-                mOnSelectedIndexUpdatedListener.onSelectedIndexUpdated();
-            }
-        });
+        mHourlyChartView.setOnSelectListener(
+                trapezoidIndex -> {
+                    if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
+                        // This will happen when a daily slot and an hour slot are clicked together.
+                        return;
+                    }
+                    if (mHourlyChartIndex == trapezoidIndex) {
+                        return;
+                    }
+                    Log.d(TAG, "onHourlyChartSelect:" + trapezoidIndex);
+                    mHourlyChartIndex = trapezoidIndex;
+                    refreshUi();
+                    mHandler.post(
+                            () ->
+                                    mHourlyChartView.announceForAccessibility(
+                                            getAccessibilityAnnounceMessage()));
+                    mMetricsFeatureProvider.action(
+                            mPrefContext,
+                            trapezoidIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
+                                    ? SettingsEnums.ACTION_BATTERY_USAGE_SHOW_ALL
+                                    : SettingsEnums.ACTION_BATTERY_USAGE_TIME_SLOT,
+                            mHourlyChartIndex);
+                    if (mOnSelectedIndexUpdatedListener != null) {
+                        mOnSelectedIndexUpdatedListener.onSelectedIndexUpdated();
+                    }
+                });
         refreshUi();
     }
 
     // Show empty hourly chart view only if there is no valid battery usage data.
     void showEmptyChart() {
+        if (mDailyChartView == null || mHourlyChartView == null) {
+            // Chart views are not initialized.
+            return;
+        }
         setChartSummaryVisible(true);
         mDailyChartView.setVisibility(View.GONE);
         mHourlyChartView.setVisibility(View.VISIBLE);
@@ -367,18 +388,18 @@
 
         if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
             // Multiple days are selected, hide the hourly chart view.
-            animateBatteryHourlyChartView(/*visible=*/ false);
+            animateBatteryHourlyChartView(/* visible= */ false);
         } else {
-            animateBatteryHourlyChartView(/*visible=*/ true);
-            final BatteryChartViewModel hourlyViewModel =
-                    mHourlyViewModels.get(mDailyChartIndex);
+            animateBatteryHourlyChartView(/* visible= */ true);
+            final BatteryChartViewModel hourlyViewModel = mHourlyViewModels.get(mDailyChartIndex);
             if (mHourlyChartIndex >= hourlyViewModel.size()) {
                 mHourlyChartIndex = BatteryChartViewModel.SELECTED_INDEX_ALL;
             }
             hourlyViewModel.setSelectedIndex(mHourlyChartIndex);
-            hourlyViewModel.setHighlightSlotIndex((mDailyChartIndex == mDailyHighlightSlotIndex)
-                    ? mHourlyHighlightSlotIndex
-                    : BatteryChartViewModel.SELECTED_INDEX_INVALID);
+            hourlyViewModel.setHighlightSlotIndex(
+                    (mDailyChartIndex == mDailyHighlightSlotIndex)
+                            ? mHourlyHighlightSlotIndex
+                            : BatteryChartViewModel.SELECTED_INDEX_INVALID);
             mHourlyChartView.setViewModel(hourlyViewModel);
         }
     }
@@ -397,8 +418,8 @@
             return selectedDayText;
         }
 
-        final String selectedHourText = mHourlyViewModels.get(mDailyChartIndex).getFullText(
-                mHourlyChartIndex);
+        final String selectedHourText =
+                mHourlyViewModels.get(mDailyChartIndex).getFullText(mHourlyChartIndex);
         if (isBatteryLevelDataInOneDay()) {
             return selectedHourText;
         }
@@ -407,18 +428,43 @@
                 R.string.battery_usage_day_and_hour, selectedDayText, selectedHourText);
     }
 
+    @VisibleForTesting
+    String getBatteryLevelPercentageInfo() {
+        if (mDailyViewModel == null || mHourlyViewModels == null) {
+            // No data
+            return "";
+        }
+
+        if (mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL
+                || mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL) {
+            return mDailyViewModel.getSlotBatteryLevelText(mDailyChartIndex);
+        }
+
+        return mHourlyViewModels.get(mDailyChartIndex).getSlotBatteryLevelText(mHourlyChartIndex);
+    }
+
     private String getAccessibilityAnnounceMessage() {
         final String slotInformation = getSlotInformation();
-        return slotInformation == null
-                ? mPrefContext.getString(
-                        R.string.battery_usage_breakdown_title_since_last_full_charge)
-                : mPrefContext.getString(
-                        R.string.battery_usage_breakdown_title_for_slot, slotInformation);
+        final String slotInformationMessage =
+                slotInformation == null
+                        ? mPrefContext.getString(
+                                R.string.battery_usage_breakdown_title_since_last_full_charge)
+                        : mPrefContext.getString(
+                                R.string.battery_usage_breakdown_title_for_slot, slotInformation);
+        final String batteryLevelPercentageMessage = getBatteryLevelPercentageInfo();
+
+        return mPrefContext.getString(
+                R.string.battery_usage_time_info_and_battery_level,
+                slotInformationMessage,
+                batteryLevelPercentageMessage);
     }
 
     private void animateBatteryChartViewGroup() {
         if (mBatteryChartViewGroup != null && mBatteryChartViewGroup.getAlpha() == 0) {
-            mBatteryChartViewGroup.animate().alpha(1f).setDuration(FADE_IN_ANIMATION_DURATION)
+            mBatteryChartViewGroup
+                    .animate()
+                    .alpha(1f)
+                    .setDuration(FADE_IN_ANIMATION_DURATION)
                     .start();
         }
     }
@@ -431,13 +477,15 @@
 
         if (visible) {
             mHourlyChartView.setVisibility(View.VISIBLE);
-            mHourlyChartView.animate()
+            mHourlyChartView
+                    .animate()
                     .alpha(1f)
                     .setDuration(FADE_IN_ANIMATION_DURATION)
                     .setListener(mHourlyChartFadeInAdapter)
                     .start();
         } else {
-            mHourlyChartView.animate()
+            mHourlyChartView
+                    .animate()
                     .alpha(0f)
                     .setDuration(FADE_OUT_ANIMATION_DURATION)
                     .setListener(mHourlyChartFadeOutAdapter)
@@ -463,6 +511,7 @@
                     mHourlyChartView.setVisibility(visibility);
                 }
             }
+
             @Override
             public void onAnimationCancel(Animator animation) {
                 super.onAnimationCancel(animation);
@@ -479,7 +528,7 @@
 
     private boolean isAllSelected() {
         return (isBatteryLevelDataInOneDay()
-                || mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL)
+                        || mDailyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL)
                 && mHourlyChartIndex == BatteryChartViewModel.SELECTED_INDEX_ALL;
     }
 
@@ -489,8 +538,9 @@
             return 0;
         }
         List<Long> dailyTimestamps = batteryLevelData.getDailyBatteryLevels().getTimestamps();
-        return (int) ((dailyTimestamps.get(dailyTimestamps.size() - 1) - dailyTimestamps.get(0))
-                / DateUtils.HOUR_IN_MILLIS);
+        return (int)
+                ((dailyTimestamps.get(dailyTimestamps.size() - 1) - dailyTimestamps.get(0))
+                        / DateUtils.HOUR_IN_MILLIS);
     }
 
     /** Used for {@link AppBatteryPreferenceController}. */
@@ -501,17 +551,21 @@
         if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
             return null;
         }
-        Log.d(TAG, String.format("getBatterySinceLastFullChargeUsageData() size=%d time=%d/ms",
-                batteryHistoryMap.size(), (System.currentTimeMillis() - start)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatterySinceLastFullChargeUsageData() size=%d time=%d/ms",
+                        batteryHistoryMap.size(), (System.currentTimeMillis() - start)));
 
         final Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageData =
                 DataProcessor.getBatteryUsageData(context, batteryHistoryMap);
         if (batteryUsageData == null) {
             return null;
         }
-        BatteryDiffData allBatteryDiffData = batteryUsageData.get(
-                BatteryChartViewModel.SELECTED_INDEX_ALL).get(
-                BatteryChartViewModel.SELECTED_INDEX_ALL);
+        BatteryDiffData allBatteryDiffData =
+                batteryUsageData
+                        .get(BatteryChartViewModel.SELECTED_INDEX_ALL)
+                        .get(BatteryChartViewModel.SELECTED_INDEX_ALL);
         return allBatteryDiffData == null ? null : allBatteryDiffData.getAppDiffEntryList();
     }
 
@@ -542,23 +596,45 @@
         return null;
     }
 
-    private final class DailyChartLabelTextGenerator implements
-            BatteryChartViewModel.LabelTextGenerator {
+    private abstract class BaseLabelTextGenerator
+            implements BatteryChartViewModel.LabelTextGenerator {
+        @Override
+        public String generateSlotBatteryLevelText(List<Integer> levels, int index) {
+            final int fromBatteryLevelIndex =
+                    index == BatteryChartViewModel.SELECTED_INDEX_ALL ? 0 : index;
+            final int toBatteryLevelIndex =
+                    index == BatteryChartViewModel.SELECTED_INDEX_ALL
+                            ? levels.size() - 1
+                            : index + 1;
+            return mPrefContext.getString(
+                    R.string.battery_level_percentage,
+                    generateBatteryLevelText(levels.get(fromBatteryLevelIndex)),
+                    generateBatteryLevelText(levels.get(toBatteryLevelIndex)));
+        }
+
+        @VisibleForTesting
+        private static String generateBatteryLevelText(Integer level) {
+            return Utils.formatPercentage(level);
+        }
+    }
+
+    private final class DailyChartLabelTextGenerator extends BaseLabelTextGenerator
+            implements BatteryChartViewModel.LabelTextGenerator {
         @Override
         public String generateText(List<Long> timestamps, int index) {
-            return ConvertUtils.utcToLocalTimeDayOfWeek(mContext,
-                    timestamps.get(index), /* isAbbreviation= */ true);
+            return ConvertUtils.utcToLocalTimeDayOfWeek(
+                    mContext, timestamps.get(index), /* isAbbreviation= */ true);
         }
 
         @Override
         public String generateFullText(List<Long> timestamps, int index) {
-            return ConvertUtils.utcToLocalTimeDayOfWeek(mContext,
-                    timestamps.get(index), /* isAbbreviation= */ false);
+            return ConvertUtils.utcToLocalTimeDayOfWeek(
+                    mContext, timestamps.get(index), /* isAbbreviation= */ false);
         }
     }
 
-    private final class HourlyChartLabelTextGenerator implements
-            BatteryChartViewModel.LabelTextGenerator {
+    private final class HourlyChartLabelTextGenerator extends BaseLabelTextGenerator
+            implements BatteryChartViewModel.LabelTextGenerator {
         private static final int FULL_CHARGE_BATTERY_LEVEL = 100;
 
         private boolean mIsFromFullCharge;
@@ -589,8 +665,10 @@
         public String generateFullText(List<Long> timestamps, int index) {
             return index == timestamps.size() - 1
                     ? generateText(timestamps, index)
-                    : mContext.getString(R.string.battery_usage_timestamps_hyphen,
-                            generateText(timestamps, index), generateText(timestamps, index + 1));
+                    : mContext.getString(
+                            R.string.battery_usage_timestamps_hyphen,
+                            generateText(timestamps, index),
+                            generateText(timestamps, index + 1));
         }
 
         HourlyChartLabelTextGenerator updateSpecialCaseContext(
@@ -600,8 +678,10 @@
             this.mIsFromFullCharge =
                     firstDayLevelData.getLevels().get(0) == FULL_CHARGE_BATTERY_LEVEL;
             this.mFistTimestamp = firstDayLevelData.getTimestamps().get(0);
-            this.mLatestTimestamp = getLast(getLast(
-                    batteryLevelData.getHourlyBatteryLevelsPerDay()).getTimestamps());
+            this.mLatestTimestamp =
+                    getLast(
+                            getLast(batteryLevelData.getHourlyBatteryLevelsPerDay())
+                                    .getTimestamps());
             return this;
         }
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
index bb468fe..111a5a1 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartView.java
@@ -74,7 +74,7 @@
 
     private final String[] mPercentages = getPercentages();
     private final Rect mIndent = new Rect();
-    private final Rect[] mPercentageBounds = new Rect[]{new Rect(), new Rect(), new Rect()};
+    private final Rect[] mPercentageBounds = new Rect[] {new Rect(), new Rect(), new Rect()};
     private final List<Rect> mAxisLabelsBounds = new ArrayList<>();
     private final Set<Integer> mLabelDrawnIndexes = new ArraySet<>();
     private final int mLayoutDirection =
@@ -106,11 +106,9 @@
     private AccessibilityNodeProvider mAccessibilityNodeProvider;
     private BatteryChartView.OnSelectListener mOnSelectListener;
 
-    @VisibleForTesting
-    TrapezoidSlot[] mTrapezoidSlots;
+    @VisibleForTesting TrapezoidSlot[] mTrapezoidSlots;
     // Records the location to calculate selected index.
-    @VisibleForTesting
-    float mTouchUpEventX = Float.MIN_VALUE;
+    @VisibleForTesting float mTouchUpEventX = Float.MIN_VALUE;
 
     public BatteryChartView(Context context) {
         super(context, null);
@@ -133,9 +131,13 @@
             return;
         }
 
-        Log.d(TAG, String.format(
-                "setViewModel(): size: %d, selectedIndex: %d, getHighlightSlotIndex: %d",
-                viewModel.size(), viewModel.selectedIndex(), viewModel.getHighlightSlotIndex()));
+        Log.d(
+                TAG,
+                String.format(
+                        "setViewModel(): size: %d, selectedIndex: %d, getHighlightSlotIndex: %d",
+                        viewModel.size(),
+                        viewModel.selectedIndex(),
+                        viewModel.getHighlightSlotIndex()));
         mViewModel = viewModel;
         initializeAxisLabelsBounds();
         initializeTrapezoidSlots(viewModel.size() - 1);
@@ -169,7 +171,9 @@
             mTextPaint.setTextAlign(Paint.Align.LEFT);
             for (int index = 0; index < mPercentages.length; index++) {
                 mTextPaint.getTextBounds(
-                        mPercentages[index], 0, mPercentages[index].length(),
+                        mPercentages[index],
+                        0,
+                        mPercentages[index].length(),
                         mPercentageBounds[index]);
             }
             // Updates the indent configurations.
@@ -292,7 +296,8 @@
             // Selects all if users click the same trapezoid item two times.
             mOnSelectListener.onSelect(
                     index == mViewModel.selectedIndex()
-                            ? BatteryChartViewModel.SELECTED_INDEX_ALL : index);
+                            ? BatteryChartViewModel.SELECTED_INDEX_ALL
+                            : index);
         }
         view.performHapticFeedback(HapticFeedbackConstants.CONTEXT_CLICK);
     }
@@ -327,8 +332,9 @@
         setBackgroundColor(Color.TRANSPARENT);
         mTrapezoidSolidColor = Utils.getColorAccentDefaultColor(context);
         mTrapezoidColor = Utils.getDisabled(context, mTrapezoidSolidColor);
-        mTrapezoidHoverColor = Utils.getColorAttrDefaultColor(context,
-                com.android.internal.R.attr.materialColorSecondaryContainer);
+        mTrapezoidHoverColor =
+                Utils.getColorAttrDefaultColor(
+                        context, com.android.internal.R.attr.materialColorSecondaryContainer);
         // Initializes the divider line paint.
         final Resources resources = getContext().getResources();
         mDividerWidth = resources.getDimensionPixelSize(R.dimen.chartview_divider_width);
@@ -353,25 +359,26 @@
         // Initializes for drawing text information.
         mTextPadding = resources.getDimensionPixelSize(R.dimen.chartview_text_padding);
         // Initializes the padding top for drawing text information.
-        mTransomViewHeight = resources.getDimensionPixelSize(
-                R.dimen.chartview_transom_layout_height);
+        mTransomViewHeight =
+                resources.getDimensionPixelSize(R.dimen.chartview_transom_layout_height);
     }
 
     private void initializeTransomPaint() {
-        if (mTransomLinePaint != null && mTransomSelectedSlotPaint != null
+        if (mTransomLinePaint != null
+                && mTransomSelectedSlotPaint != null
                 && mTransomIcon != null) {
             return;
         }
         // Initializes the transom line paint.
         final Resources resources = getContext().getResources();
-        final int transomLineWidth = resources.getDimensionPixelSize(
-                R.dimen.chartview_transom_width);
+        final int transomLineWidth =
+                resources.getDimensionPixelSize(R.dimen.chartview_transom_width);
         final int transomRadius = resources.getDimensionPixelSize(R.dimen.chartview_transom_radius);
         mTransomPadding = transomRadius * .5f;
         mTransomTop = resources.getDimensionPixelSize(R.dimen.chartview_transom_padding_top);
         mTransomLineDefaultColor = Utils.getDisabled(mContext, DIVIDER_COLOR);
-        mTransomLineSelectedColor = resources.getColor(
-                R.color.color_battery_anomaly_yellow_selector);
+        mTransomLineSelectedColor =
+                resources.getColor(R.color.color_battery_anomaly_app_warning_selector);
         final int slotHighlightColor = Utils.getDisabled(mContext, mTransomLineSelectedColor);
         mTransomIconSize = resources.getDimensionPixelSize(R.dimen.chartview_transom_icon_size);
         mTransomLinePaint = new Paint();
@@ -396,29 +403,29 @@
         final float availableSpace = bottomOffsetY - topOffsetY;
 
         mDividerPaint.setColor(DIVIDER_COLOR);
-        final float dividerOffsetUnit =
-                availableSpace / (float) (HORIZONTAL_DIVIDER_COUNT - 1);
+        final float dividerOffsetUnit = availableSpace / (float) (HORIZONTAL_DIVIDER_COUNT - 1);
 
         // Draws 5 divider lines.
         for (int index = 0; index < HORIZONTAL_DIVIDER_COUNT; index++) {
             float offsetY = topOffsetY + dividerOffsetUnit * index;
-            canvas.drawLine(mIndent.left, offsetY,
-                    mIndent.left + width, offsetY, mDividerPaint);
+            canvas.drawLine(mIndent.left, offsetY, mIndent.left + width, offsetY, mDividerPaint);
 
             //  Draws percentage text only for 100% / 50% / 0%
             if (index % 2 == 0) {
-                drawPercentage(canvas, /*index=*/ (index + 1) / 2, offsetY);
+                drawPercentage(canvas, /* index= */ (index + 1) / 2, offsetY);
             }
         }
     }
 
     private void drawPercentage(Canvas canvas, int index, float offsetY) {
         if (mTextPaint != null) {
-            mTextPaint.setTextAlign(Paint.Align.RIGHT);
+            mTextPaint.setTextAlign(isRTL() ? Paint.Align.RIGHT : Paint.Align.LEFT);
             mTextPaint.setColor(mDefaultTextColor);
             canvas.drawText(
                     mPercentages[index],
-                    isRTL() ? mIndent.left - mTextPadding : getWidth(),
+                    isRTL()
+                            ? mIndent.left - mTextPadding
+                            : getWidth() - mIndent.width() + mTextPadding,
                     offsetY + mPercentageBounds[index].height() * .5f,
                     mTextPaint);
         }
@@ -438,21 +445,23 @@
             Rect[] axisLabelDisplayAreas;
             switch (mViewModel.axisLabelPosition()) {
                 case CENTER_OF_TRAPEZOIDS:
-                    axisLabelDisplayAreas = getAxisLabelDisplayAreas(
-                            /* size= */ mViewModel.size() - 1,
-                            /* baselineX= */ mIndent.left + mDividerWidth + unitWidth * .5f,
-                            /* offsetX= */ mDividerWidth + unitWidth,
-                            baselineY,
-                            /* shiftFirstAndLast= */ false);
+                    axisLabelDisplayAreas =
+                            getAxisLabelDisplayAreas(
+                                    /* size= */ mViewModel.size() - 1,
+                                    /* baselineX= */ mIndent.left + mDividerWidth + unitWidth * .5f,
+                                    /* offsetX= */ mDividerWidth + unitWidth,
+                                    baselineY,
+                                    /* shiftFirstAndLast= */ false);
                     break;
                 case BETWEEN_TRAPEZOIDS:
                 default:
-                    axisLabelDisplayAreas = getAxisLabelDisplayAreas(
-                            /* size= */ mViewModel.size(),
-                            /* baselineX= */ mIndent.left + mDividerWidth * .5f,
-                            /* offsetX= */ mDividerWidth + unitWidth,
-                            baselineY,
-                            /* shiftFirstAndLast= */ true);
+                    axisLabelDisplayAreas =
+                            getAxisLabelDisplayAreas(
+                                    /* size= */ mViewModel.size(),
+                                    /* baselineX= */ mIndent.left + mDividerWidth * .5f,
+                                    /* offsetX= */ mDividerWidth + unitWidth,
+                                    baselineY,
+                                    /* shiftFirstAndLast= */ true);
                     break;
             }
             drawAxisLabels(canvas, axisLabelDisplayAreas, baselineY);
@@ -481,8 +490,12 @@
     }
 
     /** Gets all the axis label texts displaying area positions if they are shown. */
-    private Rect[] getAxisLabelDisplayAreas(final int size, final float baselineX,
-            final float offsetX, final float baselineY, final boolean shiftFirstAndLast) {
+    private Rect[] getAxisLabelDisplayAreas(
+            final int size,
+            final float baselineX,
+            final float offsetX,
+            final float baselineY,
+            final boolean shiftFirstAndLast) {
         final Rect[] result = new Rect[size];
         for (int index = 0; index < result.length; index++) {
             final float width = mAxisLabelsBounds.get(index).width();
@@ -522,8 +535,11 @@
      * labels and then recursively draw the 3 parts. If there are any overlaps, skip drawing and go
      * back to the uplevel of the recursion.
      */
-    private void drawAxisLabelsBetweenStartIndexAndEndIndex(Canvas canvas,
-            final Rect[] displayAreas, final int startIndex, final int endIndex,
+    private void drawAxisLabelsBetweenStartIndexAndEndIndex(
+            Canvas canvas,
+            final Rect[] displayAreas,
+            final int startIndex,
+            final int endIndex,
             final float baselineY) {
         if (endIndex - startIndex <= 1) {
             return;
@@ -576,15 +592,12 @@
         mTextPaint.setTextAlign(Paint.Align.CENTER);
         // Reverse the sort of axis labels for RTL
         if (isRTL()) {
-            index = mViewModel.axisLabelPosition() == BETWEEN_TRAPEZOIDS
-                            ? mViewModel.size() - index - 1     // for hourly
-                            : mViewModel.size() - index - 2;    // for daily
+            index =
+                    mViewModel.axisLabelPosition() == BETWEEN_TRAPEZOIDS
+                            ? mViewModel.size() - index - 1 // for hourly
+                            : mViewModel.size() - index - 2; // for daily
         }
-        canvas.drawText(
-                mViewModel.getText(index),
-                displayArea.centerX(),
-                baselineY,
-                mTextPaint);
+        canvas.drawText(mViewModel.getText(index), displayArea.centerX(), baselineY, mTextPaint);
         mLabelDrawnIndexes.add(index);
     }
 
@@ -594,8 +607,7 @@
             return;
         }
         final float trapezoidBottom =
-                getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth
-                        - mTrapezoidVOffset;
+                getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth - mTrapezoidVOffset;
         final float availableSpace =
                 trapezoidBottom - mDividerWidth * .5f - mIndent.top - mTrapezoidVOffset;
         final float unitHeight = availableSpace / 100f;
@@ -608,17 +620,24 @@
                 continue;
             }
             // Configures the trapezoid paint color.
-            final int trapezoidColor = (mViewModel.selectedIndex() == index
-                    || mViewModel.selectedIndex() == BatteryChartViewModel.SELECTED_INDEX_ALL)
-                    ? mTrapezoidSolidColor : mTrapezoidColor;
-            final boolean isHoverState = mHoveredIndex == index && isValidToDraw(mViewModel,
-                    mHoveredIndex);
+            final int trapezoidColor =
+                    (mViewModel.selectedIndex() == index
+                                    || mViewModel.selectedIndex()
+                                            == BatteryChartViewModel.SELECTED_INDEX_ALL)
+                            ? mTrapezoidSolidColor
+                            : mTrapezoidColor;
+            final boolean isHoverState =
+                    mHoveredIndex == index && isValidToDraw(mViewModel, mHoveredIndex);
             mTrapezoidPaint.setColor(isHoverState ? mTrapezoidHoverColor : trapezoidColor);
 
-            float leftTop = round(
-                    trapezoidBottom - requireNonNull(mViewModel.getLevel(index)) * unitHeight);
-            float rightTop = round(trapezoidBottom
-                    - requireNonNull(mViewModel.getLevel(index + 1)) * unitHeight);
+            float leftTop =
+                    round(
+                            trapezoidBottom
+                                    - requireNonNull(mViewModel.getLevel(index)) * unitHeight);
+            float rightTop =
+                    round(
+                            trapezoidBottom
+                                    - requireNonNull(mViewModel.getLevel(index + 1)) * unitHeight);
             // Mirror the shape of the trapezoid for RTL
             if (isRTL()) {
                 float temp = leftTop;
@@ -639,8 +658,9 @@
     }
 
     private boolean isHighlightSlotValid() {
-        return mViewModel != null && mViewModel.getHighlightSlotIndex()
-                != BatteryChartViewModel.SELECTED_INDEX_INVALID;
+        return mViewModel != null
+                && mViewModel.getHighlightSlotIndex()
+                        != BatteryChartViewModel.SELECTED_INDEX_INVALID;
     }
 
     private void drawTransomLine(Canvas canvas) {
@@ -652,10 +672,13 @@
         mTransomLinePaint.setColor(mTransomLineDefaultColor);
         final int width = getWidth() - abs(mIndent.width());
         final float transomOffset = mTrapezoidHOffset + mDividerWidth * .5f + mTransomPadding;
-        final float trapezoidBottom = getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth
-                - mTrapezoidVOffset;
-        canvas.drawLine(mIndent.left + transomOffset, mTransomTop,
-                mIndent.left + width - transomOffset, mTransomTop,
+        final float trapezoidBottom =
+                getHeight() - mIndent.bottom - mDividerHeight - mDividerWidth - mTrapezoidVOffset;
+        canvas.drawLine(
+                mIndent.left + transomOffset,
+                mTransomTop,
+                mIndent.left + width - transomOffset,
+                mTransomTop,
                 mTransomLinePaint);
         drawTransomIcon(canvas);
         // Draw selected segment of transom line and a highlight slot
@@ -663,22 +686,28 @@
         final int index = mViewModel.getHighlightSlotIndex();
         final float startX = mTrapezoidSlots[index].mLeft;
         final float endX = mTrapezoidSlots[index].mRight;
-        canvas.drawLine(startX + mTransomPadding, mTransomTop,
-                endX - mTransomPadding, mTransomTop,
+        canvas.drawLine(
+                startX + mTransomPadding,
+                mTransomTop,
+                endX - mTransomPadding,
+                mTransomTop,
                 mTransomLinePaint);
-        canvas.drawRect(startX, mTransomTop, endX, trapezoidBottom,
-                mTransomSelectedSlotPaint);
+        canvas.drawRect(startX, mTransomTop, endX, trapezoidBottom, mTransomSelectedSlotPaint);
     }
 
     private void drawTransomIcon(Canvas canvas) {
         if (mTransomIcon == null) {
             return;
         }
-        final int left = isRTL()
-                ? mIndent.left - mTextPadding - mTransomIconSize
-                : getWidth() - abs(mIndent.width()) + mTextPadding;
-        mTransomIcon.setBounds(left, mTransomTop - mTransomIconSize / 2,
-                left + mTransomIconSize, mTransomTop + mTransomIconSize / 2);
+        final int left =
+                isRTL()
+                        ? mIndent.left - mTextPadding - mTransomIconSize
+                        : getWidth() - abs(mIndent.width()) + mTextPadding;
+        mTransomIcon.setBounds(
+                left,
+                mTransomTop - mTransomIconSize / 2,
+                left + mTransomIconSize,
+                mTransomTop + mTransomIconSize / 2);
         mTransomIcon.draw(canvas);
     }
 
@@ -689,8 +718,7 @@
         }
         for (int index = 0; index < mTrapezoidSlots.length; index++) {
             final TrapezoidSlot slot = mTrapezoidSlots[index];
-            if (x >= slot.mLeft - mTrapezoidHOffset
-                    && x <= slot.mRight + mTrapezoidHOffset) {
+            if (x >= slot.mLeft - mTrapezoidHOffset && x <= slot.mRight + mTrapezoidHOffset) {
                 return index;
             }
         }
@@ -712,9 +740,7 @@
 
     private static boolean isTrapezoidIndexValid(
             @NonNull BatteryChartViewModel viewModel, int trapezoidIndex) {
-        return viewModel != null
-                && trapezoidIndex >= 0
-                && trapezoidIndex < viewModel.size() - 1;
+        return viewModel != null && trapezoidIndex >= 0 && trapezoidIndex < viewModel.size() - 1;
     }
 
     private static boolean isValidToDraw(BatteryChartViewModel viewModel, int trapezoidIndex) {
@@ -733,10 +759,11 @@
     }
 
     private static String[] getPercentages() {
-        return new String[]{
-                formatPercentage(/*percentage=*/ 100, /*round=*/ true),
-                formatPercentage(/*percentage=*/ 50, /*round=*/ true),
-                formatPercentage(/*percentage=*/ 0, /*round=*/ true)};
+        return new String[] {
+            formatPercentage(/* percentage= */ 100, /* round= */ true),
+            formatPercentage(/* percentage= */ 50, /* round= */ true),
+            formatPercentage(/* percentage= */ 0, /* round= */ true)
+        };
     }
 
     private class BatteryChartAccessibilityNodeProvider extends AccessibilityNodeProvider {
@@ -757,10 +784,16 @@
             }
             final AccessibilityNodeInfo childInfo =
                     new AccessibilityNodeInfo(BatteryChartView.this, index);
+            final String slotTimeInfo = mViewModel.getFullText(index);
+            final String batteryLevelInfo = mViewModel.getSlotBatteryLevelText(index);
             onInitializeAccessibilityNodeInfo(childInfo);
             childInfo.setClickable(isValidToDraw(mViewModel, index));
-            childInfo.setText(mViewModel.getFullText(index));
-            childInfo.setContentDescription(mViewModel.getFullText(index));
+            childInfo.setText(slotTimeInfo);
+            childInfo.setContentDescription(
+                    mContext.getString(
+                            R.string.battery_usage_time_info_and_battery_level,
+                            slotTimeInfo,
+                            batteryLevelInfo));
 
             final Rect bounds = new Rect();
             getBoundsOnScreen(bounds, true);
@@ -772,8 +805,7 @@
         }
 
         @Override
-        public boolean performAction(int virtualViewId, int action,
-                @Nullable Bundle arguments) {
+        public boolean performAction(int virtualViewId, int action, @Nullable Bundle arguments) {
             if (virtualViewId == AccessibilityNodeProvider.HOST_VIEW_ID) {
                 return performAccessibilityAction(action, arguments);
             }
@@ -783,11 +815,12 @@
                     return true;
 
                 case AccessibilityNodeInfo.ACTION_ACCESSIBILITY_FOCUS:
-                    return sendAccessibilityEvent(virtualViewId,
-                            AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
+                    return sendAccessibilityEvent(
+                            virtualViewId, AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUSED);
 
                 case AccessibilityNodeInfo.ACTION_CLEAR_ACCESSIBILITY_FOCUS:
-                    return sendAccessibilityEvent(virtualViewId,
+                    return sendAccessibilityEvent(
+                            virtualViewId,
                             AccessibilityEvent.TYPE_VIEW_ACCESSIBILITY_FOCUS_CLEARED);
 
                 default:
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java
index bf8a771..86890d5 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewModel.java
@@ -40,11 +40,14 @@
     }
 
     interface LabelTextGenerator {
-        /** Generate the label text. The text may be abbreviated to save space. */
+        /** Generates the label text. The text may be abbreviated to save space. */
         String generateText(List<Long> timestamps, int index);
 
-        /** Generate the full text for accessibility. */
+        /** Generates the full text for accessibility. */
         String generateFullText(List<Long> timestamps, int index);
+
+        /** Generates the battery level text of a slot for accessibility.*/
+        String generateSlotBatteryLevelText(List<Integer> levels, int index);
     }
 
     private final List<Integer> mLevels;
@@ -53,24 +56,31 @@
     private final LabelTextGenerator mLabelTextGenerator;
     private final String[] mTexts;
     private final String[] mFullTexts;
+    private final String[] mBatteryLevelTexts;
 
     private int mSelectedIndex = SELECTED_INDEX_ALL;
     private int mHighlightSlotIndex = SELECTED_INDEX_INVALID;
 
-    BatteryChartViewModel(@NonNull List<Integer> levels, @NonNull List<Long> timestamps,
+    BatteryChartViewModel(
+            @NonNull List<Integer> levels,
+            @NonNull List<Long> timestamps,
             @NonNull AxisLabelPosition axisLabelPosition,
             @NonNull LabelTextGenerator labelTextGenerator) {
         Preconditions.checkArgument(
                 levels.size() == timestamps.size() && levels.size() >= MIN_LEVELS_DATA_SIZE,
-                String.format(Locale.ENGLISH,
+                String.format(
+                        Locale.ENGLISH,
                         "Invalid BatteryChartViewModel levels.size: %d, timestamps.size: %d.",
-                        levels.size(), timestamps.size()));
+                        levels.size(),
+                        timestamps.size()));
         mLevels = levels;
         mTimestamps = timestamps;
         mAxisLabelPosition = axisLabelPosition;
         mLabelTextGenerator = labelTextGenerator;
         mTexts = new String[size()];
         mFullTexts = new String[size()];
+        // Last one for SELECTED_INDEX_ALL
+        mBatteryLevelTexts = new String[size() + 1];
     }
 
     public int size() {
@@ -95,6 +105,15 @@
         return mFullTexts[index];
     }
 
+    public String getSlotBatteryLevelText(int index) {
+        final int textIndex = index != SELECTED_INDEX_ALL ? index : size();
+        if (mBatteryLevelTexts[textIndex] == null) {
+            mBatteryLevelTexts[textIndex] =
+                    mLabelTextGenerator.generateSlotBatteryLevelText(mLevels, index);
+        }
+        return mBatteryLevelTexts[textIndex];
+    }
+
     public AxisLabelPosition axisLabelPosition() {
         return mAxisLabelPosition;
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
index 53861e3..eebf1f5 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffData.java
@@ -67,7 +67,7 @@
 
         if (!isAccumulated) {
             final PowerUsageFeatureProvider featureProvider =
-                    FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context);
+                    FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
             purgeBatteryDiffData(featureProvider);
             combineBatteryDiffEntry(
                     context, featureProvider, systemAppsPackageNames, systemAppsUids);
@@ -131,14 +131,14 @@
             final PowerUsageFeatureProvider featureProvider,
             final @NonNull Set<String> systemAppsPackageNames,
             final @NonNull Set<Integer> systemAppsUids) {
+        combineIntoUninstalledApps(context, mAppEntries);
         combineIntoSystemApps(
                 context, featureProvider, systemAppsPackageNames, systemAppsUids, mAppEntries);
         combineSystemItemsIntoOthers(context, featureProvider, mSystemEntries);
     }
 
     private static void purgeBatteryDiffData(
-            final PowerUsageFeatureProvider featureProvider,
-            final List<BatteryDiffEntry> entries) {
+            final PowerUsageFeatureProvider featureProvider, final List<BatteryDiffEntry> entries) {
         final double screenOnTimeThresholdInMs =
                 featureProvider.getBatteryUsageListScreenOnTimeThresholdInMs();
         final double consumePowerThreshold =
@@ -155,7 +155,7 @@
             final String packageName = entry.getPackageName();
             final Integer componentId = entry.mComponentId;
             if ((screenOnTimeInMs < screenOnTimeThresholdInMs
-                    && comsumePower < consumePowerThreshold)
+                            && comsumePower < consumePowerThreshold)
                     || ConvertUtils.FAKE_PACKAGE_NAME.equals(packageName)
                     || hideSystemComponentSet.contains(componentId)
                     || (packageName != null && hideApplicationSet.contains(packageName))) {
@@ -178,18 +178,23 @@
         final Iterator<BatteryDiffEntry> appListIterator = appEntries.iterator();
         while (appListIterator.hasNext()) {
             final BatteryDiffEntry batteryDiffEntry = appListIterator.next();
-            if (needsCombineInSystemApp(batteryDiffEntry, systemAppsAllowlist,
-                    systemAppsPackageNames, systemAppsUids)) {
+            if (needsCombineInSystemApp(
+                    batteryDiffEntry,
+                    systemAppsAllowlist,
+                    systemAppsPackageNames,
+                    systemAppsUids)) {
                 if (systemAppsDiffEntry == null) {
-                    systemAppsDiffEntry = new BatteryDiffEntry(context,
-                            BatteryDiffEntry.SYSTEM_APPS_KEY, BatteryDiffEntry.SYSTEM_APPS_KEY,
-                            ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+                    systemAppsDiffEntry =
+                            new BatteryDiffEntry(
+                                    context,
+                                    BatteryDiffEntry.SYSTEM_APPS_KEY,
+                                    BatteryDiffEntry.SYSTEM_APPS_KEY,
+                                    ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
                 }
                 systemAppsDiffEntry.mConsumePower += batteryDiffEntry.mConsumePower;
                 systemAppsDiffEntry.mForegroundUsageTimeInMs +=
                         batteryDiffEntry.mForegroundUsageTimeInMs;
-                systemAppsDiffEntry.setTotalConsumePower(
-                        batteryDiffEntry.getTotalConsumePower());
+                systemAppsDiffEntry.setTotalConsumePower(batteryDiffEntry.getTotalConsumePower());
                 appListIterator.remove();
             }
         }
@@ -198,6 +203,35 @@
         }
     }
 
+    private static void combineIntoUninstalledApps(
+            final Context context, final @NonNull List<BatteryDiffEntry> appEntries) {
+        BatteryDiffEntry uninstalledAppDiffEntry = null;
+        final Iterator<BatteryDiffEntry> appListIterator = appEntries.iterator();
+        while (appListIterator.hasNext()) {
+            final BatteryDiffEntry batteryDiffEntry = appListIterator.next();
+            if (!batteryDiffEntry.isUninstalledEntry()) {
+                continue;
+            }
+
+            if (uninstalledAppDiffEntry == null) {
+                uninstalledAppDiffEntry =
+                        new BatteryDiffEntry(
+                                context,
+                                BatteryDiffEntry.UNINSTALLED_APPS_KEY,
+                                BatteryDiffEntry.UNINSTALLED_APPS_KEY,
+                                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+            }
+            uninstalledAppDiffEntry.mConsumePower += batteryDiffEntry.mConsumePower;
+            uninstalledAppDiffEntry.mForegroundUsageTimeInMs +=
+                    batteryDiffEntry.mForegroundUsageTimeInMs;
+            uninstalledAppDiffEntry.setTotalConsumePower(batteryDiffEntry.getTotalConsumePower());
+            appListIterator.remove();
+        }
+        if (uninstalledAppDiffEntry != null) {
+            appEntries.add(uninstalledAppDiffEntry);
+        }
+    }
+
     private static void combineSystemItemsIntoOthers(
             final Context context,
             final PowerUsageFeatureProvider featureProvider,
@@ -210,17 +244,20 @@
         while (systemListIterator.hasNext()) {
             final BatteryDiffEntry batteryDiffEntry = systemListIterator.next();
             final int componentId = batteryDiffEntry.mComponentId;
-            if (othersSystemComponentSet.contains(componentId) || (
-                    componentId >= BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID
+            if (othersSystemComponentSet.contains(componentId)
+                    || (componentId >= BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID
                             && othersCustomComponentNameSet.contains(
                                     batteryDiffEntry.getAppLabel()))) {
                 if (othersDiffEntry == null) {
-                    othersDiffEntry = new BatteryDiffEntry(context, BatteryDiffEntry.OTHERS_KEY,
-                            BatteryDiffEntry.OTHERS_KEY, ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+                    othersDiffEntry =
+                            new BatteryDiffEntry(
+                                    context,
+                                    BatteryDiffEntry.OTHERS_KEY,
+                                    BatteryDiffEntry.OTHERS_KEY,
+                                    ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
                 }
                 othersDiffEntry.mConsumePower += batteryDiffEntry.mConsumePower;
-                othersDiffEntry.setTotalConsumePower(
-                        batteryDiffEntry.getTotalConsumePower());
+                othersDiffEntry.setTotalConsumePower(batteryDiffEntry.getTotalConsumePower());
                 systemListIterator.remove();
             }
         }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
index b284ea5..5b05e34 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntry.java
@@ -22,43 +22,66 @@
 import android.graphics.drawable.Drawable;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.text.TextUtils;
+import android.util.ArrayMap;
 import android.util.Log;
 import android.util.Pair;
 
+import androidx.annotation.GuardedBy;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
 import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry.NameAndIcon;
 import com.android.settingslib.utils.StringUtil;
 
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.Locale;
 import java.util.Map;
 
 /** A container class to carry battery data in a specific time slot. */
 public class BatteryDiffEntry {
     private static final String TAG = "BatteryDiffEntry";
+    private static final Object sResourceCacheLock = new Object();
+    private static final Object sPackageNameAndUidCacheLock = new Object();
+    private static final Object sValidForRestrictionLock = new Object();
 
     static Locale sCurrentLocale = null;
+
     // Caches app label and icon to improve loading performance.
-    static final Map<String, BatteryEntry.NameAndIcon> sResourceCache = new HashMap<>();
+    @GuardedBy("sResourceCacheLock")
+    static final Map<String, NameAndIcon> sResourceCache = new ArrayMap<>();
+
+    // Caches package name and uid to improve loading performance.
+    @GuardedBy("sPackageNameAndUidCacheLock")
+    static final Map<String, Integer> sPackageNameAndUidCache = new ArrayMap<>();
+
     // Whether a specific item is valid to launch restriction page?
     @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE)
-    static final Map<String, Boolean> sValidForRestriction = new HashMap<>();
+    @GuardedBy("sValidForRestrictionLock")
+    static final Map<String, Boolean> sValidForRestriction = new ArrayMap<>();
+
     /** A comparator for {@link BatteryDiffEntry} based on the sorting key. */
     static final Comparator<BatteryDiffEntry> COMPARATOR =
             (a, b) -> Double.compare(b.getSortingKey(), a.getSortingKey());
+
     static final String SYSTEM_APPS_KEY = "A|SystemApps";
+    static final String UNINSTALLED_APPS_KEY = "A|UninstalledApps";
     static final String OTHERS_KEY = "S|Others";
 
     // key -> (label_id, icon_id)
-    private static final Map<String, Pair<Integer, Integer>> SPECIAL_ENTRY_MAP = Map.of(
-            SYSTEM_APPS_KEY,
-            Pair.create(R.string.battery_usage_system_apps, R.drawable.ic_power_system),
-            OTHERS_KEY,
-            Pair.create(R.string.battery_usage_others,
-                    R.drawable.ic_settings_battery_usage_others));
+    private static final Map<String, Pair<Integer, Integer>> SPECIAL_ENTRY_MAP =
+            Map.of(
+                    SYSTEM_APPS_KEY,
+                    Pair.create(R.string.battery_usage_system_apps, R.drawable.ic_power_system),
+                    UNINSTALLED_APPS_KEY,
+                    Pair.create(
+                            R.string.battery_usage_uninstalled_apps,
+                            R.drawable.ic_battery_uninstalled),
+                    OTHERS_KEY,
+                    Pair.create(
+                            R.string.battery_usage_others,
+                            R.drawable.ic_settings_battery_usage_others));
 
     public long mUid;
     public long mUserId;
@@ -69,6 +92,7 @@
     public String mLegacyLabel;
     public int mConsumerType;
     public long mForegroundUsageTimeInMs;
+    public long mForegroundServiceUsageTimeInMs;
     public long mBackgroundUsageTimeInMs;
     public long mScreenOnTimeInMs;
     public double mConsumePower;
@@ -85,16 +109,11 @@
     private UserManager mUserManager;
     private String mDefaultPackageName = null;
 
-    @VisibleForTesting
-    int mAppIconId;
-    @VisibleForTesting
-    String mAppLabel = null;
-    @VisibleForTesting
-    Drawable mAppIcon = null;
-    @VisibleForTesting
-    boolean mIsLoaded = false;
-    @VisibleForTesting
-    boolean mValidForRestriction = true;
+    @VisibleForTesting int mAppIconId;
+    @VisibleForTesting String mAppLabel = null;
+    @VisibleForTesting Drawable mAppIcon = null;
+    @VisibleForTesting boolean mIsLoaded = false;
+    @VisibleForTesting boolean mValidForRestriction = true;
 
     public BatteryDiffEntry(
             Context context,
@@ -107,6 +126,7 @@
             String legacyLabel,
             int consumerType,
             long foregroundUsageTimeInMs,
+            long foregroundServiceUsageTimeInMs,
             long backgroundUsageTimeInMs,
             long screenOnTimeInMs,
             double consumePower,
@@ -124,6 +144,7 @@
         mLegacyLabel = legacyLabel;
         mConsumerType = consumerType;
         mForegroundUsageTimeInMs = foregroundUsageTimeInMs;
+        mForegroundServiceUsageTimeInMs = foregroundServiceUsageTimeInMs;
         mBackgroundUsageTimeInMs = backgroundUsageTimeInMs;
         mScreenOnTimeInMs = screenOnTimeInMs;
         mConsumePower = consumePower;
@@ -135,19 +156,31 @@
     }
 
     public BatteryDiffEntry(Context context, String key, String legacyLabel, int consumerType) {
-        this(context, /*uid=*/ 0, /*userId=*/ 0, key, /*isHidden=*/ false, /*componentId=*/ -1,
-                /*legacyPackageName=*/ null, legacyLabel, consumerType,
-                /*foregroundUsageTimeInMs=*/ 0, /*backgroundUsageTimeInMs=*/ 0,
-                /*screenOnTimeInMs=*/ 0, /*consumePower=*/ 0, /*foregroundUsageConsumePower=*/ 0,
-                /*foregroundServiceUsageConsumePower=*/ 0, /*backgroundUsageConsumePower=*/ 0,
-                /*cachedUsageConsumePower=*/ 0);
+        this(
+                context,
+                /* uid= */ 0,
+                /* userId= */ 0,
+                key,
+                /* isHidden= */ false,
+                /* componentId= */ -1,
+                /* legacyPackageName= */ null,
+                legacyLabel,
+                consumerType,
+                /* foregroundUsageTimeInMs= */ 0,
+                /* foregroundServiceUsageTimeInMs= */ 0,
+                /* backgroundUsageTimeInMs= */ 0,
+                /* screenOnTimeInMs= */ 0,
+                /* consumePower= */ 0,
+                /* foregroundUsageConsumePower= */ 0,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 0,
+                /* cachedUsageConsumePower= */ 0);
     }
 
     /** Sets the total consumed power in a specific time slot. */
     public void setTotalConsumePower(double totalConsumePower) {
         mTotalConsumePower = totalConsumePower;
-        mPercentage = totalConsumePower == 0
-                ? 0 : (mConsumePower / mTotalConsumePower) * 100.0;
+        mPercentage = totalConsumePower == 0 ? 0 : (mConsumePower / mTotalConsumePower) * 100.0;
         mAdjustPercentageOffset = 0;
     }
 
@@ -173,8 +206,21 @@
 
     /** Gets the key for sorting */
     public double getSortingKey() {
-        return getKey() != null && SPECIAL_ENTRY_MAP.containsKey(getKey())
-                ? -1 : getPercentage() + getAdjustPercentageOffset();
+        String key = getKey();
+        if (key == null) {
+            return getPercentage() + getAdjustPercentageOffset();
+        }
+
+        // For special entries, put them to the end of the list.
+        switch (key) {
+            case UNINSTALLED_APPS_KEY:
+            case OTHERS_KEY:
+                return -1;
+            case SYSTEM_APPS_KEY:
+                return -2;
+            default:
+                return getPercentage() + getAdjustPercentageOffset();
+        }
     }
 
     /** Clones a new instance. */
@@ -190,6 +236,7 @@
                 this.mLegacyLabel,
                 this.mConsumerType,
                 this.mForegroundUsageTimeInMs,
+                this.mForegroundServiceUsageTimeInMs,
                 this.mBackgroundUsageTimeInMs,
                 this.mScreenOnTimeInMs,
                 this.mConsumePower,
@@ -222,8 +269,8 @@
 
     /** Gets the searching package name for UID battery type. */
     public String getPackageName() {
-        final String packageName = mDefaultPackageName != null
-                ? mDefaultPackageName : mLegacyPackageName;
+        final String packageName =
+                mDefaultPackageName != null ? mDefaultPackageName : mLegacyPackageName;
         if (packageName == null) {
             return packageName;
         }
@@ -231,7 +278,8 @@
         // From "com.opera.browser:privileged_process0" to "com.opera.browser"
         final String[] splitPackageNames = packageName.split(":");
         return splitPackageNames != null && splitPackageNames.length > 0
-                ? splitPackageNames[0] : packageName;
+                ? splitPackageNames[0]
+                : packageName;
     }
 
     /** Whether this item is valid for users to launch restriction page? */
@@ -255,18 +303,50 @@
         }
     }
 
+    /** Whether the current BatteryDiffEntry is uninstalled app or not. */
+    public boolean isUninstalledEntry() {
+        final String packageName = getPackageName();
+        if (TextUtils.isEmpty(packageName)
+                || isSystemEntry()
+                // Some special package UIDs could be 0. Those packages are not installed by users.
+                || mUid == BatteryUtils.UID_ZERO) {
+            return false;
+        }
+
+        final int uid = getPackageUid(packageName);
+        return uid == BatteryUtils.UID_REMOVED_APPS || uid == BatteryUtils.UID_NULL;
+    }
+
+    private int getPackageUid(String packageName) {
+        synchronized (sPackageNameAndUidCacheLock) {
+            if (sPackageNameAndUidCache.containsKey(packageName)) {
+                return sPackageNameAndUidCache.get(packageName);
+            }
+        }
+
+        int uid =
+                BatteryUtils.getInstance(mContext).getPackageUidAsUser(packageName, (int) mUserId);
+        synchronized (sPackageNameAndUidCacheLock) {
+            sPackageNameAndUidCache.put(packageName, uid);
+        }
+        return uid;
+    }
+
     void loadLabelAndIcon() {
         if (mIsLoaded) {
             return;
         }
         // Checks whether we have cached data or not first before fetching.
-        final BatteryEntry.NameAndIcon nameAndIcon = getCache();
+        final NameAndIcon nameAndIcon = getCache();
         if (nameAndIcon != null) {
             mAppLabel = nameAndIcon.mName;
             mAppIcon = nameAndIcon.mIcon;
             mAppIconId = nameAndIcon.mIconId;
         }
-        final Boolean validForRestriction = sValidForRestriction.get(getKey());
+        Boolean validForRestriction = null;
+        synchronized (sValidForRestrictionLock) {
+            validForRestriction = sValidForRestriction.get(getKey());
+        }
         if (validForRestriction != null) {
             mValidForRestriction = validForRestriction;
         }
@@ -278,34 +358,33 @@
 
         // Configures whether we can launch restriction page or not.
         updateRestrictionFlagState();
-        sValidForRestriction.put(getKey(), Boolean.valueOf(mValidForRestriction));
+        synchronized (sValidForRestrictionLock) {
+            sValidForRestriction.put(getKey(), Boolean.valueOf(mValidForRestriction));
+        }
 
         if (getKey() != null && SPECIAL_ENTRY_MAP.containsKey(getKey())) {
             Pair<Integer, Integer> pair = SPECIAL_ENTRY_MAP.get(getKey());
             mAppLabel = mContext.getString(pair.first);
             mAppIconId = pair.second;
             mAppIcon = mContext.getDrawable(mAppIconId);
-            sResourceCache.put(
-                    getKey(),
-                    new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
+            putResourceCache(getKey(), new NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
             return;
         }
 
         // Loads application icon and label based on consumer type.
         switch (mConsumerType) {
             case ConvertUtils.CONSUMER_TYPE_USER_BATTERY:
-                final BatteryEntry.NameAndIcon nameAndIconForUser =
+                final NameAndIcon nameAndIconForUser =
                         BatteryEntry.getNameAndIconFromUserId(mContext, (int) mUserId);
                 if (nameAndIconForUser != null) {
                     mAppIcon = nameAndIconForUser.mIcon;
                     mAppLabel = nameAndIconForUser.mName;
-                    sResourceCache.put(
-                            getKey(),
-                            new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /*iconId=*/ 0));
+                    putResourceCache(
+                            getKey(), new NameAndIcon(mAppLabel, mAppIcon, /* iconId= */ 0));
                 }
                 break;
             case ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY:
-                final BatteryEntry.NameAndIcon nameAndIconForSystem =
+                final NameAndIcon nameAndIconForSystem =
                         BatteryEntry.getNameAndIconFromPowerComponent(mContext, mComponentId);
                 if (nameAndIconForSystem != null) {
                     mAppLabel = nameAndIconForSystem.mName;
@@ -313,9 +392,7 @@
                         mAppIconId = nameAndIconForSystem.mIconId;
                         mAppIcon = mContext.getDrawable(nameAndIconForSystem.mIconId);
                     }
-                    sResourceCache.put(
-                            getKey(),
-                            new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
+                    putResourceCache(getKey(), new NameAndIcon(mAppLabel, mAppIcon, mAppIconId));
                 }
                 break;
             case ConvertUtils.CONSUMER_TYPE_UID_BATTERY:
@@ -327,9 +404,8 @@
                 // Adds badge icon into app icon for work profile.
                 mAppIcon = getBadgeIconForUser(mAppIcon);
                 if (mAppLabel != null || mAppIcon != null) {
-                    sResourceCache.put(
-                            getKey(),
-                            new BatteryEntry.NameAndIcon(mAppLabel, mAppIcon, /*iconId=*/ 0));
+                    putResourceCache(
+                            getKey(), new NameAndIcon(mAppLabel, mAppIcon, /* iconId= */ 0));
                 }
                 break;
         }
@@ -354,29 +430,38 @@
         }
         try {
             mValidForRestriction =
-                    mContext.getPackageManager().getPackageInfo(
-                            getPackageName(),
-                            PackageManager.MATCH_DISABLED_COMPONENTS
-                                    | PackageManager.MATCH_ANY_USER
-                                    | PackageManager.GET_SIGNATURES
-                                    | PackageManager.GET_PERMISSIONS)
+                    mContext.getPackageManager()
+                                    .getPackageInfo(
+                                            getPackageName(),
+                                            PackageManager.MATCH_DISABLED_COMPONENTS
+                                                    | PackageManager.MATCH_ANY_USER
+                                                    | PackageManager.GET_SIGNATURES
+                                                    | PackageManager.GET_PERMISSIONS)
                             != null;
         } catch (Exception e) {
-            Log.e(TAG, String.format("getPackageInfo() error %s for package=%s",
-                    e.getCause(), getPackageName()));
+            Log.e(
+                    TAG,
+                    String.format(
+                            "getPackageInfo() error %s for package=%s",
+                            e.getCause(), getPackageName()));
             mValidForRestriction = false;
         }
     }
 
-    private BatteryEntry.NameAndIcon getCache() {
+    private NameAndIcon getCache() {
         final Locale locale = Locale.getDefault();
         if (sCurrentLocale != locale) {
-            Log.d(TAG, String.format("clearCache() locale is changed from %s to %s",
-                    sCurrentLocale, locale));
+            Log.d(
+                    TAG,
+                    String.format(
+                            "clearCache() locale is changed from %s to %s",
+                            sCurrentLocale, locale));
             sCurrentLocale = locale;
             clearCache();
         }
-        return sResourceCache.get(getKey());
+        synchronized (sResourceCacheLock) {
+            return sResourceCache.get(getKey());
+        }
     }
 
     private void loadNameAndIconForUid() {
@@ -405,14 +490,15 @@
         final String[] packages = packageManager.getPackagesForUid(uid);
         // Loads special defined application label and icon if available.
         if (packages == null || packages.length == 0) {
-            final BatteryEntry.NameAndIcon nameAndIcon =
+            final NameAndIcon nameAndIcon =
                     BatteryEntry.getNameAndIconFromUid(mContext, mAppLabel, uid);
             mAppLabel = nameAndIcon.mName;
             mAppIcon = nameAndIcon.mIcon;
         }
 
-        final BatteryEntry.NameAndIcon nameAndIcon = BatteryEntry.loadNameAndIcon(
-                mContext, uid, /*batteryEntry=*/ null, packageName, mAppLabel, mAppIcon);
+        final NameAndIcon nameAndIcon =
+                BatteryEntry.loadNameAndIcon(
+                        mContext, uid, /* batteryEntry= */ null, packageName, mAppLabel, mAppIcon);
         // Clears BatteryEntry internal cache since we will have another one.
         BatteryEntry.clearUidCache();
         if (nameAndIcon != null) {
@@ -421,45 +507,87 @@
             mDefaultPackageName = nameAndIcon.mPackageName;
             if (mDefaultPackageName != null
                     && !mDefaultPackageName.equals(nameAndIcon.mPackageName)) {
-                Log.w(TAG, String.format("found different package: %s | %s",
-                        mDefaultPackageName, nameAndIcon.mPackageName));
+                Log.w(
+                        TAG,
+                        String.format(
+                                "found different package: %s | %s",
+                                mDefaultPackageName, nameAndIcon.mPackageName));
             }
         }
     }
 
     @Override
     public String toString() {
-        final StringBuilder builder = new StringBuilder()
-                .append("BatteryDiffEntry{")
-                .append(String.format("\n\tname=%s restrictable=%b",
-                        mAppLabel, mValidForRestriction))
-                .append(String.format("\n\tconsume=%.2f%% %f/%f",
-                        mPercentage, mConsumePower, mTotalConsumePower))
-                .append(String.format("\n\tconsume power= foreground:%f foregroundService:%f",
-                        mForegroundUsageConsumePower, mForegroundServiceUsageConsumePower))
-                .append(String.format("\n\tconsume power= background:%f cached:%f",
-                        mBackgroundUsageConsumePower, mCachedUsageConsumePower))
-                .append(String.format("\n\ttime= foreground:%s background:%s screen-on:%s",
-                        StringUtil.formatElapsedTime(mContext, (double) mForegroundUsageTimeInMs,
-                                /*withSeconds=*/ true, /*collapseTimeUnit=*/ false),
-                        StringUtil.formatElapsedTime(mContext, (double) mBackgroundUsageTimeInMs,
-                                /*withSeconds=*/ true, /*collapseTimeUnit=*/ false),
-                        StringUtil.formatElapsedTime(mContext, (double) mScreenOnTimeInMs,
-                                /*withSeconds=*/ true, /*collapseTimeUnit=*/ false)))
-                .append(String.format("\n\tpackage:%s|%s uid:%d userId:%d",
+        final StringBuilder builder = new StringBuilder();
+        builder.append("BatteryDiffEntry{");
+        builder.append(
+                String.format("\n\tname=%s restrictable=%b", mAppLabel, mValidForRestriction));
+        builder.append(
+                String.format(
+                        "\n\tconsume=%.2f%% %f/%f",
+                        mPercentage, mConsumePower, mTotalConsumePower));
+        builder.append(
+                String.format(
+                        "\n\tconsume power= foreground:%f foregroundService:%f",
+                        mForegroundUsageConsumePower, mForegroundServiceUsageConsumePower));
+        builder.append(
+                String.format(
+                        "\n\tconsume power= background:%f cached:%f",
+                        mBackgroundUsageConsumePower, mCachedUsageConsumePower));
+        builder.append(
+                String.format(
+                        "\n\ttime= foreground:%s foregroundService:%s "
+                                + "background:%s screen-on:%s",
+                        StringUtil.formatElapsedTime(
+                                mContext,
+                                (double) mForegroundUsageTimeInMs,
+                                /* withSeconds= */ true,
+                                /* collapseTimeUnit= */ false),
+                        StringUtil.formatElapsedTime(
+                                mContext,
+                                (double) mForegroundServiceUsageTimeInMs,
+                                /* withSeconds= */ true,
+                                /* collapseTimeUnit= */ false),
+                        StringUtil.formatElapsedTime(
+                                mContext,
+                                (double) mBackgroundUsageTimeInMs,
+                                /* withSeconds= */ true,
+                                /* collapseTimeUnit= */ false),
+                        StringUtil.formatElapsedTime(
+                                mContext,
+                                (double) mScreenOnTimeInMs,
+                                /* withSeconds= */ true,
+                                /* collapseTimeUnit= */ false)));
+        builder.append(
+                String.format(
+                        "\n\tpackage:%s|%s uid:%d userId:%d",
                         mLegacyPackageName, getPackageName(), mUid, mUserId));
         return builder.toString();
     }
 
-    /** Clears app icon and label cache data. */
+    /** Clears all cache data. */
     public static void clearCache() {
-        sResourceCache.clear();
-        sValidForRestriction.clear();
+        synchronized (sResourceCacheLock) {
+            sResourceCache.clear();
+        }
+        synchronized (sValidForRestrictionLock) {
+            sValidForRestriction.clear();
+        }
+        synchronized (sPackageNameAndUidCacheLock) {
+            sPackageNameAndUidCache.clear();
+        }
+    }
+
+    private static void putResourceCache(String key, NameAndIcon nameAndIcon) {
+        synchronized (sResourceCacheLock) {
+            sResourceCache.put(key, nameAndIcon);
+        }
     }
 
     private Drawable getBadgeIconForUser(Drawable icon) {
         final int userId = UserHandle.getUserId((int) mUid);
-        return userId == UserHandle.USER_OWNER ? icon :
-                mUserManager.getBadgedIconForUser(icon, new UserHandle(userId));
+        return userId == UserHandle.USER_OWNER
+                ? icon
+                : mUserManager.getBadgedIconForUser(icon, new UserHandle(userId));
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
index 86538ee..4b65cc9 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryEntry.java
@@ -33,6 +33,7 @@
 import android.os.UserBatteryConsumer;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.util.ArrayMap;
 import android.util.DebugUtils;
 import android.util.Log;
 
@@ -41,12 +42,10 @@
 import com.android.settingslib.Utils;
 
 import java.util.Comparator;
-import java.util.HashMap;
 import java.util.Locale;
 
 /**
- * Wraps the power usage data of a BatterySipper with information about package name
- * and icon image.
+ * Wraps the power usage data of a BatterySipper with information about package name and icon image.
  */
 public class BatteryEntry {
 
@@ -58,11 +57,10 @@
         public final int mIconId;
 
         public NameAndIcon(String name, Drawable icon, int iconId) {
-            this(name, /*packageName=*/ null, icon, iconId);
+            this(name, /* packageName= */ null, icon, iconId);
         }
 
-        public NameAndIcon(
-                String name, String packageName, Drawable icon, int iconId) {
+        public NameAndIcon(String name, String packageName, Drawable icon, int iconId) {
             this.mName = name;
             this.mIcon = icon;
             this.mIconId = iconId;
@@ -78,19 +76,22 @@
     static final int BATTERY_USAGE_INDEX_BACKGROUND = 2;
     static final int BATTERY_USAGE_INDEX_CACHED = 3;
 
-    static final Dimensions[] BATTERY_DIMENSIONS = new Dimensions[] {
-            new Dimensions(
-                    BatteryConsumer.POWER_COMPONENT_ANY, BatteryConsumer.PROCESS_STATE_FOREGROUND),
-            new Dimensions(
-                    BatteryConsumer.POWER_COMPONENT_ANY,
-                    BatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE),
-            new Dimensions(
-                    BatteryConsumer.POWER_COMPONENT_ANY, BatteryConsumer.PROCESS_STATE_BACKGROUND),
-            new Dimensions(
-                    BatteryConsumer.POWER_COMPONENT_ANY, BatteryConsumer.PROCESS_STATE_CACHED),
-    };
+    static final Dimensions[] BATTERY_DIMENSIONS =
+            new Dimensions[] {
+                new Dimensions(
+                        BatteryConsumer.POWER_COMPONENT_ANY,
+                        BatteryConsumer.PROCESS_STATE_FOREGROUND),
+                new Dimensions(
+                        BatteryConsumer.POWER_COMPONENT_ANY,
+                        BatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE),
+                new Dimensions(
+                        BatteryConsumer.POWER_COMPONENT_ANY,
+                        BatteryConsumer.PROCESS_STATE_BACKGROUND),
+                new Dimensions(
+                        BatteryConsumer.POWER_COMPONENT_ANY, BatteryConsumer.PROCESS_STATE_CACHED),
+            };
 
-    static final HashMap<String, UidToDetail> sUidCache = new HashMap<>();
+    static final ArrayMap<String, UidToDetail> sUidCache = new ArrayMap<>();
 
     static Locale sCurrentLocale = null;
 
@@ -106,12 +107,11 @@
     private final BatteryConsumer mBatteryConsumer;
     private final int mUid;
     private final boolean mIsHidden;
-    @ConvertUtils.ConsumerType
-    private final int mConsumerType;
-    @BatteryConsumer.PowerComponent
-    private final int mPowerComponentId;
+    @ConvertUtils.ConsumerType private final int mConsumerType;
+    @BatteryConsumer.PowerComponent private final int mPowerComponentId;
     private long mUsageDurationMs;
     private long mTimeInForegroundMs;
+    private long mTimeInForegroundServiceMs;
     private long mTimeInBackgroundMs;
 
     public String mName;
@@ -131,13 +131,25 @@
         Drawable mIcon;
     }
 
-    public BatteryEntry(Context context, UserManager um, BatteryConsumer batteryConsumer,
-            boolean isHidden, int uid, String[] packages, String packageName) {
+    public BatteryEntry(
+            Context context,
+            UserManager um,
+            BatteryConsumer batteryConsumer,
+            boolean isHidden,
+            int uid,
+            String[] packages,
+            String packageName) {
         this(context, um, batteryConsumer, isHidden, uid, packages, packageName, true);
     }
 
-    public BatteryEntry(Context context, UserManager um, BatteryConsumer batteryConsumer,
-            boolean isHidden, int uid, String[] packages, String packageName,
+    public BatteryEntry(
+            Context context,
+            UserManager um,
+            BatteryConsumer batteryConsumer,
+            boolean isHidden,
+            int uid,
+            String[] packages,
+            String packageName,
             boolean loadDataInBackground) {
         mContext = context;
         mBatteryConsumer = batteryConsumer;
@@ -156,8 +168,10 @@
                 if (packages != null && packages.length == 1) {
                     mDefaultPackageName = packages[0];
                 } else {
-                    mDefaultPackageName = isSystemUid(uid)
-                            ? PACKAGE_SYSTEM : uidBatteryConsumer.getPackageWithHighestDrain();
+                    mDefaultPackageName =
+                            isSystemUid(uid)
+                                    ? PACKAGE_SYSTEM
+                                    : uidBatteryConsumer.getPackageWithHighestDrain();
                 }
             }
             if (mDefaultPackageName != null) {
@@ -167,29 +181,42 @@
                             pm.getApplicationInfo(mDefaultPackageName, 0 /* no flags */);
                     mName = pm.getApplicationLabel(appInfo).toString();
                 } catch (NameNotFoundException e) {
-                    Log.d(TAG, "PackageManager failed to retrieve ApplicationInfo for: "
-                            + mDefaultPackageName);
+                    Log.d(
+                            TAG,
+                            "PackageManager failed to retrieve ApplicationInfo for: "
+                                    + mDefaultPackageName);
                     mName = mDefaultPackageName;
                 }
             }
             mTimeInForegroundMs =
-                    uidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_FOREGROUND);
+                    uidBatteryConsumer.getTimeInProcessStateMs(
+                            UidBatteryConsumer.PROCESS_STATE_FOREGROUND);
+            mTimeInForegroundServiceMs =
+                    uidBatteryConsumer.getTimeInProcessStateMs(
+                            UidBatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE);
             mTimeInBackgroundMs =
-                    uidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_BACKGROUND);
-            mConsumedPowerInForeground = safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND]);
-            mConsumedPowerInForegroundService = safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND_SERVICE]);
-            mConsumedPowerInBackground = safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_BACKGROUND]);
-            mConsumedPowerInCached = safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_CACHED]);
+                    uidBatteryConsumer.getTimeInProcessStateMs(
+                            UidBatteryConsumer.PROCESS_STATE_BACKGROUND);
+            mConsumedPowerInForeground =
+                    safeGetConsumedPower(
+                            uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND]);
+            mConsumedPowerInForegroundService =
+                    safeGetConsumedPower(
+                            uidBatteryConsumer,
+                            BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND_SERVICE]);
+            mConsumedPowerInBackground =
+                    safeGetConsumedPower(
+                            uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_BACKGROUND]);
+            mConsumedPowerInCached =
+                    safeGetConsumedPower(
+                            uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_CACHED]);
         } else if (batteryConsumer instanceof UserBatteryConsumer) {
             mUid = Process.INVALID_UID;
             mConsumerType = ConvertUtils.CONSUMER_TYPE_USER_BATTERY;
             mConsumedPower = batteryConsumer.getConsumedPower();
-            final NameAndIcon nameAndIcon = getNameAndIconFromUserId(
-                    context, ((UserBatteryConsumer) batteryConsumer).getUserId());
+            final NameAndIcon nameAndIcon =
+                    getNameAndIconFromUserId(
+                            context, ((UserBatteryConsumer) batteryConsumer).getUserId());
             mIcon = nameAndIcon.mIcon;
             mName = nameAndIcon.mName;
         } else {
@@ -198,8 +225,12 @@
     }
 
     /** Battery entry for a power component of AggregateBatteryConsumer */
-    public BatteryEntry(Context context, int powerComponentId, double devicePowerMah,
-            long usageDurationMs, boolean isHidden) {
+    public BatteryEntry(
+            Context context,
+            int powerComponentId,
+            double devicePowerMah,
+            long usageDurationMs,
+            boolean isHidden) {
         mContext = context;
         mBatteryConsumer = null;
         mUid = Process.INVALID_UID;
@@ -209,8 +240,7 @@
         mUsageDurationMs = usageDurationMs;
         mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
 
-        final NameAndIcon nameAndIcon =
-                getNameAndIconFromPowerComponent(context, powerComponentId);
+        final NameAndIcon nameAndIcon = getNameAndIconFromPowerComponent(context, powerComponentId);
         mIconId = nameAndIcon.mIconId;
         mName = nameAndIcon.mName;
         if (mIconId != 0) {
@@ -219,7 +249,10 @@
     }
 
     /** Battery entry for a custom power component of AggregateBatteryConsumer */
-    public BatteryEntry(Context context, int powerComponentId, String powerComponentName,
+    public BatteryEntry(
+            Context context,
+            int powerComponentId,
+            String powerComponentName,
             double devicePowerMah) {
         mContext = context;
         mBatteryConsumer = null;
@@ -266,8 +299,8 @@
         }
 
         final PackageManager pm = context.getPackageManager();
-        final String[] packages = isSystemUid(uid)
-                ? new String[]{PACKAGE_SYSTEM} : pm.getPackagesForUid(uid);
+        final String[] packages =
+                isSystemUid(uid) ? new String[] {PACKAGE_SYSTEM} : pm.getPackagesForUid(uid);
         if (packages != null) {
             final String[] packageLabels = new String[packages.length];
             System.arraycopy(packages, 0, packageLabels, 0, packages.length);
@@ -277,11 +310,15 @@
             final int userId = UserHandle.getUserId(uid);
             for (int i = 0; i < packageLabels.length; i++) {
                 try {
-                    final ApplicationInfo ai = ipm.getApplicationInfo(packageLabels[i],
-                            0 /* no flags */, userId);
+                    final ApplicationInfo ai =
+                            ipm.getApplicationInfo(packageLabels[i], 0 /* no flags */, userId);
                     if (ai == null) {
-                        Log.d(TAG, "Retrieving null app info for package "
-                                + packageLabels[i] + ", user " + userId);
+                        Log.d(
+                                TAG,
+                                "Retrieving null app info for package "
+                                        + packageLabels[i]
+                                        + ", user "
+                                        + userId);
                         continue;
                     }
                     final CharSequence label = ai.loadLabel(pm);
@@ -294,8 +331,13 @@
                         break;
                     }
                 } catch (RemoteException e) {
-                    Log.d(TAG, "Error while retrieving app info for package "
-                            + packageLabels[i] + ", user " + userId, e);
+                    Log.d(
+                            TAG,
+                            "Error while retrieving app info for package "
+                                    + packageLabels[i]
+                                    + ", user "
+                                    + userId,
+                            e);
                 }
             }
 
@@ -307,13 +349,17 @@
                     try {
                         final PackageInfo pi = ipm.getPackageInfo(pkgName, 0, userId);
                         if (pi == null) {
-                            Log.d(TAG, "Retrieving null package info for package "
-                                    + pkgName + ", user " + userId);
+                            Log.d(
+                                    TAG,
+                                    "Retrieving null package info for package "
+                                            + pkgName
+                                            + ", user "
+                                            + userId);
                             continue;
                         }
                         if (pi.sharedUserLabel != 0) {
-                            final CharSequence nm = pm.getText(pkgName,
-                                    pi.sharedUserLabel, pi.applicationInfo);
+                            final CharSequence nm =
+                                    pm.getText(pkgName, pi.sharedUserLabel, pi.applicationInfo);
                             if (nm != null) {
                                 name = nm.toString();
                                 if (pi.applicationInfo.icon != 0) {
@@ -324,8 +370,13 @@
                             }
                         }
                     } catch (RemoteException e) {
-                        Log.d(TAG, "Error while retrieving package info for package "
-                                + pkgName + ", user " + userId, e);
+                        Log.d(
+                                TAG,
+                                "Error while retrieving package info for package "
+                                        + pkgName
+                                        + ", user "
+                                        + userId,
+                                e);
                     }
                 }
             }
@@ -342,7 +393,7 @@
         utd.mPackageName = defaultPackageName;
 
         sUidCache.put(uidString, utd);
-        return new NameAndIcon(name, defaultPackageName, icon, /*iconId=*/ 0);
+        return new NameAndIcon(name, defaultPackageName, icon, /* iconId= */ 0);
     }
 
     /** Returns a string that uniquely identifies this battery consumer. */
@@ -375,41 +426,35 @@
     }
 
     /**
-     * Returns the package name that should be used to represent the UID described
-     * by this entry.
+     * Returns the package name that should be used to represent the UID described by this entry.
      */
     public String getDefaultPackageName() {
         return mDefaultPackageName;
     }
 
-    /**
-     * Returns the UID of the app described by this entry.
-     */
+    /** Returns the UID of the app described by this entry. */
     public int getUid() {
         return mUid;
     }
 
     /** Returns foreground time/ms that is attributed to this entry. */
     public long getTimeInForegroundMs() {
-        if (mBatteryConsumer instanceof UidBatteryConsumer) {
-            return mTimeInForegroundMs;
-        } else {
-            return mUsageDurationMs;
-        }
+        return (mBatteryConsumer instanceof UidBatteryConsumer)
+                ? mTimeInForegroundMs
+                : mUsageDurationMs;
+    }
+
+    /** Returns foreground service time/ms that is attributed to this entry. */
+    public long getTimeInForegroundServiceMs() {
+        return (mBatteryConsumer instanceof UidBatteryConsumer) ? mTimeInForegroundServiceMs : 0;
     }
 
     /** Returns background activity time/ms that is attributed to this entry. */
     public long getTimeInBackgroundMs() {
-        if (mBatteryConsumer instanceof UidBatteryConsumer) {
-            return mTimeInBackgroundMs;
-        } else {
-            return 0;
-        }
+        return (mBatteryConsumer instanceof UidBatteryConsumer) ? mTimeInBackgroundMs : 0;
     }
 
-    /**
-     * Returns total amount of power (in milli-amp-hours) that is attributed to this entry.
-     */
+    /** Returns total amount of power (in milli-amp-hours) that is attributed to this entry. */
     public double getConsumedPower() {
         return mConsumedPower;
     }
@@ -462,25 +507,35 @@
     }
 
     /**
-     * Adds the consumed power of the supplied BatteryConsumer to this entry. Also
-     * uses its package with highest drain, if necessary.
+     * Adds the consumed power of the supplied BatteryConsumer to this entry. Also uses its package
+     * with highest drain, if necessary.
      */
     public void add(BatteryConsumer batteryConsumer) {
         mConsumedPower += batteryConsumer.getConsumedPower();
         if (batteryConsumer instanceof UidBatteryConsumer) {
             UidBatteryConsumer uidBatteryConsumer = (UidBatteryConsumer) batteryConsumer;
-            mTimeInForegroundMs += uidBatteryConsumer.getTimeInStateMs(
-                    UidBatteryConsumer.STATE_FOREGROUND);
-            mTimeInBackgroundMs += uidBatteryConsumer.getTimeInStateMs(
-                    UidBatteryConsumer.STATE_BACKGROUND);
-            mConsumedPowerInForeground += safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND]);
-            mConsumedPowerInForegroundService += safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND_SERVICE]);
-            mConsumedPowerInBackground += safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_BACKGROUND]);
-            mConsumedPowerInCached += safeGetConsumedPower(
-                    uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_CACHED]);
+            mTimeInForegroundMs +=
+                    uidBatteryConsumer.getTimeInProcessStateMs(
+                            UidBatteryConsumer.PROCESS_STATE_FOREGROUND);
+            mTimeInForegroundServiceMs +=
+                    uidBatteryConsumer.getTimeInProcessStateMs(
+                            UidBatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE);
+            mTimeInBackgroundMs +=
+                    uidBatteryConsumer.getTimeInProcessStateMs(
+                            UidBatteryConsumer.PROCESS_STATE_BACKGROUND);
+            mConsumedPowerInForeground +=
+                    safeGetConsumedPower(
+                            uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND]);
+            mConsumedPowerInForegroundService +=
+                    safeGetConsumedPower(
+                            uidBatteryConsumer,
+                            BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_FOREGROUND_SERVICE]);
+            mConsumedPowerInBackground +=
+                    safeGetConsumedPower(
+                            uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_BACKGROUND]);
+            mConsumedPowerInCached +=
+                    safeGetConsumedPower(
+                            uidBatteryConsumer, BATTERY_DIMENSIONS[BATTERY_USAGE_INDEX_CACHED]);
             if (mDefaultPackageName == null) {
                 mDefaultPackageName = uidBatteryConsumer.getPackageWithHighestDrain();
             }
@@ -488,8 +543,7 @@
     }
 
     /** Gets name and icon resource from UserBatteryConsumer userId. */
-    public static NameAndIcon getNameAndIconFromUserId(
-            Context context, final int userId) {
+    public static NameAndIcon getNameAndIconFromUserId(Context context, final int userId) {
         UserManager um = context.getSystemService(UserManager.class);
         UserInfo info = um.getUserInfo(userId);
 
@@ -499,26 +553,27 @@
             icon = Utils.getUserIcon(context, um, info);
             name = Utils.getUserLabel(context, info);
         } else {
-            name = context.getResources().getString(
-                    R.string.running_process_item_removed_user_label);
+            name =
+                    context.getResources()
+                            .getString(R.string.running_process_item_removed_user_label);
         }
         return new NameAndIcon(name, icon, 0 /* iconId */);
     }
 
     /** Gets name and icon resource from UidBatteryConsumer uid. */
-    public static NameAndIcon getNameAndIconFromUid(
-            Context context, String name, final int uid) {
+    public static NameAndIcon getNameAndIconFromUid(Context context, String name, final int uid) {
         Drawable icon = context.getDrawable(R.drawable.ic_power_system);
         if (uid == 0) {
-            name = context.getResources().getString(R.string.process_kernel_label);
+            name =
+                    context.getResources()
+                            .getString(com.android.settingslib.R.string.process_kernel_label);
         } else if (uid == BatteryUtils.UID_REMOVED_APPS) {
             name = context.getResources().getString(R.string.process_removed_apps);
         } else if (uid == BatteryUtils.UID_TETHERING) {
             name = context.getResources().getString(R.string.process_network_tethering);
         } else if ("mediaserver".equals(name)) {
             name = context.getResources().getString(R.string.process_mediaserver_label);
-        } else if ("dex2oat".equals(name) || "dex2oat32".equals(name)
-                || "dex2oat64".equals(name)) {
+        } else if ("dex2oat".equals(name) || "dex2oat32".equals(name) || "dex2oat64".equals(name)) {
             name = context.getResources().getString(R.string.process_dex2oat_label);
         }
         return new NameAndIcon(name, icon, 0 /* iconId */);
@@ -530,12 +585,12 @@
         String name;
         int iconId;
         switch (powerComponentId) {
-            // Please see go/battery-usage-system-component-map
-            case BatteryConsumer.POWER_COMPONENT_SCREEN:  // id: 0
+                // Please see go/battery-usage-system-component-map
+            case BatteryConsumer.POWER_COMPONENT_SCREEN: // id: 0
                 name = context.getResources().getString(R.string.power_screen);
                 iconId = R.drawable.ic_settings_display;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_CPU:  // id: 1
+            case BatteryConsumer.POWER_COMPONENT_CPU: // id: 1
                 name = context.getResources().getString(R.string.power_cpu);
                 iconId = R.drawable.ic_settings_cpu;
                 break;
@@ -543,11 +598,11 @@
                 name = context.getResources().getString(R.string.power_bluetooth);
                 iconId = R.drawable.ic_settings_bluetooth;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_CAMERA:  // id: 3
+            case BatteryConsumer.POWER_COMPONENT_CAMERA: // id: 3
                 name = context.getResources().getString(R.string.power_camera);
                 iconId = R.drawable.ic_settings_camera;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_FLASHLIGHT:  // id: 6
+            case BatteryConsumer.POWER_COMPONENT_FLASHLIGHT: // id: 6
                 name = context.getResources().getString(R.string.power_flashlight);
                 iconId = R.drawable.ic_settings_flashlight;
                 break;
@@ -555,25 +610,30 @@
                 name = context.getResources().getString(R.string.power_cell);
                 iconId = R.drawable.ic_settings_cellular;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_GNSS:  // id: 10
+            case BatteryConsumer.POWER_COMPONENT_GNSS: // id: 10
                 name = context.getResources().getString(R.string.power_gps);
                 iconId = R.drawable.ic_settings_gps;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_WIFI:  // id: 11
+            case BatteryConsumer.POWER_COMPONENT_WIFI: // id: 11
                 name = context.getResources().getString(R.string.power_wifi);
                 iconId = R.drawable.ic_settings_wireless_no_theme;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_PHONE:  // id: 14
+            case BatteryConsumer.POWER_COMPONENT_PHONE: // id: 14
                 name = context.getResources().getString(R.string.power_phone);
                 iconId = R.drawable.ic_settings_voice_calls;
                 break;
-            case BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY:  // id :15
+            case BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY: // id :15
                 name = context.getResources().getString(R.string.ambient_display_screen_title);
                 iconId = R.drawable.ic_settings_aod;
                 break;
             default:
-                Log.w(TAG, "unknown attribute:" + DebugUtils.constantToString(
-                        BatteryConsumer.class, "POWER_COMPONENT_", powerComponentId));
+                Log.w(
+                        TAG,
+                        "unknown attribute:"
+                                + DebugUtils.constantToString(
+                                        BatteryConsumer.class,
+                                        "POWER_COMPONENT_",
+                                        powerComponentId));
                 name = null;
                 iconId = R.drawable.ic_power_system;
                 break;
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java
index 6f78566..b42d373 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntry.java
@@ -20,8 +20,6 @@
 import android.os.BatteryConsumer;
 import android.util.Log;
 
-import java.time.Duration;
-
 /** A container class to carry data from {@link ContentValues}. */
 public class BatteryHistEntry {
     private static final boolean DEBUG = false;
@@ -29,6 +27,7 @@
 
     /** Keys for accessing {@link ContentValues} or {@link Cursor}. */
     public static final String KEY_UID = "uid";
+
     public static final String KEY_USER_ID = "userId";
     public static final String KEY_PACKAGE_NAME = "packageName";
     public static final String KEY_TIMESTAMP = "timestamp";
@@ -56,11 +55,10 @@
     public final double mCachedUsageConsumePower;
     public final double mPercentOfTotal;
     public final long mForegroundUsageTimeInMs;
+    public final long mForegroundServiceUsageTimeInMs;
     public final long mBackgroundUsageTimeInMs;
-    @BatteryConsumer.PowerComponent
-    public final int mDrainType;
-    @ConvertUtils.ConsumerType
-    public final int mConsumerType;
+    @BatteryConsumer.PowerComponent public final int mDrainType;
+    @ConvertUtils.ConsumerType public final int mConsumerType;
     // Records the battery intent relative information.
     public final int mBatteryLevel;
     public final int mBatteryStatus;
@@ -90,6 +88,7 @@
         mCachedUsageConsumePower = batteryInformation.getCachedUsageConsumePower();
         mPercentOfTotal = batteryInformation.getPercentOfTotal();
         mForegroundUsageTimeInMs = batteryInformation.getForegroundUsageTimeInMs();
+        mForegroundServiceUsageTimeInMs = batteryInformation.getForegroundServiceUsageTimeInMs();
         mBackgroundUsageTimeInMs = batteryInformation.getBackgroundUsageTimeInMs();
         mDrainType = batteryInformation.getDrainType();
         final DeviceBatteryState deviceBatteryState = batteryInformation.getDeviceBatteryState();
@@ -119,6 +118,7 @@
         mCachedUsageConsumePower = batteryInformation.getCachedUsageConsumePower();
         mPercentOfTotal = batteryInformation.getPercentOfTotal();
         mForegroundUsageTimeInMs = batteryInformation.getForegroundUsageTimeInMs();
+        mForegroundServiceUsageTimeInMs = batteryInformation.getForegroundServiceUsageTimeInMs();
         mBackgroundUsageTimeInMs = batteryInformation.getBackgroundUsageTimeInMs();
         mDrainType = batteryInformation.getDrainType();
         final DeviceBatteryState deviceBatteryState = batteryInformation.getDeviceBatteryState();
@@ -138,6 +138,7 @@
             double backgroundUsageConsumePower,
             double cachedUsageConsumePower,
             long foregroundUsageTimeInMs,
+            long foregroundServiceUsageTimeInMs,
             long backgroundUsageTimeInMs,
             int batteryLevel) {
         mUid = fromEntry.mUid;
@@ -156,6 +157,7 @@
         mCachedUsageConsumePower = cachedUsageConsumePower;
         mPercentOfTotal = fromEntry.mPercentOfTotal;
         mForegroundUsageTimeInMs = foregroundUsageTimeInMs;
+        mForegroundServiceUsageTimeInMs = foregroundServiceUsageTimeInMs;
         mBackgroundUsageTimeInMs = backgroundUsageTimeInMs;
         mDrainType = fromEntry.mDrainType;
         mConsumerType = fromEntry.mConsumerType;
@@ -190,24 +192,39 @@
     @Override
     public String toString() {
         final String recordAtDateTime = ConvertUtils.utcToLocalTimeForLogging(mTimestamp);
-        final StringBuilder builder = new StringBuilder()
-                .append("\nBatteryHistEntry{")
-                .append(String.format("\n\tpackage=%s|label=%s|uid=%d|userId=%d|isHidden=%b",
-                        mPackageName, mAppLabel, mUid, mUserId, mIsHidden))
-                .append(String.format("\n\ttimestamp=%s|zoneId=%s|bootTimestamp=%d",
-                        recordAtDateTime, mZoneId, Duration.ofMillis(mBootTimestamp).getSeconds()))
-                .append(String.format("\n\tusage=%f|total=%f|consume=%f",
-                        mPercentOfTotal, mTotalPower, mConsumePower))
-                .append(String.format("\n\tforeground=%f|foregroundService=%f",
-                        mForegroundUsageConsumePower, mForegroundServiceUsageConsumePower))
-                .append(String.format("\n\tbackground=%f|cached=%f",
-                        mBackgroundUsageConsumePower, mCachedUsageConsumePower))
-                .append(String.format("\n\telapsedTime=%d|%d",
-                        Duration.ofMillis(mForegroundUsageTimeInMs).getSeconds(),
-                        Duration.ofMillis(mBackgroundUsageTimeInMs).getSeconds()))
-                .append(String.format("\n\tdrainType=%d|consumerType=%d",
-                        mDrainType, mConsumerType))
-                .append(String.format("\n\tbattery=%d|status=%d|health=%d\n}",
+        final StringBuilder builder = new StringBuilder();
+        builder.append("\nBatteryHistEntry{");
+        builder.append(
+                String.format(
+                        "\n\tpackage=%s|label=%s|uid=%d|userId=%d|isHidden=%b",
+                        mPackageName, mAppLabel, mUid, mUserId, mIsHidden));
+        builder.append(
+                String.format(
+                        "\n\ttimestamp=%s|zoneId=%s|bootTimestamp=%d",
+                        recordAtDateTime, mZoneId, TimestampUtils.getSeconds(mBootTimestamp)));
+        builder.append(
+                String.format(
+                        "\n\tusage=%f|total=%f|consume=%f",
+                        mPercentOfTotal, mTotalPower, mConsumePower));
+        builder.append(
+                String.format(
+                        "\n\tforeground=%f|foregroundService=%f",
+                        mForegroundUsageConsumePower, mForegroundServiceUsageConsumePower));
+        builder.append(
+                String.format(
+                        "\n\tbackground=%f|cached=%f",
+                        mBackgroundUsageConsumePower, mCachedUsageConsumePower));
+        builder.append(
+                String.format(
+                        "\n\telapsedTime,fg=%d|fgs=%d|bg=%d",
+                        TimestampUtils.getSeconds(mBackgroundUsageTimeInMs),
+                        TimestampUtils.getSeconds(mForegroundServiceUsageTimeInMs),
+                        TimestampUtils.getSeconds(mBackgroundUsageTimeInMs)));
+        builder.append(
+                String.format("\n\tdrainType=%d|consumerType=%d", mDrainType, mConsumerType));
+        builder.append(
+                String.format(
+                        "\n\tbattery=%d|status=%d|health=%d\n}",
                         mBatteryLevel, mBatteryStatus, mBatteryHealth));
         return builder.toString();
     }
@@ -270,65 +287,83 @@
             double ratio,
             BatteryHistEntry lowerHistEntry,
             BatteryHistEntry upperHistEntry) {
-        final double totalPower = interpolate(
-                lowerHistEntry == null ? 0 : lowerHistEntry.mTotalPower,
-                upperHistEntry.mTotalPower,
-                ratio);
-        final double consumePower = interpolate(
-                lowerHistEntry == null ? 0 : lowerHistEntry.mConsumePower,
-                upperHistEntry.mConsumePower,
-                ratio);
-        final double foregroundUsageConsumePower = interpolate(
-                lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundUsageConsumePower,
-                upperHistEntry.mForegroundUsageConsumePower,
-                ratio);
-        final double foregroundServiceUsageConsumePower = interpolate(
-                lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundServiceUsageConsumePower,
-                upperHistEntry.mForegroundServiceUsageConsumePower,
-                ratio);
-        final double backgroundUsageConsumePower = interpolate(
-                lowerHistEntry == null ? 0 : lowerHistEntry.mBackgroundUsageConsumePower,
-                upperHistEntry.mBackgroundUsageConsumePower,
-                ratio);
-        final double cachedUsageConsumePower = interpolate(
-                lowerHistEntry == null ? 0 : lowerHistEntry.mCachedUsageConsumePower,
-                upperHistEntry.mCachedUsageConsumePower,
-                ratio);
-        final double foregroundUsageTimeInMs = interpolate(
-                (double) (lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundUsageTimeInMs),
-                (double) upperHistEntry.mForegroundUsageTimeInMs,
-                ratio);
-        final double backgroundUsageTimeInMs = interpolate(
-                (double) (lowerHistEntry == null ? 0 : lowerHistEntry.mBackgroundUsageTimeInMs),
-                (double) upperHistEntry.mBackgroundUsageTimeInMs,
-                ratio);
+        final double totalPower =
+                interpolate(
+                        lowerHistEntry == null ? 0 : lowerHistEntry.mTotalPower,
+                        upperHistEntry.mTotalPower,
+                        ratio);
+        final double consumePower =
+                interpolate(
+                        lowerHistEntry == null ? 0 : lowerHistEntry.mConsumePower,
+                        upperHistEntry.mConsumePower,
+                        ratio);
+        final double foregroundUsageConsumePower =
+                interpolate(
+                        lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundUsageConsumePower,
+                        upperHistEntry.mForegroundUsageConsumePower,
+                        ratio);
+        final double foregroundServiceUsageConsumePower =
+                interpolate(
+                        lowerHistEntry == null
+                                ? 0
+                                : lowerHistEntry.mForegroundServiceUsageConsumePower,
+                        upperHistEntry.mForegroundServiceUsageConsumePower,
+                        ratio);
+        final double backgroundUsageConsumePower =
+                interpolate(
+                        lowerHistEntry == null ? 0 : lowerHistEntry.mBackgroundUsageConsumePower,
+                        upperHistEntry.mBackgroundUsageConsumePower,
+                        ratio);
+        final double cachedUsageConsumePower =
+                interpolate(
+                        lowerHistEntry == null ? 0 : lowerHistEntry.mCachedUsageConsumePower,
+                        upperHistEntry.mCachedUsageConsumePower,
+                        ratio);
+        final double foregroundUsageTimeInMs =
+                interpolate(
+                        (lowerHistEntry == null ? 0 : lowerHistEntry.mForegroundUsageTimeInMs),
+                        upperHistEntry.mForegroundUsageTimeInMs,
+                        ratio);
+        final double foregroundServiceUsageTimeInMs =
+                interpolate(
+                        (lowerHistEntry == null
+                                ? 0
+                                : lowerHistEntry.mForegroundServiceUsageTimeInMs),
+                        upperHistEntry.mForegroundServiceUsageTimeInMs,
+                        ratio);
+        final double backgroundUsageTimeInMs =
+                interpolate(
+                        (lowerHistEntry == null ? 0 : lowerHistEntry.mBackgroundUsageTimeInMs),
+                        upperHistEntry.mBackgroundUsageTimeInMs,
+                        ratio);
         // Checks whether there is any abnormal cases!
         if (upperHistEntry.mConsumePower < consumePower
                 || upperHistEntry.mForegroundUsageConsumePower < foregroundUsageConsumePower
                 || upperHistEntry.mForegroundServiceUsageConsumePower
-                < foregroundServiceUsageConsumePower
+                        < foregroundServiceUsageConsumePower
                 || upperHistEntry.mBackgroundUsageConsumePower < backgroundUsageConsumePower
                 || upperHistEntry.mCachedUsageConsumePower < cachedUsageConsumePower
                 || upperHistEntry.mForegroundUsageTimeInMs < foregroundUsageTimeInMs
+                || upperHistEntry.mForegroundServiceUsageTimeInMs < foregroundServiceUsageTimeInMs
                 || upperHistEntry.mBackgroundUsageTimeInMs < backgroundUsageTimeInMs) {
             if (DEBUG) {
-                Log.w(TAG, String.format(
-                        "abnormal interpolation:\nupper:%s\nlower:%s",
-                        upperHistEntry, lowerHistEntry));
+                Log.w(
+                        TAG,
+                        String.format(
+                                "abnormal interpolation:\nupper:%s\nlower:%s",
+                                upperHistEntry, lowerHistEntry));
             }
         }
         final double batteryLevel =
                 lowerHistEntry == null
                         ? upperHistEntry.mBatteryLevel
                         : interpolate(
-                                lowerHistEntry.mBatteryLevel,
-                                upperHistEntry.mBatteryLevel,
-                                ratio);
+                                lowerHistEntry.mBatteryLevel, upperHistEntry.mBatteryLevel, ratio);
         return new BatteryHistEntry(
                 upperHistEntry,
-                /*bootTimestamp=*/ upperHistEntry.mBootTimestamp
-                - (upperTimestamp - slotTimestamp),
-                /*timestamp=*/ slotTimestamp,
+                /* bootTimestamp= */ upperHistEntry.mBootTimestamp
+                        - (upperTimestamp - slotTimestamp),
+                /* timestamp= */ slotTimestamp,
                 totalPower,
                 consumePower,
                 foregroundUsageConsumePower,
@@ -336,6 +371,7 @@
                 backgroundUsageConsumePower,
                 cachedUsageConsumePower,
                 Math.round(foregroundUsageTimeInMs),
+                Math.round(foregroundServiceUsageTimeInMs),
                 Math.round(backgroundUsageTimeInMs),
                 (int) Math.round(batteryLevel));
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
index d64bf34..2063f2d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreference.java
@@ -26,9 +26,7 @@
 import com.android.settings.R;
 import com.android.settings.fuelgauge.BatteryUtils;
 
-/**
- * Custom preference for displaying the battery level as chart graph.
- */
+/** Custom preference for displaying the battery level as chart graph. */
 public class BatteryHistoryPreference extends Preference {
     private static final String TAG = "BatteryHistoryPreference";
 
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java
index 09d66c7..231c730 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelData.java
@@ -47,13 +47,14 @@
         private final List<Integer> mLevels;
 
         public PeriodBatteryLevelData(
-                @NonNull Map<Long, Integer> batteryLevelMap,
-                @NonNull List<Long> timestamps) {
+                @NonNull Map<Long, Integer> batteryLevelMap, @NonNull List<Long> timestamps) {
             mTimestamps = timestamps;
             mLevels = new ArrayList<>(timestamps.size());
             for (Long timestamp : timestamps) {
-                mLevels.add(batteryLevelMap.containsKey(timestamp)
-                        ? batteryLevelMap.get(timestamp) : BATTERY_LEVEL_UNKNOWN);
+                mLevels.add(
+                        batteryLevelMap.containsKey(timestamp)
+                                ? batteryLevelMap.get(timestamp)
+                                : BATTERY_LEVEL_UNKNOWN);
             }
         }
 
@@ -67,8 +68,11 @@
 
         @Override
         public String toString() {
-            return String.format(Locale.ENGLISH, "timestamps: %s; levels: %s",
-                    Objects.toString(mTimestamps), Objects.toString(mLevels));
+            return String.format(
+                    Locale.ENGLISH,
+                    "timestamps: %s; levels: %s",
+                    Objects.toString(mTimestamps),
+                    Objects.toString(mLevels));
         }
 
         private int getIndexByTimestamps(long startTimestamp, long endTimestamp) {
@@ -83,14 +87,15 @@
     }
 
     /**
-     * There could be 2 cases for the daily battery levels:
+     * There could be 2 cases for the daily battery levels: <br>
      * 1) length is 2: The usage data is within 1 day. Only contains start and end data, such as
-     *    data of 2022-01-01 06:00 and 2022-01-01 16:00.
+     * data of 2022-01-01 06:00 and 2022-01-01 16:00. <br>
      * 2) length > 2: The usage data is more than 1 days. The data should be the start, end and 0am
-     *    data of every day between the start and end, such as data of 2022-01-01 06:00,
-     *    2022-01-02 00:00, 2022-01-03 00:00 and 2022-01-03 08:00.
+     * data of every day between the start and end, such as data of 2022-01-01 06:00, 2022-01-02
+     * 00:00, 2022-01-03 00:00 and 2022-01-03 08:00.
      */
     private final PeriodBatteryLevelData mDailyBatteryLevels;
+
     // The size of hourly data must be the size of daily data - 1.
     private final List<PeriodBatteryLevelData> mHourlyBatteryLevelsPerDay;
 
@@ -118,8 +123,9 @@
         final int hourlyHighlightIndex =
                 (dailyHighlightIndex == BatteryChartViewModel.SELECTED_INDEX_INVALID)
                         ? BatteryChartViewModel.SELECTED_INDEX_INVALID
-                        : mHourlyBatteryLevelsPerDay.get(dailyHighlightIndex)
-                        .getIndexByTimestamps(startTimestamp, endTimestamp);
+                        : mHourlyBatteryLevelsPerDay
+                                .get(dailyHighlightIndex)
+                                .getIndexByTimestamps(startTimestamp, endTimestamp);
         return Pair.create(dailyHighlightIndex, hourlyHighlightIndex);
     }
 
@@ -133,14 +139,16 @@
 
     @Override
     public String toString() {
-        return String.format(Locale.ENGLISH,
+        return String.format(
+                Locale.ENGLISH,
                 "dailyBatteryLevels: %s; hourlyBatteryLevelsPerDay: %s",
                 Objects.toString(mDailyBatteryLevels),
                 Objects.toString(mHourlyBatteryLevelsPerDay));
     }
 
     @Nullable
-    static BatteryLevelData combine(@Nullable BatteryLevelData existingBatteryLevelData,
+    static BatteryLevelData combine(
+            @Nullable BatteryLevelData existingBatteryLevelData,
             List<BatteryEvent> batteryLevelRecordEvents) {
         final Map<Long, Integer> batteryLevelMap = new ArrayMap<>(batteryLevelRecordEvents.size());
         for (BatteryEvent event : batteryLevelRecordEvents) {
@@ -152,7 +160,8 @@
             for (int dayIndex = 0; dayIndex < multiDaysData.size(); dayIndex++) {
                 PeriodBatteryLevelData oneDayData = multiDaysData.get(dayIndex);
                 for (int hourIndex = 0; hourIndex < oneDayData.getLevels().size(); hourIndex++) {
-                    batteryLevelMap.put(oneDayData.getTimestamps().get(hourIndex),
+                    batteryLevelMap.put(
+                            oneDayData.getTimestamps().get(hourIndex),
                             oneDayData.getLevels().get(hourIndex));
                 }
             }
@@ -163,11 +172,10 @@
     /**
      * Computes expected daily timestamp slots.
      *
-     * The valid result should be composed of 3 parts:
-     * 1) start timestamp
-     * 2) every 00:00 timestamp (default timezone) between the start and end
-     * 3) end timestamp
-     * Otherwise, returns an empty list.
+     * <p>The valid result should be composed of 3 parts: <br>
+     * 1) start timestamp <br>
+     * 2) every 00:00 timestamp (default timezone) between the start and end <br>
+     * 3) end timestamp Otherwise, returns an empty list.
      */
     @VisibleForTesting
     static List<Long> getDailyTimestamps(final List<Long> timestampList) {
@@ -176,7 +184,8 @@
         final List<Long> dailyTimestampList = new ArrayList<>();
         final long startTimestamp = timestampList.get(0);
         final long endTimestamp = timestampList.get(timestampList.size() - 1);
-        for (long timestamp = startTimestamp; timestamp < endTimestamp;
+        for (long timestamp = startTimestamp;
+                timestamp < endTimestamp;
                 timestamp = TimestampUtils.getNextDayTimestamp(timestamp)) {
             dailyTimestampList.add(timestamp);
         }
@@ -193,7 +202,8 @@
 
             hourlyTimestampsPerDay.add(startTime);
             for (long timestamp = TimestampUtils.getNextEvenHourTimestamp(startTime);
-                    timestamp < endTime; timestamp += TIME_SLOT) {
+                    timestamp < endTime;
+                    timestamp += TIME_SLOT) {
                 hourlyTimestampsPerDay.add(timestamp);
             }
             hourlyTimestampsPerDay.add(endTime);
@@ -203,4 +213,3 @@
         return hourlyTimestamps;
     }
 }
-
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
index 47d2ac3..bbd1099 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreference.java
@@ -29,14 +29,10 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import com.google.android.material.button.MaterialButton;
 
-/**
- * A preference for displaying the battery tips card view.
- */
+/** A preference for displaying the battery tips card view. */
 public class BatteryTipsCardPreference extends Preference implements View.OnClickListener {
 
     private static final String TAG = "BatteryTipsCardPreference";
@@ -49,23 +45,19 @@
         void onReject();
     }
 
-    private final MetricsFeatureProvider mMetricsFeatureProvider;
     private OnConfirmListener mOnConfirmListener;
     private OnRejectListener mOnRejectListener;
     private int mIconResourceId = 0;
-    private int mMainButtonStrokeColorResourceId = 0;
+    private int mButtonColorResourceId = 0;
 
-    @VisibleForTesting
-    CharSequence mMainButtonLabel;
-    @VisibleForTesting
-    CharSequence mDismissButtonLabel;
+    @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);
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(context);
-        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
     }
 
     public void setOnConfirmListener(OnConfirmListener listener) {
@@ -87,11 +79,11 @@
     }
 
     /**
-     * Sets the stroke color of main button in tips card.
+     * Sets the background color for main button and the text color for dismiss button.
      */
-    public void setMainButtonStrokeColorResourceId(int resourceId) {
-        if (mMainButtonStrokeColorResourceId != resourceId) {
-            mMainButtonStrokeColorResourceId = resourceId;
+    public void setButtonColorResourceId(int resourceId) {
+        if (mButtonColorResourceId != resourceId) {
+            mButtonColorResourceId = resourceId;
             notifyChanged();
         }
     }
@@ -119,7 +111,7 @@
     @Override
     public void onClick(View view) {
         final int viewId = view.getId();
-        if (viewId == R.id.main_button || viewId == R.id.tips_card) {
+        if (viewId == R.id.main_button || viewId == R.id.battery_tips_card) {
             if (mOnConfirmListener != null) {
                 mOnConfirmListener.onConfirm();
             }
@@ -136,17 +128,21 @@
 
         ((TextView) view.findViewById(R.id.title)).setText(getTitle());
 
-        LinearLayout tipsCard = (LinearLayout) view.findViewById(R.id.tips_card);
+        final LinearLayout tipsCard = (LinearLayout) view.findViewById(R.id.battery_tips_card);
         tipsCard.setOnClickListener(this);
-        MaterialButton mainButton = (MaterialButton) view.findViewById(R.id.main_button);
+        final MaterialButton mainButton = (MaterialButton) view.findViewById(R.id.main_button);
         mainButton.setOnClickListener(this);
         mainButton.setText(mMainButtonLabel);
-        if (mMainButtonStrokeColorResourceId != 0) {
-            mainButton.setStrokeColorResource(mMainButtonStrokeColorResourceId);
-        }
-        MaterialButton dismissButton = (MaterialButton) view.findViewById(R.id.dismiss_button);
+        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 39ed0dc..8fa7b90 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsController.java
@@ -51,16 +51,13 @@
     private OnAnomalyConfirmListener mOnAnomalyConfirmListener;
     private OnAnomalyRejectListener mOnAnomalyRejectListener;
 
-    @VisibleForTesting
-    BatteryTipsCardPreference mCardPreference;
-    @VisibleForTesting
-    AnomalyEventWrapper mAnomalyEventWrapper = null;
-    @VisibleForTesting
-    Boolean mIsAcceptable = false;
+    @VisibleForTesting BatteryTipsCardPreference mCardPreference;
+    @VisibleForTesting AnomalyEventWrapper mAnomalyEventWrapper = null;
+    @VisibleForTesting Boolean mIsAcceptable = false;
 
     public BatteryTipsController(Context context) {
         super(context, ROOT_PREFERENCE_KEY);
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(context);
+        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
     }
 
@@ -94,8 +91,11 @@
         }
         mCardPreference.setVisible(false);
         mMetricsFeatureProvider.action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
-                mAnomalyEventWrapper.getEventId());
+                /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
+                /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                /* key= */ mAnomalyEventWrapper.getEventId(),
+                /* value= */ mAnomalyEventWrapper.getAnomalyKeyNumber());
     }
 
     void handleBatteryTipsCardUpdated(
@@ -107,8 +107,8 @@
             return;
         }
 
-        // Get card preference strings and navigate fragment info
         final String eventId = mAnomalyEventWrapper.getEventId();
+        final int anomalyKeyNumber = mAnomalyEventWrapper.getAnomalyKeyNumber();
 
         // Update card & buttons preference
         if (!mAnomalyEventWrapper.updateTipsCardPreference(mCardPreference)) {
@@ -117,31 +117,46 @@
         }
 
         // Set battery tips card listener
-        mCardPreference.setOnConfirmListener(() -> {
-            mCardPreference.setVisible(false);
-            if (mOnAnomalyConfirmListener != null) {
-                mOnAnomalyConfirmListener.onAnomalyConfirm();
-            } else if (mAnomalyEventWrapper.launchSubSetting()) {
-                mMetricsFeatureProvider.action(
-                        mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, eventId);
-            }
-        });
-        mCardPreference.setOnRejectListener(() -> {
-            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(
-                    mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, eventId);
-        });
+        mCardPreference.setOnConfirmListener(
+                () -> {
+                    mCardPreference.setVisible(false);
+                    if (mOnAnomalyConfirmListener != null) {
+                        mOnAnomalyConfirmListener.onAnomalyConfirm();
+                    } else if (mAnomalyEventWrapper.launchSubSetting()) {
+                        mMetricsFeatureProvider.action(
+                                /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                                /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
+                                /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                                /* key= */ eventId,
+                                /* value= */ anomalyKeyNumber);
+                    }
+                });
+        mCardPreference.setOnRejectListener(
+                () -> {
+                    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= */ eventId,
+                            /* value= */ anomalyKeyNumber);
+                });
 
         mCardPreference.setVisible(true);
         mMetricsFeatureProvider.action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, eventId);
+                /* attribution= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                /* action= */ SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                /* pageId= */ SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                /* key= */ eventId,
+                /* value= */ anomalyKeyNumber);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
index b237ef6..0ffd090 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownController.java
@@ -23,6 +23,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.text.TextUtils;
+import android.util.ArrayMap;
 import android.util.ArraySet;
 import android.util.Log;
 import android.view.View;
@@ -50,7 +51,6 @@
 import com.android.settingslib.widget.FooterPreference;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Optional;
@@ -58,7 +58,7 @@
 
 /** Controller for battery usage breakdown preference group. */
 public class BatteryUsageBreakdownController extends BasePreferenceController
-        implements LifecycleObserver, OnResume, OnDestroy  {
+        implements LifecycleObserver, OnResume, OnDestroy {
     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";
@@ -74,43 +74,33 @@
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private final Handler mHandler = new Handler(Looper.getMainLooper());
 
-    @VisibleForTesting
-    final Map<String, Preference> mPreferenceCache = new HashMap<>();
+    @VisibleForTesting final Map<String, Preference> mPreferenceCache = new ArrayMap<>();
 
     private int mSpinnerPosition;
     private String mSlotTimestamp;
 
-    @VisibleForTesting
-    Context mPrefContext;
-    @VisibleForTesting
-    PreferenceCategory mRootPreference;
-    @VisibleForTesting
-    SpinnerPreference mSpinnerPreference;
-    @VisibleForTesting
-    PreferenceGroup mAppListPreferenceGroup;
-    @VisibleForTesting
-    FooterPreference mFooterPreference;
-    @VisibleForTesting
-    BatteryDiffData mBatteryDiffData;
-    @VisibleForTesting
-    String mPercentLessThanThresholdText;
-    @VisibleForTesting
-    boolean mIsHighlightSlot;
-    @VisibleForTesting
-    String mAnomalyEventId;
-    @VisibleForTesting
-    String mAnomalyEntryKey;
-    @VisibleForTesting
-    String mAnomalyHintString;
+    @VisibleForTesting Context mPrefContext;
+    @VisibleForTesting PreferenceCategory mRootPreference;
+    @VisibleForTesting SpinnerPreference mSpinnerPreference;
+    @VisibleForTesting PreferenceGroup mAppListPreferenceGroup;
+    @VisibleForTesting FooterPreference mFooterPreference;
+    @VisibleForTesting BatteryDiffData mBatteryDiffData;
+    @VisibleForTesting String mPercentLessThanThresholdText;
+    @VisibleForTesting boolean mIsHighlightSlot;
+    @VisibleForTesting String mAnomalyEventId;
+    @VisibleForTesting String mAnomalyEntryKey;
+    @VisibleForTesting String mAnomalyHintString;
+    @VisibleForTesting String mAnomalyHintPrefKey;
 
     public BatteryUsageBreakdownController(
-            Context context, Lifecycle lifecycle, SettingsActivity activity,
+            Context context,
+            Lifecycle lifecycle,
+            SettingsActivity activity,
             InstrumentedPreferenceFragment fragment) {
         super(context, ROOT_PREFERENCE_KEY);
         mActivity = activity;
         mFragment = fragment;
-        mMetricsFeatureProvider =
-                FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         if (lifecycle != null) {
             lifecycle.addObserver(this);
         }
@@ -131,7 +121,7 @@
 
     @Override
     public void onDestroy() {
-        mHandler.removeCallbacksAndMessages(/*token=*/ null);
+        mHandler.removeCallbacksAndMessages(/* token= */ null);
         mPreferenceCache.clear();
         mAppListPreferenceGroup.removeAll();
     }
@@ -146,10 +136,18 @@
         return false;
     }
 
-    private String getActionKey(String packageName) {
-        final String actionKey = TextUtils.isEmpty(packageName)
-                ? PACKAGE_NAME_NONE : packageName;
-        return mAnomalyEventId == null ? actionKey : actionKey + "|"  + mAnomalyEventId;
+    private boolean isAnomalyBatteryDiffEntry(BatteryDiffEntry entry) {
+        return mIsHighlightSlot
+                && mAnomalyEntryKey != null
+                && mAnomalyEntryKey.equals(entry.getKey());
+    }
+
+    private String getActionKey(BatteryDiffEntry entry) {
+        final String actionKey =
+                TextUtils.isEmpty(entry.getPackageName())
+                        ? PACKAGE_NAME_NONE
+                        : entry.getPackageName();
+        return !isAnomalyBatteryDiffEntry(entry) ? actionKey : actionKey + "|" + mAnomalyEventId;
     }
 
     @Override
@@ -159,19 +157,32 @@
         }
         final PowerGaugePreference powerPref = (PowerGaugePreference) preference;
         final BatteryDiffEntry diffEntry = powerPref.getBatteryDiffEntry();
-        final String packageName = diffEntry.getPackageName();
         mMetricsFeatureProvider.action(
                 /* attribution */ SettingsEnums.OPEN_BATTERY_USAGE,
                 /* action */ diffEntry.isSystemEntry()
                         ? SettingsEnums.ACTION_BATTERY_USAGE_SYSTEM_ITEM
                         : SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM,
                 /* pageId */ SettingsEnums.OPEN_BATTERY_USAGE,
-                getActionKey(packageName),
+                getActionKey(diffEntry),
                 (int) Math.round(diffEntry.getPercentage()));
-        Log.d(TAG, String.format("handleClick() label=%s key=%s package=%s",
-                diffEntry.getAppLabel(), diffEntry.getKey(), packageName));
+        Log.d(
+                TAG,
+                String.format(
+                        "handleClick() label=%s key=%s package=%s",
+                        diffEntry.getAppLabel(), diffEntry.getKey(), diffEntry.getPackageName()));
+        final String anomalyHintPrefKey =
+                isAnomalyBatteryDiffEntry(diffEntry) ? mAnomalyHintPrefKey : null;
+        final String anomalyHintText =
+                isAnomalyBatteryDiffEntry(diffEntry) ? mAnomalyHintString : null;
         AdvancedPowerUsageDetail.startBatteryDetailPage(
-                mActivity, mFragment, diffEntry, powerPref.getPercentage(), mSlotTimestamp);
+                mActivity,
+                mFragment.getMetricsCategory(),
+                diffEntry,
+                powerPref.getPercentage(),
+                mSlotTimestamp,
+                /* showTimeInformation= */ true,
+                anomalyHintPrefKey,
+                anomalyHintText);
         return true;
     }
 
@@ -183,15 +194,16 @@
         mSpinnerPreference = screen.findPreference(SPINNER_PREFERENCE_KEY);
         mAppListPreferenceGroup = screen.findPreference(APP_LIST_PREFERENCE_KEY);
         mFooterPreference = screen.findPreference(FOOTER_PREFERENCE_KEY);
-        mPercentLessThanThresholdText = mPrefContext.getString(
-                R.string.battery_usage_less_than_percent,
-                Utils.formatPercentage(BatteryDiffData.SMALL_PERCENTAGE_THRESHOLD, false));
+        mPercentLessThanThresholdText =
+                mPrefContext.getString(
+                        R.string.battery_usage_less_than_percent,
+                        Utils.formatPercentage(BatteryDiffData.SMALL_PERCENTAGE_THRESHOLD, false));
 
         mAppListPreferenceGroup.setOrderingAsAdded(false);
         mSpinnerPreference.initializeSpinner(
-                new String[]{
-                        mPrefContext.getString(R.string.battery_usage_spinner_view_by_apps),
-                        mPrefContext.getString(R.string.battery_usage_spinner_view_by_systems)
+                new String[] {
+                    mPrefContext.getString(R.string.battery_usage_spinner_view_by_apps),
+                    mPrefContext.getString(R.string.battery_usage_spinner_view_by_systems)
                 },
                 new AdapterView.OnItemSelectedListener() {
                     @Override
@@ -199,35 +211,38 @@
                             AdapterView<?> parent, View view, int position, long id) {
                         if (mSpinnerPosition != position) {
                             mSpinnerPosition = position;
-                            mHandler.post(() -> {
-                                removeAndCacheAllUnusedPreferences();
-                                addAllPreferences();
-                                mMetricsFeatureProvider.action(
-                                        mPrefContext,
-                                        SettingsEnums.ACTION_BATTERY_USAGE_SPINNER,
-                                        mSpinnerPosition);
-                            });
+                            mHandler.post(
+                                    () -> {
+                                        removeAndCacheAllUnusedPreferences();
+                                        addAllPreferences();
+                                        mMetricsFeatureProvider.action(
+                                                mPrefContext,
+                                                SettingsEnums.ACTION_BATTERY_USAGE_SPINNER,
+                                                mSpinnerPosition);
+                                    });
                         }
                     }
 
                     @Override
-                    public void onNothingSelected(AdapterView<?> parent) {
-                    }
+                    public void onNothingSelected(AdapterView<?> parent) {}
                 });
     }
 
     /**
      * Updates UI when the battery usage is updated.
-     * @param slotUsageData The battery usage diff data for the selected slot. This is used in
-     *                      the app list.
+     *
+     * @param slotUsageData The battery usage diff data for the selected slot. This is used in the
+     *     app list.
      * @param slotTimestamp The selected slot timestamp information. This is used in the battery
-     *                      usage breakdown category.
-     * @param isAllUsageDataEmpty Whether all the battery usage data is null or empty. This is
-     *                            used when showing the footer.
+     *     usage breakdown category.
+     * @param isAllUsageDataEmpty Whether all the battery usage data is null or empty. This is used
+     *     when showing the footer.
      */
     void handleBatteryUsageUpdated(
-            BatteryDiffData slotUsageData, String slotTimestamp,
-            boolean isAllUsageDataEmpty, boolean isHighlightSlot,
+            BatteryDiffData slotUsageData,
+            String slotTimestamp,
+            boolean isAllUsageDataEmpty,
+            boolean isHighlightSlot,
             Optional<AnomalyEventWrapper> optionalAnomalyEventWrapper) {
         mBatteryDiffData = slotUsageData;
         mSlotTimestamp = slotTimestamp;
@@ -236,12 +251,15 @@
         if (optionalAnomalyEventWrapper != null) {
             final AnomalyEventWrapper anomalyEventWrapper =
                     optionalAnomalyEventWrapper.orElse(null);
-            mAnomalyEventId = anomalyEventWrapper != null
-                    ? anomalyEventWrapper.getEventId() : null;
-            mAnomalyEntryKey = anomalyEventWrapper != null
-                    ? anomalyEventWrapper.getAnomalyEntryKey() : null;
-            mAnomalyHintString = anomalyEventWrapper != null
-                    ? anomalyEventWrapper.getAnomalyHintString() : null;
+            mAnomalyEventId = anomalyEventWrapper != null ? anomalyEventWrapper.getEventId() : null;
+            mAnomalyEntryKey =
+                    anomalyEventWrapper != null ? anomalyEventWrapper.getAnomalyEntryKey() : null;
+            mAnomalyHintString =
+                    anomalyEventWrapper != null ? anomalyEventWrapper.getAnomalyHintString() : null;
+            mAnomalyHintPrefKey =
+                    anomalyEventWrapper != null
+                            ? anomalyEventWrapper.getAnomalyHintPrefKey()
+                            : null;
         }
 
         showCategoryTitle(slotTimestamp);
@@ -250,35 +268,39 @@
     }
 
     private void showCategoryTitle(String slotTimestamp) {
-        mRootPreference.setTitle(slotTimestamp == null
-                ? mPrefContext.getString(
-                        R.string.battery_usage_breakdown_title_since_last_full_charge)
-                : mPrefContext.getString(
-                        R.string.battery_usage_breakdown_title_for_slot, slotTimestamp));
+        mRootPreference.setTitle(
+                slotTimestamp == null
+                        ? mPrefContext.getString(
+                                R.string.battery_usage_breakdown_title_since_last_full_charge)
+                        : mPrefContext.getString(
+                                R.string.battery_usage_breakdown_title_for_slot, slotTimestamp));
         mRootPreference.setVisible(true);
     }
 
     private void showFooterPreference(boolean isAllBatteryUsageEmpty) {
-        mFooterPreference.setTitle(mPrefContext.getString(
-                isAllBatteryUsageEmpty
-                        ? R.string.battery_usage_screen_footer_empty
-                        : R.string.battery_usage_screen_footer));
+        mFooterPreference.setTitle(
+                mPrefContext.getString(
+                        isAllBatteryUsageEmpty
+                                ? R.string.battery_usage_screen_footer_empty
+                                : R.string.battery_usage_screen_footer));
         mFooterPreference.setVisible(true);
     }
 
     private void showSpinnerAndAppList() {
         if (mBatteryDiffData == null) {
-            mHandler.post(() -> {
-                removeAndCacheAllUnusedPreferences();
-            });
+            mHandler.post(
+                    () -> {
+                        removeAndCacheAllUnusedPreferences();
+                    });
             return;
         }
         mSpinnerPreference.setVisible(true);
         mAppListPreferenceGroup.setVisible(true);
-        mHandler.post(() -> {
-            removeAndCacheAllUnusedPreferences();
-            addAllPreferences();
-        });
+        mHandler.post(
+                () -> {
+                    removeAndCacheAllUnusedPreferences();
+                    addAllPreferences();
+                });
     }
 
     private List<BatteryDiffEntry> getBatteryDiffEntries() {
@@ -324,9 +346,7 @@
             pref.setOrder(prefIndex);
             pref.setSingleLineTitle(true);
             // Updates App item preference style
-            pref.setAnomalyHint(mIsHighlightSlot && mAnomalyEntryKey != null
-                    && mAnomalyEntryKey.equals(entry.getKey())
-                    ? mAnomalyHintString : null);
+            pref.setAnomalyHint(isAnomalyBatteryDiffEntry(entry) ? mAnomalyHintString : null);
             // Sets the BatteryDiffEntry to preference for launching detailed page.
             pref.setBatteryDiffEntry(entry);
             pref.setSelectable(entry.validForRestriction());
@@ -337,8 +357,11 @@
             }
             prefIndex++;
         }
-        Log.d(TAG, String.format("addAllPreferences() is finished in %d/ms",
-                (System.currentTimeMillis() - start)));
+        Log.d(
+                TAG,
+                String.format(
+                        "addAllPreferences() is finished in %d/ms",
+                        (System.currentTimeMillis() - start)));
     }
 
     @VisibleForTesting
@@ -361,8 +384,7 @@
     }
 
     @VisibleForTesting
-    void setPreferencePercentage(
-            PowerGaugePreference preference, BatteryDiffEntry entry) {
+    void setPreferencePercentage(PowerGaugePreference preference, BatteryDiffEntry entry) {
         preference.setPercentage(
                 entry.getPercentage() < BatteryDiffData.SMALL_PERCENTAGE_THRESHOLD
                         ? mPercentLessThanThresholdText
@@ -372,11 +394,13 @@
     }
 
     @VisibleForTesting
-    void setPreferenceSummary(
-            PowerGaugePreference preference, BatteryDiffEntry entry) {
+    void setPreferenceSummary(PowerGaugePreference preference, BatteryDiffEntry entry) {
         preference.setSummary(
-                BatteryUtils.buildBatteryUsageTimeSummary(mPrefContext, entry.isSystemEntry(),
-                        entry.mForegroundUsageTimeInMs, entry.mBackgroundUsageTimeInMs,
+                BatteryUtils.buildBatteryUsageTimeSummary(
+                        mPrefContext,
+                        entry.isSystemEntry(),
+                        entry.mForegroundUsageTimeInMs,
+                        entry.mBackgroundUsageTimeInMs + entry.mForegroundServiceUsageTimeInMs,
                         entry.mScreenOnTimeInMs));
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
index 952b83f..bfa501c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiver.java
@@ -36,23 +36,23 @@
 /** A {@link BatteryUsageBroadcastReceiver} for battery usage data requesting. */
 public final class BatteryUsageBroadcastReceiver extends BroadcastReceiver {
     private static final String TAG = "BatteryUsageBroadcastReceiver";
+
     /** An intent action to request Settings to clear cache data. */
     public static final String ACTION_CLEAR_BATTERY_CACHE_DATA =
             "com.android.settings.battery.action.CLEAR_BATTERY_CACHE_DATA";
+
     /** An intent action for power is plugging. */
     public static final String ACTION_BATTERY_PLUGGING =
             "com.android.settings.battery.action.ACTION_BATTERY_PLUGGING";
+
     /** An intent action for power is unplugging. */
     public static final String ACTION_BATTERY_UNPLUGGING =
             "com.android.settings.battery.action.ACTION_BATTERY_UNPLUGGING";
 
-    @VisibleForTesting
-    static long sBroadcastDelayFromBoot = Duration.ofMinutes(40).toMillis();
-    @VisibleForTesting
-    static boolean sIsDebugMode = Build.TYPE.equals("userdebug");
+    @VisibleForTesting static long sBroadcastDelayFromBoot = Duration.ofMinutes(40).toMillis();
+    @VisibleForTesting static boolean sIsDebugMode = Build.TYPE.equals("userdebug");
 
-    @VisibleForTesting
-    boolean mFetchBatteryUsageData = false;
+    @VisibleForTesting boolean mFetchBatteryUsageData = false;
 
     private final ExecutorService mExecutor = Executors.newSingleThreadExecutor();
 
@@ -63,10 +63,15 @@
         }
         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);
+            return;
+        }
         DatabaseUtils.recordDateTime(context, action);
-        final String fullChargeIntentAction = FeatureFactory.getFactory(context)
-                .getPowerUsageFeatureProvider(context)
-                .getFullChargeIntentAction();
+        final String fullChargeIntentAction =
+                FeatureFactory.getFeatureFactory()
+                        .getPowerUsageFeatureProvider()
+                        .getFullChargeIntentAction();
         switch (action) {
             case Intent.ACTION_BATTERY_LEVEL_CHANGED:
                 // Only when fullChargeIntentAction is ACTION_BATTERY_LEVEL_CHANGED,
@@ -107,19 +112,22 @@
         }
 
         final boolean delayHourlyJobWhenBooting =
-                FeatureFactory.getFactory(context)
-                        .getPowerUsageFeatureProvider(context)
+                FeatureFactory.getFeatureFactory()
+                        .getPowerUsageFeatureProvider()
                         .delayHourlyJobWhenBooting();
         final long broadcastDelay = sBroadcastDelayFromBoot - SystemClock.elapsedRealtime();
         // If current boot time is smaller than expected delay, cancel sending the broadcast.
         if (delayHourlyJobWhenBooting && broadcastDelay > 0) {
-            Log.d(TAG, "cancel sendBroadcastToFetchUsageData when broadcastDelay is "
-                    + broadcastDelay + "ms.");
+            Log.d(
+                    TAG,
+                    "cancel sendBroadcastToFetchUsageData when broadcastDelay is "
+                            + broadcastDelay
+                            + "ms.");
             return;
         }
 
         mFetchBatteryUsageData = true;
-        BatteryUsageDataLoader.enqueueWork(context, /*isFullChargeStart=*/ true);
+        BatteryUsageDataLoader.enqueueWork(context, /* isFullChargeStart= */ true);
         BootBroadcastReceiver.invokeJobRecheck(context);
     }
 
@@ -127,7 +135,11 @@
         final long timestamp = System.currentTimeMillis();
         final Intent intent = BatteryUtils.getBatteryIntent(context);
         final int batteryLevel = BatteryStatus.getBatteryLevel(intent);
-        mExecutor.execute(() -> DatabaseUtils.sendBatteryEventData(context,
-                ConvertUtils.convertToBatteryEvent(timestamp, batteryEventType, batteryLevel)));
+        mExecutor.execute(
+                () ->
+                        DatabaseUtils.sendBatteryEventData(
+                                context,
+                                ConvertUtils.convertToBatteryEvent(
+                                        timestamp, batteryEventType, batteryLevel)));
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
index edba7c4..095a65a 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProvider.java
@@ -37,6 +37,7 @@
 import com.android.settings.fuelgauge.batteryusage.db.BatteryStateDatabase;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao;
 import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity;
+import com.android.settingslib.fuelgauge.BatteryUtils;
 
 import java.time.Clock;
 import java.time.Duration;
@@ -53,6 +54,7 @@
 
     /** Codes */
     private static final int BATTERY_STATE_CODE = 1;
+
     private static final int APP_USAGE_LATEST_TIMESTAMP_CODE = 2;
     private static final int APP_USAGE_EVENT_CODE = 3;
     private static final int BATTERY_EVENT_CODE = 4;
@@ -67,32 +69,32 @@
     static {
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.BATTERY_STATE_TABLE,
-                /*code=*/ BATTERY_STATE_CODE);
+                /* path= */ DatabaseUtils.BATTERY_STATE_TABLE,
+                /* code= */ BATTERY_STATE_CODE);
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.APP_USAGE_LATEST_TIMESTAMP_PATH,
-                /*code=*/ APP_USAGE_LATEST_TIMESTAMP_CODE);
+                /* path= */ DatabaseUtils.APP_USAGE_LATEST_TIMESTAMP_PATH,
+                /* code= */ APP_USAGE_LATEST_TIMESTAMP_CODE);
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.APP_USAGE_EVENT_TABLE,
-                /*code=*/ APP_USAGE_EVENT_CODE);
+                /* path= */ DatabaseUtils.APP_USAGE_EVENT_TABLE,
+                /* code= */ APP_USAGE_EVENT_CODE);
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.BATTERY_EVENT_TABLE,
-                /*code=*/ BATTERY_EVENT_CODE);
+                /* path= */ DatabaseUtils.BATTERY_EVENT_TABLE,
+                /* code= */ BATTERY_EVENT_CODE);
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.LAST_FULL_CHARGE_TIMESTAMP_PATH,
-                /*code=*/ LAST_FULL_CHARGE_TIMESTAMP_CODE);
+                /* path= */ DatabaseUtils.LAST_FULL_CHARGE_TIMESTAMP_PATH,
+                /* code= */ LAST_FULL_CHARGE_TIMESTAMP_CODE);
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.BATTERY_STATE_LATEST_TIMESTAMP_PATH,
-                /*code=*/ BATTERY_STATE_LATEST_TIMESTAMP_CODE);
+                /* path= */ DatabaseUtils.BATTERY_STATE_LATEST_TIMESTAMP_PATH,
+                /* code= */ BATTERY_STATE_LATEST_TIMESTAMP_CODE);
         sUriMatcher.addURI(
                 DatabaseUtils.AUTHORITY,
-                /*path=*/ DatabaseUtils.BATTERY_USAGE_SLOT_TABLE,
-                /*code=*/ BATTERY_USAGE_SLOT_CODE);
+                /* path= */ DatabaseUtils.BATTERY_USAGE_SLOT_TABLE,
+                /* code= */ BATTERY_USAGE_SLOT_CODE);
     }
 
     private Clock mClock;
@@ -108,7 +110,7 @@
 
     @Override
     public boolean onCreate() {
-        if (DatabaseUtils.isWorkProfile(getContext())) {
+        if (BatteryUtils.isWorkProfile(getContext())) {
             Log.w(TAG, "do not create provider for work profile");
             return false;
         }
@@ -177,7 +179,7 @@
                     throw new IllegalArgumentException("unknown URI: " + uri);
             }
         } catch (RuntimeException e) {
-            if (e instanceof  IllegalArgumentException) {
+            if (e instanceof IllegalArgumentException) {
                 throw e;
             }
             Log.e(TAG, "insert() from:" + uri + " error:", e);
@@ -208,8 +210,10 @@
         } catch (RuntimeException e) {
             Log.e(TAG, "query() from:" + uri + " error:", e);
         }
-        Log.d(TAG, String.format("getLastFullChargeTimestamp() in %d/ms",
-                mClock.millis() - timestamp));
+        Log.d(
+                TAG,
+                String.format(
+                        "getLastFullChargeTimestamp() in %d/ms", mClock.millis() - timestamp));
         return cursor;
     }
 
@@ -222,8 +226,11 @@
         } catch (RuntimeException e) {
             Log.e(TAG, "query() from:" + uri + " error:", e);
         }
-        Log.d(TAG, String.format("getBatteryStateLatestTimestamp() no later than %d in %d/ms",
-                queryTimestamp, mClock.millis() - timestamp));
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatteryStateLatestTimestamp() no later than %d in %d/ms",
+                        queryTimestamp, mClock.millis() - timestamp));
         return cursor;
     }
 
@@ -236,8 +243,11 @@
         } catch (RuntimeException e) {
             Log.e(TAG, "query() from:" + uri + " error:", e);
         }
-        Log.d(TAG, String.format("getBatteryStates() after %d in %d/ms",
-                queryTimestamp, mClock.millis() - timestamp));
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatteryStates() after %d in %d/ms",
+                        queryTimestamp, mClock.millis() - timestamp));
         return cursor;
     }
 
@@ -270,8 +280,11 @@
         } catch (RuntimeException e) {
             Log.e(TAG, "query() from:" + uri + " error:", e);
         }
-        Log.d(TAG, String.format("getAppUsageLatestTimestamp() for user %d in %d/ms",
-                queryUserId, (mClock.millis() - timestamp)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getAppUsageLatestTimestamp() for user %d in %d/ms",
+                        queryUserId, (mClock.millis() - timestamp)));
         return cursor;
     }
 
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
index 55ef937..fb5b9a1 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoader.java
@@ -39,21 +39,18 @@
     private static final String TAG = "BatteryUsageDataLoader";
 
     // For testing only.
-    @VisibleForTesting
-    static Supplier<List<BatteryEntry>> sFakeBatteryEntryListSupplier;
-    @VisibleForTesting
-    static Supplier<Map<Long, UsageEvents>> sFakeAppUsageEventsSupplier;
-    @VisibleForTesting
-    static Supplier<List<AppUsageEvent>> sFakeUsageEventsListSupplier;
+    @VisibleForTesting static Supplier<List<BatteryEntry>> sFakeBatteryEntryListSupplier;
+    @VisibleForTesting static Supplier<Map<Long, UsageEvents>> sFakeAppUsageEventsSupplier;
+    @VisibleForTesting static Supplier<List<AppUsageEvent>> sFakeUsageEventsListSupplier;
 
-    private BatteryUsageDataLoader() {
-    }
+    private BatteryUsageDataLoader() {}
 
     static void enqueueWork(final Context context, final boolean isFullChargeStart) {
-        AsyncTask.execute(() -> {
-            Log.d(TAG, "loadUsageDataSafely() in the AsyncTask");
-            loadUsageDataSafely(context.getApplicationContext(), isFullChargeStart);
-        });
+        AsyncTask.execute(
+                () -> {
+                    Log.d(TAG, "loadUsageDataSafely() in the AsyncTask");
+                    loadUsageDataSafely(context.getApplicationContext(), isFullChargeStart);
+                });
     }
 
     @VisibleForTesting
@@ -62,19 +59,21 @@
         final long currentTime = System.currentTimeMillis();
         final BatteryUsageStats batteryUsageStats = DataProcessor.getBatteryUsageStats(context);
         final List<BatteryEntry> batteryEntryList =
-                sFakeBatteryEntryListSupplier != null ? sFakeBatteryEntryListSupplier.get()
-                        : DataProcessor.generateBatteryEntryListFromBatteryUsageStats(context,
-                                batteryUsageStats);
+                sFakeBatteryEntryListSupplier != null
+                        ? sFakeBatteryEntryListSupplier.get()
+                        : DataProcessor.generateBatteryEntryListFromBatteryUsageStats(
+                                context, batteryUsageStats);
         if (batteryEntryList == null || batteryEntryList.isEmpty()) {
             Log.w(TAG, "getBatteryEntryList() returns null or empty content");
         }
         final long elapsedTime = System.currentTimeMillis() - currentTime;
         Log.d(TAG, String.format("getBatteryUsageStats() in %d/ms", elapsedTime));
         if (isFullChargeStart) {
-            DatabaseUtils.recordDateTime(
-                    context, DatabaseUtils.KEY_LAST_LOAD_FULL_CHARGE_TIME);
-            DatabaseUtils.sendBatteryEventData(context, ConvertUtils.convertToBatteryEvent(
-                    currentTime, BatteryEventType.FULL_CHARGED, 100));
+            DatabaseUtils.recordDateTime(context, DatabaseUtils.KEY_LAST_LOAD_FULL_CHARGE_TIME);
+            DatabaseUtils.sendBatteryEventData(
+                    context,
+                    ConvertUtils.convertToBatteryEvent(
+                            currentTime, BatteryEventType.FULL_CHARGED, 100));
             DatabaseUtils.removeDismissedPowerAnomalyKeys(context);
         }
 
@@ -105,8 +104,11 @@
             return;
         }
         final long elapsedTime = System.currentTimeMillis() - start;
-        Log.d(TAG, String.format("loadAppUsageData() size=%d in %d/ms", appUsageEventList.size(),
-                elapsedTime));
+        Log.d(
+                TAG,
+                String.format(
+                        "loadAppUsageData() size=%d in %d/ms",
+                        appUsageEventList.size(), elapsedTime));
         // Uploads the AppUsageEvent data into database.
         DatabaseUtils.sendAppUsageEventData(context, appUsageEventList);
     }
@@ -114,18 +116,31 @@
     private static void preprocessBatteryUsageSlots(final Context context) {
         final long start = System.currentTimeMillis();
         final Handler handler = new Handler(Looper.getMainLooper());
-        final BatteryLevelData batteryLevelData = DataProcessManager.getBatteryLevelData(
-                context, handler, /*isFromPeriodJob=*/ true,
-                batteryDiffDataMap -> {
-                    DatabaseUtils.sendBatteryUsageSlotData(context,
-                            ConvertUtils.convertToBatteryUsageSlotList(batteryDiffDataMap));
-                    if (batteryDiffDataMap.values().stream().anyMatch(data ->
-                            data != null && (!data.getAppDiffEntryList().isEmpty()
-                                    || !data.getSystemDiffEntryList().isEmpty()))) {
-                        FeatureFactory.getFactory(context).getPowerUsageFeatureProvider(context)
-                                .detectSettingsAnomaly(context, /* displayDrain= */ 0);
-                    }
-                });
+        final BatteryLevelData batteryLevelData =
+                DataProcessManager.getBatteryLevelData(
+                        context,
+                        handler,
+                        /* isFromPeriodJob= */ true,
+                        batteryDiffDataMap -> {
+                            DatabaseUtils.sendBatteryUsageSlotData(
+                                    context,
+                                    ConvertUtils.convertToBatteryUsageSlotList(batteryDiffDataMap));
+                            if (batteryDiffDataMap.values().stream()
+                                    .anyMatch(
+                                            data ->
+                                                    data != null
+                                                            && (!data.getSystemDiffEntryList()
+                                                                            .isEmpty()
+                                                                    || !data.getAppDiffEntryList()
+                                                                            .isEmpty()))) {
+                                FeatureFactory.getFeatureFactory()
+                                        .getPowerUsageFeatureProvider()
+                                        .detectSettingsAnomaly(
+                                                context,
+                                                /* displayDrain= */ 0,
+                                                DetectRequestSourceType.TYPE_DATA_LOADER);
+                            }
+                        });
         if (batteryLevelData == null) {
             Log.d(TAG, "preprocessBatteryUsageSlots() no new battery usage data.");
             return;
@@ -133,9 +148,11 @@
 
         DatabaseUtils.sendBatteryEventData(
                 context, ConvertUtils.convertToBatteryEventList(batteryLevelData));
-        Log.d(TAG, String.format(
-                "preprocessBatteryUsageSlots() batteryLevelData=%s in %d/ms",
-                batteryLevelData, System.currentTimeMillis() - start));
+        Log.d(
+                TAG,
+                String.format(
+                        "preprocessBatteryUsageSlots() batteryLevelData=%s in %d/ms",
+                        batteryLevelData, System.currentTimeMillis() - start));
     }
 
     private static void loadUsageDataSafely(
@@ -148,8 +165,10 @@
                 loadAppUsageData(context);
                 preprocessBatteryUsageSlots(context);
             }
-            Log.d(TAG, String.format(
-                    "loadUsageDataSafely() in %d/ms", System.currentTimeMillis() - start));
+            Log.d(
+                    TAG,
+                    String.format(
+                            "loadUsageDataSafely() in %d/ms", System.currentTimeMillis() - start));
         } catch (RuntimeException e) {
             Log.e(TAG, "loadUsageData:", e);
         }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java
index 7f112ae..26cd096 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoader.java
@@ -24,9 +24,7 @@
 
 import com.android.settingslib.utils.AsyncLoaderCompat;
 
-/**
- * Loader to get new {@link BatteryUsageStats} in the background
- */
+/** Loader to get new {@link BatteryUsageStats} in the background */
 public class BatteryUsageStatsLoader extends AsyncLoaderCompat<BatteryUsageStats> {
     private static final String TAG = "BatteryUsageStatsLoader";
     private final BatteryStatsManager mBatteryStatsManager;
@@ -55,6 +53,5 @@
     }
 
     @Override
-    protected void onDiscardResult(BatteryUsageStats result) {
-    }
+    protected void onDiscardResult(BatteryUsageStats result) {}
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
index 6d14e1c..e407c63 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiver.java
@@ -26,16 +26,14 @@
 import com.android.settings.core.instrumentation.ElapsedTimeUtils;
 import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
 import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
-import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.fuelgauge.BatteryUtils;
 
 import java.time.Duration;
 
 /** Receives broadcasts to start or stop the periodic fetching job. */
 public final class BootBroadcastReceiver extends BroadcastReceiver {
     private static final String TAG = "BootBroadcastReceiver";
-    private static final long RESCHEDULE_FOR_BOOT_ACTION_WITH_DELAY =
-            Duration.ofMinutes(40).toMillis();
-    private static final long RESCHEDULE_FOR_BOOT_ACTION_WITHOUT_DELAY =
+    private static final long RESCHEDULE_FOR_BOOT_ACTION_DELAY_MILLIS =
             Duration.ofSeconds(6).toMillis();
 
     private final Handler mHandler = new Handler(Looper.getMainLooper());
@@ -56,7 +54,7 @@
     @Override
     public void onReceive(Context context, Intent intent) {
         final String action = intent == null ? "" : intent.getAction();
-        if (DatabaseUtils.isWorkProfile(context)) {
+        if (BatteryUtils.isWorkProfile(context)) {
             Log.w(TAG, "do not start job for work profile action=" + action);
             return;
         }
@@ -70,8 +68,7 @@
                 break;
             case Intent.ACTION_TIME_CHANGED:
                 Log.d(TAG, "refresh job and clear all data from action=" + action);
-                DatabaseUtils.clearAll(context);
-                PeriodicJobManager.getInstance(context).refreshJob(/*fromBoot=*/ false);
+                DatabaseUtils.clearDataAfterTimeChangedIfNeeded(context, intent);
                 break;
             default:
                 Log.w(TAG, "receive unsupported action=" + action);
@@ -81,7 +78,7 @@
         if (Intent.ACTION_BOOT_COMPLETED.equals(action)) {
             final Intent recheckIntent = new Intent(ACTION_PERIODIC_JOB_RECHECK);
             recheckIntent.setClass(context, BootBroadcastReceiver.class);
-            final long delayedTime = getRescheduleTimeForBootAction(context);
+            final long delayedTime = RESCHEDULE_FOR_BOOT_ACTION_DELAY_MILLIS;
             mHandler.postDelayed(() -> context.sendBroadcast(recheckIntent), delayedTime);
 
             // Refreshes the usage source from UsageStatsManager when booting.
@@ -93,17 +90,7 @@
         }
     }
 
-    private long getRescheduleTimeForBootAction(Context context) {
-        final boolean delayHourlyJobWhenBooting =
-                FeatureFactory.getFactory(context)
-                        .getPowerUsageFeatureProvider(context)
-                        .delayHourlyJobWhenBooting();
-        return delayHourlyJobWhenBooting
-                ? RESCHEDULE_FOR_BOOT_ACTION_WITH_DELAY
-                : RESCHEDULE_FOR_BOOT_ACTION_WITHOUT_DELAY;
-    }
-
     private static void refreshJobs(Context context) {
-        PeriodicJobManager.getInstance(context).refreshJob(/*fromBoot=*/ true);
+        PeriodicJobManager.getInstance(context).refreshJob(/* fromBoot= */ true);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
index a1987c9..df9f063 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ConvertUtils.java
@@ -16,7 +16,6 @@
 package com.android.settings.fuelgauge.batteryusage;
 
 import android.annotation.IntDef;
-import android.annotation.Nullable;
 import android.app.usage.IUsageStatsManager;
 import android.app.usage.UsageEvents.Event;
 import android.app.usage.UsageStatsManager;
@@ -34,6 +33,7 @@
 import android.util.Log;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.fuelgauge.BatteryUtils;
@@ -57,15 +57,16 @@
     /** A fake package name to represent no BatteryEntry data. */
     public static final String FAKE_PACKAGE_NAME = "fake_package";
 
-    @IntDef(prefix = {"CONSUMER_TYPE"}, value = {
-            CONSUMER_TYPE_UNKNOWN,
-            CONSUMER_TYPE_UID_BATTERY,
-            CONSUMER_TYPE_USER_BATTERY,
-            CONSUMER_TYPE_SYSTEM_BATTERY,
-    })
+    @IntDef(
+            prefix = {"CONSUMER_TYPE"},
+            value = {
+                CONSUMER_TYPE_UNKNOWN,
+                CONSUMER_TYPE_UID_BATTERY,
+                CONSUMER_TYPE_USER_BATTERY,
+                CONSUMER_TYPE_SYSTEM_BATTERY,
+            })
     @Retention(RetentionPolicy.SOURCE)
-    public @interface ConsumerType {
-    }
+    public @interface ConsumerType {}
 
     public static final int CONSUMER_TYPE_UNKNOWN = 0;
     public static final int CONSUMER_TYPE_UID_BATTERY = 1;
@@ -75,11 +76,9 @@
     public static final int DEFAULT_USAGE_SOURCE = UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY;
     public static final int EMPTY_USAGE_SOURCE = -1;
 
-    @VisibleForTesting
-    static int sUsageSource = EMPTY_USAGE_SOURCE;
+    @VisibleForTesting static int sUsageSource = EMPTY_USAGE_SOURCE;
 
-    private ConvertUtils() {
-    }
+    private ConvertUtils() {}
 
     /** Whether {@code consumerType} is app consumer or not. */
     public static boolean isUidConsumer(final int consumerType) {
@@ -109,17 +108,19 @@
         final ContentValues values = new ContentValues();
         if (entry != null && batteryUsageStats != null) {
             values.put(BatteryHistEntry.KEY_UID, Long.valueOf(entry.getUid()));
-            values.put(BatteryHistEntry.KEY_USER_ID,
+            values.put(
+                    BatteryHistEntry.KEY_USER_ID,
                     Long.valueOf(UserHandle.getUserId(entry.getUid())));
-            values.put(BatteryHistEntry.KEY_PACKAGE_NAME,
-                    entry.getDefaultPackageName());
-            values.put(BatteryHistEntry.KEY_CONSUMER_TYPE,
-                    Integer.valueOf(entry.getConsumerType()));
+            final String packageName = entry.getDefaultPackageName();
+            values.put(BatteryHistEntry.KEY_PACKAGE_NAME, packageName != null ? packageName : "");
+            values.put(
+                    BatteryHistEntry.KEY_CONSUMER_TYPE, Integer.valueOf(entry.getConsumerType()));
         } else {
             values.put(BatteryHistEntry.KEY_PACKAGE_NAME, FAKE_PACKAGE_NAME);
         }
         values.put(BatteryHistEntry.KEY_TIMESTAMP, Long.valueOf(timestamp));
-        values.put(BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START,
+        values.put(
+                BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START,
                 Boolean.valueOf(isFullChargeStart));
         final BatteryInformation batteryInformation =
                 constructBatteryInformation(
@@ -129,7 +130,8 @@
                         batteryStatus,
                         batteryHealth,
                         bootTimestamp);
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 convertBatteryInformationToString(batteryInformation));
         // Save the BatteryInformation unencoded string into database for debugging.
         if (Build.TYPE.equals("userdebug")) {
@@ -166,7 +168,8 @@
             final BatteryUsageSlot batteryUsageSlot) {
         final ContentValues values = new ContentValues(2);
         values.put(BatteryUsageSlotEntity.KEY_TIMESTAMP, batteryUsageSlot.getStartTimestamp());
-        values.put(BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT,
+        values.put(
+                BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT,
                 Base64.encodeToString(batteryUsageSlot.toByteArray(), Base64.DEFAULT));
         return values;
     }
@@ -200,33 +203,36 @@
 
     /** Converts to {@link BatteryHistEntry} */
     public static BatteryHistEntry convertToBatteryHistEntry(
-            BatteryEntry entry,
-            BatteryUsageStats batteryUsageStats) {
+            BatteryEntry entry, BatteryUsageStats batteryUsageStats) {
         return new BatteryHistEntry(
                 convertBatteryEntryToContentValues(
                         entry,
                         batteryUsageStats,
-                        /*batteryLevel=*/ 0,
-                        /*batteryStatus=*/ 0,
-                        /*batteryHealth=*/ 0,
-                        /*bootTimestamp=*/ 0,
-                        /*timestamp=*/ 0,
-                        /*isFullChargeStart=*/ false));
+                        /* batteryLevel= */ 0,
+                        /* batteryStatus= */ 0,
+                        /* batteryHealth= */ 0,
+                        /* bootTimestamp= */ 0,
+                        /* timestamp= */ 0,
+                        /* isFullChargeStart= */ false));
     }
 
     /** Converts from {@link Event} to {@link AppUsageEvent} */
     @Nullable
     public static AppUsageEvent convertToAppUsageEvent(
-            Context context, IUsageStatsManager usageStatsManager, final Event event,
+            Context context,
+            IUsageStatsManager usageStatsManager,
+            final Event event,
             final long userId) {
         final String packageName = event.getPackageName();
         if (packageName == null) {
             // See b/190609174: Event package names should never be null, but sometimes they are.
             // Note that system events like device shutting down should still come with the android
             // package name.
-            Log.w(TAG, String.format(
-                    "Ignoring a usage event with null package name (timestamp=%d, type=%d)",
-                    event.getTimeStamp(), event.getEventType()));
+            Log.w(
+                    TAG,
+                    String.format(
+                            "Ignoring a usage event with null package name (timestamp=%d, type=%d)",
+                            event.getTimeStamp(), event.getEventType()));
             return null;
         }
 
@@ -246,13 +252,16 @@
                 getEffectivePackageName(
                         context, usageStatsManager, packageName, taskRootPackageName);
         try {
-            final long uid = context
-                    .getPackageManager()
-                    .getPackageUidAsUser(effectivePackageName, (int) userId);
+            final long uid =
+                    context.getPackageManager()
+                            .getPackageUidAsUser(effectivePackageName, (int) userId);
             appUsageEventBuilder.setUid(uid);
         } catch (PackageManager.NameNotFoundException e) {
-            Log.w(TAG, String.format(
-                    "Fail to get uid for package %s of user %d)", event.getPackageName(), userId));
+            Log.w(
+                    TAG,
+                    String.format(
+                            "Fail to get uid for package %s of user %d)",
+                            event.getPackageName(), userId));
             return null;
         }
 
@@ -300,8 +309,7 @@
         eventBuilder.setTimestamp(getLongFromCursor(cursor, BatteryEventEntity.KEY_TIMESTAMP));
         eventBuilder.setType(
                 BatteryEventType.forNumber(
-                        getIntegerFromCursor(
-                                cursor, BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)));
+                        getIntegerFromCursor(cursor, BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)));
         eventBuilder.setBatteryLevel(
                 getIntegerFromCursor(cursor, BatteryEventEntity.KEY_BATTERY_LEVEL));
         return eventBuilder.build();
@@ -315,10 +323,11 @@
                 batteryLevelData.getHourlyBatteryLevelsPerDay();
         for (BatteryLevelData.PeriodBatteryLevelData oneDayData : levelDataList) {
             for (int hourIndex = 0; hourIndex < oneDayData.getLevels().size() - 1; hourIndex++) {
-                batteryEventList.add(convertToBatteryEvent(
-                        oneDayData.getTimestamps().get(hourIndex),
-                        BatteryEventType.EVEN_HOUR,
-                        oneDayData.getLevels().get(hourIndex)));
+                batteryEventList.add(
+                        convertToBatteryEvent(
+                                oneDayData.getTimestamps().get(hourIndex),
+                                BatteryEventType.EVEN_HOUR,
+                                oneDayData.getLevels().get(hourIndex)));
             }
         }
         return batteryEventList;
@@ -329,8 +338,9 @@
         final BatteryUsageSlot defaultInstance = BatteryUsageSlot.getDefaultInstance();
         final int columnIndex =
                 cursor.getColumnIndex(BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT);
-        return columnIndex < 0 ? defaultInstance : BatteryUtils.parseProtoFromString(
-                cursor.getString(columnIndex), defaultInstance);
+        return columnIndex < 0
+                ? defaultInstance
+                : BatteryUtils.parseProtoFromString(cursor.getString(columnIndex), defaultInstance);
     }
 
     /** Converts from {@link Map<Long, BatteryDiffData>} to {@link List<BatteryUsageSlot>} */
@@ -343,18 +353,22 @@
         return batteryUsageSlotList;
     }
 
-    /** Converts UTC timestamp to local time string for logging only, so use the US locale for
-     *  better readability in debugging. */
+    /**
+     * Converts UTC timestamp to local time string for logging only, so use the US locale for better
+     * readability in debugging.
+     */
     public static String utcToLocalTimeForLogging(long timestamp) {
         final Locale locale = Locale.US;
-        final String pattern =
-                DateFormat.getBestDateTimePattern(locale, "MMM dd,yyyy HH:mm:ss");
+        final String pattern = DateFormat.getBestDateTimePattern(locale, "MMM dd,yyyy HH:mm:ss");
         return DateFormat.format(pattern, timestamp).toString();
     }
 
     /** Converts UTC timestamp to local time hour data. */
-    public static String utcToLocalTimeHour(final Context context, final long timestamp,
-            final boolean is24HourFormat, final boolean showMinute) {
+    public static String utcToLocalTimeHour(
+            final Context context,
+            final long timestamp,
+            final boolean is24HourFormat,
+            final boolean showMinute) {
         final Locale locale = getLocale(context);
         // e.g. for 12-hour format: 9 PM
         // e.g. for 24-hour format: 09:00
@@ -367,8 +381,8 @@
     public static String utcToLocalTimeDayOfWeek(
             final Context context, final long timestamp, final boolean isAbbreviation) {
         final Locale locale = getLocale(context);
-        final String pattern = DateFormat.getBestDateTimePattern(locale,
-                isAbbreviation ? "E" : "EEEE");
+        final String pattern =
+                DateFormat.getBestDateTimePattern(locale, isAbbreviation ? "E" : "EEEE");
         return DateFormat.format(pattern, timestamp).toString();
     }
 
@@ -377,10 +391,8 @@
         if (context == null) {
             return Locale.getDefault();
         }
-        final LocaleList locales =
-                context.getResources().getConfiguration().getLocales();
-        return locales != null && !locales.isEmpty() ? locales.get(0)
-                : Locale.getDefault();
+        final LocaleList locales = context.getResources().getConfiguration().getLocales();
+        return locales != null && !locales.isEmpty() ? locales.get(0) : Locale.getDefault();
     }
 
     /**
@@ -396,14 +408,14 @@
      */
     @VisibleForTesting
     static String getEffectivePackageName(
-            Context context, IUsageStatsManager usageStatsManager, final String packageName,
+            Context context,
+            IUsageStatsManager usageStatsManager,
+            final String packageName,
             final String taskRootPackageName) {
         final int usageSource = getUsageSource(context, usageStatsManager);
         switch (usageSource) {
             case UsageStatsManager.USAGE_SOURCE_TASK_ROOT_ACTIVITY:
-                return !TextUtils.isEmpty(taskRootPackageName)
-                        ? taskRootPackageName
-                        : packageName;
+                return !TextUtils.isEmpty(taskRootPackageName) ? taskRootPackageName : packageName;
             case UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY:
                 return packageName;
             default:
@@ -432,9 +444,13 @@
         try {
             String taskRootPackageName = event.getTaskRootPackageName();
             if (taskRootPackageName == null) {
-                Log.w(TAG, String.format(
-                        "Null task root in event with timestamp %d, type=%d, package %s",
-                        event.getTimeStamp(), event.getEventType(), event.getPackageName()));
+                Log.w(
+                        TAG,
+                        String.format(
+                                "Null task root in event with timestamp %d, type=%d, package %s",
+                                event.getTimeStamp(),
+                                event.getEventType(),
+                                event.getPackageName()));
             }
             return taskRootPackageName;
         } catch (NoSuchMethodError e) {
@@ -463,22 +479,29 @@
         }
     }
 
-    private static BatteryUsageDiff convertToBatteryUsageDiff(BatteryDiffEntry batteryDiffEntry) {
-        BatteryUsageDiff.Builder builder = BatteryUsageDiff.newBuilder()
-                .setUid(batteryDiffEntry.mUid)
-                .setUserId(batteryDiffEntry.mUserId)
-                .setIsHidden(batteryDiffEntry.mIsHidden)
-                .setComponentId(batteryDiffEntry.mComponentId)
-                .setConsumerType(batteryDiffEntry.mConsumerType)
-                .setConsumePower(batteryDiffEntry.mConsumePower)
-                .setForegroundUsageConsumePower(batteryDiffEntry.mForegroundUsageConsumePower)
-                .setBackgroundUsageConsumePower(batteryDiffEntry.mBackgroundUsageConsumePower)
-                .setForegroundServiceUsageConsumePower(
-                        batteryDiffEntry.mForegroundServiceUsageConsumePower)
-                .setCachedUsageConsumePower(batteryDiffEntry.mCachedUsageConsumePower)
-                .setForegroundUsageTime(batteryDiffEntry.mForegroundUsageTimeInMs)
-                .setBackgroundUsageTime(batteryDiffEntry.mBackgroundUsageTimeInMs)
-                .setScreenOnTime(batteryDiffEntry.mScreenOnTimeInMs);
+
+    @VisibleForTesting
+    static BatteryUsageDiff convertToBatteryUsageDiff(BatteryDiffEntry batteryDiffEntry) {
+        BatteryUsageDiff.Builder builder =
+                BatteryUsageDiff.newBuilder()
+                        .setUid(batteryDiffEntry.mUid)
+                        .setUserId(batteryDiffEntry.mUserId)
+                        .setIsHidden(batteryDiffEntry.mIsHidden)
+                        .setComponentId(batteryDiffEntry.mComponentId)
+                        .setConsumerType(batteryDiffEntry.mConsumerType)
+                        .setConsumePower(batteryDiffEntry.mConsumePower)
+                        .setForegroundUsageConsumePower(
+                                batteryDiffEntry.mForegroundUsageConsumePower)
+                        .setBackgroundUsageConsumePower(
+                                batteryDiffEntry.mBackgroundUsageConsumePower)
+                        .setForegroundServiceUsageConsumePower(
+                                batteryDiffEntry.mForegroundServiceUsageConsumePower)
+                        .setCachedUsageConsumePower(batteryDiffEntry.mCachedUsageConsumePower)
+                        .setForegroundUsageTime(batteryDiffEntry.mForegroundUsageTimeInMs)
+                        .setForegroundServiceUsageTime(
+                                batteryDiffEntry.mForegroundServiceUsageTimeInMs)
+                        .setBackgroundUsageTime(batteryDiffEntry.mBackgroundUsageTimeInMs)
+                        .setScreenOnTime(batteryDiffEntry.mScreenOnTimeInMs);
         if (batteryDiffEntry.mKey != null) {
             builder.setKey(batteryDiffEntry.mKey);
         }
@@ -496,12 +519,13 @@
         if (batteryDiffData == null) {
             return BatteryUsageSlot.getDefaultInstance();
         }
-        final BatteryUsageSlot.Builder builder = BatteryUsageSlot.newBuilder()
-                .setStartTimestamp(batteryDiffData.getStartTimestamp())
-                .setEndTimestamp(batteryDiffData.getEndTimestamp())
-                .setStartBatteryLevel(batteryDiffData.getStartBatteryLevel())
-                .setEndBatteryLevel(batteryDiffData.getEndBatteryLevel())
-                .setScreenOnTime(batteryDiffData.getScreenOnTime());
+        final BatteryUsageSlot.Builder builder =
+                BatteryUsageSlot.newBuilder()
+                        .setStartTimestamp(batteryDiffData.getStartTimestamp())
+                        .setEndTimestamp(batteryDiffData.getEndTimestamp())
+                        .setStartBatteryLevel(batteryDiffData.getStartBatteryLevel())
+                        .setEndBatteryLevel(batteryDiffData.getEndBatteryLevel())
+                        .setScreenOnTime(batteryDiffData.getScreenOnTime());
         for (BatteryDiffEntry batteryDiffEntry : batteryDiffData.getAppDiffEntryList()) {
             builder.addAppUsage(convertToBatteryUsageDiff(batteryDiffEntry));
         }
@@ -524,6 +548,7 @@
                 batteryUsageDiff.getLabel(),
                 batteryUsageDiff.getConsumerType(),
                 batteryUsageDiff.getForegroundUsageTime(),
+                batteryUsageDiff.getForegroundServiceUsageTime(),
                 batteryUsageDiff.getBackgroundUsageTime(),
                 batteryUsageDiff.getScreenOnTime(),
                 batteryUsageDiff.getConsumePower(),
@@ -557,7 +582,7 @@
                 systemDiffEntries,
                 systemAppsPackageNames,
                 systemAppsUids,
-                /*isAccumulated=*/ false);
+                /* isAccumulated= */ false);
     }
 
     private static BatteryInformation constructBatteryInformation(
@@ -568,15 +593,13 @@
             final int batteryHealth,
             final long bootTimestamp) {
         final DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
+                DeviceBatteryState.newBuilder()
                         .setBatteryLevel(batteryLevel)
                         .setBatteryStatus(batteryStatus)
                         .setBatteryHealth(batteryHealth)
                         .build();
         final BatteryInformation.Builder batteryInformationBuilder =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setDeviceBatteryState(deviceBatteryState)
                         .setBootTimestamp(bootTimestamp)
                         .setZoneId(TimeZone.getDefault().getID());
@@ -594,6 +617,7 @@
                     .setPercentOfTotal(entry.mPercent)
                     .setDrainType(entry.getPowerComponentId())
                     .setForegroundUsageTimeInMs(entry.getTimeInForegroundMs())
+                    .setForegroundServiceUsageTimeInMs(entry.getTimeInForegroundServiceMs())
                     .setBackgroundUsageTimeInMs(entry.getTimeInBackgroundMs());
         }
 
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
index 1a226fd..b3bcb47 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessManager.java
@@ -34,7 +34,6 @@
 
 import java.util.ArrayList;
 import java.util.Calendar;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -42,27 +41,29 @@
 /**
  * Manages the async tasks to process battery and app usage data.
  *
- * For now, there exist 4 async tasks in this manager:
+ * <p>For now, there exist 4 async tasks in this manager:
+ *
  * <ul>
- *  <li>loadCurrentBatteryHistoryMap: load the latest battery history data from battery stats
- *  service.</li>
- *  <li>loadCurrentAppUsageList: load the latest app usage data (last timestamp in database - now)
- *  from usage stats service.</li>
- *  <li>loadDatabaseAppUsageList: load the necessary app usage data (after last full charge) from
- *  database</li>
- *  <li>loadAndApplyBatteryMapFromServiceOnly: load all the battery history data (should be after
- *  last full charge) from battery stats service and apply the callback function directly</li>
+ *   <li>loadCurrentBatteryHistoryMap: load the latest battery history data from battery stats
+ *       service.
+ *   <li>loadCurrentAppUsageList: load the latest app usage data (last timestamp in database - now)
+ *       from usage stats service.
+ *   <li>loadDatabaseAppUsageList: load the necessary app usage data (after last full charge) from
+ *       database
+ *   <li>loadAndApplyBatteryMapFromServiceOnly: load all the battery history data (should be after
+ *       last full charge) from battery stats service and apply the callback function directly
  * </ul>
  *
  * If there is battery level data, the first 3 async tasks will be started at the same time.
+ *
  * <ul>
- *  <li>After loadCurrentAppUsageList and loadDatabaseAppUsageList complete, which means all app
- *  usage data has been loaded, the intermediate usage result will be generated.</li>
- *  <li>Then after all 3 async tasks complete, the battery history data and app usage data will be
- *  combined to generate final data used for UI rendering. And the callback function will be
- *  applied.</li>
- *  <li>If current user is locked, which means we couldn't get the latest app usage data,
- *  screen-on time will not be shown in the UI and empty screen-on time data will be returned.</li>
+ *   <li>After loadCurrentAppUsageList and loadDatabaseAppUsageList complete, which means all app
+ *       usage data has been loaded, the intermediate usage result will be generated.
+ *   <li>Then after all 3 async tasks complete, the battery history data and app usage data will be
+ *       combined to generate final data used for UI rendering. And the callback function will be
+ *       applied.
+ *   <li>If current user is locked, which means we couldn't get the latest app usage data, screen-on
+ *       time will not be shown in the UI and empty screen-on time data will be returned.
  * </ul>
  *
  * If there is no battery level data, the 4th async task will be started only and the usage map
@@ -72,12 +73,9 @@
     private static final String TAG = "DataProcessManager";
     private static final List<BatteryEventType> POWER_CONNECTION_EVENTS =
             List.of(BatteryEventType.POWER_CONNECTED, BatteryEventType.POWER_DISCONNECTED);
-    private static final List<BatteryEventType> BATTERY_LEVEL_RECORD_EVENTS =
-            List.of(BatteryEventType.FULL_CHARGED, BatteryEventType.EVEN_HOUR);
 
     // For testing only.
-    @VisibleForTesting
-    static Map<Long, Map<String, BatteryHistEntry>> sFakeBatteryHistoryMap;
+    @VisibleForTesting static Map<Long, Map<String, BatteryHistEntry>> sFakeBatteryHistoryMap;
 
     // Raw start timestamp with round to the nearest hour.
     private final long mRawStartTimestamp;
@@ -104,24 +102,24 @@
 
     /**
      * The indexed {@link AppUsagePeriod} list data for each corresponding time slot.
-     * <p>{@code Long} stands for the userId.</p>
-     * <p>{@code String} stands for the packageName.</p>
+     *
+     * <p>{@code Long} stands for the userId.
+     *
+     * <p>{@code String} stands for the packageName.
      */
     private Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
             mAppUsagePeriodMap;
 
     /**
-     *  A callback listener when all the data is processed.
-     *  This happens when all the async tasks complete and generate the final callback.
+     * A callback listener when all the data is processed. This happens when all the async tasks
+     * complete and generate the final callback.
      */
     public interface OnBatteryDiffDataMapLoadedListener {
         /** The callback function when all the data is processed. */
         void onBatteryDiffDataMapLoaded(Map<Long, BatteryDiffData> batteryDiffDataMap);
     }
 
-    /**
-     * Constructor when there exists battery level data.
-     */
+    /** Constructor when there exists battery level data. */
     DataProcessManager(
             Context context,
             Handler handler,
@@ -140,9 +138,7 @@
         mBatteryHistoryMap = batteryHistoryMap;
     }
 
-    /**
-     * Constructor when there is no battery level data.
-     */
+    /** Constructor when there is no battery level data. */
     DataProcessManager(
             Context context,
             Handler handler,
@@ -160,16 +156,12 @@
         mShowScreenOnTime = false;
     }
 
-    /**
-     * Starts the async tasks to load battery history data and app usage data.
-     */
+    /** Starts the async tasks to load battery history data and app usage data. */
     public void start() {
-        start(/*isFromPeriodJob=*/ false);
+        start(/* isFromPeriodJob= */ false);
     }
 
-    /**
-     * Starts the async tasks to load battery history data and app usage data.
-     */
+    /** Starts the async tasks to load battery history data and app usage data. */
     public void start(boolean isFromPeriodJob) {
         // If we have battery level data, load the battery history map and app usage simultaneously.
         if (mHourlyBatteryLevelsPerDay != null) {
@@ -239,10 +231,13 @@
                 final long startTime = System.currentTimeMillis();
                 // Loads the current battery usage data from the battery stats service.
                 final Map<String, BatteryHistEntry> currentBatteryHistoryMap =
-                        DataProcessor.getCurrentBatteryHistoryMapFromStatsService(
-                                mContext);
-                Log.d(TAG, String.format("execute loadCurrentBatteryHistoryMap size=%d in %d/ms",
-                        currentBatteryHistoryMap.size(), (System.currentTimeMillis() - startTime)));
+                        DataProcessor.getCurrentBatteryHistoryMapFromStatsService(mContext);
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute loadCurrentBatteryHistoryMap size=%d in %d/ms",
+                                currentBatteryHistoryMap.size(),
+                                (System.currentTimeMillis() - startTime)));
                 return currentBatteryHistoryMap;
             }
 
@@ -251,10 +246,11 @@
                     final Map<String, BatteryHistEntry> currentBatteryHistoryMap) {
                 if (mBatteryHistoryMap != null) {
                     // Replaces the placeholder in mBatteryHistoryMap.
-                    for (Map.Entry<Long, Map<String, BatteryHistEntry>> mapEntry
-                            : mBatteryHistoryMap.entrySet()) {
-                        if (mapEntry.getValue().containsKey(
-                                DataProcessor.CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER)) {
+                    for (Map.Entry<Long, Map<String, BatteryHistEntry>> mapEntry :
+                            mBatteryHistoryMap.entrySet()) {
+                        if (mapEntry.getValue()
+                                .containsKey(
+                                        DataProcessor.CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER)) {
                             mapEntry.setValue(currentBatteryHistoryMap);
                         }
                     }
@@ -295,7 +291,7 @@
                     Log.d(TAG, "there is no work profile");
                 }
 
-                final Map<Long, UsageEvents> usageEventsMap = new HashMap<>();
+                final Map<Long, UsageEvents> usageEventsMap = new ArrayMap<>();
                 usageEventsMap.put(Long.valueOf(currentUserId), usageEventsForCurrentUser);
                 if (usageEventsForWorkProfile != null) {
                     Log.d(TAG, "usageEventsForWorkProfile is null");
@@ -305,14 +301,17 @@
                 final List<AppUsageEvent> appUsageEventList =
                         DataProcessor.generateAppUsageEventListFromUsageEvents(
                                 mContext, usageEventsMap);
-                Log.d(TAG, String.format("execute loadCurrentAppUsageList size=%d in %d/ms",
-                        appUsageEventList.size(), (System.currentTimeMillis() - startTime)));
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute loadCurrentAppUsageList size=%d in %d/ms",
+                                appUsageEventList.size(),
+                                (System.currentTimeMillis() - startTime)));
                 return appUsageEventList;
             }
 
             @Override
-            protected void onPostExecute(
-                    final List<AppUsageEvent> currentAppUsageList) {
+            protected void onPostExecute(final List<AppUsageEvent> currentAppUsageList) {
                 if (currentAppUsageList == null || currentAppUsageList.isEmpty()) {
                     Log.d(TAG, "currentAppUsageList is null or empty");
                 } else {
@@ -336,16 +335,21 @@
                 // Loads the app usage data from the database.
                 final List<AppUsageEvent> appUsageEventList =
                         DatabaseUtils.getAppUsageEventForUsers(
-                                mContext, Calendar.getInstance(), getCurrentUserIds(),
+                                mContext,
+                                Calendar.getInstance(),
+                                getCurrentUserIds(),
                                 mRawStartTimestamp);
-                Log.d(TAG, String.format("execute loadDatabaseAppUsageList size=%d in %d/ms",
-                        appUsageEventList.size(), (System.currentTimeMillis() - startTime)));
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute loadDatabaseAppUsageList size=%d in %d/ms",
+                                appUsageEventList.size(),
+                                (System.currentTimeMillis() - startTime)));
                 return appUsageEventList;
             }
 
             @Override
-            protected void onPostExecute(
-                    final List<AppUsageEvent> databaseAppUsageList) {
+            protected void onPostExecute(final List<AppUsageEvent> databaseAppUsageList) {
                 if (databaseAppUsageList == null || databaseAppUsageList.isEmpty()) {
                     Log.d(TAG, "databaseAppUsageList is null or empty");
                 } else {
@@ -365,17 +369,20 @@
                 // Loads the battery event data from the database.
                 final List<BatteryEvent> batteryEventList =
                         DatabaseUtils.getBatteryEvents(
-                                mContext, Calendar.getInstance(), mRawStartTimestamp,
+                                mContext,
+                                Calendar.getInstance(),
+                                mRawStartTimestamp,
                                 POWER_CONNECTION_EVENTS);
-                Log.d(TAG, String.format(
-                        "execute loadPowerConnectionBatteryEventList size=%d in %d/ms",
-                        batteryEventList.size(), (System.currentTimeMillis() - startTime)));
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute loadPowerConnectionBatteryEventList size=%d in %d/ms",
+                                batteryEventList.size(), (System.currentTimeMillis() - startTime)));
                 return batteryEventList;
             }
 
             @Override
-            protected void onPostExecute(
-                    final List<BatteryEvent> batteryEventList) {
+            protected void onPostExecute(final List<BatteryEvent> batteryEventList) {
                 if (batteryEventList == null || batteryEventList.isEmpty()) {
                     Log.d(TAG, "batteryEventList is null or empty");
                 } else {
@@ -397,8 +404,12 @@
                 final List<BatteryUsageSlot> batteryUsageSlotList =
                         DatabaseUtils.getBatteryUsageSlots(
                                 mContext, Calendar.getInstance(), mLastFullChargeTimestamp);
-                Log.d(TAG, String.format("execute loadBatteryUsageSlotList size=%d in %d/ms",
-                        batteryUsageSlotList.size(), (System.currentTimeMillis() - startTime)));
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute loadBatteryUsageSlotList size=%d in %d/ms",
+                                batteryUsageSlotList.size(),
+                                (System.currentTimeMillis() - startTime)));
                 return batteryUsageSlotList;
             }
 
@@ -423,11 +434,16 @@
                 final long startTime = System.currentTimeMillis();
                 final Map<Long, BatteryDiffData> batteryDiffDataMap =
                         DataProcessor.getBatteryDiffDataMapFromStatsService(
-                                mContext, mRawStartTimestamp, getSystemAppsPackageNames(),
+                                mContext,
+                                mRawStartTimestamp,
+                                getSystemAppsPackageNames(),
                                 getSystemAppsUids());
-                Log.d(TAG, String.format(
-                        "execute loadAndApplyBatteryMapFromServiceOnly size=%d in %d/ms",
-                        batteryDiffDataMap.size(), (System.currentTimeMillis() - startTime)));
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute loadAndApplyBatteryMapFromServiceOnly size=%d in %d/ms",
+                                batteryDiffDataMap.size(),
+                                (System.currentTimeMillis() - startTime)));
                 return batteryDiffDataMap;
             }
 
@@ -435,9 +451,10 @@
             protected void onPostExecute(final Map<Long, BatteryDiffData> batteryDiffDataMap) {
                 // Post results back to main thread to refresh UI.
                 if (mHandler != null && mCallbackFunction != null) {
-                    mHandler.post(() -> {
-                        mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
-                    });
+                    mHandler.post(
+                            () -> {
+                                mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
+                            });
                 }
             }
         }.execute();
@@ -459,8 +476,12 @@
         }
         // Generates the indexed AppUsagePeriod list data for each corresponding time slot for
         // further use.
-        mAppUsagePeriodMap = DataProcessor.generateAppUsagePeriodMap(
-                mContext, mHourlyBatteryLevelsPerDay, mAppUsageEventList, mBatteryEventList);
+        mAppUsagePeriodMap =
+                DataProcessor.generateAppUsagePeriodMap(
+                        mContext,
+                        mHourlyBatteryLevelsPerDay,
+                        mAppUsageEventList,
+                        mBatteryEventList);
     }
 
     private void tryToGenerateFinalDataAndApplyCallback() {
@@ -482,18 +503,28 @@
                 final long startTime = System.currentTimeMillis();
                 final Map<Long, BatteryDiffData> batteryDiffDataMap = new ArrayMap<>();
                 for (BatteryUsageSlot batteryUsageSlot : mBatteryUsageSlotList) {
-                    batteryDiffDataMap.put(batteryUsageSlot.getStartTimestamp(),
+                    batteryDiffDataMap.put(
+                            batteryUsageSlot.getStartTimestamp(),
                             ConvertUtils.convertToBatteryDiffData(
-                                    mContext, batteryUsageSlot, getSystemAppsPackageNames(),
+                                    mContext,
+                                    batteryUsageSlot,
+                                    getSystemAppsPackageNames(),
                                     getSystemAppsUids()));
                 }
-                batteryDiffDataMap.putAll(DataProcessor.getBatteryDiffDataMap(mContext,
-                        mHourlyBatteryLevelsPerDay, mBatteryHistoryMap, mAppUsagePeriodMap,
-                        getSystemAppsPackageNames(), getSystemAppsUids()));
+                batteryDiffDataMap.putAll(
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                mHourlyBatteryLevelsPerDay,
+                                mBatteryHistoryMap,
+                                mAppUsagePeriodMap,
+                                getSystemAppsPackageNames(),
+                                getSystemAppsUids()));
 
-                Log.d(TAG, String.format(
-                        "execute generateFinalDataAndApplyCallback size=%d in %d/ms",
-                        batteryDiffDataMap.size(), System.currentTimeMillis() - startTime));
+                Log.d(
+                        TAG,
+                        String.format(
+                                "execute generateFinalDataAndApplyCallback size=%d in %d/ms",
+                                batteryDiffDataMap.size(), System.currentTimeMillis() - startTime));
                 return batteryDiffDataMap;
             }
 
@@ -501,9 +532,10 @@
             protected void onPostExecute(final Map<Long, BatteryDiffData> batteryDiffDataMap) {
                 // Post results back to main thread to refresh UI.
                 if (mHandler != null && mCallbackFunction != null) {
-                    mHandler.post(() -> {
-                        mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
-                    });
+                    mHandler.post(
+                            () -> {
+                                mCallbackFunction.onBatteryDiffDataMapLoaded(batteryDiffDataMap);
+                            });
                 }
             }
         }.execute();
@@ -540,8 +572,7 @@
     }
 
     private int getWorkProfileUserId() {
-        final UserHandle userHandle =
-                Utils.getManagedProfile(mUserManager);
+        final UserHandle userHandle = Utils.getManagedProfile(mUserManager);
         return userHandle != null ? userHandle.getIdentifier() : Integer.MIN_VALUE;
     }
 
@@ -561,8 +592,8 @@
 
     /**
      * @return Returns battery level data and start async task to compute battery diff usage data
-     * and load app labels + icons.
-     * Returns null if the input is invalid or not having at least 2 hours data.
+     *     and load app labels + icons. Returns null if the input is invalid or not having at least
+     *     2 hours data.
      */
     @Nullable
     public static BatteryLevelData getBatteryLevelData(
@@ -574,16 +605,28 @@
         final long lastFullChargeTime = DatabaseUtils.getLastFullChargeTime(context);
         final List<BatteryEvent> batteryLevelRecordEvents =
                 DatabaseUtils.getBatteryEvents(
-                        context, Calendar.getInstance(), lastFullChargeTime,
-                        BATTERY_LEVEL_RECORD_EVENTS);
-        final long startTimestamp = batteryLevelRecordEvents.isEmpty()
-                ? lastFullChargeTime : batteryLevelRecordEvents.get(0).getTimestamp();
-        final BatteryLevelData batteryLevelData = getPeriodBatteryLevelData(context, handler,
-                startTimestamp, lastFullChargeTime, isFromPeriodJob,
-                onBatteryUsageMapLoadedListener);
-        Log.d(TAG, String.format("execute getBatteryLevelData in %d/ms,"
-                        + " batteryLevelRecordEvents.size=%d",
-                (System.currentTimeMillis() - start), batteryLevelRecordEvents.size()));
+                        context,
+                        Calendar.getInstance(),
+                        lastFullChargeTime,
+                        DatabaseUtils.BATTERY_LEVEL_RECORD_EVENTS);
+        final long startTimestamp =
+                batteryLevelRecordEvents.isEmpty()
+                        ? lastFullChargeTime
+                        : batteryLevelRecordEvents.get(0).getTimestamp();
+        final BatteryLevelData batteryLevelData =
+                getPeriodBatteryLevelData(
+                        context,
+                        handler,
+                        startTimestamp,
+                        lastFullChargeTime,
+                        isFromPeriodJob,
+                        onBatteryUsageMapLoadedListener);
+        Log.d(
+                TAG,
+                String.format(
+                        "execute getBatteryLevelData in %d/ms,"
+                                + " batteryLevelRecordEvents.size=%d",
+                        (System.currentTimeMillis() - start), batteryLevelRecordEvents.size()));
 
         return isFromPeriodJob
                 ? batteryLevelData
@@ -598,8 +641,11 @@
             final boolean isFromPeriodJob,
             final OnBatteryDiffDataMapLoadedListener onBatteryDiffDataMapLoadedListener) {
         final long currentTime = System.currentTimeMillis();
-        Log.d(TAG, String.format("getPeriodBatteryLevelData() startTimestamp=%s",
-                ConvertUtils.utcToLocalTimeForLogging(startTimestamp)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getPeriodBatteryLevelData() startTimestamp=%s",
+                        ConvertUtils.utcToLocalTimeForLogging(startTimestamp)));
         if (isFromPeriodJob
                 && startTimestamp >= TimestampUtils.getLastEvenHourTimestamp(currentTime)) {
             // Nothing needs to be loaded for period job.
@@ -608,9 +654,13 @@
 
         handler = handler != null ? handler : new Handler(Looper.getMainLooper());
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
-                sFakeBatteryHistoryMap != null ? sFakeBatteryHistoryMap
-                        : DatabaseUtils.getHistoryMapSinceLatestRecordBeforeQueryTimestamp(context,
-                                Calendar.getInstance(), startTimestamp, lastFullChargeTime);
+                sFakeBatteryHistoryMap != null
+                        ? sFakeBatteryHistoryMap
+                        : DatabaseUtils.getHistoryMapSinceLatestRecordBeforeQueryTimestamp(
+                                context,
+                                Calendar.getInstance(),
+                                startTimestamp,
+                                lastFullChargeTime);
         if (batteryHistoryMap == null || batteryHistoryMap.isEmpty()) {
             Log.d(TAG, "batteryHistoryMap is null in getPeriodBatteryLevelData()");
             new DataProcessManager(context, handler, onBatteryDiffDataMapLoadedListener).start();
@@ -632,13 +682,14 @@
 
         // Start the async task to compute diff usage data and load labels and icons.
         new DataProcessManager(
-                context,
-                handler,
-                startTimestamp,
-                lastFullChargeTime,
-                onBatteryDiffDataMapLoadedListener,
-                batteryLevelData.getHourlyBatteryLevelsPerDay(),
-                processedBatteryHistoryMap).start(isFromPeriodJob);
+                        context,
+                        handler,
+                        startTimestamp,
+                        lastFullChargeTime,
+                        onBatteryDiffDataMapLoadedListener,
+                        batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                        processedBatteryHistoryMap)
+                .start(isFromPeriodJob);
 
         return batteryLevelData;
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
index 925cb3a..2ef12f1 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DataProcessor.java
@@ -104,14 +104,11 @@
     static final Comparator<BatteryEvent> BATTERY_EVENT_TIMESTAMP_COMPARATOR =
             Comparator.comparing(BatteryEvent::getTimestamp);
 
-    @VisibleForTesting
-    static boolean sDebug = false;
+    @VisibleForTesting static boolean sDebug = false;
 
-    @VisibleForTesting
-    static long sTestCurrentTimeMillis = 0;
+    @VisibleForTesting static long sTestCurrentTimeMillis = 0;
 
-    @VisibleForTesting
-    static Set<String> sTestSystemAppsPackageNames;
+    @VisibleForTesting static Set<String> sTestSystemAppsPackageNames;
 
     @VisibleForTesting
     static IUsageStatsManager sUsageStatsManager =
@@ -128,12 +125,11 @@
                 Map<Integer, Map<Integer, BatteryDiffData>> batteryCallbackData);
     }
 
-    private DataProcessor() {
-    }
+    private DataProcessor() {}
 
     /**
-     * @return Returns battery usage data of different entries.
-     * Returns null if the input is invalid or there is no enough data.
+     * @return Returns battery usage data of different entries. <br>
+     *     Returns null if the input is invalid or there is no enough data.
      */
     @Nullable
     public static Map<Integer, Map<Integer, BatteryDiffData>> getBatteryUsageData(
@@ -153,32 +149,31 @@
         final Map<String, BatteryHistEntry> currentBatteryHistoryMap =
                 getCurrentBatteryHistoryMapFromStatsService(context);
         // Replaces the placeholder in processedBatteryHistoryMap.
-        for (Map.Entry<Long, Map<String, BatteryHistEntry>> mapEntry
-                : processedBatteryHistoryMap.entrySet()) {
+        for (Map.Entry<Long, Map<String, BatteryHistEntry>> mapEntry :
+                processedBatteryHistoryMap.entrySet()) {
             if (mapEntry.getValue().containsKey(CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER)) {
                 mapEntry.setValue(currentBatteryHistoryMap);
             }
         }
         return batteryLevelData == null
                 ? null
-                : generateBatteryUsageMap(context,
-                        getBatteryDiffDataMap(context,
+                : generateBatteryUsageMap(
+                        context,
+                        getBatteryDiffDataMap(
+                                context,
                                 batteryLevelData.getHourlyBatteryLevelsPerDay(),
                                 processedBatteryHistoryMap,
-                                /*appUsagePeriodMap=*/ null,
+                                /* appUsagePeriodMap= */ null,
                                 getSystemAppsPackageNames(context),
                                 getSystemAppsUids(context)),
                         batteryLevelData);
     }
 
-    /**
-     * Gets the {@link BatteryUsageStats} from system service.
-     */
+    /** Gets the {@link BatteryUsageStats} from system service. */
     @Nullable
     public static BatteryUsageStats getBatteryUsageStats(final Context context) {
         final BatteryUsageStatsQuery batteryUsageStatsQuery =
-                new BatteryUsageStatsQuery
-                        .Builder()
+                new BatteryUsageStatsQuery.Builder()
                         .includeBatteryHistory()
                         .includeProcessStateData()
                         .build();
@@ -186,9 +181,7 @@
                 .getBatteryUsageStats(batteryUsageStatsQuery);
     }
 
-    /**
-     * Gets the {@link UsageEvents} from system service for all unlocked users.
-     */
+    /** Gets the {@link UsageEvents} from system service for all unlocked users. */
     @Nullable
     public static Map<Long, UsageEvents> getAppUsageEvents(Context context) {
         final long start = System.currentTimeMillis();
@@ -204,21 +197,20 @@
         final long sixDaysAgoTimestamp =
                 DatabaseUtils.getTimestampSixDaysAgo(Calendar.getInstance());
         for (final UserInfo user : userManager.getAliveUsers()) {
-            final UsageEvents events = getAppUsageEventsForUser(
-                    context, userManager, user.id, sixDaysAgoTimestamp);
+            final UsageEvents events =
+                    getAppUsageEventsForUser(context, userManager, user.id, sixDaysAgoTimestamp);
             if (events != null) {
                 resultMap.put(Long.valueOf(user.id), events);
             }
         }
         final long elapsedTime = System.currentTimeMillis() - start;
-        Log.d(TAG, String.format("getAppUsageEvents() for all unlocked users in %d/ms",
-                elapsedTime));
+        Log.d(
+                TAG,
+                String.format("getAppUsageEvents() for all unlocked users in %d/ms", elapsedTime));
         return resultMap.isEmpty() ? null : resultMap;
     }
 
-    /**
-     * Gets the {@link UsageEvents} from system service for the specific user.
-     */
+    /** Gets the {@link UsageEvents} from system service for the specific user. */
     @Nullable
     public static UsageEvents getAppUsageEventsForUser(
             Context context, final int userID, final long startTimestampOfLevelData) {
@@ -234,17 +226,17 @@
         final long sixDaysAgoTimestamp =
                 DatabaseUtils.getTimestampSixDaysAgo(Calendar.getInstance());
         final long earliestTimestamp = Math.max(sixDaysAgoTimestamp, startTimestampOfLevelData);
-        final UsageEvents events = getAppUsageEventsForUser(
-                context, userManager, userID, earliestTimestamp);
+        final UsageEvents events =
+                getAppUsageEventsForUser(context, userManager, userID, earliestTimestamp);
         final long elapsedTime = System.currentTimeMillis() - start;
-        Log.d(TAG, String.format("getAppUsageEventsForUser() for user %d in %d/ms",
-                userID, elapsedTime));
+        Log.d(
+                TAG,
+                String.format(
+                        "getAppUsageEventsForUser() for user %d in %d/ms", userID, elapsedTime));
         return events;
     }
 
-    /**
-     * Closes the {@link BatteryUsageStats} after using it.
-     */
+    /** Closes the {@link BatteryUsageStats} after using it. */
     public static void closeBatteryUsageStats(BatteryUsageStats batteryUsageStats) {
         if (batteryUsageStats != null) {
             try {
@@ -260,18 +252,20 @@
      * Attributes the list of {@link AppUsageEvent} into hourly time slots and reformat them into
      * {@link AppUsagePeriod} for easier use in the following process.
      *
-     * <p>There could be 2 cases of the returned value:</p>
+     * <p>There could be 2 cases of the returned value:
+     *
      * <ul>
-     * <li>null: empty or invalid data.</li>
-     * <li>non-null: must be a 2d map and composed by:
-     * <p>  [0][0] ~ [maxDailyIndex][maxHourlyIndex]</p></li>
+     *   <li>null: empty or invalid data.
+     *   <li>non-null: must be a 2d map and composed by:
+     *       <p>[0][0] ~ [maxDailyIndex][maxHourlyIndex]
      * </ul>
      *
-     * <p>The structure is consistent with the battery usage map returned by
-     * {@code generateBatteryUsageMap}.</p>
+     * <p>The structure is consistent with the battery usage map returned by {@code
+     * generateBatteryUsageMap}.
      *
-     * <p>{@code Long} stands for the userId.</p>
-     * <p>{@code String} stands for the packageName.</p>
+     * <p>{@code Long} stands for the userId.
+     *
+     * <p>{@code String} stands for the packageName.
      */
     @Nullable
     public static Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
@@ -310,24 +304,26 @@
                 // The value could be null when there is no data in the hourly slot.
                 dailyMap.put(
                         hourlyIndex,
-                        buildAppUsagePeriodList(context, hourlyAppUsageEventList, batteryEventList,
-                                startTimestamp, endTimestamp));
+                        buildAppUsagePeriodList(
+                                context,
+                                hourlyAppUsageEventList,
+                                batteryEventList,
+                                startTimestamp,
+                                endTimestamp));
             }
         }
         return resultMap;
     }
 
-    /**
-     * Generates the list of {@link AppUsageEvent} from the supplied {@link UsageEvents}.
-     */
+    /** Generates the list of {@link AppUsageEvent} from the supplied {@link UsageEvents}. */
     public static List<AppUsageEvent> generateAppUsageEventListFromUsageEvents(
             Context context, Map<Long, UsageEvents> usageEventsMap) {
         final List<AppUsageEvent> appUsageEventList = new ArrayList<>();
         long numEventsFetched = 0;
         long numAllEventsFetched = 0;
         final Set<String> ignoreScreenOnTimeTaskRootSet =
-                FeatureFactory.getFactory(context)
-                        .getPowerUsageFeatureProvider(context)
+                FeatureFactory.getFeatureFactory()
+                        .getPowerUsageFeatureProvider()
                         .getIgnoreScreenOnTimeTaskRootSet();
         for (final long userId : usageEventsMap.keySet()) {
             final UsageEvents usageEvents = usageEventsMap.get(userId);
@@ -342,12 +338,14 @@
                         final String taskRootClassName = event.getTaskRootClassName();
                         if (!TextUtils.isEmpty(taskRootClassName)
                                 && ignoreScreenOnTimeTaskRootSet.contains(taskRootClassName)) {
-                            Log.w(TAG, String.format(
-                                    "Ignoring a usage event with task root class name %s, "
-                                            + "(timestamp=%d, type=%d)",
-                                    taskRootClassName,
-                                    event.getTimeStamp(),
-                                    event.getEventType()));
+                            Log.w(
+                                    TAG,
+                                    String.format(
+                                            "Ignoring a usage event with task root class name %s, "
+                                                    + "(timestamp=%d, type=%d)",
+                                            taskRootClassName,
+                                            event.getTimeStamp(),
+                                            event.getEventType()));
                             break;
                         }
                         final AppUsageEvent appUsageEvent =
@@ -363,19 +361,18 @@
                 }
             }
         }
-        Log.w(TAG, String.format(
-                "Read %d relevant events (%d total) from UsageStatsManager", numEventsFetched,
-                numAllEventsFetched));
+        Log.w(
+                TAG,
+                String.format(
+                        "Read %d relevant events (%d total) from UsageStatsManager",
+                        numEventsFetched, numAllEventsFetched));
         return appUsageEventList;
     }
 
-    /**
-     * Generates the list of {@link BatteryEntry} from the supplied {@link BatteryUsageStats}.
-     */
+    /** Generates the list of {@link BatteryEntry} from the supplied {@link BatteryUsageStats}. */
     @Nullable
     public static List<BatteryEntry> generateBatteryEntryListFromBatteryUsageStats(
-            final Context context,
-            @Nullable final BatteryUsageStats batteryUsageStats) {
+            final Context context, @Nullable final BatteryUsageStats batteryUsageStats) {
         if (batteryUsageStats == null) {
             Log.w(TAG, "batteryUsageStats is null content");
             return null;
@@ -385,13 +382,18 @@
         }
         final BatteryUtils batteryUtils = BatteryUtils.getInstance(context);
         final int dischargePercentage = Math.max(0, batteryUsageStats.getDischargePercentage());
-        final List<BatteryEntry> usageList = getCoalescedUsageList(
-                context, batteryUtils, batteryUsageStats, /*loadDataInBackground=*/ false);
+        final List<BatteryEntry> usageList =
+                getCoalescedUsageList(
+                        context,
+                        batteryUtils,
+                        batteryUsageStats,
+                        /* loadDataInBackground= */ false);
         final double totalPower = batteryUsageStats.getConsumedPower();
         for (int i = 0; i < usageList.size(); i++) {
             final BatteryEntry entry = usageList.get(i);
-            final double percentOfTotal = batteryUtils.calculateBatteryPercent(
-                    entry.getConsumedPower(), totalPower, dischargePercentage);
+            final double percentOfTotal =
+                    batteryUtils.calculateBatteryPercent(
+                            entry.getConsumedPower(), totalPower, dischargePercentage);
             entry.mPercent = percentOfTotal;
         }
         return usageList;
@@ -404,19 +406,19 @@
             final Context context) {
         final List<BatteryHistEntry> batteryHistEntryList =
                 getBatteryHistListFromFromStatsService(context);
-        return batteryHistEntryList == null ? new ArrayMap<>()
+        return batteryHistEntryList == null
+                ? new ArrayMap<>()
                 : batteryHistEntryList.stream().collect(Collectors.toMap(e -> e.getKey(), e -> e));
     }
 
     /**
      * @return Returns the processed history map which has interpolated to every hour data.
-     * The start timestamp is the first timestamp in batteryHistoryMap. The end timestamp is current
-     * time. The keys of processed history map should contain every hour between the start and end
-     * timestamp. If there's no data in some key, the value will be the empty map.
+     *     <p>The start timestamp is the first timestamp in batteryHistoryMap. The end timestamp is
+     *     current time. The keys of processed history map should contain every hour between the
+     *     start and end timestamp. If there's no data in some key, the value will be the empty map.
      */
     static Map<Long, Map<String, BatteryHistEntry>> getHistoryMapWithExpectedTimestamps(
-            Context context,
-            final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
+            Context context, final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap) {
         final long startTime = System.currentTimeMillis();
         final List<Long> rawTimestampList = new ArrayList<>(batteryHistoryMap.keySet());
         final Map<Long, Map<String, BatteryHistEntry>> resultMap = new ArrayMap();
@@ -429,8 +431,11 @@
         final List<Long> expectedTimestampList = getTimestampSlots(rawTimestampList, currentTime);
         interpolateHistory(
                 context, rawTimestampList, expectedTimestampList, batteryHistoryMap, resultMap);
-        Log.d(TAG, String.format("getHistoryMapWithExpectedTimestamps() size=%d in %d/ms",
-                resultMap.size(), (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getHistoryMapWithExpectedTimestamps() size=%d in %d/ms",
+                        resultMap.size(), (System.currentTimeMillis() - startTime)));
         return resultMap;
     }
 
@@ -470,7 +475,8 @@
         }
         timestampSlots.add(startTimestamp);
         for (long timestamp = TimestampUtils.getNextHourTimestamp(startTimestamp);
-                timestamp < endTimestamp; timestamp += DateUtils.HOUR_IN_MILLIS) {
+                timestamp < endTimestamp;
+                timestamp += DateUtils.HOUR_IN_MILLIS) {
             timestampSlots.add(timestamp);
         }
         timestampSlots.add(endTimestamp);
@@ -496,16 +502,17 @@
 
     @VisibleForTesting
     static long[] findNearestTimestamp(final List<Long> timestamps, final long target) {
-        final long[] results = new long[]{Long.MIN_VALUE, Long.MAX_VALUE};
+        final long[] results = new long[] {Long.MIN_VALUE, Long.MAX_VALUE};
         // Searches the nearest lower and upper timestamp value.
-        timestamps.forEach(timestamp -> {
-            if (timestamp <= target && timestamp > results[0]) {
-                results[0] = timestamp;
-            }
-            if (timestamp >= target && timestamp < results[1]) {
-                results[1] = timestamp;
-            }
-        });
+        timestamps.forEach(
+                timestamp -> {
+                    if (timestamp <= target && timestamp > results[0]) {
+                        results[0] = timestamp;
+                    }
+                    if (timestamp >= target && timestamp < results[1]) {
+                        results[1] = timestamp;
+                    }
+                });
         // Uses zero value to represent invalid searching result.
         results[0] = results[0] == Long.MIN_VALUE ? 0 : results[0];
         results[1] = results[1] == Long.MAX_VALUE ? 0 : results[1];
@@ -547,7 +554,8 @@
                 slotBatteryHistoryList.add(
                         batteryHistoryMap.getOrDefault(startTimestamp, EMPTY_BATTERY_MAP));
                 for (Long timestamp = TimestampUtils.getNextHourTimestamp(startTimestamp);
-                        timestamp < endTimestamp; timestamp += DateUtils.HOUR_IN_MILLIS) {
+                        timestamp < endTimestamp;
+                        timestamp += DateUtils.HOUR_IN_MILLIS) {
                     slotBatteryHistoryList.add(
                             batteryHistoryMap.getOrDefault(timestamp, EMPTY_BATTERY_MAP));
                 }
@@ -567,7 +575,7 @@
                                 systemAppsPackageNames,
                                 systemAppsUids,
                                 appUsagePeriodMap == null
-                                        || appUsagePeriodMap.get(dailyIndex) == null
+                                                || appUsagePeriodMap.get(dailyIndex) == null
                                         ? null
                                         : appUsagePeriodMap.get(dailyIndex).get(hourlyIndex),
                                 slotBatteryHistoryList);
@@ -579,17 +587,16 @@
 
     /**
      * @return Returns the indexed battery usage data for each corresponding time slot.
-     *
-     * <p>There could be 2 cases of the returned value:</p>
-     * <ul>
-     * <li> null: empty or invalid data.</li>
-     * <li> 1 part: if batteryLevelData is null.</li>
-     * <p>  [SELECTED_INDEX_ALL][SELECTED_INDEX_ALL]</p>
-     * <li> 3 parts: if batteryLevelData is not null.</li>
-     * <p>  1 - [SELECTED_INDEX_ALL][SELECTED_INDEX_ALL]</p>
-     * <p>  2 - [0][SELECTED_INDEX_ALL] ~ [maxDailyIndex][SELECTED_INDEX_ALL]</p>
-     * <p>  3 - [0][0] ~ [maxDailyIndex][maxHourlyIndex]</p>
-     * </ul>
+     *     <p>There could be 2 cases of the returned value:
+     *     <ul>
+     *       <li>null: empty or invalid data.
+     *       <li>1 part: if batteryLevelData is null.
+     *           <p>[SELECTED_INDEX_ALL][SELECTED_INDEX_ALL]
+     *       <li>3 parts: if batteryLevelData is not null.
+     *           <p>1 - [SELECTED_INDEX_ALL][SELECTED_INDEX_ALL]
+     *           <p>2 - [0][SELECTED_INDEX_ALL] ~ [maxDailyIndex][SELECTED_INDEX_ALL]
+     *           <p>3 - [0][0] ~ [maxDailyIndex][maxHourlyIndex]
+     *     </ul>
      */
     static Map<Integer, Map<Integer, BatteryDiffData>> generateBatteryUsageMap(
             final Context context,
@@ -626,43 +633,56 @@
             final List<BatteryHistEntry> batteryHistEntryList,
             final @NonNull Set<String> systemAppsPackageNames,
             final @NonNull Set<Integer> systemAppsUids) {
+        final List<BatteryDiffEntry> appEntries = new ArrayList<>();
+        final List<BatteryDiffEntry> systemEntries = new ArrayList<>();
         if (batteryHistEntryList == null || batteryHistEntryList.isEmpty()) {
             Log.w(TAG, "batteryHistEntryList is null or empty in generateBatteryDiffData()");
-            return null;
+            return new BatteryDiffData(
+                    context,
+                    startTimestamp,
+                    getCurrentTimeMillis(),
+                    /* startBatteryLevel= */ 100,
+                    getCurrentLevel(context),
+                    /* screenOnTime= */ 0L,
+                    appEntries,
+                    systemEntries,
+                    systemAppsPackageNames,
+                    systemAppsUids,
+                    /* isAccumulated= */ false);
         }
         final int currentUserId = context.getUserId();
         final UserHandle userHandle =
                 Utils.getManagedProfile(context.getSystemService(UserManager.class));
         final int workProfileUserId =
                 userHandle != null ? userHandle.getIdentifier() : Integer.MIN_VALUE;
-        final List<BatteryDiffEntry> appEntries = new ArrayList<>();
-        final List<BatteryDiffEntry> systemEntries = new ArrayList<>();
 
         for (BatteryHistEntry entry : batteryHistEntryList) {
-            final boolean isFromOtherUsers = isConsumedFromOtherUsers(
-                    currentUserId, workProfileUserId, entry);
+            final boolean isFromOtherUsers =
+                    isConsumedFromOtherUsers(currentUserId, workProfileUserId, entry);
             // Not show other users' battery usage data.
             if (isFromOtherUsers) {
                 continue;
             } else {
-                final BatteryDiffEntry currentBatteryDiffEntry = new BatteryDiffEntry(
-                        context,
-                        entry.mUid,
-                        entry.mUserId,
-                        entry.getKey(),
-                        entry.mIsHidden,
-                        entry.mDrainType,
-                        entry.mPackageName,
-                        entry.mAppLabel,
-                        entry.mConsumerType,
-                        entry.mForegroundUsageTimeInMs,
-                        entry.mBackgroundUsageTimeInMs,
-                        /*screenOnTimeInMs=*/ 0,
-                        entry.mConsumePower,
-                        entry.mForegroundUsageConsumePower,
-                        entry.mForegroundServiceUsageConsumePower,
-                        entry.mBackgroundUsageConsumePower,
-                        entry.mCachedUsageConsumePower);
+                final BatteryDiffEntry currentBatteryDiffEntry =
+                        new BatteryDiffEntry(
+                                context,
+                                entry.mUid,
+                                entry.mUserId,
+                                entry.getKey(),
+                                entry.mIsHidden,
+                                entry.mDrainType,
+                                entry.mPackageName,
+                                entry.mAppLabel,
+                                entry.mConsumerType,
+                                entry.mForegroundUsageTimeInMs,
+                                entry.mForegroundServiceUsageTimeInMs,
+                                entry.mBackgroundUsageTimeInMs,
+                                /* screenOnTimeInMs= */ 0,
+                                entry.mConsumePower,
+                                entry.mForegroundUsageConsumePower,
+                                entry.mForegroundServiceUsageConsumePower,
+                                entry.mBackgroundUsageConsumePower,
+                                entry.mCachedUsageConsumePower);
                 if (currentBatteryDiffEntry.isSystemEntry()) {
                     systemEntries.add(currentBatteryDiffEntry);
                 } else {
@@ -670,26 +690,33 @@
                 }
             }
         }
-
-        // If there is no data, return null instead of empty item.
-        if (appEntries.isEmpty() && systemEntries.isEmpty()) {
-            return null;
-        }
-        return new BatteryDiffData(context, startTimestamp, getCurrentTimeMillis(),
-                /* startBatteryLevel =*/ 100, getCurrentLevel(context), /* screenOnTime= */ 0L,
-                appEntries, systemEntries, systemAppsPackageNames, systemAppsUids,
+        return new BatteryDiffData(
+                context,
+                startTimestamp,
+                getCurrentTimeMillis(),
+                /* startBatteryLevel= */ 100,
+                getCurrentLevel(context),
+                /* screenOnTime= */ 0L,
+                appEntries,
+                systemEntries,
+                systemAppsPackageNames,
+                systemAppsUids,
                 /* isAccumulated= */ false);
     }
 
     /**
-     * <p>{@code Long} stands for the userId.</p>
-     * <p>{@code String} stands for the packageName.</p>
+     * {@code Long} stands for the userId.
+     *
+     * <p>{@code String} stands for the packageName.
      */
     @VisibleForTesting
     @Nullable
     static Map<Long, Map<String, List<AppUsagePeriod>>> buildAppUsagePeriodList(
-            Context context, final List<AppUsageEvent> appUsageEvents,
-            final List<BatteryEvent> batteryEventList, final long startTime, final long endTime) {
+            Context context,
+            final List<AppUsageEvent> appUsageEvents,
+            final List<BatteryEvent> batteryEventList,
+            final long startTime,
+            final long endTime) {
         if (appUsageEvents.isEmpty()) {
             return null;
         }
@@ -728,11 +755,12 @@
             // The same instance must have same userId and packageName.
             final AppUsageEvent firstEvent = usageEvents.get(0);
             final long eventUserId = firstEvent.getUserId();
-            final String packageName = getEffectivePackageName(
-                    context,
-                    sUsageStatsManager,
-                    firstEvent.getPackageName(),
-                    firstEvent.getTaskRootPackageName());
+            final String packageName =
+                    getEffectivePackageName(
+                            context,
+                            sUsageStatsManager,
+                            firstEvent.getPackageName(),
+                            firstEvent.getTaskRootPackageName());
             usageEvents.addAll(deviceEvents);
             // Sorts the usageEvents in ascending order based on the timestamp before computing the
             // period.
@@ -754,7 +782,7 @@
             if (allUsagePeriods.get(userId) == null) {
                 continue;
             }
-            for (final String packageName: allUsagePeriods.get(userId).keySet()) {
+            for (final String packageName : allUsagePeriods.get(userId).keySet()) {
                 Collections.sort(
                         allUsagePeriods.get(userId).get(packageName),
                         Comparator.comparing(AppUsagePeriod::getStartTime));
@@ -813,8 +841,7 @@
 
     @VisibleForTesting
     static List<AppUsagePeriod> excludePowerConnectedTimeFromAppUsagePeriodList(
-            final List<AppUsagePeriod> usagePeriodList,
-            final List<BatteryEvent> batteryEventList) {
+            final List<AppUsagePeriod> usagePeriodList, final List<BatteryEvent> batteryEventList) {
         final List<AppUsagePeriod> resultList = new ArrayList<>();
         int index = 0;
         for (AppUsagePeriod inputPeriod : usagePeriodList) {
@@ -842,10 +869,11 @@
 
                 if (batteryEvent.getType() == BatteryEventType.POWER_CONNECTED
                         && lastStartTime != 0) {
-                    resultList.add(AppUsagePeriod.newBuilder()
-                            .setStartTime(lastStartTime)
-                            .setEndTime(batteryEvent.getTimestamp())
-                            .build());
+                    resultList.add(
+                            AppUsagePeriod.newBuilder()
+                                    .setStartTime(lastStartTime)
+                                    .setEndTime(batteryEvent.getTimestamp())
+                                    .build());
                     lastStartTime = 0;
                 } else if (batteryEvent.getType() == BatteryEventType.POWER_DISCONNECTED) {
                     lastStartTime = batteryEvent.getTimestamp();
@@ -853,10 +881,11 @@
                 index++;
             }
             if (lastStartTime != 0) {
-                resultList.add(AppUsagePeriod.newBuilder()
-                        .setStartTime(lastStartTime)
-                        .setEndTime(inputPeriod.getEndTime())
-                        .build());
+                resultList.add(
+                        AppUsagePeriod.newBuilder()
+                                .setStartTime(lastStartTime)
+                                .setEndTime(inputPeriod.getEndTime())
+                                .build());
             }
         }
         return resultList;
@@ -875,13 +904,19 @@
     }
 
     static Map<Long, BatteryDiffData> getBatteryDiffDataMapFromStatsService(
-            final Context context, final long startTimestamp,
+            final Context context,
+            final long startTimestamp,
             @NonNull final Set<String> systemAppsPackageNames,
             @NonNull final Set<Integer> systemAppsUids) {
         Map<Long, BatteryDiffData> batteryDiffDataMap = new ArrayMap<>(1);
-        batteryDiffDataMap.put(startTimestamp, generateBatteryDiffData(
-                context, startTimestamp, getBatteryHistListFromFromStatsService(context),
-                systemAppsPackageNames, systemAppsUids));
+        batteryDiffDataMap.put(
+                startTimestamp,
+                generateBatteryDiffData(
+                        context,
+                        startTimestamp,
+                        getBatteryHistListFromFromStatsService(context),
+                        systemAppsPackageNames,
+                        systemAppsUids));
         return batteryDiffDataMap;
     }
 
@@ -894,23 +929,25 @@
         final BatteryDiffData batteryUsageMapForAll =
                 batteryUsageMap.get(SELECTED_INDEX_ALL).get(SELECTED_INDEX_ALL);
         if (batteryUsageMapForAll != null) {
-            batteryUsageMapForAll.getAppDiffEntryList().forEach(
-                    entry -> entry.loadLabelAndIcon());
-            batteryUsageMapForAll.getSystemDiffEntryList().forEach(
-                    entry -> entry.loadLabelAndIcon());
+            batteryUsageMapForAll.getAppDiffEntryList().forEach(entry -> entry.loadLabelAndIcon());
+            batteryUsageMapForAll
+                    .getSystemDiffEntryList()
+                    .forEach(entry -> entry.loadLabelAndIcon());
         }
     }
 
     static Set<String> getSystemAppsPackageNames(Context context) {
-        return sTestSystemAppsPackageNames != null ? sTestSystemAppsPackageNames
+        return sTestSystemAppsPackageNames != null
+                ? sTestSystemAppsPackageNames
                 : AppListRepositoryUtil.getSystemPackageNames(context, context.getUserId());
     }
 
     static Set<Integer> getSystemAppsUids(Context context) {
         Set<Integer> result = new ArraySet<>(1);
         try {
-            result.add(context.getPackageManager().getUidForSharedUser(
-                    ANDROID_CORE_APPS_SHARED_USER_ID));
+            result.add(
+                    context.getPackageManager()
+                            .getUidForSharedUser(ANDROID_CORE_APPS_SHARED_USER_ID));
         } catch (PackageManager.NameNotFoundException e) {
             // No Android Core Apps
         }
@@ -918,10 +955,10 @@
     }
 
     /**
-     * Generates the list of {@link AppUsageEvent} within the specific time range.
-     * The buffer is added to make sure the app usage calculation near the boundaries is correct.
+     * Generates the list of {@link AppUsageEvent} within the specific time range. The buffer is
+     * added to make sure the app usage calculation near the boundaries is correct.
      *
-     * Note: The appUsageEventList should have been sorted when calling this function.
+     * <p>Note: The appUsageEventList should have been sorted when calling this function.
      */
     private static List<AppUsageEvent> getAppUsageEventListWithinTimeRangeWithBuffer(
             final List<AppUsageEvent> appUsageEventList, final long startTime, final long endTime) {
@@ -980,17 +1017,13 @@
         packageNameMap.get(packageName).addAll(usagePeriodList);
     }
 
-    /**
-     * Returns the start time that gives {@code usagePeriod} the default usage duration.
-     */
+    /** Returns the start time that gives {@code usagePeriod} the default usage duration. */
     private static long getStartTimeForIncompleteUsagePeriod(
             final AppUsagePeriodOrBuilder usagePeriod) {
         return usagePeriod.getEndTime() - DEFAULT_USAGE_DURATION_FOR_INCOMPLETE_INTERVAL;
     }
 
-    /**
-     * Returns the end time that gives {@code usagePeriod} the default usage duration.
-     */
+    /** Returns the end time that gives {@code usagePeriod} the default usage duration. */
     private static long getEndTimeForIncompleteUsagePeriod(
             final AppUsagePeriodOrBuilder usagePeriod, final long eventTime) {
         return Math.min(
@@ -1000,7 +1033,9 @@
 
     @Nullable
     private static UsageEvents getAppUsageEventsForUser(
-            Context context, final UserManager userManager, final int userID,
+            Context context,
+            final UserManager userManager,
+            final int userID,
             final long earliestTimestamp) {
         final String callingPackage = context.getPackageName();
         final long now = System.currentTimeMillis();
@@ -1010,27 +1045,34 @@
             Log.w(TAG, "fail to load app usage event for user :" + userID + " because locked");
             return null;
         }
-        final long startTime = DatabaseUtils.getAppUsageStartTimestampOfUser(
-                context, userID, earliestTimestamp);
+        final long startTime =
+                DatabaseUtils.getAppUsageStartTimestampOfUser(context, userID, earliestTimestamp);
         return loadAppUsageEventsForUserFromService(
                 sUsageStatsManager, startTime, now, userID, callingPackage);
     }
 
     @Nullable
     private static UsageEvents loadAppUsageEventsForUserFromService(
-            final IUsageStatsManager usageStatsManager, final long startTime, final long endTime,
-            final int userId, final String callingPackage) {
+            final IUsageStatsManager usageStatsManager,
+            final long startTime,
+            final long endTime,
+            final int userId,
+            final String callingPackage) {
         final long start = System.currentTimeMillis();
         UsageEvents events = null;
         try {
-            events = usageStatsManager.queryEventsForUser(
-                    startTime, endTime, userId, callingPackage);
+            events =
+                    usageStatsManager.queryEventsForUser(
+                            startTime, endTime, userId, callingPackage);
         } catch (RemoteException e) {
             Log.e(TAG, "Error fetching usage events: ", e);
         }
         final long elapsedTime = System.currentTimeMillis() - start;
-        Log.d(TAG, String.format("getAppUsageEventsForUser(): %d from %d to %d in %d/ms", userId,
-                startTime, endTime, elapsedTime));
+        Log.d(
+                TAG,
+                String.format(
+                        "getAppUsageEventsForUser(): %d from %d to %d in %d/ms",
+                        userId, startTime, endTime, elapsedTime));
         return events;
     }
 
@@ -1061,13 +1103,14 @@
             return null;
         }
         return batteryEntryList.stream()
-                .filter(entry -> {
-                    final long foregroundMs = entry.getTimeInForegroundMs();
-                    final long backgroundMs = entry.getTimeInBackgroundMs();
-                    return entry.getConsumedPower() > 0
-                            || (entry.getConsumedPower() == 0
-                            && (foregroundMs != 0 || backgroundMs != 0));
-                })
+                .filter(
+                        entry -> {
+                            final long foregroundMs = entry.getTimeInForegroundMs();
+                            final long backgroundMs = entry.getTimeInBackgroundMs();
+                            return entry.getConsumedPower() > 0
+                                    || (entry.getConsumedPower() == 0
+                                            && (foregroundMs != 0 || backgroundMs != 0));
+                        })
                 .map(entry -> ConvertUtils.convertToBatteryHistEntry(entry, batteryUsageStats))
                 .collect(Collectors.toList());
     }
@@ -1091,10 +1134,15 @@
 
         resultMap.put(startTimestamp, batteryHistoryMap.get(startTimestamp));
         for (int index = 1; index < expectedTimestampSlotsSize - 1; index++) {
-            interpolateHistoryForSlot(context, expectedTimestampSlots.get(index), rawTimestampList,
-                    batteryHistoryMap, resultMap);
+            interpolateHistoryForSlot(
+                    context,
+                    expectedTimestampSlots.get(index),
+                    rawTimestampList,
+                    batteryHistoryMap,
+                    resultMap);
         }
-        resultMap.put(endTimestamp,
+        resultMap.put(
+                endTimestamp,
                 Map.of(CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER, EMPTY_BATTERY_HIST_ENTRY));
     }
 
@@ -1185,7 +1233,7 @@
                     BatteryHistEntry.interpolate(
                             currentSlot,
                             upperTimestamp,
-                            /*ratio=*/ timestampDiff / timestampLength,
+                            /* ratio= */ timestampDiff / timestampLength,
                             lowerEntry,
                             upperEntry);
             newHistEntryMap.put(entryKey, newEntry);
@@ -1203,8 +1251,10 @@
             final long timestamp) {
         final Map<String, BatteryHistEntry> entryMap = processedBatteryHistoryMap.get(timestamp);
         if (entryMap == null || entryMap.isEmpty()) {
-            Log.e(TAG, "abnormal entry list in the timestamp:"
-                    + ConvertUtils.utcToLocalTimeForLogging(timestamp));
+            Log.e(
+                    TAG,
+                    "abnormal entry list in the timestamp:"
+                            + ConvertUtils.utcToLocalTimeForLogging(timestamp));
             return BATTERY_LEVEL_UNKNOWN;
         }
         // The current time battery history hasn't been loaded yet, returns the current battery
@@ -1264,11 +1314,11 @@
     }
 
     private static void insertAllUsageDiffData(
-            final Context context,
-            final Map<Integer, Map<Integer, BatteryDiffData>> resultMap) {
+            final Context context, final Map<Integer, Map<Integer, BatteryDiffData>> resultMap) {
         final List<BatteryDiffData> diffDataList = new ArrayList<>();
-        resultMap.keySet().forEach(
-                key -> diffDataList.add(resultMap.get(key).get(SELECTED_INDEX_ALL)));
+        resultMap
+                .keySet()
+                .forEach(key -> diffDataList.add(resultMap.get(key).get(SELECTED_INDEX_ALL)));
         final Map<Integer, BatteryDiffData> allUsageMap = new ArrayMap<>();
         allUsageMap.put(SELECTED_INDEX_ALL, getAccumulatedUsageDiffData(context, diffDataList));
         resultMap.put(SELECTED_INDEX_ALL, allUsageMap);
@@ -1304,8 +1354,7 @@
                     }
                 }
             }
-            slotScreenOnTime =
-                    Math.min(slotDuration, getScreenOnTime(flatAppUsagePeriodList));
+            slotScreenOnTime = Math.min(slotDuration, getScreenOnTime(flatAppUsagePeriodList));
         }
 
         final List<BatteryDiffEntry> appEntries = new ArrayList<>();
@@ -1318,7 +1367,18 @@
                 // We should not get the empty list since we have at least one fake data to record
                 // the battery level and status in each time slot, the empty list is used to
                 // represent there is no enough data to apply interpolation arithmetic.
-                return null;
+                return new BatteryDiffData(
+                        context,
+                        startTimestamp,
+                        endTimestamp,
+                        startBatteryLevel,
+                        endBatteryLevel,
+                        /* screenOnTime= */ 0L,
+                        appEntries,
+                        systemEntries,
+                        systemAppsPackageNames,
+                        systemAppsUids,
+                        /* isAccumulated= */ false);
             }
             allBatteryHistEntryKeys.addAll(slotBatteryHistMap.keySet());
         }
@@ -1344,14 +1404,16 @@
             }
 
             // Not show other users' battery usage data.
-            final boolean isFromOtherUsers = isConsumedFromOtherUsers(
-                    currentUserId, workProfileUserId, selectedBatteryEntry);
+            final boolean isFromOtherUsers =
+                    isConsumedFromOtherUsers(
+                            currentUserId, workProfileUserId, selectedBatteryEntry);
             if (isFromOtherUsers) {
                 continue;
             }
 
             // Cumulative values is a specific time slot for a specific app.
             long foregroundUsageTimeInMs = 0;
+            long foregroundServiceUsageTimeInMs = 0;
             long backgroundUsageTimeInMs = 0;
             double consumePower = 0;
             double foregroundUsageConsumePower = 0;
@@ -1365,14 +1427,15 @@
                         getDiffValue(
                                 currentEntry.mForegroundUsageTimeInMs,
                                 nextEntry.mForegroundUsageTimeInMs);
+                foregroundServiceUsageTimeInMs +=
+                        getDiffValue(
+                                currentEntry.mForegroundServiceUsageTimeInMs,
+                                nextEntry.mForegroundServiceUsageTimeInMs);
                 backgroundUsageTimeInMs +=
                         getDiffValue(
                                 currentEntry.mBackgroundUsageTimeInMs,
                                 nextEntry.mBackgroundUsageTimeInMs);
-                consumePower +=
-                        getDiffValue(
-                                currentEntry.mConsumePower,
-                                nextEntry.mConsumePower);
+                consumePower += getDiffValue(currentEntry.mConsumePower, nextEntry.mConsumePower);
                 foregroundUsageConsumePower +=
                         getDiffValue(
                                 currentEntry.mForegroundUsageConsumePower,
@@ -1397,6 +1460,7 @@
             }
             // Excludes entry since we don't have enough data to calculate.
             if (foregroundUsageTimeInMs == 0
+                    && foregroundServiceUsageTimeInMs == 0
                     && backgroundUsageTimeInMs == 0
                     && consumePower == 0) {
                 continue;
@@ -1404,19 +1468,24 @@
             // Forces refine the cumulative value since it may introduce deviation error since we
             // will apply the interpolation arithmetic.
             final float totalUsageTimeInMs =
-                    foregroundUsageTimeInMs + backgroundUsageTimeInMs;
+                    foregroundUsageTimeInMs
+                            + backgroundUsageTimeInMs
+                            + foregroundServiceUsageTimeInMs;
             if (totalUsageTimeInMs > slotDuration) {
                 final float ratio = slotDuration / totalUsageTimeInMs;
                 if (sDebug) {
-                    Log.w(TAG, String.format("abnormal usage time %d|%d for:\n%s",
-                            Duration.ofMillis(foregroundUsageTimeInMs).getSeconds(),
-                            Duration.ofMillis(backgroundUsageTimeInMs).getSeconds(),
-                            selectedBatteryEntry));
+                    Log.w(
+                            TAG,
+                            String.format(
+                                    "abnormal usage time %d|%d|%d for:\n%s",
+                                    Duration.ofMillis(foregroundUsageTimeInMs).getSeconds(),
+                                    Duration.ofMillis(foregroundServiceUsageTimeInMs).getSeconds(),
+                                    Duration.ofMillis(backgroundUsageTimeInMs).getSeconds(),
+                                    selectedBatteryEntry));
                 }
-                foregroundUsageTimeInMs =
-                        Math.round(foregroundUsageTimeInMs * ratio);
-                backgroundUsageTimeInMs =
-                        Math.round(backgroundUsageTimeInMs * ratio);
+                foregroundUsageTimeInMs = Math.round(foregroundUsageTimeInMs * ratio);
+                foregroundServiceUsageTimeInMs = Math.round(foregroundServiceUsageTimeInMs * ratio);
+                backgroundUsageTimeInMs = Math.round(backgroundUsageTimeInMs * ratio);
                 consumePower = consumePower * ratio;
                 foregroundUsageConsumePower = foregroundUsageConsumePower * ratio;
                 foregroundServiceUsageConsumePower = foregroundServiceUsageConsumePower * ratio;
@@ -1425,48 +1494,59 @@
             }
 
             // Compute the screen on time and make sure it won't exceed the threshold.
-            final long screenOnTime = Math.min(
-                    (long) slotDuration,
-                    getScreenOnTime(
-                            appUsageMap,
+            final long screenOnTime =
+                    Math.min(
+                            (long) slotDuration,
+                            getScreenOnTime(
+                                    appUsageMap,
+                                    selectedBatteryEntry.mUserId,
+                                    selectedBatteryEntry.mPackageName));
+            // Ensure the following value will not exceed the threshold.
+            // value = background + foregroundService + screen-on
+            backgroundUsageTimeInMs =
+                    Math.min(backgroundUsageTimeInMs, (long) slotDuration - screenOnTime);
+            foregroundServiceUsageTimeInMs =
+                    Math.min(
+                            foregroundServiceUsageTimeInMs,
+                            (long) slotDuration - screenOnTime - backgroundUsageTimeInMs);
+            final BatteryDiffEntry currentBatteryDiffEntry =
+                    new BatteryDiffEntry(
+                            context,
+                            selectedBatteryEntry.mUid,
                             selectedBatteryEntry.mUserId,
-                            selectedBatteryEntry.mPackageName));
-            // Make sure the background + screen-on time will not exceed the threshold.
-            backgroundUsageTimeInMs = Math.min(
-                    backgroundUsageTimeInMs, (long) slotDuration - screenOnTime);
-            final BatteryDiffEntry currentBatteryDiffEntry = new BatteryDiffEntry(
-                    context,
-                    selectedBatteryEntry.mUid,
-                    selectedBatteryEntry.mUserId,
-                    selectedBatteryEntry.getKey(),
-                    selectedBatteryEntry.mIsHidden,
-                    selectedBatteryEntry.mDrainType,
-                    selectedBatteryEntry.mPackageName,
-                    selectedBatteryEntry.mAppLabel,
-                    selectedBatteryEntry.mConsumerType,
-                    foregroundUsageTimeInMs,
-                    backgroundUsageTimeInMs,
-                    screenOnTime,
-                    consumePower,
-                    foregroundUsageConsumePower,
-                    foregroundServiceUsageConsumePower,
-                    backgroundUsageConsumePower,
-                    cachedUsageConsumePower);
+                            selectedBatteryEntry.getKey(),
+                            selectedBatteryEntry.mIsHidden,
+                            selectedBatteryEntry.mDrainType,
+                            selectedBatteryEntry.mPackageName,
+                            selectedBatteryEntry.mAppLabel,
+                            selectedBatteryEntry.mConsumerType,
+                            foregroundUsageTimeInMs,
+                            foregroundServiceUsageTimeInMs,
+                            backgroundUsageTimeInMs,
+                            screenOnTime,
+                            consumePower,
+                            foregroundUsageConsumePower,
+                            foregroundServiceUsageConsumePower,
+                            backgroundUsageConsumePower,
+                            cachedUsageConsumePower);
             if (currentBatteryDiffEntry.isSystemEntry()) {
                 systemEntries.add(currentBatteryDiffEntry);
             } else {
                 appEntries.add(currentBatteryDiffEntry);
             }
         }
-
-        // If there is no data, return null instead of empty item.
-        if (appEntries.isEmpty() && systemEntries.isEmpty()) {
-            return null;
-        }
-
-        return new BatteryDiffData(context, startTimestamp, endTimestamp, startBatteryLevel,
-                endBatteryLevel, slotScreenOnTime, appEntries, systemEntries,
-                systemAppsPackageNames, systemAppsUids, /* isAccumulated= */ false);
+        return new BatteryDiffData(
+                context,
+                startTimestamp,
+                endTimestamp,
+                startBatteryLevel,
+                endBatteryLevel,
+                slotScreenOnTime,
+                appEntries,
+                systemEntries,
+                systemAppsPackageNames,
+                systemAppsUids,
+                /* isAccumulated= */ false);
     }
 
     private static long getScreenOnTime(@Nullable final List<AppUsagePeriod> appUsagePeriodList) {
@@ -1563,15 +1643,22 @@
             }
         }
 
-        return diffEntryList.isEmpty() ? null : new BatteryDiffData(context, startTimestamp,
-                endTimestamp, startBatteryLevel, endBatteryLevel, totalScreenOnTime, appEntries,
-                systemEntries, /* systemAppsPackageNames= */ new ArraySet<>(),
-                /* systemAppsUids= */ new ArraySet<>(), /* isAccumulated= */ true);
+        return new BatteryDiffData(
+                context,
+                startTimestamp,
+                endTimestamp,
+                startBatteryLevel,
+                endBatteryLevel,
+                totalScreenOnTime,
+                appEntries,
+                systemEntries,
+                /* systemAppsPackageNames= */ new ArraySet<>(),
+                /* systemAppsUids= */ new ArraySet<>(),
+                /* isAccumulated= */ true);
     }
 
     private static void computeUsageDiffDataPerEntry(
-            final BatteryDiffEntry entry,
-            final Map<String, BatteryDiffEntry> diffEntryMap) {
+            final BatteryDiffEntry entry, final Map<String, BatteryDiffEntry> diffEntryMap) {
         final String key = entry.getKey();
         final BatteryDiffEntry oldBatteryDiffEntry = diffEntryMap.get(key);
         // Creates new BatteryDiffEntry if we don't have it.
@@ -1579,16 +1666,15 @@
             diffEntryMap.put(key, entry.clone());
         } else {
             // Sums up some field data into the existing one.
-            oldBatteryDiffEntry.mForegroundUsageTimeInMs +=
-                    entry.mForegroundUsageTimeInMs;
-            oldBatteryDiffEntry.mBackgroundUsageTimeInMs +=
-                    entry.mBackgroundUsageTimeInMs;
-            oldBatteryDiffEntry.mScreenOnTimeInMs +=
-                    entry.mScreenOnTimeInMs;
+            oldBatteryDiffEntry.mForegroundUsageTimeInMs += entry.mForegroundUsageTimeInMs;
+            oldBatteryDiffEntry.mForegroundServiceUsageTimeInMs +=
+                    entry.mForegroundServiceUsageTimeInMs;
+            oldBatteryDiffEntry.mBackgroundUsageTimeInMs += entry.mBackgroundUsageTimeInMs;
+            oldBatteryDiffEntry.mScreenOnTimeInMs += entry.mScreenOnTimeInMs;
             oldBatteryDiffEntry.mConsumePower += entry.mConsumePower;
             oldBatteryDiffEntry.mForegroundUsageConsumePower += entry.mForegroundUsageConsumePower;
-            oldBatteryDiffEntry.mForegroundServiceUsageConsumePower
-                    += entry.mForegroundServiceUsageConsumePower;
+            oldBatteryDiffEntry.mForegroundServiceUsageConsumePower +=
+                    entry.mForegroundServiceUsageConsumePower;
             oldBatteryDiffEntry.mBackgroundUsageConsumePower += entry.mBackgroundUsageConsumePower;
             oldBatteryDiffEntry.mCachedUsageConsumePower += entry.mCachedUsageConsumePower;
         }
@@ -1597,8 +1683,9 @@
     private static boolean shouldShowBatteryAttributionList(final Context context) {
         final PowerProfile powerProfile = new PowerProfile(context);
         // Cheap hack to try to figure out if the power_profile.xml was populated.
-        final double averagePowerForOrdinal = powerProfile.getAveragePowerForOrdinal(
-                PowerProfile.POWER_GROUP_DISPLAY_SCREEN_FULL, 0);
+        final double averagePowerForOrdinal =
+                powerProfile.getAveragePowerForOrdinal(
+                        PowerProfile.POWER_GROUP_DISPLAY_SCREEN_FULL, 0);
         final boolean shouldShowBatteryAttributionList =
                 averagePowerForOrdinal >= MIN_AVERAGE_POWER_THRESHOLD_MILLI_AMP;
         if (!shouldShowBatteryAttributionList) {
@@ -1608,13 +1695,14 @@
     }
 
     /**
-     * We want to coalesce some UIDs. For example, dex2oat runs under a shared gid that
-     * exists for all users of the same app. We detect this case and merge the power use
-     * for dex2oat to the device OWNER's use of the app.
+     * We want to coalesce some UIDs. For example, dex2oat runs under a shared gid that exists for
+     * all users of the same app. We detect this case and merge the power use for dex2oat to the
+     * device OWNER's use of the app.
      *
      * @return A sorted list of apps using power.
      */
-    private static List<BatteryEntry> getCoalescedUsageList(final Context context,
+    private static List<BatteryEntry> getCoalescedUsageList(
+            final Context context,
             final BatteryUtils batteryUtils,
             final BatteryUsageStats batteryUsageStats,
             final boolean loadDataInBackground) {
@@ -1627,8 +1715,9 @@
 
         // Sort to have all apps with "real" UIDs first, followed by apps that are supposed
         // to be combined with the real ones.
-        uidBatteryConsumers.sort(Comparator.comparingInt(
-                consumer -> consumer.getUid() == getRealUid(consumer) ? 0 : 1));
+        uidBatteryConsumers.sort(
+                Comparator.comparingInt(
+                        consumer -> consumer.getUid() == getRealUid(consumer) ? 0 : 1));
 
         for (int i = 0, size = uidBatteryConsumers.size(); i < size; i++) {
             final UidBatteryConsumer consumer = uidBatteryConsumers.get(i);
@@ -1643,8 +1732,17 @@
             final int index = batteryEntryList.indexOfKey(uid);
             if (index < 0) {
                 // New entry.
-                batteryEntryList.put(uid, new BatteryEntry(context, userManager, consumer,
-                        isHidden, uid, packages, null, loadDataInBackground));
+                batteryEntryList.put(
+                        uid,
+                        new BatteryEntry(
+                                context,
+                                userManager,
+                                consumer,
+                                isHidden,
+                                uid,
+                                packages,
+                                null,
+                                loadDataInBackground));
             } else {
                 // Combine BatterySippers if we already have one with this UID.
                 final BatteryEntry existingSipper = batteryEntryList.valueAt(index);
@@ -1652,33 +1750,50 @@
             }
         }
 
-        final BatteryConsumer deviceConsumer = batteryUsageStats.getAggregateBatteryConsumer(
-                BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE);
+        final BatteryConsumer deviceConsumer =
+                batteryUsageStats.getAggregateBatteryConsumer(
+                        BatteryUsageStats.AGGREGATE_BATTERY_CONSUMER_SCOPE_DEVICE);
 
-        for (int componentId = 0; componentId < BatteryConsumer.POWER_COMPONENT_COUNT;
+        for (int componentId = 0;
+                componentId < BatteryConsumer.POWER_COMPONENT_COUNT;
                 componentId++) {
-            results.add(new BatteryEntry(context, componentId,
-                    deviceConsumer.getConsumedPower(componentId),
-                    deviceConsumer.getUsageDurationMillis(componentId),
-                    componentId == POWER_COMPONENT_SYSTEM_SERVICES
-                            || componentId == POWER_COMPONENT_WAKELOCK));
+            results.add(
+                    new BatteryEntry(
+                            context,
+                            componentId,
+                            deviceConsumer.getConsumedPower(componentId),
+                            deviceConsumer.getUsageDurationMillis(componentId),
+                            componentId == POWER_COMPONENT_SYSTEM_SERVICES
+                                    || componentId == POWER_COMPONENT_WAKELOCK));
         }
 
         for (int componentId = BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID;
-                componentId < BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID
-                        + deviceConsumer.getCustomPowerComponentCount();
+                componentId
+                        < BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID
+                                + deviceConsumer.getCustomPowerComponentCount();
                 componentId++) {
-            results.add(new BatteryEntry(context, componentId,
-                    deviceConsumer.getCustomPowerComponentName(componentId),
-                    deviceConsumer.getConsumedPowerForCustomComponent(componentId)));
+            results.add(
+                    new BatteryEntry(
+                            context,
+                            componentId,
+                            deviceConsumer.getCustomPowerComponentName(componentId),
+                            deviceConsumer.getConsumedPowerForCustomComponent(componentId)));
         }
 
         final List<UserBatteryConsumer> userBatteryConsumers =
                 batteryUsageStats.getUserBatteryConsumers();
         for (int i = 0, size = userBatteryConsumers.size(); i < size; i++) {
             final UserBatteryConsumer consumer = userBatteryConsumers.get(i);
-            results.add(new BatteryEntry(context, userManager, consumer, /* isHidden */ true,
-                    Process.INVALID_UID, null, null, loadDataInBackground));
+            results.add(
+                    new BatteryEntry(
+                            context,
+                            userManager,
+                            consumer, /* isHidden */
+                            true,
+                            Process.INVALID_UID,
+                            null,
+                            null,
+                            loadDataInBackground));
         }
 
         final int numUidSippers = batteryEntryList.size();
@@ -1698,8 +1813,10 @@
         // Check if this UID is a shared GID. If so, we combine it with the OWNER's
         // actual app UID.
         if (isSharedGid(consumer.getUid())) {
-            realUid = UserHandle.getUid(UserHandle.USER_SYSTEM,
-                    UserHandle.getAppIdFromSharedAppGid(consumer.getUid()));
+            realUid =
+                    UserHandle.getUid(
+                            UserHandle.USER_SYSTEM,
+                            UserHandle.getAppIdFromSharedAppGid(consumer.getUid()));
         }
 
         // Check if this UID is a system UID (mediaserver, logd, nfc, drm, etc).
@@ -1733,8 +1850,13 @@
         for (int dailyIndex = 0; dailyIndex < hourlyBatteryLevelsPerDay.size(); dailyIndex++) {
             if (batteryUsageMap.get(dailyIndex) == null
                     || !batteryUsageMap.get(dailyIndex).containsKey(SELECTED_INDEX_ALL)) {
-                Log.e(TAG, "no [" + dailyIndex + "][SELECTED_INDEX_ALL] in batteryUsageMap, "
-                        + "daily size is: " + hourlyBatteryLevelsPerDay.size());
+                Log.e(
+                        TAG,
+                        "no ["
+                                + dailyIndex
+                                + "][SELECTED_INDEX_ALL] in batteryUsageMap, "
+                                + "daily size is: "
+                                + hourlyBatteryLevelsPerDay.size());
                 return false;
             }
             if (hourlyBatteryLevelsPerDay.get(dailyIndex) == null) {
@@ -1744,8 +1866,15 @@
             // Length of hourly usage map should be the length of hourly level data - 1.
             for (int hourlyIndex = 0; hourlyIndex < timestamps.size() - 1; hourlyIndex++) {
                 if (!batteryUsageMap.get(dailyIndex).containsKey(hourlyIndex)) {
-                    Log.e(TAG, "no [" + dailyIndex + "][" + hourlyIndex + "] in batteryUsageMap, "
-                            + "hourly size is: " + (timestamps.size() - 1));
+                    Log.e(
+                            TAG,
+                            "no ["
+                                    + dailyIndex
+                                    + "]["
+                                    + hourlyIndex
+                                    + "] in batteryUsageMap, "
+                                    + "hourly size is: "
+                                    + (timestamps.size() - 1));
                     return false;
                 }
             }
@@ -1765,11 +1894,19 @@
         return sTestCurrentTimeMillis > 0 ? sTestCurrentTimeMillis : System.currentTimeMillis();
     }
 
-    private static void log(Context context, final String content, final long timestamp,
+    private static void log(
+            Context context,
+            final String content,
+            final long timestamp,
             final BatteryHistEntry entry) {
         if (sDebug) {
-            Log.d(TAG, String.format(entry != null ? "%s %s:\n%s" : "%s %s:%s",
-                    ConvertUtils.utcToLocalTimeForLogging(timestamp), content, entry));
+            Log.d(
+                    TAG,
+                    String.format(
+                            entry != null ? "%s %s:\n%s" : "%s %s:%s",
+                            ConvertUtils.utcToLocalTimeForLogging(timestamp),
+                            content,
+                            entry));
         }
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
index e78d25c..a41e9bd 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtils.java
@@ -15,6 +15,9 @@
  */
 
 package com.android.settings.fuelgauge.batteryusage;
+
+import static android.content.Intent.FLAG_RECEIVER_REPLACE_PENDING;
+
 import static com.android.settings.fuelgauge.batteryusage.ConvertUtils.utcToLocalTimeForLogging;
 
 import android.app.usage.IUsageStatsManager;
@@ -53,6 +56,7 @@
 import java.util.ArrayList;
 import java.util.Calendar;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.Set;
 import java.util.function.Function;
@@ -64,8 +68,9 @@
     private static final String TAG = "DatabaseUtils";
     private static final String SHARED_PREFS_FILE = "battery_usage_shared_prefs";
 
-    /** Clear memory threshold for device booting phase. **/
+    /** 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;
 
@@ -77,28 +82,39 @@
 
     /** An authority name of the battery content provider. */
     public static final String AUTHORITY = "com.android.settings.battery.usage.provider";
+
     /** A table name for app usage events. */
     public static final String APP_USAGE_EVENT_TABLE = "AppUsageEvent";
+
     /** A table name for battery events. */
     public static final String BATTERY_EVENT_TABLE = "BatteryEvent";
+
     /** A table name for battery usage history. */
     public static final String BATTERY_STATE_TABLE = "BatteryState";
+
     /** A table name for battery usage slot. */
     public static final String BATTERY_USAGE_SLOT_TABLE = "BatteryUsageSlot";
+
     /** A path name for last full charge time query. */
     public static final String LAST_FULL_CHARGE_TIMESTAMP_PATH = "lastFullChargeTimestamp";
+
     /** A path name for querying the latest record timestamp in battery state table. */
     public static final String BATTERY_STATE_LATEST_TIMESTAMP_PATH = "batteryStateLatestTimestamp";
+
     /** A path name for app usage latest timestamp query. */
     public static final String APP_USAGE_LATEST_TIMESTAMP_PATH = "appUsageLatestTimestamp";
-    /** Key for query parameter timestamp used in BATTERY_CONTENT_URI **/
+
+    /** Key for query parameter timestamp used in BATTERY_CONTENT_URI */
     public static final String QUERY_KEY_TIMESTAMP = "timestamp";
-    /** Key for query parameter userid used in APP_USAGE_EVENT_URI **/
+
+    /** Key for query parameter userid used in APP_USAGE_EVENT_URI */
     public static final String QUERY_KEY_USERID = "userid";
-    /** Key for query parameter battery event type used in BATTERY_EVENT_URI **/
+
+    /** Key for query parameter battery event type used in BATTERY_EVENT_URI */
     public static final String QUERY_BATTERY_EVENT_TYPE = "batteryEventType";
 
     public static final long INVALID_USER_ID = Integer.MIN_VALUE;
+
     /**
      * The buffer hours to query app usage events that may have begun or ended out of the final
      * desired time frame.
@@ -112,6 +128,7 @@
                     .authority(AUTHORITY)
                     .appendPath(APP_USAGE_EVENT_TABLE)
                     .build();
+
     /** A content URI to access battery events data. */
     public static final Uri BATTERY_EVENT_URI =
             new Uri.Builder()
@@ -119,6 +136,7 @@
                     .authority(AUTHORITY)
                     .appendPath(BATTERY_EVENT_TABLE)
                     .build();
+
     /** A content URI to access battery usage states data. */
     public static final Uri BATTERY_CONTENT_URI =
             new Uri.Builder()
@@ -126,6 +144,7 @@
                     .authority(AUTHORITY)
                     .appendPath(BATTERY_STATE_TABLE)
                     .build();
+
     /** A content URI to access battery usage slots data. */
     public static final Uri BATTERY_USAGE_SLOT_URI =
             new Uri.Builder()
@@ -134,18 +153,14 @@
                     .appendPath(BATTERY_USAGE_SLOT_TABLE)
                     .build();
 
+    /** A list of level record event types to access battery usage data. */
+    public static final List<BatteryEventType> BATTERY_LEVEL_RECORD_EVENTS =
+            List.of(BatteryEventType.FULL_CHARGED, BatteryEventType.EVEN_HOUR);
+
     // For testing only.
-    @VisibleForTesting
-    static Supplier<Cursor> sFakeSupplier;
+    @VisibleForTesting static Supplier<Cursor> sFakeSupplier;
 
-    private DatabaseUtils() {
-    }
-
-    /** Returns true if current user is a work profile user. */
-    public static boolean isWorkProfile(Context context) {
-        final UserManager userManager = context.getSystemService(UserManager.class);
-        return userManager.isManagedProfile();
-    }
+    private DatabaseUtils() {}
 
     /** Returns the latest timestamp current user data in app usage event table. */
     public static long getAppUsageStartTimestampOfUser(
@@ -157,15 +172,17 @@
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(AUTHORITY)
                         .appendPath(APP_USAGE_LATEST_TIMESTAMP_PATH)
-                        .appendQueryParameter(
-                                QUERY_KEY_USERID, Long.toString(userId))
+                        .appendQueryParameter(QUERY_KEY_USERID, Long.toString(userId))
                         .build();
-        final long latestTimestamp = loadLongFromContentProvider(
-                context, appUsageLatestTimestampUri, /*defaultValue=*/ INVALID_TIMESTAMP);
+        final long latestTimestamp =
+                loadLongFromContentProvider(
+                        context, appUsageLatestTimestampUri, /* defaultValue= */ INVALID_TIMESTAMP);
         final String latestTimestampString = utcToLocalTimeForLogging(latestTimestamp);
-        Log.d(TAG, String.format(
-                "getAppUsageStartTimestampOfUser() userId=%d latestTimestamp=%s in %d/ms",
-                userId, latestTimestampString, (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getAppUsageStartTimestampOfUser() userId=%d latestTimestamp=%s in %d/ms",
+                        userId, latestTimestampString, (System.currentTimeMillis() - startTime)));
         // Use (latestTimestamp + 1) here to avoid loading the events of the latestTimestamp
         // repeatedly.
         return Math.max(latestTimestamp + 1, earliestTimestamp);
@@ -184,25 +201,30 @@
         final long queryTimestamp =
                 Math.max(rawStartTimestamp, sixDaysAgoTimestamp) - USAGE_QUERY_BUFFER_HOURS;
         Log.d(TAG, "sixDaysAgoTimestamp: " + utcToLocalTimeForLogging(sixDaysAgoTimestamp));
-        final String queryUserIdString = userIds.stream()
-                .map(userId -> String.valueOf(userId))
-                .collect(Collectors.joining(","));
+        final String queryUserIdString =
+                userIds.stream()
+                        .map(userId -> String.valueOf(userId))
+                        .collect(Collectors.joining(","));
         // Builds the content uri everytime to avoid cache.
         final Uri appUsageEventUri =
                 new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(AUTHORITY)
                         .appendPath(APP_USAGE_EVENT_TABLE)
-                        .appendQueryParameter(
-                                QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
+                        .appendQueryParameter(QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
                         .appendQueryParameter(QUERY_KEY_USERID, queryUserIdString)
                         .build();
 
-        final List<AppUsageEvent> appUsageEventList = loadListFromContentProvider(
-                context, appUsageEventUri, ConvertUtils::convertToAppUsageEvent);
-        Log.d(TAG, String.format("getAppUsageEventForUser userId=%s size=%d in %d/ms",
-                queryUserIdString, appUsageEventList.size(),
-                (System.currentTimeMillis() - startTime)));
+        final List<AppUsageEvent> appUsageEventList =
+                loadListFromContentProvider(
+                        context, appUsageEventUri, ConvertUtils::convertToAppUsageEvent);
+        Log.d(
+                TAG,
+                String.format(
+                        "getAppUsageEventForUser userId=%s size=%d in %d/ms",
+                        queryUserIdString,
+                        appUsageEventList.size(),
+                        (System.currentTimeMillis() - startTime)));
         return appUsageEventList;
     }
 
@@ -216,25 +238,29 @@
         final long sixDaysAgoTimestamp = getTimestampSixDaysAgo(calendar);
         final long queryTimestamp = Math.max(rawStartTimestamp, sixDaysAgoTimestamp);
         Log.d(TAG, "getBatteryEvents for timestamp: " + queryTimestamp);
-        final String queryBatteryEventTypesString = queryBatteryEventTypes.stream()
-                .map(type -> String.valueOf(type.getNumber()))
-                .collect(Collectors.joining(","));
+        final String queryBatteryEventTypesString =
+                queryBatteryEventTypes.stream()
+                        .map(type -> String.valueOf(type.getNumber()))
+                        .collect(Collectors.joining(","));
         // Builds the content uri everytime to avoid cache.
         final Uri batteryEventUri =
                 new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(AUTHORITY)
                         .appendPath(BATTERY_EVENT_TABLE)
-                        .appendQueryParameter(
-                                QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
+                        .appendQueryParameter(QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
                         .appendQueryParameter(
                                 QUERY_BATTERY_EVENT_TYPE, queryBatteryEventTypesString)
                         .build();
 
-        final List<BatteryEvent> batteryEventList = loadListFromContentProvider(
-                context, batteryEventUri, ConvertUtils::convertToBatteryEvent);
-        Log.d(TAG, String.format("getBatteryEvents size=%d in %d/ms", batteryEventList.size(),
-                (System.currentTimeMillis() - startTime)));
+        final List<BatteryEvent> batteryEventList =
+                loadListFromContentProvider(
+                        context, batteryEventUri, ConvertUtils::convertToBatteryEvent);
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatteryEvents size=%d in %d/ms",
+                        batteryEventList.size(), (System.currentTimeMillis() - startTime)));
         return batteryEventList;
     }
 
@@ -242,9 +268,7 @@
      * Returns the battery usage slot data after {@code rawStartTimestamp} in battery event table.
      */
     public static List<BatteryUsageSlot> getBatteryUsageSlots(
-            Context context,
-            final Calendar calendar,
-            final long rawStartTimestamp) {
+            Context context, final Calendar calendar, final long rawStartTimestamp) {
         final long startTime = System.currentTimeMillis();
         final long sixDaysAgoTimestamp = getTimestampSixDaysAgo(calendar);
         final long queryTimestamp = Math.max(rawStartTimestamp, sixDaysAgoTimestamp);
@@ -255,14 +279,17 @@
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(AUTHORITY)
                         .appendPath(BATTERY_USAGE_SLOT_TABLE)
-                        .appendQueryParameter(
-                                QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
+                        .appendQueryParameter(QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
                         .build();
 
-        final List<BatteryUsageSlot> batteryUsageSlotList = loadListFromContentProvider(
-                context, batteryUsageSlotUri, ConvertUtils::convertToBatteryUsageSlot);
-        Log.d(TAG, String.format("getBatteryUsageSlots size=%d in %d/ms",
-                batteryUsageSlotList.size(), (System.currentTimeMillis() - startTime)));
+        final List<BatteryUsageSlot> batteryUsageSlotList =
+                loadListFromContentProvider(
+                        context, batteryUsageSlotUri, ConvertUtils::convertToBatteryUsageSlot);
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatteryUsageSlots size=%d in %d/ms",
+                        batteryUsageSlotList.size(), (System.currentTimeMillis() - startTime)));
         return batteryUsageSlotList;
     }
 
@@ -276,12 +303,15 @@
                         .authority(AUTHORITY)
                         .appendPath(LAST_FULL_CHARGE_TIMESTAMP_PATH)
                         .build();
-        final long lastFullChargeTime = loadLongFromContentProvider(
-                context, lastFullChargeTimeUri, /*defaultValue=*/ INVALID_TIMESTAMP);
+        final long lastFullChargeTime =
+                loadLongFromContentProvider(
+                        context, lastFullChargeTimeUri, /* defaultValue= */ INVALID_TIMESTAMP);
         final String lastFullChargeTimeString = utcToLocalTimeForLogging(lastFullChargeTime);
-        Log.d(TAG, String.format(
-                "getLastFullChargeTime() lastFullChargeTime=%s in %d/ms",
-                lastFullChargeTimeString, (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getLastFullChargeTime() lastFullChargeTime=%s in %d/ms",
+                        lastFullChargeTimeString, (System.currentTimeMillis() - startTime)));
         return lastFullChargeTime;
     }
 
@@ -296,16 +326,21 @@
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(AUTHORITY)
                         .appendPath(BATTERY_STATE_LATEST_TIMESTAMP_PATH)
-                        .appendQueryParameter(
-                                QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
+                        .appendQueryParameter(QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
                         .build();
-        final long batteryStateLatestTimestamp = loadLongFromContentProvider(
-                context, batteryStateLatestTimestampUri, /*defaultValue=*/ INVALID_TIMESTAMP);
+        final long batteryStateLatestTimestamp =
+                loadLongFromContentProvider(
+                        context,
+                        batteryStateLatestTimestampUri,
+                        /* defaultValue= */ INVALID_TIMESTAMP);
         final String batteryStateLatestTimestampString =
                 utcToLocalTimeForLogging(batteryStateLatestTimestamp);
-        Log.d(TAG, String.format(
-                "getBatteryStateLatestTimestamp() batteryStateLatestTimestamp=%s in %d/ms",
-                batteryStateLatestTimestampString, (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "getBatteryStateLatestTimestamp() batteryStateLatestTimestamp=%s in %d/ms",
+                        batteryStateLatestTimestampString,
+                        (System.currentTimeMillis() - startTime)));
         return batteryStateLatestTimestamp;
     }
 
@@ -320,12 +355,12 @@
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(AUTHORITY)
                         .appendPath(BATTERY_STATE_TABLE)
-                        .appendQueryParameter(
-                                QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
+                        .appendQueryParameter(QUERY_KEY_TIMESTAMP, Long.toString(queryTimestamp))
                         .build();
 
-        final List<BatteryHistEntry> batteryHistEntryList = loadListFromContentProvider(
-                context, batteryStateUri, cursor -> new BatteryHistEntry(cursor));
+        final List<BatteryHistEntry> batteryHistEntryList =
+                loadListFromContentProvider(
+                        context, batteryStateUri, cursor -> new BatteryHistEntry(cursor));
         final Map<Long, Map<String, BatteryHistEntry>> resultMap = new ArrayMap();
         for (final BatteryHistEntry entry : batteryHistEntryList) {
             final long timestamp = entry.mTimestamp;
@@ -342,27 +377,37 @@
         if (resultMap == null || resultMap.isEmpty()) {
             Log.d(TAG, "getBatteryHistoryMap() returns empty or null");
         } else {
-            Log.d(TAG, String.format("getBatteryHistoryMap() size=%d in %d/ms",
-                    resultMap.size(), (System.currentTimeMillis() - startTime)));
+            Log.d(
+                    TAG,
+                    String.format(
+                            "getBatteryHistoryMap() size=%d in %d/ms",
+                            resultMap.size(), (System.currentTimeMillis() - startTime)));
         }
         return resultMap;
     }
 
     /**
-     * Returns the battery history map since the latest record no later than the given timestamp.
-     * If there is no record before the given timestamp or the given timestamp is before last full
+     * Returns the battery history map since the latest record no later than the given timestamp. If
+     * there is no record before the given timestamp or the given timestamp is before last full
      * charge time, returns the history map since last full charge time.
      */
     public static Map<Long, Map<String, BatteryHistEntry>>
-            getHistoryMapSinceLatestRecordBeforeQueryTimestamp(Context context, Calendar calendar,
-                    final long queryTimestamp, final long lastFullChargeTime) {
+            getHistoryMapSinceLatestRecordBeforeQueryTimestamp(
+                    Context context,
+                    Calendar calendar,
+                    final long queryTimestamp,
+                    final long lastFullChargeTime) {
         final long sixDaysAgoTimestamp = getTimestampSixDaysAgo(calendar);
         Log.d(TAG, "sixDaysAgoTimestamp: " + utcToLocalTimeForLogging(sixDaysAgoTimestamp));
         final long batteryStateLatestTimestamp =
-                queryTimestamp == 0L ? 0L : getBatteryStateLatestTimestampBeforeQueryTimestamp(
-                        context, queryTimestamp);
-        final long maxTimestamp = Math.max(Math.max(
-                sixDaysAgoTimestamp, lastFullChargeTime), batteryStateLatestTimestamp);
+                queryTimestamp == 0L
+                        ? 0L
+                        : getBatteryStateLatestTimestampBeforeQueryTimestamp(
+                                context, queryTimestamp);
+        final long maxTimestamp =
+                Math.max(
+                        Math.max(sixDaysAgoTimestamp, lastFullChargeTime),
+                        batteryStateLatestTimestamp);
         return getHistoryMapSinceQueryTimestamp(context, maxTimestamp);
     }
 
@@ -376,36 +421,63 @@
 
     /** Clears all data in the battery usage database. */
     public static void clearAll(Context context) {
-        AsyncTask.execute(() -> {
-            try {
-                final BatteryStateDatabase database = BatteryStateDatabase
-                        .getInstance(context.getApplicationContext());
-                database.appUsageEventDao().clearAll();
-                database.batteryEventDao().clearAll();
-                database.batteryStateDao().clearAll();
-                database.batteryUsageSlotDao().clearAll();
-            } catch (RuntimeException e) {
-                Log.e(TAG, "clearAll() failed", e);
-            }
-        });
+        AsyncTask.execute(
+                () -> {
+                    try {
+                        final BatteryStateDatabase database =
+                                BatteryStateDatabase.getInstance(context.getApplicationContext());
+                        database.appUsageEventDao().clearAll();
+                        database.batteryEventDao().clearAll();
+                        database.batteryStateDao().clearAll();
+                        database.batteryUsageSlotDao().clearAll();
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "clearAll() failed", e);
+                    }
+                });
     }
 
     /** Clears all out-of-date data in the battery usage database. */
     public static void clearExpiredDataIfNeeded(Context context) {
-        AsyncTask.execute(() -> {
-            try {
-                final BatteryStateDatabase database = BatteryStateDatabase
-                        .getInstance(context.getApplicationContext());
-                final long earliestTimestamp = Clock.systemUTC().millis()
-                        - Duration.ofDays(DATA_RETENTION_INTERVAL_DAY).toMillis();
-                database.appUsageEventDao().clearAllBefore(earliestTimestamp);
-                database.batteryEventDao().clearAllBefore(earliestTimestamp);
-                database.batteryStateDao().clearAllBefore(earliestTimestamp);
-                database.batteryUsageSlotDao().clearAllBefore(earliestTimestamp);
-            } catch (RuntimeException e) {
-                Log.e(TAG, "clearAllBefore() failed", e);
-            }
-        });
+        AsyncTask.execute(
+                () -> {
+                    try {
+                        final BatteryStateDatabase database =
+                                BatteryStateDatabase.getInstance(context.getApplicationContext());
+                        final long earliestTimestamp =
+                                Clock.systemUTC().millis()
+                                        - Duration.ofDays(DATA_RETENTION_INTERVAL_DAY).toMillis();
+                        database.appUsageEventDao().clearAllBefore(earliestTimestamp);
+                        database.batteryEventDao().clearAllBefore(earliestTimestamp);
+                        database.batteryStateDao().clearAllBefore(earliestTimestamp);
+                        database.batteryUsageSlotDao().clearAllBefore(earliestTimestamp);
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "clearAllBefore() failed", e);
+                    }
+                });
+    }
+
+    /** Clears all data and jobs if current timestamp is out of the range of last recorded job. */
+    public static void clearDataAfterTimeChangedIfNeeded(Context context, Intent intent) {
+        if ((intent.getFlags() & FLAG_RECEIVER_REPLACE_PENDING) != 0) {
+            BatteryUsageLogUtils.writeLog(
+                    context,
+                    Action.TIME_UPDATED,
+                    "Database is not cleared because the time change intent is only"
+                            + " for the existing pending receiver.");
+            return;
+        }
+        AsyncTask.execute(
+                () -> {
+                    try {
+                        clearDataAfterTimeChangedIfNeededInternal(context);
+                    } catch (RuntimeException e) {
+                        Log.e(TAG, "clearDataAfterTimeChangedIfNeeded() failed", e);
+                        BatteryUsageLogUtils.writeLog(
+                                context,
+                                Action.TIME_UPDATED,
+                                "clearDataAfterTimeChangedIfNeeded() failed" + e);
+                    }
+                });
     }
 
     /** Returns the timestamp for 00:00 6 days before the calendar date. */
@@ -422,12 +494,12 @@
 
     /** Returns the context with profile parent identity when current user is work profile. */
     public static Context getParentContext(Context context) {
-        if (isWorkProfile(context)) {
+        if (com.android.settingslib.fuelgauge.BatteryUtils.isWorkProfile(context)) {
             try {
                 return context.createPackageContextAsUser(
-                        /*packageName=*/ context.getPackageName(),
-                        /*flags=*/ 0,
-                        /*user=*/ context.getSystemService(UserManager.class)
+                        /* packageName= */ context.getPackageName(),
+                        /* flags= */ 0,
+                        /* user= */ context.getSystemService(UserManager.class)
                                 .getProfileParent(context.getUser()));
             } catch (PackageManager.NameNotFoundException e) {
                 Log.e(TAG, "context.createPackageContextAsUser() fail:", e);
@@ -444,8 +516,11 @@
         final List<ContentValues> valuesList = new ArrayList<>();
         appUsageEventList.stream()
                 .filter(appUsageEvent -> appUsageEvent.hasUid())
-                .forEach(appUsageEvent -> valuesList.add(
-                        ConvertUtils.convertAppUsageEventToContentValues(appUsageEvent)));
+                .forEach(
+                        appUsageEvent ->
+                                valuesList.add(
+                                        ConvertUtils.convertAppUsageEventToContentValues(
+                                                appUsageEvent)));
         int size = 0;
         final ContentResolver resolver = context.getContentResolver();
         // Inserts all ContentValues into battery provider.
@@ -454,14 +529,17 @@
             valuesList.toArray(valuesArray);
             try {
                 size = resolver.bulkInsert(APP_USAGE_EVENT_URI, valuesArray);
-                resolver.notifyChange(APP_USAGE_EVENT_URI, /*observer=*/ null);
+                resolver.notifyChange(APP_USAGE_EVENT_URI, /* observer= */ null);
                 Log.d(TAG, "insert() app usage events data into database");
             } catch (Exception e) {
                 Log.e(TAG, "bulkInsert() app usage data into database error:", e);
             }
         }
-        Log.d(TAG, String.format("sendAppUsageEventData() size=%d in %d/ms",
-                size, (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "sendAppUsageEventData() size=%d in %d/ms",
+                        size, (System.currentTimeMillis() - startTime)));
         clearMemory();
         return valuesList;
     }
@@ -477,8 +555,11 @@
         } catch (Exception e) {
             Log.e(TAG, "insert() battery event data into database error:", e);
         }
-        Log.d(TAG, String.format("sendBatteryEventData() in %d/ms",
-                (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "sendBatteryEventData() in %d/ms",
+                        (System.currentTimeMillis() - startTime)));
         clearMemory();
         return contentValues;
     }
@@ -489,8 +570,11 @@
         // Creates the ContentValues list to insert them into provider.
         final List<ContentValues> valuesList = new ArrayList<>();
         batteryEventList.stream()
-                .forEach(batteryEvent -> valuesList.add(
-                        ConvertUtils.convertBatteryEventToContentValues(batteryEvent)));
+                .forEach(
+                        batteryEvent ->
+                                valuesList.add(
+                                        ConvertUtils.convertBatteryEventToContentValues(
+                                                batteryEvent)));
         int size = 0;
         final ContentResolver resolver = context.getContentResolver();
         // Inserts all ContentValues into battery provider.
@@ -499,14 +583,17 @@
             valuesList.toArray(valuesArray);
             try {
                 size = resolver.bulkInsert(BATTERY_EVENT_URI, valuesArray);
-                resolver.notifyChange(BATTERY_EVENT_URI, /*observer=*/ null);
+                resolver.notifyChange(BATTERY_EVENT_URI, /* observer= */ null);
                 Log.d(TAG, "insert() battery event data into database");
             } catch (Exception e) {
                 Log.e(TAG, "bulkInsert() battery event data into database error:", e);
             }
         }
-        Log.d(TAG, String.format("sendBatteryEventData() size=%d in %d/ms",
-                size, (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "sendBatteryEventData() size=%d in %d/ms",
+                        size, (System.currentTimeMillis() - startTime)));
         clearMemory();
         return valuesList;
     }
@@ -517,8 +604,11 @@
         // Creates the ContentValues list to insert them into provider.
         final List<ContentValues> valuesList = new ArrayList<>();
         batteryUsageSlotList.stream()
-                .forEach(batteryUsageSlot -> valuesList.add(
-                        ConvertUtils.convertBatteryUsageSlotToContentValues(batteryUsageSlot)));
+                .forEach(
+                        batteryUsageSlot ->
+                                valuesList.add(
+                                        ConvertUtils.convertBatteryUsageSlotToContentValues(
+                                                batteryUsageSlot)));
         int size = 0;
         final ContentResolver resolver = context.getContentResolver();
         // Inserts all ContentValues into battery provider.
@@ -527,14 +617,17 @@
             valuesList.toArray(valuesArray);
             try {
                 size = resolver.bulkInsert(BATTERY_USAGE_SLOT_URI, valuesArray);
-                resolver.notifyChange(BATTERY_USAGE_SLOT_URI, /*observer=*/ null);
+                resolver.notifyChange(BATTERY_USAGE_SLOT_URI, /* observer= */ null);
                 Log.d(TAG, "insert() battery usage slots data into database");
             } catch (Exception e) {
                 Log.e(TAG, "bulkInsert() battery usage slots data into database error:", e);
             }
         }
-        Log.d(TAG, String.format("sendBatteryUsageSlotData() size=%d in %d/ms",
-                size, (System.currentTimeMillis() - startTime)));
+        Log.d(
+                TAG,
+                String.format(
+                        "sendBatteryUsageSlotData() size=%d in %d/ms",
+                        size, (System.currentTimeMillis() - startTime)));
         clearMemory();
         return valuesList;
     }
@@ -553,41 +646,51 @@
             return null;
         }
         final int batteryLevel = BatteryStatus.getBatteryLevel(intent);
-        final int batteryStatus = intent.getIntExtra(
-                BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN);
-        final int batteryHealth = intent.getIntExtra(
-                BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN);
+        final int batteryStatus =
+                intent.getIntExtra(
+                        BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_UNKNOWN);
+        final int batteryHealth =
+                intent.getIntExtra(
+                        BatteryManager.EXTRA_HEALTH, BatteryManager.BATTERY_HEALTH_UNKNOWN);
         // We should use the same timestamp for each data snapshot.
         final long snapshotBootTimestamp = SystemClock.elapsedRealtime();
 
         // Creates the ContentValues list to insert them into provider.
         final List<ContentValues> valuesList = new ArrayList<>();
         if (batteryEntryList != null) {
-            batteryEntryList.stream()
-                    .filter(entry -> {
-                        final long foregroundMs = entry.getTimeInForegroundMs();
-                        final long backgroundMs = entry.getTimeInBackgroundMs();
-                        if (entry.getConsumedPower() == 0
-                                && (foregroundMs != 0
-                                || backgroundMs != 0)) {
-                            Log.w(TAG, String.format(
-                                    "no consumed power but has running time for %s time=%d|%d",
-                                    entry.getLabel(), foregroundMs, backgroundMs));
-                        }
-                        return entry.getConsumedPower() != 0
-                                || foregroundMs != 0
-                                || backgroundMs != 0;
-                    })
-                    .forEach(entry -> valuesList.add(
-                            ConvertUtils.convertBatteryEntryToContentValues(
-                                    entry,
-                                    batteryUsageStats,
-                                    batteryLevel,
-                                    batteryStatus,
-                                    batteryHealth,
-                                    snapshotBootTimestamp,
-                                    snapshotTimestamp,
-                                    isFullChargeStart)));
+            for (BatteryEntry entry : batteryEntryList) {
+                final long foregroundMs = entry.getTimeInForegroundMs();
+                final long foregroundServiceMs = entry.getTimeInForegroundServiceMs();
+                final long backgroundMs = entry.getTimeInBackgroundMs();
+                if (entry.getConsumedPower() == 0
+                        && (foregroundMs != 0 || foregroundServiceMs != 0 || backgroundMs != 0)) {
+                    Log.w(
+                            TAG,
+                            String.format(
+                                    "no consumed power but has running time for %s"
+                                            + " time=%d|%d|%d",
+                                    entry.getLabel(),
+                                    foregroundMs,
+                                    foregroundServiceMs,
+                                    backgroundMs));
+                }
+                if (entry.getConsumedPower() == 0
+                        && foregroundMs == 0
+                        && foregroundServiceMs == 0
+                        && backgroundMs == 0) {
+                    continue;
+                }
+                valuesList.add(
+                        ConvertUtils.convertBatteryEntryToContentValues(
+                                entry,
+                                batteryUsageStats,
+                                batteryLevel,
+                                batteryStatus,
+                                batteryHealth,
+                                snapshotBootTimestamp,
+                                snapshotTimestamp,
+                                isFullChargeStart));
+            }
         }
 
         int size = 1;
@@ -599,8 +702,10 @@
             valuesList.toArray(valuesArray);
             try {
                 size = resolver.bulkInsert(BATTERY_CONTENT_URI, valuesArray);
-                Log.d(TAG, "insert() battery states data into database with isFullChargeStart:"
-                        + isFullChargeStart);
+                Log.d(
+                        TAG,
+                        "insert() battery states data into database with isFullChargeStart:"
+                                + isFullChargeStart);
             } catch (Exception e) {
                 Log.e(TAG, "bulkInsert() data into database error:", e);
             }
@@ -608,8 +713,8 @@
             // Inserts one fake data into battery provider.
             final ContentValues contentValues =
                     ConvertUtils.convertBatteryEntryToContentValues(
-                            /*entry=*/ null,
-                            /*batteryUsageStats=*/ null,
+                            /* entry= */ null,
+                            /* batteryUsageStats= */ null,
                             batteryLevel,
                             batteryStatus,
                             batteryHealth,
@@ -618,21 +723,23 @@
                             isFullChargeStart);
             try {
                 resolver.insert(BATTERY_CONTENT_URI, contentValues);
-                Log.d(TAG, "insert() data into database with isFullChargeStart:"
-                        + isFullChargeStart);
+                Log.d(
+                        TAG,
+                        "insert() data into database with isFullChargeStart:" + isFullChargeStart);
 
             } catch (Exception e) {
                 Log.e(TAG, "insert() data into database error:", e);
             }
             valuesList.add(contentValues);
         }
-        resolver.notifyChange(BATTERY_CONTENT_URI, /*observer=*/ null);
+        resolver.notifyChange(BATTERY_CONTENT_URI, /* observer= */ null);
         BatteryUsageLogUtils.writeLog(
-                context,
-                Action.INSERT_USAGE_DATA,
-                "size=" + size + " " + errorMessage);
-        Log.d(TAG, String.format("sendBatteryEntryData() size=%d in %d/ms",
-                size, (System.currentTimeMillis() - startTime)));
+                context, Action.INSERT_USAGE_DATA, "size=" + size + " " + errorMessage);
+        Log.d(
+                TAG,
+                String.format(
+                        "sendBatteryEntryData() size=%d in %d/ms",
+                        size, (System.currentTimeMillis() - startTime)));
         if (isFullChargeStart) {
             recordDateTime(context, KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
         }
@@ -642,25 +749,31 @@
 
     /** Dump all required data into {@link PrintWriter}. */
     public static void dump(Context context, PrintWriter writer) {
-        writeString(context, writer, "BatteryLevelChanged",
-                Intent.ACTION_BATTERY_LEVEL_CHANGED);
-        writeString(context, writer, "BatteryPlugging",
+        writeString(context, writer, "BatteryLevelChanged", Intent.ACTION_BATTERY_LEVEL_CHANGED);
+        writeString(
+                context,
+                writer,
+                "BatteryPlugging",
                 BatteryUsageBroadcastReceiver.ACTION_BATTERY_PLUGGING);
-        writeString(context, writer, "BatteryUnplugging",
+        writeString(
+                context,
+                writer,
+                "BatteryUnplugging",
                 BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
-        writeString(context, writer, "ClearBatteryCacheData",
+        writeString(
+                context,
+                writer,
+                "ClearBatteryCacheData",
                 BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
-        writeString(context, writer, "LastLoadFullChargeTime",
-                KEY_LAST_LOAD_FULL_CHARGE_TIME);
-        writeString(context, writer, "LastUploadFullChargeTime",
-                KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
-        writeString(context, writer, "DismissedPowerAnomalyKeys",
-                KEY_DISMISSED_POWER_ANOMALY_KEYS);
+        writeString(context, writer, "LastLoadFullChargeTime", KEY_LAST_LOAD_FULL_CHARGE_TIME);
+        writeString(context, writer, "LastUploadFullChargeTime", KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
+        writeStringSet(
+                context, writer, "DismissedPowerAnomalyKeys", KEY_DISMISSED_POWER_ANOMALY_KEYS);
     }
 
     static SharedPreferences getSharedPreferences(Context context) {
-        return context.getApplicationContext().getSharedPreferences(
-                SHARED_PREFS_FILE, Context.MODE_PRIVATE);
+        return context.getApplicationContext()
+                .getSharedPreferences(SHARED_PREFS_FILE, Context.MODE_PRIVATE);
     }
 
     static void removeUsageSource(Context context) {
@@ -678,8 +791,8 @@
     static int getUsageSource(Context context, IUsageStatsManager usageStatsManager) {
         final SharedPreferences sharedPreferences = getSharedPreferences(context);
         if (sharedPreferences != null && sharedPreferences.contains(KEY_LAST_USAGE_SOURCE)) {
-            return sharedPreferences
-                    .getInt(KEY_LAST_USAGE_SOURCE, ConvertUtils.DEFAULT_USAGE_SOURCE);
+            return sharedPreferences.getInt(
+                    KEY_LAST_USAGE_SOURCE, ConvertUtils.DEFAULT_USAGE_SOURCE);
         }
         int usageSource = ConvertUtils.DEFAULT_USAGE_SOURCE;
 
@@ -714,7 +827,8 @@
         if (sharedPreferences != null) {
             final Set<String> dismissedPowerAnomalyKeys = getDismissedPowerAnomalyKeys(context);
             dismissedPowerAnomalyKeys.add(dismissedPowerAnomalyKey);
-            sharedPreferences.edit()
+            sharedPreferences
+                    .edit()
                     .putStringSet(KEY_DISMISSED_POWER_ANOMALY_KEYS, dismissedPowerAnomalyKeys)
                     .apply();
         }
@@ -736,22 +850,66 @@
         if (context == null) {
             return defaultValue;
         }
-        try (Cursor cursor = sFakeSupplier != null ? sFakeSupplier.get() :
-                context.getContentResolver().query(uri, null, null, null)) {
+        try (Cursor cursor =
+                sFakeSupplier != null
+                        ? sFakeSupplier.get()
+                        : context.getContentResolver().query(uri, null, null, null)) {
             return (cursor == null || cursor.getCount() == 0)
-                    ? defaultValue : cursorReader.apply(cursor);
+                    ? defaultValue
+                    : cursorReader.apply(cursor);
+        }
+    }
+
+    private static void clearDataAfterTimeChangedIfNeededInternal(Context context) {
+        final List<BatteryEvent> batteryLevelRecordEvents =
+                DatabaseUtils.getBatteryEvents(
+                        context,
+                        Calendar.getInstance(),
+                        getLastFullChargeTime(context),
+                        BATTERY_LEVEL_RECORD_EVENTS);
+        final long lastRecordTimestamp =
+                batteryLevelRecordEvents.isEmpty()
+                        ? INVALID_TIMESTAMP
+                        : batteryLevelRecordEvents.get(0).getTimestamp();
+        final long nextRecordTimestamp =
+                TimestampUtils.getNextEvenHourTimestamp(lastRecordTimestamp);
+        final long currentTime = System.currentTimeMillis();
+        final boolean isOutOfTimeRange =
+                lastRecordTimestamp == INVALID_TIMESTAMP
+                        || currentTime < lastRecordTimestamp
+                        || currentTime > nextRecordTimestamp;
+        final String logInfo =
+                String.format(
+                        Locale.ENGLISH,
+                        "clear database = %b, current time = %d, last record time = %d",
+                        isOutOfTimeRange,
+                        currentTime,
+                        lastRecordTimestamp);
+        Log.d(TAG, logInfo);
+        BatteryUsageLogUtils.writeLog(context, Action.TIME_UPDATED, logInfo);
+        if (isOutOfTimeRange) {
+            DatabaseUtils.clearAll(context);
+            PeriodicJobManager.getInstance(context)
+                    .refreshJob(/* fromBoot= */ false);
         }
     }
 
     private static long loadLongFromContentProvider(
             Context context, Uri uri, final long defaultValue) {
-        return loadFromContentProvider(context, uri, defaultValue,
-                cursor -> cursor.moveToFirst() ? cursor.getLong(/*columnIndex=*/ 0) : defaultValue);
+        return loadFromContentProvider(
+                context,
+                uri,
+                defaultValue,
+                cursor ->
+                        cursor.moveToFirst() ? cursor.getLong(/* columnIndex= */ 0) : defaultValue);
     }
 
     private static <E> List<E> loadListFromContentProvider(
             Context context, Uri uri, Function<Cursor, E> converter) {
-        return loadFromContentProvider(context, uri, new ArrayList<>(),
+        return loadFromContentProvider(
+                context,
+                uri,
+                new ArrayList<>(),
                 cursor -> {
                     final List<E> list = new ArrayList<>();
                     while (cursor.moveToNext()) {
@@ -764,9 +922,22 @@
     private static void writeString(
             Context context, PrintWriter writer, String prefix, String key) {
         final SharedPreferences sharedPreferences = getSharedPreferences(context);
-        if (sharedPreferences != null) {
-            final String content = sharedPreferences.getString(key, "");
-            writer.println(String.format("\t\t%s: %s", prefix, content));
+        if (sharedPreferences == null) {
+            return;
+        }
+        final String content = sharedPreferences.getString(key, "");
+        writer.println(String.format("\t\t%s: %s", prefix, content));
+    }
+
+    private static void writeStringSet(
+            Context context, PrintWriter writer, String prefix, String key) {
+        final SharedPreferences sharedPreferences = getSharedPreferences(context);
+        if (sharedPreferences == null) {
+            return;
+        }
+        final Set<String> results = sharedPreferences.getStringSet(key, new ArraySet<>());
+        if (results != null) {
+            writer.println(String.format("\t\t%s: %s", prefix, results.toString()));
         }
     }
 
@@ -775,11 +946,13 @@
             return;
         }
         final Handler mainHandler = new Handler(Looper.getMainLooper());
-        mainHandler.postDelayed(() -> {
-            System.gc();
-            System.runFinalization();
-            System.gc();
-            Log.w(TAG, "invoke clearMemory()");
-        }, CLEAR_MEMORY_DELAYED_MS);
+        mainHandler.postDelayed(
+                () -> {
+                    System.gc();
+                    System.runFinalization();
+                    System.gc();
+                    Log.w(TAG, "invoke clearMemory()");
+                },
+                CLEAR_MEMORY_DELAYED_MS);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
index 43cd69d..b2c72bf 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManager.java
@@ -41,11 +41,9 @@
     private final Context mContext;
     private final AlarmManager mAlarmManager;
 
-    @VisibleForTesting
-    static final int DATA_FETCH_INTERVAL_MINUTE = 60;
+    @VisibleForTesting static final int DATA_FETCH_INTERVAL_MINUTE = 60;
 
-    @VisibleForTesting
-    static long sBroadcastDelayFromBoot = Duration.ofMinutes(40).toMillis();
+    @VisibleForTesting static long sBroadcastDelayFromBoot = Duration.ofMinutes(40).toMillis();
 
     @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
     void reset() {
@@ -68,7 +66,9 @@
     /** Schedules the next alarm job if it is available. */
     public void refreshJob(final boolean fromBoot) {
         if (mAlarmManager == null) {
-            BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB,
+            BatteryUsageLogUtils.writeLog(
+                    mContext,
+                    Action.SCHEDULE_JOB,
                     "cannot schedule next alarm job due to AlarmManager is null");
             Log.e(TAG, "cannot schedule next alarm job");
             return;
@@ -82,7 +82,9 @@
                 AlarmManager.RTC_WAKEUP, triggerAtMillis, pendingIntent);
 
         final String utcToLocalTime = ConvertUtils.utcToLocalTimeForLogging(triggerAtMillis);
-        BatteryUsageLogUtils.writeLog(mContext, Action.SCHEDULE_JOB,
+        BatteryUsageLogUtils.writeLog(
+                mContext,
+                Action.SCHEDULE_JOB,
                 String.format("triggerTime=%s, fromBoot=%b", utcToLocalTime, fromBoot));
         Log.d(TAG, "schedule next alarm job at " + utcToLocalTime);
     }
@@ -99,8 +101,8 @@
     static long getTriggerAtMillis(Context context, Clock clock, final boolean fromBoot) {
         long currentTimeMillis = clock.millis();
         final boolean delayHourlyJobWhenBooting =
-                FeatureFactory.getFactory(context)
-                        .getPowerUsageFeatureProvider(context)
+                FeatureFactory.getFeatureFactory()
+                        .getPowerUsageFeatureProvider()
                         .delayHourlyJobWhenBooting();
         // Rounds to the previous nearest time slot and shifts to the next one.
         long timeSlotUnit = Duration.ofMinutes(DATA_FETCH_INTERVAL_MINUTE).toMillis();
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
index dccca43..5c73adb 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiver.java
@@ -24,6 +24,7 @@
 
 import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
 import com.android.settings.fuelgauge.batteryusage.bugreport.BatteryUsageLogUtils;
+import com.android.settingslib.fuelgauge.BatteryUtils;
 
 /** Receives the periodic alarm {@link PendingIntent} callback. */
 public final class PeriodicJobReceiver extends BroadcastReceiver {
@@ -36,7 +37,9 @@
         try {
             loadDataAndRefreshJob(context, intent);
         } catch (Exception e) {
-            BatteryUsageLogUtils.writeLog(context, Action.SCHEDULE_JOB,
+            BatteryUsageLogUtils.writeLog(
+                    context,
+                    Action.SCHEDULE_JOB,
                     String.format("loadDataAndRefreshJob() failed: %s", e));
         }
     }
@@ -47,16 +50,16 @@
             Log.w(TAG, "receive unexpected action=" + action);
             return;
         }
-        if (DatabaseUtils.isWorkProfile(context)) {
-            BatteryUsageLogUtils.writeLog(context, Action.SCHEDULE_JOB,
-                    "do not refresh job for work profile");
+        if (BatteryUtils.isWorkProfile(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);
             return;
         }
         BatteryUsageLogUtils.writeLog(context, Action.EXECUTE_JOB, "");
-        BatteryUsageDataLoader.enqueueWork(context, /*isFullChargeStart=*/ false);
+        BatteryUsageDataLoader.enqueueWork(context, /* isFullChargeStart= */ false);
         Log.d(TAG, "refresh periodic job from action=" + action);
-        PeriodicJobManager.getInstance(context).refreshJob(/*fromBoot=*/ false);
+        PeriodicJobManager.getInstance(context).refreshJob(/* fromBoot= */ false);
         DatabaseUtils.clearExpiredDataIfNeeded(context);
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java b/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java
index 56ada8e..fca618b 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreference.java
@@ -30,11 +30,11 @@
 import com.android.settingslib.widget.AppPreference;
 
 /**
- * Custom preference for displaying battery usage info as a bar and an icon on
- * the left for the subsystem/app type.
+ * Custom preference for displaying battery usage info as a bar and an icon on the left for the
+ * subsystem/app type.
  *
- * The battery usage info could be usage percentage or usage time. The preference
- * won't show any icon if it is null.
+ * <p>The battery usage info could be usage percentage or usage time. The preference won't show any
+ * icon if it is null.
  */
 public class PowerGaugePreference extends AppPreference {
 
@@ -49,8 +49,8 @@
     private CharSequence mProgress;
     private boolean mShowAnomalyIcon;
 
-    public PowerGaugePreference(Context context, Drawable icon, CharSequence contentDescription,
-            BatteryEntry info) {
+    public PowerGaugePreference(
+            Context context, Drawable icon, CharSequence contentDescription, BatteryEntry info) {
         this(context, null, icon, contentDescription, info);
     }
 
@@ -62,8 +62,12 @@
         this(context, attrs, null, null, null);
     }
 
-    private PowerGaugePreference(Context context, AttributeSet attrs, Drawable icon,
-            CharSequence contentDescription, BatteryEntry info) {
+    private PowerGaugePreference(
+            Context context,
+            AttributeSet attrs,
+            Drawable icon,
+            CharSequence contentDescription,
+            BatteryEntry info) {
         super(context, attrs);
         if (icon != null) {
             setIcon(icon);
@@ -119,15 +123,19 @@
         super.onBindViewHolder(view);
 
         final boolean isNightMode = Utils.isNightMode(getContext());
-        final float alpha = isSelectable() ? SELECTABLE_ALPHA
-                : (isNightMode ? UNSELECTABLE_ALPHA_DARK_MODE : UNSELECTABLE_ALPHA_LIGHT_MODE);
+        final float alpha =
+                isSelectable()
+                        ? SELECTABLE_ALPHA
+                        : (isNightMode
+                                ? UNSELECTABLE_ALPHA_DARK_MODE
+                                : UNSELECTABLE_ALPHA_LIGHT_MODE);
         setViewAlpha(view.itemView, alpha);
 
         final TextView subtitle = (TextView) view.findViewById(R.id.widget_summary);
         subtitle.setText(mProgress);
         if (mShowAnomalyIcon) {
-            subtitle.setCompoundDrawablesRelativeWithIntrinsicBounds(R.drawable.ic_warning_24dp, 0,
-                    0, 0);
+            subtitle.setCompoundDrawablesRelativeWithIntrinsicBounds(
+                    R.drawable.ic_warning_24dp, 0, 0, 0);
         } else {
             subtitle.setCompoundDrawablesRelativeWithIntrinsicBounds(0, 0, 0, 0);
         }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
index fb92a76..1482117 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvanced.java
@@ -61,8 +61,8 @@
     private static final String KEY_REFRESH_TYPE = "refresh_type";
     private static final String KEY_BATTERY_CHART = "battery_chart";
 
-    @VisibleForTesting
-    BatteryHistoryPreference mHistPref;
+    @VisibleForTesting BatteryHistoryPreference mHistPref;
+
     @VisibleForTesting
     final BatteryLevelDataLoaderCallbacks mBatteryLevelDataLoaderCallbacks =
             new BatteryLevelDataLoaderCallbacks();
@@ -79,23 +79,16 @@
                 public void onChange(boolean selfChange) {
                     Log.d(TAG, "onBatteryContentChange: " + selfChange);
                     mIsChartDataLoaded = false;
-                    restartBatteryStatsLoader(
-                            BatteryBroadcastReceiver.BatteryUpdateType.MANUAL);
+                    restartBatteryStatsLoader(BatteryBroadcastReceiver.BatteryUpdateType.MANUAL);
                 }
             };
 
-    @VisibleForTesting
-    BatteryTipsController mBatteryTipsController;
-    @VisibleForTesting
-    BatteryChartPreferenceController mBatteryChartPreferenceController;
-    @VisibleForTesting
-    ScreenOnTimeController mScreenOnTimeController;
-    @VisibleForTesting
-    BatteryUsageBreakdownController mBatteryUsageBreakdownController;
-    @VisibleForTesting
-    Optional<BatteryLevelData> mBatteryLevelData;
-    @VisibleForTesting
-    Optional<AnomalyEventWrapper> mHighlightEventWrapper;
+    @VisibleForTesting BatteryTipsController mBatteryTipsController;
+    @VisibleForTesting BatteryChartPreferenceController mBatteryChartPreferenceController;
+    @VisibleForTesting ScreenOnTimeController mScreenOnTimeController;
+    @VisibleForTesting BatteryUsageBreakdownController mBatteryUsageBreakdownController;
+    @VisibleForTesting Optional<BatteryLevelData> mBatteryLevelData;
+    @VisibleForTesting Optional<AnomalyEventWrapper> mHighlightEventWrapper;
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -146,8 +139,9 @@
         mResumeTimestamp = System.currentTimeMillis();
         final Uri uri = DatabaseUtils.BATTERY_CONTENT_URI;
         if (uri != null) {
-            getContext().getContentResolver().registerContentObserver(
-                    uri, /*notifyForDescendants*/ true, mBatteryObserver);
+            getContext()
+                    .getContentResolver()
+                    .registerContentObserver(uri, /*notifyForDescendants*/ true, mBatteryObserver);
         }
     }
 
@@ -190,7 +184,9 @@
             mBatteryLevelData = null;
             mBatteryUsageMap = null;
             mHighlightEventWrapper = null;
-            restartLoader(LoaderIndex.BATTERY_LEVEL_DATA_LOADER, bundle,
+            restartLoader(
+                    LoaderIndex.BATTERY_LEVEL_DATA_LOADER,
+                    bundle,
                     mBatteryLevelDataLoaderCallbacks);
         }
     }
@@ -202,8 +198,11 @@
         mBatteryLevelData = Optional.ofNullable(batteryLevelData);
         if (mBatteryChartPreferenceController != null) {
             mBatteryChartPreferenceController.onBatteryLevelDataUpdate(batteryLevelData);
-            Log.d(TAG, String.format("Battery chart shows in %d millis",
-                    System.currentTimeMillis() - mResumeTimestamp));
+            Log.d(
+                    TAG,
+                    String.format(
+                            "Battery chart shows in %d millis",
+                            System.currentTimeMillis() - mResumeTimestamp));
         }
     }
 
@@ -211,15 +210,17 @@
         if (!isResumed() || mBatteryLevelData == null) {
             return;
         }
-        mBatteryUsageMap = DataProcessor.generateBatteryUsageMap(
-                getContext(), batteryDiffDataMap, mBatteryLevelData.orElse(null));
+        mBatteryUsageMap =
+                DataProcessor.generateBatteryUsageMap(
+                        getContext(), batteryDiffDataMap, mBatteryLevelData.orElse(null));
         Log.d(TAG, "onBatteryDiffDataMapUpdate: " + mBatteryUsageMap);
         DataProcessor.loadLabelAndIcon(mBatteryUsageMap);
         onSelectedSlotDataUpdated();
         detectAnomaly();
         logScreenUsageTime();
         if (mBatteryChartPreferenceController != null
-                && mBatteryLevelData.isEmpty() && isBatteryUsageMapNullOrEmpty()) {
+                && mBatteryLevelData.isEmpty()
+                && isBatteryUsageMapNullOrEmpty()) {
             // No available battery usage and battery level data.
             mBatteryChartPreferenceController.showEmptyChart();
         }
@@ -236,31 +237,37 @@
         final int hourlyIndex = mBatteryChartPreferenceController.getHourlyChartIndex();
         final String slotInformation = mBatteryChartPreferenceController.getSlotInformation();
         final BatteryDiffData slotUsageData = mBatteryUsageMap.get(dailyIndex).get(hourlyIndex);
-        if (slotUsageData != null) {
-            mScreenOnTimeController.handleSceenOnTimeUpdated(
-                    slotUsageData.getScreenOnTime(), slotInformation);
-        }
+        mScreenOnTimeController.handleSceenOnTimeUpdated(
+                slotUsageData != null ? slotUsageData.getScreenOnTime() : 0L, slotInformation);
         // Hide card tips if the related highlight slot was clicked.
         if (isAppsAnomalyEventFocused()) {
             mBatteryTipsController.acceptTipsCard();
         }
         mBatteryUsageBreakdownController.handleBatteryUsageUpdated(
-                slotUsageData, slotInformation, isBatteryUsageMapNullOrEmpty(),
-                isAppsAnomalyEventFocused(), mHighlightEventWrapper);
-        Log.d(TAG, String.format("Battery usage list shows in %d millis",
-                System.currentTimeMillis() - mResumeTimestamp));
+                slotUsageData,
+                slotInformation,
+                isBatteryUsageMapNullOrEmpty(),
+                isAppsAnomalyEventFocused(),
+                mHighlightEventWrapper);
+        Log.d(
+                TAG,
+                String.format(
+                        "Battery usage list shows in %d millis",
+                        System.currentTimeMillis() - mResumeTimestamp));
     }
 
     private void detectAnomaly() {
-        mExecutor.execute(() -> {
-            final PowerUsageFeatureProvider powerUsageFeatureProvider =
-                    FeatureFactory.getFactory(getContext())
-                            .getPowerUsageFeatureProvider(getContext());
-            final PowerAnomalyEventList anomalyEventList =
-                    powerUsageFeatureProvider.detectSettingsAnomaly(
-                            getContext(), /* displayDrain= */ 0);
-            mHandler.post(() -> onAnomalyDetected(anomalyEventList));
-        });
+        mExecutor.execute(
+                () -> {
+                    final PowerUsageFeatureProvider powerUsageFeatureProvider =
+                            FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
+                    final PowerAnomalyEventList anomalyEventList =
+                            powerUsageFeatureProvider.detectSettingsAnomaly(
+                                    getContext(),
+                                    /* displayDrain= */ 0,
+                                    DetectRequestSourceType.TYPE_USAGE_UI);
+                    mHandler.post(() -> onAnomalyDetected(anomalyEventList));
+                });
     }
 
     private void onAnomalyDetected(PowerAnomalyEventList anomalyEventList) {
@@ -280,9 +287,12 @@
         // If the slot is already highlighted, the tips card should be the corresponding app
         // or settings anomaly event.
         final PowerAnomalyEvent tipsCardEvent =
-                getAnomalyEvent(anomalyEventList,
-                        event -> !dismissedPowerAnomalyKeys.contains(event.getDismissRecordKey())
-                                && (event.equals(highlightEvent) || !event.hasWarningItemInfo()));
+                getAnomalyEvent(
+                        anomalyEventList,
+                        event ->
+                                !dismissedPowerAnomalyKeys.contains(event.getDismissRecordKey())
+                                        && (event.equals(highlightEvent)
+                                                || !event.hasWarningItemInfo()));
         onDisplayAnomalyEventUpdated(tipsCardEvent, highlightEvent);
     }
 
@@ -299,8 +309,10 @@
         // Update battery tips card preference & behaviour
         mBatteryTipsController.setOnAnomalyConfirmListener(null);
         mBatteryTipsController.setOnAnomalyRejectListener(null);
-        final AnomalyEventWrapper tipsCardEventWrapper = (tipsCardEvent == null) ? null :
-                new AnomalyEventWrapper(getContext(), tipsCardEvent);
+        final AnomalyEventWrapper tipsCardEventWrapper =
+                (tipsCardEvent == null)
+                        ? null
+                        : new AnomalyEventWrapper(getContext(), tipsCardEvent);
         if (tipsCardEventWrapper != null) {
             tipsCardEventWrapper.setRelatedBatteryDiffEntry(
                     findRelatedBatteryDiffEntry(tipsCardEventWrapper));
@@ -309,23 +321,30 @@
                 tipsCardEventWrapper, isSameAnomalyEvent);
 
         // Update highlight slot effect in battery chart view
-        Pair<Integer, Integer> highlightSlotIndexPair = Pair.create(
-                BatteryChartViewModel.SELECTED_INDEX_INVALID,
-                BatteryChartViewModel.SELECTED_INDEX_INVALID);
-        mHighlightEventWrapper = Optional.ofNullable(isSameAnomalyEvent ? tipsCardEventWrapper :
-                ((highlightEvent != null)
-                        ? new AnomalyEventWrapper(getContext(), highlightEvent) : null));
-        if (mBatteryLevelData != null && mBatteryLevelData.isPresent()
+        Pair<Integer, Integer> highlightSlotIndexPair =
+                Pair.create(
+                        BatteryChartViewModel.SELECTED_INDEX_INVALID,
+                        BatteryChartViewModel.SELECTED_INDEX_INVALID);
+        mHighlightEventWrapper =
+                Optional.ofNullable(
+                        isSameAnomalyEvent
+                                ? tipsCardEventWrapper
+                                : ((highlightEvent != null)
+                                        ? new AnomalyEventWrapper(getContext(), highlightEvent)
+                                        : null));
+        if (mBatteryLevelData != null
+                && mBatteryLevelData.isPresent()
                 && mHighlightEventWrapper.isPresent()
                 && mHighlightEventWrapper.get().hasHighlightSlotPair(mBatteryLevelData.get())) {
-            highlightSlotIndexPair = mHighlightEventWrapper.get()
-                    .getHighlightSlotPair(mBatteryLevelData.get());
+            highlightSlotIndexPair =
+                    mHighlightEventWrapper.get().getHighlightSlotPair(mBatteryLevelData.get());
             if (isSameAnomalyEvent) {
                 // For main button, focus on highlight slot when clicked
-                mBatteryTipsController.setOnAnomalyConfirmListener(() -> {
-                    mBatteryChartPreferenceController.selectHighlightSlotIndex();
-                    mBatteryTipsController.acceptTipsCard();
-                });
+                mBatteryTipsController.setOnAnomalyConfirmListener(
+                        () -> {
+                            mBatteryChartPreferenceController.selectHighlightSlotIndex();
+                            mBatteryTipsController.acceptTipsCard();
+                        });
             }
         }
         mBatteryChartPreferenceController.onHighlightSlotIndexUpdate(
@@ -335,7 +354,8 @@
     @VisibleForTesting
     BatteryDiffEntry findRelatedBatteryDiffEntry(AnomalyEventWrapper eventWrapper) {
         if (eventWrapper == null
-                || mBatteryLevelData == null || mBatteryLevelData.isEmpty()
+                || mBatteryLevelData == null
+                || mBatteryLevelData.isEmpty()
                 || !eventWrapper.hasHighlightSlotPair(mBatteryLevelData.get())
                 || !eventWrapper.hasAnomalyEntryKey()
                 || mBatteryUsageMap == null) {
@@ -343,8 +363,10 @@
         }
         final Pair<Integer, Integer> highlightSlotIndexPair =
                 eventWrapper.getHighlightSlotPair(mBatteryLevelData.get());
-        final BatteryDiffData relatedDiffData = mBatteryUsageMap
-                .get(highlightSlotIndexPair.first).get(highlightSlotIndexPair.second);
+        final BatteryDiffData relatedDiffData =
+                mBatteryUsageMap
+                        .get(highlightSlotIndexPair.first)
+                        .get(highlightSlotIndexPair.second);
         final String anomalyEntryKey = eventWrapper.getAnomalyEntryKey();
         if (relatedDiffData == null || anomalyEntryKey == null) {
             return null;
@@ -368,7 +390,7 @@
         // If all data is null or empty, each slot must be null or empty.
         return allBatteryDiffData == null
                 || (allBatteryDiffData.getAppDiffEntryList().isEmpty()
-                && allBatteryDiffData.getSystemDiffEntryList().isEmpty());
+                        && allBatteryDiffData.getSystemDiffEntryList().isEmpty());
     }
 
     private boolean isAppsAnomalyEventFocused() {
@@ -402,21 +424,22 @@
             return null;
         }
 
-        final PowerAnomalyEvent filterAnomalyEvent = anomalyEventList.getPowerAnomalyEventsList()
-                .stream()
-                .filter(predicate)
-                .max(Comparator.comparing(PowerAnomalyEvent::getScore))
-                .orElse(null);
+        final PowerAnomalyEvent filterAnomalyEvent =
+                anomalyEventList.getPowerAnomalyEventsList().stream()
+                        .filter(predicate)
+                        .max(Comparator.comparing(PowerAnomalyEvent::getScore))
+                        .orElse(null);
         Log.d(TAG, "filterAnomalyEvent = " + filterAnomalyEvent);
         return filterAnomalyEvent;
     }
 
-
     private static BatteryDiffData getAllBatteryDiffData(
             Map<Integer, Map<Integer, BatteryDiffData>> batteryUsageMap) {
-        return batteryUsageMap == null ? null : batteryUsageMap
-                .get(BatteryChartViewModel.SELECTED_INDEX_ALL)
-                .get(BatteryChartViewModel.SELECTED_INDEX_ALL);
+        return batteryUsageMap == null
+                ? null
+                : batteryUsageMap
+                        .get(BatteryChartViewModel.SELECTED_INDEX_ALL)
+                        .get(BatteryChartViewModel.SELECTED_INDEX_ALL);
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
@@ -433,12 +456,16 @@
                 public List<AbstractPreferenceController> createPreferenceControllers(
                         Context context) {
                     final List<AbstractPreferenceController> controllers = new ArrayList<>();
-                    controllers.add(new BatteryChartPreferenceController(
-                            context, null /* lifecycle */, null /* activity */));
+                    controllers.add(
+                            new BatteryChartPreferenceController(
+                                    context, null /* lifecycle */, null /* activity */));
                     controllers.add((new ScreenOnTimeController(context)));
-                    controllers.add(new BatteryUsageBreakdownController(
-                            context, null /* lifecycle */, null /* activity */,
-                            null /* fragment */));
+                    controllers.add(
+                            new BatteryUsageBreakdownController(
+                                    context,
+                                    null /* lifecycle */,
+                                    null /* activity */,
+                                    null /* fragment */));
                     controllers.add(new BatteryTipsController(context));
                     return controllers;
                 }
@@ -455,20 +482,21 @@
                 @Override
                 public BatteryLevelData loadInBackground() {
                     return DataProcessManager.getBatteryLevelData(
-                            getContext(), mHandler, /*isFromPeriodJob=*/ false,
+                            getContext(),
+                            mHandler,
+                            /* isFromPeriodJob= */ false,
                             PowerUsageAdvanced.this::onBatteryDiffDataMapUpdate);
                 }
             };
         }
 
         @Override
-        public void onLoadFinished(Loader<BatteryLevelData> loader,
-                BatteryLevelData batteryLevelData) {
+        public void onLoadFinished(
+                Loader<BatteryLevelData> loader, BatteryLevelData batteryLevelData) {
             PowerUsageAdvanced.this.onBatteryLevelDataUpdate(batteryLevelData);
         }
 
         @Override
-        public void onLoaderReset(Loader<BatteryLevelData> loader) {
-        }
+        public void onLoaderReset(Loader<BatteryLevelData> loader) {}
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java
index 22856b6..d916ef7 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBase.java
@@ -36,18 +36,13 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
-/**
- * Common base class for things that need to show the battery usage graph.
- */
+/** Common base class for things that need to show the battery usage graph. */
 public abstract class PowerUsageBase extends DashboardFragment {
     private static final String TAG = "PowerUsageBase";
 
-    @VisibleForTesting
-    static final String KEY_REFRESH_TYPE = "refresh_type";
-    @VisibleForTesting
-    static final String KEY_INCLUDE_HISTORY = "include_history";
-    @VisibleForTesting
-    BatteryUsageStats mBatteryUsageStats;
+    @VisibleForTesting static final String KEY_REFRESH_TYPE = "refresh_type";
+    @VisibleForTesting static final String KEY_INCLUDE_HISTORY = "include_history";
+    @VisibleForTesting BatteryUsageStats mBatteryUsageStats;
 
     protected UserManager mUm;
     protected boolean mIsBatteryPresent = true;
@@ -59,11 +54,10 @@
 
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({
-            LoaderIndex.BATTERY_USAGE_STATS_LOADER,
-            LoaderIndex.BATTERY_INFO_LOADER,
-            LoaderIndex.BATTERY_TIP_LOADER,
-            LoaderIndex.BATTERY_LEVEL_DATA_LOADER
-
+        LoaderIndex.BATTERY_USAGE_STATS_LOADER,
+        LoaderIndex.BATTERY_INFO_LOADER,
+        LoaderIndex.BATTERY_TIP_LOADER,
+        LoaderIndex.BATTERY_LEVEL_DATA_LOADER
     })
     public @interface LoaderIndex {
         int BATTERY_USAGE_STATS_LOADER = 0;
@@ -83,12 +77,13 @@
         super.onCreate(icicle);
 
         mBatteryBroadcastReceiver = new BatteryBroadcastReceiver(getContext());
-        mBatteryBroadcastReceiver.setBatteryChangedListener(type -> {
-            if (type == BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_NOT_PRESENT) {
-                mIsBatteryPresent = false;
-            }
-            restartBatteryStatsLoader(type);
-        });
+        mBatteryBroadcastReceiver.setBatteryChangedListener(
+                type -> {
+                    if (type == BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_NOT_PRESENT) {
+                        mIsBatteryPresent = false;
+                    }
+                    restartBatteryStatsLoader(type);
+                });
     }
 
     @Override
@@ -108,25 +103,22 @@
         final Bundle bundle = new Bundle();
         bundle.putInt(KEY_REFRESH_TYPE, refreshType);
         bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
-        restartLoader(LoaderIndex.BATTERY_USAGE_STATS_LOADER, bundle,
-                mBatteryUsageStatsLoaderCallbacks);
+        restartLoader(
+                LoaderIndex.BATTERY_USAGE_STATS_LOADER, bundle, mBatteryUsageStatsLoaderCallbacks);
     }
 
     protected LoaderManager getLoaderManagerForCurrentFragment() {
         return LoaderManager.getInstance(this);
     }
 
-    protected void restartLoader(int loaderId, Bundle bundle,
-            LoaderManager.LoaderCallbacks<?> loaderCallbacks) {
+    protected void restartLoader(
+            int loaderId, Bundle bundle, LoaderManager.LoaderCallbacks<?> loaderCallbacks) {
         LoaderManager loaderManager = getLoaderManagerForCurrentFragment();
-        Loader<?> loader = loaderManager.getLoader(
-                loaderId);
+        Loader<?> loader = loaderManager.getLoader(loaderId);
         if (loader != null && !loader.isReset()) {
-            loaderManager.restartLoader(loaderId, bundle,
-                    loaderCallbacks);
+            loaderManager.restartLoader(loaderId, bundle, loaderCallbacks);
         } else {
-            loaderManager.initLoader(loaderId, bundle,
-                    loaderCallbacks);
+            loaderManager.initLoader(loaderId, bundle, loaderCallbacks);
         }
     }
 
@@ -148,16 +140,15 @@
         }
 
         @Override
-        public void onLoadFinished(Loader<BatteryUsageStats> loader,
-                BatteryUsageStats batteryUsageStats) {
+        public void onLoadFinished(
+                Loader<BatteryUsageStats> loader, BatteryUsageStats batteryUsageStats) {
             closeBatteryUsageStatsIfNeeded();
             mBatteryUsageStats = batteryUsageStats;
             PowerUsageBase.this.onLoadFinished(mRefreshType);
         }
 
         @Override
-        public void onLoaderReset(Loader<BatteryUsageStats> loader) {
-        }
+        public void onLoaderReset(Loader<BatteryUsageStats> loader) {}
     }
 
     private void closeBatteryUsageStatsIfNeeded() {
diff --git a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
index 40fd3f4..5ef820c 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummary.java
@@ -53,41 +53,32 @@
  * since the last time it was unplugged.
  */
 @SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class PowerUsageSummary extends PowerUsageBase implements
-        BatteryTipPreferenceController.BatteryTipListener {
+public class PowerUsageSummary extends PowerUsageBase
+        implements BatteryTipPreferenceController.BatteryTipListener {
 
     static final String TAG = "PowerUsageSummary";
 
-    @VisibleForTesting
-    static final String KEY_BATTERY_ERROR = "battery_help_message";
-    @VisibleForTesting
-    static final String KEY_BATTERY_USAGE = "battery_usage_summary";
+    @VisibleForTesting static final String KEY_BATTERY_ERROR = "battery_help_message";
+    @VisibleForTesting static final String KEY_BATTERY_USAGE = "battery_usage_summary";
+
+    @VisibleForTesting PowerUsageFeatureProvider mPowerFeatureProvider;
+    @VisibleForTesting BatteryUtils mBatteryUtils;
+    @VisibleForTesting BatteryInfo mBatteryInfo;
+
+    @VisibleForTesting BatteryHeaderPreferenceController mBatteryHeaderPreferenceController;
+    @VisibleForTesting BatteryTipPreferenceController mBatteryTipPreferenceController;
+    @VisibleForTesting boolean mNeedUpdateBatteryTip;
+    @VisibleForTesting Preference mHelpPreference;
+    @VisibleForTesting Preference mBatteryUsagePreference;
 
     @VisibleForTesting
-    PowerUsageFeatureProvider mPowerFeatureProvider;
-    @VisibleForTesting
-    BatteryUtils mBatteryUtils;
-    @VisibleForTesting
-    BatteryInfo mBatteryInfo;
-
-    @VisibleForTesting
-    BatteryHeaderPreferenceController mBatteryHeaderPreferenceController;
-    @VisibleForTesting
-    BatteryTipPreferenceController mBatteryTipPreferenceController;
-    @VisibleForTesting
-    boolean mNeedUpdateBatteryTip;
-    @VisibleForTesting
-    Preference mHelpPreference;
-    @VisibleForTesting
-    Preference mBatteryUsagePreference;
-
-    @VisibleForTesting
-    final ContentObserver mSettingsObserver = new ContentObserver(new Handler()) {
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            restartBatteryInfoLoader();
-        }
-    };
+    final ContentObserver mSettingsObserver =
+            new ContentObserver(new Handler()) {
+                @Override
+                public void onChange(boolean selfChange, Uri uri) {
+                    restartBatteryInfoLoader();
+                }
+            };
 
     @VisibleForTesting
     LoaderManager.LoaderCallbacks<BatteryInfo> mBatteryInfoLoaderCallbacks =
@@ -121,17 +112,14 @@
                 }
 
                 @Override
-                public void onLoadFinished(Loader<List<BatteryTip>> loader,
-                        List<BatteryTip> data) {
+                public void onLoadFinished(Loader<List<BatteryTip>> loader, List<BatteryTip> data) {
                     mBatteryTipPreferenceController.updateBatteryTips(data);
                     mBatteryHeaderPreferenceController.updateHeaderByBatteryTips(
                             mBatteryTipPreferenceController.getCurrentBatteryTip(), mBatteryInfo);
                 }
 
                 @Override
-                public void onLoaderReset(Loader<List<BatteryTip>> loader) {
-
-                }
+                public void onLoaderReset(Loader<List<BatteryTip>> loader) {}
             };
 
     @Override
@@ -140,9 +128,6 @@
         final SettingsActivity activity = (SettingsActivity) getActivity();
 
         mBatteryHeaderPreferenceController = use(BatteryHeaderPreferenceController.class);
-        mBatteryHeaderPreferenceController.setActivity(activity);
-        mBatteryHeaderPreferenceController.setFragment(this);
-        mBatteryHeaderPreferenceController.setLifecycle(getSettingsLifecycle());
 
         mBatteryTipPreferenceController = use(BatteryTipPreferenceController.class);
         mBatteryTipPreferenceController.setActivity(activity);
@@ -173,10 +158,11 @@
     @Override
     public void onResume() {
         super.onResume();
-        getContentResolver().registerContentObserver(
-                Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
-                false,
-                mSettingsObserver);
+        getContentResolver()
+                .registerContentObserver(
+                        Global.getUriFor(Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
+                        false,
+                        mSettingsObserver);
     }
 
     @Override
@@ -216,8 +202,7 @@
         }
 
         // Skip BatteryTipLoader if device is rotated or only battery level change
-        if (mNeedUpdateBatteryTip
-                && refreshType != BatteryUpdateType.BATTERY_LEVEL) {
+        if (mNeedUpdateBatteryTip && refreshType != BatteryUpdateType.BATTERY_LEVEL) {
             restartBatteryTipLoader();
         } else {
             mNeedUpdateBatteryTip = true;
@@ -233,17 +218,14 @@
 
     @VisibleForTesting
     void initFeatureProvider() {
-        final Context context = getContext();
-        mPowerFeatureProvider = FeatureFactory.getFactory(context)
-                .getPowerUsageFeatureProvider(context);
+        mPowerFeatureProvider = FeatureFactory.getFeatureFactory().getPowerUsageFeatureProvider();
     }
 
     @VisibleForTesting
     void initPreference() {
         mBatteryUsagePreference = findPreference(KEY_BATTERY_USAGE);
         mBatteryUsagePreference.setSummary(getString(R.string.advanced_battery_preference_summary));
-        mBatteryUsagePreference.setVisible(
-                mPowerFeatureProvider.isBatteryUsageEnabled());
+        mBatteryUsagePreference.setVisible(mPowerFeatureProvider.isBatteryUsageEnabled());
 
         mHelpPreference = findPreference(KEY_BATTERY_ERROR);
         mHelpPreference.setVisible(false);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java b/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java
index 286a95f..fcdd673 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeController.java
@@ -42,12 +42,9 @@
     private static final Pattern NUMBER_PATTERN = Pattern.compile("[\\d]*[\\.,]?[\\d]+");
     private static final Locale IW_LOCALE = new Locale("iw");
 
-    @VisibleForTesting
-    Context mPrefContext;
-    @VisibleForTesting
-    PreferenceCategory mRootPreference;
-    @VisibleForTesting
-    TextViewPreference mScreenOnTimeTextPreference;
+    @VisibleForTesting Context mPrefContext;
+    @VisibleForTesting PreferenceCategory mRootPreference;
+    @VisibleForTesting TextViewPreference mScreenOnTimeTextPreference;
 
     public ScreenOnTimeController(Context context) {
         super(context, ROOT_PREFERENCE_KEY);
@@ -78,19 +75,22 @@
 
     @VisibleForTesting
     void showCategoryTitle(String slotTimestamp) {
-        mRootPreference.setTitle(slotTimestamp == null
-                ? mPrefContext.getString(
-                        R.string.screen_time_category_last_full_charge)
-                : mPrefContext.getString(
-                        R.string.screen_time_category_for_slot, slotTimestamp));
+        mRootPreference.setTitle(
+                slotTimestamp == null
+                        ? mPrefContext.getString(R.string.screen_time_category_last_full_charge)
+                        : mPrefContext.getString(
+                                R.string.screen_time_category_for_slot, slotTimestamp));
         mRootPreference.setVisible(true);
     }
 
     @VisibleForTesting
     void showScreenOnTimeText(Long screenOnTime) {
         final CharSequence timeSequence =
-                BatteryUtils.formatElapsedTimeWithoutComma(mPrefContext, (double) screenOnTime,
-                        /*withSeconds=*/ false, /*collapseTimeUnit=*/ false);
+                BatteryUtils.formatElapsedTimeWithoutComma(
+                        mPrefContext,
+                        (double) screenOnTime,
+                        /* withSeconds= */ false,
+                        /* collapseTimeUnit= */ false);
         mScreenOnTimeTextPreference.setText(
                 enlargeFontOfNumberIfNeeded(mPrefContext, timeSequence));
         mScreenOnTimeTextPreference.setVisible(true);
@@ -107,11 +107,14 @@
             return text;
         }
 
-        final SpannableString spannableText =  new SpannableString(text);
+        final SpannableString spannableText = new SpannableString(text);
         final Matcher matcher = NUMBER_PATTERN.matcher(text);
         while (matcher.find()) {
-            spannableText.setSpan(new AbsoluteSizeSpan(36, true /* dip */), matcher.start(),
-                    matcher.end(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+            spannableText.setSpan(
+                    new AbsoluteSizeSpan(36, true /* dip */),
+                    matcher.start(),
+                    matcher.end(),
+                    Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
         }
         return spannableText;
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java b/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java
index ac3e26d..2bcc7bf 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreference.java
@@ -36,12 +36,9 @@
 
     private AdapterView.OnItemSelectedListener mOnItemSelectedListener;
 
-    @VisibleForTesting
-    Spinner mSpinner;
-    @VisibleForTesting
-    String[] mItems;
-    @VisibleForTesting
-    int mSavedSpinnerPosition;
+    @VisibleForTesting Spinner mSpinner;
+    @VisibleForTesting String[] mItems;
+    @VisibleForTesting int mSavedSpinnerPosition;
 
     public SpinnerPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -84,14 +81,19 @@
             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);
+            mOnItemSelectedListener.onItemSelected(
+                    /* parent= */ null,
+                    /* view= */ null,
+                    savedState.getSpinnerPosition(),
+                    /* id= */ 0);
         }
         Log.d(TAG, "onRestoreInstanceState() spinnerPosition=" + savedState.getSpinnerPosition());
     }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/TextViewPreference.java b/src/com/android/settings/fuelgauge/batteryusage/TextViewPreference.java
index 22faabb..b20ef39 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/TextViewPreference.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/TextViewPreference.java
@@ -30,8 +30,7 @@
 public class TextViewPreference extends Preference {
     private static final String TAG = "TextViewPreference";
 
-    @VisibleForTesting
-    CharSequence mText;
+    @VisibleForTesting CharSequence mText;
 
     public TextViewPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/TimestampUtils.java b/src/com/android/settings/fuelgauge/batteryusage/TimestampUtils.java
index 594a0ef..41a2254 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/TimestampUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/TimestampUtils.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.fuelgauge.batteryusage;
 
+import java.time.Duration;
 import java.util.Calendar;
 
 /** A utility class for timestamp operations. */
@@ -48,6 +49,10 @@
         return calendar.getTimeInMillis();
     }
 
+    static long getSeconds(final long timeInMs) {
+        return Duration.ofMillis(timeInMs).getSeconds();
+    }
+
     static boolean isMidnight(final long timestamp) {
         final Calendar calendar = Calendar.getInstance();
         calendar.setTimeInMillis(timestamp);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java
index cb2f394..4017131 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BatteryUsageLogUtils.java
@@ -25,6 +25,7 @@
 import com.android.settings.fuelgauge.BatteryUsageHistoricalLogEntry.Action;
 import com.android.settings.fuelgauge.BatteryUtils;
 import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
+
 import com.google.common.annotations.VisibleForTesting;
 
 import java.io.PrintWriter;
@@ -62,16 +63,13 @@
 
         final String loggingContent =
                 Base64.encodeToString(newLogBuilder.build().toByteArray(), Base64.DEFAULT);
-        sharedPreferences
-                .edit()
-                .putString(LOGS_KEY, loggingContent)
-                .apply();
+        sharedPreferences.edit().putString(LOGS_KEY, loggingContent).apply();
     }
 
     /** Prints the historical log that has previously been stored by this utility. */
     public static void printHistoricalLog(Context context, PrintWriter writer) {
-        final BatteryUsageHistoricalLog existingLog = parseLogFromString(
-                getSharedPreferences(context).getString(LOGS_KEY, ""));
+        final BatteryUsageHistoricalLog existingLog =
+                parseLogFromString(getSharedPreferences(context).getString(LOGS_KEY, ""));
         final List<BatteryUsageHistoricalLogEntry> logEntryList = existingLog.getLogEntryList();
         if (logEntryList.isEmpty()) {
             writer.println("\tnothing to dump");
@@ -92,9 +90,10 @@
     }
 
     private static String toString(BatteryUsageHistoricalLogEntry entry) {
-        final StringBuilder builder = new StringBuilder("\t")
-                .append(ConvertUtils.utcToLocalTimeForLogging(entry.getTimestamp()))
-                .append(" " + entry.getAction());
+        final StringBuilder builder =
+                new StringBuilder("\t")
+                        .append(ConvertUtils.utcToLocalTimeForLogging(entry.getTimestamp()))
+                        .append(" " + entry.getAction());
         final String description = entry.getActionDescription();
         if (description != null && !description.isEmpty()) {
             builder.append(" " + description);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
index 4c42327..ff953e7 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/BugReportContentProvider.java
@@ -23,7 +23,7 @@
 import android.net.Uri;
 import android.util.Log;
 
-import com.android.settings.fuelgauge.batteryusage.DatabaseUtils;
+import com.android.settingslib.fuelgauge.BatteryUtils;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -39,18 +39,26 @@
 
     @Override
     public void dump(FileDescriptor fd, PrintWriter writer, String[] args) {
-        final Context context = getContext();
+        Context context = getContext();
         if (context == null) {
             Log.w(TAG, "failed to dump BatteryUsage state: null context");
             return;
         }
-        if (DatabaseUtils.isWorkProfile(context)) {
+        context = context.getApplicationContext();
+        if (context == null) {
+            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");
             return;
         }
         writer.println("dump BatteryUsage and AppUsage states:");
         LogUtils.dumpBatteryUsageDatabaseHist(context, writer);
         LogUtils.dumpAppUsageDatabaseHist(context, writer);
+        LogUtils.dumpBatteryUsageSlotDatabaseHist(context, writer);
+        LogUtils.dumpBatteryEventDatabaseHist(context, writer);
+        LogUtils.dumpBatteryStateDatabaseHist(context, writer);
     }
 
     @Override
@@ -79,11 +87,7 @@
     }
 
     @Override
-    public int update(
-            Uri uri,
-            ContentValues values,
-            String selection,
-            String[] selectionArgs) {
+    public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) {
         throw new UnsupportedOperationException("unsupported!");
     }
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
index 6d5082c..0ac8cca 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/bugreport/LogUtils.java
@@ -19,18 +19,26 @@
 import android.content.Context;
 import android.util.Log;
 
+import com.android.settings.fuelgauge.BatteryUtils;
+import com.android.settings.fuelgauge.batteryusage.BatteryUsageSlot;
 import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
 import com.android.settings.fuelgauge.batteryusage.DatabaseUtils;
 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;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotDao;
+import com.android.settings.fuelgauge.batteryusage.db.BatteryUsageSlotEntity;
 
 import java.io.PrintWriter;
 import java.time.Clock;
 import java.time.Duration;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Function;
 
 /** A utility class to aggregate and provide required log data. */
 public final class LogUtils {
@@ -47,12 +55,8 @@
         // Dumps phenotype environments.
         DatabaseUtils.dump(context, writer);
         writer.flush();
-        final BatteryStateDao dao =
-                BatteryStateDatabase
-                        .getInstance(context.getApplicationContext())
-                        .batteryStateDao();
-        final long timeOffset =
-                Clock.systemUTC().millis() - DUMP_TIME_OFFSET.toMillis();
+        final BatteryStateDao dao = BatteryStateDatabase.getInstance(context).batteryStateDao();
+        final long timeOffset = Clock.systemUTC().millis() - DUMP_TIME_OFFSET.toMillis();
 
         // Gets all distinct timestamps.
         final List<Long> timestamps = dao.getDistinctTimestamps(timeOffset);
@@ -64,29 +68,81 @@
             return;
         }
         // Dumps all distinct timestamps.
-        timestamps.forEach(timestamp -> {
-            final String formattedTimestamp = ConvertUtils.utcToLocalTimeForLogging(timestamp);
-            writer.println("\t" + formattedTimestamp);
-            Log.w(TAG, "\t" + formattedTimestamp);
-        });
+        timestamps.forEach(
+                timestamp -> {
+                    final String formattedTimestamp =
+                            ConvertUtils.utcToLocalTimeForLogging(timestamp);
+                    writer.println("\t" + formattedTimestamp);
+                    Log.w(TAG, "\t" + formattedTimestamp);
+                });
         writer.flush();
+    }
 
-        final List<BatteryState> stateList = dao.getAllAfter(
-                Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
-        stateList.stream().forEach(state -> writer.println(state));
+    static void dumpBatteryStateDatabaseHist(Context context, PrintWriter writer) {
+        final BatteryStateDao dao = BatteryStateDatabase.getInstance(context).batteryStateDao();
+        writer.println("\n\tBatteryState DatabaseHistory:");
+        final List<BatteryState> stateList =
+                dao.getAllAfter(Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
+        dumpListItems(writer, stateList, state -> state);
     }
 
     static void dumpAppUsageDatabaseHist(Context context, PrintWriter writer) {
-        final AppUsageEventDao dao =
-                BatteryStateDatabase
-                        .getInstance(context.getApplicationContext())
-                        .appUsageEventDao();
+        final AppUsageEventDao dao = BatteryStateDatabase.getInstance(context).appUsageEventDao();
         writer.println("\n\tApp DatabaseHistory:");
-        final List<AppUsageEventEntity> eventList = dao.getAllAfter(
-                Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
-        eventList.stream().forEach(event -> writer.println(event));
+        final List<AppUsageEventEntity> eventList =
+                dao.getAllAfter(Clock.systemUTC().millis() - DUMP_TIME_OFFSET_FOR_ENTRY.toMillis());
+        dumpListItems(writer, eventList, event -> event);
+    }
+
+    static void dumpBatteryUsageSlotDatabaseHist(Context context, PrintWriter writer) {
+        final BatteryUsageSlotDao dao =
+                BatteryStateDatabase.getInstance(context).batteryUsageSlotDao();
+        writer.println("\n\tBattery Usage Slot DatabaseHistory:");
+        final List<BatteryUsageSlotEntity> entities =
+                dao.getAllAfterForLog(getLastFullChargeTimestamp(context));
+        dumpListItems(
+                writer,
+                entities,
+                entity ->
+                        BatteryUtils.parseProtoFromString(
+                                entity.batteryUsageSlot, BatteryUsageSlot.getDefaultInstance()));
+    }
+
+    static void dumpBatteryEventDatabaseHist(Context context, PrintWriter writer) {
+        final BatteryEventDao dao = BatteryStateDatabase.getInstance(context).batteryEventDao();
+        writer.println("\n\tBattery Event DatabaseHistory:");
+        final List<BatteryEventEntity> entities =
+                dao.getAllAfterForLog(getLastFullChargeTimestamp(context));
+        dumpListItems(writer, entities, entity -> entity);
+    }
+
+    private static <T, S> void dumpListItems(
+            PrintWriter writer, List<T> itemList, Function<T, S> itemConverter) {
+        final AtomicInteger counter = new AtomicInteger(0);
+        try {
+            itemList.forEach(
+                    item -> {
+                        writer.println(itemConverter.apply(item));
+                        if (counter.incrementAndGet() % 20 == 0) {
+                            writer.flush();
+                        }
+                    });
+        } catch (RuntimeException e) {
+            Log.e(TAG, "dumpListItems() error: ", e);
+        }
         writer.flush();
     }
 
+    private static long getLastFullChargeTimestamp(Context context) {
+        final BatteryEventDao dao = BatteryStateDatabase.getInstance(context).batteryEventDao();
+        try {
+            final Long lastFullChargeTimestamp = dao.getLastFullChargeTimestampForLog();
+            return lastFullChargeTimestamp != null ? lastFullChargeTimestamp : 0L;
+        } catch (RuntimeException e) {
+            Log.e(TAG, "getLastFullChargeTimestamp() error: ", e);
+            return 0L;
+        }
+    }
+
     private LogUtils() {}
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java
index 19360f4..d220b15 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDao.java
@@ -42,8 +42,9 @@
     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")
+    @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. */
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntity.java b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntity.java
index c08c735..f0cc71d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntity.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntity.java
@@ -32,6 +32,7 @@
 public class AppUsageEventEntity {
     /** Keys for accessing {@link ContentValues}. */
     public static final String KEY_UID = "uid";
+
     public static final String KEY_USER_ID = "userId";
     public static final String KEY_TIMESTAMP = "timestamp";
     public static final String KEY_APP_USAGE_EVENT_TYPE = "appUsageEventType";
@@ -81,14 +82,28 @@
     @Override
     public String toString() {
         final String recordAtDateTime = ConvertUtils.utcToLocalTimeForLogging(timestamp);
-        final StringBuilder builder = new StringBuilder()
-                .append("\nAppUsageEvent{")
-                .append(String.format(Locale.US,
-                        "\n\tpackage=%s|uid=%d|userId=%d", packageName, uid, userId))
-                .append(String.format(Locale.US, "\n\ttimestamp=%s|eventType=%d|instanceId=%d",
-                        recordAtDateTime, appUsageEventType, instanceId))
-                .append(String.format(Locale.US, "\n\ttaskRootPackageName=%s",
-                        taskRootPackageName));
+        final StringBuilder builder =
+                new StringBuilder()
+                        .append("\nAppUsageEvent{")
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\tpackage=%s|uid=%d|userId=%d",
+                                        packageName,
+                                        uid,
+                                        userId))
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\ttimestamp=%s|eventType=%d|instanceId=%d",
+                                        recordAtDateTime,
+                                        appUsageEventType,
+                                        instanceId))
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\ttaskRootPackageName=%s",
+                                        taskRootPackageName));
         return builder.toString();
     }
 
@@ -111,8 +126,7 @@
             builder.setPackageName(contentValues.getAsString(KEY_PACKAGE_NAME));
         }
         if (contentValues.containsKey(KEY_INSTANCE_ID)) {
-            builder.setInstanceId(
-                    contentValues.getAsInteger(KEY_INSTANCE_ID));
+            builder.setInstanceId(contentValues.getAsInteger(KEY_INSTANCE_ID));
         }
         if (contentValues.containsKey(KEY_TASK_ROOT_PACKAGE_NAME)) {
             builder.setTaskRootPackageName(contentValues.getAsString(KEY_TASK_ROOT_PACKAGE_NAME));
@@ -198,6 +212,4 @@
 
         private Builder() {}
     }
-
-
 }
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
index 0a6de71..8b696fe 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventDao.java
@@ -37,16 +37,30 @@
     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
+    @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")
+    @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);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntity.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntity.java
index 66cadda..cee0fec 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntity.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntity.java
@@ -32,6 +32,7 @@
 public class BatteryEventEntity {
     /** Keys for accessing {@link ContentValues}. */
     public static final String KEY_TIMESTAMP = "timestamp";
+
     public static final String KEY_BATTERY_EVENT_TYPE = "batteryEventType";
     public static final String KEY_BATTERY_LEVEL = "batteryLevel";
 
@@ -43,9 +44,7 @@
     public final int batteryLevel;
 
     public BatteryEventEntity(
-            final long timestamp,
-            final int batteryEventType,
-            final int batteryLevel) {
+            final long timestamp, final int batteryEventType, final int batteryLevel) {
         this.timestamp = timestamp;
         this.batteryEventType = batteryEventType;
         this.batteryLevel = batteryLevel;
@@ -64,12 +63,17 @@
     @Override
     public String toString() {
         final String recordAtDateTime = ConvertUtils.utcToLocalTimeForLogging(timestamp);
-        final StringBuilder builder = new StringBuilder()
-                .append("\nBatteryEvent{")
-                .append(String.format(Locale.US,
-                        "\n\ttimestamp=%s|batteryEventType=%d|batteryLevel=%d",
-                        recordAtDateTime, batteryEventType, batteryLevel))
-                .append("\n}");
+        final StringBuilder builder =
+                new StringBuilder()
+                        .append("\nBatteryEvent{")
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\ttimestamp=%s|batteryEventType=%d|batteryLevel=%d",
+                                        recordAtDateTime,
+                                        batteryEventType,
+                                        batteryLevel))
+                        .append("\n}");
         return builder.toString();
     }
 
@@ -122,10 +126,7 @@
 
         /** Builds the {@link BatteryEventEntity}. */
         public BatteryEventEntity build() {
-            return new BatteryEventEntity(
-                    mTimestamp,
-                    mBatteryEventType,
-                    mBatteryLevel);
+            return new BatteryEventEntity(mTimestamp, mBatteryEventType, mBatteryLevel);
         }
 
         private Builder() {}
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryState.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryState.java
index 190c274..8e1280d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryState.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryState.java
@@ -43,15 +43,17 @@
     public final int consumerType;
     public final boolean isFullChargeCycleStart;
     public final String batteryInformation;
+
     /**
      * This field is filled only when build type is "userdebug".
-     * For now, Java Proto Lite is recommended by the Android team as the more lightweight solution
-     * designed specifically for mobile apps to process protobuf.
-     * However, converting protobuf to string through Java Proto Lite needs to parse it into a bytes
-     * field first, which leads to the strings saved in our database are encoded and hard to
-     * understand.
-     * To make it easier to debug in our daily development, this field is added.
-     * It will not be filled for the real users.
+     *
+     * <p>For now, Java Proto Lite is recommended by the Android team as the more lightweight
+     * solution designed specifically for mobile apps to process protobuf. However, converting
+     * protobuf to string through Java Proto Lite needs to parse it into a bytes field first, which
+     * leads to the strings saved in our database are encoded and hard to understand.
+     *
+     * <p>To make it easier to debug in our daily development, this field is added. It will not be
+     * filled for the real users.
      */
     public final String batteryInformationDebug;
 
@@ -91,18 +93,28 @@
         final BatteryInformation batteryInformationInstance =
                 BatteryUtils.parseProtoFromString(
                         batteryInformation, BatteryInformation.getDefaultInstance());
-        final StringBuilder builder = new StringBuilder()
-                .append("\nBatteryState{")
-                .append(String.format(Locale.US,
-                        "\n\tpackage=%s|uid=%d|userId=%d", packageName, uid, userId))
-                .append(String.format(Locale.US, "\n\ttimestamp=%s|consumer=%d|isStart=%b",
-                        recordAtDateTime, consumerType, isFullChargeCycleStart))
-                .append(String.format(Locale.US, "\n\tbatteryInfo="))
-                .append(batteryInformationInstance.toString());
+        final StringBuilder builder =
+                new StringBuilder()
+                        .append("\nBatteryState{")
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\tpackage=%s|uid=%d|userId=%d",
+                                        packageName,
+                                        uid,
+                                        userId))
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\ttimestamp=%s|consumer=%d|isStart=%b",
+                                        recordAtDateTime,
+                                        consumerType,
+                                        isFullChargeCycleStart))
+                        .append(String.format(Locale.US, "\n\tbatteryInfo="))
+                        .append(batteryInformationInstance.toString());
         return builder.toString();
     }
 
-
     /** Creates new {@link BatteryState} from {@link ContentValues}. */
     public static BatteryState create(ContentValues contentValues) {
         Builder builder = BatteryState.newBuilder();
@@ -122,8 +134,7 @@
             builder.setConsumerType(contentValues.getAsInteger("consumerType"));
         }
         if (contentValues.containsKey("isFullChargeCycleStart")) {
-            builder.setIsFullChargeCycleStart(
-                    contentValues.getAsBoolean("isFullChargeCycleStart"));
+            builder.setIsFullChargeCycleStart(contentValues.getAsBoolean("isFullChargeCycleStart"));
         }
         if (contentValues.containsKey("batteryInformation")) {
             builder.setBatteryInformation(contentValues.getAsString("batteryInformation"));
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
index 28a0012..7504775 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDatabase.java
@@ -25,8 +25,12 @@
 
 /** A {@link RoomDatabase} for battery usage states history. */
 @Database(
-        entities = {AppUsageEventEntity.class, BatteryEventEntity.class, BatteryState.class,
-                BatteryUsageSlotEntity.class},
+        entities = {
+            AppUsageEventEntity.class,
+            BatteryEventEntity.class,
+            BatteryState.class,
+            BatteryUsageSlotEntity.class
+        },
         version = 1)
 public abstract class BatteryStateDatabase extends RoomDatabase {
     private static final String TAG = "BatteryStateDatabase";
@@ -35,10 +39,13 @@
 
     /** Provides DAO for app usage event table. */
     public abstract AppUsageEventDao appUsageEventDao();
+
     /** Provides DAO for battery event table. */
     public abstract BatteryEventDao batteryEventDao();
+
     /** Provides DAO for battery state table. */
     public abstract BatteryStateDao batteryStateDao();
+
     /** Provides DAO for battery usage slot table. */
     public abstract BatteryUsageSlotDao batteryUsageSlotDao();
 
@@ -46,8 +53,7 @@
     public static BatteryStateDatabase getInstance(Context context) {
         if (sBatteryStateDatabase == null) {
             sBatteryStateDatabase =
-                    Room.databaseBuilder(
-                                    context, BatteryStateDatabase.class, "battery-usage-db-v9")
+                    Room.databaseBuilder(context, BatteryStateDatabase.class, "battery-usage-db-v9")
                             // Allows accessing data in the main thread for dumping bugreport.
                             .allowMainThreadQueries()
                             .fallbackToDestructiveMigration()
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
index a695f6a..d8cf41d 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDao.java
@@ -37,10 +37,17 @@
     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")
+    @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);
diff --git a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntity.java b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntity.java
index c2d5631..16a01b4 100644
--- a/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntity.java
+++ b/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntity.java
@@ -32,6 +32,7 @@
 public class BatteryUsageSlotEntity {
     /** Keys for accessing {@link ContentValues}. */
     public static final String KEY_TIMESTAMP = "timestamp";
+
     public static final String KEY_BATTERY_USAGE_SLOT = "batteryUsageSlot";
 
     @PrimaryKey(autoGenerate = true)
@@ -58,11 +59,16 @@
     @Override
     public String toString() {
         final String recordAtDateTime = ConvertUtils.utcToLocalTimeForLogging(timestamp);
-        final StringBuilder builder = new StringBuilder()
-                .append("\nBatteryUsageSlot{")
-                .append(String.format(Locale.US, "\n\ttimestamp=%s|batteryUsageSlot=%s",
-                        recordAtDateTime, batteryUsageSlot))
-                .append("\n}");
+        final StringBuilder builder =
+                new StringBuilder()
+                        .append("\nBatteryUsageSlot{")
+                        .append(
+                                String.format(
+                                        Locale.US,
+                                        "\n\ttimestamp=%s|batteryUsageSlot=%s",
+                                        recordAtDateTime,
+                                        batteryUsageSlot))
+                        .append("\n}");
         return builder.toString();
     }
 
diff --git a/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
new file mode 100644
index 0000000..b77d5eb
--- /dev/null
+++ b/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManager.java
@@ -0,0 +1,260 @@
+/*
+ * 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.datasaver;
+
+import static android.net.NetworkPolicyManager.POLICY_NONE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+
+import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.net.NetworkPolicyManager;
+import android.util.ArraySet;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Set;
+
+/** A class to dynamically manage per apps {@link NetworkPolicyManager} POLICY_ flags. */
+public class DynamicDenylistManager {
+
+    private static final String TAG = "DynamicDenylistManager";
+    private static final String PREF_KEY_MANUAL_DENY = "manual_denylist_preference";
+    private static final String PREF_KEY_DYNAMIC_DENY = "dynamic_denylist_preference";
+
+    @VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
+    public static DynamicDenylistManager sInstance = null;
+
+    private final Context mContext;
+    private final NetworkPolicyManager mNetworkPolicyManager;
+    private final Object mLock = new Object();
+
+    @VisibleForTesting
+    static final String PREF_KEY_MANUAL_DENYLIST_SYNCED = "manual_denylist_synced";
+
+    /** @return a DynamicDenylistManager object */
+    public static DynamicDenylistManager getInstance(Context context) {
+        synchronized (DynamicDenylistManager.class) {
+            if (sInstance == null) {
+                sInstance = new DynamicDenylistManager(
+                        context, NetworkPolicyManager.from(context));
+            }
+            return sInstance;
+        }
+    }
+
+    @VisibleForTesting
+    DynamicDenylistManager(Context context, NetworkPolicyManager networkPolicyManager) {
+        mContext = context.getApplicationContext();
+        mNetworkPolicyManager = networkPolicyManager;
+        syncPolicyIfNeeded();
+    }
+
+    /** Sync the policy from {@link NetworkPolicyManager} if needed. */
+    private void syncPolicyIfNeeded() {
+        if (getManualDenylistPref().contains(PREF_KEY_MANUAL_DENYLIST_SYNCED)) {
+            Log.i(TAG, "syncPolicyIfNeeded() ignore synced manual denylist");
+            return;
+        }
+
+        final SharedPreferences.Editor editor = getManualDenylistPref().edit();
+        final int[] existedUids = mNetworkPolicyManager
+                .getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
+        if (existedUids != null && existedUids.length != 0) {
+            for (int uid : existedUids) {
+                editor.putInt(String.valueOf(uid), POLICY_REJECT_METERED_BACKGROUND);
+            }
+        }
+        editor.putInt(PREF_KEY_MANUAL_DENYLIST_SYNCED, POLICY_NONE).apply();
+    }
+
+    /** Set policy flags for specific UID. */
+    public void setUidPolicyLocked(int uid, int policy) {
+        Log.i(TAG, "setUidPolicyLocked: uid=" + uid + " policy=" + policy);
+        synchronized (mLock) {
+            mNetworkPolicyManager.setUidPolicy(uid, policy);
+        }
+        updateDenylistPref(uid, policy);
+    }
+
+    /** Suggest a list of package to set as POLICY_REJECT. */
+    public void setDenylist(Set<Integer> denylistTargetUids) {
+        if (denylistTargetUids == null) {
+            return;
+        }
+        final Set<Integer> manualDenylistUids = getDenylistAllUids(getManualDenylistPref());
+        denylistTargetUids.removeAll(manualDenylistUids);
+
+        final Set<Integer> lastDynamicDenylistUids = getDenylistAllUids(getDynamicDenylistPref());
+        if (lastDynamicDenylistUids.equals(denylistTargetUids)) {
+            Log.i(TAG, "setDenylist() ignore the same denylist with size: "
+                    + lastDynamicDenylistUids.size());
+            return;
+        }
+
+        final ArraySet<Integer> failedUids = new ArraySet<>();
+        synchronized (mLock) {
+            // Set new added UIDs into REJECT policy.
+            for (Integer uidInteger : denylistTargetUids) {
+                if (uidInteger == null) {
+                    continue;
+                }
+                final int uid = uidInteger.intValue();
+                if (!lastDynamicDenylistUids.contains(uid)) {
+                    try {
+                        mNetworkPolicyManager.setUidPolicy(uid, POLICY_REJECT_METERED_BACKGROUND);
+                    } catch (Exception e) {
+                        Log.e(TAG, "failed to setUidPolicy(REJECT) for " + uid, e);
+                        failedUids.add(uid);
+                    }
+                }
+            }
+            // Unset removed UIDs back to NONE policy.
+            for (int uid : lastDynamicDenylistUids) {
+                if (!denylistTargetUids.contains(uid)) {
+                    try {
+                        mNetworkPolicyManager.setUidPolicy(uid, POLICY_NONE);
+                    } catch (Exception e) {
+                        Log.e(TAG, "failed to setUidPolicy(NONE) for " + uid, e);
+                    }
+                }
+            }
+        }
+
+        // Store target denied uids into DynamicDenylistPref.
+        final SharedPreferences.Editor editor = getDynamicDenylistPref().edit();
+        editor.clear();
+        denylistTargetUids.forEach(uid -> {
+            if (!failedUids.contains(uid)) {
+                editor.putInt(String.valueOf(uid), POLICY_REJECT_METERED_BACKGROUND);
+            }
+        });
+        editor.apply();
+    }
+
+    /** Return true if the target uid is in {@link #getManualDenylistPref()}. */
+    public boolean isInManualDenylist(int uid) {
+        return getManualDenylistPref().contains(String.valueOf(uid));
+    }
+
+    /** Reset the UIDs in the denylist if needed. */
+    public void resetDenylistIfNeeded(String packageName, boolean force) {
+        if (!force && !SETTINGS_PACKAGE_NAME.equals(packageName)) {
+            Log.w(TAG, "resetDenylistIfNeeded: invalid conditions");
+            return;
+        }
+        synchronized (mLock) {
+            final int[] uids = mNetworkPolicyManager
+                    .getUidsWithPolicy(POLICY_REJECT_METERED_BACKGROUND);
+            if (uids != null && uids.length != 0) {
+                Log.i(TAG, "resetDenylistIfNeeded: " + Arrays.toString(uids));
+                for (int uid : uids) {
+                    if (!getDenylistAllUids(getManualDenylistPref()).contains(uid)) {
+                        mNetworkPolicyManager.setUidPolicy(uid, POLICY_NONE);
+                    }
+                }
+            } else {
+                Log.w(TAG, "resetDenylistIfNeeded: there is no valid UIDs");
+            }
+        }
+        clearSharedPreferences();
+    }
+
+    /** Reset the POLICY_REJECT_METERED uids when device is boot completed. */
+    public void onBootComplete() {
+        resetDenylistIfNeeded(/* packageName= */ null, /* force= */ true);
+        syncPolicyIfNeeded();
+    }
+
+    /** Dump the data stored in the {@link SharedPreferences}. */
+    public void dump(PrintWriter writer) {
+        writer.println("Dump of DynamicDenylistManager:");
+        final List<String> manualDenyList =
+                getPackageNames(mContext, getDenylistAllUids(getManualDenylistPref()));
+        writer.println("\tManualDenylist:");
+        if (manualDenyList != null) {
+            manualDenyList.forEach(packageName -> writer.println("\t\t" + packageName));
+            writer.flush();
+        }
+
+        final List<String> dynamicDenyList =
+                getPackageNames(mContext, getDenylistAllUids(getDynamicDenylistPref()));
+        writer.println("\tDynamicDenylist:");
+        if (dynamicDenyList != null) {
+            dynamicDenyList.forEach(packageName -> writer.println("\t\t" + packageName));
+            writer.flush();
+        }
+    }
+
+    private Set<Integer> getDenylistAllUids(SharedPreferences sharedPreferences) {
+        final ArraySet<Integer> uids = new ArraySet<>();
+        for (String key : sharedPreferences.getAll().keySet()) {
+            if (PREF_KEY_MANUAL_DENYLIST_SYNCED.equals(key)) {
+                continue;
+            }
+            try {
+                uids.add(Integer.parseInt(key));
+            } catch (NumberFormatException e) {
+                Log.e(TAG, "getDenylistAllUids() unexpected format for " + key);
+            }
+        }
+        return uids;
+    }
+
+    void updateDenylistPref(int uid, int policy) {
+        final String uidString = String.valueOf(uid);
+        if (policy != POLICY_REJECT_METERED_BACKGROUND) {
+            getManualDenylistPref().edit().remove(uidString).apply();
+        } else {
+            getManualDenylistPref().edit().putInt(uidString, policy).apply();
+        }
+        getDynamicDenylistPref().edit().remove(uidString).apply();
+    }
+
+    void clearSharedPreferences() {
+        Log.i(TAG, "clearSharedPreferences()");
+        getManualDenylistPref().edit().clear().apply();
+        getDynamicDenylistPref().edit().clear().apply();
+    }
+
+    @VisibleForTesting
+    SharedPreferences getManualDenylistPref() {
+        return mContext.getSharedPreferences(PREF_KEY_MANUAL_DENY, Context.MODE_PRIVATE);
+    }
+
+    @VisibleForTesting
+    SharedPreferences getDynamicDenylistPref() {
+        return mContext.getSharedPreferences(PREF_KEY_DYNAMIC_DENY, Context.MODE_PRIVATE);
+    }
+
+    private static List<String> getPackageNames(Context context, Set<Integer> uids) {
+        if (uids == null || uids.isEmpty()) {
+            return null;
+        }
+        final PackageManager pm = context.getPackageManager();
+        final List<String> packageNames = new ArrayList<>(uids.size());
+        uids.forEach(uid -> packageNames.add(pm.getNameForUid(uid)));
+        return packageNames;
+    }
+}
diff --git a/src/com/android/settings/fuelgauge/protos/Android.bp b/src/com/android/settings/fuelgauge/protos/Android.bp
index 531bdc32..462962b 100644
--- a/src/com/android/settings/fuelgauge/protos/Android.bp
+++ b/src/com/android/settings/fuelgauge/protos/Android.bp
@@ -1,4 +1,5 @@
 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"
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 5bc1a3e..7f67770 100644
--- a/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
+++ b/src/com/android/settings/fuelgauge/protos/battery_usage_slot.proto
@@ -31,4 +31,5 @@
   optional int64 foreground_usage_time = 14;
   optional int64 background_usage_time = 15;
   optional int64 screen_on_time = 16;
+  optional int64 foreground_service_usage_time = 17;
 }
diff --git a/src/com/android/settings/fuelgauge/protos/fuelgauge_usage_state.proto b/src/com/android/settings/fuelgauge/protos/fuelgauge_usage_state.proto
index b9b05a3..d53b814 100644
--- a/src/com/android/settings/fuelgauge/protos/fuelgauge_usage_state.proto
+++ b/src/com/android/settings/fuelgauge/protos/fuelgauge_usage_state.proto
@@ -36,4 +36,5 @@
   optional double foreground_service_usage_consume_power = 17;
   optional double background_usage_consume_power = 18;
   optional double cached_usage_consume_power = 19;
+  optional int64 foreground_service_usage_time_in_ms = 20;
 }
\ No newline at end of file
diff --git a/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto b/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto
index caa9c35..3c0705f 100644
--- a/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto
+++ b/src/com/android/settings/fuelgauge/protos/power_anomaly_event.proto
@@ -21,18 +21,12 @@
   optional string dismiss_record_key = 8;
 }
 
-// NOTE: Please DO NOT delete enum items or change enum values. Use [deprecated = true] instead.
-// The enum value will be used to decide the tips card style like icons and colors.
-//
 // Next id: 2
 enum PowerAnomalyType{
   TYPE_SETTINGS_BANNER = 0;
   TYPE_APPS_ITEM = 1;
 }
 
-// NOTE: Please DO NOT delete enum items or change enum values. Use [deprecated = true] instead.
-// The enum value will be used to decide pre-defined title and button labels.
-//
 // Next id: 8
 enum PowerAnomalyKey{
   KEY_BRIGHTNESS = 0;
@@ -45,6 +39,13 @@
   KEY_APP_FOREGROUND_HIGHER_THAN_USUAL = 7;
 }
 
+// Next id: 3
+enum DetectRequestSourceType{
+  TYPE_UNKNOWN_SOURCE = 0;
+  TYPE_USAGE_UI = 1;
+  TYPE_DATA_LOADER = 2;
+}
+
 message WarningBannerInfo {
   optional string title_string = 1;
   optional string description_string = 2;
@@ -67,4 +68,6 @@
   optional string main_button_string = 6;
   optional string cancel_button_string = 7;
   optional string item_key = 8;
+  optional string warning_info_string = 9;
+  optional string anomaly_hint_pref_key = 10;
 }
diff --git a/src/com/android/settings/gestures/AssistGestureFeatureProvider.java b/src/com/android/settings/gestures/AssistGestureFeatureProvider.java
deleted file mode 100644
index bc87ffe..0000000
--- a/src/com/android/settings/gestures/AssistGestureFeatureProvider.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.gestures;
-
-import android.content.Context;
-
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.List;
-
-/** Feature provider for the assist gesture. */
-public interface AssistGestureFeatureProvider {
-
-    /** Returns true if the assist gesture is supported. */
-    boolean isSupported(Context context);
-
-    /** Returns true if the sensor is available. */
-    boolean isSensorAvailable(Context context);
-
-    /** Returns a list of additional preference controllers */
-    List<AbstractPreferenceController> getControllers(Context context, Lifecycle lifecycle);
-
-}
diff --git a/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java b/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java
deleted file mode 100644
index 11c6b22..0000000
--- a/src/com/android/settings/gestures/AssistGestureFeatureProviderImpl.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.gestures;
-
-import android.content.Context;
-
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class AssistGestureFeatureProviderImpl implements AssistGestureFeatureProvider {
-
-    @Override
-    public boolean isSupported(Context context) {
-        return false;
-    }
-
-    @Override
-    public boolean isSensorAvailable(Context context) {
-        return false;
-    }
-
-    @Override
-    public List<AbstractPreferenceController> getControllers(Context context, Lifecycle lifecycle) {
-        return new ArrayList<>();
-    }
-
-}
diff --git a/src/com/android/settings/gestures/AssistGestureSettings.java b/src/com/android/settings/gestures/AssistGestureSettings.java
deleted file mode 100644
index f56416c..0000000
--- a/src/com/android/settings/gestures/AssistGestureSettings.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.gestures;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-
-@SearchIndexable
-public class AssistGestureSettings extends DashboardFragment {
-
-    private static final String TAG = "AssistGesture";
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.SETTINGS_ASSIST_GESTURE;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return TAG;
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.assist_gesture_settings;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle());
-    }
-
-    private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        controllers.addAll(FeatureFactory.getFactory(context).getAssistGestureFeatureProvider()
-                .getControllers(context, lifecycle));
-
-        return controllers;
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.assist_gesture_settings;
-                    return Arrays.asList(sir);
-                }
-
-                @Override
-                public List<AbstractPreferenceController> createPreferenceControllers(
-                        Context context) {
-                    return buildPreferenceControllers(context, null /* lifecycle */);
-                }
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    AssistGestureSettingsPreferenceController controller =
-                            new AssistGestureSettingsPreferenceController(context,
-                                    "gesture_assist_input_summary");
-                    controller.setAssistOnly(false);
-                    return controller.isAvailable();
-                }
-            };
-}
-
diff --git a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java b/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
deleted file mode 100644
index 49a9de6..0000000
--- a/src/com/android/settings/gestures/AssistGestureSettingsPreferenceController.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.gestures;
-
-import static android.provider.Settings.Secure.ASSIST_GESTURE_ENABLED;
-import static android.provider.Settings.Secure.ASSIST_GESTURE_SILENCE_ALERTS_ENABLED;
-
-import android.content.Context;
-import android.provider.Settings;
-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.overlay.FeatureFactory;
-
-public class AssistGestureSettingsPreferenceController extends GesturePreferenceController {
-
-    private static final String TAG = "AssistGesture";
-    private static final String PREF_KEY_VIDEO = "gesture_assist_video";
-
-    private static final String SECURE_KEY_ASSIST = ASSIST_GESTURE_ENABLED;
-    private static final String SECURE_KEY_SILENCE = ASSIST_GESTURE_SILENCE_ALERTS_ENABLED;
-    private static final int ON = 1;
-    private static final int OFF = 0;
-
-    private final AssistGestureFeatureProvider mFeatureProvider;
-    private boolean mWasAvailable;
-
-    private PreferenceScreen mScreen;
-    private Preference mPreference;
-
-    @VisibleForTesting
-    boolean mAssistOnly;
-
-    public AssistGestureSettingsPreferenceController(Context context, String key) {
-        super(context, key);
-        mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
-        mWasAvailable = isAvailable();
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        final boolean isSupported = mFeatureProvider.isSupported(mContext);
-        final boolean isSensorAvailable = mFeatureProvider.isSensorAvailable(mContext);
-        final boolean isAvailable = mAssistOnly ? isSupported : isSensorAvailable;
-        Log.d(TAG, "mAssistOnly:" + mAssistOnly + ", isSupported:" + isSupported
-                + ", isSensorAvailable:" + isSensorAvailable);
-        return isAvailable ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        mScreen = screen;
-        mPreference = screen.findPreference(getPreferenceKey());
-        super.displayPreference(screen);
-    }
-
-    @Override
-    public void onStart() {
-        if (mWasAvailable != isAvailable()) {
-            // Only update the preference visibility if the availability has changed -- otherwise
-            // the preference may be incorrectly added to screens with collapsed sections.
-            updatePreference();
-            mWasAvailable = isAvailable();
-        }
-    }
-
-    public AssistGestureSettingsPreferenceController setAssistOnly(boolean assistOnly) {
-        mAssistOnly = assistOnly;
-        return this;
-    }
-
-    private void updatePreference() {
-        if (mPreference == null) {
-            return;
-        }
-
-        if (isAvailable()) {
-            if (mScreen.findPreference(getPreferenceKey()) == null) {
-                mScreen.addPreference(mPreference);
-            }
-        } else {
-            mScreen.removePreference(mPreference);
-        }
-    }
-
-    private boolean isAssistGestureEnabled() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                SECURE_KEY_ASSIST, ON) != 0;
-    }
-
-    private boolean isSilenceGestureEnabled() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                SECURE_KEY_SILENCE, ON) != 0;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return Settings.Secure.putInt(mContext.getContentResolver(), SECURE_KEY_ASSIST,
-                isChecked ? ON : OFF);
-    }
-
-    @Override
-    protected String getVideoPrefKey() {
-        return PREF_KEY_VIDEO;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        boolean isEnabled = isAssistGestureEnabled() && mFeatureProvider.isSupported(mContext);
-        if (!mAssistOnly) {
-            isEnabled = isEnabled || isSilenceGestureEnabled();
-        }
-        return mContext.getText(
-                isEnabled ? R.string.gesture_setting_on : R.string.gesture_setting_off);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return Settings.Secure.getInt(mContext.getContentResolver(), SECURE_KEY_ASSIST, OFF) == ON;
-    }
-}
diff --git a/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java b/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java
index 2d09e6b..b3a72d0 100644
--- a/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java
+++ b/src/com/android/settings/gestures/BackGestureIndicatorDrawable.java
@@ -18,8 +18,6 @@
 
 import android.animation.TimeAnimator;
 import android.annotation.IntRange;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.graphics.ColorFilter;
@@ -30,6 +28,9 @@
 import android.os.Looper;
 import android.os.Message;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 
diff --git a/src/com/android/settings/gestures/DoubleTapPowerSettings.java b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
index 1ca6ea5..577758d 100644
--- a/src/com/android/settings/gestures/DoubleTapPowerSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapPowerSettings.java
@@ -39,7 +39,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
     }
diff --git a/src/com/android/settings/gestures/DoubleTapScreenSettings.java b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
index 9759130..5eea3d6 100644
--- a/src/com/android/settings/gestures/DoubleTapScreenSettings.java
+++ b/src/com/android/settings/gestures/DoubleTapScreenSettings.java
@@ -40,7 +40,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
diff --git a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
index 9f2e9e7..2785483 100644
--- a/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
+++ b/src/com/android/settings/gestures/DoubleTwistGestureSettings.java
@@ -43,7 +43,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
     }
diff --git a/src/com/android/settings/gestures/GestureSettings.java b/src/com/android/settings/gestures/GestureSettings.java
index d82cb10..8532b16 100644
--- a/src/com/android/settings/gestures/GestureSettings.java
+++ b/src/com/android/settings/gestures/GestureSettings.java
@@ -53,7 +53,6 @@
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-        use(AssistGestureSettingsPreferenceController.class).setAssistOnly(false);
         use(PickupGesturePreferenceController.class).setConfig(getConfig(context));
         use(DoubleTapScreenPreferenceController.class).setConfig(getConfig(context));
     }
diff --git a/src/com/android/settings/gestures/GesturesSettingPreferenceController.java b/src/com/android/settings/gestures/GesturesSettingPreferenceController.java
index ff069ab..e8c4b93 100644
--- a/src/com/android/settings/gestures/GesturesSettingPreferenceController.java
+++ b/src/com/android/settings/gestures/GesturesSettingPreferenceController.java
@@ -21,26 +21,19 @@
 
 import androidx.annotation.NonNull;
 
-import com.android.settings.aware.AwareFeatureProvider;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import java.util.ArrayList;
 import java.util.List;
 
 public class GesturesSettingPreferenceController extends BasePreferenceController {
-    private final AssistGestureFeatureProvider mFeatureProvider;
-    private final AwareFeatureProvider mAwareFeatureProvider;
     private List<AbstractPreferenceController> mGestureControllers;
 
-    private static final String KEY_GESTURES_SETTINGS = "gesture_settings";
     private static final String FAKE_PREF_KEY = "fake_key_only_for_get_available";
 
-    public GesturesSettingPreferenceController(Context context) {
-        super(context, KEY_GESTURES_SETTINGS);
-        mFeatureProvider = FeatureFactory.getFactory(context).getAssistGestureFeatureProvider();
-        mAwareFeatureProvider = FeatureFactory.getFactory(context).getAwareFeatureProvider();
+    public GesturesSettingPreferenceController(Context context, String key) {
+        super(context, key);
     }
 
     @Override
@@ -67,8 +60,6 @@
                 new AmbientDisplayConfiguration(context);
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
 
-        controllers.add(new AssistGestureSettingsPreferenceController(context, FAKE_PREF_KEY)
-                .setAssistOnly(false));
         controllers.add(new SwipeToNotificationPreferenceController(context, FAKE_PREF_KEY));
         controllers.add(new DoubleTwistPreferenceController(context, FAKE_PREF_KEY));
         controllers.add(new DoubleTapPowerPreferenceController(context, FAKE_PREF_KEY));
diff --git a/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java b/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java
deleted file mode 100644
index 32a7ba5..0000000
--- a/src/com/android/settings/gestures/GlobalActionsPanelPreferenceController.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.gestures;
-
-import android.content.Context;
-import android.provider.Settings;
-import android.text.TextUtils;
-
-import com.android.internal.annotations.VisibleForTesting;
-
-public class GlobalActionsPanelPreferenceController extends GesturePreferenceController {
-    private static final String PREF_KEY_VIDEO = "global_actions_panel_video";
-
-    @VisibleForTesting
-    protected static final String ENABLED_SETTING = Settings.Secure.GLOBAL_ACTIONS_PANEL_ENABLED;
-    @VisibleForTesting
-    protected static final String AVAILABLE_SETTING =
-            Settings.Secure.GLOBAL_ACTIONS_PANEL_AVAILABLE;
-
-    @VisibleForTesting
-    protected static final String TOGGLE_KEY = "gesture_global_actions_panel_switch";
-
-    public GlobalActionsPanelPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        int enabled = Settings.Secure.getInt(mContext.getContentResolver(), AVAILABLE_SETTING, 0);
-        return enabled == 1 ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return Settings.Secure.putInt(mContext.getContentResolver(), ENABLED_SETTING,
-                isChecked ? 1 : 0);
-    }
-
-    @Override
-    protected String getVideoPrefKey() {
-        return PREF_KEY_VIDEO;
-    }
-
-    @Override
-    public boolean isSliceable() {
-        return TextUtils.equals(getPreferenceKey(), TOGGLE_KEY);
-    }
-
-    @Override
-    public boolean isPublicSlice() {
-        return true;
-    }
-
-    @Override
-    public boolean isChecked() {
-        int enabled = Settings.Secure.getInt(mContext.getContentResolver(), ENABLED_SETTING, 0);
-        return enabled == 1;
-    }
-}
diff --git a/src/com/android/settings/gestures/OneHandedSettings.java b/src/com/android/settings/gestures/OneHandedSettings.java
index 53cc48f..c84b9ea 100644
--- a/src/com/android/settings/gestures/OneHandedSettings.java
+++ b/src/com/android/settings/gestures/OneHandedSettings.java
@@ -29,6 +29,7 @@
 import com.android.settings.accessibility.AccessibilityShortcutPreferenceFragment;
 import com.android.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
 import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
 import com.android.settingslib.widget.IllustrationPreference;
 import com.android.settingslib.widget.MainSwitchPreference;
 
@@ -38,6 +39,7 @@
  * <p>The child {@link AccessibilityShortcutPreferenceFragment} shows the actual UI for
  * providing basic accessibility shortcut service setup.
  */
+@SearchIndexable(forTarget = SearchIndexable.MOBILE)
 public class OneHandedSettings extends AccessibilityShortcutPreferenceFragment {
 
     private static final String TAG = "OneHandedSettings";
diff --git a/src/com/android/settings/gestures/PickupGestureSettings.java b/src/com/android/settings/gestures/PickupGestureSettings.java
index 2a28ed3..bfda405 100644
--- a/src/com/android/settings/gestures/PickupGestureSettings.java
+++ b/src/com/android/settings/gestures/PickupGestureSettings.java
@@ -40,7 +40,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
diff --git a/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java b/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java
index 642623a..9c0e0bf 100644
--- a/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java
+++ b/src/com/android/settings/gestures/PreventRingingSwitchPreferenceController.java
@@ -18,7 +18,8 @@
 
 import android.content.Context;
 import android.provider.Settings;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
@@ -28,10 +29,9 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 public class PreventRingingSwitchPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, OnMainSwitchChangeListener {
+        implements PreferenceControllerMixin, OnCheckedChangeListener {
 
     private static final String KEY = "gesture_prevent_ringing_switch";
     private final Context mContext;
@@ -94,7 +94,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         final int preventRingingSetting = Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.VOLUME_HUSH_GESTURE, Settings.Secure.VOLUME_HUSH_VIBRATE);
         final int newRingingSetting = preventRingingSetting == Settings.Secure.VOLUME_HUSH_OFF
diff --git a/src/com/android/settings/gestures/SwipeToNotificationSettings.java b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
index f3d0008..953603a 100644
--- a/src/com/android/settings/gestures/SwipeToNotificationSettings.java
+++ b/src/com/android/settings/gestures/SwipeToNotificationSettings.java
@@ -39,7 +39,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
     }
diff --git a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
index 0d25190..c40212b 100644
--- a/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
+++ b/src/com/android/settings/gestures/SystemNavigationGestureSettings.java
@@ -116,7 +116,7 @@
         super.onAttach(context);
 
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
@@ -403,6 +403,7 @@
                         SearchIndexableRaw data = new SearchIndexableRaw(context);
                         data.title = res.getString(R.string.legacy_navigation_title);
                         data.key = KEY_SYSTEM_NAV_3BUTTONS;
+                        data.keywords = res.getString(R.string.keywords_3_button_navigation);
                         result.add(data);
                     }
 
diff --git a/src/com/android/settings/gestures/TapScreenGestureSettings.java b/src/com/android/settings/gestures/TapScreenGestureSettings.java
index 98439d6..773ef0e 100644
--- a/src/com/android/settings/gestures/TapScreenGestureSettings.java
+++ b/src/com/android/settings/gestures/TapScreenGestureSettings.java
@@ -39,7 +39,7 @@
     public void onAttach(Context context) {
         super.onAttach(context);
         SuggestionFeatureProvider suggestionFeatureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         SharedPreferences prefs = suggestionFeatureProvider.getSharedPrefs(context);
         prefs.edit().putBoolean(PREF_KEY_SUGGESTION_COMPLETE, true).apply();
 
diff --git a/src/com/android/settings/homepage/SettingsHomepageActivity.java b/src/com/android/settings/homepage/SettingsHomepageActivity.java
index 829a89c..5510301 100644
--- a/src/com/android/settings/homepage/SettingsHomepageActivity.java
+++ b/src/com/android/settings/homepage/SettingsHomepageActivity.java
@@ -50,6 +50,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.Insets;
+import androidx.core.util.Consumer;
 import androidx.core.view.ViewCompat;
 import androidx.core.view.WindowCompat;
 import androidx.core.view.WindowInsetsCompat;
@@ -57,7 +58,10 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
+import androidx.window.embedding.SplitController;
+import androidx.window.embedding.SplitInfo;
 import androidx.window.embedding.SplitRule;
+import androidx.window.java.embedding.SplitControllerCallbackAdapter;
 
 import com.android.settings.R;
 import com.android.settings.Settings;
@@ -77,6 +81,7 @@
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
 import java.net.URISyntaxException;
+import java.util.List;
 import java.util.Set;
 
 /** Settings homepage activity */
@@ -112,6 +117,10 @@
     // A regular layout shows icons on homepage, whereas a simplified layout doesn't.
     private boolean mIsRegularLayout = true;
 
+    private SplitControllerCallbackAdapter mSplitControllerAdapter;
+    private SplitInfoCallback mCallback;
+    private boolean mAllowUpdateSuggestion = true;
+
     /** A listener receiving homepage loaded events. */
     public interface HomepageLoadedListener {
         /** Called when the homepage is loaded. */
@@ -147,15 +156,18 @@
      * to avoid the flicker caused by the suggestion suddenly appearing/disappearing.
      */
     public void showHomepageWithSuggestion(boolean showSuggestion) {
+        if (mAllowUpdateSuggestion) {
+            Log.i(TAG, "showHomepageWithSuggestion: " + showSuggestion);
+            mAllowUpdateSuggestion = false;
+            mSuggestionView.setVisibility(showSuggestion ? View.VISIBLE : View.GONE);
+            mTwoPaneSuggestionView.setVisibility(showSuggestion ? View.VISIBLE : View.GONE);
+        }
+
         if (mHomepageView == null) {
             return;
         }
-        Log.i(TAG, "showHomepageWithSuggestion: " + showSuggestion);
         final View homepageView = mHomepageView;
-        mSuggestionView.setVisibility(showSuggestion ? View.VISIBLE : View.GONE);
-        mTwoPaneSuggestionView.setVisibility(showSuggestion ? View.VISIBLE : View.GONE);
         mHomepageView = null;
-
         mLoadedListeners.forEach(listener -> listener.onHomepageLoaded());
         mLoadedListeners.clear();
         homepageView.setVisibility(View.VISIBLE);
@@ -175,6 +187,12 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
+        if (!isTaskRoot() && !isSingleTask()) {
+            Log.i(TAG, "Not task root nor single task, finish");
+            finish();
+            return;
+        }
+
         mIsEmbeddingActivityEnabled = ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this);
         if (mIsEmbeddingActivityEnabled) {
             final UserManager um = getSystemService(UserManager.class);
@@ -259,6 +277,23 @@
     protected void onStart() {
         ((SettingsApplication) getApplication()).setHomeActivity(this);
         super.onStart();
+        if (mIsEmbeddingActivityEnabled) {
+            final SplitController splitController = SplitController.getInstance(this);
+            mSplitControllerAdapter = new SplitControllerCallbackAdapter(splitController);
+            mCallback = new SplitInfoCallback(this);
+            mSplitControllerAdapter.addSplitListener(this, Runnable::run, mCallback);
+        }
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        mAllowUpdateSuggestion = true;
+        if (mSplitControllerAdapter != null && mCallback != null) {
+            mSplitControllerAdapter.removeSplitListener(mCallback);
+            mCallback = null;
+            mSplitControllerAdapter = null;
+        }
     }
 
     @Override
@@ -281,21 +316,19 @@
     @Override
     public void onConfigurationChanged(Configuration newConfig) {
         super.onConfigurationChanged(newConfig);
-        final boolean newTwoPaneState = ActivityEmbeddingUtils.isAlreadyEmbedded(this);
-        if (mIsTwoPane != newTwoPaneState) {
-            mIsTwoPane = newTwoPaneState;
-            updateHomepageAppBar();
-            updateHomepageBackground();
-            updateHomepagePaddings();
-        }
-        updateSplitLayout();
+        updateHomepageUI();
+    }
+
+    private boolean isSingleTask() {
+        ActivityInfo info = getIntent().resolveActivityInfo(getPackageManager(),
+                PackageManager.MATCH_DEFAULT_ONLY);
+        return info.launchMode == ActivityInfo.LAUNCH_SINGLE_TASK;
     }
 
     private void updateSplitLayout() {
         if (!mIsEmbeddingActivityEnabled) {
             return;
         }
-
         if (mIsTwoPane) {
             if (mIsRegularLayout == ActivityEmbeddingUtils.isRegularHomepageLayout(this)) {
                 // Layout unchanged
@@ -340,12 +373,12 @@
 
     private void initSearchBarView() {
         final Toolbar toolbar = findViewById(R.id.search_action_bar);
-        FeatureFactory.getFactory(this).getSearchFeatureProvider()
+        FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
                 .initSearchToolbar(this /* activity */, toolbar, SettingsEnums.SETTINGS_HOMEPAGE);
 
         if (mIsEmbeddingActivityEnabled) {
             final Toolbar toolbarTwoPaneVersion = findViewById(R.id.search_action_bar_two_pane);
-            FeatureFactory.getFactory(this).getSearchFeatureProvider()
+            FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
                     .initSearchToolbar(this /* activity */, toolbarTwoPaneVersion,
                             SettingsEnums.SETTINGS_HOMEPAGE);
         }
@@ -365,6 +398,17 @@
         }
     }
 
+    private void updateHomepageUI() {
+        final boolean newTwoPaneState = ActivityEmbeddingUtils.isAlreadyEmbedded(this);
+        if (mIsTwoPane != newTwoPaneState) {
+            mIsTwoPane = newTwoPaneState;
+            updateHomepageAppBar();
+            updateHomepageBackground();
+            updateHomepagePaddings();
+        }
+        updateSplitLayout();
+    }
+
     private void updateHomepageBackground() {
         if (!mIsEmbeddingActivityEnabled) {
             return;
@@ -383,7 +427,7 @@
     }
 
     private void showSuggestionFragment(boolean scrollNeeded) {
-        final Class<? extends Fragment> fragmentClass = FeatureFactory.getFactory(this)
+        final Class<? extends Fragment> fragmentClass = FeatureFactory.getFeatureFactory()
                 .getSuggestionFeatureProvider().getContextualSuggestionFragment();
         if (fragmentClass == null) {
             return;
@@ -733,4 +777,24 @@
             }
         }
     }
+
+    /** The callback invoked while AE splitting. */
+    private static class SplitInfoCallback implements Consumer<List<SplitInfo>> {
+        private final SettingsHomepageActivity mActivity;
+
+        private boolean mIsSplitUpdatedUI = false;
+
+        SplitInfoCallback(SettingsHomepageActivity activity) {
+            mActivity = activity;
+        }
+
+        @Override
+        public void accept(List<SplitInfo> splitInfoList) {
+            if (!splitInfoList.isEmpty() && !mIsSplitUpdatedUI && !mActivity.isFinishing()
+                    && ActivityEmbeddingUtils.isAlreadyEmbedded(mActivity)) {
+                mIsSplitUpdatedUI = true;
+                mActivity.updateHomepageUI();
+            }
+        }
+    }
 }
diff --git a/src/com/android/settings/homepage/TopLevelSettings.java b/src/com/android/settings/homepage/TopLevelSettings.java
index ace667f..d1fa760 100644
--- a/src/com/android/settings/homepage/TopLevelSettings.java
+++ b/src/com/android/settings/homepage/TopLevelSettings.java
@@ -178,7 +178,7 @@
     public void onStart() {
         if (mFirstStarted) {
             mFirstStarted = false;
-            FeatureFactory.getFactory(getContext()).getSearchFeatureProvider().sendPreIndexIntent(
+            FeatureFactory.getFeatureFactory().getSearchFeatureProvider().sendPreIndexIntent(
                     getContext());
         } else if (mIsEmbeddingActivityEnabled && isOnlyOneActivityInTask()
                 && !isActivityEmbedded()) {
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
index e4a644c..ebafbaf 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardLoader.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.intelligence.ContextualCardProto.ContextualCard.Category.STICKY_VALUE;
 import static com.android.settings.slices.CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI;
-import static com.android.settings.slices.CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI;
 
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -158,7 +157,7 @@
 
         if (!CardContentProvider.DELETE_CARD_URI.equals(mNotifyUri)) {
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
             metricsFeatureProvider.action(mContext,
                     SettingsEnums.ACTION_CONTEXTUAL_CARD_NOT_SHOW,
@@ -178,7 +177,7 @@
     @VisibleForTesting
     Cursor getContextualCardsFromProvider() {
         final ContextualCardFeatureProvider cardFeatureProvider =
-                FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
+                FeatureFactory.getFeatureFactory().getContextualCardFeatureProvider(mContext);
         return cardFeatureProvider.getContextualCards();
     }
 
@@ -225,8 +224,7 @@
     }
 
     private boolean isLargeCard(ContextualCard card) {
-        return card.getSliceUri().equals(CONTEXTUAL_WIFI_SLICE_URI)
-                || card.getSliceUri().equals(BLUETOOTH_DEVICES_SLICE_URI);
+        return card.getSliceUri().equals(BLUETOOTH_DEVICES_SLICE_URI);
     }
 
     public interface CardContentLoaderListener {
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
index f5d0e66..8b8b33f 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardManager.java
@@ -235,7 +235,7 @@
         final List<ContextualCard> cardsToKeep = getCardsToKeep(cards);
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         //navigate back to the homepage, screen rotate or after card dismissal
         if (!mIsFirstLaunch) {
diff --git a/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java b/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java
index fb879ba..a66e066 100644
--- a/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java
+++ b/src/com/android/settings/homepage/contextualcards/ContextualCardsFragment.java
@@ -66,7 +66,7 @@
         super.onCreate(savedInstanceState);
         final Context context = getContext();
         if (savedInstanceState == null) {
-            FeatureFactory.getFactory(context).getSlicesFeatureProvider().newUiSession();
+            FeatureFactory.getFeatureFactory().getSlicesFeatureProvider().newUiSession();
             BluetoothUpdateWorker.initLocalBtManager(getContext());
         }
         mContextualCardManager = new ContextualCardManager(context, getSettingsLifecycle(),
@@ -154,7 +154,7 @@
     private void resetSession(Context context) {
         sRestartLoaderNeeded = true;
         unregisterScreenOffReceiver();
-        FeatureFactory.getFactory(context).getSlicesFeatureProvider().newUiSession();
+        FeatureFactory.getFeatureFactory().getSlicesFeatureProvider().newUiSession();
     }
 
     /**
diff --git a/src/com/android/settings/homepage/contextualcards/ControllerRendererPool.java b/src/com/android/settings/homepage/contextualcards/ControllerRendererPool.java
index f556018..57e6d6f 100644
--- a/src/com/android/settings/homepage/contextualcards/ControllerRendererPool.java
+++ b/src/com/android/settings/homepage/contextualcards/ControllerRendererPool.java
@@ -16,10 +16,10 @@
 
 package com.android.settings.homepage.contextualcards;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.collection.ArraySet;
 import androidx.lifecycle.LifecycleOwner;
 
diff --git a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
index f98d795..fb7ab89 100644
--- a/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
+++ b/src/com/android/settings/homepage/contextualcards/EligibleCardChecker.java
@@ -56,7 +56,7 @@
     public ContextualCard call() {
         final long startTime = System.currentTimeMillis();
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         ContextualCard result;
 
         if (isCardEligibleToDisplay(mCard)) {
diff --git a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java
index 81142c2..509014c 100644
--- a/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java
+++ b/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProvider.java
@@ -16,7 +16,7 @@
 
 package com.android.settings.homepage.contextualcards;
 
-import android.annotation.Nullable;
+import androidx.annotation.Nullable;
 
 import com.android.settings.intelligence.ContextualCardProto.ContextualCard;
 import com.android.settings.intelligence.ContextualCardProto.ContextualCardList;
@@ -32,12 +32,6 @@
     @Override
     @Nullable
     public ContextualCardList getContextualCards() {
-        final ContextualCard wifiCard =
-                ContextualCard.newBuilder()
-                        .setSliceUri(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())
-                        .setCardName(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())
-                        .setCardCategory(ContextualCard.Category.IMPORTANT)
-                        .build();
         final ContextualCard connectedDeviceCard =
                 ContextualCard.newBuilder()
                         .setSliceUri(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI.toString())
@@ -71,7 +65,6 @@
                         .setCardCategory(ContextualCard.Category.IMPORTANT)
                         .build();
         final ContextualCardList cards = ContextualCardList.newBuilder()
-                .addCard(wifiCard)
                 .addCard(connectedDeviceCard)
                 .addCard(lowStorageCard)
                 .addCard(contextualAdaptiveSleepCard)
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
index ccfb732..732ec73 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionContextualCardRenderer.java
@@ -61,8 +61,8 @@
     public void bindView(RecyclerView.ViewHolder holder, ContextualCard contextualCard) {
         final ConditionalCardHolder view = (ConditionalCardHolder) holder;
         final ConditionalContextualCard card = (ConditionalContextualCard) contextualCard;
-        final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
-                mContext).getMetricsFeatureProvider();
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         metricsFeatureProvider.visible(mContext, SettingsEnums.SETTINGS_HOMEPAGE,
                 card.getMetricsConstant(), 0);
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java
index 2944cc8..83f7ede 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionFooterContextualCardRenderer.java
@@ -50,8 +50,8 @@
 
     @Override
     public void bindView(RecyclerView.ViewHolder holder, ContextualCard card) {
-        final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
-                mContext).getMetricsFeatureProvider();
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         holder.itemView.setOnClickListener(v -> {
             metricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
                     SettingsEnums.ACTION_SETTINGS_CONDITION_EXPAND,
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
index 6fba85e..25a444f 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/ConditionHeaderContextualCardRenderer.java
@@ -56,8 +56,8 @@
         final ConditionHeaderContextualCard headerCard =
                 (ConditionHeaderContextualCard) contextualCard;
         final ConditionHeaderCardHolder view = (ConditionHeaderCardHolder) holder;
-        final MetricsFeatureProvider metricsFeatureProvider = FeatureFactory.getFactory(
-                mContext).getMetricsFeatureProvider();
+        final MetricsFeatureProvider metricsFeatureProvider =
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         view.icons.removeAllViews();
         headerCard.getConditionalCards().forEach(card -> {
             final ImageView icon = (ImageView) LayoutInflater.from(mContext).inflate(
diff --git a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
index 4d79a01..e69a336 100644
--- a/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/conditional/DndConditionCardController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.homepage.contextualcards.conditional;
 
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.app.settings.SettingsEnums;
 import android.content.BroadcastReceiver;
@@ -86,7 +87,12 @@
 
     @Override
     public void onActionClick() {
-        mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_OFF, null, TAG);
+        if (Flags.modesApi()) {
+            mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_OFF, null, TAG,
+                    /* fromUser= */ true);
+        } else {
+            mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_OFF, null, TAG);
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
index 1ddb935..b0061fa 100644
--- a/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardController.java
@@ -64,7 +64,7 @@
             return;
         }
         final ComponentName suggestionServiceComponent =
-                FeatureFactory.getFactory(mContext).getSuggestionFeatureProvider()
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider()
                         .getSuggestionServiceComponent();
         mSuggestionController = new SuggestionController(
                 mContext, suggestionServiceComponent, this /* listener */);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
index 96924e4..974af9f 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSlice.java
@@ -74,7 +74,7 @@
 
     @Override
     public Slice getSlice() {
-        final long currentUiSession = FeatureFactory.getFactory(mContext)
+        final long currentUiSession = FeatureFactory.getFeatureFactory()
                 .getSlicesFeatureProvider().getUiSessionToken();
         if (currentUiSession != sActiveUiSession) {
             sActiveUiSession = currentUiSession;
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
index ced3f8d..b348d3a 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardController.java
@@ -69,13 +69,13 @@
     public void onDismissed(ContextualCard card) {
         ThreadUtils.postOnBackgroundThread(() -> {
             final ContextualCardFeatureProvider cardFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getContextualCardFeatureProvider(mContext);
+                    FeatureFactory.getFeatureFactory().getContextualCardFeatureProvider(mContext);
             cardFeatureProvider.markCardAsDismissed(mContext, card.getName());
         });
         showFeedbackDialog(card);
 
         final MetricsFeatureProvider metricsFeatureProvider =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         metricsFeatureProvider.action(mContext,
                 SettingsEnums.ACTION_CONTEXTUAL_CARD_DISMISS,
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
index fd60959..ff3f0fd 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceFullCardRendererHelper.java
@@ -57,7 +57,7 @@
                     eventInfo.actionType, cardHolder.getAdapterPosition());
 
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
             metricsFeatureProvider.action(mContext,
                     SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
diff --git a/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java b/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java
index f774542..c881232 100644
--- a/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java
+++ b/src/com/android/settings/homepage/contextualcards/slices/SliceHalfCardRendererHelper.java
@@ -69,7 +69,7 @@
                     EventInfo.ACTION_TYPE_CONTENT, view.getAdapterPosition());
 
             final MetricsFeatureProvider metricsFeatureProvider =
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
             metricsFeatureProvider.action(mContext,
                     SettingsEnums.ACTION_CONTEXTUAL_CARD_CLICK, log);
diff --git a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
index 3ec879c..7e27529 100644
--- a/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragment.java
@@ -84,6 +84,16 @@
                 newUserAwareContext = context.createContextAsUser(UserHandle.of(newUserId), 0);
                 break;
             }
+            case ProfileSelectFragment.ProfileType.PRIVATE: {
+                // If the user is a private profile user, use currentUserId directly. Or get the
+                // private profile userId instead.
+                newUserId = userManager.isPrivateProfile()
+                        ? currentUserId
+                        : Utils.getCurrentUserIdOfType(
+                                userManager, ProfileSelectFragment.ProfileType.PRIVATE);
+                newUserAwareContext = context.createContextAsUser(UserHandle.of(newUserId), 0);
+                break;
+            }
             case ProfileSelectFragment.ProfileType.PERSONAL: {
                 // Use the parent user of the current user if the current user is profile.
                 final UserHandle currentUser = UserHandle.of(currentUserId);
@@ -155,7 +165,7 @@
         final Context prefContext = getPrefContext();
         final List<InputMethodInfo> imis = mInputMethodSettingValues.getInputMethodList();
         final List<InputMethodInfo> enabledImis = getContext().getSystemService(
-                InputMethodManager.class).getEnabledInputMethodListAsUser(mUserId);
+                InputMethodManager.class).getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
         final int numImis = (imis == null ? 0 : imis.size());
         for (int i = 0; i < numImis; ++i) {
             final InputMethodInfo imi = imis.get(i);
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
index 94f0757..54c608c 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutDialogFragment.java
@@ -215,7 +215,7 @@
     private void updateSwitchHintVisibility() {
         AlertDialog dialog = (AlertDialog)getDialog();
         if (dialog != null) {
-            View customPanel = dialog.findViewById(R.id.customPanel);
+            View customPanel = dialog.findViewById(com.google.android.material.R.id.customPanel);
             customPanel.setVisibility(mAdapter.getCount() > 1 ? View.VISIBLE : View.GONE);
         }
     }
diff --git a/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java
index 10cd4a2..1f29a2b 100644
--- a/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java
+++ b/src/com/android/settings/inputmethod/KeyboardLayoutPickerController.java
@@ -25,7 +25,8 @@
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -40,7 +41,7 @@
         InputManager.InputDeviceListener, LifecycleObserver, OnStart, OnStop {
 
     private final InputManager mIm;
-    private final Map<SwitchPreference, KeyboardLayout> mPreferenceMap;
+    private final Map<TwoStatePreference, KeyboardLayout> mPreferenceMap;
 
     private Fragment mParent;
     private int mInputDeviceId;
@@ -95,11 +96,10 @@
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!(preference instanceof SwitchPreference)) {
+        if (!(preference instanceof TwoStatePreference switchPref)) {
             return false;
         }
 
-        final SwitchPreference switchPref = (SwitchPreference) preference;
         final KeyboardLayout layout = mPreferenceMap.get(switchPref);
         if (layout != null) {
             final boolean checked = switchPref.isChecked();
@@ -138,7 +138,7 @@
                 mInputDeviceIdentifier);
         Arrays.sort(enabledKeyboardLayouts);
 
-        for (Map.Entry<SwitchPreference, KeyboardLayout> entry : mPreferenceMap.entrySet()) {
+        for (Map.Entry<TwoStatePreference, KeyboardLayout> entry : mPreferenceMap.entrySet()) {
             entry.getKey().setChecked(Arrays.binarySearch(enabledKeyboardLayouts,
                     entry.getValue().getDescriptor()) >= 0);
         }
@@ -149,7 +149,7 @@
             return;
         }
         for (KeyboardLayout layout : mKeyboardLayouts) {
-            final SwitchPreference pref = new SwitchPreference(mScreen.getContext());
+            final TwoStatePreference pref = new SwitchPreferenceCompat(mScreen.getContext());
             pref.setTitle(layout.getLabel());
             pref.setSummary(layout.getCollection());
             // TODO: Waiting for new API to use a prefix with special number to setKey
diff --git a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
index 076173a..fa7b372 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysPickerDialogFragment.java
@@ -21,6 +21,7 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.hardware.input.InputManager;
@@ -47,6 +48,7 @@
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.Utils;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -68,6 +70,7 @@
     private TextView mLeftBracket;
     private TextView mRightBracket;
     private ImageView mActionKeyIcon;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     private List<int[]> mRemappableKeyList =
             new ArrayList<>(Arrays.asList(
@@ -91,7 +94,8 @@
         super.onCreateDialog(savedInstanceState);
 
         mActivity = getActivity();
-        FeatureFactory featureFactory = FeatureFactory.getFactory(mActivity);
+        FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
+        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
         InputManager inputManager = mActivity.getSystemService(InputManager.class);
         mKeyDefaultName = getArguments().getString(DEFAULT_KEY);
@@ -139,6 +143,7 @@
         doneButton.setOnClickListener(v -> {
             String selectedItem = modifierKeys.get(adapter.getCurrentItem());
             Spannable itemSummary;
+            logMetricsForRemapping(selectedItem);
             if (selectedItem.equals(mKeyDefaultName)) {
                 itemSummary = new SpannableString(
                         mActivity.getString(R.string.modifier_keys_default_summary));
@@ -189,6 +194,28 @@
         return modifierKeyDialog;
     }
 
+    private void logMetricsForRemapping(String selectedItem) {
+        if (mKeyDefaultName.equals("Caps lock")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_CAPS_LOCK_TO, selectedItem);
+        }
+
+        if (mKeyDefaultName.equals("Ctrl")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_CTRL_TO, selectedItem);
+        }
+
+        if (mKeyDefaultName.equals("Action key")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_ACTION_KEY_TO, selectedItem);
+        }
+
+        if (mKeyDefaultName.equals("Alt")) {
+            mMetricsFeatureProvider.action(
+                    mActivity, SettingsEnums.ACTION_FROM_ALT_TO, selectedItem);
+        }
+    }
+
     private void setInitialFocusItem(
             List<String> modifierKeys, ModifierKeyAdapter adapter) {
         if (modifierKeys.indexOf(mKeyFocus) == -1) {
diff --git a/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java b/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
index 77def48..5a5b69e 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysPreferenceController.java
@@ -90,7 +90,7 @@
         mIm = context.getSystemService(InputManager.class);
         Objects.requireNonNull(mIm, "InputManager service cannot be null");
         KeyboardSettingsFeatureProvider featureProvider =
-                FeatureFactory.getFactory(context).getKeyboardSettingsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getKeyboardSettingsFeatureProvider();
         mDrawable = featureProvider.getActionKeyIcon(context);
     }
 
diff --git a/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java b/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
index 070968c..d49fbd1 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysResetDialogFragment.java
@@ -21,6 +21,7 @@
 import android.app.Activity;
 import android.app.AlertDialog;
 import android.app.Dialog;
+import android.app.settings.SettingsEnums;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.view.LayoutInflater;
@@ -31,6 +32,8 @@
 import androidx.fragment.app.DialogFragment;
 
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class ModifierKeysResetDialogFragment extends DialogFragment {
 
@@ -39,6 +42,8 @@
     private static final String MODIFIER_KEYS_META = "modifier_keys_meta";
     private static final String MODIFIER_KEYS_ALT = "modifier_keys_alt";
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     private String[] mKeys = {
             MODIFIER_KEYS_CAPS_LOCK,
             MODIFIER_KEYS_CTRL,
@@ -52,6 +57,7 @@
         super.onCreateDialog(savedInstanceState);
 
         Activity activity = getActivity();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         InputManager inputManager = activity.getSystemService(InputManager.class);
         View dialoglayout =
                 LayoutInflater.from(activity).inflate(R.layout.modifier_key_reset_dialog, null);
@@ -61,6 +67,7 @@
 
         Button restoreButton = dialoglayout.findViewById(R.id.modifier_key_reset_restore_button);
         restoreButton.setOnClickListener(v -> {
+            mMetricsFeatureProvider.action(activity, SettingsEnums.ACTION_CLEAR_REMAPPINGS);
             inputManager.clearAllModifierKeyRemappings();
             dismiss();
             activity.recreate();
diff --git a/src/com/android/settings/inputmethod/ModifierKeysSettings.java b/src/com/android/settings/inputmethod/ModifierKeysSettings.java
index 2353c2c..f174598 100644
--- a/src/com/android/settings/inputmethod/ModifierKeysSettings.java
+++ b/src/com/android/settings/inputmethod/ModifierKeysSettings.java
@@ -58,7 +58,8 @@
                 protected boolean isPageSearchEnabled(Context context) {
                     return FeatureFlagUtils
                             .isEnabled(
-                                    context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_MODIFIER_KEY);
+                                    context, FeatureFlagUtils.SETTINGS_NEW_KEYBOARD_MODIFIER_KEY)
+                            && !PhysicalKeyboardFragment.getHardKeyboards(context).isEmpty();
                 }
             };
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
index 08b8fd0..05dc5be 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutEnabledLocalesFragment.java
@@ -77,6 +77,15 @@
                         ? currentUserId : Utils.getManagedProfileId(userManager, currentUserId);
                 break;
             }
+            case ProfileSelectFragment.ProfileType.PRIVATE: {
+                // If the user is a private profile user, use currentUserId directly. Or get the
+                // private profile userId instead.
+                newUserId = userManager.isPrivateProfile()
+                        ? currentUserId
+                        : Utils.getCurrentUserIdOfType(
+                                userManager, ProfileSelectFragment.ProfileType.PRIVATE);
+                break;
+            }
             case ProfileSelectFragment.ProfileType.PERSONAL: {
                 final UserHandle primaryUser = userManager.getPrimaryUser().getUserHandle();
                 newUserId = primaryUser.getIdentifier();
@@ -96,8 +105,13 @@
     public void onActivityCreated(final Bundle icicle) {
         super.onActivityCreated(icicle);
         Bundle arguments = getArguments();
+        if (arguments == null) {
+            Log.e(TAG, "Arguments should not be null");
+            return;
+        }
         mInputDeviceIdentifier =
-                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER);
+                arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_DEVICE_IDENTIFIER,
+                        InputDeviceIdentifier.class);
         if (mInputDeviceIdentifier == null) {
             Log.e(TAG, "The inputDeviceIdentifier should not be null");
             return;
@@ -119,6 +133,7 @@
         InputDevice inputDevice =
                 NewKeyboardSettingsUtils.getInputDevice(mIm, mInputDeviceIdentifier);
         if (inputDevice == null) {
+            Log.e(TAG, "Unable to start: input device is null");
             getActivity().finish();
             return;
         }
@@ -145,7 +160,8 @@
 
         PreferenceScreen preferenceScreen = getPreferenceScreen();
         preferenceScreen.removeAll();
-        List<InputMethodInfo> infoList = mImm.getEnabledInputMethodListAsUser(mUserId);
+        List<InputMethodInfo> infoList =
+                mImm.getEnabledInputMethodListAsUser(UserHandle.of(mUserId));
         Collections.sort(infoList, new Comparator<InputMethodInfo>() {
             public int compare(InputMethodInfo o1, InputMethodInfo o2) {
                 String s1 = o1.loadLabel(mContext.getPackageManager()).toString();
@@ -157,7 +173,8 @@
         for (InputMethodInfo info : infoList) {
             mKeyboardInfoList.clear();
             List<InputMethodSubtype> subtypes =
-                    mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true, mUserId);
+                    mImm.getEnabledInputMethodSubtypeListAsUser(info.getId(), true,
+                            UserHandle.of(mUserId));
             for (InputMethodSubtype subtype : subtypes) {
                 if (subtype.isSuitableForPhysicalKeyboardLayoutMapping()) {
                     mapLanguageWithLayout(info, subtype);
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
index 11740ec..e934964 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerContent.java
@@ -27,6 +27,20 @@
 public class NewKeyboardLayoutPickerContent extends DashboardFragment {
 
     private static final String TAG = "KeyboardLayoutPicker";
+    private NewKeyboardLayoutPickerController mNewKeyboardLayoutPickerController;
+    private ControllerUpdateCallback mControllerUpdateCallback;
+
+    public interface ControllerUpdateCallback {
+        /**
+         * Called when mNewKeyBoardLayoutPickerController been initialized.
+         */
+        void onControllerUpdated(NewKeyboardLayoutPickerController
+                newKeyboardLayoutPickerController);
+    }
+
+    public void setControllerUpdateCallback(ControllerUpdateCallback controllerUpdateCallback) {
+        this.mControllerUpdateCallback = controllerUpdateCallback;
+    }
 
     @Override
     public void onAttach(Context context) {
@@ -40,7 +54,11 @@
             getActivity().finish();
             return;
         }
-        use(NewKeyboardLayoutPickerController.class).initialize(this);
+        mNewKeyboardLayoutPickerController = use(NewKeyboardLayoutPickerController.class);
+        mNewKeyboardLayoutPickerController.initialize(this);
+        if (mControllerUpdateCallback != null) {
+            mControllerUpdateCallback.onControllerUpdated(mNewKeyboardLayoutPickerController);
+        }
     }
 
     @Override
@@ -56,4 +74,8 @@
     protected int getPreferenceScreenResId() {
         return R.xml.new_keyboard_layout_picker_fragment;
     }
+
+    public NewKeyboardLayoutPickerController getController() {
+        return mNewKeyboardLayoutPickerController;
+    }
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
index e63d7d1..ac8037f 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
@@ -30,7 +31,9 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.TickButtonPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
@@ -53,13 +56,17 @@
     private KeyboardLayout[] mKeyboardLayouts;
     private PreferenceScreen mScreen;
     private String mPreviousSelection;
+    private String mFinalSelectedLayout;
     private String mLayout;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    private KeyboardLayoutSelectedCallback mKeyboardLayoutSelectedCallback;
 
     public NewKeyboardLayoutPickerController(Context context, String key) {
         super(context, key);
         mIm = context.getSystemService(InputManager.class);
         mInputDeviceId = -1;
         mPreferenceMap = new HashMap<>();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void initialize(Fragment parent) {
@@ -74,8 +81,10 @@
         mInputMethodSubtype =
                 arguments.getParcelable(NewKeyboardSettingsUtils.EXTRA_INPUT_METHOD_SUBTYPE);
         mLayout = getSelectedLayoutLabel();
+        mFinalSelectedLayout = mLayout;
         mKeyboardLayouts = mIm.getKeyboardLayoutListForInputDevice(
                 mInputDeviceIdentifier, mUserId, mInputMethodInfo, mInputMethodSubtype);
+        NewKeyboardSettingsUtils.sortKeyboardLayoutsByLabel(mKeyboardLayouts);
         parent.getActivity().setTitle(mTitle);
     }
 
@@ -92,6 +101,11 @@
 
     @Override
     public void onStop() {
+        if (mLayout != null && !mLayout.equals(mFinalSelectedLayout)) {
+            String change = "From:" + mLayout + ", to:" + mFinalSelectedLayout;
+            mMetricsFeatureProvider.action(
+                    mContext, SettingsEnums.ACTION_PK_LAYOUT_CHANGED, change);
+        }
         mIm.unregisterInputDeviceListener(this);
         mInputDeviceId = -1;
     }
@@ -108,6 +122,14 @@
         return AVAILABLE;
     }
 
+    /**
+     * Registers {@link KeyboardLayoutSelectedCallback} and get updated.
+     */
+    public void registerKeyboardSelectedCallback(KeyboardLayoutSelectedCallback
+            keyboardLayoutSelectedCallback) {
+        this.mKeyboardLayoutSelectedCallback = keyboardLayoutSelectedCallback;
+    }
+
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (!(preference instanceof TickButtonPreference)) {
@@ -115,6 +137,9 @@
         }
 
         final TickButtonPreference pref = (TickButtonPreference) preference;
+        if (mKeyboardLayoutSelectedCallback != null && mPreferenceMap.containsKey(preference)) {
+            mKeyboardLayoutSelectedCallback.onSelected(mPreferenceMap.get(preference));
+        }
         pref.setSelected(true);
         if (mPreviousSelection != null && !mPreviousSelection.equals(preference.getKey())) {
             TickButtonPreference preSelectedPref = mScreen.findPreference(mPreviousSelection);
@@ -122,6 +147,7 @@
         }
         setLayout(pref);
         mPreviousSelection = preference.getKey();
+        mFinalSelectedLayout = pref.getTitle().toString();
         return true;
     }
 
@@ -152,6 +178,9 @@
             pref.setTitle(layout.getLabel());
 
             if (mLayout.equals(layout.getLabel())) {
+                if (mKeyboardLayoutSelectedCallback != null) {
+                    mKeyboardLayoutSelectedCallback.onSelected(layout);
+                }
                 pref.setSelected(true);
                 mPreviousSelection = layout.getDescriptor();
             }
@@ -186,4 +215,11 @@
         }
         return label;
     }
+
+    public interface KeyboardLayoutSelectedCallback {
+        /**
+         * Called when KeyboardLayout been selected.
+         */
+        void onSelected(KeyboardLayout keyboardLayout);
+    }
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java
index 88cacd2..85ba5fb 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardLayoutPickerFragment.java
@@ -16,35 +16,98 @@
 
 package com.android.settings.inputmethod;
 
+import static android.view.View.GONE;
+import static android.view.View.VISIBLE;
+
+import android.graphics.drawable.Drawable;
+import android.hardware.input.InputManager;
+import android.hardware.input.KeyboardLayout;
 import android.os.Bundle;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.FrameLayout;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
 
 import androidx.fragment.app.Fragment;
 
+import com.android.hardware.input.Flags;
 import com.android.settings.R;
 
+//TODO: b/316243168 - [Physical Keyboard Setting] Refactor NewKeyboardLayoutPickerFragment
 public class NewKeyboardLayoutPickerFragment extends Fragment {
+    private static final int DEFAULT_KEYBOARD_PREVIEW_WIDTH = 1630;
+    private static final int DEFAULT_KEYBOARD_PREVIEW_HEIGHT = 540;
+
+    private ImageView mKeyboardLayoutPreview;
+    private TextView mKeyboardLayoutPreviewText;
+    private InputManager mInputManager;
+    private final NewKeyboardLayoutPickerController.KeyboardLayoutSelectedCallback
+            mKeyboardLayoutSelectedCallback =
+            new NewKeyboardLayoutPickerController.KeyboardLayoutSelectedCallback() {
+                @Override
+                public void onSelected(KeyboardLayout keyboardLayout) {
+                    if (mInputManager != null
+                            && mKeyboardLayoutPreview != null
+                            && mKeyboardLayoutPreviewText != null && keyboardLayout != null) {
+                        Drawable previewDrawable = mInputManager.getKeyboardLayoutPreview(
+                                keyboardLayout,
+                                DEFAULT_KEYBOARD_PREVIEW_WIDTH, DEFAULT_KEYBOARD_PREVIEW_HEIGHT);
+                        mKeyboardLayoutPreview.setVisibility(
+                                previewDrawable == null ? GONE : VISIBLE);
+                        mKeyboardLayoutPreviewText.setVisibility(
+                                previewDrawable == null ? GONE : VISIBLE);
+                        if (previewDrawable != null) {
+                            mKeyboardLayoutPreviewText.setText(keyboardLayout.getLabel());
+                            mKeyboardLayoutPreview.setImageDrawable(previewDrawable);
+                        }
+                    }
+                }
+            };
+
+    private final NewKeyboardLayoutPickerContent.ControllerUpdateCallback
+            mControllerUpdateCallback =
+                    newKeyboardLayoutPickerController -> {
+                        if (newKeyboardLayoutPickerController != null) {
+                            newKeyboardLayoutPickerController.registerKeyboardSelectedCallback(
+                                    mKeyboardLayoutSelectedCallback);
+                        }
+                    };
 
     @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
             Bundle savedInstanceState) {
-
+        mInputManager = requireContext().getSystemService(InputManager.class);
         ViewGroup fragmentView = (ViewGroup) inflater.inflate(
                 R.layout.keyboard_layout_picker, container, false);
+        mKeyboardLayoutPreview = fragmentView.findViewById(R.id.keyboard_layout_preview);
+        mKeyboardLayoutPreviewText = fragmentView.findViewById(R.id.keyboard_layout_preview_name);
+        if (!Flags.keyboardLayoutPreviewFlag()) {
+            updateViewMarginForPreviewFlagOff(fragmentView);
+        }
         getActivity().getSupportFragmentManager()
                 .beginTransaction()
                 .replace(R.id.keyboard_layout_title, new NewKeyboardLayoutPickerTitle())
                 .commit();
 
         NewKeyboardLayoutPickerContent fragment = new NewKeyboardLayoutPickerContent();
+        fragment.setControllerUpdateCallback(mControllerUpdateCallback);
         fragment.setArguments(getArguments());
         getActivity().getSupportFragmentManager()
                 .beginTransaction()
                 .replace(R.id.keyboard_layouts, fragment)
                 .commit();
-
         return fragmentView;
     }
+
+    private void updateViewMarginForPreviewFlagOff(ViewGroup fragmentView) {
+        LinearLayout previewContainer = fragmentView.findViewById(
+                R.id.keyboard_layout_picker_container);
+        FrameLayout.LayoutParams previewContainerLayoutParams =
+                (FrameLayout.LayoutParams) previewContainer.getLayoutParams();
+        previewContainerLayoutParams.setMargins(0, 0, 0, 0);
+        previewContainer.setLayoutParams(previewContainerLayoutParams);
+    }
 }
diff --git a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
index ad68c43..a927165 100644
--- a/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
+++ b/src/com/android/settings/inputmethod/NewKeyboardSettingsUtils.java
@@ -20,12 +20,15 @@
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
 import android.hardware.input.KeyboardLayout;
+import android.os.UserHandle;
 import android.view.InputDevice;
 import android.view.inputmethod.InputMethodInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.view.inputmethod.InputMethodSubtype;
 
 import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Comparator;
 import java.util.List;
 
 /**
@@ -55,7 +58,7 @@
 
     static List<String> getSuitableImeLabels(Context context, InputMethodManager imm, int userId) {
         List<String> suitableInputMethodInfoLabels = new ArrayList<>();
-        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(userId);
+        List<InputMethodInfo> infoList = imm.getEnabledInputMethodListAsUser(UserHandle.of(userId));
         for (InputMethodInfo info : infoList) {
             List<InputMethodSubtype> subtypes =
                     imm.getEnabledInputMethodSubtypeList(info, true);
@@ -109,7 +112,8 @@
     }
 
     static InputDevice getInputDevice(InputManager im, InputDeviceIdentifier identifier) {
-        return im.getInputDeviceByDescriptor(identifier.getDescriptor());
+        return identifier == null ? null : im.getInputDeviceByDescriptor(
+                identifier.getDescriptor());
     }
 
     static KeyboardLayout[] getKeyboardLayouts(InputManager inputManager, int userId,
@@ -121,4 +125,11 @@
             InputDeviceIdentifier identifier, InputMethodInfo info, InputMethodSubtype subtype) {
         return inputManager.getKeyboardLayoutForInputDevice(identifier, userId, info, subtype);
     }
+
+    static void sortKeyboardLayoutsByLabel(KeyboardLayout[] keyboardLayouts) {
+        Arrays.sort(
+                keyboardLayouts,
+                Comparator.comparing(KeyboardLayout::getLabel)
+        );
+    }
 }
diff --git a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
index 9cfa4cd..b06edb2 100644
--- a/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
+++ b/src/com/android/settings/inputmethod/PhysicalKeyboardFragment.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.inputmethod;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.ContentResolver;
@@ -26,7 +24,9 @@
 import android.database.ContentObserver;
 import android.hardware.input.InputDeviceIdentifier;
 import android.hardware.input.InputManager;
+import android.hardware.input.InputSettings;
 import android.hardware.input.KeyboardLayout;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.UserHandle;
@@ -37,11 +37,13 @@
 import android.view.InputDevice;
 import android.view.inputmethod.InputMethodManager;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.util.Preconditions;
 import com.android.settings.R;
@@ -65,10 +67,22 @@
         KeyboardLayoutDialogFragment.OnSetupKeyboardLayoutsListener {
 
     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 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";
+    private static final Uri sVirtualKeyboardSettingsUri = Secure.getUriFor(
+            Secure.SHOW_IME_WITH_HARD_KEYBOARD);
+    private static final Uri sAccessibilityBounceKeysUri = Secure.getUriFor(
+            Secure.ACCESSIBILITY_BOUNCE_KEYS);
+    private static final Uri sAccessibilitySlowKeysUri = Secure.getUriFor(
+            Secure.ACCESSIBILITY_SLOW_KEYS);
+    private static final Uri sAccessibilityStickyKeysUri = Secure.getUriFor(
+            Secure.ACCESSIBILITY_STICKY_KEYS);
 
     @NonNull
     private final ArrayList<HardKeyboardDeviceInfo> mLastHardKeyboards = new ArrayList<>();
@@ -79,8 +93,17 @@
     private KeyboardSettingsFeatureProvider mFeatureProvider;
     @NonNull
     private PreferenceCategory mKeyboardAssistanceCategory;
-    @NonNull
-    private SwitchPreference mShowVirtualKeyboardSwitch;
+    @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;
+
 
     private Intent mIntentWaitingForResult;
     private boolean mIsNewKeyboardSettings;
@@ -102,12 +125,20 @@
         mIm = Preconditions.checkNotNull(activity.getSystemService(InputManager.class));
         mImm = Preconditions.checkNotNull(activity.getSystemService(InputMethodManager.class));
         mKeyboardAssistanceCategory = Preconditions.checkNotNull(
-                (PreferenceCategory) findPreference(KEYBOARD_OPTIONS_CATEGORY));
-        mShowVirtualKeyboardSwitch = Preconditions.checkNotNull(
-                (SwitchPreference) mKeyboardAssistanceCategory.findPreference(
-                        SHOW_VIRTUAL_KEYBOARD_SWITCH));
+                findPreference(KEYBOARD_OPTIONS_CATEGORY));
+        mShowVirtualKeyboardSwitch = Objects.requireNonNull(
+                mKeyboardAssistanceCategory.findPreference(SHOW_VIRTUAL_KEYBOARD_SWITCH));
 
-        FeatureFactory featureFactory = FeatureFactory.getFactory(getContext());
+        mKeyboardA11yCategory = Objects.requireNonNull(findPreference(KEYBOARD_A11Y_CATEGORY));
+        mAccessibilityBounceKeys = Objects.requireNonNull(
+                mKeyboardA11yCategory.findPreference(ACCESSIBILITY_BOUNCE_KEYS));
+        mAccessibilitySlowKeys = Objects.requireNonNull(
+                mKeyboardA11yCategory.findPreference(ACCESSIBILITY_SLOW_KEYS));
+        mAccessibilityStickyKeys = Objects.requireNonNull(
+                mKeyboardA11yCategory.findPreference(ACCESSIBILITY_STICKY_KEYS));
+
+        FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
+        mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mFeatureProvider = featureFactory.getKeyboardSettingsFeatureProvider();
         mSupportsFirmwareUpdate = mFeatureProvider.supportsFirmwareUpdate();
         if (mSupportsFirmwareUpdate) {
@@ -120,10 +151,24 @@
         if (!isModifierKeySettingsEnabled) {
             mKeyboardAssistanceCategory.removePreference(findPreference(MODIFIER_KEYS_SETTINGS));
         }
+        if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
+            mKeyboardA11yCategory.removePreference(mAccessibilityBounceKeys);
+        }
+        if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
+            mKeyboardA11yCategory.removePreference(mAccessibilitySlowKeys);
+        }
+        if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()) {
+            mKeyboardA11yCategory.removePreference(mAccessibilityStickyKeys);
+        }
         InputDeviceIdentifier inputDeviceIdentifier = activity.getIntent().getParcelableExtra(
-                KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER);
+                KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
+                InputDeviceIdentifier.class);
         int intentFromWhere =
                 activity.getIntent().getIntExtra(android.provider.Settings.EXTRA_ENTRYPOINT, -1);
+        if (intentFromWhere != -1) {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_OPEN_PK_SETTINGS_FROM, intentFromWhere);
+        }
         if (inputDeviceIdentifier != null) {
             mAutoInputDeviceIdentifier = inputDeviceIdentifier;
         }
@@ -134,7 +179,8 @@
     }
 
     private static boolean isAutoSelection(Bundle bundle, InputDeviceIdentifier identifier) {
-        if (bundle != null && bundle.getParcelable(EXTRA_AUTO_SELECTION) != null) {
+        if (bundle != null && bundle.getParcelable(EXTRA_AUTO_SELECTION,
+                InputDeviceIdentifier.class) != null) {
             return false;
         }
         return identifier != null;
@@ -156,9 +202,15 @@
         mLastHardKeyboards.clear();
         scheduleUpdateHardKeyboards();
         mIm.registerInputDeviceListener(this, null);
-        mShowVirtualKeyboardSwitch.setOnPreferenceChangeListener(
+        Objects.requireNonNull(mShowVirtualKeyboardSwitch).setOnPreferenceChangeListener(
                 mShowVirtualKeyboardSwitchPreferenceChangeListener);
-        registerShowVirtualKeyboardSettingsObserver();
+        Objects.requireNonNull(mAccessibilityBounceKeys).setOnPreferenceChangeListener(
+                mAccessibilityBounceKeysSwitchPreferenceChangeListener);
+        Objects.requireNonNull(mAccessibilitySlowKeys).setOnPreferenceChangeListener(
+                mAccessibilitySlowKeysSwitchPreferenceChangeListener);
+        Objects.requireNonNull(mAccessibilityStickyKeys).setOnPreferenceChangeListener(
+                mAccessibilityStickyKeysSwitchPreferenceChangeListener);
+        registerSettingsObserver();
     }
 
     @Override
@@ -166,8 +218,11 @@
         super.onPause();
         mLastHardKeyboards.clear();
         mIm.unregisterInputDeviceListener(this);
-        mShowVirtualKeyboardSwitch.setOnPreferenceChangeListener(null);
-        unregisterShowVirtualKeyboardSettingsObserver();
+        Objects.requireNonNull(mShowVirtualKeyboardSwitch).setOnPreferenceChangeListener(null);
+        Objects.requireNonNull(mAccessibilityBounceKeys).setOnPreferenceChangeListener(null);
+        Objects.requireNonNull(mAccessibilitySlowKeys).setOnPreferenceChangeListener(null);
+        Objects.requireNonNull(mAccessibilityStickyKeys).setOnPreferenceChangeListener(null);
+        unregisterSettingsObserver();
     }
 
     @Override
@@ -254,6 +309,16 @@
                         });
             }
             category.addPreference(pref);
+            StringBuilder vendorAndProductId = new StringBuilder();
+            String vendorId = String.valueOf(hardKeyboardDeviceInfo.mVendorId);
+            String productId = String.valueOf(hardKeyboardDeviceInfo.mProductId);
+            vendorAndProductId.append(vendorId);
+            vendorAndProductId.append("-");
+            vendorAndProductId.append(productId);
+            mMetricsFeatureProvider.action(
+                    getContext(),
+                    SettingsEnums.ACTION_USE_SPECIFIC_KEYBOARD,
+                    vendorAndProductId.toString());
         }
         mKeyboardAssistanceCategory.setOrder(1);
         preferenceScreen.addPreference(mKeyboardAssistanceCategory);
@@ -261,6 +326,16 @@
             mFeatureProvider.addFirmwareUpdateCategory(getPrefContext(), preferenceScreen);
         }
         updateShowVirtualKeyboardSwitch();
+
+        if (InputSettings.isAccessibilityBounceKeysFeatureEnabled()
+                || InputSettings.isAccessibilityStickyKeysFeatureEnabled()
+                || InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
+            Objects.requireNonNull(mKeyboardA11yCategory).setOrder(2);
+            preferenceScreen.addPreference(mKeyboardA11yCategory);
+            updateAccessibilityBounceKeysSwitch();
+            updateAccessibilitySlowKeysSwitch();
+            updateAccessibilityStickyKeysSwitch();
+        }
     }
 
     private void showKeyboardLayoutDialog(InputDeviceIdentifier inputDeviceIdentifier) {
@@ -281,25 +356,74 @@
                 .launch();
     }
 
-    private void registerShowVirtualKeyboardSettingsObserver() {
-        unregisterShowVirtualKeyboardSettingsObserver();
-        getActivity().getContentResolver().registerContentObserver(
-                Secure.getUriFor(Secure.SHOW_IME_WITH_HARD_KEYBOARD),
+    private void registerSettingsObserver() {
+        unregisterSettingsObserver();
+        ContentResolver contentResolver = getActivity().getContentResolver();
+        contentResolver.registerContentObserver(
+                sVirtualKeyboardSettingsUri,
                 false,
                 mContentObserver,
                 UserHandle.myUserId());
+        if (InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
+            contentResolver.registerContentObserver(
+                    sAccessibilityBounceKeysUri,
+                    false,
+                    mContentObserver,
+                    UserHandle.myUserId());
+        }
+        if (InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
+            contentResolver.registerContentObserver(
+                    sAccessibilitySlowKeysUri,
+                    false,
+                    mContentObserver,
+                    UserHandle.myUserId());
+        }
+        if (InputSettings.isAccessibilityStickyKeysFeatureEnabled()) {
+            contentResolver.registerContentObserver(
+                    sAccessibilityStickyKeysUri,
+                    false,
+                    mContentObserver,
+                    UserHandle.myUserId());
+        }
         updateShowVirtualKeyboardSwitch();
+        updateAccessibilityBounceKeysSwitch();
+        updateAccessibilitySlowKeysSwitch();
+        updateAccessibilityStickyKeysSwitch();
     }
 
-    private void unregisterShowVirtualKeyboardSettingsObserver() {
+    private void unregisterSettingsObserver() {
         getActivity().getContentResolver().unregisterContentObserver(mContentObserver);
     }
 
     private void updateShowVirtualKeyboardSwitch() {
-        mShowVirtualKeyboardSwitch.setChecked(
+        Objects.requireNonNull(mShowVirtualKeyboardSwitch).setChecked(
                 Secure.getInt(getContentResolver(), Secure.SHOW_IME_WITH_HARD_KEYBOARD, 0) != 0);
     }
 
+    private void updateAccessibilityBounceKeysSwitch() {
+        if (!InputSettings.isAccessibilityBounceKeysFeatureEnabled()) {
+            return;
+        }
+        Objects.requireNonNull(mAccessibilityBounceKeys).setChecked(
+                InputSettings.isAccessibilityBounceKeysEnabled(getContext()));
+    }
+
+    private void updateAccessibilitySlowKeysSwitch() {
+        if (!InputSettings.isAccessibilitySlowKeysFeatureFlagEnabled()) {
+            return;
+        }
+        Objects.requireNonNull(mAccessibilitySlowKeys).setChecked(
+                InputSettings.isAccessibilitySlowKeysEnabled(getContext()));
+    }
+
+    private void updateAccessibilityStickyKeysSwitch() {
+        if (!InputSettings.isAccessibilityStickyKeysFeatureEnabled()) {
+            return;
+        }
+        Objects.requireNonNull(mAccessibilityStickyKeys).setChecked(
+                InputSettings.isAccessibilityStickyKeysEnabled(getContext()));
+    }
+
     private void toggleKeyboardShortcutsMenu() {
         getActivity().requestShowKeyboardShortcuts();
     }
@@ -313,10 +437,38 @@
                 return true;
             };
 
+    private final OnPreferenceChangeListener
+            mAccessibilityBounceKeysSwitchPreferenceChangeListener = (preference, newValue) -> {
+                InputSettings.setAccessibilityBounceKeysThreshold(getContext(),
+                        ((Boolean) newValue) ? 500 : 0);
+                return true;
+            };
+
+    private final OnPreferenceChangeListener
+            mAccessibilitySlowKeysSwitchPreferenceChangeListener = (preference, newValue) -> {
+                InputSettings.setAccessibilitySlowKeysThreshold(getContext(),
+                        ((Boolean) newValue) ? 500 : 0);
+                return true;
+            };
+
+    private final OnPreferenceChangeListener
+            mAccessibilityStickyKeysSwitchPreferenceChangeListener = (preference, newValue) -> {
+                InputSettings.setAccessibilityStickyKeysEnabled(getContext(), (Boolean) newValue);
+                return true;
+            };
+
     private final ContentObserver mContentObserver = new ContentObserver(new Handler(true)) {
         @Override
-        public void onChange(boolean selfChange) {
-            updateShowVirtualKeyboardSwitch();
+        public void onChange(boolean selfChange, Uri uri) {
+            if (sVirtualKeyboardSettingsUri.equals(uri)) {
+                updateShowVirtualKeyboardSwitch();
+            } else if (sAccessibilityBounceKeysUri.equals(uri)) {
+                updateAccessibilityBounceKeysSwitch();
+            } else if (sAccessibilitySlowKeysUri.equals(uri)) {
+                updateAccessibilitySlowKeysSwitch();
+            } else if (sAccessibilityStickyKeysUri.equals(uri)) {
+                updateAccessibilityStickyKeysSwitch();
+            }
         }
     };
 
@@ -336,7 +488,8 @@
 
         if (mIntentWaitingForResult != null) {
             InputDeviceIdentifier inputDeviceIdentifier = mIntentWaitingForResult
-                    .getParcelableExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER);
+                    .getParcelableExtra(KeyboardLayoutPickerFragment.EXTRA_INPUT_DEVICE_IDENTIFIER,
+                            InputDeviceIdentifier.class);
             mIntentWaitingForResult = null;
             showKeyboardLayoutDialog(inputDeviceIdentifier);
         }
@@ -374,7 +527,9 @@
                     device.getName(),
                     device.getIdentifier(),
                     getLayoutLabel(device, context, im),
-                    device.getBluetoothAddress()));
+                    device.getBluetoothAddress(),
+                    device.getVendorId(),
+                    device.getProductId()));
         }
 
         // We intentionally don't reuse Comparator because Collator may not be thread-safe.
@@ -403,16 +558,24 @@
         public final String mLayoutLabel;
         @Nullable
         public final String mBluetoothAddress;
+        @NonNull
+        public final int mVendorId;
+        @NonNull
+        public final int mProductId;
 
         public HardKeyboardDeviceInfo(
                 @Nullable String deviceName,
                 @NonNull InputDeviceIdentifier deviceIdentifier,
                 @NonNull String layoutLabel,
-                @Nullable String bluetoothAddress) {
+                @Nullable String bluetoothAddress,
+                @NonNull int vendorId,
+                @NonNull int productId) {
             mDeviceName = TextUtils.emptyIfNull(deviceName);
             mDeviceIdentifier = deviceIdentifier;
             mLayoutLabel = layoutLabel;
             mBluetoothAddress = bluetoothAddress;
+            mVendorId = vendorId;
+            mProductId = productId;
         }
 
         @Override
@@ -449,5 +612,10 @@
                     sir.xmlResId = R.xml.physical_keyboard_settings;
                     return Arrays.asList(sir);
                 }
+
+                @Override
+                protected boolean isPageSearchEnabled(Context context) {
+                    return !getHardKeyboards(context).isEmpty();
+                }
             };
 }
diff --git a/src/com/android/settings/inputmethod/SpellCheckerPreference.java b/src/com/android/settings/inputmethod/SpellCheckerPreference.java
index 116f1c7..b8028fe 100644
--- a/src/com/android/settings/inputmethod/SpellCheckerPreference.java
+++ b/src/com/android/settings/inputmethod/SpellCheckerPreference.java
@@ -25,6 +25,7 @@
 import android.view.View.OnClickListener;
 import android.view.textservice.SpellCheckerInfo;
 
+import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog.Builder;
 import androidx.preference.PreferenceViewHolder;
 
@@ -41,12 +42,19 @@
 class SpellCheckerPreference extends CustomListPreference {
 
     private final SpellCheckerInfo[] mScis;
-    private Intent mIntent;
+    @VisibleForTesting
+    Intent mIntent;
 
     public SpellCheckerPreference(final Context context, final SpellCheckerInfo[] scis) {
         super(context, null);
         mScis = scis;
+        setLayoutResource(
+                com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target);
+
         setWidgetLayoutResource(R.layout.preference_widget_gear);
+        if (scis == null) {
+            return;
+        }
         CharSequence[] labels = new CharSequence[scis.length];
         CharSequence[] values = new CharSequence[scis.length];
         for (int i = 0 ; i < scis.length; i++) {
@@ -105,14 +113,26 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder view) {
         super.onBindViewHolder(view);
+        final View divider = view.findViewById(
+                com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
+        final View widgetFrame = view.findViewById(android.R.id.widget_frame);
+        if (divider != null) {
+            divider.setVisibility(mIntent != null ? View.VISIBLE : View.GONE);
+        }
+        if (widgetFrame != null) {
+            widgetFrame.setVisibility(mIntent != null ? View.VISIBLE : View.GONE);
+        }
+
         View settingsButton = view.findViewById(R.id.settings_button);
-        settingsButton.setVisibility(mIntent != null ? View.VISIBLE : View.INVISIBLE);
-        settingsButton.setOnClickListener(new OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                onSettingsButtonClicked();
-            }
-        });
+        if (settingsButton != null) {
+            settingsButton.setVisibility(mIntent != null ? View.VISIBLE : View.INVISIBLE);
+            settingsButton.setOnClickListener(new OnClickListener() {
+                @Override
+                public void onClick(View v) {
+                    onSettingsButtonClicked();
+                }
+            });
+        }
     }
 
     private void onSettingsButtonClicked() {
diff --git a/src/com/android/settings/inputmethod/SpellCheckersSettings.java b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
index 99f7a4e..b4d7570 100644
--- a/src/com/android/settings/inputmethod/SpellCheckersSettings.java
+++ b/src/com/android/settings/inputmethod/SpellCheckersSettings.java
@@ -26,7 +26,8 @@
 import android.view.textservice.SpellCheckerInfo;
 import android.view.textservice.SpellCheckerSubtype;
 import android.view.textservice.TextServicesManager;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
@@ -37,10 +38,9 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 public class SpellCheckersSettings extends SettingsPreferenceFragment
-        implements OnMainSwitchChangeListener, OnPreferenceChangeListener {
+        implements OnCheckedChangeListener, OnPreferenceChangeListener {
     private static final String TAG = SpellCheckersSettings.class.getSimpleName();
     private static final boolean DBG = false;
 
@@ -105,7 +105,7 @@
     }
 
     @Override
-    public void onSwitchChanged(final Switch switchView, final boolean isChecked) {
+    public void onCheckedChanged(final CompoundButton buttonView, final boolean isChecked) {
         Settings.Secure.putInt(getContentResolver(), Settings.Secure.SPELL_CHECKER_ENABLED,
                 isChecked ? 1 : 0);
         updatePreferenceScreen();
@@ -133,6 +133,7 @@
             if (preference instanceof SpellCheckerPreference) {
                 final SpellCheckerPreference pref = (SpellCheckerPreference) preference;
                 pref.setSelected(mCurrentSci);
+                pref.setEnabled(mEnabledScis != null);
             }
         }
         mSpellCheckerLanaguagePref.setEnabled(isSpellCheckerEnabled && mCurrentSci != null);
@@ -144,7 +145,8 @@
             return getString(R.string.spell_checker_not_selected);
         }
         if (subtype == null) {
-            return getString(R.string.use_system_language_to_select_input_method_subtypes);
+            return getString(com.android.settingslib.R
+                    .string.use_system_language_to_select_input_method_subtypes);
         }
         return subtype.getDisplayName(
                 getActivity(), sci.getPackageName(), sci.getServiceInfo().applicationInfo);
diff --git a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
index bbe65c1..648a3e6 100644
--- a/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TouchGesturesButtonPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.util.FeatureFlagUtils;
 
@@ -23,6 +24,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.ButtonPreference;
 
 public class TouchGesturesButtonPreferenceController extends BasePreferenceController {
@@ -33,9 +36,11 @@
     private static final String GESTURE_DIALOG_TAG = "GESTURE_DIALOG_TAG";
 
     private Fragment mParent;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     public TouchGesturesButtonPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     public void setFragment(Fragment parent) {
@@ -67,6 +72,7 @@
     }
 
     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);
diff --git a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
index 5133d04..d410a1b 100644
--- a/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadBottomPreferenceController.java
@@ -16,16 +16,22 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadBottomPreferenceController extends TogglePreferenceController {
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadBottomPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -36,6 +42,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         InputSettings.setTouchpadRightClickZone(mContext, isChecked);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_BOTTOM_RIGHT_TAP_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
index 017689d..36fb0c0 100644
--- a/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadGoBackPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_BACK_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadGoBackPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_GO_BACK_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java b/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
index 18699e3..dbc706e 100644
--- a/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadGoHomePreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_HOME_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadGoHomePreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_GO_HOME_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
index 21f04a3..d430e4d 100644
--- a/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadNotificationsPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_NOTIFICATION_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadNotificationsPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_NOTIFICATION_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
index 71b4119..d024546 100644
--- a/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceController.java
@@ -16,20 +16,25 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.SliderPreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadPointerSpeedPreferenceController extends SliderPreferenceController {
 
     private SeekBarPreference mPreference;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     public TrackpadPointerSpeedPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -53,6 +58,8 @@
             return false;
         }
         InputSettings.setTouchpadPointerSpeed(mContext, position);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_POINTER_SPEED_CHANGED, position);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
index eab2b33..44a56e7 100644
--- a/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadRecentAppsPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_OVERVIEW_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadRecentAppsPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_RECENT_APPS_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
index 10d3013..042126d 100644
--- a/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceController.java
@@ -16,16 +16,22 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadReverseScrollingPreferenceController extends TogglePreferenceController {
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadReverseScrollingPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -36,6 +42,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         InputSettings.setTouchpadNaturalScrolling(mContext, !isChecked);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_REVERSE_SCROLLING_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadSettings.java b/src/com/android/settings/inputmethod/TrackpadSettings.java
index 9be610f..4955933 100644
--- a/src/com/android/settings/inputmethod/TrackpadSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadSettings.java
@@ -23,7 +23,9 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
 
+@SearchIndexable
 public class TrackpadSettings extends DashboardFragment {
 
     private static final String TAG = "TrackpadSettings";
diff --git a/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
index 84de64e..2b11411 100644
--- a/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceController.java
@@ -16,18 +16,24 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadSwitchAppsPreferenceController extends TogglePreferenceController {
 
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_QUICK_SWITCH_ENABLED;
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadSwitchAppsPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -38,6 +44,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         Settings.Secure.putInt(mContext.getContentResolver(), SETTING_KEY, isChecked ? 1 : 0);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_SWITCH_APPS_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
index 8655307..f78c81e 100644
--- a/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
+++ b/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceController.java
@@ -16,16 +16,22 @@
 
 package com.android.settings.inputmethod;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class TrackpadTapToClickPreferenceController extends TogglePreferenceController {
 
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
     public TrackpadTapToClickPreferenceController(Context context, String key) {
         super(context, key);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -36,6 +42,8 @@
     @Override
     public boolean setChecked(boolean isChecked) {
         InputSettings.setTouchpadTapToClick(mContext, isChecked);
+        mMetricsFeatureProvider.action(
+                mContext, SettingsEnums.ACTION_GESTURE_TAP_TO_CLICK_CHANGED, isChecked);
         return true;
     }
 
diff --git a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
index 5e92caf..9a4b90f 100644
--- a/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
+++ b/src/com/android/settings/inputmethod/TrackpadTouchGestureSettings.java
@@ -23,7 +23,9 @@
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
 
+@SearchIndexable
 public class TrackpadTouchGestureSettings extends DashboardFragment {
 
     private static final String TAG = "TrackpadTouchGestureSettings";
@@ -50,7 +52,7 @@
     }
 
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.trackpad_settings) {
+            new BaseSearchIndexProvider(R.xml.trackpad_gesture_settings) {
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
                     return FeatureFlagUtils
diff --git a/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java b/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java
index e0c016f..bb8174e 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryCursorLoader.java
@@ -94,6 +94,8 @@
             hashSet.add(hash);
             result.addRow(new Object[]{id, word, shortcut});
         }
+        // The cursor needs to be closed after use, otherwise it will cause resource leakage
+        candidate.close();
         return result;
     }
 }
diff --git a/src/com/android/settings/inputmethod/UserDictionarySettings.java b/src/com/android/settings/inputmethod/UserDictionarySettings.java
index f51629d..16a2299 100644
--- a/src/com/android/settings/inputmethod/UserDictionarySettings.java
+++ b/src/com/android/settings/inputmethod/UserDictionarySettings.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.inputmethod;
 
-import android.annotation.Nullable;
 import android.app.ActionBar;
 import android.app.settings.SettingsEnums;
 import android.content.ContentResolver;
@@ -39,6 +38,7 @@
 import android.widget.SimpleCursorAdapter;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.fragment.app.ListFragment;
 import androidx.loader.app.LoaderManager;
 import androidx.loader.content.Loader;
@@ -76,7 +76,7 @@
         super.onCreate(savedInstanceState);
 
         mVisibilityLoggerMixin = new VisibilityLoggerMixin(getMetricsCategory(),
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider());
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider());
 
         final Intent intent = getActivity().getIntent();
         final String localeFromIntent =
diff --git a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
index 61e6a42..e6de7a5 100644
--- a/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
+++ b/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceController.java
@@ -61,7 +61,7 @@
     public void updateState(Preference preference) {
         final List<InputMethodInfo> imis = mImm.getEnabledInputMethodList();
         if (imis == null) {
-            preference.setSummary(R.string.summary_empty);
+            preference.setSummary(com.android.settingslib.R.string.summary_empty);
             return;
         }
 
@@ -77,7 +77,7 @@
             labels.add(imi.loadLabel(mPm).toString());
         }
         if (labels.isEmpty()) {
-            preference.setSummary(R.string.summary_empty);
+            preference.setSummary(com.android.settingslib.R.string.summary_empty);
             return;
         }
 
diff --git a/src/com/android/settings/language/PhoneLanguagePreferenceController.java b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
index 0d5aa37..3a382e4 100644
--- a/src/com/android/settings/language/PhoneLanguagePreferenceController.java
+++ b/src/com/android/settings/language/PhoneLanguagePreferenceController.java
@@ -49,7 +49,7 @@
         if (preference == null) {
             return;
         }
-        final String localeNames = FeatureFactory.getFactory(mContext)
+        final String localeNames = FeatureFactory.getFeatureFactory()
                 .getLocaleFeatureProvider().getLocaleNames();
         preference.setSummary(localeNames);
     }
diff --git a/src/com/android/settings/localepicker/AppLocalePickerActivity.java b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
index 092207b..b284c8d 100644
--- a/src/com/android/settings/localepicker/AppLocalePickerActivity.java
+++ b/src/com/android/settings/localepicker/AppLocalePickerActivity.java
@@ -16,12 +16,20 @@
 
 package com.android.settings.localepicker;
 
+import static com.android.settings.flags.Flags.localeNotificationEnabled;
+
 import android.app.FragmentTransaction;
 import android.app.LocaleManager;
+import android.app.NotificationChannel;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Bundle;
 import android.os.LocaleList;
+import android.os.SystemClock;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.MenuItem;
@@ -29,6 +37,7 @@
 import android.widget.FrameLayout;
 import android.widget.ListView;
 
+import androidx.core.app.NotificationCompat;
 import androidx.core.view.ViewCompat;
 
 import com.android.internal.app.LocalePickerWithRegion;
@@ -37,15 +46,27 @@
 import com.android.settings.applications.AppLocaleUtil;
 import com.android.settings.applications.appinfo.AppLocaleDetails;
 import com.android.settings.core.SettingsBaseActivity;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 public class AppLocalePickerActivity extends SettingsBaseActivity
         implements LocalePickerWithRegion.LocaleSelectedListener, MenuItem.OnActionExpandListener {
     private static final String TAG = AppLocalePickerActivity.class.getSimpleName();
+    private static final String CHANNEL_ID_SUGGESTION = "suggestion";
+    private static final String CHANNEL_ID_SUGGESTION_TO_USER = "Locale suggestion";
+    private static final int SIM_LOCALE = 1 << 0;
+    private static final int SYSTEM_LOCALE = 1 << 1;
+    private static final int APP_LOCALE = 1 << 2;
+    private static final int IME_LOCALE = 1 << 3;
+    static final String EXTRA_APP_LOCALE = "app_locale";
+    static final String EXTRA_NOTIFICATION_ID = "notification_id";
 
     private String mPackageName;
     private LocalePickerWithRegion mLocalePickerWithRegion;
     private AppLocaleDetails mAppLocaleDetails;
     private View mAppLocaleDetailContainer;
+    private NotificationController mNotificationController;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -71,6 +92,8 @@
 
         setTitle(R.string.app_locale_picker_title);
         getActionBar().setDisplayHomeAsUpEnabled(true);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+        mNotificationController = NotificationController.getInstance(this);
 
         mLocalePickerWithRegion = LocalePickerWithRegion.createLanguagePicker(
                 this,
@@ -99,7 +122,9 @@
         if (localeInfo == null || localeInfo.getLocale() == null || localeInfo.isSystemLocale()) {
             setAppDefaultLocale("");
         } else {
+            logLocaleSource(localeInfo);
             setAppDefaultLocale(localeInfo.getLocale().toLanguageTag());
+            broadcastAppLocaleChange(localeInfo);
         }
         finish();
     }
@@ -131,6 +156,85 @@
         localeManager.setApplicationLocales(mPackageName, LocaleList.forLanguageTags(languageTag));
     }
 
+    private void broadcastAppLocaleChange(LocaleStore.LocaleInfo localeInfo) {
+        if (!localeNotificationEnabled()) {
+            Log.w(TAG, "Locale notification is not enabled");
+            return;
+        }
+        if (localeInfo.isAppCurrentLocale()) {
+            return;
+        }
+        try {
+            String localeTag = localeInfo.getLocale().toLanguageTag();
+            int uid = getPackageManager().getApplicationInfo(mPackageName,
+                    PackageManager.GET_META_DATA).uid;
+            boolean launchNotification = mNotificationController.shouldTriggerNotification(
+                    uid, localeTag);
+            if (launchNotification) {
+                triggerNotification(
+                        mNotificationController.getNotificationId(localeTag),
+                        getString(R.string.title_system_locale_addition,
+                                localeInfo.getFullNameNative()),
+                        getString(R.string.desc_system_locale_addition),
+                        localeTag);
+                mMetricsFeatureProvider.action(this,
+                        SettingsEnums.ACTION_NOTIFICATION_FOR_SYSTEM_LOCALE);
+            }
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.e(TAG, "Unable to find info for package: " + mPackageName);
+        }
+    }
+
+    private void triggerNotification(
+            int notificationId,
+            String title,
+            String description,
+            String localeTag) {
+        NotificationManager notificationManager = getSystemService(NotificationManager.class);
+        final boolean channelExist =
+                notificationManager.getNotificationChannel(CHANNEL_ID_SUGGESTION) != null;
+
+        // Create an alert channel if it does not exist
+        if (!channelExist) {
+            NotificationChannel channel =
+                    new NotificationChannel(
+                            CHANNEL_ID_SUGGESTION,
+                            CHANNEL_ID_SUGGESTION_TO_USER,
+                            NotificationManager.IMPORTANCE_DEFAULT);
+            channel.setSound(/* sound */ null, /* audioAttributes */ null); // silent notification
+            notificationManager.createNotificationChannel(channel);
+        }
+        final NotificationCompat.Builder builder =
+                new NotificationCompat.Builder(this, CHANNEL_ID_SUGGESTION)
+                        .setSmallIcon(R.drawable.ic_settings_language)
+                        .setAutoCancel(true)
+                        .setContentTitle(title)
+                        .setContentText(description)
+                        .setVisibility(NotificationCompat.VISIBILITY_PUBLIC)
+                        .setContentIntent(
+                                createPendingIntent(localeTag, notificationId, false))
+                        .setDeleteIntent(
+                                createPendingIntent(localeTag, notificationId, true));
+        notificationManager.notify(notificationId, builder.build());
+    }
+
+    private PendingIntent createPendingIntent(String locale, int notificationId,
+            boolean isDeleteIntent) {
+        Intent intent = isDeleteIntent
+                ? new Intent(this, NotificationCancelReceiver.class)
+                : new Intent(this, NotificationActionActivity.class)
+                        .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
+
+        intent.putExtra(EXTRA_APP_LOCALE, locale)
+                .putExtra(EXTRA_NOTIFICATION_ID, notificationId);
+        int flag = PendingIntent.FLAG_IMMUTABLE | PendingIntent.FLAG_UPDATE_CURRENT;
+        int elapsedTime = (int) SystemClock.elapsedRealtimeNanos();
+
+        return isDeleteIntent
+                ? PendingIntent.getBroadcast(this, elapsedTime, intent, flag)
+                : PendingIntent.getActivity(this, elapsedTime, intent, flag);
+    }
+
     private View launchAppLocaleDetailsPage() {
         FrameLayout appLocaleDetailsContainer = new FrameLayout(this);
         appLocaleDetailsContainer.setId(R.id.layout_app_locale_details);
@@ -177,4 +281,32 @@
 
         return false;
     }
+
+    private void logLocaleSource(LocaleStore.LocaleInfo localeInfo) {
+        if (!localeInfo.isSuggested() || localeInfo.isAppCurrentLocale()) {
+            return;
+        }
+        int localeSource = 0;
+        if (hasSuggestionType(localeInfo,
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_SYSTEM_AVAILABLE_LANGUAGE)) {
+            localeSource |= SYSTEM_LOCALE;
+        }
+        if (hasSuggestionType(localeInfo,
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_OTHER_APP_LANGUAGE)) {
+            localeSource |= APP_LOCALE;
+        }
+        if (hasSuggestionType(localeInfo, LocaleStore.LocaleInfo.SUGGESTION_TYPE_IME_LANGUAGE)) {
+            localeSource |= IME_LOCALE;
+        }
+        if (hasSuggestionType(localeInfo, LocaleStore.LocaleInfo.SUGGESTION_TYPE_SIM)) {
+            localeSource |= SIM_LOCALE;
+        }
+        mMetricsFeatureProvider.action(this,
+                SettingsEnums.ACTION_CHANGE_APP_LANGUAGE_FROM_SUGGESTED, localeSource);
+    }
+
+    private static boolean hasSuggestionType(LocaleStore.LocaleInfo localeInfo,
+            int suggestionType) {
+        return localeInfo.isSuggestionOfType(suggestionType);
+    }
 }
diff --git a/src/com/android/settings/localepicker/LocaleDialogFragment.java b/src/com/android/settings/localepicker/LocaleDialogFragment.java
index 2457e79..91cbc87 100644
--- a/src/com/android/settings/localepicker/LocaleDialogFragment.java
+++ b/src/com/android/settings/localepicker/LocaleDialogFragment.java
@@ -51,6 +51,7 @@
 
     static final int DIALOG_CONFIRM_SYSTEM_DEFAULT = 1;
     static final int DIALOG_NOT_AVAILABLE_LOCALE = 2;
+    static final int DIALOG_ADD_SYSTEM_LOCALE = 3;
 
     static final String ARG_DIALOG_TYPE = "arg_dialog_type";
     static final String ARG_TARGET_LOCALE = "arg_target_locale";
@@ -95,7 +96,8 @@
             mShouldKeepDialog = savedInstanceState.getBoolean(ARG_SHOW_DIALOG, false);
             // Keep the dialog if user rotates the device, otherwise close the confirm system
             // default dialog only when user changes the locale.
-            if (type == DIALOG_CONFIRM_SYSTEM_DEFAULT && !mShouldKeepDialog) {
+            if ((type == DIALOG_CONFIRM_SYSTEM_DEFAULT || type == DIALOG_ADD_SYSTEM_LOCALE)
+                    && !mShouldKeepDialog) {
                 dismiss();
             }
         }
@@ -185,14 +187,15 @@
             Bundle arguments = dialogFragment.getArguments();
             mDialogType = arguments.getInt(ARG_DIALOG_TYPE);
             mLocaleInfo = (LocaleStore.LocaleInfo) arguments.getSerializable(ARG_TARGET_LOCALE);
-            mMetricsFeatureProvider = FeatureFactory.getFactory(
-                    mContext).getMetricsFeatureProvider();
+            mMetricsFeatureProvider =
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
             mParent = parentFragment;
         }
 
         @Override
         public void onClick(DialogInterface dialog, int which) {
-            if (mDialogType == DIALOG_CONFIRM_SYSTEM_DEFAULT) {
+            if (mDialogType == DIALOG_CONFIRM_SYSTEM_DEFAULT
+                    || mDialogType == DIALOG_ADD_SYSTEM_LOCALE) {
                 int result = Activity.RESULT_CANCELED;
                 boolean changed = false;
                 if (which == DialogInterface.BUTTON_POSITIVE) {
@@ -201,9 +204,12 @@
                 }
                 Intent intent = new Intent();
                 Bundle bundle = new Bundle();
-                bundle.putInt(ARG_DIALOG_TYPE, DIALOG_CONFIRM_SYSTEM_DEFAULT);
+                bundle.putInt(ARG_DIALOG_TYPE, mDialogType);
+                bundle.putSerializable(LocaleDialogFragment.ARG_TARGET_LOCALE, mLocaleInfo);
                 intent.putExtras(bundle);
-                mParent.onActivityResult(DIALOG_CONFIRM_SYSTEM_DEFAULT, result, intent);
+                mParent.onActivityResult(mDialogType, result, intent);
+                mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_CHANGE_LANGUAGE,
+                        changed);
             }
             mShouldKeepDialog = false;
         }
@@ -227,6 +233,15 @@
                     dialogContent.mMessage = mContext.getString(R.string.desc_unavailable_locale);
                     dialogContent.mPositiveButton = mContext.getString(R.string.okay);
                     break;
+                case DIALOG_ADD_SYSTEM_LOCALE:
+                    dialogContent.mTitle = String.format(mContext.getString(
+                                    R.string.title_system_locale_addition),
+                            mLocaleInfo.getFullNameNative());
+                    dialogContent.mMessage = mContext.getString(
+                            R.string.desc_system_locale_addition);
+                    dialogContent.mPositiveButton = mContext.getString(R.string.add);
+                    dialogContent.mNegativeButton = mContext.getString(R.string.cancel);
+                    break;
                 default:
                     break;
             }
diff --git a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
index bfe0749..24d9927 100644
--- a/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
+++ b/src/com/android/settings/localepicker/LocaleDragAndDropAdapter.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.localepicker;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.os.Bundle;
@@ -38,6 +39,7 @@
 import com.android.internal.app.LocalePicker;
 import com.android.internal.app.LocaleStore;
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.shortcut.ShortcutsUpdateTask;
 
 import java.text.NumberFormat;
@@ -192,6 +194,9 @@
     @VisibleForTesting
     protected void setCheckBoxDescription(LocaleDragCell dragCell, CheckBox checkbox,
             boolean isChecked) {
+        if (!mRemoveMode) {
+            return;
+        }
         CharSequence checkedStatus = mContext.getText(
                 isChecked ? com.android.internal.R.string.checked
                         : com.android.internal.R.string.not_checked);
@@ -225,6 +230,11 @@
                     "Negative position in onItemMove %d -> %d", fromPosition, toPosition));
         }
 
+        if (fromPosition != toPosition) {
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
+                    .action(mContext, SettingsEnums.ACTION_REORDER_LANGUAGE);
+        }
+
         notifyItemChanged(fromPosition); // to update the numbers
         notifyItemChanged(toPosition);
         notifyItemMoved(fromPosition, toPosition);
@@ -260,10 +270,14 @@
     void removeChecked() {
         int itemCount = mFeedItemList.size();
         LocaleStore.LocaleInfo localeInfo;
+        NotificationController controller = NotificationController.getInstance(mContext);
         for (int i = itemCount - 1; i >= 0; i--) {
             localeInfo = mFeedItemList.get(i);
             if (localeInfo.getChecked()) {
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
+                        .action(mContext, SettingsEnums.ACTION_REMOVE_LANGUAGE);
                 mFeedItemList.remove(i);
+                controller.removeNotificationInfo(localeInfo.getLocale().toLanguageTag());
             }
         }
         notifyDataSetChanged();
diff --git a/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java b/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
index a639c9d..b962b9e 100644
--- a/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
+++ b/src/com/android/settings/localepicker/LocaleHelperPreferenceController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.localepicker;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.util.Log;
@@ -24,8 +25,10 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.HelpUtils;
 import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.FooterPreference;
 
 /**
@@ -36,8 +39,11 @@
 
     private static final String KEY_FOOTER_LANGUAGE_PICKER = "footer_languages_picker";
 
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
+
     public LocaleHelperPreferenceController(Context context) {
         super(context);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -72,6 +78,7 @@
                 mContext.getString(R.string.link_locale_picker_footer_learn_more),
                 mContext.getClass().getName());
         if (intent != null) {
+            mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_LANGUAGES_LEARN_MORE);
             mContext.startActivity(intent);
         } else {
             Log.w(TAG, "HelpIntent is null");
diff --git a/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java b/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
index 8795bf9..59a5fb0 100644
--- a/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
+++ b/src/com/android/settings/localepicker/LocaleLinearLayoutManager.java
@@ -43,6 +43,7 @@
 public class LocaleLinearLayoutManager extends LinearLayoutManager {
     private final LocaleDragAndDropAdapter mAdapter;
     private final Context mContext;
+    private LocaleListEditor mLocaleListEditor;
 
     private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveUp;
     private final AccessibilityNodeInfoCompat.AccessibilityActionCompat mActionMoveDown;
@@ -147,8 +148,12 @@
         }
 
         if (result) {
-            mAdapter.doTheUpdate();
+            mLocaleListEditor.showConfirmDialog(false, mAdapter.getFeedItemList().get(0));
         }
         return result;
     }
+
+    public void setLocaleListEditor(LocaleListEditor localeListEditor) {
+        mLocaleListEditor = localeListEditor;
+    }
 }
diff --git a/src/com/android/settings/localepicker/LocaleListEditor.java b/src/com/android/settings/localepicker/LocaleListEditor.java
index a9ea42c..b09e22c 100644
--- a/src/com/android/settings/localepicker/LocaleListEditor.java
+++ b/src/com/android/settings/localepicker/LocaleListEditor.java
@@ -18,6 +18,9 @@
 
 import static android.os.UserManager.DISALLOW_CONFIG_LOCALE;
 
+import static com.android.settings.flags.Flags.localeNotificationEnabled;
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_APP_LOCALE;
+import static com.android.settings.localepicker.LocaleDialogFragment.DIALOG_ADD_SYSTEM_LOCALE;
 import static com.android.settings.localepicker.LocaleDialogFragment.DIALOG_CONFIRM_SYSTEM_DEFAULT;
 
 import android.app.Activity;
@@ -30,6 +33,7 @@
 import android.os.LocaleList;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.util.Log;
 import android.view.LayoutInflater;
 import android.view.Menu;
 import android.view.MenuInflater;
@@ -65,28 +69,36 @@
  */
 @SearchIndexable
 public class LocaleListEditor extends RestrictedSettingsFragment implements View.OnTouchListener {
-
     protected static final String INTENT_LOCALE_KEY = "localeInfo";
+    protected static final String EXTRA_SYSTEM_LOCALE_DIALOG_TYPE = "system_locale_dialog_type";
+    protected static final String LOCALE_SUGGESTION = "locale_suggestion";
+
+    private static final String TAG = LocaleListEditor.class.getSimpleName();
     private static final String CFGKEY_REMOVE_MODE = "localeRemoveMode";
     private static final String CFGKEY_REMOVE_DIALOG = "showingLocaleRemoveDialog";
-    private static final int MENU_ID_REMOVE = Menu.FIRST + 1;
-    private static final int REQUEST_LOCALE_PICKER = 0;
-
+    private static final String CFGKEY_ADD_LOCALE = "localeAdded";
     private static final String INDEX_KEY_ADD_LANGUAGE = "add_language";
     private static final String KEY_LANGUAGES_PICKER = "languages_picker";
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
     private static final String TAG_DIALOG_CONFIRM_SYSTEM_DEFAULT = "dialog_confirm_system_default";
     private static final String TAG_DIALOG_NOT_AVAILABLE = "dialog_not_available_locale";
+    private static final String TAG_DIALOG_ADD_SYSTEM_LOCALE = "dialog_add_system_locale";
+    private static final int MENU_ID_REMOVE = Menu.FIRST + 1;
+    private static final int REQUEST_LOCALE_PICKER = 0;
 
     private LocaleDragAndDropAdapter mAdapter;
     private Menu mMenu;
     private View mAddLanguage;
+    private AlertDialog mSuggestionDialog = null;
     private boolean mRemoveMode;
     private boolean mShowingRemoveDialog;
+    private boolean mLocaleAdditionMode = false;
     private boolean mIsUiRestricted;
 
     private LayoutPreference mLocalePickerPreference;
     private LocaleHelperPreferenceController mLocaleHelperPreferenceController;
     private FragmentManager mFragmentManager;
+    private TermsOfAddressCategoryController mTermsOfAddressCategoryController;
 
     public LocaleListEditor() {
         super(DISALLOW_CONFIG_LOCALE);
@@ -108,6 +120,9 @@
         final PreferenceScreen screen = getPreferenceScreen();
         mLocalePickerPreference = screen.findPreference(KEY_LANGUAGES_PICKER);
         mLocaleHelperPreferenceController.displayPreference(screen);
+        mTermsOfAddressCategoryController = new TermsOfAddressCategoryController(activity,
+                KEY_CATEGORY_TERMS_OF_ADDRESS);
+        mTermsOfAddressCategoryController.displayPreference(screen);
 
         LocaleStore.fillCache(this.getContext());
         final List<LocaleStore.LocaleInfo> feedsList = getUserLocaleList();
@@ -146,6 +161,7 @@
         if (savedInstanceState != null) {
             mRemoveMode = savedInstanceState.getBoolean(CFGKEY_REMOVE_MODE, false);
             mShowingRemoveDialog = savedInstanceState.getBoolean(CFGKEY_REMOVE_DIALOG, false);
+            mLocaleAdditionMode = savedInstanceState.getBoolean(CFGKEY_ADD_LOCALE, false);
         }
         setRemoveMode(mRemoveMode);
 
@@ -161,6 +177,11 @@
         if (mShowingRemoveDialog) {
             showRemoveLocaleWarningDialog();
         }
+        Log.d(TAG, "LocaleAdditionMode:" + mLocaleAdditionMode);
+        if (!mLocaleAdditionMode && shouldShowConfirmationDialog()) {
+            showDialogForAddedLocale();
+            mLocaleAdditionMode = true;
+        }
     }
 
     @Override
@@ -168,6 +189,7 @@
         super.onSaveInstanceState(outState);
         outState.putBoolean(CFGKEY_REMOVE_MODE, mRemoveMode);
         outState.putBoolean(CFGKEY_REMOVE_DIALOG, mShowingRemoveDialog);
+        outState.putBoolean(CFGKEY_ADD_LOCALE, mLocaleAdditionMode);
         mAdapter.saveState(outState);
     }
 
@@ -202,6 +224,7 @@
             localeInfo = mayAppendUnicodeTags(localeInfo, preferencesTags);
             mAdapter.addLocale(localeInfo);
             updateVisibilityOfRemoveMenu();
+            mMetricsFeatureProvider.action(getContext(), SettingsEnums.ACTION_ADD_LANGUAGE);
         } else if (requestCode == DIALOG_CONFIRM_SYSTEM_DEFAULT) {
             localeInfo = mAdapter.getFeedItemList().get(0);
             if (resultCode == Activity.RESULT_OK) {
@@ -215,13 +238,24 @@
                     localeDialogFragment.setArguments(args);
                     localeDialogFragment.show(mFragmentManager, TAG_DIALOG_NOT_AVAILABLE);
                     mMetricsFeatureProvider.action(getContext(),
-                            SettingsEnums.ACTION_NOT_SUPPORTED_SYSTEM_LANGUAGE,
-                            localeInfo.getLocale().toLanguageTag());
+                            SettingsEnums.ACTION_NOT_SUPPORTED_SYSTEM_LANGUAGE);
                 }
             } else {
                 mAdapter.notifyListChanged(localeInfo);
             }
             mAdapter.setCacheItemList();
+        } else if (requestCode == DIALOG_ADD_SYSTEM_LOCALE) {
+            int action = SettingsEnums.ACTION_CANCEL_SYSTEM_LOCALE_FROM_RECOMMENDATION;
+            if (resultCode == Activity.RESULT_OK) {
+                localeInfo = (LocaleStore.LocaleInfo) data.getExtras().getSerializable(
+                        LocaleDialogFragment.ARG_TARGET_LOCALE);
+                String preferencesTags = Settings.System.getString(
+                        getContext().getContentResolver(),
+                        Settings.System.LOCALE_PREFERENCES);
+                mAdapter.addLocale(mayAppendUnicodeTags(localeInfo, preferencesTags));
+                action = SettingsEnums.ACTION_ADD_SYSTEM_LOCALE_FROM_RECOMMENDATION;
+            }
+            mMetricsFeatureProvider.action(getContext(), action);
         }
         super.onActivityResult(requestCode, resultCode, data);
     }
@@ -250,6 +284,81 @@
         updateVisibilityOfRemoveMenu();
     }
 
+    private boolean shouldShowConfirmationDialog() {
+        Intent intent = this.getIntent();
+        String dialogType = intent.getStringExtra(EXTRA_SYSTEM_LOCALE_DIALOG_TYPE);
+        String localeTag = intent.getStringExtra(EXTRA_APP_LOCALE);
+        String callingPackage = getActivity().getCallingPackage();
+        if (!localeNotificationEnabled()
+                || !getContext().getPackageName().equals(callingPackage)
+                || !isValidDialogType(dialogType)
+                || !isValidLocale(localeTag)
+                || LocaleUtils.isInSystemLocale(localeTag)) {
+            return false;
+        }
+        return true;
+    }
+
+    @VisibleForTesting
+    NotificationController getNotificationController() {
+        return NotificationController.getInstance(getContext());
+    }
+
+    private boolean isValidDialogType(String type) {
+        return LOCALE_SUGGESTION.equals(type);
+    }
+
+    private boolean isValidLocale(String tag) {
+        if (TextUtils.isEmpty(tag)) {
+            return false;
+        }
+        String[] systemLocales = getSupportedLocales();
+        for (String systemTag : systemLocales) {
+            if (systemTag.equals(tag)) {
+                return true;
+            }
+        }
+        return false;
+    }
+
+    @VisibleForTesting
+    String[] getSupportedLocales() {
+        return LocalePicker.getSupportedLocales(getContext());
+    }
+
+    private void showDialogForAddedLocale() {
+        Log.d(TAG, "show confirmation dialog");
+        Intent intent = this.getIntent();
+        String dialogType = intent.getStringExtra(EXTRA_SYSTEM_LOCALE_DIALOG_TYPE);
+        String appLocaleTag = intent.getStringExtra(EXTRA_APP_LOCALE);
+
+        LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(
+                Locale.forLanguageTag(appLocaleTag));
+        final LocaleDialogFragment localeDialogFragment =
+                LocaleDialogFragment.newInstance();
+        Bundle args = new Bundle();
+        args.putInt(LocaleDialogFragment.ARG_DIALOG_TYPE, DIALOG_ADD_SYSTEM_LOCALE);
+        args.putSerializable(LocaleDialogFragment.ARG_TARGET_LOCALE, localeInfo);
+        localeDialogFragment.setArguments(args);
+        localeDialogFragment.show(mFragmentManager, TAG_DIALOG_ADD_SYSTEM_LOCALE);
+    }
+
+    private void customizeLayout(AlertDialog.Builder dialogBuilder, String language) {
+        View dialogView = getLocaleDialogView();
+        dialogBuilder.setView(dialogView);
+        TextView title = dialogView.findViewById(R.id.dialog_title);
+        title.setText(
+                String.format(getContext().getResources().getString(
+                        R.string.title_system_locale_addition), language));
+        TextView message = dialogView.findViewById(R.id.dialog_msg);
+        message.setText(R.string.desc_system_locale_addition);
+    }
+
+    protected View getLocaleDialogView() {
+        LayoutInflater inflater = this.getLayoutInflater();
+        return inflater.inflate(R.layout.locale_dialog, null);
+    }
+
     // Show the appropriate warning when the user tries to remove locales.
     // Shows no warning if there is no locale checked, shows a warning
     // about removing all the locales if all of them are checked, and
@@ -364,6 +473,7 @@
     private void configureDragAndDrop(LayoutPreference layout) {
         final RecyclerView list = layout.findViewById(R.id.dragList);
         final LocaleLinearLayoutManager llm = new LocaleLinearLayoutManager(getContext(), mAdapter);
+        llm.setLocaleListEditor(this);
         llm.setAutoMeasureEnabled(true);
         list.setLayoutManager(llm);
         list.setHasFixedSize(true);
@@ -377,7 +487,7 @@
         mAddLanguage.setOnClickListener(new View.OnClickListener() {
             @Override
             public void onClick(View v) {
-                FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                         .logSettingsTileClick(INDEX_KEY_ADD_LANGUAGE, getMetricsCategory());
 
                 final Intent intent = new Intent(getActivity(),
@@ -397,7 +507,7 @@
         return false;
     }
 
-    private void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) {
+    public void showConfirmDialog(boolean isFirstRemoved, LocaleStore.LocaleInfo localeInfo) {
         Locale currentSystemLocale = LocalePicker.getLocales().get(0);
         if (!localeInfo.getLocale().equals(currentSystemLocale)) {
             final LocaleDialogFragment localeDialogFragment =
diff --git a/src/com/android/settings/localepicker/LocaleNotificationDataManager.java b/src/com/android/settings/localepicker/LocaleNotificationDataManager.java
new file mode 100644
index 0000000..0e89366
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleNotificationDataManager.java
@@ -0,0 +1,111 @@
+/*
+ * 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.localepicker;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.google.gson.Gson;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * A data manager that manages the {@link SharedPreferences} for the locale notification
+ * information.
+ */
+public class LocaleNotificationDataManager {
+    public static final String LOCALE_NOTIFICATION = "locale_notification";
+    private Context mContext;
+
+    /**
+     * Constructor
+     *
+     * @param context The context
+     */
+    public LocaleNotificationDataManager(Context context) {
+        this.mContext = context;
+    }
+
+    private static SharedPreferences getSharedPreferences(Context context) {
+        return context.getSharedPreferences(LOCALE_NOTIFICATION, Context.MODE_PRIVATE);
+    }
+
+    /**
+     * Adds one entry with the corresponding locale and {@link NotificationInfo} to the
+     * {@link SharedPreferences}.
+     *
+     * @param locale A locale which the application sets to
+     * @param info   The notification metadata
+     */
+    public void putNotificationInfo(String locale, NotificationInfo info) {
+        Gson gson = new Gson();
+        String json = gson.toJson(info);
+        SharedPreferences.Editor editor = getSharedPreferences(mContext).edit();
+        editor.putString(locale, json);
+        editor.apply();
+    }
+
+    /**
+     * Removes one entry with the corresponding locale from the {@link SharedPreferences}.
+     *
+     * @param locale A locale which the application sets to
+     */
+    public void removeNotificationInfo(String locale) {
+        SharedPreferences.Editor editor = getSharedPreferences(mContext).edit();
+        editor.remove(locale);
+        editor.apply();
+    }
+
+    /**
+     * Gets the {@link NotificationInfo} with the associated locale from the
+     * {@link SharedPreferences}.
+     *
+     * @param locale A locale which the application sets to
+     * @return {@link NotificationInfo}
+     */
+    public NotificationInfo getNotificationInfo(String locale) {
+        Gson gson = new Gson();
+        String json = getSharedPreferences(mContext).getString(locale, "");
+        return json.isEmpty() ? null : gson.fromJson(json, NotificationInfo.class);
+    }
+
+    /**
+     * Gets the locale notification map.
+     *
+     * @return A map which maps the locale to the corresponding {@link NotificationInfo}
+     */
+    public Map<String, NotificationInfo> getLocaleNotificationInfoMap() {
+        Gson gson = new Gson();
+        Map<String, String> map = (Map<String, String>) getSharedPreferences(mContext).getAll();
+        Map<String, NotificationInfo> result = new HashMap<>(map.size());
+        map.forEach((key, value) -> {
+            result.put(key, gson.fromJson(value, NotificationInfo.class));
+        });
+        return result;
+    }
+
+    /**
+     * Clears the locale notification map.
+     */
+    @VisibleForTesting
+    void clearLocaleNotificationMap() {
+        getSharedPreferences(mContext).edit().clear().apply();
+    }
+}
diff --git a/src/com/android/settings/localepicker/LocaleUtils.java b/src/com/android/settings/localepicker/LocaleUtils.java
new file mode 100644
index 0000000..a84d0be
--- /dev/null
+++ b/src/com/android/settings/localepicker/LocaleUtils.java
@@ -0,0 +1,53 @@
+/*
+ * 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.localepicker;
+
+import android.os.LocaleList;
+
+import androidx.annotation.NonNull;
+
+import java.util.Locale;
+
+/**
+ * A locale utility class.
+ */
+public class LocaleUtils {
+    /**
+     * Checks if the languageTag is in the system locale. Since in the current design, the system
+     * language list would not show two locales with the same language and region but different
+     * numbering system. So, the u extension has to be stripped out in the process of comparison.
+     *
+     * @param languageTag A language tag
+     * @return true if the locale is in the system locale. Otherwise, false.
+     */
+    public static boolean isInSystemLocale(@NonNull String languageTag) {
+        LocaleList systemLocales = LocaleList.getDefault();
+        Locale localeWithoutUextension =
+                new Locale.Builder()
+                        .setLocale(Locale.forLanguageTag(languageTag))
+                        .clearExtensions()
+                        .build();
+        for (int i = 0; i < systemLocales.size(); i++) {
+            Locale sysLocaleWithoutUextension =
+                    new Locale.Builder().setLocale(systemLocales.get(i)).clearExtensions().build();
+            if (localeWithoutUextension.equals(sysLocaleWithoutUextension)) {
+                return true;
+            }
+        }
+        return false;
+    }
+}
diff --git a/src/com/android/settings/localepicker/NotificationActionActivity.java b/src/com/android/settings/localepicker/NotificationActionActivity.java
new file mode 100644
index 0000000..c15de13
--- /dev/null
+++ b/src/com/android/settings/localepicker/NotificationActionActivity.java
@@ -0,0 +1,82 @@
+/*
+ * 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.localepicker;
+
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_APP_LOCALE;
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_NOTIFICATION_ID;
+import static com.android.settings.localepicker.LocaleListEditor.EXTRA_SYSTEM_LOCALE_DIALOG_TYPE;
+import static com.android.settings.localepicker.LocaleListEditor.LOCALE_SUGGESTION;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AppCompatActivity;
+
+import com.android.settings.overlay.FeatureFactory;
+
+/**
+ * An Activity that launches the system locale settings page.
+ */
+public class NotificationActionActivity extends AppCompatActivity {
+    private static final String TAG = "NotificationActionActivity";
+    private static final int INVALID_NOTIFICATION_ID = -1;
+    private final ActivityResultLauncher<Intent> mStartForResult =
+            registerForActivityResult(new ActivityResultContracts.StartActivityForResult(),
+                    result -> {
+                    });
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        Intent intent = getIntent();
+        int notificationId = intent.getIntExtra(EXTRA_NOTIFICATION_ID, INVALID_NOTIFICATION_ID);
+        String appLocale = intent.getStringExtra(EXTRA_APP_LOCALE);
+        if (TextUtils.isEmpty(appLocale) || notificationId == INVALID_NOTIFICATION_ID) {
+            finish();
+            return;
+        }
+        int savedNotificationID = getNotificationController(this).getNotificationId(appLocale);
+        if (savedNotificationID == notificationId) {
+            Intent actionIntent = new Intent(Settings.ACTION_LOCALE_SETTINGS);
+            actionIntent.putExtra(EXTRA_SYSTEM_LOCALE_DIALOG_TYPE, LOCALE_SUGGESTION);
+            actionIntent.putExtra(EXTRA_APP_LOCALE, appLocale);
+            actionIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+            getLauncher().launch(actionIntent);
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(this,
+                    SettingsEnums.ACTION_NOTIFICATION_CLICK_FOR_SYSTEM_LOCALE);
+            finish();
+            return;
+        }
+    }
+
+    @VisibleForTesting
+    protected NotificationController getNotificationController(Context context) {
+        return NotificationController.getInstance(context);
+    }
+
+    @VisibleForTesting
+    protected ActivityResultLauncher<Intent> getLauncher() {
+        return mStartForResult;
+    }
+}
diff --git a/src/com/android/settings/localepicker/NotificationCancelReceiver.java b/src/com/android/settings/localepicker/NotificationCancelReceiver.java
new file mode 100644
index 0000000..f89376b
--- /dev/null
+++ b/src/com/android/settings/localepicker/NotificationCancelReceiver.java
@@ -0,0 +1,56 @@
+/*
+ * 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.localepicker;
+
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_APP_LOCALE;
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_NOTIFICATION_ID;
+
+import android.app.settings.SettingsEnums;
+import android.content.BroadcastReceiver;
+import android.content.Context;
+import android.content.Intent;
+import android.util.Log;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.overlay.FeatureFactory;
+
+/**
+ * A Broadcast receiver that handles the locale notification which is swiped away.
+ */
+public class NotificationCancelReceiver extends BroadcastReceiver {
+    private static final String TAG = NotificationCancelReceiver.class.getSimpleName();
+
+    @Override
+    public void onReceive(Context context, Intent intent) {
+        String appLocale = intent.getExtras().getString(EXTRA_APP_LOCALE);
+        int notificationId = intent.getExtras().getInt(EXTRA_NOTIFICATION_ID, -1);
+        int savedNotificationID = getNotificationController(context).getNotificationId(
+                appLocale);
+        Log.i(TAG, "Locale notification is swiped away.");
+        if (savedNotificationID == notificationId) {
+            getNotificationController(context).incrementDismissCount(appLocale);
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
+                    SettingsEnums.ACTION_NOTIFICATION_SWIPE_FOR_SYSTEM_LOCALE);
+        }
+    }
+
+    @VisibleForTesting
+    NotificationController getNotificationController(Context context) {
+        return NotificationController.getInstance(context);
+    }
+}
diff --git a/src/com/android/settings/localepicker/NotificationController.java b/src/com/android/settings/localepicker/NotificationController.java
new file mode 100644
index 0000000..4096705
--- /dev/null
+++ b/src/com/android/settings/localepicker/NotificationController.java
@@ -0,0 +1,182 @@
+/*
+ * 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.localepicker;
+
+import android.content.Context;
+import android.os.SystemClock;
+import android.os.SystemProperties;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.VisibleForTesting;
+
+import java.util.Calendar;
+import java.util.Set;
+
+/**
+ * A controller that evaluates whether the notification can be triggered and update the
+ * SharedPreference.
+ */
+public class NotificationController {
+    private static final String TAG = NotificationController.class.getSimpleName();
+    private static final int DISMISS_COUNT_THRESHOLD = 2;
+    private static final int NOTIFICATION_COUNT_THRESHOLD = 2;
+    private static final int MULTIPLE_BASE = 2;
+    // seven days: 7 * 24 * 60
+    private static final int MIN_DURATION_BETWEEN_NOTIFICATIONS_MIN = 10080;
+    private static final String PROPERTY_MIN_DURATION =
+            "android.localenotification.duration.threshold";
+
+    private static NotificationController sInstance = null;
+
+    private final LocaleNotificationDataManager mDataManager;
+
+    /**
+     * Get {@link NotificationController} instance.
+     *
+     * @param context The context
+     * @return {@link NotificationController} instance
+     */
+    public static synchronized NotificationController getInstance(@NonNull Context context) {
+        if (sInstance == null) {
+            sInstance = new NotificationController(context);
+        }
+        return sInstance;
+    }
+
+    private NotificationController(Context context) {
+        mDataManager = new LocaleNotificationDataManager(context);
+    }
+
+    @VisibleForTesting
+    LocaleNotificationDataManager getDataManager() {
+        return mDataManager;
+    }
+
+    /**
+     * Increment the dismissCount of the notification.
+     *
+     * @param locale A locale used to query the {@link NotificationInfo}
+     */
+    public void incrementDismissCount(@NonNull String locale) {
+        NotificationInfo currentInfo = mDataManager.getNotificationInfo(locale);
+        NotificationInfo newInfo = new NotificationInfo(currentInfo.getUidCollection(),
+                currentInfo.getNotificationCount(),
+                currentInfo.getDismissCount() + 1,
+                currentInfo.getLastNotificationTimeMs(),
+                currentInfo.getNotificationId());
+        mDataManager.putNotificationInfo(locale, newInfo);
+    }
+
+    /**
+     * Whether the notification can be triggered or not.
+     *
+     * @param uid     The application's uid.
+     * @param locale  The application's locale which the user updated to.
+     * @return true if the notification needs to be triggered. Otherwise, false.
+     */
+    public boolean shouldTriggerNotification(int uid, @NonNull String locale) {
+        if (LocaleUtils.isInSystemLocale(locale)) {
+            return false;
+        } else {
+            // Add the uid into the locale's uid list and update the notification count if the
+            // notification can be triggered.
+            return updateLocaleNotificationInfo(uid, locale);
+        }
+    }
+
+    /**
+     * Get the notification id
+     *
+     * @param locale The locale which the application sets to
+     * @return the notification id
+     */
+    public int getNotificationId(@NonNull String locale) {
+        NotificationInfo info = mDataManager.getNotificationInfo(locale);
+        return (info != null) ? info.getNotificationId() : -1;
+    }
+
+    /**
+     * Remove the {@link NotificationInfo} with the corresponding locale
+     *
+     * @param locale The locale which the application sets to
+     */
+    public void removeNotificationInfo(@NonNull String locale) {
+        mDataManager.removeNotificationInfo(locale);
+    }
+
+    private boolean updateLocaleNotificationInfo(int uid, String locale) {
+        NotificationInfo info = mDataManager.getNotificationInfo(locale);
+        if (info == null) {
+            // Create an empty record with the uid and update the SharedPreference.
+            NotificationInfo emptyInfo = new NotificationInfo(Set.of(uid), 0, 0, 0, 0);
+            mDataManager.putNotificationInfo(locale, emptyInfo);
+            return false;
+        }
+        Set uidCollection = info.getUidCollection();
+        if (uidCollection.contains(uid)) {
+            return false;
+        }
+
+        NotificationInfo newInfo =
+                createNotificationInfoWithNewUidAndCount(uidCollection, uid, info);
+        mDataManager.putNotificationInfo(locale, newInfo);
+        return newInfo.getNotificationCount() > info.getNotificationCount();
+    }
+
+    private NotificationInfo createNotificationInfoWithNewUidAndCount(
+            Set<Integer> uidSet, int uid, NotificationInfo info) {
+        int dismissCount = info.getDismissCount();
+        int notificationCount = info.getNotificationCount();
+        long lastNotificationTime = info.getLastNotificationTimeMs();
+        int notificationId = info.getNotificationId();
+        if (dismissCount < DISMISS_COUNT_THRESHOLD
+                && notificationCount < NOTIFICATION_COUNT_THRESHOLD) {
+            // Add the uid into the locale's uid list
+            uidSet.add(uid);
+            // Notification should fire on multiples of 2 apps using the locale.
+            if (uidSet.size() % MULTIPLE_BASE == 0
+                    && !isNotificationFrequent(lastNotificationTime)) {
+                // Increment the count because the notification can be triggered.
+                notificationCount = info.getNotificationCount() + 1;
+                lastNotificationTime = Calendar.getInstance().getTimeInMillis();
+                Log.i(TAG, "notificationCount:" + notificationCount);
+                if (notificationCount == 1) {
+                    notificationId = (int) SystemClock.uptimeMillis();
+                }
+            }
+        }
+        return new NotificationInfo(uidSet, notificationCount, dismissCount, lastNotificationTime,
+                notificationId);
+    }
+
+    /**
+     * Evaluates if the notification is triggered frequently.
+     *
+     * @param lastNotificationTime The timestamp that the last notification was triggered.
+     * @return true if the duration of the two continuous notifications is smaller than the
+     * threshold.
+     * Otherwise, false.
+     */
+    private boolean isNotificationFrequent(long lastNotificationTime) {
+        Calendar time = Calendar.getInstance();
+        int threshold = SystemProperties.getInt(PROPERTY_MIN_DURATION,
+                MIN_DURATION_BETWEEN_NOTIFICATIONS_MIN);
+        time.add(Calendar.MINUTE, threshold * -1);
+        return time.getTimeInMillis() < lastNotificationTime;
+    }
+}
diff --git a/src/com/android/settings/localepicker/NotificationInfo.java b/src/com/android/settings/localepicker/NotificationInfo.java
new file mode 100644
index 0000000..8390826
--- /dev/null
+++ b/src/com/android/settings/localepicker/NotificationInfo.java
@@ -0,0 +1,99 @@
+/*
+ * 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.localepicker;
+
+import java.util.Objects;
+import java.util.Set;
+
+class NotificationInfo {
+    private Set<Integer> mUidCollection;
+    private int mNotificationCount;
+    private int mDismissCount;
+    private long mLastNotificationTimeMs;
+    private int mNotificationId;
+
+    private NotificationInfo() {
+    }
+
+    NotificationInfo(Set<Integer> uidCollection, int notificationCount, int dismissCount,
+            long lastNotificationTimeMs, int notificationId) {
+        this.mUidCollection = uidCollection;
+        this.mNotificationCount = notificationCount;
+        this.mDismissCount = dismissCount;
+        this.mLastNotificationTimeMs = lastNotificationTimeMs;
+        this.mNotificationId = notificationId;
+    }
+
+    public Set<Integer> getUidCollection() {
+        return mUidCollection;
+    }
+
+    public int getNotificationCount() {
+        return mNotificationCount;
+    }
+
+    public int getDismissCount() {
+        return mDismissCount;
+    }
+
+    public long getLastNotificationTimeMs() {
+        return mLastNotificationTimeMs;
+    }
+
+    public int getNotificationId() {
+        return mNotificationId;
+    }
+
+    public void setUidCollection(Set<Integer> uidCollection) {
+        this.mUidCollection = uidCollection;
+    }
+
+    public void setNotificationCount(int notificationCount) {
+        this.mNotificationCount = notificationCount;
+    }
+
+    public void setDismissCount(int dismissCount) {
+        this.mDismissCount = dismissCount;
+    }
+
+    public void setLastNotificationTimeMs(long lastNotificationTimeMs) {
+        this.mLastNotificationTimeMs = lastNotificationTimeMs;
+    }
+
+    public void setNotificationId(int notificationId) {
+        this.mNotificationId = notificationId;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (o == null) return false;
+        if (this == o) return true;
+        if (!(o instanceof NotificationInfo)) return false;
+        NotificationInfo that = (NotificationInfo) o;
+        return (mUidCollection.equals(that.mUidCollection))
+                && (mDismissCount == that.mDismissCount)
+                && (mNotificationCount == that.mNotificationCount)
+                && (mLastNotificationTimeMs == that.mLastNotificationTimeMs)
+                && (mNotificationId == that.mNotificationId);
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(mUidCollection, mDismissCount, mNotificationCount,
+                mLastNotificationTimeMs, mNotificationId);
+    }
+}
diff --git a/src/com/android/settings/localepicker/OWNERS b/src/com/android/settings/localepicker/OWNERS
index 12ab32f..9d3f260 100644
--- a/src/com/android/settings/localepicker/OWNERS
+++ b/src/com/android/settings/localepicker/OWNERS
@@ -1,7 +1,6 @@
-allenwtsu@google.com
-calvinpan@google.com
-danielwbhuang@google.com
-goldmanj@google.com
-jamescflin@google.com
-joshhou@google.com
-tomhsu@google.com
\ No newline at end of file
+allenwtsu@google.com
+calvinpan@google.com
+danielwbhuang@google.com
+goldmanj@google.com
+joshhou@google.com
+zoeychen@google.com
diff --git a/src/com/android/settings/localepicker/TermsOfAddressBaseController.java b/src/com/android/settings/localepicker/TermsOfAddressBaseController.java
new file mode 100644
index 0000000..34c502f
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressBaseController.java
@@ -0,0 +1,82 @@
+/**
+ * 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.localepicker;
+
+import android.app.GrammaticalInflectionManager;
+import android.content.Context;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.widget.TickButtonPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+public abstract class TermsOfAddressBaseController extends BasePreferenceController {
+
+    private PreferenceScreen mPreferenceScreen;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    private TickButtonPreference mPreference;
+    private GrammaticalInflectionManager mGrammaticalInflectionManager;
+
+    public TermsOfAddressBaseController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+        mGrammaticalInflectionManager = context.getSystemService(
+                GrammaticalInflectionManager.class);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreferenceScreen = screen;
+        mPreference = screen.findPreference(getPreferenceKey());
+        mPreference.setOnPreferenceClickListener(clickedPref -> {
+            mGrammaticalInflectionManager.setSystemWideGrammaticalGender(
+                    getGrammaticalGenderType());
+            setSelected(mPreference);
+            mMetricsFeatureProvider.action(mContext, getMetricsActionKey());
+            return true;
+        });
+        updatePreferences();
+    }
+
+    private void setSelected(TickButtonPreference preference) {
+        for (int i = 1; i < mPreferenceScreen.getPreferenceCount(); i++) {
+            TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(i);
+            pref.setSelected(pref.getKey().equals(preference.getKey()));
+        }
+    }
+
+    private void updatePreferences() {
+        if (mPreference == null) {
+            return;
+        }
+        mPreference.setSelected(
+                mGrammaticalInflectionManager.getSystemGrammaticalGender()
+                        == getGrammaticalGenderType());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    protected abstract int getMetricsActionKey();
+
+    protected abstract int getGrammaticalGenderType();
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressCategoryController.java b/src/com/android/settings/localepicker/TermsOfAddressCategoryController.java
new file mode 100644
index 0000000..518f670
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressCategoryController.java
@@ -0,0 +1,99 @@
+/**
+ * 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.localepicker;
+
+import static com.android.settings.flags.Flags.termsOfAddressEnabled;
+
+import android.content.Context;
+import android.os.LocaleList;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.app.LocaleStore;
+import com.android.settings.R;
+import com.android.settings.widget.PreferenceCategoryController;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+
+public class TermsOfAddressCategoryController extends PreferenceCategoryController {
+
+    private static final String TAG = "TermsOfAddressCategoryController";
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
+    private static final String KEY_TERMS_OF_ADDRESS = "key_terms_of_address";
+
+    public TermsOfAddressCategoryController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        PreferenceCategory category = screen.findPreference(KEY_CATEGORY_TERMS_OF_ADDRESS);
+        if (category == null) {
+            Log.d(TAG, "displayPreference(), can not find the category.");
+            return;
+        }
+
+        boolean isAvailable = isAvailable();
+        if (isAvailable) {
+            TermsOfAddressController termsOfAddressController = new TermsOfAddressController(
+                    mContext, KEY_TERMS_OF_ADDRESS);
+            termsOfAddressController.displayPreference(screen);
+        }
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+
+        if (!termsOfAddressEnabled()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+
+        // If language is not available for system language, or if ToA does not apply to
+        // system language, we will hide it.
+        final Locale defaultLocale = Locale.getDefault();
+        LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(defaultLocale);
+        final List<String> supportedLanguageList = Arrays.asList(
+                mContext.getResources().getStringArray(
+                        R.array.terms_of_address_supported_languages));
+        final List<String> notSupportedLocaleList = Arrays.asList(
+                mContext.getResources().getStringArray(
+                        R.array.terms_of_address_unsupported_locales));
+
+        final Locale locale = localeInfo.getLocale();
+        final String language = locale.getLanguage();
+        final String localeTag = locale.toLanguageTag();
+        Log.d(TAG, "current language: " + language);
+        Log.d(TAG, "current locale tag: " + localeTag);
+
+        // Supported locales:
+        // 1. All French is supported except fr-CA.
+        // 2. QA language en-XA (LTR pseudo locale), ar_XB (RTL pseudo locale).
+        if ((supportedLanguageList.contains(language)
+                && !notSupportedLocaleList.contains(localeTag))
+                || LocaleList.isPseudoLocale(locale)) {
+            return AVAILABLE;
+        }
+
+        return CONDITIONALLY_UNAVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressController.java b/src/com/android/settings/localepicker/TermsOfAddressController.java
new file mode 100644
index 0000000..18fa3ef
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressController.java
@@ -0,0 +1,61 @@
+/**
+ * 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.localepicker;
+
+import android.content.Context;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.app.LocaleStore;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+
+public class TermsOfAddressController extends BasePreferenceController {
+
+    private static final String TAG = "TermsOfAddressController";
+    private static final String KEY = "key_terms_of_address";
+
+    private Preference mPreference;
+
+    public TermsOfAddressController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mPreference = screen.findPreference(getPreferenceKey());
+        mPreference.setFragment(TermsOfAddressFragment.class.getCanonicalName());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressFeminineController.java b/src/com/android/settings/localepicker/TermsOfAddressFeminineController.java
new file mode 100644
index 0000000..2227297
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressFeminineController.java
@@ -0,0 +1,45 @@
+/**
+ * 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.localepicker;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Configuration;
+
+public class TermsOfAddressFeminineController extends TermsOfAddressBaseController {
+
+    private static final String KEY_FEMININE = "key_terms_of_address_feminine";
+
+    public TermsOfAddressFeminineController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_FEMININE;
+    }
+
+    @Override
+    protected int getMetricsActionKey() {
+        return SettingsEnums.ACTION_TERMS_OF_ADDRESS_SPECIFIED;
+    }
+
+    @Override
+    protected int getGrammaticalGenderType() {
+        return Configuration.GRAMMATICAL_GENDER_FEMININE;
+    }
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressFragment.java b/src/com/android/settings/localepicker/TermsOfAddressFragment.java
new file mode 100644
index 0000000..9484846a
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressFragment.java
@@ -0,0 +1,65 @@
+/**
+ * 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.localepicker;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class TermsOfAddressFragment extends DashboardFragment {
+
+    private static final String LOG_TAG = "TermsOfAddressFragment";
+    private static final String KEY_NOT_SPECIFIED = "key_terms_of_address_not_specified";
+    private static final String KEY_FEMININE = "key_terms_of_address_feminine";
+    private static final String KEY_MASCULINE = "key_terms_of_address_masculine";
+    private static final String KEY_NEUTRAL = "key_terms_of_address_neutral";
+
+    @Override
+    protected String getLogTag() {
+        return LOG_TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.TERMS_OF_ADDRESS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.terms_of_address;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new TermsOfAddressNotSpecifiedController(context, KEY_NOT_SPECIFIED));
+        controllers.add(new TermsOfAddressFeminineController(context, KEY_FEMININE));
+        controllers.add(new TermsOfAddressMasculineController(context, KEY_MASCULINE));
+        controllers.add(new TermsOfAddressNeutralController(context, KEY_NEUTRAL));
+        return controllers;
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.terms_of_address);
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressMasculineController.java b/src/com/android/settings/localepicker/TermsOfAddressMasculineController.java
new file mode 100644
index 0000000..1548be2
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressMasculineController.java
@@ -0,0 +1,45 @@
+/**
+ * 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.localepicker;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Configuration;
+
+public class TermsOfAddressMasculineController extends TermsOfAddressBaseController {
+
+    private static final String KEY_MASCULINE = "key_terms_of_address_masculine";
+
+    public TermsOfAddressMasculineController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_MASCULINE;
+    }
+
+    @Override
+    protected int getMetricsActionKey() {
+        return SettingsEnums.ACTION_TERMS_OF_ADDRESS_SPECIFIED;
+    }
+
+    @Override
+    protected int getGrammaticalGenderType() {
+        return Configuration.GRAMMATICAL_GENDER_MASCULINE;
+    }
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressNeutralController.java b/src/com/android/settings/localepicker/TermsOfAddressNeutralController.java
new file mode 100644
index 0000000..0863c4f
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressNeutralController.java
@@ -0,0 +1,45 @@
+/**
+ * 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.localepicker;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Configuration;
+
+public class TermsOfAddressNeutralController extends TermsOfAddressBaseController {
+
+    private static final String KEY_NEUTRAL = "key_terms_of_address_neutral";
+
+    public TermsOfAddressNeutralController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_NEUTRAL;
+    }
+
+    @Override
+    protected int getMetricsActionKey() {
+        return SettingsEnums.ACTION_TERMS_OF_ADDRESS_SPECIFIED;
+    }
+
+    @Override
+    protected int getGrammaticalGenderType() {
+        return Configuration.GRAMMATICAL_GENDER_NEUTRAL;
+    }
+}
diff --git a/src/com/android/settings/localepicker/TermsOfAddressNotSpecifiedController.java b/src/com/android/settings/localepicker/TermsOfAddressNotSpecifiedController.java
new file mode 100644
index 0000000..4e2e450
--- /dev/null
+++ b/src/com/android/settings/localepicker/TermsOfAddressNotSpecifiedController.java
@@ -0,0 +1,45 @@
+/**
+ * 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.localepicker;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Configuration;
+
+public class TermsOfAddressNotSpecifiedController extends TermsOfAddressBaseController {
+
+    private static final String KEY_NOT_SPECIFIED = "key_terms_of_address_not_specified";
+
+    public TermsOfAddressNotSpecifiedController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_NOT_SPECIFIED;
+    }
+
+    @Override
+    protected int getMetricsActionKey() {
+        return SettingsEnums.ACTION_TERMS_OF_ADDRESS_NOT_SPECIFIED;
+    }
+
+    @Override
+    protected int getGrammaticalGenderType() {
+        return Configuration.GRAMMATICAL_GENDER_NOT_SPECIFIED;
+    }
+}
diff --git a/src/com/android/settings/location/AppSettingsInjector.java b/src/com/android/settings/location/AppSettingsInjector.java
index 7bea999..e012b09 100644
--- a/src/com/android/settings/location/AppSettingsInjector.java
+++ b/src/com/android/settings/location/AppSettingsInjector.java
@@ -40,7 +40,7 @@
     public AppSettingsInjector(Context context, int metricsCategory) {
         super(context);
         mMetricsCategory = metricsCategory;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java b/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
index 78e3184..c975a41 100644
--- a/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
+++ b/src/com/android/settings/location/BluetoothScanningMainSwitchPreferenceController.java
@@ -16,22 +16,22 @@
 package com.android.settings.location;
 
 import android.content.Context;
-import android.provider.Settings;
-import android.widget.Switch;
 import android.os.UserManager;
+import android.provider.Settings;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Preference controller for Bluetooth scanning main switch.
  */
 public class BluetoothScanningMainSwitchPreferenceController extends TogglePreferenceController
-        implements OnMainSwitchChangeListener {
+        implements OnCheckedChangeListener {
 
     private static final String KEY_BLUETOOTH_SCANNING_SWITCH = "bluetooth_always_scanning_switch";
     private final UserManager mUserManager;
@@ -78,7 +78,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked != isChecked()) {
             setChecked(isChecked);
         }
diff --git a/src/com/android/settings/location/BluetoothScanningPreferenceController.java b/src/com/android/settings/location/BluetoothScanningPreferenceController.java
index d16e1e5..20447c1 100644
--- a/src/com/android/settings/location/BluetoothScanningPreferenceController.java
+++ b/src/com/android/settings/location/BluetoothScanningPreferenceController.java
@@ -17,7 +17,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -43,7 +43,7 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) preference).setChecked(
+        ((TwoStatePreference) preference).setChecked(
                 Settings.Global.getInt(mContext.getContentResolver(),
                         Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE, 0) == 1);
     }
@@ -53,7 +53,7 @@
         if (KEY_BLUETOOTH_SCAN_ALWAYS_AVAILABLE.equals(preference.getKey())) {
             Settings.Global.putInt(mContext.getContentResolver(),
                     Settings.Global.BLE_SCAN_ALWAYS_AVAILABLE,
-                    ((SwitchPreference) preference).isChecked() ? 1 : 0);
+                    ((TwoStatePreference) preference).isChecked() ? 1 : 0);
             return true;
         }
         return false;
diff --git a/src/com/android/settings/location/LocationServicesPreferenceController.java b/src/com/android/settings/location/LocationServicesPreferenceController.java
index 53150a8..bab8bc8 100644
--- a/src/com/android/settings/location/LocationServicesPreferenceController.java
+++ b/src/com/android/settings/location/LocationServicesPreferenceController.java
@@ -32,7 +32,7 @@
 
     @AvailabilityStatus
     public int getAvailabilityStatus() {
-        return mContext.getResources().getBoolean(R.bool.config_show_location_scanning)
+        return mContext.getResources().getBoolean(R.bool.config_show_location_services)
                 ? AVAILABLE
                 : UNSUPPORTED_ON_DEVICE;
     }
diff --git a/src/com/android/settings/location/LocationSettings.java b/src/com/android/settings/location/LocationSettings.java
index ff8b4be..7bb0228 100644
--- a/src/com/android/settings/location/LocationSettings.java
+++ b/src/com/android/settings/location/LocationSettings.java
@@ -25,7 +25,9 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
+import android.os.SystemProperties;
 import android.provider.Settings;
+import android.util.Log;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
@@ -72,6 +74,13 @@
     private RecentLocationAccessPreferenceController mController;
     private ContentObserver mContentObserver;
 
+    /**
+     * Read-only boot property used to enable/disable geolocation toggle as part of privacy hub
+     * feature for chrome.
+     */
+    private static final String RO_BOOT_ENABLE_PRIVACY_HUB_FOR_CHROME =
+            "ro.boot.enable_privacy_hub_for_chrome";
+
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.LOCATION;
@@ -83,6 +92,7 @@
         final SettingsActivity activity = (SettingsActivity) getActivity();
         final SettingsMainSwitchBar switchBar = activity.getSwitchBar();
         switchBar.setTitle(getContext().getString(R.string.location_settings_primary_switch_title));
+        updateChromeSwitchBarPreference(switchBar);
         switchBar.show();
         mSwitchBarController = new LocationSwitchBarController(activity, switchBar,
                 getSettingsLifecycle());
@@ -161,4 +171,17 @@
      */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
             new BaseSearchIndexProvider(R.xml.location_settings);
+
+    /**
+     * Update switchbar config in case of Chrome devices and location is managed by chrome.
+     */
+    private void updateChromeSwitchBarPreference(final SettingsMainSwitchBar switchBar) {
+        if (getContext().getResources().getBoolean(R.bool.config_disable_location_toggle_for_chrome)
+                && SystemProperties.getBoolean(RO_BOOT_ENABLE_PRIVACY_HUB_FOR_CHROME, false)) {
+            Log.i(TAG, "Disabling location toggle for chrome devices");
+            switchBar.setClickable(false);
+            switchBar.setTooltipText(getResources().getString(
+                    R.string.location_settings_tooltip_text_for_chrome));
+        }
+    }
 }
diff --git a/src/com/android/settings/location/LocationSwitchBarController.java b/src/com/android/settings/location/LocationSwitchBarController.java
index b150b1d..1e415d6 100644
--- a/src/com/android/settings/location/LocationSwitchBarController.java
+++ b/src/com/android/settings/location/LocationSwitchBarController.java
@@ -16,7 +16,8 @@
 import android.content.Context;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.RestrictedLockUtils;
@@ -24,12 +25,11 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * The switch controller for the location.
  */
-public class LocationSwitchBarController implements OnMainSwitchChangeListener,
+public class LocationSwitchBarController implements OnCheckedChangeListener,
         LocationEnabler.LocationModeChangeListener, LifecycleObserver, OnStart, OnStop {
 
     private final SettingsMainSwitchBar mSwitchBar;
@@ -100,7 +100,7 @@
      * Listens to the state change of the location primary switch.
      */
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         mLocationEnabler.setLocationEnabled(isChecked);
     }
 }
diff --git a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
index d658667..998e6f3 100644
--- a/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
+++ b/src/com/android/settings/location/RecentLocationAccessSeeAllPreferenceController.java
@@ -57,7 +57,7 @@
             : false;
 
         mRecentLocationAccesses = RecentAppOpsAccess.createForLocation(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java b/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
index e22b0a0..9f19a70 100644
--- a/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
+++ b/src/com/android/settings/location/WifiScanningMainSwitchPreferenceController.java
@@ -17,21 +17,21 @@
 
 import android.content.Context;
 import android.net.wifi.WifiManager;
-import android.widget.Switch;
 import android.os.UserManager;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Preference controller for Wi-Fi scanning main switch.
  */
 public class WifiScanningMainSwitchPreferenceController extends TogglePreferenceController
-        implements OnMainSwitchChangeListener {
+        implements OnCheckedChangeListener {
 
     private static final String KEY_WIFI_SCANNING_SWITCH = "wifi_always_scanning_switch";
     private final WifiManager mWifiManager;
@@ -79,7 +79,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked != isChecked()) {
             setChecked(isChecked);
         }
diff --git a/src/com/android/settings/location/WifiScanningPreferenceController.java b/src/com/android/settings/location/WifiScanningPreferenceController.java
index 2e393a2..f438ebb 100644
--- a/src/com/android/settings/location/WifiScanningPreferenceController.java
+++ b/src/com/android/settings/location/WifiScanningPreferenceController.java
@@ -17,7 +17,7 @@
 import android.net.wifi.WifiManager;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -45,13 +45,13 @@
 
     @Override
     public void updateState(Preference preference) {
-        ((SwitchPreference) preference).setChecked(mWifiManager.isScanAlwaysAvailable());
+        ((TwoStatePreference) preference).setChecked(mWifiManager.isScanAlwaysAvailable());
     }
 
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (KEY_WIFI_SCAN_ALWAYS_AVAILABLE.equals(preference.getKey())) {
-            mWifiManager.setScanAlwaysAvailable(((SwitchPreference) preference).isChecked());
+            mWifiManager.setScanAlwaysAvailable(((TwoStatePreference) preference).isChecked());
             return true;
         }
         return false;
diff --git a/src/com/android/settings/media/MediaDeviceUpdateWorker.java b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
index d267971..d4aef47 100644
--- a/src/com/android/settings/media/MediaDeviceUpdateWorker.java
+++ b/src/com/android/settings/media/MediaDeviceUpdateWorker.java
@@ -23,6 +23,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.media.AudioManager;
+import android.media.MediaRouter2Manager;
 import android.media.RoutingSessionInfo;
 import android.net.Uri;
 import android.os.UserHandle;
@@ -39,7 +40,6 @@
 import com.android.settingslib.media.MediaDevice;
 import com.android.settingslib.utils.ThreadUtils;
 
-import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 import java.util.concurrent.CopyOnWriteArrayList;
@@ -59,6 +59,8 @@
     protected final Collection<MediaDevice> mMediaDevices = new CopyOnWriteArrayList<>();
     private final DevicesChangedBroadcastReceiver mReceiver;
     private final String mPackageName;
+    @VisibleForTesting
+    MediaRouter2Manager mManager;
 
     private boolean mIsTouched;
     private MediaDevice mTopDevice;
@@ -82,6 +84,11 @@
             mLocalMediaManager = new LocalMediaManager(mContext, mPackageName, null);
         }
 
+        // Delaying initialization to allow mocking in Roboelectric tests.
+        if (mManager == null) {
+            mManager = MediaRouter2Manager.getInstance(mContext);
+        }
+
         mLocalMediaManager.registerCallback(this);
         final IntentFilter intentFilter = new IntentFilter(STREAM_DEVICES_CHANGED_ACTION);
         mContext.registerReceiver(mReceiver, intentFilter);
@@ -216,18 +223,8 @@
         return mLocalMediaManager.getSessionName();
     }
 
-    List<RoutingSessionInfo> getActiveRemoteMediaDevice() {
-        final List<RoutingSessionInfo> sessionInfos = new ArrayList<>();
-        for (RoutingSessionInfo info : mLocalMediaManager.getActiveMediaSession()) {
-            if (!info.isSystemSession()) {
-                if (DEBUG) {
-                    Log.d(TAG, "getActiveRemoteMediaDevice() info : " + info.toString()
-                            + ", package name : " + info.getClientPackageName());
-                }
-                sessionInfos.add(info);
-            }
-        }
-        return sessionInfos;
+    List<RoutingSessionInfo> getActiveRemoteMediaDevices() {
+        return mLocalMediaManager.getRemoteRoutingSessions();
     }
 
     /**
@@ -239,7 +236,7 @@
      */
     public void adjustVolume(MediaDevice device, int volume) {
         ThreadUtils.postOnBackgroundThread(() -> {
-            device.requestSetVolume(volume);
+            mLocalMediaManager.adjustDeviceVolume(device, volume);
         });
     }
 
@@ -259,7 +256,9 @@
     }
 
     boolean shouldDisableMediaOutput(String packageName) {
-        return mLocalMediaManager.shouldDisableMediaOutput(packageName);
+        // TODO: b/291277292 - Remove references to MediaRouter2Manager and implement long-term
+        //  solution in SettingsLib.
+        return mManager.getTransferableRoutes(packageName).isEmpty();
     }
 
     boolean shouldEnableVolumeSeekBar(RoutingSessionInfo sessionInfo) {
diff --git a/src/com/android/settings/media/MediaOutputIndicatorSlice.java b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
index e2232e7..bb075c2 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorSlice.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorSlice.java
@@ -17,6 +17,7 @@
 package com.android.settings.media;
 
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
+import static com.android.settingslib.media.flags.Flags.enableOutputSwitcherForSystemRouting;
 
 import android.annotation.ColorInt;
 import android.content.Context;
@@ -58,7 +59,12 @@
         }
         final IconCompat icon = IconCompat.createWithResource(mContext,
                 com.android.internal.R.drawable.ic_settings_bluetooth);
-        final CharSequence title = mContext.getString(R.string.media_output_label_title,
+        final int stringRes = enableOutputSwitcherForSystemRouting()
+                ? (getWorker().getActiveLocalMediaController() != null
+                        ? R.string.media_output_label_title
+                        : R.string.media_output_title_without_playing)
+                : R.string.media_output_label_title;
+        final CharSequence title = mContext.getString(stringRes,
                 Utils.getApplicationLabel(mContext, getWorker().getPackageName()));
         final SliceAction primarySliceAction = SliceAction.create(
                 getBroadcastIntent(mContext), icon, ListBuilder.ICON_IMAGE, title);
@@ -117,28 +123,36 @@
         // 2. worker is not null
         // 3. Available devices are more than 0
         // 4. The local media session is active and the state is playing.
+        //    - if !enableOutputSwitcherForSystemRouting(), (4) will be bypass.
         return getWorker() != null
                 && !com.android.settingslib.Utils.isAudioModeOngoingCall(mContext)
                 && getWorker().getMediaDevices().size() > 0
-                && getWorker().getActiveLocalMediaController() != null;
+                && (enableOutputSwitcherForSystemRouting()
+                        ? true : getWorker().getActiveLocalMediaController() != null);
     }
 
     @Override
     public void onNotifyChange(Intent intent) {
         final MediaController mediaController = getWorker().getActiveLocalMediaController();
 
-        if (mediaController == null) {
+        // Launch media output dialog
+        if (enableOutputSwitcherForSystemRouting() && mediaController == null) {
+            mContext.sendBroadcast(new Intent()
+                    .setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME)
+                    .setAction(MediaOutputConstants.ACTION_LAUNCH_SYSTEM_MEDIA_OUTPUT_DIALOG));
+        } else if (mediaController != null) {
+            mContext.sendBroadcast(new Intent()
+                    .setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME)
+                    .setAction(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
+                    .putExtra(MediaOutputConstants.KEY_MEDIA_SESSION_TOKEN,
+                            mediaController.getSessionToken())
+                    .putExtra(MediaOutputConstants.EXTRA_PACKAGE_NAME,
+                            mediaController.getPackageName()));
+        } else {
             Log.d(TAG, "No active local media controller");
             return;
         }
-        // Launch media output dialog
-        mContext.sendBroadcast(new Intent()
-                .setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME)
-                .setAction(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
-                .putExtra(MediaOutputConstants.KEY_MEDIA_SESSION_TOKEN,
-                        mediaController.getSessionToken())
-                .putExtra(MediaOutputConstants.EXTRA_PACKAGE_NAME,
-                        mediaController.getPackageName()));
+
         // Dismiss volume panel
         mContext.sendBroadcast(new Intent()
                 .setPackage(MediaOutputConstants.SETTINGS_PACKAGE_NAME)
diff --git a/src/com/android/settings/media/MediaOutputIndicatorWorker.java b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
index 159efa0..6e56153 100644
--- a/src/com/android/settings/media/MediaOutputIndicatorWorker.java
+++ b/src/com/android/settings/media/MediaOutputIndicatorWorker.java
@@ -157,7 +157,11 @@
         return mMediaDevices;
     }
 
+    @Nullable
     public MediaDevice getCurrentConnectedMediaDevice() {
+        if (mLocalMediaManager == null) {
+            return null;
+        }
         return mLocalMediaManager.getCurrentConnectedDevice();
     }
 
diff --git a/src/com/android/settings/media/RemoteMediaSlice.java b/src/com/android/settings/media/RemoteMediaSlice.java
index f856188..cebc14f 100644
--- a/src/com/android/settings/media/RemoteMediaSlice.java
+++ b/src/com/android/settings/media/RemoteMediaSlice.java
@@ -25,7 +25,6 @@
 import android.content.Context;
 import android.content.Intent;
 import android.graphics.Bitmap;
-import android.media.MediaRouter2Manager;
 import android.media.RoutingSessionInfo;
 import android.net.Uri;
 import android.text.SpannableString;
@@ -33,7 +32,6 @@
 import android.text.style.ForegroundColorSpan;
 import android.util.Log;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.core.graphics.drawable.IconCompat;
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
@@ -67,9 +65,6 @@
 
     private MediaDeviceUpdateWorker mWorker;
 
-    @VisibleForTesting
-    MediaRouter2Manager mRouterManager;
-
     public RemoteMediaSlice(Context context) {
         mContext = context;
     }
@@ -105,18 +100,16 @@
             Log.e(TAG, "Unable to get the slice worker.");
             return listBuilder.build();
         }
-        if (mRouterManager == null) {
-            mRouterManager = MediaRouter2Manager.getInstance(mContext);
-        }
+
         // Only displaying remote devices
-        final List<RoutingSessionInfo> infos = getWorker().getActiveRemoteMediaDevice();
+        final List<RoutingSessionInfo> infos = getWorker().getActiveRemoteMediaDevices();
         if (infos.isEmpty()) {
             Log.d(TAG, "No active remote media device");
             return listBuilder.build();
         }
         final CharSequence castVolume = mContext.getText(R.string.remote_media_volume_option_title);
         final IconCompat icon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_volume_remote);
+                com.android.settingslib.R.drawable.ic_volume_remote);
         // To create an empty icon to indent the row
         final IconCompat emptyIcon = createEmptyIcon();
         for (RoutingSessionInfo info : infos) {
@@ -206,7 +199,8 @@
                 PendingIntent.FLAG_UPDATE_CURRENT | PendingIntent.FLAG_IMMUTABLE);
         final SliceAction primarySliceAction = SliceAction.createDeeplink(
                 primaryBroadcastIntent,
-                IconCompat.createWithResource(mContext, R.drawable.ic_volume_remote),
+                IconCompat.createWithResource(
+                        mContext, com.android.settingslib.R.drawable.ic_volume_remote),
                 ListBuilder.ICON_IMAGE,
                 mContext.getString(R.string.media_output_label_title,
                         Utils.getApplicationLabel(mContext, info.getClientPackageName())));
diff --git a/src/com/android/settings/network/ActiveSubscriptionsListener.java b/src/com/android/settings/network/ActiveSubscriptionsListener.java
index dce441b..284cbb3 100644
--- a/src/com/android/settings/network/ActiveSubscriptionsListener.java
+++ b/src/com/android/settings/network/ActiveSubscriptionsListener.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.network;
 
-import android.annotation.NonNull;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -30,6 +29,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.internal.telephony.TelephonyIntents;
@@ -174,7 +174,8 @@
      */
     public SubscriptionManager getSubscriptionManager() {
         if (mSubscriptionManager == null) {
-            mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class);
+            mSubscriptionManager = mContext.getSystemService(SubscriptionManager.class)
+                    .createForAllUserProfiles();
         }
         return mSubscriptionManager;
     }
diff --git a/src/com/android/settings/network/AirplaneModePreferenceController.java b/src/com/android/settings/network/AirplaneModePreferenceController.java
index 5b4ce1b..b3fc517 100644
--- a/src/com/android/settings/network/AirplaneModePreferenceController.java
+++ b/src/com/android/settings/network/AirplaneModePreferenceController.java
@@ -30,7 +30,7 @@
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.R;
@@ -58,7 +58,7 @@
 
     private Fragment mFragment;
     private AirplaneModeEnabler mAirplaneModeEnabler;
-    private SwitchPreference mAirplaneModePreference;
+    private TwoStatePreference mAirplaneModePreference;
 
     public AirplaneModePreferenceController(Context context, String key) {
         super(context, key);
diff --git a/src/com/android/settings/network/AllInOneTetherPreferenceController.java b/src/com/android/settings/network/AllInOneTetherPreferenceController.java
deleted file mode 100644
index 7baa917..0000000
--- a/src/com/android/settings/network/AllInOneTetherPreferenceController.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.network;
-
-import static android.os.UserManager.DISALLOW_CONFIG_TETHERING;
-
-import static com.android.settings.network.TetherEnabler.TETHERING_BLUETOOTH_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_ETHERNET_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_OFF;
-import static com.android.settings.network.TetherEnabler.TETHERING_USB_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_WIFI_ON;
-import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfRestrictionEnforced;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.UserHandle;
-import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.Lifecycle.Event;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.widget.GenericSwitchController;
-import com.android.settingslib.PrimarySwitchPreference;
-import com.android.settingslib.TetherUtil;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-/**
- * This controller helps to manage the switch state and visibility of "Hotspot & tethering" switch
- * preference. It updates the preference summary text based on tethering state.
- */
-public class AllInOneTetherPreferenceController extends BasePreferenceController implements
-        LifecycleObserver, TetherEnabler.OnTetherStateUpdateListener {
-    private static final String TAG = "AllInOneTetherPreferenceController";
-
-    private int mTetheringState;
-
-    private final boolean mAdminDisallowedTetherConfig;
-    private final AtomicReference<BluetoothPan> mBluetoothPan;
-    private final BluetoothAdapter mBluetoothAdapter;
-    @VisibleForTesting
-    final BluetoothProfile.ServiceListener mBtProfileServiceListener =
-            new BluetoothProfile.ServiceListener() {
-                @Override
-                public void onServiceConnected(int profile, BluetoothProfile proxy) {
-                    if (mBluetoothPan.get() == null) {
-                        mBluetoothPan.set((BluetoothPan) proxy);
-                    }
-                }
-
-                @Override
-                public void onServiceDisconnected(int profile) { /* Do nothing */ }
-            };
-
-    private PrimarySwitchPreference mPreference;
-    private TetherEnabler mTetherEnabler;
-    private BroadcastReceiver mBluetoothStateReceiver;
-
-    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
-    AllInOneTetherPreferenceController() {
-        super(null /*context*/, "test");
-        mAdminDisallowedTetherConfig = false;
-        mBluetoothPan = new AtomicReference<>();
-        mBluetoothAdapter = null;
-    }
-
-    public AllInOneTetherPreferenceController(Context context, String key) {
-        super(context, key);
-        mBluetoothPan = new AtomicReference<>();
-        mAdminDisallowedTetherConfig = checkIfRestrictionEnforced(
-                context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
-        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(mPreferenceKey);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        if (!TetherUtil.isTetherAvailable(mContext)
-                || !FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)) {
-            return CONDITIONALLY_UNAVAILABLE;
-        } else {
-            return AVAILABLE;
-        }
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        switch (mTetheringState) {
-            case TETHERING_OFF:
-                return mContext.getString(R.string.tether_settings_summary_off);
-            case TETHERING_WIFI_ON:
-                return mContext.getString(R.string.tether_settings_summary_hotspot_only);
-            case TETHERING_USB_ON:
-                return mContext.getString(R.string.tether_settings_summary_usb_tethering_only);
-            case TETHERING_BLUETOOTH_ON:
-                return mContext.getString(
-                        R.string.tether_settings_summary_bluetooth_tethering_only);
-            case TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.tether_settings_summary_ethernet_tethering_only);
-            case TETHERING_WIFI_ON | TETHERING_USB_ON:
-                return mContext.getString(R.string.tether_settings_summary_hotspot_and_usb);
-            case TETHERING_WIFI_ON | TETHERING_BLUETOOTH_ON:
-                return mContext.getString(R.string.tether_settings_summary_hotspot_and_bluetooth);
-            case TETHERING_WIFI_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.tether_settings_summary_hotspot_and_ethernet);
-            case TETHERING_USB_ON | TETHERING_BLUETOOTH_ON:
-                return mContext.getString(R.string.tether_settings_summary_usb_and_bluetooth);
-            case TETHERING_USB_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.tether_settings_summary_usb_and_ethernet);
-            case TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.tether_settings_summary_bluetooth_and_ethernet);
-            case TETHERING_WIFI_ON | TETHERING_USB_ON | TETHERING_BLUETOOTH_ON:
-                return mContext.getString(
-                        R.string.tether_settings_summary_hotspot_and_usb_and_bluetooth);
-            case TETHERING_WIFI_ON | TETHERING_USB_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(
-                        R.string.tether_settings_summary_hotspot_and_usb_and_ethernet);
-            case TETHERING_WIFI_ON | TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(
-                        R.string.tether_settings_summary_hotspot_and_bluetooth_and_ethernet);
-            case TETHERING_USB_ON | TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(
-                        R.string.tether_settings_summary_usb_and_bluetooth_and_ethernet);
-            case TETHERING_WIFI_ON | TETHERING_USB_ON | TETHERING_BLUETOOTH_ON
-                    | TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.tether_settings_summary_all);
-            default:
-                Log.e(TAG, "Unknown tethering state");
-                return mContext.getString(R.string.summary_placeholder);
-        }
-    }
-
-    @OnLifecycleEvent(Event.ON_CREATE)
-    public void onCreate() {
-        if (mBluetoothAdapter != null
-                && mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
-            mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
-                        BluetoothProfile.PAN);
-        }
-        if (mBluetoothStateReceiver == null) {
-            mBluetoothStateReceiver = new BluetoothStateReceiver();
-            mContext.registerReceiver(
-                    mBluetoothStateReceiver,
-                            new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
-        }
-    }
-
-    @OnLifecycleEvent(Event.ON_RESUME)
-    public void onResume() {
-        if (mTetherEnabler != null) {
-            mTetherEnabler.addListener(this);
-        }
-    }
-
-    @OnLifecycleEvent(Event.ON_PAUSE)
-    public void onPause() {
-        if (mTetherEnabler != null) {
-            mTetherEnabler.removeListener(this);
-        }
-    }
-
-    @OnLifecycleEvent(Event.ON_DESTROY)
-    public void onDestroy() {
-        final BluetoothProfile profile = mBluetoothPan.getAndSet(null);
-        if (profile != null && mBluetoothAdapter != null) {
-            mBluetoothAdapter.closeProfileProxy(BluetoothProfile.PAN, profile);
-        }
-        if (mBluetoothStateReceiver != null) {
-            mContext.unregisterReceiver(mBluetoothStateReceiver);
-            mBluetoothStateReceiver = null;
-        }
-    }
-
-    void initEnabler(Lifecycle lifecycle) {
-        if (mPreference != null) {
-            mTetherEnabler = new TetherEnabler(
-                    mContext, new GenericSwitchController(mPreference), mBluetoothPan);
-            if (lifecycle != null) {
-                lifecycle.addObserver(mTetherEnabler);
-            }
-        } else {
-            Log.e(TAG, "TetherEnabler is not initialized");
-        }
-    }
-
-    @Override
-    public void onTetherStateUpdated(@TetherEnabler.TetheringState int state) {
-        mTetheringState = state;
-        updateState(mPreference);
-    }
-
-    private class BluetoothStateReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            final String action = intent.getAction();
-            Log.i(TAG, "onReceive: action: " + action);
-
-            if (TextUtils.equals(action, BluetoothAdapter.ACTION_STATE_CHANGED)) {
-                final int state =
-                        intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
-                Log.i(TAG, "onReceive: state: " + BluetoothAdapter.nameForState(state));
-                final BluetoothProfile profile = mBluetoothPan.get();
-                switch(state) {
-                    case BluetoothAdapter.STATE_ON:
-                        if (profile == null && mBluetoothAdapter != null) {
-                            mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
-                                    BluetoothProfile.PAN);
-                        }
-                        break;
-                }
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/network/AllowedNetworkTypesListener.java b/src/com/android/settings/network/AllowedNetworkTypesListener.java
index 3d93664..38c5871 100644
--- a/src/com/android/settings/network/AllowedNetworkTypesListener.java
+++ b/src/com/android/settings/network/AllowedNetworkTypesListener.java
@@ -27,7 +27,11 @@
 
 /**
  * {@link TelephonyCallback} to listen to Allowed Network Types changed
+ *
+ * @deprecated Please use {@link com.android.settings.network.telephony.AllowedNetworkTypesFlowKt}
+ * instead.
  */
+@Deprecated
 public class AllowedNetworkTypesListener extends TelephonyCallback implements
         TelephonyCallback.AllowedNetworkTypesListener {
     private static final String LOG_TAG = "NetworkModeListener";
diff --git a/src/com/android/settings/network/BluetoothTetherPreferenceController.java b/src/com/android/settings/network/BluetoothTetherPreferenceController.java
deleted file mode 100644
index 96d39e3..0000000
--- a/src/com/android/settings/network/BluetoothTetherPreferenceController.java
+++ /dev/null
@@ -1,93 +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;
-
-import android.bluetooth.BluetoothAdapter;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.net.ConnectivityManager;
-import android.text.TextUtils;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.OnLifecycleEvent;
-
-import com.google.common.annotations.VisibleForTesting;
-
-/**
- * This controller helps to manage the switch state and visibility of bluetooth tether switch
- * preference.
- */
-public final class BluetoothTetherPreferenceController extends TetherBasePreferenceController {
-    private int mBluetoothState;
-
-    public BluetoothTetherPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_START)
-    public void onStart() {
-        mBluetoothState = BluetoothAdapter.getDefaultAdapter().getState();
-        mContext.registerReceiver(mBluetoothChangeReceiver,
-                new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
-    public void onStop() {
-        mContext.unregisterReceiver(mBluetoothChangeReceiver);
-    }
-
-    @Override
-    public boolean shouldEnable() {
-        switch (mBluetoothState) {
-            case BluetoothAdapter.STATE_ON:
-            case BluetoothAdapter.STATE_OFF:
-                // fall through.
-            case BluetoothAdapter.ERROR:
-                return true;
-            case BluetoothAdapter.STATE_TURNING_OFF:
-            case BluetoothAdapter.STATE_TURNING_ON:
-                // fall through.
-            default:
-                return false;
-        }
-    }
-
-    @Override
-    public boolean shouldShow() {
-        final String[] bluetoothRegexs = mTm.getTetherableBluetoothRegexs();
-        return bluetoothRegexs != null && bluetoothRegexs.length != 0;
-    }
-
-    @Override
-    public int getTetherType() {
-        return ConnectivityManager.TETHERING_BLUETOOTH;
-    }
-
-    @VisibleForTesting
-    final BroadcastReceiver mBluetoothChangeReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            if (TextUtils.equals(BluetoothAdapter.ACTION_STATE_CHANGED, intent.getAction())) {
-                mBluetoothState =
-                        intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
-                updateState(mPreference);
-            }
-        }
-    };
-}
diff --git a/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java b/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java
deleted file mode 100644
index 6eb470b..0000000
--- a/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.java
+++ /dev/null
@@ -1,188 +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.network;
-
-import android.app.ProgressDialog;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Looper;
-import android.text.TextUtils;
-import android.util.Log;
-import android.widget.Toast;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.appcompat.app.AlertDialog;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.ResetNetworkRequest;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-import java.util.concurrent.atomic.AtomicReference;
-
-/**
- * This is to show a preference regarding resetting Bluetooth and Wi-Fi.
- */
-public class BluetoothWiFiResetPreferenceController extends BasePreferenceController
-        implements DialogInterface.OnClickListener, DialogInterface.OnDismissListener {
-
-    private static final String TAG = "BtWiFiResetPreferenceController";
-
-    private final NetworkResetRestrictionChecker mRestrictionChecker;
-
-    private DialogInterface mResetDialog;
-    private ProgressDialog mProgressDialog;
-    private ExecutorService mExecutorService;
-
-    /**
-     * Constructer.
-     * @param context Context
-     * @param preferenceKey is the key for Preference
-     */
-    public BluetoothWiFiResetPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-
-        // restriction check
-        mRestrictionChecker = new NetworkResetRestrictionChecker(context);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return mRestrictionChecker.hasUserRestriction() ?
-                CONDITIONALLY_UNAVAILABLE : AVAILABLE;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            return false;
-        }
-        buildResetDialog(preference);
-        return true;
-    }
-
-    /**
-     * This is a pop-up dialog showing detail of this reset option.
-     */
-    void buildResetDialog(Preference preference) {
-        if (mResetDialog != null) {
-            return;
-        }
-        mResetDialog = new AlertDialog.Builder(mContext)
-                .setTitle(R.string.reset_bluetooth_wifi_title)
-                .setMessage(R.string.reset_bluetooth_wifi_desc)
-                .setPositiveButton(R.string.reset_bluetooth_wifi_button_text, this)
-                .setNegativeButton(R.string.cancel, null /* OnClickListener */)
-                .setOnDismissListener(this)
-                .show();
-    }
-
-    public void onDismiss(DialogInterface dialog) {
-        if (mResetDialog == dialog) {
-            mResetDialog = null;
-        }
-    }
-
-    /**
-     * User pressed confirmation button, for starting reset operation.
-     */
-    public void onClick(DialogInterface dialog, int which) {
-        if (mResetDialog != dialog) {
-            return;
-        }
-
-        // User confirm the reset operation
-        MetricsFeatureProvider provider = FeatureFactory.getFactory(mContext)
-                .getMetricsFeatureProvider();
-        provider.action(mContext, SettingsEnums.RESET_BLUETOOTH_WIFI_CONFIRM, true);
-
-        // Non-cancelable progress dialog
-        mProgressDialog = getProgressDialog(mContext);
-        mProgressDialog.show();
-
-        // Run reset in background thread
-        mExecutorService = Executors.newSingleThreadExecutor();
-        mExecutorService.execute(() -> {
-            final AtomicReference<Exception> exceptionDuringReset =
-                    new AtomicReference<Exception>();
-            try {
-                resetOperation().run();
-            } catch (Exception exception) {
-                exceptionDuringReset.set(exception);
-            }
-            mContext.getMainExecutor().execute(() -> endOfReset(exceptionDuringReset.get()));
-        });
-    }
-
-    @VisibleForTesting
-    protected 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;
-    }
-
-    @VisibleForTesting
-    protected Runnable resetOperation() throws Exception {
-        if (SubscriptionUtil.isSimHardwareVisible(mContext)) {
-            return new ResetNetworkRequest(
-                    ResetNetworkRequest.RESET_WIFI_MANAGER |
-                    ResetNetworkRequest.RESET_WIFI_P2P_MANAGER |
-                    ResetNetworkRequest.RESET_BLUETOOTH_MANAGER)
-                .toResetNetworkOperationBuilder(mContext, Looper.getMainLooper())
-                .build();
-        }
-
-        /**
-         * For device without SIMs visible to the user
-         */
-        return new ResetNetworkRequest(
-                ResetNetworkRequest.RESET_CONNECTIVITY_MANAGER |
-                ResetNetworkRequest.RESET_VPN_MANAGER |
-                ResetNetworkRequest.RESET_WIFI_MANAGER |
-                ResetNetworkRequest.RESET_WIFI_P2P_MANAGER |
-                ResetNetworkRequest.RESET_BLUETOOTH_MANAGER)
-            .toResetNetworkOperationBuilder(mContext, Looper.getMainLooper())
-            .resetTelephonyAndNetworkPolicyManager(ResetNetworkRequest.ALL_SUBSCRIPTION_ID)
-            .build();
-    }
-
-    @VisibleForTesting
-    protected void endOfReset(Exception exceptionDuringReset) {
-        if (mExecutorService != null) {
-            mExecutorService.shutdown();
-            mExecutorService = null;
-        }
-        if (mProgressDialog != null) {
-            mProgressDialog.dismiss();
-            mProgressDialog = null;
-        }
-        if (exceptionDuringReset == null) {
-            Toast.makeText(mContext, R.string.reset_bluetooth_wifi_complete_toast,
-                    Toast.LENGTH_SHORT).show();
-        } else {
-            Log.e(TAG, "Exception during reset", exceptionDuringReset);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.kt b/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.kt
new file mode 100644
index 0000000..2047ed9
--- /dev/null
+++ b/src/com/android/settings/network/BluetoothWiFiResetPreferenceController.kt
@@ -0,0 +1,126 @@
+/*
+ * 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.app.settings.SettingsEnums
+import android.content.Context
+import android.os.Looper
+import android.os.UserManager
+import android.util.Log
+import android.widget.Toast
+import androidx.annotation.VisibleForTesting
+import androidx.compose.material3.Text
+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.ResetNetworkRequest
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
+import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * This is to show a preference regarding resetting Bluetooth and Wi-Fi.
+ */
+class BluetoothWiFiResetPreferenceController(context: Context, preferenceKey: String) :
+    ComposePreferenceController(context, preferenceKey) {
+
+    private val restrictionChecker = NetworkResetRestrictionChecker(context)
+
+    override fun getAvailabilityStatus() =
+        if (restrictionChecker.hasUserRestriction()) CONDITIONALLY_UNAVAILABLE else AVAILABLE
+
+    @Composable
+    override fun Content() {
+        val coroutineScope = rememberCoroutineScope()
+        val dialogPresenter = rememberAlertDialogPresenter(
+            confirmButton = AlertDialogButton(
+                text = stringResource(R.string.reset_bluetooth_wifi_button_text),
+            ) { reset(coroutineScope) },
+            dismissButton = AlertDialogButton(text = stringResource(R.string.cancel)),
+            title = stringResource(R.string.reset_bluetooth_wifi_title),
+        ) {
+            Text(stringResource(R.string.reset_bluetooth_wifi_desc))
+        }
+
+        RestrictedPreference(
+            model = object : PreferenceModel {
+                override val title = stringResource(R.string.reset_bluetooth_wifi_title)
+                override val onClick = dialogPresenter::open
+            },
+            restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_NETWORK_RESET)),
+        )
+    }
+
+    /**
+     * User pressed confirmation button, for starting reset operation.
+     */
+    private fun reset(coroutineScope: CoroutineScope) {
+        // User confirm the reset operation
+        featureFactory.metricsFeatureProvider
+            .action(mContext, SettingsEnums.RESET_BLUETOOTH_WIFI_CONFIRM, true)
+
+        // Run reset in background thread
+        coroutineScope.launch {
+            try {
+                withContext(Dispatchers.Default) {
+                    resetOperation().run()
+                }
+            } catch (e: Exception) {
+                Log.e(TAG, "Exception during reset", e)
+                return@launch
+            }
+            Toast.makeText(
+                mContext,
+                R.string.reset_bluetooth_wifi_complete_toast,
+                Toast.LENGTH_SHORT,
+            ).show()
+        }
+    }
+
+    @VisibleForTesting
+    fun resetOperation(): Runnable = if (SubscriptionUtil.isSimHardwareVisible(mContext)) {
+        ResetNetworkRequest(
+            ResetNetworkRequest.RESET_WIFI_MANAGER or
+                ResetNetworkRequest.RESET_WIFI_P2P_MANAGER or
+                ResetNetworkRequest.RESET_BLUETOOTH_MANAGER
+        )
+            .toResetNetworkOperationBuilder(mContext, Looper.getMainLooper())
+    } else {  // For device without SIMs visible to the user
+        ResetNetworkRequest(
+            ResetNetworkRequest.RESET_CONNECTIVITY_MANAGER or
+                ResetNetworkRequest.RESET_VPN_MANAGER or
+                ResetNetworkRequest.RESET_WIFI_MANAGER or
+                ResetNetworkRequest.RESET_WIFI_P2P_MANAGER or
+                ResetNetworkRequest.RESET_BLUETOOTH_MANAGER
+        )
+            .toResetNetworkOperationBuilder(mContext, Looper.getMainLooper())
+            .resetTelephonyAndNetworkPolicyManager(ResetNetworkRequest.ALL_SUBSCRIPTION_ID)
+    }.build()
+
+    private companion object {
+        private const val TAG = "BluetoothWiFiResetPref"
+    }
+}
diff --git a/src/com/android/settings/network/CarrierConfigCache.java b/src/com/android/settings/network/CarrierConfigCache.java
index 30374f5..35b65c8 100644
--- a/src/com/android/settings/network/CarrierConfigCache.java
+++ b/src/com/android/settings/network/CarrierConfigCache.java
@@ -20,7 +20,6 @@
 import static android.telephony.SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX;
 import static android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID;
 
-import android.annotation.NonNull;
 import android.annotation.TestApi;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -32,6 +31,7 @@
 import android.util.Log;
 
 import androidx.annotation.GuardedBy;
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
 import java.util.Map;
diff --git a/src/com/android/settings/network/EnableMultiSimSidecar.java b/src/com/android/settings/network/EnableMultiSimSidecar.java
index aefd55f..6bc38ef 100644
--- a/src/com/android/settings/network/EnableMultiSimSidecar.java
+++ b/src/com/android/settings/network/EnableMultiSimSidecar.java
@@ -171,8 +171,11 @@
         }
         int activePorts = 0;
         for (UiccSlotInfo slotInfo : slotsInfo) {
+            if (slotInfo == null) {
+                continue;
+            }
             for (UiccPortInfo portInfo : slotInfo.getPorts()) {
-                if (slotInfo != null && portInfo.isActive()) {
+                if (portInfo.isActive()) {
                     activePorts++;
                 }
             }
@@ -189,8 +192,11 @@
         }
         Set<Integer> activeRemovableLogicalSlotIds = new ArraySet<>();
         for (UiccSlotInfo info : infos) {
-            for (UiccPortInfo portInfo :info.getPorts()) {
-                if (info != null && portInfo.isActive() && info.isRemovable()) {
+            if (info == null) {
+                continue;
+            }
+            for (UiccPortInfo portInfo : info.getPorts()) {
+                if (portInfo.isActive() && info.isRemovable()) {
                     activeRemovableLogicalSlotIds.add(portInfo.getLogicalSlotIndex());
                 }
             }
diff --git a/src/com/android/settings/network/EraseEuiccDataController.java b/src/com/android/settings/network/EraseEuiccDataController.java
index 3dc3ab5..9892f0d 100644
--- a/src/com/android/settings/network/EraseEuiccDataController.java
+++ b/src/com/android/settings/network/EraseEuiccDataController.java
@@ -18,10 +18,12 @@
 
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.os.UserManager;
 import android.text.TextUtils;
 
 import androidx.preference.Preference;
 
+import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.network.telephony.MobileNetworkUtils;
@@ -33,8 +35,11 @@
 public class EraseEuiccDataController extends BasePreferenceController {
     private ResetDashboardFragment mHostFragment;
 
+    private final UserManager mUm;
+
     public EraseEuiccDataController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mUm = context.getSystemService(UserManager.class);
     }
 
     public void setFragment(ResetDashboardFragment hostFragment) {
@@ -52,10 +57,12 @@
 
     @Override
     public int getAvailabilityStatus() {
-        return SubscriptionUtil.isSimHardwareVisible(mContext) &&
-                (!MobileNetworkUtils.isMobileNetworkUserRestricted(mContext)) &&
-                mContext.getPackageManager().hasSystemFeature(
-                PackageManager.FEATURE_TELEPHONY_EUICC) ? AVAILABLE_UNSEARCHABLE
-                : UNSUPPORTED_ON_DEVICE;
+        boolean isAllowedUser = (mUm.isAdminUser() || Utils.isDemoUser(mContext))
+                && !MobileNetworkUtils.isMobileNetworkUserRestricted(mContext);
+        boolean hasEuiccFeature = mContext.getPackageManager().hasSystemFeature(
+                PackageManager.FEATURE_TELEPHONY_EUICC);
+        return SubscriptionUtil.isSimHardwareVisible(mContext)
+                && isAllowedUser
+                && hasEuiccFeature ? AVAILABLE_UNSEARCHABLE : UNSUPPORTED_ON_DEVICE;
     }
 }
diff --git a/src/com/android/settings/network/EraseEuiccDataDialogFragment.java b/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
index 0200e52..3bf9db3 100644
--- a/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
+++ b/src/com/android/settings/network/EraseEuiccDataDialogFragment.java
@@ -32,7 +32,6 @@
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
-import com.android.settings.network.helper.ConfirmationSimDeletionPredicate;
 import com.android.settings.system.ResetDashboardFragment;
 import com.android.settings.wifi.dpp.WifiDppUtils;
 
@@ -76,14 +75,7 @@
 
         if (which == DialogInterface.BUTTON_POSITIVE) {
             Context context = getContext();
-            if (ConfirmationSimDeletionPredicate.getSingleton().test(context)) {
-                // Create a "verify it's you" verification over keyguard
-                // when "erase" button been pressed.
-                // This might protect from erasing by some automation process.
-                WifiDppUtils.showLockScreen(context, () -> runAsyncWipe(context));
-            } else {
-                runAsyncWipe(context);
-            }
+            WifiDppUtils.showLockScreen(context, () -> runAsyncWipe(context));
         }
     }
 
diff --git a/src/com/android/settings/network/EthernetTetherPreferenceController.java b/src/com/android/settings/network/EthernetTetherPreferenceController.java
deleted file mode 100644
index 2fd92f3..0000000
--- a/src/com/android/settings/network/EthernetTetherPreferenceController.java
+++ /dev/null
@@ -1,99 +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 android.content.Context;
-import android.net.EthernetManager;
-import android.net.TetheringManager;
-import android.os.Handler;
-import android.os.Looper;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.OnLifecycleEvent;
-
-import com.android.internal.annotations.VisibleForTesting;
-import com.android.settings.Utils;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.HashSet;
-
-/**
- * This controller helps to manage the switch state and visibility of ethernet tether switch
- * preference.
- */
-public final class EthernetTetherPreferenceController extends TetherBasePreferenceController {
-
-    private final HashSet<String> mAvailableInterfaces = new HashSet<>();
-    private final EthernetManager mEthernetManager;
-
-    @VisibleForTesting
-    EthernetManager.InterfaceStateListener mEthernetListener;
-
-    public EthernetTetherPreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-        mEthernetManager = context.getSystemService(EthernetManager.class);
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_START)
-    public void onStart() {
-        mEthernetListener = (iface, state, role, configuration) -> {
-            if (state != EthernetManager.STATE_ABSENT) {
-                mAvailableInterfaces.add(iface);
-            } else {
-                mAvailableInterfaces.remove(iface);
-            }
-            updateState(mPreference);
-        };
-        final Handler handler = new Handler(Looper.getMainLooper());
-        // Executor will execute to post the updateState event to a new handler which is created
-        // from the main looper when the {@link EthernetManager.Listener.onAvailabilityChanged}
-        // is triggerd.
-        if (mEthernetManager != null) {
-            mEthernetManager.addInterfaceStateListener(r -> handler.post(r), mEthernetListener);
-        }
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
-    public void onStop() {
-        if (mEthernetManager != null) {
-            mEthernetManager.removeInterfaceStateListener(mEthernetListener);
-        }
-    }
-
-    @Override
-    public boolean shouldEnable() {
-        ThreadUtils.ensureMainThread();
-        String[] available = mTm.getTetherableIfaces();
-        for (String s : available) {
-            if (mAvailableInterfaces.contains(s)) {
-                return true;
-            }
-        }
-        return false;
-    }
-
-    @Override
-    public boolean shouldShow() {
-        return mEthernetManager != null && !Utils.isMonkeyRunning();
-    }
-
-    @Override
-    public int getTetherType() {
-        return TetheringManager.TETHERING_ETHERNET;
-    }
-
-}
diff --git a/src/com/android/settings/network/InternetPreferenceController.java b/src/com/android/settings/network/InternetPreferenceController.java
index bc2e71e..1f5042f 100644
--- a/src/com/android/settings/network/InternetPreferenceController.java
+++ b/src/com/android/settings/network/InternetPreferenceController.java
@@ -24,6 +24,7 @@
 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;
@@ -40,11 +41,16 @@
 
 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;
@@ -57,12 +63,14 @@
 public class InternetPreferenceController extends AbstractPreferenceController implements
         LifecycleObserver, SummaryUpdater.OnSummaryChangeListener,
         InternetUpdater.InternetChangeListener, MobileNetworkRepository.MobileNetworkCallback,
-        DefaultSubscriptionReceiver.DefaultSubscriptionListener {
+        DefaultSubscriptionReceiver.DefaultSubscriptionListener,
+        WifiPickerTracker.WifiPickerTrackerCallback {
 
     public static final String KEY = "internet_settings";
 
     private Preference mPreference;
-    private final WifiSummaryUpdater mSummaryHelper;
+    @VisibleForTesting
+    WifiSummaryUpdater mSummaryHelper;
     private InternetUpdater mInternetUpdater;
     private @InternetUpdater.InternetType int mInternetType;
     private LifecycleOwner mLifecycleOwner;
@@ -70,6 +78,9 @@
     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<>();
@@ -102,6 +113,9 @@
         mLifecycleOwner = lifecycleOwner;
         mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
         mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
+        if (mIsHotspotNetworkEnabled) {
+            mWifiPickerTrackerHelper = new WifiPickerTrackerHelper(lifecycle, context, this);
+        }
         lifecycle.addObserver(this);
     }
 
@@ -111,20 +125,27 @@
         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) {
-            final Drawable drawable = mContext.getDrawable(icon);
-            if (drawable != null) {
-                drawable.setTintList(
-                        Utils.getColorAttr(mContext, android.R.attr.colorControlNormal));
-                mPreference.setIcon(drawable);
-            }
+            drawIcon(icon);
         }
 
         if (mInternetType == INTERNET_WIFI) {
@@ -143,6 +164,20 @@
         }
     }
 
+    @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 true;
@@ -200,8 +235,8 @@
 
     @Override
     public void onSummaryChanged(String summary) {
-        if (mInternetType == INTERNET_WIFI && mPreference != null) {
-            mPreference.setSummary(summary);
+        if (mInternetType == INTERNET_WIFI) {
+            updateState(mPreference);
         }
     }
 
@@ -256,4 +291,26 @@
         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/InternetUpdater.java b/src/com/android/settings/network/InternetUpdater.java
index bc24f86..11e9edd 100644
--- a/src/com/android/settings/network/InternetUpdater.java
+++ b/src/com/android/settings/network/InternetUpdater.java
@@ -24,7 +24,6 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
 import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
 
-import android.annotation.NonNull;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -37,6 +36,7 @@
 import android.net.wifi.WifiManager;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
diff --git a/src/com/android/settings/network/MobileDataEnabledFlow.kt b/src/com/android/settings/network/MobileDataEnabledFlow.kt
new file mode 100644
index 0000000..2342377
--- /dev/null
+++ b/src/com/android/settings/network/MobileDataEnabledFlow.kt
@@ -0,0 +1,43 @@
+/*
+ * 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): Flow<Unit> {
+    val flow = settingsGlobalChangeFlow(Settings.Global.MOBILE_DATA)
+    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/MobileDataEnabledListener.java b/src/com/android/settings/network/MobileDataEnabledListener.java
index b030823..f2d55ab 100644
--- a/src/com/android/settings/network/MobileDataEnabledListener.java
+++ b/src/com/android/settings/network/MobileDataEnabledListener.java
@@ -20,7 +20,12 @@
 import android.provider.Settings;
 import android.telephony.SubscriptionManager;
 
-/** Helper class to listen for changes in the enabled state of mobile data. */
+/**
+ *  Helper class to listen for changes in the enabled state of mobile data.
+ *
+ * @deprecated use {@link MobileDataEnabledFlowKt} instead
+ */
+@Deprecated
 public class MobileDataEnabledListener {
     private Context mContext;
     private Client mClient;
diff --git a/src/com/android/settings/network/MobileIconGroupExt.kt b/src/com/android/settings/network/MobileIconGroupExt.kt
new file mode 100644
index 0000000..0435ef0
--- /dev/null
+++ b/src/com/android/settings/network/MobileIconGroupExt.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.telephony.SubscriptionManager
+import android.text.Html
+import com.android.settingslib.SignalIcon
+
+fun SignalIcon.MobileIconGroup.getSummaryForSub(context: Context, subId: Int): String =
+    when (dataContentDescription) {
+        0 -> ""
+        else -> {
+            SubscriptionManager.getResourcesForSubId(context, subId)
+                .getString(dataContentDescription)
+        }
+    }
+
+fun String.maybeToHtml(): CharSequence = when {
+    contains(HTML_TAG) -> Html.fromHtml(this, Html.FROM_HTML_MODE_LEGACY)
+    else -> this
+}
+
+private const val HTML_TAG = "</"
diff --git a/src/com/android/settings/network/MobileNetworkListFragment.java b/src/com/android/settings/network/MobileNetworkListFragment.java
deleted file mode 100644
index d7d241a..0000000
--- a/src/com/android/settings/network/MobileNetworkListFragment.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.SearchIndexableResource;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.settings.R;
-import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.network.telephony.MobileNetworkUtils;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.search.SearchIndexable;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
-public class MobileNetworkListFragment extends DashboardFragment {
-    private static final String LOG_TAG = "NetworkListFragment";
-
-    static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
-    private static final String KEY_ADD_SIM = "add_sim";
-
-    @Override
-    public void onResume() {
-        super.onResume();
-        // Disable the animation of the preference list
-        final RecyclerView prefListView = getListView();
-        if (prefListView != null) {
-            prefListView.setItemAnimator(null);
-        }
-
-        findPreference(KEY_ADD_SIM).setVisible(MobileNetworkUtils.showEuiccSettings(getContext()));
-    }
-
-    @Override
-    protected int getPreferenceScreenResId() {
-        return R.xml.network_provider_sims_list;
-    }
-
-    @Override
-    protected String getLogTag() {
-        return LOG_TAG;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.MOBILE_NETWORK_LIST;
-    }
-
-    @Override
-    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        final List<AbstractPreferenceController> controllers = new ArrayList<>();
-        if (!SubscriptionUtil.isSimHardwareVisible(getContext())) {
-            finish();
-            return controllers;
-        }
-
-        NetworkProviderSimsCategoryController simCategoryPrefCtrl =
-                new NetworkProviderSimsCategoryController(context, KEY_PREFERENCE_CATEGORY_SIM,
-                        getSettingsLifecycle(), this);
-        controllers.add(simCategoryPrefCtrl);
-
-        return controllers;
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(Context context,
-                        boolean enabled) {
-                    final ArrayList<SearchIndexableResource> result = new ArrayList<>();
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.network_provider_sims_list;
-                    result.add(sir);
-                    return result;
-                }
-
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return SubscriptionUtil.isSimHardwareVisible(context) &&
-                            context.getSystemService(UserManager.class).isAdminUser();
-                }
-            };
-}
diff --git a/src/com/android/settings/network/MobileNetworkListFragment.kt b/src/com/android/settings/network/MobileNetworkListFragment.kt
new file mode 100644
index 0000000..e722866
--- /dev/null
+++ b/src/com/android/settings/network/MobileNetworkListFragment.kt
@@ -0,0 +1,94 @@
+/*
+ * 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.app.settings.SettingsEnums
+import android.content.Context
+import android.os.Bundle
+import android.provider.Settings
+import android.view.View
+import androidx.annotation.VisibleForTesting
+import androidx.preference.Preference
+import com.android.settings.R
+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.search.BaseSearchIndexProvider
+import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+import com.android.settings.spa.network.NetworkCellularGroupProvider
+import com.android.settingslib.search.SearchIndexable
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow
+
+@SearchIndexable(forTarget = SearchIndexable.ALL and SearchIndexable.ARC.inv())
+class MobileNetworkListFragment : DashboardFragment() {
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        collectAirplaneModeAndFinishIfOn()
+    }
+
+    override fun onCreate(icicle: Bundle?) {
+        super.onCreate(icicle)
+
+        if (Flags.isDualSimOnboardingEnabled()) {
+            context?.startSpaActivity(NetworkCellularGroupProvider.name);
+            finish()
+        }
+    }
+
+    override fun onResume() {
+        super.onResume()
+        // Disable the animation of the preference list
+        listView.itemAnimator = null
+
+        findPreference<Preference>(KEY_ADD_SIM)!!.isVisible =
+            MobileNetworkUtils.showEuiccSettings(context)
+    }
+
+    override fun getPreferenceScreenResId() = R.xml.network_provider_sims_list
+
+    override fun getLogTag() = LOG_TAG
+
+    override fun getMetricsCategory() = SettingsEnums.MOBILE_NETWORK_LIST
+
+    companion object {
+        private const val LOG_TAG = "NetworkListFragment"
+        private const val KEY_ADD_SIM = "add_sim"
+
+        @JvmStatic
+        fun SettingsPreferenceFragment.collectAirplaneModeAndFinishIfOn() {
+            requireContext().settingsGlobalBooleanFlow(Settings.Global.AIRPLANE_MODE_ON)
+                .collectLatestWithLifecycle(viewLifecycleOwner) { isAirplaneModeOn ->
+                    if (isAirplaneModeOn) {
+                        finish()
+                    }
+                }
+        }
+
+        @JvmField
+        val SEARCH_INDEX_DATA_PROVIDER = SearchIndexProvider()
+
+        @VisibleForTesting
+        class SearchIndexProvider : BaseSearchIndexProvider(R.xml.network_provider_sims_list) {
+            public override fun isPageSearchEnabled(context: Context): Boolean =
+                SubscriptionUtil.isSimHardwareVisible(context) &&
+                    context.userManager.isAdminUser
+        }
+    }
+}
diff --git a/src/com/android/settings/network/MobileNetworkRepository.java b/src/com/android/settings/network/MobileNetworkRepository.java
index 7d88821..b0c85fc 100644
--- a/src/com/android/settings/network/MobileNetworkRepository.java
+++ b/src/com/android/settings/network/MobileNetworkRepository.java
@@ -18,7 +18,6 @@
 import static android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING;
 import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
 
-import android.annotation.NonNull;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.database.ContentObserver;
@@ -38,8 +37,10 @@
 import android.util.Log;
 
 import androidx.annotation.GuardedBy;
+import androidx.annotation.NonNull;
 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;
@@ -120,7 +121,7 @@
     private MobileNetworkRepository(Context context) {
         mContext = context;
         mMobileNetworkDatabase = MobileNetworkDatabase.getInstance(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mMetricsFeatureProvider.action(mContext, SettingsEnums.ACTION_MOBILE_NETWORK_DB_CREATED);
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mSubscriptionInfoDao = mMobileNetworkDatabase.mSubscriptionInfoDao();
@@ -225,6 +226,9 @@
             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.
+        sendAvailableSubInfoCache(mobileNetworkCallback);
     }
 
     public void addRegisterBySubId(int subId) {
@@ -377,11 +381,11 @@
         return mMobileNetworkInfoDao.queryMobileNetworkInfoBySubId(subId);
     }
 
-    private void getUiccInfoBySubscriptionInfo(UiccSlotInfo[] uiccSlotInfos,
+    private void getUiccInfoBySubscriptionInfo(@NonNull UiccSlotInfo[] uiccSlotInfos,
             SubscriptionInfo subInfo) {
         for (int i = 0; i < uiccSlotInfos.length; i++) {
             UiccSlotInfo curSlotInfo = uiccSlotInfos[i];
-            if (curSlotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT) {
+            if (curSlotInfo != null && curSlotInfo.getCardStateInfo() == CARD_STATE_INFO_PRESENT) {
                 final int index = i;
                 mIsEuicc = curSlotInfo.getIsEuicc();
                 mCardState = curSlotInfo.getCardStateInfo();
@@ -415,7 +419,15 @@
 
     private void onAvailableSubInfoChanged(
             List<SubscriptionInfoEntity> availableSubInfoEntityList) {
-        mAvailableSubInfoEntityList = new ArrayList<>(availableSubInfoEntityList);
+        synchronized (this) {
+            if (mAvailableSubInfoEntityList != null
+                    && mAvailableSubInfoEntityList.size() == availableSubInfoEntityList.size()
+                    && mAvailableSubInfoEntityList.containsAll(availableSubInfoEntityList)) {
+                Log.d(TAG, "onAvailableSubInfoChanged, duplicates = " + availableSubInfoEntityList);
+                return;
+            }
+            mAvailableSubInfoEntityList = new ArrayList<>(availableSubInfoEntityList);
+        }
         if (DEBUG) {
             Log.d(TAG, "onAvailableSubInfoChanged, availableSubInfoEntityList = "
                     + availableSubInfoEntityList);
@@ -425,23 +437,48 @@
         }
         mMetricsFeatureProvider.action(mContext,
                 SettingsEnums.ACTION_MOBILE_NETWORK_DB_NOTIFY_SUB_INFO_IS_CHANGED, 0);
-        onActiveSubInfoListChanged(mAvailableSubInfoEntityList);
+        onActiveSubInfoListChanged(availableSubInfoEntityList);
     }
 
     private void onActiveSubInfoListChanged(
             List<SubscriptionInfoEntity> availableSubInfoEntityList) {
-        mActiveSubInfoEntityList = availableSubInfoEntityList.stream()
+        List<SubscriptionInfoEntity> activeSubInfoEntityList =
+                availableSubInfoEntityList.stream()
                 .filter(SubscriptionInfoEntity::isActiveSubscription)
                 .filter(SubscriptionInfoEntity::isSubscriptionVisible)
                 .collect(Collectors.toList());
         if (DEBUG) {
             Log.d(TAG, "onActiveSubInfoChanged, activeSubInfoEntityList = "
-                    + mActiveSubInfoEntityList);
+                    + activeSubInfoEntityList);
         }
-        List<SubscriptionInfoEntity> activeSubInfoEntityList = new ArrayList<>(
-                mActiveSubInfoEntityList);
+        List<SubscriptionInfoEntity> tempActiveSubInfoEntityList = new ArrayList<>(
+                activeSubInfoEntityList);
+        synchronized (this) {
+            mActiveSubInfoEntityList = activeSubInfoEntityList;
+        }
         for (MobileNetworkCallback callback : sCallbacks) {
-            callback.onActiveSubInfoChanged(activeSubInfoEntityList);
+            callback.onActiveSubInfoChanged(tempActiveSubInfoEntityList);
+        }
+    }
+
+    private void sendAvailableSubInfoCache(MobileNetworkCallback callback) {
+        if (callback != null) {
+             List<SubscriptionInfoEntity> availableSubInfoEntityList = null;
+             List<SubscriptionInfoEntity> activeSubInfoEntityList = null;
+             synchronized (this) {
+                 if (mAvailableSubInfoEntityList != null) {
+                     availableSubInfoEntityList = new ArrayList<>(mAvailableSubInfoEntityList);
+                 }
+                 if (mActiveSubInfoEntityList != null) {
+                     activeSubInfoEntityList = new ArrayList<>(mActiveSubInfoEntityList);
+                 }
+             }
+             if (availableSubInfoEntityList != null) {
+                 callback.onAvailableSubInfoChanged(availableSubInfoEntityList);
+             }
+             if (activeSubInfoEntityList != null) {
+                 callback.onActiveSubInfoChanged(activeSubInfoEntityList);
+             }
         }
     }
 
@@ -497,8 +534,6 @@
         mMobileNetworkDatabase.deleteSubInfoBySubId(subId);
         mMobileNetworkDatabase.deleteUiccInfoBySubId(subId);
         mMobileNetworkDatabase.deleteMobileNetworkInfoBySubId(subId);
-        mAvailableSubInfoEntityList.removeIf(info -> info.subId.equals(subId));
-        mActiveSubInfoEntityList.removeIf(info -> info.subId.equals(subId));
         mUiccInfoEntityList.removeIf(info -> info.subId.equals(subId));
         mMobileNetworkInfoEntityList.removeIf(info -> info.subId.equals(subId));
         int id = Integer.parseInt(subId);
@@ -655,10 +690,15 @@
 
     private void insertAvailableSubInfoToEntity(List<SubscriptionInfo> inputAvailableInfoList) {
         sExecutor.execute(() -> {
-            SubscriptionInfoEntity[] availableInfoArray = mAvailableSubInfoEntityList.toArray(
+            SubscriptionInfoEntity[] availableInfoArray = null;
+            int availableEntitySize = 0;
+            synchronized (this) {
+                availableInfoArray = mAvailableSubInfoEntityList.toArray(
                     new SubscriptionInfoEntity[0]);
+                availableEntitySize = mAvailableSubInfoEntityList.size();
+            }
             if ((inputAvailableInfoList == null || inputAvailableInfoList.size() == 0)
-                    && mAvailableSubInfoEntityList.size() != 0) {
+                    && availableEntitySize != 0) {
                 if (DEBUG) {
                     Log.d(TAG, "availableSudInfoList from framework is empty, remove all subs");
                 }
@@ -671,7 +711,7 @@
                 SubscriptionInfo[] inputAvailableInfoArray = inputAvailableInfoList.toArray(
                         new SubscriptionInfo[0]);
                 // Remove the redundant subInfo
-                if (inputAvailableInfoList.size() <= mAvailableSubInfoEntityList.size()) {
+                if (inputAvailableInfoList.size() <= availableEntitySize) {
                     for (SubscriptionInfo subInfo : inputAvailableInfoArray) {
                         int subId = subInfo.getSubscriptionId();
                         if (mSubscriptionInfoMap.containsKey(subId)) {
@@ -685,7 +725,7 @@
                                 deleteAllInfoBySubId(String.valueOf(key));
                             }
                         }
-                    } else if (inputAvailableInfoList.size() < mAvailableSubInfoEntityList.size()) {
+                    } else if (inputAvailableInfoList.size() < availableEntitySize) {
                         // Check the subInfo between the new list from framework and old list in
                         // the database, if the subInfo is not existed in the new list, delete it
                         // from the database.
@@ -703,9 +743,11 @@
                         Log.d(TAG, "insert subInfo to subInfoEntity, subInfo = " + subInfo);
                     }
                     if (subInfo.isEmbedded()
-                            && subInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING) {
+                        && (subInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                            || (Flags.oemEnabledSatelliteFlag()
+                            && subInfo.isOnlyNonTerrestrialNetwork()))) {
                         if (DEBUG) {
-                            Log.d(TAG, "Do not insert the provision eSIM");
+                            Log.d(TAG, "Do not insert the provisioning or satellite eSIM");
                         }
                         continue;
                     }
diff --git a/src/com/android/settings/network/MobileNetworkSummaryController.java b/src/com/android/settings/network/MobileNetworkSummaryController.java
index f924636..15c1494 100644
--- a/src/com/android/settings/network/MobileNetworkSummaryController.java
+++ b/src/com/android/settings/network/MobileNetworkSummaryController.java
@@ -84,7 +84,7 @@
     public MobileNetworkSummaryController(Context context, Lifecycle lifecycle,
             LifecycleOwner lifecycleOwner) {
         super(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mUserManager = context.getSystemService(UserManager.class);
         mLifecycleOwner = lifecycleOwner;
         mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
diff --git a/src/com/android/settings/network/MobilePlanPreferenceController.java b/src/com/android/settings/network/MobilePlanPreferenceController.java
deleted file mode 100644
index d8963ad..0000000
--- a/src/com/android/settings/network/MobilePlanPreferenceController.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.network;
-
-import static android.content.Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT;
-import static android.content.Intent.FLAG_ACTIVITY_NEW_TASK;
-import static android.os.UserHandle.myUserId;
-import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
-
-import static com.android.settingslib.RestrictedLockUtilsInternal.hasBaseUserRestriction;
-
-import android.content.ActivityNotFoundException;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.net.ConnectivityManager;
-import android.net.NetworkInfo;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.UserManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.Utils;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnCreate;
-import com.android.settingslib.core.lifecycle.events.OnSaveInstanceState;
-
-import java.util.List;
-
-public class MobilePlanPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin, LifecycleObserver, OnCreate, OnSaveInstanceState {
-
-    public interface MobilePlanPreferenceHost {
-        void showMobilePlanMessageDialog();
-    }
-
-    public static final int MANAGE_MOBILE_PLAN_DIALOG_ID = 1;
-
-    private static final String TAG = "MobilePlanPrefContr";
-    private static final String KEY_MANAGE_MOBILE_PLAN = "manage_mobile_plan";
-    private static final String SAVED_MANAGE_MOBILE_PLAN_MSG = "mManageMobilePlanMessage";
-
-    private final UserManager mUserManager;
-    private final boolean mIsSecondaryUser;
-    private final MobilePlanPreferenceHost mHost;
-
-    private ConnectivityManager mCm;
-    private TelephonyManager mTm;
-
-    private String mMobilePlanDialogMessage;
-
-    public MobilePlanPreferenceController(Context context,
-            MobilePlanPreferenceHost host) {
-        super(context);
-        mHost = host;
-        mCm = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
-        mTm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
-        mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mIsSecondaryUser = !mUserManager.isAdminUser();
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (mHost != null && KEY_MANAGE_MOBILE_PLAN.equals(preference.getKey())) {
-            mMobilePlanDialogMessage = null;
-            onManageMobilePlanClick();
-            return true;
-        }
-        return false;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        if (savedInstanceState != null) {
-            mMobilePlanDialogMessage = savedInstanceState.getString(SAVED_MANAGE_MOBILE_PLAN_MSG);
-        }
-        Log.d(TAG, "onCreate: mMobilePlanDialogMessage=" + mMobilePlanDialogMessage);
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        if (!TextUtils.isEmpty(mMobilePlanDialogMessage)) {
-            outState.putString(SAVED_MANAGE_MOBILE_PLAN_MSG, mMobilePlanDialogMessage);
-        }
-    }
-
-    public String getMobilePlanDialogMessage() {
-        return mMobilePlanDialogMessage;
-    }
-
-    public void setMobilePlanDialogMessage(String messasge) {
-        mMobilePlanDialogMessage = messasge;
-    }
-
-    @Override
-    public boolean isAvailable() {
-        final boolean isPrefAllowedOnDevice = mContext.getResources().getBoolean(
-                com.android.settings.R.bool.config_show_mobile_plan);
-        final boolean isPrefAllowedForUser = !mIsSecondaryUser
-                && !Utils.isWifiOnly(mContext)
-                && !hasBaseUserRestriction(mContext, DISALLOW_CONFIG_MOBILE_NETWORKS, myUserId());
-        return isPrefAllowedForUser && isPrefAllowedOnDevice;
-    }
-    @Override
-    public String getPreferenceKey() {
-        return KEY_MANAGE_MOBILE_PLAN;
-    }
-
-    private void onManageMobilePlanClick() {
-        Resources resources = mContext.getResources();
-        NetworkInfo ni = mCm.getActiveNetworkInfo();
-        if (mTm.hasIccCard() && (ni != null)) {
-            // Check for carrier apps that can handle provisioning first
-            Intent provisioningIntent = new Intent(Intent.ACTION_CARRIER_SETUP);
-            List<String> carrierPackages =
-                    mTm.getCarrierPackageNamesForIntent(provisioningIntent);
-            if (carrierPackages != null && !carrierPackages.isEmpty()) {
-                if (carrierPackages.size() != 1) {
-                    Log.w(TAG, "Multiple matching carrier apps found, launching the first.");
-                }
-                provisioningIntent.setPackage(carrierPackages.get(0));
-                mContext.startActivity(provisioningIntent);
-                return;
-            }
-
-            // Get provisioning URL
-            String url = mTm.getMobileProvisioningUrl();
-            if (!TextUtils.isEmpty(url)) {
-                Intent intent = Intent.makeMainSelectorActivity(Intent.ACTION_MAIN,
-                        Intent.CATEGORY_APP_BROWSER);
-                intent.setData(Uri.parse(url));
-                intent.setFlags(FLAG_ACTIVITY_BROUGHT_TO_FRONT | FLAG_ACTIVITY_NEW_TASK);
-                try {
-                    mContext.startActivity(intent);
-                } catch (ActivityNotFoundException e) {
-                    Log.w(TAG, "onManageMobilePlanClick: startActivity failed" + e);
-                }
-            } else {
-                // No provisioning URL
-                String operatorName = mTm.getSimOperatorName();
-                if (TextUtils.isEmpty(operatorName)) {
-                    // Use NetworkOperatorName as second choice in case there is no
-                    // SPN (Service Provider Name on the SIM). Such as with T-mobile.
-                    operatorName = mTm.getNetworkOperatorName();
-                    if (TextUtils.isEmpty(operatorName)) {
-                        mMobilePlanDialogMessage =
-                                resources.getString(R.string.mobile_unknown_sim_operator);
-                    } else {
-                        mMobilePlanDialogMessage = resources.getString(
-                                R.string.mobile_no_provisioning_url, operatorName);
-                    }
-                } else {
-                    mMobilePlanDialogMessage =
-                            resources.getString(R.string.mobile_no_provisioning_url, operatorName);
-                }
-            }
-        } else if (mTm.hasIccCard() == false) {
-            // No sim card
-            mMobilePlanDialogMessage = resources.getString(R.string.mobile_insert_sim_card);
-        } else {
-            // NetworkInfo is null, there is no connection
-            mMobilePlanDialogMessage = resources.getString(R.string.mobile_connect_to_internet);
-        }
-        if (!TextUtils.isEmpty(mMobilePlanDialogMessage)) {
-            Log.d(TAG, "onManageMobilePlanClick: message=" + mMobilePlanDialogMessage);
-            if (mHost != null) {
-                mHost.showMobilePlanMessageDialog();
-            } else {
-                Log.d(TAG, "Missing host fragment, cannot show message dialog.");
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/network/NetworkDashboardFragment.java b/src/com/android/settings/network/NetworkDashboardFragment.java
index 4ea3464..323d935 100644
--- a/src/com/android/settings/network/NetworkDashboardFragment.java
+++ b/src/com/android/settings/network/NetworkDashboardFragment.java
@@ -15,40 +15,27 @@
  */
 package com.android.settings.network;
 
-import static com.android.settings.network.MobilePlanPreferenceController.MANAGE_MOBILE_PLAN_DIALOG_ID;
-
-import android.app.Dialog;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
-import android.os.Bundle;
-import android.provider.SearchIndexableResource;
-import android.util.Log;
 
-import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.Fragment;
 import androidx.lifecycle.LifecycleOwner;
 
 import com.android.settings.R;
 import com.android.settings.SettingsDumpService;
-import com.android.settings.Utils;
 import com.android.settings.core.OnActivityResultListener;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.network.MobilePlanPreferenceController.MobilePlanPreferenceHost;
 import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.wifi.WifiPrimarySwitchPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.List;
 
 @SearchIndexable
 public class NetworkDashboardFragment extends DashboardFragment implements
-        MobilePlanPreferenceHost, OnActivityResultListener {
+        OnActivityResultListener {
 
     private static final String TAG = "NetworkDashboardFrag";
 
@@ -72,13 +59,7 @@
         super.onAttach(context);
 
         use(AirplaneModePreferenceController.class).setFragment(this);
-        getSettingsLifecycle().addObserver(use(AllInOneTetherPreferenceController.class));
-    }
-
-    @Override
-    public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-        super.onCreatePreferences(savedInstanceState, rootKey);
-        use(AllInOneTetherPreferenceController.class).initEnabler(getSettingsLifecycle());
+        use(NetworkProviderCallsSmsController.class).init(this);
     }
 
     @Override
@@ -88,15 +69,12 @@
 
     @Override
     protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
-        return buildPreferenceControllers(context, getSettingsLifecycle(), mMetricsFeatureProvider,
-                this /* fragment */, this /* mobilePlanHost */, this /* LifecycleOwner */);
+        return buildPreferenceControllers(context, getSettingsLifecycle(),
+                this /* LifecycleOwner */);
     }
 
     private static List<AbstractPreferenceController> buildPreferenceControllers(Context context,
-            Lifecycle lifecycle, MetricsFeatureProvider metricsFeatureProvider, Fragment fragment,
-            MobilePlanPreferenceHost mobilePlanHost, LifecycleOwner lifecycleOwner) {
-        final MobilePlanPreferenceController mobilePlanPreferenceController =
-                new MobilePlanPreferenceController(context, mobilePlanHost);
+            Lifecycle lifecycle, LifecycleOwner lifecycleOwner) {
         final InternetPreferenceController internetPreferenceController =
                 new InternetPreferenceController(context, lifecycle, lifecycleOwner);
 
@@ -106,7 +84,6 @@
                 new PrivateDnsPreferenceController(context);
 
         if (lifecycle != null) {
-            lifecycle.addObserver(mobilePlanPreferenceController);
             lifecycle.addObserver(vpnPreferenceController);
             lifecycle.addObserver(privateDnsPreferenceController);
         }
@@ -114,15 +91,11 @@
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
 
         controllers.add(new MobileNetworkSummaryController(context, lifecycle, lifecycleOwner));
-        controllers.add(new TetherPreferenceController(context, lifecycle));
         controllers.add(vpnPreferenceController);
-        controllers.add(new ProxyPreferenceController(context));
-        controllers.add(mobilePlanPreferenceController);
         if (internetPreferenceController != null) {
             controllers.add(internetPreferenceController);
         }
         controllers.add(privateDnsPreferenceController);
-        controllers.add(new NetworkProviderCallsSmsController(context, lifecycle, lifecycleOwner));
 
         // Start SettingsDumpService after the MobileNetworkRepository is created.
         Intent intent = new Intent(context, SettingsDumpService.class);
@@ -131,36 +104,6 @@
         return controllers;
     }
 
-    @Override
-    public void showMobilePlanMessageDialog() {
-        showDialog(MANAGE_MOBILE_PLAN_DIALOG_ID);
-    }
-
-    @Override
-    public Dialog onCreateDialog(int dialogId) {
-        Log.d(TAG, "onCreateDialog: dialogId=" + dialogId);
-        switch (dialogId) {
-            case MANAGE_MOBILE_PLAN_DIALOG_ID:
-                final MobilePlanPreferenceController controller =
-                        use(MobilePlanPreferenceController.class);
-                return new AlertDialog.Builder(getActivity())
-                        .setMessage(controller.getMobilePlanDialogMessage())
-                        .setCancelable(false)
-                        .setPositiveButton(com.android.internal.R.string.ok,
-                                (dialog, id) -> controller.setMobilePlanDialogMessage(null))
-                        .create();
-        }
-        return super.onCreateDialog(dialogId);
-    }
-
-    @Override
-    public int getDialogMetricsCategory(int dialogId) {
-        if (MANAGE_MOBILE_PLAN_DIALOG_ID == dialogId) {
-            return SettingsEnums.DIALOG_MANAGE_MOBILE_PLAN;
-        }
-        return 0;
-    }
-
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
 
@@ -178,8 +121,7 @@
                 public List<AbstractPreferenceController> createPreferenceControllers(Context
                         context) {
                     return buildPreferenceControllers(context, null /* lifecycle */,
-                            null /* metricsFeatureProvider */, null /* fragment */,
-                            null /* mobilePlanHost */, null /* LifecycleOwner */);
+                            null /* LifecycleOwner */);
                 }
             };
 }
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsController.java b/src/com/android/settings/network/NetworkProviderCallsSmsController.java
deleted file mode 100644
index 5eec3d9..0000000
--- a/src/com/android/settings/network/NetworkProviderCallsSmsController.java
+++ /dev/null
@@ -1,258 +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;
-
-import android.content.Context;
-import android.os.UserManager;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-import android.view.View;
-
-import androidx.annotation.VisibleForTesting;
-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.settingslib.RestrictedPreference;
-import com.android.settingslib.Utils;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-
-import java.util.List;
-
-public class NetworkProviderCallsSmsController extends AbstractPreferenceController implements
-        LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback,
-        DefaultSubscriptionReceiver.DefaultSubscriptionListener {
-
-    private static final String TAG = "NetworkProviderCallsSmsController";
-    private static final String KEY = "calls_and_sms";
-    private static final String RTL_MARK = "\u200F";
-
-    private UserManager mUserManager;
-    private TelephonyManager mTelephonyManager;
-    private RestrictedPreference mPreference;
-    private boolean mIsRtlMode;
-    private LifecycleOwner mLifecycleOwner;
-    private MobileNetworkRepository mMobileNetworkRepository;
-    private List<SubscriptionInfoEntity> mSubInfoEntityList;
-    private int mDefaultVoiceSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    private int mDefaultSmsSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-    private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
-
-    /**
-     * The summary text and click behavior of the "Calls & SMS" item on the
-     * Network & internet page.
-     */
-    public NetworkProviderCallsSmsController(Context context, Lifecycle lifecycle,
-            LifecycleOwner lifecycleOwner) {
-        super(context);
-
-        mUserManager = context.getSystemService(UserManager.class);
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
-        mIsRtlMode = context.getResources().getConfiguration().getLayoutDirection()
-                == View.LAYOUT_DIRECTION_RTL;
-        mLifecycleOwner = lifecycleOwner;
-        mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
-        mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
-    }
-
-    @OnLifecycleEvent(Event.ON_RESUME)
-    public void onResume() {
-        mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        mMobileNetworkRepository.updateEntity();
-        mDataSubscriptionChangedReceiver.registerReceiver();
-        mDefaultVoiceSubId = SubscriptionManager.getDefaultVoiceSubscriptionId();
-        mDefaultSmsSubId = SubscriptionManager.getDefaultSmsSubscriptionId();
-    }
-
-    @OnLifecycleEvent(Event.ON_PAUSE)
-    public void onPause() {
-        mMobileNetworkRepository.removeRegister(this);
-        mDataSubscriptionChangedReceiver.unRegisterReceiver();
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        List<SubscriptionInfoEntity> list = getSubscriptionInfoList();
-        if (list == null || list.isEmpty()) {
-            return setSummaryResId(R.string.calls_sms_no_sim);
-        } else {
-            final StringBuilder summary = new StringBuilder();
-            SubscriptionInfoEntity[] entityArray = list.toArray(
-                    new SubscriptionInfoEntity[0]);
-            for (SubscriptionInfoEntity subInfo : entityArray) {
-                int subsSize = list.size();
-                int subId = Integer.parseInt(subInfo.subId);
-                final CharSequence displayName = subInfo.uniqueName;
-
-                // Set displayName as summary if there is only one valid SIM.
-                if (subsSize == 1
-                        && list.get(0).isValidSubscription
-                        && isInService(subId)) {
-                    return displayName;
-                }
-
-                CharSequence status = getPreferredStatus(subInfo, subsSize, subId);
-                if (status.toString().isEmpty()) {
-                    // If there are 2 or more SIMs and one of these has no preferred status,
-                    // set only its displayName as summary.
-                    summary.append(displayName);
-                } else {
-                    summary.append(displayName)
-                            .append(" (")
-                            .append(status)
-                            .append(")");
-                }
-                // Do not add ", " for the last subscription.
-                if (list.size() > 0 && !subInfo.equals(list.get(list.size() - 1))) {
-                    summary.append(", ");
-                }
-
-                if (mIsRtlMode) {
-                    summary.insert(0, RTL_MARK).insert(summary.length(), RTL_MARK);
-                }
-            }
-            return summary;
-        }
-    }
-
-    @VisibleForTesting
-    protected CharSequence getPreferredStatus(SubscriptionInfoEntity subInfo, int subsSize,
-            int subId) {
-        String status = "";
-        boolean isCallPreferred = subInfo.getSubId() == getDefaultVoiceSubscriptionId();
-        boolean isSmsPreferred = subInfo.getSubId() == getDefaultSmsSubscriptionId();
-
-        if (!subInfo.isValidSubscription || !isInService(subId)) {
-            status = setSummaryResId(subsSize > 1 ? R.string.calls_sms_unavailable :
-                    R.string.calls_sms_temp_unavailable);
-        } else {
-            if (isCallPreferred && isSmsPreferred) {
-                status = setSummaryResId(R.string.calls_sms_preferred);
-            } else if (isCallPreferred) {
-                status = setSummaryResId(R.string.calls_sms_calls_preferred);
-            } else if (isSmsPreferred) {
-                status = setSummaryResId(R.string.calls_sms_sms_preferred);
-            }
-        }
-        return status;
-    }
-
-    private String setSummaryResId(int resId) {
-        return mContext.getResources().getString(resId);
-    }
-
-    @VisibleForTesting
-    protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
-        return mSubInfoEntityList;
-    }
-
-    private void update() {
-        if (mPreference == null || mPreference.isDisabledByAdmin()) {
-            return;
-        }
-        refreshSummary(mPreference);
-        mPreference.setOnPreferenceClickListener(null);
-        mPreference.setFragment(null);
-
-        if (mSubInfoEntityList == null || mSubInfoEntityList.isEmpty()) {
-            mPreference.setEnabled(false);
-        } else {
-            mPreference.setEnabled(true);
-            mPreference.setFragment(NetworkProviderCallsSmsFragment.class.getCanonicalName());
-        }
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return SubscriptionUtil.isSimHardwareVisible(mContext) &&
-                mUserManager.isAdminUser();
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY;
-    }
-
-    @Override
-    public void onAirplaneModeChanged(boolean airplaneModeEnabled) {
-        update();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (preference == null) {
-            return;
-        }
-        refreshSummary(mPreference);
-        update();
-    }
-
-    @VisibleForTesting
-    protected boolean isInService(int subId) {
-        ServiceState serviceState =
-                mTelephonyManager.createForSubscriptionId(subId).getServiceState();
-        return Utils.isInService(serviceState);
-    }
-
-    @Override
-    public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> activeSubInfoList) {
-        mSubInfoEntityList = activeSubInfoList;
-        update();
-    }
-
-    @VisibleForTesting
-    protected int getDefaultVoiceSubscriptionId() {
-        return mDefaultVoiceSubId;
-    }
-
-    @VisibleForTesting
-    protected int getDefaultSmsSubscriptionId() {
-        return mDefaultSmsSubId;
-    }
-
-    @Override
-    public void onDefaultVoiceChanged(int defaultVoiceSubId) {
-        mDefaultVoiceSubId = defaultVoiceSubId;
-        update();
-    }
-
-    @Override
-    public void onDefaultSmsChanged(int defaultSmsSubId) {
-        mDefaultSmsSubId = defaultSmsSubId;
-        update();
-    }
-}
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsController.kt b/src/com/android/settings/network/NetworkProviderCallsSmsController.kt
new file mode 100644
index 0000000..67247c1
--- /dev/null
+++ b/src/com/android/settings/network/NetworkProviderCallsSmsController.kt
@@ -0,0 +1,181 @@
+/*
+ * 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.content.IntentFilter
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.annotation.VisibleForTesting
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.viewModels
+import androidx.lifecycle.LifecycleOwner
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.flags.Flags
+import com.android.settingslib.RestrictedPreference
+import com.android.settingslib.Utils
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+
+/**
+ * The summary text and click behavior of the "Calls & SMS" item on the Network & internet page.
+ */
+open class NetworkProviderCallsSmsController @JvmOverloads constructor(
+    context: Context,
+    preferenceKey: String,
+    private val getDisplayName: (SubscriptionInfo) -> CharSequence = { subInfo ->
+        SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, context)
+    },
+    private val isInService: (Int) -> Boolean = IsInServiceImpl(context)::isInService,
+) : BasePreferenceController(context, preferenceKey) {
+
+    private lateinit var lazyViewModel: Lazy<SubscriptionInfoListViewModel>
+    private lateinit var preference: RestrictedPreference
+
+    fun init(fragment: Fragment) {
+        lazyViewModel = fragment.viewModels()
+    }
+
+    override fun getAvailabilityStatus() = when {
+        Flags.isDualSimOnboardingEnabled() -> UNSUPPORTED_ON_DEVICE
+        !SubscriptionUtil.isSimHardwareVisible(mContext) -> UNSUPPORTED_ON_DEVICE
+        !mContext.userManager.isAdminUser -> DISABLED_FOR_USER
+        else -> AVAILABLE
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        val viewModel by lazyViewModel
+
+        summaryFlow(viewModel.subscriptionInfoListFlow)
+            .collectLatestWithLifecycle(viewLifecycleOwner) { preference.summary = it }
+
+        viewModel.subscriptionInfoListFlow
+            .collectLatestWithLifecycle(viewLifecycleOwner) { subscriptionInfoList ->
+                if (!preference.isDisabledByAdmin) {
+                    preference.isEnabled = subscriptionInfoList.isNotEmpty()
+                }
+            }
+    }
+
+    private fun summaryFlow(subscriptionInfoListFlow: Flow<List<SubscriptionInfo>>) = combine(
+        subscriptionInfoListFlow,
+        mContext.defaultVoiceSubscriptionFlow(),
+        mContext.defaultSmsSubscriptionFlow(),
+        ::getSummary,
+    ).flowOn(Dispatchers.Default)
+
+    @VisibleForTesting
+    fun getSummary(
+        activeSubscriptionInfoList: List<SubscriptionInfo>,
+        defaultVoiceSubscriptionId: Int,
+        defaultSmsSubscriptionId: Int,
+    ): String {
+        if (activeSubscriptionInfoList.isEmpty()) {
+            return mContext.getString(R.string.calls_sms_no_sim)
+        }
+
+        activeSubscriptionInfoList.singleOrNull()?.let {
+            // Set displayName as summary if there is only one valid SIM.
+            if (isInService(it.subscriptionId)) return it.displayName.toString()
+        }
+
+        return activeSubscriptionInfoList.joinToString { subInfo ->
+            val displayName = getDisplayName(subInfo)
+
+            val subId = subInfo.subscriptionId
+            val statusResId = getPreferredStatus(
+                subId = subId,
+                subsSize = activeSubscriptionInfoList.size,
+                isCallPreferred = subId == defaultVoiceSubscriptionId,
+                isSmsPreferred = subId == defaultSmsSubscriptionId,
+            )
+            if (statusResId == null) {
+                // If there are 2 or more SIMs and one of these has no preferred status,
+                // set only its displayName as summary.
+                displayName
+            } else {
+                "$displayName (${mContext.getString(statusResId)})"
+            }
+        }
+    }
+
+    private fun getPreferredStatus(
+        subId: Int,
+        subsSize: Int,
+        isCallPreferred: Boolean,
+        isSmsPreferred: Boolean,
+    ): Int? = when {
+        !isInService(subId) -> {
+            if (subsSize > 1) {
+                R.string.calls_sms_unavailable
+            } else {
+                R.string.calls_sms_temp_unavailable
+            }
+        }
+
+        isCallPreferred && isSmsPreferred -> R.string.calls_sms_preferred
+        isCallPreferred -> R.string.calls_sms_calls_preferred
+        isSmsPreferred -> R.string.calls_sms_sms_preferred
+        else -> null
+    }
+}
+
+private fun Context.defaultVoiceSubscriptionFlow(): Flow<Int> =
+    merge(
+        flowOf(null), // kick an initial value
+        broadcastReceiverFlow(
+            IntentFilter(TelephonyManager.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED)
+        ),
+    ).map { SubscriptionManager.getDefaultVoiceSubscriptionId() }
+        .conflate().flowOn(Dispatchers.Default)
+
+private fun Context.defaultSmsSubscriptionFlow(): Flow<Int> =
+    merge(
+        flowOf(null), // kick an initial value
+        broadcastReceiverFlow(
+            IntentFilter(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED)
+        ),
+    ).map { SubscriptionManager.getDefaultSmsSubscriptionId() }
+        .conflate().flowOn(Dispatchers.Default)
+
+private class IsInServiceImpl(context: Context) {
+    private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+
+    fun isInService(subId: Int): Boolean {
+        if (!SubscriptionManager.isValidSubscriptionId(subId)) return false
+
+        val serviceState = telephonyManager.createForSubscriptionId(subId).serviceState
+        return Utils.isInService(serviceState)
+    }
+}
diff --git a/src/com/android/settings/network/NetworkProviderCallsSmsFragment.java b/src/com/android/settings/network/NetworkProviderCallsSmsFragment.java
index b5ad65a..ffe5b05 100644
--- a/src/com/android/settings/network/NetworkProviderCallsSmsFragment.java
+++ b/src/com/android/settings/network/NetworkProviderCallsSmsFragment.java
@@ -24,6 +24,7 @@
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.telephony.CallsDefaultSubscriptionController;
 import com.android.settings.network.telephony.NetworkProviderWifiCallingPreferenceController;
 import com.android.settings.network.telephony.SmsDefaultSubscriptionController;
@@ -91,8 +92,9 @@
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    return SubscriptionUtil.isSimHardwareVisible(context) &&
-                            context.getSystemService(UserManager.class).isAdminUser();
+                    return !Flags.isDualSimOnboardingEnabled()
+                            && SubscriptionUtil.isSimHardwareVisible(context)
+                            && context.getSystemService(UserManager.class).isAdminUser();
                 }
             };
 }
diff --git a/src/com/android/settings/network/NetworkProviderSettings.java b/src/com/android/settings/network/NetworkProviderSettings.java
index e285a91..bcf0d00 100644
--- a/src/com/android/settings/network/NetworkProviderSettings.java
+++ b/src/com/android/settings/network/NetworkProviderSettings.java
@@ -32,7 +32,6 @@
 import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
-import android.os.Handler;
 import android.os.PowerManager;
 import android.os.UserHandle;
 import android.os.UserManager;
@@ -40,7 +39,6 @@
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.EventLog;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.view.ContextMenu;
 import android.view.ContextMenu.ContextMenuInfo;
@@ -50,9 +48,11 @@
 import android.view.View;
 import android.widget.Toast;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
+import androidx.core.view.MenuProvider;
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
@@ -62,7 +62,6 @@
 import com.android.settings.AirplaneModeEnabler;
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.datausage.DataUsagePreference;
 import com.android.settings.datausage.DataUsageUtils;
@@ -74,7 +73,6 @@
 import com.android.settings.wifi.ConnectedWifiEntryPreference;
 import com.android.settings.wifi.LongPressWifiEntryPreference;
 import com.android.settings.wifi.WifiConfigUiBase2;
-import com.android.settings.wifi.WifiConnectListener;
 import com.android.settings.wifi.WifiDialog2;
 import com.android.settings.wifi.WifiPickerTrackerHelper;
 import com.android.settings.wifi.WifiUtils;
@@ -91,6 +89,7 @@
 import com.android.settingslib.widget.LayoutPreference;
 import com.android.settingslib.wifi.WifiEnterpriseRestrictionUtils;
 import com.android.settingslib.wifi.WifiSavedConfigUtils;
+import com.android.wifi.flags.Flags;
 import com.android.wifitrackerlib.WifiEntry;
 import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
 import com.android.wifitrackerlib.WifiPickerTracker;
@@ -138,6 +137,8 @@
     @VisibleForTesting
     static final String PREF_KEY_FIRST_ACCESS_POINTS = "first_access_points";
     private static final String PREF_KEY_ACCESS_POINTS = "access_points";
+    @VisibleForTesting
+    static final String PREF_KEY_ADD_WIFI_NETWORK = "add_wifi_network";
     private static final String PREF_KEY_CONFIGURE_NETWORK_SETTINGS = "configure_network_settings";
     private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks";
     @VisibleForTesting
@@ -174,10 +175,6 @@
     private static final String EXTRA_START_CONNECT_SSID = "wifi_start_connect_ssid";
     private String mOpenSsid;
 
-    private static boolean isVerboseLoggingEnabled() {
-        return WifiPickerTracker.isVerboseLoggingEnabled();
-    }
-
     private boolean mIsViewLoading;
     @VisibleForTesting
     final Runnable mRemoveLoadingRunnable = () -> {
@@ -187,11 +184,13 @@
         }
     };
 
-    private boolean mIsWifiEntryListStale = true;
     @VisibleForTesting
     final Runnable mUpdateWifiEntryPreferencesRunnable = () -> {
         updateWifiEntryPreferences();
-        getView().postDelayed(mRemoveLoadingRunnable, 10);
+        View view = getView();
+        if (view != null) {
+            view.postDelayed(mRemoveLoadingRunnable, 10);
+        }
     };
     @VisibleForTesting
     final Runnable mHideProgressBarRunnable = () -> {
@@ -199,9 +198,7 @@
     };
 
     protected WifiManager mWifiManager;
-    private WifiManager.ActionListener mConnectListener;
     private WifiManager.ActionListener mSaveListener;
-    private WifiManager.ActionListener mForgetListener;
 
     protected InternetResetHelper mInternetResetHelper;
 
@@ -249,6 +246,8 @@
     ConnectedEthernetNetworkController mConnectedEthernetNetworkController;
     @VisibleForTesting
     FooterPreference mWifiStatusMessagePreference;
+    @VisibleForTesting
+    MenuProvider mMenuProvider;
 
     /**
      * Mobile networks list for provider model
@@ -274,7 +273,7 @@
             return;
         }
 
-        setPinnedHeaderView(R.layout.progress_header);
+        setPinnedHeaderView(com.android.settingslib.widget.progressbar.R.layout.progress_header);
         setProgressBarVisible(false);
 
         if (hasWifiManager()) {
@@ -306,6 +305,44 @@
 
         mIsRestricted = isUiRestricted();
         updateUserType();
+
+        mMenuProvider = new MenuProvider() {
+            @Override
+            public void onCreateMenu(@NonNull Menu menu, @NonNull MenuInflater menuInflater) {
+                MenuItem fixConnectivityItem = menu.add(0, MENU_FIX_CONNECTIVITY, 0,
+                        R.string.fix_connectivity);
+                fixConnectivityItem.setIcon(R.drawable.ic_repair_24dp);
+                fixConnectivityItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
+            }
+
+            @Override
+            public boolean onMenuItemSelected(@NonNull MenuItem menuItem) {
+                if (menuItem.getItemId() == MENU_FIX_CONNECTIVITY) {
+                    if (isPhoneOnCall()) {
+                        showResetInternetDialog();
+                        return true;
+                    }
+                    fixConnectivity();
+                    return true;
+                }
+                return false;
+            }
+
+            @Override
+            public void onPrepareMenu(@NonNull Menu menu) {
+                MenuProvider.super.onPrepareMenu(menu);
+
+                boolean isWifiEnabled = mWifiPickerTracker != null
+                        && mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED;
+                boolean isAirplaneModeOn =
+                        mAirplaneModeEnabler != null && mAirplaneModeEnabler.isAirplaneModeOn();
+                MenuItem fixConnectivityItem = menu.findItem(MENU_FIX_CONNECTIVITY);
+                if (fixConnectivityItem == null) {
+                    return;
+                }
+                fixConnectivityItem.setVisible(!mIsGuest && (!isAirplaneModeOn || isWifiEnabled));
+            }
+        };
     }
 
     private void updateUserType() {
@@ -325,11 +362,14 @@
         mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS);
         mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_NETWORK_SETTINGS);
         mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
-        mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext());
+        mAddWifiNetworkPreference = findPreference(PREF_KEY_ADD_WIFI_NETWORK);
+        // Hide mAddWifiNetworkPreference by default. updateWifiEntryPreferences() will add it back
+        // later when appropriate.
+        mWifiEntryPreferenceCategory.removePreference(mAddWifiNetworkPreference);
         mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
         mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
         mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI)
-                        .build(), 0 /*subId*/, null /*service*/);
+                        .build(), 0 /*subId*/);
         mResetInternetPreference = findPreference(PREF_KEY_RESET_INTERNET);
         if (mResetInternetPreference != null) {
             mResetInternetPreference.setVisible(false);
@@ -407,8 +447,6 @@
         }
         mInternetUpdater = new InternetUpdater(getContext(), getSettingsLifecycle(), this);
 
-        mConnectListener = new WifiConnectListener(getActivity());
-
         mSaveListener = new WifiManager.ActionListener() {
             @Override
             public void onSuccess() {
@@ -425,23 +463,6 @@
             }
         };
 
-        mForgetListener = new WifiManager.ActionListener() {
-            @Override
-            public void onSuccess() {
-            }
-
-            @Override
-            public void onFailure(int reason) {
-                Activity activity = getActivity();
-                if (activity != null) {
-                    Toast.makeText(activity,
-                            R.string.wifi_failed_forget_message,
-                            Toast.LENGTH_SHORT).show();
-                }
-            }
-        };
-        setHasOptionsMenu(true);
-
         if (savedInstanceState != null) {
             mDialogMode = savedInstanceState.getInt(SAVE_DIALOG_MODE);
             mDialogWifiEntryKey = savedInstanceState.getString(SAVE_DIALOG_WIFIENTRY_KEY);
@@ -459,12 +480,13 @@
         if (mNetworkMobileProviderController != null) {
             mNetworkMobileProviderController.setWifiPickerTrackerHelper(mWifiPickerTrackerHelper);
         }
+
+        requireActivity().addMenuProvider(mMenuProvider);
     }
 
     @Override
     public void onAttach(Context context) {
         super.onAttach(context);
-
     }
 
     @Override
@@ -513,7 +535,6 @@
 
     @Override
     public void onStop() {
-        mIsWifiEntryListStale = true;
         getView().removeCallbacks(mRemoveLoadingRunnable);
         getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable);
         getView().removeCallbacks(mHideProgressBarRunnable);
@@ -767,15 +788,11 @@
 
     @Override
     public Dialog onCreateDialog(int dialogId) {
-        switch (dialogId) {
-            case WIFI_DIALOG_ID:
-                // modify network
-                mDialog = WifiDialog2
-                        .createModal(getActivity(), this, mDialogWifiEntry, mDialogMode);
-                return mDialog;
-            default:
-                return super.onCreateDialog(dialogId);
+        if (dialogId == WIFI_DIALOG_ID) {  // modify network
+            mDialog = new WifiDialog2(requireContext(), this, mDialogWifiEntry, mDialogMode);
+            return mDialog;
         }
+        return super.onCreateDialog(dialogId);
     }
 
     @Override
@@ -817,7 +834,7 @@
         }
         final int wifiState = mWifiPickerTracker.getWifiState();
 
-        if (isVerboseLoggingEnabled()) {
+        if (mWifiPickerTracker.isVerboseLoggingEnabled()) {
             Log.i(TAG, "onWifiStateChanged called with wifi state: " + wifiState);
         }
 
@@ -826,6 +843,11 @@
             return;
         }
 
+        if (isAdded()) {
+            // update the menu item
+            requireActivity().invalidateMenu();
+        }
+
         switch (wifiState) {
             case WifiManager.WIFI_STATE_ENABLED:
                 setWifiScanMessage(/* isWifiEnabled */ true);
@@ -854,6 +876,11 @@
         }
     }
 
+    @Override
+    public void onScanRequested() {
+        setProgressBarVisible(true);
+    }
+
     @VisibleForTesting
     void setWifiScanMessage(boolean isWifiEnabled) {
         final Context context = getContext();
@@ -884,12 +911,10 @@
     }
 
     @Override
-    public void onWifiEntriesChanged() {
-        if (mIsWifiEntryListStale) {
-            mIsWifiEntryListStale = false;
-            updateWifiEntryPreferences();
-        } else {
-            updateWifiEntryPreferencesDelayed();
+    public void onWifiEntriesChanged(@WifiPickerTracker.WifiEntriesChangedReason int reason) {
+        updateWifiEntryPreferences();
+        if (reason == WifiPickerTracker.WIFI_ENTRIES_CHANGED_REASON_SCAN_RESULTS) {
+            setProgressBarVisible(false);
         }
         changeNextButtonState(mWifiPickerTracker != null
                 && mWifiPickerTracker.getConnectedWifiEntry() != null);
@@ -926,24 +951,6 @@
         setAdditionalSettingsSummaries();
     }
 
-    /**
-     * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have
-     * progress bar displayed before starting to modify entries.
-     */
-    private void updateWifiEntryPreferencesDelayed() {
-        // Safeguard from some delayed event handling
-        if (getActivity() != null && !mIsRestricted && mWifiPickerTracker != null
-                && mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
-            final View view = getView();
-            final Handler handler = view.getHandler();
-            if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) {
-                return;
-            }
-            setProgressBarVisible(true);
-            view.postDelayed(mUpdateWifiEntryPreferencesRunnable, 300);
-        }
-    }
-
     protected void updateWifiEntryPreferences() {
         // bypass the update if the activity and the view are not ready, or it's restricted UI.
         if (getActivity() == null || getView() == null || mIsRestricted) {
@@ -1026,16 +1033,12 @@
         removeCachedPrefs(mWifiEntryPreferenceCategory);
 
         if (!hasAvailableWifiEntries) {
-            setProgressBarVisible(true);
             Preference pref = new Preference(getPrefContext());
             pref.setSelectable(false);
             pref.setSummary(R.string.wifi_empty_list_wifi_on);
             pref.setOrder(index++);
             pref.setKey(PREF_KEY_EMPTY_WIFI_LIST);
             mWifiEntryPreferenceCategory.addPreference(pref);
-        } else {
-            // Continuing showing progress bar for an additional delay to overlap with animation
-            getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */);
         }
 
         mAddWifiNetworkPreference.setOrder(index++);
@@ -1067,17 +1070,13 @@
     @VisibleForTesting
     void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) {
         final WifiEntry wifiEntry = pref.getWifiEntry();
-        final Context context = getContext();
-        final CharSequence title =
-                FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER)
-                        ? wifiEntry.getTitle()
-                        : context.getText(R.string.pref_title_network_details);
+        final Context context = requireContext();
 
         final Bundle bundle = new Bundle();
         bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
 
         new SubSettingLauncher(context)
-                .setTitleText(title)
+                .setTitleText(context.getText(R.string.pref_title_network_details))
                 .setDestination(WifiNetworkDetailsFragment.class.getName())
                 .setArguments(bundle)
                 .setSourceMetricsCategory(getMetricsCategory())
@@ -1259,8 +1258,20 @@
 
         // If it's an unsaved secure WifiEntry, it will callback
         // ConnectCallback#onConnectResult with ConnectCallback#CONNECT_STATUS_FAILURE_NO_CONFIG
-        wifiEntry.connect(new WifiEntryConnectCallback(wifiEntry, editIfNoConfig,
-                fullScreenEdit));
+        WifiEntryConnectCallback callback =
+                new WifiEntryConnectCallback(wifiEntry, editIfNoConfig, fullScreenEdit);
+
+        if (Flags.androidVWifiApi() && wifiEntry.getSecurityTypes()
+                .contains(WifiEntry.SECURITY_WEP)) {
+            WepNetworkDialogActivity.checkWepAllowed(
+                    getContext(), getViewLifecycleOwner(), wifiEntry.getSsid(), () -> {
+                        wifiEntry.connect(callback);
+                        return null;
+                    });
+            return;
+        }
+
+        wifiEntry.connect(callback);
     }
 
     private class WifiConnectActionListener implements WifiManager.ActionListener {
@@ -1312,6 +1323,9 @@
             if (WifiSavedConfigUtils.getAllConfigsCount(context, wifiManager) == 0) {
                 keys.add(PREF_KEY_SAVED_NETWORKS);
             }
+            if (wifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
+                keys.add(PREF_KEY_ADD_WIFI_NETWORK);
+            }
 
             if (!DataUsageUtils.hasWifiRadio(context)) {
                 keys.add(PREF_KEY_DATA_USAGE);
@@ -1417,29 +1431,6 @@
         return HelpUtils.getHelpIntent(context, helpUrlString, context.getClass().getName());
     }
 
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (!mIsGuest && !mAirplaneModeEnabler.isAirplaneModeOn()) {
-            MenuItem item = menu.add(0, MENU_FIX_CONNECTIVITY, 0, R.string.fix_connectivity);
-            item.setIcon(R.drawable.ic_repair_24dp);
-            item.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
-        }
-        super.onCreateOptionsMenu(menu, inflater);
-    }
-
-    @Override
-    public boolean onOptionsItemSelected(MenuItem menuItem) {
-        if (menuItem.getItemId() == MENU_FIX_CONNECTIVITY) {
-            if (isPhoneOnCall()) {
-                showResetInternetDialog();
-                return true;
-            }
-            fixConnectivity();
-            return true;
-        }
-        return super.onOptionsItemSelected(menuItem);
-    }
-
     @VisibleForTesting
     void showResetInternetDialog() {
         AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
@@ -1482,6 +1473,10 @@
     @Override
     public void onAirplaneModeChanged(boolean isAirplaneModeOn) {
         updateAirplaneModeMsgPreference(isAirplaneModeOn /* visible */);
+        if (isAdded()) {
+            // update the menu item
+            requireActivity().invalidateMenu();
+        }
     }
 
     /**
diff --git a/src/com/android/settings/network/NetworkProviderSimListController.java b/src/com/android/settings/network/NetworkProviderSimListController.java
index 89cb73c..02b1980 100644
--- a/src/com/android/settings/network/NetworkProviderSimListController.java
+++ b/src/com/android/settings/network/NetworkProviderSimListController.java
@@ -16,69 +16,60 @@
 
 package com.android.settings.network;
 
-import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
-import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
-
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.telephony.SubscriptionManager;
 import android.util.ArrayMap;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
+import androidx.lifecycle.DefaultLifecycleObserver;
 import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
 import com.android.settings.network.telephony.MobileNetworkUtils;
 import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
 
-public class NetworkProviderSimListController extends AbstractPreferenceController implements
-        LifecycleObserver, MobileNetworkRepository.MobileNetworkCallback,
+public class NetworkProviderSimListController extends BasePreferenceController implements
+        DefaultLifecycleObserver, MobileNetworkRepository.MobileNetworkCallback,
         DefaultSubscriptionReceiver.DefaultSubscriptionListener {
-    private static final String TAG = "NetworkProviderSimListCtrl";
-    private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
-    private static final String KEY_PREFERENCE_SIM = "provider_model_sim_list";
 
-    private SubscriptionManager mSubscriptionManager;
+    private final SubscriptionManager mSubscriptionManager;
+    @Nullable
     private PreferenceCategory mPreferenceCategory;
     private Map<Integer, RestrictedPreference> mPreferences;
-    private LifecycleOwner mLifecycleOwner;
-    private MobileNetworkRepository mMobileNetworkRepository;
+    private final MobileNetworkRepository mMobileNetworkRepository;
     private List<SubscriptionInfoEntity> mSubInfoEntityList = new ArrayList<>();
-    private DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
+    private final DefaultSubscriptionReceiver mDataSubscriptionChangedReceiver;
 
-    public NetworkProviderSimListController(Context context, Lifecycle lifecycle,
-            LifecycleOwner lifecycleOwner) {
-        super(context);
+    public NetworkProviderSimListController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mPreferences = new ArrayMap<>();
-        mLifecycleOwner = lifecycleOwner;
         mMobileNetworkRepository = MobileNetworkRepository.getInstance(context);
         mDataSubscriptionChangedReceiver = new DefaultSubscriptionReceiver(context, this);
-        lifecycle.addObserver(this);
     }
 
-    @OnLifecycleEvent(ON_RESUME)
-    public void onResume() {
-        mMobileNetworkRepository.addRegister(mLifecycleOwner, this,
+    @Override
+    public void onResume(@NonNull LifecycleOwner owner) {
+        mMobileNetworkRepository.addRegister(owner, this,
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
         mMobileNetworkRepository.updateEntity();
         mDataSubscriptionChangedReceiver.registerReceiver();
     }
 
-    @OnLifecycleEvent(ON_PAUSE)
-    public void onPause() {
+    @Override
+    public void onPause(@NonNull LifecycleOwner owner) {
         mMobileNetworkRepository.removeRegister(this);
         mDataSubscriptionChangedReceiver.unRegisterReceiver();
     }
@@ -86,7 +77,7 @@
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
-        mPreferenceCategory = screen.findPreference(KEY_PREFERENCE_CATEGORY_SIM);
+        mPreferenceCategory = screen.findPreference(getPreferenceKey());
         update();
     }
 
@@ -154,31 +145,22 @@
     }
 
     @Override
-    public boolean isAvailable() {
-        if (!getAvailablePhysicalSubscriptions().isEmpty()) {
-            return true;
-        }
-        return false;
+    public int getAvailabilityStatus() {
+        return getAvailablePhysicalSubscriptions().isEmpty()
+                ? CONDITIONALLY_UNAVAILABLE : AVAILABLE;
     }
 
     @VisibleForTesting
     protected List<SubscriptionInfoEntity> getAvailablePhysicalSubscriptions() {
-        List<SubscriptionInfoEntity> subList = new ArrayList<>();
-        for (SubscriptionInfoEntity info : mSubInfoEntityList) {
-            subList.add(info);
-        }
-        return subList;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_PREFERENCE_SIM;
+        return new ArrayList<>(mSubInfoEntityList);
     }
 
     @Override
     public void onAvailableSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
         mSubInfoEntityList = subInfoEntityList;
-        mPreferenceCategory.setVisible(isAvailable());
+        if (mPreferenceCategory != null) {
+            mPreferenceCategory.setVisible(isAvailable());
+        }
         update();
     }
 
diff --git a/src/com/android/settings/network/NetworkProviderSimsCategoryController.java b/src/com/android/settings/network/NetworkProviderSimsCategoryController.java
deleted file mode 100644
index f983e62..0000000
--- a/src/com/android/settings/network/NetworkProviderSimsCategoryController.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.network;
-
-import android.content.Context;
-import android.util.Log;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.widget.PreferenceCategoryController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-
-public class NetworkProviderSimsCategoryController extends PreferenceCategoryController implements
-        LifecycleObserver {
-    private static final String LOG_TAG = "NetworkProviderSimsCategoryController";
-    private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
-    private NetworkProviderSimListController mNetworkProviderSimListController;
-    private PreferenceCategory mPreferenceCategory;
-
-    public NetworkProviderSimsCategoryController(Context context, String key, Lifecycle lifecycle,
-            LifecycleOwner lifecycleOwner) {
-        super(context, key);
-        mNetworkProviderSimListController =
-                new NetworkProviderSimListController(mContext, lifecycle, lifecycleOwner);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        if (mNetworkProviderSimListController == null
-                || !mNetworkProviderSimListController.isAvailable()) {
-            return CONDITIONALLY_UNAVAILABLE;
-        } else {
-            return AVAILABLE;
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mNetworkProviderSimListController.displayPreference(screen);
-        mPreferenceCategory = screen.findPreference(KEY_PREFERENCE_CATEGORY_SIM);
-        if (mPreferenceCategory == null) {
-            Log.d(LOG_TAG, "displayPreference(), Can not find the category.");
-            return;
-        }
-        mPreferenceCategory.setVisible(isAvailable());
-    }
-}
diff --git a/src/com/android/settings/network/OWNERS b/src/com/android/settings/network/OWNERS
index ee5b494..a63a825 100644
--- a/src/com/android/settings/network/OWNERS
+++ b/src/com/android/settings/network/OWNERS
@@ -3,7 +3,6 @@
 andychou@google.com
 bonianchen@google.com
 changbetty@google.com
-goldmanj@google.com
 leechou@google.com
 songferngwang@google.com
 tomhsu@google.com
diff --git a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
index 5c7c54e..3b99777 100644
--- a/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
+++ b/src/com/android/settings/network/PrivateDnsModeDialogPreference.java
@@ -155,12 +155,13 @@
 
         // Initial radio button text
         final RadioButton offRadioButton = view.findViewById(R.id.private_dns_mode_off);
-        offRadioButton.setText(R.string.private_dns_mode_off);
+        offRadioButton.setText(com.android.settingslib.R.string.private_dns_mode_off);
         final RadioButton opportunisticRadioButton =
                 view.findViewById(R.id.private_dns_mode_opportunistic);
-        opportunisticRadioButton.setText(R.string.private_dns_mode_opportunistic);
+        opportunisticRadioButton.setText(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic);
         final RadioButton providerRadioButton = view.findViewById(R.id.private_dns_mode_provider);
-        providerRadioButton.setText(R.string.private_dns_mode_provider);
+        providerRadioButton.setText(com.android.settingslib.R.string.private_dns_mode_provider);
 
         final TextView helpTextView = view.findViewById(R.id.private_dns_help_info);
         helpTextView.setMovementMethod(LinkMovementMethod.getInstance());
@@ -187,7 +188,7 @@
                         mEditText.getText().toString());
             }
 
-            FeatureFactory.getFactory(context).getMetricsFeatureProvider().action(context,
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(context,
                     SettingsEnums.ACTION_PRIVATE_DNS_MODE, mMode);
             ConnectivitySettingsManager.setPrivateDnsMode(context, mMode);
         }
diff --git a/src/com/android/settings/network/PrivateDnsPreferenceController.java b/src/com/android/settings/network/PrivateDnsPreferenceController.java
index 4f727b1..21e4926 100644
--- a/src/com/android/settings/network/PrivateDnsPreferenceController.java
+++ b/src/com/android/settings/network/PrivateDnsPreferenceController.java
@@ -128,14 +128,16 @@
         final boolean dnsesResolved = !ArrayUtils.isEmpty(dnses);
         switch (mode) {
             case PRIVATE_DNS_MODE_OFF:
-                return res.getString(R.string.private_dns_mode_off);
+                return res.getString(com.android.settingslib.R.string.private_dns_mode_off);
             case PRIVATE_DNS_MODE_OPPORTUNISTIC:
                 return dnsesResolved ? res.getString(R.string.private_dns_mode_on)
-                        : res.getString(R.string.private_dns_mode_opportunistic);
+                        : res.getString(
+                                com.android.settingslib.R.string.private_dns_mode_opportunistic);
             case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
                 return dnsesResolved
                         ? PrivateDnsModeDialogPreference.getHostnameFromSettings(cr)
-                        : res.getString(R.string.private_dns_mode_provider_failure);
+                        : res.getString(
+                                com.android.settingslib.R.string.private_dns_mode_provider_failure);
         }
         return "";
     }
diff --git a/src/com/android/settings/network/ProviderModelSliceHelper.java b/src/com/android/settings/network/ProviderModelSliceHelper.java
index e0d1eb1..686990b 100644
--- a/src/com/android/settings/network/ProviderModelSliceHelper.java
+++ b/src/com/android/settings/network/ProviderModelSliceHelper.java
@@ -15,6 +15,7 @@
  */
 package com.android.settings.network;
 
+import static com.android.settings.network.MobileIconGroupExtKt.maybeToHtml;
 import static com.android.settings.network.telephony.MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
 
 import android.app.PendingIntent;
@@ -31,7 +32,6 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.Html;
 import android.text.TextUtils;
 import android.util.Log;
 
@@ -176,7 +176,7 @@
 
     protected ListBuilder.RowBuilder createCarrierRow(String networkTypeDescription) {
         final String title = getMobileTitle();
-        final String summary = getMobileSummary(networkTypeDescription);
+        final CharSequence summary = getMobileSummary(networkTypeDescription);
         Drawable drawable = mContext.getDrawable(
                 R.drawable.ic_signal_strength_zero_bar_no_internet);
         try {
@@ -195,7 +195,7 @@
                 .setTitleItem(levelIcon, ListBuilder.ICON_IMAGE)
                 .addEndItem(toggleAction)
                 .setPrimaryAction(primaryAction)
-                .setSubtitle(Html.fromHtml(summary, Html.FROM_HTML_MODE_LEGACY));
+                .setSubtitle(summary);
         return rowBuilder;
     }
 
@@ -255,7 +255,7 @@
         return drawable;
     }
 
-    private String getMobileSummary(String networkTypeDescription) {
+    private CharSequence getMobileSummary(String networkTypeDescription) {
         if (!isMobileDataEnabled()) {
             return mContext.getString(R.string.mobile_data_off_summary);
         }
@@ -268,7 +268,7 @@
                     mContext.getString(R.string.mobile_data_connection_active),
                     networkTypeDescription);
         }
-        return summary;
+        return maybeToHtml(summary);
     }
 
     protected String getMobileTitle() {
diff --git a/src/com/android/settings/network/ProxyPreferenceController.java b/src/com/android/settings/network/ProxyPreferenceController.java
deleted file mode 100644
index 8f26bfb..0000000
--- a/src/com/android/settings/network/ProxyPreferenceController.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.network;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.core.AbstractPreferenceController;
-
-public class ProxyPreferenceController extends AbstractPreferenceController
-        implements PreferenceControllerMixin {
-
-    private static final String KEY_PROXY_SETTINGS = "proxy_settings";
-
-    public ProxyPreferenceController(Context context) {
-        super(context);
-    }
-
-    @Override
-    public boolean isAvailable() {
-        // proxy UI disabled until we have better app support
-        return false;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        // Enable Proxy selector settings if allowed.
-        final Preference pref = screen.findPreference(KEY_PROXY_SETTINGS);
-        if (pref != null) {
-            final DevicePolicyManager dpm = (DevicePolicyManager)
-                    mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
-            pref.setEnabled(dpm.getGlobalProxyAdmin() == null);
-        }
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_PROXY_SETTINGS;
-    }
-}
diff --git a/src/com/android/settings/network/ProxySubscriptionManager.java b/src/com/android/settings/network/ProxySubscriptionManager.java
index 51fafb1..7e276e8 100644
--- a/src/com/android/settings/network/ProxySubscriptionManager.java
+++ b/src/com/android/settings/network/ProxySubscriptionManager.java
@@ -20,7 +20,6 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.os.Looper;
 import android.provider.Settings;
@@ -29,6 +28,7 @@
 import android.util.Log;
 
 import androidx.annotation.Keep;
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleObserver;
diff --git a/src/com/android/settings/network/ResetNetworkOperationBuilder.java b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
index 3583d06..ac07897 100644
--- a/src/com/android/settings/network/ResetNetworkOperationBuilder.java
+++ b/src/com/android/settings/network/ResetNetworkOperationBuilder.java
@@ -33,6 +33,9 @@
 import android.telephony.TelephonyManager;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.ResetNetworkRequest;
 import com.android.settings.network.apn.ApnSettings;
 
 import java.util.ArrayList;
@@ -49,6 +52,13 @@
 
     private static final boolean DRY_RUN = false;
 
+    // TelephonyContentProvider method to restart phone process
+    @VisibleForTesting
+    static final String METHOD_RESTART_PHONE_PROCESS = "restartPhoneProcess";
+    // TelephonyContentProvider method to restart RILD
+    @VisibleForTesting
+    static final String METHOD_RESTART_RILD = "restartRild";
+
     private Context mContext;
     private List<Runnable> mResetSequence = new ArrayList<Runnable>();
 
@@ -213,6 +223,72 @@
     }
 
     /**
+     * Append a step of resetting IMS stack.
+     *
+     * @return this
+     */
+    public ResetNetworkOperationBuilder resetIms(int subId) {
+        attachSystemServiceWork(Context.TELEPHONY_SERVICE,
+                (Consumer<TelephonyManager>) tm -> {
+                    if (subId == ResetNetworkRequest.INVALID_SUBSCRIPTION_ID) {
+                        // Do nothing
+                        return;
+                    }
+                    if (subId == ResetNetworkRequest.ALL_SUBSCRIPTION_ID) {
+                        // Reset IMS for all slots
+                        for (int slotIndex = 0; slotIndex < tm.getActiveModemCount(); slotIndex++) {
+                            tm.resetIms(slotIndex);
+                            Log.i(TAG, "IMS was reset for slot " + slotIndex);
+                        }
+                    } else {
+                        // Reset IMS for the slot specified by the sucriptionId.
+                        final int slotIndex = SubscriptionManager.getSlotIndex(subId);
+                        tm.resetIms(slotIndex);
+                        Log.i(TAG, "IMS was reset for slot " + slotIndex);
+                    }
+                });
+        return this;
+    }
+
+    /**
+     * Append a step to restart phone process by the help of TelephonyContentProvider.
+     * It's a no-op if TelephonyContentProvider doesn't exist.
+     * @return this
+     */
+    public ResetNetworkOperationBuilder restartPhoneProcess() {
+        try {
+            mContext.getContentResolver().call(
+                    getResetTelephonyContentProviderAuthority(),
+                    METHOD_RESTART_PHONE_PROCESS,
+                    /* arg= */ null,
+                    /* extras= */ null);
+            Log.i(TAG, "Phone process was restarted.");
+        } catch (IllegalArgumentException iae) {
+            Log.w(TAG, "Fail to restart phone process: " + iae);
+        }
+        return this;
+    }
+
+    /**
+     * Append a step to restart RILD by the help of TelephonyContentProvider.
+     * It's a no-op if TelephonyContentProvider doesn't exist.
+     * @return this
+     */
+    public ResetNetworkOperationBuilder restartRild() {
+        try {
+            mContext.getContentResolver().call(
+                    getResetTelephonyContentProviderAuthority(),
+                    METHOD_RESTART_RILD,
+                    /* arg= */ null,
+                    /* extras= */ null);
+            Log.i(TAG, "RILD was restarted.");
+        } catch (IllegalArgumentException iae) {
+            Log.w(TAG, "Fail to restart RILD: " + iae);
+        }
+        return this;
+    }
+
+    /**
      * Construct a Runnable containing all operations appended.
      * @return Runnable
      */
@@ -235,4 +311,14 @@
         };
         mResetSequence.add(runnable);
     }
+
+    /**
+     * @return the authority of the telephony content provider that support methods
+     * resetPhoneProcess and resetRild.
+     */
+    @VisibleForTesting
+    String getResetTelephonyContentProviderAuthority() {
+        return mContext.getResources().getString(
+                R.string.reset_telephony_stack_content_provider_authority);
+    }
 }
diff --git a/src/com/android/settings/network/SimOnboardingActivity.kt b/src/com/android/settings/network/SimOnboardingActivity.kt
new file mode 100644
index 0000000..abeeb6c
--- /dev/null
+++ b/src/com/android/settings/network/SimOnboardingActivity.kt
@@ -0,0 +1,454 @@
+/*
+ * 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.app.ProgressDialog
+import android.content.Context
+import android.content.Intent
+import android.os.Bundle
+import android.telephony.SubscriptionManager
+import android.util.Log
+import androidx.activity.compose.setContent
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.Row
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.foundation.layout.size
+import androidx.compose.foundation.layout.width
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.SignalCellularAlt
+import androidx.compose.material3.AlertDialogDefaults
+import androidx.compose.material3.BasicAlertDialog
+import androidx.compose.material3.Button
+import androidx.compose.material3.CircularProgressIndicator
+import androidx.compose.material3.ExperimentalMaterial3Api
+import androidx.compose.material3.Icon
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.ModalBottomSheet
+import androidx.compose.material3.SheetState
+import androidx.compose.material3.Surface
+import androidx.compose.material3.Text
+import androidx.compose.material3.rememberModalBottomSheetState
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.MutableState
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.ui.Alignment
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalLifecycleOwner
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.text.style.TextAlign
+import androidx.compose.ui.text.style.TextOverflow
+import com.android.settings.R
+import com.android.settings.SidecarFragment
+import com.android.settings.network.telephony.SubscriptionActionDialogActivity
+import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+import com.android.settings.spa.network.SimOnboardingPageProvider.getRoute
+import com.android.settingslib.spa.SpaBaseDialogActivity
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spa.widget.dialog.getDialogWidth
+import com.android.settingslib.spa.widget.ui.SettingsTitle
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import kotlinx.coroutines.CoroutineScope
+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.launch
+
+class SimOnboardingActivity : SpaBaseDialogActivity() {
+    lateinit var scope: CoroutineScope
+    lateinit var showBottomSheet: MutableState<Boolean>
+    lateinit var showError: MutableState<Boolean>
+    lateinit var showDialog: MutableState<Boolean>
+
+    private var switchToEuiccSubscriptionSidecar: SwitchToEuiccSubscriptionSidecar? = null
+    private var switchToRemovableSlotSidecar: SwitchToRemovableSlotSidecar? = null
+    private var enableMultiSimSidecar: EnableMultiSimSidecar? = null
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        if (!this.userManager.isAdminUser) {
+            Log.e(TAG, "It is not the admin user. Unable to toggle subscription.")
+            finish()
+            return
+        }
+
+        var targetSubId = intent.getIntExtra(SUB_ID,SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        initServiceData(this, targetSubId, callbackListener)
+        if (!onboardingService.isUsableTargetSubscriptionId) {
+            Log.e(TAG, "The subscription id is not usable.")
+            finish()
+            return
+        }
+
+        switchToEuiccSubscriptionSidecar = SwitchToEuiccSubscriptionSidecar.get(fragmentManager)
+        switchToRemovableSlotSidecar = SwitchToRemovableSlotSidecar.get(fragmentManager)
+        enableMultiSimSidecar = EnableMultiSimSidecar.get(fragmentManager)
+
+        setContent {
+            Content()
+        }
+    }
+
+    override fun finish() {
+        setProgressDialog(false)
+        onboardingService.clear()
+        super.finish()
+    }
+
+    var callbackListener: (Int) -> Unit = {
+        Log.d(TAG, "Receive the CALLBACK: $it")
+        when (it) {
+            CALLBACK_ERROR -> {
+                setProgressDialog(false)
+                showError.value = true
+            }
+
+            CALLBACK_ONBOARDING_COMPLETE -> {
+                showBottomSheet.value = false
+                setProgressDialog(true)
+                scope.launch {
+                    // TODO: refactor the Sidecar
+                    // start to activate the sim
+                    startSimSwitching()
+                }
+            }
+
+            CALLBACK_SETUP_NAME -> {
+                scope.launch {
+                    onboardingService.startSetupName()
+                }
+            }
+
+            CALLBACK_SETUP_PRIMARY_SIM -> {
+                scope.launch {
+                    onboardingService.startSetupPrimarySim(this@SimOnboardingActivity)
+                }
+            }
+
+            CALLBACK_FINISH -> {
+                finish()
+            }
+        }
+    }
+
+    fun setProgressDialog(enable: Boolean) {
+        showDialog.value = enable
+        val progressState = if (enable) {
+            SubscriptionActionDialogActivity.PROGRESS_IS_SHOWING
+        } else {
+            SubscriptionActionDialogActivity.PROGRESS_IS_NOT_SHOWING
+        }
+        setProgressState(progressState)
+    }
+
+    @OptIn(ExperimentalMaterial3Api::class)
+    @Composable
+    override fun Content() {
+        showBottomSheet = remember { mutableStateOf(true) }
+        showError = remember { mutableStateOf(false) }
+        showDialog = remember { mutableStateOf(false) }
+        scope = rememberCoroutineScope()
+
+        registerSidecarReceiverFlow()
+
+        if(showError.value){
+            // show error
+            return
+        }
+
+        if (showBottomSheet.value) {
+            var sheetState = rememberModalBottomSheetState()
+            BottomSheetImpl(
+                sheetState = sheetState,
+                nextAction = {
+                    // TODO: if the phone is SS mode and the isDsdsConditionSatisfied is true, then
+                    //  enable the DSDS mode.
+                    //  case#1: the device need the reboot after enabling DSDS. Showing the confirm
+                    //          dialog to user whether reboot device or not.
+                    //  case#2: The device don't need the reboot. Enabling DSDS and then showing
+                    //          the SIM onboarding UI.
+
+                    // case#2
+                    val route = getRoute(onboardingService.targetSubId)
+                    startSpaActivity(route)
+                },
+                cancelAction = { finish() },
+            )
+        } else {
+            ProgressDialogImpl()
+        }
+    }
+
+    @OptIn(ExperimentalMaterial3Api::class)
+    @Composable
+    fun ProgressDialogImpl() {
+        if(showDialog.value) {
+            // TODO: Create the SPA's ProgressDialog and using SPA's widget
+            BasicAlertDialog(
+                onDismissRequest = {},
+                modifier = Modifier.width(
+                    getDialogWidth()
+                ),
+            ) {
+                Surface(
+                    color = AlertDialogDefaults.containerColor,
+                    shape = AlertDialogDefaults.shape
+                ) {
+                    Row(
+                        modifier = Modifier
+                            .fillMaxWidth()
+                            .padding(SettingsDimension.itemPaddingStart),
+                        verticalAlignment = Alignment.CenterVertically
+                    ) {
+                        CircularProgressIndicator()
+                        Column(modifier = Modifier
+                                .padding(start = SettingsDimension.itemPaddingStart)) {
+                            SettingsTitle(
+                                stringResource(
+                                    R.string.sim_onboarding_progressbar_turning_sim_on,
+                                    onboardingService.targetSubInfo?.displayName ?: ""
+                                )
+                            )
+                        }
+                    }
+                }
+            }
+        }
+    }
+
+    @Composable
+    fun registerSidecarReceiverFlow(){
+        switchToEuiccSubscriptionSidecar?.sidecarReceiverFlow()
+            ?.collectLatestWithLifecycle(LocalLifecycleOwner.current) {
+                onStateChange(it)
+            }
+        switchToRemovableSlotSidecar?.sidecarReceiverFlow()
+            ?.collectLatestWithLifecycle(LocalLifecycleOwner.current) {
+                onStateChange(it)
+            }
+        enableMultiSimSidecar?.sidecarReceiverFlow()
+            ?.collectLatestWithLifecycle(LocalLifecycleOwner.current) {
+                onStateChange(it)
+            }
+    }
+
+    fun SidecarFragment.sidecarReceiverFlow(): Flow<SidecarFragment> = callbackFlow {
+        val broadcastReceiver = SidecarFragment.Listener {
+            Log.d(TAG, "onReceive: $it")
+            trySend(it)
+        }
+        addListener(broadcastReceiver)
+
+        awaitClose { removeListener(broadcastReceiver) }
+    }.catch { e ->
+        Log.e(TAG, "Error while sidecarReceiverFlow", e)
+    }.conflate()
+
+    fun startSimSwitching(){
+        Log.d(TAG, "startSimSwitching:")
+
+        var targetSubInfo = onboardingService.targetSubInfo
+        targetSubInfo?.let {
+            var removedSubInfo = onboardingService.getRemovedSim()
+            if (targetSubInfo.isEmbedded) {
+                switchToEuiccSubscriptionSidecar!!.run(
+                    targetSubInfo.subscriptionId,
+                    UiccSlotUtil.INVALID_PORT_ID,
+                    removedSubInfo
+                )
+                return@let
+            }
+            switchToRemovableSlotSidecar!!.run(
+                UiccSlotUtil.INVALID_PHYSICAL_SLOT_ID,
+                removedSubInfo
+            )
+        } ?: run {
+            Log.e(TAG, "no target subInfo in onboardingService")
+            finish()
+        }
+    }
+
+    fun onStateChange(fragment: SidecarFragment?) {
+        if (fragment === switchToEuiccSubscriptionSidecar) {
+            handleSwitchToEuiccSubscriptionSidecarStateChange()
+        } else if (fragment === switchToRemovableSlotSidecar) {
+            handleSwitchToRemovableSlotSidecarStateChange()
+        } else if (fragment === enableMultiSimSidecar) {
+            handleEnableMultiSimSidecarStateChange()
+        }
+    }
+
+    fun handleSwitchToEuiccSubscriptionSidecarStateChange() {
+        when (switchToEuiccSubscriptionSidecar!!.state) {
+            SidecarFragment.State.SUCCESS -> {
+                Log.i(TAG, "Successfully enable the eSIM profile.")
+                switchToEuiccSubscriptionSidecar!!.reset()
+                callbackListener(CALLBACK_SETUP_NAME)
+            }
+
+            SidecarFragment.State.ERROR -> {
+                Log.i(TAG, "Failed to enable the eSIM profile.")
+                switchToEuiccSubscriptionSidecar!!.reset()
+                callbackListener(CALLBACK_ERROR)
+                // TODO: showErrorDialog and using privileged_action_disable_fail_title and
+                //       privileged_action_disable_fail_text
+            }
+        }
+    }
+
+    fun handleSwitchToRemovableSlotSidecarStateChange() {
+        when (switchToRemovableSlotSidecar!!.state) {
+            SidecarFragment.State.SUCCESS -> {
+                Log.i(TAG, "Successfully switched to removable slot.")
+                switchToRemovableSlotSidecar!!.reset()
+                onboardingService.handleTogglePsimAction()
+                callbackListener(CALLBACK_SETUP_NAME)
+            }
+
+            SidecarFragment.State.ERROR -> {
+                Log.e(TAG, "Failed switching to removable slot.")
+                switchToRemovableSlotSidecar!!.reset()
+                callbackListener(CALLBACK_ERROR)
+                // TODO: showErrorDialog and using sim_action_enable_sim_fail_title and
+                //       sim_action_enable_sim_fail_text
+            }
+        }
+    }
+
+    fun handleEnableMultiSimSidecarStateChange() {
+        when (enableMultiSimSidecar!!.state) {
+            SidecarFragment.State.SUCCESS -> {
+                enableMultiSimSidecar!!.reset()
+                Log.i(TAG, "Successfully switched to DSDS without reboot.")
+                handleEnableSubscriptionAfterEnablingDsds()
+            }
+
+            SidecarFragment.State.ERROR -> {
+                enableMultiSimSidecar!!.reset()
+                Log.i(TAG, "Failed to switch to DSDS without rebooting.")
+                callbackListener(CALLBACK_ERROR)
+                // TODO: showErrorDialog and using dsds_activation_failure_title and
+                //       dsds_activation_failure_body_msg2
+            }
+        }
+    }
+
+    fun handleEnableSubscriptionAfterEnablingDsds() {
+        var targetSubInfo = onboardingService.targetSubInfo
+        if (targetSubInfo?.isEmbedded == true) {
+            Log.i(TAG,
+                    "DSDS enabled, start to enable profile: " + targetSubInfo.getSubscriptionId()
+            )
+            // For eSIM operations, we simply switch to the selected eSIM profile.
+            switchToEuiccSubscriptionSidecar!!.run(
+                targetSubInfo.subscriptionId,
+                UiccSlotUtil.INVALID_PORT_ID,
+                null
+            )
+            return
+        }
+        Log.i(TAG, "DSDS enabled, start to enable pSIM profile.")
+        onboardingService.handleTogglePsimAction()
+        callbackListener(CALLBACK_FINISH)
+    }
+
+    @Composable
+    fun BottomSheetBody(nextAction: () -> Unit) {
+        Column(horizontalAlignment = Alignment.CenterHorizontally, modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical)) {
+            Icon(
+                imageVector = Icons.Outlined.SignalCellularAlt,
+                contentDescription = null,
+                modifier = Modifier
+                    .size(SettingsDimension.iconLarge),
+                tint = MaterialTheme.colorScheme.primary,
+            )
+            SettingsTitle(stringResource(R.string.sim_onboarding_bottomsheets_title))
+            Column(Modifier.padding(SettingsDimension.itemPadding)) {
+                Text(
+                    text = stringResource(R.string.sim_onboarding_bottomsheets_msg),
+                    color = MaterialTheme.colorScheme.onSurfaceVariant,
+                    style = MaterialTheme.typography.bodyMedium,
+                    overflow = TextOverflow.Ellipsis,
+                    textAlign = TextAlign.Center
+                )
+            }
+            Button(onClick = nextAction) {
+                Text(stringResource(R.string.sim_onboarding_setup))
+            }
+        }
+    }
+
+    @OptIn(ExperimentalMaterial3Api::class)
+    @Composable
+    fun BottomSheetImpl(
+        sheetState: SheetState,
+        nextAction: () -> Unit,
+        cancelAction: () -> Unit,
+    ) {
+        ModalBottomSheet(
+            onDismissRequest = cancelAction,
+            sheetState = sheetState,
+        ) {
+            BottomSheetBody(nextAction = nextAction)
+        }
+        LaunchedEffect(Unit) {
+            sheetState.show()
+        }
+    }
+
+    fun setProgressState(state: Int) {
+        val prefs = getSharedPreferences(
+            SubscriptionActionDialogActivity.SIM_ACTION_DIALOG_PREFS,
+            MODE_PRIVATE
+        )
+        prefs.edit().putInt(SubscriptionActionDialogActivity.KEY_PROGRESS_STATE, state).apply()
+        Log.i(TAG, "setProgressState:$state")
+    }
+
+    fun initServiceData(context: Context,targetSubId: Int, callback:(Int)->Unit) {
+        onboardingService.initData(targetSubId, context,callback)
+    }
+
+    companion object {
+        @JvmStatic
+        fun startSimOnboardingActivity(
+            context: Context,
+            subId: Int,
+        ) {
+            val intent = Intent(context, SimOnboardingActivity::class.java).apply {
+                putExtra(SUB_ID, subId)
+            }
+            context.startActivity(intent)
+        }
+
+        var onboardingService:SimOnboardingService = SimOnboardingService()
+        const val TAG = "SimOnboardingActivity"
+        const val SUB_ID = "sub_id"
+        const val CALLBACK_ERROR = -1
+        const val CALLBACK_ONBOARDING_COMPLETE = 1
+        const val CALLBACK_SETUP_NAME = 2
+        const val CALLBACK_SETUP_PRIMARY_SIM = 3
+        const val CALLBACK_FINISH = 4
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/network/SimOnboardingService.kt b/src/com/android/settings/network/SimOnboardingService.kt
new file mode 100644
index 0000000..f33abf6
--- /dev/null
+++ b/src/com/android/settings/network/SimOnboardingService.kt
@@ -0,0 +1,296 @@
+/*
+ * 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.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.UiccCardInfo
+import android.telephony.UiccSlotInfo
+import android.util.Log
+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
+import com.android.settingslib.utils.ThreadUtils
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
+
+
+private const val TAG = "SimOnboardingService"
+private const val INVALID = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+
+class SimOnboardingService {
+    var subscriptionManager:SubscriptionManager? = null
+    var telephonyManager:TelephonyManager? = null
+
+    var targetSubId: Int = INVALID
+    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 = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    var targetPrimarySimTexts: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    var targetPrimarySimMobileData: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    var targetPrimarySimAutoDataSwitch: Boolean = false
+    var targetNonDds: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+        get() {
+            if(targetPrimarySimMobileData == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+                Log.w(TAG, "No DDS")
+                return SubscriptionManager.INVALID_SUBSCRIPTION_ID
+            }
+            return userSelectedSubInfoList
+                .filter { info -> info.subscriptionId != targetPrimarySimMobileData }
+                .map { it.subscriptionId }
+                .firstOrNull() ?: SubscriptionManager.INVALID_SUBSCRIPTION_ID
+        }
+    var callback: (Int) -> Unit = {}
+
+    var isMultipleEnabledProfilesSupported: Boolean = false
+        get() {
+            if (uiccCardInfoList.isEmpty()) {
+                Log.w(TAG, "UICC cards info list is empty.")
+                return false
+            }
+            return  uiccCardInfoList.any { it.isMultipleEnabledProfilesSupported }
+        }
+    var isRemovableSimEnabled: Boolean = false
+        get() {
+            if(slotInfoList.isEmpty()) {
+                Log.w(TAG, "UICC Slot info list is empty.")
+                return false
+            }
+            return UiccSlotUtil.isRemovableSimEnabled(slotInfoList)
+        }
+
+    var doesTargetSimHaveEsimOperation = false
+        get() {
+            return targetSubInfo?.isEmbedded ?: false
+        }
+
+    var isUsableTargetSubscriptionId = false
+        get() {
+            return SubscriptionManager.isUsableSubscriptionId(targetSubId)
+        }
+    var getActiveModemCount = 0
+        get() {
+            return telephonyManager?.getActiveModemCount() ?: 0
+        }
+
+    var renameMutableMap : MutableMap<Int, String> = mutableMapOf()
+    var userSelectedSubInfoList : MutableList<SubscriptionInfo> = mutableListOf()
+
+    var isSimSelectionFinished = false
+        get() {
+            return getActiveModemCount != 0 && userSelectedSubInfoList.size == getActiveModemCount
+        }
+
+    var isAllOfSlotAssigned = false
+        get() {
+            if(getActiveModemCount == 0){
+                Log.e(TAG, "isAllOfSlotAssigned: getActiveModemCount is 0")
+                return true
+            }
+            return getActiveModemCount != 0 && activeSubInfoList.size == getActiveModemCount
+        }
+
+    fun isValid(): Boolean {
+        return targetSubId != INVALID
+            && targetSubInfo != null
+            && activeSubInfoList.isNotEmpty()
+            && slotInfoList.isNotEmpty()
+    }
+
+    fun clear() {
+        targetSubId = -1
+        targetSubInfo = null
+        availableSubInfoList = listOf()
+        activeSubInfoList = listOf()
+        slotInfoList = listOf()
+        uiccCardInfoList = listOf()
+        targetPrimarySimCalls = -1
+        targetPrimarySimTexts = -1
+        targetPrimarySimMobileData = -1
+        clearUserRecord()
+    }
+
+    fun clearUserRecord(){
+        renameMutableMap.clear()
+        userSelectedSubInfoList.clear()
+    }
+
+    fun initData(inputTargetSubId:Int,context: Context, callback: (Int) -> Unit) {
+        this.callback = callback
+        targetSubId = inputTargetSubId
+        subscriptionManager = context.getSystemService(SubscriptionManager::class.java)
+        telephonyManager = context.getSystemService(TelephonyManager::class.java)
+        Log.d(
+            TAG, "startInit: targetSubId:$targetSubId"
+        )
+        ThreadUtils.postOnBackgroundThread {
+            activeSubInfoList = SubscriptionUtil.getActiveSubscriptions(subscriptionManager)
+            availableSubInfoList = SubscriptionUtil.getAvailableSubscriptions(context)
+            targetSubInfo =
+                availableSubInfoList.find { subInfo -> subInfo.subscriptionId == targetSubId }
+            targetSubInfo?.let { userSelectedSubInfoList.add(it) }
+            Log.d(
+                TAG, "targetSubId: $targetSubId" + ", targetSubInfo: $targetSubInfo" +
+                    ". activeSubInfoList: $activeSubInfoList"
+            )
+            slotInfoList = telephonyManager?.uiccSlotsInfo?.toList() ?: listOf()
+            Log.d(TAG, "slotInfoList: $slotInfoList.")
+            uiccCardInfoList = telephonyManager?.uiccCardsInfo!!
+            Log.d(TAG, "uiccCardInfoList: $uiccCardInfoList")
+
+            targetPrimarySimCalls = SubscriptionManager.getDefaultVoiceSubscriptionId()
+            targetPrimarySimTexts = SubscriptionManager.getDefaultSmsSubscriptionId()
+            targetPrimarySimMobileData = SubscriptionManager.getDefaultDataSubscriptionId()
+            Log.d(
+                TAG,"doesTargetSimHaveEsimOperation: $doesTargetSimHaveEsimOperation" +
+                    ", isRemovableSimEnabled: $isRemovableSimEnabled" +
+                    ", isMultipleEnabledProfilesSupported: $isMultipleEnabledProfilesSupported" +
+                    ", targetPrimarySimCalls: $targetPrimarySimCalls" +
+                    ", targetPrimarySimTexts: $targetPrimarySimTexts" +
+                    ", targetPrimarySimMobileData: $targetPrimarySimMobileData")
+        }
+    }
+
+    /**
+     * Return the subscriptionInfo list which has
+     * the target subscriptionInfo + active subscriptionInfo.
+     */
+    fun getSelectableSubscriptionInfoList(): List<SubscriptionInfo> {
+        var list: MutableList<SubscriptionInfo> = mutableListOf()
+        list.addAll(activeSubInfoList)
+        if (!list.contains(targetSubInfo)) {
+            targetSubInfo?.let { list.add(it) }
+        }
+
+        return list.toList()
+    }
+
+    /**
+     * Return the user selected SubscriptionInfo list.
+     */
+    fun getSelectedSubscriptionInfoList(): List<SubscriptionInfo> {
+        if (userSelectedSubInfoList.isEmpty()){
+            Log.d(TAG, "userSelectedSubInfoList is empty")
+            return activeSubInfoList
+        }
+        return userSelectedSubInfoList.toList()
+    }
+
+    fun addItemForRenaming(subInfo: SubscriptionInfo, newName: String) {
+        if (subInfo.displayName == newName) {
+            return
+        }
+        renameMutableMap[subInfo.subscriptionId] = newName
+        Log.d(
+            TAG,
+            "renameMutableMap add ${subInfo.subscriptionId} & $newName into: $renameMutableMap"
+        )
+    }
+
+    fun getSubscriptionInfoDisplayName(subInfo: SubscriptionInfo): String {
+        return renameMutableMap[subInfo.subscriptionId] ?: subInfo.displayName.toString()
+    }
+
+    fun addCurrentItemForSelectedSim(){
+        userSelectedSubInfoList.addAll(activeSubInfoList)
+    }
+
+    fun addItemForSelectedSim(selectedSubInfo: SubscriptionInfo) {
+        userSelectedSubInfoList.add(selectedSubInfo)
+    }
+
+    fun removeItemForSelectedSim(selectedSubInfo: SubscriptionInfo) {
+        if (userSelectedSubInfoList.contains(selectedSubInfo)) {
+            userSelectedSubInfoList.remove(selectedSubInfo)
+        }
+    }
+
+    /**
+     * Return the subscriptionInfo which will be removed in the slot during the sim onboarding.
+     * If return Null, then no subscriptionInfo will be removed in the slot.
+     */
+    fun getRemovedSim():SubscriptionInfo?{
+        return activeSubInfoList.find { !userSelectedSubInfoList.contains(it) }
+    }
+
+    fun handleTogglePsimAction() {
+        val canDisablePhysicalSubscription =
+            subscriptionManager?.canDisablePhysicalSubscription() == true
+        if (targetSubInfo != null && canDisablePhysicalSubscription) {
+            // TODO: to support disable case.
+            subscriptionManager?.setUiccApplicationsEnabled(
+                    targetSubInfo!!.subscriptionId, /*enabled=*/true)
+        } else {
+            Log.i(TAG, "The device does not support toggling pSIM. It is enough to just "
+                    + "enable the removable slot."
+            )
+        }
+    }
+
+    fun startActivatingSim(){
+        // TODO: start to activate sim
+        callback(SimOnboardingActivity.CALLBACK_FINISH)
+    }
+
+    suspend fun startSetupName() {
+        withContext(Dispatchers.Default) {
+            renameMutableMap.forEach {
+                subscriptionManager?.setDisplayName(
+                    it.value, it.key,
+                    SubscriptionManager.NAME_SOURCE_USER_INPUT
+                )
+            }
+            // next action is SETUP_PRIMARY_SIM
+            callback(SimOnboardingActivity.CALLBACK_SETUP_PRIMARY_SIM)
+        }
+    }
+
+    suspend fun startSetupPrimarySim(context: Context) {
+        withContext(Dispatchers.Default) {
+            setDefaultVoice(subscriptionManager,targetPrimarySimCalls)
+            setDefaultSms(subscriptionManager,targetPrimarySimTexts)
+            setDefaultData(
+                context,
+                subscriptionManager,
+                null,
+                targetPrimarySimMobileData
+            )
+
+            var nonDds = targetNonDds
+            Log.d(
+                TAG,
+                "setAutomaticData: targetNonDds: $nonDds," +
+                    " targetPrimarySimAutoDataSwitch: $targetPrimarySimAutoDataSwitch"
+            )
+            if (nonDds != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+                val telephonyManagerForNonDds: TelephonyManager? =
+                    context.getSystemService(TelephonyManager::class.java)
+                        ?.createForSubscriptionId(nonDds)
+                setAutomaticData(telephonyManagerForNonDds, targetPrimarySimAutoDataSwitch)
+            }
+
+            // no next action, send finish
+            callback(SimOnboardingActivity.CALLBACK_FINISH)
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/network/SubscriptionInfoListViewModel.kt b/src/com/android/settings/network/SubscriptionInfoListViewModel.kt
new file mode 100644
index 0000000..f682002
--- /dev/null
+++ b/src/com/android/settings/network/SubscriptionInfoListViewModel.kt
@@ -0,0 +1,50 @@
+/*
+ * 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.app.Application
+import android.telephony.SubscriptionManager
+import androidx.lifecycle.AndroidViewModel
+import androidx.lifecycle.viewModelScope
+import com.android.settings.network.telephony.subscriptionsChangedFlow
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.plus
+
+class SubscriptionInfoListViewModel(application: Application) : AndroidViewModel(application) {
+    private val subscriptionManager =
+        application.getSystemService(SubscriptionManager::class.java)!!
+    private val scope = viewModelScope + Dispatchers.Default
+
+    /**
+     * Getting the active Subscription list
+     */
+    //ToDo: renaming the function name
+    val subscriptionInfoListFlow = application.subscriptionsChangedFlow().map {
+        SubscriptionUtil.getActiveSubscriptions(subscriptionManager)
+    }.stateIn(scope, SharingStarted.Eagerly, initialValue = emptyList())
+
+    /**
+     * Getting the Selectable SubscriptionInfo List from the SubscriptionManager's
+     * getAvailableSubscriptionInfoList
+     */
+    val selectableSubscriptionInfoListFlow = application.subscriptionsChangedFlow().map {
+        SubscriptionUtil.getSelectableSubscriptionInfoList(application)
+    }.stateIn(scope, SharingStarted.Eagerly, initialValue = emptyList())
+}
diff --git a/src/com/android/settings/network/SubscriptionUtil.java b/src/com/android/settings/network/SubscriptionUtil.java
index 9974ba2..84e4e75 100644
--- a/src/com/android/settings/network/SubscriptionUtil.java
+++ b/src/com/android/settings/network/SubscriptionUtil.java
@@ -18,9 +18,10 @@
 
 import static android.telephony.SubscriptionManager.INVALID_SIM_SLOT_INDEX;
 import static android.telephony.UiccSlotInfo.CARD_STATE_INFO_PRESENT;
+import static android.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING;
+
 import static com.android.internal.util.CollectionUtils.emptyIfNull;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.content.SharedPreferences;
 import android.os.ParcelUuid;
@@ -36,10 +37,13 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.internal.telephony.MccTable;
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.helper.SelectableSubscriptions;
 import com.android.settings.network.helper.SubscriptionAnnotation;
 import com.android.settings.network.telephony.DeleteEuiccSubscriptionDialogActivity;
@@ -84,6 +88,8 @@
     }
 
     public static List<SubscriptionInfo> getActiveSubscriptions(SubscriptionManager manager) {
+        //TODO (b/315499317) : Refactor the subscription utils.
+
         if (sActiveResultsForTesting != null) {
             return sActiveResultsForTesting;
         }
@@ -94,7 +100,12 @@
         if (subscriptions == null) {
             return new ArrayList<>();
         }
-        return subscriptions;
+        // Since the SubscriptionManager.getActiveSubscriptionInfoList() has checked whether the
+        // sim visible by the SubscriptionManager.isSubscriptionVisible(), here only checks whether
+        // the esim visible here.
+        return subscriptions.stream()
+                .filter(subInfo -> subInfo != null && isEmbeddedSubscriptionVisible(subInfo))
+                .collect(Collectors.toList());
     }
 
     /**
@@ -128,7 +139,7 @@
     }
 
     /**
-     * Get subscription which is available to be displayed to the user
+     * Get subscriptionInfo which is available to be displayed to the user
      * per subscription id.
      *
      * @param context {@code Context}
@@ -138,13 +149,20 @@
      * @return {@code SubscriptionInfo} based on the given subscription id. Null of subscription
      *         is invalid or not allowed to be displayed to the user.
      */
-    public static SubscriptionInfo getAvailableSubscription(Context context,
+    public static SubscriptionInfo getAvailableSubscriptionBySubIdAndShowingForUser(Context context,
             ProxySubscriptionManager subscriptionManager, int subId) {
+        //TODO (b/315499317) : Refactor the subscription utils.
         final SubscriptionInfo subInfo = subscriptionManager.getAccessibleSubscriptionInfo(subId);
         if (subInfo == null) {
             return null;
         }
 
+        // hide provisioning/bootstrap and satellite profiles for user
+        if (!isEmbeddedSubscriptionVisible(subInfo)) {
+            Log.d(TAG, "Do not insert the provision eSIM or NTN eSim");
+            return null;
+        }
+
         final ParcelUuid groupUuid = subInfo.getGroupUuid();
 
         if (groupUuid != null) {
@@ -317,8 +335,16 @@
 
             if (duplicateOriginalNames.contains(info.originalName)) {
                 // This may return null, if the user cannot view the phone number itself.
-                final String phoneNumber = getBidiFormattedPhoneNumber(context,
-                        info.subscriptionInfo);
+                String phoneNumber = "";
+                try {
+                    final SubscriptionManager subscriptionManager = context.getSystemService(
+                        SubscriptionManager.class);
+                    phoneNumber = subscriptionManager.getPhoneNumber(infoSubId);
+                } catch (IllegalStateException
+                        | SecurityException
+                        | UnsupportedOperationException e) {
+                    Log.w(TAG, "get number error." + e);
+                }
                 String lastFourDigits = "";
                 if (phoneNumber != null) {
                     lastFourDigits = (phoneNumber.length() > 4)
@@ -517,6 +543,10 @@
             Log.i(TAG, "Unable to toggle subscription due to invalid subscription ID.");
             return;
         }
+        if (enable && Flags.isDualSimOnboardingEnabled()) {
+            SimOnboardingActivity.startSimOnboardingActivity(context, subId);
+            return;
+        }
         context.startActivity(ToggleSubscriptionDialogActivity.getIntent(context, subId, enable));
     }
 
@@ -567,6 +597,12 @@
     public static boolean isSubscriptionVisible(
             SubscriptionManager subscriptionManager, Context context, SubscriptionInfo info) {
         if (info == null) return false;
+
+        // hide provisioning/bootstrap and satellite profiles for user
+        if (!isEmbeddedSubscriptionVisible(info)) {
+            return false;
+        }
+
         // If subscription is NOT grouped opportunistic subscription, it's visible.
         if (info.getGroupUuid() == null || !info.isOpportunistic()) return true;
 
@@ -786,4 +822,14 @@
         }
         return (currentSubInfo == null) ? null : currentSubInfo.getSubInfo();
     }
+
+    private static boolean isEmbeddedSubscriptionVisible(@NonNull SubscriptionInfo subInfo) {
+        if (subInfo.isEmbedded()
+                && (subInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                || (com.android.internal.telephony.flags.Flags.oemEnabledSatelliteFlag()
+                && subInfo.isOnlyNonTerrestrialNetwork()))) {
+            return false;
+        }
+        return true;
+    }
 }
diff --git a/src/com/android/settings/network/SubscriptionsPreferenceController.java b/src/com/android/settings/network/SubscriptionsPreferenceController.java
index 9cd49c8..09ce02e 100644
--- a/src/com/android/settings/network/SubscriptionsPreferenceController.java
+++ b/src/com/android/settings/network/SubscriptionsPreferenceController.java
@@ -19,6 +19,8 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_PAUSE;
 import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
 
+import static com.android.settings.network.MobileIconGroupExtKt.getSummaryForSub;
+import static com.android.settings.network.MobileIconGroupExtKt.maybeToHtml;
 import static com.android.settings.network.telephony.MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
 import static com.android.settingslib.mobile.MobileMappings.getIconKey;
 import static com.android.settingslib.mobile.MobileMappings.mapIconSets;
@@ -39,7 +41,6 @@
 import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyDisplayInfo;
 import android.telephony.TelephonyManager;
-import android.text.Html;
 import android.util.ArraySet;
 import android.util.Log;
 
@@ -152,7 +153,8 @@
         mPreferenceGroupKey = preferenceGroupKey;
         mStartOrder = startOrder;
         mTelephonyManager = context.getSystemService(TelephonyManager.class);
-        mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
+        mSubscriptionManager = context.getSystemService(SubscriptionManager.class)
+                .createForAllUserProfiles();
         mWifiManager = context.getSystemService(WifiManager.class);
         mSubscriptionPreferences = new ArrayMap<>();
         mSubscriptionsListener = new SubscriptionsChangeListener(context, this);
@@ -265,9 +267,8 @@
 
     /**@return {@code true} if subId is the default data sub. **/
     private boolean isDds(int subId) {
-        return mSubscriptionManager.getDefaultDataSubscriptionInfo() != null
-                && mSubscriptionManager.getDefaultDataSubscriptionInfo().getSubscriptionId()
-                == subId;
+        SubscriptionInfo info = mSubscriptionManager.getDefaultDataSubscriptionInfo();
+        return info != null && info.getSubscriptionId() == subId;
     }
 
     private CharSequence getMobilePreferenceSummary(int subId) {
@@ -290,18 +291,19 @@
         String result = mSubsPrefCtrlInjector.getNetworkType(mContext, mConfig,
                 mTelephonyDisplayInfo, subId, isCarrierNetworkActive, mCarrierNetworkChangeMode);
         if (mSubsPrefCtrlInjector.isActiveCellularNetwork(mContext) || isCarrierNetworkActive) {
+            String connectionState = mContext.getString(isDds
+                    ? R.string.mobile_data_connection_active
+                    : R.string.mobile_data_temp_connection_active);
             if (result.isEmpty()) {
-                result = mContext.getString(isDds ? R.string.mobile_data_connection_active
-                        : R.string.mobile_data_temp_connection_active);
+                return connectionState;
             } else {
-                result = mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(isDds ? R.string.mobile_data_connection_active
-                                : R.string.mobile_data_temp_connection_active), result);
+                result = mContext.getString(
+                        R.string.preference_summary_default_combination, connectionState, result);
             }
         } else if (!isDataInService) {
-            result = mContext.getString(R.string.mobile_data_no_connection);
+            return mContext.getString(R.string.mobile_data_no_connection);
         }
-        return Html.fromHtml(result, Html.FROM_HTML_MODE_LEGACY);
+        return maybeToHtml(result);
     }
 
     @VisibleForTesting
@@ -520,7 +522,7 @@
          * Uses to inject function and value for class and test class.
          */
         public boolean canSubscriptionBeDisplayed(Context context, int subId) {
-            return (SubscriptionUtil.getAvailableSubscription(context,
+            return (SubscriptionUtil.getAvailableSubscriptionBySubIdAndShowingForUser(context,
                     ProxySubscriptionManager.getInstance(context), subId) != null);
         }
 
@@ -580,10 +582,7 @@
                 return "";
             }
 
-            int resId = iconGroup.dataContentDescription;
-            return resId != 0
-                    ? SubscriptionManager.getResourcesForSubId(context, subId).getString(resId)
-                    : "";
+            return getSummaryForSub(iconGroup, context, subId);
         }
 
         /**
diff --git a/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java b/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
index 0c3d61a..a26aa8a 100644
--- a/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
+++ b/src/com/android/settings/network/SwitchToEuiccSubscriptionSidecar.java
@@ -101,7 +101,7 @@
         }
 
         SubscriptionManager subscriptionManager = getContext().getSystemService(
-                SubscriptionManager.class);
+                SubscriptionManager.class).createForAllUserProfiles();
         mActiveSubInfos = SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
 
         // To check whether the esim slot's port is active. If yes, skip setSlotMapping. If no,
diff --git a/src/com/android/settings/network/SwitchToRemovableSlotSidecar.java b/src/com/android/settings/network/SwitchToRemovableSlotSidecar.java
index a870f3b..4cf797f 100644
--- a/src/com/android/settings/network/SwitchToRemovableSlotSidecar.java
+++ b/src/com/android/settings/network/SwitchToRemovableSlotSidecar.java
@@ -92,7 +92,7 @@
         mPhysicalSlotId = physicalSlotId;
         mRemovedSubInfo = removedSubInfo;
         SubscriptionManager subscriptionManager =
-                getContext().getSystemService(SubscriptionManager.class);
+                getContext().getSystemService(SubscriptionManager.class).createForAllUserProfiles();
         if (!mTelephonyManager.isMultiSimEnabled()
                 && SubscriptionUtil.getActiveSubscriptions(subscriptionManager).stream().anyMatch(
                 SubscriptionInfo::isEmbedded)) {
diff --git a/src/com/android/settings/network/TetherBasePreferenceController.java b/src/com/android/settings/network/TetherBasePreferenceController.java
deleted file mode 100644
index b1627f2..0000000
--- a/src/com/android/settings/network/TetherBasePreferenceController.java
+++ /dev/null
@@ -1,162 +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 android.content.Context;
-import android.net.TetheringManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.core.TogglePreferenceController;
-import com.android.settings.datausage.DataSaverBackend;
-
-public abstract class TetherBasePreferenceController extends TogglePreferenceController
-        implements LifecycleObserver,  DataSaverBackend.Listener,
-        TetherEnabler.OnTetherStateUpdateListener {
-
-    private static final String TAG = "TetherBasePreferenceController";
-    final TetheringManager mTm;
-    private final DataSaverBackend mDataSaverBackend;
-
-    private TetherEnabler mTetherEnabler;
-    Preference mPreference;
-    private boolean mDataSaverEnabled;
-    int mTetheringState;
-
-    TetherBasePreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-        mTm = context.getSystemService(TetheringManager.class);
-        mDataSaverBackend = new DataSaverBackend(context);
-        mDataSaverEnabled = mDataSaverBackend.isDataSaverEnabled();
-    }
-
-    /**
-     * Set TetherEnabler for the controller. Call this method to initialize the controller.
-     * @param tetherEnabler The tetherEnabler to set for the controller.
-     */
-    public void setTetherEnabler(TetherEnabler tetherEnabler) {
-        mTetherEnabler = tetherEnabler;
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_RESUME)
-    public void onResume() {
-        // Must call setEnabler() before
-        if (mTetherEnabler != null) {
-            mTetherEnabler.addListener(this);
-        }
-        mDataSaverBackend.addListener(this);
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_PAUSE)
-    public void onPause() {
-        if (mTetherEnabler != null) {
-            mTetherEnabler.removeListener(this);
-        }
-        mDataSaverBackend.remListener(this);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return TetherEnabler.isTethering(mTetheringState, getTetherType());
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        if (mTetherEnabler == null) {
-            return false;
-        }
-        if (isChecked) {
-            mTetherEnabler.startTethering(getTetherType());
-        } else {
-            mTetherEnabler.stopTethering(getTetherType());
-        }
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(mPreferenceKey);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if (isAvailable()) {
-            preference.setEnabled(getAvailabilityStatus() != DISABLED_DEPENDENT_SETTING);
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        if (!shouldShow()) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-
-        if (mDataSaverEnabled || !shouldEnable()) {
-            return DISABLED_DEPENDENT_SETTING;
-        }
-        return AVAILABLE;
-    }
-
-    @Override
-    public int getSliceHighlightMenuRes() {
-        return R.string.menu_key_network;
-    }
-
-    @Override
-    public void onTetherStateUpdated(@TetherEnabler.TetheringState int state) {
-        mTetheringState = state;
-        updateState(mPreference);
-    }
-
-    @Override
-    public void onDataSaverChanged(boolean isDataSaving) {
-        mDataSaverEnabled = isDataSaving;
-    }
-
-    @Override
-    public void onAllowlistStatusChanged(int uid, boolean isAllowlisted) {
-    }
-
-    @Override
-    public void onDenylistStatusChanged(int uid, boolean isDenylisted) {
-    }
-
-    /**
-     * Used to enable or disable the preference.
-     * @return true if the preference should be enabled; false otherwise.
-     */
-    public abstract boolean shouldEnable();
-
-    /**
-     * Used to determine visibility of the preference.
-     * @return true if the preference should be visible; false otherwise.
-     */
-    public abstract boolean shouldShow();
-
-    /**
-     * Get the type of tether interface that is controlled by the preference.
-     * @return the tether interface, like {@link ConnectivityManager#TETHERING_WIFI}
-     */
-    public abstract int getTetherType();
-}
diff --git a/src/com/android/settings/network/TetherPreferenceController.java b/src/com/android/settings/network/TetherPreferenceController.java
deleted file mode 100644
index f9e5a43..0000000
--- a/src/com/android/settings/network/TetherPreferenceController.java
+++ /dev/null
@@ -1,311 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.network;
-
-import static android.os.UserManager.DISALLOW_CONFIG_TETHERING;
-
-import static com.android.settingslib.RestrictedLockUtilsInternal.checkIfRestrictionEnforced;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.database.ContentObserver;
-import android.net.TetheringManager;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.UserHandle;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
-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.FeatureFlags;
-import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settingslib.TetherUtil;
-import com.android.settingslib.core.AbstractPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnCreate;
-import com.android.settingslib.core.lifecycle.events.OnDestroy;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-public class TetherPreferenceController extends AbstractPreferenceController implements
-        PreferenceControllerMixin, LifecycleObserver, OnCreate, OnResume, OnPause, OnDestroy {
-
-    private static final String TAG = "TetherPreferenceController";
-    private static final String KEY_TETHER_SETTINGS = "tether_settings";
-
-    private final boolean mAdminDisallowedTetherConfig;
-    private final AtomicReference<BluetoothPan> mBluetoothPan;
-    private final BluetoothAdapter mBluetoothAdapter;
-    private final TetheringManager mTetheringManager;
-    @VisibleForTesting
-    final BluetoothProfile.ServiceListener mBtProfileServiceListener =
-            new android.bluetooth.BluetoothProfile.ServiceListener() {
-                public void onServiceConnected(int profile, BluetoothProfile proxy) {
-                    if (mBluetoothPan.get() == null) {
-                        mBluetoothPan.set((BluetoothPan) proxy);
-                    }
-                    updateSummary();
-                }
-
-                public void onServiceDisconnected(int profile) {
-                    updateSummary();
-                }
-            };
-
-    private SettingObserver mAirplaneModeObserver;
-    private Preference mPreference;
-    private TetherBroadcastReceiver mTetherReceiver;
-    private BroadcastReceiver mBluetoothStateReceiver;
-
-    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
-    TetherPreferenceController() {
-        super(null);
-        mAdminDisallowedTetherConfig = false;
-        mBluetoothPan = new AtomicReference<>();
-        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
-        mTetheringManager = null;
-    }
-
-    public TetherPreferenceController(Context context, Lifecycle lifecycle) {
-        super(context);
-        mBluetoothPan = new AtomicReference<>();
-        mAdminDisallowedTetherConfig = isTetherConfigDisallowed(context);
-        mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
-        mTetheringManager = context.getSystemService(TetheringManager.class);
-        if (lifecycle != null) {
-            lifecycle.addObserver(this);
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(KEY_TETHER_SETTINGS);
-        if (mPreference != null && !mAdminDisallowedTetherConfig) {
-            mPreference.setTitle(
-                    com.android.settingslib.Utils.getTetheringLabel(mTetheringManager));
-        }
-    }
-
-    @Override
-    public boolean isAvailable() {
-        return TetherUtil.isTetherAvailable(mContext)
-                && !FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE);
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        updateSummary();
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_TETHER_SETTINGS;
-    }
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        if (mBluetoothAdapter != null &&
-            mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
-            mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
-                    BluetoothProfile.PAN);
-        }
-        if (mBluetoothStateReceiver == null) {
-            mBluetoothStateReceiver = new BluetoothStateReceiver();
-            mContext.registerReceiver(
-                    mBluetoothStateReceiver,
-                    new IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED));
-        }
-    }
-
-    @Override
-    public void onResume() {
-        if (mAirplaneModeObserver == null) {
-            mAirplaneModeObserver = new SettingObserver();
-        }
-        if (mTetherReceiver == null) {
-            mTetherReceiver = new TetherBroadcastReceiver();
-        }
-        mContext.registerReceiver(
-                mTetherReceiver, new IntentFilter(TetheringManager.ACTION_TETHER_STATE_CHANGED));
-        mContext.getContentResolver()
-                .registerContentObserver(mAirplaneModeObserver.uri, false, mAirplaneModeObserver);
-    }
-
-    @Override
-    public void onPause() {
-        if (mAirplaneModeObserver != null) {
-            mContext.getContentResolver().unregisterContentObserver(mAirplaneModeObserver);
-        }
-        if (mTetherReceiver != null) {
-            mContext.unregisterReceiver(mTetherReceiver);
-        }
-    }
-
-    @Override
-    public void onDestroy() {
-        final BluetoothProfile profile = mBluetoothPan.getAndSet(null);
-        if (profile != null && mBluetoothAdapter != null) {
-            mBluetoothAdapter.closeProfileProxy(BluetoothProfile.PAN, profile);
-        }
-        if (mBluetoothStateReceiver != null) {
-            mContext.unregisterReceiver(mBluetoothStateReceiver);
-            mBluetoothStateReceiver = null;
-        }
-    }
-
-    public static boolean isTetherConfigDisallowed(Context context) {
-        return checkIfRestrictionEnforced(
-                context, DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()) != null;
-    }
-
-    @VisibleForTesting
-    void updateSummary() {
-        if (mPreference == null) {
-            // Preference is not ready yet.
-            return;
-        }
-        String[] allTethered = mTetheringManager.getTetheredIfaces();
-        String[] wifiTetherRegex = mTetheringManager.getTetherableWifiRegexs();
-        String[] bluetoothRegex = mTetheringManager.getTetherableBluetoothRegexs();
-
-        boolean hotSpotOn = false;
-        boolean tetherOn = false;
-        if (allTethered != null) {
-            if (wifiTetherRegex != null) {
-                for (String tethered : allTethered) {
-                    for (String regex : wifiTetherRegex) {
-                        if (tethered.matches(regex)) {
-                            hotSpotOn = true;
-                            break;
-                        }
-                    }
-                }
-            }
-            if (allTethered.length > 1) {
-                // We have more than 1 tethered connection
-                tetherOn = true;
-            } else if (allTethered.length == 1) {
-                // We have more than 1 tethered, it's either wifiTether (hotspot), or other type of
-                // tether.
-                tetherOn = !hotSpotOn;
-            } else {
-                // No tethered connection.
-                tetherOn = false;
-            }
-        }
-        if (!tetherOn
-                && bluetoothRegex != null && bluetoothRegex.length > 0
-                && mBluetoothAdapter != null
-                && mBluetoothAdapter.getState() == BluetoothAdapter.STATE_ON) {
-            // Check bluetooth state. It's not included in mTetheringManager.getTetheredIfaces.
-            final BluetoothPan pan = mBluetoothPan.get();
-            tetherOn = pan != null && pan.isTetheringOn();
-        }
-        if (!hotSpotOn && !tetherOn) {
-            // Both off
-            updateSummaryToOff();
-        } else if (hotSpotOn && tetherOn) {
-            // Both on
-            mPreference.setSummary(R.string.tether_settings_summary_hotspot_on_tether_on);
-        } else if (hotSpotOn) {
-            mPreference.setSummary(R.string.tether_settings_summary_hotspot_on_tether_off);
-        } else {
-            mPreference.setSummary(R.string.tether_settings_summary_hotspot_off_tether_on);
-        }
-    }
-
-    private void updateSummaryToOff() {
-        if (mPreference == null) {
-            // Preference is not ready yet.
-            return;
-        }
-        mPreference.setSummary(R.string.tether_preference_summary_off);
-    }
-
-    class SettingObserver extends ContentObserver {
-
-        public final Uri uri;
-
-        public SettingObserver() {
-            super(new Handler());
-            uri = Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            super.onChange(selfChange, uri);
-            if (this.uri.equals(uri)) {
-                boolean isAirplaneMode = Settings.Global.getInt(mContext.getContentResolver(),
-                        Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
-                if (isAirplaneMode) {
-                    // Airplane mode is on. Update summary to say tether is OFF directly. We cannot
-                    // go through updateSummary() because turning off tether takes time, and we
-                    // might still get "ON" status when rerun updateSummary(). So, just say it's off
-                    updateSummaryToOff();
-                }
-            }
-        }
-    }
-
-    @VisibleForTesting
-    class TetherBroadcastReceiver extends BroadcastReceiver {
-
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            updateSummary();
-        }
-
-    }
-
-    private class BluetoothStateReceiver extends BroadcastReceiver {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            final String action = intent.getAction();
-            Log.i(TAG, "onReceive: action: " + action);
-
-            if (TextUtils.equals(action, BluetoothAdapter.ACTION_STATE_CHANGED)) {
-                final int state =
-                        intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR);
-                Log.i(TAG, "onReceive: state: " + BluetoothAdapter.nameForState(state));
-                final BluetoothProfile profile = mBluetoothPan.get();
-                switch(state) {
-                    case BluetoothAdapter.STATE_ON:
-                        if (profile == null && mBluetoothAdapter != null) {
-                            mBluetoothAdapter.getProfileProxy(mContext, mBtProfileServiceListener,
-                                    BluetoothProfile.PAN);
-                        }
-                        break;
-                }
-            }
-        }
-    }
-}
diff --git a/src/com/android/settings/network/TetherPreferenceController.kt b/src/com/android/settings/network/TetherPreferenceController.kt
new file mode 100644
index 0000000..c36a2382
--- /dev/null
+++ b/src/com/android/settings/network/TetherPreferenceController.kt
@@ -0,0 +1,94 @@
+/*
+ * 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.net.TetheringManager
+import android.os.UserHandle
+import android.os.UserManager
+import androidx.annotation.StringRes
+import androidx.annotation.VisibleForTesting
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settingslib.RestrictedLockUtilsInternal
+import com.android.settingslib.TetherUtil
+import com.android.settingslib.Utils
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+class TetherPreferenceController(context: Context, key: String) :
+    BasePreferenceController(context, key) {
+
+    private val tetheredRepository = TetheredRepository(context)
+    private val tetheringManager = mContext.getSystemService(TetheringManager::class.java)!!
+
+    private var preference: Preference? = null
+
+    override fun getAvailabilityStatus() =
+        if (TetherUtil.isTetherAvailable(mContext)) AVAILABLE else CONDITIONALLY_UNAVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                getTitleResId()?.let { preference?.setTitle(it) }
+            }
+        }
+
+        tetheredRepository.tetheredTypesFlow().collectLatestWithLifecycle(viewLifecycleOwner) {
+            preference?.setSummary(getSummaryResId(it))
+        }
+    }
+
+    private suspend fun getTitleResId(): Int? = withContext(Dispatchers.Default) {
+        if (isTetherConfigDisallowed(mContext)) null
+        else Utils.getTetheringLabel(tetheringManager)
+    }
+
+    @VisibleForTesting
+    @StringRes
+    fun getSummaryResId(tetheredTypes: Set<Int>): Int {
+        val hotSpotOn = TetheringManager.TETHERING_WIFI in tetheredTypes
+        val tetherOn = tetheredTypes.any { it != TetheringManager.TETHERING_WIFI }
+        return when {
+            hotSpotOn && tetherOn -> R.string.tether_settings_summary_hotspot_on_tether_on
+            hotSpotOn -> R.string.tether_settings_summary_hotspot_on_tether_off
+            tetherOn -> R.string.tether_settings_summary_hotspot_off_tether_on
+            else -> R.string.tether_preference_summary_off
+        }
+    }
+
+    companion object {
+        @JvmStatic
+        fun isTetherConfigDisallowed(context: Context?): Boolean =
+            RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+                context, UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.myUserId()
+            ) != null
+    }
+}
diff --git a/src/com/android/settings/network/TetheredRepository.kt b/src/com/android/settings/network/TetheredRepository.kt
new file mode 100644
index 0000000..f18bdca
--- /dev/null
+++ b/src/com/android/settings/network/TetheredRepository.kt
@@ -0,0 +1,102 @@
+/*
+ * 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.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothManager
+import android.bluetooth.BluetoothPan
+import android.bluetooth.BluetoothProfile
+import android.content.Context
+import android.content.IntentFilter
+import android.net.TetheringInterface
+import android.net.TetheringManager
+import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
+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.combine
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.flatMapLatest
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.merge
+import kotlinx.coroutines.launch
+
+class TetheredRepository(private val context: Context) {
+    private val tetheringManager = context.getSystemService(TetheringManager::class.java)!!
+
+    private val adapter = context.getSystemService(BluetoothManager::class.java)!!.adapter
+
+    fun tetheredTypesFlow(): Flow<Set<Int>> =
+        combine(
+            tetheredInterfacesFlow(),
+            isBluetoothTetheringOnFlow(),
+        ) { tetheringInterfaces, isBluetoothTetheringOn ->
+            val mutableSet = tetheringInterfaces.map { it.type }.toMutableSet()
+            if (isBluetoothTetheringOn) mutableSet += TetheringManager.TETHERING_BLUETOOTH
+            mutableSet
+        }.conflate().flowOn(Dispatchers.Default)
+
+    private fun tetheredInterfacesFlow(): Flow<Set<TetheringInterface>> = callbackFlow {
+        val callback = object : TetheringManager.TetheringEventCallback {
+            override fun onTetheredInterfacesChanged(interfaces: Set<TetheringInterface>) {
+                trySend(interfaces)
+            }
+        }
+
+        tetheringManager.registerTetheringEventCallback(Dispatchers.Default.asExecutor(), callback)
+
+        awaitClose { tetheringManager.unregisterTetheringEventCallback(callback) }
+    }.conflate().flowOn(Dispatchers.Default)
+
+    @OptIn(ExperimentalCoroutinesApi::class)
+    private fun isBluetoothTetheringOnFlow(): Flow<Boolean> =
+        merge(
+            flowOf(null), // kick an initial value
+            context.broadcastReceiverFlow(IntentFilter(BluetoothAdapter.ACTION_STATE_CHANGED)),
+        ).flatMapLatest {
+            if (adapter.getState() == BluetoothAdapter.STATE_ON) {
+                isBluetoothPanTetheringOnFlow()
+            } else {
+                flowOf(false)
+            }
+        }.conflate().flowOn(Dispatchers.Default)
+
+    private fun isBluetoothPanTetheringOnFlow() = callbackFlow {
+        var connectedProxy: BluetoothProfile? = null
+
+        val listener = object : BluetoothProfile.ServiceListener {
+            override fun onServiceConnected(profile: Int, proxy: BluetoothProfile) {
+                connectedProxy = proxy
+                launch(Dispatchers.Default) {
+                    trySend((proxy as BluetoothPan).isTetheringOn)
+                }
+            }
+
+            override fun onServiceDisconnected(profile: Int) {}
+        }
+
+        adapter.getProfileProxy(context, listener, BluetoothProfile.PAN)
+
+        awaitClose {
+            connectedProxy?.let { adapter.closeProfileProxy(BluetoothProfile.PAN, it) }
+        }
+    }.conflate().flowOn(Dispatchers.Default)
+}
diff --git a/src/com/android/settings/network/UiccSlotUtil.java b/src/com/android/settings/network/UiccSlotUtil.java
index cc15e6e..df23f12 100644
--- a/src/com/android/settings/network/UiccSlotUtil.java
+++ b/src/com/android/settings/network/UiccSlotUtil.java
@@ -162,7 +162,7 @@
         Log.d(TAG, "The SimSlotMapping: " + uiccSlotMappings);
 
         SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
+                SubscriptionManager.class).createForAllUserProfiles();
         int excludedLogicalSlotIndex = getExcludedLogicalSlotIndex(uiccSlotMappings,
                 SubscriptionUtil.getActiveSubscriptions(subscriptionManager), removedSubInfo,
                 telMgr.isMultiSimEnabled());
@@ -203,7 +203,7 @@
         }
 
         SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
+                SubscriptionManager.class).createForAllUserProfiles();
         int excludedLogicalSlotIndex = getExcludedLogicalSlotIndex(uiccSlotMappings,
                 SubscriptionUtil.getActiveSubscriptions(subscriptionManager), removedSubInfo,
                 telMgr.isMultiSimEnabled());
@@ -222,7 +222,7 @@
         List<UiccCardInfo> uiccCardInfos = telMgr.getUiccCardsInfo();
         ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(telMgr);
         SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
+                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.
@@ -308,7 +308,8 @@
         }
         if (slotId == INVALID_PHYSICAL_SLOT_ID) {
             for (int i = 0; i < slots.length; i++) {
-                if (slots[i].isRemovable()
+                if (slots[i] != null
+                        && slots[i].isRemovable()
                         && !slots[i].getIsEuicc()
                         && !slots[i].getPorts().stream().findFirst().get().isActive()
                         && slots[i].getCardStateInfo() != UiccSlotInfo.CARD_STATE_INFO_ERROR
@@ -317,8 +318,9 @@
                 }
             }
         } else {
-            if (slotId >= slots.length || !slots[slotId].isRemovable()) {
-                throw new UiccSlotsException("The given slotId is not a removable slot: " + slotId);
+            if (slotId >= slots.length || slots[slotId] == null || !slots[slotId].isRemovable()) {
+                Log.d(TAG, "The given slotId is not a removable slot: " + slotId);
+                return INVALID_PHYSICAL_SLOT_ID;
             }
             if (!slots[slotId].getPorts().stream().findFirst().get().isActive()) {
                 return slotId;
@@ -461,17 +463,27 @@
         if (telMgr == null) {
             return false;
         }
-        ImmutableList<UiccSlotInfo> slotInfos = UiccSlotUtil.getSlotInfos(telMgr);
+        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.getPorts().stream()
+                                                .anyMatch(port -> port.isActive())
                                         && slot.getCardStateInfo()
-                                                == UiccSlotInfo.CARD_STATE_INFO_PRESENT);
+                                        == UiccSlotInfo.CARD_STATE_INFO_PRESENT);
         Log.i(TAG, "isRemovableSimEnabled: " + isRemovableSimEnabled);
         return isRemovableSimEnabled;
     }
diff --git a/src/com/android/settings/network/UsbTetherPreferenceController.java b/src/com/android/settings/network/UsbTetherPreferenceController.java
deleted file mode 100644
index 7a5cc21..0000000
--- a/src/com/android/settings/network/UsbTetherPreferenceController.java
+++ /dev/null
@@ -1,95 +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;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.hardware.usb.UsbManager;
-import android.net.ConnectivityManager;
-import android.os.Environment;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.OnLifecycleEvent;
-
-import com.android.settings.Utils;
-
-/**
- * This controller helps to manage the switch state and visibility of USB tether switch
- * preference.
- *
- */
-public final class UsbTetherPreferenceController extends TetherBasePreferenceController {
-
-    private static final String TAG = "UsbTetherPrefController";
-
-    private boolean mUsbConnected;
-    private boolean mMassStorageActive;
-
-    public UsbTetherPreferenceController(Context context, String prefKey) {
-        super(context, prefKey);
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_START)
-    public void onStart() {
-        mMassStorageActive = Environment.MEDIA_SHARED.equals(Environment.getExternalStorageState());
-        IntentFilter filter = new IntentFilter(UsbManager.ACTION_USB_STATE);
-        filter.addAction(Intent.ACTION_MEDIA_SHARED);
-        filter.addAction(Intent.ACTION_MEDIA_UNSHARED);
-        mContext.registerReceiver(mUsbChangeReceiver, filter);
-    }
-
-    @OnLifecycleEvent(Lifecycle.Event.ON_STOP)
-    public void onStop() {
-        mContext.unregisterReceiver(mUsbChangeReceiver);
-    }
-
-    @Override
-    public boolean shouldEnable() {
-        return mUsbConnected && !mMassStorageActive;
-    }
-
-    @Override
-    public boolean shouldShow() {
-        String[] usbRegexs = mTm.getTetherableUsbRegexs();
-        return  usbRegexs != null && usbRegexs.length != 0 && !Utils.isMonkeyRunning();
-    }
-
-    @Override
-    public int getTetherType() {
-        return ConnectivityManager.TETHERING_USB;
-    }
-
-    @VisibleForTesting
-    final BroadcastReceiver mUsbChangeReceiver = new BroadcastReceiver() {
-        @Override
-        public void onReceive(Context context, Intent intent) {
-            String action = intent.getAction();
-            if (TextUtils.equals(Intent.ACTION_MEDIA_SHARED, action)) {
-                mMassStorageActive = true;
-            } else if (TextUtils.equals(Intent.ACTION_MEDIA_UNSHARED, action)) {
-                mMassStorageActive = false;
-            } else if (TextUtils.equals(UsbManager.ACTION_USB_STATE, action)) {
-                mUsbConnected = intent.getBooleanExtra(UsbManager.USB_CONNECTED, false);
-            }
-            updateState(mPreference);
-        }
-    };
-}
diff --git a/src/com/android/settings/network/WepNetworkDialogActivity.kt b/src/com/android/settings/network/WepNetworkDialogActivity.kt
new file mode 100644
index 0000000..d69630f
--- /dev/null
+++ b/src/com/android/settings/network/WepNetworkDialogActivity.kt
@@ -0,0 +1,112 @@
+/*
+ * 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.app.settings.SettingsEnums
+import android.content.Context
+import android.content.Intent
+import android.net.wifi.WifiManager
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.text.style.TextAlign
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import com.android.settings.R
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.wifi.ConfigureWifiSettings
+import com.android.settingslib.spa.SpaBaseDialogActivity
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.SettingsAlertDialogWithIcon
+import kotlin.coroutines.resume
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.suspendCancellableCoroutine
+import kotlinx.coroutines.withContext
+
+class WepNetworkDialogActivity : SpaBaseDialogActivity() {
+    @Composable
+    override fun Content() {
+        val context = LocalContext.current
+        val wifiManager = context.getSystemService(WifiManager::class.java)
+        SettingsAlertDialogWithIcon(
+            onDismissRequest = { finish() },
+            confirmButton = AlertDialogButton(
+                getString(R.string.wifi_settings_ssid_block_button_close)
+            ) { finish() },
+            dismissButton = if (wifiManager?.isWepSupported == true)
+                AlertDialogButton(
+                    getString(R.string.wifi_settings_wep_networks_button_allow)
+                ) {
+                    SubSettingLauncher(context)
+                        .setTitleText(context.getText(R.string.network_and_internet_preferences_title))
+                        .setSourceMetricsCategory(SettingsEnums.CONFIGURE_WIFI)
+                        .setDestination(ConfigureWifiSettings::class.java.getName())
+                        .launch()
+                    finish()
+                } else null,
+            title = String.format(
+                getString(R.string.wifi_settings_wep_networks_blocked_title),
+                intent.getStringExtra(SSID) ?: SSID
+            ),
+            text = {
+                Text(
+                    if (wifiManager?.isWepSupported == true)
+                        getString(R.string.wifi_settings_wep_networks_summary_toggle_off)
+                    else getString(R.string.wifi_settings_wep_networks_summary_blocked_by_carrier),
+                    modifier = Modifier.fillMaxWidth(),
+                    textAlign = TextAlign.Center
+                )
+            })
+    }
+
+    companion object {
+        @JvmStatic
+        fun checkWepAllowed(
+            context: Context,
+            lifecycleOwner: LifecycleOwner,
+            ssid: String,
+            onAllowed: () -> Unit,
+        ) {
+            lifecycleOwner.lifecycleScope.launch {
+                val wifiManager = context.getSystemService(WifiManager::class.java) ?: return@launch
+                if (wifiManager.queryWepAllowed()) {
+                    onAllowed()
+                } else {
+                    val intent = Intent(context, WepNetworkDialogActivity::class.java).apply {
+                        putExtra(SSID, ssid)
+                    }
+                    context.startActivity(intent)
+                }
+            }
+        }
+
+        private suspend fun WifiManager.queryWepAllowed(): Boolean =
+            withContext(Dispatchers.Default) {
+                suspendCancellableCoroutine { continuation ->
+                    queryWepAllowed(Dispatchers.Default.asExecutor()) {
+                        continuation.resume(it)
+                    }
+                }
+            }
+
+        const val SSID = "ssid"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/network/WifiSwitchPreferenceController.java b/src/com/android/settings/network/WifiSwitchPreferenceController.java
index da69f4f..8e6f444 100644
--- a/src/com/android/settings/network/WifiSwitchPreferenceController.java
+++ b/src/com/android/settings/network/WifiSwitchPreferenceController.java
@@ -91,7 +91,7 @@
         // Wi-Fi state, but WifiEnabler will enable the preference when the Wi-Fi state changes.
         if (mPreference != null && mIsChangeWifiStateAllowed) {
             mWifiEnabler = new WifiEnabler(mContext, new GenericSwitchController(mPreference),
-                    FeatureFactory.getFactory(mContext).getMetricsFeatureProvider());
+                    FeatureFactory.getFeatureFactory().getMetricsFeatureProvider());
         }
     }
 
diff --git a/src/com/android/settings/network/WifiTetherDisablePreferenceController.java b/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
deleted file mode 100644
index 783f78f..0000000
--- a/src/com/android/settings/network/WifiTetherDisablePreferenceController.java
+++ /dev/null
@@ -1,120 +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;
-
-import static com.android.settings.network.TetherEnabler.TETHERING_BLUETOOTH_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_ETHERNET_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_USB_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_WIFI_ON;
-
-import android.content.Context;
-import android.net.ConnectivityManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-
-/**
- * This controller helps to manage the switch state and visibility of wifi tether disable switch
- * preference. When the preference checked, wifi tether will be disabled.
- *
- * @see BluetoothTetherPreferenceController
- * @see UsbTetherPreferenceController
- */
-public final class WifiTetherDisablePreferenceController extends TetherBasePreferenceController {
-
-    private static final String TAG = "WifiTetherDisablePreferenceController";
-
-    private PreferenceScreen mScreen;
-
-    public WifiTetherDisablePreferenceController(Context context, String prefKey) {
-        super(context, prefKey);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return !super.isChecked();
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        return super.setChecked(!isChecked);
-    }
-
-    private int getTetheringStateOfOtherInterfaces() {
-        return mTetheringState & (~TETHERING_WIFI_ON);
-    }
-
-    @Override
-    public boolean shouldEnable() {
-        return true;
-    }
-
-    @Override
-    public boolean shouldShow() {
-        final String[] wifiRegexs = mTm.getTetherableWifiRegexs();
-        return wifiRegexs != null && wifiRegexs.length != 0 && !Utils.isMonkeyRunning()
-                && getTetheringStateOfOtherInterfaces() != TetherEnabler.TETHERING_OFF;
-    }
-
-    @Override
-    public int getTetherType() {
-        return ConnectivityManager.TETHERING_WIFI;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        switch (getTetheringStateOfOtherInterfaces()) {
-            case TETHERING_USB_ON:
-                return mContext.getString(R.string.disable_wifi_hotspot_when_usb_on);
-            case TETHERING_BLUETOOTH_ON:
-                return mContext.getString(R.string.disable_wifi_hotspot_when_bluetooth_on);
-            case TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.disable_wifi_hotspot_when_ethernet_on);
-            case TETHERING_USB_ON | TETHERING_BLUETOOTH_ON:
-                return mContext.getString(R.string.disable_wifi_hotspot_when_usb_and_bluetooth_on);
-            case TETHERING_USB_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(R.string.disable_wifi_hotspot_when_usb_and_ethernet_on);
-            case TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(
-                        R.string.disable_wifi_hotspot_when_bluetooth_and_ethernet_on);
-            case TETHERING_USB_ON | TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON:
-                return mContext.getString(
-                        R.string.disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on);
-            default:
-                return mContext.getString(R.string.summary_placeholder);
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mScreen = screen;
-        if (mPreference != null) {
-            mPreference.setOnPreferenceChangeListener(this);
-        }
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        preference.setVisible(isAvailable());
-        refreshSummary(preference);
-    }
-}
diff --git a/src/com/android/settings/network/apn/ApnEditPageProvider.kt b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
new file mode 100644
index 0000000..eda9d7a
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnEditPageProvider.kt
@@ -0,0 +1,233 @@
+/*
+ * 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.apn
+
+import android.net.Uri
+import android.os.Bundle
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.fillMaxWidth
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Button
+import androidx.compose.material3.DropdownMenuItem
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.MutableState
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.setValue
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringArrayResource
+import androidx.compose.ui.res.stringResource
+import androidx.navigation.NavType
+import androidx.navigation.navArgument
+import com.android.settings.R
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.compose.LocalNavController
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.widget.editor.SettingsExposedDropdownMenuBox
+import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField
+import com.android.settingslib.spa.widget.editor.SettingsTextFieldPassword
+import com.android.settingslib.spa.widget.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+import com.android.settingslib.spa.widget.scaffold.MoreOptionsAction
+import com.android.settingslib.spa.widget.scaffold.RegularScaffold
+import java.util.Base64
+
+const val URI_TYPE = "uriType"
+const val URI = "uri"
+const val SUB_ID = "subId"
+const val EDIT_URL = "editUrl"
+const val INSERT_URL = "insertUrl"
+
+object ApnEditPageProvider : SettingsPageProvider {
+
+    override val name = "ApnEdit"
+    const val TAG = "ApnEditPageProvider"
+
+    override val parameter = listOf(
+        navArgument(URI_TYPE) { type = NavType.StringType },
+        navArgument(URI) { type = NavType.StringType },
+        navArgument(SUB_ID) { type = NavType.IntType },
+    )
+
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        val uriString = arguments!!.getString(URI)
+        val uriInit = Uri.parse(String(Base64.getDecoder().decode(uriString)))
+        val subId = arguments.getInt(SUB_ID)
+        val apnDataInit = getApnDataInit(arguments, LocalContext.current, uriInit, subId) ?: return
+        val apnDataCur = remember {
+            mutableStateOf(apnDataInit)
+        }
+        ApnPage(apnDataInit, apnDataCur, uriInit)
+    }
+
+    fun getRoute(
+        uriType: String,
+        uri: Uri,
+        subId: Int
+    ): String = "${name}/$uriType/${
+        Base64.getUrlEncoder().encodeToString(uri.toString().toByteArray())
+    }/$subId"
+}
+
+@Composable
+fun ApnPage(apnDataInit: ApnData, apnDataCur: MutableState<ApnData>, uriInit: Uri) {
+    var apnData by apnDataCur
+    val context = LocalContext.current
+    val authTypeOptions = stringArrayResource(R.array.apn_auth_entries).toList()
+    val apnProtocolOptions = stringArrayResource(R.array.apn_protocol_entries).toList()
+    var apnTypeMmsSelected by remember { mutableStateOf(false) }
+    val navController = LocalNavController.current
+    var valid: String?
+    RegularScaffold(
+        title = if (apnDataInit.newApn) stringResource(id = R.string.apn_add) else stringResource(id = R.string.apn_edit),
+        actions = {
+            if (!apnData.customizedConfig.readOnlyApn) {
+                Button(onClick = {
+                    valid = validateAndSaveApnData(
+                        apnDataInit,
+                        apnData,
+                        context,
+                        uriInit
+                    )
+                    if (valid == null) navController.navigateBack()
+                    else if (!apnData.validEnabled) apnData = apnData.copy(validEnabled = true)
+                }) { Text(text = stringResource(id = R.string.save)) }
+            }
+            if (!apnData.newApn && !apnData.customizedConfig.readOnlyApn
+                && apnData.customizedConfig.isAddApnAllowed
+            ) {
+                MoreOptionsAction {
+                    DropdownMenuItem(
+                        text = { Text(stringResource(R.string.menu_delete)) },
+                        onClick = {
+                            deleteApn(uriInit, context)
+                            navController.navigateBack()
+                        })
+                }
+            }
+        },
+    ) {
+        Column {
+            if (apnData.validEnabled) {
+                valid = validateApnData(apnData, context)
+                valid?.let {
+                    Text(
+                        text = it,
+                        modifier = Modifier
+                            .fillMaxWidth()
+                            .padding(SettingsDimension.menuFieldPadding),
+                        color = MaterialTheme.colorScheme.primary
+                    )
+                }
+            }
+            SettingsOutlinedTextField(
+                value = apnData.name,
+                label = stringResource(R.string.apn_name),
+                enabled = apnData.nameEnabled,
+                errorMessage = validateName(apnData.validEnabled, apnData.name, context)
+            ) { apnData = apnData.copy(name = it) }
+            SettingsOutlinedTextField(
+                value = apnData.apn,
+                label = stringResource(R.string.apn_apn),
+                enabled = apnData.apnEnabled,
+                errorMessage = validateAPN(apnData.validEnabled, apnData.apn, context)
+            ) { apnData = apnData.copy(apn = it) }
+            SettingsOutlinedTextField(
+                value = apnData.proxy,
+                label = stringResource(R.string.apn_http_proxy),
+                enabled = apnData.proxyEnabled
+            ) { apnData = apnData.copy(proxy = it) }
+            SettingsOutlinedTextField(
+                value = apnData.port,
+                label = stringResource(R.string.apn_http_port),
+                enabled = apnData.portEnabled
+            ) { apnData = apnData.copy(port = it) }
+            SettingsOutlinedTextField(
+                value = apnData.userName,
+                label = stringResource(R.string.apn_user),
+                enabled = apnData.userNameEnabled
+            ) { apnData = apnData.copy(userName = it) }
+            SettingsTextFieldPassword(
+                value = apnData.passWord,
+                label = stringResource(R.string.apn_password),
+                enabled = apnData.passWordEnabled
+            ) { apnData = apnData.copy(passWord = it) }
+            SettingsOutlinedTextField(
+                value = apnData.server,
+                label = stringResource(R.string.apn_server),
+                enabled = apnData.serverEnabled
+            ) { apnData = apnData.copy(server = it) }
+            ApnTypeCheckBox(
+                apnData = apnData,
+                onTypeChanged = { apnData = apnData.copy(apnType = it) },
+                onMmsSelectedChanged = { apnTypeMmsSelected = it },
+            )
+            if (apnTypeMmsSelected) {
+                SettingsOutlinedTextField(
+                    value = apnData.mmsc,
+                    label = stringResource(R.string.apn_mmsc),
+                    errorMessage = validateMMSC(apnData.validEnabled, apnData.mmsc, context),
+                    enabled = apnData.mmscEnabled
+                ) { apnData = apnData.copy(mmsc = it) }
+                SettingsOutlinedTextField(
+                    value = apnData.mmsProxy,
+                    label = stringResource(R.string.apn_mms_proxy),
+                    enabled = apnData.mmsProxyEnabled
+                ) { apnData = apnData.copy(mmsProxy = it) }
+                SettingsOutlinedTextField(
+                    value = apnData.mmsPort,
+                    label = stringResource(R.string.apn_mms_port),
+                    enabled = apnData.mmsPortEnabled
+                ) { apnData = apnData.copy(mmsPort = it) }
+            }
+            SettingsExposedDropdownMenuBox(
+                label = stringResource(R.string.apn_auth_type),
+                options = authTypeOptions,
+                selectedOptionIndex = apnData.authType,
+                enabled = apnData.authTypeEnabled,
+            ) { apnData = apnData.copy(authType = it) }
+            SettingsExposedDropdownMenuBox(
+                label = stringResource(R.string.apn_protocol),
+                options = apnProtocolOptions,
+                selectedOptionIndex = apnData.apnProtocol,
+                enabled = apnData.apnProtocolEnabled
+            ) { apnData = apnData.copy(apnProtocol = it) }
+            SettingsExposedDropdownMenuBox(
+                label = stringResource(R.string.apn_roaming_protocol),
+                options = apnProtocolOptions,
+                selectedOptionIndex = apnData.apnRoaming,
+                enabled = apnData.apnRoamingEnabled
+            ) { apnData = apnData.copy(apnRoaming = it) }
+            ApnNetworkTypeCheckBox(apnData) { apnData = apnData.copy(networkType = it) }
+            SwitchPreference(
+                object : SwitchPreferenceModel {
+                    override val title = context.resources.getString(R.string.carrier_enabled)
+                    override val changeable = { apnData.apnEnableEnabled }
+                    override val checked = { apnData.apnEnable }
+                    override val onCheckedChange = { newChecked: Boolean ->
+                        apnData = apnData.copy(apnEnable = newChecked)
+                    }
+                }
+            )
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/network/apn/ApnEditor.java b/src/com/android/settings/network/apn/ApnEditor.java
index 7a80cd7..d1b2f2f 100644
--- a/src/com/android/settings/network/apn/ApnEditor.java
+++ b/src/com/android/settings/network/apn/ApnEditor.java
@@ -48,7 +48,7 @@
 import androidx.preference.MultiSelectListPreference;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.util.ArrayUtils;
 import com.android.settings.R;
@@ -119,7 +119,7 @@
     @VisibleForTesting
     ListPreference mRoamingProtocol;
     @VisibleForTesting
-    SwitchPreference mCarrierEnabled;
+    TwoStatePreference mCarrierEnabled;
     @VisibleForTesting
     MultiSelectListPreference mBearerMulti;
     @VisibleForTesting
@@ -435,15 +435,20 @@
             return false;
         }
 
-        if (hasAllApns(apnTypesArray1) || TextUtils.isEmpty(apnTypes2)) {
+        final String[] apnTypesArray1LowerCase = new String[apnTypesArray1.length];
+        for (int i = 0; i < apnTypesArray1.length; i++) {
+            apnTypesArray1LowerCase[i] = apnTypesArray1[i].toLowerCase();
+        }
+
+        if (hasAllApns(apnTypesArray1LowerCase) || TextUtils.isEmpty(apnTypes2)) {
             return true;
         }
 
-        final List apnTypesList1 = Arrays.asList(apnTypesArray1);
+        final List apnTypesList1 = Arrays.asList(apnTypesArray1LowerCase);
         final String[] apnTypesArray2 = apnTypes2.split(",");
 
         for (String apn : apnTypesArray2) {
-            if (apnTypesList1.contains(apn.trim())) {
+            if (apnTypesList1.contains(apn.trim().toLowerCase())) {
                 Log.d(TAG, "apnTypesMatch: true because match found for " + apn.trim());
                 return true;
             }
@@ -1332,7 +1337,7 @@
         mAuthType = (ListPreference) findPreference(KEY_AUTH_TYPE);
         mProtocol = (ListPreference) findPreference(KEY_PROTOCOL);
         mRoamingProtocol = (ListPreference) findPreference(KEY_ROAMING_PROTOCOL);
-        mCarrierEnabled = (SwitchPreference) findPreference(KEY_CARRIER_ENABLED);
+        mCarrierEnabled = (TwoStatePreference) findPreference(KEY_CARRIER_ENABLED);
         mBearerMulti = (MultiSelectListPreference) findPreference(KEY_BEARER_MULTI);
         mMvnoType = (ListPreference) findPreference(KEY_MVNO_TYPE);
         mMvnoMatchData = (EditTextPreference) findPreference("mvno_match_data");
@@ -1446,8 +1451,7 @@
                 null /* selection */,
                 null /* selectionArgs */,
                 null /* sortOrder */)) {
-            if (cursor != null) {
-                cursor.moveToFirst();
+            if (cursor != null && cursor.moveToFirst()) {
                 apnData = new ApnData(uri, cursor);
             }
         }
diff --git a/src/com/android/settings/network/apn/ApnNetworkTypeCheckBox.kt b/src/com/android/settings/network/apn/ApnNetworkTypeCheckBox.kt
new file mode 100644
index 0000000..bc85f55
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnNetworkTypeCheckBox.kt
@@ -0,0 +1,41 @@
+/*
+ * 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 androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckBox
+
+@Composable
+fun ApnNetworkTypeCheckBox(apnData: ApnData, onNetworkTypeChanged: (Long) -> Unit) {
+    val options = remember { ApnNetworkTypes.getNetworkTypeOptions() }
+    val selectedStateMap = remember {
+        ApnNetworkTypes.networkTypeToSelectedStateMap(options, apnData.networkType)
+    }
+    SettingsDropdownCheckBox(
+        label = stringResource(R.string.network_type),
+        options = options,
+        emptyText = stringResource(R.string.network_type_unspecified),
+        enabled = apnData.networkTypeEnabled,
+    ) {
+        onNetworkTypeChanged(
+            ApnNetworkTypes.selectedStateMapToNetworkType(options, selectedStateMap)
+        )
+    }
+}
diff --git a/src/com/android/settings/network/apn/ApnNetworkTypes.kt b/src/com/android/settings/network/apn/ApnNetworkTypes.kt
new file mode 100644
index 0000000..e7a93b3
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnNetworkTypes.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.apn
+
+import android.telephony.TelephonyManager
+import androidx.compose.runtime.mutableStateMapOf
+import androidx.compose.runtime.snapshots.SnapshotStateMap
+import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckOption
+
+object ApnNetworkTypes {
+    private val Types = listOf(
+        TelephonyManager.NETWORK_TYPE_LTE,
+        TelephonyManager.NETWORK_TYPE_HSPAP,
+        TelephonyManager.NETWORK_TYPE_HSPA,
+        TelephonyManager.NETWORK_TYPE_HSUPA,
+        TelephonyManager.NETWORK_TYPE_HSDPA,
+        TelephonyManager.NETWORK_TYPE_UMTS,
+        TelephonyManager.NETWORK_TYPE_EDGE,
+        TelephonyManager.NETWORK_TYPE_GPRS,
+        TelephonyManager.NETWORK_TYPE_EHRPD,
+        TelephonyManager.NETWORK_TYPE_EVDO_B,
+        TelephonyManager.NETWORK_TYPE_EVDO_A,
+        TelephonyManager.NETWORK_TYPE_EVDO_0,
+        TelephonyManager.NETWORK_TYPE_1xRTT,
+        TelephonyManager.NETWORK_TYPE_CDMA,
+        TelephonyManager.NETWORK_TYPE_NR,
+    )
+
+    fun getNetworkTypeOptions(): List<SettingsDropdownCheckOption> =
+        Types.map { SettingsDropdownCheckOption(TelephonyManager.getNetworkTypeName(it)) }
+
+    /**
+     * Gets the selected Network type Selected Options according to network type.
+     * @param networkType Initialized network type bitmask, often multiple network type options may
+     *                    be included.
+     */
+    fun networkTypeToSelectedStateMap(
+        options: List<SettingsDropdownCheckOption>,
+        networkType: Long,
+    ): SnapshotStateMap<SettingsDropdownCheckOption, Boolean> {
+        val stateMap = mutableStateMapOf<SettingsDropdownCheckOption, Boolean>()
+        Types.forEachIndexed { index, type ->
+            if (networkType and TelephonyManager.getBitMaskForNetworkType(type) != 0L) {
+                stateMap[options[index]] = true
+            }
+        }
+        return stateMap
+    }
+
+    /**
+     * Gets the network type according to the selected Network type Selected Options.
+     * @param stateMap the selected Network type Selected Options.
+     */
+    fun selectedStateMapToNetworkType(
+        options: List<SettingsDropdownCheckOption>,
+        stateMap: SnapshotStateMap<SettingsDropdownCheckOption, Boolean>,
+    ): Long {
+        var networkType = 0L
+        options.forEachIndexed { index, option ->
+            if (stateMap[option] == true) {
+                networkType = networkType or TelephonyManager.getBitMaskForNetworkType(Types[index])
+            }
+        }
+        return networkType
+    }
+}
diff --git a/src/com/android/settings/network/apn/ApnPreference.java b/src/com/android/settings/network/apn/ApnPreference.java
index f277db0..dcc50cd 100755
--- a/src/com/android/settings/network/apn/ApnPreference.java
+++ b/src/com/android/settings/network/apn/ApnPreference.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.network.apn;
 
+import static com.android.settings.network.apn.ApnEditPageProviderKt.EDIT_URL;
+
 import android.content.ContentUris;
 import android.content.Context;
 import android.content.Intent;
@@ -34,15 +36,21 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.spa.SpaActivity;
 
 /**
  * Preference of APN UI entry
  */
-public class ApnPreference extends Preference implements CompoundButton.OnCheckedChangeListener,
-        View.OnClickListener {
-    private static final  String TAG = "ApnPreference";
-
+public class ApnPreference extends Preference
+        implements CompoundButton.OnCheckedChangeListener, View.OnClickListener {
+    private static final String TAG = "ApnPreference";
+    private static String sSelectedKey = null;
+    private static CompoundButton sCurrentChecked = null;
     private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+    private boolean mProtectFromCheckedChange = false;
+    private boolean mSelectable = true;
+    private boolean mHideDetails = false;
 
     /**
      * Constructor of Preference
@@ -65,12 +73,6 @@
         this(context, null);
     }
 
-    private static String sSelectedKey = null;
-    private static CompoundButton sCurrentChecked = null;
-    private boolean mProtectFromCheckedChange = false;
-    private boolean mSelectable = true;
-    private boolean mHideDetails = false;
-
     @Override
     public void onBindViewHolder(PreferenceViewHolder view) {
         super.onBindViewHolder(view);
@@ -147,25 +149,32 @@
         }
 
         if (mHideDetails) {
-            Toast.makeText(context, context.getString(
-                    R.string.cannot_change_apn_toast), Toast.LENGTH_LONG).show();
+            Toast.makeText(context, context.getString(R.string.cannot_change_apn_toast),
+                    Toast.LENGTH_LONG).show();
             return;
         }
-        final Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos);
-        final Intent editIntent = new Intent(Intent.ACTION_EDIT, url);
-        editIntent.putExtra(ApnSettings.SUB_ID, mSubId);
-        editIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
-        context.startActivity(editIntent);
-    }
 
-    public void setSelectable(boolean selectable) {
-        mSelectable = selectable;
+        final Uri url = ContentUris.withAppendedId(Telephony.Carriers.CONTENT_URI, pos);
+
+        if (Flags.newApnPageEnabled()) {
+            String route = ApnEditPageProvider.INSTANCE.getRoute(EDIT_URL, url, mSubId);
+            SpaActivity.startSpaActivity(context, route);
+        } else {
+            final Intent editIntent = new Intent(Intent.ACTION_EDIT, url);
+            editIntent.putExtra(ApnSettings.SUB_ID, mSubId);
+            editIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+            context.startActivity(editIntent);
+        }
     }
 
     public boolean getSelectable() {
         return mSelectable;
     }
 
+    public void setSelectable(boolean selectable) {
+        mSelectable = selectable;
+    }
+
     public void setSubId(int subId) {
         mSubId = subId;
     }
diff --git a/src/com/android/settings/network/apn/ApnRepository.kt b/src/com/android/settings/network/apn/ApnRepository.kt
new file mode 100644
index 0000000..2d41976
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnRepository.kt
@@ -0,0 +1,189 @@
+/*
+ * 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.apn
+
+import android.content.ContentValues
+import android.content.Context
+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.settingslib.utils.ThreadUtils
+import java.util.Locale
+
+val Projection = arrayOf(
+    Telephony.Carriers._ID,  // 0
+    Telephony.Carriers.NAME,  // 1
+    Telephony.Carriers.APN,  // 2
+    Telephony.Carriers.PROXY,  // 3
+    Telephony.Carriers.PORT,  // 4
+    Telephony.Carriers.USER,  // 5
+    Telephony.Carriers.SERVER,  // 6
+    Telephony.Carriers.PASSWORD,  // 7
+    Telephony.Carriers.MMSC,  // 8
+    Telephony.Carriers.MMSPROXY,  // 9
+    Telephony.Carriers.MMSPORT,  // 10
+    Telephony.Carriers.AUTH_TYPE,  // 11
+    Telephony.Carriers.TYPE,  // 12
+    Telephony.Carriers.PROTOCOL,  // 13
+    Telephony.Carriers.CARRIER_ENABLED,  // 14
+    Telephony.Carriers.NETWORK_TYPE_BITMASK, // 15
+    Telephony.Carriers.ROAMING_PROTOCOL,  // 16
+    Telephony.Carriers.EDITED_STATUS,  // 17
+    Telephony.Carriers.USER_EDITABLE,  // 18
+)
+
+private const val TAG = "ApnRepository"
+
+/**
+ * Query apn related information based on uri.
+ * @param uri URI data used for query.
+ *
+ * @return Stored apn related information.
+ */
+fun getApnDataFromUri(uri: Uri, context: Context): ApnData {
+    var apnData = ApnData()
+    val contentResolver = context.contentResolver
+
+    contentResolver.query(
+        uri,
+        Projection,
+        null /* selection */,
+        null /* selectionArgs */,
+        null /* sortOrder */
+    ).use { cursor ->
+        if (cursor != null && cursor.moveToFirst()) {
+            apnData = ApnData(
+                id = cursor.getInt(Telephony.Carriers._ID),
+                name = cursor.getString(Telephony.Carriers.NAME),
+                apn = cursor.getString(Telephony.Carriers.APN),
+                proxy = cursor.getString(Telephony.Carriers.PROXY),
+                port = cursor.getString(Telephony.Carriers.PORT),
+                userName = cursor.getString(Telephony.Carriers.USER),
+                passWord = cursor.getString(Telephony.Carriers.PASSWORD),
+                server = cursor.getString(Telephony.Carriers.SERVER),
+                mmsc = cursor.getString(Telephony.Carriers.MMSC),
+                mmsProxy = cursor.getString(Telephony.Carriers.MMSPROXY),
+                mmsPort = cursor.getString(Telephony.Carriers.MMSPORT),
+                authType = cursor.getInt(Telephony.Carriers.AUTH_TYPE),
+                apnType = cursor.getString(Telephony.Carriers.TYPE),
+                apnProtocol = context.convertProtocol2Options(
+                    cursor.getString(Telephony.Carriers.PROTOCOL)
+                ),
+                apnRoaming = context.convertProtocol2Options(
+                    cursor.getString(Telephony.Carriers.ROAMING_PROTOCOL)
+                ),
+                apnEnable = 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),
+            )
+        }
+    }
+    if (apnData.name == "") {
+        Log.d(TAG, "Can't get apnData from Uri $uri")
+    }
+    return apnData
+}
+
+private fun Cursor.getString(columnName: String) = getString(getColumnIndexOrThrow(columnName))
+private fun Cursor.getInt(columnName: String) = getInt(getColumnIndexOrThrow(columnName))
+private fun Cursor.getLong(columnName: String) = getLong(getColumnIndexOrThrow(columnName))
+
+/**
+ * Returns The UI choice index corresponding to the given raw value of the protocol preference
+ * (e.g., "IPV4V6").
+ * If unknown, return -1.
+ */
+private fun Context.convertProtocol2Options(protocol: String): Int {
+    var normalizedProtocol = protocol.uppercase(Locale.getDefault())
+    if (normalizedProtocol == "IPV4") normalizedProtocol = "IP"
+    return resources.getStringArray(R.array.apn_protocol_values).indexOf(normalizedProtocol)
+}
+
+fun Context.convertOptions2Protocol(protocolIndex: Int): String =
+    resources.getStringArray(R.array.apn_protocol_values).getOrElse(protocolIndex) { "" }
+
+fun updateApnDataToDatabase(
+    newApn: Boolean,
+    values: ContentValues,
+    context: Context,
+    uriInit: Uri
+) {
+    ThreadUtils.postOnBackgroundThread {
+        if (newApn) {
+            Log.d(TAG, "Adding an new APN to the database $uriInit $values")
+            val newUri = context.contentResolver.insert(uriInit, values)
+            if (newUri == null) {
+                Log.e(TAG, "Can't add a new apn to database $uriInit")
+            }
+        } else {
+            Log.d(TAG, "Updating an existing APN to the database $uriInit $values")
+            context.contentResolver.update(
+                uriInit, values, null /* where */, null /* selection Args */
+            )
+        }
+    }
+}
+
+/** Not allowing add duplicated items, if the values of the following keys are all identical. */
+private val NonDuplicatedKeys = setOf(
+    Telephony.Carriers.APN,
+    Telephony.Carriers.PROXY,
+    Telephony.Carriers.PORT,
+    Telephony.Carriers.MMSC,
+    Telephony.Carriers.MMSPROXY,
+    Telephony.Carriers.MMSPORT,
+    Telephony.Carriers.PROTOCOL,
+    Telephony.Carriers.ROAMING_PROTOCOL,
+)
+
+fun isItemExist(apnData: ApnData, context: Context): String? {
+    val selectionMap = apnData.getContentValueMap(context).filterKeys { it in NonDuplicatedKeys }
+        .mapKeys { "${it.key} = ?" }
+        .toMutableMap()
+    if (apnData.id != -1) selectionMap += "${Telephony.Carriers._ID} != ?" to apnData.id
+    val list = selectionMap.entries.toList()
+    val selection = list.joinToString(" AND ") { it.key }
+    val selectionArgs: Array<String> = list.map { it.value.toString() }.toTypedArray()
+    context.contentResolver.query(
+        Uri.withAppendedPath(Telephony.Carriers.SIM_APN_URI, apnData.subId.toString()),
+        /* projection = */ emptyArray(),
+        selection,
+        selectionArgs,
+        /* sortOrder = */ null,
+    )?.use { cursor ->
+        if (cursor.count > 0) {
+            return context.resources.getString(R.string.error_duplicate_apn_entry)
+        }
+    }
+    return null
+}
+
+fun Context.getApnIdMap(subId: Int): Map<String, Any> {
+    val subInfo = getSystemService(SubscriptionManager::class.java)!!
+        .getActiveSubscriptionInfo(subId)
+    val carrierId = subInfo.carrierId
+    return if (carrierId != TelephonyManager.UNKNOWN_CARRIER_ID) {
+        mapOf(Telephony.Carriers.CARRIER_ID to carrierId)
+    } else {
+        mapOf(Telephony.Carriers.NUMERIC to subInfo.mccString + subInfo.mncString)
+    }.also { Log.d(TAG, "[$subId] New APN item with id: $it") }
+}
diff --git a/src/com/android/settings/network/apn/ApnSettings.java b/src/com/android/settings/network/apn/ApnSettings.java
index 82d5612..c3feae8 100755
--- a/src/com/android/settings/network/apn/ApnSettings.java
+++ b/src/com/android/settings/network/apn/ApnSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.network.apn;
 
+import static com.android.settings.network.apn.ApnEditPageProviderKt.INSERT_URL;
+
 import android.app.Activity;
 import android.app.Dialog;
 import android.app.ProgressDialog;
@@ -57,7 +59,9 @@
 
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.SubscriptionUtil;
+import com.android.settings.spa.SpaActivity;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 import java.util.ArrayList;
@@ -248,7 +252,7 @@
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
 
-        getEmptyTextView().setText(R.string.apn_settings_not_available);
+        getEmptyTextView().setText(com.android.settingslib.R.string.apn_settings_not_available);
         mUnavailable = isUiRestricted();
         setHasOptionsMenu(!mUnavailable);
         if (mUnavailable) {
@@ -420,16 +424,22 @@
     }
 
     private void addNewApn() {
-        final Intent intent = new Intent(Intent.ACTION_INSERT, Telephony.Carriers.CONTENT_URI);
         final int subId = mSubscriptionInfo != null ? mSubscriptionInfo.getSubscriptionId()
                 : SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        intent.putExtra(SUB_ID, subId);
-        intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
-        if (!TextUtils.isEmpty(mMvnoType) && !TextUtils.isEmpty(mMvnoMatchData)) {
-            intent.putExtra(MVNO_TYPE, mMvnoType);
-            intent.putExtra(MVNO_MATCH_DATA, mMvnoMatchData);
+        if (Flags.newApnPageEnabled()) {
+            String route = ApnEditPageProvider.INSTANCE.getRoute(
+                    INSERT_URL, Telephony.Carriers.CONTENT_URI, subId);
+            SpaActivity.startSpaActivity(getContext(), route);
+        } else {
+            final Intent intent = new Intent(Intent.ACTION_INSERT, Telephony.Carriers.CONTENT_URI);
+            intent.putExtra(SUB_ID, subId);
+            intent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+            if (!TextUtils.isEmpty(mMvnoType) && !TextUtils.isEmpty(mMvnoMatchData)) {
+                intent.putExtra(MVNO_TYPE, mMvnoType);
+                intent.putExtra(MVNO_MATCH_DATA, mMvnoMatchData);
+            }
+            startActivity(intent);
         }
-        startActivity(intent);
     }
 
     @Override
diff --git a/src/com/android/settings/network/apn/ApnStatus.kt b/src/com/android/settings/network/apn/ApnStatus.kt
new file mode 100644
index 0000000..ab16f1c
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnStatus.kt
@@ -0,0 +1,370 @@
+/*
+ * 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.apn
+
+import android.content.ContentValues
+import android.content.Context
+import android.net.Uri
+import android.os.Bundle
+import android.provider.Telephony
+import android.telephony.CarrierConfigManager
+import android.util.Log
+import com.android.settings.R
+import com.android.settings.network.apn.ApnTypes.getPreSelectedApnType
+
+private const val TAG = "ApnStatus"
+
+data class ApnData(
+    val id: Int = -1,
+    val name: String = "",
+    val apn: String = "",
+    val proxy: String = "",
+    val port: String = "",
+    val userName: String = "",
+    val passWord: String = "",
+    val server: String = "",
+    val mmsc: String = "",
+    val mmsProxy: String = "",
+    val mmsPort: String = "",
+    val authType: Int = -1,
+    val apnType: String = "",
+    val apnProtocol: Int = -1,
+    val apnRoaming: Int = -1,
+    val apnEnable: Boolean = true,
+    val networkType: Long = 0,
+    val edited: Int = Telephony.Carriers.USER_EDITED,
+    val userEditable: Int = 1,
+    val nameEnabled: Boolean = true,
+    val apnEnabled: Boolean = true,
+    val proxyEnabled: Boolean = true,
+    val portEnabled: Boolean = true,
+    val userNameEnabled: Boolean = true,
+    val passWordEnabled: Boolean = true,
+    val serverEnabled: Boolean = true,
+    val mmscEnabled: Boolean = true,
+    val mmsProxyEnabled: Boolean = true,
+    val mmsPortEnabled: Boolean = true,
+    val authTypeEnabled: Boolean = true,
+    val apnTypeEnabled: Boolean = true,
+    val apnProtocolEnabled: Boolean = true,
+    val apnRoamingEnabled: Boolean = true,
+    val apnEnableEnabled: Boolean = true,
+    val networkTypeEnabled: Boolean = true,
+    val newApn: Boolean = false,
+    val subId: Int = -1,
+    val validEnabled: Boolean = false,
+    val customizedConfig: CustomizedConfig = CustomizedConfig()
+) {
+    fun getContentValueMap(context: Context): Map<String, Any> = mapOf(
+        Telephony.Carriers.NAME to name,
+        Telephony.Carriers.APN to apn,
+        Telephony.Carriers.PROXY to proxy,
+        Telephony.Carriers.PORT to port,
+        Telephony.Carriers.USER to userName,
+        Telephony.Carriers.SERVER to server,
+        Telephony.Carriers.PASSWORD to passWord,
+        Telephony.Carriers.MMSC to mmsc,
+        Telephony.Carriers.MMSPROXY to mmsProxy,
+        Telephony.Carriers.MMSPORT to mmsPort,
+        Telephony.Carriers.AUTH_TYPE to authType,
+        Telephony.Carriers.PROTOCOL to context.convertOptions2Protocol(apnProtocol),
+        Telephony.Carriers.ROAMING_PROTOCOL to context.convertOptions2Protocol(apnRoaming),
+        Telephony.Carriers.TYPE to apnType,
+        Telephony.Carriers.NETWORK_TYPE_BITMASK to networkType,
+        Telephony.Carriers.CARRIER_ENABLED to apnEnable,
+        Telephony.Carriers.EDITED_STATUS to Telephony.Carriers.USER_EDITED,
+    )
+
+    fun getContentValues(context: Context) = ContentValues().apply {
+        if (newApn) context.getApnIdMap(subId).forEach(::putObject)
+        getContentValueMap(context).forEach(::putObject)
+    }
+}
+
+data class CustomizedConfig(
+    val readOnlyApn: Boolean = false,
+    val isAddApnAllowed: Boolean = true,
+    val readOnlyApnTypes: List<String> = emptyList(),
+    val readOnlyApnFields: List<String> = emptyList(),
+    val defaultApnTypes: List<String>? = null,
+    val defaultApnProtocol: String = "",
+    val defaultApnRoamingProtocol: String = "",
+)
+
+/**
+ * Initialize ApnData according to the arguments.
+ * @param arguments The data passed in when the user calls PageProvider.
+ * @param uriInit The decoded user incoming uri data in Page.
+ * @param subId The subId obtained in arguments.
+ *
+ * @return Initialized CustomizedConfig information.
+ */
+fun getApnDataInit(arguments: Bundle, context: Context, uriInit: Uri, subId: Int): ApnData? {
+    val uriType = arguments.getString(URI_TYPE) ?: return null
+
+    if (!uriInit.isPathPrefixMatch(Telephony.Carriers.CONTENT_URI)) {
+        Log.e(TAG, "Insert request not for carrier table. Uri: $uriInit")
+        return null
+    }
+
+    var apnDataInit = when (uriType) {
+        EDIT_URL -> getApnDataFromUri(uriInit, context)
+        INSERT_URL -> ApnData()
+        else -> return null
+    }
+
+    if (uriType == INSERT_URL) {
+        apnDataInit = apnDataInit.copy(newApn = true)
+    }
+
+    apnDataInit = apnDataInit.copy(subId = subId)
+    val configManager =
+        context.getSystemService(Context.CARRIER_CONFIG_SERVICE) as CarrierConfigManager
+    apnDataInit =
+        apnDataInit.copy(customizedConfig = getCarrierCustomizedConfig(apnDataInit, configManager))
+
+    if (apnDataInit.newApn) {
+        apnDataInit = apnDataInit.copy(
+            apnType = getPreSelectedApnType(apnDataInit.customizedConfig)
+        )
+    }
+
+    apnDataInit = apnDataInit.copy(
+        apnEnableEnabled =
+        context.resources.getBoolean(R.bool.config_allow_edit_carrier_enabled)
+    )
+    // TODO: mIsCarrierIdApn
+    return disableInit(apnDataInit)
+}
+
+/**
+ * Validates the apn data and save it to the database if it's valid.
+ * A dialog with error message will be displayed if the APN data is invalid.
+ *
+ * @return true if there is no error
+ */
+fun validateAndSaveApnData(
+    apnDataInit: ApnData,
+    newApnData: ApnData,
+    context: Context,
+    uriInit: Uri
+): String? {
+    val errorMsg = validateApnData(newApnData, context)
+    if (errorMsg != null) {
+        return errorMsg
+    }
+    if (newApnData.newApn || (newApnData != apnDataInit)) {
+        Log.d(TAG, "[validateAndSaveApnData] newApnData.networkType: ${newApnData.networkType}")
+        updateApnDataToDatabase(
+            newApnData.newApn,
+            newApnData.getContentValues(context),
+            context,
+            uriInit
+        )
+    }
+    return null
+}
+
+/**
+ * Validates whether the apn data is valid.
+ *
+ * @return An error message if the apn data is invalid, otherwise return null.
+ */
+fun validateApnData(apnData: ApnData, context: Context): String? {
+    var errorMsg: String?
+    val name = apnData.name
+    val apn = apnData.apn
+    errorMsg = if (name == "") {
+        context.resources.getString(R.string.error_name_empty)
+    } else if (apn == "") {
+        context.resources.getString(R.string.error_apn_empty)
+    } else {
+        validateMMSC(true, apnData.mmsc, context)
+    }
+    if (errorMsg == null) {
+        errorMsg = isItemExist(apnData, context)
+    }
+    return errorMsg?.apply { Log.d(TAG, "APN data not valid, reason: $this") }
+}
+
+/**
+ * Initialize CustomizedConfig information through subId.
+ * @param subId subId information obtained from arguments.
+ *
+ * @return Initialized CustomizedConfig information.
+ */
+fun getCarrierCustomizedConfig(
+    apnInit: ApnData,
+    configManager: CarrierConfigManager
+): CustomizedConfig {
+    fun log(message: String) {
+        Log.d(TAG, "getCarrierCustomizedConfig: $message")
+    }
+
+    val b = configManager.getConfigForSubId(
+        apnInit.subId,
+        CarrierConfigManager.KEY_READ_ONLY_APN_TYPES_STRING_ARRAY,
+        CarrierConfigManager.KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY,
+        CarrierConfigManager.KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY,
+        CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_PROTOCOL_STRING,
+        CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING,
+        CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL
+    )
+    val customizedConfig = CustomizedConfig(
+        readOnlyApnTypes = b.getStringArray(
+            CarrierConfigManager.KEY_READ_ONLY_APN_TYPES_STRING_ARRAY
+        )?.toList() ?: emptyList(),
+        readOnlyApnFields = b.getStringArray(
+            CarrierConfigManager.KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY
+        )?.toList() ?: emptyList(),
+        defaultApnTypes = b.getStringArray(
+            CarrierConfigManager.KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY
+        )?.toList(),
+        defaultApnProtocol = b.getString(
+            CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_PROTOCOL_STRING
+        ) ?: "",
+        defaultApnRoamingProtocol = b.getString(
+            CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING
+        ) ?: "",
+        isAddApnAllowed = b.getBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL),
+    )
+    if (customizedConfig.readOnlyApnTypes.isNotEmpty()) {
+        log("read only APN type: " + customizedConfig.readOnlyApnTypes)
+    }
+    customizedConfig.defaultApnTypes?.takeIf { it.isNotEmpty() }?.let {
+        log("default apn types: $it")
+    }
+    if (customizedConfig.defaultApnProtocol.isNotEmpty()) {
+        log("default apn protocol: ${customizedConfig.defaultApnProtocol}")
+    }
+    if (customizedConfig.defaultApnRoamingProtocol.isNotEmpty()) {
+        log("default apn roaming protocol: ${customizedConfig.defaultApnRoamingProtocol}")
+    }
+    if (!customizedConfig.isAddApnAllowed) {
+        log("not allow to add new APN")
+    }
+    return customizedConfig
+}
+
+private fun ApnData.isReadOnly(): Boolean {
+    Log.d(TAG, "isReadOnly: edited $edited")
+    if (edited == Telephony.Carriers.USER_EDITED) return false
+    // if it's not a USER_EDITED apn, check if it's read-only
+    return userEditable == 0 ||
+        ApnTypes.isApnTypeReadOnly(apnType, customizedConfig.readOnlyApnTypes)
+}
+
+fun disableInit(apnDataInit: ApnData): ApnData {
+    if (apnDataInit.isReadOnly()) {
+        Log.d(TAG, "disableInit: read-only APN")
+        val apnData = apnDataInit.copy(
+            customizedConfig = apnDataInit.customizedConfig.copy(readOnlyApn = true)
+        )
+        return disableAllFields(apnData)
+    }
+    val readOnlyApnFields = apnDataInit.customizedConfig.readOnlyApnFields
+    if (readOnlyApnFields.isNotEmpty()) {
+        Log.d(TAG, "disableInit: readOnlyApnFields $readOnlyApnFields)")
+        return disableFields(readOnlyApnFields, apnDataInit)
+    }
+    return apnDataInit
+}
+
+/**
+ * Disables all fields so that user cannot modify the APN
+ */
+private fun disableAllFields(apnDataInit: ApnData): ApnData {
+    var apnData = apnDataInit
+    apnData = apnData.copy(nameEnabled = false)
+    apnData = apnData.copy(apnEnabled = false)
+    apnData = apnData.copy(proxyEnabled = false)
+    apnData = apnData.copy(portEnabled = false)
+    apnData = apnData.copy(userNameEnabled = false)
+    apnData = apnData.copy(passWordEnabled = false)
+    apnData = apnData.copy(serverEnabled = false)
+    apnData = apnData.copy(mmscEnabled = false)
+    apnData = apnData.copy(mmsProxyEnabled = false)
+    apnData = apnData.copy(mmsPortEnabled = false)
+    apnData = apnData.copy(authTypeEnabled = false)
+    apnData = apnData.copy(apnTypeEnabled = false)
+    apnData = apnData.copy(apnProtocolEnabled = false)
+    apnData = apnData.copy(apnRoamingEnabled = false)
+    apnData = apnData.copy(apnEnableEnabled = false)
+    apnData = apnData.copy(networkTypeEnabled = false)
+    return apnData
+}
+
+/**
+ * Disables given fields so that user cannot modify them
+ *
+ * @param apnFields fields to be disabled
+ */
+private fun disableFields(apnFields: List<String>, apnDataInit: ApnData): ApnData {
+    var apnData = apnDataInit
+    for (apnField in apnFields) {
+        apnData = disableByFieldName(apnField, apnDataInit)
+    }
+    return apnData
+}
+
+private fun disableByFieldName(apnField: String, apnDataInit: ApnData): ApnData {
+    var apnData = apnDataInit
+    when (apnField) {
+        Telephony.Carriers.NAME -> apnData = apnData.copy(nameEnabled = false)
+        Telephony.Carriers.APN -> apnData = apnData.copy(apnEnabled = false)
+        Telephony.Carriers.PROXY -> apnData = apnData.copy(proxyEnabled = false)
+        Telephony.Carriers.PORT -> apnData = apnData.copy(portEnabled = false)
+        Telephony.Carriers.USER -> apnData = apnData.copy(userNameEnabled = false)
+        Telephony.Carriers.SERVER -> apnData = apnData.copy(serverEnabled = false)
+        Telephony.Carriers.PASSWORD -> apnData = apnData.copy(passWordEnabled = false)
+        Telephony.Carriers.MMSPROXY -> apnData = apnData.copy(mmsProxyEnabled = false)
+        Telephony.Carriers.MMSPORT -> apnData = apnData.copy(mmsPortEnabled = false)
+        Telephony.Carriers.MMSC -> apnData = apnData.copy(mmscEnabled = false)
+        Telephony.Carriers.TYPE -> apnData = apnData.copy(apnTypeEnabled = false)
+        Telephony.Carriers.AUTH_TYPE -> apnData = apnData.copy(authTypeEnabled = false)
+        Telephony.Carriers.PROTOCOL -> apnData = apnData.copy(apnProtocolEnabled = false)
+        Telephony.Carriers.ROAMING_PROTOCOL -> apnData = apnData.copy(apnRoamingEnabled = false)
+        Telephony.Carriers.CARRIER_ENABLED -> apnData = apnData.copy(apnEnableEnabled = false)
+        Telephony.Carriers.BEARER, Telephony.Carriers.BEARER_BITMASK,
+        Telephony.Carriers.NETWORK_TYPE_BITMASK -> apnData = apnData.copy(
+            networkTypeEnabled =
+            false
+        )
+    }
+    return apnData
+}
+
+fun deleteApn(uri: Uri, context: Context) {
+    val contentResolver = context.contentResolver
+    contentResolver.delete(uri, null, null)
+}
+
+fun validateMMSC(validEnabled: Boolean, mmsc: String, context: Context): String? {
+    return if (validEnabled && mmsc != "" && !mmsc.matches(Regex("^https?:\\/\\/.+")))
+        context.resources.getString(R.string.error_mmsc_valid)
+    else null
+}
+
+fun validateName(validEnabled: Boolean, name: String, context: Context): String? {
+    return if (validEnabled && (name == "")) context.resources.getString(R.string.error_name_empty)
+    else null
+}
+
+fun validateAPN(validEnabled: Boolean, apn: String, context: Context): String? {
+    return if (validEnabled && (apn == "")) context.resources.getString(R.string.error_apn_empty)
+    else null
+}
diff --git a/src/com/android/settings/network/apn/ApnTypeCheckBox.kt b/src/com/android/settings/network/apn/ApnTypeCheckBox.kt
new file mode 100644
index 0000000..4d0659c
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnTypeCheckBox.kt
@@ -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.network.apn
+
+import android.telephony.data.ApnSetting
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.LaunchedEffect
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.network.apn.ApnTypes.toApnType
+import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckBox
+
+@Composable
+fun ApnTypeCheckBox(
+    apnData: ApnData,
+    onTypeChanged: (String) -> Unit,
+    onMmsSelectedChanged: (Boolean) -> Unit,
+) {
+    val context = LocalContext.current
+    val apnTypeOptions = remember {
+        ApnTypes.getOptions(context, apnData.apnType, apnData.customizedConfig.readOnlyApnTypes)
+    }
+
+    fun updateMmsSelected() {
+        val apnTypeOptionMms = apnTypeOptions.single { it.text == ApnSetting.TYPE_MMS_STRING }
+        onMmsSelectedChanged(apnTypeOptionMms.selected.value)
+    }
+    LaunchedEffect(Unit) { updateMmsSelected() }
+    SettingsDropdownCheckBox(
+        label = stringResource(R.string.apn_type),
+        options = apnTypeOptions,
+        enabled = apnData.apnTypeEnabled,
+    ) {
+        onTypeChanged(apnTypeOptions.toApnType())
+        updateMmsSelected()
+    }
+}
diff --git a/src/com/android/settings/network/apn/ApnTypes.kt b/src/com/android/settings/network/apn/ApnTypes.kt
new file mode 100644
index 0000000..2c8fa2a
--- /dev/null
+++ b/src/com/android/settings/network/apn/ApnTypes.kt
@@ -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.network.apn
+
+import android.content.Context
+import android.telephony.data.ApnSetting
+import android.util.Log
+import android.widget.Toast
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.ui.text.intl.Locale
+import androidx.compose.ui.text.toLowerCase
+import com.android.settings.R
+import com.android.settingslib.spa.widget.editor.SettingsDropdownCheckOption
+
+object ApnTypes {
+    private const val TAG = "ApnTypes"
+
+    private val APN_TYPES = arrayOf(
+        ApnSetting.TYPE_DEFAULT_STRING,
+        ApnSetting.TYPE_MMS_STRING,
+        ApnSetting.TYPE_SUPL_STRING,
+        ApnSetting.TYPE_DUN_STRING,
+        ApnSetting.TYPE_HIPRI_STRING,
+        ApnSetting.TYPE_FOTA_STRING,
+        ApnSetting.TYPE_IMS_STRING,
+        ApnSetting.TYPE_CBS_STRING,
+        ApnSetting.TYPE_IA_STRING,
+        ApnSetting.TYPE_EMERGENCY_STRING,
+        ApnSetting.TYPE_MCX_STRING,
+        ApnSetting.TYPE_XCAP_STRING,
+        ApnSetting.TYPE_VSIM_STRING,
+        ApnSetting.TYPE_BIP_STRING,
+        ApnSetting.TYPE_ENTERPRISE_STRING,
+    )
+
+    private fun splitToList(apnType: String): List<String> {
+        val types = apnType.split(',').map { it.trim().toLowerCase(Locale.current) }
+        if (ApnSetting.TYPE_ALL_STRING in types || APN_TYPES.all { it in types }) {
+            return listOf(ApnSetting.TYPE_ALL_STRING)
+        }
+        return APN_TYPES.filter { it in types }
+    }
+
+    fun isApnTypeReadOnly(apnType: String, readOnlyTypes: List<String>): Boolean {
+        val apnTypes = splitToList(apnType)
+        return ApnSetting.TYPE_ALL_STRING in readOnlyTypes ||
+            ApnSetting.TYPE_ALL_STRING in apnTypes && readOnlyTypes.isNotEmpty() ||
+            apnTypes.any { it in readOnlyTypes }
+    }
+
+    fun getOptions(context: Context, apnType: String, readOnlyTypes: List<String>) = buildList {
+        val apnTypes = splitToList(apnType)
+        add(
+            context.createSettingsDropdownCheckOption(
+                text = ApnSetting.TYPE_ALL_STRING,
+                isSelectAll = true,
+                changeable = readOnlyTypes.isEmpty(),
+                selected = ApnSetting.TYPE_ALL_STRING in apnTypes,
+            )
+        )
+        for (type in APN_TYPES) {
+            add(
+                context.createSettingsDropdownCheckOption(
+                    text = type,
+                    changeable = ApnSetting.TYPE_ALL_STRING !in readOnlyTypes &&
+                        type !in readOnlyTypes,
+                    selected = ApnSetting.TYPE_ALL_STRING in apnTypes || type in apnTypes,
+                )
+            )
+        }
+    }.also { Log.d(TAG, "APN Type options: $it") }
+
+    private fun Context.createSettingsDropdownCheckOption(
+        text: String,
+        isSelectAll: Boolean = false,
+        changeable: Boolean,
+        selected: Boolean,
+    ) = SettingsDropdownCheckOption(
+        text = text,
+        isSelectAll = isSelectAll,
+        changeable = changeable,
+        selected = mutableStateOf(selected),
+    ) {
+        if (!changeable) {
+            val message = resources.getString(R.string.error_adding_apn_type, text)
+            Toast.makeText(this, message, Toast.LENGTH_SHORT).show()
+        }
+    }
+
+    fun List<SettingsDropdownCheckOption>.toApnType(): String {
+        val (selectAllOptions, regularOptions) = partition { it.isSelectAll }
+        for (selectAllOption in selectAllOptions) {
+            if (selectAllOption.selected.value) return ApnSetting.TYPE_ALL_STRING
+        }
+        return regularOptions.filter { it.selected.value }.joinToString(",") { it.text }
+    }
+
+    private val NotPreSelectedTypes = setOf(
+        ApnSetting.TYPE_IMS_STRING,
+        ApnSetting.TYPE_IA_STRING,
+        ApnSetting.TYPE_EMERGENCY_STRING,
+        ApnSetting.TYPE_MCX_STRING,
+    )
+
+    fun getPreSelectedApnType(customizedConfig: CustomizedConfig): String =
+        (customizedConfig.defaultApnTypes
+            ?: defaultPreSelectedApnTypes(customizedConfig.readOnlyApnTypes))
+            .joinToString(",")
+
+    private fun defaultPreSelectedApnTypes(readOnlyApnTypes: List<String>) =
+        if (ApnSetting.TYPE_ALL_STRING in readOnlyApnTypes) emptyList()
+        else APN_TYPES.filter { it !in readOnlyApnTypes + NotPreSelectedTypes }
+}
diff --git a/src/com/android/settings/network/helper/ConfirmationSimDeletionPredicate.java b/src/com/android/settings/network/helper/ConfirmationSimDeletionPredicate.java
deleted file mode 100644
index 420f6db..0000000
--- a/src/com/android/settings/network/helper/ConfirmationSimDeletionPredicate.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * 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.
- */
-package com.android.settings.network.helper;
-
-import android.app.KeyguardManager;
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.R;
-
-import java.util.function.Predicate;
-
-/**
- * {@link Predicate} for detecting the configuration of confirm SIM deletion.
- */
-public class ConfirmationSimDeletionPredicate implements Predicate<Context> {
-
-    public static final String KEY_CONFIRM_SIM_DELETION = "confirm_sim_deletion";
-
-    private static final ConfirmationSimDeletionPredicate sSingleton =
-            new ConfirmationSimDeletionPredicate();
-
-    // Get singleton of this predicate
-    public static final ConfirmationSimDeletionPredicate getSingleton() {
-        return sSingleton;
-    }
-
-    /**
-     * Get default configuration of confirm SIM deletion.
-     *
-     * @param Context context
-     * @return the configuration of confirm SIM deletion
-     */
-    private static boolean getDefaultValue(Context context) {
-        return context.getResources()
-                .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
-    }
-
-    /**
-     * Get the configuration of confirm SIM deletion.
-     *
-     * @param Context context
-     * @return the configuration of confirm SIM deletion
-     */
-    public boolean test(Context context) {
-        final KeyguardManager keyguardManager = context.getSystemService(KeyguardManager.class);
-        if ((keyguardManager != null) && !keyguardManager.isKeyguardSecure()) {
-            return false;
-        }
-        return Settings.Global.getInt(context.getContentResolver(), KEY_CONFIRM_SIM_DELETION,
-                getDefaultValue(context) ? 1 : 0) == 1;
-    }
-}
diff --git a/src/com/android/settings/network/helper/LifecycleCallbackAdapter.java b/src/com/android/settings/network/helper/LifecycleCallbackAdapter.java
deleted file mode 100644
index 548eae5..0000000
--- a/src/com/android/settings/network/helper/LifecycleCallbackAdapter.java
+++ /dev/null
@@ -1,100 +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.network.helper;
-
-import androidx.annotation.MainThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleEventObserver;
-import androidx.lifecycle.LifecycleOwner;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-/**
- * A {@link androidx.lifecycle.LifecycleObserver} implementation of adapter over callback.
- *
- * Which including:
- * 1. Request to active callback when Lifecycle.State.STARTED
- * 2. Request to inactive callback when Lifecycle.State.STOPPED
- * 3. Close (no further resume) when Lifecycle.State.DESTROYED
- */
-@VisibleForTesting
-abstract class LifecycleCallbackAdapter implements LifecycleEventObserver, AutoCloseable {
-    private static final String TAG = "LifecycleCallbackAdapter";
-    private AtomicReference<Lifecycle> mLifecycle = new AtomicReference<Lifecycle>();
-
-    /**
-     * Constructor
-     * @param lifecycle {@link Lifecycle} to monitor
-     */
-    @VisibleForTesting
-    protected LifecycleCallbackAdapter(@NonNull Lifecycle lifecycle) {
-        mLifecycle.set(lifecycle);
-        lifecycle.addObserver(this);
-    }
-
-    /**
-     * Get {@link Lifecycle} under monitor.
-     * @return {@link Lifecycle}. Return {@code null} when closed.
-     */
-    @VisibleForTesting
-    public Lifecycle getLifecycle() {
-        return mLifecycle.get();
-    }
-
-    /**
-     * Check current callback status.
-     * @return true when callback is active.
-     */
-    public abstract boolean isCallbackActive();
-
-    /**
-     * Change callback status.
-     * @param isActive true to active callback, otherwise inactive.
-     */
-    public abstract void setCallbackActive(boolean isActive);
-
-    /**
-     * Implementation of LifecycleEventObserver.
-     */
-    public void onStateChanged(LifecycleOwner source, Lifecycle.Event event) {
-        if (mLifecycle.get() == null) {
-            return;
-        }
-
-        Lifecycle.State state = event.getTargetState();
-        boolean expectCallbackActive = state.isAtLeast(Lifecycle.State.STARTED);
-        if (expectCallbackActive != isCallbackActive()) {
-            setCallbackActive(expectCallbackActive);
-        }
-        if (state == Lifecycle.State.DESTROYED) {
-            close();
-        }
-    }
-
-    /**
-     * Implementation of AutoCloseable.
-     */
-    @MainThread
-    public void close() {
-        Lifecycle lifecycle = mLifecycle.getAndSet(null);
-        if (lifecycle != null) {
-            lifecycle.removeObserver(this);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/helper/LifecycleCallbackConverter.java b/src/com/android/settings/network/helper/LifecycleCallbackConverter.java
deleted file mode 100644
index f35b69a..0000000
--- a/src/com/android/settings/network/helper/LifecycleCallbackConverter.java
+++ /dev/null
@@ -1,132 +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.network.helper;
-
-import androidx.annotation.AnyThread;
-import androidx.annotation.NonNull;
-import androidx.annotation.UiThread;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.concurrent.atomic.AtomicLong;
-import java.util.function.Consumer;
-
-/**
- * A {@link LifecycleCallbackAdapter} which support carrying a result from any threads back to UI
- * thread through {@link #postResult(T)}.
- *
- * A {@link Consumer<T>} would be invoked from UI thread for further processing on the result.
- *
- * Note: Result not in STARTED or RESUMED stage will be discarded silently.
- *       This is to align with the criteria set within
- *       {@link LifecycleCallbackAdapter#onStateChanged()}.
- */
-@VisibleForTesting
-public class LifecycleCallbackConverter<T> extends LifecycleCallbackAdapter {
-    private static final String TAG = "LifecycleCallbackConverter";
-
-    private final Thread mUiThread;
-    private final Consumer<T> mResultCallback;
-
-    /**
-     * A record of number of active status change.
-     * Even numbers (0, 2, 4, 6 ...) are inactive status.
-     * Odd numbers (1, 3, 5, 7 ...) are active status.
-     */
-    private final AtomicLong mNumberOfActiveStatusChange = new AtomicLong();
-
-    /**
-     * Constructor
-     *
-     * @param lifecycle {@link Lifecycle} to monitor
-     * @param resultCallback for further processing the result
-     */
-    @VisibleForTesting
-    @UiThread
-    public LifecycleCallbackConverter(
-            @NonNull Lifecycle lifecycle, @NonNull Consumer<T> resultCallback) {
-        super(lifecycle);
-        mUiThread = Thread.currentThread();
-        mResultCallback = resultCallback;
-    }
-
-    /**
-     * Post a result (from any thread) back to UI thread.
-     *
-     * @param result the object ready to be passed back to {@link Consumer<T>}.
-     */
-    @AnyThread
-    @VisibleForTesting
-    public void postResult(T result) {
-        /**
-         * Since mNumberOfActiveStatusChange only increase, it is a concept of sequence number.
-         * Carry it when sending data in between different threads allow to verify if the data
-         * has arrived on time. And drop the data when expired.
-         */
-        long currentNumberOfChange = mNumberOfActiveStatusChange.get();
-        if (Thread.currentThread() == mUiThread) {
-            dispatchExtResult(currentNumberOfChange, result); // Dispatch directly
-        } else {
-            postResultToUiThread(currentNumberOfChange, result);
-        }
-    }
-
-    @AnyThread
-    protected void postResultToUiThread(long numberOfStatusChange, T result) {
-        ThreadUtils.postOnMainThread(() -> dispatchExtResult(numberOfStatusChange, result));
-    }
-
-    @UiThread
-    protected void dispatchExtResult(long numberOfStatusChange, T result) {
-        /**
-         * For a postResult() sending in between different threads, not only create a latency
-         * but also enqueued into main UI thread for dispatch.
-         *
-         * To align behavior within {@link LifecycleCallbackAdapter#onStateChanged()},
-         * some checking on both numberOfStatusChange and {@link Lifecycle} status are required.
-         */
-        if (isActiveStatus(numberOfStatusChange)
-                && (numberOfStatusChange == mNumberOfActiveStatusChange.get())
-                && getLifecycle().getCurrentState().isAtLeast(Lifecycle.State.STARTED)) {
-            mResultCallback.accept(result);
-        }
-    }
-
-    private static final boolean isActiveStatus(long numberOfStatusChange) {
-        return ((numberOfStatusChange & 1L) != 0L);
-    }
-
-    /* Implementation of LifecycleCallbackAdapter */
-    @UiThread
-    public boolean isCallbackActive() {
-        return isActiveStatus(mNumberOfActiveStatusChange.get());
-    }
-
-    /* Implementation of LifecycleCallbackAdapter */
-    @UiThread
-    public void setCallbackActive(boolean updatedActiveStatus) {
-        /**
-         * Make sure only increase when active status got changed.
-         * This is to implement the definition of mNumberOfActiveStatusChange.
-         */
-        if (isCallbackActive() != updatedActiveStatus) {
-            mNumberOfActiveStatusChange.getAndIncrement();
-        }
-    }
-}
diff --git a/src/com/android/settings/network/helper/LifecycleCallbackIntentReceiver.java b/src/com/android/settings/network/helper/LifecycleCallbackIntentReceiver.java
deleted file mode 100644
index 8aaa53e..0000000
--- a/src/com/android/settings/network/helper/LifecycleCallbackIntentReceiver.java
+++ /dev/null
@@ -1,104 +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.network.helper;
-
-import android.content.BroadcastReceiver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Handler;
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import java.util.function.Consumer;
-
-/**
- * A {@link BroadcastReceiver} for {@link Intent}.
- *
- * This is {@link BroadcastReceiver} supported by {@link LifecycleCallbackConverter},
- * and only register when state is either START or RESUME.
- */
-@VisibleForTesting
-public class LifecycleCallbackIntentReceiver extends LifecycleCallbackConverter<Intent> {
-    private static final String TAG = "LifecycleCallbackIntentReceiver";
-
-    @VisibleForTesting
-    protected final BroadcastReceiver mReceiver;
-
-    private final Runnable mRegisterCallback;
-    private final Runnable mUnRegisterCallback;
-
-    /**
-     * Constructor
-     * @param lifecycle {@link Lifecycle} to monitor
-     * @param context for this BroadcastReceiver
-     * @param filter the IntentFilter for BroadcastReceiver
-     * @param broadcastPermission for permission when listening
-     * @param scheduler for running in background thread
-     * @param resultCallback for the Intent from BroadcastReceiver
-     */
-    @VisibleForTesting
-    public LifecycleCallbackIntentReceiver(@NonNull Lifecycle lifecycle,
-            @NonNull Context context, @NonNull IntentFilter filter,
-            String broadcastPermission, Handler scheduler,
-            @NonNull Consumer<Intent> resultCallback) {
-        super(lifecycle, resultCallback);
-
-        // BroadcastReceiver
-        mReceiver = new BroadcastReceiver() {
-            public void onReceive(Context context, Intent intent) {
-                if (isInitialStickyBroadcast()) {
-                    return;
-                }
-                final String action = intent.getAction();
-                if ((action == null) || (action.length() <= 0)) {
-                    return;
-                }
-                postResult(intent);
-            }
-        };
-
-        // Register operation
-        mRegisterCallback = () -> {
-            Intent initIntent = context.registerReceiver(mReceiver,
-                    filter, broadcastPermission, scheduler);
-            if (initIntent != null) {
-                postResult(initIntent);
-            }
-        };
-
-        // Un-Register operation
-        mUnRegisterCallback = () -> {
-            context.unregisterReceiver(mReceiver);
-        };
-    }
-
-    @Override
-    public void setCallbackActive(boolean isActive) {
-        super.setCallbackActive(isActive);
-        Runnable op = (isActive) ? mRegisterCallback : mUnRegisterCallback;
-        op.run();
-    }
-
-    @Override
-    public void close() {
-        super.close();
-        if (isCallbackActive()) {
-            setCallbackActive(false);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/helper/LifecycleCallbackTelephonyAdapter.java b/src/com/android/settings/network/helper/LifecycleCallbackTelephonyAdapter.java
deleted file mode 100644
index 0fae4f2..0000000
--- a/src/com/android/settings/network/helper/LifecycleCallbackTelephonyAdapter.java
+++ /dev/null
@@ -1,72 +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.network.helper;
-
-import android.telephony.TelephonyCallback;
-import android.telephony.TelephonyManager;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-
-import java.util.concurrent.Executor;
-import java.util.function.Consumer;
-
-/**
- * A {@link LifecycleCallbackConverter} for supporting the register/unregister work for
- * {@link TelephonyCallback}.
- */
-@VisibleForTesting
-public class LifecycleCallbackTelephonyAdapter<T> extends LifecycleCallbackConverter<T> {
-    private static final String TAG = "LifecycleCallbackTelephony";
-
-    private final Runnable mRegisterCallback;
-    private final Runnable mUnRegisterCallback;
-
-    /**
-     * Constructor
-     * @param lifecycle {@link Lifecycle} to monitor
-     * @param telephonyManager {@link TelephonyManager} to interact with
-     * @param telephonyCallback {@link TelephonyCallback}
-     * @param executor {@link Executor} for receiving the notify from telephony framework.
-     * @param resultCallback for the result from {@link TelephonyCallback}
-     */
-    @VisibleForTesting
-    public LifecycleCallbackTelephonyAdapter(@NonNull Lifecycle lifecycle,
-            @NonNull TelephonyManager telephonyManager,
-            @NonNull TelephonyCallback telephonyCallback,
-            Executor executor, @NonNull Consumer<T> resultCallback) {
-        super(lifecycle, resultCallback);
-
-        // Register operation
-        mRegisterCallback = () -> {
-            telephonyManager.registerTelephonyCallback(executor, telephonyCallback);
-        };
-
-        // Un-Register operation
-        mUnRegisterCallback = () -> {
-            telephonyManager.unregisterTelephonyCallback(telephonyCallback);
-        };
-    }
-
-    @Override
-    public void setCallbackActive(boolean isActive) {
-        super.setCallbackActive(isActive);
-        Runnable op = (isActive) ? mRegisterCallback : mUnRegisterCallback;
-        op.run();
-    }
-}
diff --git a/src/com/android/settings/network/helper/SelectableSubscriptions.java b/src/com/android/settings/network/helper/SelectableSubscriptions.java
index 8e8f405..b4a3b57 100644
--- a/src/com/android/settings/network/helper/SelectableSubscriptions.java
+++ b/src/com/android/settings/network/helper/SelectableSubscriptions.java
@@ -146,7 +146,7 @@
     }
 
     protected SubscriptionManager getSubscriptionManager(Context context) {
-        return context.getSystemService(SubscriptionManager.class);
+        return context.getSystemService(SubscriptionManager.class).createForAllUserProfiles();
     }
 
     protected List<SubscriptionInfo> getAvailableSubInfoList(Context context) {
diff --git a/src/com/android/settings/network/helper/ServiceStateStatus.java b/src/com/android/settings/network/helper/ServiceStateStatus.java
deleted file mode 100644
index 871884d..0000000
--- a/src/com/android/settings/network/helper/ServiceStateStatus.java
+++ /dev/null
@@ -1,104 +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.network.helper;
-
-import android.telephony.ServiceState;
-import android.telephony.TelephonyCallback;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LiveData;
-
-import java.util.concurrent.Executor;
-import java.util.function.Consumer;
-
-/**
- * A {@link LiveData} as a mapping of allowed network types reported from {@link TelephonyCallback}.
- * Only got update when Lifecycle.State is considered as STARTED or RESUMED.
- *
- * {@code null} when status unknown. Other values are {@link ServiceState}.
- */
-@VisibleForTesting
-public class ServiceStateStatus extends LiveData<ServiceState> {
-    private static final String TAG = "ServiceStateStatus";
-
-    @VisibleForTesting
-    protected ServiceStateProducer mServiceStateProducer;
-
-    @VisibleForTesting
-    protected LifecycleCallbackTelephonyAdapter mAdapter;
-
-    @VisibleForTesting
-    protected Consumer<ServiceState> mLiveDataUpdater = status -> setValue(status);
-
-    /**
-     * Constructor
-     * @param lifecycle {@link Lifecycle} to monitor
-     * @param telephonyManager {@link TelephonyManager} to interact with
-     * @param executor {@link Executor} for receiving the notify from telephony framework.
-     */
-    @VisibleForTesting
-    public ServiceStateStatus(@NonNull Lifecycle lifecycle,
-            @NonNull TelephonyManager telephonyManager, Executor executor) {
-        super();
-
-        mServiceStateProducer = new ServiceStateProducer(this);
-
-        mAdapter = new LifecycleCallbackTelephonyAdapter<ServiceState>(lifecycle,
-                telephonyManager, mServiceStateProducer, executor, mLiveDataUpdater) {
-            @Override
-            public void setCallbackActive(boolean isActive) {
-                super.setCallbackActive(isActive);
-                if (!isActive) {
-                    /**
-                     * Set to unknown status when no longer actively monitoring
-                     * {@link TelephonyCallback}.
-                     */
-                    mLiveDataUpdater.accept(null);
-                }
-            }
-        };
-    }
-
-    /**
-     * An implementation of TelephonyCallback.
-     *
-     * Change of allowed network type will be forward to
-     * {@link LifecycleCallbackTelephonyAdapter}.
-     */
-    @VisibleForTesting
-    protected static class ServiceStateProducer extends TelephonyCallback
-            implements TelephonyCallback.ServiceStateListener {
-        private final ServiceStateStatus mStatus;
-
-        /**
-         * Constructor
-         * @param status {@link ServiceStateStatus}
-         */
-        public ServiceStateProducer(ServiceStateStatus status) {
-            mStatus = status;
-        }
-
-        @Override
-        public void onServiceStateChanged(ServiceState serviceState) {
-            mStatus.mAdapter.postResult(serviceState);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/helper/VoiceCallStatus.java b/src/com/android/settings/network/helper/VoiceCallStatus.java
deleted file mode 100644
index a5252cb..0000000
--- a/src/com/android/settings/network/helper/VoiceCallStatus.java
+++ /dev/null
@@ -1,102 +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.network.helper;
-
-import android.telephony.TelephonyCallback;
-import android.telephony.TelephonyManager;
-
-import androidx.annotation.NonNull;
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LiveData;
-
-import java.util.concurrent.Executor;
-import java.util.function.Consumer;
-
-/**
- * A {@link LiveData} as a mapping of voice call state reported from {@link TelephonyCallback}.
- * Only got update when Lifecycle.State is considered as STARTED or RESUMED.
- *
- * {@code null} when status unknown. Other values are TelephonyManager#CALL_STATE_IDLE,
- * TelephonyManager#CALL_STATE_RINGING and TelephonyManager#CALL_STATE_OFFHOOK.
- */
-@VisibleForTesting
-public class VoiceCallStatus extends LiveData<Integer> {
-    private static final String TAG = "VoiceCallStatus";
-
-    @VisibleForTesting
-    protected CallStateProducer mCallStateProducer;
-
-    @VisibleForTesting
-    protected LifecycleCallbackTelephonyAdapter mAdapter;
-
-    @VisibleForTesting
-    protected Consumer<Integer> mLiveDataUpdater = status -> setValue(status);
-
-    /**
-     * Constructor
-     * @param lifecycle {@link Lifecycle} to monitor
-     * @param telephonyManager {@link TelephonyManager} to interact with
-     * @param executor {@link Executor} for receiving the notify from telephony framework.
-     */
-    @VisibleForTesting
-    public VoiceCallStatus(@NonNull Lifecycle lifecycle,
-            @NonNull TelephonyManager telephonyManager, Executor executor) {
-        super();
-
-        mCallStateProducer = new CallStateProducer(this);
-
-        mAdapter = new LifecycleCallbackTelephonyAdapter<Integer>(lifecycle,
-                telephonyManager, mCallStateProducer, executor, mLiveDataUpdater) {
-            @Override
-            public void setCallbackActive(boolean isActive) {
-                super.setCallbackActive(isActive);
-                if (!isActive) {
-                    /**
-                     * Set to unknown status when no longer actively monitoring
-                     * {@link TelephonyCallback}.
-                     */
-                    mLiveDataUpdater.accept(null);
-                }
-            }
-        };
-    }
-
-    /**
-     * An implementation of TelephonyCallback.
-     *
-     * Status of voice call will be forward to {@link LifecycleCallbackTelephonyAdapter}
-     */
-    @VisibleForTesting
-    protected static class CallStateProducer extends TelephonyCallback
-            implements TelephonyCallback.CallStateListener {
-        private final VoiceCallStatus mStatus;
-
-        /**
-         * Constructor
-         * @param status {@link VoiceCallStatus}
-         */
-        public CallStateProducer(VoiceCallStatus status) {
-            mStatus = status;
-        }
-
-        @Override
-        public void onCallStateChanged(int state) {
-            mStatus.mAdapter.postResult(state);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/telephony/AllowedNetworkTypesFlow.kt b/src/com/android/settings/network/telephony/AllowedNetworkTypesFlow.kt
new file mode 100644
index 0000000..cb507ab
--- /dev/null
+++ b/src/com/android/settings/network/telephony/AllowedNetworkTypesFlow.kt
@@ -0,0 +1,39 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.TelephonyCallback
+import android.telephony.TelephonyManager
+import android.util.Log
+import kotlinx.coroutines.flow.Flow
+
+private const val TAG = "AllowedNetworkTypesFlow"
+
+/** Creates an instance of a cold Flow for Allowed Network Types of given [subId]. */
+fun Context.allowedNetworkTypesFlow(subId: Int): Flow<Long> = telephonyCallbackFlow(subId) {
+    object : TelephonyCallback(), TelephonyCallback.AllowedNetworkTypesListener {
+        override fun onAllowedNetworkTypesChanged(reason: Int, allowedNetworkType: Long) {
+            if (reason == TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER ||
+                reason == TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER
+            ) {
+                trySend(allowedNetworkType)
+                Log.d(TAG, "[$subId] reason: $reason, allowedNetworkType: $allowedNetworkType")
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java b/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
index 1c20f59..ef74a2e 100644
--- a/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
+++ b/src/com/android/settings/network/telephony/AutoDataSwitchPreferenceController.java
@@ -37,11 +37,12 @@
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
 import com.android.settings.datausage.DataUsageUtils;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.MobileDataContentObserver;
 import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.network.SubscriptionsChangeListener;
@@ -64,7 +65,7 @@
         SubscriptionsChangeListener.SubscriptionsChangeListenerClient {
     private static final String LOG_TAG = "AutoDataSwitchPrefCtrl";
 
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
     private SubscriptionsChangeListener mChangeListener;
     private TelephonyManager mManager;
     private MobileDataContentObserver mMobileDataContentObserver;
@@ -75,7 +76,7 @@
     public AutoDataSwitchPreferenceController(Context context,
             String preferenceKey) {
         super(context, preferenceKey);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     void init(int subId) {
@@ -194,7 +195,8 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)
+        if (Flags.isDualSimOnboardingEnabled()
+                || !SubscriptionManager.isValidSubscriptionId(subId)
                 || SubscriptionManager.getDefaultDataSubscriptionId() == subId
                 || (!hasMobileData())) {
             return CONDITIONALLY_UNAVAILABLE;
diff --git a/src/com/android/settings/network/telephony/BackupCallingPreferenceController.java b/src/com/android/settings/network/telephony/BackupCallingPreferenceController.java
deleted file mode 100644
index 4f64399..0000000
--- a/src/com/android/settings/network/telephony/BackupCallingPreferenceController.java
+++ /dev/null
@@ -1,197 +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 android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.ims.ImsException;
-import android.telephony.ims.ImsManager;
-import android.telephony.ims.ImsMmTelManager;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.network.ims.WifiCallingQueryImsState;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * Preference controller for "Backup Calling"
- **/
-public class BackupCallingPreferenceController extends TelephonyTogglePreferenceController {
-
-    private static final String LOG_TAG = "BackupCallingPrefCtrl";
-
-    private Preference mPreference;
-
-    /**
-     * Class constructor of backup calling.
-     *
-     * @param context of settings
-     * @param key assigned within UI entry of XML file
-     **/
-    public BackupCallingPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    /**
-     * Initialization based on given subscription id.
-     *
-     * @param subId is the subscription id
-     * @return this instance after initialization
-     **/
-    public BackupCallingPreferenceController init(int subId) {
-        mSubId = subId;
-        return this;
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        if (!hasBackupCallingFeature(subId)) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-        List<SubscriptionInfo> subIdList = getActiveSubscriptionList();
-        SubscriptionInfo subInfo = getSubscriptionInfoFromList(subIdList, subId);
-        if (subInfo == null) {  // given subId is not actives
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-        return (subIdList.size() > 1) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    /**
-     * Implementation of abstract methods
-     **/
-    public boolean setChecked(boolean isChecked) {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(mSubId);
-        if (imsMmTelMgr == null) {
-            return false;
-        }
-        try {
-            imsMmTelMgr.setCrossSimCallingEnabled(isChecked);
-        } catch (ImsException exception) {
-            Log.w(LOG_TAG, "fail to change cross SIM calling configuration: " + isChecked,
-                    exception);
-            return false;
-        }
-        return true;
-    }
-
-    /**
-     * Implementation of abstract methods
-     **/
-    public boolean isChecked() {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(mSubId);
-        if (imsMmTelMgr == null) {
-            return false;
-        }
-        try {
-            return imsMmTelMgr.isCrossSimCallingEnabled();
-        } catch (ImsException exception) {
-            Log.w(LOG_TAG, "fail to get cross SIM calling configuration", exception);
-        }
-        return false;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if ((preference == null) || (!(preference instanceof SwitchPreference))) {
-            return;
-        }
-        SubscriptionInfo subInfo = getSubscriptionInfoFromActiveList(mSubId);
-
-        mPreference = preference;
-
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
-        switchPreference.setChecked((subInfo != null) ? isChecked() : false);
-
-        updateSummary(getLatestSummary(subInfo));
-    }
-
-    private String getLatestSummary(SubscriptionInfo subInfo) {
-        return Objects.toString((subInfo == null) ? null
-                : SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext), "");
-    }
-
-    private void updateSummary(String displayName) {
-        Preference preference = mPreference;
-        if (preference == null) {
-            return;
-        }
-        String summary = displayName;
-        String finalText = String.format(
-                getResourcesForSubId().getString(R.string.backup_calling_setting_summary),
-                summary)
-                .toString();
-        preference.setSummary(finalText);
-    }
-
-    private boolean hasBackupCallingFeature(int subscriptionId) {
-        return isCrossSimEnabledByPlatform(mContext, subscriptionId);
-    }
-
-    protected boolean isCrossSimEnabledByPlatform(Context context, int subscriptionId) {
-        // TODO : Change into API which created for accessing
-        //        com.android.ims.ImsManager#isCrossSimEnabledByPlatform()
-        if ((new WifiCallingQueryImsState(context, subscriptionId)).isWifiCallingSupported()) {
-            PersistableBundle bundle = getCarrierConfigForSubId(subscriptionId);
-            return (bundle != null) && bundle.getBoolean(
-                    CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                    false /*default*/);
-        }
-        Log.d(LOG_TAG, "Not supported by framework. subId = " + subscriptionId);
-        return false;
-    }
-
-    private ImsMmTelManager getImsMmTelManager(int subId) {
-        if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
-            return null;
-        }
-        ImsManager imsMgr = mContext.getSystemService(ImsManager.class);
-        return (imsMgr == null) ? null : imsMgr.getImsMmTelManager(subId);
-    }
-
-    private List<SubscriptionInfo> getActiveSubscriptionList() {
-        SubscriptionManager subscriptionManager =
-                mContext.getSystemService(SubscriptionManager.class);
-        return SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
-    }
-
-    private SubscriptionInfo getSubscriptionInfoFromList(
-            List<SubscriptionInfo> subInfoList, int subId) {
-        for (SubscriptionInfo subInfo : subInfoList) {
-            if ((subInfo != null) && (subInfo.getSubscriptionId() == subId)) {
-                return subInfo;
-            }
-        }
-        return null;
-    }
-
-    private SubscriptionInfo getSubscriptionInfoFromActiveList(int subId) {
-        if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
-            return null;
-        }
-        return getSubscriptionInfoFromList(getActiveSubscriptionList(), subId);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/CallStateFlow.kt b/src/com/android/settings/network/telephony/CallStateFlow.kt
new file mode 100644
index 0000000..f5164e0
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CallStateFlow.kt
@@ -0,0 +1,32 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.TelephonyCallback
+import kotlinx.coroutines.flow.Flow
+
+/**
+ * Flow for call state.
+ */
+fun Context.callStateFlow(subId: Int): Flow<Int> = telephonyCallbackFlow(subId) {
+    object : TelephonyCallback(), TelephonyCallback.CallStateListener {
+        override fun onCallStateChanged(state: Int) {
+            trySend(state)
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.java b/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.java
deleted file mode 100644
index f836415..0000000
--- a/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.java
+++ /dev/null
@@ -1,31 +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 com.android.settings.widget.PreferenceCategoryController;
-
-/**
- * Preference controller for "Calling" category
- */
-public class CallingPreferenceCategoryController extends PreferenceCategoryController {
-
-    public CallingPreferenceCategoryController(Context context, String key) {
-        super(context, key);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.kt b/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.kt
new file mode 100644
index 0000000..5356a41
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CallingPreferenceCategoryController.kt
@@ -0,0 +1,48 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.core.BasePreferenceController
+
+/**
+ * Preference controller for "Calling" category
+ */
+class CallingPreferenceCategoryController(context: Context, key: String) :
+    BasePreferenceController(context, key) {
+
+    private val visibleChildren = mutableSetOf<String>()
+    private var preference: Preference? = null
+
+    override fun getAvailabilityStatus() = AVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        // Not call super here, to avoid preference.isVisible changed unexpectedly
+        preference = screen.findPreference(preferenceKey)
+    }
+
+    fun updateChildVisible(key: String, isVisible: Boolean) {
+        if (isVisible) {
+            visibleChildren.add(key)
+        } else {
+            visibleChildren.remove(key)
+        }
+        preference?.isVisible = visibleChildren.isNotEmpty()
+    }
+}
diff --git a/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
new file mode 100644
index 0000000..b421185
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CarrierConfigManagerExt.kt
@@ -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.network.telephony
+
+import android.os.PersistableBundle
+import android.telephony.CarrierConfigManager
+import android.telephony.SubscriptionManager
+import androidx.core.os.persistableBundleOf
+
+/**
+ * Gets the configuration values of the specified config keys applied.
+ */
+fun CarrierConfigManager.safeGetConfig(
+    keys: List<String>,
+    subId: Int = SubscriptionManager.getDefaultSubscriptionId(),
+): PersistableBundle = try {
+    getConfigForSubId(subId, *keys.toTypedArray())
+} catch (e: IllegalStateException) {
+    // 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.
+    persistableBundleOf()
+}
diff --git a/src/com/android/settings/network/telephony/CellInfoUtil.java b/src/com/android/settings/network/telephony/CellInfoUtil.java
deleted file mode 100644
index 8889586..0000000
--- a/src/com/android/settings/network/telephony/CellInfoUtil.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.CellIdentity;
-import android.telephony.CellIdentityGsm;
-import android.telephony.CellIdentityLte;
-import android.telephony.CellIdentityNr;
-import android.telephony.CellIdentityTdscdma;
-import android.telephony.CellIdentityWcdma;
-import android.telephony.CellInfo;
-import android.telephony.CellInfoCdma;
-import android.telephony.CellInfoGsm;
-import android.telephony.CellInfoLte;
-import android.telephony.CellInfoNr;
-import android.telephony.CellInfoTdscdma;
-import android.telephony.CellInfoWcdma;
-import android.text.BidiFormatter;
-import android.text.TextDirectionHeuristics;
-import android.text.TextUtils;
-
-import com.android.internal.telephony.OperatorInfo;
-
-import java.util.Collections;
-import java.util.List;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-/**
- * Add static Utility functions to get information from the CellInfo object.
- * TODO: Modify {@link CellInfo} for simplify those functions
- */
-public final class CellInfoUtil {
-    private static final String TAG = "NetworkSelectSetting";
-
-    private CellInfoUtil() {
-    }
-
-    /**
-     * Returns the title of the network obtained in the manual search.
-     *
-     * @param cellId contains the identity of the network.
-     * @param networkMccMnc contains the MCCMNC string of the network
-     * @return Long Name if not null/empty, otherwise Short Name if not null/empty,
-     * else MCCMNC string.
-     */
-    public static String getNetworkTitle(CellIdentity cellId, String networkMccMnc) {
-        if (cellId != null) {
-            String title = Objects.toString(cellId.getOperatorAlphaLong(), "");
-            if (TextUtils.isEmpty(title)) {
-                title = Objects.toString(cellId.getOperatorAlphaShort(), "");
-            }
-            if (!TextUtils.isEmpty(title)) {
-                return title;
-            }
-        }
-        if (TextUtils.isEmpty(networkMccMnc)) {
-            return "";
-        }
-        final BidiFormatter bidiFormatter = BidiFormatter.getInstance();
-        return bidiFormatter.unicodeWrap(networkMccMnc, TextDirectionHeuristics.LTR);
-    }
-
-    /**
-     * Returns the CellIdentity from CellInfo
-     *
-     * @param cellInfo contains the information of the network.
-     * @return CellIdentity within CellInfo
-     */
-    public static CellIdentity getCellIdentity(CellInfo cellInfo) {
-        if (cellInfo == null) {
-            return null;
-        }
-        CellIdentity cellId = null;
-        if (cellInfo instanceof CellInfoGsm) {
-            cellId = ((CellInfoGsm) cellInfo).getCellIdentity();
-        } else if (cellInfo instanceof CellInfoCdma) {
-            cellId = ((CellInfoCdma) cellInfo).getCellIdentity();
-        } else if (cellInfo instanceof CellInfoWcdma) {
-            cellId = ((CellInfoWcdma) cellInfo).getCellIdentity();
-        } else if (cellInfo instanceof CellInfoTdscdma) {
-            cellId = ((CellInfoTdscdma) cellInfo).getCellIdentity();
-        } else if (cellInfo instanceof CellInfoLte) {
-            cellId = ((CellInfoLte) cellInfo).getCellIdentity();
-        } else if (cellInfo instanceof CellInfoNr) {
-            cellId = ((CellInfoNr) cellInfo).getCellIdentity();
-        }
-        return cellId;
-    }
-
-    /**
-     * Creates a CellInfo object from OperatorInfo. GsmCellInfo is used here only because
-     * operatorInfo does not contain technology type while CellInfo is an abstract object that
-     * requires to specify technology type. It doesn't matter which CellInfo type to use here, since
-     * we only want to wrap the operator info and PLMN to a CellInfo object.
-     */
-    public static CellInfo convertOperatorInfoToCellInfo(OperatorInfo operatorInfo) {
-        final String operatorNumeric = operatorInfo.getOperatorNumeric();
-        String mcc = null;
-        String mnc = null;
-        if (operatorNumeric != null && operatorNumeric.matches("^[0-9]{5,6}$")) {
-            mcc = operatorNumeric.substring(0, 3);
-            mnc = operatorNumeric.substring(3);
-        }
-        final CellIdentityGsm cig = new CellIdentityGsm(
-                Integer.MAX_VALUE /* lac */,
-                Integer.MAX_VALUE /* cid */,
-                Integer.MAX_VALUE /* arfcn */,
-                Integer.MAX_VALUE /* bsic */,
-                mcc,
-                mnc,
-                operatorInfo.getOperatorAlphaLong(),
-                operatorInfo.getOperatorAlphaShort(),
-                Collections.emptyList());
-
-        final CellInfoGsm ci = new CellInfoGsm();
-        ci.setCellIdentity(cig);
-        return ci;
-    }
-
-    /** Convert a list of cellInfos to readable string without sensitive info. */
-    public static String cellInfoListToString(List<CellInfo> cellInfos) {
-        return cellInfos.stream()
-                .map(cellInfo -> cellInfoToString(cellInfo))
-                .collect(Collectors.joining(", "));
-    }
-
-    /** Convert {@code cellInfo} to a readable string without sensitive info. */
-    public static String cellInfoToString(CellInfo cellInfo) {
-        final String cellType = cellInfo.getClass().getSimpleName();
-        final CellIdentity cid = getCellIdentity(cellInfo);
-        String mcc = getCellIdentityMcc(cid);
-        String mnc = getCellIdentityMnc(cid);
-        CharSequence alphaLong = null;
-        CharSequence alphaShort = null;
-        if (cid != null) {
-            alphaLong = cid.getOperatorAlphaLong();
-            alphaShort = cid.getOperatorAlphaShort();
-        }
-        return String.format(
-                "{CellType = %s, isRegistered = %b, mcc = %s, mnc = %s, alphaL = %s, alphaS = %s}",
-                cellType, cellInfo.isRegistered(), mcc, mnc,
-                alphaLong, alphaShort);
-    }
-
-    /**
-     * Returns the MccMnc.
-     *
-     * @param cid contains the identity of the network.
-     * @return MccMnc string.
-     */
-    public static String getCellIdentityMccMnc(CellIdentity cid) {
-        String mcc = getCellIdentityMcc(cid);
-        String mnc = getCellIdentityMnc(cid);
-        return (mcc == null || mnc == null) ? null : mcc + mnc;
-    }
-
-    /**
-     * Returns the Mcc.
-     *
-     * @param cid contains the identity of the network.
-     * @return Mcc string.
-     */
-    public static String getCellIdentityMcc(CellIdentity cid) {
-        String mcc = null;
-        if (cid != null) {
-            if (cid instanceof CellIdentityGsm) {
-                mcc = ((CellIdentityGsm) cid).getMccString();
-            } else if (cid instanceof CellIdentityWcdma) {
-                mcc = ((CellIdentityWcdma) cid).getMccString();
-            } else if (cid instanceof CellIdentityTdscdma) {
-                mcc = ((CellIdentityTdscdma) cid).getMccString();
-            } else if (cid instanceof CellIdentityLte) {
-                mcc = ((CellIdentityLte) cid).getMccString();
-            } else if (cid instanceof CellIdentityNr) {
-                mcc = ((CellIdentityNr) cid).getMccString();
-            }
-        }
-        return (mcc == null) ? null : mcc;
-    }
-
-    /**
-     * Returns the Mnc.
-     *
-     * @param cid contains the identity of the network.
-     * @return Mcc string.
-     */
-    public static String getCellIdentityMnc(CellIdentity cid) {
-        String mnc = null;
-        if (cid != null) {
-            if (cid instanceof CellIdentityGsm) {
-                mnc = ((CellIdentityGsm) cid).getMncString();
-            } else if (cid instanceof CellIdentityWcdma) {
-                mnc = ((CellIdentityWcdma) cid).getMncString();
-            } else if (cid instanceof CellIdentityTdscdma) {
-                mnc = ((CellIdentityTdscdma) cid).getMncString();
-            } else if (cid instanceof CellIdentityLte) {
-                mnc = ((CellIdentityLte) cid).getMncString();
-            } else if (cid instanceof CellIdentityNr) {
-                mnc = ((CellIdentityNr) cid).getMncString();
-            }
-        }
-        return (mnc == null) ? null : mnc;
-    }
-}
diff --git a/src/com/android/settings/network/telephony/CellInfoUtil.kt b/src/com/android/settings/network/telephony/CellInfoUtil.kt
new file mode 100644
index 0000000..c7b6b24
--- /dev/null
+++ b/src/com/android/settings/network/telephony/CellInfoUtil.kt
@@ -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.network.telephony
+
+import android.telephony.CellIdentity
+import android.telephony.CellIdentityGsm
+import android.telephony.CellInfo
+import android.telephony.CellInfoGsm
+import android.text.BidiFormatter
+import android.text.TextDirectionHeuristics
+import com.android.internal.telephony.OperatorInfo
+
+/**
+ * Add static Utility functions to get information from the CellInfo object.
+ * TODO: Modify [CellInfo] for simplify those functions
+ */
+object CellInfoUtil {
+
+    /**
+     * Returns the title of the network obtained in the manual search.
+     *
+     * By the following order,
+     * 1. Long Name if not null/empty
+     * 2. Short Name if not null/empty
+     * 3. OperatorNumeric (MCCMNC) string
+     */
+    @JvmStatic
+    fun CellIdentity.getNetworkTitle(): String? {
+        operatorAlphaLong?.takeIf { it.isNotBlank() }?.let { return it.toString() }
+        operatorAlphaShort?.takeIf { it.isNotBlank() }?.let { return it.toString() }
+        val operatorNumeric = getOperatorNumeric() ?: return null
+        val bidiFormatter = BidiFormatter.getInstance()
+        return bidiFormatter.unicodeWrap(operatorNumeric, TextDirectionHeuristics.LTR)
+    }
+
+    /**
+     * Creates a CellInfo object from OperatorInfo. GsmCellInfo is used here only because
+     * operatorInfo does not contain technology type while CellInfo is an abstract object that
+     * requires to specify technology type. It doesn't matter which CellInfo type to use here, since
+     * we only want to wrap the operator info and PLMN to a CellInfo object.
+     */
+    @JvmStatic
+    fun convertOperatorInfoToCellInfo(operatorInfo: OperatorInfo): CellInfo {
+        val operatorNumeric = operatorInfo.operatorNumeric
+        var mcc: String? = null
+        var mnc: String? = null
+        if (operatorNumeric?.matches("^[0-9]{5,6}$".toRegex()) == true) {
+            mcc = operatorNumeric.substring(0, 3)
+            mnc = operatorNumeric.substring(3)
+        }
+        return CellInfoGsm().apply {
+            cellIdentity = CellIdentityGsm(
+                /* lac = */ Int.MAX_VALUE,
+                /* cid = */ Int.MAX_VALUE,
+                /* arfcn = */ Int.MAX_VALUE,
+                /* bsic = */ Int.MAX_VALUE,
+                /* mccStr = */ mcc,
+                /* mncStr = */ mnc,
+                /* alphal = */ operatorInfo.operatorAlphaLong,
+                /* alphas = */ operatorInfo.operatorAlphaShort,
+                /* additionalPlmns = */ emptyList(),
+            )
+        }
+    }
+
+    /**
+     * Convert a list of cellInfos to readable string without sensitive info.
+     */
+    @JvmStatic
+    fun cellInfoListToString(cellInfos: List<CellInfo>): String =
+        cellInfos.joinToString { cellInfo -> cellInfo.readableString() }
+
+    /**
+     * Convert [CellInfo] to a readable string without sensitive info.
+     */
+    private fun CellInfo.readableString(): String = buildString {
+        append("{CellType = ${this@readableString::class.simpleName}, ")
+        append("isRegistered = $isRegistered, ")
+        append(cellIdentity.readableString())
+        append("}")
+    }
+
+    private fun CellIdentity.readableString(): String = buildString {
+        append("mcc = $mccString, ")
+        append("mnc = $mncString, ")
+        append("alphaL = $operatorAlphaLong, ")
+        append("alphaS = $operatorAlphaShort")
+    }
+
+    /**
+     * Returns the MccMnc.
+     */
+    @JvmStatic
+    fun CellIdentity.getOperatorNumeric(): String? {
+        val mcc = mccString
+        val mnc = mncString
+        return if (mcc == null || mnc == null) null else mcc + mnc
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ConfirmDialogFragment.java b/src/com/android/settings/network/telephony/ConfirmDialogFragment.java
index d262a0e..a807518 100644
--- a/src/com/android/settings/network/telephony/ConfirmDialogFragment.java
+++ b/src/com/android/settings/network/telephony/ConfirmDialogFragment.java
@@ -176,7 +176,13 @@
     }
 
     private void informCaller(boolean confirmed, int itemPosition) {
-        OnConfirmListener listener = getListener(OnConfirmListener.class);
+        OnConfirmListener listener;
+        try {
+            listener = getListener(OnConfirmListener.class);
+        } catch (IllegalArgumentException e) {
+            Log.e(TAG, "Do nothing and return.", e);
+            return;
+        }
         if (listener == null) {
             return;
         }
diff --git a/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java b/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java
index f4ad478..d41629e 100644
--- a/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java
+++ b/src/com/android/settings/network/telephony/ContactDiscoveryPreferenceController.java
@@ -33,7 +33,7 @@
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.network.CarrierConfigCache;
 import com.android.settings.network.SubscriptionUtil;
@@ -119,7 +119,7 @@
             @Override
             public void onChange(boolean selfChange, Uri uri) {
                 Log.d(TAG, "UCE setting changed, re-evaluating.");
-                SwitchPreference switchPref = (SwitchPreference) preference;
+                TwoStatePreference switchPref = (TwoStatePreference) preference;
                 switchPref.setChecked(isChecked());
             }
         };
diff --git a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
index b4e768c..08e993b 100644
--- a/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
+++ b/src/com/android/settings/network/telephony/ConvertToEsimPreferenceController.java
@@ -19,7 +19,20 @@
 import static androidx.lifecycle.Lifecycle.Event.ON_START;
 import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
 
+import android.Manifest;
+import android.app.Activity;
+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.euicc.EuiccService;
+import android.telephony.SubscriptionInfo;
+import android.telephony.SubscriptionManager;
+import android.telephony.euicc.EuiccManager;
 import android.text.TextUtils;
 
 import androidx.annotation.VisibleForTesting;
@@ -29,14 +42,17 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.telephony.util.TelephonyUtils;
+import com.android.settings.R;
 import com.android.settings.network.MobileNetworkRepository;
+import com.android.settings.network.SubscriptionUtil;
 import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.DataServiceUtils;
-import com.android.settingslib.mobile.dataservice.MobileNetworkInfoEntity;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-import com.android.settingslib.mobile.dataservice.UiccInfoEntity;
+
+import org.jetbrains.annotations.NotNull;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 
 public class ConvertToEsimPreferenceController extends TelephonyBasePreferenceController implements
@@ -47,6 +63,9 @@
     private MobileNetworkRepository mMobileNetworkRepository;
     private List<SubscriptionInfoEntity> mSubscriptionInfoEntityList = new ArrayList<>();
     private SubscriptionInfoEntity mSubscriptionInfoEntity;
+    private static int sQueryFlag =
+            PackageManager.MATCH_SYSTEM_ONLY | PackageManager.MATCH_DIRECT_BOOT_AUTO
+                    | PackageManager.GET_RESOLVED_FILTER;
 
     public ConvertToEsimPreferenceController(Context context, String key, Lifecycle lifecycle,
             LifecycleOwner lifecycleOwner, int subId) {
@@ -83,11 +102,29 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
+        // TODO(b/315073761) : Add a new API to set whether the profile has been
+        // converted/transferred. Remove any confusion to the user according to the set value.
+
+        /*
+         * If pSIM is set to preferred SIM and there is an active eSIM, convert the pSIM to eSIM
+         * and then disable the pSIM.
+         * This causes a dialog to switch the preferred SIM to downloaded new eSIM.
+         * This may cause confusion for the user about the seamless conversion.
+         * To avoid showing users dialogs that can cause confusion,
+         * add conditions to allow conversion in the absence of active eSIM.
+         */
+        if (!mContext.getResources().getBoolean(R.bool.config_psim_conversion_menu_enabled)
+                || !isPsimConversionSupport(subId)) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        if (findConversionSupportComponent()) {
+            return mSubscriptionInfoEntity != null && mSubscriptionInfoEntity.isActiveSubscriptionId
+                    && !mSubscriptionInfoEntity.isEmbedded && isActiveSubscription(subId)
+                    && !hasActiveEsimProfiles()
+                    ? AVAILABLE
+                    : CONDITIONALLY_UNAVAILABLE;
+        }
         return CONDITIONALLY_UNAVAILABLE;
-        // TODO(b/262195754): Need the intent to enabled the feature.
-//        return mSubscriptionInfoEntity != null && mSubscriptionInfoEntity.isActiveSubscriptionId
-//                && !mSubscriptionInfoEntity.isEmbedded ? AVAILABLE
-//                : CONDITIONALLY_UNAVAILABLE;
     }
 
     @VisibleForTesting
@@ -104,6 +141,10 @@
             return false;
         }
         // Send intent to launch LPA
+        Intent intent = new Intent(EuiccManager.ACTION_CONVERT_TO_EMBEDDED_SUBSCRIPTION);
+        intent.putExtra("subId", mSubId);
+        mContext.startActivity(intent);
+        ((Activity) mContext).finish();
         return true;
     }
 
@@ -114,13 +155,103 @@
 
     @Override
     public void onActiveSubInfoChanged(List<SubscriptionInfoEntity> subInfoEntityList) {
-        // TODO(b/262195754): Need the intent to enabled the feature.
-//        mSubscriptionInfoEntityList = subInfoEntityList;
-//        mSubscriptionInfoEntityList.forEach(entity -> {
-//            if (Integer.parseInt(entity.subId) == mSubId) {
-//                mSubscriptionInfoEntity = entity;
-//                update();
-//            }
-//        });
+        mSubscriptionInfoEntityList = subInfoEntityList;
+        mSubscriptionInfoEntityList.forEach(entity -> {
+            if (Integer.parseInt(entity.subId) == mSubId) {
+                mSubscriptionInfoEntity = entity;
+                update();
+            }
+        });
+    }
+
+    private boolean isActiveSubscription(int subId) {
+        SubscriptionManager subscriptionManager = mContext.getSystemService(
+                SubscriptionManager.class);
+        SubscriptionInfo subInfo = subscriptionManager.getActiveSubscriptionInfo(subId);
+        if (subInfo == null) {
+            return false;
+        }
+        return true;
+    }
+
+    private boolean hasActiveEsimProfiles() {
+        SubscriptionManager subscriptionManager = mContext.getSystemService(
+                SubscriptionManager.class);
+        List<SubscriptionInfo> subscriptionInfoList =
+                SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
+        if (subscriptionInfoList == null || subscriptionInfoList.isEmpty()) {
+            return false;
+        }
+        int activatedEsimCount = (int) subscriptionInfoList
+                .stream()
+                .filter(SubscriptionInfo::isEmbedded)
+                .count();
+        if (activatedEsimCount > 0) {
+            return true;
+        }
+        return false;
+    }
+
+    private boolean findConversionSupportComponent() {
+        Intent intent = new Intent(EuiccService.ACTION_CONVERT_TO_EMBEDDED_SUBSCRIPTION);
+        PackageManager packageManager = mContext.getPackageManager();
+        List<ResolveInfo> resolveInfoList = packageManager
+                .queryIntentActivities(intent, sQueryFlag);
+        if (resolveInfoList == null || resolveInfoList.isEmpty()) {
+            return false;
+        }
+        for (ResolveInfo resolveInfo : resolveInfoList) {
+            if (!isValidEuiccComponent(packageManager, resolveInfo)) {
+                continue;
+            } else {
+                return true;
+            }
+        }
+        return true;
+    }
+
+    private boolean isValidEuiccComponent(
+            PackageManager packageManager, @NotNull ResolveInfo resolveInfo) {
+        ComponentInfo componentInfo = TelephonyUtils.getComponentInfo(resolveInfo);
+        String packageName = new ComponentName(componentInfo.packageName, componentInfo.name)
+                .getPackageName();
+
+        // Verify that the app is privileged (via granting of a privileged permission).
+        if (packageManager.checkPermission(
+                Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS, packageName)
+                != PackageManager.PERMISSION_GRANTED) {
+            return false;
+        }
+
+        // Verify that only the system can access the component.
+        final String permission;
+        if (componentInfo instanceof ServiceInfo) {
+            permission = ((ServiceInfo) componentInfo).permission;
+        } else if (componentInfo instanceof ActivityInfo) {
+            permission = ((ActivityInfo) componentInfo).permission;
+        } else {
+            return false;
+        }
+        if (!TextUtils.equals(permission, Manifest.permission.BIND_EUICC_SERVICE)) {
+            return false;
+        }
+
+        // Verify that the component declares a priority.
+        if (resolveInfo.filter == null || resolveInfo.filter.getPriority() == 0) {
+            return false;
+        }
+        return true;
+    }
+
+    private boolean isPsimConversionSupport(int subId) {
+        SubscriptionManager subscriptionManager = mContext.getSystemService(
+                SubscriptionManager.class);
+        SubscriptionInfo subInfo = subscriptionManager.getActiveSubscriptionInfo(subId);
+        if (subInfo == null) {
+            return false;
+        }
+        final int[] supportedCarriers = mContext.getResources().getIntArray(
+                R.array.config_psim_conversion_menu_enabled_carrier);
+        return Arrays.stream(supportedCarriers).anyMatch(id -> id == subInfo.getCarrierId());
     }
 }
diff --git a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
index 88da325..6ee6909 100644
--- a/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
+++ b/src/com/android/settings/network/telephony/DataUsagePreferenceController.kt
@@ -31,7 +31,8 @@
 import com.android.settings.R
 import com.android.settings.datausage.DataUsageUtils
 import com.android.settings.datausage.lib.DataUsageLib
-import com.android.settingslib.net.DataUsageController
+import com.android.settings.datausage.lib.NetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.AllTimeRange
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
@@ -45,9 +46,6 @@
     private lateinit var preference: Preference
     private var networkTemplate: NetworkTemplate? = null
 
-    @VisibleForTesting
-    var dataUsageControllerFactory: (Context) -> DataUsageController = { DataUsageController(it) }
-
     fun init(subId: Int) {
         mSubId = subId
     }
@@ -64,7 +62,7 @@
         preference = screen.findPreference(preferenceKey)!!
     }
 
-    fun whenViewCreated(viewLifecycleOwner: LifecycleOwner) {
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
         viewLifecycleOwner.lifecycleScope.launch {
             viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
                 update()
@@ -103,25 +101,21 @@
         else -> null
     }
 
+    @VisibleForTesting
+    fun createNetworkCycleDataRepository(): NetworkCycleDataRepository? =
+        networkTemplate?.let { NetworkCycleDataRepository(mContext, it) }
+
     private fun getDataUsageSummary(): String? {
-        val networkTemplate = networkTemplate ?: return null
-        val controller = dataUsageControllerFactory(mContext).apply {
-            setSubscriptionId(mSubId)
-        }
-        val usageInfo = controller.getDataUsageInfo(networkTemplate)
-        if (usageInfo != null && usageInfo.usageLevel > 0) {
+        val repository = createNetworkCycleDataRepository() ?: return null
+        repository.loadFirstCycle()?.let { usageData ->
             return mContext.getString(
                 R.string.data_usage_template,
-                DataUsageUtils.formatDataUsage(mContext, usageInfo.usageLevel),
-                usageInfo.period,
+                usageData.formatUsage(mContext),
+                usageData.formatDateRange(mContext),
             )
         }
 
-        return controller.getHistoricalUsageLevel(networkTemplate).takeIf { it > 0 }?.let {
-            mContext.getString(
-                R.string.data_used_template,
-                DataUsageUtils.formatDataUsage(mContext, it),
-            )
-        }
+        return repository.queryUsage(AllTimeRange).takeIf { it.usage > 0 }
+            ?.getDataUsedString(mContext)
     }
 }
diff --git a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
index 206b3a9..03ce7f6 100644
--- a/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
+++ b/src/com/android/settings/network/telephony/DefaultSubscriptionController.java
@@ -32,6 +32,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.DefaultSubscriptionReceiver;
 import com.android.settings.network.MobileNetworkRepository;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -88,6 +89,9 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
+        if (Flags.isDualSimOnboardingEnabled()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
         return AVAILABLE;
     }
 
diff --git a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
deleted file mode 100644
index 3035a9f..0000000
--- a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.telephony.SubscriptionInfo;
-import android.telephony.euicc.EuiccManager;
-import android.text.TextUtils;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.security.ConfirmSimDeletionPreferenceController;
-import com.android.settings.wifi.dpp.WifiDppUtils;
-
-/** This controls a preference allowing the user to delete the profile for an eSIM. */
-public class DeleteSimProfilePreferenceController extends BasePreferenceController {
-
-    private SubscriptionInfo mSubscriptionInfo;
-    private Fragment mParentFragment;
-    private int mRequestCode;
-    private boolean mConfirmationDefaultOn;
-
-    public DeleteSimProfilePreferenceController(Context context, String preferenceKey) {
-        super(context, preferenceKey);
-        mConfirmationDefaultOn =
-                context.getResources()
-                        .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
-    }
-
-    public void init(int subscriptionId, Fragment parentFragment, int requestCode) {
-        mParentFragment = parentFragment;
-
-        for (SubscriptionInfo info : SubscriptionUtil.getAvailableSubscriptions(mContext)) {
-            if (info.getSubscriptionId() == subscriptionId && info.isEmbedded()) {
-                mSubscriptionInfo = info;
-                break;
-            }
-        }
-        mRequestCode = requestCode;
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            boolean confirmDeletion =
-                    Settings.Global.getInt(
-                            mContext.getContentResolver(),
-                            ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION,
-                            mConfirmationDefaultOn ? 1 : 0)
-                            == 1;
-            if (confirmDeletion) {
-                WifiDppUtils.showLockScreen(mContext, () -> deleteSim());
-            } else {
-                deleteSim();
-            }
-
-            return true;
-        }
-
-        return false;
-    }
-
-    private void deleteSim() {
-        SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(
-                mContext, mSubscriptionInfo.getSubscriptionId());
-        // result handled in MobileNetworkSettings
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        if (mSubscriptionInfo != null) {
-            return AVAILABLE;
-        } else {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-    }
-}
diff --git a/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.kt b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.kt
new file mode 100644
index 0000000..64f9730
--- /dev/null
+++ b/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceController.kt
@@ -0,0 +1,73 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+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.SubscriptionUtil
+import com.android.settings.wifi.dpp.WifiDppUtils
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+
+/** This controls a preference allowing the user to delete the profile for an eSIM.  */
+class DeleteSimProfilePreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+    private var subscriptionId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    private var subscriptionInfo: SubscriptionInfo? = null
+    private lateinit var preference: Preference
+
+    fun init(subscriptionId: Int) {
+        this.subscriptionId = subscriptionId
+        subscriptionInfo = SubscriptionUtil.getAvailableSubscriptions(mContext)
+            .find { it.subscriptionId == subscriptionId && it.isEmbedded }
+    }
+
+    override fun getAvailabilityStatus() = when (subscriptionInfo) {
+        null -> CONDITIONALLY_UNAVAILABLE
+        else -> AVAILABLE
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        mContext.callStateFlow(subscriptionId).collectLatestWithLifecycle(viewLifecycleOwner) {
+            preference.isEnabled = (it == TelephonyManager.CALL_STATE_IDLE)
+        }
+    }
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key != preferenceKey) return false
+
+        WifiDppUtils.showLockScreen(mContext) { deleteSim() }
+
+        return true
+    }
+
+    private fun deleteSim() {
+        SubscriptionUtil.startDeleteEuiccSubscriptionDialogActivity(mContext, subscriptionId)
+        // result handled in MobileNetworkSettings
+    }
+}
diff --git a/src/com/android/settings/network/telephony/Enable2gPreferenceController.java b/src/com/android/settings/network/telephony/Enable2gPreferenceController.java
index 03f3be4..e941ce5 100644
--- a/src/com/android/settings/network/telephony/Enable2gPreferenceController.java
+++ b/src/com/android/settings/network/telephony/Enable2gPreferenceController.java
@@ -29,6 +29,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.CarrierConfigCache;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.overlay.FeatureFactory;
@@ -74,7 +75,7 @@
     public Enable2gPreferenceController(Context context, String key) {
         super(context, key);
         mCarrierConfigCache = CarrierConfigCache.getInstance(context);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
         mRestrictedPreference = null;
     }
@@ -111,19 +112,25 @@
             return;
         }
 
-        final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(mSubId);
-        boolean isDisabledByCarrier =
-                carrierConfig != null
-                        && carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G);
-        preference.setEnabled(!isDisabledByCarrier);
-        String summary;
-        if (isDisabledByCarrier) {
-            summary = mContext.getString(R.string.enable_2g_summary_disabled_carrier,
-                    getSimCardName());
+        // TODO: b/303411083 remove all dynamic logic and rely on summary in resource file once flag
+        //  is no longer needed
+        if (Flags.removeKeyHideEnable2g()) {
+            preference.setSummary(mContext.getString(R.string.enable_2g_summary));
         } else {
-            summary = mContext.getString(R.string.enable_2g_summary);
+            final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(mSubId);
+            boolean isDisabledByCarrier =
+                    carrierConfig != null
+                            && carrierConfig.getBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G);
+            preference.setEnabled(!isDisabledByCarrier);
+            String summary;
+            if (isDisabledByCarrier) {
+                summary = mContext.getString(R.string.enable_2g_summary_disabled_carrier,
+                        getSimCardName());
+            } else {
+                summary = mContext.getString(R.string.enable_2g_summary);
+            }
+            preference.setSummary(summary);
         }
-        preference.setSummary(summary);
     }
 
     private String getSimCardName() {
@@ -154,14 +161,12 @@
      */
     @Override
     public int getAvailabilityStatus(int subId) {
-        final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
         if (mTelephonyManager == null) {
             Log.w(LOG_TAG, "Telephony manager not yet initialized");
             mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
         }
         boolean visible =
                 SubscriptionManager.isUsableSubscriptionId(subId)
-                        && carrierConfig != null
                         && mTelephonyManager.isRadioInterfaceCapabilitySupported(
                         mTelephonyManager.CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK);
         return visible ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
diff --git a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
index 9fb80a5..56fbcde 100644
--- a/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
+++ b/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceController.java
@@ -29,12 +29,16 @@
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentManager;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.ListPreference;
+import androidx.preference.ListPreferenceDialogFragmentCompat;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.network.AllowedNetworkTypesListener;
 import com.android.settings.network.CarrierConfigCache;
@@ -67,6 +71,7 @@
     private SubscriptionsChangeListener mSubscriptionsListener;
     private int mCallState = TelephonyManager.CALL_STATE_IDLE;
     private PhoneCallStateTelephonyCallback mTelephonyCallback;
+    private FragmentManager mFragmentManager;
 
     public EnabledNetworkModePreferenceController(Context context, String key) {
         super(context, key);
@@ -151,7 +156,16 @@
         listPreference.setEntryValues(mBuilder.getEntryValues());
         listPreference.setValue(Integer.toString(mBuilder.getSelectedEntryValue()));
         listPreference.setSummary(mBuilder.getSummary());
-        listPreference.setEnabled(isCallStateIdle());
+        boolean listPreferenceEnabled = isCallStateIdle();
+        listPreference.setEnabled(listPreferenceEnabled);
+        if (!listPreferenceEnabled) {
+            // If dialog is already opened when ListPreference disabled, dismiss them.
+            for (Fragment fragment : mFragmentManager.getFragments()) {
+                if (fragment instanceof ListPreferenceDialogFragmentCompat) {
+                    ((ListPreferenceDialogFragmentCompat) fragment).dismiss();
+                }
+            }
+        }
     }
 
     @Override
@@ -169,8 +183,9 @@
         return false;
     }
 
-    void init(int subId) {
+    void init(int subId, FragmentManager fragmentManager) {
         mSubId = subId;
+        mFragmentManager = fragmentManager;
         mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
                 .createForSubscriptionId(mSubId);
         mBuilder = new PreferenceEntriesBuilder(mContext, mSubId);
@@ -227,6 +242,7 @@
         public void updateConfig() {
             mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
             final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(mSubId);
+            final boolean flagHidePrefer3gItem = Flags.hidePrefer3gItem();
             mAllowed5gNetworkType = checkSupportedRadioBitmask(
                     mTelephonyManager.getAllowedNetworkTypesForReason(
                             TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER),
@@ -242,22 +258,28 @@
                         CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
                 mDisplay2gOptions = carrierConfig.getBoolean(
                         CarrierConfigManager.KEY_PREFER_2G_BOOL);
-                // TODO: Using the carrier config.
-                mDisplay3gOptions = getResourcesForSubId().getBoolean(
-                        R.bool.config_display_network_mode_3g_option);
 
-                int[] carriersWithout3gMenu = getResourcesForSubId().getIntArray(
-                        R.array.network_mode_3g_deprecated_carrier_id);
-                if ((carriersWithout3gMenu != null) && (carriersWithout3gMenu.length > 0)) {
-                    SubscriptionManager sm = mContext.getSystemService(SubscriptionManager.class);
-                    SubscriptionInfo subInfo = sm.getActiveSubscriptionInfo(mSubId);
-                    if (subInfo != null) {
-                        int carrierId = subInfo.getCarrierId();
+                if (flagHidePrefer3gItem) {
+                    mDisplay3gOptions = carrierConfig.getBoolean(
+                        CarrierConfigManager.KEY_PREFER_3G_VISIBILITY_BOOL);
+                } else {
+                    mDisplay3gOptions = getResourcesForSubId().getBoolean(
+                            R.bool.config_display_network_mode_3g_option);
 
-                        for (int idx = 0; idx < carriersWithout3gMenu.length; idx++) {
-                            if (carrierId == carriersWithout3gMenu[idx]) {
-                                mDisplay3gOptions = false;
-                                break;
+                    int[] carriersWithout3gMenu = getResourcesForSubId().getIntArray(
+                            R.array.network_mode_3g_deprecated_carrier_id);
+                    if ((carriersWithout3gMenu != null) && (carriersWithout3gMenu.length > 0)) {
+                        SubscriptionManager sm = mContext.getSystemService(
+                                SubscriptionManager.class);
+                        SubscriptionInfo subInfo = sm.getActiveSubscriptionInfo(mSubId);
+                        if (subInfo != null) {
+                            int carrierId = subInfo.getCarrierId();
+
+                            for (int idx = 0; idx < carriersWithout3gMenu.length; idx++) {
+                                if (carrierId == carriersWithout3gMenu[idx]) {
+                                    mDisplay3gOptions = false;
+                                    break;
+                                }
                             }
                         }
                     }
@@ -902,7 +924,16 @@
 
             // assign current call state so that it helps to show correct preference state even
             // before first onCallStateChanged() by initial registration.
-            mCallState = mTelephonyManager.getCallState(subId);
+            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(
                     mContext.getMainExecutor(), mTelephonyCallback);
         }
diff --git a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
index 12612d6..1a71e5a 100644
--- a/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
+++ b/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceController.java
@@ -22,7 +22,6 @@
 import android.content.DialogInterface;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
-import android.telephony.PhoneStateListener;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyManager;
@@ -32,8 +31,9 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+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;
@@ -153,7 +153,7 @@
         if (preference == null) {
             return;
         }
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
+        final TwoStatePreference switchPreference = (TwoStatePreference) preference;
 
         final VolteQueryImsState queryState = queryImsState(mSubId);
         switchPreference.setEnabled(isUserControlAllowed(getCarrierConfigForSubId(mSubId))
@@ -235,7 +235,16 @@
             }
             // assign current call state so that it helps to show correct preference state even
             // before first onCallStateChanged() by initial registration.
-            mCallState = mTelephonyManager.getCallState(subId);
+            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(
                     mContext.getMainExecutor(), mTelephonyCallback);
 
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
deleted file mode 100644
index 8f59f0e..0000000
--- a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.java
+++ /dev/null
@@ -1,113 +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.Handler;
-import android.os.Looper;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.data.ApnSetting;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.network.MobileDataContentObserver;
-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 "MMS messages"
- */
-public class MmsMessagePreferenceController extends TelephonyTogglePreferenceController implements
-        LifecycleObserver, OnStart, OnStop {
-    private TelephonyManager mTelephonyManager;
-    private MobileDataContentObserver mMobileDataContentObserver;
-    private PreferenceScreen mScreen;
-    private Preference mPreference;
-
-    public MmsMessagePreferenceController(Context context, String key) {
-        super(context, key);
-        mMobileDataContentObserver = new MobileDataContentObserver(
-                new Handler(Looper.getMainLooper()));
-        mMobileDataContentObserver.setOnMobileDataChangedListener(() -> refreshPreference());
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        final TelephonyManager telephonyManager = mContext.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(subId);
-        return (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
-                && !telephonyManager.isDataEnabled()
-                && telephonyManager.isApnMetered(ApnSetting.TYPE_MMS))
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void onStart() {
-        if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            mMobileDataContentObserver.register(mContext, mSubId);
-            updateState(mPreference);
-        }
-    }
-
-    @Override
-    public void onStop() {
-        if (mSubId != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
-            mMobileDataContentObserver.unRegister(mContext);
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mScreen = screen;
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-
-    public void init(int subId) {
-        mSubId = subId;
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(mSubId);
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        if (mTelephonyManager == null) {
-            return false;
-        }
-        mTelephonyManager.setMobileDataPolicyEnabled(
-                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, isChecked);
-        return true;
-    }
-
-
-    @Override
-    public boolean isChecked() {
-        return mTelephonyManager != null && mTelephonyManager.isDataEnabledForApn(
-                ApnSetting.TYPE_MMS);
-    }
-
-    private void refreshPreference() {
-        if (mScreen != null) {
-            super.displayPreference(mScreen);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
new file mode 100644
index 0000000..bf95475
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MmsMessagePreferenceController.kt
@@ -0,0 +1,91 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.data.ApnSetting
+import androidx.lifecycle.LifecycleOwner
+import androidx.preference.PreferenceScreen
+import com.android.settings.network.mobileDataEnabledFlow
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.flow.combine
+
+/**
+ * Preference controller for "MMS messages"
+ */
+class MmsMessagePreferenceController @JvmOverloads constructor(
+    context: Context,
+    key: String,
+    private val getDefaultDataSubId: () -> Int = {
+        SubscriptionManager.getDefaultDataSubscriptionId()
+    },
+) : TelephonyTogglePreferenceController(context, key) {
+
+    private lateinit var telephonyManager: TelephonyManager
+
+    private var preferenceScreen: PreferenceScreen? = null
+
+    fun init(subId: Int) {
+        mSubId = subId
+        telephonyManager = mContext.getSystemService(TelephonyManager::class.java)!!
+            .createForSubscriptionId(subId)
+    }
+
+    override fun getAvailabilityStatus(subId: Int) =
+        if (subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID &&
+            !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 displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preferenceScreen = screen
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        combine(
+            mContext.mobileDataEnabledFlow(mSubId),
+            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 setChecked(isChecked: Boolean): Boolean {
+        telephonyManager.setMobileDataPolicyEnabled(
+            TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED,
+            isChecked,
+        )
+        return true
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
index 31b8138d..bec7ee7 100644
--- a/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
+++ b/src/com/android/settings/network/telephony/MobileDataPreferenceController.java
@@ -31,9 +31,10 @@
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.MobileNetworkRepository;
 import com.android.settings.wifi.WifiPickerTrackerHelper;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -51,7 +52,7 @@
 
     private static final String DIALOG_TAG = "MobileDataDialog";
 
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
     private TelephonyManager mTelephonyManager;
     private SubscriptionManager mSubscriptionManager;
     private FragmentManager mFragmentManager;
@@ -83,6 +84,9 @@
 
     @Override
     public int getAvailabilityStatus(int subId) {
+        if (Flags.isDualSimOnboardingEnabled()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
         return subId != SubscriptionManager.INVALID_SUBSCRIPTION_ID
                 ? AVAILABLE
                 : AVAILABLE_UNSEARCHABLE;
@@ -143,7 +147,7 @@
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
-        mPreference = (SwitchPreference) preference;
+        mPreference = (TwoStatePreference) preference;
         update();
     }
 
diff --git a/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
new file mode 100644
index 0000000..907bab1
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceController.kt
@@ -0,0 +1,220 @@
+/*
+ * 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.graphics.Bitmap
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import android.text.TextUtils
+import android.util.Log
+import android.view.WindowManager
+import android.widget.ImageView
+import android.widget.TextView
+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.deviceinfo.PhoneNumberUtil
+import com.android.settings.flags.Flags
+import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
+import com.android.settingslib.CustomDialogPreferenceCompat
+import com.android.settingslib.Utils
+import com.android.settingslib.qrcode.QrCodeGenerator
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Preference controller for "EID"
+ */
+open class MobileNetworkEidPreferenceController(context: Context, key: String) :
+    TelephonyBasePreferenceController(context, key) {
+
+    private lateinit var lazyViewModel: Lazy<SubscriptionInfoListViewModel>
+    private lateinit var preference: CustomDialogPreferenceCompat
+    private lateinit var fragment: Fragment
+    private var coroutineScope: CoroutineScope? = null
+    private var title = String()
+    private var eid = String()
+
+    fun init(fragment: Fragment, subId: Int) {
+        this.fragment = fragment
+        lazyViewModel = fragment.viewModels()
+        mSubId = subId
+    }
+
+    override fun getAvailabilityStatus(subId: Int): Int = when {
+        !Flags.isDualSimOnboardingEnabled() -> CONDITIONALLY_UNAVAILABLE
+        SubscriptionManager.isValidSubscriptionId(subId)
+                && eid.isNotEmpty()
+                && mContext.userManager.isAdminUser -> AVAILABLE
+
+        else -> CONDITIONALLY_UNAVAILABLE
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        preference.isVisible = false
+
+        val viewModel by lazyViewModel
+        coroutineScope = viewLifecycleOwner.lifecycleScope
+        viewModel.subscriptionInfoListFlow
+            .map { subscriptionInfoList ->
+                subscriptionInfoList
+                    .firstOrNull { subInfo ->
+                        subInfo.subscriptionId == mSubId && subInfo.isEmbedded
+                    }
+            }
+            .collectLatestWithLifecycle(viewLifecycleOwner) { subscriptionInfo ->
+                subscriptionInfo?.let {
+                    coroutineScope?.launch {
+                        refreshData(it)
+                    }
+                }
+            }
+    }
+
+    @VisibleForTesting
+    suspend fun refreshData(subscriptionInfo: SubscriptionInfo) {
+        withContext(Dispatchers.Default) {
+            eid = getEid(subscriptionInfo)
+            if (eid.isEmpty()) {
+                Log.d(TAG, "EID is empty.")
+            }
+            title = getTitle()
+        }
+        refreshUi()
+    }
+
+    fun refreshUi() {
+        preference.title = title
+        preference.dialogTitle = title
+        preference.summary = eid
+        preference.isVisible = eid.isNotEmpty()
+    }
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key != preferenceKey) return false
+        this.preference.setOnShowListener {
+            coroutineScope?.launch { updateDialog() }
+        }
+        return true
+    }
+
+    private fun getTitle(): String {
+        return mContext.getString(R.string.status_eid)
+    }
+
+    private suspend fun updateDialog() {
+        val dialog = preference.dialog ?: return
+        dialog.window?.setFlags(
+            WindowManager.LayoutParams.FLAG_SECURE,
+            WindowManager.LayoutParams.FLAG_SECURE
+        )
+        dialog.setCanceledOnTouchOutside(false)
+        val textView = dialog.requireViewById<TextView>(R.id.esim_id_value)
+        textView.text = PhoneNumberUtil.expandByTts(eid)
+
+        val qrCodeView = dialog.requireViewById<ImageView>(R.id.esim_id_qrcode)
+
+        qrCodeView.setImageBitmap(getEidQrCode(eid))
+    }
+
+    protected fun getTelephonyManager(context: Context): TelephonyManager? {
+        return context.getSystemService(TelephonyManager::class.java)
+    }
+
+    protected fun getEuiccManager(context: Context): EuiccManager? {
+        return context.getSystemService(EuiccManager::class.java)
+    }
+
+    @VisibleForTesting
+    fun getEid(subscriptionInfo: SubscriptionInfo): String {
+        val euiccMgr = getEuiccManager(mContext)
+        val telMgr = getTelephonyManager(mContext)
+        if(euiccMgr==null || telMgr==null) return String()
+
+        var eid = getEidPerSlot(telMgr, euiccMgr, subscriptionInfo)
+        return eid.ifEmpty {
+            getDefaultEid(euiccMgr)
+        }
+    }
+
+    private fun getEidPerSlot(
+        telMgr: TelephonyManager,
+        euiccMgr: EuiccManager,
+        subscriptionInfo: SubscriptionInfo
+    ): String {
+        val uiccCardInfoList = telMgr.uiccCardsInfo
+        val cardId = subscriptionInfo.cardId
+
+        /**
+         * Find EID from first slot which contains an eSIM and with card ID within
+         * the eSIM card ID provided by SubscriptionManager.
+         */
+        return uiccCardInfoList.firstOrNull { cardInfo -> cardInfo.isEuicc && cardInfo.cardId == cardId }
+            ?.let { cardInfo ->
+                var eid = cardInfo.getEid()
+                if (TextUtils.isEmpty(eid)) {
+                    eid = euiccMgr.createForCardId(cardInfo.cardId).getEid()
+                }
+                eid
+            } ?: String()
+    }
+
+    private fun getDefaultEid(euiccMgr: EuiccManager?): String {
+        return if (euiccMgr == null || !euiccMgr.isEnabled) {
+            String()
+        } else euiccMgr.getEid() ?: String()
+    }
+
+    companion object {
+        private const val TAG = "MobileNetworkEidPreferenceController"
+        private const val QR_CODE_SIZE = 600
+
+        /**
+         * Gets the QR code for EID
+         * @param eid is the EID string
+         * @return a Bitmap of QR code
+         */
+        private suspend fun getEidQrCode(eid: String): Bitmap? = withContext(Dispatchers.Default) {
+            try {
+                Log.d(TAG, "updateDialog. getEidQrCode $eid")
+                QrCodeGenerator.encodeQrCode(contents = eid, size = QR_CODE_SIZE)
+            } catch (exception: Exception) {
+                Log.w(TAG, "Error when creating QR code width $QR_CODE_SIZE", exception)
+                null
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
new file mode 100644
index 0000000..8ec313b
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceController.kt
@@ -0,0 +1,145 @@
+/*
+ * 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.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+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.deviceinfo.imei.ImeiInfoDialogFragment
+import com.android.settings.flags.Flags
+import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
+import com.android.settingslib.Utils
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Preference controller for "IMEI"
+ */
+class MobileNetworkImeiPreferenceController(context: Context, key: String) :
+    TelephonyBasePreferenceController(context, key) {
+
+    private lateinit var lazyViewModel: Lazy<SubscriptionInfoListViewModel>
+    private lateinit var preference: Preference
+    private lateinit var fragment: Fragment
+    private lateinit var mTelephonyManager: TelephonyManager
+    private var simSlot = -1
+    private var imei = String()
+    private var title = String()
+
+    fun init(fragment: Fragment, subId: Int) {
+        this.fragment = fragment
+        lazyViewModel = fragment.viewModels()
+        mSubId = subId
+        mTelephonyManager = mContext.getSystemService(TelephonyManager::class.java)
+            ?.createForSubscriptionId(mSubId)!!
+    }
+
+    override fun getAvailabilityStatus(subId: Int): Int = when {
+        !Flags.isDualSimOnboardingEnabled() -> CONDITIONALLY_UNAVAILABLE
+        SubscriptionManager.isValidSubscriptionId(subId)
+                && SubscriptionUtil.isSimHardwareVisible(mContext)
+                && mContext.userManager.isAdminUser
+                && !Utils.isWifiOnly(mContext) -> AVAILABLE
+        else -> CONDITIONALLY_UNAVAILABLE
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        val viewModel by lazyViewModel
+        val coroutineScope = viewLifecycleOwner.lifecycleScope
+
+        viewModel.subscriptionInfoListFlow
+                .collectLatestWithLifecycle(viewLifecycleOwner) { subscriptionInfoList ->
+                    subscriptionInfoList
+                            .firstOrNull { subInfo -> subInfo.subscriptionId == mSubId }
+                            ?.let {
+                                coroutineScope.launch {
+                                    refreshData(it)
+                                }
+                            }
+                }
+    }
+
+    @VisibleForTesting
+    suspend fun refreshData(subscription:SubscriptionInfo){
+        withContext(Dispatchers.Default) {
+            title = getTitle()
+            imei = getImei()
+            simSlot = subscription.simSlotIndex
+        }
+        refreshUi()
+    }
+
+    private fun refreshUi(){
+        preference.title = title
+        preference.summary = imei
+        preference.isVisible = true
+    }
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key != preferenceKey) return false
+
+        Log.d(TAG, "handlePreferenceTreeClick:")
+        ImeiInfoDialogFragment.show(fragment, simSlot, preference.title.toString())
+        return true
+    }
+    private fun getImei(): String {
+        val phoneType = getPhoneType()
+        return if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) mTelephonyManager.meid?: String()
+                else mTelephonyManager.imei?: String()
+    }
+    private fun getTitleForGsmPhone(): String {
+        return mContext.getString(R.string.status_imei)
+    }
+
+    private fun getTitleForCdmaPhone(): String {
+        return mContext.getString(R.string.status_meid_number)
+    }
+
+    private fun getTitle(): String {
+        val phoneType = getPhoneType()
+        return if (phoneType == TelephonyManager.PHONE_TYPE_CDMA) getTitleForCdmaPhone()
+                else getTitleForGsmPhone()
+    }
+
+    fun getPhoneType(): Int {
+        return mTelephonyManager.currentPhoneType
+    }
+
+    companion object {
+        private const val TAG = "MobileNetworkImeiPreferenceController"
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt
new file mode 100644
index 0000000..65a4b7e
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceController.kt
@@ -0,0 +1,112 @@
+/*
+ * 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.SubscriptionInfo
+import android.telephony.SubscriptionManager
+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) {
+
+    private lateinit var lazyViewModel: Lazy<SubscriptionInfoListViewModel>
+    private lateinit var preference: Preference
+
+    private var phoneNumber = String()
+
+    fun init(fragment: Fragment, subId: Int) {
+        lazyViewModel = fragment.viewModels()
+        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 displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        val viewModel by lazyViewModel
+        val coroutineScope = viewLifecycleOwner.lifecycleScope
+
+        viewModel.subscriptionInfoListFlow
+            .map { subscriptionInfoList ->
+                subscriptionInfoList
+                    .firstOrNull { subInfo -> subInfo.subscriptionId == mSubId }
+            }
+            .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 {
+        return mContext.getString(R.string.device_info_default)
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSettings.java b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
index 5b57ede..2f2b20e 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSettings.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.network.telephony;
 
+import static com.android.settings.network.MobileNetworkListFragment.collectAirplaneModeAndFinishIfOn;
+
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -83,6 +85,7 @@
     private static final String KEY_SMS_PREF = "sms_preference";
     private static final String KEY_MOBILE_DATA_PREF = "mobile_data_enable";
     private static final String KEY_CONVERT_TO_ESIM_PREF = "convert_to_esim";
+    private static final String KEY_EID_KEY = "network_mode_eid_info";
 
     //String keys for preference lookup
     private static final String BUTTON_CDMA_SYSTEM_SELECT_KEY = "cdma_system_select_key";
@@ -169,9 +172,12 @@
                             String.valueOf(mSubId));
         });
 
+        MobileNetworkEidPreferenceController eid = new MobileNetworkEidPreferenceController(context,
+                KEY_EID_KEY);
+        eid.init(this, mSubId);
+
         return Arrays.asList(
-                new DataUsageSummaryPreferenceController(getActivity(), getSettingsLifecycle(),
-                        this, mSubId),
+                new DataUsageSummaryPreferenceController(context, mSubId),
                 new RoamingPreferenceController(context, KEY_ROAMING_PREF, getSettingsLifecycle(),
                         this, mSubId),
                 new CallsDefaultSubscriptionController(context, KEY_CALLS_PREF,
@@ -181,7 +187,7 @@
                 new MobileDataPreferenceController(context, KEY_MOBILE_DATA_PREF,
                         getSettingsLifecycle(), this, mSubId),
                 new ConvertToEsimPreferenceController(context, KEY_CONVERT_TO_ESIM_PREF,
-                        getSettingsLifecycle(), this, mSubId));
+                        getSettingsLifecycle(), this, mSubId), eid);
     }
 
     @Override
@@ -228,22 +234,20 @@
 
         }
 
-        final DataUsageSummaryPreferenceController dataUsageSummaryPreferenceController =
-                use(DataUsageSummaryPreferenceController.class);
-        if (dataUsageSummaryPreferenceController != null) {
-            dataUsageSummaryPreferenceController.init(mSubId);
-        }
         use(MobileNetworkSwitchController.class).init(mSubId);
         use(CarrierSettingsVersionPreferenceController.class).init(mSubId);
         use(BillingCyclePreferenceController.class).init(mSubId);
         use(MmsMessagePreferenceController.class).init(mSubId);
         use(AutoDataSwitchPreferenceController.class).init(mSubId);
         use(DisabledSubscriptionController.class).init(mSubId);
-        use(DeleteSimProfilePreferenceController.class).init(mSubId, this,
-                REQUEST_CODE_DELETE_SUBSCRIPTION);
+        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(MobileNetworkImeiPreferenceController.class).init(this, mSubId);
+
         final MobileDataPreferenceController mobileDataPreferenceController =
                 use(MobileDataPreferenceController.class);
         if (mobileDataPreferenceController != null) {
@@ -260,23 +264,30 @@
             roamingPreferenceController.init(getFragmentManager(), mSubId,
                     mMobileNetworkInfoEntity);
         }
+        final SatelliteSettingPreferenceController satelliteSettingPreferenceController = use(
+                SatelliteSettingPreferenceController.class);
+        if (satelliteSettingPreferenceController != null) {
+            satelliteSettingPreferenceController.init(mSubId);
+        }
         use(ApnPreferenceController.class).init(mSubId);
         use(CarrierPreferenceController.class).init(mSubId);
         use(DataUsagePreferenceController.class).init(mSubId);
         use(PreferredNetworkModePreferenceController.class).init(mSubId);
-        use(EnabledNetworkModePreferenceController.class).init(mSubId);
+        use(EnabledNetworkModePreferenceController.class).init(mSubId, getParentFragmentManager());
         use(DataServiceSetupPreferenceController.class).init(mSubId);
         use(Enable2gPreferenceController.class).init(mSubId);
         use(CarrierWifiTogglePreferenceController.class).init(getLifecycle(), mSubId);
 
-        final WifiCallingPreferenceController wifiCallingPreferenceController =
-                use(WifiCallingPreferenceController.class).init(mSubId);
+        final CallingPreferenceCategoryController callingPreferenceCategoryController =
+                use(CallingPreferenceCategoryController.class);
+        use(WifiCallingPreferenceController.class)
+                .init(mSubId, callingPreferenceCategoryController);
 
         final OpenNetworkSelectPagePreferenceController openNetworkSelectPagePreferenceController =
                 use(OpenNetworkSelectPagePreferenceController.class).init(mSubId);
         final AutoSelectPreferenceController autoSelectPreferenceController =
                 use(AutoSelectPreferenceController.class)
-                        .init(getLifecycle(), mSubId)
+                        .init(mSubId)
                         .addListener(openNetworkSelectPagePreferenceController);
         use(NetworkPreferenceCategoryController.class).init(mSubId)
                 .setChildren(Arrays.asList(autoSelectPreferenceController));
@@ -286,9 +297,8 @@
         mCdmaSubscriptionPreferenceController.init(getPreferenceManager(), mSubId);
 
         final VideoCallingPreferenceController videoCallingPreferenceController =
-                use(VideoCallingPreferenceController.class).init(mSubId);
-        use(CallingPreferenceCategoryController.class).setChildren(
-                Arrays.asList(wifiCallingPreferenceController, videoCallingPreferenceController));
+                use(VideoCallingPreferenceController.class)
+                        .init(mSubId, callingPreferenceCategoryController);
         use(Enhanced4gLtePreferenceController.class).init(mSubId)
                 .addListener(videoCallingPreferenceController);
         use(Enhanced4gCallingPreferenceController.class).init(mSubId)
@@ -333,7 +343,7 @@
     @Override
     public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
         super.onViewCreated(view, savedInstanceState);
-        use(DataUsagePreferenceController.class).whenViewCreated(getViewLifecycleOwner());
+        collectAirplaneModeAndFinishIfOn(this);
     }
 
     @Override
@@ -371,11 +381,6 @@
         super.onPause();
     }
 
-    @Override
-    public void onDestroy() {
-        super.onDestroy();
-    }
-
     @VisibleForTesting
     void onRestoreInstance(Bundle icicle) {
         if (icicle != null) {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSpnPreferenceController.kt b/src/com/android/settings/network/telephony/MobileNetworkSpnPreferenceController.kt
new file mode 100644
index 0000000..ac055b0
--- /dev/null
+++ b/src/com/android/settings/network/telephony/MobileNetworkSpnPreferenceController.kt
@@ -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.network.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import androidx.annotation.VisibleForTesting
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.viewModels
+import androidx.lifecycle.LifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.flags.Flags
+import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+
+/**
+ * Preference controller for "Mobile network" and showing the SPN.
+ */
+class MobileNetworkSpnPreferenceController(context: Context, key: String) :
+    TelephonyBasePreferenceController(context, key) {
+
+    private lateinit var lazyViewModel: Lazy<SubscriptionInfoListViewModel>
+    private lateinit var preference: Preference
+
+    private var spn = String()
+
+    fun init(fragment: Fragment, subId: Int) {
+        lazyViewModel = fragment.viewModels()
+        mSubId = subId
+    }
+
+    override fun getAvailabilityStatus(subId: Int): Int = when {
+        !Flags.isDualSimOnboardingEnabled() -> CONDITIONALLY_UNAVAILABLE
+        SubscriptionManager.isValidSubscriptionId(subId)-> AVAILABLE
+        else -> CONDITIONALLY_UNAVAILABLE
+    }
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        val viewModel by lazyViewModel
+
+        viewModel.subscriptionInfoListFlow
+                .collectLatestWithLifecycle(viewLifecycleOwner) { subscriptionInfoList ->
+                    refreshData(subscriptionInfoList)
+                }
+    }
+
+    @VisibleForTesting
+    fun refreshData(subscriptionInfoList: List<SubscriptionInfo>){
+        spn = subscriptionInfoList
+            .firstOrNull { subInfo -> subInfo.subscriptionId == mSubId }
+            ?.let { info -> info.carrierName.toString() }
+            ?: String()
+
+        refreshUi()
+    }
+
+    private fun refreshUi(){
+        preference.summary = spn
+    }
+}
diff --git a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
index 453941d..20a3d89 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkSwitchController.java
@@ -86,7 +86,7 @@
         super.displayPreference(screen);
         mSwitchBar = (SettingsMainSwitchPreference) screen.findPreference(mPreferenceKey);
 
-        mSwitchBar.setOnBeforeCheckedChangeListener((toggleSwitch, isChecked) -> {
+        mSwitchBar.setOnBeforeCheckedChangeListener((isChecked) -> {
             // TODO b/135222940: re-evaluate whether to use
             // mSubscriptionManager#isSubscriptionEnabled
             if (mSubscriptionManager.isActiveSubscriptionId(mSubId) != isChecked) {
diff --git a/src/com/android/settings/network/telephony/MobileNetworkUtils.java b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
index 38f6596..47515d8 100644
--- a/src/com/android/settings/network/telephony/MobileNetworkUtils.java
+++ b/src/com/android/settings/network/telephony/MobileNetworkUtils.java
@@ -31,7 +31,6 @@
 import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO;
 import static com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA;
 
-import android.annotation.Nullable;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -69,6 +68,7 @@
 import android.util.Log;
 import android.view.Gravity;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.internal.util.ArrayUtils;
@@ -357,8 +357,9 @@
         final TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
                 .createForSubscriptionId(subId);
         final SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
-        telephonyManager.setDataEnabled(enabled);
+                SubscriptionManager.class).createForAllUserProfiles();
+        telephonyManager.setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER,
+                enabled);
 
         if (disableOtherSubscriptions) {
             final List<SubscriptionInfo> subInfoList =
@@ -367,8 +368,10 @@
                 for (SubscriptionInfo subInfo : subInfoList) {
                     // We never disable mobile data for opportunistic subscriptions.
                     if (subInfo.getSubscriptionId() != subId && !subInfo.isOpportunistic()) {
-                        context.getSystemService(TelephonyManager.class).createForSubscriptionId(
-                                subInfo.getSubscriptionId()).setDataEnabled(false);
+                        context.getSystemService(TelephonyManager.class)
+                                .createForSubscriptionId(subInfo.getSubscriptionId())
+                                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER,
+                                        false);
                     }
                 }
             }
@@ -666,39 +669,26 @@
      * 2. Similar design which aligned with operator name displayed in status bar
      */
     public static CharSequence getCurrentCarrierNameForDisplay(Context context, int subId) {
-        final SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
-        if (sm != null) {
-            final SubscriptionInfo subInfo = getSubscriptionInfo(sm, subId);
-            if (subInfo != null) {
-                return subInfo.getCarrierName();
-            }
+        final SubscriptionInfo subInfo = getSubscriptionInfo(context, subId);
+        if (subInfo != null) {
+            return subInfo.getCarrierName();
         }
         return getOperatorNameFromTelephonyManager(context);
     }
 
     public static CharSequence getCurrentCarrierNameForDisplay(Context context) {
-        final SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
-        if (sm != null) {
-            final int subId = sm.getDefaultSubscriptionId();
-            final SubscriptionInfo subInfo = getSubscriptionInfo(sm, subId);
-            if (subInfo != null) {
-                return subInfo.getCarrierName();
-            }
+        final SubscriptionInfo subInfo = getSubscriptionInfo(context,
+                SubscriptionManager.getDefaultSubscriptionId());
+        if (subInfo != null) {
+            return subInfo.getCarrierName();
         }
         return getOperatorNameFromTelephonyManager(context);
     }
 
-    private static SubscriptionInfo getSubscriptionInfo(SubscriptionManager subManager, int subId) {
-        List<SubscriptionInfo> subInfos = subManager.getActiveSubscriptionInfoList();
-        if (subInfos == null) {
-            return null;
-        }
-        for (SubscriptionInfo subInfo : subInfos) {
-            if (subInfo.getSubscriptionId() == subId) {
-                return subInfo;
-            }
-        }
-        return null;
+    private static @Nullable SubscriptionInfo getSubscriptionInfo(Context context, int subId) {
+        SubscriptionManager sm = context.getSystemService(SubscriptionManager.class);
+        if (sm == null) return null;
+        return sm.createForAllUserProfiles().getActiveSubscriptionInfo(subId);
     }
 
     private static String getOperatorNameFromTelephonyManager(Context context) {
@@ -712,7 +702,7 @@
 
     private static int[] getActiveSubscriptionIdList(Context context) {
         final SubscriptionManager subscriptionManager = context.getSystemService(
-                SubscriptionManager.class);
+                SubscriptionManager.class).createForAllUserProfiles();
         final List<SubscriptionInfo> subInfoList =
                 subscriptionManager.getActiveSubscriptionInfoList();
         if (subInfoList == null) {
diff --git a/src/com/android/settings/network/telephony/NetworkOperatorPreference.java b/src/com/android/settings/network/telephony/NetworkOperatorPreference.java
deleted file mode 100644
index 7404aa4..0000000
--- a/src/com/android/settings/network/telephony/NetworkOperatorPreference.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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 android.telephony.SignalStrength.NUM_SIGNAL_STRENGTH_BINS;
-
-import android.content.Context;
-import android.telephony.AccessNetworkConstants.AccessNetworkType;
-import android.telephony.CellIdentity;
-import android.telephony.CellIdentityGsm;
-import android.telephony.CellIdentityLte;
-import android.telephony.CellIdentityNr;
-import android.telephony.CellIdentityTdscdma;
-import android.telephony.CellIdentityWcdma;
-import android.telephony.CellInfo;
-import android.telephony.CellInfoCdma;
-import android.telephony.CellInfoGsm;
-import android.telephony.CellInfoLte;
-import android.telephony.CellInfoNr;
-import android.telephony.CellInfoTdscdma;
-import android.telephony.CellInfoWcdma;
-import android.telephony.CellSignalStrength;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-
-import com.android.internal.telephony.OperatorInfo;
-import com.android.settings.R;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * A Preference represents a network operator in the NetworkSelectSetting fragment.
- */
-public class NetworkOperatorPreference extends Preference {
-
-    private static final String TAG = "NetworkOperatorPref";
-    private static final boolean DBG = false;
-
-    private static final int LEVEL_NONE = -1;
-
-    private CellInfo mCellInfo;
-    private CellIdentity mCellId;
-    private List<String> mForbiddenPlmns;
-    private int mLevel = LEVEL_NONE;
-    private boolean mShow4GForLTE;
-    private boolean mUseNewApi;
-
-    public NetworkOperatorPreference(Context context, CellInfo cellinfo,
-            List<String> forbiddenPlmns, boolean show4GForLTE) {
-        this(context, forbiddenPlmns, show4GForLTE);
-        updateCell(cellinfo);
-    }
-
-    public NetworkOperatorPreference(Context context, CellIdentity connectedCellId,
-            List<String> forbiddenPlmns, boolean show4GForLTE) {
-        this(context, forbiddenPlmns, show4GForLTE);
-        updateCell(null, connectedCellId);
-    }
-
-    private NetworkOperatorPreference(
-            Context context, List<String> forbiddenPlmns, boolean show4GForLTE) {
-        super(context);
-        mForbiddenPlmns = forbiddenPlmns;
-        mShow4GForLTE = show4GForLTE;
-        mUseNewApi = context.getResources().getBoolean(
-                com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI);
-    }
-
-    /**
-     * Change cell information
-     */
-    public void updateCell(CellInfo cellinfo) {
-        updateCell(cellinfo, CellInfoUtil.getCellIdentity(cellinfo));
-    }
-
-    @VisibleForTesting
-    protected void updateCell(CellInfo cellinfo, CellIdentity cellId) {
-        mCellInfo = cellinfo;
-        mCellId = cellId;
-        refresh();
-    }
-
-    /**
-     * Compare cell within preference
-     */
-    public boolean isSameCell(CellInfo cellinfo) {
-        if (cellinfo == null) {
-            return false;
-        }
-        return mCellId.equals(CellInfoUtil.getCellIdentity(cellinfo));
-    }
-
-    /**
-     * Return true when this preference is for forbidden network
-     */
-    public boolean isForbiddenNetwork() {
-        return ((mForbiddenPlmns != null) && mForbiddenPlmns.contains(getOperatorNumeric()));
-    }
-
-    /**
-     * Refresh the NetworkOperatorPreference by updating the title and the icon.
-     */
-    public void refresh() {
-        String networkTitle = getOperatorName();
-
-        if (isForbiddenNetwork()) {
-            if (DBG) Log.d(TAG, "refresh forbidden network: " + networkTitle);
-            networkTitle += " "
-                    + getContext().getResources().getString(R.string.forbidden_network);
-        } else {
-            if (DBG) Log.d(TAG, "refresh the network: " + networkTitle);
-        }
-        setTitle(Objects.toString(networkTitle, ""));
-
-        if (mCellInfo == null) {
-            return;
-        }
-
-        final CellSignalStrength signalStrength = getCellSignalStrength(mCellInfo);
-        final int level = signalStrength != null ? signalStrength.getLevel() : LEVEL_NONE;
-        if (DBG) Log.d(TAG, "refresh level: " + String.valueOf(level));
-        mLevel = level;
-        updateIcon(mLevel);
-    }
-
-    /**
-     * Update the icon according to the input signal strength level.
-     */
-    public void setIcon(int level) {
-        updateIcon(level);
-    }
-
-    /**
-     * Operator numeric of this cell
-     */
-    public String getOperatorNumeric() {
-        final CellIdentity cellId = mCellId;
-        if (cellId == null) {
-            return null;
-        }
-        if (cellId instanceof CellIdentityGsm) {
-            return ((CellIdentityGsm) cellId).getMobileNetworkOperator();
-        }
-        if (cellId instanceof CellIdentityWcdma) {
-            return ((CellIdentityWcdma) cellId).getMobileNetworkOperator();
-        }
-        if (cellId instanceof CellIdentityTdscdma) {
-            return ((CellIdentityTdscdma) cellId).getMobileNetworkOperator();
-        }
-        if (cellId instanceof CellIdentityLte) {
-            return ((CellIdentityLte) cellId).getMobileNetworkOperator();
-        }
-        if (cellId instanceof CellIdentityNr) {
-            final String mcc = ((CellIdentityNr) cellId).getMccString();
-            if (mcc == null) {
-                return null;
-            }
-            return mcc.concat(((CellIdentityNr) cellId).getMncString());
-        }
-        return null;
-    }
-
-    /**
-     * Operator name of this cell
-     */
-    public String getOperatorName() {
-        return CellInfoUtil.getNetworkTitle(mCellId, getOperatorNumeric());
-    }
-
-    /**
-     * Operator info of this cell
-     */
-    public OperatorInfo getOperatorInfo() {
-        return new OperatorInfo(Objects.toString(mCellId.getOperatorAlphaLong(), ""),
-                Objects.toString(mCellId.getOperatorAlphaShort(), ""),
-                getOperatorNumeric(), getAccessNetworkTypeFromCellInfo(mCellInfo));
-    }
-
-    private int getIconIdForCell(CellInfo ci) {
-        if (ci instanceof CellInfoGsm) {
-            return R.drawable.signal_strength_g;
-        }
-        if (ci instanceof CellInfoCdma) {
-            return R.drawable.signal_strength_1x;
-        }
-        if ((ci instanceof CellInfoWcdma) || (ci instanceof CellInfoTdscdma)) {
-            return R.drawable.signal_strength_3g;
-        }
-        if (ci instanceof CellInfoLte) {
-            return mShow4GForLTE
-                    ? R.drawable.ic_signal_strength_4g : R.drawable.signal_strength_lte;
-        }
-        if (ci instanceof CellInfoNr) {
-            return R.drawable.signal_strength_5g;
-        }
-        return MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
-    }
-
-    private CellSignalStrength getCellSignalStrength(CellInfo ci) {
-        if (ci instanceof CellInfoGsm) {
-            return ((CellInfoGsm) ci).getCellSignalStrength();
-        }
-        if (ci instanceof CellInfoCdma) {
-            return ((CellInfoCdma) ci).getCellSignalStrength();
-        }
-        if (ci instanceof CellInfoWcdma) {
-            return ((CellInfoWcdma) ci).getCellSignalStrength();
-        }
-        if (ci instanceof CellInfoTdscdma) {
-            return ((CellInfoTdscdma) ci).getCellSignalStrength();
-        }
-        if (ci instanceof CellInfoLte) {
-            return ((CellInfoLte) ci).getCellSignalStrength();
-        }
-        if (ci instanceof CellInfoNr) {
-            return ((CellInfoNr) ci).getCellSignalStrength();
-        }
-        return null;
-    }
-
-    private int getAccessNetworkTypeFromCellInfo(CellInfo ci) {
-        if (ci instanceof CellInfoGsm) {
-            return AccessNetworkType.GERAN;
-        }
-        if (ci instanceof CellInfoCdma) {
-            return AccessNetworkType.CDMA2000;
-        }
-        if ((ci instanceof CellInfoWcdma) || (ci instanceof CellInfoTdscdma)) {
-            return AccessNetworkType.UTRAN;
-        }
-        if (ci instanceof CellInfoLte) {
-            return AccessNetworkType.EUTRAN;
-        }
-        if (ci instanceof CellInfoNr) {
-            return AccessNetworkType.NGRAN;
-        }
-        return AccessNetworkType.UNKNOWN;
-    }
-
-    private void updateIcon(int level) {
-        if (!mUseNewApi || level < 0 || level >= NUM_SIGNAL_STRENGTH_BINS) {
-            return;
-        }
-        final Context context = getContext();
-        setIcon(MobileNetworkUtils.getSignalStrengthIcon(context, level, NUM_SIGNAL_STRENGTH_BINS,
-                getIconIdForCell(mCellInfo), false, false));
-    }
-}
diff --git a/src/com/android/settings/network/telephony/NetworkOperatorPreference.kt b/src/com/android/settings/network/telephony/NetworkOperatorPreference.kt
new file mode 100644
index 0000000..c696ef1
--- /dev/null
+++ b/src/com/android/settings/network/telephony/NetworkOperatorPreference.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.network.telephony
+
+import android.content.Context
+import android.telephony.AccessNetworkConstants.AccessNetworkType
+import android.telephony.CellIdentity
+import android.telephony.CellInfo
+import android.telephony.CellInfoCdma
+import android.telephony.CellInfoGsm
+import android.telephony.CellInfoLte
+import android.telephony.CellInfoNr
+import android.telephony.CellInfoTdscdma
+import android.telephony.CellInfoWcdma
+import android.telephony.SignalStrength
+import android.util.Log
+import androidx.annotation.OpenForTesting
+import androidx.preference.Preference
+import com.android.internal.telephony.OperatorInfo
+import com.android.settings.R
+import com.android.settings.network.telephony.CellInfoUtil.getNetworkTitle
+import com.android.settings.network.telephony.CellInfoUtil.getOperatorNumeric
+import java.util.Objects
+
+/**
+ * A Preference represents a network operator in the NetworkSelectSetting fragment.
+ */
+@OpenForTesting
+open class NetworkOperatorPreference(
+    context: Context,
+    private val forbiddenPlmns: List<String>,
+    private val show4GForLTE: Boolean,
+) : Preference(context) {
+    private var cellInfo: CellInfo? = null
+    private var cellId: CellIdentity? = null
+    private val useNewApi = context.resources.getBoolean(
+        com.android.internal.R.bool.config_enableNewAutoSelectNetworkUI
+    )
+
+    /**
+     * Change cell information
+     */
+    @JvmOverloads
+    fun updateCell(cellInfo: CellInfo?, cellId: CellIdentity? = cellInfo?.cellIdentity) {
+        this.cellInfo = cellInfo
+        this.cellId = cellId
+        refresh()
+    }
+
+    /**
+     * Compare cell within preference
+     */
+    fun isSameCell(cellInfo: CellInfo): Boolean = cellInfo.cellIdentity == cellId
+
+    /**
+     * Return true when this preference is for forbidden network
+     */
+    fun isForbiddenNetwork(): Boolean = cellId?.getOperatorNumeric() in forbiddenPlmns
+
+    /**
+     * Refresh the NetworkOperatorPreference by updating the title and the icon.
+     */
+    fun refresh() {
+        var networkTitle = cellId?.getNetworkTitle() ?: return
+        if (isForbiddenNetwork()) {
+            if (DBG) Log.d(TAG, "refresh forbidden network: $networkTitle")
+            networkTitle += " ${context.getString(R.string.forbidden_network)}"
+        } else {
+            if (DBG) Log.d(TAG, "refresh the network: $networkTitle")
+        }
+        title = networkTitle
+        val level = (cellInfo ?: return).cellSignalStrength.level
+        if (DBG) Log.d(TAG, "refresh level: $level")
+        setIcon(level)
+    }
+
+    /**
+     * Update the icon according to the input signal strength level.
+     */
+    override fun setIcon(level: Int) {
+        if (!useNewApi || level < 0 || level >= SignalStrength.NUM_SIGNAL_STRENGTH_BINS) {
+            return
+        }
+        icon = MobileNetworkUtils.getSignalStrengthIcon(
+            context,
+            level,
+            SignalStrength.NUM_SIGNAL_STRENGTH_BINS,
+            getIconIdForCell(),
+            false,
+            false,
+        )
+    }
+
+    /**
+     * Operator name of this cell
+     */
+    fun getOperatorName(): String? = cellId?.getNetworkTitle()
+
+    /**
+     * Operator info of this cell
+     */
+    fun getOperatorInfo() = OperatorInfo(
+        Objects.toString(cellId?.operatorAlphaLong, ""),
+        Objects.toString(cellId?.operatorAlphaShort, ""),
+        cellId?.getOperatorNumeric(),
+        getAccessNetworkTypeFromCellInfo(),
+    )
+
+    private fun getIconIdForCell(): Int = when (cellInfo) {
+        is CellInfoGsm -> R.drawable.signal_strength_g
+        is CellInfoCdma -> R.drawable.signal_strength_1x
+        is CellInfoWcdma, is CellInfoTdscdma -> R.drawable.signal_strength_3g
+
+        is CellInfoLte -> {
+            if (show4GForLTE) R.drawable.ic_signal_strength_4g
+            else R.drawable.signal_strength_lte
+        }
+
+        is CellInfoNr -> R.drawable.signal_strength_5g
+        else -> MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON
+    }
+
+    private fun getAccessNetworkTypeFromCellInfo(): Int = when (cellInfo) {
+        is CellInfoGsm -> AccessNetworkType.GERAN
+        is CellInfoCdma -> AccessNetworkType.CDMA2000
+        is CellInfoWcdma, is CellInfoTdscdma -> AccessNetworkType.UTRAN
+        is CellInfoLte -> AccessNetworkType.EUTRAN
+        is CellInfoNr -> AccessNetworkType.NGRAN
+        else -> AccessNetworkType.UNKNOWN
+    }
+
+    companion object {
+        private const val TAG = "NetworkOperatorPref"
+        private const val DBG = false
+    }
+}
diff --git a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroup.java b/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroup.java
deleted file mode 100644
index 58dd18f..0000000
--- a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroup.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * 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.
- */
-package com.android.settings.network.telephony;
-
-import static androidx.lifecycle.Lifecycle.Event;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.ims.ImsException;
-import android.telephony.ims.ImsManager;
-import android.telephony.ims.ImsMmTelManager;
-import android.util.ArrayMap;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.network.SubscriptionsChangeListener;
-import com.android.settings.network.ims.WifiCallingQueryImsState;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * Preference controller for "Backup Calling"
- **/
-public class NetworkProviderBackupCallingGroup extends
-        TelephonyTogglePreferenceController implements LifecycleObserver,
-        SubscriptionsChangeListener.SubscriptionsChangeListenerClient  {
-    private static final String TAG = "NetworkProviderBackupCallingGroup";
-    private static final String KEY_PREFERENCE_BACKUPCALLING_GROUP =
-            "provider_model_backup_call_group";
-    private static final int PREF_START_ORDER = 10;
-
-    private String mPreferenceGroupKey;
-    private PreferenceGroup mPreferenceGroup;
-    private Map<Integer, SwitchPreference> mBackupCallingForSubPreferences;
-    private List<SubscriptionInfo> mSubInfoListForBackupCall;
-    private Map<Integer, TelephonyManager> mTelephonyManagerList = new HashMap<>();
-    private SubscriptionsChangeListener mSubscriptionsChangeListener;
-
-    public NetworkProviderBackupCallingGroup(Context context, Lifecycle lifecycle,
-            List<SubscriptionInfo> subscriptionList, String preferenceGroupKey) {
-        super(context, preferenceGroupKey);
-        mPreferenceGroupKey = preferenceGroupKey;
-        mSubInfoListForBackupCall = subscriptionList;
-        mBackupCallingForSubPreferences = new ArrayMap<>();
-        setSubscriptionInfoList(context);
-        lifecycle.addObserver(this);
-    }
-
-    @OnLifecycleEvent(Event.ON_RESUME)
-    public void onResume() {
-        if (mSubscriptionsChangeListener == null) {
-            mSubscriptionsChangeListener = new SubscriptionsChangeListener(mContext, this);
-        }
-        mSubscriptionsChangeListener.start();
-    }
-
-    @OnLifecycleEvent(Event.ON_PAUSE)
-    public void onPause() {
-        if (mSubscriptionsChangeListener != null) {
-            mSubscriptionsChangeListener.stop();
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        if (mSubInfoListForBackupCall == null
-                || getSubscriptionInfoFromList(mSubInfoListForBackupCall, subId) == null) {
-            return CONDITIONALLY_UNAVAILABLE;
-        }
-
-        return (mSubInfoListForBackupCall.size() > 1) ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    private boolean setCrossSimCallingEnabled(int subId, boolean checked) {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(subId);
-        if (imsMmTelMgr == null) {
-            Log.d(TAG, "setCrossSimCallingEnabled(), ImsMmTelManager is null");
-            return false;
-        }
-
-        try {
-            imsMmTelMgr.setCrossSimCallingEnabled(checked);
-        } catch (ImsException exception) {
-            Log.w(TAG, "fail to get cross SIM calling configuration", exception);
-            return false;
-        }
-        return true;
-    }
-
-    @Override
-    public boolean setChecked(boolean checked) {
-        return false;
-    }
-
-    private boolean isCrossSimCallingEnabled(int subId) {
-        ImsMmTelManager imsMmTelMgr = getImsMmTelManager(subId);
-        if (imsMmTelMgr == null) {
-            Log.d(TAG, "isCrossSimCallingEnabled(), ImsMmTelManager is null");
-            return false;
-        }
-        try {
-            return imsMmTelMgr.isCrossSimCallingEnabled();
-        } catch (ImsException exception) {
-            Log.w(TAG, "fail to get cross SIM calling configuration", exception);
-        }
-        return false;
-    }
-
-    @Override
-    public boolean isChecked() {
-        return false;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        mPreferenceGroup = screen.findPreference(mPreferenceGroupKey);
-        update();
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        // Do nothing in this case since preference is invisible
-        if (preference == null) {
-            return;
-        }
-        update();
-    }
-
-    private void update() {
-        if (mPreferenceGroup == null) {
-            return;
-        }
-
-        setSubscriptionInfoList(mContext);
-        if (mSubInfoListForBackupCall == null || mSubInfoListForBackupCall.size() < 2) {
-            for (SwitchPreference pref : mBackupCallingForSubPreferences.values()) {
-                mPreferenceGroup.removePreference(pref);
-            }
-            mBackupCallingForSubPreferences.clear();
-            return;
-        }
-
-        Map<Integer, SwitchPreference> toRemovePreferences = mBackupCallingForSubPreferences;
-        mBackupCallingForSubPreferences = new ArrayMap<>();
-        setSubscriptionInfoForPreference(toRemovePreferences);
-    }
-
-    private void setSubscriptionInfoForPreference(
-            Map<Integer, SwitchPreference> toRemovePreferences) {
-        int order = PREF_START_ORDER;
-        for (SubscriptionInfo subInfo : mSubInfoListForBackupCall) {
-            final int subId = subInfo.getSubscriptionId();
-
-            SwitchPreference pref = toRemovePreferences.remove(subId);
-            if (pref == null) {
-                pref = new SwitchPreference(mPreferenceGroup.getContext());
-                mPreferenceGroup.addPreference(pref);
-            }
-
-            CharSequence displayName = (subInfo == null) ? ""
-                    : SubscriptionUtil.getUniqueSubscriptionDisplayName(subInfo, mContext);
-            pref.setTitle(displayName);
-            pref.setOrder(order++);
-            pref.setSummary(getSummary(displayName));
-            boolean enabled = isCrossSimCallingEnabled(subId);
-            pref.setChecked(enabled);
-            pref.setOnPreferenceClickListener(clickedPref -> {
-                setCrossSimCallingEnabled(subId, !enabled);
-                return true;
-            });
-            mBackupCallingForSubPreferences.put(subId, pref);
-        }
-    }
-
-    private String getSummary(CharSequence displayName) {
-        String summary = String.format(
-                getResourcesForSubId().getString(R.string.backup_calling_setting_summary),
-                displayName)
-                .toString();
-        return summary;
-    }
-
-    private void setSubscriptionInfoList(Context context) {
-        if (mSubInfoListForBackupCall != null) {
-            mSubInfoListForBackupCall.removeIf(info -> {
-                int subId = info.getSubscriptionId();
-                setTelephonyManagerForSubscriptionId(context, subId);
-                if (!hasBackupCallingFeature(subId) && mSubInfoListForBackupCall.contains(info)) {
-                    return true;
-                }
-                return false;
-            });
-        } else {
-            Log.d(TAG, "No active subscriptions");
-        }
-    }
-
-    private void setTelephonyManagerForSubscriptionId(Context context, int subId) {
-        TelephonyManager telephonyManager = context.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(subId);
-        mTelephonyManagerList.put(subId, telephonyManager);
-    }
-
-    @VisibleForTesting
-    protected boolean hasBackupCallingFeature(int subscriptionId) {
-        return isCrossSimEnabledByPlatform(mContext, subscriptionId);
-    }
-
-    /**
-     * Copied from {@link BackupCallingPreferenceController}
-     **/
-    @VisibleForTesting
-    protected boolean isCrossSimEnabledByPlatform(Context context, int subscriptionId) {
-        // TODO : Change into API which created for accessing
-        //        com.android.ims.ImsManager#isCrossSimEnabledByPlatform()
-        if ((new WifiCallingQueryImsState(context, subscriptionId)).isWifiCallingSupported()) {
-            PersistableBundle bundle = getCarrierConfigForSubId(subscriptionId);
-            return (bundle != null) && bundle.getBoolean(
-                    CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                    false /*default*/);
-        }
-        Log.d(TAG, "WifiCalling is not supported by framework. subId = " + subscriptionId);
-        return false;
-    }
-
-    private ImsMmTelManager getImsMmTelManager(int subId) {
-        if (!SubscriptionManager.isUsableSubscriptionId(subId)) {
-            return null;
-        }
-        ImsManager imsMgr = mContext.getSystemService(ImsManager.class);
-        return (imsMgr == null) ? null : imsMgr.getImsMmTelManager(subId);
-    }
-
-    private SubscriptionInfo getSubscriptionInfoFromList(
-            List<SubscriptionInfo> subInfoList, int subId) {
-        for (SubscriptionInfo subInfo : subInfoList) {
-            if ((subInfo != null) && (subInfo.getSubscriptionId() == subId)) {
-                return subInfo;
-            }
-        }
-        return null;
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return KEY_PREFERENCE_BACKUPCALLING_GROUP;
-    }
-
-    @Override
-    public void onAirplaneModeChanged(boolean airplaneModeEnabled) {}
-
-    @Override
-    public void onSubscriptionsChanged() {
-        SubscriptionManager subscriptionManager =
-                mContext.getSystemService(SubscriptionManager.class);
-        mSubInfoListForBackupCall = SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
-        update();
-    }
-}
diff --git a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingPreferenceController.java b/src/com/android/settings/network/telephony/NetworkProviderBackupCallingPreferenceController.java
deleted file mode 100644
index 5c336ef..0000000
--- a/src/com/android/settings/network/telephony/NetworkProviderBackupCallingPreferenceController.java
+++ /dev/null
@@ -1,96 +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 android.content.Context;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-
-import java.util.List;
-
-/**
- * Preference controller for "Backup Calling" summary list
- */
-public class NetworkProviderBackupCallingPreferenceController extends
-        BasePreferenceController implements LifecycleObserver {
-
-    private static final String TAG = "NetProvBackupCallingCtrl";
-    private static final String KEY_PREFERENCE_CATEGORY = "provider_model_backup_calling_category";
-
-    private PreferenceCategory mPreferenceCategory;
-    private PreferenceScreen mPreferenceScreen;
-    private NetworkProviderBackupCallingGroup mNetworkProviderBackupCallingGroup;
-    private List<SubscriptionInfo> mSubscriptionList;
-
-    /**
-     * Preference controller for "Backup Calling" summary list
-     */
-    public NetworkProviderBackupCallingPreferenceController(Context context, String key) {
-        super(context, key);
-    }
-
-    protected NetworkProviderBackupCallingGroup createBackupCallingControllerForSub(
-            Lifecycle lifecycle, List<SubscriptionInfo> subscriptionList) {
-        return new NetworkProviderBackupCallingGroup(mContext, lifecycle, subscriptionList,
-                KEY_PREFERENCE_CATEGORY);
-    }
-
-    /**
-     * Initialize the binding with Lifecycle
-     *
-     * @param lifecycle Lifecycle of UI which owns this Preference
-     */
-    public void init(Lifecycle lifecycle) {
-        mSubscriptionList = getActiveSubscriptionList();
-        mNetworkProviderBackupCallingGroup = createBackupCallingControllerForSub(lifecycle,
-                mSubscriptionList);
-    }
-
-    private List<SubscriptionInfo> getActiveSubscriptionList() {
-        SubscriptionManager subscriptionManager =
-                mContext.getSystemService(SubscriptionManager.class);
-        return SubscriptionUtil.getActiveSubscriptions(subscriptionManager);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        if (mNetworkProviderBackupCallingGroup == null
-                || mSubscriptionList == null
-                || mSubscriptionList.size() < 2) {
-            return CONDITIONALLY_UNAVAILABLE;
-        } else {
-            return AVAILABLE;
-        }
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceScreen = screen;
-        mPreferenceCategory = screen.findPreference(KEY_PREFERENCE_CATEGORY);
-        mPreferenceCategory.setVisible(isAvailable());
-        mNetworkProviderBackupCallingGroup.displayPreference(screen);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java b/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java
index ebfb283..c5879ee 100644
--- a/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java
+++ b/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroup.java
@@ -79,7 +79,8 @@
             String preferenceGroupKey) {
         super(context);
         mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        mSubscriptionManager = context.getSystemService(SubscriptionManager.class);
+        mSubscriptionManager = context.getSystemService(SubscriptionManager.class)
+                .createForAllUserProfiles();
         mPreferenceGroupKey = preferenceGroupKey;
         mWifiCallingForSubPreferences = new ArrayMap<>();
         setSubscriptionInfoList(context);
@@ -240,8 +241,8 @@
                 return true;
             });
 
-            pref.setEnabled(getTelephonyManagerForSubscriptionId(subId).getCallState()
-                    == TelephonyManager.CALL_STATE_IDLE);
+            pref.setEnabled(getTelephonyManagerForSubscriptionId(subId)
+                    .getCallStateForSubscription() == TelephonyManager.CALL_STATE_IDLE);
             pref.setOrder(order++);
 
             int resId = com.android.internal.R.string.wifi_calling_off_summary;
diff --git a/src/com/android/settings/network/telephony/NetworkProviderWorker.java b/src/com/android/settings/network/telephony/NetworkProviderWorker.java
index c731bfd..ddfc031 100644
--- a/src/com/android/settings/network/telephony/NetworkProviderWorker.java
+++ b/src/com/android/settings/network/telephony/NetworkProviderWorker.java
@@ -17,6 +17,7 @@
 package com.android.settings.network.telephony;
 
 import static com.android.settings.network.InternetUpdater.INTERNET_ETHERNET;
+import static com.android.settings.network.MobileIconGroupExtKt.getSummaryForSub;
 import static com.android.settingslib.mobile.MobileMappings.getIconKey;
 import static com.android.settingslib.mobile.MobileMappings.mapIconSets;
 
@@ -284,19 +285,14 @@
 
     private String updateNetworkTypeName(Context context, Config config,
             TelephonyDisplayInfo telephonyDisplayInfo, int subId) {
-        String iconKey = getIconKey(telephonyDisplayInfo);
-        int resId = mapIconSets(config).get(iconKey).dataContentDescription;
         if (mWifiPickerTrackerHelper != null
                 && mWifiPickerTrackerHelper.isCarrierNetworkActive()) {
             MobileIconGroup carrierMergedWifiIconGroup = TelephonyIcons.CARRIER_MERGED_WIFI;
-            resId = carrierMergedWifiIconGroup.dataContentDescription;
-            return resId != 0
-                    ? SubscriptionManager.getResourcesForSubId(context, subId)
-                    .getString(resId) : "";
+            return getSummaryForSub(carrierMergedWifiIconGroup, context, subId);
         }
 
-        return resId != 0
-                ? SubscriptionManager.getResourcesForSubId(context, subId).getString(resId) : "";
+        String iconKey = getIconKey(telephonyDisplayInfo);
+        return getSummaryForSub(mapIconSets(config).get(iconKey), context, subId);
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/network/telephony/NetworkSelectSettings.java b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
index f20fe1f..461930b 100644
--- a/src/com/android/settings/network/telephony/NetworkSelectSettings.java
+++ b/src/com/android/settings/network/telephony/NetworkSelectSettings.java
@@ -34,14 +34,17 @@
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
+import android.telephony.satellite.SatelliteManager;
 import android.util.Log;
 import android.view.View;
 
 import androidx.annotation.Keep;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 
+import com.android.internal.annotations.Initializer;
 import com.android.internal.telephony.OperatorInfo;
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
@@ -55,6 +58,8 @@
 import java.util.Optional;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.stream.Collectors;
 
 /**
  * "Choose network" settings UI for the Settings app.
@@ -81,6 +86,8 @@
     List<CellInfo> mCellInfoList;
     private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private TelephonyManager mTelephonyManager;
+    private SatelliteManager mSatelliteManager;
+    private CarrierConfigManager mCarrierConfigManager;
     private List<String> mForbiddenPlmns;
     private boolean mShow4GForLTE = false;
     private NetworkScanHelper mNetworkScanHelper;
@@ -92,6 +99,8 @@
     private long mWaitingForNumberOfScanResults;
     @VisibleForTesting
     boolean mIsAggregationEnabled = false;
+    private CarrierConfigManager.CarrierConfigChangeListener mCarrierConfigChangeListener;
+    private AtomicBoolean mShouldFilterOutSatellitePlmn = new AtomicBoolean();
 
     @Override
     public void onCreate(Bundle icicle) {
@@ -101,28 +110,41 @@
 
     @Keep
     @VisibleForTesting
+    @Initializer
     protected void onCreateInitialization() {
-        mUseNewApi = enableNewAutoSelectNetworkUI(getContext());
+        Context context = getContext();
+        mUseNewApi = enableNewAutoSelectNetworkUI(context);
         mSubId = getSubId();
 
         mPreferenceCategory = getPreferenceCategory(PREF_KEY_NETWORK_OPERATORS);
-        mStatusMessagePreference = new Preference(getContext());
+        mStatusMessagePreference = new Preference(context);
         mStatusMessagePreference.setSelectable(false);
         mSelectedPreference = null;
-        mTelephonyManager = getTelephonyManager(getContext(), mSubId);
+        mTelephonyManager = getTelephonyManager(context, mSubId);
+        mSatelliteManager = getSatelliteManager(context);
+        mCarrierConfigManager = getCarrierConfigManager(context);
         mNetworkScanHelper = new NetworkScanHelper(
                 mTelephonyManager, mCallback, mNetworkScanExecutor);
-        PersistableBundle bundle = getCarrierConfigManager(getContext())
-                .getConfigForSubId(mSubId);
-        if (bundle != null) {
-            mShow4GForLTE = bundle.getBoolean(
-                    CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL);
-        }
+        PersistableBundle bundle = mCarrierConfigManager.getConfigForSubId(mSubId,
+                CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL,
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL);
+        mShow4GForLTE = bundle.getBoolean(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL,
+                false);
+        mShouldFilterOutSatellitePlmn.set(bundle.getBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL,
+                true));
 
-        mMetricsFeatureProvider = getMetricsFeatureProvider(getContext());
-        mIsAggregationEnabled = enableAggregation(getContext());
+        mMetricsFeatureProvider = getMetricsFeatureProvider(context);
+        mIsAggregationEnabled = enableAggregation(context);
         Log.d(TAG, "init: mUseNewApi:" + mUseNewApi
                 + " ,mIsAggregationEnabled:" + mIsAggregationEnabled + " ,mSubId:" + mSubId);
+
+        mCarrierConfigChangeListener =
+                (slotIndex, subId, carrierId, specificCarrierId) -> handleCarrierConfigChanged(
+                        subId);
+        mCarrierConfigManager.registerCarrierConfigChangeListener(mNetworkScanExecutor,
+                mCarrierConfigChangeListener);
+
     }
 
     @Keep
@@ -161,7 +183,13 @@
     @Keep
     @VisibleForTesting
     protected MetricsFeatureProvider getMetricsFeatureProvider(Context context) {
-        return FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        return FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+    }
+
+    @Keep
+    @VisibleForTesting
+    protected SatelliteManager getSatelliteManager(Context context) {
+        return context.getSystemService(SatelliteManager.class);
     }
 
     @Keep
@@ -194,8 +222,9 @@
 
         final Activity activity = getActivity();
         if (activity != null) {
-            mProgressHeader = setPinnedHeaderView(R.layout.progress_header)
-                    .findViewById(R.id.progress_bar_animation);
+            mProgressHeader = setPinnedHeaderView(
+                    com.android.settingslib.widget.progressbar.R.layout.progress_header)
+                    .findViewById(com.android.settingslib.widget.progressbar.R.id.progress_bar_animation);
             setProgressBarVisible(false);
         }
         forceUpdateConnectedPreferenceCategory();
@@ -364,14 +393,12 @@
         }
         ArrayList<CellInfo> aggregatedList = new ArrayList<>();
         for (CellInfo cellInfo : cellInfoListInput) {
-            String plmn = CellInfoUtil.getNetworkTitle(cellInfo.getCellIdentity(),
-                    CellInfoUtil.getCellIdentityMccMnc(cellInfo.getCellIdentity()));
+            String plmn = CellInfoUtil.getNetworkTitle(cellInfo.getCellIdentity());
             Class className = cellInfo.getClass();
 
             Optional<CellInfo> itemInTheList = aggregatedList.stream().filter(
                     item -> {
-                        String itemPlmn = CellInfoUtil.getNetworkTitle(item.getCellIdentity(),
-                                CellInfoUtil.getCellIdentityMccMnc(item.getCellIdentity()));
+                        String itemPlmn = CellInfoUtil.getNetworkTitle(item.getCellIdentity());
                         return itemPlmn.equals(plmn) && item.getClass().equals(className);
                     })
                     .findFirst();
@@ -385,7 +412,43 @@
             }
             aggregatedList.add(cellInfo);
         }
-        return aggregatedList;
+
+        return filterOutSatellitePlmn(aggregatedList);
+    }
+
+    /* We do not want to expose carrier satellite plmns to the user when manually scan the
+       cellular network. Therefore, it is needed to filter out satellite plmns from current cell
+       info list  */
+    private List<CellInfo> filterOutSatellitePlmn(List<CellInfo> cellInfoList) {
+        List<String> aggregatedSatellitePlmn = getSatellitePlmnsForCarrierWrapper();
+        if (!mShouldFilterOutSatellitePlmn.get() || aggregatedSatellitePlmn.isEmpty()) {
+            return cellInfoList;
+        }
+        return cellInfoList.stream()
+                .filter(cellInfo -> !aggregatedSatellitePlmn.contains(
+                        CellInfoUtil.getOperatorNumeric(cellInfo.getCellIdentity())))
+                .collect(Collectors.toList());
+    }
+
+    /**
+     * Serves as a wrapper method for {@link SatelliteManager#getSatellitePlmnsForCarrier(int)}.
+     * Since SatelliteManager is final, this wrapper enables mocking or spying of
+     * {@link SatelliteManager#getSatellitePlmnsForCarrier(int)} for unit testing purposes.
+     */
+    @VisibleForTesting
+    protected List<String> getSatellitePlmnsForCarrierWrapper() {
+        return mSatelliteManager.getSatellitePlmnsForCarrier(mSubId);
+    }
+
+    private void handleCarrierConfigChanged(int subId) {
+        PersistableBundle config = mCarrierConfigManager.getConfigForSubId(subId,
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL);
+        boolean shouldFilterSatellitePlmn = config.getBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL,
+                true);
+        if (shouldFilterSatellitePlmn != mShouldFilterOutSatellitePlmn.get()) {
+            mShouldFilterOutSatellitePlmn.set(shouldFilterSatellitePlmn);
+        }
     }
 
     private final NetworkScanHelper.NetworkScanCallback mCallback =
@@ -423,17 +486,14 @@
         mCellInfoList = doAggregation(results);
         Log.d(TAG, "CellInfoList: " + CellInfoUtil.cellInfoListToString(mCellInfoList));
         if (mCellInfoList != null && mCellInfoList.size() != 0) {
-            final NetworkOperatorPreference connectedPref =
-                    updateAllPreferenceCategory();
+            final NetworkOperatorPreference connectedPref = updateAllPreferenceCategory();
             if (connectedPref != null) {
                 // update selected preference instance into connected preference
                 if (mSelectedPreference != null) {
                     mSelectedPreference = connectedPref;
                 }
             } else if (!isPreferenceScreenEnabled()) {
-                if (connectedPref == null) {
-                    mSelectedPreference.setSummary(R.string.network_connecting);
-                }
+                mSelectedPreference.setSummary(R.string.network_connecting);
             }
             enablePreferenceScreen(true);
         } else if (isPreferenceScreenEnabled()) {
@@ -446,8 +506,13 @@
     @Keep
     @VisibleForTesting
     protected NetworkOperatorPreference createNetworkOperatorPreference(CellInfo cellInfo) {
-        return new NetworkOperatorPreference(getPrefContext(),
-                cellInfo, mForbiddenPlmns, mShow4GForLTE);
+        if (mForbiddenPlmns == null) {
+            updateForbiddenPlmns();
+        }
+        NetworkOperatorPreference preference =
+                new NetworkOperatorPreference(getPrefContext(), mForbiddenPlmns, mShow4GForLTE);
+        preference.updateCell(cellInfo);
+        return preference;
     }
 
     /**
@@ -455,6 +520,7 @@
      *
      * @return preference which shows connected
      */
+    @Nullable
     private NetworkOperatorPreference updateAllPreferenceCategory() {
         int numberOfPreferences = mPreferenceCategory.getPreferenceCount();
 
@@ -548,7 +614,8 @@
                     continue;
                 }
                 final NetworkOperatorPreference pref = new NetworkOperatorPreference(
-                        getPrefContext(), cellIdentity, mForbiddenPlmns, mShow4GForLTE);
+                        getPrefContext(), mForbiddenPlmns, mShow4GForLTE);
+                pref.updateCell(null, cellIdentity);
                 if (pref.isForbiddenNetwork()) {
                     continue;
                 }
diff --git a/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.java b/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.java
index 5786dfc..ecf01cb9 100644
--- a/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceController.java
@@ -29,8 +29,9 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.internal.telephony.util.ArrayUtils;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
@@ -150,7 +151,7 @@
         if (preference == null) {
             return;
         }
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
+        final TwoStatePreference switchPreference = (TwoStatePreference) preference;
         switchPreference.setEnabled(isUserControlAllowed());
     }
 
@@ -211,7 +212,16 @@
 
             // assign current call state so that it helps to show correct preference state even
             // before first onCallStateChanged() by initial registration.
-            mCallState = mLocalTelephonyManager.getCallState();
+            if (Flags.enforceTelephonyFeatureMappingForPublicApis()) {
+                try {
+                    mCallState = mLocalTelephonyManager.getCallState();
+                } catch (UnsupportedOperationException e) {
+                    // Device doesn't support FEATURE_TELEPHONY_CALLING
+                    mCallState = TelephonyManager.CALL_STATE_IDLE;
+                }
+            } else {
+                mCallState = mLocalTelephonyManager.getCallState();
+            }
             mLocalTelephonyManager.registerTelephonyCallback(
                     mContext.getMainExecutor(), mTelephonyCallback);
         }
diff --git a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
index 8823353..ebc5575 100644
--- a/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
+++ b/src/com/android/settings/network/telephony/RenameMobileNetworkDialogFragment.java
@@ -46,6 +46,7 @@
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.SubscriptionUtil;
 
 import com.google.common.collect.ImmutableMap;
@@ -131,7 +132,7 @@
                 LayoutInflater.class);
         final View view = layoutInflater.inflate(R.layout.dialog_mobile_network_rename, null);
         populateView(view);
-        builder.setTitle(R.string.mobile_network_sim_name)
+        builder.setTitle(R.string.mobile_network_sim_label_color_title)
                 .setView(view)
                 .setPositiveButton(R.string.mobile_network_sim_name_rename, (dialog, which) -> {
                     mSubscriptionManager.setDisplayName(mNameView.getText().toString(), mSubId,
@@ -175,14 +176,23 @@
         mColorSpinner.setAdapter(adapter);
         mColorSpinner.setSelection(getSimColorIndex(info.getIconTint()));
 
+        if(Flags.isDualSimOnboardingEnabled()){
+            return;
+        }
+
+        final TextView operatorTitle = view.findViewById(R.id.operator_name_label);
+        operatorTitle.setVisibility(View.VISIBLE);
+
         final TextView operatorName = view.findViewById(R.id.operator_name_value);
         mTelephonyManager = mTelephonyManager.createForSubscriptionId(mSubId);
+        operatorName.setVisibility(View.VISIBLE);
         operatorName.setText(info.getCarrierName());
 
         final TextView phoneTitle = view.findViewById(R.id.number_label);
         phoneTitle.setVisibility(info.isOpportunistic() ? View.GONE : View.VISIBLE);
 
         final TextView phoneNumber = view.findViewById(R.id.number_value);
+        phoneNumber.setVisibility(View.VISIBLE);
         final String pn = SubscriptionUtil.getBidiFormattedPhoneNumber(getContext(), info);
         if (!TextUtils.isEmpty(pn)) {
             phoneNumber.setText(pn);
diff --git a/src/com/android/settings/network/telephony/SatelliteSetting.java b/src/com/android/settings/network/telephony/SatelliteSetting.java
new file mode 100644
index 0000000..b6d018a
--- /dev/null
+++ b/src/com/android/settings/network/telephony/SatelliteSetting.java
@@ -0,0 +1,198 @@
+/*
+ * 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.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.graphics.Typeface;
+import android.graphics.drawable.Drawable;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.UserManager;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+import android.telephony.satellite.SatelliteManager;
+import android.text.SpannableString;
+import android.text.Spanned;
+import android.text.style.StyleSpan;
+import android.text.style.UnderlineSpan;
+import android.util.Log;
+import android.view.View;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.RestrictedDashboardFragment;
+import com.android.settingslib.HelpUtils;
+import com.android.settingslib.Utils;
+import com.android.settingslib.widget.FooterPreference;
+
+import java.util.Set;
+
+/** Handle Satellite Setting Preference Layout. */
+public class SatelliteSetting extends RestrictedDashboardFragment {
+    private static final String TAG = "SatelliteSetting";
+    public static final String PREF_KEY_ABOUT_SATELLITE_MESSAGING = "key_about_satellite_messaging";
+    public static final String PREF_KEY_CATEGORY_YOUR_SATELLITE_PLAN =
+            "key_category_your_satellite_plan";
+    public static final String PREF_KEY_YOUR_SATELLITE_PLAN = "key_your_satellite_plan";
+    public static final String PREF_KEY_CATEGORY_HOW_IT_WORKS = "key_category_how_it_works";
+    private static final String KEY_FOOTER_PREFERENCE = "satellite_setting_extra_info_footer_pref";
+    public static final String SUB_ID = "sub_id";
+
+    private Activity mActivity;
+    private TelephonyManager mTelephonymanager;
+    private SatelliteManager mSatelliteManager;
+    private int mSubId;
+
+    public SatelliteSetting() {
+        super(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SATELLITE_SETTING;
+    }
+
+    @Override
+    public void onCreate(@NonNull Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        mActivity = getActivity();
+        mTelephonymanager = mActivity.getSystemService(TelephonyManager.class);
+        mSatelliteManager = mActivity.getSystemService(SatelliteManager.class);
+        mSubId = mActivity.getIntent().getIntExtra(SUB_ID,
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+    }
+
+    @Override
+    public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
+        super.onViewCreated(view, savedInstanceState);
+        updateDynamicPreferenceViews();
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.satellite_setting;
+    }
+
+    private void updateDynamicPreferenceViews() {
+        String operatorName = mTelephonymanager.getSimOperatorName(mSubId);
+        boolean isSatelliteEligible = isSatelliteEligible();
+
+        // About satellite messaging
+        Preference preference = findPreference(PREF_KEY_ABOUT_SATELLITE_MESSAGING);
+        preference.setTitle(
+                getResources().getString(R.string.title_about_satellite_setting, operatorName));
+
+        // Your mobile plan
+        PreferenceCategory prefCategory = findPreference(PREF_KEY_CATEGORY_YOUR_SATELLITE_PLAN);
+        prefCategory.setTitle(getResources().getString(R.string.category_title_your_satellite_plan,
+                operatorName));
+
+        preference = findPreference(PREF_KEY_YOUR_SATELLITE_PLAN);
+        Drawable icon;
+        if (isSatelliteEligible) {
+            /* 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);
+        } else {
+            /* Or, it will show the blocked icon with the guidance that satellite is not included
+               in user's mobile plan */
+            preference.setTitle(R.string.title_no_satellite_plan);
+            /* And, the link url provides more information via web page will be shown */
+            SpannableString spannable = new SpannableString(
+                    getResources().getString(R.string.summary_add_satellite_setting));
+            spannable.setSpan(new UnderlineSpan(), 0, spannable.length(),
+                    Spanned.SPAN_INCLUSIVE_INCLUSIVE);
+            spannable.setSpan(new StyleSpan(Typeface.BOLD), 0, spannable.length(),
+                    Spanned.SPAN_INCLUSIVE_INCLUSIVE);
+            preference.setSummary(spannable);
+            /* The link will lead users to a guide page */
+            preference.setOnPreferenceClickListener(pref -> {
+                String url = getResources().getString(R.string.more_info_satellite_messaging_link);
+                if (!url.isEmpty()) {
+                    Uri uri = Uri.parse(url);
+                    Intent intent = new Intent(Intent.ACTION_VIEW, uri);
+                    startActivity(intent);
+                }
+                return true;
+            });
+            icon = getResources().getDrawable(R.drawable.ic_block_24px);
+        }
+        icon.setTintList(Utils.getColorAttr(getContext(), android.R.attr.textColorPrimary));
+        preference.setIcon(icon);
+
+        /* Composes "How it works" section, which guides how users can use satellite messaging, when
+           satellite messaging is included in user's mobile plan, or it'll will be grey out. */
+        if (!isSatelliteEligible) {
+            PreferenceCategory category = findPreference(PREF_KEY_CATEGORY_HOW_IT_WORKS);
+            category.setEnabled(false);
+            category.setShouldDisableView(true);
+        }
+
+        // More about satellite messaging
+        FooterPreference footerPreference = findPreference(KEY_FOOTER_PREFERENCE);
+        if (footerPreference != null) {
+            footerPreference.setSummary(
+                    getResources().getString(R.string.satellite_setting_summary_more_information,
+                            operatorName));
+
+            final String[] link = new String[1];
+            link[0] = getResources().getString(R.string.more_info_satellite_messaging_link);
+            footerPreference.setLearnMoreAction(view -> {
+                if (!link[0].isEmpty()) {
+                    Intent helpIntent = HelpUtils.getHelpIntent(mActivity, link[0],
+                            this.getClass().getName());
+                    if (helpIntent != null) {
+                        mActivity.startActivityForResult(helpIntent, /*requestCode=*/ 0);
+                    }
+                }
+            });
+            footerPreference.setLearnMoreText(
+                    getResources().getString(R.string.more_about_satellite_messaging));
+
+            // TODO : b/320467418 add rounded rectangle border line to footer preference.
+        }
+    }
+
+    private boolean isSatelliteEligible() {
+        try {
+            Set<Integer> restrictionReason =
+                    mSatelliteManager.getAttachRestrictionReasonsForCarrier(mSubId);
+            return !restrictionReason.contains(
+                    SatelliteManager.SATELLITE_COMMUNICATION_RESTRICTION_REASON_ENTITLEMENT);
+        } catch (SecurityException | IllegalStateException | IllegalArgumentException ex) {
+            loge(ex.toString());
+            return false;
+        }
+    }
+
+    private static void loge(String message) {
+        Log.e(TAG, message);
+    }
+}
diff --git a/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
new file mode 100644
index 0000000..94940b3
--- /dev/null
+++ b/src/com/android/settings/network/telephony/SatelliteSettingPreferenceController.java
@@ -0,0 +1,139 @@
+/*
+ * 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.content.Intent;
+import android.os.PersistableBundle;
+import android.provider.Settings;
+import android.telephony.CarrierConfigManager;
+import android.telephony.satellite.SatelliteManager;
+import android.util.Log;
+
+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.SettingsActivity;
+import com.android.settings.network.CarrierConfigCache;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+import com.android.settingslib.core.lifecycle.events.OnStart;
+import com.android.settingslib.core.lifecycle.events.OnStop;
+
+import java.util.Set;
+
+/**
+ * Preference controller for "Satellite Setting"
+ */
+public class SatelliteSettingPreferenceController extends
+        TelephonyBasePreferenceController implements LifecycleObserver, OnStart, OnStop {
+
+    private static final String TAG = "SatelliteSettingPreferenceController";
+
+    CarrierConfigCache mCarrierConfigCache;
+    SatelliteManager mSatelliteManager;
+    @Nullable private Boolean mIsSatelliteEligible = null;
+
+    public SatelliteSettingPreferenceController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+        mCarrierConfigCache = CarrierConfigCache.getInstance(context);
+        mSatelliteManager = context.getSystemService(SatelliteManager.class);
+    }
+
+    @Override
+    public int getAvailabilityStatus(int subId) {
+        final PersistableBundle carrierConfig = mCarrierConfigCache.getConfigForSubId(subId);
+        final boolean isSatelliteAttachSupported = carrierConfig.getBoolean(
+                CarrierConfigManager.KEY_SATELLITE_ATTACH_SUPPORTED_BOOL);
+
+        return isSatelliteAttachSupported ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void onStart() {
+    }
+
+    @Override
+    public void onStop() {
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+    }
+
+    @Override
+    public void updateState(@Nullable Preference preference) {
+        super.updateState(preference);
+        if (preference != null) {
+            updateSummary(preference);
+        }
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(@NonNull Preference preference) {
+        if (getPreferenceKey().equals(preference.getKey())) {
+            // This activity runs in phone process, we must use intent to start
+            final Intent intent = new Intent(Settings.ACTION_SATELLITE_SETTING);
+            // This will setup the Home and Search affordance
+            intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_AS_SUBSETTING, true);
+            intent.putExtra(SatelliteSetting.SUB_ID, mSubId);
+            mContext.startActivity(intent);
+            return true;
+        }
+
+        return false;
+    }
+
+    /**
+     * Set subId for Satellite Settings page.
+     * @param subId subscription ID.
+     */
+    public void init(int subId) {
+        logd("init(), subId=" + subId);
+        mSubId = subId;
+    }
+
+    private void updateSummary(Preference preference) {
+        try {
+            Set<Integer> restrictionReason =
+                    mSatelliteManager.getAttachRestrictionReasonsForCarrier(mSubId);
+            boolean isSatelliteEligible = !restrictionReason.contains(
+                    SatelliteManager.SATELLITE_COMMUNICATION_RESTRICTION_REASON_ENTITLEMENT);
+            if (mIsSatelliteEligible == null || mIsSatelliteEligible != isSatelliteEligible) {
+                mIsSatelliteEligible = isSatelliteEligible;
+                String summary = mContext.getString(
+                        mIsSatelliteEligible ? R.string.satellite_setting_enabled_summary
+                                : R.string.satellite_setting_disabled_summary);
+                preference.setSummary(summary);
+            }
+        } catch (SecurityException | IllegalStateException | IllegalArgumentException ex) {
+            loge(ex.toString());
+            preference.setSummary(R.string.satellite_setting_disabled_summary);
+        }
+    }
+
+    private static void logd(String message) {
+        Log.d(TAG, message);
+    }
+
+    private static void loge(String message) {
+        Log.e(TAG, message);
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ServiceStateFlow.kt b/src/com/android/settings/network/telephony/ServiceStateFlow.kt
new file mode 100644
index 0000000..8770321
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ServiceStateFlow.kt
@@ -0,0 +1,35 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.ServiceState
+import android.telephony.TelephonyCallback
+import android.util.Log
+import kotlinx.coroutines.flow.Flow
+
+private const val TAG = "ServiceStateFlow"
+
+/** Creates an instance of a cold Flow for [ServiceState] of given [subId]. */
+fun Context.serviceStateFlow(subId: Int): Flow<ServiceState> = telephonyCallbackFlow(subId) {
+    object : TelephonyCallback(), TelephonyCallback.ServiceStateListener {
+        override fun onServiceStateChanged(serviceState: ServiceState) {
+            trySend(serviceState)
+            Log.d(TAG, "[$subId] serviceState: $serviceState")
+        }
+    }
+}
diff --git a/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java b/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java
index 391158f..10f8875 100644
--- a/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/SubscriptionActionDialogActivity.java
@@ -43,7 +43,8 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        mSubscriptionManager = getSystemService(SubscriptionManager.class);
+        mSubscriptionManager = getSystemService(SubscriptionManager.class)
+                .createForAllUserProfiles();
         setProgressState(PROGRESS_IS_NOT_SHOWING);
     }
 
diff --git a/src/com/android/settings/network/telephony/SubscriptionRepository.kt b/src/com/android/settings/network/telephony/SubscriptionRepository.kt
new file mode 100644
index 0000000..7a14d6b
--- /dev/null
+++ b/src/com/android/settings/network/telephony/SubscriptionRepository.kt
@@ -0,0 +1,43 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionManager
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.callbackFlow
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.flowOn
+
+fun Context.subscriptionsChangedFlow() = callbackFlow {
+    val subscriptionManager = getSystemService(SubscriptionManager::class.java)!!
+
+    val listener = object : SubscriptionManager.OnSubscriptionsChangedListener() {
+        override fun onSubscriptionsChanged() {
+            trySend(Unit)
+        }
+    }
+
+    subscriptionManager.addOnSubscriptionsChangedListener(
+        Dispatchers.Default.asExecutor(),
+        listener,
+    )
+
+    awaitClose { subscriptionManager.removeOnSubscriptionsChangedListener(listener) }
+}.conflate().flowOn(Dispatchers.Default)
diff --git a/src/com/android/settings/network/telephony/TelephonyRepository.kt b/src/com/android/settings/network/telephony/TelephonyRepository.kt
new file mode 100644
index 0000000..678aaac
--- /dev/null
+++ b/src/com/android/settings/network/telephony/TelephonyRepository.kt
@@ -0,0 +1,44 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.TelephonyCallback
+import android.telephony.TelephonyManager
+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.conflate
+import kotlinx.coroutines.flow.flowOn
+
+/** Creates an instance of a cold Flow for Telephony callback of given [subId]. */
+fun <T> Context.telephonyCallbackFlow(
+    subId: Int,
+    block: ProducerScope<T>.() -> TelephonyCallback,
+): Flow<T> = callbackFlow {
+    val telephonyManager = getSystemService(TelephonyManager::class.java)!!
+        .createForSubscriptionId(subId)
+
+    val callback = block()
+
+    telephonyManager.registerTelephonyCallback(Dispatchers.Default.asExecutor(), callback)
+
+    awaitClose { telephonyManager.unregisterTelephonyCallback(callback) }
+}.conflate().flowOn(Dispatchers.Default)
diff --git a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
index 4160299..6f4d3c3 100644
--- a/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
+++ b/src/com/android/settings/network/telephony/ToggleSubscriptionDialogActivity.java
@@ -379,7 +379,7 @@
                 DIALOG_TAG_DISABLE_SIM_CONFIRMATION,
                 title,
                 null,
-                getString(R.string.condition_turn_off),
+                getString(R.string.sim_action_turn_off),
                 getString(R.string.sim_action_cancel));
     }
 
diff --git a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
index 4064181..f803efd 100644
--- a/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
+++ b/src/com/android/settings/network/telephony/VideoCallingPreferenceController.java
@@ -29,8 +29,9 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+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;
@@ -54,6 +55,7 @@
     @VisibleForTesting
     Integer mCallState;
     private MobileDataEnabledListener mDataContentObserver;
+    private CallingPreferenceCategoryController mCallingPreferenceCategoryController;
 
     public VideoCallingPreferenceController(Context context, String key) {
         super(context, key);
@@ -94,9 +96,11 @@
             Log.d(TAG, "Skip update under mCallState=" + mCallState);
             return;
         }
-        final SwitchPreference switchPreference = (SwitchPreference) preference;
+        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();
@@ -136,8 +140,13 @@
                 PackageManager.FEATURE_TELEPHONY_IMS);
     }
 
-    public VideoCallingPreferenceController init(int subId) {
+    /**
+     * Init instance of VideoCallingPreferenceController.
+     */
+    public VideoCallingPreferenceController init(
+            int subId, CallingPreferenceCategoryController callingPreferenceCategoryController) {
         mSubId = subId;
+        mCallingPreferenceCategoryController = callingPreferenceCategoryController;
 
         return this;
     }
@@ -187,7 +196,16 @@
             }
             // assign current call state so that it helps to show correct preference state even
             // before first onCallStateChanged() by initial registration.
-            mCallState = mTelephonyManager.getCallState(subId);
+            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);
         }
 
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
deleted file mode 100644
index 03cc23f..0000000
--- a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network.telephony;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.os.PersistableBundle;
-import android.provider.Settings;
-import android.telecom.PhoneAccountHandle;
-import android.telecom.TelecomManager;
-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 com.android.settings.R;
-import com.android.settings.network.ims.WifiCallingQueryImsState;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnStart;
-import com.android.settingslib.core.lifecycle.events.OnStop;
-
-import java.util.List;
-
-/**
- * Preference controller for "Wifi Calling"
- */
-//TODO: Remove the class once Provider Model is always enabled in the future.
-public class WifiCallingPreferenceController extends TelephonyBasePreferenceController implements
-        LifecycleObserver, OnStart, OnStop {
-
-    private static final String TAG = "WifiCallingPreference";
-
-    @VisibleForTesting
-    Integer mCallState;
-    @VisibleForTesting
-    CarrierConfigManager mCarrierConfigManager;
-    private ImsMmTelManager mImsMmTelManager;
-    @VisibleForTesting
-    PhoneAccountHandle mSimCallManager;
-    private PhoneTelephonyCallback mTelephonyCallback;
-    private Preference mPreference;
-
-    public WifiCallingPreferenceController(Context context, String key) {
-        super(context, key);
-        mCarrierConfigManager = context.getSystemService(CarrierConfigManager.class);
-        mTelephonyCallback = new PhoneTelephonyCallback();
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return SubscriptionManager.isValidSubscriptionId(subId)
-                && MobileNetworkUtils.isWifiCallingEnabled(mContext, subId, null)
-                ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public void onStart() {
-        mTelephonyCallback.register(mContext, mSubId);
-    }
-
-    @Override
-    public void onStop() {
-        mTelephonyCallback.unregister();
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        final Intent intent = mPreference.getIntent();
-        if (intent != null) {
-            intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
-        }
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        if ((mCallState == null) || (preference == null)) {
-            Log.d(TAG, "Skip update under mCallState=" + mCallState);
-            return;
-        }
-        CharSequence summaryText = null;
-        if (mSimCallManager != null) {
-            final Intent intent = MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext,
-                    mSimCallManager);
-            if (intent == null) {
-                // Do nothing in this case since preference is invisible
-                return;
-            }
-            final PackageManager pm = mContext.getPackageManager();
-            final List<ResolveInfo> resolutions = pm.queryIntentActivities(intent, 0);
-            preference.setTitle(resolutions.get(0).loadLabel(pm));
-            preference.setIntent(intent);
-        } else {
-            final String title = SubscriptionManager.getResourcesForSubId(mContext, mSubId)
-                    .getString(R.string.wifi_calling_settings_title);
-            preference.setTitle(title);
-            summaryText = getResourceIdForWfcMode(mSubId);
-        }
-        preference.setSummary(summaryText);
-        preference.setEnabled(mCallState == TelephonyManager.CALL_STATE_IDLE);
-    }
-
-    private CharSequence getResourceIdForWfcMode(int subId) {
-        int resId = com.android.internal.R.string.wifi_calling_off_summary;
-        if (queryImsState(subId).isEnabledByUser()) {
-            boolean useWfcHomeModeForRoaming = false;
-            if (mCarrierConfigManager != null) {
-                final PersistableBundle carrierConfig =
-                        mCarrierConfigManager.getConfigForSubId(subId);
-                if (carrierConfig != null) {
-                    useWfcHomeModeForRoaming = carrierConfig.getBoolean(
-                            CarrierConfigManager
-                                    .KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL);
-                }
-            }
-            final boolean isRoaming = getTelephonyManager(mContext, subId)
-                    .isNetworkRoaming();
-            final int wfcMode = (isRoaming && !useWfcHomeModeForRoaming)
-                    ? mImsMmTelManager.getVoWiFiRoamingModeSetting() :
-                    mImsMmTelManager.getVoWiFiModeSetting();
-            switch (wfcMode) {
-                case ImsMmTelManager.WIFI_MODE_WIFI_ONLY:
-                    resId = com.android.internal.R.string.wfc_mode_wifi_only_summary;
-                    break;
-                case ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED:
-                    resId = com.android.internal.R.string
-                            .wfc_mode_cellular_preferred_summary;
-                    break;
-                case ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED:
-                    resId = com.android.internal.R.string.wfc_mode_wifi_preferred_summary;
-                    break;
-                default:
-                    break;
-            }
-        }
-        return SubscriptionManager.getResourcesForSubId(mContext, subId).getText(resId);
-    }
-
-    public WifiCallingPreferenceController init(int subId) {
-        mSubId = subId;
-        mImsMmTelManager = getImsMmTelManager(mSubId);
-        mSimCallManager = mContext.getSystemService(TelecomManager.class)
-                .getSimCallManagerForSubscription(mSubId);
-
-        return this;
-    }
-
-    @VisibleForTesting
-    WifiCallingQueryImsState queryImsState(int subId) {
-        return new WifiCallingQueryImsState(mContext, subId);
-    }
-
-    protected ImsMmTelManager getImsMmTelManager(int subId) {
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
-            return null;
-        }
-        return ImsMmTelManager.createForSubscriptionId(subId);
-    }
-
-    @VisibleForTesting
-    TelephonyManager getTelephonyManager(Context context, int subId) {
-        final TelephonyManager telephonyMgr = context.getSystemService(TelephonyManager.class);
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
-            return telephonyMgr;
-        }
-        final TelephonyManager subscriptionTelephonyMgr =
-                telephonyMgr.createForSubscriptionId(subId);
-        return (subscriptionTelephonyMgr == null) ? telephonyMgr : subscriptionTelephonyMgr;
-    }
-
-
-    private class 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 = getTelephonyManager(context, subId);
-            // assign current call state so that it helps to show correct preference state even
-            // before first onCallStateChanged() by initial registration.
-            mCallState = mTelephonyManager.getCallState(subId);
-            mTelephonyManager.registerTelephonyCallback(context.getMainExecutor(), this);
-        }
-
-        public void unregister() {
-            mCallState = null;
-            mTelephonyManager.unregisterTelephonyCallback(this);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
new file mode 100644
index 0000000..e7b8318
--- /dev/null
+++ b/src/com/android/settings/network/telephony/WifiCallingPreferenceController.kt
@@ -0,0 +1,140 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.provider.Settings
+import android.telecom.TelecomManager
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.ims.ImsMmTelManager
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.network.telephony.ims.ImsMmTelRepository
+import com.android.settings.network.telephony.ims.ImsMmTelRepositoryImpl
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Preference controller for "Wifi Calling".
+ *
+ * TODO: Remove the class once Provider Model is always enabled in the future.
+ */
+open class WifiCallingPreferenceController @JvmOverloads constructor(
+    context: Context,
+    key: String,
+    private val callStateFlowFactory: (subId: Int) -> Flow<Int> = context::callStateFlow,
+    private val imsMmTelRepositoryFactory: (subId: Int) -> ImsMmTelRepository = { subId ->
+        ImsMmTelRepositoryImpl(context, subId)
+    },
+) : TelephonyBasePreferenceController(context, key) {
+
+    private lateinit var preference: Preference
+    private lateinit var callingPreferenceCategoryController: CallingPreferenceCategoryController
+
+    private val resourcesForSub by lazy {
+        SubscriptionManager.getResourcesForSubId(mContext, mSubId)
+    }
+
+    fun init(
+        subId: Int,
+        callingPreferenceCategoryController: CallingPreferenceCategoryController,
+    ): WifiCallingPreferenceController {
+        mSubId = subId
+        this.callingPreferenceCategoryController = callingPreferenceCategoryController
+        return this
+    }
+
+    /**
+     * Note: Visibility also controlled by [onViewCreated].
+     */
+    override fun getAvailabilityStatus(subId: Int) =
+        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)
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                val isVisible = withContext(Dispatchers.Default) {
+                    MobileNetworkUtils.isWifiCallingEnabled(mContext, mSubId, null)
+                }
+                preference.isVisible = isVisible
+                callingPreferenceCategoryController.updateChildVisible(preferenceKey, isVisible)
+            }
+        }
+
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                update()
+            }
+        }
+
+        callStateFlowFactory(mSubId).collectLatestWithLifecycle(viewLifecycleOwner) {
+            preference.isEnabled = (it == TelephonyManager.CALL_STATE_IDLE)
+        }
+    }
+
+    private suspend fun update() {
+        val simCallManager = mContext.getSystemService(TelecomManager::class.java)
+            ?.getSimCallManagerForSubscription(mSubId)
+        if (simCallManager != null) {
+            val intent = withContext(Dispatchers.Default) {
+                MobileNetworkUtils.buildPhoneAccountConfigureIntent(mContext, simCallManager)
+            } ?: return // Do nothing in this case since preference is invisible
+            val title = withContext(Dispatchers.Default) {
+                mContext.packageManager.resolveActivity(intent, 0)
+                    ?.loadLabel(mContext.packageManager)
+            } ?: return
+            preference.intent = intent
+            preference.title = title
+            preference.summary = null
+        } else {
+            preference.title = resourcesForSub.getString(R.string.wifi_calling_settings_title)
+            preference.summary = withContext(Dispatchers.Default) { getSummaryForWfcMode() }
+        }
+    }
+
+    private fun getSummaryForWfcMode(): String {
+        val resId = when (imsMmTelRepositoryFactory(mSubId).getWiFiCallingMode()) {
+            ImsMmTelManager.WIFI_MODE_WIFI_ONLY ->
+                com.android.internal.R.string.wfc_mode_wifi_only_summary
+
+            ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED ->
+                com.android.internal.R.string.wfc_mode_cellular_preferred_summary
+
+            ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED ->
+                com.android.internal.R.string.wfc_mode_wifi_preferred_summary
+
+            else -> com.android.internal.R.string.wifi_calling_off_summary
+        }
+        return resourcesForSub.getString(resId)
+    }
+}
diff --git a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
deleted file mode 100644
index 400d261..0000000
--- a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.java
+++ /dev/null
@@ -1,343 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.gsm;
-
-import static androidx.lifecycle.Lifecycle.Event.ON_RESUME;
-import static androidx.lifecycle.Lifecycle.Event.ON_START;
-import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
-
-import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
-
-import android.app.ProgressDialog;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Handler;
-import android.os.HandlerExecutor;
-import android.os.Looper;
-import android.os.PersistableBundle;
-import android.os.SystemClock;
-import android.provider.Settings;
-import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.util.Log;
-
-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.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-
-import com.android.settings.R;
-import com.android.settings.network.AllowedNetworkTypesListener;
-import com.android.settings.network.CarrierConfigCache;
-import com.android.settings.network.helper.ServiceStateStatus;
-import com.android.settings.network.telephony.MobileNetworkUtils;
-import com.android.settings.network.telephony.TelephonyTogglePreferenceController;
-import com.android.settingslib.utils.ThreadUtils;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.Future;
-import java.util.concurrent.TimeUnit;
-import java.util.concurrent.atomic.AtomicBoolean;
-import java.util.concurrent.atomic.AtomicLong;
-
-/**
- * Preference controller for "Auto Select Network"
- */
-public class AutoSelectPreferenceController extends TelephonyTogglePreferenceController
-        implements LifecycleEventObserver{
-    private static final long MINIMUM_DIALOG_TIME_MILLIS = TimeUnit.SECONDS.toMillis(1);
-    private static final String LOG_TAG = "AutoSelectPreferenceController";
-    private static final String INTERNAL_LOG_TAG_ONRESUME = "OnResume";
-    private static final String INTERNAL_LOG_TAG_AFTERSET = "AfterSet";
-
-    private final Handler mUiHandler;
-    private PreferenceScreen mPreferenceScreen;
-    private AllowedNetworkTypesListener mAllowedNetworkTypesListener;
-    private TelephonyManager mTelephonyManager;
-    private boolean mOnlyAutoSelectInHome;
-    private List<OnNetworkSelectModeListener> mListeners;
-    @VisibleForTesting
-    ProgressDialog mProgressDialog;
-    @VisibleForTesting
-    SwitchPreference mSwitchPreference;
-    private AtomicBoolean mUpdatingConfig;
-    private int mCacheOfModeStatus;
-    private AtomicLong mRecursiveUpdate;
-    ServiceStateStatus mServiceStateStatus;
-
-    public AutoSelectPreferenceController(Context context, String key) {
-        super(context, key);
-        mTelephonyManager = context.getSystemService(TelephonyManager.class);
-        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        mRecursiveUpdate = new AtomicLong();
-        mUpdatingConfig = new AtomicBoolean();
-        mCacheOfModeStatus = TelephonyManager.NETWORK_SELECTION_MODE_UNKNOWN;
-        mListeners = new ArrayList<>();
-        mUiHandler = new Handler(Looper.getMainLooper());
-        mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
-                new HandlerExecutor(mUiHandler));
-        mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
-                () -> updatePreference());
-    }
-
-    private void updatePreference() {
-        if (mPreferenceScreen != null) {
-            displayPreference(mPreferenceScreen);
-        }
-        if (mSwitchPreference != null) {
-            mRecursiveUpdate.getAndIncrement();
-            updateState(mSwitchPreference);
-            mRecursiveUpdate.decrementAndGet();
-        }
-    }
-
-    /**
-     * Implementation of LifecycleEventObserver.
-     */
-    @SuppressWarnings("FutureReturnValueIgnored")
-    public void onStateChanged(@NonNull LifecycleOwner lifecycleOwner,
-            @NonNull Lifecycle.Event event) {
-        switch (event) {
-            case ON_START:
-                mAllowedNetworkTypesListener.register(mContext, mSubId);
-                break;
-            case ON_RESUME:
-                ThreadUtils.postOnBackgroundThread(() -> {
-                    queryNetworkSelectionMode(INTERNAL_LOG_TAG_ONRESUME);
-                    //Update UI in UI thread
-                    mUiHandler.post(() -> {
-                        if (mSwitchPreference != null) {
-                            mRecursiveUpdate.getAndIncrement();
-                            mSwitchPreference.setChecked(isChecked());
-                            mRecursiveUpdate.decrementAndGet();
-                            updateListenerValue();
-                        }
-                    });
-                });
-                break;
-            case ON_STOP:
-                mAllowedNetworkTypesListener.unregister(mContext, mSubId);
-                break;
-            default:
-                // Do nothing
-                break;
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, subId)
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceScreen = screen;
-        mSwitchPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mCacheOfModeStatus == TelephonyManager.NETWORK_SELECTION_MODE_AUTO;
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-
-        preference.setSummary(null);
-        final ServiceState serviceState = mTelephonyManager.getServiceState();
-        if (serviceState == null) {
-            preference.setEnabled(false);
-            return;
-        }
-
-        if (serviceState.getRoaming()) {
-            preference.setEnabled(true);
-        } else {
-            preference.setEnabled(!mOnlyAutoSelectInHome);
-            if (mOnlyAutoSelectInHome) {
-                preference.setSummary(mContext.getString(
-                        R.string.manual_mode_disallowed_summary,
-                        mTelephonyManager.getSimOperatorName()));
-            }
-        }
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        if (mRecursiveUpdate.get() != 0) {
-            // Changing from software are allowed and changing presentation only.
-            return true;
-        }
-        if (isChecked) {
-            setAutomaticSelectionMode();
-        } else {
-            if (mSwitchPreference != null) {
-                Intent intent = new Intent();
-                intent.setClassName(SETTINGS_PACKAGE_NAME,
-                        SETTINGS_PACKAGE_NAME + ".Settings$NetworkSelectActivity");
-                intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
-                mSwitchPreference.setIntent(intent);
-            }
-        }
-        return false;
-    }
-
-    @VisibleForTesting
-    Future setAutomaticSelectionMode() {
-        final long startMillis = SystemClock.elapsedRealtime();
-        showAutoSelectProgressBar();
-        if (mSwitchPreference != null) {
-            mSwitchPreference.setIntent(null);
-            mSwitchPreference.setEnabled(false);
-        }
-        return ThreadUtils.postOnBackgroundThread(() -> {
-            // set network selection mode in background
-            mUpdatingConfig.set(true);
-            mTelephonyManager.setNetworkSelectionModeAutomatic();
-            mUpdatingConfig.set(false);
-
-            //Update UI in UI thread
-            final long durationMillis = SystemClock.elapsedRealtime() - startMillis;
-
-            mUiHandler.postDelayed(() -> {
-                ThreadUtils.postOnBackgroundThread(() -> {
-                    queryNetworkSelectionMode(INTERNAL_LOG_TAG_AFTERSET);
-
-                    //Update UI in UI thread
-                    mUiHandler.post(() -> {
-                        mRecursiveUpdate.getAndIncrement();
-                        if (mSwitchPreference != null) {
-                            mSwitchPreference.setEnabled(true);
-                            mSwitchPreference.setChecked(isChecked());
-                        }
-                        mRecursiveUpdate.decrementAndGet();
-                        updateListenerValue();
-                        dismissProgressBar();
-                    });
-                });
-            }, Math.max(MINIMUM_DIALOG_TIME_MILLIS - durationMillis, 0));
-        });
-    }
-
-    /**
-     * Initialization based on given subscription id.
-     **/
-    public AutoSelectPreferenceController init(Lifecycle lifecycle, int subId) {
-        mSubId = subId;
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(mSubId);
-        final PersistableBundle carrierConfig =
-                CarrierConfigCache.getInstance(mContext).getConfigForSubId(mSubId);
-        mOnlyAutoSelectInHome = carrierConfig != null
-                ? carrierConfig.getBoolean(
-                CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL)
-                : false;
-
-        mServiceStateStatus = new ServiceStateStatus(lifecycle, mTelephonyManager,
-                new HandlerExecutor(mUiHandler)) {
-            @Override
-            protected void setValue(ServiceState status) {
-                if (status == null) {
-                    return;
-                }
-                updateUiAutoSelectValue(status);
-            }
-        };
-        return this;
-    }
-
-    public AutoSelectPreferenceController addListener(OnNetworkSelectModeListener lsn) {
-        mListeners.add(lsn);
-
-        return this;
-    }
-
-    private void queryNetworkSelectionMode(String tag) {
-        mCacheOfModeStatus = mTelephonyManager.getNetworkSelectionMode();
-        Log.d(LOG_TAG, tag + ": query command done. mCacheOfModeStatus: " + mCacheOfModeStatus);
-    }
-
-    @VisibleForTesting
-    void updateUiAutoSelectValue(ServiceState status) {
-        if (status == null) {
-            return;
-        }
-        if (!mUpdatingConfig.get()) {
-            int networkSelectionMode = status.getIsManualSelection()
-                    ? TelephonyManager.NETWORK_SELECTION_MODE_MANUAL
-                    : TelephonyManager.NETWORK_SELECTION_MODE_AUTO;
-            if (mCacheOfModeStatus == networkSelectionMode) {
-                return;
-            }
-            mCacheOfModeStatus = networkSelectionMode;
-            Log.d(LOG_TAG, "updateUiAutoSelectValue: mCacheOfModeStatus: " + mCacheOfModeStatus);
-
-            mRecursiveUpdate.getAndIncrement();
-            updateState(mSwitchPreference);
-            mRecursiveUpdate.decrementAndGet();
-            updateListenerValue();
-        }
-    }
-
-    private void updateListenerValue() {
-        for (OnNetworkSelectModeListener lsn : mListeners) {
-            lsn.onNetworkSelectModeUpdated(mCacheOfModeStatus);
-        }
-    }
-
-    private void showAutoSelectProgressBar() {
-        if (mProgressDialog == null) {
-            mProgressDialog = new ProgressDialog(mContext);
-            mProgressDialog.setMessage(
-                    mContext.getResources().getString(R.string.register_automatically));
-            mProgressDialog.setCanceledOnTouchOutside(false);
-            mProgressDialog.setCancelable(false);
-            mProgressDialog.setIndeterminate(true);
-        }
-        mProgressDialog.show();
-    }
-
-    private void dismissProgressBar() {
-        if (mProgressDialog != null && mProgressDialog.isShowing()) {
-            try {
-                mProgressDialog.dismiss();
-            } catch (IllegalArgumentException e) {
-                // Ignore exception since the dialog will be gone anyway.
-            }
-        }
-    }
-
-    /**
-     * Callback when network select mode might get updated
-     *
-     * @see TelephonyManager#getNetworkSelectionMode()
-     */
-    public interface OnNetworkSelectModeListener {
-        void onNetworkSelectModeUpdated(int mode);
-    }
-}
diff --git a/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.kt b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.kt
new file mode 100644
index 0000000..1ed9d9a
--- /dev/null
+++ b/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceController.kt
@@ -0,0 +1,224 @@
+/*
+ * 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.telephony.gsm
+
+import android.app.ProgressDialog
+import android.content.Context
+import android.content.Intent
+import android.os.PersistableBundle
+import android.provider.Settings
+import android.telephony.CarrierConfigManager
+import android.telephony.ServiceState
+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.runtime.rememberCoroutineScope
+import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.Settings.NetworkSelectActivity
+import com.android.settings.network.CarrierConfigCache
+import com.android.settings.network.telephony.MobileNetworkUtils
+import com.android.settings.network.telephony.allowedNetworkTypesFlow
+import com.android.settings.network.telephony.serviceStateFlow
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.spa.framework.compose.OverridableFlow
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import com.android.settingslib.spa.widget.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+import kotlin.properties.Delegates.notNull
+import kotlin.time.Duration.Companion.seconds
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.SharingStarted
+import kotlinx.coroutines.flow.filterNotNull
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.onEach
+import kotlinx.coroutines.flow.stateIn
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Preference controller for "Auto Select Network"
+ */
+class AutoSelectPreferenceController @JvmOverloads constructor(
+    context: Context,
+    key: String,
+    private val allowedNetworkTypesFlowFactory: (subId: Int) -> Flow<Long> =
+        context::allowedNetworkTypesFlow,
+    private val serviceStateFlowFactory: (subId: Int) -> Flow<ServiceState> =
+        context::serviceStateFlow,
+    private val getConfigForSubId: (subId: Int) -> PersistableBundle = { subId ->
+        CarrierConfigCache.getInstance(context).getConfigForSubId(subId)
+    },
+) : ComposePreferenceController(context, key) {
+
+    private lateinit var telephonyManager: TelephonyManager
+    private val listeners = mutableListOf<OnNetworkSelectModeListener>()
+
+    @VisibleForTesting
+    var progressDialog: ProgressDialog? = null
+
+    private lateinit var preference: Preference
+
+    private var subId by notNull<Int>()
+
+    /**
+     * Initialization based on given subscription id.
+     */
+    fun init(subId: Int): AutoSelectPreferenceController {
+        this.subId = subId
+        telephonyManager = mContext.getSystemService(TelephonyManager::class.java)!!
+            .createForSubscriptionId(subId)
+
+        return this
+    }
+
+    override fun getAvailabilityStatus() =
+        if (MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, subId)) AVAILABLE
+        else CONDITIONALLY_UNAVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    @Composable
+    override fun Content() {
+        val coroutineScope = rememberCoroutineScope()
+        val serviceStateFlow = remember {
+            serviceStateFlowFactory(subId)
+                .stateIn(coroutineScope, SharingStarted.Lazily, null)
+                .filterNotNull()
+        }
+        val isAutoOverridableFlow = remember {
+            OverridableFlow(serviceStateFlow.map { !it.isManualSelection })
+        }
+        val isAuto by isAutoOverridableFlow.flow
+            .onEach(::updateListenerValue)
+            .collectAsStateWithLifecycle(initialValue = null)
+        val disallowedSummary by serviceStateFlow.map(::getDisallowedSummary)
+            .collectAsStateWithLifecycle(initialValue = "")
+        SwitchPreference(object : SwitchPreferenceModel {
+            override val title = stringResource(R.string.select_automatically)
+            override val summary = { disallowedSummary }
+            override val changeable = { disallowedSummary.isEmpty() }
+            override val checked = { isAuto }
+            override val onCheckedChange: (Boolean) -> Unit = { newChecked ->
+                if (newChecked) {
+                    coroutineScope.launch { setAutomaticSelectionMode(isAutoOverridableFlow) }
+                } else {
+                    mContext.startActivity(Intent().apply {
+                        setClass(mContext, NetworkSelectActivity::class.java)
+                        putExtra(Settings.EXTRA_SUB_ID, subId)
+                    })
+                }
+            }
+        })
+    }
+
+    private suspend fun getDisallowedSummary(serviceState: ServiceState): String =
+        withContext(Dispatchers.Default) {
+            if (!serviceState.roaming && onlyAutoSelectInHome()) {
+                mContext.getString(
+                    R.string.manual_mode_disallowed_summary,
+                    telephonyManager.simOperatorName
+                )
+            } else ""
+        }
+
+    private fun onlyAutoSelectInHome(): Boolean =
+        getConfigForSubId(subId)
+            .getBoolean(CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL)
+
+    private suspend fun setAutomaticSelectionMode(overrideChannel: OverridableFlow<Boolean>) {
+        showAutoSelectProgressBar()
+
+        withContext(Dispatchers.Default) {
+            val minimumDialogTimeDeferred = async { delay(MINIMUM_DIALOG_TIME) }
+            telephonyManager.setNetworkSelectionModeAutomatic()
+            minimumDialogTimeDeferred.await()
+        }
+        overrideChannel.override(true)
+
+        dismissProgressBar()
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        allowedNetworkTypesFlowFactory(subId).collectLatestWithLifecycle(viewLifecycleOwner) {
+            preference.isVisible = withContext(Dispatchers.Default) {
+                MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, subId)
+            }
+        }
+    }
+
+    fun addListener(listener: OnNetworkSelectModeListener): AutoSelectPreferenceController {
+        listeners.add(listener)
+        return this
+    }
+
+    private fun updateListenerValue(isAuto: Boolean) {
+        for (listener in listeners) {
+            listener.onNetworkSelectModeUpdated(
+                if (isAuto) TelephonyManager.NETWORK_SELECTION_MODE_AUTO
+                else TelephonyManager.NETWORK_SELECTION_MODE_MANUAL
+            )
+        }
+    }
+
+    private fun showAutoSelectProgressBar() {
+        if (progressDialog == null) {
+            progressDialog = ProgressDialog(mContext).apply {
+                setMessage(mContext.resources.getString(R.string.register_automatically))
+                setCanceledOnTouchOutside(false)
+                setCancelable(false)
+                isIndeterminate = true
+            }
+        }
+        progressDialog?.show()
+    }
+
+    private fun dismissProgressBar() {
+        if (progressDialog?.isShowing == true) {
+            try {
+                progressDialog?.dismiss()
+            } catch (e: IllegalArgumentException) {
+                // Ignore exception since the dialog will be gone anyway.
+            }
+        }
+    }
+
+    /**
+     * Callback when network select mode might get updated
+     *
+     * @see TelephonyManager.getNetworkSelectionMode
+     */
+    interface OnNetworkSelectModeListener {
+        fun onNetworkSelectModeUpdated(mode: Int)
+    }
+
+    companion object {
+        private val MINIMUM_DIALOG_TIME = 1.seconds
+    }
+}
diff --git a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
deleted file mode 100644
index 7bc0dc1..0000000
--- a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.gsm;
-
-import static androidx.lifecycle.Lifecycle.Event.ON_START;
-import static androidx.lifecycle.Lifecycle.Event.ON_STOP;
-
-import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
-
-import android.content.Context;
-import android.content.Intent;
-import android.provider.Settings;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.LifecycleObserver;
-import androidx.lifecycle.OnLifecycleEvent;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.network.AllowedNetworkTypesListener;
-import com.android.settings.network.telephony.MobileNetworkUtils;
-import com.android.settings.network.telephony.TelephonyBasePreferenceController;
-
-/**
- * Preference controller for "Open network select"
- */
-public class OpenNetworkSelectPagePreferenceController extends
-        TelephonyBasePreferenceController implements
-        AutoSelectPreferenceController.OnNetworkSelectModeListener, LifecycleObserver {
-
-    private TelephonyManager mTelephonyManager;
-    private Preference mPreference;
-    private PreferenceScreen mPreferenceScreen;
-    private AllowedNetworkTypesListener mAllowedNetworkTypesListener;
-    private int mCacheOfModeStatus;
-
-    public OpenNetworkSelectPagePreferenceController(Context context, String key) {
-        super(context, key);
-        mTelephonyManager = context.getSystemService(TelephonyManager.class);
-        mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        mCacheOfModeStatus = TelephonyManager.NETWORK_SELECTION_MODE_UNKNOWN;
-        mAllowedNetworkTypesListener = new AllowedNetworkTypesListener(
-                context.getMainExecutor());
-        mAllowedNetworkTypesListener.setAllowedNetworkTypesListener(
-                () -> updatePreference());
-
-    }
-
-    private void updatePreference() {
-        if (mPreferenceScreen != null) {
-            displayPreference(mPreferenceScreen);
-        }
-        if (mPreference != null) {
-            updateState(mPreference);
-        }
-    }
-
-    @Override
-    public int getAvailabilityStatus(int subId) {
-        return MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, subId)
-                ? AVAILABLE
-                : CONDITIONALLY_UNAVAILABLE;
-    }
-
-    @OnLifecycleEvent(ON_START)
-    public void onStart() {
-        mAllowedNetworkTypesListener.register(mContext, mSubId);
-    }
-
-    @OnLifecycleEvent(ON_STOP)
-    public void onStop() {
-        mAllowedNetworkTypesListener.unregister(mContext, mSubId);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreferenceScreen = screen;
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        super.updateState(preference);
-        preference.setEnabled(mCacheOfModeStatus
-                != TelephonyManager.NETWORK_SELECTION_MODE_AUTO);
-
-        Intent intent = new Intent();
-        intent.setClassName(SETTINGS_PACKAGE_NAME,
-                SETTINGS_PACKAGE_NAME + ".Settings$NetworkSelectActivity");
-        intent.putExtra(Settings.EXTRA_SUB_ID, mSubId);
-        preference.setIntent(intent);
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        final ServiceState ss = mTelephonyManager.getServiceState();
-        if (ss != null && ss.getState() == ServiceState.STATE_IN_SERVICE) {
-            return MobileNetworkUtils.getCurrentCarrierNameForDisplay(mContext, mSubId);
-        } else {
-            return mContext.getString(R.string.network_disconnected);
-        }
-    }
-
-    /**
-     * Initialization based on given subscription id.
-     **/
-    public OpenNetworkSelectPagePreferenceController init(int subId) {
-        mSubId = subId;
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class)
-                .createForSubscriptionId(mSubId);
-        return this;
-    }
-
-    @Override
-    public void onNetworkSelectModeUpdated(int mode) {
-        mCacheOfModeStatus = mode;
-        if (mPreference != null) {
-            updateState(mPreference);
-        }
-    }
-}
diff --git a/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.kt b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.kt
new file mode 100644
index 0000000..84cdec4
--- /dev/null
+++ b/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceController.kt
@@ -0,0 +1,96 @@
+/*
+ * 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.telephony.gsm
+
+import android.content.Context
+import android.content.Intent
+import android.provider.Settings
+import android.telephony.ServiceState
+import android.telephony.TelephonyManager
+import androidx.lifecycle.LifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.Settings.NetworkSelectActivity
+import com.android.settings.network.telephony.MobileNetworkUtils
+import com.android.settings.network.telephony.TelephonyBasePreferenceController
+import com.android.settings.network.telephony.allowedNetworkTypesFlow
+import com.android.settings.network.telephony.serviceStateFlow
+import com.android.settingslib.spa.framework.util.collectLatestWithLifecycle
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.withContext
+
+/**
+ * Preference controller for "Open network select"
+ */
+class OpenNetworkSelectPagePreferenceController @JvmOverloads constructor(
+    context: Context,
+    key: String,
+    private val allowedNetworkTypesFlowFactory: (subId: Int) -> Flow<Long> =
+        context::allowedNetworkTypesFlow,
+    private val serviceStateFlowFactory: (subId: Int) -> Flow<ServiceState> =
+        context::serviceStateFlow,
+) : TelephonyBasePreferenceController(context, key),
+    AutoSelectPreferenceController.OnNetworkSelectModeListener {
+
+    private var preference: Preference? = null
+
+    /**
+     * Initialization based on given subscription id.
+     */
+    fun init(subId: Int): OpenNetworkSelectPagePreferenceController {
+        mSubId = subId
+        return this
+    }
+
+    override fun getAvailabilityStatus(subId: Int) =
+        if (MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, subId)) AVAILABLE
+        else CONDITIONALLY_UNAVAILABLE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)
+        preference?.intent = Intent().apply {
+            setClass(mContext, NetworkSelectActivity::class.java)
+            putExtra(Settings.EXTRA_SUB_ID, mSubId)
+        }
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        allowedNetworkTypesFlowFactory(mSubId).collectLatestWithLifecycle(viewLifecycleOwner) {
+            preference?.isVisible = withContext(Dispatchers.Default) {
+                MobileNetworkUtils.shouldDisplayNetworkSelectOptions(mContext, mSubId)
+            }
+        }
+
+        serviceStateFlowFactory(mSubId)
+            .collectLatestWithLifecycle(viewLifecycleOwner) { serviceState ->
+                preference?.summary = if (serviceState.state == ServiceState.STATE_IN_SERVICE) {
+                    withContext(Dispatchers.Default) {
+                        MobileNetworkUtils.getCurrentCarrierNameForDisplay(mContext, mSubId)
+                    }
+                } else {
+                    mContext.getString(R.string.network_disconnected)
+                }
+            }
+    }
+
+    override fun onNetworkSelectModeUpdated(mode: Int) {
+        preference?.isEnabled = mode != TelephonyManager.NETWORK_SELECTION_MODE_AUTO
+    }
+}
diff --git a/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt b/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt
new file mode 100644
index 0000000..3408eb7
--- /dev/null
+++ b/src/com/android/settings/network/telephony/ims/ImsMmTelRepository.kt
@@ -0,0 +1,67 @@
+/*
+ * 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.telephony.ims
+
+import android.content.Context
+import android.telephony.CarrierConfigManager
+import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL
+import android.telephony.TelephonyManager
+import android.telephony.ims.ImsManager
+import android.telephony.ims.ImsMmTelManager
+import android.telephony.ims.ImsMmTelManager.WiFiCallingMode
+import android.util.Log
+
+interface ImsMmTelRepository {
+    @WiFiCallingMode
+    fun getWiFiCallingMode(): Int
+}
+
+class ImsMmTelRepositoryImpl(
+    context: Context,
+    private val subId: Int,
+    private val imsMmTelManager: ImsMmTelManager = ImsManager(context).getImsMmTelManager(subId),
+) : ImsMmTelRepository {
+
+    private val telephonyManager = context.getSystemService(TelephonyManager::class.java)!!
+        .createForSubscriptionId(subId)
+
+    private val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
+
+    @WiFiCallingMode
+    override fun getWiFiCallingMode(): Int = try {
+        when {
+            !imsMmTelManager.isVoWiFiSettingEnabled -> ImsMmTelManager.WIFI_MODE_UNKNOWN
+
+            telephonyManager.isNetworkRoaming && !useWfcHomeModeForRoaming() ->
+                imsMmTelManager.getVoWiFiRoamingModeSetting()
+
+            else -> imsMmTelManager.getVoWiFiModeSetting()
+        }
+    } catch (e: IllegalArgumentException) {
+        Log.w(TAG, "getWiFiCallingMode failed subId=$subId", e)
+        ImsMmTelManager.WIFI_MODE_UNKNOWN
+    }
+
+    private fun useWfcHomeModeForRoaming(): Boolean =
+        carrierConfigManager
+            .getConfigForSubId(subId, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
+            .getBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
+
+    private companion object {
+        private const val TAG = "ImsMmTelRepository"
+    }
+}
diff --git a/src/com/android/settings/network/tether/TetherSettings.java b/src/com/android/settings/network/tether/TetherSettings.java
index 5398e9b..77ef4b6 100644
--- a/src/com/android/settings/network/tether/TetherSettings.java
+++ b/src/com/android/settings/network/tether/TetherSettings.java
@@ -45,19 +45,17 @@
 import android.os.UserManager;
 import android.provider.SearchIndexableResource;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
 import com.android.settings.Utils;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.datausage.DataSaverBackend;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.wifi.tether.WifiTetherPreferenceController;
@@ -99,9 +97,9 @@
     @VisibleForTesting
     RestrictedSwitchPreference mUsbTether;
     @VisibleForTesting
-    SwitchPreference mBluetoothTether;
+    TwoStatePreference mBluetoothTether;
     @VisibleForTesting
-    SwitchPreference mEthernetTether;
+    TwoStatePreference mEthernetTether;
 
     private BroadcastReceiver mTetherChangeReceiver;
     private BroadcastReceiver mBluetoothStateReceiver;
@@ -247,8 +245,8 @@
     @VisibleForTesting
     void setupTetherPreference() {
         mUsbTether = (RestrictedSwitchPreference) findPreference(KEY_USB_TETHER_SETTINGS);
-        mBluetoothTether = (SwitchPreference) findPreference(KEY_ENABLE_BLUETOOTH_TETHERING);
-        mEthernetTether = (SwitchPreference) findPreference(KEY_ENABLE_ETHERNET_TETHERING);
+        mBluetoothTether = (TwoStatePreference) findPreference(KEY_ENABLE_BLUETOOTH_TETHERING);
+        mEthernetTether = (TwoStatePreference) findPreference(KEY_ENABLE_ETHERNET_TETHERING);
     }
 
     @Override
@@ -365,7 +363,8 @@
 
         if (isUiRestricted()) {
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.tethering_settings_not_available);
+                getEmptyTextView().setText(
+                        com.android.settingslib.R.string.tethering_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
@@ -629,11 +628,6 @@
                 }
 
                 @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
-                }
-
-                @Override
                 public List<String> getNonIndexableKeys(Context context) {
                     final List<String> keys = super.getNonIndexableKeys(context);
                     final TetheringManager tm =
diff --git a/src/com/android/settings/nfc/AndroidBeam.java b/src/com/android/settings/nfc/AndroidBeam.java
deleted file mode 100644
index b1fcd57..0000000
--- a/src/com/android/settings/nfc/AndroidBeam.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (C) 2011 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.nfc;
-
-import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.nfc.NfcAdapter;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.view.LayoutInflater;
-import android.view.Menu;
-import android.view.MenuInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.ImageView;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.core.InstrumentedFragment;
-import com.android.settings.enterprise.ActionDisabledByAdminDialogHelper;
-import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settingslib.HelpUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
-
-public class AndroidBeam extends InstrumentedFragment
-        implements OnMainSwitchChangeListener {
-    private View mView;
-    private NfcAdapter mNfcAdapter;
-    private SettingsMainSwitchBar mSwitchBar;
-    private CharSequence mOldActivityTitle;
-    private boolean mBeamDisallowedByBase;
-    private boolean mBeamDisallowedByOnlyAdmin;
-
-    @Override
-    public void onCreate(Bundle savedInstanceState) {
-        super.onCreate(savedInstanceState);
-        final Context context = getActivity();
-        mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
-        final PackageManager pm = context.getPackageManager();
-        if (mNfcAdapter == null || !pm.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM))
-            getActivity().finish();
-        setHasOptionsMenu(true);
-    }
-
-    @Override
-    public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        super.onCreateOptionsMenu(menu, inflater);
-        HelpUtils.prepareHelpMenuItem(getActivity(), menu, R.string.help_uri_beam,
-                getClass().getName());
-    }
-
-    @Override
-    public View onCreateView(LayoutInflater inflater, ViewGroup container,
-            Bundle savedInstanceState) {
-        final EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
-                getActivity(), UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
-        final UserManager um = UserManager.get(getActivity());
-        mBeamDisallowedByBase = RestrictedLockUtilsInternal.hasBaseUserRestriction(getActivity(),
-                UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
-        if (!mBeamDisallowedByBase && admin != null) {
-            new ActionDisabledByAdminDialogHelper(getActivity())
-                    .prepareDialogBuilder(UserManager.DISALLOW_OUTGOING_BEAM, admin).show();
-            mBeamDisallowedByOnlyAdmin = true;
-            return new View(getContext());
-        }
-        mView = inflater.inflate(R.layout.preference_footer, container, false);
-
-        ImageView iconInfo = mView.findViewById(android.R.id.icon);
-        iconInfo.setImageResource(R.drawable.ic_info_outline_24dp);
-        TextView textInfo = mView.findViewById(android.R.id.title);
-        textInfo.setText(R.string.android_beam_explained);
-
-        return mView;
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-        SettingsActivity activity = (SettingsActivity) getActivity();
-
-        mOldActivityTitle = activity.getActionBar().getTitle();
-
-        mSwitchBar = activity.getSwitchBar();
-        if (mBeamDisallowedByOnlyAdmin) {
-            mSwitchBar.hide();
-        } else {
-            mSwitchBar.setChecked(!mBeamDisallowedByBase && mNfcAdapter.isNdefPushEnabled());
-            mSwitchBar.addOnSwitchChangeListener(this);
-            mSwitchBar.setEnabled(!mBeamDisallowedByBase);
-            mSwitchBar.show();
-        }
-
-        activity.setTitle(R.string.android_beam_settings_title);
-    }
-
-    @Override
-    public void onDestroyView() {
-        super.onDestroyView();
-        if (mOldActivityTitle != null) {
-            getActivity().getActionBar().setTitle(mOldActivityTitle);
-        }
-        if (!mBeamDisallowedByOnlyAdmin) {
-            mSwitchBar.removeOnSwitchChangeListener(this);
-            mSwitchBar.hide();
-        }
-    }
-
-    @Override
-    public void onSwitchChanged(Switch switchView, boolean desiredState) {
-        boolean success = false;
-        mSwitchBar.setEnabled(false);
-        if (desiredState) {
-            success = mNfcAdapter.enableNdefPush();
-        } else {
-            success = mNfcAdapter.disableNdefPush();
-        }
-        if (success) {
-            mSwitchBar.setChecked(desiredState);
-        }
-        mSwitchBar.setEnabled(true);
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.NFC_BEAM;
-    }
-}
diff --git a/src/com/android/settings/nfc/AndroidBeamEnabler.java b/src/com/android/settings/nfc/AndroidBeamEnabler.java
deleted file mode 100644
index 31ef702..0000000
--- a/src/com/android/settings/nfc/AndroidBeamEnabler.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.nfc;
-
-import android.content.Context;
-import android.nfc.NfcAdapter;
-import android.os.UserHandle;
-import android.os.UserManager;
-
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.RestrictedPreference;
-
-/**
- * AndroidBeanEnabler is a helper to manage the Android Beam preference. It turns on/off
- * Android Beam and ensures the summary of the preference reflects the current state.
- */
-public class AndroidBeamEnabler extends BaseNfcEnabler {
-    private final boolean mBeamDisallowedBySystem;
-    private final RestrictedPreference mPreference;
-
-    public AndroidBeamEnabler(Context context, RestrictedPreference preference) {
-        super(context);
-        mPreference = preference;
-        mBeamDisallowedBySystem = RestrictedLockUtilsInternal.hasBaseUserRestriction(context,
-                UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId());
-        if (!isNfcAvailable()) {
-            // NFC is not supported
-            mPreference.setEnabled(false);
-            return;
-        }
-        if (mBeamDisallowedBySystem) {
-            mPreference.setEnabled(false);
-        }
-    }
-
-    @Override
-    protected void handleNfcStateChanged(int newState) {
-        switch (newState) {
-            case NfcAdapter.STATE_OFF:
-                mPreference.setEnabled(false);
-                mPreference.setSummary(R.string.nfc_disabled_summary);
-                break;
-            case NfcAdapter.STATE_ON:
-                if (mBeamDisallowedBySystem) {
-                    mPreference.setDisabledByAdmin(null);
-                    mPreference.setEnabled(false);
-                } else {
-                    mPreference.checkRestrictionAndSetDisabled(UserManager.DISALLOW_OUTGOING_BEAM);
-                }
-                if (mNfcAdapter.isNdefPushEnabled() && mPreference.isEnabled()) {
-                    mPreference.setSummary(R.string.android_beam_on_summary);
-                } else {
-                    mPreference.setSummary(R.string.android_beam_off_summary);
-                }
-                break;
-            case NfcAdapter.STATE_TURNING_ON:
-                mPreference.setEnabled(false);
-                break;
-            case NfcAdapter.STATE_TURNING_OFF:
-                mPreference.setEnabled(false);
-                break;
-        }
-    }
-}
diff --git a/src/com/android/settings/nfc/AndroidBeamPreferenceController.java b/src/com/android/settings/nfc/AndroidBeamPreferenceController.java
deleted file mode 100644
index 15c15aa..0000000
--- a/src/com/android/settings/nfc/AndroidBeamPreferenceController.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.nfc;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.nfc.NfcAdapter;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.BasePreferenceController;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.lifecycle.LifecycleObserver;
-import com.android.settingslib.core.lifecycle.events.OnPause;
-import com.android.settingslib.core.lifecycle.events.OnResume;
-
-public class AndroidBeamPreferenceController extends BasePreferenceController
-        implements LifecycleObserver, OnResume, OnPause {
-
-    public static final String KEY_ANDROID_BEAM_SETTINGS = "android_beam_settings";
-    private final NfcAdapter mNfcAdapter;
-    private AndroidBeamEnabler mAndroidBeamEnabler;
-
-    public AndroidBeamPreferenceController(Context context, String key) {
-        super(context, key);
-        mNfcAdapter = NfcAdapter.getDefaultAdapter(context);
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        if (!isAvailable()) {
-            mAndroidBeamEnabler = null;
-            return;
-        }
-
-        final RestrictedPreference restrictedPreference = screen.findPreference(getPreferenceKey());
-        mAndroidBeamEnabler = new AndroidBeamEnabler(mContext, restrictedPreference);
-    }
-
-    @Override
-    @AvailabilityStatus
-    public int getAvailabilityStatus() {
-        PackageManager pm = mContext.getPackageManager();
-        if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)) {
-            return UNSUPPORTED_ON_DEVICE;
-        }
-        return mNfcAdapter != null
-                ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public void onResume() {
-        if (mAndroidBeamEnabler != null) {
-            mAndroidBeamEnabler.resume();
-        }
-    }
-
-    @Override
-    public void onPause() {
-        if (mAndroidBeamEnabler != null) {
-            mAndroidBeamEnabler.pause();
-        }
-    }
-}
diff --git a/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.java b/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.java
index 99c23cd..305bbc1 100644
--- a/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.java
+++ b/src/com/android/settings/nfc/ChangeNfcTagAppsStateDetails.java
@@ -24,7 +24,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -41,7 +41,7 @@
     private static final String LOG_TAG = "ChangeNfcTagAppsStateDetails";
 
     private AppStateNfcTagAppsBridge mAppBridge;
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
 
     @Override
     public void onCreate(Bundle savedInstanceState) {
@@ -51,7 +51,7 @@
 
         // find preferences
         addPreferencesFromResource(R.xml.change_nfc_tag_apps_details);
-        mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+        mSwitchPref = (TwoStatePreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
 
         // set title/summary for all of them
         mSwitchPref.setTitle(R.string.change_nfc_tag_apps_detail_switch);
diff --git a/src/com/android/settings/nfc/NfcForegroundPreferenceController.java b/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
index 611d3fc..b036da2 100644
--- a/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcForegroundPreferenceController.java
@@ -16,6 +16,7 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.permission.flags.Flags;
 
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
@@ -43,7 +44,7 @@
 
     public NfcForegroundPreferenceController(Context context, String key) {
         super(context, key);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mListValues = context.getResources().getStringArray(R.array.nfc_payment_favor_values);
         mListEntries = context.getResources().getStringArray(R.array.nfc_payment_favor);
     }
@@ -68,6 +69,9 @@
 
     @Override
     public int getAvailabilityStatus() {
+        if (Flags.walletRoleEnabled()) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
         final PackageManager pm = mContext.getPackageManager();
         if (!pm.hasSystemFeature(PackageManager.FEATURE_NFC)) {
             return UNSUPPORTED_ON_DEVICE;
diff --git a/src/com/android/settings/nfc/NfcPreferenceController.java b/src/com/android/settings/nfc/NfcPreferenceController.java
index 2ba00c6..4d75004 100644
--- a/src/com/android/settings/nfc/NfcPreferenceController.java
+++ b/src/com/android/settings/nfc/NfcPreferenceController.java
@@ -22,7 +22,8 @@
 import android.net.Uri;
 import android.nfc.NfcAdapter;
 import android.util.Log;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.PreferenceScreen;
 
@@ -33,12 +34,11 @@
 import com.android.settingslib.core.lifecycle.events.OnPause;
 import com.android.settingslib.core.lifecycle.events.OnResume;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.io.IOException;
 
 public class NfcPreferenceController extends TogglePreferenceController
-        implements LifecycleObserver, OnResume, OnPause, OnMainSwitchChangeListener {
+        implements LifecycleObserver, OnResume, OnPause, OnCheckedChangeListener {
 
     public static final String KEY_TOGGLE_NFC = "toggle_nfc";
     private final NfcAdapter mNfcAdapter;
@@ -64,7 +64,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked != mNfcAdapter.isEnabled()) {
             setChecked(isChecked);
         }
diff --git a/src/com/android/settings/nfc/SecureNfcEnabler.java b/src/com/android/settings/nfc/SecureNfcEnabler.java
index ad5c4ab..b02c902 100644
--- a/src/com/android/settings/nfc/SecureNfcEnabler.java
+++ b/src/com/android/settings/nfc/SecureNfcEnabler.java
@@ -20,7 +20,7 @@
 import android.nfc.NfcAdapter;
 import android.os.UserManager;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 
@@ -30,10 +30,10 @@
  * the current state.
  */
 public class SecureNfcEnabler extends BaseNfcEnabler {
-    private final SwitchPreference mPreference;
+    private final TwoStatePreference mPreference;
     private final UserManager mUserManager;
 
-    public SecureNfcEnabler(Context context, SwitchPreference preference) {
+    public SecureNfcEnabler(Context context, TwoStatePreference preference) {
         super(context);
         mPreference = preference;
         mUserManager = context.getSystemService(UserManager.class);
diff --git a/src/com/android/settings/nfc/SecureNfcPreferenceController.java b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
index 460eca3..03eed68 100644
--- a/src/com/android/settings/nfc/SecureNfcPreferenceController.java
+++ b/src/com/android/settings/nfc/SecureNfcPreferenceController.java
@@ -20,7 +20,7 @@
 import android.os.UserManager;
 
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -49,7 +49,7 @@
             return;
         }
 
-        final SwitchPreference switchPreference = screen.findPreference(getPreferenceKey());
+        final TwoStatePreference switchPreference = screen.findPreference(getPreferenceKey());
 
         mSecureNfcEnabler = new SecureNfcEnabler(mContext, switchPreference);
     }
diff --git a/src/com/android/settings/notification/AppBubbleListPreferenceController.java b/src/com/android/settings/notification/AppBubbleListPreferenceController.java
index bf7fcc0..377cb46 100644
--- a/src/com/android/settings/notification/AppBubbleListPreferenceController.java
+++ b/src/com/android/settings/notification/AppBubbleListPreferenceController.java
@@ -21,7 +21,6 @@
 import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
 import static android.app.NotificationManager.BUBBLE_PREFERENCE_SELECTED;
 
-import android.annotation.Nullable;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
 import android.content.Context;
@@ -31,6 +30,7 @@
 import android.view.View;
 import android.widget.ImageView;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
diff --git a/src/com/android/settings/notification/BootSoundPreferenceController.java b/src/com/android/settings/notification/BootSoundPreferenceController.java
index 2e7327d..05bc259 100644
--- a/src/com/android/settings/notification/BootSoundPreferenceController.java
+++ b/src/com/android/settings/notification/BootSoundPreferenceController.java
@@ -22,7 +22,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -43,7 +43,7 @@
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
         if (isAvailable()) {
-            SwitchPreference preference = screen.findPreference(KEY_BOOT_SOUNDS);
+            TwoStatePreference preference = screen.findPreference(KEY_BOOT_SOUNDS);
             preference.setChecked(SystemProperties.getBoolean(PROPERTY_BOOT_SOUNDS, true));
         }
     }
@@ -51,7 +51,7 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (KEY_BOOT_SOUNDS.equals(preference.getKey())) {
-            SwitchPreference switchPreference = (SwitchPreference) preference;
+            TwoStatePreference switchPreference = (TwoStatePreference) preference;
             SystemProperties.set(PROPERTY_BOOT_SOUNDS, switchPreference.isChecked() ? "1" : "0");
         }
         return false;
diff --git a/src/com/android/settings/notification/BubbleHelper.java b/src/com/android/settings/notification/BubbleHelper.java
new file mode 100644
index 0000000..3bde307
--- /dev/null
+++ b/src/com/android/settings/notification/BubbleHelper.java
@@ -0,0 +1,65 @@
+/*
+ * 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.notification;
+
+import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
+
+import android.app.ActivityManager;
+import android.content.Context;
+import android.content.res.Resources;
+import android.provider.Settings;
+
+/**
+ * Helper class for configuring notification bubbles.
+ */
+public class BubbleHelper {
+
+    /**
+     * {@link Settings.Secure.NOTIFICATION_BUBBLES} is enabled.
+     */
+    public static final int SYSTEM_WIDE_ON = 1;
+
+    /**
+     * {@link Settings.Secure.NOTIFICATION_BUBBLES} is disabled.
+     */
+    public static final int SYSTEM_WIDE_OFF = 0;
+
+    /**
+     * Returns true if the device supports bubbles.
+     */
+    public static boolean isSupportedByDevice(Context context) {
+        ActivityManager am = context.getSystemService(ActivityManager.class);
+        if (am.isLowRamDevice()) {
+            return false;
+        }
+        if (!Resources.getSystem().getBoolean(com.android.internal.R.bool.config_supportsBubble)) {
+            return false;
+        }
+        return true;
+    }
+
+    /**
+     * Returns true if the device supports bubbles and the global settings is enabled.
+     */
+    public static boolean isEnabledSystemWide(Context context) {
+        if (!isSupportedByDevice(context)) {
+            return false;
+        }
+        return Settings.Secure.getInt(context.getContentResolver(), NOTIFICATION_BUBBLES,
+                SYSTEM_WIDE_ON) == SYSTEM_WIDE_ON;
+    }
+}
diff --git a/src/com/android/settings/notification/BubbleNotificationPreferenceController.java b/src/com/android/settings/notification/BubbleNotificationPreferenceController.java
index eeb9924..d11e2e9 100644
--- a/src/com/android/settings/notification/BubbleNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/BubbleNotificationPreferenceController.java
@@ -18,7 +18,6 @@
 
 import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
 
-import android.app.ActivityManager;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.database.ContentObserver;
@@ -26,7 +25,6 @@
 import android.os.Handler;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -44,11 +42,6 @@
 
     private static final String TAG = "BubbleNotifPrefContr";
 
-    @VisibleForTesting
-    static final int ON = 1;
-    @VisibleForTesting
-    static final int OFF = 0;
-
     private SettingObserver mSettingObserver;
 
     public BubbleNotificationPreferenceController(Context context, String preferenceKey) {
@@ -79,8 +72,7 @@
 
     @Override
     public int getAvailabilityStatus() {
-        ActivityManager am = mContext.getSystemService(ActivityManager.class);
-        return am.isLowRamDevice() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
+        return BubbleHelper.isSupportedByDevice(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     @Override
@@ -96,14 +88,14 @@
 
     @Override
     public boolean isChecked() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, ON) == ON;
+        return Settings.Global.getInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
+                BubbleHelper.SYSTEM_WIDE_ON) == BubbleHelper.SYSTEM_WIDE_ON;
     }
 
     @Override
     public boolean setChecked(boolean isChecked) {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, isChecked ? ON : OFF);
+        Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES,
+                isChecked ? BubbleHelper.SYSTEM_WIDE_ON : BubbleHelper.SYSTEM_WIDE_OFF);
         return true;
     }
 
diff --git a/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceController.java b/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceController.java
index 3dac732..541e920 100644
--- a/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceController.java
@@ -18,12 +18,9 @@
 
 import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
 
-import android.app.ActivityManager;
 import android.content.Context;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
-
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
@@ -32,9 +29,6 @@
  */
 public class BubbleSummaryNotificationPreferenceController extends BasePreferenceController {
 
-    @VisibleForTesting
-    static final int ON = 1;
-
     public BubbleSummaryNotificationPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
     }
@@ -49,12 +43,11 @@
 
     @Override
     public int getAvailabilityStatus() {
-        ActivityManager am = mContext.getSystemService(ActivityManager.class);
-        return am.isLowRamDevice() ? UNSUPPORTED_ON_DEVICE : AVAILABLE;
+        return BubbleHelper.isSupportedByDevice(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
     }
 
     private boolean areBubblesEnabled() {
         return Settings.Secure.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, ON) == ON;
+                NOTIFICATION_BUBBLES, BubbleHelper.SYSTEM_WIDE_ON) == BubbleHelper.SYSTEM_WIDE_ON;
     }
 }
diff --git a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
index 1ede911..f1857de 100644
--- a/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/LockScreenNotificationPreferenceController.java
@@ -84,7 +84,7 @@
         mWorkSettingKey = workSettingKey;
 
         mProfileUserId = Utils.getManagedProfileId(UserManager.get(context), UserHandle.myUserId());
-        final LockPatternUtils utils = FeatureFactory.getFactory(context)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mSecure = utils.isSecure(UserHandle.myUserId());
@@ -278,7 +278,7 @@
 
     public static int getSummaryResource(Context context) {
         final boolean enabled = getLockscreenNotificationsEnabled(context);
-        final boolean secure = FeatureFactory.getFactory(context)
+        final boolean secure = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context)
                 .isSecure(UserHandle.myUserId());
diff --git a/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java b/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java
index 9ea8c58..3f300c0 100644
--- a/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java
+++ b/src/com/android/settings/notification/NotificationAccessConfirmationActivity.java
@@ -24,7 +24,6 @@
 import static com.android.internal.notification.NotificationAccessConfirmationActivityContract.EXTRA_USER_ID;
 
 import android.Manifest;
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.NotificationManager;
 import android.app.admin.DevicePolicyManager;
@@ -44,6 +43,8 @@
 import android.view.accessibility.AccessibilityEvent;
 import android.widget.Toast;
 
+import androidx.annotation.Nullable;
+
 import com.android.internal.app.AlertActivity;
 import com.android.internal.app.AlertController;
 import com.android.settings.R;
diff --git a/src/com/android/settings/notification/NotificationAccessSettings.java b/src/com/android/settings/notification/NotificationAccessSettings.java
index e2ef0dd..6f16e56 100644
--- a/src/com/android/settings/notification/NotificationAccessSettings.java
+++ b/src/com/android/settings/notification/NotificationAccessSettings.java
@@ -19,7 +19,6 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_APPS_CANNOT_ACCESS_NOTIFICATION_SETTINGS;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATION_LISTENER_BLOCKED;
 
-import android.annotation.Nullable;
 import android.app.NotificationManager;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
@@ -40,6 +39,7 @@
 import android.view.View;
 import android.widget.Toast;
 
+import androidx.annotation.Nullable;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
index 069a6e0..6f246b7 100644
--- a/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
+++ b/src/com/android/settings/notification/NotificationAssistantPreferenceController.java
@@ -18,44 +18,31 @@
 
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.os.UserHandle;
-import android.os.UserManager;
 import android.provider.Settings;
-import android.service.notification.NotificationAssistantService;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
-import com.android.settingslib.PrimarySwitchPreference;
 
 import com.google.common.annotations.VisibleForTesting;
 
-import java.util.List;
-
 public class NotificationAssistantPreferenceController extends TogglePreferenceController {
     private static final String TAG = "NASPreferenceController";
     static final String KEY_NAS = "notification_assistant";
 
-    private final UserManager mUserManager;
-    private final PackageManager mPackageManager;
     private Fragment mFragment;
     private int mUserId = UserHandle.myUserId();
 
     @VisibleForTesting
     protected NotificationBackend mNotificationBackend;
     private ComponentName mDefaultNASComponent;
-    private Intent mNASSettingIntent;
 
     public NotificationAssistantPreferenceController(Context context) {
         super(context, KEY_NAS);
-        mUserManager = UserManager.get(context);
         mNotificationBackend = new NotificationBackend();
-        mPackageManager = context.getPackageManager();
         getDefaultNASIntent();
     }
 
@@ -118,12 +105,6 @@
     @VisibleForTesting
     void getDefaultNASIntent() {
         mDefaultNASComponent = mNotificationBackend.getDefaultNotificationAssistant();
-        if (mDefaultNASComponent != null) {
-            mNASSettingIntent = new Intent(
-                    NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS);
-            mNASSettingIntent.setPackage(mDefaultNASComponent.getPackageName());
-            mNASSettingIntent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        }
     }
 
     @Override
@@ -131,30 +112,11 @@
         return (mFragment != null && mFragment instanceof ConfigureNotificationSettings);
     }
 
-    private boolean isNASSettingActivityAvailable() {
-        final List<ResolveInfo> resolved = mPackageManager.queryIntentActivities(mNASSettingIntent,
-                PackageManager.ResolveInfoFlags.of(PackageManager.MATCH_ALL));
-        return (resolved != null && !resolved.isEmpty());
-    }
-
     @Override
     public void updateState(Preference preference) {
         super.updateState(preference);
         if (mDefaultNASComponent == null) {
             preference.setEnabled(false);
-            ((PrimarySwitchPreference) preference).setSwitchEnabled(false);
-        } else if (isNASSettingActivityAvailable()) {
-            preference.setIntent(mNASSettingIntent);
-        } else {
-            // Cannot find settings activity from the default NAS app
-            preference.setIntent(null);
-            preference.setOnPreferenceClickListener(
-                    preference1 -> {
-                        onPreferenceChange(preference1, !isChecked());
-                        ((PrimarySwitchPreference) preference1).setChecked(isChecked());
-                        return true;
-                    }
-            );
         }
     }
 }
diff --git a/src/com/android/settings/notification/NotificationBackend.java b/src/com/android/settings/notification/NotificationBackend.java
index dfb4a45..8e6019c 100644
--- a/src/com/android/settings/notification/NotificationBackend.java
+++ b/src/com/android/settings/notification/NotificationBackend.java
@@ -272,6 +272,16 @@
         }
     }
 
+    public ParceledListSlice<NotificationChannelGroup> getGroupsWithRecentBlockedFilter(String pkg,
+            int uid) {
+        try {
+            return sINM.getRecentBlockedNotificationChannelGroupsForPackage(pkg, uid);
+        } catch (Exception e) {
+            Log.w(TAG, "Error calling NoMan", e);
+            return ParceledListSlice.emptyList();
+        }
+    }
+
     public ParceledListSlice<ConversationChannelWrapper> getConversations(String pkg, int uid) {
         try {
             return sINM.getConversationsForPackage(pkg, uid);
diff --git a/src/com/android/settings/notification/PoliteNotifVibrateUnlockedToggleController.java b/src/com/android/settings/notification/PoliteNotifVibrateUnlockedToggleController.java
new file mode 100644
index 0000000..dfdd649
--- /dev/null
+++ b/src/com/android/settings/notification/PoliteNotifVibrateUnlockedToggleController.java
@@ -0,0 +1,66 @@
+/*
+ * 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;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import android.content.Context;
+import android.os.Vibrator;
+import android.provider.Settings;
+
+import com.android.server.notification.Flags;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Controls the toggle that determines whether notifications
+ * should only vibrate (no sound) when the device is unlocked.
+ */
+public class PoliteNotifVibrateUnlockedToggleController extends TogglePreferenceController {
+
+    public PoliteNotifVibrateUnlockedToggleController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        // TODO: b/291897570 - remove this when the feature flag is removed!
+        if (!Flags.politeNotifications() || !Flags.vibrateWhileUnlocked()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+        return mContext.getSystemService(Vibrator.class).hasVibrator() ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, OFF) != OFF;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, (isChecked ? ON : OFF));
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_accessibility;
+    }
+}
diff --git a/src/com/android/settings/notification/PoliteNotifWorkProfileToggleController.java b/src/com/android/settings/notification/PoliteNotifWorkProfileToggleController.java
new file mode 100644
index 0000000..99d0a69
--- /dev/null
+++ b/src/com/android/settings/notification/PoliteNotifWorkProfileToggleController.java
@@ -0,0 +1,79 @@
+/*
+ * 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;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.server.notification.Flags;
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Controls the toggle that determines whether notification cooldown
+ * should apply to work profiles.
+ */
+public class PoliteNotifWorkProfileToggleController extends TogglePreferenceController {
+
+    private final int mManagedProfileId;
+
+    public PoliteNotifWorkProfileToggleController(Context context, String preferenceKey) {
+        this(context, preferenceKey, new AudioHelper(context));
+    }
+
+    @VisibleForTesting
+    PoliteNotifWorkProfileToggleController(Context context, String preferenceKey,
+                AudioHelper helper) {
+        super(context, preferenceKey);
+        mManagedProfileId = helper.getManagedProfileId(UserManager.get(mContext));
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        // TODO: b/291897570 - remove this when the feature flag is removed!
+        if (!Flags.politeNotifications()) {
+            return CONDITIONALLY_UNAVAILABLE;
+        }
+
+        return (mManagedProfileId != UserHandle.USER_NULL) ? AVAILABLE : DISABLED_FOR_USER;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.System.getIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON, mManagedProfileId) != OFF;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, (isChecked ? ON : OFF),
+                mManagedProfileId);
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_accessibility;
+    }
+}
diff --git a/src/com/android/settings/notification/PoliteNotificationFilterController.java b/src/com/android/settings/notification/PoliteNotificationFilterController.java
new file mode 100644
index 0000000..8093f55
--- /dev/null
+++ b/src/com/android/settings/notification/PoliteNotificationFilterController.java
@@ -0,0 +1,114 @@
+/*
+ * 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;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import android.content.Context;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+
+import com.android.server.notification.Flags;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.core.PreferenceControllerMixin;
+
+
+/**
+ * Controls whether polite notifications are enabled and apply to all apps or just to conversations.
+ */
+public class PoliteNotificationFilterController extends BasePreferenceController
+        implements PreferenceControllerMixin, Preference.OnPreferenceChangeListener {
+    static final String TAG = "PoliteNotificationFilterController";
+
+    private static final int POLITE_NOTIFICATIONS_ALL = 0;
+    private static final int POLITE_NOTIFICATIONS_CONVERSATIONS = 1;
+    private static final int POLITE_NOTIFICATIONS_DISABLED = 2;
+
+    public PoliteNotificationFilterController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        // TODO: b/291897570 - remove this when the feature flag is removed!
+        return Flags.politeNotifications() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        final ListPreference pref = (ListPreference) preference;
+
+        if (isPoliteNotifDisabled()) {
+            pref.setValue(Integer.toString(POLITE_NOTIFICATIONS_DISABLED));
+        } else if (shouldApplyForAllApps()) {
+            pref.setValue(Integer.toString(POLITE_NOTIFICATIONS_ALL));
+        } else {
+            pref.setValue(Integer.toString(POLITE_NOTIFICATIONS_CONVERSATIONS));
+        }
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        if (isPoliteNotifDisabled()) {
+            return mContext.getString(R.string.notification_polite_disabled_summary);
+        }
+        if (shouldApplyForAllApps()) {
+            return mContext.getString(R.string.notification_polite_all_apps_summary);
+        } else {
+            return mContext.getString(R.string.notification_polite_conversations_summary);
+        }
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object newValue) {
+        final int prefValue = Integer.parseInt((String) newValue);
+        if (prefValue == POLITE_NOTIFICATIONS_ALL) {
+            Settings.System.putInt(mContext.getContentResolver(),
+                    Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON);
+            Settings.System.putInt(mContext.getContentResolver(),
+                    Settings.System.NOTIFICATION_COOLDOWN_ALL, ON);
+        } else if (prefValue == POLITE_NOTIFICATIONS_CONVERSATIONS) {
+            Settings.System.putInt(mContext.getContentResolver(),
+                    Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON);
+            Settings.System.putInt(mContext.getContentResolver(),
+                    Settings.System.NOTIFICATION_COOLDOWN_ALL, OFF);
+        } else if (prefValue == POLITE_NOTIFICATIONS_DISABLED) {
+            Settings.System.putInt(mContext.getContentResolver(),
+                    Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF);
+        } else {
+            Log.e(TAG, "Unexpected preference value: " + prefValue);
+        }
+        refreshSummary(preference);
+        return true;
+    }
+
+    private boolean isPoliteNotifDisabled() {
+        return Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON) == OFF;
+    }
+
+    private boolean shouldApplyForAllApps() {
+        return Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ALL, ON) != OFF;
+    }
+}
diff --git a/src/com/android/settings/notification/PoliteNotificationsPreferenceController.java b/src/com/android/settings/notification/PoliteNotificationsPreferenceController.java
new file mode 100644
index 0000000..e6e0947
--- /dev/null
+++ b/src/com/android/settings/notification/PoliteNotificationsPreferenceController.java
@@ -0,0 +1,39 @@
+/*
+ * 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;
+
+import android.content.Context;
+
+import com.android.server.notification.Flags;
+import com.android.settings.core.BasePreferenceController;
+
+// TODO: b/291897570 - remove controller when the feature flag is removed!
+/**
+ * Controller for polite notifications settings page.
+ */
+public class PoliteNotificationsPreferenceController extends BasePreferenceController {
+
+    public PoliteNotificationsPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return Flags.politeNotifications() ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+}
diff --git a/src/com/android/settings/notification/PoliteNotificationsPreferenceFragment.java b/src/com/android/settings/notification/PoliteNotificationsPreferenceFragment.java
new file mode 100644
index 0000000..449e678
--- /dev/null
+++ b/src/com/android/settings/notification/PoliteNotificationsPreferenceFragment.java
@@ -0,0 +1,50 @@
+/*
+ * 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;
+
+import android.app.settings.SettingsEnums;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+/**
+ * Fragment for polite notifications.
+ */
+@SearchIndexable(forTarget = SearchIndexable.ALL & ~SearchIndexable.ARC)
+public class PoliteNotificationsPreferenceFragment extends DashboardFragment {
+
+    private static final String POLITE_NOTIF_PREFERENCE_KEY = "polite_notifications_pref_dlg";
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_POLITE_NOTIFICATIONS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.polite_notifications_settings;
+    }
+    @Override
+    protected String getLogTag() {
+        return "PoliteNotificationsPreferenceFragment";
+    }
+
+    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new BaseSearchIndexProvider(R.xml.polite_notifications_settings);
+}
diff --git a/src/com/android/settings/notification/RedactNotificationPreferenceController.java b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
index 0b9ad44..4ebf08e 100644
--- a/src/com/android/settings/notification/RedactNotificationPreferenceController.java
+++ b/src/com/android/settings/notification/RedactNotificationPreferenceController.java
@@ -130,7 +130,7 @@
                 ? UserHandle.myUserId() : mProfileUserId;
 
         // hide if lockscreen isn't secure for this user
-        final LockPatternUtils utils = FeatureFactory.getFactory(mContext)
+        final LockPatternUtils utils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(mContext);
         if (!utils.isSecure(userId)) {
diff --git a/src/com/android/settings/notification/RedactionInterstitial.java b/src/com/android/settings/notification/RedactionInterstitial.java
index d6fdaf8..83d5a01 100644
--- a/src/com/android/settings/notification/RedactionInterstitial.java
+++ b/src/com/android/settings/notification/RedactionInterstitial.java
@@ -150,7 +150,7 @@
                             .setText(R.string.app_notifications_dialog_done)
                             .setListener(this::onDoneButtonClicked)
                             .setButtonType(FooterButton.ButtonType.NEXT)
-                            .setTheme(R.style.SudGlifButton_Primary)
+                            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                             .build()
             );
         }
diff --git a/src/com/android/settings/notification/RemoteVolumeGroupController.java b/src/com/android/settings/notification/RemoteVolumeGroupController.java
index 47a12d0..919b6d0 100644
--- a/src/com/android/settings/notification/RemoteVolumeGroupController.java
+++ b/src/com/android/settings/notification/RemoteVolumeGroupController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.notification;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.content.Context;
 import android.content.Intent;
 import android.media.MediaRouter2Manager;
@@ -53,14 +55,16 @@
     @VisibleForTesting
     static final String SWITCHER_PREFIX = "OUTPUT_SWITCHER";
 
+    @Nullable
     private PreferenceCategory mPreferenceCategory;
-    private List<RoutingSessionInfo> mRoutingSessionInfos = new ArrayList<>();
+    private final List<RoutingSessionInfo> mRoutingSessionInfos = new ArrayList<>();
 
     @VisibleForTesting
     LocalMediaManager mLocalMediaManager;
     @VisibleForTesting
     MediaRouter2Manager mRouterManager;
 
+    // Called via reflection from BasePreferenceController#createInstance().
     public RemoteVolumeGroupController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         if (mLocalMediaManager == null) {
@@ -71,6 +75,19 @@
         mRouterManager = MediaRouter2Manager.getInstance(context);
     }
 
+    @VisibleForTesting
+    /* package */ RemoteVolumeGroupController(
+            @NonNull Context context,
+            @NonNull String preferenceKey,
+            @NonNull LocalMediaManager localMediaManager,
+            @NonNull MediaRouter2Manager mediaRouter2Manager) {
+        super(context, preferenceKey);
+        mLocalMediaManager = localMediaManager;
+        mRouterManager = mediaRouter2Manager;
+        mLocalMediaManager.registerCallback(this);
+        mLocalMediaManager.startScan();
+    }
+
     @Override
     public int getAvailabilityStatus() {
         if (mRoutingSessionInfos.isEmpty()) {
@@ -89,11 +106,7 @@
 
     private void initRemoteMediaSession() {
         mRoutingSessionInfos.clear();
-        for (RoutingSessionInfo info : mLocalMediaManager.getActiveMediaSession()) {
-            if (!info.isSystemSession()) {
-                mRoutingSessionInfos.add(info);
-            }
-        }
+        mRoutingSessionInfos.addAll(mLocalMediaManager.getRemoteRoutingSessions());
     }
 
     @Override
@@ -129,15 +142,18 @@
                 seekBarPreference.setProgress(info.getVolume());
                 seekBarPreference.setMin(0);
                 seekBarPreference.setOnPreferenceChangeListener(this);
-                seekBarPreference.setIcon(R.drawable.ic_volume_remote);
+                seekBarPreference.setIcon(com.android.settingslib.R.drawable.ic_volume_remote);
                 seekBarPreference.setEnabled(mLocalMediaManager.shouldEnableVolumeSeekBar(info));
                 mPreferenceCategory.addPreference(seekBarPreference);
             }
 
             Preference switcherPreference = mPreferenceCategory.findPreference(
                     SWITCHER_PREFIX + info.getId());
-            final boolean isMediaOutputDisabled = mLocalMediaManager.shouldDisableMediaOutput(
-                    info.getClientPackageName());
+
+            // TODO: b/291277292 - Remove references to MediaRouter2Manager and implement long-term
+            //  solution in SettingsLib.
+            final boolean isMediaOutputDisabled =
+                    mRouterManager.getTransferableRoutes(info.getClientPackageName()).isEmpty();
             final CharSequence outputTitle = mContext.getString(R.string.media_output_label_title,
                     appName);
             if (switcherPreference != null) {
diff --git a/src/com/android/settings/notification/SoundSettings.java b/src/com/android/settings/notification/SoundSettings.java
index b0d5d2a..4575708 100644
--- a/src/com/android/settings/notification/SoundSettings.java
+++ b/src/com/android/settings/notification/SoundSettings.java
@@ -40,11 +40,11 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.sound.HandsFreeProfileOutputPreferenceController;
 import com.android.settings.widget.PreferenceCategoryController;
+import com.android.settings.widget.UpdatableListPreferenceDialogFragment;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.instrumentation.Instrumentable;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.UpdatableListPreferenceDialogFragment;
 
 import java.util.ArrayList;
 import java.util.Arrays;
diff --git a/src/com/android/settings/notification/VolumeSeekBarPreference.java b/src/com/android/settings/notification/VolumeSeekBarPreference.java
index 9f14b73..2156c05 100644
--- a/src/com/android/settings/notification/VolumeSeekBarPreference.java
+++ b/src/com/android/settings/notification/VolumeSeekBarPreference.java
@@ -140,6 +140,11 @@
 
     protected void init() {
         if (mSeekBar == null) return;
+        // It's unnecessary to set up relevant volumizer configuration if preference is disabled.
+        if (!isEnabled()) {
+            mSeekBar.setEnabled(false);
+            return;
+        }
         final SeekBarVolumizer.Callback sbvc = new SeekBarVolumizer.Callback() {
             @Override
             public void onSampleStarting(SeekBarVolumizer sbv) {
@@ -189,10 +194,6 @@
         if (mListener != null) {
             mListener.onUpdateMuteState();
         }
-        if (!isEnabled()) {
-            mSeekBar.setEnabled(false);
-            mVolumizer.stop();
-        }
     }
 
     protected void updateIconView() {
diff --git a/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java b/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java
index 40bae5d..200a47b 100644
--- a/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java
+++ b/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceController.java
@@ -33,19 +33,24 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.flags.Flags;
 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.HashMap;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Map;
+import java.util.Set;
 
 /**
  * Populates the PreferenceCategory with notification channels associated with the given app.
@@ -61,6 +66,9 @@
     private RestrictedSwitchPreference mAllNotificationsToggle;
     private PreferenceCategory mPreferenceCategory;
     private List<NotificationChannel> mChannels = new ArrayList<>();
+    private Set<String> mDuplicateChannelNames = new HashSet<>();
+    private Map<NotificationChannel, String> mChannelGroupNames =
+            new HashMap<NotificationChannel, String>();
 
     public AppChannelsBypassingDndPreferenceController(
             Context context,
@@ -81,7 +89,7 @@
                 new Preference.OnPreferenceClickListener() {
                     @Override
                     public boolean onPreferenceClick(Preference pref) {
-                        SwitchPreference preference = (SwitchPreference) pref;
+                        TwoStatePreference preference = (TwoStatePreference) pref;
                         final boolean bypassDnd = preference.isChecked();
                         for (NotificationChannel channel : mChannels) {
                             if (showNotification(channel) && isChannelConfigurable(channel)) {
@@ -135,10 +143,20 @@
                 List<NotificationChannel> newChannelList = new ArrayList<>();
                 List<NotificationChannelGroup> mChannelGroupList = mBackend.getGroups(mAppRow.pkg,
                         mAppRow.uid).getList();
+                Set<String> allChannelNames = new HashSet<>();
                 for (NotificationChannelGroup channelGroup : mChannelGroupList) {
                     for (NotificationChannel channel : channelGroup.getChannels()) {
                         if (!isConversation(channel)) {
                             newChannelList.add(channel);
+                            if (Flags.dedupeDndSettingsChannels()) {
+                                mChannelGroupNames.put(channel, channelGroup.getName().toString());
+                                // Check if channel name is unique on this page; if not, save it.
+                                if (allChannelNames.contains(channel.getName())) {
+                                    mDuplicateChannelNames.add(channel.getName().toString());
+                                } else {
+                                    allChannelNames.add(channel.getName().toString());
+                                }
+                            }
                         }
                     }
                 }
@@ -172,6 +190,17 @@
                             && isChannelConfigurable(channel)
                             && showNotification(channel));
             channelPreference.setTitle(BidiFormatter.getInstance().unicodeWrap(channel.getName()));
+            if (Flags.dedupeDndSettingsChannels()) {
+                // If the channel shares its name with another channel, set group name as summary
+                // to disambiguate in the list.
+                if (mDuplicateChannelNames.contains(channel.getName().toString())
+                        && mChannelGroupNames.containsKey(channel)
+                        && mChannelGroupNames.get(channel) != null
+                        && !mChannelGroupNames.get(channel).isEmpty()) {
+                    channelPreference.setSummary(BidiFormatter.getInstance().unicodeWrap(
+                            mChannelGroupNames.get(channel)));
+                }
+            }
             channelPreference.setChecked(showNotificationInDnd(channel));
             channelPreference.setOnPreferenceChangeListener(
                     new Preference.OnPreferenceChangeListener() {
diff --git a/src/com/android/settings/notification/app/AppNotificationSettings.java b/src/com/android/settings/notification/app/AppNotificationSettings.java
index ee9ec45..89756b7 100644
--- a/src/com/android/settings/notification/app/AppNotificationSettings.java
+++ b/src/com/android/settings/notification/app/AppNotificationSettings.java
@@ -16,10 +16,16 @@
 
 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;
@@ -33,6 +39,8 @@
     private static final String TAG = "AppNotificationSettings";
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
+    boolean mShowAll = false;
+
     @Override
     public int getMetricsCategory() {
         return SettingsEnums.NOTIFICATION_APP_NOTIFICATION;
@@ -101,4 +109,36 @@
         mControllers.add(new DeletedChannelsPreferenceController(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/BlockPreferenceController.java b/src/com/android/settings/notification/app/BlockPreferenceController.java
index f4e2132..a3d0a73 100644
--- a/src/com/android/settings/notification/app/BlockPreferenceController.java
+++ b/src/com/android/settings/notification/app/BlockPreferenceController.java
@@ -23,7 +23,8 @@
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.Preference;
 
@@ -31,10 +32,9 @@
 import com.android.settings.core.PreferenceControllerMixin;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 public class BlockPreferenceController extends NotificationPreferenceController
-        implements PreferenceControllerMixin, OnMainSwitchChangeListener {
+        implements PreferenceControllerMixin, OnCheckedChangeListener {
 
     private static final String KEY_BLOCK = "block";
     private NotificationSettings.DependentFieldListener mDependentFieldListener;
@@ -104,7 +104,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         boolean blocked = !isChecked;
         if (mChannel != null) {
             final int originalImportance = mChannel.getImportance();
diff --git a/src/com/android/settings/notification/app/BubbleCategoryPreferenceController.java b/src/com/android/settings/notification/app/BubbleCategoryPreferenceController.java
index ad3a10c..37baf8b 100644
--- a/src/com/android/settings/notification/app/BubbleCategoryPreferenceController.java
+++ b/src/com/android/settings/notification/app/BubbleCategoryPreferenceController.java
@@ -16,20 +16,17 @@
 
 package com.android.settings.notification.app;
 
-import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
-
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
+import com.android.settings.notification.BubbleHelper;
+
 public class BubbleCategoryPreferenceController extends NotificationPreferenceController {
 
     private static final String KEY = "bubbles";
-    @VisibleForTesting
-    static final int ON = 1;
 
     public BubbleCategoryPreferenceController(Context context) {
         super(context, null);
@@ -40,7 +37,7 @@
         if (!super.isAvailable()) {
             return false;
         }
-        return areBubblesEnabled();
+        return BubbleHelper.isEnabledSystemWide(mContext);
     }
 
     @Override
@@ -64,10 +61,4 @@
             preference.setIntent(intent);
         }
     }
-
-
-    private boolean areBubblesEnabled() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, ON) == ON;
-    }
 }
diff --git a/src/com/android/settings/notification/app/BubbleLinkPreferenceController.java b/src/com/android/settings/notification/app/BubbleLinkPreferenceController.java
index 0b9529b..fcabe9b 100644
--- a/src/com/android/settings/notification/app/BubbleLinkPreferenceController.java
+++ b/src/com/android/settings/notification/app/BubbleLinkPreferenceController.java
@@ -16,20 +16,17 @@
 
 package com.android.settings.notification.app;
 
-import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
-
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
+import com.android.settings.notification.BubbleHelper;
+
 public class BubbleLinkPreferenceController extends NotificationPreferenceController {
 
     private static final String KEY = "notification_bubbles";
-    @VisibleForTesting
-    static final int ON = 1;
 
     public BubbleLinkPreferenceController(Context context) {
         super(context, null);
@@ -40,7 +37,7 @@
         if (!super.isAvailable()) {
             return false;
         }
-        return areBubblesEnabled();
+        return BubbleHelper.isEnabledSystemWide(mContext);
     }
 
     @Override
@@ -64,10 +61,4 @@
             preference.setIntent(intent);
         }
     }
-
-
-    private boolean areBubblesEnabled() {
-        return Settings.Secure.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, ON) == ON;
-    }
 }
diff --git a/src/com/android/settings/notification/app/BubblePreferenceController.java b/src/com/android/settings/notification/app/BubblePreferenceController.java
index 351b463..3bbb059 100644
--- a/src/com/android/settings/notification/app/BubblePreferenceController.java
+++ b/src/com/android/settings/notification/app/BubblePreferenceController.java
@@ -19,17 +19,16 @@
 import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
 import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
 
-import android.annotation.Nullable;
-import android.app.ActivityManager;
 import android.app.NotificationChannel;
 import android.content.Context;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
+import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 
 import com.android.settings.core.PreferenceControllerMixin;
+import com.android.settings.notification.BubbleHelper;
 import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.RestrictedSwitchPreference;
 
@@ -42,10 +41,6 @@
 
     private static final String TAG = "BubblePrefContr";
     private static final String KEY = "bubble_pref";
-    @VisibleForTesting
-    static final int SYSTEM_WIDE_ON = 1;
-    @VisibleForTesting
-    static final int SYSTEM_WIDE_OFF = 0;
 
     private FragmentManager mFragmentManager;
     private boolean mIsAppPage;
@@ -146,9 +141,7 @@
     }
 
     private boolean isEnabled() {
-        ActivityManager am = mContext.getSystemService(ActivityManager.class);
-        return !am.isLowRamDevice() && Settings.Secure.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, SYSTEM_WIDE_OFF) == SYSTEM_WIDE_ON;
+        return BubbleHelper.isEnabledSystemWide(mContext);
     }
 
     /**
@@ -163,7 +156,7 @@
         // correct preference state
         Settings.Secure.putInt(context.getContentResolver(),
                 NOTIFICATION_BUBBLES,
-                SYSTEM_WIDE_OFF);
+                BubbleHelper.SYSTEM_WIDE_OFF);
     }
 
     /**
@@ -176,6 +169,6 @@
         // correct preference state
         Settings.Secure.putInt(context.getContentResolver(),
                 NOTIFICATION_BUBBLES,
-                SYSTEM_WIDE_ON);
+                BubbleHelper.SYSTEM_WIDE_ON);
     }
 }
diff --git a/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java b/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java
index 51370b1..888bd25 100644
--- a/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java
+++ b/src/com/android/settings/notification/app/BubbleSummaryPreferenceController.java
@@ -18,18 +18,16 @@
 
 import static android.app.NotificationManager.BUBBLE_PREFERENCE_ALL;
 import static android.app.NotificationManager.BUBBLE_PREFERENCE_NONE;
-import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
 
-import android.app.ActivityManager;
 import android.content.Context;
 import android.content.Intent;
 import android.content.res.Resources;
 import android.provider.Settings;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
+import com.android.settings.notification.BubbleHelper;
 import com.android.settings.notification.NotificationBackend;
 
 /**
@@ -38,9 +36,6 @@
 public class BubbleSummaryPreferenceController extends NotificationPreferenceController {
     private static final String KEY = "bubble_pref_link";
 
-    @VisibleForTesting
-    static final int ON = 1;
-
     public BubbleSummaryPreferenceController(Context context, NotificationBackend backend) {
         super(context, backend);
     }
@@ -105,8 +100,6 @@
     }
 
     private boolean isGloballyEnabled() {
-        ActivityManager am = mContext.getSystemService(ActivityManager.class);
-        return !am.isLowRamDevice() && Settings.Secure.getInt(mContext.getContentResolver(),
-                NOTIFICATION_BUBBLES, ON) == ON;
+        return BubbleHelper.isEnabledSystemWide(mContext);
     }
 }
diff --git a/src/com/android/settings/notification/app/ChannelListPreferenceController.java b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
index 61ee024..7077592 100644
--- a/src/com/android/settings/notification/app/ChannelListPreferenceController.java
+++ b/src/com/android/settings/notification/app/ChannelListPreferenceController.java
@@ -18,6 +18,7 @@
 
 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;
@@ -34,7 +35,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceGroup;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
@@ -58,6 +59,8 @@
     private List<NotificationChannelGroup> mChannelGroupList;
     private PreferenceCategory mPreference;
 
+    private boolean mShowAll;
+
     public ChannelListPreferenceController(Context context, NotificationBackend backend) {
         super(context, backend);
     }
@@ -96,7 +99,16 @@
         new AsyncTask<Void, Void, Void>() {
             @Override
             protected Void doInBackground(Void... unused) {
-                mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
+                if (notificationHideUnusedChannels()) {
+                    if (mShowAll) {
+                        mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
+                    } else {
+                        mChannelGroupList = mBackend.getGroupsWithRecentBlockedFilter(mAppRow.pkg,
+                                mAppRow.uid).getList();
+                    }
+                } else {
+                    mChannelGroupList = mBackend.getGroups(mAppRow.pkg, mAppRow.uid).getList();
+                }
                 Collections.sort(mChannelGroupList, CHANNEL_GROUP_COMPARATOR);
                 return null;
             }
@@ -111,6 +123,10 @@
         }.execute();
     }
 
+    protected void setShowAll(boolean showAll) {
+        mShowAll = showAll;
+    }
+
     /**
      * Update the preferences group to match the
      * @param groupPrefsList
@@ -313,7 +329,7 @@
                 && isChannelGroupBlockable(group));
         preference.setChecked(!group.isBlocked());
         preference.setOnPreferenceClickListener(preference1 -> {
-            final boolean allowGroup = ((SwitchPreference) preference1).isChecked();
+            final boolean allowGroup = ((TwoStatePreference) preference1).isChecked();
             group.setBlocked(!allowGroup);
             mBackend.updateChannelGroup(mAppRow.pkg, mAppRow.uid, group);
 
diff --git a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
index 43b50c8..2b2184e 100644
--- a/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
+++ b/src/com/android/settings/notification/app/ConversationHeaderPreferenceController.java
@@ -89,8 +89,7 @@
                     .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
                             EntityHeaderController.ActionType.ACTION_NONE)
                     .setHasAppInfoLink(true)
-                    .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
-                    .done(activity, mContext);
+                    .done(mContext);
 
             pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
             pref.findViewById(R.id.entity_header).setBackground(null);
diff --git a/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt b/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
index ec99749..4349b4c 100644
--- a/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
+++ b/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceController.kt
@@ -21,6 +21,7 @@
 import android.app.AppOpsManager.OP_USE_FULL_SCREEN_INTENT
 import android.content.AttributionSource
 import android.content.Context
+import android.content.pm.PackageManager.NameNotFoundException
 import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET
 import android.content.pm.PackageManager.GET_PERMISSIONS
 import android.os.UserHandle
@@ -79,12 +80,16 @@
     }
 
     private fun isPermissionRequested(): Boolean {
-        val packageInfo = packageManager.getPackageInfo(packageName, GET_PERMISSIONS)
+        try {
+            val packageInfo = packageManager.getPackageInfo(packageName, GET_PERMISSIONS)
 
-        for (requestedPermission in packageInfo.requestedPermissions) {
-            if (USE_FULL_SCREEN_INTENT.equals(requestedPermission)) {
-                return true
+            for (requestedPermission in packageInfo.requestedPermissions.orEmpty()) {
+                if (USE_FULL_SCREEN_INTENT.equals(requestedPermission)) {
+                    return true
+                }
             }
+        } catch (exception: NameNotFoundException) {
+            Log.e(TAG, "isPermissionRequested failed: $exception")
         }
 
         return false
@@ -115,4 +120,4 @@
         const val KEY_FSI_PERMISSION = "fsi_permission"
         const val TAG = "FsiPermPrefController"
     }
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/notification/app/HeaderPreferenceController.java b/src/com/android/settings/notification/app/HeaderPreferenceController.java
index 7379d55..220e7b5 100644
--- a/src/com/android/settings/notification/app/HeaderPreferenceController.java
+++ b/src/com/android/settings/notification/app/HeaderPreferenceController.java
@@ -25,7 +25,6 @@
 import android.text.TextUtils;
 import android.view.View;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.lifecycle.LifecycleObserver;
 import androidx.lifecycle.OnLifecycleEvent;
 import androidx.preference.Preference;
@@ -90,8 +89,7 @@
                     .setButtonActions(EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
                             EntityHeaderController.ActionType.ACTION_NONE)
                     .setHasAppInfoLink(true)
-                    .setRecyclerView(mFragment.getListView(), mFragment.getSettingsLifecycle())
-                    .done(activity, mContext);
+                    .done(mContext);
             pref.findViewById(R.id.entity_header).setVisibility(View.VISIBLE);
             pref.findViewById(R.id.entity_header).setBackground(null);
         }
diff --git a/src/com/android/settings/notification/app/InvalidConversationInfoPreferenceController.java b/src/com/android/settings/notification/app/InvalidConversationInfoPreferenceController.java
index b937e80..478607b 100644
--- a/src/com/android/settings/notification/app/InvalidConversationInfoPreferenceController.java
+++ b/src/com/android/settings/notification/app/InvalidConversationInfoPreferenceController.java
@@ -20,7 +20,6 @@
 import android.content.Context;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.notification.NotificationBackend;
diff --git a/src/com/android/settings/notification/app/NotificationPreferenceController.java b/src/com/android/settings/notification/app/NotificationPreferenceController.java
index fb19d9d..ef4bab9 100644
--- a/src/com/android/settings/notification/app/NotificationPreferenceController.java
+++ b/src/com/android/settings/notification/app/NotificationPreferenceController.java
@@ -17,21 +17,18 @@
 package com.android.settings.notification.app;
 
 import static android.app.NotificationManager.IMPORTANCE_NONE;
-import static android.os.UserHandle.USER_SYSTEM;
 
-import android.annotation.Nullable;
 import android.app.NotificationChannel;
 import android.app.NotificationChannelGroup;
 import android.app.NotificationManager;
 import android.content.Context;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ShortcutInfo;
 import android.graphics.drawable.Drawable;
 import android.os.UserManager;
-import android.provider.Settings;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 
 import com.android.settings.notification.NotificationBackend;
diff --git a/src/com/android/settings/notification/app/RecentConversationPreference.java b/src/com/android/settings/notification/app/RecentConversationPreference.java
index 167fdd6..b60810a 100644
--- a/src/com/android/settings/notification/app/RecentConversationPreference.java
+++ b/src/com/android/settings/notification/app/RecentConversationPreference.java
@@ -28,7 +28,7 @@
 public class RecentConversationPreference extends TwoTargetPreference {
 
     private OnClearClickListener mOnClearClickListener;
-
+    private final Context mContext;
     private View mClearView;
 
     public interface OnClearClickListener {
@@ -37,6 +37,7 @@
 
     public RecentConversationPreference(Context context) {
         super(context);
+        mContext = context;
     }
 
     public void setOnClearClickListener(
@@ -70,6 +71,9 @@
         final View widgetFrame = view.findViewById(android.R.id.widget_frame);
         widgetFrame.setVisibility(mOnClearClickListener != null ? View.VISIBLE : View.GONE);
         mClearView = view.findViewById(getClearId());
+        mClearView.setContentDescription(
+                mContext.getString(R.string.clear_conversation, getTitle()));
+
         mClearView.setOnClickListener(v -> {
             if (mOnClearClickListener != null) {
                 mOnClearClickListener.onClear();
diff --git a/src/com/android/settings/notification/history/NotificationHistoryActivity.java b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
index 4808773..156df96 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryActivity.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryActivity.java
@@ -47,6 +47,7 @@
 import android.view.View;
 import android.view.ViewGroup;
 import android.view.ViewOutlineProvider;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.ImageView;
 import android.widget.TextView;
 
@@ -64,7 +65,6 @@
 import com.android.settingslib.utils.StringUtil;
 import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.widget.MainSwitchBar;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -355,7 +355,7 @@
         mHistoryEmpty.setVisibility(View.GONE);
     }
 
-    private final OnMainSwitchChangeListener mOnSwitchClickListener =
+    private final OnCheckedChangeListener mOnSwitchClickListener =
             (switchView, isChecked) -> {
                 int oldState = 0;
                 try {
@@ -365,10 +365,8 @@
                 }
                 final int newState = isChecked ? 1 : 0;
                 if (oldState != newState) {
-                    for (int user : mUm.getProfileIds(ActivityManager.getCurrentUser(), false)) {
-                        Settings.Secure.putIntForUser(getContentResolver(),
-                                NOTIFICATION_HISTORY_ENABLED, newState, user);
-                    }
+                    Settings.Secure.putInt(
+                            getContentResolver(), NOTIFICATION_HISTORY_ENABLED, newState);
                     mUiEventLogger.log(isChecked ? NotificationHistoryEvent.NOTIFICATION_HISTORY_ON
                             : NotificationHistoryEvent.NOTIFICATION_HISTORY_OFF);
                     Log.d(TAG, "onSwitchChange history to " + isChecked);
diff --git a/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java b/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
index 224c31d..5923a4e 100644
--- a/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
+++ b/src/com/android/settings/notification/history/NotificationHistoryRecyclerView.java
@@ -2,13 +2,13 @@
 
 import static android.view.HapticFeedbackConstants.CLOCK_TICK;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.graphics.Canvas;
 import android.util.AttributeSet;
 import android.view.View;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.recyclerview.widget.DividerItemDecoration;
 import androidx.recyclerview.widget.ItemTouchHelper;
 import androidx.recyclerview.widget.LinearLayoutManager;
diff --git a/src/com/android/settings/notification/history/NotificationSbnAdapter.java b/src/com/android/settings/notification/history/NotificationSbnAdapter.java
index 1d61ae7..c556b55 100644
--- a/src/com/android/settings/notification/history/NotificationSbnAdapter.java
+++ b/src/com/android/settings/notification/history/NotificationSbnAdapter.java
@@ -120,7 +120,7 @@
             holder.setDividerVisible(position < (mValues.size() -1));
             int userId = normalizeUserId(sbn);
             if (!mUserBadgeCache.containsKey(userId)) {
-                Drawable profile = mContext.getPackageManager().getUserBadgeForDensity(
+                Drawable profile = mContext.getPackageManager().getUserBadgeForDensityNoBackground(
                         UserHandle.of(userId), 0);
                 mUserBadgeCache.put(userId, profile);
             }
diff --git a/src/com/android/settings/notification/history/NotificationSbnViewHolder.java b/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
index 1a703eb..df8aec4 100644
--- a/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
+++ b/src/com/android/settings/notification/history/NotificationSbnViewHolder.java
@@ -16,6 +16,9 @@
 
 package com.android.settings.notification.history;
 
+import static android.app.ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED;
+
+import android.app.ActivityOptions;
 import android.app.PendingIntent;
 import android.content.ActivityNotFoundException;
 import android.content.Intent;
@@ -110,7 +113,10 @@
                         uid, pkg, instanceId, position);
                 if (pi != null && isPendingIntentValid) {
                     try {
-                        pi.send();
+                        ActivityOptions options = ActivityOptions.makeBasic();
+                        options.setPendingIntentBackgroundActivityStartMode(
+                                MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
+                        pi.send(options.toBundle());
                     } catch (PendingIntent.CanceledException e) {
                         Slog.e(TAG, "Could not launch", e);
                     }
diff --git a/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java b/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
index 02e4015..038196f 100644
--- a/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
+++ b/src/com/android/settings/notification/zen/AbstractZenModePreferenceController.java
@@ -68,7 +68,7 @@
         mNotificationManager = (NotificationManager) context.getSystemService(
                 Context.NOTIFICATION_SERVICE);
 
-        final FeatureFactory featureFactory = FeatureFactory.getFactory(mContext);
+        final FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = featureFactory.getMetricsFeatureProvider();
         mBackend = ZenModeBackend.getInstance(context);
     }
diff --git a/src/com/android/settings/notification/zen/ZenAccessSettings.java b/src/com/android/settings/notification/zen/ZenAccessSettings.java
index aac6954..f765d6d 100644
--- a/src/com/android/settings/notification/zen/ZenAccessSettings.java
+++ b/src/com/android/settings/notification/zen/ZenAccessSettings.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.notification.zen;
 
-import android.annotation.Nullable;
 import android.app.NotificationManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
@@ -30,6 +29,7 @@
 import android.util.Log;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
@@ -39,8 +39,8 @@
 import com.android.settings.applications.specialaccess.zenaccess.ZenAccessSettingObserverMixin;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.EmptyTextSettings;
+import com.android.settings.widget.RestrictedAppPreference;
 import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.widget.AppPreference;
 
 import java.util.ArrayList;
 import java.util.Collections;
@@ -122,7 +122,7 @@
         for (ApplicationInfo app : apps) {
             final String pkg = app.packageName;
             final CharSequence label = app.loadLabel(mPkgMan);
-            final AppPreference pref = new AppPreference(getPrefContext());
+            final RestrictedAppPreference pref = new RestrictedAppPreference(getPrefContext());
             pref.setKey(pkg);
             pref.setIcon(app.loadIcon(mPkgMan));
             pref.setTitle(label);
@@ -133,6 +133,8 @@
             } else {
                 // Not auto approved, update summary according to notification backend.
                 pref.setSummary(getPreferenceSummary(pkg));
+                pref.checkEcmRestrictionAndSetDisabled(
+                        android.Manifest.permission.MANAGE_NOTIFICATIONS, app.packageName);
             }
             pref.setOnPreferenceClickListener(preference -> {
                 AppInfoBase.startAppInfoFragment(
diff --git a/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java b/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java
index a0c33df..95823fe 100644
--- a/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenAutomaticRuleHeaderPreferenceController.java
@@ -76,7 +76,7 @@
 
         mController.setIcon(getIcon())
                 .setLabel(mRule.getName())
-                .done(mFragment.getActivity(), false /* rebindActions */);
+                .done(false /* rebindActions */);
     }
 
     private Drawable getIcon() {
diff --git a/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java b/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
index fa36dde..4d2a6a5 100644
--- a/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenAutomaticRuleSwitchPreferenceController.java
@@ -18,7 +18,8 @@
 
 import android.app.AutomaticZenRule;
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
@@ -27,11 +28,10 @@
 import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 public class ZenAutomaticRuleSwitchPreferenceController extends
         AbstractZenModeAutomaticRulePreferenceController implements
-        OnMainSwitchChangeListener {
+        OnCheckedChangeListener {
 
     private static final String KEY = "zen_automatic_rule_switch";
     private AutomaticZenRule mRule;
@@ -86,7 +86,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         final boolean enabled = isChecked;
         if (enabled == mRule.isEnabled()) return;
         mRule.setEnabled(enabled);
diff --git a/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java
index 3d2a1b7..85c3569 100644
--- a/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeAlarmsPreferenceController.java
@@ -23,7 +23,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -51,7 +51,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         switch (getZenMode()) {
             case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
                 pref.setEnabled(false);
diff --git a/src/com/android/settings/notification/zen/ZenModeBackend.java b/src/com/android/settings/notification/zen/ZenModeBackend.java
index 1079865..c290c83 100644
--- a/src/com/android/settings/notification/zen/ZenModeBackend.java
+++ b/src/com/android/settings/notification/zen/ZenModeBackend.java
@@ -56,7 +56,6 @@
     @VisibleForTesting
     protected static final String ZEN_MODE_FROM_NONE = "zen_mode_from_none";
     protected static final int SOURCE_NONE = -1;
-    private static List<String> mDefaultRuleIds;
 
     private static ZenModeBackend sInstance;
 
@@ -65,7 +64,7 @@
     protected NotificationManager.Policy mPolicy;
     private final NotificationManager mNotificationManager;
 
-    private String TAG = "ZenModeSettingsBackend";
+    private static final String TAG = "ZenModeSettingsBackend";
     private final Context mContext;
 
     public static ZenModeBackend getInstance(Context context) {
@@ -95,19 +94,32 @@
     }
 
     protected boolean updateZenRule(String id, AutomaticZenRule rule) {
-        return NotificationManager.from(mContext).updateAutomaticZenRule(id, rule);
+        if (android.app.Flags.modesApi()) {
+            return mNotificationManager.updateAutomaticZenRule(id, rule, /* fromUser= */ true);
+        } else {
+            return NotificationManager.from(mContext).updateAutomaticZenRule(id, rule);
+        }
     }
 
     protected void setZenMode(int zenMode) {
-        NotificationManager.from(mContext).setZenMode(zenMode, null, TAG);
+        if (android.app.Flags.modesApi()) {
+            mNotificationManager.setZenMode(zenMode, null, TAG, /* fromUser= */ true);
+        } else {
+            NotificationManager.from(mContext).setZenMode(zenMode, null, TAG);
+        }
         mZenMode = getZenMode();
     }
 
     protected void setZenModeForDuration(int minutes) {
         Uri conditionId = ZenModeConfig.toTimeCondition(mContext, minutes,
                 ActivityManager.getCurrentUser(), true).id;
-        mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
-                conditionId, TAG);
+        if (android.app.Flags.modesApi()) {
+            mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
+                        conditionId, TAG, /* fromUser= */ true);
+        } else {
+            mNotificationManager.setZenMode(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS,
+                    conditionId, TAG);
+        }
         mZenMode = getZenMode();
     }
 
@@ -180,7 +192,11 @@
             int priorityConversationSenders) {
         mPolicy = new NotificationManager.Policy(priorityCategories, priorityCallSenders,
                 priorityMessageSenders, suppressedVisualEffects, priorityConversationSenders);
-        mNotificationManager.setNotificationPolicy(mPolicy);
+        if (android.app.Flags.modesApi()) {
+            mNotificationManager.setNotificationPolicy(mPolicy, /* fromUser= */ true);
+        } else {
+            mNotificationManager.setNotificationPolicy(mPolicy);
+        }
     }
 
 
@@ -357,7 +373,11 @@
     }
 
     public boolean removeZenRule(String ruleId) {
-        return NotificationManager.from(mContext).removeAutomaticZenRule(ruleId);
+        if (android.app.Flags.modesApi()) {
+            return mNotificationManager.removeAutomaticZenRule(ruleId, /* fromUser= */ true);
+        } else {
+            return NotificationManager.from(mContext).removeAutomaticZenRule(ruleId);
+        }
     }
 
     public NotificationManager.Policy getConsolidatedPolicy() {
@@ -366,7 +386,11 @@
 
     protected String addZenRule(AutomaticZenRule rule) {
         try {
-            return NotificationManager.from(mContext).addAutomaticZenRule(rule);
+            if (android.app.Flags.modesApi()) {
+                return mNotificationManager.addAutomaticZenRule(rule, /* fromUser= */ true);
+            } else {
+                return NotificationManager.from(mContext).addAutomaticZenRule(rule);
+            }
         } catch (Exception e) {
             return null;
         }
@@ -429,10 +453,7 @@
     }
 
     private static List<String> getDefaultRuleIds() {
-        if (mDefaultRuleIds == null) {
-            mDefaultRuleIds = ZenModeConfig.DEFAULT_RULE_IDS;
-        }
-        return mDefaultRuleIds;
+        return ZenModeConfig.DEFAULT_RULE_IDS;
     }
 
     NotificationManager.Policy toNotificationPolicy(ZenPolicy policy) {
diff --git a/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java
index 080c31f..4716d76 100644
--- a/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeEventsPreferenceController.java
@@ -23,7 +23,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -50,7 +50,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         switch (getZenMode()) {
             case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
             case Settings.Global.ZEN_MODE_ALARMS:
diff --git a/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java
index 51bceb1..f02ff75 100644
--- a/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeMediaPreferenceController.java
@@ -22,7 +22,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -51,7 +51,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         switch (getZenMode()) {
             case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
                 pref.setEnabled(false);
diff --git a/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java
index fede486..f348e16 100644
--- a/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeRemindersPreferenceController.java
@@ -23,7 +23,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -50,7 +50,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         switch (getZenMode()) {
             case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
             case Settings.Global.ZEN_MODE_ALARMS:
diff --git a/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java
index c015ed6..7876912 100644
--- a/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeRepeatCallersPreferenceController.java
@@ -24,7 +24,7 @@
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -65,7 +65,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         switch (getZenMode()) {
             case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
             case Settings.Global.ZEN_MODE_ALARMS:
diff --git a/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java b/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java
index cda5b1a..ff217b5 100644
--- a/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java
+++ b/src/com/android/settings/notification/zen/ZenModeRuleSettingsBase.java
@@ -19,7 +19,9 @@
 import static android.app.NotificationManager.EXTRA_AUTOMATIC_RULE_ID;
 
 import android.app.AutomaticZenRule;
+import android.app.Flags;
 import android.app.NotificationManager;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
@@ -100,10 +102,21 @@
                     public boolean onPreferenceClick(Preference preference) {
                         Bundle bundle = new Bundle();
                         bundle.putString(ZenCustomRuleSettings.RULE_ID, mId);
+
+                        // When modes_api flag is on, we skip the radio button screen distinguishing
+                        // between "default" and "custom" and take users directly to the custom
+                        // settings screen.
+                        String destination = ZenCustomRuleSettings.class.getName();
+                        int sourceMetricsCategory = 0;
+                        if (Flags.modesApi()) {
+                            // From ZenRuleCustomPolicyPreferenceController#launchCustomSettings
+                            destination = ZenCustomRuleConfigSettings.class.getName();
+                            sourceMetricsCategory = SettingsEnums.ZEN_CUSTOM_RULE_SOUND_SETTINGS;
+                        }
                         new SubSettingLauncher(mContext)
-                                .setDestination(ZenCustomRuleSettings.class.getName())
+                                .setDestination(destination)
                                 .setArguments(bundle)
-                                .setSourceMetricsCategory(0) // TODO
+                                .setSourceMetricsCategory(sourceMetricsCategory)
                                 .launch();
                         return true;
                     }
diff --git a/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java b/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java
index 0e4f338..577416d 100644
--- a/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java
+++ b/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettings.java
@@ -31,12 +31,13 @@
 import android.util.Log;
 import android.widget.TimePicker;
 
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
@@ -60,7 +61,8 @@
     private Preference mDays;
     private TimePickerPreference mStart;
     private TimePickerPreference mEnd;
-    private SwitchPreference mExitAtAlarm;
+    @Nullable
+    private TwoStatePreference mExitAtAlarm = null;
     private AlertDialog mDayDialog;
     private ScheduleInfo mSchedule;
 
@@ -135,7 +137,7 @@
         root.addPreference(mEnd);
         mEnd.setDependency(mDays.getKey());
 
-        mExitAtAlarm = (SwitchPreference) root.findPreference(KEY_EXIT_AT_ALARM);
+        mExitAtAlarm = root.findPreference(KEY_EXIT_AT_ALARM);
         mExitAtAlarm.setOnPreferenceChangeListener(new Preference.OnPreferenceChangeListener() {
             @Override
             public boolean onPreferenceChange(Preference preference, Object o) {
diff --git a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
index 1f553a2..4f6f058 100644
--- a/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
+++ b/src/com/android/settings/notification/zen/ZenModeSliceBuilder.java
@@ -19,6 +19,7 @@
 import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
 
 import android.annotation.ColorInt;
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.app.settings.SettingsEnums;
@@ -26,6 +27,8 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.net.Uri;
+import android.os.UserHandle;
+import android.os.UserManager;
 import android.provider.Settings;
 
 import androidx.core.graphics.drawable.IconCompat;
@@ -40,6 +43,8 @@
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.SliceBroadcastReceiver;
 import com.android.settings.slices.SliceBuilderUtils;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import com.android.settingslib.RestrictedLockUtilsInternal;
 
 public class ZenModeSliceBuilder {
 
@@ -84,8 +89,11 @@
                 isZenModeEnabled);
         final RowBuilder rowBuilder = new RowBuilder()
                 .setTitle(title)
-                .addEndItem(toggleSliceAction)
                 .setPrimaryAction(primarySliceAction);
+        if (!isManagedByAdmin(context)) {
+            rowBuilder.addEndItem(toggleSliceAction);
+        }
+
         if (!Utils.isSettingsIntelligence(context)) {
             rowBuilder.setSubtitle(subtitle);
         }
@@ -109,7 +117,12 @@
         } else {
             zenMode = Settings.Global.ZEN_MODE_OFF;
         }
-        NotificationManager.from(context).setZenMode(zenMode, null /* conditionId */, TAG);
+        if (Flags.modesApi()) {
+            NotificationManager.from(context).setZenMode(zenMode, /* conditionId= */ null, TAG,
+                    /* fromUser= */ true);
+        } else {
+            NotificationManager.from(context).setZenMode(zenMode, null /* conditionId */, TAG);
+        }
         // Do not notifyChange on Uri. The service takes longer to update the current value than it
         // does for the Slice to check the current value again. Let {@link SliceBroadcastRelay}
         // handle it.
@@ -152,4 +165,10 @@
         return PendingIntent.getBroadcast(context, 0 /* requestCode */, intent,
                 PendingIntent.FLAG_CANCEL_CURRENT | PendingIntent.FLAG_MUTABLE);
     }
+
+    private static boolean isManagedByAdmin(Context context) {
+        EnforcedAdmin enforcedAdmin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+                context, UserManager.DISALLOW_ADJUST_VOLUME, UserHandle.myUserId());
+        return enforcedAdmin != null;
+    }
 }
diff --git a/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java b/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java
index a170a78..db88f82 100644
--- a/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenModeSystemPreferenceController.java
@@ -23,7 +23,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -50,7 +50,7 @@
     public void updateState(Preference preference) {
         super.updateState(preference);
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         switch (getZenMode()) {
             case Settings.Global.ZEN_MODE_NO_INTERRUPTIONS:
                 pref.setEnabled(false);
diff --git a/src/com/android/settings/notification/zen/ZenOnboardingActivity.java b/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
index b70088c..a6e78eb 100644
--- a/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
+++ b/src/com/android/settings/notification/zen/ZenOnboardingActivity.java
@@ -17,6 +17,7 @@
 package com.android.settings.notification.zen;
 
 import android.app.Activity;
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.app.NotificationManager.Policy;
 import android.app.settings.SettingsEnums;
@@ -129,7 +130,11 @@
                     Policy.PRIORITY_SENDERS_STARRED,
                     policy.priorityMessageSenders,
                     NotificationManager.Policy.getAllSuppressedVisualEffects());
-            mNm.setNotificationPolicy(newPolicy);
+            if (Flags.modesApi()) {
+                mNm.setNotificationPolicy(newPolicy, /* fromUser= */ true);
+            } else {
+                mNm.setNotificationPolicy(newPolicy);
+            }
             mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_OK);
         } else {
             mMetrics.action(SettingsEnums.ACTION_ZEN_ONBOARDING_KEEP_CURRENT_SETTINGS);
@@ -180,7 +185,7 @@
 
     private static boolean withinShowTimeThreshold(Context context) {
         final SuggestionFeatureProvider featureProvider =
-                FeatureFactory.getFactory(context).getSuggestionFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSuggestionFeatureProvider();
         final SharedPreferences prefs = featureProvider.getSharedPrefs(context);
         final long currentTimeMs = System.currentTimeMillis();
         final long firstDisplayTimeMs;
diff --git a/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java
index e54a614..a7bfd9d 100644
--- a/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenRuleCustomSwitchPreferenceController.java
@@ -22,7 +22,7 @@
 import android.util.Pair;
 
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -47,7 +47,7 @@
             return;
         }
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         pref.setChecked(mRule.getZenPolicy().isCategoryAllowed(mCategory, false));
     }
 
diff --git a/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java b/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java
index b4eabbb..c5717f4 100644
--- a/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java
+++ b/src/com/android/settings/notification/zen/ZenRuleRepeatCallersPreferenceController.java
@@ -23,7 +23,7 @@
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -52,7 +52,7 @@
             return;
         }
 
-        SwitchPreference pref = (SwitchPreference) preference;
+        TwoStatePreference pref = (TwoStatePreference) preference;
         boolean anyCallersCanBypassDnd = mRule.getZenPolicy().getPriorityCallSenders()
                 == ZenPolicy.PEOPLE_TYPE_ANYONE;
 
diff --git a/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt b/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
new file mode 100644
index 0000000..f76e29a
--- /dev/null
+++ b/src/com/android/settings/onboarding/OnboardingFeatureProvider.kt
@@ -0,0 +1,42 @@
+/*
+ * 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.onboarding
+
+import android.app.backup.BackupHelper
+import android.app.backup.BackupRestoreEventLogger
+import android.content.Context
+
+/**
+ * Provider for Onboarding related features.
+ */
+interface OnboardingFeatureProvider {
+    /**
+     * Mark this toggle preference has been changed.
+     * Called after [TogglePreferenceController.onPreferenceChange()].
+     *
+     * @param context App context
+     * @param preferenceKey The key to distinguish which preference has been changed.
+     */
+    fun markPreferenceHasChanged(context: Context, preferenceKey: String)
+
+    /**
+     * Return a BackupHelper for backup sound related settings.
+     *
+     * @param context App context
+     * @param logger To log B&R stats.
+     */
+    fun getSoundBackupHelper(context: Context, logger: BackupRestoreEventLogger): BackupHelper
+}
\ No newline at end of file
diff --git a/src/com/android/settings/overlay/FeatureFactory.java b/src/com/android/settings/overlay/FeatureFactory.java
deleted file mode 100644
index 97fc343..0000000
--- a/src/com/android/settings/overlay/FeatureFactory.java
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.overlay;
-
-import android.content.Context;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.annotation.Nullable;
-
-import com.android.settings.R;
-import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
-import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
-import com.android.settings.accounts.AccountFeatureProvider;
-import com.android.settings.applications.ApplicationFeatureProvider;
-import com.android.settings.aware.AwareFeatureProvider;
-import com.android.settings.biometrics.face.FaceFeatureProvider;
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
-import com.android.settings.bluetooth.BluetoothFeatureProvider;
-import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
-import com.android.settings.dashboard.DashboardFeatureProvider;
-import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
-import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
-import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
-import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
-import com.android.settings.fuelgauge.BatteryStatusFeatureProvider;
-import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
-import com.android.settings.gestures.AssistGestureFeatureProvider;
-import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
-import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
-import com.android.settings.localepicker.LocaleFeatureProvider;
-import com.android.settings.panel.PanelFeatureProvider;
-import com.android.settings.search.SearchFeatureProvider;
-import com.android.settings.security.SecurityFeatureProvider;
-import com.android.settings.security.SecuritySettingsFeatureProvider;
-import com.android.settings.slices.SlicesFeatureProvider;
-import com.android.settings.users.UserFeatureProvider;
-import com.android.settings.vpn2.AdvancedVpnFeatureProvider;
-import com.android.settings.wifi.WifiTrackerLibProvider;
-import com.android.settings.wifi.factory.WifiFeatureProvider;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-/**
- * Abstract class for creating feature controllers. Allows OEM implementations to define their own
- * factories with their own controllers containing whatever code is needed to implement
- * the features. To provide a factory implementation, implementors should override
- * {@link R.string#config_featureFactory} in their override.
- */
-public abstract class FeatureFactory {
-    private static final String LOG_TAG = "FeatureFactory";
-    private static final boolean DEBUG = false;
-
-    protected static FeatureFactory sFactory;
-    protected static Context sAppContext;
-
-    /**
-     * Returns a factory for creating feature controllers. Creates the factory if it does not
-     * already exist. Uses the value of {@link R.string#config_featureFactory} to instantiate
-     * a factory implementation.
-     */
-    public static FeatureFactory getFactory(Context context) {
-        if (sFactory != null) {
-            return sFactory;
-        }
-        if (sAppContext == null) {
-            sAppContext = context.getApplicationContext();
-        }
-
-        if (DEBUG) Log.d(LOG_TAG, "getFactory");
-        final String clsName = context.getString(R.string.config_featureFactory);
-        if (TextUtils.isEmpty(clsName)) {
-            throw new UnsupportedOperationException("No feature factory configured");
-        }
-        try {
-            sFactory = (FeatureFactory) context.getClassLoader().loadClass(clsName).newInstance();
-        } catch (InstantiationException | IllegalAccessException | ClassNotFoundException e) {
-            throw new FactoryNotFoundException(e);
-        }
-
-        if (DEBUG) Log.d(LOG_TAG, "started " + sFactory.getClass().getSimpleName());
-        return sFactory;
-    }
-
-    /**
-     * Returns an application {@link Context} used to create this {@link FeatureFactory}. If the
-     * factory has not been properly created yet (aka {@link #getFactory} has not been called), this
-     * will return null.
-     */
-    @Nullable
-    public static Context getAppContext() {
-        return sAppContext;
-    }
-
-    public abstract AssistGestureFeatureProvider getAssistGestureFeatureProvider();
-
-    /**
-     * Gets implementation for the Suggestion Feature provider.
-     */
-    public abstract SuggestionFeatureProvider getSuggestionFeatureProvider();
-
-    /**
-     * Retrieves implementation for Hardware Info feature.
-     */
-    public abstract HardwareInfoFeatureProvider getHardwareInfoFeatureProvider();
-
-    public abstract SupportFeatureProvider getSupportFeatureProvider(Context context);
-
-    public abstract MetricsFeatureProvider getMetricsFeatureProvider();
-
-    public abstract PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context);
-
-    /**
-     * Retrieves implementation for Battery Status feature.
-     */
-    public abstract BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(
-            Context context);
-
-    /**
-     * Gets implementation for Battery Settings provider.
-     */
-    public abstract BatterySettingsFeatureProvider getBatterySettingsFeatureProvider();
-
-    public abstract DashboardFeatureProvider getDashboardFeatureProvider(Context context);
-
-    public abstract DockUpdaterFeatureProvider getDockUpdaterFeatureProvider();
-
-    public abstract ApplicationFeatureProvider getApplicationFeatureProvider(Context context);
-
-    public abstract LocaleFeatureProvider getLocaleFeatureProvider();
-
-    public abstract EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(
-            Context context);
-
-    public abstract SearchFeatureProvider getSearchFeatureProvider();
-
-    public abstract SurveyFeatureProvider getSurveyFeatureProvider(Context context);
-
-    public abstract SecurityFeatureProvider getSecurityFeatureProvider();
-
-    public abstract UserFeatureProvider getUserFeatureProvider(Context context);
-
-    public abstract SlicesFeatureProvider getSlicesFeatureProvider();
-
-    public abstract AccountFeatureProvider getAccountFeatureProvider();
-
-    public abstract PanelFeatureProvider getPanelFeatureProvider();
-
-    public abstract ContextualCardFeatureProvider getContextualCardFeatureProvider(Context context);
-
-    /**
-     * Retrieves implementation for Bluetooth feature.
-     */
-    public abstract BluetoothFeatureProvider getBluetoothFeatureProvider();
-
-    public abstract AwareFeatureProvider getAwareFeatureProvider();
-
-    public abstract FaceFeatureProvider getFaceFeatureProvider();
-
-    /**
-     * Gets implementation for Biometrics repository provider.
-     */
-    public abstract BiometricsRepositoryProvider getBiometricsRepositoryProvider();
-
-    /**
-     * Gets implementation for the WifiTrackerLib.
-     */
-    public abstract WifiTrackerLibProvider getWifiTrackerLibProvider();
-
-    /**
-     * Retrieves implementation for SecuritySettings feature.
-     */
-    public abstract SecuritySettingsFeatureProvider getSecuritySettingsFeatureProvider();
-
-    /**
-     * Retrieves implementation for Accessibility search index feature.
-     */
-    public abstract AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider();
-
-    /**
-     * Retrieves implementation for Accessibility metrics category feature.
-     */
-    public abstract AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider();
-
-    /**
-     * Retrieves implementation for advanced vpn feature.
-     */
-    public abstract AdvancedVpnFeatureProvider getAdvancedVpnFeatureProvider();
-
-    /**
-     * Retrieves implementation for Wi-Fi feature.
-     */
-    public abstract WifiFeatureProvider getWifiFeatureProvider();
-
-    /**
-     * Retrieves implementation for keyboard settings feature.
-     */
-    public abstract KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider();
-
-    /**
-     * Retrieves implementation for stylus settings feature.
-     */
-    public abstract StylusFeatureProvider getStylusFeatureProvider();
-
-    public static final class FactoryNotFoundException extends RuntimeException {
-        public FactoryNotFoundException(Throwable throwable) {
-            super("Unable to create factory. Did you misconfigure Proguard?", throwable);
-        }
-    }
-}
diff --git a/src/com/android/settings/overlay/FeatureFactory.kt b/src/com/android/settings/overlay/FeatureFactory.kt
new file mode 100644
index 0000000..2c4a295
--- /dev/null
+++ b/src/com/android/settings/overlay/FeatureFactory.kt
@@ -0,0 +1,213 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.overlay
+
+import android.content.Context
+import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
+import com.android.settings.accounts.AccountFeatureProvider
+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.audiosharing.AudioSharingFeatureProvider
+import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
+import com.android.settings.dashboard.DashboardFeatureProvider
+import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider
+import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider
+import com.android.settings.display.DisplayFeatureProvider
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider
+import com.android.settings.fuelgauge.BatteryStatusFeatureProvider
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider
+import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider
+import com.android.settings.localepicker.LocaleFeatureProvider
+import com.android.settings.onboarding.OnboardingFeatureProvider
+import com.android.settings.overlay.FeatureFactory.Companion.setFactory
+import com.android.settings.panel.PanelFeatureProvider
+import com.android.settings.privatespace.PrivateSpaceLoginFeatureProvider
+import com.android.settings.search.SearchFeatureProvider
+import com.android.settings.security.SecurityFeatureProvider
+import com.android.settings.security.SecuritySettingsFeatureProvider
+import com.android.settings.slices.SlicesFeatureProvider
+import com.android.settings.users.UserFeatureProvider
+import com.android.settings.vpn2.AdvancedVpnFeatureProvider
+import com.android.settings.wifi.WifiTrackerLibProvider
+import com.android.settings.wifi.factory.WifiFeatureProvider
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider
+
+/**
+ * Abstract class for creating feature controllers.
+ *
+ * Allows OEM implementations to define their own factories with their own controllers containing
+ * whatever code is needed to implement the features.
+ * To provide a factory implementation, implementors should call [setFactory] in their Application.
+ */
+abstract class FeatureFactory {
+    /**
+     * Gets implementation for the Suggestion Feature provider.
+     */
+    abstract val suggestionFeatureProvider: SuggestionFeatureProvider
+
+    /**
+     * Retrieves implementation for Hardware Info feature.
+     */
+    abstract val hardwareInfoFeatureProvider: HardwareInfoFeatureProvider
+
+    /** Implementation for [SupportFeatureProvider]. */
+    open val supportFeatureProvider: SupportFeatureProvider? = null
+
+    abstract val metricsFeatureProvider: MetricsFeatureProvider
+
+    abstract val powerUsageFeatureProvider: PowerUsageFeatureProvider
+
+    /**
+     * Retrieves implementation for Battery Status feature.
+     */
+    abstract val batteryStatusFeatureProvider: BatteryStatusFeatureProvider
+
+    /**
+     * Gets implementation for Battery Settings provider.
+     */
+    abstract val batterySettingsFeatureProvider: BatterySettingsFeatureProvider
+
+    abstract val dashboardFeatureProvider: DashboardFeatureProvider
+    abstract val dockUpdaterFeatureProvider: DockUpdaterFeatureProvider
+    abstract val applicationFeatureProvider: ApplicationFeatureProvider
+    abstract val localeFeatureProvider: LocaleFeatureProvider
+
+    abstract val enterprisePrivacyFeatureProvider: EnterprisePrivacyFeatureProvider
+
+    abstract val searchFeatureProvider: SearchFeatureProvider
+    abstract fun getSurveyFeatureProvider(context: Context): SurveyFeatureProvider?
+    abstract val securityFeatureProvider: SecurityFeatureProvider
+    abstract val userFeatureProvider: UserFeatureProvider
+    abstract val slicesFeatureProvider: SlicesFeatureProvider
+    abstract val accountFeatureProvider: AccountFeatureProvider
+    abstract val panelFeatureProvider: PanelFeatureProvider
+    abstract fun getContextualCardFeatureProvider(context: Context): ContextualCardFeatureProvider
+
+    /**
+     * Retrieves implementation for Bluetooth feature.
+     */
+    abstract val bluetoothFeatureProvider: BluetoothFeatureProvider
+
+    /**
+     * Retrieves implementation for Face feature.
+     */
+    abstract val faceFeatureProvider: FaceFeatureProvider
+
+    /**
+     * Retrieves implementation for Fingerprint feature.
+     */
+    abstract val fingerprintFeatureProvider: FingerprintFeatureProvider
+
+    /**
+     * Gets implementation for Biometrics repository provider.
+     */
+    abstract val biometricsRepositoryProvider: BiometricsRepositoryProvider
+
+    /**
+     * Gets implementation for the WifiTrackerLib.
+     */
+    abstract val wifiTrackerLibProvider: WifiTrackerLibProvider
+
+    /**
+     * Retrieves implementation for SecuritySettings feature.
+     */
+    abstract val securitySettingsFeatureProvider: SecuritySettingsFeatureProvider
+
+    /**
+     * Retrieves implementation for Accessibility search index feature.
+     */
+    abstract val accessibilitySearchFeatureProvider: AccessibilitySearchFeatureProvider
+
+    /**
+     * Retrieves implementation for Accessibility metrics category feature.
+     */
+    abstract val accessibilityMetricsFeatureProvider: AccessibilityMetricsFeatureProvider
+
+    /**
+     * Retrieves implementation for advanced vpn feature.
+     */
+    abstract val advancedVpnFeatureProvider: AdvancedVpnFeatureProvider
+
+    /**
+     * Retrieves implementation for Wi-Fi feature.
+     */
+    abstract val wifiFeatureProvider: WifiFeatureProvider
+
+    /**
+     * Retrieves implementation for keyboard settings feature.
+     */
+    abstract val keyboardSettingsFeatureProvider: KeyboardSettingsFeatureProvider
+
+    /**
+     * Retrieves implementation for stylus feature.
+     */
+    abstract val stylusFeatureProvider: StylusFeatureProvider
+
+    /**
+     * Retrieves implementation for Onboarding related feature.
+     */
+    open val onboardingFeatureProvider: OnboardingFeatureProvider? = null
+
+    /**
+     * Gets implementation for Fast Pair device updater provider.
+     */
+    abstract val fastPairFeatureProvider: FastPairFeatureProvider
+
+    /**
+     * Gets implementation for Private Space account login feature.
+     */
+    abstract val privateSpaceLoginFeatureProvider: PrivateSpaceLoginFeatureProvider
+
+    /**
+     * Gets implementation for Display feature.
+     */
+    abstract val displayFeatureProvider: DisplayFeatureProvider
+
+    /**
+     * Gets implementation for audio sharing related feature.
+     */
+    abstract val audioSharingFeatureProvider: AudioSharingFeatureProvider
+
+    companion object {
+        private var _factory: FeatureFactory? = null
+
+        /** Returns a factory for creating feature controllers. */
+        @JvmStatic
+        val featureFactory: FeatureFactory
+            get() = _factory ?: throw UnsupportedOperationException("No feature factory configured")
+
+        private var _appContext: Context? = null
+
+        /** Returns an application [Context] used to create this [FeatureFactory]. */
+        @JvmStatic
+        val appContext: Context
+            get() = _appContext
+                ?: throw UnsupportedOperationException("No feature factory configured")
+
+        @JvmStatic
+        fun setFactory(appContext: Context, factory: FeatureFactory) {
+            _appContext = appContext
+            _factory = factory
+        }
+    }
+}
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.java b/src/com/android/settings/overlay/FeatureFactoryImpl.java
deleted file mode 100644
index 8c92792..0000000
--- a/src/com/android/settings/overlay/FeatureFactoryImpl.java
+++ /dev/null
@@ -1,397 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.overlay;
-
-import android.app.AppGlobals;
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-import android.net.ConnectivityManager;
-import android.net.VpnManager;
-import android.os.UserManager;
-
-import androidx.annotation.Keep;
-
-import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
-import com.android.settings.accessibility.AccessibilityMetricsFeatureProviderImpl;
-import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
-import com.android.settings.accessibility.AccessibilitySearchFeatureProviderImpl;
-import com.android.settings.accounts.AccountFeatureProvider;
-import com.android.settings.accounts.AccountFeatureProviderImpl;
-import com.android.settings.applications.ApplicationFeatureProvider;
-import com.android.settings.applications.ApplicationFeatureProviderImpl;
-import com.android.settings.aware.AwareFeatureProvider;
-import com.android.settings.aware.AwareFeatureProviderImpl;
-import com.android.settings.biometrics.face.FaceFeatureProvider;
-import com.android.settings.biometrics.face.FaceFeatureProviderImpl;
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
-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;
-import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
-import com.android.settings.connecteddevice.stylus.StylusFeatureProviderImpl;
-import com.android.settings.core.instrumentation.SettingsMetricsFeatureProvider;
-import com.android.settings.dashboard.DashboardFeatureProvider;
-import com.android.settings.dashboard.DashboardFeatureProviderImpl;
-import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
-import com.android.settings.dashboard.suggestions.SuggestionFeatureProviderImpl;
-import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
-import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProviderImpl;
-import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
-import com.android.settings.enterprise.EnterprisePrivacyFeatureProviderImpl;
-import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
-import com.android.settings.fuelgauge.BatterySettingsFeatureProviderImpl;
-import com.android.settings.fuelgauge.BatteryStatusFeatureProvider;
-import com.android.settings.fuelgauge.BatteryStatusFeatureProviderImpl;
-import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
-import com.android.settings.fuelgauge.PowerUsageFeatureProviderImpl;
-import com.android.settings.gestures.AssistGestureFeatureProvider;
-import com.android.settings.gestures.AssistGestureFeatureProviderImpl;
-import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
-import com.android.settings.homepage.contextualcards.ContextualCardFeatureProviderImpl;
-import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
-import com.android.settings.inputmethod.KeyboardSettingsFeatureProviderImpl;
-import com.android.settings.localepicker.LocaleFeatureProvider;
-import com.android.settings.localepicker.LocaleFeatureProviderImpl;
-import com.android.settings.panel.PanelFeatureProvider;
-import com.android.settings.panel.PanelFeatureProviderImpl;
-import com.android.settings.search.SearchFeatureProvider;
-import com.android.settings.search.SearchFeatureProviderImpl;
-import com.android.settings.security.SecurityFeatureProvider;
-import com.android.settings.security.SecurityFeatureProviderImpl;
-import com.android.settings.security.SecuritySettingsFeatureProvider;
-import com.android.settings.security.SecuritySettingsFeatureProviderImpl;
-import com.android.settings.slices.SlicesFeatureProvider;
-import com.android.settings.slices.SlicesFeatureProviderImpl;
-import com.android.settings.users.UserFeatureProvider;
-import com.android.settings.users.UserFeatureProviderImpl;
-import com.android.settings.vpn2.AdvancedVpnFeatureProvider;
-import com.android.settings.vpn2.AdvancedVpnFeatureProviderImpl;
-import com.android.settings.wifi.WifiTrackerLibProvider;
-import com.android.settings.wifi.WifiTrackerLibProviderImpl;
-import com.android.settings.wifi.factory.WifiFeatureProvider;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-/**
- * {@link FeatureFactory} implementation for AOSP Settings.
- */
-@Keep
-public class FeatureFactoryImpl extends FeatureFactory {
-
-    private ApplicationFeatureProvider mApplicationFeatureProvider;
-    private MetricsFeatureProvider mMetricsFeatureProvider;
-    private DashboardFeatureProviderImpl mDashboardFeatureProvider;
-    private DockUpdaterFeatureProvider mDockUpdaterFeatureProvider;
-    private LocaleFeatureProvider mLocaleFeatureProvider;
-    private EnterprisePrivacyFeatureProvider mEnterprisePrivacyFeatureProvider;
-    private SearchFeatureProvider mSearchFeatureProvider;
-    private SecurityFeatureProvider mSecurityFeatureProvider;
-    private SuggestionFeatureProvider mSuggestionFeatureProvider;
-    private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
-    private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
-    private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
-    private AssistGestureFeatureProvider mAssistGestureFeatureProvider;
-    private UserFeatureProvider mUserFeatureProvider;
-    private SlicesFeatureProvider mSlicesFeatureProvider;
-    private AccountFeatureProvider mAccountFeatureProvider;
-    private PanelFeatureProvider mPanelFeatureProvider;
-    private ContextualCardFeatureProvider mContextualCardFeatureProvider;
-    private BluetoothFeatureProvider mBluetoothFeatureProvider;
-    private AwareFeatureProvider mAwareFeatureProvider;
-    private FaceFeatureProvider mFaceFeatureProvider;
-    private BiometricsRepositoryProvider mBiometricsRepositoryProvider;
-    private WifiTrackerLibProvider mWifiTrackerLibProvider;
-    private SecuritySettingsFeatureProvider mSecuritySettingsFeatureProvider;
-    private AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
-    private AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
-    private AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
-    private WifiFeatureProvider mWifiFeatureProvider;
-    private KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
-    private StylusFeatureProvider mStylusFeatureProvider;
-
-    @Override
-    public HardwareInfoFeatureProvider getHardwareInfoFeatureProvider() {
-        return HardwareInfoFeatureProviderImpl.INSTANCE;
-    }
-
-    @Override
-    public SupportFeatureProvider getSupportFeatureProvider(Context context) {
-        return null;
-    }
-
-    @Override
-    public MetricsFeatureProvider getMetricsFeatureProvider() {
-        if (mMetricsFeatureProvider == null) {
-            mMetricsFeatureProvider = new SettingsMetricsFeatureProvider();
-        }
-        return mMetricsFeatureProvider;
-    }
-
-    @Override
-    public PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context) {
-        if (mPowerUsageFeatureProvider == null) {
-            mPowerUsageFeatureProvider = new PowerUsageFeatureProviderImpl(
-                    context.getApplicationContext());
-        }
-        return mPowerUsageFeatureProvider;
-    }
-
-    @Override
-    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(Context context) {
-        if (mBatteryStatusFeatureProvider == null) {
-            mBatteryStatusFeatureProvider = new BatteryStatusFeatureProviderImpl(
-                    context.getApplicationContext());
-        }
-        return mBatteryStatusFeatureProvider;
-    }
-
-    @Override
-    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider() {
-        if (mBatterySettingsFeatureProvider == null) {
-            mBatterySettingsFeatureProvider = new BatterySettingsFeatureProviderImpl();
-        }
-        return mBatterySettingsFeatureProvider;
-    }
-
-    @Override
-    public DashboardFeatureProvider getDashboardFeatureProvider(Context context) {
-        if (mDashboardFeatureProvider == null) {
-            mDashboardFeatureProvider = new DashboardFeatureProviderImpl(
-                    context.getApplicationContext());
-        }
-        return mDashboardFeatureProvider;
-    }
-
-    @Override
-    public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
-        if (mDockUpdaterFeatureProvider == null) {
-            mDockUpdaterFeatureProvider = new DockUpdaterFeatureProviderImpl();
-        }
-        return mDockUpdaterFeatureProvider;
-    }
-
-    @Override
-    public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
-        if (mApplicationFeatureProvider == null) {
-            final Context appContext = context.getApplicationContext();
-            mApplicationFeatureProvider = new ApplicationFeatureProviderImpl(appContext,
-                    appContext.getPackageManager(),
-                    AppGlobals.getPackageManager(),
-                    (DevicePolicyManager) appContext
-                            .getSystemService(Context.DEVICE_POLICY_SERVICE));
-        }
-        return mApplicationFeatureProvider;
-    }
-
-    @Override
-    public LocaleFeatureProvider getLocaleFeatureProvider() {
-        if (mLocaleFeatureProvider == null) {
-            mLocaleFeatureProvider = new LocaleFeatureProviderImpl();
-        }
-        return mLocaleFeatureProvider;
-    }
-
-    @Override
-    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
-        if (mEnterprisePrivacyFeatureProvider == null) {
-            final Context appContext = context.getApplicationContext();
-            mEnterprisePrivacyFeatureProvider = new EnterprisePrivacyFeatureProviderImpl(appContext,
-                    (DevicePolicyManager) appContext.getSystemService(
-                            Context.DEVICE_POLICY_SERVICE),
-                    appContext.getPackageManager(),
-                    UserManager.get(appContext),
-                    appContext.getSystemService(ConnectivityManager.class),
-                    appContext.getSystemService(VpnManager.class),
-                    appContext.getResources());
-        }
-        return mEnterprisePrivacyFeatureProvider;
-    }
-
-    @Override
-    public SearchFeatureProvider getSearchFeatureProvider() {
-        if (mSearchFeatureProvider == null) {
-            mSearchFeatureProvider = new SearchFeatureProviderImpl();
-        }
-        return mSearchFeatureProvider;
-    }
-
-    @Override
-    public SurveyFeatureProvider getSurveyFeatureProvider(Context context) {
-        return null;
-    }
-
-    @Override
-    public SecurityFeatureProvider getSecurityFeatureProvider() {
-        if (mSecurityFeatureProvider == null) {
-            mSecurityFeatureProvider = new SecurityFeatureProviderImpl();
-        }
-        return mSecurityFeatureProvider;
-    }
-
-    @Override
-    public SuggestionFeatureProvider getSuggestionFeatureProvider() {
-        if (mSuggestionFeatureProvider == null) {
-            mSuggestionFeatureProvider = new SuggestionFeatureProviderImpl();
-        }
-        return mSuggestionFeatureProvider;
-    }
-
-    @Override
-    public UserFeatureProvider getUserFeatureProvider(Context context) {
-        if (mUserFeatureProvider == null) {
-            mUserFeatureProvider = new UserFeatureProviderImpl(context.getApplicationContext());
-        }
-        return mUserFeatureProvider;
-    }
-
-    @Override
-    public AssistGestureFeatureProvider getAssistGestureFeatureProvider() {
-        if (mAssistGestureFeatureProvider == null) {
-            mAssistGestureFeatureProvider = new AssistGestureFeatureProviderImpl();
-        }
-        return mAssistGestureFeatureProvider;
-    }
-
-    @Override
-    public SlicesFeatureProvider getSlicesFeatureProvider() {
-        if (mSlicesFeatureProvider == null) {
-            mSlicesFeatureProvider = new SlicesFeatureProviderImpl();
-        }
-        return mSlicesFeatureProvider;
-    }
-
-    @Override
-    public AccountFeatureProvider getAccountFeatureProvider() {
-        if (mAccountFeatureProvider == null) {
-            mAccountFeatureProvider = new AccountFeatureProviderImpl();
-        }
-        return mAccountFeatureProvider;
-    }
-
-    @Override
-    public PanelFeatureProvider getPanelFeatureProvider() {
-        if (mPanelFeatureProvider == null) {
-            mPanelFeatureProvider = new PanelFeatureProviderImpl();
-        }
-        return mPanelFeatureProvider;
-    }
-
-    @Override
-    public ContextualCardFeatureProvider getContextualCardFeatureProvider(Context context) {
-        if (mContextualCardFeatureProvider == null) {
-            mContextualCardFeatureProvider = new ContextualCardFeatureProviderImpl(
-                    context.getApplicationContext());
-        }
-        return mContextualCardFeatureProvider;
-    }
-
-    @Override
-    public BluetoothFeatureProvider getBluetoothFeatureProvider() {
-        if (mBluetoothFeatureProvider == null) {
-            mBluetoothFeatureProvider = new BluetoothFeatureProviderImpl(getAppContext());
-        }
-        return mBluetoothFeatureProvider;
-    }
-
-    @Override
-    public AwareFeatureProvider getAwareFeatureProvider() {
-        if (mAwareFeatureProvider == null) {
-            mAwareFeatureProvider = new AwareFeatureProviderImpl();
-        }
-        return mAwareFeatureProvider;
-    }
-
-    @Override
-    public FaceFeatureProvider getFaceFeatureProvider() {
-        if (mFaceFeatureProvider == null) {
-            mFaceFeatureProvider = new FaceFeatureProviderImpl();
-        }
-        return mFaceFeatureProvider;
-    }
-
-    @Override
-    public BiometricsRepositoryProvider getBiometricsRepositoryProvider() {
-        if (mBiometricsRepositoryProvider == null) {
-            mBiometricsRepositoryProvider = new BiometricsRepositoryProviderImpl();
-        }
-        return mBiometricsRepositoryProvider;
-    }
-
-    @Override
-    public WifiTrackerLibProvider getWifiTrackerLibProvider() {
-        if (mWifiTrackerLibProvider == null) {
-            mWifiTrackerLibProvider = new WifiTrackerLibProviderImpl();
-        }
-        return mWifiTrackerLibProvider;
-    }
-
-    @Override
-    public SecuritySettingsFeatureProvider getSecuritySettingsFeatureProvider() {
-        if (mSecuritySettingsFeatureProvider == null) {
-            mSecuritySettingsFeatureProvider = new SecuritySettingsFeatureProviderImpl();
-        }
-        return mSecuritySettingsFeatureProvider;
-    }
-
-    @Override
-    public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() {
-        if (mAccessibilitySearchFeatureProvider == null) {
-            mAccessibilitySearchFeatureProvider = new AccessibilitySearchFeatureProviderImpl();
-        }
-        return mAccessibilitySearchFeatureProvider;
-    }
-
-    @Override
-    public AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider() {
-        if (mAccessibilityMetricsFeatureProvider == null) {
-            mAccessibilityMetricsFeatureProvider = new AccessibilityMetricsFeatureProviderImpl();
-        }
-        return mAccessibilityMetricsFeatureProvider;
-    }
-
-    @Override
-    public AdvancedVpnFeatureProvider getAdvancedVpnFeatureProvider() {
-        if (mAdvancedVpnFeatureProvider == null) {
-            mAdvancedVpnFeatureProvider = new AdvancedVpnFeatureProviderImpl();
-        }
-        return mAdvancedVpnFeatureProvider;
-    }
-
-    @Override
-    public WifiFeatureProvider getWifiFeatureProvider() {
-        if (mWifiFeatureProvider == null) {
-            mWifiFeatureProvider = new WifiFeatureProvider(getAppContext());
-        }
-        return mWifiFeatureProvider;
-    }
-
-    @Override
-    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
-        if (mKeyboardSettingsFeatureProvider == null) {
-            mKeyboardSettingsFeatureProvider = new KeyboardSettingsFeatureProviderImpl();
-        }
-        return mKeyboardSettingsFeatureProvider;
-    }
-
-    @Override
-    public StylusFeatureProvider getStylusFeatureProvider() {
-        if (mStylusFeatureProvider == null) {
-            mStylusFeatureProvider = new StylusFeatureProviderImpl();
-        }
-        return mStylusFeatureProvider;
-    }
-}
diff --git a/src/com/android/settings/overlay/FeatureFactoryImpl.kt b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
new file mode 100644
index 0000000..e1519b3
--- /dev/null
+++ b/src/com/android/settings/overlay/FeatureFactoryImpl.kt
@@ -0,0 +1,205 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package com.android.settings.overlay
+
+import android.app.AppGlobals
+import android.content.Context
+import android.net.ConnectivityManager
+import android.net.VpnManager
+import android.os.UserManager
+import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider
+import com.android.settings.accessibility.AccessibilityMetricsFeatureProviderImpl
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
+import com.android.settings.accessibility.AccessibilitySearchFeatureProviderImpl
+import com.android.settings.accounts.AccountFeatureProvider
+import com.android.settings.accounts.AccountFeatureProviderImpl
+import com.android.settings.applications.ApplicationFeatureProviderImpl
+import com.android.settings.biometrics.face.FaceFeatureProvider
+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.audiosharing.AudioSharingFeatureProvider
+import com.android.settings.connecteddevice.audiosharing.AudioSharingFeatureProviderImpl
+import com.android.settings.connecteddevice.dock.DockUpdaterFeatureProviderImpl
+import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider
+import com.android.settings.connecteddevice.fastpair.FastPairFeatureProviderImpl
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
+import com.android.settings.connecteddevice.stylus.StylusFeatureProviderImpl
+import com.android.settings.core.instrumentation.SettingsMetricsFeatureProvider
+import com.android.settings.dashboard.DashboardFeatureProviderImpl
+import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider
+import com.android.settings.dashboard.suggestions.SuggestionFeatureProviderImpl
+import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider
+import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProviderImpl
+import com.android.settings.display.DisplayFeatureProvider
+import com.android.settings.display.DisplayFeatureProviderImpl
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProviderImpl
+import com.android.settings.fuelgauge.BatterySettingsFeatureProviderImpl
+import com.android.settings.fuelgauge.BatteryStatusFeatureProviderImpl
+import com.android.settings.fuelgauge.PowerUsageFeatureProviderImpl
+import com.android.settings.homepage.contextualcards.ContextualCardFeatureProviderImpl
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProviderImpl
+import com.android.settings.localepicker.LocaleFeatureProviderImpl
+import com.android.settings.panel.PanelFeatureProviderImpl
+import com.android.settings.search.SearchFeatureProvider
+import com.android.settings.search.SearchFeatureProviderImpl
+import com.android.settings.security.SecurityFeatureProviderImpl
+import com.android.settings.security.SecuritySettingsFeatureProvider
+import com.android.settings.security.SecuritySettingsFeatureProviderImpl
+import com.android.settings.privatespace.PrivateSpaceLoginFeatureProvider
+import com.android.settings.privatespace.PrivateSpaceLoginFeatureProviderImpl
+import com.android.settings.slices.SlicesFeatureProviderImpl
+import com.android.settings.users.UserFeatureProviderImpl
+import com.android.settings.vpn2.AdvancedVpnFeatureProviderImpl
+import com.android.settings.wifi.WifiTrackerLibProvider
+import com.android.settings.wifi.WifiTrackerLibProviderImpl
+import com.android.settings.wifi.factory.WifiFeatureProvider
+import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
+
+/**
+ * [FeatureFactory] implementation for AOSP Settings.
+ */
+open class FeatureFactoryImpl : FeatureFactory() {
+    private val contextualCardFeatureProvider by lazy {
+        ContextualCardFeatureProviderImpl(appContext)
+    }
+
+    override val hardwareInfoFeatureProvider: HardwareInfoFeatureProvider =
+        HardwareInfoFeatureProviderImpl
+
+    override val metricsFeatureProvider by lazy { SettingsMetricsFeatureProvider() }
+
+    override val powerUsageFeatureProvider by lazy { PowerUsageFeatureProviderImpl(appContext) }
+
+    override val batteryStatusFeatureProvider by lazy {
+        BatteryStatusFeatureProviderImpl(appContext)
+    }
+
+    override val batterySettingsFeatureProvider by lazy { BatterySettingsFeatureProviderImpl() }
+
+    override val dashboardFeatureProvider by lazy { DashboardFeatureProviderImpl(appContext) }
+
+    override val dockUpdaterFeatureProvider: DockUpdaterFeatureProvider by lazy {
+        DockUpdaterFeatureProviderImpl()
+    }
+
+    override val applicationFeatureProvider by lazy {
+        ApplicationFeatureProviderImpl(
+            appContext,
+            appContext.packageManager,
+            AppGlobals.getPackageManager(),
+            appContext.devicePolicyManager,
+        )
+    }
+
+    override val localeFeatureProvider by lazy { LocaleFeatureProviderImpl() }
+
+    override val enterprisePrivacyFeatureProvider by lazy {
+        EnterprisePrivacyFeatureProviderImpl(
+            appContext,
+            appContext.devicePolicyManager,
+            appContext.packageManager,
+            UserManager.get(appContext),
+            appContext.getSystemService(ConnectivityManager::class.java),
+            appContext.getSystemService(VpnManager::class.java),
+            appContext.resources,
+        )
+    }
+
+    override val searchFeatureProvider: SearchFeatureProvider by lazy {
+        SearchFeatureProviderImpl()
+    }
+
+    override fun getSurveyFeatureProvider(context: Context): SurveyFeatureProvider? = null
+
+    override val securityFeatureProvider by lazy { SecurityFeatureProviderImpl() }
+
+    override val suggestionFeatureProvider: SuggestionFeatureProvider by lazy {
+        SuggestionFeatureProviderImpl()
+    }
+
+    override val userFeatureProvider by lazy { UserFeatureProviderImpl(appContext) }
+
+    override val slicesFeatureProvider by lazy { SlicesFeatureProviderImpl() }
+
+    override val accountFeatureProvider: AccountFeatureProvider by lazy {
+        AccountFeatureProviderImpl()
+    }
+
+    override val panelFeatureProvider by lazy { PanelFeatureProviderImpl() }
+
+    override fun getContextualCardFeatureProvider(context: Context) = contextualCardFeatureProvider
+
+    override val bluetoothFeatureProvider: BluetoothFeatureProvider by lazy {
+        BluetoothFeatureProviderImpl()
+    }
+
+    override val faceFeatureProvider: FaceFeatureProvider by lazy { FaceFeatureProviderImpl() }
+
+    override val fingerprintFeatureProvider: FingerprintFeatureProvider by lazy {
+        FingerprintFeatureProviderImpl()
+    }
+
+    override val biometricsRepositoryProvider by lazy { BiometricsRepositoryProviderImpl() }
+
+    override val wifiTrackerLibProvider: WifiTrackerLibProvider by lazy {
+        WifiTrackerLibProviderImpl()
+    }
+
+    override val securitySettingsFeatureProvider: SecuritySettingsFeatureProvider by lazy {
+        SecuritySettingsFeatureProviderImpl()
+    }
+
+    override val accessibilitySearchFeatureProvider: AccessibilitySearchFeatureProvider by lazy {
+        AccessibilitySearchFeatureProviderImpl()
+    }
+
+    override val accessibilityMetricsFeatureProvider: AccessibilityMetricsFeatureProvider by lazy {
+        AccessibilityMetricsFeatureProviderImpl()
+    }
+
+    override val advancedVpnFeatureProvider by lazy { AdvancedVpnFeatureProviderImpl() }
+
+    override val wifiFeatureProvider by lazy { WifiFeatureProvider(appContext) }
+
+    override val keyboardSettingsFeatureProvider: KeyboardSettingsFeatureProvider by lazy {
+        KeyboardSettingsFeatureProviderImpl()
+    }
+
+    override val stylusFeatureProvider: StylusFeatureProvider by lazy {
+        StylusFeatureProviderImpl()
+    }
+
+    override val fastPairFeatureProvider: FastPairFeatureProvider by lazy {
+        FastPairFeatureProviderImpl()
+    }
+
+    override val privateSpaceLoginFeatureProvider: PrivateSpaceLoginFeatureProvider by lazy {
+        PrivateSpaceLoginFeatureProviderImpl()
+    }
+
+    override val displayFeatureProvider: DisplayFeatureProvider by lazy {
+        DisplayFeatureProviderImpl()
+    }
+
+    override val audioSharingFeatureProvider: AudioSharingFeatureProvider by lazy {
+        AudioSharingFeatureProviderImpl()
+    }
+}
diff --git a/src/com/android/settings/panel/PanelFragment.java b/src/com/android/settings/panel/PanelFragment.java
index 5bc0cc8..1590283 100644
--- a/src/com/android/settings/panel/PanelFragment.java
+++ b/src/com/android/settings/panel/PanelFragment.java
@@ -221,7 +221,7 @@
         final String callingPackageName =
                 arguments.getString(SettingsPanelActivity.KEY_CALLING_PACKAGE_NAME);
 
-        mPanel = FeatureFactory.getFactory(activity)
+        mPanel = FeatureFactory.getFeatureFactory()
                 .getPanelFeatureProvider()
                 .getPanel(activity, arguments);
 
@@ -235,7 +235,7 @@
             getLifecycle().addObserver((LifecycleObserver) mPanel);
         }
 
-        mMetricsProvider = FeatureFactory.getFactory(activity).getMetricsFeatureProvider();
+        mMetricsProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         updateProgressBar();
 
diff --git a/src/com/android/settings/panel/PanelSlicesAdapter.java b/src/com/android/settings/panel/PanelSlicesAdapter.java
index fb41879..a2360d8 100644
--- a/src/com/android/settings/panel/PanelSlicesAdapter.java
+++ b/src/com/android/settings/panel/PanelSlicesAdapter.java
@@ -153,7 +153,7 @@
             // Log Panel interaction
             sliceView.setOnSliceActionListener(
                     ((eventInfo, sliceItem) -> {
-                        FeatureFactory.getFactory(sliceView.getContext())
+                        FeatureFactory.getFeatureFactory()
                                 .getMetricsFeatureProvider()
                                 .action(0 /* attribution */,
                                         SettingsEnums.ACTION_PANEL_INTERACTION,
diff --git a/src/com/android/settings/panel/VolumePanel.java b/src/com/android/settings/panel/VolumePanel.java
index 938ee9d..1a53de0 100644
--- a/src/com/android/settings/panel/VolumePanel.java
+++ b/src/com/android/settings/panel/VolumePanel.java
@@ -25,7 +25,6 @@
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_CALL_URI;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_MEDIA_URI;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_NOTIFICATION_URI;
-import static com.android.settings.slices.CustomSliceRegistry.VOLUME_RINGER_URI;
 import static com.android.settings.slices.CustomSliceRegistry.VOLUME_SEPARATE_RING_URI;
 
 import android.app.Activity;
@@ -144,7 +143,6 @@
         }
         uris.add(MEDIA_OUTPUT_INDICATOR_SLICE_URI);
         uris.add(VOLUME_CALL_URI);
-        uris.add(VOLUME_RINGER_URI);
         uris.add(VOLUME_SEPARATE_RING_URI);
         uris.add(VOLUME_NOTIFICATION_URI);
         uris.add(VOLUME_ALARM_URI);
diff --git a/src/com/android/settings/panel/WifiPanel.java b/src/com/android/settings/panel/WifiPanel.java
index 95ebb33..3e713bc 100644
--- a/src/com/android/settings/panel/WifiPanel.java
+++ b/src/com/android/settings/panel/WifiPanel.java
@@ -23,9 +23,9 @@
 
 import com.android.settings.R;
 import com.android.settings.SubSettings;
+import com.android.settings.network.NetworkProviderSettings;
 import com.android.settings.slices.CustomSliceRegistry;
 import com.android.settings.slices.SliceBuilderUtils;
-import com.android.settings.wifi.WifiSettings;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -59,10 +59,9 @@
 
     @Override
     public Intent getSeeMoreIntent() {
-        final String screenTitle =
-                mContext.getText(R.string.wifi_settings).toString();
+        final String screenTitle = mContext.getText(R.string.wifi_settings).toString();
         final Intent intent = SliceBuilderUtils.buildSearchResultPageIntent(mContext,
-                WifiSettings.class.getName(),
+                NetworkProviderSettings.class.getName(),
                 null /* key */,
                 screenTitle,
                 SettingsEnums.WIFI,
diff --git a/src/com/android/settings/password/BiometricFragment.java b/src/com/android/settings/password/BiometricFragment.java
index 4ad04a1..90a1feb 100644
--- a/src/com/android/settings/password/BiometricFragment.java
+++ b/src/com/android/settings/password/BiometricFragment.java
@@ -21,6 +21,7 @@
 import android.hardware.biometrics.BiometricPrompt.AuthenticationCallback;
 import android.hardware.biometrics.BiometricPrompt.AuthenticationResult;
 import android.hardware.biometrics.PromptInfo;
+import android.multiuser.Flags;
 import android.os.Bundle;
 import android.os.CancellationSignal;
 
@@ -126,10 +127,9 @@
         final Bundle bundle = getArguments();
         final PromptInfo promptInfo = bundle.getParcelable(KEY_PROMPT_INFO);
 
-        mBiometricPrompt = new BiometricPrompt.Builder(getContext())
+        BiometricPrompt.Builder promptBuilder = new BiometricPrompt.Builder(getContext())
                 .setTitle(promptInfo.getTitle())
                 .setUseDefaultTitle() // use default title if title is null/empty
-                .setUseDefaultSubtitle() // use default subtitle if subtitle is null/empty
                 .setDeviceCredentialAllowed(true)
                 .setSubtitle(promptInfo.getSubtitle())
                 .setDescription(promptInfo.getDescription())
@@ -140,9 +140,21 @@
                 .setConfirmationRequired(promptInfo.isConfirmationRequested())
                 .setDisallowBiometricsIfPolicyExists(
                         promptInfo.isDisallowBiometricsIfPolicyExists())
-                .setReceiveSystemEvents(true)
-                .setAllowBackgroundAuthentication(true)
-                .build();
+                .setShowEmergencyCallButton(promptInfo.isShowEmergencyCallButton())
+                .setReceiveSystemEvents(true);
+
+        if (Flags.enableBiometricsToUnlockPrivateSpace()) {
+            promptBuilder = promptBuilder.setAllowBackgroundAuthentication(true /* allow */,
+                    promptInfo.shouldUseParentProfileForDeviceCredential());
+        } else {
+            promptBuilder = promptBuilder.setAllowBackgroundAuthentication(true /* allow */);
+        }
+
+        // Check if the default subtitle should be used if subtitle is null/empty
+        if (promptInfo.isUseDefaultSubtitle()) {
+            promptBuilder.setUseDefaultSubtitle();
+        }
+        mBiometricPrompt = promptBuilder.build();
     }
 
     @Override
diff --git a/src/com/android/settings/password/ChooseLockGeneric.java b/src/com/android/settings/password/ChooseLockGeneric.java
index 0bf1255..178c387 100644
--- a/src/com/android/settings/password/ChooseLockGeneric.java
+++ b/src/com/android/settings/password/ChooseLockGeneric.java
@@ -30,6 +30,8 @@
 
 import static com.android.settings.password.ChooseLockPassword.ChooseLockPasswordFragment.RESULT_FINISHED;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CALLER_APP_NAME;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_DEVICE_PASSWORD_REQUIREMENT_ONLY;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_IS_CALLING_APP_ADMIN;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
@@ -48,6 +50,9 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.storage.StorageManager;
+import android.security.AndroidKeyStoreMaintenance;
+import android.security.GateKeeper;
+import android.security.KeyStoreException;
 import android.service.persistentdata.PersistentDataBlockManager;
 import android.text.TextUtils;
 import android.util.EventLog;
@@ -86,6 +91,10 @@
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
+/**
+ * Activity class that provides a generic implementation for displaying options to choose a lock
+ * type, either for setting up a new lock or updating an existing lock.
+ */
 public class ChooseLockGeneric extends SettingsActivity {
     public static final String CONFIRM_CREDENTIALS = "confirm_credentials";
 
@@ -141,7 +150,6 @@
          * ChooseLockGeneric can be relaunched with the same extras.
          */
         public static final String EXTRA_CHOOSE_LOCK_GENERIC_EXTRAS = "choose_lock_generic_extras";
-
         @VisibleForTesting
         static final int CONFIRM_EXISTING_REQUEST = 100;
         @VisibleForTesting
@@ -156,6 +164,7 @@
         private boolean mRequestGatekeeperPasswordHandle = false;
         private boolean mPasswordConfirmed = false;
         private boolean mWaitingForConfirmation = false;
+        private boolean mWaitingForActivityResult = false;
         private LockscreenCredential mUserPassword;
         private FingerprintManager mFingerprintManager;
         private FaceManager mFaceManager;
@@ -194,6 +203,9 @@
         protected boolean mForBiometrics = false;
 
         private boolean mOnlyEnforceDevicePasswordRequirement = false;
+        private int mExtraLockScreenTitleResId;
+        private int mExtraLockScreenDescriptionResId;
+        private boolean mWaitingForBiometricEnrollment = false;
 
         @Override
         public int getMetricsCategory() {
@@ -241,6 +253,11 @@
                     ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE, false);
             mForBiometrics = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS, false);
+            mWaitingForBiometricEnrollment = mForBiometrics || mForFingerprint || mForFace;
+
+            mExtraLockScreenTitleResId = intent.getIntExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE, -1);
+            mExtraLockScreenDescriptionResId =
+                    intent.getIntExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION, -1);
 
             mRequestedMinComplexity = intent.getIntExtra(
                     EXTRA_KEY_REQUESTED_MIN_COMPLEXITY, PASSWORD_COMPLEXITY_NONE);
@@ -343,13 +360,19 @@
                 if (updateExistingLock) {
                     getActivity().setTitle(mDpm.getResources().getString(
                             LOCK_SETTINGS_UPDATE_PROFILE_LOCK_TITLE,
-                            () -> getString(
-                                    R.string.lock_settings_picker_update_profile_lock_title)));
+                            () -> getString(mExtraLockScreenTitleResId != -1
+                                    ? mExtraLockScreenTitleResId
+                                    : R.string.lock_settings_picker_update_profile_lock_title)));
                 } else {
                     getActivity().setTitle(mDpm.getResources().getString(
                             LOCK_SETTINGS_NEW_PROFILE_LOCK_TITLE,
-                            () -> getString(R.string.lock_settings_picker_new_profile_lock_title)));
+                            () -> getString(mExtraLockScreenTitleResId != -1
+                                    ? mExtraLockScreenTitleResId
+                                    : R.string.lock_settings_picker_new_profile_lock_title)));
                 }
+            } else if (mExtraLockScreenTitleResId != -1) {
+                // Show customized screen lock title if it is passed as an extra in the intent.
+                getActivity().setTitle(mExtraLockScreenTitleResId);
             } else {
                 updateExistingLock = mLockPatternUtils.isSecure(mUserId);
                 if (updateExistingLock) {
@@ -377,7 +400,16 @@
             setHeaderView(R.layout.choose_lock_generic_biometric_header);
             TextView textView = getHeaderView().findViewById(R.id.biometric_header_description);
 
-            if (mForFingerprint) {
+            if (mIsManagedProfile) {
+                textView.setText(mDpm.getResources().getString(
+                        WORK_PROFILE_SCREEN_LOCK_SETUP_MESSAGE,
+                        () -> getString(mExtraLockScreenDescriptionResId != -1
+                                ? mExtraLockScreenDescriptionResId
+                                : R.string.lock_settings_picker_profile_message)));
+            } else if (mExtraLockScreenDescriptionResId != -1) {
+                // Show customized description in screen lock if passed as an extra in the intent.
+                textView.setText(mExtraLockScreenDescriptionResId);
+            } else if (mForFingerprint) {
                 if (mIsSetNewPassword) {
                     textView.setText(R.string.fingerprint_unlock_title);
                 } else {
@@ -396,13 +428,7 @@
                     textView.setText(R.string.lock_settings_picker_biometric_message);
                 }
             } else {
-                if (mIsManagedProfile) {
-                    textView.setText(mDpm.getResources().getString(
-                            WORK_PROFILE_SCREEN_LOCK_SETUP_MESSAGE,
-                            () -> getString(R.string.lock_settings_picker_profile_message)));
-                } else {
-                    textView.setText("");
-                }
+                textView.setText("");
             }
         }
 
@@ -414,10 +440,11 @@
             if (!isUnlockMethodSecure(key) && mLockPatternUtils.isSecure(mUserId)) {
                 // Show the disabling FRP warning only when the user is switching from a secure
                 // unlock method to an insecure one
-                showFactoryResetProtectionWarningDialog(key);
+                showFactoryResetProtectionWarningDialog(key, GateKeeper.getSecureUserId(mUserId));
                 return true;
             } else if (KEY_SKIP_FINGERPRINT.equals(key) || KEY_SKIP_FACE.equals(key)
                     || KEY_SKIP_BIOMETRICS.equals(key)) {
+                mWaitingForBiometricEnrollment = false;
                 Intent chooseLockGenericIntent = new Intent(getActivity(),
                     getInternalActivityClass());
                 chooseLockGenericIntent.setAction(getIntent().getAction());
@@ -426,6 +453,8 @@
                 }
                 // Forward the target user id to  ChooseLockGeneric.
                 chooseLockGenericIntent.putExtra(Intent.EXTRA_USER_ID, mUserId);
+                chooseLockGenericIntent.putExtra(
+                        EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE, mExtraLockScreenTitleResId);
                 chooseLockGenericIntent.putExtra(CONFIRM_CREDENTIALS, !mPasswordConfirmed);
                 chooseLockGenericIntent.putExtra(EXTRA_KEY_REQUESTED_MIN_COMPLEXITY,
                         mRequestedMinComplexity);
@@ -447,6 +476,7 @@
         public void onActivityResult(int requestCode, int resultCode, Intent data) {
             super.onActivityResult(requestCode, resultCode, data);
             mWaitingForConfirmation = false;
+            mWaitingForActivityResult = false;
             if (requestCode == CONFIRM_EXISTING_REQUEST && resultCode == Activity.RESULT_OK) {
                 mPasswordConfirmed = true;
                 mUserPassword = data != null
@@ -456,7 +486,6 @@
             } else if (requestCode == CHOOSE_LOCK_REQUEST) {
                 if (resultCode != RESULT_CANCELED) {
                     getActivity().setResult(resultCode, data);
-                    finish();
                 } else {
                     // If PASSWORD_TYPE_KEY is set, this activity is used as a trampoline to start
                     // the actual password enrollment. If the result is canceled, which means the
@@ -464,11 +493,12 @@
                     int quality = getIntent().getIntExtra(LockPatternUtils.PASSWORD_TYPE_KEY, -1);
                     if (quality != -1) {
                         getActivity().setResult(RESULT_CANCELED, data);
-                        finish();
                     }
                 }
+                finish();
             } else if (requestCode == CHOOSE_LOCK_BEFORE_BIOMETRIC_REQUEST
                     && resultCode == BiometricEnrollBase.RESULT_FINISHED) {
+                mWaitingForBiometricEnrollment = false;
                 Intent intent = getBiometricEnrollIntent(getActivity());
                 if (data != null) {
                     // ChooseLockGeneric should have requested for a Gatekeeper Password Handle to
@@ -798,6 +828,7 @@
                 }
                 if (getIntent().getBooleanExtra(EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, false)) {
                     intent.putExtra(EXTRA_KEY_REQUEST_WRITE_REPAIR_MODE_PW, true);
+                    mWaitingForActivityResult = true;
                 }
                 intent.putExtra(EXTRA_CHOOSE_LOCK_GENERIC_EXTRAS, getIntent().getExtras());
                 // If the caller requested Gatekeeper Password Handle to be returned, we assume it
@@ -848,7 +879,8 @@
             // Otherwise, bugs would be caused. (e.g. b/278488549, b/278530059)
             final boolean hasCredential = mLockPatternUtils.isSecure(mUserId);
             if (!getActivity().isChangingConfigurations()
-                    && !mWaitingForConfirmation && hasCredential) {
+                    && !mWaitingForConfirmation && !mWaitingForActivityResult && hasCredential
+                    && !mWaitingForBiometricEnrollment) {
                 getActivity().finish();
             }
         }
@@ -876,7 +908,8 @@
                     : R.string.unlock_disable_frp_warning_title;
         }
 
-        private int getResIdForFactoryResetProtectionWarningMessage() {
+        private int getResIdForFactoryResetProtectionWarningMessage(
+                boolean hasAppsWithAuthBoundKeys) {
             final boolean hasFingerprints;
             final boolean hasFace;
             if (mFingerprintManager != null && mFingerprintManager.isHardwareDetected()) {
@@ -905,13 +938,24 @@
                 case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
                 case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
                     if (hasFingerprints && hasFace) {
-                        return R.string.unlock_disable_frp_warning_content_pin_face_fingerprint;
+                        return hasAppsWithAuthBoundKeys
+                                ?
+                                R.string.unlock_disable_frp_warning_content_pin_face_fingerprint_authbound_keys
+                                : R.string.unlock_disable_frp_warning_content_pin_face_fingerprint;
                     } else if (hasFingerprints) {
-                        return R.string.unlock_disable_frp_warning_content_pin_fingerprint;
+                        return hasAppsWithAuthBoundKeys
+                                ?
+                                R.string.unlock_disable_frp_warning_content_pin_fingerprint_authbound_keys
+                                : R.string.unlock_disable_frp_warning_content_pin_fingerprint;
                     } else if (hasFace) {
-                        return R.string.unlock_disable_frp_warning_content_pin_face;
+                        return hasAppsWithAuthBoundKeys
+                                ?
+                                R.string.unlock_disable_frp_warning_content_pin_face_authbound_keys
+                                : R.string.unlock_disable_frp_warning_content_pin_face;
                     } else {
-                        return R.string.unlock_disable_frp_warning_content_pin;
+                        return hasAppsWithAuthBoundKeys
+                                ? R.string.unlock_disable_frp_warning_content_pin_authbound_keys
+                                : R.string.unlock_disable_frp_warning_content_pin;
                     }
                 case DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC:
                 case DevicePolicyManager.PASSWORD_QUALITY_ALPHANUMERIC:
@@ -968,9 +1012,26 @@
             return false;
         }
 
-        private void showFactoryResetProtectionWarningDialog(String unlockMethodToSet) {
+        private void showFactoryResetProtectionWarningDialog(String unlockMethodToSet,
+                long userSecureId) {
+            // Call Keystore to find out if this user has apps with authentication-bound
+            // keys associated with the userSecureId of the LSKF to be removed.
+            boolean appsAffectedByFRPRemovalExist;
+            try {
+                long[] appsAffectedByFRPRemoval =
+                        AndroidKeyStoreMaintenance.getAllAppUidsAffectedBySid(mUserId,
+                                userSecureId);
+                appsAffectedByFRPRemovalExist = appsAffectedByFRPRemoval.length > 0;
+            } catch (KeyStoreException e) {
+                Log.w(TAG, String.format("Failed to get list of apps affected by SID %d removal",
+                        userSecureId), e);
+                // Fail closed: If Settings can't reach Keystore, assume (out of caution) that
+                // there are authentication-bound keys that will be invalidated.
+                appsAffectedByFRPRemovalExist = true;
+            }
             int title = getResIdForFactoryResetProtectionWarningTitle();
-            int message = getResIdForFactoryResetProtectionWarningMessage();
+            int message = getResIdForFactoryResetProtectionWarningMessage(
+                    appsAffectedByFRPRemovalExist);
             FactoryResetProtectionWarningDialog dialog =
                     FactoryResetProtectionWarningDialog.newInstance(
                             title, message, unlockMethodToSet);
diff --git a/src/com/android/settings/password/ChooseLockPassword.java b/src/com/android/settings/password/ChooseLockPassword.java
index ed155bc..631c735 100644
--- a/src/com/android/settings/password/ChooseLockPassword.java
+++ b/src/com/android/settings/password/ChooseLockPassword.java
@@ -260,7 +260,6 @@
         private LockscreenCredential mFirstPassword;
         private RecyclerView mPasswordRestrictionView;
         protected boolean mIsAlphaMode;
-        protected boolean mIsManagedProfile;
         protected FooterButton mSkipOrClearButton;
         private FooterButton mNextButton;
         private TextView mMessage;
@@ -272,6 +271,14 @@
 
         private static final int CONFIRM_EXISTING_REQUEST = 58;
         static final int RESULT_FINISHED = RESULT_FIRST_USER;
+        /** Used to store the profile type for which pin/password is being set */
+        protected enum ProfileType {
+            None,
+            Managed,
+            Private,
+            Other
+        };
+        protected ProfileType mProfileType;
 
         /**
          * Keep track internally of where the user is in choosing a pattern.
@@ -285,12 +292,14 @@
                     R.string.lockpassword_choose_your_password_header_for_fingerprint,
                     R.string.lockpassword_choose_your_password_header_for_face,
                     R.string.lockpassword_choose_your_password_header_for_biometrics,
+                    R.string.private_space_choose_your_password_header, // private space password
                     R.string.lockpassword_choose_your_pin_header, // pin
                     SET_WORK_PROFILE_PIN_HEADER,
                     R.string.lockpassword_choose_your_profile_pin_header,
                     R.string.lockpassword_choose_your_pin_header_for_fingerprint,
                     R.string.lockpassword_choose_your_pin_header_for_face,
                     R.string.lockpassword_choose_your_pin_header_for_biometrics,
+                    R.string.private_space_choose_your_pin_header, // private space pin
                     R.string.lock_settings_picker_biometrics_added_security_message,
                     R.string.lock_settings_picker_biometrics_added_security_message,
                     R.string.next_label),
@@ -302,12 +311,14 @@
                     R.string.lockpassword_confirm_your_password_header,
                     R.string.lockpassword_confirm_your_password_header,
                     R.string.lockpassword_confirm_your_password_header,
+                    R.string.lockpassword_confirm_your_password_header,
                     R.string.lockpassword_confirm_your_pin_header,
                     REENTER_WORK_PROFILE_PIN_HEADER,
                     R.string.lockpassword_reenter_your_profile_pin_header,
                     R.string.lockpassword_confirm_your_pin_header,
                     R.string.lockpassword_confirm_your_pin_header,
                     R.string.lockpassword_confirm_your_pin_header,
+                    R.string.lockpassword_confirm_your_pin_header,
                     0,
                     0,
                     R.string.lockpassword_confirm_label),
@@ -319,12 +330,14 @@
                     R.string.lockpassword_confirm_passwords_dont_match,
                     R.string.lockpassword_confirm_passwords_dont_match,
                     R.string.lockpassword_confirm_passwords_dont_match,
+                    R.string.lockpassword_confirm_passwords_dont_match,
                     R.string.lockpassword_confirm_pins_dont_match,
                     UNDEFINED,
                     R.string.lockpassword_confirm_pins_dont_match,
                     R.string.lockpassword_confirm_pins_dont_match,
                     R.string.lockpassword_confirm_pins_dont_match,
                     R.string.lockpassword_confirm_pins_dont_match,
+                    R.string.lockpassword_confirm_pins_dont_match,
                     0,
                     0,
                     R.string.lockpassword_confirm_label);
@@ -335,29 +348,33 @@
                     int hintInAlphaForFingerprint,
                     int hintInAlphaForFace,
                     int hintInAlphaForBiometrics,
+                    int hintInAlphaForPrivateProfile,
                     int hintInNumeric,
                     String hintOverrideInNumericForProfile,
                     int hintInNumericForProfile,
                     int hintInNumericForFingerprint,
                     int hintInNumericForFace,
                     int hintInNumericForBiometrics,
+                    int hintInNumericForPrivateProfile,
                     int messageInAlphaForBiometrics,
                     int messageInNumericForBiometrics,
                     int nextButtonText) {
 
                 this.alphaHint = hintInAlpha;
                 this.alphaHintOverrideForProfile = hintOverrideInAlphaForProfile;
-                this.alphaHintForProfile = hintInAlphaForProfile;
+                this.alphaHintForManagedProfile = hintInAlphaForProfile;
                 this.alphaHintForFingerprint = hintInAlphaForFingerprint;
                 this.alphaHintForFace = hintInAlphaForFace;
                 this.alphaHintForBiometrics = hintInAlphaForBiometrics;
+                this.alphaHintForPrivateProfile = hintInAlphaForPrivateProfile;
 
                 this.numericHint = hintInNumeric;
                 this.numericHintOverrideForProfile = hintOverrideInNumericForProfile;
-                this.numericHintForProfile = hintInNumericForProfile;
+                this.numericHintForManagedProfile = hintInNumericForProfile;
                 this.numericHintForFingerprint = hintInNumericForFingerprint;
                 this.numericHintForFace = hintInNumericForFace;
                 this.numericHintForBiometrics = hintInNumericForBiometrics;
+                this.numericHintForPrivateProfile = hintInNumericForPrivateProfile;
 
                 this.alphaMessageForBiometrics = messageInAlphaForBiometrics;
                 this.numericMessageForBiometrics = messageInNumericForBiometrics;
@@ -372,16 +389,18 @@
 
             // Password header
             public final int alphaHint;
+            public final int alphaHintForPrivateProfile;
             public final String alphaHintOverrideForProfile;
-            public final int alphaHintForProfile;
+            public final int alphaHintForManagedProfile;
             public final int alphaHintForFingerprint;
             public final int alphaHintForFace;
             public final int alphaHintForBiometrics;
 
             // PIN header
             public final int numericHint;
+            public final int numericHintForPrivateProfile;
             public final String numericHintOverrideForProfile;
-            public final int numericHintForProfile;
+            public final int numericHintForManagedProfile;
             public final int numericHintForFingerprint;
             public final int numericHintForFace;
             public final int numericHintForBiometrics;
@@ -394,34 +413,40 @@
 
             public final int buttonText;
 
-            public String getHint(Context context, boolean isAlpha, int type, boolean isProfile) {
+            public String getHint(Context context, boolean isAlpha, int type, ProfileType profile) {
                 if (isAlpha) {
-                    if (type == TYPE_FINGERPRINT) {
+                    if (android.os.Flags.allowPrivateProfile()
+                            && profile.equals(ProfileType.Private)) {
+                        return context.getString(alphaHintForPrivateProfile);
+                    } else if (type == TYPE_FINGERPRINT) {
                         return context.getString(alphaHintForFingerprint);
                     } else if (type == TYPE_FACE) {
                         return context.getString(alphaHintForFace);
                     } else if (type == TYPE_BIOMETRIC) {
                         return context.getString(alphaHintForBiometrics);
-                    } else if (isProfile) {
+                    } else if (profile.equals(ProfileType.Managed)) {
                         return context.getSystemService(DevicePolicyManager.class).getResources()
                                 .getString(alphaHintOverrideForProfile,
-                                        () -> context.getString(alphaHintForProfile));
+                                        () -> context.getString(alphaHintForManagedProfile));
                     } else {
                         return context.getString(alphaHint);
                     }
                 } else {
-                    if (type == TYPE_FINGERPRINT) {
+                    if (android.os.Flags.allowPrivateProfile()
+                            && profile.equals(ProfileType.Private)) {
+                        return context.getString(numericHintForPrivateProfile);
+                    } else if (type == TYPE_FINGERPRINT) {
                         return context.getString(numericHintForFingerprint);
                     } else if (type == TYPE_FACE) {
                         return context.getString(numericHintForFace);
                     } else if (type == TYPE_BIOMETRIC) {
                         return context.getString(numericHintForBiometrics);
-                    } else if (isProfile) {
+                    } else if (profile.equals(ProfileType.Managed)) {
                         return context.getSystemService(DevicePolicyManager.class).getResources()
                                 .getString(numericHintOverrideForProfile,
-                                        () -> context.getString(numericHintForProfile));
+                                        () -> context.getString(numericHintForManagedProfile));
                     } else {
-                        return  context.getString(numericHint);
+                        return context.getString(numericHint);
                     }
                 }
             }
@@ -455,7 +480,7 @@
             }
             // Only take this argument into account if it belongs to the current profile.
             mUserId = Utils.getUserIdFromBundle(getActivity(), intent.getExtras());
-            mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mUserId);
+            mProfileType = getProfileType();
             mForFingerprint = intent.getBooleanExtra(
                     ChooseLockSettingsHelper.EXTRA_KEY_FOR_FINGERPRINT, false);
             mForFace = intent.getBooleanExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE, false);
@@ -497,7 +522,8 @@
                             .setText(R.string.lockpassword_clear_label)
                             .setListener(this::onSkipOrClearButtonClick)
                             .setButtonType(FooterButton.ButtonType.SKIP)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
             mixin.setPrimaryButton(
@@ -505,7 +531,7 @@
                             .setText(R.string.next_label)
                             .setListener(this::onNextButtonClick)
                             .setButtonType(FooterButton.ButtonType.NEXT)
-                            .setTheme(R.style.SudGlifButton_Primary)
+                            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                             .build()
             );
             mSkipOrClearButton = mixin.getSecondaryButton();
@@ -519,7 +545,7 @@
                     || DevicePolicyManager.PASSWORD_QUALITY_COMPLEX == mPasswordType;
 
             final LinearLayout headerLayout = view.findViewById(
-                    R.id.sud_layout_header);
+                    com.google.android.setupdesign.R.id.sud_layout_header);
             setupPasswordRequirementsView(headerLayout);
 
             mPasswordRestrictionView.setLayoutManager(new LinearLayoutManager(getActivity()));
@@ -601,7 +627,7 @@
             if (activity instanceof SettingsActivity) {
                 final SettingsActivity sa = (SettingsActivity) activity;
                 String title = Stage.Introduction.getHint(
-                        getContext(), mIsAlphaMode, getStageType(), mIsManagedProfile);
+                        getContext(), mIsAlphaMode, getStageType(), mProfileType);
                 sa.setTitle(title);
                 mLayout.setHeaderText(title);
             }
@@ -733,18 +759,17 @@
 
         /**
          * Validates PIN/Password and returns the validation result and updates mValidationErrors
-         * and mPasswordReused to reflect validation results.
+         * to reflect validation results.
          *
          * @param credential credential the user typed in.
          * @return whether password satisfies all the requirements.
          */
         @VisibleForTesting
         boolean validatePassword(LockscreenCredential credential) {
-            final byte[] password = credential.getCredential();
-            mValidationErrors = PasswordMetrics.validatePassword(
-                    mMinMetrics, mMinComplexity, !mIsAlphaMode, password);
-            if (mValidationErrors.isEmpty() &&  mLockPatternUtils.checkPasswordHistory(
-                        password, getPasswordHistoryHashFactor(), mUserId)) {
+            mValidationErrors = PasswordMetrics.validateCredential(mMinMetrics, mMinComplexity,
+                    credential);
+            if (mValidationErrors.isEmpty() && mLockPatternUtils.checkPasswordHistory(
+                        credential.getCredential(), getPasswordHistoryHashFactor(), mUserId)) {
                 mValidationErrors =
                         Collections.singletonList(new PasswordValidationError(RECENTLY_USED));
             }
@@ -921,8 +946,8 @@
             final boolean canInput = mSaveAndFinishWorker == null;
 
             LockscreenCredential password = mIsAlphaMode
-                    ? LockscreenCredential.createPasswordOrNone(mPasswordEntry.getText())
-                    : LockscreenCredential.createPinOrNone(mPasswordEntry.getText());
+                    ? LockscreenCredential.createPassword(mPasswordEntry.getText())
+                    : LockscreenCredential.createPin(mPasswordEntry.getText());
             final int length = password.size();
             if (mUiStage == Stage.Introduction) {
                 mPasswordRestrictionView.setVisibility(View.VISIBLE);
@@ -938,7 +963,7 @@
                 // Hide password requirement view when we are just asking user to confirm the pw.
                 mPasswordRestrictionView.setVisibility(View.GONE);
                 setHeaderText(mUiStage.getHint(getContext(), mIsAlphaMode, getStageType(),
-                        mIsManagedProfile));
+                        mProfileType));
                 setNextEnabled(canInput && length >= LockPatternUtils.MIN_LOCK_PASSWORD_SIZE);
                 mSkipOrClearButton.setVisibility(toVisibility(canInput && length > 0));
 
@@ -1084,6 +1109,12 @@
                     startActivity(intent);
                 }
             }
+
+            if (mLayout != null) {
+                mLayout.announceForAccessibility(
+                        getString(R.string.accessibility_setup_password_complete));
+            }
+
             getActivity().finish();
         }
 
@@ -1110,5 +1141,18 @@
                 }
             }
         }
+
+        private ProfileType getProfileType() {
+            UserManager userManager = getContext().createContextAsUser(UserHandle.of(mUserId),
+                    /*flags=*/0).getSystemService(UserManager.class);
+            if (userManager.isManagedProfile()) {
+                return ProfileType.Managed;
+            } else if (android.os.Flags.allowPrivateProfile() && userManager.isPrivateProfile()) {
+                return ProfileType.Private;
+            } else if (userManager.isProfile()) {
+                return ProfileType.Other;
+            }
+            return ProfileType.None;
+        }
     }
 }
diff --git a/src/com/android/settings/password/ChooseLockPattern.java b/src/com/android/settings/password/ChooseLockPattern.java
index 7569c15..8d0aebe 100644
--- a/src/com/android/settings/password/ChooseLockPattern.java
+++ b/src/com/android/settings/password/ChooseLockPattern.java
@@ -469,21 +469,27 @@
 
         private void updateActivityTitle() {
             final String msg;
-            if (mForFingerprint) {
+            if (mForFingerprint && !shouldShowGenericTitle()) {
                 msg = getString(R.string.lockpassword_choose_your_pattern_header_for_fingerprint);
-            } else if (mForFace) {
+            } else if (mForFace && !shouldShowGenericTitle()) {
                 msg = getString(R.string.lockpassword_choose_your_pattern_header_for_face);
             } else if (mIsManagedProfile) {
                 msg = getContext().getSystemService(DevicePolicyManager.class).getResources()
                         .getString(SET_WORK_PROFILE_PATTERN_HEADER,
                                 () -> getString(
                                         R.string.lockpassword_choose_your_profile_pattern_header));
+            } else if (android.os.Flags.allowPrivateProfile() && isPrivateProfile()) {
+                msg = getString(R.string.private_space_choose_your_pattern_header);
             } else {
                 msg = getString(R.string.lockpassword_choose_your_pattern_header);
             }
             getActivity().setTitle(msg);
         }
 
+        protected boolean shouldShowGenericTitle() {
+            return false;
+        }
+
         @SuppressLint("ClickableViewAccessibility")
         @Override
         public View onCreateView(LayoutInflater inflater, ViewGroup container,
@@ -514,7 +520,8 @@
                             .setText(R.string.lockpattern_tutorial_cancel_label)
                             .setListener(this::onSkipOrClearButtonClick)
                             .setButtonType(FooterButton.ButtonType.OTHER)
-                            .setTheme(R.style.SudGlifButton_Secondary)
+                            .setTheme(
+                                    com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                             .build()
             );
             mixin.setPrimaryButton(
@@ -522,13 +529,14 @@
                             .setText(R.string.lockpattern_tutorial_continue_label)
                             .setListener(this::onNextButtonClick)
                             .setButtonType(FooterButton.ButtonType.NEXT)
-                            .setTheme(R.style.SudGlifButton_Primary)
+                            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                             .build()
             );
             mSkipOrClearButton = mixin.getSecondaryButton();
             mNextButton = mixin.getPrimaryButton();
             // TODO(b/243008023) Workaround for Glif layout on 2 panel choose lock settings.
-            mSudContent = layout.findViewById(R.id.sud_layout_content);
+            mSudContent = layout.findViewById(
+                    com.google.android.setupdesign.R.id.sud_layout_content);
             mSudContent.setPadding(mSudContent.getPaddingLeft(), 0, mSudContent.getPaddingRight(),
                     0);
 
@@ -741,7 +749,7 @@
             if (stage == Stage.ConfirmWrong || stage == Stage.ChoiceTooShort) {
                 TypedValue typedValue = new TypedValue();
                 Theme theme = getActivity().getTheme();
-                theme.resolveAttribute(R.attr.colorError, typedValue, true);
+                theme.resolveAttribute(androidx.appcompat.R.attr.colorError, typedValue, true);
                 mHeaderText.setTextColor(typedValue.data);
             } else if (mDefaultHeaderColorList != null) {
                 mHeaderText.setTextColor(mDefaultHeaderColorList);
@@ -869,7 +877,19 @@
                     startActivity(intent);
                 }
             }
+
+            if (mSudContent != null) {
+                mSudContent.announceForAccessibility(
+                        getString(R.string.accessibility_setup_password_complete));
+            }
+
             getActivity().finish();
         }
+
+        private boolean isPrivateProfile() {
+            UserManager userManager = getContext().createContextAsUser(UserHandle.of(mUserId),
+                    /*flags=*/0).getSystemService(UserManager.class);
+            return userManager.isPrivateProfile();
+        }
     }
 }
diff --git a/src/com/android/settings/password/ChooseLockSettingsHelper.java b/src/com/android/settings/password/ChooseLockSettingsHelper.java
index e5fc550..e74b776 100644
--- a/src/com/android/settings/password/ChooseLockSettingsHelper.java
+++ b/src/com/android/settings/password/ChooseLockSettingsHelper.java
@@ -18,8 +18,6 @@
 
 import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.ActivityOptions;
 import android.app.KeyguardManager;
@@ -33,6 +31,8 @@
 import android.util.Log;
 
 import androidx.activity.result.ActivityResultLauncher;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
 
@@ -118,6 +118,14 @@
     public static final String EXTRA_KEY_DEVICE_PASSWORD_REQUIREMENT_ONLY =
             "device_password_requirement_only";
 
+    /** Intent extra for passing the screen title resource ID to show in the set lock screen. */
+    public static final String EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE =
+            "choose_lock_setup_screen_title";
+
+    /** Intent extra for passing the description resource ID to show in the set lock screen. */
+    public static final String EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION =
+            "choose_lock_setup_screen_description";
+
     @VisibleForTesting @NonNull LockPatternUtils mLockPatternUtils;
     @NonNull private final Activity mActivity;
     @Nullable private final Fragment mFragment;
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
index e4ebad7..f2ebd1f 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialActivity.java
@@ -26,10 +26,12 @@
 import android.app.KeyguardManager;
 import android.app.RemoteLockscreenValidationSession;
 import android.app.admin.DevicePolicyManager;
+import android.app.admin.ManagedSubscriptionsPolicy;
 import android.app.trust.TrustManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.UserProperties;
 import android.content.res.Configuration;
 import android.graphics.Color;
 import android.hardware.biometrics.BiometricConstants;
@@ -41,6 +43,7 @@
 import android.os.Looper;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.os.storage.StorageManager;
 import android.util.Log;
 import android.view.WindowManager;
 
@@ -60,11 +63,6 @@
 public class ConfirmDeviceCredentialActivity extends FragmentActivity {
     public static final String TAG = ConfirmDeviceCredentialActivity.class.getSimpleName();
 
-    // The normal flow that apps go through
-    private static final int CREDENTIAL_NORMAL = 1;
-    // Unlocks the managed profile when the primary profile is unlocked
-    private static final int CREDENTIAL_MANAGED = 2;
-
     private static final String TAG_BIOMETRIC_FRAGMENT = "fragment";
 
     public static class InternalActivity extends ConfirmDeviceCredentialActivity {
@@ -83,7 +81,9 @@
     private String mTitle;
     private CharSequence mDetails;
     private int mUserId;
-    private int mCredentialMode;
+    // Used to force the verification path required to unlock profile that shares credentials with
+    // with parent
+    private boolean mForceVerifyPath = false;
     private boolean mGoingToBackground;
     private boolean mWaitingForBiometricCallback;
 
@@ -188,7 +188,9 @@
         }
         final int effectiveUserId = mUserManager.getCredentialOwnerProfile(mUserId);
         final boolean isEffectiveUserManagedProfile =
-                UserManager.get(this).isManagedProfile(effectiveUserId);
+                mUserManager.isManagedProfile(effectiveUserId);
+        final UserProperties userProperties =
+                mUserManager.getUserProperties(UserHandle.of(mUserId));
         // if the client app did not hand in a title and we are about to show the work challenge,
         // check whether there is a policy setting the organization name and use that as title
         if ((mTitle == null) && isEffectiveUserManagedProfile) {
@@ -200,6 +202,13 @@
         promptInfo.setDescription(mDetails);
         promptInfo.setDisallowBiometricsIfPolicyExists(mCheckDevicePolicyManager);
 
+        final int policyType = mDevicePolicyManager.getManagedSubscriptionsPolicy().getPolicyType();
+
+        if (isEffectiveUserManagedProfile
+                && (policyType == ManagedSubscriptionsPolicy.TYPE_ALL_MANAGED_SUBSCRIPTIONS)) {
+            promptInfo.setShowEmergencyCallButton(true);
+        }
+
         final @LockPatternUtils.CredentialType int credentialType = Utils.getCredentialType(
                 mContext, effectiveUserId);
         if (mTitle == null) {
@@ -270,20 +279,50 @@
                     .setForceVerifyPath(true)
                     .show();
         } else if (isEffectiveUserManagedProfile && isInternalActivity()) {
-            mCredentialMode = CREDENTIAL_MANAGED;
+            // When the mForceVerifyPath is set to true, we launch the real confirm credential
+            // activity with an explicit but fake challenge value (0L). This will result in
+            // ConfirmLockPassword calling verifyTiedProfileChallenge() (if it's a profile with
+            // unified challenge), due to the difference between
+            // ConfirmLockPassword.startVerifyPassword() and
+            // ConfirmLockPassword.startCheckPassword(). Calling verifyTiedProfileChallenge() here
+            // is necessary when this is part of the turning on work profile flow, because it forces
+            // unlocking the work profile even before the profile is running.
+            // TODO: Remove the duplication of checkPassword and verifyPassword in
+            //  ConfirmLockPassword,
+            // LockPatternChecker and LockPatternUtils. verifyPassword should be the only API to
+            // use, which optionally accepts a challenge.
+            mForceVerifyPath = true;
             if (isBiometricAllowed(effectiveUserId, mUserId)) {
-                showBiometricPrompt(promptInfo);
+                showBiometricPrompt(promptInfo, mUserId);
+                launchedBiometric = true;
+            } else {
+                showConfirmCredentials();
+                launchedCDC = true;
+            }
+        } else if (android.os.Flags.allowPrivateProfile()
+                && userProperties != null
+                && userProperties.isAuthAlwaysRequiredToDisableQuietMode()
+                && isInternalActivity()) {
+            // Force verification path is required to be invoked as we might need to verify the
+            // tied profile challenge if the profile is using the unified challenge mode. This
+            // would result in ConfirmLockPassword.startVerifyPassword/
+            // ConfirmLockPattern.startVerifyPattern being called instead of the
+            // startCheckPassword/startCheckPattern
+            mForceVerifyPath = userProperties.isCredentialShareableWithParent();
+            if (android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
+                    && isBiometricAllowed(effectiveUserId, mUserId)) {
+                promptInfo.setUseParentProfileForDeviceCredential(true);
+                showBiometricPrompt(promptInfo, effectiveUserId);
                 launchedBiometric = true;
             } else {
                 showConfirmCredentials();
                 launchedCDC = true;
             }
         } else {
-            mCredentialMode = CREDENTIAL_NORMAL;
             if (isBiometricAllowed(effectiveUserId, mUserId)) {
                 // Don't need to check if biometrics / pin/pattern/pass are enrolled. It will go to
                 // onAuthenticationError and do the right thing automatically.
-                showBiometricPrompt(promptInfo);
+                showBiometricPrompt(promptInfo, mUserId);
                 launchedBiometric = true;
             } else {
                 showConfirmCredentials();
@@ -305,11 +344,8 @@
 
     private String getTitleFromCredentialType(@LockPatternUtils.CredentialType int credentialType,
             boolean isEffectiveUserManagedProfile) {
-        int overrideStringId;
-        int defaultStringId;
         switch (credentialType) {
             case LockPatternUtils.CREDENTIAL_TYPE_PIN:
-
                 if (isEffectiveUserManagedProfile) {
                     return mDevicePolicyManager.getResources().getString(
                             CONFIRM_WORK_PROFILE_PIN_HEADER,
@@ -372,7 +408,19 @@
     // biometric is disabled due to device restart.
     private boolean isStrongAuthRequired(int effectiveUserId) {
         return !mLockPatternUtils.isBiometricAllowedForUser(effectiveUserId)
-                || !mUserManager.isUserUnlocked(mUserId);
+                || doesUserStateEnforceStrongAuth(mUserId);
+    }
+
+    private boolean doesUserStateEnforceStrongAuth(int userId) {
+        if (android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()) {
+            // Check if CE storage for user is locked since biometrics can't unlock fbe/keystore of
+            // the profile user using verifyTiedProfileChallenge. Biometrics can still be used if
+            // the user is stopped with delayed locking (i.e., with storage unlocked), so the user
+            // state (whether the user is in the RUNNING_UNLOCKED state) should not be relied upon.
+            return !StorageManager.isCeStorageUnlocked(userId);
+        }
+        return !mUserManager.isUserUnlocked(userId);
     }
 
     private boolean isBiometricAllowed(int effectiveUserId, int realUserId) {
@@ -380,7 +428,7 @@
                 .hasPendingEscrowToken(realUserId);
     }
 
-    private void showBiometricPrompt(PromptInfo promptInfo) {
+    private void showBiometricPrompt(PromptInfo promptInfo, int userId) {
         mBiometricFragment = (BiometricFragment) getSupportFragmentManager()
                 .findFragmentByTag(TAG_BIOMETRIC_FRAGMENT);
         boolean newFragment = false;
@@ -390,7 +438,9 @@
             newFragment = true;
         }
         mBiometricFragment.setCallbacks(mExecutor, mAuthenticationCallback);
-        mBiometricFragment.setUser(mUserId);
+        // TODO(b/315864564): Move the logic of choosing the user id against which the
+        //  authentication needs to happen to the BiometricPrompt API
+        mBiometricFragment.setUser(userId);
 
         if (newFragment) {
             getSupportFragmentManager().beginTransaction()
@@ -402,29 +452,15 @@
      * Shows ConfirmDeviceCredentials for normal apps.
      */
     private void showConfirmCredentials() {
-        boolean launched = false;
-        ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(this)
+        boolean launched = new ChooseLockSettingsHelper.Builder(this)
                 .setHeader(mTitle)
                 .setDescription(mDetails)
                 .setExternal(true)
                 .setUserId(mUserId)
-                .setTaskOverlay(mTaskOverlay);
-        // The only difference between CREDENTIAL_MANAGED and CREDENTIAL_NORMAL is that for
-        // CREDENTIAL_MANAGED, we launch the real confirm credential activity with an explicit
-        // but fake challenge value (0L). This will result in ConfirmLockPassword calling
-        // verifyTiedProfileChallenge() (if it's a profile with unified challenge), due to the
-        // difference between ConfirmLockPassword.startVerifyPassword() and
-        // ConfirmLockPassword.startCheckPassword(). Calling verifyTiedProfileChallenge() here is
-        // necessary when this is part of the turning on work profile flow, because it forces
-        // unlocking the work profile even before the profile is running.
-        // TODO: Remove the duplication of checkPassword and verifyPassword in ConfirmLockPassword,
-        // LockPatternChecker and LockPatternUtils. verifyPassword should be the only API to use,
-        // which optionally accepts a challenge.
-        if (mCredentialMode == CREDENTIAL_MANAGED) {
-            launched = builder.setForceVerifyPath(true).show();
-        } else if (mCredentialMode == CREDENTIAL_NORMAL) {
-            launched = builder.show();
-        }
+                .setTaskOverlay(mTaskOverlay)
+                .setForceVerifyPath(mForceVerifyPath)
+                .show();
+
         if (!launched) {
             Log.d(TAG, "No pin/pattern/pass set");
             setResult(Activity.RESULT_OK);
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
index 43d8440..2af360a 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialBaseFragment.java
@@ -22,7 +22,6 @@
 
 import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
 
-import android.annotation.Nullable;
 import android.app.Dialog;
 import android.app.KeyguardManager;
 import android.app.RemoteLockscreenValidationSession;
@@ -48,6 +47,7 @@
 import android.widget.CheckBox;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
 import androidx.fragment.app.FragmentManager;
@@ -419,6 +419,10 @@
         }
     }
 
+    protected void clearResetErrorRunnable() {
+        mHandler.removeCallbacks(mResetErrorRunnable);
+    }
+
     protected void validateGuess(LockscreenCredential credentialGuess) {
         mRemoteLockscreenValidationFragment.validateLockscreenGuess(
                 mRemoteLockscreenValidationClient, credentialGuess,
diff --git a/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java b/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java
index 4778c03..32e7489 100644
--- a/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java
+++ b/src/com/android/settings/password/ConfirmDeviceCredentialUtils.java
@@ -23,6 +23,8 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.Intent;
 import android.content.IntentSender;
+import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
 import android.os.RemoteException;
 import android.os.UserManager;
 import android.view.View;
@@ -68,17 +70,45 @@
             DevicePolicyManager dpm, int userId, boolean isStrongAuth) {
         if (isStrongAuth) {
             utils.reportSuccessfulPasswordAttempt(userId);
+            if (isBiometricUnlockEnabledForPrivateSpace()) {
+                final UserInfo userInfo = userManager.getUserInfo(userId);
+                if (userInfo != null) {
+                    if (isProfileThatAlwaysRequiresAuthToDisableQuietMode(userManager, userInfo)
+                            || userInfo.isManagedProfile()) {
+                        // Keyguard is responsible to disable StrongAuth for primary user. Disable
+                        // StrongAuth for profile challenges only here.
+                        utils.userPresent(userId);
+                    }
+                }
+            }
         } else {
             dpm.reportSuccessfulBiometricAttempt(userId);
         }
-        if (userManager.isManagedProfile(userId)) {
-            // Keyguard is responsible to disable StrongAuth for primary user. Disable StrongAuth
-            // for work challenge only here.
-            utils.userPresent(userId);
+        if (!isBiometricUnlockEnabledForPrivateSpace()) {
+            if (userManager.isManagedProfile(userId)) {
+                // Disable StrongAuth for work challenge only here.
+                utils.userPresent(userId);
+            }
         }
     }
 
     /**
+     * Returns true if the userInfo passed as the parameter corresponds to a profile that always
+     * requires auth to disable quiet mode and false otherwise
+     */
+    private static boolean isProfileThatAlwaysRequiresAuthToDisableQuietMode(
+            UserManager userManager, @NonNull UserInfo userInfo) {
+        final UserProperties userProperties =
+                    userManager.getUserProperties(userInfo.getUserHandle());
+        return userProperties.isAuthAlwaysRequiredToDisableQuietMode() && userInfo.isProfile();
+    }
+
+    private static boolean isBiometricUnlockEnabledForPrivateSpace() {
+        return android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace();
+    }
+
+    /**
      * Request hiding soft-keyboard before animating away credential UI, in case IME
      * insets animation get delayed by dismissing animation.
      * @param view used to get root {@link WindowInsets} and {@link WindowInsetsController}.
diff --git a/src/com/android/settings/password/ConfirmLockPassword.java b/src/com/android/settings/password/ConfirmLockPassword.java
index b203015..b9b1810 100644
--- a/src/com/android/settings/password/ConfirmLockPassword.java
+++ b/src/com/android/settings/password/ConfirmLockPassword.java
@@ -26,7 +26,6 @@
 import static com.android.settings.biometrics.GatekeeperPasswordProvider.getGatekeeperPasswordHandle;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
 
-import android.annotation.Nullable;
 import android.app.KeyguardManager;
 import android.app.RemoteLockscreenValidationResult;
 import android.app.admin.DevicePolicyManager;
@@ -57,6 +56,7 @@
 import android.widget.TextView;
 import android.widget.TextView.OnEditorActionListener;
 
+import androidx.annotation.Nullable;
 import androidx.fragment.app.Fragment;
 
 import com.android.internal.widget.LockPatternChecker;
@@ -666,6 +666,7 @@
         }
 
         private void handleAttemptLockout(long elapsedRealtimeDeadline) {
+            clearResetErrorRunnable();
             mCountdownTimer = new CountDownTimer(
                     elapsedRealtimeDeadline - SystemClock.elapsedRealtime(),
                     LockPatternUtils.FAILED_ATTEMPT_COUNTDOWN_INTERVAL_MS) {
diff --git a/src/com/android/settings/password/ConfirmLockPattern.java b/src/com/android/settings/password/ConfirmLockPattern.java
index 7160d64..3415478 100644
--- a/src/com/android/settings/password/ConfirmLockPattern.java
+++ b/src/com/android/settings/password/ConfirmLockPattern.java
@@ -24,7 +24,6 @@
 import static com.android.settings.biometrics.GatekeeperPasswordProvider.getGatekeeperPasswordHandle;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
 
-import android.annotation.Nullable;
 import android.annotation.SuppressLint;
 import android.app.Activity;
 import android.app.KeyguardManager;
@@ -46,6 +45,8 @@
 import android.view.animation.Interpolator;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+
 import com.android.internal.widget.LinearLayoutWithDefaultTouchRecepient;
 import com.android.internal.widget.LockPatternChecker;
 import com.android.internal.widget.LockPatternUtils;
@@ -135,7 +136,8 @@
             mLockPatternView = (LockPatternView) view.findViewById(R.id.lockPattern);
             mErrorTextView = (TextView) view.findViewById(R.id.errorText);
             // TODO(b/243008023) Workaround for Glif layout on 2 panel choose lock settings.
-            mSudContent = mGlifLayout.findViewById(R.id.sud_layout_content);
+            mSudContent = mGlifLayout.findViewById(
+                    com.google.android.setupdesign.R.id.sud_layout_content);
             mSudContent.setPadding(mSudContent.getPaddingLeft(), 0, mSudContent.getPaddingRight(),
                     0);
             mIsManagedProfile = UserManager.get(getActivity()).isManagedProfile(mEffectiveUserId);
@@ -696,6 +698,7 @@
         }
 
         private void handleAttemptLockout(long elapsedRealtimeDeadline) {
+            clearResetErrorRunnable();
             updateStage(Stage.LockedOut);
             long elapsedRealtime = SystemClock.elapsedRealtime();
             mCountdownTimer = new CountDownTimer(
diff --git a/src/com/android/settings/password/ForgotPasswordActivity.java b/src/com/android/settings/password/ForgotPasswordActivity.java
index 92dc336..ae05085 100644
--- a/src/com/android/settings/password/ForgotPasswordActivity.java
+++ b/src/com/android/settings/password/ForgotPasswordActivity.java
@@ -64,7 +64,7 @@
                         .setText(android.R.string.ok)
                         .setListener(v -> finish())
                         .setButtonType(FooterButton.ButtonType.DONE)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
 
diff --git a/src/com/android/settings/password/PasswordRequirementAdapter.java b/src/com/android/settings/password/PasswordRequirementAdapter.java
index 0d8f02e..7cf6a00 100644
--- a/src/com/android/settings/password/PasswordRequirementAdapter.java
+++ b/src/com/android/settings/password/PasswordRequirementAdapter.java
@@ -16,13 +16,13 @@
 
 package com.android.settings.password;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
diff --git a/src/com/android/settings/password/PasswordUtils.java b/src/com/android/settings/password/PasswordUtils.java
index a7edc89..a54df94 100644
--- a/src/com/android/settings/password/PasswordUtils.java
+++ b/src/com/android/settings/password/PasswordUtils.java
@@ -18,7 +18,6 @@
 
 import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
 
-import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.IActivityManager;
 import android.content.Context;
@@ -33,6 +32,8 @@
 import android.widget.LinearLayout;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 import com.android.settings.Utils;
 
@@ -107,7 +108,7 @@
     /** Setup screen lock options button under the Glif Header. */
     public static void setupScreenLockOptionsButton(Context context, View view, Button optButton) {
         final LinearLayout headerLayout = view.findViewById(
-                R.id.sud_layout_header);
+                com.google.android.setupdesign.R.id.sud_layout_header);
         final TextView sucTitleView = headerLayout.findViewById(R.id.suc_layout_title);
         if (headerLayout != null && sucTitleView != null) {
             final ViewGroup.MarginLayoutParams layoutTitleParams =
diff --git a/src/com/android/settings/password/SetNewPasswordActivity.java b/src/com/android/settings/password/SetNewPasswordActivity.java
index fc664ec..9614d28 100644
--- a/src/com/android/settings/password/SetNewPasswordActivity.java
+++ b/src/com/android/settings/password/SetNewPasswordActivity.java
@@ -24,6 +24,8 @@
 import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_NONE;
 
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CALLER_APP_NAME;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_DEVICE_PASSWORD_REQUIREMENT_ONLY;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_IS_CALLING_APP_ADMIN;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_REQUESTED_MIN_COMPLEXITY;
@@ -126,6 +128,10 @@
                 : new Intent(this, ChooseLockGeneric.class);
         intent.setAction(mNewPasswordAction);
         intent.putExtras(chooseLockFingerprintExtras);
+        intent.putExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE,
+                getIntent().getIntExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE, -1));
+        intent.putExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION,
+                getIntent().getIntExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION, -1));
         if (mCallerAppName != null) {
             intent.putExtra(EXTRA_KEY_CALLER_APP_NAME, mCallerAppName);
         }
@@ -180,7 +186,7 @@
                 : SettingsEnums.ACTION_SET_NEW_PARENT_PROFILE_PASSWORD;
 
         final MetricsFeatureProvider metricsProvider =
-                FeatureFactory.getFactory(this).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         metricsProvider.action(
                 metricsProvider.getAttribution(this),
                 action,
diff --git a/src/com/android/settings/password/SetNewPasswordController.java b/src/com/android/settings/password/SetNewPasswordController.java
index ef8a15a..aa8fe51 100644
--- a/src/com/android/settings/password/SetNewPasswordController.java
+++ b/src/com/android/settings/password/SetNewPasswordController.java
@@ -22,7 +22,6 @@
 
 import static com.android.internal.util.Preconditions.checkNotNull;
 
-import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
@@ -34,6 +33,7 @@
 import android.os.IBinder;
 import android.os.UserManager;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.Utils;
diff --git a/src/com/android/settings/password/SetupChooseLockGeneric.java b/src/com/android/settings/password/SetupChooseLockGeneric.java
index bc6c512..7c0769e 100644
--- a/src/com/android/settings/password/SetupChooseLockGeneric.java
+++ b/src/com/android/settings/password/SetupChooseLockGeneric.java
@@ -113,7 +113,7 @@
             layout.setDescriptionText(loadDescriptionText());
             layout.setDividerItemDecoration(new SettingsDividerItemDecoration(getContext()));
             layout.setDividerInset(getContext().getResources().getDimensionPixelSize(
-                    R.dimen.sud_items_glif_text_divider_inset));
+                    com.google.android.setupdesign.R.dimen.sud_items_glif_text_divider_inset));
 
             layout.setIcon(getContext().getDrawable(R.drawable.ic_lock));
 
diff --git a/src/com/android/settings/password/SetupChooseLockPassword.java b/src/com/android/settings/password/SetupChooseLockPassword.java
index d0d7d93..f7bf014 100644
--- a/src/com/android/settings/password/SetupChooseLockPassword.java
+++ b/src/com/android/settings/password/SetupChooseLockPassword.java
@@ -99,7 +99,7 @@
 
             if (showOptionsButton && anyOptionsShown) {
                 mOptionsButton = new Button(new ContextThemeWrapper(getActivity(),
-                        R.style.SudGlifButton_Tertiary));
+                        com.google.android.setupdesign.R.style.SudGlifButton_Tertiary));
                 mOptionsButton.setId(R.id.screen_lock_options);
                 PasswordUtils.setupScreenLockOptionsButton(getActivity(), view, mOptionsButton);
                 mOptionsButton.setVisibility(View.VISIBLE);
diff --git a/src/com/android/settings/password/SetupChooseLockPattern.java b/src/com/android/settings/password/SetupChooseLockPattern.java
index 560906d..55b38471 100644
--- a/src/com/android/settings/password/SetupChooseLockPattern.java
+++ b/src/com/android/settings/password/SetupChooseLockPattern.java
@@ -85,7 +85,7 @@
             View view = super.onCreateView(inflater, container, savedInstanceState);
             if (!getResources().getBoolean(R.bool.config_lock_pattern_minimal_ui)) {
                 mOptionsButton = new Button(new ContextThemeWrapper(getActivity(),
-                        R.style.SudGlifButton_Tertiary));
+                        com.google.android.setupdesign.R.style.SudGlifButton_Tertiary));
                 mOptionsButton.setId(R.id.screen_lock_options);
                 PasswordUtils.setupScreenLockOptionsButton(getActivity(), view, mOptionsButton);
                 mOptionsButton.setOnClickListener((btn) ->
@@ -161,6 +161,11 @@
         }
 
         @Override
+        protected boolean shouldShowGenericTitle() {
+            return true;
+        }
+
+        @Override
         protected Intent getRedactionInterstitialIntent(Context context) {
             // Setup wizard's redaction interstitial is deferred to optional step. Enable that
             // optional step if the lock screen was set up.
diff --git a/src/com/android/settings/print/PrintServiceSettingsFragment.java b/src/com/android/settings/print/PrintServiceSettingsFragment.java
index c5316e6..e144ffd 100644
--- a/src/com/android/settings/print/PrintServiceSettingsFragment.java
+++ b/src/com/android/settings/print/PrintServiceSettingsFragment.java
@@ -43,12 +43,13 @@
 import android.view.View.OnClickListener;
 import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityManager;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.Filter;
 import android.widget.Filterable;
 import android.widget.ImageView;
 import android.widget.LinearLayout;
 import android.widget.SearchView;
-import android.widget.Switch;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
@@ -61,7 +62,6 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.widget.SettingsMainSwitchBar;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.util.ArrayList;
 import java.util.LinkedHashMap;
@@ -72,7 +72,7 @@
  * Fragment with print service settings.
  */
 public class PrintServiceSettingsFragment extends SettingsPreferenceFragment
-        implements OnMainSwitchChangeListener,
+        implements OnCheckedChangeListener,
         LoaderManager.LoaderCallbacks<List<PrintServiceInfo>> {
 
     private static final String LOG_TAG = "PrintServiceSettings";
@@ -240,7 +240,7 @@
         mSwitchBar.addOnSwitchChangeListener(this);
         mSwitchBar.show();
 
-        mSwitchBar.setOnBeforeCheckedChangeListener((toggleSwitch, checked) -> {
+        mSwitchBar.setOnBeforeCheckedChangeListener((checked) -> {
             onPreferenceToggled(mPreferenceKey, checked);
             return false;
         });
@@ -250,7 +250,7 @@
 
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         updateEmptyView();
     }
 
diff --git a/src/com/android/settings/print/SettingsPrintServicesLoader.java b/src/com/android/settings/print/SettingsPrintServicesLoader.java
index e94c589..5956d89 100644
--- a/src/com/android/settings/print/SettingsPrintServicesLoader.java
+++ b/src/com/android/settings/print/SettingsPrintServicesLoader.java
@@ -16,12 +16,12 @@
 
 package com.android.settings.print;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.print.PrintManager;
 import android.print.PrintServicesLoader;
 import android.printservice.PrintServiceInfo;
 
+import androidx.annotation.NonNull;
 import androidx.loader.content.Loader;
 
 import com.android.internal.util.Preconditions;
diff --git a/src/com/android/settings/privacy/CameraExtensionsFallbackPreferenceController.java b/src/com/android/settings/privacy/CameraExtensionsFallbackPreferenceController.java
new file mode 100644
index 0000000..1d9c354
--- /dev/null
+++ b/src/com/android/settings/privacy/CameraExtensionsFallbackPreferenceController.java
@@ -0,0 +1,64 @@
+/*
+ * 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.privacy;
+
+import static android.provider.Settings.Secure.CAMERA_EXTENSIONS_FALLBACK;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ * Toggle for camera extensions software fallback
+ */
+public class CameraExtensionsFallbackPreferenceController extends TogglePreferenceController {
+    public CameraExtensionsFallbackPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    @Override
+    public boolean isChecked() {
+        int val = Settings.Secure.getInt(mContext.getContentResolver(),
+                CAMERA_EXTENSIONS_FALLBACK, 1);
+        return val == 1;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        int val = isChecked ? 1 : 0;
+        return Settings.Secure.putInt(mContext.getContentResolver(),
+                CAMERA_EXTENSIONS_FALLBACK, val);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isSliceable() {
+        return false;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        // not needed since it's not sliceable
+        return NO_RES;
+    }
+}
diff --git a/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java b/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java
index 5377f15..c3830c1 100644
--- a/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java
+++ b/src/com/android/settings/privacy/EnableContentCapturePreferenceController.java
@@ -16,11 +16,12 @@
 
 package com.android.settings.privacy;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.os.UserHandle;
 import android.os.UserManager;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settings.utils.ContentCaptureUtils;
diff --git a/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java b/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java
index fcb2347..c8a5471 100644
--- a/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java
+++ b/src/com/android/settings/privacy/EnableContentCaptureWithServiceSettingsPreferenceController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.privacy;
 
-import android.annotation.NonNull;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -26,6 +25,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
diff --git a/src/com/android/settings/privacy/LocationToggleController.java b/src/com/android/settings/privacy/LocationToggleController.java
deleted file mode 100644
index 7d388bd..0000000
--- a/src/com/android/settings/privacy/LocationToggleController.java
+++ /dev/null
@@ -1,95 +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.privacy;
-
-import android.content.Context;
-import android.os.UserHandle;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.TogglePreferenceController;
-import com.android.settings.location.LocationEnabler;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-/**
- * Controller for location toggle
- */
-public class LocationToggleController extends TogglePreferenceController
-        implements LocationEnabler.LocationModeChangeListener {
-
-    private final LocationEnabler mLocationEnabler;
-    private RestrictedSwitchPreference mPreference;
-
-    private boolean mIsLocationEnabled = true;
-
-    public LocationToggleController(Context context, String preferenceKey, Lifecycle lifecycle) {
-        super(context, preferenceKey);
-        mLocationEnabler = new LocationEnabler(context, this, lifecycle);
-        mLocationEnabler.refreshLocationMode();
-    }
-    @Override
-    public void onLocationModeChanged(int mode, boolean restricted) {
-        if (mPreference == null) {
-            return;
-        }
-
-        mIsLocationEnabled = mLocationEnabler.isEnabled(mode);
-        final int userId = UserHandle.myUserId();
-        final RestrictedLockUtils.EnforcedAdmin admin =
-                mLocationEnabler.getShareLocationEnforcedAdmin(userId);
-        final boolean hasBaseUserRestriction =
-                mLocationEnabler.hasShareLocationRestriction(userId);
-        // Disable the whole switch bar instead of the switch itself. If we disabled the switch
-        // only, it would be re-enabled again if the switch bar is not disabled.
-        if (!hasBaseUserRestriction && admin != null) {
-            mPreference.setDisabledByAdmin(admin);
-        } else {
-            mPreference.setEnabled(!restricted);
-        }
-        updateState(mPreference);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return AVAILABLE;
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mIsLocationEnabled;
-    }
-
-    @Override
-    public boolean setChecked(boolean isChecked) {
-        mLocationEnabler.setLocationEnabled(isChecked);
-        return true;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-        mLocationEnabler.refreshLocationMode();
-    }
-
-    @Override
-    public int getSliceHighlightMenuRes() {
-        return 0;
-    }
-}
diff --git a/src/com/android/settings/privacy/PrivacyDashboardFragment.java b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
index 4d76277..04b10d2 100644
--- a/src/com/android/settings/privacy/PrivacyDashboardFragment.java
+++ b/src/com/android/settings/privacy/PrivacyDashboardFragment.java
@@ -28,7 +28,6 @@
 import com.android.settings.dashboard.DashboardFragment;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 import com.android.settings.safetycenter.SafetyCenterUtils;
-import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
@@ -55,15 +54,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        List<EnterpriseOverrideString> privacyOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
-        for (int i = 0; i < privacyOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
+        SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this);
     }
 
     @Override
diff --git a/src/com/android/settings/privacy/PrivacyHubPreferenceController.java b/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
index 0de4f06..b68b5ec 100644
--- a/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
+++ b/src/com/android/settings/privacy/PrivacyHubPreferenceController.java
@@ -16,10 +16,11 @@
 
 package com.android.settings.privacy;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.provider.DeviceConfig;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.core.BasePreferenceController;
 
 /**
diff --git a/src/com/android/settings/privacy/TopLevelPrivacyEntryPreferenceController.java b/src/com/android/settings/privacy/TopLevelPrivacyEntryPreferenceController.java
index b553239..8014104 100644
--- a/src/com/android/settings/privacy/TopLevelPrivacyEntryPreferenceController.java
+++ b/src/com/android/settings/privacy/TopLevelPrivacyEntryPreferenceController.java
@@ -16,9 +16,10 @@
 
 package com.android.settings.privacy;
 
-import android.annotation.NonNull;
 import android.content.Context;
 
+import androidx.annotation.NonNull;
+
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 
diff --git a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
index 2d1d9e1..d7203cb 100644
--- a/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
+++ b/src/com/android/settings/privacy/WorkPolicyInfoPreferenceController.java
@@ -34,7 +34,7 @@
     public WorkPolicyInfoPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mEnterpriseProvider =
-                FeatureFactory.getFactory(context).getEnterprisePrivacyFeatureProvider(context);
+                FeatureFactory.getFeatureFactory().getEnterprisePrivacyFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java
new file mode 100644
index 0000000..13c0681
--- /dev/null
+++ b/src/com/android/settings/privatespace/AutoAdvanceSetupFragment.java
@@ -0,0 +1,190 @@
+/*
+ * 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.privatespace;
+
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.Looper;
+import android.util.Log;
+import android.util.Pair;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+
+import androidx.activity.OnBackPressedCallback;
+import androidx.annotation.Nullable;
+import androidx.navigation.fragment.NavHostFragment;
+
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+
+import com.google.android.setupdesign.GlifLayout;
+import com.google.common.collect.ImmutableList;
+
+import org.jetbrains.annotations.NotNull;
+
+import java.util.List;
+
+/** Fragment to show screens that auto advance during private space setup flow */
+public class AutoAdvanceSetupFragment extends InstrumentedFragment {
+    private static final String TAG = "AutoAdvanceFragment";
+    private static final String TITLE_INDEX = "title_index";
+    private static final int DELAY_BETWEEN_SCREENS = 5000; // 5 seconds in millis
+    private static final int ANIMATION_DURATION_MILLIS = 500;
+    private static final int HEADER_TEXT_MAX_LINES = 4;
+    private GlifLayout mRootView;
+    private Handler mHandler;
+    private int mScreenTitleIndex;
+    private static final List<Pair<Integer, Integer>> HEADER_IMAGE_PAIRS =
+            ImmutableList.of(
+                    new Pair(R.string.private_space_notifications_hidden_title,
+                            R.drawable.private_space_setup_notification_illustration),
+                    new Pair(R.string.private_space_share_photos_title,
+                            R.drawable.private_space_setup_sharing_illustration),
+                    new Pair(R.string.private_space_apps_installed_title,
+                            R.drawable.private_space_setup_preinstalled_illustration));
+
+    private Runnable mUpdateScreenResources =
+            new Runnable() {
+                @Override
+                public void run() {
+                    if (getActivity() != null) {
+                        if (++mScreenTitleIndex < HEADER_IMAGE_PAIRS.size()) {
+                            startFadeOutAnimation();
+                            mHandler.postDelayed(mUpdateScreenResources, DELAY_BETWEEN_SCREENS);
+                        } else if (PrivateSpaceMaintainer.getInstance(getActivity())
+                                .doesPrivateSpaceExist()) {
+                            mMetricsFeatureProvider.action(
+                                    getContext(),
+                                    SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
+                                    true);
+                            NavHostFragment.findNavController(AutoAdvanceSetupFragment.this)
+                                    .navigate(R.id.action_set_lock_fragment);
+                        } else {
+                            mMetricsFeatureProvider.action(
+                                    getContext(),
+                                    SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SPACE_CREATED,
+                                    false);
+                            showPrivateSpaceErrorScreen();
+                        }
+                    }
+                }
+            };
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        if (android.os.Flags.allowPrivateProfile()) {
+            super.onCreate(savedInstanceState);
+        }
+    }
+
+    @Override
+    public View onCreateView(
+            LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        if (savedInstanceState == null) {
+            if (PrivateSpaceMaintainer.getInstance(getActivity()).createPrivateSpace()) {
+                Log.i(TAG, "Private Space created");
+            }
+        } else {
+            mScreenTitleIndex = savedInstanceState.getInt(TITLE_INDEX);
+            if (mScreenTitleIndex >= HEADER_IMAGE_PAIRS.size()) {
+                return super.onCreateView(inflater, container, savedInstanceState);
+            }
+        }
+        mRootView =
+                (GlifLayout)
+                        inflater.inflate(R.layout.private_space_advancing_screen, container, false);
+        mRootView.getHeaderTextView().setMaxLines(HEADER_TEXT_MAX_LINES);
+        updateHeaderAndImage();
+        mHandler = new Handler(Looper.getMainLooper());
+        mHandler.postDelayed(mUpdateScreenResources, DELAY_BETWEEN_SCREENS);
+        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);
+        return mRootView;
+    }
+
+    @Override
+    public void onSaveInstanceState(@NotNull Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putInt(TITLE_INDEX, mScreenTitleIndex);
+    }
+
+    @Override
+    public void onDestroy() {
+        mHandler.removeCallbacks(mUpdateScreenResources);
+        super.onDestroy();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_SPACE_CREATION;
+    }
+
+    private void showPrivateSpaceErrorScreen() {
+        NavHostFragment.findNavController(AutoAdvanceSetupFragment.this)
+                .navigate(R.id.action_advance_profile_error);
+    }
+
+    private void updateHeaderAndImage() {
+        mRootView.setHeaderText(HEADER_IMAGE_PAIRS.get(mScreenTitleIndex).first);
+        ((ImageView) mRootView.findViewById(R.id.setup_advance_image))
+                .setImageResource(HEADER_IMAGE_PAIRS.get(mScreenTitleIndex).second);
+        startFadeInAnimation();
+    }
+
+    private  void startFadeInAnimation() {
+        ValueAnimator textView =  ObjectAnimator.ofFloat(
+                mRootView.getHeaderTextView(), View.ALPHA, 0f, 1f);
+        ValueAnimator imageView = ObjectAnimator.ofFloat(
+                mRootView.findViewById(R.id.setup_advance_image), View.ALPHA, 0, 1f);
+        AnimatorSet fadeIn = new AnimatorSet();
+        fadeIn.playTogether(textView, imageView);
+        fadeIn.setDuration(ANIMATION_DURATION_MILLIS).start();
+    }
+
+    private void startFadeOutAnimation() {
+        AnimatorSet fadeOut = new AnimatorSet();
+        ValueAnimator textView =  ObjectAnimator.ofFloat(
+                mRootView.getHeaderTextView(), View.ALPHA, 1f, 0f);
+        ValueAnimator imageView = ObjectAnimator.ofFloat(
+                mRootView.findViewById(R.id.setup_advance_image), View.ALPHA, 1f, 0f);
+        fadeOut.playTogether(textView, imageView);
+        fadeOut.setDuration(ANIMATION_DURATION_MILLIS).start();
+        fadeOut.addListener(new AnimatorListenerAdapter() {
+            @Override
+            public void onAnimationEnd(Animator animation) {
+                updateHeaderAndImage();
+            }
+        });
+    }
+}
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceController.java b/src/com/android/settings/privatespace/HidePrivateSpaceController.java
new file mode 100644
index 0000000..a53055c
--- /dev/null
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceController.java
@@ -0,0 +1,62 @@
+/*
+ * 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.privatespace;
+
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL;
+
+import android.content.Context;
+
+import com.android.settings.core.TogglePreferenceController;
+
+/**
+ *  A class that is used to show details page for the setting to hide private space entry point
+ *  in All Apps.
+ */
+public class HidePrivateSpaceController extends TogglePreferenceController {
+    private final PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+
+    public HidePrivateSpaceController(Context context, String key) {
+        super(context, key);
+        mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(context);
+    }
+
+    @Override
+    @AvailabilityStatus
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return mPrivateSpaceMaintainer.getHidePrivateSpaceEntryPointSetting()
+                != HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        mPrivateSpaceMaintainer.setHidePrivateSpaceEntryPointSetting(
+                isChecked ? HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL
+                        : HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+        return true;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+}
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.java b/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.java
new file mode 100644
index 0000000..1a89d37
--- /dev/null
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsController.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.privatespace;
+
+import static android.provider.Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.provider.Settings;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.core.TogglePreferenceController;
+
+import java.util.Objects;
+
+/**
+ * A controller object for sensitive notifications in Private Space settings page.
+ */
+public class HidePrivateSpaceSensitiveNotificationsController extends TogglePreferenceController {
+    private final PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+    private final UserHandle mPrivateProfileId;
+    public static final int ENABLED = 1;
+    public static final int DISABLED = 0;
+    private static final int DEVICE_SENSITIVE_NOTIFICATIONS_DEFAULT = ENABLED;
+    private static final int DEVICE_LOCK_SCREEN_NOTIFICATIONS_DEFAULT = ENABLED;
+    private static final int PRIVATE_SPACE_SENSITIVE_NOTIFICATIONS_DEFAULT = DISABLED;
+
+    public HidePrivateSpaceSensitiveNotificationsController(@NonNull Context context,
+            @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+        mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(context);
+        mPrivateProfileId = Objects.requireNonNull(
+                mPrivateSpaceMaintainer.getPrivateProfileHandle());
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        if (!android.os.Flags.allowPrivateProfile()
+                || !android.multiuser.Flags.enablePsSensitiveNotificationsToggle()
+                || !mPrivateSpaceMaintainer.doesPrivateSpaceExist()) {
+            return UNSUPPORTED_ON_DEVICE;
+        }
+        if (!getLockscreenNotificationsEnabled(mContext)
+                || !getLockscreenSensitiveNotificationsEnabledOnDevice(mContext)) {
+            return DISABLED_DEPENDENT_SETTING;
+        }
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        return Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                PRIVATE_SPACE_SENSITIVE_NOTIFICATIONS_DEFAULT, mPrivateProfileId.getIdentifier())
+                != DISABLED;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                isChecked ? ENABLED : DISABLED, mPrivateProfileId.getIdentifier());
+        return true;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+
+    /**
+     * If notifications are disabled on the device, the toggle for private space sensitive
+     * notifications should be unavailable.
+     */
+    private static boolean getLockscreenNotificationsEnabled(Context context) {
+        return Settings.Secure.getInt(context.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS,
+                DEVICE_LOCK_SCREEN_NOTIFICATIONS_DEFAULT) != DISABLED;
+    }
+
+    /**
+     * If sensitive notifications are hidden on the device, they should be hidden for private space
+     * also.
+     */
+    private static boolean getLockscreenSensitiveNotificationsEnabledOnDevice(Context context) {
+        return Settings.Secure.getInt(context.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                DEVICE_SENSITIVE_NOTIFICATIONS_DEFAULT) != DISABLED;
+    }
+}
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java b/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java
new file mode 100644
index 0000000..09a1855
--- /dev/null
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceSettings.java
@@ -0,0 +1,57 @@
+/*
+ * 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.privatespace;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+
+public class HidePrivateSpaceSettings extends DashboardFragment{
+    private static final String TAG = "HidePrivateSpaceSettings";
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        if (android.os.Flags.allowPrivateProfile()) {
+            super.onCreate(icicle);
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (PrivateSpaceMaintainer.getInstance(getContext()).isPrivateSpaceLocked()) {
+            finish();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.privatespace_hide_locked;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+}
diff --git a/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java b/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java
new file mode 100644
index 0000000..42627af
--- /dev/null
+++ b/src/com/android/settings/privatespace/HidePrivateSpaceSummaryController.java
@@ -0,0 +1,57 @@
+/*
+ * 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.privatespace;
+
+import static android.provider.Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+
+/**
+ * Represents the preference controller for (un)hiding Private Space entry point in All Apps and
+ * shows On/Off summary depending upon the settings provider value.
+ */
+public final class HidePrivateSpaceSummaryController extends BasePreferenceController {
+    public HidePrivateSpaceSummaryController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        return isHidden() ? mContext.getString(R.string.privatespace_hide_on_summary)
+                : mContext.getString(R.string.privatespace_hide_off_summary);
+    }
+
+    private boolean isHidden() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                HIDE_PRIVATESPACE_ENTRY_POINT, 0) == 1;
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java b/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java
new file mode 100644
index 0000000..12a7440
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateProfileContextHelperActivity.java
@@ -0,0 +1,120 @@
+/*
+ * 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.privatespace;
+
+import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
+import static android.app.admin.DevicePolicyManager.EXTRA_PASSWORD_COMPLEXITY;
+import static android.app.admin.DevicePolicyManager.PASSWORD_COMPLEXITY_LOW;
+
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.ACCOUNT_LOGIN_ACTION;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
+
+import android.content.Intent;
+import android.os.Bundle;
+import android.util.Log;
+
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.SetupWizardUtils;
+import com.android.settings.overlay.FeatureFactory;
+
+import com.google.android.setupdesign.util.ThemeHelper;
+
+/**
+ * Activity that is started as private profile user that helps to set private profile lock or add an
+ * account on the private profile.
+ */
+public class PrivateProfileContextHelperActivity extends FragmentActivity {
+    private static final String TAG = "PrivateSpaceHelperAct";
+    private final ActivityResultLauncher<Intent> mAddAccountToPrivateProfile =
+            registerForActivityResult(
+                    new ActivityResultContracts.StartActivityForResult(), this::onAccountAdded);
+    private final ActivityResultLauncher<Intent> mSetNewPrivateProfileLock =
+            registerForActivityResult(
+                    new ActivityResultContracts.StartActivityForResult(),
+                    this::onSetNewProfileLockActionCompleted);
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        if (!android.os.Flags.allowPrivateProfile()) {
+            return;
+        }
+        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+        ThemeHelper.trySetDynamicColor(this);
+        super.onCreate(savedInstanceState);
+        if (savedInstanceState == null) {
+            int action = getIntent().getIntExtra(EXTRA_ACTION_TYPE, -1);
+            if (action == ACCOUNT_LOGIN_ACTION) {
+                PrivateSpaceLoginFeatureProvider privateSpaceLoginFeatureProvider =
+                        FeatureFactory.getFeatureFactory().getPrivateSpaceLoginFeatureProvider();
+                if (!privateSpaceLoginFeatureProvider.initiateAccountLogin(
+                        this, mAddAccountToPrivateProfile)) {
+                    setResult(RESULT_OK);
+                    finish();
+                }
+            } else if (action == SET_LOCK_ACTION) {
+                createPrivateSpaceLock();
+            }
+        }
+    }
+
+    private void createPrivateSpaceLock() {
+        final Intent intent = new Intent(ACTION_SET_NEW_PASSWORD);
+        intent.putExtra(EXTRA_PASSWORD_COMPLEXITY, PASSWORD_COMPLEXITY_LOW);
+        intent.putExtra(
+                EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE, R.string.private_space_lock_setup_title);
+        intent.putExtra(
+                EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION,
+                R.string.private_space_lock_setup_description);
+        mSetNewPrivateProfileLock.launch(intent);
+    }
+
+    private void onAccountAdded(@Nullable ActivityResult result) {
+        if (result != null && result.getResultCode() == RESULT_OK) {
+            Log.i(TAG, "private space account login success");
+            setResult(RESULT_OK);
+        } else {
+            Log.i(TAG, "private space account login failed");
+            setResult(RESULT_CANCELED);
+        }
+        finish();
+    }
+
+    private void onSetNewProfileLockActionCompleted(@Nullable ActivityResult result) {
+        LockPatternUtils lockPatternUtils =
+                FeatureFactory.getFeatureFactory()
+                        .getSecurityFeatureProvider()
+                        .getLockPatternUtils(this);
+        if (result != null && lockPatternUtils.isSeparateProfileChallengeEnabled(getUserId())) {
+            Log.i(TAG, "separate private space lock setup success");
+            setResult(RESULT_OK);
+        } else {
+            Log.i(TAG, "separate private space lock not setup");
+            setResult(RESULT_CANCELED);
+        }
+        finish();
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateProfileCreationError.java b/src/com/android/settings/privatespace/PrivateProfileCreationError.java
new file mode 100644
index 0000000..bcaa1d3
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateProfileCreationError.java
@@ -0,0 +1,106 @@
+/*
+ * 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.privatespace;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.activity.OnBackPressedCallback;
+import androidx.annotation.Nullable;
+import androidx.navigation.fragment.NavHostFragment;
+
+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;
+
+/** Fragment to display error screen if creation of private profile failed for any reason. */
+public class PrivateProfileCreationError extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceCreationErr";
+
+    @Override
+    public View onCreateView(
+            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_tryagain_label)
+                        .setListener(onTryAgain())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        mixin.setSecondaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_cancel_label)
+                        .setListener(onCancel())
+                        .setButtonType(FooterButton.ButtonType.CANCEL)
+                        .setTheme(
+                                androidx.appcompat.R.style
+                                        .Base_TextAppearance_AppCompat_Widget_Button)
+                        .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);
+
+        return rootView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_SPACE_CREATION_ERROR;
+    }
+
+    private View.OnClickListener onTryAgain() {
+        return v -> {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_TRY_CREATE_SPACE_AGAIN);
+            Log.i(TAG, "Retry private space creation");
+            NavHostFragment.findNavController(PrivateProfileCreationError.this)
+                    .navigate(R.id.action_retry_profile_creation);
+        };
+    }
+
+    private View.OnClickListener onCancel() {
+        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 cancelled");
+                activity.finish();
+            }
+        };
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceAccountLoginError.java b/src/com/android/settings/privatespace/PrivateSpaceAccountLoginError.java
new file mode 100644
index 0000000..fcb93b1
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceAccountLoginError.java
@@ -0,0 +1,122 @@
+/*
+ * 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.privatespace;
+
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.ACCOUNT_LOGIN_ACTION;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
+
+import android.annotation.SuppressLint;
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.activity.OnBackPressedCallback;
+import androidx.annotation.Nullable;
+import androidx.navigation.fragment.NavHostFragment;
+
+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;
+
+/** Fragment to display error screen if the profile is not signed in with a Google account. */
+public class PrivateSpaceAccountLoginError extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceAccLoginErr";
+
+    @Override
+    public View onCreateView(
+            LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        GlifLayout rootView =
+                (GlifLayout)
+                        inflater.inflate(
+                                R.layout.privatespace_account_login_error, container, false);
+        final FooterBarMixin mixin = rootView.getMixin(FooterBarMixin.class);
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_continue_login_label)
+                        .setListener(nextScreen())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        mixin.setSecondaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_skip_login_label)
+                        .setListener(onSkip())
+                        .setButtonType(FooterButton.ButtonType.CANCEL)
+                        .setTheme(
+                                androidx.appcompat.R.style
+                                        .Base_TextAppearance_AppCompat_Widget_Button)
+                        .build());
+        OnBackPressedCallback callback =
+                new OnBackPressedCallback(true /* enabled by default */) {
+                    @Override
+                    public void handleOnBackPressed() {
+                        // Handle the back button event
+                    }
+                };
+        requireActivity().getOnBackPressedDispatcher().addCallback(this, callback);
+
+        return rootView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_ERROR;
+    }
+
+    @SuppressLint("MissingPermission")
+    private View.OnClickListener nextScreen() {
+        return v -> {
+            mMetricsFeatureProvider.action(
+                    getContext(),
+                    SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_TRY_CREATE_ACCOUNT_AGAIN);
+            PrivateSpaceMaintainer privateSpaceMaintainer =
+                    PrivateSpaceMaintainer.getInstance(getActivity());
+            UserHandle userHandle;
+            if (privateSpaceMaintainer.doesPrivateSpaceExist()
+                    && (userHandle = privateSpaceMaintainer.getPrivateProfileHandle()) != null) {
+                Intent intent = new Intent(getContext(), PrivateProfileContextHelperActivity.class);
+                intent.putExtra(EXTRA_ACTION_TYPE, ACCOUNT_LOGIN_ACTION);
+                Log.d(TAG, "Start private space activity for account login");
+                getActivity()
+                        .startActivityForResultAsUser(intent, ACCOUNT_LOGIN_ACTION, userHandle);
+            }
+        };
+    }
+
+    private View.OnClickListener onSkip() {
+        return v -> {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_SKIP_ACCOUNT_LOGIN);
+            mMetricsFeatureProvider.action(
+                    getContext(),
+                    SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_SUCCESS,
+                    false);
+            NavHostFragment.findNavController(PrivateSpaceAccountLoginError.this)
+                    .navigate(R.id.action_success_fragment);
+        };
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java
new file mode 100644
index 0000000..63b1dc9
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivity.java
@@ -0,0 +1,207 @@
+/*
+ * 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.privatespace;
+
+import static android.app.admin.DevicePolicyManager.ACTION_SET_NEW_PASSWORD;
+
+import static com.android.internal.app.SetScreenLockDialogActivity.LAUNCH_REASON_PRIVATE_SPACE_SETTINGS_ACCESS;
+
+import android.app.ActivityOptions;
+import android.app.AlertDialog;
+import android.app.KeyguardManager;
+import android.app.PendingIntent;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.Flags;
+import android.util.Log;
+
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
+import androidx.annotation.Nullable;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.SetScreenLockDialogActivity;
+import com.android.settings.R;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settingslib.transition.SettingsTransitionHelper;
+
+import com.google.android.setupdesign.util.ThemeHelper;
+
+/**
+ * This class represents an activity responsible for user authentication before starting the private
+ * space setup flow or accessing the private space settings page if already created. Also prompts
+ * user to set a device lock if not set with an alert dialog. This can be launched using the intent
+ * com.android.settings.action.PRIVATE_SPACE_SETUP_FLOW.
+ */
+public class PrivateSpaceAuthenticationActivity extends FragmentActivity {
+    private static final String TAG = "PrivateSpaceAuthCheck";
+    public static final String EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED =
+            "extra_show_private_space_unlocked";
+    private PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+    private KeyguardManager mKeyguardManager;
+
+    private final ActivityResultLauncher<Intent> mSetDeviceLock =
+            registerForActivityResult(
+                    new ActivityResultContracts.StartActivityForResult(),
+                    this::onSetDeviceLockResult);
+    private final ActivityResultLauncher<Intent> mVerifyDeviceLock =
+            registerForActivityResult(
+                    new ActivityResultContracts.StartActivityForResult(), this::onVerifyDeviceLock);
+
+    static class Injector {
+        PrivateSpaceMaintainer injectPrivateSpaceMaintainer(Context context) {
+            return PrivateSpaceMaintainer.getInstance(context);
+        }
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+
+        if (Flags.allowPrivateProfile()) {
+            ThemeHelper.trySetDynamicColor(this);
+            mPrivateSpaceMaintainer =
+                    new Injector().injectPrivateSpaceMaintainer(getApplicationContext());
+            if (getKeyguardManager().isDeviceSecure()) {
+                if (savedInstanceState == null) {
+                    if (mPrivateSpaceMaintainer.doesPrivateSpaceExist()) {
+                        unlockAndLaunchPrivateSpaceSettings(this);
+                    } else {
+                        authenticatePrivateSpaceEntry();
+                    }
+                }
+            } else {
+                promptToSetDeviceLock();
+            }
+        } else {
+            finish();
+        }
+    }
+
+    /** Starts private space setup flow or the PS settings page on device lock authentication */
+    @VisibleForTesting
+    public void onLockAuthentication(Context context) {
+        if (mPrivateSpaceMaintainer.doesPrivateSpaceExist()) {
+            unlockAndLaunchPrivateSpaceSettings(context);
+        } else {
+            startActivity(new Intent(context, PrivateSpaceSetupActivity.class));
+            finish();
+        }
+    }
+
+    @VisibleForTesting
+    public void setPrivateSpaceMaintainer(Injector injector) {
+        mPrivateSpaceMaintainer = injector.injectPrivateSpaceMaintainer(this);
+    }
+
+    private void promptToSetDeviceLock() {
+        Log.d(TAG, "Show prompt to set device lock before using private space feature");
+        if (android.multiuser.Flags.showSetScreenLockDialog()) {
+            Intent setScreenLockPromptIntent =
+                    SetScreenLockDialogActivity
+                            .createBaseIntent(LAUNCH_REASON_PRIVATE_SPACE_SETTINGS_ACCESS);
+            startActivity(setScreenLockPromptIntent);
+            finish();
+        } else {
+            new AlertDialog.Builder(this)
+                    .setTitle(R.string.no_device_lock_title)
+                    .setMessage(R.string.no_device_lock_summary)
+                    .setPositiveButton(
+                            R.string.no_device_lock_action_label,
+                            (DialogInterface dialog, int which) -> {
+                                Log.d(TAG, "Start activity to set new device lock");
+                                mSetDeviceLock.launch(new Intent(ACTION_SET_NEW_PASSWORD));
+                            })
+                    .setNegativeButton(
+                            R.string.no_device_lock_cancel,
+                            (DialogInterface dialog, int which) -> finish())
+                    .setOnCancelListener(
+                            (DialogInterface dialog) -> {
+                                finish();
+                            })
+                    .show();
+        }
+    }
+
+    private KeyguardManager getKeyguardManager() {
+        if (mKeyguardManager == null) {
+            mKeyguardManager = getSystemService(KeyguardManager.class);
+        }
+        return mKeyguardManager;
+    }
+
+    private void onSetDeviceLockResult(@Nullable ActivityResult result) {
+        if (result != null) {
+            if (getKeyguardManager().isDeviceSecure()) {
+                onLockAuthentication(this);
+            } else {
+                finish();
+            }
+        }
+    }
+
+    private void onVerifyDeviceLock(@Nullable ActivityResult result) {
+        if (result != null && result.getResultCode() == RESULT_OK) {
+            onLockAuthentication(this);
+        } else {
+            finish();
+        }
+    }
+
+    private void unlockAndLaunchPrivateSpaceSettings(Context context) {
+        SubSettingLauncher privateSpaceSettings =
+                new SubSettingLauncher(context)
+                        .setDestination(PrivateSpaceDashboardFragment.class.getName())
+                        .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE)
+                        .setSourceMetricsCategory(SettingsEnums.PRIVATE_SPACE_SETTINGS);
+        if (mPrivateSpaceMaintainer.isPrivateSpaceLocked()) {
+            ActivityOptions options =
+                    ActivityOptions.makeBasic()
+                            .setPendingIntentCreatorBackgroundActivityStartMode(
+                                    ActivityOptions.MODE_BACKGROUND_ACTIVITY_START_ALLOWED);
+            mPrivateSpaceMaintainer.unlockPrivateSpace(
+                    PendingIntent.getActivity(
+                                    context, /* requestCode */
+                                    0,
+                                    privateSpaceSettings
+                                            .toIntent()
+                                            .putExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, true),
+                                    PendingIntent.FLAG_IMMUTABLE,
+                                    options.toBundle())
+                            .getIntentSender());
+        } else {
+            Log.i(TAG, "Launch private space settings");
+            privateSpaceSettings.launch();
+        }
+        finish();
+    }
+
+    private void authenticatePrivateSpaceEntry() {
+        Intent credentialIntent = mPrivateSpaceMaintainer.getPrivateProfileLockCredentialIntent();
+        if (credentialIntent != null) {
+            mVerifyDeviceLock.launch(credentialIntent);
+        } else {
+            Log.e(TAG, "verifyCredentialIntent is null even though device lock is set");
+            finish();
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java
new file mode 100644
index 0000000..726567e
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceDashboardFragment.java
@@ -0,0 +1,68 @@
+/*
+ * 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.privatespace;
+
+import static com.android.settings.privatespace.PrivateSpaceAuthenticationActivity.EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.util.Log;
+import android.widget.Toast;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+
+/** Fragment representing the Private Space dashboard in Settings. */
+public class PrivateSpaceDashboardFragment extends DashboardFragment {
+    private static final String TAG = "PSDashboardFragment";
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        if (android.os.Flags.allowPrivateProfile()) {
+            super.onCreate(icicle);
+            if (icicle == null
+                    && getIntent().getBooleanExtra(EXTRA_SHOW_PRIVATE_SPACE_UNLOCKED, false)) {
+                Log.i(TAG, "Private space unlocked showing toast");
+                Toast.makeText(getContext(), R.string.private_space_unlocked, Toast.LENGTH_SHORT)
+                        .show();
+            }
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (PrivateSpaceMaintainer.getInstance(getContext()).isPrivateSpaceLocked()) {
+            finish();
+        }
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.private_space_settings;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceEducation.java b/src/com/android/settings/privatespace/PrivateSpaceEducation.java
new file mode 100644
index 0000000..7b06f5b
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceEducation.java
@@ -0,0 +1,99 @@
+/*
+ * 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.privatespace;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.annotation.Nullable;
+import androidx.navigation.fragment.NavHostFragment;
+
+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;
+
+/** Fragment educating about the usage of Private Space. */
+public class PrivateSpaceEducation extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceEducation";
+
+    @Override
+    public View onCreateView(
+            LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        if (!android.os.Flags.allowPrivateProfile()) {
+            return null;
+        }
+        GlifLayout rootView =
+                (GlifLayout)
+                        inflater.inflate(R.layout.private_space_education_screen, container, false);
+        final FooterBarMixin mixin = rootView.getMixin(FooterBarMixin.class);
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_setup_button_label)
+                        .setListener(onSetup())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        mixin.setSecondaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_cancel_label)
+                        .setListener(onCancel())
+                        .setButtonType(FooterButton.ButtonType.CANCEL)
+                        .setTheme(
+                                androidx.appcompat.R.style
+                                        .Base_TextAppearance_AppCompat_Widget_Button)
+                        .build());
+
+        return rootView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_EDUCATION;
+    }
+
+    private View.OnClickListener onSetup() {
+        return v -> {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_START);
+            Log.i(TAG, "Starting private space setup");
+            NavHostFragment.findNavController(PrivateSpaceEducation.this)
+                    .navigate(R.id.action_education_to_auto_advance);
+        };
+    }
+
+    private View.OnClickListener onCancel() {
+        return v -> {
+            Activity activity = getActivity();
+            if (activity != null) {
+                mMetricsFeatureProvider.action(
+                        getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_CANCEL);
+                Log.i(TAG, "private space setup cancelled");
+                activity.finish();
+            }
+        };
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceLoginFeatureProvider.java b/src/com/android/settings/privatespace/PrivateSpaceLoginFeatureProvider.java
new file mode 100644
index 0000000..76ea9ac
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceLoginFeatureProvider.java
@@ -0,0 +1,30 @@
+/*
+ * 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.privatespace;
+
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.annotation.NonNull;
+
+/** Feature provider for account login during Private Space setup. */
+public interface PrivateSpaceLoginFeatureProvider {
+    /** Returns true if login to an account is enabled during Private Space setup. */
+    boolean initiateAccountLogin(@NonNull Context context,
+            @NonNull ActivityResultLauncher<Intent> resultLauncher);
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceLoginFeatureProviderImpl.java b/src/com/android/settings/privatespace/PrivateSpaceLoginFeatureProviderImpl.java
new file mode 100644
index 0000000..7fca2a4
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceLoginFeatureProviderImpl.java
@@ -0,0 +1,32 @@
+/*
+ * 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.privatespace;
+
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.annotation.NonNull;
+
+/** Stub class for Private space to not initiate account login during setup */
+public class PrivateSpaceLoginFeatureProviderImpl implements PrivateSpaceLoginFeatureProvider {
+    @Override
+    public boolean initiateAccountLogin(@NonNull Context context,
+            @NonNull ActivityResultLauncher<Intent> resultLauncher) {
+        return false;
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
new file mode 100644
index 0000000..2d38ae2
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceMaintainer.java
@@ -0,0 +1,327 @@
+/*
+ * 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.privatespace;
+
+import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
+import static android.provider.Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT;
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK;
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_NEVER;
+import static android.provider.Settings.Secure.USER_SETUP_COMPLETE;
+
+import android.app.ActivityManager;
+import android.app.IActivityManager;
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.content.Intent;
+import android.content.IntentSender;
+import android.content.pm.UserInfo;
+import android.os.Flags;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.provider.Settings;
+import android.util.ArraySet;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.internal.annotations.GuardedBy;
+
+import java.util.List;
+
+// TODO(b/293569406): Update the javadoc when we have the setup flow in place to create PS
+
+/** A class to help with the creation / deletion of Private Space */
+public class PrivateSpaceMaintainer {
+    private static final String TAG = "PrivateSpaceMaintainer";
+    @GuardedBy("this")
+    private static PrivateSpaceMaintainer sPrivateSpaceMaintainer;
+
+    private final Context mContext;
+    private final UserManager mUserManager;
+    @GuardedBy("this")
+    private UserHandle mUserHandle;
+    private final KeyguardManager mKeyguardManager;
+
+    /** This is the default value for the hide private space entry point settings. */
+    public static final int HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL = 0;
+    public static final int HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL = 1;
+    /** Default value for private space auto lock settings. */
+    @Settings.Secure.PrivateSpaceAutoLockOption
+    public static final int PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL = PRIVATE_SPACE_AUTO_LOCK_NEVER;
+
+    public enum ErrorDeletingPrivateSpace {
+        DELETE_PS_ERROR_NONE,
+        DELETE_PS_ERROR_NO_PRIVATE_SPACE,
+        DELETE_PS_ERROR_INTERNAL
+    }
+
+    /**
+     * Returns true if the private space was successfully created.
+     *
+     * <p> This method should be used by the Private Space Setup Flow ONLY.
+     */
+    @VisibleForTesting
+    public final synchronized boolean createPrivateSpace() {
+        if (!Flags.allowPrivateProfile()) {
+            return false;
+        }
+        // Check if Private space already exists
+        if (doesPrivateSpaceExist()) {
+            return true;
+        }
+        // a name indicating that the profile was created from the PS Settings page
+        final String userName = "psSettingsUser";
+
+        if (mUserHandle == null) {
+            try {
+                mUserHandle = mUserManager.createProfile(
+                        userName, USER_TYPE_PROFILE_PRIVATE, new ArraySet<>());
+            } catch (Exception e) {
+                Log.e(TAG, "Error creating private space", e);
+                return false;
+            }
+
+            if (mUserHandle == null) {
+                Log.e(TAG, "Failed to create private space");
+                return false;
+            }
+
+            IActivityManager am = ActivityManager.getService();
+            try {
+                //TODO(b/313926659): To check and handle failure of startProfile
+                am.startProfile(mUserHandle.getIdentifier());
+            } catch (RemoteException e) {
+                Log.e(TAG, "Failed to start private profile");
+                return false;
+            }
+
+            Log.i(TAG, "Private space created with id: " + mUserHandle.getIdentifier());
+            resetPrivateSpaceSettings();
+            setUserSetupComplete();
+        }
+        return true;
+    }
+
+    /**
+     * Returns the {@link ErrorDeletingPrivateSpace} enum representing the result of operation.
+     *
+     * <p> This method should be used ONLY by the delete-PS controller in the PS Settings page.
+     */
+    public synchronized ErrorDeletingPrivateSpace deletePrivateSpace() {
+        if (!doesPrivateSpaceExist()) {
+            return ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NO_PRIVATE_SPACE;
+        }
+
+        try {
+            Log.i(TAG, "Deleting Private space with id: " + mUserHandle.getIdentifier());
+            if (mUserManager.removeUser(mUserHandle)) {
+                Log.i(TAG, "Private space deleted");
+                mUserHandle = null;
+
+                return ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NONE;
+            } else {
+                Log.e(TAG, "Failed to delete private space");
+            }
+        } catch (Exception e) {
+            Log.e(TAG, "Error deleting private space", e);
+        }
+        return ErrorDeletingPrivateSpace.DELETE_PS_ERROR_INTERNAL;
+    }
+
+    /** Returns true if the Private space exists. */
+    public synchronized boolean doesPrivateSpaceExist() {
+        if (!Flags.allowPrivateProfile()) {
+            return false;
+        }
+        if (mUserHandle != null) {
+            return true;
+        }
+
+        List<UserInfo> users = mUserManager.getProfiles(0);
+        for (UserInfo user : users) {
+            if (user.isPrivateProfile()) {
+                mUserHandle = user.getUserHandle();
+                return true;
+            }
+        }
+        return false;
+    }
+
+    /** Returns true when the PS is locked or when PS doesn't exist, false otherwise. */
+    public synchronized boolean isPrivateSpaceLocked() {
+        if (!doesPrivateSpaceExist()) {
+            return true;
+        }
+
+        return mUserManager.isQuietModeEnabled(mUserHandle);
+    }
+
+    /**
+     * Returns an intent to prompt the user to confirm private profile credentials if it is set
+     * otherwise returns intent to confirm device credentials.
+     */
+    @Nullable
+    public synchronized Intent getPrivateProfileLockCredentialIntent() {
+        //TODO(b/307281644): To replace with check for doesPrivateSpaceExist() method once Auth
+        // changes are merged.
+        if (isPrivateProfileLockSet()) {
+            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);
+    }
+
+    /** Returns Private profile user handle if private profile exists otherwise returns null. */
+    @Nullable
+    public synchronized UserHandle getPrivateProfileHandle() {
+        if (doesPrivateSpaceExist()) {
+            return mUserHandle;
+        }
+        return null;
+    }
+
+    /** Returns the instance of {@link PrivateSpaceMaintainer} */
+    public static synchronized PrivateSpaceMaintainer getInstance(Context context) {
+        if (sPrivateSpaceMaintainer == null) {
+            sPrivateSpaceMaintainer = new PrivateSpaceMaintainer(context);
+        }
+        return sPrivateSpaceMaintainer;
+    }
+
+    private PrivateSpaceMaintainer(Context context) {
+        mContext = context.getApplicationContext();
+        mUserManager = mContext.getSystemService(UserManager.class);
+        mKeyguardManager = mContext.getSystemService(KeyguardManager.class);
+    }
+
+
+    // TODO(b/307281644): Remove this method once new auth change is merged
+
+    /**
+     * Returns true if private space exists and a separate private profile lock is set
+     * otherwise false when the private space does not exit or exists but does not have a
+     * separate profile lock.
+     */
+    @GuardedBy("this")
+    private boolean isPrivateProfileLockSet() {
+        return doesPrivateSpaceExist()
+                && mKeyguardManager.isDeviceSecure(mUserHandle.getIdentifier());
+    }
+
+    /** Sets the setting to show PS entry point to the provided value. */
+    public void setHidePrivateSpaceEntryPointSetting(int value) {
+        Log.d(TAG, "Setting HIDE_PRIVATE_SPACE_ENTRY_POINT = " + value);
+        Settings.Secure.putInt(mContext.getContentResolver(), HIDE_PRIVATESPACE_ENTRY_POINT, value);
+    }
+
+    /** Sets the setting for private space auto lock option. */
+    public void setPrivateSpaceAutoLockSetting(
+            @Settings.Secure.PrivateSpaceAutoLockOption int value) {
+        if (isPrivateSpaceAutoLockSupported()) {
+            Settings.Secure.putInt(mContext.getContentResolver(), PRIVATE_SPACE_AUTO_LOCK, value);
+        }
+    }
+
+    /** @return the setting to show PS entry point. */
+    public int getHidePrivateSpaceEntryPointSetting() {
+        return Settings.Secure.getInt(
+                mContext.getContentResolver(),
+                HIDE_PRIVATESPACE_ENTRY_POINT,
+                HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+    }
+
+    /** @return the setting for PS auto lock option. */
+    @Settings.Secure.PrivateSpaceAutoLockOption
+    public int getPrivateSpaceAutoLockSetting() {
+        if (isPrivateSpaceAutoLockSupported()) {
+            return Settings.Secure.getInt(
+                    mContext.getContentResolver(),
+                    PRIVATE_SPACE_AUTO_LOCK,
+                    PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+        }
+        return PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL;
+    }
+
+    /**
+     * Returns true if private space exists and quiet mode is successfully enabled, otherwise
+     * returns false
+     */
+    public synchronized boolean lockPrivateSpace() {
+        if (isPrivateProfileRunning()) {
+            Log.d(TAG, "Calling requestQuietModeEnabled to enableQuietMode");
+            return mUserManager.requestQuietModeEnabled(true, mUserHandle);
+        }
+        return false;
+    }
+
+    /**
+     * Checks if private space exists and requests to disable quiet mode.
+     *
+     * @param intentSender target to start when the user is unlocked
+     */
+    public synchronized void unlockPrivateSpace(IntentSender intentSender) {
+        if (mUserHandle != null) {
+            Log.d(TAG, "Calling requestQuietModeEnabled to disableQuietMode");
+            mUserManager.requestQuietModeEnabled(false, mUserHandle, intentSender);
+        }
+    }
+
+    /** Returns true if private space exists and is running, otherwise returns false */
+    @VisibleForTesting
+    synchronized boolean isPrivateProfileRunning() {
+        if (doesPrivateSpaceExist() && mUserHandle != null) {
+            return mUserManager.isUserRunning(mUserHandle);
+        }
+        return false;
+    }
+
+    @GuardedBy("this")
+    private void resetPrivateSpaceSettings() {
+        setHidePrivateSpaceEntryPointSetting(HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+        setPrivateSpaceAutoLockSetting(PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+        setPrivateSpaceSensitiveNotificationsDefaultValue();
+    }
+
+    /** Sets private space sensitive notifications hidden on lockscreen by default */
+    @GuardedBy("this")
+    private void setPrivateSpaceSensitiveNotificationsDefaultValue() {
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                HidePrivateSpaceSensitiveNotificationsController.DISABLED,
+                mUserHandle.getIdentifier());
+    }
+
+    /**
+     * Sets the USER_SETUP_COMPLETE for private profile on which device theme is applied to the
+     * profile.
+     */
+    @GuardedBy("this")
+    private void setUserSetupComplete() {
+        Log.d(TAG, "setting USER_SETUP_COMPLETE = 1 for private profile");
+        Settings.Secure.putIntForUser(mContext.getContentResolver(), USER_SETUP_COMPLETE,
+                1, mUserHandle.getIdentifier());
+    }
+
+    private boolean isPrivateSpaceAutoLockSupported() {
+        return android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.supportAutolockForPrivateSpace();
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java b/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java
new file mode 100644
index 0000000..6729830
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceSafetySource.java
@@ -0,0 +1,97 @@
+/*
+ * 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.privatespace;
+
+import android.app.PendingIntent;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Flags;
+import android.os.UserManager;
+import android.safetycenter.SafetyEvent;
+import android.safetycenter.SafetySourceData;
+import android.safetycenter.SafetySourceStatus;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+
+/** Private Space safety source for the Safety Center */
+public final class PrivateSpaceSafetySource {
+    public static final String SAFETY_SOURCE_ID = "AndroidPrivateSpace";
+    private static final String TAG = "PrivateSpaceSafetySrc";
+
+    private PrivateSpaceSafetySource() {}
+
+    /** Sets lock screen safety data for Safety Center. */
+    public static void setSafetySourceData(Context context,
+            SafetyEvent safetyEvent) {
+        if (!SafetyCenterManagerWrapper.get().isEnabled(context)) {
+            Log.i(TAG, "Safety Center disabled");
+            return;
+        }
+
+        // Check the profile type - we don't want to show this for anything other than primary user.
+        UserManager userManager = context.getSystemService(UserManager.class);
+        if (userManager != null && !userManager.isMainUser()) {
+            Log.i(TAG, "setSafetySourceData not main user");
+            return;
+        }
+
+        if (!Flags.allowPrivateProfile()) {
+            // Setting null safetySourceData so that an old entry gets cleared out and this way
+            // provide a response since SC always expects one on rescan.
+            SafetyCenterManagerWrapper.get().setSafetySourceData(
+                    context,
+                    SAFETY_SOURCE_ID,
+                    /* safetySourceData */ null,
+                    safetyEvent
+            );
+            return;
+        }
+
+        PendingIntent pendingIntent = getPendingIntentForPsDashboard(context);
+
+        SafetySourceStatus status = new SafetySourceStatus.Builder(
+                context.getString(R.string.private_space_title),
+                context.getString(R.string.private_space_summary),
+                SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED)
+                .setPendingIntent(pendingIntent).build();
+        SafetySourceData safetySourceData =
+                new SafetySourceData.Builder().setStatus(status).build();
+
+        Log.d(TAG, "Setting safety source data");
+        SafetyCenterManagerWrapper.get().setSafetySourceData(
+                context,
+                SAFETY_SOURCE_ID,
+                safetySourceData,
+                safetyEvent
+        );
+    }
+
+    private static PendingIntent getPendingIntentForPsDashboard(Context context) {
+        Intent privateSpaceAuthenticationIntent =
+                new Intent(context, PrivateSpaceAuthenticationActivity.class)
+                        .setIdentifier(SAFETY_SOURCE_ID);
+
+        return PendingIntent
+                .getActivity(
+                        context,
+                        /* requestCode */ 0,
+                        privateSpaceAuthenticationIntent,
+                        PendingIntent.FLAG_IMMUTABLE);
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java b/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java
new file mode 100644
index 0000000..56add6d
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceSetLockFragment.java
@@ -0,0 +1,127 @@
+/*
+ * 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.privatespace;
+
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.ACCOUNT_LOGIN_ACTION;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.EXTRA_ACTION_TYPE;
+import static com.android.settings.privatespace.PrivateSpaceSetupActivity.SET_LOCK_ACTION;
+
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+
+import androidx.activity.OnBackPressedCallback;
+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;
+
+/**
+ * Fragment that provides an option to user to choose between the existing screen lock or set a
+ * separate private profile lock.
+ */
+public class PrivateSpaceSetLockFragment extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceSetLockFrag";
+
+    @Override
+    public View onCreateView(
+            LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        if (!android.os.Flags.allowPrivateProfile()) {
+            return null;
+        }
+        GlifLayout rootView =
+                (GlifLayout)
+                        inflater.inflate(R.layout.private_space_setlock_screen, container, false);
+        final FooterBarMixin mixin = rootView.getMixin(FooterBarMixin.class);
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_use_screenlock_label)
+                        .setListener(onClickUse())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        mixin.setSecondaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_set_lock_label)
+                        .setListener(onClickNewLock())
+                        .setButtonType(FooterButton.ButtonType.NEXT)
+                        .setTheme(
+                                androidx.appcompat.R.style
+                                        .Base_TextAppearance_AppCompat_Widget_Button)
+                        .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);
+
+        return rootView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_LOCK;
+    }
+
+    private View.OnClickListener onClickUse() {
+        return v -> {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_USE_SCREEN_LOCK);
+            // Simply Use default screen lock. No need to handle
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_START);
+            Log.d(TAG, "Use device lock for private profile");
+            launchActivityForAction(ACCOUNT_LOGIN_ACTION);
+        };
+    }
+
+    private View.OnClickListener onClickNewLock() {
+        return v -> {
+            mMetricsFeatureProvider.action(
+                    getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_NEW_LOCK);
+            launchActivityForAction(SET_LOCK_ACTION);
+        };
+    }
+
+    private void launchActivityForAction(int action) {
+        UserHandle userHandle =
+                PrivateSpaceMaintainer.getInstance(getActivity()).getPrivateProfileHandle();
+        if (userHandle != null) {
+            Intent intent = new Intent(getContext(), PrivateProfileContextHelperActivity.class);
+            intent.putExtra(EXTRA_ACTION_TYPE, action);
+            Log.i(TAG, "Start separate lock setup for private profile");
+            getActivity().startActivityForResultAsUser(intent, action, userHandle);
+        } else {
+            Log.w(TAG, "Private profile user handle is null");
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java b/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java
new file mode 100644
index 0000000..75b69cd
--- /dev/null
+++ b/src/com/android/settings/privatespace/PrivateSpaceSetupActivity.java
@@ -0,0 +1,91 @@
+/*
+ * 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.privatespace;
+
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+import androidx.fragment.app.FragmentActivity;
+import androidx.navigation.fragment.NavHostFragment;
+
+import com.android.settings.R;
+import com.android.settings.SetupWizardUtils;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import com.google.android.setupdesign.util.ThemeHelper;
+
+/** Activity class that helps in setting up of private space */
+public class PrivateSpaceSetupActivity extends FragmentActivity {
+    private static final String TAG = "PrivateSpaceSetupAct";
+    public static final int SET_LOCK_ACTION = 1;
+    public static final int ACCOUNT_LOGIN_ACTION = 2;
+    public static final String EXTRA_ACTION_TYPE = "action_type";
+    private NavHostFragment mNavHostFragment;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        if (!android.os.Flags.allowPrivateProfile()) {
+            return;
+        }
+        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+        ThemeHelper.trySetDynamicColor(this);
+        super.onCreate(savedInstanceState);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
+        setContentView(R.layout.privatespace_setup_root);
+        mNavHostFragment =
+                (NavHostFragment)
+                        getSupportFragmentManager().findFragmentById(R.id.ps_nav_host_fragment);
+        mNavHostFragment.getNavController().setGraph(R.navigation.privatespace_main_context_nav);
+    }
+
+    @Override
+    protected void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        if (requestCode == SET_LOCK_ACTION && resultCode == RESULT_OK) {
+            /* Start new activity in private profile to add an account to private profile */
+            UserHandle userHandle =
+                    PrivateSpaceMaintainer.getInstance(this).getPrivateProfileHandle();
+            if (userHandle != null) {
+                Intent intent = new Intent(this, PrivateProfileContextHelperActivity.class);
+                intent.putExtra(EXTRA_ACTION_TYPE, ACCOUNT_LOGIN_ACTION);
+                mMetricsFeatureProvider.action(
+                        this, SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_START);
+                startActivityForResultAsUser(intent, ACCOUNT_LOGIN_ACTION, userHandle);
+            } else {
+                Log.w(TAG, "Private profile user handle is null");
+            }
+        } else if (requestCode == ACCOUNT_LOGIN_ACTION) {
+            if (resultCode == RESULT_OK) {
+                mMetricsFeatureProvider.action(
+                        this, SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_SUCCESS, true);
+                mNavHostFragment.getNavController().navigate(R.id.action_success_fragment);
+            } else {
+                mMetricsFeatureProvider.action(
+                        this,
+                        SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_ACCOUNT_LOGIN_SUCCESS,
+                        false);
+                mNavHostFragment.getNavController().navigate(R.id.action_advance_login_error);
+            }
+        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+}
diff --git a/src/com/android/settings/privatespace/SetupSuccessFragment.java b/src/com/android/settings/privatespace/SetupSuccessFragment.java
new file mode 100644
index 0000000..13de1fc
--- /dev/null
+++ b/src/com/android/settings/privatespace/SetupSuccessFragment.java
@@ -0,0 +1,114 @@
+/*
+ * 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.privatespace;
+
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Bundle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.Toast;
+
+import androidx.activity.OnBackPressedCallback;
+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;
+
+/** Fragment for the final screen shown on successful completion of private space setup. */
+public class SetupSuccessFragment extends InstrumentedFragment {
+    private static final String TAG = "SetupSuccessFragment";
+
+    @Override
+    public View onCreateView(
+            LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        if (!android.os.Flags.allowPrivateProfile()) {
+            return null;
+        }
+        GlifLayout rootView =
+                (GlifLayout)
+                        inflater.inflate(R.layout.private_space_setup_success, container, false);
+        final FooterBarMixin mixin = rootView.getMixin(FooterBarMixin.class);
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(getContext())
+                        .setText(R.string.private_space_done_label)
+                        .setListener(onClickNext())
+                        .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);
+
+        return rootView;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETUP_FINISH;
+    }
+
+    private View.OnClickListener onClickNext() {
+        return v -> {
+            Activity activity = getActivity();
+            if (activity != null) {
+                mMetricsFeatureProvider.action(
+                        getContext(), SettingsEnums.ACTION_PRIVATE_SPACE_SETUP_DONE);
+                //TODO(b/307729746): Add a test to verify PS is locked after setup completion.
+                PrivateSpaceMaintainer.getInstance(activity).lockPrivateSpace();
+                Intent allAppsIntent = new Intent(Intent.ACTION_ALL_APPS);
+                ResolveInfo resolveInfo =
+                        activity.getPackageManager()
+                                .resolveActivityAsUser(
+                                        new Intent(Intent.ACTION_MAIN)
+                                                .addCategory(Intent.CATEGORY_HOME),
+                                        PackageManager.MATCH_SYSTEM_ONLY,
+                                        activity.getUserId());
+                if (resolveInfo != null) {
+                    allAppsIntent.setPackage(resolveInfo.activityInfo.packageName);
+                    allAppsIntent.setComponent(resolveInfo.activityInfo.getComponentName());
+                }
+                accessPrivateSpaceToast();
+                startActivity(allAppsIntent);
+                Log.i(TAG, "Private space setup complete");
+                activity.finish();
+            }
+        };
+    }
+
+    private void accessPrivateSpaceToast() {
+        Toast.makeText(getContext(), R.string.private_space_scrolldown_to_access,
+                Toast.LENGTH_SHORT).show();
+    }
+}
diff --git a/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java b/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java
new file mode 100644
index 0000000..a7a12a4
--- /dev/null
+++ b/src/com/android/settings/privatespace/autolock/AutoLockPreferenceController.java
@@ -0,0 +1,58 @@
+/*
+ * 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.privatespace.autolock;
+
+import android.content.Context;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+public class AutoLockPreferenceController extends BasePreferenceController {
+    private static final String TAG = "AutoLockPreferenceCtrl";
+    private final CharSequence[] mAutoLockRadioOptions;
+    private final PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+
+    public AutoLockPreferenceController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+        mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(context);
+        mAutoLockRadioOptions =
+                context.getResources().getStringArray(R.array.private_space_auto_lock_options);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile()
+                        && android.multiuser.Flags.supportAutolockForPrivateSpace()
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @NonNull
+    @Override
+    public CharSequence getSummary() {
+        try {
+            return mAutoLockRadioOptions[mPrivateSpaceMaintainer.getPrivateSpaceAutoLockSetting()];
+        } catch (ArrayIndexOutOfBoundsException exception) {
+            Log.e(TAG, "Invalid private space auto lock setting value" + exception.getMessage());
+        }
+        return mAutoLockRadioOptions[PrivateSpaceMaintainer.PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL];
+    }
+}
diff --git a/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java b/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java
new file mode 100644
index 0000000..ef8bf8e
--- /dev/null
+++ b/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragment.java
@@ -0,0 +1,148 @@
+/*
+ * 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.privatespace.autolock;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settings.widget.RadioButtonPickerFragment;
+import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.TopIntroPreference;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class AutoLockSettingsFragment extends RadioButtonPickerFragment {
+    private static final String TAG = "PSAutoLockSetting";
+    private PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+    private CharSequence[] mAutoLockRadioOptions;
+    private CharSequence[] mAutoLockRadioValues;
+
+    @Override
+    public void onCreate(@NonNull Bundle icicle) {
+        if (android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.supportAutolockForPrivateSpace()) {
+            super.onCreate(icicle);
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (mPrivateSpaceMaintainer.isPrivateSpaceLocked()) {
+            finish();
+        }
+    }
+
+    @Override
+    public void onAttach(@NonNull Context context) {
+        super.onAttach(context);
+        mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(context);
+        mAutoLockRadioOptions =
+                context.getResources().getStringArray(R.array.private_space_auto_lock_options);
+        mAutoLockRadioValues =
+                context.getResources()
+                        .getStringArray(R.array.private_space_auto_lock_options_values);
+    }
+
+    @Override
+    protected void addStaticPreferences(PreferenceScreen screen) {
+        final TopIntroPreference introPreference = new TopIntroPreference(screen.getContext());
+        introPreference.setTitle(R.string.private_space_auto_lock_page_summary);
+        screen.addPreference(introPreference);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.private_space_auto_lock_settings;
+    }
+
+    @Override
+    protected List<? extends CandidateInfo> getCandidates() {
+        final List<CandidateInfo> candidates = new ArrayList<>();
+        if (mAutoLockRadioValues != null) {
+            for (int i = 0; i < mAutoLockRadioValues.length; ++i) {
+                candidates.add(
+                        new AutoLockCandidateInfo(
+                                mAutoLockRadioOptions[i], mAutoLockRadioValues[i].toString()));
+            }
+        } else {
+            Log.e(TAG, "Autolock options do not exist.");
+        }
+        return candidates;
+    }
+
+    @Override
+    protected String getDefaultKey() {
+        return Integer.toString(mPrivateSpaceMaintainer.getPrivateSpaceAutoLockSetting());
+    }
+
+    @Override
+    protected boolean setDefaultKey(String key) {
+        try {
+            @Settings.Secure.PrivateSpaceAutoLockOption final int value = Integer.parseInt(key);
+            mPrivateSpaceMaintainer.setPrivateSpaceAutoLockSetting(value);
+        } catch (NumberFormatException e) {
+            Log.e(TAG, "could not persist screen timeout setting", e);
+        }
+        return true;
+    }
+
+    private static class AutoLockCandidateInfo extends CandidateInfo {
+        private final CharSequence mLabel;
+        private final String mKey;
+
+        AutoLockCandidateInfo(CharSequence label, String key) {
+            super(true);
+            mLabel = label;
+            mKey = key;
+        }
+
+        @NonNull
+        @Override
+        public CharSequence loadLabel() {
+            return mLabel;
+        }
+
+        @Nullable
+        @Override
+        public Drawable loadIcon() {
+            return null;
+        }
+
+        @NonNull
+        @Override
+        public String getKey() {
+            return mKey;
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java b/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java
new file mode 100644
index 0000000..af4535e
--- /dev/null
+++ b/src/com/android/settings/privatespace/delete/DeletePrivateSpaceController.java
@@ -0,0 +1,53 @@
+/*
+ * 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.privatespace.delete;
+
+import android.content.Context;
+import android.content.Intent;
+
+import androidx.annotation.NonNull;
+import androidx.preference.Preference;
+
+import com.android.settings.core.BasePreferenceController;
+
+/** Controller to delete the private space from the PS Settings page */
+public class DeletePrivateSpaceController extends BasePreferenceController {
+    private static final String TAG = "PrivateSpaceDeleteCtrl";
+
+    public DeletePrivateSpaceController(@NonNull Context context, @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(@NonNull Preference preference) {
+        if (mPreferenceKey.equals(preference.getKey())) {
+            startPrivateSpaceDeleteActivity();
+            return true;
+        }
+        return false;
+    }
+
+    private void startPrivateSpaceDeleteActivity() {
+        final Intent intent = new Intent(mContext, PrivateSpaceDeleteActivity.class);
+        mContext.startActivity(intent);
+    }
+}
diff --git a/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java
new file mode 100644
index 0000000..a4109b8
--- /dev/null
+++ b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteActivity.java
@@ -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.privatespace.delete;
+
+import android.app.settings.SettingsEnums;
+import android.os.Bundle;
+
+import androidx.navigation.fragment.NavHostFragment;
+
+import com.android.settings.R;
+import com.android.settings.SetupWizardUtils;
+import com.android.settings.core.InstrumentedActivity;
+
+import com.google.android.setupdesign.util.ThemeHelper;
+
+public class PrivateSpaceDeleteActivity extends InstrumentedActivity {
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        if (!android.os.Flags.allowPrivateProfile()) {
+            return;
+        }
+        setTheme(SetupWizardUtils.getTheme(this, getIntent()));
+        ThemeHelper.trySetDynamicColor(this);
+        super.onCreate(savedInstanceState);
+        setContentView(R.layout.privatespace_setup_root);
+        NavHostFragment navHostFragment =
+                (NavHostFragment)
+                        getSupportFragmentManager().findFragmentById(R.id.ps_nav_host_fragment);
+        navHostFragment.getNavController().setGraph(R.navigation.private_space_delete_nav);
+    }
+}
diff --git a/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java
new file mode 100644
index 0000000..7dd3a5b
--- /dev/null
+++ b/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragment.java
@@ -0,0 +1,172 @@
+/*
+ * 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.privatespace.delete;
+
+import android.accounts.Account;
+import android.accounts.AccountManager;
+import android.app.Activity;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.util.Log;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.navigation.fragment.NavHostFragment;
+
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.accounts.AuthenticatorHelper;
+
+import com.google.android.setupcompat.template.FooterBarMixin;
+import com.google.android.setupcompat.template.FooterButton;
+import com.google.android.setupdesign.GlifLayout;
+
+/** Fragment to delete private space that lists the accounts logged in to the private profile. */
+public class PrivateSpaceDeleteFragment extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceDeleteFrag";
+    private View mContentView;
+    private static final int CREDENTIAL_CONFIRM_REQUEST = 1;
+    @Nullable private UserHandle mPrivateUserHandle;
+
+    @Override
+    public void onCreate(@Nullable Bundle icicle) {
+        if (android.os.Flags.allowPrivateProfile()) {
+            super.onCreate(icicle);
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (PrivateSpaceMaintainer.getInstance(getContext()).isPrivateSpaceLocked()) {
+            getActivity().finish();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    private View.OnClickListener startAuthenticationForDelete() {
+        return v -> {
+            final ChooseLockSettingsHelper.Builder builder =
+                    new ChooseLockSettingsHelper.Builder(getActivity(), this);
+            if (mPrivateUserHandle != null) {
+                builder.setRequestCode(CREDENTIAL_CONFIRM_REQUEST)
+                        .setUserId(mPrivateUserHandle.getIdentifier())
+                        .show();
+            } else {
+                Log.e(TAG, "Private space user handle cannot be null");
+                getActivity().finish();
+            }
+        };
+    }
+
+    @NonNull
+    @Override
+    public View onCreateView(
+            @NonNull LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        mPrivateUserHandle =
+                PrivateSpaceMaintainer.getInstance(getContext()).getPrivateProfileHandle();
+        if (mPrivateUserHandle == null) {
+            Log.e(TAG, "Private space user handle cannot be null");
+            getActivity().finish();
+        }
+        mContentView = inflater.inflate(R.layout.private_space_delete, container, false);
+        final GlifLayout layout = mContentView.findViewById(R.id.private_space_delete_layout);
+        final FooterBarMixin mixin = layout.getMixin(FooterBarMixin.class);
+        final Activity activity = getActivity();
+        mixin.setPrimaryButton(
+                new FooterButton.Builder(activity)
+                        .setText(R.string.private_space_delete_button_label)
+                        .setListener(startAuthenticationForDelete())
+                        .setButtonType(FooterButton.ButtonType.OTHER)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+                        .build());
+        mixin.setSecondaryButton(
+                new FooterButton.Builder(activity)
+                        .setText(android.R.string.cancel)
+                        .setListener(view -> activity.onBackPressed())
+                        .setButtonType(FooterButton.ButtonType.CANCEL)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+                        .build());
+
+        loadPrivateProfileAccountList();
+        return mContentView;
+    }
+
+    private void loadPrivateProfileAccountList() {
+        View accountsLabel = mContentView.findViewById(R.id.accounts_label);
+        LinearLayout contents = (LinearLayout) mContentView.findViewById(R.id.accounts);
+        contents.removeAllViews();
+
+        Context context = getActivity();
+
+        AccountManager accountManager = AccountManager.get(context);
+
+        LayoutInflater inflater = context.getSystemService(LayoutInflater.class);
+
+        final AuthenticatorHelper helper =
+                new AuthenticatorHelper(context, mPrivateUserHandle, null);
+        final String[] accountTypes = helper.getEnabledAccountTypes();
+
+        for (String type : accountTypes) {
+            final String accountType = type;
+            final Account[] accounts =
+                    accountManager.getAccountsByTypeAsUser(accountType, mPrivateUserHandle);
+            Drawable icon = helper.getDrawableForType(getContext(), accountType);
+            if (icon == null) {
+                icon = context.getPackageManager().getDefaultActivityIcon();
+            }
+            for (Account account : accounts) {
+                View child = inflater.inflate(R.layout.main_clear_account, contents, false);
+                child.<ImageView>findViewById(android.R.id.icon).setImageDrawable(icon);
+                child.<TextView>findViewById(android.R.id.title).setText(account.name);
+                contents.addView(child);
+            }
+        }
+
+        if (contents.getChildCount() > 0) {
+            accountsLabel.setVisibility(View.VISIBLE);
+            contents.setVisibility(View.VISIBLE);
+        }
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        super.onActivityResult(requestCode, resultCode, data);
+        if (requestCode == CREDENTIAL_CONFIRM_REQUEST && resultCode == Activity.RESULT_OK) {
+            NavHostFragment.findNavController(PrivateSpaceDeleteFragment.this)
+                    .navigate(R.id.action_authenticate_delete);
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.java b/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.java
new file mode 100644
index 0000000..3a16641
--- /dev/null
+++ b/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragment.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.privatespace.delete;
+
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.ErrorDeletingPrivateSpace.DELETE_PS_ERROR_INTERNAL;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NONE;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+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.view.ViewGroup;
+import android.widget.Toast;
+
+import androidx.activity.OnBackPressedCallback;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedFragment;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+/** Fragment to show loading animation screen while deleting private space. */
+public class PrivateSpaceDeletionProgressFragment extends InstrumentedFragment {
+    private static final String TAG = "PrivateSpaceDeleteProg";
+    private static final int PRIVATE_SPACE_DELETE_POST_DELAY_MS = 1000;
+    private Handler mHandler;
+    private PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+    private Runnable mDeletePrivateSpace =
+            new Runnable() {
+                @Override
+                public void run() {
+                    deletePrivateSpace();
+                    getActivity().finish();
+                }
+            };
+
+    static class Injector {
+        PrivateSpaceMaintainer injectPrivateSpaceMaintainer(Context context) {
+            return PrivateSpaceMaintainer.getInstance(context);
+        }
+    }
+
+    @Override
+    public void onCreate(@Nullable Bundle savedInstanceState) {
+        if (android.os.Flags.allowPrivateProfile()) {
+            super.onCreate(savedInstanceState);
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    @NonNull
+    @Override
+    public View onCreateView(
+            @NonNull LayoutInflater inflater,
+            @Nullable ViewGroup container,
+            @Nullable Bundle savedInstanceState) {
+        mPrivateSpaceMaintainer =
+                new PrivateSpaceDeletionProgressFragment.Injector()
+                        .injectPrivateSpaceMaintainer(getActivity().getApplicationContext());
+        if (!mPrivateSpaceMaintainer.doesPrivateSpaceExist()) {
+            // Ideally this should never happen as PS Settings is not available when there's no
+            // Private Profile.
+            Log.e(TAG, "Unexpected attempt to delete non-existent PS");
+            getActivity().finish();
+        }
+        View contentView =
+                inflater.inflate(R.layout.private_space_confirm_deletion, container, false);
+        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);
+        mHandler = new Handler(Looper.getMainLooper());
+        // Ensures screen visibility to user by introducing a 1-second delay before deleting private
+        // space.
+        mHandler.postDelayed(mDeletePrivateSpace, PRIVATE_SPACE_DELETE_POST_DELAY_MS);
+        return contentView;
+    }
+
+    @Override
+    public void onDestroy() {
+        mHandler.removeCallbacks(mDeletePrivateSpace);
+        super.onDestroy();
+    }
+
+    /** Deletes private space and shows a toast message */
+    @VisibleForTesting
+    public void deletePrivateSpace() {
+        PrivateSpaceMaintainer.ErrorDeletingPrivateSpace error =
+                mPrivateSpaceMaintainer.deletePrivateSpace();
+        if (error == DELETE_PS_ERROR_NONE) {
+            showSuccessfulDeletionToast();
+        } else if (error == DELETE_PS_ERROR_INTERNAL) {
+            showDeletionInternalErrorToast();
+        }
+    }
+
+    @VisibleForTesting
+    public void setPrivateSpaceMaintainer(@NonNull Injector injector) {
+        mPrivateSpaceMaintainer = injector.injectPrivateSpaceMaintainer(getActivity());
+    }
+
+    /** Shows a toast saying that the private space was deleted */
+    @VisibleForTesting
+    public void showSuccessfulDeletionToast() {
+        Toast.makeText(getContext(), R.string.private_space_deleted, Toast.LENGTH_SHORT).show();
+    }
+
+    /** Shows a toast saying that the private space could not be deleted */
+    @VisibleForTesting
+    public void showDeletionInternalErrorToast() {
+        Toast.makeText(getContext(), R.string.private_space_delete_failed, Toast.LENGTH_SHORT)
+                .show();
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java
new file mode 100644
index 0000000..2e3f284
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/FaceFingerprintUnlockController.java
@@ -0,0 +1,83 @@
+/*
+ * 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.privatespace.onelock;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.biometrics.combination.CombinedBiometricStatusPreferenceController;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+/** Represents the preference controller to enroll biometrics for private space lock. */
+public class FaceFingerprintUnlockController extends CombinedBiometricStatusPreferenceController {
+    private static final String TAG = "PSBiometricCtrl";
+    private static final String KEY_SET_UNSET_FACE_FINGERPRINT = "private_space_biometrics";
+    private final int mProfileUserId;
+
+    public FaceFingerprintUnlockController(Context context, Lifecycle lifecycle) {
+        super(context, KEY_SET_UNSET_FACE_FINGERPRINT, lifecycle);
+        mProfileUserId = getUserId();
+    }
+
+    protected boolean isUserSupported() {
+        return android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
+                && mProfileUserId != UserHandle.USER_NULL;
+    }
+
+    @Override
+    protected int getUserId() {
+        UserHandle privateProfileHandle =
+                PrivateSpaceMaintainer.getInstance(mContext).getPrivateProfileHandle();
+        if (privateProfileHandle != null) {
+            return privateProfileHandle.getIdentifier();
+        } else {
+            Log.e(TAG, "Private profile user handle is not expected to be null.");
+        }
+        return UserHandle.USER_NULL;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_SET_UNSET_FACE_FINGERPRINT;
+    }
+
+    @Override
+    protected String getSettingsClassName() {
+        return mCombinedBiometricStatusUtils.getPrivateProfileSettingsClassName();
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileUserId)) {
+            super.updateState(preference);
+            preference.setEnabled(true);
+        } else {
+            Utils.removeEnrolledFaceForUser(mContext, getUserId());
+            Utils.removeEnrolledFingerprintForUser(mContext, getUserId());
+            preference.setSummary(
+                    mContext.getString(R.string.lock_settings_profile_unified_summary));
+            preference.setEnabled(false);
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java
new file mode 100644
index 0000000..dc00885
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceBiometricSettings.java
@@ -0,0 +1,84 @@
+/*
+ * 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.privatespace.onelock;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.Log;
+
+import com.android.settings.R;
+import com.android.settings.biometrics.combination.BiometricsSettingsBase;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+public class PrivateSpaceBiometricSettings extends BiometricsSettingsBase {
+    private static final String TAG = "PSBiometricSettings";
+    private static final String KEY_FACE_SETTINGS = "private_space_face_unlock_settings";
+    private static final String KEY_FINGERPRINT_SETTINGS =
+            "private_space_fingerprint_unlock_settings";
+
+    @Override
+    public void onAttach(Context context) {
+        if (android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()) {
+            super.onAttach(context);
+            UserHandle privateProfileHandle =
+                    PrivateSpaceMaintainer.getInstance(context).getPrivateProfileHandle();
+            if (privateProfileHandle != null) {
+                mUserId = privateProfileHandle.getIdentifier();
+            } else {
+                mUserId = -1;
+                Log.e(TAG, "Private profile user handle is not expected to be null.");
+            }
+        }
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.private_space_biometric_settings;
+    }
+
+    @Override
+    public String getFacePreferenceKey() {
+        return KEY_FACE_SETTINGS;
+    }
+
+    @Override
+    public String getFingerprintPreferenceKey() {
+        return KEY_FINGERPRINT_SETTINGS;
+    }
+
+    @Override
+    public String getUnlockPhonePreferenceKey() {
+        return "";
+    }
+
+    @Override
+    public String getUseInAppsPreferenceKey() {
+        return "";
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java
new file mode 100644
index 0000000..b841d9a
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceFacePreferenceController.java
@@ -0,0 +1,92 @@
+/*
+ * 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.privatespace.onelock;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Lifecycle;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.biometrics.combination.BiometricFaceStatusPreferenceController;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+public class PrivateSpaceFacePreferenceController extends BiometricFaceStatusPreferenceController {
+    private static final String TAG = "PrivateSpaceFaceCtrl";
+
+    public PrivateSpaceFacePreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    public PrivateSpaceFacePreferenceController(Context context, String key, Lifecycle lifecycle) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    protected boolean isUserSupported() {
+        return android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
+                && getUserId() != UserHandle.USER_NULL;
+    }
+
+    @Override
+    protected int getUserId() {
+        UserHandle privateProfileHandle =
+                PrivateSpaceMaintainer.getInstance(mContext).getPrivateProfileHandle();
+        if (privateProfileHandle != null) {
+            return privateProfileHandle.getIdentifier();
+        } else {
+            Log.e(TAG, "Private profile user handle is not expected to be null.");
+        }
+        return UserHandle.USER_NULL;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile()
+                        && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        if (mLockPatternUtils.isSeparateProfileChallengeEnabled(getUserId())) {
+            super.updateState(preference);
+            preference.setEnabled(true);
+        } else {
+            Utils.removeEnrolledFaceForUser(mContext, getUserId());
+            preference.setSummary(
+                    mContext.getString(R.string.lock_settings_profile_unified_summary));
+            preference.setEnabled(false);
+        }
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference preference = screen.findPreference(getPreferenceKey());
+        if (!Utils.isMultipleBiometricsSupported(mContext)) {
+            preference.setTitle(R.string.private_space_face_title);
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java
new file mode 100644
index 0000000..d484904
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceFingerprintPreferenceController.java
@@ -0,0 +1,94 @@
+/*
+ * 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.privatespace.onelock;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.lifecycle.Lifecycle;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.biometrics.combination.BiometricFingerprintStatusPreferenceController;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+public class PrivateSpaceFingerprintPreferenceController
+        extends BiometricFingerprintStatusPreferenceController {
+    private static final String TAG = "PrivateSpaceFingerCtrl";
+
+    public PrivateSpaceFingerprintPreferenceController(Context context, String key) {
+        super(context, key);
+    }
+
+    public PrivateSpaceFingerprintPreferenceController(
+            Context context, String key, Lifecycle lifecycle) {
+        super(context, key, lifecycle);
+    }
+
+    @Override
+    protected boolean isUserSupported() {
+        return android.os.Flags.allowPrivateProfile()
+                && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
+                && getUserId() != UserHandle.USER_NULL;
+    }
+
+    @Override
+    protected int getUserId() {
+        UserHandle privateProfileHandle =
+                PrivateSpaceMaintainer.getInstance(mContext).getPrivateProfileHandle();
+        if (privateProfileHandle != null) {
+            return privateProfileHandle.getIdentifier();
+        } else {
+            Log.e(TAG, "Private profile user handle is not expected to be null.");
+        }
+        return UserHandle.USER_NULL;
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile()
+                        && android.multiuser.Flags.enableBiometricsToUnlockPrivateSpace()
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public void updateState(@NonNull Preference preference) {
+        if (mLockPatternUtils.isSeparateProfileChallengeEnabled(getUserId())) {
+            super.updateState(preference);
+            preference.setEnabled(true);
+        } else {
+            Utils.removeEnrolledFingerprintForUser(mContext, getUserId());
+            preference.setSummary(
+                    mContext.getString(R.string.lock_settings_profile_unified_summary));
+            preference.setEnabled(false);
+        }
+    }
+
+    @Override
+    public void displayPreference(@NonNull PreferenceScreen screen) {
+        super.displayPreference(screen);
+        Preference preference = screen.findPreference(getPreferenceKey());
+        if (!Utils.isMultipleBiometricsSupported(mContext)) {
+            preference.setTitle(R.string.private_space_fingerprint_title);
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java
new file mode 100644
index 0000000..efbe9f9
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/PrivateSpaceLockController.java
@@ -0,0 +1,136 @@
+/*
+ * 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.privatespace.onelock;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+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 android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.text.TextUtils;
+import android.util.Log;
+
+import androidx.preference.Preference;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.password.ChooseLockGeneric;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.transition.SettingsTransitionHelper;
+
+
+/** Represents the preference controller for changing private space lock. */
+public class PrivateSpaceLockController extends AbstractPreferenceController {
+    private static final String TAG = "PrivateSpaceLockContr";
+    private static final String KEY_CHANGE_PROFILE_LOCK =
+            "change_private_space_lock";
+
+    private final SettingsPreferenceFragment mHost;
+    private final UserManager mUserManager;
+    private final LockPatternUtils mLockPatternUtils;
+    private final int mProfileUserId;
+
+    public PrivateSpaceLockController(Context context, SettingsPreferenceFragment host) {
+        super(context);
+        mUserManager = context.getSystemService(UserManager.class);
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
+                .getSecurityFeatureProvider()
+                .getLockPatternUtils(context);
+        mHost = host;
+        UserHandle privateProfileHandle = PrivateSpaceMaintainer.getInstance(context)
+                .getPrivateProfileHandle();
+        if (privateProfileHandle != null) {
+            mProfileUserId = privateProfileHandle.getIdentifier();
+        } else {
+            mProfileUserId = -1;
+            Log.e(TAG, "Private profile user handle is not expected to be null.");
+        }
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return android.os.Flags.allowPrivateProfile();
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return KEY_CHANGE_PROFILE_LOCK;
+    }
+
+    @Override
+    public boolean handlePreferenceTreeClick(Preference preference) {
+        if (!TextUtils.equals(preference.getKey(), getPreferenceKey())) {
+            return false;
+        }
+        //Checks if the profile is in quiet mode and show a dialog to unpause the profile.
+        if (Utils.startQuietModeDialogIfNecessary(mContext, mUserManager,
+                mProfileUserId)) {
+            return false;
+        }
+        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();
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileUserId)) {
+            preference.setSummary(
+                    mContext.getString(getCredentialTypeResId(mProfileUserId)));
+            preference.setEnabled(true);
+        } else {
+            preference.setSummary(mContext.getString(
+                    R.string.lock_settings_profile_unified_summary));
+            preference.setEnabled(false);
+        }
+    }
+
+    private int getCredentialTypeResId(int userId) {
+        int credentialType = mLockPatternUtils.getCredentialTypeForUser(userId);
+        switch (credentialType) {
+            case CREDENTIAL_TYPE_PATTERN :
+                return R.string.unlock_set_unlock_mode_pattern;
+            case CREDENTIAL_TYPE_PIN:
+                return R.string.unlock_set_unlock_mode_pin;
+            case CREDENTIAL_TYPE_PASSWORD:
+                return R.string.unlock_set_unlock_mode_password;
+            default:
+                // This is returned for CREDENTIAL_TYPE_NONE
+                return R.string.unlock_set_unlock_mode_off;
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockController.java b/src/com/android/settings/privatespace/onelock/UseOneLockController.java
new file mode 100644
index 0000000..31634b9
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockController.java
@@ -0,0 +1,84 @@
+/*
+ * 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.privatespace.onelock;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.Log;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+/** Represents the preference controller for using the same lock as the screen lock */
+public class UseOneLockController extends BasePreferenceController {
+    private static final String TAG = "UseOneLockController";
+    private final LockPatternUtils mLockPatternUtils;
+    private final PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+
+    public UseOneLockController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext);
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
+                .getSecurityFeatureProvider()
+                .getLockPatternUtils(context);
+    }
+    @Override
+    public int getAvailabilityStatus() {
+        return android.os.Flags.allowPrivateProfile() ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return 0;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        UserHandle privateProfileHandle = mPrivateSpaceMaintainer.getPrivateProfileHandle();
+        if (privateProfileHandle != null) {
+            int privateUserId = privateProfileHandle.getIdentifier();
+            if (mLockPatternUtils.isSeparateProfileChallengeEnabled(privateUserId)) {
+                return mContext.getString(getCredentialTypeResId(privateUserId));
+            }
+        } else {
+            Log.w(TAG, "Did not find Private Space.");
+        }
+        return mContext.getString(R.string.private_space_screen_lock_summary);
+    }
+
+    private int getCredentialTypeResId(int userId) {
+        int credentialType = mLockPatternUtils.getCredentialTypeForUser(userId);
+        switch (credentialType) {
+            case CREDENTIAL_TYPE_PATTERN:
+                return R.string.unlock_set_unlock_mode_pattern;
+            case CREDENTIAL_TYPE_PIN:
+                return R.string.unlock_set_unlock_mode_pin;
+            case CREDENTIAL_TYPE_PASSWORD:
+                return R.string.unlock_set_unlock_mode_password;
+            default:
+                // This is returned for CREDENTIAL_TYPE_NONE
+                return R.string.unlock_set_unlock_mode_off;
+        }
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
new file mode 100644
index 0000000..fd7d02b
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockControllerSwitch.java
@@ -0,0 +1,217 @@
+/*
+ * 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.privatespace.onelock;
+
+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;
+import static com.android.settings.privatespace.onelock.UseOneLockSettingsFragment.UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST;
+
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.content.Context;
+import android.content.DialogInterface;
+import android.content.Intent;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.util.Log;
+
+import androidx.annotation.Nullable;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
+import com.android.settings.R;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.Utils;
+import com.android.settings.core.SubSettingLauncher;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.password.ChooseLockGeneric;
+import com.android.settings.password.ChooseLockSettingsHelper;
+import com.android.settings.privatespace.PrivateProfileContextHelperActivity;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.transition.SettingsTransitionHelper;
+import com.android.settingslib.widget.MainSwitchPreference;
+
+/** Represents the preference controller for using the same lock as the screen lock */
+public class UseOneLockControllerSwitch extends AbstractPreferenceController
+        implements Preference.OnPreferenceChangeListener {
+    private static final String TAG = "UseOneLockSwitch";
+    private static final String KEY_UNIFICATION = "private_lock_unification";
+    private final String mPreferenceKey;
+    private final SettingsPreferenceFragment mHost;
+    private final LockPatternUtils mLockPatternUtils;
+    private final UserManager mUserManager;
+    private final int mProfileUserId;
+    private final UserHandle mUserHandle;
+    private LockscreenCredential mCurrentDevicePassword;
+    private LockscreenCredential mCurrentProfilePassword;
+    private MainSwitchPreference mUnifyProfile;
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        mUnifyProfile = screen.findPreference(mPreferenceKey);
+    }
+    public UseOneLockControllerSwitch(Context context, SettingsPreferenceFragment host) {
+        this(context, host, KEY_UNIFICATION);
+    }
+
+    public UseOneLockControllerSwitch(Context context, SettingsPreferenceFragment host,
+              String key) {
+        super(context);
+        mHost = host;
+        mUserManager = context.getSystemService(UserManager.class);
+        mLockPatternUtils = FeatureFactory.getFeatureFactory().getSecurityFeatureProvider()
+                  .getLockPatternUtils(context);
+        mUserHandle =  PrivateSpaceMaintainer.getInstance(context).getPrivateProfileHandle();
+        mProfileUserId = mUserHandle != null ? mUserHandle.getIdentifier() : -1;
+        mCurrentDevicePassword = LockscreenCredential.createNone();
+        mCurrentProfilePassword = LockscreenCredential.createNone();
+        this.mPreferenceKey = key;
+    }
+
+    @Override
+    public String getPreferenceKey() {
+        return mPreferenceKey;
+    }
+
+    @Override
+    public boolean isAvailable() {
+        return android.os.Flags.allowPrivateProfile();
+    }
+
+    @Override
+    public boolean onPreferenceChange(Preference preference, Object value) {
+        //Checks if the profile is in quiet mode and show a dialog to unpause the profile.
+        if (Utils.startQuietModeDialogIfNecessary(mContext, mUserManager, mProfileUserId)) {
+            return false;
+        }
+        final boolean useOneLock = (Boolean) value;
+        if (useOneLock) {
+            startUnification();
+        } else {
+            showAlertDialog();
+        }
+        return true;
+    }
+
+    @Override
+    public void updateState(Preference preference) {
+        if (mUnifyProfile != null) {
+            final boolean separate =
+                      mLockPatternUtils.isSeparateProfileChallengeEnabled(mProfileUserId);
+            mUnifyProfile.setChecked(!separate);
+        }
+    }
+
+    /** Method to handle onActivityResult */
+    public boolean handleActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        if (requestCode == UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST
+                  && resultCode == Activity.RESULT_OK && data != null) {
+            mCurrentDevicePassword =
+                      data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+            separateLocks();
+            return true;
+        } else if (requestCode == UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST
+                  && resultCode == Activity.RESULT_OK && data != null) {
+            mCurrentProfilePassword =
+                      data.getParcelableExtra(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD);
+            unifyLocks();
+            return true;
+        }
+        return false;
+    }
+
+    private void separateLocks() {
+        final Bundle extras = new Bundle();
+        extras.putInt(Intent.EXTRA_USER_ID, mProfileUserId);
+        extras.putParcelable(ChooseLockSettingsHelper.EXTRA_KEY_PASSWORD, mCurrentDevicePassword);
+        new SubSettingLauncher(mContext)
+                  .setDestination(ChooseLockGeneric.ChooseLockGenericFragment.class.getName())
+                  .setSourceMetricsCategory(mHost.getMetricsCategory())
+                  .setArguments(extras)
+                  .setTransitionType(SettingsTransitionHelper.TransitionType.TRANSITION_SLIDE)
+                  .launch();
+    }
+
+    /** Unify primary and profile locks. */
+    public void startUnification() {
+        // Confirm profile lock
+        final ChooseLockSettingsHelper.Builder builder =
+                  new ChooseLockSettingsHelper.Builder(mHost.getActivity(), mHost);
+        final boolean launched = builder.setRequestCode(UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST)
+                  .setReturnCredentials(true)
+                  .setUserId(mProfileUserId)
+                  .show();
+        if (!launched) {
+            // If profile has no lock, go straight to unification.
+            unifyLocks();
+        }
+    }
+
+    private void unifyLocks() {
+        unifyKeepingDeviceLock();
+        if (mCurrentDevicePassword != null) {
+            mCurrentDevicePassword.zeroize();
+            mCurrentDevicePassword = null;
+        }
+        if (mCurrentProfilePassword != null) {
+            mCurrentProfilePassword.zeroize();
+            mCurrentProfilePassword = null;
+        }
+    }
+
+    private void unifyKeepingDeviceLock() {
+        mLockPatternUtils.setSeparateProfileChallengeEnabled(mProfileUserId, false,
+                  mCurrentProfilePassword);
+    }
+
+    private void showAlertDialog() {
+        if (mUserHandle == null) {
+            Log.e(TAG, "Private profile user handle is not expected to be null");
+            mUnifyProfile.setChecked(true);
+            return;
+        }
+        new AlertDialog.Builder(mContext)
+                  .setMessage(R.string.private_space_new_lock_title)
+                  .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);
+                            })
+                  .setNegativeButton(R.string.private_space_cancel_label,
+                            (DialogInterface dialog, int which) -> {
+                                mUnifyProfile.setChecked(true);
+                                dialog.dismiss();
+                            })
+                  .setOnCancelListener(
+                            (DialogInterface dialog) -> {
+                                mUnifyProfile.setChecked(true);
+                                dialog.dismiss();
+                            })
+                  .show();
+    }
+}
diff --git a/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java
new file mode 100644
index 0000000..413e02a
--- /dev/null
+++ b/src/com/android/settings/privatespace/onelock/UseOneLockSettingsFragment.java
@@ -0,0 +1,97 @@
+/*
+ * 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.privatespace.onelock;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Bundle;
+
+import androidx.annotation.Nullable;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+import com.android.settingslib.core.AbstractPreferenceController;
+
+import java.util.ArrayList;
+import java.util.List;
+
+public class UseOneLockSettingsFragment extends DashboardFragment {
+    private static final String TAG = "UseOneLockSettings";
+    public static final int UNIFY_PRIVATE_LOCK_WITH_DEVICE_REQUEST = 1;
+    public static final int UNUNIFY_PRIVATE_LOCK_FROM_DEVICE_REQUEST = 2;
+
+    @Override
+    public void onCreate(Bundle icicle) {
+        if (android.os.Flags.allowPrivateProfile()) {
+            super.onCreate(icicle);
+        }
+    }
+
+    @Override
+    public void onStart() {
+        super.onStart();
+        if (PrivateSpaceMaintainer.getInstance(getContext()).isPrivateSpaceLocked()) {
+            finish();
+        }
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.PRIVATE_SPACE_SETTINGS;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.xml.privatespace_one_lock;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    @Override
+    protected List<AbstractPreferenceController> createPreferenceControllers(Context context) {
+        final List<AbstractPreferenceController> controllers = new ArrayList<>();
+        controllers.add(new UseOneLockControllerSwitch(context, this));
+        controllers.add(new PrivateSpaceLockController(context, this));
+        if (Utils.isMultipleBiometricsSupported(context)) {
+            controllers.add(new FaceFingerprintUnlockController(context, getSettingsLifecycle()));
+        } else if (Utils.hasFingerprintHardware(context)) {
+            controllers.add(
+                    new PrivateSpaceFingerprintPreferenceController(
+                            context, "private_space_biometrics", getSettingsLifecycle()));
+        } else if (Utils.hasFaceHardware(context)) {
+            controllers.add(
+                    new PrivateSpaceFacePreferenceController(
+                            context, "private_space_biometrics", getSettingsLifecycle()));
+        }
+        return controllers;
+    }
+
+    @Override
+    public void onActivityResult(int requestCode, int resultCode, @Nullable Intent data) {
+        if (use(UseOneLockControllerSwitch.class)
+                .handleActivityResult(requestCode, resultCode, data)) {
+            return;
+        }
+        super.onActivityResult(requestCode, resultCode, data);
+    }
+}
diff --git a/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemListController.java b/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemListController.java
index 03a59de..d509d2e 100644
--- a/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemListController.java
+++ b/src/com/android/settings/regionalpreferences/FirstDayOfWeekItemListController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.regionalpreferences;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 
 import com.android.settings.R;
@@ -57,4 +58,9 @@
     protected String[] getUnitValues() {
         return mContext.getResources().getStringArray(R.array.first_day_of_week);
     }
+
+    @Override
+    protected int getMetricsActionKey() {
+        return SettingsEnums.ACTION_SET_FIRST_DAY_OF_WEEK;
+    }
 }
diff --git a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
index c1e77ab..de0d386 100644
--- a/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
+++ b/src/com/android/settings/regionalpreferences/NumberingSystemItemController.java
@@ -64,7 +64,7 @@
                 RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE, "");
         mSelectedLanguage = argument.getString(
                 NumberingSystemItemController.KEY_SELECTED_LANGUAGE, "");
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
@@ -152,6 +152,8 @@
 
     private void handleLanguageSelect(Preference preference) {
         String selectedLanguage = preference.getKey();
+        mMetricsFeatureProvider.action(mContext,
+                SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES);
         final Bundle extra = new Bundle();
         extra.putString(RegionalPreferencesEntriesFragment.ARG_KEY_REGIONAL_PREFERENCE,
                 ARG_VALUE_NUMBERING_SYSTEM_SELECT);
@@ -174,6 +176,8 @@
                 Locale updatedLocale =
                         saveNumberingSystemToLocale(Locale.forLanguageTag(mSelectedLanguage),
                                 numberingSystem);
+                mMetricsFeatureProvider.action(mContext,
+                        SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES);
                 // After updated locale to framework, this fragment will recreate,
                 // so it needs to update the argument of selected language.
                 Bundle bundle = new Bundle();
diff --git a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
index 0608b0c..8be0043 100644
--- a/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
+++ b/src/com/android/settings/regionalpreferences/RegionalPreferenceListBasePreferenceController.java
@@ -16,24 +16,27 @@
 
 package com.android.settings.regionalpreferences;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
-import android.util.Log;
 
-import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.TickButtonPreference;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 /** A base controller for handling all regional preferences controllers. */
 public abstract class RegionalPreferenceListBasePreferenceController extends
         BasePreferenceController {
 
+    private final MetricsFeatureProvider mMetricsFeatureProvider;
     private PreferenceCategory mPreferenceCategory;
 
     public RegionalPreferenceListBasePreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
@@ -63,6 +66,10 @@
                 RegionalPreferencesDataUtils.savePreference(mContext, getExtensionTypes(),
                         item.equals(RegionalPreferencesDataUtils.DEFAULT_VALUE)
                                 ? null : item);
+                String metrics =
+                        getMetricsActionKey() == SettingsEnums.ACTION_SET_FIRST_DAY_OF_WEEK ? ""
+                                : getPreferenceTitle(value) + " > " + getPreferenceTitle(item);
+                mMetricsFeatureProvider.action(mContext, getMetricsActionKey(), metrics);
                 return true;
             });
             pref.setSelected(!value.isEmpty() && item.equals(value));
@@ -92,4 +99,8 @@
     protected abstract String getExtensionTypes();
 
     protected abstract String[] getUnitValues();
+
+    protected abstract int getMetricsActionKey();
+
+
 }
diff --git a/src/com/android/settings/regionalpreferences/TemperatureUnitListController.java b/src/com/android/settings/regionalpreferences/TemperatureUnitListController.java
index c51ca71..91ab1a2 100644
--- a/src/com/android/settings/regionalpreferences/TemperatureUnitListController.java
+++ b/src/com/android/settings/regionalpreferences/TemperatureUnitListController.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.regionalpreferences;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 
 import com.android.settings.R;
@@ -55,4 +56,9 @@
     protected String[] getUnitValues() {
         return mContext.getResources().getStringArray(R.array.temperature_units);
     }
+
+    @Override
+    protected int getMetricsActionKey() {
+        return SettingsEnums.ACTION_SET_TEMPERATURE_UNIT;
+    }
 }
diff --git a/src/com/android/settings/remoteauth/OWNERS b/src/com/android/settings/remoteauth/OWNERS
new file mode 100644
index 0000000..64e7f5c
--- /dev/null
+++ b/src/com/android/settings/remoteauth/OWNERS
@@ -0,0 +1,5 @@
+# People who can approve changes for submission
+dlm@google.com
+jasonsun@google.com
+derekjedral@google.com
+justinmcclain@google.com
diff --git a/src/com/android/settings/remoteauth/RemoteAuthActivity.kt b/src/com/android/settings/remoteauth/RemoteAuthActivity.kt
new file mode 100644
index 0000000..b339066
--- /dev/null
+++ b/src/com/android/settings/remoteauth/RemoteAuthActivity.kt
@@ -0,0 +1,53 @@
+/*
+ * 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.remoteauth
+
+import android.os.Bundle
+
+import androidx.annotation.IdRes
+import androidx.navigation.fragment.NavHostFragment
+
+import com.android.settings.R
+import com.android.settings.SetupWizardUtils
+import com.android.settings.core.InstrumentedActivity
+import com.google.android.setupdesign.util.ThemeHelper
+
+open class RemoteAuthActivity : InstrumentedActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        setTheme(SetupWizardUtils.getTheme(this, getIntent()))
+        ThemeHelper.trySetDynamicColor(this)
+        setContentView(R.layout.remote_auth_root)
+        // TODO(b/290768873): Change to remote_auth_enroll_introduction_fragment if no device is
+        // enrolled.
+        initializeNavigation(R.id.remote_auth_settings_fragment)
+    }
+
+    override fun getMetricsCategory(): Int {
+        // TODO() Update frameworks/proto_logging/stats/enums/app/settings_enums.proto
+        return 0
+    }
+
+    private fun initializeNavigation(@IdRes startDestinationId: Int) {
+        val navHostFragment =
+            supportFragmentManager.findFragmentById(R.id.nav_host_fragment) as NavHostFragment
+        val navController = navHostFragment.navController
+        val navGraph = navController.navInflater.inflate(R.navigation.remote_auth_navigation)
+        navGraph.setStartDestination(startDestinationId)
+        navController.graph = navGraph
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/RemoteAuthActivityInternal.kt b/src/com/android/settings/remoteauth/RemoteAuthActivityInternal.kt
new file mode 100644
index 0000000..0e0e7da
--- /dev/null
+++ b/src/com/android/settings/remoteauth/RemoteAuthActivityInternal.kt
@@ -0,0 +1,22 @@
+/*
+ * 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.remoteauth
+
+/**
+ * Wrapper of {@link RemoteAuthActivity} to use with a pre-defined task affinity.
+ */
+class RemoteAuthActivityInternal : RemoteAuthActivity()
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/RemoteAuthEnrollBase.kt b/src/com/android/settings/remoteauth/RemoteAuthEnrollBase.kt
new file mode 100644
index 0000000..05be7ad
--- /dev/null
+++ b/src/com/android/settings/remoteauth/RemoteAuthEnrollBase.kt
@@ -0,0 +1,83 @@
+/*
+ * 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.remoteauth
+
+import android.R
+import android.graphics.Color
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.annotation.ColorInt
+import androidx.annotation.IdRes
+import androidx.annotation.LayoutRes
+import androidx.fragment.app.Fragment
+
+import com.android.settings.Utils
+import com.google.android.setupcompat.template.FooterBarMixin
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.GlifLayout
+
+/**
+ * Displays a content view with a sticky footer in the SetupDesign style. Implementations
+ * must define a primary button, and an optional secondary button.
+ *
+ * A layout with a [GlifLayout] must be provided, along with the id of the [GlifLayout].
+ */
+abstract class RemoteAuthEnrollBase(
+    @LayoutRes val layoutResId: Int,
+    @IdRes private val glifLayoutId: Int
+) : Fragment(layoutResId) {
+    protected val primaryFooterButton by lazy { initializePrimaryFooterButton() }
+    protected val secondaryFooterButton by lazy { initializeSecondaryFooterButton() }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        viewGroup: ViewGroup?,
+        savedInstanceArgs: Bundle?
+    ) =
+        super.onCreateView(inflater, viewGroup, savedInstanceArgs)!!.also { view ->
+            initializeFooterbarMixin(view)
+        }
+
+    protected fun getGlifLayout(view: View) = view.findViewById<GlifLayout>(glifLayoutId)
+
+    /**
+     * Return a button will be used as the primary footer button.
+     */
+    abstract fun initializePrimaryFooterButton(): FooterButton
+
+    /** If non-null, returned button will be used as the secondary footer button. */
+    abstract fun initializeSecondaryFooterButton(): FooterButton?
+
+    private fun initializeFooterbarMixin(view: View) {
+        val footerBarMixin = checkNotNull(getGlifLayout(view)).getMixin(FooterBarMixin::class.java)
+        primaryFooterButton.also { footerBarMixin.primaryButton = it }
+        secondaryFooterButton?.also { footerBarMixin.secondaryButton = it }
+        footerBarMixin.getButtonContainer().setBackgroundColor(getBackgroundColor())
+    }
+
+    @ColorInt
+    private fun getBackgroundColor(): Int {
+        val stateList = Utils.getColorAttr(context, R.attr.windowBackground)
+        return stateList?.defaultColor ?: Color.TRANSPARENT
+    }
+
+    private companion object{
+        const val TAG = "RemoteAuthEnrollBase"
+    }
+}
diff --git a/src/com/android/settings/remoteauth/RemoteAuthStatusPreferenceController.kt b/src/com/android/settings/remoteauth/RemoteAuthStatusPreferenceController.kt
new file mode 100644
index 0000000..943880b
--- /dev/null
+++ b/src/com/android/settings/remoteauth/RemoteAuthStatusPreferenceController.kt
@@ -0,0 +1,57 @@
+/*
+ * 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.remoteauth
+
+import android.content.Context
+import android.util.FeatureFlagUtils
+import com.android.settings.biometrics.BiometricStatusPreferenceController
+
+class RemoteAuthStatusPreferenceController(
+    private val context: Context,
+    key: String = KEY_REMOTE_AUTHENTICATOR_SETTINGS
+) : BiometricStatusPreferenceController(
+    context, key
+) {
+    override fun isDeviceSupported(): Boolean {
+        // TODO(b/290768873): Change based on RemoteAuthManager.
+        return FeatureFlagUtils.isEnabled(
+            context,
+            FeatureFlagUtils.SETTINGS_REMOTEAUTH_ENROLLMENT_SETTINGS
+        )
+    }
+
+    override fun isHardwareSupported(): Boolean {
+        // TODO(b/290768873): Change based on RemoteAuthManager.
+        return FeatureFlagUtils.isEnabled(
+            context,
+            FeatureFlagUtils.SETTINGS_REMOTEAUTH_ENROLLMENT_SETTINGS
+        )
+    }
+
+    override fun getSummaryText() = RemoteAuthStatusUtils.getSummary(context)
+
+    override fun getSettingsClassName() = RemoteAuthStatusUtils.getSettingsClassName()
+
+    private companion object {
+        /**
+         * Preference key.
+         *
+         * This must match the key found in security_settings_combined_biometric.xml
+         **/
+        const val KEY_REMOTE_AUTHENTICATOR_SETTINGS = "biometric_remote_authenticator_settings"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/RemoteAuthStatusUtils.kt b/src/com/android/settings/remoteauth/RemoteAuthStatusUtils.kt
new file mode 100644
index 0000000..2bbc14b
--- /dev/null
+++ b/src/com/android/settings/remoteauth/RemoteAuthStatusUtils.kt
@@ -0,0 +1,39 @@
+/*
+ * 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.remoteauth
+
+import android.content.Context
+import com.android.settings.R
+
+/**
+ * Utilities for remoteauth details shared between Security Settings and Safety Center.
+ */
+object RemoteAuthStatusUtils  {
+    /**
+     * Returns the summary of remote auth settings entity.
+     */
+    fun getSummary(context: Context): String {
+        // TODO(b/290768873): Update text based on if authenticator is enrolled.
+        return context.resources.getString(R.string.security_settings_remoteauth_preference_summary)
+    }
+
+    /**
+     * Returns the class name of the Settings page corresponding to remote auth settings.
+     */
+    fun getSettingsClassName() = RemoteAuthActivityInternal::class.java.name
+
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/enrolling/DiscoveredAuthenticatorUiState.kt b/src/com/android/settings/remoteauth/enrolling/DiscoveredAuthenticatorUiState.kt
new file mode 100644
index 0000000..2fcc1d6
--- /dev/null
+++ b/src/com/android/settings/remoteauth/enrolling/DiscoveredAuthenticatorUiState.kt
@@ -0,0 +1,24 @@
+/*
+ * 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.remoteauth.enrolling
+
+/** UI state of a single discovered authenticator. */
+data class DiscoveredAuthenticatorUiState(
+    val name: String,
+    val isSelected: Boolean,
+    val onSelect: () -> Unit,
+)
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/enrolling/EnrollmentUiState.kt b/src/com/android/settings/remoteauth/enrolling/EnrollmentUiState.kt
new file mode 100644
index 0000000..e8c8a11
--- /dev/null
+++ b/src/com/android/settings/remoteauth/enrolling/EnrollmentUiState.kt
@@ -0,0 +1,34 @@
+/*
+ * 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.remoteauth.enrolling
+
+/** The different states of the enrolling flow. */
+enum class EnrollmentUiState {
+    /** No enrollment is happening. */
+    NONE,
+
+    /** Searching for potential authenticators. */
+    FINDING_DEVICES,
+
+    /**
+     * An enrollment is in progress.
+     */
+    ENROLLING,
+
+    /** An enrollment has succeeded. */
+    SUCCESS,
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrolling.kt b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrolling.kt
new file mode 100644
index 0000000..5a93259
--- /dev/null
+++ b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrolling.kt
@@ -0,0 +1,130 @@
+/*
+ * 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.remoteauth.enrolling
+
+import android.os.Bundle
+import android.view.View
+import android.widget.ProgressBar
+import android.widget.TextView
+import androidx.fragment.app.viewModels
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+
+
+import androidx.navigation.fragment.NavHostFragment.Companion.findNavController
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+
+import com.android.settings.R
+import com.android.settings.remoteauth.RemoteAuthEnrollBase
+
+import com.google.android.setupcompat.template.FooterButton
+import kotlinx.coroutines.launch
+
+class RemoteAuthEnrollEnrolling :
+    RemoteAuthEnrollBase(
+        layoutResId = R.layout.remote_auth_enroll_enrolling,
+        glifLayoutId = R.id.setup_wizard_layout,
+    ) {
+    private val viewModel: RemoteAuthEnrollEnrollingViewModel by viewModels()
+    private val navController by lazy { findNavController(this) }
+    private val adapter = RemoteAuthEnrollEnrollingRecyclerViewAdapter()
+    private val progressBar by lazy {
+        view!!.requireViewById<ProgressBar>(R.id.enrolling_list_progress_bar)
+    }
+    private val errorText by lazy { view!!.requireViewById<TextView>(R.id.error_text) }
+    private val recyclerView by lazy {
+        view!!.requireViewById<RecyclerView>(R.id.discovered_authenticator_list)
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        // Set up adapter
+        recyclerView.layoutManager = LinearLayoutManager(context)
+        recyclerView.adapter = adapter
+
+        // Collect UIState and update UI on changes.
+        lifecycleScope.launch {
+            repeatOnLifecycle(Lifecycle.State.STARTED) {
+                viewModel.uiState.collect {
+                    updateUi(it)
+                }
+            }
+        }
+    }
+
+    override fun onStart() {
+        super.onStart()
+        // Get list of discovered devices from viewModel.
+        viewModel.discoverDevices()
+    }
+
+    override fun initializePrimaryFooterButton(): FooterButton {
+        return FooterButton.Builder(requireContext())
+            .setText(R.string.security_settings_remoteauth_enroll_enrolling_agree)
+            .setListener(this::onPrimaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.NEXT)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    override fun initializeSecondaryFooterButton(): FooterButton? {
+        return FooterButton.Builder(requireContext())
+            .setText(R.string.security_settings_remoteauth_enroll_enrolling_disagree)
+            .setListener(this::onSecondaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.SKIP)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
+            .build()
+    }
+
+    private fun onPrimaryFooterButtonClick(view: View) {
+        viewModel.registerAuthenticator()
+    }
+
+    private fun onSecondaryFooterButtonClick(view: View) {
+        navController.navigateUp()
+    }
+
+    private fun updateUi(uiState: RemoteAuthEnrollEnrollingUiState) {
+        progressBar.visibility = View.INVISIBLE
+        primaryFooterButton.isEnabled = false
+        // TODO(b/290769765): Add unit tests for all this states.
+        when (uiState.enrollmentUiState) {
+            EnrollmentUiState.NONE -> {
+                adapter.uiStates = uiState.discoveredDeviceUiStates
+                primaryFooterButton.isEnabled = viewModel.isDeviceSelected()
+            }
+
+            EnrollmentUiState.FINDING_DEVICES -> {
+                progressBar.visibility = View.VISIBLE
+            }
+
+            EnrollmentUiState.ENROLLING -> {}
+            EnrollmentUiState.SUCCESS -> {
+                navController.navigate(R.id.action_enrolling_to_finish)
+            }
+        }
+        if (uiState.errorMsg != null) {
+            errorText.visibility = View.VISIBLE
+            errorText.text = uiState.errorMsg
+        } else {
+            errorText.visibility = View.INVISIBLE
+            errorText.text = ""
+        }
+    }
+}
diff --git a/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingRecyclerViewAdapter.kt b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingRecyclerViewAdapter.kt
new file mode 100644
index 0000000..323c41f
--- /dev/null
+++ b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingRecyclerViewAdapter.kt
@@ -0,0 +1,66 @@
+/*
+ * 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.remoteauth.enrolling
+
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.android.settings.R
+
+class RemoteAuthEnrollEnrollingRecyclerViewAdapter :
+    RecyclerView.Adapter<RemoteAuthEnrollEnrollingRecyclerViewAdapter.ViewHolder>() {
+    var uiStates = listOf<DiscoveredAuthenticatorUiState>()
+        set(value) {
+            field = value
+            notifyDataSetChanged()
+        }
+
+
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+        val view = LayoutInflater.from(parent.context)
+            .inflate(R.layout.remote_auth_enrolling_authenticator_item, parent, false)
+        return ViewHolder(view)
+    }
+
+    override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
+        viewHolder.bind(uiStates[position])
+    }
+
+    override fun getItemCount() = uiStates.size
+
+    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+        private val titleTextView: TextView = view.requireViewById(R.id.discovered_authenticator_name)
+        private val selectButton: ImageView = view.requireViewById(R.id.authenticator_radio_button)
+        private val checkedDrawable =
+            view.context.getDrawable(R.drawable.ic_radio_button_checked_black_24dp)
+        private val uncheckedDrawable =
+            view.context.getDrawable(R.drawable.ic_radio_button_unchecked_black_24dp)
+
+        fun bind(discoveredAuthenticatorUiState: DiscoveredAuthenticatorUiState) {
+            titleTextView.text = discoveredAuthenticatorUiState.name
+            selectButton.background = if (discoveredAuthenticatorUiState.isSelected) {
+                checkedDrawable
+            } else {
+                uncheckedDrawable
+            }
+            selectButton.setOnClickListener { discoveredAuthenticatorUiState.onSelect() }
+        }
+    }
+}
diff --git a/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingUiState.kt b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingUiState.kt
new file mode 100644
index 0000000..285edf2
--- /dev/null
+++ b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingUiState.kt
@@ -0,0 +1,25 @@
+/*
+ * 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.remoteauth.enrolling
+
+/** UiState for full enrolling view. */
+data class RemoteAuthEnrollEnrollingUiState(
+    val discoveredDeviceUiStates: List<DiscoveredAuthenticatorUiState> = listOf(),
+    val enrollmentUiState: EnrollmentUiState = EnrollmentUiState.NONE,
+    // TODO(b/293906744): Change to error code in teamfood and add errors to strings.xml
+    val errorMsg: String? = null,
+)
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingViewModel.kt b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingViewModel.kt
new file mode 100644
index 0000000..c06862f
--- /dev/null
+++ b/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingViewModel.kt
@@ -0,0 +1,73 @@
+/*
+ * 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.remoteauth.enrolling
+
+import androidx.lifecycle.ViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.update
+import kotlin.properties.Delegates
+
+class RemoteAuthEnrollEnrollingViewModel : ViewModel() {
+    private val _uiState = MutableStateFlow(RemoteAuthEnrollEnrollingUiState())
+    val uiState: StateFlow<RemoteAuthEnrollEnrollingUiState> = _uiState.asStateFlow()
+
+    private var errorMessage: String? = null
+        set(value) {
+            field = value
+            _uiState.update { currentState ->
+                currentState.copy(
+                    errorMsg = value,
+                )
+            }
+        }
+
+    // TODO(b/293906744): Change to RemoteAuthManager.DiscoveredDevice.
+    private var selectedDevice: Any? by Delegates.observable(null) { _, _, _ -> discoverDevices() }
+
+
+    /** Returns if a device has been selected */
+    fun isDeviceSelected() = selectedDevice != null
+
+    /**
+     * Starts searching for nearby authenticators that are currently not enrolled. The devices
+     * and the state of the searching are both returned in uiState.
+     */
+    fun discoverDevices() {
+        _uiState.update { currentState ->
+            currentState.copy(enrollmentUiState = EnrollmentUiState.FINDING_DEVICES)
+        }
+
+        // TODO(b/293906744): Map RemoteAuthManager discovered devices to
+        // DiscoveredAuthenticatorUiState in viewModelScope.
+        val discoveredDeviceUiStates = listOf<DiscoveredAuthenticatorUiState>()
+
+        _uiState.update { currentState ->
+            currentState.copy(
+                discoveredDeviceUiStates = discoveredDeviceUiStates,
+                enrollmentUiState = EnrollmentUiState.NONE
+            )
+        }
+    }
+
+    /** Registers the selected discovered device, if one is selected. */
+    fun registerAuthenticator() {
+        // TODO(b/293906744): Call RemoteAuthManager.register with selected device and update
+        //  _uiState.
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinish.kt b/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinish.kt
new file mode 100644
index 0000000..ac96484
--- /dev/null
+++ b/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinish.kt
@@ -0,0 +1,63 @@
+/*
+ * 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.remoteauth.finish
+
+import android.os.Bundle
+import android.view.View
+import androidx.navigation.fragment.NavHostFragment.Companion.findNavController
+import com.airbnb.lottie.LottieAnimationView
+import com.android.settings.R
+import com.android.settings.remoteauth.RemoteAuthEnrollBase
+import com.android.settingslib.widget.LottieColorUtils
+import com.google.android.setupcompat.template.FooterButton
+
+/**
+ * Displays the enrollment finish view.
+ */
+class RemoteAuthEnrollFinish :
+    RemoteAuthEnrollBase(
+        layoutResId = R.layout.remote_auth_enroll_finish,
+        glifLayoutId = R.id.setup_wizard_layout,
+    ) {
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        LottieColorUtils.applyDynamicColors(
+            requireContext(),
+            view.findViewById<LottieAnimationView>(R.id.enroll_finish_animation)
+        )
+    }
+
+    override fun initializePrimaryFooterButton(): FooterButton {
+        return FooterButton.Builder(requireContext())
+            .setText(R.string.security_settings_remoteauth_enroll_finish_btn_next)
+            .setListener(this::onPrimaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.NEXT)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    override fun initializeSecondaryFooterButton(): FooterButton? = null
+
+    fun onPrimaryFooterButtonClick(view: View) {
+        findNavController(this).navigate(R.id.action_finish_to_settings)
+    }
+
+    private companion object {
+        const val TAG = "RemoteAuthEnrollFinish"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt b/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt
new file mode 100644
index 0000000..ad85763
--- /dev/null
+++ b/src/com/android/settings/remoteauth/introduction/IntroductionImageCarousel.kt
@@ -0,0 +1,161 @@
+/*
+ * 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.remoteauth.introduction
+
+import android.content.Context
+import android.util.AttributeSet
+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 androidx.annotation.VisibleForTesting
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import androidx.viewpager2.widget.MarginPageTransformer
+import androidx.viewpager2.widget.ViewPager2
+
+import com.airbnb.lottie.LottieAnimationView
+
+import com.android.settings.R
+import com.android.settingslib.widget.LottieColorUtils
+
+class IntroductionImageCarousel : ConstraintLayout {
+    private val carousel: ViewPager2 by lazy { requireViewById<ViewPager2>(R.id.image_carousel) }
+    private val progressIndicator: RecyclerView by lazy {
+        requireViewById<RecyclerView>(R.id.carousel_progress_indicator)
+    }
+    private val backArrow: ImageView by lazy {
+        requireViewById<ImageView>(R.id.carousel_back_arrow)
+    }
+    private val forwardArrow: ImageView by lazy {
+        requireViewById<ImageView>(R.id.carousel_forward_arrow)
+    }
+    private val progressIndicatorAdapter = ProgressIndicatorAdapter()
+    // The index of the current animation we are on
+    private var currentPage = 0
+        set(value) {
+            val pageRange = 0..(ANIMATION_LIST.size - 1)
+            field = value.coerceIn(pageRange)
+            backArrow.isEnabled = field > pageRange.start
+            forwardArrow.isEnabled = field < pageRange.endInclusive
+            carousel.setCurrentItem(field)
+            progressIndicatorAdapter.currentIndex = field
+        }
+
+    private val onPageChangeCallback =
+        object : ViewPager2.OnPageChangeCallback() {
+            override fun onPageSelected(position: Int) {
+                currentPage = position
+            }
+        }
+    constructor(context: Context) : super(context)
+    constructor(context: Context, attrSet: AttributeSet?) : super(context, attrSet)
+
+    init {
+        LayoutInflater.from(context).inflate(R.layout.remote_auth_introduction_image_carousel, this)
+
+        with(carousel) {
+            setPageTransformer(
+                MarginPageTransformer(
+                    context.resources.getDimension(R.dimen.remoteauth_introduction_fragment_padding_horizontal).toInt()
+                )
+            )
+            adapter = ImageCarouselAdapter()
+            registerOnPageChangeCallback(onPageChangeCallback)
+        }
+
+        with(progressIndicator) {
+            layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false)
+            adapter = progressIndicatorAdapter
+        }
+
+        backArrow.setOnClickListener { currentPage-- }
+        forwardArrow.setOnClickListener { currentPage++ }
+    }
+
+    fun unregister() {
+        carousel.unregisterOnPageChangeCallback(onPageChangeCallback)
+    }
+
+    private class AnimationViewHolder(val context: Context, itemView: View) : RecyclerView.ViewHolder(itemView) {
+        val animationView = itemView.requireViewById<LottieAnimationView>(R.id.explanation_animation)
+        val descriptionText = itemView.requireViewById<TextView>(R.id.carousel_text)
+    }
+
+    /** Adapter for the onboarding animations. */
+    private class ImageCarouselAdapter : RecyclerView.Adapter<AnimationViewHolder>() {
+
+        override fun getItemCount() = ANIMATION_LIST.size
+
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
+            AnimationViewHolder(parent.context, LayoutInflater.from(parent.context).inflate(R.layout.remote_auth_introduction_image_carousel_item, parent, false))
+
+        override fun onBindViewHolder(holder: AnimationViewHolder, position: Int) {
+            with(holder.animationView) {
+                setAnimation(ANIMATION_LIST[position].first)
+                LottieColorUtils.applyDynamicColors(holder.context, this)
+            }
+            holder.descriptionText.setText(ANIMATION_LIST[position].second)
+            with(holder.itemView) {
+                // This makes sure that the proper description text instead of a generic "Page" label is
+                // verbalized by Talkback when switching to a new page on the ViewPager2.
+                contentDescription = context.getString(ANIMATION_LIST[position].second)
+            }
+        }
+    }
+
+    /** Adapter for icons indicating carousel progress. */
+    private class ProgressIndicatorAdapter : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
+
+        var currentIndex: Int = 0
+            set(value) {
+                val previousIndex = field
+                field = value.coerceIn(0, getItemCount() - 1)
+                notifyItemChanged(previousIndex)
+                notifyItemChanged(field)
+            }
+
+        override fun getItemCount() = ANIMATION_LIST.size
+
+        override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
+            object :
+                RecyclerView.ViewHolder(LayoutInflater.from(parent.context).inflate(R.layout.remote_auth_introduction_image_carousel_progress_icon, parent, false)) {}
+
+        override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
+            holder.itemView.isSelected = position == currentIndex
+        }
+    }
+    companion object {
+        @VisibleForTesting
+        val ANIMATION_LIST =
+            listOf(
+                Pair(
+                    R.raw.remoteauth_explanation_swipe_animation,
+                    R.string.security_settings_remoteauth_enroll_introduction_animation_swipe_up
+                ),
+                Pair(
+                    R.raw.remoteauth_explanation_notification_animation,
+                    R.string.security_settings_remoteauth_enroll_introduction_animation_tap_notification
+                ),
+            )
+        const val TAG = "RemoteAuthCarousel"
+    }
+}
diff --git a/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt b/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt
new file mode 100644
index 0000000..b0d3f79
--- /dev/null
+++ b/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroduction.kt
@@ -0,0 +1,104 @@
+/*
+ * 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.remoteauth.introduction
+
+import android.os.Bundle
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import androidx.navigation.fragment.NavHostFragment.Companion.findNavController
+import com.android.settings.R
+import com.android.settings.remoteauth.RemoteAuthEnrollBase
+import com.google.android.setupcompat.template.FooterButton
+import com.google.android.setupdesign.template.RequireScrollMixin
+
+/**
+ * Provides introductory info about remote authenticator unlock.
+ */
+class RemoteAuthEnrollIntroduction :
+    RemoteAuthEnrollBase(
+        layoutResId = R.layout.remote_auth_enroll_introduction,
+        glifLayoutId = R.id.setup_wizard_layout,
+    ) {
+    private val navController by lazy { findNavController(this) }
+
+    override fun onCreateView(
+        inflater: LayoutInflater,
+        viewGroup: ViewGroup?,
+        savedInstanceArgs: Bundle?
+    ) =
+        super.onCreateView(inflater, viewGroup, savedInstanceArgs).also {
+            initializeRequireScrollMixin(it)
+        }
+
+
+    override fun initializePrimaryFooterButton(): FooterButton {
+        return FooterButton.Builder(context!!)
+            .setText(R.string.security_settings_remoteauth_enroll_introduction_agree)
+            .setListener(::onPrimaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.OPT_IN)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    override fun initializeSecondaryFooterButton(): FooterButton {
+        return FooterButton.Builder(context!!)
+            .setText(R.string.security_settings_remoteauth_enroll_introduction_disagree)
+            .setListener(::onSecondaryFooterButtonClick)
+            .setButtonType(FooterButton.ButtonType.NEXT)
+            .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
+            .build()
+    }
+
+    private fun onPrimaryFooterButtonClick(view: View) {
+        navController.navigate(R.id.action_introduction_to_enrolling)
+    }
+
+    private fun onSecondaryFooterButtonClick(view: View) {
+        navController.navigateUp()
+    }
+
+    private fun initializeRequireScrollMixin(view: View) {
+        val layout = checkNotNull(getGlifLayout(view))
+        secondaryFooterButton?.visibility = View.INVISIBLE
+        val requireScrollMixin = layout.getMixin(RequireScrollMixin::class.java)
+        requireScrollMixin.requireScrollWithButton(
+            requireContext(),
+            primaryFooterButton,
+            R.string.security_settings_remoteauth_enroll_introduction_more,
+            ::onPrimaryFooterButtonClick
+        )
+        requireScrollMixin.setOnRequireScrollStateChangedListener { scrollNeeded ->
+            if (scrollNeeded) {
+                primaryFooterButton.setText(
+                    requireContext(),
+                    R.string.security_settings_remoteauth_enroll_introduction_more
+                )
+            } else {
+                primaryFooterButton.setText(
+                    requireContext(),
+                    R.string.security_settings_remoteauth_enroll_introduction_agree
+                )
+                secondaryFooterButton?.visibility = View.VISIBLE
+            }
+        }
+    }
+
+    private companion object {
+        const val TAG = "RemoteAuthEnrollIntro"
+    }
+}
diff --git a/src/com/android/settings/remoteauth/settings/RemoteAuthAuthenticatorItemUiState.kt b/src/com/android/settings/remoteauth/settings/RemoteAuthAuthenticatorItemUiState.kt
new file mode 100644
index 0000000..f1b48f6
--- /dev/null
+++ b/src/com/android/settings/remoteauth/settings/RemoteAuthAuthenticatorItemUiState.kt
@@ -0,0 +1,23 @@
+/*
+ * 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.remoteauth.settings
+
+data class RemoteAuthAuthenticatorItemUiState(
+    val name: String,
+    val isActive: Boolean,
+    val unregister: () -> Unit,
+)
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/settings/RemoteAuthSettings.kt b/src/com/android/settings/remoteauth/settings/RemoteAuthSettings.kt
new file mode 100644
index 0000000..9cf2511
--- /dev/null
+++ b/src/com/android/settings/remoteauth/settings/RemoteAuthSettings.kt
@@ -0,0 +1,71 @@
+/*
+ * 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.remoteauth.settings
+
+import android.os.Bundle
+import android.view.View
+import androidx.constraintlayout.widget.ConstraintLayout
+import androidx.fragment.app.Fragment
+import androidx.fragment.app.viewModels
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.navigation.fragment.NavHostFragment.Companion.findNavController
+import androidx.recyclerview.widget.LinearLayoutManager
+import androidx.recyclerview.widget.RecyclerView
+import com.android.settings.R
+import kotlinx.coroutines.launch
+
+class RemoteAuthSettings : Fragment(R.layout.remote_auth_settings) {
+
+    val viewModel: RemoteAuthSettingsViewModel by viewModels()
+    private val adapter = RemoteAuthSettingsRecyclerViewAdapter()
+    private val recyclerView by lazy {
+        view!!.requireViewById<RecyclerView>(R.id.registered_authenticator_list)
+    }
+
+    private val addAuthenticatorLayout by lazy {
+        view!!.requireViewById<ConstraintLayout>(R.id.add_authenticator_layout)
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+
+        recyclerView.layoutManager = LinearLayoutManager(context)
+        recyclerView.adapter = adapter
+
+        // Add new remote authenticator click listener
+        addAuthenticatorLayout.setOnClickListener {
+            findNavController(this).navigate(R.id.action_settings_to_introduction)
+        }
+
+        // Collect UIState and update UI on changes.
+        lifecycleScope.launch {
+            repeatOnLifecycle(Lifecycle.State.STARTED) {
+                viewModel.uiState.collect {
+                    updateUi(it)
+                }
+            }
+        }
+
+    }
+
+    private fun updateUi(uiState: RemoteAuthSettingsUiState) {
+        adapter.uiStates = uiState.registeredAuthenticatorUiStates
+    }
+
+}
diff --git a/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsRecyclerViewAdapter.kt b/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsRecyclerViewAdapter.kt
new file mode 100644
index 0000000..f8038bd
--- /dev/null
+++ b/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsRecyclerViewAdapter.kt
@@ -0,0 +1,57 @@
+/*
+ * 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.remoteauth.settings
+
+
+import android.view.LayoutInflater
+import android.view.View
+import android.view.ViewGroup
+import android.widget.ImageView
+import android.widget.TextView
+import androidx.recyclerview.widget.RecyclerView
+import com.android.settings.R
+
+class RemoteAuthSettingsRecyclerViewAdapter() :
+    RecyclerView.Adapter<RemoteAuthSettingsRecyclerViewAdapter.ViewHolder>() {
+    var uiStates = listOf<RemoteAuthAuthenticatorItemUiState>()
+        set(value) {
+            field = value
+            notifyDataSetChanged()
+        }
+
+    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
+        val view = LayoutInflater.from(parent.context)
+            .inflate(R.layout.remote_auth_settings_authenticator_item, parent, false)
+        return ViewHolder(view)
+    }
+
+    override fun onBindViewHolder(viewHolder: ViewHolder, position: Int) {
+        viewHolder.bind(uiStates[position])
+    }
+
+    override fun getItemCount() = uiStates.size
+
+    class ViewHolder(view: View) : RecyclerView.ViewHolder(view) {
+        private val titleTextView: TextView = view.requireViewById(R.id.authenticator_name_text)
+        private val unregisterButton: ImageView = view.requireViewById(R.id.remove_icon)
+
+        fun bind(authenticatorUiState: RemoteAuthAuthenticatorItemUiState) {
+            titleTextView.text = authenticatorUiState.name
+            unregisterButton.setOnClickListener { authenticatorUiState.unregister() }
+        }
+    }
+}
diff --git a/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsUiState.kt b/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsUiState.kt
new file mode 100644
index 0000000..e0c0e0d
--- /dev/null
+++ b/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsUiState.kt
@@ -0,0 +1,23 @@
+/*
+ * 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.remoteauth.settings
+
+data class RemoteAuthSettingsUiState(
+    val registeredAuthenticatorUiStates: List<RemoteAuthAuthenticatorItemUiState> = listOf(),
+    // TODO(b/295524962): Change to error code in teamfood and add errors to strings.xml
+    val errorMsg: String? = null,
+)
\ No newline at end of file
diff --git a/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsViewModel.kt b/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsViewModel.kt
new file mode 100644
index 0000000..e95dee2
--- /dev/null
+++ b/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsViewModel.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.remoteauth.settings
+
+import androidx.lifecycle.ViewModel
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.update
+
+class RemoteAuthSettingsViewModel : ViewModel() {
+    private val _uiState = MutableStateFlow(RemoteAuthSettingsUiState())
+    val uiState: StateFlow<RemoteAuthSettingsUiState> = _uiState.asStateFlow()
+
+    private var errorMessage: String? = null
+        set(value) {
+            field = value
+            _uiState.update { currentState ->
+                currentState.copy(
+                    errorMsg = value,
+                )
+            }
+        }
+
+    fun refreshAuthenticatorList() {
+        // TODO(b/290768873): Pull from RemoteAuthenticationManager and map to UIState
+        val authenticatorUiStates = listOf<RemoteAuthAuthenticatorItemUiState>()
+
+        _uiState.update { currentState ->
+            currentState.copy(
+                registeredAuthenticatorUiStates = authenticatorUiStates,
+            )
+        }
+    }
+
+    /** Called by UI when user has acknowledged they seen the error dialog, via ok button. */
+    fun resetErrorMessage() {
+        errorMessage = null
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/safetycenter/BiometricsSafetySource.java b/src/com/android/settings/safetycenter/BiometricsSafetySource.java
index 9dc5b4e..8e1c786 100644
--- a/src/com/android/settings/safetycenter/BiometricsSafetySource.java
+++ b/src/com/android/settings/safetycenter/BiometricsSafetySource.java
@@ -62,6 +62,16 @@
         }
         final Context profileParentContext =
                 context.createContextAsUser(profileParentUserHandle, 0);
+        if (android.os.Flags.allowPrivateProfile() && userManager.isPrivateProfile()) {
+            // SC always expects a response from the source if the broadcast has been sent for this
+            // source, therefore, we need to send a null SafetySourceData.
+            SafetyCenterManagerWrapper.get().setSafetySourceData(
+                    context,
+                    SAFETY_SOURCE_ID,
+                    /* safetySourceData= */ null,
+                    safetyEvent);
+            return;
+        }
 
         final BiometricNavigationUtils biometricNavigationUtils =
                 new BiometricNavigationUtils(userId);
@@ -164,7 +174,12 @@
                     disablingAdmin == null /* enabled */,
                     fingerprintStatusUtils.hasEnrolled(),
                     safetyEvent);
+            return;
         }
+
+        SafetyCenterManagerWrapper.get()
+                .setSafetySourceData(
+                        context, SAFETY_SOURCE_ID, /* safetySourceData= */ null, safetyEvent);
     }
 
     /** Notifies Safety Center of a change in biometrics settings. */
diff --git a/src/com/android/settings/safetycenter/LockScreenSafetySource.java b/src/com/android/settings/safetycenter/LockScreenSafetySource.java
index de20e24..6960fc6 100644
--- a/src/com/android/settings/safetycenter/LockScreenSafetySource.java
+++ b/src/com/android/settings/safetycenter/LockScreenSafetySource.java
@@ -46,11 +46,11 @@
     private static final int REQUEST_CODE_SCREEN_LOCK = 1;
     private static final int REQUEST_CODE_SCREEN_LOCK_SETTINGS = 2;
 
-    private LockScreenSafetySource() {
-    }
+    private LockScreenSafetySource() {}
 
     /** Sets lock screen safety data for Safety Center. */
-    public static void setSafetySourceData(Context context,
+    public static void setSafetySourceData(
+            Context context,
             ScreenLockPreferenceDetailsUtils screenLockPreferenceDetailsUtils,
             SafetyEvent safetyEvent) {
         if (!SafetyCenterManagerWrapper.get().isEnabled(context)) {
@@ -63,53 +63,61 @@
         }
 
         if (!screenLockPreferenceDetailsUtils.isAvailable()) {
+            SafetyCenterManagerWrapper.get()
+                    .setSafetySourceData(
+                            context, SAFETY_SOURCE_ID, /* safetySourceData= */ null, safetyEvent);
             return;
         }
 
         final int userId = UserHandle.myUserId();
-        final RestrictedLockUtils.EnforcedAdmin admin = RestrictedLockUtilsInternal
-                .checkIfPasswordQualityIsSet(context, userId);
-        final PendingIntent pendingIntent = createPendingIntent(context,
-                screenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent(
-                        SettingsEnums.SAFETY_CENTER), REQUEST_CODE_SCREEN_LOCK);
-        final IconAction gearMenuIconAction = createGearMenuIconAction(context,
-                screenLockPreferenceDetailsUtils);
-        final boolean enabled =
+        final RestrictedLockUtils.EnforcedAdmin admin =
+                RestrictedLockUtilsInternal.checkIfPasswordQualityIsSet(context, userId);
+        final PendingIntent pendingIntent =
+                createPendingIntent(
+                        context,
+                        screenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent(
+                                SettingsEnums.SAFETY_CENTER),
+                        REQUEST_CODE_SCREEN_LOCK);
+        final IconAction gearMenuIconAction =
+                createGearMenuIconAction(context, screenLockPreferenceDetailsUtils);
+        final boolean lockScreenAllowedByAdmin =
                 !screenLockPreferenceDetailsUtils.isPasswordQualityManaged(userId, admin);
         final boolean isLockPatternSecure = screenLockPreferenceDetailsUtils.isLockPatternSecure();
-        final int severityLevel = enabled
-                ? isLockPatternSecure
-                        ? SafetySourceData.SEVERITY_LEVEL_INFORMATION
-                        : SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION
-                : SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED;
+        final int severityLevel =
+                lockScreenAllowedByAdmin
+                        ? isLockPatternSecure
+                                ? SafetySourceData.SEVERITY_LEVEL_INFORMATION
+                                : SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION
+                        : SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED;
 
-
-        final SafetySourceStatus status = new SafetySourceStatus.Builder(
-                context.getString(R.string.unlock_set_unlock_launch_picker_title),
-                screenLockPreferenceDetailsUtils.getSummary(UserHandle.myUserId()),
-                severityLevel)
-                .setPendingIntent(pendingIntent)
-                .setEnabled(enabled)
-                .setIconAction(gearMenuIconAction).build();
+        final SafetySourceStatus status =
+                new SafetySourceStatus.Builder(
+                                context.getString(R.string.unlock_set_unlock_launch_picker_title),
+                                lockScreenAllowedByAdmin
+                                        ? screenLockPreferenceDetailsUtils.getSummary(
+                                                UserHandle.myUserId())
+                                        : context.getString(R.string.disabled_by_policy_title),
+                                severityLevel)
+                        .setPendingIntent(lockScreenAllowedByAdmin ? pendingIntent : null)
+                        .setEnabled(lockScreenAllowedByAdmin)
+                        .setIconAction(lockScreenAllowedByAdmin ? gearMenuIconAction : null)
+                        .build();
         final SafetySourceData.Builder safetySourceDataBuilder =
                 new SafetySourceData.Builder().setStatus(status);
-        if (enabled && !isLockPatternSecure) {
+        if (lockScreenAllowedByAdmin && !isLockPatternSecure) {
             safetySourceDataBuilder.addIssue(createNoScreenLockIssue(context, pendingIntent));
         }
         final SafetySourceData safetySourceData = safetySourceDataBuilder.build();
 
-        SafetyCenterManagerWrapper.get().setSafetySourceData(
-                context,
-                SAFETY_SOURCE_ID,
-                safetySourceData,
-                safetyEvent
-        );
+        SafetyCenterManagerWrapper.get()
+                .setSafetySourceData(context, SAFETY_SOURCE_ID, safetySourceData, safetyEvent);
     }
 
     /** Notifies Safety Center of a change in lock screen settings. */
     public static void onLockScreenChange(Context context) {
         setSafetySourceData(
-                context, new ScreenLockPreferenceDetailsUtils(context),
+                context,
+                new ScreenLockPreferenceDetailsUtils(context),
                 new SafetyEvent.Builder(SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build());
 
         // Also send refreshed safety center data for biometrics, since changing lockscreen settings
@@ -117,45 +125,45 @@
         BiometricsSafetySource.onBiometricsChanged(context);
     }
 
-    private static IconAction createGearMenuIconAction(Context context,
-            ScreenLockPreferenceDetailsUtils screenLockPreferenceDetailsUtils) {
-        return screenLockPreferenceDetailsUtils.shouldShowGearMenu() ? new IconAction(
-                IconAction.ICON_TYPE_GEAR,
-                createPendingIntent(context,
-                        screenLockPreferenceDetailsUtils.getLaunchScreenLockSettingsIntent(
-                                SettingsEnums.SAFETY_CENTER),
-                        REQUEST_CODE_SCREEN_LOCK_SETTINGS))
+    private static IconAction createGearMenuIconAction(
+            Context context, ScreenLockPreferenceDetailsUtils screenLockPreferenceDetailsUtils) {
+        return screenLockPreferenceDetailsUtils.shouldShowGearMenu()
+                ? new IconAction(
+                        IconAction.ICON_TYPE_GEAR,
+                        createPendingIntent(
+                                context,
+                                screenLockPreferenceDetailsUtils.getLaunchScreenLockSettingsIntent(
+                                        SettingsEnums.SAFETY_CENTER),
+                                REQUEST_CODE_SCREEN_LOCK_SETTINGS))
                 : null;
     }
 
-    private static PendingIntent createPendingIntent(Context context, Intent intent,
-            int requestCode) {
-        return PendingIntent
-                .getActivity(
-                        context,
-                        requestCode,
-                        intent,
-                        PendingIntent.FLAG_IMMUTABLE);
+    private static PendingIntent createPendingIntent(
+            Context context, Intent intent, int requestCode) {
+        return PendingIntent.getActivity(
+                context, requestCode, intent, PendingIntent.FLAG_IMMUTABLE);
     }
 
-    private static SafetySourceIssue createNoScreenLockIssue(Context context,
-            PendingIntent pendingIntent) {
-        final SafetySourceIssue.Action action = new SafetySourceIssue.Action.Builder(
-                SET_SCREEN_LOCK_ACTION_ID,
-                context.getString(R.string.no_screen_lock_issue_action_label),
-                pendingIntent).build();
+    private static SafetySourceIssue createNoScreenLockIssue(
+            Context context, PendingIntent pendingIntent) {
+        final SafetySourceIssue.Action action =
+                new SafetySourceIssue.Action.Builder(
+                                SET_SCREEN_LOCK_ACTION_ID,
+                                context.getString(R.string.no_screen_lock_issue_action_label),
+                                pendingIntent)
+                        .build();
         // Custom notification deliberately has zero actions
         final SafetySourceIssue.Notification customNotification =
-            new SafetySourceIssue.Notification.Builder(
-                context.getString(R.string.no_screen_lock_issue_notification_title),
-                context.getString(R.string.no_screen_lock_issue_notification_text))
-                .build();
+                new SafetySourceIssue.Notification.Builder(
+                                context.getString(R.string.no_screen_lock_issue_notification_title),
+                                context.getString(R.string.no_screen_lock_issue_notification_text))
+                        .build();
         return new SafetySourceIssue.Builder(
-                NO_SCREEN_LOCK_ISSUE_ID,
-                context.getString(R.string.no_screen_lock_issue_title),
-                context.getString(R.string.no_screen_lock_issue_summary),
-                SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION,
-                NO_SCREEN_LOCK_ISSUE_TYPE_ID)
+                        NO_SCREEN_LOCK_ISSUE_ID,
+                        context.getString(R.string.no_screen_lock_issue_title),
+                        context.getString(R.string.no_screen_lock_issue_summary),
+                        SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION,
+                        NO_SCREEN_LOCK_ISSUE_TYPE_ID)
                 .setIssueCategory(SafetySourceIssue.ISSUE_CATEGORY_DEVICE)
                 .addAction(action)
                 .setIssueActionability(SafetySourceIssue.ISSUE_ACTIONABILITY_MANUAL)
diff --git a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
index 69ec385..34f8a53 100644
--- a/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
+++ b/src/com/android/settings/safetycenter/MoreSecurityPrivacyFragment.java
@@ -27,7 +27,6 @@
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.security.LockUnificationPreferenceController;
 import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
@@ -73,24 +72,8 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        List<EnterpriseOverrideString> privacyOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForPrivacyEntries();
-        for (int i = 0; i < privacyOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = privacyOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
-        List<EnterpriseOverrideString> securityOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
-        for (int i = 0; i < securityOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
+        SafetyCenterUtils.replaceEnterpriseStringsForPrivacyEntries(this);
+        SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this);
     }
 
     /** see confirmPatternThenDisableAndClear */
diff --git a/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java b/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java
index e720526..55eb4f1 100644
--- a/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java
+++ b/src/com/android/settings/safetycenter/SafetyCenterManagerWrapper.java
@@ -22,6 +22,8 @@
 import android.safetycenter.SafetySourceData;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
+
 import com.android.internal.annotations.VisibleForTesting;
 
 /** A wrapper for the SafetyCenterManager system service. */
@@ -49,7 +51,7 @@
 
     /** Sets the latest safety source data for Safety Center. */
     public void setSafetySourceData(Context context, String safetySourceId,
-            SafetySourceData safetySourceData,
+            @Nullable SafetySourceData safetySourceData,
             SafetyEvent safetyEvent) {
         SafetyCenterManager safetyCenterManager =
                 context.getSystemService(SafetyCenterManager.class);
diff --git a/src/com/android/settings/safetycenter/SafetyCenterUtils.java b/src/com/android/settings/safetycenter/SafetyCenterUtils.java
index 6c7967d..e066530 100644
--- a/src/com/android/settings/safetycenter/SafetyCenterUtils.java
+++ b/src/com/android/settings/safetycenter/SafetyCenterUtils.java
@@ -28,7 +28,6 @@
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE;
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_UNIFY_LOCKS_SUMMARY;
 
-import android.annotation.StringRes;
 import android.content.Context;
 
 import com.android.settings.R;
@@ -40,7 +39,6 @@
 import com.android.settings.privacy.PrivacyDashboardFragment;
 import com.android.settings.security.ChangeProfileScreenLockPreferenceController;
 import com.android.settings.security.LockUnificationPreferenceController;
-import com.android.settings.security.VisiblePatternProfilePreferenceController;
 import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
 import com.android.settings.widget.PreferenceCategoryController;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -48,29 +46,32 @@
 import java.util.ArrayList;
 import java.util.List;
 
-/**
- * A class with helper method used in logic involving safety center.
- */
+/** A class with helper method used in logic involving safety center. */
 public final class SafetyCenterUtils {
 
+    private static final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category";
+    private static final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
+    private static final String KEY_WORK_PROFILE_CATEGORY =
+            "privacy_work_profile_notifications_category";
+    private static final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
+            "privacy_lock_screen_work_profile_notifications";
+
     /**
-     * Returns preference controllers related to advanced security entries.
-     * This is used in {@link MoreSecurityPrivacyFragment} and
-     * {@link com.android.settings.security.SecurityAdvancedSettings}.
+     * Returns preference controllers related to advanced security entries. This is used in {@link
+     * MoreSecurityPrivacyFragment} and {@link
+     * com.android.settings.security.SecurityAdvancedSettings}.
      */
     public static List<AbstractPreferenceController> getControllersForAdvancedSecurity(
             Context context,
-            com.android.settingslib.core.lifecycle.Lifecycle lifecycle, DashboardFragment host) {
-        final String WORK_PROFILE_SECURITY_CATEGORY = "work_profile_category";
+            com.android.settingslib.core.lifecycle.Lifecycle lifecycle,
+            DashboardFragment host) {
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         controllers.add(new TrustAgentListPreferenceController(context, host, lifecycle));
 
         final List<AbstractPreferenceController> profileSecurityControllers = new ArrayList<>();
-        profileSecurityControllers.add(new ChangeProfileScreenLockPreferenceController(
-                context, host));
+        profileSecurityControllers.add(
+                new ChangeProfileScreenLockPreferenceController(context, host));
         profileSecurityControllers.add(new LockUnificationPreferenceController(context, host));
-        profileSecurityControllers.add(new VisiblePatternProfilePreferenceController(
-                context, lifecycle));
         profileSecurityControllers.add(new FaceProfileStatusPreferenceController(
                 context, lifecycle));
         profileSecurityControllers.add(new FingerprintProfileStatusPreferenceController(
@@ -84,19 +85,15 @@
     }
 
     /**
-     * Returns preference controllers for advanced privacy entries.
-     * This is used in {@link MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
+     * Returns preference controllers for advanced privacy entries. This is used in {@link
+     * MoreSecurityPrivacyFragment} and {@link PrivacyDashboardFragment}.
      */
     public static List<AbstractPreferenceController> getControllersForAdvancedPrivacy(
             Context context, com.android.settingslib.core.lifecycle.Lifecycle lifecycle) {
-        final String KEY_LOCK_SCREEN_NOTIFICATIONS = "privacy_lock_screen_notifications";
-        final String KEY_WORK_PROFILE_CATEGORY =
-                "privacy_work_profile_notifications_category";
-        final String KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS =
-                "privacy_lock_screen_work_profile_notifications";
         final List<AbstractPreferenceController> controllers = new ArrayList<>();
         final LockScreenNotificationPreferenceController notificationController =
-                new LockScreenNotificationPreferenceController(context,
+                new LockScreenNotificationPreferenceController(
+                        context,
                         KEY_LOCK_SCREEN_NOTIFICATIONS,
                         KEY_WORK_PROFILE_CATEGORY,
                         KEY_NOTIFICATION_WORK_PROFILE_NOTIFICATIONS);
@@ -107,84 +104,54 @@
         return controllers;
     }
 
-    /**
-     * A class that stores the resource that will be overridden using preferenceKey and overrideKey.
-     */
-    public static final class EnterpriseOverrideString {
-        private final String mPreferenceKey;
-        private final String mOverrideKey;
-        @StringRes private final int mResource;
-
-        public EnterpriseOverrideString(
-                String preferenceKey,
-                String overrideKey,
-                @StringRes int resource) {
-            this.mPreferenceKey = preferenceKey;
-            this.mOverrideKey = overrideKey;
-            this.mResource = resource;
-        }
-
-        @StringRes
-        public int getResource() {
-            return mResource;
-        }
-
-        public String getPreferenceKey() {
-            return mPreferenceKey;
-        }
-
-        public String getOverrideKey() {
-            return mOverrideKey;
-        }
-    }
-
-    /**
-     * Returns a list of @{EnterpriseOverrideString} for the privacy entries.
-     */
-    public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForPrivacyEntries() {
-        List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("privacy_lock_screen_work_profile_notifications",
-                        WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
-                        R.string.locked_work_profile_notification_title));
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("interact_across_profiles_privacy",
-                        CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
-                        R.string.interact_across_profiles_title));
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("privacy_work_profile_notifications_category",
-                        WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER,
-                        R.string.profile_section_header));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info",
-                WORK_PROFILE_PRIVACY_POLICY_INFO, R.string.work_policy_privacy_settings));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("work_policy_info",
+    /** Replaces relevant strings with their enterprise variants for the privacy entries. */
+    public static void replaceEnterpriseStringsForPrivacyEntries(
+            DashboardFragment dashboardFragment) {
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "privacy_lock_screen_work_profile_notifications",
+                WORK_PROFILE_LOCKED_NOTIFICATION_TITLE,
+                R.string.locked_work_profile_notification_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "interact_across_profiles_privacy",
+                CONNECTED_WORK_AND_PERSONAL_APPS_TITLE,
+                R.string.interact_across_profiles_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "privacy_work_profile_notifications_category",
+                WORK_PROFILE_NOTIFICATIONS_SECTION_HEADER,
+                R.string.profile_section_header);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "work_policy_info",
+                WORK_PROFILE_PRIVACY_POLICY_INFO,
+                R.string.work_policy_privacy_settings);
+        dashboardFragment.replaceEnterpriseStringSummary(
+                "work_policy_info",
                 WORK_PROFILE_PRIVACY_POLICY_INFO_SUMMARY,
-                R.string.work_policy_privacy_settings_summary));
-        return enterpriseOverrideStrings;
+                R.string.work_policy_privacy_settings_summary);
     }
 
-    /**
-     * Returns a list of @{EnterpriseOverrideString} for the security entries.
-     */
-    public static List<EnterpriseOverrideString> getEnterpriseOverrideStringForSecurityEntries() {
-        List<EnterpriseOverrideString> enterpriseOverrideStrings = new ArrayList<>();
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("unlock_set_or_change_profile",
+    /** Replaces relevant strings with their enterprise variants for the security entries. */
+    public static void replaceEnterpriseStringsForSecurityEntries(
+            DashboardFragment dashboardFragment) {
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "unlock_set_or_change_profile",
                 WORK_PROFILE_SET_UNLOCK_LAUNCH_PICKER_TITLE,
-                R.string.unlock_set_unlock_launch_picker_title_profile));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("unification",
+                R.string.unlock_set_unlock_launch_picker_title_profile);
+        dashboardFragment.replaceEnterpriseStringSummary(
+                "unification",
                 WORK_PROFILE_UNIFY_LOCKS_SUMMARY,
-                R.string.lock_settings_profile_unification_summary));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("fingerprint_settings_profile",
+                R.string.lock_settings_profile_unification_summary);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "fingerprint_settings_profile",
                 FINGERPRINT_FOR_WORK,
-                R.string.security_settings_work_fingerprint_preference_title));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("manage_device_admin",
-                MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin));
-        enterpriseOverrideStrings.add(new EnterpriseOverrideString("security_category_profile",
-                WORK_PROFILE_SECURITY_TITLE, R.string.lock_settings_profile_title));
-        enterpriseOverrideStrings.add(
-                new EnterpriseOverrideString("enterprise_privacy", MANAGED_DEVICE_INFO,
-                        R.string.enterprise_privacy_settings));
-        return enterpriseOverrideStrings;
+                R.string.security_settings_work_fingerprint_preference_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "manage_device_admin", MANAGE_DEVICE_ADMIN_APPS, R.string.manage_device_admin);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "security_category_profile",
+                WORK_PROFILE_SECURITY_TITLE,
+                R.string.lock_settings_profile_title);
+        dashboardFragment.replaceEnterpriseStringTitle(
+                "enterprise_privacy", MANAGED_DEVICE_INFO, R.string.enterprise_privacy_settings);
     }
 
     private SafetyCenterUtils() {}
diff --git a/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java b/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java
index 0b556e7..cc0f892 100644
--- a/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java
+++ b/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiver.java
@@ -28,6 +28,7 @@
 import android.safetycenter.SafetyCenterManager;
 import android.safetycenter.SafetyEvent;
 
+import com.android.settings.privatespace.PrivateSpaceSafetySource;
 import com.android.settings.security.ScreenLockPreferenceDetailsUtils;
 
 import com.google.common.collect.ImmutableList;
@@ -79,11 +80,16 @@
         if (sourceIds.contains(BiometricsSafetySource.SAFETY_SOURCE_ID)) {
             BiometricsSafetySource.setSafetySourceData(context, safetyEvent);
         }
+
+        if (sourceIds.contains(PrivateSpaceSafetySource.SAFETY_SOURCE_ID)) {
+            PrivateSpaceSafetySource.setSafetySourceData(context, safetyEvent);
+        }
     }
 
     private static void refreshAllSafetySources(Context context, SafetyEvent safetyEvent) {
         LockScreenSafetySource.setSafetySourceData(context,
                 new ScreenLockPreferenceDetailsUtils(context), safetyEvent);
         BiometricsSafetySource.setSafetySourceData(context, safetyEvent);
+        PrivateSpaceSafetySource.setSafetySourceData(context, safetyEvent);
     }
 }
diff --git a/src/com/android/settings/search/BaseSearchIndexProvider.java b/src/com/android/settings/search/BaseSearchIndexProvider.java
index 581eb2e..7fa8355 100644
--- a/src/com/android/settings/search/BaseSearchIndexProvider.java
+++ b/src/com/android/settings/search/BaseSearchIndexProvider.java
@@ -73,7 +73,19 @@
 
     @Override
     public List<SearchIndexableRaw> getRawDataToIndex(Context context, boolean enabled) {
-        return null;
+        final List<SearchIndexableRaw> raws = new ArrayList<>();
+        final List<AbstractPreferenceController> controllers = getPreferenceControllers(context);
+        if (controllers == null || controllers.isEmpty()) {
+            return raws;
+        }
+        for (AbstractPreferenceController controller : controllers) {
+            if (controller instanceof PreferenceControllerMixin) {
+                ((PreferenceControllerMixin) controller).updateRawDataToIndex(raws);
+            } else if (controller instanceof BasePreferenceController) {
+                ((BasePreferenceController) controller).updateRawDataToIndex(raws);
+            }
+        }
+        return raws;
     }
 
     @Override
@@ -136,7 +148,7 @@
         try {
             controllersFromCode = createPreferenceControllers(context);
         } catch (Exception e) {
-            Log.w(TAG, "Error initial controller");
+            Log.w(TAG, "Error initializing controller in fragment: " + this + ", e: " + e);
         }
 
         final List<SearchIndexableResource> res = getXmlResourcesToIndex(context, true);
diff --git a/src/com/android/settings/search/CustomSiteMapRegistry.java b/src/com/android/settings/search/CustomSiteMapRegistry.java
index 1777cb8..dc19782 100644
--- a/src/com/android/settings/search/CustomSiteMapRegistry.java
+++ b/src/com/android/settings/search/CustomSiteMapRegistry.java
@@ -27,13 +27,11 @@
 import com.android.settings.gestures.SystemNavigationGestureSettings;
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.RecentLocationAccessSeeAllFragment;
-import com.android.settings.network.NetworkDashboardFragment;
 import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
 import com.android.settings.notification.zen.ZenModeRestrictNotificationsSettings;
 import com.android.settings.security.SecuritySettings;
 import com.android.settings.security.screenlock.ScreenLockSettings;
 import com.android.settings.system.SystemDashboardFragment;
-import com.android.settings.wifi.WifiSettings;
 
 import java.util.Map;
 
@@ -50,8 +48,6 @@
     static {
         CUSTOM_SITE_MAP = new ArrayMap<>();
         CUSTOM_SITE_MAP.put(ScreenLockSettings.class.getName(), SecuritySettings.class.getName());
-        CUSTOM_SITE_MAP.put(
-                WifiSettings.class.getName(), NetworkDashboardFragment.class.getName());
         CUSTOM_SITE_MAP.put(PowerUsageAdvanced.class.getName(), PowerUsageSummary.class.getName());
         CUSTOM_SITE_MAP.put(RecentLocationAccessSeeAllFragment.class.getName(),
                 LocationSettings.class.getName());
diff --git a/src/com/android/settings/search/SearchFeatureProvider.java b/src/com/android/settings/search/SearchFeatureProvider.java
index cd096ec..b1d04d4 100644
--- a/src/com/android/settings/search/SearchFeatureProvider.java
+++ b/src/com/android/settings/search/SearchFeatureProvider.java
@@ -18,7 +18,6 @@
 
 import static android.view.View.IMPORTANT_FOR_ACCESSIBILITY_NO;
 
-import android.annotation.NonNull;
 import android.app.ActivityOptions;
 import android.content.ComponentName;
 import android.content.Context;
@@ -30,6 +29,7 @@
 import android.view.ViewGroup;
 import android.widget.Toolbar;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
@@ -56,7 +56,7 @@
      * @throws IllegalArgumentException when caller is null
      * @throws SecurityException        when caller is not allowed to launch search result page
      */
-    void verifyLaunchSearchResultPageCaller(Context context, @NonNull ComponentName caller)
+    void verifyLaunchSearchResultPageCaller(@NonNull Context context, @NonNull String callerPackage)
             throws SecurityException, IllegalArgumentException;
 
     /**
@@ -136,10 +136,10 @@
     /** Start the search activity. */
     private static void startSearchActivity(
             Context context, FragmentActivity activity, int pageId, Intent intent) {
-        FeatureFactory.getFactory(context).getSlicesFeatureProvider()
+        FeatureFactory.getFeatureFactory().getSlicesFeatureProvider()
                 .indexSliceDataAsync(context);
 
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .logSettingsTileClick(KEY_HOMEPAGE_SEARCH_BAR, pageId);
 
         final Bundle bundle = ActivityOptions.makeSceneTransitionAnimation(activity).toBundle();
diff --git a/src/com/android/settings/search/SearchFeatureProviderImpl.java b/src/com/android/settings/search/SearchFeatureProviderImpl.java
index 6f90970..3a62ddf 100644
--- a/src/com/android/settings/search/SearchFeatureProviderImpl.java
+++ b/src/com/android/settings/search/SearchFeatureProviderImpl.java
@@ -17,13 +17,14 @@
 
 package com.android.settings.search;
 
-import android.content.ComponentName;
 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;
 
@@ -32,21 +33,18 @@
  */
 public class SearchFeatureProviderImpl implements SearchFeatureProvider {
 
-    private static final String TAG = "SearchFeatureProvider";
-
     private SearchIndexableResources mSearchIndexableResources;
 
     @Override
-    public void verifyLaunchSearchResultPageCaller(Context context, ComponentName caller) {
-        if (caller == null) {
+    public void verifyLaunchSearchResultPageCaller(@NonNull Context context,
+            @NonNull String callerPackage) {
+        if (TextUtils.isEmpty(callerPackage)) {
             throw new IllegalArgumentException("ExternalSettingsTrampoline intents "
                     + "must be called with startActivityForResult");
         }
-        final String packageName = caller.getPackageName();
-        final boolean isSettingsPackage = TextUtils.equals(packageName, context.getPackageName())
-                || TextUtils.equals(getSettingsIntelligencePkgName(context), packageName);
-        final boolean isAllowlistedPackage =
-                isSignatureAllowlisted(context, caller.getPackageName());
+        final boolean isSettingsPackage = TextUtils.equals(callerPackage, context.getPackageName())
+                || TextUtils.equals(getSettingsIntelligencePkgName(context), callerPackage);
+        final boolean isAllowlistedPackage = isSignatureAllowlisted(context, callerPackage);
         if (isSettingsPackage || isAllowlistedPackage) {
             return;
         }
diff --git a/src/com/android/settings/search/SearchResultTrampoline.java b/src/com/android/settings/search/SearchResultTrampoline.java
index 6ba0338..04d9db5 100644
--- a/src/com/android/settings/search/SearchResultTrampoline.java
+++ b/src/com/android/settings/search/SearchResultTrampoline.java
@@ -18,9 +18,9 @@
 
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB;
+import static com.android.settings.activityembedding.EmbeddedDeepLinkUtils.getTrampolineIntent;
 
 import android.app.Activity;
-import android.content.ComponentName;
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
@@ -52,11 +52,11 @@
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
 
-        final ComponentName callingActivity = getCallingActivity();
+        final String callerPackage = getLaunchedFromPackage();
         // First make sure caller has privilege to launch a search result page.
-        FeatureFactory.getFactory(this)
+        FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider()
-                .verifyLaunchSearchResultPageCaller(this, callingActivity);
+                .verifyLaunchSearchResultPageCaller(this, callerPackage);
         // Didn't crash, proceed and launch the result as a subsetting.
         Intent intent = getIntent();
         final String highlightMenuKey = intent.getStringExtra(
@@ -105,9 +105,9 @@
         if (!ActivityEmbeddingUtils.isEmbeddingActivityEnabled(this)
                 || ActivityEmbeddingUtils.isAlreadyEmbedded(this)) {
             startActivity(intent);
-        } else if (isSettingsIntelligence(callingActivity)) {
+        } else if (isSettingsIntelligence(callerPackage)) {
             if (FeatureFlagUtils.isEnabled(this, FeatureFlags.SETTINGS_SEARCH_ALWAYS_EXPAND)) {
-                startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
+                startActivity(getTrampolineIntent(intent, highlightMenuKey)
                         .setClass(this, DeepLinkHomepageActivityInternal.class)
                         .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
                                 | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS));
@@ -130,7 +130,7 @@
             }
         } else {
             // Two-pane case
-            startActivity(SettingsActivity.getTrampolineIntent(intent, highlightMenuKey)
+            startActivity(getTrampolineIntent(intent, highlightMenuKey)
                     .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK));
         }
 
@@ -138,10 +138,10 @@
         finish();
     }
 
-    private boolean isSettingsIntelligence(ComponentName callingActivity) {
-        return callingActivity != null && TextUtils.equals(
-                callingActivity.getPackageName(),
-                FeatureFactory.getFactory(this).getSearchFeatureProvider()
+    private boolean isSettingsIntelligence(String callerPackage) {
+        return TextUtils.equals(
+                callerPackage,
+                FeatureFactory.getFeatureFactory().getSearchFeatureProvider()
                         .getSettingsIntelligencePkgName(this));
     }
 }
diff --git a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
index b081c7f..3b04186 100644
--- a/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
+++ b/src/com/android/settings/search/SettingsSearchIndexablesProvider.java
@@ -173,7 +173,7 @@
     public Cursor queryDynamicRawData(String[] projection) {
         final Context context = getContext();
         final List<SearchIndexableRaw> rawList = new ArrayList<>();
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
@@ -200,8 +200,8 @@
         final MatrixCursor cursor = new MatrixCursor(SITE_MAP_COLUMNS);
         final Context context = getContext();
         // Loop through all IA categories and pages and build additional SiteMapPairs
-        final List<DashboardCategory> categories = FeatureFactory.getFactory(context)
-                .getDashboardFeatureProvider(context).getAllCategories();
+        final List<DashboardCategory> categories = FeatureFactory.getFeatureFactory()
+                .getDashboardFeatureProvider().getAllCategories();
         for (DashboardCategory category : categories) {
             // Use the category key to look up parent (which page hosts this key)
             final String parentClass = CATEGORY_KEY_TO_PARENT_MAP.get(category.key);
@@ -271,7 +271,7 @@
     }
 
     private List<String> getNonIndexableKeysFromProvider(Context context) {
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
 
         final List<String> nonIndexableKeys = new ArrayList<>();
@@ -322,7 +322,7 @@
     }
 
     private List<SearchIndexableResource> getSearchIndexableResourcesFromProvider(Context context) {
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
         List<SearchIndexableResource> resourceList = new ArrayList<>();
 
@@ -348,7 +348,7 @@
     }
 
     private List<SearchIndexableRaw> getSearchIndexableRawFromProvider(Context context) {
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(context)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
         final List<SearchIndexableRaw> rawList = new ArrayList<>();
 
@@ -392,7 +392,7 @@
     @VisibleForTesting
     List<SearchIndexableRaw> getInjectionIndexableRawData(Context context) {
         final DashboardFeatureProvider dashboardFeatureProvider =
-                FeatureFactory.getFactory(context).getDashboardFeatureProvider(context);
+                FeatureFactory.getFeatureFactory().getDashboardFeatureProvider();
         final List<SearchIndexableRaw> rawList = new ArrayList<>();
         final String currentPackageName = context.getPackageName();
         for (DashboardCategory category : dashboardFeatureProvider.getAllCategories()) {
diff --git a/src/com/android/settings/search/actionbar/SearchMenuController.java b/src/com/android/settings/search/actionbar/SearchMenuController.java
index 9e22bbf..7449421 100644
--- a/src/com/android/settings/search/actionbar/SearchMenuController.java
+++ b/src/com/android/settings/search/actionbar/SearchMenuController.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.search.actionbar;
 
-import android.annotation.NonNull;
 import android.app.Activity;
 import android.app.settings.SettingsEnums;
 import android.content.Intent;
@@ -26,6 +25,7 @@
 import android.view.MenuInflater;
 import android.view.MenuItem;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
@@ -86,12 +86,12 @@
             return;
         }
         final MenuItem searchItem = menu.add(Menu.NONE, MENU_SEARCH, 0 /* order */,
-                R.string.search_menu);
-        searchItem.setIcon(R.drawable.ic_search_24dp);
+                com.android.settingslib.search.widget.R.string.search_menu);
+        searchItem.setIcon(com.android.settingslib.search.widget.R.drawable.ic_search_24dp);
         searchItem.setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
 
         searchItem.setOnMenuItemClickListener(target -> {
-            final Intent intent = FeatureFactory.getFactory(activity)
+            final Intent intent = FeatureFactory.getFeatureFactory()
                     .getSearchFeatureProvider()
                     .buildSearchIntent(activity, mPageId);
 
@@ -100,7 +100,7 @@
                 return true;
             }
 
-            FeatureFactory.getFactory(activity).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .action(activity, SettingsEnums.ACTION_SEARCH_RESULTS);
             mHost.startActivityForResult(intent, SearchFeatureProvider.REQUEST_CODE);
             return true;
diff --git a/src/com/android/settings/security/ChangeScreenLockPreferenceController.java b/src/com/android/settings/security/ChangeScreenLockPreferenceController.java
index 3870634..2fab6c8 100644
--- a/src/com/android/settings/security/ChangeScreenLockPreferenceController.java
+++ b/src/com/android/settings/security/ChangeScreenLockPreferenceController.java
@@ -56,12 +56,12 @@
     public ChangeScreenLockPreferenceController(Context context, SettingsPreferenceFragment host) {
         super(context);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mHost = host;
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         mScreenLockPreferenceDetailUtils = new ScreenLockPreferenceDetailsUtils(context);
     }
 
diff --git a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java b/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
deleted file mode 100644
index 2712a02..0000000
--- a/src/com/android/settings/security/ConfirmSimDeletionPreferenceController.java
+++ /dev/null
@@ -1,123 +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.security;
-
-import android.app.KeyguardManager;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-import androidx.preference.TwoStatePreference;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.helper.ConfirmationSimDeletionPredicate;
-import com.android.settings.network.telephony.MobileNetworkUtils;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.wifi.dpp.WifiDppUtils;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-/** Enable/disable user confirmation before deleting an eSim */
-public class ConfirmSimDeletionPreferenceController extends BasePreferenceController implements
-        Preference.OnPreferenceChangeListener{
-    public static final String KEY_CONFIRM_SIM_DELETION =
-            ConfirmationSimDeletionPredicate.KEY_CONFIRM_SIM_DELETION;
-    private boolean mConfirmationDefaultOn;
-    private MetricsFeatureProvider mMetricsFeatureProvider;
-    private UserManager mUserManager;
-    private KeyguardManager mKeyguardManager;
-
-    public ConfirmSimDeletionPreferenceController(Context context, String key) {
-        super(context, key);
-        mConfirmationDefaultOn =
-                context.getResources()
-                        .getBoolean(R.bool.config_sim_deletion_confirmation_default_on);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
-
-        mUserManager = context.getSystemService(UserManager.class);
-        mKeyguardManager = mContext.getSystemService(KeyguardManager.class);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        // hide if eSim is not supported on the device
-        return (!MobileNetworkUtils.isMobileNetworkUserRestricted(mContext)) &&
-                MobileNetworkUtils.showEuiccSettings(mContext) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
-    }
-
-    private boolean getGlobalState() {
-        return Settings.Global.getInt(
-                        mContext.getContentResolver(),
-                        KEY_CONFIRM_SIM_DELETION,
-                        mConfirmationDefaultOn ? 1 : 0)
-                == 1;
-    }
-
-    public boolean isChecked() {
-        return getGlobalState();
-    }
-
-    public boolean setChecked(boolean isChecked) {
-        Settings.Global.putInt(
-                mContext.getContentResolver(), KEY_CONFIRM_SIM_DELETION, isChecked ? 1 : 0);
-        return true;
-    }
-
-    // handle UI change
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (!preference.getKey().equals(getPreferenceKey())) {
-            return false;
-        }
-        if (!isChecked()) {
-            mMetricsFeatureProvider.action(mContext,
-                    SettingsEnums.ACTION_CONFIRM_SIM_DELETION_ON);
-            setChecked(true);
-            return true;
-        } else {
-            // prevent disabling the feature until authorized
-            WifiDppUtils.showLockScreen(mContext, () -> {
-                mMetricsFeatureProvider.action(mContext,
-                        SettingsEnums.ACTION_CONFIRM_SIM_DELETION_OFF);
-                // set data
-                setChecked(false);
-                // set UI
-                ((TwoStatePreference) preference).setChecked(false);
-            });
-            return false;
-        }
-    }
-
-    @Override
-    public void updateState(Preference preference) {
-        if (!mKeyguardManager.isKeyguardSecure() && mUserManager.isGuestUser()) {
-            preference.setEnabled(false);
-            if (preference instanceof TwoStatePreference) {
-                ((TwoStatePreference) preference).setChecked(false);
-            }
-            preference.setSummary(R.string.disabled_because_no_backup_security);
-        } else {
-            preference.setEnabled(true);
-            if (preference instanceof TwoStatePreference) {
-                ((TwoStatePreference) preference).setChecked(getGlobalState());
-            }
-            preference.setSummary(R.string.confirm_sim_deletion_description);
-        }
-    }
-}
diff --git a/src/com/android/settings/security/ContentProtectionPreferenceController.java b/src/com/android/settings/security/ContentProtectionPreferenceController.java
new file mode 100644
index 0000000..ff472dd
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionPreferenceController.java
@@ -0,0 +1,43 @@
+/*
+ * 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.security;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.core.BasePreferenceController;
+
+public class ContentProtectionPreferenceController extends BasePreferenceController {
+
+    public ContentProtectionPreferenceController(@NonNull Context context, @NonNull String key) {
+        super(context, key);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return ContentProtectionPreferenceUtils.isAvailable(mContext)
+                ? AVAILABLE
+                : UNSUPPORTED_ON_DEVICE;
+    }
+}
diff --git a/src/com/android/settings/security/ContentProtectionPreferenceFragment.java b/src/com/android/settings/security/ContentProtectionPreferenceFragment.java
new file mode 100644
index 0000000..c65fd96
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionPreferenceFragment.java
@@ -0,0 +1,78 @@
+/*
+ * 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.security;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Bundle;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.settings.R;
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.search.BaseSearchIndexProvider;
+import com.android.settingslib.search.SearchIndexable;
+
+@SearchIndexable
+public class ContentProtectionPreferenceFragment extends DashboardFragment {
+    private static final String TAG = "ContentProtectionPreferenceFragment";
+
+    // Required by @SearchIndexable to make the fragment and preferences to be indexed.
+    // Do not rename.
+    @VisibleForTesting
+    public static final ContentProtectionSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
+            new ContentProtectionSearchIndexProvider(
+                    R.layout.content_protection_preference_fragment);
+
+    @Override
+    public void onAttach(Context context) {
+        super.onAttach(context);
+    }
+
+    @Override
+    public void onActivityCreated(Bundle savedInstanceState) {
+        super.onActivityCreated(savedInstanceState);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.CONTENT_PROTECTION_PREFERENCE;
+    }
+
+    @Override
+    protected int getPreferenceScreenResId() {
+        return R.layout.content_protection_preference_fragment;
+    }
+
+    @Override
+    protected String getLogTag() {
+        return TAG;
+    }
+
+    public static class ContentProtectionSearchIndexProvider extends BaseSearchIndexProvider {
+
+        public ContentProtectionSearchIndexProvider(int xmlRes) {
+            super(xmlRes);
+        }
+
+        @Override
+        @VisibleForTesting
+        public boolean isPageSearchEnabled(Context context) {
+            return ContentProtectionPreferenceUtils.isAvailable(context);
+        }
+    }
+}
diff --git a/src/com/android/settings/security/ContentProtectionPreferenceUtils.java b/src/com/android/settings/security/ContentProtectionPreferenceUtils.java
new file mode 100644
index 0000000..d84d7c5
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionPreferenceUtils.java
@@ -0,0 +1,63 @@
+/*
+ * 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.security;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.NonNull;
+
+/** Util class for content protection preference. */
+public class ContentProtectionPreferenceUtils {
+
+    /**
+     * Whether or not the content protection setting page is available.
+     */
+    public static boolean isAvailable(@NonNull Context context) {
+        if (!settingUiEnabled() || getContentProtectionServiceComponentName(context) == null) {
+            return false;
+        }
+        return true;
+    }
+
+    private static String getContentProtectionServiceFlatComponentName(@NonNull Context context) {
+        return context.getString(config_defaultContentProtectionService);
+    }
+
+    @Nullable
+    private static ComponentName getContentProtectionServiceComponentName(@NonNull Context context) {
+        String flatComponentName = getContentProtectionServiceFlatComponentName(context);
+        if (flatComponentName == null) {
+            return null;
+        }
+        return ComponentName.unflattenFromString(flatComponentName);
+    }
+
+    /**
+     * Whether or not the content protection UI is enabled.
+     */
+    private static boolean settingUiEnabled() {
+        return DeviceConfig.getBoolean(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                ContentCaptureManager.DEFAULT_ENABLE_CONTENT_PROTECTION_RECEIVER);
+    }
+}
diff --git a/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java b/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
new file mode 100644
index 0000000..101364b
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionTogglePreferenceController.java
@@ -0,0 +1,113 @@
+/*
+ * 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.security;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
+
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settings.widget.SettingsMainSwitchPreference;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+
+/** Preference controller for content protection toggle switch bar. */
+public class ContentProtectionTogglePreferenceController extends TogglePreferenceController
+        implements OnCheckedChangeListener {
+
+    @VisibleForTesting
+    static final String KEY_CONTENT_PROTECTION_PREFERENCE = "content_protection_user_consent";
+
+    @Nullable private SettingsMainSwitchPreference mSwitchBar;
+    @Nullable private RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;
+    private final ContentResolver mContentResolver;
+
+    public ContentProtectionTogglePreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+        mContentResolver = context.getContentResolver();
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return AVAILABLE;
+    }
+
+    @Override
+    public boolean isChecked() {
+        if (mEnforcedAdmin != null) {
+            // If fully managed device, it should always unchecked
+            return false;
+        }
+        return Settings.Global.getInt(mContentResolver, KEY_CONTENT_PROTECTION_PREFERENCE, 0) >= 0;
+    }
+
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        Settings.Global.putInt(
+                mContentResolver, KEY_CONTENT_PROTECTION_PREFERENCE, isChecked ? 1 : -1);
+        return true;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+        final Preference preference = screen.findPreference(getPreferenceKey());
+
+        if (preference instanceof SettingsMainSwitchPreference) {
+            mSwitchBar = (SettingsMainSwitchPreference) preference;
+            mSwitchBar.addOnSwitchChangeListener(this);
+        }
+    }
+
+    /**
+     * Temporary workaround for SettingsMainSwitchPreference.setDisabledByAdmin without user
+     * restriction.
+     */
+    @Override
+    public void updateState(Preference preference) {
+        super.updateState(preference);
+        // Assign the value to mEnforcedAdmin since it's needed in isChecked()
+        mEnforcedAdmin = getEnforcedAdmin();
+        if (mSwitchBar != null && mEnforcedAdmin != null) {
+            mSwitchBar.setDisabledByAdmin(mEnforcedAdmin);
+        }
+    }
+
+    @Override
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
+        if (isChecked != isChecked()) {
+            setChecked(isChecked);
+        }
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_security;
+    }
+
+    @VisibleForTesting
+    protected RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin() {
+        return RestrictedLockUtilsInternal.getDeviceOwner(mContext);
+    }
+}
diff --git a/src/com/android/settings/security/ContentProtectionWorkSwitchController.java b/src/com/android/settings/security/ContentProtectionWorkSwitchController.java
new file mode 100644
index 0000000..0404dcd
--- /dev/null
+++ b/src/com/android/settings/security/ContentProtectionWorkSwitchController.java
@@ -0,0 +1,86 @@
+/*
+ * 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.security;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+/** Preference controller for content protection work profile switch bar. */
+public class ContentProtectionWorkSwitchController extends TogglePreferenceController {
+
+    public ContentProtectionWorkSwitchController(
+            @NonNull Context context, @NonNull String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return getManagedProfile() != null ? AVAILABLE : CONDITIONALLY_UNAVAILABLE;
+    }
+
+    // The switch is always set to unchecked until Android V by design
+    @Override
+    public boolean isChecked() {
+        return false;
+    }
+
+    // The switch is disabled until Android V by design
+    @Override
+    public boolean setChecked(boolean isChecked) {
+        return false;
+    }
+
+    @Override
+    public void displayPreference(PreferenceScreen screen) {
+        super.displayPreference(screen);
+
+        RestrictedSwitchPreference switchPreference = screen.findPreference(getPreferenceKey());
+        UserHandle managedProfile = getManagedProfile();
+        if (managedProfile != null) {
+            switchPreference.setDisabledByAdmin(getEnforcedAdmin(managedProfile));
+        }
+    }
+
+    @Override
+    public int getSliceHighlightMenuRes() {
+        return R.string.menu_key_security;
+    }
+
+    @VisibleForTesting
+    @Nullable
+    protected UserHandle getManagedProfile() {
+        return Utils.getManagedProfile(mContext.getSystemService(UserManager.class));
+    }
+
+    @VisibleForTesting
+    @Nullable
+    protected RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin(
+            @NonNull UserHandle managedProfile) {
+        return RestrictedLockUtils.getProfileOrDeviceOwner(mContext, managedProfile);
+    }
+}
diff --git a/src/com/android/settings/security/CredentialManagementAppHeaderController.java b/src/com/android/settings/security/CredentialManagementAppHeaderController.java
index 9361fb9..03720e6 100644
--- a/src/com/android/settings/security/CredentialManagementAppHeaderController.java
+++ b/src/com/android/settings/security/CredentialManagementAppHeaderController.java
@@ -82,7 +82,8 @@
         ImageView appIconView = headerPref.findViewById(R.id.entity_header_icon);
         TextView titleView = headerPref.findViewById(R.id.entity_header_title);
         TextView summary1 = headerPref.findViewById(R.id.entity_header_summary);
-        TextView summary2 = headerPref.findViewById(R.id.entity_header_second_summary);
+        TextView summary2 = headerPref.findViewById(
+                com.android.settingslib.widget.preference.layout.R.id.entity_header_second_summary);
         summary2.setVisibility(View.GONE);
 
         try {
diff --git a/src/com/android/settings/security/InstallCaCertificateWarning.java b/src/com/android/settings/security/InstallCaCertificateWarning.java
index 139bc1c..3335fe6 100644
--- a/src/com/android/settings/security/InstallCaCertificateWarning.java
+++ b/src/com/android/settings/security/InstallCaCertificateWarning.java
@@ -18,7 +18,6 @@
 
 import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.content.Intent;
 import android.os.Bundle;
@@ -26,6 +25,8 @@
 import android.view.View;
 import android.widget.Toast;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 import com.android.settings.SetupWizardUtils;
 
@@ -58,7 +59,7 @@
                         .setText(R.string.certificate_warning_install_anyway)
                         .setListener(installCaCertificate())
                         .setButtonType(FooterButton.ButtonType.OTHER)
-                        .setTheme(R.style.SudGlifButton_Secondary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                         .build()
         );
         mixin.getSecondaryButtonView().setFilterTouchesWhenObscured(true);
@@ -68,7 +69,7 @@
                         .setText(R.string.certificate_warning_dont_install)
                         .setListener(returnToInstallCertificateFromStorage())
                         .setButtonType(FooterButton.ButtonType.NEXT)
-                        .setTheme(R.style.SudGlifButton_Primary)
+                        .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                         .build()
         );
         mixin.getPrimaryButtonView().setFilterTouchesWhenObscured(true);
diff --git a/src/com/android/settings/security/LockUnificationPreferenceController.java b/src/com/android/settings/security/LockUnificationPreferenceController.java
index d85d65b..e9931df 100644
--- a/src/com/android/settings/security/LockUnificationPreferenceController.java
+++ b/src/com/android/settings/security/LockUnificationPreferenceController.java
@@ -97,7 +97,7 @@
         mHost = host;
         mUm = context.getSystemService(UserManager.class);
         mDpm = context.getSystemService(DevicePolicyManager.class);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileUserId = Utils.getManagedProfileId(mUm, MY_USER_ID);
diff --git a/src/com/android/settings/security/RequestManageCredentials.java b/src/com/android/settings/security/RequestManageCredentials.java
index 6a1d40a..2c1b452 100644
--- a/src/com/android/settings/security/RequestManageCredentials.java
+++ b/src/com/android/settings/security/RequestManageCredentials.java
@@ -18,7 +18,6 @@
 
 import static android.view.WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.app.admin.DevicePolicyEventLogger;
 import android.app.admin.DevicePolicyManager;
@@ -47,6 +46,7 @@
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
diff --git a/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java b/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
index 7de2635..88477c3 100644
--- a/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
+++ b/src/com/android/settings/security/ScreenLockPreferenceDetailsUtils.java
@@ -50,7 +50,7 @@
     public ScreenLockPreferenceDetailsUtils(Context context) {
         mContext = context;
         mUm = context.getSystemService(UserManager.class);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
diff --git a/src/com/android/settings/security/ScreenPinningSettings.java b/src/com/android/settings/security/ScreenPinningSettings.java
index 8fae6e1..8690847 100644
--- a/src/com/android/settings/security/ScreenPinningSettings.java
+++ b/src/com/android/settings/security/ScreenPinningSettings.java
@@ -15,22 +15,28 @@
  */
 package com.android.settings.security;
 
+import static android.app.Activity.RESULT_OK;
+
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.content.res.Resources;
+import android.icu.text.MessageFormat;
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
+import androidx.annotation.NonNull;
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
@@ -41,14 +47,17 @@
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.search.SearchIndexable;
+import com.android.settingslib.search.SearchIndexableRaw;
 import com.android.settingslib.widget.FooterPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
+
+import java.util.List;
+
 /**
  * Screen pinning settings.
  */
 @SearchIndexable
 public class ScreenPinningSettings extends SettingsPreferenceFragment
-        implements OnMainSwitchChangeListener, DialogInterface.OnClickListener {
+        implements OnCheckedChangeListener, DialogInterface.OnClickListener {
 
     private static final String KEY_USE_SCREEN_LOCK = "use_screen_lock";
     private static final String KEY_FOOTER = "screen_pinning_settings_screen_footer";
@@ -56,7 +65,7 @@
     private static final int CONFIRM_REQUEST = 1000;
 
     private SettingsMainSwitchBar mSwitchBar;
-    private SwitchPreference mUseScreenLock;
+    private TwoStatePreference mUseScreenLock;
     private FooterPreference mFooterPreference;
     private LockPatternUtils mLockPatternUtils;
     private UserManager mUserManager;
@@ -166,14 +175,13 @@
             setScreenLockUsed(validPassQuality);
             // Make sure the screen updates.
             mUseScreenLock.setChecked(validPassQuality);
-        } else if (requestCode == CONFIRM_REQUEST) {
+        } else if (requestCode == CONFIRM_REQUEST && resultCode == RESULT_OK) {
             setScreenLockUsedSetting(false);
         }
     }
 
-    private int getCurrentSecurityTitle() {
-        int quality = mLockPatternUtils.getKeyguardStoredPasswordQuality(
-                UserHandle.myUserId());
+    private static int getCurrentSecurityTitle(LockPatternUtils lockPatternUtils) {
+        int quality = lockPatternUtils.getKeyguardStoredPasswordQuality(UserHandle.myUserId());
         switch (quality) {
             case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC:
             case DevicePolicyManager.PASSWORD_QUALITY_NUMERIC_COMPLEX:
@@ -184,7 +192,7 @@
             case DevicePolicyManager.PASSWORD_QUALITY_MANAGED:
                 return R.string.screen_pinning_unlock_password;
             case DevicePolicyManager.PASSWORD_QUALITY_SOMETHING:
-                if (mLockPatternUtils.isLockPatternEnabled(UserHandle.myUserId())) {
+                if (lockPatternUtils.isLockPatternEnabled(UserHandle.myUserId())) {
                     return R.string.screen_pinning_unlock_pattern;
                 }
         }
@@ -195,7 +203,7 @@
      * Listens to the state change of the overall lock-to-app switch.
      */
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (isChecked) {
             new AlertDialog.Builder(getContext())
                     .setMessage(R.string.screen_pinning_dialog_message)
@@ -229,7 +237,7 @@
                 }
             });
             mUseScreenLock.setChecked(isScreenLockUsed());
-            mUseScreenLock.setTitle(getCurrentSecurityTitle());
+            mUseScreenLock.setTitle(getCurrentSecurityTitle(mLockPatternUtils));
         } else {
             mFooterPreference.setSummary(getAppPinningContent());
             mUseScreenLock.setEnabled(false);
@@ -242,14 +250,37 @@
     }
 
     private CharSequence getAppPinningContent() {
-        return isGuestModeSupported()
-                ? getActivity().getText(R.string.screen_pinning_guest_user_description)
-                : getActivity().getText(R.string.screen_pinning_description);
+        final int stringResource = isGuestModeSupported()
+                ? R.string.screen_pinning_guest_user_description
+                : R.string.screen_pinning_description;
+        return MessageFormat.format(getActivity().getString(stringResource), 1, 2, 3);
     }
 
     /**
-     * For search
+     * For search.
+     *
+     * This page only provides an index for the toggle preference of using screen lock for
+     * unpinning. The preference name will change with various lock configurations. Indexing data
+     * from XML isn't suitable since it uses a static title by default. So, we skip XML indexing
+     * by omitting the XML argument in the constructor and use a dynamic index method instead.
      */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.screen_pinning_settings);
+            new BaseSearchIndexProvider() {
+
+                @NonNull
+                @Override
+                public List<SearchIndexableRaw> getDynamicRawDataToIndex(@NonNull Context context,
+                        boolean enabled) {
+                    List<SearchIndexableRaw> dynamicRaws =
+                            super.getDynamicRawDataToIndex(context, enabled);
+                    final SearchIndexableRaw raw = new SearchIndexableRaw(context);
+                    final Resources res = context.getResources();
+                    final LockPatternUtils lockPatternUtils = new LockPatternUtils(context);
+                    raw.key = KEY_USE_SCREEN_LOCK;
+                    raw.title = res.getString(getCurrentSecurityTitle(lockPatternUtils));
+                    raw.screenTitle = res.getString(R.string.screen_pinning_title);
+                    dynamicRaws.add(raw);
+                    return dynamicRaws;
+                }
+            };
 }
diff --git a/src/com/android/settings/security/SecurityAdvancedSettings.java b/src/com/android/settings/security/SecurityAdvancedSettings.java
index 61f0975..c29372c 100644
--- a/src/com/android/settings/security/SecurityAdvancedSettings.java
+++ b/src/com/android/settings/security/SecurityAdvancedSettings.java
@@ -27,7 +27,6 @@
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 import com.android.settings.safetycenter.SafetyCenterUtils;
-import com.android.settings.safetycenter.SafetyCenterUtils.EnterpriseOverrideString;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settings.security.trustagent.TrustAgentListPreferenceController;
 import com.android.settingslib.core.AbstractPreferenceController;
@@ -54,15 +53,7 @@
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
-        List<EnterpriseOverrideString> securityOverrideStrings =
-                SafetyCenterUtils.getEnterpriseOverrideStringForSecurityEntries();
-        for (int i = 0; i < securityOverrideStrings.size(); i++) {
-            EnterpriseOverrideString overrideString = securityOverrideStrings.get(i);
-            replaceEnterpriseStringTitle(
-                    overrideString.getPreferenceKey(),
-                    overrideString.getOverrideKey(),
-                    overrideString.getResource());
-        }
+        SafetyCenterUtils.replaceEnterpriseStringsForSecurityEntries(this);
     }
 
     @Override
@@ -79,7 +70,7 @@
             return CategoryKey.CATEGORY_SECURITY_ADVANCED_SETTINGS;
         } else {
             final SecuritySettingsFeatureProvider securitySettingsFeatureProvider =
-                    FeatureFactory.getFactory(context).getSecuritySettingsFeatureProvider();
+                    FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider();
 
             if (securitySettingsFeatureProvider.hasAlternativeSecuritySettingsFragment()) {
                 return securitySettingsFeatureProvider.getAlternativeAdvancedSettingsCategoryKey();
diff --git a/src/com/android/settings/security/SecuritySettings.java b/src/com/android/settings/security/SecuritySettings.java
index b30b54d..6d987f3 100644
--- a/src/com/android/settings/security/SecuritySettings.java
+++ b/src/com/android/settings/security/SecuritySettings.java
@@ -127,7 +127,7 @@
 
                 @Override
                 protected boolean isPageSearchEnabled(Context context) {
-                    return !FeatureFactory.getFactory(context).getSecuritySettingsFeatureProvider()
+                    return !FeatureFactory.getFeatureFactory().getSecuritySettingsFeatureProvider()
                             .hasAlternativeSecuritySettingsFragment()
                             && !SafetyCenterManagerWrapper.get().isEnabled(context);
                 }
diff --git a/src/com/android/settings/security/ShowPasswordPreferenceController.java b/src/com/android/settings/security/ShowPasswordPreferenceController.java
index 696854a..a6e4db6 100644
--- a/src/com/android/settings/security/ShowPasswordPreferenceController.java
+++ b/src/com/android/settings/security/ShowPasswordPreferenceController.java
@@ -17,25 +17,17 @@
 package com.android.settings.security;
 
 import android.content.Context;
-import android.os.UserHandle;
 import android.provider.Settings;
 
-import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
-import com.android.settings.overlay.FeatureFactory;
 
 public class ShowPasswordPreferenceController extends TogglePreferenceController {
 
     private static final String KEY_SHOW_PASSWORD = "show_password";
-    private static final int MY_USER_ID = UserHandle.myUserId();
-    private final LockPatternUtils mLockPatternUtils;
 
     public ShowPasswordPreferenceController(Context context) {
         super(context, KEY_SHOW_PASSWORD);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
-                .getSecurityFeatureProvider()
-                .getLockPatternUtils(context);
     }
 
     @Override
@@ -48,7 +40,6 @@
     public boolean setChecked(boolean isChecked) {
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.TEXT_SHOW_PASSWORD,
                 isChecked ? 1 : 0);
-        mLockPatternUtils.setVisiblePasswordEnabled(isChecked, MY_USER_ID);
         return true;
     }
 
diff --git a/src/com/android/settings/security/SimLockPreferenceController.java b/src/com/android/settings/security/SimLockPreferenceController.java
index 8429a9f..8cc7234 100644
--- a/src/com/android/settings/security/SimLockPreferenceController.java
+++ b/src/com/android/settings/security/SimLockPreferenceController.java
@@ -44,8 +44,9 @@
         mUserManager = (UserManager) context.getSystemService(Context.USER_SERVICE);
         mCarrierConfigManager = (CarrierConfigManager)
                 mContext.getSystemService(Context.CARRIER_CONFIG_SERVICE);
-        mSubscriptionManager = (SubscriptionManager) context
-                .getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE);
+        mSubscriptionManager = ((SubscriptionManager) context
+                .getSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE))
+                .createForAllUserProfiles();
         mTelephonyManager = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
     }
 
diff --git a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
index f83a909..95ef5be 100644
--- a/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
+++ b/src/com/android/settings/security/TopLevelSecurityEntryPreferenceController.java
@@ -32,7 +32,7 @@
 
     public TopLevelSecurityEntryPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mSecuritySettingsFeatureProvider = FeatureFactory.getFactory(mContext)
+        mSecuritySettingsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getSecuritySettingsFeatureProvider();
     }
 
diff --git a/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java b/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
index 4d65ae7..3d64ca8 100644
--- a/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
+++ b/src/com/android/settings/security/VisiblePatternProfilePreferenceController.java
@@ -66,7 +66,7 @@
             Context context, Lifecycle lifecycle, String key) {
         super(context, key);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
-        mLockPatternUtils = FeatureFactory.getFactory(context)
+        mLockPatternUtils = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider()
                 .getLockPatternUtils(context);
         mProfileChallengeUserId = Utils.getManagedProfileId(mUm, mUserId);
diff --git a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
index 180ed99..dd99e9f 100644
--- a/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
+++ b/src/com/android/settings/security/screenlock/LockAfterTimeoutPreferenceController.java
@@ -54,7 +54,7 @@
         mUserId = userId;
         mLockPatternUtils = lockPatternUtils;
         mDPM = (DevicePolicyManager) context.getSystemService(Context.DEVICE_POLICY_SERVICE);
-        mTrustAgentManager = FeatureFactory.getFactory(context)
+        mTrustAgentManager = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider().getTrustAgentManager();
     }
 
diff --git a/src/com/android/settings/security/screenlock/PinPrivacyPreferenceController.kt b/src/com/android/settings/security/screenlock/PinPrivacyPreferenceController.kt
index 176183e..78656e8 100644
--- a/src/com/android/settings/security/screenlock/PinPrivacyPreferenceController.kt
+++ b/src/com/android/settings/security/screenlock/PinPrivacyPreferenceController.kt
@@ -45,7 +45,7 @@
         return PREF_KEY
     }
 
-    override fun onPreferenceChange(preference: Preference?, value: Any?): Boolean {
+    override fun onPreferenceChange(preference: Preference, value: Any): Boolean {
         lockPatternUtils.setPinEnhancedPrivacyEnabled((value as Boolean), userId)
         return true
     }
diff --git a/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java b/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java
index d3c10b0..9836a24 100644
--- a/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java
+++ b/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceController.java
@@ -44,7 +44,7 @@
         super(context);
         mUserId = userId;
         mLockPatternUtils = lockPatternUtils;
-        mTrustAgentManager = FeatureFactory.getFactory(context)
+        mTrustAgentManager = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider().getTrustAgentManager();
     }
 
@@ -78,7 +78,7 @@
                     R.string.lockpattern_settings_power_button_instantly_locks_summary,
                     trustAgentLabel));
         } else {
-            preference.setSummary(R.string.summary_empty);
+            preference.setSummary(com.android.settingslib.R.string.summary_empty);
         }
     }
 
diff --git a/src/com/android/settings/security/screenlock/ProtectedTimeoutListPreference.java b/src/com/android/settings/security/screenlock/ProtectedTimeoutListPreference.java
new file mode 100644
index 0000000..26d914c
--- /dev/null
+++ b/src/com/android/settings/security/screenlock/ProtectedTimeoutListPreference.java
@@ -0,0 +1,40 @@
+/*
+ * 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.security.screenlock;
+
+import android.content.Context;
+import android.util.AttributeSet;
+
+import com.android.settings.display.TimeoutListPreference;
+import com.android.settings.flags.Flags;
+import com.android.settings.wifi.dpp.WifiDppUtils;
+
+/** Wraps {@link TimeoutListPreference} with an authentication challenge for user. */
+public class ProtectedTimeoutListPreference extends TimeoutListPreference {
+    public ProtectedTimeoutListPreference(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    @Override
+    public void performClick() {
+        if (Flags.protectLockAfterTimeoutWithAuth()) {
+            WifiDppUtils.showLockScreen(getContext(), super::performClick);
+        } else {
+            super.performClick();
+        }
+    }
+}
diff --git a/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java b/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java
index 8943878..82b25ef 100644
--- a/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java
+++ b/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceController.java
@@ -37,7 +37,7 @@
 
     public ManageTrustAgentsPreferenceController(Context context, String key) {
         super(context, key);
-        final SecurityFeatureProvider securityFeatureProvider = FeatureFactory.getFactory(context)
+        final SecurityFeatureProvider securityFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider();
         mLockPatternUtils = securityFeatureProvider.getLockPatternUtils(context);
         mTrustAgentManager = securityFeatureProvider.getTrustAgentManager();
diff --git a/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java b/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java
index 4f235e1..2ec90de 100644
--- a/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java
+++ b/src/com/android/settings/security/trustagent/TrustAgentListPreferenceController.java
@@ -74,7 +74,7 @@
     public TrustAgentListPreferenceController(Context context, SettingsPreferenceFragment host,
             Lifecycle lifecycle) {
         super(context);
-        final SecurityFeatureProvider provider = FeatureFactory.getFactory(context)
+        final SecurityFeatureProvider provider = FeatureFactory.getFeatureFactory()
                 .getSecurityFeatureProvider();
         mHost = host;
         mLockPatternUtils = provider.getLockPatternUtils(context);
diff --git a/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java b/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java
index 4268839..977959b 100644
--- a/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java
+++ b/src/com/android/settings/security/trustagent/TrustAgentsPreferenceController.java
@@ -34,7 +34,7 @@
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.core.BasePreferenceController;
@@ -70,7 +70,7 @@
         mDevicePolicyManager = context.getSystemService(DevicePolicyManager.class);
         mIconDrawableFactory = IconDrawableFactory.newInstance(context);
         final SecurityFeatureProvider securityFeatureProvider =
-                FeatureFactory.getFactory(context).getSecurityFeatureProvider();
+                FeatureFactory.getFeatureFactory().getSecurityFeatureProvider();
         mTrustAgentManager = securityFeatureProvider.getTrustAgentManager();
         mLockPatternUtils = securityFeatureProvider.getLockPatternUtils(context);
         mPackageManager = context.getPackageManager();
@@ -172,7 +172,7 @@
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
-        if (!(preference instanceof SwitchPreference)) {
+        if (!(preference instanceof TwoStatePreference)) {
             return false;
         }
         for (TrustAgentInfo agent : mAvailableAgents.values()) {
diff --git a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
index 8871135..8f74bd9 100644
--- a/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
+++ b/src/com/android/settings/shortcut/CreateShortcutPreferenceController.java
@@ -86,7 +86,7 @@
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
         mShortcutManager = context.getSystemService(ShortcutManager.class);
         mPackageManager = context.getPackageManager();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context)
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory()
                 .getMetricsFeatureProvider();
     }
 
diff --git a/src/com/android/settings/sim/CallsSimListDialogFragment.java b/src/com/android/settings/sim/CallsSimListDialogFragment.java
index cbee634..bb82c2e 100644
--- a/src/com/android/settings/sim/CallsSimListDialogFragment.java
+++ b/src/com/android/settings/sim/CallsSimListDialogFragment.java
@@ -26,6 +26,8 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
+import com.android.internal.telephony.flags.Flags;
+
 import java.util.ArrayList;
 import java.util.List;
 
@@ -56,7 +58,9 @@
 
             SubscriptionInfo info = subscriptionManager.getActiveSubscriptionInfo(subId);
             if (info == null || (info.isEmbedded()
-                    && info.getProfileClass() == PROFILE_CLASS_PROVISIONING)) {
+                && (info.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                    || (Flags.oemEnabledSatelliteFlag()
+                        && info.isOnlyNonTerrestrialNetwork())))) {
                 continue;
             }
             result.add(subscriptionManager.getActiveSubscriptionInfo(subId));
diff --git a/src/com/android/settings/sim/ChooseSimActivity.java b/src/com/android/settings/sim/ChooseSimActivity.java
index cebc1ba..9a75b63 100644
--- a/src/com/android/settings/sim/ChooseSimActivity.java
+++ b/src/com/android/settings/sim/ChooseSimActivity.java
@@ -316,8 +316,9 @@
         @Override
         public void onBindView(View view) {
             super.onBindView(view);
-            TextView title = view.findViewById(R.id.sud_items_title);
-            TextView summary = view.findViewById(R.id.sud_items_summary);
+            TextView title = view.findViewById(com.google.android.setupdesign.R.id.sud_items_title);
+            TextView summary =
+                    view.findViewById(com.google.android.setupdesign.R.id.sud_items_summary);
             title.setEnabled(isEnabled());
             summary.setEnabled(isEnabled());
         }
diff --git a/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java b/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java
index b1b5f8e..bd6a394 100644
--- a/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java
+++ b/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragment.java
@@ -195,7 +195,7 @@
     }
 
     private SubscriptionManager getSubscriptionManager() {
-        return getContext().getSystemService(SubscriptionManager.class);
+        return getContext().getSystemService(SubscriptionManager.class).createForAllUserProfiles();
     }
 
     @VisibleForTesting
diff --git a/src/com/android/settings/sim/OWNERS b/src/com/android/settings/sim/OWNERS
index 68cee36..110402f 100644
--- a/src/com/android/settings/sim/OWNERS
+++ b/src/com/android/settings/sim/OWNERS
@@ -2,7 +2,6 @@
 allenwtsu@google.com
 andychou@google.com
 bonianchen@google.com
-goldmanj@google.com
 songferngwang@google.com
 
 # Emergency approvers in case the above are not available
diff --git a/src/com/android/settings/sim/PreferredSimDialogFragment.java b/src/com/android/settings/sim/PreferredSimDialogFragment.java
index 50eb993..bb69440 100644
--- a/src/com/android/settings/sim/PreferredSimDialogFragment.java
+++ b/src/com/android/settings/sim/PreferredSimDialogFragment.java
@@ -32,6 +32,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.network.SubscriptionUtil;
 
@@ -98,7 +99,8 @@
 
         final SubscriptionInfo info = getPreferredSubscription();
         if (info == null || (info.isEmbedded()
-                && info.getProfileClass() == PROFILE_CLASS_PROVISIONING)) {
+            && (info.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                || (Flags.oemEnabledSatelliteFlag() && info.isOnlyNonTerrestrialNetwork())))) {
             dismiss();
             return;
         }
diff --git a/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java b/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java
index 6ac0067..b0b65f6 100644
--- a/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java
+++ b/src/com/android/settings/sim/SelectSpecificDataSimDialogFragment.java
@@ -35,6 +35,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.network.SubscriptionUtil;
 
@@ -133,10 +134,15 @@
             return;
         }
 
-        if ((newSubInfo.isEmbedded() && newSubInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING)
-                || (currentDataSubInfo.isEmbedded()
-                && currentDataSubInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING)) {
-            Log.d(TAG, "do not set the provision eSIM");
+        if ((newSubInfo.isEmbedded()
+            && (newSubInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                || (Flags.oemEnabledSatelliteFlag()
+                    && newSubInfo.isOnlyNonTerrestrialNetwork())))
+            || (currentDataSubInfo.isEmbedded()
+            && (currentDataSubInfo.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                || (Flags.oemEnabledSatelliteFlag()
+                    && currentDataSubInfo.isOnlyNonTerrestrialNetwork())))) {
+            Log.d(TAG, "do not set the provisioning or satellite eSIM");
             dismiss();
             return;
         }
@@ -188,7 +194,7 @@
 
     @VisibleForTesting
     protected SubscriptionManager getSubscriptionManager() {
-        return getContext().getSystemService(SubscriptionManager.class);
+        return getContext().getSystemService(SubscriptionManager.class).createForAllUserProfiles();
     }
 
     @Override
diff --git a/src/com/android/settings/sim/SimDialogActivity.java b/src/com/android/settings/sim/SimDialogActivity.java
index e7b0185..4544e73 100644
--- a/src/com/android/settings/sim/SimDialogActivity.java
+++ b/src/com/android/settings/sim/SimDialogActivity.java
@@ -41,6 +41,7 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.network.CarrierConfigCache;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.network.ims.WifiCallingQueryImsState;
@@ -90,7 +91,7 @@
         }
         SimDialogProhibitService.supportDismiss(this);
 
-        mMetricsFeatureProvider = FeatureFactory.getFactory(this).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         getWindow().addSystemFlags(
                 WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
         showOrUpdateDialog();
@@ -134,6 +135,17 @@
             return;
         }
 
+        if (Flags.isDualSimOnboardingEnabled()
+                && getProgressState() == SubscriptionActionDialogActivity.PROGRESS_IS_SHOWING
+                && (dialogType == PREFERRED_PICK
+                || dialogType == DATA_PICK
+                || dialogType == CALLS_PICK
+                || dialogType == SMS_PICK)) {
+            Log.d(TAG, "Finish the sim dialog since the sim onboarding is shown");
+            finish();
+            return;
+        }
+
         final String tag = Integer.toString(dialogType);
         final FragmentManager fragmentManager = getSupportFragmentManager();
         SimDialogFragment fragment = (SimDialogFragment) fragmentManager.findFragmentByTag(tag);
diff --git a/src/com/android/settings/sim/SimListDialogFragment.java b/src/com/android/settings/sim/SimListDialogFragment.java
index 5b84d7b..fd44dc7 100644
--- a/src/com/android/settings/sim/SimListDialogFragment.java
+++ b/src/com/android/settings/sim/SimListDialogFragment.java
@@ -39,6 +39,7 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.network.SubscriptionUtil;
 
@@ -56,7 +57,8 @@
 
     protected SelectSubscriptionAdapter mAdapter;
     @VisibleForTesting
-    List<SubscriptionInfo> mSubscriptions;
+    @NonNull
+    List<SubscriptionInfo> mSubscriptions = new ArrayList<>();
 
     public static SimListDialogFragment newInstance(int dialogType, int titleResId,
             boolean includeAskEveryTime, boolean isCancelItemShowed) {
@@ -71,8 +73,6 @@
     @NonNull
     @Override
     public Dialog onCreateDialog(@Nullable Bundle savedInstanceState) {
-        mSubscriptions = new ArrayList<>();
-
         final AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
         View titleView = LayoutInflater.from(getContext()).inflate(
                 R.layout.sim_confirm_dialog_title_multiple_enabled_profiles_supported, null);
@@ -125,7 +125,7 @@
 
     protected List<SubscriptionInfo> getCurrentSubscriptions() {
         final SubscriptionManager manager = getContext().getSystemService(
-                SubscriptionManager.class);
+                SubscriptionManager.class).createForAllUserProfiles();
         return manager.getActiveSubscriptionInfoList();
     }
 
@@ -142,9 +142,10 @@
             return;
         }
 
-        // Remove the provision eSIM from the subscription list.
+        // Remove the provisioning or satellite eSIM from the subscription list.
         currentSubscriptions.removeIf(info -> info.isEmbedded()
-                && info.getProfileClass() == PROFILE_CLASS_PROVISIONING);
+            && (info.getProfileClass() == PROFILE_CLASS_PROVISIONING
+                || (Flags.oemEnabledSatelliteFlag() && info.isOnlyNonTerrestrialNetwork())));
 
         boolean includeAskEveryTime = getArguments().getBoolean(KEY_INCLUDE_ASK_EVERY_TIME);
         boolean isCancelItemShowed = getArguments().getBoolean(KEY_SHOW_CANCEL_ITEM);
diff --git a/src/com/android/settings/sim/smartForwarding/SmartForwardingFragment.java b/src/com/android/settings/sim/smartForwarding/SmartForwardingFragment.java
index 76eaea1..a95eb38 100644
--- a/src/com/android/settings/sim/smartForwarding/SmartForwardingFragment.java
+++ b/src/com/android/settings/sim/smartForwarding/SmartForwardingFragment.java
@@ -27,7 +27,7 @@
 import androidx.fragment.app.FragmentManager;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settingslib.core.instrumentation.Instrumentable;
@@ -51,7 +51,7 @@
         String title = getResources().getString(R.string.smart_forwarding_title);
         getActivity().getActionBar().setTitle(title);
 
-        SwitchPreference smartForwardingSwitch = findPreference(KEY_SMART_FORWARDING_SWITCH);
+        TwoStatePreference smartForwardingSwitch = findPreference(KEY_SMART_FORWARDING_SWITCH);
         if (turnOffSwitch) {
             smartForwardingSwitch.setChecked(false);
         }
@@ -93,7 +93,7 @@
     }
 
     public void turnOnSwitchPreference() {
-        SwitchPreference smartForwardingSwitch = findPreference(KEY_SMART_FORWARDING_SWITCH);
+        TwoStatePreference smartForwardingSwitch = findPreference(KEY_SMART_FORWARDING_SWITCH);
         smartForwardingSwitch.setChecked(true);
     }
 
diff --git a/src/com/android/settings/slices/CustomSliceRegistry.java b/src/com/android/settings/slices/CustomSliceRegistry.java
index b7fe091..8f30106 100644
--- a/src/com/android/settings/slices/CustomSliceRegistry.java
+++ b/src/com/android/settings/slices/CustomSliceRegistry.java
@@ -41,7 +41,6 @@
 import com.android.settings.network.telephony.MobileDataSlice;
 import com.android.settings.notification.zen.ZenModeButtonPreferenceController;
 import com.android.settings.wifi.calling.WifiCallingSliceHelper;
-import com.android.settings.wifi.slice.ContextualWifiSlice;
 import com.android.settings.wifi.slice.WifiSlice;
 import com.android.settingslib.media.MediaOutputConstants;
 
@@ -83,15 +82,6 @@
             .build();
 
     /**
-     * Backing Uri for the Wifi Slice.
-     */
-    public static final Uri CONTEXTUAL_WIFI_SLICE_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSlicesContract.AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-            .appendPath("contextual_wifi")
-            .build();
-    /**
      * Slice Uri for Enhanced 4G slice
      */
     public static final Uri ENHANCED_4G_SLICE_URI = new Uri.Builder()
@@ -196,16 +186,6 @@
             .build();
 
     /**
-     * Full {@link Uri} for the Ringer volume Slice. (Ring & notification combined)
-     */
-    public static final Uri VOLUME_RINGER_URI = new Uri.Builder()
-            .scheme(ContentResolver.SCHEME_CONTENT)
-            .authority(SettingsSliceProvider.SLICE_AUTHORITY)
-            .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-            .appendPath("ring_volume")
-            .build();
-
-    /**
      * Full {@link Uri} for the Separate Ring volume Slice.
      */
     public static final Uri VOLUME_SEPARATE_RING_URI = new Uri.Builder()
@@ -331,7 +311,6 @@
         // Slices for contextual card.
         sUriToSlice.put(FACE_ENROLL_SLICE_URI, FaceSetupSlice.class);
         sUriToSlice.put(CONTEXTUAL_ADAPTIVE_SLEEP_URI, ContextualAdaptiveSleepSlice.class);
-        sUriToSlice.put(CONTEXTUAL_WIFI_SLICE_URI, ContextualWifiSlice.class);
         sUriToSlice.put(LOW_STORAGE_SLICE_URI, LowStorageSlice.class);
         sUriToSlice.put(BLUETOOTH_DEVICES_SLICE_URI, BluetoothDevicesSlice.class);
     }
diff --git a/src/com/android/settings/slices/SettingsSliceProvider.java b/src/com/android/settings/slices/SettingsSliceProvider.java
index 5d2bde3..ec60f44 100644
--- a/src/com/android/settings/slices/SettingsSliceProvider.java
+++ b/src/com/android/settings/slices/SettingsSliceProvider.java
@@ -164,7 +164,7 @@
             Log.d(TAG, "onSlicePinned: " + sliceUri);
             mFirstSlicePinned = true;
         }
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_SETTINGS_SLICE_REQUESTED,
                         SettingsEnums.PAGE_UNKNOWN,
@@ -173,7 +173,7 @@
 
         if (CustomSliceRegistry.isValidUri(sliceUri)) {
             final Context context = getContext();
-            final CustomSliceable sliceable = FeatureFactory.getFactory(context)
+            final CustomSliceable sliceable = FeatureFactory.getFeatureFactory()
                     .getSlicesFeatureProvider().getSliceableFromUri(context, sliceUri);
             final IntentFilter filter = sliceable.getIntentFilter();
             if (filter != null) {
@@ -227,7 +227,7 @@
             final boolean nightMode = Utils.isNightMode(getContext());
             if (mNightMode == null) {
                 mNightMode = nightMode;
-                getContext().setTheme(R.style.Theme_SettingsBase);
+                getContext().setTheme(com.android.settingslib.widget.theme.R.style.Theme_SettingsBase);
             } else if (mNightMode != nightMode) {
                 Log.d(TAG, "Night mode changed, reload theme");
                 mNightMode = nightMode;
@@ -246,13 +246,13 @@
             // from the Settings team.
             if (CustomSliceRegistry.isValidUri(sliceUri)) {
                 final Context context = getContext();
-                return FeatureFactory.getFactory(context)
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider().getSliceableFromUri(context, sliceUri)
                         .getSlice();
             }
 
             if (CustomSliceRegistry.WIFI_CALLING_URI.equals(sliceUri)) {
-                return FeatureFactory.getFactory(getContext())
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(getContext())
                         .createWifiCallingSlice(sliceUri);
@@ -261,12 +261,12 @@
             } else if (CustomSliceRegistry.BLUETOOTH_URI.equals(sliceUri)) {
                 return BluetoothSliceBuilder.getSlice(getContext());
             } else if (CustomSliceRegistry.ENHANCED_4G_SLICE_URI.equals(sliceUri)) {
-                return FeatureFactory.getFactory(getContext())
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewEnhanced4gLteSliceHelper(getContext())
                         .createEnhanced4gLteSlice(sliceUri);
             } else if (CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI.equals(sliceUri)) {
-                return FeatureFactory.getFactory(getContext())
+                return FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(getContext())
                         .createWifiCallingPreferenceSlice(sliceUri);
@@ -474,18 +474,25 @@
 
     @VisibleForTesting
     boolean isPrivateSlicesNeeded(Uri uri) {
-        final String queryUri = getContext().getString(R.string.config_non_public_slice_query_uri);
+        final Context context = getContext();
+        final String queryUri = context.getString(R.string.config_non_public_slice_query_uri);
 
         if (!TextUtils.isEmpty(queryUri) && TextUtils.equals(uri.toString(), queryUri)) {
             // check if the calling package is eligible for private slices
             final int callingUid = Binder.getCallingUid();
-            final boolean hasPermission = getContext().checkPermission(
-                    android.Manifest.permission.READ_SEARCH_INDEXABLES, Binder.getCallingPid(),
-                    callingUid) == PackageManager.PERMISSION_GRANTED;
-            final String callingPackage = getContext().getPackageManager()
-                    .getPackagesForUid(callingUid)[0];
-            return hasPermission && TextUtils.equals(callingPackage,
-                    getContext().getString(R.string.config_settingsintelligence_package_name));
+            final boolean hasPermission =
+                    context.checkPermission(
+                                    android.Manifest.permission.READ_SEARCH_INDEXABLES,
+                                    Binder.getCallingPid(),
+                                    callingUid)
+                            == PackageManager.PERMISSION_GRANTED;
+            final String[] packages = context.getPackageManager().getPackagesForUid(callingUid);
+            final String callingPackage =
+                    packages != null && packages.length > 0 ? packages[0] : null;
+            return hasPermission
+                    && TextUtils.equals(
+                            callingPackage,
+                            context.getString(R.string.config_settingsintelligence_package_name));
         }
         return false;
     }
diff --git a/src/com/android/settings/slices/SliceBackgroundWorker.java b/src/com/android/settings/slices/SliceBackgroundWorker.java
index 2b02999..1cf00de 100644
--- a/src/com/android/settings/slices/SliceBackgroundWorker.java
+++ b/src/com/android/settings/slices/SliceBackgroundWorker.java
@@ -17,7 +17,6 @@
 package com.android.settings.slices;
 
 import android.annotation.MainThread;
-import android.annotation.Nullable;
 import android.content.Context;
 import android.net.Uri;
 import android.os.Handler;
@@ -29,6 +28,9 @@
 import android.util.ArrayMap;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
+import androidx.annotation.VisibleForTesting;
+
 import java.io.Closeable;
 import java.io.IOException;
 import java.lang.reflect.InvocationTargetException;
@@ -172,7 +174,8 @@
     /**
      * Notify that data was updated and attempt to sync changes to the Slice.
      */
-    protected final void notifySliceChange() {
+    @VisibleForTesting
+    public final void notifySliceChange() {
         NotifySliceChangeHandler.getInstance().updateSlice(this);
     }
 
diff --git a/src/com/android/settings/slices/SliceBroadcastReceiver.java b/src/com/android/settings/slices/SliceBroadcastReceiver.java
index d3c7a4d..2c9853a 100644
--- a/src/com/android/settings/slices/SliceBroadcastReceiver.java
+++ b/src/com/android/settings/slices/SliceBroadcastReceiver.java
@@ -77,7 +77,7 @@
                 BluetoothSliceBuilder.handleUriChange(context, intent);
                 break;
             case ACTION_WIFI_CALLING_CHANGED:
-                FeatureFactory.getFactory(context)
+                FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(context)
                         .handleWifiCallingChanged(intent);
@@ -86,7 +86,7 @@
                 ZenModeSliceBuilder.handleUriChange(context, intent);
                 break;
             case ACTION_ENHANCED_4G_LTE_CHANGED:
-                FeatureFactory.getFactory(context)
+                FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewEnhanced4gLteSliceHelper(context)
                         .handleEnhanced4gLteChanged(intent);
@@ -94,7 +94,7 @@
             case ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY:
             case ACTION_WIFI_CALLING_PREFERENCE_WIFI_PREFERRED:
             case ACTION_WIFI_CALLING_PREFERENCE_CELLULAR_PREFERRED:
-                FeatureFactory.getFactory(context)
+                FeatureFactory.getFeatureFactory()
                         .getSlicesFeatureProvider()
                         .getNewWifiCallingSliceHelper(context)
                         .handleWifiCallingPreferenceChanged(intent);
@@ -172,7 +172,7 @@
      * follows the pattern in SharedPreferenceLogger.
      */
     private void logSliceValueChange(Context context, String sliceKey, int newValue) {
-        FeatureFactory.getFactory(context).getMetricsFeatureProvider()
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .action(SettingsEnums.PAGE_UNKNOWN,
                         SettingsEnums.ACTION_SETTINGS_SLICE_CHANGED,
                         SettingsEnums.PAGE_UNKNOWN,
diff --git a/src/com/android/settings/slices/SliceBuilderUtils.java b/src/com/android/settings/slices/SliceBuilderUtils.java
index 6b69540..c9d5f23 100644
--- a/src/com/android/settings/slices/SliceBuilderUtils.java
+++ b/src/com/android/settings/slices/SliceBuilderUtils.java
@@ -28,6 +28,7 @@
 import android.content.Intent;
 import android.net.Uri;
 import android.os.Bundle;
+import android.os.UserHandle;
 import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
 import android.util.ArraySet;
@@ -50,6 +51,8 @@
 import com.android.settings.core.SliderPreferenceController;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.core.TogglePreferenceController;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtilsInternal;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import java.util.Arrays;
@@ -86,6 +89,16 @@
             return buildUnavailableSlice(context, sliceData);
         }
 
+        String userRestriction = sliceData.getUserRestriction();
+        if (!TextUtils.isEmpty(userRestriction)) {
+            RestrictedLockUtils.EnforcedAdmin admin =
+                    RestrictedLockUtilsInternal.checkIfRestrictionEnforced(context,
+                            userRestriction, UserHandle.myUserId());
+            if (admin != null) {
+                return buildIntentSlice(context, sliceData, controller);
+            }
+        }
+
         switch (sliceData.getSliceType()) {
             case SliceData.SliceType.INTENT:
                 return buildIntentSlice(context, sliceData, controller);
diff --git a/src/com/android/settings/slices/SliceData.java b/src/com/android/settings/slices/SliceData.java
index 01b29b2..d97ebf5 100644
--- a/src/com/android/settings/slices/SliceData.java
+++ b/src/com/android/settings/slices/SliceData.java
@@ -73,6 +73,8 @@
 
     private final int mHighlightMenuRes;
 
+    private final String mUserRestriction;
+
     @SliceType
     private final int mSliceType;
 
@@ -132,6 +134,10 @@
         return mIsPublicSlice;
     }
 
+    public String getUserRestriction() {
+        return mUserRestriction;
+    }
+
     private SliceData(Builder builder) {
         mKey = builder.mKey;
         mTitle = builder.mTitle;
@@ -146,6 +152,7 @@
         mUnavailableSliceSubtitle = builder.mUnavailableSliceSubtitle;
         mIsPublicSlice = builder.mIsPublicSlice;
         mHighlightMenuRes = builder.mHighlightMenuRes;
+        mUserRestriction = builder.mUserRestriction;
     }
 
     @Override
@@ -189,6 +196,8 @@
 
         private boolean mIsPublicSlice;
 
+        private String mUserRestriction;
+
         public Builder setKey(String key) {
             mKey = key;
             return this;
@@ -255,6 +264,11 @@
             return this;
         }
 
+        public Builder setUserRestriction(String userRestriction) {
+            mUserRestriction = userRestriction;
+            return this;
+        }
+
         public SliceData build() {
             if (TextUtils.isEmpty(mKey)) {
                 throw new InvalidSliceDataException("Key cannot be empty");
diff --git a/src/com/android/settings/slices/SliceDataConverter.java b/src/com/android/settings/slices/SliceDataConverter.java
index 5177ff7..f6828af3 100644
--- a/src/com/android/settings/slices/SliceDataConverter.java
+++ b/src/com/android/settings/slices/SliceDataConverter.java
@@ -19,9 +19,12 @@
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_CONTROLLER;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_ICON;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_KEY;
+import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_PREF_TYPE;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_SUMMARY;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_TITLE;
 import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_UNAVAILABLE_SLICE_SUBTITLE;
+import static com.android.settings.core.PreferenceXmlParserUtils.METADATA_USER_RESTRICTION;
+import static com.android.settings.core.PreferenceXmlParserUtils.PREF_SCREEN_TAG;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.app.settings.SettingsEnums;
@@ -32,17 +35,15 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
-import android.content.res.XmlResourceParser;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.SearchIndexableResource;
 import android.provider.SettingsSlicesContract;
 import android.text.TextUtils;
-import android.util.AttributeSet;
 import android.util.Log;
-import android.util.Xml;
 import android.view.accessibility.AccessibilityManager;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -58,7 +59,6 @@
 import com.android.settingslib.search.Indexable.SearchIndexProvider;
 import com.android.settingslib.search.SearchIndexableData;
 
-import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
@@ -79,14 +79,12 @@
 
     private static final String TAG = "SliceDataConverter";
 
-    private static final String NODE_NAME_PREFERENCE_SCREEN = "PreferenceScreen";
-
     private final MetricsFeatureProvider mMetricsFeatureProvider;
     private Context mContext;
 
     public SliceDataConverter(Context context) {
         mContext = context;
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     /**
@@ -102,7 +100,7 @@
     public List<SliceData> getSliceData() {
         List<SliceData> sliceData = new ArrayList<>();
 
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(mContext)
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
                 .getSearchFeatureProvider().getSearchIndexableResources().getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
@@ -154,44 +152,34 @@
     }
 
     private List<SliceData> getSliceDataFromXML(int xmlResId, String fragmentName) {
-        XmlResourceParser parser = null;
-
         final List<SliceData> xmlSliceData = new ArrayList<>();
         String controllerClassName = "";
+        @NonNull String screenTitle = "";
 
         try {
-            parser = mContext.getResources().getXml(xmlResId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-                // Parse next until start tag is found
-            }
-
-            String nodeName = parser.getName();
-            if (!NODE_NAME_PREFERENCE_SCREEN.equals(nodeName)) {
-                throw new RuntimeException(
-                        "XML document must start with <PreferenceScreen> tag; found"
-                                + nodeName + " at " + parser.getPositionDescription());
-            }
-
-            final AttributeSet attrs = Xml.asAttributeSet(parser);
-            final String screenTitle = PreferenceXmlParserUtils.getDataTitle(mContext, attrs);
-
             // TODO (b/67996923) Investigate if we need headers for Slices, since they never
             // correspond to an actual setting.
 
             final List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
                     xmlResId,
-                    MetadataFlag.FLAG_NEED_KEY
+                    MetadataFlag.FLAG_INCLUDE_PREF_SCREEN
+                            | MetadataFlag.FLAG_NEED_KEY
                             | MetadataFlag.FLAG_NEED_PREF_CONTROLLER
                             | MetadataFlag.FLAG_NEED_PREF_TYPE
                             | MetadataFlag.FLAG_NEED_PREF_TITLE
                             | MetadataFlag.FLAG_NEED_PREF_ICON
                             | MetadataFlag.FLAG_NEED_PREF_SUMMARY
-                            | MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE);
+                            | MetadataFlag.FLAG_UNAVAILABLE_SLICE_SUBTITLE
+                            | MetadataFlag.FLAG_NEED_USER_RESTRICTION);
 
             for (Bundle bundle : metadata) {
+                final String title = bundle.getString(METADATA_TITLE);
+                if (PREF_SCREEN_TAG.equals(bundle.getString(METADATA_PREF_TYPE))) {
+                    if (title != null) {
+                        screenTitle = title;
+                    }
+                    continue;
+                }
                 // TODO (b/67996923) Non-controller Slices should become intent-only slices.
                 // Note that without a controller, dynamic summaries are impossible.
                 controllerClassName = bundle.getString(METADATA_CONTROLLER);
@@ -209,7 +197,6 @@
                         || controller instanceof RingerModeAffectedVolumePreferenceController)) {
                     continue;
                 }
-                final String title = bundle.getString(METADATA_TITLE);
                 final String summary = bundle.getString(METADATA_SUMMARY);
                 final int iconResId = bundle.getInt(METADATA_ICON);
 
@@ -218,6 +205,7 @@
                         METADATA_UNAVAILABLE_SLICE_SUBTITLE);
                 final boolean isPublicSlice = controller.isPublicSlice();
                 final int highlightMenuRes = controller.getSliceHighlightMenuRes();
+                final String userRestriction = bundle.getString(METADATA_USER_RESTRICTION);
 
                 final SliceData xmlSlice = new SliceData.Builder()
                         .setKey(key)
@@ -232,6 +220,7 @@
                         .setUnavailableSliceSubtitle(unavailableSliceSubtitle)
                         .setIsPublicSlice(isPublicSlice)
                         .setHighlightMenuRes(highlightMenuRes)
+                        .setUserRestriction(userRestriction)
                         .build();
 
                 xmlSliceData.add(xmlSlice);
@@ -257,8 +246,6 @@
                     SettingsEnums.PAGE_UNKNOWN,
                     fragmentName + "_" + controllerClassName,
                     1);
-        } finally {
-            if (parser != null) parser.close();
         }
         return xmlSliceData;
     }
diff --git a/src/com/android/settings/slices/SlicesDatabaseAccessor.java b/src/com/android/settings/slices/SlicesDatabaseAccessor.java
index 75f0220..b083b79 100644
--- a/src/com/android/settings/slices/SlicesDatabaseAccessor.java
+++ b/src/com/android/settings/slices/SlicesDatabaseAccessor.java
@@ -51,6 +51,7 @@
             IndexColumns.SLICE_TYPE,
             IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
             IndexColumns.HIGHLIGHT_MENU_RESOURCE,
+            IndexColumns.USER_RESTRICTION,
     };
 
     private final Context mContext;
@@ -166,6 +167,8 @@
                 cursor.getColumnIndex(IndexColumns.UNAVAILABLE_SLICE_SUBTITLE));
         final int highlightMenuRes = cursor.getInt(
                 cursor.getColumnIndex(IndexColumns.HIGHLIGHT_MENU_RESOURCE));
+        final String userRestriction = cursor.getString(
+                cursor.getColumnIndex(IndexColumns.USER_RESTRICTION));
 
         if (isIntentOnly) {
             sliceType = SliceData.SliceType.INTENT;
@@ -184,14 +187,14 @@
                 .setSliceType(sliceType)
                 .setUnavailableSliceSubtitle(unavailableSliceSubtitle)
                 .setHighlightMenuRes(highlightMenuRes)
+                .setUserRestriction(userRestriction)
                 .build();
     }
 
     private void verifyIndexing() {
         final long uidToken = Binder.clearCallingIdentity();
         try {
-            FeatureFactory.getFactory(
-                    mContext).getSlicesFeatureProvider().indexSliceData(mContext);
+            FeatureFactory.getFeatureFactory().getSlicesFeatureProvider().indexSliceData(mContext);
         } finally {
             Binder.restoreCallingIdentity(uidToken);
         }
diff --git a/src/com/android/settings/slices/SlicesDatabaseHelper.java b/src/com/android/settings/slices/SlicesDatabaseHelper.java
index 69ad702..cad045e 100644
--- a/src/com/android/settings/slices/SlicesDatabaseHelper.java
+++ b/src/com/android/settings/slices/SlicesDatabaseHelper.java
@@ -36,7 +36,7 @@
     private static final String DATABASE_NAME = "slices_index.db";
     private static final String SHARED_PREFS_TAG = "slices_shared_prefs";
 
-    private static final int DATABASE_VERSION = 9;
+    private static final int DATABASE_VERSION = 10;
 
     public interface Tables {
         String TABLE_SLICES_INDEX = "slices_index";
@@ -108,6 +108,11 @@
          * Resource ID for the menu entry of the setting.
          */
         String HIGHLIGHT_MENU_RESOURCE = "highlight_menu";
+
+        /**
+         * The name of user restriction for the setting.
+         */
+        String USER_RESTRICTION = "user_restriction";
     }
 
     private static final String CREATE_SLICES_TABLE =
@@ -138,6 +143,8 @@
                     + IndexColumns.PUBLIC_SLICE
                     + ", "
                     + IndexColumns.HIGHLIGHT_MENU_RESOURCE
+                    + ", "
+                    + IndexColumns.USER_RESTRICTION
                     + " INTEGER DEFAULT 0 "
                     + ");";
 
diff --git a/src/com/android/settings/slices/SlicesIndexer.java b/src/com/android/settings/slices/SlicesIndexer.java
index 0160843..268f3f0 100644
--- a/src/com/android/settings/slices/SlicesIndexer.java
+++ b/src/com/android/settings/slices/SlicesIndexer.java
@@ -88,7 +88,7 @@
 
     @VisibleForTesting
     List<SliceData> getSliceData() {
-        return FeatureFactory.getFactory(mContext)
+        return FeatureFactory.getFeatureFactory()
                 .getSlicesFeatureProvider()
                 .getSliceDataConverter(mContext)
                 .getSliceData();
@@ -117,6 +117,7 @@
                     dataRow.getUnavailableSliceSubtitle());
             values.put(IndexColumns.PUBLIC_SLICE, dataRow.isPublicSlice());
             values.put(IndexColumns.HIGHLIGHT_MENU_RESOURCE, dataRow.getHighlightMenuRes());
+            values.put(IndexColumns.USER_RESTRICTION, dataRow.getUserRestriction());
 
             database.replaceOrThrow(Tables.TABLE_SLICES_INDEX, null /* nullColumnHack */,
                     values);
diff --git a/src/com/android/settings/slices/VolumeSliceHelper.java b/src/com/android/settings/slices/VolumeSliceHelper.java
index 1ba1778..8947cc4 100644
--- a/src/com/android/settings/slices/VolumeSliceHelper.java
+++ b/src/com/android/settings/slices/VolumeSliceHelper.java
@@ -24,7 +24,6 @@
 import android.content.IntentFilter;
 import android.media.AudioManager;
 import android.net.Uri;
-import android.util.ArrayMap;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
@@ -32,6 +31,7 @@
 import com.android.settingslib.SliceBroadcastRelay;
 
 import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * This helper is to handle the broadcasts of volume slices
@@ -41,7 +41,7 @@
     private static final String TAG = "VolumeSliceHelper";
 
     @VisibleForTesting
-    static Map<Uri, Integer> sRegisteredUri = new ArrayMap<>();
+    static Map<Uri, Integer> sRegisteredUri = new ConcurrentHashMap<>();
     @VisibleForTesting
     static IntentFilter sIntentFilter;
 
@@ -133,23 +133,19 @@
     }
 
     private static void handleStreamChanged(Context context, int inputType) {
-        synchronized (sRegisteredUri) {
-            for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) {
-                if (entry.getValue() == inputType) {
-                    context.getContentResolver().notifyChange(entry.getKey(), null /* observer */);
-                    if (inputType != AudioManager.STREAM_RING) { // Two URIs are mapped to ring
-                        break;
-                    }
+        for (Map.Entry<Uri, Integer> entry : sRegisteredUri.entrySet()) {
+            if (entry.getValue() == inputType) {
+                context.getContentResolver().notifyChange(entry.getKey(), null /* observer */);
+                if (inputType != AudioManager.STREAM_RING) { // Two URIs are mapped to ring
+                    break;
                 }
             }
         }
     }
 
     private static void notifyAllStreamsChanged(Context context) {
-        synchronized (sRegisteredUri) {
-            sRegisteredUri.forEach((uri, audioStream) -> {
-                context.getContentResolver().notifyChange(uri, null /* observer */);
-            });
-        }
+        sRegisteredUri.keySet().forEach(uri -> {
+            context.getContentResolver().notifyChange(uri, null /* observer */);
+        });
     }
 }
diff --git a/src/com/android/settings/sound/AudioSwitchPreferenceController.java b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
index 6475257..b785210 100644
--- a/src/com/android/settings/sound/AudioSwitchPreferenceController.java
+++ b/src/com/android/settings/sound/AudioSwitchPreferenceController.java
@@ -18,6 +18,8 @@
 
 import static android.media.AudioManager.STREAM_DEVICES_CHANGED_ACTION;
 
+import static com.android.settingslib.media.flags.Flags.enableOutputSwitcherForSystemRouting;
+
 import android.bluetooth.BluetoothDevice;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -28,11 +30,14 @@
 import android.media.AudioDeviceInfo;
 import android.media.AudioManager;
 import android.media.MediaRouter;
+import android.media.session.MediaController;
+import android.media.session.MediaSessionManager;
 import android.os.Handler;
 import android.os.Looper;
 import android.util.FeatureFlagUtils;
 import android.util.Log;
 
+import androidx.annotation.Nullable;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -79,6 +84,8 @@
     private final WiredHeadsetBroadcastReceiver mReceiver;
     private final Handler mHandler;
     private LocalBluetoothManager mLocalBluetoothManager;
+    @Nullable private MediaSessionManager.OnActiveSessionsChangedListener mSessionListener;
+    @Nullable private MediaSessionManager mMediaSessionManager;
 
     public interface AudioSwitchCallback {
         void onPreferenceDataChanged(ListPreference preference);
@@ -107,6 +114,14 @@
             return;
         }
         mProfileManager = mLocalBluetoothManager.getProfileManager();
+
+        if (enableOutputSwitcherForSystemRouting()) {
+            mMediaSessionManager = context.getSystemService(MediaSessionManager.class);
+            mSessionListener = new SessionChangeListener();
+        } else {
+            mMediaSessionManager = null;
+            mSessionListener = null;
+        }
     }
 
     /**
@@ -329,13 +344,27 @@
         // Register for misc other intent broadcasts.
         IntentFilter intentFilter = new IntentFilter(Intent.ACTION_HEADSET_PLUG);
         intentFilter.addAction(STREAM_DEVICES_CHANGED_ACTION);
-        mContext.registerReceiver(mReceiver, intentFilter);
+
+        if (enableOutputSwitcherForSystemRouting()) {
+            mContext.registerReceiver(mReceiver, intentFilter, Context.RECEIVER_NOT_EXPORTED);
+            if (mMediaSessionManager != null) {
+                mMediaSessionManager.addOnActiveSessionsChangedListener(
+                        mSessionListener, null, mHandler);
+            }
+        } else {
+            mContext.registerReceiver(mReceiver, intentFilter);
+        }
     }
 
     private void unregister() {
         mLocalBluetoothManager.getEventManager().unregisterCallback(this);
         mAudioManager.unregisterAudioDeviceCallback(mAudioManagerAudioDeviceCallback);
         mContext.unregisterReceiver(mReceiver);
+        if (enableOutputSwitcherForSystemRouting()) {
+            if (mMediaSessionManager != null) {
+                mMediaSessionManager.removeOnActiveSessionsChangedListener(mSessionListener);
+            }
+        }
     }
 
     /** Notifications of audio device connection and disconnection events. */
@@ -362,4 +391,12 @@
             }
         }
     }
+
+    private class SessionChangeListener
+            implements MediaSessionManager.OnActiveSessionsChangedListener {
+        @Override
+        public void onActiveSessionsChanged(List<MediaController> controllers) {
+            updateState(mPreference);
+        }
+    }
 }
diff --git a/src/com/android/settings/sound/MediaOutputPreferenceController.java b/src/com/android/settings/sound/MediaOutputPreferenceController.java
index 758f7e3..c85789d 100644
--- a/src/com/android/settings/sound/MediaOutputPreferenceController.java
+++ b/src/com/android/settings/sound/MediaOutputPreferenceController.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.sound;
 
+import static com.android.settingslib.media.flags.Flags.enableOutputSwitcherForSystemRouting;
+
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.content.Intent;
@@ -24,6 +26,7 @@
 import android.media.session.MediaSessionManager;
 import android.text.TextUtils;
 
+import androidx.annotation.Nullable;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
@@ -46,21 +49,22 @@
  */
 public class MediaOutputPreferenceController extends AudioSwitchPreferenceController {
 
-    private MediaController mMediaController;
+    private static final String TAG = "MediaOutputPreferenceController";
+    @Nullable private MediaController mMediaController;
+    private MediaSessionManager mMediaSessionManager;
 
     public MediaOutputPreferenceController(Context context, String key) {
         super(context, key);
-        mMediaController = MediaOutputUtils.getActiveLocalMediaController(context.getSystemService(
-                MediaSessionManager.class));
+        mMediaSessionManager = context.getSystemService(MediaSessionManager.class);
+        mMediaController = MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager);
     }
 
     @Override
     public void displayPreference(PreferenceScreen screen) {
         super.displayPreference(screen);
 
-        if (!Utils.isAudioModeOngoingCall(mContext) && mMediaController != null) {
-            mPreference.setVisible(true);
-        }
+        mPreference.setVisible(!Utils.isAudioModeOngoingCall(mContext)
+                && (enableOutputSwitcherForSystemRouting() ? true : mMediaController != null));
     }
 
     @Override
@@ -70,11 +74,16 @@
             return;
         }
 
-        if (mMediaController == null) {
-            // No active local playback
-            return;
+        if (enableOutputSwitcherForSystemRouting()) {
+            mMediaController = MediaOutputUtils.getActiveLocalMediaController(mMediaSessionManager);
+        } else {
+            if (mMediaController == null) {
+                // No active local playback
+                return;
+            }
         }
 
+
         if (Utils.isAudioModeOngoingCall(mContext)) {
             // Ongoing call status, switch entry for media will be disabled.
             mPreference.setVisible(false);
@@ -95,9 +104,14 @@
                 || (connectedLeAudioDevices != null && !connectedLeAudioDevices.isEmpty()))) {
             activeDevice = findActiveDevice();
         }
-        mPreference.setTitle(mContext.getString(R.string.media_output_label_title,
-                com.android.settings.Utils.getApplicationLabel(mContext,
-                        mMediaController.getPackageName())));
+
+        if (mMediaController == null) {
+            mPreference.setTitle(mContext.getString(R.string.media_output_title_without_playing));
+        } else {
+            mPreference.setTitle(mContext.getString(R.string.media_output_label_title,
+                    com.android.settings.Utils.getApplicationLabel(mContext,
+                    mMediaController.getPackageName())));
+        }
         mPreference.setSummary((activeDevice == null) ?
                 mContext.getText(R.string.media_output_default_summary) :
                 activeDevice.getAlias());
@@ -145,13 +159,19 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (TextUtils.equals(preference.getKey(), getPreferenceKey())) {
-            mContext.sendBroadcast(new Intent()
-                    .setAction(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
-                    .setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME)
-                    .putExtra(MediaOutputConstants.EXTRA_PACKAGE_NAME,
-                            mMediaController.getPackageName())
-                    .putExtra(MediaOutputConstants.KEY_MEDIA_SESSION_TOKEN,
-                            mMediaController.getSessionToken()));
+            if (enableOutputSwitcherForSystemRouting() && mMediaController == null) {
+                mContext.sendBroadcast(new Intent()
+                        .setAction(MediaOutputConstants.ACTION_LAUNCH_SYSTEM_MEDIA_OUTPUT_DIALOG)
+                        .setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME));
+            } else if (mMediaController != null) {
+                mContext.sendBroadcast(new Intent()
+                        .setAction(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG)
+                        .setPackage(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME)
+                        .putExtra(MediaOutputConstants.EXTRA_PACKAGE_NAME,
+                                mMediaController.getPackageName())
+                        .putExtra(MediaOutputConstants.KEY_MEDIA_SESSION_TOKEN,
+                                mMediaController.getSessionToken()));
+            }
             return true;
         }
         return false;
diff --git a/src/com/android/settings/spa/SettingsSpaEnvironment.kt b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
index db88784..7a1d915 100644
--- a/src/com/android/settings/spa/SettingsSpaEnvironment.kt
+++ b/src/com/android/settings/spa/SettingsSpaEnvironment.kt
@@ -18,28 +18,39 @@
 
 import android.content.Context
 import android.util.FeatureFlagUtils
+import com.android.settings.network.apn.ApnEditPageProvider
+import com.android.settings.spa.about.AboutPhonePageProvider
 import com.android.settings.spa.app.AllAppListPageProvider
 import com.android.settings.spa.app.AppsMainPageProvider
+import com.android.settings.spa.app.battery.BatteryOptimizationModeAppListPageProvider
 import com.android.settings.spa.app.appcompat.UserAspectRatioAppsPageProvider
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
 import com.android.settings.spa.app.appinfo.CloneAppInfoSettingsProvider
 import com.android.settings.spa.app.backgroundinstall.BackgroundInstalledAppsPageProvider
 import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
 import com.android.settings.spa.app.specialaccess.AllFilesAccessAppListProvider
+import com.android.settings.spa.app.specialaccess.BackupTasksAppsListProvider
 import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
+import com.android.settings.spa.app.specialaccess.LongBackgroundTasksAppListProvider
 import com.android.settings.spa.app.specialaccess.MediaManagementAppsAppListProvider
+import com.android.settings.spa.app.specialaccess.MediaRoutingControlAppListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
 import com.android.settings.spa.app.specialaccess.NfcTagAppsSettingsProvider
 import com.android.settings.spa.app.specialaccess.PictureInPictureListProvider
 import com.android.settings.spa.app.specialaccess.SpecialAppAccessPageProvider
-import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
+import com.android.settings.spa.app.specialaccess.TurnScreenOnAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.UseFullScreenIntentAppListProvider
+import com.android.settings.spa.app.specialaccess.VoiceActivationAppsListProvider
+import com.android.settings.spa.app.specialaccess.WifiControlAppListProvider
+import com.android.settings.spa.app.storage.StorageAppListPageProvider
 import com.android.settings.spa.core.instrumentation.SpaLogProvider
 import com.android.settings.spa.development.UsageStatsPageProvider
 import com.android.settings.spa.development.compat.PlatformCompatAppListPageProvider
 import com.android.settings.spa.home.HomePageProvider
 import com.android.settings.spa.network.NetworkAndInternetPageProvider
+import com.android.settings.spa.network.NetworkCellularGroupProvider
+import com.android.settings.spa.network.SimOnboardingPageProvider
 import com.android.settings.spa.notification.AppListNotificationsPageProvider
 import com.android.settings.spa.notification.NotificationMainPageProvider
 import com.android.settings.spa.system.AppLanguagesPageProvider
@@ -58,13 +69,18 @@
             AllFilesAccessAppListProvider,
             DisplayOverOtherAppsAppListProvider,
             MediaManagementAppsAppListProvider,
+            MediaRoutingControlAppListProvider,
             ModifySystemSettingsAppListProvider,
             UseFullScreenIntentAppListProvider,
             PictureInPictureListProvider,
             InstallUnknownAppsListProvider,
             AlarmsAndRemindersAppListProvider,
+            VoiceActivationAppsListProvider,
             WifiControlAppListProvider,
             NfcTagAppsSettingsProvider,
+            LongBackgroundTasksAppListProvider,
+            TurnScreenOnAppsAppListProvider,
+            BackupTasksAppsListProvider,
         )
     }
 
@@ -73,31 +89,44 @@
             allProviders = getTogglePermissionAppListProviders()
         )
         SettingsPageProviderRepository(
-            allPageProviders = listOf(
-                HomePageProvider,
-                AppsMainPageProvider,
-                AllAppListPageProvider,
-                AppInfoSettingsProvider,
-                SpecialAppAccessPageProvider,
-                NotificationMainPageProvider,
-                AppListNotificationsPageProvider,
-                SystemMainPageProvider,
-                LanguageAndInputPageProvider,
-                AppLanguagesPageProvider,
-                UsageStatsPageProvider,
-                PlatformCompatAppListPageProvider,
-                BackgroundInstalledAppsPageProvider,
-                UserAspectRatioAppsPageProvider,
-                CloneAppInfoSettingsProvider,
-                NetworkAndInternetPageProvider,
-                ) + togglePermissionAppListTemplate.createPageProviders(),
+            allPageProviders = settingsPageProviders()
+                + togglePermissionAppListTemplate.createPageProviders(),
             rootPages = listOf(
                 HomePageProvider.createSettingsPage()
             ),
         )
     }
-    override val logger =
-        if (FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.SETTINGS_ENABLE_SPA_METRICS))
-            SpaLogProvider
-        else object : SpaLogger {}
+
+
+    open fun settingsPageProviders() = listOf(
+        HomePageProvider,
+        AppsMainPageProvider,
+        AllAppListPageProvider,
+        AppInfoSettingsProvider,
+        SpecialAppAccessPageProvider,
+        NotificationMainPageProvider,
+        AppListNotificationsPageProvider,
+        SystemMainPageProvider,
+        LanguageAndInputPageProvider,
+        AppLanguagesPageProvider,
+        UsageStatsPageProvider,
+        PlatformCompatAppListPageProvider,
+        BackgroundInstalledAppsPageProvider,
+        UserAspectRatioAppsPageProvider,
+        CloneAppInfoSettingsProvider,
+        NetworkAndInternetPageProvider,
+        AboutPhonePageProvider,
+        StorageAppListPageProvider.Apps,
+        StorageAppListPageProvider.Games,
+        ApnEditPageProvider,
+        SimOnboardingPageProvider,
+        BatteryOptimizationModeAppListPageProvider,
+        NetworkCellularGroupProvider,
+    )
+
+    override val logger = if (FeatureFlagUtils.isEnabled(
+            context, FeatureFlagUtils.SETTINGS_ENABLE_SPA_METRICS
+        )
+    ) SpaLogProvider
+    else object : SpaLogger {}
 }
diff --git a/src/com/android/settings/spa/SpaActivity.kt b/src/com/android/settings/spa/SpaActivity.kt
index 2b52b21..5eade81 100644
--- a/src/com/android/settings/spa/SpaActivity.kt
+++ b/src/com/android/settings/spa/SpaActivity.kt
@@ -16,18 +16,16 @@
 
 package com.android.settings.spa
 
-import android.app.ActivityManager
 import android.content.Context
 import android.content.Intent
-import android.os.RemoteException
-import android.os.UserHandle
+import android.os.Bundle
 import android.util.Log
 import androidx.annotation.VisibleForTesting
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
+import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin
 import com.android.settingslib.spa.framework.BrowseActivity
 import com.android.settingslib.spa.framework.common.SettingsPage
 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.appendSpaParams
 import com.google.android.setupcompat.util.WizardManagerHelper
 
@@ -35,6 +33,11 @@
     override fun isPageEnabled(page: SettingsPage) =
         super.isPageEnabled(page) && !isSuwAndPageBlocked(page.sppName)
 
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        lifecycle.addObserver(HideNonSystemOverlayMixin(this))
+    }
+
     companion object {
         private const val TAG = "SpaActivity"
 
@@ -44,7 +47,7 @@
         @VisibleForTesting
         fun Context.isSuwAndPageBlocked(name: String): Boolean =
             if (name in SuwBlockedPages && !WizardManagerHelper.isDeviceProvisioned(this)) {
-                Log.w(TAG, "$name blocked before SUW completed.");
+                Log.w(TAG, "$name blocked before SUW completed.")
                 true
             } else {
                 false
@@ -54,29 +57,8 @@
         fun Context.startSpaActivity(destination: String) {
             val intent = Intent(this, SpaActivity::class.java)
                 .appendSpaParams(destination = destination)
-            if (isLaunchedFromInternal()) {
-                intent.appendSpaParams(sessionName = SESSION_BROWSE)
-            } else {
-                intent.appendSpaParams(sessionName = SESSION_EXTERNAL)
-            }
+                .appendSpaParams(sessionName = SESSION_BROWSE)
             startActivity(intent)
         }
-
-        @JvmStatic
-        fun Context.startSpaActivityForApp(destinationPrefix: String, intent: Intent): Boolean {
-            val packageName = intent.data?.schemeSpecificPart ?: return false
-            startSpaActivity("$destinationPrefix/$packageName/${UserHandle.myUserId()}")
-            return true
-        }
-
-        fun Context.isLaunchedFromInternal(): Boolean {
-            var pkg: String? = null
-            try {
-                pkg = ActivityManager.getService().getLaunchedFromPackage(getActivityToken())
-            } catch (e: RemoteException) {
-                Log.v(TAG, "Could not talk to activity manager.", e)
-            }
-            return applicationContext.packageName == pkg
-        }
     }
 }
diff --git a/src/com/android/settings/spa/SpaAppBridgeActivity.kt b/src/com/android/settings/spa/SpaAppBridgeActivity.kt
index 9177939..a68d220 100644
--- a/src/com/android/settings/spa/SpaAppBridgeActivity.kt
+++ b/src/com/android/settings/spa/SpaAppBridgeActivity.kt
@@ -17,9 +17,10 @@
 package com.android.settings.spa
 
 import android.app.Activity
+import android.content.Intent
 import android.os.Bundle
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivityForApp
-import com.android.settings.spa.SpaBridgeActivity.Companion.getDestination
+import android.os.UserHandle
+import com.android.settings.spa.SpaBridgeActivity.Companion.startSpaActivityFromBridge
 
 /**
  * Activity used as a bridge to [SpaActivity] with package scheme for application usage.
@@ -31,9 +32,14 @@
 class SpaAppBridgeActivity : Activity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-        getDestination()?.let { destination ->
-            startSpaActivityForApp(destination, intent)
-        }
+        startSpaActivityFromBridge { getDestinationForApp(it, intent) }
         finish()
     }
+
+    companion object {
+        fun getDestinationForApp(destinationPrefix: String, intent: Intent): String? {
+            val packageName = intent.data?.schemeSpecificPart ?: return null
+            return "$destinationPrefix/$packageName/${UserHandle.myUserId()}"
+        }
+    }
 }
diff --git a/src/com/android/settings/spa/SpaBridgeActivity.kt b/src/com/android/settings/spa/SpaBridgeActivity.kt
index 904be88..61d8f51 100644
--- a/src/com/android/settings/spa/SpaBridgeActivity.kt
+++ b/src/com/android/settings/spa/SpaBridgeActivity.kt
@@ -17,10 +17,13 @@
 package com.android.settings.spa
 
 import android.app.Activity
-import android.content.pm.PackageManager
-import android.content.pm.PackageManager.ComponentInfoFlags
+import android.content.Intent
 import android.os.Bundle
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+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
 
 /**
  * Activity used as a bridge to [SpaActivity].
@@ -32,18 +35,23 @@
 class SpaBridgeActivity : Activity() {
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
-        getDestination()?.let { destination ->
-            startSpaActivity(destination)
-        }
+        startSpaActivityFromBridge()
         finish()
     }
 
     companion object {
-        fun Activity.getDestination(): String? =
-            packageManager.getActivityInfo(
-                componentName, ComponentInfoFlags.of(PackageManager.GET_META_DATA.toLong())
-            ).metaData.getString(META_DATA_KEY_DESTINATION)
-
-        private const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
+        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)
+            }
+        }
     }
 }
diff --git a/src/com/android/settings/spa/SpaDestination.kt b/src/com/android/settings/spa/SpaDestination.kt
new file mode 100644
index 0000000..bdec1d8
--- /dev/null
+++ b/src/com/android/settings/spa/SpaDestination.kt
@@ -0,0 +1,49 @@
+/*
+ * 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.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
+
+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),
+            )
+        }
+
+        @VisibleForTesting
+        const val META_DATA_KEY_DESTINATION = "com.android.settings.spa.DESTINATION"
+    }
+}
diff --git a/src/com/android/settings/spa/about/AboutPhone.kt b/src/com/android/settings/spa/about/AboutPhone.kt
new file mode 100644
index 0000000..5f9aa97
--- /dev/null
+++ b/src/com/android/settings/spa/about/AboutPhone.kt
@@ -0,0 +1,66 @@
+/*
+ * 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.spa.about
+
+import android.os.Bundle
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.PermDeviceInformation
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
+import com.android.settingslib.spa.framework.common.createSettingsPage
+import com.android.settingslib.spa.framework.compose.navigator
+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.SettingsIcon
+
+object AboutPhonePageProvider : SettingsPageProvider {
+    override val name = "AboutPhone"
+    private val owner = createSettingsPage()
+
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        RegularScaffold(title = getTitle(arguments)) {
+            BasicInfoCategory.CategoryItems()
+        }
+    }
+
+    override fun getTitle(arguments: Bundle?): String =
+        SpaEnvironmentFactory.instance.appContext.getString(R.string.about_settings)
+
+    fun buildInjectEntry(): SettingsEntryBuilder {
+        return SettingsEntryBuilder.createInject(owner = owner)
+            .setUiLayoutFn {
+                val context = LocalContext.current
+                val deviceNamePresenter = remember { DeviceNamePresenter(context) }
+                Preference(object : PreferenceModel {
+                    override val title = stringResource(R.string.about_settings)
+                    override val summary = { deviceNamePresenter.deviceName }
+                    override val onClick = navigator(name)
+                    override val icon = @Composable {
+                        SettingsIcon(imageVector = Icons.Outlined.PermDeviceInformation)
+                    }
+                })
+            }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/about/BasicInfoCategory.kt b/src/com/android/settings/spa/about/BasicInfoCategory.kt
new file mode 100644
index 0000000..d382f51
--- /dev/null
+++ b/src/com/android/settings/spa/about/BasicInfoCategory.kt
@@ -0,0 +1,31 @@
+/*
+ * 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.spa.about
+
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spa.widget.ui.Category
+
+object BasicInfoCategory {
+    @Composable
+    fun CategoryItems() {
+        Category(title = stringResource(R.string.my_device_info_basic_info_category_title)) {
+            DeviceNamePreference.EntryItem()
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/about/DeviceName.kt b/src/com/android/settings/spa/about/DeviceName.kt
new file mode 100644
index 0000000..86a9512
--- /dev/null
+++ b/src/com/android/settings/spa/about/DeviceName.kt
@@ -0,0 +1,66 @@
+/*
+ * 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.spa.about
+
+import android.content.Context
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.deviceinfo.DeviceNamePreferenceController
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+
+object DeviceNamePreference {
+
+    @Composable
+    fun EntryItem() {
+        val context = LocalContext.current
+        val deviceNamePresenter = remember { DeviceNamePresenter(context) }
+        // TODO: Instead of a AlertDialog, it should be a dialog that accepts text input.
+        val dialogPresenter = rememberAlertDialogPresenter(
+            confirmButton = AlertDialogButton(
+                stringResource(R.string.okay), onClick = DeviceNamePreference::confirmChange
+            ),
+            dismissButton = AlertDialogButton(stringResource(R.string.cancel)),
+            title = stringResource(R.string.my_device_info_device_name_preference_title),
+            text = { Text(deviceNamePresenter.deviceName) },
+        )
+        Preference(object : PreferenceModel {
+            override val title =
+                stringResource(R.string.my_device_info_device_name_preference_title)
+            override val summary = { deviceNamePresenter.deviceName }
+            override val onClick = dialogPresenter::open
+        })
+
+    }
+
+    private fun confirmChange() {
+        // TODO: Save the change of the device name.
+    }
+}
+
+class DeviceNamePresenter(val context: Context) {
+    private val deviceNamePreferenceController =
+        DeviceNamePreferenceController(context, "unused_key")
+
+    val deviceName: String get() = deviceNamePreferenceController.summary.toString()
+}
diff --git a/src/com/android/settings/spa/app/AllAppList.kt b/src/com/android/settings/spa/app/AllAppList.kt
index 8bd1884..5e0ac95 100644
--- a/src/com/android/settings/spa/app/AllAppList.kt
+++ b/src/com/android/settings/spa/app/AllAppList.kt
@@ -21,8 +21,6 @@
 import android.os.Bundle
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.State
-import androidx.compose.runtime.derivedStateOf
-import androidx.compose.runtime.remember
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
@@ -36,6 +34,7 @@
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.ui.SpinnerOption
+import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder
 import com.android.settingslib.spaprivileged.model.app.AppListModel
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.installed
@@ -116,7 +115,7 @@
         option: Int,
         recordListFlow: Flow<List<AppRecordWithSize>>,
     ): Flow<List<AppRecordWithSize>> = recordListFlow.filterItem(
-        when (SpinnerItem.values().getOrNull(option)) {
+        when (SpinnerItem.entries.getOrNull(option)) {
             SpinnerItem.Enabled -> ({ it.app.enabled && !it.app.isInstantApp })
             SpinnerItem.Disabled -> isDisabled
             SpinnerItem.Instant -> isInstant
@@ -130,21 +129,25 @@
     private val isInstant: (AppRecordWithSize) -> Boolean = { it.app.isInstantApp }
 
     @Composable
-    override fun getSummary(option: Int, record: AppRecordWithSize): State<String> {
+    override fun getSummary(option: Int, record: AppRecordWithSize): () -> String {
         val storageSummary = record.app.getStorageSummary()
-        return remember {
-            derivedStateOf {
-                storageSummary.value +
-                    when {
-                        !record.app.installed -> {
-                            System.lineSeparator() + context.getString(R.string.not_installed)
-                        }
-                        isDisabled(record) -> {
-                            System.lineSeparator() + context.getString(R.string.disabled)
-                        }
-                        else -> ""
-                    }
+        return {
+            val summaryList = mutableListOf<String>()
+            val storageSummaryValue = storageSummary.value
+            if (storageSummaryValue.isNotBlank()) {
+                summaryList += storageSummaryValue
             }
+            when {
+                !record.app.installed && !record.app.isArchived -> {
+                    summaryList += context.getString(R.string.not_installed)
+                }
+
+                isDisabled(record) -> {
+                    summaryList += context.getString(com.android.settingslib.R.string.disabled)
+                }
+            }
+            summaryList.joinToString(separator = System.lineSeparator())
+                .ifEmpty { context.getPlaceholder() } // Use placeholder to reduce flaky
         }
     }
 
diff --git a/src/com/android/settings/spa/app/AppsMain.kt b/src/com/android/settings/spa/app/AppsMain.kt
index 2dea9c5..83b3080 100644
--- a/src/com/android/settings/spa/app/AppsMain.kt
+++ b/src/com/android/settings/spa/app/AppsMain.kt
@@ -30,7 +30,6 @@
 import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
 import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
-import com.android.settingslib.spa.framework.compose.toState
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -54,10 +53,10 @@
     fun buildInjectEntry() =
         SettingsEntryBuilder.createInject(owner = owner)
             .setUiLayoutFn {
+                val summary = stringResource(R.string.app_and_notification_dashboard_summary)
                 Preference(object : PreferenceModel {
                     override val title = stringResource(R.string.apps_dashboard_title)
-                    override val summary =
-                        stringResource(R.string.app_and_notification_dashboard_summary).toState()
+                    override val summary = { summary }
                     override val onClick = navigator(name)
                     override val icon = @Composable {
                         SettingsIcon(imageVector = Icons.Outlined.Apps)
diff --git a/src/com/android/settings/spa/app/ResetAppPreferences.kt b/src/com/android/settings/spa/app/ResetAppPreferences.kt
index 12dd709..34c4145 100644
--- a/src/com/android/settings/spa/app/ResetAppPreferences.kt
+++ b/src/com/android/settings/spa/app/ResetAppPreferences.kt
@@ -16,7 +16,6 @@
 
 package com.android.settings.spa.app
 
-import android.os.UserHandle
 import android.os.UserManager
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
@@ -37,10 +36,7 @@
     RestrictedMenuItem(
         text = stringResource(R.string.reset_app_preferences),
         restrictions = remember {
-            Restrictions(
-                userId = UserHandle.myUserId(),
-                keys = listOf(UserManager.DISALLOW_APPS_CONTROL),
-            )
+            Restrictions(keys = listOf(UserManager.DISALLOW_APPS_CONTROL))
         },
         onClick = onClick,
     )
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
index 05da903..1e6e545 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreference.kt
@@ -19,10 +19,10 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appcompat.UserAspectRatioDetails
@@ -35,18 +35,18 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun UserAspectRatioAppPreference(app: ApplicationInfo) {
     val context = LocalContext.current
     val presenter = remember { UserAspectRatioAppPresenter(context, app) }
     if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.aspect_ratio_experimental_title)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
+        override val summary = { summary }
         override val onClick = presenter::startActivity
     })
 }
@@ -63,18 +63,18 @@
     }.flowOn(Dispatchers.IO)
 
     fun startActivity() =
-        navigateToAppAspectRatioSettings(context, app)
+        navigateToAppAspectRatioSettings(context, app, AppInfoSettingsProvider.METRICS_CATEGORY)
 
     val summaryFlow = flow {
         emit(manager.getUserMinAspectRatioEntry(app.packageName, context.userId))
     }.flowOn(Dispatchers.IO)
 }
 
-fun navigateToAppAspectRatioSettings(context: Context, app: ApplicationInfo) {
+fun navigateToAppAspectRatioSettings(context: Context, app: ApplicationInfo, metricsCategory: Int) {
     AppInfoDashboardFragment.startAppInfoFragment(
         UserAspectRatioDetails::class.java,
         app,
         context,
-        AppInfoSettingsProvider.METRICS_CATEGORY,
+        metricsCategory,
     )
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
index 533d920..15cd1ba 100644
--- a/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
+++ b/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProvider.kt
@@ -16,11 +16,13 @@
 
 package com.android.settings.spa.app.appcompat
 
+import android.app.settings.SettingsEnums
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageInfo
 import android.content.pm.PackageManager
 import android.content.pm.PackageManager.GET_ACTIVITIES
+import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_APP_DEFAULT
 import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET
 import android.os.Build
 import android.os.Bundle
@@ -28,11 +30,10 @@
 import androidx.compose.foundation.layout.Box
 import androidx.compose.foundation.layout.padding
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.State
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appcompat.UserAspectRatioManager
@@ -42,15 +43,14 @@
 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.compose.toState
 import com.android.settingslib.spa.framework.theme.SettingsDimension
 import com.android.settingslib.spa.framework.util.asyncMap
 import com.android.settingslib.spa.framework.util.filterItem
-import com.android.settingslib.spa.widget.preference.Preference
-import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.illustration.Illustration
 import com.android.settingslib.spa.widget.illustration.IllustrationModel
 import com.android.settingslib.spa.widget.illustration.ResourceType
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.ui.SettingsBody
 import com.android.settingslib.spa.widget.ui.SpinnerOption
 import com.android.settingslib.spaprivileged.model.app.AppListModel
@@ -81,12 +81,14 @@
 
     @Composable
     @VisibleForTesting
-    fun EntryItem() =
+    fun EntryItem() {
+        val summary = getSummary()
         Preference(object : PreferenceModel {
             override val title = stringResource(R.string.aspect_ratio_experimental_title)
-            override val summary = getSummary().toState()
+            override val summary = { summary }
             override val onClick = navigator(name)
         })
+    }
 
     @VisibleForTesting
     fun buildInjectEntry() = SettingsEntryBuilder
@@ -138,7 +140,9 @@
         recordList: List<UserAspectRatioAppListItemModel>
     ): List<SpinnerOption> {
         val hasSuggested = recordList.any { it.suggested }
-        val hasOverride = recordList.any { it.userOverride != USER_MIN_ASPECT_RATIO_UNSET }
+        val hasOverride = recordList.any {
+            userAspectRatioManager.isAppOverridden(it.app, it.userOverride)
+        }
         val options = mutableListOf(SpinnerItem.All)
         // Add suggested filter first as default
         if (hasSuggested) options.add(0, SpinnerItem.Suggested)
@@ -155,7 +159,13 @@
     override fun AppListItemModel<UserAspectRatioAppListItemModel>.AppItem() {
         val app = record.app
         AppListItem(
-            onClick = { navigateToAppAspectRatioSettings(context, app) }
+            onClick = {
+                navigateToAppAspectRatioSettings(
+                    context,
+                    app,
+                    SettingsEnums.USER_ASPECT_RATIO_APP_LIST_SETTINGS
+                )
+            }
         )
     }
 
@@ -178,22 +188,25 @@
         option: Int,
         recordListFlow: Flow<List<UserAspectRatioAppListItemModel>>
     ): Flow<List<UserAspectRatioAppListItemModel>> = recordListFlow.filterItem(
-        when (SpinnerItem.values().getOrNull(option)) {
+        when (SpinnerItem.entries.getOrNull(option)) {
             SpinnerItem.Suggested -> ({ it.canDisplay && it.suggested })
-            SpinnerItem.Overridden -> ({ it.userOverride != USER_MIN_ASPECT_RATIO_UNSET })
+            SpinnerItem.Overridden -> ({
+                userAspectRatioManager.isAppOverridden(it.app, it.userOverride)
+            })
             else -> ({ it.canDisplay })
         }
     )
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
-    override fun getSummary(option: Int, record: UserAspectRatioAppListItemModel) : State<String> =
-        remember(record.userOverride) {
+    override fun getSummary(option: Int, record: UserAspectRatioAppListItemModel): () -> String {
+        val summary by remember(record.userOverride) {
             flow {
                 emit(userAspectRatioManager.getUserMinAspectRatioEntry(record.userOverride,
-                    record.app.packageName))
+                    record.app.packageName, record.app.userId))
             }.flowOn(Dispatchers.IO)
         }.collectAsStateWithLifecycle(initialValue = stringResource(R.string.summary_placeholder))
+        return { summary }
+    }
 
     private fun getPackageAndActivityInfo(app: ApplicationInfo): PackageInfo? = try {
         packageManager.getPackageInfoAsUser(app.packageName, GET_ACTIVITIES_FLAGS, app.userId)
diff --git a/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt b/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt
index 29c7483..31e068c 100644
--- a/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppAllServicesPreference.kt
@@ -24,11 +24,11 @@
 import android.os.Bundle
 import android.util.Log
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settingslib.spa.widget.preference.Preference
@@ -46,7 +46,6 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.plus
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppAllServicesPreference(app: ApplicationInfo) {
     val context = LocalContext.current
@@ -54,11 +53,12 @@
     val presenter = remember { AppAllServicesPresenter(context, app, coroutineScope) }
     if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.app_info_all_services_label)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
+        override val summary = { summary }
         override val onClick = presenter::startActivity
     })
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppArchiveButton.kt b/src/com/android/settings/spa/app/appinfo/AppArchiveButton.kt
new file mode 100644
index 0000000..38a8499
--- /dev/null
+++ b/src/com/android/settings/spa/app/appinfo/AppArchiveButton.kt
@@ -0,0 +1,138 @@
+/*
+ * 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.spa.app.appinfo
+
+import android.app.PendingIntent
+import android.content.Intent
+import android.content.IntentFilter
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageInstaller
+import android.os.UserHandle
+import android.util.Log
+import android.widget.Toast
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.CloudUpload
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.android.settings.R
+import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settingslib.spaprivileged.framework.compose.DisposableBroadcastReceiverAsUser
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+
+class AppArchiveButton(
+    packageInfoPresenter: PackageInfoPresenter,
+    private val isHibernationSwitchEnabledStateFlow: MutableStateFlow<Boolean>,
+) {
+    private companion object {
+        private const val LOG_TAG = "AppArchiveButton"
+        private const val INTENT_ACTION = "com.android.settings.archive.action"
+    }
+
+    private val context = packageInfoPresenter.context
+    private val appButtonRepository = AppButtonRepository(context)
+    private val userPackageManager = packageInfoPresenter.userPackageManager
+    private val packageInstaller = userPackageManager.packageInstaller
+    private val packageName = packageInfoPresenter.packageName
+    private val userHandle = UserHandle.of(packageInfoPresenter.userId)
+    private var broadcastReceiverIsCreated = false
+    private lateinit var appLabel: CharSequence
+
+    @Composable
+    fun getActionButton(app: ApplicationInfo): ActionButton {
+        if (!broadcastReceiverIsCreated) {
+            val intentFilter = IntentFilter(INTENT_ACTION)
+            DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
+                if (app.packageName == intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)) {
+                    onReceive(intent)
+                }
+            }
+            broadcastReceiverIsCreated = true
+        }
+        appLabel = userPackageManager.getApplicationLabel(app)
+        return ActionButton(
+            text = context.getString(R.string.archive),
+            imageVector = Icons.Outlined.CloudUpload,
+            enabled = remember(app) {
+                isHibernationSwitchEnabledStateFlow.asStateFlow().map {
+                    it && isActionButtonEnabledForApp(app)
+                }.flowOn(Dispatchers.Default)
+            }.collectAsStateWithLifecycle(false).value
+        ) { onArchiveClicked(app) }
+    }
+
+    private fun isActionButtonEnabledForApp(app: ApplicationInfo): Boolean {
+        return app.isActionButtonEnabled() && appButtonRepository.isAllowUninstallOrArchive(
+            context,
+            app
+        )
+    }
+
+    private fun ApplicationInfo.isActionButtonEnabled(): Boolean {
+        return !isArchived
+            && userPackageManager.isAppArchivable(packageName)
+            // We apply the same device policy for both the uninstallation and archive
+            // button.
+            && !appButtonRepository.isUninstallBlockedByAdmin(this)
+    }
+
+    private fun onArchiveClicked(app: ApplicationInfo) {
+        val intent = Intent(INTENT_ACTION)
+        intent.setPackage(context.packageName)
+        val pendingIntent = PendingIntent.getBroadcastAsUser(
+            context, 0, intent,
+            // FLAG_MUTABLE is required by PackageInstaller#requestArchive
+            PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_MUTABLE,
+            userHandle
+        )
+        try {
+            packageInstaller.requestArchive(app.packageName, pendingIntent.intentSender)
+        } catch (e: Exception) {
+            Log.e(LOG_TAG, "Request archive failed", e)
+            Toast.makeText(
+                context,
+                context.getString(R.string.archiving_failed),
+                Toast.LENGTH_SHORT
+            ).show()
+        }
+    }
+
+    private fun onReceive(intent: Intent) {
+        when (val status = intent.getIntExtra(PackageInstaller.EXTRA_STATUS, Int.MIN_VALUE)) {
+            PackageInstaller.STATUS_SUCCESS -> {
+                Toast.makeText(
+                    context,
+                    context.getString(R.string.archiving_succeeded, appLabel),
+                    Toast.LENGTH_SHORT
+                ).show()
+            }
+
+            else -> {
+                Log.e(LOG_TAG, "Request archiving failed for $packageName with code $status")
+                Toast.makeText(
+                    context,
+                    context.getString(R.string.archiving_failed),
+                    Toast.LENGTH_SHORT
+                ).show()
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt b/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt
index 0b4e7d5..af4fc17 100644
--- a/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppBatteryPreference.kt
@@ -21,7 +21,6 @@
 import android.util.Log
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.LaunchedEffect
-import androidx.compose.runtime.derivedStateOf
 import androidx.compose.runtime.getValue
 import androidx.compose.runtime.mutableStateOf
 import androidx.compose.runtime.remember
@@ -50,7 +49,7 @@
 @Composable
 fun AppBatteryPreference(app: ApplicationInfo) {
     val context = LocalContext.current
-    val presenter = remember { AppBatteryPresenter(context, app) }
+    val presenter = remember(app) { AppBatteryPresenter(context, app) }
     if (!presenter.isAvailable()) return
 
     Preference(object : PreferenceModel {
@@ -91,16 +90,17 @@
         }
     }
 
-    val enabled = derivedStateOf { batteryDiffEntryState is LoadingState.Done }
+    val enabled = { batteryDiffEntryState is LoadingState.Done }
 
-    val summary = derivedStateOf<String> {
-        if (!app.installed) return@derivedStateOf ""
-        batteryDiffEntryState.let { batteryDiffEntryState ->
-            when (batteryDiffEntryState) {
-                is LoadingState.Loading -> context.getString(R.string.summary_placeholder)
-                is LoadingState.Done -> batteryDiffEntryState.result.getSummary()
+    val summary = {
+        if (app.installed) {
+            batteryDiffEntryState.let { batteryDiffEntryState ->
+                when (batteryDiffEntryState) {
+                    is LoadingState.Loading -> context.getString(R.string.summary_placeholder)
+                    is LoadingState.Done -> batteryDiffEntryState.result.getSummary()
+                }
             }
-        }
+        } else ""
     }
 
     private fun BatteryDiffEntry?.getSummary(): String =
@@ -126,8 +126,10 @@
             AppInfoSettingsProvider.METRICS_CATEGORY,
             this,
             Utils.formatPercentage(percentage, true),
-            null,
-            false,
+            /*slotInformation=*/ null,
+            /*showTimeInformation=*/ false,
+            /*anomalyHintPrefKey=*/ null,
+            /*anomalyHintText=*/ null
         )
     }
 
@@ -153,7 +155,7 @@
 }
 
 private sealed class LoadingState<out T> {
-    object Loading : LoadingState<Nothing>()
+    data object Loading : LoadingState<Nothing>()
 
     data class Done<T>(val result: T) : LoadingState<T>()
 
diff --git a/src/com/android/settings/spa/app/appinfo/AppButtonRepository.kt b/src/com/android/settings/spa/app/appinfo/AppButtonRepository.kt
index 2383ddb..b8019fb 100644
--- a/src/com/android/settings/spa/app/appinfo/AppButtonRepository.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppButtonRepository.kt
@@ -19,14 +19,19 @@
 import android.app.ActivityManager
 import android.content.ComponentName
 import android.content.Context
+import android.content.om.OverlayManager
 import android.content.pm.ApplicationInfo
+import android.content.pm.Flags
 import android.content.pm.PackageManager
 import android.content.pm.ResolveInfo
+import android.util.Log
 import com.android.settingslib.RestrictedLockUtils
 import com.android.settingslib.RestrictedLockUtilsInternal
 import com.android.settingslib.Utils
 import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
+import com.android.settingslib.spaprivileged.model.app.hasFlag
 import com.android.settingslib.spaprivileged.model.app.isDisallowControl
+import com.android.settingslib.spaprivileged.model.app.userHandle
 import com.android.settingslib.spaprivileged.model.app.userId
 
 class AppButtonRepository(private val context: Context) {
@@ -77,6 +82,65 @@
         false
     }
 
+    /** Gets whether a package can be uninstalled or archived. */
+    fun isAllowUninstallOrArchive(
+        context: Context, app: ApplicationInfo
+    ): Boolean {
+        val overlayManager = checkNotNull(context.getSystemService(OverlayManager::class.java))
+        when {
+            !app.hasFlag(ApplicationInfo.FLAG_INSTALLED) && !app.isArchived -> return false
+
+            com.android.settings.Utils.isProfileOrDeviceOwner(
+                context.devicePolicyManager, app.packageName, app.userId
+            ) -> return false
+
+            isDisallowControl(app) -> return false
+
+            uninstallDisallowedDueToHomeApp(app) -> return false
+
+            // Resource overlays can be uninstalled iff they are public (installed on /data) and
+            // disabled. ("Enabled" means they are in use by resource management.)
+            app.isEnabledResourceOverlay(overlayManager) -> return false
+
+            else -> return true
+        }
+    }
+
+    /**
+     * Checks whether the given package cannot be uninstalled due to home app restrictions.
+     *
+     * Home launcher apps need special handling, we can't allow uninstallation of the only home
+     * app, and we don't want to allow uninstallation of an explicitly preferred one -- the user
+     * can go to Home settings and pick a different one, after which we'll permit uninstallation
+     * of the now-not-default one.
+     */
+    fun uninstallDisallowedDueToHomeApp(applicationInfo: ApplicationInfo): Boolean {
+        val packageName = applicationInfo.packageName
+        val homePackageInfo = getHomePackageInfo()
+        return when {
+            packageName !in homePackageInfo.homePackages -> false
+
+            // Disallow uninstall when this is the only home app.
+            homePackageInfo.homePackages.size == 1 -> true
+
+            packageName == homePackageInfo.currentDefaultHome?.packageName -> {
+                if (Flags.improveHomeAppBehavior()) {
+                    // Disallow the uninstallation of the current home app if it is a system app.
+                    return applicationInfo.isSystemApp()
+                } else {
+                    // Disallow if this is the explicit default home app.
+                    return true
+                }
+            }
+
+            else -> false
+        }
+    }
+
+    private fun ApplicationInfo.isEnabledResourceOverlay(overlayManager: OverlayManager): Boolean =
+        isResourceOverlay &&
+            overlayManager.getOverlayInfo(packageName, userHandle)?.isEnabled == true
+
     data class HomePackages(
         val homePackages: Set<String>,
         val currentDefaultHome: ComponentName?,
diff --git a/src/com/android/settings/spa/app/appinfo/AppButtons.kt b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
index e43c673..3d9c4b1 100644
--- a/src/com/android/settings/spa/app/appinfo/AppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppButtons.kt
@@ -17,42 +17,71 @@
 package com.android.settings.spa.app.appinfo
 
 import android.content.pm.ApplicationInfo
+import android.content.pm.FeatureFlags as PmFeatureFlags
+import android.content.pm.FeatureFlagsImpl as PmFeatureFlagsImpl
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.applications.AppUtils
 import com.android.settingslib.spa.widget.button.ActionButton
 import com.android.settingslib.spa.widget.button.ActionButtons
+import kotlinx.coroutines.flow.MutableStateFlow
 
 @Composable
-fun AppButtons(packageInfoPresenter: PackageInfoPresenter) {
+/**
+ * @param featureFlags can be overridden in tests
+ */
+fun AppButtons(
+    packageInfoPresenter: PackageInfoPresenter,
+    isHibernationSwitchEnabledStateFlow: MutableStateFlow<Boolean>,
+    featureFlags: PmFeatureFlags = PmFeatureFlagsImpl()
+) {
     if (remember(packageInfoPresenter) { packageInfoPresenter.isMainlineModule() }) return
-    val presenter = remember { AppButtonsPresenter(packageInfoPresenter) }
+    val presenter = remember {
+        AppButtonsPresenter(
+            packageInfoPresenter,
+            isHibernationSwitchEnabledStateFlow,
+            featureFlags
+        )
+    }
     ActionButtons(actionButtons = presenter.getActionButtons())
 }
 
 private fun PackageInfoPresenter.isMainlineModule(): Boolean =
     AppUtils.isMainlineModule(userPackageManager, packageName)
 
-private class AppButtonsPresenter(private val packageInfoPresenter: PackageInfoPresenter) {
+private class AppButtonsPresenter(
+    private val packageInfoPresenter: PackageInfoPresenter,
+    isHibernationSwitchEnabledStateFlow: MutableStateFlow<Boolean>,
+    private val featureFlags: PmFeatureFlags
+) {
     private val appLaunchButton = AppLaunchButton(packageInfoPresenter)
     private val appInstallButton = AppInstallButton(packageInfoPresenter)
     private val appDisableButton = AppDisableButton(packageInfoPresenter)
     private val appUninstallButton = AppUninstallButton(packageInfoPresenter)
     private val appClearButton = AppClearButton(packageInfoPresenter)
     private val appForceStopButton = AppForceStopButton(packageInfoPresenter)
+    private val appArchiveButton =
+        AppArchiveButton(packageInfoPresenter, isHibernationSwitchEnabledStateFlow)
+    private val appRestoreButton = AppRestoreButton(packageInfoPresenter)
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
     fun getActionButtons() =
         packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
-            getActionButtons(it.applicationInfo)
+            getActionButtons(checkNotNull(it.applicationInfo))
         } ?: emptyList()
 
     @Composable
     private fun getActionButtons(app: ApplicationInfo): List<ActionButton> = listOfNotNull(
-        appLaunchButton.getActionButton(app),
+        if (isArchivingEnabled(featureFlags)) {
+            if (app.isArchived) {
+                appRestoreButton.getActionButton(app)
+            } else {
+                appArchiveButton.getActionButton(app)
+            }
+        } else {
+            appLaunchButton.getActionButton(app)
+        },
         appInstallButton.getActionButton(app),
         appDisableButton.getActionButton(app),
         appUninstallButton.getActionButton(app),
diff --git a/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt b/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt
index 088680d..c9ad422 100644
--- a/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppCreateButton.kt
@@ -18,6 +18,7 @@
 
 import android.app.settings.SettingsEnums
 import android.content.pm.ApplicationInfo
+import android.widget.Toast
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.outlined.Add
 import androidx.compose.runtime.Composable
@@ -25,14 +26,13 @@
 import androidx.compose.runtime.rememberCoroutineScope
 import com.android.settings.R
 import com.android.settings.applications.manageapplications.CloneBackend
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider.getRoute
 import com.android.settingslib.spa.framework.compose.LocalNavController
 import com.android.settingslib.spa.widget.button.ActionButton
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
-import android.widget.Toast;
 
 class AppCreateButton(packageInfoPresenter: PackageInfoPresenter) {
     private val context = packageInfoPresenter.context
@@ -54,7 +54,7 @@
         )
         {
             val cloneBackend = CloneBackend.getInstance(context)
-            FeatureFactory.getFactory(context).metricsFeatureProvider.action(context,
+            featureFactory.metricsFeatureProvider.action(context,
                     SettingsEnums.ACTION_CREATE_CLONE_APP)
             val appLabel = app.loadLabel(context.packageManager)
             Toast.makeText(context, context.getString(R.string.cloned_app_creation_toast_summary,
diff --git a/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt b/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt
index 8b90280..7e6e726 100644
--- a/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppDataUsagePreference.kt
@@ -18,45 +18,63 @@
 
 import android.content.Context
 import android.content.pm.ApplicationInfo
-import android.net.NetworkStats
 import android.net.NetworkTemplate
-import android.os.Process
-import android.text.format.DateUtils
-import android.text.format.Formatter
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.Utils
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
 import com.android.settings.datausage.AppDataUsage
-import com.android.settings.datausage.DataUsageUtils
-import com.android.settingslib.net.NetworkCycleDataForUid
-import com.android.settingslib.net.NetworkCycleDataForUidLoader
-import com.android.settingslib.spa.framework.compose.toState
+import com.android.settings.datausage.lib.AppDataUsageSummaryRepository
+import com.android.settings.datausage.lib.IAppDataUsageSummaryRepository
+import com.android.settings.datausage.lib.INetworkTemplates
+import com.android.settings.datausage.lib.NetworkTemplates
+import com.android.settings.datausage.lib.NetworkTemplates.getTitleResId
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.model.app.hasFlag
+import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.shareIn
 import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
-fun AppDataUsagePreference(app: ApplicationInfo) {
+fun AppDataUsagePreference(
+    app: ApplicationInfo,
+    networkTemplates: INetworkTemplates = NetworkTemplates,
+    repositoryFactory: (
+        context: Context,
+        networkTemplate: NetworkTemplate,
+    ) -> IAppDataUsageSummaryRepository = { context, networkTemplate ->
+        AppDataUsageSummaryRepository(context, networkTemplate)
+    }
+) {
     val context = LocalContext.current
-    val presenter = remember { AppDataUsagePresenter(context, app) }
+    val coroutineScope = rememberCoroutineScope()
+    val presenter = remember(app) {
+        AppDataUsagePresenter(context, app, coroutineScope, networkTemplates, repositoryFactory)
+    }
     if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.computing_size),
+    )
     Preference(object : PreferenceModel {
-        override val title = stringResource(R.string.data_usage_app_summary_title)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.computing_size),
+        override val title = stringResource(
+            presenter.titleResIdFlow.collectAsStateWithLifecycle(
+                initialValue = R.string.summary_placeholder,
+            ).value
         )
-        override val enabled = presenter.isEnabled().toState()
+        override val summary = { summary }
+        override val enabled = { presenter.isEnabled() }
         override val onClick = presenter::startActivity
     })
 }
@@ -64,6 +82,12 @@
 private class AppDataUsagePresenter(
     private val context: Context,
     private val app: ApplicationInfo,
+    coroutineScope: CoroutineScope,
+    networkTemplates: INetworkTemplates,
+    private val repositoryFactory: (
+        context: Context,
+        networkTemplate: NetworkTemplate,
+    ) -> IAppDataUsageSummaryRepository,
 ) {
     val isAvailableFlow = flow { emit(isAvailable()) }
 
@@ -73,51 +97,28 @@
 
     fun isEnabled() = app.hasFlag(ApplicationInfo.FLAG_INSTALLED)
 
-    val summaryFlow = flow { emit(getSummary()) }
+    private val templateFlow = flow {
+        emit(withContext(Dispatchers.IO) {
+            networkTemplates.getDefaultTemplate(context)
+        })
+    }.shareIn(coroutineScope, SharingStarted.WhileSubscribed(), 1)
 
-    private suspend fun getSummary() = withContext(Dispatchers.IO) {
-        val appUsageData = getAppUsageData()
-        val totalBytes = appUsageData.sumOf { it.totalUsage }
-        if (totalBytes == 0L) {
+    val titleResIdFlow = templateFlow.map { it.getTitleResId() }
+    val summaryFlow = templateFlow.map { getSummary(it) }
+
+    private suspend fun getSummary(template: NetworkTemplate) = withContext(Dispatchers.IO) {
+        val appUsageData = repositoryFactory(context, template).querySummary(app.uid)
+        if (appUsageData == null || appUsageData.usage == 0L) {
             context.getString(R.string.no_data_usage)
         } else {
-            val startTime = appUsageData.minOfOrNull { it.startTime } ?: System.currentTimeMillis()
             context.getString(
                 R.string.data_summary_format,
-                Formatter.formatFileSize(context, totalBytes, Formatter.FLAG_IEC_UNITS),
-                DateUtils.formatDateTime(context, startTime, DATE_FORMAT),
+                appUsageData.formatUsage(context),
+                appUsageData.formatStartDate(context),
             )
         }
     }
 
-    private suspend fun getAppUsageData(): List<NetworkCycleDataForUid> =
-        withContext(Dispatchers.IO) {
-            createLoader().loadInBackground() ?: emptyList()
-        }
-
-    private fun createLoader(): NetworkCycleDataForUidLoader =
-        NetworkCycleDataForUidLoader.builder(context).apply {
-            setRetrieveDetail(false)
-            setNetworkTemplate(getTemplate())
-            addUid(app.uid)
-            if (Process.isApplicationUid(app.uid)) {
-                // Also add in network usage for the app's SDK sandbox
-                addUid(Process.toSdkSandboxUid(app.uid))
-            }
-        }.build()
-
-    private fun getTemplate(): NetworkTemplate = when {
-        DataUsageUtils.hasReadyMobileRadio(context) -> {
-            NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
-                .setMeteredness(NetworkStats.METERED_YES)
-                .build()
-        }
-        DataUsageUtils.hasWifiRadio(context) -> {
-            NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build()
-        }
-        else -> NetworkTemplate.Builder(NetworkTemplate.MATCH_ETHERNET).build()
-    }
-
     fun startActivity() {
         AppInfoDashboardFragment.startAppInfoFragment(
             AppDataUsage::class.java,
@@ -126,8 +127,4 @@
             AppInfoSettingsProvider.METRICS_CATEGORY,
         )
     }
-
-    private companion object {
-        const val DATE_FORMAT = DateUtils.FORMAT_SHOW_DATE or DateUtils.FORMAT_ABBREV_MONTH
-    }
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt b/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt
index a41a697..555e9f1 100644
--- a/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppDisableButton.kt
@@ -25,7 +25,7 @@
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
 import com.android.settings.Utils
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spa.widget.button.ActionButton
 import com.android.settingslib.spa.widget.dialog.AlertDialogButton
 import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
@@ -43,8 +43,7 @@
     private val packageManager = context.packageManager
     private val userManager = context.userManager
     private val devicePolicyManager = context.devicePolicyManager
-    private val applicationFeatureProvider =
-        FeatureFactory.getFactory(context).getApplicationFeatureProvider(context)
+    private val applicationFeatureProvider = featureFactory.applicationFeatureProvider
 
     @Composable
     fun getActionButton(app: ApplicationInfo): ActionButton? {
diff --git a/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt b/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
index 086f59e..c3183a7 100644
--- a/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppForceStopButton.kt
@@ -19,11 +19,14 @@
 import android.app.settings.SettingsEnums
 import android.content.pm.ApplicationInfo
 import android.os.UserManager
+import androidx.annotation.VisibleForTesting
 import androidx.compose.material.icons.Icons
-import androidx.compose.material.icons.outlined.WarningAmber
+import androidx.compose.material.icons.outlined.Report
 import androidx.compose.material3.Text
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settingslib.RestrictedLockUtils
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin
@@ -35,6 +38,9 @@
 import com.android.settingslib.spaprivileged.model.app.hasFlag
 import com.android.settingslib.spaprivileged.model.app.isActiveAdmin
 import com.android.settingslib.spaprivileged.model.app.userId
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
 
 class AppForceStopButton(
     private val packageInfoPresenter: PackageInfoPresenter,
@@ -47,9 +53,13 @@
     fun getActionButton(app: ApplicationInfo): ActionButton {
         val dialogPresenter = confirmDialogPresenter()
         return ActionButton(
-            text = context.getString(R.string.force_stop),
-            imageVector = Icons.Outlined.WarningAmber,
-            enabled = isForceStopButtonEnable(app),
+            text = stringResource(R.string.force_stop),
+            imageVector = Icons.Outlined.Report,
+            enabled = remember(app) {
+                flow {
+                    emit(isForceStopButtonEnable(app))
+                }.flowOn(Dispatchers.Default)
+            }.collectAsStateWithLifecycle(false).value,
         ) { onForceStopButtonClicked(app, dialogPresenter) }
     }
 
@@ -78,9 +88,10 @@
         dialogPresenter.open()
     }
 
-    private fun getAdminRestriction(app: ApplicationInfo): EnforcedAdmin? = when {
+    @VisibleForTesting
+    fun getAdminRestriction(app: ApplicationInfo): EnforcedAdmin? = when {
         packageManager.isPackageStateProtected(app.packageName, app.userId) -> {
-            RestrictedLockUtilsInternal.getDeviceOwner(context)
+            RestrictedLockUtilsInternal.getDeviceOwner(context) ?: EnforcedAdmin()
         }
 
         else -> RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
diff --git a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
index e6df933..c12915c 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettings.kt
@@ -19,6 +19,7 @@
 import android.app.settings.SettingsEnums
 import android.content.pm.ApplicationInfo
 import android.os.Bundle
+import android.os.SystemProperties
 import android.os.UserHandle
 import android.util.FeatureFlagUtils
 import androidx.compose.runtime.Composable
@@ -27,27 +28,31 @@
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import androidx.fragment.app.Fragment
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.navigation.NavType
 import androidx.navigation.navArgument
 import com.android.settings.R
 import com.android.settings.applications.AppInfoBase
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
+import com.android.settings.flags.Flags
 import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
 import com.android.settings.spa.app.appcompat.UserAspectRatioAppPreference
 import com.android.settings.spa.app.specialaccess.AlarmsAndRemindersAppListProvider
+import com.android.settings.spa.app.specialaccess.BackupTasksAppsListProvider
 import com.android.settings.spa.app.specialaccess.DisplayOverOtherAppsAppListProvider
 import com.android.settings.spa.app.specialaccess.InstallUnknownAppsListProvider
 import com.android.settings.spa.app.specialaccess.ModifySystemSettingsAppListProvider
 import com.android.settings.spa.app.specialaccess.PictureInPictureListProvider
+import com.android.settings.spa.app.specialaccess.VoiceActivationAppsListProvider
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
-import com.android.settingslib.spa.framework.compose.LifecycleEffect
 import com.android.settingslib.spa.framework.compose.navigator
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
 import com.android.settingslib.spa.widget.ui.Category
 import com.android.settingslib.spaprivileged.model.app.toRoute
 import com.android.settingslib.spaprivileged.template.app.AppInfoProvider
+import kotlinx.coroutines.flow.MutableStateFlow
+import android.content.pm.FeatureFlags as PmFeatureFlags
+import android.content.pm.FeatureFlagsImpl as PmFeatureFlagsImpl
 
 private const val PACKAGE_NAME = "packageName"
 private const val USER_ID = "userId"
@@ -72,7 +77,7 @@
             PackageInfoPresenter(context, packageName, userId, coroutineScope)
         }
         AppInfoSettings(packageInfoPresenter)
-        packageInfoPresenter.PackageRemoveDetector()
+        packageInfoPresenter.PackageFullyRemovedEffect()
     }
 
     @Composable
@@ -115,23 +120,27 @@
     }
 }
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 private fun AppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
-    LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
-    val packageInfo = packageInfoPresenter.flow.collectAsStateWithLifecycle().value ?: return
-    val app = packageInfo.applicationInfo
+    val packageInfoState = packageInfoPresenter.flow.collectAsStateWithLifecycle()
+    val featureFlags: PmFeatureFlags = PmFeatureFlagsImpl()
     RegularScaffold(
         title = stringResource(R.string.application_info_label),
         actions = {
-            AppInfoSettingsMoreOptions(packageInfoPresenter, app)
+            packageInfoState.value?.applicationInfo?.let { app ->
+                if (isArchivingEnabled(featureFlags)) TopBarAppLaunchButton(packageInfoPresenter, app)
+                AppInfoSettingsMoreOptions(packageInfoPresenter, app)
+            }
         }
     ) {
-        val appInfoProvider = remember { AppInfoProvider(packageInfo) }
+        val packageInfo = packageInfoState.value ?: return@RegularScaffold
+        val app = packageInfo.applicationInfo ?: return@RegularScaffold
+        val appInfoProvider = remember(packageInfo) { AppInfoProvider(packageInfo) }
+        val isHibernationSwitchEnabledStateFlow = MutableStateFlow(false)
 
         appInfoProvider.AppInfo()
 
-        AppButtons(packageInfoPresenter)
+        AppButtons(packageInfoPresenter, isHibernationSwitchEnabledStateFlow)
 
         AppSettingsPreference(app)
         AppAllServicesPreference(app)
@@ -147,7 +156,7 @@
         DefaultAppShortcuts(app)
 
         Category(title = stringResource(R.string.unused_apps_category)) {
-            HibernationSwitchPreference(app)
+            HibernationSwitchPreference(app, isHibernationSwitchEnabledStateFlow)
         }
 
         Category(title = stringResource(R.string.advanced_apps)) {
@@ -158,6 +167,12 @@
             InstallUnknownAppsListProvider.InfoPageEntryItem(app)
             InteractAcrossProfilesDetailsPreference(app)
             AlarmsAndRemindersAppListProvider.InfoPageEntryItem(app)
+            if (Flags.enableVoiceActivationAppsInSettings()) {
+                VoiceActivationAppsListProvider.InfoPageEntryItem(app)
+            }
+            if (Flags.enablePerformBackupTasksInSettings()) {
+                BackupTasksAppsListProvider.InfoPageEntryItem(app)
+            }
         }
 
         Category(title = stringResource(R.string.app_install_details_group_title)) {
@@ -166,3 +181,7 @@
         appInfoProvider.FooterAppVersion()
     }
 }
+
+fun isArchivingEnabled(featureFlags: PmFeatureFlags) =
+        featureFlags.archiving() || SystemProperties.getBoolean("pm.archiving.enabled", false)
+                || Flags.appArchiving()
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptions.kt b/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptions.kt
index 7f7d8c5..1ed5959 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptions.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptions.kt
@@ -17,6 +17,7 @@
 package com.android.settings.spa.app.appinfo
 
 import android.app.AppOpsManager
+import android.app.ecm.EnhancedConfirmationManager
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.os.UserManager
@@ -90,12 +91,18 @@
 
 private fun ApplicationInfo.allowRestrictedSettings(context: Context, onSuccess: () -> Unit) {
     AppInfoDashboardFragment.showLockScreen(context) {
-        context.appOpsManager.setMode(
-            AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
-            uid,
-            packageName,
-            AppOpsManager.MODE_ALLOWED,
-        )
+        if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()
+                && android.security.Flags.extendEcmToAllSettings()) {
+            val manager = context.getSystemService(EnhancedConfirmationManager::class.java)!!
+            manager.clearRestriction(packageName)
+        } else {
+            context.appOpsManager.setMode(
+                AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS,
+                uid,
+                packageName,
+                AppOpsManager.MODE_ALLOWED,
+            )
+        }
         onSuccess()
         val toastString = context.getString(
             R.string.toast_allows_restricted_settings_successfully,
@@ -137,7 +144,7 @@
         )
     }
     val shouldShowAccessRestrictedSettingsDeferred = async {
-        shouldShowAccessRestrictedSettings(context.appOpsManager)
+        shouldShowAccessRestrictedSettings(context)
     }
     val isProfileOrDeviceOwner =
         Utils.isProfileOrDeviceOwner(context.userManager, context.devicePolicyManager, packageName)
@@ -169,7 +176,14 @@
     .filter { it.id != userId }
     .any { packageManagers.isPackageInstalledAsUser(packageName, it.id) }
 
-private fun ApplicationInfo.shouldShowAccessRestrictedSettings(appOpsManager: AppOpsManager) =
-    appOpsManager.noteOpNoThrow(
-        AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, uid, packageName, null, null
-    ) == AppOpsManager.MODE_IGNORED
+private fun ApplicationInfo.shouldShowAccessRestrictedSettings(context: Context): Boolean {
+    return if (android.permission.flags.Flags.enhancedConfirmationModeApisEnabled()
+            && android.security.Flags.extendEcmToAllSettings()) {
+        val manager = context.getSystemService(EnhancedConfirmationManager::class.java)!!
+        manager.isClearRestrictionAllowed(packageName)
+    } else {
+        context.appOpsManager.noteOpNoThrow(
+            AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, uid, packageName, null, null
+        ) == AppOpsManager.MODE_IGNORED
+    }
+}
diff --git a/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt b/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt
index b89d768..62e714a 100644
--- a/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppInstallerInfoPreference.kt
@@ -19,22 +19,20 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.Utils
 import com.android.settings.applications.AppStoreUtil
 import com.android.settingslib.applications.AppUtils
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
-import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.framework.common.asUser
-import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.android.settingslib.spaprivileged.model.app.userHandle
-import com.android.settingslib.spaprivileged.model.app.userId
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
@@ -45,7 +43,6 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppInstallerInfoPreference(app: ApplicationInfo) {
     val context = LocalContext.current
@@ -53,13 +50,14 @@
     val presenter = remember { AppInstallerInfoPresenter(context, app, coroutineScope) }
     if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
+    val enabled by presenter.enabledFlow.collectAsStateWithLifecycle(initialValue = false)
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.app_install_details_title)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
-        override val enabled =
-            presenter.enabledFlow.collectAsStateWithLifecycle(initialValue = false)
+        override val summary = { summary }
+        override val enabled = { enabled }
         override val onClick = presenter::startActivity
     })
 }
@@ -71,7 +69,6 @@
 ) {
     private val userContext = context.asUser(app.userHandle)
     private val packageManager = userContext.packageManager
-    private val userManager = context.userManager
 
     private val installerPackageFlow = flow {
         emit(withContext(Dispatchers.IO) {
@@ -88,9 +85,8 @@
 
     val isAvailableFlow = installerLabelFlow.map { installerLabel ->
         withContext(Dispatchers.IO) {
-            !userManager.isManagedProfile(app.userId) &&
-                !AppUtils.isMainlineModule(packageManager, app.packageName) &&
-                installerLabel != null
+            !AppUtils.isMainlineModule(packageManager, app.packageName) &&
+                    installerLabel != null
         }
     }
 
diff --git a/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt b/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt
index e95c5a1..3b2aace 100644
--- a/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppLocalePreference.kt
@@ -23,16 +23,16 @@
 import android.content.pm.PackageManager.ResolveInfoFlags
 import android.net.Uri
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.AppInfoBase
 import com.android.settings.applications.AppLocaleUtil
 import com.android.settings.applications.appinfo.AppLocaleDetails
 import com.android.settings.localepicker.AppLocalePickerActivity
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
-import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.model.app.userHandle
@@ -41,18 +41,18 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppLocalePreference(app: ApplicationInfo) {
     val context = LocalContext.current
     val presenter = remember { AppLocalePresenter(context, app) }
     if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.app_locale_preference_title)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
+        override val summary = { summary }
         override val onClick = presenter::startActivity
     })
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt b/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt
index 490a98c..28527c1 100644
--- a/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppNotificationPreference.kt
@@ -19,10 +19,10 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
@@ -30,7 +30,6 @@
 import com.android.settings.spa.notification.AppNotificationRepository
 import com.android.settings.spa.notification.IAppNotificationRepository
 import com.android.settingslib.spa.framework.compose.rememberContext
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.model.app.installed
@@ -38,24 +37,23 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppNotificationPreference(
     app: ApplicationInfo,
     repository: IAppNotificationRepository = rememberContext(::AppNotificationRepository),
 ) {
     val context = LocalContext.current
-    val summaryFlow = remember(app) {
+    val summary by remember(app) {
         flow {
             emit(repository.getNotificationSummary(app))
-        }.flowOn(Dispatchers.IO)
-    }
+        }.flowOn(Dispatchers.Default)
+    }.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder)
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.notifications_label)
-        override val summary = summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder)
-        )
-        override val enabled = stateOf(app.installed)
+        override val summary = { summary }
+        override val enabled = { app.installed }
         override val onClick = { navigateToAppNotificationSettings(context, app) }
     })
 }
@@ -67,4 +65,4 @@
         context,
         AppInfoSettingsProvider.METRICS_CATEGORY,
     )
-}
\ No newline at end of file
+}
diff --git a/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt b/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt
index 2c98e08..aae9569 100644
--- a/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppOpenByDefaultPreference.kt
@@ -19,17 +19,16 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
 import com.android.settings.applications.intentpicker.AppLaunchSettings
 import com.android.settings.applications.intentpicker.IntentPickerUtils
 import com.android.settingslib.applications.AppUtils
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.framework.common.asUser
@@ -41,19 +40,19 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppOpenByDefaultPreference(app: ApplicationInfo) {
     val context = LocalContext.current
     val presenter = remember(app) { AppOpenByDefaultPresenter(context, app) }
     if (remember(presenter) { !presenter.isAvailable() }) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.launch_by_default)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
-        override val enabled = stateOf(presenter.isEnabled())
+        override val summary = { summary }
+        override val enabled = { presenter.isEnabled() }
         override val onClick = presenter::startActivity
     })
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt b/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt
index ad666dc..1274eea 100644
--- a/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppPermissionPreference.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 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.
@@ -22,16 +22,15 @@
 import android.content.pm.ApplicationInfo
 import android.util.Log
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.derivedStateOf
-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.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.userHandle
+import kotlinx.coroutines.flow.Flow
 
 private const val TAG = "AppPermissionPreference"
 private const val EXTRA_HIDE_INFO_BUTTON = "hideInfoButton"
@@ -39,21 +38,18 @@
 @Composable
 fun AppPermissionPreference(
     app: ApplicationInfo,
-    summaryLiveData: LiveData<AppPermissionSummaryState> = rememberAppPermissionSummary(app),
+    summaryFlow: Flow<AppPermissionSummaryState> = rememberAppPermissionSummary(app),
 ) {
     val context = LocalContext.current
-    val summaryState = summaryLiveData.observeAsState(
-        initial = AppPermissionSummaryState(
-            summary = stringResource(R.string.summary_placeholder),
-            enabled = false,
-        )
+    val summaryState = summaryFlow.collectAsStateWithLifecycle(
+        initialValue = AppPermissionSummaryState(summary = placeholder(), enabled = false),
     )
     Preference(
         model = remember {
             object : PreferenceModel {
                 override val title = context.getString(R.string.permissions_label)
-                override val summary = derivedStateOf { summaryState.value.summary }
-                override val enabled = derivedStateOf { summaryState.value.enabled }
+                override val summary = { summaryState.value.summary }
+                override val enabled = { summaryState.value.enabled }
                 override val onClick = { startManagePermissionsActivity(context, app) }
             }
         },
diff --git a/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt b/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
index de6bd10..d0bdd6b 100644
--- a/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppPermissionSummary.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 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.
@@ -18,18 +18,22 @@
 
 import android.content.Context
 import android.content.pm.ApplicationInfo
-import android.content.pm.PackageManager.OnPermissionsChangedListener
 import android.icu.text.ListFormatter
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
-import androidx.lifecycle.LiveData
 import com.android.settings.R
 import com.android.settingslib.applications.PermissionsSummaryHelper
-import com.android.settingslib.applications.PermissionsSummaryHelper.PermissionsResultCallback
 import com.android.settingslib.spa.framework.util.formatString
 import com.android.settingslib.spaprivileged.framework.common.asUser
+import com.android.settingslib.spaprivileged.model.app.permissionsChangedFlow
 import com.android.settingslib.spaprivileged.model.app.userHandle
+import kotlin.coroutines.resume
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.suspendCancellableCoroutine
 
 data class AppPermissionSummaryState(
     val summary: String,
@@ -37,54 +41,40 @@
 )
 
 @Composable
-fun rememberAppPermissionSummary(app: ApplicationInfo): AppPermissionSummaryLiveData {
+fun rememberAppPermissionSummary(app: ApplicationInfo): Flow<AppPermissionSummaryState> {
     val context = LocalContext.current
-    return remember { AppPermissionSummaryLiveData(context, app) }
+    return remember(app) { AppPermissionSummaryRepository(context, app).flow }
 }
 
-class AppPermissionSummaryLiveData(
+class AppPermissionSummaryRepository(
     private val context: Context,
     private val app: ApplicationInfo,
-) : LiveData<AppPermissionSummaryState>() {
+) {
     private val userContext = context.asUser(app.userHandle)
-    private val userPackageManager = userContext.packageManager
 
-    private val onPermissionsChangedListener = OnPermissionsChangedListener { uid ->
-        if (uid == app.uid) update()
-    }
+    val flow = context.permissionsChangedFlow(app)
+        .map { getPermissionSummary() }
+        .flowOn(Dispatchers.Default)
 
-    override fun onActive() {
-        userPackageManager.addOnPermissionsChangeListener(onPermissionsChangedListener)
-        update()
-    }
-
-    override fun onInactive() {
-        userPackageManager.removeOnPermissionsChangeListener(onPermissionsChangedListener)
-    }
-
-    private fun update() {
+    private suspend fun getPermissionSummary() = suspendCancellableCoroutine { continuation ->
         PermissionsSummaryHelper.getPermissionSummary(
-            userContext, app.packageName, permissionsCallback
-        )
-    }
-
-    private val permissionsCallback = object : PermissionsResultCallback {
-        override fun onPermissionSummaryResult(
-            requestedPermissionCount: Int,
+            userContext,
+            app.packageName,
+        ) { requestedPermissionCount: Int,
             additionalGrantedPermissionCount: Int,
-            grantedGroupLabels: List<CharSequence>,
-        ) {
-            if (requestedPermissionCount == 0) {
-                postValue(noPermissionRequestedState())
-                return
-            }
-            val labels = getDisplayLabels(additionalGrantedPermissionCount, grantedGroupLabels)
-            val summary = if (labels.isNotEmpty()) {
-                ListFormatter.getInstance().format(labels)
+            grantedGroupLabels: List<CharSequence> ->
+            val summaryState = if (requestedPermissionCount == 0) {
+                noPermissionRequestedState()
             } else {
-                context.getString(R.string.runtime_permissions_summary_no_permissions_granted)
+                val labels = getDisplayLabels(additionalGrantedPermissionCount, grantedGroupLabels)
+                val summary = if (labels.isNotEmpty()) {
+                    ListFormatter.getInstance().format(labels)
+                } else {
+                    context.getString(R.string.runtime_permissions_summary_no_permissions_granted)
+                }
+                AppPermissionSummaryState(summary = summary, enabled = true)
             }
-            postValue(AppPermissionSummaryState(summary = summary, enabled = true))
+            continuation.resume(summaryState)
         }
     }
 
@@ -96,15 +86,14 @@
     private fun getDisplayLabels(
         additionalGrantedPermissionCount: Int,
         grantedGroupLabels: List<CharSequence>,
-    ): List<CharSequence> = when (additionalGrantedPermissionCount) {
-        0 -> grantedGroupLabels
-        else -> {
-            grantedGroupLabels +
-                // N additional permissions.
-                context.formatString(
-                    R.string.runtime_permissions_additional_count,
-                    "count" to additionalGrantedPermissionCount,
-                )
-        }
+    ): List<CharSequence> = if (additionalGrantedPermissionCount == 0) {
+        grantedGroupLabels
+    } else {
+        grantedGroupLabels +
+            // N additional permissions.
+            context.formatString(
+                R.string.runtime_permissions_additional_count,
+                "count" to additionalGrantedPermissionCount,
+            )
     }
 }
diff --git a/src/com/android/settings/spa/app/appinfo/AppRestoreButton.kt b/src/com/android/settings/spa/app/appinfo/AppRestoreButton.kt
new file mode 100644
index 0000000..bf46e95
--- /dev/null
+++ b/src/com/android/settings/spa/app/appinfo/AppRestoreButton.kt
@@ -0,0 +1,155 @@
+/*
+ * 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.spa.app.appinfo
+
+import android.app.PendingIntent
+import android.content.Intent
+import android.content.IntentFilter
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageInstaller
+import android.os.UserHandle
+import android.util.Log
+import android.widget.Toast
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.CloudDownload
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.android.settings.R
+import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settingslib.spaprivileged.framework.compose.DisposableBroadcastReceiverAsUser
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Job
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.isActive
+import kotlinx.coroutines.launch
+
+class AppRestoreButton(packageInfoPresenter: PackageInfoPresenter) {
+    private companion object {
+        private const val LOG_TAG = "AppRestoreButton"
+        private const val INTENT_ACTION = "com.android.settings.unarchive.action"
+    }
+
+    private val context = packageInfoPresenter.context
+    private val userPackageManager = packageInfoPresenter.userPackageManager
+    private val packageInstaller = userPackageManager.packageInstaller
+    private val packageName = packageInfoPresenter.packageName
+    private val userHandle = UserHandle.of(packageInfoPresenter.userId)
+    private var broadcastReceiverIsCreated = false
+    private lateinit var coroutineScope: CoroutineScope
+    private lateinit var updateButtonTextJob: Job
+    private val buttonTexts = intArrayOf(
+        R.string.restore,
+        R.string.restoring_step_one,
+        R.string.restoring_step_two,
+        R.string.restoring_step_three,
+        R.string.restoring_step_four,
+    )
+    private var buttonTextIndexStateFlow = MutableStateFlow(0)
+
+    @Composable
+    fun getActionButton(app: ApplicationInfo): ActionButton {
+        if (!broadcastReceiverIsCreated) {
+            val intentFilter = IntentFilter(INTENT_ACTION)
+            DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
+                if (app.packageName == intent.getStringExtra(PackageInstaller.EXTRA_PACKAGE_NAME)) {
+                    onReceive(intent, app)
+                }
+            }
+            broadcastReceiverIsCreated = true
+        }
+        coroutineScope = rememberCoroutineScope()
+        if (app.isArchived && ::updateButtonTextJob.isInitialized && !updateButtonTextJob.isActive) {
+            buttonTextIndexStateFlow.value = 0
+        }
+        return ActionButton(
+            text = context.getString(
+                buttonTexts[
+                    buttonTextIndexStateFlow.asStateFlow().collectAsStateWithLifecycle(0).value]
+            ),
+            imageVector = Icons.Outlined.CloudDownload,
+            enabled = app.isArchived && (!::updateButtonTextJob.isInitialized || !updateButtonTextJob.isActive)
+        ) { onRestoreClicked(app) }
+    }
+
+    private fun onRestoreClicked(app: ApplicationInfo) {
+        val intent = Intent(INTENT_ACTION)
+        intent.setPackage(context.packageName)
+        val pendingIntent = PendingIntent.getBroadcastAsUser(
+            context, 0, intent,
+            // FLAG_MUTABLE is required by PackageInstaller#requestUnarchive
+            PendingIntent.FLAG_ONE_SHOT or PendingIntent.FLAG_MUTABLE,
+            userHandle
+        )
+        try {
+            packageInstaller.requestUnarchive(app.packageName, pendingIntent.intentSender)
+        } catch (e: Exception) {
+            Log.e(LOG_TAG, "Request unarchive failed", e)
+            Toast.makeText(
+                context,
+                context.getString(R.string.restoring_failed),
+                Toast.LENGTH_SHORT
+            ).show()
+        }
+    }
+
+    private fun onReceive(intent: Intent, app: ApplicationInfo) {
+        when (val unarchiveStatus =
+            intent.getIntExtra(PackageInstaller.EXTRA_UNARCHIVE_STATUS, Int.MIN_VALUE)) {
+            PackageInstaller.UNARCHIVAL_OK -> {
+                // updateButtonTextJob will be canceled automatically once
+                // AppButtonsPresenter#getActionButtons is triggered
+                updateButtonTextJob = coroutineScope.launch {
+                    while (isActive) {
+                        var index = buttonTextIndexStateFlow.value
+                        index = (index + 1) % buttonTexts.size
+                        // The initial state shouldn't be used here
+                        if (index == 0) index++
+                        buttonTextIndexStateFlow.emit(index)
+                        delay(1000)
+                    }
+                }
+                val appLabel = userPackageManager.getApplicationLabel(app)
+                Toast.makeText(
+                    context,
+                    context.getString(R.string.restoring_in_progress, appLabel),
+                    Toast.LENGTH_SHORT
+                ).show()
+            }
+
+            else -> {
+                Log.e(
+                    LOG_TAG,
+                    "Request unarchiving failed for $packageName with code $unarchiveStatus"
+                )
+                val errorDialogIntent =
+                    intent.getParcelableExtra(Intent.EXTRA_INTENT, Intent::class.java)
+                if (errorDialogIntent != null) {
+                    context.startActivityAsUser(errorDialogIntent, userHandle)
+                } else {
+                    Toast.makeText(
+                        context,
+                        context.getString(R.string.restoring_failed),
+                        Toast.LENGTH_SHORT
+                    ).show()
+                }
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt
index 09957ca..c2bee59 100644
--- a/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppSettingsPreference.kt
@@ -27,9 +27,8 @@
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
+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.model.app.resolveActionForApp
@@ -44,7 +43,6 @@
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.plus
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun AppSettingsPreference(app: ApplicationInfo) {
     val context = LocalContext.current
@@ -78,7 +76,7 @@
     }
 
     private fun startActivity(activityInfo: ActivityInfo) {
-        FeatureFactory.getFactory(context).metricsFeatureProvider.action(
+        featureFactory.metricsFeatureProvider.action(
             SettingsEnums.PAGE_UNKNOWN,
             SettingsEnums.ACTION_OPEN_APP_SETTING,
             AppInfoSettingsProvider.METRICS_CATEGORY,
diff --git a/src/com/android/settings/spa/app/appinfo/AppStoragePreference.kt b/src/com/android/settings/spa/app/appinfo/AppStoragePreference.kt
index e8b1018..2b96454 100644
--- a/src/com/android/settings/spa/app/appinfo/AppStoragePreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppStoragePreference.kt
@@ -19,9 +19,6 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.State
-import androidx.compose.runtime.derivedStateOf
-import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
 import com.android.settings.R
@@ -47,12 +44,13 @@
 }
 
 @Composable
-private fun getSummary(context: Context, app: ApplicationInfo): State<String> {
+private fun getSummary(context: Context, app: ApplicationInfo): () -> String {
     val sizeState = app.getStorageSize()
-    return remember {
-        derivedStateOf {
-            val size = sizeState.value
-            if (size.isBlank()) return@derivedStateOf context.getString(R.string.computing_size)
+    return {
+        val size = sizeState.value
+        if (size.isBlank()) {
+            context.getString(R.string.computing_size)
+        } else {
             val storageType = context.getString(
                 when (app.hasFlag(ApplicationInfo.FLAG_EXTERNAL_STORAGE)) {
                     true -> R.string.storage_type_external
diff --git a/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt b/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt
index 1ef8936..837df67 100644
--- a/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppTimeSpentPreference.kt
@@ -22,14 +22,14 @@
 import android.content.pm.PackageManager.ResolveInfoFlags
 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 com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
-import com.android.settingslib.spa.framework.compose.stateOf
+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.model.app.hasFlag
@@ -40,15 +40,16 @@
 @Composable
 fun AppTimeSpentPreference(app: ApplicationInfo) {
     val context = LocalContext.current
-    val presenter = remember { AppTimeSpentPresenter(context, app) }
+    val presenter = remember(app) { AppTimeSpentPresenter(context, app) }
     if (!presenter.isAvailable()) return
 
+    val summary by presenter.summaryLiveData.observeAsState(
+        initial = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.time_spent_in_app_pref_title)
-        override val summary = presenter.summaryLiveData.observeAsState(
-            initial = stringResource(R.string.summary_placeholder),
-        )
-        override val enabled = stateOf(presenter.isEnabled())
+        override val summary = { summary }
+        override val enabled = { presenter.isEnabled() }
         override val onClick = presenter::startActivity
     })
 }
@@ -60,8 +61,7 @@
     private val intent = Intent(Settings.ACTION_APP_USAGE_SETTINGS).apply {
         putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName)
     }
-    private val appFeatureProvider = FeatureFactory.getFactory(context)
-        .getApplicationFeatureProvider(context)
+    private val appFeatureProvider = featureFactory.applicationFeatureProvider
 
     fun isAvailable() = context.packageManager.queryIntentActivitiesAsUser(
         intent, ResolveInfoFlags.of(0), app.userId
diff --git a/src/com/android/settings/spa/app/appinfo/AppUninstallButton.kt b/src/com/android/settings/spa/app/appinfo/AppUninstallButton.kt
index 6b3535b..ce72840 100644
--- a/src/com/android/settings/spa/app/appinfo/AppUninstallButton.kt
+++ b/src/com/android/settings/spa/app/appinfo/AppUninstallButton.kt
@@ -18,83 +18,44 @@
 
 import android.app.settings.SettingsEnums
 import android.content.Intent
-import android.content.om.OverlayManager
 import android.content.pm.ApplicationInfo
 import android.os.UserHandle
 import android.os.UserManager
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.remember
 import androidx.compose.ui.graphics.vector.ImageVector
 import androidx.compose.ui.res.vectorResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
-import com.android.settings.Utils
 import com.android.settings.applications.specialaccess.deviceadmin.DeviceAdminAdd
 import com.android.settingslib.spa.widget.button.ActionButton
-import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
-import com.android.settingslib.spaprivileged.model.app.hasFlag
 import com.android.settingslib.spaprivileged.model.app.isActiveAdmin
 import com.android.settingslib.spaprivileged.model.app.userHandle
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOn
 
 class AppUninstallButton(private val packageInfoPresenter: PackageInfoPresenter) {
     private val context = packageInfoPresenter.context
     private val appButtonRepository = AppButtonRepository(context)
-    private val overlayManager = context.getSystemService(OverlayManager::class.java)!!
     private val userManager = context.getSystemService(UserManager::class.java)!!
 
     @Composable
     fun getActionButton(app: ApplicationInfo): ActionButton? {
         if (app.isSystemApp || app.isInstantApp) return null
-        return uninstallButton(app = app, enabled = isUninstallButtonEnabled(app))
+        return uninstallButton(app)
     }
 
-    /** Gets whether a package can be uninstalled. */
-    private fun isUninstallButtonEnabled(app: ApplicationInfo): Boolean = when {
-        !app.hasFlag(ApplicationInfo.FLAG_INSTALLED) -> false
-
-        Utils.isProfileOrDeviceOwner(
-            context.devicePolicyManager, app.packageName, packageInfoPresenter.userId) -> false
-
-        appButtonRepository.isDisallowControl(app) -> false
-
-        uninstallDisallowedDueToHomeApp(app.packageName) -> false
-
-        // Resource overlays can be uninstalled iff they are public (installed on /data) and
-        // disabled. ("Enabled" means they are in use by resource management.)
-        app.isEnabledResourceOverlay() -> false
-
-        else -> true
-    }
-
-    /**
-     * Checks whether the given package cannot be uninstalled due to home app restrictions.
-     *
-     * Home launcher apps need special handling, we can't allow uninstallation of the only home
-     * app, and we don't want to allow uninstallation of an explicitly preferred one -- the user
-     * can go to Home settings and pick a different one, after which we'll permit uninstallation
-     * of the now-not-default one.
-     */
-    private fun uninstallDisallowedDueToHomeApp(packageName: String): Boolean {
-        val homePackageInfo = appButtonRepository.getHomePackageInfo()
-        return when {
-            packageName !in homePackageInfo.homePackages -> false
-
-            // Disallow uninstall when this is the only home app.
-            homePackageInfo.homePackages.size == 1 -> true
-
-            // Disallow if this is the explicit default home app.
-            else -> packageName == homePackageInfo.currentDefaultHome?.packageName
-        }
-    }
-
-    private fun ApplicationInfo.isEnabledResourceOverlay(): Boolean =
-        isResourceOverlay &&
-            overlayManager.getOverlayInfo(packageName, userHandle)?.isEnabled == true
-
     @Composable
-    private fun uninstallButton(app: ApplicationInfo, enabled: Boolean) = ActionButton(
+    private fun uninstallButton(app: ApplicationInfo) = ActionButton(
         text = if (isCloneApp(app)) context.getString(R.string.delete) else
             context.getString(R.string.uninstall_text),
         imageVector = ImageVector.vectorResource(R.drawable.ic_settings_delete),
-        enabled = enabled,
+        enabled = remember(app) {
+            flow {
+                emit(appButtonRepository.isAllowUninstallOrArchive(context, app))
+            }.flowOn(Dispatchers.Default)
+        }.collectAsStateWithLifecycle(false).value,
     ) { onUninstallClicked(app) }
 
     private fun onUninstallClicked(app: ApplicationInfo) {
diff --git a/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt b/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt
index 982c974..c8e8d35 100644
--- a/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt
+++ b/src/com/android/settings/spa/app/appinfo/CloneAppInfoSettings.kt
@@ -23,13 +23,11 @@
 import androidx.compose.runtime.rememberCoroutineScope
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.navigation.NavType
 import androidx.navigation.navArgument
 import com.android.settings.R
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
-import com.android.settingslib.spa.framework.compose.LifecycleEffect
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
 import com.android.settingslib.spaprivileged.model.app.toRoute
 import com.android.settingslib.spaprivileged.template.app.AppInfoProvider
@@ -55,7 +53,7 @@
             PackageInfoPresenter(context, packageName, userId, coroutineScope)
         }
         CloneAppInfoSettings(packageInfoPresenter)
-        packageInfoPresenter.PackageRemoveDetector()
+        packageInfoPresenter.PackageFullyRemovedEffect()
     }
 
     @Composable
@@ -69,10 +67,8 @@
     fun getRoute(packageName: String, userId: Int): String = "$name/$packageName/$userId"
 }
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 private fun CloneAppInfoSettings(packageInfoPresenter: PackageInfoPresenter) {
-    LifecycleEffect(onStart = { packageInfoPresenter.reloadPackageInfo() })
     val packageInfo = packageInfoPresenter.flow.collectAsStateWithLifecycle().value ?: return
     RegularScaffold(
             title = stringResource(R.string.application_info_label),
diff --git a/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt b/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
index 0fb4373..ddc7e17 100644
--- a/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
+++ b/src/com/android/settings/spa/app/appinfo/ClonePageAppButtons.kt
@@ -22,7 +22,6 @@
 import androidx.compose.material.icons.outlined.WarningAmber
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.remember
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settingslib.spa.widget.button.ActionButton
@@ -39,11 +38,10 @@
     private val appCreateButton = AppCreateButton(packageInfoPresenter)
     private val appForceStopButton = FakeAppForceStopButton(packageInfoPresenter)
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
     fun getActionButtons() =
         packageInfoPresenter.flow.collectAsStateWithLifecycle(initialValue = null).value?.let {
-            getActionButtons(it.applicationInfo)
+            getActionButtons(checkNotNull(it.applicationInfo))
         } ?: emptyList()
 
     @Composable
diff --git a/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt b/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt
index fa7e089..51f6845 100644
--- a/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/DefaultAppShortcutPreference.kt
@@ -22,11 +22,11 @@
 import android.content.pm.ApplicationInfo
 import androidx.annotation.StringRes
 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.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import androidx.lifecycle.liveData
 import com.android.settings.R
@@ -49,7 +49,6 @@
     @StringRes val titleResId: Int,
 )
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun DefaultAppShortcutPreference(shortcut: DefaultAppShortcut, app: ApplicationInfo) {
     val context = LocalContext.current
@@ -59,11 +58,12 @@
     if (remember(presenter) { !presenter.isAvailable() }) return
     if (presenter.isVisible().observeAsState().value != true) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(shortcut.titleResId)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
+        override val summary = { summary }
         override val onClick = presenter::startActivity
     })
 }
diff --git a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
index d981067..86d7f44 100644
--- a/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreference.kt
@@ -22,22 +22,23 @@
 import android.app.AppOpsManager.OP_AUTO_REVOKE_PERMISSIONS_IF_UNUSED
 import android.content.Context
 import android.content.pm.ApplicationInfo
+import android.content.pm.Flags as PmFlags
 import android.os.Build
+import android.os.SystemProperties
 import android.permission.PermissionControllerManager.HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM
 import android.permission.PermissionControllerManager.HIBERNATION_ELIGIBILITY_UNKNOWN
 import android.provider.DeviceConfig
 import android.provider.DeviceConfig.NAMESPACE_APP_HIBERNATION
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.derivedStateOf
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.Utils.PROPERTY_APP_HIBERNATION_ENABLED
 import com.android.settings.Utils.PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS
+import com.android.settings.flags.Flags
 import com.android.settingslib.spa.framework.compose.OverridableFlow
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
-import androidx.lifecycle.compose.collectAsStateWithLifecycle
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.widget.preference.SwitchPreference
 import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
 import com.android.settingslib.spaprivileged.framework.common.appHibernationManager
@@ -45,37 +46,56 @@
 import com.android.settingslib.spaprivileged.framework.common.asUser
 import com.android.settingslib.spaprivileged.framework.common.permissionControllerManager
 import com.android.settingslib.spaprivileged.model.app.userHandle
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.asExecutor
-import kotlinx.coroutines.flow.flow
-import kotlinx.coroutines.withContext
 import kotlin.coroutines.resume
 import kotlin.coroutines.suspendCoroutine
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.withContext
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
-fun HibernationSwitchPreference(app: ApplicationInfo) {
+fun HibernationSwitchPreference(
+    app: ApplicationInfo,
+    isHibernationSwitchEnabledStateFlow: MutableStateFlow<Boolean>
+) {
     val context = LocalContext.current
-    val presenter = remember { HibernationSwitchPresenter(context, app) }
+    val presenter = remember(app) { HibernationSwitchPresenter(context, app) }
     if (!presenter.isAvailable()) return
 
-    val isEligibleState = presenter.isEligibleFlow.collectAsStateWithLifecycle(initialValue = false)
+    val isEligibleState by presenter.isEligibleFlow.collectAsStateWithLifecycle(initialValue = false)
     val isCheckedState = presenter.isCheckedFlow.collectAsStateWithLifecycle(initialValue = null)
     SwitchPreference(remember {
         object : SwitchPreferenceModel {
-            override val title = context.getString(R.string.unused_apps_switch)
-            override val summary = stateOf(context.getString(R.string.unused_apps_switch_summary))
-            override val changeable = isEligibleState
-
-            override val checked = derivedStateOf {
-                if (!changeable.value) false else isCheckedState.value
+            override val title =
+                if (isArchivingEnabled())
+                    context.getString(R.string.unused_apps_switch_v2)
+                else
+                    context.getString(R.string.unused_apps_switch)
+            override val summary = {
+                if (isArchivingEnabled())
+                    context.getString(R.string.unused_apps_switch_summary_v2)
+                else
+                    context.getString(R.string.unused_apps_switch_summary)
             }
-
+            override val changeable = { isEligibleState }
+            override val checked = {
+                val result = if (changeable()) isCheckedState.value else false
+                result.also { isChecked ->
+                    isChecked?.let {
+                        isHibernationSwitchEnabledStateFlow.value = it
+                    }
+                }
+            }
             override val onCheckedChange = presenter::onCheckedChange
         }
     })
 }
 
+private fun isArchivingEnabled() =
+        PmFlags.archiving() || SystemProperties.getBoolean("pm.archiving.enabled", false)
+                || Flags.appArchiving()
+
 private class HibernationSwitchPresenter(context: Context, private val app: ApplicationInfo) {
     private val appOpsManager = context.appOpsManager
     private val permissionControllerManager =
@@ -87,6 +107,10 @@
         DeviceConfig.getBoolean(NAMESPACE_APP_HIBERNATION, PROPERTY_APP_HIBERNATION_ENABLED, true)
 
     val isEligibleFlow = flow {
+        if (app.isArchived) {
+            emit(false)
+            return@flow
+        }
         val eligibility = getEligibility()
         emit(
             eligibility != HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM &&
diff --git a/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt b/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt
index 0e93b56..9c3ec97 100644
--- a/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/InstantAppDomainsPreference.kt
@@ -32,10 +32,9 @@
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.Utils
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
-import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.framework.theme.SettingsDimension
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -46,7 +45,6 @@
 import kotlinx.coroutines.flow.flowOn
 import kotlinx.coroutines.flow.map
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun InstantAppDomainsPreference(app: ApplicationInfo) {
     val context = LocalContext.current
@@ -55,11 +53,12 @@
     val presenter = remember { InstantAppDomainsPresenter(context, app) }
     var openDialog by rememberSaveable { mutableStateOf(false) }
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.app_launch_supported_domain_urls_title)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
+        override val summary = { summary }
         override val onClick = { openDialog = true }
     })
 
diff --git a/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt b/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt
index 2430e73..905e057 100644
--- a/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt
+++ b/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreference.kt
@@ -19,14 +19,14 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
 import com.android.settings.applications.specialaccess.interactacrossprofiles.InteractAcrossProfilesDetails
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
-import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.framework.common.crossProfileApps
@@ -34,18 +34,18 @@
 import kotlinx.coroutines.flow.flow
 import kotlinx.coroutines.flow.flowOn
 
-@OptIn(ExperimentalLifecycleComposeApi::class)
 @Composable
 fun InteractAcrossProfilesDetailsPreference(app: ApplicationInfo) {
     val context = LocalContext.current
     val presenter = remember { InteractAcrossProfilesDetailsPresenter(context, app) }
     if (!presenter.isAvailableFlow.collectAsStateWithLifecycle(initialValue = false).value) return
 
+    val summary by presenter.summaryFlow.collectAsStateWithLifecycle(
+        initialValue = stringResource(R.string.summary_placeholder),
+    )
     Preference(object : PreferenceModel {
         override val title = stringResource(R.string.interact_across_profiles_title)
-        override val summary = presenter.summaryFlow.collectAsStateWithLifecycle(
-            initialValue = stringResource(R.string.summary_placeholder),
-        )
+        override val summary = { summary }
         override val onClick = presenter::startActivity
     })
 }
diff --git a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
index 52c8ad7..81abae5 100644
--- a/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
+++ b/src/com/android/settings/spa/app/appinfo/PackageInfoPresenter.kt
@@ -20,24 +20,36 @@
 import android.content.Context
 import android.content.Intent
 import android.content.IntentFilter
+import android.content.pm.FeatureFlags as PmFeatureFlags
+import android.content.pm.FeatureFlagsImpl as PmFeatureFlagsImpl
 import android.content.pm.PackageInfo
 import android.content.pm.PackageManager
 import android.os.UserHandle
 import android.util.Log
+import androidx.annotation.VisibleForTesting
 import androidx.compose.runtime.Composable
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.flags.FeatureFlags
+import com.android.settings.flags.FeatureFlagsImpl
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settings.spa.app.startUninstallActivity
 import com.android.settingslib.spa.framework.compose.LocalNavController
 import com.android.settingslib.spaprivileged.framework.common.activityManager
 import com.android.settingslib.spaprivileged.framework.common.asUser
+import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverAsUserFlow
 import com.android.settingslib.spaprivileged.framework.compose.DisposableBroadcastReceiverAsUser
 import com.android.settingslib.spaprivileged.model.app.IPackageManagers
 import com.android.settingslib.spaprivileged.model.app.PackageManagers
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.StateFlow
+import kotlinx.coroutines.flow.filter
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+import kotlinx.coroutines.flow.stateIn
 import kotlinx.coroutines.launch
+import kotlinx.coroutines.plus
 
 private const val TAG = "PackageInfoPresenter"
 
@@ -50,43 +62,59 @@
     val userId: Int,
     private val coroutineScope: CoroutineScope,
     private val packageManagers: IPackageManagers = PackageManagers,
+    private val featureFlags: PmFeatureFlags = PmFeatureFlagsImpl(),
 ) {
-    private val metricsFeatureProvider = FeatureFactory.getFactory(context).metricsFeatureProvider
+    private val metricsFeatureProvider = featureFactory.metricsFeatureProvider
     private val userHandle = UserHandle.of(userId)
     val userContext by lazy { context.asUser(userHandle) }
     val userPackageManager: PackageManager by lazy { userContext.packageManager }
-    private val _flow: MutableStateFlow<PackageInfo?> = MutableStateFlow(null)
 
-    val flow: StateFlow<PackageInfo?> = _flow
+    private val appChangeFlow = context.broadcastReceiverAsUserFlow(
+        intentFilter = IntentFilter().apply {
+            // App enabled / disabled
+            addAction(Intent.ACTION_PACKAGE_CHANGED)
 
-    fun reloadPackageInfo() {
-        coroutineScope.launch(Dispatchers.IO) {
-            _flow.value = getPackageInfo()
-        }
-    }
+            // App archived
+            addAction(Intent.ACTION_PACKAGE_REMOVED)
+
+            // App updated / the updates are uninstalled (system app)
+            addAction(Intent.ACTION_PACKAGE_REPLACED)
+
+            // App force-stopped
+            addAction(Intent.ACTION_PACKAGE_RESTARTED)
+
+            addDataScheme("package")
+        },
+        userHandle = userHandle,
+    ).filter(::isInterestedAppChange).filter(::isForThisApp)
+
+    @VisibleForTesting
+    fun isInterestedAppChange(intent: Intent) =
+        intent.action != Intent.ACTION_PACKAGE_REMOVED ||
+            intent.getBooleanExtra(Intent.EXTRA_ARCHIVAL, false)
+
+    val flow: StateFlow<PackageInfo?> = merge(flowOf(null), appChangeFlow)
+        .map { getPackageInfo() }
+        .stateIn(coroutineScope + Dispatchers.Default, SharingStarted.Eagerly, null)
 
     /**
-     * Detects the package removed event.
+     * Detects the package fully removed event, and close the current page.
      */
     @Composable
-    fun PackageRemoveDetector() {
-        val intentFilter = IntentFilter(Intent.ACTION_PACKAGE_REMOVED).apply {
+    fun PackageFullyRemovedEffect() {
+        val intentFilter = IntentFilter(Intent.ACTION_PACKAGE_FULLY_REMOVED).apply {
             addDataScheme("package")
         }
         val navController = LocalNavController.current
         DisposableBroadcastReceiverAsUser(intentFilter, userHandle) { intent ->
-            if (packageName == intent.data?.schemeSpecificPart) {
-                val packageInfo = flow.value
-                if (packageInfo != null && packageInfo.applicationInfo.isSystemApp) {
-                    // System app still exists after uninstalling the updates, refresh the page.
-                    reloadPackageInfo()
-                } else {
-                    navController.navigateBack()
-                }
+            if (isForThisApp(intent)) {
+                navController.navigateBack()
             }
         }
     }
 
+    private fun isForThisApp(intent: Intent) = packageName == intent.data?.schemeSpecificPart
+
     /** Enables this package. */
     fun enable() {
         logAction(SettingsEnums.ACTION_SETTINGS_ENABLE_APP)
@@ -94,7 +122,6 @@
             userPackageManager.setApplicationEnabledSetting(
                 packageName, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0
             )
-            reloadPackageInfo()
         }
     }
 
@@ -105,7 +132,6 @@
             userPackageManager.setApplicationEnabledSetting(
                 packageName, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, 0
             )
-            reloadPackageInfo()
         }
     }
 
@@ -120,7 +146,6 @@
         logAction(SettingsEnums.ACTION_SETTINGS_CLEAR_INSTANT_APP)
         coroutineScope.launch(Dispatchers.IO) {
             userPackageManager.deletePackageAsUser(packageName, null, 0, userId)
-            reloadPackageInfo()
         }
     }
 
@@ -130,7 +155,6 @@
         coroutineScope.launch(Dispatchers.Default) {
             Log.d(TAG, "Stopping package $packageName")
             context.activityManager.forceStopPackageAsUser(packageName, userId)
-            reloadPackageInfo()
         }
     }
 
@@ -138,12 +162,13 @@
         metricsFeatureProvider.action(context, category, packageName)
     }
 
-    private fun getPackageInfo() =
+    private fun getPackageInfo(): PackageInfo? =
         packageManagers.getPackageInfoAsUser(
             packageName = packageName,
-            flags = PackageManager.MATCH_ANY_USER or
-                PackageManager.MATCH_DISABLED_COMPONENTS or
-                PackageManager.GET_PERMISSIONS,
+            flags = PackageManager.MATCH_ANY_USER.toLong() or
+                PackageManager.MATCH_DISABLED_COMPONENTS.toLong() or
+                PackageManager.GET_PERMISSIONS.toLong() or
+                if (isArchivingEnabled(featureFlags)) PackageManager.MATCH_ARCHIVED_PACKAGES else 0,
             userId = userId,
         )
 }
diff --git a/src/com/android/settings/spa/app/appinfo/TopBarAppLaunchButton.kt b/src/com/android/settings/spa/app/appinfo/TopBarAppLaunchButton.kt
new file mode 100644
index 0000000..92ad139
--- /dev/null
+++ b/src/com/android/settings/spa/app/appinfo/TopBarAppLaunchButton.kt
@@ -0,0 +1,59 @@
+/*
+ * 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.spa.app.appinfo
+
+import android.content.ActivityNotFoundException
+import android.content.Intent
+import android.content.pm.ApplicationInfo
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.outlined.Launch
+import androidx.compose.material3.Icon
+import androidx.compose.material3.IconButton
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settingslib.spaprivileged.model.app.userHandle
+
+@Composable
+fun TopBarAppLaunchButton(packageInfoPresenter: PackageInfoPresenter, app: ApplicationInfo) {
+    val intent = packageInfoPresenter.launchIntent(app = app) ?: return
+    IconButton({ launchButtonAction(intent, app, packageInfoPresenter) }) {
+        Icon(
+            imageVector = Icons.AutoMirrored.Outlined.Launch,
+            contentDescription = stringResource(R.string.launch_instant_app),
+        )
+    }
+}
+
+private fun PackageInfoPresenter.launchIntent(
+    app: ApplicationInfo
+): Intent? {
+    return userPackageManager.getLaunchIntentForPackage(app.packageName)
+}
+
+private fun launchButtonAction(
+    intent: Intent,
+    app: ApplicationInfo,
+    packageInfoPresenter: PackageInfoPresenter
+) {
+    try {
+        packageInfoPresenter.context.startActivityAsUser(intent, app.userHandle)
+    } catch (_: ActivityNotFoundException) {
+        // Only happens after package changes like uninstall, and before page auto refresh or
+        // close, so ignore this exception is safe.
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt b/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt
index 6e0643b..89f473b 100644
--- a/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt
+++ b/src/com/android/settings/spa/app/backgroundinstall/BackgroundInstalledAppsPageProvider.kt
@@ -32,6 +32,7 @@
 import androidx.compose.material.icons.outlined.Delete
 import androidx.compose.runtime.Composable
 import androidx.compose.runtime.State
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.produceState
 import androidx.compose.ui.Modifier
 import androidx.compose.ui.platform.LocalContext
@@ -88,9 +89,10 @@
     @Composable
     fun EntryItem() {
         if(featureIsDisabled) return
+        val summary by generatePreferenceSummary()
         Preference(object : PreferenceModel {
             override val title = stringResource(R.string.background_install_title)
-            override val summary = generatePreferenceSummary()
+            override val summary = { summary }
             override val onClick = navigator(name)
         })
     }
diff --git a/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt b/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt
new file mode 100644
index 0000000..f077506
--- /dev/null
+++ b/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProvider.kt
@@ -0,0 +1,163 @@
+/*
+ * 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.app.battery
+
+import android.app.AppOpsManager
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.os.Bundle
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.res.stringResource
+import androidx.core.os.bundleOf
+import com.android.settings.R
+import com.android.settings.Utils
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.fuelgauge.AdvancedPowerUsageDetail
+import com.android.settings.fuelgauge.BatteryOptimizeUtils
+import com.android.settings.spa.app.AppRecordWithSize
+import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
+import com.android.settings.spa.app.rememberResetAppDialogPresenter
+import com.android.settingslib.fuelgauge.PowerAllowlistBackend
+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.filterItem
+import com.android.settingslib.spa.framework.util.mapItem
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.ui.SpinnerOption
+import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder
+import com.android.settingslib.spaprivileged.model.app.AppListModel
+import com.android.settingslib.spaprivileged.model.app.installed
+import com.android.settingslib.spaprivileged.model.app.userHandle
+import com.android.settingslib.spaprivileged.template.app.AppList
+import com.android.settingslib.spaprivileged.template.app.AppListInput
+import com.android.settingslib.spaprivileged.template.app.AppListItem
+import com.android.settingslib.spaprivileged.template.app.AppListItemModel
+import com.android.settingslib.spaprivileged.template.app.AppListPage
+import kotlinx.coroutines.flow.Flow
+
+object BatteryOptimizationModeAppListPageProvider : SettingsPageProvider {
+    override val name = "BatteryOptimizationModeAppList"
+    private val owner = createSettingsPage()
+
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        BatteryOptimizationModeAppList()
+    }
+
+    fun buildInjectEntry() = SettingsEntryBuilder
+        .createInject(owner)
+        .setSearchDataFn { null }
+        .setUiLayoutFn {
+            Preference(object : PreferenceModel {
+                override val title = stringResource(R.string.app_battery_usage_title)
+                override val onClick = navigator(name)
+            })
+        }
+}
+
+@Composable
+fun BatteryOptimizationModeAppList(
+    appList: @Composable AppListInput<AppRecordWithSize>.() -> Unit = { AppList() },
+) {
+    AppListPage(
+        title = stringResource(R.string.app_battery_usage_title),
+        listModel = rememberContext(::BatteryOptimizationModeAppListModel),
+        appList = appList,
+    )
+}
+
+class BatteryOptimizationModeAppListModel(
+    private val context: Context,
+) : AppListModel<AppRecordWithSize> {
+
+    override fun getSpinnerOptions(recordList: List<AppRecordWithSize>): List<SpinnerOption> =
+        OptimizationModeSpinnerItem.entries.map {
+            SpinnerOption(
+                id = it.ordinal,
+                text = context.getString(it.stringResId),
+            )
+        }
+
+    override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
+        appListFlow.mapItem(::AppRecordWithSize)
+
+    override fun filter(
+        userIdFlow: Flow<Int>,
+        option: Int,
+        recordListFlow: Flow<List<AppRecordWithSize>>,
+    ): Flow<List<AppRecordWithSize>> {
+        PowerAllowlistBackend.getInstance(context).refreshList()
+        return recordListFlow.filterItem {
+            val appOptimizationMode = BatteryOptimizeUtils(context, it.app.uid, it.app.packageName)
+                .getAppOptimizationMode(/* refreshList */ false);
+            when (OptimizationModeSpinnerItem.entries.getOrNull(option)) {
+                OptimizationModeSpinnerItem.Restricted ->
+                    appOptimizationMode == BatteryOptimizeUtils.MODE_RESTRICTED
+                OptimizationModeSpinnerItem.Optimized ->
+                    appOptimizationMode == BatteryOptimizeUtils.MODE_OPTIMIZED
+                OptimizationModeSpinnerItem.Unrestricted ->
+                    appOptimizationMode == BatteryOptimizeUtils.MODE_UNRESTRICTED
+                else -> (true)
+            }
+        }
+    }
+
+    @Composable
+    override fun getSummary(option: Int, record: AppRecordWithSize): () -> String = {
+        var summary = String()
+        val app = record.app
+        when {
+            !app.installed && !app.isArchived -> {
+                summary += context.getString(R.string.not_installed)
+            }
+
+            !app.enabled -> {
+                summary += context.getString(com.android.settingslib.R.string.disabled)
+            }
+        }
+        summary
+    }
+
+    @Composable
+    override fun AppListItemModel<AppRecordWithSize>.AppItem() {
+        AppListItem(onClick = {
+            val args = bundleOf(
+                AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME to record.app.packageName,
+                AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT to Utils.formatPercentage(0),
+                AdvancedPowerUsageDetail.EXTRA_UID to record.app.uid,
+            )
+            SubSettingLauncher(context)
+                .setDestination(AdvancedPowerUsageDetail::class.java.name)
+                .setTitleRes(R.string.battery_details_title)
+                .setArguments(args)
+                .setUserHandle(record.app.userHandle)
+                .setSourceMetricsCategory(AppInfoSettingsProvider.METRICS_CATEGORY)
+                .launch()
+        })
+    }
+}
+
+private enum class OptimizationModeSpinnerItem(val stringResId: Int) {
+    All(R.string.filter_all_apps),
+    Restricted(R.string.filter_battery_restricted_title),
+    Optimized(R.string.filter_battery_optimized_title),
+    Unrestricted(R.string.filter_battery_unrestricted_title);
+}
diff --git a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
index 527c6d9..2b8d12d 100644
--- a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
+++ b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersAppList.kt
@@ -18,16 +18,17 @@
 
 import android.Manifest
 import android.app.AlarmManager
+import android.app.AppOpsManager
 import android.app.compat.CompatChanges
 import android.app.settings.SettingsEnums
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.os.PowerExemptionManager
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.livedata.observeAsState
-import com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
-import com.android.settingslib.spa.framework.compose.stateOf
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.R
+import com.android.settingslib.spa.lifecycle.collectAsCallbackWithLifecycle
+import com.android.settingslib.spaprivileged.model.app.AppOpsController
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.IPackageManagers
 import com.android.settingslib.spaprivileged.model.app.PackageManagers
@@ -47,7 +48,7 @@
     override val app: ApplicationInfo,
     val isTrumped: Boolean,
     val isChangeable: Boolean,
-    var controller: AlarmsAndRemindersController,
+    var controller: AppOpsController,
 ) : AppRecord
 
 class AlarmsAndRemindersAppListModel(
@@ -57,6 +58,7 @@
     override val pageTitleResId = R.string.alarms_and_reminders_title
     override val switchTitleResId = R.string.alarms_and_reminders_switch_title
     override val footerResId = R.string.alarms_and_reminders_footer_title
+    override val enhancedConfirmationKey: String = AppOpsManager.OPSTR_SCHEDULE_EXACT_ALARM
 
     override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
         userIdFlow.map { userId ->
@@ -79,9 +81,10 @@
     }
 
     @Composable
-    override fun isAllowed(record: AlarmsAndRemindersAppRecord) =
-        if (record.isTrumped) stateOf(true)
-        else record.controller.isAllowed.observeAsState()
+    override fun isAllowed(record: AlarmsAndRemindersAppRecord): () -> Boolean? = when {
+        record.isTrumped -> ({ true })
+        else -> record.controller.isAllowed.collectAsCallbackWithLifecycle()
+    }
 
     override fun isChangeable(record: AlarmsAndRemindersAppRecord) = record.isChangeable
 
@@ -91,7 +94,7 @@
     }
 
     private fun logPermissionChange(newAllowed: Boolean) {
-        FeatureFactory.getFactory(context).metricsFeatureProvider.action(
+        featureFactory.metricsFeatureProvider.action(
             SettingsEnums.PAGE_UNKNOWN,
             SettingsEnums.ACTION_ALARMS_AND_REMINDERS_TOGGLE,
             SettingsEnums.ALARMS_AND_REMINDERS,
@@ -110,7 +113,12 @@
             app = app,
             isTrumped = isTrumped,
             isChangeable = hasRequestPermission && !isTrumped,
-            controller = AlarmsAndRemindersController(context, app),
+            controller = AppOpsController(
+                context = context,
+                app = app,
+                op = AppOpsManager.OP_SCHEDULE_EXACT_ALARM,
+                setModeByUid = true,
+            ),
         )
     }
 
diff --git a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersController.kt b/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersController.kt
deleted file mode 100644
index bd40f45..0000000
--- a/src/com/android/settings/spa/app/specialaccess/AlarmsAndRemindersController.kt
+++ /dev/null
@@ -1,51 +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.spa.app.specialaccess
-
-import android.app.AppOpsManager
-import android.app.AppOpsManager.MODE_ALLOWED
-import android.app.AppOpsManager.MODE_ERRORED
-import android.content.Context
-import android.content.pm.ApplicationInfo
-import androidx.lifecycle.LiveData
-import androidx.lifecycle.MutableLiveData
-import com.android.settingslib.spaprivileged.framework.common.alarmManager
-import com.android.settingslib.spaprivileged.framework.common.appOpsManager
-import com.android.settingslib.spaprivileged.model.app.userId
-
-class AlarmsAndRemindersController(
-    context: Context,
-    private val app: ApplicationInfo,
-) {
-    private val alarmManager = context.alarmManager
-    private val appOpsManager = context.appOpsManager
-
-    val isAllowed: LiveData<Boolean>
-        get() = _allowed
-
-    fun setAllowed(allowed: Boolean) {
-        val mode = if (allowed) MODE_ALLOWED else MODE_ERRORED
-        appOpsManager.setUidMode(AppOpsManager.OP_SCHEDULE_EXACT_ALARM, app.uid, mode)
-        _allowed.postValue(allowed)
-    }
-
-    private val _allowed = object : MutableLiveData<Boolean>() {
-        override fun onActive() {
-            postValue(alarmManager.hasScheduleExactAlarm(app.packageName, app.userId))
-        }
-    }
-}
diff --git a/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt b/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt
index 16520fa..d82045d 100644
--- a/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt
+++ b/src/com/android/settings/spa/app/specialaccess/AllFilesAccess.kt
@@ -21,7 +21,7 @@
 import android.app.settings.SettingsEnums
 import android.content.Context
 import com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
 import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -49,6 +49,6 @@
             newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_ALLOW
             else -> SettingsEnums.APP_SPECIAL_PERMISSION_MANAGE_EXT_STRG_DENY
         }
-        FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "")
+        featureFactory.metricsFeatureProvider.action(context, category, "")
     }
 }
diff --git a/src/com/android/settings/spa/app/specialaccess/BackupTasksApps.kt b/src/com/android/settings/spa/app/specialaccess/BackupTasksApps.kt
new file mode 100644
index 0000000..d6d8fd4
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/BackupTasksApps.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.app.settings.SettingsEnums
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
+
+object BackupTasksAppsListProvider : TogglePermissionAppListProvider {
+    override val permissionType = "BackupTasksApps"
+    override fun createModel(context: Context) = BackupTasksAppsListModel(context)
+}
+
+class BackupTasksAppsListModel(context: Context) : AppOpPermissionListModel(context) {
+    override val pageTitleResId = R.string.run_backup_tasks_title
+    override val switchTitleResId = R.string.run_backup_tasks_switch_title
+    override val footerResId = R.string.run_backup_tasks_footer_title
+    override val appOp = AppOpsManager.OP_RUN_BACKUP_JOBS
+    override val permission = Manifest.permission.RUN_BACKUP_JOBS
+    override val setModeByUid = true
+
+    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
+        super.setAllowed(record, newAllowed)
+        logPermissionChange(newAllowed)
+    }
+
+    private fun logPermissionChange(newAllowed: Boolean) {
+        featureFactory.metricsFeatureProvider.action(
+            context,
+            SettingsEnums.ACTION_RUN_BACKUP_TASKS_TOGGLE,
+            if (newAllowed) 1 else 0
+        )
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsPreferenceController.kt b/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsPreferenceController.kt
new file mode 100644
index 0000000..8d6de4e
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsPreferenceController.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.app.specialaccess
+
+import android.content.Context
+import androidx.preference.Preference
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.flags.Flags
+import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+
+class BackupTasksAppsPreferenceController(context: Context, preferenceKey: String) :
+        BasePreferenceController(context, preferenceKey) {
+    override fun getAvailabilityStatus() =
+        if (Flags.enablePerformBackupTasksInSettings()) AVAILABLE
+        else CONDITIONALLY_UNAVAILABLE
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key == mPreferenceKey) {
+            mContext.startSpaActivity(BackupTasksAppsListProvider.getAppListRoute())
+            return true
+        }
+        return false
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt b/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt
index 7812675..26d7451 100644
--- a/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt
+++ b/src/com/android/settings/spa/app/specialaccess/DisplayOverOtherApps.kt
@@ -21,7 +21,7 @@
 import android.app.settings.SettingsEnums
 import android.content.Context
 import com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
 import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -48,6 +48,6 @@
             newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_ALLOW
             else -> SettingsEnums.APP_SPECIAL_PERMISSION_APPDRAW_DENY
         }
-        FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "")
+        featureFactory.metricsFeatureProvider.action(context, category, "")
     }
 }
diff --git a/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt b/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt
index 43add1f..3e9058f 100644
--- a/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt
+++ b/src/com/android/settings/spa/app/specialaccess/InstallUnknownApps.kt
@@ -18,14 +18,15 @@
 
 import android.Manifest
 import android.app.AppGlobals
+import android.app.AppOpsManager
 import android.app.AppOpsManager.MODE_DEFAULT
 import android.app.AppOpsManager.OP_REQUEST_INSTALL_PACKAGES
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.os.UserManager
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.livedata.observeAsState
 import com.android.settings.R
+import com.android.settingslib.spa.lifecycle.collectAsCallbackWithLifecycle
 import com.android.settingslib.spaprivileged.model.app.AppOpsController
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.userId
@@ -47,7 +48,7 @@
 
 class InstallUnknownAppsListModel(private val context: Context) :
     TogglePermissionAppListModel<InstallUnknownAppsRecord> {
-    override val pageTitleResId = R.string.install_other_apps
+    override val pageTitleResId = com.android.settingslib.R.string.install_other_apps
     override val switchTitleResId = R.string.external_source_switch_title
     override val footerResId = R.string.install_all_warning
     override val switchRestrictionKeys =
@@ -55,6 +56,7 @@
             UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES,
             UserManager.DISALLOW_INSTALL_UNKNOWN_SOURCES_GLOBALLY,
         )
+    override val enhancedConfirmationKey: String = AppOpsManager.OPSTR_REQUEST_INSTALL_PACKAGES
 
     override fun transformItem(app: ApplicationInfo) =
         InstallUnknownAppsRecord(
@@ -79,7 +81,7 @@
 
     @Composable
     override fun isAllowed(record: InstallUnknownAppsRecord) =
-        record.appOpsController.isAllowed.observeAsState()
+        record.appOpsController.isAllowed.collectAsCallbackWithLifecycle()
 
     override fun isChangeable(record: InstallUnknownAppsRecord) =
         isChangeable(record, getPotentialPackageNames(record.app.userId))
diff --git a/src/com/android/settings/spa/app/specialaccess/LongBackgroundTasksApps.kt b/src/com/android/settings/spa/app/specialaccess/LongBackgroundTasksApps.kt
new file mode 100644
index 0000000..3ba9b08
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/LongBackgroundTasksApps.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.app.settings.SettingsEnums
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
+
+object LongBackgroundTasksAppListProvider : TogglePermissionAppListProvider {
+    override val permissionType = "LongBackgroundTasksApps"
+    override fun createModel(context: Context) = LongBackgroundTasksAppsListModel(context)
+}
+
+class LongBackgroundTasksAppsListModel(context: Context) : AppOpPermissionListModel(context) {
+    override val pageTitleResId = R.string.long_background_tasks_title
+    override val switchTitleResId = R.string.long_background_tasks_switch_title
+    override val footerResId = R.string.long_background_tasks_footer_title
+    override val appOp = AppOpsManager.OP_RUN_USER_INITIATED_JOBS
+    override val permission = Manifest.permission.RUN_USER_INITIATED_JOBS
+    override val setModeByUid = true
+
+    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
+        super.setAllowed(record, newAllowed)
+        logPermissionChange(newAllowed)
+    }
+
+    private fun logPermissionChange(newAllowed: Boolean) {
+        featureFactory.metricsFeatureProvider.action(
+            context,
+            SettingsEnums.ACTION_LONG_BACKGROUND_TASKS_TOGGLE,
+            if (newAllowed) 1 else 0
+        )
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt b/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt
index e8935e6..3e3457c 100644
--- a/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt
+++ b/src/com/android/settings/spa/app/specialaccess/MediaManagementApps.kt
@@ -21,7 +21,7 @@
 import android.app.settings.SettingsEnums
 import android.content.Context
 import com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
 import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -45,7 +45,7 @@
     }
 
     private fun logPermissionChange(newAllowed: Boolean) {
-        FeatureFactory.getFactory(context).metricsFeatureProvider.action(
+        featureFactory.metricsFeatureProvider.action(
             SettingsEnums.PAGE_UNKNOWN,
             SettingsEnums.ACTION_MEDIA_MANAGEMENT_APPS_TOGGLE,
             SettingsEnums.MEDIA_MANAGEMENT_APPS,
diff --git a/src/com/android/settings/spa/app/specialaccess/MediaRoutingControl.kt b/src/com/android/settings/spa/app/specialaccess/MediaRoutingControl.kt
new file mode 100644
index 0000000..b9fb9b8
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/MediaRoutingControl.kt
@@ -0,0 +1,73 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.app.role.RoleManager
+import android.app.settings.SettingsEnums
+import android.companion.AssociationRequest
+import android.content.Context
+import com.android.media.flags.Flags;
+import com.android.settings.R
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
+
+object MediaRoutingControlAppListProvider : TogglePermissionAppListProvider {
+    override val permissionType = "MediaRoutingControl"
+    override fun createModel(context: Context) = MediaRoutingControlAppsListModel(context)
+}
+
+class MediaRoutingControlAppsListModel(context: Context) : AppOpPermissionListModel(context) {
+    override val pageTitleResId = R.string.media_routing_control_title
+    override val switchTitleResId = R.string.allow_media_routing_control
+    override val footerResId = R.string.allow_media_routing_description
+    override val appOp = AppOpsManager.OP_MEDIA_ROUTING_CONTROL
+    override val permission = Manifest.permission.MEDIA_ROUTING_CONTROL
+    override val setModeByUid = true
+    private val roleManager = context.getSystemService(RoleManager::class.java)
+
+    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
+        super.setAllowed(record, newAllowed)
+        logPermissionToggleAction(newAllowed)
+    }
+
+    override fun isChangeable(record: AppOpPermissionRecord): Boolean {
+        return Flags.enablePrivilegedRoutingForMediaRoutingControl()
+                && super.isChangeable(record)
+                && (this.roleManager?.getRoleHolders(AssociationRequest.DEVICE_PROFILE_WATCH)
+                ?.contains(record.app.packageName) == true)
+    }
+
+    private fun logPermissionToggleAction(newAllowed: Boolean) {
+        featureFactory.metricsFeatureProvider.action(
+                context,
+                SettingsEnums.MEDIA_ROUTING_CONTROL,
+                if (newAllowed)
+                    VALUE_LOGGING_ALLOWED
+                else
+                    VALUE_LOGGING_DENIED
+        )
+    }
+
+    companion object {
+        const val VALUE_LOGGING_ALLOWED = 1
+        const val VALUE_LOGGING_DENIED = 0
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt b/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt
index 668cc8c..4ab7f52 100644
--- a/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt
+++ b/src/com/android/settings/spa/app/specialaccess/ModifySystemSettings.kt
@@ -21,7 +21,7 @@
 import android.app.settings.SettingsEnums
 import android.content.Context
 import com.android.settings.R
-import com.android.settings.overlay.FeatureFactory
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
 import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
 import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
@@ -48,6 +48,6 @@
             newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
             else -> SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY
         }
-        FeatureFactory.getFactory(context).metricsFeatureProvider.action(context, category, "")
+        featureFactory.metricsFeatureProvider.action(context, category, "")
     }
 }
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt b/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt
index 3dede42..f02a6a1 100644
--- a/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt
+++ b/src/com/android/settings/spa/app/specialaccess/NfcTagAppsSettings.kt
@@ -23,8 +23,8 @@
 import android.nfc.NfcAdapter
 import android.util.Log
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.livedata.observeAsState
 import com.android.settings.R
+import com.android.settingslib.spa.livedata.observeAsCallback
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.userId
 import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListModel
@@ -100,7 +100,7 @@
 
     @Composable
     override fun isAllowed(record: NfcTagAppsSettingsRecord) =
-        record.controller.isAllowed.observeAsState()
+        record.controller.isAllowed.observeAsCallback()
 
     override fun isChangeable(record: NfcTagAppsSettingsRecord) = true
 
diff --git a/src/com/android/settings/spa/app/specialaccess/PictureInPicture.kt b/src/com/android/settings/spa/app/specialaccess/PictureInPicture.kt
index 5ed3615..7885b86 100644
--- a/src/com/android/settings/spa/app/specialaccess/PictureInPicture.kt
+++ b/src/com/android/settings/spa/app/specialaccess/PictureInPicture.kt
@@ -16,6 +16,7 @@
 
 package com.android.settings.spa.app.specialaccess
 
+import android.app.AppOpsManager
 import android.app.AppOpsManager.OP_PICTURE_IN_PICTURE
 import android.content.Context
 import android.content.pm.ActivityInfo
@@ -25,8 +26,8 @@
 import android.content.pm.PackageManager.PackageInfoFlags
 import android.util.Log
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.livedata.observeAsState
 import com.android.settings.R
+import com.android.settingslib.spa.lifecycle.collectAsCallbackWithLifecycle
 import com.android.settingslib.spaprivileged.model.app.AppOpsController
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import com.android.settingslib.spaprivileged.model.app.installed
@@ -53,6 +54,7 @@
     override val pageTitleResId = R.string.picture_in_picture_title
     override val switchTitleResId = R.string.picture_in_picture_app_detail_switch
     override val footerResId = R.string.picture_in_picture_app_detail_summary
+    override val enhancedConfirmationKey: String = AppOpsManager.OPSTR_PICTURE_IN_PICTURE
 
     private val packageManager = context.packageManager
 
@@ -90,7 +92,7 @@
 
     @Composable
     override fun isAllowed(record: PictureInPictureRecord) =
-        record.appOpsController.isAllowed.observeAsState()
+        record.appOpsController.isAllowed.collectAsCallbackWithLifecycle()
 
     override fun isChangeable(record: PictureInPictureRecord) = record.isSupport
 
diff --git a/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt b/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
index b40e32b..4f79173 100644
--- a/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
+++ b/src/com/android/settings/spa/app/specialaccess/SpecialAppAccess.kt
@@ -61,12 +61,17 @@
                 AllFilesAccessAppListProvider,
                 DisplayOverOtherAppsAppListProvider,
                 MediaManagementAppsAppListProvider,
+                MediaRoutingControlAppListProvider,
                 ModifySystemSettingsAppListProvider,
                 UseFullScreenIntentAppListProvider,
                 PictureInPictureListProvider,
                 InstallUnknownAppsListProvider,
                 AlarmsAndRemindersAppListProvider,
+                VoiceActivationAppsListProvider,
                 WifiControlAppListProvider,
+                LongBackgroundTasksAppListProvider,
+                TurnScreenOnAppsAppListProvider,
+                BackupTasksAppsListProvider,
             )
             .map { it.buildAppListInjectEntry().setLink(fromPage = owner).build() }
     }
diff --git a/src/com/android/settings/spa/app/specialaccess/TurnScreenOnApps.kt b/src/com/android/settings/spa/app/specialaccess/TurnScreenOnApps.kt
new file mode 100644
index 0000000..262acb7
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/TurnScreenOnApps.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.app.settings.SettingsEnums
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
+
+object TurnScreenOnAppsAppListProvider : TogglePermissionAppListProvider {
+    override val permissionType = "TurnScreenOnApps"
+    override fun createModel(context: Context) = TurnScreenOnAppsListModel(context)
+}
+
+class TurnScreenOnAppsListModel(context: Context) : AppOpPermissionListModel(context) {
+    override val pageTitleResId = com.android.settingslib.R.string.turn_screen_on_title
+    override val switchTitleResId = com.android.settingslib.R.string.allow_turn_screen_on
+    override val footerResId = com.android.settingslib.R.string.allow_turn_screen_on_description
+    override val appOp = AppOpsManager.OP_TURN_SCREEN_ON
+    override val permission = Manifest.permission.TURN_SCREEN_ON
+    override val setModeByUid = true
+
+    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
+        super.setAllowed(record, newAllowed)
+        logPermissionChange(newAllowed)
+    }
+
+    private fun logPermissionChange(newAllowed: Boolean) {
+        featureFactory.metricsFeatureProvider.action(
+            context,
+            SettingsEnums.SETTINGS_MANAGE_TURN_SCREEN_ON,
+            if (newAllowed) 1 else 0
+        )
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt b/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt
new file mode 100644
index 0000000..1225806
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/VoiceActivationApps.kt
@@ -0,0 +1,67 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.app.settings.SettingsEnums
+import android.content.Context
+import com.android.settings.R
+import com.android.settings.overlay.FeatureFactory
+import com.android.settingslib.spaprivileged.model.app.PackageManagers.hasGrantPermission
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionListModel
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
+import com.android.settingslib.spaprivileged.template.app.TogglePermissionAppListProvider
+
+/**
+ * This class builds an App List under voice activation apps and the individual page which
+ * allows the user to toggle voice activation related permissions on / off for the apps displayed
+ * in the list.
+ */
+object VoiceActivationAppsListProvider : TogglePermissionAppListProvider {
+    override val permissionType = "VoiceActivationApps"
+    override fun createModel(context: Context) = VoiceActivationAppsListModel(context)
+}
+
+class VoiceActivationAppsListModel(context: Context) : AppOpPermissionListModel(context) {
+    override val pageTitleResId = R.string.voice_activation_apps_title
+    override val switchTitleResId = R.string.permit_voice_activation_apps
+    override val footerResId = R.string.allow_voice_activation_apps_description
+    override val appOp = AppOpsManager.OP_RECEIVE_SANDBOX_TRIGGER_AUDIO
+    override val permission = Manifest.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO
+    override val setModeByUid = true
+
+    override fun setAllowed(record: AppOpPermissionRecord, newAllowed: Boolean) {
+        super.setAllowed(record, newAllowed)
+        logPermissionChange(newAllowed)
+    }
+
+    override fun isChangeable(record: AppOpPermissionRecord): Boolean =
+        super.isChangeable(record) && record.app.hasGrantPermission(permission)
+
+    private fun logPermissionChange(newAllowed: Boolean) {
+        val category = when {
+            newAllowed -> SettingsEnums.APP_SPECIAL_PERMISSION_RECEIVE_SANDBOX_TRIGGER_AUDIO_ALLOW
+            else -> SettingsEnums.APP_SPECIAL_PERMISSION_RECEIVE_SANDBOX_TRIGGER_AUDIO_DENY
+        }
+        /**
+         * Leave the package string empty as we should not log the package names for the collected
+         * metrics.
+         */
+        FeatureFactory.featureFactory.metricsFeatureProvider.action(context, category, "")
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsPreferenceController.kt b/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsPreferenceController.kt
new file mode 100644
index 0000000..27d4b4b
--- /dev/null
+++ b/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsPreferenceController.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.content.Context
+import androidx.preference.Preference
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.flags.Flags
+import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
+
+class VoiceActivationAppsPreferenceController(context: Context, preferenceKey: String) :
+        BasePreferenceController(context, preferenceKey) {
+    override fun getAvailabilityStatus() =
+        if (Flags.enableVoiceActivationAppsInSettings()) AVAILABLE
+        else CONDITIONALLY_UNAVAILABLE
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preference.key == mPreferenceKey) {
+            mContext.startSpaActivity(VoiceActivationAppsListProvider.getAppListRoute())
+            return true
+        }
+        return false
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/app/storage/StorageAppList.kt b/src/com/android/settings/spa/app/storage/StorageAppList.kt
new file mode 100644
index 0000000..c33de33
--- /dev/null
+++ b/src/com/android/settings/spa/app/storage/StorageAppList.kt
@@ -0,0 +1,137 @@
+/*
+ * 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.spa.app.storage
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.os.Bundle
+import androidx.annotation.StringRes
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.State
+import androidx.compose.runtime.getValue
+import androidx.compose.runtime.remember
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
+import com.android.settingslib.spa.framework.common.SettingsPageProvider
+import com.android.settingslib.spa.framework.util.filterItem
+import com.android.settingslib.spa.framework.util.mapItem
+import com.android.settingslib.spaprivileged.model.app.AppEntry
+import com.android.settingslib.spaprivileged.model.app.AppListModel
+import com.android.settingslib.spaprivileged.model.app.AppRecord
+import com.android.settingslib.spaprivileged.template.app.AppList
+import com.android.settingslib.spaprivileged.template.app.AppListInput
+import com.android.settingslib.spaprivileged.template.app.AppListItem
+import com.android.settingslib.spaprivileged.template.app.AppListItemModel
+import com.android.settingslib.spaprivileged.template.app.AppListPage
+import com.android.settingslib.spaprivileged.template.app.calculateSizeBytes
+import com.android.settingslib.spaprivileged.template.app.getStorageSize
+import kotlinx.coroutines.flow.Flow
+
+sealed class StorageAppListPageProvider(private val type: StorageType) : SettingsPageProvider {
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        StorageAppListPage(type)
+    }
+
+    object Apps : StorageAppListPageProvider(StorageType.Apps) {
+        override val name = "StorageAppList"
+    }
+
+    object Games : StorageAppListPageProvider(StorageType.Games) {
+        override val name = "GameStorageAppList"
+    }
+}
+
+sealed class StorageType(
+    @StringRes val titleResource: Int,
+    val filter: (AppRecordWithSize) -> Boolean
+) {
+    object Apps : StorageType(
+        titleResource = R.string.apps_storage,
+        filter = {
+            (it.app.flags and ApplicationInfo.FLAG_IS_GAME) == 0 &&
+            it.app.category != ApplicationInfo.CATEGORY_GAME
+        }
+    )
+    object Games : StorageType(
+        titleResource = R.string.game_storage_settings,
+        filter = {
+            (it.app.flags and ApplicationInfo.FLAG_IS_GAME) != 0 ||
+                it.app.category == ApplicationInfo.CATEGORY_GAME
+        }
+    )
+}
+
+@Composable
+fun StorageAppListPage(
+    type: StorageType,
+    appList: @Composable AppListInput<AppRecordWithSize>.() -> Unit = { AppList() }
+) {
+    val context = LocalContext.current
+    AppListPage(
+        title = stringResource(type.titleResource),
+        listModel = when (type) {
+            StorageType.Apps -> remember(context) { StorageAppListModel(context, type) }
+            StorageType.Games -> remember(context) { StorageAppListModel(context, type) }
+        },
+        showInstantApps = true,
+        matchAnyUserForAdmin = true,
+        appList = appList,
+        moreOptions = {  }, // TODO(b/292165031) Sorting in Options not yet supported
+    )
+}
+
+data class AppRecordWithSize(
+    override val app: ApplicationInfo,
+    val size: Long
+) : AppRecord
+
+class StorageAppListModel(
+    private val context: Context,
+    private val type: StorageType,
+    private val getStorageSummary: @Composable ApplicationInfo.() -> State<String> = {
+        getStorageSize()
+    }
+) : AppListModel<AppRecordWithSize> {
+    override fun transform(userIdFlow: Flow<Int>, appListFlow: Flow<List<ApplicationInfo>>) =
+        appListFlow.mapItem {
+            AppRecordWithSize(it, it.calculateSizeBytes(context) ?: 0L)
+        }
+
+    override fun filter(
+        userIdFlow: Flow<Int>,
+        option: Int,
+        recordListFlow: Flow<List<AppRecordWithSize>>
+    ): Flow<List<AppRecordWithSize>> = recordListFlow.filterItem { type.filter(it) }
+
+    @Composable
+    override fun getSummary(option: Int, record: AppRecordWithSize): () -> String {
+        val storageSummary by record.app.getStorageSummary()
+        return { storageSummary }
+    }
+
+    @Composable
+    override fun AppListItemModel<AppRecordWithSize>.AppItem() {
+        AppListItem(onClick = AppInfoSettingsProvider.navigator(app = record.app))
+    }
+
+    override fun getComparator(option: Int) = compareByDescending<AppEntry<AppRecordWithSize>> {
+        it.record.size
+    }.then(super.getComparator(option))
+}
diff --git a/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt b/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt
index 600a2e6..8659bf5 100644
--- a/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt
+++ b/src/com/android/settings/spa/core/instrumentation/SpaLogProvider.kt
@@ -72,10 +72,10 @@
         }
         val sessionSource = extraData.getString(LOG_DATA_SESSION_NAME)
         return when(sessionSource) {
-            SESSION_BROWSE -> SettingsEnums.BROWSE
-            SESSION_SEARCH -> SettingsEnums.SEARCH
-            SESSION_SLICE -> SettingsEnums.SLICE_TYPE
-            SESSION_EXTERNAL -> SettingsEnums.EXTERNAL
+            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/development/UsageStatsListModel.kt b/src/com/android/settings/spa/development/UsageStatsListModel.kt
index 61c24ac..bb20da6 100644
--- a/src/com/android/settings/spa/development/UsageStatsListModel.kt
+++ b/src/com/android/settings/spa/development/UsageStatsListModel.kt
@@ -22,15 +22,14 @@
 import android.content.pm.ApplicationInfo
 import android.text.format.DateUtils
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.State
 import com.android.settings.R
 import com.android.settings.spa.development.UsageStatsListModel.SpinnerItem.Companion.toSpinnerItem
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.widget.ui.SpinnerOption
 import com.android.settingslib.spaprivileged.model.app.AppEntry
 import com.android.settingslib.spaprivileged.model.app.AppListModel
 import com.android.settingslib.spaprivileged.model.app.AppRecord
 import java.text.DateFormat
+import java.time.Duration
 import java.util.concurrent.TimeUnit
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.combine
@@ -55,7 +54,7 @@
         }
 
     override fun getSpinnerOptions(recordList: List<UsageStatsAppRecord>): List<SpinnerOption> =
-        SpinnerItem.values().map {
+        SpinnerItem.entries.map {
             SpinnerOption(
                 id = it.ordinal,
                 text = context.getString(it.stringResId),
@@ -77,15 +76,25 @@
     }.then(super.getComparator(option))
 
     @Composable
-    override fun getSummary(option: Int, record: UsageStatsAppRecord): State<String>? {
+    override fun getSummary(option: Int, record: UsageStatsAppRecord): (() -> String)? {
         val usageStats = record.usageStats ?: return null
-        val lastTimeUsed = DateUtils.formatSameDayTime(
-            usageStats.lastTimeUsed, now, DateFormat.MEDIUM, DateFormat.MEDIUM
-        )
-        val lastTimeUsedLine = "${context.getString(R.string.last_time_used_label)}: $lastTimeUsed"
+        val lastTimeUsedLine =
+            "${context.getString(R.string.last_time_used_label)}: ${usageStats.getLastUsedString()}"
         val usageTime = DateUtils.formatElapsedTime(usageStats.totalTimeInForeground / 1000)
         val usageTimeLine = "${context.getString(R.string.usage_time_label)}: $usageTime"
-        return stateOf("$lastTimeUsedLine\n$usageTimeLine")
+        return { "$lastTimeUsedLine\n$usageTimeLine" }
+    }
+
+    private fun UsageStats.getLastUsedString() = when {
+        lastTimeUsed < Duration.ofDays(1)
+            .toMillis() -> context.getString(R.string.last_time_used_never)
+
+        else -> DateUtils.formatSameDayTime(
+            lastTimeUsed,
+            now,
+            DateFormat.MEDIUM,
+            DateFormat.MEDIUM
+        )
     }
 
     private fun getUsageStats(): Map<String, UsageStats> {
@@ -101,7 +110,7 @@
         AppName(R.string.usage_stats_sort_by_app_name);
 
         companion object {
-            fun Int.toSpinnerItem(): SpinnerItem = values()[this]
+            fun Int.toSpinnerItem(): SpinnerItem = entries[this]
         }
     }
 }
diff --git a/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt b/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt
index c6752b9..8f53698 100644
--- a/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt
+++ b/src/com/android/settings/spa/development/compat/PlatformCompatAppListModel.kt
@@ -24,7 +24,6 @@
 import androidx.core.os.bundleOf
 import com.android.settings.core.SubSettingLauncher
 import com.android.settings.development.compat.PlatformCompatDashboard
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.framework.util.filterItem
 import com.android.settingslib.spa.framework.util.mapItem
 import com.android.settingslib.spaprivileged.model.app.AppListModel
@@ -53,8 +52,9 @@
     }
 
     @Composable
-    override fun getSummary(option: Int, record: PlatformCompatAppRecord) =
-        stateOf(record.app.packageName)
+    override fun getSummary(option: Int, record: PlatformCompatAppRecord): () -> String = {
+        record.app.packageName
+    }
 
     @Composable
     override fun AppListItemModel<PlatformCompatAppRecord>.AppItem() {
diff --git a/src/com/android/settings/spa/home/HomePage.kt b/src/com/android/settings/spa/home/HomePage.kt
index c0dd138..bb016d5 100644
--- a/src/com/android/settings/spa/home/HomePage.kt
+++ b/src/com/android/settings/spa/home/HomePage.kt
@@ -18,6 +18,7 @@
 
 import android.os.Bundle
 import com.android.settings.R
+import com.android.settings.spa.about.AboutPhonePageProvider
 import com.android.settings.spa.app.AppsMainPageProvider
 import com.android.settings.spa.network.NetworkAndInternetPageProvider
 import com.android.settings.spa.notification.NotificationMainPageProvider
@@ -40,6 +41,7 @@
             AppsMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
             NotificationMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
             SystemMainPageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
+            AboutPhonePageProvider.buildInjectEntry().setLink(fromPage = owner).build(),
         )
     }
 
diff --git a/src/com/android/settings/spa/network/AirplaneModePreference.kt b/src/com/android/settings/spa/network/AirplaneModePreference.kt
index 462c121..27261b6 100644
--- a/src/com/android/settings/spa/network/AirplaneModePreference.kt
+++ b/src/com/android/settings/spa/network/AirplaneModePreference.kt
@@ -20,8 +20,9 @@
 import androidx.compose.material.icons.Icons
 import androidx.compose.material.icons.outlined.AirplanemodeActive
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.remember
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.livedata.observeAsState
+import androidx.compose.runtime.remember
 import androidx.compose.ui.platform.LocalContext
 import androidx.lifecycle.LiveData
 import androidx.lifecycle.MutableLiveData
@@ -37,11 +38,12 @@
     val context = LocalContext.current
     val controller = remember { AirplaneModeController(context) }
     if (!controller.isAvailable()) return
+    val checked by controller.airplaneModeState.observeAsState(
+        initial = controller.isAirplaneModeOn()
+    )
     SwitchPreference(object : SwitchPreferenceModel {
         override val title = context.getString(R.string.airplane_mode)
-        override val checked = controller.airplaneModeState.observeAsState(
-            initial = controller.isAirplaneModeOn()
-        )
+        override val checked = { checked }
         override val onCheckedChange = { newChecked: Boolean ->
             controller.setChecked(newChecked)
         }
diff --git a/src/com/android/settings/spa/network/NetworkAndInternet.kt b/src/com/android/settings/spa/network/NetworkAndInternet.kt
index 777133e..f985237 100644
--- a/src/com/android/settings/spa/network/NetworkAndInternet.kt
+++ b/src/com/android/settings/spa/network/NetworkAndInternet.kt
@@ -34,7 +34,6 @@
 import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
 import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
-import com.android.settingslib.spa.framework.compose.toState
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -60,9 +59,10 @@
     fun buildInjectEntry(): SettingsEntryBuilder {
         return SettingsEntryBuilder.createInject(owner = owner)
             .setUiLayoutFn {
+                val summary = stringResource(getSummaryResId())
                 Preference(object : PreferenceModel {
                     override val title = stringResource(R.string.network_dashboard_title)
-                    override val summary = stringResource(getSummaryResId()).toState()
+                    override val summary = { summary }
                     override val onClick = navigator(name)
                     override val icon = @Composable {
                         SettingsIcon(imageVector = Icons.Outlined.Wifi)
diff --git a/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
new file mode 100644
index 0000000..351ac77
--- /dev/null
+++ b/src/com/android/settings/spa/network/NetworkCellularGroupProvider.kt
@@ -0,0 +1,524 @@
+/*
+ * 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.app.Application
+import android.content.Context
+import android.content.Intent
+import android.content.IntentFilter
+import android.os.Bundle
+import android.os.UserManager
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import android.util.Log
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.automirrored.outlined.Message
+import androidx.compose.material.icons.outlined.Add
+import androidx.compose.material.icons.outlined.DataUsage
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.MutableIntState
+import androidx.compose.runtime.mutableIntStateOf
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.rememberCoroutineScope
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.runtime.toMutableStateList
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.platform.LocalLifecycleOwner
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.res.vectorResource
+import com.android.settings.R
+import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
+import com.android.settings.network.telephony.MobileNetworkUtils
+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.util.collectLatestWithLifecycle
+import com.android.settingslib.spa.widget.preference.ListPreferenceOption
+import com.android.settingslib.spa.widget.preference.Preference
+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.scaffold.RegularScaffold
+import com.android.settingslib.spa.widget.ui.Category
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+import com.android.settingslib.spaprivileged.framework.common.broadcastReceiverFlow
+
+import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
+import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
+import kotlinx.coroutines.CoroutineScope
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.combine
+import kotlinx.coroutines.flow.conflate
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.flowOn
+import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.flow.merge
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.withContext
+
+/**
+ * Showing the sim onboarding which is the process flow of sim switching on.
+ */
+object NetworkCellularGroupProvider : SettingsPageProvider {
+    override val name = "NetworkCellularGroupProvider"
+
+    private lateinit var subscriptionViewModel: SubscriptionInfoListViewModel
+    private val owner = createSettingsPage()
+
+    var selectableSubscriptionInfoList: List<SubscriptionInfo> = listOf()
+    var defaultVoiceSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    var defaultSmsSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    var defaultDataSubId: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+    var nonDds: Int = SubscriptionManager.INVALID_SUBSCRIPTION_ID
+
+    fun buildInjectEntry() = SettingsEntryBuilder.createInject(owner = owner)
+            .setUiLayoutFn {
+                // never using
+                Preference(object : PreferenceModel {
+                    override val title = name
+                    override val onClick = navigator(name)
+                })
+            }
+
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        val context = LocalContext.current
+        var selectableSubscriptionInfoListRemember = remember {
+            mutableListOf<SubscriptionInfo>().toMutableStateList()
+        }
+        var callsSelectedId = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+        var textsSelectedId = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+        var mobileDataSelectedId = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+        var nonDdsRemember = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+
+        subscriptionViewModel = SubscriptionInfoListViewModel(
+                context.applicationContext as Application)
+
+        allOfFlows(context, subscriptionViewModel.selectableSubscriptionInfoListFlow)
+                .collectLatestWithLifecycle(LocalLifecycleOwner.current) {
+                    selectableSubscriptionInfoListRemember.clear()
+                    selectableSubscriptionInfoListRemember.addAll(selectableSubscriptionInfoList)
+                    callsSelectedId.intValue = defaultVoiceSubId
+                    textsSelectedId.intValue = defaultSmsSubId
+                    mobileDataSelectedId.intValue = defaultDataSubId
+                    nonDdsRemember.intValue = nonDds
+                }
+
+        PageImpl(selectableSubscriptionInfoListRemember,
+                callsSelectedId,
+                textsSelectedId,
+                mobileDataSelectedId,
+                nonDdsRemember)
+    }
+
+    private fun allOfFlows(context: Context,
+                           selectableSubscriptionInfoListFlow: Flow<List<SubscriptionInfo>>) =
+            combine(
+                    selectableSubscriptionInfoListFlow,
+                    context.defaultVoiceSubscriptionFlow(),
+                    context.defaultSmsSubscriptionFlow(),
+                    context.defaultDefaultDataSubscriptionFlow(),
+                    NetworkCellularGroupProvider::refreshUiStates,
+            ).flowOn(Dispatchers.Default)
+
+    fun refreshUiStates(
+            inputSelectableSubscriptionInfoList: List<SubscriptionInfo>,
+            inputDefaultVoiceSubId: Int,
+            inputDefaultSmsSubId: Int,
+            inputDefaultDateSubId: Int
+    ): Unit {
+        selectableSubscriptionInfoList = inputSelectableSubscriptionInfoList
+        defaultVoiceSubId = inputDefaultVoiceSubId
+        defaultSmsSubId = inputDefaultSmsSubId
+        defaultDataSubId = inputDefaultDateSubId
+        nonDds = if (defaultDataSubId == SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+            SubscriptionManager.INVALID_SUBSCRIPTION_ID
+        } else {
+            selectableSubscriptionInfoList
+                    .filter { info ->
+                        (info.simSlotIndex != -1) && (info.subscriptionId != defaultDataSubId)
+                    }
+                    .map { it.subscriptionId }
+                    .firstOrNull() ?: SubscriptionManager.INVALID_SUBSCRIPTION_ID
+        }
+
+        Log.d(name, "defaultDataSubId: $defaultDataSubId, nonDds: $nonDds")
+    }
+}
+
+@Composable
+fun PageImpl(selectableSubscriptionInfoList: List<SubscriptionInfo>,
+             defaultVoiceSubId: MutableIntState,
+             defaultSmsSubId: MutableIntState,
+             defaultDataSubId: MutableIntState,
+             nonDds: MutableIntState) {
+    val context = LocalContext.current
+    var activeSubscriptionInfoList: List<SubscriptionInfo> =
+            selectableSubscriptionInfoList.filter { subscriptionInfo ->
+                subscriptionInfo.simSlotIndex != -1
+            }
+    var subscriptionManager = context.getSystemService(SubscriptionManager::class.java)
+
+    val stringSims = stringResource(R.string.provider_network_settings_title)
+    RegularScaffold(title = stringSims) {
+        SimsSectionImpl(
+                context,
+                subscriptionManager,
+                selectableSubscriptionInfoList
+        )
+        PrimarySimSectionImpl(
+                activeSubscriptionInfoList,
+                defaultVoiceSubId,
+                defaultSmsSubId,
+                defaultDataSubId,
+                nonDds
+        )
+    }
+}
+
+@Composable
+fun SimsSectionImpl(
+        context: Context,
+        subscriptionManager: SubscriptionManager?,
+        subscriptionInfoList: List<SubscriptionInfo>
+) {
+    val coroutineScope = rememberCoroutineScope()
+    for (subInfo in subscriptionInfoList) {
+        val checked = rememberSaveable() {
+            mutableStateOf(false)
+        }
+        //TODO: Add the Restricted TwoTargetSwitchPreference in SPA
+        TwoTargetSwitchPreference(
+                object : SwitchPreferenceModel {
+                    override val title = subInfo.displayName.toString()
+                    override val summary = { subInfo.number }
+                    override val checked = {
+                        coroutineScope.launch {
+                            withContext(Dispatchers.Default) {
+                                checked.value = subscriptionManager?.isSubscriptionEnabled(
+                                    subInfo.subscriptionId)?:false
+                            }
+                        }
+                        checked.value
+                    }
+                    override val onCheckedChange = { newChecked: Boolean ->
+                        startToggleSubscriptionDialog(context, subInfo, newChecked)
+                    }
+                }
+        ) {
+            startMobileNetworkSettings(context, subInfo)
+        }
+    }
+
+    // + add sim
+    if (showEuiccSettings(context)) {
+        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)
+                    }
+                },
+                restrictions = Restrictions(keys =
+                        listOf(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS)),
+        )
+    }
+}
+
+@Composable
+fun PrimarySimImpl(
+    subscriptionInfoList: List<SubscriptionInfo>,
+    callsSelectedId: MutableIntState,
+    textsSelectedId: MutableIntState,
+    mobileDataSelectedId: MutableIntState,
+    nonDds: MutableIntState,
+    subscriptionManager: SubscriptionManager? =
+        LocalContext.current.getSystemService(SubscriptionManager::class.java),
+    coroutineScope: CoroutineScope = rememberCoroutineScope(),
+    context: Context = LocalContext.current,
+    actionSetCalls: (Int) -> Unit = {
+        callsSelectedId.intValue = it
+        coroutineScope.launch {
+            setDefaultVoice(subscriptionManager, it)
+        }
+    },
+    actionSetTexts: (Int) -> Unit = {
+        textsSelectedId.intValue = it
+        coroutineScope.launch {
+            setDefaultSms(subscriptionManager, it)
+        }
+    },
+    actionSetMobileData: (Int) -> Unit = {
+        mobileDataSelectedId.intValue = it
+        coroutineScope.launch {
+            // TODO: to fix the WifiPickerTracker crash when create
+            //       the wifiPickerTrackerHelper
+            setDefaultData(
+                context,
+                subscriptionManager,
+                null/*wifiPickerTrackerHelper*/,
+                it
+            )
+        }
+    },
+    actionSetAutoDataSwitch: (Boolean) -> Unit = { newState ->
+        coroutineScope.launch {
+            val telephonyManagerForNonDds: TelephonyManager? =
+                context.getSystemService(TelephonyManager::class.java)
+                    ?.createForSubscriptionId(nonDds.intValue)
+            Log.d(NetworkCellularGroupProvider.name, "NonDds:${nonDds.intValue} setAutomaticData")
+            setAutomaticData(telephonyManagerForNonDds, newState)
+        }
+    },
+) {
+    var state = rememberSaveable { mutableStateOf(false) }
+    var callsAndSmsList = remember {
+        mutableListOf(ListPreferenceOption(id = -1, text = "Loading"))
+    }
+    var dataList = remember {
+        mutableListOf(ListPreferenceOption(id = -1, text = "Loading"))
+    }
+
+    if (subscriptionInfoList.size >= 2) {
+        state.value = true
+        callsAndSmsList.clear()
+        dataList.clear()
+        for (info in subscriptionInfoList) {
+            var item = ListPreferenceOption(
+                    id = info.subscriptionId,
+                    text = "${info.displayName}",
+                    summary = "${info.number}"
+            )
+            callsAndSmsList.add(item)
+            dataList.add(item)
+        }
+        callsAndSmsList.add(
+            ListPreferenceOption(
+                id = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+                text = stringResource(id = R.string.sim_calls_ask_first_prefs_title)
+            )
+        )
+    } else {
+        // hide the primary sim
+        state.value = false
+        Log.d(NetworkCellularGroupProvider.name, "Hide primary sim")
+    }
+
+    if (state.value) {
+        val telephonyManagerForNonDds: TelephonyManager? =
+                context.getSystemService(TelephonyManager::class.java)
+                        ?.createForSubscriptionId(nonDds.intValue)
+        val automaticDataChecked = rememberSaveable() {
+            mutableStateOf(false)
+        }
+
+        CreatePrimarySimListPreference(
+            stringResource(id = R.string.primary_sim_calls_title),
+            callsAndSmsList,
+            callsSelectedId,
+            ImageVector.vectorResource(R.drawable.ic_phone),
+            actionSetCalls
+        )
+        CreatePrimarySimListPreference(
+            stringResource(id = R.string.primary_sim_texts_title),
+            callsAndSmsList,
+            textsSelectedId,
+            Icons.AutoMirrored.Outlined.Message,
+            actionSetTexts
+        )
+        CreatePrimarySimListPreference(
+            stringResource(id = R.string.mobile_data_settings_title),
+            dataList,
+            mobileDataSelectedId,
+            Icons.Outlined.DataUsage,
+            actionSetMobileData
+        )
+
+        val autoDataTitle = stringResource(id = R.string.primary_sim_automatic_data_title)
+        val autoDataSummary = stringResource(id = R.string.primary_sim_automatic_data_msg)
+        SwitchPreference(
+            object : SwitchPreferenceModel {
+                override val title = autoDataTitle
+                override val summary = { autoDataSummary }
+                override val checked = {
+                    if (nonDds.intValue != SubscriptionManager.INVALID_SUBSCRIPTION_ID) {
+                        coroutineScope.launch {
+                            automaticDataChecked.value = getAutomaticData(telephonyManagerForNonDds)
+                            Log.d(
+                                NetworkCellularGroupProvider.name,
+                                "NonDds:${nonDds.intValue}" +
+                                    "getAutomaticData:${automaticDataChecked.value}"
+                            )
+                        }
+                    }
+                    automaticDataChecked.value
+                }
+                override val onCheckedChange: ((Boolean) -> Unit)? = {
+                    automaticDataChecked.value = it
+                    actionSetAutoDataSwitch(it)
+                }
+            }
+        )
+    }
+}
+
+@Composable
+fun PrimarySimSectionImpl(
+    subscriptionInfoList: List<SubscriptionInfo>,
+    callsSelectedId: MutableIntState,
+    textsSelectedId: MutableIntState,
+    mobileDataSelectedId: MutableIntState,
+    nonDds: MutableIntState,
+) {
+    Category(title = stringResource(id = R.string.primary_sim_title)) {
+        PrimarySimImpl(
+            subscriptionInfoList,
+            callsSelectedId,
+            textsSelectedId,
+            mobileDataSelectedId,
+            nonDds
+        )
+    }
+}
+
+private fun Context.defaultVoiceSubscriptionFlow(): Flow<Int> =
+        merge(
+                flowOf(null), // kick an initial value
+                broadcastReceiverFlow(
+                        IntentFilter(TelephonyManager.ACTION_DEFAULT_VOICE_SUBSCRIPTION_CHANGED)
+                ),
+        ).map { SubscriptionManager.getDefaultVoiceSubscriptionId() }
+                .conflate().flowOn(Dispatchers.Default)
+
+private fun Context.defaultSmsSubscriptionFlow(): Flow<Int> =
+        merge(
+                flowOf(null), // kick an initial value
+                broadcastReceiverFlow(
+                        IntentFilter(SubscriptionManager.ACTION_DEFAULT_SMS_SUBSCRIPTION_CHANGED)
+                ),
+        ).map { SubscriptionManager.getDefaultSmsSubscriptionId() }
+                .conflate().flowOn(Dispatchers.Default)
+
+private fun Context.defaultDefaultDataSubscriptionFlow(): Flow<Int> =
+        merge(
+                flowOf(null), // kick an initial value
+                broadcastReceiverFlow(
+                        IntentFilter(TelephonyManager.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED)
+                ),
+        ).map { SubscriptionManager.getDefaultDataSubscriptionId() }
+                .conflate().flowOn(Dispatchers.Default)
+
+private fun startToggleSubscriptionDialog(
+        context: Context,
+        subInfo: SubscriptionInfo,
+        newStatus: Boolean
+) {
+    SubscriptionUtil.startToggleSubscriptionDialogActivity(
+            context,
+            subInfo.subscriptionId,
+            newStatus
+    )
+}
+
+private fun startMobileNetworkSettings(context: Context, subInfo: SubscriptionInfo) {
+    MobileNetworkUtils.launchMobileNetworkSettings(context, subInfo)
+}
+
+private fun startAddSimFlow(context: Context) {
+    val intent = Intent(EuiccManager.ACTION_PROVISION_EMBEDDED_SUBSCRIPTION)
+    intent.putExtra(EuiccManager.EXTRA_FORCE_PROVISION, true)
+    context.startActivity(intent)
+}
+
+private fun showEuiccSettings(context: Context): Boolean {
+    return MobileNetworkUtils.showEuiccSettings(context)
+}
+
+suspend fun setDefaultVoice(
+    subscriptionManager: SubscriptionManager?,
+    subId: Int
+): Unit =
+    withContext(Dispatchers.Default) {
+        subscriptionManager?.setDefaultVoiceSubscriptionId(subId)
+    }
+
+suspend fun setDefaultSms(
+    subscriptionManager: SubscriptionManager?,
+    subId: Int
+): Unit =
+    withContext(Dispatchers.Default) {
+        subscriptionManager?.setDefaultSmsSubId(subId)
+    }
+
+suspend fun setDefaultData(
+    context: Context,
+    subscriptionManager: SubscriptionManager?,
+    wifiPickerTrackerHelper: WifiPickerTrackerHelper?,
+    subId: Int
+): Unit =
+    withContext(Dispatchers.Default) {
+        subscriptionManager?.setDefaultDataSubId(subId)
+        MobileNetworkUtils.setMobileDataEnabled(
+            context,
+            subId,
+            true /* enabled */,
+            true /* disableOtherSubscriptions */
+        )
+        if (wifiPickerTrackerHelper != null
+            && !wifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(subId)
+        ) {
+            wifiPickerTrackerHelper.setCarrierNetworkEnabled(true)
+        }
+    }
+
+suspend fun getAutomaticData(telephonyManagerForNonDds: TelephonyManager?): Boolean =
+    withContext(Dispatchers.Default) {
+        telephonyManagerForNonDds != null
+            && telephonyManagerForNonDds.isMobileDataPolicyEnabled(
+            TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+    }
+
+suspend fun setAutomaticData(telephonyManager: TelephonyManager?, newState: Boolean): Unit =
+    withContext(Dispatchers.Default) {
+        Log.d(
+            NetworkCellularGroupProvider.name,
+            "setAutomaticData: MOBILE_DATA_POLICY_AUTO_DATA_SWITCH as $newState"
+        )
+        telephonyManager?.setMobileDataPolicyEnabled(
+            TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH,
+            newState
+        )
+        //TODO: setup backup calling
+    }
\ No newline at end of file
diff --git a/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt b/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
new file mode 100644
index 0000000..3b2d5ec
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingLabelSim.kt
@@ -0,0 +1,114 @@
+/*
+ * 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 androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.SignalCellularAlt
+import androidx.compose.material3.MaterialTheme
+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.Modifier
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.network.SimOnboardingService
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.widget.dialog.AlertDialogButton
+import com.android.settingslib.spa.widget.dialog.rememberAlertDialogPresenter
+import com.android.settingslib.spa.widget.editor.SettingsOutlinedTextField
+
+import com.android.settingslib.spa.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.scaffold.BottomAppBarButton
+import com.android.settingslib.spa.widget.scaffold.SuwScaffold
+import com.android.settingslib.spa.widget.ui.SettingsBody
+
+/**
+ * the sim onboarding label compose
+ */
+@Composable
+fun SimOnboardingLabelSimImpl(
+    nextAction: () -> Unit,
+    cancelAction: () -> Unit,
+    onboardingService: SimOnboardingService
+) {
+    SuwScaffold(
+        imageVector = Icons.Outlined.SignalCellularAlt,
+        title = stringResource(R.string.sim_onboarding_label_sim_title),
+        actionButton = BottomAppBarButton(
+            stringResource(R.string.sim_onboarding_next),
+            nextAction
+        ),
+        dismissButton = BottomAppBarButton(
+            stringResource(R.string.cancel),
+            cancelAction
+        ),
+    ) {
+        labelSimBody(onboardingService)
+    }
+}
+
+@Composable
+private fun labelSimBody(onboardingService: SimOnboardingService) {
+    Column(Modifier.padding(SettingsDimension.itemPadding)) {
+        SettingsBody(stringResource(R.string.sim_onboarding_label_sim_msg))
+    }
+
+    for (subInfo in onboardingService.getSelectableSubscriptionInfoList()) {
+        var titleSimName by remember {
+            mutableStateOf(
+                onboardingService.getSubscriptionInfoDisplayName(subInfo)
+            )
+        }
+        var summaryNumber = subInfo.number
+            // TODO using the SubscriptionUtil.getFormattedPhoneNumber
+        val alertDialogPresenter = rememberAlertDialogPresenter(
+            confirmButton = AlertDialogButton(
+                stringResource(R.string.mobile_network_sim_name_rename)
+            ) {
+                onboardingService.addItemForRenaming(subInfo, titleSimName)
+            },
+            dismissButton = AlertDialogButton(stringResource(R.string.cancel)) {
+                titleSimName = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+            },
+            title = stringResource(R.string.sim_onboarding_label_sim_dialog_title),
+            text = {
+                Text(summaryNumber,
+                    modifier = Modifier.padding(bottom = SettingsDimension.itemPaddingVertical))
+                SettingsOutlinedTextField(
+                    value = titleSimName,
+                    label = stringResource(R.string.sim_onboarding_label_sim_dialog_label),
+                    enabled = true,
+                    shape = MaterialTheme.shapes.extraLarge
+                ) {
+                    titleSimName = it
+                }
+            },
+        )
+        Preference(object : PreferenceModel {
+            override val title = titleSimName
+            override val summary: () -> String
+                get() = { summaryNumber }
+            override val onClick = alertDialogPresenter::open
+        })
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt b/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt
new file mode 100644
index 0000000..c60ac88
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingPageProvider.kt
@@ -0,0 +1,134 @@
+/*
+ * 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.spa.network
+
+
+import android.app.Activity
+import android.content.Context
+import android.content.ContextWrapper
+import android.os.Bundle
+import android.util.Log
+import androidx.annotation.VisibleForTesting
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+import androidx.navigation.NavHostController
+import androidx.navigation.NavType
+import androidx.navigation.compose.NavHost
+import androidx.navigation.compose.composable
+import androidx.navigation.compose.rememberNavController
+import androidx.navigation.navArgument
+import com.android.settings.R
+import com.android.settings.network.SimOnboardingActivity
+import com.android.settings.network.SimOnboardingService
+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.widget.preference.Preference
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+
+const val SUB_ID = "subId"
+
+enum class SimOnboardingScreen(val stringResId: Int) {
+    LabelSim(R.string.sim_onboarding_label_sim_title),
+    SelectSim(R.string.sim_onboarding_select_sim_title),
+    PrimarySim(R.string.sim_onboarding_primary_sim_title)
+}
+
+/**
+ * Showing the sim onboarding which is the process flow of sim switching on.
+ */
+object SimOnboardingPageProvider : SettingsPageProvider {
+    override val name = "SimOnboardingPageProvider"
+    override val parameter = listOf(
+        navArgument(SUB_ID) { type = NavType.IntType },
+    )
+
+    private val owner = createSettingsPage()
+    @VisibleForTesting
+    var onboardingService: SimOnboardingService = SimOnboardingActivity.onboardingService
+
+    fun buildInjectEntry() = SettingsEntryBuilder.createInject(owner = owner)
+        .setUiLayoutFn {
+            // never using
+            Preference(object : PreferenceModel {
+                override val title = name
+                override val onClick = navigator(getRoute(-1))
+            })
+        }
+
+    @Composable
+    override fun Page(arguments: Bundle?) {
+        PageImpl(onboardingService,rememberNavController())
+    }
+
+    fun getRoute(
+        subId: Int
+    ): String = "${name}/$subId"
+}
+
+private fun Context.getActivity(): Activity? = when (this) {
+    is Activity -> this
+    is ContextWrapper -> baseContext.getActivity()
+    else -> null
+}
+
+@Composable
+fun PageImpl(onboardingService:SimOnboardingService,navHostController: NavHostController) {
+    val context = LocalContext.current
+    var finishOnboarding: () -> Unit = {
+        context.getActivity()?.finish()
+        onboardingService.callback(SimOnboardingActivity.CALLBACK_FINISH)
+    }
+
+    NavHost(
+        navController = navHostController,
+        startDestination = SimOnboardingScreen.LabelSim.name
+    ) {
+        composable(route = SimOnboardingScreen.LabelSim.name) {
+            val nextPage =
+                if (onboardingService.isMultipleEnabledProfilesSupported && onboardingService.isAllOfSlotAssigned) {
+                    SimOnboardingScreen.SelectSim.name
+                } else {
+                    onboardingService.addCurrentItemForSelectedSim()
+                    SimOnboardingScreen.PrimarySim.name
+                }
+            SimOnboardingLabelSimImpl(
+                nextAction = { navHostController.navigate(nextPage) },
+                cancelAction = finishOnboarding,
+                onboardingService = onboardingService
+            )
+        }
+        composable(route = SimOnboardingScreen.PrimarySim.name) {
+            SimOnboardingPrimarySimImpl(
+                nextAction = {
+                    onboardingService.callback(SimOnboardingActivity.CALLBACK_ONBOARDING_COMPLETE)
+                    context.getActivity()?.finish()
+                },
+                cancelAction = finishOnboarding,
+                onboardingService = onboardingService
+            )
+        }
+        composable(route = SimOnboardingScreen.SelectSim.name) {
+            SimOnboardingSelectSimImpl(
+                nextAction = { navHostController.navigate(SimOnboardingScreen.PrimarySim.name) },
+                cancelAction = finishOnboarding,
+                onboardingService = onboardingService
+            )
+        }
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/spa/network/SimOnboardingPrimarySim.kt b/src/com/android/settings/spa/network/SimOnboardingPrimarySim.kt
new file mode 100644
index 0000000..a5f55d0
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingPrimarySim.kt
@@ -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.spa.network
+
+import android.telephony.SubscriptionManager
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.SignalCellularAlt
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.MutableIntState
+import androidx.compose.runtime.mutableIntStateOf
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.network.SimOnboardingService
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.widget.preference.ListPreference
+import com.android.settingslib.spa.widget.preference.ListPreferenceModel
+import com.android.settingslib.spa.widget.preference.ListPreferenceOption
+import com.android.settingslib.spa.widget.scaffold.BottomAppBarButton
+import com.android.settingslib.spa.widget.scaffold.SuwScaffold
+import com.android.settingslib.spa.widget.ui.SettingsBody
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+
+/**
+ * the sim onboarding primary sim compose
+ */
+@Composable
+fun SimOnboardingPrimarySimImpl(
+    nextAction: () -> Unit,
+    cancelAction: () -> Unit,
+    onboardingService: SimOnboardingService
+) {
+    SuwScaffold(
+        imageVector = Icons.Outlined.SignalCellularAlt,
+        title = stringResource(id = R.string.sim_onboarding_primary_sim_title),
+        actionButton = BottomAppBarButton(
+            stringResource(id = R.string.done),
+            nextAction
+        ),
+        dismissButton = BottomAppBarButton(
+            stringResource(id = R.string.cancel),
+            cancelAction
+        ),
+    ) {
+        val callsSelectedId = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+        val textsSelectedId = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+        val mobileDataSelectedId = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+        val nonDdsRemember = rememberSaveable {
+            mutableIntStateOf(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        }
+
+        Column(Modifier.padding(SettingsDimension.itemPadding)) {
+            SettingsBody(stringResource(id = R.string.sim_onboarding_primary_sim_msg))
+        }
+
+        var selectedSubscriptionInfoList = onboardingService.getSelectedSubscriptionInfoList()
+        callsSelectedId.intValue = onboardingService.targetPrimarySimCalls
+        textsSelectedId.intValue = onboardingService.targetPrimarySimTexts
+        mobileDataSelectedId.intValue = onboardingService.targetPrimarySimMobileData
+        PrimarySimImpl(
+            subscriptionInfoList = selectedSubscriptionInfoList,
+            callsSelectedId = callsSelectedId,
+            textsSelectedId = textsSelectedId,
+            mobileDataSelectedId = mobileDataSelectedId,
+            nonDds = nonDdsRemember,
+            actionSetCalls = {
+                callsSelectedId.intValue = it
+                onboardingService.targetPrimarySimCalls = it},
+            actionSetTexts = {
+                textsSelectedId.intValue = it
+                onboardingService.targetPrimarySimTexts = it},
+            actionSetMobileData = {
+                mobileDataSelectedId.intValue = it
+                onboardingService.targetPrimarySimMobileData = it},
+            actionSetAutoDataSwitch = {
+                onboardingService.targetPrimarySimAutoDataSwitch = it},
+        )
+    }
+}
+
+@Composable
+fun CreatePrimarySimListPreference(
+        title: String,
+        list: List<ListPreferenceOption>,
+        selectedId: MutableIntState,
+        icon: ImageVector,
+        onIdSelected: (id: Int) -> Unit
+) = ListPreference(
+    object : ListPreferenceModel {
+        override val title = title
+        override val options = list
+        override val selectedId = selectedId
+        override val onIdSelected = onIdSelected
+        override val icon = @Composable {
+            SettingsIcon(icon)
+        }
+})
\ No newline at end of file
diff --git a/src/com/android/settings/spa/network/SimOnboardingSelectSim.kt b/src/com/android/settings/spa/network/SimOnboardingSelectSim.kt
new file mode 100644
index 0000000..5e71b12
--- /dev/null
+++ b/src/com/android/settings/spa/network/SimOnboardingSelectSim.kt
@@ -0,0 +1,104 @@
+/*
+ * 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.util.Log
+import androidx.compose.foundation.layout.Column
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.SignalCellularAlt
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.mutableStateOf
+import androidx.compose.runtime.remember
+import androidx.compose.runtime.saveable.rememberSaveable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.res.stringResource
+import com.android.settings.R
+import com.android.settings.network.SimOnboardingService
+import com.android.settings.sim.SimDialogActivity
+import com.android.settingslib.spa.framework.theme.SettingsDimension
+import com.android.settingslib.spa.widget.preference.CheckboxPreference
+import com.android.settingslib.spa.widget.preference.CheckboxPreferenceModel
+import com.android.settingslib.spa.widget.scaffold.BottomAppBarButton
+import com.android.settingslib.spa.widget.scaffold.SuwScaffold
+import com.android.settingslib.spa.widget.ui.SettingsBody
+
+/**
+ * the sim onboarding select sim compose
+ */
+@Composable
+fun SimOnboardingSelectSimImpl(
+    nextAction: () -> Unit,
+    cancelAction: () -> Unit,
+    onboardingService: SimOnboardingService
+) {
+    SuwScaffold(
+        imageVector = Icons.Outlined.SignalCellularAlt,
+        title = stringResource(id = R.string.sim_onboarding_select_sim_title),
+        actionButton = BottomAppBarButton(
+            stringResource(id = R.string.sim_onboarding_next),
+            nextAction
+        ),
+        dismissButton = BottomAppBarButton(
+            stringResource(id = R.string.cancel),
+            cancelAction
+        ),
+    ) {
+        selectSimBody(onboardingService)
+    }
+}
+
+@Composable
+private fun selectSimBody(onboardingService: SimOnboardingService) {
+    Column(Modifier.padding(SettingsDimension.itemPadding)) {
+        SettingsBody(stringResource(id = R.string.sim_onboarding_select_sim_msg))
+    }
+    var isFinished = rememberSaveable { mutableStateOf(false) }
+    isFinished.value = onboardingService.isSimSelectionFinished
+    for (subInfo in onboardingService.getSelectableSubscriptionInfoList()) {
+        var title = onboardingService.getSubscriptionInfoDisplayName(subInfo)
+        var summaryNumber =
+            subInfo.number // TODO using the SubscriptionUtil.getFormattedPhoneNumber
+        var checked = rememberSaveable {
+            mutableStateOf(
+                onboardingService.getSelectedSubscriptionInfoList().contains(subInfo)
+            )
+        }
+
+        CheckboxPreference(remember {
+            object : CheckboxPreferenceModel {
+                override val title = title
+                override val summary: () -> String
+                    get() = { summaryNumber }
+                override val checked = { checked.value }
+                override val onCheckedChange = { newChecked: Boolean ->
+                    checked.value = newChecked
+                    if (newChecked) {
+                        onboardingService.addItemForSelectedSim(subInfo)
+                    } else {
+                        onboardingService.removeItemForSelectedSim(subInfo)
+                    }
+                    isFinished.value = onboardingService.isSimSelectionFinished
+                }
+                override val changeable = {
+                    subInfo.isActive
+                        && (!isFinished.value || (isFinished.value && checked.value))
+                }
+            }
+        })
+    }
+}
diff --git a/src/com/android/settings/spa/notification/AppListNotifications.kt b/src/com/android/settings/spa/notification/AppListNotifications.kt
index c1e5d64..00e4394 100644
--- a/src/com/android/settings/spa/notification/AppListNotifications.kt
+++ b/src/com/android/settings/spa/notification/AppListNotifications.kt
@@ -23,7 +23,6 @@
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
 import com.android.settingslib.spa.framework.compose.navigator
 import com.android.settingslib.spa.framework.compose.rememberContext
-import com.android.settingslib.spa.framework.compose.toState
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spaprivileged.template.app.AppListPage
@@ -41,9 +40,10 @@
 
     @Composable
     fun EntryItem() {
+        val summary = stringResource(R.string.app_notification_field_summary)
         Preference(object : PreferenceModel {
             override val title = stringResource(R.string.app_notifications_title)
-            override val summary = stringResource(R.string.app_notification_field_summary).toState()
+            override val summary = { summary }
             override val onClick = navigator(name)
         })
     }
diff --git a/src/com/android/settings/spa/notification/AppNotificationRepository.kt b/src/com/android/settings/spa/notification/AppNotificationRepository.kt
index f35d308..d0e700a 100644
--- a/src/com/android/settings/spa/notification/AppNotificationRepository.kt
+++ b/src/com/android/settings/spa/notification/AppNotificationRepository.kt
@@ -27,6 +27,7 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.os.Build
+import android.os.IUserManager
 import android.os.RemoteException
 import android.os.ServiceManager
 import android.util.Log
@@ -66,6 +67,9 @@
     private val notificationManager: INotificationManager = INotificationManager.Stub.asInterface(
         ServiceManager.getService(Context.NOTIFICATION_SERVICE)
     ),
+    private val userManager: IUserManager = IUserManager.Stub.asInterface(
+            ServiceManager.getService(Context.USER_SERVICE)
+    ),
 ) : IAppNotificationRepository {
     fun getAggregatedUsageEvents(userIdFlow: Flow<Int>): Flow<Map<String, NotificationSentState>> =
         userIdFlow.map { userId ->
@@ -122,6 +126,15 @@
         }
     }
 
+    fun isUserUnlocked(user: Int): Boolean {
+        return try {
+            userManager.isUserUnlocked(user)
+        } catch (e: Exception) {
+            Log.w(TAG, "Error calling UserManager", e)
+            false
+        }
+    }
+
     override fun getNotificationSummary(app: ApplicationInfo): String {
         if (!isEnabled(app)) return context.getString(R.string.notifications_disabled)
         val channelCount = getChannelCount(app)
diff --git a/src/com/android/settings/spa/notification/AppNotificationsListModel.kt b/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
index 028b2f4..9f949c4 100644
--- a/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
+++ b/src/com/android/settings/spa/notification/AppNotificationsListModel.kt
@@ -21,25 +21,28 @@
 import android.content.pm.ApplicationInfo
 import android.icu.text.RelativeDateTimeFormatter
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.livedata.observeAsState
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.produceState
 import com.android.settings.R
 import com.android.settings.applications.AppInfoBase
 import com.android.settings.notification.app.AppNotificationSettings
 import com.android.settings.spa.notification.SpinnerItem.Companion.toSpinnerItem
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.framework.util.asyncFilter
 import com.android.settingslib.spa.framework.util.asyncForEach
+import com.android.settingslib.spa.livedata.observeAsCallback
 import com.android.settingslib.spa.widget.ui.SpinnerOption
 import com.android.settingslib.spaprivileged.model.app.AppEntry
 import com.android.settingslib.spaprivileged.model.app.AppListModel
 import com.android.settingslib.spaprivileged.model.app.AppRecord
+import com.android.settingslib.spaprivileged.model.app.userId
 import com.android.settingslib.spaprivileged.template.app.AppListItemModel
-import com.android.settingslib.spaprivileged.template.app.AppListSwitchItem
+import com.android.settingslib.spaprivileged.template.app.AppListTwoTargetSwitchItem
 import com.android.settingslib.utils.StringUtil
+import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.combine
 import kotlinx.coroutines.flow.map
+import kotlinx.coroutines.withContext
 
 data class AppNotificationsRecord(
     override val app: ApplicationInfo,
@@ -91,21 +94,30 @@
     }.then(super.getComparator(option))
 
     @Composable
-    override fun getSummary(option: Int, record: AppNotificationsRecord) = record.sentState?.let {
-        when (option.toSpinnerItem()) {
-            SpinnerItem.MostRecent -> stateOf(formatLastSent(it.lastSent))
-            SpinnerItem.MostFrequent -> stateOf(repository.calculateFrequencySummary(it.sentCount))
-            else -> null
+    override fun getSummary(option: Int, record: AppNotificationsRecord): (() -> String)? =
+        record.sentState?.let {
+            when (option.toSpinnerItem()) {
+                SpinnerItem.MostRecent -> ({ formatLastSent(it.lastSent) })
+                SpinnerItem.MostFrequent -> ({ repository.calculateFrequencySummary(it.sentCount) })
+                else -> null
+            }
+        }
+
+    override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> {
+        val options = mutableListOf(SpinnerItem.AllApps, SpinnerItem.TurnedOff)
+        if (repository.isUserUnlocked(recordList[0].app.userId)) {
+            options.add(0, SpinnerItem.MostRecent)
+            options.add(1, SpinnerItem.MostFrequent)
+        }
+
+        return options.map {
+            SpinnerOption(
+                    id = it.ordinal,
+                    text = context.getString(it.stringResId),
+            )
         }
     }
 
-    override fun getSpinnerOptions(recordList: List<AppNotificationsRecord>): List<SpinnerOption> =
-        SpinnerItem.values().map {
-            SpinnerOption(
-                id = it.ordinal,
-                text = context.getString(it.stringResId),
-            )
-        }
 
     private fun formatLastSent(lastSent: Long) =
         StringUtil.formatRelativeTime(
@@ -117,12 +129,15 @@
 
     @Composable
     override fun AppListItemModel<AppNotificationsRecord>.AppItem() {
-        AppListSwitchItem(
-            onClick = { navigateToAppNotificationSettings(app = record.app) },
-            checked = record.controller.isEnabled.observeAsState(),
-            changeable = produceState(initialValue = false) {
+        val changeable by produceState(initialValue = false) {
+            withContext(Dispatchers.Default) {
                 value = repository.isChangeable(record.app)
-            },
+            }
+        }
+        AppListTwoTargetSwitchItem(
+            onClick = { navigateToAppNotificationSettings(app = record.app) },
+            checked = record.controller.isEnabled.observeAsCallback(),
+            changeable = { changeable },
             onCheckedChange = record.controller::setEnabled,
         )
     }
@@ -145,6 +160,6 @@
     TurnedOff(R.string.filter_notif_blocked_apps);
 
     companion object {
-        fun Int.toSpinnerItem(): SpinnerItem = values()[this]
+        fun Int.toSpinnerItem(): SpinnerItem = entries[this]
     }
 }
diff --git a/src/com/android/settings/spa/notification/NotificationMain.kt b/src/com/android/settings/spa/notification/NotificationMain.kt
index 305f201..b3c7a55 100644
--- a/src/com/android/settings/spa/notification/NotificationMain.kt
+++ b/src/com/android/settings/spa/notification/NotificationMain.kt
@@ -25,13 +25,12 @@
 import com.android.settingslib.spa.framework.common.SettingsEntryBuilder
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
 import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
+import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
-import com.android.settingslib.spa.framework.compose.toState
 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.SettingsIcon
-import com.android.settingslib.spa.framework.common.createSettingsPage
 
 object NotificationMainPageProvider : SettingsPageProvider {
     override val name = "NotificationMain"
@@ -53,9 +52,10 @@
     fun buildInjectEntry(): SettingsEntryBuilder {
         return SettingsEntryBuilder.createInject(owner = owner)
             .setUiLayoutFn {
+                val summary = stringResource(R.string.notification_dashboard_summary)
                 Preference(object : PreferenceModel {
                     override val title = stringResource(R.string.configure_notification_settings)
-                    override val summary = stringResource(R.string.notification_dashboard_summary).toState()
+                    override val summary = { summary }
                     override val onClick = navigator(name)
                     override val icon = @Composable {
                         SettingsIcon(imageVector = Icons.Outlined.Notifications)
diff --git a/src/com/android/settings/spa/preference/ComposePreference.kt b/src/com/android/settings/spa/preference/ComposePreference.kt
new file mode 100644
index 0000000..aa5c32c
--- /dev/null
+++ b/src/com/android/settings/spa/preference/ComposePreference.kt
@@ -0,0 +1,66 @@
+/*
+ * 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.spa.preference
+
+import android.content.Context
+import android.util.AttributeSet
+import androidx.annotation.VisibleForTesting
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.platform.ViewCompositionStrategy
+import androidx.preference.Preference
+import androidx.preference.PreferenceViewHolder
+import com.android.settings.R
+import com.android.settingslib.spa.framework.theme.SettingsTheme
+
+open class ComposePreference @JvmOverloads constructor(
+    context: Context,
+    attrs: AttributeSet? = null,
+    defStyleAttr: Int = 0,
+    defStyleRes: Int = 0,
+) : Preference(context, attrs, defStyleAttr, defStyleRes) {
+    private var content: @Composable () -> Unit = {}
+
+    fun setContent(content: @Composable () -> Unit) {
+        this.content = content
+    }
+
+    @VisibleForTesting
+    @Composable
+    fun Content() {
+        content()
+    }
+
+    init {
+        layoutResource = R.layout.preference_compose
+    }
+
+    override fun onBindViewHolder(holder: PreferenceViewHolder) {
+        super.onBindViewHolder(holder)
+        holder.isDividerAllowedAbove = false
+        holder.isDividerAllowedBelow = false
+
+        (holder.itemView as ComposeView).apply {
+            setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
+            setContent {
+                SettingsTheme {
+                    content()
+                }
+            }
+        }
+    }
+}
diff --git a/src/com/android/settings/spa/preference/ComposePreferenceController.kt b/src/com/android/settings/spa/preference/ComposePreferenceController.kt
new file mode 100644
index 0000000..9dd8282
--- /dev/null
+++ b/src/com/android/settings/spa/preference/ComposePreferenceController.kt
@@ -0,0 +1,37 @@
+/*
+ * 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.spa.preference
+
+import android.content.Context
+import androidx.compose.runtime.Composable
+import androidx.preference.PreferenceScreen
+import com.android.settings.core.BasePreferenceController
+
+abstract class ComposePreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+
+    private lateinit var preference: ComposePreference
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+        preference.setContent { Content() }
+    }
+
+    @Composable
+    abstract fun Content()
+}
diff --git a/src/com/android/settings/spa/system/AppLanguages.kt b/src/com/android/settings/spa/system/AppLanguages.kt
index b878aa7..d836a32 100644
--- a/src/com/android/settings/spa/system/AppLanguages.kt
+++ b/src/com/android/settings/spa/system/AppLanguages.kt
@@ -26,7 +26,6 @@
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
 import com.android.settingslib.spa.framework.compose.navigator
 import com.android.settingslib.spa.framework.compose.rememberContext
-import com.android.settingslib.spa.framework.compose.toState
 import com.android.settingslib.spa.framework.theme.SettingsDimension
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
@@ -52,9 +51,10 @@
 
     @Composable
     fun EntryItem() {
+        val summary = stringResource(R.string.app_locale_picker_summary)
         Preference(object : PreferenceModel {
             override val title = stringResource(R.string.app_locales_picker_menu_title)
-            override val summary = stringResource(R.string.app_locale_picker_summary).toState()
+            override val summary = { summary }
             override val onClick = navigator(name)
         })
     }
diff --git a/src/com/android/settings/spa/system/AppLanguagesListModel.kt b/src/com/android/settings/spa/system/AppLanguagesListModel.kt
index 942bcc4..3573e25 100644
--- a/src/com/android/settings/spa/system/AppLanguagesListModel.kt
+++ b/src/com/android/settings/spa/system/AppLanguagesListModel.kt
@@ -23,10 +23,9 @@
 import android.net.Uri
 import android.os.UserHandle
 import androidx.compose.runtime.Composable
-import androidx.compose.runtime.State
+import androidx.compose.runtime.getValue
 import androidx.compose.runtime.remember
 import androidx.compose.ui.res.stringResource
-import androidx.lifecycle.compose.ExperimentalLifecycleComposeApi
 import androidx.lifecycle.compose.collectAsStateWithLifecycle
 import com.android.settings.R
 import com.android.settings.applications.AppLocaleUtil
@@ -79,14 +78,15 @@
         recordListFlow: Flow<List<AppLanguagesRecord>>,
     ) = recordListFlow.filterItem { it.isAppLocaleSupported }
 
-    @OptIn(ExperimentalLifecycleComposeApi::class)
     @Composable
-    override fun getSummary(option: Int, record: AppLanguagesRecord): State<String> =
-        remember(record.app) {
+    override fun getSummary(option: Int, record: AppLanguagesRecord): () -> String {
+        val summary by remember(record.app) {
             flow {
                 emit(getSummary(record.app))
             }.flowOn(Dispatchers.IO)
         }.collectAsStateWithLifecycle(initialValue = stringResource(R.string.summary_placeholder))
+        return { summary }
+    }
 
     private fun getSummary(app: ApplicationInfo): String =
         AppLocaleDetails.getSummary(context, app).toString()
diff --git a/src/com/android/settings/spa/system/LanguageAndInputPageProvider.kt b/src/com/android/settings/spa/system/LanguageAndInputPageProvider.kt
index b5cd299..5c1038d 100644
--- a/src/com/android/settings/spa/system/LanguageAndInputPageProvider.kt
+++ b/src/com/android/settings/spa/system/LanguageAndInputPageProvider.kt
@@ -24,7 +24,6 @@
 import com.android.settings.R
 import com.android.settingslib.spa.framework.common.SettingsPageProvider
 import com.android.settingslib.spa.framework.compose.navigator
-import com.android.settingslib.spa.framework.compose.toState
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -42,9 +41,10 @@
 
     @Composable
     fun EntryItem() {
+        val summary = stringResource(R.string.language_settings)
         Preference(object : PreferenceModel {
             override val title = stringResource(R.string.language_settings)
-            override val summary = stringResource(R.string.language_settings).toState()
+            override val summary = { summary }
             override val onClick = navigator(name)
             override val icon = @Composable {
                 SettingsIcon(imageVector = Icons.Outlined.Language)
diff --git a/src/com/android/settings/spa/system/SystemMain.kt b/src/com/android/settings/spa/system/SystemMain.kt
index 04ae512..c9aa8cc 100644
--- a/src/com/android/settings/spa/system/SystemMain.kt
+++ b/src/com/android/settings/spa/system/SystemMain.kt
@@ -27,7 +27,6 @@
 import com.android.settingslib.spa.framework.common.SpaEnvironmentFactory
 import com.android.settingslib.spa.framework.common.createSettingsPage
 import com.android.settingslib.spa.framework.compose.navigator
-import com.android.settingslib.spa.framework.compose.toState
 import com.android.settingslib.spa.widget.preference.Preference
 import com.android.settingslib.spa.widget.preference.PreferenceModel
 import com.android.settingslib.spa.widget.scaffold.RegularScaffold
@@ -53,9 +52,10 @@
     fun buildInjectEntry(): SettingsEntryBuilder {
         return SettingsEntryBuilder.createInject(owner = owner)
             .setUiLayoutFn {
+                val summary = stringResource(R.string.system_dashboard_summary)
                 Preference(object : PreferenceModel {
                     override val title = stringResource(R.string.header_category_system)
-                    override val summary = stringResource(R.string.system_dashboard_summary).toState()
+                    override val summary = { summary }
                     override val onClick = navigator(name)
                     override val icon = @Composable {
                         SettingsIcon(imageVector = Icons.Outlined.Info)
diff --git a/src/com/android/settings/support/SupportDashboardActivity.java b/src/com/android/settings/support/SupportDashboardActivity.java
index 4654858..dc77dd4 100644
--- a/src/com/android/settings/support/SupportDashboardActivity.java
+++ b/src/com/android/settings/support/SupportDashboardActivity.java
@@ -42,8 +42,8 @@
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        SupportFeatureProvider supportFeatureProvider = FeatureFactory.getFactory(this)
-                .getSupportFeatureProvider(this);
+        SupportFeatureProvider supportFeatureProvider = FeatureFactory.getFeatureFactory()
+                .getSupportFeatureProvider();
 
         // try to launch support if we have the feature provider
         if (supportFeatureProvider != null) {
diff --git a/src/com/android/settings/support/SupportPreferenceController.java b/src/com/android/settings/support/SupportPreferenceController.java
index 793842f..8351e1d 100644
--- a/src/com/android/settings/support/SupportPreferenceController.java
+++ b/src/com/android/settings/support/SupportPreferenceController.java
@@ -34,8 +34,7 @@
 
     public SupportPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        mSupportFeatureProvider = FeatureFactory.getFactory(context)
-                .getSupportFeatureProvider(context);
+        mSupportFeatureProvider = FeatureFactory.getFeatureFactory().getSupportFeatureProvider();
     }
 
     public void setActivity(Activity activity) {
diff --git a/src/com/android/settings/support/actionbar/HelpMenuController.java b/src/com/android/settings/support/actionbar/HelpMenuController.java
index 498cc3e..7e1f460 100644
--- a/src/com/android/settings/support/actionbar/HelpMenuController.java
+++ b/src/com/android/settings/support/actionbar/HelpMenuController.java
@@ -18,12 +18,12 @@
 
 import static com.android.settings.support.actionbar.HelpResourceProvider.HELP_URI_RESOURCE_KEY;
 
-import android.annotation.NonNull;
 import android.app.Activity;
 import android.os.Bundle;
 import android.view.Menu;
 import android.view.MenuInflater;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 
 import com.android.settingslib.HelpUtils;
diff --git a/src/com/android/settings/survey/SurveyMixin.java b/src/com/android/settings/survey/SurveyMixin.java
index 2f68de6..0768e80 100644
--- a/src/com/android/settings/survey/SurveyMixin.java
+++ b/src/com/android/settings/survey/SurveyMixin.java
@@ -54,7 +54,7 @@
         // guard against the activity not existing yet
         if (activity != null) {
             SurveyFeatureProvider provider =
-                    FeatureFactory.getFactory(activity).getSurveyFeatureProvider(activity);
+                    FeatureFactory.getFeatureFactory().getSurveyFeatureProvider(activity);
             if (provider != null) {
                 provider.sendActivityIfAvailable(mName);
             }
diff --git a/src/com/android/settings/system/ClientInitiatedActionRepository.kt b/src/com/android/settings/system/ClientInitiatedActionRepository.kt
new file mode 100644
index 0000000..715acfa
--- /dev/null
+++ b/src/com/android/settings/system/ClientInitiatedActionRepository.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.content.Intent
+import android.telephony.CarrierConfigManager
+import android.util.Log
+import com.android.settings.network.telephony.safeGetConfig
+
+class ClientInitiatedActionRepository(private val context: Context) {
+    private val configManager = context.getSystemService(CarrierConfigManager::class.java)!!
+
+    /**
+     * Trigger client initiated action (send intent) on system update
+     */
+    fun onSystemUpdate() {
+        val bundle =
+            configManager.safeGetConfig(
+                keys = listOf(
+                    CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL,
+                    CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING,
+                    CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING,
+                    CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING,
+                ),
+            )
+
+        if (!bundle.getBoolean(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL)) return
+
+        val action =
+            bundle.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING)
+        if (action.isNullOrEmpty()) return
+        val extra = bundle.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING)
+        val extraValue =
+            bundle.getString(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING)
+        Log.d(TAG, "onSystemUpdate: broadcasting intent $action with extra $extra, $extraValue")
+        val intent = Intent(action).apply {
+            if (!extra.isNullOrEmpty()) putExtra(extra, extraValue)
+            addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND)
+        }
+        context.applicationContext.sendBroadcast(intent)
+    }
+
+    companion object {
+        private const val TAG = "ClientInitiatedAction"
+    }
+}
diff --git a/src/com/android/settings/system/DeveloperOptionsController.kt b/src/com/android/settings/system/DeveloperOptionsController.kt
new file mode 100644
index 0000000..6874ec7
--- /dev/null
+++ b/src/com/android/settings/system/DeveloperOptionsController.kt
@@ -0,0 +1,83 @@
+/*
+ * 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.system
+
+import android.app.settings.SettingsEnums
+import android.content.Context
+import android.os.Build
+import android.os.UserManager
+import android.provider.Settings
+import androidx.annotation.VisibleForTesting
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.res.stringResource
+import androidx.compose.ui.res.vectorResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import com.android.settings.R
+import com.android.settings.core.SubSettingLauncher
+import com.android.settings.development.DevelopmentSettingsDashboardFragment
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.spa.widget.preference.PreferenceModel
+import com.android.settingslib.spa.widget.ui.SettingsIcon
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import com.android.settingslib.spaprivileged.model.enterprise.Restrictions
+import com.android.settingslib.spaprivileged.settingsprovider.settingsGlobalBooleanFlow
+import com.android.settingslib.spaprivileged.template.preference.RestrictedPreference
+
+class DeveloperOptionsController(context: Context, preferenceKey: String) :
+    ComposePreferenceController(context, preferenceKey) {
+
+    override fun getAvailabilityStatus() =
+        if (mContext.userManager.isAdminUser) AVAILABLE
+        else DISABLED_FOR_USER
+
+    private val isDevelopmentSettingsEnabledFlow = context.settingsGlobalBooleanFlow(
+        name = Settings.Global.DEVELOPMENT_SETTINGS_ENABLED,
+        defaultValue = Build.IS_ENG,
+    )
+
+    @Composable
+    override fun Content() {
+        val isDevelopmentSettingsEnabled by isDevelopmentSettingsEnabledFlow
+            .collectAsStateWithLifecycle(initialValue = false)
+        if (isDevelopmentSettingsEnabled) {
+            DeveloperOptionsPreference()
+        }
+    }
+
+    @VisibleForTesting
+    @Composable
+    fun DeveloperOptionsPreference() {
+        RestrictedPreference(
+            model = object : PreferenceModel {
+                override val title =
+                    stringResource(com.android.settingslib.R.string.development_settings_title)
+                override val icon = @Composable {
+                    SettingsIcon(ImageVector.vectorResource(R.drawable.ic_settings_development))
+                }
+                override val onClick = {
+                    SubSettingLauncher(mContext).apply {
+                        setDestination(DevelopmentSettingsDashboardFragment::class.qualifiedName)
+                        setSourceMetricsCategory(SettingsEnums.SETTINGS_SYSTEM_CATEGORY)
+                    }.launch()
+                }
+            },
+            restrictions = Restrictions(keys = listOf(UserManager.DISALLOW_DEBUGGING_FEATURES)),
+        )
+    }
+}
diff --git a/src/com/android/settings/system/FactoryResetPreferenceController.java b/src/com/android/settings/system/FactoryResetPreferenceController.java
index 6e010c1..6d81179 100644
--- a/src/com/android/settings/system/FactoryResetPreferenceController.java
+++ b/src/com/android/settings/system/FactoryResetPreferenceController.java
@@ -15,21 +15,37 @@
  */
 package com.android.settings.system;
 
+import android.Manifest;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.os.UserManager;
+import android.util.Log;
 
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.activity.result.contract.ActivityResultContracts;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.settings.Settings;
-import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.factory_reset.Flags;
 
 public class FactoryResetPreferenceController extends BasePreferenceController {
 
+    private static final String TAG = "FactoryResetPreference";
+
+    @VisibleForTesting
+    static final String ACTION_PREPARE_FACTORY_RESET =
+            "com.android.settings.ACTION_PREPARE_FACTORY_RESET";
+
     private final UserManager mUm;
 
+    @VisibleForTesting
+    ActivityResultLauncher<Intent> mFactoryResetPreparationLauncher;
+
     public FactoryResetPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
         mUm = (UserManager) context.getSystemService(Context.USER_SERVICE);
@@ -44,10 +60,73 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (mPreferenceKey.equals(preference.getKey())) {
-            final Intent intent = new Intent(mContext, Settings.FactoryResetActivity.class);
-            mContext.startActivity(intent);
+            if (Flags.enableFactoryResetWizard()) {
+                startFactoryResetPreparationActivity();
+            } else {
+                startFactoryResetActivity();
+            }
             return true;
         }
         return false;
     }
+
+    private void startFactoryResetPreparationActivity() {
+        Intent prepareFactoryResetIntent = getPrepareFactoryResetIntent();
+        if (prepareFactoryResetIntent != null && mFactoryResetPreparationLauncher != null) {
+            mFactoryResetPreparationLauncher.launch(prepareFactoryResetIntent);
+        } else {
+            startFactoryResetActivity();
+        }
+    }
+
+    // We check that the activity that can handle the factory reset preparation action is indeed
+    // a system app with proper permissions.
+    private Intent getPrepareFactoryResetIntent() {
+        final Intent prepareFactoryResetWizardRequest = new Intent(ACTION_PREPARE_FACTORY_RESET);
+        final PackageManager pm = mContext.getPackageManager();
+        final ResolveInfo resolution = pm.resolveActivity(prepareFactoryResetWizardRequest, 0);
+        if (resolution != null
+                && resolution.activityInfo != null) {
+            String packageName = resolution.activityInfo.packageName;
+            PackageInfo factoryResetWizardPackageInfo;
+            try {
+                factoryResetWizardPackageInfo = pm.getPackageInfo(packageName, 0);
+            } catch (PackageManager.NameNotFoundException e) {
+                Log.e(TAG, "Unable to resolve a Factory Reset Handler Application");
+                return null;
+            }
+            if (factoryResetWizardPackageInfo.requestedPermissions == null
+                    || factoryResetWizardPackageInfo.requestedPermissions.length == 0) {
+                Log.e(TAG, "Factory Reset Handler has no permissions requested.");
+                return null;
+            }
+            for (int i = 0; i < factoryResetWizardPackageInfo.requestedPermissions.length; i++) {
+                String permission = factoryResetWizardPackageInfo.requestedPermissions[i];
+                boolean isGranted =
+                        (factoryResetWizardPackageInfo.requestedPermissionsFlags[i]
+                                & PackageInfo.REQUESTED_PERMISSION_GRANTED) != 0;
+                if (permission.equals(Manifest.permission.PREPARE_FACTORY_RESET) && isGranted) {
+                    return prepareFactoryResetWizardRequest;
+                }
+            }
+            return prepareFactoryResetWizardRequest;
+        }
+        Log.i(TAG, "Unable to resolve a Factory Reset Handler Activity");
+        return null;
+    }
+
+    void setFragment(ResetDashboardFragment fragment) {
+        if (Flags.enableFactoryResetWizard()) {
+            mFactoryResetPreparationLauncher = fragment.registerForActivityResult(
+                    new ActivityResultContracts.StartActivityForResult(),
+                    result -> {
+                        startFactoryResetActivity();
+                    });
+        }
+    }
+
+    private void startFactoryResetActivity() {
+        final Intent intent = new Intent(mContext, Settings.FactoryResetActivity.class);
+        mContext.startActivity(intent);
+    }
 }
diff --git a/src/com/android/settings/system/ResetDashboardFragment.java b/src/com/android/settings/system/ResetDashboardFragment.java
index 662edc5..a8704a5 100644
--- a/src/com/android/settings/system/ResetDashboardFragment.java
+++ b/src/com/android/settings/system/ResetDashboardFragment.java
@@ -65,6 +65,11 @@
         if (SubscriptionUtil.isSimHardwareVisible(context)) {
             use(EraseEuiccDataController.class).setFragment(this);
         }
+        FactoryResetPreferenceController factoryResetPreferenceController =
+                use(FactoryResetPreferenceController.class);
+        if (factoryResetPreferenceController != null) {
+            factoryResetPreferenceController.setFragment(this);
+        }
     }
 
     @Override
diff --git a/src/com/android/settings/system/SystemDashboardFragment.java b/src/com/android/settings/system/SystemDashboardFragment.java
index eed9814..678b675 100644
--- a/src/com/android/settings/system/SystemDashboardFragment.java
+++ b/src/com/android/settings/system/SystemDashboardFragment.java
@@ -16,31 +16,22 @@
 package com.android.settings.system;
 
 import android.app.settings.SettingsEnums;
-import android.content.Context;
 import android.os.Bundle;
-import android.provider.SearchIndexableResource;
 
-import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
 import com.android.settingslib.search.SearchIndexable;
 
-import java.util.Arrays;
-import java.util.List;
-
 @SearchIndexable
 public class SystemDashboardFragment extends DashboardFragment {
 
     private static final String TAG = "SystemDashboardFrag";
 
-    public static final String EXTRA_SHOW_AWARE_DISABLED = "show_aware_dialog_disabled";
-
     @Override
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
@@ -50,17 +41,6 @@
         if (getVisiblePreferenceCount(screen) == screen.getInitialExpandedChildrenCount() + 1) {
             screen.setInitialExpandedChildrenCount(Integer.MAX_VALUE);
         }
-
-        showRestrictionDialog();
-    }
-
-    @VisibleForTesting
-    public void showRestrictionDialog() {
-        final Bundle args = getArguments();
-        if (args != null && args.getBoolean(EXTRA_SHOW_AWARE_DISABLED, false)) {
-            FeatureFactory.getFactory(getContext()).getAwareFeatureProvider()
-                    .showRestrictionDialog(this);
-        }
     }
 
     @Override
@@ -100,13 +80,5 @@
      * For Search.
      */
     public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider() {
-                @Override
-                public List<SearchIndexableResource> getXmlResourcesToIndex(
-                        Context context, boolean enabled) {
-                    final SearchIndexableResource sir = new SearchIndexableResource(context);
-                    sir.xmlResId = R.xml.system_dashboard_fragment;
-                    return Arrays.asList(sir);
-                }
-            };
-}
\ No newline at end of file
+            new BaseSearchIndexProvider(R.xml.system_dashboard_fragment);
+}
diff --git a/src/com/android/settings/system/SystemUpdateManagerExt.kt b/src/com/android/settings/system/SystemUpdateManagerExt.kt
new file mode 100644
index 0000000..8ddf174
--- /dev/null
+++ b/src/com/android/settings/system/SystemUpdateManagerExt.kt
@@ -0,0 +1,42 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.os.Bundle
+import android.os.SystemUpdateManager
+import android.util.Log
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.withContext
+
+private const val TAG = "SystemUpdateManagerExt"
+
+/**
+ * Gets the system update status.
+ *
+ * Note: [SystemUpdateManager.retrieveSystemUpdateInfo] must be called on worker thread to avoid
+ * StrictMode violation.
+ */
+suspend fun Context.getSystemUpdateInfo(): Bundle? = withContext(Dispatchers.Default) {
+    val updateManager = getSystemService(SystemUpdateManager::class.java)!!
+    try {
+        updateManager.retrieveSystemUpdateInfo()
+    } catch (e: Exception) {
+        Log.w(TAG, "Error getting system update info.")
+        null
+    }
+}
diff --git a/src/com/android/settings/system/SystemUpdatePreferenceController.java b/src/com/android/settings/system/SystemUpdatePreferenceController.java
deleted file mode 100644
index b2a22ff..0000000
--- a/src/com/android/settings/system/SystemUpdatePreferenceController.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.system;
-
-import static android.content.Context.CARRIER_CONFIG_SERVICE;
-import static android.content.Context.SYSTEM_UPDATE_SERVICE;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.PersistableBundle;
-import android.os.SystemUpdateManager;
-import android.os.UserManager;
-import android.telephony.CarrierConfigManager;
-import android.text.TextUtils;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.core.BasePreferenceController;
-
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.FutureTask;
-
-public class SystemUpdatePreferenceController extends BasePreferenceController {
-
-    private static final String TAG = "SysUpdatePrefContr";
-
-    private static final String KEY_SYSTEM_UPDATE_SETTINGS = "system_update_settings";
-
-    private final UserManager mUm;
-    private final SystemUpdateManager mUpdateManager;
-
-    public SystemUpdatePreferenceController(Context context) {
-        super(context, KEY_SYSTEM_UPDATE_SETTINGS);
-        mUm = UserManager.get(context);
-        mUpdateManager = (SystemUpdateManager) context.getSystemService(SYSTEM_UPDATE_SERVICE);
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return mContext.getResources().getBoolean(R.bool.config_show_system_update_settings)
-                && mUm.isAdminUser()
-                ? AVAILABLE
-                : UNSUPPORTED_ON_DEVICE;
-    }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        if (isAvailable()) {
-            Utils.updatePreferenceToSpecificActivityOrRemove(mContext, screen,
-                    getPreferenceKey(),
-                    Utils.UPDATE_PREFERENCE_FLAG_SET_TITLE_TO_MATCHING_ACTIVITY);
-        }
-    }
-
-    @Override
-    public boolean handlePreferenceTreeClick(Preference preference) {
-        if (TextUtils.equals(getPreferenceKey(), preference.getKey())) {
-            CarrierConfigManager configManager =
-                    (CarrierConfigManager) mContext.getSystemService(CARRIER_CONFIG_SERVICE);
-            PersistableBundle b = configManager.getConfig();
-            if (b != null && b.getBoolean(CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL)) {
-                ciActionOnSysUpdate(b);
-            }
-        }
-        // always return false here because this handler does not want to block other handlers.
-        return false;
-    }
-
-    @Override
-    public CharSequence getSummary() {
-        CharSequence summary = mContext.getString(R.string.android_version_summary,
-                Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY);
-        final FutureTask<Bundle> bundleFutureTask = new FutureTask<>(
-                // Put the API call in a future to avoid StrictMode violation.
-                () -> mUpdateManager.retrieveSystemUpdateInfo());
-        final Bundle updateInfo;
-        try {
-            bundleFutureTask.run();
-            updateInfo = bundleFutureTask.get();
-        } catch (InterruptedException | ExecutionException e) {
-            Log.w(TAG, "Error getting system update info.");
-            return summary;
-        }
-        switch (updateInfo.getInt(SystemUpdateManager.KEY_STATUS)) {
-            case SystemUpdateManager.STATUS_WAITING_DOWNLOAD:
-            case SystemUpdateManager.STATUS_IN_PROGRESS:
-            case SystemUpdateManager.STATUS_WAITING_INSTALL:
-            case SystemUpdateManager.STATUS_WAITING_REBOOT:
-                summary = mContext.getText(R.string.android_version_pending_update_summary);
-                break;
-            case SystemUpdateManager.STATUS_UNKNOWN:
-                Log.d(TAG, "Update statue unknown");
-                // fall through to next branch
-            case SystemUpdateManager.STATUS_IDLE:
-                final String version = updateInfo.getString(SystemUpdateManager.KEY_TITLE);
-                if (!TextUtils.isEmpty(version)) {
-                    summary = mContext.getString(R.string.android_version_summary, version);
-                }
-                break;
-        }
-        return summary;
-    }
-
-    /**
-     * Trigger client initiated action (send intent) on system update
-     */
-    private void ciActionOnSysUpdate(PersistableBundle b) {
-        String intentStr = b.getString(CarrierConfigManager.
-                KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING);
-        if (!TextUtils.isEmpty(intentStr)) {
-            String extra = b.getString(CarrierConfigManager.
-                    KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_STRING);
-            String extraVal = b.getString(CarrierConfigManager.
-                    KEY_CI_ACTION_ON_SYS_UPDATE_EXTRA_VAL_STRING);
-
-            Intent intent = new Intent(intentStr);
-            if (!TextUtils.isEmpty(extra)) {
-                intent.putExtra(extra, extraVal);
-            }
-            Log.d(TAG, "ciActionOnSysUpdate: broadcasting intent " + intentStr +
-                    " with extra " + extra + ", " + extraVal);
-            intent.addFlags(Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND);
-            mContext.getApplicationContext().sendBroadcast(intent);
-        }
-    }
-}
diff --git a/src/com/android/settings/system/SystemUpdatePreferenceController.kt b/src/com/android/settings/system/SystemUpdatePreferenceController.kt
new file mode 100644
index 0000000..87a402e
--- /dev/null
+++ b/src/com/android/settings/system/SystemUpdatePreferenceController.kt
@@ -0,0 +1,110 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.os.Build
+import android.os.SystemUpdateManager
+import android.os.UserManager
+import android.util.Log
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.LifecycleOwner
+import androidx.lifecycle.lifecycleScope
+import androidx.lifecycle.repeatOnLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import kotlinx.coroutines.launch
+
+open class SystemUpdatePreferenceController(context: Context, preferenceKey: String) :
+    BasePreferenceController(context, preferenceKey) {
+    private val userManager: UserManager = context.userManager
+    private val systemUpdateRepository = SystemUpdateRepository(context)
+    private val clientInitiatedActionRepository = ClientInitiatedActionRepository(context)
+    private lateinit var preference: Preference
+
+    override fun getAvailabilityStatus() =
+        if (mContext.resources.getBoolean(R.bool.config_show_system_update_settings) &&
+            userManager.isAdminUser
+        ) AVAILABLE else UNSUPPORTED_ON_DEVICE
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+        if (isAvailable) {
+            val intent = systemUpdateRepository.getSystemUpdateIntent()
+            if (intent != null) {  // Replace the intent with this specific activity
+                preference.intent = intent
+            } else { // Did not find a matching activity, so remove the preference
+                screen.removePreference(preference)
+            }
+        }
+    }
+
+    override fun handlePreferenceTreeClick(preference: Preference): Boolean {
+        if (preferenceKey == preference.key) {
+            clientInitiatedActionRepository.onSystemUpdate()
+        }
+        // always return false here because this handler does not want to block other handlers.
+        return false
+    }
+
+    override fun onViewCreated(viewLifecycleOwner: LifecycleOwner) {
+        viewLifecycleOwner.lifecycleScope.launch {
+            viewLifecycleOwner.repeatOnLifecycle(Lifecycle.State.STARTED) {
+                preference.summary = calculateSummary()
+            }
+        }
+    }
+
+    private suspend fun calculateSummary(): String {
+        val updateInfo = mContext.getSystemUpdateInfo() ?: return getReleaseVersionSummary()
+
+        val status = updateInfo.getInt(SystemUpdateManager.KEY_STATUS)
+        if (status == SystemUpdateManager.STATUS_UNKNOWN) {
+            Log.d(TAG, "Update statue unknown")
+        }
+        when (status) {
+            SystemUpdateManager.STATUS_WAITING_DOWNLOAD,
+            SystemUpdateManager.STATUS_IN_PROGRESS,
+            SystemUpdateManager.STATUS_WAITING_INSTALL,
+            SystemUpdateManager.STATUS_WAITING_REBOOT -> {
+                return mContext.getString(R.string.android_version_pending_update_summary)
+            }
+
+            SystemUpdateManager.STATUS_IDLE,
+            SystemUpdateManager.STATUS_UNKNOWN -> {
+                val version = updateInfo.getString(SystemUpdateManager.KEY_TITLE)
+                if (!version.isNullOrEmpty()) {
+                    return mContext.getString(R.string.android_version_summary, version)
+                }
+            }
+        }
+        return getReleaseVersionSummary()
+    }
+
+    private fun getReleaseVersionSummary(): String = mContext.getString(
+        R.string.android_version_summary,
+        Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY,
+    )
+
+    companion object {
+        private const val TAG = "SysUpdatePrefContr"
+    }
+}
diff --git a/src/com/android/settings/system/SystemUpdateRepository.kt b/src/com/android/settings/system/SystemUpdateRepository.kt
new file mode 100644
index 0000000..f8804be
--- /dev/null
+++ b/src/com/android/settings/system/SystemUpdateRepository.kt
@@ -0,0 +1,38 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.provider.Settings
+
+class SystemUpdateRepository(context: Context) {
+    private val packageManager = context.packageManager
+
+    /**
+     * Finds a matching activity for the system update intent.
+     */
+    fun getSystemUpdateIntent(): Intent? {
+        val intent = Intent(Settings.ACTION_SYSTEM_UPDATE_SETTINGS)
+        return packageManager.resolveActivity(intent, PackageManager.MATCH_SYSTEM_ONLY)
+            ?.activityInfo
+            ?.let { activityInfo ->
+                Intent().setClassName(activityInfo.packageName, activityInfo.name)
+            }
+    }
+}
diff --git a/src/com/android/settings/tts/TextToSpeechSettings.java b/src/com/android/settings/tts/TextToSpeechSettings.java
index 9f1d2f3..8ff0159 100644
--- a/src/com/android/settings/tts/TextToSpeechSettings.java
+++ b/src/com/android/settings/tts/TextToSpeechSettings.java
@@ -548,7 +548,7 @@
         CharSequence[] entries = new CharSequence[availableLangs.size() + 1];
         CharSequence[] entryValues = new CharSequence[availableLangs.size() + 1];
 
-        entries[0] = getActivity().getString(R.string.tts_lang_use_system);
+        entries[0] = getActivity().getString(com.android.settingslib.R.string.tts_lang_use_system);
         entryValues[0] = "";
 
         int i = 1;
@@ -570,7 +570,7 @@
     private void setLocalePreference(int index) {
         if (index < 0) {
             mLocalePreference.setValue("");
-            mLocalePreference.setSummary(R.string.tts_lang_not_selected);
+            mLocalePreference.setSummary(com.android.settingslib.R.string.tts_lang_not_selected);
         } else {
             mLocalePreference.setValueIndex(index);
             mLocalePreference.setSummary(mLocalePreference.getEntries()[index]);
@@ -583,9 +583,9 @@
             try {
                 final String currentLang = mTts.getLanguage().getISO3Language();
                 String[] strings = getActivity().getResources().getStringArray(
-                        R.array.tts_demo_strings);
+                        com.android.settingslib.R.array.tts_demo_strings);
                 String[] langs = getActivity().getResources().getStringArray(
-                        R.array.tts_demo_string_langs);
+                        com.android.settingslib.R.array.tts_demo_string_langs);
 
                 for (int i = 0; i < strings.length; ++i) {
                     if (langs[i].equals(currentLang)) {
@@ -597,7 +597,7 @@
                 // Ignore and fall back to default sample string
             }
         }
-        return getString(R.string.tts_default_sample_string);
+        return getString(com.android.settingslib.R.string.tts_default_sample_string);
     }
 
     private boolean isNetworkRequiredForSynthesis() {
@@ -746,7 +746,8 @@
     private void displayNetworkAlert() {
         AlertDialog.Builder builder = new AlertDialog.Builder(getActivity());
         builder.setTitle(android.R.string.dialog_alert_title)
-                .setMessage(getActivity().getString(R.string.tts_engine_network_required))
+                .setMessage(getActivity()
+                        .getString(com.android.settingslib.R.string.tts_engine_network_required))
                 .setCancelable(false)
                 .setPositiveButton(android.R.string.ok, null);
 
@@ -805,7 +806,7 @@
             } else {
                 Log.e(TAG, "settingsIntent is null");
             }
-            FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider()
+            FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                     .logClickedPreference(p, getMetricsCategory());
         }
     }
diff --git a/src/com/android/settings/tts/TtsEnginePreferenceFragment.java b/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
index 6a1b9bb..f6416db 100644
--- a/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
+++ b/src/com/android/settings/tts/TtsEnginePreferenceFragment.java
@@ -152,7 +152,8 @@
         final AlertDialog dialog = new AlertDialog.Builder(getPrefContext())
                 .setTitle(android.R.string.dialog_alert_title)
                 .setMessage(mContext.getString(
-                        R.string.tts_engine_security_warning, info.loadLabel()))
+                        com.android.settingslib.R.string.tts_engine_security_warning,
+                        info.loadLabel()))
                 .setCancelable(true)
                 .setPositiveButton(android.R.string.ok, positiveOnClickListener)
                 .setNegativeButton(android.R.string.cancel, null)
@@ -164,16 +165,16 @@
     private void updateDefaultEngine(String engine) {
         Log.d(TAG, "Updating default synth to : " + engine);
 
-        // Keep track of the previous engine that was being used. So that
-        // we can reuse the previous engine.
-        //
-        // Note that if TextToSpeech#getCurrentEngine is not null, it means at
-        // the very least that we successfully bound to the engine service.
-        mPreviousEngine = mTts.getCurrentEngine();
-
         // Step 1: Shut down the existing TTS engine.
         Log.i(TAG, "Shutting down current tts engine");
         if (mTts != null) {
+            // Keep track of the previous engine that was being used. So that
+            // we can reuse the previous engine.
+            //
+            // Note that if TextToSpeech#getCurrentEngine is not null, it means at
+            // the very least that we successfully bound to the engine service.
+            mPreviousEngine = mTts.getCurrentEngine();
+
             try {
                 mTts.shutdown();
                 mTts = null;
diff --git a/src/com/android/settings/users/AppRestrictionsFragment.java b/src/com/android/settings/users/AppRestrictionsFragment.java
index db7612f..1532448 100644
--- a/src/com/android/settings/users/AppRestrictionsFragment.java
+++ b/src/com/android/settings/users/AppRestrictionsFragment.java
@@ -45,7 +45,6 @@
 import android.view.ViewGroup;
 import android.widget.CompoundButton;
 import android.widget.CompoundButton.OnCheckedChangeListener;
-import android.widget.Switch;
 
 import androidx.preference.ListPreference;
 import androidx.preference.MultiSelectListPreference;
@@ -54,7 +53,8 @@
 import androidx.preference.Preference.OnPreferenceClickListener;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -132,7 +132,7 @@
         }
     };
 
-    static class AppRestrictionsPreference extends SwitchPreference {
+    static class AppRestrictionsPreference extends SwitchPreferenceCompat {
         private boolean hasSettings;
         private OnClickListener listener;
         private ArrayList<RestrictionEntry> restrictions;
@@ -174,10 +174,6 @@
             panelOpen = open;
         }
 
-        List<Preference> getChildren() {
-            return mChildren;
-        }
-
         @Override
         public void onBindViewHolder(PreferenceViewHolder view) {
             super.onBindViewHolder(view);
@@ -196,7 +192,7 @@
             ViewGroup widget = (ViewGroup) view.findViewById(android.R.id.widget_frame);
             widget.setEnabled(!isImmutable());
             if (widget.getChildCount() > 0) {
-                final Switch toggle = (Switch) widget.getChildAt(0);
+                final CompoundButton toggle = (CompoundButton) widget.getChildAt(0);
                 toggle.setEnabled(!isImmutable());
                 toggle.setTag(this);
                 toggle.setClickable(true);
@@ -687,10 +683,10 @@
             Preference p = null;
             switch (entry.getType()) {
             case RestrictionEntry.TYPE_BOOLEAN:
-                p = new SwitchPreference(getPrefContext());
+                p = new SwitchPreferenceCompat(getPrefContext());
                 p.setTitle(entry.getTitle());
                 p.setSummary(entry.getDescription());
-                ((SwitchPreference)p).setChecked(entry.getSelectedState());
+                ((TwoStatePreference) p).setChecked(entry.getSelectedState());
                 break;
             case RestrictionEntry.TYPE_CHOICE:
             case RestrictionEntry.TYPE_CHOICE_LEVEL:
diff --git a/src/com/android/settings/users/AutoSyncDataPreferenceController.java b/src/com/android/settings/users/AutoSyncDataPreferenceController.java
index e3240c4..29c5c57 100644
--- a/src/com/android/settings/users/AutoSyncDataPreferenceController.java
+++ b/src/com/android/settings/users/AutoSyncDataPreferenceController.java
@@ -31,7 +31,7 @@
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceFragmentCompat;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceControllerMixin;
@@ -59,7 +59,7 @@
 
     @Override
     public void updateState(Preference preference) {
-        SwitchPreference switchPreference = (SwitchPreference) preference;
+        TwoStatePreference switchPreference = (TwoStatePreference) preference;
         switchPreference.setChecked(ContentResolver.getMasterSyncAutomaticallyAsUser(
                 mUserHandle.getIdentifier()));
     }
@@ -67,7 +67,7 @@
     @Override
     public boolean handlePreferenceTreeClick(Preference preference) {
         if (getPreferenceKey().equals(preference.getKey())) {
-            SwitchPreference switchPreference = (SwitchPreference) preference;
+            TwoStatePreference switchPreference = (TwoStatePreference) preference;
             boolean checked = switchPreference.isChecked();
             switchPreference.setChecked(!checked);
             if (ActivityManager.isUserAMonkey()) {
@@ -156,8 +156,8 @@
                     Preference preference =
                             ((PreferenceFragmentCompat) targetFragment).findPreference(
                                     arguments.getString(ARG_KEY));
-                    if (preference instanceof SwitchPreference) {
-                        ((SwitchPreference) preference).setChecked(enabling);
+                    if (preference instanceof TwoStatePreference) {
+                        ((TwoStatePreference) preference).setChecked(enabling);
                     }
                 }
             }
diff --git a/src/com/android/settings/users/AutoSyncPrivateDataPreferenceController.kt b/src/com/android/settings/users/AutoSyncPrivateDataPreferenceController.kt
new file mode 100644
index 0000000..3eabafe
--- /dev/null
+++ b/src/com/android/settings/users/AutoSyncPrivateDataPreferenceController.kt
@@ -0,0 +1,43 @@
+/*
+ * 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.users
+
+import android.content.Context
+import androidx.preference.PreferenceFragmentCompat
+import com.android.settings.Utils
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment
+
+class AutoSyncPrivateDataPreferenceController(
+        context: Context?, parent: PreferenceFragmentCompat?)
+    : AutoSyncDataPreferenceController(context, parent) {
+    init {
+        mUserHandle = Utils
+                .getProfileOfType(mUserManager, ProfileSelectFragment.ProfileType.PRIVATE)
+    }
+
+    override fun getPreferenceKey(): String {
+        return KEY_AUTO_SYNC_PRIVATE_ACCOUNT
+    }
+
+    override fun isAvailable(): Boolean {
+        return (mUserHandle != null
+                && mUserManager.getUserInfo(mUserHandle.identifier).isPrivateProfile)
+    }
+
+    companion object {
+        private const val KEY_AUTO_SYNC_PRIVATE_ACCOUNT = "auto_sync_private_account_data"
+    }
+}
\ No newline at end of file
diff --git a/src/com/android/settings/users/MultiUserPreferenceController.java b/src/com/android/settings/users/MultiUserPreferenceController.java
new file mode 100644
index 0000000..2eb57ec
--- /dev/null
+++ b/src/com/android/settings/users/MultiUserPreferenceController.java
@@ -0,0 +1,46 @@
+/*
+ * 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.users;
+
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import com.android.settings.R;
+import com.android.settings.Utils;
+import com.android.settings.core.BasePreferenceController;
+
+public class MultiUserPreferenceController extends BasePreferenceController {
+
+    public MultiUserPreferenceController(Context context, String preferenceKey) {
+        super(context, preferenceKey);
+    }
+
+    @Override
+    public int getAvailabilityStatus() {
+        return (UserHandle.MU_ENABLED && UserManager.supportsMultipleUsers()
+                && !Utils.isMonkeyRunning()) ? AVAILABLE : UNSUPPORTED_ON_DEVICE;
+    }
+
+    @Override
+    public CharSequence getSummary() {
+        UserManager um = mContext.getSystemService(UserManager.class);
+        UserInfo info = um.getUserInfo(UserHandle.myUserId());
+        return mContext.getString(R.string.users_summary, info.name);
+    }
+}
diff --git a/src/com/android/settings/users/UserDetailsSettings.java b/src/com/android/settings/users/UserDetailsSettings.java
index 402d4b1..a030d86 100644
--- a/src/com/android/settings/users/UserDetailsSettings.java
+++ b/src/com/android/settings/users/UserDetailsSettings.java
@@ -32,7 +32,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -89,7 +89,7 @@
 
     @VisibleForTesting
     RestrictedPreference mSwitchUserPref;
-    private SwitchPreference mPhonePref;
+    private TwoStatePreference mPhonePref;
     @VisibleForTesting
     Preference mAppAndContentAccessPref;
     @VisibleForTesting
@@ -97,7 +97,7 @@
     @VisibleForTesting
     Preference mRemoveUserPref;
     @VisibleForTesting
-    SwitchPreference mGrantAdminPref;
+    TwoStatePreference mGrantAdminPref;
 
     @VisibleForTesting
     /** The user being studied (not the user doing the studying). */
@@ -376,7 +376,9 @@
             if (!Utils.isVoiceCapable(context)) { // no telephony
                 removePreference(KEY_ENABLE_TELEPHONY);
             }
-
+            if (mUserInfo.isMain()) {
+                removePreference(KEY_ENABLE_TELEPHONY);
+            }
             if (mUserInfo.isRestricted()) {
                 removePreference(KEY_ENABLE_TELEPHONY);
                 if (isNewUser) {
@@ -474,9 +476,12 @@
 
     private void enableCallsAndSms(boolean enabled) {
         mPhonePref.setChecked(enabled);
-        UserHandle userHandle = UserHandle.of(mUserInfo.id);
-        mUserManager.setUserRestriction(UserManager.DISALLOW_OUTGOING_CALLS, !enabled, userHandle);
-        mUserManager.setUserRestriction(UserManager.DISALLOW_SMS, !enabled, userHandle);
+        int[] userProfiles = mUserManager.getProfileIdsWithDisabled(mUserInfo.id);
+        for (int userId : userProfiles) {
+            UserHandle user = UserHandle.of(userId);
+            mUserManager.setUserRestriction(UserManager.DISALLOW_OUTGOING_CALLS, !enabled, user);
+            mUserManager.setUserRestriction(UserManager.DISALLOW_SMS, !enabled, user);
+        }
     }
 
     /**
diff --git a/src/com/android/settings/users/UserSettings.java b/src/com/android/settings/users/UserSettings.java
index b0816fd..70d8ed3 100644
--- a/src/com/android/settings/users/UserSettings.java
+++ b/src/com/android/settings/users/UserSettings.java
@@ -35,6 +35,7 @@
 import android.graphics.BlendMode;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.LayerDrawable;
+import android.multiuser.Flags;
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Bundle;
@@ -892,13 +893,24 @@
                                         UserIcons.convertToBitmapAtUserIconSize(
                                                 activity.getResources(), newUserIcon)));
                         mMePreference.setIcon(newUserIcon);
+                        if (Flags.avatarSync()) {
+                            final String pkg = getString(R.string.config_avatar_picker_package);
+                            final String action = pkg + ".set.confirm";
+                            activity.sendBroadcast(new Intent(action).setPackage(pkg));
+                        }
                     }
 
                     if (!TextUtils.isEmpty(newUserName) && !newUserName.equals(user.name)) {
                         mMePreference.setTitle(newUserName);
                         mUserManager.setUserName(user.id, newUserName);
                     }
-                }, null);
+                }, () -> {
+                    if (Flags.avatarSync()) {
+                        final String pkg = getString(R.string.config_avatar_picker_package);
+                        final String action = pkg + ".set.cancel";
+                        activity.sendBroadcast(new Intent(action).setPackage(pkg));
+                    }
+                });
     }
 
     private Dialog buildAddUserDialog(int userType) {
@@ -1004,9 +1016,9 @@
             mAddingUser = true;
             mAddingUserName = userType == USER_TYPE_USER
                     ? (mPendingUserName != null ? mPendingUserName.toString()
-                    : getString(R.string.user_new_user_name))
+                    : getString(com.android.settingslib.R.string.user_new_user_name))
                     : (mPendingUserName != null ? mPendingUserName.toString()
-                            : getString(R.string.user_new_profile_name));
+                            : getString(com.android.settingslib.R.string.user_new_profile_name));
         }
 
         mUserCreatingDialog = new UserCreatingDialog(getActivity());
@@ -1357,13 +1369,14 @@
         String guestExitSummary;
         if (mUserCaps.mIsEphemeral) {
             guestExitSummary = getContext().getString(
-                    R.string.guest_notification_ephemeral);
+                    com.android.settingslib.R.string.guest_notification_ephemeral);
         } else if (isGuestFirstLogin) {
             guestExitSummary = getContext().getString(
-                    R.string.guest_notification_non_ephemeral);
+                    com.android.settingslib.R.string.guest_notification_non_ephemeral);
         } else {
             guestExitSummary = getContext().getString(
-                    R.string.guest_notification_non_ephemeral_non_first_login);
+                    com.android.settingslib.R
+                            .string.guest_notification_non_ephemeral_non_first_login);
         }
         mGuestExitPreference.setSummary(guestExitSummary);
     }
@@ -1394,7 +1407,8 @@
             pref.setOnPreferenceClickListener(this);
             pref.setEnabled(canOpenUserDetails);
             pref.setSelectable(true);
-            Drawable icon = getContext().getDrawable(R.drawable.ic_account_circle_outline);
+            Drawable icon = getContext().getDrawable(
+                    com.android.settingslib.R.drawable.ic_account_circle_outline);
             icon.setTint(
                     getColorAttrDefaultColor(getContext(), android.R.attr.colorControlNormal));
             pref.setIcon(encircleUserIcon(
@@ -1439,14 +1453,15 @@
                 && mUserManager.canAddMoreUsers(UserManager.USER_TYPE_FULL_GUEST)
                 && WizardManagerHelper.isDeviceProvisioned(context)
                 && mUserCaps.mUserSwitcherEnabled) {
-            Drawable icon = context.getDrawable(R.drawable.ic_account_circle);
+            Drawable icon = context.getDrawable(
+                    com.android.settingslib.R.drawable.ic_account_circle);
             mAddGuest.setIcon(centerAndTint(icon));
             isVisible = true;
             mAddGuest.setVisible(true);
             mAddGuest.setSelectable(true);
             if (mGuestUserAutoCreated && mGuestCreationScheduled.get()) {
                 mAddGuest.setTitle(com.android.internal.R.string.guest_name);
-                mAddGuest.setSummary(R.string.guest_resetting);
+                mAddGuest.setSummary(com.android.settingslib.R.string.guest_resetting);
                 mAddGuest.setEnabled(false);
             } else {
                 mAddGuest.setTitle(com.android.settingslib.R.string.guest_new_guest);
@@ -1460,14 +1475,16 @@
 
     private void updateAddUser(Context context) {
         updateAddUserCommon(context, mAddUser, mUserCaps.mCanAddRestrictedProfile);
-        Drawable icon = context.getDrawable(R.drawable.ic_account_circle_filled);
+        Drawable icon = context.getDrawable(
+                com.android.settingslib.R.drawable.ic_account_circle_filled);
         mAddUser.setIcon(centerAndTint(icon));
     }
 
     private void updateAddSupervisedUser(Context context) {
         if (!TextUtils.isEmpty(mConfigSupervisedUserCreationPackage)) {
             updateAddUserCommon(context, mAddSupervisedUser, false);
-            Drawable icon = context.getDrawable(R.drawable.ic_add_supervised_user);
+            Drawable icon = context.getDrawable(
+                    com.android.settingslib.R.drawable.ic_add_supervised_user);
             mAddSupervisedUser.setIcon(centerAndTint(icon));
         } else {
             mAddSupervisedUser.setVisible(false);
@@ -1505,7 +1522,8 @@
         icon.setTintBlendMode(BlendMode.SRC_IN);
         icon.setTint(getColorAttrDefaultColor(getContext(), android.R.attr.textColorPrimary));
 
-        Drawable bg = getContext().getDrawable(R.drawable.user_avatar_bg).mutate();
+        Drawable bg = getContext().getDrawable(com.android.settingslib.R.drawable.user_avatar_bg)
+                .mutate();
         LayerDrawable ld = new LayerDrawable(new Drawable[] {bg, icon});
         int size = getContext().getResources().getDimensionPixelSize(
                 R.dimen.multiple_users_avatar_size);
@@ -1718,6 +1736,9 @@
                 public List<SearchIndexableRaw> getRawDataToIndex(Context context,
                         boolean enabled) {
                     final List<SearchIndexableRaw> rawData = new ArrayList<>();
+                    if (!UserManager.supportsMultipleUsers()) {
+                        return rawData;
+                    }
 
                     SearchIndexableRaw allowMultipleUsersResult = new SearchIndexableRaw(context);
 
@@ -1750,6 +1771,9 @@
                             .updateNonIndexableKeys(niks);
                     new AutoSyncWorkDataPreferenceController(context, null /* parent */)
                             .updateNonIndexableKeys(niks);
+                    if (suppressAllPage) {
+                        niks.add(KEY_ALLOW_MULTIPLE_USERS);
+                    }
                     return niks;
                 }
             };
diff --git a/src/com/android/settings/utils/ContentCaptureUtils.java b/src/com/android/settings/utils/ContentCaptureUtils.java
index b01749f..2445e87 100644
--- a/src/com/android/settings/utils/ContentCaptureUtils.java
+++ b/src/com/android/settings/utils/ContentCaptureUtils.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.utils;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.IBinder;
@@ -27,6 +25,9 @@
 import android.util.Log;
 import android.view.contentcapture.ContentCaptureManager;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 public final class ContentCaptureUtils {
 
     private static final String TAG = ContentCaptureUtils.class.getSimpleName();
diff --git a/src/com/android/settings/utils/FileSizeFormatter.java b/src/com/android/settings/utils/FileSizeFormatter.java
index 9ef0fe2..5950d5d 100644
--- a/src/com/android/settings/utils/FileSizeFormatter.java
+++ b/src/com/android/settings/utils/FileSizeFormatter.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.utils;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.content.Context;
 import android.icu.text.DecimalFormat;
 import android.icu.text.MeasureFormat;
@@ -28,6 +26,9 @@
 import android.text.TextUtils;
 import android.view.View;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import java.math.BigDecimal;
 import java.util.Locale;
 
diff --git a/src/com/android/settings/utils/ManagedServiceSettings.java b/src/com/android/settings/utils/ManagedServiceSettings.java
index a1e2b05..9f5fbc5 100644
--- a/src/com/android/settings/utils/ManagedServiceSettings.java
+++ b/src/com/android/settings/utils/ManagedServiceSettings.java
@@ -18,7 +18,6 @@
 
 import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_NOTIFICATION_LISTENER_BLOCKED;
 
-import android.annotation.Nullable;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
@@ -34,17 +33,18 @@
 import android.util.Log;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.Fragment;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settings.widget.EmptyTextSettings;
+import com.android.settingslib.RestrictedSwitchPreference;
 import com.android.settingslib.applications.ServiceListing;
-import com.android.settingslib.widget.AppSwitchPreference;
+import com.android.settingslib.widget.TwoTargetPreference;
 
 import java.util.List;
 
@@ -121,10 +121,12 @@
             }
             final CharSequence finalTitle = title;
             final String summary = service.loadLabel(mPm).toString();
-            final SwitchPreference pref = new AppSwitchPreference(getPrefContext());
+            final RestrictedSwitchPreference pref =
+                    new RestrictedSwitchPreference(getPrefContext());
             pref.setPersistent(false);
             pref.setIcon(mIconDrawableFactory.getBadgedIcon(service, service.applicationInfo,
                     UserHandle.getUserId(service.applicationInfo.uid)));
+            pref.setIconSize(TwoTargetPreference.ICON_SIZE_MEDIUM);
             if (title != null && !title.equals(summary)) {
                 pref.setTitle(title);
                 pref.setSummary(summary);
@@ -150,6 +152,9 @@
                 }
             });
             pref.setKey(cn.flattenToString());
+            if (!pref.isChecked()) {
+                pref.checkEcmRestrictionAndSetDisabled(mConfig.permission, service.packageName);
+            }
             screen.addPreference(pref);
         }
         highlightPreferenceIfNeeded();
diff --git a/src/com/android/settings/uwb/UwbPreferenceController.java b/src/com/android/settings/uwb/UwbPreferenceController.java
index 7f19765..59b3534 100644
--- a/src/com/android/settings/uwb/UwbPreferenceController.java
+++ b/src/com/android/settings/uwb/UwbPreferenceController.java
@@ -79,6 +79,7 @@
                 mStateReason = reason;
                 updateState(mPreference);
             };
+            mState = mUwbManager.getAdapterState();
         } else {
             mUwbManager = null;
             mAirplaneModeChangedReceiver = null;
@@ -183,5 +184,10 @@
     public int getSliceHighlightMenuRes() {
         return R.string.menu_key_connected_devices;
     }
+
+    @Override
+    public boolean hasAsyncUpdate() {
+        return true;
+    }
 }
 
diff --git a/src/com/android/settings/vpn2/AppManagementFragment.java b/src/com/android/settings/vpn2/AppManagementFragment.java
index 7d17541..00c8f59 100644
--- a/src/com/android/settings/vpn2/AppManagementFragment.java
+++ b/src/com/android/settings/vpn2/AppManagementFragment.java
@@ -18,7 +18,6 @@
 import static android.app.AppOpsManager.OP_ACTIVATE_PLATFORM_VPN;
 import static android.app.AppOpsManager.OP_ACTIVATE_VPN;
 
-import android.annotation.NonNull;
 import android.app.AppOpsManager;
 import android.app.Dialog;
 import android.app.admin.DevicePolicyManager;
@@ -35,6 +34,7 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.DialogFragment;
@@ -123,7 +123,7 @@
         mPackageManager = getContext().getPackageManager();
         mDevicePolicyManager = getContext().getSystemService(DevicePolicyManager.class);
         mVpnManager = getContext().getSystemService(VpnManager.class);
-        mFeatureProvider = FeatureFactory.getFactory(getContext()).getAdvancedVpnFeatureProvider();
+        mFeatureProvider = FeatureFactory.getFeatureFactory().getAdvancedVpnFeatureProvider();
 
         mPreferenceVersion = findPreference(KEY_VERSION);
         mPreferenceAlwaysOn = (RestrictedSwitchPreference) findPreference(KEY_ALWAYS_ON_VPN);
diff --git a/src/com/android/settings/vpn2/AppVpnInfo.java b/src/com/android/settings/vpn2/AppVpnInfo.java
index f225470..be938a6 100644
--- a/src/com/android/settings/vpn2/AppVpnInfo.java
+++ b/src/com/android/settings/vpn2/AppVpnInfo.java
@@ -1,6 +1,6 @@
 package com.android.settings.vpn2;
 
-import android.annotation.NonNull;
+import androidx.annotation.NonNull;
 
 import com.android.internal.util.Preconditions;
 
diff --git a/src/com/android/settings/vpn2/ConfigDialog.java b/src/com/android/settings/vpn2/ConfigDialog.java
index 036487d..1c001cb 100644
--- a/src/com/android/settings/vpn2/ConfigDialog.java
+++ b/src/com/android/settings/vpn2/ConfigDialog.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.vpn2;
 
-import static com.android.internal.net.VpnProfile.isLegacyType;
-
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.PackageManager;
@@ -43,9 +41,6 @@
 import com.android.settings.R;
 import com.android.settings.utils.AndroidKeystoreAliasLoader;
 
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collection;
 import java.util.List;
 
@@ -60,13 +55,18 @@
         View.OnClickListener, AdapterView.OnItemSelectedListener,
         CompoundButton.OnCheckedChangeListener {
     private static final String TAG = "ConfigDialog";
+    // Vpn profile constants to match with R.array.vpn_types.
+    private static final List<Integer> VPN_TYPES = List.of(
+            VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS,
+            VpnProfile.TYPE_IKEV2_IPSEC_PSK,
+            VpnProfile.TYPE_IKEV2_IPSEC_RSA
+    );
+
     private final DialogInterface.OnClickListener mListener;
     private final VpnProfile mProfile;
 
     private boolean mEditing;
     private boolean mExists;
-    private List<String> mTotalTypes;
-    private List<String> mAllowedTypes;
 
     private View mView;
 
@@ -75,14 +75,9 @@
     private TextView mServer;
     private TextView mUsername;
     private TextView mPassword;
-    private TextView mSearchDomains;
-    private TextView mDnsServers;
-    private TextView mRoutes;
     private Spinner mProxySettings;
     private TextView mProxyHost;
     private TextView mProxyPort;
-    private CheckBox mMppe;
-    private TextView mL2tpSecret;
     private TextView mIpsecIdentifier;
     private TextView mIpsecSecret;
     private Spinner mIpsecUserCert;
@@ -116,14 +111,9 @@
         mServer = (TextView) mView.findViewById(R.id.server);
         mUsername = (TextView) mView.findViewById(R.id.username);
         mPassword = (TextView) mView.findViewById(R.id.password);
-        mSearchDomains = (TextView) mView.findViewById(R.id.search_domains);
-        mDnsServers = (TextView) mView.findViewById(R.id.dns_servers);
-        mRoutes = (TextView) mView.findViewById(R.id.routes);
         mProxySettings = (Spinner) mView.findViewById(R.id.vpn_proxy_settings);
         mProxyHost = (TextView) mView.findViewById(R.id.vpn_proxy_host);
         mProxyPort = (TextView) mView.findViewById(R.id.vpn_proxy_port);
-        mMppe = (CheckBox) mView.findViewById(R.id.mppe);
-        mL2tpSecret = (TextView) mView.findViewById(R.id.l2tp_secret);
         mIpsecIdentifier = (TextView) mView.findViewById(R.id.ipsec_identifier);
         mIpsecSecret = (TextView) mView.findViewById(R.id.ipsec_secret);
         mIpsecUserCert = (Spinner) mView.findViewById(R.id.ipsec_user_cert);
@@ -137,29 +127,17 @@
         // Second, copy values from the profile.
         mName.setText(mProfile.name);
         setTypesByFeature(mType);
-        // Not all types will be available to the user. Find the index corresponding to the
-        // string of the profile's type.
-        if (mAllowedTypes != null && mTotalTypes != null) {
-            mType.setSelection(mAllowedTypes.indexOf(mTotalTypes.get(mProfile.type)));
-        } else {
-            Log.w(TAG, "Allowed or Total vpn types not initialized when setting initial selection");
-        }
+        mType.setSelection(convertVpnProfileConstantToTypeIndex(mProfile.type));
         mServer.setText(mProfile.server);
         if (mProfile.saveLogin) {
             mUsername.setText(mProfile.username);
             mPassword.setText(mProfile.password);
         }
-        mSearchDomains.setText(mProfile.searchDomains);
-        mDnsServers.setText(mProfile.dnsServers);
-        mRoutes.setText(mProfile.routes);
         if (mProfile.proxy != null) {
             mProxyHost.setText(mProfile.proxy.getHost());
             int port = mProfile.proxy.getPort();
             mProxyPort.setText(port == 0 ? "" : Integer.toString(port));
         }
-        mMppe.setChecked(mProfile.mppe);
-        mL2tpSecret.setText(mProfile.l2tpSecret);
-        mL2tpSecret.setTextAppearance(android.R.style.TextAppearance_DeviceDefault_Medium);
         mIpsecIdentifier.setText(mProfile.ipsecIdentifier);
         mIpsecSecret.setText(mProfile.ipsecSecret);
         final AndroidKeystoreAliasLoader androidKeystoreAliasLoader =
@@ -185,8 +163,6 @@
         mServer.addTextChangedListener(this);
         mUsername.addTextChangedListener(this);
         mPassword.addTextChangedListener(this);
-        mDnsServers.addTextChangedListener(this);
-        mRoutes.addTextChangedListener(this);
         mProxySettings.setOnItemSelectedListener(this);
         mProxyHost.addTextChangedListener(this);
         mProxyPort.addTextChangedListener(this);
@@ -217,12 +193,6 @@
                 // Create a button to forget the profile if it has already been saved..
                 setButton(DialogInterface.BUTTON_NEUTRAL,
                         context.getString(R.string.vpn_forget), mListener);
-
-                // Display warning subtitle if the existing VPN is an insecure type...
-                if (VpnProfile.isLegacyType(mProfile.type)) {
-                    TextView subtitle = mView.findViewById(R.id.dialog_alert_subtitle);
-                    subtitle.setVisibility(View.VISIBLE);
-                }
             }
 
             // Create a button to save the profile.
@@ -285,10 +255,7 @@
     @Override
     public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
         if (parent == mType) {
-            // Because the spinner may not display all available types,
-            // convert the selected position into the actual vpn profile type integer.
-            final int profileType = convertAllowedIndexToProfileType(position);
-            changeType(profileType);
+            changeType(VPN_TYPES.get(position));
         } else if (parent == mProxySettings) {
             updateProxyFieldsVisibility(position);
         }
@@ -330,17 +297,7 @@
         } else {
             mAlwaysOnVpn.setChecked(false);
             mAlwaysOnVpn.setEnabled(false);
-            if (!profile.isTypeValidForLockdown()) {
-                mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_type);
-            } else if (isLegacyType(profile.type) && !profile.isServerAddressNumeric()) {
-                mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_server);
-            } else if (isLegacyType(profile.type) && !profile.hasDns()) {
-                mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_no_dns);
-            } else if (isLegacyType(profile.type) && !profile.areDnsAddressesNumeric()) {
-                mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_dns);
-            } else {
-                mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_other);
-            }
+            mAlwaysOnInvalidReason.setText(R.string.vpn_always_on_invalid_reason_other);
             mAlwaysOnInvalidReason.setVisibility(View.VISIBLE);
         }
 
@@ -370,21 +327,14 @@
     }
 
     private boolean isAdvancedOptionsEnabled() {
-        return mSearchDomains.getText().length() > 0 || mDnsServers.getText().length() > 0 ||
-                    mRoutes.getText().length() > 0 || mProxyHost.getText().length() > 0
-                    || mProxyPort.getText().length() > 0;
+        return mProxyHost.getText().length() > 0 || mProxyPort.getText().length() > 0;
     }
 
     private void configureAdvancedOptionsVisibility() {
         if (mShowOptions.isChecked() || isAdvancedOptionsEnabled()) {
             mView.findViewById(R.id.options).setVisibility(View.VISIBLE);
             mShowOptions.setVisibility(View.GONE);
-
-            // Configure networking option visibility
             // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
-            final int visibility =
-                    isLegacyType(getSelectedVpnType()) ? View.VISIBLE : View.GONE;
-            mView.findViewById(R.id.network_options).setVisibility(visibility);
         } else {
             mView.findViewById(R.id.options).setVisibility(View.GONE);
             mShowOptions.setVisibility(View.VISIBLE);
@@ -393,8 +343,6 @@
 
     private void changeType(int type) {
         // First, hide everything.
-        mMppe.setVisibility(View.GONE);
-        mView.findViewById(R.id.l2tp).setVisibility(View.GONE);
         mView.findViewById(R.id.ipsec_psk).setVisibility(View.GONE);
         mView.findViewById(R.id.ipsec_user).setVisibility(View.GONE);
         mView.findViewById(R.id.ipsec_peer).setVisibility(View.GONE);
@@ -403,34 +351,18 @@
         setUsernamePasswordVisibility(type);
 
         // Always enable identity for IKEv2/IPsec profiles.
-        if (!isLegacyType(type)) {
-            mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
-        }
+        mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
 
         // Then, unhide type-specific fields.
         switch (type) {
-            case VpnProfile.TYPE_PPTP:
-                mMppe.setVisibility(View.VISIBLE);
-                break;
-
-            case VpnProfile.TYPE_L2TP_IPSEC_PSK:
-                mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
-                // fall through
-            case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
-            case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
                 mView.findViewById(R.id.ipsec_psk).setVisibility(View.VISIBLE);
                 mView.findViewById(R.id.options_ipsec_identity).setVisibility(View.VISIBLE);
                 break;
-
-            case VpnProfile.TYPE_L2TP_IPSEC_RSA:
-                mView.findViewById(R.id.l2tp).setVisibility(View.VISIBLE);
-                // fall through
-            case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
-            case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
+            case VpnProfile.TYPE_IKEV2_IPSEC_RSA:
                 mView.findViewById(R.id.ipsec_user).setVisibility(View.VISIBLE);
                 // fall through
-            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through
-            case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
+            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
                 mView.findViewById(R.id.ipsec_peer).setVisibility(View.VISIBLE);
                 break;
         }
@@ -443,7 +375,8 @@
             return false;
         }
 
-        final int type = getSelectedVpnType();
+        final int position = mType.getSelectedItemPosition();
+        final int type = VPN_TYPES.get(position);
         if (!editing && requiresUsernamePassword(type)) {
             return mUsername.getText().length() != 0 && mPassword.getText().length() != 0;
         }
@@ -451,15 +384,8 @@
             return false;
         }
 
-        // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
-        if (isLegacyType(mProfile.type)
-                && (!validateAddresses(mDnsServers.getText().toString(), false)
-                        || !validateAddresses(mRoutes.getText().toString(), true))) {
-            return false;
-        }
-
         // All IKEv2 methods require an identifier
-        if (!isLegacyType(mProfile.type) && mIpsecIdentifier.getText().length() == 0) {
+        if (mIpsecIdentifier.getText().length() == 0) {
             return false;
         }
 
@@ -468,56 +394,23 @@
         }
 
         switch (type) {
-            case VpnProfile.TYPE_PPTP: // fall through
-            case VpnProfile.TYPE_IPSEC_HYBRID_RSA: // fall through
             case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
                 return true;
 
-            case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
-            case VpnProfile.TYPE_L2TP_IPSEC_PSK: // fall through
-            case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
                 return mIpsecSecret.getText().length() != 0;
 
-            case VpnProfile.TYPE_IKEV2_IPSEC_RSA: // fall through
-            case VpnProfile.TYPE_L2TP_IPSEC_RSA: // fall through
-            case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
+            case VpnProfile.TYPE_IKEV2_IPSEC_RSA:
                 return mIpsecUserCert.getSelectedItemPosition() != 0;
         }
         return false;
     }
 
-    private boolean validateAddresses(String addresses, boolean cidr) {
-        try {
-            for (String address : addresses.split(" ")) {
-                if (address.isEmpty()) {
-                    continue;
-                }
-                // Legacy VPN currently only supports IPv4.
-                int prefixLength = 32;
-                if (cidr) {
-                    String[] parts = address.split("/", 2);
-                    address = parts[0];
-                    prefixLength = Integer.parseInt(parts[1]);
-                }
-                byte[] bytes = InetAddress.parseNumericAddress(address).getAddress();
-                int integer = (bytes[3] & 0xFF) | (bytes[2] & 0xFF) << 8 |
-                        (bytes[1] & 0xFF) << 16 | (bytes[0] & 0xFF) << 24;
-                if (bytes.length != 4 || prefixLength < 0 || prefixLength > 32 ||
-                        (prefixLength < 32 && (integer << prefixLength) != 0)) {
-                    return false;
-                }
-            }
-        } catch (Exception e) {
-            return false;
-        }
-        return true;
-    }
-
     private void setTypesByFeature(Spinner typeSpinner) {
         String[] types = getContext().getResources().getStringArray(R.array.vpn_types);
-        mTotalTypes = new ArrayList<>(Arrays.asList(types));
-        mAllowedTypes = new ArrayList<>(Arrays.asList(types));
-
+        if (types.length != VPN_TYPES.size()) {
+            Log.wtf(TAG, "VPN_TYPES array length does not match string array");
+        }
         // Although FEATURE_IPSEC_TUNNELS should always be present in android S and beyond,
         // keep this check here just to be safe.
         if (!getContext().getPackageManager().hasSystemFeature(
@@ -532,17 +425,6 @@
             mProfile.type = VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS;
         }
 
-        // Remove all types which are legacy types from the typesList
-        if (!VpnProfile.isLegacyType(mProfile.type)) {
-            for (int i = mAllowedTypes.size() - 1; i >= 0; i--) {
-                // This must be removed from back to front in order to ensure index consistency
-                if (VpnProfile.isLegacyType(i)) {
-                    mAllowedTypes.remove(i);
-                }
-            }
-
-            types = mAllowedTypes.toArray(new String[0]);
-        }
         final ArrayAdapter<String> adapter = new ArrayAdapter<String>(
                 getContext(), android.R.layout.simple_spinner_item, types);
         adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
@@ -606,20 +488,14 @@
         // First, save common fields.
         VpnProfile profile = new VpnProfile(mProfile.key);
         profile.name = mName.getText().toString();
-        profile.type = getSelectedVpnType();
+        final int position = mType.getSelectedItemPosition();
+        profile.type = VPN_TYPES.get(position);
         profile.server = mServer.getText().toString().trim();
         profile.username = mUsername.getText().toString();
         profile.password = mPassword.getText().toString();
 
         // Save fields based on VPN type.
-        if (isLegacyType(profile.type)) {
-            // TODO(b/149070123): Add ability for platform VPNs to support DNS & routes
-            profile.searchDomains = mSearchDomains.getText().toString().trim();
-            profile.dnsServers = mDnsServers.getText().toString().trim();
-            profile.routes = mRoutes.getText().toString().trim();
-        } else {
-            profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
-        }
+        profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
 
         if (hasProxy()) {
             String proxyHost = mProxyHost.getText().toString().trim();
@@ -640,34 +516,17 @@
         }
         // Then, save type-specific fields.
         switch (profile.type) {
-            case VpnProfile.TYPE_PPTP:
-                profile.mppe = mMppe.isChecked();
-                break;
-
-            case VpnProfile.TYPE_L2TP_IPSEC_PSK:
-                profile.l2tpSecret = mL2tpSecret.getText().toString();
-                // fall through
-            case VpnProfile.TYPE_IKEV2_IPSEC_PSK: // fall through
-            case VpnProfile.TYPE_IPSEC_XAUTH_PSK:
-                profile.ipsecIdentifier = mIpsecIdentifier.getText().toString();
+            case VpnProfile.TYPE_IKEV2_IPSEC_PSK:
                 profile.ipsecSecret = mIpsecSecret.getText().toString();
                 break;
 
             case VpnProfile.TYPE_IKEV2_IPSEC_RSA:
                 if (mIpsecUserCert.getSelectedItemPosition() != 0) {
-                    profile.ipsecSecret = (String) mIpsecUserCert.getSelectedItem();
-                }
-                // fall through
-            case VpnProfile.TYPE_L2TP_IPSEC_RSA:
-                profile.l2tpSecret = mL2tpSecret.getText().toString();
-                // fall through
-            case VpnProfile.TYPE_IPSEC_XAUTH_RSA:
-                if (mIpsecUserCert.getSelectedItemPosition() != 0) {
                     profile.ipsecUserCert = (String) mIpsecUserCert.getSelectedItem();
+                    profile.ipsecSecret = profile.ipsecUserCert;
                 }
                 // fall through
-            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS: // fall through
-            case VpnProfile.TYPE_IPSEC_HYBRID_RSA:
+            case VpnProfile.TYPE_IKEV2_IPSEC_USER_PASS:
                 if (mIpsecCaCert.getSelectedItemPosition() != 0) {
                     profile.ipsecCaCert = (String) mIpsecCaCert.getSelectedItem();
                 }
@@ -692,19 +551,13 @@
         return ProxyUtils.validate(host, port, "") == ProxyUtils.PROXY_VALID;
     }
 
-    private int getSelectedVpnType() {
-        return convertAllowedIndexToProfileType(mType.getSelectedItemPosition());
-    }
-
-    private int convertAllowedIndexToProfileType(int allowedSelectedPosition) {
-        if (mAllowedTypes != null && mTotalTypes != null) {
-            final String typeString = mAllowedTypes.get(allowedSelectedPosition);
-            final int profileType = mTotalTypes.indexOf(typeString);
-            return profileType;
-        } else {
-            Log.w(TAG, "Allowed or Total vpn types not initialized when converting protileType");
-            return allowedSelectedPosition;
+    private int convertVpnProfileConstantToTypeIndex(int vpnType) {
+        final int typeIndex = VPN_TYPES.indexOf(vpnType);
+        if (typeIndex == -1) {
+            // Existing legacy profile type
+            Log.wtf(TAG, "Invalid existing profile type");
+            return 0;
         }
+        return typeIndex;
     }
-
 }
diff --git a/src/com/android/settings/vpn2/ConfigDialogFragment.java b/src/com/android/settings/vpn2/ConfigDialogFragment.java
index b8825fe..559003a 100644
--- a/src/com/android/settings/vpn2/ConfigDialogFragment.java
+++ b/src/com/android/settings/vpn2/ConfigDialogFragment.java
@@ -207,6 +207,12 @@
                 mService.startLegacyVpn(profile);
             } catch (IllegalStateException e) {
                 Toast.makeText(mContext, R.string.vpn_no_network, Toast.LENGTH_LONG).show();
+            } catch (UnsupportedOperationException e) {
+                Log.e(TAG, "Attempted to start an unsupported VPN type.");
+                final AlertDialog unusedDialog = new AlertDialog.Builder(mContext)
+                        .setMessage(R.string.vpn_start_unsupported)
+                        .setPositiveButton(android.R.string.ok, null)
+                        .show();
             }
         }
     }
diff --git a/src/com/android/settings/vpn2/OWNERS b/src/com/android/settings/vpn2/OWNERS
index 8465042..4135645 100644
--- a/src/com/android/settings/vpn2/OWNERS
+++ b/src/com/android/settings/vpn2/OWNERS
@@ -4,7 +4,6 @@
 maze@google.com
 reminv@google.com
 xiaom@google.com
-goldmanj@google.com
 hughchen@google.com
 robertluo@google.com
 timhypeng@google.com
diff --git a/src/com/android/settings/vpn2/VpnInfoPreference.java b/src/com/android/settings/vpn2/VpnInfoPreference.java
index cca45b5..9e70a5d 100644
--- a/src/com/android/settings/vpn2/VpnInfoPreference.java
+++ b/src/com/android/settings/vpn2/VpnInfoPreference.java
@@ -70,7 +70,8 @@
         }
 
         // Hide the divider from view
-        final View divider = holder.findViewById(R.id.two_target_divider);
+        final View divider =
+                holder.findViewById(com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
         divider.setVisibility(View.GONE);
     }
 
diff --git a/src/com/android/settings/vpn2/VpnSettings.java b/src/com/android/settings/vpn2/VpnSettings.java
index 8cec2f4..0ee21b9 100644
--- a/src/com/android/settings/vpn2/VpnSettings.java
+++ b/src/com/android/settings/vpn2/VpnSettings.java
@@ -129,7 +129,7 @@
         mUserManager = (UserManager) getSystemService(Context.USER_SERVICE);
         mConnectivityManager = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);
         mVpnManager = (VpnManager) getSystemService(Context.VPN_MANAGEMENT_SERVICE);
-        mFeatureProvider = FeatureFactory.getFactory(getContext()).getAdvancedVpnFeatureProvider();
+        mFeatureProvider = FeatureFactory.getFeatureFactory().getAdvancedVpnFeatureProvider();
         mIsAdvancedVpnSupported = mFeatureProvider.isAdvancedVpnSupported(getContext());
 
         mUnavailable = isUiRestricted();
@@ -141,6 +141,11 @@
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         super.onCreateOptionsMenu(menu, inflater);
+
+        if (!getContext().getResources().getBoolean(R.bool.config_show_vpn_options)) {
+            return;
+        }
+
         // Although FEATURE_IPSEC_TUNNELS should always be present in android S and beyond,
         // keep this check here just to be safe.
         if (!getContext().getPackageManager().hasSystemFeature(
@@ -191,7 +196,8 @@
         if (mUnavailable) {
             // Show a message to explain that VPN settings have been disabled
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.vpn_settings_not_available);
+                getEmptyTextView()
+                        .setText(com.android.settingslib.R.string.vpn_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
diff --git a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
index fd13586..546320c 100644
--- a/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
+++ b/src/com/android/settings/webview/WebViewUpdateServiceWrapper.java
@@ -20,14 +20,15 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
-import android.os.RemoteException;
 import android.util.Log;
+import android.webkit.IWebViewUpdateService;
 import android.webkit.UserPackage;
 import android.webkit.WebViewFactory;
 import android.webkit.WebViewProviderInfo;
+import android.webkit.WebViewUpdateManager;
 import android.widget.Toast;
 
-import com.android.settings.R;
+import androidx.annotation.Nullable;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -43,8 +44,12 @@
      */
     public PackageInfo getCurrentWebViewPackage() {
         try {
-            return WebViewFactory.getUpdateService().getCurrentWebViewPackage();
-        } catch (RemoteException e) {
+            if (android.webkit.Flags.updateServiceIpcWrapper()) {
+                return WebViewUpdateManager.getInstance().getCurrentWebViewPackage();
+            } else {
+                return WebViewFactory.getUpdateService().getCurrentWebViewPackage();
+            }
+        } catch (Exception e) {
             Log.e(TAG, e.toString());
         }
         return null;
@@ -58,8 +63,13 @@
     public List<ApplicationInfo> getValidWebViewApplicationInfos(Context context) {
         WebViewProviderInfo[] providers = null;
         try {
-            providers = WebViewFactory.getUpdateService().getValidWebViewPackages();
-        } catch (RemoteException e) {
+            if (android.webkit.Flags.updateServiceIpcWrapper()) {
+                providers = context.getSystemService(WebViewUpdateManager.class)
+                        .getValidWebViewPackages();
+            } else {
+                providers = WebViewFactory.getUpdateService().getValidWebViewPackages();
+            }
+        } catch (Exception e) {
         }
         List<ApplicationInfo> pkgs = new ArrayList<>();
         for (WebViewProviderInfo provider : providers) {
@@ -79,10 +89,15 @@
      */
     public boolean setWebViewProvider(String packageName) {
         try {
-            return packageName.equals(
-                    WebViewFactory.getUpdateService().changeProviderAndSetting(packageName));
-        } catch (RemoteException e) {
-            Log.e(TAG, "RemoteException when trying to change provider to " + packageName, e);
+            if (android.webkit.Flags.updateServiceIpcWrapper()) {
+                return packageName.equals(
+                        WebViewUpdateManager.getInstance().changeProviderAndSetting(packageName));
+            } else {
+                return packageName.equals(
+                        WebViewFactory.getUpdateService().changeProviderAndSetting(packageName));
+            }
+        } catch (Exception e) {
+            Log.e(TAG, "Exception when trying to change provider to " + packageName, e);
         }
         return false;
     }
@@ -101,9 +116,34 @@
         // The user chose a package that became invalid since the list was last updated,
         // show a Toast to explain the situation.
         Toast toast = Toast.makeText(context,
-                R.string.select_webview_provider_toast_text, Toast.LENGTH_SHORT);
+                com.android.settingslib.R.string.select_webview_provider_toast_text,
+                Toast.LENGTH_SHORT);
         toast.show();
     }
 
+    /**
+     * Fetch the package name of the default WebView provider.
+     */
+    @Nullable
+    public String getDefaultWebViewPackageName() {
+        WebViewProviderInfo provider = null;
+        try {
+            if (android.webkit.Flags.updateServiceIpcWrapper()) {
+                WebViewUpdateManager manager = WebViewUpdateManager.getInstance();
+                if (manager != null) {
+                    provider = manager.getDefaultWebViewPackage();
+                }
+            } else {
+                IWebViewUpdateService service = WebViewFactory.getUpdateService();
+                if (service != null) {
+                    provider = service.getDefaultWebViewPackage();
+                }
+            }
+        } catch (Exception e) {
+            Log.e(TAG, "Exception when trying to fetch default WebView package Name", e);
+        }
+        return provider != null ? provider.packageName : null;
+    }
+
     static final int PACKAGE_FLAGS = PackageManager.MATCH_ANY_USER;
 }
diff --git a/src/com/android/settings/wfd/WifiDisplaySettings.java b/src/com/android/settings/wfd/WifiDisplaySettings.java
old mode 100755
new mode 100644
index 8562e5f..2ec69c4
--- a/src/com/android/settings/wfd/WifiDisplaySettings.java
+++ b/src/com/android/settings/wfd/WifiDisplaySettings.java
@@ -59,7 +59,8 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 
 import com.android.internal.app.MediaRouteDialogPresenter;
 import com.android.settings.R;
@@ -139,7 +140,6 @@
         mWifiP2pChannel = mWifiP2pManager.initialize(context, Looper.getMainLooper(), null);
 
         addPreferencesFromResource(R.xml.wifi_display_settings);
-        setHasOptionsMenu(true);
     }
 
     @Override
@@ -196,8 +196,9 @@
 
     @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
-        if (mWifiDisplayStatus != null && mWifiDisplayStatus.getFeatureState()
-                != WifiDisplayStatus.FEATURE_STATE_UNAVAILABLE) {
+        if (getResources().getBoolean(R.bool.config_show_wifi_display_enable_menu)
+                && mWifiDisplayStatus != null && mWifiDisplayStatus.getFeatureState()
+                        != WifiDisplayStatus.FEATURE_STATE_UNAVAILABLE) {
             MenuItem item = menu.add(Menu.NONE, MENU_ID_ENABLE_WIFI_DISPLAY, 0,
                     R.string.wifi_display_enable_menu_item);
             item.setCheckable(true);
@@ -370,7 +371,7 @@
         }
 
         // switch for Listen Mode
-        SwitchPreference pref = new SwitchPreference(getPrefContext()) {
+        TwoStatePreference pref = new SwitchPreferenceCompat(getPrefContext()) {
             @Override
             protected void onClick() {
                 mListen = !mListen;
@@ -383,7 +384,7 @@
         mCertCategory.addPreference(pref);
 
         // switch for Autonomous GO
-        pref = new SwitchPreference(getPrefContext()) {
+        pref = new SwitchPreferenceCompat(getPrefContext()) {
             @Override
             protected void onClick() {
                 mAutoGO = !mAutoGO;
diff --git a/src/com/android/settings/widget/AppCheckBoxPreference.java b/src/com/android/settings/widget/AppCheckBoxPreference.java
index 3ce67eb..aa7e0e5 100644
--- a/src/com/android/settings/widget/AppCheckBoxPreference.java
+++ b/src/com/android/settings/widget/AppCheckBoxPreference.java
@@ -33,12 +33,12 @@
 public class AppCheckBoxPreference extends CheckBoxPreference {
     public AppCheckBoxPreference(Context context, AttributeSet attrs) {
         super(context, attrs);
-        setLayoutResource(R.layout.preference_app);
+        setLayoutResource(com.android.settingslib.widget.preference.app.R.layout.preference_app);
     }
 
     public AppCheckBoxPreference(Context context) {
         super(context);
-        setLayoutResource(R.layout.preference_app);
+        setLayoutResource(com.android.settingslib.widget.preference.app.R.layout.preference_app);
     }
 
     @Override
diff --git a/src/com/android/settings/widget/BottomLabelLayout.java b/src/com/android/settings/widget/BottomLabelLayout.java
index 6323c4d..64f27aa 100644
--- a/src/com/android/settings/widget/BottomLabelLayout.java
+++ b/src/com/android/settings/widget/BottomLabelLayout.java
@@ -16,17 +16,15 @@
 
 package com.android.settings.widget;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.Gravity;
 import android.view.View;
 import android.widget.LinearLayout;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.settingslib.R;
-
 /**
  * An extension of LinearLayout that automatically switches to vertical
  * orientation when it can't fit its child views horizontally.
@@ -85,7 +83,7 @@
         setOrientation(stacked ? LinearLayout.VERTICAL : LinearLayout.HORIZONTAL);
         setGravity(stacked ? Gravity.START : Gravity.BOTTOM);
 
-        final View spacer = findViewById(R.id.spacer);
+        final View spacer = findViewById(com.android.settings.R.id.spacer);
         if (spacer != null) {
             spacer.setVisibility(stacked ? View.GONE : View.VISIBLE);
         }
diff --git a/src/com/android/settings/widget/CardPreference.java b/src/com/android/settings/widget/CardPreference.java
deleted file mode 100644
index 61114d9..0000000
--- a/src/com/android/settings/widget/CardPreference.java
+++ /dev/null
@@ -1,170 +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.widget;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.view.View;
-import android.widget.Button;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
-
-import com.android.settings.R;
-
-import com.google.android.material.card.MaterialCardView;
-
-import java.util.Optional;
-
-/** Preference that wrapped by {@link MaterialCardView} */
-public class CardPreference extends Preference {
-
-    private View.OnClickListener mPrimaryBtnClickListener = null;
-    private View.OnClickListener mSecondaryBtnClickListener = null;
-
-    private String mPrimaryButtonText = null;
-    private String mSecondaryButtonText = null;
-
-    private Optional<Button> mPrimaryButton = Optional.empty();
-    private Optional<Button> mSecondaryButton = Optional.empty();
-    private Optional<View> mButtonsGroup = Optional.empty();
-
-    private boolean mPrimaryButtonVisible = false;
-    private boolean mSecondaryButtonVisible = false;
-
-    public CardPreference(Context context) {
-        this(context, null /* attrs */);
-    }
-
-    public CardPreference(Context context, AttributeSet attrs) {
-        super(context, attrs, R.attr.cardPreferenceStyle);
-    }
-
-    @Override
-    public void onBindViewHolder(PreferenceViewHolder holder) {
-        super.onBindViewHolder(holder);
-
-        initButtonsAndLayout(holder);
-    }
-
-    private void initButtonsAndLayout(PreferenceViewHolder holder) {
-        mPrimaryButton = Optional.ofNullable((Button) holder.findViewById(android.R.id.button1));
-        mSecondaryButton = Optional.ofNullable((Button) holder.findViewById(android.R.id.button2));
-        mButtonsGroup = Optional.ofNullable(holder.findViewById(R.id.card_preference_buttons));
-
-        setPrimaryButtonText(mPrimaryButtonText);
-        setPrimaryButtonClickListener(mPrimaryBtnClickListener);
-        setPrimaryButtonVisible(mPrimaryButtonVisible);
-        setSecondaryButtonText(mSecondaryButtonText);
-        setSecondaryButtonClickListener(mSecondaryBtnClickListener);
-        setSecondaryButtonVisible(mSecondaryButtonVisible);
-    }
-
-    /** Clear layout state if needed */
-    public void resetLayoutState() {
-        setPrimaryButtonVisible(false);
-        setSecondaryButtonVisible(false);
-    }
-
-    /**
-     * Register a callback to be invoked when the primary button is clicked.
-     *
-     * @param l the callback that will run
-     */
-    public void setPrimaryButtonClickListener(View.OnClickListener l) {
-        mPrimaryButton.ifPresent(button -> button.setOnClickListener(l));
-        mPrimaryBtnClickListener = l;
-    }
-
-    /**
-     * Register a callback to be invoked when the secondary button is clicked.
-     *
-     * @param l the callback that will run
-     */
-    public void setSecondaryButtonClickListener(View.OnClickListener l) {
-        mSecondaryButton.ifPresent(button -> button.setOnClickListener(l));
-        mSecondaryBtnClickListener = l;
-    }
-
-    /**
-     * Sets the text to be displayed on primary button.
-     *
-     * @param text text to be displayed
-     */
-    public void setPrimaryButtonText(String text) {
-        mPrimaryButton.ifPresent(button -> button.setText(text));
-        mPrimaryButtonText = text;
-    }
-
-    /**
-     * Sets the text to be displayed on secondary button.
-     *
-     * @param text text to be displayed
-     */
-    public void setSecondaryButtonText(String text) {
-        mSecondaryButton.ifPresent(button -> button.setText(text));
-        mSecondaryButtonText = text;
-    }
-
-    /**
-     * Set the visible on the primary button.
-     *
-     * @param visible {@code true} for visible
-     */
-    public void setPrimaryButtonVisible(boolean visible) {
-        mPrimaryButton.ifPresent(
-                button -> button.setVisibility(visible ? View.VISIBLE : View.GONE));
-        mPrimaryButtonVisible = visible;
-        updateButtonGroupsVisibility();
-    }
-
-    /**
-     * Set the visible on the secondary button.
-     *
-     * @param visible {@code true} for visible
-     */
-    public void setSecondaryButtonVisible(boolean visible) {
-        mSecondaryButton.ifPresent(
-                button -> button.setVisibility(visible ? View.VISIBLE : View.GONE));
-        mSecondaryButtonVisible = visible;
-        updateButtonGroupsVisibility();
-    }
-
-    /**
-     * Sets the text of content description on primary button.
-     *
-     * @param text text for the content description
-     */
-    public void setPrimaryButtonContentDescription(String text) {
-        mPrimaryButton.ifPresent(button -> button.setContentDescription(text));
-    }
-
-    /**
-     * Sets the text of content description on secondary button.
-     *
-     * @param text text for the content description
-     */
-    public void setSecondaryButtonContentDescription(String text) {
-        mSecondaryButton.ifPresent(button -> button.setContentDescription(text));
-    }
-
-    private void updateButtonGroupsVisibility() {
-        int visibility =
-                (mPrimaryButtonVisible || mSecondaryButtonVisible) ? View.VISIBLE : View.GONE;
-        mButtonsGroup.ifPresent(group -> group.setVisibility(visibility));
-    }
-}
diff --git a/src/com/android/settings/widget/CardPreference.kt b/src/com/android/settings/widget/CardPreference.kt
new file mode 100644
index 0000000..7122ac6
--- /dev/null
+++ b/src/com/android/settings/widget/CardPreference.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.widget
+
+import android.content.Context
+import android.content.res.Resources
+import android.util.AttributeSet
+import androidx.compose.ui.graphics.vector.ImageVector
+import androidx.compose.ui.res.vectorResource
+import com.android.settings.spa.preference.ComposePreference
+import com.android.settingslib.spa.widget.card.CardButton
+import com.android.settingslib.spa.widget.card.CardModel
+import com.android.settingslib.spa.widget.card.SettingsCard
+
+/** A preference for settings banner tips card. */
+class CardPreference
+@JvmOverloads
+constructor(
+    context: Context,
+    attr: AttributeSet? = null,
+) : ComposePreference(context, attr) {
+
+    /** A icon resource id for displaying icon on tips card. */
+    var iconResId: Int? = null
+
+    /** The primary button's text. */
+    var primaryButtonText: String = ""
+
+    /** The accessibility content description of the primary button. */
+    var primaryButtonContentDescription: String? = null
+
+    /** The action for click on primary button. */
+    var primaryButtonAction: () -> Unit = {}
+
+    /** The visibility of primary button on tips card. The default value is `false`. */
+    var primaryButtonVisibility: Boolean = false
+
+    /** The text on the second button of this [SettingsCard]. */
+    var secondaryButtonText: String = ""
+
+    /** The accessibility content description of the secondary button. */
+    var secondaryButtonContentDescription: String? = null
+
+    /** The action for click on secondary button. */
+    var secondaryButtonAction: () -> Unit = {}
+
+    /** The visibility of secondary button on tips card. The default value is `false`. */
+    var secondaryButtonVisibility: Boolean = false
+
+    private var onDismiss: (() -> Unit)? = null
+
+    /** Enable the dismiss button on tips card. */
+    fun enableDismiss(enable: Boolean) =
+        if (enable) onDismiss = { isVisible = false } else onDismiss = null
+
+    /** Clear layout state if needed. */
+    fun resetLayoutState() {
+        primaryButtonVisibility = false
+        secondaryButtonVisibility = false
+        notifyChanged()
+    }
+
+    /** Build the tips card content to apply any changes of this card's property. */
+    fun buildContent() {
+        setContent {
+            SettingsCard(
+                CardModel(
+                    title = title?.toString() ?: "",
+                    text = summary?.toString() ?: "",
+                    buttons = listOfNotNull(configPrimaryButton(), configSecondaryButton()),
+                    onDismiss = onDismiss,
+                    imageVector =
+                        iconResId
+                            ?.takeIf { it != Resources.ID_NULL }
+                            ?.let { ImageVector.vectorResource(it) },
+                )
+            )
+        }
+    }
+
+    private fun configPrimaryButton(): CardButton? {
+        return if (primaryButtonVisibility)
+            CardButton(
+                text = primaryButtonText,
+                contentDescription = primaryButtonContentDescription,
+                onClick = primaryButtonAction,
+            )
+        else null
+    }
+
+    private fun configSecondaryButton(): CardButton? {
+        return if (secondaryButtonVisibility)
+            CardButton(
+                text = secondaryButtonText,
+                contentDescription = secondaryButtonContentDescription,
+                onClick = secondaryButtonAction,
+            )
+        else null
+    }
+
+    override fun notifyChanged() {
+        buildContent()
+        super.notifyChanged()
+    }
+}
diff --git a/src/com/android/settings/widget/EmptyTextSettings.java b/src/com/android/settings/widget/EmptyTextSettings.java
index a6e5c60..ddd1370 100644
--- a/src/com/android/settings/widget/EmptyTextSettings.java
+++ b/src/com/android/settings/widget/EmptyTextSettings.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.widget;
 
-import android.annotation.Nullable;
 import android.os.Bundle;
 import android.util.TypedValue;
 import android.view.Gravity;
@@ -25,6 +24,8 @@
 import android.view.ViewGroup.LayoutParams;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 
diff --git a/src/com/android/settings/widget/EntityHeaderController.java b/src/com/android/settings/widget/EntityHeaderController.java
index 8a2403c..c89b7bb 100644
--- a/src/com/android/settings/widget/EntityHeaderController.java
+++ b/src/com/android/settings/widget/EntityHeaderController.java
@@ -38,13 +38,11 @@
 import androidx.annotation.IntDef;
 import androidx.annotation.VisibleForTesting;
 import androidx.fragment.app.Fragment;
-import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.R;
 import com.android.settings.Utils;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.applications.ApplicationsState;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.LayoutPreference;
 
 import java.lang.annotation.Retention;
@@ -67,12 +65,9 @@
     private static final String TAG = "AppDetailFeature";
 
     private final Context mAppContext;
-    private final Activity mActivity;
     private final Fragment mFragment;
     private final int mMetricsCategory;
     private final View mHeader;
-    private Lifecycle mLifecycle;
-    private RecyclerView mRecyclerView;
     private Drawable mIcon;
     private int mPrefOrder = -1000;
     private String mIconContentDescription;
@@ -107,25 +102,19 @@
     }
 
     private EntityHeaderController(Activity activity, Fragment fragment, View header) {
-        mActivity = activity;
         mAppContext = activity.getApplicationContext();
         mFragment = fragment;
-        mMetricsCategory = FeatureFactory.getFactory(mAppContext).getMetricsFeatureProvider()
+        mMetricsCategory = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                 .getMetricsCategory(fragment);
         if (header != null) {
             mHeader = header;
         } else {
             mHeader = LayoutInflater.from(fragment.getContext())
-                    .inflate(R.layout.settings_entity_header, null /* root */);
+                    .inflate(com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header,
+                            null /* root */);
         }
     }
 
-    public EntityHeaderController setRecyclerView(RecyclerView recyclerView, Lifecycle lifecycle) {
-        mRecyclerView = recyclerView;
-        mLifecycle = lifecycle;
-        return this;
-    }
-
     /**
      * Set the icon in the header. Callers should also consider calling setIconContentDescription
      * to provide a description of this icon for accessibility purposes.
@@ -180,13 +169,6 @@
         return this;
     }
 
-    public EntityHeaderController setSecondSummary(PackageInfo packageInfo) {
-        if (packageInfo != null) {
-            mSummary = packageInfo.versionName;
-        }
-        return this;
-    }
-
     public EntityHeaderController setHasAppInfoLink(boolean hasAppInfoLink) {
         mHasAppInfoLink = hasAppInfoLink;
         return this;
@@ -233,8 +215,8 @@
     /**
      * Done mutating entity header, rebinds everything and return a new {@link LayoutPreference}.
      */
-    public LayoutPreference done(Activity activity, Context uiContext) {
-        final LayoutPreference pref = new LayoutPreference(uiContext, done(activity));
+    public LayoutPreference done(Context uiContext) {
+        final LayoutPreference pref = new LayoutPreference(uiContext, done());
         // Makes sure it's the first preference onscreen.
         pref.setOrder(mPrefOrder);
         pref.setSelectable(false);
@@ -246,7 +228,7 @@
     /**
      * Done mutating entity header, rebinds everything (optionally skip rebinding buttons).
      */
-    public View done(Activity activity, boolean rebindActions) {
+    public View done(boolean rebindActions) {
         ImageView iconView = mHeader.findViewById(R.id.entity_header_icon);
         if (iconView != null) {
             iconView.setImageDrawable(mIcon);
@@ -254,9 +236,9 @@
         }
         setText(R.id.entity_header_title, mLabel);
         setText(R.id.entity_header_summary, mSummary);
-        setText(R.id.entity_header_second_summary, mSecondSummary);
+        setText(com.android.settingslib.widget.preference.layout.R.id.entity_header_second_summary, mSecondSummary);
         if (mIsInstantApp) {
-            setText(R.id.install_type,
+            setText(com.android.settingslib.widget.preference.layout.R.id.install_type,
                     mHeader.getResources().getString(R.string.install_type_instant));
         }
 
@@ -271,7 +253,8 @@
      * Only binds entity header with button actions.
      */
     public EntityHeaderController bindHeaderButtons() {
-        final View entityHeaderContent = mHeader.findViewById(R.id.entity_header_content);
+        final View entityHeaderContent = mHeader.findViewById(
+                com.android.settingslib.widget.preference.layout.R.id.entity_header_content);
         final ImageButton button1 = mHeader.findViewById(android.R.id.button1);
         final ImageButton button2 = mHeader.findViewById(android.R.id.button2);
         bindAppInfoLink(entityHeaderContent);
@@ -301,8 +284,8 @@
      * Done mutating entity header, rebinds everything.
      */
     @VisibleForTesting
-    View done(Activity activity) {
-        return done(activity, true /* rebindActions */);
+    View done() {
+        return done(true /* rebindActions */);
     }
 
     private void bindButton(ImageButton button, @ActionType int action) {
@@ -325,7 +308,7 @@
                     button.setVisibility(View.GONE);
                 } else {
                     button.setOnClickListener(v -> {
-                        FeatureFactory.getFactory(mAppContext).getMetricsFeatureProvider()
+                        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider()
                                 .action(SettingsEnums.PAGE_UNKNOWN,
                                         SettingsEnums.ACTION_OPEN_APP_NOTIFICATION_SETTING,
                                         mMetricsCategory,
diff --git a/src/com/android/settings/widget/FilterTouchesRestrictedSwitchPreference.java b/src/com/android/settings/widget/FilterTouchesRestrictedSwitchPreference.java
index f4c3a14..9745e31 100644
--- a/src/com/android/settings/widget/FilterTouchesRestrictedSwitchPreference.java
+++ b/src/com/android/settings/widget/FilterTouchesRestrictedSwitchPreference.java
@@ -50,7 +50,7 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final View switchView = holder.findViewById(android.R.id.switch_widget);
+        final View switchView = holder.findViewById(androidx.preference.R.id.switchWidget);
         if (switchView != null) {
             final View rootView = switchView.getRootView();
             rootView.setFilterTouchesWhenObscured(true);
diff --git a/src/com/android/settings/widget/FilterTouchesSwitchPreference.java b/src/com/android/settings/widget/FilterTouchesSwitchPreference.java
index 1b4d681..af625b2 100644
--- a/src/com/android/settings/widget/FilterTouchesSwitchPreference.java
+++ b/src/com/android/settings/widget/FilterTouchesSwitchPreference.java
@@ -20,13 +20,13 @@
 import android.view.View;
 
 import androidx.preference.PreferenceViewHolder;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
 /**
  *  This widget with enabled filterTouchesWhenObscured attribute use to replace
- *  the {@link SwitchPreference} in the Special access app pages for security.
+ *  the {@link SwitchPreferenceCompat} in the Special access app pages for security.
  */
-public class FilterTouchesSwitchPreference extends SwitchPreference {
+public class FilterTouchesSwitchPreference extends SwitchPreferenceCompat {
 
     public FilterTouchesSwitchPreference(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
@@ -48,7 +48,7 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final View switchView = holder.findViewById(android.R.id.switch_widget);
+        final View switchView = holder.findViewById(androidx.preference.R.id.switchWidget);
         if (switchView != null) {
             final View rootView = switchView.getRootView();
             rootView.setFilterTouchesWhenObscured(true);
diff --git a/src/com/android/settings/widget/GenericSwitchController.java b/src/com/android/settings/widget/GenericSwitchController.java
index 819907a..c20f932 100644
--- a/src/com/android/settings/widget/GenericSwitchController.java
+++ b/src/com/android/settings/widget/GenericSwitchController.java
@@ -45,8 +45,7 @@
 
     private void setPreference(Preference preference) {
         mPreference = preference;
-        mMetricsFeatureProvider =
-                FeatureFactory.getFactory(preference.getContext()).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
diff --git a/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java b/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
index a64ec89..7145460 100644
--- a/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
+++ b/src/com/android/settings/widget/HighlightablePreferenceGroupAdapter.java
@@ -29,12 +29,14 @@
 import android.util.TypedValue;
 import android.view.View;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceGroupAdapter;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
 import androidx.recyclerview.widget.RecyclerView;
+import androidx.recyclerview.widget.RecyclerView.ViewHolder;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
@@ -122,6 +124,9 @@
                 && TextUtils.equals(mHighlightKey, getItem(position).getKey()))) {
             // This position should be highlighted. If it's highlighted before - skip animation.
             addHighlightBackground(holder, !mFadeInAnimated);
+            if (v != null) {
+                v.requestAccessibilityFocus();
+            }
         } else if (Boolean.TRUE.equals(v.getTag(R.id.preference_highlighted))) {
             // View with highlight is reused for a view that should not have highlight
             removeHighlightBackground(holder, false /* animate */);
@@ -156,15 +161,32 @@
         root.postDelayed(() -> {
             if (ensureHighlightPosition()) {
                 recyclerView.smoothScrollToPosition(mHighlightPosition);
+                highlightAndFocusTargetItem(recyclerView, mHighlightPosition);
             }
         }, DELAY_HIGHLIGHT_DURATION_MILLIS);
+    }
 
-        // Highlight preference after 900 milliseconds.
-        root.postDelayed(() -> {
-            if (ensureHighlightPosition()) {
-                notifyItemChanged(mHighlightPosition);
-            }
-        }, DELAY_COLLAPSE_DURATION_MILLIS + DELAY_HIGHLIGHT_DURATION_MILLIS);
+    private void highlightAndFocusTargetItem(RecyclerView recyclerView, int highlightPosition) {
+        ViewHolder target = recyclerView.findViewHolderForAdapterPosition(highlightPosition);
+        if (target != null) { // view already visible
+            notifyItemChanged(mHighlightPosition);
+            target.itemView.requestFocus();
+        } else { // otherwise we're about to scroll to that view (but we might not be scrolling yet)
+            recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
+                @Override
+                public void onScrollStateChanged(@NonNull RecyclerView recyclerView, int newState) {
+                    if (newState == RecyclerView.SCROLL_STATE_IDLE) {
+                        notifyItemChanged(mHighlightPosition);
+                        ViewHolder target = recyclerView
+                                .findViewHolderForAdapterPosition(highlightPosition);
+                        if (target != null) {
+                            target.itemView.requestFocus();
+                        }
+                        recyclerView.removeOnScrollListener(this);
+                    }
+                }
+            });
+        }
     }
 
     /**
diff --git a/src/com/android/settings/widget/MainSwitchBarController.java b/src/com/android/settings/widget/MainSwitchBarController.java
index 8aa5c9b..455da94 100644
--- a/src/com/android/settings/widget/MainSwitchBarController.java
+++ b/src/com/android/settings/widget/MainSwitchBarController.java
@@ -16,16 +16,16 @@
 
 package com.android.settings.widget;
 
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * The switch controller that is used to update the switch widget in the SettingsMainSwitchBar.
  */
 public class MainSwitchBarController extends SwitchWidgetController implements
-        OnMainSwitchChangeListener {
+        OnCheckedChangeListener {
 
     private final SettingsMainSwitchBar mMainSwitch;
 
@@ -74,7 +74,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         if (mListener != null) {
             mListener.onSwitchToggled(isChecked);
         }
diff --git a/src/com/android/settings/widget/MatchParentShrinkingLinearLayout.java b/src/com/android/settings/widget/MatchParentShrinkingLinearLayout.java
index 271378a..3fee01f 100644
--- a/src/com/android/settings/widget/MatchParentShrinkingLinearLayout.java
+++ b/src/com/android/settings/widget/MatchParentShrinkingLinearLayout.java
@@ -17,8 +17,6 @@
 package com.android.settings.widget;
 
 import android.annotation.IntDef;
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.TypedArray;
 import android.graphics.Canvas;
@@ -30,6 +28,9 @@
 import android.view.ViewGroup;
 import android.view.ViewHierarchyEncoder;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import com.android.internal.R;
 
 import java.lang.annotation.Retention;
diff --git a/src/com/android/settings/widget/RadioButtonPickerFragment.java b/src/com/android/settings/widget/RadioButtonPickerFragment.java
index 9450bb9..6d94fc9 100644
--- a/src/com/android/settings/widget/RadioButtonPickerFragment.java
+++ b/src/com/android/settings/widget/RadioButtonPickerFragment.java
@@ -16,6 +16,7 @@
 
 package com.android.settings.widget;
 
+import android.annotation.AnyRes;
 import android.content.Context;
 import android.os.Bundle;
 import android.os.UserHandle;
@@ -38,6 +39,7 @@
 import com.android.settings.core.PreferenceXmlParserUtils;
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
 import com.android.settingslib.widget.CandidateInfo;
+import com.android.settingslib.widget.IllustrationPreference;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.xmlpull.v1.XmlPullParserException;
@@ -64,7 +66,7 @@
     protected int mUserId;
     private int mIllustrationId;
     private int mIllustrationPreviewId;
-    private VideoPreference mVideoPreference;
+    private IllustrationType mIllustrationType;
 
     @Override
     public void onAttach(Context context) {
@@ -252,18 +254,41 @@
     /**
      * Allows you to set an illustration at the top of this screen. Set the illustration id to 0
      * if you want to remove the illustration.
-     * @param illustrationId The res id for the raw of the illustration.
-     * @param previewId The res id for the drawable of the illustration
+     *
+     * @param illustrationId   The res id for the raw of the illustration.
+     * @param previewId        The res id for the drawable of the illustration.
+     * @param illustrationType The illustration type for the raw of the illustration.
      */
-    protected void setIllustration(int illustrationId, int previewId) {
+    protected void setIllustration(@AnyRes int illustrationId, @AnyRes int previewId,
+            IllustrationType illustrationType) {
         mIllustrationId = illustrationId;
         mIllustrationPreviewId = previewId;
+        mIllustrationType = illustrationType;
+    }
+
+    /**
+     * Allows you to set an illustration at the top of this screen. Set the illustration id to 0
+     * if you want to remove the illustration.
+     *
+     * @param illustrationId   The res id for the raw of the illustration.
+     * @param illustrationType The illustration type for the raw of the illustration.
+     */
+    protected void setIllustration(@AnyRes int illustrationId, IllustrationType illustrationType) {
+        setIllustration(illustrationId, 0, illustrationType);
     }
 
     private void addIllustration(PreferenceScreen screen) {
-        mVideoPreference = new VideoPreference(getContext());
-        mVideoPreference.setVideo(mIllustrationId, mIllustrationPreviewId);
-        screen.addPreference(mVideoPreference);
+        switch (mIllustrationType) {
+            case LOTTIE_ANIMATION:
+                IllustrationPreference illustrationPreference = new IllustrationPreference(
+                        getContext());
+                illustrationPreference.setLottieAnimationResId(mIllustrationId);
+                screen.addPreference(illustrationPreference);
+                break;
+            default:
+                throw new IllegalArgumentException(
+                        "Invalid illustration type: " + mIllustrationType);
+        }
     }
 
     protected abstract List<? extends CandidateInfo> getCandidates();
@@ -284,4 +309,8 @@
         return 0;
     }
 
+    protected enum IllustrationType {
+        LOTTIE_ANIMATION
+    }
+
 }
diff --git a/src/com/android/settings/widget/RestrictedAppPreference.java b/src/com/android/settings/widget/RestrictedAppPreference.java
index f93b935..c76a5de 100644
--- a/src/com/android/settings/widget/RestrictedAppPreference.java
+++ b/src/com/android/settings/widget/RestrictedAppPreference.java
@@ -21,6 +21,7 @@
 import android.text.TextUtils;
 import android.util.AttributeSet;
 
+import androidx.annotation.NonNull;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceViewHolder;
 
@@ -72,10 +73,18 @@
 
     @Override
     public void setEnabled(boolean enabled) {
-        if (isDisabledByAdmin() && enabled) {
-            return;
+        boolean changed = false;
+        if (enabled && isDisabledByAdmin()) {
+            mHelper.setDisabledByAdmin(null);
+            changed = true;
         }
-        super.setEnabled(enabled);
+        if (enabled && isDisabledByEcm()) {
+            mHelper.setDisabledByEcm(null);
+            changed = true;
+        }
+        if (!changed) {
+            super.setEnabled(enabled);
+        }
     }
 
     public void setDisabledByAdmin(RestrictedLockUtils.EnforcedAdmin admin) {
@@ -88,6 +97,10 @@
         return mHelper.isDisabledByAdmin();
     }
 
+    public boolean isDisabledByEcm() {
+        return mHelper.isDisabledByEcm();
+    }
+
     public void useAdminDisabledSummary(boolean useSummary) {
         mHelper.useAdminDisabledSummary(useSummary);
     }
@@ -112,4 +125,15 @@
     public void checkRestrictionAndSetDisabled(String userRestriction, int userId) {
         mHelper.checkRestrictionAndSetDisabled(userRestriction, userId);
     }
+
+    /**
+     * Checks if the given setting is subject to Enhanced Confirmation Mode restrictions for this
+     * package. Marks the preference as disabled if so.
+     * @param settingIdentifier The key identifying the setting
+     * @param packageName the package to check the settingIdentifier for
+     */
+    public void checkEcmRestrictionAndSetDisabled(@NonNull String settingIdentifier,
+                                                  @NonNull String packageName) {
+        mHelper.checkEcmRestrictionAndSetDisabled(settingIdentifier, packageName);
+    }
 }
diff --git a/src/com/android/settings/widget/RestrictedButton.java b/src/com/android/settings/widget/RestrictedButton.java
new file mode 100644
index 0000000..778ea34
--- /dev/null
+++ b/src/com/android/settings/widget/RestrictedButton.java
@@ -0,0 +1,86 @@
+/*
+ * 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.widget;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.util.AttributeSet;
+import android.widget.Button;
+
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
+import com.android.settingslib.RestrictedLockUtilsInternal;
+
+/**
+ * A preference with a plus button on the side representing an "add" action. The plus button will
+ * only be visible when a non-null click listener is registered.
+ */
+public class RestrictedButton extends Button {
+
+    private UserHandle mUserHandle;
+    private String mUserRestriction;
+
+    public RestrictedButton(Context context) {
+        super(context);
+    }
+
+    public RestrictedButton(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public RestrictedButton(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public RestrictedButton(Context context, AttributeSet attrs, int defStyleAttr,
+            int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    public boolean performClick() {
+        EnforcedAdmin admin = getEnforcedAdmin();
+        if (admin != null) {
+            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(mContext, admin);
+            return false;
+        }
+        return super.performClick();
+    }
+
+    /** Initialize the button with {@link UserHandle} and a restriction */
+    public void init(UserHandle userHandle, String restriction) {
+        setAllowClickWhenDisabled(true);
+        mUserHandle = userHandle;
+        mUserRestriction = restriction;
+    }
+
+    /** Update the restriction state */
+    public void updateState() {
+        setEnabled(getEnforcedAdmin() == null);
+    }
+
+    private EnforcedAdmin getEnforcedAdmin() {
+        if (mUserHandle != null) {
+            EnforcedAdmin admin = RestrictedLockUtilsInternal.checkIfRestrictionEnforced(
+                    mContext, mUserRestriction, mUserHandle.getIdentifier());
+            if (admin != null) {
+                return admin;
+            }
+        }
+        return null;
+    }
+}
diff --git a/src/com/android/settings/widget/SettingsMainSwitchBar.java b/src/com/android/settings/widget/SettingsMainSwitchBar.java
index 8b8a9ba..e8c6fc9 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchBar.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchBar.java
@@ -21,7 +21,6 @@
 import android.content.Context;
 import android.util.AttributeSet;
 import android.view.View;
-import android.widget.Switch;
 
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settingslib.RestrictedLockUtils;
@@ -39,10 +38,9 @@
     public interface OnBeforeCheckedChangeListener {
 
         /**
-         * @param switchView The Switch view whose state has changed.
-         * @param isChecked  The new checked state of switchView.
+         * @param isChecked The new checked state of switchView.
          */
-        boolean onBeforeCheckedChanged(Switch switchView, boolean isChecked);
+        boolean onBeforeCheckedChanged(boolean isChecked);
     }
 
     private EnforcedAdmin mEnforcedAdmin;
@@ -68,7 +66,7 @@
     public SettingsMainSwitchBar(Context context, AttributeSet attrs, int defStyleAttr,
             int defStyleRes) {
         super(context, attrs, defStyleAttr, defStyleRes);
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         addOnSwitchChangeListener((switchView, isChecked) -> logMetrics(isChecked));
     }
@@ -117,7 +115,7 @@
     @Override
     public void setChecked(boolean checked) {
         if (mOnBeforeListener != null
-                && mOnBeforeListener.onBeforeCheckedChanged(mSwitch, checked)) {
+                && mOnBeforeListener.onBeforeCheckedChanged(checked)) {
             return;
         }
         super.setChecked(checked);
diff --git a/src/com/android/settings/widget/SettingsMainSwitchPreference.java b/src/com/android/settings/widget/SettingsMainSwitchPreference.java
index 9fd8d06..9f6d787 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchPreference.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchPreference.java
@@ -19,12 +19,10 @@
 import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 import android.content.Context;
-import android.content.res.TypedArray;
-import android.text.TextUtils;
 import android.util.AttributeSet;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
-import androidx.core.content.res.TypedArrayUtils;
 import androidx.preference.PreferenceViewHolder;
 import androidx.preference.TwoStatePreference;
 
@@ -32,7 +30,6 @@
 import com.android.settings.widget.SettingsMainSwitchBar.OnBeforeCheckedChangeListener;
 import com.android.settingslib.RestrictedPreferenceHelper;
 import com.android.settingslib.core.instrumentation.SettingsJankMonitor;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -40,17 +37,16 @@
 /**
  * SettingsMainSwitchPreference is a Preference with a customized Switch.
  * This component is used as the main switch of the page
- * to enable or disable the prefereces on the page.
+ * to enable or disable the preferences on the page.
  */
 public class SettingsMainSwitchPreference extends TwoStatePreference implements
-        OnMainSwitchChangeListener {
+        OnCheckedChangeListener {
 
     private final List<OnBeforeCheckedChangeListener> mBeforeCheckedChangeListeners =
             new ArrayList<>();
-    private final List<OnMainSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>();
+    private final List<OnCheckedChangeListener> mSwitchChangeListeners = new ArrayList<>();
 
     private SettingsMainSwitchBar mMainSwitchBar;
-    private CharSequence mTitle;
     private EnforcedAdmin mEnforcedAdmin;
     private RestrictedPreferenceHelper mRestrictedHelper;
 
@@ -82,7 +78,7 @@
         holder.setDividerAllowedAbove(false);
         holder.setDividerAllowedBelow(false);
 
-        if (mRestrictedHelper != null) {
+        if (mEnforcedAdmin == null && mRestrictedHelper != null) {
             mEnforcedAdmin = mRestrictedHelper.checkRestrictionEnforced();
         }
         mMainSwitchBar = (SettingsMainSwitchBar) holder.findViewById(R.id.main_switch_bar);
@@ -103,17 +99,6 @@
         mSwitchChangeListeners.add(this);
 
         if (attrs != null) {
-            final TypedArray a = context.obtainStyledAttributes(attrs,
-                    androidx.preference.R.styleable.Preference, 0/*defStyleAttr*/,
-                    0/*defStyleRes*/);
-            final CharSequence title = TypedArrayUtils.getText(a,
-                    androidx.preference.R.styleable.Preference_title,
-                    androidx.preference.R.styleable.Preference_android_title);
-            if (!TextUtils.isEmpty(title)) {
-                setTitle(title.toString());
-            }
-            a.recycle();
-
             mRestrictedHelper = new RestrictedPreferenceHelper(context, this, attrs);
         }
     }
@@ -135,16 +120,16 @@
 
     @Override
     public void setTitle(CharSequence title) {
-        mTitle = title;
+        super.setTitle(title);
         if (mMainSwitchBar != null) {
-            mMainSwitchBar.setTitle(mTitle);
+            mMainSwitchBar.setTitle(title);
         }
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         super.setChecked(isChecked);
-        SettingsJankMonitor.detectToggleJank(getKey(), switchView);
+        SettingsJankMonitor.detectToggleJank(getKey(), buttonView);
     }
 
     /**
@@ -212,7 +197,7 @@
     /**
      * Adds a listener for switch changes
      */
-    public void addOnSwitchChangeListener(OnMainSwitchChangeListener listener) {
+    public void addOnSwitchChangeListener(OnCheckedChangeListener listener) {
         if (!mSwitchChangeListeners.contains(listener)) {
             mSwitchChangeListeners.add(listener);
         }
@@ -224,7 +209,7 @@
     /**
      * Remove a listener for switch changes
      */
-    public void removeOnSwitchChangeListener(OnMainSwitchChangeListener listener) {
+    public void removeOnSwitchChangeListener(OnCheckedChangeListener listener) {
         mSwitchChangeListeners.remove(listener);
         if (mMainSwitchBar != null) {
             mMainSwitchBar.removeOnSwitchChangeListener(listener);
@@ -245,7 +230,7 @@
 
     private void initMainSwitchBar() {
         if (mMainSwitchBar != null) {
-            mMainSwitchBar.setTitle(mTitle);
+            mMainSwitchBar.setTitle(getTitle());
             mMainSwitchBar.setDisabledByAdmin(mEnforcedAdmin);
         }
     }
@@ -254,7 +239,7 @@
         for (OnBeforeCheckedChangeListener listener : mBeforeCheckedChangeListeners) {
             mMainSwitchBar.setOnBeforeCheckedChangeListener(listener);
         }
-        for (OnMainSwitchChangeListener listener : mSwitchChangeListeners) {
+        for (OnCheckedChangeListener listener : mSwitchChangeListeners) {
             mMainSwitchBar.addOnSwitchChangeListener(listener);
         }
     }
diff --git a/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java b/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java
index 5fa9259..60e3388 100644
--- a/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java
+++ b/src/com/android/settings/widget/SettingsMainSwitchPreferenceController.java
@@ -17,20 +17,20 @@
 package com.android.settings.widget;
 
 import android.content.Context;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.TogglePreferenceController;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Preference controller for MainSwitchPreference.
  */
 public abstract class SettingsMainSwitchPreferenceController extends
-        TogglePreferenceController implements OnMainSwitchChangeListener {
+        TogglePreferenceController implements OnCheckedChangeListener {
 
     protected MainSwitchPreference mSwitchPreference;
 
@@ -49,7 +49,7 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         mSwitchPreference.setChecked(isChecked);
         setChecked(isChecked);
     }
diff --git a/src/com/android/settings/widget/SingleTargetGearPreference.java b/src/com/android/settings/widget/SingleTargetGearPreference.java
index f6496ed..e6a833d 100644
--- a/src/com/android/settings/widget/SingleTargetGearPreference.java
+++ b/src/com/android/settings/widget/SingleTargetGearPreference.java
@@ -58,7 +58,8 @@
     @Override
     public void onBindViewHolder(PreferenceViewHolder holder) {
         super.onBindViewHolder(holder);
-        final View divider = holder.findViewById(com.android.settingslib.R.id.two_target_divider);
+        final View divider = holder.findViewById(
+                com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
         if (divider != null) {
             divider.setVisibility(View.INVISIBLE);
         }
diff --git a/src/com/android/settings/widget/SwitchBar.java b/src/com/android/settings/widget/SwitchBar.java
deleted file mode 100644
index ad0294c..0000000
--- a/src/com/android/settings/widget/SwitchBar.java
+++ /dev/null
@@ -1,387 +0,0 @@
-/*
- * Copyright (C) 2014 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import static com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.res.TypedArray;
-import android.graphics.drawable.Drawable;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.text.SpannableStringBuilder;
-import android.text.TextUtils;
-import android.text.style.TextAppearanceSpan;
-import android.util.AttributeSet;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
-import android.widget.CompoundButton;
-import android.widget.ImageView;
-import android.widget.LinearLayout;
-import android.widget.Switch;
-import android.widget.TextView;
-
-import androidx.annotation.ColorInt;
-import androidx.annotation.VisibleForTesting;
-
-import com.android.settings.R;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-import java.util.ArrayList;
-import java.util.List;
-
-public class SwitchBar extends LinearLayout implements CompoundButton.OnCheckedChangeListener {
-
-    public interface OnSwitchChangeListener {
-        /**
-         * Called when the checked state of the Switch has changed.
-         *
-         * @param switchView The Switch view whose state has changed.
-         * @param isChecked  The new checked state of switchView.
-         */
-        void onSwitchChanged(Switch switchView, boolean isChecked);
-    }
-
-    private static final int[] XML_ATTRIBUTES = {
-            R.attr.switchBarMarginStart,
-            R.attr.switchBarMarginEnd,
-            R.attr.switchBarBackgroundColor,
-            R.attr.switchBarBackgroundActivatedColor,
-            R.attr.switchBarRestrictionIcon};
-
-    private final List<OnSwitchChangeListener> mSwitchChangeListeners = new ArrayList<>();
-    private final MetricsFeatureProvider mMetricsFeatureProvider;
-    private final TextAppearanceSpan mSummarySpan;
-
-    private ToggleSwitch mSwitch;
-    private ImageView mRestrictedIcon;
-    private TextView mTextView;
-    private String mLabel;
-    private String mSummary;
-    private String mOnText;
-    private String mOffText;
-    @ColorInt
-    private int mBackgroundColor;
-    @ColorInt
-    private int mBackgroundActivatedColor;
-
-    private boolean mLoggingIntialized;
-    private boolean mDisabledByAdmin;
-    private EnforcedAdmin mEnforcedAdmin = null;
-    private String mMetricsTag;
-
-
-    public SwitchBar(Context context) {
-        this(context, null);
-    }
-
-    public SwitchBar(Context context, AttributeSet attrs) {
-        this(context, attrs, 0);
-    }
-
-    public SwitchBar(Context context, AttributeSet attrs, int defStyleAttr) {
-        this(context, attrs, defStyleAttr, 0);
-    }
-
-    public SwitchBar(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-
-        LayoutInflater.from(context).inflate(R.layout.switch_bar, this);
-        // Set the whole SwitchBar focusable and clickable.
-        setFocusable(true);
-        setClickable(true);
-
-        final TypedArray a = context.obtainStyledAttributes(attrs, XML_ATTRIBUTES);
-        final int switchBarMarginStart = (int) a.getDimension(0, 0);
-        final int switchBarMarginEnd = (int) a.getDimension(1, 0);
-        mBackgroundColor = a.getColor(2, 0);
-        mBackgroundActivatedColor = a.getColor(3, 0);
-        final Drawable restrictedIconDrawable = a.getDrawable(4);
-        a.recycle();
-
-        mTextView = findViewById(R.id.switch_text);
-        mSummarySpan = new TextAppearanceSpan(mContext, R.style.TextAppearance_Small_SwitchBar);
-        ViewGroup.MarginLayoutParams lp = (MarginLayoutParams) mTextView.getLayoutParams();
-        lp.setMarginStart(switchBarMarginStart);
-
-        mSwitch = findViewById(R.id.switch_widget);
-        // Prevent onSaveInstanceState() to be called as we are managing the state of the Switch
-        // on our own
-        mSwitch.setSaveEnabled(false);
-        // Set the ToggleSwitch non-focusable and non-clickable to avoid multiple focus.
-        mSwitch.setFocusable(false);
-        mSwitch.setClickable(false);
-
-        lp = (MarginLayoutParams) mSwitch.getLayoutParams();
-        lp.setMarginEnd(switchBarMarginEnd);
-        setBackgroundColor(mBackgroundColor);
-
-        setSwitchBarText(R.string.switch_on_text, R.string.switch_off_text);
-
-        addOnSwitchChangeListener(
-                (switchView, isChecked) -> setTextViewLabelAndBackground(isChecked));
-
-        mRestrictedIcon = findViewById(R.id.restricted_icon);
-        mRestrictedIcon.setImageDrawable(restrictedIconDrawable);
-        mRestrictedIcon.setOnClickListener(new View.OnClickListener() {
-            @Override
-            public void onClick(View v) {
-                if (mDisabledByAdmin) {
-                    mMetricsFeatureProvider.action(
-                            SettingsEnums.PAGE_UNKNOWN,
-                            SettingsEnums.ACTION_SETTINGS_PREFERENCE_CHANGE,
-                            SettingsEnums.PAGE_UNKNOWN,
-                            mMetricsTag + "/switch_bar|restricted",
-                            1);
-
-                    RestrictedLockUtils.sendShowAdminSupportDetailsIntent(context,
-                            mEnforcedAdmin);
-                }
-            }
-        });
-
-        // Default is hide
-        setVisibility(View.GONE);
-
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
-    }
-
-    // Override the performClick method to eliminate redundant click.
-    @Override
-    public boolean performClick() {
-        return getDelegatingView().performClick();
-    }
-
-    public void setMetricsTag(String tag) {
-        mMetricsTag = tag;
-    }
-
-    public void setTextViewLabelAndBackground(boolean isChecked) {
-        mLabel = isChecked ? mOnText : mOffText;
-        setBackgroundColor(isChecked ? mBackgroundActivatedColor : mBackgroundColor);
-        updateText();
-    }
-
-    public void setSwitchBarText(int onTextId, int offTextId) {
-        mOnText = getResources().getString(onTextId);
-        mOffText = getResources().getString(offTextId);
-        setTextViewLabelAndBackground(isChecked());
-    }
-
-    public void setSwitchBarText(String onText, String offText) {
-        mOnText = onText;
-        mOffText = offText;
-        setTextViewLabelAndBackground(isChecked());
-    }
-
-    public void setSummary(String summary) {
-        mSummary = summary;
-        updateText();
-    }
-
-    private void updateText() {
-        if (TextUtils.isEmpty(mSummary)) {
-            mTextView.setText(mLabel);
-            return;
-        }
-        final SpannableStringBuilder ssb = new SpannableStringBuilder(mLabel).append('\n');
-        final int start = ssb.length();
-        ssb.append(mSummary);
-        ssb.setSpan(mSummarySpan, start, ssb.length(), 0);
-        mTextView.setText(ssb);
-    }
-
-    public void setChecked(boolean checked) {
-        setTextViewLabelAndBackground(checked);
-        mSwitch.setChecked(checked);
-    }
-
-    public void setCheckedInternal(boolean checked) {
-        setTextViewLabelAndBackground(checked);
-        mSwitch.setCheckedInternal(checked);
-    }
-
-    public boolean isChecked() {
-        return mSwitch.isChecked();
-    }
-
-    public void setEnabled(boolean enabled) {
-        if (enabled && mDisabledByAdmin) {
-            setDisabledByAdmin(null);
-            return;
-        }
-        super.setEnabled(enabled);
-        mTextView.setEnabled(enabled);
-        mSwitch.setEnabled(enabled);
-    }
-
-    @VisibleForTesting
-    View getDelegatingView() {
-        return mDisabledByAdmin ? mRestrictedIcon : mSwitch;
-    }
-
-    /**
-     * If admin is not null, disables the text and switch but keeps the view clickable.
-     * Otherwise, calls setEnabled which will enables the entire view including
-     * the text and switch.
-     */
-    public void setDisabledByAdmin(EnforcedAdmin admin) {
-        mEnforcedAdmin = admin;
-        if (admin != null) {
-            super.setEnabled(true);
-            mDisabledByAdmin = true;
-            mTextView.setEnabled(false);
-            mSwitch.setEnabled(false);
-            mSwitch.setVisibility(View.GONE);
-            mRestrictedIcon.setVisibility(View.VISIBLE);
-        } else {
-            mDisabledByAdmin = false;
-            mSwitch.setVisibility(View.VISIBLE);
-            mRestrictedIcon.setVisibility(View.GONE);
-            setEnabled(true);
-        }
-    }
-
-    public final ToggleSwitch getSwitch() {
-        return mSwitch;
-    }
-
-    public void show() {
-        if (!isShowing()) {
-            setVisibility(View.VISIBLE);
-            mSwitch.setOnCheckedChangeListener(this);
-        }
-    }
-
-    public void hide() {
-        if (isShowing()) {
-            setVisibility(View.GONE);
-            mSwitch.setOnCheckedChangeListener(null);
-        }
-    }
-
-    public boolean isShowing() {
-        return (getVisibility() == View.VISIBLE);
-    }
-
-    public void propagateChecked(boolean isChecked) {
-        final int count = mSwitchChangeListeners.size();
-        for (int n = 0; n < count; n++) {
-            mSwitchChangeListeners.get(n).onSwitchChanged(mSwitch, isChecked);
-        }
-    }
-
-    @Override
-    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
-        if (mLoggingIntialized) {
-            mMetricsFeatureProvider.action(
-                    SettingsEnums.PAGE_UNKNOWN,
-                    SettingsEnums.ACTION_SETTINGS_PREFERENCE_CHANGE,
-                    SettingsEnums.PAGE_UNKNOWN,
-                    mMetricsTag + "/switch_bar",
-                    isChecked ? 1 : 0);
-        }
-        mLoggingIntialized = true;
-        propagateChecked(isChecked);
-    }
-
-    public void addOnSwitchChangeListener(OnSwitchChangeListener listener) {
-        if (mSwitchChangeListeners.contains(listener)) {
-            throw new IllegalStateException("Cannot add twice the same OnSwitchChangeListener");
-        }
-        mSwitchChangeListeners.add(listener);
-    }
-
-    public void removeOnSwitchChangeListener(OnSwitchChangeListener listener) {
-        if (!mSwitchChangeListeners.contains(listener)) {
-            throw new IllegalStateException("Cannot remove OnSwitchChangeListener");
-        }
-        mSwitchChangeListeners.remove(listener);
-    }
-
-    static class SavedState extends BaseSavedState {
-        boolean checked;
-        boolean visible;
-
-        SavedState(Parcelable superState) {
-            super(superState);
-        }
-
-        /**
-         * Constructor called from {@link #CREATOR}
-         */
-        private SavedState(Parcel in) {
-            super(in);
-            checked = (Boolean) in.readValue(null);
-            visible = (Boolean) in.readValue(null);
-        }
-
-        @Override
-        public void writeToParcel(Parcel out, int flags) {
-            super.writeToParcel(out, flags);
-            out.writeValue(checked);
-            out.writeValue(visible);
-        }
-
-        @Override
-        public String toString() {
-            return "SwitchBar.SavedState{"
-                    + Integer.toHexString(System.identityHashCode(this))
-                    + " checked=" + checked
-                    + " visible=" + visible + "}";
-        }
-
-        public static final Parcelable.Creator<SavedState> CREATOR
-                = new Parcelable.Creator<SavedState>() {
-            public SavedState createFromParcel(Parcel in) {
-                return new SavedState(in);
-            }
-
-            public SavedState[] newArray(int size) {
-                return new SavedState[size];
-            }
-        };
-    }
-
-    @Override
-    public Parcelable onSaveInstanceState() {
-        Parcelable superState = super.onSaveInstanceState();
-
-        SavedState ss = new SavedState(superState);
-        ss.checked = mSwitch.isChecked();
-        ss.visible = isShowing();
-        return ss;
-    }
-
-    @Override
-    public void onRestoreInstanceState(Parcelable state) {
-        SavedState ss = (SavedState) state;
-
-        super.onRestoreInstanceState(ss.getSuperState());
-
-        mSwitch.setCheckedInternal(ss.checked);
-        setTextViewLabelAndBackground(ss.checked);
-        setVisibility(ss.visible ? View.VISIBLE : View.GONE);
-        mSwitch.setOnCheckedChangeListener(ss.visible ? this : null);
-
-        requestLayout();
-    }
-}
diff --git a/src/com/android/settings/widget/SwitchBarController.java b/src/com/android/settings/widget/SwitchBarController.java
deleted file mode 100644
index 3a086b6..0000000
--- a/src/com/android/settings/widget/SwitchBarController.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import android.widget.Switch;
-
-import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-/*
- * The switch controller that is used to update the switch widget in the SwitchBar layout.
- */
-public class SwitchBarController extends SwitchWidgetController implements
-    SwitchBar.OnSwitchChangeListener {
-
-    private final SwitchBar mSwitchBar;
-
-    public SwitchBarController(SwitchBar switchBar) {
-        mSwitchBar = switchBar;
-    }
-
-    @Override
-    public void setupView() {
-        mSwitchBar.show();
-    }
-
-    @Override
-    public void teardownView() {
-        mSwitchBar.hide();
-    }
-
-    @Override
-    public void setTitle(String title) {
-    }
-
-    @Override
-    public void startListening() {
-        mSwitchBar.addOnSwitchChangeListener(this);
-    }
-
-    @Override
-    public void stopListening() {
-        mSwitchBar.removeOnSwitchChangeListener(this);
-    }
-
-    @Override
-    public void setChecked(boolean checked) {
-        mSwitchBar.setChecked(checked);
-    }
-
-    @Override
-    public boolean isChecked() {
-        return mSwitchBar.isChecked();
-    }
-
-    @Override
-    public void setEnabled(boolean enabled) {
-        mSwitchBar.setEnabled(enabled);
-    }
-
-    @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
-        if (mListener != null) {
-            mListener.onSwitchToggled(isChecked);
-        }
-    }
-
-    @Override
-    public void setDisabledByAdmin(EnforcedAdmin admin) {
-        mSwitchBar.setDisabledByAdmin(admin);
-    }
-}
diff --git a/src/com/android/settings/widget/TickButtonPreference.java b/src/com/android/settings/widget/TickButtonPreference.java
index c55da2c..b9b9b19 100644
--- a/src/com/android/settings/widget/TickButtonPreference.java
+++ b/src/com/android/settings/widget/TickButtonPreference.java
@@ -17,6 +17,7 @@
 package com.android.settings.widget;
 
 import android.content.Context;
+import android.util.AttributeSet;
 import android.view.View;
 import android.widget.ImageView;
 
@@ -32,6 +33,15 @@
 
     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);
     }
 
diff --git a/src/com/android/settings/widget/TintDrawable.java b/src/com/android/settings/widget/TintDrawable.java
index 13eb121..7b34890 100644
--- a/src/com/android/settings/widget/TintDrawable.java
+++ b/src/com/android/settings/widget/TintDrawable.java
@@ -16,15 +16,16 @@
 
 package com.android.settings.widget;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
+
 import android.content.res.ColorStateList;
 import android.content.res.Resources;
 import android.content.res.Resources.Theme;
 import android.content.res.TypedArray;
 import android.graphics.drawable.DrawableWrapper;
 import android.util.AttributeSet;
-import android.util.Log;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 import com.android.settings.R;
 
diff --git a/src/com/android/settings/widget/ToggleSwitch.java b/src/com/android/settings/widget/ToggleSwitch.java
deleted file mode 100644
index b392c8e..0000000
--- a/src/com/android/settings/widget/ToggleSwitch.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (C) 2013 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import android.content.Context;
-import android.util.AttributeSet;
-import android.widget.Switch;
-
-public class ToggleSwitch extends Switch {
-
-    private ToggleSwitch.OnBeforeCheckedChangeListener mOnBeforeListener;
-
-    public interface OnBeforeCheckedChangeListener {
-        boolean onBeforeCheckedChanged(ToggleSwitch toggleSwitch, boolean checked);
-    }
-
-    public ToggleSwitch(Context context) {
-        super(context);
-    }
-
-    public ToggleSwitch(Context context, AttributeSet attrs) {
-        super(context, attrs);
-    }
-
-    public ToggleSwitch(Context context, AttributeSet attrs, int defStyleAttr) {
-        super(context, attrs, defStyleAttr);
-    }
-
-    public ToggleSwitch(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
-        super(context, attrs, defStyleAttr, defStyleRes);
-    }
-
-    public void setOnBeforeCheckedChangeListener(OnBeforeCheckedChangeListener listener) {
-        mOnBeforeListener = listener;
-    }
-
-    @Override
-    public void setChecked(boolean checked) {
-        if (mOnBeforeListener != null
-                && mOnBeforeListener.onBeforeCheckedChanged(this, checked)) {
-            return;
-        }
-        super.setChecked(checked);
-    }
-
-    public void setCheckedInternal(boolean checked) {
-        super.setChecked(checked);
-    }
-}
diff --git a/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java b/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
new file mode 100644
index 0000000..749b2e3
--- /dev/null
+++ b/src/com/android/settings/widget/UpdatableListPreferenceDialogFragment.java
@@ -0,0 +1,174 @@
+/*
+ * 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.widget;
+
+import android.content.res.TypedArray;
+import android.os.Bundle;
+import android.widget.ArrayAdapter;
+
+import androidx.annotation.VisibleForTesting;
+import androidx.appcompat.app.AlertDialog.Builder;
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceDialogFragmentCompat;
+
+import com.android.settingslib.core.instrumentation.Instrumentable;
+
+import java.util.ArrayList;
+
+/**
+ * {@link PreferenceDialogFragmentCompat} that updates the available options
+ * when {@code onListPreferenceUpdated} is called."
+ */
+public class UpdatableListPreferenceDialogFragment extends PreferenceDialogFragmentCompat implements
+        Instrumentable {
+
+    private static final String SAVE_STATE_INDEX = "UpdatableListPreferenceDialogFragment.index";
+    private static final String SAVE_STATE_ENTRIES =
+            "UpdatableListPreferenceDialogFragment.entries";
+    private static final String SAVE_STATE_ENTRY_VALUES =
+            "UpdatableListPreferenceDialogFragment.entryValues";
+    private static final String METRICS_CATEGORY_KEY = "metrics_category_key";
+    private ArrayAdapter mAdapter;
+    private int mClickedDialogEntryIndex;
+    private ArrayList<CharSequence> mEntries;
+    private CharSequence[] mEntryValues;
+    private int mMetricsCategory = METRICS_CATEGORY_UNKNOWN;
+
+    /**
+     * Creates a new instance of {@link UpdatableListPreferenceDialogFragment}.
+     */
+    public static UpdatableListPreferenceDialogFragment newInstance(
+            String key, int metricsCategory) {
+        UpdatableListPreferenceDialogFragment fragment =
+                new UpdatableListPreferenceDialogFragment();
+        Bundle args = new Bundle(1);
+        args.putString(ARG_KEY, key);
+        args.putInt(METRICS_CATEGORY_KEY, metricsCategory);
+        fragment.setArguments(args);
+        return fragment;
+    }
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        final Bundle bundle = getArguments();
+        mMetricsCategory =
+                bundle.getInt(METRICS_CATEGORY_KEY, METRICS_CATEGORY_UNKNOWN);
+        if (savedInstanceState == null) {
+            mEntries = new ArrayList<>();
+            setPreferenceData(getListPreference());
+        } else {
+            mClickedDialogEntryIndex = savedInstanceState.getInt(SAVE_STATE_INDEX, 0);
+            mEntries = savedInstanceState.getCharSequenceArrayList(SAVE_STATE_ENTRIES);
+            mEntryValues =
+                    savedInstanceState.getCharSequenceArray(SAVE_STATE_ENTRY_VALUES);
+        }
+    }
+
+    @Override
+    public void onSaveInstanceState(Bundle outState) {
+        super.onSaveInstanceState(outState);
+        outState.putInt(SAVE_STATE_INDEX, mClickedDialogEntryIndex);
+        outState.putCharSequenceArrayList(SAVE_STATE_ENTRIES, mEntries);
+        outState.putCharSequenceArray(SAVE_STATE_ENTRY_VALUES, mEntryValues);
+    }
+
+    @Override
+    public void onDialogClosed(boolean positiveResult) {
+        if (positiveResult && mClickedDialogEntryIndex >= 0) {
+            final ListPreference preference = getListPreference();
+            final String value = mEntryValues[mClickedDialogEntryIndex].toString();
+            if (preference.callChangeListener(value)) {
+                preference.setValue(value);
+            }
+        }
+    }
+
+    @VisibleForTesting
+    void setAdapter(ArrayAdapter adapter) {
+        mAdapter = adapter;
+    }
+
+    @VisibleForTesting
+    void setEntries(ArrayList<CharSequence> entries) {
+        mEntries = entries;
+    }
+
+    @VisibleForTesting
+    ArrayAdapter getAdapter() {
+        return mAdapter;
+    }
+
+    @VisibleForTesting
+    void setMetricsCategory(Bundle bundle) {
+        mMetricsCategory =
+                bundle.getInt(METRICS_CATEGORY_KEY, METRICS_CATEGORY_UNKNOWN);
+    }
+
+    @Override
+    protected void onPrepareDialogBuilder(Builder builder) {
+        super.onPrepareDialogBuilder(builder);
+        final TypedArray a = getContext().obtainStyledAttributes(
+                null,
+                com.android.internal.R.styleable.AlertDialog,
+                com.android.internal.R.attr.alertDialogStyle, 0);
+
+        mAdapter = new ArrayAdapter<>(
+                getContext(),
+                a.getResourceId(
+                        com.android.internal.R.styleable.AlertDialog_singleChoiceItemLayout,
+                        com.android.internal.R.layout.select_dialog_singlechoice),
+                mEntries);
+
+        builder.setSingleChoiceItems(mAdapter, mClickedDialogEntryIndex,
+                (dialog, which) -> {
+                    mClickedDialogEntryIndex = which;
+                    onClick(dialog, -1);
+                    dialog.dismiss();
+                });
+        builder.setPositiveButton(null, null);
+        a.recycle();
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return mMetricsCategory;
+    }
+
+    @VisibleForTesting
+    ListPreference getListPreference() {
+        return (ListPreference) getPreference();
+    }
+
+    private void setPreferenceData(ListPreference preference) {
+        mEntries.clear();
+        mClickedDialogEntryIndex = preference.findIndexOfValue(preference.getValue());
+        for (CharSequence entry : preference.getEntries()) {
+            mEntries.add(entry);
+        }
+        mEntryValues = preference.getEntryValues();
+    }
+
+    /**
+     * Update new data set for list preference.
+     */
+    public void onListPreferenceUpdated(ListPreference preference) {
+        if (mAdapter != null) {
+            setPreferenceData(preference);
+            mAdapter.notifyDataSetChanged();
+        }
+    }
+}
diff --git a/src/com/android/settings/widget/UsageGraph.java b/src/com/android/settings/widget/UsageGraph.java
index 11ebd21..c92ea1b 100644
--- a/src/com/android/settings/widget/UsageGraph.java
+++ b/src/com/android/settings/widget/UsageGraph.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.widget;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Canvas;
@@ -35,6 +34,7 @@
 import android.util.TypedValue;
 import android.view.View;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.settings.R;
@@ -84,17 +84,21 @@
         mLinePaint.setStrokeCap(Cap.ROUND);
         mLinePaint.setStrokeJoin(Join.ROUND);
         mLinePaint.setAntiAlias(true);
-        mCornerRadius = resources.getDimensionPixelSize(R.dimen.usage_graph_line_corner_radius);
+        mCornerRadius = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_line_corner_radius);
         mLinePaint.setPathEffect(new CornerPathEffect(mCornerRadius));
-        mLinePaint.setStrokeWidth(resources.getDimensionPixelSize(R.dimen.usage_graph_line_width));
+        mLinePaint.setStrokeWidth(resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_line_width));
 
         mFillPaint = new Paint(mLinePaint);
         mFillPaint.setStyle(Style.FILL);
 
         mDottedPaint = new Paint(mLinePaint);
         mDottedPaint.setStyle(Style.STROKE);
-        float dots = resources.getDimensionPixelSize(R.dimen.usage_graph_dot_size);
-        float interval = resources.getDimensionPixelSize(R.dimen.usage_graph_dot_interval);
+        float dots = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_dot_size);
+        float interval = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_dot_interval);
         mDottedPaint.setStrokeWidth(dots * 3);
         mDottedPaint.setPathEffect(new DashPathEffect(new float[] {dots, interval}, 0));
         mDottedPaint.setColor(context.getColor(R.color.usage_graph_dots));
@@ -103,7 +107,8 @@
         context.getTheme().resolveAttribute(com.android.internal.R.attr.listDivider, v, true);
         mDivider = context.getDrawable(v.resourceId);
         mTintedDivider = context.getDrawable(v.resourceId);
-        mDividerSize = resources.getDimensionPixelSize(R.dimen.usage_graph_divider_size);
+        mDividerSize = resources.getDimensionPixelSize(
+                com.android.settingslib.R.dimen.usage_graph_divider_size);
     }
 
     void clearPaths() {
diff --git a/src/com/android/settings/wifi/AddWifiNetworkPreference.java b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
index 6aafbca..999f4a4 100644
--- a/src/com/android/settings/wifi/AddWifiNetworkPreference.java
+++ b/src/com/android/settings/wifi/AddWifiNetworkPreference.java
@@ -20,10 +20,12 @@
 import android.content.res.Resources;
 import android.graphics.drawable.Drawable;
 import android.os.UserManager;
+import android.util.AttributeSet;
 import android.util.Log;
 import android.widget.ImageButton;
 
 import androidx.annotation.DrawableRes;
+import androidx.annotation.Nullable;
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.R;
@@ -40,8 +42,11 @@
     private final Drawable mScanIconDrawable;
 
     public AddWifiNetworkPreference(Context context) {
-        super(context);
+        this(context, null);
+    }
 
+    public AddWifiNetworkPreference(Context context, @Nullable AttributeSet attrs) {
+        super(context, attrs);
         setLayoutResource(com.android.settingslib.R.layout.preference_access_point);
         setWidgetLayoutResource(R.layout.wifi_button_preference_widget);
         setIcon(R.drawable.ic_add_24dp);
diff --git a/src/com/android/settings/wifi/ChangeWifiStateDetails.java b/src/com/android/settings/wifi/ChangeWifiStateDetails.java
index 9841615..9271100 100644
--- a/src/com/android/settings/wifi/ChangeWifiStateDetails.java
+++ b/src/com/android/settings/wifi/ChangeWifiStateDetails.java
@@ -24,7 +24,7 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
 import androidx.preference.Preference.OnPreferenceChangeListener;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.applications.AppInfoWithHeader;
@@ -41,7 +41,7 @@
 
     private AppStateChangeWifiStateBridge mAppBridge;
     private AppOpsManager mAppOpsManager;
-    private SwitchPreference mSwitchPref;
+    private TwoStatePreference mSwitchPref;
     private WifiSettingsState mWifiSettingsState;
 
     @Override
@@ -53,7 +53,7 @@
 
         // find preferences
         addPreferencesFromResource(R.xml.change_wifi_state_details);
-        mSwitchPref = (SwitchPreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
+        mSwitchPref = (TwoStatePreference) findPreference(KEY_APP_OPS_SETTINGS_SWITCH);
 
         // set title/summary for all of them
         mSwitchPref.setTitle(R.string.change_wifi_state_app_detail_switch);
@@ -95,7 +95,7 @@
     protected void logSpecialPermissionChange(boolean newState, String packageName) {
         int logCategory = newState ? SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_ALLOW
                 : SettingsEnums.APP_SPECIAL_PERMISSION_SETTINGS_CHANGE_DENY;
-        FeatureFactory.getFactory(getContext()).getMetricsFeatureProvider().action(getContext(),
+        FeatureFactory.getFeatureFactory().getMetricsFeatureProvider().action(getContext(),
                 logCategory, packageName);
     }
 
diff --git a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
index 29451bf..652d318 100644
--- a/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
+++ b/src/com/android/settings/wifi/ConfigureWifiEntryFragment.java
@@ -232,7 +232,7 @@
             }
         };
 
-        mNetworkDetailsTracker = FeatureFactory.getFactory(context)
+        mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createNetworkDetailsTracker(
                         getSettingsLifecycle(),
diff --git a/src/com/android/settings/wifi/ConfigureWifiSettings.java b/src/com/android/settings/wifi/ConfigureWifiSettings.java
index 33f2827..2b3bedb 100644
--- a/src/com/android/settings/wifi/ConfigureWifiSettings.java
+++ b/src/com/android/settings/wifi/ConfigureWifiSettings.java
@@ -15,7 +15,6 @@
  */
 package com.android.settings.wifi;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
@@ -28,6 +27,7 @@
 import android.view.View;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 
diff --git a/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
index 54a4d04..cd0dad1 100644
--- a/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
+++ b/src/com/android/settings/wifi/ConnectedWifiEntryPreference.java
@@ -56,7 +56,7 @@
         holder.findViewById(R.id.settings_button_no_background).setVisibility(
                 canSignIn ? View.INVISIBLE : View.VISIBLE);
         gear.setVisibility(canSignIn ? View.VISIBLE : View.INVISIBLE);
-        holder.findViewById(R.id.two_target_divider).setVisibility(
+        holder.findViewById(com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider).setVisibility(
                 canSignIn ? View.VISIBLE : View.INVISIBLE);
     }
 
diff --git a/src/com/android/settings/wifi/LinkablePreference.java b/src/com/android/settings/wifi/LinkablePreference.java
index d29482d..adcfe32 100644
--- a/src/com/android/settings/wifi/LinkablePreference.java
+++ b/src/com/android/settings/wifi/LinkablePreference.java
@@ -49,7 +49,8 @@
 
     public LinkablePreference(Context ctx, AttributeSet attrs) {
         this(ctx, attrs, TypedArrayUtils.getAttr(
-                ctx, R.attr.footerPreferenceStyle, android.R.attr.preferenceStyle));
+                ctx, com.android.settingslib.widget.theme.R.attr.footerPreferenceStyle,
+                android.R.attr.preferenceStyle));
     }
 
     public LinkablePreference(Context ctx) {
diff --git a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
index 93d88e9..d1c3cac 100644
--- a/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
+++ b/src/com/android/settings/wifi/NetworkRequestDialogFragment.java
@@ -112,7 +112,7 @@
             }
         };
         final Context context = getContext();
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), context,
                         new Handler(Looper.getMainLooper()),
@@ -142,7 +142,7 @@
 
         // Prepares adapter.
         mDialogAdapter = new WifiEntryAdapter(context,
-                R.layout.preference_access_point, mFilteredWifiEntries);
+                com.android.settingslib.R.layout.preference_access_point, mFilteredWifiEntries);
 
         final AlertDialog.Builder builder = new AlertDialog.Builder(context)
                 .setCustomTitle(customTitle)
@@ -326,7 +326,7 @@
                 view = mInflater.inflate(mResourceId, parent, false);
 
                 final View divider = view.findViewById(
-                        com.android.settingslib.R.id.two_target_divider);
+                        com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
                 divider.setVisibility(View.GONE);
             }
 
diff --git a/src/com/android/settings/wifi/OWNERS b/src/com/android/settings/wifi/OWNERS
index 7f39cc7..ef870f0 100644
--- a/src/com/android/settings/wifi/OWNERS
+++ b/src/com/android/settings/wifi/OWNERS
@@ -2,6 +2,5 @@
 andychou@google.com
 arcwang@google.com
 changbetty@google.com
-goldmanj@google.com
 songferngwang@google.com
 wengsu@google.com
diff --git a/src/com/android/settings/wifi/WepNetworksPreferenceController.kt b/src/com/android/settings/wifi/WepNetworksPreferenceController.kt
new file mode 100644
index 0000000..6263bfd
--- /dev/null
+++ b/src/com/android/settings/wifi/WepNetworksPreferenceController.kt
@@ -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.wifi
+
+import android.content.Context
+import android.net.wifi.WifiManager
+import androidx.compose.runtime.Composable
+import androidx.compose.runtime.getValue
+import androidx.compose.ui.res.stringResource
+import androidx.lifecycle.compose.collectAsStateWithLifecycle
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import com.android.settings.R
+import com.android.settings.spa.preference.ComposePreferenceController
+import com.android.settingslib.spa.framework.compose.OverridableFlow
+import com.android.settingslib.spa.widget.preference.SwitchPreference
+import com.android.settingslib.spa.widget.preference.SwitchPreferenceModel
+import com.android.wifi.flags.Flags
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.asExecutor
+import kotlinx.coroutines.channels.awaitClose
+import kotlinx.coroutines.flow.callbackFlow
+
+/** Controller that controls whether the Wi-Fi Wakeup feature should be enabled. */
+class WepNetworksPreferenceController(context: Context, preferenceKey: String) :
+    ComposePreferenceController(context, preferenceKey) {
+
+    private lateinit var preference: Preference
+
+    var wifiManager = context.getSystemService(WifiManager::class.java)!!
+
+    override fun displayPreference(screen: PreferenceScreen) {
+        super.displayPreference(screen)
+        preference = screen.findPreference(preferenceKey)!!
+    }
+
+    override fun getAvailabilityStatus() = if (Flags.androidVWifiApi()) AVAILABLE
+    else UNSUPPORTED_ON_DEVICE
+
+    @Composable
+    override fun Content() {
+        val checked by wepAllowedFlow.flow.collectAsStateWithLifecycle(initialValue = null)
+        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 ->
+                wifiManager.setWepAllowed(newChecked)
+                wepAllowedFlow.override(newChecked)
+            }
+        })
+    }
+
+    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 val carrierAllowed: Boolean
+        get() = wifiManager.isWepSupported
+
+    val wepAllowedFlow = OverridableFlow(callbackFlow {
+        wifiManager.queryWepAllowed(Dispatchers.Default.asExecutor(), ::trySend)
+
+        awaitClose { }
+    })
+}
\ No newline at end of file
diff --git a/src/com/android/settings/wifi/WifiConfigController.java b/src/com/android/settings/wifi/WifiConfigController.java
index 8f0a983..5d45cb2 100644
--- a/src/com/android/settings/wifi/WifiConfigController.java
+++ b/src/com/android/settings/wifi/WifiConfigController.java
@@ -60,6 +60,7 @@
 import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.EditText;
 import android.widget.ImageButton;
+import android.widget.LinearLayout;
 import android.widget.Spinner;
 import android.widget.TextView;
 
@@ -75,6 +76,8 @@
 import com.android.settingslib.Utils;
 import com.android.settingslib.utils.ThreadUtils;
 import com.android.settingslib.wifi.AccessPoint;
+import com.android.wifi.flags.Flags;
+import com.android.wifitrackerlib.WifiEntry;
 
 import java.net.Inet4Address;
 import java.net.InetAddress;
@@ -273,6 +276,12 @@
         mDoNotProvideEapUserCertString =
             mContext.getString(R.string.wifi_do_not_provide_eap_user_cert);
 
+        if (Flags.androidVWifiApi() && mAccessPointSecurity == WifiEntry.SECURITY_WEP) {
+            LinearLayout wepWarningLayout =
+                    (LinearLayout) mView.findViewById(R.id.wep_warning_layout);
+            wepWarningLayout.setVisibility(View.VISIBLE);
+        }
+
         mSsidScanButton = (ImageButton) mView.findViewById(R.id.ssid_scanner_button);
         mIpSettingsSpinner = (Spinner) mView.findViewById(R.id.ip_settings);
         mIpSettingsSpinner.setOnItemSelectedListener(this);
@@ -653,6 +662,9 @@
             case AccessPoint.SECURITY_EAP:
             case AccessPoint.SECURITY_EAP_WPA3_ENTERPRISE:
             case AccessPoint.SECURITY_EAP_SUITE_B:
+                if (mEapMethodSpinner == null || mPhase2Spinner == null) {
+                    break;
+                }
                 if (mAccessPointSecurity == AccessPoint.SECURITY_EAP_SUITE_B) {
                     // allowedSuiteBCiphers will be set according to certificate type
                     config.setSecurityParams(WifiConfiguration.SECURITY_TYPE_EAP_SUITE_B);
@@ -920,7 +932,7 @@
             } catch (NumberFormatException e) {
                 // Set the hint as default after user types in ip address
                 mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString(
-                        R.string.wifi_network_prefix_length_hint));
+                        com.android.settingslib.R.string.wifi_network_prefix_length_hint));
             } catch (IllegalArgumentException e) {
                 return R.string.wifi_ip_settings_invalid_ip_address;
             }
@@ -953,7 +965,8 @@
 
             if (TextUtils.isEmpty(dns)) {
                 //If everything else is valid, provide hint as a default option
-                mDns1View.setText(mConfigUi.getContext().getString(R.string.wifi_dns1_hint));
+                mDns1View.setText(mConfigUi.getContext().getString(
+                        com.android.settingslib.R.string.wifi_dns1_hint));
             } else {
                 dnsAddr = getIPv4Address(dns);
                 if (dnsAddr == null) {
@@ -1705,29 +1718,36 @@
         int idx = 0;
 
         // Populate the Wi-Fi security spinner with the various supported key management types
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_none));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_none));
         mSecurityInPosition[idx++] = AccessPoint.SECURITY_NONE;
         if (mWifiManager.isEnhancedOpenSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_owe));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_owe));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_OWE;
         }
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wep));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_wep));
         mSecurityInPosition[idx++] = AccessPoint.SECURITY_WEP;
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wpa_wpa2));
+        spinnerAdapter.add(
+                mContext.getString(com.android.settingslib.R.string.wifi_security_wpa_wpa2));
         mSecurityInPosition[idx++] = AccessPoint.SECURITY_PSK;
         if (mWifiManager.isWpa3SaeSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_sae));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_sae));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_SAE;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa_wpa2));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_wpa_wpa2));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa3));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_eap_wpa3));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP_WPA3_ENTERPRISE;
         } else {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_eap));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP;
         }
         if (mWifiManager.isWpa3SuiteBSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_suiteb));
+            spinnerAdapter.add(
+                    mContext.getString(com.android.settingslib.R.string.wifi_security_eap_suiteb));
             mSecurityInPosition[idx++] = AccessPoint.SECURITY_EAP_SUITE_B;
         }
 
diff --git a/src/com/android/settings/wifi/WifiConfigController2.java b/src/com/android/settings/wifi/WifiConfigController2.java
index f92b58f..7c9b1d1 100644
--- a/src/com/android/settings/wifi/WifiConfigController2.java
+++ b/src/com/android/settings/wifi/WifiConfigController2.java
@@ -61,9 +61,11 @@
 import android.widget.CompoundButton.OnCheckedChangeListener;
 import android.widget.EditText;
 import android.widget.ImageButton;
+import android.widget.LinearLayout;
 import android.widget.Spinner;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 
 import com.android.net.module.util.NetUtils;
@@ -76,6 +78,7 @@
 import com.android.settings.wifi.dpp.WifiDppUtils;
 import com.android.settingslib.Utils;
 import com.android.settingslib.utils.ThreadUtils;
+import com.android.wifi.flags.Flags;
 import com.android.wifitrackerlib.WifiEntry;
 import com.android.wifitrackerlib.WifiEntry.ConnectedInfo;
 
@@ -200,8 +203,10 @@
     private TextView mDns2View;
 
     private Spinner mProxySettingsSpinner;
+    @Nullable
     private Spinner mMeteredSettingsSpinner;
     private Spinner mHiddenSettingsSpinner;
+    @Nullable
     private Spinner mPrivacySettingsSpinner;
     private TextView mHiddenWarningView;
     private TextView mProxyHostView;
@@ -216,48 +221,51 @@
     private StaticIpConfiguration mStaticIpConfiguration = null;
 
     private String[] mLevels;
-    private int mMode;
+    private final int mMode;
+    private final boolean mHideMeteredAndPrivacy;
+    private final WifiManager mWifiManager;
+    private final AndroidKeystoreAliasLoader mAndroidKeystoreAliasLoader;
     private TextView mSsidView;
 
-    private Context mContext;
+    private final Context mContext;
 
     @VisibleForTesting
     Integer[] mSecurityInPosition;
 
-    private final WifiManager mWifiManager;
     private boolean mIsTrustOnFirstUseSupported;
 
-    private final List<SubscriptionInfo> mActiveSubscriptionInfos = new ArrayList<>();
+    private final ArrayMap<Integer, SubscriptionInfo> mActiveSubscriptionInfos = new ArrayMap<>();
 
     public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
             int mode) {
-        mConfigUi = parent;
-        mView = view;
-        mWifiEntry = wifiEntry;
-        mContext = mConfigUi.getContext();
+        this(parent, view, wifiEntry, mode, false);
+    }
 
-        // Init Wi-Fi manager
-        mWifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE);
-        initWifiConfigController2(wifiEntry, mode);
+    public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
+            int mode, boolean hideMeteredAndPrivacy) {
+        this(parent, view, wifiEntry, mode, hideMeteredAndPrivacy,
+                parent.getContext().getSystemService(WifiManager.class),
+                new AndroidKeystoreAliasLoader(KeyProperties.NAMESPACE_WIFI));
     }
 
     @VisibleForTesting
     public WifiConfigController2(WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry,
-            int mode, WifiManager wifiManager) {
+            int mode, boolean hideMeteredAndPrivacy, WifiManager wifiManager,
+            AndroidKeystoreAliasLoader androidKeystoreAliasLoader) {
         mConfigUi = parent;
-
         mView = view;
         mWifiEntry = wifiEntry;
+        mMode = mode;
+        mHideMeteredAndPrivacy = hideMeteredAndPrivacy;
         mContext = mConfigUi.getContext();
         mWifiManager = wifiManager;
-        initWifiConfigController2(wifiEntry, mode);
+        mAndroidKeystoreAliasLoader = androidKeystoreAliasLoader;
+        initWifiConfigController2(wifiEntry);
     }
 
-    private void initWifiConfigController2(WifiEntry wifiEntry, int mode) {
-
+    private void initWifiConfigController2(WifiEntry wifiEntry) {
         mWifiEntrySecurity = (wifiEntry == null) ? WifiEntry.SECURITY_NONE :
                 wifiEntry.getSecurity();
-        mMode = mode;
         mIsTrustOnFirstUseSupported = mWifiManager.isTrustOnFirstUseSupported();
 
         final Resources res = mContext.getResources();
@@ -281,18 +289,26 @@
             mContext.getString(R.string.wifi_do_not_provide_eap_user_cert);
         mInstallCertsString = mContext.getString(R.string.wifi_install_credentials);
 
+        if (Flags.androidVWifiApi() && mWifiEntrySecurity == WifiEntry.SECURITY_WEP) {
+            LinearLayout wepWarningLayout =
+                    (LinearLayout) mView.findViewById(R.id.wep_warning_layout);
+            wepWarningLayout.setVisibility(View.VISIBLE);
+        }
+
         mSsidScanButton = (ImageButton) mView.findViewById(R.id.ssid_scanner_button);
         mIpSettingsSpinner = (Spinner) mView.findViewById(R.id.ip_settings);
         mIpSettingsSpinner.setOnItemSelectedListener(this);
         mProxySettingsSpinner = (Spinner) mView.findViewById(R.id.proxy_settings);
         mProxySettingsSpinner.setOnItemSelectedListener(this);
         mSharedCheckBox = (CheckBox) mView.findViewById(R.id.shared);
-        mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
+        if (!mHideMeteredAndPrivacy) {
+            mMeteredSettingsSpinner = mView.findViewById(R.id.metered_settings);
+            mView.findViewById(R.id.metered_settings_fields).setVisibility(View.VISIBLE);
+        }
         mHiddenSettingsSpinner = mView.findViewById(R.id.hidden_settings);
-        mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
-        if (mWifiManager.isConnectedMacRandomizationSupported()) {
-            View privacySettingsLayout = mView.findViewById(R.id.privacy_settings_fields);
-            privacySettingsLayout.setVisibility(View.VISIBLE);
+        if (!mHideMeteredAndPrivacy && mWifiManager.isConnectedMacRandomizationSupported()) {
+            mPrivacySettingsSpinner = mView.findViewById(R.id.privacy_settings);
+            mView.findViewById(R.id.privacy_settings_fields).setVisibility(View.VISIBLE);
         }
         mHiddenSettingsSpinner.setOnItemSelectedListener(this);
         mHiddenWarningView = mView.findViewById(R.id.hidden_settings_warning);
@@ -313,14 +329,18 @@
             boolean showAdvancedFields = false;
             if (mWifiEntry.isSaved()) {
                 WifiConfiguration config = mWifiEntry.getWifiConfiguration();
-                mMeteredSettingsSpinner.setSelection(config.meteredOverride);
+                if (mMeteredSettingsSpinner != null) {
+                    mMeteredSettingsSpinner.setSelection(config.meteredOverride);
+                }
                 mHiddenSettingsSpinner.setSelection(config.hiddenSSID
                         ? HIDDEN_NETWORK
                         : NOT_HIDDEN_NETWORK);
 
-                final int prefMacValue = WifiPrivacyPreferenceController2
-                        .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
-                mPrivacySettingsSpinner.setSelection(prefMacValue);
+                if (mPrivacySettingsSpinner != null) {
+                    final int prefMacValue = WifiPrivacyPreferenceController2
+                            .translateMacRandomizedValueToPrefValue(config.macRandomizationSetting);
+                    mPrivacySettingsSpinner.setSelection(prefMacValue);
+                }
 
                 if (config.getIpConfiguration().getIpAssignment() == IpAssignment.STATIC) {
                     mIpSettingsSpinner.setSelection(STATIC_IP);
@@ -716,7 +736,7 @@
                 if (config.enterpriseConfig.isAuthenticationSimBased()
                         && mActiveSubscriptionInfos.size() > 0) {
                     config.carrierId = mActiveSubscriptionInfos
-                            .get(mEapSimSpinner.getSelectedItemPosition()).getCarrierId();
+                            .valueAt(mEapSimSpinner.getSelectedItemPosition()).getCarrierId();
                 }
 
                 String caCert = (String) mEapCaCertSpinner.getSelectedItem();
@@ -926,7 +946,7 @@
             } catch (NumberFormatException e) {
                 // Set the hint as default after user types in ip address
                 mNetworkPrefixLengthView.setText(mConfigUi.getContext().getString(
-                        R.string.wifi_network_prefix_length_hint));
+                        com.android.settingslib.R.string.wifi_network_prefix_length_hint));
             } catch (IllegalArgumentException e) {
                 return R.string.wifi_ip_settings_invalid_ip_address;
             }
@@ -959,7 +979,8 @@
 
             if (TextUtils.isEmpty(dns)) {
                 //If everything else is valid, provide hint as a default option
-                mDns1View.setText(mConfigUi.getContext().getString(R.string.wifi_dns1_hint));
+                mDns1View.setText(mConfigUi.getContext().getString(
+                        com.android.settingslib.R.string.wifi_dns1_hint));
             } else {
                 dnsAddr = getIPv4Address(dns);
                 if (dnsAddr == null) {
@@ -1062,17 +1083,15 @@
         if (refreshCertificates) {
             loadSims();
 
-            final AndroidKeystoreAliasLoader androidKeystoreAliasLoader =
-                    getAndroidKeystoreAliasLoader();
             loadCertificates(
                     mEapCaCertSpinner,
-                    androidKeystoreAliasLoader.getCaCertAliases(),
+                    mAndroidKeystoreAliasLoader.getCaCertAliases(),
                     null /* noCertificateString */,
                     false /* showMultipleCerts */,
                     true /* showUsePreinstalledCertOption */);
             loadCertificates(
                     mEapUserCertSpinner,
-                    androidKeystoreAliasLoader.getKeyCertAliases(),
+                    mAndroidKeystoreAliasLoader.getKeyCertAliases(),
                     mDoNotProvideEapUserCertString,
                     false /* showMultipleCerts */,
                     false /* showUsePreinstalledCertOption */);
@@ -1136,11 +1155,9 @@
             }
 
             if (enterpriseConfig.isAuthenticationSimBased()) {
-                for (int i = 0; i < mActiveSubscriptionInfos.size(); i++) {
-                    if (wifiConfig.carrierId == mActiveSubscriptionInfos.get(i).getCarrierId()) {
-                        mEapSimSpinner.setSelection(i);
-                        break;
-                    }
+                int index = mActiveSubscriptionInfos.indexOfKey(wifiConfig.carrierId);
+                if (index > -1) {
+                    mEapSimSpinner.setSelection(index);
                 }
             }
 
@@ -1159,11 +1176,9 @@
                     setSelection(mEapCaCertSpinner, caCerts[0]);
                 } else {
                     // Reload the cert spinner with an extra "multiple certificates added" item.
-                    final AndroidKeystoreAliasLoader androidKeystoreAliasLoader =
-                            getAndroidKeystoreAliasLoader();
                     loadCertificates(
                             mEapCaCertSpinner,
-                            androidKeystoreAliasLoader.getCaCertAliases(),
+                            mAndroidKeystoreAliasLoader.getCaCertAliases(),
                             null /* noCertificateString */,
                             true /* showMultipleCerts */,
                             true /* showUsePreinstalledCertOption */);
@@ -1375,7 +1390,11 @@
 
     @VisibleForTesting
     void setAnonymousIdVisible() {
-        mView.findViewById(R.id.l_anonymous).setVisibility(View.VISIBLE);
+        View view = mView.findViewById(R.id.l_anonymous);
+        if (view.getVisibility() == View.VISIBLE) {
+            return;
+        }
+        view.setVisibility(View.VISIBLE);
         mEapAnonymousView.setText(DEFAULT_ANONYMOUS_ID);
     }
 
@@ -1503,11 +1522,6 @@
     }
 
     @VisibleForTesting
-    AndroidKeystoreAliasLoader getAndroidKeystoreAliasLoader() {
-        return new AndroidKeystoreAliasLoader(KeyProperties.NAMESPACE_WIFI);
-    }
-
-    @VisibleForTesting
     void loadSims() {
         List<SubscriptionInfo> activeSubscriptionInfos = mContext
                 .getSystemService(SubscriptionManager.class).getActiveSubscriptionInfoList();
@@ -1516,18 +1530,8 @@
         }
         mActiveSubscriptionInfos.clear();
 
-        // De-duplicates active subscriptions and caches in mActiveSubscriptionInfos.
-        for (SubscriptionInfo newInfo : activeSubscriptionInfos) {
-            for (SubscriptionInfo cachedInfo : mActiveSubscriptionInfos) {
-                if (newInfo.getCarrierId() == cachedInfo.getCarrierId()) {
-                    continue;
-                }
-            }
-            mActiveSubscriptionInfos.add(newInfo);
-        }
-
         // Shows disabled 'No SIM' when there is no active subscription.
-        if (mActiveSubscriptionInfos.size() == 0) {
+        if (activeSubscriptionInfos.isEmpty()) {
             final String[] noSim = new String[]{mContext.getString(R.string.wifi_no_sim_card)};
             mEapSimSpinner.setAdapter(getSpinnerAdapter(noSim));
             mEapSimSpinner.setSelection(0 /* position */);
@@ -1538,7 +1542,7 @@
         // Shows display name of each active subscription.
         ArrayMap<Integer, CharSequence> displayNames = new ArrayMap<>();
         int defaultDataSubscriptionId = SubscriptionManager.getDefaultDataSubscriptionId();
-        for (SubscriptionInfo activeSubInfo : mActiveSubscriptionInfos) {
+        for (SubscriptionInfo activeSubInfo : activeSubscriptionInfos) {
             // If multiple SIMs have the same carrier id, only the first or default data SIM is
             // displayed.
             if (displayNames.containsKey(activeSubInfo.getCarrierId())
@@ -1547,6 +1551,7 @@
             }
             displayNames.put(activeSubInfo.getCarrierId(),
                     SubscriptionUtil.getUniqueSubscriptionDisplayName(activeSubInfo, mContext));
+            mActiveSubscriptionInfos.put(activeSubInfo.getCarrierId(), activeSubInfo);
         }
         mEapSimSpinner.setAdapter(
                 getSpinnerAdapter(displayNames.values().toArray(new String[displayNames.size()])));
@@ -1664,11 +1669,12 @@
             public void afterTextChanged(Editable s) {
                 if (s.length() == 0) {
                     if (view.getId() == R.id.gateway) {
-                        mGatewayView.setHint(R.string.wifi_gateway_hint);
+                        mGatewayView.setHint(com.android.settingslib.R.string.wifi_gateway_hint);
                     } else if (view.getId() == R.id.network_prefix_length) {
-                        mNetworkPrefixLengthView.setHint(R.string.wifi_network_prefix_length_hint);
+                        mNetworkPrefixLengthView.setHint(
+                                com.android.settingslib.R.string.wifi_network_prefix_length_hint);
                     } else if (view.getId() == R.id.dns1) {
-                        mDns1View.setHint(R.string.wifi_dns1_hint);
+                        mDns1View.setHint(com.android.settingslib.R.string.wifi_dns1_hint);
                     }
                     Button submit = mConfigUi.getSubmitButton();
                     if (submit == null) return;
@@ -1810,29 +1816,36 @@
         int idx = 0;
 
         // Populate the Wi-Fi security spinner with the various supported key management types
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_none));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_none));
         mSecurityInPosition[idx++] = WifiEntry.SECURITY_NONE;
         if (mWifiManager.isEnhancedOpenSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_owe));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_owe));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_OWE;
         }
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wep));
+        spinnerAdapter.add(mContext.getString(com.android.settingslib.R.string.wifi_security_wep));
         mSecurityInPosition[idx++] = WifiEntry.SECURITY_WEP;
-        spinnerAdapter.add(mContext.getString(R.string.wifi_security_wpa_wpa2));
+        spinnerAdapter.add(mContext.getString(
+                com.android.settingslib.R.string.wifi_security_wpa_wpa2));
         mSecurityInPosition[idx++] = WifiEntry.SECURITY_PSK;
         if (mWifiManager.isWpa3SaeSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_sae));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_sae));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_SAE;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa_wpa2));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_wpa_wpa2));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP;
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_wpa3));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_wpa3));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP_WPA3_ENTERPRISE;
         } else {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP;
         }
         if (mWifiManager.isWpa3SuiteBSupported()) {
-            spinnerAdapter.add(mContext.getString(R.string.wifi_security_eap_suiteb));
+            spinnerAdapter.add(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_suiteb));
             mSecurityInPosition[idx++] = WifiEntry.SECURITY_EAP_SUITE_B;
         }
 
diff --git a/src/com/android/settings/wifi/WifiConnectListener.java b/src/com/android/settings/wifi/WifiConnectListener.java
deleted file mode 100644
index b97fbc5..0000000
--- a/src/com/android/settings/wifi/WifiConnectListener.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi;
-
-import android.content.Context;
-import android.net.wifi.WifiManager;
-import android.widget.Toast;
-
-import com.android.settings.R;
-
-/**
- *  A listener to display a toast on failure to connect
- */
-public class WifiConnectListener implements WifiManager.ActionListener {
-
-    private final Context mContext;
-
-    public WifiConnectListener(Context context) {
-        mContext = context;
-    }
-
-    @Override
-    public void onSuccess() {
-    }
-
-    @Override
-    public void onFailure(int reason) {
-        if (mContext != null) {
-            Toast.makeText(mContext,
-                    R.string.wifi_failed_connect_message,
-                    Toast.LENGTH_SHORT).show();
-        }
-    }
-}
diff --git a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
index c55f3e1..05bd3be 100644
--- a/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiConnectionPreferenceController.java
@@ -112,7 +112,7 @@
                 return SystemClock.elapsedRealtime();
             }
         };
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(lifecycle, context,
                         new Handler(Looper.getMainLooper()),
diff --git a/src/com/android/settings/wifi/WifiDialog2.java b/src/com/android/settings/wifi/WifiDialog2.java
deleted file mode 100644
index 26951d1..0000000
--- a/src/com/android/settings/wifi/WifiDialog2.java
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi;
-
-import android.annotation.StyleRes;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.os.Bundle;
-import android.view.View;
-import android.view.Window;
-import android.view.WindowManager;
-import android.widget.Button;
-import android.widget.ImageButton;
-import android.widget.TextView;
-
-import androidx.appcompat.app.AlertDialog;
-
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.wifitrackerlib.WifiEntry;
-
-/**
- * Dialog for users to edit a Wi-Fi network.
- */
-public class WifiDialog2 extends AlertDialog implements WifiConfigUiBase2,
-        DialogInterface.OnClickListener {
-
-    /**
-     * Host UI component of WifiDialog2 can receive callbacks by this interface.
-     */
-    public interface WifiDialog2Listener {
-        /**
-         * To forget the Wi-Fi network.
-         */
-        default void onForget(WifiDialog2 dialog) {
-        }
-
-        /**
-         * To save the Wi-Fi network.
-         */
-        default void onSubmit(WifiDialog2 dialog) {
-        }
-
-        /**
-         * To trigger Wi-Fi QR code scanner.
-         */
-        default void onScan(WifiDialog2 dialog, String ssid) {
-        }
-    }
-
-    private static final int BUTTON_SUBMIT = DialogInterface.BUTTON_POSITIVE;
-    private static final int BUTTON_FORGET = DialogInterface.BUTTON_NEUTRAL;
-
-    private final int mMode;
-    private final WifiDialog2Listener mListener;
-    private final WifiEntry mWifiEntry;
-
-    private View mView;
-    private WifiConfigController2 mController;
-    private boolean mHideSubmitButton;
-
-    /**
-     * Creates a WifiDialog2 with no additional style. It displays as a dialog above the current
-     * view.
-     */
-    public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener,
-            WifiEntry wifiEntry, int mode) {
-        return new WifiDialog2(context, listener, wifiEntry, mode, 0 /* style */,
-                mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */);
-    }
-
-    /**
-     * Creates a WifiDialog2 with customized style. It displays as a dialog above the current
-     * view.
-     */
-    public static WifiDialog2 createModal(Context context, WifiDialog2Listener listener,
-            WifiEntry wifiEntry, int mode, @StyleRes int style) {
-        return new WifiDialog2(context, listener, wifiEntry, mode, style,
-                mode == WifiConfigUiBase2.MODE_VIEW /* hideSubmitButton */);
-    }
-
-    /* package */ WifiDialog2(Context context, WifiDialog2Listener listener, WifiEntry wifiEntry,
-            int mode, @StyleRes int style, boolean hideSubmitButton) {
-        super(context, style);
-        mMode = mode;
-        mListener = listener;
-        mWifiEntry = wifiEntry;
-        mHideSubmitButton = hideSubmitButton;
-    }
-
-    @Override
-    public WifiConfigController2 getController() {
-        return mController;
-    }
-
-    @Override
-    protected void onCreate(Bundle savedInstanceState) {
-        setWindowsOverlay();
-
-        mView = getLayoutInflater().inflate(R.layout.wifi_dialog, /* root */ null);
-        setView(mView);
-        mController = new WifiConfigController2(this, mView, mWifiEntry, mMode);
-        super.onCreate(savedInstanceState);
-
-        if (mHideSubmitButton) {
-            mController.hideSubmitButton();
-        } else {
-            /* During creation, the submit button can be unavailable to determine
-             * visibility. Right after creation, update button visibility */
-            mController.enableSubmitIfAppropriate();
-        }
-
-        if (mWifiEntry == null) {
-            mController.hideForgetButton();
-        }
-    }
-
-    private void setWindowsOverlay() {
-        final Window window = getWindow();
-        final WindowManager.LayoutParams lp = window.getAttributes();
-        window.setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG);
-        window.setAttributes(lp);
-    }
-
-    @SuppressWarnings("MissingSuperCall") // TODO: Fix me
-    @Override
-    protected void onStart() {
-        final ImageButton ssidScannerButton = findViewById(R.id.ssid_scanner_button);
-        if (mHideSubmitButton) {
-            ssidScannerButton.setVisibility(View.GONE);
-            return;
-        }
-
-        View.OnClickListener onClickScannerButtonListener = v -> {
-            if (mListener == null) {
-                return;
-            }
-
-            final TextView ssidEditText = findViewById(R.id.ssid);
-            final String ssid = ssidEditText.getText().toString();
-            mListener.onScan(/* WifiDialog2 */ this, ssid);
-        };
-        ssidScannerButton.setOnClickListener(onClickScannerButtonListener);
-    }
-
-    @Override
-    public void onRestoreInstanceState(Bundle savedInstanceState) {
-        super.onRestoreInstanceState(savedInstanceState);
-        mController.updatePassword();
-    }
-
-    @Override
-    public void dispatchSubmit() {
-        if (mListener != null) {
-            mListener.onSubmit(this);
-        }
-        dismiss();
-    }
-
-    @Override
-    public void onClick(DialogInterface dialogInterface, int id) {
-        if (mListener != null) {
-            switch (id) {
-                case BUTTON_SUBMIT:
-                    mListener.onSubmit(this);
-                    break;
-                case BUTTON_FORGET:
-                    if (WifiUtils.isNetworkLockedDown(getContext(),
-                            mWifiEntry.getWifiConfiguration())) {
-                        RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getContext(),
-                                RestrictedLockUtilsInternal.getDeviceOwner(getContext()));
-                        return;
-                    }
-                    mListener.onForget(this);
-                    break;
-            }
-        }
-    }
-
-    @Override
-    public int getMode() {
-        return mMode;
-    }
-
-    @Override
-    public Button getSubmitButton() {
-        return getButton(BUTTON_SUBMIT);
-    }
-
-    @Override
-    public Button getForgetButton() {
-        return getButton(BUTTON_FORGET);
-    }
-
-    @Override
-    public Button getCancelButton() {
-        return getButton(BUTTON_NEGATIVE);
-    }
-
-    @Override
-    public void setSubmitButton(CharSequence text) {
-        setButton(BUTTON_SUBMIT, text, this);
-    }
-
-    @Override
-    public void setForgetButton(CharSequence text) {
-        setButton(BUTTON_FORGET, text, this);
-    }
-
-    @Override
-    public void setCancelButton(CharSequence text) {
-        setButton(BUTTON_NEGATIVE, text, this);
-    }
-
-    public WifiEntry getWifiEntry() {
-        return mWifiEntry;
-    }
-}
diff --git a/src/com/android/settings/wifi/WifiDialog2.kt b/src/com/android/settings/wifi/WifiDialog2.kt
new file mode 100644
index 0000000..a0d215a
--- /dev/null
+++ b/src/com/android/settings/wifi/WifiDialog2.kt
@@ -0,0 +1,163 @@
+/*
+ * 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.wifi
+
+import android.annotation.StyleRes
+import android.content.Context
+import android.content.DialogInterface
+import android.os.Bundle
+import android.view.View
+import android.view.WindowManager
+import android.widget.Button
+import android.widget.ImageButton
+import android.widget.TextView
+import androidx.annotation.OpenForTesting
+import androidx.appcompat.app.AlertDialog
+import com.android.settings.R
+import com.android.settingslib.RestrictedLockUtils
+import com.android.settingslib.RestrictedLockUtilsInternal
+import com.android.wifitrackerlib.WifiEntry
+
+/**
+ * Dialog for users to edit a Wi-Fi network.
+ */
+@OpenForTesting
+open class WifiDialog2 @JvmOverloads constructor(
+    context: Context,
+    private val listener: WifiDialog2Listener,
+    val wifiEntry: WifiEntry?,
+    private val mode: Int,
+    @StyleRes style: Int = 0,
+    private val hideSubmitButton: Boolean = mode == WifiConfigUiBase2.MODE_VIEW,
+    private val hideMeteredAndPrivacy: Boolean = false,
+) : AlertDialog(context, style), WifiConfigUiBase2, DialogInterface.OnClickListener {
+    /**
+     * Host UI component of WifiDialog2 can receive callbacks by this interface.
+     */
+    interface WifiDialog2Listener {
+        /**
+         * To forget the Wi-Fi network.
+         */
+        fun onForget(dialog: WifiDialog2) {}
+
+        /**
+         * To save the Wi-Fi network.
+         */
+        fun onSubmit(dialog: WifiDialog2) {}
+
+        /**
+         * To trigger Wi-Fi QR code scanner.
+         */
+        fun onScan(dialog: WifiDialog2, ssid: String) {}
+    }
+
+    private lateinit var view: View
+    private lateinit var controller: WifiConfigController2
+
+    override fun getController(): WifiConfigController2 = controller
+
+    override fun onCreate(savedInstanceState: Bundle?) {
+        setWindowsOverlay()
+        view = layoutInflater.inflate(R.layout.wifi_dialog, null)
+        setView(view)
+        controller = WifiConfigController2(this, view, wifiEntry, mode, hideMeteredAndPrivacy)
+        super.onCreate(savedInstanceState)
+        if (hideSubmitButton) {
+            controller.hideSubmitButton()
+        } else {
+            // During creation, the submit button can be unavailable to determine visibility.
+            // Right after creation, update button visibility
+            controller.enableSubmitIfAppropriate()
+        }
+        if (wifiEntry == null) {
+            controller.hideForgetButton()
+        }
+    }
+
+    private fun setWindowsOverlay() {
+        window?.apply {
+            val lp = attributes
+            setType(WindowManager.LayoutParams.TYPE_KEYGUARD_DIALOG)
+            attributes = lp
+        }
+    }
+
+    override fun onStart() {
+        super.onStart()
+        val ssidScannerButton = requireViewById<ImageButton>(R.id.ssid_scanner_button)
+        if (hideSubmitButton) {
+            ssidScannerButton.visibility = View.GONE
+        } else {
+            ssidScannerButton.setOnClickListener {
+                val ssidEditText = requireViewById<TextView>(R.id.ssid)
+                val ssid = ssidEditText.text.toString()
+                listener.onScan(this, ssid)
+            }
+        }
+    }
+
+    override fun onRestoreInstanceState(savedInstanceState: Bundle) {
+        super.onRestoreInstanceState(savedInstanceState)
+        controller.updatePassword()
+    }
+
+    override fun dispatchSubmit() {
+        listener.onSubmit(this)
+        dismiss()
+    }
+
+    override fun onClick(dialogInterface: DialogInterface, id: Int) {
+        when (id) {
+            BUTTON_SUBMIT -> listener.onSubmit(this)
+            BUTTON_FORGET -> {
+                if (WifiUtils.isNetworkLockedDown(context, wifiEntry!!.wifiConfiguration)) {
+                    RestrictedLockUtils.sendShowAdminSupportDetailsIntent(
+                        context,
+                        RestrictedLockUtilsInternal.getDeviceOwner(context)
+                    )
+                    return
+                }
+                listener.onForget(this)
+            }
+        }
+    }
+
+    override fun getMode(): Int = mode
+
+    override fun getSubmitButton(): Button? = getButton(BUTTON_SUBMIT)
+
+    override fun getForgetButton(): Button? = getButton(BUTTON_FORGET)
+
+    override fun getCancelButton(): Button? = getButton(BUTTON_NEGATIVE)
+
+    override fun setSubmitButton(text: CharSequence) {
+        setButton(BUTTON_SUBMIT, text, this)
+    }
+
+    override fun setForgetButton(text: CharSequence) {
+        setButton(BUTTON_FORGET, text, this)
+    }
+
+    override fun setCancelButton(text: CharSequence) {
+        setButton(BUTTON_NEGATIVE, text, this)
+    }
+
+    companion object {
+        private const val BUTTON_SUBMIT = BUTTON_POSITIVE
+        private const val BUTTON_FORGET = BUTTON_NEUTRAL
+    }
+}
diff --git a/src/com/android/settings/wifi/WifiDialogActivity.java b/src/com/android/settings/wifi/WifiDialogActivity.java
index dda5929..eb3d88a 100644
--- a/src/com/android/settings/wifi/WifiDialogActivity.java
+++ b/src/com/android/settings/wifi/WifiDialogActivity.java
@@ -141,7 +141,7 @@
                     return SystemClock.elapsedRealtime();
                 }
             };
-            mNetworkDetailsTracker = FeatureFactory.getFactory(this)
+            mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                     .getWifiTrackerLibProvider()
                     .createNetworkDetailsTracker(
                             getLifecycle(),
@@ -171,7 +171,7 @@
             createDialogWithSuwTheme();
         } else {
             if (mIsWifiTrackerLib) {
-                mDialog2 = WifiDialog2.createModal(this, this,
+                mDialog2 = new WifiDialog2(this, this,
                         mNetworkDetailsTracker.getWifiEntry(), WifiConfigUiBase2.MODE_CONNECT);
             } else {
                 mDialog = WifiDialog.createModal(
@@ -202,7 +202,7 @@
                 ? R.style.SuwAlertDialogThemeCompat_DayNight :
                 R.style.SuwAlertDialogThemeCompat_Light;
         if (mIsWifiTrackerLib) {
-            mDialog2 = WifiDialog2.createModal(this, this,
+            mDialog2 = new WifiDialog2(this, this,
                     mNetworkDetailsTracker.getWifiEntry(),
                     WifiConfigUiBase2.MODE_CONNECT, targetStyle);
         } else {
diff --git a/src/com/android/settings/wifi/WifiEntryPreference.java b/src/com/android/settings/wifi/WifiEntryPreference.java
index 7206666..e5290f4 100644
--- a/src/com/android/settings/wifi/WifiEntryPreference.java
+++ b/src/com/android/settings/wifi/WifiEntryPreference.java
@@ -17,7 +17,6 @@
 
 import static com.android.settingslib.wifi.WifiUtils.getHotspotIconResource;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.content.res.Resources;
 import android.content.res.TypedArray;
@@ -31,6 +30,7 @@
 
 import androidx.annotation.DrawableRes;
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceViewHolder;
 
@@ -38,7 +38,6 @@
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.Utils;
 import com.android.settingslib.wifi.WifiUtils;
-import com.android.wifitrackerlib.BaseWifiTracker;
 import com.android.wifitrackerlib.HotspotNetworkEntry;
 import com.android.wifitrackerlib.WifiEntry;
 
@@ -86,9 +85,18 @@
 
         setLayoutResource(R.layout.preference_access_point);
         mFrictionSld = getFrictionStateListDrawable();
+        mIconInjector = iconInjector;
+        setWifiEntry(wifiEntry);
+    }
+
+    /**
+     * Set updated {@link WifiEntry} to refresh the preference
+     *
+     * @param wifiEntry An instance of {@link WifiEntry}
+     */
+    public void setWifiEntry(@NonNull WifiEntry wifiEntry) {
         mWifiEntry = wifiEntry;
         mWifiEntry.setListener(this);
-        mIconInjector = iconInjector;
         refresh();
     }
 
@@ -99,7 +107,7 @@
     @Override
     public void onBindViewHolder(final PreferenceViewHolder view) {
         super.onBindViewHolder(view);
-        if (BaseWifiTracker.isVerboseLoggingEnabled()) {
+        if (mWifiEntry.isVerboseSummaryEnabled()) {
             TextView summary = (TextView) view.findViewById(android.R.id.summary);
             if (summary != null) {
                 summary.setMaxLines(100);
@@ -113,7 +121,8 @@
         view.itemView.setContentDescription(mContentDescription);
 
         // Turn off divider
-        view.findViewById(R.id.two_target_divider).setVisibility(View.INVISIBLE);
+        view.findViewById(com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider)
+                .setVisibility(View.INVISIBLE);
 
         // Enable the icon button when the help string in this WifiEntry is not null.
         final ImageButton imageButton = (ImageButton) view.findViewById(R.id.icon_button);
@@ -151,14 +160,9 @@
         if (mWifiEntry instanceof HotspotNetworkEntry) {
             updateHotspotIcon(((HotspotNetworkEntry) mWifiEntry).getDeviceType());
         } else {
-            int level = mWifiEntry.getLevel();
-            boolean showX = mWifiEntry.shouldShowXLevelIcon();
-
-            if (level != mLevel || showX != mShowX) {
-                mLevel = level;
-                mShowX = showX;
-                updateIcon(mShowX, mLevel);
-            }
+            mLevel = mWifiEntry.getLevel();
+            mShowX = mWifiEntry.shouldShowXLevelIcon();
+            updateIcon(mShowX, mLevel);
         }
 
         setSummary(mWifiEntry.getSummary(false /* concise */));
diff --git a/src/com/android/settings/wifi/WifiPickerActivity.java b/src/com/android/settings/wifi/WifiPickerActivity.java
index d56e7e5..f26e15a 100644
--- a/src/com/android/settings/wifi/WifiPickerActivity.java
+++ b/src/com/android/settings/wifi/WifiPickerActivity.java
@@ -17,11 +17,10 @@
 
 import android.content.Intent;
 
-import androidx.preference.PreferenceFragmentCompat;
-
 import com.android.settings.ButtonBarHandler;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.network.NetworkProviderSettings;
 import com.android.settings.wifi.p2p.WifiP2pSettings;
 import com.android.settings.wifi.savedaccesspoints2.SavedAccessPointsWifiSettings2;
 
@@ -31,7 +30,7 @@
     public Intent getIntent() {
         Intent modIntent = new Intent(super.getIntent());
         if (!modIntent.hasExtra(EXTRA_SHOW_FRAGMENT)) {
-            modIntent.putExtra(EXTRA_SHOW_FRAGMENT, getWifiSettingsClass().getName());
+            modIntent.putExtra(EXTRA_SHOW_FRAGMENT, NetworkProviderSettings.class.getName());
             modIntent.putExtra(EXTRA_SHOW_FRAGMENT_TITLE_RESID, R.string.wifi_select_network);
         }
         return modIntent;
@@ -39,18 +38,8 @@
 
     @Override
     protected boolean isValidFragment(String fragmentName) {
-        final boolean isSavedAccessPointsWifiSettings =
-                SavedAccessPointsWifiSettings2.class.getName().equals(fragmentName);
-
-        if (WifiSettings.class.getName().equals(fragmentName)
+        return NetworkProviderSettings.class.getName().equals(fragmentName)
                 || WifiP2pSettings.class.getName().equals(fragmentName)
-                || isSavedAccessPointsWifiSettings) {
-            return true;
-        }
-        return false;
-    }
-
-    /* package */ Class<? extends PreferenceFragmentCompat> getWifiSettingsClass() {
-        return WifiSettings.class;
+                || SavedAccessPointsWifiSettings2.class.getName().equals(fragmentName);
     }
 }
diff --git a/src/com/android/settings/wifi/WifiPickerTrackerHelper.java b/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
index 3aa7b83..4df3efa 100644
--- a/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
+++ b/src/com/android/settings/wifi/WifiPickerTrackerHelper.java
@@ -78,7 +78,7 @@
                 Process.THREAD_PRIORITY_BACKGROUND);
         mWorkerThread.start();
 
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(lifecycle, context,
                 new Handler(Looper.getMainLooper()),
diff --git a/src/com/android/settings/wifi/WifiScanModeActivity.java b/src/com/android/settings/wifi/WifiScanModeActivity.java
index c10ee27..446891a 100644
--- a/src/com/android/settings/wifi/WifiScanModeActivity.java
+++ b/src/com/android/settings/wifi/WifiScanModeActivity.java
@@ -39,26 +39,24 @@
 import com.android.settings.core.instrumentation.InstrumentedDialogFragment;
 import com.android.settingslib.wifi.WifiPermissionChecker;
 
-/**
- * This activity requests users permission to allow scanning even when Wi-Fi is turned off
- */
+/** This activity requests users permission to allow scanning even when Wi-Fi is turned off */
 public class WifiScanModeActivity extends FragmentActivity {
     private static final String TAG = "WifiScanModeActivity";
     private DialogFragment mDialog;
-    @VisibleForTesting
-    String mApp;
-    @VisibleForTesting
-    WifiPermissionChecker mWifiPermissionChecker;
+    @VisibleForTesting String mApp;
+    @VisibleForTesting WifiPermissionChecker mWifiPermissionChecker;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
-        getWindow().addSystemFlags(
-                WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
+        getWindow()
+                .addSystemFlags(
+                        WindowManager.LayoutParams.SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
         Intent intent = getIntent();
         if (savedInstanceState == null) {
-            if (intent != null && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE
-                    .equals(intent.getAction())) {
+            if (intent != null
+                    && WifiManager.ACTION_REQUEST_SCAN_ALWAYS_AVAILABLE.equals(
+                            intent.getAction())) {
                 refreshAppLabel();
             } else {
                 finish();
@@ -92,6 +90,12 @@
             return;
         }
 
+        if (!isWifiScanModeConfigAllowed(getApplicationContext())) {
+            Log.e(TAG, "This user is not allowed to configure Wi-Fi Scan Mode!");
+            finish();
+            return;
+        }
+
         if (mDialog == null) {
             mDialog = AlertDialogFragment.newInstance(mApp);
             mDialog.show(getSupportFragmentManager(), "dialog");
@@ -140,6 +144,7 @@
         }
 
         private final String mApp;
+
         public AlertDialogFragment(String app) {
             super();
             mApp = app;
@@ -158,25 +163,27 @@
         @Override
         public Dialog onCreateDialog(Bundle savedInstanceState) {
             return new AlertDialog.Builder(getActivity())
-                    .setMessage(TextUtils.isEmpty(mApp) ?
-                        getString(R.string.wifi_scan_always_turn_on_message_unknown) :
-                        getString(R.string.wifi_scan_always_turnon_message, mApp))
-                    .setPositiveButton(R.string.wifi_scan_always_confirm_allow,
+                    .setMessage(
+                            TextUtils.isEmpty(mApp)
+                                    ? getString(R.string.wifi_scan_always_turn_on_message_unknown)
+                                    : getString(R.string.wifi_scan_always_turnon_message, mApp))
+                    .setPositiveButton(
+                            R.string.wifi_scan_always_confirm_allow,
                             new DialogInterface.OnClickListener() {
                                 public void onClick(DialogInterface dialog, int whichButton) {
                                     ((WifiScanModeActivity) getActivity()).doPositiveClick();
                                 }
-                            }
-                    )
-                    .setNegativeButton(R.string.wifi_scan_always_confirm_deny,
+                            })
+                    .setNegativeButton(
+                            R.string.wifi_scan_always_confirm_deny,
                             new DialogInterface.OnClickListener() {
                                 public void onClick(DialogInterface dialog, int whichButton) {
                                     ((WifiScanModeActivity) getActivity()).doNegativeClick();
                                 }
-                            }
-                    )
+                            })
                     .create();
         }
+
         @Override
         public void onCancel(DialogInterface dialog) {
             ((WifiScanModeActivity) getActivity()).doNegativeClick();
@@ -184,9 +191,14 @@
     }
 
     private static boolean isGuestUser(Context context) {
-        if (context == null) return false;
         final UserManager userManager = context.getSystemService(UserManager.class);
         if (userManager == null) return false;
         return userManager.isGuestUser();
     }
+
+    private static boolean isWifiScanModeConfigAllowed(Context context) {
+        final UserManager userManager = context.getSystemService(UserManager.class);
+        if (userManager == null) return true;
+        return !userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_LOCATION);
+    }
 }
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
deleted file mode 100644
index 2a16664..0000000
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ /dev/null
@@ -1,1209 +0,0 @@
-/*
- * Copyright (C) 2010 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi;
-
-import static android.net.wifi.WifiConfiguration.NetworkSelectionStatus.NETWORK_SELECTION_ENABLED;
-import static android.os.UserManager.DISALLOW_CONFIG_WIFI;
-
-import android.app.Activity;
-import android.app.Dialog;
-import android.app.settings.SettingsEnums;
-import android.content.ActivityNotFoundException;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.DialogInterface;
-import android.content.Intent;
-import android.net.NetworkTemplate;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.PowerManager;
-import android.os.Process;
-import android.os.SimpleClock;
-import android.os.SystemClock;
-import android.provider.Settings;
-import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
-import android.view.ContextMenu;
-import android.view.ContextMenu.ContextMenuInfo;
-import android.view.Menu;
-import android.view.MenuItem;
-import android.view.View;
-import android.widget.Toast;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceScreen;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.settings.LinkifyUtils;
-import com.android.settings.R;
-import com.android.settings.RestrictedSettingsFragment;
-import com.android.settings.SettingsActivity;
-import com.android.settings.Utils;
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.core.SubSettingLauncher;
-import com.android.settings.datausage.DataUsagePreference;
-import com.android.settings.datausage.DataUsageUtils;
-import com.android.settings.location.WifiScanningFragment;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settings.widget.MainSwitchBarController;
-import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
-import com.android.settings.wifi.dpp.WifiDppUtils;
-import com.android.settingslib.HelpUtils;
-import com.android.settingslib.RestrictedLockUtils;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.search.Indexable;
-import com.android.settingslib.search.SearchIndexable;
-import com.android.settingslib.utils.StringUtil;
-import com.android.settingslib.wifi.WifiSavedConfigUtils;
-import com.android.wifitrackerlib.WifiEntry;
-import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
-import com.android.wifitrackerlib.WifiPickerTracker;
-
-import java.time.Clock;
-import java.time.ZoneOffset;
-import java.util.List;
-import java.util.Optional;
-
-/**
- * UI for Wi-Fi settings screen
- *
- * @deprecated This file will be deprecated at Android S, please merge your WifiSettings
- * in change in {@link NetworkProviderSettings}.
- */
-@Deprecated
-@SearchIndexable
-public class WifiSettings extends RestrictedSettingsFragment
-        implements Indexable, WifiPickerTracker.WifiPickerTrackerCallback,
-        WifiDialog2.WifiDialog2Listener, DialogInterface.OnDismissListener {
-
-    private static final String TAG = "WifiSettings";
-
-    // Set the Provider Model is always enabled
-    @VisibleForTesting
-    static Boolean IS_ENABLED_PROVIDER_MODEL = true;
-
-    // IDs of context menu
-    static final int MENU_ID_CONNECT = Menu.FIRST + 1;
-    @VisibleForTesting
-    static final int MENU_ID_DISCONNECT = Menu.FIRST + 2;
-    @VisibleForTesting
-    static final int MENU_ID_FORGET = Menu.FIRST + 3;
-    static final int MENU_ID_MODIFY = Menu.FIRST + 4;
-    static final int MENU_ID_SHARE = Menu.FIRST + 5;
-
-    // Max age of tracked WifiEntries
-    private static final long MAX_SCAN_AGE_MILLIS = 15_000;
-    // Interval between initiating WifiPickerTracker scans
-    private static final long SCAN_INTERVAL_MILLIS = 10_000;
-
-    @VisibleForTesting
-    static final int ADD_NETWORK_REQUEST = 2;
-    static final int CONFIG_NETWORK_REQUEST = 3;
-    static final int MANAGE_SUBSCRIPTION = 4;
-
-    private static final String PREF_KEY_EMPTY_WIFI_LIST = "wifi_empty_list";
-    // TODO(b/70983952): Rename these to use WifiEntry instead of AccessPoint.
-    private static final String PREF_KEY_CONNECTED_ACCESS_POINTS = "connected_access_point";
-    private static final String PREF_KEY_ACCESS_POINTS = "access_points";
-    private static final String PREF_KEY_CONFIGURE_WIFI_SETTINGS = "configure_wifi_settings";
-    private static final String PREF_KEY_SAVED_NETWORKS = "saved_networks";
-    private static final String PREF_KEY_STATUS_MESSAGE = "wifi_status_message";
-    @VisibleForTesting
-    static final String PREF_KEY_DATA_USAGE = "wifi_data_usage";
-
-    private static final int REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER = 0;
-
-    public static final int WIFI_DIALOG_ID = 1;
-
-    // Instance state keys
-    private static final String SAVE_DIALOG_MODE = "dialog_mode";
-    private static final String SAVE_DIALOG_WIFIENTRY_KEY = "wifi_ap_key";
-
-    // Cache at onCreateContextMenu and use at onContextItemSelected. Don't use it in other methods.
-    private WifiEntry mSelectedWifiEntry;
-
-    // Save the dialog details
-    private int mDialogMode;
-    private String mDialogWifiEntryKey;
-    private WifiEntry mDialogWifiEntry;
-
-    // This boolean extra specifies whether to enable the Next button when connected. Used by
-    // account creation outside of setup wizard.
-    private static final String EXTRA_ENABLE_NEXT_ON_CONNECT = "wifi_enable_next_on_connect";
-
-    // Enable the Next button when a Wi-Fi network is connected.
-    private boolean mEnableNextOnConnection;
-
-    // This string extra specifies a network to open the connect dialog on, so the user can enter
-    // network credentials.  This is used by quick settings for secured networks, among other
-    // things.
-    private static final String EXTRA_START_CONNECT_SSID = "wifi_start_connect_ssid";
-    private String mOpenSsid;
-
-    private static boolean isVerboseLoggingEnabled() {
-        return WifiPickerTracker.isVerboseLoggingEnabled();
-    }
-
-    private boolean mIsWifiEntryListStale = true;
-    private final Runnable mUpdateWifiEntryPreferencesRunnable = () -> {
-        updateWifiEntryPreferences();
-    };
-    private final Runnable mHideProgressBarRunnable = () -> {
-        setProgressBarVisible(false);
-    };
-
-    protected WifiManager mWifiManager;
-    private WifiManager.ActionListener mConnectListener;
-    private WifiManager.ActionListener mSaveListener;
-    private WifiManager.ActionListener mForgetListener;
-
-    /**
-     * The state of {@link #isUiRestricted()} at {@link #onCreate(Bundle)}}. This is neccesary to
-     * ensure that behavior is consistent if {@link #isUiRestricted()} changes. It could be changed
-     * by the Test DPC tool in AFW mode.
-     */
-    private boolean mIsRestricted;
-
-    private WifiEnabler mWifiEnabler;
-
-    // Worker thread used for WifiPickerTracker work
-    private HandlerThread mWorkerThread;
-    private Handler mMainHandler;
-    private Handler mWorkerHandler;
-
-    @VisibleForTesting
-    WifiPickerTracker mWifiPickerTracker;
-
-    private WifiDialog2 mDialog;
-
-    private View mProgressHeader;
-
-    private PreferenceCategory mConnectedWifiEntryPreferenceCategory;
-    private PreferenceCategory mWifiEntryPreferenceCategory;
-    @VisibleForTesting
-    AddWifiNetworkPreference mAddWifiNetworkPreference;
-    @VisibleForTesting
-    Preference mConfigureWifiSettingsPreference;
-    @VisibleForTesting
-    Preference mSavedNetworksPreference;
-    @VisibleForTesting
-    DataUsagePreference mDataUsagePreference;
-    private LinkablePreference mStatusMessagePreference;
-
-    /**
-     * Tracks whether the user initiated a connection via clicking in order to autoscroll to the
-     * network once connected.
-     */
-    private boolean mClickedConnect;
-
-    public WifiSettings() {
-        super(DISALLOW_CONFIG_WIFI);
-    }
-
-    @Override
-    public void onViewCreated(View view, Bundle savedInstanceState) {
-        super.onViewCreated(view, savedInstanceState);
-        final Activity activity = getActivity();
-        if (activity != null) {
-            mProgressHeader = setPinnedHeaderView(R.layout.progress_header)
-                    .findViewById(R.id.progress_bar_animation);
-            setProgressBarVisible(false);
-        }
-        ((SettingsActivity) activity).getSwitchBar().setTitle(
-                getContext().getString(R.string.wifi_settings_primary_switch_title));
-    }
-
-    @Override
-    public void onCreate(Bundle icicle) {
-        super.onCreate(icicle);
-
-        if (IS_ENABLED_PROVIDER_MODEL) {
-            final Intent intent = new Intent("android.settings.NETWORK_PROVIDER_SETTINGS");
-            // Add FLAG_ACTIVITY_NEW_TASK and FLAG_ACTIVITY_CLEAR_TASK to avoid multiple
-            // instances issue. (e.g. b/191956700)
-            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
-            final Bundle extras = getActivity().getIntent().getExtras();
-            if (extras != null) {
-                intent.putExtras(extras);
-            }
-            getContext().startActivity(intent);
-            finish();
-            return;
-        }
-
-        // TODO(b/37429702): Add animations and preference comparator back after initial screen is
-        // loaded (ODR).
-        setAnimationAllowed(false);
-
-        addPreferences();
-
-        mIsRestricted = isUiRestricted();
-    }
-
-    private void addPreferences() {
-        addPreferencesFromResource(R.xml.wifi_settings);
-
-        mConnectedWifiEntryPreferenceCategory = findPreference(PREF_KEY_CONNECTED_ACCESS_POINTS);
-        mWifiEntryPreferenceCategory = findPreference(PREF_KEY_ACCESS_POINTS);
-        mConfigureWifiSettingsPreference = findPreference(PREF_KEY_CONFIGURE_WIFI_SETTINGS);
-        mSavedNetworksPreference = findPreference(PREF_KEY_SAVED_NETWORKS);
-        mAddWifiNetworkPreference = new AddWifiNetworkPreference(getPrefContext());
-        mStatusMessagePreference = findPreference(PREF_KEY_STATUS_MESSAGE);
-        mDataUsagePreference = findPreference(PREF_KEY_DATA_USAGE);
-        mDataUsagePreference.setVisible(DataUsageUtils.hasWifiRadio(getContext()));
-        mDataUsagePreference.setTemplate(new NetworkTemplate.Builder(
-                NetworkTemplate.MATCH_WIFI).build(), 0 /*subId*/, null /*service*/);
-    }
-
-    @Override
-    public void onActivityCreated(Bundle savedInstanceState) {
-        super.onActivityCreated(savedInstanceState);
-
-        final Context context = getContext();
-        mWorkerThread = new HandlerThread(TAG
-                + "{" + Integer.toHexString(System.identityHashCode(this)) + "}",
-                Process.THREAD_PRIORITY_BACKGROUND);
-        mWorkerThread.start();
-        final Clock elapsedRealtimeClock = new SimpleClock(ZoneOffset.UTC) {
-            @Override
-            public long millis() {
-                return SystemClock.elapsedRealtime();
-            }
-        };
-
-        mMainHandler = new Handler(Looper.getMainLooper());
-        mWorkerHandler = mWorkerThread.getThreadHandler();
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
-                .getWifiTrackerLibProvider()
-                .createWifiPickerTracker(getSettingsLifecycle(), context,
-                        mMainHandler, mWorkerHandler,
-                        elapsedRealtimeClock,
-                        MAX_SCAN_AGE_MILLIS,
-                        SCAN_INTERVAL_MILLIS,
-                        this);
-
-        final Activity activity = getActivity();
-
-        if (activity != null) {
-            mWifiManager = getActivity().getSystemService(WifiManager.class);
-        }
-
-        mConnectListener = new WifiConnectListener(getActivity());
-
-        mSaveListener = new WifiManager.ActionListener() {
-            @Override
-            public void onSuccess() {
-            }
-
-            @Override
-            public void onFailure(int reason) {
-                Activity activity = getActivity();
-                if (activity != null) {
-                    Toast.makeText(activity,
-                            R.string.wifi_failed_save_message,
-                            Toast.LENGTH_SHORT).show();
-                }
-            }
-        };
-
-        mForgetListener = new WifiManager.ActionListener() {
-            @Override
-            public void onSuccess() {
-            }
-
-            @Override
-            public void onFailure(int reason) {
-                Activity activity = getActivity();
-                if (activity != null) {
-                    Toast.makeText(activity,
-                            R.string.wifi_failed_forget_message,
-                            Toast.LENGTH_SHORT).show();
-                }
-            }
-        };
-        registerForContextMenu(getListView());
-        setHasOptionsMenu(true);
-
-        if (savedInstanceState != null) {
-            mDialogMode = savedInstanceState.getInt(SAVE_DIALOG_MODE);
-            mDialogWifiEntryKey = savedInstanceState.getString(SAVE_DIALOG_WIFIENTRY_KEY);
-        }
-
-        // If we're supposed to enable/disable the Next button based on our current connection
-        // state, start it off in the right state.
-        final Intent intent = getActivity().getIntent();
-        mEnableNextOnConnection = intent.getBooleanExtra(EXTRA_ENABLE_NEXT_ON_CONNECT, false);
-
-        if (intent.hasExtra(EXTRA_START_CONNECT_SSID)) {
-            mOpenSsid = intent.getStringExtra(EXTRA_START_CONNECT_SSID);
-        }
-
-        // After rebooting the device, the Wi-Fi state will not be called back in the airplane
-        // mode, need to call onWifiStateChanged() to update the initial state of the UI.
-        onWifiStateChanged();
-    }
-
-    @Override
-    public void onDestroyView() {
-        if (mWifiEnabler != null) {
-            mWifiEnabler.teardownSwitchController();
-        }
-
-        // remove all msg and callback in main handler and worker handler
-        mMainHandler.removeCallbacksAndMessages(null);
-        mWorkerHandler.removeCallbacksAndMessages(null);
-        mWorkerThread.quit();
-
-        super.onDestroyView();
-    }
-
-    @Override
-    public void onStart() {
-        super.onStart();
-
-        mWifiEnabler = createWifiEnabler();
-
-        if (mIsRestricted) {
-            restrictUi();
-        }
-    }
-
-    private void restrictUi() {
-        if (!isUiRestrictedByOnlyAdmin()) {
-            getEmptyTextView().setText(R.string.wifi_empty_list_user_restricted);
-        }
-        getPreferenceScreen().removeAll();
-    }
-
-    /**
-     * @return new WifiEnabler
-     */
-    private WifiEnabler createWifiEnabler() {
-        final SettingsActivity activity = (SettingsActivity) getActivity();
-        return new WifiEnabler(activity, new MainSwitchBarController(activity.getSwitchBar()),
-                mMetricsFeatureProvider);
-    }
-
-    @Override
-    public void onResume() {
-        final Activity activity = getActivity();
-        super.onResume();
-
-        // Because RestrictedSettingsFragment's onResume potentially requests authorization,
-        // which changes the restriction state, recalculate it.
-        final boolean alreadyImmutablyRestricted = mIsRestricted;
-        mIsRestricted = isUiRestricted();
-        if (!alreadyImmutablyRestricted && mIsRestricted) {
-            restrictUi();
-        }
-
-        if (mWifiEnabler != null) {
-            mWifiEnabler.resume(activity);
-        }
-
-        changeNextButtonState(mWifiPickerTracker.getConnectedWifiEntry() != null);
-    }
-
-    @Override
-    public void onPause() {
-        super.onPause();
-        if (mWifiEnabler != null) {
-            mWifiEnabler.pause();
-        }
-    }
-
-    @Override
-    public void onStop() {
-        getView().removeCallbacks(mUpdateWifiEntryPreferencesRunnable);
-        getView().removeCallbacks(mHideProgressBarRunnable);
-        mIsWifiEntryListStale = true;
-        super.onStop();
-    }
-
-    @Override
-    public void onActivityResult(int requestCode, int resultCode, Intent data) {
-        super.onActivityResult(requestCode, resultCode, data);
-
-        if (requestCode == ADD_NETWORK_REQUEST) {
-            handleAddNetworkRequest(resultCode, data);
-            return;
-        } else if (requestCode == REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER) {
-            if (resultCode == Activity.RESULT_OK) {
-                if (mDialog != null) {
-                    mDialog.dismiss();
-                }
-            }
-            return;
-        } else if (requestCode == CONFIG_NETWORK_REQUEST) {
-            if (resultCode == Activity.RESULT_OK) {
-                final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
-                        ConfigureWifiEntryFragment.NETWORK_CONFIG_KEY);
-                if (wifiConfiguration != null) {
-                    mWifiManager.connect(wifiConfiguration,
-                            new WifiConnectActionListener());
-                }
-            }
-            return;
-        } else if (requestCode == MANAGE_SUBSCRIPTION) {
-            //Do nothing
-            return;
-        }
-
-        final boolean formerlyRestricted = mIsRestricted;
-        mIsRestricted = isUiRestricted();
-        if (formerlyRestricted && !mIsRestricted
-                && getPreferenceScreen().getPreferenceCount() == 0) {
-            // De-restrict the ui
-            addPreferences();
-        }
-    }
-
-    @Override
-    protected RecyclerView.Adapter onCreateAdapter(PreferenceScreen preferenceScreen) {
-        final RecyclerView.Adapter adapter = super.onCreateAdapter(preferenceScreen);
-        adapter.setHasStableIds(true);
-        return adapter;
-    }
-
-    @Override
-    public int getMetricsCategory() {
-        return SettingsEnums.WIFI;
-    }
-
-    @Override
-    public void onSaveInstanceState(Bundle outState) {
-        super.onSaveInstanceState(outState);
-        // If dialog has been shown, save its state.
-        if (mDialog != null) {
-            outState.putInt(SAVE_DIALOG_MODE, mDialogMode);
-            outState.putString(SAVE_DIALOG_WIFIENTRY_KEY, mDialogWifiEntryKey);
-        }
-    }
-
-    @Override
-    public void onCreateContextMenu(ContextMenu menu, View view, ContextMenuInfo info) {
-        Preference preference = (Preference) view.getTag();
-        if (!(preference instanceof LongPressWifiEntryPreference)) {
-            // Do nothing.
-            return;
-        }
-
-        // Cache the WifiEntry for onContextItemSelected. Don't use it in other methods.
-        mSelectedWifiEntry = ((LongPressWifiEntryPreference) preference).getWifiEntry();
-
-        menu.setHeaderTitle(mSelectedWifiEntry.getTitle());
-        if (mSelectedWifiEntry.canConnect()) {
-            menu.add(Menu.NONE, MENU_ID_CONNECT, 0 /* order */, R.string.wifi_connect);
-        }
-
-        if (mSelectedWifiEntry.canDisconnect()) {
-            menu.add(Menu.NONE, MENU_ID_SHARE, 0 /* order */, R.string.share);
-            menu.add(Menu.NONE, MENU_ID_DISCONNECT, 1 /* order */,
-                    R.string.wifi_disconnect_button_text);
-        }
-
-        // "forget" for normal saved network. And "disconnect" for ephemeral network because it
-        // could only be disconnected and be put in blocklists so it won't be used again.
-        if (canForgetNetwork()) {
-            menu.add(Menu.NONE, MENU_ID_FORGET, 0 /* order */, R.string.forget);
-        }
-
-        WifiConfiguration config = mSelectedWifiEntry.getWifiConfiguration();
-        // Some configs are ineditable
-        if (WifiUtils.isNetworkLockedDown(getActivity(), config)) {
-            return;
-        }
-
-        if (mSelectedWifiEntry.isSaved() && mSelectedWifiEntry.getConnectedState()
-                != WifiEntry.CONNECTED_STATE_CONNECTED) {
-            menu.add(Menu.NONE, MENU_ID_MODIFY, 0 /* order */, R.string.wifi_modify);
-        }
-    }
-
-    private boolean canForgetNetwork() {
-        return mSelectedWifiEntry.canForget() && !WifiUtils.isNetworkLockedDown(getActivity(),
-                mSelectedWifiEntry.getWifiConfiguration());
-    }
-
-    @Override
-    public boolean onContextItemSelected(MenuItem item) {
-        switch (item.getItemId()) {
-            case MENU_ID_CONNECT:
-                connect(mSelectedWifiEntry, true /* editIfNoConfig */, false /* fullScreenEdit */);
-                return true;
-            case MENU_ID_DISCONNECT:
-                mSelectedWifiEntry.disconnect(null /* callback */);
-                return true;
-            case MENU_ID_FORGET:
-                forget(mSelectedWifiEntry);
-                return true;
-            case MENU_ID_SHARE:
-                WifiDppUtils.showLockScreen(getContext(),
-                        () -> launchWifiDppConfiguratorActivity(mSelectedWifiEntry));
-                return true;
-            case MENU_ID_MODIFY:
-                showDialog(mSelectedWifiEntry, WifiConfigUiBase2.MODE_MODIFY);
-                return true;
-            default:
-                return super.onContextItemSelected(item);
-        }
-    }
-
-    @Override
-    public boolean onPreferenceTreeClick(Preference preference) {
-        // If the preference has a fragment set, open that
-        if (preference.getFragment() != null) {
-            preference.setOnPreferenceClickListener(null);
-            return super.onPreferenceTreeClick(preference);
-        }
-
-        if (preference instanceof LongPressWifiEntryPreference) {
-            final WifiEntry selectedEntry =
-                    ((LongPressWifiEntryPreference) preference).getWifiEntry();
-
-            if (selectedEntry.shouldEditBeforeConnect()) {
-                launchConfigNewNetworkFragment(selectedEntry);
-                return true;
-            }
-
-            connect(selectedEntry, true /* editIfNoConfig */, true /* fullScreenEdit */);
-        } else if (preference == mAddWifiNetworkPreference) {
-            onAddNetworkPressed();
-        } else {
-            return super.onPreferenceTreeClick(preference);
-        }
-        return true;
-    }
-
-    private void showDialog(WifiEntry wifiEntry, int dialogMode) {
-        if (WifiUtils.isNetworkLockedDown(getActivity(), wifiEntry.getWifiConfiguration())
-                && wifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
-            RestrictedLockUtils.sendShowAdminSupportDetailsIntent(getActivity(),
-                    RestrictedLockUtilsInternal.getDeviceOwner(getActivity()));
-            return;
-        }
-
-        if (mDialog != null) {
-            removeDialog(WIFI_DIALOG_ID);
-            mDialog = null;
-        }
-
-        // Save the access point and edit mode
-        mDialogWifiEntry = wifiEntry;
-        mDialogWifiEntryKey = wifiEntry.getKey();
-        mDialogMode = dialogMode;
-
-        showDialog(WIFI_DIALOG_ID);
-    }
-
-    @Override
-    public Dialog onCreateDialog(int dialogId) {
-        switch (dialogId) {
-            case WIFI_DIALOG_ID:
-                // modify network
-                mDialog = WifiDialog2
-                        .createModal(getActivity(), this, mDialogWifiEntry, mDialogMode);
-                return mDialog;
-            default:
-                return super.onCreateDialog(dialogId);
-        }
-    }
-
-    @Override
-    public void onDialogShowing() {
-        super.onDialogShowing();
-        setOnDismissListener(this);
-    }
-
-    @Override
-    public void onDismiss(DialogInterface dialog) {
-        // We don't keep any dialog object when dialog was dismissed.
-        mDialog = null;
-        mDialogWifiEntry = null;
-        mDialogWifiEntryKey = null;
-    }
-
-    @Override
-    public int getDialogMetricsCategory(int dialogId) {
-        switch (dialogId) {
-            case WIFI_DIALOG_ID:
-                return SettingsEnums.DIALOG_WIFI_AP_EDIT;
-            default:
-                return 0;
-        }
-    }
-
-    /** Called when the state of Wifi has changed. */
-    @Override
-    public void onWifiStateChanged() {
-        if (mIsRestricted || isFinishingOrDestroyed()) {
-            return;
-        }
-        final int wifiState = mWifiPickerTracker.getWifiState();
-
-        if (isVerboseLoggingEnabled()) {
-            Log.i(TAG, "onWifiStateChanged called with wifi state: " + wifiState);
-        }
-
-        switch (wifiState) {
-            case WifiManager.WIFI_STATE_ENABLED:
-                updateWifiEntryPreferences();
-                break;
-
-            case WifiManager.WIFI_STATE_ENABLING:
-                removeConnectedWifiEntryPreference();
-                removeWifiEntryPreference();
-                addMessagePreference(R.string.wifi_starting);
-                setProgressBarVisible(true);
-                break;
-
-            case WifiManager.WIFI_STATE_DISABLING:
-                removeConnectedWifiEntryPreference();
-                removeWifiEntryPreference();
-                addMessagePreference(R.string.wifi_stopping);
-                break;
-
-            case WifiManager.WIFI_STATE_DISABLED:
-                setOffMessage();
-                setAdditionalSettingsSummaries();
-                setProgressBarVisible(false);
-                mClickedConnect = false;
-                break;
-        }
-    }
-
-    @Override
-    public void onWifiEntriesChanged() {
-        if (isFinishingOrDestroyed()) {
-            return;
-        }
-
-        if (mIsWifiEntryListStale) {
-            mIsWifiEntryListStale = false;
-            updateWifiEntryPreferences();
-        } else {
-            updateWifiEntryPreferencesDelayed();
-        }
-        changeNextButtonState(mWifiPickerTracker.getConnectedWifiEntry() != null);
-
-        // Edit the Wi-Fi network of specified SSID.
-        if (mOpenSsid != null) {
-            Optional<WifiEntry> matchedWifiEntry = mWifiPickerTracker.getWifiEntries().stream()
-                    .filter(wifiEntry -> TextUtils.equals(mOpenSsid, wifiEntry.getSsid()))
-                    .filter(wifiEntry -> wifiEntry.getSecurity() != WifiEntry.SECURITY_NONE
-                            && wifiEntry.getSecurity() != WifiEntry.SECURITY_OWE)
-                    .filter(wifiEntry -> !wifiEntry.isSaved()
-                            || isDisabledByWrongPassword(wifiEntry))
-                    .findFirst();
-            if (matchedWifiEntry.isPresent()) {
-                mOpenSsid = null;
-                launchConfigNewNetworkFragment(matchedWifiEntry.get());
-            }
-        }
-    }
-
-    @Override
-    public void onNumSavedNetworksChanged() {
-        if (isFinishingOrDestroyed()) {
-            return;
-        }
-        setAdditionalSettingsSummaries();
-    }
-
-    @Override
-    public void onNumSavedSubscriptionsChanged() {
-        if (isFinishingOrDestroyed()) {
-            return;
-        }
-        setAdditionalSettingsSummaries();
-    }
-
-    /**
-     * Updates WifiEntries from {@link WifiPickerTracker#getWifiEntries()}. Adds a delay to have
-     * progress bar displayed before starting to modify entries.
-     */
-    private void updateWifiEntryPreferencesDelayed() {
-        // Safeguard from some delayed event handling
-        if (getActivity() != null && !mIsRestricted
-                && mWifiPickerTracker.getWifiState() == WifiManager.WIFI_STATE_ENABLED) {
-            final View view = getView();
-            final Handler handler = view.getHandler();
-            if (handler != null && handler.hasCallbacks(mUpdateWifiEntryPreferencesRunnable)) {
-                return;
-            }
-            setProgressBarVisible(true);
-            view.postDelayed(mUpdateWifiEntryPreferencesRunnable, 300);
-        }
-    }
-
-    private void updateWifiEntryPreferences() {
-        // in case state has changed
-        if (mWifiPickerTracker.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
-            return;
-        }
-
-        boolean hasAvailableWifiEntries = false;
-        mStatusMessagePreference.setVisible(false);
-        mWifiEntryPreferenceCategory.setVisible(true);
-
-        final WifiEntry connectedEntry = mWifiPickerTracker.getConnectedWifiEntry();
-        mConnectedWifiEntryPreferenceCategory.setVisible(connectedEntry != null);
-        if (connectedEntry != null) {
-            final LongPressWifiEntryPreference connectedPref =
-                    mConnectedWifiEntryPreferenceCategory.findPreference(connectedEntry.getKey());
-            if (connectedPref == null || connectedPref.getWifiEntry() != connectedEntry) {
-                mConnectedWifiEntryPreferenceCategory.removeAll();
-                final ConnectedWifiEntryPreference pref =
-                        new ConnectedWifiEntryPreference(getPrefContext(), connectedEntry, this);
-                pref.setKey(connectedEntry.getKey());
-                pref.refresh();
-                mConnectedWifiEntryPreferenceCategory.addPreference(pref);
-                pref.setOnPreferenceClickListener(preference -> {
-                    if (connectedEntry.canSignIn()) {
-                        connectedEntry.signIn(null /* callback */);
-                    } else {
-                        launchNetworkDetailsFragment(pref);
-                    }
-                    return true;
-                });
-                pref.setOnGearClickListener(preference -> {
-                    launchNetworkDetailsFragment(pref);
-                });
-
-                if (mClickedConnect) {
-                    mClickedConnect = false;
-                    scrollToPreference(mConnectedWifiEntryPreferenceCategory);
-                }
-            }
-        } else {
-            mConnectedWifiEntryPreferenceCategory.removeAll();
-        }
-
-        int index = 0;
-        cacheRemoveAllPrefs(mWifiEntryPreferenceCategory);
-        List<WifiEntry> wifiEntries = mWifiPickerTracker.getWifiEntries();
-        for (WifiEntry wifiEntry : wifiEntries) {
-            hasAvailableWifiEntries = true;
-
-            String key = wifiEntry.getKey();
-            LongPressWifiEntryPreference pref =
-                    (LongPressWifiEntryPreference) getCachedPreference(key);
-            if (pref != null) {
-                if (pref.getWifiEntry() == wifiEntry) {
-                    pref.setOrder(index++);
-                    continue;
-                } else {
-                    // Create a new preference if the underlying WifiEntry object has changed
-                    removePreference(key);
-                }
-            }
-
-            pref = createLongPressWifiEntryPreference(wifiEntry);
-            pref.setKey(wifiEntry.getKey());
-            pref.setOrder(index++);
-            pref.refresh();
-
-            if (wifiEntry.getHelpUriString() != null) {
-                pref.setOnButtonClickListener(preference -> {
-                    openSubscriptionHelpPage(wifiEntry);
-                });
-            }
-            mWifiEntryPreferenceCategory.addPreference(pref);
-        }
-        removeCachedPrefs(mWifiEntryPreferenceCategory);
-
-        if (!hasAvailableWifiEntries) {
-            setProgressBarVisible(true);
-            Preference pref = new Preference(getPrefContext());
-            pref.setSelectable(false);
-            pref.setSummary(R.string.wifi_empty_list_wifi_on);
-            pref.setOrder(index++);
-            pref.setKey(PREF_KEY_EMPTY_WIFI_LIST);
-            mWifiEntryPreferenceCategory.addPreference(pref);
-        } else {
-            // Continuing showing progress bar for an additional delay to overlap with animation
-            getView().postDelayed(mHideProgressBarRunnable, 1700 /* delay millis */);
-        }
-
-        mAddWifiNetworkPreference.setOrder(index++);
-        mWifiEntryPreferenceCategory.addPreference(mAddWifiNetworkPreference);
-        setAdditionalSettingsSummaries();
-    }
-
-    private void launchNetworkDetailsFragment(LongPressWifiEntryPreference pref) {
-        final WifiEntry wifiEntry = pref.getWifiEntry();
-        final Context context = getContext();
-        final CharSequence title =
-                FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER)
-                        ? wifiEntry.getTitle()
-                        : context.getText(R.string.pref_title_network_details);
-
-        final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY, wifiEntry.getKey());
-
-        new SubSettingLauncher(context)
-                .setTitleText(title)
-                .setDestination(WifiNetworkDetailsFragment.class.getName())
-                .setArguments(bundle)
-                .setSourceMetricsCategory(getMetricsCategory())
-                .launch();
-    }
-
-    @VisibleForTesting
-    LongPressWifiEntryPreference createLongPressWifiEntryPreference(WifiEntry wifiEntry) {
-        return new LongPressWifiEntryPreference(getPrefContext(), wifiEntry, this);
-    }
-
-    private void launchAddNetworkFragment() {
-        new SubSettingLauncher(getContext())
-                .setTitleRes(R.string.wifi_add_network)
-                .setDestination(AddNetworkFragment.class.getName())
-                .setSourceMetricsCategory(getMetricsCategory())
-                .setResultListener(this, ADD_NETWORK_REQUEST)
-                .launch();
-    }
-
-    /** Removes all preferences and hide the {@link #mConnectedWifiEntryPreferenceCategory}. */
-    private void removeConnectedWifiEntryPreference() {
-        mConnectedWifiEntryPreferenceCategory.removeAll();
-        mConnectedWifiEntryPreferenceCategory.setVisible(false);
-    }
-
-    private void removeWifiEntryPreference() {
-        mWifiEntryPreferenceCategory.removeAll();
-        mWifiEntryPreferenceCategory.setVisible(false);
-    }
-
-    @VisibleForTesting
-    void setAdditionalSettingsSummaries() {
-        mConfigureWifiSettingsPreference.setSummary(getString(
-                isWifiWakeupEnabled()
-                        ? R.string.wifi_configure_settings_preference_summary_wakeup_on
-                        : R.string.wifi_configure_settings_preference_summary_wakeup_off));
-
-        final int numSavedNetworks = mWifiPickerTracker.getNumSavedNetworks();
-        final int numSavedSubscriptions = mWifiPickerTracker.getNumSavedSubscriptions();
-        if (numSavedNetworks + numSavedSubscriptions > 0) {
-            mSavedNetworksPreference.setVisible(true);
-            mSavedNetworksPreference.setSummary(
-                    getSavedNetworkSettingsSummaryText(numSavedNetworks, numSavedSubscriptions));
-        } else {
-            mSavedNetworksPreference.setVisible(false);
-        }
-    }
-
-    private String getSavedNetworkSettingsSummaryText(
-            int numSavedNetworks, int numSavedSubscriptions) {
-        if (getContext() == null) {
-            return "";
-        }
-        if (numSavedSubscriptions == 0) {
-            return StringUtil.getIcuPluralsString(getContext(), numSavedNetworks,
-                    R.string.wifi_saved_access_points_summary);
-        } else if (numSavedNetworks == 0) {
-            return StringUtil.getIcuPluralsString(getContext(), numSavedSubscriptions,
-                    R.string.wifi_saved_passpoint_access_points_summary);
-        } else {
-            final int numTotalEntries = numSavedNetworks + numSavedSubscriptions;
-            return StringUtil.getIcuPluralsString(getContext(), numTotalEntries,
-                    R.string.wifi_saved_all_access_points_summary);
-        }
-    }
-
-    private boolean isWifiWakeupEnabled() {
-        final Context context = getContext();
-        final PowerManager powerManager = context.getSystemService(PowerManager.class);
-        final ContentResolver contentResolver = context.getContentResolver();
-        return mWifiManager.isAutoWakeupEnabled()
-                && mWifiManager.isScanAlwaysAvailable()
-                && Settings.Global.getInt(contentResolver,
-                Settings.Global.AIRPLANE_MODE_ON, 0) == 0
-                && !powerManager.isPowerSaveMode();
-    }
-
-    private void setOffMessage() {
-        final CharSequence title = getText(R.string.wifi_empty_list_wifi_off);
-        // Don't use WifiManager.isScanAlwaysAvailable() to check the Wi-Fi scanning mode. Instead,
-        // read the system settings directly. Because when the device is in Airplane mode, even if
-        // Wi-Fi scanning mode is on, WifiManager.isScanAlwaysAvailable() still returns "off".
-        // TODO(b/149421497): Fix this?
-        final boolean wifiScanningMode = mWifiManager.isScanAlwaysAvailable();
-        final CharSequence description = wifiScanningMode ? getText(R.string.wifi_scan_notify_text)
-                : getText(R.string.wifi_scan_notify_text_scanning_off);
-        final LinkifyUtils.OnClickListener clickListener =
-                () -> new SubSettingLauncher(getContext())
-                        .setDestination(WifiScanningFragment.class.getName())
-                        .setTitleRes(R.string.location_scanning_wifi_always_scanning_title)
-                        .setSourceMetricsCategory(getMetricsCategory())
-                        .launch();
-        mStatusMessagePreference.setText(title, description, clickListener);
-        removeConnectedWifiEntryPreference();
-        removeWifiEntryPreference();
-        mStatusMessagePreference.setVisible(true);
-    }
-
-    private void addMessagePreference(int messageId) {
-        mStatusMessagePreference.setTitle(messageId);
-        mStatusMessagePreference.setVisible(true);
-
-    }
-
-    protected void setProgressBarVisible(boolean visible) {
-        if (mProgressHeader != null) {
-            mProgressHeader.setVisibility(visible ? View.VISIBLE : View.GONE);
-        }
-    }
-
-    @VisibleForTesting
-    void handleAddNetworkRequest(int result, Intent data) {
-        if (result == Activity.RESULT_OK) {
-            handleAddNetworkSubmitEvent(data);
-        }
-    }
-
-    private void handleAddNetworkSubmitEvent(Intent data) {
-        final WifiConfiguration wifiConfiguration = data.getParcelableExtra(
-                AddNetworkFragment.WIFI_CONFIG_KEY);
-        if (wifiConfiguration != null) {
-            mWifiManager.save(wifiConfiguration, mSaveListener);
-        }
-    }
-
-    /**
-     * Called when "add network" button is pressed.
-     */
-    private void onAddNetworkPressed() {
-        launchAddNetworkFragment();
-    }
-
-    @Override
-    public int getHelpResource() {
-        return R.string.help_url_wifi;
-    }
-
-    /**
-     * Renames/replaces "Next" button when appropriate. "Next" button usually exists in
-     * Wi-Fi setup screens, not in usual wifi settings screen.
-     *
-     * @param enabled true when the device is connected to a wifi network.
-     */
-    @VisibleForTesting
-    void changeNextButtonState(boolean enabled) {
-        if (mEnableNextOnConnection && hasNextButton()) {
-            getNextButton().setEnabled(enabled);
-        }
-    }
-
-    @Override
-    public void onForget(WifiDialog2 dialog) {
-        forget(dialog.getWifiEntry());
-    }
-
-    @Override
-    public void onSubmit(WifiDialog2 dialog) {
-        final int dialogMode = dialog.getMode();
-        final WifiConfiguration config = dialog.getController().getConfig();
-        final WifiEntry wifiEntry = dialog.getWifiEntry();
-
-        if (dialogMode == WifiConfigUiBase2.MODE_MODIFY) {
-            if (config == null) {
-                Toast.makeText(getContext(), R.string.wifi_failed_save_message,
-                        Toast.LENGTH_SHORT).show();
-            } else {
-                mWifiManager.save(config, mSaveListener);
-            }
-        } else if (dialogMode == WifiConfigUiBase2.MODE_CONNECT
-                || (dialogMode == WifiConfigUiBase2.MODE_VIEW && wifiEntry.canConnect())) {
-            if (config == null) {
-                connect(wifiEntry, false /* editIfNoConfig */,
-                        false /* fullScreenEdit*/);
-            } else {
-                mWifiManager.connect(config, new WifiConnectActionListener());
-            }
-        }
-    }
-
-    @Override
-    public void onScan(WifiDialog2 dialog, String ssid) {
-        // Launch QR code scanner to join a network.
-        startActivityForResult(
-                WifiDppUtils.getEnrolleeQrCodeScannerIntent(dialog.getContext(), ssid),
-                REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER);
-    }
-
-    private void forget(WifiEntry wifiEntry) {
-        mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_WIFI_FORGET);
-        wifiEntry.forget(null /* callback */);
-    }
-
-    @VisibleForTesting
-    void connect(WifiEntry wifiEntry, boolean editIfNoConfig, boolean fullScreenEdit) {
-        mMetricsFeatureProvider.action(getActivity(), SettingsEnums.ACTION_WIFI_CONNECT,
-                wifiEntry.isSaved());
-
-        // If it's an unsaved secure WifiEntry, it will callback
-        // ConnectCallback#onConnectResult with ConnectCallback#CONNECT_STATUS_FAILURE_NO_CONFIG
-        wifiEntry.connect(new WifiEntryConnectCallback(wifiEntry, editIfNoConfig,
-                fullScreenEdit));
-    }
-
-    private class WifiConnectActionListener implements WifiManager.ActionListener {
-        @Override
-        public void onSuccess() {
-            mClickedConnect = true;
-        }
-
-        @Override
-        public void onFailure(int reason) {
-            if (isFinishingOrDestroyed()) {
-                return;
-            }
-            Toast.makeText(getContext(), R.string.wifi_failed_connect_message, Toast.LENGTH_SHORT)
-                    .show();
-        }
-    }
-
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.wifi_settings) {
-                @Override
-                protected boolean isPageSearchEnabled(Context context) {
-                    return !IS_ENABLED_PROVIDER_MODEL;
-                }
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    final List<String> keys = super.getNonIndexableKeys(context);
-
-                    final WifiManager wifiManager = context.getSystemService(WifiManager.class);
-                    if (WifiSavedConfigUtils.getAllConfigsCount(context, wifiManager) == 0) {
-                        keys.add(PREF_KEY_SAVED_NETWORKS);
-                    }
-
-                    if (!DataUsageUtils.hasWifiRadio(context)) {
-                        keys.add(PREF_KEY_DATA_USAGE);
-                    }
-                    return keys;
-                }
-            };
-
-    private class WifiEntryConnectCallback implements ConnectCallback {
-        final WifiEntry mConnectWifiEntry;
-        final boolean mEditIfNoConfig;
-        final boolean mFullScreenEdit;
-
-        WifiEntryConnectCallback(WifiEntry connectWifiEntry, boolean editIfNoConfig,
-                boolean fullScreenEdit) {
-            mConnectWifiEntry = connectWifiEntry;
-            mEditIfNoConfig = editIfNoConfig;
-            mFullScreenEdit = fullScreenEdit;
-        }
-
-        @Override
-        public void onConnectResult(@ConnectStatus int status) {
-            if (isFinishingOrDestroyed()) {
-                return;
-            }
-
-            if (status == ConnectCallback.CONNECT_STATUS_SUCCESS) {
-                mClickedConnect = true;
-            } else if (status == ConnectCallback.CONNECT_STATUS_FAILURE_NO_CONFIG) {
-                if (mEditIfNoConfig) {
-                    // Edit an unsaved secure Wi-Fi network.
-                    if (mFullScreenEdit) {
-                        launchConfigNewNetworkFragment(mConnectWifiEntry);
-                    } else {
-                        showDialog(mConnectWifiEntry, WifiConfigUiBase2.MODE_CONNECT);
-                    }
-                }
-            } else if (status == CONNECT_STATUS_FAILURE_UNKNOWN) {
-                Toast.makeText(getContext(), R.string.wifi_failed_connect_message,
-                        Toast.LENGTH_SHORT).show();
-            }
-        }
-    }
-
-    private void launchConfigNewNetworkFragment(WifiEntry wifiEntry) {
-        final Bundle bundle = new Bundle();
-        bundle.putString(WifiNetworkDetailsFragment.KEY_CHOSEN_WIFIENTRY_KEY,
-                wifiEntry.getKey());
-        new SubSettingLauncher(getContext())
-                .setTitleText(wifiEntry.getTitle())
-                .setDestination(ConfigureWifiEntryFragment.class.getName())
-                .setArguments(bundle)
-                .setSourceMetricsCategory(getMetricsCategory())
-                .setResultListener(WifiSettings.this, CONFIG_NETWORK_REQUEST)
-                .launch();
-    }
-
-    private void launchWifiDppConfiguratorActivity(WifiEntry wifiEntry) {
-        final Intent intent = WifiDppUtils.getConfiguratorQrCodeGeneratorIntentOrNull(getContext(),
-                mWifiManager, wifiEntry);
-
-        if (intent == null) {
-            Log.e(TAG, "Launch Wi-Fi DPP QR code generator with a wrong Wi-Fi network!");
-        } else {
-            mMetricsFeatureProvider.action(SettingsEnums.PAGE_UNKNOWN,
-                    SettingsEnums.ACTION_SETTINGS_SHARE_WIFI_QR_CODE,
-                    SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR,
-                    /* key */ null,
-                    /* value */ Integer.MIN_VALUE);
-
-            startActivity(intent);
-        }
-    }
-
-    /** Helper method to return whether a WifiEntry is disabled due to a wrong password */
-    private static boolean isDisabledByWrongPassword(WifiEntry wifiEntry) {
-        WifiConfiguration config = wifiEntry.getWifiConfiguration();
-        if (config == null) {
-            return false;
-        }
-        WifiConfiguration.NetworkSelectionStatus networkStatus =
-                config.getNetworkSelectionStatus();
-        if (networkStatus == null
-                || networkStatus.getNetworkSelectionStatus() == NETWORK_SELECTION_ENABLED) {
-            return false;
-        }
-        int reason = networkStatus.getNetworkSelectionDisableReason();
-        return WifiConfiguration.NetworkSelectionStatus.DISABLED_BY_WRONG_PASSWORD == reason;
-    }
-
-    @VisibleForTesting
-    void openSubscriptionHelpPage(WifiEntry wifiEntry) {
-        final Intent intent = getHelpIntent(getContext(), wifiEntry.getHelpUriString());
-        if (intent != null) {
-            try {
-                startActivityForResult(intent, MANAGE_SUBSCRIPTION);
-            } catch (ActivityNotFoundException e) {
-                Log.e(TAG, "Activity was not found for intent, " + intent.toString());
-            }
-        }
-    }
-
-    @VisibleForTesting
-    Intent getHelpIntent(Context context, String helpUrlString) {
-        return HelpUtils.getHelpIntent(context, helpUrlString, context.getClass().getName());
-    }
-}
diff --git a/src/com/android/settings/wifi/WifiSummaryUpdater.java b/src/com/android/settings/wifi/WifiSummaryUpdater.java
index 93bbe0f..645d2ea 100644
--- a/src/com/android/settings/wifi/WifiSummaryUpdater.java
+++ b/src/com/android/settings/wifi/WifiSummaryUpdater.java
@@ -36,7 +36,7 @@
  * Helper class that listeners to wifi callback and notify client when there is update in
  * wifi summary info.
  */
-public final class WifiSummaryUpdater extends SummaryUpdater {
+public class WifiSummaryUpdater extends SummaryUpdater {
 
     private final WifiStatusTracker mWifiTracker;
     private final BroadcastReceiver mReceiver;
diff --git a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
index df48129..e011eb8 100644
--- a/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
+++ b/src/com/android/settings/wifi/WifiWakeupPreferenceController.java
@@ -31,7 +31,7 @@
 import androidx.fragment.app.Fragment;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.core.TogglePreferenceController;
@@ -53,7 +53,7 @@
     private Fragment mFragment;
 
     @VisibleForTesting
-    SwitchPreference mPreference;
+    TwoStatePreference mPreference;
 
     @VisibleForTesting
     LocationManager mLocationManager;
diff --git a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
index 60031b0..f4873cf 100644
--- a/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
+++ b/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragment.java
@@ -192,7 +192,7 @@
                 return SystemClock.elapsedRealtime();
             }
         };
-        mWifiPickerTracker = FeatureFactory.getFactory(mActivity.getApplicationContext())
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), mActivity,
                         new Handler(Looper.getMainLooper()),
@@ -550,7 +550,7 @@
             }
 
             final View divider = view.findViewById(
-                    com.android.settingslib.R.id.two_target_divider);
+                    com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
             if (divider != null) {
                 divider.setVisibility(View.GONE);
             }
diff --git a/src/com/android/settings/wifi/calling/OWNERS b/src/com/android/settings/wifi/calling/OWNERS
index 991ad43..87e5fcc 100644
--- a/src/com/android/settings/wifi/calling/OWNERS
+++ b/src/com/android/settings/wifi/calling/OWNERS
@@ -2,7 +2,6 @@
 allenwtsu@google.com
 andychou@google.com
 bonianchen@google.com
-goldmanj@google.com
 leechou@google.com
 songferngwang@google.com
 tomhsu@google.com
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
index 098787c..82537d4 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSettingsForSub.java
@@ -27,6 +27,7 @@
 import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
+import android.telephony.ServiceState;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyManager;
@@ -38,7 +39,8 @@
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.preference.Preference;
@@ -48,6 +50,7 @@
 import com.android.ims.ImsConfig;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.telephony.Phone;
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragment;
@@ -55,7 +58,6 @@
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.network.ims.WifiCallingQueryImsState;
 import com.android.settings.widget.SettingsMainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import java.util.List;
 
@@ -64,7 +66,7 @@
  * The preference screen lets you enable/disable Wi-Fi Calling and change Wi-Fi Calling mode.
  */
 public class WifiCallingSettingsForSub extends SettingsPreferenceFragment
-        implements OnMainSwitchChangeListener,
+        implements OnCheckedChangeListener,
         Preference.OnPreferenceChangeListener {
     private static final String TAG = "WifiCallingForSub";
 
@@ -97,6 +99,7 @@
     private boolean mEditableWfcMode = true;
     private boolean mEditableWfcRoamingMode = true;
     private boolean mUseWfcHomeModeForRoaming = false;
+    private boolean mOverrideWfcRoamingModeWhileUsingNtn = false;
 
     private int mSubId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
     private ImsMmTelManager mImsMmTelManager;
@@ -125,7 +128,7 @@
             if (prefSwitch != null) {
                 isWfcEnabled = prefSwitch.isChecked();
                 isCallStateIdle = getTelephonyManagerForSub(
-                        WifiCallingSettingsForSub.this.mSubId).getCallState()
+                        WifiCallingSettingsForSub.this.mSubId).getCallStateForSubscription()
                         == TelephonyManager.CALL_STATE_IDLE;
 
                 boolean isNonTtyOrTtyOnVolteEnabled = true;
@@ -166,7 +169,8 @@
             final Preference pref_roam =
                     getPreferenceScreen().findPreference(BUTTON_WFC_ROAMING_MODE);
             if (pref_roam != null) {
-                pref_roam.setEnabled(isWfcRoamingModeEditable);
+                pref_roam.setEnabled(isWfcRoamingModeEditable
+                        && !overrideWfcRoamingModeWhileUsingNtn());
             }
         }
     }
@@ -361,6 +365,9 @@
                         false);
                 isWifiOnlySupported = b.getBoolean(
                         CarrierConfigManager.KEY_CARRIER_WFC_SUPPORTS_WIFI_ONLY_BOOL, true);
+                mOverrideWfcRoamingModeWhileUsingNtn = b.getBoolean(
+                        CarrierConfigManager.KEY_OVERRIDE_WFC_ROAMING_MODE_WHILE_USING_NTN_BOOL,
+                        true);
             }
         }
 
@@ -409,11 +416,19 @@
         final boolean wfcEnabled = queryIms.isEnabledByUser()
                 && queryIms.isAllowUserControl();
         mSwitchBar.setChecked(wfcEnabled);
-        final int wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
-        final int wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
+        int wfcMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+        int wfcRoamingMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+        boolean hasException = false;
+        try {
+            wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+            wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
+        } catch (IllegalArgumentException e) {
+            hasException = true;
+            Log.e(TAG, "getResourceIdForWfcMode: Exception", e);
+        }
         mButtonWfcMode.setValue(Integer.toString(wfcMode));
         mButtonWfcRoamingMode.setValue(Integer.toString(wfcRoamingMode));
-        updateButtonWfcMode(wfcEnabled, wfcMode, wfcRoamingMode);
+        updateButtonWfcMode(wfcEnabled && !hasException, wfcMode, wfcRoamingMode);
     }
 
     @Override
@@ -455,7 +470,7 @@
      * Listens to the state change of the switch.
      */
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         Log.d(TAG, "onSwitchChanged(" + isChecked + ")");
 
         if (!isChecked) {
@@ -508,11 +523,26 @@
      */
     private void updateWfcMode(boolean wfcEnabled) {
         Log.i(TAG, "updateWfcMode(" + wfcEnabled + ")");
-        mImsMmTelManager.setVoWiFiSettingEnabled(wfcEnabled);
+        boolean hasException = false;
+        try {
+            mImsMmTelManager.setVoWiFiSettingEnabled(wfcEnabled);
+        } catch (IllegalArgumentException e) {
+            Log.e(TAG, "updateWfcMode: Exception", e);
+            hasException = true;
+        }
 
-        final int wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
-        final int wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
-        updateButtonWfcMode(wfcEnabled, wfcMode, wfcRoamingMode);
+        int wfcMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+        int wfcRoamingMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+        if (!hasException) {
+            try {
+                wfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+                wfcRoamingMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
+            } catch (IllegalArgumentException e) {
+                hasException = true;
+                Log.e(TAG, "updateWfcMode: Exception", e);
+            }
+        }
+        updateButtonWfcMode(wfcEnabled && !hasException, wfcMode, wfcRoamingMode);
         if (wfcEnabled) {
             mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), wfcMode);
         } else {
@@ -523,9 +553,7 @@
     @Override
     public void onActivityResult(int requestCode, int resultCode, Intent data) {
         super.onActivityResult(requestCode, resultCode, data);
-
         Log.d(TAG, "WFC activity request = " + requestCode + " result = " + resultCode);
-
         switch (requestCode) {
             case REQUEST_CHECK_WFC_EMERGENCY_ADDRESS:
                 if (resultCode == Activity.RESULT_OK) {
@@ -556,7 +584,8 @@
         mButtonWfcMode.setSummary(getWfcModeSummary(wfcMode));
         mButtonWfcMode.setEnabled(wfcEnabled && mEditableWfcMode);
         // mButtonWfcRoamingMode.setSummary is not needed; summary is just selected value.
-        mButtonWfcRoamingMode.setEnabled(wfcEnabled && mEditableWfcRoamingMode);
+        mButtonWfcRoamingMode.setEnabled(wfcEnabled && mEditableWfcRoamingMode
+                && !overrideWfcRoamingModeWhileUsingNtn());
 
         final PreferenceScreen preferenceScreen = getPreferenceScreen();
         final boolean updateAddressEnabled = (getCarrierActivityIntent() != null);
@@ -594,29 +623,52 @@
 
     @Override
     public boolean onPreferenceChange(Preference preference, Object newValue) {
+        boolean hasException = false;
+
         if (preference == mButtonWfcMode) {
             Log.d(TAG, "onPreferenceChange mButtonWfcMode " + newValue);
             mButtonWfcMode.setValue((String) newValue);
             final int buttonMode = Integer.valueOf((String) newValue);
-            final int currentWfcMode = mImsMmTelManager.getVoWiFiModeSetting();
-            if (buttonMode != currentWfcMode) {
-                mImsMmTelManager.setVoWiFiModeSetting(buttonMode);
-                mButtonWfcMode.setSummary(getWfcModeSummary(buttonMode));
-                mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
+            int currentWfcMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+            try {
+                currentWfcMode = mImsMmTelManager.getVoWiFiModeSetting();
+            } catch (IllegalArgumentException e) {
+                hasException = true;
+                Log.e(TAG, "onPreferenceChange: Exception", e);
+            }
+            if (buttonMode != currentWfcMode && !hasException) {
+                try {
+                    mImsMmTelManager.setVoWiFiModeSetting(buttonMode);
+                    mButtonWfcMode.setSummary(getWfcModeSummary(buttonMode));
+                    mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
 
-                if (mUseWfcHomeModeForRoaming) {
-                    mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
-                    // mButtonWfcRoamingMode.setSummary is not needed; summary is selected value
+                    if (mUseWfcHomeModeForRoaming) {
+                        mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
+                        // mButtonWfcRoamingMode.setSummary is not needed; summary is selected value
+                    }
+                } catch (IllegalArgumentException e) {
+                    Log.e(TAG, "onPreferenceChange: Exception", e);
                 }
             }
         } else if (preference == mButtonWfcRoamingMode) {
             mButtonWfcRoamingMode.setValue((String) newValue);
             final int buttonMode = Integer.valueOf((String) newValue);
-            final int currentMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
-            if (buttonMode != currentMode) {
-                mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
-                // mButtonWfcRoamingMode.setSummary is not needed; summary is just selected value.
-                mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
+            int currentMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+            try {
+                currentMode = mImsMmTelManager.getVoWiFiRoamingModeSetting();
+            } catch (IllegalArgumentException e) {
+                hasException = true;
+                Log.e(TAG, "updateWfcMode: Exception", e);
+            }
+            if (buttonMode != currentMode && !hasException) {
+                try {
+                    mImsMmTelManager.setVoWiFiRoamingModeSetting(buttonMode);
+                    // mButtonWfcRoamingMode.setSummary is not needed; summary is just selected
+                    // value.
+                    mMetricsFeatureProvider.action(getActivity(), getMetricsCategory(), buttonMode);
+                } catch (IllegalArgumentException e) {
+                    Log.e(TAG, "onPreferenceChange: Exception", e);
+                }
             }
         }
         return true;
@@ -667,4 +719,30 @@
         }
         mProvisioningManager.unregisterProvisioningChangedCallback(mProvisioningCallback);
     }
+
+    /**
+     * Determine whether to override roaming Wi-Fi calling preference when device is connected to
+     * non-terrestrial network.
+     *
+     * @return {@code true} if phone is connected to non-terrestrial network and if
+     * {@link CarrierConfigManager#KEY_OVERRIDE_WFC_ROAMING_MODE_WHILE_USING_NTN_BOOL} is true,
+     * {@code false} otherwise.
+     */
+    private boolean overrideWfcRoamingModeWhileUsingNtn() {
+        if (!Flags.carrierEnabledSatelliteFlag()) {
+            return false;
+        }
+
+        TelephonyManager tm = getTelephonyManagerForSub(mSubId);
+        ServiceState serviceState = tm.getServiceState();
+        if (serviceState == null) {
+            return false;
+        }
+
+        if (!serviceState.isUsingNonTerrestrialNetwork()) {
+            return false;
+        }
+
+        return mOverrideWfcRoamingModeWhileUsingNtn;
+    }
 }
diff --git a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
index 522d697..4272ab7 100644
--- a/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
+++ b/src/com/android/settings/wifi/calling/WifiCallingSliceHelper.java
@@ -131,12 +131,7 @@
     public Slice createWifiCallingSlice(Uri sliceUri) {
         final int subId = getDefaultVoiceSubId();
 
-        if (!SubscriptionManager.isValidSubscriptionId(subId)) {
-            Log.d(TAG, "Invalid subscription Id");
-            return null;
-        }
-
-        if (!queryImsState(subId).isWifiCallingProvisioned()) {
+        if (!queryImsState(subId).isReadyToWifiCalling()) {
             Log.d(TAG, "Wifi calling is either not provisioned or not enabled by Platform");
             return null;
         }
@@ -223,7 +218,7 @@
             return null;
         }
 
-        if (!queryImsState(subId).isWifiCallingProvisioned()) {
+        if (!queryImsState(subId).isReadyToWifiCalling()) {
             Log.d(TAG, "Wifi calling is either not provisioned or not enabled by platform");
             return null;
         }
@@ -354,7 +349,13 @@
         final FutureTask<Integer> wfcModeTask = new FutureTask<>(new Callable<Integer>() {
             @Override
             public Integer call() {
-                return imsMmTelManager.getVoWiFiModeSetting();
+                int wfcMode = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+                try {
+                    wfcMode = imsMmTelManager.getVoWiFiModeSetting();
+                } catch (IllegalArgumentException e) {
+                    Log.e(TAG, "getResourceIdForWfcMode: Exception", e);
+                }
+                return wfcMode;
             }
         });
         final ExecutorService executor = Executors.newSingleThreadExecutor();
@@ -386,7 +387,11 @@
                     // If either the action is to turn off wifi calling setting
                     // or there is no activation involved - Update the setting
                     final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
-                    imsMmTelManager.setVoWiFiSettingEnabled(newValue);
+                    try {
+                        imsMmTelManager.setVoWiFiSettingEnabled(newValue);
+                    } catch (IllegalArgumentException e) {
+                        Log.e(TAG, "handleWifiCallingChanged: Exception", e);
+                    }
                 } else {
                     Log.w(TAG, "action not taken: subId " + subId
                             + " from " + currentValue + " to " + newValue);
@@ -430,7 +435,14 @@
                 // Change the preference only when wifi calling is enabled
                 // And when wifi calling preference is editable for the current carrier
                 final ImsMmTelManager imsMmTelManager = getImsMmTelManager(subId);
-                final int currentValue = imsMmTelManager.getVoWiFiModeSetting();
+                int currentValue = ImsMmTelManager.WIFI_MODE_UNKNOWN;
+                try {
+                    currentValue = imsMmTelManager.getVoWiFiModeSetting();
+                } catch (IllegalArgumentException e) {
+                    Log.e(TAG, "handleWifiCallingPreferenceChanged: Exception", e);
+                    return;
+                }
+
                 int newValue = errorValue;
                 switch (intent.getAction()) {
                     case ACTION_WIFI_CALLING_PREFERENCE_WIFI_ONLY:
@@ -448,7 +460,11 @@
                 }
                 if (newValue != errorValue && newValue != currentValue) {
                     // Update the setting only when there is a valid update
-                    imsMmTelManager.setVoWiFiModeSetting(newValue);
+                    try {
+                        imsMmTelManager.setVoWiFiModeSetting(newValue);
+                    } catch (IllegalArgumentException e) {
+                        Log.e(TAG, "handleWifiCallingPreferenceChanged: Exception", e);
+                    }
                 }
             }
         }
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
index e3812af..0384f0d 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsFragment.java
@@ -15,8 +15,8 @@
  */
 package com.android.settings.wifi.details;
 
+import static com.android.settings.network.NetworkProviderSettings.WIFI_DIALOG_ID;
 import static com.android.settings.network.telephony.MobileNetworkUtils.NO_CELL_DATA_TYPE_ICON;
-import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
 import static com.android.settingslib.Utils.formatPercentage;
 
 import android.app.Dialog;
@@ -41,6 +41,7 @@
 import android.view.MenuInflater;
 import android.view.MenuItem;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -178,8 +179,14 @@
         }
 
         final WifiEntry wifiEntry = mNetworkDetailsTracker.getWifiEntry();
-        return WifiDialog2.createModal(getActivity(), this, wifiEntry,
-                WifiConfigUiBase2.MODE_MODIFY);
+        return new WifiDialog2(
+                getActivity(),
+                this,
+                wifiEntry,
+                WifiConfigUiBase2.MODE_MODIFY,
+                0,
+                false,
+                true);
     }
 
     @Override
@@ -274,14 +281,12 @@
 
         // Sets callback listener for wifi dialog.
         mWifiDialogListeners.add(mWifiDetailPreferenceController2);
-        mWifiDialogListeners.add(privacyController2);
-        mWifiDialogListeners.add(meteredPreferenceController2);
 
         return mControllers;
     }
 
     @Override
-    public void onSubmit(WifiDialog2 dialog) {
+    public void onSubmit(@NonNull WifiDialog2 dialog) {
         for (WifiDialog2.WifiDialog2Listener listener : mWifiDialogListeners) {
             listener.onSubmit(dialog);
         }
@@ -304,7 +309,7 @@
             }
         };
 
-        mNetworkDetailsTracker = FeatureFactory.getFactory(context)
+        mNetworkDetailsTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createNetworkDetailsTracker(
                         getSettingsLifecycle(),
@@ -366,7 +371,7 @@
 
     private WifiNetworkDetailsViewModel getWifiNetworkDetailsViewModel() {
         if (mWifiNetworkDetailsViewModel == null) {
-            mWifiNetworkDetailsViewModel = FeatureFactory.getFactory(getContext())
+            mWifiNetworkDetailsViewModel = FeatureFactory.getFeatureFactory()
                     .getWifiFeatureProvider().getWifiNetworkDetailsViewModel(this);
             mWifiNetworkDetailsViewModel.getHotspotNetworkData()
                     .observe(this, this::onHotspotNetworkChanged);
diff --git a/src/com/android/settings/wifi/details/WifiNetworkDetailsViewModel.java b/src/com/android/settings/wifi/details/WifiNetworkDetailsViewModel.java
index 9c24d66..07445a3 100644
--- a/src/com/android/settings/wifi/details/WifiNetworkDetailsViewModel.java
+++ b/src/com/android/settings/wifi/details/WifiNetworkDetailsViewModel.java
@@ -112,7 +112,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getApplication().getApplicationContext()).getWifiFeatureProvider()
-                .verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
index 0647a77..b67c848 100644
--- a/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2.java
@@ -41,7 +41,6 @@
 import android.net.LinkProperties;
 import android.net.Network;
 import android.net.NetworkCapabilities;
-import android.net.NetworkInfo;
 import android.net.NetworkRequest;
 import android.net.RouteInfo;
 import android.net.Uri;
@@ -53,7 +52,6 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 import android.widget.ImageView;
 import android.widget.Toast;
@@ -61,7 +59,6 @@
 import androidx.annotation.VisibleForTesting;
 import androidx.core.text.BidiFormatter;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 import androidx.recyclerview.widget.RecyclerView;
@@ -69,9 +66,7 @@
 import com.android.net.module.util.Inet4AddressUtils;
 import com.android.settings.R;
 import com.android.settings.Utils;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.core.PreferenceControllerMixin;
-import com.android.settings.datausage.WifiDataUsageSummaryPreferenceController;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.widget.EntityHeaderController;
 import com.android.settings.wifi.WifiDialog2;
@@ -164,12 +159,10 @@
     private final Handler mHandler;
     private LinkProperties mLinkProperties;
     private Network mNetwork;
-    private NetworkInfo mNetworkInfo;
     private NetworkCapabilities mNetworkCapabilities;
     private int mRssiSignalLevel = -1;
     @VisibleForTesting boolean mShowX; // Shows the Wi-Fi signal icon of Pie+x when it's true.
     private String[] mSignalStr;
-    private WifiInfo mWifiInfo;
     private final WifiManager mWifiManager;
     private final MetricsFeatureProvider mMetricsFeatureProvider;
 
@@ -190,12 +183,7 @@
     private Preference mSubnetPref;
     private Preference mDnsPref;
     private Preference mTypePref;
-    private PreferenceCategory mIpv6Category;
     private Preference mIpv6AddressPref;
-    private Lifecycle mLifecycle;
-    Preference mDataUsageSummaryPref;
-    WifiDataUsageSummaryPreferenceController mSummaryHeaderController;
-
     private final IconInjector mIconInjector;
     private final Clock mClock;
 
@@ -337,7 +325,6 @@
         mIconInjector = injector;
         mClock = clock;
 
-        mLifecycle = lifecycle;
         lifecycle.addObserver(this);
     }
 
@@ -387,8 +374,6 @@
         mSubnetPref = screen.findPreference(KEY_SUBNET_MASK_PREF);
         mDnsPref = screen.findPreference(KEY_DNS_PREF);
         mTypePref = screen.findPreference(KEY_WIFI_TYPE_PREF);
-
-        mIpv6Category = screen.findPreference(KEY_IPV6_CATEGORY);
         mIpv6AddressPref = screen.findPreference(KEY_IPV6_ADDRESSES_PREF);
     }
 
@@ -432,17 +417,6 @@
     private void setupEntityHeader(PreferenceScreen screen) {
         LayoutPreference headerPref = screen.findPreference(KEY_HEADER);
 
-        if (usingDataUsageHeader(mContext)) {
-            headerPref.setVisible(false);
-            mDataUsageSummaryPref = screen.findPreference(KEY_DATA_USAGE_HEADER);
-            mDataUsageSummaryPref.setVisible(true);
-            mSummaryHeaderController =
-                    new WifiDataUsageSummaryPreferenceController(mFragment.getActivity(),
-                            mLifecycle, (PreferenceFragmentCompat) mFragment,
-                            mWifiEntry.getWifiConfiguration().getAllNetworkKeys());
-            return;
-        }
-
         mEntityHeaderController =
                 EntityHeaderController.newInstance(
                         mFragment.getActivity(), mFragment,
@@ -485,16 +459,11 @@
     }
 
     private void refreshEntityHeader() {
-        if (usingDataUsageHeader(mContext)) {
-            mSummaryHeaderController.updateState(mDataUsageSummaryPref);
-        } else {
-            mEntityHeaderController
-                    .setLabel(mWifiEntry.getTitle())
-                    .setSummary(mWifiEntry.getSummary())
-                    .setSecondSummary(getExpiryTimeSummary())
-                    .setRecyclerView(mFragment.getListView(), mLifecycle)
-                    .done(mFragment.getActivity(), true /* rebind */);
-        }
+        mEntityHeaderController
+                .setLabel(mWifiEntry.getTitle())
+                .setSummary(mWifiEntry.getSummary())
+                .setSecondSummary(getExpiryTimeSummary())
+                .done(true /* rebind */);
     }
 
     @VisibleForTesting
@@ -503,14 +472,10 @@
             mNetwork = mWifiManager.getCurrentNetwork();
             mLinkProperties = mConnectivityManager.getLinkProperties(mNetwork);
             mNetworkCapabilities = mConnectivityManager.getNetworkCapabilities(mNetwork);
-            mNetworkInfo = mConnectivityManager.getNetworkInfo(mNetwork);
-            mWifiInfo = mWifiManager.getConnectionInfo();
         } else {
             mNetwork = null;
             mLinkProperties = null;
             mNetworkCapabilities = null;
-            mNetworkInfo = null;
-            mWifiInfo = null;
         }
     }
 
@@ -576,7 +541,7 @@
         Drawable drawable = getWifiDrawable(mWifiEntry);
         mEntityHeaderController
                 .setIcon(redrawIconForHeader(drawable))
-                .done(mFragment.getActivity(), true /* rebind */);
+                .done(true /* rebind */);
     }
 
     /**
@@ -595,6 +560,7 @@
 
     private void refreshRssiViews() {
         int signalLevel = mWifiEntry.getLevel();
+
         // Disappears signal view if not in range. e.g. for saved networks.
         if (signalLevel == WifiEntry.WIFI_LEVEL_UNREACHABLE) {
             mSignalStrengthPref.setVisible(false);
@@ -678,7 +644,7 @@
     }
 
     private void refreshSsid() {
-        if (mWifiEntry.isSubscription() && mWifiEntry.getSsid() != null) {
+        if (mWifiEntry.shouldShowSsid() && mWifiEntry.getSsid() != null) {
             mSsidPref.setVisible(true);
             mSsidPref.setSummary(mWifiEntry.getSsid());
         } else {
@@ -854,7 +820,7 @@
             mSubnetPref.setVisible(false);
             mGatewayPref.setVisible(false);
             mDnsPref.setVisible(false);
-            mIpv6Category.setVisible(false);
+            mIpv6AddressPref.setVisible(false);
             return;
         }
 
@@ -894,11 +860,11 @@
         updatePreference(mDnsPref, dnsServers);
 
         if (ipv6Addresses.length() > 0) {
+            mIpv6AddressPref.setVisible(true);
             mIpv6AddressPref.setSummary(
                     BidiFormatter.getInstance().unicodeWrap(ipv6Addresses.toString()));
-            mIpv6Category.setVisible(true);
         } else {
-            mIpv6Category.setVisible(false);
+            mIpv6AddressPref.setVisible(false);
         }
     }
 
@@ -1059,10 +1025,6 @@
         }
     }
 
-    private boolean usingDataUsageHeader(Context context) {
-        return FeatureFlagUtils.isEnabled(context, FeatureFlags.WIFI_DETAILS_DATAUSAGE_HEADER);
-    }
-
     @VisibleForTesting
     void connectDisconnectNetwork() {
         if (mWifiEntry.getConnectedState() == WifiEntry.CONNECTED_STATE_DISCONNECTED) {
diff --git a/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java
index 85dc2e4..193bbd4 100644
--- a/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiMeteredPreferenceController2.java
@@ -18,26 +18,23 @@
 
 import android.app.backup.BackupManager;
 import android.content.Context;
-import android.net.wifi.WifiConfiguration;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.wifi.WifiDialog2;
 import com.android.wifitrackerlib.WifiEntry;
 
 /**
  * A controller that controls whether the Wi-Fi network is metered or not.
  */
 public class WifiMeteredPreferenceController2 extends BasePreferenceController implements
-        Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
+        Preference.OnPreferenceChangeListener {
 
     private static final String KEY_WIFI_METERED = "metered";
     private final WifiEntry mWifiEntry;
-    private Preference mPreference;
 
     public WifiMeteredPreferenceController2(Context context, WifiEntry wifiEntry) {
         super(context, KEY_WIFI_METERED);
@@ -59,7 +56,7 @@
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
         if (mWifiEntry.isSaved() || mWifiEntry.isSubscription()) {
             mWifiEntry.setMeteredChoice(Integer.parseInt((String) newValue));
         }
@@ -82,36 +79,4 @@
     private void updateSummary(ListPreference preference, int meteredOverride) {
         preference.setSummary(preference.getEntries()[meteredOverride]);
     }
-
-    @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
-    public void onSubmit(WifiDialog2 dialog) {
-        if (dialog.getController() != null && mWifiEntry.canSetMeteredChoice()) {
-            final WifiConfiguration newConfig = dialog.getController().getConfig();
-            if (newConfig == null) {
-                return;
-            }
-
-            if (getWifiEntryMeteredChoice(newConfig) != mWifiEntry.getMeteredChoice()) {
-                mWifiEntry.setMeteredChoice(getWifiEntryMeteredChoice(newConfig));
-                onPreferenceChange(mPreference, String.valueOf(newConfig.meteredOverride));
-            }
-        }
-    }
-
-    private int getWifiEntryMeteredChoice(WifiConfiguration wifiConfiguration) {
-        switch (wifiConfiguration.meteredOverride) {
-            case WifiConfiguration.METERED_OVERRIDE_METERED:
-                return WifiEntry.METERED_CHOICE_METERED;
-            case WifiConfiguration.METERED_OVERRIDE_NOT_METERED:
-                return WifiEntry.METERED_CHOICE_UNMETERED;
-            default:
-                return WifiEntry.METERED_CHOICE_AUTO;
-        }
-    }
 }
diff --git a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
index 632a562..8c78e80 100644
--- a/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
+++ b/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2.java
@@ -17,29 +17,26 @@
 package com.android.settings.wifi.details2;
 
 import android.content.Context;
-import android.net.wifi.WifiConfiguration;
 import android.net.wifi.WifiManager;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.wifi.WifiDialog2;
 import com.android.wifitrackerlib.WifiEntry;
 
 /**
  * A controller that controls whether the Wi-Fi network is mac randomized or not.
  */
 public class WifiPrivacyPreferenceController2 extends BasePreferenceController implements
-        Preference.OnPreferenceChangeListener, WifiDialog2.WifiDialog2Listener {
+        Preference.OnPreferenceChangeListener {
 
     private static final String KEY_WIFI_PRIVACY = "privacy";
     private final WifiManager mWifiManager;
     private WifiEntry mWifiEntry;
-    private Preference mPreference;
 
     public WifiPrivacyPreferenceController2(Context context) {
         super(context, KEY_WIFI_PRIVACY);
@@ -58,12 +55,6 @@
     }
 
     @Override
-    public void displayPreference(PreferenceScreen screen) {
-        super.displayPreference(screen);
-        mPreference = screen.findPreference(getPreferenceKey());
-    }
-
-    @Override
     public void updateState(Preference preference) {
         final ListPreference listPreference = (ListPreference) preference;
         final int randomizationLevel = getRandomizationValue();
@@ -79,8 +70,12 @@
     }
 
     @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
+    public boolean onPreferenceChange(@NonNull Preference preference, Object newValue) {
         final int privacy = Integer.parseInt((String) newValue);
+        if (mWifiEntry.getPrivacy() == privacy) {
+            // Prevent disconnection + reconnection if settings not changed.
+            return true;
+        }
         mWifiEntry.setPrivacy(privacy);
 
         // To activate changing, we need to reconnect network. WiFi will auto connect to
@@ -128,30 +123,4 @@
         final int prefMacRandomized = translateMacRandomizedValueToPrefValue(macRandomized);
         preference.setSummary(preference.getEntries()[prefMacRandomized]);
     }
-
-    @Override
-    public void onSubmit(WifiDialog2 dialog) {
-        if (dialog.getController() != null) {
-            final WifiConfiguration newConfig = dialog.getController().getConfig();
-            if (newConfig == null) {
-                return;
-            }
-
-            if (getWifiEntryPrivacy(newConfig) != mWifiEntry.getPrivacy()) {
-                mWifiEntry.setPrivacy(getWifiEntryPrivacy(newConfig));
-                onPreferenceChange(mPreference, String.valueOf(newConfig.macRandomizationSetting));
-            }
-        }
-    }
-
-    private int getWifiEntryPrivacy(WifiConfiguration wifiConfiguration) {
-        switch (wifiConfiguration.macRandomizationSetting) {
-            case WifiConfiguration.RANDOMIZATION_NONE:
-                return WifiEntry.PRIVACY_DEVICE_MAC;
-            case WifiConfiguration.RANDOMIZATION_PERSISTENT:
-                return WifiEntry.PRIVACY_RANDOMIZED_MAC;
-            default:
-                return WifiEntry.PRIVACY_UNKNOWN;
-        }
-    }
 }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java
new file mode 100644
index 0000000..010607f
--- /dev/null
+++ b/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivity.java
@@ -0,0 +1,86 @@
+/*
+ * 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.wifi.dpp;
+
+import static android.content.Intent.ACTION_CLOSE_SYSTEM_DIALOGS;
+import static android.content.Intent.FLAG_RECEIVER_FOREGROUND;
+
+import android.app.Activity;
+import android.app.KeyguardManager;
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+import android.os.Bundle;
+import android.view.WindowManager;
+
+import androidx.activity.result.ActivityResult;
+import androidx.activity.result.contract.ActivityResultContracts;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.settings.R;
+import com.android.settings.core.InstrumentedActivity;
+
+/**
+ * Sharing a Wi-Fi network by QR code after unlocking. Used by {@code InternetDialog} in QS.
+ */
+public class WifiDppConfiguratorAuthActivity extends InstrumentedActivity {
+    private static final String WIFI_SHARING_KEY_ALIAS = "wifi_sharing_auth_key";
+    private static final int MAX_UNLOCK_SECONDS = 60;
+
+    @Override
+    public void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        // This is a transparent activity, disable the dim.
+        getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
+        Intent authIntent = getSystemService(KeyguardManager.class)
+                .createConfirmDeviceCredentialIntent(
+                        getText(R.string.wifi_dpp_lockscreen_title), null, getUserId());
+        if (authIntent == null
+                || WifiDppUtils.isUnlockedWithinSeconds(
+                        WIFI_SHARING_KEY_ALIAS, MAX_UNLOCK_SECONDS)) {
+            startQrCodeActivity();
+            finish();
+        } else {
+            registerForActivityResult(
+                    new ActivityResultContracts.StartActivityForResult(),
+                    this::onAuthResult).launch(authIntent);
+        }
+    }
+
+    @VisibleForTesting
+    void onAuthResult(ActivityResult result) {
+        if (result.getResultCode() == Activity.RESULT_OK) {
+            startQrCodeActivity();
+        }
+        finish();
+    }
+
+    private void startQrCodeActivity() {
+        // Close quick settings shade
+        sendBroadcast(
+                new Intent(ACTION_CLOSE_SYSTEM_DIALOGS).setFlags(FLAG_RECEIVER_FOREGROUND));
+        Intent qrCodeIntent = new Intent();
+        qrCodeIntent.setAction(
+                WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR);
+        qrCodeIntent.putExtras(getIntent());
+        startActivity(qrCodeIntent);
+    }
+
+    @Override
+    public int getMetricsCategory() {
+        return SettingsEnums.SETTINGS_WIFI_DPP_CONFIGURATOR;
+    }
+}
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
index e0a1e39..48fcae8 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeBaseFragment.java
@@ -25,7 +25,6 @@
 
 import androidx.annotation.DrawableRes;
 
-import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 
 import com.google.android.setupcompat.template.FooterBarMixin;
@@ -59,13 +58,13 @@
         if (isFooterAvailable()) {
             mLeftButton = new FooterButton.Builder(getContext())
                     .setButtonType(FooterButton.ButtonType.CANCEL)
-                    .setTheme(R.style.SudGlifButton_Secondary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Secondary)
                     .build();
             mGlifLayout.getMixin(FooterBarMixin.class).setSecondaryButton(mLeftButton);
 
             mRightButton = new FooterButton.Builder(getContext())
                     .setButtonType(FooterButton.ButtonType.NEXT)
-                    .setTheme(R.style.SudGlifButton_Primary)
+                    .setTheme(com.google.android.setupdesign.R.style.SudGlifButton_Primary)
                     .build();
             mGlifLayout.getMixin(FooterBarMixin.class).setPrimaryButton(mRightButton);
         }
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
index 7af8343..210e94c 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeGeneratorFragment.java
@@ -16,7 +16,6 @@
 
 package com.android.settings.wifi.dpp;
 
-import android.annotation.Nullable;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -27,6 +26,7 @@
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
 import android.provider.Settings;
+import android.text.InputType;
 import android.text.TextUtils;
 import android.util.Log;
 import android.view.LayoutInflater;
@@ -39,6 +39,8 @@
 import android.widget.ImageView;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.chooser.DisplayResolveInfo;
 import com.android.internal.app.chooser.TargetInfo;
@@ -118,6 +120,8 @@
 
         final String password = wifiNetworkConfig.getPreSharedKey();
         TextView passwordView = view.findViewById(R.id.password);
+        passwordView.setInputType(
+                InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
         if (TextUtils.isEmpty(password)) {
             mSummary.setText(getString(
                     R.string.wifi_dpp_scan_open_network_qr_code_with_another_device,
diff --git a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
index 872c61a..479c81d 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragment.java
@@ -400,7 +400,7 @@
             }
         };
         final Context context = getContext();
-        mWifiPickerTracker = FeatureFactory.getFactory(context)
+        mWifiPickerTracker = FeatureFactory.getFeatureFactory()
                 .getWifiTrackerLibProvider()
                 .createWifiPickerTracker(getSettingsLifecycle(), context,
                         new Handler(Looper.getMainLooper()),
diff --git a/src/com/android/settings/wifi/dpp/WifiDppUtils.java b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
index c336c62..23a6a54 100644
--- a/src/com/android/settings/wifi/dpp/WifiDppUtils.java
+++ b/src/com/android/settings/wifi/dpp/WifiDppUtils.java
@@ -30,6 +30,8 @@
 import android.os.UserHandle;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
+import android.security.keystore.KeyGenParameterSpec;
+import android.security.keystore.KeyProperties;
 import android.text.TextUtils;
 
 import com.android.settings.R;
@@ -37,9 +39,19 @@
 import com.android.settingslib.wifi.AccessPoint;
 import com.android.wifitrackerlib.WifiEntry;
 
+import java.security.InvalidAlgorithmParameterException;
+import java.security.InvalidKeyException;
+import java.security.NoSuchAlgorithmException;
 import java.time.Duration;
 import java.util.List;
 
+import javax.crypto.BadPaddingException;
+import javax.crypto.Cipher;
+import javax.crypto.IllegalBlockSizeException;
+import javax.crypto.KeyGenerator;
+import javax.crypto.NoSuchPaddingException;
+import javax.crypto.SecretKey;
+
 /**
  * Here are the items shared by both WifiDppConfiguratorActivity & WifiDppEnrolleeActivity
  *
@@ -97,6 +109,8 @@
 
     private static final Duration VIBRATE_DURATION_QR_CODE_RECOGNITION = Duration.ofMillis(3);
 
+    private static final String AES_CBC_PKCS7_PADDING = "AES/CBC/PKCS7Padding";
+
     /**
      * Returns whether the device support WiFi DPP.
      */
@@ -367,6 +381,48 @@
     }
 
     /**
+     * Checks whether the device is unlocked recently.
+     *
+     * @param keyStoreAlias key
+     * @param seconds how many seconds since the device is unlocked
+     * @return whether the device is unlocked within the time
+     */
+    public static boolean isUnlockedWithinSeconds(String keyStoreAlias, int seconds) {
+        try {
+            Cipher cipher = Cipher.getInstance(AES_CBC_PKCS7_PADDING);
+            cipher.init(Cipher.ENCRYPT_MODE, generateSecretKey(keyStoreAlias, seconds));
+            cipher.doFinal();
+            return true;
+        } catch (NoSuchPaddingException
+                 | IllegalBlockSizeException
+                 | NoSuchAlgorithmException
+                 | BadPaddingException
+                 | InvalidKeyException e) {
+            return false;
+        }
+    }
+
+    private static SecretKey generateSecretKey(String keyStoreAlias, int seconds) {
+        KeyGenParameterSpec spec = new KeyGenParameterSpec
+                .Builder(keyStoreAlias, KeyProperties.PURPOSE_ENCRYPT)
+                .setBlockModes(KeyProperties.BLOCK_MODE_CBC)
+                .setEncryptionPaddings(KeyProperties.ENCRYPTION_PADDING_PKCS7)
+                .setUserAuthenticationRequired(true)
+                .setUserAuthenticationParameters(
+                        seconds,
+                        KeyProperties.AUTH_DEVICE_CREDENTIAL | KeyProperties.AUTH_BIOMETRIC_STRONG)
+                .build();
+        try {
+            KeyGenerator keyGenerator = KeyGenerator.getInstance(KeyProperties.KEY_ALGORITHM_AES);
+            keyGenerator.init(spec);
+            return keyGenerator.generateKey();
+        } catch (NoSuchAlgorithmException
+                 | InvalidAlgorithmParameterException e) {
+            return null;
+        }
+    }
+
+    /**
      * Shows authentication screen to confirm credentials (pin, pattern or password) for the current
      * user of the device.
      *
@@ -396,8 +452,7 @@
             final int userId = UserHandle.myUserId();
 
             final BiometricPrompt.Builder builder = new BiometricPrompt.Builder(context)
-                    .setTitle(context.getText(R.string.wifi_dpp_lockscreen_title))
-                    .setUseDefaultSubtitle();
+                    .setTitle(context.getText(R.string.wifi_dpp_lockscreen_title));
 
             if (keyguardManager.isDeviceSecure()) {
                 builder.setDeviceCredentialAllowed(true);
diff --git a/src/com/android/settings/wifi/factory/WifiFeatureProvider.java b/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
index 9e7365e..5ab899a 100644
--- a/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
+++ b/src/com/android/settings/wifi/factory/WifiFeatureProvider.java
@@ -16,13 +16,13 @@
 
 package com.android.settings.wifi.factory;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.net.TetheringManager;
 import android.net.wifi.WifiManager;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 import androidx.lifecycle.ViewModelProvider;
 import androidx.lifecycle.ViewModelStoreOwner;
 
diff --git a/src/com/android/settings/wifi/factory/WifiVerboseLogging.java b/src/com/android/settings/wifi/factory/WifiVerboseLogging.java
index 2935ed4..0be3bc0 100644
--- a/src/com/android/settings/wifi/factory/WifiVerboseLogging.java
+++ b/src/com/android/settings/wifi/factory/WifiVerboseLogging.java
@@ -16,12 +16,12 @@
 
 package com.android.settings.wifi.factory;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.net.wifi.WifiManager;
 import android.util.Log;
 
 import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
 
 /**
  * Wi-Fi Verbose Logging
diff --git a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
index 00cb36b..3f486f2 100644
--- a/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
+++ b/src/com/android/settings/wifi/p2p/WifiP2pPeer.java
@@ -31,7 +31,7 @@
 public class WifiP2pPeer extends Preference {
 
     private static final int FIXED_RSSI = 60;
-    private static final int[] STATE_SECURED = {R.attr.state_encrypted};
+    private static final int[] STATE_SECURED = {com.android.settingslib.R.attr.state_encrypted};
     public WifiP2pDevice device;
 
     @VisibleForTesting final int mRssi;
diff --git a/src/com/android/settings/wifi/repository/SharedConnectivityRepository.java b/src/com/android/settings/wifi/repository/SharedConnectivityRepository.java
index 35ac3f6..5b1a1fd 100644
--- a/src/com/android/settings/wifi/repository/SharedConnectivityRepository.java
+++ b/src/com/android/settings/wifi/repository/SharedConnectivityRepository.java
@@ -178,7 +178,7 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(mAppContext).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 
     /**
diff --git a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
index af8eb47..6140d71 100644
--- a/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
+++ b/src/com/android/settings/wifi/repository/WifiHotspotRepository.java
@@ -657,6 +657,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(mAppContext).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
index f0841f4..a038e1d 100644
--- a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2.java
@@ -66,6 +66,7 @@
         super.displayPreference(screen);
     }
 
+    @VisibleForTesting
     void displayPreference(PreferenceScreen screen, List<WifiEntry> wifiEntries) {
         if (wifiEntries == null || wifiEntries.isEmpty()) {
             mWifiEntries.clear();
@@ -89,28 +90,32 @@
      * mPreferenceGroup.removeAll() then mPreferenceGroup.addPreference for mWifiEntries.
      */
     private void updatePreference() {
-        // Remove the Preference of removed WifiEntry.
-        final List<String> removedPreferenceKeys = new ArrayList<>();
-        final int preferenceCount = mPreferenceGroup.getPreferenceCount();
+        // Update WifiEntry to existing preference and find out which WifiEntry was removed by key.
+        List<String> removedKeys = new ArrayList<>();
+        int preferenceCount = mPreferenceGroup.getPreferenceCount();
         for (int i = 0; i < preferenceCount; i++) {
-            final String key = mPreferenceGroup.getPreference(i).getKey();
-            if (mWifiEntries.stream().filter(wifiEntry ->
-                    TextUtils.equals(key, wifiEntry.getKey())).count() == 0) {
-                removedPreferenceKeys.add(key);
+            WifiEntryPreference pref = (WifiEntryPreference) mPreferenceGroup.getPreference(i);
+            WifiEntry wifiEntry = mWifiEntries.stream()
+                    .filter(entry -> TextUtils.equals(pref.getKey(), entry.getKey()))
+                    .findFirst()
+                    .orElse(null);
+            if (wifiEntry != null) {
+                pref.setWifiEntry(wifiEntry);
+            } else {
+                removedKeys.add(pref.getKey());
             }
         }
-        for (String removedPreferenceKey : removedPreferenceKeys) {
-            mPreferenceGroup.removePreference(
-                    mPreferenceGroup.findPreference(removedPreferenceKey));
+        // Remove preference by WifiEntry's key.
+        for (String removedKey : removedKeys) {
+            mPreferenceGroup.removePreference(mPreferenceGroup.findPreference(removedKey));
         }
 
         // Add the Preference of new added WifiEntry.
         for (WifiEntry wifiEntry : mWifiEntries) {
             if (mPreferenceGroup.findPreference(wifiEntry.getKey()) == null) {
-                final WifiEntryPreference preference = new WifiEntryPreference(mContext, wifiEntry);
+                WifiEntryPreference preference = new WifiEntryPreference(mContext, wifiEntry);
                 preference.setKey(wifiEntry.getKey());
                 preference.setOnPreferenceClickListener(this);
-
                 mPreferenceGroup.addPreference(preference);
             }
         }
diff --git a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
index 799ba5e..21cc1e0 100644
--- a/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
+++ b/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2.java
@@ -37,7 +37,7 @@
 import com.android.settings.R;
 import com.android.settings.core.SubSettingLauncher;
 import com.android.settings.dashboard.DashboardFragment;
-import com.android.settings.wifi.WifiSettings;
+import com.android.settings.network.NetworkProviderSettings;
 import com.android.settings.wifi.details.WifiNetworkDetailsFragment;
 import com.android.wifitrackerlib.SavedNetworkTracker;
 
@@ -127,7 +127,7 @@
      * Shows {@link WifiNetworkDetailsFragment} for assigned key of {@link WifiEntry}.
      */
     public void showWifiPage(@NonNull String key, CharSequence title) {
-        removeDialog(WifiSettings.WIFI_DIALOG_ID);
+        removeDialog(NetworkProviderSettings.WIFI_DIALOG_ID);
 
         if (TextUtils.isEmpty(key)) {
             Log.e(TAG, "Not able to show WifiEntry of an empty key");
diff --git a/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java b/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java
deleted file mode 100644
index ae45251..0000000
--- a/src/com/android/settings/wifi/slice/ContextualWifiScanWorker.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.wifi.slice;
-
-import android.content.Context;
-import android.net.Uri;
-
-/**
- * {@link SliceBackgroundWorker} for Wi-Fi, used by {@link ContextualWifiSlice}.
- */
-public class ContextualWifiScanWorker extends WifiScanWorker {
-
-    public ContextualWifiScanWorker(Context context, Uri uri) {
-        super(context, uri);
-    }
-
-    @Override
-    protected int getApRowCount() {
-        return ContextualWifiSlice.getApRowCount();
-    }
-}
diff --git a/src/com/android/settings/wifi/slice/ContextualWifiSlice.java b/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
deleted file mode 100644
index 4806573..0000000
--- a/src/com/android/settings/wifi/slice/ContextualWifiSlice.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.slice;
-
-import android.content.Context;
-import android.graphics.drawable.Drawable;
-import android.net.ConnectivityManager;
-import android.net.NetworkCapabilities;
-import android.net.Uri;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiManager;
-import android.text.TextUtils;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.builders.ListBuilder;
-
-import com.android.settings.R;
-import com.android.settings.Utils;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.slices.CustomSliceable;
-import com.android.wifitrackerlib.WifiEntry;
-
-/**
- * {@link CustomSliceable} for Wi-Fi, used by contextual homepage.
- */
-public class ContextualWifiSlice extends WifiSlice {
-
-    @VisibleForTesting
-    static final int COLLAPSED_ROW_COUNT = 0;
-
-    @VisibleForTesting
-    static long sActiveUiSession = -1000;
-    @VisibleForTesting
-    static boolean sApRowCollapsed;
-
-    private final ConnectivityManager mConnectivityManager;
-
-    public ContextualWifiSlice(Context context) {
-        super(context);
-
-        mConnectivityManager = mContext.getSystemService(ConnectivityManager.class);
-    }
-
-    @Override
-    public Uri getUri() {
-        return CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI;
-    }
-
-    @Override
-    public Slice getSlice() {
-        final long currentUiSession = FeatureFactory.getFactory(mContext)
-                .getSlicesFeatureProvider().getUiSessionToken();
-        if (currentUiSession != sActiveUiSession) {
-            sActiveUiSession = currentUiSession;
-            sApRowCollapsed = hasWorkingNetwork();
-        } else if (!mWifiManager.isWifiEnabled()) {
-            sApRowCollapsed = false;
-        }
-        return super.getSlice();
-    }
-
-    static int getApRowCount() {
-        return sApRowCollapsed ? COLLAPSED_ROW_COUNT : DEFAULT_EXPANDED_ROW_COUNT;
-    }
-
-    @Override
-    protected boolean isApRowCollapsed() {
-        return sApRowCollapsed;
-    }
-
-    @Override
-    protected ListBuilder.RowBuilder getHeaderRow(boolean isWifiEnabled,
-            WifiSliceItem wifiSliceItem) {
-        final ListBuilder.RowBuilder builder = super.getHeaderRow(isWifiEnabled, wifiSliceItem);
-        builder.setTitleItem(getHeaderIcon(isWifiEnabled, wifiSliceItem), ListBuilder.ICON_IMAGE);
-        if (sApRowCollapsed) {
-            builder.setSubtitle(getHeaderSubtitle(wifiSliceItem));
-        }
-        return builder;
-    }
-
-    private IconCompat getHeaderIcon(boolean isWifiEnabled, WifiSliceItem wifiSliceItem) {
-        final Drawable drawable;
-        final int tint;
-        if (!isWifiEnabled) {
-            drawable = mContext.getDrawable(R.drawable.ic_wifi_off);
-            tint = Utils.getDisabled(mContext, Utils.getColorAttrDefaultColor(mContext,
-                    android.R.attr.colorControlNormal));
-        } else {
-            // get icon of medium signal strength
-            drawable = mContext.getDrawable(com.android.settingslib.Utils.getWifiIconResource(2));
-            if (wifiSliceItem != null
-                    && wifiSliceItem.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTED) {
-                tint = Utils.getColorAccentDefaultColor(mContext);
-            } else {
-                tint = Utils.getColorAttrDefaultColor(mContext, android.R.attr.colorControlNormal);
-            }
-        }
-        drawable.setTint(tint);
-        return Utils.createIconWithDrawable(drawable);
-    }
-
-    private CharSequence getHeaderSubtitle(WifiSliceItem wifiSliceItem) {
-        if (wifiSliceItem == null
-                || wifiSliceItem.getConnectedState() == WifiEntry.CONNECTED_STATE_DISCONNECTED) {
-            return mContext.getText(R.string.disconnected);
-        }
-        if (wifiSliceItem.getConnectedState() == WifiEntry.CONNECTED_STATE_CONNECTING) {
-            return mContext.getString(R.string.wifi_connecting_to_message,
-                wifiSliceItem.getTitle());
-        }
-        return mContext.getString(R.string.wifi_connected_to_message, wifiSliceItem.getTitle());
-    }
-
-    private boolean hasWorkingNetwork() {
-        return !TextUtils.equals(getActiveSSID(), WifiManager.UNKNOWN_SSID) && hasInternetAccess();
-    }
-
-    private String getActiveSSID() {
-        if (mWifiManager.getWifiState() != WifiManager.WIFI_STATE_ENABLED) {
-            return WifiManager.UNKNOWN_SSID;
-        }
-        return WifiInfo.sanitizeSsid(mWifiManager.getConnectionInfo().getSSID());
-    }
-
-    private boolean hasInternetAccess() {
-        final NetworkCapabilities nc = mConnectivityManager.getNetworkCapabilities(
-                mWifiManager.getCurrentNetwork());
-        return nc != null
-                && !nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL)
-                && !nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY)
-                && nc.hasCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED);
-    }
-
-    @Override
-    public Class getBackgroundWorkerClass() {
-        return ContextualWifiScanWorker.class;
-    }
-}
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java b/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java
index 0dc1605..9489e11 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSecuritySettings.java
@@ -63,7 +63,7 @@
     }
 
     protected void loadViewModel() {
-        mWifiHotspotSecurityViewModel = FeatureFactory.getFactory(getContext())
+        mWifiHotspotSecurityViewModel = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotSecurityViewModel(this);
         LiveData<List<WifiHotspotSecurityViewModel.ViewItem>> viewItemListData =
                 mWifiHotspotSecurityViewModel.getViewItemListData();
@@ -115,6 +115,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getContext()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java b/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java
index 7c8554c..0f912a4 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSecurityViewModel.java
@@ -65,7 +65,7 @@
         mViewItemMap.put(SECURITY_TYPE_WPA2_PSK, new ViewItem(KEY_SECURITY_WPA2));
         mViewItemMap.put(SECURITY_TYPE_OPEN, new ViewItem(KEY_SECURITY_NONE));
 
-        mWifiHotspotRepository = FeatureFactory.getFactory(application).getWifiFeatureProvider()
+        mWifiHotspotRepository = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiHotspotRepository();
         mWifiHotspotRepository.getSecurityType().observeForever(mSecurityTypeObserver);
         mWifiHotspotRepository.getSpeedType().observeForever(mSpeedTypeObserver);
@@ -159,6 +159,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getApplication()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java b/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
index a5e12d8..08afde1 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSpeedSettings.java
@@ -77,7 +77,7 @@
     public void onCreate(Bundle icicle) {
         super.onCreate(icicle);
         loadPreferences();
-        mWifiHotspotSpeedViewModel = FeatureFactory.getFactory(getContext())
+        mWifiHotspotSpeedViewModel = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotSpeedViewModel(this);
         onSpeedInfoMapDataChanged(mWifiHotspotSpeedViewModel.getSpeedInfoMapData().getValue());
         mWifiHotspotSpeedViewModel.getSpeedInfoMapData()
@@ -138,6 +138,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getContext()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java b/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
index e7eb3a6..ddf8d3f 100644
--- a/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiHotspotSpeedViewModel.java
@@ -65,7 +65,7 @@
 
     public WifiHotspotSpeedViewModel(@NotNull Application application) {
         super(application);
-        mWifiHotspotRepository = FeatureFactory.getFactory(application).getWifiFeatureProvider()
+        mWifiHotspotRepository = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiHotspotRepository();
         mWifiHotspotRepository.get6gAvailable().observeForever(m6gAvailableObserver);
         mWifiHotspotRepository.get5gAvailable().observeForever(m5gAvailableObserver);
@@ -177,6 +177,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getApplication()).getWifiFeatureProvider().verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
deleted file mode 100644
index 8a4be10..0000000
--- a/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceController.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.tether;
-
-import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.net.wifi.SoftApConfiguration;
-import android.util.FeatureFlagUtils;
-import android.util.Log;
-
-import androidx.annotation.VisibleForTesting;
-import androidx.preference.ListPreference;
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
-
-public class WifiTetherApBandPreferenceController extends WifiTetherBasePreferenceController {
-
-    private static final String TAG = "WifiTetherApBandPref";
-    private static final String PREF_KEY = "wifi_tether_network_ap_band";
-
-    private String[] mBandEntries;
-    private String[] mBandSummaries;
-    private int mBandIndex;
-
-    public WifiTetherApBandPreferenceController(Context context,
-            OnTetherConfigUpdateListener listener) {
-        super(context, listener);
-        updatePreferenceEntries();
-    }
-
-    @Override
-    public void updateDisplay() {
-        final SoftApConfiguration config = mWifiManager.getSoftApConfiguration();
-        if (config == null) {
-            mBandIndex = SoftApConfiguration.BAND_2GHZ;
-            Log.d(TAG, "Updating band index to BAND_2GHZ because no config");
-        } else if (is5GhzBandSupported()) {
-            mBandIndex = validateSelection(config.getBand());
-            Log.d(TAG, "Updating band index to " + mBandIndex);
-        } else {
-            mWifiManager.setSoftApConfiguration(
-                    new SoftApConfiguration.Builder(config).setBand(SoftApConfiguration.BAND_2GHZ)
-                        .build());
-            mBandIndex = SoftApConfiguration.BAND_2GHZ;
-            Log.d(TAG, "5Ghz not supported, updating band index to 2GHz");
-        }
-        ListPreference preference =
-                (ListPreference) mPreference;
-        preference.setEntries(mBandSummaries);
-        preference.setEntryValues(mBandEntries);
-
-        if (!is5GhzBandSupported()) {
-            preference.setEnabled(false);
-            preference.setSummary(R.string.wifi_ap_choose_2G);
-        } else {
-            preference.setValue(Integer.toString(config.getBand()));
-            preference.setSummary(getConfigSummary());
-        }
-    }
-
-    String getConfigSummary() {
-        switch (mBandIndex) {
-            case SoftApConfiguration.BAND_2GHZ:
-                return mBandSummaries[0];
-            case SoftApConfiguration.BAND_5GHZ:
-                return mBandSummaries[1];
-            default:
-                return mContext.getString(R.string.wifi_ap_prefer_5G);
-        }
-    }
-
-    @Override
-    public String getPreferenceKey() {
-        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
-                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
-    }
-
-    @Override
-    public boolean onPreferenceChange(Preference preference, Object newValue) {
-        mBandIndex = validateSelection(Integer.parseInt((String) newValue));
-        Log.d(TAG, "Band preference changed, updating band index to " + mBandIndex);
-        preference.setSummary(getConfigSummary());
-        mListener.onTetherConfigUpdated(this);
-        return true;
-    }
-
-    private int validateSelection(int band) {
-        // unsupported states:
-        // 1: BAND_5GHZ only - include 2GHZ since some of countries doesn't support 5G hotspot
-        // 2: no 5 GHZ support means we can't have BAND_5GHZ - default to 2GHZ
-        if (SoftApConfiguration.BAND_5GHZ == band) {
-            if (!is5GhzBandSupported()) {
-                return SoftApConfiguration.BAND_2GHZ;
-            }
-            return SoftApConfiguration.BAND_5GHZ | SoftApConfiguration.BAND_2GHZ;
-        }
-
-        return band;
-    }
-
-    @VisibleForTesting
-    void updatePreferenceEntries() {
-        Resources res = mContext.getResources();
-        int entriesRes = R.array.wifi_ap_band;
-        int summariesRes = R.array.wifi_ap_band_summary;
-        mBandEntries = res.getStringArray(entriesRes);
-        mBandSummaries = res.getStringArray(summariesRes);
-    }
-
-    private boolean is5GhzBandSupported() {
-        final String countryCode = mWifiManager.getCountryCode();
-        if (!mWifiManager.is5GHzBandSupported() || countryCode == null) {
-            return false;
-        }
-        return true;
-    }
-
-    public int getBandIndex() {
-        return mBandIndex;
-    }
-}
diff --git a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
index 0b6d533..58ad37b 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherAutoOffPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.overlay.FeatureFactory;
@@ -38,7 +38,7 @@
 
     public WifiTetherAutoOffPreferenceController(Context context, String preferenceKey) {
         super(context, preferenceKey);
-        WifiHotspotRepository wifiHotspotRepository = FeatureFactory.getFactory(context)
+        WifiHotspotRepository wifiHotspotRepository = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotRepository();
         if (wifiHotspotRepository.isSpeedFeatureAvailable() && wifiHotspotRepository.isDualBand()) {
             mNeedShutdownSecondarySap = true;
@@ -56,7 +56,7 @@
         SoftApConfiguration softApConfiguration = mWifiManager.getSoftApConfiguration();
         mSettingsOn = softApConfiguration.isAutoShutdownEnabled();
 
-        ((SwitchPreference) preference).setChecked(mSettingsOn);
+        ((TwoStatePreference) preference).setChecked(mSettingsOn);
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java
index 448a2a3..7f386fd 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherMaximizeCompatibilityPreferenceController.java
@@ -22,7 +22,7 @@
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.Preference;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settings.R;
 import com.android.settings.overlay.FeatureFactory;
@@ -44,7 +44,7 @@
             WifiTetherBasePreferenceController.OnTetherConfigUpdateListener listener) {
         super(context, listener);
         // If the Wi-Fi Hotspot Speed Feature available, then hide this controller.
-        mShouldHidePreference = FeatureFactory.getFactory(context)
+        mShouldHidePreference = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotRepository().isSpeedFeatureAvailable();
         Log.d(TAG, "mShouldHidePreference:" + mShouldHidePreference);
         if (mShouldHidePreference) {
@@ -72,7 +72,7 @@
             return;
         }
         mPreference.setEnabled(is5GhzBandSupported());
-        ((SwitchPreference) mPreference).setChecked(mIsChecked);
+        ((TwoStatePreference) mPreference).setChecked(mIsChecked);
         mPreference.setSummary(mWifiManager.isBridgedApConcurrencySupported()
                 ? R.string.wifi_hotspot_maximize_compatibility_dual_ap_summary
                 : R.string.wifi_hotspot_maximize_compatibility_single_ap_summary);
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
index c50357b..d61b3d0 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPasswordPreferenceController.java
@@ -16,20 +16,16 @@
 
 package com.android.settings.wifi.tether;
 
-import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.net.wifi.SoftApConfiguration;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.EditTextPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.ValidatedEditTextPreference;
 import com.android.settings.wifi.WifiUtils;
@@ -54,7 +50,7 @@
     WifiTetherPasswordPreferenceController(Context context, OnTetherConfigUpdateListener listener,
             MetricsFeatureProvider provider) {
         super(context, listener);
-        FeatureFactory featureFactory = FeatureFactory.getFactory(context);
+        FeatureFactory featureFactory = FeatureFactory.getFeatureFactory();
         mMetricsFeatureProvider = (provider != null) ? provider
                 : featureFactory.getMetricsFeatureProvider();
         mWifiHotspotRepository = featureFactory.getWifiFeatureProvider().getWifiHotspotRepository();
@@ -68,8 +64,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
-                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
+        return PREF_KEY;
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
index 908ccdc..0baac2c 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherPreferenceController.java
@@ -21,13 +21,13 @@
 
 import static com.android.settings.wifi.WifiUtils.canShowWifiHotspot;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiClient;
 import android.net.wifi.WifiManager;
 import android.text.BidiFormatter;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.PreferenceScreen;
 
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
index 9070d44..1bcff1e 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSSIDPreferenceController.java
@@ -16,21 +16,17 @@
 
 package com.android.settings.wifi.tether;
 
-import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
-
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.net.wifi.SoftApConfiguration;
 import android.text.TextUtils;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.EditTextPreference;
 import androidx.preference.Preference;
 
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.widget.ValidatedEditTextPreference;
 import com.android.settings.wifi.dpp.WifiDppUtils;
@@ -63,13 +59,12 @@
         super(context, listener);
 
         mWifiDeviceNameTextValidator = new WifiDeviceNameTextValidator();
-        mMetricsFeatureProvider = FeatureFactory.getFactory(context).getMetricsFeatureProvider();
+        mMetricsFeatureProvider = FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
     }
 
     @Override
     public String getPreferenceKey() {
-        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
-                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
+        return PREF_KEY;
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java b/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
index 9a9be98..6f59411 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSecurityPreferenceController.java
@@ -16,22 +16,18 @@
 
 package com.android.settings.wifi.tether;
 
-import static com.android.settings.AllInOneTetherSettings.DEDUP_POSTFIX;
-
-import android.annotation.NonNull;
 import android.content.Context;
 import android.net.wifi.SoftApCapability;
 import android.net.wifi.SoftApConfiguration;
 import android.net.wifi.WifiManager;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 
+import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 import androidx.preference.ListPreference;
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.overlay.FeatureFactory;
 
 import java.util.LinkedHashMap;
@@ -56,7 +52,7 @@
             OnTetherConfigUpdateListener listener) {
         super(context, listener);
         // If the Wi-Fi Hotspot Speed Feature available, then hide this controller.
-        mShouldHidePreference = FeatureFactory.getFactory(context)
+        mShouldHidePreference = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider().getWifiHotspotRepository().isSpeedFeatureAvailable();
         Log.d(TAG, "shouldHidePreference():" + mShouldHidePreference);
         if (mShouldHidePreference) {
@@ -82,8 +78,7 @@
 
     @Override
     public String getPreferenceKey() {
-        return FeatureFlagUtils.isEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE)
-                ? PREF_KEY + DEDUP_POSTFIX : PREF_KEY;
+        return PREF_KEY;
     }
 
     @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSettings.java b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
index fa897b7..bad29eb 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSettings.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSettings.java
@@ -30,7 +30,6 @@
 import android.net.wifi.SoftApConfiguration;
 import android.os.Bundle;
 import android.os.UserManager;
-import android.util.FeatureFlagUtils;
 import android.util.Log;
 
 import androidx.annotation.Nullable;
@@ -39,7 +38,6 @@
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.search.BaseSearchIndexProvider;
@@ -148,7 +146,7 @@
             return;
         }
 
-        mWifiTetherViewModel = FeatureFactory.getFactory(getContext()).getWifiFeatureProvider()
+        mWifiTetherViewModel = FeatureFactory.getFeatureFactory().getWifiFeatureProvider()
                 .getWifiTetherViewModel(this);
         if (mWifiTetherViewModel != null) {
             setupSpeedFeature(mWifiTetherViewModel.isSpeedFeatureAvailable());
@@ -229,7 +227,8 @@
         }
         if (mUnavailable) {
             if (!isUiRestrictedByOnlyAdmin()) {
-                getEmptyTextView().setText(R.string.tethering_settings_not_available);
+                getEmptyTextView()
+                        .setText(com.android.settingslib.R.string.tethering_settings_not_available);
             }
             getPreferenceScreen().removeAll();
             return;
@@ -386,10 +385,7 @@
             if (userManager == null || !userManager.isAdminUser()) {
                 return false;
             }
-            if (!WifiUtils.canShowWifiHotspot(context)) {
-                return false;
-            }
-            return !FeatureFlagUtils.isEnabled(context, FeatureFlags.TETHER_ALL_IN_ONE);
+            return WifiUtils.canShowWifiHotspot(context);
         }
 
         @Override
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java b/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java
index 4343fcc..e5d3b3d 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSsidPreference.java
@@ -68,7 +68,7 @@
 
     private void initialize() {
         // TODO(b/129019971): use methods of divider line in parent object
-        setLayoutResource(com.android.settingslib.R.layout.preference_two_target);
+        setLayoutResource(com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target);
         setWidgetLayoutResource(R.layout.wifi_button_preference_widget);
 
         mShareIconDrawable = getDrawable(R.drawable.ic_qrcode_24dp);
@@ -79,7 +79,8 @@
         super.onBindViewHolder(holder);
 
         final ImageButton shareButton = (ImageButton) holder.findViewById(R.id.button_icon);
-        final View dividerView = holder.findViewById(R.id.two_target_divider);
+        final View dividerView = holder.findViewById(
+                com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
 
         if (mVisible) {
             shareButton.setOnClickListener(mClickListener);
diff --git a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
index d6ca524..9febba3 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherSwitchBarController.java
@@ -32,7 +32,8 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.util.Log;
-import android.widget.Switch;
+import android.widget.CompoundButton;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.annotation.VisibleForTesting;
 
@@ -41,20 +42,18 @@
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
 import com.android.settingslib.core.lifecycle.events.OnStart;
 import com.android.settingslib.core.lifecycle.events.OnStop;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 /**
  * Controller for logic pertaining to switch Wi-Fi tethering.
  */
 public class WifiTetherSwitchBarController implements
-        LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener, OnMainSwitchChangeListener {
+        LifecycleObserver, OnStart, OnStop, DataSaverBackend.Listener, OnCheckedChangeListener {
 
     private static final String TAG = "WifiTetherSBC";
     private static final IntentFilter WIFI_INTENT_FILTER;
 
     private final Context mContext;
     private final SettingsMainSwitchBar mSwitchBar;
-    private final Switch mSwitch;
     private final ConnectivityManager mConnectivityManager;
     private final WifiManager mWifiManager;
 
@@ -78,7 +77,6 @@
     WifiTetherSwitchBarController(Context context, SettingsMainSwitchBar switchBar) {
         mContext = context;
         mSwitchBar = switchBar;
-        mSwitch = mSwitchBar.getSwitch();
         mDataSaverBackend = new DataSaverBackend(context);
         mConnectivityManager =
                 (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE);
@@ -103,9 +101,9 @@
     }
 
     @Override
-    public void onSwitchChanged(Switch switchView, boolean isChecked) {
+    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
         // Filter out unnecessary callbacks when switch is disabled.
-        if (!switchView.isEnabled()) return;
+        if (!buttonView.isEnabled()) return;
 
         if (isChecked) {
             startTether();
@@ -153,8 +151,8 @@
         if (state == WIFI_AP_STATE_ENABLING || state == WIFI_AP_STATE_DISABLING) return;
 
         final boolean shouldBeChecked = (state == WIFI_AP_STATE_ENABLED);
-        if (mSwitch.isChecked() != shouldBeChecked) {
-            mSwitch.setChecked(shouldBeChecked);
+        if (mSwitchBar.isChecked() != shouldBeChecked) {
+            mSwitchBar.setChecked(shouldBeChecked);
         }
         updateWifiSwitch();
     }
diff --git a/src/com/android/settings/wifi/tether/WifiTetherViewModel.java b/src/com/android/settings/wifi/tether/WifiTetherViewModel.java
index b0a18a8..ea09482 100644
--- a/src/com/android/settings/wifi/tether/WifiTetherViewModel.java
+++ b/src/com/android/settings/wifi/tether/WifiTetherViewModel.java
@@ -58,11 +58,14 @@
     static Map<Integer, Integer> sSecuritySummaryResMap = new HashMap<>();
 
     static {
-        sSecuritySummaryResMap.put(SECURITY_TYPE_WPA3_SAE, R.string.wifi_security_sae);
+        sSecuritySummaryResMap.put(
+                SECURITY_TYPE_WPA3_SAE, com.android.settingslib.R.string.wifi_security_sae);
         sSecuritySummaryResMap.put(SECURITY_TYPE_WPA3_SAE_TRANSITION,
-                R.string.wifi_security_psk_sae);
-        sSecuritySummaryResMap.put(SECURITY_TYPE_WPA2_PSK, R.string.wifi_security_wpa2);
-        sSecuritySummaryResMap.put(SECURITY_TYPE_OPEN, R.string.wifi_security_none);
+                com.android.settingslib.R.string.wifi_security_psk_sae);
+        sSecuritySummaryResMap.put(
+                SECURITY_TYPE_WPA2_PSK, com.android.settingslib.R.string.wifi_security_wpa2);
+        sSecuritySummaryResMap.put(
+                SECURITY_TYPE_OPEN, com.android.settingslib.R.string.wifi_security_none);
     }
 
     static Map<Integer, Integer> sSpeedSummaryResMap = new HashMap<>();
@@ -90,7 +93,7 @@
 
     public WifiTetherViewModel(@NotNull Application application) {
         super(application);
-        WifiFeatureProvider featureProvider = FeatureFactory.getFactory(application)
+        WifiFeatureProvider featureProvider = FeatureFactory.getFeatureFactory()
                 .getWifiFeatureProvider();
         mWifiHotspotRepository = featureProvider.getWifiHotspotRepository();
         mSharedConnectivityRepository = featureProvider.getSharedConnectivityRepository();
@@ -232,7 +235,6 @@
     }
 
     private void log(String msg) {
-        FeatureFactory.getFactory(getApplication().getApplicationContext()).getWifiFeatureProvider()
-                .verboseLog(TAG, msg);
+        FeatureFactory.getFeatureFactory().getWifiFeatureProvider().verboseLog(TAG, msg);
     }
 }
diff --git a/tests/anomaly-tester/Android.bp b/tests/anomaly-tester/Android.bp
index c897d75..d437a6c 100644
--- a/tests/anomaly-tester/Android.bp
+++ b/tests/anomaly-tester/Android.bp
@@ -1,4 +1,5 @@
 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"
@@ -17,8 +18,8 @@
     static_libs: [
         "androidx.test.rules",
         "mockito-target",
-        "ub-uiautomator",
-        "truth-prebuilt",
+        "androidx.test.uiautomator_uiautomator",
+        "truth",
     ],
 
     srcs: ["**/*.java"],
diff --git a/tests/anomaly-tester/src/com/android/settings/anomaly/tests/BluetoothAnomalyTest.java b/tests/anomaly-tester/src/com/android/settings/anomaly/tests/BluetoothAnomalyTest.java
index 0477e09..96f3683 100644
--- a/tests/anomaly-tester/src/com/android/settings/anomaly/tests/BluetoothAnomalyTest.java
+++ b/tests/anomaly-tester/src/com/android/settings/anomaly/tests/BluetoothAnomalyTest.java
@@ -19,13 +19,13 @@
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.Until;
 import android.text.format.DateUtils;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.Until;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/anomaly-tester/src/com/android/settings/anomaly/tests/TestUtils.java b/tests/anomaly-tester/src/com/android/settings/anomaly/tests/TestUtils.java
index ac15d77..9b99288 100644
--- a/tests/anomaly-tester/src/com/android/settings/anomaly/tests/TestUtils.java
+++ b/tests/anomaly-tester/src/com/android/settings/anomaly/tests/TestUtils.java
@@ -20,10 +20,11 @@
 import android.app.UiAutomation;
 import android.content.Context;
 import android.content.Intent;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
+
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
 
 public class TestUtils {
     private static final String PACKAGE_NAME = "com.android.settings.anomaly.tester";
diff --git a/tests/anomaly-tester/src/com/android/settings/anomaly/tests/WakelockAnomalyTest.java b/tests/anomaly-tester/src/com/android/settings/anomaly/tests/WakelockAnomalyTest.java
index c44e2ea..58c949f 100644
--- a/tests/anomaly-tester/src/com/android/settings/anomaly/tests/WakelockAnomalyTest.java
+++ b/tests/anomaly-tester/src/com/android/settings/anomaly/tests/WakelockAnomalyTest.java
@@ -19,13 +19,13 @@
 import android.app.Instrumentation;
 import android.content.Context;
 import android.content.Intent;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.Until;
 import android.text.format.DateUtils;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.Until;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/componenttests/Android.bp b/tests/componenttests/Android.bp
index 5c03aa9..48d3ab0 100644
--- a/tests/componenttests/Android.bp
+++ b/tests/componenttests/Android.bp
@@ -2,6 +2,7 @@
 // Settings Component test target.                           #
 //############################################################
 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"
@@ -19,7 +20,7 @@
     ],
 
     static_libs: [
-        "truth-prebuilt",
+        "truth",
         "androidx.test.core",
         "androidx.test.espresso.core",
         "androidx.test.espresso.intents-nodeps",
diff --git a/tests/componenttests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivityTest.java b/tests/componenttests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivityTest.java
new file mode 100644
index 0000000..94b9369
--- /dev/null
+++ b/tests/componenttests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorAuthActivityTest.java
@@ -0,0 +1,79 @@
+/*
+ * 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.wifi.dpp;
+
+import static android.app.Activity.RESULT_OK;
+
+import static androidx.test.espresso.intent.Intents.intended;
+import static androidx.test.espresso.intent.matcher.IntentMatchers.hasAction;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.hamcrest.Matchers.equalTo;
+
+import android.app.KeyguardManager;
+
+import androidx.activity.result.ActivityResult;
+import androidx.test.core.app.ActivityScenario;
+import androidx.test.espresso.intent.Intents;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@SmallTest
+public class WifiDppConfiguratorAuthActivityTest {
+
+    @Before
+    public void setup() {
+        Intents.init();
+    }
+
+    @After
+    public void teardown() throws Exception {
+        Intents.release();
+    }
+
+    @Test
+    public void launchActivity_sendAuthIntent() {
+        ActivityScenario<WifiDppConfiguratorAuthActivity> activityScenario =
+                ActivityScenario.launch(WifiDppConfiguratorAuthActivity.class);
+        assertThat(activityScenario).isNotNull();
+        intended(hasAction(equalTo(KeyguardManager.ACTION_CONFIRM_DEVICE_CREDENTIAL_WITH_USER)));
+    }
+
+    @Test
+    public void launchActivity_sendQrCodeIntent() {
+        ActivityScenario.launch(WifiDppConfiguratorAuthActivity.class).onActivity(activity ->
+                activity.onAuthResult(new ActivityResult(RESULT_OK, /* data= */ null))
+        );
+        intended(hasAction(
+                equalTo(WifiDppConfiguratorActivity.ACTION_CONFIGURATOR_QR_CODE_GENERATOR)));
+    }
+
+    @Test
+    public void launchActivity_shouldFinish() {
+        ActivityScenario.launch(WifiDppConfiguratorAuthActivity.class).onActivity(activity -> {
+            activity.onAuthResult(new ActivityResult(RESULT_OK, /* data= */ null));
+            assertThat(activity.isFinishing()).isTrue();
+        });
+    }
+}
diff --git a/tests/legacy_unit/InstrumentedEntitlementApp/Android.bp b/tests/legacy_unit/InstrumentedEntitlementApp/Android.bp
index 1ec108a..cc0e63d 100644
--- a/tests/legacy_unit/InstrumentedEntitlementApp/Android.bp
+++ b/tests/legacy_unit/InstrumentedEntitlementApp/Android.bp
@@ -13,6 +13,7 @@
 // limitations under the License.
 
 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"
diff --git a/tests/legacy_unit/src/com/android/settings/UserCredentialsTest.java b/tests/legacy_unit/src/com/android/settings/UserCredentialsTest.java
index a182416..113db7f 100644
--- a/tests/legacy_unit/src/com/android/settings/UserCredentialsTest.java
+++ b/tests/legacy_unit/src/com/android/settings/UserCredentialsTest.java
@@ -21,7 +21,8 @@
 import android.os.Parcel;
 import android.os.Process;
 import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
+
+import androidx.test.filters.SmallTest;
 
 /**
  * User credentials settings fragment tests
diff --git a/tests/legacy_unit/src/com/android/settings/UtilsTest.java b/tests/legacy_unit/src/com/android/settings/UtilsTest.java
index 5048fb5..24f921b 100644
--- a/tests/legacy_unit/src/com/android/settings/UtilsTest.java
+++ b/tests/legacy_unit/src/com/android/settings/UtilsTest.java
@@ -23,7 +23,8 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
+
+import androidx.test.filters.SmallTest;
 
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
diff --git a/tests/legacy_unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java b/tests/legacy_unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
index 8cbf29b..1ee2100 100644
--- a/tests/legacy_unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
+++ b/tests/legacy_unit/src/com/android/settings/bluetooth/Utf8ByteLengthFilterTest.java
@@ -17,10 +17,11 @@
 package com.android.settings.bluetooth;
 
 import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
 import android.text.InputFilter;
 import android.text.SpannableStringBuilder;
 
+import androidx.test.filters.SmallTest;
+
 public class Utf8ByteLengthFilterTest extends AndroidTestCase {
 
     @SmallTest
diff --git a/tests/legacy_unit/src/com/android/settings/vpn2/AppSettingsTest.java b/tests/legacy_unit/src/com/android/settings/vpn2/AppSettingsTest.java
index a30d610..a437ea7 100644
--- a/tests/legacy_unit/src/com/android/settings/vpn2/AppSettingsTest.java
+++ b/tests/legacy_unit/src/com/android/settings/vpn2/AppSettingsTest.java
@@ -27,7 +27,8 @@
 import android.content.pm.ApplicationInfo;
 import android.os.Process;
 import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
+
+import androidx.test.filters.SmallTest;
 
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
diff --git a/tests/legacy_unit/src/com/android/settings/vpn2/PreferenceListTest.java b/tests/legacy_unit/src/com/android/settings/vpn2/PreferenceListTest.java
index 31856f5..7ce01c8 100644
--- a/tests/legacy_unit/src/com/android/settings/vpn2/PreferenceListTest.java
+++ b/tests/legacy_unit/src/com/android/settings/vpn2/PreferenceListTest.java
@@ -31,9 +31,10 @@
 import static org.mockito.Mockito.verify;
 
 import android.test.AndroidTestCase;
-import android.test.suitebuilder.annotation.SmallTest;
 import android.text.TextUtils;
 
+import androidx.test.filters.SmallTest;
+
 import com.android.internal.net.LegacyVpnInfo;
 import com.android.internal.net.VpnProfile;
 
diff --git a/tests/perftests/Android.bp b/tests/perftests/Android.bp
index c03c57f..7e3a8aa 100644
--- a/tests/perftests/Android.bp
+++ b/tests/perftests/Android.bp
@@ -1,4 +1,5 @@
 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"
@@ -18,7 +19,7 @@
 
     static_libs: [
         "androidx.test.rules",
-        "ub-uiautomator",
+        "androidx.test.uiautomator_uiautomator",
     ],
 
     // Include all test java files.
diff --git a/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java b/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java
index a8c5230..ca5c79f 100644
--- a/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java
+++ b/tests/perftests/src/com/android/settings/tests/perf/LaunchSettingsTest.java
@@ -22,13 +22,13 @@
 import android.app.Instrumentation;
 import android.os.Bundle;
 import android.util.Log;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiSelector;
-import android.support.test.uiautomator.Until;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiSelector;
+import androidx.test.uiautomator.Until;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/robotests/Android.bp b/tests/robotests/Android.bp
index 94febff..5648290 100644
--- a/tests/robotests/Android.bp
+++ b/tests/robotests/Android.bp
@@ -1,8 +1,5 @@
-    //############################################################
-// Build SettingsRoboTestStub.apk which includes test-only resources.#
-//############################################################
-
 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"
@@ -11,6 +8,7 @@
     default_applicable_licenses: ["packages_apps_Settings_license"],
 }
 
+// Build SettingsRoboTestStub.apk which includes test-only resources.
 android_app {
     name: "SettingsRoboTestStub",
     defaults: [
@@ -20,37 +18,16 @@
     platform_apis: true,
     certificate: "platform",
     privileged: true,
-
+    use_resource_processor: true,
     resource_dirs: ["res"],
 
     static_libs: [
         "Settings-core",
-        "androidx-constraintlayout_constraintlayout",
-        "androidx.slice_slice-builders",
-        "androidx.slice_slice-core",
-        "androidx.slice_slice-view",
-        "androidx.core_core",
-        "androidx.appcompat_appcompat",
-        "androidx.cardview_cardview",
-        "androidx.preference_preference",
-        "androidx.recyclerview_recyclerview",
-        "androidx.window_window",
-        "com.google.android.material_material",
-        "setupcompat",
-        "setupdesign",
-        "androidx.lifecycle_lifecycle-runtime",
-        "androidx.test.core",
-        "androidx.test.runner",
-        "androidx.test.ext.junit",
+        "androidx.fragment_fragment-testing",
         "frameworks-base-testutils",
-        "guava",
-        "jsr305",
-        "settings-contextual-card-protos-lite",
-        "settings-log-bridge-protos-lite",
-	"settings-telephony-protos-lite",
-        "contextualcards",
-        "settings-logtags",
-        "zxing-core-1.7",
+        "androidx.fragment_fragment",
+        "androidx.lifecycle_lifecycle-runtime-testing",
+        "kotlinx_coroutines_test",
     ],
 
     aaptflags: ["--extra-packages com.android.settings"],
@@ -66,9 +43,7 @@
     ],
 }
 
-//############################################################
-// Settings Robolectric test target.                         #
-//############################################################
+// Settings Robolectric test target.
 android_robolectric_test {
     name: "SettingsRoboTests",
     srcs: [
@@ -76,21 +51,36 @@
         "src/**/*.kt",
     ],
 
+    // test_suites attribute is not needed. This module will be configured in ATP GCL file.
+
     static_libs: [
+        "Robolectric_shadows_androidx_fragment_upstream",
+        "Settings_robolectric_meta_service_file",
         "SettingsLib-robo-testutils",
-        "android-support-annotations",
+        "Settings-robo-testutils",
+        "android.webkit.flags-aconfig-java",
         "androidx.test.core",
+        "androidx.test.espresso.core",
+        "androidx.test.ext.junit",
         "androidx.test.rules",
         "androidx.test.runner",
-        "androidx.test.ext.junit",
-        "androidx.test.espresso.core",
+        "flag-junit",
+        "flag-junit-base",
+        "aconfig_settings_flags_lib",
+        "platform-test-annotations",
+        "Settings-testutils2",
+        "notification_flags_lib",
+        "com_android_server_accessibility_flags_lib",
     ],
 
     libs: [
         "ims-common",
     ],
 
-    java_resource_dirs: ["config", "resources"],
+    java_resource_dirs: [
+        "config",
+        "resources",
+    ],
 
     instrumentation_for: "SettingsRoboTestStub",
 
@@ -104,16 +94,17 @@
         "SettingsLib",
         "SettingsLib-search",
     ],
+
+    upstream: true,
 }
 
 java_library {
     name: "Settings-robo-testutils",
-    srcs: ["src/com/android/settings/testutils/**/*.java"],
-
+    srcs: ["testutils/**/*.java"],
     libs: [
+        "Robolectric_all-target_upstream",
         "Settings-core",
-        "Robolectric_all-target",
         "mockito-robolectric-prebuilt",
-        "truth-prebuilt",
+        "truth",
     ],
 }
diff --git a/tests/robotests/AndroidManifest.xml b/tests/robotests/AndroidManifest.xml
index e0050ef..95fbfa6 100644
--- a/tests/robotests/AndroidManifest.xml
+++ b/tests/robotests/AndroidManifest.xml
@@ -1,8 +1,28 @@
+<?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.
+-->
+
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
 	  coreApp="true"
           package="com.android.settings">
+    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
 
-    <application/>
+    <application>
+        <activity android:name="com.android.settings.security.TestActivity" android:exported="true" />
+    </application>
 
 </manifest>
diff --git a/tests/robotests/assets/empty_payload_ota.zip b/tests/robotests/assets/empty_payload_ota.zip
new file mode 100644
index 0000000..c28b5df
--- /dev/null
+++ b/tests/robotests/assets/empty_payload_ota.zip
Binary files differ
diff --git a/tests/robotests/assets/exempt_slice_controller_not_in_xml b/tests/robotests/assets/exempt_slice_controller_not_in_xml
index 1708bda..4c88d5a 100644
--- a/tests/robotests/assets/exempt_slice_controller_not_in_xml
+++ b/tests/robotests/assets/exempt_slice_controller_not_in_xml
@@ -1,13 +1,20 @@
 com.android.settings.accessibility.AccessibilitySlicePreferenceController
-com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
-com.android.settings.biometrics.face.FaceSettingsAttentionPreferenceController
-com.android.settings.network.telephony.MmsMessagePreferenceController
-com.android.settings.network.telephony.AutoDataSwitchPreferenceController
-com.android.settings.network.telephony.Enhanced4gBasePreferenceController
-com.android.settings.testutils.FakeToggleController
-com.android.settings.testutils.FakeSliderController
-com.android.settings.testutils.FakeInvalidSliderController
-com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2
+com.android.settings.accessibility.MagnificationAlwaysOnPreferenceController
+com.android.settings.accessibility.MagnificationFollowTypingPreferenceController
+com.android.settings.accessibility.MagnificationJoystickPreferenceController
 com.android.settings.accessibility.ReduceBrightColorsIntensityPreferenceController
 com.android.settings.accessibility.ReduceBrightColorsPersistencePreferenceController
-
+com.android.settings.biometrics.face.FaceSettingsAttentionPreferenceController
+com.android.settings.core.TogglePreferenceControllerTest$FakeToggle
+com.android.settings.display.DeviceStateAutoRotateSettingController
+com.android.settings.display.SmartAutoRotatePreferenceController
+com.android.settings.gestures.OneHandedMainSwitchPreferenceController
+com.android.settings.network.telephony.AutoDataSwitchPreferenceController
+com.android.settings.network.telephony.Enhanced4gBasePreferenceController
+com.android.settings.network.telephony.MmsMessagePreferenceController
+com.android.settings.notification.RingVolumePreferenceController
+com.android.settings.testutils.FakeInvalidSliderController
+com.android.settings.testutils.FakeSliderController
+com.android.settings.testutils.FakeToggleController
+com.android.settings.users.GuestTelephonyPreferenceController
+com.android.settings.wifi.details2.WifiAutoConnectPreferenceController2
diff --git a/tests/robotests/assets/no_payload_ota.zip b/tests/robotests/assets/no_payload_ota.zip
new file mode 100644
index 0000000..00add65
--- /dev/null
+++ b/tests/robotests/assets/no_payload_ota.zip
Binary files differ
diff --git a/tests/robotests/assets/no_properties_ota.zip b/tests/robotests/assets/no_properties_ota.zip
new file mode 100644
index 0000000..4ca60e0
--- /dev/null
+++ b/tests/robotests/assets/no_properties_ota.zip
Binary files differ
diff --git a/tests/robotests/assets/valid_ota.zip b/tests/robotests/assets/valid_ota.zip
new file mode 100644
index 0000000..20fa2da
--- /dev/null
+++ b/tests/robotests/assets/valid_ota.zip
Binary files differ
diff --git a/tests/robotests/config/robolectric.properties b/tests/robotests/config/robolectric.properties
index ee805c4..3c8b258 100644
--- a/tests/robotests/config/robolectric.properties
+++ b/tests/robotests/config/robolectric.properties
@@ -2,3 +2,4 @@
 shadows=\
    com.android.settings.testutils.shadow.ShadowThreadUtils \
    com.android.settings.network.ShadowServiceManagerExtend
+instrumentedPackages=androidx.preference
\ No newline at end of file
diff --git a/res/raw/accessibility_screen_magnification.mp4 b/tests/robotests/res/raw/sample_video.mp4
similarity index 100%
rename from res/raw/accessibility_screen_magnification.mp4
rename to tests/robotests/res/raw/sample_video.mp4
Binary files differ
diff --git a/tests/robotests/res/values-mcc999/config.xml b/tests/robotests/res/values-mcc999/config.xml
index 82edea5..2183b47 100644
--- a/tests/robotests/res/values-mcc999/config.xml
+++ b/tests/robotests/res/values-mcc999/config.xml
@@ -38,6 +38,7 @@
     <bool name="config_show_enabled_vr_listeners">false</bool>
     <bool name="config_location_mode_available">false</bool>
     <bool name="config_show_location_scanning">false</bool>
+    <bool name="config_show_location_services">false</bool>
     <bool name="config_show_manage_device_admin">false</bool>
     <bool name="config_show_unlock_set_or_change">false</bool>
     <bool name="config_show_screen_pinning_settings">false</bool>
@@ -53,7 +54,6 @@
     <bool name="config_show_pointer_speed">false</bool>
     <bool name="config_show_vibrate_input_devices">false</bool>
     <bool name="config_show_reset_dashboard">false</bool>
-    <bool name="config_show_system_update_settings">false</bool>
     <bool name="config_show_device_model">false</bool>
     <bool name="config_show_top_level_accessibility">false</bool>
     <bool name="config_show_top_level_battery">false</bool>
diff --git a/tests/robotests/res/values/config.xml b/tests/robotests/res/values/config.xml
index 8203cf5..312d31d 100644
--- a/tests/robotests/res/values/config.xml
+++ b/tests/robotests/res/values/config.xml
@@ -20,8 +20,5 @@
     <bool name="config_show_camera_laser_sensor">true</bool>
     <bool name="config_show_connectivity_monitor">true</bool>
     <bool name="config_show_smooth_display">true</bool>
-
-    <!-- Fake dimen value for restricted icon size - needed to get around Robolectric
-         issue loading framework hidden resources -->
-    <dimen name="restricted_icon_size">24dp</dimen>
+    <bool name="config_show_location_services">true</bool>
 </resources>
diff --git a/tests/robotests/res/values/themes.xml b/tests/robotests/res/values/themes.xml
index 0fe6328..c33a3a0 100644
--- a/tests/robotests/res/values/themes.xml
+++ b/tests/robotests/res/values/themes.xml
@@ -19,13 +19,4 @@
         <item name="colorPrimaryVariant">@android:color/white</item>
     </style>
 
-    <style name="ThemeOverlay.SwitchBar.Settings" parent="@android:style/ThemeOverlay.Material.ActionBar">
-        <item name="android:textColorPrimary">@android:color/white</item>
-        <item name="switchBarMarginStart">@dimen/switchbar_subsettings_margin_start</item>
-        <item name="switchBarMarginEnd">@dimen/switchbar_subsettings_margin_end</item>
-        <item name="switchBarBackgroundColor">?android:attr/textColorSecondary</item>
-        <item name="switchBarBackgroundActivatedColor">?android:attr/colorAccent</item>
-        <item name="switchBarRestrictionIcon">@drawable/ic_help</item>
-    </style>
-
 </resources>
diff --git a/tests/robotests/res/xml-mcc999/about_legal.xml b/tests/robotests/res/xml-mcc999/about_legal.xml
deleted file mode 100644
index cbbc99a..0000000
--- a/tests/robotests/res/xml-mcc999/about_legal.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<!--
-  Copyright (C) 2017 The Android Open Source Project
-
-  Licensed under the Apache License, Version 2.0 (the "License");
-  you may not use this file except in compliance with the License.
-  You may obtain a copy of the License at
-
-       http://www.apache.org/licenses/LICENSE-2.0
-
-  Unless required by applicable law or agreed to in writing, software
-  distributed under the License is distributed on an "AS IS" BASIS,
-  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-  See the License for the specific language governing permissions and
-  limitations under the License.
-
-  -->
-
-<!--
-    WARNING: This resource file is used to test Settings Search indexing.
-    If you change something in here, please run the settings robotests and
-    make sure they still pass.
- -->
-
-<PreferenceScreen
-        xmlns:android="http://schemas.android.com/apk/res/android"
-        xmlns:settings="http://schemas.android.com/apk/res-auto"
-        android:title="bears_bears_bears"
-        settings:keywords="keywords">
-
-    <Preference
-            android:key="pref_key_1"
-            android:title="bears_bears_bears"
-            settings:controller="mind_flayer"/>
-</PreferenceScreen>
\ No newline at end of file
diff --git a/tests/robotests/res/xml-mcc999/video_preference.xml b/tests/robotests/res/xml-mcc999/video_preference.xml
index fcf5c6d..5582a65 100644
--- a/tests/robotests/res/xml-mcc999/video_preference.xml
+++ b/tests/robotests/res/xml-mcc999/video_preference.xml
@@ -20,13 +20,13 @@
     xmlns:settings="http://schemas.android.com/apk/res-auto">
     <com.android.settings.widget.VideoPreference
         android:key="video1"
-        settings:animation="@raw/gesture_assist"
-        settings:preview="@drawable/gesture_assist"
+        settings:animation="@raw/face_education"
+        settings:preview="@drawable/face_enroll_intro_illustration"
         android:title="seek_bar_title"/>
     <com.android.settings.widget.VideoPreference
         android:key="video2"
-        settings:animation="@raw/gesture_assist"
-        settings:preview="@drawable/gesture_assist"
-        settings:vectorAnimation="@drawable/gesture_assist"
+        settings:animation="@raw/face_education"
+        settings:preview="@drawable/face_enroll_intro_illustration"
+        settings:vectorAnimation="@drawable/face_enroll_intro_illustration"
         android:title="seek_bar_title"/>
 </PreferenceScreen >
diff --git a/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker
index 55104ea..341f4d9 100644
--- a/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker
+++ b/tests/robotests/resources/META-INF/services/androidx.test.internal.platform.ThreadChecker
@@ -1 +1 @@
-org.robolectric.android.internal.NoOpThreadChecker
+org.robolectric.android.internal.RobolectricThreadChecker
diff --git a/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java b/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
deleted file mode 100644
index f4a20fe..0000000
--- a/tests/robotests/src/com/android/settings/AllInOneTetherSettingsTest.java
+++ /dev/null
@@ -1,242 +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;
-
-import static com.android.settings.AllInOneTetherSettings.BLUETOOTH_TETHER_KEY;
-import static com.android.settings.AllInOneTetherSettings.ETHERNET_TETHER_KEY;
-import static com.android.settings.AllInOneTetherSettings.EXPANDED_CHILD_COUNT_DEFAULT;
-import static com.android.settings.AllInOneTetherSettings.EXPANDED_CHILD_COUNT_MAX;
-import static com.android.settings.AllInOneTetherSettings.EXPANDED_CHILD_COUNT_WITH_SECURITY_NON;
-import static com.android.settings.AllInOneTetherSettings.USB_TETHER_KEY;
-import static com.android.settings.AllInOneTetherSettings.WIFI_TETHER_DISABLE_KEY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.ConnectivityManager;
-import android.net.EthernetManager;
-import android.net.TetheringManager;
-import android.net.wifi.SoftApConfiguration;
-import android.net.wifi.WifiManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.util.FeatureFlagUtils;
-
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.core.FeatureFlags;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.wifi.repository.WifiHotspotRepository;
-import com.android.settings.wifi.tether.WifiTetherAutoOffPreferenceController;
-import com.android.settings.wifi.tether.WifiTetherSecurityPreferenceController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class AllInOneTetherSettingsTest {
-    private static final String[] WIFI_REGEXS = {"wifi_regexs"};
-    private static final String[] USB_REGEXS = {"usb_regexs"};
-    private static final String[] BT_REGEXS = {"bt_regexs"};
-    private static final String[] ETHERNET_REGEXS = {"ethernet_regexs"};
-
-    private Context mContext;
-    private AllInOneTetherSettings mAllInOneTetherSettings;
-
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private ConnectivityManager mConnectivityManager;
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private WifiTetherSecurityPreferenceController mSecurityPreferenceController;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private PreferenceGroup mWifiTetherGroup;
-    @Mock
-    private EthernetManager mEthernetManager;
-
-    @Before
-    public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
-
-        MockitoAnnotations.initMocks(this);
-        when(FakeFeatureFactory.setupForTest().getWifiFeatureProvider().getWifiHotspotRepository())
-                .thenReturn(mock(WifiHotspotRepository.class));
-        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
-        doReturn(mConnectivityManager)
-                .when(mContext).getSystemService(Context.CONNECTIVITY_SERVICE);
-        doReturn(mTetheringManager)
-                .when(mContext).getSystemService(Context.TETHERING_SERVICE);
-        doReturn(mEthernetManager).when(mContext).getSystemService(EthernetManager.class);
-        doReturn(WIFI_REGEXS).when(mTetheringManager).getTetherableWifiRegexs();
-        doReturn(USB_REGEXS).when(mTetheringManager).getTetherableUsbRegexs();
-        doReturn(BT_REGEXS).when(mTetheringManager).getTetherableBluetoothRegexs();
-        doReturn(ETHERNET_REGEXS).when(mTetheringManager).getTetherableIfaces();
-        doReturn(mUserManager).when(mContext).getSystemService(Context.USER_SERVICE);
-        // Assume the feature is enabled for most test cases.
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, true);
-        mAllInOneTetherSettings = spy(new AllInOneTetherSettings());
-        doReturn(mPreferenceScreen).when(mAllInOneTetherSettings).getPreferenceScreen();
-        ReflectionHelpers.setField(mAllInOneTetherSettings, "mLifecycle", mock(Lifecycle.class));
-        ReflectionHelpers.setField(mAllInOneTetherSettings, "mSecurityPreferenceController",
-                mSecurityPreferenceController);
-        ReflectionHelpers.setField(mAllInOneTetherSettings, "mWifiTetherGroup", mWifiTetherGroup);
-    }
-
-    @Test
-    public void getNonIndexableKeys_tetherAvailable_featureEnabled_keysReturnedCorrectly() {
-        // To let TetherUtil.isTetherAvailable return true, select one of the combinations
-        setupIsTetherAvailable(true);
-
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, true);
-        final List<String> niks =
-                AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-
-        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(niks).doesNotContain(
-                AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
-        assertThat(niks).doesNotContain(AllInOneTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(niks).doesNotContain(BLUETOOTH_TETHER_KEY);
-        assertThat(niks).doesNotContain(USB_TETHER_KEY);
-        assertThat(niks).doesNotContain(ETHERNET_TETHER_KEY);
-
-        // This key should be returned because it's not visible by default.
-        assertThat(niks).contains(WIFI_TETHER_DISABLE_KEY);
-    }
-
-    @Test
-    public void getNonIndexableKeys_tetherAvailable_featureDisabled_keysReturned() {
-        setupIsTetherAvailable(true);
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
-
-        final List<String> niks =
-                AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(niks).contains(WIFI_TETHER_DISABLE_KEY);
-        assertThat(niks).contains(BLUETOOTH_TETHER_KEY);
-        assertThat(niks).contains(USB_TETHER_KEY);
-        assertThat(niks).contains(ETHERNET_TETHER_KEY);
-    }
-
-    @Test
-    public void getNonIndexableKeys_tetherNotAvailable_keysReturned() {
-        // To let TetherUtil.isTetherAvailable return false, select one of the combinations
-        setupIsTetherAvailable(false);
-
-        final List<String> niks =
-                AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(mContext);
-
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_NAME);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_PASSWORD);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_AUTO_OFF);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_NETWORK_AP_BAND);
-        assertThat(niks).contains(AllInOneTetherSettings.KEY_WIFI_TETHER_SECURITY);
-        assertThat(niks).contains(WIFI_TETHER_DISABLE_KEY);
-        assertThat(niks).doesNotContain(BLUETOOTH_TETHER_KEY);
-        assertThat(niks).doesNotContain(USB_TETHER_KEY);
-        assertThat(niks).doesNotContain(ETHERNET_TETHER_KEY);
-    }
-
-    @Test
-    public void getPreferenceControllers_notEmpty() {
-        assertThat(AllInOneTetherSettings.SEARCH_INDEX_DATA_PROVIDER
-                .getPreferenceControllers(mContext)).isNotEmpty();
-    }
-
-    @Ignore
-    @Test
-    public void createPreferenceControllers_hasAutoOffPreference() {
-        assertThat(mAllInOneTetherSettings.createPreferenceControllers(mContext)
-                .stream()
-                .filter(controller -> controller instanceof WifiTetherAutoOffPreferenceController)
-                .count())
-                .isEqualTo(1);
-    }
-
-    @Test
-    public void getInitialChildCount_withSecurity() {
-        when(mSecurityPreferenceController.getSecurityType())
-                .thenReturn(SoftApConfiguration.SECURITY_TYPE_WPA2_PSK);
-        assertThat(mAllInOneTetherSettings.getInitialExpandedChildCount()).isEqualTo(
-                EXPANDED_CHILD_COUNT_DEFAULT);
-    }
-
-    @Test
-    public void getInitialChildCount_withoutSecurity() {
-        when(mSecurityPreferenceController.getSecurityType())
-                .thenReturn(SoftApConfiguration.SECURITY_TYPE_OPEN);
-        assertThat(mAllInOneTetherSettings.getInitialExpandedChildCount()).isEqualTo(
-                EXPANDED_CHILD_COUNT_WITH_SECURITY_NON);
-    }
-
-    @Test
-    public void getInitialExpandedChildCount_expandAllChild() {
-        assertThat(mAllInOneTetherSettings.getInitialExpandedChildCount())
-                .isNotEqualTo(EXPANDED_CHILD_COUNT_MAX);
-        ReflectionHelpers.setField(mAllInOneTetherSettings, "mShouldShowWifiConfig", false);
-        assertThat(mAllInOneTetherSettings.getInitialExpandedChildCount())
-                .isEqualTo(EXPANDED_CHILD_COUNT_MAX);
-        ReflectionHelpers.setField(mAllInOneTetherSettings, "mShouldShowWifiConfig", true);
-        assertThat(mAllInOneTetherSettings.getInitialExpandedChildCount())
-                .isEqualTo(EXPANDED_CHILD_COUNT_MAX);
-    }
-
-    private void setupIsTetherAvailable(boolean returnValue) {
-        when(mConnectivityManager.isTetheringSupported()).thenReturn(true);
-
-        // For RestrictedLockUtils.checkIfRestrictionEnforced
-        final int userId = UserHandle.myUserId();
-        List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();
-        when(mUserManager.getUserRestrictionSources(
-                UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.of(userId)))
-                .thenReturn(enforcingUsers);
-
-        // For RestrictedLockUtils.hasBaseUserRestriction
-        when(mUserManager.hasBaseUserRestriction(
-                UserManager.DISALLOW_CONFIG_TETHERING, UserHandle.of(userId)))
-                .thenReturn(!returnValue);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
index e251669..1259821 100644
--- a/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/DisplaySettingsTest.java
@@ -4,15 +4,14 @@
 
 import android.content.Context;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.testutils.XmlTestUtils;
-import com.android.settings.testutils.shadow.ShadowPowerManager;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 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;
@@ -21,9 +20,8 @@
 public class DisplaySettingsTest {
 
     @Test
-    @Config(shadows = ShadowPowerManager.class)
     public void testPreferenceControllers_getPreferenceKeys_existInPreferenceScreen() {
-        final Context context = RuntimeEnvironment.application;
+        final Context context = ApplicationProvider.getApplicationContext();
         final DisplaySettings fragment = new DisplaySettings();
         final List<String> preferenceScreenKeys = XmlTestUtils.getKeysFromPreferenceXml(context,
                 fragment.getPreferenceScreenResId());
diff --git a/tests/robotests/src/com/android/settings/MainClearConfirmTest.java b/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
index 41aec0b..b866c96 100644
--- a/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
+++ b/tests/robotests/src/com/android/settings/MainClearConfirmTest.java
@@ -31,8 +31,6 @@
 
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,10 +38,14 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class MainClearConfirmTest {
 
     private FragmentActivity mActivity;
@@ -62,8 +64,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = spy((FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get());
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mMainClearConfirm = spy(new MainClearConfirm());
     }
 
diff --git a/tests/robotests/src/com/android/settings/MainClearTest.java b/tests/robotests/src/com/android/settings/MainClearTest.java
index d1e9408..e84d4eb 100644
--- a/tests/robotests/src/com/android/settings/MainClearTest.java
+++ b/tests/robotests/src/com/android/settings/MainClearTest.java
@@ -50,8 +50,8 @@
 
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 import org.junit.After;
@@ -66,11 +66,15 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowActivity;
-import org.robolectric.shadows.ShadowUserManager;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUtils.class)
+@Config(shadows = {
+        ShadowUtils.class,
+        ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class MainClearTest {
 
     private static final String TEST_ACCOUNT_TYPE = "android.test.account.type";
@@ -108,11 +112,10 @@
             @Override
             boolean showAnySubscriptionInfo(Context context) { return true; }
         });
-        mActivity = spy((FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get());
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mShadowActivity = Shadows.shadowOf(mActivity);
         UserManager userManager = mActivity.getSystemService(UserManager.class);
-        mShadowUserManager = Shadows.shadowOf(userManager);
+        mShadowUserManager = Shadow.extract(userManager);
         mShadowUserManager.setIsAdminUser(true);
         mContentView = LayoutInflater.from(mActivity).inflate(R.layout.main_clear, null);
 
@@ -146,7 +149,6 @@
                 .isTrue();
     }
 
-    @Ignore
     @Test
     public void testShowFinalConfirmation_eraseEsimVisible_eraseEsimUnchecked() {
         final Context context = mock(Context.class);
@@ -232,7 +234,7 @@
         assertThat(mMainClear.showWipeEuicc()).isTrue();
     }
 
-    @Ignore
+    @Ignore("b/313566998")
     @Test
     public void testShowWipeEuicc_developerMode_unprovisioned() {
         prepareEuiccState(
diff --git a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java b/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
index 3b51ca8..9ade776 100644
--- a/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
+++ b/tests/robotests/src/com/android/settings/ResetNetworkConfirmTest.java
@@ -18,8 +18,14 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
+import android.content.Context;
+import android.os.Looper;
 import android.view.LayoutInflater;
 import android.widget.TextView;
 
@@ -27,10 +33,10 @@
 
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowRecoverySystem;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 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;
@@ -38,8 +44,10 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowRecoverySystem.class, ShadowBluetoothAdapter.class})
 public class ResetNetworkConfirmTest {
 
@@ -55,8 +63,7 @@
         MockitoAnnotations.initMocks(this);
 
         mResetNetworkConfirm = new ResetNetworkConfirm();
-        mActivity = spy((FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
         mResetNetworkConfirm.mActivity = mActivity;
     }
 
diff --git a/tests/robotests/src/com/android/settings/ResetNetworkTest.java b/tests/robotests/src/com/android/settings/ResetNetworkTest.java
index 0689e4a..0c2c7e8 100644
--- a/tests/robotests/src/com/android/settings/ResetNetworkTest.java
+++ b/tests/robotests/src/com/android/settings/ResetNetworkTest.java
@@ -27,8 +27,6 @@
 import android.view.View;
 import android.widget.CheckBox;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
@@ -43,8 +41,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
         mResetNetwork = spy(new ResetNetwork());
         when(mResetNetwork.getContext()).thenReturn(mActivity);
         mResetNetwork.mEsimContainer = new View(mActivity);
diff --git a/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java b/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java
index 232933c..9660b9d 100644
--- a/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/RestrictedListPreferenceTest.java
@@ -30,7 +30,6 @@
 import android.util.AttributeSet;
 
 import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.RestrictedPreferenceHelper;
 
 import org.junit.Before;
@@ -59,8 +58,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
         mShadowKeyguardManager =
                 Shadows.shadowOf(application.getSystemService(KeyguardManager.class));
         mMockHelper = mock(RestrictedPreferenceHelper.class);
diff --git a/tests/robotests/src/com/android/settings/SettingsActivityTest.java b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
index 696fd4c..89f8449 100644
--- a/tests/robotests/src/com/android/settings/SettingsActivityTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsActivityTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings;
 
-import static android.provider.Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI;
-
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -32,7 +30,6 @@
 import android.app.ActivityManager;
 import android.content.Context;
 import android.content.Intent;
-import android.net.Uri;
 
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentManager;
@@ -52,7 +49,6 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -118,29 +114,6 @@
         assertThat(((ListenerFragment) fragments.get(1)).mOnActivityResultCalled).isTrue();
     }
 
-    @Test
-    public void getTrampolineIntent_intentSelector_shouldNotChangeIntentAction() {
-        Intent targetIntent = new Intent().setClassName("android",
-                "com.android.internal.app.PlatLogoActivity");
-        Intent intent = new Intent(android.provider.Settings.ACTION_DISPLAY_SETTINGS);
-        intent.setComponent(intent.resolveActivity(mContext.getPackageManager()));
-        intent.setSelector(new Intent().setData(
-                Uri.fromParts(targetIntent.toUri(Intent.URI_INTENT_SCHEME), /* ssp= */ "",
-                /* fragment= */ null)));
-
-        Intent resultIntent = SettingsActivity.getTrampolineIntent(intent, "menu_key");
-
-        String intentUriString =
-                resultIntent.getStringExtra(EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI);
-        Intent parsedIntent = null;
-        try {
-            parsedIntent = Intent.parseUri(intentUriString, Intent.URI_INTENT_SCHEME);
-        } catch (URISyntaxException e) {
-            // Do nothng.
-        }
-        assertThat(parsedIntent.getAction()).isEqualTo(intent.getAction());
-    }
-
     public static class ListenerFragment extends Fragment implements OnActivityResultListener {
 
         private boolean mOnActivityResultCalled;
diff --git a/tests/robotests/src/com/android/settings/SettingsDumpServiceTest.java b/tests/robotests/src/com/android/settings/SettingsDumpServiceTest.java
index 2e5c144..e44d528 100644
--- a/tests/robotests/src/com/android/settings/SettingsDumpServiceTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsDumpServiceTest.java
@@ -29,12 +29,7 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 
-import com.android.settings.fuelgauge.batterytip.AnomalyConfigJobService;
-
-import org.json.JSONException;
-import org.json.JSONObject;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -85,23 +80,6 @@
     }
 
     @Test
-    public void testDumpAnomalyDetection_returnAnomalyInfo() throws JSONException {
-        final SharedPreferences sharedPreferences =
-                RuntimeEnvironment.application.getSharedPreferences(AnomalyConfigJobService.PREF_DB,
-                        Context.MODE_PRIVATE);
-        SharedPreferences.Editor editor = sharedPreferences.edit();
-        editor.putInt(AnomalyConfigJobService.KEY_ANOMALY_CONFIG_VERSION, ANOMALY_VERSION);
-        editor.commit();
-        doReturn(sharedPreferences).when(mTestService).getSharedPreferences(anyString(), anyInt());
-
-        final JSONObject jsonObject = mTestService.dumpAnomalyDetection();
-
-        assertThat(jsonObject.getInt(AnomalyConfigJobService.KEY_ANOMALY_CONFIG_VERSION)).isEqualTo(
-                ANOMALY_VERSION);
-    }
-
-    @Ignore
-    @Test
     public void testDump_printServiceAsKey() {
         mResolveInfo.activityInfo = new ActivityInfo();
         mResolveInfo.activityInfo.packageName = PACKAGE_BROWSER;
diff --git a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
index 6489311..627d52f 100644
--- a/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/SettingsPreferenceFragmentTest.java
@@ -40,7 +40,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.widget.WorkOnlyCategory;
 
 import org.junit.After;
@@ -55,6 +54,9 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class SettingsPreferenceFragmentTest {
 
     private static final int ITEM_COUNT = 5;
@@ -166,7 +168,6 @@
     }
 
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onCreate_hasExtraFragmentKey_shouldExpandPreferences() {
         doReturn(mContext.getTheme()).when(mActivity).getTheme();
         doReturn(mContext.getResources()).when(mFragment).getResources();
@@ -181,7 +182,6 @@
     }
 
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onCreate_noPreferenceScreen_shouldNotCrash() {
         doReturn(mContext.getTheme()).when(mActivity).getTheme();
         doReturn(mContext.getResources()).when(mFragment).getResources();
diff --git a/tests/robotests/src/com/android/settings/UtilsTest.java b/tests/robotests/src/com/android/settings/UtilsTest.java
index 733a5e6..0c555da 100644
--- a/tests/robotests/src/com/android/settings/UtilsTest.java
+++ b/tests/robotests/src/com/android/settings/UtilsTest.java
@@ -16,15 +16,10 @@
 
 package com.android.settings;
 
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PASSWORD;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PATTERN;
-import static android.app.admin.DevicePolicyResources.Strings.Settings.WORK_PROFILE_CONFIRM_PIN;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertThrows;
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
@@ -399,45 +394,33 @@
     }
 
     @Test
-    public void getConfirmCredentialStringForUser_workPin_shouldReturnCorrectString() {
+    public void getConfirmCredentialStringForUser_workPin_shouldReturnNull() {
         setUpForConfirmCredentialString(true /* isEffectiveUserManagedProfile */);
 
-        when(mDevicePolicyResourcesManager
-                .getString(eq(WORK_PROFILE_CONFIRM_PIN), any()))
-                .thenReturn("WORK PIN");
-
         String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
                 USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PIN);
 
-        assertThat(confirmCredentialString).isEqualTo("WORK PIN");
+        assertNull(confirmCredentialString);
     }
 
     @Test
-    public void getConfirmCredentialStringForUser_workPattern_shouldReturnCorrectString() {
+    public void getConfirmCredentialStringForUser_workPattern_shouldReturnNull() {
         setUpForConfirmCredentialString(true /* isEffectiveUserManagedProfile */);
 
-        when(mDevicePolicyResourcesManager
-                .getString(eq(WORK_PROFILE_CONFIRM_PATTERN), any()))
-                .thenReturn("WORK PATTERN");
-
         String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
                 USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PATTERN);
 
-        assertThat(confirmCredentialString).isEqualTo("WORK PATTERN");
+        assertNull(confirmCredentialString);
     }
 
     @Test
-    public void getConfirmCredentialStringForUser_workPassword_shouldReturnCorrectString() {
+    public void getConfirmCredentialStringForUser_workPassword_shouldReturnNull() {
         setUpForConfirmCredentialString(true /* isEffectiveUserManagedProfile */);
 
-        when(mDevicePolicyResourcesManager
-                .getString(eq(WORK_PROFILE_CONFIRM_PASSWORD), any()))
-                .thenReturn("WORK PASSWORD");
-
         String confirmCredentialString = Utils.getConfirmCredentialStringForUser(mContext,
                 USER_ID, LockPatternUtils.CREDENTIAL_TYPE_PASSWORD);
 
-        assertThat(confirmCredentialString).isEqualTo("WORK PASSWORD");
+        assertNull(confirmCredentialString);
     }
 
     @Test
@@ -454,7 +437,5 @@
         when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mMockUserManager);
         when(mMockUserManager.getCredentialOwnerProfile(USER_ID)).thenReturn(USER_ID);
         when(mMockUserManager.isManagedProfile(USER_ID)).thenReturn(isEffectiveUserManagedProfile);
-        when(mContext.getSystemService(DevicePolicyManager.class)).thenReturn(mDevicePolicyManager);
-        when(mDevicePolicyManager.getResources()).thenReturn(mDevicePolicyResourcesManager);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java
index 7354555..f6954d2 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFooterPreferenceControllerTest.java
@@ -25,6 +25,8 @@
 
 import android.content.Context;
 import android.content.res.Resources;
+import android.icu.text.MessageFormat;
+import android.text.Html;
 
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
@@ -73,18 +75,26 @@
 
         mController.displayPreference(mScreen);
 
-        assertThat(mPreference.getTitle()).isEqualTo(
-                mContext.getText(R.string.accessibility_button_gesture_description));
+        assertThat(mPreference.getTitle().toString()).isEqualTo(
+                Html.fromHtml(
+                        MessageFormat.format(mContext.getString(
+                                R.string.accessibility_button_gesture_description), 1, 2, 3),
+                        Html.FROM_HTML_MODE_COMPACT).toString());
     }
 
     @Test
     public void displayPreference_navigationGestureDisabled_setCorrectTitle() {
-        when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
-                .thenReturn(NAV_BAR_MODE_2BUTTON);
+        when(mResources.getInteger(
+                com.android.internal.R.integer.config_navBarInteractionMode)).thenReturn(
+                NAV_BAR_MODE_2BUTTON);
 
         mController.displayPreference(mScreen);
 
-        assertThat(mPreference.getTitle()).isEqualTo(
-                mContext.getText(R.string.accessibility_button_description));
+        assertThat(mPreference.getTitle().toString()).isEqualTo(
+                Html.fromHtml(
+                        MessageFormat.format(
+                                mContext.getString(
+                                        R.string.accessibility_button_description), 1, 2, 3),
+                        Html.FROM_HTML_MODE_COMPACT).toString());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFragmentTest.java
index 91e4ece..e9e20a4 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonFragmentTest.java
@@ -39,7 +39,6 @@
 import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -53,7 +52,6 @@
 import java.util.List;
 
 /** Tests for {@link AccessibilityButtonFragment}. */
-@Ignore
 @Config(shadows = ShadowFragment.class)
 @RunWith(RobolectricTestRunner.class)
 public class AccessibilityButtonFragmentTest {
@@ -69,6 +67,7 @@
     @Before
     public void setUp() {
         mFragment = spy(new TestAccessibilityButtonFragment(mContext));
+        when(mContext.getResources()).thenReturn(mResources);
         when(mFragment.getResources()).thenReturn(mResources);
         when(mFragment.getActivity()).thenReturn(Robolectric.setupActivity(FragmentActivity.class));
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreferenceControllerTest.java
index 03f7887..ded9bcc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityButtonPreferenceControllerTest.java
@@ -31,6 +31,7 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -42,6 +43,9 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.ArrayList;
+import java.util.List;
+
 /** Tests for {@link AccessibilityButtonPreferenceController}. */
 @RunWith(RobolectricTestRunner.class)
 public class AccessibilityButtonPreferenceControllerTest {
@@ -88,4 +92,36 @@
         assertThat(mPreference.getTitle()).isEqualTo(
                 mContext.getText(R.string.accessibility_button_title));
     }
+
+    @Test
+    public void updateDynamicRawDataToIndex_navigationGestureEnabled_setCorrectIndex() {
+        when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
+                .thenReturn(NAV_BAR_MODE_GESTURAL);
+        List<SearchIndexableRaw> rawDataList = new ArrayList<>();
+
+        mController.updateDynamicRawDataToIndex(rawDataList);
+
+        assertThat(rawDataList).hasSize(1);
+        SearchIndexableRaw raw = rawDataList.get(0);
+        assertThat(raw.title).isEqualTo(
+                mResources.getString(R.string.accessibility_button_gesture_title));
+        assertThat(raw.screenTitle).isEqualTo(
+                mResources.getString(R.string.accessibility_shortcuts_settings_title));
+    }
+
+    @Test
+    public void updateDynamicRawDataToIndex_navigationGestureDisabled_setCorrectIndex() {
+        when(mResources.getInteger(com.android.internal.R.integer.config_navBarInteractionMode))
+                .thenReturn(NAV_BAR_MODE_2BUTTON);
+        List<SearchIndexableRaw> rawDataList = new ArrayList<>();
+
+        mController.updateDynamicRawDataToIndex(rawDataList);
+
+        assertThat(rawDataList).hasSize(1);
+        SearchIndexableRaw raw = rawDataList.get(0);
+        assertThat(raw.title).isEqualTo(
+                mResources.getString(R.string.accessibility_button_title));
+        assertThat(raw.screenTitle).isEqualTo(
+                mResources.getString(R.string.accessibility_shortcuts_settings_title));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
index bf29c95..d88a83e 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDetailsSettingsFragmentTest.java
@@ -22,13 +22,9 @@
 
 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.spy;
-import static org.mockito.Mockito.verify;
-
 import android.accessibilityservice.AccessibilityServiceInfo;
+import android.app.Activity;
+import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
 import android.content.ComponentName;
 import android.content.Context;
@@ -36,27 +32,25 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
-import android.os.Bundle;
-import android.util.FeatureFlagUtils;
 import android.view.accessibility.AccessibilityManager;
 
-import androidx.fragment.app.FragmentActivity;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.SettingsActivity;
-import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
+
+import com.google.common.collect.ImmutableList;
 
 import org.junit.Before;
 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.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowAccessibilityManager;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
@@ -64,136 +58,137 @@
 import java.util.List;
 
 /** Tests for {@link AccessibilityDetailsSettingsFragment}. */
-@Config(shadows = ShadowFragment.class)
+@Config(shadows = {
+        ShadowDevicePolicyManager.class,
+        ShadowRestrictedLockUtilsInternal.class
+})
 @RunWith(RobolectricTestRunner.class)
 public class AccessibilityDetailsSettingsFragmentTest {
-    private final static String PACKAGE_NAME = "com.foo.bar";
-    private final static String CLASS_NAME = PACKAGE_NAME + ".fake_a11y_service";
-    private final static String COMPONENT_NAME = PACKAGE_NAME + "/" + CLASS_NAME;
+    private static final String PACKAGE_NAME = "com.foo.bar";
+    private static final String CLASS_NAME = PACKAGE_NAME + ".fake_a11y_service";
+    private static final String COMPONENT_NAME = PACKAGE_NAME + "/" + CLASS_NAME;
 
     private Context mContext;
-    private AccessibilityDetailsSettingsFragment mFragment;
-    private ShadowAccessibilityManager mShadowAccessibilityManager;
-    @Captor
-    private ArgumentCaptor<Intent> mIntentArgumentCaptor;
-    @Mock private FragmentActivity mActivity;
+
+    private FragmentController<AccessibilityDetailsSettingsFragment> mFragmentController;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mFragment = spy(new AccessibilityDetailsSettingsFragment());
-        mShadowAccessibilityManager = Shadow.extract(AccessibilityManager.getInstance(mContext));
-        mShadowAccessibilityManager.setInstalledAccessibilityServiceList(getMockServiceList());
-
-        doReturn(mActivity).when(mFragment).getActivity();
-        doReturn(mContext).when(mFragment).getContext();
+        mContext = ApplicationProvider.getApplicationContext();
+        ShadowAccessibilityManager shadowAccessibilityManager = Shadow.extract(
+                AccessibilityManager.getInstance(mContext));
+        shadowAccessibilityManager.setInstalledAccessibilityServiceList(getMockServiceList());
     }
 
     @Test
     public void onCreate_afterSuccessfullyLaunch_shouldBeFinished() {
         final Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
-        doReturn(intent).when(mActivity).getIntent();
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-        verify(mActivity).finish();
+        assertThat(fragment.getActivity().isFinishing()).isTrue();
     }
 
     @Test
     public void onCreate_hasValidExtraComponentName_launchExpectedFragment() {
-        final Intent intent = new Intent();
+        Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
-        doReturn(intent).when(mActivity).getIntent();
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-        assertStartActivityWithExpectedFragment(mActivity,
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
                 ToggleAccessibilityServicePreferenceFragment.class.getName());
     }
 
     @Test
     public void onCreate_hasInvalidExtraComponentName_launchAccessibilitySettings() {
-        final Intent intent = new Intent();
+        Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME, PACKAGE_NAME + "/.service");
-        doReturn(intent).when(mActivity).getIntent();
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-        assertStartActivityWithExpectedFragment(mActivity, AccessibilitySettings.class.getName());
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
+                AccessibilitySettings.class.getName());
     }
 
     @Test
     public void onCreate_hasNoExtraComponentName_launchAccessibilitySettings() {
-        final Intent intent = new Intent();
-        doReturn(intent).when(mActivity).getIntent();
+        AccessibilityDetailsSettingsFragment fragment = startFragment(/* intent= */ null);
 
-        mFragment.onCreate(Bundle.EMPTY);
-
-        assertStartActivityWithExpectedFragment(mActivity, AccessibilitySettings.class.getName());
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
+                AccessibilitySettings.class.getName());
     }
 
     @Test
     public void onCreate_extraComponentNameIsDisallowed_launchAccessibilitySettings() {
-        final Intent intent = new Intent();
+        Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME, COMPONENT_NAME);
-        doReturn(intent).when(mActivity).getIntent();
-        doReturn(false).when(mFragment).isServiceAllowed(anyInt(), any());
+        DevicePolicyManager dpm = mContext.getSystemService(
+                DevicePolicyManager.class);
+        ((ShadowDevicePolicyManager) Shadows.shadowOf(dpm)).setPermittedAccessibilityServices(
+                ImmutableList.of());
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-        assertStartActivityWithExpectedFragment(mActivity, AccessibilitySettings.class.getName());
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
+                AccessibilitySettings.class.getName());
     }
 
     @Test
     public void onCreate_magnificationComponentName_launchMagnificationFragment() {
-        final Intent intent = new Intent();
+        Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
                 MAGNIFICATION_COMPONENT_NAME.flattenToString());
-        doReturn(intent).when(mActivity).getIntent();
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-
-        assertStartActivityWithExpectedFragment(mActivity,
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
                 ToggleScreenMagnificationPreferenceFragment.class.getName());
     }
 
     @Test
     public void onCreate_accessibilityButton_launchAccessibilityButtonFragment() {
-        final Intent intent = new Intent();
+        Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
                 ACCESSIBILITY_BUTTON_COMPONENT_NAME.flattenToString());
-        doReturn(intent).when(mActivity).getIntent();
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-        assertStartActivityWithExpectedFragment(mActivity,
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
                 AccessibilityButtonFragment.class.getName());
     }
 
     @Test
     public void onCreate_hearingAidsComponentName_launchAccessibilityHearingAidsFragment() {
-        FeatureFlagUtils.setEnabled(mContext,
-                FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
-        final Intent intent = new Intent();
+        Intent intent = new Intent();
         intent.putExtra(Intent.EXTRA_COMPONENT_NAME,
                 ACCESSIBILITY_HEARING_AIDS_COMPONENT_NAME.flattenToString());
-        doReturn(intent).when(mActivity).getIntent();
 
-        mFragment.onCreate(Bundle.EMPTY);
+        AccessibilityDetailsSettingsFragment fragment = startFragment(intent);
 
-        assertStartActivityWithExpectedFragment(mActivity,
+        assertStartActivityWithExpectedFragment(fragment.getActivity(),
                 AccessibilityHearingAidsFragment.class.getName());
     }
 
     @Test
     public void getMetricsCategory_returnsCorrectCategory() {
-        assertThat(mFragment.getMetricsCategory()).isEqualTo(
+
+        AccessibilityDetailsSettingsFragment fragment = startFragment(/* intent= */ null);
+
+        assertThat(fragment.getMetricsCategory()).isEqualTo(
                 SettingsEnums.ACCESSIBILITY_DETAILS_SETTINGS);
     }
 
+    private AccessibilityDetailsSettingsFragment startFragment(Intent intent) {
+        mFragmentController = FragmentController.of(
+                new AccessibilityDetailsSettingsFragment(), intent)
+                .create()
+                .visible();
+
+        return mFragmentController.get();
+    }
+
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
         final ServiceInfo serviceInfo = new ServiceInfo();
@@ -224,10 +219,9 @@
         return infoList;
     }
 
-    private void assertStartActivityWithExpectedFragment(Context mockContext, String fragmentName) {
-        verify(mockContext).startActivity(mIntentArgumentCaptor.capture());
-        assertThat(mIntentArgumentCaptor.getValue()
-                .getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
-                .isEqualTo(fragmentName);
+    private void assertStartActivityWithExpectedFragment(Activity activity, String fragmentName) {
+        Intent intent = Shadows.shadowOf(activity).getNextStartedActivity();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(
+                fragmentName);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
index 4922eab..ad53ad6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityDialogUtilsTest.java
@@ -24,8 +24,6 @@
 import androidx.appcompat.app.AlertDialog;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -39,7 +37,7 @@
 
     @Before
     public void setUp() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
index aef9143..5cf4d94 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceControllerTest.java
@@ -72,7 +72,8 @@
         mPreference.setTitle(TEST_TITLE);
 
         final LayoutInflater inflater = LayoutInflater.from(mContext);
-        final View view = inflater.inflate(R.layout.preference_footer, null);
+        final View view = inflater.inflate(
+                com.android.settingslib.widget.preference.footer.R.layout.preference_footer, null);
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
         mPreference.onBindViewHolder(mPreferenceViewHolder);
 
@@ -116,7 +117,7 @@
         mPreference.onBindViewHolder(mPreferenceViewHolder);
 
         final TextView learnMoreView = (TextView) mPreferenceViewHolder
-                .findViewById(com.android.settingslib.R.id.settingslib_learn_more);
+                .findViewById(com.android.settingslib.widget.preference.footer.R.id.settingslib_learn_more);
         assertThat(learnMoreView.getContentDescription()).isNull();
         assertThat(learnMoreView.getVisibility()).isEqualTo(View.GONE);
         assertThat(mPreference.isLinkEnabled()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java
index 0f83bc3..c4476769 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityFooterPreferenceTest.java
@@ -26,8 +26,6 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -48,7 +46,7 @@
 
         final LayoutInflater inflater = LayoutInflater.from(context);
         final View view =
-                inflater.inflate(R.layout.preference_footer, null);
+                inflater.inflate(com.android.settingslib.widget.preference.footer.R.layout.preference_footer, null);
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(view);
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
index 5bc7f18..d6a2492 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityGestureNavigationTutorialTest.java
@@ -32,12 +32,15 @@
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.Intent;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.view.View;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
+import com.android.server.accessibility.Flags;
 import com.android.settings.SettingsActivity;
 import com.android.settings.SubSettings;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
@@ -51,13 +54,17 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 
 /** Tests for {@link AccessibilityGestureNavigationTutorial}. */
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class AccessibilityGestureNavigationTutorialTest {
 
     @Rule
     public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
     @Mock
     private DialogInterface.OnClickListener mOnClickListener;
     @Mock
@@ -67,7 +74,7 @@
 
     @Before
     public void setUp() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mShortcutTypes = /* initial */ 0;
     }
 
@@ -89,6 +96,19 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void createTutorialPages_turnOnTwoFingerTripleTapShortcut_hasOnePage() {
+        mShortcutTypes |= UserShortcutType.TWOFINGERTRIPLETAP;
+
+        final AlertDialog alertDialog =
+                createAccessibilityTutorialDialog(mContext, mShortcutTypes);
+
+        assertThat(createShortcutTutorialPages(mContext,
+                mShortcutTypes)).hasSize(/* expectedSize= */ 1);
+        assertThat(alertDialog).isNotNull();
+    }
+
+    @Test
     public void createTutorialPages_turnOnSoftwareShortcut_hasOnePage() {
         mShortcutTypes |= UserShortcutType.SOFTWARE;
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
index c68e90b..bb15378 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityHearingAidPreferenceControllerTest.java
@@ -18,12 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
+import android.app.Application;
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothHapClient;
@@ -51,7 +50,6 @@
 
 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;
@@ -108,7 +106,7 @@
 
     @Before
     public void setUp() {
-        mShadowApplication = ShadowApplication.getInstance();
+        mShadowApplication = shadowOf((Application) ApplicationProvider.getApplicationContext());
         setupEnvironment();
 
         mHearingAidPreference = new Preference(mContext);
@@ -246,32 +244,6 @@
                 mContext.getText(R.string.accessibility_hearingaid_not_connected_summary));
     }
 
-    @Ignore
-    @Test
-    public void handleHearingAidPreferenceClick_noHearingAid_launchHearingAidInstructionDialog() {
-        mPreferenceController = spy(new AccessibilityHearingAidPreferenceController(mContext,
-                HEARING_AID_PREFERENCE));
-        mPreferenceController.setPreference(mHearingAidPreference);
-        doNothing().when(mPreferenceController).launchHearingAidInstructionDialog();
-        mPreferenceController.handlePreferenceTreeClick(mHearingAidPreference);
-
-        verify(mPreferenceController).launchHearingAidInstructionDialog();
-    }
-
-    @Ignore
-    @Test
-    public void handleHearingAidPreferenceClick_withHearingAid_launchBluetoothDeviceDetailSetting
-            () {
-        mPreferenceController = spy(new AccessibilityHearingAidPreferenceController(mContext,
-                HEARING_AID_PREFERENCE));
-        mPreferenceController.setPreference(mHearingAidPreference);
-        when(mHearingAidProfile.getConnectedDevices()).thenReturn(generateHearingAidDeviceList());
-        when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
-        mPreferenceController.handlePreferenceTreeClick(mHearingAidPreference);
-
-        verify(mPreferenceController).launchBluetoothDeviceDetailSetting(mCachedBluetoothDevice);
-    }
-
     @Test
     public void onServiceConnected_onHearingAidProfileConnected_updateSummary() {
         when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java
index 47c8370..b13d0e4 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest.java
@@ -53,6 +53,7 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowApplication;
 
@@ -60,6 +61,7 @@
  * Tests for {@link AccessibilityQuickSettingsPrimarySwitchPreferenceController}.
  */
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class AccessibilityQuickSettingsPrimarySwitchPreferenceControllerTest {
 
     private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";
@@ -96,7 +98,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mFragment = spy(new TestFragment());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
@@ -110,7 +112,7 @@
         mPreference.setTitle(TEST_TITLE);
         LayoutInflater inflater = LayoutInflater.from(mContext);
         mHolder = PreferenceViewHolder.createInstanceForTests(inflater.inflate(
-                com.android.settingslib.R.layout.preference_two_target, null));
+                com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target, null));
         LinearLayout mWidgetView = mHolder.itemView.findViewById(android.R.id.widget_frame);
         inflater.inflate(R.layout.preference_widget_primary_switch, mWidgetView, true);
         mPreference.onBindViewHolder(mHolder);
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsTooltipWindowTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsTooltipWindowTest.java
index 49602bc..104b9f8 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsTooltipWindowTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityQuickSettingsTooltipWindowTest.java
@@ -19,7 +19,9 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.verify;
+import static org.robolectric.Shadows.shadowOf;
 
+import android.app.Application;
 import android.content.Context;
 import android.view.View;
 import android.view.accessibility.AccessibilityNodeInfo;
@@ -37,8 +39,6 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.shadows.ShadowLooper;
 
@@ -61,7 +61,7 @@
     @Before
     public void setUp() {
         mTooltipView = new AccessibilityQuickSettingsTooltipWindow(mContext);
-        mView = new View(RuntimeEnvironment.application);
+        mView = new View(mContext);
     }
 
     @Test
@@ -92,7 +92,7 @@
 
         final boolean isActionPerformed =
                 mTooltipView.getContentView().performAccessibilityAction(
-                        AccessibilityNodeInfo.AccessibilityAction.ACTION_CLICK.getId(),
+                        AccessibilityNodeInfo.ACTION_CLICK,
                         /* arguments= */ null);
 
         assertThat(isActionPerformed).isTrue();
@@ -125,7 +125,8 @@
     }
 
     private static PopupWindow getLatestPopupWindow() {
-        final ShadowApplication shadowApplication = Shadow.extract(RuntimeEnvironment.application);
+        final ShadowApplication shadowApplication = shadowOf(
+                (Application) ApplicationProvider.getApplicationContext());
         return shadowApplication.getLatestPopupWindow();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java
index ea2852f..78c8880 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsForSetupWizardTest.java
@@ -58,6 +58,7 @@
 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.List;
@@ -66,6 +67,9 @@
  * Tests for {@link AccessibilitySettingsForSetupWizard}.
  */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AccessibilitySettingsForSetupWizardTest {
 
     private static final ComponentName TEST_SCREEN_READER_COMPONENT_NAME = new ComponentName(
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
index c4609d6..05e56ca 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySettingsTest.java
@@ -19,75 +19,77 @@
 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.ArgumentMatchers.isNull;
-import static org.mockito.Mockito.atLeast;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
 import static java.util.Collections.singletonList;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.accessibilityservice.AccessibilityShortcutInfo;
-import android.app.AppOpsManager;
+import android.app.Application;
+import android.content.BroadcastReceiver;
 import android.content.ComponentName;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
-import android.content.IntentFilter;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
+import android.database.ContentObserver;
 import android.os.Build;
-import android.os.Bundle;
 import android.provider.Settings;
 import android.view.accessibility.AccessibilityManager;
 
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.PreferenceManager;
+import androidx.fragment.app.Fragment;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.accessibility.util.AccessibilityUtils;
 import com.android.internal.content.PackageMonitor;
 import com.android.settings.R;
+import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
-import com.android.settings.testutils.shadow.ShadowFragment;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.RestrictedPreference;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.search.SearchIndexableRaw;
+import com.android.settingslib.testutils.shadow.ShadowColorDisplayManager;
 
 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;
 import org.mockito.Mock;
 import org.mockito.Mockito;
 import org.mockito.Spy;
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+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;
 
 import java.io.IOException;
 import java.util.ArrayList;
+import java.util.Collection;
 import java.util.List;
 
 /** Test for {@link AccessibilitySettings}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothUtils.class})
+@Config(shadows = {
+        ShadowBluetoothAdapter.class,
+        ShadowUserManager.class,
+        ShadowColorDisplayManager.class,
+        ShadowApplicationPackageManager.class,
+        ShadowRestrictedLockUtilsInternal.class,
+})
 public class AccessibilitySettingsTest {
     private static final String PACKAGE_NAME = "com.android.test";
     private static final String CLASS_NAME = PACKAGE_NAME + ".test_a11y_service";
@@ -101,45 +103,31 @@
 
     @Rule
     public final MockitoRule mocks = MockitoJUnit.rule();
-    @Spy
     private final Context mContext = ApplicationProvider.getApplicationContext();
     @Spy
     private final AccessibilityServiceInfo mServiceInfo = getMockAccessibilityServiceInfo(
             PACKAGE_NAME, CLASS_NAME);
-    @Spy
-    private final AccessibilitySettings mFragment = new AccessibilitySettings();
     @Mock
     private AccessibilityShortcutInfo mShortcutInfo;
-    @Mock
-    private FragmentActivity mActivity;
-    @Mock
-    private ContentResolver mContentResolver;
-    @Mock
-    private PreferenceManager mPreferenceManager;
     private ShadowAccessibilityManager mShadowAccessibilityManager;
     @Mock
-    private AppOpsManager mAppOpsManager;
-    @Mock
     private LocalBluetoothManager mLocalBluetoothManager;
-
-    private Lifecycle mLifecycle;
+    private ActivityController<SettingsActivity> mActivityController;
+    private AccessibilitySettings mFragment;
 
     @Before
     public void setup() {
         mShadowAccessibilityManager = Shadow.extract(AccessibilityManager.getInstance(mContext));
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(new ArrayList<>());
-        when(mFragment.getContext()).thenReturn(mContext);
-        when(mFragment.getActivity()).thenReturn(mActivity);
-        when(mActivity.getContentResolver()).thenReturn(mContentResolver);
-        when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
-        when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
-        mContext.setTheme(R.style.Theme_AppCompat);
-        when(mContext.getSystemService(AppOpsManager.class)).thenReturn(mAppOpsManager);
-        when(mAppOpsManager.noteOpNoThrow(eq(AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS),
-                anyInt(), anyString())).thenReturn(AppOpsManager.MODE_ALLOWED);
-        mLifecycle = new Lifecycle(() -> mLifecycle);
-        when(mFragment.getSettingsLifecycle()).thenReturn(mLifecycle);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
+        setMockAccessibilityShortcutInfo(mShortcutInfo);
+
+        Intent intent = new Intent();
+        intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT,
+                AccessibilitySettings.class.getName());
+
+        mActivityController = ActivityController.of(new SettingsActivity(), intent);
     }
 
     @Test
@@ -153,10 +141,10 @@
     }
 
     @Test
-    @Ignore
     public void getRawDataToIndex_isNull() {
         final List<SearchIndexableRaw> indexableRawList =
-                AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
+                AccessibilitySettings.SEARCH_INDEX_DATA_PROVIDER
+                        .getRawDataToIndex(mContext, true);
 
         assertThat(indexableRawList).isNull();
     }
@@ -173,75 +161,145 @@
     }
 
     @Test
-    public void getServiceSummary_invisibleToggle_shortcutDisabled_showsOffSummary() {
+    public void getServiceSummary_invisibleToggle_shortcutEnabled_showsOnSummary() {
         setInvisibleToggleFragmentType(mServiceInfo);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), true);
 
         final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
                 mServiceInfo, SERVICE_ENABLED);
 
         assertThat(summary).isEqualTo(
                 mContext.getString(R.string.preference_summary_default_combination,
-                        mContext.getString(R.string.accessibility_summary_shortcut_disabled),
+                        mContext.getString(R.string.accessibility_summary_shortcut_enabled),
                         DEFAULT_SUMMARY));
     }
 
     @Test
-    public void getServiceSummary_enableService_showsEnabled() {
-        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
-
-        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
-                mServiceInfo, SERVICE_ENABLED);
-
-        assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_summary_state_enabled));
-    }
-
-    @Test
-    public void getServiceSummary_disableService_showsDisabled() {
-        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
-
-        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
-                mServiceInfo, SERVICE_DISABLED);
-
-        assertThat(summary).isEqualTo(
-                mContext.getString(R.string.accessibility_summary_state_disabled));
-    }
-
-    @Test
-    public void getServiceSummary_enableServiceAndHasSummary_showsEnabledSummary() {
-        final String service_enabled = mContext.getString(
-                R.string.accessibility_summary_state_enabled);
+    public void getServiceSummary_invisibleToggle_shortcutDisabled_showsOffSummary() {
+        setInvisibleToggleFragmentType(mServiceInfo);
+        setShortcutEnabled(mServiceInfo.getComponentName(), false);
         doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
 
         final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
                 mServiceInfo, SERVICE_ENABLED);
 
         assertThat(summary).isEqualTo(
-                mContext.getString(R.string.preference_summary_default_combination, service_enabled,
-                        DEFAULT_SUMMARY));
-    }
-
-    @Test
-    public void getServiceSummary_disableServiceAndHasSummary_showsCombineDisabledSummary() {
-        final String service_disabled = mContext.getString(
-                R.string.accessibility_summary_state_disabled);
-        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
-
-        final CharSequence summary = AccessibilitySettings.getServiceSummary(mContext,
-                mServiceInfo, SERVICE_DISABLED);
-
-        assertThat(summary).isEqualTo(
                 mContext.getString(R.string.preference_summary_default_combination,
-                        service_disabled, DEFAULT_SUMMARY));
+                        mContext.getString(R.string.generic_accessibility_feature_shortcut_off),
+                        DEFAULT_SUMMARY));
+    }
+
+    @Test
+    public void getServiceSummary_enableServiceShortcutOn_showsServiceEnabledShortcutOn() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), true);
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.generic_accessibility_service_on));
+    }
+
+    @Test
+    public void getServiceSummary_enableServiceShortcutOff_showsServiceEnabledShortcutOff() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), false);
+
+        String summary = AccessibilitySettings.getServiceSummary(
+                mContext, mServiceInfo, SERVICE_ENABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.generic_accessibility_service_on));
+    }
+
+    @Test
+    public void getServiceSummary_disableServiceShortcutOff_showsDisabledShortcutOff() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), false);
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_DISABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.generic_accessibility_service_off));
+    }
+
+    @Test
+    public void getServiceSummary_disableServiceShortcutOn_showsDisabledShortcutOn() {
+        doReturn(EMPTY_STRING).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), true);
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_DISABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.generic_accessibility_service_off));
+    }
+
+    @Test
+    public void getServiceSummary_enableServiceShortcutOffAndHasSummary_showsEnabledSummary() {
+        setShortcutEnabled(mServiceInfo.getComponentName(), false);
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(R.string.generic_accessibility_service_on),
+                        DEFAULT_SUMMARY));
+    }
+
+    @Test
+    public void getServiceSummary_enableServiceShortcutOnAndHasSummary_showsEnabledSummary() {
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), true);
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_ENABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(R.string.generic_accessibility_service_on),
+                        DEFAULT_SUMMARY));
+    }
+
+    @Test
+    public void getServiceSummary_disableServiceShortcutOnAndHasSummary_showsDisabledSummary() {
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+        setShortcutEnabled(mServiceInfo.getComponentName(), true);
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_DISABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(R.string.generic_accessibility_service_off),
+                        DEFAULT_SUMMARY));
+    }
+
+    @Test
+    public void getServiceSummary_disableServiceShortcutOffAndHasSummary_showsDisabledSummary() {
+        setShortcutEnabled(mServiceInfo.getComponentName(), false);
+        doReturn(DEFAULT_SUMMARY).when(mServiceInfo).loadSummary(any());
+
+        String summary = AccessibilitySettings.getServiceSummary(mContext,
+                mServiceInfo, SERVICE_DISABLED).toString();
+
+        assertThat(summary).isEqualTo(
+                mContext.getString(R.string.preference_summary_default_combination,
+                        mContext.getString(R.string.generic_accessibility_service_off),
+                        DEFAULT_SUMMARY));
     }
 
     @Test
     public void getServiceDescription_serviceCrash_showsStopped() {
         mServiceInfo.crashed = true;
 
-        final CharSequence description = AccessibilitySettings.getServiceDescription(mContext,
-                mServiceInfo, SERVICE_ENABLED);
+        String description = AccessibilitySettings.getServiceDescription(mContext,
+                mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(description).isEqualTo(
                 mContext.getString(R.string.accessibility_description_state_stopped));
@@ -251,55 +309,73 @@
     public void getServiceDescription_haveDescription_showsDescription() {
         doReturn(DEFAULT_DESCRIPTION).when(mServiceInfo).loadDescription(any());
 
-        final CharSequence description = AccessibilitySettings.getServiceDescription(mContext,
-                mServiceInfo, SERVICE_ENABLED);
+        String description = AccessibilitySettings.getServiceDescription(mContext,
+                mServiceInfo, SERVICE_ENABLED).toString();
 
         assertThat(description).isEqualTo(DEFAULT_DESCRIPTION);
     }
 
-    @Ignore
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onCreate_haveRegisterToSpecificUrisAndActions() {
-        final ArgumentCaptor<IntentFilter> captor = ArgumentCaptor.forClass(IntentFilter.class);
-        final IntentFilter intentFilter;
-        mFragment.onAttach(mContext);
+        setupFragment();
 
-        mFragment.onCreate(Bundle.EMPTY);
-
-        verify(mContentResolver).registerContentObserver(
-                eq(Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS)),
-                anyBoolean(),
-                any(AccessibilitySettingsContentObserver.class));
-        verify(mContentResolver).registerContentObserver(eq(Settings.Secure.getUriFor(
-                Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE)), anyBoolean(),
-                any(AccessibilitySettingsContentObserver.class));
-        verify(mActivity, atLeast(1)).registerReceiver(any(PackageMonitor.class), captor.capture(),
-                isNull(), any());
-        intentFilter = captor.getAllValues().get(/* first time */ 0);
-        assertThat(intentFilter.hasAction(Intent.ACTION_PACKAGE_ADDED)).isTrue();
-        assertThat(intentFilter.hasAction(Intent.ACTION_PACKAGE_REMOVED)).isTrue();
+        ShadowContentResolver shadowContentResolver = shadowOf(mContext.getContentResolver());
+        Collection<ContentObserver> a11yButtonTargetsObservers =
+                shadowContentResolver.getContentObservers(
+                        Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS));
+        Collection<ContentObserver> a11yShortcutTargetServiceObservers =
+                shadowContentResolver.getContentObservers(Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE));
+        List<BroadcastReceiver> broadcastReceivers =
+                shadowOf((Application) ApplicationProvider.getApplicationContext())
+                        .getRegisteredReceivers()
+                        .stream().map(wrapper -> wrapper.broadcastReceiver).toList();
+        assertThat(
+                a11yButtonTargetsObservers.stream()
+                        .anyMatch(contentObserver ->
+                                contentObserver instanceof AccessibilitySettingsContentObserver))
+                .isTrue();
+        assertThat(
+                a11yShortcutTargetServiceObservers.stream()
+                        .anyMatch(contentObserver ->
+                                contentObserver instanceof AccessibilitySettingsContentObserver))
+                .isTrue();
+        assertThat(broadcastReceivers.stream().anyMatch(
+                broadcastReceiver -> broadcastReceiver instanceof PackageMonitor)).isTrue();
     }
 
-    @Ignore
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onDestroy_unregisterObserverAndReceiver() {
         setupFragment();
-        mFragment.onPause();
-        mFragment.onStop();
 
-        mFragment.onDestroy();
+        mActivityController.pause().stop().destroy();
 
-        verify(mContentResolver).unregisterContentObserver(
-                any(AccessibilitySettingsContentObserver.class));
-        verify(mActivity).unregisterReceiver(any(PackageMonitor.class));
-
+        ShadowContentResolver shadowContentResolver = shadowOf(mContext.getContentResolver());
+        Collection<ContentObserver> a11yButtonTargetsObservers =
+                shadowContentResolver.getContentObservers(
+                        Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS));
+        Collection<ContentObserver> a11yShortcutTargetServiceObservers =
+                shadowContentResolver.getContentObservers(Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE));
+        List<BroadcastReceiver> broadcastReceivers =
+                shadowOf((Application) ApplicationProvider.getApplicationContext())
+                        .getRegisteredReceivers()
+                        .stream().map(wrapper -> wrapper.broadcastReceiver).toList();
+        assertThat(
+                a11yButtonTargetsObservers.stream()
+                        .anyMatch(contentObserver ->
+                                contentObserver instanceof AccessibilitySettingsContentObserver))
+                .isFalse();
+        assertThat(
+                a11yShortcutTargetServiceObservers.stream()
+                        .anyMatch(contentObserver ->
+                                contentObserver instanceof AccessibilitySettingsContentObserver))
+                .isFalse();
+        assertThat(broadcastReceivers.stream().anyMatch(
+                broadcastReceiver -> broadcastReceiver instanceof PackageMonitor)).isFalse();
     }
 
-    @Ignore
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onContentChanged_updatePreferenceInForeground_preferenceUpdated() {
         setupFragment();
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
@@ -314,9 +390,7 @@
 
     }
 
-    @Ignore
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void onContentChanged_updatePreferenceInBackground_preferenceUpdated() {
         setupFragment();
         mFragment.onPause();
@@ -336,7 +410,6 @@
     }
 
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void testAccessibilityMenuInSystem_IncludedInInteractionControl() {
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(
                 List.of(getMockAccessibilityServiceInfo(
@@ -351,7 +424,6 @@
     }
 
     @Test
-    @Config(shadows = {ShadowFragment.class, ShadowUserManager.class})
     public void testAccessibilityMenuInSystem_NoPrefWhenNotInstalled() {
         mShadowAccessibilityManager.setInstalledAccessibilityServiceList(List.of());
         setupFragment();
@@ -404,9 +476,19 @@
     }
 
     private void setupFragment() {
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(Bundle.EMPTY);
-        mFragment.onStart();
-        mFragment.onResume();
+        mActivityController.create().start().resume();
+        Fragment fragment = mActivityController.get().getSupportFragmentManager().findFragmentById(
+                R.id.main_content);
+
+        assertThat(fragment).isNotNull();
+        assertThat(fragment).isInstanceOf(AccessibilitySettings.class);
+
+        mFragment = (AccessibilitySettings) fragment;
+    }
+
+    private void setShortcutEnabled(ComponentName componentName, boolean enabled) {
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
+                enabled ? componentName.flattenToString() : "");
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySetupWizardUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySetupWizardUtilsTest.java
index e79b122..fcc8d81 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilitySetupWizardUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilitySetupWizardUtilsTest.java
@@ -15,7 +15,9 @@
  */
 package com.android.settings.accessibility;
 
+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 android.content.Context;
@@ -50,4 +52,14 @@
         verify(layout).setIcon(icon);
         verify(layout).setHeaderText(title);
     }
+
+    @Test
+    public void setupGlifPreferenceLayout_descriptionIsNull_doesNotCallSetDescriptionText() {
+        GlifPreferenceLayout layout = mock(GlifPreferenceLayout.class);
+
+        AccessibilitySetupWizardUtils.updateGlifPreferenceLayout(mContext, layout, "title",
+                /* description= */ null, /* icon= */ null);
+
+        verify(layout, times(0)).setDescriptionText(any());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
index 97ca10a..4607a59 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityShortcutPreferenceFragmentTest.java
@@ -46,11 +46,9 @@
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowFragment;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -63,8 +61,10 @@
 import org.robolectric.shadows.ShadowApplication;
 
 /** Tests for {@link AccessibilityShortcutPreferenceFragment} */
-@Ignore
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AccessibilityShortcutPreferenceFragmentTest {
 
     private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";
@@ -110,7 +110,7 @@
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.getComponentName().flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.getComponentName().flattenToString());
         // Compare to default UserShortcutType
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
     }
@@ -123,7 +123,7 @@
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.getComponentName().flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.getComponentName().flattenToString());
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
     }
 
@@ -136,13 +136,13 @@
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.getComponentName().flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.getComponentName().flattenToString());
         assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE);
     }
 
     @Test
     public void setupEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
                 PLACEHOLDER_DIALOG_TITLE,
@@ -160,7 +160,7 @@
 
     @Test
     public void setupEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
                 PLACEHOLDER_DIALOG_TITLE,
@@ -182,7 +182,7 @@
     @Test
     @Config(shadows = ShadowFragment.class)
     public void restoreValueFromSavedInstanceState_assignShortcutTypeToVariable() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
                 mContext, AccessibilityDialogUtils.DialogType.EDIT_SHORTCUT_GENERIC,
                 PLACEHOLDER_DIALOG_TITLE,
@@ -201,14 +201,14 @@
         mFragment.saveNonEmptyUserShortcutType(value);
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.getComponentName().flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.getComponentName().flattenToString());
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
     }
 
     @Test
     @Config(shadows = ShadowFragment.class)
     public void restoreValueFromSavedInstanceState_showTooltipView() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mFragment.showQuickSettingsTooltipIfNeeded(QuickSettingsTooltipType.GUIDE_TO_EDIT);
         assertThat(getLatestPopupWindow().isShowing()).isTrue();
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
index 83c5bc2..7825677 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AccessibilityUtilTest.java
@@ -27,6 +27,8 @@
 import android.os.Build;
 import android.provider.Settings;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.R;
 import com.android.settings.accessibility.AccessibilityUtil.UserShortcutType;
 
@@ -34,33 +36,33 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
+import java.util.StringJoiner;
 
 @RunWith(RobolectricTestRunner.class)
 public final class AccessibilityUtilTest {
-    private static final int ON = 1;
-    private static final int OFF = 0;
     private static final String SECURE_TEST_KEY = "secure_test_key";
-    private static final String DUMMY_PACKAGE_NAME = "com.mock.example";
-    private static final String DUMMY_CLASS_NAME = DUMMY_PACKAGE_NAME + ".mock_a11y_service";
-    private static final String DUMMY_CLASS_NAME2 = DUMMY_PACKAGE_NAME + ".mock_a11y_service2";
-    private static final ComponentName DUMMY_COMPONENT_NAME = new ComponentName(DUMMY_PACKAGE_NAME,
-            DUMMY_CLASS_NAME);
-    private static final ComponentName DUMMY_COMPONENT_NAME2 = new ComponentName(DUMMY_PACKAGE_NAME,
-            DUMMY_CLASS_NAME2);
+    private static final String MOCK_PACKAGE_NAME = "com.mock.example";
+    private static final String MOCK_CLASS_NAME = MOCK_PACKAGE_NAME + ".mock_a11y_service";
+    private static final String MOCK_CLASS_NAME2 = MOCK_PACKAGE_NAME + ".mock_a11y_service2";
+    private static final ComponentName MOCK_COMPONENT_NAME = new ComponentName(MOCK_PACKAGE_NAME,
+            MOCK_CLASS_NAME);
+    private static final ComponentName MOCK_COMPONENT_NAME2 = new ComponentName(MOCK_PACKAGE_NAME,
+            MOCK_CLASS_NAME2);
     private static final String SOFTWARE_SHORTCUT_KEY =
             Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS;
     private static final String HARDWARE_SHORTCUT_KEY =
             Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
 
+    private static final String PLACEHOLDER_SETTING_FEATURE = "placeholderSettingFeature";
+
     private Context mContext;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
     }
 
     @Test
@@ -75,30 +77,33 @@
 
     @Test
     public void getSummary_hasValueAndEqualsToOne_shouldReturnOnString() {
-        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_TEST_KEY, ON);
+        setSettingsFeatureEnabled(SECURE_TEST_KEY, true);
 
-        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY);
+        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY,
+                R.string.switch_on_text, R.string.switch_off_text);
 
         assertThat(result)
-                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_on));
+                .isEqualTo(mContext.getText(R.string.switch_on_text));
     }
 
     @Test
     public void getSummary_hasValueAndEqualsToZero_shouldReturnOffString() {
-        Settings.Secure.putInt(mContext.getContentResolver(), SECURE_TEST_KEY, OFF);
+        setSettingsFeatureEnabled(SECURE_TEST_KEY, false);
 
-        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY);
+        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY,
+                R.string.switch_on_text, R.string.switch_off_text);
 
         assertThat(result)
-                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
+                .isEqualTo(mContext.getText(R.string.switch_off_text));
     }
 
     @Test
     public void getSummary_noValue_shouldReturnOffString() {
-        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY);
+        final CharSequence result = AccessibilityUtil.getSummary(mContext, SECURE_TEST_KEY,
+                R.string.switch_on_text, R.string.switch_off_text);
 
         assertThat(result)
-                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
+                .isEqualTo(mContext.getText(R.string.switch_off_text));
     }
 
     @Test
@@ -136,29 +141,31 @@
 
     @Test
     public void hasValueInSettings_putValue_hasValue() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
         assertThat(AccessibilityUtil.hasValueInSettings(mContext, UserShortcutType.SOFTWARE,
-                DUMMY_COMPONENT_NAME)).isTrue();
+                MOCK_COMPONENT_NAME)).isTrue();
     }
 
     @Test
     public void getUserShortcutTypeFromSettings_putOneValue_hasValue() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
 
         final int shortcutType = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
-                DUMMY_COMPONENT_NAME);
+                MOCK_COMPONENT_NAME);
+
         assertThat(
                 (shortcutType & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE).isTrue();
     }
 
     @Test
     public void getUserShortcutTypeFromSettings_putTwoValues_hasValue() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
-        putStringIntoSettings(HARDWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
 
         final int shortcutType = AccessibilityUtil.getUserShortcutTypesFromSettings(mContext,
-                DUMMY_COMPONENT_NAME);
+                MOCK_COMPONENT_NAME);
+
         assertThat(
                 (shortcutType & UserShortcutType.SOFTWARE) == UserShortcutType.SOFTWARE).isTrue();
         assertThat(
@@ -167,50 +174,53 @@
 
     @Test
     public void optInAllValuesToSettings_optInValue_haveMatchString() {
+        clearShortcuts();
         int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE;
 
-        AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, DUMMY_COMPONENT_NAME);
+        AccessibilityUtil.optInAllValuesToSettings(mContext, shortcutTypes, MOCK_COMPONENT_NAME);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
-                DUMMY_COMPONENT_NAME.flattenToString());
+                MOCK_COMPONENT_NAME.flattenToString());
         assertThat(getStringFromSettings(HARDWARE_SHORTCUT_KEY)).isEqualTo(
-                DUMMY_COMPONENT_NAME.flattenToString());
+                MOCK_COMPONENT_NAME.flattenToString());
 
     }
 
     @Test
     public void optInValueToSettings_optInValue_haveMatchString() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+
         AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
-                DUMMY_COMPONENT_NAME2);
+                MOCK_COMPONENT_NAME2);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
-                DUMMY_COMPONENT_NAME.flattenToString() + ":"
-                        + DUMMY_COMPONENT_NAME2.flattenToString());
+                MOCK_COMPONENT_NAME.flattenToString() + ":"
+                        + MOCK_COMPONENT_NAME2.flattenToString());
     }
 
     @Test
     public void optInValueToSettings_optInTwoValues_haveMatchString() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+
         AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
-                DUMMY_COMPONENT_NAME2);
+                MOCK_COMPONENT_NAME2);
         AccessibilityUtil.optInValueToSettings(mContext, UserShortcutType.SOFTWARE,
-                DUMMY_COMPONENT_NAME2);
+                MOCK_COMPONENT_NAME2);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
-                DUMMY_COMPONENT_NAME.flattenToString() + ":"
-                        + DUMMY_COMPONENT_NAME2.flattenToString());
+                MOCK_COMPONENT_NAME.flattenToString() + ":"
+                        + MOCK_COMPONENT_NAME2.flattenToString());
     }
 
     @Test
     public void optOutAllValuesToSettings_optOutValue_emptyString() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
-        putStringIntoSettings(HARDWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.HARDWARE, MOCK_COMPONENT_NAME.flattenToString());
         int shortcutTypes =
                 UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP;
 
         AccessibilityUtil.optOutAllValuesFromSettings(mContext, shortcutTypes,
-                DUMMY_COMPONENT_NAME);
+                MOCK_COMPONENT_NAME);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
         assertThat(getStringFromSettings(HARDWARE_SHORTCUT_KEY)).isEmpty();
@@ -218,30 +228,32 @@
 
     @Test
     public void optOutValueFromSettings_optOutValue_emptyString() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString());
+
         AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
-                DUMMY_COMPONENT_NAME);
+                MOCK_COMPONENT_NAME);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEmpty();
     }
 
     @Test
     public void optOutValueFromSettings_optOutValue_haveMatchString() {
-        putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, DUMMY_COMPONENT_NAME.flattenToString() + ":"
-                + DUMMY_COMPONENT_NAME2.flattenToString());
+        setShortcut(UserShortcutType.SOFTWARE, MOCK_COMPONENT_NAME.flattenToString(),
+                MOCK_COMPONENT_NAME2.flattenToString());
+
         AccessibilityUtil.optOutValueFromSettings(mContext, UserShortcutType.SOFTWARE,
-                DUMMY_COMPONENT_NAME2);
+                MOCK_COMPONENT_NAME2);
 
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
-                DUMMY_COMPONENT_NAME.flattenToString());
+                MOCK_COMPONENT_NAME.flattenToString());
     }
 
     private AccessibilityServiceInfo getMockAccessibilityServiceInfo() {
         final ApplicationInfo applicationInfo = new ApplicationInfo();
         final ServiceInfo serviceInfo = new ServiceInfo();
-        applicationInfo.packageName = DUMMY_PACKAGE_NAME;
-        serviceInfo.packageName = DUMMY_PACKAGE_NAME;
-        serviceInfo.name = DUMMY_CLASS_NAME;
+        applicationInfo.packageName = MOCK_PACKAGE_NAME;
+        serviceInfo.packageName = MOCK_PACKAGE_NAME;
+        serviceInfo.name = MOCK_CLASS_NAME;
         serviceInfo.applicationInfo = applicationInfo;
 
         final ResolveInfo resolveInfo = new ResolveInfo();
@@ -250,7 +262,7 @@
         try {
             final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo,
                     mContext);
-            info.setComponentName(DUMMY_COMPONENT_NAME);
+            info.setComponentName(MOCK_COMPONENT_NAME);
             return info;
         } catch (XmlPullParserException | IOException e) {
             // Do nothing
@@ -259,11 +271,28 @@
         return null;
     }
 
-    private void putStringIntoSettings(String key, String componentName) {
-        Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
-    }
-
     private String getStringFromSettings(String key) {
         return Settings.Secure.getString(mContext.getContentResolver(), key);
     }
+
+    private void setSettingsFeatureEnabled(String settingsKey, boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                settingsKey,
+                enabled ? AccessibilityUtil.State.ON : AccessibilityUtil.State.OFF);
+    }
+
+    private void setShortcut(@UserShortcutType int shortcutType, String... componentNames) {
+        StringJoiner shortcutComponents = new StringJoiner(":");
+        for (String componentName : componentNames) {
+            shortcutComponents.add(componentName);
+        }
+        Settings.Secure.putString(mContext.getContentResolver(),
+                shortcutType == UserShortcutType.SOFTWARE ? SOFTWARE_SHORTCUT_KEY
+                        : HARDWARE_SHORTCUT_KEY, shortcutComponents.toString());
+    }
+
+    private void clearShortcuts() {
+        Settings.Secure.putString(mContext.getContentResolver(), SOFTWARE_SHORTCUT_KEY, "");
+        Settings.Secure.putString(mContext.getContentResolver(), HARDWARE_SHORTCUT_KEY, "");
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java
index aaaf303..4b20c96 100644
--- a/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/AutoclickPreferenceControllerTest.java
@@ -56,19 +56,17 @@
 
     @Test
     public void getSummary_disabledAutoclick_shouldReturnOffSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, OFF);
+        setAutoClickEnabled(false);
 
-        assertThat(mController.getSummary())
-                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
+        assertThat(mController.getSummary().toString())
+                .isEqualTo(mContext.getText(R.string.autoclick_disabled));
     }
 
     @Test
     public void getSummary_enabledAutoclick_shouldReturnOnSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, ON);
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY, AUTOCLICK_DELAY_DEFAULT);
+        setAutoClickEnabled(true);
+        setAutoClickDelayed(AUTOCLICK_DELAY_DEFAULT);
+
 
         assertThat(mController.getSummary().toString())
                 .isEqualTo(AutoclickUtils.getAutoclickDelaySummary(
@@ -76,4 +74,14 @@
                         R.string.accessibilty_autoclick_preference_subtitle_medium_delay,
                         AUTOCLICK_DELAY_DEFAULT).toString());
     }
+
+    private void setAutoClickEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_ENABLED, enabled ? ON : OFF);
+    }
+
+    private void setAutoClickDelayed(int delayedInMs) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_AUTOCLICK_DELAY, delayedInMs);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java b/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
index 93f1a7b..ce2a571 100644
--- a/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/BalanceSeekBarTest.java
@@ -31,13 +31,19 @@
 import android.util.AttributeSet;
 import android.widget.SeekBar;
 
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowSystemSettings.class,
+})
 public class BalanceSeekBarTest {
     // 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).
diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java
index c44bed1..5ff00e2 100644
--- a/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningPreferenceControllerTest.java
@@ -24,6 +24,8 @@
 import android.content.Context;
 import android.provider.Settings;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 
@@ -31,7 +33,6 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 /** Tests for {@link CaptioningPreferenceController}. */
 @RunWith(RobolectricTestRunner.class)
@@ -42,7 +43,7 @@
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = new CaptioningPreferenceController(mContext, "captioning_pref");
     }
 
@@ -54,19 +55,22 @@
 
     @Test
     public void getSummary_enabledCaptions_shouldReturnOnSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, ON);
+        setCaptioningEnabled(true);
 
         assertThat(mController.getSummary()).isEqualTo(
-                mContext.getText(R.string.accessibility_feature_state_on));
+                mContext.getText(R.string.show_captions_enabled));
     }
 
     @Test
     public void getSummary_disabledCaptions_shouldReturnOffSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, OFF);
+        setCaptioningEnabled(false);
 
         assertThat(mController.getSummary()).isEqualTo(
-                mContext.getText(R.string.accessibility_feature_state_off));
+                mContext.getText(R.string.show_captions_disabled));
+    }
+
+    private void setCaptioningEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_CAPTIONING_ENABLED, enabled ? ON : OFF);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java
index cdc1741..e0a04bc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/CaptioningTogglePreferenceControllerTest.java
@@ -142,7 +142,7 @@
     public void onSwitchChanged_switchChecked_shouldSetCaptionEnabled() {
         mController.displayPreference(mScreen);
 
-        mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ true);
+        mController.onCheckedChanged(/* buttonView= */ null, /* isChecked= */ true);
 
         assertThat(isCaptionEnabled()).isTrue();
     }
@@ -151,7 +151,7 @@
     public void onSwitchChanged_switchUnchecked_shouldSetCaptionDisabled() {
         mController.displayPreference(mScreen);
 
-        mController.onSwitchChanged(/* switchView= */ null, /* isChecked= */ false);
+        mController.onCheckedChanged(/* buttonView= */ null, /* isChecked= */ false);
 
         assertThat(isCaptionEnabled()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionFragmentTest.java
index a30dbff..d3f5457 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorAndMotionFragmentTest.java
@@ -16,10 +16,16 @@
 
 package com.android.settings.accessibility;
 
+import static android.view.accessibility.Flags.FLAG_FORCE_INVERT_COLOR;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.app.settings.SettingsEnums;
 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 androidx.test.core.app.ApplicationProvider;
 
@@ -27,6 +33,7 @@
 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;
@@ -37,6 +44,9 @@
 @RunWith(RobolectricTestRunner.class)
 public class ColorAndMotionFragmentTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private ColorAndMotionFragment mFragment;
 
@@ -63,6 +73,20 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(FLAG_FORCE_INVERT_COLOR)
+    public void forceInvertEnabled_getNonIndexableKeys_existInXmlLayout() {
+        final List<String> niks = ColorAndMotionFragment.SEARCH_INDEX_DATA_PROVIDER
+                .getNonIndexableKeys(mContext);
+        final List<String> keys =
+                XmlTestUtils.getKeysFromPreferenceXml(mContext,
+                        R.xml.accessibility_color_and_motion);
+
+        assertThat(niks).doesNotContain(ColorAndMotionFragment.TOGGLE_FORCE_INVERT);
+        assertThat(keys).containsAtLeastElementsIn(niks);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(FLAG_FORCE_INVERT_COLOR)
     public void getNonIndexableKeys_existInXmlLayout() {
         final List<String> niks = ColorAndMotionFragment.SEARCH_INDEX_DATA_PROVIDER
                 .getNonIndexableKeys(mContext);
@@ -70,6 +94,7 @@
                 XmlTestUtils.getKeysFromPreferenceXml(mContext,
                         R.xml.accessibility_color_and_motion);
 
+        assertThat(niks).contains(ColorAndMotionFragment.TOGGLE_FORCE_INVERT);
         assertThat(keys).containsAtLeastElementsIn(niks);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
index e034498..52905fc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ColorInversionPreferenceControllerTest.java
@@ -16,18 +16,21 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
 import android.provider.Settings;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.R;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -39,29 +42,60 @@
             Settings.Secure.ACCESSIBILITY_DISPLAY_INVERSION_ENABLED;
     private Context mContext;
     private ColorInversionPreferenceController mController;
+    private String mColorInversionSummary;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = new ColorInversionPreferenceController(mContext, PREF_KEY);
+        mColorInversionSummary = mContext.getString(R.string.color_inversion_feature_summary);
     }
 
     @Test
-    public void getSummary_enabledColorInversion_shouldReturnOnSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                DISPLAY_INVERSION_ENABLED, State.ON);
+    public void getSummary_enabledColorInversionShortcutOff_shouldReturnOnSummary() {
+        setColorInversionEnabled(true);
+        setColorInversionShortcutEnabled(false);
 
-        assertThat(mController.getSummary().toString().contains(
-                mContext.getText(R.string.accessibility_feature_state_on))).isTrue();
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.color_inversion_state_on));
     }
 
     @Test
-    public void getSummary_disabledColorInversion_shouldReturnOffSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                DISPLAY_INVERSION_ENABLED, State.OFF);
+    public void getSummary_enabledColorInversionShortcutOn_shouldReturnOnSummary() {
+        setColorInversionEnabled(true);
+        setColorInversionShortcutEnabled(true);
 
-        assertThat(mController.getSummary().toString().contains(
-                mContext.getText(R.string.accessibility_feature_state_off))).isTrue();
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.color_inversion_state_on));
+    }
+
+    @Test
+    public void getSummary_disabledColorInversionShortcutOff_shouldReturnOffSummary() {
+        setColorInversionEnabled(false);
+        setColorInversionShortcutEnabled(false);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.color_inversion_state_off));
+    }
+
+    @Test
+    public void getSummary_disabledColorInversionShortcutOn_shouldReturnOffSummary() {
+        setColorInversionEnabled(false);
+        setColorInversionShortcutEnabled(true);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.color_inversion_state_off));
+    }
+
+    private void setColorInversionShortcutEnabled(boolean enabled) {
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
+                enabled ? COLOR_INVERSION_COMPONENT_NAME.flattenToString() : "");
+    }
+
+    private void setColorInversionEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                DISPLAY_INVERSION_ENABLED, enabled ? State.ON : State.OFF);
     }
 
     @Retention(RetentionPolicy.SOURCE)
diff --git a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
index 1a00cc1..d41f295 100644
--- a/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/DaltonizerPreferenceControllerTest.java
@@ -16,18 +16,21 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
 import android.provider.Settings;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.R;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class DaltonizerPreferenceControllerTest {
@@ -37,28 +40,59 @@
 
     private Context mContext;
     private DaltonizerPreferenceController mController;
+    private String mDaltonizerSummary;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = new DaltonizerPreferenceController(mContext, PREF_KEY);
+        mDaltonizerSummary = mContext.getString(R.string.daltonizer_feature_summary);
     }
 
     @Test
-    public void getSummary_enabledColorCorrection_shouldReturnOnSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, ON);
+    public void getSummary_enabledColorCorrectionShortcutOff_shouldReturnOnSummary() {
+        setColorCorrectionEnabled(true);
+        setColorCorrectionShortcutEnabled(false);
 
-        assertThat(mController.getSummary().toString().contains(
-                mContext.getText(R.string.accessibility_feature_state_on))).isTrue();
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.daltonizer_state_on));
     }
 
     @Test
-    public void getSummary_disabledColorCorrection_shouldReturnOffSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, OFF);
+    public void getSummary_enabledColorCorrectionShortcutOn_shouldReturnOnSummary() {
+        setColorCorrectionEnabled(true);
+        setColorCorrectionShortcutEnabled(true);
 
-        assertThat(mController.getSummary().toString().contains(
-                mContext.getText(R.string.accessibility_feature_state_off))).isTrue();
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.daltonizer_state_on));
+    }
+
+    @Test
+    public void getSummary_disabledColorCorrectionShortcutOff_shouldReturnOffSummary() {
+        setColorCorrectionEnabled(false);
+        setColorCorrectionShortcutEnabled(false);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.daltonizer_state_off));
+    }
+
+    @Test
+    public void getSummary_disabledColorCorrectionShortcutOn_shouldReturnOffSummary() {
+        setColorCorrectionEnabled(false);
+        setColorCorrectionShortcutEnabled(true);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.daltonizer_state_off));
+    }
+
+    private void setColorCorrectionEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_DALTONIZER_ENABLED, enabled ? ON : OFF);
+    }
+
+    private void setColorCorrectionShortcutEnabled(boolean enabled) {
+        Settings.Secure.putString(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS,
+                enabled ? DALTONIZER_COMPONENT_NAME.flattenToString() : "");
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/DisplaySizeDataTest.java b/tests/robotests/src/com/android/settings/accessibility/DisplaySizeDataTest.java
deleted file mode 100644
index fabf123..0000000
--- a/tests/robotests/src/com/android/settings/accessibility/DisplaySizeDataTest.java
+++ /dev/null
@@ -1,54 +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.accessibility;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import androidx.test.core.app.ApplicationProvider;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-
-/**
- * Tests for {@link DisplaySizeData}.
- */
-@RunWith(RobolectricTestRunner.class)
-public class DisplaySizeDataTest {
-    private final Context mContext = ApplicationProvider.getApplicationContext();
-    private DisplaySizeData mDisplaySizeData;
-
-    @Before
-    public void setUp() {
-        mDisplaySizeData = new DisplaySizeData(mContext);
-    }
-
-    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
-    @Test
-    public void commit_success() {
-        final int progress = 4;
-
-        mDisplaySizeData.commit(progress);
-        final float density = mContext.getResources().getDisplayMetrics().density;
-
-        assertThat(density).isEqualTo(mDisplaySizeData.getValues().get(progress));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreferenceFragmentTest.java
index 0280fae..ac6953d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreferenceFragmentTest.java
@@ -22,6 +22,7 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 
 import androidx.test.core.app.ApplicationProvider;
@@ -30,7 +31,6 @@
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -66,10 +66,10 @@
         assertThat(mFragment.getLogTag()).isEqualTo("FlashNotificationsPreferenceFragment");
     }
 
-    @Ignore
     @Test
-    public void getMetricsCategory_isZero() {
-        assertThat(mFragment.getMetricsCategory()).isEqualTo(0); // TODO
+    public void getMetricsCategory_returnsCorrectCategory() {
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.FLASH_NOTIFICATION_SETTINGS);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
index 98da926..0f32f31 100644
--- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceControllerTest.java
@@ -131,7 +131,7 @@
     @Test
     public void testHandlePreferenceTreeClick_invalidPreference() {
         mController.handlePreferenceTreeClick(mock(Preference.class));
-        verify(mContext, never()).sendBroadcast(any());
+        verify(mContext, never()).sendBroadcastAsUser(any(), any());
     }
 
     @Test
@@ -139,7 +139,7 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).sendBroadcast(captor.capture());
+        verify(mContext).sendBroadcastAsUser(captor.capture(), any());
         Intent captured = captor.getValue();
 
         assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
@@ -150,7 +150,7 @@
         mController.handlePreferenceTreeClick(mPreference);
 
         ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        verify(mContext).sendBroadcast(captor.capture());
+        verify(mContext).sendBroadcastAsUser(captor.capture(), any());
         Intent captured = captor.getValue();
 
         assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_LONG_PREVIEW))
diff --git a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java
index 1e7f089..fac467d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/FlashNotificationsPreviewPreferenceTest.java
@@ -68,7 +68,8 @@
 
         final View frame = mPreferenceViewHolder.findViewById(R.id.frame);
         final int backgroundResId = Shadows.shadowOf(frame.getBackground()).getCreatedFromResId();
-        assertThat(backgroundResId).isEqualTo(R.drawable.settingslib_switch_bar_bg_on);
+        assertThat(backgroundResId).isEqualTo(
+                com.android.settingslib.widget.mainswitch.R.drawable.settingslib_switch_bar_bg_on);
         final TextView title = (TextView) mPreferenceViewHolder.findViewById(android.R.id.title);
         assertThat(title.getAlpha()).isEqualTo(1f);
         assertThat(title.getCurrentTextColor()).isEqualTo(textColorEnabled);
diff --git a/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java
index 8c2be52..e4faaaad 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackIntensityPreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -159,7 +158,6 @@
     }
 
     @Test
-    @Ignore
     public void setProgress_updatesIntensityAndDependentSettings() throws Exception {
         mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF);
         assertThat(readSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY))
diff --git a/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackTogglePreferenceControllerTest.java
index 77aede2..b87e9cf 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HapticFeedbackTogglePreferenceControllerTest.java
@@ -35,7 +35,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -152,7 +151,6 @@
     }
 
     @Test
-    @Ignore
     public void setChecked_updatesIntensityAndDependentSettings() throws Exception {
         updateSetting(Settings.System.HAPTIC_FEEDBACK_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
         mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceControllerTest.java
index 15bb38d..254b569 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingAidCompatibilityPreferenceControllerTest.java
@@ -46,9 +46,13 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link HearingAidCompatibilityPreferenceControllerTest}. */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowAudioManager.class,
+})
 public class HearingAidCompatibilityPreferenceControllerTest {
 
     @Rule
@@ -115,7 +119,7 @@
 
         assertThat(Settings.System.getInt(mContext.getContentResolver(),
                 Settings.System.HEARING_AID, HAC_DISABLED)).isEqualTo(HAC_ENABLED);
-        verify(mAudioManager).setParameters("HACSetting=ON");
+        verify(mAudioManager).setParameters("HACSetting=ON;");
     }
 
     @Test
@@ -124,7 +128,7 @@
 
         assertThat(Settings.System.getInt(mContext.getContentResolver(),
                 Settings.System.HEARING_AID, HAC_DISABLED)).isEqualTo(HAC_DISABLED);
-        verify(mAudioManager).setParameters("HACSetting=OFF");
+        verify(mAudioManager).setParameters("HACSetting=OFF;");
     }
 
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingAidDialogFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingAidDialogFragmentTest.java
index d55a948..adfd573 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingAidDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingAidDialogFragmentTest.java
@@ -34,7 +34,6 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.bluetooth.BluetoothPairingDetail;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -45,10 +44,15 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 /** Tests for {@link HearingAidDialogFragment}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowAlertDialogCompat.class)
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+        ShadowAlertDialogCompat.class,
+})
 public class HearingAidDialogFragmentTest {
 
     @Rule
@@ -60,8 +64,7 @@
     @Before
     public void setUpTestFragment() {
         mFragment = spy(HearingAidDialogFragment.newInstance());
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(mActivity);
     }
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingAidPairingDialogFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingAidPairingDialogFragmentTest.java
index d1c803e..bd57e9d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingAidPairingDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingAidPairingDialogFragmentTest.java
@@ -32,6 +32,10 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.os.Bundle;
+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 androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
@@ -43,10 +47,9 @@
 import com.android.settings.bluetooth.BluetoothPairingDetail;
 import com.android.settings.bluetooth.HearingAidPairingDialogFragment;
 import com.android.settings.bluetooth.Utils;
-import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.HearingAidInfo;
@@ -62,18 +65,28 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadow.api.Shadow;
 
 /** Tests for {@link HearingAidPairingDialogFragment}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAlertDialogCompat.class, ShadowBluetoothAdapter.class,
-        ShadowBluetoothUtils.class})
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowAlertDialogCompat.class,
+        com.android.settings.testutils.shadow.ShadowBluetoothAdapter.class,
+        com.android.settings.testutils.shadow.ShadowBluetoothUtils.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class HearingAidPairingDialogFragmentTest {
 
     @Rule
     public final MockitoRule mockito = MockitoJUnit.rule();
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
+    private static final int TEST_LAUNCH_PAGE = SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY;
 
     private final Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
@@ -94,13 +107,7 @@
     @Before
     public void setUp() {
         setupEnvironment();
-        mFragment = spy(HearingAidPairingDialogFragment.newInstance(TEST_DEVICE_ADDRESS));
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-        mFragmentManager = mActivity.getSupportFragmentManager();
-        when(mFragment.getActivity()).thenReturn(mActivity);
-        doReturn(mFragmentManager).when(mFragment).getParentFragmentManager();
-        mFragment.onAttach(mContext);
+        setupDialog(TEST_LAUNCH_PAGE);
     }
 
     @Test
@@ -117,7 +124,8 @@
     }
 
     @Test
-    public void dialogPositiveButtonClick_intentToExpectedClass() {
+    public void dialogPositiveButtonClick_intentToBluetoothPairingPage() {
+        setupDialog(SettingsEnums.SETTINGS_CONNECTED_DEVICE_CATEGORY);
         final AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(Bundle.EMPTY);
         dialog.show();
 
@@ -129,6 +137,34 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_NEW_HEARING_DEVICE_PAIRING_PAGE)
+    public void dialogPositiveButtonClick_intentToNewA11yPairingPage() {
+        setupDialog(SettingsEnums.ACCESSIBILITY);
+        final AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(Bundle.EMPTY);
+        dialog.show();
+
+        dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
+
+        final Intent intent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(HearingDevicePairingFragment.class.getName());
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_NEW_HEARING_DEVICE_PAIRING_PAGE)
+    public void dialogPositiveButtonClick_intentToOldA11yPairingPage() {
+        setupDialog(SettingsEnums.ACCESSIBILITY);
+        final AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(Bundle.EMPTY);
+        dialog.show();
+
+        dialog.getButton(DialogInterface.BUTTON_POSITIVE).performClick();
+
+        final Intent intent = shadowOf(mActivity).getNextStartedActivity();
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(HearingDevicePairingDetail.class.getName());
+    }
+
+    @Test
     public void dialogNegativeButtonClick_dismissDialog() {
         final AlertDialog dialog = (AlertDialog) mFragment.onCreateDialog(Bundle.EMPTY);
         dialog.show();
@@ -154,6 +190,16 @@
         verify(mFragment).dismiss();
     }
 
+    private void setupDialog(int launchPage) {
+        mFragment = spy(
+                HearingAidPairingDialogFragment.newInstance(TEST_DEVICE_ADDRESS, launchPage));
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
+        mFragmentManager = mActivity.getSupportFragmentManager();
+        when(mFragment.getActivity()).thenReturn(mActivity);
+        doReturn(mFragmentManager).when(mFragment).getParentFragmentManager();
+        mFragment.onAttach(mContext);
+    }
+
     private void setupEnvironment() {
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java
index 56ab082..9368ec8 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingAidUtilsTest.java
@@ -19,6 +19,7 @@
 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.BluetoothDevice;
@@ -34,7 +35,6 @@
 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.utils.ActivityControllerWrapper;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.CsipSetCoordinatorProfile;
@@ -59,8 +59,11 @@
 
 /** Tests for {@link HearingAidUtils}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAlertDialogCompat.class, ShadowBluetoothAdapter.class,
-        ShadowBluetoothUtils.class})
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowAlertDialogCompat.class,
+        com.android.settings.testutils.shadow.ShadowBluetoothAdapter.class,
+        com.android.settings.testutils.shadow.ShadowBluetoothUtils.class,
+})
 public class HearingAidUtilsTest {
 
     @Rule
@@ -68,6 +71,7 @@
     private final Context mContext = ApplicationProvider.getApplicationContext();
 
     private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
+    private static final int TEST_LAUNCH_PAGE = 1;
 
     @Mock
     private CachedBluetoothDevice mCachedBluetoothDevice;
@@ -87,8 +91,8 @@
     @Before
     public void setUp() {
         setupEnvironment();
-        final FragmentActivity mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        final FragmentActivity mActivity = Robolectric.setupActivity(FragmentActivity.class);
+        shadowMainLooper().idle();
         mFragmentManager = mActivity.getSupportFragmentManager();
         ShadowAlertDialogCompat.reset();
         when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS);
@@ -98,8 +102,10 @@
     public void launchHearingAidPairingDialog_deviceIsNotConnectedAshaHearingAid_noDialog() {
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(false);
 
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice,
+                TEST_LAUNCH_PAGE);
 
+        shadowMainLooper().idle();
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
@@ -110,8 +116,10 @@
         when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
                 HearingAidInfo.DeviceMode.MODE_MONAURAL);
 
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice,
+                TEST_LAUNCH_PAGE);
 
+        shadowMainLooper().idle();
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
@@ -123,8 +131,10 @@
                 HearingAidInfo.DeviceMode.MODE_BINAURAL);
         when(mCachedBluetoothDevice.getSubDevice()).thenReturn(mSubCachedBluetoothDevice);
 
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice,
+                TEST_LAUNCH_PAGE);
 
+        shadowMainLooper().idle();
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
@@ -137,45 +147,32 @@
         when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
                 HearingAidInfo.DeviceSide.SIDE_INVALID);
 
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice,
+                TEST_LAUNCH_PAGE);
 
+        shadowMainLooper().idle();
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
 
     @Test
-    public void launchHearingAidPairingDialog_deviceSupportsCsip_csipEnabled_noDialog() {
+    public void launchHearingAidPairingDialog_deviceSupportsCsip_noDialog() {
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
         when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
                 HearingAidInfo.DeviceMode.MODE_BINAURAL);
         when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
                 HearingAidInfo.DeviceSide.SIDE_LEFT);
         makeDeviceSupportCsip();
-        makeDeviceEnableCsip(true);
 
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice,
+                TEST_LAUNCH_PAGE);
 
+        shadowMainLooper().idle();
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNull();
     }
 
     @Test
-    public void launchHearingAidPairingDialog_deviceSupportsCsip_csipDisabled_dialogShown() {
-        when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
-        when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
-                HearingAidInfo.DeviceMode.MODE_BINAURAL);
-        when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
-                HearingAidInfo.DeviceSide.SIDE_LEFT);
-        makeDeviceSupportCsip();
-        makeDeviceEnableCsip(false);
-
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
-
-        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
-        assertThat(dialog.isShowing()).isTrue();
-    }
-
-    @Test
     public void launchHearingAidPairingDialog_dialogShown() {
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
         when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
@@ -183,8 +180,10 @@
         when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
                 HearingAidInfo.DeviceSide.SIDE_LEFT);
 
-        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice);
+        HearingAidUtils.launchHearingAidPairingDialog(mFragmentManager, mCachedBluetoothDevice,
+                TEST_LAUNCH_PAGE);
 
+        shadowMainLooper().idle();
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog.isShowing()).isTrue();
     }
@@ -195,11 +194,6 @@
         when(mCachedBluetoothDevice.getProfiles()).thenReturn(uuids);
     }
 
-    private void makeDeviceEnableCsip(boolean enabled) {
-        when(mCsipSetCoordinatorProfile.isEnabled(mCachedBluetoothDevice.getDevice()))
-                .thenReturn(enabled);
-    }
-
     private void setupEnvironment() {
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceControllerTest.java
index 8eed294..0799d57 100644
--- a/tests/robotests/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingDeviceCallRoutingPreferenceControllerTest.java
@@ -28,6 +28,8 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -37,8 +39,10 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link HearingDeviceCallRoutingPreferenceController}. */
+@Config(shadows = {ShadowBluetoothAdapter.class})
 @RunWith(RobolectricTestRunner.class)
 public class HearingDeviceCallRoutingPreferenceControllerTest {
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/HearingDevicePairingFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/HearingDevicePairingFragmentTest.java
new file mode 100644
index 0000000..e14686e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/HearingDevicePairingFragmentTest.java
@@ -0,0 +1,318 @@
+/*
+ * 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.accessibility;
+
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothProfile;
+import android.bluetooth.BluetoothUuid;
+import android.bluetooth.le.ScanRecord;
+import android.bluetooth.le.ScanResult;
+import android.content.Context;
+import android.graphics.drawable.Drawable;
+import android.util.Pair;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.bluetooth.BluetoothDevicePreference;
+import com.android.settings.bluetooth.BluetoothProgressCategory;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.HearingAidInfo;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+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 java.util.List;
+
+/** Tests for {@link HearingDevicePairingFragment}. */
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class})
+public class HearingDevicePairingFragmentTest {
+
+    private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
+
+    @Rule
+    public final MockitoRule mockito = MockitoJUnit.rule();
+
+    @Spy
+    private final BluetoothAdapter mBluetoothAdapter = BluetoothAdapter.getDefaultAdapter();
+    @Spy
+    private final HearingDevicePairingFragment mFragment = new TestHearingDevicePairingFragment();
+
+    @Mock
+    private LocalBluetoothManager mLocalManager;
+    @Mock
+    private CachedBluetoothDeviceManager mCachedDeviceManager;
+    @Mock
+    private CachedBluetoothDevice mCachedDevice;
+    @Mock
+    private BluetoothProgressCategory mAvailableHearingDeviceGroup;
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private BluetoothDevice mDevice;
+    private BluetoothDevicePreference mDevicePreference;
+
+
+    @Before
+    public void setUp() {
+        mFragment.mLocalManager = mLocalManager;
+        mFragment.mCachedDeviceManager = mCachedDeviceManager;
+        mFragment.mBluetoothAdapter = mBluetoothAdapter;
+        doReturn(mContext).when(mFragment).getContext();
+        doReturn(mAvailableHearingDeviceGroup).when(mFragment).findPreference(
+                "available_hearing_devices");
+        mFragment.initPreferencesFromPreferenceScreen();
+
+
+        mDevice = mBluetoothAdapter.getRemoteDevice(TEST_DEVICE_ADDRESS);
+        doReturn(mDevice).when(mCachedDevice).getDevice();
+        final Pair<Drawable, String> pair = new Pair<>(mock(Drawable.class), "test_device");
+        doReturn(pair).when(mCachedDevice).getDrawableWithDescription();
+
+        mDevicePreference = new BluetoothDevicePreference(mContext, mCachedDevice, true,
+                BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+    }
+
+    @Test
+    public void startAndStopScanning_stateIsCorrect() {
+        mFragment.startScanning();
+
+        verify(mFragment).startLeScanning();
+
+        mFragment.stopScanning();
+
+        verify(mFragment).stopLeScanning();
+    }
+
+    @Test
+    public void onDeviceDeleted_stateIsCorrect() {
+        mFragment.mDevicePreferenceMap.put(mCachedDevice, mDevicePreference);
+
+        assertThat(mFragment.mDevicePreferenceMap).isNotEmpty();
+
+        mFragment.onDeviceDeleted(mCachedDevice);
+
+        assertThat(mFragment.mDevicePreferenceMap).isEmpty();
+        verify(mAvailableHearingDeviceGroup).removePreference(mDevicePreference);
+    }
+
+    @Test
+    public void addDevice_bluetoothOff_doNothing() {
+        doReturn(BluetoothAdapter.STATE_OFF).when(mBluetoothAdapter).getState();
+
+        assertThat(mFragment.mDevicePreferenceMap.size()).isEqualTo(0);
+
+        mFragment.addDevice(mCachedDevice);
+
+        verify(mAvailableHearingDeviceGroup, never()).addPreference(mDevicePreference);
+        assertThat(mFragment.mDevicePreferenceMap.size()).isEqualTo(0);
+    }
+
+    @Test
+    public void addDevice_addToAvailableHearingDeviceGroup() {
+        doReturn(BluetoothAdapter.STATE_ON).when(mBluetoothAdapter).getState();
+
+        assertThat(mFragment.mDevicePreferenceMap.size()).isEqualTo(0);
+
+        mFragment.addDevice(mCachedDevice);
+
+        verify(mAvailableHearingDeviceGroup).addPreference(mDevicePreference);
+        assertThat(mFragment.mDevicePreferenceMap.size()).isEqualTo(1);
+    }
+
+    @Test
+    public void handleLeScanResult_markDeviceAsHearingAid() {
+        ScanResult scanResult = mock(ScanResult.class);
+        doReturn(mDevice).when(scanResult).getDevice();
+        doReturn(mCachedDevice).when(mCachedDeviceManager).findDevice(mDevice);
+
+        mFragment.handleLeScanResult(scanResult);
+
+        verify(mCachedDevice).setHearingAidInfo(new HearingAidInfo.Builder().build());
+    }
+
+    @Test
+    public void handleLeScanResult_isAndroidCompatible_addDevice() {
+        ScanResult scanResult = mock(ScanResult.class);
+        doReturn(mDevice).when(scanResult).getDevice();
+        doReturn(mCachedDevice).when(mCachedDeviceManager).findDevice(mDevice);
+        doReturn(true).when(mFragment).isAndroidCompatibleHearingAid(scanResult);
+
+        mFragment.handleLeScanResult(scanResult);
+
+        verify(mFragment).addDevice(mCachedDevice);
+    }
+
+    @Test
+    public void handleLeScanResult_isNotAndroidCompatible_() {
+        ScanResult scanResult = mock(ScanResult.class);
+        doReturn(mDevice).when(scanResult).getDevice();
+        doReturn(mCachedDevice).when(mCachedDeviceManager).findDevice(mDevice);
+        doReturn(false).when(mFragment).isAndroidCompatibleHearingAid(scanResult);
+
+        mFragment.handleLeScanResult(scanResult);
+
+        verify(mFragment).discoverServices(mCachedDevice);
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceConnected_inSelectedList_finish() {
+        doReturn(true).when(mCachedDevice).isConnected();
+        mFragment.mSelectedDeviceList.add(mDevice);
+
+        mFragment.onProfileConnectionStateChanged(mCachedDevice, BluetoothAdapter.STATE_CONNECTED,
+                BluetoothProfile.A2DP);
+
+        verify(mFragment).finish();
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceConnected_notInSelectedList_deleteDevice() {
+        doReturn(true).when(mCachedDevice).isConnected();
+
+        mFragment.onProfileConnectionStateChanged(mCachedDevice, BluetoothAdapter.STATE_CONNECTED,
+                BluetoothProfile.A2DP);
+
+        verify(mFragment).removeDevice(mCachedDevice);
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_deviceNotConnected_doNothing() {
+        doReturn(false).when(mCachedDevice).isConnected();
+
+        mFragment.onProfileConnectionStateChanged(mCachedDevice, BluetoothAdapter.STATE_CONNECTED,
+                BluetoothProfile.A2DP);
+
+        verify(mFragment, never()).finish();
+        verify(mFragment, never()).removeDevice(mCachedDevice);
+    }
+
+    @Test
+    public void onBluetoothStateChanged_stateOn_startScanningAndShowToast() {
+        mFragment.onBluetoothStateChanged(BluetoothAdapter.STATE_ON);
+
+        verify(mFragment).startScanning();
+        verify(mFragment).showBluetoothTurnedOnToast();
+    }
+
+    @Test
+    public void onBluetoothStateChanged_stateOff_finish() {
+        mFragment.onBluetoothStateChanged(BluetoothAdapter.STATE_OFF);
+
+        verify(mFragment).finish();
+    }
+
+    @Test
+    public void onDeviceBondStateChanged_bonded_finish() {
+        mFragment.onDeviceBondStateChanged(mCachedDevice, BluetoothDevice.BOND_BONDED);
+
+        verify(mFragment).finish();
+    }
+
+    @Test
+    public void onDeviceBondStateChanged_selectedDeviceNotBonded_startScanning() {
+        mFragment.mSelectedDevice = mDevice;
+
+        mFragment.onDeviceBondStateChanged(mCachedDevice, BluetoothDevice.BOND_NONE);
+
+        verify(mFragment).startScanning();
+    }
+
+    @Test
+    public void isAndroidCompatibleHearingAid_asha_returnTrue() {
+        ScanResult scanResult = createAshaScanResult();
+
+        boolean isCompatible = mFragment.isAndroidCompatibleHearingAid(scanResult);
+
+        assertThat(isCompatible).isTrue();
+    }
+
+    @Test
+    public void isAndroidCompatibleHearingAid_has_returnTrue() {
+        ScanResult scanResult = createHasScanResult();
+
+        boolean isCompatible = mFragment.isAndroidCompatibleHearingAid(scanResult);
+
+        assertThat(isCompatible).isTrue();
+    }
+
+    @Test
+    public void isAndroidCompatibleHearingAid_mfiHas_returnFalse() {
+        ScanResult scanResult = createMfiHasScanResult();
+
+        boolean isCompatible = mFragment.isAndroidCompatibleHearingAid(scanResult);
+
+        assertThat(isCompatible).isFalse();
+    }
+
+    private ScanResult createAshaScanResult() {
+        ScanResult scanResult = mock(ScanResult.class);
+        ScanRecord scanRecord = mock(ScanRecord.class);
+        byte[] fakeAshaServiceData = new byte[] {
+                0x09, 0x16, (byte) 0xf0, (byte) 0xfd, 0x01, 0x00, 0x01, 0x02, 0x03, 0x04};
+        doReturn(scanRecord).when(scanResult).getScanRecord();
+        doReturn(fakeAshaServiceData).when(scanRecord).getServiceData(BluetoothUuid.HEARING_AID);
+        return scanResult;
+    }
+
+    private ScanResult createHasScanResult() {
+        ScanResult scanResult = mock(ScanResult.class);
+        ScanRecord scanRecord = mock(ScanRecord.class);
+        doReturn(scanRecord).when(scanResult).getScanRecord();
+        doReturn(List.of(BluetoothUuid.HAS)).when(scanRecord).getServiceUuids();
+        return scanResult;
+    }
+
+    private ScanResult createMfiHasScanResult() {
+        ScanResult scanResult = mock(ScanResult.class);
+        ScanRecord scanRecord = mock(ScanRecord.class);
+        byte[] fakeMfiServiceData = new byte[] {0x00, 0x00, 0x00, 0x00};
+        doReturn(scanRecord).when(scanResult).getScanRecord();
+        doReturn(fakeMfiServiceData).when(scanRecord).getServiceData(BluetoothUuid.MFI_HAS);
+        return scanResult;
+    }
+
+    private class TestHearingDevicePairingFragment extends HearingDevicePairingFragment {
+        @Override
+        protected Preference getCachedPreference(String key) {
+            if (key.equals(TEST_DEVICE_ADDRESS)) {
+                return mDevicePreference;
+            }
+            return super.getCachedPreference(key);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
new file mode 100644
index 0000000..cf12e34
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/KeyboardVibrationTogglePreferenceControllerTest.java
@@ -0,0 +1,181 @@
+/*
+ * 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.accessibility;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+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.eq;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+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;
+
+import androidx.preference.PreferenceScreen;
+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;
+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 KeyboardVibrationTogglePreferenceController}. */
+@RunWith(RobolectricTestRunner.class)
+public class KeyboardVibrationTogglePreferenceControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+
+    private Context mContext;
+    private Resources mResources;
+    private KeyboardVibrationTogglePreferenceController mController;
+    private SwitchPreference mPreference;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mResources);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mController = new KeyboardVibrationTogglePreferenceController(mContext, "preferenceKey");
+        mPreference = new SwitchPreference(mContext);
+        when(mPreferenceScreen.findPreference(
+                mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void getAvailabilityStatus_featureSupported_available() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_KEYBOARD_CATEGORY_ENABLED);
+        when(mResources.getBoolean(R.bool.config_keyboard_vibration_supported)).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);
+
+        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() {
+        updateSystemSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, OFF);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void updateState_mainVibrateEnabled_shouldReturnTrueForEnabled() {
+        updateSystemSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, ON);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void isChecked_keyboardVibrateEnabled_shouldReturnTrue() {
+        updateSystemSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, ON);
+        updateSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED, ON);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_keyboardVibrateDisabled_shouldReturnFalse() {
+        updateSystemSetting(VibrationPreferenceConfig.MAIN_SWITCH_SETTING_KEY, ON);
+        updateSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED, OFF);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_checked_updateSettings() throws Settings.SettingNotFoundException {
+        // set an off state initially
+        updateSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED, OFF);
+
+        assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(OFF);
+
+        mController.setChecked(true);
+
+        assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(ON);
+        verify(mFeatureFactory.metricsFeatureProvider).action(any(),
+                eq(SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED), eq(true));
+    }
+
+    @Test
+    public void setChecked_unchecked_updateSettings() throws Settings.SettingNotFoundException {
+        // set an on state initially
+        updateSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED, ON);
+
+        assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(ON);
+
+        mController.setChecked(false);
+
+        assertThat(readSystemSetting(Settings.System.KEYBOARD_VIBRATION_ENABLED)).isEqualTo(OFF);
+        verify(mFeatureFactory.metricsFeatureProvider).action(any(),
+                eq(SettingsEnums.ACTION_KEYBOARD_VIBRATION_CHANGED), eq(false));
+    }
+
+    private void updateSystemSetting(String key, int value) {
+        Settings.System.putInt(mContext.getContentResolver(), key, value);
+    }
+
+    private int readSystemSetting(String key) throws Settings.SettingNotFoundException {
+        return Settings.System.getInt(mContext.getContentResolver(), key);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
index 9e0ce9c..a7a7f8f 100644
--- a/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/LiveCaptionPreferenceControllerTest.java
@@ -21,13 +21,19 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import android.content.Context;
 import android.content.pm.ResolveInfo;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
 import org.robolectric.shadows.ShadowPackageManager;
 
@@ -36,18 +42,21 @@
 @RunWith(RobolectricTestRunner.class)
 public class LiveCaptionPreferenceControllerTest {
 
+    private Context mContext;
     private LiveCaptionPreferenceController mController;
+    private Preference mLiveCaptionPreference;
 
     @Before
     public void setUp() {
-        mController = new LiveCaptionPreferenceController(RuntimeEnvironment.application,
-                "test_key");
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new LiveCaptionPreferenceController(mContext, "test_key");
+        mLiveCaptionPreference = new Preference(mContext);
+        mLiveCaptionPreference.setSummary(R.string.live_caption_summary);
     }
 
     @Test
     public void getAvailabilityStatus_canResolveIntent_shouldReturnAvailable() {
-        final ShadowPackageManager pm = Shadows.shadowOf(
-                RuntimeEnvironment.application.getPackageManager());
+        final ShadowPackageManager pm = Shadows.shadowOf(mContext.getPackageManager());
         pm.addResolveInfoForIntent(LiveCaptionPreferenceController.LIVE_CAPTION_INTENT,
                 new ResolveInfo());
 
@@ -56,11 +65,37 @@
 
     @Test
     public void getAvailabilityStatus_noResolveIntent_shouldReturnUnavailable() {
-        final ShadowPackageManager pm = Shadows.shadowOf(
-                RuntimeEnvironment.application.getPackageManager());
+        final ShadowPackageManager pm = Shadows.shadowOf(mContext.getPackageManager());
         pm.setResolveInfosForIntent(LiveCaptionPreferenceController.LIVE_CAPTION_INTENT,
                 Collections.emptyList());
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
+
+    @Test
+    public void updateState_liveCaptionEnabled_subtextShowsOnSummary() {
+        setLiveCaptionEnabled(true);
+
+        mController.updateState(mLiveCaptionPreference);
+
+        assertThat(mLiveCaptionPreference.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.live_caption_summary)
+        );
+    }
+
+    @Test
+    public void updateState_liveCaptionDisabled_subtextShowsOffSummary() {
+        setLiveCaptionEnabled(false);
+
+        mController.updateState(mLiveCaptionPreference);
+
+        assertThat(mLiveCaptionPreference.getSummary()).isEqualTo(
+                mContext.getString(R.string.live_caption_summary)
+        );
+    }
+
+    private void setLiveCaptionEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.ODI_CAPTIONS_ENABLED,
+                enabled ? AccessibilityUtil.State.ON: AccessibilityUtil.State.OFF);
+    }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java
index f908b8a..c98ad3d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/LockScreenRotationPreferenceControllerTest.java
@@ -37,6 +37,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+})
 public class LockScreenRotationPreferenceControllerTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java
deleted file mode 100644
index c7d70e0..0000000
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationGesturesPreferenceControllerTest.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.accessibility;
-
-import static com.android.settings.accessibility.MagnificationPreferenceFragment.OFF;
-import static com.android.settings.accessibility.MagnificationPreferenceFragment.ON;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-import com.android.settings.core.BasePreferenceController;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class MagnificationGesturesPreferenceControllerTest {
-
-    private Context mContext;
-    private MagnificationGesturesPreferenceController mController;
-    private Preference mPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = new MagnificationGesturesPreferenceController(mContext, "pref_key");
-        mPreference = new Preference(mContext);
-        mController.updateState(mPreference);
-    }
-
-    @Test
-    public void isAlwaysAvailable() {
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.AVAILABLE);
-    }
-
-    @Test
-    public void updateState_shouldRefreshSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, ON);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.accessibility_feature_state_on));
-
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.accessibility_feature_state_off));
-    }
-
-    @Test
-    public void updateState_shouldRefreshSummarySuw() {
-        mController.setIsFromSUW(true);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.
-                        accessibility_screen_magnification_short_summary));
-    }
-
-    @Test
-    public void isChecked_enabled() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, ON);
-
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void isChecked_disabled() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, OFF);
-
-        assertThat(mController.isChecked()).isFalse();
-    }
-
-    @Test
-    public void setChecked_enabled() {
-        mController.setChecked(true);
-
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, -1))
-                .isEqualTo(ON);
-    }
-
-    @Test
-    public void setChecked_disabled() {
-        mController.setChecked(false);
-
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED, -1))
-                .isEqualTo(OFF);
-    }
-
-    @Test
-    public void isSliceableCorrectKey_returnsTrue() {
-        final MagnificationGesturesPreferenceController controller =
-                new MagnificationGesturesPreferenceController(mContext,
-                        "screen_magnification_gestures_preference_screen");
-        assertThat(controller.isSliceable()).isTrue();
-    }
-
-    @Test
-    public void isSliceableIncorrectKey_returnsFalse() {
-        final MagnificationGesturesPreferenceController controller =
-                new MagnificationGesturesPreferenceController(mContext, "bad_key");
-        assertThat(controller.isSliceable()).isFalse();
-    }
-
-    @Test
-    public void isPublicSlice_returnTrue() {
-        assertThat(mController.isPublicSlice()).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
index 30ba9b6..62ff39b 100644
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/MagnificationModePreferenceControllerTest.java
@@ -16,9 +16,9 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
 import static com.android.settings.accessibility.MagnificationCapabilities.MagnificationMode;
 import static com.android.settings.accessibility.MagnificationModePreferenceController.MagnificationModeInfo;
-import static com.android.settings.accessibility.MagnificationPreferenceFragment.ON;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -74,7 +74,7 @@
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final PreferenceManager preferenceManager = new PreferenceManager(mContext);
         mScreen = preferenceManager.createPreferenceScreen(mContext);
         mModePreference = new Preference(mContext);
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java
deleted file mode 100644
index 83fe496..0000000
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationNavbarPreferenceControllerTest.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.MagnificationPreferenceFragment.OFF;
-import static com.android.settings.accessibility.MagnificationPreferenceFragment.ON;
-import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
-
-@RunWith(RobolectricTestRunner.class)
-public class MagnificationNavbarPreferenceControllerTest {
-
-    private Context mContext;
-    private MagnificationNavbarPreferenceController mController;
-    private Preference mPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mController = new MagnificationNavbarPreferenceController(mContext, "test_key");
-        mPreference = new Preference(mContext);
-        mController.updateState(mPreference);
-    }
-
-    @After
-    public void tearDown() {
-        ShadowMagnificationPreferenceFragment.reset();
-    }
-
-    @Test
-    @Config(shadows = ShadowMagnificationPreferenceFragment.class)
-    public void isAvailable_unsupported_shouldNotBeAvailable() {
-        ShadowMagnificationPreferenceFragment.setApplicable(false);
-
-        assertThat(mController.getAvailabilityStatus())
-                .isNotEqualTo(AVAILABLE);
-    }
-
-    @Test
-    @Config(shadows = ShadowMagnificationPreferenceFragment.class)
-    public void isAvailable_supported_shouldBeAvailable() {
-        ShadowMagnificationPreferenceFragment.setApplicable(true);
-
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void updateState_shouldRefreshSummary() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, ON);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_on));
-
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, OFF);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getText(R.string.accessibility_feature_state_off));
-    }
-
-    @Test
-    public void updateState_shouldRefreshSummarySuw() {
-        mController.setIsFromSUW(true);
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.
-                        accessibility_screen_magnification_navbar_short_summary));
-    }
-
-    @Test
-    public void isChecked_enabled() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, ON);
-
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void isChecked_disabled() {
-        Settings.Secure.putInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, OFF);
-
-        assertThat(mController.isChecked()).isFalse();
-    }
-
-    @Test
-    public void setChecked_enabled() {
-        mController.setChecked(true);
-
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, -1))
-                .isEqualTo(ON);
-    }
-
-    @Test
-    public void setChecked_disabled() {
-        mController.setChecked(false);
-
-        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
-                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED, -1))
-                .isEqualTo(OFF);
-    }
-
-    @Implements(MagnificationPreferenceFragment.class)
-    public static class ShadowMagnificationPreferenceFragment {
-        private static boolean sIsApplicable;
-
-        @Resetter
-        static void reset() {
-            sIsApplicable = false;
-        }
-
-        @Implementation
-        protected static boolean isApplicable(Resources res) {
-            return sIsApplicable;
-        }
-
-        static void setApplicable(boolean applicable) {
-            sIsApplicable = applicable;
-        }
-    }
-
-    @Test
-    public void isSliceableCorrectKey_returnsTrue() {
-        final MagnificationNavbarPreferenceController controller =
-                new MagnificationNavbarPreferenceController(mContext,
-                        "screen_magnification_navbar_preference_screen");
-        assertThat(controller.isSliceable()).isTrue();
-    }
-
-    @Test
-    public void isSliceableIncorrectKey_returnsFalse() {
-        final MagnificationNavbarPreferenceController controller =
-                new MagnificationNavbarPreferenceController(mContext, "bad_key");
-        assertThat(controller.isSliceable()).isFalse();
-    }
-
-    @Test
-    public void isPublicSlice_returnTrue() {
-        assertThat(mController.isPublicSlice()).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/accessibility/MagnificationSettingsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/MagnificationSettingsFragmentTest.java
deleted file mode 100644
index a1a146d..0000000
--- a/tests/robotests/src/com/android/settings/accessibility/MagnificationSettingsFragmentTest.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.accessibility;
-
-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.RETURNS_DEEP_STUBS;
-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 androidx.fragment.app.FragmentManager;
-import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.DialogCreatable;
-import com.android.settings.R;
-import com.android.settings.testutils.XmlTestUtils;
-import com.android.settings.testutils.shadow.ShadowDashboardFragment;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-import java.util.List;
-
-/** Tests for {@link MagnificationSettingsFragment} */
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowDashboardFragment.class)
-public class MagnificationSettingsFragmentTest {
-
-    private final Context mContext = ApplicationProvider.getApplicationContext();
-    private MagnificationSettingsFragment mFragment;
-    private PreferenceScreen mScreen;
-
-    @Before
-    public void setup() {
-        mContext.setTheme(R.style.Theme_AppCompat);
-        mFragment = spy(new MagnificationSettingsFragment());
-        mScreen = new PreferenceScreen(mContext, null);
-
-        doReturn(mContext).when(mFragment).getContext();
-        doReturn(mScreen).when(mFragment).getPreferenceScreen();
-        doReturn(mock(FragmentManager.class, Answers.RETURNS_DEEP_STUBS)).when(
-                mFragment).getChildFragmentManager();
-    }
-
-    @Test
-    public void showPreferenceOnTheScreen_setDialogHelper() {
-        showPreferenceOnTheScreen(null);
-
-        verify(mFragment).setDialogDelegate(any(MagnificationModePreferenceController.class));
-    }
-
-    @Test
-    public void onCreateDialog_setDialogDelegate_invokeDialogDelegate() {
-        final DialogCreatable dialogDelegate = mock(DialogCreatable.class, RETURNS_DEEP_STUBS);
-        when(dialogDelegate.getDialogMetricsCategory(anyInt())).thenReturn(1);
-
-        mFragment.setDialogDelegate(dialogDelegate);
-
-        mFragment.onCreateDialog(1);
-        mFragment.getDialogMetricsCategory(1);
-
-        verify(dialogDelegate).onCreateDialog(1);
-        verify(dialogDelegate).getDialogMetricsCategory(1);
-    }
-
-    @Test
-    public void getMetricsCategory_returnsCorrectCategory() {
-        assertThat(mFragment.getMetricsCategory()).isEqualTo(
-                SettingsEnums.ACCESSIBILITY_MAGNIFICATION_SETTINGS);
-    }
-
-    @Test
-    public void getPreferenceScreenResId_returnsCorrectXml() {
-        assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(
-                R.xml.accessibility_magnification_service_settings);
-    }
-
-    @Test
-    public void getLogTag_returnsCorrectTag() {
-        assertThat(mFragment.getLogTag()).isEqualTo("MagnificationSettingsFragment");
-    }
-
-    @Test
-    public void getNonIndexableKeys_existInXmlLayout() {
-        final List<String> niks =
-                ShortcutsSettingsFragment.SEARCH_INDEX_DATA_PROVIDER
-                        .getNonIndexableKeys(mContext);
-        final List<String> keys =
-                XmlTestUtils.getKeysFromPreferenceXml(mContext,
-                        R.xml.accessibility_magnification_service_settings);
-        assertThat(keys).containsAtLeastElementsIn(niks);
-    }
-
-    private void showPreferenceOnTheScreen(Bundle savedInstanceState) {
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(savedInstanceState);
-        mFragment.onResume();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java
index 0638af9..a9bd2d0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationIntensityPreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -147,7 +146,6 @@
 
 
     @Test
-    @Ignore
     public void setProgress_updatesIntensitySetting() throws Exception {
         mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF);
         assertThat(readSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY))
diff --git a/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationTogglePreferenceControllerTest.java
index 4b6f686..28244e5 100644
--- a/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/NotificationVibrationTogglePreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -138,7 +137,6 @@
     }
 
     @Test
-    @Ignore
     public void setChecked_updatesIntensityAndDependentSettings() throws Exception {
         updateSetting(Settings.System.NOTIFICATION_VIBRATION_INTENSITY,
                 Vibrator.VIBRATION_INTENSITY_OFF);
diff --git a/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
index 1cea056..14306e0 100644
--- a/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/PreviewSizeSeekBarControllerTest.java
@@ -26,34 +26,42 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.Activity;
 import android.content.ComponentName;
-import android.content.Context;
+import android.content.Intent;
 import android.os.Bundle;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.view.LayoutInflater;
 import android.widget.PopupWindow;
 import android.widget.SeekBar;
 
+import androidx.fragment.app.testing.EmptyFragmentActivity;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.PreferenceViewHolder;
 import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
 
 import com.android.settings.R;
 import com.android.settings.SettingsPreferenceFragment;
 import com.android.settings.testutils.shadow.ShadowFragment;
-import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
 import com.android.settings.widget.LabeledSeekBarPreference;
-import com.android.settings.widget.SeekBarPreference;
+import com.android.settingslib.testutils.shadow.ShadowInteractionJankMonitor;
+
+import com.google.android.setupcompat.util.WizardManagerHelper;
 
 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.mockito.Spy;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowApplication;
 
@@ -61,12 +69,19 @@
  * Tests for {@link PreviewSizeSeekBarController}.
  */
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowInteractionJankMonitor.class})
 public class PreviewSizeSeekBarControllerTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Rule
+    public ActivityScenarioRule<EmptyFragmentActivity> rule =
+            new ActivityScenarioRule<>(EmptyFragmentActivity.class);
     private static final String FONT_SIZE_KEY = "font_size";
     private static final String KEY_SAVED_QS_TOOLTIP_RESHOW = "qs_tooltip_reshow";
-    @Spy
-    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private Activity mContext;
     private PreviewSizeSeekBarController mSeekBarController;
     private FontSizeData mFontSizeData;
     private LabeledSeekBarPreference mSeekBarPreference;
@@ -90,8 +105,10 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        ShadowInteractionJankMonitor.reset();
 
-        mContext.setTheme(R.style.Theme_AppCompat);
+        rule.getScenario().onActivity(activity -> mContext = activity);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mFragment = spy(new TestFragment());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
@@ -196,6 +213,24 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_REMOVE_QS_TOOLTIP_IN_SUW)
+    public void onProgressChanged_inSuw_toolTipShouldNotShown() {
+        Intent intent = mContext.getIntent();
+        intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
+        mContext.setIntent(intent);
+        mSeekBarController.displayPreference(mPreferenceScreen);
+
+        // Simulate changing the progress for the first time
+        int newProgress = (mSeekBarPreference.getProgress() != 0) ? 0 : mSeekBarPreference.getMax();
+        mSeekBarPreference.setProgress(newProgress);
+        mSeekBarPreference.onProgressChanged(new SeekBar(mContext),
+                newProgress,
+                /* fromUser= */ false);
+
+        assertThat(getLatestPopupWindow()).isNull();
+    }
+
+    @Test
     public void onProgressChanged_tooltipViewHasBeenShown_notShowTooltipView() {
         mSeekBarController.displayPreference(mPreferenceScreen);
         // Simulate changing the progress for the first time
diff --git a/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java b/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java
index 99a78cf..bc9c1d8 100644
--- a/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/RestrictedPreferenceHelperTest.java
@@ -31,9 +31,14 @@
 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.flag.junit.SetFlagsRule;
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 import com.android.settingslib.RestrictedPreference;
 
 import org.junit.Rule;
@@ -45,6 +50,7 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
@@ -53,6 +59,9 @@
 
 /** Test for {@link RestrictedPreferenceHelper}. */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowRestrictedLockUtilsInternal.class
+})
 public class RestrictedPreferenceHelperTest {
 
     private static final String PACKAGE_NAME = "com.android.test";
@@ -72,6 +81,11 @@
     private AccessibilityShortcutInfo mShortcutInfo;
     private final RestrictedPreferenceHelper mHelper = new RestrictedPreferenceHelper(mContext);
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Test
     public void createAccessibilityServicePreferenceList_hasOneInfo_containsSameKey() {
         final String key = COMPONENT_NAME.flattenToString();
@@ -86,6 +100,37 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(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(
+                mServiceInfo.getResolveInfo().serviceInfo.packageName);
+        final List<AccessibilityServiceInfo> infoList = new ArrayList<>(
+                singletonList(mServiceInfo));
+
+        final List<RestrictedPreference> preferenceList =
+                mHelper.createAccessibilityServicePreferenceList(infoList);
+        final RestrictedPreference preference = preferenceList.get(0);
+
+        assertThat(preference.isDisabledByEcm()).isTrue();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(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();
+        final List<AccessibilityServiceInfo> infoList = new ArrayList<>(
+                singletonList(mServiceInfo));
+
+        final List<RestrictedPreference> preferenceList =
+                mHelper.createAccessibilityServicePreferenceList(infoList);
+        final RestrictedPreference preference = preferenceList.get(0);
+
+        assertThat(preference.isDisabledByEcm()).isFalse();
+    }
+
+    @Test
     public void createAccessibilityActivityPreferenceList_hasOneInfo_containsSameKey() {
         final String key = COMPONENT_NAME.flattenToString();
         setMockAccessibilityShortcutInfo(mShortcutInfo);
diff --git a/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java
index 2ff5d71..67f643a 100644
--- a/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/RingVibrationIntensityPreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -167,7 +166,6 @@
     }
 
     @Test
-    @Ignore
     public void setProgress_updatesIntensityAndDependentSettings() throws Exception {
         mController.setSliderPosition(Vibrator.VIBRATION_INTENSITY_OFF);
         assertThat(readSetting(Settings.System.RING_VIBRATION_INTENSITY))
diff --git a/tests/robotests/src/com/android/settings/accessibility/RingVibrationTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/RingVibrationTogglePreferenceControllerTest.java
index 865c290..06a6a9c 100644
--- a/tests/robotests/src/com/android/settings/accessibility/RingVibrationTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/RingVibrationTogglePreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -161,7 +160,6 @@
     }
 
     @Test
-    @Ignore
     public void setChecked_updatesIntensityAndDependentSettings() throws Exception {
         updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_OFF);
         mController.updateState(mPreference);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java
index 19089c9..f3fa69d 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationColorDialogFragmentTest.java
@@ -39,26 +39,29 @@
 import android.graphics.Color;
 
 import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
 
 import com.android.settings.R;
+import com.android.settings.testutils.FakeTimer;
 
+import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.shadows.ShadowContextWrapper;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowLooper;
+import org.robolectric.util.ReflectionHelpers;
 
-import java.util.ArrayList;
 import java.util.List;
+import java.util.Timer;
+import java.util.function.Consumer;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 public class ScreenFlashNotificationColorDialogFragmentTest {
 
-    private ShadowContextWrapper mShadowContextWrapper;
+    private FragmentScenario<TestScreenFlashNotificationColorDialogFragment> mFragmentScenario;
     private ScreenFlashNotificationColorDialogFragment mDialogFragment;
     private AlertDialog mAlertDialog;
     private ColorSelectorLayout mColorSelectorLayout;
@@ -66,19 +69,18 @@
 
     @Before
     public void setUp() {
-        FragmentActivity fragmentActivity = Robolectric.setupActivity(FragmentActivity.class);
-        mShadowContextWrapper = shadowOf(fragmentActivity);
-
         mCurrentColor = ROSE.mColorInt;
-        mDialogFragment = ScreenFlashNotificationColorDialogFragment.getInstance(
-                mCurrentColor, selectedColor -> mCurrentColor = selectedColor
-        );
-        mDialogFragment.show(fragmentActivity.getSupportFragmentManager(), "test");
+        mFragmentScenario = FragmentScenario.launch(
+                TestScreenFlashNotificationColorDialogFragment.class,
+                /* fragmentArgs= */ null,
+                R.style.Theme_AlertDialog_SettingsLib,
+                Lifecycle.State.INITIALIZED);
+        setupFragment();
+    }
 
-        mAlertDialog = (AlertDialog) mDialogFragment.getDialog();
-        if (mAlertDialog != null) {
-            mColorSelectorLayout = mAlertDialog.findViewById(R.id.color_selector_preference);
-        }
+    @After
+    public void cleanUp() {
+        mFragmentScenario.close();
     }
 
     @Test
@@ -93,16 +95,19 @@
     }
 
     @Test
-    public void clickNeutral_assertStartPreview() throws InterruptedException {
+    public void clickNeutral_assertStartPreview() {
         performClickOnDialog(BUTTON_NEUTRAL);
-        Thread.sleep(100);
+        getTimerFromFragment().runOneTask();
 
-        Intent captured = getLastCapturedIntent();
-        assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
-        assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW))
-                .isEqualTo(TYPE_LONG_PREVIEW);
-        assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, Color.TRANSPARENT))
-                .isEqualTo(ROSE.mColorInt);
+        assertStartPreview(ROSE.mColorInt);
+    }
+
+    @Test
+    public void clickNeutral_flushAllScheduledTasks_assertStopPreview() {
+        performClickOnDialog(BUTTON_NEUTRAL);
+        getTimerFromFragment().runAllTasks();
+
+        assertStopPreview();
     }
 
     @Test
@@ -118,51 +123,48 @@
     }
 
     @Test
-    public void clickNeutralAndPause_assertStopPreview() throws InterruptedException {
+    public void clickNeutralAndPause_assertStopPreview() {
         performClickOnDialog(BUTTON_NEUTRAL);
-        Thread.sleep(100);
-        mDialogFragment.onPause();
-        Thread.sleep(100);
+        getTimerFromFragment().runOneTask();
+        // move the state from RESUMED to CREATED to make fragment's onPause() to be called
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
 
-        assertThat(getLastCapturedIntent().getAction())
-                .isEqualTo(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
+        assertStopPreview();
     }
 
     @Test
-    public void clickNeutralAndClickNegative_assertStopPreview() throws InterruptedException {
+    public void clickNeutralAndClickNegative_assertStopPreview() {
         performClickOnDialog(BUTTON_NEUTRAL);
-        Thread.sleep(100);
+        getTimerFromFragment().runOneTask();
         performClickOnDialog(BUTTON_NEGATIVE);
-        Thread.sleep(100);
 
-        assertThat(getLastCapturedIntent().getAction())
-                .isEqualTo(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
+        assertStopPreview();
     }
 
     @Test
-    public void clickNeutralAndClickPositive_assertStopPreview() throws InterruptedException {
+    public void clickNeutralAndClickPositive_assertStopPreview() {
         performClickOnDialog(BUTTON_NEUTRAL);
-        Thread.sleep(100);
+        getTimerFromFragment().runOneTask();
         performClickOnDialog(BUTTON_POSITIVE);
-        Thread.sleep(100);
 
-        assertThat(getLastCapturedIntent().getAction())
-                .isEqualTo(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
+        assertStopPreview();
     }
 
     @Test
-    public void clickNeutralAndClickColor_assertStartPreview() throws InterruptedException {
+    public void clickNeutralAndClickColor_assertStartPreview() {
         performClickOnDialog(BUTTON_NEUTRAL);
-        Thread.sleep(100);
+        getTimerFromFragment().runOneTask();
         checkColorButton(CYAN);
-        Thread.sleep(500);
+        // When changing the color while the preview is running, the fragment will schedule three
+        // tasks: stop the current preview, start the new preview, stop the new preview
+        int numOfPendingTasks = getTimerFromFragment().numOfPendingTasks();
+        // Run all the pending tasks except the last one
+        while (numOfPendingTasks > 1) {
+            getTimerFromFragment().runOneTask();
+            numOfPendingTasks--;
+        }
 
-        Intent captured = getLastCapturedIntent();
-        assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
-        assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW))
-                .isEqualTo(TYPE_LONG_PREVIEW);
-        assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, Color.TRANSPARENT))
-                .isEqualTo(CYAN.mColorInt);
+        assertStartPreview(CYAN.mColorInt);
     }
 
     @Test
@@ -170,6 +172,7 @@
         checkColorButton(AZURE);
         performClickOnDialog(BUTTON_NEGATIVE);
 
+        assertThat(getTimerFromFragment()).isNull();
         assertThat(mCurrentColor).isEqualTo(ROSE.mColorInt);
     }
 
@@ -187,12 +190,63 @@
 
     private void performClickOnDialog(int whichButton) {
         mAlertDialog.getButton(whichButton).performClick();
+        ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
     }
 
     private Intent getLastCapturedIntent() {
-        final List<Intent> capturedIntents = new ArrayList<>(
-                mShadowContextWrapper.getBroadcastIntents());
+        final List<Intent> capturedIntents =
+                shadowOf(RuntimeEnvironment.getApplication()).getBroadcastIntents();
         final int size = capturedIntents.size();
         return capturedIntents.get(size - 1);
     }
+
+    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 -> {
+            assertThat(fragment.getDialog()).isNotNull();
+            assertThat(fragment.requireDialog().isShowing()).isTrue();
+            assertThat(fragment.requireDialog()).isInstanceOf(AlertDialog.class);
+            mAlertDialog = (AlertDialog) fragment.requireDialog();
+            mDialogFragment = fragment;
+            mColorSelectorLayout = mAlertDialog.findViewById(R.id.color_selector_preference);
+        });
+    }
+
+    private FakeTimer getTimerFromFragment() {
+        return (FakeTimer) ReflectionHelpers.getField(mDialogFragment, "mTimer");
+    }
+
+    private void assertStartPreview(int color) {
+        Intent captured = getLastCapturedIntent();
+        assertThat(captured.getAction()).isEqualTo(ACTION_FLASH_NOTIFICATION_START_PREVIEW);
+        assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_TYPE, TYPE_SHORT_PREVIEW))
+                .isEqualTo(TYPE_LONG_PREVIEW);
+        assertThat(captured.getIntExtra(EXTRA_FLASH_NOTIFICATION_PREVIEW_COLOR, Color.TRANSPARENT))
+                .isEqualTo(color);
+    }
+
+    private void assertStopPreview() {
+        assertThat(getTimerFromFragment().numOfPendingTasks()).isEqualTo(0);
+        assertThat(getLastCapturedIntent().getAction())
+                .isEqualTo(ACTION_FLASH_NOTIFICATION_STOP_PREVIEW);
+    }
+
+    /**
+     * A {@link ScreenFlashNotificationColorDialogFragment} that uses a fake timer so that it won't
+     * create unmanageable timer threads during test.
+     */
+    public static class TestScreenFlashNotificationColorDialogFragment extends
+            ScreenFlashNotificationColorDialogFragment {
+
+        @Override
+        Timer createTimer() {
+            return new FakeTimer();
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java
index 8b26245..95a9438 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ScreenFlashNotificationPreferenceControllerTest.java
@@ -40,7 +40,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.After;
 import org.junit.Before;
@@ -65,6 +64,7 @@
         ScreenFlashNotificationPreferenceControllerTest
                 .ShadowScreenFlashNotificationColorDialogFragment.class,
         ShadowFlashNotificationsUtils.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
 })
 public class ScreenFlashNotificationPreferenceControllerTest {
     private static final String PREFERENCE_KEY = "preference_key";
@@ -90,10 +90,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        FragmentActivity fragmentActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-
-
+        FragmentActivity fragmentActivity = Robolectric.setupActivity(FragmentActivity.class);
         Context context = fragmentActivity.getApplicationContext();
         ShadowScreenFlashNotificationColorDialogFragment.setInstance(mDialogFragment);
         ShadowFlashNotificationsUtils.setColorDescriptionText(COLOR_DESCRIPTION_TEXT);
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
index 4ee2a2d..41502b3 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentForSetupWizardTest.java
@@ -16,11 +16,13 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.settings.accessibility.TextReadingPreferenceFragment.PREVIEW_KEY;
 import static com.android.settings.accessibility.TextReadingPreferenceFragment.RESET_KEY;
 
 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.spy;
@@ -65,6 +67,9 @@
     @Mock
     private FragmentActivity mActivity;
 
+    @Mock
+    private TextReadingPreviewPreference mPreviewPreference;
+
     @Spy
     private final Context mContext = ApplicationProvider.getApplicationContext();
     private TextReadingPreferenceFragmentForSetupWizard mFragment;
@@ -77,6 +82,7 @@
         doReturn(mContext).when(mFragment).getContext();
         doReturn(mock(LifecycleOwner.class)).when(mFragment).getViewLifecycleOwner();
         doReturn(resetPreference).when(mFragment).findPreference(RESET_KEY);
+        doReturn(mPreviewPreference).when(mFragment).findPreference(PREVIEW_KEY);
         doReturn(mFooterBarMixin).when(mGlifLayoutView).getMixin(FooterBarMixin.class);
     }
 
@@ -109,4 +115,12 @@
         verify(mFooterBarMixin).setPrimaryButton(any());
         verify(mFooterBarMixin).setSecondaryButton(any());
     }
+
+    @Test
+    public void adjustPreviewPaddingsForSetupWizard_setPreviewLayoutPaddings() {
+        mFragment.adjustPreviewPaddingsForSetupWizard();
+
+        verify(mPreviewPreference).setLayoutMinHorizontalPadding(anyInt());
+        verify(mPreviewPreference).setBackgroundMinHorizontalPadding(anyInt());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
index 76f89bb..8212ba2 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreferenceFragmentTest.java
@@ -40,10 +40,8 @@
 import com.android.settings.accessibility.AccessibilityDialogUtils.DialogEnums;
 import com.android.settings.accessibility.TextReadingResetController.ResetStateListener;
 import com.android.settings.testutils.XmlTestUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -53,6 +51,8 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowToast;
 
 import java.util.ArrayList;
@@ -61,6 +61,10 @@
 
 /** Tests for {@link TextReadingPreferenceFragment}. */
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class TextReadingPreferenceFragmentTest {
 
     @Rule
@@ -72,15 +76,13 @@
 
     @Before
     public void setUp() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
 
         mFragment = spy(new TextReadingPreferenceFragment());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
         when(mFragment.getContext()).thenReturn(mContext);
-        when(mFragment.getActivity()).thenReturn((FragmentActivity)
-                ActivityControllerWrapper.setup(Robolectric.buildActivity(
-                        FragmentActivity.class)).get());
+        when(mFragment.getActivity()).thenReturn(Robolectric.setupActivity(FragmentActivity.class));
 
         // Avoid a NPE is happened in ShadowWindowManagerGlobal
         doReturn(mock(DisplaySizeData.class)).when(mFragment).createDisplaySizeData(mContext);
@@ -141,7 +143,6 @@
                 R.xml.accessibility_text_reading_options);
     }
 
-    @Ignore
     @Test
     public void getLogTag_returnsCorrectTag() {
         assertThat(mFragment.getLogTag()).isEqualTo("TextReadingPreferenceFragment");
diff --git a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java
index 1688142..4ca1dca 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TextReadingPreviewPreferenceTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.accessibility;
 
-import static com.android.settings.accessibility.TextReadingPreviewController.PREVIEW_SAMPLE_RES_IDS;
-
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -30,6 +28,7 @@
 import android.content.res.Configuration;
 import android.view.LayoutInflater;
 import android.view.View;
+import android.widget.FrameLayout;
 import android.widget.LinearLayout;
 
 import androidx.preference.PreferenceViewHolder;
@@ -39,6 +38,7 @@
 import com.android.settings.R;
 import com.android.settings.display.PreviewPagerAdapter;
 
+import org.junit.Assume;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -54,15 +54,18 @@
     private PreferenceViewHolder mHolder;
     private ViewPager mViewPager;
     private PreviewPagerAdapter mPreviewPagerAdapter;
+    private int mPreviewSampleCount;
 
     @Before
     public void setUp() {
         final Context context = ApplicationProvider.getApplicationContext();
-        final Configuration[] configurations = createConfigurations(PREVIEW_SAMPLE_RES_IDS.length);
+        final int[] previewSamples = TextReadingPreviewController.getPreviewSampleLayouts(context);
+        mPreviewSampleCount = previewSamples.length;
+        final Configuration[] configurations = createConfigurations(mPreviewSampleCount);
         mTextReadingPreviewPreference = new TextReadingPreviewPreference(context);
         mPreviewPagerAdapter =
                 spy(new PreviewPagerAdapter(context, /* isLayoutRtl= */ false,
-                        PREVIEW_SAMPLE_RES_IDS, configurations));
+                        previewSamples, configurations));
         final LayoutInflater inflater = LayoutInflater.from(context);
         final View view =
                 inflater.inflate(mTextReadingPreviewPreference.getLayoutResource(),
@@ -81,7 +84,7 @@
 
     @Test
     public void setPreviewAdapterWithNull_resetCurrentItem() {
-        final int currentItem = 2;
+        final int currentItem = mPreviewSampleCount - 1;
         mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter);
         mTextReadingPreviewPreference.setCurrentItem(currentItem);
         mTextReadingPreviewPreference.onBindViewHolder(mHolder);
@@ -94,7 +97,7 @@
 
     @Test
     public void setCurrentItem_success() {
-        final int currentItem = 1;
+        final int currentItem = mPreviewSampleCount - 1;
         mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter);
         mTextReadingPreviewPreference.onBindViewHolder(mHolder);
 
@@ -106,21 +109,25 @@
 
     @Test(expected = NullPointerException.class)
     public void setCurrentItemBeforeSetPreviewAdapter_throwNPE() {
-        final int currentItem = 5;
+        final int currentItem = mPreviewSampleCount + 2;
 
         mTextReadingPreviewPreference.setCurrentItem(currentItem);
     }
 
     @Test(expected = NullPointerException.class)
     public void updatePagerWithoutPreviewAdapter_throwNPE() {
-        final int index = 1;
+        final int index = mPreviewSampleCount - 1;
 
         mTextReadingPreviewPreference.notifyPreviewPagerChanged(index);
     }
 
     @Test
     public void notifyPreviewPager_setPreviewLayer() {
-        final int index = 2;
+        // The preview pager cannot switch page if there is only one preview layout, so skip the
+        // test if so
+        Assume.assumeTrue(mPreviewSampleCount > 1);
+
+        final int index = mPreviewSampleCount - 1;
         mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter);
         mTextReadingPreviewPreference.onBindViewHolder(mHolder);
 
@@ -131,7 +138,7 @@
 
     @Test
     public void afterPagerChange_updateCurrentItem() {
-        final int currentItem = 2;
+        final int currentItem = mPreviewSampleCount - 1;
         mTextReadingPreviewPreference.setPreviewAdapter(mPreviewPagerAdapter);
         mTextReadingPreviewPreference.onBindViewHolder(mHolder);
 
@@ -140,6 +147,44 @@
         assertThat(mTextReadingPreviewPreference.getCurrentItem()).isEqualTo(currentItem);
     }
 
+    @Test
+    public void adjustPaddings_setMinPaddingsLessThanXMLValue_paddingsNotIncreased() {
+        // get the default xml padding value
+        mTextReadingPreviewPreference.onBindViewHolder(mHolder);
+        final FrameLayout previewLayout = (FrameLayout) mHolder.itemView;
+        final LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
+
+        final int currentLayoutPaddingStart = previewLayout.getPaddingStart();
+        final int currentBackgroundPaddingStart = backgroundView.getPaddingStart();
+        mTextReadingPreviewPreference.setLayoutMinHorizontalPadding(
+                currentLayoutPaddingStart - 10);
+        mTextReadingPreviewPreference.setBackgroundMinHorizontalPadding(
+                currentBackgroundPaddingStart - 10);
+        mTextReadingPreviewPreference.adjustPaddings(previewLayout, backgroundView);
+
+        assertThat(previewLayout.getPaddingStart()).isEqualTo(currentLayoutPaddingStart);
+        assertThat(backgroundView.getPaddingStart()).isEqualTo(currentBackgroundPaddingStart);
+    }
+
+    @Test
+    public void adjustPaddings_setMinPaddingsLargerThanXMLValue_paddingsIncreased() {
+        // get the default xml padding value
+        mTextReadingPreviewPreference.onBindViewHolder(mHolder);
+        final FrameLayout previewLayout = (FrameLayout) mHolder.itemView;
+        final LinearLayout backgroundView = previewLayout.findViewById(R.id.preview_background);
+
+        final int currentLayoutPaddingStart = previewLayout.getPaddingStart();
+        final int currentBackgroundPaddingStart = backgroundView.getPaddingStart();
+        mTextReadingPreviewPreference.setLayoutMinHorizontalPadding(
+                currentLayoutPaddingStart + 10);
+        mTextReadingPreviewPreference.setBackgroundMinHorizontalPadding(
+                currentBackgroundPaddingStart + 10);
+        mTextReadingPreviewPreference.adjustPaddings(previewLayout, backgroundView);
+
+        assertThat(previewLayout.getPaddingStart()).isEqualTo(currentLayoutPaddingStart + 10);
+        assertThat(backgroundView.getPaddingStart()).isEqualTo(currentBackgroundPaddingStart + 10);
+    }
+
     private static Configuration[] createConfigurations(int count) {
         final Configuration[] configurations = new Configuration[count];
         for (int i = 0; i < count; i++) {
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java
index 94df37e..3174101 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleAccessibilityServicePreferenceFragmentTest.java
@@ -18,12 +18,14 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
-import android.annotation.NonNull;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -31,20 +33,32 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
+import android.os.Bundle;
+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.service.quicksettings.TileService;
 import android.view.accessibility.AccessibilityManager;
+import android.view.accessibility.Flags;
 
+import androidx.annotation.NonNull;
 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.settings.accessibility.AccessibilityUtil.QuickSettingsTooltipType;
+import com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment;
+import com.android.settings.widget.SettingsMainSwitchPreference;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
+import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
@@ -59,6 +73,9 @@
 @RunWith(RobolectricTestRunner.class)
 public class ToggleAccessibilityServicePreferenceFragmentTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String PLACEHOLDER_PACKAGE_NAME = "com.placeholder.example";
     private static final String PLACEHOLDER_PACKAGE_NAME2 = "com.placeholder.example2";
     private static final String PLACEHOLDER_SERVICE_CLASS_NAME = "a11yservice1";
@@ -73,20 +90,25 @@
             PLACEHOLDER_PACKAGE_NAME + "tile.placeholder";
     private static final String PLACEHOLDER_TILE_NAME2 =
             PLACEHOLDER_PACKAGE_NAME + "tile.placeholder2";
+    private static final int NO_DIALOG = -1;
 
     private TestToggleAccessibilityServicePreferenceFragment mFragment;
     private PreferenceScreen mScreen;
-    private Context mContext = ApplicationProvider.getApplicationContext();
+    private Context mContext;
 
     private ShadowAccessibilityManager mShadowAccessibilityManager;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private PreferenceManager mPreferenceManager;
+    @Mock
+    private AccessibilityManager mMockAccessibilityManager;
 
     @Before
     public void setUpTestFragment() {
         MockitoAnnotations.initMocks(this);
 
+        mContext = spy(ApplicationProvider.getApplicationContext());
         mFragment = spy(new TestToggleAccessibilityServicePreferenceFragment());
+        mFragment.setArguments(new Bundle());
         when(mFragment.getPreferenceManager()).thenReturn(mPreferenceManager);
         when(mFragment.getPreferenceManager().getContext()).thenReturn(mContext);
         when(mFragment.getContext()).thenReturn(mContext);
@@ -213,6 +235,105 @@
         assertThat(mFragment.serviceSupportsAccessibilityButton()).isFalse();
     }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG)
+    public void enableService_warningRequired_showWarning() throws Throwable {
+        setupServiceWarningRequired(true);
+        mFragment.mToggleServiceSwitchPreference =
+                new SettingsMainSwitchPreference(mContext, /* attrs= */null);
+
+        mFragment.onCheckedChanged(null, true);
+
+        assertThat(mFragment.mLastShownDialogId).isEqualTo(
+                AccessibilityDialogUtils.DialogEnums.ENABLE_WARNING_FROM_TOGGLE);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG)
+    public void enableService_warningNotRequired_dontShowWarning() throws Throwable {
+        final AccessibilityServiceInfo info = setupServiceWarningRequired(false);
+        mFragment.mToggleServiceSwitchPreference =
+                new SettingsMainSwitchPreference(mContext, /* attrs= */null);
+        mFragment.mPreferenceKey = info.getComponentName().flattenToString();
+
+        mFragment.onCheckedChanged(null, true);
+
+        assertThat(mFragment.mLastShownDialogId).isEqualTo(
+                AccessibilityDialogUtils.DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG)
+    public void toggleShortcutPreference_warningRequired_showWarning() throws Throwable {
+        setupServiceWarningRequired(true);
+        mFragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */null);
+
+        mFragment.mShortcutPreference.setChecked(true);
+        mFragment.onToggleClicked(mFragment.mShortcutPreference);
+
+        assertThat(mFragment.mLastShownDialogId).isEqualTo(
+                AccessibilityDialogUtils.DialogEnums.ENABLE_WARNING_FROM_SHORTCUT_TOGGLE);
+        assertThat(mFragment.mShortcutPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG)
+    public void toggleShortcutPreference_warningNotRequired_dontShowWarning() throws Throwable {
+        setupServiceWarningRequired(false);
+        mFragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */null);
+
+        mFragment.mShortcutPreference.setChecked(true);
+        mFragment.onToggleClicked(mFragment.mShortcutPreference);
+
+        assertThat(mFragment.mLastShownDialogId).isEqualTo(
+                AccessibilityDialogUtils.DialogEnums.LAUNCH_ACCESSIBILITY_TUTORIAL);
+        assertThat(mFragment.mShortcutPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG)
+    public void clickShortcutSettingsPreference_warningRequired_showWarning() throws Throwable {
+        setupServiceWarningRequired(true);
+        mFragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */null);
+
+        mFragment.onSettingsClicked(mFragment.mShortcutPreference);
+
+        assertThat(mFragment.mLastShownDialogId).isEqualTo(
+                AccessibilityDialogUtils.DialogEnums.ENABLE_WARNING_FROM_SHORTCUT);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG)
+    @RequiresFlagsDisabled(
+            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
+    @RequiresFlagsEnabled({Flags.FLAG_CLEANUP_ACCESSIBILITY_WARNING_DIALOG,
+            com.android.settings.accessibility.Flags.FLAG_EDIT_SHORTCUTS_IN_FULL_SCREEN})
+    public void clickShortcutSettingsPreference_warningNotRequired_dontShowWarning_launchActivity()
+            throws Throwable {
+        setupServiceWarningRequired(false);
+        mFragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */null);
+        doNothing().when(mContext).startActivity(any());
+
+        mFragment.onSettingsClicked(mFragment.mShortcutPreference);
+
+        ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivity(captor.capture());
+        assertThat(captor.getValue().getExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(EditShortcutsPreferenceFragment.class.getName());
+    }
+
     private void setupTileService(String packageName, String name, String tileName) {
         final Intent tileProbe = new Intent(TileService.ACTION_QS_TILE);
         final ResolveInfo info = new ResolveInfo();
@@ -222,6 +343,21 @@
         shadowPackageManager.addResolveInfoForIntent(tileProbe, info);
     }
 
+    private AccessibilityServiceInfo setupServiceWarningRequired(boolean required)
+            throws Throwable {
+        final AccessibilityServiceInfo info = getFakeAccessibilityServiceInfo(
+                PLACEHOLDER_PACKAGE_NAME,
+                PLACEHOLDER_SERVICE_CLASS_NAME);
+        info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
+        mFragment.mComponentName = info.getComponentName();
+        when(mContext.getSystemService(AccessibilityManager.class))
+                .thenReturn(mMockAccessibilityManager);
+        when(mMockAccessibilityManager.isAccessibilityServiceWarningRequired(any()))
+                .thenReturn(required);
+        when(mFragment.getAccessibilityServiceInfo()).thenReturn(info);
+        return info;
+    }
+
     private static class FakeServiceInfo extends ServiceInfo {
         private String mTileName;
 
@@ -255,10 +391,16 @@
 
     private static class TestToggleAccessibilityServicePreferenceFragment
             extends ToggleAccessibilityServicePreferenceFragment {
+        int mLastShownDialogId = NO_DIALOG;
 
         @Override
         protected ComponentName getTileComponentName() {
             return PLACEHOLDER_TILE_COMPONENT_NAME;
         }
+
+        @Override
+        protected void showDialog(int dialogId) {
+            mLastShownDialogId = dialogId;
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
index 9e7ae5d..70c7cd6 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleFeaturePreferenceFragmentTest.java
@@ -32,7 +32,12 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
+import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.os.Bundle;
+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.LayoutInflater;
 import android.view.View;
@@ -42,6 +47,7 @@
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
+import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
@@ -50,11 +56,14 @@
 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;
 
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
 import org.junit.Before;
-import org.junit.Ignore;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -63,14 +72,21 @@
 import org.mockito.Spy;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 /** Tests for {@link ToggleFeaturePreferenceFragment} */
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        ShadowFragment.class,
+})
 public class ToggleFeaturePreferenceFragmentTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     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(
@@ -102,6 +118,8 @@
     private FragmentActivity mActivity;
     @Mock
     private ContentResolver mContentResolver;
+    @Mock
+    private PackageManager mPackageManager;
 
     @Before
     public void setUpTestFragment() {
@@ -113,18 +131,15 @@
         when(mFragment.getContext()).thenReturn(mContext);
         when(mFragment.getActivity()).thenReturn(mActivity);
         when(mActivity.getContentResolver()).thenReturn(mContentResolver);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
         final PreferenceScreen screen = spy(new PreferenceScreen(mContext, null));
         when(screen.getPreferenceManager()).thenReturn(mPreferenceManager);
         doReturn(screen).when(mFragment).getPreferenceScreen();
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
     }
 
-    @Ignore
     @Test
-    public void setupFragment_getExpectedPreferenceScreenResId() {
-        FragmentController.setupFragment(mFragment, FragmentActivity.class,
-                /* containerViewId= */ 0, Bundle.EMPTY);
-
+    public void getPreferenceScreenResId_returnsExpectedPreferenceScreenResId() {
         assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(R.xml.placeholder_prefs);
     }
 
@@ -154,7 +169,7 @@
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.mComponentName.flattenToString());
         // Compare to default UserShortcutType
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
     }
@@ -170,7 +185,7 @@
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.mComponentName.flattenToString());
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
     }
 
@@ -184,7 +199,7 @@
         mFragment.updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.mComponentName.flattenToString());
         assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE);
     }
 
@@ -266,7 +281,7 @@
         mFragment.saveNonEmptyUserShortcutType(value);
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                mFragment.mComponentName.flattenToString(), UserShortcutType.SOFTWARE);
+                mFragment.mComponentName.flattenToString());
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.HARDWARE);
     }
 
@@ -289,6 +304,20 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(com.android.settings.accessibility.Flags.FLAG_REMOVE_QS_TOOLTIP_IN_SUW)
+    @Config(shadows = ShadowFragment.class)
+    public void onPreferenceToggledOnEnabledService_inSuw_toolTipViewShouldNotShow() {
+        Intent suwIntent = new Intent();
+        suwIntent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
+        when(mActivity.getIntent()).thenReturn(suwIntent);
+
+        mFragment.onPreferenceToggled(
+                ToggleFeaturePreferenceFragment.KEY_USE_SERVICE_PREFERENCE, /* enabled= */ true);
+
+        assertThat(getLatestPopupWindow()).isNull();
+    }
+
+    @Test
     @Config(shadows = ShadowFragment.class)
     public void onPreferenceToggledOnEnabledService_tooltipViewShown_notShowTooltipView() {
         mFragment.onPreferenceToggled(
@@ -319,6 +348,53 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ACCESSIBILITY_SHOW_APP_INFO_BUTTON)
+    public void createAppInfoPreference_withValidComponentName() {
+        when(mPackageManager.isPackageAvailable(PLACEHOLDER_PACKAGE_NAME)).thenReturn(true);
+        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
+
+        final Preference preference = mFragment.createAppInfoPreference();
+
+        assertThat(preference).isNotNull();
+        final Intent appInfoIntent = preference.getIntent();
+        assertThat(appInfoIntent.getAction())
+                .isEqualTo(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
+        assertThat(appInfoIntent.getDataString()).isEqualTo("package:" + PLACEHOLDER_PACKAGE_NAME);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ACCESSIBILITY_SHOW_APP_INFO_BUTTON)
+    public void createAppInfoPreference_noComponentName_shouldBeNull() {
+        mFragment.mComponentName = null;
+
+        final Preference preference = mFragment.createAppInfoPreference();
+
+        assertThat(preference).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ACCESSIBILITY_SHOW_APP_INFO_BUTTON)
+    public void createAppInfoPreference_withUnavailablePackage_shouldBeNull() {
+        when(mPackageManager.isPackageAvailable(PLACEHOLDER_PACKAGE_NAME)).thenReturn(false);
+        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
+
+        final Preference preference = mFragment.createAppInfoPreference();
+
+        assertThat(preference).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ACCESSIBILITY_SHOW_APP_INFO_BUTTON)
+    public void createAppInfoPreference_inSetupWizard_shouldBeNull() {
+        when(mFragment.isAnySetupWizard()).thenReturn(true);
+        mFragment.mComponentName = PLACEHOLDER_COMPONENT_NAME;
+
+        final Preference preference = mFragment.createAppInfoPreference();
+
+        assertThat(preference).isNull();
+    }
+
+    @Test
     public void createFooterPreference_shouldSetAsExpectedValue() {
         mFragment.createFooterPreference(mFragment.getPreferenceScreen(),
                 DEFAULT_SUMMARY, DEFAULT_DESCRIPTION);
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleForceInvertPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleForceInvertPreferenceControllerTest.java
new file mode 100644
index 0000000..d8197ef
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleForceInvertPreferenceControllerTest.java
@@ -0,0 +1,107 @@
+/*
+ * Copyright (C) 2019 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.accessibility;
+
+import static android.view.accessibility.Flags.FLAG_FORCE_INVERT_COLOR;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.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.test.core.app.ApplicationProvider;
+
+import com.android.settings.core.BasePreferenceController;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link ToggleForceInvertPreferenceController}. */
+@RunWith(RobolectricTestRunner.class)
+public class ToggleForceInvertPreferenceControllerTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private ToggleForceInvertPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mController = new ToggleForceInvertPreferenceController(
+                mContext,
+                ColorAndMotionFragment.TOGGLE_FORCE_INVERT
+        );
+    }
+
+    @Test
+    @RequiresFlagsDisabled(FLAG_FORCE_INVERT_COLOR)
+    public void flagOff_getAvailabilityStatus_shouldReturnUnsupported() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(FLAG_FORCE_INVERT_COLOR)
+    public void flagOn_getAvailabilityStatus_shouldReturnAvailable() {
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void settingOff_reflectsCorrectValue() {
+        setEnabled(false);
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void settingOn_reflectsCorrectValue() {
+        setEnabled(true);
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void onCheck_settingChanges() {
+        setEnabled(false);
+
+        mController.setChecked(true);
+        assertThat(isEnabled()).isTrue();
+
+        mController.setChecked(false);
+        assertThat(isEnabled()).isFalse();
+    }
+
+    private boolean isEnabled() {
+        return Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED, /* def=*/ -1) == ON;
+    }
+
+    private void setEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_FORCE_INVERT_COLOR_ENABLED, enabled ? ON : OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java
index aa622f5..f26e838 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest.java
@@ -32,7 +32,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
@@ -56,7 +56,10 @@
 
 /** Tests for {@link ToggleScreenMagnificationPreferenceFragmentForSetupWizard}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowSettingsPreferenceFragment.class})
+@Config(shadows = {
+        ShadowSettingsPreferenceFragment.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ToggleScreenMagnificationPreferenceFragmentForSetupWizardTest {
 
     private final Context mContext = ApplicationProvider.getApplicationContext();
@@ -121,7 +124,7 @@
             mPreferenceManager.setPreferences(mPreferenceManager.createPreferenceScreen(context));
             mTopIntroPreference = new TopIntroPreference(context);
             mSettingsPreference = new Preference(context);
-            mFollowingTypingSwitchPreference = new SwitchPreference(context);
+            mFollowingTypingSwitchPreference = new SwitchPreferenceCompat(context);
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
index 9916dc9..4c49395 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenMagnificationPreferenceFragmentTest.java
@@ -24,58 +24,70 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.RETURNS_DEEP_STUBS;
 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.ComponentName;
-import android.content.ContentResolver;
 import android.content.Context;
 import android.content.DialogInterface;
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
+import android.database.ContentObserver;
+import android.net.Uri;
 import android.os.Bundle;
+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.TextUtils;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.view.ViewGroup;
 
-import androidx.annotation.XmlRes;
 import androidx.appcompat.app.AlertDialog;
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 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.shadow.ShadowFragment;
-import com.android.settings.testutils.shadow.ShadowSettingsPreferenceFragment;
-import com.android.settingslib.core.lifecycle.Lifecycle;
+import com.android.settings.testutils.shadow.ShadowStorageManager;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settingslib.core.lifecycle.LifecycleObserver;
+
+import com.google.common.truth.Correspondence;
 
 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.RobolectricTestRunner;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowContentResolver;
+import org.robolectric.shadows.ShadowPackageManager;
+import org.robolectric.shadows.ShadowSettings;
+import org.robolectric.shadows.androidx.fragment.FragmentController;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.Collection;
+import java.util.List;
 
 /** Tests for {@link ToggleScreenMagnificationPreferenceFragment}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowSettingsPreferenceFragment.class})
+@Config(shadows = {
+        ShadowUserManager.class,
+        ShadowStorageManager.class,
+        ShadowSettings.ShadowSecure.class,
+})
 public class ToggleScreenMagnificationPreferenceFragmentTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String PLACEHOLDER_PACKAGE_NAME = "com.mock.example";
     private static final String PLACEHOLDER_CLASS_NAME =
             PLACEHOLDER_PACKAGE_NAME + ".mock_a11y_service";
@@ -89,98 +101,94 @@
             Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE;
     private static final String TRIPLETAP_SHORTCUT_KEY =
             Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED;
+    private static final String TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY =
+            Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED;
 
     private static final String MAGNIFICATION_CONTROLLER_NAME =
             "com.android.server.accessibility.MagnificationController";
 
     private static final String KEY_FOLLOW_TYPING =
             Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED;
-
-    private TestToggleScreenMagnificationPreferenceFragment mFragment;
+    private FragmentController<ToggleScreenMagnificationPreferenceFragment> mFragController;
     private Context mContext;
-    private Resources mResources;
-
-    @Mock
-    private FragmentActivity mActivity;
-    @Mock
-    private ContentResolver mContentResolver;
-    @Mock
-    private PackageManager mPackageManager;
+    private Resources mSpyResources;
+    private ShadowPackageManager mShadowPackageManager;
 
     @Before
     public void setUpTestFragment() {
-        MockitoAnnotations.initMocks(this);
 
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mFragment = spy(new TestToggleScreenMagnificationPreferenceFragment(mContext));
-        mResources = spy(mContext.getResources());
-        when(mContext.getResources()).thenReturn(mResources);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mFragment.getContext().getResources()).thenReturn(mResources);
-        when(mFragment.getActivity()).thenReturn(mActivity);
-        when(mActivity.getContentResolver()).thenReturn(mContentResolver);
+        mContext = ApplicationProvider.getApplicationContext();
+
+        // Set up the fragment that support window magnification feature
+        mSpyResources = spy(mContext.getResources());
+        mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
+        Context spyContext = spy(mContext);
+        when(spyContext.getResources()).thenReturn(mSpyResources);
+
+        setWindowMagnificationSupported(
+                /* magnificationAreaSupported= */ true,
+                /* windowMagnificationSupported= */ true);
+
+        TestToggleScreenMagnificationPreferenceFragment fragment =
+                new TestToggleScreenMagnificationPreferenceFragment();
+        fragment.setArguments(new Bundle());
+        fragment.setContext(spyContext);
+
+        mFragController = FragmentController.of(fragment, SettingsActivity.class);
     }
 
-    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onResume_defaultStateForFollowingTyping_switchPreferenceShouldReturnTrue() {
-        mFragment.onCreate(new Bundle());
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
-        mFragment.onAttach(mContext);
-        final SwitchPreference switchPreference =
-                mFragment.findPreference(MagnificationFollowTypingPreferenceController.PREF_KEY);
+        setKeyFollowTypingEnabled(true);
 
-        mFragment.onResume();
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
+        final TwoStatePreference switchPreference =
+                mFragController.get().findPreference(
+                        MagnificationFollowTypingPreferenceController.PREF_KEY);
         assertThat(switchPreference).isNotNull();
         assertThat(switchPreference.isChecked()).isTrue();
     }
 
-    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onResume_disableFollowingTyping_switchPreferenceShouldReturnFalse() {
-        Settings.Secure.putInt(mContext.getContentResolver(), KEY_FOLLOW_TYPING, OFF);
-        mFragment.onCreate(new Bundle());
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
-        mFragment.onAttach(mContext);
-        SwitchPreference switchPreference =
-                mFragment.findPreference(MagnificationFollowTypingPreferenceController.PREF_KEY);
+        setKeyFollowTypingEnabled(false);
 
-        mFragment.onResume();
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
+        final TwoStatePreference switchPreference =
+                mFragController.get().findPreference(
+                        MagnificationFollowTypingPreferenceController.PREF_KEY);
         assertThat(switchPreference).isNotNull();
         assertThat(switchPreference.isChecked()).isFalse();
     }
 
     @Test
-    @Config(shadows = {ShadowFragment.class})
     public void onResume_haveRegisterToSpecificUris() {
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(Bundle.EMPTY);
+        ShadowContentResolver shadowContentResolver = Shadows.shadowOf(
+                mContext.getContentResolver());
+        Uri[] observedUri = new Uri[]{
+                Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS),
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE),
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED),
+                Settings.Secure.getUriFor(
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED)
+        };
+        for (Uri uri : observedUri) {
+            // verify no observer registered before launching the fragment
+            assertThat(shadowContentResolver.getContentObservers(uri)).isEmpty();
+        }
 
-        mFragment.onResume();
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
-        verify(mContentResolver).registerContentObserver(
-                eq(Settings.Secure.getUriFor(Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS)),
-                eq(false),
-                any(AccessibilitySettingsContentObserver.class));
-        verify(mContentResolver).registerContentObserver(
-                eq(Settings.Secure.getUriFor(
-                        Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE)),
-                eq(false),
-                any(AccessibilitySettingsContentObserver.class));
-        verify(mContentResolver).registerContentObserver(
-                eq(Settings.Secure.getUriFor(
-                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_FOLLOW_TYPING_ENABLED)),
-                eq(false),
-                any(AccessibilitySettingsContentObserver.class));
-        verify(mContentResolver).registerContentObserver(
-                eq(Settings.Secure.getUriFor(
-                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_ALWAYS_ON_ENABLED)),
-                eq(false),
-                any(AccessibilitySettingsContentObserver.class));
+        for (Uri uri : observedUri) {
+            Collection<ContentObserver> observers = shadowContentResolver.getContentObservers(uri);
+            assertThat(observers.size()).isEqualTo(1);
+            assertThat(observers.stream().findFirst().get()).isInstanceOf(
+                    AccessibilitySettingsContentObserver.class);
+        }
     }
 
     @Test
@@ -192,6 +200,26 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void hasMagnificationValuesInSettings_twoFingerTripleTapIsOn_isTrue() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
+
+        assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
+                mContext, UserShortcutType.TWOFINGERTRIPLETAP)).isTrue();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void hasMagnificationValuesInSettings_twoFingerTripleTapIsOff_isFalse() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, OFF);
+
+        assertThat(ToggleScreenMagnificationPreferenceFragment.hasMagnificationValuesInSettings(
+                mContext, UserShortcutType.TWOFINGERTRIPLETAP)).isFalse();
+    }
+
+    @Test
     public void optInAllValuesToSettings_optInValue_haveMatchString() {
         int shortcutTypes = UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP;
 
@@ -201,7 +229,18 @@
         assertThat(getStringFromSettings(SOFTWARE_SHORTCUT_KEY)).isEqualTo(
                 MAGNIFICATION_CONTROLLER_NAME);
         assertThat(getMagnificationTripleTapStatus()).isTrue();
+    }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void optInAllValuesToSettings_twoFingerTripleTap_haveMatchString() {
+        int shortcutTypes = UserShortcutType.TWOFINGERTRIPLETAP;
+
+        ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
+                shortcutTypes);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, OFF)).isEqualTo(ON);
     }
 
     @Test
@@ -216,6 +255,73 @@
     }
 
     @Test
+    public void optInAllValuesToSettings_software_sizeValueIsNull_putLargeSizeValue() {
+        ShadowSettings.ShadowSecure.reset();
+
+        ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(mContext,
+                UserShortcutType.SOFTWARE);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                FloatingMenuSizePreferenceController.Size.UNKNOWN)).isEqualTo(
+                FloatingMenuSizePreferenceController.Size.LARGE);
+    }
+
+    @Test
+    public void optInAllValuesToSettings_software_sizeValueIsNotNull_sizeValueIsNotChanged() {
+        for (int size : new int[] {FloatingMenuSizePreferenceController.Size.LARGE,
+                FloatingMenuSizePreferenceController.Size.SMALL}) {
+            Settings.Secure.putInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size);
+
+            ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
+                    mContext,
+                    UserShortcutType.SOFTWARE);
+
+            assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                    FloatingMenuSizePreferenceController.Size.UNKNOWN)).isEqualTo(
+                    size);
+        }
+    }
+
+    @Test
+    public void optInAllValuesToSettings_hardware_sizeValueIsNotChanged() {
+        for (int size : new int[] {FloatingMenuSizePreferenceController.Size.UNKNOWN,
+                FloatingMenuSizePreferenceController.Size.LARGE,
+                FloatingMenuSizePreferenceController.Size.SMALL}) {
+            Settings.Secure.putInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size);
+
+            ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
+                    mContext,
+                    UserShortcutType.HARDWARE);
+
+            assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size + 1)).isEqualTo(
+                    size);
+        }
+    }
+
+    @Test
+    public void optInAllValuesToSettings_tripletap_sizeValueIsNotChanged() {
+        for (int size : new int[] {FloatingMenuSizePreferenceController.Size.UNKNOWN,
+                FloatingMenuSizePreferenceController.Size.LARGE,
+                FloatingMenuSizePreferenceController.Size.SMALL}) {
+            Settings.Secure.putInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size);
+
+            ToggleScreenMagnificationPreferenceFragment.optInAllMagnificationValuesToSettings(
+                    mContext,
+                    UserShortcutType.TRIPLETAP);
+
+            assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                    Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE, size + 1)).isEqualTo(
+                    size);
+        }
+    }
+
+    @Test
     public void optOutAllValuesToSettings_optOutValue_emptyString() {
         putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
         putStringIntoSettings(HARDWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
@@ -232,6 +338,19 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void optOutAllValuesToSettings_twoFingerTripleTap_settingsValueIsOff() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
+
+        ToggleScreenMagnificationPreferenceFragment.optOutAllMagnificationValuesFromSettings(
+                mContext, UserShortcutType.TWOFINGERTRIPLETAP);
+
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON)).isEqualTo(OFF);
+    }
+
+    @Test
     public void optOutValueFromSettings_existOtherValue_optOutValue_haveMatchString() {
         putStringIntoSettings(SOFTWARE_SHORTCUT_KEY,
                 PLACEHOLDER_COMPONENT_NAME.flattenToString() + ":" + MAGNIFICATION_CONTROLLER_NAME);
@@ -250,10 +369,12 @@
 
     @Test
     public void updateShortcutPreferenceData_assignDefaultValueToVariable() {
-        mFragment.updateShortcutPreferenceData();
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+
+        mFragController.get().updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
         // Compare to default UserShortcutType
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE);
     }
@@ -262,11 +383,12 @@
     public void updateShortcutPreferenceData_hasValueInSettings_assignToVariable() {
         putStringIntoSettings(SOFTWARE_SHORTCUT_KEY, MAGNIFICATION_CONTROLLER_NAME);
         setMagnificationTripleTapEnabled(/* enabled= */ true);
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
-        mFragment.updateShortcutPreferenceData();
+        mFragController.get().updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
         assertThat(expectedType).isEqualTo(UserShortcutType.SOFTWARE | UserShortcutType.TRIPLETAP);
     }
 
@@ -274,149 +396,286 @@
     public void updateShortcutPreferenceData_hasValueInSharedPreference_assignToVariable() {
         final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
                 MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TRIPLETAP);
-
         putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
-        mFragment.updateShortcutPreferenceData();
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+
+        mFragController.get().updateShortcutPreferenceData();
 
         final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
         assertThat(expectedType).isEqualTo(UserShortcutType.TRIPLETAP);
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void updateShortcutPreferenceData_hasTwoFingerTripleTapInSettings_assignToVariable() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+
+        mFragController.get().updateShortcutPreferenceData();
+
+        final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
+                MAGNIFICATION_CONTROLLER_NAME);
+        assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGERTRIPLETAP);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void updateShortcutPreferenceData_hasTwoFingerTripleTapInSharedPref_assignToVariable() {
+        final PreferredShortcut tripleTapShortcut = new PreferredShortcut(
+                MAGNIFICATION_CONTROLLER_NAME, UserShortcutType.TWOFINGERTRIPLETAP);
+        putUserShortcutTypeIntoSharedPreference(mContext, tripleTapShortcut);
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
+
+        mFragController.get().updateShortcutPreferenceData();
+
+        final int expectedType = PreferredShortcuts.retrieveUserShortcutType(mContext,
+                MAGNIFICATION_CONTROLLER_NAME);
+        assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGERTRIPLETAP);
+    }
+
+    @Test
     public void setupMagnificationEditShortcutDialog_shortcutPreferenceOff_checkboxIsEmptyValue() {
-        mContext.setTheme(R.style.Theme_AppCompat);
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final ShortcutPreference shortcutPreference = new ShortcutPreference(mContext, /* attrs= */
-                null);
-        mFragment.mShortcutPreference = shortcutPreference;
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(R.id.main_content, /* bundle= */
+                        null).start().resume().get();
+        fragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */ null);
 
-        mFragment.mShortcutPreference.setChecked(false);
-        mFragment.setupMagnificationEditShortcutDialog(dialog);
+        fragment.mShortcutPreference.setChecked(false);
+        fragment.setupMagnificationEditShortcutDialog(
+                createEditShortcutDialog(fragment.getActivity()));
 
-        final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
+        final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
         assertThat(checkboxValue).isEqualTo(UserShortcutType.EMPTY);
     }
 
     @Test
     public void setupMagnificationEditShortcutDialog_shortcutPreferenceOn_checkboxIsSavedValue() {
-        mContext.setTheme(R.style.Theme_AppCompat);
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
+        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);
-        mFragment.mShortcutPreference = shortcutPreference;
+        fragment.mShortcutPreference = shortcutPreference;
 
         PreferredShortcuts.saveUserShortcutType(mContext, tripletapShortcut);
-        mFragment.mShortcutPreference.setChecked(true);
-        mFragment.setupMagnificationEditShortcutDialog(dialog);
+        fragment.mShortcutPreference.setChecked(true);
+        fragment.setupMagnificationEditShortcutDialog(
+                createEditShortcutDialog(fragment.getActivity()));
 
-        final int checkboxValue = mFragment.getShortcutTypeCheckBoxValue();
+        final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
         assertThat(checkboxValue).isEqualTo(UserShortcutType.TRIPLETAP);
     }
 
     @Test
-    @Config(shadows = ShadowFragment.class)
-    public void restoreValueFromSavedInstanceState_assignToVariable() {
-        mContext.setTheme(R.style.Theme_AppCompat);
-        final AlertDialog dialog = AccessibilityDialogUtils.showEditShortcutDialog(
-                mContext, DialogType.EDIT_SHORTCUT_MAGNIFICATION, PLACEHOLDER_DIALOG_TITLE,
-                this::callEmptyOnClicked);
-        final Bundle savedInstanceState = new Bundle();
-        mFragment.mShortcutPreference = new ShortcutPreference(mContext, /* attrs= */ null);
+    @RequiresFlagsEnabled(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.TWOFINGERTRIPLETAP);
+        fragment.mShortcutPreference = shortcutPreference;
 
-        savedInstanceState.putInt(KEY_SAVED_USER_SHORTCUT_TYPE,
+        PreferredShortcuts.saveUserShortcutType(mContext, twoFingerTripleTapShortcut);
+        fragment.mShortcutPreference.setChecked(true);
+        fragment.setupMagnificationEditShortcutDialog(
+                createEditShortcutDialog(fragment.getActivity()));
+
+        final int checkboxValue = fragment.getShortcutTypeCheckBoxValue();
+        assertThat(checkboxValue).isEqualTo(UserShortcutType.TWOFINGERTRIPLETAP);
+    }
+
+    @Test
+    public void restoreValueFromSavedInstanceState_assignToVariable() {
+        final Bundle fragmentState = createFragmentSavedInstanceState(
                 UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
-        mFragment.onCreate(savedInstanceState);
-        mFragment.setupMagnificationEditShortcutDialog(dialog);
-        final int value = mFragment.getShortcutTypeCheckBoxValue();
-        mFragment.saveNonEmptyUserShortcutType(value);
+        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, UserShortcutType.SOFTWARE);
+                MAGNIFICATION_CONTROLLER_NAME);
         assertThat(value).isEqualTo(6);
         assertThat(expectedType).isEqualTo(UserShortcutType.HARDWARE | UserShortcutType.TRIPLETAP);
     }
 
-    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void restoreValueFromSavedInstanceState_twoFingerTripleTap_assignToVariable() {
+        final Bundle fragmentState =
+                createFragmentSavedInstanceState(UserShortcutType.TWOFINGERTRIPLETAP);
+        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.TWOFINGERTRIPLETAP);
+        assertThat(expectedType).isEqualTo(UserShortcutType.TWOFINGERTRIPLETAP);
+    }
+
     @Test
     public void onCreateView_magnificationAreaNotSupported_settingsPreferenceIsNull() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_magnification_area))
-                .thenReturn(false);
-        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_WINDOW_MAGNIFICATION))
-                .thenReturn(true);
+        setWindowMagnificationSupported(
+                /* magnificationAreaSupported= */ false,
+                /* windowMagnificationSupported= */ true);
 
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
-        assertThat(mFragment.mSettingsPreference).isNull();
+        assertThat(mFragController.get().mSettingsPreference).isNull();
     }
 
-    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
     @Test
     public void onCreateView_windowMagnificationNotSupported_settingsPreferenceIsNull() {
-        when(mResources.getBoolean(
-                com.android.internal.R.bool.config_magnification_area))
-                .thenReturn(true);
-        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_WINDOW_MAGNIFICATION))
-                .thenReturn(false);
+        setWindowMagnificationSupported(
+                /* magnificationAreaSupported= */ true,
+                /* windowMagnificationSupported= */ false);
 
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        mFragController.create(R.id.main_content, /* bundle= */ null).start().resume();
 
-        assertThat(mFragment.mSettingsPreference).isNull();
+        assertThat(mFragController.get().mSettingsPreference).isNull();
     }
 
-    @Ignore("Ignore it since a NPE is happened in ShadowWindowManagerGlobal. (Ref. b/214161063)")
     @Test
     public void onCreateView_setDialogDelegateAndAddTheControllerToLifeCycleObserver() {
-        Lifecycle lifecycle = mock(Lifecycle.class);
-        when(mFragment.getSettingsLifecycle()).thenReturn(lifecycle);
+        Correspondence instanceOf = Correspondence.transforming(
+                observer -> (observer instanceof MagnificationModePreferenceController),
+                "contains MagnificationModePreferenceController");
 
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
+        ToggleScreenMagnificationPreferenceFragment fragment = mFragController.create(
+                R.id.main_content, /* bundle= */ null).start().resume().get();
 
-        verify(mFragment).setDialogDelegate(any(MagnificationModePreferenceController.class));
-        verify(lifecycle).addObserver(any(MagnificationModePreferenceController.class));
+        DialogCreatable dialogDelegate = ReflectionHelpers.getField(fragment, "mDialogDelegate");
+        List<LifecycleObserver> lifecycleObservers = ReflectionHelpers.getField(
+                fragment.getSettingsLifecycle(), "mObservers");
+        assertThat(dialogDelegate).isInstanceOf(MagnificationModePreferenceController.class);
+        assertThat(lifecycleObservers).isNotNull();
+        assertThat(lifecycleObservers).comparingElementsUsing(instanceOf).contains(true);
     }
 
     @Test
     public void onCreateDialog_setDialogDelegate_invokeDialogDelegate() {
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(
+                        R.id.main_content, /* bundle= */ null).start().resume().get();
         final DialogCreatable dialogDelegate = mock(DialogCreatable.class, RETURNS_DEEP_STUBS);
         when(dialogDelegate.getDialogMetricsCategory(anyInt())).thenReturn(1);
-        mFragment.setDialogDelegate(dialogDelegate);
+        fragment.setDialogDelegate(dialogDelegate);
 
-        mFragment.onCreateDialog(1);
-        mFragment.getDialogMetricsCategory(1);
+        fragment.onCreateDialog(1);
+        fragment.getDialogMetricsCategory(1);
 
         verify(dialogDelegate).onCreateDialog(1);
         verify(dialogDelegate).getDialogMetricsCategory(1);
     }
 
     @Test
-    public void getMetricsCategory_shouldNotHaveMetricsCategory() {
-        assertThat(mFragment.getMetricsCategory()).isEqualTo(0);
+    public void getMetricsCategory_returnsCorrectCategory() {
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(
+                        R.id.main_content, /* bundle= */ null).start().resume().get();
+
+        assertThat(fragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.ACCESSIBILITY_TOGGLE_SCREEN_MAGNIFICATION);
     }
 
     @Test
     public void getHelpResource_returnsCorrectHelpResource() {
-        assertThat(mFragment.getHelpResource()).isEqualTo(R.string.help_url_magnification);
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(
+                        R.id.main_content, /* bundle= */ null).start().resume().get();
+
+        assertThat(fragment.getHelpResource()).isEqualTo(R.string.help_url_magnification);
     }
 
     @Test
     public void onProcessArguments_defaultArgumentUnavailable_shouldSetDefaultArguments() {
+        ToggleScreenMagnificationPreferenceFragment fragment =
+                mFragController.create(
+                        R.id.main_content, /* bundle= */ null).start().resume().get();
         Bundle arguments = new Bundle();
 
-        mFragment.onProcessArguments(arguments);
+        fragment.onProcessArguments(arguments);
 
         assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_PREFERENCE_KEY));
         assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_INTRO));
         assertTrue(arguments.containsKey(AccessibilitySettings.EXTRA_HTML_DESCRIPTION));
     }
 
+    @Test
+    public void getSummary_magnificationEnabled_returnShortcutOnWithSummary() {
+        setMagnificationTripleTapEnabled(true);
+
+        assertThat(
+                ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
+                .isEqualTo(
+                        mContext.getString(R.string.preference_summary_default_combination,
+                                mContext.getText(R.string.accessibility_summary_shortcut_enabled),
+                                mContext.getText(R.string.magnification_feature_summary)));
+    }
+
+    @Test
+    public void getSummary_magnificationDisabled_returnShortcutOffWithSummary() {
+        setMagnificationTripleTapEnabled(false);
+
+        assertThat(
+                ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
+                .isEqualTo(
+                        mContext.getString(R.string.preference_summary_default_combination,
+                                mContext.getText(
+                                        R.string.generic_accessibility_feature_shortcut_off),
+                                mContext.getText(R.string.magnification_feature_summary)));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void getSummary_magnificationGestureEnabled_returnShortcutOnWithSummary() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, ON);
+
+        assertThat(
+                ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
+                .isEqualTo(
+                        mContext.getString(R.string.preference_summary_default_combination,
+                                mContext.getText(R.string.accessibility_summary_shortcut_enabled),
+                                mContext.getText(R.string.magnification_feature_summary)));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    public void getSummary_magnificationGestureDisabled_returnShortcutOffWithSummary() {
+        Settings.Secure.putInt(
+                mContext.getContentResolver(), TWO_FINGER_TRIPLE_TAP_SHORTCUT_KEY, OFF);
+
+        assertThat(
+                ToggleScreenMagnificationPreferenceFragment.getServiceSummary(mContext).toString())
+                .isEqualTo(
+                        mContext.getString(R.string.preference_summary_default_combination,
+                                mContext.getText(
+                                        R.string.generic_accessibility_feature_shortcut_off),
+                                mContext.getText(R.string.magnification_feature_summary)));
+    }
+
     private void putStringIntoSettings(String key, String componentName) {
         Settings.Secure.putString(mContext.getContentResolver(), key, componentName);
     }
@@ -431,6 +690,11 @@
                 enabled ? ON : OFF);
     }
 
+    private void setKeyFollowTypingEnabled(boolean enabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(), KEY_FOLLOW_TYPING,
+                enabled ? ON : OFF);
+    }
+
     private String getStringFromSettings(String key) {
         return Settings.Secure.getString(mContext.getContentResolver(), key);
     }
@@ -440,91 +704,54 @@
                 == ON;
     }
 
-    private void callEmptyOnClicked(DialogInterface dialog, int which) {}
+    private void callEmptyOnClicked(DialogInterface dialog, int which) {
+    }
+
+    private void setWindowMagnificationSupported(boolean magnificationAreaSupported,
+            boolean windowMagnificationSupported) {
+        when(mSpyResources.getBoolean(
+                com.android.internal.R.bool.config_magnification_area))
+                .thenReturn(magnificationAreaSupported);
+        mShadowPackageManager.setSystemFeature(PackageManager.FEATURE_WINDOW_MAGNIFICATION,
+                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 initializes PreferenceScreen for testing.
+     * A test fragment that provides a way to change the context
      */
-    static class TestToggleScreenMagnificationPreferenceFragment
+    public static class TestToggleScreenMagnificationPreferenceFragment
             extends ToggleScreenMagnificationPreferenceFragment {
-
-        private final Context mContext;
-        private final PreferenceManager mPreferenceManager;
-
-        TestToggleScreenMagnificationPreferenceFragment(Context context) {
-            super();
-            mContext = context;
-            mPreferenceManager = new PreferenceManager(context);
-            mPreferenceManager.setPreferences(mPreferenceManager.createPreferenceScreen(context));
-            setArguments(new Bundle());
-        }
-
-        @Override
-        protected void onPreferenceToggled(String preferenceKey, boolean enabled) {
-        }
-
-        @Override
-        public int getMetricsCategory() {
-            return 0;
-        }
-
-        @Override
-        int getUserShortcutTypes() {
-            return 0;
-        }
-
-        @Override
-        public int getPreferenceScreenResId() {
-            return R.xml.placeholder_prefs;
-        }
-
-        @Override
-        public PreferenceScreen getPreferenceScreen() {
-            return mPreferenceManager.getPreferenceScreen();
-        }
-
-        @Override
-        public <T extends Preference> T findPreference(CharSequence key) {
-            if (TextUtils.isEmpty(key)) {
-                return null;
-            }
-            return getPreferenceScreen().findPreference(key);
-        }
-
-        @Override
-        public PreferenceManager getPreferenceManager() {
-            return mPreferenceManager;
-        }
-
-        @Override
-        public void onCreatePreferences(Bundle savedInstanceState, String rootKey) {
-            // do nothing
-        }
-
-        @Override
-        public void onViewCreated(View view, Bundle savedInstanceState) {
-            // do nothing
-        }
-
-        @SuppressWarnings("MissingSuperCall")
-        @Override
-        public void onDestroyView() {
-            // do nothing
-        }
-
-        @Override
-        public void addPreferencesFromResource(@XmlRes int preferencesResId) {
-            // do nothing
-        }
-
-        @Override
-        protected void updateShortcutPreference() {
-            // UI related function, do nothing in tests
-        }
+        private Context mContext;
 
         @Override
         public Context getContext() {
-            return mContext;
+            return this.mContext != null ? this.mContext : super.getContext();
+        }
+
+        /**
+         * Sets the spy context used for RoboTest in order to change the value of
+         * com.android.internal.R.bool.config_magnification_area
+         */
+        public void setContext(Context context) {
+            this.mContext = context;
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java
index 77e5b1f..fa3fc23 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleScreenReaderPreferenceFragmentForSetupWizardTest.java
@@ -51,9 +51,13 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link ToggleScreenReaderPreferenceFragmentForSetupWizard}. */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ToggleScreenReaderPreferenceFragmentForSetupWizardTest {
 
     private static final String TEST_TITLE = "test_title";
diff --git a/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java b/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java
index 8878064..ed426f9 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest.java
@@ -51,9 +51,13 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link ToggleSelectToSpeakPreferenceFragmentForSetupWizard}. */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ToggleSelectToSpeakPreferenceFragmentForSetupWizardTest {
 
     private static final String TEST_TITLE = "test_title";
diff --git a/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java
index cfb459c..1249894 100644
--- a/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/TopLevelAccessibilityPreferenceControllerTest.java
@@ -21,25 +21,33 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
 import android.content.Context;
+import android.content.res.Resources;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
 
 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.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 public class TopLevelAccessibilityPreferenceControllerTest {
 
     private Context mContext;
+    private Resources mResources;
     private TopLevelAccessibilityPreferenceController mController;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mResources);
         mController = new TopLevelAccessibilityPreferenceController(mContext, "test_key");
     }
 
@@ -48,10 +56,10 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
-    @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_unsupportedWhenSet() {
+        when(mResources.getBoolean(R.bool.config_show_top_level_accessibility)).thenReturn(false);
+
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationIntensitySettingsFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationIntensitySettingsFragmentTest.java
new file mode 100644
index 0000000..045c9db
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/VibrationIntensitySettingsFragmentTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link VibrationIntensitySettingsFragment}. */
+@RunWith(RobolectricTestRunner.class)
+@RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
+public class VibrationIntensitySettingsFragmentTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private Context mContext;
+    private Resources mResources;
+    private VibrationIntensitySettingsFragment mFragment;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mResources);
+        mFragment = new VibrationIntensitySettingsFragment();
+    }
+
+    @Test
+    public void getMetricsCategory_returnsCorrectCategory() {
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.ACCESSIBILITY_VIBRATION);
+    }
+
+    @Test
+    public void getHelpResource_returnsCorrectString() {
+        assertThat(mFragment.getHelpResource()).isEqualTo(
+                R.string.help_uri_accessibility_vibration);
+    }
+
+    @Test
+    public void getPreferenceScreenResId_returnsCorrectXml() {
+        assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(
+                R.xml.accessibility_vibration_intensity_settings);
+    }
+
+    @Test
+    public void getLogTag_returnsCorrectTag() {
+        assertThat(mFragment.getLogTag()).isEqualTo("VibrationIntensitySettings");
+    }
+
+    @Test
+    public void isPageSearchEnabled_oneIntensityLevel_returnsFalse() {
+        when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
+                .thenReturn(1);
+        assertThat(VibrationIntensitySettingsFragment.isPageSearchEnabled(mContext)).isFalse();
+    }
+
+    @Test
+    public void isPageSearchEnabled_multipleIntensityLevels_returnsTrue() {
+        when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
+                .thenReturn(2);
+        assertThat(VibrationIntensitySettingsFragment.isPageSearchEnabled(mContext)).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java
index a045dea..cf33173 100644
--- a/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/VibrationPreferenceControllerTest.java
@@ -18,14 +18,20 @@
 
 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.eq;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.res.Resources;
 import android.os.Vibrator;
+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.Preference;
@@ -33,8 +39,10 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -44,6 +52,9 @@
 @RunWith(RobolectricTestRunner.class)
 public class VibrationPreferenceControllerTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String PREFERENCE_KEY = "preference_key";
     private static final int OFF = 0;
     private static final int ON = 1;
@@ -52,13 +63,17 @@
     @Mock private PreferenceScreen mScreen;
 
     private Context mContext;
+    private Resources mResources;
     private Preference mPreference;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mResources);
         when(mContext.getSystemService(Context.VIBRATOR_SERVICE)).thenReturn(mVibrator);
+        when(mVibrator.hasVibrator()).thenReturn(true);
     }
 
     @Test
@@ -85,7 +100,6 @@
 
     @Test
     public void getSummary_vibrateSettingNotSet_returnsOnText() {
-        when(mVibrator.hasVibrator()).thenReturn(true);
         Settings.System.putString(mContext.getContentResolver(), Settings.System.VIBRATE_ON,
                 /* value= */ null);
         VibrationPreferenceController controller = createPreferenceController();
@@ -97,7 +111,6 @@
 
     @Test
     public void getSummary_vibrateSettingOn_returnsOnText() {
-        when(mVibrator.hasVibrator()).thenReturn(true);
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.VIBRATE_ON, ON);
         VibrationPreferenceController controller = createPreferenceController();
         controller.updateState(mPreference);
@@ -108,7 +121,6 @@
 
     @Test
     public void getSummary_vibrateSettingOff_returnsOffText() {
-        when(mVibrator.hasVibrator()).thenReturn(true);
         Settings.System.putInt(mContext.getContentResolver(), Settings.System.VIBRATE_ON, OFF);
         VibrationPreferenceController controller = createPreferenceController();
         controller.updateState(mPreference);
@@ -117,11 +129,39 @@
                 mContext.getString(R.string.accessibility_vibration_settings_state_off));
     }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
+    public void handlePreferenceTreeClick_oneIntensityLevel_opensVibrationSettings() {
+        when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
+                .thenReturn(1);
+        VibrationPreferenceController controller = spy(createPreferenceController());
+
+        doNothing().when(controller).launchVibrationSettingsFragment(any());
+        controller.handlePreferenceTreeClick(mPreference);
+
+        verify(controller).launchVibrationSettingsFragment(eq(VibrationSettings.class));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
+    public void handlePreferenceTreeClick_multipleIntensityLevels_opensVibrationIntensity() {
+        when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
+                .thenReturn(2);
+        VibrationPreferenceController controller = spy(createPreferenceController());
+
+        doNothing().when(controller).launchVibrationSettingsFragment(any());
+        controller.handlePreferenceTreeClick(mPreference);
+
+        verify(controller).launchVibrationSettingsFragment(
+                eq(VibrationIntensitySettingsFragment.class));
+    }
+
     private VibrationPreferenceController createPreferenceController() {
         VibrationPreferenceController controller =
                 new VibrationPreferenceController(mContext, PREFERENCE_KEY);
         mPreference = new Preference(mContext);
         mPreference.setSummary("Test summary");
+        mPreference.setKey(PREFERENCE_KEY);
         when(mScreen.findPreference(controller.getPreferenceKey())).thenReturn(mPreference);
         controller.displayPreference(mScreen);
         return controller;
diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceControllerTest.java
index 9e31130..95c3e15 100644
--- a/tests/robotests/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/VibrationRampingRingerTogglePreferenceControllerTest.java
@@ -40,7 +40,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -86,7 +85,6 @@
     }
 
     @Test
-    @Ignore
     public void getAvailabilityStatus_notVoiceCapable_returnUnsupportedOnDevice() {
         when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
         when(mDeviceConfigProvider.isRampingRingerEnabledOnTelephonyConfig()).thenReturn(false);
@@ -95,7 +93,6 @@
     }
 
     @Test
-    @Ignore
     public void getAvailabilityStatus_rampingRingerEnabled_returnUnsupportedOnDevice() {
         when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
         when(mDeviceConfigProvider.isRampingRingerEnabledOnTelephonyConfig()).thenReturn(true);
@@ -104,7 +101,6 @@
     }
 
     @Test
-    @Ignore
     public void getAvailabilityStatus_voiceCapableAndRampingRingerDisabled_returnAvailable() {
         when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
         when(mDeviceConfigProvider.isRampingRingerEnabledOnTelephonyConfig()).thenReturn(false);
@@ -146,7 +142,6 @@
     }
 
     @Test
-    @Ignore
     public void setChecked_withRingEnabled_updatesSetting() {
         updateSetting(Settings.System.RING_VIBRATION_INTENSITY, Vibrator.VIBRATION_INTENSITY_HIGH);
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/VibrationSettingsTest.java b/tests/robotests/src/com/android/settings/accessibility/VibrationSettingsTest.java
new file mode 100644
index 0000000..f5ea39e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/VibrationSettingsTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.res.Resources;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/** Tests for {@link VibrationSettings} fragment. */
+@RunWith(RobolectricTestRunner.class)
+@RequiresFlagsEnabled(Flags.FLAG_SEPARATE_ACCESSIBILITY_VIBRATION_SETTINGS_FRAGMENTS)
+public class VibrationSettingsTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private Context mContext;
+    private Resources mResources;
+    private VibrationSettings mFragment;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(mResources);
+        mFragment = new VibrationSettings();
+    }
+
+    @Test
+    public void getMetricsCategory_returnsCorrectCategory() {
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(
+                SettingsEnums.ACCESSIBILITY_VIBRATION);
+    }
+
+    @Test
+    public void getHelpResource_returnsCorrectString() {
+        assertThat(mFragment.getHelpResource()).isEqualTo(
+                R.string.help_uri_accessibility_vibration);
+    }
+
+    @Test
+    public void getPreferenceScreenResId_returnsCorrectXml() {
+        assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(
+                R.xml.accessibility_vibration_settings);
+    }
+
+    @Test
+    public void getLogTag_returnsCorrectTag() {
+        assertThat(mFragment.getLogTag()).isEqualTo("VibrationSettings");
+    }
+
+    @Test
+    public void isPageSearchEnabled_oneIntensityLevel_returnsTrue() {
+        when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
+                .thenReturn(1);
+        assertThat(VibrationSettings.isPageSearchEnabled(mContext)).isTrue();
+    }
+
+    @Test
+    public void isPageSearchEnabled_multipleIntensityLevels_returnsFalse() {
+        when(mResources.getInteger(R.integer.config_vibration_supported_intensity_levels))
+                .thenReturn(2);
+        assertThat(VibrationSettings.isPageSearchEnabled(mContext)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceControllerTest.java
index 72aabab..6c9fbfc 100644
--- a/tests/robotests/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accessibility/ViewAllBluetoothDevicesPreferenceControllerTest.java
@@ -30,8 +30,6 @@
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
@@ -42,9 +40,13 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link ViewAllBluetoothDevicesPreferenceController}. */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ViewAllBluetoothDevicesPreferenceControllerTest {
 
     @Rule
@@ -62,8 +64,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getContext()).thenReturn(mContext);
         when(mFragment.getActivity()).thenReturn(mActivity);
 
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/AdvancedShortcutsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/AdvancedShortcutsPreferenceControllerTest.java
new file mode 100644
index 0000000..0a8273b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/AdvancedShortcutsPreferenceControllerTest.java
@@ -0,0 +1,134 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link AdvancedShortcutsPreferenceController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class AdvancedShortcutsPreferenceControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET_MAGNIFICATION =
+            "com.android.server.accessibility.MagnificationController";
+    private static final String TARGET_FAKE =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private AdvancedShortcutsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mController = new AdvancedShortcutsPreferenceController(mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+        Preference preference = new Preference(mContext);
+        preference.setKey(PREF_KEY);
+        PreferenceScreen preferenceScreen =
+                new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        preferenceScreen.addPreference(preference);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsMagnificationAndIsExpanded_returnsConditionallyUnavailable() {
+        mController.setExpanded(true);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsMagnificationAndIsNotExpanded_returnsAvailableUnsearchable() {
+        mController.setExpanded(false);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsNotMagnificationAndIsNotExpanded_returnsConditionallyUnavailable() {
+        mController.setExpanded(false);
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsNotMagnificationAndIsExpanded_returnsConditionallyUnavailable() {
+        mController.setExpanded(true);
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void setExpanded_expand_updateExpandedValue() {
+        mController.setExpanded(true);
+
+        assertThat(mController.isExpanded()).isTrue();
+    }
+
+    @Test
+    public void setExpanded_collapse_updateExpandedValue() {
+        mController.setExpanded(false);
+
+        assertThat(mController.isExpanded()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_multipleTargets_returnFalse() {
+        mController.setShortcutTargets(Set.of(TARGET_FAKE, TARGET_MAGNIFICATION));
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_magnificationTargetOnly_returnTrue() {
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @Test
+    public void isShortcutAvailable_nonMagnificationTarget_returnFalse() {
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isChecked_returnFalse() {
+        assertThat(mController.isChecked()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java
new file mode 100644
index 0000000..13f0b24
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/EditShortcutsPreferenceFragmentTest.java
@@ -0,0 +1,483 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+import static com.android.settings.accessibility.shortcuts.EditShortcutsPreferenceFragment.SHORTCUT_SETTINGS;
+
+import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP;
+import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_FIRST_RUN;
+import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_PRE_DEFERRED_SETUP;
+import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SETUP_FLOW;
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.net.Uri;
+import android.os.Bundle;
+import android.provider.Settings;
+import android.view.accessibility.AccessibilityManager;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.lifecycle.Lifecycle;
+import androidx.preference.Preference;
+import androidx.preference.TwoStatePreference;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.util.ShortcutUtils;
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.SubSettings;
+import com.android.settings.accessibility.AccessibilityUtil;
+import com.android.settings.accessibility.PreferredShortcuts;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import com.google.android.setupcompat.util.WizardManagerHelper;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowAccessibilityManager;
+import org.robolectric.shadows.ShadowContentResolver;
+import org.robolectric.shadows.ShadowLooper;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Tests for {@link EditShortcutsPreferenceFragment}
+ */
+@Config(shadows = SettingsShadowResources.class)
+@RunWith(RobolectricTestRunner.class)
+public class EditShortcutsPreferenceFragmentTest {
+    private static final int METRICS_CATEGORY = 123;
+    private static final CharSequence SCREEN_TITLE = "Fake shortcut title";
+    private static final ComponentName TARGET_FAKE_COMPONENT =
+            new ComponentName("FakePackage", "FakeClass");
+    private static final String TARGET = MAGNIFICATION_CONTROLLER_NAME;
+    private static final Set<String> TARGETS = Set.of(TARGET);
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private FragmentActivity mActivity;
+    private FragmentScenario<EditShortcutsPreferenceFragment> mFragmentScenario;
+
+    @Before
+    public void setUp() {
+        SettingsShadowResources.overrideResource(
+                com.android.internal.R.integer.config_navBarInteractionMode,
+                NAV_BAR_MODE_GESTURAL);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_BUTTON_MODE,
+                Settings.Secure.ACCESSIBILITY_BUTTON_MODE_GESTURE);
+
+        mActivity = Robolectric.buildActivity(FragmentActivity.class).get();
+    }
+
+    @After
+    public void cleanUp() {
+        if (mFragmentScenario != null) {
+            mFragmentScenario.close();
+        }
+    }
+
+    @Test
+    public void showEditShortcutScreen_targetIsMagnification_launchSubSetting() {
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                mActivity, METRICS_CATEGORY, SCREEN_TITLE,
+                MAGNIFICATION_COMPONENT_NAME, /* fromIntent= */ null);
+
+        assertLaunchSubSettingWithCurrentTargetComponents(
+                MAGNIFICATION_CONTROLLER_NAME, /* isInSuw= */ false);
+    }
+
+    @Test
+    public void showEditShortcutScreen_launchSubSetting() {
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                mActivity, METRICS_CATEGORY, SCREEN_TITLE,
+                TARGET_FAKE_COMPONENT, /* fromIntent= */ null);
+
+        assertLaunchSubSettingWithCurrentTargetComponents(
+                TARGET_FAKE_COMPONENT.flattenToString(), /* isInSuw= */ false);
+    }
+
+    @Test
+    public void showEditShortcutScreen_inSuw_launchSubSettingWithSuw() {
+        EditShortcutsPreferenceFragment.showEditShortcutScreen(
+                mActivity, METRICS_CATEGORY, SCREEN_TITLE,
+                TARGET_FAKE_COMPONENT, createSuwIntent(new Intent(), /* isInSuw= */ true));
+
+        assertLaunchSubSettingWithCurrentTargetComponents(
+                TARGET_FAKE_COMPONENT.flattenToString(), /* isInSuw= */ true);
+    }
+
+    @Test
+    public void fragmentCreated_inSuw_controllersTargetsSet() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ true);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        mFragmentScenario.onFragment(fragment -> {
+            List<ShortcutOptionPreferenceController> controllers =
+                    getShortcutOptionPreferenceControllers(fragment);
+
+            for (ShortcutOptionPreferenceController controller : controllers) {
+                assertThat(controller.getShortcutTargets()).containsExactlyElementsIn(TARGETS);
+                assertThat(controller.isInSetupWizard()).isTrue();
+            }
+        });
+    }
+
+    @Test
+    public void fragmentCreated_notInSuw_controllersTargetsSet() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        mFragmentScenario.onFragment(fragment -> {
+            List<ShortcutOptionPreferenceController> controllers =
+                    getShortcutOptionPreferenceControllers(fragment);
+
+            for (ShortcutOptionPreferenceController controller : controllers) {
+                assertThat(controller.getShortcutTargets()).containsExactlyElementsIn(TARGETS);
+                assertThat(controller.isInSetupWizard()).isFalse();
+            }
+        });
+    }
+
+    @Test
+    public void fragmentCreated_settingsObserversAreRegistered() {
+        ShadowContentResolver contentResolver = shadowOf(mContext.getContentResolver());
+        for (Uri uri : SHORTCUT_SETTINGS) {
+            assertThat(contentResolver.getContentObservers(uri)).isEmpty();
+        }
+
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        for (Uri uri : SHORTCUT_SETTINGS) {
+            assertThat(contentResolver.getContentObservers(uri)).isNotEmpty();
+        }
+    }
+
+    @Test
+    public void fragmentDestroyed_unregisterSettingsObserver() {
+        ShadowContentResolver contentResolver = shadowOf(mContext.getContentResolver());
+
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false)
+                .moveToState(Lifecycle.State.CREATED);
+        mFragmentScenario.onFragment(EditShortcutsPreferenceFragment::onDestroy);
+
+        for (Uri uri : SHORTCUT_SETTINGS) {
+            assertThat(contentResolver.getContentObservers(uri)).isEmpty();
+        }
+    }
+
+    @Test
+    public void onVolumeKeysShortcutSettingChanged_volumeKeyControllerUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET);
+
+        mFragmentScenario.onFragment(fragment -> {
+            TwoStatePreference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_volume_keys_pref));
+            assertThat(preference.isChecked()).isTrue();
+        });
+    }
+
+    @Test
+    public void onSoftwareShortcutSettingChanged_softwareControllersUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, TARGET);
+        ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
+
+        mFragmentScenario.onFragment(fragment -> {
+            TwoStatePreference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_gesture_pref));
+            assertThat(preference.isChecked()).isTrue();
+        });
+    }
+
+    @Test
+    public void onSoftwareShortcutModeChanged_softwareControllersUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, TARGET);
+        ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
+
+        mFragmentScenario.onFragment(fragment -> {
+            TwoStatePreference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_gesture_pref));
+            assertThat(preference.isChecked()).isTrue();
+        });
+    }
+
+    @Test
+    public void onTripleTapShortcutSettingChanged_tripleTapShortcutControllerUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                AccessibilityUtil.State.ON);
+        ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
+
+        mFragmentScenario.onFragment(fragment -> {
+            TwoStatePreference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_triple_tap_pref));
+            assertThat(preference.isChecked()).isTrue();
+        });
+    }
+
+    @Test
+    public void onTwoFingersShortcutSettingChanged_twoFingersDoubleTapShortcutControllerUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+
+        Settings.Secure.putInt(
+                mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                AccessibilityUtil.State.ON);
+        ShadowLooper.runUiThreadTasksIncludingDelayedTasks();
+
+        mFragmentScenario.onFragment(fragment -> {
+            TwoStatePreference preference = fragment.findPreference(
+                    mContext.getString(
+                            R.string.accessibility_shortcut_two_fingers_double_tap_pref));
+            assertThat(preference.isChecked()).isTrue();
+        });
+    }
+
+    @Test
+    public void fragmentResumed_enableTouchExploration_gestureShortcutOptionSummaryUpdated() {
+        String expectedSummary = mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_gesture_talkback)
+                + "\n\n"
+                + mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.RESUMED);
+
+        ShadowAccessibilityManager am = shadowOf(
+                mContext.getSystemService(AccessibilityManager.class));
+        am.setTouchExplorationEnabled(true);
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_gesture_pref));
+            assertThat(preference.getSummary().toString()).isEqualTo(expectedSummary);
+        });
+    }
+
+    @Test
+    public void fragmentPaused_enableTouchExploration_gestureShortcutOptionSummaryNotUpdated() {
+        String expectedSummary = mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_gesture)
+                + "\n\n"
+                + mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.RESUMED).moveToState(Lifecycle.State.STARTED);
+
+        ShadowAccessibilityManager am = shadowOf(
+                mContext.getSystemService(AccessibilityManager.class));
+        am.setTouchExplorationEnabled(true);
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference preference = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcut_gesture_pref));
+            assertThat(preference.getSummary().toString()).isEqualTo(expectedSummary);
+        });
+    }
+
+    @Test
+    public void onAdvancedPreferenceClicked_advancedShouldBecomeInvisible() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.RESUMED);
+        mFragmentScenario.onFragment(fragment -> {
+            Preference advanced = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcuts_advanced_collapsed));
+            assertThat(advanced.isVisible()).isTrue();
+
+            fragment.onPreferenceTreeClick(advanced);
+
+            assertThat(advanced.isVisible()).isFalse();
+        });
+    }
+
+    @Test
+    public void fragmentRecreated_expanded_advancedRemainInvisible() {
+        onAdvancedPreferenceClicked_advancedShouldBecomeInvisible();
+
+        mFragmentScenario.recreate();
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference advanced = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcuts_advanced_collapsed));
+            assertThat(advanced.isVisible()).isFalse();
+        });
+    }
+
+    @Test
+    public void fragmentRecreated_collapsed_advancedRemainVisible() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.RESUMED);
+
+        mFragmentScenario.recreate();
+
+        mFragmentScenario.onFragment(fragment -> {
+            Preference advanced = fragment.findPreference(
+                    mContext.getString(R.string.accessibility_shortcuts_advanced_collapsed));
+            assertThat(advanced.isVisible()).isTrue();
+        });
+    }
+
+    @Test
+    public void fragmentResumed_preferredShortcutsUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.RESUMED);
+        // Move the fragment to the background
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, TARGET)
+        ).isEqualTo(ShortcutConstants.UserShortcutType.SOFTWARE);
+        // Update the chosen shortcut type to Volume keys while the fragment is in the background
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET);
+
+        mFragmentScenario.moveToState(Lifecycle.State.RESUMED);
+
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, TARGET)
+        ).isEqualTo(ShortcutConstants.UserShortcutType.HARDWARE);
+    }
+
+    @Test
+    public void onVolumeKeysShortcutSettingChanged_preferredShortcutsUpdated() {
+        mFragmentScenario = createFragScenario(/* isInSuw= */ false);
+        mFragmentScenario.moveToState(Lifecycle.State.CREATED);
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, TARGET)
+        ).isEqualTo(ShortcutConstants.UserShortcutType.SOFTWARE);
+
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET);
+
+        // Calls onFragment so that the change to Setting is notified to its observer
+        mFragmentScenario.onFragment(fragment ->
+                assertThat(
+                        PreferredShortcuts.retrieveUserShortcutType(
+                                mContext, TARGET)
+                ).isEqualTo(ShortcutConstants.UserShortcutType.HARDWARE)
+        );
+
+    }
+
+    private void assertLaunchSubSettingWithCurrentTargetComponents(
+            String componentName, boolean isInSuw) {
+        Intent intent = shadowOf(mActivity.getApplication()).getNextStartedActivity();
+
+        assertThat(intent).isNotNull();
+        assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
+        assertThat(intent.getComponent()).isEqualTo(
+                new ComponentName(mActivity, SubSettings.class));
+        assertThat(intent.getExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(EditShortcutsPreferenceFragment.class.getName());
+        assertThat(intent.getExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE))
+                .isEqualTo(SCREEN_TITLE.toString());
+        assertThat(intent.getExtra(
+                MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY)).isEqualTo(METRICS_CATEGORY);
+        Bundle args = (Bundle) intent.getExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        assertThat(args).isNotNull();
+        assertThat(Arrays.stream(args.getStringArray(
+                EditShortcutsPreferenceFragment.ARG_KEY_SHORTCUT_TARGETS)).toList())
+                .containsExactly(componentName);
+        assertThat(WizardManagerHelper.isAnySetupWizard(intent)).isEqualTo(isInSuw);
+    }
+
+    private List<ShortcutOptionPreferenceController> getShortcutOptionPreferenceControllers(
+            EditShortcutsPreferenceFragment fragment) {
+
+        Collection<List<AbstractPreferenceController>> controllers =
+                ReflectionHelpers.callInstanceMethod(fragment, "getPreferenceControllers");
+        List<ShortcutOptionPreferenceController> retControllers = new ArrayList<>();
+        controllers.stream().flatMap(Collection::stream)
+                .filter(controller -> controller instanceof ShortcutOptionPreferenceController)
+                .forEach(controller ->
+                        retControllers.add((ShortcutOptionPreferenceController) controller));
+
+        return retControllers;
+    }
+
+    private FragmentScenario<EditShortcutsPreferenceFragment> createFragScenario(boolean isInSuw) {
+        Bundle args = new Bundle();
+        args.putStringArray(
+                EditShortcutsPreferenceFragment.ARG_KEY_SHORTCUT_TARGETS, new String[]{TARGET});
+        FragmentScenario<EditShortcutsPreferenceFragment> scenario =
+                FragmentScenario.launch(
+                        EditShortcutsPreferenceFragment.class, args,
+                        /* themeResId= */ 0, Lifecycle.State.INITIALIZED);
+        scenario.onFragment(fragment -> {
+            Intent intent = fragment.requireActivity().getIntent();
+            intent.putExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE, SCREEN_TITLE);
+            fragment.requireActivity().setIntent(createSuwIntent(intent, isInSuw));
+            // Since the fragment is attached before we have a chance
+            // to modify the activity's intent; initialize controllers again
+            fragment.initializePreferenceControllerArguments();
+        });
+        return scenario;
+    }
+
+    private Intent createSuwIntent(Intent intent, boolean isInSuw) {
+
+        if (intent == null) {
+            intent = new Intent();
+        }
+        intent.putExtra(EXTRA_IS_SETUP_FLOW, isInSuw);
+        intent.putExtra(EXTRA_IS_FIRST_RUN, isInSuw);
+        intent.putExtra(EXTRA_IS_PRE_DEFERRED_SETUP, isInSuw);
+        intent.putExtra(EXTRA_IS_DEFERRED_SETUP, isInSuw);
+        return intent;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java
new file mode 100644
index 0000000..b39aa22
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/FloatingButtonShortcutOptionControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.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 android.content.ComponentName;
+import android.content.Context;
+import android.provider.Settings;
+import android.text.TextUtils;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link FloatingButtonShortcutOptionController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class FloatingButtonShortcutOptionControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private FloatingButtonShortcutOptionController mController;
+    private ShortcutOptionPreference mShortcutOptionPreference;
+
+    private PreferenceScreen mPreferenceScreen;
+
+    @Before
+    public void setUp() {
+        mController = new FloatingButtonShortcutOptionController(
+                mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET));
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreferenceScreen.addPreference(mShortcutOptionPreference);
+        setFloatingButtonEnabled(true);
+    }
+
+    @Test
+    public void displayPreference_verifyTitle() {
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.accessibility_shortcut_edit_dialog_title_software));
+    }
+
+    @Test
+    public void getSummary_inSuw_verifySummaryEmpty() {
+        mController.setInSetupWizard(true);
+
+        assertThat(TextUtils.isEmpty(mController.getSummary())).isTrue();
+    }
+
+    @Test
+    public void getSummary_notInSuw_verifySummary() {
+        mController.setInSetupWizard(false);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_summary_software_floating));
+    }
+
+    @Test
+    public void isShortcutAvailable_floatingMenuEnabled_returnTrue() {
+        setFloatingButtonEnabled(true);
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @Test
+    public void isShortcutAvailable_floatingMenuDisabled_returnFalse() {
+        setFloatingButtonEnabled(false);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    private void setFloatingButtonEnabled(boolean enable) {
+        int mode = enable
+                ? ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU : ACCESSIBILITY_BUTTON_MODE_GESTURE;
+
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_BUTTON_MODE, mode);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java
new file mode 100644
index 0000000..010386c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/GestureShortcutOptionControllerTest.java
@@ -0,0 +1,155 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.view.accessibility.AccessibilityManager;
+
+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.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link GestureShortcutOptionController}
+ */
+@Config(shadows = SettingsShadowResources.class)
+@RunWith(RobolectricTestRunner.class)
+public class GestureShortcutOptionControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
+    private GestureShortcutOptionController mController;
+    private ShortcutOptionPreference mShortcutOptionPreference;
+
+    private PreferenceScreen mPreferenceScreen;
+
+    @Before
+    public void setUp() {
+        mController = new GestureShortcutOptionController(
+                mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET));
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreferenceScreen.addPreference(mShortcutOptionPreference);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
+        enableTouchExploration(false);
+    }
+
+    @Test
+    public void displayPreference_verifyTitle() {
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_title_software_by_gesture));
+    }
+
+    @Test
+    public void getSummary_touchExplorationDisabled_verifySummary() {
+        enableTouchExploration(false);
+        String expected = mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_gesture)
+                + "\n\n"
+                + mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(expected);
+    }
+
+    @Test
+    public void getSummary_touchExplorationEnabled_verifySummary() {
+        enableTouchExploration(true);
+        String expected = mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_gesture_talkback)
+                + "\n\n"
+                + mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+
+        assertThat(mController.getSummary().toString()).isEqualTo(expected);
+    }
+
+    @Test
+    public void isShortcutAvailable_inSuw_returnFalse() {
+        mController.setInSetupWizard(true);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_notInSuwUseGestureNavSystemUseFab_returnFalse() {
+        mController.setInSetupWizard(false);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ true);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_notInSuwUseGestureNavSystemNotUseFab_returnTrue() {
+        mController.setInSetupWizard(false);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @Test
+    public void isShortcutAvailable_notInSuwUseButtonNavSystemUseFab_returnFalse() {
+        mController.setInSetupWizard(false);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_notInSuwUseButtonNavSystemNotUseFab_returnFalse() {
+        mController.setInSetupWizard(false);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    private void enableTouchExploration(boolean enable) {
+        AccessibilityManager am = mock(AccessibilityManager.class);
+        when(mContext.getSystemService(AccessibilityManager.class)).thenReturn(am);
+        when(am.isTouchExplorationEnabled()).thenReturn(enable);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/NavButtonShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/NavButtonShortcutOptionControllerTest.java
new file mode 100644
index 0000000..9106d00
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/NavButtonShortcutOptionControllerTest.java
@@ -0,0 +1,133 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.ComponentName;
+import android.content.Context;
+
+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.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link NavButtonShortcutOptionController}
+ */
+@Config(shadows = SettingsShadowResources.class)
+@RunWith(RobolectricTestRunner.class)
+public class NavButtonShortcutOptionControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    private final Context mContext = spy(ApplicationProvider.getApplicationContext());
+    private NavButtonShortcutOptionController mController;
+    private ShortcutOptionPreference mShortcutOptionPreference;
+
+    private PreferenceScreen mPreferenceScreen;
+
+    @Before
+    public void setUp() {
+        mController = new NavButtonShortcutOptionController(
+                mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET));
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreferenceScreen.addPreference(mShortcutOptionPreference);
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
+    }
+
+    @Test
+    public void displayPreference_verifyTitle() {
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_title_software));
+    }
+
+    @Test
+    public void displayPreference_inSuw_verifySummary() {
+        mController.setInSetupWizard(true);
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.accessibility_shortcut_edit_dialog_summary_software));
+    }
+
+    @Test
+    public void displayPreference_notInSuw_verifySummary() {
+        mController.setInSetupWizard(false);
+        String expected = mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software)
+                + "\n\n"
+                + mContext.getString(
+                R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getSummary().toString()).isEqualTo(expected);
+    }
+
+    @Test
+    public void isShortcutAvailable_useGestureNavSystemUseFab_returnFalse() {
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ true);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_useGestureNavSystemNotUseFab_returnFalse() {
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ true, /* floatingButtonEnabled= */ false);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_useButtonNavSystemUseFab_returnFalse() {
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ true);
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_useButtonNavSystemNotUseFab_returnTrue() {
+        AccessibilityTestUtils.setSoftwareShortcutMode(
+                mContext, /* gestureNavEnabled= */ false, /* floatingButtonEnabled= */ false);
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceControllerTest.java
new file mode 100644
index 0000000..d3d425e
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceControllerTest.java
@@ -0,0 +1,130 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.InOrder;
+import org.mockito.Mockito;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link ShortcutOptionPreferenceController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class ShortcutOptionPreferenceControllerTest {
+
+    private static final String PREF_KEY = "prefKey";
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private ShortcutOptionPreference mShortcutOptionPreference;
+    private ShortcutOptionPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mShortcutOptionPreference = spy(new ShortcutOptionPreference(mContext));
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mController = spy(new ShortcutOptionPreferenceController(mContext, PREF_KEY) {
+            @Override
+            protected boolean isShortcutAvailable() {
+                return false;
+            }
+
+            @Override
+            protected boolean isChecked() {
+                return false;
+            }
+
+            @Override
+            protected void enableShortcutForTargets(boolean enable) {
+                // do nothing
+            }
+        });
+    }
+
+    @Test
+    public void updateState_shortcutControllerIsChecked_shouldSetPreferenceChecked() {
+        when(mController.isChecked()).thenReturn(true);
+
+        mController.updateState(mShortcutOptionPreference);
+
+        assertThat(mShortcutOptionPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void updateState_shortcutControllerIsNotChecked_shouldSetPreferenceUnchecked() {
+        when(mController.isChecked()).thenReturn(false);
+
+        mController.updateState(mShortcutOptionPreference);
+
+        assertThat(mShortcutOptionPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void getAvailabilityStatus_shortcutAvailable_returnAvailableUnsearchable() {
+        when(mController.isShortcutAvailable()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_shortcutUnavailable_returnConditionallyUnavailable() {
+        when(mController.isShortcutAvailable()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void onPreferenceChanged_callEnableShortcutForTargets() {
+        mController.onPreferenceChange(mShortcutOptionPreference, true);
+        mController.onPreferenceChange(mShortcutOptionPreference, false);
+
+        InOrder inOrder = Mockito.inOrder(mController);
+        inOrder.verify(mController).enableShortcutForTargets(true);
+        inOrder.verify(mController).enableShortcutForTargets(false);
+    }
+
+    @Test
+    public void getShortcutTargets() {
+        Set<String> targets = Set.of("target1", "target2");
+        mController.setShortcutTargets(targets);
+
+        assertThat(mController.getShortcutTargets())
+                .containsExactlyElementsIn(targets);
+    }
+
+    @Test
+    public void isInSetupWizard() {
+        mController.setInSetupWizard(true);
+
+        assertThat(mController.isInSetupWizard()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java
new file mode 100644
index 0000000..981b86d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/ShortcutOptionPreferenceTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.widget.ImageView;
+
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+/**
+ * Test for {@link ShortcutOptionPreferenceTest}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class ShortcutOptionPreferenceTest {
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private ShortcutOptionPreference mShortcutOptionPreference;
+    private PreferenceViewHolder mViewHolder;
+    private ImageView mImageView;
+
+    @Before
+    public void setUp() {
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        int layoutId =  mShortcutOptionPreference.getLayoutResource();
+        View itemView = LayoutInflater.from(mContext).inflate(layoutId, /* root= */null);
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(itemView);
+        mImageView = (ImageView) mViewHolder.findViewById(R.id.image);
+    }
+
+    @Test
+    public void bindViewHolder_imageResNotSet_shouldHideImageView() {
+        mShortcutOptionPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mImageView.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void bindViewHolder_imageResIdSet_shouldShowImageView() {
+        mShortcutOptionPreference.setIntroImageResId(R.drawable.a11y_shortcut_type_hardware);
+
+        mShortcutOptionPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mImageView.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void bindViewHolder_imageRawResIdSet_shouldShowImageView() {
+        mShortcutOptionPreference.setIntroImageRawResId(
+                com.android.settings.R.raw.accessibility_color_inversion_banner);
+
+        mShortcutOptionPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mImageView.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void bindViewHolder_shouldUpdateSummaryTextLineHeight() {
+        assertThat(mShortcutOptionPreference.getSummaryTextLineHeight()).isEqualTo(0);
+
+        mShortcutOptionPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mShortcutOptionPreference.getSummaryTextLineHeight()).isNotEqualTo(0);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/SoftwareShortcutOptionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/SoftwareShortcutOptionPreferenceControllerTest.java
new file mode 100644
index 0000000..1f7e019
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/SoftwareShortcutOptionPreferenceControllerTest.java
@@ -0,0 +1,330 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.internal.accessibility.common.ShortcutConstants.SERVICES_SEPARATOR;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.accessibilityservice.AccessibilityServiceInfo;
+import android.app.Application;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.ContextWrapper;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ResolveInfo;
+import android.content.pm.ServiceInfo;
+import android.os.Build;
+import android.provider.Settings;
+import android.text.SpannableStringBuilder;
+import android.view.View;
+import android.view.accessibility.AccessibilityManager;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.util.ShortcutUtils;
+import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.SubSettings;
+import com.android.settings.accessibility.AccessibilityButtonFragment;
+import com.android.settings.accessibility.FloatingMenuSizePreferenceController;
+import com.android.settings.utils.AnnotationSpan;
+import com.android.settingslib.accessibility.AccessibilityUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
+import org.xmlpull.v1.XmlPullParserException;
+
+import java.io.IOException;
+import java.util.List;
+import java.util.Set;
+
+/**
+ * Tests for {@link SoftwareShortcutOptionPreferenceController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class SoftwareShortcutOptionPreferenceControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET_MAGNIFICATION =
+            "com.android.server.accessibility.MagnificationController";
+    private static final ComponentName TARGET_ALWAYS_ON_A11Y_SERVICE =
+            new ComponentName("FakePackage", "AlwaysOnA11yService");
+    private static final ComponentName TARGET_STANDARD_A11Y_SERVICE =
+            new ComponentName("FakePackage", "StandardA11yService");
+    private static final String SOFTWARE_SHORTCUT_SETTING_NAME =
+            Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS;
+
+    private Context mContext;
+    private TestSoftwareShortcutOptionPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = spy(Robolectric.buildActivity(FragmentActivity.class).get());
+
+        AccessibilityServiceInfo mAlwaysOnServiceInfo = createAccessibilityServiceInfo(
+                TARGET_ALWAYS_ON_A11Y_SERVICE, /* isAlwaysOnService= */ true);
+        AccessibilityServiceInfo mStandardServiceInfo = createAccessibilityServiceInfo(
+                TARGET_STANDARD_A11Y_SERVICE, /* isAlwaysOnService= */ false);
+        AccessibilityManager am = mock(AccessibilityManager.class);
+        when(mContext.getSystemService(Context.ACCESSIBILITY_SERVICE)).thenReturn(am);
+        when(am.getInstalledAccessibilityServiceList()).thenReturn(
+                List.of(mAlwaysOnServiceInfo, mStandardServiceInfo));
+
+        mController = new TestSoftwareShortcutOptionPreferenceController(mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+    }
+
+    @Test
+    public void isChecked_allTargetsHasShortcutConfigured_returnTrue() {
+        Settings.Secure.putString(
+                mContext.getContentResolver(), SOFTWARE_SHORTCUT_SETTING_NAME,
+                String.join(String.valueOf(SERVICES_SEPARATOR),
+                        TARGET_MAGNIFICATION,
+                        TARGET_STANDARD_A11Y_SERVICE.flattenToString(),
+                        TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString())
+        );
+        mController.setShortcutTargets(
+                Set.of(TARGET_MAGNIFICATION,
+                        TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString(),
+                        TARGET_STANDARD_A11Y_SERVICE.flattenToString()));
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_someTargetsHasShortcutConfigured_returnFalse() {
+        Settings.Secure.putString(
+                mContext.getContentResolver(), SOFTWARE_SHORTCUT_SETTING_NAME,
+                String.join(String.valueOf(SERVICES_SEPARATOR),
+                        TARGET_MAGNIFICATION,
+                        TARGET_STANDARD_A11Y_SERVICE.flattenToString())
+        );
+        mController.setShortcutTargets(
+                Set.of(TARGET_MAGNIFICATION,
+                        TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString(),
+                        TARGET_STANDARD_A11Y_SERVICE.flattenToString()));
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_noTargetsHasShortcutConfigured_returnFalse() {
+        Settings.Secure.putString(
+                mContext.getContentResolver(), SOFTWARE_SHORTCUT_SETTING_NAME, "");
+        mController.setShortcutTargets(
+                Set.of(TARGET_MAGNIFICATION,
+                        TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString(),
+                        TARGET_STANDARD_A11Y_SERVICE.flattenToString()));
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void getCustomizedAccessibilityButtonLink_verifyText() {
+        String expected =
+                mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+
+        CharSequence spannable = mController.getCustomizeAccessibilityButtonLink();
+
+        assertThat(spannable.toString()).isEqualTo(expected);
+    }
+
+    @Test
+    public void getCustomizedAccessibilityButtonLink_verifyClickAction() {
+        String expected =
+                mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_summary_software_floating);
+
+        CharSequence spannable = mController.getCustomizeAccessibilityButtonLink();
+
+        assertThat(spannable).isInstanceOf(SpannableStringBuilder.class);
+        AnnotationSpan[] spans = ((SpannableStringBuilder) spannable).getSpans(
+                0, expected.length(), AnnotationSpan.class);
+        spans[0].onClick(new View(mContext));
+        assertLaunchSettingsPage(AccessibilityButtonFragment.class.getName());
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableShortcut_shortcutTurnedOn() {
+        String target = TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString();
+        mController.setShortcutTargets(Set.of(target));
+        assertThat(ShortcutUtils.isComponentIdExistingInSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, target
+        )).isFalse();
+
+        mController.enableShortcutForTargets(true);
+
+        assertThat(ShortcutUtils.isComponentIdExistingInSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, target
+        )).isTrue();
+    }
+
+    @Test
+    public void enableShortcutForTargets_disableShortcut_shortcutTurnedOff() {
+        String target = TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString();
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, target);
+        assertThat(ShortcutUtils.isComponentIdExistingInSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, target
+        )).isTrue();
+        mController.setShortcutTargets(Set.of(target));
+
+        mController.enableShortcutForTargets(false);
+
+        assertThat(ShortcutUtils.isComponentIdExistingInSettings(
+                mContext, ShortcutConstants.UserShortcutType.SOFTWARE, target
+        )).isFalse();
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableShortcutWithMagnification_menuSizeIncreased() {
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        mController.enableShortcutForTargets(true);
+
+        assertThat(
+                Settings.Secure.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                        FloatingMenuSizePreferenceController.Size.UNKNOWN))
+                .isEqualTo(FloatingMenuSizePreferenceController.Size.LARGE);
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableShortcutWithMagnification_userConfigureSmallMenuSize_menuSizeNotChanged() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                FloatingMenuSizePreferenceController.Size.SMALL);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        mController.enableShortcutForTargets(true);
+
+        assertThat(
+                Settings.Secure.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_FLOATING_MENU_SIZE,
+                        FloatingMenuSizePreferenceController.Size.UNKNOWN))
+                .isEqualTo(FloatingMenuSizePreferenceController.Size.SMALL);
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableAlwaysOnServiceShortcut_turnsOnAlwaysOnService() {
+        mController.setShortcutTargets(
+                Set.of(TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString()));
+
+        mController.enableShortcutForTargets(true);
+
+        assertThat(AccessibilityUtils.getEnabledServicesFromSettings(mContext))
+                .contains(TARGET_ALWAYS_ON_A11Y_SERVICE);
+    }
+
+    @Test
+    public void enableShortcutForTargets_disableAlwaysOnServiceShortcut_turnsOffAlwaysOnService() {
+        mController.setShortcutTargets(
+                Set.of(TARGET_ALWAYS_ON_A11Y_SERVICE.flattenToString()));
+
+        mController.enableShortcutForTargets(false);
+
+        assertThat(AccessibilityUtils.getEnabledServicesFromSettings(mContext))
+                .doesNotContain(TARGET_ALWAYS_ON_A11Y_SERVICE);
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableStandardServiceShortcut_wontTurnOnService() {
+        mController.setShortcutTargets(
+                Set.of(TARGET_STANDARD_A11Y_SERVICE.flattenToString()));
+
+        mController.enableShortcutForTargets(true);
+
+        assertThat(AccessibilityUtils.getEnabledServicesFromSettings(mContext))
+                .doesNotContain(TARGET_STANDARD_A11Y_SERVICE);
+    }
+
+    @Test
+    public void enableShortcutForTargets_disableStandardServiceShortcutWithServiceOn_wontTurnOffService() {
+        mController.setShortcutTargets(
+                Set.of(TARGET_STANDARD_A11Y_SERVICE.flattenToString()));
+        AccessibilityUtils.setAccessibilityServiceState(
+                mContext, TARGET_STANDARD_A11Y_SERVICE, /* enabled= */ true);
+
+        mController.enableShortcutForTargets(false);
+
+        assertThat(AccessibilityUtils.getEnabledServicesFromSettings(mContext))
+                .contains(TARGET_STANDARD_A11Y_SERVICE);
+    }
+
+    private void assertLaunchSettingsPage(String page) {
+        ContextWrapper applicationContext = (Application) mContext.getApplicationContext();
+        final Intent intent = Shadows.shadowOf(applicationContext).getNextStartedActivity();
+        assertThat(intent).isNotNull();
+        assertThat(intent.getAction()).isEqualTo(Intent.ACTION_MAIN);
+        assertThat(intent.getComponent()).isEqualTo(
+                new ComponentName(applicationContext, SubSettings.class));
+        assertThat(intent.getExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT)).isEqualTo(page);
+    }
+
+    private AccessibilityServiceInfo createAccessibilityServiceInfo(
+            ComponentName componentName, boolean isAlwaysOnService) {
+        final ApplicationInfo applicationInfo = new ApplicationInfo();
+        applicationInfo.targetSdkVersion = Build.VERSION_CODES.R;
+        final ServiceInfo serviceInfo = new ServiceInfo();
+        applicationInfo.packageName = componentName.getPackageName();
+        serviceInfo.packageName = componentName.getPackageName();
+        serviceInfo.name = componentName.getClassName();
+        serviceInfo.applicationInfo = applicationInfo;
+
+        final ResolveInfo resolveInfo = new ResolveInfo();
+        resolveInfo.serviceInfo = serviceInfo;
+        try {
+            final AccessibilityServiceInfo info = new AccessibilityServiceInfo(resolveInfo,
+                    mContext);
+            info.setComponentName(componentName);
+            if (isAlwaysOnService) {
+                info.flags |= AccessibilityServiceInfo.FLAG_REQUEST_ACCESSIBILITY_BUTTON;
+            }
+            return info;
+        } catch (XmlPullParserException | IOException e) {
+            // Do nothing
+        }
+        return null;
+    }
+
+    private static class TestSoftwareShortcutOptionPreferenceController
+            extends SoftwareShortcutOptionPreferenceController {
+
+        TestSoftwareShortcutOptionPreferenceController(
+                Context context, String preferenceKey) {
+            super(context, preferenceKey);
+        }
+
+        @Override
+        protected boolean isShortcutAvailable() {
+            return true;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/TripleTapShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/TripleTapShortcutOptionControllerTest.java
new file mode 100644
index 0000000..800640a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/TripleTapShortcutOptionControllerTest.java
@@ -0,0 +1,185 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.icu.text.MessageFormat;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link TripleTapShortcutOptionController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class TripleTapShortcutOptionControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET_MAGNIFICATION =
+            "com.android.server.accessibility.MagnificationController";
+    private static final String TARGET_FAKE =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private TripleTapShortcutOptionController mController;
+    private ShortcutOptionPreference mShortcutOptionPreference;
+    private PreferenceScreen mPreferenceScreen;
+
+    @Before
+    public void setUp() {
+        mController = new TripleTapShortcutOptionController(mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreferenceScreen.addPreference(mShortcutOptionPreference);
+    }
+
+    @Test
+    public void displayPreference_verifyScreenTestSet() {
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.accessibility_shortcut_edit_dialog_title_triple_tap));
+        assertThat(mShortcutOptionPreference.getSummary().toString()).isEqualTo(
+                MessageFormat.format(
+                        mContext.getString(
+                                R.string.accessibility_shortcut_edit_dialog_summary_triple_tap),
+                        3));
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsMagnificationAndIsExpanded_returnsAvailableUnsearchable() {
+        mController.setExpanded(true);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsMagnificationAndIsNotExpanded_returnsConditionallyUnavailable() {
+        mController.setExpanded(false);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsNotMagnificationAndIsNotExpanded_returnsConditionallyUnavailable() {
+        mController.setExpanded(false);
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_targetIsNotMagnificationAndIsExpanded_returnsConditionallyUnavailable() {
+        mController.setExpanded(true);
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void setExpanded_expand_updateExpandedValue() {
+        mController.setExpanded(true);
+
+        assertThat(mController.isExpanded()).isTrue();
+    }
+
+    @Test
+    public void setExpanded_collapse_updateExpandedValue() {
+        mController.setExpanded(false);
+
+        assertThat(mController.isExpanded()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_multipleTargets_returnFalse() {
+        mController.setShortcutTargets(Set.of(TARGET_FAKE, TARGET_MAGNIFICATION));
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isShortcutAvailable_magnificationTargetOnly_returnTrue() {
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @Test
+    public void isShortcutAvailable_nonMagnificationTarget_returnFalse() {
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isChecked_tripleTapConfigured_returnTrue() {
+        mController.enableShortcutForTargets(true);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_tripleTapNotConfigured_returnFalse() {
+        mController.enableShortcutForTargets(false);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableShortcut_settingUpdated() {
+        mController.enableShortcutForTargets(true);
+
+        assertThat(
+                Settings.Secure.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                        AccessibilityUtil.State.OFF)
+        ).isEqualTo(AccessibilityUtil.State.ON);
+    }
+
+    @Test
+    public void enableShortcutForTargets_disableShortcut_settingUpdated() {
+        mController.enableShortcutForTargets(false);
+
+        assertThat(
+                Settings.Secure.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                        AccessibilityUtil.State.OFF)
+        ).isEqualTo(AccessibilityUtil.State.OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/TwoFingersDoubleTapShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/TwoFingersDoubleTapShortcutOptionControllerTest.java
new file mode 100644
index 0000000..d27560b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/TwoFingersDoubleTapShortcutOptionControllerTest.java
@@ -0,0 +1,154 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.icu.text.MessageFormat;
+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.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.server.accessibility.Flags;
+import com.android.settings.R;
+import com.android.settings.accessibility.AccessibilityUtil;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link TwoFingersDoubleTapShortcutOptionController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class TwoFingersDoubleTapShortcutOptionControllerTest {
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET_MAGNIFICATION =
+            "com.android.server.accessibility.MagnificationController";
+    private static final String TARGET_FAKE =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private TwoFingersDoubleTapShortcutOptionController mController;
+    private ShortcutOptionPreference mShortcutOptionPreference;
+
+    private PreferenceScreen mPreferenceScreen;
+
+    @Before
+    public void setUp() {
+        mController = new TwoFingersDoubleTapShortcutOptionController(mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreferenceScreen.addPreference(mShortcutOptionPreference);
+    }
+
+    @Test
+    public void displayPreference_verifyScreenTextSet() {
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_title_two_finger_double_tap));
+        assertThat(mShortcutOptionPreference.getSummary().toString()).isEqualTo(
+                MessageFormat.format(mContext.getString(
+                        R.string.accessibility_shortcut_edit_dialog_summary_two_finger_double_tap),
+                        2));
+    }
+
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    @Test
+    public void isShortcutAvailable_featureFlagTurnedOff_returnFalse() {
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    @Test
+    public void isShortcutAvailable_multipleTargets_returnFalse() {
+        mController.setShortcutTargets(Set.of(TARGET_FAKE, TARGET_MAGNIFICATION));
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    @Test
+    public void isShortcutAvailable_magnificationTargetOnly_returnTrue() {
+        mController.setShortcutTargets(Set.of(TARGET_MAGNIFICATION));
+
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_MAGNIFICATION_MULTIPLE_FINGER_MULTIPLE_TAP_GESTURE)
+    @Test
+    public void isShortcutAvailable_nonMagnificationTarget_returnFalse() {
+        mController.setShortcutTargets(Set.of(TARGET_FAKE));
+
+        assertThat(mController.isShortcutAvailable()).isFalse();
+    }
+
+    @Test
+    public void isChecked_twoFingersDoubleTapConfigured_returnTrue() {
+        mController.enableShortcutForTargets(true);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_twoFingersDoubleTapNotConfigured_returnFalse() {
+        mController.enableShortcutForTargets(false);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableShortcut_settingUpdated() {
+        mController.enableShortcutForTargets(true);
+
+        assertThat(
+                Settings.Secure.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                        AccessibilityUtil.State.OFF)
+        ).isEqualTo(AccessibilityUtil.State.ON);
+    }
+
+    @Test
+    public void enableShortcutForTargets_disableShortcut_settingUpdated() {
+        mController.enableShortcutForTargets(false);
+
+        assertThat(
+                Settings.Secure.getInt(
+                        mContext.getContentResolver(),
+                        Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                        AccessibilityUtil.State.OFF)
+        ).isEqualTo(AccessibilityUtil.State.OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accessibility/shortcuts/VolumeKeysShortcutOptionControllerTest.java b/tests/robotests/src/com/android/settings/accessibility/shortcuts/VolumeKeysShortcutOptionControllerTest.java
new file mode 100644
index 0000000..48a90a7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/accessibility/shortcuts/VolumeKeysShortcutOptionControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.accessibility.shortcuts;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+import android.content.Context;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.util.ShortcutUtils;
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+import java.util.Set;
+
+/**
+ * Tests for {@link VolumeKeysShortcutOptionController}
+ */
+@RunWith(RobolectricTestRunner.class)
+public class VolumeKeysShortcutOptionControllerTest {
+
+    private static final String PREF_KEY = "prefKey";
+    private static final String TARGET =
+            new ComponentName("FakePackage", "FakeClass").flattenToString();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private VolumeKeysShortcutOptionController mController;
+    private ShortcutOptionPreference mShortcutOptionPreference;
+
+    private PreferenceScreen mPreferenceScreen;
+
+    @Before
+    public void setUp() {
+        mController = new VolumeKeysShortcutOptionController(
+                mContext, PREF_KEY);
+        mController.setShortcutTargets(Set.of(TARGET));
+        mShortcutOptionPreference = new ShortcutOptionPreference(mContext);
+        mShortcutOptionPreference.setKey(PREF_KEY);
+        mPreferenceScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreferenceScreen.addPreference(mShortcutOptionPreference);
+    }
+
+    @Test
+    public void displayPreference_verifyScreenTextSet() {
+        mController.displayPreference(mPreferenceScreen);
+
+        assertThat(mShortcutOptionPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.accessibility_shortcut_edit_dialog_title_hardware));
+        assertThat(mShortcutOptionPreference.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.accessibility_shortcut_edit_dialog_summary_hardware));
+    }
+
+    @Test
+    public void isShortcutAvailable_returnsTrue() {
+        assertThat(mController.isShortcutAvailable()).isTrue();
+    }
+
+    @Test
+    public void isChecked_targetUseVolumeKeyShortcut_returnTrue() {
+        ShortcutUtils.optInValueToSettings(
+                mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_targetNotUseVolumeKeyShortcut_returnFalse() {
+        ShortcutUtils.optOutValueFromSettings(
+                mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void enableShortcutForTargets_enableVolumeKeysShortcut_shortcutSet() {
+        mController.enableShortcutForTargets(true);
+
+        assertThat(
+                ShortcutUtils.isComponentIdExistingInSettings(
+                        mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET)).isTrue();
+    }
+
+    @Test
+    public void enableShortcutForTargets_disableVolumeKeysShortcut_shortcutNotSet() {
+        mController.enableShortcutForTargets(false);
+
+        assertThat(
+                ShortcutUtils.isComponentIdExistingInSettings(
+                        mContext, ShortcutConstants.UserShortcutType.HARDWARE, TARGET)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
index cccca9c..d696ebb 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountDetailDashboardFragmentTest.java
@@ -63,7 +63,12 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAccountManager.class, ShadowUserManager.class})
+@Config(shadows = {
+        ShadowAccountManager.class,
+        ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowDashboardFragment.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AccountDetailDashboardFragmentTest {
 
     private static final String METADATA_CATEGORY = "com.android.settings.category";
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
index 8fb40bf..94d150d 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountHeaderPreferenceControllerTest.java
@@ -72,7 +72,8 @@
         MockitoAnnotations.initMocks(this);
         FakeFeatureFactory.setupForTest();
         mHeaderPreference = new LayoutPreference(
-                RuntimeEnvironment.application, R.layout.settings_entity_header);
+                RuntimeEnvironment.application,
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header);
         doReturn(RuntimeEnvironment.application).when(mActivity).getApplicationContext();
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
index 89e00e1..cab1811 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountPreferenceControllerTest.java
@@ -254,25 +254,26 @@
     }
 
     @Test
-    public void updateRawDataToIndex_ManagedProfile_shouldNotUpdate() {
+    public void updateRawDataToIndex_noManagedProfile_shouldContainAddAccount() {
+        final List<SearchIndexableRaw> data = new ArrayList<>();
+        when(mUserManager.isManagedProfile()).thenReturn(false);
+
+        mController.updateRawDataToIndex(data);
+
+        assertThat(data).hasSize(1);
+        assertThat(data.get(0).key).isEqualTo("add_account");
+    }
+
+
+    @Test
+    public void updateRawDataToIndex_ManagedProfile_shouldContainAddAccount() {
         final List<SearchIndexableRaw> data = new ArrayList<>();
         when(mUserManager.isManagedProfile()).thenReturn(true);
 
         mController.updateRawDataToIndex(data);
 
-        assertThat(data).isEmpty();
-    }
-
-    @Test
-    public void updateRawDataToIndex_DisabledUser_shouldNotUpdate() {
-        final List<SearchIndexableRaw> data = new ArrayList<>();
-        final List<UserInfo> infos = new ArrayList<>();
-        infos.add(new UserInfo(1, "user 1", UserInfo.FLAG_DISABLED));
-        when(mUserManager.isManagedProfile()).thenReturn(false);
-        when(mUserManager.getProfiles(anyInt())).thenReturn(infos);
-        mController.updateRawDataToIndex(data);
-
-        assertThat(data).isEmpty();
+        assertThat(data).hasSize(1);
+        assertThat(data.get(0).key).isEqualTo("add_account");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java
index e760e62..1084102 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountSyncPreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.After;
 import org.junit.Before;
@@ -63,8 +62,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
         ShadowApplication.getInstance().setSystemService(Context.ACCOUNT_SERVICE, mAccountManager);
 
         when(mAccountManager.getAuthenticatorTypesAsUser(anyInt())).thenReturn(
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java b/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java
index bdf1290..3bdfec2 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountSyncSettingsTest.java
@@ -41,7 +41,10 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowContentResolver.class})
+@Config(shadows = {
+        ShadowContentResolver.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AccountSyncSettingsTest {
     private Context mContext;
     private AccountSyncSettings mAccountSyncSettings;
diff --git a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java
index 405f6b3..f5c588f 100644
--- a/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/AccountTypePreferenceLoaderTest.java
@@ -52,6 +52,9 @@
 import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AccountTypePreferenceLoaderTest {
 
     @Mock(answer = RETURNS_DEEP_STUBS)
diff --git a/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java
index 1f457da..59e656c 100644
--- a/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/ChooseAccountPreferenceControllerTest.java
@@ -23,6 +23,7 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 
+import android.accounts.AccountManager;
 import android.accounts.AuthenticatorDescription;
 import android.app.Activity;
 import android.app.admin.DevicePolicyManager;
@@ -35,44 +36,48 @@
 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.core.BasePreferenceController;
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
 import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class,
         ShadowRestrictedLockUtilsInternal.class})
 public class ChooseAccountPreferenceControllerTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private Context mContext;
     private ChooseAccountPreferenceController mController;
     private Activity mActivity;
     private PreferenceManager mPreferenceManager;
     private PreferenceScreen mPreferenceScreen;
+    private ShadowAccountManager mAccountManager;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = spy(new ChooseAccountPreferenceController(mContext, "controller_key"));
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mPreferenceManager = new PreferenceManager(mContext);
         mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mAccountManager = (ShadowAccountManager) Shadows.shadowOf(AccountManager.get(mContext));
     }
 
     @After
@@ -110,7 +115,7 @@
         final AuthenticatorDescription authDesc = new AuthenticatorDescription("com.acct1",
                 "com.android.settings",
                 R.string.header_add_an_account, 0, 0, 0, false);
-        ShadowAccountManager.addAuthenticator(authDesc);
+        mAccountManager.addAuthenticator(authDesc);
 
         final SyncAdapterType[] syncAdapters = {new SyncAdapterType("authority" /* authority */,
                 "com.acct1" /* accountType */, false /* userVisible */,
@@ -135,7 +140,7 @@
         final AuthenticatorDescription authDesc = new AuthenticatorDescription("com.acct1",
                 "com.android.settings",
                 R.string.header_add_an_account, 0, 0, 0, false);
-        ShadowAccountManager.addAuthenticator(authDesc);
+        mAccountManager.addAuthenticator(authDesc);
 
         final SyncAdapterType[] syncAdapters = {new SyncAdapterType("authority" /* authority */,
                 "com.acct1" /* accountType */, false /* userVisible */,
@@ -160,7 +165,7 @@
         final AuthenticatorDescription authDesc = new AuthenticatorDescription("com.acct1",
                 "com.android.settings",
                 R.string.header_add_an_account, 0, 0, 0, false);
-        ShadowAccountManager.addAuthenticator(authDesc);
+        mAccountManager.addAuthenticator(authDesc);
 
         final SyncAdapterType[] syncAdapters = {new SyncAdapterType("authority" /* authority */,
                 "com.acct1" /* accountType */, false /* userVisible */,
@@ -173,7 +178,7 @@
                 mActivity);
         mController.displayPreference(mPreferenceScreen);
 
-        assertThat(mActivity.isFinishing()).isTrue();
+        assertThat(mActivity.isFinishing()).isFalse();
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(0);
     }
 
@@ -186,8 +191,8 @@
         final AuthenticatorDescription authDesc2 = new AuthenticatorDescription("com.acct2",
                 "com.android.settings",
                 R.string.header_add_an_account, 0, 0, 0, false);
-        ShadowAccountManager.addAuthenticator(authDesc);
-        ShadowAccountManager.addAuthenticator(authDesc2);
+        mAccountManager.addAuthenticator(authDesc);
+        mAccountManager.addAuthenticator(authDesc2);
 
         final SyncAdapterType[] syncAdapters = {new SyncAdapterType("authority" /* authority */,
                 "com.acct1" /* accountType */, false /* userVisible */,
diff --git a/tests/robotests/src/com/android/settings/accounts/CrossProfileCalendarPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/CrossProfileCalendarPreferenceControllerTest.java
index b50fa5e..ca4fc59 100644
--- a/tests/robotests/src/com/android/settings/accounts/CrossProfileCalendarPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/CrossProfileCalendarPreferenceControllerTest.java
@@ -26,34 +26,31 @@
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.robolectric.RuntimeEnvironment.application;
 
-import android.app.admin.DevicePolicyManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
-import android.util.ArraySet;
 
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settingslib.RestrictedSwitchPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
-import org.robolectric.shadows.ShadowDevicePolicyManager;
+import org.robolectric.annotation.Config;
 
-import java.util.Arrays;
 import java.util.Collections;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowDevicePolicyManager.class,
+})
 public class CrossProfileCalendarPreferenceControllerTest {
 
     private static final String PREF_KEY = "cross_profile_calendar";
@@ -76,7 +73,7 @@
         mController = new CrossProfileCalendarPreferenceController(mContext, PREF_KEY);
         mController.setManagedUser(mManagedUser);
         mPreference = spy(new RestrictedSwitchPreference(mContext));
-        dpm = Shadows.shadowOf(application.getSystemService(DevicePolicyManager.class));
+        dpm = ShadowDevicePolicyManager.getShadow();
 
         when(mManagedUser.getIdentifier()).thenReturn(MANAGED_USER_ID);
         doReturn(mContext).when(mContext).createPackageContextAsUser(
diff --git a/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
index 7433d7a..ece7ea9 100644
--- a/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/EmergencyInfoPreferenceControllerTest.java
@@ -40,7 +40,6 @@
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAccountManager;
 import com.android.settings.testutils.shadow.ShadowContentResolver;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.After;
@@ -76,8 +75,7 @@
         doReturn(mock(DevicePolicyManager.class)).when(mContext)
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
         mController = new EmergencyInfoPreferenceController(mContext, "test_key");
-        mPreference = new Preference((Context) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get());
+        mPreference = new Preference(Robolectric.setupActivity(Activity.class));
         mPreference.setKey(mController.getPreferenceKey());
         when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
         when(mContext.getResources().getBoolean(R.bool.config_show_emergency_info_in_device_info))
diff --git a/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java b/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java
index 2698efa..1a0f9d0 100644
--- a/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/ManagedProfileQuietModeEnablerTest.java
@@ -19,18 +19,24 @@
 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.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.admin.flags.Flags;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.UserInfo;
 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 androidx.lifecycle.Lifecycle;
 import androidx.lifecycle.LifecycleOwner;
@@ -38,16 +44,21 @@
 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.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
+import org.robolectric.ParameterizedRobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 
 
-@RunWith(RobolectricTestRunner.class)
+@RunWith(ParameterizedRobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class ManagedProfileQuietModeEnablerTest {
     private static final int MANAGED_USER_ID = 10;
     private Context mContext;
@@ -61,6 +72,15 @@
         }
     };
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @ParameterizedRobolectricTestRunner.Parameters
+    public static List<?> params() {
+        return Arrays.asList(true, false);
+    }
+    final boolean mEnable;
+
     @Mock
     private ManagedProfileQuietModeEnabler.QuietModeChangeListener mOnQuietModeChangeListener;
     @Mock
@@ -70,6 +90,10 @@
     @Mock
     private UserInfo mUserInfo;
 
+    public ManagedProfileQuietModeEnablerTest(boolean enable) {
+        mEnable = enable;
+    }
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -86,10 +110,21 @@
 
     @Test
     public void onSetQuietMode_shouldRequestQuietModeEnabled() {
-        mQuietModeEnabler.setQuietModeEnabled(false);
-        verify(mUserManager).requestQuietModeEnabled(false, mManagedUser);
-        mQuietModeEnabler.setQuietModeEnabled(true);
-        verify(mUserManager).requestQuietModeEnabled(true, mManagedUser);
+        when(mUserManager.isQuietModeEnabled(any(UserHandle.class))).thenReturn(!mEnable);
+
+        mQuietModeEnabler.setQuietModeEnabled(mEnable);
+
+        verify(mUserManager).requestQuietModeEnabled(mEnable, mManagedUser);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_QUIET_MODE_CREDENTIAL_BUG_FIX)
+    public void onSetQuietMode_ifQuietModeAlreadyInDesiredState_shouldNotRequestQuietModeEnabled() {
+        when(mUserManager.isQuietModeEnabled(any(UserHandle.class))).thenReturn(mEnable);
+
+        mQuietModeEnabler.setQuietModeEnabled(mEnable);
+
+        verify(mUserManager, never()).requestQuietModeEnabled(anyBoolean(), any());
     }
 
     @Test
@@ -105,6 +140,7 @@
                 Intent.EXTRA_USER_HANDLE, MANAGED_USER_ID));
         mContext.sendBroadcast(new Intent(Intent.ACTION_MANAGED_PROFILE_UNAVAILABLE).putExtra(
                 Intent.EXTRA_USER_HANDLE, MANAGED_USER_ID));
+
         verify(mOnQuietModeChangeListener, times(2)).onQuietModeChanged();
     }
 
@@ -121,6 +157,7 @@
                 Context.RECEIVER_EXPORTED/*UNAUDITED*/);
 
         mQuietModeEnabler.onStop(mLifecycleOwner);
+
         verify(mContext).unregisterReceiver(mQuietModeEnabler.mReceiver);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
index 6eb5abb..2052f46 100644
--- a/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/RemoveAccountPreferenceControllerTest.java
@@ -35,13 +35,10 @@
 import android.accounts.AuthenticatorException;
 import android.accounts.OperationCanceledException;
 import android.app.Activity;
-import android.content.ComponentName;
 import android.content.Context;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.UserHandle;
-import android.os.UserManager;
-import android.widget.Button;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
@@ -56,12 +53,11 @@
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowFragment;
 import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settings.utils.ActivityControllerWrapper;
+import com.android.settings.widget.RestrictedButton;
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -74,13 +70,12 @@
 import org.robolectric.shadows.ShadowApplication;
 
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowUserManager.class,
-        ShadowDevicePolicyManager.class
+        ShadowDevicePolicyManager.class,
+        ShadowFragment.class,
 })
 public class RemoveAccountPreferenceControllerTest {
 
@@ -117,8 +112,8 @@
         when(mAccountManager.getAuthenticatorTypesAsUser(anyInt()))
                 .thenReturn(new AuthenticatorDescription[0]);
         when(mAccountManager.getAccountsAsUser(anyInt())).thenReturn(new Account[0]);
-        mController = new RemoveAccountPreferenceController((Context) ActivityControllerWrapper
-                .setup(Robolectric.buildActivity(Activity.class)).get(), mFragment);
+        mController = new RemoveAccountPreferenceController(
+                Robolectric.setupActivity(Activity.class), mFragment);
     }
 
     @After
@@ -129,7 +124,7 @@
     @Test
     public void displayPreference_shouldAddClickListener() {
         when(mScreen.findPreference(KEY_REMOVE_ACCOUNT)).thenReturn(mPreference);
-        final Button button = mock(Button.class);
+        final RestrictedButton button = mock(RestrictedButton.class);
         when(mPreference.findViewById(R.id.button)).thenReturn(button);
 
         mController.displayPreference(mScreen);
@@ -147,32 +142,6 @@
                 eq(TAG_REMOVE_ACCOUNT_DIALOG));
     }
 
-    @Ignore
-    @Test
-    public void onClick_modifyAccountsIsDisallowed_shouldNotStartConfirmDialog() {
-        when(mFragment.isAdded()).thenReturn(true);
-
-        final int userId = UserHandle.myUserId();
-        mController.init(new Account("test", "test"), UserHandle.of(userId));
-
-        List<UserManager.EnforcingUser> enforcingUsers = new ArrayList<>();
-        enforcingUsers.add(new UserManager.EnforcingUser(userId,
-                UserManager.RESTRICTION_SOURCE_DEVICE_OWNER));
-        ComponentName componentName = new ComponentName("test", "test");
-        // Ensure that RestrictedLockUtils.checkIfRestrictionEnforced doesn't return null.
-        ShadowUserManager.getShadow().setUserRestrictionSources(
-                UserManager.DISALLOW_MODIFY_ACCOUNTS,
-                UserHandle.of(userId),
-                enforcingUsers);
-        ShadowDevicePolicyManager.getShadow().setDeviceOwnerComponentOnAnyUser(componentName);
-
-        mController.onClick(null);
-
-        verify(mFragmentTransaction, never()).add(
-                any(RemoveAccountPreferenceController.ConfirmRemoveAccountDialog.class),
-                eq(TAG_REMOVE_ACCOUNT_DIALOG));
-    }
-
     @Test
     @Config(shadows = {ShadowAccountManager.class, ShadowContentResolver.class,
             ShadowFragment.class})
diff --git a/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java
index d6be73d..91b240e 100644
--- a/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/accounts/WorkModePreferenceControllerTest.java
@@ -40,11 +40,13 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
+import org.robolectric.ParameterizedRobolectricTestRunner;
 
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 
-@RunWith(RobolectricTestRunner.class)
+@RunWith(ParameterizedRobolectricTestRunner.class)
 public class WorkModePreferenceControllerTest {
 
     private static final String PREF_KEY = "work_mode";
@@ -54,6 +56,11 @@
     private WorkModePreferenceController mController;
     private MainSwitchPreference mPreference;
 
+    @ParameterizedRobolectricTestRunner.Parameters
+    public static List<?> params() {
+        return Arrays.asList(true, false);
+    }
+    final boolean mEnable;
     @Mock
     private UserManager mUserManager;
     @Mock
@@ -65,6 +72,10 @@
     @Mock
     Switch mSwitch;
 
+    public WorkModePreferenceControllerTest(boolean enable) {
+        mEnable = enable;
+    }
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -99,28 +110,19 @@
     @Test
     public void updateState_shouldRefreshContent() {
         when(mUserManager.isQuietModeEnabled(any(UserHandle.class)))
-                .thenReturn(false);
+                .thenReturn(mEnable);
 
         mController.updateState(mPreference);
 
-        assertThat(mPreference.isChecked()).isTrue();
-
-        when(mUserManager.isQuietModeEnabled(any(UserHandle.class)))
-                .thenReturn(true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isFalse();
+        assertThat(mPreference.isChecked()).isEqualTo(!mEnable);
     }
 
     @Test
     public void onPreferenceChange_shouldRequestQuietModeEnabled() {
-        mController.onSwitchChanged(mSwitch, true);
+        when(mUserManager.isQuietModeEnabled(any(UserHandle.class))).thenReturn(mEnable);
 
-        verify(mUserManager).requestQuietModeEnabled(false, mManagedUser);
+        mController.onCheckedChanged(mSwitch, mEnable);
 
-        mController.onSwitchChanged(mSwitch, false);
-
-        verify(mUserManager).requestQuietModeEnabled(true, mManagedUser);
+        verify(mUserManager).requestQuietModeEnabled(!mEnable, mManagedUser);
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/applications/AppDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/applications/AppDashboardFragmentTest.java
index 5137516..5e58f15 100644
--- a/tests/robotests/src/com/android/settings/applications/AppDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppDashboardFragmentTest.java
@@ -38,6 +38,7 @@
 import com.android.settingslib.drawer.CategoryKey;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -80,6 +81,7 @@
         assertThat(preferenceScreenKeys).containsAtLeastElementsIn(preferenceKeys);
     }
 
+    @Ignore("b/313578776")
     @Test
     @Config(shadows = ShadowUserManager.class)
     public void testAdvancedAppsCategory() {
diff --git a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
index a161f84..ce52027 100644
--- a/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppInfoWithHeaderTest.java
@@ -48,6 +48,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -119,6 +120,7 @@
         assertThat(mAppInfoWithHeader.mPackageRemovedCalled).isTrue();
     }
 
+    @Ignore("b/315135755")
     @Test
     public void noExtraUserHandleInIntent_retrieveAppEntryWithMyUserId()
             throws PackageManager.NameNotFoundException {
@@ -144,6 +146,7 @@
         assertThat(mAppInfoWithHeader.mAppEntry).isNotNull();
     }
 
+    @Ignore("b/315135755")
     @Test
     public void extraUserHandleInIntent_retrieveAppEntryWithMyUserId()
             throws PackageManager.NameNotFoundException {
diff --git a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java
index 71c532c..d27601e 100644
--- a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsCounterTest.java
@@ -40,17 +40,20 @@
 import android.os.UserManager;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.Arrays;
 import java.util.Collections;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class AppWithAdminGrantedPermissionsCounterTest {
 
     private final String APP_1 = "app1";
@@ -155,11 +158,13 @@
                 mDevicePolicyManager, mPackageManager, mPackageManagerService, mApp5)).isFalse();
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCountInstalledAppsSync() throws Exception {
         verifyCountInstalledApps(false /* async */);
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCountInstalledAppsAync() throws Exception {
         verifyCountInstalledApps(true /* async */);
diff --git a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java
index 9a4978b..f08a9db 100644
--- a/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/AppWithAdminGrantedPermissionsListerTest.java
@@ -42,6 +42,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.Arrays;
@@ -49,6 +50,7 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class AppWithAdminGrantedPermissionsListerTest {
 
     private final String APP_1 = "app1";
diff --git a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
index 7044389..0a763ff 100644
--- a/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/applications/ApplicationFeatureProviderImplTest.java
@@ -35,14 +35,23 @@
 import android.content.pm.UserInfo;
 import android.location.LocationManager;
 import android.os.Build;
+import android.os.SystemConfigManager;
 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.webkit.Flags;
 
 import com.android.settings.testutils.ApplicationTestUtils;
+import com.android.settings.webview.WebViewUpdateServiceWrapper;
 import com.android.settingslib.testutils.shadow.ShadowDefaultDialerManager;
 import com.android.settingslib.testutils.shadow.ShadowSmsApplication;
 
 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;
@@ -50,6 +59,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.util.ReflectionHelpers;
 
@@ -62,8 +72,12 @@
  * Tests for {@link ApplicationFeatureProviderImpl}.
  */
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class ApplicationFeatureProviderImplTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private final int MAIN_USER_ID = 0;
     private final int MANAGED_PROFILE_ID = 10;
 
@@ -76,6 +90,9 @@
 
     private final String PERMISSION = "some.permission";
 
+    private final List<String> PREVENT_USER_DISABLE_PACKAGES = List.of(
+            "prevent.disable.package1", "prevent.disable.package2", "prevent.disable.package3");
+
     @Mock
     private UserManager mUserManager;
     @Mock
@@ -88,6 +105,10 @@
     private DevicePolicyManager mDevicePolicyManager;
     @Mock
     private LocationManager mLocationManager;
+    @Mock
+    private WebViewUpdateServiceWrapper mWebViewUpdateServiceWrapper;
+    @Mock
+    private SystemConfigManager mSystemConfigManager;
 
     private ApplicationFeatureProvider mProvider;
 
@@ -101,9 +122,10 @@
         when(mContext.getApplicationContext()).thenReturn(mContext);
         when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
         when(mContext.getSystemService(Context.LOCATION_SERVICE)).thenReturn(mLocationManager);
+        when(mContext.getSystemService(SystemConfigManager.class)).thenReturn(mSystemConfigManager);
 
         mProvider = new ApplicationFeatureProviderImpl(mContext, mPackageManager,
-                mPackageManagerService, mDevicePolicyManager);
+                mPackageManagerService, mDevicePolicyManager, mWebViewUpdateServiceWrapper);
     }
 
     private void verifyCalculateNumberOfPolicyInstalledApps(boolean async) {
@@ -138,11 +160,13 @@
         assertThat(mAppList.get(0).appInfo.packageName).isEqualTo(APP_2);
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCalculateNumberOfInstalledAppsSync() {
         verifyCalculateNumberOfPolicyInstalledApps(false /* async */);
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCalculateNumberOfInstalledAppsAsync() {
         verifyCalculateNumberOfPolicyInstalledApps(true /* async */);
@@ -174,11 +198,13 @@
         assertThat(mAppCount).isEqualTo(2);
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCalculateNumberOfAppsWithAdminGrantedPermissionsSync() throws Exception {
         verifyCalculateNumberOfAppsWithAdminGrantedPermissions(false /* async */);
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCalculateNumberOfAppsWithAdminGrantedPermissionsAsync() throws Exception {
         verifyCalculateNumberOfAppsWithAdminGrantedPermissions(true /* async */);
@@ -335,6 +361,26 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_UPDATE_SERVICE_V2)
+    public void getKeepEnabledPackages_shouldContainWebViewPackage() {
+        final String testWebViewPackageName = "com.android.webview";
+        when(mWebViewUpdateServiceWrapper.getDefaultWebViewPackageName())
+                .thenReturn(testWebViewPackageName);
+        final Set<String> allowlist = mProvider.getKeepEnabledPackages();
+        assertThat(allowlist).contains(testWebViewPackageName);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_UPDATE_SERVICE_V2)
+    public void getKeepEnabledPackages_shouldNotContainWebViewPackageIfFlagDisabled() {
+        final String testWebViewPackageName = "com.android.webview";
+        when(mWebViewUpdateServiceWrapper.getDefaultWebViewPackageName())
+                .thenReturn(testWebViewPackageName);
+        final Set<String> allowlist = mProvider.getKeepEnabledPackages();
+        assertThat(allowlist).doesNotContain(testWebViewPackageName);
+    }
+
+    @Test
     @Config(shadows = {ShadowSmsApplication.class, ShadowDefaultDialerManager.class})
     public void getKeepEnabledPackages_shouldContainPackageInstaller() {
         final String testDialer = "com.android.test.defaultdialer";
@@ -356,6 +402,16 @@
         assertThat(allowlist).contains("com.android.packageinstaller");
     }
 
+    @Test
+    public void getKeepEnabledPackages_shouldContainPreventUserDisablePackages() {
+        when(mSystemConfigManager.getPreventUserDisablePackages())
+                .thenReturn(PREVENT_USER_DISABLE_PACKAGES);
+
+        final Set<String> keepEnabledPackages = mProvider.getKeepEnabledPackages();
+
+        assertThat(keepEnabledPackages).containsAtLeastElementsIn(PREVENT_USER_DISABLE_PACKAGES);
+    }
+
     private void setUpUsersAndInstalledApps() {
         when(mUserManager.getProfiles(UserHandle.myUserId())).thenReturn(Arrays.asList(
                 new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN),
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
index 2c1fab8..1d76806 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppCounterTest.java
@@ -32,35 +32,44 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.FakeFeatureFlagsImpl;
+import android.content.pm.FeatureFlags;
+import android.content.pm.Flags;
 import android.content.pm.PackageManager;
+import android.content.pm.PackageManager.ApplicationInfoFlags;
 import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
 import android.os.UserHandle;
 import android.os.UserManager;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentMatcher;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class InstalledAppCounterTest {
 
-    private final String APP_1 = "app1";
-    private final String APP_2 = "app2";
-    private final String APP_3 = "app3";
-    private final String APP_4 = "app4";
-    private final String APP_5 = "app5";
-    private final String APP_6 = "app6";
+    private static final String APP_1 = "app1";
+    private static final String APP_2 = "app2";
+    private static final String APP_3 = "app3";
+    private static final String APP_4 = "app4";
+    private static final String APP_5 = "app5";
+    private static final String APP_6 = "app6";
+    private static final String APP_7 = "app7";
 
     private final int MAIN_USER_ID = 0;
     private final int MANAGED_PROFILE_ID = 10;
@@ -83,11 +92,16 @@
     private ApplicationInfo mApp4;
     private ApplicationInfo mApp5;
     private ApplicationInfo mApp6;
+    private ApplicationInfo mApp7;
+
+    private FakeFeatureFlagsImpl mFakeFeatureFlags;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
+        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+        mFakeFeatureFlags = new FakeFeatureFlagsImpl();
+        mFakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, true);
 
         mApp1 = buildInfo(MAIN_USER_APP_UID, APP_1,
                 ApplicationInfo.FLAG_UPDATED_SYSTEM_APP, 0 /* targetSdkVersion */);
@@ -101,6 +115,9 @@
                 0 /* targetSdkVersion */);
         mApp6 = buildInfo(MANAGED_PROFILE_APP_UID, APP_6, ApplicationInfo.FLAG_SYSTEM,
                 0 /* targetSdkVersion */);
+        mApp7 = buildInfo(MAIN_USER_APP_UID, APP_7, 0 /* flags */,
+                0 /* targetSdkVersion */);
+        mApp7.isArchived = true;
     }
 
     private void expectQueryIntentActivities(int userId, String packageName, boolean launchable) {
@@ -126,8 +143,14 @@
 
         // Verify that installed packages were retrieved the current user and the user's managed
         // profile only.
-        verify(mPackageManager).getInstalledApplicationsAsUser(anyInt(), eq(MAIN_USER_ID));
-        verify(mPackageManager).getInstalledApplicationsAsUser(anyInt(), eq(MANAGED_PROFILE_ID));
+        verify(mPackageManager)
+                .getInstalledApplicationsAsUser(
+                        any(ApplicationInfoFlags.class),
+                        eq(MAIN_USER_ID));
+        verify(mPackageManager)
+                .getInstalledApplicationsAsUser(
+                        any(ApplicationInfoFlags.class),
+                        eq(MANAGED_PROFILE_ID));
         verify(mPackageManager, atLeast(0))
             .queryIntentActivitiesAsUser(any(Intent.class), anyInt(), anyInt());
         verifyNoMoreInteractions(mPackageManager);
@@ -167,16 +190,60 @@
                 mPackageManager, mApp6)).isFalse();
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCountInstalledAppsAcrossAllUsersSync() {
         testCountInstalledAppsAcrossAllUsers(false /* async */);
     }
 
+    @Ignore("b/313578776")
     @Test
     public void testCountInstalledAppsAcrossAllUsersAsync() {
         testCountInstalledAppsAcrossAllUsers(true /* async */);
     }
 
+    @Test
+    public void testCountInstalledApps_archivingDisabled() {
+        when(mUserManager.getProfiles(UserHandle.myUserId())).thenReturn(List.of(
+                new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN)));
+        // The user has four apps installed:
+        // * app2 is a user-installed app. It should be counted.
+        // * app7 is a user-archived app. It should not be counted.
+        when(mPackageManager.getInstalledApplicationsAsUser(
+                argThat(isApplicationInfoFlagsEqualTo(
+                        ApplicationInfoFlags.of(
+                                PackageManager.GET_DISABLED_COMPONENTS
+                                        | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
+                                        | PackageManager.MATCH_ANY_USER))),
+                eq(MAIN_USER_ID))).thenReturn(Arrays.asList(mApp2));
+
+        mFakeFeatureFlags.setFlag(Flags.FLAG_ARCHIVING, false);
+        // Count the number of all apps installed, irrespective of install reason.
+        count(InstalledAppCounter.IGNORE_INSTALL_REASON, mFakeFeatureFlags);
+        assertThat(mInstalledAppCount).isEqualTo(1);
+    }
+
+    @Test
+    public void testCountInstalledApps_archivingEnabled() {
+        when(mUserManager.getProfiles(UserHandle.myUserId())).thenReturn(List.of(
+                new UserInfo(MAIN_USER_ID, "main", UserInfo.FLAG_ADMIN)));
+        // The user has four apps installed:
+        // * app2 is a user-installed app. It should be counted.
+        // * app7 is a user-archived app. It should be counted.
+        when(mPackageManager.getInstalledApplicationsAsUser(
+                argThat(isApplicationInfoFlagsEqualTo(
+                        ApplicationInfoFlags.of(
+                                PackageManager.GET_DISABLED_COMPONENTS
+                                        | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
+                                        | PackageManager.MATCH_ANY_USER
+                                        | PackageManager.MATCH_ARCHIVED_PACKAGES))),
+                eq(MAIN_USER_ID))).thenReturn(Arrays.asList(mApp2, mApp7));
+
+        // Count the number of all apps installed, irrespective of install reason.
+        count(InstalledAppCounter.IGNORE_INSTALL_REASON, mFakeFeatureFlags);
+        assertThat(mInstalledAppCount).isEqualTo(2);
+    }
+
     private void count(int installReason, boolean async) {
         mInstalledAppCount = -1;
         final InstalledAppCounterTestable counter = new InstalledAppCounterTestable(installReason);
@@ -189,16 +256,27 @@
         }
     }
 
+    private void count(int installReason, FeatureFlags featureFlags) {
+        mInstalledAppCount = -1;
+        final InstalledAppCounterTestable counter =
+                new InstalledAppCounterTestable(installReason, featureFlags);
+        counter.executeInForeground();
+    }
+
     private void configurePackageManager() {
         // The first user has four apps installed:
         // * app1 is an updated system app. It should be counted.
         // * app2 is a user-installed app. It should be counted.
         // * app3 is a system app that provides a launcher icon. It should be counted.
         // * app4 is a system app that provides no launcher icon. It should not be counted.
-        when(mPackageManager.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
-                | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
-                | PackageManager.MATCH_ANY_USER,
-                MAIN_USER_ID)).thenReturn(Arrays.asList(mApp1, mApp2, mApp3, mApp4));
+        ApplicationInfoFlags infoFlags1 = ApplicationInfoFlags.of(
+                PackageManager.GET_DISABLED_COMPONENTS
+                        | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS
+                        | PackageManager.MATCH_ANY_USER);
+        when(mPackageManager.getInstalledApplicationsAsUser(
+                argThat(isApplicationInfoFlagsEqualTo(infoFlags1)),
+                eq(MAIN_USER_ID))
+        ).thenReturn(Arrays.asList(mApp1, mApp2, mApp3, mApp4));
         // For system apps, InstalledAppCounter checks whether they handle the default launcher
         // intent to decide whether to include them in the count of installed apps or not.
         expectQueryIntentActivities(MAIN_USER_ID, APP_3, true /* launchable */);
@@ -218,9 +296,12 @@
         // The second user has two apps installed:
         // * app5 is a user-installed app. It should be counted.
         // * app6 is a system app that provides a launcher icon. It should be counted.
-        when(mPackageManager.getInstalledApplicationsAsUser(PackageManager.GET_DISABLED_COMPONENTS
-                | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS,MANAGED_PROFILE_ID))
-                .thenReturn(Arrays.asList(mApp5, mApp6));
+        ApplicationInfoFlags infoFlags2 = ApplicationInfoFlags.of(
+                PackageManager.GET_DISABLED_COMPONENTS
+                        | PackageManager.GET_DISABLED_UNTIL_USED_COMPONENTS);
+        when(mPackageManager.getInstalledApplicationsAsUser(
+                argThat(isApplicationInfoFlagsEqualTo(infoFlags2)), eq(MANAGED_PROFILE_ID))
+        ).thenReturn(Arrays.asList(mApp5, mApp6));
         expectQueryIntentActivities(MANAGED_PROFILE_ID, APP_6, true /* launchable */);
 
         // app5 is installed by enterprise policy.
@@ -236,6 +317,10 @@
             super(mContext, installReason, mPackageManager);
         }
 
+        private InstalledAppCounterTestable(int installReason, FeatureFlags featureFlags) {
+            super(mContext, installReason, mPackageManager, featureFlags);
+        }
+
         @Override
         protected void onCountComplete(int num) {
             mInstalledAppCount = num;
@@ -261,4 +346,14 @@
             return true;
         };
     }
+
+    private ArgumentMatcher<ApplicationInfoFlags> isApplicationInfoFlagsEqualTo(
+            ApplicationInfoFlags infoFlags) {
+        return flags -> {
+            if (flags == null) {
+                return false;
+            }
+            return flags.getValue() == infoFlags.getValue();
+        };
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java b/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java
index 602d678..1287d13 100644
--- a/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/InstalledAppListerTest.java
@@ -43,6 +43,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.Arrays;
@@ -52,6 +53,7 @@
 import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class InstalledAppListerTest {
 
     private final String APP_1 = "app1";
diff --git a/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java b/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java
index 7712ae8..355b5db 100644
--- a/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java
+++ b/tests/robotests/src/com/android/settings/applications/OpenSupportedLinksTest.java
@@ -49,9 +49,14 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUtils.class)
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        ShadowUtils.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class OpenSupportedLinksTest {
     private static final String TEST_FOOTER_TITLE = "FooterTitle";
     private static final String TEST_DOMAIN_LINK = "aaa.bbb.ccc";
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 d98b0e7..f3b105b 100644
--- a/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appcompat/UserAspectRatioDetailsTest.java
@@ -16,26 +16,46 @@
 
 package com.android.settings.applications.appcompat;
 
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_APP_DEFAULT;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
+
+import static com.android.settings.applications.AppInfoBase.ARG_PACKAGE_NAME;
 import static com.android.settings.applications.appcompat.UserAspectRatioDetails.KEY_PREF_3_2;
 import static com.android.settings.applications.appcompat.UserAspectRatioDetails.KEY_PREF_DEFAULT;
+import static com.android.settings.applications.appcompat.UserAspectRatioDetails.KEY_PREF_FULLSCREEN;
 
+import static org.junit.Assert.assertEquals;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.app.IActivityManager;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
+import android.os.Bundle;
 import android.os.RemoteException;
 
+import androidx.fragment.app.testing.EmptyFragmentActivity;
 import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
 
+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;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
@@ -45,9 +65,13 @@
  * To run test: atest SettingsRoboTests:UserAspectRatioDetailsTest
  */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowActivityManager.class})
+@Config(shadows = {ShadowActivityManager.class, ShadowFragment.class})
 public class UserAspectRatioDetailsTest {
 
+    @Rule
+    public ActivityScenarioRule<EmptyFragmentActivity> rule =
+            new ActivityScenarioRule<>(EmptyFragmentActivity.class);
+
     @Mock
     private UserAspectRatioManager mUserAspectRatioManager;
     @Mock
@@ -56,6 +80,7 @@
     private RadioWithImagePreference mRadioButtonPref;
     private Context mContext;
     private UserAspectRatioDetails mFragment;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @Before
     public void setUp() {
@@ -65,12 +90,18 @@
         mFragment = spy(new UserAspectRatioDetails());
         when(mFragment.getContext()).thenReturn(mContext);
         when(mFragment.getAspectRatioManager()).thenReturn(mUserAspectRatioManager);
+        when(mUserAspectRatioManager.isOverrideToFullscreenEnabled(anyString(), anyInt()))
+                .thenReturn(false);
         ShadowActivityManager.setService(mAm);
         mRadioButtonPref = new RadioWithImagePreference(mContext);
+        final FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+        mMetricsFeatureProvider = featureFactory.metricsFeatureProvider;
     }
 
     @Test
     public void onRadioButtonClicked_prefChange_shouldStopActivity() throws RemoteException {
+        doReturn(USER_MIN_ASPECT_RATIO_UNSET).when(mFragment)
+                .getSelectedUserMinAspectRatio(anyString());
         // Default was already selected
         mRadioButtonPref.setKey(KEY_PREF_DEFAULT);
         mFragment.onRadioButtonClicked(mRadioButtonPref);
@@ -83,6 +114,8 @@
 
     @Test
     public void onRadioButtonClicked_prefChange_shouldSetAspectRatio() throws RemoteException {
+        doReturn(USER_MIN_ASPECT_RATIO_UNSET).when(mFragment)
+                .getSelectedUserMinAspectRatio(anyString());
         // Default was already selected
         mRadioButtonPref.setKey(KEY_PREF_DEFAULT);
         mFragment.onRadioButtonClicked(mRadioButtonPref);
@@ -93,4 +126,76 @@
         verify(mUserAspectRatioManager).setUserMinAspectRatio(
                 any(), anyInt(), anyInt());
     }
+
+    @Test
+    public void onRadioButtonClicked_prefChange_logMetrics() throws NullPointerException {
+        doReturn(USER_MIN_ASPECT_RATIO_UNSET).when(mFragment)
+                .getSelectedUserMinAspectRatio(anyString());
+        // Default was already selected
+        mRadioButtonPref.setKey(KEY_PREF_DEFAULT);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        // Preference changed
+        mRadioButtonPref.setKey(KEY_PREF_3_2);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        InOrder inOrder = inOrder(mMetricsFeatureProvider);
+        // Check the old aspect ratio value is logged as having been unselected
+        inOrder.verify(mMetricsFeatureProvider)
+                .action(
+                        eq(SettingsEnums.PAGE_UNKNOWN),
+                        eq(SettingsEnums.ACTION_USER_ASPECT_RATIO_APP_DEFAULT_UNSELECTED),
+                        eq(SettingsEnums.USER_ASPECT_RATIO_APP_INFO_SETTINGS),
+                        any(),
+                        anyInt());
+        // Check the new aspect ratio value is logged as having been selected
+        inOrder.verify(mMetricsFeatureProvider)
+                .action(
+                        eq(SettingsEnums.PAGE_UNKNOWN),
+                        eq(SettingsEnums.ACTION_USER_ASPECT_RATIO_3_2_SELECTED),
+                        eq(SettingsEnums.USER_ASPECT_RATIO_APP_INFO_SETTINGS),
+                        any(),
+                        anyInt());
+    }
+
+    @Test
+    public void onButtonClicked_overrideEnabled_fullscreenPreselected()
+            throws RemoteException {
+        doReturn(true).when(mUserAspectRatioManager)
+                .isOverrideToFullscreenEnabled(anyString(), anyInt());
+        doReturn(USER_MIN_ASPECT_RATIO_UNSET).when(mUserAspectRatioManager)
+                .getUserMinAspectRatioValue(anyString(), anyInt());
+        doReturn(mRadioButtonPref).when(mFragment).findPreference(KEY_PREF_DEFAULT);
+        doReturn(mRadioButtonPref).when(mFragment).findPreference(KEY_PREF_FULLSCREEN);
+        doReturn(true).when(mUserAspectRatioManager)
+                .hasAspectRatioOption(anyInt(), anyString());
+
+        rule.getScenario().onActivity(a -> doReturn(a).when(mFragment).getActivity());
+        final Bundle args = new Bundle();
+        args.putString(ARG_PACKAGE_NAME, anyString());
+        mFragment.setArguments(args);
+        mFragment.onCreate(Bundle.EMPTY);
+
+        // Fullscreen should be pre-selected
+        assertEquals(KEY_PREF_FULLSCREEN, mFragment.mSelectedKey);
+        assertEquals(USER_MIN_ASPECT_RATIO_FULLSCREEN,
+                mFragment.getSelectedUserMinAspectRatio(mFragment.mSelectedKey));
+
+        // Revert to app default, should be set to app default from unset
+        mRadioButtonPref.setKey(KEY_PREF_DEFAULT);
+        mFragment.onRadioButtonClicked(mRadioButtonPref);
+        verify(mUserAspectRatioManager).setUserMinAspectRatio(
+                any(), anyInt(), anyInt());
+        assertEquals(USER_MIN_ASPECT_RATIO_APP_DEFAULT,
+                mFragment.getSelectedUserMinAspectRatio(mFragment.mSelectedKey));
+        assertEquals(KEY_PREF_DEFAULT, mFragment.mSelectedKey);
+
+        // Fullscreen override disabled, should be changed to unset from app default
+        when(mUserAspectRatioManager.isOverrideToFullscreenEnabled(anyString(), anyInt()))
+                .thenReturn(false);
+        mFragment.mKeyToAspectRatioMap.clear();
+        mFragment.onCreate(Bundle.EMPTY);
+
+        assertEquals(KEY_PREF_DEFAULT, mFragment.mSelectedKey);
+        assertEquals(USER_MIN_ASPECT_RATIO_UNSET,
+                mFragment.getSelectedUserMinAspectRatio(mFragment.mSelectedKey));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
index 6f0aec9..638dabd 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppBatteryPreferenceControllerTest.java
@@ -43,7 +43,6 @@
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -56,6 +55,9 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AppBatteryPreferenceControllerTest {
 
     private static final int TARGET_UID = 111;
@@ -114,7 +116,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testAppBattery_ifDisabled_shouldNotBeShown() {
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
index 54c2d6e..6fc01fc 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppButtonsPreferenceControllerTest.java
@@ -23,6 +23,7 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyList;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doAnswer;
@@ -38,15 +39,18 @@
 import android.app.ActivityManager;
 import android.app.admin.DevicePolicyManager;
 import android.app.settings.SettingsEnums;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.om.OverlayInfo;
 import android.content.om.OverlayManager;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.Flags;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.os.RemoteException;
 import android.os.UserManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
 import android.util.ArraySet;
 import android.view.View;
 
@@ -107,7 +111,7 @@
     @Mock
     private OverlayManager mOverlayManager;
     @Mock
-    private PackageManager mPackageManger;
+    private PackageManager mPackageManager;
     @Mock
     private DevicePolicyManager mDpm;
     @Mock
@@ -132,7 +136,7 @@
         mContext = RuntimeEnvironment.application;
         doReturn(mDpm).when(mSettingsActivity).getSystemService(Context.DEVICE_POLICY_SERVICE);
         doReturn(mUserManager).when(mSettingsActivity).getSystemService(Context.USER_SERVICE);
-        doReturn(mPackageManger).when(mSettingsActivity).getPackageManager();
+        doReturn(mPackageManager).when(mSettingsActivity).getPackageManager();
         doReturn(mAm).when(mSettingsActivity).getSystemService(Context.ACTIVITY_SERVICE);
         doReturn(mOverlayManager).when(mSettingsActivity).
                 getSystemService(OverlayManager.class);
@@ -184,7 +188,7 @@
     @Test
     public void retrieveAppEntry_hasAppEntry_notNull()
             throws PackageManager.NameNotFoundException {
-        doReturn(mPackageInfo).when(mPackageManger).getPackageInfo(anyString(), anyInt());
+        doReturn(mPackageInfo).when(mPackageManager).getPackageInfo(anyString(), anyInt());
 
         mController.retrieveAppEntry();
 
@@ -195,7 +199,7 @@
     @Test
     public void retrieveAppEntry_noAppEntry_null() throws PackageManager.NameNotFoundException {
         doReturn(null).when(mState).getEntry(eq(PACKAGE_NAME), anyInt());
-        doReturn(mPackageInfo).when(mPackageManger).getPackageInfo(anyString(), anyInt());
+        doReturn(mPackageInfo).when(mPackageManager).getPackageInfo(anyString(), anyInt());
 
         mController.retrieveAppEntry();
 
@@ -207,7 +211,7 @@
     public void retrieveAppEntry_throwException_null() throws
             PackageManager.NameNotFoundException {
         doReturn(mAppEntry).when(mState).getEntry(anyString(), anyInt());
-        doThrow(new PackageManager.NameNotFoundException()).when(mPackageManger).getPackageInfo(
+        doThrow(new PackageManager.NameNotFoundException()).when(mPackageManager).getPackageInfo(
                 anyString(), anyInt());
 
         mController.retrieveAppEntry();
@@ -225,7 +229,7 @@
 
     @Test
     public void updateOpenButton_haveLaunchIntent_buttonShouldBeEnable() {
-        doReturn(new Intent()).when(mPackageManger).getLaunchIntentForPackage(anyString());
+        doReturn(new Intent()).when(mPackageManager).getLaunchIntentForPackage(anyString());
 
         mController.updateOpenButton();
 
@@ -347,6 +351,35 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_IMPROVE_HOME_APP_BEHAVIOR)
+    public void updateUninstallButton_isNotSystemAndIsCurrentHomeAndHasOneHome_setButtonDisable() {
+        doReturn(false).when(mController).isSystemPackage(any(), any(), any());
+        doReturn(new ComponentName(PACKAGE_NAME, "cls")).when(mPackageManager).getHomeActivities(
+                anyList());
+
+        mController.mHomePackages.add(PACKAGE_NAME);
+
+        mController.updateUninstallButton();
+
+        verify(mButtonPrefs).setButton2Enabled(false);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_IMPROVE_HOME_APP_BEHAVIOR)
+    public void updateUninstallButton_isNotSystemAndIsCurrentHomeAndHasOtherHome_setButtonEnable() {
+        doReturn(false).when(mController).isSystemPackage(any(), any(), any());
+        doReturn(new ComponentName(PACKAGE_NAME, "cls")).when(mPackageManager).getHomeActivities(
+                anyList());
+
+        mController.mHomePackages.add(PACKAGE_NAME);
+        mController.mHomePackages.add("com.android.home.fake");
+
+        mController.updateUninstallButton();
+
+        verify(mButtonPrefs).setButton2Enabled(true);
+    }
+
+    @Test
     public void updateUninstallButton_isSystemRro_setButtonDisable() {
         mAppInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
 
@@ -477,7 +510,7 @@
             throws PackageManager.NameNotFoundException {
         doReturn(AppButtonsPreferenceController.AVAILABLE)
                 .when(mController).getAvailabilityStatus();
-        doReturn(mPackageInfo).when(mPackageManger).getPackageInfo(anyString(), anyInt());
+        doReturn(mPackageInfo).when(mPackageManager).getPackageInfo(anyString(), anyInt());
         doReturn(mButtonPrefs).when(mScreen).findPreference(anyString());
         mController.displayPreference(mScreen);
         mController.mButtonsPref = null;
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
index c5ed459..922e2e8 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppHeaderViewPreferenceControllerTest.java
@@ -51,7 +51,10 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowSettingsLibUtils.class)
+@Config(shadows = {
+        ShadowSettingsLibUtils.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AppHeaderViewPreferenceControllerTest {
 
     @Mock
@@ -76,7 +79,8 @@
         mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
-        mHeader = LayoutInflater.from(mContext).inflate(R.layout.settings_entity_header, null);
+        mHeader = LayoutInflater.from(mContext).inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null);
 
         when(mFragment.getActivity()).thenReturn(mActivity);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java
index ecf98a7..4fdf560 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoDashboardFragmentTest.java
@@ -56,7 +56,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.Answers;
@@ -76,6 +75,9 @@
 import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public final class AppInfoDashboardFragmentTest {
 
     private static final String PACKAGE_NAME = "test_package_name";
@@ -153,7 +155,6 @@
         verify(menu.findItem(UNINSTALL_UPDATES), times(1)).setVisible(true);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void onPrepareOptionsMenu_setUpdateMenuVisible_ifDisabledByDevice_shouldBeFalse() {
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java
index 71ba753..c14bcb5 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInfoPreferenceControllerBaseTest.java
@@ -46,8 +46,12 @@
 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 AppInfoPreferenceControllerBaseTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java
index deb5a3f..ada7ef2 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppInstallerInfoPreferenceControllerTest.java
@@ -37,7 +37,6 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
-import android.os.UserManager;
 
 import androidx.preference.Preference;
 
@@ -55,8 +54,6 @@
 public class AppInstallerInfoPreferenceControllerTest {
 
     @Mock
-    private UserManager mUserManager;
-    @Mock
     private PackageManager mPackageManager;
     @Mock
     private ApplicationInfo mAppInfo;
@@ -74,7 +71,6 @@
     public void setUp() throws PackageManager.NameNotFoundException {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         final String installerPackage = "Installer1";
         when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
@@ -87,17 +83,7 @@
     }
 
     @Test
-    public void getAvailabilityStatus_managedProfile_shouldReturnDisabled() {
-        when(mUserManager.isManagedProfile()).thenReturn(true);
-
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
-    }
-
-    @Test
     public void getAvailabilityStatus_noAppLabel_shouldReturnDisabled() {
-        when(mUserManager.isManagedProfile()).thenReturn(false);
-
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
     }
@@ -106,7 +92,6 @@
     public void getAvailabilityStatus_hasAppLabel_shouldReturnAvailable()
             throws PackageManager.NameNotFoundException {
         final String packageName = "Package1";
-        when(mUserManager.isManagedProfile()).thenReturn(false);
         when(mAppInfo.loadLabel(mPackageManager)).thenReturn("Label1");
         mController = new AppInstallerInfoPreferenceController(mContext, "test_key");
         mController.setPackageName(packageName);
@@ -161,7 +146,6 @@
     public void getAvailabilityStatus_isMainlineModule_shouldReturnDisabled()
             throws PackageManager.NameNotFoundException {
         final String packageName = "Package";
-        when(mUserManager.isManagedProfile()).thenReturn(false);
         when(mAppInfo.loadLabel(mPackageManager)).thenReturn("Label");
         mController.setPackageName(packageName);
         mockMainlineModule(packageName, true /* isMainlineModule */);
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppMemoryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppMemoryPreferenceControllerTest.java
index e433dd3..8e1fd3d 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppMemoryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppMemoryPreferenceControllerTest.java
@@ -49,7 +49,10 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class})
+@Config(shadows = {
+        ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AppMemoryPreferenceControllerTest {
 
     @Mock
@@ -77,7 +80,7 @@
         when(mFragment.getActivity()).thenReturn(mActivity);
     }
 
-    @Ignore
+    @Ignore("b/313582035")
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_developmentSettingsEnabled_shouldReturnAvailable() {
@@ -106,7 +109,6 @@
                 .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_developmentSettingsDisabled_shouldReturnDisabled() {
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
index 3b366ca..f6ee7ce 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppNotificationPreferenceControllerTest.java
@@ -35,8 +35,8 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.notification.app.AppNotificationSettings;
 import com.android.settings.notification.NotificationBackend;
+import com.android.settings.notification.app.AppNotificationSettings;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
@@ -46,9 +46,13 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AppNotificationPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppPermissionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppPermissionPreferenceControllerTest.java
index 41ff9ed..b610d8c 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppPermissionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppPermissionPreferenceControllerTest.java
@@ -44,11 +44,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AppPermissionPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java
index 2482945..bda1e61 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/AppSettingPreferenceControllerTest.java
@@ -26,7 +26,6 @@
 import androidx.preference.Preference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -67,14 +66,12 @@
         mPreference.setKey(mController.getPreferenceKey());
     }
 
-    @Ignore
     @Test
     public void getAvailabilityStatus_noAppSetting_shouldNotBeAvailable() {
         assertThat(mController.isAvailable())
                 .isFalse();
     }
 
-    @Ignore
     @Test
     public void getAvailabilityStatus_noPackageName_shouldNotBeAvailable() {
         mController.setPackageName(null);
@@ -83,7 +80,6 @@
                 .isFalse();
     }
 
-    @Ignore
     @Test
     public void getAvailabilityStatus_hasAppSetting_shouldBeAvailable() {
         final ResolveInfo info = new ResolveInfo();
@@ -97,13 +93,11 @@
                 .isTrue();
     }
 
-    @Ignore
     @Test
     public void clickPreference_noAppSetting_shouldDoNothing() {
         assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
     }
 
-    @Ignore
     @Test
     public void clickPreference_hasAppSetting_shouldLaunchIntent() {
         final ResolveInfo info = new ResolveInfo();
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java
index dde5914..74c0bb5 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/DefaultAppShortcutPreferenceControllerBaseTest.java
@@ -33,10 +33,8 @@
 import androidx.preference.Preference;
 
 import com.android.settings.R;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -76,8 +74,7 @@
         MockitoAnnotations.initMocks(this);
         ShadowApplication shadowApplication = ShadowApplication.getInstance();
         shadowApplication.setSystemService(Context.ROLE_SERVICE, mRoleManager);
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
         mShadowUserManager = shadowOf(mActivity.getSystemService(UserManager.class));
         mController = new TestRolePreferenceController(mActivity);
         when(mPreference.getKey()).thenReturn(mController.getPreferenceKey());
@@ -104,7 +101,6 @@
                 DefaultAppShortcutPreferenceControllerBase.UNSUPPORTED_ON_DEVICE);
     }
 
-    @Ignore
     @Test
     public void
     getAvailabilityStatus_noCallbackForIsRoleNotVisible_shouldReturnUnsupported() {
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
index 805cdd2..85be59e 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonDialogFragmentTest.java
@@ -35,7 +35,6 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -44,8 +43,10 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = ShadowAlertDialogCompat.class)
 public class InstantAppButtonDialogFragmentTest {
 
@@ -56,9 +57,7 @@
 
     @Before
     public void setUp() {
-        final FragmentActivity activity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-
+        final FragmentActivity activity = Robolectric.setupActivity(FragmentActivity.class);
         mContext = spy(RuntimeEnvironment.application);
         mFragment = InstantAppButtonDialogFragment.newInstance(TEST_PACKAGE);
         mFragment.show(activity.getSupportFragmentManager(), "InstantAppButtonDialogFragment");
diff --git a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
index a4277dd..9d6332e 100644
--- a/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/appinfo/InstantAppButtonsPreferenceControllerTest.java
@@ -61,9 +61,13 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class InstantAppButtonsPreferenceControllerTest {
 
     private static final String TEST_INSTALLER_PACKAGE_NAME = "com.installer";
diff --git a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
index 88377b8..178a26f 100644
--- a/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/assist/DefaultAssistPreferenceControllerTest.java
@@ -44,7 +44,6 @@
 import com.android.settingslib.applications.DefaultAppInfo;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -83,7 +82,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testAssistAndVoiceInput_ifDisabled_shouldNotBeShown() {
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
index 2a63f53..fdf7c0d 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAppPickerFragmentTest.java
@@ -42,11 +42,15 @@
 import org.robolectric.Robolectric;
 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 = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class DefaultAppPickerFragmentTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
index 8fcdaa2..259163e 100644
--- a/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/defaultapps/DefaultAutofillPickerTest.java
@@ -58,7 +58,10 @@
 import java.util.Arrays;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowSecureSettings.class)
+@Config(shadows = {
+        ShadowSecureSettings.class,
+        ShadowFragment.class,
+})
 public class DefaultAutofillPickerTest {
 
     private static final String MAIN_APP_KEY = "main.foo.bar/foo.bar.Baz";
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java
index 1311fe2..b203d87 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ApplicationViewHolderTest.java
@@ -28,7 +28,6 @@
 import android.view.View;
 import android.widget.FrameLayout;
 
-import com.android.settings.R;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
@@ -61,7 +60,8 @@
         info.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED;
         mHolder.updateDisableView(info);
 
-        assertThat(mHolder.mDisabled.getText()).isEqualTo(mContext.getText(R.string.disabled));
+        assertThat(mHolder.mDisabled.getText())
+                .isEqualTo(mContext.getText(com.android.settingslib.R.string.disabled));
     }
 
     @Test
@@ -69,8 +69,9 @@
         mHolder.setSummary("hello");
         assertThat(mHolder.mSummary.getText()).isEqualTo("hello");
 
-        mHolder.setSummary(R.string.disabled);
-        assertThat(mHolder.mSummary.getText()).isEqualTo(mContext.getText(R.string.disabled));
+        mHolder.setSummary(com.android.settingslib.R.string.disabled);
+        assertThat(mHolder.mSummary.getText())
+                .isEqualTo(mContext.getText(com.android.settingslib.R.string.disabled));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
index 910fbed..196f206 100644
--- a/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/manageapplications/ManageApplicationsTest.java
@@ -63,6 +63,7 @@
 import com.android.settingslib.testutils.shadow.ShadowInteractionJankMonitor;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -76,8 +77,12 @@
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class, ShadowAppUtils.class,
-        ShadowInteractionJankMonitor.class})
+@Config(shadows = {
+        ShadowUserManager.class,
+        ShadowAppUtils.class,
+        ShadowInteractionJankMonitor.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ManageApplicationsTest {
 
     @Mock
@@ -105,7 +110,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         mAppReset = new RoboMenuItem(R.id.reset_app_preferences);
         mSortRecent = new RoboMenuItem(R.id.sort_order_recent_notification);
         mSortFrequent = new RoboMenuItem(R.id.sort_order_frequent_notification);
@@ -309,6 +314,7 @@
         verify(adapter).filterSearch(query);
     }
 
+    @Ignore("b/313583754")
     @Test
     public void notifyItemChange_recyclerViewIdle_shouldNotify() {
         final RecyclerView recyclerView = mock(RecyclerView.class);
@@ -323,6 +329,7 @@
         verify(adapter).notifyItemChanged(0);
     }
 
+    @Ignore("b/313583754")
     @Test
     public void notifyItemChange_recyclerViewScrolling_shouldNotifyWhenIdle() {
         final RecyclerView recyclerView = mock(RecyclerView.class);
@@ -419,6 +426,7 @@
         assertThat(adapter.getItemCount()).isEqualTo(5);
     }
 
+    @Ignore("b/313583754")
     @Test
     public void applicationsAdapter_filterSearch_noMatch_shouldShowEmptyList() {
         final ManageApplications.ApplicationsAdapter adapter =
diff --git a/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java
index 4917a85..af13fa2 100644
--- a/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/managedomainurls/DomainAppPreferenceControllerTest.java
@@ -30,7 +30,6 @@
 import android.content.pm.verify.domain.DomainVerificationManager;
 import android.content.pm.verify.domain.DomainVerificationUserState;
 
-import com.android.settings.R;
 import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
@@ -72,7 +71,8 @@
         doReturn(true).when(domainVerificationUserState).isLinkHandlingAllowed();
         final DomainAppPreference pref = new DomainAppPreference(mContext, mAppEntry);
 
-        assertThat(pref.getLayoutResource()).isEqualTo(R.layout.preference_app);
+        assertThat(pref.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.preference.app.R.layout.preference_app);
     }
 
     private ApplicationInfo createApplicationInfo(String packageName) {
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java
index cc960d7..788b5e8 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/DefaultPaymentSettingsPreferenceControllerTest.java
@@ -19,16 +19,28 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.role.RoleManager;
 import android.content.Context;
+import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.nfc.NfcAdapter;
+import android.nfc.cardemulation.CardEmulation;
 import android.os.UserManager;
+import android.permission.flags.Flags;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.preference.Preference;
 
 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;
@@ -37,6 +49,10 @@
 @RunWith(RobolectricTestRunner.class)
 public class DefaultPaymentSettingsPreferenceControllerTest {
 
+    private static final String PREF_KEY = "key";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
     @Mock
     private NfcAdapter mNfcAdapter;
     @Mock
@@ -45,6 +61,10 @@
     private UserManager mUserManager;
     @Mock
     private PackageManager mPackageManager;
+    @Mock
+    private RoleManager mRoleManager;
+    @Mock
+    private Preference mPreference;
 
     private DefaultPaymentSettingsPreferenceController mController;
 
@@ -55,7 +75,8 @@
         when(mContext.getApplicationContext()).thenReturn(mContext);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
-        mController = new DefaultPaymentSettingsPreferenceController(mContext, "key");
+        when(mContext.getSystemService(RoleManager.class)).thenReturn(mRoleManager);
+        mController = new DefaultPaymentSettingsPreferenceController(mContext, PREF_KEY);
         ReflectionHelpers.setField(mController, "mNfcAdapter", mNfcAdapter);
     }
 
@@ -86,4 +107,20 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 DefaultPaymentSettingsPreferenceController.DISABLED_DEPENDENT_SETTING);
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_WALLET_ROLE_ENABLED)
+    public void handlePreferenceTreeClick_walletRoleEnabled_shouldReturnTrue() {
+        when(mRoleManager.isRoleAvailable(anyString())).thenReturn(true);
+        when(mPreference.getKey()).thenReturn(PREF_KEY);
+        ArgumentCaptor<String> roleTypeCaptor = ArgumentCaptor.forClass(String.class);
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+
+        assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
+        verify(mRoleManager).isRoleAvailable(roleTypeCaptor.capture());
+        verify(mContext).startActivity(intentArgumentCaptor.capture());
+        assertThat(roleTypeCaptor.getValue()).isEqualTo(RoleManager.ROLE_WALLET);
+        assertThat(intentArgumentCaptor.getValue().getAction())
+                .isEqualTo(CardEmulation.ACTION_CHANGE_DEFAULT);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/MediaRoutingControlPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/MediaRoutingControlPreferenceControllerTest.java
new file mode 100644
index 0000000..20a1d04
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/MediaRoutingControlPreferenceControllerTest.java
@@ -0,0 +1,131 @@
+/*
+ * 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.applications.specialaccess;
+
+import static com.android.settingslib.spa.framework.util.SpaIntentKt.KEY_DESTINATION;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+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 androidx.preference.Preference;
+
+import com.android.media.flags.Flags;
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.spa.SpaActivity;
+import com.android.settings.spa.app.specialaccess.MediaRoutingControlAppListProvider;
+
+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)
+public class MediaRoutingControlPreferenceControllerTest {
+
+    private static final String PREFERENCE_KEY = "test_preference_key";
+    private static final String DIFFERENT_PREFERENCE_KEY = "other_preference_key";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private PackageManager mPackageManager;
+
+    private MediaRoutingControlPreferenceController mTestController;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        mTestController = new MediaRoutingControlPreferenceController(
+                mContext, PREFERENCE_KEY);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_PRIVILEGED_ROUTING_FOR_MEDIA_ROUTING_CONTROL)
+    public void getAvailabilityStatus_withFlagEnabled_shouldReturnTrue() {
+        assertThat(mTestController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_PRIVILEGED_ROUTING_FOR_MEDIA_ROUTING_CONTROL)
+    public void getAvailabilityStatus_withFlagDisabled_shouldReturnFalse() {
+        assertThat(mTestController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_withDifferentPreference_shouldReturnFalse() {
+        Preference preference = mock(Preference.class);
+        when(preference.getKey()).thenReturn(DIFFERENT_PREFERENCE_KEY);
+
+        assertThat(mTestController.handlePreferenceTreeClick(preference)).isFalse();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_withMediaRoutingPreference_shouldReturnTrue() {
+        Preference preference = mock(Preference.class);
+        when(preference.getKey()).thenReturn(PREFERENCE_KEY);
+
+        assertThat(mTestController.handlePreferenceTreeClick(preference)).isTrue();
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_withDifferentPreference_shouldNotStartSpaActivity() {
+        Preference preference = mock(Preference.class);
+        when(preference.getKey()).thenReturn(DIFFERENT_PREFERENCE_KEY);
+
+        mTestController.handlePreferenceTreeClick(preference);
+
+        verify(mContext, never()).startActivity(any(Intent.class));
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_withMediaRoutingPreference_shouldStartSpaActivity() {
+        Preference preference = mock(Preference.class);
+        when(preference.getKey()).thenReturn(PREFERENCE_KEY);
+
+        mTestController.handlePreferenceTreeClick(preference);
+
+        ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        verify(mContext).startActivity(intentCaptor.capture());
+        final Intent intent = intentCaptor.getValue();
+        assertThat(intent.getComponent().getClassName()).isEqualTo(SpaActivity.class.getName());
+        assertThat(intent.getStringExtra(KEY_DESTINATION)).isEqualTo(
+                MediaRoutingControlAppListProvider.INSTANCE.getAppListRoute());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java
index 730a3cc..eef7f7c 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesControllerTest.java
@@ -31,8 +31,12 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowUserManager.class,
+})
 public class InteractAcrossProfilesControllerTest {
     private static final int PERSONAL_PROFILE_ID = 0;
     private static final int WORK_PROFILE_ID = 10;
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java
index edd85e4..61230b8 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesDetailsTest.java
@@ -23,22 +23,32 @@
 import android.content.Context;
 import android.content.PermissionChecker;
 import android.content.pm.CrossProfileApps;
-import android.content.pm.PackageManager;
 import android.content.pm.UserInfo;
 import android.os.UserManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
+import com.android.settings.testutils.shadow.ShadowCrossProfileApps;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settingslib.testutils.shadow.ShadowPermissionChecker;
 
 import com.google.common.collect.ImmutableList;
 
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.shadows.ShadowPermissionChecker;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowApplicationPackageManager.class,
+        ShadowCrossProfileApps.class,
+        ShadowUserManager.class,
+        ShadowPermissionChecker.class,
+})
 public class InteractAcrossProfilesDetailsTest {
 
     private static final int PERSONAL_PROFILE_ID = 0;
@@ -48,23 +58,34 @@
             "android.permission.INTERACT_ACROSS_PROFILES";
 
     private final Context mContext = ApplicationProvider.getApplicationContext();
-    private final PackageManager mPackageManager = mContext.getPackageManager();
-    private final UserManager mUserManager = mContext.getSystemService(UserManager.class);
-    private final CrossProfileApps mCrossProfileApps = mContext.getSystemService(
-            CrossProfileApps.class);
+    private ShadowUserManager mShadowUserManager;
+    private ShadowCrossProfileApps mShadowCrossProfileApps;
+    private ShadowApplicationPackageManager mShadowPackageManager;
+
+    @Before
+    public void setUp() {
+        mShadowUserManager = (ShadowUserManager) shadowOf(
+                mContext.getSystemService(UserManager.class)
+        );
+        mShadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
+                mContext.getSystemService(CrossProfileApps.class)
+        );
+        mShadowPackageManager =
+                (ShadowApplicationPackageManager) shadowOf(mContext.getPackageManager());
+    }
 
     @Test
     public void getPreferenceSummary_appOpAllowed_returnsAllowed() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mUserManager).addProfile(
+        mShadowUserManager.addProfile(
                 PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
                 "work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 WORK_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
-        shadowOf(mCrossProfileApps).addCrossProfilePackage(
+        mShadowCrossProfileApps.addCrossProfilePackage(
                 CROSS_PROFILE_PACKAGE_NAME);
         ShadowPermissionChecker.setResult(
                 CROSS_PROFILE_PACKAGE_NAME,
@@ -78,16 +99,16 @@
 
     @Test
     public void getPreferenceSummary_appOpNotAllowed_returnsNotAllowed() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mUserManager).addProfile(
+        mShadowUserManager.addProfile(
                 PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
                 "work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 WORK_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
-        shadowOf(mCrossProfileApps).addCrossProfilePackage(
+        mShadowCrossProfileApps.addCrossProfilePackage(
                 CROSS_PROFILE_PACKAGE_NAME);
         ShadowPermissionChecker.setResult(
                 CROSS_PROFILE_PACKAGE_NAME,
@@ -101,9 +122,9 @@
 
     @Test
     public void getPreferenceSummary_noWorkProfile_returnsNotAllowed() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
 
         assertThat(InteractAcrossProfilesDetails.getPreferenceSummary(
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.java
index 8479035..5c55c76 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesPreferenceControllerTest.java
@@ -21,20 +21,28 @@
 import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
+import android.content.pm.CrossProfileApps;
 import android.content.pm.PackageInfo;
-import android.content.pm.PackageManager;
 
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
+import com.android.settings.testutils.shadow.ShadowCrossProfileApps;
 
 import com.google.common.collect.ImmutableList;
 
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowApplicationPackageManager.class,
+        ShadowCrossProfileApps.class,
+})
 public class InteractAcrossProfilesPreferenceControllerTest {
 
     private static final String CROSS_PROFILE_PACKAGE_NAME = "crossProfilePackage";
@@ -44,16 +52,27 @@
     private static final int PROFILE_ID = 0;
 
     private final Context mContext = ApplicationProvider.getApplicationContext();
-    private final PackageManager mPackageManager = mContext.getPackageManager();
+    private ShadowApplicationPackageManager mShadowPackageManager;
     private final InteractAcrossProfilesDetailsPreferenceController mController =
             new InteractAcrossProfilesDetailsPreferenceController(mContext, "test_key");
 
+    @Before
+    public void setUp() {
+        mShadowPackageManager = (ShadowApplicationPackageManager) shadowOf(
+                mContext.getPackageManager()
+        );
+    }
+
     @Test
     public void getAvailabilityStatus_requestedCrossProfilePermission_returnsAvailable() {
         mController.setPackageName(CROSS_PROFILE_PACKAGE_NAME);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PROFILE_ID, ImmutableList.of(CROSS_PROFILE_PACKAGE_NAME));
-        PackageInfo packageInfo = shadowOf(mPackageManager).getInternalMutablePackageInfo(
+        ShadowCrossProfileApps shadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
+                mContext.getSystemService(CrossProfileApps.class)
+        );
+        shadowCrossProfileApps.addCrossProfilePackage(CROSS_PROFILE_PACKAGE_NAME);
+        PackageInfo packageInfo = mShadowPackageManager.getInternalMutablePackageInfo(
                 CROSS_PROFILE_PACKAGE_NAME);
         packageInfo.requestedPermissions = new String[]{
                 INTERACT_ACROSS_PROFILES_PERMISSION};
@@ -65,8 +84,12 @@
     @Test
     public void getAvailabilityStatus_notRequestedCrossProfilePermission_returnsDisabled() {
         mController.setPackageName(NOT_CROSS_PROFILE_PACKAGE_NAME);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PROFILE_ID, ImmutableList.of(NOT_CROSS_PROFILE_PACKAGE_NAME));
+        ShadowCrossProfileApps shadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
+                mContext.getSystemService(CrossProfileApps.class)
+        );
+        shadowCrossProfileApps.addCrossProfilePackage(NOT_CROSS_PROFILE_PACKAGE_NAME);
 
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.DISABLED_FOR_USER);
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java
index 029fb28..436ed92 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/interactacrossprofiles/InteractAcrossProfilesSettingsTest.java
@@ -34,17 +34,28 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.testutils.shadow.ShadowApplicationPackageManager;
+import com.android.settings.testutils.shadow.ShadowCrossProfileApps;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+import com.android.settingslib.testutils.shadow.ShadowPermissionChecker;
+
 import com.google.common.collect.ImmutableList;
 
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.shadows.ShadowPermissionChecker;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowProcess;
 
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowUserManager.class,
+        ShadowApplicationPackageManager.class,
+        ShadowCrossProfileApps.class,
+})
 public class InteractAcrossProfilesSettingsTest {
 
     private static final int PERSONAL_PROFILE_ID = 0;
@@ -70,16 +81,33 @@
     private final CrossProfileApps mCrossProfileApps =
             mContext.getSystemService(CrossProfileApps.class);
 
+    private ShadowApplicationPackageManager mShadowPackageManager;
+    private ShadowUserManager mShadowUserManager;
+    private ShadowCrossProfileApps mShadowCrossProfileApps;
+
+    @Before
+    public void setUp() {
+        mShadowUserManager = (ShadowUserManager) shadowOf(
+                mContext.getSystemService(UserManager.class)
+        );
+        mShadowCrossProfileApps = (ShadowCrossProfileApps) shadowOf(
+                mContext.getSystemService(CrossProfileApps.class)
+        );
+        mShadowPackageManager = (ShadowApplicationPackageManager) shadowOf(
+                mContext.getPackageManager()
+        );
+    }
+
     @Test
     public void collectConfigurableApps_fromPersonal_returnsCombinedPackages() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mUserManager).addProfile(
+        mShadowUserManager.addProfile(
                 PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
                 "work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
         installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
         installCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
@@ -97,15 +125,15 @@
 
     @Test
     public void collectConfigurableApps_fromWork_returnsCombinedPackages() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mUserManager).addProfile(
+        mShadowUserManager.addProfile(
                 PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
                 "work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
         ShadowProcess.setUid(WORK_UID);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
         installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
         installCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
@@ -123,9 +151,9 @@
 
     @Test
     public void collectConfigurableApps_onlyOneProfile_returnsEmpty() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
         installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
 
@@ -138,18 +166,18 @@
 
     @Test
     public void getNumberOfEnabledApps_returnsNumberOfEnabledApps() {
-        shadowOf(mUserManager).addUser(
+        mShadowUserManager.addUser(
                 PERSONAL_PROFILE_ID, "personal-profile"/* name */, 0/* flags */);
-        shadowOf(mUserManager).addProfile(
+        mShadowUserManager.addProfile(
                 PERSONAL_PROFILE_ID, WORK_PROFILE_ID,
                 "work-profile"/* profileName */, UserInfo.FLAG_MANAGED_PROFILE);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 PERSONAL_PROFILE_ID, PERSONAL_PROFILE_INSTALLED_PACKAGES);
-        shadowOf(mPackageManager).setInstalledPackagesForUserId(
+        mShadowPackageManager.setInstalledPackagesForUserId(
                 WORK_PROFILE_ID, WORK_PROFILE_INSTALLED_PACKAGES);
         installCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
         installCrossProfilePackage(WORK_CROSS_PROFILE_PACKAGE);
-        shadowOf(mCrossProfileApps).addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
+        mShadowCrossProfileApps.addCrossProfilePackage(PERSONAL_CROSS_PROFILE_PACKAGE);
         ShadowPermissionChecker.setResult(
                 PERSONAL_CROSS_PROFILE_PACKAGE,
                 INTERACT_ACROSS_PROFILES_PERMISSION,
@@ -166,7 +194,7 @@
     }
 
     private void installCrossProfilePackage(String packageName) {
-        PackageInfo personalPackageInfo = shadowOf(mPackageManager).getInternalMutablePackageInfo(
+        PackageInfo personalPackageInfo = mShadowPackageManager.getInternalMutablePackageInfo(
                 packageName);
         personalPackageInfo.requestedPermissions = new String[]{
                 INTERACT_ACROSS_PROFILES_PERMISSION};
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
index e91c0fa..46b1910 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsAccessTest.java
@@ -16,13 +16,35 @@
 
 package com.android.settings.applications.specialaccess.premiumsms;
 
+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.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 android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.os.Process;
 import android.telephony.SmsManager;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.PreferenceViewHolder;
+import androidx.preference.R;
 
 import com.android.internal.logging.nano.MetricsProto;
+import com.android.settings.datausage.AppStateDataUsageBridge;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
+import com.android.settingslib.RestrictedDropDownPreference;
+import com.android.settingslib.applications.ApplicationsState;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -30,19 +52,28 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowRestrictedLockUtilsInternal.class
+})
 public class PremiumSmsAccessTest {
 
     private FakeFeatureFactory mFeatureFactory;
     private PremiumSmsAccess mFragment;
+    private Context mContext;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mFragment = new PremiumSmsAccess();
-        mFragment.onAttach(RuntimeEnvironment.application);
+        mContext = RuntimeEnvironment.application;
+        mFragment.onAttach(mContext);
     }
 
     @Test
@@ -74,4 +105,89 @@
                 "app",
                 SmsManager.PREMIUM_SMS_CONSENT_ALWAYS_ALLOW);
     }
+
+    @Test
+    public void onRebuildComplete_ecmRestricted_shouldBeDisabled() {
+        mFragment = spy(mFragment);
+        mContext = spy(mContext);
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        View view = inflater.inflate(R.layout.preference_dropdown, null);
+        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view);
+
+        PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        PreferenceScreen preferenceScreen = spy(preferenceManager.createPreferenceScreen(mContext));
+        doReturn(preferenceManager).when(mFragment).getPreferenceManager();
+        doReturn(preferenceScreen).when(mFragment).getPreferenceScreen();
+        final String testPkg = "com.example.disabled";
+        doNothing().when(mContext).startActivity(any());
+        ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs(testPkg);
+
+        doAnswer((invocation) -> {
+            final RestrictedDropDownPreference preference = invocation.getArgument(0);
+            // Verify preference is disabled by ecm and the summary is changed accordingly.
+            assertThat(preference.isDisabledByEcm()).isTrue();
+            assertThat(preference.getSummary().toString()).isEqualTo(
+                    mContext.getString(
+                            com.android.settingslib.R.string.disabled_by_app_ops_text));
+            preference.onBindViewHolder(holder);
+            preference.performClick();
+            // Verify that when the preference is clicked, ecm details intent is launched
+            verify(mContext).startActivity(any());
+
+            return null;
+        }).when(preferenceScreen).addPreference(any(RestrictedDropDownPreference.class));
+
+        mFragment.onRebuildComplete(createAppEntries(testPkg));
+        verify(preferenceScreen).addPreference(any(RestrictedDropDownPreference.class));
+    }
+
+    @Test
+    public void onRebuildComplete_ecmNotRestricted_notDisabled() {
+        mFragment = spy(mFragment);
+        mContext = spy(mContext);
+        LayoutInflater inflater = LayoutInflater.from(mContext);
+        View view = inflater.inflate(R.layout.preference_dropdown, null);
+        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(view);
+
+        PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        PreferenceScreen preferenceScreen = spy(preferenceManager.createPreferenceScreen(mContext));
+        doReturn(preferenceManager).when(mFragment).getPreferenceManager();
+        doReturn(preferenceScreen).when(mFragment).getPreferenceScreen();
+        final String testPkg = "com.example.enabled";
+        ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs();
+
+
+        doAnswer((invocation) -> {
+            final RestrictedDropDownPreference preference = invocation.getArgument(0);
+            assertThat(preference.isDisabledByEcm()).isFalse();
+            assertThat(preference.getSummary().toString()).isEqualTo("");
+            preference.onBindViewHolder(holder);
+            preference.performClick();
+            // Verify that when the preference is clicked, ecm details intent is not launched
+            verify(mContext, never()).startActivity(any());
+
+            return null;
+        }).when(preferenceScreen).addPreference(any(RestrictedDropDownPreference.class));
+
+        mFragment.onRebuildComplete(createAppEntries(testPkg));
+        verify(preferenceScreen).addPreference(any(RestrictedDropDownPreference.class));
+    }
+
+    private ArrayList<ApplicationsState.AppEntry> createAppEntries(String... packageNames) {
+        final ArrayList<ApplicationsState.AppEntry> appEntries = new ArrayList<>();
+        for (int i = 0; i < packageNames.length; ++i) {
+            final ApplicationInfo info = new ApplicationInfo();
+            info.packageName = packageNames[i];
+            info.uid = Process.FIRST_APPLICATION_UID + i;
+            info.sourceDir = info.packageName;
+            final ApplicationsState.AppEntry appEntry =
+                    spy(new ApplicationsState.AppEntry(mContext, info, i));
+            appEntry.extraInfo = new AppStateDataUsageBridge
+                    .DataUsageState(false, false);
+            doNothing().when(appEntry).ensureLabel(any(Context.class));
+            ReflectionHelpers.setField(appEntry, "info", info);
+            appEntries.add(appEntry);
+        }
+        return appEntries;
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
index 523112c..ed4cbd1 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsControllerTest.java
@@ -29,7 +29,6 @@
 import com.android.settings.R;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -61,7 +60,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailability_disabledByCarrier_returnUnavailable() {
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java
index 37c3cc2..5982413 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/premiumsms/PremiumSmsScreenPreferenceControllerTest.java
@@ -29,7 +29,6 @@
 import com.android.settings.R;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -61,7 +60,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailability_disabledByCarrier_returnUnavailable() {
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
index 91a78da..df5dfc9 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/EnabledVrListenersControllerTest.java
@@ -24,7 +24,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -34,6 +33,9 @@
 import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowActivityManager.class,
+})
 public class EnabledVrListenersControllerTest {
 
     private Context mContext;
@@ -58,7 +60,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailability_disabled_unavailable() {
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java
index a312823..7405980 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/vrlistener/VrListenerScreenPreferenceControllerTest.java
@@ -23,17 +23,20 @@
 
 import android.content.Context;
 
+import androidx.test.core.app.ApplicationProvider;
+
 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.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowActivityManager.class,
+})
 public class VrListenerScreenPreferenceControllerTest {
 
     private Context mContext;
@@ -42,7 +45,7 @@
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = new VrListenerScreenPreferenceController(mContext, "key");
         mActivityManager = Shadow.extract(mContext.getSystemService(Context.ACTIVITY_SERVICE));
     }
@@ -58,7 +61,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailability_disabled_unavailable() {
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessControllerTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessControllerTest.java
index 8febbc6..badc5db 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessControllerTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessControllerTest.java
@@ -25,6 +25,8 @@
 import android.app.NotificationManager;
 import android.content.Context;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowNotificationManager;
@@ -33,10 +35,8 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(RobolectricTestRunner.class)
 public class ZenAccessControllerTest {
@@ -46,15 +46,12 @@
     private FakeFeatureFactory mFeatureFactory;
     private Context mContext;
     private ZenAccessController mController;
-    private ShadowActivityManager mActivityManager;
-
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new ZenAccessController(mContext, "key");
-        mActivityManager = Shadow.extract(mContext.getSystemService(Context.ACTIVITY_SERVICE));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessSettingObserverMixinTest.java b/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessSettingObserverMixinTest.java
index afda8d5..bdbd863 100644
--- a/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessSettingObserverMixinTest.java
+++ b/tests/robotests/src/com/android/settings/applications/specialaccess/zenaccess/ZenAccessSettingObserverMixinTest.java
@@ -29,6 +29,7 @@
 
 import androidx.lifecycle.LifecycleOwner;
 
+import com.android.settings.testutils.shadow.ShadowActivityManager;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
@@ -38,10 +39,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        ShadowActivityManager.class,
+})
 public class ZenAccessSettingObserverMixinTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/aware/AwareFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/aware/AwareFeatureProviderImplTest.java
deleted file mode 100644
index 570f326..0000000
--- a/tests/robotests/src/com/android/settings/aware/AwareFeatureProviderImplTest.java
+++ /dev/null
@@ -1,46 +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.aware;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class AwareFeatureProviderImplTest {
-    private Context mContext;
-    private AwareFeatureProviderImpl mImpl;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mImpl = new AwareFeatureProviderImpl();
-    }
-
-    @Test
-    public void isSupported_shouldReturnFalse() {
-        assertThat(mImpl.isSupported(mContext)).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java b/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java
index b6ef32c..17f17c1 100644
--- a/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java
+++ b/tests/robotests/src/com/android/settings/backup/BackupSettingsHelperTest.java
@@ -34,7 +34,6 @@
 import android.content.res.Resources;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.os.UserHandle;
 
 import com.android.settings.R;
 
@@ -48,8 +47,6 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
-import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowUserManager;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = BackupSettingsHelperTest.ShadowBackupManagerStub.class)
@@ -72,46 +69,12 @@
     @Mock
     private static IBackupManager mBackupManager;
 
-    private ShadowUserManager mUserManager;
-
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application.getApplicationContext());
         when(mBackupManager.getCurrentTransport()).thenReturn("test_transport");
         mBackupSettingsHelper = new BackupSettingsHelper(mContext);
-        mUserManager = Shadow.extract(mContext.getSystemService(Context.USER_SERVICE));
-    }
-
-    @Test
-    public void testGetSummary_backupEnabledOnlyOneProfile_showsOn() throws Exception {
-        mUserManager.addUserProfile(new UserHandle(0));
-        when(mBackupManager.isBackupEnabled()).thenReturn(true);
-
-        String backupSummary = mBackupSettingsHelper.getSummary();
-
-        assertThat(backupSummary).isEqualTo(mContext.getString(R.string.backup_summary_state_on));
-    }
-
-    @Test
-    public void testGetSummary_backupDisabledOnlyOneProfile_showsOff() throws Exception {
-        mUserManager.addUserProfile(new UserHandle(0));
-        when(mBackupManager.isBackupEnabled()).thenReturn(false);
-
-        String backupSummary = mBackupSettingsHelper.getSummary();
-
-        assertThat(backupSummary).isEqualTo(mContext.getString(R.string.backup_summary_state_off));
-    }
-
-    @Test
-    public void testGetSummary_TwoProfiles_returnsNull() throws Exception {
-        mUserManager.addUserProfile(new UserHandle(0));
-        mUserManager.addUserProfile(new UserHandle(10));
-        when(mBackupManager.isBackupEnabled()).thenReturn(true);
-
-        String backupSummary = mBackupSettingsHelper.getSummary();
-
-        assertThat(backupSummary).isNull();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/biometrics/BiometricSettingsProviderTest.kt b/tests/robotests/src/com/android/settings/biometrics/BiometricSettingsProviderTest.kt
new file mode 100644
index 0000000..152258d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/BiometricSettingsProviderTest.kt
@@ -0,0 +1,93 @@
+/*
+ * 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
+
+import android.content.Context
+import android.content.res.Resources
+import android.net.Uri
+import android.os.Bundle
+import android.platform.test.annotations.RequiresFlagsEnabled
+import android.platform.test.flag.junit.CheckFlagsRule
+import android.platform.test.flag.junit.DeviceFlagsValueProvider
+import com.android.settings.flags.Flags
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mockito.spy
+import org.mockito.Mockito.`when` as whenever
+import org.mockito.Spy
+import org.robolectric.RobolectricTestRunner
+import org.robolectric.RuntimeEnvironment
+
+@RunWith(RobolectricTestRunner::class)
+class BiometricSettingsProviderTest {
+  @Spy private var context: Context = spy(RuntimeEnvironment.application)
+  @Spy private var resources: Resources = spy(context.resources)
+  private lateinit var provider: BiometricSettingsProvider
+
+  @get:Rule val checkFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
+
+  @Before
+  fun setUp() {
+    whenever(context.resources).thenReturn(resources)
+    provider = BiometricSettingsProvider()
+    provider.attachInfo(context, null)
+  }
+
+  @Test(expected = UnsupportedOperationException::class)
+  fun query_shouldCrash() {
+    provider.query(Uri.EMPTY, null, null, null, null)
+  }
+
+  @Test(expected = UnsupportedOperationException::class)
+  fun getType_shouldCrash() {
+    provider.getType(Uri.EMPTY)
+  }
+
+  @Test(expected = UnsupportedOperationException::class)
+  fun insert_shouldCrash() {
+    provider.insert(Uri.EMPTY, null)
+  }
+
+  @Test(expected = UnsupportedOperationException::class)
+  fun delete_shouldCrash() {
+    provider.delete(Uri.EMPTY, null, null)
+  }
+
+  @Test(expected = UnsupportedOperationException::class)
+  fun update_shouldCrash() {
+    provider.update(Uri.EMPTY, null, null, null)
+  }
+
+  @Test
+  @RequiresFlagsEnabled(Flags.FLAG_BIOMETRIC_SETTINGS_PROVIDER)
+  fun getSuggestionState_shouldQueryFeatureProvider() {
+    val expectedValue = false
+    setSupportFaceEnroll(expectedValue)
+
+    val bundle = provider.call(BiometricSettingsProvider.GET_SUW_FACE_ENABLED, null, Bundle())
+    assertThat(bundle!!.getBoolean(BiometricSettingsProvider.SUW_FACE_ENABLED))
+      .isEqualTo(expectedValue)
+  }
+
+  private fun setSupportFaceEnroll(toThis: Boolean) {
+    whenever(resources.getBoolean(com.android.settings.R.bool.config_suw_support_face_enroll))
+      .thenReturn(toThis)
+  }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/BiometricsSplitScreenDialogTest.java b/tests/robotests/src/com/android/settings/biometrics/BiometricsSplitScreenDialogTest.java
new file mode 100644
index 0000000..3aa281c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/BiometricsSplitScreenDialogTest.java
@@ -0,0 +1,126 @@
+/*
+ * 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;
+
+import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FACE;
+import static android.hardware.biometrics.BiometricAuthenticator.TYPE_FINGERPRINT;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.DialogInterface;
+import android.hardware.biometrics.BiometricAuthenticator;
+import android.os.Looper;
+import android.widget.Button;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+
+import 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.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowAlertDialogCompat.class)
+public class BiometricsSplitScreenDialogTest {
+    @Rule
+    public final MockitoRule mocks = MockitoJUnit.rule();
+    private FragmentActivity mActivity;
+    private BiometricsSplitScreenDialog mFragment;
+
+    @Before
+    public void setUp() {
+        ShadowAlertDialogCompat.reset();
+        mActivity = Robolectric.buildActivity(FragmentActivity.class).setup().get();
+    }
+
+    @After
+    public void tearDown() {
+        ShadowAlertDialogCompat.reset();
+    }
+
+    @Test
+    public void testTexts_face() {
+        final AlertDialog dialog = setUpFragment(TYPE_FACE, false /*destroyActivity*/);
+
+        final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo(
+                mActivity.getString(R.string.biometric_settings_add_face_in_split_mode_title));
+        assertThat(shadowAlertDialog.getMessage().toString()).isEqualTo(
+                mActivity.getString(R.string.biometric_settings_add_face_in_split_mode_message));
+    }
+
+    @Test
+    public void testTexts_fingerprint() {
+        final AlertDialog dialog = setUpFragment(TYPE_FINGERPRINT, false /*destroyActivity*/);
+
+        final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo(
+                mActivity.getString(
+                        R.string.biometric_settings_add_fingerprint_in_split_mode_title));
+        assertThat(shadowAlertDialog.getMessage().toString()).isEqualTo(
+                mActivity.getString(
+                        R.string.biometric_settings_add_fingerprint_in_split_mode_message));
+    }
+
+    @Test
+    public void testButton_destroyActivity() {
+        final AlertDialog dialog = setUpFragment(TYPE_FACE, true /*destroyActivity*/);
+        final Button button = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+
+        assertThat(button).isNotNull();
+        button.performClick();
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void testButton_notDestroyActivity() {
+        final AlertDialog dialog = setUpFragment(TYPE_FACE, false /*destroyActivity*/);
+        final Button button = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+
+        assertThat(button).isNotNull();
+        button.performClick();
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(mActivity.isFinishing()).isFalse();
+    }
+
+    private AlertDialog setUpFragment(
+            @BiometricAuthenticator.Modality int biometricsModality, boolean destroyActivity) {
+        mFragment = BiometricsSplitScreenDialog.newInstance(biometricsModality, destroyActivity);
+        mFragment.show(mActivity.getSupportFragmentManager(), null);
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        return dialog;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java
index 4ae1ecf..d3bbf24 100644
--- a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockRequireBiometricSetupTest.java
@@ -29,7 +29,6 @@
 
 import com.android.settings.R;
 import com.android.settings.biometrics.BiometricEnrollActivity;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupcompat.PartnerCustomizationLayout;
 import com.google.android.setupcompat.template.FooterBarMixin;
@@ -50,8 +49,8 @@
 
     @Before
     public void setUp() {
-        mActivity = (ActiveUnlockRequireBiometricSetup) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(ActiveUnlockRequireBiometricSetup.class)).get();
+        mActivity = Robolectric.buildActivity(
+                ActiveUnlockRequireBiometricSetup.class).setup().get();
         mLayout = mActivity.findViewById(R.id.setup_wizard_layout);
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java
index df83eae..563974d 100644
--- a/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/activeunlock/ActiveUnlockStatusUtilsTest.java
@@ -149,17 +149,31 @@
     }
 
     @Test
-    public void getIntro_unlockOnIntentAndFaceEnabled_returnsEmpty() {
+    public void getIntro_faceEnabled_returnsFace() {
+        ActiveUnlockTestUtils.enable(
+                mApplicationContext, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
+        when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
+        when(mFaceManager.isHardwareDetected()).thenReturn(true);
+
+        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_intro_with_face));
+    }
+
+    @Test
+    public void getIntro_fingerprintEnabled_returnsFingerprint() {
         ActiveUnlockTestUtils.enable(
                 mApplicationContext, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(false);
 
-        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock()).isEqualTo("");
+        assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock())
+                .isEqualTo(mApplicationContext.getString(
+                        R.string.biometric_settings_intro_with_fingerprint));
     }
 
     @Test
-    public void getIntro_unlockOnIntentAndFaceAndFingerprintEnabled_returnsDefault() {
+    public void getIntro_faceAndFingerprintEnabled_returnsFaceAndFingerprint() {
         ActiveUnlockTestUtils.enable(
                 mApplicationContext, ActiveUnlockStatusUtils.UNLOCK_INTENT_LAYOUT);
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
@@ -167,7 +181,7 @@
 
         assertThat(mActiveUnlockStatusUtils.getIntroForActiveUnlock())
                 .isEqualTo(mApplicationContext.getString(
-                        R.string.biometric_settings_intro));
+                        R.string.biometric_settings_intro_with_activeunlock));
     }
 
     @Test
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 4781f56..a0ef57f 100644
--- a/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/combination/CombinedBiometricProfileSettingsTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.biometrics.combination;
 
-import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
-
 import static com.android.settings.biometrics.combination.BiometricsSettingsBase.CONFIRM_REQUEST;
 import static com.android.settings.password.ChooseLockPattern.RESULT_FINISHED;
 
@@ -26,7 +24,6 @@
 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.doReturn;
 import static org.mockito.Mockito.doThrow;
@@ -37,11 +34,8 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.hardware.biometrics.ComponentInfoInternal;
-import android.hardware.biometrics.SensorProperties;
 import android.hardware.face.FaceManager;
 import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
 import android.os.Bundle;
 import android.util.AndroidRuntimeException;
 import android.view.LayoutInflater;
@@ -52,15 +46,12 @@
 import androidx.annotation.XmlRes;
 import androidx.fragment.app.FragmentActivity;
 import androidx.fragment.app.FragmentManager;
-import androidx.fragment.app.FragmentTransaction;
 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.biometrics.BiometricStatusPreferenceController;
-import com.android.settings.biometrics.BiometricsSplitScreenDialog;
 import com.android.settings.biometrics.face.FaceStatusPreferenceController;
 import com.android.settings.biometrics.fingerprint.FingerprintStatusPreferenceController;
 import com.android.settings.password.ChooseLockSettingsHelper;
@@ -111,8 +102,6 @@
     private FaceStatusPreferenceController mFaceStatusPreferenceController;
     @Mock
     private FaceManager mFaceManager;
-    @Mock
-    private FragmentTransaction mFragmentTransaction;
 
     @Before
     public void setUp() {
@@ -350,132 +339,6 @@
     }
 
     @Test
-    public void testClickFingerprintUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
-        testClickFingerprintUnlock(true /* isInMultiWindow */, false /* hasEnrolledFingerprint */);
-        verifyShowsDialogAfterClickingUnlock(mFragment.getFingerprintPreferenceKey());
-    }
-
-    @Test
-    public void testClickFingerprintUnlock_inMultiWindow_withEnrolledFp_noDialog() {
-        testClickFingerprintUnlock(true /* isInMultiWindow */, true /* hasEnrolledFingerprint */);
-        verifyNoDialogAfterClickingUnlock(mFragment.getFingerprintPreferenceKey());
-    }
-
-    @Test
-    public void testClickFingerprintUnlock_inFullScreen_withoutEnrolledFp_noDialog() {
-        testClickFingerprintUnlock(false /* isInMultiWindow */, false /* hasEnrolledFingerprint */);
-        verifyNoDialogAfterClickingUnlock(mFragment.getFingerprintPreferenceKey());
-    }
-
-    private void testClickFingerprintUnlock(boolean isInMultiWindow,
-            boolean hasEnrolledFingerprint) {
-        final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
-        props.add(new FingerprintSensorPropertiesInternal(
-                0 /* sensorId */,
-                SensorProperties.STRENGTH_STRONG,
-                1 /* maxEnrollmentsPerUser */,
-                new ArrayList<ComponentInfoInternal>(),
-                TYPE_UDFPS_OPTICAL,
-                true /* resetLockoutRequiresHardwareAuthToken */));
-        doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
-
-        doAnswer(invocation -> {
-            final FingerprintManager.GenerateChallengeCallback callback =
-                    invocation.getArgument(1);
-            callback.onChallengeGenerated(0, 0, 1L);
-            return null;
-        }).when(mFingerprintManager).generateChallenge(anyInt(), any());
-        doReturn(new byte[]{1}).when(mFragment).requestGatekeeperHat(any(), anyLong(), anyInt(),
-                anyLong());
-        FragmentManager fragmentManager = mock(FragmentManager.class);
-        doReturn(fragmentManager).when(mActivity).getSupportFragmentManager();
-        doReturn(mFragmentTransaction).when(fragmentManager).beginTransaction();
-        doReturn(isInMultiWindow).when(mActivity).isInMultiWindowMode();
-        doReturn(hasEnrolledFingerprint).when(mFingerprintManager).hasEnrolledFingerprints(
-                anyInt());
-
-        // Start fragment
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(null);
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
-        mFragment.onResume();
-
-        // User clicks on "Fingerprint Unlock"
-        final Preference preference = new Preference(mContext);
-        preference.setKey(mFragment.getFingerprintPreferenceKey());
-        mFragment.onPreferenceTreeClick(preference);
-    }
-
-    @Test
-    public void testClickFaceUnlock_inMultiWindow_withoutEnrolledFp_showsDialog() {
-        testClickFaceUnlock(true /* isInMultiWindow */, false /*hasEnrolledFace*/);
-        verifyShowsDialogAfterClickingUnlock(mFragment.getFacePreferenceKey());
-    }
-
-    @Test
-    public void testClickFaceUnlock_inMultiWindow_withEnrolledFp_noDialog() {
-        testClickFaceUnlock(true /* isInMultiWindow */, true /* hasEnrolledFace */);
-        verifyNoDialogAfterClickingUnlock(mFragment.getFacePreferenceKey());
-    }
-
-    @Test
-    public void testClickFaceUnlock_inFullScreen_withoutEnrolledFp_noDialog() {
-        testClickFaceUnlock(false /* isInMultiWindow */ , false /* hasEnrolledFace */);
-        verifyNoDialogAfterClickingUnlock(mFragment.getFacePreferenceKey());
-    }
-
-    private void testClickFaceUnlock(boolean isInMultiWindow, boolean hasEnrolledFace) {
-        doAnswer(invocation -> {
-            final FaceManager.GenerateChallengeCallback callback =
-                    invocation.getArgument(1);
-            callback.onGenerateChallengeResult(0, 0, 1L);
-            return null;
-        }).when(mFaceManager).generateChallenge(anyInt(), any());
-        doReturn(new byte[] { 1 }).when(mFragment).requestGatekeeperHat(any(), anyLong(), anyInt(),
-                anyLong());
-        FragmentManager fragmentManager = mock(FragmentManager.class);
-        doReturn(fragmentManager).when(mActivity).getSupportFragmentManager();
-        doReturn(mFragmentTransaction).when(fragmentManager).beginTransaction();
-        doReturn(isInMultiWindow).when(mActivity).isInMultiWindowMode();
-        doReturn(hasEnrolledFace).when(mFaceManager).hasEnrolledTemplates(
-                anyInt());
-
-        // Start fragment
-        mFragment.onAttach(mContext);
-        mFragment.onCreate(null);
-        mFragment.onCreateView(LayoutInflater.from(mContext), mock(ViewGroup.class), Bundle.EMPTY);
-        mFragment.onResume();
-
-        // User clicks on "Face Unlock"
-        final Preference preference = new Preference(mContext);
-        preference.setKey(mFragment.getFacePreferenceKey());
-        mFragment.onPreferenceTreeClick(preference);
-    }
-
-    private void verifyNoDialogAfterClickingUnlock(String preferenceKey) {
-        final BiometricStatusPreferenceController controller =
-                preferenceKey.equals(mFragment.getFacePreferenceKey())
-                        ? mFaceStatusPreferenceController
-                        : mFingerprintStatusPreferenceController;
-        verify(controller).handlePreferenceTreeClick(mPreferenceCaptor.capture());
-        List<Preference> capturedPreferences = mPreferenceCaptor.getAllValues();
-        assertThat(capturedPreferences).hasSize(1);
-        assertThat(capturedPreferences.get(0).getKey()).isEqualTo(preferenceKey);
-        verify(mFragmentTransaction, never()).add(any(),
-                eq(BiometricsSplitScreenDialog.class.getName()));
-    }
-
-    private void verifyShowsDialogAfterClickingUnlock(String preferenceKey) {
-        final BiometricStatusPreferenceController controller =
-                preferenceKey.equals(mFragment.getFacePreferenceKey())
-                        ? mFaceStatusPreferenceController
-                        : mFingerprintStatusPreferenceController;
-        verify(controller, never()).handlePreferenceTreeClick(any());
-        verify(mFragmentTransaction).add(any(),
-                eq(BiometricsSplitScreenDialog.class.getName()));
-    }
-
-    @Test
     public void testNoCrashIfDetachActivityDuringGeneratingChallengeThroughFaceManager() {
         doAnswer(invocation -> {
             final FaceManager.GenerateChallengeCallback callback =
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollEducationTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollEducationTest.java
index b4dddde..474ea8c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollEducationTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollEducationTest.java
@@ -50,6 +50,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -127,6 +128,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testFaceEnrollEducation_hasHeader() {
         setupActivity();
         CharSequence headerText = getGlifLayout().getHeaderText();
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
index df15e5c..a56c34c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceEnrollIntroductionTest.java
@@ -38,20 +38,25 @@
 
 import android.app.Activity;
 import android.content.Context;
+import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.hardware.face.Face;
+import android.hardware.face.FaceEnrollOptions;
 import android.hardware.face.FaceManager;
 import android.hardware.face.FaceSensorProperties;
 import android.hardware.face.FaceSensorPropertiesInternal;
 import android.hardware.face.IFaceAuthenticatorsRegisteredCallback;
+import android.os.Looper;
 import android.os.UserHandle;
 import android.view.View;
+import android.widget.Button;
 import android.widget.TextView;
 
 import androidx.annotation.NonNull;
 import androidx.annotation.Nullable;
+import androidx.appcompat.app.AlertDialog;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.widget.LockPatternUtils;
@@ -62,6 +67,7 @@
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
@@ -76,6 +82,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -100,7 +107,8 @@
         ShadowUtils.class,
         ShadowDevicePolicyManager.class,
         ShadowSensorPrivacyManager.class,
-        SettingsShadowResources.class
+        SettingsShadowResources.class,
+        ShadowAlertDialogCompat.class
 })
 public class FaceEnrollIntroductionTest {
 
@@ -122,8 +130,8 @@
     enum GateKeeperAction {CALL_SUPER, RETURN_BYTE_ARRAY, THROW_CREDENTIAL_NOT_MATCH}
 
     public static class TestFaceEnrollIntroduction extends FaceEnrollIntroduction {
-
         private int mRecreateCount = 0;
+        public boolean mIsMultiWindowMode;
 
         public int getRecreateCount() {
             return mRecreateCount;
@@ -160,6 +168,11 @@
         protected boolean launchPostureGuidance() {
             return super.launchPostureGuidance();
         }
+
+        @Override
+        public boolean isInMultiWindowMode() {
+            return mIsMultiWindowMode;
+        }
     }
 
     @Before
@@ -177,12 +190,15 @@
     public void tearDown() {
         ShadowUtils.reset();
         ShadowLockPatternUtils.reset();
+        ShadowAlertDialogCompat.reset();
     }
 
     private void setupActivity() {
         final Intent testIntent = new Intent();
         // Set the challenge token so the confirm screen will not be shown
         testIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
+        testIntent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                FaceEnrollOptions.ENROLL_REASON_SETTINGS);
 
         when(mFakeFeatureFactory.mFaceFeatureProvider.getPostureGuidanceIntent(any())).thenReturn(
                 null /* Simulate no posture intent */);
@@ -207,6 +223,8 @@
         testIntent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
         testIntent.putExtra(EXTRA_KEY_NEXT_LAUNCHED, false);
         testIntent.putExtra(EXTRA_LAUNCHED_POSTURE_GUIDANCE, false);
+        testIntent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                FaceEnrollOptions.ENROLL_REASON_SETTINGS);
 
         when(mFakeFeatureFactory.mFaceFeatureProvider.getPostureGuidanceIntent(any())).thenReturn(
                 testIntent);
@@ -282,6 +300,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testOnCreateToGenerateChallenge() {
         setupActivityWithGenerateChallenge(
                 new Intent().putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, 1L));
@@ -385,7 +404,8 @@
     @Test
     public void testFaceEnrollIntroduction_hasBottomScrollView() {
         setupActivity();
-        BottomScrollView scrollView = getGlifLayout(mActivity).findViewById(R.id.sud_scroll_view);
+        BottomScrollView scrollView = getGlifLayout(mActivity)
+                .findViewById(com.google.android.setupdesign.R.id.sud_scroll_view);
 
         assertThat(scrollView).isNotNull();
         assertThat(scrollView.getVisibility()).isEqualTo(View.VISIBLE);
@@ -431,6 +451,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testFaceEnrollIntroduction_onStartRegisteredPostureChangeCallback() {
         setupActivityForPosture();
         mSpyActivity.onStart();
@@ -592,4 +613,47 @@
         assertThat(result).isEqualTo(0);
     }
 
+    @Test
+    public void multiWindow_showsDialog() {
+        mController = Robolectric.buildActivity(TestFaceEnrollIntroduction.class);
+        mActivity  = (TestFaceEnrollIntroduction) mController.get();
+        mActivity.mIsMultiWindowMode = true;
+        mController.setup().get();
+
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+
+        final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo(
+                mActivity.getString(R.string.biometric_settings_add_face_in_split_mode_title));
+        assertThat(shadowAlertDialog.getMessage().toString()).isEqualTo(
+                mActivity.getString(R.string.biometric_settings_add_face_in_split_mode_message));
+
+        final Button button = dialog.getButton(DialogInterface.BUTTON_POSITIVE);
+        assertThat(button).isNotNull();
+        button.performClick();
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
+    public void singleWindow_noDialog() {
+        Robolectric.buildActivity(TestFaceEnrollIntroduction.class).setup().get();
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    public void testFaceEnrollIntroduction_forwardsEnrollOptions() {
+        setupActivity();
+        final Intent intent = mActivity.getEnrollingIntent();
+
+        assertThat(intent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1))
+                .isEqualTo(FaceEnrollOptions.ENROLL_REASON_SETTINGS);
+    }
+
 }
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceControllerTest.java
index f34616f..9de2fc2 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsFooterPreferenceControllerTest.java
@@ -41,7 +41,6 @@
 import com.android.settingslib.widget.FooterPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -57,7 +56,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 public class FaceSettingsFooterPreferenceControllerTest {
     @Rule
diff --git a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceControllerTest.java
index 5f56fa7..ae35972 100644
--- a/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/face/FaceSettingsRemoveButtonPreferenceControllerTest.java
@@ -32,6 +32,7 @@
 import com.android.settingslib.widget.LayoutPreference;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -44,6 +45,7 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
+@Ignore("b/295325503")
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowUserManager.class})
 public class FaceSettingsRemoveButtonPreferenceControllerTest {
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
index a23eded..91707cd 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollEnrollingTest.java
@@ -70,6 +70,7 @@
 import com.google.android.setupdesign.GlifLayout;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -78,14 +79,16 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
-import org.robolectric.shadows.ShadowToast;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicReference;
 
+@Ignore("b/295325503")
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class FingerprintEnrollEnrollingTest {
     private static final String ENROLL_PROGRESS_COLOR_LIGHT = "#699FF3";
     private static final String ENROLL_PROGRESS_COLOR_DARK = "#7DA7F1";
@@ -120,16 +123,6 @@
     }
 
     @Test
-    public void fingerprintMultiWindowMode() {
-        initializeActivityWithoutCreate(TYPE_UDFPS_OPTICAL);
-        when(mActivity.isInMultiWindowMode()).thenReturn(true);
-        createActivity();
-
-        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
-                mContext.getString(R.string.dock_multi_instances_not_supported_text));
-    }
-
-    @Test
     public void fingerprintUdfpsEnrollSuccessProgress_shouldNotVibrate() {
         initializeActivityFor(TYPE_UDFPS_OPTICAL);
 
@@ -621,9 +614,10 @@
         mContext = spy(RuntimeEnvironment.application);
         mActivity = spy(FingerprintEnrollEnrolling.class);
 
-        when(mContext.getDisplay()).thenReturn(mMockDisplay);
+        doReturn(mMockDisplay).when(mContext).getDisplay();
         when(mMockDisplay.getRotation()).thenReturn(Surface.ROTATION_0);
 
+        doReturn(mMockDisplay).when(mActivity).getDisplay();
         doReturn(true).when(mActivity).shouldShowLottie();
         doReturn(mFingerprintManager).when(mActivity).getSystemService(FingerprintManager.class);
         doReturn(mVibrator).when(mActivity).getSystemService(Vibrator.class);
@@ -653,6 +647,7 @@
     }
 
     private void createActivity() {
+        System.setProperty("robolectric.createActivityContexts", "true");
         final Bundle savedInstanceState = new Bundle();
         savedInstanceState.putInt(KEY_STATE_PREVIOUS_ROTATION, Surface.ROTATION_90);
 
@@ -674,7 +669,8 @@
                         any(CancellationSignal.class),
                         anyInt(),
                         callbackCaptor.capture(),
-                        eq(FingerprintManager.ENROLL_ENROLL));
+                        eq(FingerprintManager.ENROLL_ENROLL),
+                        any());
 
         return callbackCaptor.getValue();
     }
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
index 198bfd7..68395b2 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollFindSensorTest.java
@@ -19,6 +19,7 @@
 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.text.Layout.HYPHENATION_FREQUENCY_NORMAL;
 
 import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_FINISHED;
 import static com.android.settings.biometrics.BiometricEnrollBase.RESULT_SKIP;
@@ -35,7 +36,6 @@
 import static org.mockito.Mockito.verify;
 import static org.robolectric.RuntimeEnvironment.application;
 
-import android.annotation.NonNull;
 import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -49,7 +49,9 @@
 import android.os.Bundle;
 import android.os.CancellationSignal;
 import android.view.View;
+import android.widget.TextView;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 
 import com.android.settings.R;
@@ -57,15 +59,16 @@
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupcompat.PartnerCustomizationLayout;
 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.HeaderMixin;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -120,7 +123,7 @@
         props.add(newFingerprintSensorPropertiesInternal(TYPE_REAR));
         doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
 
-        ActivityControllerWrapper.setup(mActivityController);
+        mActivityController.setup();
     }
 
     private void setupActivity_onUdfpsDevice() {
@@ -128,7 +131,7 @@
         props.add(newFingerprintSensorPropertiesInternal(TYPE_UDFPS_OPTICAL));
         doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
 
-        ActivityControllerWrapper.setup(mActivityController);
+        mActivityController.setup();
     }
 
     private void setupActivity_onSfpsDevice() {
@@ -136,7 +139,7 @@
         props.add(newFingerprintSensorPropertiesInternal(TYPE_POWER_BUTTON));
         doReturn(props).when(mFingerprintManager).getSensorPropertiesInternal();
 
-        ActivityControllerWrapper.setup(mActivityController);
+        mActivityController.setup();
     }
 
     private FingerprintSensorPropertiesInternal newFingerprintSensorPropertiesInternal(
@@ -224,7 +227,8 @@
                 any(CancellationSignal.class),
                 anyInt(),
                 callbackCaptor.capture(),
-                eq(FingerprintManager.ENROLL_FIND_SENSOR));
+                eq(FingerprintManager.ENROLL_FIND_SENSOR),
+                any());
 
         return callbackCaptor.getValue();
     }
@@ -557,6 +561,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void fingerprintEnrollFindSensor_activityApplyDarkLightStyle() {
         setupActivity_onSfpsDevice();
         verifySidecar_onRearOrSfpsDevice();
@@ -567,6 +572,15 @@
         assertThat(appliedThemes.contains("SetupWizardPartnerResource")).isTrue();
     }
 
+    @Test
+    public void fingerprintEnrollFindSensor_setHyphenationFrequencyNormalOnHeader() {
+        setupActivity_onUdfpsDevice();
+        PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
+        final TextView textView = layout.getMixin(HeaderMixin.class).getTextView();
+
+        assertThat(textView.getHyphenationFrequency()).isEqualTo(HYPHENATION_FREQUENCY_NORMAL);
+    }
+
     private void triggerEnrollProgressAndError_onRearDevice() {
         EnrollmentCallback enrollmentCallback = verifyAndCaptureEnrollmentCallback();
         enrollmentCallback.onEnrollmentProgress(123);
@@ -592,7 +606,7 @@
     private void gotEnrollingResult_resumeActivityAndVerifyResultThenForward(
             int testActivityResult) {
         // resume activity
-        mActivityController.start().resume();
+        mActivityController.start().resume().visible();
         verifyNoSidecar();
 
         // onActivityResult from Enrolling activity shall be forward back
@@ -612,8 +626,7 @@
             int testActivityResult, @NonNull Bundle savedInstance) {
         // Rebuild activity and use savedInstance to restore.
         buildActivity();
-        ActivityControllerWrapper.setup(mActivityController, savedInstance);
-        //mActivityController.setup(savedInstance);
+        mActivityController.setup(savedInstance);
         verifyNoSidecar();
 
         // onActivityResult from Enrolling activity shall be forward back
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
index 3eba91c..1aedce5 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintEnrollIntroductionTest.java
@@ -40,6 +40,7 @@
 import android.hardware.biometrics.ComponentInfoInternal;
 import android.hardware.biometrics.SensorProperties;
 import android.hardware.fingerprint.Fingerprint;
+import android.hardware.fingerprint.FingerprintEnrollOptions;
 import android.hardware.fingerprint.FingerprintManager;
 import android.hardware.fingerprint.FingerprintSensorProperties;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
@@ -52,6 +53,7 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.internal.widget.VerifyCredentialResponse;
 import com.android.settings.R;
+import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.biometrics.GatekeeperPasswordProvider;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -289,6 +291,18 @@
         assertThat(mFingerprintEnrollIntroduction.shouldFinishWhenBackgrounded()).isEqualTo(true);
     }
 
+    @Test
+    public void testFingerprintEnrollIntroduction_forwardsEnrollOptions() {
+        final Intent intent = newTokenOnlyIntent();
+        intent.putExtra(BiometricUtils.EXTRA_ENROLL_REASON,
+                FingerprintEnrollOptions.ENROLL_REASON_SETTINGS);
+        setupFingerprintEnrollIntroWith(intent);
+
+        final Intent enrollingIntent = mFingerprintEnrollIntroduction.getEnrollingIntent();
+        assertThat(enrollingIntent.getIntExtra(BiometricUtils.EXTRA_ENROLL_REASON, -1))
+                .isEqualTo(FingerprintEnrollOptions.ENROLL_REASON_SETTINGS);
+    }
+
     private Intent newTokenOnlyIntent() {
         return new Intent()
                 .putExtra(EXTRA_KEY_CHALLENGE_TOKEN, new byte[] { 1 });
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java
index 116591d..c8c867c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintPreferenceTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
+import android.hardware.fingerprint.Fingerprint;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.widget.FrameLayout;
@@ -60,6 +61,21 @@
     }
 
     @Test
+    public void deleteContentDescription() {
+        final FrameLayout layout = new FrameLayout(mContext);
+        LayoutInflater.from(mContext).inflate(mPreference.getSecondTargetResId(), layout, true);
+        final String fingerprintName = "fingerprint test";
+        mPreference.setFingerprint(new Fingerprint(fingerprintName, 0, 0));
+        final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(layout);
+        mPreference.onBindViewHolder(holder);
+
+        final View view = layout.findViewById(R.id.delete_button);
+        String expectedContentDescription =
+                mContext.getString(R.string.delete) + " " + fingerprintName;
+        assertThat(view.getContentDescription().toString()).isEqualTo(expectedContentDescription);
+    }
+
+    @Test
     public void bindAndClickDeleteButton_shouldInvokeOnDeleteListener() {
         final FrameLayout layout = new FrameLayout(mContext);
         LayoutInflater.from(mContext).inflate(mPreference.getSecondTargetResId(), layout, true);
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 8b70550..58e7e2d 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/FingerprintSettingsFragmentTest.java
@@ -20,9 +20,7 @@
 import static android.hardware.fingerprint.FingerprintSensorProperties.TYPE_UDFPS_OPTICAL;
 
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment;
-import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.ADD_FINGERPRINT_REQUEST;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.CHOOSE_LOCK_GENERIC_REQUEST;
-import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.KEY_FINGERPRINT_ADD;
 import static com.android.settings.biometrics.fingerprint.FingerprintSettings.FingerprintSettingsFragment.KEY_REQUIRE_SCREEN_ON_TO_AUTH;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -34,9 +32,7 @@
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
@@ -57,10 +53,8 @@
 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.biometrics.BiometricsSplitScreenDialog;
 import com.android.settings.password.ChooseLockSettingsHelper;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
@@ -72,6 +66,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;
@@ -132,35 +127,6 @@
     }
 
     @Test
-    public void testAddFingerprint_inFullScreen_noDialog() {
-        setUpFragment(false);
-        // Click "Add Fingerprint"
-        final Preference preference = new Preference(mContext);
-        preference.setKey(KEY_FINGERPRINT_ADD);
-        mFragment.onPreferenceTreeClick(preference);
-
-        verify(mFragment).startActivityForResult(any(), eq(ADD_FINGERPRINT_REQUEST));
-        verify(mFragmentTransaction, never()).add(any(),
-                eq(BiometricsSplitScreenDialog.class.getName()));
-
-    }
-
-    @Test
-    public void testAddFingerprint_inMultiWindow_showsDialog() {
-        setUpFragment(false);
-
-        doReturn(true).when(mActivity).isInMultiWindowMode();
-
-        // Click "Add Fingerprint"
-        final Preference preference = new Preference(mContext);
-        preference.setKey(KEY_FINGERPRINT_ADD);
-        mFragment.onPreferenceTreeClick(preference);
-
-        verify(mFragment, times(0)).startActivityForResult(any(), eq(ADD_FINGERPRINT_REQUEST));
-        verify(mFragmentTransaction).add(any(), eq(BiometricsSplitScreenDialog.class.getName()));
-    }
-
-    @Test
     public void testChooseLockKeyForFingerprint() {
         setUpFragment(true);
         ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(
@@ -201,6 +167,7 @@
         assertThat(mFingerprintAuthenticateSidecar.isCancelled()).isTrue();
     }
 
+    @Ignore("b/313342682")
     @Test
     public void testGuestUserRequireScreenOnToAuth() {
         Settings.Secure.putIntForUser(
@@ -260,6 +227,14 @@
         mFragment.onResume();
     }
 
+    @Ignore("b/315519360")
+    @Test
+    public void testFragmentVisibleWhenNoHardwareDetected() {
+        doReturn(false).when(mFingerprintManager).isHardwareDetected();
+        setUpFragment(false);
+        assertThat(mFragment.isVisible()).isTrue();
+    }
+
     private void setSensor(@FingerprintSensorProperties.SensorType int sensorType) {
         final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
         props.add(new FingerprintSensorPropertiesInternal(
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
index f6b6b2b..ae580d5 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFindSensorTest.java
@@ -31,7 +31,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupcompat.PartnerCustomizationLayout;
 import com.google.android.setupcompat.template.FooterBarMixin;
@@ -45,8 +44,10 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class})
 public class SetupFingerprintEnrollFindSensorTest {
 
@@ -65,8 +66,8 @@
         final Intent intent = new Intent()
                 // Set the challenge token so the confirm screen will not be shown
                 .putExtra(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, new byte[0]);
-        mActivity = (SetupFingerprintEnrollFindSensor) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(SetupFingerprintEnrollFindSensor.class, intent)).get();
+        mActivity = Robolectric.buildActivity(SetupFingerprintEnrollFindSensor.class,
+                intent).setup().get();
         mTheme = mActivity.getTheme();
     }
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
index ea9cb84..fa33f9c 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollFinishTest.java
@@ -30,12 +30,12 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowFingerprintManager;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupcompat.PartnerCustomizationLayout;
 import com.google.android.setupcompat.template.FooterBarMixin;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
@@ -55,8 +55,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (FingerprintEnrollFinish) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FingerprintEnrollFinish.class)).get();
+        mActivity = Robolectric.buildActivity(FingerprintEnrollFinish.class).setup().get();
         mLayout = mActivity.findViewById(R.id.setup_wizard_layout);
         Shadows.shadowOf(application.getPackageManager())
                 .setSystemFeature(PackageManager.FEATURE_FINGERPRINT, true);
@@ -117,6 +116,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onActivityResult_fingerprintCountIsOne_fingerprintSuggestionActivityEnabled() {
         Shadows.shadowOf((FingerprintManager) mFingerprintManager).setDefaultFingerprints(1);
 
@@ -137,6 +137,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void clickNext_fingerprintCountIsOne_fngerprintSuggestionActivityEnabled() {
         Shadows.shadowOf((FingerprintManager) mFingerprintManager).setDefaultFingerprints(1);
 
@@ -157,6 +158,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onBackPressed_fingerprintCountIsOne_fngerprintSuggestionActivityEnabled() {
         Shadows.shadowOf((FingerprintManager) mFingerprintManager).setDefaultFingerprints(1);
 
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
index 493436c..6b67734 100644
--- a/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint/SetupFingerprintEnrollIntroductionTest.java
@@ -21,6 +21,7 @@
 
 import static org.robolectric.RuntimeEnvironment.application;
 
+import android.app.Activity;
 import android.app.KeyguardManager;
 import android.content.Intent;
 import android.content.pm.PackageManager;
@@ -28,14 +29,18 @@
 import android.hardware.biometrics.SensorProperties;
 import android.hardware.fingerprint.FingerprintSensorProperties;
 import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
+import android.os.Looper;
 import android.view.View;
 import android.widget.Button;
 
+import androidx.appcompat.app.AlertDialog;
+
 import com.android.settings.R;
 import com.android.settings.biometrics.BiometricEnrollBase;
 import com.android.settings.biometrics.BiometricEnrollIntroduction;
 import com.android.settings.password.SetupSkipDialog;
 import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowFingerprintManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
@@ -66,12 +71,23 @@
     ShadowFingerprintManager.class,
     ShadowLockPatternUtils.class,
     ShadowStorageManager.class,
-    ShadowUserManager.class
+    ShadowUserManager.class,
+    ShadowAlertDialogCompat.class
 })
 public class SetupFingerprintEnrollIntroductionTest {
 
     private ActivityController<SetupFingerprintEnrollIntroduction> mController;
 
+    public static class TestSetupFingerprintEnrollIntroductionInMultiWindowMode
+            extends SetupFingerprintEnrollIntroduction {
+        public boolean mIsMultiWindowMode = true;
+
+        @Override
+        public boolean isInMultiWindowMode() {
+            return mIsMultiWindowMode;
+        }
+    }
+
     @Before
     public void setUp() {
         Shadows.shadowOf(application.getPackageManager())
@@ -105,6 +121,36 @@
     @After
     public void tearDown() {
         ShadowStorageManager.reset();
+        ShadowAlertDialogCompat.reset();
+    }
+
+    @Test
+    public void multiWindow_showsDialog() {
+        Activity activity = Robolectric.buildActivity(
+                TestSetupFingerprintEnrollIntroductionInMultiWindowMode.class).setup().get();
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+
+        final ShadowAlertDialogCompat shadowAlertDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowAlertDialog.getTitle().toString()).isEqualTo(
+                activity.getString(
+                        R.string.biometric_settings_add_fingerprint_in_split_mode_title));
+        assertThat(shadowAlertDialog.getMessage().toString()).isEqualTo(
+                activity.getString(
+                        R.string.biometric_settings_add_fingerprint_in_split_mode_message));
+
+        // TODO(b/299573056): Make WizardManagerHelper.isAnySetupWizard(getIntent()) correct and
+        //  test button click not finishing the activity.
+    }
+
+    @Test
+    public void singleWindow_noDialog() {
+        Robolectric.buildActivity(SetupFingerprintEnrollIntroduction.class).setup().get();
+        Shadows.shadowOf(Looper.getMainLooper()).idle();
+
+        final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/FingerprintEnrollIntroFragmentTest.kt b/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/FingerprintEnrollIntroFragmentTest.kt
new file mode 100644
index 0000000..cea72aa
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/FingerprintEnrollIntroFragmentTest.kt
@@ -0,0 +1,192 @@
+/*
+ * 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.fragment
+
+import android.content.Context
+import android.os.Bundle
+import androidx.fragment.app.testing.FragmentScenario
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.assertion.ViewAssertions.doesNotExist
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.Visibility
+import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
+import androidx.test.espresso.matcher.ViewMatchers.withEffectiveVisibility
+import androidx.test.espresso.matcher.ViewMatchers.withId
+import androidx.test.espresso.matcher.ViewMatchers.withText
+import androidx.test.runner.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.biometrics.fingerprint2.lib.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Introduction
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NavigationState
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollIntroV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollIntroViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintFlowViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import com.google.android.setupdesign.GlifLayout
+import com.google.android.setupdesign.template.RequireScrollMixin
+import kotlinx.coroutines.test.StandardTestDispatcher
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollIntroFragmentTest {
+  private var context: Context = ApplicationProvider.getApplicationContext()
+  private var interactor = FakeFingerprintManagerInteractor()
+
+  private val gatekeeperViewModel =
+    FingerprintGatekeeperViewModel(
+      GatekeeperInfo.GatekeeperPasswordInfo(byteArrayOf(1, 2, 3), 100L),
+      interactor
+    )
+  private val backgroundDispatcher = StandardTestDispatcher()
+  private lateinit var fragmentScenario: FragmentScenario<FingerprintEnrollIntroV2Fragment>
+  private val fingerprintSensor =
+    FingerprintSensor(1, SensorStrength.STRONG, 5, FingerprintSensorType.POWER_BUTTON)
+
+  var enrollFlow = Default
+  val flowViewModel = FingerprintFlowViewModel(enrollFlow)
+
+  private val navigationViewModel =
+    FingerprintNavigationViewModel(
+      Introduction,
+      false,
+      flowViewModel,
+      interactor
+    )
+
+  private var fingerprintViewModel =
+    FingerprintEnrollIntroViewModel(
+      navigationViewModel,
+      flowViewModel,
+      interactor,
+    )
+
+  private var fingerprintScrollViewModel = FingerprintScrollViewModel()
+
+  @Before
+  fun setup() {
+    val factory =
+      object : ViewModelProvider.Factory {
+        @Suppress("UNCHECKED_CAST")
+        override fun <T : ViewModel> create(
+          modelClass: Class<T>,
+        ): T {
+          return when (modelClass) {
+            FingerprintEnrollIntroViewModel::class.java -> fingerprintViewModel
+            FingerprintScrollViewModel::class.java -> fingerprintScrollViewModel
+            FingerprintNavigationViewModel::class.java -> navigationViewModel
+            FingerprintGatekeeperViewModel::class.java -> gatekeeperViewModel
+            else -> null
+          }
+            as T
+        }
+      }
+
+    fragmentScenario =
+      launchFragmentInContainer(Bundle(), R.style.SudThemeGlif) {
+        FingerprintEnrollIntroV2Fragment(factory)
+      }
+  }
+
+  @Test
+  fun testScrollToBottomButtonChangesText() {
+    fragmentScenario.onFragment { fragment ->
+      onView(withText("I agree")).check(doesNotExist())
+      val someView = (fragment.requireView().findViewById<GlifLayout>(R.id.setup_wizard_layout))!!
+      val scrollMixin = someView.getMixin(RequireScrollMixin::class.java)!!
+      val listener = scrollMixin.onRequireScrollStateChangedListener
+      // This actually changes the button text
+      listener.onRequireScrollStateChanged(false)
+
+      onView(withText("I agree")).check(matches(isDisplayed()))
+    }
+  }
+
+  @Test
+  fun testBasicTitle() {
+    onView(withText(R.string.security_settings_fingerprint_enroll_introduction_title))
+      .check(matches(withEffectiveVisibility(Visibility.VISIBLE)))
+  }
+
+  @Test
+  fun testFooterMessageTwo() {
+    onView(withId(R.id.footer_message_2))
+      .check(
+        matches(
+          withText(
+            context.getString(
+              (R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_2)
+            )
+          )
+        )
+      )
+  }
+
+  @Test
+  fun testFooterMessageThree() {
+    onView(withId(R.id.footer_message_3))
+      .check(
+        matches(
+          withText(
+            context.getString(
+              (R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_3)
+            )
+          )
+        )
+      )
+  }
+
+  @Test
+  fun testFooterMessageFour() {
+    onView(withId(R.id.footer_message_4))
+      .check(
+        matches(
+          withText(
+            context.getString(
+              (R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_4)
+            )
+          )
+        )
+      )
+  }
+
+  @Test
+  fun testFooterMessageFive() {
+    onView(withId(R.id.footer_message_5))
+      .check(
+        matches(
+          withText(
+            context.getString(
+              (R.string.security_settings_fingerprint_v2_enroll_introduction_footer_message_5)
+            )
+          )
+        )
+      )
+  }
+}
diff --git a/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/OWNERS b/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/OWNERS
new file mode 100644
index 0000000..9f0a21a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/biometrics/fingerprint2/fragment/OWNERS
@@ -0,0 +1 @@
+include /src/com/android/settings/biometrics/fingerprint2/OWNERS
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
index 2c9fb99..d24a83b 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AdvancedBluetoothDetailsHeaderControllerTest.java
@@ -385,6 +385,9 @@
                 .thenReturn("true".getBytes());
         Set<CachedBluetoothDevice> cacheBluetoothDevices = new HashSet<>();
         when(mCachedDevice.getMemberDevice()).thenReturn(cacheBluetoothDevices);
+        when(mBluetoothAdapter.addOnMetadataChangedListener(
+                mBluetoothDevice, mContext.getMainExecutor(), mController.mMetadataListener))
+                .thenReturn(true);
 
         mController.onStart();
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
index d69b5d4..5a7e247 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/AvailableMediaBluetoothDeviceUpdaterTest.java
@@ -31,11 +31,17 @@
 import android.util.Pair;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
+import com.android.settings.connecteddevice.audiosharing.AudioSharingFeatureProvider;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowAudioManager;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
-import com.android.settings.testutils.shadow.ShadowCachedBluetoothDeviceManager;
+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.google.common.collect.ImmutableSet;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -51,21 +57,22 @@
 import java.util.Collection;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAudioManager.class, ShadowBluetoothAdapter.class,
-        ShadowCachedBluetoothDeviceManager.class})
+@Config(
+        shadows = {
+            ShadowAudioManager.class,
+            ShadowBluetoothAdapter.class,
+            ShadowBluetoothUtils.class
+        })
 public class AvailableMediaBluetoothDeviceUpdaterTest {
     private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
 
-    @Mock
-    private DashboardFragment mDashboardFragment;
-    @Mock
-    private DevicePreferenceCallback mDevicePreferenceCallback;
-    @Mock
-    private CachedBluetoothDevice mCachedBluetoothDevice;
-    @Mock
-    private BluetoothDevice mBluetoothDevice;
-    @Mock
-    private Drawable mDrawable;
+    @Mock private DashboardFragment mDashboardFragment;
+    @Mock private DevicePreferenceCallback mDevicePreferenceCallback;
+    @Mock private CachedBluetoothDevice mCachedBluetoothDevice;
+    @Mock private BluetoothDevice mBluetoothDevice;
+    @Mock private Drawable mDrawable;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private CachedBluetoothDeviceManager mCachedDeviceManager;
 
     private Context mContext;
     private AvailableMediaBluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -73,33 +80,42 @@
     private AudioManager mAudioManager;
     private BluetoothDevicePreference mPreference;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
-    private ShadowCachedBluetoothDeviceManager mShadowCachedBluetoothDeviceManager;
+    private AudioSharingFeatureProvider mFeatureProvider;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
         mContext = RuntimeEnvironment.application;
+        mFeatureProvider = FakeFeatureFactory.setupForTest().getAudioSharingFeatureProvider();
         mAudioManager = mContext.getSystemService(AudioManager.class);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+        mLocalBtManager = Utils.getLocalBtManager(mContext);
+        when(mLocalBtManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
         mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
         mShadowBluetoothAdapter.setEnabled(true);
-        mShadowCachedBluetoothDeviceManager = Shadow.extract(
-                Utils.getLocalBtManager(mContext).getCachedDeviceManager());
         mCachedDevices = new ArrayList<>();
         mCachedDevices.add(mCachedBluetoothDevice);
-        mShadowCachedBluetoothDeviceManager.setCachedDevicesCopy(mCachedDevices);
+        when(mCachedDeviceManager.getCachedDevicesCopy()).thenReturn(mCachedDevices);
         Pair<Drawable, String> pairs = new Pair<>(mDrawable, "fake_device");
 
         doReturn(mContext).when(mDashboardFragment).getContext();
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
         when(mCachedBluetoothDevice.getAddress()).thenReturn(MAC_ADDRESS);
         when(mCachedBluetoothDevice.getDrawableWithDescription()).thenReturn(pairs);
+        when(mCachedBluetoothDevice.getMemberDevice()).thenReturn(ImmutableSet.of());
 
-        mBluetoothDeviceUpdater = spy(new AvailableMediaBluetoothDeviceUpdater(mContext,
-                mDevicePreferenceCallback, /* metricsCategory= */ 0));
+        mBluetoothDeviceUpdater =
+                spy(
+                        new AvailableMediaBluetoothDeviceUpdater(
+                                mContext, mDevicePreferenceCallback, /* metricsCategory= */ 0));
         mBluetoothDeviceUpdater.setPrefContext(mContext);
-        mPreference = new BluetoothDevicePreference(mContext, mCachedBluetoothDevice, false,
-                BluetoothDevicePreference.SortType.TYPE_DEFAULT);
+        mPreference =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedBluetoothDevice,
+                        false,
+                        BluetoothDevicePreference.SortType.TYPE_DEFAULT);
         doNothing().when(mBluetoothDeviceUpdater).addPreference(any());
         doNothing().when(mBluetoothDeviceUpdater).removePreference(any());
     }
@@ -107,8 +123,8 @@
     @Test
     public void onAudioModeChanged_hfpDeviceConnected_inCall_addPreference() {
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
 
         mBluetoothDeviceUpdater.onAudioModeChanged();
@@ -119,8 +135,8 @@
     @Test
     public void onAudioModeChanged_hfpDeviceConnected_notInCall_removePreference() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
 
         mBluetoothDeviceUpdater.onAudioModeChanged();
@@ -131,8 +147,8 @@
     @Test
     public void onAudioModeChanged_a2dpDeviceConnected_inCall_removePreference() {
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedA2dpDevice()).thenReturn(true);
 
         mBluetoothDeviceUpdater.onAudioModeChanged();
@@ -143,8 +159,8 @@
     @Test
     public void onAudioModeChanged_a2dpDeviceConnected_notInCall_addPreference() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedA2dpDevice()).thenReturn(true);
 
         mBluetoothDeviceUpdater.onAudioModeChanged();
@@ -155,12 +171,12 @@
     @Test
     public void onProfileConnectionStateChanged_a2dpDeviceConnected_notInCall_addPreference() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedA2dpDevice()).thenReturn(true);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice, BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
@@ -168,12 +184,12 @@
     @Test
     public void onProfileConnectionStateChanged_a2dpDeviceConnected_inCall_removePreference() {
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedA2dpDevice()).thenReturn(true);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice, BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
 
         verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
     }
@@ -181,12 +197,12 @@
     @Test
     public void onProfileConnectionStateChanged_hfpDeviceConnected_notInCall_removePreference() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice, BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
 
         verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
     }
@@ -194,12 +210,12 @@
     @Test
     public void onProfileConnectionStateChanged_hfpDeviceConnected_inCall_addPreference() {
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice, BluetoothProfile.STATE_CONNECTED, BluetoothProfile.A2DP);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
@@ -207,12 +223,14 @@
     @Test
     public void onProfileConnectionStateChanged_ashaHearingAidConnected_notInCall_addPreference() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.HEARING_AID);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.HEARING_AID);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
@@ -220,53 +238,108 @@
     @Test
     public void onProfileConnectionStateChanged_ashaHearingAidConnected_inCall_addPreference() {
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater.
-                isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.HEARING_AID);
-
-        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
-    }
-
-    @Test
-    public void onProfileConnectionStateChanged_leAudioDeviceConnected_notInCall_addsPreference() {
-        mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater
-                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
-        when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
-
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.LE_AUDIO);
-
-        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
-    }
-
-    @Test
-    public void onProfileConnectionStateChanged_leAudioDeviceConnected_inCall_addsPreference() {
-        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater
-                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
-        when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
-
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.LE_AUDIO);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.HEARING_AID);
 
         verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
     }
 
     @Test
     public void
+            onProfileConnectionStateChanged_leaDeviceConnected_notInCallNoSharing_addsPreference() {
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
+        when(mFeatureProvider.isAudioSharingFilterMatched(
+                        any(CachedBluetoothDevice.class), any(LocalBluetoothManager.class)))
+                .thenReturn(false);
+
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    public void
+            onProfileConnectionStateChanged_leaDeviceConnected_inCallNoSharing_addsPreference() {
+        mAudioManager.setMode(AudioManager.MODE_IN_CALL);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
+        when(mFeatureProvider.isAudioSharingFilterMatched(
+                        any(CachedBluetoothDevice.class), any(LocalBluetoothManager.class)))
+                .thenReturn(false);
+
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    public void
+            onProfileConnectionStateChanged_leaDeviceConnected_notInCallInSharing_removesPref() {
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedA2dpDevice()).thenReturn(true);
+        when(mFeatureProvider.isAudioSharingFilterMatched(
+                        any(CachedBluetoothDevice.class), any(LocalBluetoothManager.class)))
+                .thenReturn(true);
+
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_leaDeviceConnected_inCallInSharing_removesPref() {
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
+        when(mFeatureProvider.isAudioSharingFilterMatched(
+                        any(CachedBluetoothDevice.class), any(LocalBluetoothManager.class)))
+                .thenReturn(true);
+
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    public void
             onProfileConnectionStateChanged_deviceIsNotInList_notInCall_invokesRemovePreference() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
-        when(mBluetoothDeviceUpdater
-                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
         mCachedDevices.clear();
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.LE_AUDIO);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
 
         verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
     }
@@ -274,21 +347,23 @@
     @Test
     public void onProfileConnectionStateChanged_deviceIsNotInList_inCall_invokesRemovePreference() {
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
-        when(mBluetoothDeviceUpdater
-                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mBluetoothDeviceUpdater.isDeviceConnected(any(CachedBluetoothDevice.class)))
+                .thenReturn(true);
         when(mCachedBluetoothDevice.isConnectedLeAudioDevice()).thenReturn(true);
         mCachedDevices.clear();
 
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_CONNECTED, BluetoothProfile.LE_AUDIO);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.LE_AUDIO);
 
         verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
     }
 
     @Test
     public void onProfileConnectionStateChanged_deviceDisconnected_removePreference() {
-        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(mCachedBluetoothDevice,
-                BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);
+        mBluetoothDeviceUpdater.onProfileConnectionStateChanged(
+                mCachedBluetoothDevice, BluetoothProfile.STATE_DISCONNECTED, BluetoothProfile.A2DP);
 
         verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
     }
@@ -300,4 +375,3 @@
         verify(mCachedBluetoothDevice).setActive();
     }
 }
-
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothAutoOnPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothAutoOnPreferenceControllerTest.java
new file mode 100644
index 0000000..d82dcc4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothAutoOnPreferenceControllerTest.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.bluetooth;
+
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.DISABLED;
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.ENABLED;
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.PREF_KEY;
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.SETTING_NAME;
+import static com.android.settings.bluetooth.BluetoothAutoOnPreferenceController.UNSET;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+import static com.android.settingslib.flags.Flags.FLAG_BLUETOOTH_QS_TILE_DIALOG_AUTO_ON_TOGGLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+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.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothAutoOnPreferenceControllerTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private ContentResolver mContentResolver;
+    private BluetoothAutoOnPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mSetFlagsRule.enableFlags(FLAG_BLUETOOTH_QS_TILE_DIALOG_AUTO_ON_TOGGLE);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContentResolver = mContext.getContentResolver();
+        mController = new BluetoothAutoOnPreferenceController(mContext, PREF_KEY);
+    }
+
+    @Test
+    public void getAvailability_valueUnset_returnUnsupported() {
+        Settings.Secure.putInt(mContentResolver, SETTING_NAME, UNSET);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailability_valueSet_returnAvailable() {
+        Settings.Secure.putInt(mContentResolver, SETTING_NAME, DISABLED);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void isChecked_valueEnabled_returnTrue() {
+        Settings.Secure.putInt(mContentResolver, SETTING_NAME, ENABLED);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+        assertThat(mController.isChecked()).isEqualTo(true);
+    }
+
+    @Test
+    public void setChecked_returnTrue() {
+        Settings.Secure.putInt(mContentResolver, SETTING_NAME, DISABLED);
+
+        mController.setChecked(true);
+        assertThat(mController.isChecked()).isEqualTo(true);
+    }
+
+    @Test
+    public void setChecked_returnFalse() {
+        Settings.Secure.putInt(mContentResolver, SETTING_NAME, ENABLED);
+
+        mController.setChecked(false);
+        assertThat(mController.isChecked()).isEqualTo(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeControllerTest.java
index 0fc0647..2010502 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsAudioDeviceTypeControllerTest.java
@@ -18,6 +18,7 @@
 
 import static android.bluetooth.BluetoothDevice.DEVICE_TYPE_LE;
 import static android.media.AudioManager.AUDIO_DEVICE_CATEGORY_SPEAKER;
+import static android.media.audio.Flags.automaticBtDeviceType;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -97,8 +98,12 @@
     @Test
     public void createAudioDeviceTypePreference_btDeviceIsCategorized_checkSelection() {
         int deviceType = AUDIO_DEVICE_CATEGORY_SPEAKER;
-        when(mAudioManager.getBluetoothAudioDeviceCategory(MAC_ADDRESS, /*isBle=*/true)).thenReturn(
-                deviceType);
+        if (automaticBtDeviceType()) {
+            when(mAudioManager.getBluetoothAudioDeviceCategory(MAC_ADDRESS)).thenReturn(deviceType);
+        } else {
+            when(mAudioManager.getBluetoothAudioDeviceCategory_legacy(MAC_ADDRESS, /*isBle=*/
+                    true)).thenReturn(deviceType);
+        }
 
         mController.createAudioDeviceTypePreference(mContext);
         mAudioDeviceTypePref = mController.getAudioDeviceTypePreference();
@@ -113,7 +118,12 @@
 
         mController.onPreferenceChange(mAudioDeviceTypePref, Integer.toString(deviceType));
 
-        verify(mAudioManager).setBluetoothAudioDeviceCategory(eq(MAC_ADDRESS), eq(true),
-                eq(AUDIO_DEVICE_CATEGORY_SPEAKER));
+        if (automaticBtDeviceType()) {
+            verify(mAudioManager).setBluetoothAudioDeviceCategory(eq(MAC_ADDRESS),
+                    eq(AUDIO_DEVICE_CATEGORY_SPEAKER));
+        } else {
+            verify(mAudioManager).setBluetoothAudioDeviceCategory_legacy(eq(MAC_ADDRESS), eq(true),
+                    eq(AUDIO_DEVICE_CATEGORY_SPEAKER));
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
index df74395..74a5bc9 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsButtonsControllerTest.java
@@ -54,10 +54,11 @@
     public void setUp() {
         super.setUp();
         final View buttons = View.inflate(
-                RuntimeEnvironment.application, R.layout.settingslib_action_buttons,
+                RuntimeEnvironment.application,
+                com.android.settingslib.widget.preference.actionbuttons.R.layout.settingslib_action_buttons,
                 null /* parent */);
-        mConnectButton = buttons.findViewById(R.id.button2);
-        mForgetButton = buttons.findViewById(R.id.button1);
+        mConnectButton = buttons.findViewById(com.android.settingslib.widget.preference.actionbuttons.R.id.button2);
+        mForgetButton = buttons.findViewById(com.android.settingslib.widget.preference.actionbuttons.R.id.button1);
         mController =
                 new BluetoothDetailsButtonsController(mContext, mFragment, mCachedDevice,
                         mLifecycle);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
index e27f43c..faea3d8 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsCompanionAppsControllerTest.java
@@ -104,6 +104,7 @@
                 associationId,
                 /* userId */ 0,
                 packageName,
+                /* tag */ null,
                 MacAddress.fromString(mCachedDevice.getAddress()),
                 /* displayName */ null,
                 /* deviceProfile */ "",
@@ -111,6 +112,7 @@
                 /* selfManaged */ false,
                 /* notifyOnDeviceNearby */ true,
                 /* revoked */ false,
+                /* pending */ false,
                 /* timeApprovedMs */ System.currentTimeMillis(),
                 /* lastTimeConnected */ Long.MAX_VALUE,
                 /* systemDataSyncFlags */ -1);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
index 08f7084..8ba0b44 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsControllerTestBase.java
@@ -29,7 +29,6 @@
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -39,8 +38,12 @@
 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 abstract class BluetoothDetailsControllerTestBase {
 
     protected Context mContext;
@@ -140,7 +143,8 @@
                 .setAddress("B4:B0:34:B5:3B:1B")
                 .setMajorDeviceClass(BluetoothClass.Device.Major.AUDIO_VIDEO)
                 .setConnected(true)
-                .setConnectionSummary(mContext.getString(R.string.bluetooth_connected));
+                .setConnectionSummary(
+                        mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java
index dbede8e..8fa3e8a 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsDataSyncControllerTest.java
@@ -25,7 +25,7 @@
 import android.companion.datatransfer.PermissionSyncRequest;
 
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -56,7 +56,7 @@
     private CompanionDeviceManager mCompanionDeviceManager;
 
     private PermissionSyncRequest mPermissionSyncRequest;
-    private SwitchPreference mPermSyncPreference;
+    private TwoStatePreference mPermSyncPreference;
 
     @Before
     public void setUp() {
@@ -87,12 +87,20 @@
     }
 
     @Test
-    public void isAvailable_hasAssociations_returnsTrue() {
+    public void isAvailable_hasAssociations_returnTrue() {
         assertThat(mController.isAvailable()).isTrue();
     }
 
     @Test
-    public void refresh_permSyncNull_preferenceVisibleFalse() {
+    public void refresh_noAssociations_checkPreferenceInvisible() {
+        mController.mAssociationId = DUMMY_ASSOCIATION_ID;
+        mController.refresh();
+
+        assertThat(mPermSyncPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void refresh_permSyncNull_checkPreferenceInvisible() {
         mPermissionSyncRequest = null;
         when(mCompanionDeviceManager.getPermissionSyncRequest(ASSOCIATION_ID)).thenReturn(
                 mPermissionSyncRequest);
@@ -102,7 +110,7 @@
     }
 
     @Test
-    public void refresh_permSyncEnabled_preferenceCheckedTrue() {
+    public void refresh_permSyncEnabled_checkPreferenceOn() {
         mPermissionSyncRequest.setUserConsented(true);
         mController.refresh();
 
@@ -111,7 +119,7 @@
     }
 
     @Test
-    public void refresh_permSyncDisabled_preferenceCheckedFalse() {
+    public void refresh_permSyncDisabled_checkPreferenceOff() {
         mPermissionSyncRequest.setUserConsented(false);
         mController.refresh();
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsExtraOptionsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsExtraOptionsControllerTest.java
new file mode 100644
index 0000000..f063020
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsExtraOptionsControllerTest.java
@@ -0,0 +1,89 @@
+/*
+ * 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 org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothDevice;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreferenceCompat;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import com.google.common.collect.ImmutableList;
+
+import org.junit.Before;
+import org.junit.Test;
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothDetailsExtraOptionsControllerTest extends BluetoothDetailsControllerTestBase {
+
+    private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
+    @Mock private BluetoothDevice mBluetoothDevice;
+    @Mock private Lifecycle mExtraOptionsLifecycle;
+    @Mock private PreferenceCategory mOptionsContainer;
+    @Mock private PreferenceScreen mPreferenceScreen;
+
+    private BluetoothDetailsExtraOptionsController mController;
+    private BluetoothFeatureProvider mFeatureProvider;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        when(mCachedDevice.getAddress()).thenReturn(MAC_ADDRESS);
+        when(mCachedDevice.getDevice()).thenReturn(mBluetoothDevice);
+        when(mBluetoothDevice.getAnonymizedAddress()).thenReturn(MAC_ADDRESS);
+
+        final FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
+        mFeatureProvider = fakeFeatureFactory.getBluetoothFeatureProvider();
+
+        mController =
+                new BluetoothDetailsExtraOptionsController(
+                        mContext, mFragment, mCachedDevice, mExtraOptionsLifecycle);
+    }
+
+    @Test
+    public void displayPreference_removeAndAddPreferences() {
+        Preference preference1 = new SwitchPreferenceCompat(mContext);
+        Preference preference2 = new SwitchPreferenceCompat(mContext);
+        when(mFeatureProvider.getBluetoothExtraOptions(mContext, mCachedDevice))
+                .thenReturn(ImmutableList.of(preference1, preference2));
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mOptionsContainer);
+
+        mController.displayPreference(mPreferenceScreen);
+        ShadowLooper.idleMainLooper();
+
+        verify(mOptionsContainer).removeAll();
+        verify(mOptionsContainer).addPreference(preference1);
+        verify(mOptionsContainer).addPreference(preference2);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHeaderControllerTest.java
index a28c4f5..cf9bf09 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.R;
 import com.android.settings.core.SettingsUIDeviceConfig;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
@@ -71,9 +70,9 @@
         when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
         when(mCachedDeviceManager.getSubDeviceSummary(mCachedDevice)).thenReturn("abc");
         mController =
-            new BluetoothDetailsHeaderController(mContext, mFragment, mCachedDevice, mLifecycle,
-                mBluetoothManager);
-        mPreference = new LayoutPreference(mContext, R.layout.settings_entity_header);
+            new BluetoothDetailsHeaderController(mContext, mFragment, mCachedDevice, mLifecycle);
+        mPreference = new LayoutPreference(
+                mContext, com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header);
         mPreference.setKey(mController.getPreferenceKey());
         mScreen.addPreference(mPreference);
         setupDevice(mDeviceConfig);
@@ -91,7 +90,8 @@
      */
     @Test
     public void testContextMock() {
-        assertThat(mContext.getString(R.string.bluetooth_connected)).isNotNull();
+        assertThat(mContext.getString(com.android.settingslib.R.string.bluetooth_connected))
+                .isNotNull();
     }
 
     @Test
@@ -103,27 +103,27 @@
         verify(mHeaderController).setIconContentDescription(any(String.class));
         verify(mHeaderController).setSummary(any(String.class));
         verify(mHeaderController).setSecondSummary(any(String.class));
-        verify(mHeaderController).done(mActivity, true);
+        verify(mHeaderController).done(true);
     }
 
     @Test
     public void connectionStatusChangesWhileScreenOpen() {
         InOrder inOrder = inOrder(mHeaderController);
         when(mCachedDevice.getConnectionSummary())
-            .thenReturn(mContext.getString(R.string.bluetooth_connected));
+            .thenReturn(mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
         showScreen(mController);
         inOrder.verify(mHeaderController)
-            .setSummary(mContext.getString(R.string.bluetooth_connected));
+            .setSummary(mContext.getString(com.android.settingslib.R.string.bluetooth_connected));
 
         when(mCachedDevice.getConnectionSummary()).thenReturn(null);
         mController.onDeviceAttributesChanged();
         inOrder.verify(mHeaderController).setSummary((CharSequence) null);
 
         when(mCachedDevice.getConnectionSummary())
-            .thenReturn(mContext.getString(R.string.bluetooth_connecting));
+            .thenReturn(mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
         mController.onDeviceAttributesChanged();
         inOrder.verify(mHeaderController)
-            .setSummary(mContext.getString(R.string.bluetooth_connecting));
+            .setSummary(mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java
index bf4e055..364d299 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsHearingDeviceControlsControllerTest.java
@@ -23,7 +23,6 @@
 
 import android.content.Context;
 import android.content.Intent;
-import android.util.FeatureFlagUtils;
 
 import androidx.preference.Preference;
 
@@ -63,8 +62,6 @@
 
     @Test
     public void isAvailable_isHearingAidDevice_available() {
-        FeatureFlagUtils.setEnabled(mContext,
-                FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
         when(mCachedDevice.isHearingAidDevice()).thenReturn(true);
 
         assertThat(mController.isAvailable()).isTrue();
@@ -72,8 +69,6 @@
 
     @Test
     public void isAvailable_isNotHearingAidDevice_notAvailable() {
-        FeatureFlagUtils.setEnabled(mContext,
-                FeatureFlagUtils.SETTINGS_ACCESSIBILITY_HEARING_AID_PAGE, true);
         when(mCachedDevice.isHearingAidDevice()).thenReturn(false);
 
         assertThat(mController.isAvailable()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
index 090fb0c..c02ec32 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsPairOtherControllerTest.java
@@ -20,6 +20,8 @@
 
 import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothDevice;
+
 import com.android.settings.R;
 import com.android.settings.applications.SpacePreference;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
@@ -34,6 +36,9 @@
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.HashSet;
+import java.util.Set;
+
 /** Tests for {@link BluetoothDetailsPairOtherController}. */
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothDetailsPairOtherControllerTest extends BluetoothDetailsControllerTestBase  {
@@ -60,8 +65,9 @@
         mScreen.addPreference(mSpacePreference);
     }
 
+    /** Test the pair other side button title during initialization. */
     @Test
-    public void init_leftSideDevice_rightSideButtonTitle() {
+    public void init_deviceIsLeftSide_showPairRightSideTitle() {
         when(mCachedDevice.getDeviceSide()).thenReturn(HearingAidInfo.DeviceSide.SIDE_LEFT);
 
         mController.init(mScreen);
@@ -70,8 +76,9 @@
                 mContext.getString(R.string.bluetooth_pair_right_ear_button));
     }
 
+    /** Test the pair other side button title during initialization. */
     @Test
-    public void init_rightSideDevice_leftSideButtonTitle() {
+    public void init_deviceIsRightSide_showPairLeftSideTitle() {
         when(mCachedDevice.getDeviceSide()).thenReturn(HearingAidInfo.DeviceSide.SIDE_RIGHT);
 
         mController.init(mScreen);
@@ -80,9 +87,10 @@
                 mContext.getString(R.string.bluetooth_pair_left_ear_button));
     }
 
+    /** Test the pair other side button visibility during initialization. */
     @Test
-    public void init_isNotConnectedAshaHearingAidDevice_notVisiblePreference() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(false);
+    public void init_deviceIsNotConnectedHearingAid_preferenceIsNotVisible() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
 
         mController.init(mScreen);
 
@@ -90,52 +98,135 @@
         assertThat(mSpacePreference.isVisible()).isFalse();
     }
 
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. The device is not a connected hearing aid
+     * Expected result:
+     *      The controller is not available. No need to show pair other side hint for
+     *      non-hearing aid device or not connected device.
+     */
     @Test
-    public void isAvailable_isNotConnectedAshaHearingAidDevice_notAvailable() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(false);
+    public void isAvailable_deviceIsNotConnectedHearingAid_notAvailable() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
 
         assertThat(mController.isAvailable()).isFalse();
     }
 
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. Monaural hearing aid
+     * Expected result:
+     *      The controller is not available. No need to show pair other side hint for
+     *      monaural device.
+     */
     @Test
-    public void isAvailable_isConnectedAshaHearingAidDevice_isMonaural_notAvailable() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+    public void isAvailable_deviceIsConnectedHearingAid_isMonaural_notAvailable() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
         when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidInfo.DeviceMode.MODE_MONAURAL);
 
         assertThat(mController.isAvailable()).isFalse();
     }
 
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. Binaural hearing aids
+     *      2. Sub device is added
+     *      3. Sub device is bonded
+     * Expected result:
+     *      The controller is not available. Both sides are already paired.
+     */
     @Test
-    public void isAvailable_subDeviceIsConnectedAshaHearingAidDevice_notAvailable() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+    public void isAvailable_deviceIsConnectedHearingAid_subDeviceIsBonded_notAvailable() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
         when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidInfo.DeviceMode.MODE_BINAURAL);
-        when(mSubCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+        when(mSubCachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
         when(mCachedDevice.getSubDevice()).thenReturn(mSubCachedDevice);
 
         assertThat(mController.isAvailable()).isFalse();
     }
 
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. Binaural hearing aids
+     *      2. Sub device is added
+     *      3. Sub device is not bonded
+     * Expected result:
+     *      The controller is available. Need to show the hint to pair the other side.
+     */
     @Test
-    public void isAvailable_subDeviceIsNotConnectedAshaHearingAidDevice_available() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+    public void isAvailable_deviceIsConnectedHearingAid_subDeviceIsNotBonded_available() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
         when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidInfo.DeviceMode.MODE_BINAURAL);
-        when(mSubCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(false);
+        when(mSubCachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
         when(mCachedDevice.getSubDevice()).thenReturn(mSubCachedDevice);
 
         assertThat(mController.isAvailable()).isTrue();
     }
 
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. Binaural hearing aids
+     *      2. Member device is added
+     *      3. Member device is bonded
+     * Expected result:
+     *      The controller is not available. Both sides are already paired.
+     */
     @Test
-    public void isAvailable_subDeviceNotExist_available() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
+    public void isAvailable_deviceIsConnectedHearingAid_memberDeviceIsBonded_notAvailable() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
         when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidInfo.DeviceMode.MODE_BINAURAL);
-        when(mCachedDevice.getSubDevice()).thenReturn(null);
+        when(mSubCachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mCachedDevice.getMemberDevice()).thenReturn(Set.of(mSubCachedDevice));
+
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. Binaural hearing aids
+     *      2. Member device is added
+     *      3. Member device is not bonded
+     * Expected result:
+     *      The controller is available. Need to show the hint to pair the other side.
+     */
+    @Test
+    public void isAvailable_deviceIsConnectedHearingAid_memberDeviceIsNotBonded_available() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+        when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidInfo.DeviceMode.MODE_BINAURAL);
+        when(mSubCachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
+        when(mCachedDevice.getMemberDevice()).thenReturn(Set.of(mSubCachedDevice));
 
         assertThat(mController.isAvailable()).isTrue();
     }
 
+    /**
+     * Test if the controller is available.
+     * Conditions:
+     *      1. Binaural hearing aids
+     *      2. No sub device is added
+     *      2. No member device is added
+     * Expected result:
+     *      The controller is available. Need to show the hint to pair the other side.
+     */
     @Test
-    public void refresh_leftSideDevice_leftSideButtonTitle() {
+    public void isAvailable_deviceIsConnectedHearingAid_otherDeviceIsNotExist_available() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(true);
+        when(mCachedDevice.getDeviceMode()).thenReturn(HearingAidInfo.DeviceMode.MODE_BINAURAL);
+        when(mCachedDevice.getSubDevice()).thenReturn(null);
+        when(mCachedDevice.getMemberDevice()).thenReturn(new HashSet<>());
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    /** Test the pair other side button title after refreshing. */
+    @Test
+    public void refresh_deviceIsRightSide_showPairLeftSideTitle() {
         when(mCachedDevice.getDeviceSide()).thenReturn(HearingAidInfo.DeviceSide.SIDE_RIGHT);
         mController.init(mScreen);
 
@@ -145,9 +236,10 @@
                 mContext.getString(R.string.bluetooth_pair_left_ear_button));
     }
 
+    /** Test the pair other side button visibility after refreshing. */
     @Test
-    public void refresh_isNotConnectedAshaHearingAidDevice_notVisiblePreference() {
-        when(mCachedDevice.isConnectedAshaHearingAidDevice()).thenReturn(false);
+    public void refresh_deviceIsNotConnectedHearingAid_preferenceIsNotVisible() {
+        when(mCachedDevice.isConnectedHearingAidDevice()).thenReturn(false);
         mController.init(mScreen);
 
         mController.refresh();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
index 3bc9a05..9b1466b 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsProfilesControllerTest.java
@@ -18,6 +18,7 @@
 
 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.spy;
@@ -28,21 +29,33 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.sysprop.BluetoothProperties;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 
-import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowBluetoothDevice;
+import com.android.settingslib.R;
 import com.android.settingslib.bluetooth.A2dpProfile;
+import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.LeAudioProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 import com.android.settingslib.bluetooth.MapProfile;
 import com.android.settingslib.bluetooth.PbapServerProfile;
 
-import org.junit.Ignore;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.collect.Lists;
+
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -57,28 +70,41 @@
 import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
-@Ignore
 @Config(shadows = ShadowBluetoothDevice.class)
 public class BluetoothDetailsProfilesControllerTest extends BluetoothDetailsControllerTestBase {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
+    private static final String LE_DEVICE_MODEL = "le_audio_headset";
+    private static final String NON_LE_DEVICE_MODEL = "non_le_audio_headset";
     private BluetoothDetailsProfilesController mController;
     private List<LocalBluetoothProfile> mConnectableProfiles;
     private PreferenceCategory mProfiles;
+    private BluetoothFeatureProvider mFeatureProvider;
 
     @Mock
     private LocalBluetoothManager mLocalManager;
     @Mock
     private LocalBluetoothProfileManager mProfileManager;
+    @Mock
+    private CachedBluetoothDeviceManager mCachedBluetoothDeviceManager;
 
     @Override
     public void setUp() {
         super.setUp();
 
+        FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
+        mFeatureProvider = fakeFeatureFactory.getBluetoothFeatureProvider();
+
         mProfiles = spy(new PreferenceCategory(mContext));
         when(mProfiles.getPreferenceManager()).thenReturn(mPreferenceManager);
 
         mConnectableProfiles = new ArrayList<>();
         when(mLocalManager.getProfileManager()).thenReturn(mProfileManager);
+        when(mLocalManager.getCachedDeviceManager()).thenReturn(mCachedBluetoothDeviceManager);
+        when(mCachedBluetoothDeviceManager.getCachedDevicesCopy())
+                .thenReturn(ImmutableList.of(mCachedDevice));
         when(mCachedDevice.getConnectableProfiles()).thenAnswer(invocation ->
             new ArrayList<>(mConnectableProfiles)
         );
@@ -89,6 +115,7 @@
         mProfiles.setKey(mController.getPreferenceKey());
         mController.mProfilesContainer = mProfiles;
         mScreen.addPreference(mProfiles);
+        BluetoothProperties.le_audio_allow_list(Lists.newArrayList(LE_DEVICE_MODEL));
     }
 
     static class FakeBluetoothProfile implements LocalBluetoothProfile {
@@ -191,25 +218,26 @@
         return profile;
     }
 
-    /** Returns the list of SwitchPreference objects added to the screen - there should be one per
-     *  Bluetooth profile.
+    /**
+     * Returns the list of SwitchPreferenceCompat objects added to the screen - there should be one
+     * per Bluetooth profile.
      */
-    private List<SwitchPreference> getProfileSwitches(boolean expectOnlyMConnectable) {
+    private List<SwitchPreferenceCompat> getProfileSwitches(boolean expectOnlyMConnectable) {
         if (expectOnlyMConnectable) {
             assertThat(mConnectableProfiles).isNotEmpty();
             assertThat(mProfiles.getPreferenceCount() - 1).isEqualTo(mConnectableProfiles.size());
         }
-        List<SwitchPreference> result = new ArrayList<>();
+        List<SwitchPreferenceCompat> result = new ArrayList<>();
         for (int i = 0; i < mProfiles.getPreferenceCount(); i++) {
             final Preference preference = mProfiles.getPreference(i);
-            if (preference instanceof SwitchPreference) {
-                result.add((SwitchPreference) preference);
+            if (preference instanceof SwitchPreferenceCompat) {
+                result.add((SwitchPreferenceCompat) preference);
             }
         }
         return result;
     }
 
-     private void verifyProfileSwitchTitles(List<SwitchPreference> switches) {
+    private void verifyProfileSwitchTitles(List<SwitchPreferenceCompat> switches) {
         for (int i = 0; i < switches.size(); i++) {
             String expectedTitle =
                 mContext.getString(mConnectableProfiles.get(i).getNameResource(mDevice));
@@ -219,17 +247,17 @@
 
     @Test
     public void oneProfile() {
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
         showScreen(mController);
         verifyProfileSwitchTitles(getProfileSwitches(true));
     }
 
     @Test
     public void multipleProfiles() {
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
-        addFakeProfile(R.string.bluetooth_profile_headset, false);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_headset, false);
         showScreen(mController);
-        List<SwitchPreference> switches = getProfileSwitches(true);
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(true);
         verifyProfileSwitchTitles(switches);
         assertThat(switches.get(0).isChecked()).isTrue();
         assertThat(switches.get(1).isChecked()).isFalse();
@@ -252,11 +280,11 @@
 
     @Test
     public void disableThenReenableOneProfile() {
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
-        addFakeProfile(R.string.bluetooth_profile_headset, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_headset, true);
         showScreen(mController);
-        List<SwitchPreference> switches = getProfileSwitches(true);
-        SwitchPreference pref = switches.get(0);
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(true);
+        SwitchPreferenceCompat pref = switches.get(0);
 
         // Clicking the pref should cause the profile to become not-preferred.
         assertThat(pref.isChecked()).isTrue();
@@ -279,7 +307,7 @@
     @Test
     public void disconnectedDeviceOneProfile() {
         setupDevice(makeDefaultDeviceConfig().setConnected(false).setConnectionSummary(null));
-        addFakeProfile(R.string.bluetooth_profile_a2dp, true);
+        addFakeProfile(com.android.settingslib.R.string.bluetooth_profile_a2dp, true);
         showScreen(mController);
         verifyProfileSwitchTitles(getProfileSwitches(true));
     }
@@ -289,16 +317,20 @@
         setupDevice(makeDefaultDeviceConfig());
         mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_ALLOWED);
         PbapServerProfile psp = mock(PbapServerProfile.class);
-        when(psp.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_pbap);
+        when(psp.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_pbap);
+        when(psp.getSummaryResourceForDevice(mDevice))
+                .thenReturn(R.string.bluetooth_profile_pbap_summary);
         when(psp.toString()).thenReturn(PbapServerProfile.NAME);
         when(psp.isProfileReady()).thenReturn(true);
         when(mProfileManager.getPbapProfile()).thenReturn(psp);
 
         showScreen(mController);
-        List<SwitchPreference> switches = getProfileSwitches(false);
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
         assertThat(switches.size()).isEqualTo(1);
-        SwitchPreference pref = switches.get(0);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_pbap));
+        SwitchPreferenceCompat pref = switches.get(0);
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_pbap));
         assertThat(pref.isChecked()).isTrue();
 
         pref.performClick();
@@ -312,16 +344,20 @@
         setupDevice(makeDefaultDeviceConfig());
         mDevice.setPhonebookAccessPermission(BluetoothDevice.ACCESS_REJECTED);
         PbapServerProfile psp = mock(PbapServerProfile.class);
-        when(psp.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_pbap);
+        when(psp.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_pbap);
+        when(psp.getSummaryResourceForDevice(mDevice))
+                .thenReturn(R.string.bluetooth_profile_pbap_summary);
         when(psp.toString()).thenReturn(PbapServerProfile.NAME);
         when(psp.isProfileReady()).thenReturn(true);
         when(mProfileManager.getPbapProfile()).thenReturn(psp);
 
         showScreen(mController);
-        List<SwitchPreference> switches = getProfileSwitches(false);
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
         assertThat(switches.size()).isEqualTo(1);
-        SwitchPreference pref = switches.get(0);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_pbap));
+        SwitchPreferenceCompat pref = switches.get(0);
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_pbap));
         assertThat(pref.isChecked()).isFalse();
 
         pref.performClick();
@@ -334,16 +370,18 @@
     public void mapProfile() {
         setupDevice(makeDefaultDeviceConfig());
         MapProfile mapProfile = mock(MapProfile.class);
-        when(mapProfile.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_map);
+        when(mapProfile.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_map);
         when(mapProfile.isProfileReady()).thenReturn(true);
         when(mProfileManager.getMapProfile()).thenReturn(mapProfile);
         when(mProfileManager.getProfileByName(eq(mapProfile.toString()))).thenReturn(mapProfile);
         mDevice.setMessageAccessPermission(BluetoothDevice.ACCESS_REJECTED);
         showScreen(mController);
-        List<SwitchPreference> switches = getProfileSwitches(false);
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
         assertThat(switches.size()).isEqualTo(1);
-        SwitchPreference pref = switches.get(0);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_map));
+        SwitchPreferenceCompat pref = switches.get(0);
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_map));
         assertThat(pref.isChecked()).isFalse();
 
         pref.performClick();
@@ -355,9 +393,11 @@
             boolean highQualityAudioEnabled) {
         A2dpProfile profile = mock(A2dpProfile.class);
         when(mProfileManager.getProfileByName(eq(profile.toString()))).thenReturn(profile);
-        when(profile.getNameResource(mDevice)).thenReturn(R.string.bluetooth_profile_a2dp);
+        when(profile.getNameResource(mDevice))
+                .thenReturn(com.android.settingslib.R.string.bluetooth_profile_a2dp);
         when(profile.getHighQualityAudioOptionLabel(mDevice)).thenReturn(
-            mContext.getString(R.string.bluetooth_profile_a2dp_high_quality_unknown_codec));
+                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);
@@ -366,8 +406,8 @@
         return profile;
     }
 
-    private SwitchPreference getHighQualityAudioPref() {
-        return (SwitchPreference) mScreen.findPreference(
+    private SwitchPreferenceCompat getHighQualityAudioPref() {
+        return (SwitchPreferenceCompat) mScreen.findPreference(
                 BluetoothDetailsProfilesController.HIGH_QUALITY_AUDIO_PREF_TAG);
     }
 
@@ -376,7 +416,7 @@
         setupDevice(makeDefaultDeviceConfig());
         addMockA2dpProfile(true, true, true);
         showScreen(mController);
-        SwitchPreference pref = getHighQualityAudioPref();
+        SwitchPreferenceCompat pref = getHighQualityAudioPref();
         assertThat(pref.getKey()).isEqualTo(
                 BluetoothDetailsProfilesController.HIGH_QUALITY_AUDIO_PREF_TAG);
 
@@ -394,10 +434,11 @@
         addMockA2dpProfile(true, false, false);
         showScreen(mController);
         assertThat(mProfiles.getPreferenceCount()).isEqualTo(2);
-        SwitchPreference pref = (SwitchPreference) mProfiles.getPreference(0);
+        SwitchPreferenceCompat pref = (SwitchPreferenceCompat) mProfiles.getPreference(0);
         assertThat(pref.getKey())
             .isNotEqualTo(BluetoothDetailsProfilesController.HIGH_QUALITY_AUDIO_PREF_TAG);
-        assertThat(pref.getTitle()).isEqualTo(mContext.getString(R.string.bluetooth_profile_a2dp));
+        assertThat(pref.getTitle()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_profile_a2dp));
     }
 
     @Test
@@ -406,7 +447,7 @@
         addMockA2dpProfile(true, true, true);
         when(mCachedDevice.isBusy()).thenReturn(true);
         showScreen(mController);
-        SwitchPreference pref = getHighQualityAudioPref();
+        SwitchPreferenceCompat pref = getHighQualityAudioPref();
         assertThat(pref.isEnabled()).isFalse();
     }
 
@@ -419,14 +460,14 @@
 
         // Disabling media audio should cause the high quality audio switch to disappear, but not
         // the regular audio one.
-        SwitchPreference audioPref =
-            (SwitchPreference) mScreen.findPreference(audioProfile.toString());
+        SwitchPreferenceCompat audioPref =
+                (SwitchPreferenceCompat) mScreen.findPreference(audioProfile.toString());
         audioPref.performClick();
         verify(audioProfile).setEnabled(mDevice, false);
         when(audioProfile.isEnabled(mDevice)).thenReturn(false);
         mController.onDeviceAttributesChanged();
         assertThat(audioPref.isVisible()).isTrue();
-        SwitchPreference highQualityAudioPref = getHighQualityAudioPref();
+        SwitchPreferenceCompat highQualityAudioPref = getHighQualityAudioPref();
         assertThat(highQualityAudioPref.isVisible()).isFalse();
 
         // And re-enabling media audio should make high quality switch to reappear.
@@ -443,8 +484,8 @@
         setupDevice(makeDefaultDeviceConfig());
         A2dpProfile audioProfile = addMockA2dpProfile(false, true, true);
         showScreen(mController);
-        SwitchPreference audioPref = mScreen.findPreference(audioProfile.toString());
-        SwitchPreference highQualityAudioPref = getHighQualityAudioPref();
+        SwitchPreferenceCompat audioPref = mScreen.findPreference(audioProfile.toString());
+        SwitchPreferenceCompat highQualityAudioPref = getHighQualityAudioPref();
         assertThat(audioPref).isNotNull();
         assertThat(audioPref.isChecked()).isFalse();
         assertThat(highQualityAudioPref).isNotNull();
@@ -464,4 +505,57 @@
 
         verify(mProfileManager).removeServiceListener(mController);
     }
+
+    @Test
+    public void isDeviceInAllowList_returnTrue() {
+        assertThat(mController.isModelNameInAllowList(LE_DEVICE_MODEL)).isTrue();
+    }
+
+    @Test
+    public void isDeviceInAllowList_returnFalse() {
+        assertThat(mController.isModelNameInAllowList(null)).isFalse();
+        assertThat(mController.isModelNameInAllowList(NON_LE_DEVICE_MODEL)).isFalse();
+    }
+
+    @Test
+    public void prefKeyInBlockingList_hideToggle() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_BLUETOOTH_PROFILE_TOGGLE_VISIBILITY_CHECKER);
+        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);
+        when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any()))
+                .thenReturn(ImmutableSet.of("LE_AUDIO"));
+        mConnectableProfiles.add(leAudioProfile);
+
+        showScreen(mController);
+
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
+        assertThat(switches.get(0).isVisible()).isFalse();
+    }
+
+    @Test
+    public void prefKeyNotInBlockingList_showToggle() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ENABLE_BLUETOOTH_PROFILE_TOGGLE_VISIBILITY_CHECKER);
+        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);
+        when(mFeatureProvider.getInvisibleProfilePreferenceKeys(any(), any()))
+                .thenReturn(ImmutableSet.of("A2DP"));
+        mConnectableProfiles.add(leAudioProfile);
+
+        showScreen(mController);
+
+        List<SwitchPreferenceCompat> switches = getProfileSwitches(false);
+        assertThat(switches.get(0).isVisible()).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
index ce5631f..2cc55a7 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDetailsSpatialAudioControllerTest.java
@@ -32,7 +32,7 @@
 import android.media.Spatializer;
 
 import androidx.preference.PreferenceCategory;
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
@@ -43,6 +43,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadows.ShadowLooper;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -68,8 +69,8 @@
     private AudioDeviceAttributes mAvailableDevice;
 
     private BluetoothDetailsSpatialAudioController mController;
-    private SwitchPreference mSpatialAudioPref;
-    private SwitchPreference mHeadTrackingPref;
+    private TwoStatePreference mSpatialAudioPref;
+    private TwoStatePreference mHeadTrackingPref;
 
     @Before
     public void setUp() {
@@ -120,6 +121,7 @@
         when(mSpatializer.getCompatibleAudioDevices()).thenReturn(compatibleAudioDevices);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         assertThat(mSpatialAudioPref.isChecked()).isTrue();
     }
@@ -130,6 +132,7 @@
         when(mSpatializer.getCompatibleAudioDevices()).thenReturn(compatibleAudioDevices);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         assertThat(mSpatialAudioPref.isChecked()).isFalse();
     }
@@ -142,6 +145,7 @@
         when(mSpatializer.hasHeadTracker(mController.mAudioDevice)).thenReturn(true);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         assertThat(mHeadTrackingPref.isVisible()).isTrue();
     }
@@ -156,6 +160,7 @@
         when(mSpatializer.hasHeadTracker(mController.mAudioDevice)).thenReturn(false);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         verify(mProfilesContainer).removePreference(mHeadTrackingPref);
     }
@@ -166,6 +171,7 @@
         when(mSpatializer.getCompatibleAudioDevices()).thenReturn(compatibleAudioDevices);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         verify(mProfilesContainer).removePreference(mHeadTrackingPref);
     }
@@ -181,6 +187,7 @@
         when(mSpatializer.isHeadTrackerEnabled(mController.mAudioDevice)).thenReturn(true);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         assertThat(mHeadTrackingPref.isChecked()).isTrue();
     }
@@ -196,6 +203,7 @@
         when(mSpatializer.isHeadTrackerEnabled(mController.mAudioDevice)).thenReturn(false);
 
         mController.refresh();
+        ShadowLooper.idleMainLooper();
 
         assertThat(mHeadTrackingPref.isChecked()).isFalse();
     }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
index 939bd10..fc72c41 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceDetailsFragmentTest.java
@@ -18,6 +18,8 @@
 
 import static android.bluetooth.BluetoothDevice.BOND_NONE;
 
+import static com.android.settings.bluetooth.BluetoothDetailsHearingDeviceControlsController.KEY_DEVICE_CONTROLS_GENERAL_GROUP;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -29,7 +31,10 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.settings.SettingsEnums;
+import android.companion.CompanionDeviceManager;
 import android.content.Context;
+import android.content.Intent;
 import android.hardware.input.InputManager;
 import android.os.Bundle;
 import android.os.UserManager;
@@ -46,9 +51,12 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.core.AbstractPreferenceController;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import com.google.common.collect.ImmutableList;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -62,10 +70,14 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.fakes.RoboMenu;
-import org.robolectric.shadows.ShadowUserManager;
+
+import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUserManager.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class BluetoothDeviceDetailsFragmentTest {
 
     private static final String TEST_ADDRESS = "55:66:77:88:99:AA";
@@ -87,12 +99,17 @@
     private UserManager mUserManager;
     @Mock
     private InputManager mInputManager;
+    @Mock
+    private CompanionDeviceManager mCompanionDeviceManager;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mInputManager).when(mContext).getSystemService(InputManager.class);
+        doReturn(mCompanionDeviceManager).when(mContext)
+                .getSystemService(CompanionDeviceManager.class);
+        when(mCompanionDeviceManager.getAllAssociations()).thenReturn(ImmutableList.of());
         removeInputDeviceWithMatchingBluetoothAddress();
         FakeFeatureFactory.setupForTest();
 
@@ -207,6 +224,38 @@
         verify(mFragment).finish();
     }
 
+    @Test
+    public void createPreferenceControllers_launchFromHAPage_deviceControllerNotExist() {
+        BluetoothDeviceDetailsFragment fragment = setupFragment();
+        Intent intent = fragment.getActivity().getIntent();
+        intent.putExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
+                SettingsEnums.ACCESSIBILITY_HEARING_AID_SETTINGS);
+        fragment.onAttach(mContext);
+
+        List<AbstractPreferenceController> controllerList = fragment.createPreferenceControllers(
+                mContext);
+
+        assertThat(controllerList.stream()
+                .anyMatch(controller -> controller.getPreferenceKey().equals(
+                        KEY_DEVICE_CONTROLS_GENERAL_GROUP))).isFalse();
+    }
+
+    @Test
+    public void createPreferenceControllers_notLaunchFromHAPage_deviceControllerExist() {
+        BluetoothDeviceDetailsFragment fragment = setupFragment();
+        Intent intent = fragment.getActivity().getIntent();
+        intent.putExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY,
+                SettingsEnums.PAGE_UNKNOWN);
+        fragment.onAttach(mContext);
+
+        List<AbstractPreferenceController> controllerList = fragment.createPreferenceControllers(
+                mContext);
+
+        assertThat(controllerList.stream()
+                .anyMatch(controller -> controller.getPreferenceKey().equals(
+                        KEY_DEVICE_CONTROLS_GENERAL_GROUP))).isTrue();
+    }
+
     private InputDevice createInputDeviceWithMatchingBluetoothAddress() {
         doReturn(new int[]{0}).when(mInputManager).getInputDeviceIds();
         InputDevice device = mock(InputDevice.class);
@@ -229,9 +278,7 @@
         doReturn(mPreferenceScreen).when(fragment).getPreferenceScreen();
         doReturn(mUserManager).when(fragment).getUserManager();
 
-        mActivity = spy((FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get());
-
+        mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
         doReturn(mActivity).when(fragment).getActivity();
         doReturn(mContext).when(fragment).getContext();
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java
index 7c598e0..40f7895 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDevicePairingDetailBaseTest.java
@@ -54,7 +54,10 @@
 
 /** Tests for {@link BluetoothDevicePairingDetailBase}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothAdapter.class})
+@Config(shadows = {
+        ShadowBluetoothAdapter.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class BluetoothDevicePairingDetailBaseTest {
 
     @Rule
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java
index f93c61e..6fd1d98 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothDeviceRenamePreferenceControllerTest.java
@@ -47,7 +47,10 @@
 import org.robolectric.shadow.api.Shadow;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowBluetoothAdapter.class})
+@Config(shadows = {
+        ShadowBluetoothAdapter.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class BluetoothDeviceRenamePreferenceControllerTest {
 
     private static final String DEVICE_NAME = "Nightshade";
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java
index cc1087e..4b82782 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothEnablerTest.java
@@ -39,8 +39,6 @@
 import androidx.preference.PreferenceViewHolder;
 
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 import com.android.settings.widget.SwitchWidgetController;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedSwitchPreference;
@@ -80,6 +78,7 @@
     private SwitchWidgetController.OnSwitchChangeListener mCallback;
 
     private Context mContext;
+    @Mock
     private SwitchWidgetController mSwitchController;
     private BluetoothEnabler mBluetoothEnabler;
     private ShadowBluetoothAdapter mShadowBluetoothAdapter;
@@ -90,7 +89,6 @@
         mContext = spy(RuntimeEnvironment.application);
 
         mRestrictedSwitchPreference = new RestrictedSwitchPreference(mContext);
-        mSwitchController = spy(new SwitchBarController(new SwitchBar(mContext)));
         mBluetoothEnabler = new BluetoothEnabler(
                 mContext,
                 mSwitchController,
@@ -215,7 +213,7 @@
         verify(mSwitchController, never()).setChecked(anyBoolean());
         mBluetoothEnabler.resume(mContext);
         verify(mSwitchController, never()).setChecked(false);
-        verify(mSwitchController).setChecked(true);
+        when(mSwitchController.isChecked()).thenReturn(true);
 
         // Now simulate bluetooth being turned off via an event.
         BroadcastReceiver receiver = captor.getValue();
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothFeatureProviderImplTest.java
index 3d40bfc..bcd9a90 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothFeatureProviderImplTest.java
@@ -28,7 +28,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothFeatureProviderImplTest {
@@ -47,8 +46,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mBluetoothFeatureProvider = new BluetoothFeatureProviderImpl(
-                RuntimeEnvironment.application);
+        mBluetoothFeatureProvider = new BluetoothFeatureProviderImpl();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragmentTest.java
index b029f92..f3f2b09 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothFindBroadcastsFragmentTest.java
@@ -36,7 +36,6 @@
 import androidx.preference.PreferenceCategory;
 
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -50,8 +49,12 @@
 import org.robolectric.Robolectric;
 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 BluetoothFindBroadcastsFragmentTest {
 
     private static final String TEST_ADDRESS = "55:66:77:88:99:AA";
@@ -87,10 +90,7 @@
         doReturn(mCachedDevice).when(mFragment).getCachedDevice(any());
         doReturn(mBroadcastAssistant).when(mFragment).getLeBroadcastAssistant();
         doReturn(mPreferenceCategroy).when(mFragment).findPreference(any());
-
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(mActivity);
 
         FragmentManager fragmentManager = mock(FragmentManager.class);
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
index c3956d3..376c7ed 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothNameDialogFragmentTest.java
@@ -33,6 +33,8 @@
     private TestBluetoothNameDialogFragment mBluetoothNameDialogFragment;
     private TextView mTextView;
 
+    private static final String NAME_FOR_TEST = "test_device_name";
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -51,12 +53,24 @@
                         null)).isTrue();
     }
 
+    @Test
+    public void onEditorAction_ImeNull_setsDeviceName() {
+
+
+        mTextView.setText(NAME_FOR_TEST);
+        assertThat(
+                mBluetoothNameDialogFragment.onEditorAction(mTextView, EditorInfo.IME_NULL,
+                        null)).isTrue();
+        assertThat(mBluetoothNameDialogFragment.getDeviceName()).isEqualTo(NAME_FOR_TEST);
+    }
 
     /**
      * Test fragment for {@link BluetoothNameDialogFragment} to test common methods
      */
     public static class TestBluetoothNameDialogFragment extends BluetoothNameDialogFragment {
 
+        private String mName;
+
         @Override
         protected int getDialogTitle() {
             return 0;
@@ -64,12 +78,12 @@
 
         @Override
         protected String getDeviceName() {
-            return null;
+            return mName;
         }
 
         @Override
         protected void setDeviceName(String deviceName) {
-
+            mName = deviceName;
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
index 517b435..2044881 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPairingDialogTest.java
@@ -33,7 +33,6 @@
 import android.text.TextUtils;
 import android.view.View;
 import android.view.inputmethod.InputMethodManager;
-import android.widget.CheckBox;
 import android.widget.TextView;
 
 import androidx.appcompat.app.AlertDialog;
@@ -276,7 +275,7 @@
     }
 
     @Test
-    public void contactSharingCheckbox_conditionIsReady_showsUi() {
+    public void contactSharingToggle_conditionIsReady_showsUi() {
         // set the dialog variant to confirmation/consent
         when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
         // set a fake device name and pretend the profile has not been set up for it
@@ -286,14 +285,14 @@
         // build the fragment
         BluetoothPairingDialogFragment frag = makeFragment();
 
-        // verify that the checkbox is visible and that the device name is correct
-        CheckBox sharingCheckbox =
-                frag.getmDialog().findViewById(R.id.phonebook_sharing_message_confirm_pin);
-        assertThat(sharingCheckbox.getVisibility()).isEqualTo(View.VISIBLE);
+        // verify that the toggle is visible
+        View sharingToggle =
+                frag.getmDialog().findViewById(R.id.phonebook_sharing);
+        assertThat(sharingToggle.getVisibility()).isEqualTo(View.VISIBLE);
     }
 
     @Test
-    public void contactSharingCheckbox_conditionIsNotReady_doesNotShowUi() {
+    public void contactSharingToggle_conditionIsNotReady_doesNotShowUi() {
         // set the dialog variant to confirmation/consent
         when(controller.getDialogType()).thenReturn(BluetoothPairingController.CONFIRMATION_DIALOG);
         // set a fake device name and pretend the profile has been set up for it
@@ -303,10 +302,10 @@
         // build the fragment
         BluetoothPairingDialogFragment frag = makeFragment();
 
-        // verify that the checkbox is gone
-        CheckBox sharingCheckbox =
-                frag.getmDialog().findViewById(R.id.phonebook_sharing_message_confirm_pin);
-        assertThat(sharingCheckbox.getVisibility()).isEqualTo(View.GONE);
+        // verify that the toggle is gone
+        View sharingToggle =
+                frag.getmDialog().findViewById(R.id.phonebook_sharing);
+        assertThat(sharingToggle.getVisibility()).isEqualTo(View.GONE);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPermissionActivityTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPermissionActivityTest.java
index 6f02753..b97343a 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothPermissionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothPermissionActivityTest.java
@@ -16,22 +16,31 @@
 
 package com.android.settings.bluetooth;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.content.ContextWrapper;
 import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.os.Process;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
+@Ignore("b/313014781")
 @RunWith(RobolectricTestRunner.class)
 public class BluetoothPermissionActivityTest {
 
@@ -41,14 +50,27 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = mock(ContextWrapper.class);
         mActivity = new BluetoothPermissionActivity();
     }
 
     @Test
-    public void sendBroadcastWithPermission() {
+    public void sendBroadcastWithPermission() throws Exception {
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
         ReflectionHelpers.setField(mActivity, "mBase", mContext);
+        when(mContext.createContextAsUser(any(), anyInt())).thenReturn(mContext);
+
+        final String btPkgName = "com.android.bluetooth";
+        ActivityInfo btOppLauncherActivityInfo = new ActivityInfo();
+        btOppLauncherActivityInfo.name = "com.android.bluetooth.opp.BluetoothOppLauncherActivity";
+
+        PackageInfo btPkgInfo = new PackageInfo();
+        btPkgInfo.activities = new ActivityInfo[] {btOppLauncherActivityInfo};
+
+        PackageManager pm = mock(PackageManager.class);
+        when(pm.getPackagesForUid(Process.BLUETOOTH_UID)).thenReturn(new String[] {btPkgName});
+        when(pm.getPackageInfo(eq(btPkgName), anyInt())).thenReturn(btPkgInfo);
+        when(mContext.getPackageManager()).thenReturn(pm);
 
         mActivity.sendReplyIntentToReceiver(true, true);
 
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java
index 2aca4a3..58f5a06 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSummaryUpdaterTest.java
@@ -260,7 +260,8 @@
         mSummaryUpdater.onConnectionStateChanged(null /* device */,
                 BluetoothAdapter.STATE_CONNECTING);
 
-        verify(mListener).onSummaryChanged(mContext.getString(R.string.bluetooth_connecting));
+        verify(mListener).onSummaryChanged(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_connecting));
     }
 
     @Test
@@ -272,7 +273,8 @@
         mSummaryUpdater.onConnectionStateChanged(null /* device */,
                 BluetoothAdapter.STATE_DISCONNECTING);
 
-        verify(mListener).onSummaryChanged(mContext.getString(R.string.bluetooth_disconnecting));
+        verify(mListener).onSummaryChanged(
+                mContext.getString(com.android.settingslib.R.string.bluetooth_disconnecting));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java
index 50c82d3..853d2c48 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/BluetoothSwitchPreferenceControllerTest.java
@@ -44,7 +44,7 @@
 public class BluetoothSwitchPreferenceControllerTest {
 
     private static final String BLUETOOTH_INFO_STRING = "When Bluetooth is turned on, your device"
-            + " can communicate with other nearby Bluetooth devices.";
+            + " can communicate with other nearby Bluetooth devices";
     @Mock
     private RestrictionUtils mRestrictionUtils;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java
index 00115d7..cd48bf1 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/ConnectedBluetoothDeviceUpdaterTest.java
@@ -20,6 +20,8 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -28,18 +30,26 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
 import android.media.AudioManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.util.Pair;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowAudioManager;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowCachedBluetoothDeviceManager;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -58,6 +68,10 @@
 public class ConnectedBluetoothDeviceUpdaterTest {
 
     private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
+    private static final String FAKE_EXCLUSIVE_MANAGER_NAME = "com.fake.name";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
 
     @Mock
     private DashboardFragment mDashboardFragment;
@@ -69,6 +83,8 @@
     private BluetoothDevice mBluetoothDevice;
     @Mock
     private Drawable mDrawable;
+    @Mock
+    private PackageManager mPackageManager;
 
     private Context mContext;
     private ConnectedBluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -82,7 +98,7 @@
         MockitoAnnotations.initMocks(this);
 
         Pair<Drawable, String> pairs = new Pair<>(mDrawable, "fake_device");
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
         mAudioManager = mContext.getSystemService(AudioManager.class);
         mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
         mShadowBluetoothAdapter.setEnabled(true);
@@ -92,6 +108,7 @@
         mCachedDevices = new ArrayList<>();
         mCachedDevices.add(mCachedBluetoothDevice);
 
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
         when(mCachedBluetoothDevice.getAddress()).thenReturn(MAC_ADDRESS);
         when(mCachedBluetoothDevice.getDrawableWithDescription()).thenReturn(pairs);
@@ -320,4 +337,97 @@
 
         assertThat(btPreference.shouldHideSecondTarget()).isTrue();
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_notExclusiveManagedDevice_addDevice() {
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater
+                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                null);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_notAllowedExclusiveManagedDevice_addDevice() {
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater
+                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                FAKE_EXCLUSIVE_MANAGER_NAME.getBytes());
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_existingExclusivelyManagedDeviceWithPackageInstalled_removePreference()
+            throws Exception {
+        final String exclusiveManagerName =
+                BluetoothUtils.getExclusiveManagers().stream().findAny().orElse(
+                        FAKE_EXCLUSIVE_MANAGER_NAME);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater
+                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                exclusiveManagerName.getBytes());
+        doReturn(new PackageInfo()).when(mPackageManager).getPackageInfo(exclusiveManagerName, 0);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_newExclusivelyManagedDeviceWithPackageInstalled_doNotAddPreference()
+            throws Exception {
+        final String exclusiveManagerName =
+                BluetoothUtils.getExclusiveManagers().stream().findAny().orElse(
+                        FAKE_EXCLUSIVE_MANAGER_NAME);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater
+                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                exclusiveManagerName.getBytes());
+        doReturn(new PackageInfo()).when(mPackageManager).getPackageInfo(exclusiveManagerName, 0);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_exclusivelyManagedDeviceWithoutPackageInstalled_addDevice()
+            throws Exception {
+        final String exclusiveManagerName =
+                BluetoothUtils.getExclusiveManagers().stream().findAny().orElse(
+                        FAKE_EXCLUSIVE_MANAGER_NAME);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        when(mBluetoothDeviceUpdater
+                .isDeviceConnected(any(CachedBluetoothDevice.class))).thenReturn(true);
+        when(mCachedBluetoothDevice.isConnectedHfpDevice()).thenReturn(true);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                exclusiveManagerName.getBytes());
+        doThrow(new PackageManager.NameNotFoundException()).when(mPackageManager).getPackageInfo(
+                exclusiveManagerName, 0);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt b/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt
index 5a21aff..0f1ad4b 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt
+++ b/tests/robotests/src/com/android/settings/bluetooth/DeviceListPreferenceFragmentTest.kt
@@ -56,7 +56,10 @@
 import org.mockito.Mockito.`when` as whenever
 
 @RunWith(RobolectricTestRunner::class)
-@Config(shadows = [ShadowBluetoothAdapter::class])
+@Config(shadows = [
+    ShadowBluetoothAdapter::class,
+    com.android.settings.testutils.shadow.ShadowFragment::class,
+])
 class DeviceListPreferenceFragmentTest {
     @get:Rule
     val mockito: MockitoRule = MockitoJUnit.rule()
diff --git a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java
index c229449..349391d 100644
--- a/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/bluetooth/SavedBluetoothDeviceUpdaterTest.java
@@ -18,6 +18,7 @@
 import static org.mockito.ArgumentMatchers.any;
 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;
@@ -28,17 +29,26 @@
 import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
+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.util.Pair;
 
 import com.android.settings.connecteddevice.DevicePreferenceCallback;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.bluetooth.BluetoothUtils;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.CachedBluetoothDeviceManager;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -56,6 +66,10 @@
 public class SavedBluetoothDeviceUpdaterTest {
 
     private static final String MAC_ADDRESS = "04:52:C7:0B:D8:3C";
+    private static final String FAKE_EXCLUSIVE_MANAGER_NAME = "com.fake.name";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
 
     @Mock
     private DashboardFragment mDashboardFragment;
@@ -73,6 +87,8 @@
     private LocalBluetoothManager mBluetoothManager;
     @Mock
     private Drawable mDrawable;
+    @Mock
+    private PackageManager mPackageManager;
 
     private Context mContext;
     private SavedBluetoothDeviceUpdater mBluetoothDeviceUpdater;
@@ -84,12 +100,13 @@
         MockitoAnnotations.initMocks(this);
 
         Pair<Drawable, String> pairs = new Pair<>(mDrawable, "fake_device");
-        mContext = RuntimeEnvironment.application;
+        mContext = spy(RuntimeEnvironment.application);
         doReturn(mContext).when(mDashboardFragment).getContext();
         when(mCachedBluetoothDevice.getDevice()).thenReturn(mBluetoothDevice);
         when(mCachedBluetoothDevice.getAddress()).thenReturn(MAC_ADDRESS);
         when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
         when(mCachedBluetoothDevice.getDrawableWithDescription()).thenReturn(pairs);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
 
         mBluetoothDeviceUpdater = spy(new SavedBluetoothDeviceUpdater(mContext,
                 mDevicePreferenceCallback, false, /* metricsCategory= */ 0));
@@ -103,10 +120,10 @@
         mCachedDevices.add(mCachedBluetoothDevice);
         when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
         when(mDeviceManager.getCachedDevicesCopy()).thenReturn(mCachedDevices);
-
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
     public void update_filterMatch_addPreference() {
         doReturn(BluetoothDevice.BOND_BONDED).when(mBluetoothDevice).getBondState();
         doReturn(false).when(mBluetoothDevice).isConnected();
@@ -118,6 +135,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
     public void update_filterNotMatch_removePreference() {
         doReturn(BluetoothDevice.BOND_NONE).when(mBluetoothDevice).getBondState();
         doReturn(true).when(mBluetoothDevice).isConnected();
@@ -298,4 +316,125 @@
         verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice,
                 BluetoothDevicePreference.SortType.TYPE_NO_SORT);
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_notExclusivelyManagedDevice_addDevice() {
+        final Collection<CachedBluetoothDevice> cachedDevices = new ArrayList<>();
+        cachedDevices.add(mCachedBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(cachedDevices);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                null);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_notAllowedExclusivelyManagedDevice_addDevice() {
+        final Collection<CachedBluetoothDevice> cachedDevices = new ArrayList<>();
+        cachedDevices.add(mCachedBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(cachedDevices);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                FAKE_EXCLUSIVE_MANAGER_NAME.getBytes());
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_existingExclusivelyManagedDeviceWithPackageInstalled_removePreference()
+            throws Exception {
+        final Collection<CachedBluetoothDevice> cachedDevices = new ArrayList<>();
+        final String exclusiveManagerName =
+                BluetoothUtils.getExclusiveManagers().stream().findAny().orElse(
+                        FAKE_EXCLUSIVE_MANAGER_NAME);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(cachedDevices);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                exclusiveManagerName.getBytes());
+
+        doReturn(new PackageInfo()).when(mPackageManager).getPackageInfo(exclusiveManagerName, 0);
+        mBluetoothDeviceUpdater.mPreferenceMap.put(mBluetoothDevice, mPreference);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_newExclusivelyManagedDeviceWithPackageInstalled_doNotAddPreference()
+            throws Exception {
+        final Collection<CachedBluetoothDevice> cachedDevices = new ArrayList<>();
+        final String exclusiveManagerName =
+                BluetoothUtils.getExclusiveManagers().stream().findAny().orElse(
+                        FAKE_EXCLUSIVE_MANAGER_NAME);
+        cachedDevices.add(mCachedBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(cachedDevices);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                exclusiveManagerName.getBytes());
+
+        doReturn(new PackageInfo()).when(mPackageManager).getPackageInfo(exclusiveManagerName, 0);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).removePreference(mCachedBluetoothDevice);
+        verify(mBluetoothDeviceUpdater, never()).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_HIDE_EXCLUSIVELY_MANAGED_BLUETOOTH_DEVICE)
+    public void update_exclusivelyManagedDeviceWithoutPackageInstalled_addDevice()
+            throws Exception {
+        final Collection<CachedBluetoothDevice> cachedDevices = new ArrayList<>();
+        final String exclusiveManagerName =
+                BluetoothUtils.getExclusiveManagers().stream().findAny().orElse(
+                        FAKE_EXCLUSIVE_MANAGER_NAME);
+        cachedDevices.add(mCachedBluetoothDevice);
+
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        when(mBluetoothManager.getCachedDeviceManager()).thenReturn(mDeviceManager);
+        when(mDeviceManager.getCachedDevicesCopy()).thenReturn(cachedDevices);
+        when(mBluetoothDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mBluetoothDevice.isConnected()).thenReturn(false);
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_EXCLUSIVE_MANAGER)).thenReturn(
+                exclusiveManagerName.getBytes());
+
+        doThrow(new PackageManager.NameNotFoundException()).when(mPackageManager).getPackageInfo(
+                exclusiveManagerName, 0);
+
+        mBluetoothDeviceUpdater.update(mCachedBluetoothDevice);
+
+        verify(mBluetoothDeviceUpdater).addPreference(mCachedBluetoothDevice,
+                BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java b/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java
index a3fdee6..48318df 100644
--- a/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java
+++ b/tests/robotests/src/com/android/settings/bugreporthandler/BugReportHandlerPickerTest.java
@@ -50,12 +50,16 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowPackageManager;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.Collections;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class BugReportHandlerPickerTest {
     private static final String PACKAGE_NAME = "com.example.test";
     private static final int USER_ID = 0;
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AddDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AddDevicePreferenceControllerTest.java
index 7384d3a..63fa88d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AddDevicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AddDevicePreferenceControllerTest.java
@@ -15,34 +15,49 @@
  */
 package com.android.settings.connecteddevice;
 
+import static com.android.settings.accessibility.AccessibilityHearingAidsFragment.KEY_HEARING_DEVICE_ADD_BT_DEVICES;
 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.junit.Assert.assertTrue;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
 
 import android.bluetooth.BluetoothAdapter;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.PackageManager;
+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.text.TextUtils;
 
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
+import com.android.settings.SettingsActivity;
+import com.android.settings.accessibility.HearingDevicePairingDetail;
+import com.android.settings.accessibility.HearingDevicePairingFragment;
+import com.android.settings.flags.Flags;
 import com.android.settingslib.RestrictedPreference;
 
 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.Spy;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplicationPackageManager;
 import org.robolectric.util.ReflectionHelpers;
@@ -51,12 +66,16 @@
 @Config(shadows = ShadowApplicationPackageManager.class)
 public class AddDevicePreferenceControllerTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Mock
     private PreferenceScreen mScreen;
     @Mock
     private BluetoothAdapter mBluetoothAdapter;
 
-    private Context mContext;
+    @Spy
+    private Context mContext = ApplicationProvider.getApplicationContext();
     private AddDevicePreferenceController mAddDevicePreferenceController;
     private RestrictedPreference mAddDevicePreference;
     private ShadowApplicationPackageManager mPackageManager;
@@ -66,8 +85,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mContext = RuntimeEnvironment.application;
-        mPackageManager = (ShadowApplicationPackageManager) Shadows.shadowOf(
+        mPackageManager = (ShadowApplicationPackageManager) shadowOf(
                 mContext.getPackageManager());
         mPackageManager.setSystemFeature(PackageManager.FEATURE_BLUETOOTH, true);
 
@@ -82,6 +100,8 @@
         when(mBluetoothAdapter.isEnabled()).thenReturn(true);
         when(mScreen.findPreference(key)).thenReturn(mAddDevicePreference);
         mAddDevicePreferenceController.displayPreference(mScreen);
+
+        doNothing().when(mContext).startActivity(any(Intent.class));
     }
 
     @Test
@@ -137,4 +157,30 @@
         assertThat(mAddDevicePreferenceController.getAvailabilityStatus())
                 .isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_NEW_HEARING_DEVICE_PAIRING_PAGE)
+    public void handlePreferenceClick_A11yPreference_redirectToNewPairingPage() {
+        mAddDevicePreference.setKey(KEY_HEARING_DEVICE_ADD_BT_DEVICES);
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+
+        mAddDevicePreferenceController.handlePreferenceTreeClick(mAddDevicePreference);
+
+        verify(mContext).startActivity(intentCaptor.capture());
+        assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(HearingDevicePairingFragment.class.getName());
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_NEW_HEARING_DEVICE_PAIRING_PAGE)
+    public void handlePreferenceClick_A11yPreference_redirectToOldPairingPage() {
+        mAddDevicePreference.setKey(KEY_HEARING_DEVICE_ADD_BT_DEVICES);
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+
+        mAddDevicePreferenceController.handlePreferenceTreeClick(mAddDevicePreference);
+
+        verify(mContext).startActivity(intentCaptor.capture());
+        assertThat(intentCaptor.getValue().getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(HearingDevicePairingDetail.class.getName());
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
index aed3787..107d77c 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AdvancedConnectedDeviceDashboardFragmentTest.java
@@ -23,7 +23,6 @@
 import android.nfc.NfcAdapter;
 import android.provider.SearchIndexableResource;
 
-import com.android.settings.nfc.AndroidBeamPreferenceController;
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 import com.android.settings.testutils.shadow.ShadowNfcAdapter;
 import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -78,14 +77,4 @@
     public void testGetCategoryKey_returnCategoryDevice() {
         assertThat(mFragment.getCategoryKey()).isEqualTo(CategoryKey.CATEGORY_DEVICE);
     }
-
-    @Test
-    public void testSearchIndexProvider_correctNonIndexables() {
-        mShadowNfcAdapter.setSecureNfcSupported(true);
-        final List<String> niks =
-                AdvancedConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
-                        .getNonIndexableKeys(mContext);
-
-        assertThat(niks).contains(AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
-    }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java
index 0c3443e..e5964d0 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/AvailableMediaDeviceGroupControllerTest.java
@@ -22,16 +22,24 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
 
+import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
 import android.bluetooth.BluetoothProfile;
+import android.bluetooth.BluetoothStatusCodes;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.media.AudioManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
@@ -43,20 +51,22 @@
 import com.android.settings.R;
 import com.android.settings.bluetooth.AvailableMediaBluetoothDeviceUpdater;
 import com.android.settings.bluetooth.Utils;
-import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowAudioManager;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.testutils.shadow.ShadowBluetoothUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 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.HearingAidInfo;
+import com.android.settingslib.bluetooth.LocalBluetoothLeBroadcastAssistant;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -66,40 +76,46 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
+
+import java.util.concurrent.Executor;
 
 /** Tests for {@link AvailableMediaDeviceGroupController}. */
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAudioManager.class, ShadowBluetoothAdapter.class,
-        ShadowBluetoothUtils.class})
+@Config(
+        shadows = {
+            ShadowAudioManager.class,
+            ShadowBluetoothAdapter.class,
+            ShadowBluetoothUtils.class,
+            ShadowAlertDialogCompat.class,
+        })
 public class AvailableMediaDeviceGroupControllerTest {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
 
     private static final String TEST_DEVICE_ADDRESS = "00:A1:A1:A1:A1:A1";
     private static final String PREFERENCE_KEY_1 = "pref_key_1";
 
-    @Mock
-    private DashboardFragment mDashboardFragment;
-    @Mock
-    private AvailableMediaBluetoothDeviceUpdater mAvailableMediaBluetoothDeviceUpdater;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
+    @Mock private AvailableMediaBluetoothDeviceUpdater mAvailableMediaBluetoothDeviceUpdater;
+    @Mock private PreferenceScreen mPreferenceScreen;
+
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private PreferenceManager mPreferenceManager;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private BluetoothEventManager mEventManager;
-    @Mock
-    private LocalBluetoothManager mLocalBluetoothManager;
-    @Mock
-    private CachedBluetoothDeviceManager mCachedDeviceManager;
-    @Mock
-    private CachedBluetoothDevice mCachedBluetoothDevice;
+
+    @Mock private PackageManager mPackageManager;
+    @Mock private BluetoothEventManager mEventManager;
+    @Mock private LocalBluetoothManager mLocalBluetoothManager;
+    @Mock private LocalBluetoothProfileManager mLocalBtProfileManager;
+    @Mock private CachedBluetoothDeviceManager mCachedDeviceManager;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private CachedBluetoothDevice mCachedBluetoothDevice;
 
     private PreferenceGroup mPreferenceGroup;
     private Context mContext;
     private Preference mPreference;
     private AvailableMediaDeviceGroupController mAvailableMediaDeviceGroupController;
     private AudioManager mAudioManager;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
 
     @Before
     public void setUp() {
@@ -109,30 +125,33 @@
         mPreference = new Preference(mContext);
         mPreference.setKey(PREFERENCE_KEY_1);
         mPreferenceGroup = spy(new PreferenceScreen(mContext, null));
-
-        final FragmentActivity mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-
+        final FragmentActivity mActivity = Robolectric.setupActivity(FragmentActivity.class);
         when(mPreferenceGroup.getPreferenceManager()).thenReturn(mPreferenceManager);
-        doReturn(mContext).when(mDashboardFragment).getContext();
         doReturn(mPackageManager).when(mContext).getPackageManager();
         doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
-        when(mDashboardFragment.getParentFragmentManager()).thenReturn(
-                mActivity.getSupportFragmentManager());
 
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_NOT_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_NOT_SUPPORTED);
         ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBluetoothManager;
         mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
         mAudioManager = mContext.getSystemService(AudioManager.class);
         doReturn(mEventManager).when(mLocalBluetoothManager).getEventManager();
+        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
         when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCachedDeviceManager);
-        when(mCachedDeviceManager.findDevice(any(BluetoothDevice.class))).thenReturn(
-                mCachedBluetoothDevice);
+        when(mCachedDeviceManager.findDevice(any(BluetoothDevice.class)))
+                .thenReturn(mCachedBluetoothDevice);
         when(mCachedBluetoothDevice.getAddress()).thenReturn(TEST_DEVICE_ADDRESS);
 
-        mAvailableMediaDeviceGroupController = spy(
-                new AvailableMediaDeviceGroupController(mContext));
-        mAvailableMediaDeviceGroupController.
-                setBluetoothDeviceUpdater(mAvailableMediaBluetoothDeviceUpdater);
+        mAvailableMediaDeviceGroupController =
+                spy(new AvailableMediaDeviceGroupController(mContext));
+        mAvailableMediaDeviceGroupController.setBluetoothDeviceUpdater(
+                mAvailableMediaBluetoothDeviceUpdater);
+        mAvailableMediaDeviceGroupController.setFragmentManager(
+                mActivity.getSupportFragmentManager());
         mAvailableMediaDeviceGroupController.mPreferenceGroup = mPreferenceGroup;
     }
 
@@ -181,34 +200,55 @@
         mAvailableMediaDeviceGroupController.onStart();
 
         verify(mAvailableMediaBluetoothDeviceUpdater).registerCallback();
-        verify(mLocalBluetoothManager.getEventManager()).registerCallback(
-                any(BluetoothCallback.class));
+        verify(mLocalBluetoothManager.getEventManager())
+                .registerCallback(any(BluetoothCallback.class));
         verify(mAvailableMediaBluetoothDeviceUpdater).refreshPreference();
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void testRegister_audioSharingOn() {
+        setUpBroadcast();
+        // register the callback in onStart()
+        mAvailableMediaDeviceGroupController.onStart();
+        verify(mAssistant)
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
     public void testUnregister() {
         // unregister the callback in onStop()
         mAvailableMediaDeviceGroupController.onStop();
         verify(mAvailableMediaBluetoothDeviceUpdater).unregisterCallback();
-        verify(mLocalBluetoothManager.getEventManager()).unregisterCallback(
-                any(BluetoothCallback.class));
+        verify(mLocalBluetoothManager.getEventManager())
+                .unregisterCallback(any(BluetoothCallback.class));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void testUnregister_audioSharingOn() {
+        setUpBroadcast();
+        // unregister the callback in onStop()
+        mAvailableMediaDeviceGroupController.onStop();
+        verify(mAssistant)
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
     }
 
     @Test
     public void testGetAvailabilityStatus_noBluetoothFeature_returnUnSupported() {
         doReturn(false).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
-        assertThat(mAvailableMediaDeviceGroupController.getAvailabilityStatus()).isEqualTo(
-                UNSUPPORTED_ON_DEVICE);
+        assertThat(mAvailableMediaDeviceGroupController.getAvailabilityStatus())
+                .isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     public void testGetAvailabilityStatus_BluetoothFeature_returnSupported() {
         doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
 
-        assertThat(mAvailableMediaDeviceGroupController.getAvailabilityStatus()).isEqualTo(
-                AVAILABLE_UNSEARCHABLE);
+        assertThat(mAvailableMediaDeviceGroupController.getAvailabilityStatus())
+                .isEqualTo(AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
@@ -216,8 +256,8 @@
         mAudioManager.setMode(AudioManager.MODE_IN_CALL);
         mAvailableMediaDeviceGroupController.onAudioModeChanged();
 
-        assertThat(mPreferenceGroup.getTitle()).isEqualTo(
-                mContext.getText(R.string.connected_device_call_device_title));
+        assertThat(mPreferenceGroup.getTitle())
+                .isEqualTo(mContext.getText(R.string.connected_device_call_device_title));
     }
 
     @Test
@@ -225,8 +265,8 @@
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
         mAvailableMediaDeviceGroupController.onAudioModeChanged();
 
-        assertThat(mPreferenceGroup.getTitle()).isEqualTo(
-                mContext.getText(R.string.connected_device_media_device_title));
+        assertThat(mPreferenceGroup.getTitle())
+                .isEqualTo(mContext.getText(R.string.connected_device_media_device_title));
     }
 
     @Test
@@ -246,19 +286,33 @@
     }
 
     @Test
-    @Config(shadows = ShadowAlertDialogCompat.class)
     public void onActiveDeviceChanged_hearingAidProfile_launchHearingAidPairingDialog() {
         when(mCachedBluetoothDevice.isConnectedAshaHearingAidDevice()).thenReturn(true);
-        when(mCachedBluetoothDevice.getDeviceMode()).thenReturn(
-                HearingAidInfo.DeviceMode.MODE_BINAURAL);
-        when(mCachedBluetoothDevice.getDeviceSide()).thenReturn(
-                HearingAidInfo.DeviceSide.SIDE_LEFT);
-        mAvailableMediaDeviceGroupController.init(mDashboardFragment);
+        when(mCachedBluetoothDevice.getDeviceMode())
+                .thenReturn(HearingAidInfo.DeviceMode.MODE_BINAURAL);
+        when(mCachedBluetoothDevice.getDeviceSide())
+                .thenReturn(HearingAidInfo.DeviceSide.SIDE_LEFT);
 
-        mAvailableMediaDeviceGroupController.onActiveDeviceChanged(mCachedBluetoothDevice,
-                BluetoothProfile.HEARING_AID);
+        mAvailableMediaDeviceGroupController.onActiveDeviceChanged(
+                mCachedBluetoothDevice, BluetoothProfile.HEARING_AID);
+        shadowMainLooper().idle();
 
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog.isShowing()).isTrue();
     }
+
+    private void setUpBroadcast() {
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        when(mLocalBtProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(mAssistant);
+        doNothing()
+                .when(mAssistant)
+                .registerServiceCallBack(
+                        any(Executor.class), any(BluetoothLeBroadcastAssistant.Callback.class));
+        doNothing()
+                .when(mAssistant)
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
index 5f0f2b9..09f7a38 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/ConnectedDeviceDashboardFragmentTest.java
@@ -25,6 +25,8 @@
 
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.SearchIndexableResource;
 
 import com.android.settings.R;
@@ -36,6 +38,7 @@
 import com.android.settings.testutils.shadow.ShadowUserManager;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -47,22 +50,31 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class,
-        ShadowConnectivityManager.class, ShadowBluetoothAdapter.class})
+@Config(
+        shadows = {
+            ShadowUserManager.class,
+            ShadowConnectivityManager.class,
+            ShadowBluetoothAdapter.class
+        })
 public class ConnectedDeviceDashboardFragmentTest {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String KEY_NEARBY_DEVICES = "bt_nearby_slice";
     private static final String KEY_DISCOVERABLE_FOOTER = "discoverable_footer";
-    private static final String KEY_SEE_ALL = "previously_connected_devices_see_all";
+    private static final String KEY_SAVED_DEVICE_SEE_ALL = "previously_connected_devices_see_all";
+    private static final String KEY_FAST_PAIR_DEVICE_SEE_ALL = "fast_pair_devices_see_all";
     private static final String KEY_ADD_BT_DEVICES = "add_bt_devices";
+    private static final String KEY_AUDIO_SHARING_DEVICE_LIST = "audio_sharing_device_list";
+    private static final String KEY_AUDIO_SHARING_SETTINGS =
+            "connected_device_audio_sharing_settings";
     private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
     private static final String SYSTEMUI_PACKAGE_NAME = "com.android.systemui";
     private static final String SLICE_ACTION = "com.android.settings.SEARCH_RESULT_TRAMPOLINE";
     private static final String TEST_APP_NAME = "com.testapp.settings";
     private static final String TEST_ACTION = "com.testapp.settings.ACTION_START";
 
-
-    @Mock
-    private PackageManager mPackageManager;
+    @Mock private PackageManager mPackageManager;
     private Context mContext;
     private ConnectedDeviceDashboardFragment mFragment;
 
@@ -79,8 +91,8 @@
     @Test
     public void searchIndexProvider_shouldIndexResource() {
         final List<SearchIndexableResource> indexRes =
-                ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
-                        .getXmlResourcesToIndex(mContext, true /* enabled */);
+                ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
+                        mContext, true /* enabled */);
 
         assertThat(indexRes).isNotNull();
         assertThat(indexRes.get(0).xmlResId).isEqualTo(R.xml.connected_devices);
@@ -88,11 +100,20 @@
 
     @Test
     public void nonIndexableKeys_existInXmlLayout() {
-        final List<String> niks = ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER
-                .getNonIndexableKeys(mContext);
+        final List<String> niks =
+                ConnectedDeviceDashboardFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
+                        mContext);
 
-        assertThat(niks).containsExactly(KEY_CONNECTED_DEVICES, KEY_AVAILABLE_DEVICES,
-                KEY_NEARBY_DEVICES, KEY_DISCOVERABLE_FOOTER, KEY_SEE_ALL);
+        assertThat(niks)
+                .containsExactly(
+                        KEY_CONNECTED_DEVICES,
+                        KEY_AVAILABLE_DEVICES,
+                        KEY_NEARBY_DEVICES,
+                        KEY_DISCOVERABLE_FOOTER,
+                        KEY_SAVED_DEVICE_SEE_ALL,
+                        KEY_FAST_PAIR_DEVICE_SEE_ALL,
+                        KEY_AUDIO_SHARING_DEVICE_LIST,
+                        KEY_AUDIO_SHARING_SETTINGS);
     }
 
     @Test
@@ -118,13 +139,15 @@
     @Test
     public void getPreferenceControllers_containSlicePrefController() {
         final List<BasePreferenceController> controllers =
-                PreferenceControllerListHelper.getPreferenceControllersFromXml(mContext,
-                        R.xml.connected_devices);
+                PreferenceControllerListHelper.getPreferenceControllersFromXml(
+                        mContext, R.xml.connected_devices);
 
-        assertThat(controllers
-                .stream()
-                .filter(controller -> controller instanceof SlicePreferenceController)
-                .count())
+        assertThat(
+                        controllers.stream()
+                                .filter(
+                                        controller ->
+                                                controller instanceof SlicePreferenceController)
+                                .count())
                 .isEqualTo(1);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java
index e351b71..f1cea6d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/PreviouslyConnectedDevicePreferenceControllerTest.java
@@ -27,9 +27,14 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
+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.util.Pair;
 
 import androidx.preference.Preference;
@@ -42,11 +47,14 @@
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
 import com.android.settings.connecteddevice.dock.DockUpdater;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
 import com.android.settings.widget.SingleTargetGearPreference;
 import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 
 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;
@@ -70,6 +78,9 @@
     private static final String FAKE_ADDRESS_4 = "AA:AA:AA:AA:AA:04";
     private static final String FAKE_ADDRESS_5 = "AA:AA:AA:AA:AA:05";
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Mock
     private DashboardFragment mDashboardFragment;
     @Mock
@@ -105,6 +116,9 @@
     @Mock
     private Drawable mDrawable;
 
+    @Mock private BluetoothManager mBluetoothManager;
+    @Mock private BluetoothAdapter mBluetoothAdapter;
+
     private Context mContext;
     private PreviouslyConnectedDevicePreferenceController mPreConnectedDeviceController;
     private PreferenceGroup mPreferenceGroup;
@@ -117,10 +131,8 @@
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mContext).when(mDashboardFragment).getContext();
         doReturn(mPackageManager).when(mContext).getPackageManager();
-        mPreConnectedDeviceController =
-                new PreviouslyConnectedDevicePreferenceController(mContext, KEY);
-        mPreConnectedDeviceController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
-        mPreConnectedDeviceController.setSavedDockUpdater(mDockUpdater);
+        when(mContext.getSystemService(BluetoothManager.class)).thenReturn(mBluetoothManager);
+        when(mBluetoothManager.getAdapter()).thenReturn(mBluetoothAdapter);
         mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
 
         when(mCachedDevice1.getDevice()).thenReturn(mBluetoothDevice1);
@@ -145,7 +157,13 @@
         mMostRecentlyConnectedDevices.add(mBluetoothDevice4);
         mMostRecentlyConnectedDevices.add(mBluetoothDevice3);
         mShadowBluetoothAdapter.setMostRecentlyConnectedDevices(mMostRecentlyConnectedDevices);
+        when(mBluetoothAdapter.getMostRecentlyConnectedDevices())
+                .thenReturn(mMostRecentlyConnectedDevices);
 
+        mPreConnectedDeviceController =
+                new PreviouslyConnectedDevicePreferenceController(mContext, KEY);
+        mPreConnectedDeviceController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
+        mPreConnectedDeviceController.setSavedDockUpdater(mDockUpdater);
         mPreferenceGroup = spy(new PreferenceCategory(mContext));
         doReturn(mPreferenceManager).when(mPreferenceGroup).getPreferenceManager();
         mPreferenceGroup.setVisible(false);
@@ -205,6 +223,7 @@
             AVAILABLE);
     }
 
+    @Ignore("b/322712259")
     @Test
     public void onDeviceAdded_addDevicePreference_displayIt() {
         final BluetoothDevicePreference preference1 = new BluetoothDevicePreference(
@@ -215,6 +234,7 @@
         assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(2);
     }
 
+    @Ignore("b/322712259")
     @Test
     public void onDeviceAdded_addDockDevicePreference_displayIt() {
         final SingleTargetGearPreference dockPreference = new SingleTargetGearPreference(
@@ -225,6 +245,7 @@
         assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(2);
     }
 
+    @Ignore("b/322712259")
     @Test
     public void onDeviceAdded_addFourDevicePreference_onlyDisplayThree() {
         final BluetoothDevicePreference preference1 = new BluetoothDevicePreference(
@@ -249,6 +270,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
     public void onDeviceAdded_addPreferenceNotExistInRecentlyDevices_noCrash() {
         final BluetoothDevicePreference preference = new BluetoothDevicePreference(
                 mContext, mCachedDevice5, true, BluetoothDevicePreference.SortType.TYPE_NO_SORT);
@@ -260,6 +282,18 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
+    public void onDeviceAdded_addPreferenceNotExistInRecentlyDevices_doNothing() {
+        final BluetoothDevicePreference preference = new BluetoothDevicePreference(
+                mContext, mCachedDevice5, true, BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+
+        mPreConnectedDeviceController.onDeviceAdded(preference);
+
+        // 1 see all preference
+        assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(1);
+    }
+
+    @Test
     public void onDeviceRemoved_removeLastDevice_showSeeAllPreference() {
         final BluetoothDevicePreference preference1 = new BluetoothDevicePreference(
                 mContext, mCachedDevice1, true, BluetoothDevicePreference.SortType.TYPE_NO_SORT);
@@ -277,6 +311,7 @@
     @Test
     public void updatePreferenceVisibility_bluetoothIsEnable_shouldShowCorrectText() {
         mShadowBluetoothAdapter.setEnabled(true);
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
         mPreConnectedDeviceController.updatePreferenceVisibility();
 
         verify(mSeeAllPreference).setSummary("");
@@ -285,9 +320,78 @@
     @Test
     public void updatePreferenceVisibility_bluetoothIsDisable_shouldShowCorrectText() {
         mShadowBluetoothAdapter.setEnabled(false);
+        when(mBluetoothAdapter.isEnabled()).thenReturn(false);
         mPreConnectedDeviceController.updatePreferenceVisibility();
 
         verify(mSeeAllPreference).setSummary(
                 mContext.getString(R.string.connected_device_see_all_summary));
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
+    public void updatePreferenceGroup_bluetoothIsEnable_shouldOrderByMostRecentlyConnected() {
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        final BluetoothDevicePreference preference4 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice4,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference3 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice3,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference2 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice2,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        mPreConnectedDeviceController.onDeviceAdded(preference4);
+        mPreConnectedDeviceController.onDeviceAdded(preference3);
+        mPreConnectedDeviceController.onDeviceAdded(preference2);
+
+        mPreConnectedDeviceController.updatePreferenceGroup();
+
+        // Refer to the order of {@link #mMostRecentlyConnectedDevices}, the first one is see all
+        // preference
+        assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(4);
+        assertThat(preference2.getOrder()).isEqualTo(0);
+        assertThat(preference4.getOrder()).isEqualTo(1);
+        assertThat(preference3.getOrder()).isEqualTo(2);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
+    public void updatePreferenceGroup_bluetoothIsDisable_shouldShowOnlySeeAllPreference() {
+        when(mBluetoothAdapter.isEnabled()).thenReturn(false);
+        final BluetoothDevicePreference preference4 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice4,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference3 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice3,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference2 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice2,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        mPreConnectedDeviceController.onDeviceAdded(preference4);
+        mPreConnectedDeviceController.onDeviceAdded(preference3);
+        mPreConnectedDeviceController.onDeviceAdded(preference2);
+
+        mPreConnectedDeviceController.updatePreferenceGroup();
+
+        // 1 see all preference
+        assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(1);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java
index d2c44f9..81c0c35 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/SavedDeviceGroupControllerTest.java
@@ -25,29 +25,52 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothManager;
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.util.Pair;
 
 import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceManager;
 
+import com.android.settings.bluetooth.BluetoothDevicePreference;
 import com.android.settings.bluetooth.BluetoothDeviceUpdater;
 import com.android.settings.connecteddevice.dock.DockUpdater;
 import com.android.settings.dashboard.DashboardFragment;
+import com.android.settings.flags.Flags;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 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.RuntimeEnvironment;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @RunWith(RobolectricTestRunner.class)
 public class SavedDeviceGroupControllerTest {
 
+    private static final String FAKE_ADDRESS_1 = "AA:AA:AA:AA:AA:01";
+    private static final String FAKE_ADDRESS_2 = "AA:AA:AA:AA:AA:02";
+    private static final String FAKE_ADDRESS_3 = "AA:AA:AA:AA:AA:03";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Mock
     private DashboardFragment mDashboardFragment;
     @Mock
@@ -56,23 +79,57 @@
     private DockUpdater mSavedDockUpdater;
     @Mock
     private PackageManager mPackageManager;
+    @Mock private BluetoothManager mBluetoothManager;
+    @Mock private BluetoothAdapter mBluetoothAdapter;
+    @Mock private CachedBluetoothDevice mCachedDevice1;
+    @Mock private CachedBluetoothDevice mCachedDevice2;
+    @Mock private CachedBluetoothDevice mCachedDevice3;
+    @Mock private BluetoothDevice mBluetoothDevice1;
+    @Mock private BluetoothDevice mBluetoothDevice2;
+    @Mock private BluetoothDevice mBluetoothDevice3;
+    @Mock private Drawable mDrawable;
+    @Mock private PreferenceManager mPreferenceManager;
 
     private Context mContext;
     private SavedDeviceGroupController mSavedDeviceGroupController;
     private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
+    private PreferenceGroup mPreferenceGroup;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        Pair<Drawable, String> pairs = new Pair<>(mDrawable, "fake_device");
         mContext = spy(RuntimeEnvironment.application);
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         doReturn(mContext).when(mDashboardFragment).getContext();
         doReturn(mPackageManager).when(mContext).getPackageManager();
+
+        when(mCachedDevice1.getDevice()).thenReturn(mBluetoothDevice1);
+        when(mCachedDevice1.getAddress()).thenReturn(FAKE_ADDRESS_1);
+        when(mCachedDevice1.getDrawableWithDescription()).thenReturn(pairs);
+        when(mCachedDevice2.getDevice()).thenReturn(mBluetoothDevice2);
+        when(mCachedDevice2.getAddress()).thenReturn(FAKE_ADDRESS_2);
+        when(mCachedDevice2.getDrawableWithDescription()).thenReturn(pairs);
+        when(mCachedDevice3.getDevice()).thenReturn(mBluetoothDevice3);
+        when(mCachedDevice3.getAddress()).thenReturn(FAKE_ADDRESS_3);
+        when(mCachedDevice3.getDrawableWithDescription()).thenReturn(pairs);
+        final List<BluetoothDevice> mMostRecentlyConnectedDevices = new ArrayList<>();
+        mMostRecentlyConnectedDevices.add(mBluetoothDevice1);
+        mMostRecentlyConnectedDevices.add(mBluetoothDevice2);
+        mMostRecentlyConnectedDevices.add(mBluetoothDevice3);
+        when(mContext.getSystemService(BluetoothManager.class)).thenReturn(mBluetoothManager);
+        when(mBluetoothManager.getAdapter()).thenReturn(mBluetoothAdapter);
+        when(mBluetoothAdapter.getMostRecentlyConnectedDevices())
+                .thenReturn(mMostRecentlyConnectedDevices);
+
+        mPreferenceGroup = spy(new PreferenceCategory(mContext));
+        when(mPreferenceGroup.getPreferenceManager()).thenReturn(mPreferenceManager);
         mSavedDeviceGroupController = new SavedDeviceGroupController(mContext);
         mSavedDeviceGroupController.setBluetoothDeviceUpdater(mBluetoothDeviceUpdater);
         mSavedDeviceGroupController.setSavedDockUpdater(mSavedDockUpdater);
+        mSavedDeviceGroupController.setPreferenceGroup(mPreferenceGroup);
     }
 
     @Test
@@ -118,4 +175,71 @@
         assertThat(mSavedDeviceGroupController.getAvailabilityStatus()).isEqualTo(
             AVAILABLE);
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
+    public void updatePreferenceGroup_bluetoothIsEnable_shouldOrderByMostRecentlyConnected() {
+        when(mBluetoothAdapter.isEnabled()).thenReturn(true);
+        final BluetoothDevicePreference preference3 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice3,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference2 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice2,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference1 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice1,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        mSavedDeviceGroupController.onDeviceAdded(preference3);
+        mSavedDeviceGroupController.onDeviceAdded(preference2);
+        mSavedDeviceGroupController.onDeviceAdded(preference1);
+
+        mSavedDeviceGroupController.updatePreferenceGroup();
+
+        // Refer to the order of {@link #mMostRecentlyConnectedDevices}
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+        assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(3);
+        assertThat(preference1.getOrder()).isEqualTo(0);
+        assertThat(preference2.getOrder()).isEqualTo(1);
+        assertThat(preference3.getOrder()).isEqualTo(2);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SAVED_DEVICES_ORDER_BY_RECENCY)
+    public void updatePreferenceGroup_bluetoothIsDisable_shouldShowNoPreference() {
+        when(mBluetoothAdapter.isEnabled()).thenReturn(false);
+        final BluetoothDevicePreference preference3 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice3,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference2 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice2,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        final BluetoothDevicePreference preference1 =
+                new BluetoothDevicePreference(
+                        mContext,
+                        mCachedDevice2,
+                        true,
+                        BluetoothDevicePreference.SortType.TYPE_NO_SORT);
+        mSavedDeviceGroupController.onDeviceAdded(preference3);
+        mSavedDeviceGroupController.onDeviceAdded(preference2);
+        mSavedDeviceGroupController.onDeviceAdded(preference1);
+
+        mSavedDeviceGroupController.updatePreferenceGroup();
+
+        assertThat(mPreferenceGroup.isVisible()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
index eea561a..66f314d 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/TopLevelConnectedDevicesPreferenceControllerTest.java
@@ -24,7 +24,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -48,7 +47,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_unsupportedWhenSet() {
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
new file mode 100644
index 0000000..757964b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDialogFragmentTest.java
@@ -0,0 +1,232 @@
+/*
+ * 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.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.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.view.View;
+import android.widget.Button;
+import android.widget.ImageView;
+import android.widget.TextView;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+
+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;
+
+import java.util.ArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowAlertDialogCompat.class,
+            ShadowBluetoothAdapter.class,
+        })
+public class AudioSharingDialogFragmentTest {
+
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String TEST_DEVICE_NAME1 = "test1";
+
+    private static final String TEST_DEVICE_NAME2 = "test2";
+    private static final String TEST_DEVICE_NAME3 = "test3";
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM1 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME1, /* groupId= */ 1, /* isActive= */ false);
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM2 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME2, /* groupId= */ 2, /* isActive= */ false);
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM3 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME3, /* groupId= */ 3, /* isActive= */ false);
+
+    private Fragment mParent;
+    private AudioSharingDialogFragment mFragment;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        ShadowAlertDialogCompat.reset();
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mFragment = new AudioSharingDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mFragment.show(mParent, new ArrayList<>(), (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_noConnectedDevice() {
+        mFragment.show(mParent, new ArrayList<>(), (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        TextView subtitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        ImageView guidance = rootView.findViewById(R.id.share_audio_guidance);
+        Button shareBtn = rootView.findViewById(R.id.share_btn);
+        assertThat(dialog.isShowing()).isTrue();
+        assertThat(subtitle1.getVisibility()).isEqualTo(View.GONE);
+        assertThat(guidance.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(shareBtn.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_noConnectedDevice_dialogDismiss() {
+        mFragment.show(mParent, new ArrayList<>(), (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        dialog.findViewById(android.R.id.button2).performClick();
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_singleConnectedDevice() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        mFragment.show(mParent, list, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        TextView subtitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        ImageView guidance = rootView.findViewById(R.id.share_audio_guidance);
+        Button shareBtn = rootView.findViewById(R.id.share_btn);
+        assertThat(dialog.isShowing()).isTrue();
+        assertThat(subtitle1.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(subtitle1.getText().toString()).isEqualTo(TEST_DEVICE_NAME1);
+        assertThat(guidance.getVisibility()).isEqualTo(View.GONE);
+        assertThat(shareBtn.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_singleConnectedDevice_dialogDismiss() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        mFragment.show(mParent, list, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        rootView.findViewById(R.id.cancel_btn).performClick();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_singleConnectedDevice_shareClicked() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        AtomicBoolean isShareBtnClicked = new AtomicBoolean(false);
+        mFragment.show(
+                mParent,
+                list,
+                (item) -> {
+                    isShareBtnClicked.set(true);
+                });
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        rootView.findViewById(R.id.share_btn).performClick();
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(isShareBtnClicked.get()).isTrue();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_multipleConnectedDevice() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        list.add(TEST_DEVICE_ITEM2);
+        list.add(TEST_DEVICE_ITEM3);
+        mFragment.show(mParent, list, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        TextView subtitle1 = rootView.findViewById(R.id.share_audio_subtitle1);
+        ImageView guidance = rootView.findViewById(R.id.share_audio_guidance);
+        Button shareBtn = rootView.findViewById(R.id.share_btn);
+        RecyclerView recyclerView = rootView.findViewById(R.id.btn_list);
+        assertThat(dialog.isShowing()).isTrue();
+        assertThat(subtitle1.getVisibility()).isEqualTo(View.GONE);
+        assertThat(guidance.getVisibility()).isEqualTo(View.GONE);
+        assertThat(shareBtn.getVisibility()).isEqualTo(View.GONE);
+        assertThat(recyclerView.getVisibility()).isEqualTo(View.VISIBLE);
+        assertThat(recyclerView.getAdapter().getItemCount()).isEqualTo(3);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_multipleConnectedDevice_dialogDismiss() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        list.add(TEST_DEVICE_ITEM2);
+        list.add(TEST_DEVICE_ITEM3);
+        mFragment.show(mParent, list, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        rootView.findViewById(R.id.cancel_btn).performClick();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
new file mode 100644
index 0000000..966a695
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingDisconnectDialogFragmentTest.java
@@ -0,0 +1,224 @@
+/*
+ * 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.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.BluetoothDevice;
+import android.bluetooth.BluetoothStatusCodes;
+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.view.View;
+import android.widget.Button;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+import androidx.recyclerview.widget.RecyclerView;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+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.ArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowAlertDialogCompat.class,
+            ShadowBluetoothAdapter.class,
+        })
+public class AudioSharingDisconnectDialogFragmentTest {
+
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String TEST_DEVICE_NAME1 = "test1";
+    private static final String TEST_DEVICE_NAME2 = "test2";
+    private static final String TEST_DEVICE_NAME3 = "test3";
+    private static final int TEST_GROUP_ID1 = 1;
+    private static final int TEST_GROUP_ID2 = 2;
+    private static final int TEST_GROUP_ID3 = 3;
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM1 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME1, TEST_GROUP_ID1, /* isActive= */ true);
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM2 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME2, TEST_GROUP_ID2, /* isActive= */ false);
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM3 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME3, TEST_GROUP_ID3, /* isActive= */ false);
+
+    @Mock private BluetoothDevice mDevice1;
+    @Mock private BluetoothDevice mDevice2;
+    @Mock private BluetoothDevice mDevice3;
+
+    @Mock private CachedBluetoothDevice mCachedDevice1;
+    @Mock private CachedBluetoothDevice mCachedDevice2;
+    @Mock private CachedBluetoothDevice mCachedDevice3;
+    private Fragment mParent;
+    private AudioSharingDisconnectDialogFragment mFragment;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private ArrayList<AudioSharingDeviceItem> mDeviceItems = new ArrayList<>();
+
+    @Before
+    public void setUp() {
+        AlertDialog latestAlertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        if (latestAlertDialog != null) {
+            latestAlertDialog.dismiss();
+            ShadowAlertDialogCompat.reset();
+        }
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
+        when(mCachedDevice1.getDevice()).thenReturn(mDevice1);
+        when(mCachedDevice1.getGroupId()).thenReturn(TEST_GROUP_ID1);
+        when(mCachedDevice2.getName()).thenReturn(TEST_DEVICE_NAME2);
+        when(mCachedDevice2.getDevice()).thenReturn(mDevice2);
+        when(mCachedDevice2.getGroupId()).thenReturn(TEST_GROUP_ID2);
+        when(mCachedDevice3.getName()).thenReturn(TEST_DEVICE_NAME3);
+        when(mCachedDevice3.getDevice()).thenReturn(mDevice3);
+        when(mCachedDevice3.getGroupId()).thenReturn(TEST_GROUP_ID3);
+        mFragment = new AudioSharingDisconnectDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+        mDeviceItems.add(TEST_DEVICE_ITEM1);
+        mDeviceItems.add(TEST_DEVICE_ITEM2);
+        mFragment.show(mParent, mDeviceItems, mCachedDevice3, (item) -> {});
+        shadowMainLooper().idle();
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        list.add(TEST_DEVICE_ITEM2);
+        mFragment.show(mParent, list, mCachedDevice3, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_dialogShowBtnForTwoDevices() {
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        RecyclerView view = rootView.findViewById(R.id.device_btn_list);
+        assertThat(view.getAdapter().getItemCount()).isEqualTo(2);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_dialogIsShowingForSameGroup_updateDialog() {
+        String prefix = "Disconnect ";
+        AtomicBoolean isItemBtnClicked = new AtomicBoolean(false);
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        RecyclerView view = rootView.findViewById(R.id.device_btn_list);
+        assertThat(view.getAdapter().getItemCount()).isEqualTo(2);
+        Button btn1 =
+                view.findViewHolderForAdapterPosition(0).itemView.findViewById(R.id.device_button);
+        assertThat(btn1.getText().toString()).isEqualTo(prefix + TEST_DEVICE_NAME1);
+        Button btn2 =
+                view.findViewHolderForAdapterPosition(1).itemView.findViewById(R.id.device_button);
+        assertThat(btn2.getText().toString()).isEqualTo(prefix + TEST_DEVICE_NAME2);
+        btn1.performClick();
+        assertThat(isItemBtnClicked.get()).isFalse();
+
+        // Update dialog content with same group
+        mFragment.show(mParent, mDeviceItems, mCachedDevice3, (item) -> isItemBtnClicked.set(true));
+        shadowMainLooper().idle();
+        dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+        btn1 = view.findViewHolderForAdapterPosition(0).itemView.findViewById(R.id.device_button);
+        btn1.performClick();
+        assertThat(isItemBtnClicked.get()).isTrue();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_dialogIsShowingForNewGroup_updateDialog() {
+        String prefix = "Disconnect ";
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        RecyclerView view = rootView.findViewById(R.id.device_btn_list);
+        assertThat(view.getAdapter().getItemCount()).isEqualTo(2);
+
+        // Update dialog content with new group
+        ArrayList<AudioSharingDeviceItem> newDeviceItems = new ArrayList<>();
+        newDeviceItems.add(TEST_DEVICE_ITEM2);
+        newDeviceItems.add(TEST_DEVICE_ITEM3);
+        mFragment.show(mParent, newDeviceItems, mCachedDevice1, (item) -> {});
+        shadowMainLooper().idle();
+        dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+        shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        rootView = shadowDialog.getView();
+        view = rootView.findViewById(R.id.device_btn_list);
+        assertThat(view.getAdapter().getItemCount()).isEqualTo(2);
+        Button btn1 =
+                view.findViewHolderForAdapterPosition(0).itemView.findViewById(R.id.device_button);
+        assertThat(btn1.getText().toString()).isEqualTo(prefix + TEST_DEVICE_NAME2);
+        Button btn2 =
+                view.findViewHolderForAdapterPosition(1).itemView.findViewById(R.id.device_button);
+        assertThat(btn2.getText().toString()).isEqualTo(prefix + TEST_DEVICE_NAME3);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickCancel_dialogDismiss() {
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        rootView.findViewById(R.id.cancel_btn).performClick();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProviderImplTest.java
new file mode 100644
index 0000000..0edbc77
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingFeatureProviderImplTest.java
@@ -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.connecteddevice.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.dashboard.DashboardFragment;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+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 AudioSharingFeatureProviderImplTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock private CachedBluetoothDevice mCachedDevice;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private DashboardFragment mFragment;
+    private Context mContext;
+    private AudioSharingFeatureProviderImpl mFeatureProvider;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFeatureProvider = new AudioSharingFeatureProviderImpl();
+    }
+
+    @Test
+    public void createAudioSharingDevicePreferenceController_returnsNull() {
+        assertThat(
+                        mFeatureProvider.createAudioSharingDevicePreferenceController(
+                                mContext, mFragment, /* lifecycle= */ null))
+                .isNull();
+    }
+
+    @Test
+    public void isAudioSharingFilterMatched_returnsFalse() {
+        assertThat(mFeatureProvider.isAudioSharingFilterMatched(mCachedDevice, mLocalBtManager))
+                .isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
new file mode 100644
index 0000000..56951c2
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingJoinDialogFragmentTest.java
@@ -0,0 +1,190 @@
+/*
+ * 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.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.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.view.View;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.R;
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+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.ArrayList;
+import java.util.concurrent.atomic.AtomicBoolean;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowAlertDialogCompat.class,
+            ShadowBluetoothAdapter.class,
+        })
+public class AudioSharingJoinDialogFragmentTest {
+
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String TEST_DEVICE_NAME1 = "test1";
+    private static final String TEST_DEVICE_NAME2 = "test2";
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM1 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME1, /* groupId= */ 1, /* isActive= */ true);
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM2 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME2, /* groupId= */ 2, /* isActive= */ false);
+
+    @Mock private CachedBluetoothDevice mCachedDevice1;
+    @Mock private CachedBluetoothDevice mCachedDevice2;
+    private Fragment mParent;
+    private AudioSharingJoinDialogFragment mFragment;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        AlertDialog latestAlertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        if (latestAlertDialog != null) {
+            latestAlertDialog.dismiss();
+            ShadowAlertDialogCompat.reset();
+        }
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
+        when(mCachedDevice2.getName()).thenReturn(TEST_DEVICE_NAME2);
+        mFragment = new AudioSharingJoinDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mFragment.show(mParent, new ArrayList<>(), mCachedDevice2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_dialogShowTextForSingleDevice() {
+        mFragment.show(mParent, new ArrayList<>(), mCachedDevice2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowDialog.getMessage().toString()).isEqualTo(TEST_DEVICE_NAME2);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOn_dialogShowTextForTwoDevice() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        mFragment.show(mParent, list, mCachedDevice2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowDialog.getMessage().toString())
+                .isEqualTo(TEST_DEVICE_NAME1 + " and " + TEST_DEVICE_NAME2);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_dialogIsShowing_updateDialog() {
+        ArrayList<AudioSharingDeviceItem> list = new ArrayList<>();
+        list.add(TEST_DEVICE_ITEM1);
+        mFragment.show(mParent, list, mCachedDevice2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+
+        // Update the content
+        ArrayList<AudioSharingDeviceItem> list2 = new ArrayList<>();
+        list2.add(TEST_DEVICE_ITEM2);
+        mFragment.show(mParent, list2, mCachedDevice1, () -> {});
+        shadowMainLooper().idle();
+        dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowDialog.getMessage().toString())
+                .isEqualTo(TEST_DEVICE_NAME2 + " and " + TEST_DEVICE_NAME1);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickCancel_dialogDismiss() {
+        mFragment.show(mParent, new ArrayList<>(), mCachedDevice2, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        rootView.findViewById(R.id.cancel_btn).performClick();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickShare_callbackTriggered() {
+        AtomicBoolean isShareBtnClicked = new AtomicBoolean(false);
+        mFragment.show(
+                mParent, new ArrayList<>(), mCachedDevice2, () -> isShareBtnClicked.set(true));
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        View rootView = shadowDialog.getView();
+        rootView.findViewById(R.id.share_btn).performClick();
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(isShareBtnClicked.get()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceControllerTest.java
new file mode 100644
index 0000000..145c08c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingPreferenceControllerTest.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.connecteddevice.audiosharing;
+
+import static android.bluetooth.BluetoothAdapter.STATE_OFF;
+import static android.bluetooth.BluetoothAdapter.STATE_ON;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothLeBroadcast;
+import android.bluetooth.BluetoothStatusCodes;
+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 androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.bluetooth.Utils;
+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.BluetoothEventManager;
+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 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;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowBluetoothAdapter.class, ShadowBluetoothUtils.class})
+public class AudioSharingPreferenceControllerTest {
+    private static final String PREF_KEY = "audio_sharing_settings";
+    private static final String SUMMARY_ON = "On";
+    private static final String SUMMARY_OFF = "Off";
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Spy Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private PreferenceScreen mScreen;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private BluetoothEventManager mBtEventManager;
+    @Mock private LocalBluetoothProfileManager mLocalBtProfileManager;
+    @Mock private LocalBluetoothLeBroadcast mBroadcast;
+    private AudioSharingPreferenceController mController;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private LocalBluetoothManager mLocalBluetoothManager;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private Preference mPreference;
+
+    @Before
+    public void setUp() {
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+        mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
+        when(mLocalBluetoothManager.getEventManager()).thenReturn(mBtEventManager);
+        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
+        when(mLocalBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+        mController = new AudioSharingPreferenceController(mContext, PREF_KEY);
+        mPreference = new Preference(mContext);
+        when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
+    }
+
+    @Test
+    public void onStart_registerCallback() {
+        mController.onStart(mLifecycleOwner);
+        verify(mBtEventManager).registerCallback(mController);
+        verify(mBroadcast).registerServiceCallBack(any(), any(BluetoothLeBroadcast.Callback.class));
+    }
+
+    @Test
+    public void onStop_unregisterCallback() {
+        mController.onStop(mLifecycleOwner);
+        verify(mBtEventManager).unregisterCallback(mController);
+        verify(mBroadcast).unregisterServiceCallBack(any(BluetoothLeBroadcast.Callback.class));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void getAvailabilityStatus_flagOn() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void getAvailabilityStatus_flagOff() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getSummary_broadcastOn() {
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        assertThat(mController.getSummary().toString()).isEqualTo(SUMMARY_ON);
+    }
+
+    @Test
+    public void getSummary_broadcastOff() {
+        when(mBroadcast.isEnabled(any())).thenReturn(false);
+        assertThat(mController.getSummary().toString()).isEqualTo(SUMMARY_OFF);
+    }
+
+    @Test
+    public void onBluetoothStateChanged_refreshSummary() {
+        mController.displayPreference(mScreen);
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        mController.onBluetoothStateChanged(STATE_ON);
+        assertThat(mPreference.getSummary().toString()).isEqualTo(SUMMARY_ON);
+        when(mBroadcast.isEnabled(any())).thenReturn(false);
+        mController.onBluetoothStateChanged(STATE_OFF);
+        assertThat(mPreference.getSummary().toString()).isEqualTo(SUMMARY_OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
new file mode 100644
index 0000000..d93105d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingStopDialogFragmentTest.java
@@ -0,0 +1,151 @@
+/*
+ * 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.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.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
+
+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 AudioSharingStopDialogFragmentTest {
+
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String TEST_DEVICE_NAME1 = "test1";
+    private static final String TEST_DEVICE_NAME2 = "test2";
+
+    @Mock private CachedBluetoothDevice mCachedDevice1;
+    @Mock private CachedBluetoothDevice mCachedDevice2;
+    private Fragment mParent;
+    private AudioSharingStopDialogFragment mFragment;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        AlertDialog latestAlertDialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        if (latestAlertDialog != null) {
+            latestAlertDialog.dismiss();
+            ShadowAlertDialogCompat.reset();
+        }
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
+        when(mCachedDevice2.getName()).thenReturn(TEST_DEVICE_NAME2);
+        mFragment = new AudioSharingStopDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mFragment.show(mParent, mCachedDevice1, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_dialogIsShowing_updateDialog() {
+        String postMessage = " wants to connect, headphones in audio sharing will disconnect.";
+        mFragment.show(mParent, mCachedDevice1, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowDialog.getMessage().toString()).isEqualTo(TEST_DEVICE_NAME1 + postMessage);
+
+        // Update the content
+        mFragment.show(mParent, mCachedDevice2, () -> {});
+        shadowMainLooper().idle();
+        dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNotNull();
+        assertThat(dialog.isShowing()).isTrue();
+        shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
+        assertThat(shadowDialog.getMessage().toString()).isEqualTo(TEST_DEVICE_NAME2 + postMessage);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickCancel_dialogDismiss() {
+        mFragment.show(mParent, mCachedDevice1, () -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        dialog.findViewById(android.R.id.button2).performClick();
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_clickShare_callbackTriggered() {
+        AtomicBoolean isStopBtnClicked = new AtomicBoolean(false);
+        mFragment.show(mParent, mCachedDevice1, () -> isStopBtnClicked.set(true));
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        dialog.findViewById(android.R.id.button1).performClick();
+        shadowMainLooper().idle();
+        assertThat(dialog.isShowing()).isFalse();
+        assertThat(isStopBtnClicked.get()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
new file mode 100644
index 0000000..11e8ec9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/AudioSharingSwitchBarControllerTest.java
@@ -0,0 +1,85 @@
+/*
+ * 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.connecteddevice.audiosharing;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.robolectric.Shadows.shadowOf;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+import android.content.Intent;
+import android.os.Looper;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.widget.Switch;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.flags.Flags;
+import com.android.settings.widget.SettingsMainSwitchBar;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+public class AudioSharingSwitchBarControllerTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Spy Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private Switch mSwitch;
+
+    private SettingsMainSwitchBar mSwitchBar;
+    private AudioSharingSwitchBarController mController;
+    private AudioSharingSwitchBarController.OnSwitchBarChangedListener mListener;
+    private boolean mOnSwitchBarChanged;
+
+    @Before
+    public void setUp() {
+        mSwitchBar = new SettingsMainSwitchBar(mContext);
+        mOnSwitchBarChanged = false;
+        mListener = () -> mOnSwitchBarChanged = true;
+        mController = new AudioSharingSwitchBarController(mContext, mSwitchBar, mListener);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void bluetoothOff_switchDisabled() {
+        assertThat(mSwitchBar.isEnabled()).isTrue();
+        mContext.registerReceiver(
+                mController.mReceiver,
+                mController.mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
+        Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
+        intent.putExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.STATE_OFF);
+        mContext.sendBroadcast(intent);
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mSwitchBar.isEnabled()).isFalse();
+        assertThat(mOnSwitchBarChanged).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragmentTest.java
new file mode 100644
index 0000000..58a1272
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsDialogFragmentTest.java
@@ -0,0 +1,110 @@
+/*
+ * 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.annotations.RequiresFlagsDisabled;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.appcompat.app.AlertDialog;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowBluetoothAdapter;
+
+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;
+
+import java.util.ArrayList;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowAlertDialogCompat.class,
+            ShadowBluetoothAdapter.class,
+        })
+public class CallsAndAlarmsDialogFragmentTest {
+    @Rule public final MockitoRule mocks = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String TEST_DEVICE_NAME1 = "test1";
+    private static final String TEST_DEVICE_NAME2 = "test2";
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM1 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME1, /* groupId= */ 1, /* isActive= */ true);
+
+    private static final AudioSharingDeviceItem TEST_DEVICE_ITEM2 =
+            new AudioSharingDeviceItem(TEST_DEVICE_NAME2, /* groupId= */ 1, /* isActive= */ true);
+
+    private Fragment mParent;
+    private CallsAndAlarmsDialogFragment mFragment;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+
+    @Before
+    public void setUp() {
+        ShadowAlertDialogCompat.reset();
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mFragment = new CallsAndAlarmsDialogFragment();
+        mParent = new Fragment();
+        FragmentController.setupFragment(
+                mParent, FragmentActivity.class, /* containerViewId= */ 0, /* bundle= */ null);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_flagOff_dialogNotExist() {
+        mFragment.show(mParent, new ArrayList<>(), (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog).isNull();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void onCreateDialog_showCorrectItems() {
+        ArrayList<AudioSharingDeviceItem> deviceItemList = new ArrayList<>();
+        deviceItemList.add(TEST_DEVICE_ITEM1);
+        deviceItemList.add(TEST_DEVICE_ITEM2);
+        mFragment.show(mParent, deviceItemList, (item) -> {});
+        shadowMainLooper().idle();
+        AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
+        assertThat(dialog.getListView().getCount()).isEqualTo(2);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceControllerTest.java
new file mode 100644
index 0000000..4cdd364
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/audiosharing/CallsAndAlarmsPreferenceControllerTest.java
@@ -0,0 +1,248 @@
+/*
+ * 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.Mockito.verify;
+import static org.mockito.Mockito.when;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+import android.bluetooth.BluetoothLeBroadcastAssistant;
+import android.bluetooth.BluetoothLeBroadcastReceiveState;
+import android.bluetooth.BluetoothProfile;
+import android.bluetooth.BluetoothStatusCodes;
+import android.content.Context;
+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;
+import android.provider.Settings;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.bluetooth.Utils;
+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.BluetoothEventManager;
+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;
+import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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.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 java.util.ArrayList;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowBluetoothAdapter.class,
+            ShadowBluetoothUtils.class,
+        })
+public class CallsAndAlarmsPreferenceControllerTest {
+    private static final String PREF_KEY = "calls_and_alarms";
+    private static final String SUMMARY_EMPTY = "No active device in sharing";
+    private static final String TEST_DEVICE_NAME1 = "test1";
+    private static final String TEST_DEVICE_NAME2 = "test2";
+    private static final String TEST_SETTINGS_KEY =
+            "bluetooth_le_broadcast_fallback_active_group_id";
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Spy Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private PreferenceScreen mScreen;
+    @Mock private LocalBluetoothManager mLocalBtManager;
+    @Mock private BluetoothEventManager mBtEventManager;
+    @Mock private LocalBluetoothProfileManager mLocalBtProfileManager;
+    @Mock private CachedBluetoothDeviceManager mCacheManager;
+    @Mock private LocalBluetoothLeBroadcast mBroadcast;
+    @Mock private LocalBluetoothLeBroadcastAssistant mAssistant;
+    @Mock private BluetoothDevice mDevice1;
+    @Mock private BluetoothDevice mDevice2;
+    @Mock private BluetoothDevice mDevice3;
+    @Mock private CachedBluetoothDevice mCachedDevice1;
+    @Mock private CachedBluetoothDevice mCachedDevice2;
+    @Mock private CachedBluetoothDevice mCachedDevice3;
+    @Mock private BluetoothLeBroadcastReceiveState mState;
+    private CallsAndAlarmsPreferenceController mController;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private LocalBluetoothManager mLocalBluetoothManager;
+    private Lifecycle mLifecycle;
+    private LifecycleOwner mLifecycleOwner;
+    private Preference mPreference;
+
+    @Before
+    public void setUp() {
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+        mShadowBluetoothAdapter.setEnabled(true);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastSourceSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mShadowBluetoothAdapter.setIsLeAudioBroadcastAssistantSupported(
+                BluetoothStatusCodes.FEATURE_SUPPORTED);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        ShadowBluetoothUtils.sLocalBluetoothManager = mLocalBtManager;
+        mLocalBluetoothManager = Utils.getLocalBtManager(mContext);
+        when(mLocalBluetoothManager.getEventManager()).thenReturn(mBtEventManager);
+        when(mLocalBluetoothManager.getProfileManager()).thenReturn(mLocalBtProfileManager);
+        when(mLocalBtProfileManager.getLeAudioBroadcastProfile()).thenReturn(mBroadcast);
+        when(mLocalBtProfileManager.getLeAudioBroadcastAssistantProfile()).thenReturn(mAssistant);
+        mController = new CallsAndAlarmsPreferenceController(mContext);
+        mPreference = new Preference(mContext);
+        when(mScreen.findPreference(PREF_KEY)).thenReturn(mPreference);
+    }
+
+    @Test
+    public void onStart_registerCallback() {
+        mController.onStart(mLifecycleOwner);
+        verify(mBtEventManager).registerCallback(mController);
+        verify(mAssistant)
+                .registerServiceCallBack(any(), any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    public void onStop_unregisterCallback() {
+        mController.onStop(mLifecycleOwner);
+        verify(mBtEventManager).unregisterCallback(mController);
+        verify(mAssistant)
+                .unregisterServiceCallBack(any(BluetoothLeBroadcastAssistant.Callback.class));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void getAvailabilityStatus_flagOn() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_LE_AUDIO_SHARING)
+    public void getAvailabilityStatus_flagOff() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void updateVisibility_broadcastOffBluetoothOff() {
+        when(mBroadcast.isEnabled(any())).thenReturn(false);
+        mShadowBluetoothAdapter.setEnabled(false);
+        mController.displayPreference(mScreen);
+        mController.updateVisibility();
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void updateVisibility_broadcastOnBluetoothOff() {
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        mShadowBluetoothAdapter.setEnabled(false);
+        mController.displayPreference(mScreen);
+        mController.updateVisibility();
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void updateVisibility_broadcastOffBluetoothOn() {
+        when(mBroadcast.isEnabled(any())).thenReturn(false);
+        mController.displayPreference(mScreen);
+        mController.updateVisibility();
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void updateVisibility_broadcastOnBluetoothOn() {
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        when(mAssistant.getConnectedDevices()).thenReturn(new ArrayList<BluetoothDevice>());
+        mController.displayPreference(mScreen);
+        mController.updateVisibility();
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isEqualTo(SUMMARY_EMPTY);
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_updatePreference() {
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        when(mAssistant.getConnectedDevices()).thenReturn(new ArrayList<BluetoothDevice>());
+        mController.displayPreference(mScreen);
+        mController.onProfileConnectionStateChanged(
+                mCachedDevice1, BluetoothAdapter.STATE_DISCONNECTED, BluetoothProfile.LE_AUDIO);
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isEqualTo(SUMMARY_EMPTY);
+    }
+
+    @Test
+    public void updatePreference_showCorrectSummary() {
+        final int groupId1 = 1;
+        final int groupId2 = 2;
+        Settings.Secure.putInt(mContext.getContentResolver(), TEST_SETTINGS_KEY, groupId1);
+        when(mCachedDevice1.getGroupId()).thenReturn(groupId1);
+        when(mCachedDevice1.getDevice()).thenReturn(mDevice1);
+        when(mCachedDevice2.getGroupId()).thenReturn(groupId1);
+        when(mCachedDevice2.getDevice()).thenReturn(mDevice2);
+        when(mCachedDevice1.getMemberDevice()).thenReturn(ImmutableSet.of(mCachedDevice2));
+        when(mCachedDevice1.getName()).thenReturn(TEST_DEVICE_NAME1);
+        when(mCachedDevice3.getGroupId()).thenReturn(groupId2);
+        when(mCachedDevice3.getDevice()).thenReturn(mDevice3);
+        when(mCachedDevice3.getName()).thenReturn(TEST_DEVICE_NAME2);
+        when(mLocalBluetoothManager.getCachedDeviceManager()).thenReturn(mCacheManager);
+        when(mCacheManager.findDevice(mDevice1)).thenReturn(mCachedDevice1);
+        when(mCacheManager.findDevice(mDevice2)).thenReturn(mCachedDevice2);
+        when(mCacheManager.findDevice(mDevice3)).thenReturn(mCachedDevice3);
+        when(mBroadcast.isEnabled(any())).thenReturn(true);
+        ImmutableList<BluetoothDevice> deviceList = ImmutableList.of(mDevice1, mDevice2, mDevice3);
+        when(mAssistant.getConnectedDevices()).thenReturn(deviceList);
+        when(mAssistant.getAllSources(any())).thenReturn(ImmutableList.of(mState));
+        mController.displayPreference(mScreen);
+        mController.updateVisibility();
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreference.isVisible()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isEqualTo(TEST_DEVICE_NAME1);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceDashboardFragmentTest.java
new file mode 100644
index 0000000..7ac9711
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceDashboardFragmentTest.java
@@ -0,0 +1,64 @@
+/*
+ * 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.fastpair;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.settings.SettingsEnums;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.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 FastPairDeviceDashboardFragmentTest {
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    private FastPairDeviceDashboardFragment mFragment;
+
+    @Before
+    public void setUp() {
+        mFragment = new FastPairDeviceDashboardFragment();
+    }
+
+    @Test
+    public void getPreferenceScreenResId_returnsCorrectXml() {
+        assertThat(mFragment.getPreferenceScreenResId()).isEqualTo(R.xml.fast_pair_devices);
+    }
+
+    @Test
+    public void getLogTag_returnsCorrectTag() {
+        assertThat(mFragment.getLogTag()).isEqualTo("FastPairDeviceFrag");
+    }
+
+    @Test
+    public void getMetricsCategory_returnsCorrectCategory() {
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.FAST_PAIR_DEVICES);
+    }
+
+    @Test
+    public void getHelpResource_returnsCorrectResource() {
+        assertThat(mFragment.getHelpResource())
+                .isEqualTo(R.string.help_url_connected_devices_fast_pair_devices);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java
new file mode 100644
index 0000000..25e927b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDeviceGroupControllerTest.java
@@ -0,0 +1,248 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.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.content.Context;
+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;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+import androidx.preference.PreferenceManager;
+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;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowBluetoothAdapter.class)
+public class FastPairDeviceGroupControllerTest {
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String KEY = "fast_pair_device_list";
+
+    @Mock private DashboardFragment mDashboardFragment;
+    @Mock private FastPairDeviceUpdater mFastPairDeviceUpdater;
+    @Mock private PackageManager mPackageManager;
+    @Mock private PreferenceManager mPreferenceManager;
+    @Mock private PreferenceScreen mScreen;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private Context mContext;
+    private FastPairDeviceGroupController mFastPairDeviceGroupController;
+    private PreferenceGroup mPreferenceGroup;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        doReturn(mContext).when(mDashboardFragment).getContext();
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        FastPairFeatureProvider provider =
+                FakeFeatureFactory.setupForTest().getFastPairFeatureProvider();
+        doReturn(mFastPairDeviceUpdater).when(provider).getFastPairDeviceUpdater(any(), any());
+        mFastPairDeviceGroupController = new FastPairDeviceGroupController(mContext);
+        mPreferenceGroup = spy(new PreferenceCategory(mContext));
+        doReturn(mPreferenceManager).when(mPreferenceGroup).getPreferenceManager();
+        mPreferenceGroup.setVisible(false);
+        mFastPairDeviceGroupController.setPreferenceGroup(mPreferenceGroup);
+        when(mScreen.findPreference(KEY)).thenReturn(mPreferenceGroup);
+        when(mScreen.getContext()).thenReturn(mContext);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
+    public void onStart_flagOn_registerCallback() {
+        // register the callback in onStart()
+        mFastPairDeviceGroupController.onStart(mLifecycleOwner);
+        verify(mFastPairDeviceUpdater).registerCallback();
+        verify(mContext)
+                .registerReceiver(
+                        mFastPairDeviceGroupController.mReceiver,
+                        mFastPairDeviceGroupController.mIntentFilter,
+                        Context.RECEIVER_EXPORTED);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
+    public void onStop_flagOn_unregisterCallback() {
+        // register broadcast first
+        mContext.registerReceiver(
+                mFastPairDeviceGroupController.mReceiver, null, Context.RECEIVER_EXPORTED);
+
+        // unregister the callback in onStop()
+        mFastPairDeviceGroupController.onStop(mLifecycleOwner);
+        verify(mFastPairDeviceUpdater).unregisterCallback();
+        verify(mContext).unregisterReceiver(mFastPairDeviceGroupController.mReceiver);
+    }
+
+    @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);
+
+        assertThat(mFastPairDeviceGroupController.getAvailabilityStatus())
+                .isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
+    public void getAvailabilityStatus_withBluetoothFastPairFeature_returnSupported() {
+        doReturn(true).when(mPackageManager).hasSystemFeature(PackageManager.FEATURE_BLUETOOTH);
+
+        assertThat(mFastPairDeviceGroupController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void updatePreferenceVisibility_bluetoothIsDisable_shouldHidePreference() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        mFastPairDeviceGroupController.onDeviceAdded(preference1);
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+
+        mShadowBluetoothAdapter.setEnabled(false);
+        // register broadcast first
+        mContext.registerReceiver(
+                mFastPairDeviceGroupController.mReceiver,
+                mFastPairDeviceGroupController.mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
+        Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
+        mContext.sendBroadcast(intent);
+
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreferenceGroup.isVisible()).isFalse();
+    }
+
+    @Test
+    public void onDeviceAdd_bluetoothIsDisable_shouldHidePreference() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        mFastPairDeviceGroupController.onDeviceAdded(preference1);
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+    }
+
+    @Test
+    public void onDeviceRemoved_bluetoothIsDisable_shouldHidePreference() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        mPreferenceGroup.addPreference(preference1);
+        mFastPairDeviceGroupController.onDeviceRemoved(preference1);
+        assertThat(mPreferenceGroup.isVisible()).isFalse();
+    }
+
+    @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);
+
+        mFastPairDeviceGroupController.displayPreference(mScreen);
+        verify(mFastPairDeviceUpdater).forceUpdate();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java
new file mode 100644
index 0000000..be2ed56
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairDevicePreferenceControllerTest.java
@@ -0,0 +1,291 @@
+/*
+ * 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.connecteddevice.fastpair;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.robolectric.Shadows.shadowOf;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+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;
+
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
+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;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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;
+import org.robolectric.shadow.api.Shadow;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowBluetoothAdapter.class)
+public class FastPairDevicePreferenceControllerTest {
+
+    private static final String KEY = "test_key";
+
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Mock private DashboardFragment mDashboardFragment;
+    @Mock private FastPairDeviceUpdater mFastPairDeviceUpdater;
+    @Mock private PackageManager mPackageManager;
+    @Mock private PreferenceManager mPreferenceManager;
+    private Context mContext;
+    private FastPairDevicePreferenceController mFastPairDevicePrefController;
+    private PreferenceGroup mPreferenceGroup;
+    private Preference mSeeAllPreference;
+    private ShadowBluetoothAdapter mShadowBluetoothAdapter;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        doReturn(mContext).when(mDashboardFragment).getContext();
+        doReturn(mPackageManager).when(mContext).getPackageManager();
+        FastPairFeatureProvider provider =
+                FakeFeatureFactory.setupForTest().getFastPairFeatureProvider();
+        doReturn(mFastPairDeviceUpdater).when(provider).getFastPairDeviceUpdater(any(), any());
+        mFastPairDevicePrefController = new FastPairDevicePreferenceController(mContext, KEY);
+        mShadowBluetoothAdapter = Shadow.extract(BluetoothAdapter.getDefaultAdapter());
+
+        mPreferenceGroup = spy(new PreferenceCategory(mContext));
+        doReturn(mPreferenceManager).when(mPreferenceGroup).getPreferenceManager();
+        mSeeAllPreference = spy(new Preference(mContext));
+        mPreferenceGroup.setVisible(false);
+        mSeeAllPreference.setVisible(false);
+        mFastPairDevicePrefController.setPreferenceGroup(mPreferenceGroup);
+        mFastPairDevicePrefController.mSeeAllPreference = mSeeAllPreference;
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_SUBSEQUENT_PAIR_SETTINGS_INTEGRATION)
+    public void onStart_flagOn_registerCallback() {
+        // register the callback in onStart()
+        mFastPairDevicePrefController.onStart(mLifecycleOwner);
+        verify(mFastPairDeviceUpdater).registerCallback();
+        verify(mContext)
+                .registerReceiver(
+                        mFastPairDevicePrefController.mReceiver,
+                        mFastPairDevicePrefController.mIntentFilter,
+                        Context.RECEIVER_EXPORTED_UNAUDITED);
+    }
+
+    @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(
+                mFastPairDevicePrefController.mReceiver, null, Context.RECEIVER_EXPORTED_UNAUDITED);
+
+        // unregister the callback in onStop()
+        mFastPairDevicePrefController.onStop(mLifecycleOwner);
+        verify(mFastPairDeviceUpdater).unregisterCallback();
+        verify(mContext).unregisterReceiver(mFastPairDevicePrefController.mReceiver);
+    }
+
+    @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);
+
+        assertThat(mFastPairDevicePrefController.getAvailabilityStatus())
+                .isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @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);
+
+        assertThat(mFastPairDevicePrefController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void onDeviceAdded_addThreeFastPairDevicePreference_displayThreeNoSeeAll() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        final GearPreference preference2 = new GearPreference(mContext, null /* AttributeSet */);
+        final GearPreference preference3 = new GearPreference(mContext, null /* AttributeSet */);
+
+        mFastPairDevicePrefController.onDeviceAdded(preference1);
+        mFastPairDevicePrefController.onDeviceAdded(preference2);
+        mFastPairDevicePrefController.onDeviceAdded(preference3);
+
+        assertThat(mPreferenceGroup.getPreferenceCount()).isEqualTo(3);
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+        assertThat(mSeeAllPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void onDeviceAdded_addFourDevicePreference_onlyDisplayThreeWithSeeAll() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        preference1.setOrder(4);
+        final GearPreference preference2 = new GearPreference(mContext, null /* AttributeSet */);
+        preference2.setOrder(3);
+        final GearPreference preference3 = new GearPreference(mContext, null /* AttributeSet */);
+        preference3.setOrder(1);
+        final GearPreference preference4 = new GearPreference(mContext, null /* AttributeSet */);
+        preference4.setOrder(2);
+        final GearPreference preference5 = new GearPreference(mContext, null /* AttributeSet */);
+        preference5.setOrder(5);
+
+        mFastPairDevicePrefController.onDeviceAdded(preference1);
+        mFastPairDevicePrefController.onDeviceAdded(preference2);
+        mFastPairDevicePrefController.onDeviceAdded(preference3);
+        mFastPairDevicePrefController.onDeviceAdded(preference4);
+        mFastPairDevicePrefController.onDeviceAdded(preference5);
+
+        // 3 GearPreference and 1 see all preference
+        assertThat(mPreferenceGroup.getPreference(0)).isEqualTo(preference3);
+        assertThat(mPreferenceGroup.getPreference(1)).isEqualTo(preference4);
+        assertThat(mPreferenceGroup.getPreference(2)).isEqualTo(preference2);
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+        assertThat(mSeeAllPreference.isVisible()).isTrue();
+    }
+
+    @Test
+    public void onDeviceRemoved_removeFourthDevice_hideSeeAll() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        preference1.setOrder(1);
+        final GearPreference preference2 = new GearPreference(mContext, null /* AttributeSet */);
+        preference2.setOrder(2);
+        final GearPreference preference3 = new GearPreference(mContext, null /* AttributeSet */);
+        preference3.setOrder(3);
+        final GearPreference preference4 = new GearPreference(mContext, null /* AttributeSet */);
+        preference4.setOrder(4);
+        final GearPreference preference5 = new GearPreference(mContext, null /* AttributeSet */);
+        preference5.setOrder(5);
+
+        mFastPairDevicePrefController.onDeviceAdded(preference1);
+        mFastPairDevicePrefController.onDeviceAdded(preference2);
+        mFastPairDevicePrefController.onDeviceAdded(preference3);
+        mFastPairDevicePrefController.onDeviceAdded(preference4);
+        mFastPairDevicePrefController.onDeviceAdded(preference5);
+
+        mFastPairDevicePrefController.onDeviceRemoved(preference4);
+        mFastPairDevicePrefController.onDeviceRemoved(preference2);
+
+        // 3 GearPreference and no see all preference
+        assertThat(mPreferenceGroup.getPreference(0)).isEqualTo(preference1);
+        assertThat(mPreferenceGroup.getPreference(1)).isEqualTo(preference3);
+        assertThat(mPreferenceGroup.getPreference(2)).isEqualTo(preference5);
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+        assertThat(mSeeAllPreference.isVisible()).isFalse();
+    }
+
+    @Test
+    public void updatePreferenceVisibility_bluetoothIsDisable_shouldHidePreference() {
+        mShadowBluetoothAdapter.setEnabled(true);
+        final GearPreference preference1 = new GearPreference(mContext, null /* AttributeSet */);
+        mFastPairDevicePrefController.onDeviceAdded(preference1);
+        assertThat(mPreferenceGroup.isVisible()).isTrue();
+
+        mShadowBluetoothAdapter.setEnabled(false);
+        // register broadcast first
+        mContext.registerReceiver(
+                mFastPairDevicePrefController.mReceiver,
+                mFastPairDevicePrefController.mIntentFilter,
+                Context.RECEIVER_EXPORTED_UNAUDITED);
+        Intent intent = new Intent(BluetoothAdapter.ACTION_STATE_CHANGED);
+        mContext.sendBroadcast(intent);
+
+        shadowOf(Looper.getMainLooper()).idle();
+        assertThat(mPreferenceGroup.isVisible()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProviderImplTest.java
new file mode 100644
index 0000000..ba72cde
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/fastpair/FastPairFeatureProviderImplTest.java
@@ -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.
+ */
+
+package com.android.settings.connecteddevice.fastpair;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.connecteddevice.DevicePreferenceCallback;
+
+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 FastPairFeatureProviderImplTest {
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock private DevicePreferenceCallback mDevicePreferenceCallback;
+
+    private Context mContext;
+    private FastPairFeatureProviderImpl mFeatureProvider;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFeatureProvider = new FastPairFeatureProviderImpl();
+    }
+
+    @Test
+    public void getFastPairDeviceUpdater_returnsEmptyClass() {
+        assertThat(mFeatureProvider.getFastPairDeviceUpdater(mContext, mDevicePreferenceCallback))
+                .isInstanceOf(FastPairDeviceUpdater.class);
+    }
+}
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 9538092..6c96f85 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/stylus/StylusDevicesControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.connecteddevice.stylus;
 
+import static android.view.KeyEvent.KEYCODE_STYLUS_BUTTON_TAIL;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertEquals;
@@ -52,7 +54,7 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
@@ -106,6 +108,9 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(ApplicationProvider.getApplicationContext());
+        final var spiedResources = spy(mContext.getResources());
+        when(mContext.getResources()).thenReturn(spiedResources);
+
         PreferenceManager preferenceManager = new PreferenceManager(mContext);
         mScreen = preferenceManager.createPreferenceScreen(mContext);
         mPreferenceContainer = new PreferenceCategory(mContext);
@@ -139,6 +144,11 @@
                 .setSources(InputDevice.SOURCE_STYLUS)
                 .build());
         when(mInputDevice.getBluetoothAddress()).thenReturn("SOME:ADDRESS");
+        when(mInputDevice.hasKeys(KEYCODE_STYLUS_BUTTON_TAIL)).thenReturn(
+                new boolean[]{true});
+
+        when(spiedResources.getBoolean(
+                com.android.internal.R.bool.config_enableStylusPointerIcon)).thenReturn(true);
 
         mController = new StylusDevicesController(mContext, mInputDevice, null, mLifecycle);
     }
@@ -217,17 +227,40 @@
 
         showScreen(controller);
 
+        assertThat(mPreferenceContainer.getPreferenceCount()).isEqualTo(4);
+    }
+
+    @Test
+    public void usiStylusInputDevice_doesntSupportTailButton_tailButtonPreferenceNotShown() {
+        when(mInputDevice.hasKeys(KEYCODE_STYLUS_BUTTON_TAIL)).thenReturn(new boolean[]{false});
+        when(mBluetoothDevice.getMetadata(BluetoothDevice.METADATA_DEVICE_TYPE)).thenReturn(
+                BluetoothDevice.DEVICE_TYPE_WATCH.getBytes());
+        StylusDevicesController controller = new StylusDevicesController(
+                mContext, mInputDevice, mCachedBluetoothDevice, mLifecycle
+        );
+
+        showScreen(controller);
+        Preference handwritingPref = mPreferenceContainer.getPreference(0);
+        Preference buttonPref = mPreferenceContainer.getPreference(1);
+
         assertThat(mPreferenceContainer.getPreferenceCount()).isEqualTo(3);
+        assertThat(handwritingPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_textfield_handwriting));
+        assertThat(handwritingPref.isVisible()).isTrue();
+        assertThat(buttonPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.stylus_ignore_button));
+        assertThat(buttonPref.isVisible()).isTrue();
     }
 
     @Test
     public void btStylusInputDevice_showsAllPreferences() {
         showScreen(mController);
+
         Preference defaultNotesPref = mPreferenceContainer.getPreference(0);
         Preference handwritingPref = mPreferenceContainer.getPreference(1);
         Preference buttonPref = mPreferenceContainer.getPreference(2);
+        Preference stylusPointerIconPref = mPreferenceContainer.getPreference(3);
 
-        assertThat(mPreferenceContainer.getPreferenceCount()).isEqualTo(3);
         assertThat(defaultNotesPref.getTitle().toString()).isEqualTo(
                 mContext.getString(R.string.stylus_default_notes_app));
         assertThat(defaultNotesPref.isVisible()).isTrue();
@@ -237,6 +270,9 @@
         assertThat(buttonPref.getTitle().toString()).isEqualTo(
                 mContext.getString(R.string.stylus_ignore_button));
         assertThat(buttonPref.isVisible()).isTrue();
+        assertThat(stylusPointerIconPref.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.show_stylus_pointer_icon));
+        assertThat(stylusPointerIconPref.isVisible()).isTrue();
     }
 
     @Test
@@ -331,7 +367,7 @@
 
     @Test
     public void defaultNotesPreferenceClick_multiUserManagedProfile_showsProfileSelectorDialog() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final String permissionPackageName = "permissions.package";
         final UserHandle currentUser = Process.myUserHandle();
         List<UserInfo> userInfos = Arrays.asList(
@@ -355,7 +391,7 @@
     @Test
     public void defaultNotesPreferenceClick_noManagedProfile_sendsManageDefaultRoleIntent() {
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
         final String permissionPackageName = "permissions.package";
         final UserHandle currentUser = Process.myUserHandle();
         List<UserInfo> userInfos = Arrays.asList(
@@ -492,7 +528,8 @@
                 Settings.Secure.STYLUS_BUTTONS_ENABLED, 0);
 
         showScreen(mController);
-        SwitchPreference buttonsPref = (SwitchPreference) mPreferenceContainer.getPreference(2);
+        SwitchPreferenceCompat buttonsPref =
+                (SwitchPreferenceCompat) mPreferenceContainer.getPreference(2);
 
         assertThat(buttonsPref.isChecked()).isEqualTo(true);
     }
@@ -503,7 +540,8 @@
                 Settings.Secure.STYLUS_BUTTONS_ENABLED, 1);
 
         showScreen(mController);
-        SwitchPreference buttonsPref = (SwitchPreference) mPreferenceContainer.getPreference(2);
+        SwitchPreferenceCompat buttonsPref =
+                (SwitchPreferenceCompat) mPreferenceContainer.getPreference(2);
 
         assertThat(buttonsPref.isChecked()).isEqualTo(false);
     }
@@ -513,7 +551,8 @@
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.STYLUS_BUTTONS_ENABLED, 0);
         showScreen(mController);
-        SwitchPreference buttonsPref = (SwitchPreference) mPreferenceContainer.getPreference(2);
+        SwitchPreferenceCompat buttonsPref =
+                (SwitchPreferenceCompat) mPreferenceContainer.getPreference(2);
 
         buttonsPref.performClick();
 
@@ -522,6 +561,46 @@
                 Secure.STYLUS_BUTTONS_ENABLED, -1)).isEqualTo(1);
     }
 
+    @Test
+    public void stylusPointerIconPreference_checkedWhenFlagTrue() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.STYLUS_POINTER_ICON_ENABLED, 1);
+
+        showScreen(mController);
+        SwitchPreferenceCompat stylusPointerIconPref =
+                (SwitchPreferenceCompat) mPreferenceContainer.getPreference(3);
+
+        assertThat(stylusPointerIconPref.isChecked()).isEqualTo(true);
+    }
+
+    @Test
+    public void stylusPointerIconPreference_uncheckedWhenFlagFalse() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.STYLUS_POINTER_ICON_ENABLED, 0);
+
+        showScreen(mController);
+        SwitchPreferenceCompat stylusPointerIconPref =
+                (SwitchPreferenceCompat) mPreferenceContainer.getPreference(3);
+
+        assertThat(stylusPointerIconPref.isChecked()).isEqualTo(false);
+    }
+
+    @Test
+    public void stylusPointerIconPreference_updatesFlagOnClick() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.STYLUS_POINTER_ICON_ENABLED, 0);
+
+        showScreen(mController);
+        SwitchPreferenceCompat stylusPointerIconPref =
+                (SwitchPreferenceCompat) mPreferenceContainer.getPreference(3);
+
+        stylusPointerIconPref.performClick();
+
+        assertThat(stylusPointerIconPref.isChecked()).isEqualTo(true);
+        assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
+                Secure.STYLUS_POINTER_ICON_ENABLED, -1)).isEqualTo(1);
+    }
+
     private void showScreen(StylusDevicesController controller) {
         controller.displayPreference(mScreen);
     }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdaterTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdaterTest.java
index 1b2ef9a..8d96c72 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdaterTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/ConnectedUsbDeviceUpdaterTest.java
@@ -82,8 +82,7 @@
 
     @Test
     public void initUsbPreference_preferenceInit() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(true);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(true);
 
         mDeviceUpdater.initUsbPreference(mContext);
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsControllerTest.java
new file mode 100644
index 0000000..b8d31ed
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsControllerTest.java
@@ -0,0 +1,113 @@
+/*
+ * 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.connecteddevice.usb;
+
+import static androidx.test.core.app.ApplicationProvider.getApplicationContext;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.verify;
+
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.hardware.usb.UsbPortStatus;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import com.android.settings.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.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowKeyguardManager;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowKeyguardManager.class
+})
+public class UsbDetailsControllerTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Mock
+    private UsbBackend mUsbBackend;
+
+    private Context mContext;
+    private UsbDetailsController mUsbDetailsController;
+    private UsbDetailsFragment mUsbDetailsFragment;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = getApplicationContext();
+        mUsbDetailsFragment = new UsbDetailsFragment();
+        mUsbDetailsController = new UsbDetailsController(
+                mContext, mUsbDetailsFragment, mUsbBackend) {
+            @Override
+            protected void refresh(boolean connected, long functions, int powerRole, int dataRole) {
+            }
+
+            @Override
+            public String getPreferenceKey() {
+                return null;
+            }
+        };
+    }
+
+    @Test
+    public void isAvailable_returnsTrue() {
+        assertThat(mUsbDetailsController.isAvailable()).isTrue();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_AUTH_CHALLENGE_FOR_USB_PREFERENCES)
+    public void requireAuthAndExecute_whenAlreadyAuthenticated_executes() {
+        mUsbDetailsFragment.setUserAuthenticated(true);
+        Runnable action = () -> mUsbBackend.setDataRole(UsbPortStatus.DATA_ROLE_HOST);
+
+        mUsbDetailsController.requireAuthAndExecute(action);
+
+        verify(mUsbBackend).setDataRole(anyInt());
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_AUTH_CHALLENGE_FOR_USB_PREFERENCES)
+    public void requireAuthAndExecute_authenticatesAndExecutes() {
+        mUsbDetailsFragment.setUserAuthenticated(false);
+        setAuthPassesAutomatically();
+        Runnable action = () -> mUsbBackend.setDataRole(UsbPortStatus.DATA_ROLE_HOST);
+
+        mUsbDetailsController.requireAuthAndExecute(action);
+
+        assertThat(mUsbDetailsFragment.isUserAuthenticated()).isTrue();
+        verify(mUsbBackend).setDataRole(anyInt());
+    }
+
+    private void setAuthPassesAutomatically() {
+        Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
+                .setIsKeyguardSecure(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
index 8c8431d..3324843 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsDataRoleControllerTest.java
@@ -25,12 +25,15 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.KeyguardManager;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.os.Handler;
+import android.platform.test.annotations.RequiresFlagsEnabled;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceCategory;
@@ -38,6 +41,7 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
@@ -49,8 +53,13 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class UsbDetailsDataRoleControllerTest {
 
     private UsbDetailsDataRoleController mDetailsDataRoleController;
@@ -59,12 +68,11 @@
     private PreferenceCategory mPreference;
     private PreferenceManager mPreferenceManager;
     private PreferenceScreen mScreen;
+    private UsbDetailsFragment mFragment;
 
     @Mock
     private UsbBackend mUsbBackend;
     @Mock
-    private UsbDetailsFragment mFragment;
-    @Mock
     private FragmentActivity mActivity;
     @Mock
     private Handler mHandler;
@@ -72,7 +80,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-
+        mFragment = spy(new UsbDetailsFragment());
         mContext = RuntimeEnvironment.application;
         mLifecycle = new Lifecycle(() -> mLifecycle);
         mPreferenceManager = new PreferenceManager(mContext);
@@ -91,12 +99,12 @@
         mScreen.addPreference(mPreference);
 
         mDetailsDataRoleController.mHandler = mHandler;
+
+        mDetailsDataRoleController.displayPreference(mScreen);
     }
 
     @Test
     public void displayRefresh_deviceRole_shouldCheckDevice() {
-        mDetailsDataRoleController.displayPreference(mScreen);
-
         mDetailsDataRoleController.refresh(true, UsbManager.FUNCTION_NONE, POWER_ROLE_SINK,
                 DATA_ROLE_DEVICE);
 
@@ -108,8 +116,6 @@
 
     @Test
     public void displayRefresh_hostRole_shouldCheckHost() {
-        mDetailsDataRoleController.displayPreference(mScreen);
-
         mDetailsDataRoleController.refresh(true, UsbManager.FUNCTION_NONE, POWER_ROLE_SINK,
                 DATA_ROLE_HOST);
 
@@ -121,8 +127,6 @@
 
     @Test
     public void displayRefresh_disconnected_shouldDisable() {
-        mDetailsDataRoleController.displayPreference(mScreen);
-
         mDetailsDataRoleController.refresh(false, UsbManager.FUNCTION_NONE, POWER_ROLE_SINK,
                 DATA_ROLE_DEVICE);
 
@@ -131,7 +135,6 @@
 
     @Test
     public void onClickDevice_hostEnabled_shouldSetDevice() {
-        mDetailsDataRoleController.displayPreference(mScreen);
         when(mUsbBackend.getDataRole()).thenReturn(DATA_ROLE_HOST);
 
         final SelectorWithWidgetPreference devicePref = getRadioPreference(DATA_ROLE_DEVICE);
@@ -144,7 +147,6 @@
 
     @Test
     public void onClickDeviceTwice_hostEnabled_shouldSetDeviceOnce() {
-        mDetailsDataRoleController.displayPreference(mScreen);
         when(mUsbBackend.getDataRole()).thenReturn(DATA_ROLE_HOST);
 
         final SelectorWithWidgetPreference devicePref = getRadioPreference(DATA_ROLE_DEVICE);
@@ -158,7 +160,6 @@
 
     @Test
     public void onClickDeviceAndRefresh_success_shouldClearSubtext() {
-        mDetailsDataRoleController.displayPreference(mScreen);
         when(mUsbBackend.getDataRole()).thenReturn(DATA_ROLE_HOST);
 
         final SelectorWithWidgetPreference devicePref = getRadioPreference(DATA_ROLE_DEVICE);
@@ -176,7 +177,6 @@
 
     @Test
     public void onClickDeviceAndRefresh_failed_shouldShowFailureText() {
-        mDetailsDataRoleController.displayPreference(mScreen);
         when(mUsbBackend.getDataRole()).thenReturn(DATA_ROLE_HOST);
 
         final SelectorWithWidgetPreference devicePref = getRadioPreference(DATA_ROLE_DEVICE);
@@ -195,7 +195,6 @@
 
     @Test
     public void onClickDevice_timedOut_shouldShowFailureText() {
-        mDetailsDataRoleController.displayPreference(mScreen);
         when(mUsbBackend.getDataRole()).thenReturn(DATA_ROLE_HOST);
 
         final SelectorWithWidgetPreference devicePref = getRadioPreference(DATA_ROLE_DEVICE);
@@ -214,6 +213,22 @@
                 .isEqualTo(mContext.getString(R.string.usb_switching_failed));
     }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_AUTH_CHALLENGE_FOR_USB_PREFERENCES)
+    public void onRadioButtonClicked_userAuthenticated() {
+        SelectorWithWidgetPreference preference = getRadioPreference(DATA_ROLE_DEVICE);
+        setAuthPassesAutomatically();
+
+        mDetailsDataRoleController.onRadioButtonClicked(preference);
+
+        assertThat(mFragment.isUserAuthenticated()).isTrue();
+    }
+
+    private void setAuthPassesAutomatically() {
+        Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
+                .setIsKeyguardSecure(false);
+    }
+
     private SelectorWithWidgetPreference getRadioPreference(int role) {
         return (SelectorWithWidgetPreference)
                 mPreference.findPreference(UsbBackend.dataRoleToString(role));
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 37efbd6..eea4f52 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsFunctionsControllerTest.java
@@ -30,15 +30,18 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.KeyguardManager;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.net.TetheringManager;
+import android.platform.test.annotations.RequiresFlagsEnabled;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
@@ -51,6 +54,7 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
@@ -58,6 +62,9 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class UsbDetailsFunctionsControllerTest {
 
     private UsbDetailsFunctionsController mDetailsFunctionsController;
@@ -67,12 +74,11 @@
     private PreferenceManager mPreferenceManager;
     private PreferenceScreen mScreen;
     private SelectorWithWidgetPreference mRadioButtonPreference;
+    private UsbDetailsFragment mFragment;
 
     @Mock
     private UsbBackend mUsbBackend;
     @Mock
-    private UsbDetailsFragment mFragment;
-    @Mock
     private FragmentActivity mActivity;
     @Mock
     private TetheringManager mTetheringManager;
@@ -80,7 +86,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-
+        mFragment = spy(new UsbDetailsFragment());
         mContext = spy(RuntimeEnvironment.application);
         mLifecycle = new Lifecycle(() -> mLifecycle);
         mPreferenceManager = new PreferenceManager(mContext);
@@ -220,7 +226,7 @@
         assertThat(prefs.get(3).isChecked()).isFalse();
     }
 
-    @Ignore
+    @Ignore("b/313362757")
     @Test
     public void onClickNone_mtpEnabled_shouldDisableMtp() {
         when(mUsbBackend.areFunctionsSupported(anyLong())).thenReturn(true);
@@ -332,6 +338,23 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_AUTH_CHALLENGE_FOR_USB_PREFERENCES)
+    public void onRadioButtonClicked_userAuthenticated() {
+        mRadioButtonPreference.setKey(UsbBackend.usbFunctionsToString(UsbManager.FUNCTION_PTP));
+        doReturn(UsbManager.FUNCTION_MTP).when(mUsbBackend).getCurrentFunctions();
+        setAuthPassesAutomatically();
+
+        mDetailsFunctionsController.onRadioButtonClicked(mRadioButtonPreference);
+
+        assertThat(mFragment.isUserAuthenticated()).isTrue();
+    }
+
+    private void setAuthPassesAutomatically() {
+        Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
+                .setIsKeyguardSecure(false);
+    }
+
+    @Test
     public void onTetheringFailed_resetPreviousFunctions() {
         mDetailsFunctionsController.mPreviousFunction = UsbManager.FUNCTION_PTP;
 
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
index 280b8d4..4fb78fb 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsHeaderControllerTest.java
@@ -26,7 +26,6 @@
 import android.content.Context;
 import android.graphics.drawable.Drawable;
 import android.hardware.usb.UsbManager;
-import android.hardware.usb.UsbPort;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.lifecycle.LifecycleOwner;
@@ -53,7 +52,10 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowEntityHeaderController.class)
+@Config(shadows = {
+        ShadowEntityHeaderController.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class UsbDetailsHeaderControllerTest {
 
     private UsbDetailsHeaderController mDetailsHeaderController;
@@ -91,7 +93,8 @@
 
         ShadowEntityHeaderController.setUseMock(mHeaderController);
         mDetailsHeaderController = new UsbDetailsHeaderController(mContext, mFragment, mUsbBackend);
-        mPreference = new LayoutPreference(mContext, R.layout.settings_entity_header);
+        mPreference = new LayoutPreference(
+                mContext, com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header);
         mPreference.setKey(mDetailsHeaderController.getPreferenceKey());
         mScreen.addPreference(mPreference);
     }
@@ -111,6 +114,6 @@
             DrawableTestHelper.assertDrawableResId(t, R.drawable.ic_usb);
             return true;
         }));
-        verify(mHeaderController).done(mActivity, true);
+        verify(mHeaderController).done(true);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java
index aa62741..6be1bd5 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsPowerRoleControllerTest.java
@@ -45,6 +45,7 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -52,8 +53,12 @@
 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 UsbDetailsPowerRoleControllerTest {
 
     private UsbDetailsPowerRoleController mDetailsPowerRoleController;
@@ -96,6 +101,7 @@
         mDetailsPowerRoleController.mHandler = mHandler;
     }
 
+    @Ignore("b/313362757")
     @Test
     public void displayRefresh_sink_shouldUncheck() {
         mDetailsPowerRoleController.displayPreference(mScreen);
@@ -108,6 +114,7 @@
         assertThat(pref.isChecked()).isFalse();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void displayRefresh_source_shouldCheck() {
         mDetailsPowerRoleController.displayPreference(mScreen);
@@ -145,6 +152,7 @@
                 mDetailsPowerRoleController.getPreferenceKey())).isNull();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void onClick_sink_shouldSetSource() {
         mDetailsPowerRoleController.displayPreference(mScreen);
@@ -158,6 +166,7 @@
                 .isEqualTo(mContext.getString(R.string.usb_switching));
     }
 
+    @Ignore("b/313362757")
     @Test
     public void onClickTwice_sink_shouldSetSourceOnce() {
         mDetailsPowerRoleController.displayPreference(mScreen);
@@ -172,6 +181,7 @@
         verify(mUsbBackend, times(1)).setPowerRole(POWER_ROLE_SOURCE);
     }
 
+    @Ignore("b/313362757")
     @Test
     public void onClickDeviceAndRefresh_success_shouldClearSubtext() {
         mDetailsPowerRoleController.displayPreference(mScreen);
@@ -190,6 +200,7 @@
         assertThat(pref.getSummary()).isEqualTo("");
     }
 
+    @Ignore("b/313362757")
     @Test
     public void onClickDeviceAndRefresh_failed_shouldShowFailureText() {
         mDetailsPowerRoleController.displayPreference(mScreen);
@@ -209,6 +220,7 @@
                 .isEqualTo(mContext.getString(R.string.usb_switching_failed));
     }
 
+    @Ignore("b/313362757")
     @Test
     public void onClickDevice_timedOut_shouldShowFailureText() {
         mDetailsPowerRoleController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpControllerTest.java b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpControllerTest.java
index 477b592..07d14ec 100644
--- a/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpControllerTest.java
+++ b/tests/robotests/src/com/android/settings/connecteddevice/usb/UsbDetailsTranscodeMtpControllerTest.java
@@ -21,11 +21,14 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
+import android.app.KeyguardManager;
 import android.content.Context;
 import android.hardware.usb.UsbManager;
 import android.os.SystemProperties;
+import android.platform.test.annotations.RequiresFlagsEnabled;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.PreferenceCategory;
@@ -33,18 +36,24 @@
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class UsbDetailsTranscodeMtpControllerTest {
     private static final String TRANSCODE_MTP_SYS_PROP_KEY = "sys.fuse.transcode_mtp";
 
@@ -53,18 +62,18 @@
     private PreferenceManager mPreferenceManager;
     private PreferenceScreen mScreen;
     private UsbDetailsTranscodeMtpController mUnderTest;
+    private UsbDetailsFragment mFragment;
 
     @Mock
     private UsbBackend mUsbBackend;
     @Mock
-    private UsbDetailsFragment mFragment;
-    @Mock
     private FragmentActivity mActivity;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
+        mFragment = spy(new UsbDetailsFragment());
         mContext = RuntimeEnvironment.application;
         mPreferenceManager = new PreferenceManager(mContext);
         mScreen = mPreferenceManager.createPreferenceScreen(mContext);
@@ -80,11 +89,12 @@
         mPreference = new PreferenceCategory(mContext);
         mPreference.setKey(mUnderTest.getPreferenceKey());
         mScreen.addPreference(mPreference);
+
+        mUnderTest.displayPreference(mScreen);
     }
 
     @Test
     public void displayRefresh_noUsbConnection_shouldDisablePrefCategory() {
-        mUnderTest.displayPreference(mScreen);
         when(mUsbBackend.areAllRolesSupported()).thenReturn(true);
 
         mUnderTest.refresh(false /* connected */, UsbManager.FUNCTION_MTP, POWER_ROLE_NONE,
@@ -95,7 +105,6 @@
 
     @Test
     public void displayRefresh_noDataTransfer_shouldDisablePrefCategory() {
-        mUnderTest.displayPreference(mScreen);
         when(mUsbBackend.areAllRolesSupported()).thenReturn(true);
 
         mUnderTest.refresh(true /* connected */, UsbManager.FUNCTION_NONE, POWER_ROLE_NONE,
@@ -106,7 +115,6 @@
 
     @Test
     public void displayRefresh_noDataRole_shouldDisablePrefCategory() throws InterruptedException {
-        mUnderTest.displayPreference(mScreen);
         when(mUsbBackend.areAllRolesSupported()).thenReturn(true);
 
         mUnderTest.refresh(true /* connected */, UsbManager.FUNCTION_MTP, POWER_ROLE_NONE,
@@ -115,9 +123,9 @@
         assertThat(mPreference.isEnabled()).isFalse();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void displayRefresh_fileTransfer_withAbsentProp_shouldCheck() {
-        mUnderTest.displayPreference(mScreen);
         when(mUsbBackend.areAllRolesSupported()).thenReturn(true);
 
         mUnderTest.refresh(true /* connected */, UsbManager.FUNCTION_MTP, POWER_ROLE_NONE,
@@ -126,9 +134,9 @@
         assertThat(getSwitchPreference().isChecked()).isFalse();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void displayRefresh_fileTransfer_withUnsetProp_shouldUncheck() {
-        mUnderTest.displayPreference(mScreen);
         SystemProperties.set(TRANSCODE_MTP_SYS_PROP_KEY, Boolean.toString(false));
         when(mUsbBackend.areAllRolesSupported()).thenReturn(true);
 
@@ -138,9 +146,9 @@
         assertThat(getSwitchPreference().isChecked()).isFalse();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void displayRefresh_fileTransfer_withSetProp_shouldCheck() {
-        mUnderTest.displayPreference(mScreen);
         SystemProperties.set(TRANSCODE_MTP_SYS_PROP_KEY, Boolean.toString(true));
         when(mUsbBackend.areAllRolesSupported()).thenReturn(true);
 
@@ -150,16 +158,16 @@
         assertThat(getSwitchPreference().isChecked()).isTrue();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void click_checked_shouldSetSystemProperty() {
-        mUnderTest.displayPreference(mScreen);
         getSwitchPreference().performClick();
         assertThat(SystemProperties.getBoolean(TRANSCODE_MTP_SYS_PROP_KEY, false)).isTrue();
     }
 
+    @Ignore("b/313362757")
     @Test
     public void click_unChecked_shouldUnsetSystemProperty() {
-        mUnderTest.displayPreference(mScreen);
         getSwitchPreference().performClick();
         getSwitchPreference().performClick();
         assertThat(SystemProperties.getBoolean(TRANSCODE_MTP_SYS_PROP_KEY, true)).isFalse();
@@ -172,6 +180,21 @@
         assertThat(mUnderTest.isAvailable()).isFalse();
     }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_AUTH_CHALLENGE_FOR_USB_PREFERENCES)
+    public void onClick_userAuthenticated() {
+        setAuthPassesAutomatically();
+
+        mUnderTest.onPreferenceClick(null);
+
+        assertThat(mFragment.isUserAuthenticated()).isTrue();
+    }
+
+    private void setAuthPassesAutomatically() {
+        Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
+                .setIsKeyguardSecure(false);
+    }
+
     private SwitchPreference getSwitchPreference() {
         return (SwitchPreference) mPreference.getPreference(0);
     }
diff --git a/tests/robotests/src/com/android/settings/core/CategoryMixinTest.java b/tests/robotests/src/com/android/settings/core/CategoryMixinTest.java
index a0ae9f7..3040039 100644
--- a/tests/robotests/src/com/android/settings/core/CategoryMixinTest.java
+++ b/tests/robotests/src/com/android/settings/core/CategoryMixinTest.java
@@ -31,8 +31,6 @@
 import androidx.appcompat.app.AppCompatActivity;
 
 import com.android.settings.core.CategoryMixin.CategoryListener;
-import com.android.settings.utils.ActivityControllerWrapper;
-import com.android.settingslib.R;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -55,7 +53,7 @@
 
     @Test
     public void resumeActivity_shouldRegisterReceiver() {
-        ActivityControllerWrapper.setup(mActivityController);
+        mActivityController.setup();
 
         final TestActivity activity = mActivityController.get();
         assertThat(activity.getRegisteredReceivers()).isNotEmpty();
@@ -63,7 +61,7 @@
 
     @Test
     public void pauseActivity_shouldUnregisterReceiver() {
-        ActivityControllerWrapper.setup(mActivityController).pause();
+        mActivityController.setup().pause();
 
         final TestActivity activity = mActivityController.get();
         assertThat(activity.getRegisteredReceivers()).isEmpty();
@@ -71,7 +69,7 @@
 
     @Test
     public void onCategoriesChanged_listenerAdded_shouldNotifyChanged() {
-        ActivityControllerWrapper.setup(mActivityController).pause();
+        mActivityController.setup().pause();
         final CategoryMixin categoryMixin = mActivityController.get().getCategoryMixin();
         final CategoryListener listener = mock(CategoryListener.class);
         categoryMixin.addCategoryListener(listener);
@@ -89,7 +87,7 @@
         @Override
         protected void onCreate(Bundle savedInstanceState) {
             super.onCreate(savedInstanceState);
-            setTheme(R.style.Theme_AppCompat);
+            setTheme(androidx.appcompat.R.style.Theme_AppCompat);
             mCategoryMixin = new CategoryMixin(this);
             getLifecycle().addObserver(mCategoryMixin);
         }
diff --git a/tests/robotests/src/com/android/settings/core/InstrumentedActivityTest.java b/tests/robotests/src/com/android/settings/core/InstrumentedActivityTest.java
index 2f6940f..d74fab3 100644
--- a/tests/robotests/src/com/android/settings/core/InstrumentedActivityTest.java
+++ b/tests/robotests/src/com/android/settings/core/InstrumentedActivityTest.java
@@ -16,8 +16,6 @@
 
 package com.android.settings.core;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
@@ -33,8 +31,7 @@
      */
     @Test
     public void canInstantiate() {
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(InstrumentedActivityTestable.class)).get();
+        Robolectric.buildActivity(InstrumentedActivityTestable.class).setup().get();
     }
 
     public static class InstrumentedActivityTestable extends InstrumentedActivity {
diff --git a/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java
index 763cf15..838edc6 100644
--- a/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/core/InstrumentedPreferenceFragmentTest.java
@@ -23,6 +23,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.content.Context;
 import android.os.Bundle;
 
 import androidx.fragment.app.FragmentActivity;
@@ -38,9 +39,14 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class InstrumentedPreferenceFragmentTest {
 
     @Mock
@@ -49,7 +55,7 @@
     private PreferenceManager mPreferenceManager;
     @Mock
     private FragmentActivity mActivity;
-
+    private Context mContext;
     private InstrumentedPreferenceFragmentTestable mFragment;
 
     @Before
@@ -57,7 +63,9 @@
         MockitoAnnotations.initMocks(this);
         when(mPreferenceManager.getPreferenceScreen()).thenReturn(mScreen);
 
+        mContext = RuntimeEnvironment.application;
         mFragment = spy(new InstrumentedPreferenceFragmentTestable());
+        when(mFragment.getContext()).thenReturn(mContext);
         ReflectionHelpers.setField(mFragment, "mPreferenceManager", mPreferenceManager);
     }
 
diff --git a/tests/robotests/src/com/android/settings/core/PreferenceControllerListHelperTest.java b/tests/robotests/src/com/android/settings/core/PreferenceControllerListHelperTest.java
index 34eab02..68dfb79 100644
--- a/tests/robotests/src/com/android/settings/core/PreferenceControllerListHelperTest.java
+++ b/tests/robotests/src/com/android/settings/core/PreferenceControllerListHelperTest.java
@@ -25,7 +25,6 @@
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -45,7 +44,6 @@
         mContext = RuntimeEnvironment.application;
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getControllers_shouldReturnAList() {
@@ -59,7 +57,6 @@
         }
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc998")
     public void getControllers_partialFailure_shouldReturnTheRest() {
diff --git a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
index 1a794e1..f489123 100644
--- a/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/core/PreferenceXmlParserUtilsTest.java
@@ -27,27 +27,21 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
-import android.content.res.XmlResourceParser;
 import android.os.Bundle;
 import android.text.TextUtils;
-import android.util.AttributeSet;
-import android.util.Xml;
 
 import com.android.settings.R;
 import com.android.settings.core.PreferenceXmlParserUtils.MetadataFlag;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
-import org.xmlpull.v1.XmlPullParser;
 import org.xmlpull.v1.XmlPullParserException;
 
 import java.io.IOException;
 import java.util.List;
-import java.util.Objects;
 
 /**
  * These tests use a series of preferences that have specific attributes which are sometimes
@@ -56,7 +50,6 @@
  * If changing a preference file breaks a test in this test file, please replace its reference
  * with another preference with a matching replacement attribute.
  */
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 public class PreferenceXmlParserUtilsTest {
 
@@ -68,115 +61,6 @@
     }
 
     @Test
-    public void testDataTitleValid_ReturnsPreferenceTitle() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.darkmode.DarkModePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String title = PreferenceXmlParserUtils.getDataTitle(mContext, attrs);
-        String expTitle = mContext.getString(R.string.dark_ui_mode);
-        assertThat(title).isEqualTo(expTitle);
-    }
-
-    @Test
-    public void testDataKeywordsValid_ReturnsPreferenceKeywords() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.darkmode.DarkModePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String keywords = PreferenceXmlParserUtils.getDataKeywords(mContext, attrs);
-        String expKeywords = mContext.getString(R.string.keywords_dark_ui_mode);
-        assertThat(keywords).isEqualTo(expKeywords);
-    }
-
-    @Test
-    public void testDataKeyValid_ReturnsPreferenceKey() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings,
-                "com.android.settings.display.darkmode.DarkModePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String key = PreferenceXmlParserUtils.getDataKey(mContext, attrs);
-        String expKey = "dark_ui_mode";
-        assertThat(key).isEqualTo(expKey);
-    }
-
-    @Test
-    public void testDataSummaryValid_ReturnsPreferenceSummary() {
-        XmlResourceParser parser = getChildByType(R.xml.sound_settings,
-                "com.android.settings.DefaultRingtonePreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String summary = PreferenceXmlParserUtils.getDataSummary(mContext, attrs);
-        String expSummary = mContext.getString(R.string.summary_placeholder);
-        assertThat(summary).isEqualTo(expSummary);
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataSummaryOnOffValid_ReturnsPreferenceSummaryOnOff() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings, "CheckBoxPreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-
-        assertThat(PreferenceXmlParserUtils.getDataSummaryOn(mContext, attrs))
-                .isEqualTo("summary_on");
-        assertThat(PreferenceXmlParserUtils.getDataSummaryOff(mContext, attrs))
-                .isEqualTo("summary_off");
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataEntriesValid_ReturnsPreferenceEntries() {
-        XmlResourceParser parser = getChildByType(R.xml.display_settings, "ListPreference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String entries = PreferenceXmlParserUtils.getDataEntries(mContext, attrs);
-        String[] expEntries = mContext.getResources()
-                .getStringArray(R.array.mvno_type_entries);
-        for (String expEntry : expEntries) {
-            assertThat(entries).contains(expEntry);
-        }
-    }
-
-    // Null checks
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDataKeyInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String key = PreferenceXmlParserUtils.getDataKey(mContext, attrs);
-        assertThat(key).isNull();
-    }
-
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testControllerAttribute_returnsValidData() {
-        XmlResourceParser parser = getChildByType(R.xml.about_legal, "Preference");
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-
-        String controller = PreferenceXmlParserUtils.getController(mContext, attrs);
-        assertThat(controller).isEqualTo("mind_flayer");
-    }
-
-    @Test
-    public void testDataSummaryInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String summary = PreferenceXmlParserUtils.getDataSummary(mContext, attrs);
-        assertThat(summary).isNull();
-    }
-
-    @Test
-    public void testDataSummaryOffInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String summaryOff = PreferenceXmlParserUtils.getDataSummaryOff(mContext, attrs);
-        assertThat(summaryOff).isNull();
-    }
-
-    @Test
-    public void testDataEntriesInvalid_ReturnsNull() {
-        XmlResourceParser parser = getParentPrimedParser(R.xml.display_settings);
-        final AttributeSet attrs = Xml.asAttributeSet(parser);
-        String entries = PreferenceXmlParserUtils.getDataEntries(mContext, attrs);
-        assertThat(entries).isNull();
-    }
-
-    @Test
     public void extractHomepageMetadata_shouldContainKeyAndHighlightableMenuKey()
             throws IOException, XmlPullParserException {
         List<Bundle> metadata = PreferenceXmlParserUtils.extractMetadata(mContext,
@@ -380,46 +264,4 @@
         assertThat(bundleWithKey2Found).isTrue();
     }
 
-    /**
-     * @param resId the ID for the XML preference
-     * @return an XML resource parser that points to the start tag
-     */
-    private XmlResourceParser getParentPrimedParser(int resId) {
-        XmlResourceParser parser = null;
-        try {
-            parser = mContext.getResources().getXml(resId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-            }
-        } catch (Exception e) {
-
-        }
-        return parser;
-    }
-
-    private XmlResourceParser getChildByType(int resId, String xmlType) {
-        XmlResourceParser parser = null;
-        try {
-            parser = mContext.getResources().getXml(resId);
-
-            int type;
-            while ((type = parser.next()) != XmlPullParser.END_DOCUMENT
-                    && type != XmlPullParser.START_TAG) {
-            }
-            while (true) {
-                if (Objects.equals(parser.getName(), xmlType)) {
-                    break;
-                }
-                final int nextEvent = parser.next();
-                if (nextEvent == XmlPullParser.END_DOCUMENT) {
-                    break;
-                }
-            }
-        } catch (Exception e) {
-
-        }
-        return parser;
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
index b68bcec..bfc8ea6 100644
--- a/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
+++ b/tests/robotests/src/com/android/settings/core/SubSettingLauncherTest.java
@@ -45,8 +45,12 @@
 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 SubSettingLauncherTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
index d701e48..4767bbc 100644
--- a/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
+++ b/tests/robotests/src/com/android/settings/core/XmlControllerAttributeTest.java
@@ -5,7 +5,6 @@
 import android.content.Context;
 import android.content.res.XmlResourceParser;
 import android.provider.SearchIndexableResource;
-import android.text.TextUtils;
 import android.util.AttributeSet;
 import android.util.Xml;
 
@@ -156,12 +155,6 @@
             if (type == XmlPullParser.END_TAG || type == XmlPullParser.TEXT) {
                 continue;
             }
-
-            controllerClassName = PreferenceXmlParserUtils.getController(mContext, attrs);
-            // If controller is not indexed, then it is not compatible with
-            if (!TextUtils.isEmpty(controllerClassName)) {
-                xmlControllers.add(controllerClassName);
-            }
         }
 
         return xmlControllers;
diff --git a/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java b/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java
index 60753c6..009f13a 100644
--- a/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java
+++ b/tests/robotests/src/com/android/settings/core/codeinspection/CodeInspectionTest.java
@@ -52,8 +52,8 @@
         new InstrumentableFragmentCodeInspector(mClasses).run();
     }
 
+    @Ignore("b/313612087")
     @Test
-    @Ignore
     public void runSliceControllerInXmlInspection() throws Exception {
         new SliceControllerInXmlCodeInspector(mClasses).run();
     }
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
index a6bd865..d3634f0 100644
--- a/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
+++ b/tests/robotests/src/com/android/settings/core/instrumentation/MetricsFeatureProviderTest.java
@@ -43,9 +43,9 @@
     @Test
     public void getFactory_shouldReuseCachedInstance() {
         MetricsFeatureProvider feature1 =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
         MetricsFeatureProvider feature2 =
-                FeatureFactory.getFactory(mContext).getMetricsFeatureProvider();
+                FeatureFactory.getFeatureFactory().getMetricsFeatureProvider();
 
         assertThat(feature1).isSameInstanceAs(feature2);
     }
diff --git a/tests/robotests/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriterTest.java b/tests/robotests/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriterTest.java
deleted file mode 100644
index 30a2594..0000000
--- a/tests/robotests/src/com/android/settings/core/instrumentation/SettingsIntelligenceLogWriterTest.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.core.instrumentation;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-
-import com.android.settings.intelligence.LogProto.SettingsLog;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RuntimeEnvironment;
-
-import java.io.ByteArrayInputStream;
-import java.io.DataInputStream;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.List;
-
-public class SettingsIntelligenceLogWriterTest {
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-    }
-
-    @Test
-    public void serialize_hasSizeOne_returnCorrectData() throws IOException {
-        final SettingsLog event = SettingsLog.newBuilder()
-                .setAttribution(SettingsEnums.DASHBOARD_SUMMARY)
-                .setAction(SettingsEnums.ACTION_SET_NEW_PASSWORD)
-                .setPageId(SettingsEnums.SET_NEW_PASSWORD_ACTIVITY)
-                .setChangedPreferenceKey("package")
-                .setChangedPreferenceIntValue(100)
-                .build();
-        List<SettingsLog> events = new ArrayList<>();
-        events.add(event);
-
-        // execute
-        final byte[] data = SettingsIntelligenceLogWriter.serialize(events);
-
-        // parse data
-        final ByteArrayInputStream bin = new ByteArrayInputStream(data);
-        final DataInputStream inputStream = new DataInputStream(bin);
-        final int size = inputStream.readInt();
-        final byte[] change = new byte[inputStream.readInt()];
-        inputStream.read(change);
-        inputStream.close();
-        final SettingsLog settingsLog = SettingsLog.parseFrom(change);
-
-        // assert
-        assertThat(events.size()).isEqualTo(size);
-        assertThat(settingsLog.getAttribution()).isEqualTo(SettingsEnums.DASHBOARD_SUMMARY);
-        assertThat(settingsLog.getAction()).isEqualTo(SettingsEnums.ACTION_SET_NEW_PASSWORD);
-        assertThat(settingsLog.getPageId()).isEqualTo(SettingsEnums.SET_NEW_PASSWORD_ACTIVITY);
-        assertThat(settingsLog.getChangedPreferenceKey()).isEqualTo("package");
-        assertThat(settingsLog.getChangedPreferenceIntValue()).isEqualTo(100);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
index f7a940f..0799eaf 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFeatureProviderImplTest.java
@@ -43,6 +43,7 @@
 import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
+import android.app.Application;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.content.Intent;
@@ -62,6 +63,7 @@
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
@@ -83,15 +85,16 @@
 import com.android.settingslib.drawer.TileUtils;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowActivity;
@@ -103,10 +106,14 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowUserManager.class)
 public class DashboardFeatureProviderImplTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static final String KEY = "key";
     private static final String SWITCH_URI = "content://com.android.settings/tile_switch";
 
+    private final Application mApplication = ApplicationProvider.getApplicationContext();
+
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private FragmentActivity mActivity;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -125,9 +132,8 @@
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        doReturn(RuntimeEnvironment.application).when(mActivity).getApplicationContext();
+        mContext = spy(mApplication);
+        doReturn(mApplication).when(mActivity).getApplicationContext();
         mForceRoundedIcon = false;
         mActivityInfo = new ActivityInfo();
         mActivityInfo.packageName = mContext.getPackageName();
@@ -162,7 +168,7 @@
 
     @Test
     public void bindPreference_shouldBindAllData() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = spy(new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE));
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
         doReturn(Icon.createWithBitmap(Bitmap.createBitmap(1, 1, Bitmap.Config.RGB_565)))
@@ -182,7 +188,7 @@
 
     @Test
     public void bindPreference_shouldBindAllSwitchData() {
-        final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Preference preference = new SwitchPreference(mApplication);
         final Tile tile = spy(new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
                 mSwitchMetaData));
         mSwitchMetaData.putInt(META_DATA_KEY_ORDER, 10);
@@ -203,7 +209,7 @@
 
     @Test
     public void bindPreference_providerTileWithPendingIntent_shouldBindIntent() {
-        final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Preference preference = new SwitchPreference(mApplication);
         Bundle metaData = new Bundle();
         metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
         metaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
@@ -211,7 +217,7 @@
         metaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
         final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE, metaData);
         PendingIntent pendingIntent =
-                PendingIntent.getActivity(RuntimeEnvironment.application, 0, new Intent("test"), 0);
+                PendingIntent.getActivity(mApplication, 0, new Intent("test"), 0);
         tile.pendingIntentMap.put(UserHandle.CURRENT, pendingIntent);
 
         mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
@@ -224,7 +230,7 @@
 
     @Test
     public void bindPreference_noFragmentMetadata_shouldBindIntent() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
 
@@ -238,7 +244,7 @@
 
     @Test
     public void bindPreference_noFragmentMetadata_shouldBindToProfileSelector() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle = new ArrayList<>();
         tile.userHandle.add(mock(UserHandle.class));
@@ -253,7 +259,7 @@
 
     @Test
     public void bindPreference_noFragmentMetadataSingleUser_shouldBindToDirectLaunchIntent() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle = new ArrayList<>();
         tile.userHandle.add(mock(UserHandle.class));
@@ -274,8 +280,8 @@
 
     @Test
     public void bindPreference_toInternalSettingActivity_shouldBindToDirectLaunchIntentAndNotLog() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
-        mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
+        final Preference preference = new Preference(mApplication);
+        mActivityInfo.packageName = mApplication.getPackageName();
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         tile.userHandle = new ArrayList<>();
         tile.userHandle.add(mock(UserHandle.class));
@@ -301,7 +307,7 @@
 
     @Test
     public void bindPreference_withNullKeyNullPriority_shouldGenerateKeyAndPriority() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
                 preference, tile, null /* key */,
@@ -313,7 +319,7 @@
 
     @Test
     public void bindPreference_noSummary_shouldSetNullSummary() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         mActivityInfo.metaData.remove(META_DATA_PREFERENCE_SUMMARY);
 
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
@@ -327,7 +333,7 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindPreference_hasSummaryUri_shouldLoadSummaryFromContentProviderAndHaveObserver() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         final String uriString = "content://com.android.settings/tile_summary";
         mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_SUMMARY_URI, uriString);
@@ -347,7 +353,7 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindPreference_hasTitleUri_shouldLoadFromContentProviderAndHaveObserver() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         final String uriString =  "content://com.android.settings/tile_title";
         mActivityInfo.metaData.putString(TileUtils.META_DATA_PREFERENCE_TITLE_URI, uriString);
@@ -367,7 +373,7 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindPreference_onCheckedChanged_shouldPutStateToContentProvider() {
-        final SwitchPreference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final SwitchPreference preference = new SwitchPreference(mApplication);
         final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
                 mSwitchMetaData);
         final Bundle bundle = new Bundle();
@@ -388,7 +394,7 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindPreference_onCheckedChangedError_shouldRevertCheckedState() {
-        final SwitchPreference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final SwitchPreference preference = new SwitchPreference(mApplication);
         final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
                 mSwitchMetaData);
         final Bundle bundle = new Bundle();
@@ -409,7 +415,7 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindPreference_callbackOnChanged_shouldLoadFromContentProvider() {
-        final SwitchPreference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final SwitchPreference preference = new SwitchPreference(mApplication);
         final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE,
                 mSwitchMetaData);
         final List<DynamicDataObserver> observers = mImpl.bindPreferenceToTileAndGetObservers(
@@ -430,7 +436,7 @@
 
     @Test
     public void bindPreference_withNullKeyTileKey_shouldUseTileKey() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
@@ -441,8 +447,8 @@
 
     @Test
     public void bindIcon_withStaticIcon_shouldLoadStaticIcon() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
-        mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
+        final Preference preference = new Preference(mApplication);
+        mActivityInfo.packageName = mApplication.getPackageName();
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_ICON, R.drawable.ic_add_40dp);
@@ -459,8 +465,8 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindIcon_withIconUri_shouldLoadIconFromContentProvider() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
-        mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
+        final Preference preference = new Preference(mApplication);
+        mActivityInfo.packageName = mApplication.getPackageName();
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_ICON_URI,
@@ -474,8 +480,8 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindIcon_withStaticIconAndIconUri_shouldLoadIconFromContentProvider() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
-        mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
+        final Preference preference = new Preference(mApplication);
+        mActivityInfo.packageName = mApplication.getPackageName();
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putInt(META_DATA_PREFERENCE_ICON, R.drawable.ic_add_40dp);
@@ -501,8 +507,8 @@
     @Test
     @Config(shadows = {ShadowTileUtils.class})
     public void bindIcon_noIcon_shouldNotLoadIcon() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
-        mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
+        final Preference preference = new Preference(mApplication);
+        mActivityInfo.packageName = mApplication.getPackageName();
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
 
@@ -514,7 +520,7 @@
     @Test
     public void bindPreference_withBaseOrder_shouldOffsetOrder() {
         final int baseOrder = 100;
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
 
@@ -526,7 +532,7 @@
 
     @Test
     public void bindPreference_withOrderMetadata_shouldUseOrderInMetadata() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final int testOrder = -30;
         mActivityInfo.metaData.putInt(META_DATA_KEY_ORDER, 10);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
@@ -539,7 +545,7 @@
 
     @Test
     public void bindPreference_invalidOrderMetadata_shouldIgnore() {
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_KEY_ORDER, "hello");
 
@@ -552,7 +558,7 @@
     @Test
     public void bindPreference_withIntentActionMetadata_shouldSetLaunchAction() {
         FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
@@ -581,7 +587,7 @@
         String clickPrefKey = "highlight_pref_key";
         String highlightMixinPrefKey = "highlight_pref_key";
         FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
-        Preference preference = new Preference(RuntimeEnvironment.application);
+        Preference preference = new Preference(mApplication);
         Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
@@ -612,7 +618,7 @@
         String clickPrefKey = "not_highlight_pref_key";
         String highlightMixinPrefKey = "highlight_pref_key";
         FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
-        Preference preference = new Preference(RuntimeEnvironment.application);
+        Preference preference = new Preference(mApplication);
         Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
@@ -635,9 +641,9 @@
     @Test
     public void clickPreference_withUnresolvableIntent_shouldNotLaunchAnything() {
         ReflectionHelpers.setField(
-                mImpl, "mPackageManager", RuntimeEnvironment.application.getPackageManager());
+                mImpl, "mPackageManager", mApplication.getPackageManager());
         FragmentActivity activity = Robolectric.buildActivity(FragmentActivity.class).get();
-        final Preference preference = new Preference(RuntimeEnvironment.application);
+        final Preference preference = new Preference(mApplication);
         final Tile tile = new ActivityTile(mActivityInfo, CategoryKey.CATEGORY_HOMEPAGE);
         mActivityInfo.metaData.putString(META_DATA_PREFERENCE_KEYHINT, "key");
         mActivityInfo.metaData.putString("com.android.settings.intent.action", "TestAction");
@@ -655,7 +661,7 @@
 
     @Test
     public void clickPreference_providerTileWithPendingIntent_singleUser_executesPendingIntent() {
-        final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Preference preference = new SwitchPreference(mApplication);
         Bundle metaData = new Bundle();
         metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
         metaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
@@ -663,7 +669,7 @@
         metaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
         final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE, metaData);
         PendingIntent pendingIntent =
-                PendingIntent.getActivity(RuntimeEnvironment.application, 0, new Intent("test"), 0);
+                PendingIntent.getActivity(mApplication, 0, new Intent("test"), 0);
         tile.pendingIntentMap.put(UserHandle.CURRENT, pendingIntent);
 
         mImpl.bindPreferenceToTileAndGetObservers(mActivity, mFragment, mForceRoundedIcon,
@@ -671,14 +677,14 @@
         preference.performClick();
 
         Intent nextStartedActivity =
-                Shadows.shadowOf(RuntimeEnvironment.application).peekNextStartedActivity();
+                Shadows.shadowOf(mApplication).peekNextStartedActivity();
         assertThat(nextStartedActivity).isNotNull();
         assertThat(nextStartedActivity.getAction()).isEqualTo("test");
     }
 
     @Test
     public void clickPreference_providerTileWithPendingIntent_multiUser_showsProfileDialog() {
-        final Preference preference = new SwitchPreference(RuntimeEnvironment.application);
+        final Preference preference = new SwitchPreference(mApplication);
         Bundle metaData = new Bundle();
         metaData.putInt(META_DATA_PREFERENCE_TITLE, R.string.settings_label);
         metaData.putInt(META_DATA_PREFERENCE_SUMMARY, R.string.about_settings_summary);
@@ -686,7 +692,7 @@
         metaData.putString(META_DATA_PREFERENCE_KEYHINT, KEY);
         final Tile tile = new ProviderTile(mProviderInfo, CategoryKey.CATEGORY_HOMEPAGE, metaData);
         PendingIntent pendingIntent =
-                PendingIntent.getActivity(RuntimeEnvironment.application, 0, new Intent("test"), 0);
+                PendingIntent.getActivity(mApplication, 0, new Intent("test"), 0);
         tile.pendingIntentMap.put(UserHandle.CURRENT, pendingIntent);
         tile.pendingIntentMap.put(new UserHandle(10), pendingIntent);
 
@@ -698,7 +704,7 @@
                 mActivity.getSupportFragmentManager().findFragmentByTag("select_profile");
         assertThat(dialogFragment).isNotNull();
         Intent nextStartedActivity =
-                Shadows.shadowOf(RuntimeEnvironment.application).peekNextStartedActivity();
+                Shadows.shadowOf(mApplication).peekNextStartedActivity();
         assertThat(nextStartedActivity).isNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
index ecaf36f..bedfc59 100644
--- a/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/DashboardFragmentTest.java
@@ -49,7 +49,8 @@
 import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
@@ -66,13 +67,13 @@
 import com.android.settingslib.drawer.Tile;
 
 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.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
@@ -86,6 +87,10 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class DashboardFragmentTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    private final Context mAppContext = ApplicationProvider.getApplicationContext();
 
     @Mock
     private FakeFeatureFactory mFakeFeatureFactory;
@@ -98,8 +103,7 @@
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = spy(mAppContext);
         final ActivityInfo activityInfo = new ActivityInfo();
         activityInfo.packageName = "pkg";
         activityInfo.name = "class";
@@ -120,11 +124,11 @@
         mProviderTile = new ProviderTile(providerInfo, mDashboardCategory.key, metaData);
         mDashboardCategory.addTile(mProviderTile);
 
-        mTestFragment = new TestFragment(RuntimeEnvironment.application);
+        mTestFragment = new TestFragment(mAppContext);
         when(mFakeFeatureFactory.dashboardFeatureProvider
                 .getTilesForCategory(nullable(String.class)))
                 .thenReturn(mDashboardCategory);
-        mTestFragment.onAttach(RuntimeEnvironment.application);
+        mTestFragment.onAttach(mAppContext);
         when(mContext.getPackageName()).thenReturn("TestPackage");
         mControllers = new ArrayList<>();
     }
@@ -236,7 +240,6 @@
         verify(mTestFragment.mScreen, never()).addPreference(nullable(Preference.class));
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void displayTilesAsPreference_shouldNotAddSuppressedTiles() {
@@ -298,7 +301,7 @@
         preferenceControllers.add(mockController2);
         when(mockController1.isAvailable()).thenReturn(false);
         when(mockController2.isAvailable()).thenReturn(true);
-        mTestFragment.onAttach(RuntimeEnvironment.application);
+        mTestFragment.onAttach(mAppContext);
         mTestFragment.onResume();
 
         verify(mockController1).getPreferenceKey();
@@ -392,7 +395,7 @@
     public void createPreference_isProviderTile_returnSwitchPreference() {
         final Preference pref = mTestFragment.createPreference(mProviderTile);
 
-        assertThat(pref).isInstanceOf(SwitchPreference.class);
+        assertThat(pref).isInstanceOf(SwitchPreferenceCompat.class);
     }
 
     @Test
@@ -401,7 +404,7 @@
 
         assertThat(pref).isInstanceOf(Preference.class);
         assertThat(pref).isNotInstanceOf(PrimarySwitchPreference.class);
-        assertThat(pref).isNotInstanceOf(SwitchPreference.class);
+        assertThat(pref).isNotInstanceOf(SwitchPreferenceCompat.class);
         assertThat(pref.getWidgetLayoutResource()).isEqualTo(0);
     }
 
@@ -431,7 +434,7 @@
 
         assertThat(pref).isInstanceOf(Preference.class);
         assertThat(pref).isNotInstanceOf(PrimarySwitchPreference.class);
-        assertThat(pref).isNotInstanceOf(SwitchPreference.class);
+        assertThat(pref).isNotInstanceOf(SwitchPreferenceCompat.class);
         assertThat(pref.getWidgetLayoutResource())
                 .isEqualTo(R.layout.preference_external_action_icon);
     }
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
index 9a13961..3515ff9 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectDialogTest.java
@@ -29,13 +29,13 @@
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.widget.TextView;
 
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.R;
 import com.android.settingslib.drawer.ActivityTile;
 import com.android.settingslib.drawer.CategoryKey;
 import com.android.settingslib.drawer.Tile;
@@ -43,15 +43,19 @@
 import com.google.android.collect.Lists;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
 import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class ProfileSelectDialogTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static final UserHandle NORMAL_USER = new UserHandle(1111);
     private static final UserHandle REMOVED_USER = new UserHandle(2222);
@@ -67,11 +71,12 @@
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
         when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
         final UserInfo userInfo = new UserInfo(
                 NORMAL_USER.getIdentifier(), "test_user", UserInfo.FLAG_RESTRICTED);
         when(mUserManager.getUserInfo(NORMAL_USER.getIdentifier())).thenReturn(userInfo);
+        final UserProperties userProperties = new UserProperties.Builder().build();
+        when(mUserManager.getUserProperties(NORMAL_USER)).thenReturn(userProperties);
         mActivityInfo = new ActivityInfo();
         mActivityInfo.packageName = "pkg";
         mActivityInfo.name = "cls";
@@ -144,14 +149,15 @@
 
     @Test
     public void createDialog_showsCorrectTitle() {
-        mContext.setTheme(R.style.Theme_AppCompat);
+        mContext.setTheme(androidx.appcompat.R.style.Theme_AppCompat);
 
         Dialog dialog = ProfileSelectDialog.createDialog(mContext, Lists.newArrayList(NORMAL_USER),
                 (position) -> {
                 });
         dialog.show();
 
-        TextView titleView = dialog.findViewById(R.id.topPanel).findViewById(android.R.id.title);
+        TextView titleView = dialog.findViewById(com.google.android.material.R.id.topPanel)
+                .findViewById(android.R.id.title);
         assertThat(titleView.getText().toString()).isEqualTo(
                 mContext.getText(com.android.settingslib.R.string.choose_profile).toString());
     }
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
index 1e19325..17e0d1c 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectFragmentTest.java
@@ -17,8 +17,13 @@
 package com.android.settings.dashboard.profileselector;
 
 import static android.content.Intent.EXTRA_USER_ID;
+import static android.os.UserManager.USER_TYPE_FULL_SYSTEM;
+import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
+import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
 
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.EXTRA_PROFILE;
 import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PERSONAL_TAB;
+import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.PRIVATE_TAB;
 import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.WORK_TAB;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -28,35 +33,59 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.UserInfo;
 import android.os.Bundle;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.util.ArraySet;
 
+import androidx.annotation.NonNull;
 import androidx.fragment.app.Fragment;
 import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentManager;
+import androidx.fragment.app.FragmentTransaction;
+import androidx.lifecycle.Lifecycle;
+import androidx.viewpager2.widget.ViewPager2;
 
 import com.android.settings.SettingsActivity;
 import com.android.settings.SettingsPreferenceFragmentTest;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ViewPagerAdapter;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 
 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.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+import java.util.ArrayList;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class})
+@Config(shadows = {
+        ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ProfileSelectFragmentTest {
+    private static final String PRIMARY_USER_NAME = "primary";
+    private static final String MANAGED_USER_NAME = "managed";
+    private static final String PRIVATE_USER_NAME = "private";
 
     private Context mContext;
     private TestProfileSelectFragment mFragment;
     private FragmentActivity mActivity;
     private ShadowUserManager mUserManager;
+    @Mock private FragmentManager mFragmentManager;
+    @Mock private Lifecycle mLifecycle;
+    @Mock private FragmentTransaction mFragmentTransaction;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     @Before
     public void setUp() {
@@ -78,14 +107,52 @@
     public void getTabId_setArgumentWork_setCorrectTab() {
         final Bundle bundle = new Bundle();
         bundle.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, WORK_TAB);
+        ViewPager2 viewPager = new ViewPager2(mContext);
+        TestProfileSelectFragment profileSelectFragment = new TestProfileSelectFragment();
+        ViewPagerAdapter viewPagerAdapter =
+                new TestViewPagerAdapter(mFragmentManager, mLifecycle, profileSelectFragment);
+
+        when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
+        viewPager.setAdapter(viewPagerAdapter);
+        mFragment.setViewPager(viewPager);
+        profileSelectFragment.setViewPager(viewPager);
+        mFragmentManager.beginTransaction().add(profileSelectFragment, "tag");
 
         assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(WORK_TAB);
     }
 
     @Test
+    public void getTabId_setArgumentPrivate_setCorrectTab() {
+        final Bundle bundle = new Bundle();
+        bundle.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, PRIVATE_TAB);
+        ViewPager2 viewPager = new ViewPager2(mContext);
+        TestProfileSelectFragment profileSelectFragment = new TestProfileSelectFragment();
+        ViewPagerAdapter viewPagerAdapter =
+                new TestViewPagerAdapter(mFragmentManager, mLifecycle, profileSelectFragment);
+
+        when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
+        viewPager.setAdapter(viewPagerAdapter);
+        mFragment.setViewPager(viewPager);
+        profileSelectFragment.setViewPager(viewPager);
+        mFragmentManager.beginTransaction().add(profileSelectFragment, "tag");
+
+        assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(PRIVATE_TAB);
+    }
+
+    @Test
     public void getTabId_setArgumentPersonal_setCorrectTab() {
         final Bundle bundle = new Bundle();
         bundle.putInt(SettingsActivity.EXTRA_SHOW_FRAGMENT_TAB, PERSONAL_TAB);
+        ViewPager2 viewPager = new ViewPager2(mContext);
+        TestProfileSelectFragment profileSelectFragment = new TestProfileSelectFragment();
+        ViewPagerAdapter viewPagerAdapter =
+                new TestViewPagerAdapter(mFragmentManager, mLifecycle, profileSelectFragment);
+
+        when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
+        viewPager.setAdapter(viewPagerAdapter);
+        mFragment.setViewPager(viewPager);
+        profileSelectFragment.setViewPager(viewPager);
+        mFragmentManager.beginTransaction().add(profileSelectFragment, "tag");
 
         assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(PERSONAL_TAB);
     }
@@ -102,6 +169,16 @@
     }
 
     @Test
+    public void getTabId_setPrivateId_getCorrectTab() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        final Bundle bundle = new Bundle();
+        bundle.putInt(EXTRA_USER_ID, 11);
+        mUserManager.setPrivateProfile(11, "private", 0);
+
+        assertThat(mFragment.getTabId(mActivity, bundle)).isEqualTo(PRIVATE_TAB);
+    }
+
+    @Test
     public void getTabId_setPersonalId_getCorrectTab() {
         final Bundle bundle = new Bundle();
         bundle.putInt(EXTRA_USER_ID, 0);
@@ -121,14 +198,170 @@
         assertThat(mFragment.getTabId(mActivity, null)).isEqualTo(WORK_TAB);
     }
 
+    @Test
+    public void testGetFragments_whenOnlyPersonal_returnsOneFragment() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mUserManager.addProfile(
+                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        Fragment[] fragments = ProfileSelectFragment.getFragments(
+                mContext,
+                null /* bundle */,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new);
+        assertThat(fragments).hasLength(1);
+    }
+
+    @Test
+    public void testGetFragments_whenPrivateDisabled_returnsOneFragment() {
+        mUserManager.addProfile(
+                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        mUserManager.addProfile(
+                new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
+        Fragment[] fragments = ProfileSelectFragment.getFragments(
+                mContext,
+                null /* bundle */,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                new ProfileSelectFragment.PrivateSpaceInfoProvider() {
+                    @Override
+                    public boolean isPrivateSpaceLocked(Context context) {
+                        return true;
+                    }
+                });
+        assertThat(fragments).hasLength(1);
+    }
+
+    @Test
+    public void testGetFragments_whenPrivateEnabled_returnsTwoFragments() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mUserManager.addProfile(
+                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        mUserManager.addProfile(
+                new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
+        Fragment[] fragments = ProfileSelectFragment.getFragments(
+                mContext,
+                null /* bundle */,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                new ProfileSelectFragment.PrivateSpaceInfoProvider() {
+                    @Override
+                    public boolean isPrivateSpaceLocked(Context context) {
+                        return false;
+                    }
+                });
+        assertThat(fragments).hasLength(2);
+    }
+
+    @Test
+    public void testGetFragments_whenManagedProfile_returnsTwoFragments() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mUserManager.addProfile(
+                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        mUserManager.addProfile(
+                new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
+        Fragment[] fragments = ProfileSelectFragment.getFragments(
+                mContext,
+                null /* bundle */,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                new ProfileSelectFragment.PrivateSpaceInfoProvider() {
+                    @Override
+                    public boolean isPrivateSpaceLocked(Context context) {
+                        return false;
+                    }
+                });
+        assertThat(fragments).hasLength(2);
+    }
+
+    @Test
+    public void testGetFragments_whenAllProfiles_returnsThreeFragments() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mUserManager.addProfile(
+                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        mUserManager.addProfile(
+                new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
+        mUserManager.addProfile(
+                new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
+        Fragment[] fragments = ProfileSelectFragment.getFragments(
+                mContext,
+                null /* bundle */,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                new ProfileSelectFragment.PrivateSpaceInfoProvider() {
+                    @Override
+                    public boolean isPrivateSpaceLocked(Context context) {
+                        return false;
+                    }
+                });
+        assertThat(fragments).hasLength(3);
+    }
+
+    @Test
+    public void testGetFragments_whenAvailableBundle_returnsFragmentsWithCorrectBundles() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mUserManager.addProfile(
+                new UserInfo(0, PRIMARY_USER_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        mUserManager.addProfile(
+                new UserInfo(10, MANAGED_USER_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
+        mUserManager.addProfile(
+                new UserInfo(11, PRIVATE_USER_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
+        Bundle bundle = new Bundle();
+        Fragment[] fragments = ProfileSelectFragment.getFragments(
+                mContext,
+                bundle,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                TestProfileSelectFragment::new,
+                new ProfileSelectFragment.PrivateSpaceInfoProvider() {
+                    @Override
+                    public boolean isPrivateSpaceLocked(Context context) {
+                        return false;
+                    }
+                });
+        assertThat(fragments).hasLength(3);
+
+        List<Integer> foundProfileTypesList = new ArrayList<>();
+        for (Fragment fragment : fragments) {
+            foundProfileTypesList.add(fragment.getArguments().getInt(EXTRA_PROFILE));
+        }
+
+        assertThat(foundProfileTypesList).hasSize(3);
+
+        Set<Integer> foundProfileTypes = new ArraySet<>(foundProfileTypesList);
+        assertThat(foundProfileTypes).containsExactly(
+                ProfileSelectFragment.ProfileType.PERSONAL,
+                ProfileSelectFragment.ProfileType.WORK,
+                ProfileSelectFragment.ProfileType.PRIVATE);
+    }
+
     public static class TestProfileSelectFragment extends ProfileSelectFragment {
 
         @Override
         public Fragment[] getFragments() {
             return new Fragment[]{
                     new SettingsPreferenceFragmentTest.TestFragment(), //0
+                    new SettingsPreferenceFragmentTest.TestFragment(),
                     new SettingsPreferenceFragmentTest.TestFragment()
             };
         }
     }
+
+    static class TestViewPagerAdapter extends ViewPagerAdapter {
+        TestViewPagerAdapter(
+                @NonNull FragmentManager fragmentManager,
+                @NonNull Lifecycle lifecycle,
+                ProfileSelectFragment profileSelectFragment) {
+            super(fragmentManager, lifecycle, profileSelectFragment);
+        }
+
+        @Override
+        int getTabForPosition(int position) {
+            return position;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java
index f463bec..22fec8f 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/ProfileSelectLocationFragmentTest.java
@@ -16,33 +16,68 @@
 
 package com.android.settings.dashboard.profileselector;
 
+import static android.os.UserManager.USER_TYPE_FULL_SYSTEM;
+import static android.os.UserManager.USER_TYPE_PROFILE_MANAGED;
+import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
+
 import static com.android.settings.dashboard.profileselector.ProfileSelectFragment.EXTRA_PROFILE;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.pm.UserInfo;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowUserManager;
+
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
+@Config(shadows = {
+        ShadowUserManager.class,
+})
 @RunWith(RobolectricTestRunner.class)
 public class ProfileSelectLocationFragmentTest {
+    private static final String PERSONAL_PROFILE_NAME = "personal";
+    private static final String WORK_PROFILE_NAME = "work";
+    private static final String PRIVATE_PROFILE_NAME = "private";
+    @Rule
+    public final MockitoRule rule = MockitoJUnit.rule();
 
+    private ShadowUserManager mUserManager;
     private ProfileSelectLocationFragment mProfileSelectLocationFragment;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mProfileSelectLocationFragment = new ProfileSelectLocationFragment();
+        mUserManager = ShadowUserManager.getShadow();
+        mUserManager.addProfile(
+                new UserInfo(0, PERSONAL_PROFILE_NAME, null, 0, USER_TYPE_FULL_SYSTEM));
+        mUserManager.addProfile(
+                new UserInfo(1, WORK_PROFILE_NAME, null, 0, USER_TYPE_PROFILE_MANAGED));
+        mUserManager.addProfile(
+                new UserInfo(11, PRIVATE_PROFILE_NAME, null, 0, USER_TYPE_PROFILE_PRIVATE));
+        mProfileSelectLocationFragment = spy(new ProfileSelectLocationFragment());
+        when(mProfileSelectLocationFragment.getContext()).thenReturn(
+                ApplicationProvider.getApplicationContext());
     }
 
     @Test
     public void getFragments_containsCorrectBundle() {
-        assertThat(mProfileSelectLocationFragment.getFragments().length).isEqualTo(2);
+        assertThat(mProfileSelectLocationFragment.getFragments().length).isEqualTo(3);
         assertThat(mProfileSelectLocationFragment.getFragments()[0].getArguments().getInt(
                 EXTRA_PROFILE, -1)).isEqualTo(ProfileSelectFragment.ProfileType.PERSONAL);
         assertThat(mProfileSelectLocationFragment.getFragments()[1].getArguments().getInt(
                 EXTRA_PROFILE, -1)).isEqualTo(ProfileSelectFragment.ProfileType.WORK);
+        assertThat(mProfileSelectLocationFragment.getFragments()[2].getArguments().getInt(
+                EXTRA_PROFILE, -1)).isEqualTo(ProfileSelectFragment.ProfileType.PRIVATE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/dashboard/profileselector/UserAdapterTest.java b/tests/robotests/src/com/android/settings/dashboard/profileselector/UserAdapterTest.java
index aa7e30a..2fb5e03 100644
--- a/tests/robotests/src/com/android/settings/dashboard/profileselector/UserAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/dashboard/profileselector/UserAdapterTest.java
@@ -32,7 +32,7 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.widget.RecyclerView;
-import com.android.settingslib.R;
+import com.android.settings.R;
 
 import com.google.android.collect.Lists;
 
diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java
index ad41638..7e6d314 100644
--- a/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsagePreferenceTest.java
@@ -91,7 +91,7 @@
         mPreference = new AppDataUsagePreference(RuntimeEnvironment.application, mAppItem,
                 50 /* percent */, mUidDetailProvider);
         final View view = LayoutInflater.from(RuntimeEnvironment.application).inflate(
-                com.android.settingslib.R.layout.preference_app, null);
+                com.android.settingslib.widget.preference.app.R.layout.preference_app, null);
         final PreferenceViewHolder preferenceViewHolder =
                 PreferenceViewHolder.createInstanceForTests(view);
         final ProgressBar progressBar = (ProgressBar) preferenceViewHolder.findViewById(
diff --git a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
index 9f95712..1d841fa 100644
--- a/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/AppDataUsageTest.java
@@ -41,8 +41,8 @@
 import android.os.Bundle;
 import android.os.Process;
 import android.telephony.SubscriptionManager;
-import android.text.format.DateUtils;
 import android.util.ArraySet;
+import android.util.Range;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
@@ -51,6 +51,7 @@
 import androidx.recyclerview.widget.RecyclerView;
 
 import com.android.settings.applications.AppInfoBase;
+import com.android.settings.datausage.lib.NetworkUsageDetailsData;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
@@ -60,14 +61,12 @@
 import com.android.settingslib.AppItem;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 import com.android.settingslib.RestrictedSwitchPreference;
-import com.android.settingslib.net.NetworkCycleDataForUid;
-import com.android.settingslib.net.NetworkCycleDataForUidLoader;
+import com.android.settingslib.core.AbstractPreferenceController;
 import com.android.settingslib.net.UidDetail;
 import com.android.settingslib.net.UidDetailProvider;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -80,10 +79,8 @@
 import org.robolectric.shadows.ShadowSubscriptionManager;
 import org.robolectric.util.ReflectionHelpers;
 
-import java.util.ArrayList;
 import java.util.List;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowEntityHeaderController.class, ShadowRestrictedLockUtilsInternal.class})
 public class AppDataUsageTest {
@@ -100,7 +97,6 @@
         MockitoAnnotations.initMocks(this);
 
         ShadowEntityHeaderController.setUseMock(mHeaderController);
-        when(mHeaderController.setRecyclerView(any(), any())).thenReturn(mHeaderController);
         when(mHeaderController.setUid(anyInt())).thenReturn(mHeaderController);
     }
 
@@ -112,10 +108,7 @@
     @Test
     @Config(shadows = ShadowFragment.class)
     public void onCreate_appUid_shouldGetAppLabelFromAppInfo() throws NameNotFoundException {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
         final FragmentActivity activity = spy(Robolectric.setupActivity(FragmentActivity.class));
         doReturn(mPackageManager).when(activity).getPackageManager();
         doReturn(activity).when(mFragment).getActivity();
@@ -145,10 +138,7 @@
     @Test
     @Config(shadows = ShadowFragment.class)
     public void onCreate_notAppUid_shouldGetAppLabelFromUidDetailProvider() {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
         ReflectionHelpers.setField(mFragment, "mDashboardFeatureProvider",
                 FakeFeatureFactory.setupForTest().dashboardFeatureProvider);
         doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
@@ -175,10 +165,7 @@
 
     @Test
     public void bindAppHeader_allWorkApps_shouldNotShowAppInfoLink() {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
 
         when(mFragment.getPreferenceManager())
                 .thenReturn(mock(PreferenceManager.class, RETURNS_DEEP_STUBS));
@@ -195,10 +182,7 @@
             throws PackageManager.NameNotFoundException {
         final int fakeUserId = 100;
 
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
         final ArraySet<String> packages = new ArraySet<>();
         packages.add("pkg");
         final AppItem appItem = new AppItem(123456789);
@@ -224,10 +208,7 @@
 
     @Test
     public void changePreference_backgroundData_shouldUpdateUI() {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
         final AppItem appItem = new AppItem(123456789);
         final RestrictedSwitchPreference pref = mock(RestrictedSwitchPreference.class);
         final DataSaverBackend dataSaverBackend = mock(DataSaverBackend.class);
@@ -244,10 +225,7 @@
 
     @Test
     public void updatePrefs_restrictedByAdmin_shouldDisablePreference() {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
         final int testUid = 123123;
         final AppItem appItem = new AppItem(testUid);
         final RestrictedSwitchPreference restrictBackgroundPref
@@ -261,6 +239,7 @@
         ReflectionHelpers.setField(mFragment, "mUnrestrictedData", unrestrictedDataPref);
         ReflectionHelpers.setField(mFragment, "mDataSaverBackend", dataSaverBackend);
         ReflectionHelpers.setField(mFragment.services, "mPolicyManager", networkPolicyManager);
+        ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
         when(mFragment.getListView()).thenReturn(mock(RecyclerView.class));
 
         ShadowRestrictedLockUtilsInternal.setRestricted(true);
@@ -274,50 +253,27 @@
     }
 
     @Test
-    public void bindData_noAppUsageData_shouldHideCycleSpinner() {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
-        final SpinnerPreference cycle = mock(SpinnerPreference.class);
-        ReflectionHelpers.setField(mFragment, "mCycle", cycle);
-        final Preference preference = mock(Preference.class);
-        ReflectionHelpers.setField(mFragment, "mBackgroundUsage", preference);
-        ReflectionHelpers.setField(mFragment, "mForegroundUsage", preference);
-        ReflectionHelpers.setField(mFragment, "mTotalUsage", preference);
-        ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
-
-        mFragment.bindData(0 /* position */);
-
-        verify(cycle).setHasCycles(false);
-    }
-
-    @Test
-    public void bindData_hasAppUsageData_shouldShowCycleSpinnerAndUpdateUsageSummary() {
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+    public void bindData_shouldUpdateUsageSummary() {
+        mFragment = spy(new TestFragment());
         final Context context = RuntimeEnvironment.application;
         ReflectionHelpers.setField(mFragment, "mContext", context);
         final long backgroundBytes = 1234L;
         final long foregroundBytes = 5678L;
-        final List<NetworkCycleDataForUid> appUsage = new ArrayList<>();
-        appUsage.add(new NetworkCycleDataForUid.Builder()
-                .setBackgroundUsage(backgroundBytes).setForegroundUsage(foregroundBytes).build());
-        ReflectionHelpers.setField(mFragment, "mUsageData", appUsage);
+        final NetworkUsageDetailsData appUsage = new NetworkUsageDetailsData(
+                new Range<>(1L, 2L),
+                backgroundBytes + foregroundBytes,
+                foregroundBytes,
+                backgroundBytes
+        );
         final Preference backgroundPref = mock(Preference.class);
         ReflectionHelpers.setField(mFragment, "mBackgroundUsage", backgroundPref);
         final Preference foregroundPref = mock(Preference.class);
         ReflectionHelpers.setField(mFragment, "mForegroundUsage", foregroundPref);
         final Preference totalPref = mock(Preference.class);
         ReflectionHelpers.setField(mFragment, "mTotalUsage", totalPref);
-        final SpinnerPreference cycle = mock(SpinnerPreference.class);
-        ReflectionHelpers.setField(mFragment, "mCycle", cycle);
 
-        mFragment.bindData(0 /* position */);
+        mFragment.bindData(appUsage);
 
-        verify(cycle).setHasCycles(true);
         verify(totalPref).setSummary(
                 DataUsageUtils.formatDataUsage(context, backgroundBytes + foregroundBytes));
         verify(backgroundPref).setSummary(DataUsageUtils.formatDataUsage(context, backgroundBytes));
@@ -325,143 +281,14 @@
     }
 
     @Test
-    public void onCreateLoader_categoryApp_shouldQueryDataUsageUsingAppKey() {
-        mFragment = new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        };
-        final Context context = RuntimeEnvironment.application;
-        final int testUid = 123123;
-        final AppItem appItem = new AppItem(testUid);
-        appItem.addUid(testUid);
-        appItem.category = AppItem.CATEGORY_APP;
-        ReflectionHelpers.setField(mFragment, "mContext", context);
-        ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
-        ReflectionHelpers.setField(mFragment, "mTemplate",
-                new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-        final long end = System.currentTimeMillis();
-        final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
-
-        final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
-                mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
-
-        final List<Integer> uids = loader.getUids();
-        assertThat(uids).hasSize(1);
-        assertThat(uids.get(0)).isEqualTo(testUid);
-    }
-
-    @Test
-    public void onCreateLoader_categoryUser_shouldQueryDataUsageUsingAssociatedUids() {
-        mFragment = new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        };
-        final Context context = RuntimeEnvironment.application;
-        final int testUserId = 11;
-        final AppItem appItem = new AppItem(testUserId);
-        appItem.category = AppItem.CATEGORY_USER;
-        appItem.addUid(123);
-        appItem.addUid(456);
-        appItem.addUid(789);
-        ReflectionHelpers.setField(mFragment, "mContext", context);
-        ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
-        ReflectionHelpers.setField(mFragment, "mTemplate",
-                new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-        final long end = System.currentTimeMillis();
-        final long start = end - (DateUtils.WEEK_IN_MILLIS * 4);
-
-        final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
-                mFragment.mUidDataCallbacks.onCreateLoader(0, Bundle.EMPTY);
-
-        final List<Integer> uids = loader.getUids();
-        assertThat(uids).hasSize(3);
-        assertThat(uids.get(0)).isEqualTo(123);
-        assertThat(uids.get(1)).isEqualTo(456);
-        assertThat(uids.get(2)).isEqualTo(789);
-    }
-
-    @Test
-    public void onCreateLoader_hasCyclesSpecified_shouldQueryDataUsageForSpecifiedCycles() {
-        final long startTime = 1521583200000L;
-        final long endTime = 1521676800000L;
-        ArrayList<Long> testCycles = new ArrayList<>();
-        testCycles.add(endTime);
-        testCycles.add(startTime);
-        final int uid = 123;
-        final AppItem appItem = new AppItem(uid);
-        appItem.category = AppItem.CATEGORY_APP;
-        appItem.addUid(uid);
-
-        mFragment = new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        };
-        ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
-        ReflectionHelpers.setField(mFragment, "mCycles", testCycles);
-        ReflectionHelpers.setField(mFragment, "mAppItem", appItem);
-        ReflectionHelpers.setField(mFragment, "mTemplate",
-                new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-
-        final NetworkCycleDataForUidLoader loader = (NetworkCycleDataForUidLoader)
-                mFragment.mUidDataCallbacks.onCreateLoader(0 /* id */, Bundle.EMPTY /* args */);
-
-        final ArrayList<Long> cycles = loader.getCycles();
-        assertThat(cycles).hasSize(2);
-        assertThat(cycles.get(0)).isEqualTo(endTime);
-        assertThat(cycles.get(1)).isEqualTo(startTime);
-    }
-
-    @Test
-    public void onLoadFinished_hasSelectedCycleSpecified_shouldSelectSpecifiedCycle() {
-        final long now = System.currentTimeMillis();
-        final long tenDaysAgo = now - (DateUtils.DAY_IN_MILLIS * 10);
-        final long twentyDaysAgo = now - (DateUtils.DAY_IN_MILLIS * 20);
-        final long thirtyDaysAgo = now - (DateUtils.DAY_IN_MILLIS * 30);
-        final List<NetworkCycleDataForUid> data = new ArrayList<>();
-        NetworkCycleDataForUid.Builder builder = new NetworkCycleDataForUid.Builder();
-        builder.setStartTime(thirtyDaysAgo).setEndTime(twentyDaysAgo).setTotalUsage(9876L);
-        data.add(builder.build());
-        builder = new NetworkCycleDataForUid.Builder();
-        builder.setStartTime(twentyDaysAgo).setEndTime(tenDaysAgo).setTotalUsage(5678L);
-        data.add(builder.build());
-        builder = new NetworkCycleDataForUid.Builder();
-        builder.setStartTime(tenDaysAgo).setEndTime(now).setTotalUsage(1234L);
-        data.add(builder.build());
-
-        mFragment = new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        };
-        ReflectionHelpers.setField(mFragment, "mContext", RuntimeEnvironment.application);
-        ReflectionHelpers.setField(mFragment, "mCycleAdapter", mock(CycleAdapter.class));
-        ReflectionHelpers.setField(mFragment, "mSelectedCycle", tenDaysAgo);
-        final Preference backgroundPref = mock(Preference.class);
-        ReflectionHelpers.setField(mFragment, "mBackgroundUsage", backgroundPref);
-        final Preference foregroundPref = mock(Preference.class);
-        ReflectionHelpers.setField(mFragment, "mForegroundUsage", foregroundPref);
-        final Preference totalPref = mock(Preference.class);
-        ReflectionHelpers.setField(mFragment, "mTotalUsage", totalPref);
-        final SpinnerPreference cycle = mock(SpinnerPreference.class);
-        ReflectionHelpers.setField(mFragment, "mCycle", cycle);
-
-        mFragment.mUidDataCallbacks.onLoadFinished(null /* loader */, data);
-
-        verify(cycle).setSelection(1);
-    }
-
-    @Test
     @Config(shadows = {ShadowDataUsageUtils.class, ShadowSubscriptionManager.class,
             ShadowFragment.class})
     public void onCreate_noNetworkTemplateAndInvalidDataSubscription_shouldUseWifiTemplate() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
-        ShadowDataUsageUtils.HAS_SIM = false;
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        mFragment = spy(new AppDataUsage() {
-            @Override
-            public boolean isSimHardwareVisible(Context context) { return true; }
-        });
+        mFragment = spy(new TestFragment());
         doReturn(Robolectric.setupActivity(FragmentActivity.class)).when(mFragment).getActivity();
         doReturn(RuntimeEnvironment.application).when(mFragment).getContext();
         final UidDetailProvider uidDetailProvider = mock(UidDetailProvider.class);
@@ -481,4 +308,20 @@
         assertTrue(mFragment.mTemplate.getSubscriberIds().isEmpty());
         assertTrue(mFragment.mTemplate.getWifiNetworkKeys().isEmpty());
     }
+
+    private static class TestFragment extends AppDataUsage {
+        @Override
+        protected <T extends AbstractPreferenceController> T use(Class<T> clazz) {
+            return mock(clazz);
+        }
+
+        @Override
+        void initCycle(List<Integer> uidList) {
+        }
+
+        @Override
+        public boolean isSimHardwareVisible(Context context) {
+            return true;
+        }
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java b/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java
index cef5928..6067324 100644
--- a/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/BillingCycleSettingsTest.java
@@ -59,6 +59,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class BillingCycleSettingsTest {
 
     private static final int LIMIT_BYTES = 123;
diff --git a/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java
index aee91f3..205a600 100644
--- a/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/ChartDataUsagePreferenceTest.java
@@ -31,12 +31,12 @@
 
 import com.android.settings.R;
 import com.android.settings.datausage.ChartDataUsagePreference.DataUsageSummaryNode;
-import com.android.settings.utils.ActivityControllerWrapper;
+import com.android.settings.datausage.lib.NetworkCycleChartData;
+import com.android.settings.datausage.lib.NetworkUsageData;
 import com.android.settings.widget.UsageView;
-import com.android.settingslib.net.NetworkCycleChartData;
-import com.android.settingslib.net.NetworkCycleData;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -56,7 +56,7 @@
     // Test bucket end date, 22 Mar 2018 00:00:00
     private static final long TIMESTAMP_END = 1521676800000L;
 
-    private List<NetworkCycleData> mNetworkCycleData;
+    private List<NetworkUsageData> mNetworkCycleData;
     private NetworkCycleChartData mNetworkCycleChartData;
     private ChartDataUsagePreference mPreference;
     private Activity mActivity;
@@ -65,8 +65,8 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = spy((Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get());
+
+        mActivity = spy(Robolectric.setupActivity(Activity.class));
         mPreference = new ChartDataUsagePreference(mActivity, null /* attrs */);
         LayoutInflater inflater = LayoutInflater.from(mActivity);
         View view = inflater.inflate(mPreference.getLayoutResource(), null /* root */,
@@ -80,6 +80,9 @@
         final ArgumentCaptor<SparseIntArray> pointsCaptor =
                 ArgumentCaptor.forClass(SparseIntArray.class);
         createTestNetworkData();
+        mPreference.setTime(
+                mNetworkCycleChartData.getTotal().getStartTime(),
+                mNetworkCycleChartData.getTotal().getEndTime());
         mPreference.setNetworkCycleData(mNetworkCycleChartData);
 
         mPreference.calcPoints(usageView, mNetworkCycleData.subList(0, 5));
@@ -90,12 +93,16 @@
         assertThat(points.valueAt(1)).isNotEqualTo(-1);
     }
 
+    @Ignore("b/313568482")
     @Test
     public void calcPoints_dataNotAvailableAtCycleStart_shouldIndicateStartOfData() {
         final UsageView usageView = mock(UsageView.class);
         final ArgumentCaptor<SparseIntArray> pointsCaptor =
                 ArgumentCaptor.forClass(SparseIntArray.class);
         createTestNetworkData();
+        mPreference.setTime(
+                mNetworkCycleChartData.getTotal().getStartTime(),
+                mNetworkCycleChartData.getTotal().getEndTime());
         mPreference.setNetworkCycleData(mNetworkCycleChartData);
 
         mPreference.calcPoints(usageView, mNetworkCycleData.subList(2, 7));
@@ -107,43 +114,67 @@
         assertThat(points.valueAt(1)).isEqualTo(-1);
     }
 
+    @Ignore("b/313568482")
     @Test
     public void calcPoints_shouldNotDrawPointForFutureDate() {
         final UsageView usageView = mock(UsageView.class);
         final ArgumentCaptor<SparseIntArray> pointsCaptor =
-            ArgumentCaptor.forClass(SparseIntArray.class);
+                ArgumentCaptor.forClass(SparseIntArray.class);
         final long tonight = System.currentTimeMillis() + TimeUnit.HOURS.toMillis(12);
         mNetworkCycleData = new ArrayList<>();
         // add test usage data for last 5 days
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight - TimeUnit.DAYS.toMillis(5), tonight - TimeUnit.DAYS.toMillis(4), 743823454L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight - TimeUnit.DAYS.toMillis(4), tonight - TimeUnit.DAYS.toMillis(3), 64396L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight - TimeUnit.DAYS.toMillis(3), tonight - TimeUnit.DAYS.toMillis(2), 2832L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight - TimeUnit.DAYS.toMillis(2), tonight - TimeUnit.DAYS.toMillis(1), 83849690L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight - TimeUnit.DAYS.toMillis(1), tonight, 1883657L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight - TimeUnit.DAYS.toMillis(5),
+                tonight - TimeUnit.DAYS.toMillis(4),
+                743823454L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight - TimeUnit.DAYS.toMillis(4),
+                tonight - TimeUnit.DAYS.toMillis(3),
+                64396L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight - TimeUnit.DAYS.toMillis(3),
+                tonight - TimeUnit.DAYS.toMillis(2),
+                2832L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight - TimeUnit.DAYS.toMillis(2),
+                tonight - TimeUnit.DAYS.toMillis(1),
+                83849690L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight - TimeUnit.DAYS.toMillis(1), tonight, 1883657L));
         // add test usage data for next 5 days
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight, tonight + TimeUnit.DAYS.toMillis(1), 0L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight + TimeUnit.DAYS.toMillis(1), tonight + TimeUnit.DAYS.toMillis(2), 0L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight + TimeUnit.DAYS.toMillis(2), tonight + TimeUnit.DAYS.toMillis(3), 0L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight + TimeUnit.DAYS.toMillis(3), tonight + TimeUnit.DAYS.toMillis(4), 0L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight + TimeUnit.DAYS.toMillis(4), tonight + TimeUnit.DAYS.toMillis(5), 0L));
-        mNetworkCycleData.add(createNetworkCycleData(
-            tonight + TimeUnit.DAYS.toMillis(5), tonight + TimeUnit.DAYS.toMillis(6), 0L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight, tonight + TimeUnit.DAYS.toMillis(1), 0L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight + TimeUnit.DAYS.toMillis(1),
+                tonight + TimeUnit.DAYS.toMillis(2),
+                0L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight + TimeUnit.DAYS.toMillis(2),
+                tonight + TimeUnit.DAYS.toMillis(3),
+                0L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight + TimeUnit.DAYS.toMillis(3),
+                tonight + TimeUnit.DAYS.toMillis(4),
+                0L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight + TimeUnit.DAYS.toMillis(4),
+                tonight + TimeUnit.DAYS.toMillis(5),
+                0L));
+        mNetworkCycleData.add(new NetworkUsageData(
+                tonight + TimeUnit.DAYS.toMillis(5),
+                tonight + TimeUnit.DAYS.toMillis(6),
+                0L));
 
-        final NetworkCycleChartData.Builder builder = new NetworkCycleChartData.Builder();
-        builder.setUsageBuckets(mNetworkCycleData)
-            .setStartTime(tonight - TimeUnit.DAYS.toMillis(5))
-            .setEndTime(tonight + TimeUnit.DAYS.toMillis(6));
-        mNetworkCycleChartData = builder.build();
+        mNetworkCycleChartData = new NetworkCycleChartData(
+                new NetworkUsageData(
+                        tonight - TimeUnit.DAYS.toMillis(5),
+                        tonight + TimeUnit.DAYS.toMillis(6),
+                        0),
+                mNetworkCycleData
+        );
+        mPreference.setTime(
+                mNetworkCycleChartData.getTotal().getStartTime(),
+                mNetworkCycleChartData.getTotal().getEndTime());
         mPreference.setNetworkCycleData(mNetworkCycleChartData);
 
         mPreference.calcPoints(usageView, mNetworkCycleData);
@@ -171,6 +202,9 @@
         final TextView labelStart = (TextView) mHolder.findViewById(R.id.label_start);
         final TextView labelEnd = (TextView) mHolder.findViewById(R.id.label_end);
         createTestNetworkData();
+        mPreference.setTime(
+                mNetworkCycleChartData.getTotal().getStartTime(),
+                mNetworkCycleChartData.getTotal().getEndTime());
         mPreference.setNetworkCycleData(mNetworkCycleChartData);
 
         mPreference.onBindViewHolder(mHolder);
@@ -199,38 +233,33 @@
     private void createTestNetworkData() {
         mNetworkCycleData = new ArrayList<>();
         // create 10 arbitrary network data
-        mNetworkCycleData.add(createNetworkCycleData(1521583200000L, 1521586800000L, 743823454L));
-        mNetworkCycleData.add(createNetworkCycleData(1521586800000L, 1521590400000L, 64396L));
-        mNetworkCycleData.add(createNetworkCycleData(1521590400000L, 1521655200000L, 2832L));
-        mNetworkCycleData.add(createNetworkCycleData(1521655200000L, 1521658800000L, 83849690L));
-        mNetworkCycleData.add(createNetworkCycleData(1521658800000L, 1521662400000L, 1883657L));
-        mNetworkCycleData.add(createNetworkCycleData(1521662400000L, 1521666000000L, 705259L));
-        mNetworkCycleData.add(createNetworkCycleData(1521666000000L, 1521669600000L, 216169L));
-        mNetworkCycleData.add(createNetworkCycleData(1521669600000L, 1521673200000L, 6069175L));
-        mNetworkCycleData.add(createNetworkCycleData(1521673200000L, 1521676800000L, 120389L));
-        mNetworkCycleData.add(createNetworkCycleData(1521676800000L, 1521678800000L, 29947L));
+        mNetworkCycleData.add(new NetworkUsageData(1521583200000L, 1521586800000L, 743823454L));
+        mNetworkCycleData.add(new NetworkUsageData(1521586800000L, 1521590400000L, 64396L));
+        mNetworkCycleData.add(new NetworkUsageData(1521590400000L, 1521655200000L, 2832L));
+        mNetworkCycleData.add(new NetworkUsageData(1521655200000L, 1521658800000L, 83849690L));
+        mNetworkCycleData.add(new NetworkUsageData(1521658800000L, 1521662400000L, 1883657L));
+        mNetworkCycleData.add(new NetworkUsageData(1521662400000L, 1521666000000L, 705259L));
+        mNetworkCycleData.add(new NetworkUsageData(1521666000000L, 1521669600000L, 216169L));
+        mNetworkCycleData.add(new NetworkUsageData(1521669600000L, 1521673200000L, 6069175L));
+        mNetworkCycleData.add(new NetworkUsageData(1521673200000L, 1521676800000L, 120389L));
+        mNetworkCycleData.add(new NetworkUsageData(1521676800000L, 1521678800000L, 29947L));
 
-        final NetworkCycleChartData.Builder builder = new NetworkCycleChartData.Builder();
-        builder.setUsageBuckets(mNetworkCycleData)
-            .setStartTime(TIMESTAMP_START)
-            .setEndTime(TIMESTAMP_END);
-        mNetworkCycleChartData = builder.build();
+        mNetworkCycleChartData = new NetworkCycleChartData(
+                new NetworkUsageData(TIMESTAMP_START, TIMESTAMP_END, 0),
+                mNetworkCycleData
+        );
     }
 
     private void createSomeSamePercentageNetworkData() {
         mNetworkCycleData = new ArrayList<>();
-        mNetworkCycleData.add(createNetworkCycleData(1521583200000L, 1521586800000L, 100));//33%
-        mNetworkCycleData.add(createNetworkCycleData(1521586800000L, 1521590400000L, 1));  //33%
-        mNetworkCycleData.add(createNetworkCycleData(1521590400000L, 1521655200000L, 0));  //33%
-        mNetworkCycleData.add(createNetworkCycleData(1521655200000L, 1521658800000L, 0));  //33%
-        mNetworkCycleData.add(createNetworkCycleData(1521658800000L, 1521662400000L, 200));//99%
-        mNetworkCycleData.add(createNetworkCycleData(1521662400000L, 1521666000000L, 1));  //99%
-        mNetworkCycleData.add(createNetworkCycleData(1521666000000L, 1521669600000L, 1));  //100
-        mNetworkCycleData.add(createNetworkCycleData(1521669600000L, 1521673200000L, 0));  //100%
+        mNetworkCycleData.add(new NetworkUsageData(1521583200000L, 1521586800000L, 100)); //33%
+        mNetworkCycleData.add(new NetworkUsageData(1521586800000L, 1521590400000L, 1));   //33%
+        mNetworkCycleData.add(new NetworkUsageData(1521590400000L, 1521655200000L, 0));   //33%
+        mNetworkCycleData.add(new NetworkUsageData(1521655200000L, 1521658800000L, 0));   //33%
+        mNetworkCycleData.add(new NetworkUsageData(1521658800000L, 1521662400000L, 200)); //99%
+        mNetworkCycleData.add(new NetworkUsageData(1521662400000L, 1521666000000L, 1));   //99%
+        mNetworkCycleData.add(new NetworkUsageData(1521666000000L, 1521669600000L, 1));   //100
+        mNetworkCycleData.add(new NetworkUsageData(1521669600000L, 1521673200000L, 0));   //100%
     }
 
-    private NetworkCycleData createNetworkCycleData(long start, long end, long usage) {
-        return new NetworkCycleData.Builder()
-            .setStartTime(start).setEndTime(end).setTotalUsage(usage).build();
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
deleted file mode 100644
index 762fbf8..0000000
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageListTest.java
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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 static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Activity;
-import android.content.Intent;
-import android.net.ConnectivityManager;
-import android.net.NetworkTemplate;
-import android.os.Bundle;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.view.LayoutInflater;
-import android.view.View;
-import android.widget.FrameLayout;
-import android.widget.Spinner;
-
-import androidx.fragment.app.FragmentActivity;
-import androidx.loader.app.LoaderManager;
-import androidx.preference.PreferenceManager;
-
-import com.android.settings.R;
-import com.android.settings.SettingsActivity;
-import com.android.settings.network.MobileDataEnabledListener;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.widget.LoadingViewController;
-import com.android.settingslib.AppItem;
-import com.android.settingslib.NetworkPolicyEditor;
-import com.android.settingslib.core.instrumentation.VisibilityLoggerMixin;
-import com.android.settingslib.net.NetworkCycleChartData;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.android.controller.ActivityController;
-import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Ignore
-@RunWith(RobolectricTestRunner.class)
-public class DataUsageListTest {
-
-    @Mock
-    private MobileDataEnabledListener mMobileDataEnabledListener;
-    @Mock
-    private TemplatePreference.NetworkServices mNetworkServices;
-    @Mock
-    private LoaderManager mLoaderManager;
-    @Mock
-    private UserManager mUserManager;
-
-    private Activity mActivity;
-    private DataUsageList mDataUsageList;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        FakeFeatureFactory.setupForTest();
-        final ActivityController<Activity> mActivityController =
-                Robolectric.buildActivity(Activity.class);
-        mActivity = spy(mActivityController.get());
-        mNetworkServices.mPolicyEditor = mock(NetworkPolicyEditor.class);
-        mDataUsageList = spy(DataUsageList.class);
-        mDataUsageList.mDataStateListener = mMobileDataEnabledListener;
-
-        doReturn(mActivity).when(mDataUsageList).getContext();
-        doReturn(mUserManager).when(mActivity).getSystemService(UserManager.class);
-        doReturn(false).when(mUserManager).isGuestUser();
-        ReflectionHelpers.setField(mDataUsageList, "mDataStateListener",
-                mMobileDataEnabledListener);
-        ReflectionHelpers.setField(mDataUsageList, "services", mNetworkServices);
-        doReturn(mLoaderManager).when(mDataUsageList).getLoaderManager();
-        mDataUsageList.mLoadingViewController = mock(LoadingViewController.class);
-        doNothing().when(mDataUsageList).updateSubscriptionInfoEntity();
-    }
-
-    @Test
-    @Config(shadows = ShadowDataUsageBaseFragment.class)
-    public void onCreate_isNotGuestUser_shouldNotFinish() {
-        doReturn(false).when(mUserManager).isGuestUser();
-        doNothing().when(mDataUsageList).processArgument();
-
-        mDataUsageList.onCreate(null);
-
-        verify(mDataUsageList, never()).finish();
-    }
-
-    @Test
-    @Config(shadows = ShadowDataUsageBaseFragment.class)
-    public void onCreate_isGuestUser_shouldFinish() {
-        doReturn(true).when(mUserManager).isGuestUser();
-
-        mDataUsageList.onCreate(null);
-
-        verify(mDataUsageList).finish();
-    }
-
-    @Test
-    public void resume_shouldListenDataStateChange() {
-        ReflectionHelpers.setField(
-                mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
-        ReflectionHelpers.setField(
-                mDataUsageList, "mPreferenceManager", mock(PreferenceManager.class));
-
-        mDataUsageList.onResume();
-
-        verify(mMobileDataEnabledListener).start(anyInt());
-
-        mDataUsageList.onPause();
-    }
-
-    @Test
-    public void pause_shouldUnlistenDataStateChange() {
-        ReflectionHelpers.setField(
-                mDataUsageList, "mVisibilityLoggerMixin", mock(VisibilityLoggerMixin.class));
-        ReflectionHelpers.setField(
-                mDataUsageList, "mPreferenceManager", mock(PreferenceManager.class));
-
-        mDataUsageList.onResume();
-        mDataUsageList.onPause();
-
-        verify(mMobileDataEnabledListener).stop();
-    }
-
-    @Test
-    public void processArgument_shouldGetTemplateFromArgument() {
-        final Bundle args = new Bundle();
-        args.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class));
-        args.putInt(DataUsageList.EXTRA_SUB_ID, 3);
-        mDataUsageList.setArguments(args);
-
-        mDataUsageList.processArgument();
-
-        assertThat(mDataUsageList.mTemplate).isNotNull();
-        assertThat(mDataUsageList.mSubId).isEqualTo(3);
-    }
-
-    @Test
-    public void processArgument_shouldGetNetworkTypeFromArgument() {
-        final Bundle args = new Bundle();
-        args.putInt(DataUsageList.EXTRA_NETWORK_TYPE, ConnectivityManager.TYPE_WIFI);
-        args.putInt(DataUsageList.EXTRA_SUB_ID, 3);
-        mDataUsageList.setArguments(args);
-
-        mDataUsageList.processArgument();
-
-        assertThat(mDataUsageList.mNetworkType).isEqualTo(ConnectivityManager.TYPE_WIFI);
-    }
-
-    @Test
-    public void processArgument_fromIntent_shouldGetTemplateFromIntent() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
-        final Intent intent = new Intent();
-        intent.putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock(NetworkTemplate.class));
-        intent.putExtra(Settings.EXTRA_SUB_ID, 3);
-        when(activity.getIntent()).thenReturn(intent);
-        doReturn(activity).when(mDataUsageList).getActivity();
-
-        mDataUsageList.processArgument();
-
-        assertThat(mDataUsageList.mTemplate).isNotNull();
-        assertThat(mDataUsageList.mSubId).isEqualTo(3);
-    }
-
-    @Test
-    public void startAppDataUsage_shouldAddCyclesInfoToLaunchArguments() {
-        final long startTime = 1521583200000L;
-        final long endTime = 1521676800000L;
-        final List<NetworkCycleChartData> data = new ArrayList<>();
-        final NetworkCycleChartData.Builder builder = new NetworkCycleChartData.Builder();
-        builder.setStartTime(startTime)
-                .setEndTime(endTime);
-        data.add(builder.build());
-        ReflectionHelpers.setField(mDataUsageList, "mCycleData", data);
-        final Spinner spinner = mock(Spinner.class);
-        when(spinner.getSelectedItemPosition()).thenReturn(0);
-        ReflectionHelpers.setField(mDataUsageList, "mCycleSpinner", spinner);
-        final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
-
-        mDataUsageList.startAppDataUsage(new AppItem());
-
-        verify(mActivity).startActivity(intent.capture());
-        final Bundle arguments =
-                intent.getValue().getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-        assertThat(arguments.getLong(AppDataUsage.ARG_SELECTED_CYCLE)).isEqualTo(endTime);
-        final ArrayList<Long> cycles =
-                (ArrayList) arguments.getSerializable(AppDataUsage.ARG_NETWORK_CYCLES);
-        assertThat(cycles).hasSize(2);
-        assertThat(cycles.get(0)).isEqualTo(endTime);
-        assertThat(cycles.get(1)).isEqualTo(startTime);
-    }
-
-    @Test
-    public void onViewCreated_shouldHideCycleSpinner() {
-        final View view = new View(mActivity);
-        final View header = getHeader();
-        final Spinner spinner = getSpinner(header);
-        spinner.setVisibility(View.VISIBLE);
-        doReturn(header).when(mDataUsageList).setPinnedHeaderView(anyInt());
-        doReturn(view).when(mDataUsageList).getView();
-
-        mDataUsageList.onViewCreated(view, null);
-
-        assertThat(spinner.getVisibility()).isEqualTo(View.GONE);
-    }
-
-    @Test
-    public void onLoadFinished_networkCycleDataCallback_shouldShowCycleSpinner() {
-        final Spinner spinner = getSpinner(getHeader());
-        spinner.setVisibility(View.INVISIBLE);
-        mDataUsageList.mCycleSpinner = spinner;
-        assertThat(spinner.getVisibility()).isEqualTo(View.INVISIBLE);
-        doNothing().when(mDataUsageList).updatePolicy();
-
-        mDataUsageList.mNetworkCycleDataCallbacks.onLoadFinished(null, null);
-
-        assertThat(spinner.getVisibility()).isEqualTo(View.VISIBLE);
-    }
-
-    @Test
-    public void onPause_shouldDestroyLoaders() {
-        mDataUsageList.onPause();
-
-        verify(mLoaderManager).destroyLoader(DataUsageList.LOADER_CHART_DATA);
-        verify(mLoaderManager).destroyLoader(DataUsageList.LOADER_SUMMARY);
-    }
-
-    private View getHeader() {
-        final View rootView = LayoutInflater.from(mActivity)
-                .inflate(R.layout.preference_list_fragment, null, false);
-        final FrameLayout pinnedHeader = rootView.findViewById(R.id.pinned_header);
-        final View header = mActivity.getLayoutInflater()
-                .inflate(R.layout.apps_filter_spinner, pinnedHeader, false);
-
-        return header;
-    }
-
-    private Spinner getSpinner(View header) {
-        final Spinner spinner = header.findViewById(R.id.filter_spinner);
-        return spinner;
-    }
-
-    @Implements(DataUsageBaseFragment.class)
-    public static class ShadowDataUsageBaseFragment {
-        @Implementation
-        public void onCreate(Bundle icicle) {
-            // do nothing
-        }
-
-        @Implementation
-        protected boolean isBandwidthControlEnabled() {
-            return true;
-        }
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsagePreferenceTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsagePreferenceTest.java
index 02f683a..4db2fe0 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsagePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsagePreferenceTest.java
@@ -61,7 +61,7 @@
 
         mPreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
                 .setMeteredness(NetworkStats.METERED_YES).build(),
-                5 /* subId */, null /* services */);
+                5 /* subId */);
 
         verify(mPreference).setEnabled(false);
         verify(mPreference).setIntent(null);
@@ -73,7 +73,7 @@
 
         mPreference.setTemplate(new NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE)
                 .setMeteredness(NetworkStats.METERED_YES).build(),
-                5 /* subId */, null /* services */);
+                5 /* subId */);
 
         verify(mPreference, never()).setEnabled(false);
         verify(mPreference).setIntent(any(Intent.class));
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
deleted file mode 100644
index 71d5d7e..0000000
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.java
+++ /dev/null
@@ -1,419 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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 static android.content.pm.PackageManager.FEATURE_WIFI;
-
-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.eq;
-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.content.Intent;
-import android.content.pm.PackageManager;
-import android.net.NetworkTemplate;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.SubscriptionPlan;
-import android.telephony.TelephonyManager;
-import android.util.RecurrenceRule;
-
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.PreferenceFragmentCompat;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
-import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.NetworkPolicyEditor;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.net.DataUsageController;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.ArgumentCaptor;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-import java.time.Instant;
-import java.time.ZoneId;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowEntityHeaderController.class)
-public class DataUsageSummaryPreferenceControllerTest {
-
-    private static final long UPDATE_BACKOFF_MS = TimeUnit.MINUTES.toMillis(13);
-    private static final long CYCLE_BACKOFF_MS = TimeUnit.DAYS.toMillis(6);
-    private static final long CYCLE_LENGTH_MS = TimeUnit.DAYS.toMillis(30);
-    private static final long USAGE1 =  373 * BillingCycleSettings.MIB_IN_BYTES;
-    private static final long LIMIT1 = BillingCycleSettings.GIB_IN_BYTES;
-    private static final String CARRIER_NAME = "z-mobile";
-    private static final String PERIOD = "Feb";
-
-    @Mock
-    private DataUsageController mDataUsageController;
-    @Mock
-    private DataUsageSummaryPreference mSummaryPreference;
-    @Mock
-    private NetworkPolicyEditor mPolicyEditor;
-    @Mock
-    private NetworkTemplate mNetworkTemplate;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo;
-    @Mock
-    private SubscriptionPlan mSubscriptionPlan;
-    @Mock
-    private Lifecycle mLifecycle;
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private EntityHeaderController mHeaderController;
-    @Mock
-    private PreferenceFragmentCompat mPreferenceFragment;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private PackageManager mPm;
-
-    private DataUsageInfoController mDataInfoController;
-
-    private FakeFeatureFactory mFactory;
-    private FragmentActivity mActivity;
-    private Context mContext;
-    private DataUsageSummaryPreferenceController mController;
-    private int mDefaultSubscriptionId;
-    private List<SubscriptionPlan> mSubscriptionPlans;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-
-        doReturn("%1$s %2%s").when(mContext)
-                .getString(com.android.internal.R.string.fileSizeSuffix);
-
-        mDefaultSubscriptionId = 1234;
-        mSubscriptionPlans = new ArrayList<SubscriptionPlan>();
-
-        mFactory = FakeFeatureFactory.setupForTest();
-        when(mFactory.metricsFeatureProvider.getMetricsCategory(any(Object.class)))
-                .thenReturn(MetricsProto.MetricsEvent.SETTINGS_APP_NOTIF_CATEGORY);
-        ShadowEntityHeaderController.setUseMock(mHeaderController);
-
-        mDataInfoController = spy(new DataUsageInfoController());
-        doReturn(-1L).when(mDataInfoController).getSummaryLimit(any());
-
-        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
-        doReturn(mTelephonyManager).when(mActivity).getSystemService(TelephonyManager.class);
-        doReturn(mTelephonyManager).when(mTelephonyManager)
-                .createForSubscriptionId(mDefaultSubscriptionId);
-        doReturn(mPm).when(mActivity).getPackageManager();
-        doReturn(false).when(mPm).hasSystemFeature(eq(FEATURE_WIFI));
-        doReturn(TelephonyManager.SIM_STATE_READY).when(mTelephonyManager).getSimState();
-
-        mController = spy(new DataUsageSummaryPreferenceController(
-                mDataUsageController,
-                mDataInfoController,
-                mNetworkTemplate,
-                mPolicyEditor,
-                R.string.cell_data_template,
-                mActivity, null, null, null, mDefaultSubscriptionId));
-        doReturn(null).when(mController).getSubscriptionInfo(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        doReturn(null).when(mController).getSubscriptionPlans(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-
-        doReturn(CARRIER_NAME).when(mSubscriptionInfo).getCarrierName();
-        doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(mDefaultSubscriptionId);
-        doReturn(mSubscriptionPlans).when(mController).getSubscriptionPlans(mDefaultSubscriptionId);
-    }
-
-    @After
-    public void tearDown() {
-        ShadowEntityHeaderController.reset();
-    }
-
-    @Test
-    public void testSummaryUpdate_onePlan_basic() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-
-        final Intent intent = new Intent();
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        setupTestDataUsage(LIMIT1, USAGE1, now - UPDATE_BACKOFF_MS);
-        createTestDataPlan(info.cycleStart, info.cycleEnd);
-        doReturn(intent).when(mController).createManageSubscriptionIntent(mDefaultSubscriptionId);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("512 MB data warning / 1.00 GB data limit");
-
-        // TODO (b/170330084): return intent instead of null for mSummaryPreference
-        verify(mSummaryPreference).setUsageInfo((info.cycleEnd / 1000) * 1000,
-                now - UPDATE_BACKOFF_MS,
-                CARRIER_NAME, 1 /* numPlans */, null /* launchIntent */);
-        verify(mSummaryPreference).setChartEnabled(true);
-        verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
-                false /* isSingleWifi */);
-    }
-
-    @Test
-    public void testSummaryUpdate_noPlan_basic() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-
-        final Intent intent = new Intent();
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        setupTestDataUsage(LIMIT1, USAGE1, now - UPDATE_BACKOFF_MS);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("512 MB data warning / 1.00 GB data limit");
-
-        verify(mSummaryPreference).setUsageInfo(
-                info.cycleEnd,
-                -1L /* snapshotTime */,
-                CARRIER_NAME,
-                0 /* numPlans */,
-                null /* launchIntent */);
-        verify(mSummaryPreference).setChartEnabled(true);
-        verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
-                false /* isSingleWifi */);
-    }
-
-    @Test
-    public void testSummaryUpdate_noCarrier_basic() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        doReturn(null).when(mSubscriptionInfo).getCarrierName();
-        setupTestDataUsage(LIMIT1, USAGE1, -1L /* snapshotTime */);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("512 MB data warning / 1.00 GB data limit");
-
-        verify(mSummaryPreference).setUsageInfo(
-                info.cycleEnd,
-                -1L /* snapshotTime */,
-                null /* carrierName */,
-                0 /* numPlans */,
-                null /* launchIntent */);
-        verify(mSummaryPreference).setChartEnabled(true);
-        verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
-                false /* isSingleWifi */);
-    }
-
-    @Test
-    public void testSummaryUpdate_noPlanData_basic() {
-        final long now = System.currentTimeMillis();
-
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        doReturn(null).when(mSubscriptionInfo).getCarrierName();
-        setupTestDataUsage(-1L /* dataPlanSize */, USAGE1, -1L /* snapshotTime */);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("512 MB data warning / 1.00 GB data limit");
-        verify(mSummaryPreference).setUsageInfo(
-                info.cycleEnd,
-                -1L /* snapshotTime */,
-                null /* carrierName */,
-                0 /* numPlans */,
-                null /* launchIntent */);
-        verify(mSummaryPreference).setChartEnabled(false);
-        verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
-                false /* isSingleWifi */);
-    }
-
-    @Test
-    public void testSummaryUpdate_noLimitNoWarning() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-        info.warningLevel = 0L;
-        info.limitLevel = 0L;
-
-        final Intent intent = new Intent();
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        setupTestDataUsage(LIMIT1, USAGE1, now - UPDATE_BACKOFF_MS);
-
-        mController.updateState(mSummaryPreference);
-        verify(mSummaryPreference).setLimitInfo(null);
-    }
-
-    @Test
-    public void testSummaryUpdate_warningOnly() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-        info.warningLevel = BillingCycleSettings.MIB_IN_BYTES;
-        info.limitLevel = 0L;
-
-        final Intent intent = new Intent();
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        setupTestDataUsage(LIMIT1, USAGE1, now - UPDATE_BACKOFF_MS);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("1.00 MB data warning");
-    }
-
-    @Test
-    public void testSummaryUpdate_limitOnly() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-        info.warningLevel = 0L;
-        info.limitLevel = BillingCycleSettings.MIB_IN_BYTES;
-
-        final Intent intent = new Intent();
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        setupTestDataUsage(LIMIT1, USAGE1, now - UPDATE_BACKOFF_MS);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("1.00 MB data limit");
-    }
-
-    @Test
-    public void testSummaryUpdate_limitAndWarning() {
-        final long now = System.currentTimeMillis();
-        final DataUsageController.DataUsageInfo info = createTestDataUsageInfo(now);
-        info.warningLevel = BillingCycleSettings.MIB_IN_BYTES;
-        info.limitLevel = BillingCycleSettings.MIB_IN_BYTES;
-
-        final Intent intent = new Intent();
-
-        doReturn(info).when(mDataUsageController).getDataUsageInfo(any());
-        setupTestDataUsage(LIMIT1, USAGE1, now - UPDATE_BACKOFF_MS);
-
-        mController.updateState(mSummaryPreference);
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mSummaryPreference).setLimitInfo(captor.capture());
-        CharSequence value = captor.getValue();
-        assertThat(value.toString()).isEqualTo("1.00 MB data warning / 1.00 MB data limit");
-        verify(mSummaryPreference).setWifiMode(false /* isWifiMode */, null /* usagePeriod */,
-                false /* isSingleWifi */);
-    }
-
-    @Test
-    public void testMobileData_preferenceAvailable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void testMobileData_noSimWifi_preferenceDisabled() {
-        final int subscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
-        mController.init(subscriptionId);
-        mController.mDataUsageController = mDataUsageController;
-        doReturn(true).when(mPm).hasSystemFeature(eq(FEATURE_WIFI));
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void testMobileData_entityHeaderSet() {
-        final RecyclerView recyclerView = new RecyclerView(mActivity);
-
-        mController = spy(new DataUsageSummaryPreferenceController(
-                mDataUsageController,
-                mDataInfoController,
-                mNetworkTemplate,
-                mPolicyEditor,
-                R.string.cell_data_template,
-                mActivity, mLifecycle, mHeaderController, mPreferenceFragment,
-                mDefaultSubscriptionId));
-
-        when(mPreferenceFragment.getListView()).thenReturn(recyclerView);
-
-        mController.onStart();
-
-        verify(mHeaderController)
-                .setRecyclerView(any(RecyclerView.class), any(Lifecycle.class));
-    }
-
-    private DataUsageController.DataUsageInfo createTestDataUsageInfo(long now) {
-        DataUsageController.DataUsageInfo info = new DataUsageController.DataUsageInfo();
-        info.carrier = CARRIER_NAME;
-        info.period = PERIOD;
-        info.startDate = now;
-        info.limitLevel = LIMIT1;
-        info.warningLevel = LIMIT1 >> 1;
-        info.usageLevel = USAGE1;
-        info.cycleStart = now - CYCLE_BACKOFF_MS;
-        info.cycleEnd = info.cycleStart + CYCLE_LENGTH_MS;
-        return info;
-    }
-
-    private void setupTestDataUsage(long dataPlanSize, long dataUsageSize, long snapshotTime) {
-        doReturn(dataPlanSize).when(mSubscriptionPlan).getDataLimitBytes();
-        doReturn(dataUsageSize).when(mSubscriptionPlan).getDataUsageBytes();
-        doReturn(snapshotTime).when(mSubscriptionPlan).getDataUsageTime();
-
-        doReturn(dataPlanSize).when(mDataInfoController).getSummaryLimit(any());
-    }
-
-    private void createTestDataPlan(long startTime, long endTime) {
-        final RecurrenceRule recurrenceRule = new RecurrenceRule(
-                Instant.ofEpochMilli(startTime).atZone(ZoneId.systemDefault()),
-                Instant.ofEpochMilli(endTime).atZone(ZoneId.systemDefault()),
-                null);
-        doReturn(recurrenceRule).when(mSubscriptionPlan).getCycleRule();
-        mSubscriptionPlans.add(mSubscriptionPlan);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
index 4ac7387..2a9cca9 100644
--- a/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/DataUsageSummaryTest.java
@@ -27,15 +27,11 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.app.usage.NetworkStatsManager;
 import android.content.Context;
 import android.content.res.Resources;
-import android.net.NetworkPolicyManager;
 import android.os.UserManager;
 import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
 
-import androidx.fragment.app.FragmentActivity;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
@@ -45,7 +41,6 @@
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -53,13 +48,9 @@
 import org.mockito.Spy;
 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.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.shadows.ShadowSubscriptionManager;
-import org.robolectric.shadows.ShadowTelephonyManager;
 
 @Config(shadows = {
         ShadowUtils.class,
@@ -75,13 +66,6 @@
     Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
     private UserManager mUserManager;
-    @Mock
-    private NetworkPolicyManager mNetworkPolicyManager;
-    @Mock
-    private NetworkStatsManager mNetworkStatsManager;
-    private TelephonyManager mTelephonyManager;
-    private Resources mResources;
-    private FragmentActivity mActivity;
 
     private DataUsageSummary mDataUsageSummary;
 
@@ -95,23 +79,12 @@
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(false).when(mUserManager).isGuestUser();
 
-        ShadowApplication shadowContext = ShadowApplication.getInstance();
         ShadowUserManager.getShadow().setIsAdminUser(true);
-        shadowContext.setSystemService(Context.NETWORK_POLICY_SERVICE, mNetworkPolicyManager);
 
-        mTelephonyManager = mContext.getSystemService(TelephonyManager.class);
-        final ShadowTelephonyManager shadowTelephonyManager = Shadows.shadowOf(mTelephonyManager);
-        shadowTelephonyManager.setTelephonyManagerForSubscriptionId(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID, mTelephonyManager);
-        shadowTelephonyManager.setTelephonyManagerForSubscriptionId(1, mTelephonyManager);
-        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
-
-        mResources = spy(mContext.getResources());
+        Resources mResources = spy(mContext.getResources());
         doReturn(mResources).when(mContext).getResources();
         doReturn(true).when(mResources).getBoolean(R.bool.config_show_sim_info);
 
-        doReturn(mNetworkStatsManager).when(mActivity).getSystemService(NetworkStatsManager.class);
-
         mDataUsageSummary = spy(new DataUsageSummary());
         doReturn(mContext).when(mDataUsageSummary).getContext();
         doNothing().when(mDataUsageSummary).enableProxySubscriptionManager(any());
@@ -130,12 +103,10 @@
 
     @Test
     @Config(shadows = ShadowSubscriptionManager.class)
-    @Ignore
     public void configuration_withSim_shouldShowMobileAndWifi() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
-        ShadowDataUsageUtils.HAS_SIM = true;
 
         final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
         doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
@@ -156,7 +127,6 @@
     public void configuration_withoutSim_shouldShowWifiSectionOnly() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
-        ShadowDataUsageUtils.HAS_SIM = false;
 
         final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
         doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
@@ -177,7 +147,6 @@
     public void configuration_withoutMobile_shouldShowWifiSectionOnly() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = false;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
-        ShadowDataUsageUtils.HAS_SIM = false;
 
         final DataUsageSummary dataUsageSummary = spy(new DataUsageSummary());
         doNothing().when(dataUsageSummary).enableProxySubscriptionManager(any());
@@ -199,7 +168,6 @@
     public void configuration_invalidDataSusbscription_shouldShowWifiSectionOnly() {
         ShadowDataUsageUtils.IS_MOBILE_DATA_SUPPORTED = true;
         ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
-        ShadowDataUsageUtils.HAS_SIM = false;
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
 
diff --git a/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
index 84dc739..ce47052 100644
--- a/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datausage/UnrestrictedDataAccessPreferenceControllerTest.java
@@ -25,6 +25,7 @@
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -37,7 +38,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
 import com.android.settings.applications.AppStateBaseBridge;
 import com.android.settings.datausage.AppStateDataUsageBridge.DataUsageState;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -141,7 +141,8 @@
             } else if (testPkg2.equals(entry.info.packageName)) {
                 assertThat(preference.isDisabledByAdmin()).isTrue();
                 assertThat(preference.getSummary()).isEqualTo(
-                        mContext.getString(R.string.disabled_by_admin));
+                        mContext.getString(
+                                com.android.settingslib.widget.restricted.R.string.disabled_by_admin));
             }
             assertThat(preference.isChecked()).isFalse();
             preference.performClick();
@@ -163,6 +164,81 @@
         mController.onRebuildComplete(createAppEntries(testPkg1, testPkg2));
     }
 
+    @Test
+    public void onRebuildComplete_ecmRestricted_shouldBeDisabled() {
+        mFragment = spy(new UnrestrictedDataAccess());
+        mContext = spy(mContext);
+        doNothing().when(mFragment).setLoading(anyBoolean(), anyBoolean());
+        mController.setParentFragment(mFragment);
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = spy(mPreferenceManager.createPreferenceScreen(mContext));
+        doReturn(mPreferenceManager).when(mFragment).getPreferenceManager();
+        doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
+        doReturn(0).when(mPreferenceScreen).getPreferenceCount();
+        final DataSaverBackend dataSaverBackend = mock(DataSaverBackend.class);
+        ReflectionHelpers.setField(mController, "mDataSaverBackend", dataSaverBackend);
+        ReflectionHelpers.setField(mController, "mScreen", mPreferenceScreen);
+
+        final String testPkg = "com.example.disabled";
+        doNothing().when(mContext).startActivity(any());
+        ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs(testPkg);
+
+        doAnswer((invocation) -> {
+            final UnrestrictedDataAccessPreference preference = invocation.getArgument(0);
+            // Verify preference is disabled by ecm and the summary is changed accordingly.
+            assertThat(preference.isDisabledByEcm()).isTrue();
+            assertThat(preference.getSummary().toString()).isEqualTo(
+                    mContext.getString(
+                            com.android.settingslib.R.string.disabled_by_app_ops_text));
+            assertThat(preference.isChecked()).isFalse();
+            preference.performClick();
+            // Verify that when the preference is clicked, ecm details intent is launched
+            assertThat(preference.isChecked()).isFalse();
+            verify(mContext).startActivity(any());
+
+            return null;
+        }).when(mPreferenceScreen).addPreference(any(UnrestrictedDataAccessPreference.class));
+
+        mController.onRebuildComplete(createAppEntries(testPkg));
+        verify(mPreferenceScreen).addPreference(any(UnrestrictedDataAccessPreference.class));
+    }
+
+    @Test
+    public void onRebuildComplete_ecmNotRestricted_notDisabled() {
+        mFragment = spy(new UnrestrictedDataAccess());
+        mContext = spy(mContext);
+        doNothing().when(mFragment).setLoading(anyBoolean(), anyBoolean());
+        mController.setParentFragment(mFragment);
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = spy(mPreferenceManager.createPreferenceScreen(mContext));
+        doReturn(mPreferenceManager).when(mFragment).getPreferenceManager();
+        doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
+        doReturn(0).when(mPreferenceScreen).getPreferenceCount();
+        final DataSaverBackend dataSaverBackend = mock(DataSaverBackend.class);
+        ReflectionHelpers.setField(mController, "mDataSaverBackend", dataSaverBackend);
+        ReflectionHelpers.setField(mController, "mScreen", mPreferenceScreen);
+
+        final String testPkg = "com.example.enabled";
+        doNothing().when(mContext).startActivity(any());
+        ShadowRestrictedLockUtilsInternal.setEcmRestrictedPkgs();
+
+        doAnswer((invocation) -> {
+            final UnrestrictedDataAccessPreference preference = invocation.getArgument(0);
+            assertThat(preference.isDisabledByEcm()).isFalse();
+            assertThat(preference.getSummary()).isEqualTo("");
+            assertThat(preference.isChecked()).isFalse();
+            preference.performClick();
+            // Verify that when the preference is clicked, ecm details intent is not launched
+            assertThat(preference.isChecked()).isTrue();
+            verify(mContext, never()).startActivity(any());
+
+            return null;
+        }).when(mPreferenceScreen).addPreference(any(UnrestrictedDataAccessPreference.class));
+
+        mController.onRebuildComplete(createAppEntries(testPkg));
+        verify(mPreferenceScreen).addPreference(any(UnrestrictedDataAccessPreference.class));
+    }
+
     private ArrayList<AppEntry> createAppEntries(String... packageNames) {
         final ArrayList<AppEntry> appEntries = new ArrayList<>();
         for (int i = 0; i < packageNames.length; ++i) {
diff --git a/tests/robotests/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceControllerTest.java
deleted file mode 100644
index 711f6d7..0000000
--- a/tests/robotests/src/com/android/settings/datausage/WifiDataUsageSummaryPreferenceControllerTest.java
+++ /dev/null
@@ -1,94 +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.datausage;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.net.NetworkPolicyManager;
-import android.telephony.TelephonyManager;
-
-import androidx.fragment.app.FragmentActivity;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.net.DataUsageController;
-
-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 java.util.HashSet;
-import java.util.Set;
-
-@RunWith(RobolectricTestRunner.class)
-public class WifiDataUsageSummaryPreferenceControllerTest {
-
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
-    @Spy
-    Context mContext = ApplicationProvider.getApplicationContext();
-    @Mock
-    FragmentActivity mActivity;
-    @Mock
-    Lifecycle mLifecycle;
-    @Mock
-    TelephonyManager mTelephonyManager;
-    @Mock
-    NetworkPolicyManager mNetworkPolicyManager;
-    @Mock
-    DataUsageSummaryPreference mSummaryPreference;
-    @Mock
-    DataUsageController mDataUsageController;
-    @Mock
-    DataUsageController.DataUsageInfo mDataUsageInfo;
-
-    WifiDataUsageSummaryPreferenceController mController;
-    Set<String> mAllNetworkKeys = new HashSet<>();
-
-    @Before
-    public void setUp() {
-        doReturn(mContext.getResources()).when(mActivity).getResources();
-        doReturn(mTelephonyManager).when(mActivity).getSystemService(TelephonyManager.class);
-        doReturn(mNetworkPolicyManager).when(mActivity)
-                .getSystemService(NetworkPolicyManager.class);
-        doNothing().when(mSummaryPreference).setWifiMode(anyBoolean(), anyString(), anyBoolean());
-        doReturn(mDataUsageInfo).when(mDataUsageController).getDataUsageInfo(any());
-
-        mController = spy(new WifiDataUsageSummaryPreferenceController(mActivity, mLifecycle, null,
-                mAllNetworkKeys));
-        doReturn(mDataUsageController).when(mController).createDataUsageController(any());
-    }
-
-    @Test
-    public void updateState_nullOfDataUsageController_shouldNotCrash() {
-        mController.mDataUsageController = null;
-
-        mController.updateState(mSummaryPreference);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/datausage/lib/DataUsageLibTest.java b/tests/robotests/src/com/android/settings/datausage/lib/DataUsageLibTest.java
deleted file mode 100644
index fccef4f..0000000
--- a/tests/robotests/src/com/android/settings/datausage/lib/DataUsageLibTest.java
+++ /dev/null
@@ -1,116 +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.datausage.lib;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.NetworkTemplate;
-import android.os.ParcelUuid;
-import android.os.RemoteException;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class DataUsageLibTest {
-
-    private static final int SUB_ID = 1;
-    private static final int SUB_ID_2 = 2;
-    private static final String SUBSCRIBER_ID = "Test Subscriber";
-    private static final String SUBSCRIBER_ID_2 = "Test Subscriber 2";
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private SubscriptionInfo mInfo1;
-    @Mock
-    private SubscriptionInfo mInfo2;
-    @Mock
-    private ParcelUuid mParcelUuid;
-    private Context mContext;
-    private List<SubscriptionInfo> mInfos;
-
-    @Before
-    public void setUp() throws RemoteException {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mTelephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID);
-        when(mTelephonyManager.getSubscriberId(SUB_ID_2)).thenReturn(SUBSCRIBER_ID_2);
-        when(mTelephonyManager.createForSubscriptionId(anyInt())).thenReturn(mTelephonyManager);
-        when(mSubscriptionManager.isActiveSubscriptionId(anyInt())).thenReturn(true);
-    }
-
-    @Test
-    @Ignore
-    public void getMobileTemplate_infoNull_returnMobileAll() {
-        when(mSubscriptionManager.isActiveSubscriptionId(SUB_ID)).thenReturn(false);
-
-        final NetworkTemplate networkTemplate = DataUsageLib.getMobileTemplate(mContext, SUB_ID);
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID_2)).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void getMobileTemplate_groupUuidNull_returnMobileAll() {
-        when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
-        when(mInfo1.getGroupUuid()).thenReturn(null);
-        when(mTelephonyManager.getMergedImsisFromGroup())
-                .thenReturn(new String[] {SUBSCRIBER_ID});
-
-        final NetworkTemplate networkTemplate = DataUsageLib.getMobileTemplate(mContext, SUB_ID);
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID_2)).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void getMobileTemplate_groupUuidExist_returnMobileMerged() {
-        when(mSubscriptionManager.getActiveSubscriptionInfo(SUB_ID)).thenReturn(mInfo1);
-        when(mInfo1.getGroupUuid()).thenReturn(mParcelUuid);
-        // In some rare cases (e.g. b/243015487), merged subscriberId list might contain
-        // duplicated items. The implementation should perform deduplication.
-        when(mTelephonyManager.getMergedImsisFromGroup())
-                .thenReturn(new String[] {SUBSCRIBER_ID, SUBSCRIBER_ID, SUBSCRIBER_ID_2});
-
-        final NetworkTemplate networkTemplate = DataUsageLib.getMobileTemplate(mContext, SUB_ID);
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().contains(SUBSCRIBER_ID_2)).isTrue();
-        assertThat(networkTemplate.getSubscriberIds().size() == 2).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java
index 183858e..f9b566e 100644
--- a/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/AutoTimeFormatPreferenceControllerTest.java
@@ -53,13 +53,13 @@
         MockitoAnnotations.initMocks(this);
         mApplication = ShadowApplication.getInstance();
         mContext = RuntimeEnvironment.application;
+        mController = new TestAutoTimeFormatPreferenceController(mContext, "test_key");
+        mPreference = new SwitchPreference(mContext);
+        mPreference.setKey("test_key");
     }
 
     @Test
     public void updateState_24HourSet_shouldCheckPreference() {
-        mController = new TestAutoTimeFormatPreferenceController(mContext, mCallback);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
                 TimeFormatPreferenceController.HOURS_24);
 
@@ -70,9 +70,6 @@
 
     @Test
     public void updateState_12HourSet_shouldCheckPreference() {
-        mController = new TestAutoTimeFormatPreferenceController(mContext, mCallback);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
                 TimeFormatPreferenceController.HOURS_12);
 
@@ -83,9 +80,6 @@
 
     @Test
     public void updateState_autoSet_shouldNotCheckPreference() {
-        mController = new TestAutoTimeFormatPreferenceController(mContext, mCallback);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24, null);
 
         mController.updateState(mPreference);
@@ -95,14 +89,7 @@
 
     @Test
     public void updatePreference_autoSet_shouldSendIntent_12HourLocale() {
-        mController = new TestAutoTimeFormatPreferenceController(mContext, mCallback);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        mPreference.setChecked(false);
-
-        boolean result = mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(result).isTrue();
+        mController.setChecked(false);
 
         List<Intent> intentsFired = mApplication.getBroadcastIntents();
         assertThat(intentsFired.size()).isEqualTo(1);
@@ -114,15 +101,9 @@
 
     @Test
     public void updatePreference_autoSet_shouldSendIntent_24HourLocale() {
-        mController = new TestAutoTimeFormatPreferenceController(mContext, mCallback);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        mPreference.setChecked(false);
-
         mController.setIs24HourLocale(true);
-        boolean result = mController.handlePreferenceTreeClick(mPreference);
 
-        assertThat(result).isTrue();
+        mController.setChecked(false);
 
         List<Intent> intentsFired = mApplication.getBroadcastIntents();
         assertThat(intentsFired.size()).isEqualTo(1);
@@ -134,15 +115,9 @@
 
     @Test
     public void updatePreference_24HourSet_shouldSendIntent() {
-        mController = new TestAutoTimeFormatPreferenceController(mContext, mCallback);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        mPreference.setChecked(true);
-
         mController.setIs24HourLocale(false);
-        boolean result = mController.handlePreferenceTreeClick(mPreference);
 
-        assertThat(result).isTrue();
+        mController.setChecked(true);
 
         List<Intent> intentsFired = mApplication.getBroadcastIntents();
         assertThat(intentsFired.size()).isEqualTo(1);
@@ -161,9 +136,8 @@
 
         private boolean is24HourLocale = false;
 
-        private TestAutoTimeFormatPreferenceController(Context context,
-              UpdateTimeAndDateCallback callback) {
-            super(context, callback);
+        TestAutoTimeFormatPreferenceController(Context context, String preferenceKey) {
+            super(context, preferenceKey);
         }
 
         void setIs24HourLocale(boolean value) {
diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimePreferenceControllerTest.java
index 022f5fe..9ac318a 100644
--- a/tests/robotests/src/com/android/settings/datetime/AutoTimePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/AutoTimePreferenceControllerTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.datetime;
 
+import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
@@ -59,7 +61,8 @@
         mPreference = new Preference(mContext);
         when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
 
-        mController = new AutoTimePreferenceController(mContext, mCallback);
+        mController = new AutoTimePreferenceController(mContext, "test_key");
+        mController.setDateAndTimeCallback(mCallback);
     }
 
     @Test
@@ -68,7 +71,7 @@
                 /* autoSupported= */false, /* autoEnabled= */false);
         when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
     }
 
     @Test
@@ -81,24 +84,23 @@
     }
 
     @Test
-    public void testIsEnabled_shouldReadFromTimeManagerConfig() {
-        {
-            // Disabled
-            TimeCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
-                    /* autoSupported= */true, /* autoEnabled= */false);
-            when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+    public void isEnabled_autoEnabledIsFalse_shouldReadFromTimeManagerConfig() {
+        // Disabled
+        TimeCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+                /* autoSupported= */true, /* autoEnabled= */false);
+        when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-            assertThat(mController.isEnabled()).isFalse();
-        }
+        assertThat(mController.isEnabled()).isFalse();
+    }
 
-        {
-            // Enabled
-            TimeCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
-                    /* autoSupported= */true, /* autoEnabled= */true);
-            when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+    @Test
+    public void isEnabled_autoEnabledIsTrue_shouldReadFromTimeManagerConfig() {
+        // Enabled
+        TimeCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+                /* autoSupported= */true, /* autoEnabled= */true);
+        when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-            assertThat(mController.isEnabled()).isTrue();
-        }
+        assertThat(mController.isEnabled()).isTrue();
     }
 
     @Test
@@ -118,10 +120,10 @@
         verify(mTimeManager).updateTimeConfiguration(timeConfiguration);
 
         // Update the mTimeManager mock so that it now returns the expected updated config.
-        TimeCapabilitiesAndConfig capabilitiesAndConfigAfterUpdate =
-                createCapabilitiesAndConfig(/* autoSupported= */true, /* autoEnabled= */true);
-        when(mTimeManager.getTimeCapabilitiesAndConfig())
-                .thenReturn(capabilitiesAndConfigAfterUpdate);
+        TimeCapabilitiesAndConfig capabilitiesAndConfigAfterUpdate = createCapabilitiesAndConfig(
+                /* autoSupported= */true, /* autoEnabled= */true);
+        when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(
+                capabilitiesAndConfigAfterUpdate);
 
         assertThat(mController.isEnabled()).isTrue();
     }
@@ -145,14 +147,14 @@
         // Update the mTimeManager mock so that it now returns the expected updated config.
         TimeCapabilitiesAndConfig capabilitiesAndConfigAfterUpdate =
                 createCapabilitiesAndConfig(/* autoSupported= */true, /* autoEnabled= */false);
-        when(mTimeManager.getTimeCapabilitiesAndConfig())
-                .thenReturn(capabilitiesAndConfigAfterUpdate);
+        when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(
+                capabilitiesAndConfigAfterUpdate);
 
         assertThat(mController.isEnabled()).isFalse();
     }
 
-    private static TimeCapabilitiesAndConfig createCapabilitiesAndConfig(
-            boolean autoSupported, boolean autoEnabled) {
+    private static TimeCapabilitiesAndConfig createCapabilitiesAndConfig(boolean autoSupported,
+            boolean autoEnabled) {
         int configureAutoDetectionEnabledCapability =
                 autoSupported ? Capabilities.CAPABILITY_POSSESSED
                         : Capabilities.CAPABILITY_NOT_SUPPORTED;
diff --git a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
index 7685a5b..c2d0445 100644
--- a/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/AutoTimeZonePreferenceControllerTest.java
@@ -22,6 +22,8 @@
 import static android.app.time.LocationTimeZoneAlgorithmStatus.PROVIDER_STATUS_NOT_PRESENT;
 import static android.app.time.LocationTimeZoneAlgorithmStatus.PROVIDER_STATUS_NOT_READY;
 
+import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
@@ -62,6 +64,8 @@
     @Mock
     private TimeManager mTimeManager;
 
+    private AutoTimeZonePreferenceController mController;
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -70,6 +74,9 @@
         mPreference = new Preference(mContext);
 
         when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
+
+        mController = new AutoTimeZonePreferenceController(mContext, "test_key");
+        mController.setFromSUW(false);
     }
 
     @Test
@@ -78,10 +85,9 @@
                 /* autoSupported= */true, /* autoEnabled= */false);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, true /* isFromSUW */);
+        mController.setFromSUW(true);
 
-        assertThat(controller.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
     }
 
     @Test
@@ -90,10 +96,9 @@
                 /* autoSupported= */true, /* autoEnabled= */false);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, false /* isFromSUW */);
+        mController.setFromSUW(false);
 
-        assertThat(controller.isAvailable()).isTrue();
+        assertThat(mController.isAvailable()).isTrue();
     }
 
     @Test
@@ -102,10 +107,7 @@
                 /* autoSupported= */false, /* autoEnabled= */false);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, false /* fromSUW */);
-
-        assertThat(controller.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
     }
 
     @Test
@@ -114,10 +116,9 @@
                 /* autoSupported= */false, /* autoEnabled= */false);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, true /* fromSUW */);
+        mController.setFromSUW(true);
 
-        assertThat(controller.isEnabled()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
     }
 
     @Test
@@ -126,10 +127,9 @@
                 /* autoSupported= */false, /* autoEnabled= */true);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, true /* fromSUW */);
+        mController.setFromSUW(true);
 
-        assertThat(controller.isEnabled()).isTrue();
+        assertThat(mController.isAvailable()).isTrue();
     }
 
     @Test
@@ -138,34 +138,27 @@
                 /* autoSupported= */false, /* autoEnabled= */false);
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, false /* fromSUW */);
-
-        assertThat(controller.isEnabled()).isFalse();
+        assertThat(mController.isEnabled()).isFalse();
     }
 
     @Test
-    public void testIsEnabled_shouldReadFromTimeManagerConfig() {
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, null /* callback */, false /* fromSUW */);
+    public void isEnabled_autoEnabledIsFalse_shouldReadFromTimeManagerConfig() {
+        // Disabled
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+                /* autoSupported= */true, /* autoEnabled= */false);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        {
-            // Disabled
-            TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
-                    /* autoSupported= */true, /* autoEnabled= */false);
-            when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
+        assertThat(mController.isEnabled()).isFalse();
+    }
 
-            assertThat(controller.isEnabled()).isFalse();
-        }
+    @Test
+    public void isEnabled_autoEnabledIsTrue_shouldReadFromTimeManagerConfig() {
+        // Enabled
+        TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
+                /* autoSupported= */true, /* autoEnabled= */true);
+        when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
 
-        {
-            // Enabled
-            TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
-                    /* autoSupported= */true, /* autoEnabled= */true);
-            when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
-
-            assertThat(controller.isEnabled()).isTrue();
-        }
+        assertThat(mController.isEnabled()).isTrue();
     }
 
     @Test
@@ -175,10 +168,9 @@
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         when(mTimeManager.updateTimeZoneConfiguration(Mockito.any())).thenReturn(true);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, mCallback, false /* fromSUW */);
+        mController.setTimeAndDateCallback(mCallback);
 
-        assertThat(controller.onPreferenceChange(mPreference, true)).isTrue();
+        assertThat(mController.onPreferenceChange(mPreference, true)).isTrue();
         verify(mCallback).updateTimeAndDateDisplay(mContext);
 
         // Check the service was asked to change the configuration correctly.
@@ -193,7 +185,7 @@
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig())
                 .thenReturn(capabilitiesAndConfigAfterUpdate);
 
-        assertThat(controller.isEnabled()).isTrue();
+        assertThat(mController.isEnabled()).isTrue();
     }
 
     @Test
@@ -203,10 +195,9 @@
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         when(mTimeManager.updateTimeZoneConfiguration(Mockito.any())).thenReturn(true);
 
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, mCallback, false /* fromSUW */);
+        mController.setTimeAndDateCallback(mCallback);
 
-        assertThat(controller.onPreferenceChange(mPreference, false)).isTrue();
+        assertThat(mController.onPreferenceChange(mPreference, false)).isTrue();
         verify(mCallback).updateTimeAndDateDisplay(mContext);
 
         // Check the service was asked to change the configuration correctly.
@@ -221,13 +212,12 @@
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig())
                 .thenReturn(capabilitiesAndConfigAfterUpdate);
 
-        assertThat(controller.isEnabled()).isFalse();
+        assertThat(mController.isEnabled()).isFalse();
     }
 
     @Test
     public void getSummary() {
-        AutoTimeZonePreferenceController controller = new AutoTimeZonePreferenceController(
-                mContext, mCallback, false /* fromSUW */);
+        mController.setTimeAndDateCallback(mCallback);
 
         TimeZoneCapabilitiesAndConfig capabilitiesAndConfig = createCapabilitiesAndConfig(
                 /* autoSupported= */true, /* autoEnabled= */true, /* telephonySupported= */
@@ -235,7 +225,7 @@
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         when(mTimeManager.updateTimeZoneConfiguration(Mockito.any())).thenReturn(true);
 
-        assertThat(controller.getSummary()).isEqualTo("");
+        assertThat(mController.getSummary()).isEqualTo("");
 
         capabilitiesAndConfig = createCapabilitiesAndConfig(
                 /* autoSupported= */true, /* autoEnabled= */true, /* telephonySupported= */
@@ -243,7 +233,7 @@
         when(mTimeManager.getTimeZoneCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         when(mTimeManager.updateTimeZoneConfiguration(Mockito.any())).thenReturn(true);
 
-        assertThat(controller.getSummary()).isEqualTo(
+        assertThat(mController.getSummary()).isEqualTo(
                 mContext.getString(R.string.auto_zone_requires_location_summary));
     }
 
diff --git a/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java
index 76ab289..b1996a6 100644
--- a/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/DatePreferenceControllerTest.java
@@ -20,6 +20,7 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -43,11 +44,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 import java.util.Calendar;
 import java.util.GregorianCalendar;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class DatePreferenceControllerTest {
 
     @Mock
@@ -65,15 +70,12 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(TimeDetector.class)).thenReturn(mTimeDetector);
         when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
         mPreference = new RestrictedPreference(RuntimeEnvironment.application);
-        mController = new DatePreferenceController(mContext, mHost);
-    }
-
-    @Test
-    public void isAlwaysAvailable() {
-        assertThat(mController.isAvailable()).isTrue();
+        mController = new DatePreferenceController(mContext, "test_key");
+        mController.setHost(mHost);
     }
 
     @Test
@@ -141,7 +143,7 @@
         assertEquals(2020, calendar.get(Calendar.YEAR));
     }
 
-    private static TimeCapabilitiesAndConfig createCapabilitiesAndConfig(
+    static TimeCapabilitiesAndConfig createCapabilitiesAndConfig(
             boolean suggestManualAllowed) {
         int suggestManualCapability = suggestManualAllowed ? Capabilities.CAPABILITY_POSSESSED
                 : Capabilities.CAPABILITY_NOT_SUPPORTED;
diff --git a/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java
index baef01c..cd89c0c 100644
--- a/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/LocationTimeZoneDetectionPreferenceControllerTest.java
@@ -55,8 +55,12 @@
 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 LocationTimeZoneDetectionPreferenceControllerTest {
     @Mock
     private TimeManager mTimeManager;
diff --git a/tests/robotests/src/com/android/settings/datetime/TimeChangeListenerMixinTest.java b/tests/robotests/src/com/android/settings/datetime/TimeChangeListenerMixinTest.java
index 270b874..eb56fd1 100644
--- a/tests/robotests/src/com/android/settings/datetime/TimeChangeListenerMixinTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/TimeChangeListenerMixinTest.java
@@ -36,8 +36,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class TimeChangeListenerMixinTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java
index ec47a54..e1ea8f9 100644
--- a/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/TimeFormatPreferenceControllerTest.java
@@ -16,13 +16,15 @@
 
 package com.android.settings.datetime;
 
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
 import android.content.Intent;
 import android.provider.Settings;
 
-import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
 import org.junit.Before;
@@ -52,27 +54,30 @@
         MockitoAnnotations.initMocks(this);
         mApplication = ShadowApplication.getInstance();
         mContext = RuntimeEnvironment.application;
+        mController = new TimeFormatPreferenceController(mContext, "test_key");
+        mController.setTimeAndDateCallback(mCallback);
+        mController.setFromSUW(false);
+
+        mPreference = new SwitchPreference(mContext);
+        mPreference.setKey("test_key");
     }
 
     @Test
     public void isCalledFromSUW_NotAvailable() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, true);
+        mController.setFromSUW(true);
 
-        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(DISABLED_DEPENDENT_SETTING);
     }
 
     @Test
     public void notCalledFromSUW_shouldBeAvailable() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, false);
-
-        assertThat(mController.isAvailable()).isTrue();
+        Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
+                TimeFormatPreferenceController.HOURS_24);
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
     public void updateState_24HourSet_shouldCheckPreference() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, false);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
                 TimeFormatPreferenceController.HOURS_24);
 
@@ -83,9 +88,6 @@
 
     @Test
     public void updateState_12HourSet_shouldNotCheckPreference() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, false);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24,
                 TimeFormatPreferenceController.HOURS_12);
 
@@ -96,10 +98,7 @@
 
     @Test
     public void updateState_autoSet_shouldNotEnablePreference() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, false);
         Settings.System.putString(mContext.getContentResolver(), Settings.System.TIME_12_24, null);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
 
         mController.updateState(mPreference);
 
@@ -108,14 +107,7 @@
 
     @Test
     public void updatePreference_12HourSet_shouldSendIntent() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, false);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        mPreference.setChecked(false);
-
-        boolean result = mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(result).isTrue();
+        mController.setChecked(false);
 
         List<Intent> intentsFired = mApplication.getBroadcastIntents();
         assertThat(intentsFired.size()).isEqualTo(1);
@@ -127,14 +119,7 @@
 
     @Test
     public void updatePreference_24HourSet_shouldSendIntent() {
-        mController = new TimeFormatPreferenceController(mContext, mCallback, false);
-        mPreference = new SwitchPreference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        mPreference.setChecked(true);
-
-        boolean result = mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(result).isTrue();
+        mController.setChecked(true);
 
         List<Intent> intentsFired = mApplication.getBroadcastIntents();
         assertThat(intentsFired.size()).isEqualTo(1);
diff --git a/tests/robotests/src/com/android/settings/datetime/TimePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/TimePreferenceControllerTest.java
index 3481f80..ef0d69e 100644
--- a/tests/robotests/src/com/android/settings/datetime/TimePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/TimePreferenceControllerTest.java
@@ -18,9 +18,12 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.time.TimeCapabilitiesAndConfig;
+import android.app.time.TimeManager;
 import android.content.Context;
 
 import com.android.settingslib.RestrictedPreference;
@@ -36,12 +39,11 @@
 @RunWith(RobolectricTestRunner.class)
 public class TimePreferenceControllerTest {
 
-    @Mock
     private Context mContext;
     @Mock
     private TimePreferenceController.TimePreferenceHost mHost;
     @Mock
-    private DatePreferenceController mDatePreferenceController;
+    private TimeManager mTimeManager;
 
     private TimePreferenceController mController;
     private RestrictedPreference mPreference;
@@ -49,13 +51,11 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mPreference = new RestrictedPreference(RuntimeEnvironment.application);
-        mController = new TimePreferenceController(mContext, mHost, mDatePreferenceController);
-    }
-
-    @Test
-    public void isAlwaysAvailable() {
-        assertThat(mController.isAvailable()).isTrue();
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getSystemService(TimeManager.class)).thenReturn(mTimeManager);
+        mPreference = new RestrictedPreference(mContext);
+        mController = new TimePreferenceController(mContext, "test_key");
+        mController.setHost(mHost);
     }
 
     @Test
@@ -63,7 +63,10 @@
         // Make sure not disabled by admin.
         mPreference.setDisabledByAdmin(null);
 
-        when(mDatePreferenceController.isEnabled()).thenReturn(false);
+        TimeCapabilitiesAndConfig capabilitiesAndConfig =
+                DatePreferenceControllerTest.createCapabilitiesAndConfig(/* suggestManualAllowed= */
+                        false);
+        when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         mController.updateState(mPreference);
 
         assertThat(mPreference.isEnabled()).isFalse();
@@ -74,7 +77,10 @@
         // Make sure not disabled by admin.
         mPreference.setDisabledByAdmin(null);
 
-        when(mDatePreferenceController.isEnabled()).thenReturn(true);
+        TimeCapabilitiesAndConfig capabilitiesAndConfig =
+                DatePreferenceControllerTest.createCapabilitiesAndConfig(/* suggestManualAllowed= */
+                        true);
+        when(mTimeManager.getTimeCapabilitiesAndConfig()).thenReturn(capabilitiesAndConfig);
         mController.updateState(mPreference);
 
         assertThat(mPreference.isEnabled()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
index 10a5e5d..fec410b 100644
--- a/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/TimeZonePreferenceControllerTest.java
@@ -66,16 +66,11 @@
 
         mPreference = new RestrictedPreference(mContext);
 
-        mController = spy(new TimeZonePreferenceController(mContext));
+        mController = spy(new TimeZonePreferenceController(mContext, "test_key"));
         doReturn("test timezone").when(mController).getTimeZoneOffsetAndName();
     }
 
     @Test
-    public void isAlwaysAvailable() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
     public void updateState_suggestManualNotAllowed_shouldDisablePref() {
         // Make sure not disabled by admin.
         mPreference.setDisabledByAdmin(null);
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZonePreferenceControllerTest.java
index d952438..865c2eb 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/BaseTimeZonePreferenceControllerTest.java
@@ -18,15 +18,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.app.Activity;
 import android.content.Context;
 
 import androidx.preference.Preference;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -40,8 +36,7 @@
 
     @Before
     public void setUp() {
-        mActivity = spy((Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get());
+        mActivity = Robolectric.setupActivity(Activity.class);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/FixedOffsetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/FixedOffsetPreferenceControllerTest.java
index 5b6d8bd..4a6f92f 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/FixedOffsetPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/FixedOffsetPreferenceControllerTest.java
@@ -23,8 +23,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -38,8 +36,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/RegionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/RegionPreferenceControllerTest.java
index 6689a1f..ea0be24 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/RegionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/RegionPreferenceControllerTest.java
@@ -18,14 +18,10 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.spy;
-
 import android.app.Activity;
 
 import androidx.preference.Preference;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -39,8 +35,7 @@
 
     @Before
     public void setUp() {
-        mActivity = spy((Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get());
+        mActivity = Robolectric.setupActivity(Activity.class);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java
index 69d46ea..78055cf 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/RegionSearchPickerTest.java
@@ -33,7 +33,6 @@
 import com.android.settings.datetime.timezone.BaseTimeZoneAdapter.ItemViewHolder;
 import com.android.settings.datetime.timezone.RegionSearchPicker.RegionItem;
 import com.android.settings.datetime.timezone.model.TimeZoneData;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -143,8 +142,7 @@
     @Implements(Fragment.class)
     public static class ShadowFragment {
 
-        private FragmentActivity mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        private FragmentActivity mActivity = Robolectric.setupActivity(FragmentActivity.class);
 
         @Implementation
         public final FragmentActivity getActivity() {
diff --git a/tests/robotests/src/com/android/settings/datetime/timezone/RegionZonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/datetime/timezone/RegionZonePreferenceControllerTest.java
index f0cb6e8..6d1bf66 100644
--- a/tests/robotests/src/com/android/settings/datetime/timezone/RegionZonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/datetime/timezone/RegionZonePreferenceControllerTest.java
@@ -23,8 +23,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -38,8 +36,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
index 17283cf..9841a0f 100644
--- a/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deletionhelper/AutomaticStorageManagerSwitchBarControllerTest.java
@@ -80,7 +80,7 @@
 
     @Test
     public void onSwitchChanged_false_recordsAMetric() {
-        mController.onSwitchChanged(null, false);
+        mController.onCheckedChanged(null, false);
 
         verify(mMetricsFeatureProvider)
                 .action(
@@ -91,7 +91,7 @@
 
     @Test
     public void onSwitchChanged_true_recordsAMetric() {
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
 
         verify(mMetricsFeatureProvider)
                 .action(
@@ -102,7 +102,7 @@
 
     @Test
     public void onSwitchChanged_showWarningFragmentIfNotEnabledByDefault() {
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
 
         verify(mFragmentManager.beginTransaction())
                 .add(any(Fragment.class), eq(ActivationWarningFragment.TAG));
@@ -112,7 +112,7 @@
     public void onSwitchChange_doNotShowWarningFragmentIfEnabledByDefault() {
         SystemProperties.set("ro.storage_manager.enabled", "true");
 
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
 
         verify(mFragmentManager.beginTransaction(), never())
                 .add(any(Fragment.class), eq(ActivationWarningFragment.TAG));
diff --git a/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java
index 3b7ff9f..97c4f67 100644
--- a/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/AnimatorDurationScalePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.AnimatorDurationScalePreferenceController
-        .ANIMATOR_DURATION_SCALE_SELECTOR;
-import static com.android.settings.development.AnimatorDurationScalePreferenceController
-        .DEFAULT_VALUE;
+import static com.android.settings.development.AnimatorDurationScalePreferenceController.ANIMATOR_DURATION_SCALE_SELECTOR;
+import static com.android.settings.development.AnimatorDurationScalePreferenceController.DEFAULT_VALUE;
 
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -31,8 +29,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -71,9 +67,9 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mListValues = mContext.getResources()
-            .getStringArray(R.array.animator_duration_scale_values);
+            .getStringArray(com.android.settingslib.R.array.animator_duration_scale_values);
         mListSummaries = mContext.getResources()
-            .getStringArray(R.array.animator_duration_scale_entries);
+            .getStringArray(com.android.settingslib.R.array.animator_duration_scale_entries);
         mController = new AnimatorDurationScalePreferenceController(mContext);
         ReflectionHelpers.setField(mController, "mWindowManager", mWindowManager);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java
index 82ca52a..d51547e 100644
--- a/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BackgroundProcessLimitPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -65,8 +63,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.app_process_limit_values);
-        mListSummaries = mContext.getResources().getStringArray(R.array.app_process_limit_entries);
+        mListValues = mContext.getResources()
+                .getStringArray(com.android.settingslib.R.array.app_process_limit_values);
+        mListSummaries = mContext.getResources()
+                .getStringArray(com.android.settingslib.R.array.app_process_limit_entries);
         mController = spy(new BackgroundProcessLimitPreferenceController(mContext));
         doReturn(mActivityManager).when(mController).getActivityManagerService();
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java
index 3677f81..33f4c02 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothAvrcpVersionPreferenceControllerTest.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.BluetoothAvrcpVersionPreferenceController
-        .BLUETOOTH_AVRCP_VERSION_PROPERTY;
+import static com.android.settings.development.BluetoothAvrcpVersionPreferenceController.BLUETOOTH_AVRCP_VERSION_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -31,8 +30,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -66,8 +63,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.bluetooth_avrcp_version_values);
-        mListSummaries = resources.getStringArray(R.array.bluetooth_avrcp_versions);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_avrcp_version_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_avrcp_versions);
         mController = new BluetoothAvrcpVersionPreferenceController(mContext);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceControllerTest.java
index f4e52ba..4ac90a7 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothLeAudioAllowListPreferenceControllerTest.java
@@ -19,12 +19,13 @@
 import static android.bluetooth.BluetoothStatusCodes.FEATURE_SUPPORTED;
 
 import static com.android.settings.development.BluetoothLeAudioAllowListPreferenceController
-        .LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY;
+        .BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.verify;
 
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
@@ -48,20 +49,18 @@
     private PreferenceScreen mPreferenceScreen;
     @Mock
     private DevelopmentSettingsDashboardFragment mFragment;
-
     @Mock
     private BluetoothAdapter mBluetoothAdapter;
-
-    private Context mContext;
+    @Mock
     private SwitchPreference mPreference;
-    private BluetoothLeAudioPreferenceController mController;
+    private Context mContext;
+    private BluetoothLeAudioAllowListPreferenceController mController;
 
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mPreference = new SwitchPreference(mContext);
-        mController = spy(new BluetoothLeAudioPreferenceController(mContext, mFragment));
+        mController = spy(new BluetoothLeAudioAllowListPreferenceController(mContext, mFragment));
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
         mController.mBluetoothAdapter = mBluetoothAdapter;
@@ -71,36 +70,38 @@
     }
 
     @Test
-    public void onRebootDialogConfirmedAsLeAudioAllowListDisabled_shouldSwitchStatus() {
-        SystemProperties.set(LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, Boolean.toString(false));
-        mController.mChanged = true;
-
-        mController.onRebootDialogConfirmed();
-        final boolean mode = SystemProperties.getBoolean(
-                LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, false);
-        assertThat(mode).isFalse();
-    }
-
-
-    @Test
-    public void onRebootDialogConfirmedAsLeAudioAllowListEnabled_shouldSwitchStatus() {
-        SystemProperties.set(LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, Boolean.toString(true));
-        mController.mChanged = true;
-
-        mController.onRebootDialogConfirmed();
-        final boolean status = SystemProperties.getBoolean(
-                LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, false);
-        assertThat(status).isTrue();
+    public void onPreferenceChange_setCheck_shouldBypassLeAudioAllowlist() {
+        mController.onPreferenceChange(mPreference, Boolean.TRUE);
+        assertThat(SystemProperties.getBoolean(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY,
+                false)).isTrue();
     }
 
     @Test
-    public void onRebootDialogCanceled_shouldNotSwitchStatus() {
-        SystemProperties.set(LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, Boolean.toString(false));
-        mController.mChanged = true;
+    public void onPreferenceChange_setUnCheck_shouldNotBypassLeAudioAllowlist() {
+        mController.onPreferenceChange(mPreference, Boolean.FALSE);
+        assertThat(SystemProperties.getBoolean(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY,
+                true)).isFalse();
+    }
 
-        mController.onRebootDialogCanceled();
-        final boolean status = SystemProperties.getBoolean(
-                LE_AUDIO_ALLOW_LIST_ENABLED_PROPERTY, false);
-        assertThat(status).isFalse();
+    @Test
+    public void updateState_bluetoothOff_shouldDisableToggle() {
+        mController.mBluetoothAdapter = null;
+        mController.updateState(mPreference);
+        verify(mPreference).setEnabled(false);
+    }
+
+    @Test
+    public void updateState_bluetoothOn_shouldShowStatus() {
+        SystemProperties.set(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, Boolean.toString(true));
+        mController.updateState(mPreference);
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_shouldSetBypassLeAudioAllowlistToFalse() {
+        SystemProperties.set(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, Boolean.toString(true));
+        mController.onDeveloperOptionsSwitchDisabled();
+        verify(mPreference).setEnabled(false);
+        assertThat(SystemProperties.getBoolean(BYPASS_LE_AUDIO_ALLOWLIST_PROPERTY, true)).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceControllerTest.java
index 13bc6a4..d7f5db5 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothLeAudioDeviceDetailsPreferenceControllerTest.java
@@ -81,7 +81,6 @@
         mController.onPreferenceChange(mPreference, true /* new value */);
         final boolean isEnabled = SystemProperties.getBoolean(
                 LE_AUDIO_TOGGLE_VISIBLE_PROPERTY, false);
-
         assertThat(isEnabled).isTrue();
     }
 
@@ -91,7 +90,6 @@
         mController.onPreferenceChange(mPreference, false /* new value */);
         final boolean isEnabled = SystemProperties.getBoolean(
                 LE_AUDIO_TOGGLE_VISIBLE_PROPERTY, true);
-
         assertThat(isEnabled).isFalse();
     }
 
@@ -99,6 +97,7 @@
     public void updateState_settingEnabled_preferenceShouldBeChecked() {
         mController.sLeAudioSupportedStateCache = BluetoothStatusCodes.FEATURE_SUPPORTED;
         SystemProperties.set(LE_AUDIO_TOGGLE_VISIBLE_PROPERTY, "true");
+        mController.mLeAudioEnabledByDefault = false;
         mController.updateState(mPreference);
         verify(mPreference).setChecked(true);
     }
@@ -107,13 +106,14 @@
     public void updateState_settingDisabled_preferenceShouldNotBeChecked() {
         mController.sLeAudioSupportedStateCache = BluetoothStatusCodes.FEATURE_SUPPORTED;
         SystemProperties.set(LE_AUDIO_TOGGLE_VISIBLE_PROPERTY, "false");
+        mController.mLeAudioEnabledByDefault = false;
         mController.updateState(mPreference);
-
         verify(mPreference).setChecked(false);
     }
 
     @Test
     public void isAvailable_leAudioSupported() {
+        mController.mLeAudioEnabledByDefault = false;
         mController.sLeAudioSupportedStateCache = BluetoothStatusCodes.ERROR_UNKNOWN;
         when(mBluetoothAdapter.isLeAudioSupported())
                 .thenReturn(BluetoothStatusCodes.FEATURE_SUPPORTED);
@@ -122,9 +122,16 @@
 
     @Test
     public void isAvailable_leAudioNotSupported() {
+        mController.mLeAudioEnabledByDefault = false;
         mController.sLeAudioSupportedStateCache = BluetoothStatusCodes.ERROR_UNKNOWN;
         when(mBluetoothAdapter.isLeAudioSupported())
                 .thenReturn(BluetoothStatusCodes.FEATURE_NOT_SUPPORTED);
         assertThat(mController.isAvailable()).isFalse();
     }
+
+    @Test
+    public void isUnAvailable_ifLeAudioConnectionByDefault() {
+        mController.mLeAudioEnabledByDefault = true;
+        assertThat(mController.isAvailable()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothLeAudioModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothLeAudioModePreferenceControllerTest.java
new file mode 100644
index 0000000..f35fb17
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/BluetoothLeAudioModePreferenceControllerTest.java
@@ -0,0 +1,108 @@
+/*
+ * 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.development;
+
+import static com.android.settings.development.BluetoothLeAudioModePreferenceController
+        .LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.bluetooth.BluetoothAdapter;
+import android.content.Context;
+import android.os.SystemProperties;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class BluetoothLeAudioModePreferenceControllerTest {
+
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private DevelopmentSettingsDashboardFragment mFragment;
+    @Mock
+    private BluetoothAdapter mBluetoothAdapter;
+    @Mock
+    private ListPreference mPreference;
+
+    private Context mContext;
+    private BluetoothLeAudioModePreferenceController mController;
+    private String[] mListValues;
+    private String[] mListSummaries;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mListValues = mContext.getResources().getStringArray(
+                R.array.bluetooth_leaudio_mode_values);
+        mListSummaries = mContext.getResources().getStringArray(
+                R.array.bluetooth_leaudio_mode);
+        mController = spy(new BluetoothLeAudioModePreferenceController(mContext, mFragment));
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.mBluetoothAdapter = mBluetoothAdapter;
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void onRebootDialogConfirmed_changeLeAudioMode_shouldSetLeAudioMode() {
+        mController.mChanged = true;
+        SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0]);
+        mController.mNewMode = mListValues[1];
+
+        mController.onRebootDialogConfirmed();
+        assertThat(SystemProperties.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0])
+                        .equals(mController.mNewMode)).isTrue();
+    }
+
+    @Test
+    public void onRebootDialogConfirmed_notChangeLeAudioMode_shouldNotSetLeAudioMode() {
+        mController.mChanged = false;
+        SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0]);
+        mController.mNewMode = mListValues[1];
+
+        mController.onRebootDialogConfirmed();
+        assertThat(SystemProperties.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0])
+                        .equals(mController.mNewMode)).isFalse();
+    }
+
+    @Test
+    public void onRebootDialogCanceled_shouldNotSetLeAudioMode() {
+        mController.mChanged = true;
+        SystemProperties.set(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0]);
+        mController.mNewMode = mListValues[1];
+
+        mController.onRebootDialogCanceled();
+        assertThat(SystemProperties.get(LE_AUDIO_DYNAMIC_SWITCHER_MODE_PROPERTY, mListValues[0])
+                        .equals(mController.mNewMode)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
index f897fdf..3a45907 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothMapVersionPreferenceControllerTest.java
@@ -14,8 +14,8 @@
  * limitations under the License.
  */
 package com.android.settings.development;
-import static com.android.settings.development.BluetoothMapVersionPreferenceController
-        .BLUETOOTH_MAP_VERSION_PROPERTY;
+
+import static com.android.settings.development.BluetoothMapVersionPreferenceController.BLUETOOTH_MAP_VERSION_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -29,8 +29,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -59,8 +57,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.bluetooth_map_version_values);
-        mListSummaries = resources.getStringArray(R.array.bluetooth_map_versions);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_map_version_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.bluetooth_map_versions);
         mController = new BluetoothMapVersionPreferenceController(mContext);
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java
index 411cca0..68dd04e 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfileMapPreferenceControllerTest.java
@@ -26,8 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,8 +57,10 @@
         // Get XML values without mock
         // Setup test list preference using XML values
         mPreference = new ListPreference(mSpyContext);
-        mPreference.setEntries(R.array.bt_hci_snoop_log_profile_filter_entries);
-        mPreference.setEntryValues(R.array.bt_hci_snoop_log_profile_filter_values);
+        mPreference.setEntries(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_entries);
+        mPreference.setEntryValues(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_values);
         // Init the actual controller
         mController = new BluetoothSnoopLogFilterProfileMapPreferenceController(mSpyContext);
         // Construct preference in the controller via a mocked preference screen object
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java
index add84c3..20bae4d 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogFilterProfilePbapPreferenceControllerTest.java
@@ -26,8 +26,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,8 +57,10 @@
         // Get XML values without mock
         // Setup test list preference using XML values
         mPreference = new ListPreference(mSpyContext);
-        mPreference.setEntries(R.array.bt_hci_snoop_log_profile_filter_entries);
-        mPreference.setEntryValues(R.array.bt_hci_snoop_log_profile_filter_values);
+        mPreference.setEntries(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_entries);
+        mPreference.setEntryValues(
+                com.android.settingslib.R.array.bt_hci_snoop_log_profile_filter_values);
         // Init the actual controller
         mController = new BluetoothSnoopLogFilterProfilePbapPreferenceController(mSpyContext);
         // Construct preference in the controller via a mocked preference screen object
diff --git a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java
index 6668a53..2d57a07 100644
--- a/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/BluetoothSnoopLogPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -59,8 +57,8 @@
         // Get XML values without mock
         // Setup test list preference using XML values
         mPreference = new ListPreference(mSpyContext);
-        mPreference.setEntries(R.array.bt_hci_snoop_log_entries);
-        mPreference.setEntryValues(R.array.bt_hci_snoop_log_values);
+        mPreference.setEntries(com.android.settingslib.R.array.bt_hci_snoop_log_entries);
+        mPreference.setEntryValues(com.android.settingslib.R.array.bt_hci_snoop_log_values);
         // Init the actual controller
         mController = new BluetoothSnoopLogPreferenceController(mSpyContext, null);
         // Construct preference in the controller via a mocked preference screen object
diff --git a/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java
index 9268a72..d469c71 100644
--- a/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/CameraLaserSensorPreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import androidx.preference.SwitchPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -60,7 +59,6 @@
         mController.displayPreference(mScreen);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_withConfigNoShow_shouldReturnFalse() {
diff --git a/tests/robotests/src/com/android/settings/development/CoolColorTemperaturePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/CoolColorTemperaturePreferenceControllerTest.java
index f0e8292..cf84618 100644
--- a/tests/robotests/src/com/android/settings/development/CoolColorTemperaturePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/CoolColorTemperaturePreferenceControllerTest.java
@@ -31,7 +31,6 @@
 import androidx.preference.SwitchPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -100,7 +99,6 @@
         verify(mPreference).setChecked(false);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_shouldBeFalse() {
diff --git a/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java
index 20d7971..1932abf 100644
--- a/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DebugGpuOverdrawPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,9 +58,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.debug_hw_overdraw_values);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.debug_hw_overdraw_values);
         mListSummaries = mContext.getResources().getStringArray(
-                R.array.debug_hw_overdraw_entries);
+                com.android.settingslib.R.array.debug_hw_overdraw_entries);
         mController = new DebugGpuOverdrawPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java
index d3f3c7e..b9558ba 100644
--- a/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DebugNonRectClipOperationsPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,8 +58,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.show_non_rect_clip_values);
-        mListSummaries = mContext.getResources().getStringArray(R.array.show_non_rect_clip_entries);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_values);
+        mListSummaries = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.show_non_rect_clip_entries);
         mController = new DebugNonRectClipOperationsPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/DefaultUsbConfigurationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DefaultUsbConfigurationPreferenceControllerTest.java
index a386473..d14e1d8 100644
--- a/tests/robotests/src/com/android/settings/development/DefaultUsbConfigurationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DefaultUsbConfigurationPreferenceControllerTest.java
@@ -71,8 +71,7 @@
 
     @Test
     public void updateState_usbDataSignalingEnabled_shouldNotDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(true);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(true);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.updateState(mPreference);
@@ -82,8 +81,7 @@
 
     @Test
     public void updateState_usbDataSignalingDisabled_shouldDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(false);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(false);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.updateState(mPreference);
@@ -94,8 +92,7 @@
 
     @Test
     public void onDeveloperOptionsSwitchEnabled_usbEnabled_shouldNotDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(true);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(true);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.onDeveloperOptionsSwitchEnabled();
@@ -105,8 +102,7 @@
 
     @Test
     public void onDeveloperOptionsSwitchEnabled_usbDisabled_shouldDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(false);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(false);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.onDeveloperOptionsSwitchEnabled();
diff --git a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
index 26b529d..460f6f9 100644
--- a/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DesktopModePreferenceControllerTest.java
@@ -45,8 +45,12 @@
 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 DesktopModePreferenceControllerTest {
 
     private static final String ENG_BUILD_TYPE = "eng";
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPageTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPageTest.java
index 052f705..2d4ce43 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPageTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPageTest.java
@@ -24,7 +24,6 @@
 import com.android.settings.R;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPreferenceControllerTest.java
index 18cacc6..229f2fa 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentMemtagPreferenceControllerTest.java
@@ -47,14 +47,14 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowSystemProperties;
 
-@Ignore
+@Ignore("b/313564061")
 @RunWith(RobolectricTestRunner.class)
 @Config(
         shadows = {
-            ZygoteShadow.class,
-            ShadowDeviceConfig.class,
-            ShadowInteractionJankMonitor.class,
-            ShadowRestrictedLockUtilsInternal.class
+                ZygoteShadow.class,
+                ShadowDeviceConfig.class,
+                ShadowInteractionJankMonitor.class,
+                ShadowRestrictedLockUtilsInternal.class
         })
 public class DevelopmentMemtagPreferenceControllerTest {
     private final String mMemtagSupportedProperty = "ro.arm64.memtag.bootctl_supported";
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
index 7db7141..37a4aea 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDashboardFragmentTest.java
@@ -27,7 +27,6 @@
 import android.content.Context;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
-import android.widget.Switch;
 
 import androidx.appcompat.app.AlertDialog;
 import androidx.fragment.app.FragmentActivity;
@@ -35,6 +34,7 @@
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.development.AbstractEnableAdbPreferenceController;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
@@ -51,17 +51,19 @@
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowUserManager;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class, ShadowAlertDialogCompat.class})
+@Config(shadows = {
+        ShadowAlertDialogCompat.class,
+        ShadowUserManager.class,
+        ShadowUserManager.class,
+})
 public class DevelopmentSettingsDashboardFragmentTest {
 
-    private Switch mSwitch;
     private Context mContext;
     private ShadowUserManager mShadowUserManager;
     private DevelopmentSettingsDashboardFragment mDashboard;
@@ -71,7 +73,6 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         SettingsMainSwitchBar switchBar = new SettingsMainSwitchBar(mContext);
-        mSwitch = switchBar.getSwitch();
         mDashboard = spy(new DevelopmentSettingsDashboardFragment());
         ReflectionHelpers.setField(mDashboard, "mSwitchBar", switchBar);
         mShadowUserManager = Shadow.extract(mContext.getSystemService(Context.USER_SERVICE));
@@ -159,7 +160,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
 
-        mDashboard.onSwitchChanged(mSwitch, false /* isChecked */);
+        mDashboard.onCheckedChanged(null, false /* isChecked */);
         assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
     }
 
@@ -171,7 +172,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
 
-        mDashboard.onSwitchChanged(mSwitch, true /* isChecked */);
+        mDashboard.onCheckedChanged(null, true /* isChecked */);
         assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isTrue();
     }
 
@@ -183,7 +184,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        mDashboard.onSwitchChanged(mSwitch, false /* isChecked */);
+        mDashboard.onCheckedChanged(null, false /* isChecked */);
 
         assertThat(ShadowEnableDevelopmentSettingWarningDialog.mShown).isFalse();
         assertThat(DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)).isFalse();
@@ -202,7 +203,7 @@
         Settings.Global.putInt(mContext.getContentResolver(),
                 Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
 
-        mDashboard.onSwitchChanged(mSwitch, false /* isChecked */);
+        mDashboard.onCheckedChanged(null, false /* isChecked */);
 
         AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         assertThat(dialog).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDisabledActivityTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDisabledActivityTest.java
deleted file mode 100644
index ccfd68b..0000000
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSettingsDisabledActivityTest.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY 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 android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.utils.ActivityControllerWrapper;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowToast;
-
-@RunWith(RobolectricTestRunner.class)
-public class DevelopmentSettingsDisabledActivityTest {
-
-    @Test
-    public void launchActivity_shouldShowToast() {
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(DevelopmentSettingsDisabledActivity.class)).get();
-
-        final Context context = RuntimeEnvironment.application;
-        assertThat(ShadowToast.getTextOfLatestToast())
-            .isEqualTo(context.getString(R.string.dev_settings_disabled_warning));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java
index f776536..34d22e0 100644
--- a/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/DevelopmentSwitchBarControllerTest.java
@@ -24,6 +24,7 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
+import android.widget.CompoundButton.OnCheckedChangeListener;
 
 import androidx.lifecycle.LifecycleOwner;
 
@@ -31,7 +32,6 @@
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settings.widget.SettingsMainSwitchBar;
 import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import org.junit.After;
 import org.junit.Before;
@@ -78,7 +78,7 @@
         ShadowUtils.setIsUserAMonkey(true);
         new DevelopmentSwitchBarController(mSettings, mSwitchBar,
                 true /* isAvailable */, mLifecycle);
-        final List<OnMainSwitchChangeListener> listeners =
+        final List<OnCheckedChangeListener> listeners =
                 ReflectionHelpers.getField(mSwitchBar, "mSwitchChangeListeners");
 
         mLifecycle.handleLifecycleEvent(ON_START);
@@ -93,7 +93,7 @@
         ShadowUtils.setIsUserAMonkey(false);
         new DevelopmentSwitchBarController(mSettings, mSwitchBar,
                 true /* isAvailable */, mLifecycle);
-        final List<OnMainSwitchChangeListener> listeners =
+        final List<OnCheckedChangeListener> listeners =
                 ReflectionHelpers.getField(mSwitchBar, "mSwitchChangeListeners");
 
         mLifecycle.handleLifecycleEvent(ON_START);
@@ -109,7 +109,7 @@
         ShadowUtils.setIsUserAMonkey(false);
         new DevelopmentSwitchBarController(mSettings, mSwitchBar,
                 true /* isAvailable */, mLifecycle);
-        final List<OnMainSwitchChangeListener> listeners =
+        final List<OnCheckedChangeListener> listeners =
                 ReflectionHelpers.getField(mSwitchBar, "mSwitchChangeListeners");
 
         mLifecycle.handleLifecycleEvent(ON_START);
diff --git a/tests/robotests/src/com/android/settings/development/Enable16kPagesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/Enable16kPagesPreferenceControllerTest.java
new file mode 100644
index 0000000..0c9906c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/Enable16kPagesPreferenceControllerTest.java
@@ -0,0 +1,124 @@
+/*
+ * 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 static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertThrows;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyList;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.os.FileUtils;
+import android.os.SystemProperties;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+@RunWith(RobolectricTestRunner.class)
+public class Enable16kPagesPreferenceControllerTest {
+
+    @Mock private DevelopmentSettingsDashboardFragment mFragment;
+    private Context mContext;
+    private Enable16kPagesPreferenceController mController;
+
+    @Before
+    public void setup() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mController = spy(new Enable16kPagesPreferenceController(mContext, mFragment));
+        doNothing().when(mController).applyPayload(any(), anyLong(), anyLong(), anyList());
+    }
+
+    @Test
+    public void onSystemPropertyDisabled_shouldDisablePreference() {
+        SystemProperties.set(Enable16kPagesPreferenceController.DEV_OPTION_PROPERTY, "false");
+        assertThat(mController.isAvailable()).isEqualTo(false);
+    }
+
+    @Test
+    public void onSystemPropertyEnabled_shouldEnablePreference() {
+        SystemProperties.set(Enable16kPagesPreferenceController.DEV_OPTION_PROPERTY, "true");
+        assertThat(mController.isAvailable()).isEqualTo(true);
+    }
+
+    // TODO(b/303280163) : add tests to based on page size and whether preference is turned on/off
+
+    @Test
+    public void validateUpdateParsing_validFile() throws IOException {
+        // TODO(b/295573133) : Add tests to verify applyPayload arguments
+        String filename = "valid_ota.zip";
+        File updateFile = copyFromAssetToDataDir(filename);
+        mController.applyUpdateFile(updateFile);
+    }
+
+    @Test
+    public void validateUpdateParsing_emptyPayloadFile() {
+        String filename = "empty_payload_ota.zip";
+        File updateFile = copyFromAssetToDataDir(filename);
+        assertThrows(IOException.class, () -> mController.applyUpdateFile(updateFile));
+    }
+
+    @Test
+    public void validateUpdateParsing_noPayloadFile() {
+        String filename = "no_payload_ota.zip";
+        File updateFile = copyFromAssetToDataDir(filename);
+        assertThrows(FileNotFoundException.class, () -> mController.applyUpdateFile(updateFile));
+    }
+
+    @Test
+    public void validateUpdateParsing_noPropertiesFile() {
+        String filename = "no_properties_ota.zip";
+        File updateFile = copyFromAssetToDataDir(filename);
+        assertThrows(FileNotFoundException.class, () -> mController.applyUpdateFile(updateFile));
+    }
+
+    private File copyFromAssetToDataDir(String filename) {
+        try {
+            InputStream in = mContext.getAssets().open(filename);
+            File destination =
+                    File.createTempFile(
+                            "test_update", ".zip", new File(mContext.getDataDir().getPath()));
+            FileUtils.setPermissions(
+                    /* path= */ destination,
+                    /* mode= */ FileUtils.S_IRWXU | FileUtils.S_IRGRP | FileUtils.S_IROTH,
+                    /* uid= */ -1,
+                    /* gid= */ -1);
+            OutputStream out = new FileOutputStream(destination);
+            FileUtils.copy(in, out);
+            return destination;
+        } catch (IOException e) {
+            throw new RuntimeException(e);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java
index 8e62521..97acdf6 100644
--- a/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/EnableVerboseVendorLoggingPreferenceControllerTest.java
@@ -36,10 +36,12 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 
 import java.lang.reflect.Field;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public final class EnableVerboseVendorLoggingPreferenceControllerTest {
     @Mock
     private SwitchPreference mPreference;
diff --git a/tests/robotests/src/com/android/settings/development/ForcePeakRefreshRatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ForcePeakRefreshRatePreferenceControllerTest.java
index 2e93d5e..314120a 100644
--- a/tests/robotests/src/com/android/settings/development/ForcePeakRefreshRatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/ForcePeakRefreshRatePreferenceControllerTest.java
@@ -16,20 +16,28 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.ForcePeakRefreshRatePreferenceController.DEFAULT_REFRESH_RATE;
+import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE;
 import static com.android.settings.development.ForcePeakRefreshRatePreferenceController.NO_CONFIG;
+
 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.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.PreferenceScreen;
 import androidx.preference.SwitchPreference;
 
+import com.android.server.display.feature.flags.Flags;
+
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -38,8 +46,6 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
-import android.util.Log;
-
 @RunWith(RobolectricTestRunner.class)
 public class ForcePeakRefreshRatePreferenceControllerTest {
 
@@ -51,6 +57,9 @@
     private Context mContext;
     private ForcePeakRefreshRatePreferenceController mController;
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -62,7 +71,8 @@
     }
 
     @Test
-    public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak() {
+    @RequiresFlagsDisabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
+    public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak_featureFlagOff() {
         mController.mPeakRefreshRate = 88f;
 
         mController.onPreferenceChange(mPreference, true);
@@ -72,6 +82,17 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
+    public void onPreferenceChange_preferenceChecked_shouldEnableForcePeak_featureFlagOn() {
+        mController.mPeakRefreshRate = 88f;
+
+        mController.onPreferenceChange(mPreference, true);
+
+        assertThat(Settings.System.getFloat(mContext.getContentResolver(),
+                Settings.System.MIN_REFRESH_RATE, NO_CONFIG)).isPositiveInfinity();
+    }
+
+    @Test
     public void onPreferenceChange_preferenceUnchecked_shouldDisableForcePeak() {
         mController.mPeakRefreshRate = 88f;
 
@@ -89,6 +110,7 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setChecked(true);
+        assertThat(mController.isForcePeakRefreshRateEnabled()).isTrue();
     }
 
     @Test
@@ -99,6 +121,7 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setChecked(false);
+        assertThat(mController.isForcePeakRefreshRateEnabled()).isFalse();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java
index 695a291..bd005b3 100644
--- a/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/FreeformWindowsPreferenceControllerTest.java
@@ -44,8 +44,12 @@
 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 FreeformWindowsPreferenceControllerTest {
 
     private static final String ENG_BUILD_TYPE = "eng";
diff --git a/tests/robotests/src/com/android/settings/development/GameDefaultFrameRatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/GameDefaultFrameRatePreferenceControllerTest.java
new file mode 100644
index 0000000..d433905
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/GameDefaultFrameRatePreferenceControllerTest.java
@@ -0,0 +1,177 @@
+/*
+ * 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.development;
+
+import static com.android.settings.development.GameDefaultFrameRatePreferenceController.Injector;
+import static com.android.settings.development.GameDefaultFrameRatePreferenceController.PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.IGameManagerService;
+import android.content.Context;
+import android.os.RemoteException;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.flags.Flags;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatchers;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class GameDefaultFrameRatePreferenceControllerTest {
+    @Mock
+    private Context mContext;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private TwoStatePreference mPreference;
+    @Mock
+    private IGameManagerService mGameManagerService;
+    @Mock
+    private DevelopmentSystemPropertiesWrapper mSysPropsMock;
+
+    private GameDefaultFrameRatePreferenceController mController;
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new GameDefaultFrameRatePreferenceController(mContext, mGameManagerService,
+                new Injector(){
+                    @Override
+                    public DevelopmentSystemPropertiesWrapper createSystemPropertiesWrapper() {
+                        return mSysPropsMock;
+                    }
+                });
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    public void onPreferenceChange_settingEnabled_shouldChecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        assertTrue(mController.isAvailable());
+        when(mSysPropsMock.getBoolean(
+                ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED),
+                ArgumentMatchers.eq(false)))
+                .thenReturn(true);
+
+        mController.onPreferenceChange(mPreference, true /* new value */);
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void onPreferenceChange_settingDisabled_shouldUnchecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        assertTrue(mController.isAvailable());
+        when(mSysPropsMock.getBoolean(
+                ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED),
+                ArgumentMatchers.eq(false)))
+                .thenReturn(false);
+        mController.onPreferenceChange(mPreference, false /* new value */);
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void updateState_settingEnabled_shouldChecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        assertTrue(mController.isAvailable());
+        when(mSysPropsMock.getBoolean(
+                ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED),
+                ArgumentMatchers.eq(false)))
+                .thenReturn(true);
+        mController.updateState(mPreference);
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    public void updateState_settingDisabled_shouldUnchecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        assertTrue(mController.isAvailable());
+        when(mSysPropsMock.getBoolean(
+                ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED),
+                ArgumentMatchers.eq(false)))
+                .thenReturn(false);
+        mController.updateState(mPreference);
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void settingNotAvailable_flagsOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        mController = new GameDefaultFrameRatePreferenceController(
+                mContext, mGameManagerService, new Injector());
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void settingAvailable_flagsOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        mController = new GameDefaultFrameRatePreferenceController(
+                mContext, mGameManagerService, new Injector());
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_preferenceUnchecked_shouldNotTurnOffPreference()
+            throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        when(mSysPropsMock.getBoolean(
+                ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED),
+                ArgumentMatchers.eq(false)))
+                .thenReturn(false);
+        assertTrue(mController.isAvailable());
+        when(mPreference.isChecked()).thenReturn(false);
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        verify(mPreference).setChecked(false);
+        verify(mPreference).setEnabled(false);
+    }
+
+    @Test
+    public void onDeveloperOptionsSwitchDisabled_preferenceChecked_shouldTurnOffPreference()
+            throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_GAME_DEFAULT_FRAME_RATE);
+        when(mSysPropsMock.getBoolean(
+                ArgumentMatchers.eq(PROPERTY_DEBUG_GFX_GAME_DEFAULT_FRAME_RATE_DISABLED),
+                ArgumentMatchers.eq(false)))
+                .thenReturn(true);
+        assertTrue(mController.isAvailable());
+
+        when(mPreference.isChecked()).thenReturn(true);
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        verify(mPreference).setChecked(false);
+        verify(mPreference).setEnabled(false);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java
new file mode 100644
index 0000000..4ae28fa
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/GrammaticalGenderPreferenceControllerTest.java
@@ -0,0 +1,143 @@
+/*
+ * 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.development;
+
+
+import static com.android.settings.development.GrammaticalGenderPreferenceController.GRAMMATICAL_GENDER_PROPERTY;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.IActivityManager;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.os.RemoteException;
+import android.os.SystemProperties;
+
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class GrammaticalGenderPreferenceControllerTest {
+    @Mock
+    private ListPreference mPreference;
+    @Mock
+    private PreferenceScreen mPreferenceScreen;
+    @Mock
+    private IActivityManager mActivityManager;
+    private Configuration mConfiguration;
+    private Context mContext;
+    private GrammaticalGenderPreferenceController mController;
+    private String[] mListValues;
+    private String[] mListSummaries;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        final Resources resources = mContext.getResources();
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.grammatical_gender_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.grammatical_gender_entries);
+        mConfiguration = new Configuration();
+        mController = new GrammaticalGenderPreferenceController(mContext, mActivityManager);
+        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mPreference);
+        mController.displayPreference(mPreferenceScreen);
+        doReturn(mConfiguration).when(mActivityManager).getConfiguration();
+    }
+
+    @Test
+    public void onPreferenceChange_setNeuter_shouldEnableNeuter() throws RemoteException {
+        mController.onPreferenceChange(mPreference, mListValues[1]);
+        final String currentValue = SystemProperties.get(GRAMMATICAL_GENDER_PROPERTY);
+        assertThat(currentValue).isEqualTo(mListValues[1]);
+        verify(mActivityManager).updatePersistentConfiguration(mConfiguration);
+        assertThat(mConfiguration.getGrammaticalGender())
+                .isEqualTo(Integer.parseInt(mListValues[1]));
+    }
+
+    @Test
+    public void updateState_setNeuter_shouldSetPreferenceToNeuter() {
+        SystemProperties.set(GRAMMATICAL_GENDER_PROPERTY, mListValues[1]);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[1]);
+        verify(mPreference).setSummary(mListSummaries[1]);
+    }
+
+    @Test
+    public void onPreferenceChange_setFeminine_shouldEnableFeminine() throws RemoteException {
+        mController.onPreferenceChange(mPreference, mListValues[2]);
+        final String currentValue = SystemProperties.get(GRAMMATICAL_GENDER_PROPERTY);
+        assertThat(currentValue).isEqualTo(mListValues[2]);
+        verify(mActivityManager).updatePersistentConfiguration(mConfiguration);
+        assertThat(mConfiguration.getGrammaticalGender())
+                .isEqualTo(Integer.parseInt(mListValues[2]));
+    }
+
+    @Test
+    public void updateState_setFeminine_shouldSetPreferenceToFeminine() {
+        SystemProperties.set(GRAMMATICAL_GENDER_PROPERTY, mListValues[2]);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[2]);
+        verify(mPreference).setSummary(mListSummaries[2]);
+    }
+
+    @Test
+    public void onPreferenceChange_setMasculine_shouldEnableMasculine() throws RemoteException {
+        mController.onPreferenceChange(mPreference, mListValues[3]);
+        final String currentValue = SystemProperties.get(GRAMMATICAL_GENDER_PROPERTY);
+        assertThat(currentValue).isEqualTo(mListValues[3]);
+        verify(mActivityManager).updatePersistentConfiguration(mConfiguration);
+        assertThat(mConfiguration.getGrammaticalGender())
+                .isEqualTo(Integer.parseInt(mListValues[3]));
+    }
+
+    @Test
+    public void updateState_setMasculine_shouldSetPreferenceToMasculine() {
+        SystemProperties.set(GRAMMATICAL_GENDER_PROPERTY, mListValues[3]);
+
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[3]);
+        verify(mPreference).setSummary(mListSummaries[3]);
+    }
+
+    @Test
+    public void updateState_noValueSet_shouldSetDefaultToNotSpecified() {
+        mController.updateState(mPreference);
+
+        verify(mPreference).setValue(mListValues[0]);
+        verify(mPreference).setSummary(mListSummaries[0]);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java
index 4828942..92750d9 100644
--- a/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/HdcpCheckingPreferenceControllerTest.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.HdcpCheckingPreferenceController
-        .HDCP_CHECKING_PROPERTY;
+import static com.android.settings.development.HdcpCheckingPreferenceController.HDCP_CHECKING_PROPERTY;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -32,8 +31,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -69,8 +66,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mValues = mContext.getResources().getStringArray(R.array.hdcp_checking_values);
-        mSummaries = mContext.getResources().getStringArray(R.array.hdcp_checking_summaries);
+        mValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.hdcp_checking_values);
+        mSummaries = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.hdcp_checking_summaries);
         mController = new HdcpCheckingPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java
index 5297ef5..07684ef 100644
--- a/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/LocalBackupPasswordPreferenceControllerTest.java
@@ -15,8 +15,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,7 +58,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(R.string.local_backup_password_summary_change);
+        verify(mPreference).setSummary(
+                com.android.settingslib.R.string.local_backup_password_summary_change);
     }
 
     @Test
@@ -73,7 +72,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(R.string.local_backup_password_summary_none);
+        verify(mPreference).setSummary(
+                com.android.settingslib.R.string.local_backup_password_summary_none);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
index 504909e..75dc9f8 100644
--- a/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/MockLocationAppPreferenceControllerTest.java
@@ -23,8 +23,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -79,7 +77,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.mock_location_app_set, appName));
+        verify(mPreference).setSummary(mContext.getString(
+                com.android.settingslib.R.string.mock_location_app_set, appName));
     }
 
     @Test
@@ -89,7 +88,8 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.mock_location_app_not_set));
+        verify(mPreference).setSummary(mContext.getString(
+                com.android.settingslib.R.string.mock_location_app_not_set));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
index c762349..4f89f02 100644
--- a/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/OemUnlockPreferenceControllerTest.java
@@ -49,8 +49,12 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class OemUnlockPreferenceControllerTest {
 
     private static final String OEM_UNLOCK_SUPPORTED_KEY = "ro.oem_unlock_supported";
diff --git a/tests/robotests/src/com/android/settings/development/OverlayCategoryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/OverlayCategoryPreferenceControllerTest.java
index b2e8013..12f70a4 100644
--- a/tests/robotests/src/com/android/settings/development/OverlayCategoryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/OverlayCategoryPreferenceControllerTest.java
@@ -31,6 +31,9 @@
 import android.content.pm.PackageManager;
 import android.os.RemoteException;
 
+import androidx.preference.ListPreference;
+import androidx.preference.PreferenceScreen;
+
 import com.android.settings.R;
 
 import org.junit.Before;
@@ -40,16 +43,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 import org.robolectric.shadows.ShadowToast;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class OverlayCategoryPreferenceControllerTest {
 
     private static final OverlayInfo ONE_DISABLED = createFakeOverlay("overlay.one", false, 1);
diff --git a/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java
index 5cdb8e7..234f820 100644
--- a/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/PictureColorModePreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import androidx.lifecycle.LifecycleOwner;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
@@ -67,7 +66,8 @@
         when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
             .thenReturn(mPreference);
         when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getIntArray(R.array.color_mode_ids)).thenReturn(new int[0]);
+        when(mResources.getIntArray(com.android.settingslib.R.array.color_mode_ids))
+                .thenReturn(new int[0]);
         mController.displayPreference(mPreferenceScreen);
     }
 
diff --git a/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java
index 3fd480a..0f83859 100644
--- a/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/ProfileGpuRenderingPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,8 +58,10 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.track_frame_time_values);
-        mListSummaries = mContext.getResources().getStringArray(R.array.track_frame_time_entries);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.track_frame_time_values);
+        mListSummaries = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.track_frame_time_entries);
         mController = new ProfileGpuRenderingPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/RebootWithMtePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/RebootWithMtePreferenceControllerTest.java
index ad7d48e..eec7a7b 100644
--- a/tests/robotests/src/com/android/settings/development/RebootWithMtePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/RebootWithMtePreferenceControllerTest.java
@@ -26,8 +26,9 @@
 import androidx.preference.Preference;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
+
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -53,6 +54,7 @@
         mContext = ApplicationProvider.getApplicationContext();
         mController = new RebootWithMtePreferenceController(mContext);
         mController.setFragment(mFragment);
+        DevelopmentSettingsEnabler.setDevelopmentSettingsEnabled(mContext, true);
     }
 
     @Test
@@ -60,7 +62,6 @@
         assertFalse(mController.isAvailable());
     }
 
-    @Ignore
     @Test
     public void onAvailable_sysPropEnabled() {
         SystemProperties.set("ro.arm64.memtag.bootctl_supported", "1");
diff --git a/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java
index 16bb626..bb0ac2c 100644
--- a/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/SecondaryDisplayPreferenceControllerTest.java
@@ -28,8 +28,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -70,8 +68,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.overlay_display_devices_values);
-        mListSummaries = resources.getStringArray(R.array.overlay_display_devices_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.overlay_display_devices_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.overlay_display_devices_entries);
         mController = new SecondaryDisplayPreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java
index 2c85bb0..94fce17 100644
--- a/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/SelectDebugAppPreferenceControllerTest.java
@@ -16,8 +16,7 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes
-        .REQUEST_CODE_DEBUG_APP;
+import static com.android.settings.development.DevelopmentOptionsActivityRequestCodes.REQUEST_CODE_DEBUG_APP;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -36,9 +35,8 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -74,6 +72,7 @@
         mController.displayPreference(mPreferenceScreen);
     }
 
+    @Ignore("b/314919354")
     @Test
     public void handlePreferenceTreeClick_preferenceClicked_launchActivity() {
         final Intent activityStartIntent = new Intent(mContext, AppPicker.class);
@@ -92,7 +91,8 @@
         Settings.Global.putString(contentResolver, Settings.Global.DEBUG_APP, debugApp);
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_set, debugApp));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_set, debugApp));
     }
 
     @Test
@@ -102,7 +102,8 @@
         Settings.Global.putString(contentResolver, Settings.Global.DEBUG_APP, debugApp);
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_not_set));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_not_set));
     }
 
     @Test
@@ -114,7 +115,8 @@
             .onActivityResult(REQUEST_CODE_DEBUG_APP, Activity.RESULT_OK, activityResultIntent);
 
         assertThat(result).isTrue();
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_set, appLabel));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_set, appLabel));
     }
 
     @Test
@@ -128,6 +130,7 @@
         mController.onDeveloperOptionsSwitchDisabled();
 
         verify(mPreference).setEnabled(false);
-        verify(mPreference).setSummary(mContext.getString(R.string.debug_app_not_set));
+        verify(mPreference).setSummary(
+                mContext.getString(com.android.settingslib.R.string.debug_app_not_set));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/ShowHdrSdrRatioPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/ShowHdrSdrRatioPreferenceControllerTest.java
new file mode 100644
index 0000000..2234754
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/ShowHdrSdrRatioPreferenceControllerTest.java
@@ -0,0 +1,171 @@
+/**
+ * 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.development;
+
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
+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.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.PreferenceScreen;
+import androidx.preference.TwoStatePreference;
+
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.shadow.ShadowParcel;
+
+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)
+public class ShowHdrSdrRatioPreferenceControllerTest {
+
+    @Mock
+    private Context mContext;
+    @Mock
+    private PreferenceScreen mScreen;
+    @Mock
+    private TwoStatePreference mPreference;
+    @Mock
+    private IBinder mSurfaceFlinger;
+
+    private ShowHdrSdrRatioPreferenceController mController;
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mController = new ShowHdrSdrRatioPreferenceController(mContext, mSurfaceFlinger, true);
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+        mController.displayPreference(mScreen);
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void onPreferenceChange_settingEnabled_shouldChecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        assertTrue(mController.isAvailable());
+        ShadowParcel.sReadBoolResult = true;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(anyInt(), any(), any(), eq(0 /* flags */));
+        mController.onPreferenceChange(mPreference, true /* new value */);
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void onPreferenceChange_settingDisabled_shouldUnchecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        assertTrue(mController.isAvailable());
+        ShadowParcel.sReadBoolResult = false;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(anyInt(), any(), any(), eq(0 /* flags */));
+        mController.onPreferenceChange(mPreference, false /* new value */);
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void updateState_settingEnabled_shouldChecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        assertTrue(mController.isAvailable());
+        ShadowParcel.sReadBoolResult = true;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(anyInt(), any(), any(), eq(0 /* flags */));
+        mController.updateState(mPreference);
+        verify(mPreference).setChecked(true);
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void updateState_settingDisabled_shouldUnchecked() throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        assertTrue(mController.isAvailable());
+        ShadowParcel.sReadBoolResult = false;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(anyInt(), any(), any(), eq(0 /* flags */));
+        mController.updateState(mPreference);
+        verify(mPreference).setChecked(false);
+    }
+
+    @Test
+    public void settingNotAvailable_isHdrSdrRatioAvailableFalse_flagsOff() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        mController = new ShowHdrSdrRatioPreferenceController(mContext, mSurfaceFlinger, true);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    public void settingNotAvailable_isHdrSdrRatioAvailableTrue_flagsOn() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        mController = new ShowHdrSdrRatioPreferenceController(mContext, mSurfaceFlinger, false);
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void onDeveloperOptionsSwitchDisabled_preferenceUnchecked_shouldNotTurnOffPreference()
+            throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        assertTrue(mController.isAvailable());
+        ShadowParcel.sReadBoolResult = false;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(anyInt(), any(), any(), eq(0 /* flags */));
+        when(mPreference.isChecked()).thenReturn(false);
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        mController.writeShowHdrSdrRatioSetting(true);
+        verify(mPreference).setChecked(false);
+        verify(mPreference).setEnabled(false);
+    }
+
+    @Test
+    @Config(shadows = ShadowParcel.class)
+    public void onDeveloperOptionsSwitchDisabled_preferenceChecked_shouldTurnOffPreference()
+            throws RemoteException {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEVELOPMENT_HDR_SDR_RATIO);
+        assertTrue(mController.isAvailable());
+        ShadowParcel.sReadBoolResult = true;
+        doReturn(true).when(mSurfaceFlinger)
+            .transact(anyInt(), any(), any(), eq(0 /* flags */));
+        when(mPreference.isChecked()).thenReturn(true);
+        mController.onDeveloperOptionsSwitchDisabled();
+
+        mController.writeShowHdrSdrRatioSetting(false);
+        verify(mPreference).setChecked(false);
+        verify(mPreference).setEnabled(false);
+    }
+}
+
diff --git a/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java
index 93fc90d..003eb72 100644
--- a/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/SimulateColorSpacePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.SimulateColorSpacePreferenceController
-        .SETTING_VALUE_OFF;
-import static com.android.settings.development.SimulateColorSpacePreferenceController
-        .SETTING_VALUE_ON;
+import static com.android.settings.development.SimulateColorSpacePreferenceController.SETTING_VALUE_OFF;
+import static com.android.settings.development.SimulateColorSpacePreferenceController.SETTING_VALUE_ON;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -34,8 +32,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -67,7 +63,8 @@
     public void setup() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mListValues = mContext.getResources().getStringArray(R.array.simulate_color_space_values);
+        mListValues = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.simulate_color_space_values);
         mController = new SimulateColorSpacePreferenceController(mContext);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
@@ -130,8 +127,10 @@
 
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(res.getString(R.string.daltonizer_type_overridden,
-                res.getString(R.string.accessibility_display_daltonizer_preference_title)));
+        verify(mPreference).setSummary(
+                res.getString(com.android.settingslib.R.string.daltonizer_type_overridden,
+                res.getString(com.android.settingslib.R
+                        .string.accessibility_display_daltonizer_preference_title)));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java
index f06aa8d..73ff74e 100644
--- a/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/TransitionAnimationScalePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.TransitionAnimationScalePreferenceController
-        .DEFAULT_VALUE;
-import static com.android.settings.development.TransitionAnimationScalePreferenceController
-        .TRANSITION_ANIMATION_SCALE_SELECTOR;
+import static com.android.settings.development.TransitionAnimationScalePreferenceController.DEFAULT_VALUE;
+import static com.android.settings.development.TransitionAnimationScalePreferenceController.TRANSITION_ANIMATION_SCALE_SELECTOR;
 
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -32,8 +30,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -72,8 +68,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.transition_animation_scale_values);
-        mListSummaries = resources.getStringArray(R.array.transition_animation_scale_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.transition_animation_scale_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.transition_animation_scale_entries);
         mController = new TransitionAnimationScalePreferenceController(mContext);
         ReflectionHelpers.setField(mController, "mWindowManager", mWindowManager);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/UsbAudioRoutingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/UsbAudioRoutingPreferenceControllerTest.java
index 69d2c99..cb0ba88 100644
--- a/tests/robotests/src/com/android/settings/development/UsbAudioRoutingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/UsbAudioRoutingPreferenceControllerTest.java
@@ -75,8 +75,7 @@
 
     @Test
     public void updateState_usbAudioRoutingEnabled_shouldCheckedPreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(true);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(true);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED,
@@ -89,8 +88,7 @@
 
     @Test
     public void updateState_usbAudioRoutingDisabled_shouldUncheckedPreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(true);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(true);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
         Settings.Secure.putInt(mContext.getContentResolver(),
                 Settings.Secure.USB_AUDIO_AUTOMATIC_ROUTING_DISABLED,
@@ -103,8 +101,7 @@
 
     @Test
     public void updateState_usbDataSignalingDisabled_shouldDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(false);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(false);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.updateState(mPreference);
@@ -150,8 +147,7 @@
 
     @Test
     public void onDeveloperOptionsSwitchEnabled_usbEnabled_shouldNotDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(true);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(true);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.onDeveloperOptionsSwitchEnabled();
@@ -161,8 +157,7 @@
 
     @Test
     public void onDeveloperOptionsSwitchEnabled_usbDisabled_shouldDisablePreference() {
-        when(mDevicePolicyManager.isUsbDataSignalingEnabledForUser(
-                UserHandle.myUserId())).thenReturn(false);
+        when(mDevicePolicyManager.isUsbDataSignalingEnabled()).thenReturn(false);
         when(mDevicePolicyManager.getProfileOwner()).thenReturn(TEST_COMPONENT_NAME);
 
         mController.onDeveloperOptionsSwitchEnabled();
diff --git a/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java
index 4d8d3e8..6104b2d 100644
--- a/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/WindowAnimationScalePreferenceControllerTest.java
@@ -16,10 +16,8 @@
 
 package com.android.settings.development;
 
-import static com.android.settings.development.WindowAnimationScalePreferenceController
-        .DEFAULT_VALUE;
-import static com.android.settings.development.WindowAnimationScalePreferenceController
-        .WINDOW_ANIMATION_SCALE_SELECTOR;
+import static com.android.settings.development.WindowAnimationScalePreferenceController.DEFAULT_VALUE;
+import static com.android.settings.development.WindowAnimationScalePreferenceController.WINDOW_ANIMATION_SCALE_SELECTOR;
 
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -32,8 +30,6 @@
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -72,8 +68,10 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         final Resources resources = mContext.getResources();
-        mListValues = resources.getStringArray(R.array.window_animation_scale_values);
-        mListSummaries = resources.getStringArray(R.array.window_animation_scale_entries);
+        mListValues = resources.getStringArray(
+                com.android.settingslib.R.array.window_animation_scale_values);
+        mListSummaries = resources.getStringArray(
+                com.android.settingslib.R.array.window_animation_scale_entries);
         mController = new WindowAnimationScalePreferenceController(mContext);
         ReflectionHelpers.setField(mController, "mWindowManager", mWindowManager);
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
diff --git a/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
index 1baf483..14c0bc7 100644
--- a/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/development/WirelessDebuggingEnablerTest.java
@@ -29,8 +29,7 @@
 
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settings.testutils.shadow.ShadowWirelessDebuggingPreferenceController;
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
+import com.android.settings.widget.SwitchWidgetController;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.After;
@@ -49,23 +48,22 @@
 public class WirelessDebuggingEnablerTest {
 
     @Mock
-    private SwitchBar mSwitchBar;
+    private SwitchWidgetController mSwitchWidgetController;
     @Mock
     private WirelessDebuggingEnabler.OnEnabledListener mListener;
 
     private WirelessDebuggingEnabler mWirelessDebuggingEnabler;
     private Context mContext;
-    private LifecycleOwner mLifecycleOwner;
     private Lifecycle mLifecycle;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mLifecycleOwner = () -> mLifecycle;
+        LifecycleOwner mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mWirelessDebuggingEnabler = spy(new WirelessDebuggingEnabler(
-                mContext, new SwitchBarController(mSwitchBar), mListener, mLifecycle));
+                mContext, mSwitchWidgetController, mListener, mLifecycle));
     }
 
     @After
@@ -75,14 +73,14 @@
 
     @Test
     public void onCreation_shouldShowSwitchBar() {
-        verify(mSwitchBar).show();
+        verify(mSwitchWidgetController).setupView();
     }
 
     @Test
     public void teardownSwitchController_shouldHideSwitchBar() {
         mWirelessDebuggingEnabler.teardownSwitchController();
 
-        verify(mSwitchBar).hide();
+        verify(mSwitchWidgetController).teardownView();
     }
 
     @Test
@@ -92,7 +90,7 @@
                 Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
         mWirelessDebuggingEnabler.onResume();
 
-        verify(mSwitchBar).setChecked(false);
+        verify(mSwitchWidgetController).setChecked(false);
         verify(mListener).onEnabled(false);
 
         Global.putInt(mContext.getContentResolver(),
@@ -101,7 +99,7 @@
                 ReflectionHelpers.getField(mWirelessDebuggingEnabler, "mSettingsObserver");
         observer.onChange(true, Global.getUriFor(Global.ADB_WIFI_ENABLED));
 
-        verify(mSwitchBar).setChecked(true);
+        verify(mSwitchWidgetController).setChecked(true);
         // Should also get a callback
         verify(mListener).onEnabled(true);
     }
@@ -112,7 +110,7 @@
                 Global.ADB_WIFI_ENABLED, 1 /* setting enabled */);
         mWirelessDebuggingEnabler.onResume();
 
-        verify(mSwitchBar).setChecked(true);
+        verify(mSwitchWidgetController).setChecked(true);
         verify(mListener).onEnabled(true);
 
         Global.putInt(mContext.getContentResolver(),
@@ -121,7 +119,7 @@
                 ReflectionHelpers.getField(mWirelessDebuggingEnabler, "mSettingsObserver");
         observer.onChange(true, Global.getUriFor(Global.ADB_WIFI_ENABLED));
 
-        verify(mSwitchBar).setChecked(false);
+        verify(mSwitchWidgetController).setChecked(false);
         // Should also get a callback
         verify(mListener).onEnabled(false);
     }
@@ -133,7 +131,7 @@
                 Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
         mWirelessDebuggingEnabler.onResume();
 
-        verify(mSwitchBar).setChecked(false);
+        verify(mSwitchWidgetController).setChecked(false);
         verify(mListener).onEnabled(false);
 
         mWirelessDebuggingEnabler.onSwitchToggled(true);
@@ -149,7 +147,7 @@
                 Global.ADB_WIFI_ENABLED, 0 /* setting disabled */);
         mWirelessDebuggingEnabler.onResume();
 
-        verify(mSwitchBar).setChecked(false);
+        verify(mSwitchWidgetController).setChecked(false);
         verify(mListener).onEnabled(false);
 
         mWirelessDebuggingEnabler.onSwitchToggled(true);
@@ -165,7 +163,7 @@
                 Global.ADB_WIFI_ENABLED, 1 /* setting disabled */);
         mWirelessDebuggingEnabler.onResume();
 
-        verify(mSwitchBar).setChecked(true);
+        verify(mSwitchWidgetController).setChecked(true);
         verify(mListener).onEnabled(true);
 
         mWirelessDebuggingEnabler.onSwitchToggled(false);
@@ -181,7 +179,7 @@
                 Global.ADB_WIFI_ENABLED, 1 /* setting disabled */);
         mWirelessDebuggingEnabler.onResume();
 
-        verify(mSwitchBar).setChecked(true);
+        verify(mSwitchWidgetController).setChecked(true);
         verify(mListener).onEnabled(true);
 
         mWirelessDebuggingEnabler.onSwitchToggled(false);
diff --git a/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
index 323486e..21fc6d2 100644
--- a/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/development/bluetooth/BaseBluetoothDialogPreferenceTest.java
@@ -170,8 +170,9 @@
 
     @Test
     public void generateSummary_checkString() {
-        final String summary = String.format(mContext.getResources().getString(
-                R.string.bluetooth_select_a2dp_codec_streaming_label), SUMMARY2);
+        String label = mContext.getResources().getString(
+                com.android.settingslib.R.string.bluetooth_select_a2dp_codec_streaming_label);
+        final String summary = String.format(label, SUMMARY2);
 
         assertThat(mPreference.generateSummary(1)).isEqualTo(summary);
     }
diff --git a/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java b/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
index dffd7fb..86ceadc 100644
--- a/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
+++ b/tests/robotests/src/com/android/settings/development/compat/PlatformCompatDashboardTest.java
@@ -41,7 +41,8 @@
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.internal.compat.CompatibilityChangeConfig;
 import com.android.internal.compat.CompatibilityChangeInfo;
@@ -51,12 +52,13 @@
 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.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -66,6 +68,8 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class PlatformCompatDashboardTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
     private PlatformCompatDashboard mDashboard;
 
     @Mock
@@ -86,7 +90,6 @@
 
     @Before
     public void setUp() throws RemoteException, NameNotFoundException {
-        MockitoAnnotations.initMocks(this);
         mChanges = new CompatibilityChangeInfo[5];
         mChanges[0] = new CompatibilityChangeInfo(
                 1L, "Default_Enabled", 0, 0, false, false, "", false);
@@ -103,7 +106,7 @@
         // By default, allow any change
         when(mOverrideValidator.getOverrideAllowedState(anyLong(),anyString()))
             .thenReturn(new OverrideAllowedState(ALLOWED, -1, -1));
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = spy(ApplicationProvider.getApplicationContext());
         mPreferenceManager = new PreferenceManager(mContext);
         mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
         mApplicationInfo.packageName = APP_NAME;
@@ -150,10 +153,10 @@
         Preference enabledPreference = mDashboard.createPreferenceForChange(mContext, enabledChange,
                 config);
 
-        SwitchPreference enabledSwitchPreference = (SwitchPreference) enabledPreference;
+        SwitchPreferenceCompat enabledSwitchPreference = (SwitchPreferenceCompat) enabledPreference;
 
         assertThat(enabledPreference.getSummary()).isEqualTo(mChanges[0].getName());
-        assertThat(enabledPreference instanceof SwitchPreference).isTrue();
+        assertThat(enabledPreference instanceof SwitchPreferenceCompat).isTrue();
         assertThat(enabledSwitchPreference.isChecked()).isTrue();
         assertThat(enabledSwitchPreference.isEnabled()).isTrue();
     }
@@ -169,7 +172,8 @@
                 disabledChange, config);
 
         assertThat(disabledPreference.getSummary()).isEqualTo(mChanges[1].getName());
-        SwitchPreference disabledSwitchPreference = (SwitchPreference) disabledPreference;
+        SwitchPreferenceCompat disabledSwitchPreference =
+                (SwitchPreferenceCompat) disabledPreference;
         assertThat(disabledSwitchPreference.isChecked()).isFalse();
         assertThat(disabledSwitchPreference.isEnabled()).isTrue();
     }
@@ -187,10 +191,10 @@
         Preference preference = mDashboard.createPreferenceForChange(mContext, enabledChange,
                 config);
 
-        SwitchPreference switchPreference = (SwitchPreference) preference;
+        SwitchPreferenceCompat switchPreference = (SwitchPreferenceCompat) preference;
 
         assertThat(preference.getSummary()).isEqualTo(mChanges[0].getName());
-        assertThat(preference instanceof SwitchPreference).isTrue();
+        assertThat(preference instanceof SwitchPreferenceCompat).isTrue();
         assertThat(switchPreference.isChecked()).isTrue();
         assertThat(switchPreference.isEnabled()).isFalse();
     }
@@ -221,7 +225,7 @@
         assertThat(category.getPreferenceCount()).isEqualTo(mChanges.length);
         for (int i = 0; i < mChanges.length; ++i) {
             Preference childPreference = category.getPreference(i);
-            assertThat(childPreference instanceof SwitchPreference).isTrue();
+            assertThat(childPreference instanceof SwitchPreferenceCompat).isTrue();
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java
index 2266ed9..1e154a2 100644
--- a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverAppPreferenceControllerTest.java
@@ -43,6 +43,7 @@
 import com.android.settings.R;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -52,6 +53,7 @@
 
 import java.util.Arrays;
 
+@Ignore("b/317934814")
 @RunWith(RobolectricTestRunner.class)
 public class GraphicsDriverAppPreferenceControllerTest {
 
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java
index 249acf5..e623eb8 100644
--- a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerTest.java
@@ -19,7 +19,6 @@
 import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.ANGLE_DRIVER_SUFFIX;
 import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION;
 import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_PERSISTENT_GRAPHICS_EGL;
-import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_RO_GFX_ANGLE_SUPPORTED;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -48,9 +47,13 @@
 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,
+})
 public class GraphicsDriverEnableAngleAsSystemDriverControllerTest {
     private static final String TAG = "GraphicsDriverEnableAngleAsSystemDriverControllerTest";
     @Mock private PreferenceScreen mScreen;
@@ -79,7 +82,6 @@
 
     @Test
     public void onPreferenceChange_switchOn_shouldEnableAngleAsSystemDriver() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
         // since GraphicsEnvironment is mocked in Robolectric test environment,
         // we will override the system property persist.graphics.egl as if it is changed by
         // mGraphicsEnvironment.toggleAngleAsSystemDriver(true).
@@ -96,7 +98,6 @@
 
     @Test
     public void onPreferenceChange_switchOff_shouldDisableAngleAsSystemDriver() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
         // since GraphicsEnvironment is mocked in Robolectric test environment,
         // we will override the system property persist.graphics.egl as if it is changed by
         // mGraphicsEnvironment.toggleAngleAsSystemDriver(false).
@@ -112,30 +113,14 @@
     }
 
     @Test
-    public void updateState_angleNotSupported_preferenceShouldNotBeChecked() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "");
-        mController.updateState(mPreference);
-        verify(mPreference).setChecked(false);
-    }
-
-    @Test
-    public void updateState_angleNotSupported_preferenceShouldNotBeEnabled() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "");
-        mController.updateState(mPreference);
-        verify(mPreference).setEnabled(false);
-    }
-
-    @Test
-    public void updateState_angleSupported_angleUsed_preferenceShouldBeChecked() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
+    public void updateState_angleUsed_preferenceShouldBeChecked() {
         ShadowSystemProperties.override(PROPERTY_PERSISTENT_GRAPHICS_EGL, ANGLE_DRIVER_SUFFIX);
         mController.updateState(mPreference);
         verify(mPreference).setChecked(true);
     }
 
     @Test
-    public void updateState_angleSupported_angleNotUsed_preferenceShouldNotBeChecked() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
+    public void updateState_angleNotUsed_preferenceShouldNotBeChecked() {
         ShadowSystemProperties.override(PROPERTY_PERSISTENT_GRAPHICS_EGL, "");
         mController.updateState(mPreference);
         verify(mPreference).setChecked(false);
@@ -143,7 +128,6 @@
 
     @Test
     public void onDeveloperOptionSwitchDisabled_shouldDisableAngleAsSystemDriver() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
         mController.onDeveloperOptionsSwitchDisabled();
         final String systemEGLDriver = SystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL);
         assertThat(systemEGLDriver).isEqualTo("");
@@ -151,14 +135,12 @@
 
     @Test
     public void onDeveloperOptionSwitchDisabled_preferenceShouldNotBeChecked() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
         mController.onDeveloperOptionsSwitchDisabled();
         verify(mPreference).setChecked(false);
     }
 
     @Test
     public void onDeveloperOptionsSwitchDisabled_preferenceShouldNotBeEnabled() {
-        ShadowSystemProperties.override(PROPERTY_RO_GFX_ANGLE_SUPPORTED, "true");
         mController.onDeveloperOptionsSwitchDisabled();
         verify(mPreference).setEnabled(false);
     }
diff --git a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java
index 838703d..cedc060 100644
--- a/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/graphicsdriver/GraphicsDriverGlobalSwitchBarControllerTest.java
@@ -27,8 +27,6 @@
 import android.content.Context;
 import android.provider.Settings;
 
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 import com.android.settings.widget.SwitchWidgetController;
 
 import org.junit.Before;
@@ -43,8 +41,6 @@
 public class GraphicsDriverGlobalSwitchBarControllerTest {
 
     @Mock
-    private SwitchBar mSwitchBar;
-    @Mock
     private SwitchWidgetController mSwitchWidgetController;
     @Mock
     private GraphicsDriverContentObserver mGraphicsDriverContentObserver;
@@ -65,9 +61,9 @@
         Settings.Global.putInt(
                 mResolver, Settings.Global.UPDATABLE_DRIVER_ALL_APPS, UPDATABLE_DRIVER_DEFAULT);
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
+                mContext, mSwitchWidgetController);
 
-        verify(mSwitchBar).setChecked(true);
+        verify(mSwitchWidgetController).setChecked(true);
     }
 
     @Test
@@ -75,34 +71,33 @@
         Settings.Global.putInt(mResolver, Settings.Global.UPDATABLE_DRIVER_ALL_APPS,
                 UPDATABLE_DRIVER_OFF);
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
+                mContext, mSwitchWidgetController);
 
-        verify(mSwitchBar).setChecked(false);
+        verify(mSwitchWidgetController).setChecked(false);
     }
 
     @Test
     public void constructor_developmentSettingsEnabled_shouldEnableSwitchBar() {
         Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 1);
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
+                mContext, mSwitchWidgetController);
 
-        verify(mSwitchBar).setEnabled(true);
+        verify(mSwitchWidgetController).setEnabled(true);
     }
 
     @Test
     public void constructor_developmentSettingsDisabled_shouldDisableSwitchBar() {
         Settings.Global.putInt(mResolver, Settings.Global.DEVELOPMENT_SETTINGS_ENABLED, 0);
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
+                mContext, mSwitchWidgetController);
 
-        verify(mSwitchBar).setEnabled(false);
+        verify(mSwitchWidgetController).setEnabled(false);
     }
 
     @Test
     public void onStart_shouldStartListeningAndRegister() {
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-        mController.mSwitchWidgetController = mSwitchWidgetController;
+                mContext, mSwitchWidgetController);
         mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
         mController.onStart();
 
@@ -113,8 +108,7 @@
     @Test
     public void onStop_shouldStopListeningAndUnregister() {
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
-        mController.mSwitchWidgetController = mSwitchWidgetController;
+                mContext, mSwitchWidgetController);
         mController.mGraphicsDriverContentObserver = mGraphicsDriverContentObserver;
         mController.onStop();
 
@@ -127,7 +121,7 @@
         Settings.Global.putInt(mResolver, Settings.Global.UPDATABLE_DRIVER_ALL_APPS,
                 UPDATABLE_DRIVER_OFF);
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
+                mContext, mSwitchWidgetController);
         mController.onSwitchToggled(true);
 
         assertThat(Settings.Global.getInt(
@@ -141,7 +135,7 @@
         Settings.Global.putInt(
                 mResolver, Settings.Global.UPDATABLE_DRIVER_ALL_APPS, UPDATABLE_DRIVER_DEFAULT);
         mController = new GraphicsDriverGlobalSwitchBarController(
-                mContext, new SwitchBarController(mSwitchBar));
+                mContext, mSwitchWidgetController);
         mController.onSwitchToggled(false);
 
         assertThat(Settings.Global.getInt(
diff --git a/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java b/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java
index 9ab67c2..c7df289 100644
--- a/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java
+++ b/tests/robotests/src/com/android/settings/development/qstile/DevelopmentTilesTest.java
@@ -27,6 +27,7 @@
 import android.os.UserManager;
 import android.service.quicksettings.Tile;
 
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.development.DevelopmentSettingsEnabler;
 
 import org.junit.Before;
@@ -37,10 +38,13 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.Shadows;
-import org.robolectric.shadows.ShadowUserManager;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadow.api.Shadow;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowUserManager.class,
+})
 public class DevelopmentTilesTest {
 
     @Mock
@@ -54,7 +58,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mService = spy(Robolectric.setupService(DevelopmentTiles.ShowLayout.class));
-        final ShadowUserManager um = Shadows.shadowOf(
+        final ShadowUserManager um = Shadow.extract(
                 RuntimeEnvironment.application.getSystemService(UserManager.class));
         um.setIsAdminUser(true);
         doReturn(mTile).when(mService).getQsTile();
diff --git a/tests/robotests/src/com/android/settings/development/qstile/SensorsOffTest.java b/tests/robotests/src/com/android/settings/development/qstile/SensorsOffTest.java
new file mode 100644
index 0000000..d4f31a3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/qstile/SensorsOffTest.java
@@ -0,0 +1,107 @@
+/*
+ * 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.development.qstile;
+
+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.times;
+import static org.mockito.Mockito.verify;
+
+import android.app.KeyguardManager;
+import android.content.Context;
+import android.hardware.SensorPrivacyManager;
+
+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.util.ReflectionHelpers;
+
+@RunWith(RobolectricTestRunner.class)
+public class SensorsOffTest {
+    @Mock
+    private KeyguardManager mKeyguardManager;
+    @Mock
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock
+    private SensorPrivacyManager mSensorPrivacyManager;
+
+    private Context mContext;
+    private DevelopmentTiles.SensorsOff mSensorsOff;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mSensorsOff = new DevelopmentTiles.SensorsOff();
+        ReflectionHelpers.setField(mSensorsOff, "mBase", mContext);
+        ReflectionHelpers.setField(mSensorsOff, "mKeyguardManager", mKeyguardManager);
+        ReflectionHelpers.setField(mSensorsOff, "mMetricsFeatureProvider", mMetricsFeatureProvider);
+        ReflectionHelpers.setField(mSensorsOff, "mSensorPrivacyManager", mSensorPrivacyManager);
+    }
+
+    @Test
+    public void setIsEnabled_trueWithKeyguardLocked_sensorPrivacyNotModified() {
+        ReflectionHelpers.setField(mSensorsOff, "mIsEnabled", false);
+        doReturn(true).when(mKeyguardManager).isKeyguardLocked();
+
+        mSensorsOff.setIsEnabled(true);
+
+        verify(mSensorPrivacyManager, never()).setAllSensorPrivacy(true);
+        assertThat(mSensorsOff.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void setIsEnabled_trueWithKeyguardUnlocked_sensorPrivacyModified() {
+        ReflectionHelpers.setField(mSensorsOff, "mIsEnabled", false);
+        doReturn(false).when(mKeyguardManager).isKeyguardLocked();
+
+        mSensorsOff.setIsEnabled(true);
+
+        verify(mSensorPrivacyManager, times(1)).setAllSensorPrivacy(true);
+        assertThat(mSensorsOff.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void setIsEnabled_falseWithKeyguardLocked_sensorPrivacyNotModified() {
+        ReflectionHelpers.setField(mSensorsOff, "mIsEnabled", true);
+        doReturn(true).when(mKeyguardManager).isKeyguardLocked();
+
+        mSensorsOff.setIsEnabled(false);
+
+        verify(mSensorPrivacyManager, never()).setAllSensorPrivacy(false);
+        assertThat(mSensorsOff.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void setIsEnabled_falseWithKeyguardUnlocked_sensorPrivacyModified() {
+        ReflectionHelpers.setField(mSensorsOff, "mIsEnabled", true);
+        doReturn(false).when(mKeyguardManager).isKeyguardLocked();
+
+        mSensorsOff.setIsEnabled(false);
+
+        verify(mSensorPrivacyManager, times(1)).setAllSensorPrivacy(false);
+        assertThat(mSensorsOff.isEnabled()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/qstile/WinscopeTraceTest.java b/tests/robotests/src/com/android/settings/development/qstile/WinscopeTraceTest.java
deleted file mode 100644
index ad495c7..0000000
--- a/tests/robotests/src/com/android/settings/development/qstile/WinscopeTraceTest.java
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.development.qstile;
-
-import static com.android.settings.development.qstile.DevelopmentTiles.WinscopeTrace.SURFACE_FLINGER_LAYER_TRACE_CONTROL_CODE;
-import static com.android.settings.development.qstile.DevelopmentTiles.WinscopeTrace.SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE;
-
-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.isNull;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.doThrow;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.view.IWindowManager;
-import android.widget.Toast;
-
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.internal.inputmethod.ImeTracing;
-import com.android.settings.testutils.shadow.ShadowParcel;
-
-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.annotation.Config;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class WinscopeTraceTest {
-
-    @Mock
-    private IWindowManager mWindowManager;
-    @Mock
-    private ImeTracing mImeTracing;
-    @Mock
-    private IBinder mSurfaceFlinger;
-    @Mock
-    private Toast mToast;
-
-    private DevelopmentTiles.WinscopeTrace mWinscopeTrace;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mWinscopeTrace = spy(new DevelopmentTiles.WinscopeTrace());
-        doReturn(ApplicationProvider.getApplicationContext()).when(
-                mWinscopeTrace).getApplicationContext();
-
-        ReflectionHelpers.setField(mWinscopeTrace, "mWindowManager", mWindowManager);
-        ReflectionHelpers.setField(mWinscopeTrace, "mImeTracing", mImeTracing);
-        ReflectionHelpers.setField(mWinscopeTrace, "mSurfaceFlinger", mSurfaceFlinger);
-        ReflectionHelpers.setField(mWinscopeTrace, "mToast", mToast);
-    }
-
-    @After
-    public void teardown() {
-        verifyNoMoreInteractions(mToast);
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void wmReturnsTraceEnabled_shouldReturnEnabled() throws RemoteException {
-        // Assume Surface Trace and Input Method Manager are disabled.
-        ShadowParcel.sReadBoolResult = false;
-        doReturn(true).when(mWindowManager).isWindowTraceEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isTrue();
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void sfReturnsTraceEnabled_shouldReturnEnabled() throws RemoteException {
-        // Assume Window Trace and Input Method Manager are disabled.
-        doReturn(false).when(mWindowManager).isWindowTraceEnabled();
-        doReturn(false).when(mImeTracing).isEnabled();
-        ShadowParcel.sReadBoolResult = true;
-        assertThat(mWinscopeTrace.isEnabled()).isTrue();
-        verify(mSurfaceFlinger)
-                .transact(eq(SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE), any(), any(),
-                        eq(0 /* flags */));
-        verifyNoMoreInteractions(mSurfaceFlinger);
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void sfAndWmReturnsTraceEnabled_shouldReturnEnabled() throws RemoteException {
-        ShadowParcel.sReadBoolResult = true;
-        doReturn(true).when(mWindowManager).isWindowTraceEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void wmAndSfAndImmReturnTraceDisabled_shouldReturnDisabled() throws RemoteException {
-        ShadowParcel.sReadBoolResult = false;
-        doReturn(false).when(mWindowManager).isWindowTraceEnabled();
-        doReturn(false).when(mImeTracing).isEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isFalse();
-        verify(mSurfaceFlinger)
-                .transact(eq(SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE), any(), any(),
-                        eq(0 /* flags */));
-        verifyNoMoreInteractions(mSurfaceFlinger);
-    }
-
-    @Test
-    public void wmAndSfReturnTraceDisabled_immReturnsTraceEnabled_shouldReturnEnabled()
-            throws RemoteException {
-        ShadowParcel.sReadBoolResult = false;
-        doReturn(false).when(mWindowManager).isWindowTraceEnabled();
-        doReturn(true).when(mImeTracing).isEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isTrue();
-        verify(mSurfaceFlinger)
-                .transact(eq(SURFACE_FLINGER_LAYER_TRACE_STATUS_CODE), any(), any(),
-                        eq(0 /* flags */));
-        verifyNoMoreInteractions(mSurfaceFlinger);
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void immReturnsTraceEnabled_shouldReturnEnabled() throws RemoteException {
-        // Assume Window Manager and Surface Trace are disabled.
-        ShadowParcel.sReadBoolResult = false;
-        doReturn(true).when(mImeTracing).isEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isTrue();
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void immReturnsTraceDisabled_shouldReturnDisabled() throws RemoteException {
-        // Assume Window Manager and Surface Trace are disabled.
-        ShadowParcel.sReadBoolResult = false;
-        doReturn(false).when(mImeTracing).isEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isFalse();
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void wmThrowsRemoteExAndSfReturnsTraceDisabled_shouldReturnDisabled()
-            throws RemoteException {
-        ShadowParcel.sReadBoolResult = false;
-        doThrow(new RemoteException("Unknown"))
-                .when(mWindowManager).isWindowTraceEnabled();
-        assertThat(mWinscopeTrace.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void sfUnavailableAndWmAndImmReturnTraceDisabled_shouldReturnDisabled()
-            throws RemoteException {
-        doReturn(false).when(mWindowManager).isWindowTraceEnabled();
-        doReturn(false).when(mImeTracing).isEnabled();
-        ReflectionHelpers.setField(mWinscopeTrace, "mSurfaceFlinger", null);
-        assertThat(mWinscopeTrace.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void setIsEnableTrue_shouldEnableWindowTrace() throws RemoteException {
-        mWinscopeTrace.setIsEnabled(true);
-        verify(mWindowManager).startWindowTrace();
-        verifyNoMoreInteractions(mWindowManager);
-    }
-
-    @Test
-    public void setIsEnableTrue_shouldEnableImeTrace() throws RemoteException {
-        mWinscopeTrace.setIsEnabled(true);
-        verify(mImeTracing).startImeTrace();
-        verifyNoMoreInteractions(mImeTracing);
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void setIsEnableTrue_shouldEnableLayerTrace() throws RemoteException {
-        mWinscopeTrace.setIsEnabled(true);
-        assertThat(ShadowParcel.sWriteIntResult).isEqualTo(1);
-        verify(mSurfaceFlinger)
-                .transact(eq(SURFACE_FLINGER_LAYER_TRACE_CONTROL_CODE), any(), isNull(),
-                        eq(0 /* flags */));
-        verifyNoMoreInteractions(mSurfaceFlinger);
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void setIsEnableFalse_shouldDisableWindowTrace() throws RemoteException {
-        mWinscopeTrace.setIsEnabled(false);
-        verify(mWindowManager).stopWindowTrace();
-        verifyNoMoreInteractions(mWindowManager);
-        verify(mToast).show();
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void setIsEnableFalse_shouldDisableImeTrace() throws RemoteException {
-        mWinscopeTrace.setIsEnabled(false);
-        verify(mImeTracing).stopImeTrace();
-        verifyNoMoreInteractions(mImeTracing);
-        verify(mToast).show();
-    }
-
-    @Test
-    @Config(shadows = ShadowParcel.class)
-    public void setIsEnableFalse_shouldDisableLayerTrace() throws RemoteException {
-        mWinscopeTrace.setIsEnabled(false);
-        assertThat(ShadowParcel.sWriteIntResult).isEqualTo(0);
-        verify(mSurfaceFlinger)
-                .transact(eq(SURFACE_FLINGER_LAYER_TRACE_CONTROL_CODE), any(), isNull(),
-                        eq(0 /* flags */));
-        verifyNoMoreInteractions(mSurfaceFlinger);
-        verify(mToast).show();
-    }
-
-    @Test
-    public void setIsEnableFalse_shouldShowToast() {
-        mWinscopeTrace.setIsEnabled(false);
-        verify(mToast).show();
-    }
-
-    /**
-     * Verify when window manager call throws a remote exception, it is handled without
-     * re-throwing the exception.
-     */
-    @Test
-    public void setIsEnableAndWmThrowsRemoteException_shouldFailGracefully()
-            throws RemoteException {
-        doThrow(new RemoteException("Unknown")).when(mWindowManager).isWindowTraceEnabled();
-        mWinscopeTrace.setIsEnabled(true);
-    }
-
-    /**
-     * Verify is surface flinger is not available not calls are made to it.
-     */
-    @Test
-    public void setIsEnableAndSfUnavailable_shouldFailGracefully() {
-        ReflectionHelpers.setField(mWinscopeTrace, "mSurfaceFlinger", null);
-        mWinscopeTrace.setIsEnabled(true);
-        verifyNoMoreInteractions(mSurfaceFlinger);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java b/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java
new file mode 100644
index 0000000..a93e529
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/development/quarantine/QuarantinedAppsScreenControllerTest.java
@@ -0,0 +1,97 @@
+/*
+ * 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.development.quarantine;
+
+import static org.mockito.AdditionalMatchers.aryEq;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.SuspendDialogInfo;
+import android.os.UserHandle;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class QuarantinedAppsScreenControllerTest {
+    private static final String PREF_KEY = "quarantined_apps_screen";
+    private static final String TEST_PACKAGE = "com.example.test.pkg";
+    private static final int TEST_APP_ID = 1234;
+    private static final int TEST_USER_ID = 10;
+
+    private Context mContext;
+    private QuarantinedAppsScreenController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mController = new QuarantinedAppsScreenController(mContext, PREF_KEY);
+    }
+
+    @Test
+    public void testOnPreferenceChange() {
+        final Context userContext = mock(Context.class);
+        doReturn(userContext).when(mContext).createContextAsUser(
+                eq(UserHandle.of(TEST_USER_ID)), anyInt());
+        final PackageManager packageManager = mock(PackageManager.class);
+        doReturn(packageManager).when(userContext).getPackageManager();
+
+        final AppEntry entry = createAppEntry(TEST_PACKAGE, TEST_APP_ID, TEST_USER_ID);
+        final QuarantinedAppPreference preference = new QuarantinedAppPreference(mContext, entry);
+
+        mController.onPreferenceChange(preference, true);
+        verify(packageManager).setPackagesSuspended(aryEq(new String[] {TEST_PACKAGE}), eq(true),
+                isNull(), isNull(), any(SuspendDialogInfo.class),
+                eq(PackageManager.FLAG_SUSPEND_QUARANTINED));
+
+        mController.onPreferenceChange(preference, false);
+        verify(packageManager).setPackagesSuspended(aryEq(new String[] {TEST_PACKAGE}), eq(false),
+                isNull(), isNull(), isNull(),
+                eq(PackageManager.FLAG_SUSPEND_QUARANTINED));
+    }
+
+    private AppEntry createAppEntry(String packageName, int appId, int userId) {
+        final AppEntry entry = mock(AppEntry.class);
+        entry.info = createApplicationInfo(packageName, appId, userId);
+        entry.extraInfo = false;
+        return entry;
+    }
+
+    private ApplicationInfo createApplicationInfo(String packageName, int appId, int userId) {
+        final ApplicationInfo info = new ApplicationInfo();
+        info.packageName = packageName;
+        info.uid = UserHandle.getUid(userId, appId);
+        return info;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java b/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java
index 56f29ba..a8faabe 100644
--- a/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/development/snooplogger/SnoopLoggerFiltersPreferenceTest.java
@@ -18,8 +18,6 @@
 
 import android.content.Context;
 
-import com.android.settings.R;
-
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -39,9 +37,11 @@
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
-        sKEY = mContext.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_values)[0];
+        sKEY = mContext.getResources().getStringArray(
+                com.android.settingslib.R.array.bt_hci_snoop_log_filters_values)[0];
         sENTRY =
-                mContext.getResources().getStringArray(R.array.bt_hci_snoop_log_filters_entries)[0];
+                mContext.getResources().getStringArray(
+                        com.android.settingslib.R.array.bt_hci_snoop_log_filters_entries)[0];
         mPreference = new SnoopLoggerFiltersPreference(mContext, sKEY, sENTRY);
     }
 
diff --git a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
index 88904df..251d354 100644
--- a/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/development/storage/SharedDataPreferenceControllerTest.java
@@ -31,8 +31,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -78,8 +76,8 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setEnabled(true);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.shared_data_summary));
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.shared_data_summary));
     }
 
     @Test
@@ -88,8 +86,8 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setEnabled(false);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.shared_data_no_blobs_text));
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.shared_data_no_blobs_text));
     }
 
     @Test
@@ -98,8 +96,8 @@
         mController.updateState(mPreference);
 
         verify(mPreference).setEnabled(false);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.shared_data_no_blobs_text));
+        assertThat(mPreference.getSummary()).isEqualTo(
+                mContext.getString(com.android.settingslib.R.string.shared_data_no_blobs_text));
     }
 
     private List<BlobInfo> generateBlobList() {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java
index 9cb1d56..4704475 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/PrivateVolumeUnmountTest.java
@@ -31,9 +31,11 @@
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = ShadowStorageManager.class)
 public class PrivateVolumeUnmountTest {
 
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 ff8ea62..7c1650d2 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryFirstUseDatePreferenceControllerTest.java
@@ -34,6 +34,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -75,6 +76,7 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
+    @Ignore("b/315267179")
     @Test
     public void getSummary_available_returnExpectedDate() {
         when(mFactory.batterySettingsFeatureProvider.isFirstUseDateAvailable(eq(mContext),
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragmentTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragmentTest.java
new file mode 100644
index 0000000..d0dda84
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoFragmentTest.java
@@ -0,0 +1,79 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+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.search.BaseSearchIndexProvider;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.util.ReflectionHelpers;
+
+@RunWith(org.robolectric.RobolectricTestRunner.class)
+public class BatteryInfoFragmentTest {
+    private Context mContext;
+    private FakeFeatureFactory mFactory;
+    private BatteryInfoFragment mFragment;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mFactory = FakeFeatureFactory.setupForTest();
+        mFragment = new BatteryInfoFragment();
+    }
+
+    @Test
+    public void isPageSearchEnabled_batteryInfoEnabled_returnTrue() {
+        when(mFactory.batterySettingsFeatureProvider.isBatteryInfoEnabled(mContext))
+                .thenReturn(true);
+
+        final BaseSearchIndexProvider provider =
+                (BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
+
+        final Object obj =
+                org.robolectric.util.ReflectionHelpers.callInstanceMethod(
+                        provider, /*methodName=*/ "isPageSearchEnabled",
+                        ReflectionHelpers.ClassParameter.from(Context.class, mContext));
+        final boolean isEnabled = (Boolean) obj;
+        assertThat(isEnabled).isTrue();
+    }
+
+    @Test
+    public void isPageSearchEnabled_batteryInfoDisabled_returnFalse() {
+        when(mFactory.batterySettingsFeatureProvider.isBatteryInfoEnabled(mContext))
+                .thenReturn(false);
+
+        final BaseSearchIndexProvider provider =
+                (BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
+
+        final Object obj =
+                org.robolectric.util.ReflectionHelpers.callInstanceMethod(
+                        provider, /*methodName=*/ "isPageSearchEnabled",
+                        ReflectionHelpers.ClassParameter.from(Context.class, mContext));
+        final boolean isEnabled = (Boolean) obj;
+        assertThat(isEnabled).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoPreferenceControllerTest.java
new file mode 100644
index 0000000..6d54e6b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryInfoPreferenceControllerTest.java
@@ -0,0 +1,65 @@
+/*
+ * 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.deviceinfo.batteryinfo;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class BatteryInfoPreferenceControllerTest {
+    private Context mContext;
+    private BatteryInfoPreferenceController mController;
+    private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mBatterySettingsFeatureProvider =
+                FakeFeatureFactory.setupForTest().batterySettingsFeatureProvider;
+        mController = new BatteryInfoPreferenceController(mContext, /* key= */"battery_info");
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateUnavailable_returnNotAvailable() {
+        when(mBatterySettingsFeatureProvider.isBatteryInfoEnabled(mContext)).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_dateAvailable_returnAvailable() {
+        when(mBatterySettingsFeatureProvider.isBatteryInfoEnabled(mContext)).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+}
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 608ce00..e50aa1c 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/batteryinfo/BatteryManufactureDatePreferenceControllerTest.java
@@ -34,6 +34,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -76,6 +77,7 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
+    @Ignore("b/315267179")
     @Test
     public void getSummary_available_returnExpectedDate() {
         when(mFactory.batterySettingsFeatureProvider.isManufactureDateAvailable(eq(mContext),
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
index 35e044c..7cd6734 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/MainlineModuleVersionPreferenceControllerTest.java
@@ -32,10 +32,14 @@
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
 import androidx.preference.Preference;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -46,6 +50,11 @@
 @RunWith(RobolectricTestRunner.class)
 public class MainlineModuleVersionPreferenceControllerTest {
 
+    private static final String MODULE_PACKAGE = "com.android.vending";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Mock
     private PackageManager mPackageManager;
 
@@ -58,6 +67,9 @@
         mContext = spy(RuntimeEnvironment.application);
         mPreference = new Preference(mContext);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext
+                 .getString(com.android.settings.R.string.config_mainline_module_update_package))
+                .thenReturn(MODULE_PACKAGE);
     }
 
     @Test
@@ -123,6 +135,7 @@
         assertThat(mPreference.isSelectable()).isTrue();
     }
 
+    @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
     @Test
     public void updateState_canHandleIntent_setIntentToPreference() throws Exception {
         setupModulePackage("test version 123");
@@ -137,6 +150,7 @@
         assertThat(mPreference.getIntent()).isEqualTo(MODULE_UPDATE_INTENT);
     }
 
+    @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
     @Test
     public void updateState_canHandleIntent_preferenceShouldBeSelectable() throws Exception {
         setupModulePackage("test version 123");
@@ -151,6 +165,7 @@
         assertThat(mPreference.isSelectable()).isTrue();
     }
 
+    @RequiresFlagsEnabled(com.android.settings.flags.Flags.FLAG_MAINLINE_MODULE_EXPLICIT_INTENT)
     @Test
     public void updateState_cannotHandleIntent_setNullToPreference() throws Exception {
         setupModulePackage("test version 123");
@@ -184,7 +199,7 @@
         final MainlineModuleVersionPreferenceController controller =
                 new MainlineModuleVersionPreferenceController(mContext, "key");
 
-        assertThat(controller.getSummary()).isEqualTo("May 01, 2019");
+        assertThat(controller.getSummary()).isEqualTo("May 1, 2019");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/SecurityPatchLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/SecurityPatchLevelPreferenceControllerTest.java
index 9da9e20..ccc91e6 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/SecurityPatchLevelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/firmwareversion/SecurityPatchLevelPreferenceControllerTest.java
@@ -35,8 +35,6 @@
 
 import androidx.preference.Preference;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -60,8 +58,7 @@
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = spy((Context) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get());
+        mContext = spy(Robolectric.setupActivity(Activity.class));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
index 6699b34..96324fa 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/imei/ImeiInfoPreferenceControllerTest.java
@@ -54,8 +54,12 @@
 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 ImeiInfoPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java b/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java
index 304c5a5..1352402 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/legal/ModuleLicensePreferenceTest.java
@@ -23,10 +23,7 @@
 import android.content.Intent;
 import android.content.pm.ModuleInfo;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -44,8 +41,7 @@
     @Before
     public void setup() {
         MockitoAnnotations.initMocks(this);
-        mContext = (Context) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mContext = Robolectric.setupActivity(Activity.class);
         mModuleInfo = new ModuleInfo();
         mModuleInfo.setPackageName(PACKAGE_NAME);
         mModuleInfo.setName(NAME);
@@ -60,7 +56,6 @@
     }
 
     @Test
-    @Ignore
     public void onClick_sendsCorrectIntent() {
         ModuleLicensePreference pref = new ModuleLicensePreference(mContext, mModuleInfo);
 
@@ -72,7 +67,7 @@
                 .isEqualTo(ModuleLicenseProvider.getUriForPackage(PACKAGE_NAME));
         assertThat(intent.getType()).isEqualTo(ModuleLicenseProvider.LICENSE_FILE_MIME_TYPE);
         assertThat(intent.getCharSequenceExtra(Intent.EXTRA_TITLE)).isEqualTo(NAME);
-        assertThat(intent.getFlags()).isEqualTo(Intent.FLAG_GRANT_READ_URI_PERMISSION);
+        assertThat((intent.getFlags() & Intent.FLAG_GRANT_READ_URI_PERMISSION)).isNotEqualTo(0);
         assertThat(intent.getCategories()).contains(Intent.CATEGORY_DEFAULT);
         assertThat(intent.getPackage()).isEqualTo("com.android.htmlviewer");
     }
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/legal/WallpaperAttributionsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/legal/WallpaperAttributionsPreferenceControllerTest.java
index 7831207..c06f069 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/legal/WallpaperAttributionsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/legal/WallpaperAttributionsPreferenceControllerTest.java
@@ -22,7 +22,6 @@
 import com.android.settings.core.BasePreferenceController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -49,7 +48,6 @@
                 .isEqualTo(BasePreferenceController.AVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_ifNotVisible_false() {
diff --git a/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
index 3552e16..995bef6 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/AutomaticStorageManagementSwitchPreferenceControllerTest.java
@@ -45,7 +45,6 @@
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.deletionhelper.ActivationWarningFragment;
-import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.PrimarySwitchPreference;
 
@@ -83,7 +82,6 @@
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
         doReturn(mock(DevicePolicyManager.class)).when(mMockContext)
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
-        FeatureFactory.getFactory(mContext);
         mResources = spy(mContext.getResources());
         when(mContext.getResources()).thenReturn(mResources);
 
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 5fcb9c1..b61f5ab 100644
--- a/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/deviceinfo/storage/StorageItemPreferenceControllerTest.java
@@ -52,6 +52,7 @@
 import com.android.settings.SubSettings;
 import com.android.settings.applications.manageapplications.ManageApplications;
 import com.android.settings.dashboard.profileselector.ProfileSelectFragment;
+import com.android.settings.dashboard.profileselector.ProfileSelectFragment.ProfileType;
 import com.android.settings.deviceinfo.StorageItemPreference;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.deviceinfo.StorageVolumeProvider;
@@ -67,6 +68,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class StorageItemPreferenceControllerTest {
 
     private Context mContext;
@@ -96,7 +100,7 @@
         // Note: null is passed as the Lifecycle because we are handling it outside of the normal
         //       Settings fragment lifecycle for test purposes.
         mController = new StorageItemPreferenceController(mContext, mFragment, mVolume, mSvp,
-                false /* isWorkProfile */);
+                ProfileSelectFragment.ProfileType.PERSONAL);
         mPreference = new StorageItemPreference(mContext);
 
         // Inflate the preference and the widget.
@@ -122,7 +126,7 @@
         final StorageItemPreference documentsAndOther = spy(new StorageItemPreference(mContext));
         documentsAndOther.setIcon(R.drawable.ic_folder_vd_theme_24);
         final StorageItemPreference system = spy(new StorageItemPreference(mContext));
-        system.setIcon(R.drawable.ic_system_update);
+        system.setIcon(com.android.settingslib.R.drawable.ic_system_update);
         final StorageItemPreference trash = spy(new StorageItemPreference(mContext));
         trash.setIcon(R.drawable.ic_trash_can);
 
@@ -172,7 +176,7 @@
         mPreference.setKey(StorageItemPreferenceController.IMAGES_KEY);
         final Context mockContext = getMockContext();
         mController = new StorageItemPreferenceController(mockContext, mFragment, mVolume,
-                mSvp, false /* isWorkProfile */);
+                mSvp, ProfileSelectFragment.ProfileType.PERSONAL);
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
@@ -189,7 +193,7 @@
         mPreference.setKey(StorageItemPreferenceController.AUDIO_KEY);
         final Context mockContext = getMockContext();
         mController = new StorageItemPreferenceController(mockContext, mFragment, mVolume,
-                mSvp, false /* isWorkProfile */);
+                mSvp, ProfileSelectFragment.ProfileType.PERSONAL);
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
@@ -239,7 +243,7 @@
     @Test
     public void launchAppsIntent_forWork_settingsIntent() {
         mController = new FakeStorageItemPreferenceController(mContext, mFragment, mVolume, mSvp,
-                true /* isWorkProfile */);
+                ProfileType.WORK);
         mPreference.setKey(StorageItemPreferenceController.APPS_KEY);
         mController.handlePreferenceTreeClick(mPreference);
 
@@ -269,7 +273,7 @@
         mPreference.setKey(StorageItemPreferenceController.DOCUMENTS_AND_OTHER_KEY);
         final Context mockContext = getMockContext();
         mController = new StorageItemPreferenceController(mockContext, mFragment, mVolume,
-                mSvp, false /* isWorkProfile */);
+                mSvp, ProfileSelectFragment.ProfileType.PERSONAL);
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
@@ -304,7 +308,7 @@
         mPreference.setKey(StorageItemPreferenceController.VIDEOS_KEY);
         final Context mockContext = getMockContext();
         mController = new StorageItemPreferenceController(mockContext, mFragment, mVolume,
-                mSvp, false /* isWorkProfile */);
+                mSvp, ProfileSelectFragment.ProfileType.PERSONAL);
         mController.handlePreferenceTreeClick(mPreference);
 
         final ArgumentCaptor<Intent> argumentCaptor = ArgumentCaptor.forClass(Intent.class);
@@ -454,8 +458,8 @@
         private static final int CURRENT_USER_ID = 10;
 
         FakeStorageItemPreferenceController(Context context, Fragment hostFragment,
-                VolumeInfo volume, StorageVolumeProvider svp, boolean isWorkProfile) {
-            super(context, hostFragment, volume, svp, isWorkProfile);
+                VolumeInfo volume, StorageVolumeProvider svp, @ProfileType int profileType) {
+            super(context, hostFragment, volume, svp, profileType);
         }
 
         @Override
diff --git a/tests/robotests/src/com/android/settings/devicelock/DeviceLockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/devicelock/DeviceLockPreferenceControllerTest.java
index 3176969..3b81c83 100644
--- a/tests/robotests/src/com/android/settings/devicelock/DeviceLockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/devicelock/DeviceLockPreferenceControllerTest.java
@@ -93,4 +93,17 @@
         outcomeReceiver.onResult(TEST_KIOSK_APPS);
         assertThat(preference.isVisible()).isTrue();
     }
+
+    @Test
+    public void testUpdateState_preferenceBecomesInvisibleIfDeviceLockManagerIsNotAvailable() {
+        Context context = spy(mContext);
+        when(context.getSystemService(DeviceLockManager.class)).thenReturn(null);
+        mController = new DeviceLockPreferenceController(context, TEST_PREFERENCE_KEY);
+
+        Preference preference = new Preference(mContext, null, 0, 0);
+        preference.setVisible(true);
+
+        mController.updateState(preference);
+        assertThat(preference.isVisible()).isFalse();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/AlwaysOnDisplaySliceTest.java b/tests/robotests/src/com/android/settings/display/AlwaysOnDisplaySliceTest.java
index 217f921..74e0d78 100644
--- a/tests/robotests/src/com/android/settings/display/AlwaysOnDisplaySliceTest.java
+++ b/tests/robotests/src/com/android/settings/display/AlwaysOnDisplaySliceTest.java
@@ -37,9 +37,7 @@
 import androidx.slice.widget.SliceLiveData;
 
 import com.android.settings.R;
-import com.android.settings.aware.AwareFeatureProvider;
 import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -55,8 +53,6 @@
 
     private Context mContext;
     private AlwaysOnDisplaySlice mSlice;
-    private FakeFeatureFactory mFeatureFactory;
-    private AwareFeatureProvider mFeatureProvider;
 
     @Mock
     private AmbientDisplayConfiguration mConfig;
@@ -65,8 +61,6 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mFeatureProvider = mFeatureFactory.getAwareFeatureProvider();
 
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
@@ -116,11 +110,9 @@
     }
 
     @Test
-    public void onNotifyChange_toggleOn_awareNotSupported_enableAoD() {
+    public void onNotifyChange_toggleOn_enableAoD() {
         final Intent intent = new Intent();
         intent.putExtra(android.app.slice.Slice.EXTRA_TOGGLE_STATE, true);
-        when(mFeatureProvider.isEnabled(mContext)).thenReturn(false);
-        when(mFeatureProvider.isSupported(mContext)).thenReturn(false);
 
         mSlice.onNotifyChange(intent);
 
@@ -128,32 +120,4 @@
         assertThat(Settings.Secure.getInt(resolver, DOZE_ALWAYS_ON, 0)).isEqualTo(1);
         assertThat(Settings.Secure.getInt(resolver, DOZE_WAKE_DISPLAY_GESTURE, 0)).isEqualTo(0);
     }
-
-    @Test
-    public void onNotifyChange_toggleOn_awareDisabled_enableAoD() {
-        final Intent intent = new Intent();
-        intent.putExtra(android.app.slice.Slice.EXTRA_TOGGLE_STATE, true);
-        when(mFeatureProvider.isEnabled(mContext)).thenReturn(false);
-        when(mFeatureProvider.isSupported(mContext)).thenReturn(true);
-
-        mSlice.onNotifyChange(intent);
-
-        final ContentResolver resolver = mContext.getContentResolver();
-        assertThat(Settings.Secure.getInt(resolver, DOZE_ALWAYS_ON, 0)).isEqualTo(1);
-        assertThat(Settings.Secure.getInt(resolver, DOZE_WAKE_DISPLAY_GESTURE, 0)).isEqualTo(0);
-    }
-
-    @Test
-    public void onNotifyChange_toggleOn_awareSupported_enableAoD() {
-        final Intent intent = new Intent();
-        intent.putExtra(android.app.slice.Slice.EXTRA_TOGGLE_STATE, true);
-        when(mFeatureProvider.isEnabled(mContext)).thenReturn(true);
-        when(mFeatureProvider.isSupported(mContext)).thenReturn(true);
-
-        mSlice.onNotifyChange(intent);
-
-        final ContentResolver resolver = mContext.getContentResolver();
-        assertThat(Settings.Secure.getInt(resolver, DOZE_ALWAYS_ON, 0)).isEqualTo(1);
-        assertThat(Settings.Secure.getInt(resolver, DOZE_WAKE_DISPLAY_GESTURE, 0)).isEqualTo(1);
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java
index 5d8d46b..19eac82 100644
--- a/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AmbientDisplayAlwaysOnPreferenceControllerTest.java
@@ -36,7 +36,6 @@
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -133,25 +132,23 @@
     }
 
     @Test
-    public void isSliceableCorrectKey_returnsTrue() {
+    public void isPublicSliceCorrectKey_returnsTrue() {
         final AmbientDisplayAlwaysOnPreferenceController controller =
                 new AmbientDisplayAlwaysOnPreferenceController(mContext,
                         "ambient_display_always_on");
-        assertThat(controller.isSliceable()).isTrue();
+        assertThat(controller.isPublicSlice()).isTrue();
     }
 
-    @Ignore
     @Test
-    public void isSliceableIncorrectKey_returnsFalse() {
+    public void isPublicSliceIncorrectKey_returnsFalse() {
         final AmbientDisplayAlwaysOnPreferenceController controller =
                 new AmbientDisplayAlwaysOnPreferenceController(mContext, "bad_key");
-        assertThat(controller.isSliceable()).isFalse();
+        assertThat(controller.isPublicSlice()).isFalse();
     }
 
-    @Ignore
     @Test
-    public void isPublicSlice_returnTrue() {
-        assertThat(mController.isPublicSlice()).isTrue();
+    public void isSliceable_returnTrue() {
+        assertThat(mController.isSliceable()).isTrue();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java
index 5611e93..fd91867 100644
--- a/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/AutoRotatePreferenceControllerTest.java
@@ -50,6 +50,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+})
 public class AutoRotatePreferenceControllerTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -187,15 +190,17 @@
     private void enableAutoRotationPreference() {
         when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
         when(mContext.getResources().getBoolean(anyInt())).thenReturn(true);
-        Settings.System.putInt(mContentResolver,
-                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 0);
+        Settings.System.putIntForUser(mContentResolver,
+                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 0,
+                UserHandle.USER_CURRENT);
     }
 
     private void disableAutoRotationPreference() {
         when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
         when(mContext.getResources().getBoolean(anyInt())).thenReturn(true);
-        Settings.System.putInt(mContentResolver,
-                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 1);
+        Settings.System.putIntForUser(mContentResolver,
+                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 1,
+                UserHandle.USER_CURRENT);
     }
 
     private void enableAutoRotation() {
diff --git a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
index 673771d..bbc9cf3 100644
--- a/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/BrightnessLevelPreferenceControllerTest.java
@@ -21,6 +21,7 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -39,7 +40,6 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.core.SettingsBaseActivity;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.transition.SettingsTransitionHelper;
 
 import org.junit.Before;
@@ -85,7 +85,7 @@
         ShadowApplication.getInstance().setSystemService(POWER_SERVICE,
                 mPowerManager);
         when(mScreen.findPreference(anyString())).thenReturn(mPreference);
-        when(mContext.getDisplay()).thenReturn(mDisplay);
+        doReturn(mDisplay).when(mContext).getDisplay();
         mController = spy(new BrightnessLevelPreferenceController(mContext, null));
     }
 
@@ -165,9 +165,7 @@
 
     @Test
     public void handlePreferenceTreeClick_transitionTypeNone_shouldPassToNextActivity() {
-        final Activity activity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
-
+        final Activity activity = Robolectric.setupActivity(Activity.class);
         final BrightnessLevelPreferenceController controller =
                 new BrightnessLevelPreferenceController(activity, null);
         final ShadowActivity shadowActivity = shadowOf(activity);
diff --git a/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java
index f276af0..03bf763 100644
--- a/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/ControlsTrivialPrivacyPreferenceControllerTest.java
@@ -20,6 +20,7 @@
 
 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.atLeastOnce;
 import static org.mockito.Mockito.spy;
@@ -44,7 +45,6 @@
 import com.android.settings.core.BasePreferenceController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -147,7 +147,6 @@
         verify(mPreference, atLeastOnce()).setSummary(mController.getSummary());
     }
 
-    @Ignore
     @Test
     public void updateStateWithCustomizableLockScreenQuickAffordancesEnabled() {
         setCustomizableLockScreenQuickAffordancesEnabled(true);
@@ -168,7 +167,6 @@
                 BasePreferenceController.DISABLED_DEPENDENT_SETTING);
     }
 
-    @Ignore
     @Test
     public void getAvailabilityStatusWithCustomizableLockScreenQuickAffordancesEnabled() {
         setCustomizableLockScreenQuickAffordancesEnabled(true);
@@ -223,7 +221,7 @@
             final ResolveInfo resolveInfo = new ResolveInfo();
             resolveInfo.activityInfo = activityInfo;
 
-            when(mPackageManager.resolveActivity(any(), any())).thenReturn(resolveInfo);
+            when(mPackageManager.resolveActivity(any(), anyInt())).thenReturn(resolveInfo);
         }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java
index 2510bf1..4fc56b0 100644
--- a/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/FoldLockBehaviorPreferenceControllerTest.java
@@ -25,9 +25,8 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.content.res.Resources;
 
-import com.android.internal.R;
+import com.android.internal.foldables.FoldLockSettingAvailabilityProvider;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -41,27 +40,29 @@
 public class FoldLockBehaviorPreferenceControllerTest {
 
     @Mock
-    private Resources mResources;
+    private FoldLockSettingAvailabilityProvider mFoldLockSettingAvailabilityProvider;
     private Context mContext;
     private FoldLockBehaviorPreferenceController mController;
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
-        mResources = Mockito.mock(Resources.class);
-        mController = new FoldLockBehaviorPreferenceController(mContext, "key", mResources);
+        mFoldLockSettingAvailabilityProvider = Mockito.mock(
+                FoldLockSettingAvailabilityProvider.class);
+        mController = new FoldLockBehaviorPreferenceController(mContext, "key",
+                mFoldLockSettingAvailabilityProvider);
     }
 
     @Test
     public void getAvailabilityStatus_withConfigNoShow_returnUnsupported() {
-        when(mResources.getBoolean(R.bool.config_fold_lock_behavior)).thenReturn(false);
+        when(mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable()).thenReturn(false);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     public void getAvailabilityStatus_withConfigNoShow_returnAvailable() {
-        when(mResources.getBoolean(R.bool.config_fold_lock_behavior)).thenReturn(true);
+        when(mFoldLockSettingAvailabilityProvider.isFoldLockBehaviorAvailable()).thenReturn(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
diff --git a/tests/robotests/src/com/android/settings/display/FoldLockBehaviorSettingsTest.java b/tests/robotests/src/com/android/settings/display/FoldLockBehaviorSettingsTest.java
index 37b9391..991f529 100644
--- a/tests/robotests/src/com/android/settings/display/FoldLockBehaviorSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/display/FoldLockBehaviorSettingsTest.java
@@ -24,13 +24,19 @@
 import android.os.UserHandle;
 import android.provider.Settings;
 
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+    ShadowSystemSettings.class,
+})
 public class FoldLockBehaviorSettingsTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
index 94f2dc6..88a3d23 100644
--- a/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/LockscreenClockPreferenceControllerTest.java
@@ -16,10 +16,14 @@
 
 package com.android.settings.display;
 
+import static org.mockito.Mockito.when;
+import static org.mockito.Mockito.spy;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.ContentResolver;
 import android.content.Context;
+import android.content.res.Resources;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
@@ -42,6 +46,8 @@
     private ContentResolver mContentResolver;
     private LockscreenClockPreferenceController mController;
 
+    private Resources mResources;
+
     @Mock
     private Preference mPreference;
 
@@ -51,12 +57,18 @@
         mContext = RuntimeEnvironment.application;
         mContentResolver = mContext.getContentResolver();
         mController = new LockscreenClockPreferenceController(mContext, TEST_KEY);
+        mResources = spy(mContext.getResources());
+        Context mClockContext = org.mockito.Mockito.mock(Context.class);
+        when(mClockContext.getResources()).thenReturn(mResources);
     }
 
     @Test
     public void isChecked_SettingIs1_returnTrue() {
         Settings.Secure.putInt(mContentResolver, SETTING_KEY, 1);
 
+        when(mResources.getInteger(com.android.internal.R.integer.config_doublelineClockDefault))
+            .thenReturn(1);
+
         assertThat(mController.isChecked()).isTrue();
     }
 
@@ -64,6 +76,9 @@
     public void isChecked_SettingIs0_returnFalse() {
         Settings.Secure.putInt(mContentResolver, SETTING_KEY, 0);
 
+        when(mResources.getInteger(com.android.internal.R.integer.config_doublelineClockDefault))
+            .thenReturn(0);
+
         assertThat(mController.isChecked()).isFalse();
     }
 
diff --git a/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
index d084c51..5c38411 100644
--- a/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/NightDisplayActivationPreferenceControllerTest.java
@@ -104,7 +104,7 @@
 
         final NightDisplayActivationPreferenceController controller =
                 new NightDisplayActivationPreferenceController(mContext, "night_display_activated");
-        controller.onSwitchChanged(null, true);
+        controller.onCheckedChanged(null, true);
 
         assertThat(mColorDisplayManager.isNightDisplayActivated()).isEqualTo(true);
     }
@@ -115,7 +115,7 @@
 
         final NightDisplayActivationPreferenceController controller =
                 new NightDisplayActivationPreferenceController(mContext, "night_display_activated");
-        controller.onSwitchChanged(null, false);
+        controller.onCheckedChanged(null, false);
 
         assertThat(mColorDisplayManager.isNightDisplayActivated()).isEqualTo(false);
     }
diff --git a/tests/robotests/src/com/android/settings/display/PeakRefreshRatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/PeakRefreshRatePreferenceControllerTest.java
index aaeeea4..cb0963b 100644
--- a/tests/robotests/src/com/android/settings/display/PeakRefreshRatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/PeakRefreshRatePreferenceControllerTest.java
@@ -16,21 +16,31 @@
 
 package com.android.settings.display;
 
+import static com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RATE;
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
-import static com.android.settings.display.PeakRefreshRatePreferenceController.DEFAULT_REFRESH_RATE;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.when;
+
 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 android.view.Display;
 
 import androidx.preference.SwitchPreference;
 
+import com.android.server.display.feature.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;
@@ -42,10 +52,19 @@
     private PeakRefreshRatePreferenceController mController;
     private SwitchPreference mPreference;
 
+    @Mock
+    private PeakRefreshRatePreferenceController.DeviceConfigDisplaySettings
+            mDeviceConfigDisplaySettings;
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Before
     public void setUp() {
+        MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mController = new PeakRefreshRatePreferenceController(mContext, "key");
+        mController.injectDeviceConfigDisplaySettings(mDeviceConfigDisplaySettings);
         mPreference = new SwitchPreference(RuntimeEnvironment.application);
     }
 
@@ -70,13 +89,25 @@
     }
 
     @Test
-    public void setChecked_enableSmoothDisplay_setCurrentRefreshRate() {
+    @RequiresFlagsDisabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
+    public void setChecked_enableSmoothDisplay_featureFlagOff() {
         mController.mPeakRefreshRate = 88f;
         mController.setChecked(true);
 
         assertThat(Settings.System.getFloat(mContext.getContentResolver(),
                 Settings.System.PEAK_REFRESH_RATE, DEFAULT_REFRESH_RATE))
-                .isEqualTo(88.0f);
+                .isEqualTo(88f);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_BACK_UP_SMOOTH_DISPLAY_AND_FORCE_PEAK_REFRESH_RATE)
+    public void setChecked_enableSmoothDisplay_featureFlagOn() {
+        mController.mPeakRefreshRate = 88f;
+        mController.setChecked(true);
+
+        assertThat(Settings.System.getFloat(mContext.getContentResolver(),
+                Settings.System.PEAK_REFRESH_RATE, DEFAULT_REFRESH_RATE))
+                .isPositiveInfinity();
     }
 
     @Test
@@ -91,48 +122,34 @@
 
     @Test
     public void isChecked_enableSmoothDisplay_returnTrue() {
-        enableSmoothDisplayPreference();
+        mController.mPeakRefreshRate = 88f;
+        mController.setChecked(true);
 
         assertThat(mController.isChecked()).isTrue();
     }
 
     @Test
     public void isChecked_disableSmoothDisplay_returnFalse() {
-        disableSmoothDisplayPreference();
+        mController.mPeakRefreshRate = 88f;
+        mController.setChecked(false);
 
         assertThat(mController.isChecked()).isFalse();
     }
 
     @Test
-    public void findPeakRefreshRate_moreThanOneHigherThanDefault() {
-        Display.Mode lower = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE - 1);
-        Display.Mode def = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE);
-        Display.Mode higher = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE + 1);
-        Display.Mode higher1 = new Display.Mode(0, 0, 0, DEFAULT_REFRESH_RATE + 2);
+    public void isChecked_default_returnTrue() {
+        mController.mPeakRefreshRate = 88f;
+        when(mDeviceConfigDisplaySettings.getDefaultPeakRefreshRate())
+                .thenReturn(mController.mPeakRefreshRate);
 
-        assertThat(mController.findPeakRefreshRate(
-                new Display.Mode[] {lower, def, higher, higher1}))
-                .isEqualTo(DEFAULT_REFRESH_RATE + 2);
-        assertThat(mController.findPeakRefreshRate(
-                new Display.Mode[] {lower, def, higher1, higher}))
-                .isEqualTo(DEFAULT_REFRESH_RATE + 2);
+        assertThat(mController.isChecked()).isTrue();
     }
 
-    private void enableSmoothDisplayPreference() {
+    @Test
+    public void isChecked_default_returnFalse() {
         mController.mPeakRefreshRate = 88f;
+        when(mDeviceConfigDisplaySettings.getDefaultPeakRefreshRate()).thenReturn(60f);
 
-        Settings.System.putFloat(
-                mContext.getContentResolver(),
-                Settings.System.PEAK_REFRESH_RATE,
-                mController.mPeakRefreshRate);
-    }
-
-    private void disableSmoothDisplayPreference() {
-        mController.mPeakRefreshRate = 88f;
-
-        Settings.System.putFloat(
-                mContext.getContentResolver(),
-                Settings.System.PEAK_REFRESH_RATE,
-                DEFAULT_REFRESH_RATE);
+        assertThat(mController.isChecked()).isFalse();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
index 009ac53..1a6a112 100644
--- a/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/display/ScreenTimeoutSettingsTest.java
@@ -33,6 +33,7 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.KeyguardManager;
 import android.app.admin.DevicePolicyManager;
 import android.content.ContentResolver;
 import android.content.Context;
@@ -41,27 +42,44 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.content.res.Resources;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 import android.provider.SearchIndexableResource;
 import android.provider.Settings;
 
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.widget.CandidateInfo;
 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 org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowKeyguardManager;
 
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+        ShadowKeyguardManager.class
+})
 public class ScreenTimeoutSettingsTest {
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String[] TIMEOUT_ENTRIES = new String[]{"15 secs", "30 secs"};
     private static final String[] TIMEOUT_VALUES = new String[]{"15000", "30000"};
 
@@ -89,6 +107,9 @@
     FooterPreference mDisableOptionsPreference;
 
     @Mock
+    FooterPreference mPowerConsumptionPreference;
+
+    @Mock
     private PackageManager mPackageManager;
 
     @Before
@@ -178,11 +199,28 @@
     public void updateCandidates_enforcedAdmin_showDisabledByAdminPreference() {
         mSettings.mAdmin = new RestrictedLockUtils.EnforcedAdmin();
         mSettings.mDisableOptionsPreference = mDisableOptionsPreference;
+        mSettings.mPowerConsumptionPreference = mPowerConsumptionPreference;
         doNothing().when(mSettings).setupDisabledFooterPreference();
+        doNothing().when(mSettings).setupPowerConsumptionFooterPreference();
 
         mSettings.updateCandidates();
 
         verify(mPreferenceScreen, atLeast(1)).addPreference(mDisableOptionsPreference);
+        verify(mPreferenceScreen, never()).addPreference(mPowerConsumptionPreference);
+    }
+
+    @Test
+    public void updateCandidates_withoutAdmin_showPowerConsumptionPreference() {
+        mSettings.mAdmin = null;
+        mSettings.mDisableOptionsPreference = mDisableOptionsPreference;
+        mSettings.mPowerConsumptionPreference = mPowerConsumptionPreference;
+        doNothing().when(mSettings).setupDisabledFooterPreference();
+        doNothing().when(mSettings).setupPowerConsumptionFooterPreference();
+
+        mSettings.updateCandidates();
+
+        verify(mPreferenceScreen, never()).addPreference(mDisableOptionsPreference);
+        verify(mPreferenceScreen, atLeast(1)).addPreference(mPowerConsumptionPreference);
     }
 
     @Test
@@ -194,4 +232,85 @@
 
         assertThat(Long.toString(timeout)).isEqualTo(TIMEOUT_VALUES[0]);
     }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_PROTECT_SCREEN_TIMEOUT_WITH_AUTH)
+    public void onClick_whenUserAlreadyAuthenticated_buttonChecked() {
+        String key = "222";
+        String defaultKey = "1";
+        mSettings.setDefaultKey(defaultKey);
+        CandidateInfo info = new ScreenTimeoutSettings.TimeoutCandidateInfo("label", key, false);
+        ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference pref =
+                new ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference(
+                        mContext, info.getKey(), mSettings);
+        mSettings.bindPreference(pref, info.getKey(), info, defaultKey);
+        mSettings.setUserAuthenticated(true);
+
+        pref.onClick();
+
+        assertThat(mSettings.getDefaultKey()).isEqualTo(key);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_PROTECT_SCREEN_TIMEOUT_WITH_AUTH)
+    public void onClick_whenButtonAlreadyChecked_noAuthNeeded() {
+        String key = "222";
+        mSettings.setDefaultKey(key);
+        CandidateInfo info = new ScreenTimeoutSettings.TimeoutCandidateInfo("label", key, false);
+        ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference pref =
+                new ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference(
+                        mContext, info.getKey(), mSettings);
+        mSettings.bindPreference(pref, info.getKey(), info, key);
+        mSettings.setUserAuthenticated(false);
+        setAuthPassesAutomatically();
+
+        pref.onClick();
+
+        assertThat(mSettings.isUserAuthenticated()).isFalse();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_PROTECT_SCREEN_TIMEOUT_WITH_AUTH)
+    public void onClick_whenReducingTimeout_noAuthNeeded() {
+        String key = "1";
+        String defaultKey = "222";
+        mSettings.setDefaultKey(defaultKey);
+        CandidateInfo info = new ScreenTimeoutSettings.TimeoutCandidateInfo("label", key, false);
+        ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference pref =
+                new ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference(
+                        mContext, info.getKey(), mSettings);
+        mSettings.bindPreference(pref, info.getKey(), info, defaultKey);
+        mSettings.setUserAuthenticated(false);
+        setAuthPassesAutomatically();
+
+        pref.onClick();
+
+        assertThat(mSettings.isUserAuthenticated()).isFalse();
+        assertThat(mSettings.getDefaultKey()).isEqualTo(key);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_PROTECT_SCREEN_TIMEOUT_WITH_AUTH)
+    public void onClick_whenIncreasingTimeout_authNeeded() {
+        String key = "222";
+        String defaultKey = "1";
+        mSettings.setDefaultKey(defaultKey);
+        CandidateInfo info = new ScreenTimeoutSettings.TimeoutCandidateInfo("label", key, false);
+        ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference pref =
+                new ScreenTimeoutSettings.ProtectedSelectorWithWidgetPreference(
+                        mContext, info.getKey(), mSettings);
+        mSettings.bindPreference(pref, info.getKey(), info, defaultKey);
+        mSettings.setUserAuthenticated(false);
+        setAuthPassesAutomatically();
+
+        pref.onClick();
+
+        assertThat(mSettings.getDefaultKey()).isEqualTo(key);
+        assertThat(mSettings.isUserAuthenticated()).isTrue();
+    }
+
+    private void setAuthPassesAutomatically() {
+        Shadows.shadowOf(mContext.getSystemService(KeyguardManager.class))
+                .setIsKeyguardSecure(false);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java b/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java
index 4596364..63395d1 100644
--- a/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotateControllerTest.java
@@ -42,6 +42,7 @@
 import com.android.settings.testutils.shadow.ShadowDeviceStateRotationLockSettingsManager;
 import com.android.settings.testutils.shadow.ShadowRotationPolicy;
 import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
 import com.android.settingslib.devicestate.DeviceStateRotationLockSettingsManager;
 
 import org.junit.Before;
@@ -56,7 +57,7 @@
 import org.robolectric.shadow.api.Shadow;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowSensorPrivacyManager.class)
+@Config(shadows = {ShadowSensorPrivacyManager.class, ShadowSystemSettings.class})
 public class SmartAutoRotateControllerTest {
 
     private static final String PACKAGE_NAME = "package_name";
diff --git a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java
index 0e7a86f..9f1b5d4 100644
--- a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceControllerTest.java
@@ -42,6 +42,7 @@
 import com.android.settings.testutils.ResolveInfoBuilder;
 import com.android.settings.testutils.shadow.ShadowDeviceStateRotationLockSettingsManager;
 import com.android.settings.testutils.shadow.ShadowSensorPrivacyManager;
+import com.android.settings.testutils.shadow.ShadowSystemSettings;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -55,6 +56,7 @@
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
+        ShadowSystemSettings.class,
         ShadowSensorPrivacyManager.class,
         ShadowDeviceStateRotationLockSettingsManager.class
 })
@@ -234,15 +236,17 @@
     private void enableAutoRotationPreference() {
         when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
         when(mResources.getBoolean(anyInt())).thenReturn(true);
-        Settings.System.putInt(mContentResolver,
-                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 0);
+        Settings.System.putIntForUser(mContentResolver,
+                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 0,
+                UserHandle.USER_CURRENT);
     }
 
     private void disableAutoRotationPreference() {
         when(mPackageManager.hasSystemFeature(anyString())).thenReturn(true);
         when(mResources.getBoolean(anyInt())).thenReturn(true);
-        Settings.System.putInt(mContentResolver,
-                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 1);
+        Settings.System.putIntForUser(mContentResolver,
+                Settings.System.HIDE_ROTATION_LOCK_TOGGLE_FOR_ACCESSIBILITY, 1,
+                UserHandle.USER_CURRENT);
     }
 
     private void enableAutoRotation() {
diff --git a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java
index 800dc5e..3fa4582 100644
--- a/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/display/SmartAutoRotatePreferenceFragmentTest.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.display;
 
+import static android.provider.Settings.Secure.DEVICE_STATE_ROTATION_LOCK_LOCKED;
+
 import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY;
 import static com.android.settings.display.SmartAutoRotatePreferenceFragment.AUTO_ROTATE_SWITCH_PREFERENCE_KEY;
 
@@ -50,7 +52,6 @@
 import com.android.settingslib.devicestate.DeviceStateRotationLockSettingsManager;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -63,11 +64,17 @@
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
         ShadowDeviceStateRotationLockSettingsManager.class,
         ShadowRotationPolicy.class
 })
 public class SmartAutoRotatePreferenceFragmentTest {
 
+    private static final int STATE_FOLDED = 0;
+    private static final int STATE_HALF_FOLDED = 1;
+    private static final int STATE_UNFOLDED = 2;
+    private static final int STATE_REAR_DISPLAY = 3;
+
     private static final String PACKAGE_NAME = "package_name";
 
     private SmartAutoRotatePreferenceFragment mFragment;
@@ -97,6 +104,7 @@
         ContentResolver mContentResolver = RuntimeEnvironment.application.getContentResolver();
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mContext.getContentResolver()).thenReturn(mContentResolver);
+        when(mContext.getApplicationContext()).thenReturn(mContext);
         doReturn(PACKAGE_NAME).when(mPackageManager).getRotationResolverPackageName();
         doReturn(PackageManager.PERMISSION_GRANTED).when(mPackageManager).checkPermission(
                 Manifest.permission.CAMERA, PACKAGE_NAME);
@@ -119,12 +127,19 @@
         when(mFragment.findPreference(AUTO_ROTATE_SWITCH_PREFERENCE_KEY)).thenReturn(
                 mRotateSwitchPreference);
 
+        when(mFragment.findPreference(AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY))
+                .thenReturn(mRotateMainSwitchPreference);
 
-        when(mFragment.findPreference(AUTO_ROTATE_MAIN_SWITCH_PREFERENCE_KEY)).thenReturn(
-                mRotateMainSwitchPreference);
+        when(mResources.getIntArray(com.android.internal.R.array.config_foldedDeviceStates))
+                .thenReturn(new int[] {STATE_FOLDED});
+        when(mResources.getIntArray(com.android.internal.R.array.config_halfFoldedDeviceStates))
+                .thenReturn(new int[] {STATE_HALF_FOLDED});
+        when(mResources.getIntArray(com.android.internal.R.array.config_openDeviceStates))
+                .thenReturn(new int[] {STATE_UNFOLDED});
+        when(mResources.getIntArray(com.android.internal.R.array.config_rearDisplayDeviceStates))
+                .thenReturn(new int[] {STATE_REAR_DISPLAY});
     }
 
-
     @Test
     public void createHeader_faceDetectionSupported_switchBarIsEnabled() {
         ShadowDeviceStateRotationLockSettingsManager.setDeviceStateRotationLockEnabled(false);
@@ -168,7 +183,7 @@
 
     @Test
     public void createPreferenceControllers_noSettableDeviceStates_returnsEmptyList() {
-        enableDeviceStateSettableRotationStates(new String[]{}, new String[]{});
+        enableDeviceStateSettableRotationStates(new String[] {}, new String[] {});
 
         List<AbstractPreferenceController> preferenceControllers =
                 mFragment.createPreferenceControllers(mContext);
@@ -176,20 +191,23 @@
         assertThat(preferenceControllers).isEmpty();
     }
 
-    @Ignore
     @Test
     public void createPreferenceControllers_settableDeviceStates_returnsDeviceStateControllers() {
-        enableDeviceStateSettableRotationStates(new String[]{"0:1", "1:1"},
-                new String[]{"Folded", "Unfolded"});
+        enableDeviceStateSettableRotationStates(
+                new String[] {
+                    STATE_FOLDED + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED,
+                    STATE_UNFOLDED + ":" + DEVICE_STATE_ROTATION_LOCK_LOCKED
+                },
+                new String[] {"Folded", "Unfolded"});
 
         List<AbstractPreferenceController> preferenceControllers =
                 mFragment.createPreferenceControllers(mContext);
 
         assertThat(preferenceControllers).hasSize(2);
-        assertThat(preferenceControllers.get(0)).isInstanceOf(
-                DeviceStateAutoRotateSettingController.class);
-        assertThat(preferenceControllers.get(1)).isInstanceOf(
-                DeviceStateAutoRotateSettingController.class);
+        assertThat(preferenceControllers.get(0))
+                .isInstanceOf(DeviceStateAutoRotateSettingController.class);
+        assertThat(preferenceControllers.get(1))
+                .isInstanceOf(DeviceStateAutoRotateSettingController.class);
     }
 
     @Test
@@ -205,16 +223,15 @@
         verify(mFragment, times(1)).addHelpLink();
     }
 
-    private void enableDeviceStateSettableRotationStates(String[] settableStates,
-            String[] settableStatesDescriptions) {
+    private void enableDeviceStateSettableRotationStates(
+            String[] settableStates, String[] settableStatesDescriptions) {
         when(mResources.getStringArray(
-                com.android.internal.R.array.config_perDeviceStateRotationLockDefaults)).thenReturn(
-                settableStates);
-        when(mResources.getStringArray(
-                R.array.config_settableAutoRotationDeviceStatesDescriptions)).thenReturn(
-                settableStatesDescriptions);
-        when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available)).thenReturn(
-                true);
+                        com.android.internal.R.array.config_perDeviceStateRotationLockDefaults))
+                .thenReturn(settableStates);
+        when(mResources.getStringArray(R.array.config_settableAutoRotationDeviceStatesDescriptions))
+                .thenReturn(settableStatesDescriptions);
+        when(mResources.getBoolean(R.bool.config_auto_rotate_face_detection_available))
+                .thenReturn(true);
         DeviceStateRotationLockSettingsManager.resetInstance();
         DeviceStateRotationLockSettingsManager.getInstance(mContext)
                 .resetStateForTesting(mResources);
diff --git a/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java
index 2ba0557..a5149b9 100644
--- a/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/TopLevelDisplayPreferenceControllerTest.java
@@ -26,7 +26,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -51,7 +50,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_unsupportedWhenSet() {
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 f41352b..56946c3 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeActivationPreferenceControllerTest.java
@@ -45,10 +45,14 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 import java.util.Locale;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowDateFormat.class,
+})
 public class DarkModeActivationPreferenceControllerTest {
     private DarkModeActivationPreferenceController mController;
     private String mPreferenceKey = "key";
diff --git a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java
index 8ac6257..710e640 100644
--- a/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/display/darkmode/DarkModeCustomPreferenceControllerTest.java
@@ -40,8 +40,12 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowDateFormat.class,
+})
 public class DarkModeCustomPreferenceControllerTest {
     private DarkModeCustomPreferenceController mController;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java
index fb55164..924c63a 100644
--- a/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/dream/DreamMainSwitchPreferenceControllerTest.java
@@ -28,7 +28,6 @@
 
 import com.android.settingslib.dream.DreamBackend;
 import com.android.settingslib.widget.MainSwitchPreference;
-import com.android.settingslib.widget.OnMainSwitchChangeListener;
 
 import org.junit.After;
 import org.junit.Before;
@@ -53,8 +52,6 @@
     private DreamMainSwitchPreferenceController mController;
     private MainSwitchPreference mPreference;
     private DreamBackend mBackend;
-    @Mock
-    private OnMainSwitchChangeListener mChangeListener;
     private ShadowContentResolver mShadowContentResolver;
 
     @Before
diff --git a/tests/robotests/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelperTest.java b/tests/robotests/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelperTest.java
index 8ae2a8d..6db008d 100644
--- a/tests/robotests/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelperTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/ActionDisabledByAdminDialogHelperTest.java
@@ -45,7 +45,6 @@
 import com.android.settings.testutils.shadow.ShadowActivity;
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
 
 import org.junit.Before;
@@ -78,8 +77,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (CustomActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(CustomActivity.class)).get();
+        mActivity = Robolectric.setupActivity(CustomActivity.class);
         mActivityShadow = Shadow.extract(mActivity);
         mHelper = new ActionDisabledByAdminDialogHelper(mActivity);
     }
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
index b3de184..5d478e7 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterprisePrivacySettingsTest.java
@@ -210,7 +210,7 @@
 
             // Need to set the Theme.AppCompat theme (or descendant) with this activity, otherwise
             // a {@link IllegalStateException} is thrown when setting the content view.
-            setTheme(R.style.Theme_AppCompat_Light);
+            setTheme(androidx.appcompat.R.style.Theme_AppCompat_Light);
             setContentView(frameLayout);
         }
     }
diff --git a/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceControllerTest.java
index b1e2c0c..1a16d04 100644
--- a/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/EnterpriseSetDefaultAppsListPreferenceControllerTest.java
@@ -53,12 +53,14 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.Arrays;
 import java.util.Collections;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class EnterpriseSetDefaultAppsListPreferenceControllerTest {
 
     private static final int USER_ID = 0;
diff --git a/tests/robotests/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceControllerTest.java
index e91f56f..a2a0de4 100644
--- a/tests/robotests/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/enterprise/ManageDeviceAdminPreferenceControllerTest.java
@@ -31,7 +31,6 @@
 import com.android.settingslib.utils.StringUtil;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -84,7 +83,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/flashlight/FlashlightHandleActivityTest.java b/tests/robotests/src/com/android/settings/flashlight/FlashlightHandleActivityTest.java
index a7bd21c..b0517cb 100644
--- a/tests/robotests/src/com/android/settings/flashlight/FlashlightHandleActivityTest.java
+++ b/tests/robotests/src/com/android/settings/flashlight/FlashlightHandleActivityTest.java
@@ -23,7 +23,6 @@
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -50,7 +49,6 @@
         assertThat(data).isEmpty();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getRawDataToIndex_sliceSupported_returnData() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
index 5e9fb73..583db5e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AdvancedPowerUsageDetailTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.fuelgauge;
 
 import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+import static com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -41,112 +42,100 @@
 import android.content.pm.PackageManager;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
-import android.os.Process;
 import android.os.UserHandle;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.loader.app.LoaderManager;
-import androidx.recyclerview.widget.RecyclerView;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
+import com.android.settings.fuelgauge.batteryusage.BatteryDiffEntry;
 import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
+import com.android.settings.fuelgauge.batteryusage.ConvertUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowActivityManager;
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.PrimarySwitchPreference;
 import com.android.settingslib.applications.AppUtils;
 import com.android.settingslib.applications.ApplicationsState;
 import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.widget.FooterPreference;
 import com.android.settingslib.widget.LayoutPreference;
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.mockito.stubbing.Answer;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.concurrent.TimeUnit;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowEntityHeaderController.class, ShadowActivityManager.class})
+@Config(
+        shadows = {
+            ShadowEntityHeaderController.class,
+            com.android.settings.testutils.shadow.ShadowFragment.class,
+        })
 public class AdvancedPowerUsageDetailTest {
+
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
     private static final String APP_LABEL = "app label";
     private static final String SUMMARY = "summary";
     private static final String[] PACKAGE_NAME = {"com.android.app"};
     private static final String USAGE_PERCENT = "16%";
-    private static final String SLOT_TIME = "12 am-2 am";
     private static final int ICON_ID = 123;
     private static final int UID = 1;
+    private static final long FOREGROUND_TIME_MS = 444;
+    private static final long FOREGROUND_SERVICE_TIME_MS = 123;
     private static final long BACKGROUND_TIME_MS = 100;
-    private static final long FOREGROUND_ACTIVITY_TIME_MS = 123;
-    private static final long FOREGROUND_SERVICE_TIME_MS = 444;
-    private static final long FOREGROUND_TIME_MS =
-            FOREGROUND_ACTIVITY_TIME_MS + FOREGROUND_SERVICE_TIME_MS;
-    private static final long FOREGROUND_SERVICE_TIME_US = FOREGROUND_SERVICE_TIME_MS * 1000;
-    private static final String KEY_PREF_UNRESTRICTED = "unrestricted_pref";
-    private static final String KEY_PREF_OPTIMIZED = "optimized_pref";
-    private static final String KEY_PREF_RESTRICTED = "restricted_pref";
+    private static final long SCREEN_ON_TIME_MS = 321;
+    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private FragmentActivity mActivity;
-    @Mock
-    private EntityHeaderController mEntityHeaderController;
-    @Mock
-    private LayoutPreference mHeaderPreference;
-    @Mock
-    private ApplicationsState mState;
-    @Mock
-    private ApplicationsState.AppEntry mAppEntry;
-    @Mock
-    private Bundle mBundle;
-    @Mock
-    private BatteryEntry mBatteryEntry;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private InstallSourceInfo mInstallSourceInfo;
-    @Mock
-    private AppOpsManager mAppOpsManager;
-    @Mock
-    private LoaderManager mLoaderManager;
-    @Mock
-    private BatteryOptimizeUtils mBatteryOptimizeUtils;
-    @Mock
-    private BackupManager mBackupManager;
+
+    @Mock private EntityHeaderController mEntityHeaderController;
+    @Mock private LayoutPreference mHeaderPreference;
+    @Mock private ApplicationsState mState;
+    @Mock private ApplicationsState.AppEntry mAppEntry;
+    @Mock private BatteryEntry mBatteryEntry;
+    @Mock private PackageManager mPackageManager;
+    @Mock private InstallSourceInfo mInstallSourceInfo;
+    @Mock private AppOpsManager mAppOpsManager;
+    @Mock private LoaderManager mLoaderManager;
+    @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @Mock private BackupManager mBackupManager;
 
     private Context mContext;
-    private FooterPreference mFooterPreference;
-    private SelectorWithWidgetPreference mRestrictedPreference;
-    private SelectorWithWidgetPreference mOptimizePreference;
-    private SelectorWithWidgetPreference mUnrestrictedPreference;
+    private PrimarySwitchPreference mAllowBackgroundUsagePreference;
     private AdvancedPowerUsageDetail mFragment;
     private SettingsActivity mTestActivity;
     private FakeFeatureFactory mFeatureFactory;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    private BatteryDiffEntry mBatteryDiffEntry;
+    private Bundle mBundle;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = spy(ApplicationProvider.getApplicationContext());
         when(mContext.getPackageName()).thenReturn("foo");
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
 
         mFragment = spy(new AdvancedPowerUsageDetail());
+        mBundle = spy(new Bundle());
         doReturn(mContext).when(mFragment).getContext();
         doReturn(mActivity).when(mFragment).getActivity();
         doReturn(SUMMARY).when(mFragment).getString(anyInt());
@@ -155,29 +144,59 @@
         doReturn(mLoaderManager).when(mFragment).getLoaderManager();
 
         ShadowEntityHeaderController.setUseMock(mEntityHeaderController);
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
-                .setRecyclerView(nullable(RecyclerView.class), nullable(Lifecycle.class));
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
                 .setButtonActions(anyInt(), anyInt());
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
                 .setIcon(nullable(Drawable.class));
-        doReturn(mEntityHeaderController).when(mEntityHeaderController).setIcon(nullable(
-                ApplicationsState.AppEntry.class));
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setIcon(nullable(ApplicationsState.AppEntry.class));
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
                 .setLabel(nullable(String.class));
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
                 .setLabel(nullable(String.class));
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
                 .setLabel(nullable(ApplicationsState.AppEntry.class));
-        doReturn(mEntityHeaderController).when(mEntityHeaderController)
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
                 .setSummary(nullable(String.class));
 
         when(mBatteryEntry.getUid()).thenReturn(UID);
         when(mBatteryEntry.getLabel()).thenReturn(APP_LABEL);
-        when(mBatteryEntry.getTimeInBackgroundMs()).thenReturn(BACKGROUND_TIME_MS);
         when(mBatteryEntry.getTimeInForegroundMs()).thenReturn(FOREGROUND_TIME_MS);
+        when(mBatteryEntry.getTimeInForegroundServiceMs()).thenReturn(FOREGROUND_SERVICE_TIME_MS);
+        when(mBatteryEntry.getTimeInBackgroundMs()).thenReturn(BACKGROUND_TIME_MS);
         mBatteryEntry.mIconId = ICON_ID;
 
+        mBatteryDiffEntry =
+                spy(
+                        new BatteryDiffEntry(
+                                mContext,
+                                /* uid= */ UID,
+                                /* userId= */ 0,
+                                /* key= */ "key",
+                                /* isHidden= */ false,
+                                /* componentId= */ -1,
+                                /* legacyPackageName= */ null,
+                                /* legacyLabel= */ null,
+                                /*consumerType*/ ConvertUtils.CONSUMER_TYPE_USER_BATTERY,
+                                /* foregroundUsageTimeInMs= */ FOREGROUND_TIME_MS,
+                                /* foregroundSerUsageTimeInMs= */ FOREGROUND_SERVICE_TIME_MS,
+                                /* backgroundUsageTimeInMs= */ BACKGROUND_TIME_MS,
+                                /* screenOnTimeInMs= */ SCREEN_ON_TIME_MS,
+                                /* consumePower= */ 0,
+                                /* foregroundUsageConsumePower= */ 0,
+                                /* foregroundServiceUsageConsumePower= */ 0,
+                                /* backgroundUsageConsumePower= */ 0,
+                                /* cachedUsageConsumePower= */ 0));
+        when(mBatteryDiffEntry.getAppLabel()).thenReturn(APP_LABEL);
+        when(mBatteryDiffEntry.getAppIconId()).thenReturn(ICON_ID);
+
         mFragment.mHeaderPreference = mHeaderPreference;
         mFragment.mState = mState;
         mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
@@ -192,23 +211,21 @@
 
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
 
-        Answer<Void> callable = invocation -> {
-            mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-            System.out.println("mBundle = " + mBundle);
-            return null;
-        };
-        doAnswer(callable).when(mActivity).startActivityAsUser(captor.capture(),
-                nullable(UserHandle.class));
+        Answer<Void> callable =
+                invocation -> {
+                    mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+                    System.out.println("mBundle = " + mBundle);
+                    return null;
+                };
+        doAnswer(callable)
+                .when(mActivity)
+                .startActivityAsUser(captor.capture(), nullable(UserHandle.class));
         doAnswer(callable).when(mActivity).startActivity(captor.capture());
+        doAnswer(callable).when(mContext).startActivity(captor.capture());
 
-        mFooterPreference = new FooterPreference(mContext);
-        mRestrictedPreference = new SelectorWithWidgetPreference(mContext);
-        mOptimizePreference = new SelectorWithWidgetPreference(mContext);
-        mUnrestrictedPreference = new SelectorWithWidgetPreference(mContext);
-        mFragment.mFooterPreference = mFooterPreference;
-        mFragment.mRestrictedPreference = mRestrictedPreference;
-        mFragment.mOptimizePreference = mOptimizePreference;
-        mFragment.mUnrestrictedPreference = mUnrestrictedPreference;
+        mAllowBackgroundUsagePreference = new PrimarySwitchPreference(mContext);
+        mAllowBackgroundUsagePreference.setKey(KEY_ALLOW_BACKGROUND_USAGE);
+        mFragment.mAllowBackgroundUsagePreference = mAllowBackgroundUsagePreference;
     }
 
     @After
@@ -232,7 +249,9 @@
 
     @Test
     public void initHeader_HasAppEntry_BuildByAppEntry() {
-        ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
+        ReflectionHelpers.setStaticField(
+                AppUtils.class,
+                "sInstantAppDataProvider",
                 new InstantAppDataProvider() {
                     @Override
                     public boolean isInstantApp(ApplicationInfo info) {
@@ -249,7 +268,9 @@
 
     @Test
     public void initHeader_HasAppEntry_InstantApp() {
-        ReflectionHelpers.setStaticField(AppUtils.class, "sInstantAppDataProvider",
+        ReflectionHelpers.setStaticField(
+                AppUtils.class,
+                "sInstantAppDataProvider",
                 new InstantAppDataProvider() {
                     @Override
                     public boolean isInstantApp(ApplicationInfo info) {
@@ -265,421 +286,49 @@
     }
 
     @Test
-    public void initHeader_noAnyTimeNoConsumedPower_hasEmptySummary() {
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, /* value */ 0);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEmpty();
-    }
-
-    @Test
-    public void initHeader_noAnyTimeButConsumedPower_hasEmptySummary() {
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, /* value */ 0);
-        bundle.putInt(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_AMOUNT, /* value */ 10);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEmpty();
-    }
-
-    @Test
-    public void initHeader_ScreenTimeZerobackgroundTwoMin_hasCorrectSummary() {
-        final long backgroundTimeTwoMinutes = 120000;
-        final long foregroundTimeZero = 0;
-        final long screenOnTimeZero = 0;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeZero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeZero);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString())
-                .isEqualTo("Background: 2 min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeZerobackgroundLessThanAMin_hasCorrectSummary() {
-        final long backgroundTimeLessThanAMinute = 59999;
-        final long foregroundTimeZero = 0;
-        final long screenOnTimeZero = 0;
-        Bundle bundle = new Bundle();
-        bundle.putLong(
-                AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeZero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeZero);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString())
-                .isEqualTo("Background: less than a min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeAMinuteBackgroundTwoMin_hasCorrectSummary() {
-        final long backgroundTimeTwoMinutes = 120000;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeAMinute = 60000;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeAMinute);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: 1 min\nBackground: 2 min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeAMinuteBackgroundLessThanAMin_hasCorrectSummary() {
-        final long backgroundTimeLessThanAMinute = 59999;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeAMinute = 60000;
-        Bundle bundle = new Bundle();
-        bundle.putLong(
-                AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeAMinute);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: 1 min\nBackground: less than a min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeAMinuteBackgroundZero_hasCorrectSummary() {
-        final long backgroundTimezero = 0;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeAMinute = 60000;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimezero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeAMinute);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: 1 min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeLessThanAMinBackgroundTwoMin_hasCorrectSummary() {
-        final long backgroundTimeTwoMinutes = 120000;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeLessThanAMinute = 59999;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeLessThanAMinute);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: less than a min\nBackground: 2 min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeLessThanAMinBackgroundLessThanAMin_hasCorrectSummary() {
-        final long backgroundTimeLessThanAMinute = 59999;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeLessThanAMinute = 59999;
-        Bundle bundle = new Bundle();
-        bundle.putLong(
-                AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeLessThanAMinute);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: less than a min\nBackground: less than a min\n(since last full "
-                        + "charge)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeLessThanAMinBackgroundZero_hasCorrectSummary() {
-        final long backgroundTimezero = 0;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeLessThanAMinute = 59999;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimezero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeLessThanAMinute);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: less than a min\n(since last full charge)");
-    }
-
-    @Test
-    public void initHeader_noAnyTimeNoConsumedPowerWithSlotTime_hasEmptySummary() {
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, /* value */ 0);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEmpty();
-    }
-
-    @Test
-    public void initHeader_noAnyTimeButConsumedPowerWithSlotTime_hasEmptySummary() {
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, /* value */ 0);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, /* value */ 0);
-        bundle.putInt(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_AMOUNT, /* value */ 10);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEmpty();
-    }
-
-    @Test
-    public void initHeader_ScreenTimeZerobackgroundTwoMinWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimeTwoMinutes = 120000;
-        final long foregroundTimeZero = 0;
-        final long screenOnTimeZero = 0;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeZero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeZero);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString())
-                .isEqualTo("Background: 2 min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeZerobackgroundLessThanAMinWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimeLessThanAMinute = 59999;
-        final long foregroundTimeZero = 0;
-        final long screenOnTimeZero = 0;
-        Bundle bundle = new Bundle();
-        bundle.putLong(
-                AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeZero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeZero);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString())
-                .isEqualTo("Background: less than a min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeAMinuteBackgroundTwoMinWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimeTwoMinutes = 120000;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeAMinute = 60000;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeAMinute);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: 1 min\nBackground: 2 min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeAMinuteBackgroundLessThanAMinWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimeLessThanAMinute = 59999;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeAMinute = 60000;
-        Bundle bundle = new Bundle();
-        bundle.putLong(
-                AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeAMinute);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: 1 min\nBackground: less than a min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeAMinuteBackgroundZeroWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimezero = 0;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeAMinute = 60000;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimezero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeAMinute);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: 1 min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeLessThanAMinBackgroundTwoMinWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimeTwoMinutes = 120000;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeLessThanAMinute = 59999;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeLessThanAMinute);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: less than a min\nBackground: 2 min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeLessAMinBackgroundLessAMinWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimeLessThanAMinute = 59999;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeLessThanAMinute = 59999;
-        Bundle bundle = new Bundle();
-        bundle.putLong(
-                AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimeLessThanAMinute);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeLessThanAMinute);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: less than a min\nBackground: less than a min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_ScreenTimeLessThanAMinBackgroundZeroWithSlotTime_hasCorrectSummary() {
-        final long backgroundTimezero = 0;
-        final long foregroundTimeTwoMinutes = 120000;
-        final long screenOnTimeLessThanAMinute = 59999;
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, backgroundTimezero);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, foregroundTimeTwoMinutes);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, screenOnTimeLessThanAMinute);
-        bundle.putString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME, SLOT_TIME);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue().toString()).isEqualTo(
-                "Screen time: less than a min\n(12 am-2 am)");
-    }
-
-    @Test
-    public void initHeader_systemUidWithChartIsEnabled_notNullSummary() {
-        Bundle bundle = new Bundle();
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME, 240000);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME, 120000);
-        bundle.putLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME, 120000);
-        bundle.putInt(AdvancedPowerUsageDetail.EXTRA_UID, Process.SYSTEM_UID);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.initHeader();
-
-        ArgumentCaptor<CharSequence> captor = ArgumentCaptor.forClass(CharSequence.class);
-        verify(mEntityHeaderController).setSummary(captor.capture());
-        assertThat(captor.getValue()).isNotNull();
-    }
-
-    @Test
     public void startBatteryDetailPage_invalidToShowSummary_noFGBDData() {
-        AdvancedPowerUsageDetail.startBatteryDetailPage(mActivity, mFragment,
-                mBatteryEntry, USAGE_PERCENT);
+        mBundle.clear();
+        AdvancedPowerUsageDetail.startBatteryDetailPage(
+                mActivity, mFragment, mBatteryEntry, USAGE_PERCENT);
 
         assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
-        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME))
-                .isEqualTo(0);
-        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME))
-                .isEqualTo(0);
-        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME))
-                .isEqualTo(0);
+        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME)).isEqualTo(0);
+        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME)).isEqualTo(0);
+        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME)).isEqualTo(0);
         assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
                 .isEqualTo(USAGE_PERCENT);
     }
 
     @Test
+    public void startBatteryDetailPage_showSummary_hasFGBDData() {
+        final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+        mBundle.clear();
+        AdvancedPowerUsageDetail.startBatteryDetailPage(
+                mContext,
+                mFragment.getMetricsCategory(),
+                mBatteryDiffEntry,
+                USAGE_PERCENT,
+                /* slotInformation= */ null,
+                /* showTimeInformation= */ true,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verify(mContext).startActivity(captor.capture());
+        assertThat(mBundle.getInt(AdvancedPowerUsageDetail.EXTRA_UID)).isEqualTo(UID);
+        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_BACKGROUND_TIME))
+                .isEqualTo(BACKGROUND_TIME_MS + FOREGROUND_SERVICE_TIME_MS);
+        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_FOREGROUND_TIME))
+                .isEqualTo(FOREGROUND_TIME_MS);
+        assertThat(mBundle.getLong(AdvancedPowerUsageDetail.EXTRA_SCREEN_ON_TIME))
+                .isEqualTo(SCREEN_ON_TIME_MS);
+        assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
+                .isEqualTo(USAGE_PERCENT);
+        assertThat(mBundle.getString(AdvancedPowerUsageDetail.EXTRA_SLOT_TIME))
+                .isEqualTo(null);
+    }
+
+
+    @Test
     public void startBatteryDetailPage_noBatteryUsage_hasBasicData() {
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
 
@@ -688,18 +337,23 @@
 
         verify(mActivity).startActivity(captor.capture());
 
-        assertThat(captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
-                .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
+        assertThat(
+                        captor.getValue()
+                                .getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
+                                .getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
                 .isEqualTo(PACKAGE_NAME[0]);
 
-        assertThat(captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
-                .getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
+        assertThat(
+                        captor.getValue()
+                                .getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS)
+                                .getString(AdvancedPowerUsageDetail.EXTRA_POWER_USAGE_PERCENT))
                 .isEqualTo("0%");
     }
 
     @Test
-    public void startBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName() throws
-            PackageManager.NameNotFoundException {
+    public void startBatteryDetailPage_batteryEntryNotExisted_extractUidFromPackageName()
+            throws PackageManager.NameNotFoundException {
+        mBundle.clear();
         doReturn(UID).when(mPackageManager).getPackageUid(PACKAGE_NAME[0], 0 /* no flag */);
 
         AdvancedPowerUsageDetail.startBatteryDetailPage(
@@ -709,71 +363,61 @@
     }
 
     @Test
-    public void initPreferenceForTriState_isValidPackageName_hasCorrectString() {
+    public void initFooter_isValidPackageName_hasCorrectString() {
         when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
 
-        mFragment.initPreferenceForTriState(mContext);
+        mFragment.initFooter();
 
-        assertThat(mFooterPreference.getTitle().toString())
+        assertThat(mAllowBackgroundUsagePreference.getSummary().toString())
                 .isEqualTo("This app requires optimized battery usage.");
     }
 
     @Test
-    public void initPreferenceForTriState_isSystemOrDefaultApp_hasCorrectString() {
+    public void initFooter_isSystemOrDefaultApp_hasCorrectString() {
         when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
         when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
 
-        mFragment.initPreferenceForTriState(mContext);
+        mFragment.initFooter();
 
-        assertThat(mFooterPreference.getTitle()
-                .toString()).isEqualTo("This app requires unrestricted battery usage.");
+        assertThat(mAllowBackgroundUsagePreference.getSummary().toString())
+                .isEqualTo("This app requires unrestricted battery usage.");
     }
 
     @Test
-    public void initPreferenceForTriState_hasCorrectString() {
+    public void initFooter_hasCorrectString() {
         when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
         when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
 
-        mFragment.initPreferenceForTriState(mContext);
+        mFragment.initFooter();
 
-        assertThat(mFooterPreference.getTitle().toString())
-                .isEqualTo("Changing how an app uses your battery can affect its performance.");
-    }
-
-    @Test
-    public void onRadioButtonClicked_clickOptimizePref_optimizePreferenceChecked() {
-        mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
-        mRestrictedPreference.setKey(KEY_PREF_RESTRICTED);
-        mUnrestrictedPreference.setKey(KEY_PREF_UNRESTRICTED);
-        mFragment.onRadioButtonClicked(mOptimizePreference);
-
-        assertThat(mOptimizePreference.isChecked()).isTrue();
-        assertThat(mRestrictedPreference.isChecked()).isFalse();
-        assertThat(mUnrestrictedPreference.isChecked()).isFalse();
+        assertThat(mAllowBackgroundUsagePreference.getSummary().toString())
+                .isEqualTo("Enable for real-time updates, disable to save battery");
     }
 
     @Test
     public void onPause_optimizationModeChanged_logPreference()
             throws PackageManager.NameNotFoundException, InterruptedException {
         final String packageName = "testPackageName";
-        final int mode = BatteryOptimizeUtils.MODE_RESTRICTED;
-        mFragment.mOptimizationMode = mode;
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
+        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        mFragment.mOptimizationMode = restrictedMode;
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
         when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
         when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
-        mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
 
-        mFragment.onRadioButtonClicked(mOptimizePreference);
+        mFragment.onPreferenceChange(mAllowBackgroundUsagePreference, true);
+        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
         mFragment.onPause();
 
-        TimeUnit.SECONDS.sleep(100);
+        TimeUnit.SECONDS.sleep(1);
         verify(mMetricsFeatureProvider)
                 .action(
-                        SettingsEnums.OPEN_APP_BATTERY_USAGE,
-                        SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
-                        SettingsEnums.OPEN_APP_BATTERY_USAGE,
+                        SettingsEnums.LEAVE_APP_BATTERY_USAGE,
+                        SettingsEnums.ACTION_APP_BATTERY_USAGE_ALLOW_BACKGROUND,
+                        SettingsEnums.FUELGAUGE_POWER_USAGE_DETAIL,
                         packageName,
                         /* consumed battery */ 0);
     }
@@ -781,18 +425,23 @@
     @Test
     public void onPause_optimizationModeIsNotChanged_notInvokeLogging()
             throws PackageManager.NameNotFoundException, InterruptedException {
-        final int mode = BatteryOptimizeUtils.MODE_OPTIMIZED;
-        mFragment.mOptimizationMode = mode;
-        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(mode);
+        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        mFragment.mOptimizationMode = restrictedMode;
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
         when(mContext.getPackageManager()).thenReturn(mPackageManager);
         when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
         when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
-        mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
 
-        mFragment.onRadioButtonClicked(mOptimizePreference);
+        mFragment.onPreferenceChange(mAllowBackgroundUsagePreference, true);
+        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
+        mFragment.onPreferenceChange(mAllowBackgroundUsagePreference, false);
+        verify(mBatteryOptimizeUtils).setAppUsageState(restrictedMode, Action.APPLY);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
         mFragment.onPause();
 
-        TimeUnit.SECONDS.sleep(100);
+        TimeUnit.SECONDS.sleep(1);
         verifyNoInteractions(mMetricsFeatureProvider);
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
new file mode 100644
index 0000000..261a315
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AllowBackgroundPreferenceControllerTest.java
@@ -0,0 +1,150 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+
+import com.android.settingslib.widget.MainSwitchPreference;
+
+import org.junit.Before;
+import 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 AllowBackgroundPreferenceControllerTest {
+    private static final int UID = 12345;
+    private static final String PACKAGE_NAME = "com.android.app";
+
+    private AllowBackgroundPreferenceController mController;
+    private MainSwitchPreference mMainSwitchPreference;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
+
+    @Mock private PackageManager mMockPackageManager;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        Context context = spy(RuntimeEnvironment.application);
+        BatteryUtils.getInstance(context).reset();
+        doReturn(UID)
+                .when(mMockPackageManager)
+                .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
+
+        mController = new AllowBackgroundPreferenceController(context, UID, PACKAGE_NAME);
+        mMainSwitchPreference = new MainSwitchPreference(RuntimeEnvironment.application);
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(context, UID, PACKAGE_NAME));
+        mController.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
+    }
+
+    @Test
+    public void testUpdateState_isValidPackage_prefEnabled() {
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
+
+        mController.updateState(mMainSwitchPreference);
+
+        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isTrue();
+        assertThat(mMainSwitchPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_invalidPackage_prefDisabled() {
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
+
+        mController.updateState(mMainSwitchPreference);
+
+        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isFalse();
+        assertThat(mMainSwitchPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void testUpdateState_isSystemOrDefaultAppAndRestrictedStates_prefChecked() {
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_RESTRICTED);
+
+        mController.updateState(mMainSwitchPreference);
+
+        assertThat(mMainSwitchPreference.isEnabled()).isFalse();
+        assertThat(mMainSwitchPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
+
+        mController.updateState(mMainSwitchPreference);
+
+        assertThat(mMainSwitchPreference.isEnabled()).isFalse();
+        assertThat(mMainSwitchPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void testUpdateState_isRestrictedStates_prefChecked() {
+        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_RESTRICTED);
+
+        mController.updateState(mMainSwitchPreference);
+
+        assertThat(mMainSwitchPreference.isEnabled()).isTrue();
+        assertThat(mMainSwitchPreference.isChecked()).isFalse();
+    }
+
+    @Test
+    public void testUpdateState_prefUnchecked() {
+        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
+
+        mController.updateState(mMainSwitchPreference);
+
+        assertThat(mMainSwitchPreference.isEnabled()).isTrue();
+        assertThat(mMainSwitchPreference.isChecked()).isTrue();
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
+        mMainSwitchPreference.setKey(
+                AllowBackgroundPreferenceController.KEY_ALLOW_BACKGROUND_USAGE);
+        mController.handlePreferenceTreeClick(mMainSwitchPreference);
+
+        assertThat(mController.handlePreferenceTreeClick(mMainSwitchPreference)).isTrue();
+    }
+
+    @Test
+    public void testHandlePreferenceTreeClick_incorrectPrefKey_noAction() {
+        assertThat(mController.handlePreferenceTreeClick(mMainSwitchPreference)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java
index 0b6051b..5c3addf 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/AutoRestrictionPreferenceControllerTest.java
@@ -91,26 +91,25 @@
     public void testGetAvailabilityStatus_smartBatterySupported_returnDisabled() {
         doReturn(true).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     public void testGetAvailabilityStatus_smartBatteryUnSupported_returnAvailable() {
         doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
     }
 
     private void putAutoRestrictionValue(int value) {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.APP_AUTO_RESTRICTION_ENABLED,
-                value);
+        Settings.Global.putInt(
+                mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, value);
     }
 
     private int getAutoRestrictionValue() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-                Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON);
+        return Settings.Global.getInt(
+                mContext.getContentResolver(), Settings.Global.APP_AUTO_RESTRICTION_ENABLED, ON);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
index b8c72ee..8980800 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBackupHelperTest.java
@@ -94,33 +94,24 @@
     private BatteryBackupHelper mBatteryBackupHelper;
     private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
 
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private BackupDataOutput mBackupDataOutput;
-    @Mock
-    private BackupDataInputStream mBackupDataInputStream;
-    @Mock
-    private IDeviceIdleController mDeviceController;
-    @Mock
-    private IPackageManager mIPackageManager;
-    @Mock
-    private AppOpsManager mAppOpsManager;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private PowerAllowlistBackend mPowerAllowlistBackend;
-    @Mock
-    private BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @Mock private PackageManager mPackageManager;
+    @Mock private BackupDataOutput mBackupDataOutput;
+    @Mock private BackupDataInputStream mBackupDataInputStream;
+    @Mock private IDeviceIdleController mDeviceController;
+    @Mock private IPackageManager mIPackageManager;
+    @Mock private AppOpsManager mAppOpsManager;
+    @Mock private UserManager mUserManager;
+    @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+    @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
-        mPowerUsageFeatureProvider =
-                FakeFeatureFactory.setupForTest().powerUsageFeatureProvider;
+        mPowerUsageFeatureProvider = FakeFeatureFactory.setupForTest().powerUsageFeatureProvider;
         mContext = spy(RuntimeEnvironment.application);
         mStringWriter = new StringWriter();
         mPrintWriter = new PrintWriter(mStringWriter);
+        BatteryUtils.getInstance(mContext).reset();
         doReturn(mContext).when(mContext).getApplicationContext();
         doReturn(mAppOpsManager).when(mContext).getSystemService(AppOpsManager.class);
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
@@ -172,7 +163,7 @@
     public void backupOptimizationMode_nullInstalledApps_ignoreBackupOptimization()
             throws Exception {
         final UserInfo userInfo =
-                new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+                new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
         doReturn(Arrays.asList(userInfo)).when(mUserManager).getProfiles(anyInt());
         doThrow(new RuntimeException())
                 .when(mIPackageManager)
@@ -198,8 +189,7 @@
     }
 
     @Test
-    public void backupOptimizationMode_backupOptimizationModeAndIgnoreSystemApp()
-            throws Exception {
+    public void backupOptimizationMode_backupOptimizationModeAndIgnoreSystemApp() throws Exception {
         final List<String> allowlistedApps = Arrays.asList(PACKAGE_NAME1);
         createTestingData(PACKAGE_NAME1, UID1, PACKAGE_NAME2, PACKAGE_NAME3);
         // Sets "com.android.testing.1" as system app.
@@ -293,8 +283,7 @@
         // Invoke the restoreEntity() method 2nd time.
         mBatteryBackupHelper.restoreEntity(mBackupDataInputStream);
 
-        assertThat(TestUtils.getScheduledLevel(mContext))
-                .isEqualTo(invalidScheduledLevel);
+        assertThat(TestUtils.getScheduledLevel(mContext)).isEqualTo(invalidScheduledLevel);
     }
 
     @Test
@@ -312,9 +301,14 @@
     @Test
     public void restoreOptimizationMode_invalidModeFormat_skipRestore() throws Exception {
         final String invalidNumberFormat = "google";
-        final String packageModes =
-                PACKAGE_NAME1 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER +
-                PACKAGE_NAME2 + DELIMITER_MODE + invalidNumberFormat;
+        final String package1Mode = PACKAGE_NAME1
+                + DELIMITER_MODE
+                + MODE_RESTRICTED
+                + DELIMITER;
+        final String package2Mode = PACKAGE_NAME2
+                + DELIMITER_MODE
+                + invalidNumberFormat;
+        final String packageModes = package1Mode + package2Mode;
 
         mBatteryBackupHelper.restoreOptimizationMode(packageModes.getBytes());
         TimeUnit.SECONDS.sleep(1);
@@ -327,10 +321,19 @@
 
     @Test
     public void restoreOptimizationMode_restoreExpectedModes() throws Exception {
-        final String packageModes =
-                PACKAGE_NAME1 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER +
-                PACKAGE_NAME2 + DELIMITER_MODE + MODE_UNRESTRICTED + DELIMITER +
-                PACKAGE_NAME3 + DELIMITER_MODE + MODE_RESTRICTED + DELIMITER;
+        final String package1Mode = PACKAGE_NAME1
+                + DELIMITER_MODE
+                + MODE_RESTRICTED
+                + DELIMITER;
+        final String package2Mode = PACKAGE_NAME2
+                + DELIMITER_MODE
+                + MODE_UNRESTRICTED
+                + DELIMITER;
+        final String package3Mode = PACKAGE_NAME3
+                + DELIMITER_MODE
+                + MODE_RESTRICTED
+                + DELIMITER;
+        final String packageModes = package1Mode + package2Mode + package3Mode;
 
         mBatteryBackupHelper.restoreOptimizationMode(packageModes.getBytes());
         TimeUnit.SECONDS.sleep(1);
@@ -357,13 +360,14 @@
         verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_PRODUCT, Build.PRODUCT);
         verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_MANUFACTURER, Build.MANUFACTURER);
         verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_FINGERPRINT, Build.FINGERPRINT);
-        inOrder.verify(mBackupDataOutput, never()).writeEntityHeader(
-                eq(BatteryBackupHelper.KEY_BUILD_METADATA_1), anyInt());
+        inOrder.verify(mBackupDataOutput, never())
+                .writeEntityHeader(eq(BatteryBackupHelper.KEY_BUILD_METADATA_1), anyInt());
         verifyBackupData(inOrder, BatteryBackupHelper.KEY_BUILD_METADATA_2, deviceMetadata);
     }
 
     private void mockUid(int uid, String packageName) throws Exception {
-        doReturn(uid).when(mPackageManager)
+        doReturn(uid)
+                .when(mPackageManager)
                 .getPackageUid(packageName, PackageManager.GET_META_DATA);
     }
 
@@ -383,8 +387,8 @@
         final Set<String> expectedResultSet =
                 Set.of(expectedResult.split(BatteryBackupHelper.DELIMITER));
 
-        verify(mBackupDataOutput).writeEntityHeader(
-                BatteryBackupHelper.KEY_OPTIMIZATION_LIST, expectedBytes.length);
+        verify(mBackupDataOutput)
+                .writeEntityHeader(BatteryBackupHelper.KEY_OPTIMIZATION_LIST, expectedBytes.length);
         verify(mBackupDataOutput).writeEntityData(captor.capture(), eq(expectedBytes.length));
         final String actualResult = new String(captor.getValue());
         final Set<String> actualResultSet =
@@ -392,11 +396,12 @@
         assertThat(actualResultSet).isEqualTo(expectedResultSet);
     }
 
-    private void createTestingData(String packageName1, int uid1, String packageName2,
-            String packageName3) throws Exception {
+    private void createTestingData(
+            String packageName1, int uid1, String packageName2, String packageName3)
+            throws Exception {
         // Sets the getInstalledApplications() method for testing.
         final UserInfo userInfo =
-                new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+                new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
         doReturn(Arrays.asList(userInfo)).when(mUserManager).getProfiles(anyInt());
         final ApplicationInfo applicationInfo1 = new ApplicationInfo();
         applicationInfo1.enabled = true;
@@ -412,10 +417,12 @@
         applicationInfo3.uid = 3;
         applicationInfo3.packageName = packageName3;
         applicationInfo3.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED;
-        doReturn(new ParceledListSlice<ApplicationInfo>(
-                Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3)))
-            .when(mIPackageManager)
-            .getInstalledApplications(anyLong(), anyInt());
+        doReturn(
+                        new ParceledListSlice<ApplicationInfo>(
+                                Arrays.asList(
+                                        applicationInfo1, applicationInfo2, applicationInfo3)))
+                .when(mIPackageManager)
+                .getInstalledApplications(anyLong(), anyInt());
         // Sets the AppOpsManager for checkOpNoThrow() method.
         doReturn(AppOpsManager.MODE_ALLOWED)
                 .when(mAppOpsManager)
@@ -433,8 +440,8 @@
                 new ArraySet<>(Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3));
     }
 
-    private void verifyBackupData(
-            InOrder inOrder, String dataKey, String dataContent) throws Exception {
+    private void verifyBackupData(InOrder inOrder, String dataKey, String dataContent)
+            throws Exception {
         final byte[] expectedBytes = dataContent.getBytes();
         inOrder.verify(mBackupDataOutput).writeEntityHeader(dataKey, expectedBytes.length);
         inOrder.verify(mBackupDataOutput).writeEntityData(expectedBytes, expectedBytes.length);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
index 62f812d..2f3f5c5 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryBroadcastReceiverTest.java
@@ -54,8 +54,7 @@
     private static final int BATTERY_INTENT_LEVEL = 80;
     private static final int BATTERY_INTENT_SCALE = 100;
 
-    @Mock
-    private BatteryBroadcastReceiver.OnBatteryChangedListener mBatteryListener;
+    @Mock private BatteryBroadcastReceiver.OnBatteryChangedListener mBatteryListener;
     private BatteryBroadcastReceiver mBatteryBroadcastReceiver;
     private Context mContext;
     private Intent mChargingIntent;
@@ -75,8 +74,8 @@
         mChargingIntent = new Intent(Intent.ACTION_BATTERY_CHANGED);
         mChargingIntent.putExtra(BatteryManager.EXTRA_LEVEL, BATTERY_INTENT_LEVEL);
         mChargingIntent.putExtra(BatteryManager.EXTRA_SCALE, BATTERY_INTENT_SCALE);
-        mChargingIntent
-                .putExtra(BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
+        mChargingIntent.putExtra(
+                BatteryManager.EXTRA_STATUS, BatteryManager.BATTERY_STATUS_CHARGING);
     }
 
     @Test
@@ -85,8 +84,10 @@
 
         assertThat(mBatteryBroadcastReceiver.mBatteryLevel)
                 .isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
-        assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo(
-                Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false));
+        assertThat(mBatteryBroadcastReceiver.mBatteryStatus)
+                .isEqualTo(
+                        Utils.getBatteryStatus(
+                                mContext, mChargingIntent, /* compactStatus= */ false));
         verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_LEVEL);
     }
 
@@ -103,7 +104,8 @@
 
     @Test
     public void onReceive_chargingStatusChanged_dataUpdated() {
-        mChargingIntent.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
+        mChargingIntent.putExtra(
+                BatteryManager.EXTRA_CHARGING_STATUS,
                 BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
         mBatteryBroadcastReceiver.onReceive(mContext, mChargingIntent);
 
@@ -123,8 +125,8 @@
 
     @Test
     public void onReceive_powerSaveModeChanged_listenerInvoked() {
-        mBatteryBroadcastReceiver.onReceive(mContext,
-                new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
+        mBatteryBroadcastReceiver.onReceive(
+                mContext, new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
 
         verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_SAVER);
     }
@@ -150,16 +152,16 @@
 
     @Test
     public void onReceive_dockDefenderBypassed_listenerInvoked() {
-        mBatteryBroadcastReceiver.onReceive(mContext,
-                new Intent(BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION));
+        mBatteryBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION));
 
         verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_STATUS);
     }
 
     @Test
     public void onReceive_usbPortComplianceChanged_listenerInvoked() {
-        mBatteryBroadcastReceiver.onReceive(mContext,
-                new Intent(UsbManager.ACTION_USB_PORT_COMPLIANCE_CHANGED));
+        mBatteryBroadcastReceiver.onReceive(
+                mContext, new Intent(UsbManager.ACTION_USB_PORT_COMPLIANCE_CHANGED));
 
         verify(mBatteryListener).onBatteryChanged(BatteryUpdateType.BATTERY_STATUS);
     }
@@ -173,8 +175,10 @@
 
         assertThat(mBatteryBroadcastReceiver.mBatteryLevel)
                 .isEqualTo(Utils.getBatteryPercentage(mChargingIntent));
-        assertThat(mBatteryBroadcastReceiver.mBatteryStatus).isEqualTo(
-                Utils.getBatteryStatus(mContext, mChargingIntent, /* compactStatus= */ false));
+        assertThat(mBatteryBroadcastReceiver.mBatteryStatus)
+                .isEqualTo(
+                        Utils.getBatteryStatus(
+                                mContext, mChargingIntent, /* compactStatus= */ false));
         assertThat(mBatteryBroadcastReceiver.mBatteryHealth)
                 .isEqualTo(BatteryManager.BATTERY_HEALTH_UNKNOWN);
         assertThat(mBatteryBroadcastReceiver.mChargingStatus)
@@ -188,10 +192,11 @@
         mBatteryBroadcastReceiver.register();
 
         ArgumentCaptor<IntentFilter> captor = ArgumentCaptor.forClass(IntentFilter.class);
-        verify(mContext).registerReceiver(
-                eq(mBatteryBroadcastReceiver),
-                captor.capture(),
-                eq(Context.RECEIVER_EXPORTED));
+        verify(mContext)
+                .registerReceiver(
+                        eq(mBatteryBroadcastReceiver),
+                        captor.capture(),
+                        eq(Context.RECEIVER_EXPORTED));
         assertAction(captor, Intent.ACTION_BATTERY_CHANGED);
         assertAction(captor, PowerManager.ACTION_POWER_SAVE_MODE_CHANGED);
         assertAction(captor, BatteryUtils.BYPASS_DOCK_DEFENDER_ACTION);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
index 2779e0a..1df8a40 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryHeaderPreferenceControllerTest.java
@@ -23,7 +23,6 @@
 import static org.mockito.Mockito.verifyNoInteractions;
 import static org.mockito.Mockito.when;
 
-import android.app.Activity;
 import android.content.Context;
 import android.content.Intent;
 import android.hardware.usb.UsbManager;
@@ -34,8 +33,6 @@
 import android.os.PowerManager;
 import android.text.TextUtils;
 
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.PreferenceFragmentCompat;
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.R;
@@ -47,7 +44,6 @@
 import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
 import com.android.settings.testutils.shadow.ShadowUtils;
 import com.android.settings.widget.EntityHeaderController;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.widget.UsageProgressBarPreference;
 
 import org.junit.After;
@@ -72,40 +68,24 @@
     private static final String TIME_LEFT = "2h30min";
     private static final String BATTERY_STATUS = "Charging";
 
-    @Mock
-    private Activity mActivity;
-    @Mock
-    private PreferenceFragmentCompat mPreferenceFragment;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private BatteryInfo mBatteryInfo;
-    @Mock
-    private EntityHeaderController mEntityHeaderController;
-    @Mock
-    private UsageProgressBarPreference mBatteryUsageProgressBarPref;
-    @Mock
-    private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
-    @Mock
-    private UsbPort mUsbPort;
-    @Mock
-    private UsbManager mUsbManager;
-    @Mock
-    private UsbPortStatus mUsbPortStatus;
+    @Mock private PreferenceScreen mPreferenceScreen;
+    @Mock private BatteryInfo mBatteryInfo;
+    @Mock private EntityHeaderController mEntityHeaderController;
+    @Mock private UsageProgressBarPreference mBatteryUsageProgressBarPref;
+    @Mock private BatteryStatusFeatureProvider mBatteryStatusFeatureProvider;
+    @Mock private UsbPort mUsbPort;
+    @Mock private UsbManager mUsbManager;
+    @Mock private UsbPortStatus mUsbPortStatus;
 
     private BatteryHeaderPreferenceController mController;
     private Context mContext;
     private ShadowPowerManager mShadowPowerManager;
     private Intent mBatteryIntent;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
         mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(UsbManager.class)).thenReturn(mUsbManager);
         ShadowEntityHeaderController.setUseMock(mEntityHeaderController);
@@ -116,18 +96,15 @@
         mBatteryIntent.putExtra(BatteryManager.EXTRA_PLUGGED, 1);
         doReturn(mBatteryIntent).when(mContext).registerReceiver(any(), any());
 
-        doReturn(mBatteryUsageProgressBarPref).when(mPreferenceScreen)
-            .findPreference(BatteryHeaderPreferenceController.KEY_BATTERY_HEADER);
+        doReturn(mBatteryUsageProgressBarPref)
+                .when(mPreferenceScreen)
+                .findPreference(BatteryHeaderPreferenceController.KEY_BATTERY_HEADER);
 
         mBatteryInfo.batteryLevel = BATTERY_LEVEL;
 
         mShadowPowerManager = Shadows.shadowOf(mContext.getSystemService(PowerManager.class));
 
         mController = spy(new BatteryHeaderPreferenceController(mContext, PREF_KEY));
-        mLifecycle.addObserver(mController);
-        mController.setActivity(mActivity);
-        mController.setFragment(mPreferenceFragment);
-        mController.setLifecycle(mLifecycle);
         mController.mBatteryUsageProgressBarPref = mBatteryUsageProgressBarPref;
         mController.mBatteryStatusFeatureProvider = mBatteryStatusFeatureProvider;
     }
@@ -251,8 +228,8 @@
     @Test
     public void updateHeaderByBatteryTips_lowBatteryTip_showLowBattery() {
         setChargingState(/* isDischarging */ true, /* updatedByStatusFeature */ false);
-        BatteryTip lowBatteryTip = new LowBatteryTip(
-                BatteryTip.StateType.NEW, /* powerSaveModeOn */false);
+        BatteryTip lowBatteryTip =
+                new LowBatteryTip(BatteryTip.StateType.NEW, /* powerSaveModeOn */ false);
 
         mController.updateHeaderByBatteryTips(lowBatteryTip, mBatteryInfo);
 
@@ -281,8 +258,8 @@
 
     @Test
     public void updateHeaderByBatteryTips_noBatteryInfo_noAction() {
-        BatteryTip lowBatteryTip = new LowBatteryTip(
-                BatteryTip.StateType.NEW, /* powerSaveModeOn */false);
+        BatteryTip lowBatteryTip =
+                new LowBatteryTip(BatteryTip.StateType.NEW, /* powerSaveModeOn */ false);
 
         mController.updateHeaderByBatteryTips(lowBatteryTip, null);
 
@@ -295,7 +272,8 @@
 
         mController.updateHeaderPreference(mBatteryInfo);
 
-        verify(mBatteryUsageProgressBarPref).setBottomSummary(null);
+        verify(mBatteryUsageProgressBarPref).setBottomSummary(mContext.getString(
+                com.android.settingslib.R.string.battery_info_status_charging_on_hold));
     }
 
     @Test
@@ -304,8 +282,10 @@
 
         mController.updateHeaderPreference(mBatteryInfo);
 
-        verify(mBatteryUsageProgressBarPref).setBottomSummary(
-            mContext.getString(R.string.battery_info_status_not_charging));
+        verify(mBatteryUsageProgressBarPref)
+                .setBottomSummary(
+                        mContext.getString(
+                                com.android.settingslib.R.string.battery_info_status_not_charging));
     }
 
     @Test
@@ -318,8 +298,8 @@
 
     @Test
     public void getAvailabilityStatus_returnAvailableUnsearchable() {
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
     }
 
     @Test
@@ -335,12 +315,13 @@
     public void displayPreference_init_showLoading() {
         mController.displayPreference(mPreferenceScreen);
 
-        verify(mBatteryUsageProgressBarPref).setBottomSummary(
-                mContext.getString(R.string.settings_license_activity_loading));
+        verify(mBatteryUsageProgressBarPref)
+                .setBottomSummary(mContext.getString(R.string.settings_license_activity_loading));
     }
 
     private CharSequence formatBatteryPercentageText() {
-        return TextUtils.expandTemplate(mContext.getText(R.string.battery_header_title_alternate),
+        return TextUtils.expandTemplate(
+                mContext.getText(R.string.battery_header_title_alternate),
                 NumberFormat.getIntegerInstance().format(BATTERY_LEVEL));
     }
 
@@ -349,7 +330,7 @@
         mBatteryInfo.statusLabel = BATTERY_STATUS;
         mBatteryInfo.discharging = isDischarging;
 
-        when(mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(
-                mController, mBatteryInfo)).thenReturn(updatedByStatusFeature);
+        when(mBatteryStatusFeatureProvider.triggerBatteryStatusUpdate(mController, mBatteryInfo))
+                .thenReturn(updatedByStatusFeature);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java
index 0dfabb9..3685a1d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoLoaderTest.java
@@ -46,10 +46,8 @@
 
     private static final long TEST_TIME_REMAINING = 1000L;
 
-    @Mock
-    private BatteryStatsManager mBatteryStatsManager;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryStatsManager mBatteryStatsManager;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
 
     private Context mContext;
 
@@ -57,7 +55,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        FakeFeatureFactory.setupForTest().getPowerUsageFeatureProvider(mContext);
+        FakeFeatureFactory.setupForTest().getPowerUsageFeatureProvider();
 
         doReturn(mContext).when(mContext).getApplicationContext();
         when(mContext.getSystemService(eq(Context.BATTERY_STATS_SERVICE)))
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
index b0d6da6..e99c4e0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryInfoTest.java
@@ -64,7 +64,7 @@
     private static final String STATUS_CHARGING_NO_TIME = "50% - charging";
     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 optimized";
+    private static final String STATUS_CHARGING_FUTURE_BYPASS = "50% - Charging";
     private static final String STATUS_CHARGING_PAUSED = "50% - Charging optimized";
     private static final long REMAINING_TIME_NULL = -1;
     private static final long REMAINING_TIME = 2;
@@ -72,21 +72,20 @@
     private static final String ENHANCED_STRING_SUFFIX = "based on your usage";
     private static final String BATTERY_RUN_OUT_PREFIX = "Battery may run out by";
     private static final long TEST_CHARGE_TIME_REMAINING = TimeUnit.MINUTES.toMicros(1);
-    private static final String TEST_CHARGE_TIME_REMAINING_STRINGIFIED =
-            "1 min left until full";
+    private static final String TEST_CHARGE_TIME_REMAINING_STRINGIFIED = "1 min left until full";
     private static final String TEST_BATTERY_LEVEL_10 = "10%";
     private static final String FIFTEEN_MIN_FORMATTED = "15 min";
-    private static final Estimate MOCK_ESTIMATE = new Estimate(
-            1000, /* estimateMillis */
-            false, /* isBasedOnUsage */
-            1000 /* averageDischargeTime */);
+    private static final Estimate MOCK_ESTIMATE =
+            new Estimate(
+                    1000, /* estimateMillis */
+                    false, /* isBasedOnUsage */
+                    1000 /* averageDischargeTime */);
 
     private Intent mDisChargingBatteryBroadcast;
     private Intent mChargingBatteryBroadcast;
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
 
     @Before
     public void setUp() {
@@ -99,17 +98,22 @@
         mChargingBatteryBroadcast = BatteryTestUtils.getChargingIntent();
 
         doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-        Settings.Global.putInt(mContext.getContentResolver(),
-                BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS,
+                0);
     }
 
     @Test
     public void testGetBatteryInfo_hasStatusLabel() {
         doReturn(REMAINING_TIME_NULL).when(mBatteryUsageStats).getBatteryTimeRemainingMs();
-        BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext,
-                mDisChargingBatteryBroadcast, mBatteryUsageStats,
-                SystemClock.elapsedRealtime() * 1000,
-                true /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfoOld(
+                        mContext,
+                        mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        SystemClock.elapsedRealtime() * 1000,
+                        true /* shortString */);
 
         assertThat(info.statusLabel).isEqualTo(STATUS_NOT_CHARGING);
     }
@@ -117,8 +121,13 @@
     @Test
     public void testGetBatteryInfo_doNotShowChargingMethod_hasRemainingTime() {
         doReturn(REMAINING_TIME).when(mBatteryUsageStats).getChargeTimeRemainingMs();
-        BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext, mChargingBatteryBroadcast,
-                mBatteryUsageStats, SystemClock.elapsedRealtime() * 1000, false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfoOld(
+                        mContext,
+                        mChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.chargeLabel.toString()).isEqualTo(STATUS_CHARGING_TIME);
     }
@@ -126,8 +135,13 @@
     @Test
     public void testGetBatteryInfo_doNotShowChargingMethod_noRemainingTime() {
         doReturn(REMAINING_TIME_NULL).when(mBatteryUsageStats).getChargeTimeRemainingMs();
-        BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext, mChargingBatteryBroadcast,
-                mBatteryUsageStats, SystemClock.elapsedRealtime() * 1000, false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfoOld(
+                        mContext,
+                        mChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.chargeLabel.toString()).ignoringCase().isEqualTo(STATUS_CHARGING_NO_TIME);
     }
@@ -135,9 +149,15 @@
     @Test
     public void testGetBatteryInfo_pluggedInUsingShortString_usesCorrectData() {
         doReturn(TEST_CHARGE_TIME_REMAINING / 1000)
-                .when(mBatteryUsageStats).getChargeTimeRemainingMs();
-        BatteryInfo info = BatteryInfo.getBatteryInfoOld(mContext, mChargingBatteryBroadcast,
-                mBatteryUsageStats, SystemClock.elapsedRealtime() * 1000, true /* shortString */);
+                .when(mBatteryUsageStats)
+                .getChargeTimeRemainingMs();
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfoOld(
+                        mContext,
+                        mChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        SystemClock.elapsedRealtime() * 1000,
+                        true /* shortString */);
 
         assertThat(info.discharging).isEqualTo(false);
         assertThat(info.chargeLabel.toString()).isEqualTo("50% - 1 min left until full");
@@ -145,15 +165,27 @@
 
     @Test
     public void testGetBatteryInfo_basedOnUsageTrueMoreThanFifteenMinutes_usesCorrectString() {
-        Estimate estimate = new Estimate(Duration.ofHours(4).toMillis(),
-                true /* isBasedOnUsage */,
-                1000 /* averageDischargeTime */);
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
-                mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
-        BatteryInfo info2 = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
-                mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
-                true /* shortString */);
+        Estimate estimate =
+                new Estimate(
+                        Duration.ofHours(4).toMillis(),
+                        true /* isBasedOnUsage */,
+                        1000 /* averageDischargeTime */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        estimate,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
+        BatteryInfo info2 =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        estimate,
+                        SystemClock.elapsedRealtime() * 1000,
+                        true /* shortString */);
 
         // Both long and short strings should not have extra text
         assertThat(info.remainingLabel.toString()).doesNotContain(ENHANCED_STRING_SUFFIX);
@@ -165,24 +197,41 @@
     @Test
     @Ignore
     public void getBatteryInfo_MoreThanOneDay_suggestionLabelIsCorrectString() {
-        Estimate estimate = new Estimate(Duration.ofDays(3).toMillis(),
-                true /* isBasedOnUsage */,
-                1000 /* averageDischargeTime */);
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
-                mBatteryUsageStats, estimate, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        Estimate estimate =
+                new Estimate(
+                        Duration.ofDays(3).toMillis(),
+                        true /* isBasedOnUsage */,
+                        1000 /* averageDischargeTime */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        estimate,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.suggestionLabel).doesNotContain(BATTERY_RUN_OUT_PREFIX);
     }
 
     @Test
     public void testGetBatteryInfo_basedOnUsageFalse_usesDefaultString() {
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
-        BatteryInfo info2 = BatteryInfo.getBatteryInfo(mContext, mDisChargingBatteryBroadcast,
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                true /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
+        BatteryInfo info2 =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        true /* shortString */);
 
         assertThat(info.remainingLabel.toString()).doesNotContain(ENHANCED_STRING_SUFFIX);
         assertThat(info2.remainingLabel.toString()).doesNotContain(ENHANCED_STRING_SUFFIX);
@@ -191,11 +240,17 @@
     @Test
     public void testGetBatteryInfo_charging_usesChargeTime() {
         doReturn(TEST_CHARGE_TIME_REMAINING / 1000)
-                .when(mBatteryUsageStats).getChargeTimeRemainingMs();
+                .when(mBatteryUsageStats)
+                .getChargeTimeRemainingMs();
 
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.remainingTimeUs).isEqualTo(TEST_CHARGE_TIME_REMAINING);
         assertThat(info.remainingLabel.toString())
@@ -206,44 +261,95 @@
     public void testGetBatteryInfo_pluggedInWithFullBattery_onlyShowBatteryLevel() {
         mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_LEVEL, 100);
 
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.chargeLabel).isEqualTo("100%");
     }
 
     @Test
     public void testGetBatteryInfo_chargingWithDefender_updateChargeLabel() {
-        doReturn(TEST_CHARGE_TIME_REMAINING)
-                .when(mBatteryUsageStats)
-                .getChargeTimeRemainingMs();
-        mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
+        doReturn(TEST_CHARGE_TIME_REMAINING).when(mBatteryUsageStats).getChargeTimeRemainingMs();
+        mChargingBatteryBroadcast.putExtra(
+                BatteryManager.EXTRA_CHARGING_STATUS,
                 BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
 
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, mChargingBatteryBroadcast,
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        mChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.isBatteryDefender).isTrue();
         assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_PAUSED);
     }
 
     @Test
+    public void testGetBatteryInfo_getChargeTimeRemaining_updateSettingsGlobal() {
+        doReturn(TEST_CHARGE_TIME_REMAINING).when(mBatteryUsageStats).getChargeTimeRemainingMs();
+
+        BatteryInfo.getBatteryInfo(
+                mContext,
+                mChargingBatteryBroadcast,
+                mBatteryUsageStats,
+                MOCK_ESTIMATE,
+                SystemClock.elapsedRealtime() * 1000,
+                false /* shortString */);
+
+        assertThat(BatteryInfo.getSettingsChargeTimeRemaining(mContext))
+                .isEqualTo(TEST_CHARGE_TIME_REMAINING);
+    }
+
+    @Test
+    public void testGetBatteryInfo_differentChargeTimeRemaining_updateSettingsGlobal() {
+        doReturn(TEST_CHARGE_TIME_REMAINING).when(mBatteryUsageStats).getChargeTimeRemainingMs();
+        final long newTimeToFull = 300L;
+        doReturn(newTimeToFull).when(mBatteryUsageStats).getChargeTimeRemainingMs();
+
+        BatteryInfo.getBatteryInfo(
+                mContext,
+                mChargingBatteryBroadcast,
+                mBatteryUsageStats,
+                MOCK_ESTIMATE,
+                SystemClock.elapsedRealtime() * 1000,
+                false /* shortString */);
+
+        assertThat(BatteryInfo.getSettingsChargeTimeRemaining(mContext)).isEqualTo(newTimeToFull);
+    }
+
+    @Test
     public void testGetBatteryInfo_dockDefenderActive_updateChargeString() {
         doReturn(TEST_CHARGE_TIME_REMAINING / 1000)
-                .when(mBatteryUsageStats).getChargeTimeRemainingMs();
+                .when(mBatteryUsageStats)
+                .getChargeTimeRemainingMs();
         doReturn(true).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-        Intent intent = BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
-                        50 /* level */,
-                        100 /* scale */,
-                        BatteryManager.BATTERY_STATUS_CHARGING)
-                .putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
-                        BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
+        Intent intent =
+                BatteryTestUtils.getCustomBatteryIntent(
+                                BatteryManager.BATTERY_PLUGGED_DOCK,
+                                50 /* level */,
+                                100 /* scale */,
+                                BatteryManager.BATTERY_STATUS_CHARGING)
+                        .putExtra(
+                                BatteryManager.EXTRA_CHARGING_STATUS,
+                                BatteryManager.CHARGING_POLICY_ADAPTIVE_LONGLIFE);
 
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext, intent,
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        intent,
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_PAUSED);
     }
@@ -251,18 +357,25 @@
     @Test
     public void testGetBatteryInfo_dockDefenderTemporarilyBypassed_updateChargeLabel() {
         doReturn(REMAINING_TIME).when(mBatteryUsageStats).getChargeTimeRemainingMs();
-        mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
-                BatteryManager.CHARGING_POLICY_DEFAULT);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 1);
+        mChargingBatteryBroadcast.putExtra(
+                BatteryManager.EXTRA_CHARGING_STATUS, BatteryManager.CHARGING_POLICY_DEFAULT);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS,
+                1);
 
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
-                BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
-                        50 /* level */,
-                        100 /* scale */,
-                        BatteryManager.BATTERY_STATUS_CHARGING),
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        BatteryTestUtils.getCustomBatteryIntent(
+                                BatteryManager.BATTERY_PLUGGED_DOCK,
+                                50 /* level */,
+                                100 /* scale */,
+                                BatteryManager.BATTERY_STATUS_CHARGING),
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_TIME);
     }
@@ -270,16 +383,21 @@
     @Test
     public void testGetBatteryInfo_dockDefenderFutureBypass_updateChargeLabel() {
         doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-        mChargingBatteryBroadcast.putExtra(BatteryManager.EXTRA_CHARGING_STATUS,
-                BatteryManager.CHARGING_POLICY_DEFAULT);
+        mChargingBatteryBroadcast.putExtra(
+                BatteryManager.EXTRA_CHARGING_STATUS, BatteryManager.CHARGING_POLICY_DEFAULT);
 
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
-                BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
-                        50 /* level */,
-                        100 /* scale */,
-                        BatteryManager.BATTERY_STATUS_CHARGING),
-                mBatteryUsageStats, MOCK_ESTIMATE, SystemClock.elapsedRealtime() * 1000,
-                false /* shortString */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        BatteryTestUtils.getCustomBatteryIntent(
+                                BatteryManager.BATTERY_PLUGGED_DOCK,
+                                50 /* level */,
+                                100 /* scale */,
+                                BatteryManager.BATTERY_STATUS_CHARGING),
+                        mBatteryUsageStats,
+                        MOCK_ESTIMATE,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false /* shortString */);
 
         assertThat(info.chargeLabel.toString()).contains(STATUS_CHARGING_FUTURE_BYPASS);
     }
@@ -287,15 +405,20 @@
     // Make our battery stats return a sequence of battery events.
     private void mockBatteryStatsHistory() {
         // Mock out new data every time iterateBatteryStatsHistory is called.
-        doAnswer(invocation -> {
-            BatteryStatsHistoryIterator iterator = mock(BatteryStatsHistoryIterator.class);
-            when(iterator.next()).thenReturn(
-                    makeHistoryIterm(1000, 99),
-                    makeHistoryIterm(1500, 98),
-                    makeHistoryIterm(2000, 97),
-                    null);
-            return iterator;
-        }).when(mBatteryUsageStats).iterateBatteryStatsHistory();
+        doAnswer(
+                        invocation -> {
+                            BatteryStatsHistoryIterator iterator =
+                                    mock(BatteryStatsHistoryIterator.class);
+                            when(iterator.next())
+                                    .thenReturn(
+                                            makeHistoryIterm(1000, 99),
+                                            makeHistoryIterm(1500, 98),
+                                            makeHistoryIterm(2000, 97),
+                                            null);
+                            return iterator;
+                        })
+                .when(mBatteryUsageStats)
+                .iterateBatteryStatsHistory();
     }
 
     private BatteryStats.HistoryItem makeHistoryIterm(long time, int batteryLevel) {
@@ -342,7 +465,8 @@
         pointsExpected.append(2000, 96);
         pointsExpected.append(2500, 95);
         pointsExpected.append(3000, 94);
-        doReturn(pointsExpected).when(mFeatureFactory.powerUsageFeatureProvider)
+        doReturn(pointsExpected)
+                .when(mFeatureFactory.powerUsageFeatureProvider)
                 .getEnhancedBatteryPredictionCurve(any(Context.class), anyLong());
 
         info.bindHistory(view);
@@ -359,14 +483,21 @@
         } else {
             doReturn(0L).when(mBatteryUsageStats).getChargeTimeRemainingMs();
         }
-        Estimate batteryEstimate = new Estimate(
-                estimate ? 1000 : 0,
-                false /* isBasedOnUsage */,
-                1000 /* averageDischargeTime */);
-        BatteryInfo info = BatteryInfo.getBatteryInfo(mContext,
-                charging ? mChargingBatteryBroadcast : mDisChargingBatteryBroadcast,
-                mBatteryUsageStats, batteryEstimate, SystemClock.elapsedRealtime() * 1000, false);
-        doReturn(enhanced).when(mFeatureFactory.powerUsageFeatureProvider)
+        Estimate batteryEstimate =
+                new Estimate(
+                        estimate ? 1000 : 0,
+                        false /* isBasedOnUsage */,
+                        1000 /* averageDischargeTime */);
+        BatteryInfo info =
+                BatteryInfo.getBatteryInfo(
+                        mContext,
+                        charging ? mChargingBatteryBroadcast : mDisChargingBatteryBroadcast,
+                        mBatteryUsageStats,
+                        batteryEstimate,
+                        SystemClock.elapsedRealtime() * 1000,
+                        false);
+        doReturn(enhanced)
+                .when(mFeatureFactory.powerUsageFeatureProvider)
                 .isEnhancedBatteryPredictionEnabled(mContext);
         return info;
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
index 0aa702a..ec3cfcf 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryMeterViewTest.java
@@ -39,12 +39,9 @@
     private static final int BATTERY_CRITICAL_LEVEL = 15;
     private static final int BATTERY_LOW_LEVEL = 3;
 
-    @Mock
-    private ColorFilter mErrorColorFilter;
-    @Mock
-    private ColorFilter mAccentColorFilter;
-    @Mock
-    private ColorFilter mForegroundColorFilter;
+    @Mock private ColorFilter mErrorColorFilter;
+    @Mock private ColorFilter mAccentColorFilter;
+    @Mock private ColorFilter mForegroundColorFilter;
     private Context mContext;
     private BatteryMeterView mBatteryMeterView;
     private BatteryMeterView.BatteryMeterDrawable mDrawable;
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
index 87de62f..5f591eb 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeLogUtilsTest.java
@@ -57,8 +57,7 @@
         BatteryOptimizeLogUtils.writeLog(mContext, Action.APPLY, "pkg1", "logs");
         BatteryOptimizeLogUtils.printBatteryOptimizeHistoricalLog(mContext, mTestPrintWriter);
 
-        assertThat(mTestStringWriter.toString()).contains(
-                "pkg1\taction:APPLY\tevent:logs");
+        assertThat(mTestStringWriter.toString()).contains("pkg1\taction:APPLY\tevent:logs");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
index f9d3108..3551eeb 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryOptimizeUtilsTest.java
@@ -98,8 +98,7 @@
         when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
                 .thenReturn(AppOpsManager.MODE_IGNORED);
 
-        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .isEqualTo(MODE_RESTRICTED);
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_RESTRICTED);
     }
 
     @Test
@@ -108,8 +107,7 @@
         when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
                 .thenReturn(AppOpsManager.MODE_ALLOWED);
 
-        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .isEqualTo(MODE_UNRESTRICTED);
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_UNRESTRICTED);
     }
 
     @Test
@@ -118,8 +116,7 @@
         when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
                 .thenReturn(AppOpsManager.MODE_ALLOWED);
 
-        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode())
-                .isEqualTo(MODE_OPTIMIZED);
+        assertThat(mBatteryOptimizeUtils.getAppOptimizationMode()).isEqualTo(MODE_OPTIMIZED);
     }
 
     @Test
@@ -168,7 +165,6 @@
         when(mMockAppOpsManager.checkOpNoThrow(anyInt(), anyInt(), anyString()))
                 .thenReturn(AppOpsManager.MODE_IGNORED);
 
-
         mBatteryOptimizeUtils.setAppUsageState(MODE_UNRESTRICTED, Action.UNKNOWN);
         TimeUnit.SECONDS.sleep(1);
 
@@ -205,18 +201,19 @@
 
     @Test
     public void testGetInstalledApplications_returnEmptyArray() {
-        assertTrue(BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager)
-                .isEmpty());
+        assertTrue(
+                BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager)
+                        .isEmpty());
     }
 
     @Test
     public void testGetInstalledApplications_returnNull() throws Exception {
         final UserInfo userInfo =
-                new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+                new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
         doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
         doThrow(new RuntimeException())
-            .when(mMockIPackageManager)
-            .getInstalledApplications(anyLong(), anyInt());
+                .when(mMockIPackageManager)
+                .getInstalledApplications(anyLong(), anyInt());
 
         assertNull(BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager));
     }
@@ -224,7 +221,7 @@
     @Test
     public void testGetInstalledApplications_returnInstalledApps() throws Exception {
         final UserInfo userInfo =
-                new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+                new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
         doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
 
         final ApplicationInfo applicationInfo1 = new ApplicationInfo();
@@ -242,10 +239,15 @@
         applicationInfo4.enabled = true;
         applicationInfo4.uid = 4;
         applicationInfo4.enabledSetting = PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER;
-        doReturn(new ParceledListSlice<ApplicationInfo>(
-            Arrays.asList(applicationInfo1, applicationInfo2, applicationInfo3, applicationInfo4)))
-            .when(mMockIPackageManager)
-            .getInstalledApplications(anyLong(), anyInt());
+        doReturn(
+                        new ParceledListSlice<ApplicationInfo>(
+                                Arrays.asList(
+                                        applicationInfo1,
+                                        applicationInfo2,
+                                        applicationInfo3,
+                                        applicationInfo4)))
+                .when(mMockIPackageManager)
+                .getInstalledApplications(anyLong(), anyInt());
 
         final ArraySet<ApplicationInfo> applications =
                 BatteryOptimizeUtils.getInstalledApplications(mContext, mMockIPackageManager);
@@ -260,7 +262,8 @@
     @Test
     public void testResetAppOptimizationMode_Optimized_verifyAction() throws Exception {
         runTestForResetWithMode(
-                AppOpsManager.MODE_ALLOWED, /* allowListed */ false,
+                AppOpsManager.MODE_ALLOWED, /* allowListed */
+                false,
                 /* isSystemOrDefaultApp */ false);
 
         verifyNoInteractions(mMockBatteryUtils);
@@ -274,7 +277,8 @@
     @Test
     public void testResetAppOptimizationMode_SystemOrDefault_verifyAction() throws Exception {
         runTestForResetWithMode(
-                AppOpsManager.MODE_ALLOWED, /* allowListed */ true,
+                AppOpsManager.MODE_ALLOWED, /* allowListed */
+                true,
                 /* isSystemOrDefaultApp */ true);
 
         verifyNoInteractions(mMockBatteryUtils);
@@ -289,7 +293,8 @@
     @Test
     public void testResetAppOptimizationMode_Restricted_verifyAction() throws Exception {
         runTestForResetWithMode(
-                AppOpsManager.MODE_IGNORED, /* allowListed */ false,
+                AppOpsManager.MODE_IGNORED, /* allowListed */
+                false,
                 /* isSystemOrDefaultApp */ false);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
@@ -298,7 +303,8 @@
     @Test
     public void testResetAppOptimizationMode_Unrestricted_verifyAction() throws Exception {
         runTestForResetWithMode(
-                AppOpsManager.MODE_ALLOWED, /* allowListed */ true,
+                AppOpsManager.MODE_ALLOWED, /* allowListed */
+                true,
                 /* isSystemOrDefaultApp */ false);
 
         verifySetAppOptimizationMode(AppOpsManager.MODE_ALLOWED, /* allowListed */ false);
@@ -308,32 +314,28 @@
             int appStandbyMode, boolean allowListed, boolean isSystemOrDefaultApp)
             throws Exception {
         final UserInfo userInfo =
-                new UserInfo(/*userId=*/ 0, /*userName=*/ "google", /*flag=*/ 0);
+                new UserInfo(/* userId= */ 0, /* userName= */ "google", /* flag= */ 0);
         doReturn(Arrays.asList(userInfo)).when(mMockUserManager).getProfiles(anyInt());
         final ApplicationInfo applicationInfo = new ApplicationInfo();
         applicationInfo.uid = UID;
         applicationInfo.packageName = PACKAGE_NAME;
         applicationInfo.enabled = true;
-        doReturn(new ParceledListSlice<ApplicationInfo>(
-                Arrays.asList(applicationInfo)))
+        doReturn(new ParceledListSlice<ApplicationInfo>(Arrays.asList(applicationInfo)))
                 .when(mMockIPackageManager)
                 .getInstalledApplications(anyLong(), anyInt());
 
         doReturn(appStandbyMode)
                 .when(mMockAppOpsManager)
                 .checkOpNoThrow(anyInt(), anyInt(), anyString());
-        doReturn(allowListed)
-                .when(mMockBackend)
-                .isAllowlisted(anyString(), anyInt());
-        doReturn(isSystemOrDefaultApp)
-                .when(mMockBackend)
-                .isSysAllowlisted(anyString());
-        doReturn(isSystemOrDefaultApp)
-                .when(mMockBackend)
-                .isDefaultActiveApp(anyString(), anyInt());
+        doReturn(allowListed).when(mMockBackend).isAllowlisted(anyString(), anyInt());
+        doReturn(isSystemOrDefaultApp).when(mMockBackend).isSysAllowlisted(anyString());
+        doReturn(isSystemOrDefaultApp).when(mMockBackend).isDefaultActiveApp(anyString(), anyInt());
 
         BatteryOptimizeUtils.resetAppOptimizationMode(
-                mContext, mMockIPackageManager, mMockAppOpsManager, mMockBackend,
+                mContext,
+                mMockIPackageManager,
+                mMockAppOpsManager,
+                mMockBackend,
                 mMockBatteryUtils);
         TimeUnit.SECONDS.sleep(1);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
index ddb9860..8d9a1c0 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverControllerTest.java
@@ -21,11 +21,9 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.PowerManager;
 import android.provider.Settings;
-import android.util.Pair;
 
 import androidx.preference.Preference;
 
@@ -41,10 +39,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BatterySaverControllerTest {
 
-    @Mock
-    private Preference mBatterySaverPref;
-    @Mock
-    private PowerManager mPowerManager;
+    @Mock private Preference mBatterySaverPref;
+    @Mock private PowerManager mPowerManager;
 
     private BatterySaverController mBatterySaverController;
     private Context mContext;
@@ -58,8 +54,8 @@
         ReflectionHelpers.setField(mBatterySaverController, "mPowerManager", mPowerManager);
         ReflectionHelpers.setField(mBatterySaverController, "mBatterySaverPref", mBatterySaverPref);
 
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+        Settings.Global.putInt(
+                mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
     }
 
     @Test
@@ -84,8 +80,8 @@
     @Test
     public void getSummary_batterySaverOffButScheduled_showSummaryScheduled() {
         when(mPowerManager.isPowerSaveMode()).thenReturn(false);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 15);
+        Settings.Global.putInt(
+                mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 15);
 
         assertThat(mBatterySaverController.getSummary()).isEqualTo("Will turn on at 15%");
     }
@@ -93,8 +89,8 @@
     @Test
     public void getSummary_batterySaverOffButScheduledZeroPercent_showSummaryOff() {
         when(mPowerManager.isPowerSaveMode()).thenReturn(false);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+        Settings.Global.putInt(
+                mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
 
         assertThat(mBatterySaverController.getSummary()).isEqualTo("Off");
     }
@@ -107,8 +103,8 @@
                 Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
                 PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
 
-        assertThat(mBatterySaverController.getSummary()).
-                isEqualTo("Will turn on based on your routine");
+        assertThat(mBatterySaverController.getSummary())
+                .isEqualTo("Will turn on based on your routine");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
index e411531..e3e00ec1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySaverReceiverTest.java
@@ -32,10 +32,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BatterySaverReceiverTest {
 
-    @Mock
-    private BatterySaverReceiver.BatterySaverListener mBatterySaverListener;
-    @Mock
-    private Context mContext;
+    @Mock private BatterySaverReceiver.BatterySaverListener mBatterySaverListener;
+    @Mock private Context mContext;
     private BatterySaverReceiver mBatterySaverReceiver;
 
     @Before
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
index 66050a0..14ba337 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsFeatureProviderImplTest.java
@@ -22,11 +22,17 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
+import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
+import com.android.settings.fuelgauge.batterytip.tips.LowBatteryTip;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 
+import java.util.ArrayList;
+
 @RunWith(RobolectricTestRunner.class)
 public class BatterySettingsFeatureProviderImplTest {
     private BatterySettingsFeatureProviderImpl mImpl;
@@ -47,4 +53,20 @@
     public void isFirstUseDateAvailable_returnFalse() {
         assertThat(mImpl.isFirstUseDateAvailable(mContext, 1000L)).isFalse();
     }
+
+    @Test
+    public void isBatteryInfoEnabled_returnFalse() {
+        assertThat(mImpl.isBatteryInfoEnabled(mContext)).isFalse();
+    }
+
+    @Test
+    public void addBatteryTipDetector_containsLowBatteryTip() {
+        var tips = new ArrayList<BatteryTip>();
+
+        mImpl.addBatteryTipDetector(
+                mContext, tips, new BatteryInfo(), new BatteryTipPolicy(mContext));
+
+        var expectedResult = tips.stream().anyMatch(tip -> tip instanceof LowBatteryTip);
+        assertThat(expectedResult).isTrue();
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
index c34dcec..0738ebf 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatterySettingsMigrateCheckerTest.java
@@ -31,10 +31,8 @@
 import android.content.Intent;
 import android.content.pm.PackageManager;
 import android.os.UserHandle;
-import android.os.UserManager;
 
 import com.android.settings.TestUtils;
-import com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry;
 import com.android.settings.fuelgauge.batterysaver.BatterySaverScheduleRadioButtonsController;
 
 import org.junit.After;
@@ -58,26 +56,25 @@
 @Config(shadows = {BatterySettingsMigrateCheckerTest.ShadowUserHandle.class})
 public final class BatterySettingsMigrateCheckerTest {
 
-    private static final Intent BOOT_COMPLETED_INTENT =
-            new Intent(Intent.ACTION_BOOT_COMPLETED);
+    private static final Intent BOOT_COMPLETED_INTENT = new Intent(Intent.ACTION_BOOT_COMPLETED);
     private static final int UID = 2003;
     private static final String PACKAGE_NAME = "com.android.test.app";
 
     private Context mContext;
     private BatterySettingsMigrateChecker mBatterySettingsMigrateChecker;
 
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @Mock private PackageManager mPackageManager;
+    @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
     @Before
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
+        BatteryUtils.getInstance(mContext).reset();
         doReturn(mContext).when(mContext).getApplicationContext();
         doReturn(mPackageManager).when(mContext).getPackageManager();
-        doReturn(UID).when(mPackageManager)
+        doReturn(UID)
+                .when(mPackageManager)
                 .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
         BatterySettingsMigrateChecker.sBatteryOptimizeUtils = mBatteryOptimizeUtils;
         mBatterySettingsMigrateChecker = new BatterySettingsMigrateChecker();
@@ -101,7 +98,7 @@
 
     @Test
     public void onReceive_validScheduledLevel_notResetScheduledValue() {
-        final int validScheduledLevel = 12;
+        final int validScheduledLevel = BatterySaverScheduleRadioButtonsController.TRIGGER_LEVEL_MIN;
         setScheduledLevel(validScheduledLevel);
 
         mBatterySettingsMigrateChecker.onReceive(mContext, BOOT_COMPLETED_INTENT);
@@ -151,38 +148,42 @@
     }
 
     @Test
-    public void verifyOptimizationModes_inAllowList_resetOptimizationMode() throws Exception {
-        doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
+    public void verifyBatteryOptimizeModeApps_inAllowList_resetOptimizationMode() throws Exception {
+        doReturn(BatteryOptimizeUtils.MODE_RESTRICTED)
+                .when(mBatteryOptimizeUtils)
                 .getAppOptimizationMode();
 
-        mBatterySettingsMigrateChecker.verifyOptimizationModes(
-                mContext, Arrays.asList(PACKAGE_NAME));
+        mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
+                mContext, BatteryOptimizeUtils.MODE_OPTIMIZED, Arrays.asList(PACKAGE_NAME));
 
         final InOrder inOrder = inOrder(mBatteryOptimizeUtils);
         inOrder.verify(mBatteryOptimizeUtils).getAppOptimizationMode();
-        inOrder.verify(mBatteryOptimizeUtils).setAppUsageState(
-                BatteryOptimizeUtils.MODE_OPTIMIZED,
-                BatteryOptimizeHistoricalLogEntry.Action.FORCE_RESET);
+        inOrder.verify(mBatteryOptimizeUtils)
+                .setAppUsageState(
+                        BatteryOptimizeUtils.MODE_OPTIMIZED,
+                        BatteryOptimizeHistoricalLogEntry.Action.FORCE_RESET);
     }
 
     @Test
-    public void verifyOptimizationModes_optimizedMode_noAction() throws Exception {
-        doReturn(BatteryOptimizeUtils.MODE_OPTIMIZED).when(mBatteryOptimizeUtils)
+    public void verifyBatteryOptimizeModeApps_optimizedMode_noAction() throws Exception {
+        doReturn(BatteryOptimizeUtils.MODE_OPTIMIZED)
+                .when(mBatteryOptimizeUtils)
                 .getAppOptimizationMode();
 
-        mBatterySettingsMigrateChecker.verifyOptimizationModes(
-                mContext, Arrays.asList(PACKAGE_NAME));
+        mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
+                mContext, BatteryOptimizeUtils.MODE_OPTIMIZED, Arrays.asList(PACKAGE_NAME));
 
         verify(mBatteryOptimizeUtils, never()).setAppUsageState(anyInt(), any());
     }
 
     @Test
-    public void verifyOptimizationModes_notInAllowList_noAction() throws Exception {
-        doReturn(BatteryOptimizeUtils.MODE_RESTRICTED).when(mBatteryOptimizeUtils)
+    public void verifyBatteryOptimizeModeApps_notInAllowList_noAction() throws Exception {
+        doReturn(BatteryOptimizeUtils.MODE_RESTRICTED)
+                .when(mBatteryOptimizeUtils)
                 .getAppOptimizationMode();
 
-        mBatterySettingsMigrateChecker.verifyOptimizationModes(
-                mContext, new ArrayList<String>());
+        mBatterySettingsMigrateChecker.verifyBatteryOptimizeModeApps(
+                mContext, BatteryOptimizeUtils.MODE_OPTIMIZED, new ArrayList<String>());
 
         verifyNoInteractions(mBatteryOptimizeUtils);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
index 2fe0cec..1a2b246 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/BatteryUtilsTest.java
@@ -40,20 +40,16 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.pm.ActivityInfo;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.os.BatteryConsumer;
 import android.os.BatteryStats;
 import android.os.BatteryStatsManager;
 import android.os.BatteryUsageStats;
 import android.os.Build;
-import android.os.Process;
 import android.os.SystemClock;
 
 import com.android.settings.fuelgauge.batterytip.AnomalyDatabaseHelper;
-import com.android.settings.fuelgauge.batterytip.AnomalyInfo;
 import com.android.settings.fuelgauge.batterytip.BatteryDatabaseManager;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowThreadUtils;
@@ -70,9 +66,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
-import java.util.ArrayList;
-import java.util.List;
-
 @RunWith(RobolectricTestRunner.class)
 public class BatteryUtilsTest {
 
@@ -106,33 +99,22 @@
     private static final String INFO_EXCESSIVE = "anomaly_type=4,auto_restriction=false";
     private static final String INFO_WAKELOCK = "anomaly_type=1,auto_restriction=false";
 
-    @Mock
-    private BatteryStats.Uid mUid;
-    @Mock
-    private BatteryStats.Timer mTimer;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
-    @Mock
-    private BatteryConsumer mAggregateBatteryConsumer;
-    @Mock
-    private BatteryInfo mBatteryInfo;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private AppOpsManager mAppOpsManager;
-    @Mock
-    private ApplicationInfo mApplicationInfo;
+    @Mock private BatteryStats.Uid mUid;
+    @Mock private BatteryStats.Timer mTimer;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryConsumer mAggregateBatteryConsumer;
+    @Mock private BatteryInfo mBatteryInfo;
+    @Mock private PackageManager mPackageManager;
+    @Mock private AppOpsManager mAppOpsManager;
+    @Mock private ApplicationInfo mApplicationInfo;
+
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private BatteryStatsManager mBatteryStatsManager;
-    @Mock
-    private ApplicationInfo mHighApplicationInfo;
-    @Mock
-    private ApplicationInfo mLowApplicationInfo;
-    @Mock
-    private PowerAllowlistBackend mPowerAllowlistBackend;
-    @Mock
-    private BatteryDatabaseManager mBatteryDatabaseManager;
-    private AnomalyInfo mAnomalyInfo;
+
+    @Mock private ApplicationInfo mHighApplicationInfo;
+    @Mock private ApplicationInfo mLowApplicationInfo;
+    @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+    @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
     private BatteryUtils mBatteryUtils;
     private FakeFeatureFactory mFeatureFactory;
     private PowerUsageFeatureProvider mProvider;
@@ -145,16 +127,21 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mProvider = mFeatureFactory.powerUsageFeatureProvider;
 
-        doReturn(TIME_STATE_TOP).when(mUid).getProcessStateTime(eq(PROCESS_STATE_TOP), anyLong(),
-                anyInt());
-        doReturn(TIME_STATE_FOREGROUND_SERVICE).when(mUid).getProcessStateTime(
-                eq(PROCESS_STATE_FOREGROUND_SERVICE), anyLong(), anyInt());
-        doReturn(TIME_STATE_TOP_SLEEPING).when(mUid).getProcessStateTime(
-                eq(PROCESS_STATE_TOP_SLEEPING), anyLong(), anyInt());
-        doReturn(TIME_STATE_FOREGROUND).when(mUid).getProcessStateTime(eq(PROCESS_STATE_FOREGROUND),
-                anyLong(), anyInt());
-        doReturn(TIME_STATE_BACKGROUND).when(mUid).getProcessStateTime(eq(PROCESS_STATE_BACKGROUND),
-                anyLong(), anyInt());
+        doReturn(TIME_STATE_TOP)
+                .when(mUid)
+                .getProcessStateTime(eq(PROCESS_STATE_TOP), anyLong(), anyInt());
+        doReturn(TIME_STATE_FOREGROUND_SERVICE)
+                .when(mUid)
+                .getProcessStateTime(eq(PROCESS_STATE_FOREGROUND_SERVICE), anyLong(), anyInt());
+        doReturn(TIME_STATE_TOP_SLEEPING)
+                .when(mUid)
+                .getProcessStateTime(eq(PROCESS_STATE_TOP_SLEEPING), anyLong(), anyInt());
+        doReturn(TIME_STATE_FOREGROUND)
+                .when(mUid)
+                .getProcessStateTime(eq(PROCESS_STATE_FOREGROUND), anyLong(), anyInt());
+        doReturn(TIME_STATE_BACKGROUND)
+                .when(mUid)
+                .getProcessStateTime(eq(PROCESS_STATE_BACKGROUND), anyLong(), anyInt());
 
         when(mPackageManager.getApplicationInfo(eq(HIGH_SDK_PACKAGE), anyInt()))
                 .thenReturn(mHighApplicationInfo);
@@ -166,13 +153,14 @@
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mPackageManager).when(mContext).getPackageManager();
         doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
-        doReturn(mBatteryStatsManager).when(mContext)
+        doReturn(mBatteryStatsManager)
+                .when(mContext)
                 .getSystemService(Context.BATTERY_STATS_SERVICE);
         mBatteryUtils = spy(new BatteryUtils(mContext));
         mBatteryUtils.mPowerUsageFeatureProvider = mProvider;
-        doReturn(0L).when(mBatteryUtils)
-            .getForegroundServiceTotalTimeUs(any(BatteryStats.Uid.class), anyLong());
-        mAnomalyInfo = new AnomalyInfo(INFO_WAKELOCK);
+        doReturn(0L)
+                .when(mBatteryUtils)
+                .getForegroundServiceTotalTimeUs(any(BatteryStats.Uid.class), anyLong());
 
         BatteryDatabaseManager.setUpForTest(mBatteryDatabaseManager);
         ShadowThreadUtils.setIsMainThread(true);
@@ -180,54 +168,62 @@
 
     @Test
     public void testGetProcessTimeMs_typeForeground_timeCorrect() {
-        doReturn(TIME_STATE_FOREGROUND + 500).when(mBatteryUtils)
-            .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
+        doReturn(TIME_STATE_FOREGROUND + 500)
+                .when(mBatteryUtils)
+                .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
 
-        final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.FOREGROUND, mUid,
-                BatteryStats.STATS_SINCE_CHARGED);
+        final long time =
+                mBatteryUtils.getProcessTimeMs(
+                        BatteryUtils.StatusType.FOREGROUND, mUid, BatteryStats.STATS_SINCE_CHARGED);
 
         assertThat(time).isEqualTo(TIME_EXPECTED_FOREGROUND);
     }
 
     @Test
     public void testGetProcessTimeMs_typeBackground_timeCorrect() {
-        final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.BACKGROUND, mUid,
-                BatteryStats.STATS_SINCE_CHARGED);
+        final long time =
+                mBatteryUtils.getProcessTimeMs(
+                        BatteryUtils.StatusType.BACKGROUND, mUid, BatteryStats.STATS_SINCE_CHARGED);
 
         assertThat(time).isEqualTo(TIME_EXPECTED_BACKGROUND);
     }
 
     @Test
     public void testGetProcessTimeMs_typeAll_timeCorrect() {
-        doReturn(TIME_STATE_FOREGROUND + 500).when(mBatteryUtils)
-            .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
+        doReturn(TIME_STATE_FOREGROUND + 500)
+                .when(mBatteryUtils)
+                .getForegroundActivityTotalTimeUs(eq(mUid), anyLong());
 
-        final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.ALL, mUid,
-                BatteryStats.STATS_SINCE_CHARGED);
+        final long time =
+                mBatteryUtils.getProcessTimeMs(
+                        BatteryUtils.StatusType.ALL, mUid, BatteryStats.STATS_SINCE_CHARGED);
 
         assertThat(time).isEqualTo(TIME_EXPECTED_ALL);
     }
 
     @Test
     public void testGetProcessTimeMs_uidNull_returnZero() {
-        final long time = mBatteryUtils.getProcessTimeMs(BatteryUtils.StatusType.ALL, null,
-                BatteryStats.STATS_SINCE_CHARGED);
+        final long time =
+                mBatteryUtils.getProcessTimeMs(
+                        BatteryUtils.StatusType.ALL, null, BatteryStats.STATS_SINCE_CHARGED);
 
         assertThat(time).isEqualTo(0);
     }
 
     @Test
     public void testCalculateBatteryPercent() {
-        assertThat(mBatteryUtils.calculateBatteryPercent(BATTERY_SYSTEM_USAGE, TOTAL_BATTERY_USAGE,
-                DISCHARGE_AMOUNT))
-                .isWithin(PRECISION).of(PERCENT_SYSTEM_USAGE);
+        assertThat(
+                        mBatteryUtils.calculateBatteryPercent(
+                                BATTERY_SYSTEM_USAGE, TOTAL_BATTERY_USAGE, DISCHARGE_AMOUNT))
+                .isWithin(PRECISION)
+                .of(PERCENT_SYSTEM_USAGE);
     }
 
     @Test
     public void testCalculateLastFullChargeTime() {
         final long currentTimeMs = System.currentTimeMillis();
-        when(mBatteryUsageStats.getStatsStartTimestamp()).thenReturn(
-                currentTimeMs - TIME_SINCE_LAST_FULL_CHARGE_MS);
+        when(mBatteryUsageStats.getStatsStartTimestamp())
+                .thenReturn(currentTimeMs - TIME_SINCE_LAST_FULL_CHARGE_MS);
 
         assertThat(mBatteryUtils.calculateLastFullChargeTime(mBatteryUsageStats, currentTimeMs))
                 .isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_MS);
@@ -237,49 +233,54 @@
     public void testGetForegroundActivityTotalTimeMs_returnMilliseconds() {
         final long rawRealtimeUs = SystemClock.elapsedRealtime() * 1000;
         doReturn(mTimer).when(mUid).getForegroundActivityTimer();
-        doReturn(TIME_SINCE_LAST_FULL_CHARGE_US).when(mTimer)
+        doReturn(TIME_SINCE_LAST_FULL_CHARGE_US)
+                .when(mTimer)
                 .getTotalTimeLocked(rawRealtimeUs, BatteryStats.STATS_SINCE_CHARGED);
 
-        assertThat(mBatteryUtils.getForegroundActivityTotalTimeUs(mUid, rawRealtimeUs)).isEqualTo(
-                TIME_SINCE_LAST_FULL_CHARGE_US);
+        assertThat(mBatteryUtils.getForegroundActivityTotalTimeUs(mUid, rawRealtimeUs))
+                .isEqualTo(TIME_SINCE_LAST_FULL_CHARGE_US);
     }
 
     @Test
-    public void testGetTargetSdkVersion_packageExist_returnSdk() throws
-            PackageManager.NameNotFoundException {
-        doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(PACKAGE_NAME,
-                PackageManager.GET_META_DATA);
+    public void testGetTargetSdkVersion_packageExist_returnSdk()
+            throws PackageManager.NameNotFoundException {
+        doReturn(mApplicationInfo)
+                .when(mPackageManager)
+                .getApplicationInfo(PACKAGE_NAME, PackageManager.GET_META_DATA);
         mApplicationInfo.targetSdkVersion = SDK_VERSION;
 
         assertThat(mBatteryUtils.getTargetSdkVersion(PACKAGE_NAME)).isEqualTo(SDK_VERSION);
     }
 
     @Test
-    public void testGetTargetSdkVersion_packageNotExist_returnSdkNull() throws
-            PackageManager.NameNotFoundException {
-        doThrow(new PackageManager.NameNotFoundException()).when(
-                mPackageManager).getApplicationInfo(PACKAGE_NAME, PackageManager.GET_META_DATA);
+    public void testGetTargetSdkVersion_packageNotExist_returnSdkNull()
+            throws PackageManager.NameNotFoundException {
+        doThrow(new PackageManager.NameNotFoundException())
+                .when(mPackageManager)
+                .getApplicationInfo(PACKAGE_NAME, PackageManager.GET_META_DATA);
 
-        assertThat(mBatteryUtils.getTargetSdkVersion(PACKAGE_NAME)).isEqualTo(
-                BatteryUtils.SDK_NULL);
+        assertThat(mBatteryUtils.getTargetSdkVersion(PACKAGE_NAME))
+                .isEqualTo(BatteryUtils.SDK_NULL);
     }
 
     @Test
     public void testBackgroundRestrictionOn_restrictionOn_returnTrue() {
-        doReturn(AppOpsManager.MODE_IGNORED).when(mAppOpsManager).checkOpNoThrow(
-                AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
+        doReturn(AppOpsManager.MODE_IGNORED)
+                .when(mAppOpsManager)
+                .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
 
-        assertThat(mBatteryUtils.isBackgroundRestrictionEnabled(SDK_VERSION, UID,
-                PACKAGE_NAME)).isTrue();
+        assertThat(mBatteryUtils.isBackgroundRestrictionEnabled(SDK_VERSION, UID, PACKAGE_NAME))
+                .isTrue();
     }
 
     @Test
     public void testBackgroundRestrictionOn_restrictionOff_returnFalse() {
-        doReturn(AppOpsManager.MODE_ALLOWED).when(mAppOpsManager).checkOpNoThrow(
-                AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
+        doReturn(AppOpsManager.MODE_ALLOWED)
+                .when(mAppOpsManager)
+                .checkOpNoThrow(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, PACKAGE_NAME);
 
         assertThat(mBatteryUtils.isBackgroundRestrictionEnabled(SDK_VERSION, UID, PACKAGE_NAME))
-            .isFalse();
+                .isFalse();
     }
 
     @Test
@@ -294,13 +295,13 @@
 
     @Test
     public void testIsPreOApp_containPreOApp_ReturnTrue() {
-        assertThat(
-                mBatteryUtils.isPreOApp(new String[]{HIGH_SDK_PACKAGE, LOW_SDK_PACKAGE})).isTrue();
+        assertThat(mBatteryUtils.isPreOApp(new String[] {HIGH_SDK_PACKAGE, LOW_SDK_PACKAGE}))
+                .isTrue();
     }
 
     @Test
     public void testIsPreOApp_emptyList_ReturnFalse() {
-        assertThat(mBatteryUtils.isPreOApp(new String[]{})).isFalse();
+        assertThat(mBatteryUtils.isPreOApp(new String[] {})).isFalse();
     }
 
     @Ignore
@@ -309,10 +310,18 @@
         mBatteryUtils.setForceAppStandby(UID, LOW_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
 
         // Restrict both OP_RUN_IN_BACKGROUND and OP_RUN_ANY_IN_BACKGROUND
-        verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID, LOW_SDK_PACKAGE,
-                AppOpsManager.MODE_IGNORED);
-        verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, LOW_SDK_PACKAGE,
-                AppOpsManager.MODE_IGNORED);
+        verify(mAppOpsManager)
+                .setMode(
+                        AppOpsManager.OP_RUN_IN_BACKGROUND,
+                        UID,
+                        LOW_SDK_PACKAGE,
+                        AppOpsManager.MODE_IGNORED);
+        verify(mAppOpsManager)
+                .setMode(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        UID,
+                        LOW_SDK_PACKAGE,
+                        AppOpsManager.MODE_IGNORED);
     }
 
     @Ignore
@@ -321,125 +330,71 @@
         mBatteryUtils.setForceAppStandby(UID, HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
 
         // Don't restrict OP_RUN_IN_BACKGROUND because it is already been restricted for O app
-        verify(mAppOpsManager, never()).setMode(AppOpsManager.OP_RUN_IN_BACKGROUND, UID,
-                HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
+        verify(mAppOpsManager, never())
+                .setMode(
+                        AppOpsManager.OP_RUN_IN_BACKGROUND,
+                        UID,
+                        HIGH_SDK_PACKAGE,
+                        AppOpsManager.MODE_IGNORED);
         // Restrict OP_RUN_ANY_IN_BACKGROUND
-        verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
+        verify(mAppOpsManager)
+                .setMode(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        UID,
+                        HIGH_SDK_PACKAGE,
+                        AppOpsManager.MODE_IGNORED);
     }
 
     @Test
     public void testSetForceAppStandby_restrictApp_recordTime() {
         mBatteryUtils.setForceAppStandby(UID, HIGH_SDK_PACKAGE, AppOpsManager.MODE_IGNORED);
 
-        verify(mBatteryDatabaseManager).insertAction(
-                eq(AnomalyDatabaseHelper.ActionType.RESTRICTION), eq(UID),
-                eq(HIGH_SDK_PACKAGE), anyLong());
+        verify(mBatteryDatabaseManager)
+                .insertAction(
+                        eq(AnomalyDatabaseHelper.ActionType.RESTRICTION), eq(UID),
+                        eq(HIGH_SDK_PACKAGE), anyLong());
     }
 
     @Test
     public void testSetForceAppStandby_unrestrictApp_deleteTime() {
         mBatteryUtils.setForceAppStandby(UID, HIGH_SDK_PACKAGE, AppOpsManager.MODE_ALLOWED);
 
-        verify(mBatteryDatabaseManager).deleteAction(AnomalyDatabaseHelper.ActionType.RESTRICTION,
-                UID, HIGH_SDK_PACKAGE);
+        verify(mBatteryDatabaseManager)
+                .deleteAction(AnomalyDatabaseHelper.ActionType.RESTRICTION, UID, HIGH_SDK_PACKAGE);
     }
 
     @Test
     public void testIsForceAppStandbyEnabled_enabled_returnTrue() {
-        when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                PACKAGE_NAME)).thenReturn(AppOpsManager.MODE_IGNORED);
+        when(mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, PACKAGE_NAME))
+                .thenReturn(AppOpsManager.MODE_IGNORED);
 
         assertThat(mBatteryUtils.isForceAppStandbyEnabled(UID, PACKAGE_NAME)).isTrue();
     }
 
     @Test
     public void testIsForceAppStandbyEnabled_disabled_returnFalse() {
-        when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                PACKAGE_NAME)).thenReturn(AppOpsManager.MODE_ALLOWED);
+        when(mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, PACKAGE_NAME))
+                .thenReturn(AppOpsManager.MODE_ALLOWED);
 
         assertThat(mBatteryUtils.isForceAppStandbyEnabled(UID, PACKAGE_NAME)).isFalse();
     }
 
     @Test
-    public void testShouldHideAnomaly_systemAppWithLauncher_returnTrue() {
-        final List<ResolveInfo> resolveInfos = new ArrayList<>();
-        final ResolveInfo resolveInfo = new ResolveInfo();
-        resolveInfo.activityInfo = new ActivityInfo();
-        resolveInfo.activityInfo.packageName = HIGH_SDK_PACKAGE;
-
-        doReturn(resolveInfos).when(mPackageManager).queryIntentActivities(any(), anyInt());
-        doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
-        mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
-                mAnomalyInfo)).isTrue();
-    }
-
-    @Test
-    public void testShouldHideAnomaly_systemAppWithoutLauncher_returnTrue() {
-        doReturn(new ArrayList<>()).when(mPackageManager).queryIntentActivities(any(), anyInt());
-        doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
-        mHighApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
-                mAnomalyInfo)).isTrue();
-    }
-
-    @Test
-    public void testShouldHideAnomaly_systemUid_returnTrue() {
-        final int systemUid = Process.ROOT_UID;
-        doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(systemUid);
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, systemUid,
-                mAnomalyInfo)).isTrue();
-    }
-
-    @Test
-    public void testShouldHideAnomaly_AppInDozeList_returnTrue() {
-        doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
-        doReturn(true).when(mPowerAllowlistBackend)
-                .isAllowlisted(new String[]{HIGH_SDK_PACKAGE}, UID);
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
-                mAnomalyInfo)).isTrue();
-    }
-
-    @Test
-    public void testShouldHideAnomaly_normalApp_returnFalse() {
-        doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
-                mAnomalyInfo)).isFalse();
-    }
-
-    @Test
-    public void testShouldHideAnomaly_excessivePriorOApp_returnFalse() {
-        doReturn(new String[]{LOW_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
-        mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE);
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
-                mAnomalyInfo)).isFalse();
-    }
-
-    @Test
-    public void testShouldHideAnomaly_excessiveOApp_returnTrue() {
-        doReturn(new String[]{HIGH_SDK_PACKAGE}).when(mPackageManager).getPackagesForUid(UID);
-        mAnomalyInfo = new AnomalyInfo(INFO_EXCESSIVE);
-
-        assertThat(mBatteryUtils.shouldHideAnomaly(mPowerAllowlistBackend, UID,
-                mAnomalyInfo)).isTrue();
-    }
-
-    @Test
     public void clearForceAppStandby_appRestricted_clearAndReturnTrue() {
         when(mBatteryUtils.getPackageUid(HIGH_SDK_PACKAGE)).thenReturn(UID);
-        when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                HIGH_SDK_PACKAGE)).thenReturn(AppOpsManager.MODE_IGNORED);
+        when(mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, HIGH_SDK_PACKAGE))
+                .thenReturn(AppOpsManager.MODE_IGNORED);
 
         assertThat(mBatteryUtils.clearForceAppStandby(HIGH_SDK_PACKAGE)).isTrue();
-        verify(mAppOpsManager).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                HIGH_SDK_PACKAGE, AppOpsManager.MODE_ALLOWED);
+        verify(mAppOpsManager)
+                .setMode(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        UID,
+                        HIGH_SDK_PACKAGE,
+                        AppOpsManager.MODE_ALLOWED);
     }
 
     @Test
@@ -447,29 +402,38 @@
         when(mBatteryUtils.getPackageUid(PACKAGE_NAME)).thenReturn(BatteryUtils.UID_NULL);
 
         assertThat(mBatteryUtils.clearForceAppStandby(PACKAGE_NAME)).isFalse();
-        verify(mAppOpsManager, never()).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
+        verify(mAppOpsManager, never())
+                .setMode(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        UID,
+                        PACKAGE_NAME,
+                        AppOpsManager.MODE_ALLOWED);
     }
 
     @Test
     public void clearForceAppStandby_appUnrestricted_returnFalse() {
         when(mBatteryUtils.getPackageUid(PACKAGE_NAME)).thenReturn(UID);
-        when(mAppOpsManager.checkOpNoThrow(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                PACKAGE_NAME)).thenReturn(AppOpsManager.MODE_ALLOWED);
+        when(mAppOpsManager.checkOpNoThrow(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID, PACKAGE_NAME))
+                .thenReturn(AppOpsManager.MODE_ALLOWED);
 
         assertThat(mBatteryUtils.clearForceAppStandby(PACKAGE_NAME)).isFalse();
-        verify(mAppOpsManager, never()).setMode(AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, UID,
-                PACKAGE_NAME, AppOpsManager.MODE_ALLOWED);
+        verify(mAppOpsManager, never())
+                .setMode(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        UID,
+                        PACKAGE_NAME,
+                        AppOpsManager.MODE_ALLOWED);
     }
 
     @Test
     public void getBatteryInfo_providerNull_shouldNotCrash() {
         when(mProvider.isEnhancedBatteryPredictionEnabled(mContext)).thenReturn(true);
         when(mProvider.getEnhancedBatteryPrediction(mContext)).thenReturn(null);
-        when(mContext.registerReceiver(nullable(BroadcastReceiver.class),
-                any(IntentFilter.class))).thenReturn(new Intent());
+        when(mContext.registerReceiver(nullable(BroadcastReceiver.class), any(IntentFilter.class)))
+                .thenReturn(new Intent());
 
-        //Should not crash
+        // Should not crash
         assertThat(mBatteryUtils.getBatteryInfo(TAG)).isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
index 3097a70..46d2d01 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/HighPowerDetailTest.java
@@ -51,10 +51,8 @@
     private HighPowerDetail mFragment;
 
     private Context mContext;
-    @Mock
-    private PowerAllowlistBackend mPowerAllowlistBackend;
-    @Mock
-    private BatteryUtils mBatteryUtils;
+    @Mock private PowerAllowlistBackend mPowerAllowlistBackend;
+    @Mock private BatteryUtils mBatteryUtils;
 
     @Before
     public void setUp() {
@@ -73,13 +71,19 @@
     public void logSpecialPermissionChange() {
         // Deny means app is allowlisted to opt out of power save restrictions
         HighPowerDetail.logSpecialPermissionChange(true, "app", RuntimeEnvironment.application);
-        verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
-                eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_DENY), eq("app"));
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(Context.class),
+                        eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_DENY),
+                        eq("app"));
 
         // Allow means app is NOT allowlisted to opt out of power save restrictions
         HighPowerDetail.logSpecialPermissionChange(false, "app", RuntimeEnvironment.application);
-        verify(mFeatureFactory.metricsFeatureProvider).action(any(Context.class),
-                eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW), eq("app"));
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        any(Context.class),
+                        eq(MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_BATTERY_ALLOW),
+                        eq("app"));
     }
 
     @Test
@@ -87,15 +91,17 @@
         mFragment.mIsEnabled = true;
         when(mPowerAllowlistBackend.isAllowlisted(TEST_PACKAGE, TEST_UID)).thenReturn(false);
         mFragment.onClick(null, DialogInterface.BUTTON_POSITIVE);
-        verify(mBatteryUtils).setForceAppStandby(TEST_UID, TEST_PACKAGE,
-                AppOpsManager.MODE_ALLOWED);
+        verify(mBatteryUtils)
+                .setForceAppStandby(TEST_UID, TEST_PACKAGE, AppOpsManager.MODE_ALLOWED);
     }
 
     @Test
     public void getSummary_defaultActivePackage_returnUnavailable() {
         doReturn(true).when(mPowerAllowlistBackend).isDefaultActiveApp(TEST_PACKAGE, TEST_UID);
 
-        assertThat(HighPowerDetail.getSummary(mContext, mPowerAllowlistBackend, TEST_PACKAGE,
-                TEST_UID)).isEqualTo(mContext.getString(R.string.high_power_system));
+        assertThat(
+                        HighPowerDetail.getSummary(
+                                mContext, mPowerAllowlistBackend, TEST_PACKAGE, TEST_UID))
+                .isEqualTo(mContext.getString(R.string.high_power_system));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
index 71bb998..6656471 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/OptimizedPreferenceControllerTest.java
@@ -18,8 +18,13 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
+import android.content.Context;
+import android.content.pm.PackageManager;
+
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.Before;
@@ -37,35 +42,42 @@
 
     private OptimizedPreferenceController mController;
     private SelectorWithWidgetPreference mPreference;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
-    @Mock BatteryOptimizeUtils mockBatteryOptimizeUtils;
+    @Mock PackageManager mMockPackageManager;
 
     @Before
-    public void setUp() {
+    public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
 
-        mController = new OptimizedPreferenceController(
-                RuntimeEnvironment.application, UID, PACKAGE_NAME);
+        Context context = spy(RuntimeEnvironment.application);
+        BatteryUtils.getInstance(context).reset();
+        doReturn(UID)
+                .when(mMockPackageManager)
+                .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
+
+        mController = new OptimizedPreferenceController(context, UID, PACKAGE_NAME);
         mPreference = new SelectorWithWidgetPreference(RuntimeEnvironment.application);
-        mController.mBatteryOptimizeUtils = mockBatteryOptimizeUtils;
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(context, UID, PACKAGE_NAME));
+        mController.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
     }
 
     @Test
     public void testUpdateState_invalidPackage_prefEnabled() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
 
         mController.updateState(mPreference);
 
-        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.isEnabled()).isFalse();
         assertThat(mPreference.isChecked()).isTrue();
     }
 
     @Test
     public void testUpdateState_isSystemOrDefaultAppAndOptimizeStates_prefChecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mockBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
-                BatteryOptimizeUtils.MODE_OPTIMIZED);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
 
         mController.updateState(mPreference);
 
@@ -74,8 +86,8 @@
 
     @Test
     public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
 
         mController.updateState(mPreference);
 
@@ -85,9 +97,9 @@
 
     @Test
     public void testUpdateState_isOptimizedStates_prefChecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
-                BatteryOptimizeUtils.MODE_OPTIMIZED);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
 
         mController.updateState(mPreference);
 
@@ -96,7 +108,7 @@
 
     @Test
     public void testUpdateState_prefUnchecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
 
         mController.updateState(mPreference);
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
new file mode 100644
index 0000000..b6caa7f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerBackgroundUsageDetailTest.java
@@ -0,0 +1,351 @@
+/*
+ * 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;
+
+import static com.android.settings.SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS;
+import static com.android.settings.fuelgauge.BatteryOptimizeHistoricalLogEntry.Action;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.nullable;
+import static org.mockito.Mockito.doAnswer;
+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.verifyNoInteractions;
+import static org.mockito.Mockito.when;
+
+import android.app.AppOpsManager;
+import android.app.backup.BackupManager;
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.InstallSourceInfo;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Drawable;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.widget.CompoundButton;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.loader.app.LoaderManager;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.SettingsActivity;
+import com.android.settings.fuelgauge.batteryusage.BatteryEntry;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
+import com.android.settings.widget.EntityHeaderController;
+import com.android.settingslib.applications.AppUtils;
+import com.android.settingslib.applications.ApplicationsState;
+import com.android.settingslib.applications.instantapps.InstantAppDataProvider;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+import com.android.settingslib.widget.FooterPreference;
+import com.android.settingslib.widget.LayoutPreference;
+import com.android.settingslib.widget.MainSwitchPreference;
+import com.android.settingslib.widget.SelectorWithWidgetPreference;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Answers;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.mockito.stubbing.Answer;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+import org.robolectric.util.ReflectionHelpers;
+
+import java.util.concurrent.TimeUnit;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowEntityHeaderController.class,
+            com.android.settings.testutils.shadow.ShadowFragment.class,
+        })
+public class PowerBackgroundUsageDetailTest {
+
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    private static final String APP_LABEL = "app label";
+    private static final String SUMMARY = "summary";
+    private static final int ICON_ID = 123;
+    private static final int UID = 1;
+    private static final String KEY_PREF_UNRESTRICTED = "unrestricted_preference";
+    private static final String KEY_PREF_OPTIMIZED = "optimized_preference";
+    private static final String KEY_ALLOW_BACKGROUND_USAGE = "allow_background_usage";
+
+    private Context mContext;
+    private PowerBackgroundUsageDetail mFragment;
+    private FooterPreference mFooterPreference;
+    private MainSwitchPreference mMainSwitchPreference;
+    private MetricsFeatureProvider mMetricsFeatureProvider;
+    private SelectorWithWidgetPreference mOptimizePreference;
+    private SelectorWithWidgetPreference mUnrestrictedPreference;
+    private SettingsActivity mTestActivity;
+
+    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
+    private FragmentActivity mActivity;
+
+    @Mock private EntityHeaderController mEntityHeaderController;
+    @Mock private BatteryOptimizeUtils mBatteryOptimizeUtils;
+    @Mock private LayoutPreference mHeaderPreference;
+    @Mock private ApplicationsState mState;
+    @Mock private Bundle mBundle;
+    @Mock private LoaderManager mLoaderManager;
+    @Mock private ApplicationsState.AppEntry mAppEntry;
+    @Mock private BatteryEntry mBatteryEntry;
+    @Mock private BackupManager mBackupManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private AppOpsManager mAppOpsManager;
+    @Mock private CompoundButton mMockSwitch;
+    @Mock private InstallSourceInfo mInstallSourceInfo;
+
+    @Before
+    public void setUp() throws Exception {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        when(mContext.getPackageName()).thenReturn("foo");
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mPackageManager.getInstallSourceInfo(anyString())).thenReturn(mInstallSourceInfo);
+
+        final FakeFeatureFactory fakeFeatureFactory = FakeFeatureFactory.setupForTest();
+        mMetricsFeatureProvider = fakeFeatureFactory.metricsFeatureProvider;
+
+        mFragment = spy(new PowerBackgroundUsageDetail());
+        mFragment.mLogStringBuilder = new StringBuilder();
+        doReturn(mContext).when(mFragment).getContext();
+        doReturn(mActivity).when(mFragment).getActivity();
+        doReturn(SUMMARY).when(mFragment).getString(anyInt());
+        doReturn(APP_LABEL).when(mBundle).getString(nullable(String.class));
+        when(mFragment.getArguments()).thenReturn(mBundle);
+        doReturn(mLoaderManager).when(mFragment).getLoaderManager();
+
+        ShadowEntityHeaderController.setUseMock(mEntityHeaderController);
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setButtonActions(anyInt(), anyInt());
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setIcon(nullable(Drawable.class));
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setIcon(nullable(ApplicationsState.AppEntry.class));
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setLabel(nullable(String.class));
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setLabel(nullable(String.class));
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setLabel(nullable(ApplicationsState.AppEntry.class));
+        doReturn(mEntityHeaderController)
+                .when(mEntityHeaderController)
+                .setSummary(nullable(String.class));
+
+        when(mBatteryEntry.getUid()).thenReturn(UID);
+        when(mBatteryEntry.getLabel()).thenReturn(APP_LABEL);
+        mBatteryEntry.mIconId = ICON_ID;
+
+        mFragment.mHeaderPreference = mHeaderPreference;
+        mFragment.mState = mState;
+        mFragment.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
+        mFragment.mBackupManager = mBackupManager;
+        mAppEntry.info = mock(ApplicationInfo.class);
+
+        mTestActivity = spy(new SettingsActivity());
+        doReturn(mPackageManager).when(mTestActivity).getPackageManager();
+        doReturn(mPackageManager).when(mActivity).getPackageManager();
+        doReturn(mAppOpsManager).when(mTestActivity).getSystemService(Context.APP_OPS_SERVICE);
+
+        final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
+
+        Answer<Void> callable =
+                invocation -> {
+                    mBundle = captor.getValue().getBundleExtra(EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+                    System.out.println("mBundle = " + mBundle);
+                    return null;
+                };
+        doAnswer(callable)
+                .when(mActivity)
+                .startActivityAsUser(captor.capture(), nullable(UserHandle.class));
+        doAnswer(callable).when(mActivity).startActivity(captor.capture());
+
+        mFooterPreference = spy(new FooterPreference(mContext));
+        mMainSwitchPreference = spy(new MainSwitchPreference(mContext));
+        mMainSwitchPreference.setKey(KEY_ALLOW_BACKGROUND_USAGE);
+        mOptimizePreference = spy(new SelectorWithWidgetPreference(mContext));
+        mOptimizePreference.setKey(KEY_PREF_OPTIMIZED);
+        mUnrestrictedPreference = spy(new SelectorWithWidgetPreference(mContext));
+        mUnrestrictedPreference.setKey(KEY_PREF_UNRESTRICTED);
+        mFragment.mFooterPreference = mFooterPreference;
+        mFragment.mMainSwitchPreference = mMainSwitchPreference;
+        mFragment.mOptimizePreference = mOptimizePreference;
+        mFragment.mUnrestrictedPreference = mUnrestrictedPreference;
+    }
+
+    @After
+    public void reset() {
+        ShadowEntityHeaderController.reset();
+    }
+
+    @Test
+    public void initHeader_NoAppEntry_BuildByBundle() {
+        mFragment.mAppEntry = null;
+        mFragment.initHeader();
+
+        verify(mEntityHeaderController).setIcon(nullable(Drawable.class));
+        verify(mEntityHeaderController).setLabel(APP_LABEL);
+    }
+
+    @Test
+    public void initHeader_HasAppEntry_BuildByAppEntry() {
+        ReflectionHelpers.setStaticField(
+                AppUtils.class,
+                "sInstantAppDataProvider",
+                new InstantAppDataProvider() {
+                    @Override
+                    public boolean isInstantApp(ApplicationInfo info) {
+                        return false;
+                    }
+                });
+        mFragment.mAppEntry = mAppEntry;
+        mFragment.initHeader();
+
+        verify(mEntityHeaderController).setIcon(mAppEntry);
+        verify(mEntityHeaderController).setLabel(mAppEntry);
+        verify(mEntityHeaderController).setIsInstantApp(false);
+    }
+
+    @Test
+    public void initHeader_HasAppEntry_InstantApp() {
+        ReflectionHelpers.setStaticField(
+                AppUtils.class,
+                "sInstantAppDataProvider",
+                new InstantAppDataProvider() {
+                    @Override
+                    public boolean isInstantApp(ApplicationInfo info) {
+                        return true;
+                    }
+                });
+        mFragment.mAppEntry = mAppEntry;
+        mFragment.initHeader();
+
+        verify(mEntityHeaderController).setIcon(mAppEntry);
+        verify(mEntityHeaderController).setLabel(mAppEntry);
+        verify(mEntityHeaderController).setIsInstantApp(true);
+    }
+
+    @Test
+    public void initFooter_hasCorrectString() {
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
+
+        mFragment.initFooter();
+
+        assertThat(mFooterPreference.getTitle().toString())
+                .isEqualTo("Changing how an app uses your battery can affect its performance.");
+    }
+
+    @Test
+    public void onSwitchChanged_fromUnrestrictedModeSetDisabled_becomeRestrictedMode() {
+        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        mFragment.mOptimizationMode = optimizedMode;
+
+        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ false);
+
+        verify(mOptimizePreference).setEnabled(false);
+        verify(mUnrestrictedPreference).setEnabled(false);
+        verify(mFragment).onRadioButtonClicked(null);
+        verify(mMainSwitchPreference).setChecked(false);
+        assertThat(mFragment.getSelectedPreference()).isEqualTo(restrictedMode);
+        verify(mBatteryOptimizeUtils).setAppUsageState(restrictedMode, Action.APPLY);
+    }
+
+    @Test
+    public void onSwitchChanged_fromRestrictedModeSetEnabled_becomeOptimizedMode() {
+        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        mFragment.mOptimizationMode = restrictedMode;
+
+        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
+
+        verify(mOptimizePreference).setEnabled(true);
+        verify(mUnrestrictedPreference).setEnabled(true);
+        verify(mFragment).onRadioButtonClicked(mOptimizePreference);
+        verify(mMainSwitchPreference).setChecked(true);
+        verify(mOptimizePreference).setChecked(true);
+        assertThat(mFragment.getSelectedPreference()).isEqualTo(optimizedMode);
+        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
+    }
+
+    @Test
+    public void onPause_optimizationModeChanged_logPreference() throws Exception {
+        final String packageName = "testPackageName";
+        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        mFragment.mOptimizationMode = restrictedMode;
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
+
+        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
+        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
+        mFragment.onPause();
+
+        TimeUnit.SECONDS.sleep(1);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        SettingsEnums.LEAVE_POWER_USAGE_MANAGE_BACKGROUND,
+                        SettingsEnums.ACTION_APP_BATTERY_USAGE_OPTIMIZED,
+                        SettingsEnums.FUELGAUGE_POWER_USAGE_MANAGE_BACKGROUND,
+                        packageName,
+                        /* consumed battery */ 0);
+    }
+
+    @Test
+    public void onPause_optimizationModeIsNotChanged_notInvokeLogging() throws Exception {
+        final String packageName = "testPackageName";
+        final int restrictedMode = BatteryOptimizeUtils.MODE_RESTRICTED;
+        final int optimizedMode = BatteryOptimizeUtils.MODE_OPTIMIZED;
+        mFragment.mOptimizationMode = restrictedMode;
+        when(mBatteryOptimizeUtils.getPackageName()).thenReturn(packageName);
+        when(mInstallSourceInfo.getInitiatingPackageName()).thenReturn("com.android.vending");
+
+        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ true);
+        verify(mBatteryOptimizeUtils).setAppUsageState(optimizedMode, Action.APPLY);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(optimizedMode);
+        mFragment.onCheckedChanged(mMockSwitch, /* isChecked= */ false);
+        verify(mBatteryOptimizeUtils).setAppUsageState(restrictedMode, Action.APPLY);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(restrictedMode);
+        mFragment.onPause();
+
+        TimeUnit.SECONDS.sleep(1);
+        verifyNoInteractions(mMetricsFeatureProvider);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
index a0b449a..db4c359 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageFeatureProviderImplTest.java
@@ -46,8 +46,8 @@
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mContext;
-    @Mock
-    private PackageManager mPackageManager;
+
+    @Mock private PackageManager mPackageManager;
     private PowerUsageFeatureProviderImpl mPowerFeatureProvider;
 
     @Before
@@ -117,21 +117,28 @@
 
     @Test
     public void testIsSmartBatterySupported_smartBatterySupported_returnTrue() {
-        when(mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_smart_battery_available)).thenReturn(true);
+        when(mContext.getResources()
+                        .getBoolean(com.android.internal.R.bool.config_smart_battery_available))
+                .thenReturn(true);
 
         assertThat(mPowerFeatureProvider.isSmartBatterySupported()).isTrue();
     }
 
     @Test
     public void testIsSmartBatterySupported_smartBatteryNotSupported_returnFalse() {
-        when(mContext.getResources().getBoolean(
-                com.android.internal.R.bool.config_smart_battery_available)).thenReturn(false);
+        when(mContext.getResources()
+                        .getBoolean(com.android.internal.R.bool.config_smart_battery_available))
+                .thenReturn(false);
 
         assertThat(mPowerFeatureProvider.isSmartBatterySupported()).isFalse();
     }
 
     @Test
+    public void testIsAdaptiveChargingSupported_returnFalse() {
+        assertThat(mPowerFeatureProvider.isAdaptiveChargingSupported()).isFalse();
+    }
+
+    @Test
     public void testGetResumeChargeIntentWithoutDockDefender_returnNull() {
         assertThat(mPowerFeatureProvider.getResumeChargeIntent(false)).isNull();
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java
new file mode 100644
index 0000000..22d4ba3
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/PowerUsageTimeControllerTest.java
@@ -0,0 +1,281 @@
+/*
+ * 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;
+
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+
+import org.junit.Before;
+import 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 PowerUsageTimeControllerTest {
+    private static final String SLOT_TIME = "12 am-2 am";
+    private static final String KEY_SCREEN_ON_TIME_PREF = "battery_usage_screen_time";
+    private static final String KEY_BACKGROUND_TIME_PREF = "battery_usage_background_time";
+    private static final String TEST_ANOMALY_HINT_TEXT = "test_anomaly_hint_text";
+
+    private Context mContext;
+    private PowerUsageTimeController mPowerUsageTimeController;
+
+    @Mock private PreferenceCategory mPowerUsageTimeCategory;
+    @Mock private PowerUsageTimePreference mScreenTimePreference;
+    @Mock private PowerUsageTimePreference mBackgroundTimePreference;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mPowerUsageTimeController = new PowerUsageTimeController(mContext);
+        mPowerUsageTimeController.mPowerUsageTimeCategory = mPowerUsageTimeCategory;
+        mPowerUsageTimeController.mScreenTimePreference = mScreenTimePreference;
+        mPowerUsageTimeController.mBackgroundTimePreference = mBackgroundTimePreference;
+        doReturn(KEY_SCREEN_ON_TIME_PREF).when(mScreenTimePreference).getKey();
+        doReturn(KEY_BACKGROUND_TIME_PREF).when(mBackgroundTimePreference).getKey();
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_noInfo_prefInvisible() {
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                /* slotTime= */ null,
+                /* screenOnTimeInMs= */ 0,
+                /* backgroundTimeInMs= */ 0,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(false);
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_onlySlotTime_prefInvisible() {
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                /* screenOnTimeInMs= */ 0,
+                /* backgroundTimeInMs= */ 0,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(false);
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_lackBackgroundTime_onlyScreenOnTime() {
+        final long screenOnTimeAMinute = 60000;
+        final long backgroundTimeZero = 0;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeAMinute,
+                backgroundTimeZero,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyOnePreferenceInvisible(mBackgroundTimePreference);
+        verify(mScreenTimePreference).setTimeTitle("Screen time");
+        verify(mScreenTimePreference).setTimeSummary("1 min");
+        verify(mScreenTimePreference, never()).setAnomalyHint(anyString());
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_lackScreenOnTime_onlyBackgroundTime() {
+        final long screenOnTimeZero = 0;
+        final long backgroundTimeTwoMinutes = 120000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeZero,
+                backgroundTimeTwoMinutes,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyOnePreferenceInvisible(mScreenTimePreference);
+        verify(mBackgroundTimePreference).setTimeTitle("Background time");
+        verify(mBackgroundTimePreference).setTimeSummary("2 min");
+        verify(mBackgroundTimePreference, never()).setAnomalyHint(anyString());
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_categoryTitleWithSlotTime_expectedResult() {
+        final long screenOnTimeAMinute = 60000;
+        final long backgroundTimeTwoMinutes = 120000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeAMinute,
+                backgroundTimeTwoMinutes,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference).setTimeTitle("Screen time");
+        verify(mScreenTimePreference).setTimeSummary("1 min");
+        verify(mScreenTimePreference, never()).setAnomalyHint(anyString());
+        verify(mBackgroundTimePreference).setTimeTitle("Background time");
+        verify(mBackgroundTimePreference).setTimeSummary("2 min");
+        verify(mBackgroundTimePreference, never()).setAnomalyHint(anyString());
+        verify(mPowerUsageTimeCategory).setTitle("App usage for 12 am-2 am");
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_categoryTitleWithoutSlotTime_expectedResult() {
+        final long backgroundTimeTwoMinutes = 120000;
+        final long screenOnTimeAMinute = 60000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                /* slotTime= */ null,
+                screenOnTimeAMinute,
+                backgroundTimeTwoMinutes,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(true);
+        verify(mPowerUsageTimeCategory).setTitle("App usage since last full charge");
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_BackgroundLessThanAMinWithSlotTime_expectedResult() {
+        final long screenOnTimeAMinute = 60000;
+        final long backgroundTimeLessThanAMinute = 59999;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeAMinute,
+                backgroundTimeLessThanAMinute,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference).setTimeSummary("1 min");
+        verify(mBackgroundTimePreference).setTimeSummary("Less than a min");
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_ScreenTimeLessThanAMin_expectedResult() {
+        final long screenOnTimeLessThanAMinute = 59999;
+        final long backgroundTimeTwoMinutes = 120000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeLessThanAMinute,
+                backgroundTimeTwoMinutes,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference).setTimeSummary("Less than a min");
+        verify(mBackgroundTimePreference).setTimeSummary("2 min");
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_bothLessThanAMin_expectedResult() {
+        final long screenOnTimeLessThanAMinute = 59999;
+        final long backgroundTimeLessThanAMinute = 59999;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeLessThanAMinute,
+                backgroundTimeLessThanAMinute,
+                /* anomalyHintPrefKey= */ null,
+                /* anomalyHintText= */ null);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference).setTimeSummary("Less than a min");
+        verify(mBackgroundTimePreference).setTimeSummary("Less than a min");
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_anomalyOfScreenOnTime_expectedResult() {
+        final long screenOnTimeAMinute = 60000;
+        final long backgroundTimeTwoMinutes = 120000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeAMinute,
+                backgroundTimeTwoMinutes,
+                KEY_SCREEN_ON_TIME_PREF,
+                TEST_ANOMALY_HINT_TEXT);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference).setAnomalyHint(TEST_ANOMALY_HINT_TEXT);
+        verify(mBackgroundTimePreference, never()).setAnomalyHint(anyString());
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_anomalyOfBackgroundTime_expectedResult() {
+        final long screenOnTimeAMinute = 60000;
+        final long backgroundTimeTwoMinutes = 120000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeAMinute,
+                backgroundTimeTwoMinutes,
+                KEY_BACKGROUND_TIME_PREF,
+                TEST_ANOMALY_HINT_TEXT);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference, never()).setAnomalyHint(anyString());
+        verify(mBackgroundTimePreference).setAnomalyHint(TEST_ANOMALY_HINT_TEXT);
+    }
+
+    @Test
+    public void handleScreenTimeUpdated_anomalyOfScreenOnTimeWithoutTimeInfo_expectedResult() {
+        final long screenOnTimeZero = 0;
+        final long backgroundTimeTwoMinutes = 120000;
+
+        mPowerUsageTimeController.handleScreenTimeUpdated(
+                SLOT_TIME,
+                screenOnTimeZero,
+                backgroundTimeTwoMinutes,
+                KEY_SCREEN_ON_TIME_PREF,
+                TEST_ANOMALY_HINT_TEXT);
+
+        verifyAllPreferencesVisible(true);
+        verify(mScreenTimePreference).setTimeSummary("Less than a min");
+        verify(mScreenTimePreference).setAnomalyHint(TEST_ANOMALY_HINT_TEXT);
+        verify(mBackgroundTimePreference, never()).setAnomalyHint(anyString());
+    }
+
+    private void verifySetPrefToVisible(Preference pref, boolean isVisible) {
+        verify(pref, isVisible ? times(1) : never()).setVisible(true);
+    }
+
+    private void verifyAllPreferencesVisible(boolean isVisible) {
+        verifySetPrefToVisible(mScreenTimePreference, isVisible);
+        verifySetPrefToVisible(mBackgroundTimePreference, isVisible);
+        verifySetPrefToVisible(mPowerUsageTimeCategory, isVisible);
+    }
+
+    private void verifyOnePreferenceInvisible(Preference pref) {
+        verifySetPrefToVisible(mScreenTimePreference, mScreenTimePreference != pref);
+        verifySetPrefToVisible(mBackgroundTimePreference, mBackgroundTimePreference != pref);
+        verifySetPrefToVisible(mPowerUsageTimeCategory, mPowerUsageTimeCategory != pref);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
index 0321483..64efb6a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictAppPreferenceControllerTest.java
@@ -33,7 +33,6 @@
 import android.content.Intent;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.util.Pair;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
@@ -65,12 +64,9 @@
     private static final String RESTRICTED_PACKAGE_NAME = "com.android.restricted.package";
     private static final int OTHER_USER_UID = UserHandle.PER_USER_RANGE + RESTRICTED_UID;
 
-    @Mock
-    private AppOpsManager mAppOpsManager;
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
-    @Mock
-    private UserManager mUserManager;
+    @Mock private AppOpsManager mAppOpsManager;
+    @Mock private InstrumentedPreferenceFragment mFragment;
+    @Mock private UserManager mUserManager;
 
     private AppOpsManager.PackageOps mRestrictedPackageOps;
     private AppOpsManager.PackageOps mAllowedPackageOps;
@@ -84,19 +80,25 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         final List<AppOpsManager.OpEntry> allowOps = new ArrayList<>();
-        allowOps.add(new AppOpsManager.OpEntry(
-                AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_ALLOWED,
-                Collections.emptyMap()));
+        allowOps.add(
+                new AppOpsManager.OpEntry(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        AppOpsManager.MODE_ALLOWED,
+                        Collections.emptyMap()));
         final List<AppOpsManager.OpEntry> restrictedOps = new ArrayList<>();
-        restrictedOps.add(new AppOpsManager.OpEntry(
-                AppOpsManager.OP_RUN_ANY_IN_BACKGROUND, AppOpsManager.MODE_IGNORED,
-                Collections.emptyMap()));
-        mAllowedPackageOps = new AppOpsManager.PackageOps(
-                ALLOWED_PACKAGE_NAME, ALLOWED_UID, allowOps);
-        mRestrictedPackageOps = new AppOpsManager.PackageOps(
-                RESTRICTED_PACKAGE_NAME, RESTRICTED_UID, restrictedOps);
-        mOtherUserPackageOps = new AppOpsManager.PackageOps(
-                RESTRICTED_PACKAGE_NAME, OTHER_USER_UID, restrictedOps);
+        restrictedOps.add(
+                new AppOpsManager.OpEntry(
+                        AppOpsManager.OP_RUN_ANY_IN_BACKGROUND,
+                        AppOpsManager.MODE_IGNORED,
+                        Collections.emptyMap()));
+        mAllowedPackageOps =
+                new AppOpsManager.PackageOps(ALLOWED_PACKAGE_NAME, ALLOWED_UID, allowOps);
+        mRestrictedPackageOps =
+                new AppOpsManager.PackageOps(
+                        RESTRICTED_PACKAGE_NAME, RESTRICTED_UID, restrictedOps);
+        mOtherUserPackageOps =
+                new AppOpsManager.PackageOps(
+                        RESTRICTED_PACKAGE_NAME, OTHER_USER_UID, restrictedOps);
 
         mContext = spy(ApplicationProvider.getApplicationContext());
         doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
@@ -109,8 +111,8 @@
         mPreferenceScreen = spy(new PreferenceScreen(mContext, null));
         when(mPreferenceScreen.getPreferenceManager()).thenReturn(mock(PreferenceManager.class));
         when(mPreferenceScreen.getContext()).thenReturn(mContext);
-        when(mPreferenceScreen.findPreference(
-                RestrictAppPreferenceController.KEY_RESTRICT_APP)).thenReturn(mPreference);
+        when(mPreferenceScreen.findPreference(RestrictAppPreferenceController.KEY_RESTRICT_APP))
+                .thenReturn(mPreference);
 
         final List<UserHandle> userHandles = new ArrayList<>();
         userHandles.add(new UserHandle(0));
@@ -122,8 +124,8 @@
         mPackageOpsList.add(mRestrictedPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
-                mFragment);
+        final RestrictAppPreferenceController controller =
+                new RestrictAppPreferenceController(mFragment);
         controller.displayPreference(mPreferenceScreen);
         controller.updateState(mPreference);
 
@@ -138,8 +140,8 @@
         mPackageOpsList.add(mOtherUserPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
-                mFragment);
+        final RestrictAppPreferenceController controller =
+                new RestrictAppPreferenceController(mFragment);
         controller.displayPreference(mPreferenceScreen);
         controller.updateState(mPreference);
 
@@ -154,17 +156,18 @@
         mPackageOpsList.add(mOtherUserPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
-                mFragment);
+        final RestrictAppPreferenceController controller =
+                new RestrictAppPreferenceController(mFragment);
         controller.displayPreference(mPreferenceScreen);
         controller.updateState(mPreference);
 
         assertThat(mPreference.getSummary()).isEqualTo("Limiting battery usage for 1 app");
-        assertThat(controller.mAppInfos).containsExactly(
-                new AppInfo.Builder()
-                        .setUid(RESTRICTED_UID)
-                        .setPackageName(RESTRICTED_PACKAGE_NAME)
-                        .build());
+        assertThat(controller.mAppInfos)
+                .containsExactly(
+                        new AppInfo.Builder()
+                                .setUid(RESTRICTED_UID)
+                                .setPackageName(RESTRICTED_PACKAGE_NAME)
+                                .build());
     }
 
     @Test
@@ -172,8 +175,8 @@
         mPackageOpsList.add(mAllowedPackageOps);
         doReturn(mPackageOpsList).when(mAppOpsManager).getPackagesForOps(any(int[].class));
 
-        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
-                mFragment);
+        final RestrictAppPreferenceController controller =
+                new RestrictAppPreferenceController(mFragment);
         controller.displayPreference(mPreferenceScreen);
         controller.updateState(mPreference);
 
@@ -185,8 +188,8 @@
     public void handlePreferenceTreeClick_startFragment() {
         final ArgumentCaptor<Intent> intent = ArgumentCaptor.forClass(Intent.class);
 
-        final RestrictAppPreferenceController controller = new RestrictAppPreferenceController(
-                mFragment);
+        final RestrictAppPreferenceController controller =
+                new RestrictAppPreferenceController(mFragment);
         controller.handlePreferenceTreeClick(mPreference);
 
         verify(mContext).startActivity(intent.capture());
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
index 2991e78..54b8808 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedAppDetailsTest.java
@@ -72,17 +72,11 @@
     private static final int UID = UserHandle.getUid(USER_ID, 234);
     private static final String APP_NAME = "app";
 
-
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private ApplicationInfo mApplicationInfo;
-    @Mock
-    private IconDrawableFactory mIconDrawableFactory;
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
-    @Mock
-    private BatteryDatabaseManager mBatteryDatabaseManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private ApplicationInfo mApplicationInfo;
+    @Mock private IconDrawableFactory mIconDrawableFactory;
+    @Mock private InstrumentedPreferenceFragment mFragment;
+    @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
     private PreferenceManager mPreferenceManager;
     private RestrictedAppDetails mRestrictedAppDetails;
     private Context mContext;
@@ -96,10 +90,7 @@
 
         mContext = spy(RuntimeEnvironment.application);
         mRestrictedAppDetails = spy(new RestrictedAppDetails());
-        mAppInfo = new AppInfo.Builder()
-                .setPackageName(PACKAGE_NAME)
-                .setUid(UID)
-                .build();
+        mAppInfo = new AppInfo.Builder().setPackageName(PACKAGE_NAME).setUid(UID).build();
 
         mPreferenceManager = new PreferenceManager(mContext);
 
@@ -113,8 +104,9 @@
         mRestrictedAppDetails.mRestrictedAppListGroup = spy(new PreferenceCategory(mContext));
         mRestrictedAppDetails.mBatteryUtils = spy(new BatteryUtils(mContext));
         mRestrictedAppDetails.mBatteryDatabaseManager = mBatteryDatabaseManager;
-        doReturn(mPreferenceManager).when(
-                mRestrictedAppDetails.mRestrictedAppListGroup).getPreferenceManager();
+        doReturn(mPreferenceManager)
+                .when(mRestrictedAppDetails.mRestrictedAppListGroup)
+                .getPreferenceManager();
 
         mCheckBoxPreference = new CheckBoxPreference(mContext);
         mCheckBoxPreference.setKey(mRestrictedAppDetails.getKeyFromAppInfo(mAppInfo));
@@ -122,14 +114,17 @@
 
     @Test
     public void refreshUi_displayPreference() throws Exception {
-        doReturn(mApplicationInfo).when(mPackageManager)
+        doReturn(mApplicationInfo)
+                .when(mPackageManager)
                 .getApplicationInfoAsUser(PACKAGE_NAME, 0, USER_ID);
         doReturn(APP_NAME).when(mPackageManager).getApplicationLabel(mApplicationInfo);
-        doReturn(true).when(mRestrictedAppDetails.mBatteryUtils).isForceAppStandbyEnabled(UID,
-                PACKAGE_NAME);
+        doReturn(true)
+                .when(mRestrictedAppDetails.mBatteryUtils)
+                .isForceAppStandbyEnabled(UID, PACKAGE_NAME);
         final SparseLongArray timestampArray = new SparseLongArray();
         timestampArray.put(UID, System.currentTimeMillis() - TimeUnit.HOURS.toMillis(5));
-        doReturn(timestampArray).when(mBatteryDatabaseManager)
+        doReturn(timestampArray)
+                .when(mBatteryDatabaseManager)
                 .queryActionTime(AnomalyDatabaseHelper.ActionType.RESTRICTION);
 
         mRestrictedAppDetails.refreshUi();
@@ -145,30 +140,32 @@
     @Test
     public void startRestrictedAppDetails_startWithCorrectData() {
         final ArgumentCaptor<Intent> captor = ArgumentCaptor.forClass(Intent.class);
-        doAnswer(invocation -> {
-            // Get the intent in which it has the app info bundle
-            mIntent = captor.getValue();
-            return true;
-        }).when(mContext).startActivity(captor.capture());
+        doAnswer(
+                        invocation -> {
+                            // Get the intent in which it has the app info bundle
+                            mIntent = captor.getValue();
+                            return true;
+                        })
+                .when(mContext)
+                .startActivity(captor.capture());
 
-        RestrictedAppDetails.startRestrictedAppDetails(mFragment,
-                mRestrictedAppDetails.mAppInfos);
+        RestrictedAppDetails.startRestrictedAppDetails(mFragment, mRestrictedAppDetails.mAppInfos);
 
-        final Bundle bundle = mIntent.getBundleExtra(
-                SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
+        final Bundle bundle =
+                mIntent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
         // Verify the bundle has the correct info
-        final List<AppInfo> appInfos = bundle.getParcelableArrayList(
-                RestrictedAppDetails.EXTRA_APP_INFO_LIST);
+        final List<AppInfo> appInfos =
+                bundle.getParcelableArrayList(RestrictedAppDetails.EXTRA_APP_INFO_LIST);
         assertThat(appInfos).containsExactly(mAppInfo);
     }
 
     @Test
     public void createDialogFragment_toRestrict_createRestrictDialog() {
-        final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment(
-                mAppInfo, true);
+        final BatteryTipDialogFragment dialogFragment =
+                mRestrictedAppDetails.createDialogFragment(mAppInfo, true);
 
-        FragmentController.setupFragment(dialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                dialogFragment, FragmentActivity.class, 0 /* containerViewId */, null /* bundle */);
 
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -177,11 +174,11 @@
 
     @Test
     public void createDialogFragment_toUnrestrict_createUnrestrictDialog() {
-        final BatteryTipDialogFragment dialogFragment = mRestrictedAppDetails.createDialogFragment(
-                mAppInfo, false);
+        final BatteryTipDialogFragment dialogFragment =
+                mRestrictedAppDetails.createDialogFragment(mAppInfo, false);
 
-        FragmentController.setupFragment(dialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                dialogFragment, FragmentActivity.class, 0 /* containerViewId */, null /* bundle */);
 
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -190,8 +187,8 @@
 
     @Test
     public void onBatteryTipHandled_restrict_setChecked() {
-        final RestrictAppTip restrictAppTip = new RestrictAppTip(BatteryTip.StateType.NEW,
-                mAppInfo);
+        final RestrictAppTip restrictAppTip =
+                new RestrictAppTip(BatteryTip.StateType.NEW, mAppInfo);
         mRestrictedAppDetails.mRestrictedAppListGroup.addPreference(mCheckBoxPreference);
 
         mRestrictedAppDetails.onBatteryTipHandled(restrictAppTip);
@@ -201,8 +198,8 @@
 
     @Test
     public void onBatteryTipHandled_unrestrict_setUnchecked() {
-        final UnrestrictAppTip unrestrictAppTip = new UnrestrictAppTip(BatteryTip.StateType.NEW,
-                mAppInfo);
+        final UnrestrictAppTip unrestrictAppTip =
+                new UnrestrictAppTip(BatteryTip.StateType.NEW, mAppInfo);
         mRestrictedAppDetails.mRestrictedAppListGroup.addPreference(mCheckBoxPreference);
 
         mRestrictedAppDetails.onBatteryTipHandled(unrestrictAppTip);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java
deleted file mode 100644
index bcddbc2..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/RestrictedPreferenceControllerTest.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.fuelgauge;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.when;
-
-import com.android.settingslib.widget.SelectorWithWidgetPreference;
-
-import org.junit.Before;
-import 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 RestrictedPreferenceControllerTest {
-    private static final int UID = 12345;
-    private static final String PACKAGE_NAME = "com.android.app";
-
-    private RestrictedPreferenceController mController;
-    private SelectorWithWidgetPreference mPreference;
-
-    @Mock BatteryOptimizeUtils mockBatteryOptimizeUtils;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mController = new RestrictedPreferenceController(
-                RuntimeEnvironment.application, UID, PACKAGE_NAME);
-        mPreference = new SelectorWithWidgetPreference(RuntimeEnvironment.application);
-        mController.mBatteryOptimizeUtils = mockBatteryOptimizeUtils;
-    }
-
-    @Test
-    public void testUpdateState_isValidPackage_prefEnabled() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_invalidPackage_prefDisabled() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultAppAndRestrictedStates_prefChecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mockBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
-                BatteryOptimizeUtils.MODE_RESTRICTED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isFalse();
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void testUpdateState_isRestrictedStates_prefChecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
-                BatteryOptimizeUtils.MODE_RESTRICTED);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_prefUnchecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_samePrefKey_verifyAction() {
-        mPreference.setKey(mController.KEY_RESTRICTED_PREF);
-        mController.handlePreferenceTreeClick(mPreference);
-
-        assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
-    }
-
-    @Test
-    public void testHandlePreferenceTreeClick_incorrectPrefKey_noAction() {
-        assertThat(mController.handlePreferenceTreeClick(mPreference)).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
index 6691bd5..b03602d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/SmartBatteryPreferenceControllerTest.java
@@ -54,7 +54,8 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        doReturn(mock(DevicePolicyManager.class)).when(mContext)
+        doReturn(mock(DevicePolicyManager.class))
+                .when(mContext)
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
 
         mFeatureFactory = FakeFeatureFactory.setupForTest();
@@ -99,26 +100,26 @@
     public void testGetAvailabilityStatus_smartBatterySupported_returnAvailable() {
         doReturn(true).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
     }
 
     @Test
     public void testGetAvailabilityStatus_smartBatteryUnSupported_returnDisabled() {
         doReturn(false).when(mFeatureFactory.powerUsageFeatureProvider).isSmartBatterySupported();
 
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
     }
 
     private void putSmartBatteryValue(int value) {
-        Settings.Global.putInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, value);
+        Settings.Global.putInt(
+                mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, value);
     }
 
     private int getSmartBatteryValue() {
-        return Settings.Global.getInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON);
+        return Settings.Global.getInt(
+                mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
index f6bc297..f7b5049 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/TopLevelBatteryPreferenceControllerTest.java
@@ -17,17 +17,14 @@
 package com.android.settings.fuelgauge;
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
-import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
 import android.hardware.usb.UsbManager;
 import android.hardware.usb.UsbPort;
 import android.hardware.usb.UsbPortStatus;
@@ -46,10 +43,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-import java.util.ArrayList;
-import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
 public class TopLevelBatteryPreferenceControllerTest {
@@ -57,12 +50,9 @@
     private TopLevelBatteryPreferenceController mController;
     private BatterySettingsFeatureProvider mBatterySettingsFeatureProvider;
 
-    @Mock
-    private UsbPort mUsbPort;
-    @Mock
-    private UsbManager mUsbManager;
-    @Mock
-    private UsbPortStatus mUsbPortStatus;
+    @Mock private UsbPort mUsbPort;
+    @Mock private UsbManager mUsbManager;
+    @Mock private UsbPortStatus mUsbPortStatus;
 
     @Before
     public void setUp() {
@@ -132,8 +122,7 @@
         info.discharging = false;
         info.chargeLabel = "5% - charging";
 
-        assertThat(mController.getDashboardLabel(mContext, info, true))
-                .isEqualTo(info.chargeLabel);
+        assertThat(mController.getDashboardLabel(mContext, info, true)).isEqualTo(info.chargeLabel);
     }
 
     @Test
@@ -141,9 +130,14 @@
         BatteryTestUtils.setupIncompatibleEvent(mUsbPort, mUsbManager, mUsbPortStatus);
         mController.mPreference = new Preference(mContext);
         BatteryInfo info = new BatteryInfo();
+        info.batteryPercentString = "66%";
 
         assertThat(mController.getDashboardLabel(mContext, info, true))
-                .isEqualTo(mContext.getString(R.string.battery_info_status_not_charging));
+                .isEqualTo(
+                        mContext.getString(
+                                com.android.settingslib.R.string
+                                        .power_incompatible_charging_settings_home_page,
+                                info.batteryPercentString));
     }
 
     @Test
@@ -153,8 +147,7 @@
         info.batteryStatus = BatteryManager.BATTERY_STATUS_NOT_CHARGING;
         info.statusLabel = "expected returned label";
 
-        assertThat(mController.getDashboardLabel(mContext, info, true))
-                .isEqualTo(info.statusLabel);
+        assertThat(mController.getDashboardLabel(mContext, info, true)).isEqualTo(info.statusLabel);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
index 9bed9ba..0c6f7da 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/UnrestrictedPreferenceControllerTest.java
@@ -18,8 +18,13 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
+import android.content.Context;
+import android.content.pm.PackageManager;
+
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.Before;
@@ -37,43 +42,54 @@
 
     private UnrestrictedPreferenceController mController;
     private SelectorWithWidgetPreference mPreference;
+    private BatteryOptimizeUtils mBatteryOptimizeUtils;
 
-    @Mock BatteryOptimizeUtils mockBatteryOptimizeUtils;
+    @Mock PackageManager mMockPackageManager;
 
     @Before
-    public void setUp() {
+    public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
 
-        mController = new UnrestrictedPreferenceController(
-                RuntimeEnvironment.application, UID, PACKAGE_NAME);
+        Context context = spy(RuntimeEnvironment.application);
+        BatteryUtils.getInstance(context).reset();
+        doReturn(UID)
+                .when(mMockPackageManager)
+                .getPackageUid(PACKAGE_NAME, PackageManager.GET_META_DATA);
+
+        mController = new UnrestrictedPreferenceController(context, UID, PACKAGE_NAME);
         mPreference = new SelectorWithWidgetPreference(RuntimeEnvironment.application);
-        mController.mBatteryOptimizeUtils = mockBatteryOptimizeUtils;
+        mBatteryOptimizeUtils = spy(new BatteryOptimizeUtils(context, UID, PACKAGE_NAME));
+        mController.mBatteryOptimizeUtils = mBatteryOptimizeUtils;
     }
 
     @Test
     public void testUpdateState_isValidPackage_prefEnabled() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
 
         mController.updateState(mPreference);
 
+        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isTrue();
         assertThat(mPreference.isEnabled()).isTrue();
     }
 
     @Test
     public void testUpdateState_invalidPackage_prefDisabled() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(true);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(false);
 
         mController.updateState(mPreference);
 
+        assertThat(mBatteryOptimizeUtils.isOptimizeModeMutable()).isFalse();
         assertThat(mPreference.isEnabled()).isFalse();
     }
 
     @Test
     public void testUpdateState_isSystemOrDefaultAppAndUnrestrictedStates_prefChecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
-        when(mockBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
-                BatteryOptimizeUtils.MODE_UNRESTRICTED);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
 
         mController.updateState(mPreference);
 
@@ -82,32 +98,38 @@
 
     @Test
     public void testUpdateState_isSystemOrDefaultApp_prefUnchecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isSystemOrDefaultApp()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
 
         mController.updateState(mPreference);
 
-        assertThat(mPreference.isChecked()).isFalse();
         assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(mPreference.isChecked()).isFalse();
     }
 
     @Test
     public void testUpdateState_isUnrestrictedStates_prefChecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
-        when(mockBatteryOptimizeUtils.getAppOptimizationMode()).thenReturn(
-                BatteryOptimizeUtils.MODE_UNRESTRICTED);
+        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_UNRESTRICTED);
 
         mController.updateState(mPreference);
 
+        assertThat(mPreference.isEnabled()).isTrue();
         assertThat(mPreference.isChecked()).isTrue();
     }
 
     @Test
     public void testUpdateState_prefUnchecked() {
-        when(mockBatteryOptimizeUtils.isDisabledForOptimizeModeOnly()).thenReturn(false);
+        when(mBatteryOptimizeUtils.isOptimizeModeMutable()).thenReturn(true);
+        when(mBatteryOptimizeUtils.getAppOptimizationMode())
+                .thenReturn(BatteryOptimizeUtils.MODE_OPTIMIZED);
 
         mController.updateState(mPreference);
 
+        assertThat(mPreference.isEnabled()).isTrue();
         assertThat(mPreference.isChecked()).isFalse();
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
index 7398e5c..cdcb12f 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverButtonPreferenceControllerTest.java
@@ -47,10 +47,8 @@
     private Context mContext;
     private MainSwitchPreference mPreference;
 
-    @Mock
-    private PowerManager mPowerManager;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
+    @Mock private PowerManager mPowerManager;
+    @Mock private PreferenceScreen mPreferenceScreen;
 
     @Before
     public void setUp() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java
index 2bb8f28..cdde8f9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSchedulePreferenceControllerTest.java
@@ -59,10 +59,12 @@
 
     @Test
     public void testPreference_lowPowerLevelZero_percentageMode_summaryNoSchedule() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Global.AUTOMATIC_POWER_SAVE_MODE, PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
+        Settings.Global.putInt(
+                mContext.getContentResolver(), Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Global.AUTOMATIC_POWER_SAVE_MODE,
+                PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
 
         mController.updateState(mPreference);
 
@@ -71,10 +73,14 @@
 
     @Test
     public void testPreference_lowPowerLevelNonZero_percentageMode_summaryPercentage() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, TRIGGER_LEVEL);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Global.AUTOMATIC_POWER_SAVE_MODE, PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
+                TRIGGER_LEVEL);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Global.AUTOMATIC_POWER_SAVE_MODE,
+                PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
 
         mController.updateState(mPreference);
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java
index 9de3ada..f224c8a 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSeekBarControllerTest.java
@@ -34,8 +34,7 @@
     private Context mContext;
     private ContentResolver mResolver;
     private BatterySaverScheduleSeekBarController mController;
-    @Mock
-    private PreferenceScreen mScreen;
+    @Mock private PreferenceScreen mScreen;
 
     @Before
     public void setUp() {
@@ -83,7 +82,9 @@
 
     @Test
     public void updateSeekBar_routineMode_hasCorrectProperties() {
-        Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+        Settings.Global.putInt(
+                mResolver,
+                Global.AUTOMATIC_POWER_SAVE_MODE,
                 PowerManager.POWER_SAVE_MODE_TRIGGER_DYNAMIC);
 
         mController.updateSeekBar();
@@ -95,7 +96,9 @@
     @Test
     public void updateSeekBar_percentageMode_hasCorrectProperties() {
         final CharSequence expectedTitle = "10%";
-        Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+        Settings.Global.putInt(
+                mResolver,
+                Global.AUTOMATIC_POWER_SAVE_MODE,
                 PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
         setTriggerLevel(10);
 
@@ -108,7 +111,9 @@
 
     @Test
     public void updateSeekBar_noneMode_hasCorrectProperties() {
-        Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+        Settings.Global.putInt(
+                mResolver,
+                Global.AUTOMATIC_POWER_SAVE_MODE,
                 PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
         setTriggerLevel(0);
 
@@ -120,7 +125,9 @@
 
     @Test
     public void addToScreen_addsToEnd() {
-        Settings.Global.putInt(mResolver, Global.AUTOMATIC_POWER_SAVE_MODE,
+        Settings.Global.putInt(
+                mResolver,
+                Global.AUTOMATIC_POWER_SAVE_MODE,
                 PowerManager.POWER_SAVE_MODE_TRIGGER_PERCENTAGE);
         setTriggerLevel(15);
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
index dc9cac4..2138e64 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverScheduleSettingsTest.java
@@ -1,6 +1,7 @@
 package com.android.settings.fuelgauge.batterysaver;
 
 import static com.google.common.truth.Truth.assertThat;
+
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -90,18 +91,25 @@
     }
 
     private void setSchedule(int scheduleType, int schedulePercentage) {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.AUTOMATIC_POWER_SAVE_MODE, scheduleType);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL, schedulePercentage);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Settings.Global.AUTOMATIC_POWER_SAVE_MODE,
+                scheduleType);
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                Settings.Global.LOW_POWER_MODE_TRIGGER_LEVEL,
+                schedulePercentage);
     }
 
     private void verifySchedule(String scheduleTypeKey, int schedulePercentage) {
         waitAWhile();
-        verify(mMetricsFeatureProvider).action(SettingsEnums.FUELGAUGE_BATTERY_SAVER,
-                SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
-                SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
-                scheduleTypeKey, schedulePercentage);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_SAVER,
+                        SettingsEnums.FIELD_BATTERY_SAVER_SCHEDULE_TYPE,
+                        SettingsEnums.FIELD_BATTERY_SAVER_PERCENTAGE_VALUE,
+                        scheduleTypeKey,
+                        schedulePercentage);
     }
 
     private void waitAWhile() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java
index 7cb57a3..84af4e1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterysaver/BatterySaverSettingsTest.java
@@ -31,12 +31,16 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            com.android.settings.testutils.shadow.ShadowFragment.class,
+        })
 public class BatterySaverSettingsTest {
     BatterySaverSettings mFragment;
-    @Mock
-    PreferenceScreen mScreen;
+    @Mock PreferenceScreen mScreen;
 
     @Before
     public void setUp() {
@@ -46,7 +50,6 @@
         doReturn(mScreen).when(mFragment).getPreferenceScreen();
     }
 
-
     @Test
     public void setupFooter_linkAddedWhenAppropriate() {
         doReturn("").when(mFragment).getText(anyInt());
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
deleted file mode 100644
index 4c276ba..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyCleanupJobServiceTest.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.JobSchedulerImpl;
-import android.app.job.IJobScheduler;
-import android.app.job.JobInfo;
-import android.app.job.JobParameters;
-import android.app.job.JobScheduler;
-import android.content.Context;
-import android.os.Binder;
-
-import com.android.settings.R;
-import com.android.settings.testutils.DatabaseTestUtils;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@RunWith(RobolectricTestRunner.class)
-public class AnomalyCleanupJobServiceTest {
-    private static final int UID = 1234;
-    private static final String PACKAGE_NAME = "com.android.package";
-    private static final String PACKAGE_NAME_OLD = "com.android.package.old";
-    private static final int ANOMALY_TYPE = 1;
-    private static final long TIMESTAMP_NOW = System.currentTimeMillis();
-    private static final long TIMESTAMP_31_DAYS_BEFORE = TIMESTAMP_NOW - TimeUnit.DAYS.toMillis(31);
-
-    private Context mContext;
-    private JobScheduler mJobScheduler;
-    @Mock
-    private JobParameters mParams;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        mJobScheduler = spy(new JobSchedulerImpl(mContext,
-                IJobScheduler.Stub.asInterface(new Binder())));
-        when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
-    }
-
-    @After
-    public void cleanUp() {
-        DatabaseTestUtils.clearDb(mContext);
-    }
-
-    @Test
-    public void scheduleCleanUp() {
-        AnomalyCleanupJobService.scheduleCleanUp(mContext);
-
-        JobScheduler jobScheduler = mContext.getSystemService(JobScheduler.class);
-        List<JobInfo> pendingJobs = jobScheduler.getAllPendingJobs();
-        assertEquals(1, pendingJobs.size());
-        JobInfo pendingJob = pendingJobs.get(0);
-        assertThat(pendingJob.getId()).isEqualTo(R.integer.job_anomaly_clean_up);
-        assertThat(pendingJob.getIntervalMillis()).isEqualTo(TimeUnit.DAYS.toMillis(1));
-        assertThat(pendingJob.isRequireDeviceIdle()).isTrue();
-        assertThat(pendingJob.isRequireCharging()).isTrue();
-        assertThat(pendingJob.isPersisted()).isTrue();
-    }
-
-    @Test
-    public void scheduleCleanUp_invokeTwice_onlyScheduleOnce() {
-        AnomalyCleanupJobService.scheduleCleanUp(mContext);
-        AnomalyCleanupJobService.scheduleCleanUp(mContext);
-
-        verify(mJobScheduler, times(1)).schedule(any());
-    }
-
-    @Test
-    @Ignore
-    public void onStartJob_cleanUpDataBefore30days() {
-        final BatteryDatabaseManager databaseManager = BatteryDatabaseManager.getInstance(mContext);
-        final AnomalyCleanupJobService service = spy(Robolectric.setupService(
-                AnomalyCleanupJobService.class));
-        doNothing().when(service).jobFinished(any(), anyBoolean());
-
-        // Insert two records, one is current and the other one is 31 days before
-        databaseManager.insertAnomaly(UID, PACKAGE_NAME, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, TIMESTAMP_NOW);
-        databaseManager.insertAnomaly(UID, PACKAGE_NAME_OLD, ANOMALY_TYPE,
-                AnomalyDatabaseHelper.State.NEW, TIMESTAMP_31_DAYS_BEFORE);
-
-        service.onStartJob(mParams);
-
-        // In database, it only contains the current record
-        final List<AppInfo> appInfos = databaseManager.queryAllAnomalies(0,
-                AnomalyDatabaseHelper.State.NEW);
-        assertThat(appInfos).containsExactly(new AppInfo.Builder()
-                .setUid(UID)
-                .setPackageName(PACKAGE_NAME)
-                .addAnomalyType(ANOMALY_TYPE)
-                .build());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
deleted file mode 100644
index 3807be6..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyConfigJobServiceTest.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doReturn;
-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.RuntimeEnvironment.application;
-
-import android.app.JobSchedulerImpl;
-import android.app.StatsManager;
-import android.app.job.IJobScheduler;
-import android.app.job.JobInfo;
-import android.app.job.JobScheduler;
-import android.content.Context;
-import android.os.Binder;
-import android.provider.Settings;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@RunWith(RobolectricTestRunner.class)
-public class AnomalyConfigJobServiceTest {
-
-    private static final int ANOMALY_CONFIG_VERSION = 1;
-    private static final String ANOMALY_CONFIG = "X64s";
-    @Mock
-    private StatsManager mStatsManager;
-
-    private Context mContext;
-    private JobScheduler mJobScheduler;
-    private AnomalyConfigJobService mJobService;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        mJobScheduler = spy(new JobSchedulerImpl(mContext,
-                IJobScheduler.Stub.asInterface(new Binder())));
-        when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
-
-        mJobService = spy(new AnomalyConfigJobService());
-        doReturn(application.getSharedPreferences(AnomalyConfigJobService.PREF_DB,
-                Context.MODE_PRIVATE)).when(mJobService).getSharedPreferences(anyString(),
-                anyInt());
-        doReturn(application.getContentResolver()).when(mJobService).getContentResolver();
-    }
-
-    @Test
-    public void testScheduleConfigUpdate() {
-        AnomalyConfigJobService.scheduleConfigUpdate(mContext);
-
-        JobScheduler jobScheduler = mContext.getSystemService(JobScheduler.class);
-        List<JobInfo> pendingJobs = jobScheduler.getAllPendingJobs();
-        assertEquals(1, pendingJobs.size());
-        JobInfo pendingJob = pendingJobs.get(0);
-        assertThat(pendingJob.getId()).isEqualTo(R.integer.job_anomaly_config_update);
-        assertThat(pendingJob.getIntervalMillis()).isEqualTo(TimeUnit.DAYS.toMillis(1));
-        assertThat(pendingJob.isRequireDeviceIdle()).isTrue();
-        assertThat(pendingJob.isRequireCharging()).isTrue();
-        assertThat(pendingJob.isPersisted()).isTrue();
-    }
-
-    @Test
-    public void testScheduleConfigUpdate_invokeTwice_onlyScheduleOnce() {
-        AnomalyConfigJobService.scheduleConfigUpdate(mContext);
-        AnomalyConfigJobService.scheduleConfigUpdate(mContext);
-
-        verify(mJobScheduler, times(1)).schedule(any());
-    }
-
-    @Test
-    public void checkAnomalyConfig_newConfigExist_removeOldConfig()
-            throws StatsManager.StatsUnavailableException{
-        Settings.Global.putInt(application.getContentResolver(),
-                Settings.Global.ANOMALY_CONFIG_VERSION, ANOMALY_CONFIG_VERSION);
-        Settings.Global.putString(application.getContentResolver(), Settings.Global.ANOMALY_CONFIG,
-                ANOMALY_CONFIG);
-
-        mJobService.checkAnomalyConfig(mStatsManager);
-
-        verify(mStatsManager).removeConfig(StatsManagerConfig.ANOMALY_CONFIG_KEY);
-    }
-
-    @Test
-    public void checkAnomalyConfig_newConfigExist_uploadNewConfig()
-            throws StatsManager.StatsUnavailableException{
-        Settings.Global.putInt(application.getContentResolver(),
-                Settings.Global.ANOMALY_CONFIG_VERSION, ANOMALY_CONFIG_VERSION);
-        Settings.Global.putString(application.getContentResolver(), Settings.Global.ANOMALY_CONFIG,
-                ANOMALY_CONFIG);
-
-        mJobService.checkAnomalyConfig(mStatsManager);
-
-        verify(mStatsManager).addConfig(eq(StatsManagerConfig.ANOMALY_CONFIG_KEY), any());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
deleted file mode 100644
index 1c37d31..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/AnomalyDetectionJobServiceTest.java
+++ /dev/null
@@ -1,326 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.fuelgauge.batterytip;
-
-import static android.os.StatsDimensionsValue.FLOAT_VALUE_TYPE;
-import static android.os.StatsDimensionsValue.INT_VALUE_TYPE;
-import static android.os.StatsDimensionsValue.TUPLE_VALUE_TYPE;
-
-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.anyLong;
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.ArgumentMatchers.eq;
-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.app.JobSchedulerImpl;
-import android.app.StatsManager;
-import android.app.job.IJobScheduler;
-import android.app.job.JobInfo;
-import android.app.job.JobParameters;
-import android.app.job.JobScheduler;
-import android.app.job.JobWorkItem;
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.content.Intent;
-import android.os.Binder;
-import android.os.Bundle;
-import android.os.Process;
-import android.os.StatsDimensionsValue;
-import android.os.UserManager;
-
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryUtils;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowConnectivityManager;
-import com.android.settingslib.fuelgauge.PowerAllowlistBackend;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.android.controller.ServiceController;
-import org.robolectric.annotation.Config;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.TimeUnit;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowConnectivityManager.class})
-public class AnomalyDetectionJobServiceTest {
-    private static final int UID = 12345;
-    private static final String SYSTEM_PACKAGE = "com.android.system";
-    private static final String SUBSCRIBER_COOKIES_AUTO_RESTRICTION =
-            "anomaly_type=6,auto_restriction=true";
-    private static final String SUBSCRIBER_COOKIES_NOT_AUTO_RESTRICTION =
-            "anomaly_type=6,auto_restriction=false";
-    private static final int ANOMALY_TYPE = 6;
-    private static final long VERSION_CODE = 15;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private BatteryDatabaseManager mBatteryDatabaseManager;
-    @Mock
-    private BatteryUtils mBatteryUtils;
-    @Mock
-    private PowerAllowlistBackend mPowerAllowlistBackend;
-    @Mock
-    private StatsDimensionsValue mStatsDimensionsValue;
-    @Mock
-    private JobParameters mJobParameters;
-    @Mock
-    private JobWorkItem mJobWorkItem;
-
-    private BatteryTipPolicy mPolicy;
-    private Bundle mBundle;
-    private AnomalyDetectionJobService mAnomalyDetectionJobService;
-    private FakeFeatureFactory mFeatureFactory;
-    private Context mContext;
-    private JobScheduler mJobScheduler;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(RuntimeEnvironment.application);
-        mJobScheduler = spy(new JobSchedulerImpl(mContext,
-                IJobScheduler.Stub.asInterface(new Binder())));
-        when(mContext.getSystemService(JobScheduler.class)).thenReturn(mJobScheduler);
-
-        mPolicy = new BatteryTipPolicy(mContext);
-        mBundle = new Bundle();
-        mBundle.putParcelable(StatsManager.EXTRA_STATS_DIMENSIONS_VALUE, mStatsDimensionsValue);
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        when(mBatteryUtils.getAppLongVersionCode(any())).thenReturn(VERSION_CODE);
-
-        final ServiceController<AnomalyDetectionJobService> controller =
-                Robolectric.buildService(AnomalyDetectionJobService.class);
-        mAnomalyDetectionJobService = spy(controller.get());
-        doNothing().when(mAnomalyDetectionJobService).jobFinished(any(), anyBoolean());
-    }
-
-    @Test
-    public void scheduleCleanUp() {
-        AnomalyDetectionJobService.scheduleAnomalyDetection(mContext, new Intent());
-
-        JobScheduler jobScheduler = mContext.getSystemService(JobScheduler.class);
-        List<JobInfo> pendingJobs = jobScheduler.getAllPendingJobs();
-        assertThat(pendingJobs).hasSize(1);
-
-        JobInfo pendingJob = pendingJobs.get(0);
-        assertThat(pendingJob.getId()).isEqualTo(R.integer.job_anomaly_detection);
-        assertThat(pendingJob.getMaxExecutionDelayMillis())
-                .isEqualTo(TimeUnit.MINUTES.toMillis(30));
-    }
-
-    @Test
-    public void saveAnomalyToDatabase_systemAllowlisted_doNotSave() {
-        doReturn(UID).when(mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
-        doReturn(true).when(mPowerAllowlistBackend)
-                .isAllowlisted(any(String[].class), any(Integer.class));
-
-        mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
-                mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
-                mPowerAllowlistBackend, mContext.getContentResolver(),
-                mFeatureFactory.powerUsageFeatureProvider,
-                mFeatureFactory.metricsFeatureProvider, mBundle);
-
-        verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
-                anyInt(), anyLong());
-    }
-
-    @Test
-    public void saveAnomalyToDatabase_systemApp_doNotSaveButLog() {
-        final ArrayList<String> cookies = new ArrayList<>();
-        cookies.add(SUBSCRIBER_COOKIES_AUTO_RESTRICTION);
-        mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
-        doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
-        doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
-        doReturn(Process.FIRST_APPLICATION_UID).when(
-                mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
-        doReturn(true).when(mBatteryUtils).shouldHideAnomaly(any(), anyInt(), any());
-
-        mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
-                mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
-                mPowerAllowlistBackend, mContext.getContentResolver(),
-                mFeatureFactory.powerUsageFeatureProvider,
-                mFeatureFactory.metricsFeatureProvider, mBundle);
-
-        verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
-                anyInt(), anyLong());
-        verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_ANOMALY_IGNORED,
-                SettingsEnums.PAGE_UNKNOWN,
-                SYSTEM_PACKAGE + "/" + VERSION_CODE,
-                 ANOMALY_TYPE);
-    }
-
-    @Test
-    public void saveAnomalyToDatabase_systemUid_doNotSave() {
-        doReturn(Process.SYSTEM_UID).when(
-                mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
-
-        mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
-                mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
-                mPowerAllowlistBackend, mContext.getContentResolver(),
-                mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
-                mBundle);
-
-        verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
-                anyInt(), anyLong());
-    }
-
-    @Test
-    public void saveAnomalyToDatabase_uidNull_doNotSave() {
-        doReturn(AnomalyDetectionJobService.UID_NULL).when(
-                mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
-
-        mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
-                mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
-                mPowerAllowlistBackend, mContext.getContentResolver(),
-                mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
-                mBundle);
-
-        verify(mBatteryDatabaseManager, never()).insertAnomaly(anyInt(), anyString(), anyInt(),
-                anyInt(), anyLong());
-    }
-
-    @Test
-    public void saveAnomalyToDatabase_normalAppWithAutoRestriction_save() {
-        final ArrayList<String> cookies = new ArrayList<>();
-        cookies.add(SUBSCRIBER_COOKIES_AUTO_RESTRICTION);
-        mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
-        doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
-        doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
-        doReturn(Process.FIRST_APPLICATION_UID).when(
-                mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
-
-        mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
-                mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
-                mPowerAllowlistBackend, mContext.getContentResolver(),
-                mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
-                mBundle);
-
-        verify(mBatteryDatabaseManager).insertAnomaly(anyInt(), anyString(), eq(6),
-                eq(AnomalyDatabaseHelper.State.AUTO_HANDLED), anyLong());
-        verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_ANOMALY_TRIGGERED,
-                SettingsEnums.PAGE_UNKNOWN,
-                SYSTEM_PACKAGE + "/" + VERSION_CODE,
-                ANOMALY_TYPE);
-    }
-
-    @Test
-    public void saveAnomalyToDatabase_normalAppWithoutAutoRestriction_save() {
-        final ArrayList<String> cookies = new ArrayList<>();
-        cookies.add(SUBSCRIBER_COOKIES_NOT_AUTO_RESTRICTION);
-        mBundle.putStringArrayList(StatsManager.EXTRA_STATS_BROADCAST_SUBSCRIBER_COOKIES, cookies);
-        doReturn(SYSTEM_PACKAGE).when(mBatteryUtils).getPackageName(anyInt());
-        doReturn(false).when(mPowerAllowlistBackend).isSysAllowlisted(SYSTEM_PACKAGE);
-        doReturn(Process.FIRST_APPLICATION_UID).when(
-                mAnomalyDetectionJobService).extractUidFromStatsDimensionsValue(any());
-
-        mAnomalyDetectionJobService.saveAnomalyToDatabase(mContext,
-                mUserManager, mBatteryDatabaseManager, mBatteryUtils, mPolicy,
-                mPowerAllowlistBackend, mContext.getContentResolver(),
-                mFeatureFactory.powerUsageFeatureProvider, mFeatureFactory.metricsFeatureProvider,
-                mBundle);
-
-        verify(mBatteryDatabaseManager).insertAnomaly(anyInt(), anyString(), eq(6),
-                eq(AnomalyDatabaseHelper.State.NEW), anyLong());
-        verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_ANOMALY_TRIGGERED,
-                SettingsEnums.PAGE_UNKNOWN,
-                SYSTEM_PACKAGE + "/" + VERSION_CODE,
-                ANOMALY_TYPE);
-    }
-
-    @Test
-    public void extractUidFromStatsDimensionsValue_extractCorrectUid() {
-        // Build an integer dimensions value.
-        final StatsDimensionsValue intValue = mock(StatsDimensionsValue.class);
-        when(intValue.isValueType(INT_VALUE_TYPE)).thenReturn(true);
-        when(intValue.getField()).thenReturn(AnomalyDetectionJobService.STATSD_UID_FILED);
-        when(intValue.getIntValue()).thenReturn(UID);
-
-        // Build a tuple dimensions value and put the previous integer dimensions value inside.
-        final StatsDimensionsValue tupleValue = mock(StatsDimensionsValue.class);
-        when(tupleValue.isValueType(TUPLE_VALUE_TYPE)).thenReturn(true);
-        final List<StatsDimensionsValue> statsDimensionsValues = new ArrayList<>();
-        statsDimensionsValues.add(intValue);
-        when(tupleValue.getTupleValueList()).thenReturn(statsDimensionsValues);
-
-        assertThat(mAnomalyDetectionJobService.extractUidFromStatsDimensionsValue(
-                tupleValue)).isEqualTo(UID);
-    }
-
-    @Test
-    public void extractUidFromStatsDimensionsValue_wrongFormat_returnNull() {
-        // Build a float dimensions value
-        final StatsDimensionsValue floatValue = mock(StatsDimensionsValue.class);
-        when(floatValue.isValueType(FLOAT_VALUE_TYPE)).thenReturn(true);
-        when(floatValue.getField()).thenReturn(AnomalyDetectionJobService.STATSD_UID_FILED);
-        when(floatValue.getFloatValue()).thenReturn(0f);
-
-        assertThat(mAnomalyDetectionJobService.extractUidFromStatsDimensionsValue(
-                floatValue)).isEqualTo(AnomalyDetectionJobService.UID_NULL);
-    }
-
-    @Test
-    public void stopJobWhileDequeuingWork_shouldNotCrash() {
-        when(mJobParameters.dequeueWork()).thenThrow(new SecurityException());
-
-        mAnomalyDetectionJobService.onStopJob(mJobParameters);
-
-        // Should not crash even job is stopped
-        mAnomalyDetectionJobService.dequeueWork(mJobParameters);
-    }
-
-    @Test
-    public void stopJobWhileCompletingWork_shouldNotCrash() {
-        doThrow(new SecurityException()).when(mJobParameters).completeWork(any());
-
-        mAnomalyDetectionJobService.onStopJob(mJobParameters);
-
-        // Should not crash even job is stopped
-        mAnomalyDetectionJobService.completeWork(mJobParameters, mJobWorkItem);
-    }
-
-    @Test
-    public void restartWorkAfterBeenStopped_jobStarted() {
-        mAnomalyDetectionJobService.onStopJob(mJobParameters);
-        mAnomalyDetectionJobService.onStartJob(mJobParameters);
-
-        assertThat(mAnomalyDetectionJobService.mIsJobCanceled).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.java
new file mode 100644
index 0000000..f7469c7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryManagerPreferenceControllerTest.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.fuelgauge.batterytip;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.AppOpsManager;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.preference.Preference;
+
+import com.android.settings.R;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+
+import org.junit.Before;
+import org.junit.Test;
+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 = SettingsShadowResources.class)
+public class BatteryManagerPreferenceControllerTest {
+    private static final int ON = 1;
+    private static final int OFF = 0;
+
+    @Mock
+    private AppOpsManager mAppOpsManager;
+
+    private Context mContext;
+    private Preference mPreference;
+    private FakeFeatureFactory mFeatureFactory;
+    private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
+    private BatteryManagerPreferenceController mController;
+
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        when(mContext.getSystemService(AppOpsManager.class)).thenReturn(mAppOpsManager);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        mPreference = new Preference(mContext);
+        mController = new BatteryManagerPreferenceController(mContext);
+        mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
+    }
+
+    @Test
+    public void updateState_smartBatteryWithRestrictApps_showSummary() {
+        mController.updateSummary(mPreference, 2);
+
+        assertThat(mPreference.getSummary()).isEqualTo("2 apps restricted");
+    }
+
+    @Test
+    public void updateState_smartBatteryWithoutRestriction_showSummary() {
+        when(mPowerUsageFeatureProvider.isSmartBatterySupported()).thenReturn(true);
+        Settings.Global.putInt(mContext.getContentResolver(),
+                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, ON);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getSummary()).isEqualTo("Detecting when apps drain battery");
+    }
+
+    @Test
+    public void getAvailabilityStatus_supportBatteryManager_showPrefPage() {
+        SettingsShadowResources.overrideResource(
+                R.bool.config_battery_manager_consider_ac, true);
+        when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true);
+        when(mPowerUsageFeatureProvider.isAdaptiveChargingSupported()).thenReturn(true);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BatteryManagerPreferenceController.AVAILABLE_UNSEARCHABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_notSupportBatteryManager_notShowPrefPage() {
+        when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BatteryManagerPreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_supportBatteryManagerWithoutAC_notShowPrefPage() {
+        SettingsShadowResources.overrideResource(
+                R.bool.config_battery_manager_consider_ac, true);
+        when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true);
+        when(mPowerUsageFeatureProvider.isAdaptiveChargingSupported()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BatteryManagerPreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_ignoreBatteryManagerWithoutAC_showPrefPage() {
+        SettingsShadowResources.overrideResource(
+                R.bool.config_battery_manager_consider_ac, false);
+        when(mPowerUsageFeatureProvider.isBatteryManagerSupported()).thenReturn(true);
+        when(mPowerUsageFeatureProvider.isAdaptiveChargingSupported()).thenReturn(false);
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BatteryManagerPreferenceController.AVAILABLE_UNSEARCHABLE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
index 58bc061..f080574 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipDialogFragmentTest.java
@@ -18,7 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.spy;
 
 import android.content.Context;
@@ -39,7 +38,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settingslib.fuelgauge.EstimateKt;
 
 import org.junit.After;
 import org.junit.Before;
@@ -98,20 +96,21 @@
         mPackageManager.setApplicationIcon(PACKAGE_NAME, new ColorDrawable());
 
         List<AppInfo> highUsageTips = new ArrayList<>();
-        mAppInfo = new AppInfo.Builder()
-                .setScreenOnTimeMs(SCREEN_TIME_MS)
-                .setPackageName(PACKAGE_NAME)
-                .build();
+        mAppInfo =
+                new AppInfo.Builder()
+                        .setScreenOnTimeMs(SCREEN_TIME_MS)
+                        .setPackageName(PACKAGE_NAME)
+                        .build();
         highUsageTips.add(mAppInfo);
         mHighUsageTip = new HighUsageTip(SCREEN_TIME_MS, highUsageTips);
 
         final List<AppInfo> restrictApps = new ArrayList<>();
         restrictApps.add(mAppInfo);
-        mRestrictedOneAppTip = new RestrictAppTip(BatteryTip.StateType.NEW,
-                new ArrayList<>(restrictApps));
+        mRestrictedOneAppTip =
+                new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>(restrictApps));
         restrictApps.add(mAppInfo);
-        mRestrictTwoAppsTip = new RestrictAppTip(BatteryTip.StateType.NEW,
-                new ArrayList<>(restrictApps));
+        mRestrictTwoAppsTip =
+                new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>(restrictApps));
 
         mUnrestrictAppTip = new UnrestrictAppTip(BatteryTip.StateType.NEW, mAppInfo);
         mDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW, false /* isPluggedIn */);
@@ -128,24 +127,30 @@
 
         mDialogFragment = BatteryTipDialogFragment.newInstance(mHighUsageTip, METRICS_KEY);
 
-        FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                mDialogFragment,
+                FragmentActivity.class,
+                0 /* containerViewId */,
+                null /* bundle */);
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
 
-        assertThat(shadowDialog.getMessage()).isEqualTo(
-                mContext.getString(R.string.battery_tip_dialog_message, 1));
+        assertThat(shadowDialog.getMessage())
+                .isEqualTo(mContext.getString(R.string.battery_tip_dialog_message, 1));
     }
 
     @Test
     public void testOnCreateDialog_restrictOneAppTip_fireRestrictOneAppDialog() {
         mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictedOneAppTip, METRICS_KEY);
 
-        FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                mDialogFragment,
+                FragmentActivity.class,
+                0 /* containerViewId */,
+                null /* bundle */);
 
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
@@ -163,9 +168,11 @@
 
         mDialogFragment = BatteryTipDialogFragment.newInstance(mRestrictTwoAppsTip, METRICS_KEY);
 
-
-        FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                mDialogFragment,
+                FragmentActivity.class,
+                0 /* containerViewId */,
+                null /* bundle */);
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
@@ -189,13 +196,16 @@
         for (int i = 0; i < 6; i++) {
             appInfos.add(mAppInfo);
         }
-        final RestrictAppTip restrictSixAppsTip = new RestrictAppTip(BatteryTip.StateType.NEW,
-                appInfos);
+        final RestrictAppTip restrictSixAppsTip =
+                new RestrictAppTip(BatteryTip.StateType.NEW, appInfos);
 
         mDialogFragment = BatteryTipDialogFragment.newInstance(restrictSixAppsTip, METRICS_KEY);
 
-        FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                mDialogFragment,
+                FragmentActivity.class,
+                0 /* containerViewId */,
+                null /* bundle */);
 
         Robolectric.getForegroundThreadScheduler().advanceToLastPostedRunnable();
 
@@ -215,8 +225,11 @@
         mDialogFragment = BatteryTipDialogFragment.newInstance(mUnrestrictAppTip, METRICS_KEY);
         ShadowUtils.setApplicationLabel(PACKAGE_NAME, DISPLAY_NAME);
 
-        FragmentController.setupFragment(mDialogFragment, FragmentActivity.class,
-                0 /* containerViewId */, null /* bundle */);
+        FragmentController.setupFragment(
+                mDialogFragment,
+                FragmentActivity.class,
+                0 /* containerViewId */,
+                null /* bundle */);
 
         final AlertDialog dialog = ShadowAlertDialogCompat.getLatestAlertDialog();
         ShadowAlertDialogCompat shadowDialog = ShadowAlertDialogCompat.shadowOf(dialog);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java
index e13dcc0..bfe5d14 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipLoaderTest.java
@@ -50,21 +50,19 @@
 public class BatteryTipLoaderTest {
 
     private static final int[] TIP_ORDER = {
-            BatteryTip.TipType.LOW_BATTERY,
-            BatteryTip.TipType.BATTERY_DEFENDER,
-            BatteryTip.TipType.DOCK_DEFENDER,
-            BatteryTip.TipType.INCOMPATIBLE_CHARGER,
-            BatteryTip.TipType.HIGH_DEVICE_USAGE};
+        BatteryTip.TipType.LOW_BATTERY,
+        BatteryTip.TipType.BATTERY_DEFENDER,
+        BatteryTip.TipType.INCOMPATIBLE_CHARGER,
+        BatteryTip.TipType.HIGH_DEVICE_USAGE
+    };
+
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private BatteryUsageStats mBatteryUsageStats;
-    @Mock
-    private PowerManager mPowerManager;
-    @Mock
-    private Intent mIntent;
-    @Mock
-    private BatteryUtils mBatteryUtils;
-    @Mock
-    private BatteryInfo mBatteryInfo;
+
+    @Mock private PowerManager mPowerManager;
+    @Mock private Intent mIntent;
+    @Mock private BatteryUtils mBatteryUtils;
+    @Mock private BatteryInfo mBatteryInfo;
     private Context mContext;
     private BatteryTipLoader mBatteryTipLoader;
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
index 1c1d2cc..c05d9ed 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipPreferenceControllerTest.java
@@ -15,38 +15,34 @@
  */
 package com.android.settings.fuelgauge.batterytip;
 
-import static com.android.settings.fuelgauge.batterytip.tips.BatteryTip.TipType
-        .SMART_BATTERY_MANAGER;
+import static com.android.settings.fuelgauge.batterytip.tips.BatteryTip.TipType.SMART_BATTERY_MANAGER;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.os.Bundle;
-import android.text.format.DateUtils;
 
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
-import com.android.internal.logging.nano.MetricsProto;
-import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.widget.CardPreference;
 
 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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -56,37 +52,27 @@
 
     private static final String KEY_PREF = "battery_tip";
     private static final String KEY_TIP = "key_battery_tip";
-    private static final long AVERAGE_TIME_MS = DateUtils.HOUR_IN_MILLIS;
 
-    @Mock
-    private BatteryTipPreferenceController.BatteryTipListener mBatteryTipListener;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private BatteryTip mBatteryTip;
-    @Mock
-    private SettingsActivity mSettingsActivity;
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
+    @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Mock private BatteryTipPreferenceController.BatteryTipListener mBatteryTipListener;
+    @Mock private PreferenceScreen mPreferenceScreen;
+    @Mock private BatteryTip mBatteryTip;
+    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private InstrumentedPreferenceFragment mFragment;
 
     private Context mContext;
     private CardPreference mCardPreference;
     private BatteryTipPreferenceController mBatteryTipPreferenceController;
-    private List<BatteryTip> mOldBatteryTips;
     private List<BatteryTip> mNewBatteryTips;
-    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
 
-        mCardPreference = spy(new CardPreference(mContext));
+        mCardPreference = new CardPreference(mContext);
         when(mPreferenceScreen.getContext()).thenReturn(mContext);
         doReturn(mCardPreference).when(mPreferenceScreen).findPreference(KEY_PREF);
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
 
-        mOldBatteryTips = new ArrayList<>();
         mNewBatteryTips = new ArrayList<>();
 
         mBatteryTipPreferenceController = buildBatteryTipPreferenceController();
@@ -95,32 +81,32 @@
     }
 
     @Test
-    public void testDisplayPreference_isInvisible() {
+    public void displayPreference_isInvisible() {
         mBatteryTipPreferenceController.displayPreference(mPreferenceScreen);
 
         assertThat(mCardPreference.isVisible()).isFalse();
     }
 
     @Test
-    public void testUpdateBatteryTips_tipsStateInvisible_isInvisible() {
+    public void updateBatteryTips_tipsStateInvisible_isInvisible() {
         mBatteryTipPreferenceController.updateBatteryTips(mNewBatteryTips);
 
         assertThat(mCardPreference.isVisible()).isFalse();
     }
 
     @Test
-    public void testGetCurrentBatteryTip_noTips_isNull() {
+    public void getCurrentBatteryTip_noTips_isNull() {
         assertThat(mBatteryTipPreferenceController.getCurrentBatteryTip()).isNull();
     }
 
     @Test
-    public void testGetCurrentBatteryTip_tipsInvisible_isNull() {
+    public void getCurrentBatteryTip_tipsInvisible_isNull() {
         mBatteryTipPreferenceController.updateBatteryTips(mNewBatteryTips);
         assertThat(mBatteryTipPreferenceController.getCurrentBatteryTip()).isNull();
     }
 
     @Test
-    public void testRestoreFromNull_shouldNotCrash() {
+    public void restoreFromNull_shouldNotCrash() {
         final Bundle bundle = new Bundle();
         // Battery tip list is null at this time
         mBatteryTipPreferenceController.saveInstanceState(bundle);
@@ -132,7 +118,7 @@
     }
 
     @Test
-    public void testHandlePreferenceTreeClick_noDialog_invokeCallback() {
+    public void handlePreferenceTreeClick_noDialog_invokeCallback() {
         when(mBatteryTip.getType()).thenReturn(SMART_BATTERY_MANAGER);
         List<BatteryTip> batteryTips = new ArrayList<>();
         batteryTips.add(mBatteryTip);
@@ -147,13 +133,13 @@
 
     @Test
     public void getAvailabilityStatus_returnAvailableUnsearchable() {
-        assertThat(mBatteryTipPreferenceController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE_UNSEARCHABLE);
+        assertThat(mBatteryTipPreferenceController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE_UNSEARCHABLE);
     }
 
     private BatteryTipPreferenceController buildBatteryTipPreferenceController() {
-        final BatteryTipPreferenceController controller = new BatteryTipPreferenceController(
-                mContext, KEY_PREF);
+        final BatteryTipPreferenceController controller =
+                new BatteryTipPreferenceController(mContext, KEY_PREF);
         controller.setActivity(mSettingsActivity);
         controller.setFragment(mFragment);
         controller.setBatteryTipListener(mBatteryTipListener);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java
index e4f286d..82a850e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/BatteryTipUtilsTest.java
@@ -45,10 +45,8 @@
 @RunWith(RobolectricTestRunner.class)
 public class BatteryTipUtilsTest {
 
-    @Mock
-    private SettingsActivity mSettingsActivity;
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
+    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private InstrumentedPreferenceFragment mFragment;
     private RestrictAppTip mRestrictAppTip;
     private LowBatteryTip mLowBatteryTip;
     private BatteryDefenderTip mBatteryDefenderTip;
@@ -61,42 +59,49 @@
         when(mSettingsActivity.getApplicationContext()).thenReturn(RuntimeEnvironment.application);
         when(mFragment.getContext()).thenReturn(RuntimeEnvironment.application);
         mRestrictAppTip = spy(new RestrictAppTip(BatteryTip.StateType.NEW, new ArrayList<>()));
-        mLowBatteryTip = spy(
-                new LowBatteryTip(BatteryTip.StateType.NEW, false /* powerSaveModeOn */));
-        mBatteryDefenderTip = spy(new BatteryDefenderTip(BatteryTip.StateType.NEW,
-                false /* isPluggedIn */));
+        mLowBatteryTip =
+                spy(new LowBatteryTip(BatteryTip.StateType.NEW, false /* powerSaveModeOn */));
+        mBatteryDefenderTip =
+                spy(new BatteryDefenderTip(BatteryTip.StateType.NEW, false /* isPluggedIn */));
     }
 
     @Test
     public void testGetActionForBatteryTip_typeRestrictStateNew_returnActionRestrict() {
         when(mRestrictAppTip.getState()).thenReturn(BatteryTip.StateType.NEW);
 
-        assertThat(BatteryTipUtils.getActionForBatteryTip(mRestrictAppTip, mSettingsActivity,
-                mFragment)).isInstanceOf(RestrictAppAction.class);
+        assertThat(
+                        BatteryTipUtils.getActionForBatteryTip(
+                                mRestrictAppTip, mSettingsActivity, mFragment))
+                .isInstanceOf(RestrictAppAction.class);
     }
 
     @Test
     public void testGetActionForBatteryTip_typeRestrictStateHandled_returnActionOpen() {
         when(mRestrictAppTip.getState()).thenReturn(BatteryTip.StateType.HANDLED);
 
-        assertThat(BatteryTipUtils.getActionForBatteryTip(mRestrictAppTip, mSettingsActivity,
-                mFragment)).isInstanceOf(OpenRestrictAppFragmentAction.class);
+        assertThat(
+                        BatteryTipUtils.getActionForBatteryTip(
+                                mRestrictAppTip, mSettingsActivity, mFragment))
+                .isInstanceOf(OpenRestrictAppFragmentAction.class);
     }
 
     @Test
     public void testGetActionForBatteryTip_typeLowBatteryStateNew_returnActionOpen() {
         when(mLowBatteryTip.getState()).thenReturn(BatteryTip.StateType.NEW);
 
-        assertThat(BatteryTipUtils.getActionForBatteryTip(mLowBatteryTip, mSettingsActivity,
-                mFragment)).isInstanceOf(OpenBatterySaverAction.class);
+        assertThat(
+                        BatteryTipUtils.getActionForBatteryTip(
+                                mLowBatteryTip, mSettingsActivity, mFragment))
+                .isInstanceOf(OpenBatterySaverAction.class);
     }
 
     @Test
-    public void
-            testGetActionForBatteryTip_typeBatteryDefenderStateNew_returnNullAction() {
+    public void testGetActionForBatteryTip_typeBatteryDefenderStateNew_returnNullAction() {
         when(mBatteryDefenderTip.getState()).thenReturn(BatteryTip.StateType.NEW);
 
-        assertThat(BatteryTipUtils.getActionForBatteryTip(mBatteryDefenderTip, mSettingsActivity,
-                mFragment)).isNull();
+        assertThat(
+                        BatteryTipUtils.getActionForBatteryTip(
+                                mBatteryDefenderTip, mSettingsActivity, mFragment))
+                .isNull();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java
index a0e205d..0310225 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/HighUsageDataParserTest.java
@@ -24,9 +24,9 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
 
 import java.time.Duration;
-import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class HighUsageDataParserTest {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java
index 71202df..e5ada76 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/OpenRestrictAppFragmentActionTest.java
@@ -39,10 +39,10 @@
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.robolectric.RobolectricTestRunner;
 
 @RunWith(RobolectricTestRunner.class)
 public class OpenRestrictAppFragmentActionTest {
@@ -53,10 +53,8 @@
     private static final int ANOMALY_BT = 1;
     private static final int METRICS_KEY = 1;
 
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
-    @Mock
-    private BatteryDatabaseManager mBatteryDatabaseManager;
+    @Mock private InstrumentedPreferenceFragment mFragment;
+    @Mock private BatteryDatabaseManager mBatteryDatabaseManager;
     private OpenRestrictAppFragmentAction mAction;
     private FakeFeatureFactory mFeatureFactory;
     private Context mContext;
@@ -67,19 +65,22 @@
         MockitoAnnotations.initMocks(this);
         mContext = ApplicationProvider.getApplicationContext();
         mAppInfos = new ArrayList<>();
-        mAppInfos.add(new AppInfo.Builder()
-                .setPackageName(PACKAGE_NAME_1)
-                .addAnomalyType(ANOMALY_BT)
-                .build());
-        mAppInfos.add(new AppInfo.Builder()
-                .setPackageName(PACKAGE_NAME_2)
-                .addAnomalyType(ANOMALY_WAKEUP)
-                .build());
+        mAppInfos.add(
+                new AppInfo.Builder()
+                        .setPackageName(PACKAGE_NAME_1)
+                        .addAnomalyType(ANOMALY_BT)
+                        .build());
+        mAppInfos.add(
+                new AppInfo.Builder()
+                        .setPackageName(PACKAGE_NAME_2)
+                        .addAnomalyType(ANOMALY_WAKEUP)
+                        .build());
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         when(mFragment.getContext()).thenReturn(mContext);
 
-        mAction = new OpenRestrictAppFragmentAction(mFragment,
-                new RestrictAppTip(BatteryTip.StateType.HANDLED, mAppInfos));
+        mAction =
+                new OpenRestrictAppFragmentAction(
+                        mFragment, new RestrictAppTip(BatteryTip.StateType.HANDLED, mAppInfos));
         mAction.mBatteryDatabaseManager = mBatteryDatabaseManager;
     }
 
@@ -93,9 +94,12 @@
     public void testHandlePositiveAction() {
         mAction.handlePositiveAction(METRICS_KEY);
 
-        verify(mFeatureFactory.metricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_TIP_OPEN_APP_RESTRICTION_PAGE, METRICS_KEY);
-        verify(mBatteryDatabaseManager).updateAnomalies(mAppInfos,
-                AnomalyDatabaseHelper.State.HANDLED);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_TIP_OPEN_APP_RESTRICTION_PAGE,
+                        METRICS_KEY);
+        verify(mBatteryDatabaseManager)
+                .updateAnomalies(mAppInfos, AnomalyDatabaseHelper.State.HANDLED);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
index 121348a..19e3442 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/RestrictAppActionTest.java
@@ -52,8 +52,7 @@
     private static final int ANOMALY_BT = 1;
     private static final int METRICS_KEY = 1;
 
-    @Mock
-    private BatteryUtils mBatteryUtils;
+    @Mock private BatteryUtils mBatteryUtils;
     private RestrictAppAction mRestrictAppAction;
     private FakeFeatureFactory mFeatureFactory;
 
@@ -62,20 +61,20 @@
         MockitoAnnotations.initMocks(this);
 
         final List<AppInfo> mAppInfos = new ArrayList<>();
-        mAppInfos.add(new AppInfo.Builder()
-                .setUid(UID_1)
-                .setPackageName(PACKAGE_NAME_1)
-                .build());
-        mAppInfos.add(new AppInfo.Builder()
-                .setUid(UID_2)
-                .setPackageName(PACKAGE_NAME_2)
-                .addAnomalyType(ANOMALY_BT)
-                .addAnomalyType(ANOMALY_WAKEUP)
-                .build());
+        mAppInfos.add(new AppInfo.Builder().setUid(UID_1).setPackageName(PACKAGE_NAME_1).build());
+        mAppInfos.add(
+                new AppInfo.Builder()
+                        .setUid(UID_2)
+                        .setPackageName(PACKAGE_NAME_2)
+                        .addAnomalyType(ANOMALY_BT)
+                        .addAnomalyType(ANOMALY_WAKEUP)
+                        .build());
         mFeatureFactory = FakeFeatureFactory.setupForTest();
 
-        mRestrictAppAction = new RestrictAppAction(RuntimeEnvironment.application,
-                new RestrictAppTip(BatteryTip.StateType.NEW, mAppInfos));
+        mRestrictAppAction =
+                new RestrictAppAction(
+                        RuntimeEnvironment.application,
+                        new RestrictAppTip(BatteryTip.StateType.NEW, mAppInfos));
         mRestrictAppAction.mBatteryUtils = mBatteryUtils;
     }
 
@@ -89,17 +88,28 @@
     public void testHandlePositiveAction() {
         mRestrictAppAction.handlePositiveAction(METRICS_KEY);
 
-        verify(mBatteryUtils)
-                .setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_IGNORED);
-        verify(mBatteryUtils)
-                .setForceAppStandby(UID_2, PACKAGE_NAME_2, AppOpsManager.MODE_IGNORED);
-        verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, METRICS_KEY, PACKAGE_NAME_1, 0);
-        verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, METRICS_KEY, PACKAGE_NAME_2,
-                ANOMALY_WAKEUP);
-        verify(mFeatureFactory.metricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP, METRICS_KEY, PACKAGE_NAME_2,
-                ANOMALY_BT);
+        verify(mBatteryUtils).setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_IGNORED);
+        verify(mBatteryUtils).setForceAppStandby(UID_2, PACKAGE_NAME_2, AppOpsManager.MODE_IGNORED);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.PAGE_UNKNOWN,
+                        MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP,
+                        METRICS_KEY,
+                        PACKAGE_NAME_1,
+                        0);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.PAGE_UNKNOWN,
+                        MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP,
+                        METRICS_KEY,
+                        PACKAGE_NAME_2,
+                        ANOMALY_WAKEUP);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.PAGE_UNKNOWN,
+                        MetricsProto.MetricsEvent.ACTION_TIP_RESTRICT_APP,
+                        METRICS_KEY,
+                        PACKAGE_NAME_2,
+                        ANOMALY_BT);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
index 1ef9a8a..0f4a043 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/actions/UnrestrictAppActionTest.java
@@ -44,8 +44,7 @@
     private static final String PACKAGE_NAME_1 = "com.android.app1";
     private static final int METRICS_KEY = 1;
 
-    @Mock
-    private BatteryUtils mBatteryUtils;
+    @Mock private BatteryUtils mBatteryUtils;
     private UnrestrictAppAction mUnrestrictAppAction;
     private FakeFeatureFactory mFeatureFactory;
 
@@ -53,14 +52,14 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        final AppInfo appInfo = new AppInfo.Builder()
-                .setUid(UID_1)
-                .setPackageName(PACKAGE_NAME_1)
-                .build();
+        final AppInfo appInfo =
+                new AppInfo.Builder().setUid(UID_1).setPackageName(PACKAGE_NAME_1).build();
         mFeatureFactory = FakeFeatureFactory.setupForTest();
 
-        mUnrestrictAppAction = new UnrestrictAppAction(RuntimeEnvironment.application,
-                new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo));
+        mUnrestrictAppAction =
+                new UnrestrictAppAction(
+                        RuntimeEnvironment.application,
+                        new UnrestrictAppTip(BatteryTip.StateType.NEW, appInfo));
         mUnrestrictAppAction.mBatteryUtils = mBatteryUtils;
     }
 
@@ -73,13 +72,13 @@
     public void testHandlePositiveAction() {
         mUnrestrictAppAction.handlePositiveAction(METRICS_KEY);
 
-        verify(mBatteryUtils)
-                .setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_ALLOWED);
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP,
-                METRICS_KEY,
-                PACKAGE_NAME_1,
-                0);
+        verify(mBatteryUtils).setForceAppStandby(UID_1, PACKAGE_NAME_1, AppOpsManager.MODE_ALLOWED);
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.PAGE_UNKNOWN,
+                        MetricsProto.MetricsEvent.ACTION_TIP_UNRESTRICT_APP,
+                        METRICS_KEY,
+                        PACKAGE_NAME_1,
+                        0);
     }
 }
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 64d5d04..0a63ba2 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
@@ -38,8 +38,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class BatteryDefenderDetectorTest {
 
-    @Mock
-    private BatteryInfo mBatteryInfo;
+    @Mock private BatteryInfo mBatteryInfo;
     private BatteryDefenderDetector mBatteryDefenderDetector;
     private Context mContext;
 
@@ -53,8 +52,7 @@
 
         mContext = ApplicationProvider.getApplicationContext();
 
-        mBatteryDefenderDetector = new BatteryDefenderDetector(
-            mBatteryInfo, mContext);
+        mBatteryDefenderDetector = new BatteryDefenderDetector(mBatteryInfo, mContext);
 
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java
deleted file mode 100644
index bd2c5d1..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/DockDefenderDetectorTest.java
+++ /dev/null
@@ -1,142 +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.batterytip.detectors;
-
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.ArgumentMatchers.refEq;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.BatteryManager;
-import android.provider.Settings;
-
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.fuelgauge.BatteryInfo;
-import com.android.settings.fuelgauge.BatteryUtils;
-import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
-import com.android.settings.fuelgauge.batterytip.tips.DockDefenderTip;
-import com.android.settings.testutils.BatteryTestUtils;
-import com.android.settings.testutils.FakeFeatureFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class DockDefenderDetectorTest {
-
-    private BatteryInfo mBatteryInfo;
-    private DockDefenderDetector mDockDefenderDetector;
-    private Context mContext;
-    private FakeFeatureFactory mFakeFeatureFactory;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mBatteryInfo = new BatteryInfo();
-        mBatteryInfo.pluggedStatus = BatteryManager.BATTERY_PLUGGED_DOCK;
-        mDockDefenderDetector = new DockDefenderDetector(mBatteryInfo, mContext);
-        Intent intent = BatteryTestUtils.getCustomBatteryIntent(BatteryManager.BATTERY_PLUGGED_DOCK,
-                50 /* level */, 100 /* scale */, BatteryManager.BATTERY_STATUS_CHARGING);
-        doReturn(intent).when(mContext).registerReceiver(eq(null),
-                refEq(new IntentFilter(Intent.ACTION_BATTERY_CHANGED)));
-
-        Settings.Global.putInt(mContext.getContentResolver(),
-                BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 0);
-        mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
-    }
-
-    @Test
-    public void testDetect_dockDefenderTemporarilyBypassed() {
-        Settings.Global.putInt(mContext.getContentResolver(),
-                BatteryUtils.SETTINGS_GLOBAL_DOCK_DEFENDER_BYPASS, 1);
-
-        BatteryTip batteryTip = mDockDefenderDetector.detect();
-
-        assertTrue(batteryTip instanceof DockDefenderTip);
-        assertEquals(((DockDefenderTip) batteryTip).getMode(),
-                BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED);
-    }
-
-    @Test
-    public void testDetect_dockDefenderActive() {
-        mBatteryInfo.isBatteryDefender = true;
-        doReturn(true).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-
-        BatteryTip batteryTip = mDockDefenderDetector.detect();
-
-        assertTrue(batteryTip instanceof DockDefenderTip);
-        assertEquals(((DockDefenderTip) batteryTip).getMode(),
-                BatteryUtils.DockDefenderMode.ACTIVE);
-    }
-
-    @Test
-    public void testDetect_dockDefenderFutureBypass() {
-        mBatteryInfo.isBatteryDefender = false;
-        doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-
-        BatteryTip batteryTip = mDockDefenderDetector.detect();
-
-        assertTrue(batteryTip instanceof DockDefenderTip);
-        assertEquals(((DockDefenderTip) batteryTip).getMode(),
-                BatteryUtils.DockDefenderMode.FUTURE_BYPASS);
-    }
-
-    @Test
-    public void testDetect_overheatedTrue_dockDefenderDisabled() {
-        mBatteryInfo.isBatteryDefender = true;
-        doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-
-        BatteryTip batteryTip = mDockDefenderDetector.detect();
-
-        assertTrue(batteryTip instanceof DockDefenderTip);
-        assertEquals(((DockDefenderTip) batteryTip).getMode(),
-                BatteryUtils.DockDefenderMode.DISABLED);
-    }
-
-    @Test
-    public void testDetect_pluggedInAC_dockDefenderDisabled() {
-        mBatteryInfo.pluggedStatus = BatteryManager.BATTERY_PLUGGED_AC;
-
-        BatteryTip batteryTip = mDockDefenderDetector.detect();
-
-        assertTrue(batteryTip instanceof DockDefenderTip);
-        assertEquals(((DockDefenderTip) batteryTip).getMode(),
-                BatteryUtils.DockDefenderMode.DISABLED);
-    }
-
-    @Test
-    public void testDetect_overheatedTrueAndDockDefenderNotTriggered_dockDefenderDisabled() {
-        doReturn(false).when(mFakeFeatureFactory.powerUsageFeatureProvider).isExtraDefend();
-        mBatteryInfo.isBatteryDefender = true;
-
-        BatteryTip batteryTip = mDockDefenderDetector.detect();
-
-        assertTrue(batteryTip instanceof DockDefenderTip);
-        assertEquals(((DockDefenderTip) batteryTip).getMode(),
-                BatteryUtils.DockDefenderMode.DISABLED);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
index c125876..b9f9ed2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/HighUsageDetectorTest.java
@@ -62,18 +62,12 @@
     private static final double POWER_LOW = 10000;
 
     private Context mContext;
-    @Mock
-    private UidBatteryConsumer mHighBatteryConsumer;
-    @Mock
-    private UidBatteryConsumer mLowBatteryConsumer;
-    @Mock
-    private UidBatteryConsumer mSystemBatteryConsumer;
-    @Mock
-    private HighUsageDataParser mDataParser;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
-    @Mock
-    private BatteryStatsManager mBatteryStatsManager;
+    @Mock private UidBatteryConsumer mHighBatteryConsumer;
+    @Mock private UidBatteryConsumer mLowBatteryConsumer;
+    @Mock private UidBatteryConsumer mSystemBatteryConsumer;
+    @Mock private HighUsageDataParser mDataParser;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryStatsManager mBatteryStatsManager;
 
     private AppInfo mHighAppInfo;
     private AppInfo mLowAppInfo;
@@ -94,11 +88,17 @@
         when(mBatteryStatsManager.getBatteryUsageStats(any(BatteryUsageStatsQuery.class)))
                 .thenReturn(mBatteryUsageStats);
 
-        mContext.sendStickyBroadcast(new Intent(Intent.ACTION_BATTERY_CHANGED)
-                .putExtra(BatteryManager.EXTRA_PLUGGED, 0));
+        mContext.sendStickyBroadcast(
+                new Intent(Intent.ACTION_BATTERY_CHANGED)
+                        .putExtra(BatteryManager.EXTRA_PLUGGED, 0));
 
-        mHighUsageDetector = spy(new HighUsageDetector(mContext, mPolicy, mBatteryUsageStats,
-                mBatteryUtils.getBatteryInfo(TAG)));
+        mHighUsageDetector =
+                spy(
+                        new HighUsageDetector(
+                                mContext,
+                                mPolicy,
+                                mBatteryUsageStats,
+                                mBatteryUtils.getBatteryInfo(TAG)));
         mHighUsageDetector.mBatteryUtils = mBatteryUtils;
         mHighUsageDetector.mDataParser = mDataParser;
         doNothing().when(mHighUsageDetector).parseBatteryData();
@@ -111,12 +111,8 @@
         when(mBatteryUsageStats.getDischargePercentage()).thenReturn(100);
         when(mBatteryUsageStats.getConsumedPower()).thenReturn(POWER_HIGH + POWER_LOW);
 
-        mHighAppInfo = new AppInfo.Builder()
-                .setUid(UID_HIGH)
-                .build();
-        mLowAppInfo = new AppInfo.Builder()
-                .setUid(UID_LOW)
-                .build();
+        mHighAppInfo = new AppInfo.Builder().setUid(UID_HIGH).build();
+        mLowAppInfo = new AppInfo.Builder().setUid(UID_LOW).build();
 
         ArrayList<UidBatteryConsumer> consumers = new ArrayList<>();
         consumers.add(mSystemBatteryConsumer);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java
index 9ababe7..c0f6108 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/IncompatibleChargerDetectorTest.java
@@ -81,6 +81,7 @@
         when(mUsbPort.getStatus()).thenReturn(mUsbPortStatus);
         when(mUsbPort.supportsComplianceWarnings()).thenReturn(true);
         when(mUsbPortStatus.isConnected()).thenReturn(true);
-        when(mUsbPortStatus.getComplianceWarnings()).thenReturn(new int[]{1});
+        when(mUsbPortStatus.getComplianceWarnings())
+                .thenReturn(new int[] {UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY});
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
index c9e201b..c5897f2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/LowBatteryDetectorTest.java
@@ -19,20 +19,25 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Mockito.spy;
+import static org.robolectric.Shadows.shadowOf;
 
 import android.content.Context;
+import android.os.PowerManager;
+
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.fuelgauge.BatteryInfo;
 import com.android.settings.fuelgauge.batterytip.BatteryTipPolicy;
 import com.android.settings.fuelgauge.batterytip.tips.BatteryTip;
 
 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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.concurrent.TimeUnit;
@@ -40,73 +45,79 @@
 @RunWith(RobolectricTestRunner.class)
 public class LowBatteryDetectorTest {
 
-    @Mock
-    private BatteryInfo mBatteryInfo;
-    private BatteryTipPolicy mPolicy;
+    @Rule public MockitoRule mockitoRule = MockitoJUnit.rule();
+
+    @Mock private BatteryInfo mBatteryInfo;
+
+    private BatteryTipPolicy mBatteryTipPolicy;
     private LowBatteryDetector mLowBatteryDetector;
     private Context mContext;
+    private PowerManager mPowerManager;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        mBatteryTipPolicy = spy(new BatteryTipPolicy(mContext));
 
-        mPolicy = spy(new BatteryTipPolicy(RuntimeEnvironment.application));
-        mContext = RuntimeEnvironment.application;
-        ReflectionHelpers.setField(mPolicy, "lowBatteryEnabled", true);
+        mPowerManager = mContext.getSystemService(PowerManager.class);
+        shadowOf(mPowerManager).setIsPowerSaveMode(false);
+
+        ReflectionHelpers.setField(mBatteryTipPolicy, "lowBatteryEnabled", true);
         mBatteryInfo.discharging = true;
 
-        mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                false /* isPowerSaveMode */);
+        mLowBatteryDetector = new LowBatteryDetector(mContext, mBatteryTipPolicy, mBatteryInfo);
     }
 
     @Test
-    public void testDetect_disabledByPolicy_tipInvisible() {
-        ReflectionHelpers.setField(mPolicy, "lowBatteryEnabled", false);
-        mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                true /* isPowerSaveMode */);
+    public void detect_disabledByPolicy_tipInvisible() {
+        ReflectionHelpers.setField(mBatteryTipPolicy, "lowBatteryEnabled", false);
+        shadowOf(mPowerManager).setIsPowerSaveMode(true);
+        mLowBatteryDetector = new LowBatteryDetector(mContext, mBatteryTipPolicy, mBatteryInfo);
 
         assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
     }
 
     @Test
-    public void testDetect_enabledByTest_tipNew() {
-        ReflectionHelpers.setField(mPolicy, "testLowBatteryTip", true);
+    public void detect_enabledByTest_tipNew() {
+        ReflectionHelpers.setField(mBatteryTipPolicy, "testLowBatteryTip", true);
 
         assertThat(mLowBatteryDetector.detect().getState()).isEqualTo(BatteryTip.StateType.NEW);
     }
 
     @Test
-    public void testDetect_lowBattery_tipNew() {
+    public void detect_lowBattery_tipNew() {
         mBatteryInfo.batteryLevel = 20;
         mBatteryInfo.remainingTimeUs = TimeUnit.DAYS.toMillis(1);
+
         assertThat(mLowBatteryDetector.detect().getState()).isEqualTo(BatteryTip.StateType.NEW);
     }
 
     @Test
-    public void testDetect_batterySaverOn_tipInvisible() {
-        mLowBatteryDetector = new LowBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                true /* isPowerSaveMode */);
+    public void detect_batterySaverOn_tipInvisible() {
+        shadowOf(mPowerManager).setIsPowerSaveMode(true);
+        mLowBatteryDetector = new LowBatteryDetector(mContext, mBatteryTipPolicy, mBatteryInfo);
 
         assertThat(mLowBatteryDetector.detect().getState())
                 .isEqualTo(BatteryTip.StateType.INVISIBLE);
     }
 
     @Test
-    public void testDetect_charging_tipInvisible() {
+    public void detect_charging_tipInvisible() {
         mBatteryInfo.discharging = false;
 
         assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
     }
 
     @Test
-    public void testDetect_lowTimeEstimation_tipInvisible() {
+    public void detect_lowTimeEstimation_tipInvisible() {
         mBatteryInfo.batteryLevel = 50;
         mBatteryInfo.remainingTimeUs = TimeUnit.MINUTES.toMillis(1);
+
         assertThat(mLowBatteryDetector.detect().isVisible()).isFalse();
     }
 
     @Test
-    public void testDetect_noEarlyWarning_tipInvisible() {
+    public void detect_noEarlyWarning_tipInvisible() {
         mBatteryInfo.remainingTimeUs = TimeUnit.DAYS.toMicros(1);
         mBatteryInfo.batteryLevel = 100;
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java
index d40f5b8..bd207ee 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/detectors/SmartBatteryDetectorTest.java
@@ -22,7 +22,6 @@
 
 import android.content.ContentResolver;
 import android.content.Context;
-import android.os.PowerManager;
 import android.provider.Settings;
 
 import com.android.settings.fuelgauge.BatteryInfo;
@@ -49,8 +48,7 @@
     private SmartBatteryDetector mSmartBatteryDetector;
     private BatteryTipPolicy mPolicy;
 
-    @Mock
-    private BatteryInfo mBatteryInfo;
+    @Mock private BatteryInfo mBatteryInfo;
 
     @Before
     public void setUp() {
@@ -59,8 +57,13 @@
         mContext = RuntimeEnvironment.application;
         mContentResolver = mContext.getContentResolver();
         mPolicy = spy(new BatteryTipPolicy(mContext));
-        mSmartBatteryDetector = new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                mContentResolver, false /* isPowerSaveMode */);
+        mSmartBatteryDetector =
+                new SmartBatteryDetector(
+                        mContext,
+                        mPolicy,
+                        mBatteryInfo,
+                        mContentResolver,
+                        false /* isPowerSaveMode */);
     }
 
     @Test
@@ -72,8 +75,8 @@
 
     @Test
     public void testDetect_smartBatteryOff_tipVisible() {
-        Settings.Global.putInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
+        Settings.Global.putInt(
+                mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
         mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
 
         assertThat(mSmartBatteryDetector.detect().isVisible()).isTrue();
@@ -81,30 +84,40 @@
 
     @Test
     public void testDetect_batterySaverOn_tipInvisible() {
-        Settings.Global.putInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
+        Settings.Global.putInt(
+                mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
         mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
-        mSmartBatteryDetector = new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                mContentResolver, true /* isPowerSaveMode */);
+        mSmartBatteryDetector =
+                new SmartBatteryDetector(
+                        mContext,
+                        mPolicy,
+                        mBatteryInfo,
+                        mContentResolver,
+                        true /* isPowerSaveMode */);
 
         assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
     }
 
     @Test
     public void testDetect_unexpectedBatteryLevel_tipInvisible() {
-        Settings.Global.putInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
+        Settings.Global.putInt(
+                mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 0);
         mBatteryInfo.batteryLevel = UNEXPECTED_BATTERY_LEVEL;
-        mSmartBatteryDetector = new SmartBatteryDetector(mContext, mPolicy, mBatteryInfo,
-                mContentResolver, true /* isPowerSaveMode */);
+        mSmartBatteryDetector =
+                new SmartBatteryDetector(
+                        mContext,
+                        mPolicy,
+                        mBatteryInfo,
+                        mContentResolver,
+                        true /* isPowerSaveMode */);
 
         assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
     }
 
     @Test
     public void testDetect_smartBatteryOn_tipInvisible() {
-        Settings.Global.putInt(mContentResolver,
-                Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1);
+        Settings.Global.putInt(
+                mContentResolver, Settings.Global.ADAPTIVE_BATTERY_MANAGEMENT_ENABLED, 1);
         mBatteryInfo.batteryLevel = EXPECTED_BATTERY_LEVEL;
 
         assertThat(mSmartBatteryDetector.detect().isVisible()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java
index eee2df3..a605ee3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryDefenderTipTest.java
@@ -17,10 +17,6 @@
 
 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.mock;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -29,6 +25,7 @@
 import android.util.Log;
 
 import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -36,12 +33,13 @@
 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.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.shadows.ShadowLog;
 
 @RunWith(RobolectricTestRunner.class)
@@ -51,23 +49,22 @@
     private FakeFeatureFactory mFeatureFactory;
     private BatteryDefenderTip mBatteryDefenderTip;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    private CardPreference mCardPreference;
 
+    @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
     @Mock private BatteryTip mBatteryTip;
     @Mock private Preference mPreference;
-    @Mock private CardPreference mCardPreference;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
+        mContext = ApplicationProvider.getApplicationContext();
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
-        mContext = RuntimeEnvironment.application;
-        mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW,
-                false /* isPluggedIn */);
+        mBatteryDefenderTip =
+                new BatteryDefenderTip(BatteryTip.StateType.NEW, /* isPluggedIn= */ false);
+        mCardPreference = new CardPreference(mContext);
 
         when(mPreference.getContext()).thenReturn(mContext);
-        when(mCardPreference.getContext()).thenReturn(mContext);
     }
 
     @Test
@@ -85,16 +82,16 @@
     @Test
     public void getIcon_showIcon() {
         assertThat(mBatteryDefenderTip.getIconId())
-                .isEqualTo(R.drawable.ic_battery_status_good_theme);
+                .isEqualTo(R.drawable.ic_battery_defender_tip_shield);
     }
 
     @Test
-    public void testLog_logMetric() {
+    public void log_logMetric() {
         mBatteryDefenderTip.updateState(mBatteryTip);
         mBatteryDefenderTip.log(mContext, mMetricsFeatureProvider);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mBatteryTip.mState);
+        verify(mMetricsFeatureProvider)
+                .action(mContext, SettingsEnums.ACTION_BATTERY_DEFENDER_TIP, mBatteryTip.mState);
     }
 
     @Test
@@ -106,59 +103,44 @@
 
     @Test
     public void updatePreference_shouldSetPrimaryButtonText() {
-        String expectedText = mContext.getString(R.string.battery_tip_charge_to_full_button);
+        String expectedText = mContext.getString(R.string.learn_more);
 
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setPrimaryButtonText(expectedText);
+        assertThat(mCardPreference.getPrimaryButtonText()).isEqualTo(expectedText);
     }
 
     @Test
     public void updatePreference_shouldSetSecondaryButtonText() {
-        String expected = mContext.getString(R.string.learn_more);
+        String expected = mContext.getString(R.string.battery_tip_charge_to_full_button);
 
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setSecondaryButtonText(expected);
+        assertThat(mCardPreference.getSecondaryButtonText()).isEqualTo(expected);
     }
 
     @Test
-    public void updatePreference_shouldSetSecondaryButtonVisible() {
+    public void updatePreference_shouldSetPrimaryButtonVisible() {
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setSecondaryButtonVisible(true);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
     }
 
     @Test
     public void updatePreference_whenCharging_setPrimaryButtonVisibleToBeTrue() {
-        mBatteryDefenderTip = new BatteryDefenderTip(BatteryTip.StateType.NEW,
-                true /* isPluggedIn */);
+        mBatteryDefenderTip =
+                new BatteryDefenderTip(BatteryTip.StateType.NEW, /* isPluggedIn= */ true);
 
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setPrimaryButtonVisible(true);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
     }
 
     @Test
-    public void updatePreference_whenNotCharging_setPrimaryButtonVisibleToBeFalse() {
+    public void updatePreference_whenNotCharging_setSecondaryButtonVisibleToBeFalse() {
         mBatteryDefenderTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setPrimaryButtonVisible(false);
-    }
-
-    @Test
-    public void updatePreference_whenGetChargingStatusFailed_setPrimaryButtonVisibleToBeFalse() {
-        fakeGetChargingStatusFailed();
-
-        mBatteryDefenderTip.updatePreference(mCardPreference);
-
-        verify(mCardPreference).setPrimaryButtonVisible(false);
-    }
-
-    private void fakeGetChargingStatusFailed() {
-        Context mockContext = mock(Context.class);
-        when(mockContext.getString(anyInt())).thenReturn("fake_string");
-        when(mCardPreference.getContext()).thenReturn(mockContext);
+        assertThat(mCardPreference.getSecondaryButtonVisibility()).isFalse();
     }
 
     private String getLastErrorLog() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
index ecac4f9..097f484 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/BatteryTipTest.java
@@ -20,11 +20,10 @@
 import android.content.Context;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.view.View;
 
 import androidx.annotation.DrawableRes;
 import androidx.preference.Preference;
-import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.widget.CardPreference;
@@ -32,10 +31,12 @@
 import com.android.settingslib.testutils.DrawableTestHelper;
 
 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.RuntimeEnvironment;
 
 import java.util.ArrayList;
 import java.util.List;
@@ -45,16 +46,17 @@
 
     private static final String TITLE = "title";
     private static final String SUMMARY = "summary";
-    @DrawableRes
-    private static final int ICON_ID = R.drawable.ic_fingerprint;
+    @DrawableRes private static final int ICON_ID = R.drawable.ic_fingerprint;
+
+    @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private Context mContext;
     private TestBatteryTip mBatteryTip;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
         mBatteryTip = new TestBatteryTip();
+        mContext = ApplicationProvider.getApplicationContext();
     }
 
     @Test
@@ -85,17 +87,14 @@
 
     @Test
     public void updatePreference_resetLayoutState() {
-        mContext.setTheme(R.style.Theme_Settings);
-        PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                View.inflate(mContext, R.layout.card_preference_layout, /* parent= */ null));
         CardPreference cardPreference = new CardPreference(mContext);
-        cardPreference.onBindViewHolder(holder);
-        cardPreference.setPrimaryButtonVisible(true);
+        cardPreference.setPrimaryButtonVisibility(true);
+        cardPreference.setSecondaryButtonVisibility(true);
 
         mBatteryTip.updatePreference(cardPreference);
 
-        View view = holder.findViewById(R.id.card_preference_buttons);
-        assertThat(view.getVisibility()).isEqualTo(View.GONE);
+        assertThat(cardPreference.getPrimaryButtonVisibility()).isFalse();
+        assertThat(cardPreference.getSecondaryButtonVisibility()).isFalse();
     }
 
     @Test
@@ -113,9 +112,7 @@
         assertThat(mBatteryTip.toString()).isEqualTo("type=6 state=0");
     }
 
-    /**
-     * Used to test the non abstract methods in {@link TestBatteryTip}
-     */
+    /** Used to test the non abstract methods in {@link TestBatteryTip} */
     public static class TestBatteryTip extends BatteryTip {
         TestBatteryTip() {
             super(TipType.SUMMARY, StateType.NEW, true);
@@ -150,14 +147,15 @@
             // do nothing
         }
 
-        public final Parcelable.Creator CREATOR = new Parcelable.Creator() {
-            public BatteryTip createFromParcel(Parcel in) {
-                return new TestBatteryTip(in);
-            }
+        public final Parcelable.Creator CREATOR =
+                new Parcelable.Creator() {
+                    public BatteryTip createFromParcel(Parcel in) {
+                        return new TestBatteryTip(in);
+                    }
 
-            public BatteryTip[] newArray(int size) {
-                return new TestBatteryTip[size];
-            }
-        };
+                    public BatteryTip[] newArray(int size) {
+                        return new TestBatteryTip[size];
+                    }
+                };
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java
deleted file mode 100644
index e897a1c..0000000
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/DockDefenderTipTest.java
+++ /dev/null
@@ -1,193 +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.batterytip.tips;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-
-import android.app.settings.SettingsEnums;
-import android.content.Context;
-import android.util.Log;
-
-import androidx.preference.Preference;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.R;
-import com.android.settings.fuelgauge.BatteryUtils;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.widget.CardPreference;
-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.shadows.ShadowLog;
-
-@RunWith(RobolectricTestRunner.class)
-public class DockDefenderTipTest {
-    private Context mContext;
-    private DockDefenderTip mDockDefenderTipFutureBypass;
-    private DockDefenderTip mDockDefenderTipActive;
-    private DockDefenderTip mDockDefenderTipTemporarilyBypassed;
-    private DockDefenderTip mDockDefenderTipDisabled;
-    private FakeFeatureFactory mFeatureFactory;
-    private MetricsFeatureProvider mMetricsFeatureProvider;
-
-    @Mock
-    private Preference mPreference;
-    @Mock
-    private CardPreference mCardPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = ApplicationProvider.getApplicationContext();
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
-
-        mDockDefenderTipFutureBypass = new DockDefenderTip(BatteryTip.StateType.NEW,
-                BatteryUtils.DockDefenderMode.FUTURE_BYPASS);
-        mDockDefenderTipActive = new DockDefenderTip(BatteryTip.StateType.NEW,
-                BatteryUtils.DockDefenderMode.ACTIVE);
-        mDockDefenderTipTemporarilyBypassed = new DockDefenderTip(BatteryTip.StateType.NEW,
-                BatteryUtils.DockDefenderMode.TEMPORARILY_BYPASSED);
-        mDockDefenderTipDisabled = new DockDefenderTip(BatteryTip.StateType.INVISIBLE,
-                BatteryUtils.DockDefenderMode.DISABLED);
-
-        doReturn(mContext).when(mPreference).getContext();
-        doReturn(mContext).when(mCardPreference).getContext();
-    }
-
-    @Test
-    public void testGetTitle() {
-        assertThat(mDockDefenderTipFutureBypass.getTitle(mContext).toString()).isEqualTo(
-                mContext.getString(R.string.battery_tip_dock_defender_future_bypass_title));
-        assertThat(mDockDefenderTipActive.getTitle(mContext).toString()).isEqualTo(
-                mContext.getString(R.string.battery_tip_dock_defender_active_title));
-        assertThat(mDockDefenderTipTemporarilyBypassed.getTitle(mContext).toString()).isEqualTo(
-                mContext.getString(R.string.battery_tip_dock_defender_temporarily_bypassed_title));
-        assertThat(mDockDefenderTipDisabled.getTitle(mContext)).isNull();
-    }
-
-    @Test
-    public void testGetSummary() {
-        assertThat(mDockDefenderTipFutureBypass.getSummary(mContext).toString()).isEqualTo(
-                mContext.getString(R.string.battery_tip_dock_defender_future_bypass_summary));
-        assertThat(mDockDefenderTipActive.getSummary(mContext).toString()).isEqualTo(
-                mContext.getString(R.string.battery_tip_dock_defender_active_summary));
-        assertThat(mDockDefenderTipTemporarilyBypassed.getSummary(mContext).toString()).isEqualTo(
-                mContext.getString(
-                        R.string.battery_tip_dock_defender_temporarily_bypassed_summary));
-        assertThat(mDockDefenderTipDisabled.getSummary(mContext)).isNull();
-    }
-
-    @Test
-    public void testGetIconId_dockDefenderActive_getProtectedIcon() {
-        assertThat(mDockDefenderTipActive.getIconId()).isEqualTo(
-                R.drawable.ic_battery_status_protected_24dp);
-    }
-
-    @Test
-    public void testGetIconId_dockDefenderNotActive_getUntriggeredIcon() {
-        assertThat(mDockDefenderTipFutureBypass.getIconId()).isEqualTo(
-                R.drawable.ic_battery_dock_defender_untriggered_24dp);
-        assertThat(mDockDefenderTipTemporarilyBypassed.getIconId()).isEqualTo(
-                R.drawable.ic_battery_dock_defender_untriggered_24dp);
-        assertThat(mDockDefenderTipDisabled.getIconId()).isEqualTo(
-                R.drawable.ic_battery_dock_defender_untriggered_24dp);
-    }
-
-    @Test
-    public void testUpdateState() {
-        mDockDefenderTipTemporarilyBypassed.updateState(mDockDefenderTipDisabled);
-
-        assertThat(mDockDefenderTipTemporarilyBypassed.getState()).isEqualTo(
-                BatteryTip.StateType.INVISIBLE);
-        assertThat(mDockDefenderTipTemporarilyBypassed.getMode()).isEqualTo(
-                BatteryUtils.DockDefenderMode.DISABLED);
-    }
-
-    @Test
-    public void testLog() {
-        mDockDefenderTipActive.log(mContext, mMetricsFeatureProvider);
-
-        verify(mMetricsFeatureProvider).action(mContext, SettingsEnums.ACTION_DOCK_DEFENDER_TIP,
-                mDockDefenderTipActive.getState());
-    }
-
-
-    @Test
-    public void testUpdatePreference_dockDefenderTipFutureBypass() {
-        mDockDefenderTipFutureBypass.updatePreference(mCardPreference);
-
-        verify(mCardPreference).setPrimaryButtonVisible(true);
-        verify(mCardPreference).setPrimaryButtonText(
-                mContext.getString(R.string.battery_tip_charge_to_full_button));
-        verifySecondaryButton();
-    }
-
-    @Test
-    public void testUpdatePreference_dockDefenderTipActive() {
-        mDockDefenderTipActive.updatePreference(mCardPreference);
-
-        verify(mCardPreference).setPrimaryButtonVisible(true);
-        verify(mCardPreference).setPrimaryButtonText(
-                mContext.getString(R.string.battery_tip_charge_to_full_button));
-        verifySecondaryButton();
-    }
-
-    @Test
-    public void testUpdatePreference_dockDefenderTipTemporarilyBypassed() {
-        mDockDefenderTipTemporarilyBypassed.updatePreference(mCardPreference);
-
-        verify(mCardPreference).setPrimaryButtonVisible(false);
-        verify(mCardPreference, never()).setPrimaryButtonText(any());
-        verifySecondaryButton();
-    }
-
-    private void verifySecondaryButton() {
-        verify(mCardPreference).setSecondaryButtonText(mContext.getString(R.string.learn_more));
-        verify(mCardPreference).setSecondaryButtonVisible(true);
-        verify(mCardPreference).setSecondaryButtonContentDescription(mContext.getString(
-                R.string.battery_tip_limited_temporarily_sec_button_content_description));
-    }
-
-    @Test
-    public void updatePreference_castFail_logErrorMessage() {
-        mDockDefenderTipActive.updatePreference(mPreference);
-
-        assertThat(getLastErrorLog()).isEqualTo("cast Preference to CardPreference failed");
-    }
-
-    private String getLastErrorLog() {
-        return ShadowLog.getLogsForTag(DockDefenderTip.class.getSimpleName()).stream().filter(
-                log -> log.type == Log.ERROR).reduce((first, second) -> second).orElse(
-                createErrorLog("No Error Log")).msg;
-    }
-
-    private ShadowLog.LogItem createErrorLog(String msg) {
-        return new ShadowLog.LogItem(Log.ERROR, "tag", msg, null);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
index 71a8062..0484a82 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/HighUsageTipTest.java
@@ -45,8 +45,7 @@
     private static final long SCREEN_TIME = 30 * DateUtils.MINUTE_IN_MILLIS;
     private static final long LAST_FULL_CHARGE_TIME = 20 * DateUtils.MINUTE_IN_MILLIS;
 
-    @Mock
-    private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
     private Context mContext;
     private HighUsageTip mBatteryTip;
     private List<AppInfo> mUsageAppList;
@@ -57,10 +56,11 @@
 
         mContext = RuntimeEnvironment.application;
         mUsageAppList = new ArrayList<>();
-        mUsageAppList.add(new AppInfo.Builder()
-                .setPackageName(PACKAGE_NAME)
-                .setScreenOnTimeMs(SCREEN_TIME)
-                .build());
+        mUsageAppList.add(
+                new AppInfo.Builder()
+                        .setPackageName(PACKAGE_NAME)
+                        .setScreenOnTimeMs(SCREEN_TIME)
+                        .build());
         mBatteryTip = new HighUsageTip(LAST_FULL_CHARGE_TIME, mUsageAppList);
     }
 
@@ -86,19 +86,25 @@
 
     @Test
     public void toString_containsAppData() {
-        assertThat(mBatteryTip.toString()).isEqualTo(
-                "type=2 state=0 { packageName=com.android.app,anomalyTypes={},screenTime=1800000 "
-                        + "}");
+        assertThat(mBatteryTip.toString())
+                .isEqualTo(
+                        "type=2 state=0 {"
+                            + " packageName=com.android.app,anomalyTypes={},screenTime=1800000 }");
     }
 
     @Test
     public void testLog_logAppInfo() {
         mBatteryTip.log(mContext, mMetricsFeatureProvider);
-        verify(mMetricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP, BatteryTip.StateType.NEW);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP,
+                        BatteryTip.StateType.NEW);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP_LIST,
-                PACKAGE_NAME);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_HIGH_USAGE_TIP_LIST,
+                        PACKAGE_NAME);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
index 9f6e4e3..7a23332 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/IncompatibleChargerTipTest.java
@@ -17,19 +17,15 @@
 
 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.mock;
 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.util.Log;
 
 import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
@@ -37,12 +33,13 @@
 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.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.shadows.ShadowLog;
 
 @RunWith(RobolectricTestRunner.class)
@@ -52,40 +49,39 @@
     private FakeFeatureFactory mFeatureFactory;
     private IncompatibleChargerTip mIncompatibleChargerTip;
     private MetricsFeatureProvider mMetricsFeatureProvider;
+    private CardPreference mCardPreference;
 
+    @Rule public MockitoRule mMockitoRule = MockitoJUnit.rule();
     @Mock private BatteryTip mBatteryTip;
     @Mock private Preference mPreference;
-    @Mock private CardPreference mCardPreference;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mMetricsFeatureProvider = mFeatureFactory.metricsFeatureProvider;
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mIncompatibleChargerTip = new IncompatibleChargerTip(BatteryTip.StateType.NEW);
+        mCardPreference = new CardPreference(mContext);
 
         when(mPreference.getContext()).thenReturn(mContext);
-        when(mCardPreference.getContext()).thenReturn(mContext);
     }
 
     @Test
     public void getTitle_showTitle() {
-        assertThat(mIncompatibleChargerTip.getTitle(mContext)).isEqualTo(
-                mContext.getString(R.string.battery_tip_incompatible_charging_title));
+        assertThat(mIncompatibleChargerTip.getTitle(mContext))
+                .isEqualTo(mContext.getString(R.string.battery_tip_incompatible_charging_title));
     }
 
     @Test
     public void getSummary_showSummary() {
-        assertThat(mIncompatibleChargerTip.getSummary(mContext)).isEqualTo(
-                mContext.getString(R.string.battery_tip_incompatible_charging_message));
+        assertThat(mIncompatibleChargerTip.getSummary(mContext))
+                .isEqualTo(mContext.getString(R.string.battery_tip_incompatible_charging_message));
     }
 
     @Test
     public void getIcon_showIcon() {
         assertThat(mIncompatibleChargerTip.getIconId())
-                .isEqualTo(R.drawable.ic_battery_charger);
+                .isEqualTo(R.drawable.ic_battery_incompatible_charger);
     }
 
     @Test
@@ -93,8 +89,11 @@
         mIncompatibleChargerTip.updateState(mBatteryTip);
         mIncompatibleChargerTip.log(mContext, mMetricsFeatureProvider);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                SettingsEnums.ACTION_INCOMPATIBLE_CHARGING_TIP, mBatteryTip.mState);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        SettingsEnums.ACTION_INCOMPATIBLE_CHARGING_TIP,
+                        mBatteryTip.mState);
     }
 
     @Test
@@ -109,13 +108,13 @@
 
         mIncompatibleChargerTip.updatePreference(mCardPreference);
 
-        verify(mCardPreference).setPrimaryButtonText(expected);
+        assertThat(mCardPreference.getPrimaryButtonText()).isEqualTo(expected);
     }
 
     @Test
     public void updatePreference_shouldSetSecondaryButtonVisible() {
         mIncompatibleChargerTip.updatePreference(mCardPreference);
-        verify(mCardPreference).setPrimaryButtonVisible(true);
+        assertThat(mCardPreference.getPrimaryButtonVisibility()).isTrue();
     }
 
     private String getLastErrorLog() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
index 3f42231..69edef7 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/LowBatteryTipTest.java
@@ -37,8 +37,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class LowBatteryTipTest {
 
-    @Mock
-    private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
     private Context mContext;
     private LowBatteryTip mLowBatteryTip;
 
@@ -58,25 +57,25 @@
         final LowBatteryTip parcelTip = new LowBatteryTip(parcel);
 
         assertThat(parcelTip.isPowerSaveModeOn()).isFalse();
-        assertThat(parcelTip.getSummary(mContext)).isEqualTo(
-                mContext.getString(R.string.battery_tip_low_battery_summary));
+        assertThat(parcelTip.getSummary(mContext))
+                .isEqualTo(mContext.getString(R.string.battery_tip_low_battery_summary));
     }
 
     @Test
     public void updateState_stateNew_showExpectedInformation() {
         mLowBatteryTip.mState = BatteryTip.StateType.NEW;
 
-        assertThat(mLowBatteryTip.getTitle(mContext)).isEqualTo(
-                mContext.getString(R.string.battery_tip_low_battery_title));
-        assertThat(mLowBatteryTip.getSummary(mContext)).isEqualTo(
-                mContext.getString(R.string.battery_tip_low_battery_summary));
+        assertThat(mLowBatteryTip.getTitle(mContext))
+                .isEqualTo(mContext.getString(R.string.battery_tip_low_battery_title));
+        assertThat(mLowBatteryTip.getSummary(mContext))
+                .isEqualTo(mContext.getString(R.string.battery_tip_low_battery_summary));
         assertThat(mLowBatteryTip.getIconId()).isEqualTo(R.drawable.ic_battery_saver_accent_24dp);
     }
 
     @Test
     public void updateState_powerSaveModeOn_notShowTipItem() {
-        final LowBatteryTip tip = new LowBatteryTip(
-                BatteryTip.StateType.NEW, true /* powerSaveModeOn */);
+        final LowBatteryTip tip =
+                new LowBatteryTip(BatteryTip.StateType.NEW, true /* powerSaveModeOn */);
 
         tip.updateState(tip);
 
@@ -87,7 +86,10 @@
     public void log_lowBatteryActionWithCorrectState() {
         mLowBatteryTip.log(mContext, mMetricsFeatureProvider);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_LOW_BATTERY_TIP, BatteryTip.StateType.NEW);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_LOW_BATTERY_TIP,
+                        BatteryTip.StateType.NEW);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
index bb70077..c4bc3bc 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/RestrictAppTipTest.java
@@ -65,12 +65,9 @@
     private List<AppInfo> mUsageAppList;
     private AppInfo mAppInfo;
     private AppInfo mUninstallAppInfo;
-    @Mock
-    private ApplicationInfo mApplicationInfo;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock private ApplicationInfo mApplicationInfo;
+    @Mock private PackageManager mPackageManager;
+    @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
 
     @Before
     public void setUp() throws Exception {
@@ -79,28 +76,35 @@
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mContext).when(mContext).getApplicationContext();
         doReturn(mPackageManager).when(mContext).getPackageManager();
-        doReturn(mApplicationInfo).when(mPackageManager).getApplicationInfo(PACKAGE_NAME,
-                PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
-        doThrow(new PackageManager.NameNotFoundException()).when(mPackageManager)
-                .getApplicationInfo(UNINSTALL_PACKAGE_NAME,
+        doReturn(mApplicationInfo)
+                .when(mPackageManager)
+                .getApplicationInfo(
+                        PACKAGE_NAME,
+                        PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
+        doThrow(new PackageManager.NameNotFoundException())
+                .when(mPackageManager)
+                .getApplicationInfo(
+                        UNINSTALL_PACKAGE_NAME,
                         PackageManager.MATCH_DISABLED_COMPONENTS | PackageManager.MATCH_ANY_USER);
         doReturn(DISPLAY_NAME).when(mApplicationInfo).loadLabel(mPackageManager);
 
-        mAppInfo = new AppInfo.Builder()
-                .setPackageName(PACKAGE_NAME)
-                .addAnomalyType(ANOMALY_WAKEUP)
-                .addAnomalyType(ANOMALY_WAKELOCK)
-                .build();
-        mUninstallAppInfo = new AppInfo.Builder()
-                .setPackageName(UNINSTALL_PACKAGE_NAME)
-                .addAnomalyType(ANOMALY_WAKEUP)
-                .build();
+        mAppInfo =
+                new AppInfo.Builder()
+                        .setPackageName(PACKAGE_NAME)
+                        .addAnomalyType(ANOMALY_WAKEUP)
+                        .addAnomalyType(ANOMALY_WAKELOCK)
+                        .build();
+        mUninstallAppInfo =
+                new AppInfo.Builder()
+                        .setPackageName(UNINSTALL_PACKAGE_NAME)
+                        .addAnomalyType(ANOMALY_WAKEUP)
+                        .build();
         mUsageAppList = new ArrayList<>();
         mUsageAppList.add(mAppInfo);
         mNewBatteryTip = new RestrictAppTip(BatteryTip.StateType.NEW, mUsageAppList);
         mHandledBatteryTip = new RestrictAppTip(BatteryTip.StateType.HANDLED, mUsageAppList);
-        mInvisibleBatteryTip = new RestrictAppTip(BatteryTip.StateType.INVISIBLE,
-                new ArrayList<>());
+        mInvisibleBatteryTip =
+                new RestrictAppTip(BatteryTip.StateType.INVISIBLE, new ArrayList<>());
     }
 
     @After
@@ -149,8 +153,9 @@
     @Test
     public void getSummary_oneAppHandled_showHandledSummary() {
         assertThat(mHandledBatteryTip.getSummary(mContext).toString())
-                .isEqualTo(StringUtil.getIcuPluralsString(mContext, 1,
-                        R.string.battery_tip_restrict_handled_summary));
+                .isEqualTo(
+                        StringUtil.getIcuPluralsString(
+                                mContext, 1, R.string.battery_tip_restrict_handled_summary));
     }
 
     @Test
@@ -158,8 +163,9 @@
         mUsageAppList.add(new AppInfo.Builder().build());
         mHandledBatteryTip = new RestrictAppTip(BatteryTip.StateType.HANDLED, mUsageAppList);
         assertThat(mHandledBatteryTip.getSummary(mContext))
-                .isEqualTo(StringUtil.getIcuPluralsString(mContext, 2,
-                        R.string.battery_tip_restrict_handled_summary));
+                .isEqualTo(
+                        StringUtil.getIcuPluralsString(
+                                mContext, 2, R.string.battery_tip_restrict_handled_summary));
     }
 
     @Test
@@ -217,35 +223,47 @@
 
     @Test
     public void toString_containsAppData() {
-        assertThat(mNewBatteryTip.toString()).isEqualTo(
-                "type=1 state=0 { packageName=com.android.app,anomalyTypes={0, 1},screenTime=0 }");
+        assertThat(mNewBatteryTip.toString())
+                .isEqualTo(
+                        "type=1 state=0 { packageName=com.android.app,anomalyTypes={0,"
+                            + " 1},screenTime=0 }");
     }
 
     @Test
     public void testLog_stateNew_logAppInfo() {
         mNewBatteryTip.log(mContext, mMetricsFeatureProvider);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP, BatteryTip.StateType.NEW);
-        verify(mMetricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
-                SettingsEnums.PAGE_UNKNOWN,
-                PACKAGE_NAME,
-                ANOMALY_WAKEUP);
-        verify(mMetricsFeatureProvider).action(SettingsEnums.PAGE_UNKNOWN,
-                MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
-                SettingsEnums.PAGE_UNKNOWN,
-                PACKAGE_NAME,
-                ANOMALY_WAKELOCK);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP,
+                        BatteryTip.StateType.NEW);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        SettingsEnums.PAGE_UNKNOWN,
+                        MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
+                        SettingsEnums.PAGE_UNKNOWN,
+                        PACKAGE_NAME,
+                        ANOMALY_WAKEUP);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        SettingsEnums.PAGE_UNKNOWN,
+                        MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP_LIST,
+                        SettingsEnums.PAGE_UNKNOWN,
+                        PACKAGE_NAME,
+                        ANOMALY_WAKELOCK);
     }
 
     @Test
     public void testLog_stateHandled_doNotLogAppInfo() {
         mHandledBatteryTip.log(mContext, mMetricsFeatureProvider);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP, BatteryTip.StateType.HANDLED);
-        verify(mMetricsFeatureProvider, never()).action(
-                anyInt(), anyInt(), anyInt(), anyString(), anyInt());
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_APP_RESTRICTION_TIP,
+                        BatteryTip.StateType.HANDLED);
+        verify(mMetricsFeatureProvider, never())
+                .action(anyInt(), anyInt(), anyInt(), anyString(), anyInt());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java
index 7da6a4f..36cb319 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batterytip/tips/SmartBatteryTipTest.java
@@ -33,8 +33,7 @@
 @RunWith(RobolectricTestRunner.class)
 public class SmartBatteryTipTest {
 
-    @Mock
-    private MetricsFeatureProvider mMetricsFeatureProvider;
+    @Mock private MetricsFeatureProvider mMetricsFeatureProvider;
     private Context mContext;
     private SmartBatteryTip mSmartBatteryTip;
 
@@ -50,7 +49,10 @@
     public void testLog() {
         mSmartBatteryTip.log(mContext, mMetricsFeatureProvider);
 
-        verify(mMetricsFeatureProvider).action(mContext,
-                MetricsProto.MetricsEvent.ACTION_SMART_BATTERY_TIP, BatteryTip.StateType.NEW);
+        verify(mMetricsFeatureProvider)
+                .action(
+                        mContext,
+                        MetricsProto.MetricsEvent.ACTION_SMART_BATTERY_TIP,
+                        BatteryTip.StateType.NEW);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java
index 60e0af0..0d4d671 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/AnomalyEventWrapperTest.java
@@ -45,19 +45,18 @@
 
     @Test
     public void getDismissRecordKey_returnExpectedResult() {
-        mAnomalyEventWrapper = new AnomalyEventWrapper(mContext,
-                BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent());
-        assertThat(mAnomalyEventWrapper.getDismissRecordKey())
-                .isEqualTo("KEY_BRIGHTNESS");
+        mAnomalyEventWrapper =
+                new AnomalyEventWrapper(
+                        mContext, BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent());
+        assertThat(mAnomalyEventWrapper.getDismissRecordKey()).isEqualTo("KEY_BRIGHTNESS");
 
-        mAnomalyEventWrapper = new AnomalyEventWrapper(mContext,
-                BatteryTestUtils.createScreenTimeoutAnomalyEvent());
-        assertThat(mAnomalyEventWrapper.getDismissRecordKey())
-                .isEqualTo("KEY_SCREEN_TIMEOUT");
+        mAnomalyEventWrapper =
+                new AnomalyEventWrapper(
+                        mContext, BatteryTestUtils.createScreenTimeoutAnomalyEvent());
+        assertThat(mAnomalyEventWrapper.getDismissRecordKey()).isEqualTo("KEY_SCREEN_TIMEOUT");
 
-        mAnomalyEventWrapper = new AnomalyEventWrapper(mContext,
-                BatteryTestUtils.createAppAnomalyEvent());
-        assertThat(mAnomalyEventWrapper.getDismissRecordKey())
-                .isEqualTo("KEY_APP_1");
+        mAnomalyEventWrapper =
+                new AnomalyEventWrapper(mContext, BatteryTestUtils.createAppAnomalyEvent());
+        assertThat(mAnomalyEventWrapper.getDismissRecordKey()).isEqualTo("KEY_APP_1");
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
index cd4e599..6fb021c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartPreferenceControllerTest.java
@@ -66,22 +66,14 @@
 
 @RunWith(RobolectricTestRunner.class)
 public final class BatteryChartPreferenceControllerTest {
-    @Mock
-    private Intent mIntent;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private SettingsActivity mSettingsActivity;
-    @Mock
-    private TextView mChartSummaryTextView;
-    @Mock
-    private BatteryChartView mDailyChartView;
-    @Mock
-    private BatteryChartView mHourlyChartView;
-    @Mock
-    private ViewPropertyAnimator mViewPropertyAnimator;
-    @Mock
-    private LinearLayout.LayoutParams mLayoutParams;
+    @Mock private Intent mIntent;
+    @Mock private UserManager mUserManager;
+    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private TextView mChartSummaryTextView;
+    @Mock private BatteryChartView mDailyChartView;
+    @Mock private BatteryChartView mHourlyChartView;
+    @Mock private ViewPropertyAnimator mViewPropertyAnimator;
+    @Mock private LinearLayout.LayoutParams mLayoutParams;
 
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
@@ -97,11 +89,9 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mContext).when(mContext).getApplicationContext();
-        doReturn(mUserManager)
-                .when(mContext)
-                .getSystemService(UserManager.class);
+        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(true).when(mUserManager).isUserUnlocked(anyInt());
-        doReturn(new int[]{0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
+        doReturn(new int[] {0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
         final Resources resources = spy(mContext.getResources());
         resources.getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
         doReturn(resources).when(mContext).getResources();
@@ -122,7 +112,7 @@
         // Adds fake testing data.
         BatteryDiffEntry.sResourceCache.put(
                 "fakeBatteryDiffEntryKey",
-                new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
+                new BatteryEntry.NameAndIcon("fakeName", /* icon= */ null, /* iconId= */ 1));
     }
 
     @Test
@@ -156,15 +146,18 @@
         verify(mDailyChartView, atLeastOnce()).setVisibility(View.GONE);
         // Ignore fast refresh ui from the data processor callback.
         verify(mHourlyChartView, atLeast(0)).setViewModel(null);
-        verify(mHourlyChartView, atLeastOnce()).setViewModel(new BatteryChartViewModel(
-                List.of(100, 99, 97, 95, 66),
-                List.of(1619247660000L /* 7:01 AM */,
-                        1619251200000L /* 8 AM */,
-                        1619258400000L /* 10 AM */,
-                        1619265600000L /* 12 PM */,
-                        1619265720000L /* now (12:02 PM) */),
-                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
-                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
+        verify(mHourlyChartView, atLeastOnce())
+                .setViewModel(
+                        new BatteryChartViewModel(
+                                List.of(100, 99, 97, 95, 66),
+                                List.of(
+                                        1619247660000L /* 7:01 AM */,
+                                        1619251200000L /* 8 AM */,
+                                        1619258400000L /* 10 AM */,
+                                        1619265600000L /* 12 PM */,
+                                        1619265720000L /* now (12:02 PM) */),
+                                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+                                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
     }
 
     @Test
@@ -173,15 +166,17 @@
         reset(mHourlyChartView);
         setupHourlyChartViewAnimationMock();
 
-        BatteryChartViewModel expectedDailyViewModel = new BatteryChartViewModel(
-                List.of(100, 83, 59, 66),
-                // "Sat", "Sun", "Mon", "Mon"
-                List.of(1619247660000L /* Sat */,
-                        1619308800000L /* Sun */,
-                        1619395200000L /* Mon */,
-                        1619460120000L /* Mon */),
-                BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS,
-                mBatteryChartPreferenceController.mDailyChartLabelTextGenerator);
+        BatteryChartViewModel expectedDailyViewModel =
+                new BatteryChartViewModel(
+                        List.of(100, 83, 59, 66),
+                        // "Sat", "Sun", "Mon", "Mon"
+                        List.of(
+                                1619247660000L /* Sat */,
+                                1619308800000L /* Sun */,
+                                1619395200000L /* Mon */,
+                                1619460120000L /* Mon */),
+                        BatteryChartViewModel.AxisLabelPosition.CENTER_OF_TRAPEZOIDS,
+                        mBatteryChartPreferenceController.mDailyChartLabelTextGenerator);
 
         mBatteryChartPreferenceController.onBatteryLevelDataUpdate(createBatteryLevelData(60));
 
@@ -202,20 +197,23 @@
 
         expectedDailyViewModel.setSelectedIndex(0);
         verify(mDailyChartView).setViewModel(expectedDailyViewModel);
-        verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
-                List.of(100, 99, 97, 95, 93, 91, 89, 87, 85, 83),
-                List.of(1619247660000L /* 7:01 AM */,
-                        1619251200000L /* 8 AM */,
-                        1619258400000L /* 10 AM */,
-                        1619265600000L /* 12 PM */,
-                        1619272800000L /* 2 PM */,
-                        1619280000000L /* 4 PM */,
-                        1619287200000L /* 6 PM */,
-                        1619294400000L /* 8 PM */,
-                        1619301600000L /* 10 PM */,
-                        1619308800000L /* 12 AM */),
-                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
-                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
+        verify(mHourlyChartView)
+                .setViewModel(
+                        new BatteryChartViewModel(
+                                List.of(100, 99, 97, 95, 93, 91, 89, 87, 85, 83),
+                                List.of(
+                                        1619247660000L /* 7:01 AM */,
+                                        1619251200000L /* 8 AM */,
+                                        1619258400000L /* 10 AM */,
+                                        1619265600000L /* 12 PM */,
+                                        1619272800000L /* 2 PM */,
+                                        1619280000000L /* 4 PM */,
+                                        1619287200000L /* 6 PM */,
+                                        1619294400000L /* 8 PM */,
+                                        1619301600000L /* 10 PM */,
+                                        1619308800000L /* 12 AM */),
+                                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+                                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
 
         reset(mDailyChartView);
         reset(mHourlyChartView);
@@ -228,23 +226,25 @@
         verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
         expectedDailyViewModel.setSelectedIndex(1);
         verify(mDailyChartView).setViewModel(expectedDailyViewModel);
-        BatteryChartViewModel expectedHourlyViewModel = new BatteryChartViewModel(
-                List.of(83, 81, 79, 77, 75, 73, 71, 69, 67, 65, 63, 61, 59),
-                List.of(1619308800000L /* 12 AM */,
-                        1619316000000L /* 2 AM */,
-                        1619323200000L /* 4 AM */,
-                        1619330400000L /* 6 AM */,
-                        1619337600000L /* 8 AM */,
-                        1619344800000L /* 10 AM */,
-                        1619352000000L /* 12 PM */,
-                        1619359200000L /* 2 PM */,
-                        1619366400000L /* 4 PM */,
-                        1619373600000L /* 6 PM */,
-                        1619380800000L /* 8 PM */,
-                        1619388000000L /* 10 PM */,
-                        1619395200000L /* 12 AM */),
-                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
-                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator);
+        BatteryChartViewModel expectedHourlyViewModel =
+                new BatteryChartViewModel(
+                        List.of(83, 81, 79, 77, 75, 73, 71, 69, 67, 65, 63, 61, 59),
+                        List.of(
+                                1619308800000L /* 12 AM */,
+                                1619316000000L /* 2 AM */,
+                                1619323200000L /* 4 AM */,
+                                1619330400000L /* 6 AM */,
+                                1619337600000L /* 8 AM */,
+                                1619344800000L /* 10 AM */,
+                                1619352000000L /* 12 PM */,
+                                1619359200000L /* 2 PM */,
+                                1619366400000L /* 4 PM */,
+                                1619373600000L /* 6 PM */,
+                                1619380800000L /* 8 PM */,
+                                1619388000000L /* 10 PM */,
+                                1619395200000L /* 12 AM */),
+                        BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+                        mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator);
         expectedHourlyViewModel.setSelectedIndex(6);
         verify(mHourlyChartView).setViewModel(expectedHourlyViewModel);
 
@@ -259,22 +259,24 @@
         verify(mViewPropertyAnimator, atLeastOnce()).alpha(1f);
         expectedDailyViewModel.setSelectedIndex(2);
         verify(mDailyChartView).setViewModel(expectedDailyViewModel);
-        verify(mHourlyChartView).setViewModel(new BatteryChartViewModel(
-                List.of(59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 66),
-                List.of(1619395200000L /* 12 AM */,
-                        1619402400000L /* 2 AM */,
-                        1619409600000L /* 4 AM */,
-                        1619416800000L /* 6 AM */,
-                        1619424000000L /* 8 AM */,
-                        1619431200000L /* 10 AM */,
-                        1619438400000L /* 12 PM */,
-                        1619445600000L /* 2 PM */,
-                        1619452800000L /* 4 PM */,
-                        1619460000000L /* 6 PM */,
-                        1619460120000L /* now (6:02 PM) */),
-                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
-                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
-
+        verify(mHourlyChartView)
+                .setViewModel(
+                        new BatteryChartViewModel(
+                                List.of(59, 57, 55, 53, 51, 49, 47, 45, 43, 41, 66),
+                                List.of(
+                                        1619395200000L /* 12 AM */,
+                                        1619402400000L /* 2 AM */,
+                                        1619409600000L /* 4 AM */,
+                                        1619416800000L /* 6 AM */,
+                                        1619424000000L /* 8 AM */,
+                                        1619431200000L /* 10 AM */,
+                                        1619438400000L /* 12 PM */,
+                                        1619445600000L /* 2 PM */,
+                                        1619452800000L /* 4 PM */,
+                                        1619460000000L /* 6 PM */,
+                                        1619460120000L /* now (6:02 PM) */),
+                                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+                                mBatteryChartPreferenceController.mHourlyChartLabelTextGenerator));
     }
 
     @Test
@@ -335,6 +337,29 @@
     }
 
     @Test
+    public void showEmptyChart_dailyChartViewIsNull_ignoreShowEmptyChart() {
+        mBatteryChartPreferenceController.mDailyChartView = null;
+        doReturn(View.GONE).when(mHourlyChartView).getVisibility();
+
+        mBatteryChartPreferenceController.showEmptyChart();
+
+        verify(mChartSummaryTextView, never()).setVisibility(View.VISIBLE);
+        verify(mDailyChartView, never()).setVisibility(View.GONE);
+        verify(mHourlyChartView, never()).setVisibility(View.VISIBLE);
+    }
+
+    @Test
+    public void showEmptyChart_hourlyChartViewIsNull_ignoreShowEmptyChart() {
+        mBatteryChartPreferenceController.mHourlyChartView = null;
+
+        mBatteryChartPreferenceController.showEmptyChart();
+
+        verify(mChartSummaryTextView, never()).setVisibility(View.VISIBLE);
+        verify(mDailyChartView, never()).setVisibility(View.GONE);
+        verify(mHourlyChartView, never()).setVisibility(View.VISIBLE);
+    }
+
+    @Test
     public void refreshUi_dailyChartViewIsNull_ignoreRefresh() {
         mBatteryChartPreferenceController.mDailyChartView = null;
 
@@ -359,6 +384,8 @@
         mBatteryChartPreferenceController.mHourlyChartIndex = SELECTED_INDEX_ALL;
 
         assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(null);
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 100% to 66%");
     }
 
     @Test
@@ -368,6 +395,8 @@
         mBatteryChartPreferenceController.mHourlyChartIndex = SELECTED_INDEX_ALL;
 
         assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(null);
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 100% to 66%");
     }
 
     @Test
@@ -377,6 +406,8 @@
         mBatteryChartPreferenceController.mHourlyChartIndex = SELECTED_INDEX_ALL;
 
         assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo("Sunday");
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 83% to 59%");
     }
 
     @Test
@@ -385,8 +416,10 @@
         mBatteryChartPreferenceController.mDailyChartIndex = 0;
         mBatteryChartPreferenceController.mHourlyChartIndex = 2;
 
-        assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
-                "10 AM - 12 PM");
+        assertThat(mBatteryChartPreferenceController.getSlotInformation())
+                .isEqualTo("10 AM - 12 PM");
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 97% to 95%");
     }
 
     @Test
@@ -395,8 +428,10 @@
         mBatteryChartPreferenceController.mDailyChartIndex = 1;
         mBatteryChartPreferenceController.mHourlyChartIndex = 8;
 
-        assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
-                "Sunday 4 PM - 6 PM");
+        assertThat(mBatteryChartPreferenceController.getSlotInformation())
+                .isEqualTo("Sunday 4 PM - 6 PM");
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 67% to 65%");
     }
 
     @Test
@@ -405,8 +440,10 @@
         mBatteryChartPreferenceController.mDailyChartIndex = 0;
         mBatteryChartPreferenceController.mHourlyChartIndex = 0;
 
-        assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
-                "7:01 AM - 8 AM");
+        assertThat(mBatteryChartPreferenceController.getSlotInformation())
+                .isEqualTo("7:01 AM - 8 AM");
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 100% to 99%");
     }
 
     @Test
@@ -415,8 +452,9 @@
         mBatteryChartPreferenceController.mDailyChartIndex = 0;
         mBatteryChartPreferenceController.mHourlyChartIndex = 3;
 
-        assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
-                "12 PM - now");
+        assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo("12 PM - now");
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 95% to 66%");
     }
 
     @Test
@@ -425,8 +463,10 @@
         mBatteryChartPreferenceController.mDailyChartIndex = 0;
         mBatteryChartPreferenceController.mHourlyChartIndex = 0;
 
-        assertThat(mBatteryChartPreferenceController.getSlotInformation()).isEqualTo(
-                "7:01 AM - now");
+        assertThat(mBatteryChartPreferenceController.getSlotInformation())
+                .isEqualTo("7:01 AM - now");
+        assertThat(mBatteryChartPreferenceController.getBatteryLevelPercentageInfo())
+                .isEqualTo("Battery level percentage from 100% to 66%");
     }
 
     @Test
@@ -485,7 +525,7 @@
     private BatteryChartPreferenceController createController() {
         final BatteryChartPreferenceController controller =
                 new BatteryChartPreferenceController(
-                        mContext, /*lifecycle=*/ null, mSettingsActivity);
+                        mContext, /* lifecycle= */ null, mSettingsActivity);
         controller.mPrefContext = mContext;
         return controller;
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
index 5213199..4263bad 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryChartViewTest.java
@@ -45,8 +45,7 @@
     private FakeFeatureFactory mFeatureFactory;
     private PowerUsageFeatureProvider mPowerUsageFeatureProvider;
 
-    @Mock
-    private View mMockView;
+    @Mock private View mMockView;
 
     @Before
     public void setUp() {
@@ -54,17 +53,19 @@
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mPowerUsageFeatureProvider = mFeatureFactory.powerUsageFeatureProvider;
         mContext = spy(RuntimeEnvironment.application);
-        mContext.getResources().getConfiguration().setLocales(
-                new LocaleList(new Locale("en_US")));
+        mContext.getResources().getConfiguration().setLocales(new LocaleList(new Locale("en_US")));
         mBatteryChartView = new BatteryChartView(mContext);
     }
 
     @Test
     public void onClick_invokesCallback() {
         final int originalSelectedIndex = 2;
-        BatteryChartViewModel batteryChartViewModel = new BatteryChartViewModel(
-                List.of(90, 80, 70, 60), List.of(0L, 0L, 0L, 0L),
-                BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS, null);
+        BatteryChartViewModel batteryChartViewModel =
+                new BatteryChartViewModel(
+                        List.of(90, 80, 70, 60),
+                        List.of(0L, 0L, 0L, 0L),
+                        BatteryChartViewModel.AxisLabelPosition.BETWEEN_TRAPEZOIDS,
+                        null);
         batteryChartViewModel.setSelectedIndex(originalSelectedIndex);
         mBatteryChartView.setViewModel(batteryChartViewModel);
         for (int i = 0; i < mBatteryChartView.mTrapezoidSlots.length; i++) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java
index d4bae29..d351ca3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffDataTest.java
@@ -60,10 +60,11 @@
     @Test
     public void needsCombineInSystemApp_isHidden_returnTrue() {
         final BatteryDiffEntry hiddenDiffEntry =
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 0, /*isHidden=*/ true);
+                createBatteryDiffEntry(mContext, /* consumePower= */ 0, /* isHidden= */ true);
 
-        final boolean needsCombineInSystemApp = BatteryDiffData.needsCombineInSystemApp(
-                hiddenDiffEntry, List.of(), Set.of(), Set.of());
+        final boolean needsCombineInSystemApp =
+                BatteryDiffData.needsCombineInSystemApp(
+                        hiddenDiffEntry, List.of(), Set.of(), Set.of());
 
         assertThat(needsCombineInSystemApp).isTrue();
     }
@@ -71,13 +72,17 @@
     @Test
     public void needsCombineInSystemApp_isSystemApp_returnTrue() {
         final BatteryDiffEntry batteryDiffEntry =
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 0, /*isHidden=*/ false);
+                createBatteryDiffEntry(mContext, /* consumePower= */ 0, /* isHidden= */ false);
         doReturn(mAppEntry).when(mApplicationsState).getEntry(anyString(), anyInt());
         mAppEntry.info = mApplicationInfo;
         mApplicationInfo.flags = ApplicationInfo.FLAG_SYSTEM;
 
-        final boolean needsCombineInSystemApp = BatteryDiffData.needsCombineInSystemApp(
-                batteryDiffEntry, List.of(), Set.of(ConvertUtils.FAKE_PACKAGE_NAME), Set.of());
+        final boolean needsCombineInSystemApp =
+                BatteryDiffData.needsCombineInSystemApp(
+                        batteryDiffEntry,
+                        List.of(),
+                        Set.of(ConvertUtils.FAKE_PACKAGE_NAME),
+                        Set.of());
 
         assertThat(needsCombineInSystemApp).isTrue();
     }
@@ -85,13 +90,14 @@
     @Test
     public void needsCombineInSystemApp_notSystemApp_returnFalse() {
         final BatteryDiffEntry batteryDiffEntry =
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 0, /*isHidden=*/ false);
+                createBatteryDiffEntry(mContext, /* consumePower= */ 0, /* isHidden= */ false);
         doReturn(mAppEntry).when(mApplicationsState).getEntry(anyString(), anyInt());
         mAppEntry.info = mApplicationInfo;
         mApplicationInfo.flags = 0;
 
-        final boolean needsCombineInSystemApp = BatteryDiffData.needsCombineInSystemApp(
-                batteryDiffEntry, List.of(), Set.of(), Set.of());
+        final boolean needsCombineInSystemApp =
+                BatteryDiffData.needsCombineInSystemApp(
+                        batteryDiffEntry, List.of(), Set.of(), Set.of());
 
         assertThat(needsCombineInSystemApp).isFalse();
     }
@@ -100,11 +106,11 @@
     public void processPercentsAndSort_sumLessThan100_adjustTo100() {
         List<BatteryDiffEntry> batteryDiffEntries = new ArrayList<>();
         batteryDiffEntries.add(
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 33.33, /*isHidden=*/ false));
+                createBatteryDiffEntry(mContext, /* consumePower= */ 33.33, /* isHidden= */ false));
         batteryDiffEntries.add(
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 33.34, /*isHidden=*/ false));
+                createBatteryDiffEntry(mContext, /* consumePower= */ 33.34, /* isHidden= */ false));
         batteryDiffEntries.add(
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 33.33, /*isHidden=*/ false));
+                createBatteryDiffEntry(mContext, /* consumePower= */ 33.33, /* isHidden= */ false));
 
         BatteryDiffData.processAndSortEntries(batteryDiffEntries);
 
@@ -120,11 +126,11 @@
     public void processPercentsAndSort_sumGreaterThan100_adjustTo100() {
         List<BatteryDiffEntry> batteryDiffEntries = new ArrayList<>();
         batteryDiffEntries.add(
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 48.5, /*isHidden=*/ false));
+                createBatteryDiffEntry(mContext, /* consumePower= */ 48.5, /* isHidden= */ false));
         batteryDiffEntries.add(
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 3, /*isHidden=*/ false));
+                createBatteryDiffEntry(mContext, /* consumePower= */ 3, /* isHidden= */ false));
         batteryDiffEntries.add(
-                createBatteryDiffEntry(mContext, /*consumePower=*/ 48.5, /*isHidden=*/ false));
+                createBatteryDiffEntry(mContext, /* consumePower= */ 48.5, /* isHidden= */ false));
 
         BatteryDiffData.processAndSortEntries(batteryDiffEntries);
 
@@ -136,47 +142,98 @@
         assertThat(batteryDiffEntries.get(2).getAdjustPercentageOffset()).isEqualTo(0);
     }
 
+    @Test
+    public void processPercentsAndSort_uninstalledApps_sortAsExpected() {
+        List<BatteryDiffEntry> batteryDiffEntries = new ArrayList<>();
+        batteryDiffEntries.add(
+                createBatteryDiffEntry(mContext, /* consumePower= */ 28.5, /* key= */ "APP_1"));
+        batteryDiffEntries.add(
+                createBatteryDiffEntry(
+                        mContext, /* consumePower= */ 20, BatteryDiffEntry.UNINSTALLED_APPS_KEY));
+        batteryDiffEntries.add(
+                createBatteryDiffEntry(mContext, /* consumePower= */ 3, /* key= */ "APP_2"));
+        batteryDiffEntries.add(
+                createBatteryDiffEntry(
+                        mContext, /* consumePower= */ 28.5, BatteryDiffEntry.SYSTEM_APPS_KEY));
+        batteryDiffEntries.add(
+                createBatteryDiffEntry(mContext, /* consumePower= */ 20, /* key= */ "APP_3"));
+
+        BatteryDiffData.processAndSortEntries(batteryDiffEntries);
+
+        assertThat(batteryDiffEntries.get(0).getKey()).isEqualTo("APP_1");
+        assertThat(batteryDiffEntries.get(1).getKey()).isEqualTo("APP_3");
+        assertThat(batteryDiffEntries.get(2).getKey()).isEqualTo("APP_2");
+        assertThat(batteryDiffEntries.get(3).getKey())
+                .isEqualTo(BatteryDiffEntry.UNINSTALLED_APPS_KEY);
+        assertThat(batteryDiffEntries.get(4).getKey()).isEqualTo(BatteryDiffEntry.SYSTEM_APPS_KEY);
+    }
+
     private static BatteryDiffEntry createBatteryDiffEntry(
             Context context, double consumePower, boolean isHidden) {
+        return createBatteryDiffEntry(context, consumePower, isHidden, /* key= */ null);
+    }
+
+    private static BatteryDiffEntry createBatteryDiffEntry(
+            Context context, double consumePower, String key) {
+        return createBatteryDiffEntry(context, consumePower, /* isHidden= */ false, key);
+    }
+
+    private static BatteryDiffEntry createBatteryDiffEntry(
+            Context context, double consumePower, boolean isHidden, String key) {
         final int currentUserId = context.getUserId();
-        final BatteryHistEntry batteryHistEntry = createBatteryHistEntry(
-                ConvertUtils.FAKE_PACKAGE_NAME, "fake_label", consumePower,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 0L, currentUserId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                /*foregroundUsageTimeInMs=*/ 0L,  /*backgroundUsageTimeInMs=*/ 0L, isHidden);
+        final BatteryHistEntry batteryHistEntry =
+                createBatteryHistEntry(
+                        ConvertUtils.FAKE_PACKAGE_NAME,
+                        "fake_label",
+                        consumePower,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 0L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        isHidden);
         return new BatteryDiffEntry(
                 context,
                 batteryHistEntry.mUid,
                 batteryHistEntry.mUserId,
-                batteryHistEntry.getKey(),
+                key == null ? batteryHistEntry.getKey() : key,
                 batteryHistEntry.mIsHidden,
                 batteryHistEntry.mDrainType,
                 batteryHistEntry.mPackageName,
                 batteryHistEntry.mAppLabel,
                 batteryHistEntry.mConsumerType,
-                /*foregroundUsageTimeInMs=*/ 0,
-                /*backgroundUsageTimeInMs=*/ 0,
-                /*screenOnTimeInMs=*/ 0,
-                /*consumePower=*/ consumePower,
-                /*foregroundUsageConsumePower=*/ 0,
-                /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0,
-                /*cachedUsageConsumePower=*/ 0);
+                /* foregroundUsageTimeInMs= */ 0,
+                /* foregroundServiceUsageTimeInMs= */ 0,
+                /* backgroundUsageTimeInMs= */ 0,
+                /* screenOnTimeInMs= */ 0,
+                consumePower,
+                /* foregroundUsageConsumePower= */ 0,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 0,
+                /* cachedUsageConsumePower= */ 0);
     }
 
     private static BatteryHistEntry createBatteryHistEntry(
-            final String packageName, final String appLabel, final double consumePower,
+            final String packageName,
+            final String appLabel,
+            final double consumePower,
             final double foregroundUsageConsumePower,
             final double foregroundServiceUsageConsumePower,
-            final double backgroundUsageConsumePower, final double cachedUsageConsumePower,
-            final long uid, final long userId, final int consumerType,
-            final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
+            final double backgroundUsageConsumePower,
+            final double cachedUsageConsumePower,
+            final long uid,
+            final long userId,
+            final int consumerType,
+            final long foregroundUsageTimeInMs,
+            final long backgroundUsageTimeInMs,
             final boolean isHidden) {
         // Only insert required fields.
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setAppLabel(appLabel)
                         .setConsumePower(consumePower)
                         .setForegroundUsageConsumePower(foregroundUsageConsumePower)
@@ -192,7 +249,8 @@
         values.put(BatteryHistEntry.KEY_UID, uid);
         values.put(BatteryHistEntry.KEY_USER_ID, userId);
         values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, consumerType);
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         return new BatteryHistEntry(values);
     }
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 9bb4b73..4567bc3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryDiffEntryTest.java
@@ -58,35 +58,44 @@
 @Config(shadows = {BatteryDiffEntryTest.ShadowUserHandle.class})
 public final class BatteryDiffEntryTest {
 
+    private static final int UID = 100;
+    private static final int USER_ID = 0;
+    private static final int UNINSTALLED_UID = 101;
+    private static final String PACKAGE_NAME = "com.android.testing";
+    private static final String UNINSTALLED_PACKAGE_NAME = "com.android.testing.uninstalled";
+    private static final String UID_ZERO_PACKAGE_NAME = "com.android.testing.uid.zero";
+
     private Context mContext;
 
-    @Mock
-    private ApplicationInfo mMockAppInfo;
-    @Mock
-    private PackageManager mMockPackageManager;
-    @Mock
-    private UserManager mMockUserManager;
-    @Mock
-    private Drawable mMockDrawable;
-    @Mock
-    private Drawable mMockDrawable2;
-    @Mock
-    private Drawable mMockBadgedDrawable;
-    @Mock
-    private BatteryHistEntry mBatteryHistEntry;
-    @Mock
-    private PackageInfo mMockPackageInfo;
-    @Mock
-    private ConstantState mMockConstantState;
+    @Mock private ApplicationInfo mMockAppInfo;
+    @Mock private PackageManager mMockPackageManager;
+    @Mock private UserManager mMockUserManager;
+    @Mock private Drawable mMockDrawable;
+    @Mock private Drawable mMockDrawable2;
+    @Mock private Drawable mMockBadgedDrawable;
+    @Mock private BatteryHistEntry mBatteryHistEntry;
+    @Mock private PackageInfo mMockPackageInfo;
+    @Mock private ConstantState mMockConstantState;
 
     @Before
-    public void setUp() {
+    public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
         ShadowUserHandle.reset();
         mContext = spy(RuntimeEnvironment.application);
+        BatteryUtils.getInstance(mContext).reset();
         doReturn(mContext).when(mContext).getApplicationContext();
         doReturn(mMockUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(mMockPackageManager).when(mContext).getPackageManager();
+        doReturn(UID)
+                .when(mMockPackageManager)
+                .getPackageUidAsUser(PACKAGE_NAME, PackageManager.GET_META_DATA, USER_ID);
+        doReturn(BatteryUtils.UID_NULL)
+                .when(mMockPackageManager)
+                .getPackageUidAsUser(
+                        UNINSTALLED_PACKAGE_NAME, PackageManager.GET_META_DATA, USER_ID);
+        doReturn(BatteryUtils.UID_ZERO)
+                .when(mMockPackageManager)
+                .getPackageUidAsUser(UID_ZERO_PACKAGE_NAME, PackageManager.GET_META_DATA, USER_ID);
         BatteryDiffEntry.clearCache();
     }
 
@@ -95,22 +104,23 @@
         final BatteryDiffEntry entry =
                 new BatteryDiffEntry(
                         mContext,
-                        /*uid=*/ 0,
-                        /*userId=*/ 0,
-                        /*key=*/ "key",
-                        /*isHidden=*/ false,
-                        /*componentId=*/ -1,
-                        /*legacyPackageName=*/ null,
-                        /*legacyLabel=*/ null,
+                        /* uid= */ 0,
+                        /* userId= */ 0,
+                        /* key= */ "key",
+                        /* isHidden= */ false,
+                        /* componentId= */ -1,
+                        /* legacyPackageName= */ null,
+                        /* legacyLabel= */ null,
                         /*consumerType*/ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                        /*foregroundUsageTimeInMs=*/ 10001L,
-                        /*backgroundUsageTimeInMs=*/ 20002L,
-                        /*screenOnTimeInMs=*/ 30003L,
-                        /*consumePower=*/ 22.0,
-                        /*foregroundUsageConsumePower=*/ 10.0,
-                        /*foregroundServiceUsageConsumePower=*/ 10.0,
-                        /*backgroundUsageConsumePower=*/ 1.0,
-                        /*cachedUsageConsumePower=*/ 1.0);
+                        /* foregroundUsageTimeInMs= */ 10001L,
+                        /* foregroundServiceUsageTimeInMs= */ 20002L,
+                        /* backgroundUsageTimeInMs= */ 30003L,
+                        /* screenOnTimeInMs= */ 40004L,
+                        /* consumePower= */ 22.0,
+                        /* foregroundUsageConsumePower= */ 10.0,
+                        /* foregroundServiceUsageConsumePower= */ 10.0,
+                        /* backgroundUsageConsumePower= */ 1.0,
+                        /* cachedUsageConsumePower= */ 1.0);
         entry.setTotalConsumePower(100.0);
 
         assertThat(entry.getPercentage()).isEqualTo(22.0);
@@ -121,22 +131,23 @@
         final BatteryDiffEntry entry =
                 new BatteryDiffEntry(
                         mContext,
-                        /*uid=*/ 0,
-                        /*userId=*/ 0,
-                        /*key=*/ "key",
-                        /*isHidden=*/ false,
-                        /*componentId=*/ -1,
-                        /*legacyPackageName=*/ null,
-                        /*legacyLabel=*/ null,
+                        /* uid= */ 0,
+                        /* userId= */ 0,
+                        /* key= */ "key",
+                        /* isHidden= */ false,
+                        /* componentId= */ -1,
+                        /* legacyPackageName= */ null,
+                        /* legacyLabel= */ null,
                         /*consumerType*/ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                        /*foregroundUsageTimeInMs=*/ 10001L,
-                        /*backgroundUsageTimeInMs=*/ 20002L,
-                        /*screenOnTimeInMs=*/ 30003L,
-                        /*consumePower=*/ 22.0,
-                        /*foregroundUsageConsumePower=*/ 10.0,
-                        /*foregroundServiceUsageConsumePower=*/ 10.0,
-                        /*backgroundUsageConsumePower=*/ 1.0,
-                        /*cachedUsageConsumePower=*/ 1.0);
+                        /* foregroundUsageTimeInMs= */ 10001L,
+                        /* foregroundServiceUsageTimeInMs= */ 20002L,
+                        /* backgroundUsageTimeInMs= */ 30003L,
+                        /* screenOnTimeInMs= */ 40004L,
+                        /* consumePower= */ 22.0,
+                        /* foregroundUsageConsumePower= */ 10.0,
+                        /* foregroundServiceUsageConsumePower= */ 10.0,
+                        /* backgroundUsageConsumePower= */ 1.0,
+                        /* cachedUsageConsumePower= */ 1.0);
         entry.setTotalConsumePower(0);
 
         assertThat(entry.getPercentage()).isEqualTo(0);
@@ -149,22 +160,23 @@
         BatteryDiffEntry systemAppsBatteryDiffEntry =
                 new BatteryDiffEntry(
                         mContext,
-                        /*uid=*/ 0,
-                        /*userId=*/ 0,
-                        /*key=*/ BatteryDiffEntry.SYSTEM_APPS_KEY,
-                        /*isHidden=*/ false,
-                        /*componentId=*/ -1,
-                        /*legacyPackageName=*/ null,
-                        /*legacyLabel=*/ BatteryDiffEntry.SYSTEM_APPS_KEY,
+                        /* uid= */ 0,
+                        /* userId= */ 0,
+                        /* key= */ BatteryDiffEntry.SYSTEM_APPS_KEY,
+                        /* isHidden= */ false,
+                        /* componentId= */ -1,
+                        /* legacyPackageName= */ null,
+                        /* legacyLabel= */ BatteryDiffEntry.SYSTEM_APPS_KEY,
                         /*consumerType*/ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                        /*foregroundUsageTimeInMs=*/ 0,
-                        /*backgroundUsageTimeInMs=*/ 0,
-                        /*screenOnTimeInMs=*/ 0,
-                        /*consumePower=*/ 0,
-                        /*foregroundUsageConsumePower=*/ 0,
-                        /*foregroundServiceUsageConsumePower=*/ 0,
-                        /*backgroundUsageConsumePower=*/ 0,
-                        /*cachedUsageConsumePower=*/ 0);
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0,
+                        /* screenOnTimeInMs= */ 0,
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0);
         systemAppsBatteryDiffEntry.mConsumePower = 16;
         systemAppsBatteryDiffEntry.setTotalConsumePower(100);
         entryList.add(systemAppsBatteryDiffEntry);
@@ -184,14 +196,14 @@
     public void testLoadLabelAndIcon_forSystemBattery_returnExpectedResult() {
         final String expectedName = "Ambient display";
         // Generates fake testing data.
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setDrainType(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY)
                         .build();
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
@@ -215,8 +227,8 @@
         final String expectedName = "Removed user";
         doReturn(null).when(mMockUserManager).getUserInfo(1001);
         // Generates fake testing data.
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
         values.put(BatteryHistEntry.KEY_USER_ID, Integer.valueOf(1001));
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
@@ -240,14 +252,12 @@
     public void testGetAppLabel_loadDataFromApplicationInfo() throws Exception {
         final String expectedAppLabel = "fake app label";
         final String fakePackageName = "com.fake.google.com";
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         values.put(BatteryHistEntry.KEY_UID, /*invalid uid*/ 10001);
         values.put(BatteryHistEntry.KEY_PACKAGE_NAME, fakePackageName);
-        doReturn(mMockAppInfo).when(mMockPackageManager)
-                .getApplicationInfo(fakePackageName, 0);
-        doReturn(expectedAppLabel).when(mMockPackageManager)
-                .getApplicationLabel(mMockAppInfo);
+        doReturn(mMockAppInfo).when(mMockPackageManager).getApplicationInfo(fakePackageName, 0);
+        doReturn(expectedAppLabel).when(mMockPackageManager).getApplicationLabel(mMockAppInfo);
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
         final BatteryDiffEntry entry = createBatteryDiffEntry(10, batteryHistEntry);
@@ -267,8 +277,8 @@
     @Test
     public void testGetAppLabel_loadDataFromPreDefinedNameAndUid() {
         final String expectedAppLabel = "Android OS";
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
         final BatteryDiffEntry entry = createBatteryDiffEntry(10, batteryHistEntry);
@@ -284,14 +294,12 @@
     @Test
     public void testGetAppLabel_nullAppLabel_returnAppLabelInBatteryHistEntry() {
         final String expectedAppLabel = "fake app label";
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
-                        .setAppLabel(expectedAppLabel)
-                        .build();
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+                BatteryInformation.newBuilder().setAppLabel(expectedAppLabel).build();
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
@@ -304,8 +312,8 @@
 
     @Test
     public void testGetAppIcon_nonUidConsumer_returnAppIconInBatteryDiffEntry() {
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
         mockConstantState(mMockDrawable);
 
@@ -324,7 +332,8 @@
         final BatteryDiffEntry entry = createBatteryDiffEntry(mMockDrawable);
         mockConstantState(mMockDrawable);
         mockConstantState(mMockBadgedDrawable);
-        doReturn(mMockBadgedDrawable).when(mMockUserManager)
+        doReturn(mMockBadgedDrawable)
+                .when(mMockUserManager)
                 .getBadgedIconForUser(eq(mMockDrawable), any());
 
         entry.mAppIcon = null;
@@ -347,17 +356,18 @@
     }
 
     @Test
-    public void testClearCache_clearDataForResourcesAndFlags() {
+    public void testClearCache_clearDataForAllCaches() {
         BatteryDiffEntry.sResourceCache.put(
                 "fake application key",
-                new BatteryEntry.NameAndIcon("app label", null, /*iconId=*/ 0));
-        BatteryDiffEntry.sValidForRestriction.put(
-                "fake application key", Boolean.valueOf(false));
+                new BatteryEntry.NameAndIcon("app label", null, /* iconId= */ 0));
+        BatteryDiffEntry.sValidForRestriction.put("fake application key", Boolean.valueOf(false));
+        BatteryDiffEntry.sPackageNameAndUidCache.put(PACKAGE_NAME, UID);
 
         BatteryDiffEntry.clearCache();
 
         assertThat(BatteryDiffEntry.sResourceCache).isEmpty();
         assertThat(BatteryDiffEntry.sValidForRestriction).isEmpty();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache).isEmpty();
     }
 
     @Test
@@ -386,7 +396,8 @@
         final BatteryDiffEntry entry =
                 createBatteryDiffEntry(
                         ConvertUtils.CONSUMER_TYPE_USER_BATTERY,
-                        /*uid=*/ 0, /*isHidden=*/ false);
+                        /* uid= */ 0,
+                        /* isHidden= */ false);
         assertThat(entry.isSystemEntry()).isTrue();
     }
 
@@ -395,7 +406,8 @@
         final BatteryDiffEntry entry =
                 createBatteryDiffEntry(
                         ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
-                        /*uid=*/ 0, /*isHidden=*/ false);
+                        /* uid= */ 0,
+                        /* isHidden= */ false);
         assertThat(entry.isSystemEntry()).isTrue();
     }
 
@@ -404,7 +416,8 @@
         final BatteryDiffEntry entry =
                 createBatteryDiffEntry(
                         ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                        /*uid=*/ 123, /*isHidden=*/ false);
+                        /* uid= */ 123,
+                        /* isHidden= */ false);
         assertThat(entry.isSystemEntry()).isFalse();
     }
 
@@ -413,39 +426,98 @@
         final BatteryDiffEntry entry =
                 createBatteryDiffEntry(
                         ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                        /*uid=*/ 1230, /*isHidden=*/ false);
+                        /* uid= */ 1230,
+                        /* isHidden= */ false);
         assertThat(entry.isSystemEntry()).isFalse();
     }
 
     @Test
+    public void testIsUninstalledEntry_systemApp_returnFalse() {
+        final BatteryDiffEntry entry =
+                createBatteryDiffEntry(
+                        ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+                        /* uid= */ 0,
+                        /* isHidden= */ false);
+        assertThat(entry.isSystemEntry()).isTrue();
+        assertThat(entry.isUninstalledEntry()).isFalse();
+    }
+
+    @Test
+    public void testIsUninstalledEntry_installedApp_returnFalse() throws Exception {
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        values.put(BatteryHistEntry.KEY_UID, UID);
+        values.put(BatteryHistEntry.KEY_PACKAGE_NAME, PACKAGE_NAME);
+        final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
+
+        assertThat(entry.isSystemEntry()).isFalse();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.containsKey(PACKAGE_NAME)).isFalse();
+        assertThat(entry.isUninstalledEntry()).isFalse();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.containsKey(PACKAGE_NAME)).isTrue();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.get(PACKAGE_NAME)).isEqualTo(UID);
+    }
+
+    @Test
+    public void testIsUninstalledEntry_uidZero_returnFalse() throws Exception {
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        values.put(BatteryHistEntry.KEY_UID, BatteryUtils.UID_ZERO);
+        values.put(BatteryHistEntry.KEY_PACKAGE_NAME, PACKAGE_NAME);
+        final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
+
+        assertThat(entry.isSystemEntry()).isFalse();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.containsKey(PACKAGE_NAME)).isFalse();
+        assertThat(entry.isUninstalledEntry()).isFalse();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.containsKey(PACKAGE_NAME)).isFalse();
+    }
+
+    @Test
+    public void testIsUninstalledEntry_uninstalledApp_returnTrue() throws Exception {
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        values.put(BatteryHistEntry.KEY_UID, UNINSTALLED_UID);
+        values.put(BatteryHistEntry.KEY_PACKAGE_NAME, UNINSTALLED_PACKAGE_NAME);
+        final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
+
+        assertThat(entry.isSystemEntry()).isFalse();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.containsKey(UNINSTALLED_PACKAGE_NAME))
+                .isFalse();
+        assertThat(entry.isUninstalledEntry()).isTrue();
+        assertThat(BatteryDiffEntry.sPackageNameAndUidCache.get(UNINSTALLED_PACKAGE_NAME))
+                .isEqualTo(BatteryUtils.UID_NULL);
+    }
+
+    @Test
     public void testUpdateRestrictionFlagState_updateFlagAsExpected() throws Exception {
         final String expectedAppLabel = "fake app label";
         final String fakePackageName = "com.fake.google.com";
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         values.put(BatteryHistEntry.KEY_UID, /*invalid uid*/ 10001);
         values.put(BatteryHistEntry.KEY_PACKAGE_NAME, fakePackageName);
-        final BatteryDiffEntry entry =
-                createBatteryDiffEntry(10, new BatteryHistEntry(values));
+        final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
 
         entry.updateRestrictionFlagState();
         // Sets false if the app entry cannot be found.
         assertThat(entry.mValidForRestriction).isFalse();
 
-        doReturn(BatteryUtils.UID_NULL).when(mMockPackageManager).getPackageUid(
-                entry.getPackageName(), PackageManager.GET_META_DATA);
+        doReturn(BatteryUtils.UID_NULL)
+                .when(mMockPackageManager)
+                .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA);
         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);
+        doReturn(1000)
+                .when(mMockPackageManager)
+                .getPackageUid(entry.getPackageName(), PackageManager.GET_META_DATA);
         entry.updateRestrictionFlagState();
         // Sets false if the app PackageInfo cannot be found.
         assertThat(entry.mValidForRestriction).isFalse();
 
-        doReturn(mMockPackageInfo).when(mMockPackageManager).getPackageInfo(
-                eq(entry.getPackageName()), anyInt());
+        doReturn(mMockPackageInfo)
+                .when(mMockPackageManager)
+                .getPackageInfo(eq(entry.getPackageName()), anyInt());
         entry.updateRestrictionFlagState();
         // Sets true if package is valid and PackageInfo can be found.
         assertThat(entry.mValidForRestriction).isTrue();
@@ -454,11 +526,10 @@
     @Test
     public void testGetPackageName_returnExpectedResult() {
         final String expectedPackageName = "com.fake.google.com";
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         values.put(BatteryHistEntry.KEY_PACKAGE_NAME, expectedPackageName);
-        final BatteryDiffEntry entry =
-                createBatteryDiffEntry(10, new BatteryHistEntry(values));
+        final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
 
         assertThat(entry.getPackageName()).isEqualTo(expectedPackageName);
     }
@@ -466,59 +537,58 @@
     @Test
     public void testGetPackageName_withProcessName_returnExpectedResult() {
         final String expectedPackageName = "com.fake.google.com";
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
-        values.put(
-                BatteryHistEntry.KEY_PACKAGE_NAME,
-                expectedPackageName + ":privileged_process0");
-        final BatteryDiffEntry entry =
-                createBatteryDiffEntry(10, new BatteryHistEntry(values));
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        values.put(BatteryHistEntry.KEY_PACKAGE_NAME, expectedPackageName + ":privileged_process0");
+        final BatteryDiffEntry entry = createBatteryDiffEntry(10, new BatteryHistEntry(values));
 
         assertThat(entry.getPackageName()).isEqualTo(expectedPackageName);
     }
 
-    private BatteryDiffEntry createBatteryDiffEntry(
-            int consumerType, long uid, boolean isHidden) {
+    private BatteryDiffEntry createBatteryDiffEntry(int consumerType, long uid, boolean isHidden) {
         return new BatteryDiffEntry(
                 mContext,
-                /*uid=*/ uid,
-                /*userId=*/ 0,
-                /*key=*/ "key",
-                /*isHidden=*/ isHidden,
-                /*componentId=*/ -1,
-                /*legacyPackageName=*/ null,
-                /*legacyLabel=*/ null,
+                /* uid= */ uid,
+                /* userId= */ 0,
+                /* key= */ "key",
+                /* isHidden= */ isHidden,
+                /* componentId= */ -1,
+                /* legacyPackageName= */ null,
+                /* legacyLabel= */ null,
                 /*consumerType*/ consumerType,
-                /*foregroundUsageTimeInMs=*/ 0,
-                /*backgroundUsageTimeInMs=*/ 0,
-                /*screenOnTimeInMs=*/ 0,
-                /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0,
-                /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0,
-                /*cachedUsageConsumePower=*/ 0);
+                /* foregroundUsageTimeInMs= */ 0,
+                /* foregroundServiceUsageTimeInMs= */ 0,
+                /* backgroundUsageTimeInMs= */ 0,
+                /* screenOnTimeInMs= */ 0,
+                /* consumePower= */ 0,
+                /* foregroundUsageConsumePower= */ 0,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 0,
+                /* cachedUsageConsumePower= */ 0);
     }
 
     private BatteryDiffEntry createBatteryDiffEntry(
             double consumePower, BatteryHistEntry batteryHistEntry) {
-        final BatteryDiffEntry entry = new BatteryDiffEntry(
-                mContext,
-                batteryHistEntry.mUid,
-                batteryHistEntry.mUserId,
-                batteryHistEntry.getKey(),
-                batteryHistEntry.mIsHidden,
-                batteryHistEntry.mDrainType,
-                batteryHistEntry.mPackageName,
-                batteryHistEntry.mAppLabel,
-                batteryHistEntry.mConsumerType,
-                /*foregroundUsageTimeInMs=*/ 0,
-                /*backgroundUsageTimeInMs=*/ 0,
-                /*screenOnTimeInMs=*/ 0,
-                consumePower,
-                /*foregroundUsageConsumePower=*/ 0,
-                /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0,
-                /*cachedUsageConsumePower=*/ 0);
+        final BatteryDiffEntry entry =
+                new BatteryDiffEntry(
+                        mContext,
+                        batteryHistEntry.mUid,
+                        batteryHistEntry.mUserId,
+                        batteryHistEntry.getKey(),
+                        batteryHistEntry.mIsHidden,
+                        batteryHistEntry.mDrainType,
+                        batteryHistEntry.mPackageName,
+                        batteryHistEntry.mAppLabel,
+                        batteryHistEntry.mConsumerType,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* screenOnTimeInMs= */ 0,
+                        consumePower,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0);
         entry.setTotalConsumePower(100.0);
         return entry;
     }
@@ -530,15 +600,14 @@
     }
 
     private BatteryDiffEntry createBatteryDiffEntry(Drawable drawable) throws Exception {
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         values.put(BatteryHistEntry.KEY_UID, 1001);
         values.put(BatteryHistEntry.KEY_PACKAGE_NAME, "com.a.b.c");
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
         doReturn(drawable).when(mMockPackageManager).getDefaultActivityIcon();
         doReturn(null).when(mMockPackageManager).getApplicationInfo("com.a.b.c", 0);
-        doReturn(new String[]{"com.a.b.c"}).when(mMockPackageManager)
-                .getPackagesForUid(1001);
+        doReturn(new String[] {"com.a.b.c"}).when(mMockPackageManager).getPackagesForUid(1001);
         return createBatteryDiffEntry(10, batteryHistEntry);
     }
 
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 108d6e2..450d058 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryEntryTest.java
@@ -61,18 +61,15 @@
     private static final String HIGH_DRAIN_PACKAGE = "com.android.test.screen";
     private static final String ANDROID_PACKAGE = "android";
 
-    @Rule
-    public MockitoRule mocks = MockitoJUnit.rule();
+    @Rule public MockitoRule mocks = MockitoJUnit.rule();
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private Context mMockContext;
+
     private Context mContext;
-    @Mock
-    private PackageManager mMockPackageManager;
-    @Mock
-    private UserManager mMockUserManager;
-    @Mock
-    private UidBatteryConsumer mUidBatteryConsumer;
+    @Mock private PackageManager mMockPackageManager;
+    @Mock private UserManager mMockUserManager;
+    @Mock private UidBatteryConsumer mUidBatteryConsumer;
 
     @Before
     public void stubContextToReturnMockPackageManager() {
@@ -83,23 +80,27 @@
     @Before
     public void stubPackageManagerToReturnAppPackageAndName() throws NameNotFoundException {
         when(mMockPackageManager.getApplicationInfo(anyString(), eq(0) /* no flags */))
-                .thenAnswer(invocation -> {
-                    ApplicationInfo info = new ApplicationInfo();
-                    info.packageName = invocation.getArgument(0);
-                    return info;
-                });
+                .thenAnswer(
+                        invocation -> {
+                            ApplicationInfo info = new ApplicationInfo();
+                            info.packageName = invocation.getArgument(0);
+                            return info;
+                        });
         when(mMockPackageManager.getApplicationLabel(any(ApplicationInfo.class)))
-                .thenAnswer(invocation -> LABEL_PREFIX
-                        + ((ApplicationInfo) invocation.getArgument(0)).packageName);
+                .thenAnswer(
+                        invocation ->
+                                LABEL_PREFIX
+                                        + ((ApplicationInfo) invocation.getArgument(0))
+                                                .packageName);
     }
 
-    private BatteryEntry createBatteryEntryForApp(String[] packages, String packageName,
-            String highDrainPackage) {
+    private BatteryEntry createBatteryEntryForApp(
+            String[] packages, String packageName, String highDrainPackage) {
         UidBatteryConsumer consumer = mock(UidBatteryConsumer.class);
         when(consumer.getUid()).thenReturn(APP_UID);
         when(consumer.getPackageWithHighestDrain()).thenReturn(highDrainPackage);
-        return new BatteryEntry(mMockContext, mMockUserManager,
-                consumer, false, APP_UID, packages, packageName);
+        return new BatteryEntry(
+                mMockContext, mMockUserManager, consumer, false, APP_UID, packages, packageName);
     }
 
     private BatteryEntry createAggregateBatteryEntry(int powerComponentId) {
@@ -122,14 +123,13 @@
     private BatteryEntry createUserBatteryConsumer(int userId) {
         UserBatteryConsumer consumer = mock(UserBatteryConsumer.class);
         when(consumer.getUserId()).thenReturn(userId);
-        return new BatteryEntry(mMockContext, mMockUserManager,
-                consumer, false, 0, null, null);
+        return new BatteryEntry(mMockContext, mMockUserManager, consumer, false, 0, null, null);
     }
 
     @Test
     public void batteryEntryForApp_shouldSetDefaultPackageNameAndLabel() throws Exception {
-        BatteryEntry entry = createBatteryEntryForApp(null, APP_DEFAULT_PACKAGE_NAME,
-                HIGH_DRAIN_PACKAGE);
+        BatteryEntry entry =
+                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);
@@ -157,20 +157,24 @@
 
     @Test
     public void batteryEntryForApp_shouldSetHighestDrainPackage_whenMultiplePackagesFoundForUid() {
-        BatteryEntry entry = createBatteryEntryForApp(
-                new String[]{APP_DEFAULT_PACKAGE_NAME, "package2", "package3"}, null,
-                HIGH_DRAIN_PACKAGE);
+        BatteryEntry entry =
+                createBatteryEntryForApp(
+                        new String[] {APP_DEFAULT_PACKAGE_NAME, "package2", "package3"},
+                        null,
+                        HIGH_DRAIN_PACKAGE);
 
         assertThat(entry.getLabel()).isEqualTo(LABEL_PREFIX + HIGH_DRAIN_PACKAGE);
     }
 
     @Test
     public void batteryEntryForAOD_containCorrectInfo() {
-        final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
-                BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
-                /* devicePowerMah= */ 200,
-                /* usageDurationMs= */ 1000,
-                /* isHidden= */ false);
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
+                        /* devicePowerMah= */ 200,
+                        /* usageDurationMs= */ 1000,
+                        /* isHidden= */ false);
 
         assertThat(entry.mIconId).isEqualTo(R.drawable.ic_settings_aod);
         assertThat(entry.mName).isEqualTo("Ambient display");
@@ -178,10 +182,12 @@
 
     @Test
     public void batteryEntryForCustomComponent_containCorrectInfo() {
-        final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
-                BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42,
-                /* powerComponentName= */ "ABC",
-                /* devicePowerMah= */ 200);
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42,
+                        /* powerComponentName= */ "ABC",
+                        /* devicePowerMah= */ 200);
 
         assertThat(entry.mIconId).isEqualTo(R.drawable.ic_power_system);
         assertThat(entry.mName).isEqualTo("ABC");
@@ -189,44 +195,83 @@
 
     @Test
     public void getTimeInForegroundMs_app() {
-        when(mUidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_FOREGROUND))
+        when(mUidBatteryConsumer.getTimeInProcessStateMs(
+                        UidBatteryConsumer.PROCESS_STATE_FOREGROUND))
                 .thenReturn(100L);
 
-        final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
-                mMockUserManager, mUidBatteryConsumer, false, 0, null, null);
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        mMockUserManager,
+                        mUidBatteryConsumer,
+                        false,
+                        0,
+                        null,
+                        null);
 
         assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
     }
 
     @Test
     public void getTimeInForegroundMs_aggregateBatteryConsumer() {
-        final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
-                BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
-                /* devicePowerMah= */ 10,
-                /* usageDurationMs= */ 100,
-                /* isHidden= */ false);
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
+                        /* devicePowerMah= */ 10,
+                        /* usageDurationMs= */ 100,
+                        /* isHidden= */ false);
 
         assertThat(entry.getTimeInForegroundMs()).isEqualTo(100L);
     }
 
     @Test
     public void getTimeInBackgroundMs_app() {
-        when(mUidBatteryConsumer.getTimeInStateMs(UidBatteryConsumer.STATE_BACKGROUND))
-                .thenReturn(100L);
+        when(mUidBatteryConsumer.getTimeInProcessStateMs(
+                        UidBatteryConsumer.PROCESS_STATE_BACKGROUND))
+                .thenReturn(30L);
 
-        final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
-                mMockUserManager, mUidBatteryConsumer, false, 0, null, null);
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        mMockUserManager,
+                        mUidBatteryConsumer,
+                        false,
+                        0,
+                        null,
+                        null);
 
-        assertThat(entry.getTimeInBackgroundMs()).isEqualTo(100L);
+        assertThat(entry.getTimeInBackgroundMs()).isEqualTo(30L);
+    }
+
+    @Test
+    public void getTimeInForegroundServiceMs_app() {
+        when(mUidBatteryConsumer.getTimeInProcessStateMs(
+                        UidBatteryConsumer.PROCESS_STATE_FOREGROUND_SERVICE))
+                .thenReturn(70L);
+
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        mMockUserManager,
+                        mUidBatteryConsumer,
+                        false,
+                        0,
+                        null,
+                        null);
+
+        assertThat(entry.getTimeInForegroundServiceMs()).isEqualTo(70L);
     }
 
     @Test
     public void getTimeInBackgroundMs_systemConsumer() {
-        final BatteryEntry entry = new BatteryEntry(RuntimeEnvironment.application,
-                BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
-                /* devicePowerMah= */ 100,
-                /* usageDurationMs= */ 1000,
-                /* isHidden= */ false);
+        final BatteryEntry entry =
+                new BatteryEntry(
+                        RuntimeEnvironment.application,
+                        BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
+                        /* devicePowerMah= */ 100,
+                        /* usageDurationMs= */ 1000,
+                        /* isHidden= */ false);
 
         assertThat(entry.getTimeInBackgroundMs()).isEqualTo(0);
     }
@@ -241,16 +286,17 @@
 
     @Test
     public void getKey_AggregateBatteryConsumer_returnComponentId() {
-        final BatteryEntry entry = createAggregateBatteryEntry(
-                BatteryConsumer.POWER_COMPONENT_BLUETOOTH);
+        final BatteryEntry entry =
+                createAggregateBatteryEntry(BatteryConsumer.POWER_COMPONENT_BLUETOOTH);
         final String key = entry.getKey();
         assertThat(key).isEqualTo("S|2");
     }
 
     @Test
     public void getKey_CustomAggregateBatteryConsumer_returnComponentId() {
-        final BatteryEntry entry = createCustomAggregateBatteryEntry(
-                BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42);
+        final BatteryEntry entry =
+                createCustomAggregateBatteryEntry(
+                        BatteryConsumer.FIRST_CUSTOM_POWER_COMPONENT_ID + 42);
         final String key = entry.getKey();
         assertThat(key).isEqualTo("S|1042");
     }
@@ -269,18 +315,18 @@
         doReturn(mMockUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(null).when(mMockUserManager).getUserInfo(userId);
 
-        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(
-                mContext, userId);
-        assertThat(nameAndIcon.mName).isEqualTo(getString(
-                R.string.running_process_item_removed_user_label));
+        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUserId(mContext, userId);
+        assertThat(nameAndIcon.mName)
+                .isEqualTo(getString(R.string.running_process_item_removed_user_label));
         assertThat(nameAndIcon.mIcon).isNull();
     }
 
     @Test
     public void getNameAndIconFromUid_rerturnExpectedName() {
-        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
-                mContext, /* name */ null, /* uid */ 0);
-        assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_kernel_label));
+        final NameAndIcon nameAndIcon =
+                BatteryEntry.getNameAndIconFromUid(mContext, /* name */ null, /* uid */ 0);
+        assertThat(nameAndIcon.mName)
+                .isEqualTo(getString(com.android.settingslib.R.string.process_kernel_label));
 
         assertNameAndIcon("mediaserver", R.string.process_mediaserver_label);
         assertNameAndIcon("dex2oat32", R.string.process_dex2oat_label);
@@ -290,63 +336,75 @@
 
     @Test
     public void getNameAndIconFromUid_tetheringUid_rerturnExpectedName() {
-        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
-                mContext, /* name */ null, /* uid */ BatteryUtils.UID_TETHERING);
+        final NameAndIcon nameAndIcon =
+                BatteryEntry.getNameAndIconFromUid(
+                        mContext, /* name */ null, /* uid */ BatteryUtils.UID_TETHERING);
 
         assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_network_tethering));
     }
 
     @Test
     public void getNameAndIconFromUid_removedAppsUid_rerturnExpectedName() {
-        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
-                mContext, /* name */ null, /* uid */ BatteryUtils.UID_REMOVED_APPS);
+        final NameAndIcon nameAndIcon =
+                BatteryEntry.getNameAndIconFromUid(
+                        mContext, /* name */ null, /* uid */ BatteryUtils.UID_REMOVED_APPS);
 
         assertThat(nameAndIcon.mName).isEqualTo(getString(R.string.process_removed_apps));
     }
 
     @Test
     public void getNameAndIconFromPowerComponent_rerturnExpectedNameAndIcon() {
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_SCREEN,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_SCREEN,
                 R.string.power_screen,
                 R.drawable.ic_settings_display);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CPU,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_CPU,
                 R.string.power_cpu,
                 R.drawable.ic_settings_cpu);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_BLUETOOTH,
                 R.string.power_bluetooth,
                 R.drawable.ic_settings_bluetooth);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_CAMERA,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_CAMERA,
                 R.string.power_camera,
                 R.drawable.ic_settings_camera);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_FLASHLIGHT,
                 R.string.power_flashlight,
                 R.drawable.ic_settings_flashlight);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_MOBILE_RADIO,
                 R.string.power_cell,
                 R.drawable.ic_settings_cellular);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_GNSS,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_GNSS,
                 R.string.power_gps,
                 R.drawable.ic_settings_gps);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_WIFI,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_WIFI,
                 R.string.power_wifi,
                 R.drawable.ic_settings_wireless_no_theme);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_PHONE,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_PHONE,
                 R.string.power_phone,
                 R.drawable.ic_settings_voice_calls);
-        assertNameAndIcon(BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
+        assertNameAndIcon(
+                BatteryConsumer.POWER_COMPONENT_AMBIENT_DISPLAY,
                 R.string.ambient_display_screen_title,
                 R.drawable.ic_settings_aod);
     }
 
     private void assertNameAndIcon(String name, int stringId) {
-        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromUid(
-                mContext, name, /* uid */ 1000);
+        final NameAndIcon nameAndIcon =
+                BatteryEntry.getNameAndIconFromUid(mContext, name, /* uid */ 1000);
         assertThat(nameAndIcon.mName).isEqualTo(getString(stringId));
     }
 
     private void assertNameAndIcon(int powerComponentId, int stringId, int iconId) {
-        final NameAndIcon nameAndIcon = BatteryEntry.getNameAndIconFromPowerComponent(
-                mContext, powerComponentId);
+        final NameAndIcon nameAndIcon =
+                BatteryEntry.getNameAndIconFromPowerComponent(mContext, powerComponentId);
         assertThat(nameAndIcon.mName).isEqualTo(getString(stringId));
         assertThat(nameAndIcon.mIconId).isEqualTo(iconId);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
index 609f2fc..dc868c8 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistEntryTest.java
@@ -41,10 +41,8 @@
 @RunWith(RobolectricTestRunner.class)
 public final class BatteryHistEntryTest {
 
-    @Mock
-    private BatteryEntry mMockBatteryEntry;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryEntry mMockBatteryEntry;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
 
     @Before
     public void setUp() {
@@ -67,6 +65,7 @@
         when(mMockBatteryEntry.getConsumedPowerInCached()).thenReturn(1.5);
         mMockBatteryEntry.mPercent = 0.3;
         when(mMockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
+        when(mMockBatteryEntry.getTimeInForegroundServiceMs()).thenReturn(3456L);
         when(mMockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
         when(mMockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
         when(mMockBatteryEntry.getConsumerType())
@@ -75,17 +74,17 @@
                 ConvertUtils.convertBatteryEntryToContentValues(
                         mMockBatteryEntry,
                         mBatteryUsageStats,
-                        /*batteryLevel=*/ 12,
-                        /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
-                        /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
-                        /*bootTimestamp=*/ 101L,
-                        /*timestamp=*/ 10001L,
-                        /*isFullChargeStart=*/ false);
+                        /* batteryLevel= */ 12,
+                        /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+                        /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+                        /* bootTimestamp= */ 101L,
+                        /* timestamp= */ 10001L,
+                        /* isFullChargeStart= */ false);
 
         assertBatteryHistEntry(
                 new BatteryHistEntry(values),
-                /*drainType=*/ expectedType,
-                /*percentOfTotal=*/ mMockBatteryEntry.mPercent);
+                /* drainType= */ expectedType,
+                /* percentOfTotal= */ mMockBatteryEntry.mPercent);
     }
 
     @Test
@@ -98,25 +97,26 @@
     public void testConstructor_cursor_returnsExpectedResult() {
         assertBatteryHistEntry(
                 createBatteryHistEntry(
-                        /*bootTimestamp=*/ 101L,
-                        /*timestamp=*/ 10001L,
-                        /*totalPower=*/ 5.1,
-                        /*consumePower=*/ 1.1,
-                        /*foregroundUsageConsumePower=*/ 1.2,
-                        /*foregroundServiceUsageConsumePower=*/ 1.3,
-                        /*backgroundUsageConsumePower=*/ 1.4,
-                        /*cachedUsageConsumePower=*/ 1.5,
-                        /*foregroundUsageTimeInMs=*/ 1234L,
-                        /*backgroundUsageTimeInMs=*/ 5689L,
-                        /*batteryLevel=*/ 12),
-                /*drainType=*/ 3,
-                /*percentOfTotal=*/ 0.3);
+                        /* bootTimestamp= */ 101L,
+                        /* timestamp= */ 10001L,
+                        /* totalPower= */ 5.1,
+                        /* consumePower= */ 1.1,
+                        /* foregroundUsageConsumePower= */ 1.2,
+                        /* foregroundServiceUsageConsumePower= */ 1.3,
+                        /* backgroundUsageConsumePower= */ 1.4,
+                        /* cachedUsageConsumePower= */ 1.5,
+                        /* foregroundUsageTimeInMs= */ 1234L,
+                        /* foregroundServiceUsageTimeInMs= */ 3456L,
+                        /* backgroundUsageTimeInMs= */ 5689L,
+                        /* batteryLevel= */ 12),
+                /* drainType= */ 3,
+                /* percentOfTotal= */ 0.3);
     }
 
     @Test
     public void testGetKey_consumerUidType_returnExpectedString() {
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         values.put(BatteryHistEntry.KEY_UID, 3);
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
@@ -125,8 +125,8 @@
 
     @Test
     public void testGetKey_consumerUserType_returnExpectedString() {
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_USER_BATTERY);
         values.put(BatteryHistEntry.KEY_USER_ID, 2);
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
@@ -135,14 +135,12 @@
 
     @Test
     public void testGetKey_consumerSystemType_returnExpectedString() {
-        final ContentValues values = getContentValuesWithType(
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+        final ContentValues values =
+                getContentValuesWithType(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
-                        .setDrainType(1)
-                        .build();
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+                BatteryInformation.newBuilder().setDrainType(1).build();
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(values);
 
@@ -151,32 +149,51 @@
 
     @Test
     public void testIsAppEntry_returnExpectedResult() {
-        assertThat(isUidConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).mConsumerType)).isFalse();
-        assertThat(isUidConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType)).isFalse();
-        assertThat(isUidConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType)).isTrue();
+        assertThat(
+                        isUidConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
+                                        .mConsumerType))
+                .isFalse();
+        assertThat(
+                        isUidConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType))
+                .isFalse();
+        assertThat(isUidConsumer(createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType))
+                .isTrue();
     }
 
     @Test
     public void testIsUserEntry_returnExpectedResult() {
-        assertThat(isUserConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).mConsumerType)).isFalse();
-        assertThat(isUserConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType)).isTrue();
-        assertThat(isUserConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType)).isFalse();
+        assertThat(
+                        isUserConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
+                                        .mConsumerType))
+                .isFalse();
+        assertThat(
+                        isUserConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType))
+                .isTrue();
+        assertThat(
+                        isUserConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType))
+                .isFalse();
     }
 
     @Test
     public void testIsSystemEntry_returnExpectedResult() {
-        assertThat(isSystemConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY).mConsumerType)).isTrue();
-        assertThat(isSystemConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType)).isFalse();
-        assertThat(isSystemConsumer(
-                createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType)).isFalse();
+        assertThat(
+                        isSystemConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
+                                        .mConsumerType))
+                .isTrue();
+        assertThat(
+                        isSystemConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_USER_BATTERY).mConsumerType))
+                .isFalse();
+        assertThat(
+                        isSystemConsumer(
+                                createEntry(ConvertUtils.CONSUMER_TYPE_UID_BATTERY).mConsumerType))
+                .isFalse();
     }
 
     @Test
@@ -185,52 +202,55 @@
         final long upperTimestamp = 300L;
         final long lowerTimestamp = 100L;
         final double ratio = 0.5;
-        final BatteryHistEntry lowerHistEntry = createBatteryHistEntry(
-                /*bootTimestamp=*/ 1000L,
-                lowerTimestamp,
-                /*totalPower=*/ 50,
-                /*consumePower=*/ 10,
-                /*foregroundUsageConsumePower=*/ 1,
-                /*foregroundServiceUsageConsumePower=*/ 2,
-                /*backgroundUsageConsumePower=*/ 3,
-                /*cachedUsageConsumePower=*/ 4,
-                /*foregroundUsageTimeInMs=*/ 100,
-                /*backgroundUsageTimeInMs=*/ 200,
-                /*batteryLevel=*/ 90);
-        final BatteryHistEntry upperHistEntry = createBatteryHistEntry(
-                /*bootTimestamp=*/ 1200L,
-                upperTimestamp,
-                /*totalPower=*/ 80,
-                /*consumePower=*/ 20,
-                /*foregroundUsageConsumePower=*/ 4,
-                /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 6,
-                /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 200,
-                /*backgroundUsageTimeInMs=*/ 300,
-                /*batteryLevel=*/ 80);
+        final BatteryHistEntry lowerHistEntry =
+                createBatteryHistEntry(
+                        /* bootTimestamp= */ 1000L,
+                        lowerTimestamp,
+                        /* totalPower= */ 50,
+                        /* consumePower= */ 10,
+                        /* foregroundUsageConsumePower= */ 1,
+                        /* foregroundServiceUsageConsumePower= */ 2,
+                        /* backgroundUsageConsumePower= */ 3,
+                        /* cachedUsageConsumePower= */ 4,
+                        /* foregroundUsageTimeInMs= */ 100,
+                        /* foregroundServiceUsageTimeInMs= */ 150,
+                        /* backgroundUsageTimeInMs= */ 200,
+                        /* batteryLevel= */ 90);
+        final BatteryHistEntry upperHistEntry =
+                createBatteryHistEntry(
+                        /* bootTimestamp= */ 1200L,
+                        upperTimestamp,
+                        /* totalPower= */ 80,
+                        /* consumePower= */ 20,
+                        /* foregroundUsageConsumePower= */ 4,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 6,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* foregroundUsageTimeInMs= */ 200,
+                        /* foregroundServiceUsageTimeInMs= */ 250,
+                        /* backgroundUsageTimeInMs= */ 300,
+                        /* batteryLevel= */ 80);
 
         final BatteryHistEntry newEntry =
                 BatteryHistEntry.interpolate(
-                        slotTimestamp,
-                        upperTimestamp,
-                        ratio,
-                        lowerHistEntry,
-                        upperHistEntry);
+                        slotTimestamp, upperTimestamp, ratio, lowerHistEntry, upperHistEntry);
 
         assertBatteryHistEntry(
-                newEntry, 3, upperHistEntry.mPercentOfTotal,
-                /*bootTimestamp=*/ 1200 - 100,
-                /*timestamp=*/ slotTimestamp,
-                /*totalPower=*/ 50 + 0.5 * (80 - 50),
-                /*consumePower=*/ 10 + 0.5 * (20 - 10),
-                /*foregroundUsageConsumePower=*/ 1 + 0.5 * (4 - 1),
-                /*foregroundServiceUsageConsumePower=*/ 2 + 0.5 * (5 - 2),
-                /*backgroundUsageConsumePower=*/ 3 + 0.5 * (6 - 3),
-                /*cachedUsageConsumePower=*/ 4 + 0.5 * (5 - 4),
-                /*foregroundUsageTimeInMs=*/ Math.round(100 + 0.5 * (200 - 100)),
-                /*backgroundUsageTimeInMs=*/ Math.round(200 + 0.5 * (300 - 200)),
-                /*batteryLevel=*/ (int) Math.round(90 + 0.5 * (80 - 90)));
+                newEntry,
+                3,
+                upperHistEntry.mPercentOfTotal,
+                /* bootTimestamp= */ 1200 - 100,
+                /* timestamp= */ slotTimestamp,
+                /* totalPower= */ 50 + 0.5 * (80 - 50),
+                /* consumePower= */ 10 + 0.5 * (20 - 10),
+                /* foregroundUsageConsumePower= */ 1 + 0.5 * (4 - 1),
+                /* foregroundServiceUsageConsumePower= */ 2 + 0.5 * (5 - 2),
+                /* backgroundUsageConsumePower= */ 3 + 0.5 * (6 - 3),
+                /* cachedUsageConsumePower= */ 4 + 0.5 * (5 - 4),
+                /* foregroundUsageTimeInMs= */ Math.round(100 + 0.5 * (200 - 100)),
+                /* foregroundServiceUsageTimeInMs= */ Math.round(150 + 0.5 * (250 - 150)),
+                /* backgroundUsageTimeInMs= */ Math.round(200 + 0.5 * (300 - 200)),
+                /* batteryLevel= */ (int) Math.round(90 + 0.5 * (80 - 90)));
     }
 
     @Test
@@ -238,40 +258,45 @@
         final long slotTimestamp = 200L;
         final long upperTimestamp = 300L;
         final double ratio = 0.5;
-        final BatteryHistEntry upperHistEntry = createBatteryHistEntry(
-                /*bootTimestamp=*/ 1200L,
-                upperTimestamp,
-                /*totalPower=*/ 80,
-                /*consumePower=*/ 20,
-                /*foregroundUsageConsumePower=*/ 4,
-                /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 6,
-                /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 200,
-                /*backgroundUsageTimeInMs=*/ 300,
-                /*batteryLevel=*/ 80);
+        final BatteryHistEntry upperHistEntry =
+                createBatteryHistEntry(
+                        /* bootTimestamp= */ 1200L,
+                        upperTimestamp,
+                        /* totalPower= */ 80,
+                        /* consumePower= */ 20,
+                        /* foregroundUsageConsumePower= */ 4,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 6,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* foregroundUsageTimeInMs= */ 200,
+                        /* foregroundServiceUsageTimeInMs= */ 250,
+                        /* backgroundUsageTimeInMs= */ 300,
+                        /* batteryLevel= */ 80);
 
         final BatteryHistEntry newEntry =
                 BatteryHistEntry.interpolate(
                         slotTimestamp,
                         upperTimestamp,
                         ratio,
-                        /*lowerHistEntry=*/ null,
+                        /* lowerHistEntry= */ null,
                         upperHistEntry);
 
         assertBatteryHistEntry(
-                newEntry, 3, upperHistEntry.mPercentOfTotal,
-                /*bootTimestamp=*/ 1200 - 100,
-                /*timestamp=*/ slotTimestamp,
-                /*totalPower=*/ 0.5 * 80,
-                /*consumePower=*/ 0.5 * 20,
-                /*foregroundUsageConsumePower=*/ 0.5 * 4,
-                /*foregroundServiceUsageConsumePower=*/ 0.5 * 5,
-                /*backgroundUsageConsumePower=*/ 0.5 * 6,
-                /*cachedUsageConsumePower=*/ 0.5 * 5,
-                /*foregroundUsageTimeInMs=*/ Math.round(0.5 * 200),
-                /*backgroundUsageTimeInMs=*/ Math.round(0.5 * 300),
-                /*batteryLevel=*/ upperHistEntry.mBatteryLevel);
+                newEntry,
+                3,
+                upperHistEntry.mPercentOfTotal,
+                /* bootTimestamp= */ 1200 - 100,
+                /* timestamp= */ slotTimestamp,
+                /* totalPower= */ 0.5 * 80,
+                /* consumePower= */ 0.5 * 20,
+                /* foregroundUsageConsumePower= */ 0.5 * 4,
+                /* foregroundServiceUsageConsumePower= */ 0.5 * 5,
+                /* backgroundUsageConsumePower= */ 0.5 * 6,
+                /* cachedUsageConsumePower= */ 0.5 * 5,
+                /* foregroundUsageTimeInMs= */ Math.round(0.5 * 200),
+                /* foregroundServiceUsageTimeInMs= */ Math.round(0.5 * 250),
+                /* backgroundUsageTimeInMs= */ Math.round(0.5 * 300),
+                /* batteryLevel= */ upperHistEntry.mBatteryLevel);
     }
 
     private static BatteryHistEntry createEntry(int consumerType) {
@@ -280,26 +305,28 @@
 
     private static ContentValues getContentValuesWithType(int consumerType) {
         final ContentValues values = new ContentValues();
-        values.put(BatteryHistEntry.KEY_CONSUMER_TYPE,
-                Integer.valueOf(consumerType));
+        values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, Integer.valueOf(consumerType));
         return values;
     }
 
     private void assertBatteryHistEntry(
             BatteryHistEntry entry, int drainType, double percentOfTotal) {
         assertBatteryHistEntry(
-                entry, drainType, percentOfTotal,
-                /*bootTimestamp=*/ 101L,
-                /*timestamp=*/ 10001L,
-                /*totalPower=*/ 5.1,
-                /*consumePower=*/ 1.1,
-                /*foregroundUsageConsumePower=*/ 1.2,
-                /*foregroundServiceUsageConsumePower=*/ 1.3,
-                /*backgroundUsageConsumePower=*/ 1.4,
-                /*cachedUsageConsumePower=*/ 1.5,
-                /*foregroundUsageTimeInMs=*/ 1234L,
-                /*backgroundUsageTimeInMs=*/ 5689L,
-                /*batteryLevel=*/ 12);
+                entry,
+                drainType,
+                percentOfTotal,
+                /* bootTimestamp= */ 101L,
+                /* timestamp= */ 10001L,
+                /* totalPower= */ 5.1,
+                /* consumePower= */ 1.1,
+                /* foregroundUsageConsumePower= */ 1.2,
+                /* foregroundServiceUsageConsumePower= */ 1.3,
+                /* backgroundUsageConsumePower= */ 1.4,
+                /* cachedUsageConsumePower= */ 1.5,
+                /* foregroundUsageTimeInMs= */ 1234L,
+                /*foregroundServiceUsageTimeInMs=*/ 3456L,
+                /* backgroundUsageTimeInMs= */ 5689L,
+                /* batteryLevel= */ 12);
     }
 
     private void assertBatteryHistEntry(
@@ -315,14 +342,14 @@
             double backgroundUsageConsumePower,
             double cachedUsageConsumePower,
             long foregroundUsageTimeInMs,
+            long foregroundServiceUsageTimeInMs,
             long backgroundUsageTimeInMs,
             int batteryLevel) {
         assertThat(entry.isValidEntry()).isTrue();
         assertThat(entry.mUid).isEqualTo(1001);
         assertThat(entry.mUserId).isEqualTo(UserHandle.getUserId(1001));
         assertThat(entry.mAppLabel).isEqualTo("Settings");
-        assertThat(entry.mPackageName)
-                .isEqualTo("com.google.android.settings.battery");
+        assertThat(entry.mPackageName).isEqualTo("com.google.android.settings.battery");
         assertThat(entry.mIsHidden).isTrue();
         assertThat(entry.mBootTimestamp).isEqualTo(bootTimestamp);
         assertThat(entry.mTimestamp).isEqualTo(timestamp);
@@ -336,15 +363,13 @@
         assertThat(entry.mCachedUsageConsumePower).isEqualTo(cachedUsageConsumePower);
         assertThat(entry.mPercentOfTotal).isEqualTo(percentOfTotal);
         assertThat(entry.mForegroundUsageTimeInMs).isEqualTo(foregroundUsageTimeInMs);
+        assertThat(entry.mForegroundServiceUsageTimeInMs).isEqualTo(foregroundServiceUsageTimeInMs);
         assertThat(entry.mBackgroundUsageTimeInMs).isEqualTo(backgroundUsageTimeInMs);
         assertThat(entry.mDrainType).isEqualTo(drainType);
-        assertThat(entry.mConsumerType)
-                .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+        assertThat(entry.mConsumerType).isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
         assertThat(entry.mBatteryLevel).isEqualTo(batteryLevel);
-        assertThat(entry.mBatteryStatus)
-                .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
-        assertThat(entry.mBatteryHealth)
-                .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
+        assertThat(entry.mBatteryStatus).isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
+        assertThat(entry.mBatteryHealth).isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
     }
 
     private BatteryHistEntry createBatteryHistEntry(
@@ -357,26 +382,27 @@
             double backgroundUsageConsumePower,
             double cachedUsageConsumePower,
             long foregroundUsageTimeInMs,
+            long foregroundServiceUsageTimeInMs,
             long backgroundUsageTimeInMs,
             int batteryLevel) {
-        final MatrixCursor cursor = new MatrixCursor(
-            new String[]{
-                BatteryHistEntry.KEY_UID,
-                BatteryHistEntry.KEY_USER_ID,
-                BatteryHistEntry.KEY_PACKAGE_NAME,
-                BatteryHistEntry.KEY_TIMESTAMP,
-                BatteryHistEntry.KEY_CONSUMER_TYPE,
-                BatteryHistEntry.KEY_BATTERY_INFORMATION});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            BatteryHistEntry.KEY_UID,
+                            BatteryHistEntry.KEY_USER_ID,
+                            BatteryHistEntry.KEY_PACKAGE_NAME,
+                            BatteryHistEntry.KEY_TIMESTAMP,
+                            BatteryHistEntry.KEY_CONSUMER_TYPE,
+                            BatteryHistEntry.KEY_BATTERY_INFORMATION
+                        });
         DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
+                DeviceBatteryState.newBuilder()
                         .setBatteryLevel(batteryLevel)
                         .setBatteryStatus(BatteryManager.BATTERY_STATUS_FULL)
                         .setBatteryHealth(BatteryManager.BATTERY_HEALTH_COLD)
                         .build();
         BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setDeviceBatteryState(deviceBatteryState)
                         .setIsHidden(true)
                         .setBootTimestamp(bootTimestamp)
@@ -391,16 +417,18 @@
                         .setPercentOfTotal(0.3)
                         .setDrainType(3)
                         .setForegroundUsageTimeInMs(foregroundUsageTimeInMs)
+                        .setForegroundServiceUsageTimeInMs(foregroundServiceUsageTimeInMs)
                         .setBackgroundUsageTimeInMs(backgroundUsageTimeInMs)
                         .build();
         cursor.addRow(
-            new Object[]{
-                Long.valueOf(1001),
-                Long.valueOf(UserHandle.getUserId(1001)),
-                "com.google.android.settings.battery",
-                Long.valueOf(timestamp),
-                Integer.valueOf(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY),
-                ConvertUtils.convertBatteryInformationToString(batteryInformation)});
+                new Object[] {
+                    Long.valueOf(1001),
+                    Long.valueOf(UserHandle.getUserId(1001)),
+                    "com.google.android.settings.battery",
+                    Long.valueOf(timestamp),
+                    Integer.valueOf(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY),
+                    ConvertUtils.convertBatteryInformationToString(batteryInformation)
+                });
         cursor.moveToFirst();
         return new BatteryHistEntry(cursor);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
index 9155c66..26fff37 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryHistoryPreferenceTest.java
@@ -38,14 +38,10 @@
 
 @RunWith(RobolectricTestRunner.class)
 public class BatteryHistoryPreferenceTest {
-    @Mock
-    private PreferenceViewHolder mViewHolder;
-    @Mock
-    private TextView mTextView;
-    @Mock
-    private BatteryChartView mDailyChartView;
-    @Mock
-    private BatteryChartView mHourlyChartView;
+    @Mock private PreferenceViewHolder mViewHolder;
+    @Mock private TextView mTextView;
+    @Mock private BatteryChartView mDailyChartView;
+    @Mock private BatteryChartView mHourlyChartView;
     private BatteryHistoryPreference mBatteryHistoryPreference;
 
     @Before
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java
index 7dc4eab..712df9d 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryLevelDataTest.java
@@ -42,129 +42,143 @@
     @Test
     public void getDailyTimestamps_allDataInOneHour_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1640970006000L, // 2022-01-01 01:00:06
-                1640973608000L  // 2022-01-01 01:00:08
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1640970006000L, // 2022-01-01 01:00:06
+                        1640973608000L // 2022-01-01 01:00:08
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1640970006000L, // 2022-01-01 01:00:06
-                1640973608000L  // 2022-01-01 01:00:08
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1640970006000L, // 2022-01-01 01:00:06
+                        1640973608000L // 2022-01-01 01:00:08
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
     @Test
     public void getDailyTimestamps_OneHourDataPerDay_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1641049200000L, // 2022-01-01 23:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L  // 2022-01-02 01:00:00
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1641049200000L, // 2022-01-01 23:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641056400000L // 2022-01-02 01:00:00
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1641049200000L, // 2022-01-01 23:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L  // 2022-01-02 01:00:00
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1641049200000L, // 2022-01-01 23:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641056400000L // 2022-01-02 01:00:00
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
     @Test
     public void getDailyTimestamps_OneDayData_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1640966400000L, // 2022-01-01 00:00:00
-                1640970000000L, // 2022-01-01 01:00:00
-                1640973600000L, // 2022-01-01 02:00:00
-                1640977200000L, // 2022-01-01 03:00:00
-                1640980800000L  // 2022-01-01 04:00:00
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1640966400000L, // 2022-01-01 00:00:00
+                        1640970000000L, // 2022-01-01 01:00:00
+                        1640973600000L, // 2022-01-01 02:00:00
+                        1640977200000L, // 2022-01-01 03:00:00
+                        1640980800000L // 2022-01-01 04:00:00
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1640966400000L, // 2022-01-01 00:00:00
-                1640980800000L  // 2022-01-01 04:00:00
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1640966400000L, // 2022-01-01 00:00:00
+                        1640980800000L // 2022-01-01 04:00:00
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
     @Test
     public void getDailyTimestamps_MultipleDaysData_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1641045600000L, // 2022-01-01 22:00:00
-                1641060000000L, // 2022-01-02 02:00:00
-                1641160800000L, // 2022-01-03 06:00:00
-                1641232800000L  // 2022-01-04 02:00:00
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1641045600000L, // 2022-01-01 22:00:00
+                        1641060000000L, // 2022-01-02 02:00:00
+                        1641160800000L, // 2022-01-03 06:00:00
+                        1641232800000L // 2022-01-04 02:00:00
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1641045600000L, // 2022-01-01 22:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641139200000L, // 2022-01-03 00:00:00
-                1641225600000L, // 2022-01-04 00:00:00
-                1641232800000L  // 2022-01-04 02:00:00
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1641045600000L, // 2022-01-01 22:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641139200000L, // 2022-01-03 00:00:00
+                        1641225600000L, // 2022-01-04 00:00:00
+                        1641232800000L // 2022-01-04 02:00:00
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
     @Test
     public void getDailyTimestamps_FirstDayOneHourData_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1641049200000L, // 2022-01-01 23:00:00
-                1641060000000L, // 2022-01-02 02:00:00
-                1641160800000L, // 2022-01-03 06:00:00
-                1641254400000L  // 2022-01-04 08:00:00
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1641049200000L, // 2022-01-01 23:00:00
+                        1641060000000L, // 2022-01-02 02:00:00
+                        1641160800000L, // 2022-01-03 06:00:00
+                        1641254400000L // 2022-01-04 08:00:00
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1641049200000L, // 2022-01-01 23:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641139200000L, // 2022-01-03 00:00:00
-                1641225600000L, // 2022-01-04 00:00:00
-                1641254400000L  // 2022-01-04 08:00:00
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1641049200000L, // 2022-01-01 23:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641139200000L, // 2022-01-03 00:00:00
+                        1641225600000L, // 2022-01-04 00:00:00
+                        1641254400000L // 2022-01-04 08:00:00
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
     @Test
     public void getDailyTimestamps_LastDayNoData_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1640988000000L, // 2022-01-01 06:00:00
-                1641060000000L, // 2022-01-02 02:00:00
-                1641160800000L, // 2022-01-03 06:00:00
-                1641225600000L  // 2022-01-04 00:00:00
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1640988000000L, // 2022-01-01 06:00:00
+                        1641060000000L, // 2022-01-02 02:00:00
+                        1641160800000L, // 2022-01-03 06:00:00
+                        1641225600000L // 2022-01-04 00:00:00
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1640988000000L, // 2022-01-01 06:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641139200000L, // 2022-01-03 00:00:00
-                1641225600000L  // 2022-01-04 00:00:00
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1640988000000L, // 2022-01-01 06:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641139200000L, // 2022-01-03 00:00:00
+                        1641225600000L // 2022-01-04 00:00:00
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
     @Test
     public void getDailyTimestamps_LastDayOneHourData_returnExpectedList() {
         // Timezone GMT+8
-        final List<Long> timestamps = List.of(
-                1640988000000L, // 2022-01-01 06:00:00
-                1641060000000L, // 2022-01-02 02:00:00
-                1641160800000L, // 2022-01-03 06:00:00
-                1641229200000L  // 2022-01-04 01:00:00
-        );
+        final List<Long> timestamps =
+                List.of(
+                        1640988000000L, // 2022-01-01 06:00:00
+                        1641060000000L, // 2022-01-02 02:00:00
+                        1641160800000L, // 2022-01-03 06:00:00
+                        1641229200000L // 2022-01-04 01:00:00
+                        );
 
-        final List<Long> expectedTimestamps = List.of(
-                1640988000000L, // 2022-01-01 06:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641139200000L, // 2022-01-03 00:00:00
-                1641225600000L, // 2022-01-04 00:00:00
-                1641229200000L  // 2022-01-04 01:00:00
-        );
+        final List<Long> expectedTimestamps =
+                List.of(
+                        1640988000000L, // 2022-01-01 06:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641139200000L, // 2022-01-03 00:00:00
+                        1641225600000L, // 2022-01-04 00:00:00
+                        1641229200000L // 2022-01-04 01:00:00
+                        );
         assertThat(BatteryLevelData.getDailyTimestamps(timestamps)).isEqualTo(expectedTimestamps);
     }
 
@@ -172,21 +186,26 @@
     public void combine_normalFlow_returnExpectedResult() {
         final BatteryLevelData batteryLevelData =
                 new BatteryLevelData(Map.of(1691596800000L, 90, 1691604000000L, 80));
-        final List<BatteryEvent> batteryLevelRecordEvents = List.of(
-                BatteryEvent.newBuilder().setTimestamp(1691586000166L).setBatteryLevel(100)
-                        .setType(BatteryEventType.FULL_CHARGED).build(),
-                BatteryEvent.newBuilder().setTimestamp(1691589600000L).setBatteryLevel(98)
-                        .setType(BatteryEventType.EVEN_HOUR).build());
+        final List<BatteryEvent> batteryLevelRecordEvents =
+                List.of(
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(1691586000166L)
+                                .setBatteryLevel(100)
+                                .setType(BatteryEventType.FULL_CHARGED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(1691589600000L)
+                                .setBatteryLevel(98)
+                                .setType(BatteryEventType.EVEN_HOUR)
+                                .build());
 
         BatteryLevelData result =
                 BatteryLevelData.combine(batteryLevelData, batteryLevelRecordEvents);
 
         assertThat(result.getDailyBatteryLevels().getTimestamps())
                 .isEqualTo(List.of(1691586000166L, 1691596800000L, 1691604000000L));
-        assertThat(result.getDailyBatteryLevels().getLevels())
-                .isEqualTo(List.of(100, 90, 80));
-        assertThat(result.getHourlyBatteryLevelsPerDay())
-                .hasSize(2);
+        assertThat(result.getDailyBatteryLevels().getLevels()).isEqualTo(List.of(100, 90, 80));
+        assertThat(result.getHourlyBatteryLevelsPerDay()).hasSize(2);
         assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getTimestamps())
                 .isEqualTo(List.of(1691586000166L, 1691589600000L, 1691596800000L));
         assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getLevels())
@@ -199,17 +218,22 @@
 
     @Test
     public void combine_existingBatteryLevelDataIsNull_returnExpectedResult() {
-        final List<BatteryEvent> batteryLevelRecordEvents = List.of(
-                BatteryEvent.newBuilder().setTimestamp(1691586000166L).setBatteryLevel(100)
-                        .setType(BatteryEventType.FULL_CHARGED).build(),
-                BatteryEvent.newBuilder().setTimestamp(1691589600000L).setBatteryLevel(98)
-                        .setType(BatteryEventType.EVEN_HOUR).build());
+        final List<BatteryEvent> batteryLevelRecordEvents =
+                List.of(
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(1691586000166L)
+                                .setBatteryLevel(100)
+                                .setType(BatteryEventType.FULL_CHARGED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(1691589600000L)
+                                .setBatteryLevel(98)
+                                .setType(BatteryEventType.EVEN_HOUR)
+                                .build());
 
-        BatteryLevelData result =
-                BatteryLevelData.combine(null, batteryLevelRecordEvents);
+        BatteryLevelData result = BatteryLevelData.combine(null, batteryLevelRecordEvents);
 
-        assertThat(result.getHourlyBatteryLevelsPerDay())
-                .hasSize(1);
+        assertThat(result.getHourlyBatteryLevelsPerDay()).hasSize(1);
         assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getTimestamps())
                 .isEqualTo(List.of(1691586000166L, 1691589600000L));
         assertThat(result.getHourlyBatteryLevelsPerDay().get(0).getLevels())
@@ -219,25 +243,31 @@
     @Test
     public void getIndexByTimestamps_returnExpectedResult() {
         final BatteryLevelData batteryLevelData =
-                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
+                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
         final PowerAnomalyEvent event = BatteryTestUtils.createAppAnomalyEvent();
 
         assertThat(batteryLevelData.getIndexByTimestamps(0L, 0L))
-                .isEqualTo(Pair.create(BatteryChartViewModel.SELECTED_INDEX_INVALID,
-                        BatteryChartViewModel.SELECTED_INDEX_INVALID));
+                .isEqualTo(
+                        Pair.create(
+                                BatteryChartViewModel.SELECTED_INDEX_INVALID,
+                                BatteryChartViewModel.SELECTED_INDEX_INVALID));
         assertThat(batteryLevelData.getIndexByTimestamps(1694361600000L + 1L, 1694368800000L + 1L))
-                .isEqualTo(Pair.create(BatteryChartViewModel.SELECTED_INDEX_INVALID,
-                        BatteryChartViewModel.SELECTED_INDEX_INVALID));
+                .isEqualTo(
+                        Pair.create(
+                                BatteryChartViewModel.SELECTED_INDEX_INVALID,
+                                BatteryChartViewModel.SELECTED_INDEX_INVALID));
         assertThat(batteryLevelData.getIndexByTimestamps(1694361600000L, 1694368800000L))
                 .isEqualTo(Pair.create(1, 0));
         assertThat(batteryLevelData.getIndexByTimestamps(1694361600000L + 1L, 1694368800000L - 1L))
                 .isEqualTo(Pair.create(1, 0));
-        assertThat(batteryLevelData.getIndexByTimestamps(
-                event.getWarningItemInfo().getStartTimestamp(),
-                event.getWarningItemInfo().getEndTimestamp()))
+        assertThat(
+                        batteryLevelData.getIndexByTimestamps(
+                                event.getWarningItemInfo().getStartTimestamp(),
+                                event.getWarningItemInfo().getEndTimestamp()))
                 .isEqualTo(Pair.create(1, 0));
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
index 63cb1b3..b0bf241 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsCardPreferenceTest.java
@@ -40,6 +40,7 @@
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -61,19 +62,16 @@
     private BatteryTipsController mBatteryTipsController;
     private BatteryChartPreferenceController mBatteryChartPreferenceController;
 
-    @Mock
-    private View mFakeView;
-    @Mock
-    private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
-    @Mock
-    private BatteryDiffEntry mFakeEntry;
+    @Mock private View mFakeView;
+    @Mock private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
+    @Mock private BatteryDiffEntry mFakeEntry;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mBatteryTipsCardPreference = new BatteryTipsCardPreference(mContext, /*attrs=*/ null);
+        mBatteryTipsCardPreference = new BatteryTipsCardPreference(mContext, /* attrs= */ null);
         mBatteryTipsController = new BatteryTipsController(mContext);
         mBatteryChartPreferenceController =
                 spy(new BatteryChartPreferenceController(mContext, null, null));
@@ -85,17 +83,20 @@
         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
+        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);
+        assertThat(mBatteryTipsCardPreference.getLayoutResource())
+                .isEqualTo(R.layout.battery_tips_card);
     }
 
     @Test
@@ -118,10 +119,20 @@
                 .isEqualTo(DisplaySettings.class.getName());
         assertThat(intent.getIntExtra(MetricsFeatureProvider.EXTRA_SOURCE_METRICS_CATEGORY, -1))
                 .isEqualTo(SettingsEnums.DISPLAY);
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly");
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "BrightnessAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "BrightnessAnomaly",
+                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "BrightnessAnomaly",
+                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
     }
 
     @Test
@@ -140,12 +151,23 @@
         assertThat(DatabaseUtils.getDismissedPowerAnomalyKeys(mContext)).hasSize(1);
         assertThat(DatabaseUtils.getDismissedPowerAnomalyKeys(mContext))
                 .contains(PowerAnomalyKey.KEY_SCREEN_TIMEOUT.name());
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly");
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "ScreenTimeoutAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "ScreenTimeoutAnomaly",
+                        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,
+                        "ScreenTimeoutAnomaly",
+                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
     }
 
+    @Ignore("b/313582999")
     @Test
     public void onClick_mainBtnOfAppsAnomaly_selectHighlightSlot() {
         final PowerAnomalyEvent appsAnomaly = BatteryTestUtils.createAppAnomalyEvent();
@@ -159,15 +181,25 @@
 
         assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
         verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(
-                eq(1), eq(0));
+        verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
         verify(mBatteryChartPreferenceController).selectHighlightSlotIndex();
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_ACCEPT, "AppAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "AppAnomaly",
+                        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,
+                        "AppAnomaly",
+                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
     }
 
+    @Ignore("b/313582999")
     @Test
     public void onClick_dismissBtnOfAppsAnomaly_keepHighlightSlotIndex() {
         final PowerAnomalyEvent appsAnomaly = BatteryTestUtils.createAppAnomalyEvent();
@@ -180,12 +212,21 @@
 
         assertThat(mBatteryTipsCardPreference.isVisible()).isFalse();
         verify(mContext, never()).startActivity(any(Intent.class));
-        verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(
-                eq(1), eq(0));
+        verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
         verify(mBatteryChartPreferenceController, never()).selectHighlightSlotIndex();
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_DISMISS, "AppAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "AppAnomaly",
+                        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,
+                        "AppAnomaly",
+                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
     }
 }
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 b8afe98..879a5c1 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryTipsControllerTest.java
@@ -48,8 +48,7 @@
     private FakeFeatureFactory mFeatureFactory;
     private BatteryTipsController mBatteryTipsController;
 
-    @Mock
-    private BatteryTipsCardPreference mBatteryTipsCardPreference;
+    @Mock private BatteryTipsCardPreference mBatteryTipsCardPreference;
 
     @Before
     public void setUp() {
@@ -82,17 +81,21 @@
                 new AnomalyEventWrapper(mContext, event), false);
 
         // Check pre-defined string
-        verify(mBatteryTipsCardPreference).setTitle(
-                "Turn on adaptive brightness to extend battery life");
+        verify(mBatteryTipsCardPreference)
+                .setTitle("Turn on adaptive brightness to extend battery life");
         verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
-        verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
-                R.color.color_accent_selector);
+        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(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "BrightnessAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "BrightnessAnomaly",
+                        PowerAnomalyKey.KEY_BRIGHTNESS.getNumber());
     }
 
     @Test
@@ -105,25 +108,30 @@
 
         verify(mBatteryTipsCardPreference).setTitle("Reduce screen timeout to extend battery life");
         verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
-        verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
-                R.color.color_accent_selector);
+        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(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "ScreenTimeoutAnomaly",
+                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
     }
 
     @Test
     public void handleBatteryTipsCardUpdated_screenTimeoutAnomalyHasTitle_showAnomaly() {
         PowerAnomalyEvent event = BatteryTestUtils.createScreenTimeoutAnomalyEvent();
         String testTitle = "TestTitle";
-        event = event.toBuilder()
-                .setWarningBannerInfo(
-                        event.getWarningBannerInfo().toBuilder()
-                                .setTitleString(testTitle)
-                                .build())
-                .build();
+        event =
+                event.toBuilder()
+                        .setWarningBannerInfo(
+                                event.getWarningBannerInfo().toBuilder()
+                                        .setTitleString(testTitle)
+                                        .build())
+                        .build();
         when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
 
         mBatteryTipsController.handleBatteryTipsCardUpdated(
@@ -131,13 +139,17 @@
 
         verify(mBatteryTipsCardPreference).setTitle(testTitle);
         verify(mBatteryTipsCardPreference).setIconResourceId(R.drawable.ic_battery_tips_lightbulb);
-        verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
-                R.color.color_accent_selector);
+        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(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "ScreenTimeoutAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "ScreenTimeoutAnomaly",
+                        PowerAnomalyKey.KEY_SCREEN_TIMEOUT.getNumber());
     }
 
     @Test
@@ -146,20 +158,23 @@
         when(mFeatureFactory.powerUsageFeatureProvider.isBatteryTipsEnabled()).thenReturn(true);
 
         AnomalyEventWrapper eventWrapper = new AnomalyEventWrapper(mContext, event);
-        eventWrapper.setRelatedBatteryDiffEntry(
-                new BatteryDiffEntry(mContext, "", "Chrome", 0));
+        eventWrapper.setRelatedBatteryDiffEntry(new BatteryDiffEntry(mContext, "", "Chrome", 0));
         mBatteryTipsController.handleBatteryTipsCardUpdated(eventWrapper, false);
 
-        verify(mBatteryTipsCardPreference).setTitle(
-                "Chrome used more battery than usual");
-        verify(mBatteryTipsCardPreference).setIconResourceId(
-                R.drawable.ic_battery_tips_warning_icon);
-        verify(mBatteryTipsCardPreference).setMainButtonStrokeColorResourceId(
-                R.color.color_battery_anomaly_yellow_selector);
+        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);
-        verify(mFeatureFactory.metricsFeatureProvider).action(
-                mContext, SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW, "AppAnomaly");
+        verify(mFeatureFactory.metricsFeatureProvider)
+                .action(
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        SettingsEnums.ACTION_BATTERY_TIPS_CARD_SHOW,
+                        SettingsEnums.FUELGAUGE_BATTERY_HISTORY_DETAIL,
+                        "AppAnomaly",
+                        PowerAnomalyKey.KEY_APP_TOTAL_HIGHER_THAN_USUAL.getNumber());
     }
 }
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 a721ad4..5704be9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBreakdownControllerTest.java
@@ -58,18 +58,12 @@
     private static final String PREF_KEY2 = "pref_key2";
     private static final String PREF_SUMMARY = "fake preference summary";
 
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
-    @Mock
-    private SettingsActivity mSettingsActivity;
-    @Mock
-    private PreferenceGroup mAppListPreferenceGroup;
-    @Mock
-    private Drawable mDrawable;
-    @Mock
-    private BatteryHistEntry mBatteryHistEntry;
-    @Mock
-    private AnomalyAppItemPreference mAnomalyAppItemPreference;
+    @Mock private InstrumentedPreferenceFragment mFragment;
+    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private PreferenceGroup mAppListPreferenceGroup;
+    @Mock private Drawable mDrawable;
+    @Mock private BatteryHistEntry mBatteryHistEntry;
+    @Mock private AnomalyAppItemPreference mAnomalyAppItemPreference;
 
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
@@ -94,43 +88,52 @@
                 .getHideApplicationSet();
         mBatteryUsageBreakdownController = createController();
         mBatteryUsageBreakdownController.mAppListPreferenceGroup = mAppListPreferenceGroup;
-        mBatteryDiffEntry = new BatteryDiffEntry(
-                mContext,
-                /*uid=*/ 0L,
-                /*userId=*/ 0L,
-                /*key=*/ "key",
-                /*isHidden=*/ false,
-                /*componentId=*/ -1,
-                /*legacyPackageName=*/ null,
-                /*legacyLabel=*/ null,
-                /*consumerType=*/ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                /*foregroundUsageTimeInMs=*/ 1,
-                /*backgroundUsageTimeInMs=*/ 2,
-                /*screenOnTimeInMs=*/ 0,
-                /*consumePower=*/ 3,
-                /*foregroundUsageConsumePower=*/ 0,
-                /*foregroundServiceUsageConsumePower=*/ 1,
-                /*backgroundUsageConsumePower=*/ 2,
-                /*cachedUsageConsumePower=*/ 0);
+        mBatteryDiffEntry =
+                new BatteryDiffEntry(
+                        mContext,
+                        /* uid= */ 0L,
+                        /* userId= */ 0L,
+                        /* key= */ "key",
+                        /* isHidden= */ false,
+                        /* componentId= */ -1,
+                        /* legacyPackageName= */ null,
+                        /* legacyLabel= */ null,
+                        /* consumerType= */ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 1,
+                        /* foregroundServiceUsageTimeInMs= */ 2,
+                        /* backgroundUsageTimeInMs= */ 3,
+                        /* screenOnTimeInMs= */ 0,
+                        /* consumePower= */ 3,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 1,
+                        /* backgroundUsageConsumePower= */ 2,
+                        /* cachedUsageConsumePower= */ 0);
         mBatteryDiffEntry = spy(mBatteryDiffEntry);
         mBatteryUsageBreakdownController.mBatteryDiffData =
-                new BatteryDiffData(mContext, /* startTimestamp= */ 0L, /* endTimestamp= */ 0L,
-                        /* startBatteryLevel= */ 0, /* endBatteryLevel= */ 0,
-                        /* screenOnTime= */ 0L, Arrays.asList(mBatteryDiffEntry), Arrays.asList(),
-                        Set.of(), Set.of(), /* isAccumulated= */ false);
+                new BatteryDiffData(
+                        mContext,
+                        /* startTimestamp= */ 0L,
+                        /* endTimestamp= */ 0L,
+                        /* startBatteryLevel= */ 0,
+                        /* endBatteryLevel= */ 0,
+                        /* screenOnTime= */ 0L,
+                        Arrays.asList(mBatteryDiffEntry),
+                        Arrays.asList(),
+                        Set.of(),
+                        Set.of(),
+                        /* isAccumulated= */ false);
         BatteryDiffEntry.clearCache();
         // Adds fake testing data.
         BatteryDiffEntry.sResourceCache.put(
                 "fakeBatteryDiffEntryKey",
-                new BatteryEntry.NameAndIcon("fakeName", /*icon=*/ null, /*iconId=*/ 1));
+                new BatteryEntry.NameAndIcon("fakeName", /* icon= */ null, /* iconId= */ 1));
         doReturn(mAnomalyAppItemPreference).when(mAppListPreferenceGroup).findPreference(PREF_KEY);
     }
 
     @Test
     public void onDestroy_clearPreferenceCacheAndPreferenceGroupRemoveAll() {
         // Ensures the testing environment is correct.
-        mBatteryUsageBreakdownController.mPreferenceCache.put(
-                PREF_KEY, mAnomalyAppItemPreference);
+        mBatteryUsageBreakdownController.mPreferenceCache.put(PREF_KEY, mAnomalyAppItemPreference);
         assertThat(mBatteryUsageBreakdownController.mPreferenceCache).hasSize(1);
 
         mBatteryUsageBreakdownController.onDestroy();
@@ -158,8 +161,8 @@
 
         // Verifies the preference cache.
         final PowerGaugePreference pref =
-                (PowerGaugePreference) mBatteryUsageBreakdownController.mPreferenceCache
-                        .get(PREF_KEY);
+                (PowerGaugePreference)
+                        mBatteryUsageBreakdownController.mPreferenceCache.get(PREF_KEY);
         assertThat(pref).isNotNull();
         // Verifies the added preference configuration.
         verify(mAppListPreferenceGroup).addPreference(pref);
@@ -218,8 +221,10 @@
 
     @Test
     public void handlePreferenceTreeClick_notPowerGaugePreference_returnFalse() {
-        assertThat(mBatteryUsageBreakdownController
-                .handlePreferenceTreeClick(mAppListPreferenceGroup)).isFalse();
+        assertThat(
+                        mBatteryUsageBreakdownController.handlePreferenceTreeClick(
+                                mAppListPreferenceGroup))
+                .isFalse();
 
         verify(mMetricsFeatureProvider, never())
                 .action(mContext, SettingsEnums.ACTION_BATTERY_USAGE_APP_ITEM);
@@ -232,8 +237,10 @@
         mBatteryDiffEntry.mConsumerType = ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY;
         doReturn(mBatteryDiffEntry).when(mAnomalyAppItemPreference).getBatteryDiffEntry();
 
-        assertThat(mBatteryUsageBreakdownController.handlePreferenceTreeClick(
-                mAnomalyAppItemPreference)).isTrue();
+        assertThat(
+                        mBatteryUsageBreakdownController.handlePreferenceTreeClick(
+                                mAnomalyAppItemPreference))
+                .isTrue();
         verify(mMetricsFeatureProvider)
                 .action(
                         SettingsEnums.OPEN_BATTERY_USAGE,
@@ -248,8 +255,10 @@
         mBatteryDiffEntry.mConsumerType = ConvertUtils.CONSUMER_TYPE_UID_BATTERY;
         doReturn(mBatteryDiffEntry).when(mAnomalyAppItemPreference).getBatteryDiffEntry();
 
-        assertThat(mBatteryUsageBreakdownController.handlePreferenceTreeClick(
-                mAnomalyAppItemPreference)).isTrue();
+        assertThat(
+                        mBatteryUsageBreakdownController.handlePreferenceTreeClick(
+                                mAnomalyAppItemPreference))
+                .isTrue();
         verify(mMetricsFeatureProvider)
                 .action(
                         SettingsEnums.OPEN_BATTERY_USAGE,
@@ -262,11 +271,13 @@
     @Test
     public void setPreferencePercent_lessThanThreshold_expectedFormat() {
         final PowerGaugePreference pref = new PowerGaugePreference(mContext);
-        final BatteryDiffEntry batteryDiffEntry = createBatteryDiffEntry(
-                /*isSystem=*/ true,
-                /*screenOnTimeInMs=*/ 0,
-                /*foregroundUsageTimeInMs=*/ 0,
-                /*backgroundUsageTimeInMs=*/ 0);
+        final BatteryDiffEntry batteryDiffEntry =
+                createBatteryDiffEntry(
+                        /* isSystem= */ true,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0);
         batteryDiffEntry.mConsumePower = 0.8;
         batteryDiffEntry.setTotalConsumePower(100);
         mBatteryUsageBreakdownController.mPercentLessThanThresholdText = "< 1%";
@@ -279,11 +290,13 @@
     @Test
     public void setPreferencePercent_greaterThanThreshold_expectedFormat() {
         final PowerGaugePreference pref = new PowerGaugePreference(mContext);
-        final BatteryDiffEntry batteryDiffEntry = createBatteryDiffEntry(
-                /*isSystem=*/ true,
-                /*screenOnTimeInMs=*/ 0,
-                /*foregroundUsageTimeInMs=*/ 0,
-                /*backgroundUsageTimeInMs=*/ 0);
+        final BatteryDiffEntry batteryDiffEntry =
+                createBatteryDiffEntry(
+                        /* isSystem= */ true,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0);
         batteryDiffEntry.mConsumePower = 16;
         batteryDiffEntry.setTotalConsumePower(100);
         mBatteryUsageBreakdownController.mPercentLessThanThresholdText = "< 1%";
@@ -299,11 +312,13 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ true,
-                        /*screenOnTimeInMs=*/ 0,
-                        /*foregroundUsageTimeInMs=*/ 0,
-                        /*backgroundUsageTimeInMs=*/ 0));
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ true,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0));
         assertThat(pref.getSummary().toString().isEmpty()).isTrue();
     }
 
@@ -313,11 +328,13 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ true,
-                        /*screenOnTimeInMs=*/ 0,
-                        /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1,
-                        /*backgroundUsageTimeInMs=*/ 0));
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ true,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0));
         assertThat(pref.getSummary().toString()).isEqualTo("Total: less than a min");
     }
 
@@ -327,11 +344,13 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ true,
-                        /*screenOnTimeInMs=*/ 0,
-                        /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS * 2,
-                        /*backgroundUsageTimeInMs=*/ 0));
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ true,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS * 2,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0));
         assertThat(pref.getSummary().toString()).isEqualTo("Total: 2 min");
     }
 
@@ -341,11 +360,13 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ false,
-                        /*screenOnTimeInMs=*/ 0,
-                        /*foregroundUsageTimeInMs=*/ 0,
-                        /*backgroundUsageTimeInMs=*/ 0));
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ false,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0));
         assertThat(pref.getSummary().toString().isEmpty()).isTrue();
     }
 
@@ -355,11 +376,29 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ false,
-                        /*screenOnTimeInMs=*/ 0,
-                        /*foregroundUsageTimeInMs=*/ 0,
-                        /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS));
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ false,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS));
+        assertThat(pref.getSummary().toString()).isEqualTo("Background: 1 min");
+    }
+
+    @Test
+    public void setPreferenceSummary_appEntryWithFGSTime_expectedSummary() {
+        final PowerGaugePreference pref = new PowerGaugePreference(mContext);
+        pref.setSummary(PREF_SUMMARY);
+
+        mBatteryUsageBreakdownController.setPreferenceSummary(
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ false,
+                        /* screenOnTimeInMs= */ 0,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS / 2,
+                        /* backgroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS / 2));
         assertThat(pref.getSummary().toString()).isEqualTo("Background: 1 min");
     }
 
@@ -369,11 +408,13 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ false,
-                        /*screenOnTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS,
-                        /*foregroundUsageTimeInMs=*/ 0,
-                        /*backgroundUsageTimeInMs=*/ 0));
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ false,
+                        /* screenOnTimeInMs= */ DateUtils.MINUTE_IN_MILLIS,
+                        /* foregroundUsageTimeInMs= */ 0,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ 0));
         assertThat(pref.getSummary().toString()).isEqualTo("Screen time: 1 min");
     }
 
@@ -383,21 +424,30 @@
         pref.setSummary(PREF_SUMMARY);
 
         mBatteryUsageBreakdownController.setPreferenceSummary(
-                pref, createBatteryDiffEntry(
-                        /*isSystem=*/ false,
-                        /*screenOnTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1,
-                        /*foregroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1,
-                        /*backgroundUsageTimeInMs=*/ DateUtils.MINUTE_IN_MILLIS - 1));
-        assertThat(pref.getSummary().toString()).isEqualTo(
-                "Screen time: less than a min\nBackground: less than a min");
+                pref,
+                createBatteryDiffEntry(
+                        /* isSystem= */ false,
+                        /* screenOnTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1,
+                        /* foregroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1,
+                        /* foregroundServiceUsageTimeInMs= */ 0,
+                        /* backgroundUsageTimeInMs= */ DateUtils.MINUTE_IN_MILLIS - 1));
+        assertThat(pref.getSummary().toString())
+                .isEqualTo("Screen time: less than a min\nBackground: less than a min");
     }
 
-    private BatteryDiffEntry createBatteryDiffEntry(boolean isSystem, long screenOnTimeInMs,
-            long foregroundUsageTimeInMs, long backgroundUsageTimeInMs) {
+    private BatteryDiffEntry createBatteryDiffEntry(
+            boolean isSystem,
+            long screenOnTimeInMs,
+            long foregroundUsageTimeInMs,
+            long foregroundServiceUsageTimeInMs,
+            long backgroundUsageTimeInMs) {
         final ContentValues contentValues = new ContentValues();
-        contentValues.put(BatteryHistEntry.KEY_CONSUMER_TYPE, Integer.valueOf(
-                isSystem ? ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY
-                        : ConvertUtils.CONSUMER_TYPE_UID_BATTERY));
+        contentValues.put(
+                BatteryHistEntry.KEY_CONSUMER_TYPE,
+                Integer.valueOf(
+                        isSystem
+                                ? ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY
+                                : ConvertUtils.CONSUMER_TYPE_UID_BATTERY));
         contentValues.put(BatteryHistEntry.KEY_USER_ID, Integer.valueOf(1001));
         final BatteryHistEntry batteryHistEntry = new BatteryHistEntry(contentValues);
         return new BatteryDiffEntry(
@@ -412,18 +462,19 @@
                 batteryHistEntry.mConsumerType,
                 foregroundUsageTimeInMs,
                 backgroundUsageTimeInMs,
+                foregroundServiceUsageTimeInMs,
                 screenOnTimeInMs,
-                /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0,
-                /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0,
-                /*cachedUsageConsumePower=*/ 0);
+                /* consumePower= */ 0,
+                /* foregroundUsageConsumePower= */ 0,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 0,
+                /* cachedUsageConsumePower= */ 0);
     }
 
     private BatteryUsageBreakdownController createController() {
         final BatteryUsageBreakdownController controller =
                 new BatteryUsageBreakdownController(
-                        mContext, /*lifecycle=*/ null, mSettingsActivity, mFragment);
+                        mContext, /* lifecycle= */ null, mSettingsActivity, mFragment);
         controller.mPrefContext = mContext;
         return controller;
     }
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 f00c049..af0cb91 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageBroadcastReceiverTest.java
@@ -30,6 +30,7 @@
 import android.os.SystemClock;
 import android.text.format.DateUtils;
 
+import com.android.settings.testutils.BatteryTestUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
@@ -47,8 +48,7 @@
     private BatteryUsageBroadcastReceiver mBatteryUsageBroadcastReceiver;
     private FakeFeatureFactory mFakeFeatureFactory;
 
-    @Mock
-    private PackageManager mPackageManager;
+    @Mock private PackageManager mPackageManager;
 
     @Before
     public void setUp() {
@@ -68,16 +68,27 @@
     }
 
     @Test
+    public void onReceive_workProfile_doNothing() {
+        BatteryTestUtils.setWorkProfile(mContext);
+
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+
+        assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
+    }
+
+    @Test
     public void onReceive_aospNotFullCharged_notFetchUsageData() {
         when(mFakeFeatureFactory.powerUsageFeatureProvider.getFullChargeIntentAction())
                 .thenReturn(Intent.ACTION_BATTERY_LEVEL_CHANGED);
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(true);
-        doReturn(getBatteryIntent(/*level=*/ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
+                .when(mContext)
+                .registerReceiver(any(), any());
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
         assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -90,14 +101,15 @@
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(true);
         // Make sure isCharged returns true.
-        doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_FULL))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_FULL))
+                .when(mContext)
+                .registerReceiver(any(), any());
         // Make sure broadcast will be sent with delay.
         BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
                 SystemClock.elapsedRealtime() + 5 * DateUtils.MINUTE_IN_MILLIS;
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
         assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -110,13 +122,14 @@
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(true);
         // Make sure isCharged returns true.
-        doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+                .when(mContext)
+                .registerReceiver(any(), any());
         BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
                 SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
         assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -129,13 +142,14 @@
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(true);
         // Make sure isCharged returns true.
-        doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+                .when(mContext)
+                .registerReceiver(any(), any());
         BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
                 SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(Intent.ACTION_BATTERY_LEVEL_CHANGED));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isTrue();
         assertSharedPreferences(Intent.ACTION_BATTERY_LEVEL_CHANGED);
@@ -147,11 +161,12 @@
                 .thenReturn(Intent.ACTION_POWER_DISCONNECTED);
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(false);
-        doReturn(getBatteryIntent(/*level=*/ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 20, BatteryManager.BATTERY_STATUS_UNKNOWN))
+                .when(mContext)
+                .registerReceiver(any(), any());
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
         assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -164,14 +179,15 @@
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(false);
         // Make sure isCharged returns true.
-        doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_FULL))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_FULL))
+                .when(mContext)
+                .registerReceiver(any(), any());
         // Make sure broadcast will be sent with delay.
         BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
                 SystemClock.elapsedRealtime() + 5 * DateUtils.MINUTE_IN_MILLIS;
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isTrue();
         assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -184,13 +200,14 @@
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(false);
         // Make sure isCharged returns true.
-        doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+                .when(mContext)
+                .registerReceiver(any(), any());
         BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
                 SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isFalse();
         assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -203,13 +220,14 @@
         when(mFakeFeatureFactory.powerUsageFeatureProvider.delayHourlyJobWhenBooting())
                 .thenReturn(false);
         // Make sure isCharged returns true.
-        doReturn(getBatteryIntent(/*level=*/ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
-                .when(mContext).registerReceiver(any(), any());
+        doReturn(getBatteryIntent(/* level= */ 100, BatteryManager.BATTERY_STATUS_UNKNOWN))
+                .when(mContext)
+                .registerReceiver(any(), any());
         BatteryUsageBroadcastReceiver.sBroadcastDelayFromBoot =
                 SystemClock.elapsedRealtime() - 5 * DateUtils.MINUTE_IN_MILLIS;
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
-                new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext, new Intent(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING));
 
         assertThat(mBatteryUsageBroadcastReceiver.mFetchBatteryUsageData).isTrue();
         assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
@@ -223,12 +241,12 @@
                 /*packageName*/ "com.android.testing_package", Boolean.valueOf(true));
         assertThat(BatteryDiffEntry.sValidForRestriction).isNotEmpty();
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext,
                 new Intent(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA));
 
         assertThat(BatteryDiffEntry.sValidForRestriction).isEmpty();
-        assertSharedPreferences(
-                BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
+        assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
     }
 
     @Test
@@ -239,12 +257,12 @@
                 /*packageName*/ "com.android.testing_package", Boolean.valueOf(true));
         assertThat(BatteryDiffEntry.sValidForRestriction).isNotEmpty();
 
-        mBatteryUsageBroadcastReceiver.onReceive(mContext,
+        mBatteryUsageBroadcastReceiver.onReceive(
+                mContext,
                 new Intent(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA));
 
         assertThat(BatteryDiffEntry.sValidForRestriction).isNotEmpty();
-        assertSharedPreferences(
-                BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
+        assertSharedPreferences(BatteryUsageBroadcastReceiver.ACTION_CLEAR_BATTERY_CACHE_DATA);
     }
 
     private static Intent getBatteryIntent(int level, int status) {
@@ -256,7 +274,6 @@
     }
 
     private void assertSharedPreferences(String preferenceKey) {
-        assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey))
-                .isTrue();
+        assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey)).isTrue();
     }
 }
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 999a921..950f828 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageContentProviderTest.java
@@ -66,7 +66,7 @@
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
         mProvider = new BatteryUsageContentProvider();
-        mProvider.attachInfo(mContext, /*info=*/ null);
+        mProvider.attachInfo(mContext, /* info= */ null);
         BatteryTestUtils.setUpBatteryStateDatabase(mContext);
     }
 
@@ -95,11 +95,14 @@
                 IllegalArgumentException.class,
                 () ->
                         mProvider.query(
-                                uri, /*strings=*/ null, /*s=*/ null, /*strings1=*/ null,
-                                /*s1=*/ null));
+                                uri,
+                                /* strings= */ null,
+                                /* s= */ null,
+                                /* strings1= */ null,
+                                /* s1= */ null));
         assertThrows(
                 IllegalArgumentException.class,
-                () -> mProvider.insert(uri, /*contentValues=*/ null));
+                () -> mProvider.insert(uri, /* contentValues= */ null));
     }
 
     @Test
@@ -116,11 +119,14 @@
                 IllegalArgumentException.class,
                 () ->
                         mProvider.query(
-                                uri, /*strings=*/ null, /*s=*/ null, /*strings1=*/ null,
-                                /*s1=*/ null));
+                                uri,
+                                /* strings= */ null,
+                                /* s= */ null,
+                                /* strings1= */ null,
+                                /* s1= */ null));
         assertThrows(
                 IllegalArgumentException.class,
-                () -> mProvider.insert(uri, /*contentValues=*/ null));
+                () -> mProvider.insert(uri, /* contentValues= */ null));
     }
 
     @Test
@@ -128,7 +134,8 @@
         mProvider.onCreate();
         ContentValues values = new ContentValues();
         values.put(BatteryEventEntity.KEY_TIMESTAMP, 10001L);
-        values.put(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
+        values.put(
+                BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
                 BatteryEventType.FULL_CHARGED.getNumber());
         values.put(BatteryEventEntity.KEY_BATTERY_LEVEL, 100);
         mProvider.insert(DatabaseUtils.BATTERY_EVENT_URI, values);
@@ -263,15 +270,13 @@
     public void insert_batteryState_returnsExpectedResult() {
         mProvider.onCreate();
         final DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
+                DeviceBatteryState.newBuilder()
                         .setBatteryLevel(51)
                         .setBatteryStatus(2)
                         .setBatteryHealth(3)
                         .build();
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setDeviceBatteryState(deviceBatteryState)
                         .setAppLabel("Settings")
                         .setIsHidden(true)
@@ -285,6 +290,7 @@
                         .setPercentOfTotal(0.9)
                         .setForegroundUsageTimeInMs(1000)
                         .setBackgroundUsageTimeInMs(2000)
+                        .setForegroundServiceUsageTimeInMs(1500)
                         .setDrainType(1)
                         .build();
         final String expectedBatteryInformationString =
@@ -318,17 +324,13 @@
     public void insert_partialFieldsContentValues_returnsExpectedResult() {
         mProvider.onCreate();
         final DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
+                DeviceBatteryState.newBuilder()
                         .setBatteryLevel(52)
                         .setBatteryStatus(3)
                         .setBatteryHealth(2)
                         .build();
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
-                        .setDeviceBatteryState(deviceBatteryState)
-                        .build();
+                BatteryInformation.newBuilder().setDeviceBatteryState(deviceBatteryState).build();
         final String expectedBatteryInformationString =
                 ConvertUtils.convertBatteryInformationToString(batteryInformation);
         final ContentValues values = new ContentValues();
@@ -381,7 +383,8 @@
         mProvider.onCreate();
         ContentValues values = new ContentValues();
         values.put(BatteryEventEntity.KEY_TIMESTAMP, 10001L);
-        values.put(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
+        values.put(
+                BatteryEventEntity.KEY_BATTERY_EVENT_TYPE,
                 BatteryEventType.POWER_CONNECTED.getNumber());
         values.put(BatteryEventEntity.KEY_BATTERY_LEVEL, 66);
 
@@ -393,24 +396,26 @@
                 BatteryStateDatabase.getInstance(mContext).batteryEventDao().getAll();
         assertThat(entities).hasSize(1);
         assertThat(entities.get(0).timestamp).isEqualTo(10001L);
-        assertThat(entities.get(0).batteryEventType).isEqualTo(
-                BatteryEventType.POWER_CONNECTED.getNumber());
+        assertThat(entities.get(0).batteryEventType)
+                .isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
         assertThat(entities.get(0).batteryLevel).isEqualTo(66);
 
-        final Cursor cursor1 = getCursorOfBatteryEvents(
-                0L, List.of(BatteryEventType.POWER_CONNECTED.getNumber()));
+        final Cursor cursor1 =
+                getCursorOfBatteryEvents(0L, List.of(BatteryEventType.POWER_CONNECTED.getNumber()));
         assertThat(cursor1.getCount()).isEqualTo(1);
         cursor1.moveToFirst();
         assertThat(cursor1.getLong(cursor1.getColumnIndex(BatteryEventEntity.KEY_TIMESTAMP)))
                 .isEqualTo(10001L);
         assertThat(
-                cursor1.getInt(cursor1.getColumnIndex(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)))
+                        cursor1.getInt(
+                                cursor1.getColumnIndex(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)))
                 .isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
         assertThat(cursor1.getInt(cursor1.getColumnIndex(BatteryEventEntity.KEY_BATTERY_LEVEL)))
                 .isEqualTo(66);
 
-        final Cursor cursor2 = getCursorOfBatteryEvents(
-                0L, List.of(BatteryEventType.POWER_DISCONNECTED.getNumber()));
+        final Cursor cursor2 =
+                getCursorOfBatteryEvents(
+                        0L, List.of(BatteryEventType.POWER_DISCONNECTED.getNumber()));
         assertThat(cursor2.getCount()).isEqualTo(0);
     }
 
@@ -435,8 +440,11 @@
         cursor1.moveToFirst();
         assertThat(cursor1.getLong(cursor1.getColumnIndex(BatteryUsageSlotEntity.KEY_TIMESTAMP)))
                 .isEqualTo(10001L);
-        assertThat(cursor1.getString(cursor1.getColumnIndex(
-                BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT))).isEqualTo("TEST_STRING");
+        assertThat(
+                        cursor1.getString(
+                                cursor1.getColumnIndex(
+                                        BatteryUsageSlotEntity.KEY_BATTERY_USAGE_SLOT)))
+                .isEqualTo("TEST_STRING");
 
         final Cursor cursor2 = getCursorOfBatteryUsageSlots(10002L);
         assertThat(cursor2.getCount()).isEqualTo(0);
@@ -446,7 +454,7 @@
     public void delete_throwsUnsupportedOperationException() {
         assertThrows(
                 UnsupportedOperationException.class,
-                () -> mProvider.delete(/*uri=*/ null, /*s=*/ null, /*strings=*/ null));
+                () -> mProvider.delete(/* uri= */ null, /* s= */ null, /* strings= */ null));
     }
 
     @Test
@@ -455,13 +463,13 @@
                 UnsupportedOperationException.class,
                 () ->
                         mProvider.update(
-                                /*uri=*/ null, /*contentValues=*/ null, /*s=*/ null,
-                                /*strings=*/ null));
+                                /* uri= */ null,
+                                /* contentValues= */ null,
+                                /* s= */ null,
+                                /* strings= */ null));
     }
 
-    private Cursor insertBatteryState(
-            Duration currentTime,
-            String queryTimestamp)
+    private Cursor insertBatteryState(Duration currentTime, String queryTimestamp)
             throws Exception {
         mProvider.onCreate();
         final FakeClock fakeClock = new FakeClock();
@@ -470,20 +478,17 @@
         final long currentTimestamp = currentTime.toMillis();
         // Inserts some valid testing data.
         BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, currentTimestamp - 6, PACKAGE_NAME1,
-                /*isFullChargeStart=*/ true);
+                mContext, currentTimestamp - 6, PACKAGE_NAME1, /* isFullChargeStart= */ true);
         BatteryTestUtils.insertDataToBatteryStateTable(
                 mContext, currentTimestamp - 2, PACKAGE_NAME2);
-        BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, currentTimestamp, PACKAGE_NAME3);
+        BatteryTestUtils.insertDataToBatteryStateTable(mContext, currentTimestamp, PACKAGE_NAME3);
 
         final Uri batteryStateQueryContentUri =
                 new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(DatabaseUtils.AUTHORITY)
                         .appendPath(DatabaseUtils.BATTERY_STATE_TABLE)
-                        .appendQueryParameter(
-                                DatabaseUtils.QUERY_KEY_TIMESTAMP, queryTimestamp)
+                        .appendQueryParameter(DatabaseUtils.QUERY_KEY_TIMESTAMP, queryTimestamp)
                         .build();
 
         final Cursor cursor = query(batteryStateQueryContentUri);
@@ -532,17 +537,17 @@
                         .scheme(ContentResolver.SCHEME_CONTENT)
                         .authority(DatabaseUtils.AUTHORITY)
                         .appendPath(DatabaseUtils.APP_USAGE_LATEST_TIMESTAMP_PATH)
-                        .appendQueryParameter(
-                                DatabaseUtils.QUERY_KEY_USERID, Long.toString(userId))
+                        .appendQueryParameter(DatabaseUtils.QUERY_KEY_USERID, Long.toString(userId))
                         .build();
 
         return query(appUsageLatestTimestampQueryContentUri);
     }
 
     private Cursor getCursorOfAppUsage(final List<Long> userIds, final long queryTimestamp) {
-        final String queryUserIdString = userIds.stream()
-                .map(userId -> String.valueOf(userId))
-                .collect(Collectors.joining(","));
+        final String queryUserIdString =
+                userIds.stream()
+                        .map(userId -> String.valueOf(userId))
+                        .collect(Collectors.joining(","));
         final Uri appUsageEventUri =
                 new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
@@ -558,9 +563,10 @@
 
     private Cursor getCursorOfBatteryEvents(
             final long queryTimestamp, final List<Integer> batteryEventTypes) {
-        final String batteryEventTypesString = batteryEventTypes.stream()
-                .map(type -> String.valueOf(type))
-                .collect(Collectors.joining(","));
+        final String batteryEventTypesString =
+                batteryEventTypes.stream()
+                        .map(type -> String.valueOf(type))
+                        .collect(Collectors.joining(","));
         final Uri batteryEventUri =
                 new Uri.Builder()
                         .scheme(ContentResolver.SCHEME_CONTENT)
@@ -590,6 +596,6 @@
 
     private Cursor query(Uri uri) {
         return mProvider.query(
-                uri, /*strings=*/ null, /*s=*/ null, /*strings1=*/ null, /*s1=*/ null);
+                uri, /* strings= */ null, /* s= */ null, /* strings1= */ null, /* s1= */ null);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java
index f3965fd..723a138 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageDataLoaderTest.java
@@ -52,28 +52,22 @@
 public final class BatteryUsageDataLoaderTest {
 
     private Context mContext;
-    @Mock
-    private ContentResolver mMockContentResolver;
-    @Mock
-    private BatteryStatsManager mBatteryStatsManager;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
-    @Mock
-    private BatteryEntry mMockBatteryEntry;
-    @Captor
-    private ArgumentCaptor<BatteryUsageStatsQuery> mStatsQueryCaptor;
+    @Mock private ContentResolver mMockContentResolver;
+    @Mock private BatteryStatsManager mBatteryStatsManager;
+    @Mock private PackageManager mPackageManager;
+    @Mock private UserManager mUserManager;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryEntry mMockBatteryEntry;
+    @Captor private ArgumentCaptor<BatteryUsageStatsQuery> mStatsQueryCaptor;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mContext).when(mContext).getApplicationContext();
-        doReturn(mBatteryStatsManager).when(mContext).getSystemService(
-                Context.BATTERY_STATS_SERVICE);
+        doReturn(mBatteryStatsManager)
+                .when(mContext)
+                .getSystemService(Context.BATTERY_STATS_SERVICE);
         doReturn(mPackageManager).when(mContext).getPackageManager();
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(mMockContentResolver).when(mContext).getContentResolver();
@@ -88,11 +82,10 @@
                 .thenReturn(mBatteryUsageStats);
         BatteryUsageDataLoader.sFakeBatteryEntryListSupplier = () -> batteryEntryList;
 
-        BatteryUsageDataLoader.loadBatteryStatsData(mContext, /*isFullChargeStart=*/ false);
+        BatteryUsageDataLoader.loadBatteryStatsData(mContext, /* isFullChargeStart= */ false);
 
         final int queryFlags = mStatsQueryCaptor.getValue().getFlags();
-        assertThat(queryFlags
-                & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
+        assertThat(queryFlags & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
                 .isNotEqualTo(0);
         verify(mMockContentResolver).insert(any(), any());
     }
@@ -103,7 +96,7 @@
                 .thenReturn(mBatteryUsageStats);
         BatteryUsageDataLoader.sFakeBatteryEntryListSupplier = () -> null;
 
-        BatteryUsageDataLoader.loadBatteryStatsData(mContext, /*isFullChargeStart=*/ false);
+        BatteryUsageDataLoader.loadBatteryStatsData(mContext, /* isFullChargeStart= */ false);
 
         verify(mMockContentResolver).insert(any(), any());
     }
@@ -114,7 +107,7 @@
                 .thenReturn(mBatteryUsageStats);
         BatteryUsageDataLoader.sFakeBatteryEntryListSupplier = () -> new ArrayList<>();
 
-        BatteryUsageDataLoader.loadBatteryStatsData(mContext, /*isFullChargeStart=*/ false);
+        BatteryUsageDataLoader.loadBatteryStatsData(mContext, /* isFullChargeStart= */ false);
 
         verify(mMockContentResolver).insert(any(), any());
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
index 1d0bca4..2932209 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BatteryUsageStatsLoaderTest.java
@@ -39,25 +39,23 @@
 @RunWith(RobolectricTestRunner.class)
 public class BatteryUsageStatsLoaderTest {
     private Context mContext;
-    @Mock
-    private BatteryStatsManager mBatteryStatsManager;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
-    @Captor
-    private ArgumentCaptor<BatteryUsageStatsQuery> mUsageStatsQueryCaptor;
+    @Mock private BatteryStatsManager mBatteryStatsManager;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
+    @Captor private ArgumentCaptor<BatteryUsageStatsQuery> mUsageStatsQueryCaptor;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        doReturn(mBatteryStatsManager).when(mContext).getSystemService(
-                Context.BATTERY_STATS_SERVICE);
+        doReturn(mBatteryStatsManager)
+                .when(mContext)
+                .getSystemService(Context.BATTERY_STATS_SERVICE);
     }
 
     @Test
     public void testLoadInBackground_loadWithoutHistory() {
-        BatteryUsageStatsLoader loader = new BatteryUsageStatsLoader(
-                mContext, /* includeBatteryHistory */ false);
+        BatteryUsageStatsLoader loader =
+                new BatteryUsageStatsLoader(mContext, /* includeBatteryHistory */ false);
 
         when(mBatteryStatsManager.getBatteryUsageStats(mUsageStatsQueryCaptor.capture()))
                 .thenReturn(mBatteryUsageStats);
@@ -65,14 +63,14 @@
         loader.loadInBackground();
 
         final int queryFlags = mUsageStatsQueryCaptor.getValue().getFlags();
-        assertThat(queryFlags
-                & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY).isEqualTo(0);
+        assertThat(queryFlags & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
+                .isEqualTo(0);
     }
 
     @Test
     public void testLoadInBackground_loadWithHistory() {
-        BatteryUsageStatsLoader loader = new BatteryUsageStatsLoader(
-                mContext, /* includeBatteryHistory */ true);
+        BatteryUsageStatsLoader loader =
+                new BatteryUsageStatsLoader(mContext, /* includeBatteryHistory */ true);
 
         when(mBatteryStatsManager.getBatteryUsageStats(mUsageStatsQueryCaptor.capture()))
                 .thenReturn(mBatteryUsageStats);
@@ -80,7 +78,7 @@
         loader.loadInBackground();
 
         final int queryFlags = mUsageStatsQueryCaptor.getValue().getFlags();
-        assertThat(queryFlags
-                & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY).isNotEqualTo(0);
+        assertThat(queryFlags & BatteryUsageStatsQuery.FLAG_BATTERY_USAGE_STATS_INCLUDE_HISTORY)
+                .isNotEqualTo(0);
     }
 }
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 566df52..df330a3 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/BootBroadcastReceiverTest.java
@@ -35,6 +35,7 @@
 
 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;
@@ -88,7 +89,8 @@
         final SharedPreferences sharedPreferences = DatabaseUtils.getSharedPreferences(mContext);
         sharedPreferences
                 .edit()
-                .putInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+                .putInt(
+                        DatabaseUtils.KEY_LAST_USAGE_SOURCE,
                         UsageStatsManager.USAGE_SOURCE_CURRENT_ACTIVITY)
                 .apply();
 
@@ -96,9 +98,8 @@
 
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNotNull();
         assertThat(
-                DatabaseUtils
-                        .getSharedPreferences(mContext)
-                        .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+                        DatabaseUtils.getSharedPreferences(mContext)
+                                .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
                 .isFalse();
     }
 
@@ -124,10 +125,11 @@
 
     @Test
     public void onReceive_nullIntent_notRefreshesJob() {
-        mReceiver.onReceive(mContext, /*intent=*/ null);
+        mReceiver.onReceive(mContext, /* intent= */ null);
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
     }
 
+    @Ignore("b/314921894")
     @Test
     public void onReceive_withTimeChangedIntent_clearsAllDataAndRefreshesJob()
             throws InterruptedException {
@@ -142,11 +144,10 @@
     public void invokeJobRecheck_broadcastsIntent() {
         BootBroadcastReceiver.invokeJobRecheck(mContext);
 
-        final List<Intent> intents =
-                Shadows.shadowOf((Application) mContext).getBroadcastIntents();
+        final List<Intent> intents = Shadows.shadowOf((Application) mContext).getBroadcastIntents();
         assertThat(intents).hasSize(1);
-        assertThat(intents.get(0).getAction()).isEqualTo(
-                BootBroadcastReceiver.ACTION_PERIODIC_JOB_RECHECK);
+        assertThat(intents.get(0).getAction())
+                .isEqualTo(BootBroadcastReceiver.ACTION_PERIODIC_JOB_RECHECK);
     }
 
     private void clearSharedPreferences() {
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 cd594d3..5ce449b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ConvertUtilsTest.java
@@ -32,6 +32,7 @@
 import android.content.Context;
 import android.content.pm.PackageManager;
 import android.database.MatrixCursor;
+import android.os.BatteryConsumer;
 import android.os.BatteryManager;
 import android.os.BatteryUsageStats;
 import android.os.LocaleList;
@@ -60,14 +61,10 @@
 
     private Context mContext;
 
-    @Mock
-    private PackageManager mMockPackageManager;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
-    @Mock
-    private BatteryEntry mMockBatteryEntry;
-    @Mock
-    private IUsageStatsManager mUsageStatsManager;
+    @Mock private PackageManager mMockPackageManager;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
+    @Mock private BatteryEntry mMockBatteryEntry;
+    @Mock private IUsageStatsManager mUsageStatsManager;
 
     @Before
     public void setUp() {
@@ -80,8 +77,7 @@
     }
 
     @Test
-    public void convertBatteryEntryToContentValues_returnsExpectedContentValues() {
-        final int expectedType = 3;
+    public void convertBatteryEntryToContentValues_appEntry_returnsExpectedContentValues() {
         when(mMockBatteryEntry.getUid()).thenReturn(1001);
         when(mMockBatteryEntry.getLabel()).thenReturn("Settings");
         when(mMockBatteryEntry.getDefaultPackageName())
@@ -96,20 +92,21 @@
         mMockBatteryEntry.mPercent = 0.3;
         when(mMockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
         when(mMockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
-        when(mMockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
+        when(mMockBatteryEntry.getTimeInForegroundServiceMs()).thenReturn(3456L);
+        when(mMockBatteryEntry.getPowerComponentId()).thenReturn(-1);
         when(mMockBatteryEntry.getConsumerType())
-                .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+                .thenReturn(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
 
         final ContentValues values =
                 ConvertUtils.convertBatteryEntryToContentValues(
                         mMockBatteryEntry,
                         mBatteryUsageStats,
-                        /*batteryLevel=*/ 12,
-                        /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
-                        /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
-                        /*bootTimestamp=*/ 101L,
-                        /*timestamp=*/ 10001L,
-                        /*isFullChargeStart=*/ true);
+                        /* batteryLevel= */ 12,
+                        /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+                        /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+                        /* bootTimestamp= */ 101L,
+                        /* timestamp= */ 10001L,
+                        /* isFullChargeStart= */ true);
         final BatteryInformation batteryInformation =
                 ConvertUtils.getBatteryInformation(
                         values, BatteryHistEntry.KEY_BATTERY_INFORMATION);
@@ -122,7 +119,7 @@
                 .isEqualTo("com.google.android.settings.battery");
         assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP)).isEqualTo(10001L);
         assertThat(values.getAsInteger(BatteryHistEntry.KEY_CONSUMER_TYPE))
-                .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+                .isEqualTo(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
         assertThat(values.getAsBoolean(BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START)).isTrue();
         assertThat(batteryInformation.getAppLabel()).isEqualTo("Settings");
         assertThat(batteryInformation.getIsHidden()).isTrue();
@@ -137,7 +134,74 @@
         assertThat(batteryInformation.getPercentOfTotal()).isEqualTo(0.3);
         assertThat(batteryInformation.getForegroundUsageTimeInMs()).isEqualTo(1234L);
         assertThat(batteryInformation.getBackgroundUsageTimeInMs()).isEqualTo(5689L);
-        assertThat(batteryInformation.getDrainType()).isEqualTo(expectedType);
+        assertThat(batteryInformation.getForegroundServiceUsageTimeInMs()).isEqualTo(3456L);
+        assertThat(batteryInformation.getDrainType()).isEqualTo(-1);
+        assertThat(deviceBatteryState.getBatteryLevel()).isEqualTo(12);
+        assertThat(deviceBatteryState.getBatteryStatus())
+                .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
+        assertThat(deviceBatteryState.getBatteryHealth())
+                .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
+    }
+
+    @Test
+    public void convertBatteryEntryToContentValues_systemEntry_returnsExpectedContentValues() {
+        when(mMockBatteryEntry.getUid()).thenReturn(-1);
+        when(mMockBatteryEntry.getLabel()).thenReturn("CPU");
+        when(mMockBatteryEntry.getDefaultPackageName()).thenReturn(null);
+        when(mMockBatteryEntry.getPowerComponentId())
+                .thenReturn(BatteryConsumer.POWER_COMPONENT_CPU);
+        when(mBatteryUsageStats.getConsumedPower()).thenReturn(5.1);
+        when(mMockBatteryEntry.getConsumedPower()).thenReturn(1.1);
+        when(mMockBatteryEntry.getConsumedPowerInForeground()).thenReturn(1.2);
+        when(mMockBatteryEntry.getConsumedPowerInForegroundService()).thenReturn(1.3);
+        when(mMockBatteryEntry.getConsumedPowerInBackground()).thenReturn(1.4);
+        when(mMockBatteryEntry.getConsumedPowerInCached()).thenReturn(1.5);
+        mMockBatteryEntry.mPercent = 0.3;
+        when(mMockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
+        when(mMockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
+        when(mMockBatteryEntry.getTimeInForegroundServiceMs()).thenReturn(3456L);
+        when(mMockBatteryEntry.getConsumerType())
+                .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+
+        final ContentValues values =
+                ConvertUtils.convertBatteryEntryToContentValues(
+                        mMockBatteryEntry,
+                        mBatteryUsageStats,
+                        /* batteryLevel= */ 12,
+                        /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+                        /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+                        /* bootTimestamp= */ 101L,
+                        /* timestamp= */ 10001L,
+                        /* isFullChargeStart= */ true);
+        final BatteryInformation batteryInformation =
+                ConvertUtils.getBatteryInformation(
+                        values, BatteryHistEntry.KEY_BATTERY_INFORMATION);
+        final DeviceBatteryState deviceBatteryState = batteryInformation.getDeviceBatteryState();
+
+        assertThat(values.getAsLong(BatteryHistEntry.KEY_UID)).isEqualTo(-1);
+        assertThat(values.getAsLong(BatteryHistEntry.KEY_USER_ID))
+                .isEqualTo(UserHandle.getUserId(1001));
+        assertThat(values.getAsString(BatteryHistEntry.KEY_PACKAGE_NAME)).isEqualTo("");
+        assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP)).isEqualTo(10001L);
+        assertThat(values.getAsInteger(BatteryHistEntry.KEY_CONSUMER_TYPE))
+                .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
+        assertThat(values.getAsBoolean(BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START)).isTrue();
+        assertThat(batteryInformation.getAppLabel()).isEqualTo("CPU");
+        assertThat(batteryInformation.getIsHidden()).isFalse();
+        assertThat(batteryInformation.getBootTimestamp()).isEqualTo(101L);
+        assertThat(batteryInformation.getZoneId()).isEqualTo(TimeZone.getDefault().getID());
+        assertThat(batteryInformation.getTotalPower()).isEqualTo(5.1);
+        assertThat(batteryInformation.getConsumePower()).isEqualTo(1.1);
+        assertThat(batteryInformation.getForegroundUsageConsumePower()).isEqualTo(1.2);
+        assertThat(batteryInformation.getForegroundServiceUsageConsumePower()).isEqualTo(1.3);
+        assertThat(batteryInformation.getBackgroundUsageConsumePower()).isEqualTo(1.4);
+        assertThat(batteryInformation.getCachedUsageConsumePower()).isEqualTo(1.5);
+        assertThat(batteryInformation.getPercentOfTotal()).isEqualTo(0.3);
+        assertThat(batteryInformation.getForegroundUsageTimeInMs()).isEqualTo(1234L);
+        assertThat(batteryInformation.getBackgroundUsageTimeInMs()).isEqualTo(5689L);
+        assertThat(batteryInformation.getForegroundServiceUsageTimeInMs()).isEqualTo(3456L);
+        assertThat(batteryInformation.getDrainType())
+                .isEqualTo(BatteryConsumer.POWER_COMPONENT_CPU);
         assertThat(deviceBatteryState.getBatteryLevel()).isEqualTo(12);
         assertThat(deviceBatteryState.getBatteryStatus())
                 .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
@@ -149,14 +213,14 @@
     public void convertBatteryEntryToContentValues_nullBatteryEntry_returnsExpectedContentValues() {
         final ContentValues values =
                 ConvertUtils.convertBatteryEntryToContentValues(
-                        /*entry=*/ null,
-                        /*batteryUsageStats=*/ null,
-                        /*batteryLevel=*/ 12,
-                        /*batteryStatus=*/ BatteryManager.BATTERY_STATUS_FULL,
-                        /*batteryHealth=*/ BatteryManager.BATTERY_HEALTH_COLD,
-                        /*bootTimestamp=*/ 101L,
-                        /*timestamp=*/ 10001L,
-                        /*isFullChargeStart=*/ false);
+                        /* entry= */ null,
+                        /* batteryUsageStats= */ null,
+                        /* batteryLevel= */ 12,
+                        /* batteryStatus= */ BatteryManager.BATTERY_STATUS_FULL,
+                        /* batteryHealth= */ BatteryManager.BATTERY_HEALTH_COLD,
+                        /* bootTimestamp= */ 101L,
+                        /* timestamp= */ 10001L,
+                        /* isFullChargeStart= */ false);
 
         final BatteryInformation batteryInformation =
                 ConvertUtils.getBatteryInformation(
@@ -170,8 +234,7 @@
                 .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
         assertThat(deviceBatteryState.getBatteryHealth())
                 .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
-        assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP))
-                .isEqualTo(10001L);
+        assertThat(values.getAsLong(BatteryHistEntry.KEY_TIMESTAMP)).isEqualTo(10001L);
         assertThat(values.getAsString(BatteryHistEntry.KEY_PACKAGE_NAME))
                 .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
     }
@@ -209,11 +272,10 @@
                         .setType(BatteryEventType.POWER_CONNECTED)
                         .setBatteryLevel(66)
                         .build();
-        final ContentValues values =
-                ConvertUtils.convertBatteryEventToContentValues(batteryEvent);
+        final ContentValues values = ConvertUtils.convertBatteryEventToContentValues(batteryEvent);
         assertThat(values.getAsLong(BatteryEventEntity.KEY_TIMESTAMP)).isEqualTo(10001L);
-        assertThat(values.getAsInteger(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE)).isEqualTo(
-                BatteryEventType.POWER_CONNECTED.getNumber());
+        assertThat(values.getAsInteger(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE))
+                .isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
         assertThat(values.getAsInteger(BatteryEventEntity.KEY_BATTERY_LEVEL)).isEqualTo(66);
     }
 
@@ -238,8 +300,7 @@
         final int expectedType = 3;
         when(mMockBatteryEntry.getUid()).thenReturn(1001);
         when(mMockBatteryEntry.getLabel()).thenReturn("Settings");
-        when(mMockBatteryEntry.getDefaultPackageName())
-                .thenReturn("com.android.settings.battery");
+        when(mMockBatteryEntry.getDefaultPackageName()).thenReturn("com.android.settings.battery");
         when(mMockBatteryEntry.isHidden()).thenReturn(true);
         when(mBatteryUsageStats.getConsumedPower()).thenReturn(5.1);
         when(mMockBatteryEntry.getConsumedPower()).thenReturn(1.1);
@@ -250,28 +311,22 @@
         mMockBatteryEntry.mPercent = 0.3;
         when(mMockBatteryEntry.getTimeInForegroundMs()).thenReturn(1234L);
         when(mMockBatteryEntry.getTimeInBackgroundMs()).thenReturn(5689L);
+        when(mMockBatteryEntry.getTimeInForegroundServiceMs()).thenReturn(3456L);
         when(mMockBatteryEntry.getPowerComponentId()).thenReturn(expectedType);
         when(mMockBatteryEntry.getConsumerType())
                 .thenReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
 
         final BatteryHistEntry batteryHistEntry =
-                ConvertUtils.convertToBatteryHistEntry(
-                        mMockBatteryEntry,
-                        mBatteryUsageStats);
+                ConvertUtils.convertToBatteryHistEntry(mMockBatteryEntry, mBatteryUsageStats);
 
         assertThat(batteryHistEntry.mUid).isEqualTo(1001L);
-        assertThat(batteryHistEntry.mUserId)
-                .isEqualTo(UserHandle.getUserId(1001));
-        assertThat(batteryHistEntry.mAppLabel)
-                .isEqualTo("Settings");
-        assertThat(batteryHistEntry.mPackageName)
-                .isEqualTo("com.android.settings.battery");
+        assertThat(batteryHistEntry.mUserId).isEqualTo(UserHandle.getUserId(1001));
+        assertThat(batteryHistEntry.mAppLabel).isEqualTo("Settings");
+        assertThat(batteryHistEntry.mPackageName).isEqualTo("com.android.settings.battery");
         assertThat(batteryHistEntry.mIsHidden).isTrue();
-        assertThat(batteryHistEntry.mBootTimestamp)
-                .isEqualTo(0L);
+        assertThat(batteryHistEntry.mBootTimestamp).isEqualTo(0L);
         assertThat(batteryHistEntry.mTimestamp).isEqualTo(0L);
-        assertThat(batteryHistEntry.mZoneId)
-                .isEqualTo(TimeZone.getDefault().getID());
+        assertThat(batteryHistEntry.mZoneId).isEqualTo(TimeZone.getDefault().getID());
         assertThat(batteryHistEntry.mTotalPower).isEqualTo(5.1);
         assertThat(batteryHistEntry.mConsumePower).isEqualTo(1.1);
         assertThat(batteryHistEntry.mForegroundUsageConsumePower).isEqualTo(1.2);
@@ -279,10 +334,9 @@
         assertThat(batteryHistEntry.mBackgroundUsageConsumePower).isEqualTo(1.4);
         assertThat(batteryHistEntry.mCachedUsageConsumePower).isEqualTo(1.5);
         assertThat(batteryHistEntry.mPercentOfTotal).isEqualTo(0.3);
-        assertThat(batteryHistEntry.mForegroundUsageTimeInMs)
-                .isEqualTo(1234L);
-        assertThat(batteryHistEntry.mBackgroundUsageTimeInMs)
-                .isEqualTo(5689L);
+        assertThat(batteryHistEntry.mForegroundUsageTimeInMs).isEqualTo(1234L);
+        assertThat(batteryHistEntry.mBackgroundUsageTimeInMs).isEqualTo(5689L);
+        assertThat(batteryHistEntry.mForegroundServiceUsageTimeInMs).isEqualTo(3456L);
         assertThat(batteryHistEntry.mDrainType).isEqualTo(expectedType);
         assertThat(batteryHistEntry.mConsumerType)
                 .isEqualTo(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY);
@@ -295,20 +349,61 @@
     public void convertToBatteryHistEntry_nullBatteryEntry_returnsExpectedResult() {
         final BatteryHistEntry batteryHistEntry =
                 ConvertUtils.convertToBatteryHistEntry(
-                        /*entry=*/ null,
-                        /*batteryUsageStats=*/ null);
+                        /* entry= */ null, /* batteryUsageStats= */ null);
 
-        assertThat(batteryHistEntry.mBootTimestamp)
-                .isEqualTo(0L);
-        assertThat(batteryHistEntry.mTimestamp)
-                .isEqualTo(0);
-        assertThat(batteryHistEntry.mZoneId)
-                .isEqualTo(TimeZone.getDefault().getID());
+        assertThat(batteryHistEntry.mBootTimestamp).isEqualTo(0L);
+        assertThat(batteryHistEntry.mTimestamp).isEqualTo(0);
+        assertThat(batteryHistEntry.mZoneId).isEqualTo(TimeZone.getDefault().getID());
         assertThat(batteryHistEntry.mBatteryLevel).isEqualTo(0);
         assertThat(batteryHistEntry.mBatteryStatus).isEqualTo(0);
         assertThat(batteryHistEntry.mBatteryHealth).isEqualTo(0);
-        assertThat(batteryHistEntry.mPackageName)
-                .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+        assertThat(batteryHistEntry.mPackageName).isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+    }
+
+    @Test
+    public void convertToBatteryUsageDiff_returnsExpectedResult() {
+        final BatteryDiffEntry batteryDiffEntry =
+                new BatteryDiffEntry(
+                        mContext,
+                        /* uid= */ 101L,
+                        /* userId= */ 1001L,
+                        /* key= */ "key",
+                        /* isHidden= */ false,
+                        /* componentId= */ -1,
+                        /* legacyPackageName= */ null,
+                        /* legacyLabel= */ null,
+                        /* consumerType= */ ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 1234L,
+                        /* foregroundServiceUsageTimeInMs= */ 3456L,
+                        /* backgroundUsageTimeInMs= */ 5678L,
+                        /* screenOnTimeInMs= */ 123L,
+                        /* consumePower= */ 1.1,
+                        /* foregroundUsageConsumePower= */ 1.2,
+                        /* foregroundServiceUsageConsumePower= */ 1.3,
+                        /* backgroundUsageConsumePower= */ 1.4,
+                        /* cachedUsageConsumePower= */ 1.5);
+
+        final BatteryUsageDiff batteryUsageDiff =
+                ConvertUtils.convertToBatteryUsageDiff(batteryDiffEntry);
+
+        assertThat(batteryUsageDiff.getUid()).isEqualTo(101L);
+        assertThat(batteryUsageDiff.getUserId()).isEqualTo(1001L);
+        assertThat(batteryUsageDiff.getIsHidden()).isFalse();
+        assertThat(batteryUsageDiff.getComponentId()).isEqualTo(-1);
+        assertThat(batteryUsageDiff.getConsumerType())
+                .isEqualTo(ConvertUtils.CONSUMER_TYPE_UID_BATTERY);
+        assertThat(batteryUsageDiff.getConsumePower()).isEqualTo(1.1);
+        assertThat(batteryUsageDiff.getForegroundUsageConsumePower()).isEqualTo(1.2);
+        assertThat(batteryUsageDiff.getForegroundServiceUsageConsumePower()).isEqualTo(1.3);
+        assertThat(batteryUsageDiff.getBackgroundUsageConsumePower()).isEqualTo(1.4);
+        assertThat(batteryUsageDiff.getCachedUsageConsumePower()).isEqualTo(1.5);
+        assertThat(batteryUsageDiff.getForegroundUsageTime()).isEqualTo(1234L);
+        assertThat(batteryUsageDiff.getForegroundServiceUsageTime()).isEqualTo(3456L);
+        assertThat(batteryUsageDiff.getBackgroundUsageTime()).isEqualTo(5678L);
+        assertThat(batteryUsageDiff.getScreenOnTime()).isEqualTo(123L);
+        assertThat(batteryUsageDiff.getKey()).isEqualTo("key");
+        assertThat(batteryUsageDiff.hasPackageName()).isFalse();
+        assertThat(batteryUsageDiff.hasLabel()).isFalse();
     }
 
     @Test
@@ -323,8 +418,8 @@
         when(mMockPackageManager.getPackageUidAsUser(any(), anyInt())).thenReturn(1001);
 
         final long userId = 2;
-        final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(
-                mContext, mUsageStatsManager, event, userId);
+        final AppUsageEvent appUsageEvent =
+                ConvertUtils.convertToAppUsageEvent(mContext, mUsageStatsManager, event, userId);
         assertThat(appUsageEvent.getTimestamp()).isEqualTo(101L);
         assertThat(appUsageEvent.getType()).isEqualTo(AppUsageEventType.ACTIVITY_RESUMED);
         assertThat(appUsageEvent.getPackageName()).isEqualTo("com.android.settings1");
@@ -362,14 +457,14 @@
 
         final AppUsageEvent appUsageEvent =
                 ConvertUtils.convertToAppUsageEvent(
-                        mContext, mUsageStatsManager, event, /*userId=*/ 0);
+                        mContext, mUsageStatsManager, event, /* userId= */ 0);
 
         assertThat(appUsageEvent).isNull();
     }
 
     @Test
     public void convertToAppUsageEvent_failToGetUid_returnsNull()
-            throws PackageManager.NameNotFoundException  {
+            throws PackageManager.NameNotFoundException {
         final Event event = new Event();
         event.mEventType = UsageEvents.Event.DEVICE_SHUTDOWN;
         event.mPackage = "com.android.settings1";
@@ -385,24 +480,27 @@
 
     @Test
     public void convertToAppUsageEvent_returnExpectedResult() {
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_UID,
-                        AppUsageEventEntity.KEY_USER_ID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_TIMESTAMP,
-                        AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
-                        AppUsageEventEntity.KEY_TASK_ROOT_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_INSTANCE_ID});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_UID,
+                            AppUsageEventEntity.KEY_USER_ID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_TIMESTAMP,
+                            AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
+                            AppUsageEventEntity.KEY_TASK_ROOT_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_INSTANCE_ID
+                        });
         cursor.addRow(
-                new Object[]{
-                        101L,
-                        1001L,
-                        "com.android.settings1",
-                        10001L,
-                        AppUsageEventType.DEVICE_SHUTDOWN.getNumber(),
-                        "com.android.settings2",
-                        100001L});
+                new Object[] {
+                    101L,
+                    1001L,
+                    "com.android.settings1",
+                    10001L,
+                    AppUsageEventType.DEVICE_SHUTDOWN.getNumber(),
+                    "com.android.settings2",
+                    100001L
+                });
         cursor.moveToFirst();
 
         final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(cursor);
@@ -418,20 +516,23 @@
 
     @Test
     public void convertToAppUsageEvent_emptyInstanceIdAndRootName_returnExpectedResult() {
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_UID,
-                        AppUsageEventEntity.KEY_USER_ID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_TIMESTAMP,
-                        AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_UID,
+                            AppUsageEventEntity.KEY_USER_ID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_TIMESTAMP,
+                            AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE
+                        });
         cursor.addRow(
-                new Object[]{
-                        101L,
-                        1001L,
-                        "com.android.settings1",
-                        10001L,
-                        AppUsageEventType.DEVICE_SHUTDOWN.getNumber()});
+                new Object[] {
+                    101L,
+                    1001L,
+                    "com.android.settings1",
+                    10001L,
+                    AppUsageEventType.DEVICE_SHUTDOWN.getNumber()
+                });
         cursor.moveToFirst();
 
         final AppUsageEvent appUsageEvent = ConvertUtils.convertToAppUsageEvent(cursor);
@@ -447,8 +548,8 @@
 
     @Test
     public void convertToBatteryEvent_normalCase_returnsExpectedResult() {
-        final BatteryEvent batteryEvent = ConvertUtils.convertToBatteryEvent(
-                666L, BatteryEventType.POWER_DISCONNECTED, 88);
+        final BatteryEvent batteryEvent =
+                ConvertUtils.convertToBatteryEvent(666L, BatteryEventType.POWER_DISCONNECTED, 88);
         assertThat(batteryEvent.getTimestamp()).isEqualTo(666L);
         assertThat(batteryEvent.getType()).isEqualTo(BatteryEventType.POWER_DISCONNECTED);
         assertThat(batteryEvent.getBatteryLevel()).isEqualTo(88);
@@ -456,8 +557,9 @@
 
     @Test
     public void convertToBatteryEventList_normalCase_returnsExpectedResult() {
-        final BatteryLevelData batteryLevelData = new BatteryLevelData(Map.of(
-                1691589600000L, 98, 1691596800000L, 90, 1691596812345L, 80));
+        final BatteryLevelData batteryLevelData =
+                new BatteryLevelData(
+                        Map.of(1691589600000L, 98, 1691596800000L, 90, 1691596812345L, 80));
 
         final List<BatteryEvent> batteryEventList =
                 ConvertUtils.convertToBatteryEventList(batteryLevelData);
@@ -473,14 +575,20 @@
 
     @Test
     public void convertToBatteryUsageSlotList_normalCase_returnsExpectedResult() {
-        BatteryDiffData batteryDiffData1 = new BatteryDiffData(
-                mContext, 11L, 12L, 13, 14, 15, List.of(), List.of(), Set.of(), Set.of(), false);
-        BatteryDiffData batteryDiffData2 = new BatteryDiffData(
-                mContext, 21L, 22L, 23, 24, 25, List.of(), List.of(), Set.of(), Set.of(), false);
-        BatteryDiffData batteryDiffData3 = new BatteryDiffData(
-                mContext, 31L, 32L, 33, 34, 35, List.of(), List.of(), Set.of(), Set.of(), false);
-        final Map<Long, BatteryDiffData> batteryDiffDataMap = Map.of(
-                11L, batteryDiffData1, 21L, batteryDiffData2, 31L, batteryDiffData3);
+        BatteryDiffData batteryDiffData1 =
+                new BatteryDiffData(
+                        mContext, 11L, 12L, 13, 14, 15, List.of(), List.of(), Set.of(), Set.of(),
+                        false);
+        BatteryDiffData batteryDiffData2 =
+                new BatteryDiffData(
+                        mContext, 21L, 22L, 23, 24, 25, List.of(), List.of(), Set.of(), Set.of(),
+                        false);
+        BatteryDiffData batteryDiffData3 =
+                new BatteryDiffData(
+                        mContext, 31L, 32L, 33, 34, 35, List.of(), List.of(), Set.of(), Set.of(),
+                        false);
+        final Map<Long, BatteryDiffData> batteryDiffDataMap =
+                Map.of(11L, batteryDiffData1, 21L, batteryDiffData2, 31L, batteryDiffData3);
 
         final List<BatteryUsageSlot> batteryUsageSlotList =
                 ConvertUtils.convertToBatteryUsageSlotList(batteryDiffDataMap);
@@ -492,8 +600,7 @@
 
     @Test
     public void getLocale_nullContext_returnDefaultLocale() {
-        assertThat(ConvertUtils.getLocale(/*context=*/ null))
-                .isEqualTo(Locale.getDefault());
+        assertThat(ConvertUtils.getLocale(/* context= */ null)).isEqualTo(Locale.getDefault());
     }
 
     @Test
@@ -514,8 +621,9 @@
         final String packageName = "com.android.settings1";
         final String taskRootPackageName = "com.android.settings2";
 
-        assertThat(ConvertUtils.getEffectivePackageName(
-                mContext, mUsageStatsManager, packageName, taskRootPackageName))
+        assertThat(
+                        ConvertUtils.getEffectivePackageName(
+                                mContext, mUsageStatsManager, packageName, taskRootPackageName))
                 .isEqualTo(packageName);
     }
 
@@ -524,8 +632,9 @@
         final String packageName = "com.android.settings1";
         final String taskRootPackageName = "com.android.settings2";
 
-        assertThat(ConvertUtils.getEffectivePackageName(
-                mContext, mUsageStatsManager, packageName, taskRootPackageName))
+        assertThat(
+                        ConvertUtils.getEffectivePackageName(
+                                mContext, mUsageStatsManager, packageName, taskRootPackageName))
                 .isEqualTo(packageName);
     }
 
@@ -535,8 +644,9 @@
         final String packageName = "com.android.settings1";
         final String taskRootPackageName = "com.android.settings2";
 
-        assertThat(ConvertUtils.getEffectivePackageName(
-                mContext, mUsageStatsManager, packageName, taskRootPackageName))
+        assertThat(
+                        ConvertUtils.getEffectivePackageName(
+                                mContext, mUsageStatsManager, packageName, taskRootPackageName))
                 .isEqualTo(taskRootPackageName);
     }
 
@@ -545,11 +655,19 @@
         ConvertUtils.sUsageSource = USAGE_SOURCE_TASK_ROOT_ACTIVITY;
         final String packageName = "com.android.settings1";
 
-        assertThat(ConvertUtils.getEffectivePackageName(
-                mContext, mUsageStatsManager, packageName, /*taskRootPackageName=*/ null))
+        assertThat(
+                        ConvertUtils.getEffectivePackageName(
+                                mContext,
+                                mUsageStatsManager,
+                                packageName,
+                                /* taskRootPackageName= */ null))
                 .isEqualTo(packageName);
-        assertThat(ConvertUtils.getEffectivePackageName(
-                mContext, mUsageStatsManager, packageName, /*taskRootPackageName=*/ ""))
+        assertThat(
+                        ConvertUtils.getEffectivePackageName(
+                                mContext,
+                                mUsageStatsManager,
+                                packageName,
+                                /* taskRootPackageName= */ ""))
                 .isEqualTo(packageName);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
index 94fa00f..6227790 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessManagerTest.java
@@ -53,12 +53,14 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.function.Supplier;
 
 @RunWith(RobolectricTestRunner.class)
@@ -68,42 +70,41 @@
     private Context mContext;
     private DataProcessManager mDataProcessManager;
 
-    @Mock
-    private IUsageStatsManager mUsageStatsManager;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private BatteryStatsManager mBatteryStatsManager;
-    @Mock
-    private BatteryUsageStats mBatteryUsageStats;
-    @Mock
-    private Intent mIntent;
-    @Captor
-    private ArgumentCaptor<BatteryUsageStatsQuery> mBatteryUsageStatsQueryCaptor;
+    @Mock private IUsageStatsManager mUsageStatsManager;
+    @Mock private UserManager mUserManager;
+    @Mock private BatteryStatsManager mBatteryStatsManager;
+    @Mock private BatteryUsageStats mBatteryUsageStats;
+    @Mock private Intent mIntent;
+    @Captor private ArgumentCaptor<BatteryUsageStatsQuery> mBatteryUsageStatsQueryCaptor;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
         mContext = spy(RuntimeEnvironment.application);
+        DataProcessor.sTestSystemAppsPackageNames = Set.of();
         DataProcessor.sUsageStatsManager = mUsageStatsManager;
         doReturn(mContext).when(mContext).getApplicationContext();
-        doReturn(mUserManager)
+        doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
+        doReturn(mBatteryStatsManager)
                 .when(mContext)
-                .getSystemService(UserManager.class);
-        doReturn(mBatteryStatsManager).when(mContext).getSystemService(
-                Context.BATTERY_STATS_SERVICE);
-        doReturn(mBatteryUsageStats).when(
-                mBatteryStatsManager).getBatteryUsageStats(mBatteryUsageStatsQueryCaptor.capture());
+                .getSystemService(Context.BATTERY_STATS_SERVICE);
+        doReturn(mBatteryUsageStats)
+                .when(mBatteryStatsManager)
+                .getBatteryUsageStats(mBatteryUsageStatsQueryCaptor.capture());
         doReturn(mIntent).when(mContext).registerReceiver(any(), any());
         doReturn(100).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_SCALE), anyInt());
         doReturn(66).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_LEVEL), anyInt());
 
-        mDataProcessManager = new DataProcessManager(
-                mContext, /*handler=*/ null,  /*rawStartTimestamp=*/ 0L,
-                /*lastFullChargeTimestamp=*/ 0L, /*callbackFunction=*/ null,
-                /*hourlyBatteryLevelsPerDay=*/ new ArrayList<>(),
-                /*batteryHistoryMap=*/ new HashMap<>());
+        mDataProcessManager =
+                new DataProcessManager(
+                        mContext,
+                        /* handler= */ null,
+                        /* rawStartTimestamp= */ 0L,
+                        /* lastFullChargeTimestamp= */ 0L,
+                        /* callbackFunction= */ null,
+                        /* hourlyBatteryLevelsPerDay= */ new ArrayList<>(),
+                        /* batteryHistoryMap= */ new HashMap<>());
     }
 
     @After
@@ -113,19 +114,23 @@
     }
 
     @Test
+    @LooperMode(LooperMode.Mode.LEGACY)
     public void constructor_noLevelData() {
         final DataProcessManager dataProcessManager =
-                new DataProcessManager(mContext, /*handler=*/ null, /*callbackFunction=*/ null);
+                new DataProcessManager(mContext, /* handler= */ null, /* callbackFunction= */ null);
         assertThat(dataProcessManager.getShowScreenOnTime()).isFalse();
     }
 
     @Test
+    @LooperMode(LooperMode.Mode.LEGACY)
     public void start_loadEmptyDatabaseAppUsageData() {
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_UID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_TIMESTAMP});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_UID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_TIMESTAMP
+                        });
         DatabaseUtils.sFakeSupplier = () -> cursor;
         doReturn(true).when(mUserManager).isUserUnlocked(anyInt());
 
@@ -140,6 +145,7 @@
     }
 
     @Test
+    @LooperMode(LooperMode.Mode.LEGACY)
     public void start_loadExpectedAppUsageData() throws RemoteException {
         final List<BatteryLevelData.PeriodBatteryLevelData> hourlyBatteryLevelsPerDay =
                 new ArrayList<>();
@@ -160,9 +166,9 @@
                 new BatteryLevelData.PeriodBatteryLevelData(batteryLevelMap2, timestamps2));
         // Fake current usage data.
         final UsageEvents.Event event1 =
-                getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /*timestamp=*/ 1, packageName);
+                getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /* timestamp= */ 1, packageName);
         final UsageEvents.Event event2 =
-                getUsageEvent(UsageEvents.Event.ACTIVITY_STOPPED, /*timestamp=*/ 2, packageName);
+                getUsageEvent(UsageEvents.Event.ACTIVITY_STOPPED, /* timestamp= */ 2, packageName);
         final List<UsageEvents.Event> events = new ArrayList<>();
         events.add(event1);
         events.add(event2);
@@ -176,40 +182,68 @@
         doReturn(new ArrayList<>()).when(mUserManager).getUserProfiles();
 
         // Fake database usage data.
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
-                        AppUsageEventEntity.KEY_TIMESTAMP,
-                        AppUsageEventEntity.KEY_USER_ID,
-                        AppUsageEventEntity.KEY_INSTANCE_ID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME
-                });
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE,
+                            AppUsageEventEntity.KEY_TIMESTAMP,
+                            AppUsageEventEntity.KEY_USER_ID,
+                            AppUsageEventEntity.KEY_INSTANCE_ID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME
+                        });
         // Adds fake data into the cursor.
-        cursor.addRow(new Object[] {
-                AppUsageEventType.ACTIVITY_RESUMED.getNumber(), /*timestamp=*/ 3, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName});
-        cursor.addRow(new Object[] {
-                AppUsageEventType.ACTIVITY_STOPPED.getNumber(), /*timestamp=*/ 4, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName});
-        cursor.addRow(new Object[] {
-                AppUsageEventType.ACTIVITY_RESUMED.getNumber(), /*timestamp=*/ 5, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName});
-        cursor.addRow(new Object[] {
-                AppUsageEventType.ACTIVITY_STOPPED.getNumber(), /*timestamp=*/ 6, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName});
-        DatabaseUtils.sFakeSupplier = new Supplier<>() {
-            private int mTimes = 0;
-            @Override
-            public Cursor get() {
-                mTimes++;
-                return mTimes <= 2 ? null : cursor;
-            }
-        };
+        cursor.addRow(
+                new Object[] {
+                    AppUsageEventType.ACTIVITY_RESUMED.getNumber(),
+                    /* timestamp= */ 3,
+                    /* userId= */ 1,
+                    /* instanceId= */ 2,
+                    packageName
+                });
+        cursor.addRow(
+                new Object[] {
+                    AppUsageEventType.ACTIVITY_STOPPED.getNumber(),
+                    /* timestamp= */ 4,
+                    /* userId= */ 1,
+                    /* instanceId= */ 2,
+                    packageName
+                });
+        cursor.addRow(
+                new Object[] {
+                    AppUsageEventType.ACTIVITY_RESUMED.getNumber(),
+                    /* timestamp= */ 5,
+                    /* userId= */ 1,
+                    /* instanceId= */ 2,
+                    packageName
+                });
+        cursor.addRow(
+                new Object[] {
+                    AppUsageEventType.ACTIVITY_STOPPED.getNumber(),
+                    /* timestamp= */ 6,
+                    /* userId= */ 1,
+                    /* instanceId= */ 2,
+                    packageName
+                });
+        DatabaseUtils.sFakeSupplier =
+                new Supplier<>() {
+                    private int mTimes = 0;
 
-        final DataProcessManager dataProcessManager = new DataProcessManager(
-                mContext, /*handler=*/ null, /*rawStartTimestamp=*/ 2L,
-                /*lastFullChargeTimestamp=*/ 1L, /*callbackFunction=*/ null,
-                hourlyBatteryLevelsPerDay, /*batteryHistoryMap=*/ new HashMap<>());
+                    @Override
+                    public Cursor get() {
+                        mTimes++;
+                        return mTimes <= 2 ? null : cursor;
+                    }
+                };
+
+        final DataProcessManager dataProcessManager =
+                new DataProcessManager(
+                        mContext,
+                        /* handler= */ null,
+                        /* rawStartTimestamp= */ 2L,
+                        /* lastFullChargeTimestamp= */ 1L,
+                        /* callbackFunction= */ null,
+                        hourlyBatteryLevelsPerDay,
+                        /* batteryHistoryMap= */ new HashMap<>());
         dataProcessManager.start();
 
         assertThat(dataProcessManager.getIsCurrentAppUsageLoaded()).isTrue();
@@ -220,17 +254,17 @@
         Collections.sort(appUsageEventList, DataProcessor.APP_USAGE_EVENT_TIMESTAMP_COMPARATOR);
         assertThat(appUsageEventList.size()).isEqualTo(6);
         assertAppUsageEvent(
-                appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1);
+                appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 1);
         assertAppUsageEvent(
-                appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2);
+                appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 2);
         assertAppUsageEvent(
-                appUsageEventList.get(2), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3);
+                appUsageEventList.get(2), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 3);
         assertAppUsageEvent(
-                appUsageEventList.get(3), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4);
+                appUsageEventList.get(3), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 4);
         assertAppUsageEvent(
-                appUsageEventList.get(4), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 5);
+                appUsageEventList.get(4), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 5);
         assertAppUsageEvent(
-                appUsageEventList.get(5), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 6);
+                appUsageEventList.get(5), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 6);
 
         final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
                 appUsagePeriodMap = dataProcessManager.getAppUsagePeriodMap();
@@ -258,20 +292,23 @@
     }
 
     @Test
+    @LooperMode(LooperMode.Mode.LEGACY)
     public void start_currentUserLocked_emptyAppUsageList() throws RemoteException {
         final UsageEvents.Event event =
-                getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /*timestamp=*/ 1, "package");
+                getUsageEvent(UsageEvents.Event.ACTIVITY_RESUMED, /* timestamp= */ 1, "package");
         final List<UsageEvents.Event> events = new ArrayList<>();
         events.add(event);
         doReturn(getUsageEvents(events))
                 .when(mUsageStatsManager)
                 .queryEventsForUser(anyLong(), anyLong(), anyInt(), any());
         doReturn(false).when(mUserManager).isUserUnlocked(anyInt());
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_UID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_TIMESTAMP});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_UID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_TIMESTAMP
+                        });
         // Adds fake data into the cursor.
         cursor.addRow(new Object[] {101L, "app name1", 1001L});
         DatabaseUtils.sFakeSupplier = () -> cursor;
@@ -284,26 +321,32 @@
     }
 
     @Test
+    @LooperMode(LooperMode.Mode.LEGACY)
     public void getBatteryLevelData_emptyHistoryMap_returnNull() {
-        assertThat(DataProcessManager.getBatteryLevelData(
-                mContext,
-                /*handler=*/ null,
-                /*isFromPeriodJob=*/ false,
-                /*asyncResponseDelegate=*/ null)).isNull();
-        assertThat(DataProcessManager.getBatteryLevelData(
-                mContext,
-                /*handler=*/ null,
-                /*isFromPeriodJob=*/ true,
-                /*asyncResponseDelegate=*/ null)).isNull();
+        assertThat(
+                        DataProcessManager.getBatteryLevelData(
+                                mContext,
+                                /* handler= */ null,
+                                /* isFromPeriodJob= */ false,
+                                /* asyncResponseDelegate= */ null))
+                .isNull();
+        assertThat(
+                        DataProcessManager.getBatteryLevelData(
+                                mContext,
+                                /* handler= */ null,
+                                /* isFromPeriodJob= */ true,
+                                /* asyncResponseDelegate= */ null))
+                .isNull();
     }
 
     @Test
     public void getBatteryLevelData_allDataInOneHour_returnExpectedResult() {
         // The timestamps and the current time are within half hour before an even hour.
         final long[] timestamps = {
-                DateUtils.HOUR_IN_MILLIS * 2 - 300L,
-                DateUtils.HOUR_IN_MILLIS * 2 - 200L,
-                DateUtils.HOUR_IN_MILLIS * 2 - 100L};
+            DateUtils.HOUR_IN_MILLIS * 2 - 300L,
+            DateUtils.HOUR_IN_MILLIS * 2 - 200L,
+            DateUtils.HOUR_IN_MILLIS * 2 - 100L
+        };
         final int[] levels = {100, 99, 98};
         DataProcessManager.sFakeBatteryHistoryMap = createHistoryMap(timestamps, levels);
         DataProcessor.sTestCurrentTimeMillis = timestamps[timestamps.length - 1];
@@ -311,13 +354,12 @@
         final BatteryLevelData resultData =
                 DataProcessManager.getBatteryLevelData(
                         mContext,
-                        /*handler=*/ null,
-                        /*isFromPeriodJob=*/ false,
-                        /*asyncResponseDelegate=*/ null);
+                        /* handler= */ null,
+                        /* isFromPeriodJob= */ false,
+                        /* asyncResponseDelegate= */ null);
 
-        final List<Long> expectedDailyTimestamps = List.of(
-                DateUtils.HOUR_IN_MILLIS * 2 - 300L,
-                DateUtils.HOUR_IN_MILLIS * 2 - 100L);
+        final List<Long> expectedDailyTimestamps =
+                List.of(DateUtils.HOUR_IN_MILLIS * 2 - 300L, DateUtils.HOUR_IN_MILLIS * 2 - 100L);
         final List<Integer> expectedDailyLevels = List.of(100, 66);
         final List<List<Long>> expectedHourlyTimestamps = List.of(expectedDailyTimestamps);
         final List<List<Integer>> expectedHourlyLevels = List.of(expectedDailyLevels);
@@ -340,13 +382,14 @@
         final BatteryLevelData resultData =
                 DataProcessManager.getBatteryLevelData(
                         mContext,
-                        /*handler=*/ null,
-                        /*isFromPeriodJob=*/ false,
-                        /*asyncResponseDelegate=*/ null);
+                        /* handler= */ null,
+                        /* isFromPeriodJob= */ false,
+                        /* asyncResponseDelegate= */ null);
 
-        final List<Long> expectedDailyTimestamps = List.of(
-                1640966400000L,  // 2022-01-01 00:00:00
-                1640970000000L); // 2022-01-01 01:00:00
+        final List<Long> expectedDailyTimestamps =
+                List.of(
+                        1640966400000L, // 2022-01-01 00:00:00
+                        1640970000000L); // 2022-01-01 01:00:00
         final List<Integer> expectedDailyLevels = List.of(100, 66);
         final List<List<Long>> expectedHourlyTimestamps = List.of(expectedDailyTimestamps);
         final List<List<Integer>> expectedHourlyLevels = List.of(expectedDailyLevels);
@@ -392,16 +435,11 @@
     private static ContentValues getContentValuesWithBatteryLevel(final int level) {
         final ContentValues values = new ContentValues();
         final DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
-                        .setBatteryLevel(level)
-                        .build();
+                DeviceBatteryState.newBuilder().setBatteryLevel(level).build();
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
-                        .setDeviceBatteryState(deviceBatteryState)
-                        .build();
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+                BatteryInformation.newBuilder().setDeviceBatteryState(deviceBatteryState).build();
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         return values;
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
index c4394f7..7a67240 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DataProcessorTest.java
@@ -98,18 +98,19 @@
 
         DataProcessor.sTestSystemAppsPackageNames = Set.of();
         DataProcessor.sUsageStatsManager = mUsageStatsManager;
-        doReturn(mIntent).when(mContext).registerReceiver(
-                isA(BroadcastReceiver.class), isA(IntentFilter.class));
+        doReturn(mIntent)
+                .when(mContext)
+                .registerReceiver(isA(BroadcastReceiver.class), isA(IntentFilter.class));
         doReturn(100).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_SCALE), anyInt());
         doReturn(66).when(mIntent).getIntExtra(eq(BatteryManager.EXTRA_LEVEL), anyInt());
         doReturn(mContext).when(mContext).getApplicationContext();
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
-        doReturn(new int[]{0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
+        doReturn(new int[] {0}).when(mUserManager).getProfileIdsWithDisabled(anyInt());
     }
 
     @Test
     public void getAppUsageEvents_returnExpectedResult() throws RemoteException {
-        UserInfo userInfo = new UserInfo(/*id=*/ 0, "user_0", /*flags=*/ 0);
+        UserInfo userInfo = new UserInfo(/* id= */ 0, "user_0", /* flags= */ 0);
         final List<UserInfo> userInfoList = new ArrayList<>();
         userInfoList.add(userInfo);
         doReturn(userInfoList).when(mUserManager).getAliveUsers();
@@ -126,7 +127,7 @@
 
     @Test
     public void getAppUsageEvents_lockedUser_returnNull() {
-        UserInfo userInfo = new UserInfo(/*id=*/ 0, "user_0", /*flags=*/ 0);
+        UserInfo userInfo = new UserInfo(/* id= */ 0, "user_0", /* flags= */ 0);
         final List<UserInfo> userInfoList = new ArrayList<>();
         userInfoList.add(userInfo);
         doReturn(userInfoList).when(mUserManager).getAliveUsers();
@@ -140,12 +141,13 @@
 
     @Test
     public void getAppUsageEvents_nullUsageEvents_returnNull() throws RemoteException {
-        UserInfo userInfo = new UserInfo(/*id=*/ 0, "user_0", /*flags=*/ 0);
+        UserInfo userInfo = new UserInfo(/* id= */ 0, "user_0", /* flags= */ 0);
         final List<UserInfo> userInfoList = new ArrayList<>();
         userInfoList.add(userInfo);
         doReturn(userInfoList).when(mUserManager).getAliveUsers();
         doReturn(true).when(mUserManager).isUserUnlocked(userInfo.id);
-        doReturn(null).when(mUsageStatsManager)
+        doReturn(null)
+                .when(mUsageStatsManager)
                 .queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
 
         final Map<Long, UsageEvents> resultMap = DataProcessor.getAppUsageEvents(mContext);
@@ -178,7 +180,8 @@
     public void getAppUsageEventsForUser_nullUsageEvents_returnNull() throws RemoteException {
         final int userId = 1;
         doReturn(true).when(mUserManager).isUserUnlocked(userId);
-        doReturn(null).when(mUsageStatsManager)
+        doReturn(null)
+                .when(mUsageStatsManager)
                 .queryEventsForUser(anyLong(), anyLong(), anyInt(), anyString());
 
         assertThat(DataProcessor.getAppUsageEventsForUser(mContext, userId, 0)).isNull();
@@ -206,52 +209,112 @@
                 new BatteryLevelData.PeriodBatteryLevelData(batteryLevelMap2, timestamps2));
         final List<AppUsageEvent> appUsageEventList = new ArrayList<>();
         // Adds some events before the start timestamp.
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 1,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 2,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
         // Adds the valid app usage events.
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 4200000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4500000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 12600000L, /*userId=*/ 2,
-                /*instanceId=*/ 3, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 15600000L, /*userId=*/ 2,
-                /*instanceId=*/ 3, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 16200000L, /*userId=*/ 2,
-                /*instanceId=*/ 3, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 18000000L, /*userId=*/ 2,
-                /*instanceId=*/ 3, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 17200000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 17800000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 46000000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 47800000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 49000000L, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 59600000L, /*userId=*/ 1,
-                /*instanceId=*/ 4, packageName));
-        appUsageEventList.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 61200000L, /*userId=*/ 1,
-                /*instanceId=*/ 4, packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 4200000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 4500000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 12600000L,
+                        /* userId= */ 2,
+                        /* instanceId= */ 3,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 15600000L,
+                        /* userId= */ 2,
+                        /* instanceId= */ 3,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 16200000L,
+                        /* userId= */ 2,
+                        /* instanceId= */ 3,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 18000000L,
+                        /* userId= */ 2,
+                        /* instanceId= */ 3,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 17200000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 17800000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 46000000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 47800000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 49000000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 59600000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 4,
+                        packageName));
+        appUsageEventList.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 61200000L,
+                        /* userId= */ 1,
+                        /* instanceId= */ 4,
+                        packageName));
 
         final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>> periodMap =
                 DataProcessor.generateAppUsagePeriodMap(
@@ -292,18 +355,22 @@
                 new ArrayList<>();
         hourlyBatteryLevelsPerDay.add(
                 new BatteryLevelData.PeriodBatteryLevelData(new ArrayMap<>(), new ArrayList<>()));
-        assertThat(DataProcessor.generateAppUsagePeriodMap(
-                mContext, hourlyBatteryLevelsPerDay, new ArrayList<>(), new ArrayList<>()))
+        assertThat(
+                        DataProcessor.generateAppUsagePeriodMap(
+                                mContext,
+                                hourlyBatteryLevelsPerDay,
+                                new ArrayList<>(),
+                                new ArrayList<>()))
                 .isNull();
     }
 
     @Test
     public void generateAppUsageEventListFromUsageEvents_returnExpectedResult() {
-        Event event1 = getUsageEvent(Event.NOTIFICATION_INTERRUPTION, /*timestamp=*/ 1);
-        Event event2 = getUsageEvent(Event.ACTIVITY_RESUMED, /*timestamp=*/ 2);
-        Event event3 = getUsageEvent(Event.ACTIVITY_STOPPED, /*timestamp=*/ 3);
-        Event event4 = getUsageEvent(Event.DEVICE_SHUTDOWN, /*timestamp=*/ 4);
-        Event event5 = getUsageEvent(Event.ACTIVITY_RESUMED, /*timestamp=*/ 5);
+        Event event1 = getUsageEvent(Event.NOTIFICATION_INTERRUPTION, /* timestamp= */ 1);
+        Event event2 = getUsageEvent(Event.ACTIVITY_RESUMED, /* timestamp= */ 2);
+        Event event3 = getUsageEvent(Event.ACTIVITY_STOPPED, /* timestamp= */ 3);
+        Event event4 = getUsageEvent(Event.DEVICE_SHUTDOWN, /* timestamp= */ 4);
+        Event event5 = getUsageEvent(Event.ACTIVITY_RESUMED, /* timestamp= */ 5);
         event5.mPackage = null;
         List<Event> events1 = new ArrayList<>();
         events1.add(event1);
@@ -325,17 +392,16 @@
 
         assertThat(appUsageEventList).hasSize(3);
         assertAppUsageEvent(
-                appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2);
+                appUsageEventList.get(0), AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 2);
         assertAppUsageEvent(
-                appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 3);
+                appUsageEventList.get(1), AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 3);
         assertAppUsageEvent(
-                appUsageEventList.get(2), AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 4);
+                appUsageEventList.get(2), AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 4);
     }
 
     @Test
     public void getHistoryMapWithExpectedTimestamps_emptyHistoryMap_returnEmptyMap() {
-        assertThat(DataProcessor
-                .getHistoryMapWithExpectedTimestamps(mContext, new HashMap<>()))
+        assertThat(DataProcessor.getHistoryMapWithExpectedTimestamps(mContext, new HashMap<>()))
                 .isEmpty();
     }
 
@@ -343,11 +409,11 @@
     public void getHistoryMapWithExpectedTimestamps_returnExpectedMap() {
         // Timezone GMT+8
         final long[] timestamps = {
-                1640966700000L, // 2022-01-01 00:05:00
-                1640970180000L, // 2022-01-01 01:03:00
-                1640973840000L, // 2022-01-01 02:04:00
-                1640978100000L, // 2022-01-01 03:15:00
-                1640981400000L  // 2022-01-01 04:10:00
+            1640966700000L, // 2022-01-01 00:05:00
+            1640970180000L, // 2022-01-01 01:03:00
+            1640973840000L, // 2022-01-01 02:04:00
+            1640978100000L, // 2022-01-01 03:15:00
+            1640981400000L // 2022-01-01 04:10:00
         };
         final int[] levels = {100, 94, 90, 82, 50};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -359,12 +425,12 @@
 
         // Timezone GMT+8
         final long[] expectedTimestamps = {
-                1640966700000L, // 2022-01-01 00:05:00
-                1640970000000L, // 2022-01-01 01:00:00
-                1640973600000L, // 2022-01-01 02:00:00
-                1640977200000L, // 2022-01-01 03:00:00
-                1640980800000L, // 2022-01-01 04:00:00
-                1640981400000L  // 2022-01-01 04:10:00
+            1640966700000L, // 2022-01-01 00:05:00
+            1640970000000L, // 2022-01-01 01:00:00
+            1640973600000L, // 2022-01-01 02:00:00
+            1640977200000L, // 2022-01-01 03:00:00
+            1640980800000L, // 2022-01-01 04:00:00
+            1640981400000L // 2022-01-01 04:10:00
         };
         final int[] expectedLevels = {100, 94, 90, 84, 56, 98};
         assertThat(resultMap).hasSize(expectedLevels.length);
@@ -372,19 +438,23 @@
             assertThat(resultMap.get(expectedTimestamps[index]).get(FAKE_ENTRY_KEY).mBatteryLevel)
                     .isEqualTo(expectedLevels[index]);
         }
-        assertThat(resultMap.get(expectedTimestamps[expectedLevels.length - 1]).containsKey(
-                DataProcessor.CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER)).isTrue();
+        assertThat(
+                        resultMap
+                                .get(expectedTimestamps[expectedLevels.length - 1])
+                                .containsKey(
+                                        DataProcessor.CURRENT_TIME_BATTERY_HISTORY_PLACEHOLDER))
+                .isTrue();
     }
 
     @Test
     public void getLevelDataThroughProcessedHistoryMap_OneDayData_returnExpectedResult() {
         // Timezone GMT+8
         final long[] timestamps = {
-                1640966400000L, // 2022-01-01 00:00:00
-                1640970000000L, // 2022-01-01 01:00:00
-                1640973600000L, // 2022-01-01 02:00:00
-                1640977200000L, // 2022-01-01 03:00:00
-                1640980800000L  // 2022-01-01 04:00:00
+            1640966400000L, // 2022-01-01 00:00:00
+            1640970000000L, // 2022-01-01 01:00:00
+            1640973600000L, // 2022-01-01 02:00:00
+            1640977200000L, // 2022-01-01 03:00:00
+            1640980800000L // 2022-01-01 04:00:00
         };
         final int[] levels = {100, 94, 90, 82, 50};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -396,12 +466,10 @@
 
         final List<Long> expectedDailyTimestamps = List.of(timestamps[0], timestamps[4]);
         final List<Integer> expectedDailyLevels = List.of(levels[0], levels[4]);
-        final List<List<Long>> expectedHourlyTimestamps = List.of(
-                List.of(timestamps[0], timestamps[2], timestamps[4])
-        );
-        final List<List<Integer>> expectedHourlyLevels = List.of(
-                List.of(levels[0], levels[2], levels[4])
-        );
+        final List<List<Long>> expectedHourlyTimestamps =
+                List.of(List.of(timestamps[0], timestamps[2], timestamps[4]));
+        final List<List<Integer>> expectedHourlyLevels =
+                List.of(List.of(levels[0], levels[2], levels[4]));
         verifyExpectedBatteryLevelData(
                 resultData,
                 expectedDailyTimestamps,
@@ -414,10 +482,10 @@
     public void getLevelDataThroughProcessedHistoryMap_MultipleDaysData_returnExpectedResult() {
         // Timezone GMT+8
         final long[] timestamps = {
-                1641038400000L, // 2022-01-01 20:00:00
-                1641060000000L, // 2022-01-02 02:00:00
-                1641067200000L, // 2022-01-02 04:00:00
-                1641081600000L, // 2022-01-02 08:00:00
+            1641038400000L, // 2022-01-01 20:00:00
+            1641060000000L, // 2022-01-02 02:00:00
+            1641067200000L, // 2022-01-02 04:00:00
+            1641081600000L, // 2022-01-02 08:00:00
         };
         final int[] levels = {100, 94, 90, 82};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -427,29 +495,30 @@
         final BatteryLevelData resultData =
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
 
-        final List<Long> expectedDailyTimestamps = List.of(
-                1641038400000L, // 2022-01-01 20:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641081600000L  // 2022-01-02 08:00:00
-        );
+        final List<Long> expectedDailyTimestamps =
+                List.of(
+                        1641038400000L, // 2022-01-01 20:00:00
+                        1641052800000L, // 2022-01-02 00:00:00
+                        1641081600000L // 2022-01-02 08:00:00
+                        );
         final List<Integer> expectedDailyLevels = new ArrayList<>();
         expectedDailyLevels.add(100);
         expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
         expectedDailyLevels.add(82);
-        final List<List<Long>> expectedHourlyTimestamps = List.of(
+        final List<List<Long>> expectedHourlyTimestamps =
                 List.of(
-                        1641038400000L, // 2022-01-01 20:00:00
-                        1641045600000L, // 2022-01-01 22:00:00
-                        1641052800000L  // 2022-01-02 00:00:00
-                ),
-                List.of(
-                        1641052800000L, // 2022-01-02 00:00:00
-                        1641060000000L, // 2022-01-02 02:00:00
-                        1641067200000L, // 2022-01-02 04:00:00
-                        1641074400000L, // 2022-01-02 06:00:00
-                        1641081600000L  // 2022-01-02 08:00:00
-                )
-        );
+                        List.of(
+                                1641038400000L, // 2022-01-01 20:00:00
+                                1641045600000L, // 2022-01-01 22:00:00
+                                1641052800000L // 2022-01-02 00:00:00
+                                ),
+                        List.of(
+                                1641052800000L, // 2022-01-02 00:00:00
+                                1641060000000L, // 2022-01-02 02:00:00
+                                1641067200000L, // 2022-01-02 04:00:00
+                                1641074400000L, // 2022-01-02 06:00:00
+                                1641081600000L // 2022-01-02 08:00:00
+                                ));
         final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
         expectedHourlyLevels1.add(100);
         expectedHourlyLevels1.add(BATTERY_LEVEL_UNKNOWN);
@@ -460,10 +529,8 @@
         expectedHourlyLevels2.add(90);
         expectedHourlyLevels2.add(BATTERY_LEVEL_UNKNOWN);
         expectedHourlyLevels2.add(82);
-        final List<List<Integer>> expectedHourlyLevels = List.of(
-                expectedHourlyLevels1,
-                expectedHourlyLevels2
-        );
+        final List<List<Integer>> expectedHourlyLevels =
+                List.of(expectedHourlyLevels1, expectedHourlyLevels2);
         verifyExpectedBatteryLevelData(
                 resultData,
                 expectedDailyTimestamps,
@@ -477,8 +544,8 @@
         // Timezone PST 2022-11-06 has an extra 01:00:00 - 01:59:59 for daylight saving.
         TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
         final long[] timestamps = {
-                1667667600000L, // 2022-11-05 10:00:00
-                1667829600000L  // 2022-11-07 06:00:00
+            1667667600000L, // 2022-11-05 10:00:00
+            1667829600000L // 2022-11-07 06:00:00
         };
         final int[] levels = {100, 88};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -488,51 +555,52 @@
         final BatteryLevelData resultData =
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
 
-        final List<Long> expectedDailyTimestamps = List.of(
-                1667667600000L, // 2022-11-05 10:00:00
-                1667718000000L, // 2022-11-06 00:00:00
-                1667808000000L, // 2022-11-07 00:00:00
-                1667829600000L  // 2022-11-07 06:00:00
-        );
+        final List<Long> expectedDailyTimestamps =
+                List.of(
+                        1667667600000L, // 2022-11-05 10:00:00
+                        1667718000000L, // 2022-11-06 00:00:00
+                        1667808000000L, // 2022-11-07 00:00:00
+                        1667829600000L // 2022-11-07 06:00:00
+                        );
         final List<Integer> expectedDailyLevels = new ArrayList<>();
         expectedDailyLevels.add(100);
         expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
         expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
         expectedDailyLevels.add(88);
-        final List<List<Long>> expectedHourlyTimestamps = List.of(
+        final List<List<Long>> expectedHourlyTimestamps =
                 List.of(
-                        1667667600000L, // 2022-11-05 10:00:00
-                        1667674800000L, // 2022-11-05 12:00:00
-                        1667682000000L, // 2022-11-05 14:00:00
-                        1667689200000L, // 2022-11-05 16:00:00
-                        1667696400000L, // 2022-11-05 18:00:00
-                        1667703600000L, // 2022-11-05 20:00:00
-                        1667710800000L, // 2022-11-05 22:00:00
-                        1667718000000L  // 2022-11-06 00:00:00
-                ),
-                List.of(
-                        1667718000000L, // 2022-11-06 00:00:00
-                        1667725200000L, // 2022-11-06 01:00:00  after daylight saving change
-                        1667732400000L, // 2022-11-06 03:00:00
-                        1667739600000L, // 2022-11-06 05:00:00
-                        1667746800000L, // 2022-11-06 07:00:00
-                        1667754000000L, // 2022-11-06 09:00:00
-                        1667761200000L, // 2022-11-06 11:00:00
-                        1667768400000L, // 2022-11-06 13:00:00
-                        1667775600000L, // 2022-11-06 15:00:00
-                        1667782800000L, // 2022-11-06 17:00:00
-                        1667790000000L, // 2022-11-06 19:00:00
-                        1667797200000L, // 2022-11-06 21:00:00
-                        1667804400000L, // 2022-11-06 23:00:00
-                        1667808000000L  // 2022-11-07 00:00:00
-                ),
-                List.of(
-                        1667808000000L, // 2022-11-07 00:00:00
-                        1667815200000L, // 2022-11-07 02:00:00
-                        1667822400000L, // 2022-11-07 04:00:00
-                        1667829600000L  // 2022-11-07 06:00:00
-                )
-        );
+                        List.of(
+                                1667667600000L, // 2022-11-05 10:00:00
+                                1667674800000L, // 2022-11-05 12:00:00
+                                1667682000000L, // 2022-11-05 14:00:00
+                                1667689200000L, // 2022-11-05 16:00:00
+                                1667696400000L, // 2022-11-05 18:00:00
+                                1667703600000L, // 2022-11-05 20:00:00
+                                1667710800000L, // 2022-11-05 22:00:00
+                                1667718000000L // 2022-11-06 00:00:00
+                                ),
+                        List.of(
+                                1667718000000L, // 2022-11-06 00:00:00
+                                1667725200000L, // 2022-11-06 01:00:00  after daylight saving change
+                                1667732400000L, // 2022-11-06 03:00:00
+                                1667739600000L, // 2022-11-06 05:00:00
+                                1667746800000L, // 2022-11-06 07:00:00
+                                1667754000000L, // 2022-11-06 09:00:00
+                                1667761200000L, // 2022-11-06 11:00:00
+                                1667768400000L, // 2022-11-06 13:00:00
+                                1667775600000L, // 2022-11-06 15:00:00
+                                1667782800000L, // 2022-11-06 17:00:00
+                                1667790000000L, // 2022-11-06 19:00:00
+                                1667797200000L, // 2022-11-06 21:00:00
+                                1667804400000L, // 2022-11-06 23:00:00
+                                1667808000000L // 2022-11-07 00:00:00
+                                ),
+                        List.of(
+                                1667808000000L, // 2022-11-07 00:00:00
+                                1667815200000L, // 2022-11-07 02:00:00
+                                1667822400000L, // 2022-11-07 04:00:00
+                                1667829600000L // 2022-11-07 06:00:00
+                                ));
         final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
         expectedHourlyLevels1.add(100);
         expectedHourlyLevels1.add(BATTERY_LEVEL_UNKNOWN);
@@ -562,11 +630,8 @@
         expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
         expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
         expectedHourlyLevels3.add(88);
-        final List<List<Integer>> expectedHourlyLevels = List.of(
-                expectedHourlyLevels1,
-                expectedHourlyLevels2,
-                expectedHourlyLevels3
-        );
+        final List<List<Integer>> expectedHourlyLevels =
+                List.of(expectedHourlyLevels1, expectedHourlyLevels2, expectedHourlyLevels3);
         verifyExpectedBatteryLevelData(
                 resultData,
                 expectedDailyTimestamps,
@@ -580,8 +645,8 @@
         // Timezone PST 2022-03-13 has no 02:00:00 - 02:59:59 for daylight saving.
         TimeZone.setDefault(TimeZone.getTimeZone("America/Los_Angeles"));
         final long[] timestamps = {
-                1647151200000L, // 2022-03-12 22:00:00
-                1647262800000L  // 2022-03-14 06:00:00
+            1647151200000L, // 2022-03-12 22:00:00
+            1647262800000L // 2022-03-14 06:00:00
         };
         final int[] levels = {100, 88};
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
@@ -591,44 +656,45 @@
         final BatteryLevelData resultData =
                 DataProcessor.getLevelDataThroughProcessedHistoryMap(mContext, batteryHistoryMap);
 
-        final List<Long> expectedDailyTimestamps = List.of(
-                1647151200000L, // 2022-03-12 22:00:00
-                1647158400000L, // 2022-03-13 00:00:00
-                1647241200000L, // 2022-03-14 00:00:00
-                1647262800000L  // 2022-03-14 06:00:00
-        );
+        final List<Long> expectedDailyTimestamps =
+                List.of(
+                        1647151200000L, // 2022-03-12 22:00:00
+                        1647158400000L, // 2022-03-13 00:00:00
+                        1647241200000L, // 2022-03-14 00:00:00
+                        1647262800000L // 2022-03-14 06:00:00
+                        );
         final List<Integer> expectedDailyLevels = new ArrayList<>();
         expectedDailyLevels.add(100);
         expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
         expectedDailyLevels.add(BATTERY_LEVEL_UNKNOWN);
         expectedDailyLevels.add(88);
-        final List<List<Long>> expectedHourlyTimestamps = List.of(
+        final List<List<Long>> expectedHourlyTimestamps =
                 List.of(
-                        1647151200000L, // 2022-03-12 22:00:00
-                        1647158400000L  // 2022-03-13 00:00:00
-                ),
-                List.of(
-                        1647158400000L, // 2022-03-13 00:00:00
-                        1647165600000L, // 2022-03-13 03:00:00  after daylight saving change
-                        1647172800000L, // 2022-03-13 05:00:00
-                        1647180000000L, // 2022-03-13 07:00:00
-                        1647187200000L, // 2022-03-13 09:00:00
-                        1647194400000L, // 2022-03-13 11:00:00
-                        1647201600000L, // 2022-03-13 13:00:00
-                        1647208800000L, // 2022-03-13 15:00:00
-                        1647216000000L, // 2022-03-13 17:00:00
-                        1647223200000L, // 2022-03-13 19:00:00
-                        1647230400000L, // 2022-03-13 21:00:00
-                        1647237600000L, // 2022-03-13 23:00:00
-                        1647241200000L  // 2022-03-14 00:00:00
-                ),
-                List.of(
-                        1647241200000L, // 2022-03-14 00:00:00
-                        1647248400000L, // 2022-03-14 02:00:00
-                        1647255600000L, // 2022-03-14 04:00:00
-                        1647262800000L  // 2022-03-14 06:00:00
-                )
-        );
+                        List.of(
+                                1647151200000L, // 2022-03-12 22:00:00
+                                1647158400000L // 2022-03-13 00:00:00
+                                ),
+                        List.of(
+                                1647158400000L, // 2022-03-13 00:00:00
+                                1647165600000L, // 2022-03-13 03:00:00  after daylight saving change
+                                1647172800000L, // 2022-03-13 05:00:00
+                                1647180000000L, // 2022-03-13 07:00:00
+                                1647187200000L, // 2022-03-13 09:00:00
+                                1647194400000L, // 2022-03-13 11:00:00
+                                1647201600000L, // 2022-03-13 13:00:00
+                                1647208800000L, // 2022-03-13 15:00:00
+                                1647216000000L, // 2022-03-13 17:00:00
+                                1647223200000L, // 2022-03-13 19:00:00
+                                1647230400000L, // 2022-03-13 21:00:00
+                                1647237600000L, // 2022-03-13 23:00:00
+                                1647241200000L // 2022-03-14 00:00:00
+                                ),
+                        List.of(
+                                1647241200000L, // 2022-03-14 00:00:00
+                                1647248400000L, // 2022-03-14 02:00:00
+                                1647255600000L, // 2022-03-14 04:00:00
+                                1647262800000L // 2022-03-14 06:00:00
+                                ));
         final List<Integer> expectedHourlyLevels1 = new ArrayList<>();
         expectedHourlyLevels1.add(100);
         expectedHourlyLevels1.add(BATTERY_LEVEL_UNKNOWN);
@@ -651,11 +717,8 @@
         expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
         expectedHourlyLevels3.add(BATTERY_LEVEL_UNKNOWN);
         expectedHourlyLevels3.add(88);
-        final List<List<Integer>> expectedHourlyLevels = List.of(
-                expectedHourlyLevels1,
-                expectedHourlyLevels2,
-                expectedHourlyLevels3
-        );
+        final List<List<Integer>> expectedHourlyLevels =
+                List.of(expectedHourlyLevels1, expectedHourlyLevels2, expectedHourlyLevels3);
         verifyExpectedBatteryLevelData(
                 resultData,
                 expectedDailyTimestamps,
@@ -666,8 +729,9 @@
 
     @Test
     public void getTimestampSlots_emptyRawList_returnEmptyList() {
-        final List<Long> resultList = DataProcessor.getTimestampSlots(
-                new ArrayList<>(), 1641038400000L); // 2022-01-01 20:00:00
+        final List<Long> resultList =
+                DataProcessor.getTimestampSlots(
+                        new ArrayList<>(), 1641038400000L); // 2022-01-01 20:00:00
         assertThat(resultList).isEmpty();
     }
 
@@ -756,20 +820,24 @@
 
     @Test
     public void findNearestTimestamp_returnExpectedResult() {
-        long[] results = DataProcessor.findNearestTimestamp(
-                Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 15L);
+        long[] results =
+                DataProcessor.findNearestTimestamp(
+                        Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 15L);
         assertThat(results).isEqualTo(new long[] {10L, 20L});
 
-        results = DataProcessor.findNearestTimestamp(
-                Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 10L);
+        results =
+                DataProcessor.findNearestTimestamp(
+                        Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 10L);
         assertThat(results).isEqualTo(new long[] {10L, 10L});
 
-        results = DataProcessor.findNearestTimestamp(
-                Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 5L);
+        results =
+                DataProcessor.findNearestTimestamp(
+                        Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 5L);
         assertThat(results).isEqualTo(new long[] {0L, 10L});
 
-        results = DataProcessor.findNearestTimestamp(
-                Arrays.asList(10L, 20L, 30L, 40L), /*target=*/ 50L);
+        results =
+                DataProcessor.findNearestTimestamp(
+                        Arrays.asList(10L, 20L, 30L, 40L), /* target= */ 50L);
         assertThat(results).isEqualTo(new long[] {40L, 0L});
     }
 
@@ -781,36 +849,100 @@
         hourlyBatteryLevelsPerDay.add(
                 new BatteryLevelData.PeriodBatteryLevelData(new ArrayMap<>(), new ArrayList<>()));
 
-        assertThat(DataProcessor.getBatteryDiffDataMap(mContext, hourlyBatteryLevelsPerDay,
-                new HashMap<>(), /*appUsagePeriodMap=*/ null, Set.of(), Set.of())).isEmpty();
+        assertThat(
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                hourlyBatteryLevelsPerDay,
+                                new HashMap<>(),
+                                /* appUsagePeriodMap= */ null,
+                                Set.of(),
+                                Set.of()))
+                .isEmpty();
     }
 
     @Test
     public void getBatteryDiffDataMap_normalFlow_returnExpectedResult() {
         final int userId = mContext.getUserId();
-        final long[] batteryHistoryKeys = new long[]{
-                1641045600000L, // 2022-01-01 22:00:00
-                1641049200000L, // 2022-01-01 23:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-        };
-        final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = Map.of(
-                batteryHistoryKeys[0], Map.of(FAKE_PACKAGE_NAME, createBatteryHistEntry(
-                        FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 0, 0, 0,
-                        0, 0, 0L, userId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, 0L, 0L, false)),
-                batteryHistoryKeys[1], Map.of(FAKE_PACKAGE_NAME, createBatteryHistEntry(
-                        FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 5, 0, 0,
-                        0, 0, 0L, userId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, 0L, 0L, false)),
-                batteryHistoryKeys[2], Map.of(FAKE_PACKAGE_NAME, createBatteryHistEntry(
-                        FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 16, 0, 0,
-                        0, 0, 0L, userId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, 0L, 0L, false)));
+        final long[] batteryHistoryKeys =
+                new long[] {
+                    1641045600000L, // 2022-01-01 22:00:00
+                    1641049200000L, // 2022-01-01 23:00:00
+                    1641052800000L, // 2022-01-02 00:00:00
+                };
+        final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap =
+                Map.of(
+                        batteryHistoryKeys[0],
+                                Map.of(
+                                        FAKE_PACKAGE_NAME,
+                                        createBatteryHistEntry(
+                                                FAKE_PACKAGE_NAME,
+                                                "fake_label",
+                                                /* consumePower= */ 0,
+                                                0,
+                                                0,
+                                                0,
+                                                0,
+                                                0L,
+                                                userId,
+                                                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                                                0L,
+                                                0L,
+                                                false)),
+                        batteryHistoryKeys[1],
+                                Map.of(
+                                        FAKE_PACKAGE_NAME,
+                                        createBatteryHistEntry(
+                                                FAKE_PACKAGE_NAME,
+                                                "fake_label",
+                                                /* consumePower= */ 5,
+                                                0,
+                                                0,
+                                                0,
+                                                0,
+                                                0L,
+                                                userId,
+                                                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                                                0L,
+                                                0L,
+                                                false)),
+                        batteryHistoryKeys[2],
+                                Map.of(
+                                        FAKE_PACKAGE_NAME,
+                                        createBatteryHistEntry(
+                                                FAKE_PACKAGE_NAME,
+                                                "fake_label",
+                                                /* consumePower= */ 16,
+                                                0,
+                                                0,
+                                                0,
+                                                0,
+                                                0L,
+                                                userId,
+                                                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                                                0L,
+                                                0L,
+                                                false)));
         final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
         final Map<Integer, Map<Integer, Map<Long, Map<String, List<AppUsagePeriod>>>>>
-                appUsagePeriodMap = Map.of(0, Map.of(0, Map.of(Long.valueOf(userId), Map.of(
-                FAKE_PACKAGE_NAME, List.of(buildAppUsagePeriod(0, 6))))));
+                appUsagePeriodMap =
+                        Map.of(
+                                0,
+                                Map.of(
+                                        0,
+                                        Map.of(
+                                                Long.valueOf(userId),
+                                                Map.of(
+                                                        FAKE_PACKAGE_NAME,
+                                                        List.of(buildAppUsagePeriod(0, 6))))));
 
-        Map<Long, BatteryDiffData> batteryDiffDataMap = DataProcessor.getBatteryDiffDataMap(
-                mContext, batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
-                appUsagePeriodMap, Set.of(), Set.of());
+        Map<Long, BatteryDiffData> batteryDiffDataMap =
+                DataProcessor.getBatteryDiffDataMap(
+                        mContext,
+                        batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                        batteryHistoryMap,
+                        appUsagePeriodMap,
+                        Set.of(),
+                        Set.of());
 
         assertThat(batteryDiffDataMap).hasSize(1);
         assertThat(batteryDiffDataMap).containsKey(batteryHistoryKeys[0]);
@@ -821,31 +953,48 @@
 
     @Test
     public void generateBatteryUsageMap_returnsExpectedResult() {
-        final long[] batteryHistoryKeys = new long[]{
-                1641045600000L, // 2022-01-01 22:00:00
-                1641049200000L, // 2022-01-01 23:00:00
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L, // 2022-01-02 01:00:00
-                1641060000000L, // 2022-01-02 02:00:00
-        };
+        final long[] batteryHistoryKeys =
+                new long[] {
+                    1641045600000L, // 2022-01-01 22:00:00
+                    1641049200000L, // 2022-01-01 23:00:00
+                    1641052800000L, // 2022-01-02 00:00:00
+                    1641056400000L, // 2022-01-02 01:00:00
+                    1641060000000L, // 2022-01-02 02:00:00
+                };
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
         final int currentUserId = mContext.getUserId();
-        final BatteryHistEntry fakeEntry = createBatteryHistEntry(
-                FAKE_PACKAGE_NAME, "fake_label", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 0L, currentUserId, ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
-                /*foregroundUsageTimeInMs=*/ 0L,  /*backgroundUsageTimeInMs=*/ 0L,
-                /*isHidden=*/ false);
+        final BatteryHistEntry fakeEntry =
+                createBatteryHistEntry(
+                        FAKE_PACKAGE_NAME,
+                        "fake_label",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 0L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         // Adds the index = 0 data.
         Map<String, BatteryHistEntry> entryMap = new HashMap<>();
-        BatteryHistEntry entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 5.0,
-                /*foregroundUsageConsumePower=*/ 2, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 3, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        BatteryHistEntry entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 5.0,
+                        /* foregroundUsageConsumePower= */ 2,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 3,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         entryMap.put(fakeEntry.getKey(), fakeEntry);
         batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
@@ -855,69 +1004,125 @@
         batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
         // Adds the index = 2 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 20.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 15L,
-                /*backgroundUsageTimeInMs=*/ 25L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 20.0,
+                        /* foregroundUsageConsumePower= */ 5,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 5,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 15L,
+                        /* backgroundUsageTimeInMs= */ 25L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         entryMap.put(fakeEntry.getKey(), fakeEntry);
         batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
         // Adds the index = 3 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 40.0,
-                /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
-                /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 25L,
-                /*backgroundUsageTimeInMs=*/ 35L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 40.0,
+                        /* foregroundUsageConsumePower= */ 8,
+                        /* foregroundServiceUsageConsumePower= */ 8,
+                        /* backgroundUsageConsumePower= */ 8,
+                        /* cachedUsageConsumePower= */ 8,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 25L,
+                        /* backgroundUsageTimeInMs= */ 35L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package3", "Screen", /*consumePower=*/ 10.0,
-                /*foregroundUsageConsumePower=*/ 4, /*foregroundServiceUsageConsumePower=*/ 2,
-                /*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
-                /*uid=*/ 3L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*foregroundUsageTimeInMs=*/ 40L,
-                /*backgroundUsageTimeInMs=*/ 50L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package3",
+                        "Screen",
+                        /* consumePower= */ 10.0,
+                        /* foregroundUsageConsumePower= */ 4,
+                        /* foregroundServiceUsageConsumePower= */ 2,
+                        /* backgroundUsageConsumePower= */ 2,
+                        /* cachedUsageConsumePower= */ 2,
+                        /* uid= */ 3L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 40L,
+                        /* backgroundUsageTimeInMs= */ 50L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package4", "label4", /*consumePower=*/ 15.0,
-                /*foregroundUsageConsumePower=*/ 6, /*foregroundServiceUsageConsumePower=*/ 3,
-                /*backgroundUsageConsumePower=*/ 3, /*cachedUsageConsumePower=*/ 3,
-                /*uid=*/ 4L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 5L,
-                /*backgroundUsageTimeInMs=*/ 5L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package4",
+                        "label4",
+                        /* consumePower= */ 15.0,
+                        /* foregroundUsageConsumePower= */ 6,
+                        /* foregroundServiceUsageConsumePower= */ 3,
+                        /* backgroundUsageConsumePower= */ 3,
+                        /* cachedUsageConsumePower= */ 3,
+                        /* uid= */ 4L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 5L,
+                        /* backgroundUsageTimeInMs= */ 5L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         entryMap.put(fakeEntry.getKey(), fakeEntry);
         batteryHistoryMap.put(batteryHistoryKeys[3], entryMap);
         // Adds the index = 4 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 40.0,
-                /*foregroundUsageConsumePower=*/ 14, /*foregroundServiceUsageConsumePower=*/ 9,
-                /*backgroundUsageConsumePower=*/ 9, /*cachedUsageConsumePower=*/ 8,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
-                /*backgroundUsageTimeInMs=*/ 40L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 40.0,
+                        /* foregroundUsageConsumePower= */ 14,
+                        /* foregroundServiceUsageConsumePower= */ 9,
+                        /* backgroundUsageConsumePower= */ 9,
+                        /* cachedUsageConsumePower= */ 8,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 30L,
+                        /* backgroundUsageTimeInMs= */ 40L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package3", "Screen", /*consumePower=*/ 20.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*uid=*/ 3L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*foregroundUsageTimeInMs=*/ 50L,
-                /*backgroundUsageTimeInMs=*/ 60L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package3",
+                        "Screen",
+                        /* consumePower= */ 20.0,
+                        /* foregroundUsageConsumePower= */ 5,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 5,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* uid= */ 3L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 50L,
+                        /* backgroundUsageTimeInMs= */ 60L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package4", "label4", /*consumePower=*/ 40.0,
-                /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
-                /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
-                /*uid=*/ 4L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 5L,
-                /*backgroundUsageTimeInMs=*/ 5L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package4",
+                        "label4",
+                        /* consumePower= */ 40.0,
+                        /* foregroundUsageConsumePower= */ 8,
+                        /* foregroundServiceUsageConsumePower= */ 8,
+                        /* backgroundUsageConsumePower= */ 8,
+                        /* cachedUsageConsumePower= */ 8,
+                        /* uid= */ 4L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 5L,
+                        /* backgroundUsageTimeInMs= */ 5L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         entryMap.put(fakeEntry.getKey(), fakeEntry);
         batteryHistoryMap.put(batteryHistoryKeys[4], entryMap);
@@ -938,18 +1143,22 @@
         appUsageMap = new HashMap<>();
         userPeriodMap = new HashMap<>();
         appUsageMap.put(Long.valueOf(currentUserId), userPeriodMap);
-        userPeriodMap.put("package2",
-                List.of(buildAppUsagePeriod(2, 7), buildAppUsagePeriod(5, 9)));
-        userPeriodMap.put("package3",
-                List.of(buildAppUsagePeriod(10, 15), buildAppUsagePeriod(25, 29)));
+        userPeriodMap.put(
+                "package2", List.of(buildAppUsagePeriod(2, 7), buildAppUsagePeriod(5, 9)));
+        userPeriodMap.put(
+                "package3", List.of(buildAppUsagePeriod(10, 15), buildAppUsagePeriod(25, 29)));
         appUsagePeriodMap.get(1).put(0, appUsageMap);
 
         final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
                 DataProcessor.generateBatteryUsageMap(
                         mContext,
-                        DataProcessor.getBatteryDiffDataMap(mContext,
-                                batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
-                                appUsagePeriodMap, Set.of(), Set.of()),
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                                batteryHistoryMap,
+                                appUsagePeriodMap,
+                                Set.of(),
+                                Set.of()),
                         batteryLevelData);
 
         BatteryDiffData resultDiffData =
@@ -958,146 +1167,261 @@
                         .get(DataProcessor.SELECTED_INDEX_ALL);
         assertThat(resultDiffData.getScreenOnTime()).isEqualTo(36L);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
-                /*foregroundUsageConsumePower=*/ 14, /*foregroundServiceUsageConsumePower=*/ 9,
-                /*backgroundUsageConsumePower=*/ 9, /*cachedUsageConsumePower=*/ 8,
-                /*foregroundUsageTimeInMs=*/ 30, /*backgroundUsageTimeInMs=*/ 40,
-                /*screenOnTimeInMs=*/ 12);
+                resultDiffData.getAppDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 2L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 50.0,
+                /* foregroundUsageConsumePower= */ 14,
+                /* foregroundServiceUsageConsumePower= */ 9,
+                /* backgroundUsageConsumePower= */ 9,
+                /* cachedUsageConsumePower= */ 8,
+                /* foregroundUsageTimeInMs= */ 30,
+                /* backgroundUsageTimeInMs= */ 40,
+                /* screenOnTimeInMs= */ 12);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(1), currentUserId, /*uid=*/ 4L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 50.0,
-                /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
-                /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
-                /*foregroundUsageTimeInMs=*/ 5, /*backgroundUsageTimeInMs=*/ 5,
-                /*screenOnTimeInMs=*/ 0);
+                resultDiffData.getAppDiffEntryList().get(1),
+                currentUserId,
+                /* uid= */ 4L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 50.0,
+                /* foregroundUsageConsumePower= */ 8,
+                /* foregroundServiceUsageConsumePower= */ 8,
+                /* backgroundUsageConsumePower= */ 8,
+                /* cachedUsageConsumePower= */ 8,
+                /* foregroundUsageTimeInMs= */ 5,
+                /* backgroundUsageTimeInMs= */ 5,
+                /* screenOnTimeInMs= */ 0);
         assertBatteryDiffEntry(
-                resultDiffData.getSystemDiffEntryList().get(0), currentUserId, /*uid=*/ 3L,
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 16, /*backgroundUsageTimeInMs=*/ 60,
-                /*screenOnTimeInMs=*/ 9);
+                resultDiffData.getSystemDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 3L,
+                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 5,
+                /* foregroundServiceUsageConsumePower= */ 5,
+                /* backgroundUsageConsumePower= */ 5,
+                /* cachedUsageConsumePower= */ 5,
+                /* foregroundUsageTimeInMs= */ 16,
+                /* backgroundUsageTimeInMs= */ 60,
+                /* screenOnTimeInMs= */ 9);
         resultDiffData = resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 15, /*backgroundUsageTimeInMs=*/ 25,
-                /*screenOnTimeInMs=*/ 5);
+                resultDiffData.getAppDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 2L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 5,
+                /* foregroundServiceUsageConsumePower= */ 5,
+                /* backgroundUsageConsumePower= */ 5,
+                /* cachedUsageConsumePower= */ 5,
+                /* foregroundUsageTimeInMs= */ 15,
+                /* backgroundUsageTimeInMs= */ 25,
+                /* screenOnTimeInMs= */ 5);
         resultDiffData = resultMap.get(1).get(DataProcessor.SELECTED_INDEX_ALL);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 4L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 66.66666666666666,
-                /*foregroundUsageConsumePower=*/ 8, /*foregroundServiceUsageConsumePower=*/ 8,
-                /*backgroundUsageConsumePower=*/ 8, /*cachedUsageConsumePower=*/ 8,
-                /*foregroundUsageTimeInMs=*/ 5, /*backgroundUsageTimeInMs=*/ 5,
-                /*screenOnTimeInMs=*/ 0);
+                resultDiffData.getAppDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 4L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 66.66666666666666,
+                /* foregroundUsageConsumePower= */ 8,
+                /* foregroundServiceUsageConsumePower= */ 8,
+                /* backgroundUsageConsumePower= */ 8,
+                /* cachedUsageConsumePower= */ 8,
+                /* foregroundUsageTimeInMs= */ 5,
+                /* backgroundUsageTimeInMs= */ 5,
+                /* screenOnTimeInMs= */ 0);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(1), currentUserId, /*uid=*/ 2L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 33.33333333333333,
-                /*foregroundUsageConsumePower=*/ 9, /*foregroundServiceUsageConsumePower=*/ 4,
-                /*backgroundUsageConsumePower=*/ 4, /*cachedUsageConsumePower=*/ 3,
-                /*foregroundUsageTimeInMs=*/ 15, /*backgroundUsageTimeInMs=*/ 15,
-                /*screenOnTimeInMs=*/ 7);
+                resultDiffData.getAppDiffEntryList().get(1),
+                currentUserId,
+                /* uid= */ 2L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 33.33333333333333,
+                /* foregroundUsageConsumePower= */ 9,
+                /* foregroundServiceUsageConsumePower= */ 4,
+                /* backgroundUsageConsumePower= */ 4,
+                /* cachedUsageConsumePower= */ 3,
+                /* foregroundUsageTimeInMs= */ 15,
+                /* backgroundUsageTimeInMs= */ 15,
+                /* screenOnTimeInMs= */ 7);
         assertBatteryDiffEntry(
-                resultDiffData.getSystemDiffEntryList().get(0), currentUserId, /*uid=*/ 3L,
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 16, /*backgroundUsageTimeInMs=*/ 60,
-                /*screenOnTimeInMs=*/ 9);
+                resultDiffData.getSystemDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 3L,
+                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 5,
+                /* foregroundServiceUsageConsumePower= */ 5,
+                /* backgroundUsageConsumePower= */ 5,
+                /* cachedUsageConsumePower= */ 5,
+                /* foregroundUsageTimeInMs= */ 16,
+                /* backgroundUsageTimeInMs= */ 60,
+                /* screenOnTimeInMs= */ 9);
     }
 
     @Test
     public void generateBatteryUsageMap_multipleUsers_returnsExpectedResult() {
-        final long[] batteryHistoryKeys = new long[]{
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L, // 2022-01-02 01:00:00
-                1641060000000L  // 2022-01-02 02:00:00
-        };
+        final long[] batteryHistoryKeys =
+                new long[] {
+                    1641052800000L, // 2022-01-02 00:00:00
+                    1641056400000L, // 2022-01-02 01:00:00
+                    1641060000000L // 2022-01-02 02:00:00
+                };
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
         final int currentUserId = mContext.getUserId();
         // Adds the index = 0 data.
         Map<String, BatteryHistEntry> entryMap = new HashMap<>();
-        BatteryHistEntry entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 5.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        BatteryHistEntry entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 5.0,
+                        /* foregroundUsageConsumePower= */ 5,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 10.0,
-                /*foregroundUsageConsumePower=*/ 7, /*foregroundServiceUsageConsumePower=*/ 1,
-                /*backgroundUsageConsumePower=*/ 1, /*cachedUsageConsumePower=*/ 1,
-                /*uid=*/ 2L, currentUserId + 1,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 10.0,
+                        /* foregroundUsageConsumePower= */ 7,
+                        /* foregroundServiceUsageConsumePower= */ 1,
+                        /* backgroundUsageConsumePower= */ 1,
+                        /* cachedUsageConsumePower= */ 1,
+                        /* uid= */ 2L,
+                        currentUserId + 1,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 5.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 3L, currentUserId + 2,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
-                /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 5.0,
+                        /* foregroundUsageConsumePower= */ 5,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 3L,
+                        currentUserId + 2,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 20L,
+                        /* backgroundUsageTimeInMs= */ 30L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
         // Adds the index = 1 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 15.0,
-                /*foregroundUsageConsumePower=*/ 9, /*foregroundServiceUsageConsumePower=*/ 2,
-                /*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
-                /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 15.0,
+                        /* foregroundUsageConsumePower= */ 9,
+                        /* foregroundServiceUsageConsumePower= */ 2,
+                        /* backgroundUsageConsumePower= */ 2,
+                        /* cachedUsageConsumePower= */ 2,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 20L,
+                        /* backgroundUsageTimeInMs= */ 30L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 30.0,
-                /*foregroundUsageConsumePower=*/ 20, /*foregroundServiceUsageConsumePower=*/ 6,
-                /*backgroundUsageConsumePower=*/ 2, /*cachedUsageConsumePower=*/ 2,
-                /*uid=*/ 2L, currentUserId + 1,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 30.0,
+                        /* foregroundUsageConsumePower= */ 20,
+                        /* foregroundServiceUsageConsumePower= */ 6,
+                        /* backgroundUsageConsumePower= */ 2,
+                        /* cachedUsageConsumePower= */ 2,
+                        /* uid= */ 2L,
+                        currentUserId + 1,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 15.0,
-                /*foregroundUsageConsumePower=*/ 10, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 3L, currentUserId + 2,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
-                /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 15.0,
+                        /* foregroundUsageConsumePower= */ 10,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 3L,
+                        currentUserId + 2,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 30L,
+                        /* backgroundUsageTimeInMs= */ 30L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
         // Adds the index = 2 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 25.0,
-                /*foregroundUsageConsumePower=*/ 10, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
-                /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 25.0,
+                        /* foregroundUsageConsumePower= */ 10,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 5,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 20L,
+                        /* backgroundUsageTimeInMs= */ 30L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 50.0,
-                /*foregroundUsageConsumePower=*/ 20, /*foregroundServiceUsageConsumePower=*/ 10,
-                /*backgroundUsageConsumePower=*/ 10, /*cachedUsageConsumePower=*/ 10,
-                /*uid=*/ 2L, currentUserId + 1,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 20L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 50.0,
+                        /* foregroundUsageConsumePower= */ 20,
+                        /* foregroundServiceUsageConsumePower= */ 10,
+                        /* backgroundUsageConsumePower= */ 10,
+                        /* cachedUsageConsumePower= */ 10,
+                        /* uid= */ 2L,
+                        currentUserId + 1,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 20L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 25.0,
-                /*foregroundUsageConsumePower=*/ 10, /*foregroundServiceUsageConsumePower=*/ 10,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 3L, currentUserId + 2,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 30L,
-                /*backgroundUsageTimeInMs=*/ 30L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 25.0,
+                        /* foregroundUsageConsumePower= */ 10,
+                        /* foregroundServiceUsageConsumePower= */ 10,
+                        /* backgroundUsageConsumePower= */ 5,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 3L,
+                        currentUserId + 2,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 30L,
+                        /* backgroundUsageTimeInMs= */ 30L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
         final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
@@ -1105,9 +1429,13 @@
         final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
                 DataProcessor.generateBatteryUsageMap(
                         mContext,
-                        DataProcessor.getBatteryDiffDataMap(mContext,
-                                batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
-                                /*appUsagePeriodMap=*/ null, Set.of(), Set.of()),
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                                batteryHistoryMap,
+                                /* appUsagePeriodMap= */ null,
+                                Set.of(),
+                                Set.of()),
                         batteryLevelData);
 
         final BatteryDiffData resultDiffData =
@@ -1116,12 +1444,18 @@
                         .get(DataProcessor.SELECTED_INDEX_ALL);
         assertThat(resultDiffData.getScreenOnTime()).isEqualTo(0L);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 1L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 10,
-                /*screenOnTimeInMs=*/ 0);
+                resultDiffData.getAppDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 1L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 5,
+                /* foregroundServiceUsageConsumePower= */ 5,
+                /* backgroundUsageConsumePower= */ 5,
+                /* cachedUsageConsumePower= */ 5,
+                /* foregroundUsageTimeInMs= */ 10,
+                /* backgroundUsageTimeInMs= */ 10,
+                /* screenOnTimeInMs= */ 0);
         assertThat(resultDiffData.getSystemDiffEntryList()).isEmpty();
         assertThat(resultMap.get(0).get(0)).isNotNull();
         assertThat(resultMap.get(0).get(DataProcessor.SELECTED_INDEX_ALL)).isNotNull();
@@ -1129,44 +1463,69 @@
 
     @Test
     public void generateBatteryUsageMap_usageTimeExceed_returnsExpectedResult() {
-        final long[] batteryHistoryKeys = new long[]{
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L, // 2022-01-02 01:00:00
-                1641060000000L  // 2022-01-02 02:00:00
-        };
+        final long[] batteryHistoryKeys =
+                new long[] {
+                    1641052800000L, // 2022-01-02 00:00:00
+                    1641056400000L, // 2022-01-02 01:00:00
+                    1641060000000L // 2022-01-02 02:00:00
+                };
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
         final int currentUserId = mContext.getUserId();
         // Adds the index = 0 data.
         Map<String, BatteryHistEntry> entryMap = new HashMap<>();
-        BatteryHistEntry entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        BatteryHistEntry entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
         // Adds the index = 1 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
         // Adds the index = 2 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 500.0,
-                /*foregroundUsageConsumePower=*/ 200, /*foregroundServiceUsageConsumePower=*/ 100,
-                /*backgroundUsageConsumePower=*/ 100, /*cachedUsageConsumePower=*/ 100,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 3600000L,
-                /*backgroundUsageTimeInMs=*/ 7200000L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 500.0,
+                        /* foregroundUsageConsumePower= */ 200,
+                        /* foregroundServiceUsageConsumePower= */ 100,
+                        /* backgroundUsageConsumePower= */ 100,
+                        /* cachedUsageConsumePower= */ 100,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 3600000L,
+                        /* backgroundUsageTimeInMs= */ 7200000L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
         final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
@@ -1185,9 +1544,13 @@
         final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
                 DataProcessor.generateBatteryUsageMap(
                         mContext,
-                        DataProcessor.getBatteryDiffDataMap(mContext,
-                                batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
-                                appUsagePeriodMap, Set.of(), Set.of()),
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                                batteryHistoryMap,
+                                appUsagePeriodMap,
+                                Set.of(),
+                                Set.of()),
                         batteryLevelData);
 
         final BatteryDiffData resultDiffData =
@@ -1200,10 +1563,8 @@
         final BatteryDiffEntry resultEntry = resultDiffData.getAppDiffEntryList().get(0);
         assertThat(resultEntry.mForegroundUsageTimeInMs)
                 .isEqualTo(Math.round(entry.mForegroundUsageTimeInMs * ratio));
-        assertThat(resultEntry.mBackgroundUsageTimeInMs)
-                .isEqualTo(0);
-        assertThat(resultEntry.mConsumePower)
-                .isEqualTo(entry.mConsumePower * ratio);
+        assertThat(resultEntry.mBackgroundUsageTimeInMs).isEqualTo(0);
+        assertThat(resultEntry.mConsumePower).isEqualTo(entry.mConsumePower * ratio);
         assertThat(resultEntry.mForegroundUsageConsumePower)
                 .isEqualTo(entry.mForegroundUsageConsumePower * ratio);
         assertThat(resultEntry.mForegroundServiceUsageConsumePower)
@@ -1219,80 +1580,132 @@
 
     @Test
     public void generateBatteryUsageMap_hideApplicationEntries_returnsExpectedResult() {
-        final long[] batteryHistoryKeys = new long[]{
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L, // 2022-01-02 01:00:00
-                1641060000000L  // 2022-01-02 02:00:00
-        };
+        final long[] batteryHistoryKeys =
+                new long[] {
+                    1641052800000L, // 2022-01-02 00:00:00
+                    1641056400000L, // 2022-01-02 01:00:00
+                    1641060000000L // 2022-01-02 02:00:00
+                };
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
         final int currentUserId = mContext.getUserId();
         // Adds the index = 0 data.
         Map<String, BatteryHistEntry> entryMap = new HashMap<>();
-        BatteryHistEntry entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        BatteryHistEntry entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
         // Adds the index = 1 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
         // Adds the index = 2 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 10.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 10.0,
+                        /* foregroundUsageConsumePower= */ 5,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 10.0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 10.0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 5,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
         final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
-        when(mPowerUsageFeatureProvider.getHideApplicationSet())
-                .thenReturn(Set.of("package1"));
+        when(mPowerUsageFeatureProvider.getHideApplicationSet()).thenReturn(Set.of("package1"));
 
         final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
                 DataProcessor.generateBatteryUsageMap(
                         mContext,
-                        DataProcessor.getBatteryDiffDataMap(mContext,
-                                batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
-                                /*appUsagePeriodMap=*/ null, Set.of(), Set.of()),
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                                batteryHistoryMap,
+                                /* appUsagePeriodMap= */ null,
+                                Set.of(),
+                                Set.of()),
                         batteryLevelData);
 
         final BatteryDiffData resultDiffData =
@@ -1300,78 +1713,133 @@
                         .get(DataProcessor.SELECTED_INDEX_ALL)
                         .get(DataProcessor.SELECTED_INDEX_ALL);
         assertBatteryDiffEntry(
-                resultDiffData.getAppDiffEntryList().get(0), currentUserId, /*uid=*/ 2L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 20,
-                /*screenOnTimeInMs=*/ 0);
+                resultDiffData.getAppDiffEntryList().get(0),
+                currentUserId,
+                /* uid= */ 2L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 0,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 5,
+                /* cachedUsageConsumePower= */ 5,
+                /* foregroundUsageTimeInMs= */ 10,
+                /* backgroundUsageTimeInMs= */ 20,
+                /* screenOnTimeInMs= */ 0);
     }
 
     @Test
     public void generateBatteryUsageMap_hideBackgroundUsageTime_returnsExpectedResult() {
-        final long[] batteryHistoryKeys = new long[]{
-                1641052800000L, // 2022-01-02 00:00:00
-                1641056400000L, // 2022-01-02 01:00:00
-                1641060000000L  // 2022-01-02 02:00:00
-        };
+        final long[] batteryHistoryKeys =
+                new long[] {
+                    1641052800000L, // 2022-01-02 00:00:00
+                    1641056400000L, // 2022-01-02 01:00:00
+                    1641060000000L // 2022-01-02 02:00:00
+                };
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistoryMap = new HashMap<>();
         final int currentUserId = mContext.getUserId();
         // Adds the index = 0 data.
         Map<String, BatteryHistEntry> entryMap = new HashMap<>();
-        BatteryHistEntry entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        BatteryHistEntry entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[0], entryMap);
         // Adds the index = 1 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 0L,
-                /*backgroundUsageTimeInMs=*/ 0L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 0L,
+                        /* backgroundUsageTimeInMs= */ 0L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[1], entryMap);
         // Adds the index = 2 data.
         entryMap = new HashMap<>();
-        entry = createBatteryHistEntry(
-                "package1", "label1", /*consumePower=*/ 10.0,
-                /*foregroundUsageConsumePower=*/ 5, /*foregroundServiceUsageConsumePower=*/ 5,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*uid=*/ 1L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package1",
+                        "label1",
+                        /* consumePower= */ 10.0,
+                        /* foregroundUsageConsumePower= */ 5,
+                        /* foregroundServiceUsageConsumePower= */ 5,
+                        /* backgroundUsageConsumePower= */ 0,
+                        /* cachedUsageConsumePower= */ 0,
+                        /* uid= */ 1L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
-        entry = createBatteryHistEntry(
-                "package2", "label2", /*consumePower=*/ 10.0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 5, /*cachedUsageConsumePower=*/ 5,
-                /*uid=*/ 2L, currentUserId,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*foregroundUsageTimeInMs=*/ 10L,
-                /*backgroundUsageTimeInMs=*/ 20L, /*isHidden=*/ false);
+        entry =
+                createBatteryHistEntry(
+                        "package2",
+                        "label2",
+                        /* consumePower= */ 10.0,
+                        /* foregroundUsageConsumePower= */ 0,
+                        /* foregroundServiceUsageConsumePower= */ 0,
+                        /* backgroundUsageConsumePower= */ 5,
+                        /* cachedUsageConsumePower= */ 5,
+                        /* uid= */ 2L,
+                        currentUserId,
+                        ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                        /* foregroundUsageTimeInMs= */ 10L,
+                        /* backgroundUsageTimeInMs= */ 20L,
+                        /* isHidden= */ false);
         entryMap.put(entry.getKey(), entry);
         batteryHistoryMap.put(batteryHistoryKeys[2], entryMap);
         final BatteryLevelData batteryLevelData = generateBatteryLevelData(batteryHistoryKeys);
@@ -1381,9 +1849,13 @@
         final Map<Integer, Map<Integer, BatteryDiffData>> resultMap =
                 DataProcessor.generateBatteryUsageMap(
                         mContext,
-                        DataProcessor.getBatteryDiffDataMap(mContext,
-                                batteryLevelData.getHourlyBatteryLevelsPerDay(), batteryHistoryMap,
-                                /*appUsagePeriodMap=*/ null, Set.of(), Set.of()),
+                        DataProcessor.getBatteryDiffDataMap(
+                                mContext,
+                                batteryLevelData.getHourlyBatteryLevelsPerDay(),
+                                batteryHistoryMap,
+                                /* appUsagePeriodMap= */ null,
+                                Set.of(),
+                                Set.of()),
                         batteryLevelData);
 
         final BatteryDiffData resultDiffData =
@@ -1397,12 +1869,16 @@
     }
 
     @Test
-    public void generateBatteryDiffData_emptyBatteryEntryList_returnNull() {
-        assertThat(DataProcessor.generateBatteryDiffData(mContext,
-                System.currentTimeMillis(),
-                DataProcessor.convertToBatteryHistEntry(null, mBatteryUsageStats),
-                /* systemAppsPackageNames= */ Set.of(),
-                /* systemAppsUids= */ Set.of())).isNull();
+    public void generateBatteryDiffData_emptyBatteryEntryList_returnEmptyBatteryDiffData() {
+        final BatteryDiffData batteryDiffData =
+                DataProcessor.generateBatteryDiffData(
+                        mContext,
+                        System.currentTimeMillis(),
+                        DataProcessor.convertToBatteryHistEntry(null, mBatteryUsageStats),
+                        /* systemAppsPackageNames= */ Set.of(),
+                        /* systemAppsUids= */ Set.of());
+        assertThat(batteryDiffData.getAppDiffEntryList()).isEmpty();
+        assertThat(batteryDiffData.getSystemDiffEntryList()).isEmpty();
     }
 
     @Test
@@ -1448,37 +1924,60 @@
         doReturn(10L).when(mMockBatteryEntry4).getTimeInBackgroundMs();
         doReturn(4).when(mMockBatteryEntry4).getUid();
         doReturn(ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY)
-                .when(mMockBatteryEntry4).getConsumerType();
+                .when(mMockBatteryEntry4)
+                .getConsumerType();
         doReturn(BatteryConsumer.POWER_COMPONENT_CAMERA)
-                .when(mMockBatteryEntry4).getPowerComponentId();
+                .when(mMockBatteryEntry4)
+                .getPowerComponentId();
 
-        final BatteryDiffData batteryDiffData = DataProcessor.generateBatteryDiffData(mContext,
-                System.currentTimeMillis(),
-                DataProcessor.convertToBatteryHistEntry(batteryEntryList, mBatteryUsageStats),
-                /* systemAppsPackageNames= */ Set.of(),
-                /* systemAppsUids= */ Set.of());
+        final BatteryDiffData batteryDiffData =
+                DataProcessor.generateBatteryDiffData(
+                        mContext,
+                        System.currentTimeMillis(),
+                        DataProcessor.convertToBatteryHistEntry(
+                                batteryEntryList, mBatteryUsageStats),
+                        /* systemAppsPackageNames= */ Set.of(),
+                        /* systemAppsUids= */ Set.of());
 
         assertBatteryDiffEntry(
-                batteryDiffData.getAppDiffEntryList().get(0), 0, /*uid=*/ 2L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 0.5, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*foregroundUsageTimeInMs=*/ 20, /*backgroundUsageTimeInMs=*/ 20,
-                /*screenOnTimeInMs=*/ 0);
+                batteryDiffData.getAppDiffEntryList().get(0),
+                0,
+                /* uid= */ 2L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 0.5,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 0,
+                /* cachedUsageConsumePower= */ 0,
+                /* foregroundUsageTimeInMs= */ 20,
+                /* backgroundUsageTimeInMs= */ 20,
+                /* screenOnTimeInMs= */ 0);
         assertBatteryDiffEntry(
-                batteryDiffData.getAppDiffEntryList().get(1), 0, /*uid=*/ 1L,
-                ConvertUtils.CONSUMER_TYPE_UID_BATTERY, /*consumePercentage=*/ 0.0,
-                /*foregroundUsageConsumePower=*/ 0, /*foregroundServiceUsageConsumePower=*/ 0,
-                /*backgroundUsageConsumePower=*/ 0, /*cachedUsageConsumePower=*/ 0,
-                /*foregroundUsageTimeInMs=*/ 30, /*backgroundUsageTimeInMs=*/ 40,
-                /*screenOnTimeInMs=*/ 0);
+                batteryDiffData.getAppDiffEntryList().get(1),
+                0,
+                /* uid= */ 1L,
+                ConvertUtils.CONSUMER_TYPE_UID_BATTERY,
+                /* consumePercentage= */ 0.0,
+                /* foregroundUsageConsumePower= */ 0,
+                /* foregroundServiceUsageConsumePower= */ 0,
+                /* backgroundUsageConsumePower= */ 0,
+                /* cachedUsageConsumePower= */ 0,
+                /* foregroundUsageTimeInMs= */ 30,
+                /* backgroundUsageTimeInMs= */ 40,
+                /* screenOnTimeInMs= */ 0);
         assertBatteryDiffEntry(
-                batteryDiffData.getSystemDiffEntryList().get(0), 0, /*uid=*/ 4L,
-                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY, /*consumePercentage=*/ 100.0,
-                /*foregroundUsageConsumePower=*/ 0.9, /*foregroundServiceUsageConsumePower=*/ 0.2,
-                /*backgroundUsageConsumePower=*/ 0.3, /*cachedUsageConsumePower=*/ 0.1,
-                /*foregroundUsageTimeInMs=*/ 10, /*backgroundUsageTimeInMs=*/ 10,
-                /*screenOnTimeInMs=*/ 0);
+                batteryDiffData.getSystemDiffEntryList().get(0),
+                0,
+                /* uid= */ 4L,
+                ConvertUtils.CONSUMER_TYPE_SYSTEM_BATTERY,
+                /* consumePercentage= */ 100.0,
+                /* foregroundUsageConsumePower= */ 0.9,
+                /* foregroundServiceUsageConsumePower= */ 0.2,
+                /* backgroundUsageConsumePower= */ 0.3,
+                /* cachedUsageConsumePower= */ 0.1,
+                /* foregroundUsageTimeInMs= */ 10,
+                /* backgroundUsageTimeInMs= */ 10,
+                /* screenOnTimeInMs= */ 0);
     }
 
     @Test
@@ -1487,43 +1986,91 @@
         final String packageName1 = "com.android.settings1";
         final String packageName2 = "com.android.settings2";
         // Fake multiple instances in one package.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 1,
-                /*instanceId=*/ 2, packageName1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2, /*userId=*/ 1,
-                /*instanceId=*/ 3, packageName1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 1,
-                /*instanceId=*/ 3, packageName1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 2, /*userId=*/ 1,
-                /*instanceId=*/ 5, packageName2));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 1,
-                /*instanceId=*/ 5, packageName2));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 1,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName1));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 2,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName1));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 3,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName1));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 4,
+                        /* userId= */ 1,
+                        /* instanceId= */ 2,
+                        packageName1));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 2,
+                        /* userId= */ 1,
+                        /* instanceId= */ 3,
+                        packageName1));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 4,
+                        /* userId= */ 1,
+                        /* instanceId= */ 3,
+                        packageName1));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 2,
+                        /* userId= */ 1,
+                        /* instanceId= */ 5,
+                        packageName2));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 4,
+                        /* userId= */ 1,
+                        /* instanceId= */ 5,
+                        packageName2));
         // Fake one instance in one package.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1, /*userId=*/ 2,
-                /*instanceId=*/ 4, packageName2));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2, /*userId=*/ 2,
-                /*instanceId=*/ 4, packageName2));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3, /*userId=*/ 2,
-                /*instanceId=*/ 4, packageName2));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 4, /*userId=*/ 2,
-                /*instanceId=*/ 4, packageName2));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 1,
+                        /* userId= */ 2,
+                        /* instanceId= */ 4,
+                        packageName2));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 2,
+                        /* userId= */ 2,
+                        /* instanceId= */ 4,
+                        packageName2));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_RESUMED,
+                        /* timestamp= */ 3,
+                        /* userId= */ 2,
+                        /* instanceId= */ 4,
+                        packageName2));
+        appUsageEvents.add(
+                buildAppUsageEvent(
+                        AppUsageEventType.ACTIVITY_STOPPED,
+                        /* timestamp= */ 4,
+                        /* userId= */ 2,
+                        /* instanceId= */ 4,
+                        packageName2));
 
         final Map<Long, Map<String, List<AppUsagePeriod>>> appUsagePeriodMap =
                 DataProcessor.buildAppUsagePeriodList(
@@ -1550,65 +2097,69 @@
 
     @Test
     public void buildAppUsagePeriodList_emptyEventList_returnNull() {
-        assertThat(DataProcessor.buildAppUsagePeriodList(
-                mContext, new ArrayList<>(), new ArrayList<>(), 0, 1)).isNull();
+        assertThat(
+                        DataProcessor.buildAppUsagePeriodList(
+                                mContext, new ArrayList<>(), new ArrayList<>(), 0, 1))
+                .isNull();
     }
 
     @Test
     public void buildAppUsagePeriodList_emptyActivityList_returnNull() {
         final List<AppUsageEvent> appUsageEvents = new ArrayList<>();
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 2));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 1));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 2));
 
-        assertThat(DataProcessor.buildAppUsagePeriodList(
-                mContext, appUsageEvents, new ArrayList<>(), 0, 3)).isNull();
+        assertThat(
+                        DataProcessor.buildAppUsagePeriodList(
+                                mContext, appUsageEvents, new ArrayList<>(), 0, 3))
+                .isNull();
     }
 
     @Test
     public void buildAppUsagePeriodListPerInstance_returnExpectedResult() {
         final List<AppUsageEvent> appUsageEvents = new ArrayList<>();
         // Fake data earlier than time range.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 2));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 1));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 2));
         // Fake resume event earlier than time range.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 3));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 120000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 3));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 120000));
         // Fake normal data.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 150000));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 200000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 150000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 200000));
         // Fake two adjacent resume events.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 300000));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 400000));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 500000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 300000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 400000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 500000));
         // Fake no start event when stop event happens.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_STOPPED, /*timestamp=*/ 600000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_STOPPED, /* timestamp= */ 600000));
         // There exists start event when device shutdown event happens. Shutdown is later than
         // default complete time.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 700000));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 800000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 700000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 800000));
         // There exists start event when device shutdown event happens. Shutdown is earlier than
         // default complete time.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 900000));
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.DEVICE_SHUTDOWN, /*timestamp=*/ 910000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 900000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.DEVICE_SHUTDOWN, /* timestamp= */ 910000));
         // There exists start event when the period ends.
-        appUsageEvents.add(buildAppUsageEvent(
-                AppUsageEventType.ACTIVITY_RESUMED, /*timestamp=*/ 1000000));
+        appUsageEvents.add(
+                buildAppUsageEvent(AppUsageEventType.ACTIVITY_RESUMED, /* timestamp= */ 1000000));
 
         final List<AppUsagePeriod> appUsagePeriodList =
                 DataProcessor.buildAppUsagePeriodListPerInstance(appUsageEvents, 100000, 1100000);
@@ -1625,17 +2176,26 @@
 
     @Test
     public void excludePowerConnectedTime_startEndNotCharging_returnExpectedResult() {
-        final List<AppUsagePeriod> appUsagePeriodList = List.of(
-                AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
-        final List<BatteryEvent> batteryEventList = List.of(
-                BatteryEvent.newBuilder().setTimestamp(50).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(166).setType(
-                        BatteryEventType.POWER_CONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(188).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(280).setType(
-                        BatteryEventType.POWER_CONNECTED).build());
+        final List<AppUsagePeriod> appUsagePeriodList =
+                List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+        final List<BatteryEvent> batteryEventList =
+                List.of(
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(50)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(166)
+                                .setType(BatteryEventType.POWER_CONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(188)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(280)
+                                .setType(BatteryEventType.POWER_CONNECTED)
+                                .build());
 
         final List<AppUsagePeriod> resultList =
                 DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1648,21 +2208,34 @@
 
     @Test
     public void excludePowerConnectedTime_startEndInCharging_returnExpectedResult() {
-        final List<AppUsagePeriod> appUsagePeriodList = List.of(
-                AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
-        final List<BatteryEvent> batteryEventList = List.of(
-                BatteryEvent.newBuilder().setTimestamp(50).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(80).setType(
-                        BatteryEventType.POWER_CONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(120).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(150).setType(
-                        BatteryEventType.POWER_CONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(160).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(180).setType(
-                        BatteryEventType.POWER_CONNECTED).build());
+        final List<AppUsagePeriod> appUsagePeriodList =
+                List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+        final List<BatteryEvent> batteryEventList =
+                List.of(
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(50)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(80)
+                                .setType(BatteryEventType.POWER_CONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(120)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(150)
+                                .setType(BatteryEventType.POWER_CONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(160)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(180)
+                                .setType(BatteryEventType.POWER_CONNECTED)
+                                .build());
 
         final List<AppUsagePeriod> resultList =
                 DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1675,13 +2248,18 @@
 
     @Test
     public void excludePowerConnectedTime_wholePeriodNotCharging_returnExpectedResult() {
-        final List<AppUsagePeriod> appUsagePeriodList = List.of(
-                AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
-        final List<BatteryEvent> batteryEventList = List.of(
-                BatteryEvent.newBuilder().setTimestamp(50).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build(),
-                BatteryEvent.newBuilder().setTimestamp(80).setType(
-                        BatteryEventType.POWER_CONNECTED).build());
+        final List<AppUsagePeriod> appUsagePeriodList =
+                List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+        final List<BatteryEvent> batteryEventList =
+                List.of(
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(50)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build(),
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(80)
+                                .setType(BatteryEventType.POWER_CONNECTED)
+                                .build());
 
         final List<AppUsagePeriod> resultList =
                 DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1692,11 +2270,14 @@
 
     @Test
     public void excludePowerConnectedTime_wholePeriodInCharging_returnExpectedResult() {
-        final List<AppUsagePeriod> appUsagePeriodList = List.of(
-                AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
-        final List<BatteryEvent> batteryEventList = List.of(
-                BatteryEvent.newBuilder().setTimestamp(50).setType(
-                        BatteryEventType.POWER_DISCONNECTED).build());
+        final List<AppUsagePeriod> appUsagePeriodList =
+                List.of(AppUsagePeriod.newBuilder().setStartTime(100).setEndTime(200).build());
+        final List<BatteryEvent> batteryEventList =
+                List.of(
+                        BatteryEvent.newBuilder()
+                                .setTimestamp(50)
+                                .setType(BatteryEventType.POWER_DISCONNECTED)
+                                .build());
 
         final List<AppUsagePeriod> resultList =
                 DataProcessor.excludePowerConnectedTimeFromAppUsagePeriodList(
@@ -1760,32 +2341,32 @@
     private static ContentValues getContentValuesWithBatteryLevel(final int level) {
         final ContentValues values = new ContentValues();
         final DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
-                        .setBatteryLevel(level)
-                        .build();
+                DeviceBatteryState.newBuilder().setBatteryLevel(level).build();
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
-                        .setDeviceBatteryState(deviceBatteryState)
-                        .build();
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+                BatteryInformation.newBuilder().setDeviceBatteryState(deviceBatteryState).build();
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         return values;
     }
 
     private static BatteryHistEntry createBatteryHistEntry(
-            final String packageName, final String appLabel, final double consumePower,
+            final String packageName,
+            final String appLabel,
+            final double consumePower,
             final double foregroundUsageConsumePower,
             final double foregroundServiceUsageConsumePower,
-            final double backgroundUsageConsumePower, final double cachedUsageConsumePower,
-            final long uid, final long userId, final int consumerType,
-            final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
+            final double backgroundUsageConsumePower,
+            final double cachedUsageConsumePower,
+            final long uid,
+            final long userId,
+            final int consumerType,
+            final long foregroundUsageTimeInMs,
+            final long backgroundUsageTimeInMs,
             final boolean isHidden) {
         // Only insert required fields.
         final BatteryInformation batteryInformation =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setAppLabel(appLabel)
                         .setConsumePower(consumePower)
                         .setForegroundUsageConsumePower(foregroundUsageConsumePower)
@@ -1801,7 +2382,8 @@
         values.put(BatteryHistEntry.KEY_UID, uid);
         values.put(BatteryHistEntry.KEY_USER_ID, userId);
         values.put(BatteryHistEntry.KEY_CONSUMER_TYPE, consumerType);
-        values.put(BatteryHistEntry.KEY_BATTERY_INFORMATION,
+        values.put(
+                BatteryHistEntry.KEY_BATTERY_INFORMATION,
                 ConvertUtils.convertBatteryInformationToString(batteryInformation));
         return new BatteryHistEntry(values);
     }
@@ -1815,8 +2397,7 @@
         return UsageEvents.CREATOR.createFromParcel(parcel);
     }
 
-    private Event getUsageEvent(
-            final int eventType, final long timestamp) {
+    private Event getUsageEvent(final int eventType, final long timestamp) {
         final Event event = new Event();
         event.mEventType = eventType;
         event.mPackage = "package";
@@ -1826,8 +2407,7 @@
 
     private AppUsageEvent buildAppUsageEvent(final AppUsageEventType type, final long timestamp) {
         return buildAppUsageEvent(
-                type, timestamp, /*userId=*/ 1,  /*instanceId=*/ 2,
-                "com.android.settings");
+                type, timestamp, /* userId= */ 1, /* instanceId= */ 2, "com.android.settings");
     }
 
     private AppUsageEvent buildAppUsageEvent(
@@ -1846,10 +2426,7 @@
     }
 
     private AppUsagePeriod buildAppUsagePeriod(final long start, final long end) {
-        return AppUsagePeriod.newBuilder()
-                .setStartTime(start)
-                .setEndTime(end)
-                .build();
+        return AppUsagePeriod.newBuilder().setStartTime(start).setEndTime(end).build();
     }
 
     private void assertAppUsageEvent(
@@ -1916,12 +2493,17 @@
     }
 
     private static void assertBatteryDiffEntry(
-            final BatteryDiffEntry entry, final long userId, final long uid,
-            final int consumerType, final double consumePercentage,
+            final BatteryDiffEntry entry,
+            final long userId,
+            final long uid,
+            final int consumerType,
+            final double consumePercentage,
             final double foregroundUsageConsumePower,
             final double foregroundServiceUsageConsumePower,
-            final double backgroundUsageConsumePower, final double cachedUsageConsumePower,
-            final long foregroundUsageTimeInMs, final long backgroundUsageTimeInMs,
+            final double backgroundUsageConsumePower,
+            final double cachedUsageConsumePower,
+            final long foregroundUsageTimeInMs,
+            final long backgroundUsageTimeInMs,
             final long screenOnTimeInMs) {
         assertThat(entry.mUserId).isEqualTo(userId);
         assertThat(entry.mUid).isEqualTo(uid);
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 12bd457..d89e61b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/DatabaseUtilsTest.java
@@ -92,17 +92,6 @@
     }
 
     @Test
-    public void isWorkProfile_defaultValue_returnFalse() {
-        assertThat(DatabaseUtils.isWorkProfile(mContext)).isFalse();
-    }
-
-    @Test
-    public void isWorkProfile_withManagedUser_returnTrue() {
-        BatteryTestUtils.setWorkProfile(mContext);
-        assertThat(DatabaseUtils.isWorkProfile(mContext)).isTrue();
-    }
-
-    @Test
     public void sendAppUsageEventData_returnsExpectedList() {
         // Configures the testing AppUsageEvent data.
         final List<AppUsageEvent> appUsageEventList = new ArrayList<>();
@@ -117,9 +106,7 @@
                         .setType(AppUsageEventType.ACTIVITY_STOPPED)
                         .build();
         final AppUsageEvent appUsageEvent3 =
-                AppUsageEvent.newBuilder()
-                        .setType(AppUsageEventType.DEVICE_SHUTDOWN)
-                        .build();
+                AppUsageEvent.newBuilder().setType(AppUsageEventType.DEVICE_SHUTDOWN).build();
         appUsageEventList.add(appUsageEvent1);
         appUsageEventList.add(appUsageEvent2);
         appUsageEventList.add(appUsageEvent3);
@@ -135,10 +122,9 @@
         // Verifies the inserted ContentValues into content provider.
         final ContentValues[] valuesArray =
                 new ContentValues[] {valuesList.get(0), valuesList.get(1)};
-        verify(mMockContentResolver).bulkInsert(
-                DatabaseUtils.APP_USAGE_EVENT_URI, valuesArray);
-        verify(mMockContentResolver).notifyChange(
-                DatabaseUtils.APP_USAGE_EVENT_URI, /*observer=*/ null);
+        verify(mMockContentResolver).bulkInsert(DatabaseUtils.APP_USAGE_EVENT_URI, valuesArray);
+        verify(mMockContentResolver)
+                .notifyChange(DatabaseUtils.APP_USAGE_EVENT_URI, /* observer= */ null);
     }
 
     @Test
@@ -161,12 +147,10 @@
         final ContentValues contentValues =
                 DatabaseUtils.sendBatteryEventData(mContext, batteryEvent);
 
-        assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_TIMESTAMP))
-                .isEqualTo(10001L);
+        assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_TIMESTAMP)).isEqualTo(10001L);
         assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_BATTERY_EVENT_TYPE))
                 .isEqualTo(BatteryEventType.POWER_CONNECTED.getNumber());
-        assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_BATTERY_LEVEL))
-                .isEqualTo(66);
+        assertThat(contentValues.getAsInteger(BatteryEventEntity.KEY_BATTERY_LEVEL)).isEqualTo(66);
         // Verifies the inserted ContentValues into content provider.
         verify(mMockContentResolver).insert(DatabaseUtils.BATTERY_EVENT_URI, contentValues);
     }
@@ -175,9 +159,12 @@
     public void sendBatteryEntryData_nullBatteryIntent_returnsNullValue() {
         doReturn(null).when(mContext).registerReceiver(any(), any());
         assertThat(
-                DatabaseUtils.sendBatteryEntryData(
-                        mContext, System.currentTimeMillis(), /*batteryEntryList=*/ null,
-                        mBatteryUsageStats, /*isFullChargeStart=*/ false))
+                        DatabaseUtils.sendBatteryEntryData(
+                                mContext,
+                                System.currentTimeMillis(),
+                                /* batteryEntryList= */ null,
+                                mBatteryUsageStats,
+                                /* isFullChargeStart= */ false))
                 .isNull();
     }
 
@@ -200,7 +187,7 @@
                         System.currentTimeMillis(),
                         batteryEntryList,
                         mBatteryUsageStats,
-                        /*isFullChargeStart=*/ false);
+                        /* isFullChargeStart= */ false);
 
         assertThat(valuesList).hasSize(2);
         // Verifies the ContentValues content.
@@ -209,10 +196,9 @@
         // Verifies the inserted ContentValues into content provider.
         final ContentValues[] valuesArray =
                 new ContentValues[] {valuesList.get(0), valuesList.get(1)};
-        verify(mMockContentResolver).bulkInsert(
-                DatabaseUtils.BATTERY_CONTENT_URI, valuesArray);
-        verify(mMockContentResolver).notifyChange(
-                DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+        verify(mMockContentResolver).bulkInsert(DatabaseUtils.BATTERY_CONTENT_URI, valuesArray);
+        verify(mMockContentResolver)
+                .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
     }
 
     @Test
@@ -225,14 +211,14 @@
                         System.currentTimeMillis(),
                         new ArrayList<>(),
                         mBatteryUsageStats,
-                        /*isFullChargeStart=*/ false);
+                        /* isFullChargeStart= */ false);
 
         assertThat(valuesList).hasSize(1);
         verifyFakeBatteryEntryContentValues(valuesList.get(0));
         // Verifies the inserted ContentValues into content provider.
         verify(mMockContentResolver).insert(any(), any());
-        verify(mMockContentResolver).notifyChange(
-                DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+        verify(mMockContentResolver)
+                .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
     }
 
     @Test
@@ -243,16 +229,16 @@
                 DatabaseUtils.sendBatteryEntryData(
                         mContext,
                         System.currentTimeMillis(),
-                        /*batteryEntryList=*/ null,
+                        /* batteryEntryList= */ null,
                         mBatteryUsageStats,
-                        /*isFullChargeStart=*/ false);
+                        /* isFullChargeStart= */ false);
 
         assertThat(valuesList).hasSize(1);
         verifyFakeBatteryEntryContentValues(valuesList.get(0));
         // Verifies the inserted ContentValues into content provider.
         verify(mMockContentResolver).insert(any(), any());
-        verify(mMockContentResolver).notifyChange(
-                DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+        verify(mMockContentResolver)
+                .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
     }
 
     @Test
@@ -263,16 +249,16 @@
                 DatabaseUtils.sendBatteryEntryData(
                         mContext,
                         System.currentTimeMillis(),
-                        /*batteryEntryList=*/ null,
-                        /*batteryUsageStats=*/ null,
-                        /*isFullChargeStart=*/ false);
+                        /* batteryEntryList= */ null,
+                        /* batteryUsageStats= */ null,
+                        /* isFullChargeStart= */ false);
 
         assertThat(valuesList).hasSize(1);
         verifyFakeBatteryEntryContentValues(valuesList.get(0));
         // Verifies the inserted ContentValues into content provider.
         verify(mMockContentResolver).insert(any(), any());
-        verify(mMockContentResolver).notifyChange(
-                DatabaseUtils.BATTERY_CONTENT_URI, /*observer=*/ null);
+        verify(mMockContentResolver)
+                .notifyChange(DatabaseUtils.BATTERY_CONTENT_URI, /* observer= */ null);
     }
 
     @Test
@@ -282,16 +268,20 @@
         DatabaseUtils.sFakeSupplier = () -> cursor;
 
         final long earliestTimestamp = 10001L;
-        assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
-                mContext, /*userId=*/ 0, earliestTimestamp)).isEqualTo(earliestTimestamp);
+        assertThat(
+                        DatabaseUtils.getAppUsageStartTimestampOfUser(
+                                mContext, /* userId= */ 0, earliestTimestamp))
+                .isEqualTo(earliestTimestamp);
     }
 
     @Test
     public void getAppUsageStartTimestampOfUser_nullCursor_returnEarliestTimestamp() {
         DatabaseUtils.sFakeSupplier = () -> null;
         final long earliestTimestamp = 10001L;
-        assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
-                mContext, /*userId=*/ 0, earliestTimestamp)).isEqualTo(earliestTimestamp);
+        assertThat(
+                        DatabaseUtils.getAppUsageStartTimestampOfUser(
+                                mContext, /* userId= */ 0, earliestTimestamp))
+                .isEqualTo(earliestTimestamp);
     }
 
     @Test
@@ -304,50 +294,62 @@
         DatabaseUtils.sFakeSupplier = () -> cursor;
 
         final long earliestTimestamp1 = 1001L;
-        assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
-                mContext, /*userId=*/ 0, earliestTimestamp1)).isEqualTo(returnedTimestamp + 1);
+        assertThat(
+                        DatabaseUtils.getAppUsageStartTimestampOfUser(
+                                mContext, /* userId= */ 0, earliestTimestamp1))
+                .isEqualTo(returnedTimestamp + 1);
         final long earliestTimestamp2 = 100001L;
-        assertThat(DatabaseUtils.getAppUsageStartTimestampOfUser(
-                mContext, /*userId=*/ 0, earliestTimestamp2)).isEqualTo(earliestTimestamp2);
+        assertThat(
+                        DatabaseUtils.getAppUsageStartTimestampOfUser(
+                                mContext, /* userId= */ 0, earliestTimestamp2))
+                .isEqualTo(earliestTimestamp2);
     }
 
     @Test
     public void getAppUsageEventForUsers_emptyCursorContent_returnEmptyMap() {
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_UID,
-                        AppUsageEventEntity.KEY_USER_ID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_TIMESTAMP,
-                        AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_UID,
+                            AppUsageEventEntity.KEY_USER_ID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_TIMESTAMP,
+                            AppUsageEventEntity.KEY_APP_USAGE_EVENT_TYPE
+                        });
         DatabaseUtils.sFakeSupplier = () -> cursor;
 
-        assertThat(DatabaseUtils.getAppUsageEventForUsers(
-                mContext,
-                /*calendar=*/ null,
-                /*userIds=*/ new ArrayList<>(),
-                /*startTimestampOfLevelData=*/ 0)).isEmpty();
+        assertThat(
+                        DatabaseUtils.getAppUsageEventForUsers(
+                                mContext,
+                                /* calendar= */ null,
+                                /* userIds= */ new ArrayList<>(),
+                                /* startTimestampOfLevelData= */ 0))
+                .isEmpty();
     }
 
     @Test
     public void getAppUsageEventForUsers_nullCursor_returnEmptyMap() {
         DatabaseUtils.sFakeSupplier = () -> null;
-        assertThat(DatabaseUtils.getAppUsageEventForUsers(
-                mContext,
-                /*calendar=*/ null,
-                /*userIds=*/ new ArrayList<>(),
-                /*startTimestampOfLevelData=*/ 0)).isEmpty();
+        assertThat(
+                        DatabaseUtils.getAppUsageEventForUsers(
+                                mContext,
+                                /* calendar= */ null,
+                                /* userIds= */ new ArrayList<>(),
+                                /* startTimestampOfLevelData= */ 0))
+                .isEmpty();
     }
 
     @Test
     public void getAppUsageEventForUsers_returnExpectedMap() {
         final Long timestamp1 = 1001L;
         final Long timestamp2 = 1002L;
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[]{
-                        AppUsageEventEntity.KEY_UID,
-                        AppUsageEventEntity.KEY_PACKAGE_NAME,
-                        AppUsageEventEntity.KEY_TIMESTAMP});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            AppUsageEventEntity.KEY_UID,
+                            AppUsageEventEntity.KEY_PACKAGE_NAME,
+                            AppUsageEventEntity.KEY_TIMESTAMP
+                        });
         // Adds fake data into the cursor.
         cursor.addRow(new Object[] {101L, "app name1", timestamp1});
         cursor.addRow(new Object[] {101L, "app name2", timestamp2});
@@ -355,11 +357,12 @@
         cursor.addRow(new Object[] {101L, "app name4", timestamp2});
         DatabaseUtils.sFakeSupplier = () -> cursor;
 
-        final List<AppUsageEvent> appUsageEventList = DatabaseUtils.getAppUsageEventForUsers(
-                mContext,
-                /*calendar=*/ null,
-                /*userIds=*/ new ArrayList<>(),
-                /*startTimestampOfLevelData=*/ 0);
+        final List<AppUsageEvent> appUsageEventList =
+                DatabaseUtils.getAppUsageEventForUsers(
+                        mContext,
+                        /* calendar= */ null,
+                        /* userIds= */ new ArrayList<>(),
+                        /* startTimestampOfLevelData= */ 0);
 
         assertThat(appUsageEventList.get(0).getPackageName()).isEqualTo("app name1");
         assertThat(appUsageEventList.get(1).getPackageName()).isEqualTo("app name2");
@@ -369,11 +372,13 @@
 
     @Test
     public void getHistoryMap_emptyCursorContent_returnEmptyMap() {
-        final MatrixCursor cursor = new MatrixCursor(
-                new String[] {
-                        BatteryHistEntry.KEY_UID,
-                        BatteryHistEntry.KEY_USER_ID,
-                        BatteryHistEntry.KEY_TIMESTAMP});
+        final MatrixCursor cursor =
+                new MatrixCursor(
+                        new String[] {
+                            BatteryHistEntry.KEY_UID,
+                            BatteryHistEntry.KEY_USER_ID,
+                            BatteryHistEntry.KEY_TIMESTAMP
+                        });
         DatabaseUtils.sFakeSupplier = () -> cursor;
 
         assertThat(DatabaseUtils.getHistoryMapSinceQueryTimestamp(mContext, 0)).isEmpty();
@@ -391,14 +396,22 @@
         final Long timestamp2 = Long.valueOf(1002L);
         final MatrixCursor cursor = getMatrixCursor();
         // Adds fake data into the cursor.
-        cursor.addRow(new Object[] {
-                "app name1", timestamp1, 1, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, true});
-        cursor.addRow(new Object[] {
-                "app name2", timestamp2, 2, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false});
-        cursor.addRow(new Object[] {
-                "app name3", timestamp2, 3, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false});
-        cursor.addRow(new Object[] {
-                "app name4", timestamp2, 4, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false});
+        cursor.addRow(
+                new Object[] {
+                    "app name1", timestamp1, 1, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, true
+                });
+        cursor.addRow(
+                new Object[] {
+                    "app name2", timestamp2, 2, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false
+                });
+        cursor.addRow(
+                new Object[] {
+                    "app name3", timestamp2, 3, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false
+                });
+        cursor.addRow(
+                new Object[] {
+                    "app name4", timestamp2, 4, ConvertUtils.CONSUMER_TYPE_UID_BATTERY, false
+                });
         DatabaseUtils.sFakeSupplier = () -> cursor;
 
         final Map<Long, Map<String, BatteryHistEntry>> batteryHistMap =
@@ -421,8 +434,9 @@
     public void getHistoryMap_withWorkProfile_returnExpectedMap()
             throws PackageManager.NameNotFoundException {
         doReturn("com.fake.package").when(mContext).getPackageName();
-        doReturn(mMockContext).when(mContext).createPackageContextAsUser(
-                "com.fake.package", /*flags=*/ 0, UserHandle.OWNER);
+        doReturn(mMockContext)
+                .when(mContext)
+                .createPackageContextAsUser("com.fake.package", /* flags= */ 0, UserHandle.OWNER);
         doReturn(UserHandle.CURRENT).when(mContext).getUser();
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
         doReturn(true).when(mUserManager).isManagedProfile();
@@ -440,9 +454,8 @@
     public void removeUsageSource_hasNoData() {
         DatabaseUtils.removeUsageSource(mContext);
         assertThat(
-                DatabaseUtils
-                        .getSharedPreferences(mContext)
-                        .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+                        DatabaseUtils.getSharedPreferences(mContext)
+                                .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
                 .isFalse();
     }
 
@@ -457,9 +470,8 @@
         DatabaseUtils.removeUsageSource(mContext);
 
         assertThat(
-                DatabaseUtils
-                        .getSharedPreferences(mContext)
-                        .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
+                        DatabaseUtils.getSharedPreferences(mContext)
+                                .contains(DatabaseUtils.KEY_LAST_USAGE_SOURCE))
                 .isFalse();
     }
 
@@ -482,9 +494,10 @@
         assertThat(DatabaseUtils.getUsageSource(mContext, mUsageStatsManager))
                 .isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
         assertThat(
-                DatabaseUtils
-                        .getSharedPreferences(mContext)
-                        .getInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_CURRENT_ACTIVITY))
+                        DatabaseUtils.getSharedPreferences(mContext)
+                                .getInt(
+                                        DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+                                        USAGE_SOURCE_CURRENT_ACTIVITY))
                 .isEqualTo(USAGE_SOURCE_TASK_ROOT_ACTIVITY);
     }
 
@@ -495,9 +508,10 @@
         assertThat(DatabaseUtils.getUsageSource(mContext, mUsageStatsManager))
                 .isEqualTo(USAGE_SOURCE_CURRENT_ACTIVITY);
         assertThat(
-                DatabaseUtils
-                        .getSharedPreferences(mContext)
-                        .getInt(DatabaseUtils.KEY_LAST_USAGE_SOURCE, USAGE_SOURCE_CURRENT_ACTIVITY))
+                        DatabaseUtils.getSharedPreferences(mContext)
+                                .getInt(
+                                        DatabaseUtils.KEY_LAST_USAGE_SOURCE,
+                                        USAGE_SOURCE_CURRENT_ACTIVITY))
                 .isEqualTo(USAGE_SOURCE_CURRENT_ACTIVITY);
     }
 
@@ -506,20 +520,16 @@
         final String preferenceKey = "test_preference_key";
         DatabaseUtils.recordDateTime(mContext, preferenceKey);
 
-        assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey))
-                .isTrue();
+        assertThat(DatabaseUtils.getSharedPreferences(mContext).contains(preferenceKey)).isTrue();
     }
 
     @Test
     public void dump_dumpExpectedData() {
-        DatabaseUtils.recordDateTime(mContext,
-                Intent.ACTION_BATTERY_LEVEL_CHANGED);
-        DatabaseUtils.recordDateTime(mContext,
-                BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
-        DatabaseUtils.recordDateTime(mContext,
-                DatabaseUtils.KEY_LAST_LOAD_FULL_CHARGE_TIME);
-        DatabaseUtils.recordDateTime(mContext,
-                DatabaseUtils.KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
+        DatabaseUtils.recordDateTime(mContext, Intent.ACTION_BATTERY_LEVEL_CHANGED);
+        DatabaseUtils.recordDateTime(
+                mContext, BatteryUsageBroadcastReceiver.ACTION_BATTERY_UNPLUGGING);
+        DatabaseUtils.recordDateTime(mContext, DatabaseUtils.KEY_LAST_LOAD_FULL_CHARGE_TIME);
+        DatabaseUtils.recordDateTime(mContext, DatabaseUtils.KEY_LAST_UPLOAD_FULL_CHARGE_TIME);
         final StringWriter stringWriter = new StringWriter();
         final PrintWriter printWriter = new PrintWriter(stringWriter);
 
@@ -570,8 +580,7 @@
                 .isEqualTo(BatteryManager.BATTERY_STATUS_FULL);
         assertThat(deviceBatteryState.getBatteryHealth())
                 .isEqualTo(BatteryManager.BATTERY_HEALTH_COLD);
-        assertThat(values.getAsString("packageName"))
-                .isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
+        assertThat(values.getAsString("packageName")).isEqualTo(ConvertUtils.FAKE_PACKAGE_NAME);
     }
 
     private static Intent getBatteryIntent() {
@@ -586,10 +595,11 @@
     private static MatrixCursor getMatrixCursor() {
         return new MatrixCursor(
                 new String[] {
-                        BatteryHistEntry.KEY_PACKAGE_NAME,
-                        BatteryHistEntry.KEY_TIMESTAMP,
-                        BatteryHistEntry.KEY_UID,
-                        BatteryHistEntry.KEY_CONSUMER_TYPE,
-                        BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START});
+                    BatteryHistEntry.KEY_PACKAGE_NAME,
+                    BatteryHistEntry.KEY_TIMESTAMP,
+                    BatteryHistEntry.KEY_UID,
+                    BatteryHistEntry.KEY_CONSUMER_TYPE,
+                    BatteryHistEntry.KEY_IS_FULL_CHARGE_CYCLE_START
+                });
     }
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java
index efbce12..6990535 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobManagerTest.java
@@ -57,7 +57,7 @@
 
     @Test
     public void refreshJob_refreshesAlarmJob() {
-        mPeriodicJobManager.refreshJob(/*fromBoot=*/ false);
+        mPeriodicJobManager.refreshJob(/* fromBoot= */ false);
 
         final ShadowAlarmManager.ScheduledAlarm alarm =
                 mShadowAlarmManager.peekNextScheduledAlarm();
@@ -71,12 +71,13 @@
     public void getTriggerAtMillis_withoutOffset_returnsExpectedResult() {
         long timeSlotUnit = PeriodicJobManager.DATA_FETCH_INTERVAL_MINUTE;
         // Sets the current time.
-        Duration currentTimeDuration =
-                Duration.ofMinutes(timeSlotUnit * 2);
+        Duration currentTimeDuration = Duration.ofMinutes(timeSlotUnit * 2);
         FakeClock fakeClock = new FakeClock();
         fakeClock.setCurrentTime(currentTimeDuration);
 
-        assertThat(PeriodicJobManager.getTriggerAtMillis(mContext, fakeClock, /*fromBoot=*/ false))
+        assertThat(
+                        PeriodicJobManager.getTriggerAtMillis(
+                                mContext, fakeClock, /* fromBoot= */ false))
                 .isEqualTo(currentTimeDuration.plusMinutes(timeSlotUnit).toMillis());
     }
 
@@ -86,10 +87,9 @@
         // Sets the current time.
         Duration currentTimeDuration = Duration.ofMinutes(timeSlotUnit * 2);
         FakeClock fakeClock = new FakeClock();
-        fakeClock.setCurrentTime(
-                currentTimeDuration.plusMinutes(1L).plusMillis(51L));
+        fakeClock.setCurrentTime(currentTimeDuration.plusMinutes(1L).plusMillis(51L));
 
-        assertThat(PeriodicJobManager.getTriggerAtMillis(mContext, fakeClock, /*fromBoot=*/ true))
+        assertThat(PeriodicJobManager.getTriggerAtMillis(mContext, fakeClock, /* fromBoot= */ true))
                 .isEqualTo(currentTimeDuration.plusMinutes(timeSlotUnit).toMillis());
     }
 }
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 c9a3e64..d111de2 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PeriodicJobReceiverTest.java
@@ -86,14 +86,14 @@
 
     @Test
     public void onReceive_nullIntent_notRefreshesJob() {
-        mReceiver.onReceive(mContext, /*intent=*/ null);
+        mReceiver.onReceive(mContext, /* intent= */ null);
         assertThat(mShadowAlarmManager.peekNextScheduledAlarm()).isNull();
     }
 
     @Test
     public void onReceive_containsExpiredData_clearsExpiredDataFromDatabase()
             throws InterruptedException {
-        insertExpiredData(/*shiftDay=*/ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY);
+        insertExpiredData(/* shiftDay= */ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY);
 
         mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
 
@@ -104,7 +104,7 @@
     @Test
     public void onReceive_withoutExpiredData_notClearsExpiredDataFromDatabase()
             throws InterruptedException {
-        insertExpiredData(/*shiftDay=*/ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY - 1);
+        insertExpiredData(/* shiftDay= */ DatabaseUtils.DATA_RETENTION_INTERVAL_DAY - 1);
 
         mReceiver.onReceive(mContext, JOB_UPDATE_INTENT);
 
@@ -129,5 +129,4 @@
         // Ensures the testing environment is correct.
         assertThat(mDao.getAllAfter(0)).hasSize(3);
     }
-
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
index bee3045..ef4460b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerGaugePreferenceTest.java
@@ -53,7 +53,12 @@
         MockitoAnnotations.initMocks(this);
 
         mContext = RuntimeEnvironment.application;
-        mRootView = LayoutInflater.from(mContext).inflate(R.layout.preference_app, null);
+        mRootView =
+                LayoutInflater.from(mContext)
+                        .inflate(
+                                com.android.settingslib.widget.preference.app.R.layout
+                                        .preference_app,
+                                null);
         mWidgetView =
                 LayoutInflater.from(mContext).inflate(R.layout.preference_widget_summary, null);
         final LinearLayout widgetFrame = mRootView.findViewById(android.R.id.widget_frame);
@@ -62,7 +67,8 @@
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(mRootView);
 
         mPowerGaugePreference = new PowerGaugePreference(mContext);
-        assertThat(mPowerGaugePreference.getLayoutResource()).isEqualTo(R.layout.preference_app);
+        assertThat(mPowerGaugePreference.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.preference.app.R.layout.preference_app);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java
index 9753bd2..6c09e78 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageAdvancedTest.java
@@ -55,14 +55,10 @@
     private Predicate<PowerAnomalyEvent> mCardFilterPredicate;
     private Predicate<PowerAnomalyEvent> mSlotFilterPredicate;
 
-    @Mock
-    private BatteryTipsController mBatteryTipsController;
-    @Mock
-    private BatteryChartPreferenceController mBatteryChartPreferenceController;
-    @Mock
-    private ScreenOnTimeController mScreenOnTimeController;
-    @Mock
-    private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
+    @Mock private BatteryTipsController mBatteryTipsController;
+    @Mock private BatteryChartPreferenceController mBatteryChartPreferenceController;
+    @Mock private ScreenOnTimeController mScreenOnTimeController;
+    @Mock private BatteryUsageBreakdownController mBatteryUsageBreakdownController;
 
     @Before
     public void setUp() {
@@ -75,10 +71,13 @@
         mPowerUsageAdvanced.mBatteryChartPreferenceController = mBatteryChartPreferenceController;
         mPowerUsageAdvanced.mScreenOnTimeController = mScreenOnTimeController;
         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
+        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(mContext).when(mPowerUsageAdvanced).getContext();
         mSlotFilterPredicate = PowerAnomalyEvent::hasWarningItemInfo;
     }
@@ -86,15 +85,17 @@
     @Test
     public void getFilterAnomalyEvent_withEmptyOrNullList_getNull() {
         prepareCardFilterPredicate(null);
-        assertThat(PowerUsageAdvanced
-                .getAnomalyEvent(null, mCardFilterPredicate)).isNull();
-        assertThat(PowerUsageAdvanced
-                .getAnomalyEvent(null, mSlotFilterPredicate)).isNull();
-        assertThat(PowerUsageAdvanced.getAnomalyEvent(
-                BatteryTestUtils.createEmptyPowerAnomalyEventList(), mCardFilterPredicate))
+        assertThat(PowerUsageAdvanced.getAnomalyEvent(null, mCardFilterPredicate)).isNull();
+        assertThat(PowerUsageAdvanced.getAnomalyEvent(null, mSlotFilterPredicate)).isNull();
+        assertThat(
+                        PowerUsageAdvanced.getAnomalyEvent(
+                                BatteryTestUtils.createEmptyPowerAnomalyEventList(),
+                                mCardFilterPredicate))
                 .isNull();
-        assertThat(PowerUsageAdvanced.getAnomalyEvent(
-                BatteryTestUtils.createEmptyPowerAnomalyEventList(), mSlotFilterPredicate))
+        assertThat(
+                        PowerUsageAdvanced.getAnomalyEvent(
+                                BatteryTestUtils.createEmptyPowerAnomalyEventList(),
+                                mSlotFilterPredicate))
                 .isNull();
     }
 
@@ -104,12 +105,10 @@
                 BatteryTestUtils.createNonEmptyPowerAnomalyEventList();
 
         final PowerAnomalyEvent slotEvent =
-                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
-                        mSlotFilterPredicate);
+                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mSlotFilterPredicate);
         prepareCardFilterPredicate(slotEvent);
         final PowerAnomalyEvent cardEvent =
-                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
-                        mCardFilterPredicate);
+                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mCardFilterPredicate);
 
         assertThat(cardEvent).isEqualTo(BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent());
         assertThat(slotEvent).isNull();
@@ -123,12 +122,10 @@
         DatabaseUtils.setDismissedPowerAnomalyKeys(mContext, PowerAnomalyKey.KEY_BRIGHTNESS.name());
 
         final PowerAnomalyEvent slotEvent =
-                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
-                        mSlotFilterPredicate);
+                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mSlotFilterPredicate);
         prepareCardFilterPredicate(slotEvent);
         final PowerAnomalyEvent cardEvent =
-                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
-                        mCardFilterPredicate);
+                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mCardFilterPredicate);
 
         assertThat(cardEvent).isEqualTo(BatteryTestUtils.createScreenTimeoutAnomalyEvent());
         assertThat(slotEvent).isNull();
@@ -144,12 +141,10 @@
         }
 
         final PowerAnomalyEvent slotEvent =
-                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
-                        mSlotFilterPredicate);
+                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mSlotFilterPredicate);
         prepareCardFilterPredicate(slotEvent);
         final PowerAnomalyEvent cardEvent =
-                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList,
-                        mCardFilterPredicate);
+                PowerUsageAdvanced.getAnomalyEvent(powerAnomalyEventList, mCardFilterPredicate);
 
         assertThat(cardEvent).isNull();
         assertThat(slotEvent).isNull();
@@ -165,9 +160,10 @@
                 .isEqualTo(event.getEventId());
         verify(mPowerUsageAdvanced.mBatteryTipsController).setOnAnomalyConfirmListener(isNull());
         verify(mPowerUsageAdvanced.mBatteryTipsController).setOnAnomalyRejectListener(isNull());
-        verify(mPowerUsageAdvanced.mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(
-                eq(BatteryChartViewModel.SELECTED_INDEX_INVALID),
-                eq(BatteryChartViewModel.SELECTED_INDEX_INVALID));
+        verify(mPowerUsageAdvanced.mBatteryChartPreferenceController)
+                .onHighlightSlotIndexUpdate(
+                        eq(BatteryChartViewModel.SELECTED_INDEX_INVALID),
+                        eq(BatteryChartViewModel.SELECTED_INDEX_INVALID));
     }
 
     @Test
@@ -180,10 +176,14 @@
                 .isEqualTo(event.getEventId());
         verify(mBatteryTipsController).setOnAnomalyConfirmListener(isNull());
         verify(mBatteryTipsController).setOnAnomalyRejectListener(isNull());
-        assertThat(mPowerUsageAdvanced.mBatteryLevelData.get().getIndexByTimestamps(
-                event.getWarningItemInfo().getStartTimestamp(),
-                event.getWarningItemInfo().getEndTimestamp()
-        )).isEqualTo(Pair.create(1, 0));
+        assertThat(
+                        mPowerUsageAdvanced
+                                .mBatteryLevelData
+                                .get()
+                                .getIndexByTimestamps(
+                                        event.getWarningItemInfo().getStartTimestamp(),
+                                        event.getWarningItemInfo().getEndTimestamp()))
+                .isEqualTo(Pair.create(1, 0));
         verify(mBatteryChartPreferenceController).onHighlightSlotIndexUpdate(eq(1), eq(0));
         verify(mBatteryTipsController).setOnAnomalyConfirmListener(notNull());
     }
@@ -192,8 +192,7 @@
     public void onDisplayAnomalyEventUpdated_withSettingsCardAndAppsSlotEvent_showExpected() {
         final PowerAnomalyEvent settingsEvent =
                 BatteryTestUtils.createAdaptiveBrightnessAnomalyEvent();
-        final PowerAnomalyEvent appsEvent =
-                BatteryTestUtils.createAppAnomalyEvent();
+        final PowerAnomalyEvent appsEvent = BatteryTestUtils.createAppAnomalyEvent();
 
         mPowerUsageAdvanced.onDisplayAnomalyEventUpdated(settingsEvent, appsEvent);
 
@@ -207,8 +206,9 @@
     private void prepareCardFilterPredicate(PowerAnomalyEvent slotEvent) {
         final Set<String> dismissedPowerAnomalyKeys =
                 DatabaseUtils.getDismissedPowerAnomalyKeys(mContext);
-        mCardFilterPredicate = event -> !dismissedPowerAnomalyKeys.contains(
-                event.getDismissRecordKey())
-                && (event.equals(slotEvent) || !event.hasWarningItemInfo());
+        mCardFilterPredicate =
+                event ->
+                        !dismissedPowerAnomalyKeys.contains(event.getDismissRecordKey())
+                                && (event.equals(slotEvent) || !event.hasWarningItemInfo());
     }
-}
\ No newline at end of file
+}
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
index 68766e6..399101b 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageBaseTest.java
@@ -52,10 +52,8 @@
 @Config(shadows = ShadowDashboardFragment.class)
 public class PowerUsageBaseTest {
 
-    @Mock
-    private LoaderManager mLoaderManager;
-    @Mock
-    private Loader<BatteryUsageStats> mBatteryUsageStatsLoader;
+    @Mock private LoaderManager mLoaderManager;
+    @Mock private Loader<BatteryUsageStats> mBatteryUsageStatsLoader;
     private TestFragment mFragment;
 
     @Before
@@ -77,16 +75,19 @@
         final Bundle bundle = new Bundle();
         bundle.putInt(KEY_REFRESH_TYPE, BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
         bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
-        doReturn(mBatteryUsageStatsLoader).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
+        doReturn(mBatteryUsageStatsLoader)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
         doReturn(false).when(mBatteryUsageStatsLoader).isReset();
 
         mFragment.restartBatteryStatsLoader(
                 BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
 
         verify(mLoaderManager)
-                .restartLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
-                        refEq(bundle), any());
+                .restartLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
+                        refEq(bundle),
+                        any());
     }
 
     @Test
@@ -94,16 +95,19 @@
         final Bundle bundle = new Bundle();
         bundle.putInt(KEY_REFRESH_TYPE, BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
         bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
-        doReturn(mBatteryUsageStatsLoader).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
+        doReturn(mBatteryUsageStatsLoader)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
         doReturn(true).when(mBatteryUsageStatsLoader).isReset();
 
         mFragment.restartBatteryStatsLoader(
                 BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
 
         verify(mLoaderManager)
-                .initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
-                        refEq(bundle), any());
+                .initLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
+                        refEq(bundle),
+                        any());
     }
 
     @Test
@@ -111,14 +115,18 @@
         final Bundle bundle = new Bundle();
         bundle.putInt(KEY_REFRESH_TYPE, BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
         bundle.putBoolean(KEY_INCLUDE_HISTORY, false);
-        doReturn(null).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
+        doReturn(null)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER);
 
         mFragment.restartBatteryStatsLoader(
                 BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_STATUS);
 
-        verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
-                refEq(bundle), any());
+        verify(mLoaderManager)
+                .initLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_USAGE_STATS_LOADER),
+                        refEq(bundle),
+                        any());
     }
 
     private static class TestFragment extends PowerUsageBase {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
index e44d92c..19d5e59 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/PowerUsageSummaryTest.java
@@ -70,6 +70,10 @@
 
 // TODO: Improve this test class so that it starts up the real activity and fragment.
 @RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            com.android.settings.testutils.shadow.ShadowFragment.class,
+        })
 public class PowerUsageSummaryTest {
     private static Intent sAdditionalBatteryInfoIntent;
 
@@ -78,26 +82,16 @@
         sAdditionalBatteryInfoIntent = new Intent("com.example.app.ADDITIONAL_BATTERY_INFO");
     }
 
-    @Mock
-    private SettingsActivity mSettingsActivity;
-    @Mock
-    private LoaderManager mLoaderManager;
-    @Mock
-    private Loader<BatteryTip> mBatteryTipLoader;
-    @Mock
-    private Loader<BatteryInfo> mBatteryInfoLoader;
-    @Mock
-    private ContentResolver mContentResolver;
-    @Mock
-    private BatteryBroadcastReceiver mBatteryBroadcastReceiver;
-    @Mock
-    private VisibilityLoggerMixin mVisibilityLoggerMixin;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private Preference mBatteryUsagePreference;
-    @Mock
-    private Preference mHelpPreference;
+    @Mock private SettingsActivity mSettingsActivity;
+    @Mock private LoaderManager mLoaderManager;
+    @Mock private Loader<BatteryTip> mBatteryTipLoader;
+    @Mock private Loader<BatteryInfo> mBatteryInfoLoader;
+    @Mock private ContentResolver mContentResolver;
+    @Mock private BatteryBroadcastReceiver mBatteryBroadcastReceiver;
+    @Mock private VisibilityLoggerMixin mVisibilityLoggerMixin;
+    @Mock private PreferenceScreen mPreferenceScreen;
+    @Mock private Preference mBatteryUsagePreference;
+    @Mock private Preference mHelpPreference;
 
     private Context mRealContext;
     private TestFragment mFragment;
@@ -117,8 +111,8 @@
                 .thenReturn(sAdditionalBatteryInfoIntent);
         mFragment.mBatteryUtils = Mockito.spy(new BatteryUtils(mRealContext));
         ReflectionHelpers.setField(mFragment, "mVisibilityLoggerMixin", mVisibilityLoggerMixin);
-        ReflectionHelpers.setField(mFragment, "mBatteryBroadcastReceiver",
-                mBatteryBroadcastReceiver);
+        ReflectionHelpers.setField(
+                mFragment, "mBatteryBroadcastReceiver", mBatteryBroadcastReceiver);
         doReturn(mPreferenceScreen).when(mFragment).getPreferenceScreen();
         when(mFragment.getContentResolver()).thenReturn(mContentResolver);
         when(mFragment.findPreference(KEY_BATTERY_USAGE)).thenReturn(mBatteryUsagePreference);
@@ -154,42 +148,46 @@
 
     @Test
     public void restartBatteryTipLoader() {
-        //TODO: add policy logic here when BatteryTipPolicy is implemented
-        doReturn(mBatteryTipLoader).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
+        // TODO: add policy logic here when BatteryTipPolicy is implemented
+        doReturn(mBatteryTipLoader)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
         doReturn(false).when(mBatteryTipLoader).isReset();
 
         mFragment.restartBatteryTipLoader();
 
-        verify(mLoaderManager).restartLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER),
-                eq(Bundle.EMPTY), any());
+        verify(mLoaderManager)
+                .restartLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER), eq(Bundle.EMPTY), any());
     }
 
     @Test
     public void restartBatteryTipLoader_nullLoader_initLoader() {
-        doReturn(null).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
+        doReturn(null)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
 
         mFragment.restartBatteryTipLoader();
 
-        verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER),
-                eq(Bundle.EMPTY), any());
+        verify(mLoaderManager)
+                .initLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER), eq(Bundle.EMPTY), any());
     }
 
     @Test
     public void restartBatteryTipLoader_loaderReset_initLoader() {
-        doReturn(mBatteryTipLoader).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
+        doReturn(mBatteryTipLoader)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER);
         doReturn(true).when(mBatteryTipLoader).isReset();
 
         mFragment.restartBatteryTipLoader();
 
-
-        verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER),
-                eq(Bundle.EMPTY), any());
+        verify(mLoaderManager)
+                .initLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_TIP_LOADER), eq(Bundle.EMPTY), any());
     }
 
-
     @Test
     public void refreshUi_contextNull_doNothing() {
         doReturn(null).when(mFragment).getContext();
@@ -253,18 +251,19 @@
     public void onResume_registerContentObserver() {
         mFragment.onResume();
 
-        verify(mContentResolver).registerContentObserver(
-                Settings.Global.getUriFor(Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
-                false,
-                mFragment.mSettingsObserver);
+        verify(mContentResolver)
+                .registerContentObserver(
+                        Settings.Global.getUriFor(
+                                Settings.Global.BATTERY_ESTIMATES_LAST_UPDATE_TIME),
+                        false,
+                        mFragment.mSettingsObserver);
     }
 
     @Test
     public void onPause_unregisterContentObserver() {
         mFragment.onPause();
 
-        verify(mContentResolver).unregisterContentObserver(
-                mFragment.mSettingsObserver);
+        verify(mContentResolver).unregisterContentObserver(mFragment.mSettingsObserver);
     }
 
     @Test
@@ -273,9 +272,11 @@
 
         mFragment.restartBatteryInfoLoader();
 
-        verify(mLoaderManager, never()).restartLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER, Bundle.EMPTY,
-                mFragment.mBatteryInfoLoaderCallbacks);
+        verify(mLoaderManager, never())
+                .restartLoader(
+                        PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER,
+                        Bundle.EMPTY,
+                        mFragment.mBatteryInfoLoaderCallbacks);
     }
 
     @Test
@@ -284,45 +285,59 @@
 
         mFragment.restartBatteryInfoLoader();
 
-        verify(mLoaderManager, never()).restartLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER, Bundle.EMPTY,
-                mFragment.mBatteryInfoLoaderCallbacks);
+        verify(mLoaderManager, never())
+                .restartLoader(
+                        PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER,
+                        Bundle.EMPTY,
+                        mFragment.mBatteryInfoLoaderCallbacks);
     }
 
     @Test
     public void restartBatteryInfoLoader() {
-        doReturn(mBatteryInfoLoader).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
+        doReturn(mBatteryInfoLoader)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
         doReturn(false).when(mBatteryTipLoader).isReset();
 
         mFragment.restartBatteryInfoLoader();
 
-        verify(mLoaderManager).restartLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
-                eq(Bundle.EMPTY), any());
+        verify(mLoaderManager)
+                .restartLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
+                        eq(Bundle.EMPTY),
+                        any());
     }
 
     @Test
     public void restartBatteryInfoLoader_nullLoader_initLoader() {
-        doReturn(null).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
+        doReturn(null)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
 
         mFragment.restartBatteryInfoLoader();
 
-        verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
-                eq(Bundle.EMPTY), any());
+        verify(mLoaderManager)
+                .initLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
+                        eq(Bundle.EMPTY),
+                        any());
     }
 
     @Test
     public void restartBatteryInfoLoader_loaderReset_initLoader() {
         mFragment.setIsBatteryPresent(true);
-        doReturn(mBatteryInfoLoader).when(mLoaderManager).getLoader(
-                PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
+        doReturn(mBatteryInfoLoader)
+                .when(mLoaderManager)
+                .getLoader(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER);
         doReturn(true).when(mBatteryInfoLoader).isReset();
 
         mFragment.restartBatteryInfoLoader();
 
-        verify(mLoaderManager).initLoader(eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
-                eq(Bundle.EMPTY), any());
+        verify(mLoaderManager)
+                .initLoader(
+                        eq(PowerUsageBase.LoaderIndex.BATTERY_INFO_LOADER),
+                        eq(Bundle.EMPTY),
+                        any());
     }
 
     private static class TestFragment extends PowerUsageSummary {
@@ -354,5 +369,4 @@
             return mLoaderManager;
         }
     }
-
 }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
index acf4a2e..282ec9e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/ScreenOnTimeControllerTest.java
@@ -46,10 +46,8 @@
     private Context mContext;
     private ScreenOnTimeController mScreenOnTimeController;
 
-    @Mock
-    private PreferenceCategory mRootPreference;
-    @Mock
-    private TextViewPreference mScreenOnTimeTextPreference;
+    @Mock private PreferenceCategory mRootPreference;
+    @Mock private TextViewPreference mScreenOnTimeTextPreference;
 
     @Before
     public void setUp() {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
index 4c2192c..8050984 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/SpinnerPreferenceTest.java
@@ -42,14 +42,13 @@
     private Context mContext;
     private SpinnerPreference mSpinnerPreference;
 
-    @Mock
-    private Spinner mMockSpinner;
+    @Mock private Spinner mMockSpinner;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        mSpinnerPreference = new SpinnerPreference(mContext, /*attrs=*/ null);
+        mSpinnerPreference = new SpinnerPreference(mContext, /* attrs= */ null);
     }
 
     @Test
@@ -59,7 +58,7 @@
 
     @Test
     public void initializeSpinner_returnExpectedResult() {
-        final String[] items = new String[]{"item1", "item2"};
+        final String[] items = new String[] {"item1", "item2"};
         mSpinnerPreference.initializeSpinner(items, null);
         assertThat(mSpinnerPreference.mItems).isEqualTo(items);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java
index ca7e9dd..caccc87 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TextViewPreferenceTest.java
@@ -41,13 +41,13 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
-        mTextViewPreference = new TextViewPreference(mContext, /*attrs=*/ null);
+        mTextViewPreference = new TextViewPreference(mContext, /* attrs= */ null);
     }
 
     @Test
     public void constructor_returnExpectedResult() {
-        assertThat(mTextViewPreference.getLayoutResource()).isEqualTo(
-                R.layout.preference_text_view);
+        assertThat(mTextViewPreference.getLayoutResource())
+                .isEqualTo(R.layout.preference_text_view);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java
index 23787c7..1aae61c 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/TimestampUtilsTest.java
@@ -36,11 +36,9 @@
     @Test
     public void getNextHourTimestamp_returnExpectedResult() {
         // 2021-02-28 06:00:00 => 2021-02-28 07:00:00
-        assertThat(TimestampUtils.getNextHourTimestamp(1614463200000L))
-                .isEqualTo(1614466800000L);
+        assertThat(TimestampUtils.getNextHourTimestamp(1614463200000L)).isEqualTo(1614466800000L);
         // 2021-12-31 23:59:59 => 2022-01-01 00:00:00
-        assertThat(TimestampUtils.getNextHourTimestamp(16409663999999L))
-                .isEqualTo(16409664000000L);
+        assertThat(TimestampUtils.getNextHourTimestamp(16409663999999L)).isEqualTo(16409664000000L);
     }
 
     @Test
@@ -66,11 +64,9 @@
     @Test
     public void getTimestampOfNextDay_returnExpectedResult() {
         // 2021-02-28 06:00:00 => 2021-03-01 00:00:00
-        assertThat(TimestampUtils.getNextDayTimestamp(1614463200000L))
-                .isEqualTo(1614528000000L);
+        assertThat(TimestampUtils.getNextDayTimestamp(1614463200000L)).isEqualTo(1614528000000L);
         // 2021-12-31 16:00:00 => 2022-01-01 00:00:00
-        assertThat(TimestampUtils.getNextDayTimestamp(1640937600000L))
-                .isEqualTo(1640966400000L);
+        assertThat(TimestampUtils.getNextDayTimestamp(1640937600000L)).isEqualTo(1640966400000L);
     }
 
     @Test
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 45d4065..d998106 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
@@ -52,7 +52,7 @@
         mPrintWriter = new PrintWriter(mStringWriter);
         mContext = ApplicationProvider.getApplicationContext();
         mBugReportContentProvider = new BugReportContentProvider();
-        mBugReportContentProvider.attachInfo(mContext, /*info=*/ null);
+        mBugReportContentProvider.attachInfo(mContext, /* info= */ null);
         // Inserts fake data into database for testing.
         BatteryTestUtils.setUpBatteryStateDatabase(mContext);
         BatteryTestUtils.insertDataToBatteryStateTable(
@@ -60,15 +60,15 @@
         BatteryTestUtils.insertDataToBatteryStateTable(
                 mContext, System.currentTimeMillis(), PACKAGE_NAME2);
         BatteryTestUtils.insertDataToAppUsageEventTable(
-                mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME3);
+                mContext, /* userId= */ 1, System.currentTimeMillis(), PACKAGE_NAME3);
         BatteryTestUtils.insertDataToAppUsageEventTable(
-                mContext, /*userId=*/ 1, System.currentTimeMillis(), PACKAGE_NAME4);
+                mContext, /* userId= */ 1, System.currentTimeMillis(), PACKAGE_NAME4);
     }
 
     @Test
     public void dump_nullContext_notDumpsBatteryUsageData() {
         mBugReportContentProvider = new BugReportContentProvider();
-        mBugReportContentProvider.attachInfo(/*context=*/ null, /*info=*/ null);
+        mBugReportContentProvider.attachInfo(/* context= */ null, /* info= */ null);
 
         mBugReportContentProvider.dump(FileDescriptor.out, mPrintWriter, new String[] {});
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java
index 4883d4f..219120e 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventDaoTest.java
@@ -61,13 +61,13 @@
         BatteryTestUtils.insertDataToAppUsageEventTable(
                 mContext, USER_ID2, TIMESTAMP2, PACKAGE_NAME2);
         BatteryTestUtils.insertDataToAppUsageEventTable(
-                mContext, USER_ID1, TIMESTAMP1, PACKAGE_NAME1, /*multiple=*/ true);
+                mContext, USER_ID1, TIMESTAMP1, PACKAGE_NAME1, /* multiple= */ true);
     }
 
     @After
     public void closeDb() {
         mDatabase.close();
-        BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+        BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
     }
 
     @Test
@@ -147,7 +147,7 @@
 
     @Test
     public void getInstance_createNewInstance() throws Exception {
-        BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+        BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
         assertThat(BatteryStateDatabase.getInstance(mContext)).isNotNull();
     }
 
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java
index 3cbf845..eb72b96 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/AppUsageEventEntityTest.java
@@ -35,16 +35,16 @@
         final int instanceId = 100001;
         final String taskRootPackageName = "com.android.settings2";
 
-        AppUsageEventEntity entity = AppUsageEventEntity
-                .newBuilder()
-                .setUid(uid)
-                .setUserId(userId)
-                .setTimestamp(timestamp)
-                .setAppUsageEventType(appUsageEventType)
-                .setPackageName(packageName)
-                .setInstanceId(instanceId)
-                .setTaskRootPackageName(taskRootPackageName)
-                .build();
+        AppUsageEventEntity entity =
+                AppUsageEventEntity.newBuilder()
+                        .setUid(uid)
+                        .setUserId(userId)
+                        .setTimestamp(timestamp)
+                        .setAppUsageEventType(appUsageEventType)
+                        .setPackageName(packageName)
+                        .setInstanceId(instanceId)
+                        .setTaskRootPackageName(taskRootPackageName)
+                        .build();
 
         // Verifies the app relative information.
         assertThat(entity.uid).isEqualTo(uid);
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 8462867..d36f2b5 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
@@ -57,22 +57,23 @@
     @After
     public void closeDb() {
         mDatabase.close();
-        BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+        BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
     }
 
-
     @Test
     public void getLastFullChargeTimestamp_normalFlow_expectedBehavior() throws Exception {
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(TIMESTAMP1)
-                .setBatteryEventType(3)
-                .setBatteryLevel(100)
-                .build());
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(TIMESTAMP2)
-                .setBatteryEventType(4)
-                .setBatteryLevel(96)
-                .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(TIMESTAMP1)
+                        .setBatteryEventType(3)
+                        .setBatteryLevel(100)
+                        .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(TIMESTAMP2)
+                        .setBatteryEventType(4)
+                        .setBatteryLevel(96)
+                        .build());
 
         final Cursor cursor = mBatteryEventDao.getLastFullChargeTimestamp();
         assertThat(cursor.getCount()).isEqualTo(1);
@@ -83,11 +84,12 @@
     @Test
     public void getLastFullChargeTimestamp_noLastFullChargeTime_returns0() throws Exception {
         mBatteryEventDao.clearAll();
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(TIMESTAMP2)
-                .setBatteryEventType(4)
-                .setBatteryLevel(96)
-                .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(TIMESTAMP2)
+                        .setBatteryEventType(4)
+                        .setBatteryLevel(96)
+                        .build());
 
         final Cursor cursor = mBatteryEventDao.getLastFullChargeTimestamp();
 
@@ -98,26 +100,25 @@
 
     @Test
     public void getAllAfter_normalFlow_returnExpectedResult() {
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(100L)
-                .setBatteryEventType(1)
-                .setBatteryLevel(66)
-                .build());
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(200L)
-                .setBatteryEventType(2)
-                .setBatteryLevel(88)
-                .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(100L)
+                        .setBatteryEventType(1)
+                        .setBatteryLevel(66)
+                        .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(200L)
+                        .setBatteryEventType(2)
+                        .setBatteryLevel(88)
+                        .build());
 
         final Cursor cursor = mBatteryEventDao.getAllAfter(160L, List.of(1, 2));
         assertThat(cursor.getCount()).isEqualTo(1);
         cursor.moveToFirst();
-        assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP)))
-                .isEqualTo(200L);
-        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE)))
-                .isEqualTo(2);
-        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL)))
-                .isEqualTo(88);
+        assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))).isEqualTo(200L);
+        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE))).isEqualTo(2);
+        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL))).isEqualTo(88);
 
         mBatteryEventDao.clearAll();
         assertThat(mBatteryEventDao.getAll()).isEmpty();
@@ -125,26 +126,51 @@
 
     @Test
     public void getAllAfter_filterBatteryTypes_returnExpectedResult() {
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(100L)
-                .setBatteryEventType(1)
-                .setBatteryLevel(66)
-                .build());
-        mBatteryEventDao.insert(BatteryEventEntity.newBuilder()
-                .setTimestamp(200L)
-                .setBatteryEventType(2)
-                .setBatteryLevel(88)
-                .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(100L)
+                        .setBatteryEventType(1)
+                        .setBatteryLevel(66)
+                        .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(200L)
+                        .setBatteryEventType(2)
+                        .setBatteryLevel(88)
+                        .build());
 
         final Cursor cursor = mBatteryEventDao.getAllAfter(0L, List.of(1));
         assertThat(cursor.getCount()).isEqualTo(1);
         cursor.moveToFirst();
-        assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP)))
-                .isEqualTo(100L);
-        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE)))
-                .isEqualTo(1);
-        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL)))
-                .isEqualTo(66);
+        assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))).isEqualTo(100L);
+        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE))).isEqualTo(1);
+        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL))).isEqualTo(66);
+
+        mBatteryEventDao.clearAll();
+        assertThat(mBatteryEventDao.getAll()).isEmpty();
+    }
+
+    @Test
+    public void getAllAfter_filterTimestamp_returnExpectedResult() {
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(100L)
+                        .setBatteryEventType(1)
+                        .setBatteryLevel(66)
+                        .build());
+        mBatteryEventDao.insert(
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(200L)
+                        .setBatteryEventType(1)
+                        .setBatteryLevel(88)
+                        .build());
+
+        final Cursor cursor = mBatteryEventDao.getAllAfter(200L, List.of(1));
+        assertThat(cursor.getCount()).isEqualTo(1);
+        cursor.moveToFirst();
+        assertThat(cursor.getLong(cursor.getColumnIndex(KEY_TIMESTAMP))).isEqualTo(200L);
+        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_EVENT_TYPE))).isEqualTo(1);
+        assertThat(cursor.getInt(cursor.getColumnIndex(KEY_BATTERY_LEVEL))).isEqualTo(88);
 
         mBatteryEventDao.clearAll();
         assertThat(mBatteryEventDao.getAll()).isEmpty();
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java
index a34d651..6aa7157 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryEventEntityTest.java
@@ -32,12 +32,12 @@
         final int batteryEventType = 1;
         final int batteryLevel = 66;
 
-        BatteryEventEntity entity = BatteryEventEntity
-                .newBuilder()
-                .setTimestamp(timestamp)
-                .setBatteryEventType(batteryEventType)
-                .setBatteryLevel(batteryLevel)
-                .build();
+        BatteryEventEntity entity =
+                BatteryEventEntity.newBuilder()
+                        .setTimestamp(timestamp)
+                        .setBatteryEventType(batteryEventType)
+                        .setBatteryLevel(batteryLevel)
+                        .build();
 
         // Verifies the app relative information.
         assertThat(entity.timestamp).isEqualTo(timestamp);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java
index b3dba4e..cc1d7b4 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateDaoTest.java
@@ -57,14 +57,17 @@
         BatteryTestUtils.insertDataToBatteryStateTable(mContext, TIMESTAMP3, PACKAGE_NAME3);
         BatteryTestUtils.insertDataToBatteryStateTable(mContext, TIMESTAMP2, PACKAGE_NAME2);
         BatteryTestUtils.insertDataToBatteryStateTable(
-                mContext, TIMESTAMP1, PACKAGE_NAME1, /*multiple=*/ true,
-                /*isFullChargeStart=*/ true);
+                mContext,
+                TIMESTAMP1,
+                PACKAGE_NAME1,
+                /* multiple= */ true,
+                /* isFullChargeStart= */ true);
     }
 
     @After
     public void closeDb() {
         mDatabase.close();
-        BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+        BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
     }
 
     @Test
@@ -136,29 +139,25 @@
 
     @Test
     public void getInstance_createNewInstance_returnsExpectedResult() throws Exception {
-        BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+        BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
         assertThat(BatteryStateDatabase.getInstance(mContext)).isNotNull();
     }
 
     @Test
     public void getDistinctTimestampCount_normalFlow_returnsExpectedResult() {
-        assertThat(mBatteryStateDao.getDistinctTimestampCount(/*timestamp=*/ 0))
-                .isEqualTo(3);
-        assertThat(mBatteryStateDao.getDistinctTimestampCount(TIMESTAMP1))
-                .isEqualTo(2);
+        assertThat(mBatteryStateDao.getDistinctTimestampCount(/* timestamp= */ 0)).isEqualTo(3);
+        assertThat(mBatteryStateDao.getDistinctTimestampCount(TIMESTAMP1)).isEqualTo(2);
     }
 
     @Test
     public void getDistinctTimestamps_normalFlow_returnsExpectedResult() {
-        final List<Long> timestamps =
-                mBatteryStateDao.getDistinctTimestamps(/*timestamp=*/ 0);
+        final List<Long> timestamps = mBatteryStateDao.getDistinctTimestamps(/* timestamp= */ 0);
 
         assertThat(timestamps).hasSize(3);
         assertThat(timestamps).containsExactly(TIMESTAMP1, TIMESTAMP2, TIMESTAMP3);
     }
 
-    private static void assertBatteryState(
-            BatteryState state, long timestamp, String packageName) {
+    private static void assertBatteryState(BatteryState state, long timestamp, String packageName) {
         assertThat(state.timestamp).isEqualTo(timestamp);
         assertThat(state.packageName).isEqualTo(packageName);
     }
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java
index 9b9003e..e48f250 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryStateTest.java
@@ -41,15 +41,13 @@
     @Before
     public void setUp() {
         final DeviceBatteryState deviceBatteryState =
-                DeviceBatteryState
-                        .newBuilder()
+                DeviceBatteryState.newBuilder()
                         .setBatteryLevel(BATTERY_LEVEL)
                         .setBatteryStatus(BATTERY_STATUS)
                         .setBatteryHealth(BATTERY_HEALTH)
                         .build();
         mBatteryInformation =
-                BatteryInformation
-                        .newBuilder()
+                BatteryInformation.newBuilder()
                         .setDeviceBatteryState(deviceBatteryState)
                         .setBootTimestamp(101L)
                         .setIsHidden(true)
@@ -78,8 +76,8 @@
         assertThat(state.timestamp).isEqualTo(100001L);
         assertThat(state.consumerType).isEqualTo(2);
         assertThat(state.isFullChargeCycleStart).isTrue();
-        assertThat(state.batteryInformation).isEqualTo(
-                ConvertUtils.convertBatteryInformationToString(mBatteryInformation));
+        assertThat(state.batteryInformation)
+                .isEqualTo(ConvertUtils.convertBatteryInformationToString(mBatteryInformation));
     }
 
     private static BatteryState create(BatteryInformation batteryInformation) {
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java
index 6f73954..1501bbd 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotDaoTest.java
@@ -61,7 +61,7 @@
     @After
     public void closeDb() {
         mDatabase.close();
-        BatteryStateDatabase.setBatteryStateDatabase(/*database=*/ null);
+        BatteryStateDatabase.setBatteryStateDatabase(/* database= */ null);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java
index ef276eb..4c037b9 100644
--- a/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java
+++ b/tests/robotests/src/com/android/settings/fuelgauge/batteryusage/db/BatteryUsageSlotEntityTest.java
@@ -31,11 +31,11 @@
         final long timestamp = 10001L;
         final String batteryUsageSlotString = "batteryUsageSlotString";
 
-        BatteryUsageSlotEntity entity = BatteryUsageSlotEntity
-                .newBuilder()
-                .setTimestamp(timestamp)
-                .setBatteryUsageSlot(batteryUsageSlotString)
-                .build();
+        BatteryUsageSlotEntity entity =
+                BatteryUsageSlotEntity.newBuilder()
+                        .setTimestamp(timestamp)
+                        .setBatteryUsageSlot(batteryUsageSlotString)
+                        .build();
 
         // Verifies the app relative information.
         assertThat(entity.timestamp).isEqualTo(timestamp);
diff --git a/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java b/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java
new file mode 100644
index 0000000..d642b30
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/fuelgauge/datasaver/DynamicDenylistManagerTest.java
@@ -0,0 +1,446 @@
+/*
+ * 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.datasaver;
+
+import static android.net.NetworkPolicyManager.POLICY_NONE;
+import static android.net.NetworkPolicyManager.POLICY_REJECT_METERED_BACKGROUND;
+
+import static com.android.settings.Utils.SETTINGS_PACKAGE_NAME;
+import static com.android.settings.fuelgauge.datasaver.DynamicDenylistManager.PREF_KEY_MANUAL_DENYLIST_SYNCED;
+
+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.ArgumentMatchers.eq;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.content.pm.PackageManager;
+import android.net.NetworkPolicyManager;
+import android.util.ArraySet;
+
+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 java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Collections;
+import java.util.List;
+import java.util.Set;
+
+@RunWith(RobolectricTestRunner.class)
+public class DynamicDenylistManagerTest {
+
+    private static final int[] EMPTY_ARRAY = new int[] {};
+    private static final String FAKE_UID_1 = "1001";
+    private static final String FAKE_UID_2 = "1002";
+    private static final int FAKE_UID_1_INT = Integer.parseInt(FAKE_UID_1);
+    private static final int FAKE_UID_2_INT = Integer.parseInt(FAKE_UID_2);
+
+    private SharedPreferences mManualDenyListPref;
+    private SharedPreferences mDynamicDenyListPref;
+    private DynamicDenylistManager mDynamicDenylistManager;
+
+    @Mock
+    private NetworkPolicyManager mNetworkPolicyManager;
+    @Mock
+    private PackageManager mPackageManager;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @After
+    public void tearDown() {
+        mDynamicDenylistManager.clearSharedPreferences();
+    }
+
+    @Test
+    public void init_withoutExistedRejectPolicy_createWithExpectedValue() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        assertThat(mManualDenyListPref.getAll()).hasSize(1);
+        assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+    }
+
+    @Test
+    public void init_withExistedRejectPolicy_createWithExpectedValue() {
+        initDynamicDenylistManager(new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        assertThat(mManualDenyListPref.getAll()).hasSize(3);
+        assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_2));
+    }
+
+    @Test
+    public void getManualDenylistPref_initiated_containsExpectedValue() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        setupPreference(mManualDenyListPref, FAKE_UID_1);
+
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+    }
+
+    @Test
+    public void getDynamicDenylistPref_initiated_containsExpectedValue() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        setupPreference(mDynamicDenyListPref, FAKE_UID_1);
+
+        assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
+    }
+
+    @Test
+    public void updateManualDenylist_policyReject_addsUid() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        mDynamicDenylistManager.updateDenylistPref(FAKE_UID_1_INT,
+                POLICY_REJECT_METERED_BACKGROUND);
+
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+    }
+
+    @Test
+    public void updateManualDenylist_policyNone_removesUid() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        setupPreference(mManualDenyListPref, FAKE_UID_1);
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+
+        mDynamicDenylistManager.updateDenylistPref(FAKE_UID_1_INT, POLICY_NONE);
+
+        assertFalse(mManualDenyListPref.contains(FAKE_UID_1));
+    }
+
+    @Test
+    public void updateManualDenylist_samePolicy_doNothing() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        setupPreference(mManualDenyListPref, FAKE_UID_1);
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+        assertThat(mManualDenyListPref.getAll()).hasSize(2);
+
+        mDynamicDenylistManager.updateDenylistPref(FAKE_UID_1_INT,
+                POLICY_REJECT_METERED_BACKGROUND);
+
+        assertThat(mManualDenyListPref.getAll()).hasSize(2);
+    }
+
+    @Test
+    public void setUidPolicyLocked_invokeSetUidPolicy() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        mDynamicDenylistManager.setUidPolicyLocked(FAKE_UID_1_INT,
+                POLICY_REJECT_METERED_BACKGROUND);
+
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+        verify(mNetworkPolicyManager).setUidPolicy(eq(FAKE_UID_1_INT),
+                eq(POLICY_REJECT_METERED_BACKGROUND));
+    }
+
+    @Test
+    public void setDenylist_emptyListAndNoData_doNothing() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        setDenylist(Collections.emptySet());
+
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), anyInt());
+    }
+
+    @Test
+    public void setDenylist_uidDeniedAlready_doNothing() {
+        initDynamicDenylistManager(new int[] {FAKE_UID_1_INT});
+        final ArraySet uids = new ArraySet<>();
+        uids.add(FAKE_UID_1_INT);
+        uids.add(null);
+
+        setDenylist(uids);
+
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), anyInt());
+    }
+
+    @Test
+    public void setDenylist_sameList_doNothing() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        setupPreference(mDynamicDenyListPref, FAKE_UID_2, FAKE_UID_1);
+
+        setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT, FAKE_UID_2_INT)));
+
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), anyInt());
+    }
+
+    @Test
+    public void setDenylist_newListWithOldData_modifyPolicyNoneAndReject() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        setupPreference(mDynamicDenyListPref, FAKE_UID_2);
+
+        setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT)));
+
+        verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_2_INT, POLICY_NONE);
+        verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_1_INT,
+                POLICY_REJECT_METERED_BACKGROUND);
+        assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+        assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
+    }
+
+    @Test
+    public void setDenylist_newListWithoutOldData_modifyPolicyReject() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        setDenylist(new ArraySet<>(List.of(FAKE_UID_1_INT)));
+
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+        verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_1_INT,
+                POLICY_REJECT_METERED_BACKGROUND);
+        assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+        assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
+    }
+
+    @Test
+    public void setDenylist_emptyListWithOldData_modifyPolicyNone() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        setupPreference(mDynamicDenyListPref, FAKE_UID_2);
+
+        setDenylist(Collections.emptySet());
+
+        verify(mNetworkPolicyManager).setUidPolicy(FAKE_UID_2_INT, POLICY_NONE);
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(),
+                eq(POLICY_REJECT_METERED_BACKGROUND));
+        assertThat(mDynamicDenyListPref.getAll()).isEmpty();
+    }
+
+    @Test
+    public void isInManualDenylist_returnsFalse() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        assertFalse(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1_INT));
+    }
+
+    @Test
+    public void isInManualDenylist_incorrectUid_returnsFalse() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        mManualDenyListPref.edit().putInt(FAKE_UID_2, POLICY_REJECT_METERED_BACKGROUND).apply();
+
+        assertFalse(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1_INT));
+    }
+
+    @Test
+    public void isInManualDenylist_initiated_returnsTrue() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+
+        mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+
+        assertTrue(mDynamicDenylistManager.isInManualDenylist(FAKE_UID_1_INT));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_nullPackageName_doNothing() {
+        initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded(null, false);
+
+        assertThat(mManualDenyListPref.getAll()).hasSize(1);
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_invalidPackageName_doNothing() {
+        initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded("invalid_package_name", false);
+
+        assertThat(mManualDenyListPref.getAll()).hasSize(1);
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_denylistUnchanged_doNothingWithPolicy() {
+        initDynamicDenylistManager(new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, false);
+
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_denylistChanged_resetAndClear() {
+        initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, false);
+
+        assertThat(mManualDenyListPref.getAll()).isEmpty();
+        verify(mNetworkPolicyManager, times(2)).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_forceResetWithNullPackageName_resetAndClear() {
+        initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded(null, true);
+
+        assertThat(mManualDenyListPref.getAll()).isEmpty();
+        verify(mNetworkPolicyManager).setUidPolicy(eq(FAKE_UID_2_INT), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_forceResetWithInvalidPackageName_resetAndClear() {
+        initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded("invalid_package_name", true);
+
+        assertThat(mManualDenyListPref.getAll()).isEmpty();
+        verify(mNetworkPolicyManager, times(2)).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_forceResetButDenylistUnchanged_doNothingWithPolicy() {
+        initDynamicDenylistManager(new int[] {FAKE_UID_1_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, true);
+
+        assertThat(mManualDenyListPref.getAll()).isEmpty();
+        verify(mNetworkPolicyManager, never()).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void resetDenylistIfNeeded_forceResetWithDenylistChanged_resetAndClear() {
+        initDynamicDenylistManager(new int[0], new int[] {FAKE_UID_1_INT, FAKE_UID_2_INT});
+
+        mDynamicDenylistManager.resetDenylistIfNeeded(SETTINGS_PACKAGE_NAME, true);
+
+        assertThat(mManualDenyListPref.getAll()).isEmpty();
+        verify(mNetworkPolicyManager, times(2)).setUidPolicy(anyInt(), eq(POLICY_NONE));
+    }
+
+    @Test
+    public void clearSharedPreferences_manualDenyListPrefIsEmpty() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        mManualDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+        assertThat(mManualDenyListPref.getAll()).hasSize(2);
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+        assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+
+        mDynamicDenylistManager.clearSharedPreferences();
+
+        assertThat(mManualDenyListPref.getAll()).isEmpty();
+    }
+
+    @Test
+    public void clearSharedPreferences_dynamicDenyListPrefIsEmpty() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        mDynamicDenyListPref.edit().putInt(FAKE_UID_1, POLICY_REJECT_METERED_BACKGROUND).apply();
+        assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+        assertTrue(mDynamicDenyListPref.contains(FAKE_UID_1));
+
+        mDynamicDenylistManager.clearSharedPreferences();
+
+        assertThat(mDynamicDenyListPref.getAll()).isEmpty();
+    }
+
+    @Test
+    public void dump_dumpExpectedResult() {
+        initDynamicDenylistManager(EMPTY_ARRAY);
+        setupPreference(mManualDenyListPref, FAKE_UID_1);
+        setupPreference(mDynamicDenyListPref, FAKE_UID_2);
+        final StringWriter stringWriter = new StringWriter();
+        final PrintWriter printWriter = new PrintWriter(stringWriter);
+        when(mPackageManager.getNameForUid(FAKE_UID_1_INT)).thenReturn("app1");
+        when(mPackageManager.getNameForUid(FAKE_UID_2_INT)).thenReturn("app2");
+
+        mDynamicDenylistManager.dump(printWriter);
+
+        final String dumpResults = stringWriter.toString();
+        assertThat(dumpResults.contains("\tManualDenylist:\n\t\tapp1")).isTrue();
+        assertThat(dumpResults.contains("\tDynamicDenylist:\n\t\tapp2")).isTrue();
+    }
+
+    @Test
+    public void dump_withEmptySharedPreferences_dumpExpectedResult() {
+        initDynamicDenylistManager(EMPTY_ARRAY, EMPTY_ARRAY);
+        mDynamicDenylistManager.clearSharedPreferences();
+        final StringWriter stringWriter = new StringWriter();
+        final PrintWriter printWriter = new PrintWriter(stringWriter);
+
+        mDynamicDenylistManager.dump(printWriter);
+
+        final String dumpResults = stringWriter.toString();
+        assertThat(dumpResults.contains("Dump of DynamicDenylistManager:")).isTrue();
+        assertThat(dumpResults.contains("\tManualDenylist:\n\tDynamicDenylist:")).isTrue();
+    }
+
+    @Test
+    public void onBootComplete_resetIntoManualMode() {
+        initDynamicDenylistManager(new int[] {FAKE_UID_1_INT});
+        setDenylist(new ArraySet<>(List.of(FAKE_UID_2_INT)));
+        // Ensure the testing environment for manual denylist.
+        assertThat(mManualDenyListPref.getAll()).hasSize(2);
+        assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+        // Ensure the testing environment for dynamic denylist.
+        assertThat(mDynamicDenyListPref.getAll()).hasSize(1);
+
+        mDynamicDenylistManager.onBootComplete();
+
+        // Keep the users set uids in the manual denylist.
+        assertThat(mManualDenyListPref.getAll()).hasSize(2);
+        assertTrue(mManualDenyListPref.contains(PREF_KEY_MANUAL_DENYLIST_SYNCED));
+        assertTrue(mManualDenyListPref.contains(FAKE_UID_1));
+        // Clear the uids in the dynamic denylist.
+        assertThat(mDynamicDenyListPref.getAll()).isEmpty();
+    }
+
+    private void initDynamicDenylistManager(int[] preload) {
+        initDynamicDenylistManager(preload, preload);
+    }
+
+    private void initDynamicDenylistManager(int[] preload1, int[] preload2) {
+        final Context context = spy(RuntimeEnvironment.application.getApplicationContext());
+        when(context.getApplicationContext()).thenReturn(context);
+        when(context.getPackageManager()).thenReturn(mPackageManager);
+        when(mNetworkPolicyManager.getUidsWithPolicy(anyInt()))
+                .thenReturn(preload1).thenReturn(preload2);
+        mDynamicDenylistManager = new DynamicDenylistManager(context, mNetworkPolicyManager);
+        mManualDenyListPref = mDynamicDenylistManager.getManualDenylistPref();
+        mDynamicDenyListPref = mDynamicDenylistManager.getDynamicDenylistPref();
+    }
+
+    private void setDenylist(Set<Integer> packageNameList) {
+        mDynamicDenylistManager.setDenylist(packageNameList);
+    }
+
+    private void setupPreference(SharedPreferences sharedPreferences, String... uids) {
+        final SharedPreferences.Editor editor = sharedPreferences.edit();
+        for (String uid : uids) {
+            editor.putInt(uid, POLICY_REJECT_METERED_BACKGROUND);
+        }
+        editor.apply();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
deleted file mode 100644
index 4984946..0000000
--- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsPreferenceControllerTest.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.gestures;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.admin.DevicePolicyManager;
-import android.content.Context;
-
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowSecureSettings;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.annotation.Config;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowSecureSettings.class)
-public class AssistGestureSettingsPreferenceControllerTest {
-
-    private static final String KEY_ASSIST = "gesture_assist";
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private Context mContext;
-    private FakeFeatureFactory mFactory;
-    private AssistGestureSettingsPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        doReturn(mock(DevicePolicyManager.class)).when(mContext)
-                .getSystemService(Context.DEVICE_POLICY_SERVICE);
-        mFactory = FakeFeatureFactory.setupForTest();
-        mController = new AssistGestureSettingsPreferenceController(mContext, KEY_ASSIST);
-        mController.setAssistOnly(false);
-    }
-
-    @Test
-    public void isAvailable_whenSupported_shouldReturnTrue() {
-        mController.mAssistOnly = false;
-        when(mFactory.assistGestureFeatureProvider.isSensorAvailable(mContext)).thenReturn(true);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_whenUnsupported_shouldReturnFalse() {
-        when(mFactory.assistGestureFeatureProvider.isSupported(mContext)).thenReturn(false);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-}
-
diff --git a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java b/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
deleted file mode 100644
index 17db208..0000000
--- a/tests/robotests/src/com/android/settings/gestures/AssistGestureSettingsTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.gestures;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.provider.SearchIndexableResource;
-
-import com.android.settings.R;
-import com.android.settings.testutils.FakeFeatureFactory;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-public class AssistGestureSettingsTest {
-
-    private FakeFeatureFactory mFakeFeatureFactory;
-    private AssistGestureSettings mSettings;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
-        mSettings = new AssistGestureSettings();
-    }
-
-    @Test
-    public void testGetPreferenceScreenResId() {
-        assertThat(mSettings.getPreferenceScreenResId())
-                .isEqualTo(R.xml.assist_gesture_settings);
-    }
-
-    @Test
-    public void testSearchIndexProvider_shouldIndexResource() {
-        final List<SearchIndexableResource> indexRes =
-                AssistGestureSettings.SEARCH_INDEX_DATA_PROVIDER.getXmlResourcesToIndex(
-                    RuntimeEnvironment.application, true /* enabled */);
-
-        assertThat(indexRes).isNotNull();
-        assertThat(indexRes.get(0).xmlResId).isEqualTo(mSettings.getPreferenceScreenResId());
-    }
-
-    @Test
-    public void testSearchIndexProvider_noSensor_shouldDisablePageSearch() {
-        when(mFakeFeatureFactory.assistGestureFeatureProvider.isSensorAvailable(any(Context.class)))
-                .thenReturn(false);
-
-        assertThat(AssistGestureSettings.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
-                RuntimeEnvironment.application))
-                .isNotEmpty();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java b/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java
index 8d43aaa..527ea44 100644
--- a/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/BackGestureIndicatorViewTest.java
@@ -29,8 +29,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class BackGestureIndicatorViewTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java
index fc0f45c..32dd7af 100644
--- a/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/GesturesSettingsPreferenceControllerTest.java
@@ -57,7 +57,7 @@
         doReturn(mock(DevicePolicyManager.class)).when(mActivity)
                 .getSystemService(Context.DEVICE_POLICY_SERVICE);
         FakeFeatureFactory.setupForTest();
-        mController = new GesturesSettingPreferenceController(mActivity);
+        mController = new GesturesSettingPreferenceController(mActivity, "test_key");
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java
deleted file mode 100644
index 65f7ac7..0000000
--- a/tests/robotests/src/com/android/settings/gestures/GlobalActionsPanelPreferenceControllerTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.gestures;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class GlobalActionsPanelPreferenceControllerTest {
-
-    private Context mContext;
-    private GlobalActionsPanelPreferenceController mController;
-
-    private static final String KEY_GESTURE_PANEL = "gesture_global_actions_panel";
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mController = new GlobalActionsPanelPreferenceController(mContext, KEY_GESTURE_PANEL);
-    }
-
-    @Test
-    public void testIsChecked_panelEnabled() {
-        Settings.Secure.putInt(
-                mContext.getContentResolver(), mController.ENABLED_SETTING, 1);
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void testIsChecked_panelDisabled() {
-        Settings.Secure.putInt(
-                mContext.getContentResolver(), mController.ENABLED_SETTING, 0);
-        assertThat(mController.isChecked()).isFalse();
-    }
-
-    @Test
-    public void getAvailabilityStatus_panelAvailable() {
-        Settings.Secure.putInt(
-                mContext.getContentResolver(), mController.AVAILABLE_SETTING, 1);
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(mController.AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_panelUnavailable() {
-        Settings.Secure.putInt(
-                mContext.getContentResolver(), mController.AVAILABLE_SETTING, 0);
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(mController.CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void isSliceable_correctKey() {
-        final GlobalActionsPanelPreferenceController controller =
-                new GlobalActionsPanelPreferenceController(mContext, mController.TOGGLE_KEY);
-        assertThat(controller.isSliceable()).isTrue();
-    }
-
-    @Test
-    public void isSliceable_incorrectKey() {
-        final GlobalActionsPanelPreferenceController controller =
-                new GlobalActionsPanelPreferenceController(mContext, "bad_key");
-        assertThat(controller.isSliceable()).isFalse();
-    }
-
-    @Test
-    public void isPublicSlice_returnTrue() {
-        assertThat(mController.isPublicSlice()).isTrue();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
index 6302f80..5262a16 100644
--- a/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/LabeledSeekBarPreferenceTest.java
@@ -42,6 +42,7 @@
 import com.android.settings.widget.LabeledSeekBarPreference;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -150,6 +151,7 @@
         assertThat(mLabelFrame.getVisibility()).isEqualTo(View.GONE);
     }
 
+    @Ignore("b/313594999")
     @Test
     public void setIconAttributes_iconVisible() {
         final AttributeSet attributeSet = Robolectric.buildAttributeSet()
@@ -204,6 +206,7 @@
         new LabeledSeekBarPreference(mContext, attributeSet);
     }
 
+    @Ignore("b/313594999")
     @Test
     public void setContentDescriptionWithIcon_success() {
         final String startDescription =
diff --git a/tests/robotests/src/com/android/settings/gestures/OneHandedActionPullDownPrefControllerTest.java b/tests/robotests/src/com/android/settings/gestures/OneHandedActionPullDownPrefControllerTest.java
index e6b0343..de07fe0 100644
--- a/tests/robotests/src/com/android/settings/gestures/OneHandedActionPullDownPrefControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/OneHandedActionPullDownPrefControllerTest.java
@@ -26,6 +26,7 @@
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -76,6 +77,7 @@
                 .isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
     }
 
+    @Ignore("b/313541907")
     @Test
     public void getAvailabilityStatus_setNavi3ButtonMode_shouldDisabled() {
         SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
diff --git a/tests/robotests/src/com/android/settings/gestures/OneHandedActionShowNotificationPrefControllerTest.java b/tests/robotests/src/com/android/settings/gestures/OneHandedActionShowNotificationPrefControllerTest.java
index da27191..6d13056 100644
--- a/tests/robotests/src/com/android/settings/gestures/OneHandedActionShowNotificationPrefControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/OneHandedActionShowNotificationPrefControllerTest.java
@@ -26,6 +26,7 @@
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -85,6 +86,7 @@
                 .isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
     }
 
+    @Ignore("b/313541907")
     @Test
     public void getAvailabilityStatus_setNavi3ButtonMode_shouldDisabled() {
         SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
diff --git a/tests/robotests/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceControllerTest.java
index 599d4e0..118c58a 100644
--- a/tests/robotests/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/OneHandedMainSwitchPreferenceControllerTest.java
@@ -25,6 +25,7 @@
 import com.android.settings.core.BasePreferenceController;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -83,6 +84,7 @@
                 .isEqualTo(BasePreferenceController.DISABLED_DEPENDENT_SETTING);
     }
 
+    @Ignore("b/313541907")
     @Test
     public void getAvailabilityStatus_set3ButtonMode_shouldDisabled() {
         SystemProperties.set(OneHandedSettingsUtils.SUPPORT_ONE_HANDED_MODE, "true");
diff --git a/tests/robotests/src/com/android/settings/gestures/OneHandedPreferenceCategoryControllerTest.java b/tests/robotests/src/com/android/settings/gestures/OneHandedPreferenceCategoryControllerTest.java
index 112e04a..b3d4934 100644
--- a/tests/robotests/src/com/android/settings/gestures/OneHandedPreferenceCategoryControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/OneHandedPreferenceCategoryControllerTest.java
@@ -30,6 +30,7 @@
 import com.android.settings.R;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -61,6 +62,7 @@
         when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
     }
 
+    @Ignore("b/313541907")
     @Test
     public void getTitle_set3ButtonMode_shouldReturnSetShortcutTo() {
         mUtils.setNavigationBarMode(mContext, "0" /* 3 button */);
diff --git a/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java
index 5f25759..67618c8 100644
--- a/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/gestures/PreventRingingSwitchPreferenceControllerTest.java
@@ -116,7 +116,7 @@
         Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
                 VOLUME_HUSH_OFF);
 
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
 
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_VIBRATE);
@@ -127,7 +127,7 @@
         Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
                 VOLUME_HUSH_MUTE);
 
-        mController.onSwitchChanged(null, false);
+        mController.onCheckedChanged(null, false);
 
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_OFF);
@@ -139,7 +139,7 @@
         Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
                 VOLUME_HUSH_MUTE);
 
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
 
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_MUTE);
@@ -151,7 +151,7 @@
         Settings.Secure.putInt(mContext.getContentResolver(), Settings.Secure.VOLUME_HUSH_GESTURE,
                 VOLUME_HUSH_VIBRATE);
 
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
 
         assertThat(Settings.Secure.getInt(mContext.getContentResolver(),
                 Settings.Secure.VOLUME_HUSH_GESTURE, UNKNOWN)).isEqualTo(VOLUME_HUSH_VIBRATE);
diff --git a/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java b/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java
index 2c16db5..6cd4f16 100644
--- a/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/SettingsHomepageActivityTest.java
@@ -29,6 +29,7 @@
 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;
@@ -44,6 +45,7 @@
 import android.widget.FrameLayout;
 
 import androidx.fragment.app.Fragment;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProviderImpl;
@@ -53,15 +55,14 @@
 import com.android.settingslib.core.lifecycle.HideNonSystemOverlayMixin;
 
 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;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
@@ -71,14 +72,14 @@
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowUserManager.class,
-        SettingsHomepageActivityTest.ShadowSuggestionFeatureProviderImpl.class})
+@Config(shadows = {
+        ShadowUserManager.class,
+        SettingsHomepageActivityTest.ShadowSuggestionFeatureProviderImpl.class,
+        ShadowActivityManager.class,
+})
 public class SettingsHomepageActivityTest {
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-    }
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     @After
     public void tearDown() {
@@ -103,7 +104,6 @@
         assertThat(avatarView.getVisibility()).isNotEqualTo(View.VISIBLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void launch_configEnabled_shouldShowAvatar() {
@@ -118,7 +118,8 @@
     @Config(qualifiers = "mcc999")
     public void launch_LowRamDevice_shouldHideAvatar() {
         final ShadowActivityManager activityManager = Shadow.extract(
-                RuntimeEnvironment.application.getSystemService(ActivityManager.class));
+                ApplicationProvider.getApplicationContext().getSystemService(
+                        ActivityManager.class));
         activityManager.setIsLowRamDevice(true);
 
         final SettingsHomepageActivity activity = Robolectric.buildActivity(
@@ -167,6 +168,19 @@
     }
 
     @Test
+    public void showHomepageWithSuggestion_callAfterOnStop_shouldUpdateVisibility() {
+        final SettingsHomepageActivity activity = Robolectric.buildActivity(
+                SettingsHomepageActivity.class).create().get();
+        final View suggestionTile = activity.findViewById(R.id.suggestion_content);
+
+        activity.showHomepageWithSuggestion(true);
+        activity.onStop();
+        activity.showHomepageWithSuggestion(false);
+
+        assertThat(suggestionTile.getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
     public void onStart_isNotDebuggable_shouldHideSystemOverlay() {
         ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", false);
 
@@ -209,6 +223,28 @@
                 & SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS).isEqualTo(0);
     }
 
+    @Test
+    public void onCreate_notTaskRoot_shouldFinishActivity() {
+        SettingsHomepageActivity activity =
+                spy(Robolectric.buildActivity(SettingsHomepageActivity.class).get());
+        doReturn(false).when(activity).isTaskRoot();
+
+        activity.onCreate(/* savedInstanceState */ null);
+
+        verify(activity).finish();
+    }
+
+    @Test
+    public void onCreate_singleTaskActivity_shouldNotFinishActivity() {
+        SettingsHomepageActivity activity =
+                spy(Robolectric.buildActivity(DeepLinkHomepageActivity.class).get());
+        doReturn(false).when(activity).isTaskRoot();
+
+        activity.onCreate(/* savedInstanceState */ null);
+
+        verify(activity, never()).finish();
+    }
+
     /** This test is for large screen devices Activity embedding. */
     @Test
     @Config(shadows = ShadowActivityEmbeddingUtils.class)
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java
index 5dfe8b9..8a10bd9 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardFeatureProviderImplTest.java
@@ -18,12 +18,12 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.annotation.Nullable;
 import android.content.ContentValues;
 import android.content.Context;
 import android.database.Cursor;
 import android.database.sqlite.SQLiteDatabase;
 
+import androidx.annotation.Nullable;
 import androidx.slice.SliceProvider;
 import androidx.slice.widget.SliceLiveData;
 
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
index fceb79d..1967aef 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardLoaderTest.java
@@ -145,7 +145,7 @@
     @Test
     public void getCardCount_hasConfiguredCardCount_returnConfiguredCardCount() {
         int configCount = 4;
-        Settings.Global.putLong(mContext.getContentResolver(),
+        Settings.Global.putInt(mContext.getContentResolver(),
                 ContextualCardLoader.CONTEXTUAL_CARD_COUNT, configCount);
 
         assertThat(mContextualCardLoader.getCardCount()).isEqualTo(configCount);
@@ -168,6 +168,7 @@
                 .setName("test_dark_theme")
                 .setCardType(ContextualCard.CardType.SLICE)
                 .setSliceUri(CustomSliceRegistry.DARK_THEME_SLICE_URI)
+                .setCategory(STICKY_VALUE)
                 .build());
         cards.add(new ContextualCard.Builder()
                 .setName("test_gesture")
@@ -176,12 +177,6 @@
                         "content://com.android.settings.test.slices/action/gesture_pick_up"))
                 .build());
         cards.add(new ContextualCard.Builder()
-                .setName("test_wifi")
-                .setCardType(ContextualCard.CardType.SLICE)
-                .setSliceUri(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI)
-                .setCategory(STICKY_VALUE)
-                .build());
-        cards.add(new ContextualCard.Builder()
                 .setName("test_connected")
                 .setCardType(ContextualCard.CardType.SLICE)
                 .setSliceUri(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI)
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java
index f3c3e12..b53f760 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/ContextualCardManagerTest.java
@@ -61,7 +61,6 @@
 import com.android.settingslib.core.lifecycle.events.OnStop;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -152,7 +151,6 @@
         assertThat(actual).containsExactlyElementsIn(expected);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void loadContextualCards_restartLoaderNotNeeded_shouldInitLoader() {
@@ -162,7 +160,6 @@
                 any(ContextualCardManager.CardContentLoaderCallbacks.class));
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void loadContextualCards_restartLoaderNeeded_shouldRestartLoaderAndSetIsFirstLaunch() {
@@ -237,7 +234,7 @@
     @Test
     public void sortCards_hasStickyCards_stickyShouldAlwaysBeTheLast() {
         final List<ContextualCard> cards = new ArrayList<>();
-        cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI,
+        cards.add(buildContextualCard(CustomSliceRegistry.FACE_ENROLL_SLICE_URI,
                 ContextualCardProto.ContextualCard.Category.STICKY_VALUE, 1.02f));
         cards.add(buildContextualCard(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI,
                 ContextualCardProto.ContextualCard.Category.STICKY_VALUE, 1.01f));
@@ -249,7 +246,7 @@
         assertThat(sortedCards.get(cards.size() - 1).getSliceUri())
                 .isEqualTo(CustomSliceRegistry.BLUETOOTH_DEVICES_SLICE_URI);
         assertThat(sortedCards.get(cards.size() - 2).getSliceUri())
-                .isEqualTo(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI);
+                .isEqualTo(CustomSliceRegistry.FACE_ENROLL_SLICE_URI);
     }
 
     @Test
@@ -614,7 +611,7 @@
     @Test
     public void getCardsWithViewType_hasOneStickySlice_shouldHaveOneStickyCard() {
         final List<ContextualCard> cards = new ArrayList<>();
-        cards.add(buildContextualCard(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString()));
+        cards.add(buildContextualCard(CustomSliceRegistry.FACE_ENROLL_SLICE_URI.toString()));
         cards.add(buildContextualCard(CustomSliceRegistry.LOW_STORAGE_SLICE_URI.toString()));
         final List<Integer> categories = Arrays.asList(
                 ContextualCardProto.ContextualCard.Category.STICKY_VALUE,
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java
index d4b67f5..dcf3387 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/SettingsContextualCardProviderTest.java
@@ -70,16 +70,16 @@
     }
 
     @Test
-    public void getContextualCards_wifiSlice_shouldGetImportantCategory() {
+    public void getContextualCards_darkThemeSlice_shouldGetImportantCategory() {
         final ContextualCardList cards = mProvider.getContextualCards();
-        ContextualCard wifiCard = null;
+        ContextualCard darkThemeCard = null;
         for (ContextualCard card : cards.getCardList()) {
             if (card.getSliceUri().equals(
-                    CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI.toString())) {
-                wifiCard = card;
+                    CustomSliceRegistry.DARK_THEME_SLICE_URI.toString())) {
+                darkThemeCard = card;
             }
         }
 
-        assertThat(wifiCard.getCardCategory()).isEqualTo(ContextualCard.Category.IMPORTANT);
+        assertThat(darkThemeCard.getCardCategory()).isEqualTo(ContextualCard.Category.IMPORTANT);
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/AbnormalRingerConditionControllerBaseTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/AbnormalRingerConditionControllerBaseTest.java
index 5d5070b..b75240c 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/AbnormalRingerConditionControllerBaseTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/AbnormalRingerConditionControllerBaseTest.java
@@ -32,8 +32,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class AbnormalRingerConditionControllerBaseTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/BackgroundDataConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/BackgroundDataConditionControllerTest.java
index 1413be3..aa4e11f 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/BackgroundDataConditionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/BackgroundDataConditionControllerTest.java
@@ -25,7 +25,6 @@
 import android.net.NetworkPolicyManager;
 
 import com.android.settings.Settings;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -53,8 +52,7 @@
         MockitoAnnotations.initMocks(this);
         ShadowApplication.getInstance().setSystemService(Context.NETWORK_POLICY_SERVICE,
                 mNetworkPolicyManager);
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
         mController = new BackgroundDataConditionController(mActivity, mConditionManager);
     }
 
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java
index 58a8d5b..9e83641 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/GrayscaleConditionControllerTest.java
@@ -29,6 +29,7 @@
 import android.os.UserHandle;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -56,6 +57,7 @@
         mController = new GrayscaleConditionController(mContext, mConditionManager);
     }
 
+    @Ignore("b/313597163")
     @Test
     public void isDisplayable_noIntent_shouldReturnFalse() {
         assertThat(mController.isDisplayable()).isFalse();
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/WorkModeConditionControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/WorkModeConditionControllerTest.java
index aedd601..299780c 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/WorkModeConditionControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/conditional/WorkModeConditionControllerTest.java
@@ -24,7 +24,6 @@
 import android.content.ComponentName;
 
 import com.android.settings.Settings;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -47,8 +46,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = spy((Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(Activity.class));
         mController = new WorkModeConditionController(mActivity, mConditionManager);
     }
 
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java
index 582c4a1..502a62b 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/legacysuggestion/LegacySuggestionContextualCardControllerTest.java
@@ -34,7 +34,6 @@
 import com.android.settingslib.suggestions.SuggestionController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -69,7 +68,6 @@
         assertThat(controller.mSuggestionController).isNotNull();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void init_configOff_shouldNotCreateSuggestionController() {
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java
index e34737b..43630e8 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/BluetoothUpdateWorkerTest.java
@@ -16,12 +16,9 @@
 
 package com.android.settings.homepage.contextualcards.slices;
 
-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.ContentResolver;
 import android.content.Context;
 import android.net.Uri;
 
@@ -42,49 +39,46 @@
     private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
 
     private BluetoothUpdateWorker mBluetoothUpdateWorker;
-    private ContentResolver mResolver;
     private Context mContext;
 
     @Before
     public void setUp() {
-        mContext = spy(RuntimeEnvironment.application);
-        mBluetoothUpdateWorker = new BluetoothUpdateWorker(mContext, URI);
-        mResolver = mock(ContentResolver.class);
-        doReturn(mResolver).when(mContext).getContentResolver();
+        mContext = RuntimeEnvironment.getApplication();
+        mBluetoothUpdateWorker = spy(new BluetoothUpdateWorker(mContext, URI));
     }
 
     @Test
     public void onAclConnectionStateChanged_shouldNotifyChange() {
         mBluetoothUpdateWorker.onAclConnectionStateChanged(null, 0);
 
-        verify(mResolver).notifyChange(URI, null);
+        verify(mBluetoothUpdateWorker).notifySliceChange();
     }
 
     @Test
     public void onActiveDeviceChanged_shouldNotifyChange() {
         mBluetoothUpdateWorker.onActiveDeviceChanged(null, 0);
 
-        verify(mResolver).notifyChange(URI, null);
+        verify(mBluetoothUpdateWorker).notifySliceChange();
     }
 
     @Test
     public void onBluetoothStateChanged_shouldNotifyChange() {
         mBluetoothUpdateWorker.onBluetoothStateChanged(0);
 
-        verify(mResolver).notifyChange(URI, null);
+        verify(mBluetoothUpdateWorker).notifySliceChange();
     }
 
     @Test
     public void onConnectionStateChanged_shouldNotifyChange() {
         mBluetoothUpdateWorker.onConnectionStateChanged(null, 0);
 
-        verify(mResolver).notifyChange(URI, null);
+        verify(mBluetoothUpdateWorker).notifySliceChange();
     }
 
     @Test
     public void onProfileConnectionStateChanged_shouldNotifyChange() {
         mBluetoothUpdateWorker.onProfileConnectionStateChanged(null, 0, 0);
 
-        verify(mResolver).notifyChange(URI, null);
+        verify(mBluetoothUpdateWorker).notifySliceChange();
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java
index 3be65dc..4377ec0 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/DarkThemeSliceTest.java
@@ -42,14 +42,19 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.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.ShadowDrawable.class,
+})
 public class DarkThemeSliceTest {
     @Mock
     private BatteryManager mBatteryManager;
@@ -125,6 +130,7 @@
         assertThat(mDarkThemeSlice.isAvailable(mContext)).isTrue();
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getSlice_batterySaver_returnErrorSlice() {
         when(mPowerManager.isPowerSaveMode()).thenReturn(true);
@@ -134,6 +140,7 @@
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getSlice_notAvailable_returnErrorSlice() {
         mContext.getResources().getConfiguration().uiMode = UI_MODE_NIGHT_YES;
@@ -143,6 +150,7 @@
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getSlice_newSession_notAvailable_returnErrorSlice() {
         // previous displayed: yes
@@ -169,6 +177,7 @@
         assertThat(mDarkThemeSlice.getSlice()).isNotNull();
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getSlice_sliceNotClicked_notAvailable_returnErrorSlice() {
         mDarkThemeSlice.sSliceClicked = false;
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java
index b8b2aa8..8c25260 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardControllerTest.java
@@ -144,7 +144,6 @@
                 .isEqualTo(ContextualCardFeedbackDialog.class.getName());
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isFeedbackEnabled_hasFeedbackEmail_debug_returnTrue() {
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java
index cf8d361..71c839d 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SliceContextualCardRendererTest.java
@@ -38,20 +38,19 @@
 import androidx.lifecycle.LiveData;
 import androidx.recyclerview.widget.LinearLayoutManager;
 import androidx.recyclerview.widget.RecyclerView;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.builders.SliceAction;
 import androidx.slice.Slice;
 import androidx.slice.SliceProvider;
+import androidx.slice.builders.ListBuilder;
+import androidx.slice.builders.SliceAction;
 import androidx.slice.widget.SliceLiveData;
 
-
 import com.android.settings.R;
 import com.android.settings.homepage.contextualcards.ContextualCard;
 import com.android.settings.homepage.contextualcards.ContextualCardsFragment;
 import com.android.settings.homepage.contextualcards.ControllerRendererPool;
-import com.android.settings.wifi.slice.ContextualWifiSlice;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -102,6 +101,7 @@
                 .isNull();
     }
 
+    @Ignore("b/313598030")
     @Test
     public void bindView_viewTypeFullWidth_shouldSetCachedSlice() {
         final RecyclerView.ViewHolder viewHolder = getSliceViewHolder();
@@ -113,6 +113,7 @@
                 .isNotNull();
     }
 
+    @Ignore("b/313598030")
     @Test
     public void bindView_viewTypeSticky_shouldSetCachedSlice() {
         final RecyclerView.ViewHolder viewHolder = spy(getStickyViewHolder());
diff --git a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java
index 3e5934b..89a9ca8 100644
--- a/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java
+++ b/tests/robotests/src/com/android/settings/homepage/contextualcards/slices/SwipeDismissalDelegateTest.java
@@ -36,6 +36,7 @@
 import com.android.settings.homepage.contextualcards.slices.SliceFullCardRendererHelper.SliceViewHolder;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -67,12 +68,14 @@
         mDismissalDelegate = new SwipeDismissalDelegate(mDismissalDelegateListener);
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getMovementFlags_conditionalViewHolder_shouldDisableSwipe() {
         assertThat(mDismissalDelegate.getMovementFlags(mRecyclerView, getConditionalViewHolder()))
                 .isEqualTo(0);
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getMovementFlags_dismissalView_shouldDisableSwipe() {
         final RecyclerView.ViewHolder holder = getSliceViewHolder();
@@ -81,6 +84,7 @@
         assertThat(mDismissalDelegate.getMovementFlags(mRecyclerView, holder)).isEqualTo(0);
     }
 
+    @Ignore("b/313598030")
     @Test
     public void getMovementFlags_SliceViewHolder_shouldEnableSwipe() {
         final RecyclerView.ViewHolder holder = getSliceViewHolder();
@@ -90,6 +94,7 @@
                 .isNotEqualTo(0);
     }
 
+    @Ignore("b/313598030")
     @Test
     public void onSwipe_shouldNotifyListener() {
         mDismissalDelegate.onSwiped(getSliceViewHolder(), 1);
diff --git a/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java b/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
index 98ecc05..c6a5d64 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/AvailableVirtualKeyboardFragmentTest.java
@@ -23,11 +23,11 @@
 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.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.mock;
 
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
@@ -159,7 +159,7 @@
         mFragment.updateInputMethodPreferenceViews();
 
         verify(mValuesWrapper).getInputMethodList();
-        verify(mInputMethodManager).getEnabledInputMethodListAsUser(anyInt());
+        verify(mInputMethodManager).getEnabledInputMethodListAsUser(any(UserHandle.class));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java
index ea4675d..ae5afd2 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/GameControllerPreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import android.view.InputDevice;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -111,7 +110,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_ifDisabled_shouldReturnDisabled() {
diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java
index ee5451a..2d4af3c 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypeEnablerTest.java
@@ -27,7 +27,6 @@
 import androidx.fragment.app.FragmentActivity;
 
 import com.android.settings.R;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -35,8 +34,12 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class InputMethodAndSubtypeEnablerTest {
 
     private FragmentActivity mActivity;
@@ -45,8 +48,7 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mFragment = spy(new InputMethodAndSubtypeEnabler());
         when(mFragment.getActivity()).thenReturn(mActivity);
     }
diff --git a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java
index 26cdd0a..0d1f683 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/InputMethodAndSubtypePreferenceControllerTest.java
@@ -47,7 +47,10 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowInputMethodManagerWithMethodList.class)
+@Config(shadows = {
+        ShadowInputMethodManagerWithMethodList.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class InputMethodAndSubtypePreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java
index 7840bfd..0a1ccbb 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardLayoutPickerControllerTest.java
@@ -39,7 +39,6 @@
 import com.android.settings.testutils.shadow.ShadowInputDevice;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -50,8 +49,10 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class KeyboardLayoutPickerControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceControllerTest.java
index 1bf61a4..b8070d3 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/KeyboardSettingsPreferenceControllerTest.java
@@ -44,14 +44,21 @@
 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.List;
 
 /** Tests for {@link KeyboardSettingsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowInputManager.class,
+})
 public class KeyboardSettingsPreferenceControllerTest {
 
+    private static final int VENDOR_ID = 123;
+    private static final int PRODUCT_ID = 456;
+
     @Rule
     public MockitoRule mMockitoRule = MockitoJUnit.rule();
 
@@ -84,7 +91,9 @@
                         "TEST_DEVICE",
                         mInputDeviceIdentifier,
                         "TEST_DEVICE_LABEL",
-                        address);
+                        address,
+                        VENDOR_ID,
+                        PRODUCT_ID);
         List<HardKeyboardDeviceInfo> keyboards = new ArrayList<>();
         keyboards.add(deviceInfo);
         when(mController.getHardKeyboardList()).thenReturn(keyboards);
diff --git a/tests/robotests/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceControllerTest.java
index df05203..9ddfd5b 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/PhysicalKeyboardPreferenceControllerTest.java
@@ -52,6 +52,8 @@
     private static final String DEVICE_NAME = "deviceName";
     private static final String LAYOUT_LABEL = "deviceLayutLabel";
     private static final String BLUETOOTHADDRESS = "deviceBluetoothAddress";
+    private static final int VENDOR_ID = 123;
+    private static final int PRODUCT_ID = 456;
 
     @Mock
     private Context mContext;
@@ -84,7 +86,9 @@
                 DEVICE_NAME,
                 mIdentifier,
                 LAYOUT_LABEL,
-                BLUETOOTHADDRESS));
+                BLUETOOTHADDRESS,
+                VENDOR_ID,
+                PRODUCT_ID));
         mController = spy(new PhysicalKeyboardPreferenceController(context, null));
         when(mController.getKeyboards()).thenReturn(keyboards);
 
diff --git a/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceTest.java b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceTest.java
new file mode 100644
index 0000000..d8e54b0
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/inputmethod/SpellCheckerPreferenceTest.java
@@ -0,0 +1,75 @@
+/*
+ * 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.inputmethod;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.content.Intent;
+import android.view.View;
+import android.view.textservice.SpellCheckerInfo;
+
+import androidx.preference.PreferenceViewHolder;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class SpellCheckerPreferenceTest {
+
+    private Context mContext;
+    private PreferenceViewHolder mViewHolder;
+    private View mDivider;
+    private SpellCheckerPreference mPreference;
+    private final SpellCheckerInfo[] mScis = new SpellCheckerInfo[]{};
+
+    @Before
+    public void setUp() {
+        mContext = RuntimeEnvironment.application;
+        mPreference = new SpellCheckerPreference(mContext, mScis);
+    }
+
+    @Test
+    public void onBindViewHolder_withIntent_DividerIsVisible() {
+        final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+        mDivider = view.findViewById(
+                com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
+        mPreference.mIntent = new Intent(Intent.ACTION_MAIN);
+
+        mPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mDivider.getVisibility()).isEqualTo(View.VISIBLE);
+    }
+
+    @Test
+    public void onBindViewHolder_withoutIntent_DividerIsNotExist() {
+        final View view = spy(View.inflate(mContext, mPreference.getLayoutResource(), null));
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(view);
+        mDivider = view.findViewById(
+                com.android.settingslib.widget.preference.twotarget.R.id.two_target_divider);
+
+        mPreference.onBindViewHolder(mViewHolder);
+
+        assertThat(mDivider.getVisibility()).isEqualTo(View.GONE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
index 1b061ec..fa73768 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadBottomPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -26,25 +31,37 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link TrackpadBottomPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+})
 public class TrackpadBottomPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_bottom_right_tap";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_RIGHT_CLICK_ZONE;
 
     private Context mContext;
     private TrackpadBottomPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadBottomPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -70,6 +87,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_BOTTOM_RIGHT_TAP_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -83,6 +104,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_BOTTOM_RIGHT_TAP_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java
index 0e1705e..85d56ef 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoBackPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadGoBackPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadGoBackPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_go_back";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_BACK_ENABLED;
 
     private Context mContext;
     private TrackpadGoBackPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadGoBackPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_BACK_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_BACK_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java
index 3289bcc..6b3b3f5 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadGoHomePreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadGoHomePreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadGoHomePreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_go_home";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_HOME_ENABLED;
 
     private Context mContext;
     private TrackpadGoHomePreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadGoHomePreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_HOME_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_GO_HOME_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java
index 3df1627..005bc9f 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadNotificationsPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadNotificationsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadNotificationsPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_notifications";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_NOTIFICATION_ENABLED;
 
     private Context mContext;
     private TrackpadNotificationsPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadNotificationsPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_NOTIFICATION_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_NOTIFICATION_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
index daf1773..8449dba 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadPointerSpeedPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.hardware.input.InputSettings;
 import android.os.UserHandle;
@@ -26,15 +31,25 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link TrackpadPointerSpeedPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+})
 public class TrackpadPointerSpeedPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_pointer_speed";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_POINTER_SPEED;
@@ -42,10 +57,12 @@
     private Context mContext;
     private TrackpadPointerSpeedPreferenceController mController;
     private int mDefaultSpeed;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadPointerSpeedPreferenceController(mContext, PREFERENCE_KEY);
         mDefaultSpeed = Settings.System.getIntForUser(
                 mContext.getContentResolver(),
@@ -85,6 +102,10 @@
 
         assertThat(result).isTrue();
         assertThat(mController.getSliderPosition()).isEqualTo(inputSpeed);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_POINTER_SPEED_CHANGED),
+                eq(1));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java
index dbed542..2ef53a6 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadRecentAppsPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadRecentAppsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadRecentAppsPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_recent_apps";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_OVERVIEW_ENABLED;
 
     private Context mContext;
     private TrackpadRecentAppsPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadRecentAppsPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_RECENT_APPS_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_RECENT_APPS_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
index 93c4844..f545c38 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadReverseScrollingPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -26,25 +31,37 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link TrackpadReverseScrollingPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+})
 public class TrackpadReverseScrollingPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_reverse_scrolling";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_NATURAL_SCROLLING;
 
     private Context mContext;
     private TrackpadReverseScrollingPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadReverseScrollingPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -70,6 +87,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_REVERSE_SCROLLING_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -83,6 +104,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_REVERSE_SCROLLING_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java
index 3f16025..5e354d2 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadSwitchAppsPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.provider.Settings;
 
@@ -25,25 +30,33 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
 
 /** Tests for {@link TrackpadSwitchAppsPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
 public class TrackpadSwitchAppsPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "gesture_switch_apps";
     private static final String SETTING_KEY = Settings.Secure.TRACKPAD_GESTURE_QUICK_SWITCH_ENABLED;
 
     private Context mContext;
     private TrackpadSwitchAppsPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadSwitchAppsPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -65,6 +78,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_SWITCH_APPS_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -74,6 +91,10 @@
         int result = Settings.Secure.getInt(mContext.getContentResolver(), SETTING_KEY, 1);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_SWITCH_APPS_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
index b4b8921..8e9d026 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/TrackpadTapToClickPreferenceControllerTest.java
@@ -18,6 +18,11 @@
 
 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.verify;
+
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -26,25 +31,37 @@
 
 import com.android.settings.R;
 import com.android.settings.core.BasePreferenceController;
+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.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 /** Tests for {@link TrackpadTapToClickPreferenceController} */
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowSystemSettings.class,
+})
 public class TrackpadTapToClickPreferenceControllerTest {
+    @Rule
+    public MockitoRule rule = MockitoJUnit.rule();
 
     private static final String PREFERENCE_KEY = "trackpad_tap_to_click";
     private static final String SETTING_KEY = Settings.System.TOUCHPAD_TAP_TO_CLICK;
 
     private Context mContext;
     private TrackpadTapToClickPreferenceController mController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     public void setUp() {
         mContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mController = new TrackpadTapToClickPreferenceController(mContext, PREFERENCE_KEY);
     }
 
@@ -70,6 +87,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(1);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_TAP_TO_CLICK_CHANGED),
+                eq(true));
     }
 
     @Test
@@ -83,6 +104,10 @@
                 UserHandle.USER_CURRENT);
 
         assertThat(result).isEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(),
+                eq(SettingsEnums.ACTION_GESTURE_TAP_TO_CLICK_CHANGED),
+                eq(false));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java
index 6fe731e..dd6da3b 100644
--- a/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/inputmethod/VirtualKeyboardPreferenceControllerTest.java
@@ -33,10 +33,7 @@
 import androidx.core.text.BidiFormatter;
 import androidx.preference.Preference;
 
-import com.android.settings.R;
-
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -80,7 +77,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testVirtualKeyboard_ifDisabled_shouldNotBeShown() {
@@ -93,7 +89,7 @@
     public void updateState_noEnabledIMEs_setEmptySummary() {
         mController.updateState(mPreference);
 
-        verify(mPreference).setSummary(R.string.summary_empty);
+        verify(mPreference).setSummary(com.android.settingslib.R.string.summary_empty);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
index e2c39ec..4429dd7 100644
--- a/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/language/LanguageAndInputSettingsTest.java
@@ -45,7 +45,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -115,7 +114,6 @@
         assertThat(controllers.isEmpty()).isFalse();
     }
 
-    @Ignore
     @Test
     public void testNonIndexableKeys_existInXmlLayout() {
         final Context context = spy(RuntimeEnvironment.application);
diff --git a/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java
index 8a362cd..aa4c32e 100644
--- a/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/language/PhoneLanguagePreferenceControllerTest.java
@@ -31,7 +31,6 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -94,7 +93,6 @@
                 .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testIsAvailable_ifDisabled_shouldReturnFalse() {
diff --git a/tests/robotests/src/com/android/settings/language/PointerSpeedControllerTest.java b/tests/robotests/src/com/android/settings/language/PointerSpeedControllerTest.java
index 9a3fe55..a917a6d 100644
--- a/tests/robotests/src/com/android/settings/language/PointerSpeedControllerTest.java
+++ b/tests/robotests/src/com/android/settings/language/PointerSpeedControllerTest.java
@@ -23,7 +23,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -34,25 +33,24 @@
 @RunWith(RobolectricTestRunner.class)
 public class PointerSpeedControllerTest {
 
-    private Context mContext;
-    private PointerSpeedController mController;
+  private Context mContext;
+  private PointerSpeedController mController;
 
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application.getApplicationContext());
-        mController = new PointerSpeedController(mContext);
-    }
+  @Before
+  public void setUp() {
+    MockitoAnnotations.initMocks(this);
+    mContext = spy(RuntimeEnvironment.application.getApplicationContext());
+    mController = new PointerSpeedController(mContext);
+  }
 
-    @Test
-    public void testDeviceAdministrators_byDefault_shouldBeShown() {
-        assertThat(mController.isAvailable()).isTrue();
-    }
+  @Test
+  public void testDeviceAdministrators_byDefault_shouldBeShown() {
+    assertThat(mController.isAvailable()).isTrue();
+  }
 
-    @Ignore
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void testDeviceAdministrators_ifDisabled_shouldNotBeShown() {
-        assertThat(mController.isAvailable()).isFalse();
-    }
+  @Test
+  @Config(qualifiers = "mcc999")
+  public void testDeviceAdministrators_ifDisabled_shouldNotBeShown() {
+    assertThat(mController.isAvailable()).isFalse();
+  }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java b/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
index 48caecd..2989324 100644
--- a/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/AppLocalePickerActivityTest.java
@@ -18,6 +18,8 @@
 
 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.spy;
 import static org.mockito.Mockito.times;
@@ -27,17 +29,23 @@
 import android.app.Activity;
 import android.app.ApplicationPackageManager;
 import android.app.LocaleConfig;
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.InstallSourceInfo;
 import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager.NameNotFoundException;
 import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
 import android.net.Uri;
 import android.os.LocaleList;
 import android.os.Process;
+import android.os.SystemClock;
 import android.os.UserHandle;
+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.annotation.ArrayRes;
@@ -45,9 +53,12 @@
 import com.android.internal.app.LocaleStore;
 import com.android.settings.applications.AppInfoBase;
 import com.android.settings.applications.AppLocaleUtil;
+import com.android.settings.flags.Flags;
+import com.android.settings.testutils.FakeFeatureFactory;
 
 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;
@@ -67,8 +78,10 @@
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
+import java.util.Calendar;
 import java.util.List;
 import java.util.Locale;
+import java.util.Set;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
@@ -79,6 +92,13 @@
 public class AppLocalePickerActivityTest {
     private static final String TEST_PACKAGE_NAME = "com.android.settings";
     private static final Uri TEST_PACKAGE_URI = Uri.parse("package:" + TEST_PACKAGE_NAME);
+    private static final String EN_CA = "en-CA";
+    private static final String EN_US = "en-US";
+    private static int sUid;
+
+    private FakeFeatureFactory mFeatureFactory;
+    private LocaleNotificationDataManager mDataManager;
+    private AppLocalePickerActivity mActivity;
 
     @Mock
     LocaleStore.LocaleInfo mLocaleInfo;
@@ -87,6 +107,9 @@
 
     @Rule
     public MockitoRule rule = MockitoJUnit.rule();
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
 
     private Context mContext;
     private ShadowPackageManager mPackageManager;
@@ -99,10 +122,12 @@
         when(mLocaleConfig.getStatus()).thenReturn(LocaleConfig.STATUS_SUCCESS);
         when(mLocaleConfig.getSupportedLocales()).thenReturn(LocaleList.forLanguageTags("en-US"));
         ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", mLocaleConfig);
+        sUid = Process.myUid();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
     }
 
     @After
-    public void tearDown() {
+    public void tearDown() throws Exception {
         mPackageManager.removePackage(TEST_PACKAGE_NAME);
         ReflectionHelpers.setStaticField(AppLocaleUtil.class, "sLocaleConfig", null);
         ShadowResources.setDisAllowPackage(false);
@@ -178,6 +203,7 @@
         assertThat(controller.get().isFinishing()).isTrue();
     }
 
+    @Ignore("b/313604701")
     @Test
     public void onLocaleSelected_getLocaleNotNull_getLanguageTag() {
         ActivityController<TestAppLocalePickerActivity> controller =
@@ -210,13 +236,298 @@
         assertThat(controller.get().isFinishing()).isTrue();
     }
 
+    @Test
+    public void onLocaleSelected_logLocaleSource() {
+        ActivityController<TestAppLocalePickerActivity> controller =
+                initActivityController(true);
+        LocaleList.setDefault(LocaleList.forLanguageTags("ja-JP,en-CA,en-US"));
+        Locale locale = new Locale("en", "US");
+        when(mLocaleInfo.getLocale()).thenReturn(locale);
+        when(mLocaleInfo.isSystemLocale()).thenReturn(false);
+        when(mLocaleInfo.isSuggested()).thenReturn(true);
+        when(mLocaleInfo.isSuggestionOfType(LocaleStore.LocaleInfo.SUGGESTION_TYPE_SIM)).thenReturn(
+                true);
+        when(mLocaleInfo.isSuggestionOfType(
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_SYSTEM_AVAILABLE_LANGUAGE)).thenReturn(
+                true);
+        when(mLocaleInfo.isSuggestionOfType(
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_OTHER_APP_LANGUAGE)).thenReturn(
+                true);
+        when(mLocaleInfo.isSuggestionOfType(
+                LocaleStore.LocaleInfo.SUGGESTION_TYPE_IME_LANGUAGE)).thenReturn(
+                true);
+
+        controller.create();
+        AppLocalePickerActivity mActivity = controller.get();
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        int localeSource = 15; // SIM_LOCALE | SYSTEM_LOCALE |IME_LOCALE|APP_LOCALE
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(), eq(SettingsEnums.ACTION_CHANGE_APP_LANGUAGE_FROM_SUGGESTED),
+                eq(localeSource));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void onLocaleSelected_evaluateNotification_simpleLocaleUpdate_localeCreatedWithUid()
+            throws Exception {
+        sUid = 100;
+        initLocaleNotificationEnvironment();
+        ActivityController<TestAppLocalePickerActivity> controller = initActivityController(true);
+        controller.create();
+        AppLocalePickerActivity mActivity = controller.get();
+        LocaleNotificationDataManager dataManager =
+                NotificationController.getInstance(mActivity).getDataManager();
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is not triggered.
+        // In the sharedpreference, en-US's uid list contains uid1 and the notificationCount
+        // equals 0.
+        NotificationInfo info = dataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection().contains(sUid)).isTrue();
+        assertThat(info.getNotificationCount()).isEqualTo(0);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isEqualTo(0);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void onLocaleSelected_evaluateNotification_twoLocaleUpdate_triggerNotification()
+            throws Exception {
+        // App with uid 101 changed its locale from System to en-US.
+        sUid = 101;
+        initLocaleNotificationEnvironment();
+        // Initialize the proto to contain en-US locale. Its uid list includes 100.
+        Set<Integer> uidSet = Set.of(100);
+        initSharedPreference(EN_US, uidSet, 0, 0, 0, 0);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is triggered.
+        // In the proto file, en-US's uid list contains 101, the notificationCount equals 1, and
+        // LastNotificationTime > 0.
+        NotificationInfo info = mDataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection()).contains(sUid);
+        assertThat(info.getNotificationCount()).isEqualTo(1);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isNotEqualTo(0);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(), eq(SettingsEnums.ACTION_NOTIFICATION_FOR_SYSTEM_LOCALE));
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void onLocaleSelected_evaluateNotification_oddLocaleUpdate_uidAddedWithoutNotification()
+            throws Exception {
+        // App with uid 102 changed its locale from System to en-US.
+        sUid = 102;
+        initLocaleNotificationEnvironment();
+        // Initialize the proto to include en-US locale. Its uid list includes 100,101 and
+        // the notification count equals 1.
+        int notificationId = (int) SystemClock.uptimeMillis();
+        Set<Integer> uidSet = Set.of(100, 101);
+        initSharedPreference(EN_US, uidSet, 0, 1,
+                Calendar.getInstance().getTimeInMillis(), notificationId);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is not triggered because count % 2 != 0.
+        // In the proto file, en-US's uid list contains 102, the notificationCount equals 1, and
+        // LastNotificationTime > 0.
+        NotificationInfo info = mDataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection()).contains(sUid);
+        assertThat(info.getNotificationCount()).isEqualTo(1);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isNotEqualTo(0);
+        assertThat(info.getNotificationId()).isEqualTo(notificationId);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void onLocaleSelected_evaluateNotification_frequentLocaleUpdate_uidAddedNoNotification()
+            throws Exception {
+        // App with uid 103 changed its locale from System to en-US.
+        sUid = 103;
+        initLocaleNotificationEnvironment();
+        // Initialize the proto to include en-US locale. Its uid list includes 100,101,102 and
+        // the notification count equals 1.
+        int notificationId = (int) SystemClock.uptimeMillis();
+        Set<Integer> uidSet = Set.of(100, 101, 102);
+        initSharedPreference(EN_US, uidSet, 0, 1,
+                Calendar.getInstance().getTimeInMillis(), notificationId);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is not triggered because the duration is less than the threshold.
+        // In the proto file, en-US's uid list contains 103, the notificationCount equals 1, and
+        // LastNotificationTime > 0.
+        NotificationInfo info = mDataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection()).contains(sUid);
+        assertThat(info.getNotificationCount()).isEqualTo(1);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isNotEqualTo(0);
+        assertThat(info.getNotificationId()).isEqualTo(notificationId);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void onLocaleSelected_evaluateNotification_2ndOddLocaleUpdate_uidAddedNoNotification()
+            throws Exception {
+        // App with uid 104 changed its locale from System to en-US.
+        sUid = 104;
+        initLocaleNotificationEnvironment();
+
+        // Initialize the proto to include en-US locale. Its uid list includes 100,101,102,103 and
+        // the notification count equals 1.
+        int notificationId = (int) SystemClock.uptimeMillis();
+        Set<Integer> uidSet = Set.of(100, 101, 102, 103);
+        initSharedPreference(EN_US, uidSet, 0, 1, Calendar.getInstance().getTimeInMillis(),
+                notificationId);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is not triggered because uid count % 2 != 0
+        // In the proto file, en-US's uid list contains uid4, the notificationCount equals 1, and
+        // LastNotificationTime > 0.
+        NotificationInfo info = mDataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection()).contains(sUid);
+        assertThat(info.getNotificationCount()).isEqualTo(1);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isNotEqualTo(0);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void testEvaluateLocaleNotification_evenLocaleUpdate_trigger2ndNotification()
+            throws Exception {
+        sUid = 105;
+        initLocaleNotificationEnvironment();
+
+        // Initialize the proto to include en-US locale. Its uid list includes 100,101,102,103,104
+        // and the notification count equals 1.
+        // Eight days later, App with uid 105 changed its locale from System to en-US
+        int notificationId = (int) SystemClock.uptimeMillis();
+        Set<Integer> uidSet = Set.of(100, 101, 102, 103, 104);
+        Calendar now = Calendar.getInstance();
+        now.add(Calendar.DAY_OF_MONTH, -8); // Set the lastNotificationTime to eight days ago.
+        long lastNotificationTime = now.getTimeInMillis();
+        initSharedPreference(EN_US, uidSet, 0, 1, lastNotificationTime, notificationId);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is triggered.
+        // In the proto file, en-US's uid list contains 105, the notificationCount equals 2, and
+        // LastNotificationTime is updated.
+        NotificationInfo info = mDataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection()).contains(sUid);
+        assertThat(info.getNotificationCount()).isEqualTo(2);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isGreaterThan(lastNotificationTime);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void testEvaluateLocaleNotification_localeUpdateReachThreshold_noUidNorNotification()
+            throws Exception {
+        // App with uid 106 changed its locale from System to en-US.
+        sUid = 106;
+        initLocaleNotificationEnvironment();
+        // Initialize the proto to include en-US locale. Its uid list includes
+        // 100,101,102,103,104,105 and the notification count equals 2.
+        int notificationId = (int) SystemClock.uptimeMillis();
+        Set<Integer> uidSet = Set.of(100, 101, 102, 103, 104, 105);
+        Calendar now = Calendar.getInstance();
+        now.add(Calendar.DAY_OF_MONTH, -8);
+        long lastNotificationTime = now.getTimeInMillis();
+        initSharedPreference(EN_US, uidSet, 0, 2, lastNotificationTime, notificationId);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is not triggered because the notification count threshold, 2, is reached.
+        // In the proto file, en-US's uid list contains 106, the notificationCount equals 2, and
+        // LastNotificationTime > 0.
+        NotificationInfo info = mDataManager.getNotificationInfo(EN_US);
+        assertThat(info.getUidCollection().contains(sUid)).isFalse();
+        assertThat(info.getNotificationCount()).isEqualTo(2);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isEqualTo(lastNotificationTime);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void testEvaluateLocaleNotification_appChangedLocales_newLocaleCreated()
+            throws Exception {
+        sUid = 100;
+        initLocaleNotificationEnvironment();
+        // App with uid 100 changed its locale from en-US to ja-JP.
+        Locale locale = Locale.forLanguageTag("ja-JP");
+        when(mLocaleInfo.getLocale()).thenReturn(locale);
+        // Initialize the proto to include en-US locale. Its uid list includes
+        // 100,101,102,103,104,105,106 and the notification count equals 2.
+        int notificationId = (int) SystemClock.uptimeMillis();
+        Set<Integer> uidSet = Set.of(100, 101, 102, 103, 104, 105, 106);
+        Calendar now = Calendar.getInstance();
+        now.add(Calendar.DAY_OF_MONTH, -8);
+        initSharedPreference(EN_US, uidSet, 0, 2, now.getTimeInMillis(),
+                notificationId);
+
+        mActivity.onLocaleSelected(mLocaleInfo);
+
+        // Notification is not triggered
+        // In the proto file, a map for ja-JP is created. Its uid list contains uid1.
+        NotificationInfo info = mDataManager.getNotificationInfo("ja-JP");
+        assertThat(info.getUidCollection()).contains(sUid);
+        assertThat(info.getNotificationCount()).isEqualTo(0);
+        assertThat(info.getDismissCount()).isEqualTo(0);
+        assertThat(info.getLastNotificationTimeMs()).isEqualTo(0);
+
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    private void initLocaleNotificationEnvironment() throws Exception {
+        LocaleList.setDefault(LocaleList.forLanguageTags(EN_CA));
+
+        Locale locale = Locale.forLanguageTag("en-US");
+        when(mLocaleInfo.getLocale()).thenReturn(locale);
+        when(mLocaleInfo.isSystemLocale()).thenReturn(false);
+        when(mLocaleInfo.isAppCurrentLocale()).thenReturn(false);
+
+        ActivityController<TestAppLocalePickerActivity> controller = initActivityController(true);
+        controller.create();
+        mActivity = controller.get();
+        mDataManager = NotificationController.getInstance(mActivity).getDataManager();
+    }
+
+    private void initSharedPreference(String locale, Set<Integer> uidSet, int dismissCount,
+            int notificationCount, long lastNotificationTime, int notificationId)
+            throws Exception {
+        NotificationInfo info = new NotificationInfo(uidSet, notificationCount, dismissCount,
+                lastNotificationTime, notificationId);
+        mDataManager.putNotificationInfo(locale, info);
+    }
+
     private ActivityController<TestAppLocalePickerActivity> initActivityController(
             boolean hasPackageName) {
         Intent data = new Intent();
         if (hasPackageName) {
             data.setData(TEST_PACKAGE_URI);
         }
-        data.putExtra(AppInfoBase.ARG_PACKAGE_UID, Process.myUid());
+        data.putExtra(AppInfoBase.ARG_PACKAGE_UID, sUid);
         ActivityController<TestAppLocalePickerActivity> activityController =
                 Robolectric.buildActivity(TestAppLocalePickerActivity.class, data);
         Activity activity = activityController.get();
@@ -259,6 +570,19 @@
         private static void setNoLaunchEntry(boolean noLaunchEntry) {
             sNoLaunchEntry = noLaunchEntry;
         }
+
+        @Implementation
+        protected ApplicationInfo getApplicationInfo(String packageName, int flags)
+                throws NameNotFoundException {
+            if (packageName.equals(TEST_PACKAGE_NAME)) {
+                ApplicationInfo applicationInfo = new ApplicationInfo();
+                applicationInfo.packageName = TEST_PACKAGE_NAME;
+                applicationInfo.uid = sUid;
+                return applicationInfo;
+            } else {
+                return super.getApplicationInfo(packageName, flags);
+            }
+        }
     }
 
     @Implements(Resources.class)
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java
index 57f2b01..c8637c8 100644
--- a/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleDialogFragmentTest.java
@@ -36,8 +36,6 @@
 
 import com.android.internal.app.LocaleStore;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-import com.android.settings.utils.ActivityControllerWrapper;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -46,13 +44,14 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 import java.util.Locale;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowAlertDialogCompat.class})
+@LooperMode(LooperMode.Mode.LEGACY)
 public class LocaleDialogFragmentTest {
 
     @Mock
@@ -65,8 +64,7 @@
     public void setUp() throws Exception {
         MockitoAnnotations.initMocks(this);
 
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mDialogFragment = LocaleDialogFragment.newInstance();
         LocaleStore.LocaleInfo localeInfo = LocaleStore.getLocaleInfo(Locale.ENGLISH);
         Bundle args = new Bundle();
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
index 985f681..e51f9a3 100644
--- a/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleListEditorTest.java
@@ -16,11 +16,18 @@
 
 package com.android.settings.localepicker;
 
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_APP_LOCALE;
+import static com.android.settings.localepicker.LocaleDialogFragment.DIALOG_ADD_SYSTEM_LOCALE;
+import static com.android.settings.localepicker.LocaleListEditor.EXTRA_SYSTEM_LOCALE_DIALOG_TYPE;
+import static com.android.settings.localepicker.LocaleListEditor.LOCALE_SUGGESTION;
+
 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.anyBoolean;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -31,8 +38,13 @@
 import android.content.DialogInterface;
 import android.content.Intent;
 import android.content.res.Configuration;
+import android.content.res.Resources;
 import android.os.Bundle;
 import android.os.LocaleList;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
 import android.view.ViewGroup;
@@ -48,6 +60,7 @@
 
 import com.android.internal.app.LocaleStore;
 import com.android.settings.R;
+import com.android.settings.flags.Flags;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowActivityManager;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
@@ -55,6 +68,7 @@
 
 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;
@@ -63,6 +77,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.ArrayList;
@@ -70,12 +85,18 @@
 import java.util.Locale;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowAlertDialogCompat.class, ShadowActivityManager.class})
+@Config(shadows = {
+        ShadowAlertDialogCompat.class,
+        ShadowActivityManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+@LooperMode(LooperMode.Mode.LEGACY)
 public class LocaleListEditorTest {
 
     private static final String ARG_DIALOG_TYPE = "arg_dialog_type";
     private static final String TAG_DIALOG_CONFIRM_SYSTEM_DEFAULT = "dialog_confirm_system_default";
     private static final String TAG_DIALOG_NOT_AVAILABLE = "dialog_not_available_locale";
+    private static final String TAG_DIALOG_ADD_SYSTEM_LOCALE = "dialog_add_system_locale";
     private static final int DIALOG_CONFIRM_SYSTEM_DEFAULT = 1;
     private static final int REQUEST_CONFIRM_SYSTEM_DEFAULT = 1;
 
@@ -90,6 +111,10 @@
     @Mock
     private LocaleDragAndDropAdapter mAdapter;
     @Mock
+    private View mAddLanguage;
+    @Mock
+    private Resources mResources;
+    @Mock
     private LocaleStore.LocaleInfo mLocaleInfo;
     @Mock
     private FragmentManager mFragmentManager;
@@ -113,6 +138,12 @@
     private TextView mCurrentDefault;
     @Mock
     private ImageView mDragHandle;
+    @Mock
+    private NotificationController mNotificationController;
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
 
     @Before
     public void setUp() throws Exception {
@@ -120,8 +151,10 @@
         mContext = spy(RuntimeEnvironment.application);
         mLocaleListEditor = spy(new LocaleListEditor());
         when(mLocaleListEditor.getContext()).thenReturn(mContext);
-        mActivity = Robolectric.buildActivity(FragmentActivity.class).get();
+        mActivity = spy(Robolectric.buildActivity(FragmentActivity.class).get());
         when(mLocaleListEditor.getActivity()).thenReturn(mActivity);
+        when(mLocaleListEditor.getNotificationController()).thenReturn(
+                mNotificationController);
         ReflectionHelpers.setField(mLocaleListEditor, "mEmptyTextView",
                 new TextView(RuntimeEnvironment.application));
         ReflectionHelpers.setField(mLocaleListEditor, "mRestrictionsManager",
@@ -129,6 +162,7 @@
         ReflectionHelpers.setField(mLocaleListEditor, "mUserManager",
                 RuntimeEnvironment.application.getSystemService(Context.USER_SERVICE));
         ReflectionHelpers.setField(mLocaleListEditor, "mAdapter", mAdapter);
+        ReflectionHelpers.setField(mLocaleListEditor, "mAddLanguage", mAddLanguage);
         ReflectionHelpers.setField(mLocaleListEditor, "mFragmentManager", mFragmentManager);
         ReflectionHelpers.setField(mLocaleListEditor, "mMetricsFeatureProvider",
                 mMetricsFeatureProvider);
@@ -140,6 +174,8 @@
     public void tearDown() {
         ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", false);
         ReflectionHelpers.setField(mLocaleListEditor, "mShowingRemoveDialog", false);
+        ReflectionHelpers.setField(mLocaleListEditor, "mLocaleAdditionMode", false);
+        ShadowAlertDialogCompat.reset();
     }
 
     @Test
@@ -319,6 +355,106 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void showDiallogForAddedLocale_showConfirmDialog() {
+        initIntentAndResourceForLocaleDialog();
+        mLocaleListEditor.onViewStateRestored(null);
+
+        verify(mFragmentTransaction).add(any(LocaleDialogFragment.class),
+                eq(TAG_DIALOG_ADD_SYSTEM_LOCALE));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void showDiallogForAddedLocale_clickAdd() {
+        initIntentAndResourceForLocaleDialog();
+        mLocaleListEditor.onViewStateRestored(null);
+        LocaleStore.LocaleInfo info = LocaleStore.fromLocale(Locale.forLanguageTag("en-US"));
+        Bundle bundle = new Bundle();
+        bundle.putInt(ARG_DIALOG_TYPE, DIALOG_ADD_SYSTEM_LOCALE);
+        bundle.putSerializable(LocaleDialogFragment.ARG_TARGET_LOCALE, info);
+        Intent intent = new Intent().putExtras(bundle);
+
+        mLocaleListEditor.onActivityResult(DIALOG_ADD_SYSTEM_LOCALE, Activity.RESULT_OK, intent);
+
+        verify(mAdapter).addLocale(any(LocaleStore.LocaleInfo.class));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void showDiallogForAddedLocale_clickCancel() {
+        initIntentAndResourceForLocaleDialog();
+        mLocaleListEditor.onViewStateRestored(null);
+        LocaleStore.LocaleInfo info = LocaleStore.fromLocale(Locale.forLanguageTag("en-US"));
+        Bundle bundle = new Bundle();
+        bundle.putInt(ARG_DIALOG_TYPE, DIALOG_ADD_SYSTEM_LOCALE);
+        bundle.putSerializable(LocaleDialogFragment.ARG_TARGET_LOCALE, info);
+        Intent intent = new Intent().putExtras(bundle);
+
+        mLocaleListEditor.onActivityResult(DIALOG_ADD_SYSTEM_LOCALE, Activity.RESULT_CANCELED,
+                intent);
+
+        verify(mAdapter, never()).addLocale(any(LocaleStore.LocaleInfo.class));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void showDiallogForAddedLocale_invalidLocale_noDialog() {
+        Intent intent = new Intent("ACTION")
+                .putExtra(EXTRA_APP_LOCALE, "ab-CD") // invalid locale
+                .putExtra(EXTRA_SYSTEM_LOCALE_DIALOG_TYPE, LOCALE_SUGGESTION);
+        mActivity.setIntent(intent);
+
+        mLocaleListEditor.onViewStateRestored(null);
+
+        verify(mFragmentTransaction, never()).add(any(LocaleDialogFragment.class),
+                eq(TAG_DIALOG_ADD_SYSTEM_LOCALE));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void showDiallogForAddedLocale_noDialogType_noDialog() {
+        Intent intent = new Intent("ACTION")
+                .putExtra(EXTRA_APP_LOCALE, "ja-JP");
+        // no EXTRA_SYSTEM_LOCALE_DIALOG_TYPE  in the extra
+        mActivity.setIntent(intent);
+
+        mLocaleListEditor.onViewStateRestored(null);
+
+        verify(mFragmentTransaction, never()).add(any(LocaleDialogFragment.class),
+                eq(TAG_DIALOG_ADD_SYSTEM_LOCALE));
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_LOCALE_NOTIFICATION_ENABLED)
+    public void showDiallogForAddedLocale_inSystemLocale_noDialog() {
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-US,ar-AE-u-nu-arab"));
+        Intent intent = new Intent("ACTION")
+                .putExtra(EXTRA_APP_LOCALE, "ar-AE")
+                .putExtra(EXTRA_SYSTEM_LOCALE_DIALOG_TYPE, LOCALE_SUGGESTION);
+        mActivity.setIntent(intent);
+
+        mLocaleListEditor.onViewStateRestored(null);
+
+        verify(mFragmentTransaction, never()).add(any(LocaleDialogFragment.class),
+                eq(TAG_DIALOG_ADD_SYSTEM_LOCALE));
+    }
+
+    private void initIntentAndResourceForLocaleDialog() {
+        Intent intent = new Intent("ACTION")
+                .putExtra(EXTRA_APP_LOCALE, "ja-JP")
+                .putExtra(EXTRA_SYSTEM_LOCALE_DIALOG_TYPE, LOCALE_SUGGESTION);
+
+        mActivity.setIntent(intent);
+        String[] supportedLocales = new String[]{"en-US", "ja-JP"};
+        View contentView = LayoutInflater.from(mActivity).inflate(R.layout.locale_dialog, null);
+        doReturn(contentView).when(mLocaleListEditor).getLocaleDialogView();
+        when(mLocaleListEditor.getSupportedLocales()).thenReturn(supportedLocales);
+        when(mContext.getPackageName()).thenReturn("com.android.settings");
+        when(mActivity.getCallingPackage()).thenReturn("com.android.settings");
+    }
+
+    @Test
     public void onBindViewHolder_shouldSetCheckedBoxText() {
         ReflectionHelpers.setField(mLocaleListEditor, "mRemoveMode", true);
         mLocaleList = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/localepicker/LocaleNotificationDataManagerTest.java b/tests/robotests/src/com/android/settings/localepicker/LocaleNotificationDataManagerTest.java
new file mode 100644
index 0000000..443c26d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/localepicker/LocaleNotificationDataManagerTest.java
@@ -0,0 +1,100 @@
+/*
+ * 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.localepicker;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+
+import org.junit.After;
+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.Map;
+import java.util.Set;
+
+@RunWith(RobolectricTestRunner.class)
+public class LocaleNotificationDataManagerTest {
+    private Context mContext;
+    private LocaleNotificationDataManager mDataManager;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mDataManager = new LocaleNotificationDataManager(mContext);
+    }
+
+    @After
+    public void tearDown() {
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    public void testPutGetNotificationInfo() {
+        String locale = "en-US";
+        Set<Integer> uidSet = Set.of(101);
+        NotificationInfo info = new NotificationInfo(uidSet, 1, 1, 100L, 1000);
+
+        mDataManager.putNotificationInfo(locale, info);
+        NotificationInfo expected = mDataManager.getNotificationInfo(locale);
+
+        assertThat(info.equals(expected)).isTrue();
+        assertThat(expected.getNotificationId()).isEqualTo(info.getNotificationId());
+        assertThat(expected.getDismissCount()).isEqualTo(info.getDismissCount());
+        assertThat(expected.getNotificationCount()).isEqualTo(info.getNotificationCount());
+        assertThat(expected.getUidCollection()).isEqualTo(info.getUidCollection());
+        assertThat(expected.getLastNotificationTimeMs()).isEqualTo(
+                info.getLastNotificationTimeMs());
+    }
+
+    @Test
+    public void testRemoveNotificationInfo() {
+        String locale = "en-US";
+        Set<Integer> uidSet = Set.of(101);
+        NotificationInfo info = new NotificationInfo(uidSet, 1, 1, 100L, 1000);
+
+        mDataManager.putNotificationInfo(locale, info);
+        assertThat(mDataManager.getNotificationInfo(locale)).isEqualTo(info);
+        mDataManager.removeNotificationInfo(locale);
+        assertThat(mDataManager.getNotificationInfo(locale)).isNull();
+    }
+
+    @Test
+    public void testGetNotificationMap() {
+        String enUS = "en-US";
+        Set<Integer> uidSet1 = Set.of(101, 102);
+        NotificationInfo info1 = new NotificationInfo(uidSet1, 1, 1, 1000L, 1234);
+        String jaJP = "ja-JP";
+        Set<Integer> uidSet2 = Set.of(103, 104);
+        NotificationInfo info2 = new NotificationInfo(uidSet2, 1, 0, 2000L, 5678);
+        mDataManager.putNotificationInfo(enUS, info1);
+        mDataManager.putNotificationInfo(jaJP, info2);
+
+        Map<String, NotificationInfo> map = mDataManager.getLocaleNotificationInfoMap();
+
+        assertThat(map.size()).isEqualTo(2);
+        assertThat(mDataManager.getNotificationInfo(enUS).equals(map.get(enUS))).isTrue();
+        assertThat(mDataManager.getNotificationInfo(jaJP).equals(map.get(jaJP))).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/localepicker/NotificationActionActivityTest.java b/tests/robotests/src/com/android/settings/localepicker/NotificationActionActivityTest.java
new file mode 100644
index 0000000..7364bb4
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/localepicker/NotificationActionActivityTest.java
@@ -0,0 +1,82 @@
+/*
+ * 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.localepicker;
+
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_APP_LOCALE;
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_NOTIFICATION_ID;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+import android.content.Intent;
+
+import androidx.activity.result.ActivityResultLauncher;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.android.controller.ActivityController;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationActionActivityTest {
+    private NotificationActionActivity mNotificationActivity;
+    private ActivityController<NotificationActionActivity> mActivityController;
+    private FakeFeatureFactory mFeatureFactory;
+    @Mock
+    private NotificationController mNotificationController;
+    @Mock
+    private ActivityResultLauncher<Intent> mLauncher;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+    }
+
+    @Test
+    public void testOnCreate_launchSystemLanguageSettings() throws Exception {
+        String targetLocale = "ja-JP";
+        int notificationId = 123;
+        Intent intent = new Intent()
+                .putExtra(EXTRA_APP_LOCALE, targetLocale)
+                .putExtra(EXTRA_NOTIFICATION_ID, notificationId);
+
+        mActivityController = Robolectric.buildActivity(NotificationActionActivity.class, intent);
+        mNotificationActivity = spy(mActivityController.get());
+        doReturn(mNotificationController).when(mNotificationActivity).getNotificationController(
+                any());
+        doReturn(notificationId).when(mNotificationController).getNotificationId(eq(targetLocale));
+        doReturn(mLauncher).when(mNotificationActivity).getLauncher();
+
+        mNotificationActivity.onCreate(null);
+
+        verify(mLauncher).launch(any(Intent.class));
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(), eq(SettingsEnums.ACTION_NOTIFICATION_CLICK_FOR_SYSTEM_LOCALE));
+        verify(mNotificationActivity).finish();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/localepicker/NotificationCancelReceiverTest.java b/tests/robotests/src/com/android/settings/localepicker/NotificationCancelReceiverTest.java
new file mode 100644
index 0000000..44906a9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/localepicker/NotificationCancelReceiverTest.java
@@ -0,0 +1,75 @@
+/*
+ * 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.localepicker;
+
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_APP_LOCALE;
+import static com.android.settings.localepicker.AppLocalePickerActivity.EXTRA_NOTIFICATION_ID;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.content.Intent;
+
+import com.android.settings.testutils.FakeFeatureFactory;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationCancelReceiverTest {
+    private Context mContext;
+    private NotificationCancelReceiver mReceiver;
+    @Mock
+    private NotificationController mNotificationController;
+    private FakeFeatureFactory mFeatureFactory;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mReceiver = spy(new NotificationCancelReceiver());
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
+        doReturn(mNotificationController).when(mReceiver).getNotificationController(any());
+    }
+
+    @Test
+    public void testOnReceive_incrementDismissCount() {
+        String locale = "en-US";
+        int notificationId = 100;
+        Intent intent = new Intent()
+                .putExtra(EXTRA_APP_LOCALE, locale)
+                .putExtra(EXTRA_NOTIFICATION_ID, notificationId);
+        when(mNotificationController.getNotificationId(locale)).thenReturn(notificationId);
+
+        mReceiver.onReceive(mContext, intent);
+
+        verify(mNotificationController).incrementDismissCount(eq(locale));
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                any(), eq(SettingsEnums.ACTION_NOTIFICATION_SWIPE_FOR_SYSTEM_LOCALE));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/localepicker/NotificationControllerTest.java b/tests/robotests/src/com/android/settings/localepicker/NotificationControllerTest.java
new file mode 100644
index 0000000..1e37f9b
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/localepicker/NotificationControllerTest.java
@@ -0,0 +1,191 @@
+/*
+ * 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.localepicker;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.LocaleList;
+import android.os.SystemClock;
+
+import org.junit.After;
+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.Calendar;
+import java.util.Set;
+
+@RunWith(RobolectricTestRunner.class)
+public class NotificationControllerTest {
+    private Context mContext;
+    private LocaleNotificationDataManager mDataManager;
+    private NotificationController mNotificationController;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mNotificationController = NotificationController.getInstance(mContext);
+        mDataManager = mNotificationController.getDataManager();
+        LocaleList.setDefault(LocaleList.forLanguageTags("en-CA"));
+    }
+
+    @After
+    public void tearDown() {
+        mDataManager.clearLocaleNotificationMap();
+    }
+
+    @Test
+    public void incrementDismissCount_addOne() throws Exception {
+        String enUS = "en-US";
+        Set<Integer> uidSet = Set.of(100, 101);
+        long lastNotificationTime = Calendar.getInstance().getTimeInMillis();
+        int id = (int) SystemClock.uptimeMillis();
+        initSharedPreference(enUS, uidSet, 0, 1, lastNotificationTime, id);
+
+        mNotificationController.incrementDismissCount(enUS);
+        NotificationInfo result = mDataManager.getNotificationInfo(enUS);
+
+        assertThat(result.getDismissCount()).isEqualTo(1); // dismissCount increments
+        assertThat(result.getUidCollection()).isEqualTo(uidSet);
+        assertThat(result.getNotificationCount()).isEqualTo(1);
+        assertThat(result.getLastNotificationTimeMs()).isEqualTo(lastNotificationTime);
+        assertThat(result.getNotificationId()).isEqualTo(id);
+    }
+
+    @Test
+    public void testRemoveNotificationInfo_removed() throws Exception {
+        String enUS = "en-US";
+        Set<Integer> uidSet = Set.of(100, 101);
+        long lastNotificationTime = Calendar.getInstance().getTimeInMillis();
+        int id = (int) SystemClock.uptimeMillis();
+        initSharedPreference(enUS, uidSet, 0, 1, lastNotificationTime, id);
+
+        mNotificationController.removeNotificationInfo(enUS);
+
+        assertThat(mDataManager.getNotificationInfo(enUS)).isNull();
+    }
+
+    @Test
+    public void testShouldTriggerNotification_inSystemLocale_returnFalse() throws Exception {
+        int uid = 102;
+        // As checking whether app's locales exist in system locales, both app locales and system
+        // locales have to remove the u extension first when doing the comparison. The following
+        // three locales are all in the system locale after removing the u extension so it's
+        // unnecessary to trigger a notification for the suggestion.
+        String locale1 = "en-CA";
+        String locale2 = "ar-JO-u-nu-latn";
+        String locale3 = "ar-JO";
+
+        LocaleList.setDefault(
+                LocaleList.forLanguageTags("en-CA-u-mu-fahrenhe,ar-JO-u-mu-fahrenhe-nu-latn"));
+
+        assertThat(mNotificationController.shouldTriggerNotification(uid, locale1)).isFalse();
+        assertThat(mNotificationController.shouldTriggerNotification(uid, locale2)).isFalse();
+        assertThat(mNotificationController.shouldTriggerNotification(uid, locale3)).isFalse();
+    }
+
+    @Test
+    public void testShouldTriggerNotification_noNotification_returnFalse() throws Exception {
+        int uid = 100;
+        String locale = "en-US";
+
+        boolean triggered = mNotificationController.shouldTriggerNotification(uid, locale);
+
+        assertThat(triggered).isFalse();
+    }
+
+    @Test
+    public void testShouldTriggerNotification_return1stTrue() throws Exception {
+        // Initialze proto with en-US locale. Its uid contains 100.
+        Set<Integer> uidSet = Set.of(100);
+        String locale = "en-US";
+        long lastNotificationTime = 0L;
+        int notificationId = 0;
+        initSharedPreference(locale, uidSet, 0, 1, lastNotificationTime, notificationId);
+
+        // When the second app is configured to "en-US", the notification is triggered.
+        int uid = 101;
+        boolean triggered = mNotificationController.shouldTriggerNotification(uid, locale);
+
+        assertThat(triggered).isTrue();
+    }
+
+    @Test
+    public void testShouldTriggerNotification_returnFalse_dueToOddCount() throws Exception {
+        // Initialze proto with en-US locale. Its uid contains 100,101.
+        Set<Integer> uidSet = Set.of(100, 101);
+        String locale = "en-US";
+        long lastNotificationTime = Calendar.getInstance().getTimeInMillis();
+        int id = (int) SystemClock.uptimeMillis();
+        initSharedPreference(locale, uidSet, 0, 1, lastNotificationTime, id);
+
+        // When the other app is configured to "en-US", the notification is not triggered because
+        // the app count is odd.
+        int uid = 102;
+        boolean triggered = mNotificationController.shouldTriggerNotification(uid, locale);
+
+        assertThat(triggered).isFalse();
+    }
+
+    @Test
+    public void testShouldTriggerNotification_returnFalse_dueToFrequency() throws Exception {
+        // Initialze proto with en-US locale. Its uid contains 100,101,102.
+        Set<Integer> uidSet = Set.of(100, 101, 102);
+        String locale = "en-US";
+        long lastNotificationTime = Calendar.getInstance().getTimeInMillis();
+        int id = (int) SystemClock.uptimeMillis();
+        initSharedPreference(locale, uidSet, 0, 1, lastNotificationTime, id);
+
+        // When the other app is configured to "en-US", the notification is not triggered because it
+        // is too frequent.
+        int uid = 103;
+        boolean triggered = mNotificationController.shouldTriggerNotification(uid, locale);
+
+        assertThat(triggered).isFalse();
+    }
+
+    @Test
+    public void testShouldTriggerNotification_return2ndTrue() throws Exception {
+        // Initialze proto with en-US locale. Its uid contains 100,101,102,103,104.
+        Set<Integer> uidSet = Set.of(100, 101, 102, 103, 104);
+        String locale = "en-US";
+        int id = (int) SystemClock.uptimeMillis();
+        Calendar time = Calendar.getInstance();
+        time.add(Calendar.MINUTE, 86400 * 8 * (-1));
+        long lastNotificationTime = time.getTimeInMillis();
+        initSharedPreference(locale, uidSet, 0, 1, lastNotificationTime, id);
+
+        // When the other app is configured to "en-US", the notification is triggered.
+        int uid = 105;
+        boolean triggered = mNotificationController.shouldTriggerNotification(uid, locale);
+
+        assertThat(triggered).isTrue();
+    }
+
+    private void initSharedPreference(String locale, Set<Integer> uidCollection, int dismissCount,
+            int notificationCount, long lastNotificationTime, int notificationId)
+            throws Exception {
+        NotificationInfo info = new NotificationInfo(uidCollection, notificationCount, dismissCount,
+                lastNotificationTime, notificationId);
+        mDataManager.putNotificationInfo(locale, info);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/location/LocationInjectedServicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationInjectedServicesPreferenceControllerTest.java
index 49caa70..43b9839 100644
--- a/tests/robotests/src/com/android/settings/location/LocationInjectedServicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationInjectedServicesPreferenceControllerTest.java
@@ -38,20 +38,22 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.widget.RestrictedAppPreference;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
+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.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
@@ -59,8 +61,10 @@
 import java.util.Map;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUserManager.class)
+@Config(shadows = {ShadowUserManager.class, ShadowDevicePolicyManager.class})
 public class LocationInjectedServicesPreferenceControllerTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static final String KEY_LOCATION_SERVICES = "location_service";
 
@@ -82,8 +86,7 @@
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
+        mContext = spy(ApplicationProvider.getApplicationContext());
         mLifecycleOwner = () -> mLifecycle;
         mLifecycle = new Lifecycle(mLifecycleOwner);
         mController = spy(
@@ -115,7 +118,6 @@
         verify(mContext).unregisterReceiver(mController.mInjectedSettingsReceiver);
     }
 
-    @Ignore
     @Test
     public void workProfileDisallowShareLocationOn_getParentUserLocationServicesOnly() {
         final int fakeWorkProfileId = 123;
@@ -168,7 +170,6 @@
         verify(mSettingsInjector).reloadStatusMessages();
     }
 
-    @Ignore
     @Test
     public void withUserRestriction_shouldDisableLocationAccuracy() {
         final List<Preference> preferences = new ArrayList<>();
diff --git a/tests/robotests/src/com/android/settings/location/LocationServicesPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationServicesPreferenceControllerTest.java
index dacb7cf..f5868c2 100644
--- a/tests/robotests/src/com/android/settings/location/LocationServicesPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationServicesPreferenceControllerTest.java
@@ -23,7 +23,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -50,7 +49,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testLocationScanning_ifDisabled_shouldNotBeShown() {
diff --git a/tests/robotests/src/com/android/settings/location/LocationSettingsTest.java b/tests/robotests/src/com/android/settings/location/LocationSettingsTest.java
index aae8cec..a8a59ff 100644
--- a/tests/robotests/src/com/android/settings/location/LocationSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationSettingsTest.java
@@ -34,8 +34,12 @@
 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 LocationSettingsTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java
index 50f618f..1f20d59 100644
--- a/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/LocationSwitchBarControllerTest.java
@@ -85,14 +85,14 @@
 
     @Test
     public void onSwitchChanged_switchChecked_shouldSetLocationEnabled() {
-        mController.onSwitchChanged(mSwitch, true);
+        mController.onCheckedChanged(mSwitch, true);
 
         verify(mEnabler).setLocationEnabled(true);
     }
 
     @Test
     public void onSwitchChanged_switchUnchecked_shouldSetLocationDisabled() {
-        mController.onSwitchChanged(mSwitch, false);
+        mController.onCheckedChanged(mSwitch, false);
 
         verify(mEnabler).setLocationEnabled(false);
     }
diff --git a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
index 225f91b..e9284ee 100644
--- a/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/location/RecentLocationAccessPreferenceControllerTest.java
@@ -80,7 +80,7 @@
         mController.init(mDashboardFragment);
         final String key = mController.getPreferenceKey();
         mAppEntitiesHeaderView = LayoutInflater.from(mContext).inflate(
-                R.layout.app_entities_header, null /* root */);
+                com.android.settingslib.widget.entityheader.R.layout.app_entities_header, null /* root */);
         when(mScreen.findPreference(key)).thenReturn(mLayoutPreference);
         when(mLayoutPreference.getKey()).thenReturn(key);
         when(mLayoutPreference.getContext()).thenReturn(mContext);
@@ -108,7 +108,8 @@
         final TextView title = mAppEntitiesHeaderView.findViewById(R.id.header_title);
         assertThat(title.getText()).isEqualTo(
                 mContext.getText(R.string.location_category_recent_location_access));
-        final TextView details = mAppEntitiesHeaderView.findViewById(R.id.header_details);
+        final TextView details = mAppEntitiesHeaderView
+                .findViewById(com.android.settingslib.widget.entityheader.R.id.header_details);
         assertThat(details.getText()).isEqualTo(
                 mContext.getText(R.string.location_recent_location_access_view_details));
         assertThat(details.hasOnClickListeners()).isTrue();
diff --git a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
index 7a3243b..e0d76ce 100644
--- a/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaDeviceUpdateWorkerTest.java
@@ -31,6 +31,7 @@
 import android.content.Intent;
 import android.media.AudioManager;
 import android.media.MediaRoute2ProviderService;
+import android.media.MediaRouter2Manager;
 import android.media.RoutingSessionInfo;
 import android.net.Uri;
 
@@ -92,6 +93,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI);
+        mMediaDeviceUpdateWorker.mManager = mock(MediaRouter2Manager.class);
         mResolver = mock(ContentResolver.class);
         mShadowApplication = ShadowApplication.getInstance();
         mAudioManager = mContext.getSystemService(AudioManager.class);
@@ -216,16 +218,13 @@
         mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class);
         final List<RoutingSessionInfo> routingSessionInfos = new ArrayList<>();
         final RoutingSessionInfo remoteSessionInfo = mock(RoutingSessionInfo.class);
-        final RoutingSessionInfo localSessionInfo = mock(RoutingSessionInfo.class);
         when(remoteSessionInfo.isSystemSession()).thenReturn(false);
-        when(localSessionInfo.isSystemSession()).thenReturn(true);
         routingSessionInfos.add(remoteSessionInfo);
-        routingSessionInfos.add(localSessionInfo);
-        when(mMediaDeviceUpdateWorker.mLocalMediaManager.getActiveMediaSession()).thenReturn(
-                routingSessionInfos);
+        when(mMediaDeviceUpdateWorker.mLocalMediaManager.getRemoteRoutingSessions())
+                .thenReturn(routingSessionInfos);
 
-        assertThat(mMediaDeviceUpdateWorker.getActiveRemoteMediaDevice()).containsExactly(
-                remoteSessionInfo);
+        assertThat(mMediaDeviceUpdateWorker.getActiveRemoteMediaDevices())
+                .containsExactly(remoteSessionInfo);
     }
 
     @Test
@@ -234,6 +233,7 @@
         when(mLocalBluetoothManager.getEventManager()).thenReturn(mBluetoothEventManager);
 
         mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI1);
+        mMediaDeviceUpdateWorker.mManager = mock(MediaRouter2Manager.class);
         mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class);
         when(mMediaDeviceUpdateWorker.mLocalMediaManager.getPackageName())
                 .thenReturn(TEST_DEVICE_PACKAGE_NAME1);
@@ -243,6 +243,7 @@
                 TEST_DEVICE_PACKAGE_NAME1);
 
         mMediaDeviceUpdateWorker = new MediaDeviceUpdateWorker(mContext, URI2);
+        mMediaDeviceUpdateWorker.mManager = mock(MediaRouter2Manager.class);
         mMediaDeviceUpdateWorker.mLocalMediaManager = mock(LocalMediaManager.class);
         when(mMediaDeviceUpdateWorker.mLocalMediaManager.getPackageName())
                 .thenReturn(TEST_DEVICE_PACKAGE_NAME2);
diff --git a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
index 7248ff6..652bd03 100644
--- a/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/MediaOutputIndicatorSliceTest.java
@@ -18,6 +18,7 @@
 package com.android.settings.media;
 
 import static com.android.settings.slices.CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI;
+import static com.android.settingslib.media.flags.Flags.FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -38,6 +39,7 @@
 import android.media.session.MediaSession;
 import android.net.Uri;
 import android.os.Process;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.text.TextUtils;
 
 import androidx.slice.Slice;
@@ -54,6 +56,8 @@
 import com.android.settingslib.media.MediaOutputConstants;
 
 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;
@@ -95,6 +99,9 @@
     @Mock
     private Drawable mTestDrawable;
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private Context mContext;
     private MediaOutputIndicatorSlice mMediaOutputIndicatorSlice;
     private AudioManager mAudioManager;
@@ -151,6 +158,7 @@
         assertThat(metadata.isErrorSlice()).isFalse();
     }
 
+    @Ignore("b/313605377")
     @Test
     public void getSlice_noConnectedDevice_returnErrorSlice() {
         mDevices.clear();
@@ -163,6 +171,7 @@
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
+    @Ignore("b/313605377")
     @Test
     public void getSlice_audioModeIsInCommunication_returnErrorSlice() {
         mDevices.add(mDevice1);
@@ -177,6 +186,7 @@
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
+    @Ignore("b/313605377")
     @Test
     public void getSlice_audioModeIsRingtone_returnErrorSlice() {
         mDevices.add(mDevice1);
@@ -191,6 +201,7 @@
         assertThat(metadata.isErrorSlice()).isTrue();
     }
 
+    @Ignore("b/313605377")
     @Test
     public void getSlice_audioModeIsInCall_returnErrorSlice() {
         mDevices.add(mDevice1);
@@ -250,6 +261,34 @@
     }
 
     @Test
+    public void onNotifyChange_withoutMediaControllerFlagEnabled_verifyIntentExtra() {
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        doReturn(null).when(sMediaOutputIndicatorWorker)
+                .getActiveLocalMediaController();
+        ArgumentCaptor<Intent> argument = ArgumentCaptor.forClass(Intent.class);
+
+        mMediaOutputIndicatorSlice.onNotifyChange(null);
+        verify(mContext, times(2)).sendBroadcast(argument.capture());
+        List<Intent> intentList = argument.getAllValues();
+        Intent intent = intentList.get(0);
+
+        assertThat(intent.getAction()).isEqualTo(
+                MediaOutputConstants.ACTION_LAUNCH_SYSTEM_MEDIA_OUTPUT_DIALOG);
+        assertThat(TextUtils.equals(MediaOutputConstants.SYSTEMUI_PACKAGE_NAME,
+                intent.getPackage())).isTrue();
+    }
+
+    @Test
+    public void onNotifyChange_withoutMediaControllerFlagDisabled_doNothing() {
+        mSetFlagsRule.disableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        doReturn(null).when(sMediaOutputIndicatorWorker)
+                .getActiveLocalMediaController();
+
+        mMediaOutputIndicatorSlice.onNotifyChange(null);
+    }
+
+
+    @Test
     public void isVisible_allConditionMatched_returnTrue() {
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
         mDevices.add(mDevice1);
@@ -263,6 +302,7 @@
 
     @Test
     public void isVisible_noActiveSession_returnFalse() {
+        mSetFlagsRule.disableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
         mAudioManager.setMode(AudioManager.MODE_NORMAL);
         mDevices.add(mDevice1);
 
@@ -273,6 +313,19 @@
         assertThat(mMediaOutputIndicatorSlice.isVisible()).isFalse();
     }
 
+    @Test
+    public void isVisible_noActiveSession_returnTrue() {
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        mAudioManager.setMode(AudioManager.MODE_NORMAL);
+        mDevices.add(mDevice1);
+
+        when(sMediaOutputIndicatorWorker.getMediaDevices()).thenReturn(mDevices);
+        doReturn(mMediaController).when(sMediaOutputIndicatorWorker)
+                .getActiveLocalMediaController();
+
+        assertThat(mMediaOutputIndicatorSlice.isVisible()).isTrue();
+    }
+
     private void initPackage() {
         mShadowPackageManager = Shadows.shadowOf(mContext.getPackageManager());
         mAppInfo = new ApplicationInfo();
diff --git a/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java b/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java
index 81001d7..5188ad4 100644
--- a/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java
+++ b/tests/robotests/src/com/android/settings/media/RemoteMediaSliceTest.java
@@ -89,10 +89,10 @@
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
 
         mRemoteMediaSlice = new RemoteMediaSlice(mContext);
-        mRemoteMediaSlice.mRouterManager = mock(MediaRouter2Manager.class);
         sMediaDeviceUpdateWorker = spy(new MediaDeviceUpdateWorker(mContext,
                 REMOTE_MEDIA_SLICE_URI));
         sMediaDeviceUpdateWorker.mLocalMediaManager = mLocalMediaManager;
+        sMediaDeviceUpdateWorker.mManager = mock(MediaRouter2Manager.class);
         final RoutingSessionInfo remoteSessionInfo = mock(RoutingSessionInfo.class);
         when(remoteSessionInfo.getId()).thenReturn(TEST_SESSION_1_ID);
         when(remoteSessionInfo.getName()).thenReturn(TEST_SESSION_1_NAME);
@@ -100,8 +100,8 @@
         when(remoteSessionInfo.getVolume()).thenReturn(10);
         when(remoteSessionInfo.isSystemSession()).thenReturn(false);
         mRoutingSessionInfos.add(remoteSessionInfo);
-        when(sMediaDeviceUpdateWorker.getActiveRemoteMediaDevice()).thenReturn(
-                mRoutingSessionInfos);
+        when(sMediaDeviceUpdateWorker.getActiveRemoteMediaDevices())
+                .thenReturn(mRoutingSessionInfos);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/AllInOneTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/AllInOneTetherPreferenceControllerTest.java
deleted file mode 100644
index 15e24e1..0000000
--- a/tests/robotests/src/com/android/settings/network/AllInOneTetherPreferenceControllerTest.java
+++ /dev/null
@@ -1,187 +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.TetherEnabler.TETHERING_BLUETOOTH_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_ETHERNET_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_OFF;
-import static com.android.settings.network.TetherEnabler.TETHERING_USB_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_WIFI_ON;
-
-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.verify;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.content.Context;
-
-import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.R;
-import com.android.settingslib.PrimarySwitchPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.ParameterizedRobolectricTestRunner;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicReference;
-
-@RunWith(ParameterizedRobolectricTestRunner.class)
-public class AllInOneTetherPreferenceControllerTest {
-
-    @ParameterizedRobolectricTestRunner.Parameters(name = "TetherState: {0}")
-    public static List params() {
-        return Arrays.asList(new Object[][] {
-                {TETHERING_OFF, R.string.tether_settings_summary_off},
-                {TETHERING_WIFI_ON, R.string.tether_settings_summary_hotspot_only},
-                {TETHERING_USB_ON, R.string.tether_settings_summary_usb_tethering_only},
-                {TETHERING_BLUETOOTH_ON, R.string.tether_settings_summary_bluetooth_tethering_only},
-                {TETHERING_ETHERNET_ON, R.string.tether_settings_summary_ethernet_tethering_only},
-                {
-                        TETHERING_WIFI_ON | TETHERING_USB_ON,
-                        R.string.tether_settings_summary_hotspot_and_usb
-                },
-                {
-                        TETHERING_WIFI_ON | TETHERING_BLUETOOTH_ON,
-                        R.string.tether_settings_summary_hotspot_and_bluetooth
-                },
-                {
-                        TETHERING_WIFI_ON | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_hotspot_and_ethernet
-                },
-                {
-                        TETHERING_USB_ON | TETHERING_BLUETOOTH_ON,
-                        R.string.tether_settings_summary_usb_and_bluetooth
-                },
-                {
-                        TETHERING_USB_ON | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_usb_and_ethernet
-                },
-                {
-                        TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_bluetooth_and_ethernet
-                },
-                {
-                        TETHERING_WIFI_ON | TETHERING_USB_ON | TETHERING_BLUETOOTH_ON,
-                        R.string.tether_settings_summary_hotspot_and_usb_and_bluetooth
-                },
-                {
-                        TETHERING_WIFI_ON | TETHERING_USB_ON | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_hotspot_and_usb_and_ethernet
-                },
-                {
-                        TETHERING_WIFI_ON | TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_hotspot_and_bluetooth_and_ethernet
-                },
-                {
-                        TETHERING_USB_ON | TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_usb_and_bluetooth_and_ethernet
-                },
-                {
-                        TETHERING_WIFI_ON | TETHERING_USB_ON | TETHERING_BLUETOOTH_ON
-                                | TETHERING_ETHERNET_ON,
-                        R.string.tether_settings_summary_all
-                }
-        });
-    }
-
-    private Context mContext;
-    @Mock
-    private BluetoothAdapter mBluetoothAdapter;
-    @Mock
-    private PrimarySwitchPreference mPreference;
-
-    private static final String PREF_KEY = "tether";
-    private AllInOneTetherPreferenceController mController;
-    private final int mTetherState;
-    private final int mSummaryResId;
-
-    public AllInOneTetherPreferenceControllerTest(int tetherState, int summaryResId) {
-        mTetherState = tetherState;
-        mSummaryResId = summaryResId;
-    }
-
-    @Before
-    public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        MockitoAnnotations.initMocks(this);
-        doReturn(null).when(mContext)
-                .getSystemService(Context.DEVICE_POLICY_SERVICE);
-        mController = spy(new AllInOneTetherPreferenceController(mContext, /* key= */ "test"));
-        ReflectionHelpers.setField(mController, "mContext", mContext);
-        ReflectionHelpers.setField(mController, "mBluetoothAdapter", mBluetoothAdapter);
-        ReflectionHelpers.setField(mController, "mPreferenceKey", PREF_KEY);
-        PreferenceScreen screen = mock(PreferenceScreen.class);
-        when(screen.findPreference(PREF_KEY)).thenReturn(mPreference);
-        doReturn(mController.AVAILABLE).when(mController).getAvailabilityStatus();
-        mController.displayPreference(screen);
-    }
-
-    @Test
-    public void onCreate_shouldInitBluetoothPan() {
-        when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_ON);
-        mController.onCreate();
-
-        verify(mBluetoothAdapter).getState();
-        verify(mBluetoothAdapter).getProfileProxy(mContext, mController.mBtProfileServiceListener,
-                BluetoothProfile.PAN);
-    }
-
-    @Test
-    public void onCreate_shouldNotInitBluetoothPanWhenBluetoothOff() {
-        when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_OFF);
-        mController.onCreate();
-
-        verify(mBluetoothAdapter).getState();
-        verifyNoMoreInteractions(mBluetoothAdapter);
-    }
-
-    @Test
-    public void goThroughLifecycle_shouldDestroyBluetoothProfile() {
-        final BluetoothPan pan = mock(BluetoothPan.class);
-        final AtomicReference<BluetoothPan> panRef =
-                ReflectionHelpers.getField(mController, "mBluetoothPan");
-        panRef.set(pan);
-
-        mController.onDestroy();
-
-        verify(mBluetoothAdapter).closeProfileProxy(BluetoothProfile.PAN, pan);
-    }
-
-    @Test
-    public void getSummary_afterTetherStateChanged() {
-        mController.onTetherStateUpdated(mTetherState);
-        assertThat(mController.getSummary()).isEqualTo(mContext.getString(mSummaryResId));
-
-        verify(mController).updateState(mPreference);
-        verify(mPreference).setSummary(mContext.getString(mSummaryResId));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
deleted file mode 100644
index d3a3129..0000000
--- a/tests/robotests/src/com/android/settings/network/BluetoothTetherPreferenceControllerTest.java
+++ /dev/null
@@ -1,132 +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;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothAdapter;
-import android.content.Context;
-import android.net.TetheringManager;
-
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothTetherPreferenceControllerTest {
-
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private TetherEnabler mTetherEnabler;
-
-    private SwitchPreference mSwitchPreference;
-    private BluetoothTetherPreferenceController mController;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mSwitchPreference = spy(SwitchPreference.class);
-        when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
-        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[] {""});
-        mController = new BluetoothTetherPreferenceController(mContext, "BLUETOOTH");
-        mController.setTetherEnabler(mTetherEnabler);
-        ReflectionHelpers.setField(mController, "mPreference", mSwitchPreference);
-    }
-
-    @Test
-    public void lifecycle_shouldRegisterReceiverOnStart() {
-        mController.onStart();
-
-        verify(mContext).registerReceiver(
-                eq(mController.mBluetoothChangeReceiver),
-                any());
-    }
-
-    @Test
-    public void lifecycle_shouldAddListenerOnResume() {
-        mController.onResume();
-        verify(mTetherEnabler).addListener(mController);
-    }
-
-    @Test
-    public void lifecycle_shouldRemoveListenrOnPause() {
-        mController.onPause();
-        verify(mTetherEnabler).removeListener(mController);
-    }
-
-    @Test
-    public void lifecycle_shouldUnregisterReceiverOnStop() {
-        mController.onStart();
-        mController.onStop();
-
-        verify(mContext).unregisterReceiver(
-                eq(mController.mBluetoothChangeReceiver));
-    }
-
-    @Test
-    public void shouldShow_noBluetoothTetherable() {
-        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[0]);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void shouldEnable_transientState() {
-        ReflectionHelpers.setField(mController, "mBluetoothState",
-                BluetoothAdapter.STATE_TURNING_OFF);
-        assertThat(mController.shouldEnable()).isFalse();
-    }
-    @Test
-    public void setChecked_shouldStartBluetoothTethering() {
-        mController.setChecked(true);
-        verify(mTetherEnabler).startTethering(TetheringManager.TETHERING_BLUETOOTH);
-    }
-
-    @Test
-    public void setUnchecked_shouldStopBluetoothTethering() {
-        mController.setChecked(false);
-        verify(mTetherEnabler).stopTethering(TetheringManager.TETHERING_BLUETOOTH);
-    }
-
-    @Test
-    public void switch_shouldCheckedWhenBluetoothTethering() {
-        mController.onTetherStateUpdated(TetherEnabler.TETHERING_BLUETOOTH_ON);
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void switch_shouldUnCheckedWhenBluetoothNotTethering() {
-        mController.onTetherStateUpdated(TetherEnabler.TETHERING_OFF);
-        assertThat(mController.isChecked()).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/BluetoothWiFiResetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/BluetoothWiFiResetPreferenceControllerTest.java
deleted file mode 100644
index 3aea4a8..0000000
--- a/tests/robotests/src/com/android/settings/network/BluetoothWiFiResetPreferenceControllerTest.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.network;
-
-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.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.res.Resources;
-import android.net.ConnectivityManager;
-import android.os.UserManager;
-import android.telephony.TelephonyManager;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.shadows.ShadowToast;
-
-@RunWith(RobolectricTestRunner.class)
-public class BluetoothWiFiResetPreferenceControllerTest {
-
-    private static final String PREFERENCE_KEY = "network_reset_bluetooth_wifi_pref";
-
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private Resources mResources;
-    @Mock
-    private ConnectivityManager mConnectivityManager;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getResources()).thenReturn(mResources);
-
-        mockService(Context.CONNECTIVITY_SERVICE, ConnectivityManager.class,
-                mConnectivityManager);
-        mockService(Context.TELEPHONY_SERVICE, TelephonyManager.class, mTelephonyManager);
-    }
-
-    @Test
-    public void getAvailabilityStatus_returnAvailable_asOwnerUser() {
-        mockService(Context.USER_SERVICE, UserManager.class, mUserManager);
-        doReturn(true).when(mUserManager).isAdminUser();
-
-        BluetoothWiFiResetPreferenceController target =
-                new BluetoothWiFiResetPreferenceController(mContext, PREFERENCE_KEY);
-
-        assertThat(target.getAvailabilityStatus()).isEqualTo(
-                BluetoothWiFiResetPreferenceController.AVAILABLE);
-    }
-
-    @Test
-    public void resetOperation_notResetConnectivity_onDeviceWithSimVisible() {
-        mockService(Context.CONNECTIVITY_SERVICE, ConnectivityManager.class,
-                mConnectivityManager);
-        when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
-
-        BluetoothWiFiResetPreferenceController target =
-                new BluetoothWiFiResetPreferenceController(mContext, PREFERENCE_KEY);
-
-        try {
-            target.resetOperation().run();
-        } catch (Exception exception) {}
-        verify(mConnectivityManager, never()).factoryReset();
-    }
-
-    @Test
-    public void endOfReset_toastMessage_whenSuccess() {
-        String testText = "reset_bluetooth_wifi_complete_toast";
-        when(mResources.getString(R.string.reset_bluetooth_wifi_complete_toast)).thenReturn(testText);
-        BluetoothWiFiResetPreferenceController target =
-                new BluetoothWiFiResetPreferenceController(mContext, PREFERENCE_KEY);
-
-        target.endOfReset(null);
-
-        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(testText);
-    }
-
-    private <T> void mockService(String serviceName, Class<T> serviceClass, T service) {
-        when(mContext.getSystemServiceName(serviceClass)).thenReturn(serviceName);
-        when(mContext.getSystemService(serviceName)).thenReturn(service);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java
deleted file mode 100644
index 68d80d4..0000000
--- a/tests/robotests/src/com/android/settings/network/EthernetTetherPreferenceControllerTest.java
+++ /dev/null
@@ -1,143 +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.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.EthernetManager;
-import android.net.TetheringManager;
-
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-
-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.junit.MockitoJUnit;
-import org.mockito.junit.MockitoRule;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class EthernetTetherPreferenceControllerTest {
-
-    @Rule
-    public MockitoRule mocks = MockitoJUnit.rule();
-
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private EthernetManager mEthernetManager;
-    @Mock
-    private TetherEnabler mTetherEnabler;
-
-    private Context mContext;
-    private EthernetTetherPreferenceController mController;
-    private SwitchPreference mPreference;
-    private static final String ETHERNET_REGEX = "ethernet";
-
-    @Before
-    public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mPreference = spy(SwitchPreference.class);
-        when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
-        when(mTetheringManager.getTetherableIfaces()).thenReturn(new String[]{ETHERNET_REGEX});
-        when(mContext.getSystemService(EthernetManager.class)).thenReturn(mEthernetManager);
-        mController = new EthernetTetherPreferenceController(mContext, "ethernet");
-        mController.setTetherEnabler(mTetherEnabler);
-        ReflectionHelpers.setField(mController, "mPreference", mPreference);
-    }
-
-    @Test
-    @Ignore
-    public void lifecycle_shouldRegisterReceiverOnStart() {
-        mController.onStart();
-
-        verify(mEthernetManager).addInterfaceStateListener(any(),
-                eq(mController.mEthernetListener));
-    }
-
-    @Test
-    public void lifecycle_shouldAddListenerOnResume() {
-        mController.onResume();
-        verify(mTetherEnabler).addListener(mController);
-    }
-
-    @Test
-    public void lifecycle_shouldRemoveListenerOnPause() {
-        mController.onPause();
-        verify(mTetherEnabler).removeListener(mController);
-    }
-
-    @Test
-    public void lifecycle_shouldUnregisterReceiverOnStop() {
-        mController.onStart();
-        EthernetManager.InterfaceStateListener listener = mController.mEthernetListener;
-        mController.onStop();
-
-        verify(mEthernetManager).removeInterfaceStateListener(eq(listener));
-    }
-
-    @Test
-    public void shouldEnable_noTetherable() {
-        when(mTetheringManager.getTetherableIfaces()).thenReturn(new String[0]);
-        assertThat(mController.shouldEnable()).isFalse();
-    }
-
-    @Test
-    public void shouldShow_noEthernetInterface() {
-        when(mContext.getSystemService(EthernetManager.class)).thenReturn(null);
-
-        final EthernetTetherPreferenceController controller =
-                new EthernetTetherPreferenceController(mContext, "ethernet");
-        assertThat(controller.shouldShow()).isFalse();
-    }
-
-    @Test
-    public void setChecked_shouldStartEthernetTethering() {
-        mController.setChecked(true);
-        verify(mTetherEnabler).startTethering(TetheringManager.TETHERING_ETHERNET);
-    }
-
-    @Test
-    public void setUnchecked_shouldStopEthernetTethering() {
-        mController.setChecked(false);
-        verify(mTetherEnabler).stopTethering(TetheringManager.TETHERING_ETHERNET);
-    }
-
-    @Test
-    public void switch_shouldCheckedWhenEthernetTethering() {
-        mController.onTetherStateUpdated(TetherEnabler.TETHERING_ETHERNET_ON);
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void switch_shouldUnCheckedWhenEthernetNotTethering() {
-        mController.onTetherStateUpdated(TetherEnabler.TETHERING_OFF);
-        assertThat(mController.isChecked()).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/MobileDataEnabledListenerTest.java b/tests/robotests/src/com/android/settings/network/MobileDataEnabledListenerTest.java
index 0824680..b232009 100644
--- a/tests/robotests/src/com/android/settings/network/MobileDataEnabledListenerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileDataEnabledListenerTest.java
@@ -18,6 +18,7 @@
 
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
+import static org.robolectric.shadows.ShadowLooper.shadowMainLooper;
 
 import android.content.Context;
 import android.net.Uri;
@@ -30,8 +31,10 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+// import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+// @LooperMode(LooperMode.Mode.LEGACY)
 public class MobileDataEnabledListenerTest {
     private static final int SUB_ID_ONE = 111;
     private static final int SUB_ID_TWO = 222;
@@ -54,6 +57,7 @@
         mListener.start(SUB_ID_ONE);
         final Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + SUB_ID_ONE);
         mContext.getContentResolver().notifyChange(uri, null);
+        shadowMainLooper().idle();
         verify(mClient).onMobileDataEnabledChange();
     }
 
@@ -63,6 +67,7 @@
         mListener.stop();
         final Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + SUB_ID_ONE);
         mContext.getContentResolver().notifyChange(uri, null);
+        shadowMainLooper().idle();
         verify(mClient, never()).onMobileDataEnabledChange();
     }
 
@@ -73,6 +78,7 @@
         mListener.start(SUB_ID_TWO);
         final Uri uri = Settings.Global.getUriFor(Settings.Global.MOBILE_DATA + SUB_ID_TWO);
         mContext.getContentResolver().notifyChange(uri, null);
+        shadowMainLooper().idle();
         verify(mClient).onMobileDataEnabledChange();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/network/MobileNetworkListFragmentTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkListFragmentTest.java
deleted file mode 100644
index 2e04ea7..0000000
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkListFragmentTest.java
+++ /dev/null
@@ -1,88 +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;
-
-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.os.UserManager;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class MobileNetworkListFragmentTest {
-    @Mock
-    private Context mContext;
-    @Mock
-    private Resources mResources;
-    @Mock
-    private UserManager mUserManager;
-
-    private MobileNetworkListFragment mFragment;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mFragment = new MobileNetworkListFragment();
-    }
-
-    @Test
-    public void isPageSearchEnabled_adminUser_shouldReturnTrue() {
-        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
-        when(mUserManager.isAdminUser()).thenReturn(true);
-        final BaseSearchIndexProvider provider =
-                (BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
-
-        when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
-
-        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() {
-        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
-        when(mUserManager.isAdminUser()).thenReturn(false);
-        final BaseSearchIndexProvider provider =
-                (BaseSearchIndexProvider) mFragment.SEARCH_INDEX_DATA_PROVIDER;
-
-        when(mContext.getResources()).thenReturn(mResources);
-        when(mResources.getBoolean(R.bool.config_show_sim_info)).thenReturn(true);
-
-        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/MobileNetworkSummaryControllerTest.java b/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
index 8d6d2d9..bf866b2 100644
--- a/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/MobileNetworkSummaryControllerTest.java
@@ -44,6 +44,8 @@
 import androidx.preference.PreferenceScreen;
 
 import com.android.settings.Settings.MobileNetworkActivity;
+import com.android.settings.network.helper.SubscriptionAnnotation;
+import com.android.settings.network.helper.SubscriptionGrouping;
 import com.android.settings.widget.AddPreference;
 import com.android.settingslib.RestrictedLockUtils;
 import com.android.settingslib.core.lifecycle.Lifecycle;
diff --git a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
index cd75bef..fb29e05 100644
--- a/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/NetworkProviderSettingsTest.java
@@ -82,6 +82,7 @@
 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;
@@ -99,6 +100,9 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class NetworkProviderSettingsTest {
 
     private static final int XML_RES = R.xml.wifi_tether_settings;
@@ -283,7 +287,8 @@
 
     private void setUpForOnCreate() {
         final FragmentActivity activity = mock(FragmentActivity.class);
-        when(mNetworkProviderSettings.getActivity()).thenReturn(activity);
+        doReturn(activity).when(mNetworkProviderSettings).requireActivity();
+        doReturn(activity).when(mNetworkProviderSettings).getActivity();
         final Resources.Theme theme = mContext.getTheme();
         when(activity.getTheme()).thenReturn(theme);
         UserManager userManager = mock(UserManager.class);
@@ -314,7 +319,7 @@
         mNetworkProviderSettings.onCreate(Bundle.EMPTY);
 
         verify(mDataUsagePreference).setVisible(true);
-        verify(mDataUsagePreference).setTemplate(any(), eq(0) /*subId*/, eq(null) /*service*/);
+        verify(mDataUsagePreference).setTemplate(any(), eq(0) /*subId*/);
     }
 
     @Test
@@ -393,6 +398,7 @@
         verify(mContextMenu, never()).add(anyInt(), eq(MENU_ID_SHARE), anyInt(), anyInt());
     }
 
+    @Ignore("b/313585353")
     @Test
     public void onWifiEntriesChanged_shouldChangeNextButtonState() {
         mNetworkProviderSettings.onWifiEntriesChanged();
@@ -479,61 +485,97 @@
         when(mWifiEntry.canConnect()).thenReturn(true);
         final WifiConfigController2 controller = mock(WifiConfigController2.class);
         when(controller.getConfig()).thenReturn(config);
-        final WifiDialog2 wifiDialog2 = spy(WifiDialog2.createModal(mContext, null /* listener */,
-                mWifiEntry, mode));
-        when(wifiDialog2.getController()).thenReturn(controller);
+        WifiDialog2.WifiDialog2Listener listener = mock(WifiDialog2.WifiDialog2Listener.class);
+        final WifiDialog2 wifiDialog2 = spy(new WifiDialog2(mContext, listener, mWifiEntry, mode));
+        doReturn(controller).when(wifiDialog2).getController();
         return wifiDialog2;
     }
 
-    @Test
-    public void onCreateOptionsMenu_isGuest_neverAddFixConnectivityMenu() {
-        mNetworkProviderSettings.mIsGuest = true;
+    private void mockMenuConditions(boolean isGuest, boolean isAirplaneModeOn, boolean isWifiOn) {
+        mNetworkProviderSettings.mIsGuest = isGuest;
+        doReturn(isAirplaneModeOn).when(mAirplaneModeEnabler).isAirplaneModeOn();
+        when(mMockWifiPickerTracker.getWifiState()).thenReturn(
+                isWifiOn ? WifiManager.WIFI_STATE_ENABLED : WifiManager.WIFI_STATE_DISABLED);
 
-        mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
+        doReturn(mMenuItem).when(mMenu).findItem(MENU_FIX_CONNECTIVITY);
+        mNetworkProviderSettings.mAirplaneModeEnabler = mAirplaneModeEnabler;
+        mNetworkProviderSettings.mWifiPickerTracker = mMockWifiPickerTracker;
 
-        verify(mMenu, never()).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
     }
 
     @Test
-    public void onCreateOptionsMenu_isNotGuest_addFixConnectivityMenu() {
-        mNetworkProviderSettings.mIsGuest = false;
+    public void onCreateOptionsMenu_isGuest_hideFixConnectivityMenu() {
+        setUpForOnCreate();
+        mNetworkProviderSettings.onCreate(null);
+        mockMenuConditions(/*isGuest=*/ true, /*isAirplaneModeOn=*/ false, /*isWifiOn=*/ true);
 
-        mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
+        mNetworkProviderSettings.mMenuProvider.onPrepareMenu(mMenu);
 
-        verify(mMenu).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
+        verify(mMenuItem).setVisible(false);
+
     }
 
     @Test
-    public void onCreateOptionsMenu_isAirplaneModeOn_neverAddFixConnectivityMenu() {
-        doReturn(true).when(mAirplaneModeEnabler).isAirplaneModeOn();
+    public void onCreateOptionsMenu_isNotGuest_showFixConnectivityMenu() {
+        setUpForOnCreate();
+        mNetworkProviderSettings.onCreate(null);
+        mockMenuConditions(/*isGuest=*/ false, /*isAirplaneModeOn=*/ false, /*isWifiOn=*/ true);
 
-        mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
+        mNetworkProviderSettings.mMenuProvider.onPrepareMenu(mMenu);
 
-        verify(mMenu, never()).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
+        verify(mMenuItem).setVisible(true);
+
     }
 
     @Test
-    public void onCreateOptionsMenu_isNotAirplaneModeOn_addFixConnectivityMenu() {
-        doReturn(false).when(mAirplaneModeEnabler).isAirplaneModeOn();
+    public void onCreateOptionsMenu_isAirplaneModeOnAndWifiOff_hideFixConnectivityMenu() {
+        setUpForOnCreate();
+        mNetworkProviderSettings.onCreate(null);
+        mockMenuConditions(/*isGuest=*/ false, /*isAirplaneModeOn=*/ true, /*isWifiOn=*/ false);
 
-        mNetworkProviderSettings.onCreateOptionsMenu(mMenu, null /* inflater */);
+        mNetworkProviderSettings.mMenuProvider.onPrepareMenu(mMenu);
 
-        verify(mMenu).add(anyInt(), eq(MENU_FIX_CONNECTIVITY), anyInt(), anyInt());
+        verify(mMenuItem).setVisible(false);
+    }
+
+    @Test
+    public void onCreateOptionsMenu_isAirplaneModeOnAndWifiOn_showFixConnectivityMenu() {
+        setUpForOnCreate();
+        mNetworkProviderSettings.onCreate(null);
+        mockMenuConditions(/*isGuest=*/ false, /*isAirplaneModeOn=*/ true, /*isWifiOn=*/ true);
+
+        mNetworkProviderSettings.mMenuProvider.onPrepareMenu(mMenu);
+
+        verify(mMenuItem).setVisible(true);
+    }
+
+    @Test
+    public void onCreateOptionsMenu_isNotAirplaneModeOn_showFixConnectivityMenu() {
+        setUpForOnCreate();
+        mNetworkProviderSettings.onCreate(null);
+        mockMenuConditions(/*isGuest=*/ false, /*isAirplaneModeOn=*/ false, /*isWifiOn=*/ true);
+
+        mNetworkProviderSettings.mMenuProvider.onPrepareMenu(mMenu);
+
+        verify(mMenuItem).setVisible(true);
     }
 
     @Test
     public void onOptionsItemSelected_fixConnectivity_restartInternet() {
-        mNetworkProviderSettings.mInternetResetHelper = mInternetResetHelper;
+        setUpForOnCreate();
         doReturn(false).when(mNetworkProviderSettings).isPhoneOnCall();
-        doReturn(NetworkProviderSettings.MENU_FIX_CONNECTIVITY).when(mMenuItem).getItemId();
+        doReturn(MENU_FIX_CONNECTIVITY).when(mMenuItem).getItemId();
+        mNetworkProviderSettings.onCreate(null);
+        mNetworkProviderSettings.mInternetResetHelper = mInternetResetHelper;
 
-        mNetworkProviderSettings.onOptionsItemSelected(mMenuItem);
+        mNetworkProviderSettings.mMenuProvider.onMenuItemSelected(mMenuItem);
 
         verify(mInternetResetHelper).restart();
     }
 
     @Test
     public void onAirplaneModeChanged_apmIsOn_showApmMsg() {
+        setUpForOnCreate();
         mNetworkProviderSettings.onAirplaneModeChanged(true);
 
         verify(mAirplaneModeMsgPreference).setVisible(true);
@@ -541,6 +583,7 @@
 
     @Test
     public void onAirplaneModeChanged_apmIsOff_hideApmMsg() {
+        setUpForOnCreate();
         mNetworkProviderSettings.onAirplaneModeChanged(false);
 
         verify(mAirplaneModeMsgPreference).setVisible(false);
@@ -797,6 +840,28 @@
     }
 
     @Test
+    public void getNonIndexableKeys_wifiStateEnabled_addWifiNetworkKeyNotReturned() {
+        when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_ENABLED);
+        NetworkProviderSettings.SearchIndexProvider searchIndexProvider =
+                new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        assertThat(keys).doesNotContain(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK);
+    }
+
+    @Test
+    public void getNonIndexableKeys_wifiStateDisabled_addWifiNetworkKeyReturned() {
+        when(mWifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
+        NetworkProviderSettings.SearchIndexProvider searchIndexProvider =
+                new NetworkProviderSettings.SearchIndexProvider(XML_RES, mWifiRestriction);
+
+        final List<String> keys = searchIndexProvider.getNonIndexableKeys(mContext);
+
+        assertThat(keys).contains(NetworkProviderSettings.PREF_KEY_ADD_WIFI_NETWORK);
+    }
+
+    @Test
     public void launchConfigNewNetworkFragment_fragmentIsRestricted_ignoreWifiEntry() {
         mNetworkProviderSettings.mIsRestricted = true;
 
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
index 85a67f6..4580002 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsModeDialogPreferenceTest.java
@@ -38,7 +38,6 @@
 import androidx.appcompat.app.AlertDialog;
 
 import com.android.settings.R;
-import com.android.settings.testutils.shadow.ShadowOs;
 import com.android.settingslib.CustomDialogPreferenceCompat.CustomPreferenceDialogFragment;
 
 import org.junit.Before;
@@ -48,6 +47,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowOs;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
diff --git a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
index af292a9..775ac47 100644
--- a/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/PrivateDnsPreferenceControllerTest.java
@@ -67,7 +67,6 @@
 import com.android.settingslib.core.lifecycle.Lifecycle;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -174,7 +173,6 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAvailabilityStatus_unsupportedWhenSet() {
@@ -211,7 +209,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, HOSTNAME);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_off));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_off));
     }
 
     @Test
@@ -221,7 +220,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, HOSTNAME);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
 
         LinkProperties lp = mock(LinkProperties.class);
         when(lp.getValidatedPrivateDnsServers()).thenReturn(NON_EMPTY_ADDRESS_LIST);
@@ -234,7 +234,8 @@
         when(lp.getValidatedPrivateDnsServers()).thenReturn(Collections.emptyList());
         updateLinkProperties(lp);
         mController.updateState(mPreference);
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
     }
 
     @Test
@@ -244,8 +245,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, HOSTNAME);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(
-                getResourceString(R.string.private_dns_mode_provider_failure));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_provider_failure));
 
         LinkProperties lp = mock(LinkProperties.class);
         when(lp.getValidatedPrivateDnsServers()).thenReturn(NON_EMPTY_ADDRESS_LIST);
@@ -258,8 +259,8 @@
         when(lp.getValidatedPrivateDnsServers()).thenReturn(Collections.emptyList());
         updateLinkProperties(lp);
         mController.updateState(mPreference);
-        verify(mPreference).setSummary(
-                getResourceString(R.string.private_dns_mode_provider_failure));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_provider_failure));
     }
 
     @Test
@@ -269,7 +270,8 @@
         ConnectivitySettingsManager.setPrivateDnsHostname(mContext, "");
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
 
         reset(mController);
         reset(mPreference);
@@ -277,7 +279,8 @@
         ConnectivitySettingsManager.setPrivateDnsDefaultMode(mContext, PRIVATE_DNS_MODE_OFF);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_off));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_off));
 
         reset(mController);
         reset(mPreference);
@@ -287,10 +290,10 @@
         ConnectivitySettingsManager.setPrivateDnsMode(mContext, PRIVATE_DNS_MODE_OPPORTUNISTIC);
         mController.updateState(mPreference);
         verify(mController, atLeastOnce()).getSummary();
-        verify(mPreference).setSummary(getResourceString(R.string.private_dns_mode_opportunistic));
+        verify(mPreference).setSummary(getResourceString(
+                com.android.settingslib.R.string.private_dns_mode_opportunistic));
     }
 
-    @Ignore
     @Test
     public void isEnabled_canBeDisabledByAdmin() {
         final int userId = UserHandle.myUserId();
diff --git a/tests/robotests/src/com/android/settings/network/SubscriptionsChangeListenerTest.java b/tests/robotests/src/com/android/settings/network/SubscriptionsChangeListenerTest.java
index d075655..d805ee6 100644
--- a/tests/robotests/src/com/android/settings/network/SubscriptionsChangeListenerTest.java
+++ b/tests/robotests/src/com/android/settings/network/SubscriptionsChangeListenerTest.java
@@ -20,12 +20,14 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.Mockito.atLeastOnce;
 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.ShadowLooper.shadowMainLooper;
 
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
@@ -81,6 +83,7 @@
         final ContentResolver contentResolver = mock(ContentResolver.class);
         when(mContext.getContentResolver()).thenReturn(contentResolver);
         initListener(false);
+        shadowMainLooper().idle();
         verify(contentResolver, never()).registerContentObserver(any(Uri.class), anyBoolean(),
                 any(ContentObserver.class));
         verify(mSubscriptionManager, never()).addOnSubscriptionsChangedListener(any(), any());
@@ -93,6 +96,7 @@
         final ArgumentCaptor<SubscriptionManager.OnSubscriptionsChangedListener> captor =
                 ArgumentCaptor.forClass(SubscriptionManager.OnSubscriptionsChangedListener.class);
         verify(mSubscriptionManager).addOnSubscriptionsChangedListener(any(), captor.capture());
+        shadowMainLooper().idle();
         captor.getValue().onSubscriptionsChanged();
         verify(mClient).onSubscriptionsChanged();
     }
@@ -104,9 +108,11 @@
         mContext.sendStickyBroadcast(intent);
 
         initListener(true);
+        shadowMainLooper().idle();
         verify(mClient, never()).onSubscriptionsChanged();
 
         mContext.sendStickyBroadcast(intent);
+        shadowMainLooper().idle();
         verify(mClient, times(1)).onSubscriptionsChanged();
     }
 
@@ -115,8 +121,10 @@
         initListener(true);
         final ArgumentCaptor<BroadcastReceiver> broadcastReceiverCaptor =
                 ArgumentCaptor.forClass(BroadcastReceiver.class);
+        shadowMainLooper().idle();
         verify(mContext).registerReceiver(broadcastReceiverCaptor.capture(), any());
         broadcastReceiverCaptor.getValue().onReceive(mContext, null);
+        shadowMainLooper().idle();
         verify(mClient).onSubscriptionsChanged();
     }
 
@@ -125,7 +133,8 @@
         initListener(true);
         Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
         mListener.onChange(false, mAirplaneModeUri);
-        verify(mClient).onAirplaneModeChanged(true);
+        shadowMainLooper().idle();
+        verify(mClient, atLeastOnce()).onAirplaneModeChanged(true);
         assertThat(mListener.isAirplaneModeOn()).isTrue();
     }
 
@@ -134,7 +143,8 @@
         initListener(true);
         Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0);
         mListener.onChange(false, mAirplaneModeUri);
-        verify(mClient).onAirplaneModeChanged(false);
+        shadowMainLooper().idle();
+        verify(mClient, atLeastOnce()).onAirplaneModeChanged(false);
         assertThat(mListener.isAirplaneModeOn()).isFalse();
     }
 
diff --git a/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
index bb4b0c4..e7a31ce 100644
--- a/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
+++ b/tests/robotests/src/com/android/settings/network/TetherEnablerTest.java
@@ -33,6 +33,7 @@
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.clearInvocations;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
@@ -51,8 +52,6 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.network.TetherEnabler.OnTetherStateUpdateListener;
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
 import com.android.settings.widget.SwitchWidgetController;
 
 import org.junit.Before;
@@ -82,8 +81,8 @@
     @Mock
     private BluetoothAdapter mBluetoothAdapter;
 
-    private SwitchBar mSwitchBar;
     private TetherEnabler mEnabler;
+    @Mock
     private SwitchWidgetController mSwitchWidgetController;
     private static final String[] USB_TETHERED = {"usb"};
 
@@ -93,8 +92,6 @@
 
         Context context = spy(ApplicationProvider.getApplicationContext());
         AtomicReference<BluetoothPan> panReference = spy(AtomicReference.class);
-        mSwitchBar = spy(new SwitchBar(context));
-        mSwitchWidgetController = spy(new SwitchBarController(mSwitchBar));
         when(context.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
         when(context.getSystemService(Context.CONNECTIVITY_SERVICE)).thenReturn(
                 mConnectivityManager);
@@ -115,7 +112,8 @@
         when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(USB_TETHERED);
 
         mEnabler.onStart();
-        assertThat(mSwitchBar.isChecked()).isTrue();
+
+        verify(mSwitchWidgetController).setChecked(true);
     }
 
     @Test
@@ -150,26 +148,29 @@
         mEnabler.onStart();
         mEnabler.startTethering(TetheringManager.TETHERING_WIFI);
 
+        clearInvocations(mSwitchWidgetController);
         when(mTetheringManager.getTetheredIfaces()).thenReturn(new String[0]);
         mEnabler.mOnStartTetheringCallback.onTetheringFailed();
 
-        assertThat(mSwitchBar.isChecked()).isFalse();
-        assertThat(mSwitchBar.isEnabled()).isTrue();
+        verify(mSwitchWidgetController).setEnabled(true);
+        verify(mSwitchWidgetController).setChecked(false);
     }
 
     @Test
     public void onDataSaverChanged_setsEnabledCorrectly() {
-        mSwitchBar.setEnabled(true);
+        mSwitchWidgetController.setEnabled(true);
 
         // try to turn data saver on
+        clearInvocations(mSwitchWidgetController);
         when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(true);
         mEnabler.onDataSaverChanged(true);
-        assertThat(mSwitchBar.isEnabled()).isFalse();
+        verify(mSwitchWidgetController).setEnabled(false);
 
         // lets turn data saver off again
+        clearInvocations(mSwitchWidgetController);
         when(mNetworkPolicyManager.getRestrictBackground()).thenReturn(false);
         mEnabler.onDataSaverChanged(false);
-        assertThat(mSwitchBar.isEnabled()).isTrue();
+        verify(mSwitchWidgetController).setEnabled(true);
     }
 
     @Test
@@ -250,7 +251,7 @@
 
         ReflectionHelpers.setField(mEnabler, "mDataSaverEnabled", false);
         mEnabler.updateState(null/*tethered*/);
-        verify(mSwitchBar).setEnabled(true);
+        verify(mSwitchWidgetController).setEnabled(true);
     }
 
     @Test
@@ -263,7 +264,7 @@
 
         ReflectionHelpers.setField(mEnabler, "mDataSaverEnabled", false);
         mEnabler.updateState(null/*tethered*/);
-        verify(mSwitchBar).setEnabled(true);
+        verify(mSwitchWidgetController).setEnabled(true);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/network/TetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/TetherPreferenceControllerTest.java
deleted file mode 100644
index 54d616d..0000000
--- a/tests/robotests/src/com/android/settings/network/TetherPreferenceControllerTest.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.network;
-
-import static org.mockito.Mockito.any;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.verifyNoInteractions;
-import static org.mockito.Mockito.verifyNoMoreInteractions;
-import static org.mockito.Mockito.when;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothPan;
-import android.bluetooth.BluetoothProfile;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.database.ContentObserver;
-import android.net.TetheringManager;
-import android.provider.Settings;
-
-import androidx.preference.Preference;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-@RunWith(RobolectricTestRunner.class)
-public class TetherPreferenceControllerTest {
-
-    @Mock
-    private Context mContext;
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private BluetoothAdapter mBluetoothAdapter;
-    @Mock
-    private Preference mPreference;
-
-    private TetherPreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        doReturn(null).when(mContext)
-                .getSystemService(Context.DEVICE_POLICY_SERVICE);
-        mController = spy(new TetherPreferenceController(mContext, /* lifecycle= */ null));
-        ReflectionHelpers.setField(mController, "mContext", mContext);
-        ReflectionHelpers.setField(mController, "mTetheringManager", mTetheringManager);
-        ReflectionHelpers.setField(mController, "mBluetoothAdapter", mBluetoothAdapter);
-        ReflectionHelpers.setField(mController, "mPreference", mPreference);
-    }
-
-    @Test
-    public void lifeCycle_onCreate_shouldInitBluetoothPan() {
-        when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_ON);
-        mController.onCreate(null);
-
-        verify(mBluetoothAdapter).getState();
-        verify(mBluetoothAdapter).getProfileProxy(mContext, mController.mBtProfileServiceListener,
-                BluetoothProfile.PAN);
-    }
-
-    @Test
-    public void lifeCycle_onCreate_shouldNotInitBluetoothPanWhenBluetoothOff() {
-        when(mBluetoothAdapter.getState()).thenReturn(BluetoothAdapter.STATE_OFF);
-        mController.onCreate(null);
-
-        verify(mBluetoothAdapter).getState();
-        verifyNoMoreInteractions(mBluetoothAdapter);
-    }
-
-    @Test
-    public void goThroughLifecycle_shouldDestoryBluetoothProfile() {
-        final BluetoothPan pan = mock(BluetoothPan.class);
-        final AtomicReference<BluetoothPan> panRef =
-                ReflectionHelpers.getField(mController, "mBluetoothPan");
-        panRef.set(pan);
-
-        mController.onDestroy();
-
-        verify(mBluetoothAdapter).closeProfileProxy(BluetoothProfile.PAN, pan);
-    }
-
-    @Test
-    public void updateSummary_noPreference_noInteractionWithTetheringManager() {
-        ReflectionHelpers.setField(mController, "mPreference", null);
-        mController.updateSummary();
-        verifyNoMoreInteractions(mTetheringManager);
-    }
-
-    @Test
-    public void updateSummary_wifiTethered_shouldShowHotspotMessage() {
-        when(mTetheringManager.getTetheredIfaces()).thenReturn(new String[]{"123"});
-        when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"123"});
-
-        mController.updateSummary();
-        verify(mPreference).setSummary(R.string.tether_settings_summary_hotspot_on_tether_off);
-    }
-
-    @Test
-    public void updateSummary_btThetherOn_shouldShowTetherMessage() {
-        when(mTetheringManager.getTetheredIfaces()).thenReturn(new String[]{"123"});
-        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[]{"123"});
-
-        mController.updateSummary();
-        verify(mPreference).setSummary(R.string.tether_settings_summary_hotspot_off_tether_on);
-    }
-
-    @Ignore
-    @Test
-    public void updateSummary_tetherOff_shouldShowTetherOffMessage() {
-        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[]{"123"});
-        when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"456"});
-
-        mController.updateSummary();
-        verify(mPreference).setSummary(R.string.switch_off_text);
-    }
-
-    @Test
-    public void updateSummary_wifiBtTetherOn_shouldShowHotspotAndTetherMessage() {
-        when(mTetheringManager.getTetheredIfaces()).thenReturn(new String[]{"123", "456"});
-        when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"456"});
-        when(mTetheringManager.getTetherableBluetoothRegexs()).thenReturn(new String[]{"23"});
-
-        mController.updateSummary();
-        verify(mPreference).setSummary(R.string.tether_settings_summary_hotspot_on_tether_on);
-    }
-
-    @Ignore
-    @Test
-    public void airplaneModeOn_shouldUpdateSummaryToOff() {
-        final Context context = RuntimeEnvironment.application;
-        ReflectionHelpers.setField(mController, "mContext", context);
-
-        Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 0);
-
-        mController.onResume();
-
-        verifyNoInteractions(mPreference);
-
-        Settings.Global.putInt(context.getContentResolver(), Settings.Global.AIRPLANE_MODE_ON, 1);
-
-        final ContentObserver observer =
-            ReflectionHelpers.getField(mController, "mAirplaneModeObserver");
-        observer.onChange(true, Settings.Global.getUriFor(Settings.Global.AIRPLANE_MODE_ON));
-
-        verify(mPreference).setSummary(R.string.switch_off_text);
-    }
-
-    @Test
-    public void onResume_shouldRegisterTetherReceiver() {
-        when(mContext.getContentResolver()).thenReturn(mock(ContentResolver.class));
-
-        mController.onResume();
-
-        verify(mContext).registerReceiver(
-                any(TetherPreferenceController.TetherBroadcastReceiver.class),
-                any(IntentFilter.class));
-    }
-
-    @Test
-    public void onPause_shouldUnregisterTetherReceiver() {
-        when(mContext.getContentResolver()).thenReturn(mock(ContentResolver.class));
-        mController.onResume();
-
-        mController.onPause();
-
-        verify(mContext)
-            .unregisterReceiver(any(TetherPreferenceController.TetherBroadcastReceiver.class));
-    }
-
-    @Test
-    public void tetherStatesChanged_shouldUpdateSummary() {
-        final Context context = RuntimeEnvironment.application;
-        ReflectionHelpers.setField(mController, "mContext", context);
-        mController.onResume();
-
-        context.sendBroadcast(new Intent(TetheringManager.ACTION_TETHER_STATE_CHANGED));
-
-        verify(mController).updateSummary();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java
index 43b961c..8e0c863 100644
--- a/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/TopLevelNetworkEntryPreferenceControllerTest.java
@@ -29,6 +29,7 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.After;
@@ -39,13 +40,16 @@
 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.ShadowUserManager;
+import org.robolectric.shadow.api.Shadow;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowRestrictedLockUtilsInternal.class, ShadowUtils.class})
+@Config(shadows = {
+        ShadowRestrictedLockUtilsInternal.class,
+        ShadowUtils.class,
+        ShadowUserManager.class,
+})
 public class TopLevelNetworkEntryPreferenceControllerTest {
 
     @Mock
@@ -58,7 +62,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        final ShadowUserManager um = Shadows.shadowOf(
+        final ShadowUserManager um = Shadow.extract(
                 RuntimeEnvironment.application.getSystemService(UserManager.class));
         um.setIsAdminUser(true);
 
diff --git a/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
deleted file mode 100644
index e02da90..0000000
--- a/tests/robotests/src/com/android/settings/network/UsbTetherPreferenceControllerTest.java
+++ /dev/null
@@ -1,128 +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;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.TetheringManager;
-
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.util.ReflectionHelpers;
-
-@RunWith(RobolectricTestRunner.class)
-public class UsbTetherPreferenceControllerTest {
-
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private TetherEnabler mTetherEnabler;
-
-    private Context mContext;
-    private UsbTetherPreferenceController mController;
-    private SwitchPreference mSwitchPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
-        when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[]{""});
-        mController = new UsbTetherPreferenceController(mContext, "USB");
-        mController.setTetherEnabler(mTetherEnabler);
-        mSwitchPreference = spy(SwitchPreference.class);
-        ReflectionHelpers.setField(mController, "mPreference", mSwitchPreference);
-    }
-
-    @Test
-    public void lifecycle_shouldRegisterReceiverOnStart() {
-        mController.onStart();
-
-        verify(mContext).registerReceiver(eq(mController.mUsbChangeReceiver), any());
-    }
-
-    @Test
-    public void lifecycle_shouldAddListenerOnResume() {
-        mController.onResume();
-        verify(mTetherEnabler).addListener(mController);
-    }
-
-    @Test
-    public void lifecycle_shouldRemoveListenrOnPause() {
-        mController.onPause();
-        verify(mTetherEnabler).removeListener(mController);
-    }
-
-    @Test
-    public void lifecycle_shouldUnregisterReceiverOnStop() {
-        mController.onStart();
-        mController.onStop();
-
-        verify(mContext).unregisterReceiver(eq(mController.mUsbChangeReceiver));
-    }
-
-    @Test
-    public void shouldShow_noTetherableUsb() {
-        when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[0]);
-        assertThat(mController.shouldShow()).isFalse();
-    }
-
-    @Test
-    public void shouldEnable_noUsbConnected() {
-        ReflectionHelpers.setField(mController, "mUsbConnected", false);
-        assertThat(mController.shouldEnable()).isFalse();
-    }
-
-    @Test
-    public void setChecked_shouldStartUsbTethering() {
-        mController.setChecked(true);
-        verify(mTetherEnabler).startTethering(TetheringManager.TETHERING_USB);
-    }
-
-    @Test
-    public void setUnchecked_shouldStopUsbTethering() {
-        mController.setChecked(false);
-        verify(mTetherEnabler).stopTethering(TetheringManager.TETHERING_USB);
-    }
-
-    @Test
-    public void switch_shouldCheckedWhenUsbTethering() {
-        mController.onTetherStateUpdated(TetherEnabler.TETHERING_USB_ON);
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void switch_shouldUnCheckedWhenUsbNotTethering() {
-        mController.onTetherStateUpdated(TetherEnabler.TETHERING_OFF);
-        assertThat(mController.isChecked()).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
deleted file mode 100644
index a82a71f..0000000
--- a/tests/robotests/src/com/android/settings/network/WifiTetherDisablePreferenceControllerTest.java
+++ /dev/null
@@ -1,142 +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;
-
-import static com.android.settings.AllInOneTetherSettings.WIFI_TETHER_DISABLE_KEY;
-import static com.android.settings.network.TetherEnabler.TETHERING_BLUETOOTH_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_ETHERNET_ON;
-import static com.android.settings.network.TetherEnabler.TETHERING_OFF;
-import static com.android.settings.network.TetherEnabler.TETHERING_USB_ON;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.TetheringManager;
-
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-
-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.ParameterizedRobolectricTestRunner;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.Arrays;
-import java.util.List;
-
-@RunWith(ParameterizedRobolectricTestRunner.class)
-public class WifiTetherDisablePreferenceControllerTest {
-
-    @ParameterizedRobolectricTestRunner.Parameters(name = "TetherState: {0}")
-    public static List params() {
-        return Arrays.asList(new Object[][] {
-                {TETHERING_OFF, R.string.summary_placeholder},
-                {TETHERING_USB_ON, R.string.disable_wifi_hotspot_when_usb_on},
-                {TETHERING_BLUETOOTH_ON, R.string.disable_wifi_hotspot_when_bluetooth_on},
-                {TETHERING_ETHERNET_ON, R.string.disable_wifi_hotspot_when_ethernet_on},
-                {
-                        TETHERING_USB_ON | TETHERING_BLUETOOTH_ON,
-                        R.string.disable_wifi_hotspot_when_usb_and_bluetooth_on
-                },
-                {
-                        TETHERING_USB_ON | TETHERING_ETHERNET_ON,
-                        R.string.disable_wifi_hotspot_when_usb_and_ethernet_on
-                },
-                {
-                        TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON,
-                        R.string.disable_wifi_hotspot_when_bluetooth_and_ethernet_on
-                },
-                {
-                        TETHERING_USB_ON | TETHERING_BLUETOOTH_ON | TETHERING_ETHERNET_ON,
-                        R.string.disable_wifi_hotspot_when_usb_and_bluetooth_and_ethernet_on
-                }
-        });
-    }
-
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private PreferenceScreen mPreferenceScreen;
-    @Mock
-    private TetherEnabler mTetherEnabler;
-
-    private SwitchPreference mPreference;
-    private Context mContext;
-    private WifiTetherDisablePreferenceController mController;
-    private final int mTetherState;
-    private final int mSummaryResId;
-
-    public WifiTetherDisablePreferenceControllerTest(int tetherState, int summaryResId) {
-        mTetherState = tetherState;
-        mSummaryResId = summaryResId;
-    }
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        mPreference = spy(SwitchPreference.class);
-        when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
-        when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{""});
-        mController = new WifiTetherDisablePreferenceController(mContext, WIFI_TETHER_DISABLE_KEY);
-        mController.setTetherEnabler(mTetherEnabler);
-        ReflectionHelpers.setField(mController, "mScreen", mPreferenceScreen);
-        ReflectionHelpers.setField(mController, "mPreference", mPreference);
-        when(mPreferenceScreen.findPreference(WIFI_TETHER_DISABLE_KEY)).thenReturn(mPreference);
-    }
-
-    @Test
-    public void shouldShow_noTetherableWifi() {
-        when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[0]);
-        assertThat(mController.shouldShow()).isFalse();
-    }
-
-    @Test
-    public void onTetherStateUpdated_visibilityChangeCorrectly() {
-        int state = TetherEnabler.TETHERING_BLUETOOTH_ON;
-        mController.onTetherStateUpdated(state);
-        assertThat(mController.shouldShow()).isTrue();
-
-        state |= TetherEnabler.TETHERING_USB_ON;
-        mController.onTetherStateUpdated(state);
-        assertThat(mController.shouldShow()).isTrue();
-
-        state = TetherEnabler.TETHERING_USB_ON;
-        mController.onTetherStateUpdated(state);
-        assertThat(mController.shouldShow()).isTrue();
-
-        state = TetherEnabler.TETHERING_OFF;
-        mController.onTetherStateUpdated(state);
-        assertThat(mController.shouldShow()).isFalse();
-    }
-
-    @Test
-    public void getSummary_onTetherStateUpdated() {
-        mController.onTetherStateUpdated(mTetherState);
-        assertThat(mController.getSummary()).isEqualTo(mContext.getString(mSummaryResId));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java b/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java
index 5fd4652..d8895d5 100644
--- a/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java
+++ b/tests/robotests/src/com/android/settings/network/apn/ApnEditorTest.java
@@ -17,6 +17,7 @@
 package com.android.settings.network.apn;
 
 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;
@@ -27,6 +28,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 android.content.ContentResolver;
 import android.content.ContentValues;
@@ -42,15 +44,17 @@
 import android.view.Menu;
 import android.view.MenuItem;
 import android.view.View;
+
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.EditTextPreference;
 import androidx.preference.ListPreference;
 import androidx.preference.MultiSelectListPreference;
 import androidx.preference.SwitchPreference;
+
 import com.android.settings.R;
 import com.android.settings.network.ProxySubscriptionManager;
 import com.android.settings.network.apn.ApnEditor.ApnData;
-import com.android.settings.testutils.shadow.ShadowFragment;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -64,6 +68,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ApnEditorTest {
 
     private static final Object[] APN_DATA = {
@@ -164,6 +171,19 @@
     }
 
     @Test
+    public void getApnDataFromUri_emptyCursor_returnsNull() {
+        var mockContentResolver = mock(ContentResolver.class);
+        var mockCursor = mock(Cursor.class);
+        doReturn(mockContentResolver).when(mActivity).getContentResolver();
+        when(mockContentResolver.query(any(), any(), any(), any(), any())).thenReturn(mockCursor);
+        when(mockCursor.moveToFirst()).thenReturn(false);
+
+        var apnData = mApnEditorUT.getApnDataFromUri(mock(Uri.class));
+
+        assertThat(apnData).isNull();
+    }
+
+    @Test
     public void testSetStringValue_valueChanged_shouldSetValue() {
         // GIVEN an APN value which is different than the APN value in database
         final String apnKey = "apn";
@@ -479,7 +499,6 @@
     }
 
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onCreate_notAdminUser_shouldFinish() {
         doReturn(false).when(mUserManager).isAdminUser();
 
@@ -489,7 +508,6 @@
     }
 
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onCreate_hasUserRestriction_shouldFinish() {
         doReturn(true).when(mUserManager)
                 .hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS);
@@ -500,7 +518,6 @@
     }
 
     @Test
-    @Config(shadows = ShadowFragment.class)
     public void onCreate_noAction_shouldFinishAndNoCrash() {
         ProxySubscriptionManager proxySubscriptionMgr = mock(ProxySubscriptionManager.class);
         mApnEditorUT.mProxySubscriptionMgr = proxySubscriptionMgr;
diff --git a/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java b/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java
index abea839..bccfe86 100644
--- a/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java
+++ b/tests/robotests/src/com/android/settings/network/ims/MockWifiCallingQueryImsState.java
@@ -29,6 +29,7 @@
     private Boolean mIsProvisionedOnDevice;
     private Boolean mIsServiceStateReady;
     private Boolean mIsEnabledByUser;
+    private Boolean mIsReadyToWifiCalling;
 
     /**
      * Constructor
@@ -103,4 +104,16 @@
         return super.isEnabledByUser(subId);
     }
 
+    public void setIsReadyToWifiCalling(boolean isReady) {
+        mIsReadyToWifiCalling = isReady;
+    }
+
+    @Override
+    public boolean isReadyToWifiCalling() {
+        if (mIsReadyToWifiCalling != null) {
+            return mIsReadyToWifiCalling;
+        }
+        return super.isReadyToWifiCalling();
+    }
+
 }
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 ba37c30..8445fe2 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileDataSliceTest.java
@@ -114,7 +114,8 @@
 
         mMobileDataSlice.onNotifyChange(intent);
 
-        verify(mTelephonyManager).setDataEnabled(true);
+        verify(mTelephonyManager)
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, true);
     }
 
     @Test
@@ -126,7 +127,8 @@
 
         mMobileDataSlice.onNotifyChange(intent);
 
-        verify(mTelephonyManager).setDataEnabled(false);
+        verify(mTelephonyManager)
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, false);
     }
 
     @Test
@@ -138,7 +140,8 @@
 
         mMobileDataSlice.onNotifyChange(intent);
 
-        verify(mTelephonyManager, times(0)).setDataEnabled(true);
+        verify(mTelephonyManager, times(0))
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, true);
     }
 
     @Test
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 3e219a4..297815b 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/MobileNetworkSettingsTest.java
@@ -58,7 +58,10 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowEntityHeaderController.class)
+@Config(shadows = {
+        ShadowEntityHeaderController.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class MobileNetworkSettingsTest {
     @Mock
     private TelephonyManager mTelephonyManager;
diff --git a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
index 9b44faa..da8958d 100644
--- a/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/network/telephony/VideoCallingPreferenceControllerTest.java
@@ -86,7 +86,8 @@
 
         mPreference = new SwitchPreference(mContext);
         mController = spy(new VideoCallingPreferenceController(mContext, "wifi_calling"));
-        mController.init(SUB_ID);
+        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();
diff --git a/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java b/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java
index 7fe1187..4e0fb03 100644
--- a/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/network/tether/TetherSettingsTest.java
@@ -48,7 +48,6 @@
 import android.os.Bundle;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.util.FeatureFlagUtils;
 
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
@@ -56,7 +55,6 @@
 
 import com.android.settings.R;
 import com.android.settings.RestrictedSettingsFragment;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.wifi.tether.WifiTetherPreferenceController;
 import com.android.settingslib.RestrictedSwitchPreference;
 
@@ -76,6 +74,9 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class TetherSettingsTest {
 
     private Context mContext;
@@ -142,7 +143,6 @@
 
     @Test
     public void testTetherNonIndexableKeys_tetherAvailable_keysNotReturned() {
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // To let TetherUtil.isTetherAvailable return true, select one of the combinations
         setupIsTetherAvailable(true);
 
@@ -187,7 +187,6 @@
 
     @Test
     public void testTetherNonIndexableKeys_usbAvailable_usbKeyNotReturned() {
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         // We can ignore the condition of Utils.isMonkeyRunning()
         // In normal case, monkey and robotest should not execute at the same time
         when(mTetheringManager.getTetherableUsbRegexs()).thenReturn(new String[]{"fakeRegex"});
@@ -210,7 +209,6 @@
 
     @Test
     public void testTetherNonIndexableKeys_bluetoothAvailable_bluetoothKeyNotReturned() {
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         when(mTetheringManager.getTetherableBluetoothRegexs())
                 .thenReturn(new String[]{"fakeRegex"});
 
diff --git a/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java
deleted file mode 100644
index 7e15618..0000000
--- a/tests/robotests/src/com/android/settings/nfc/AndroidBeamPreferenceControllerTest.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.nfc;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.nfc.NfcAdapter;
-import android.nfc.NfcManager;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.provider.Settings;
-
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.testutils.shadow.ShadowNfcAdapter;
-import com.android.settingslib.RestrictedLockUtilsInternal;
-import com.android.settingslib.RestrictedPreference;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadow.api.Shadow;
-import org.robolectric.util.ReflectionHelpers;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowNfcAdapter.class)
-public class AndroidBeamPreferenceControllerTest {
-
-    Context mContext;
-    @Mock
-    NfcManager mNfcManager;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private PackageManager mPackageManager;
-
-    private RestrictedPreference mAndroidBeamPreference;
-    private AndroidBeamPreferenceController mAndroidBeamController;
-    private ShadowNfcAdapter mShadowNfcAdapter;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mShadowNfcAdapter = Shadow.extract(NfcAdapter.getDefaultAdapter(mContext));
-
-        when(mContext.getApplicationContext()).thenReturn(mContext);
-        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
-        when(mContext.getSystemService(Context.NFC_SERVICE)).thenReturn(mNfcManager);
-        when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext,
-                UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(false);
-
-        mAndroidBeamController = new AndroidBeamPreferenceController(mContext,
-                AndroidBeamPreferenceController.KEY_ANDROID_BEAM_SETTINGS);
-        mAndroidBeamPreference = new RestrictedPreference(RuntimeEnvironment.application);
-        when(mScreen.findPreference(mAndroidBeamController.getPreferenceKey())).thenReturn(
-                mAndroidBeamPreference);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)).thenReturn(true);
-
-        Settings.Global.putString(mContext.getContentResolver(),
-                Settings.Global.AIRPLANE_MODE_TOGGLEABLE_RADIOS,
-                Settings.Global.RADIO_NFC);
-        Settings.Global.putInt(mContext.getContentResolver(),
-                Settings.Global.AIRPLANE_MODE_ON,
-                0);
-        mAndroidBeamController.displayPreference(mScreen);
-    }
-
-    @Test
-    public void isAvailable_hasNfc_shouldReturnTrue() {
-        mShadowNfcAdapter.setEnabled(true);
-        assertThat(mAndroidBeamController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_noNfcFeature_shouldReturnFalse() {
-        mShadowNfcAdapter.setEnabled(true);
-        when(mPackageManager.hasSystemFeature(PackageManager.FEATURE_NFC_BEAM)).thenReturn(false);
-        assertThat(mAndroidBeamController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isAvailable_noNfcAdapter_shouldReturnFalse() {
-        ReflectionHelpers.setField(mAndroidBeamController, "mNfcAdapter", null);
-        assertThat(mAndroidBeamController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void isBeamEnable_disAllowBeam_shouldReturnFalse() {
-        mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF);
-
-        when(RestrictedLockUtilsInternal.hasBaseUserRestriction(mContext,
-                UserManager.DISALLOW_OUTGOING_BEAM, UserHandle.myUserId())).thenReturn(true);
-        mAndroidBeamController.displayPreference(mScreen);
-
-        assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void isBeamEnable_nfcStateOn_shouldReturnTrue() {
-        mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_ON);
-        try {
-            mAndroidBeamController.onResume();
-        } catch (NullPointerException e) {
-            // skip because it's just test
-            // it will meet NullPointerException in checkRestrictionAndSetDisabled
-        }
-        assertThat(mAndroidBeamPreference.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void isBeamEnable_nfcStateNotOn_shouldReturnFalse() {
-        mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_OFF);
-        mAndroidBeamController.onResume();
-        assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
-
-        mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_ON);
-        mAndroidBeamController.onResume();
-        assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
-
-        mShadowNfcAdapter.setAdapterState(NfcAdapter.STATE_TURNING_OFF);
-        mAndroidBeamController.onResume();
-        assertThat(mAndroidBeamPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void updateNonIndexableKeys_available_shouldNotUpdate() {
-        mShadowNfcAdapter.setEnabled(true);
-        final List<String> keys = new ArrayList<>();
-
-        mAndroidBeamController.updateNonIndexableKeys(keys);
-
-        assertThat(keys).isEmpty();
-    }
-
-    @Test
-    public void updateNonIndexableKeys_notAvailable_shouldUpdate() {
-        ReflectionHelpers.setField(mAndroidBeamController, "mNfcAdapter", null);
-        final List<String> keys = new ArrayList<>();
-
-        mAndroidBeamController.updateNonIndexableKeys(keys);
-
-        assertThat(keys).hasSize(1);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/nfc/NfcForegroundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/nfc/NfcForegroundPreferenceControllerTest.java
index 63fa320..56326ef 100644
--- a/tests/robotests/src/com/android/settings/nfc/NfcForegroundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/nfc/NfcForegroundPreferenceControllerTest.java
@@ -25,6 +25,9 @@
 import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.content.pm.PackageManager;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
 
 import androidx.preference.ListPreference;
 import androidx.preference.PreferenceScreen;
@@ -33,6 +36,7 @@
 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;
@@ -43,10 +47,14 @@
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@RequiresFlagsDisabled(android.permission.flags.Flags.FLAG_WALLET_ROLE_ENABLED)
 public class NfcForegroundPreferenceControllerTest {
 
     private static final String PREF_KEY = PaymentSettingsTest.FOREGROUND_KEY;
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Mock
     private PaymentBackend mPaymentBackend;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java
index 3cb3abf..ea0b2a0 100644
--- a/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/BubbleNotificationPreferenceControllerTest.java
@@ -34,26 +34,34 @@
 import android.widget.Switch;
 
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settingslib.testutils.shadow.ShadowInteractionJankMonitor;
 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.Answers;
 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.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowInteractionJankMonitor.class})
+@Config(shadows = {
+        ShadowInteractionJankMonitor.class,
+        ShadowActivityManager.class,
+})
 public class BubbleNotificationPreferenceControllerTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
+    private static final String KEY_NOTIFICATION_BUBBLES = "notification_bubbles";
     private Context mContext;
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
     private PreferenceScreen mScreen;
@@ -64,33 +72,29 @@
     private BubbleNotificationPreferenceController mController;
     private MainSwitchPreference mPreference;
 
-    private static final String KEY_NOTIFICATION_BUBBLES = "notification_bubbles";
+    private ShadowActivityManager mActivityManager;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = new BubbleNotificationPreferenceController(mContext,
                 KEY_NOTIFICATION_BUBBLES);
-        mPreference = new MainSwitchPreference(RuntimeEnvironment.application);
+        mPreference = new MainSwitchPreference(mContext);
         mPreference.setKey(mController.getPreferenceKey());
         when(mScreen.findPreference(mPreference.getKey())).thenReturn(mPreference);
         mController.displayPreference(mScreen);
+        mActivityManager = Shadow.extract(mContext.getSystemService(ActivityManager.class));
     }
 
     @Test
     public void isAvailable_lowRam_returnsUnsupported() {
-        final ShadowActivityManager activityManager =
-                Shadow.extract(mContext.getSystemService(ActivityManager.class));
-        activityManager.setIsLowRamDevice(true);
+        mActivityManager.setIsLowRamDevice(true);
         assertEquals(UNSUPPORTED_ON_DEVICE, mController.getAvailabilityStatus());
     }
 
     @Test
     public void isAvailable_notLowRam_returnsAvailable() {
-        final ShadowActivityManager activityManager =
-                Shadow.extract(mContext.getSystemService(ActivityManager.class));
-        activityManager.setIsLowRamDevice(false);
+        mActivityManager.setIsLowRamDevice(false);
         assertEquals(AVAILABLE, mController.getAvailabilityStatus());
     }
 
@@ -109,7 +113,7 @@
     public void onSwitchChanged_true_settingIsOff_flagShouldOn() {
         Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, OFF);
 
-        mController.onSwitchChanged(mSwitch, true);
+        mController.onCheckedChanged(mSwitch, true);
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 NOTIFICATION_BUBBLES, OFF)).isEqualTo(ON);
@@ -119,7 +123,7 @@
     public void onSwitchChanged_false_settingIsOn_flagShouldOff() {
         Settings.Global.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, ON);
 
-        mController.onSwitchChanged(mSwitch, false);
+        mController.onCheckedChanged(mSwitch, false);
 
         assertThat(Settings.Global.getInt(mContext.getContentResolver(),
                 NOTIFICATION_BUBBLES, ON)).isEqualTo(OFF);
diff --git a/tests/robotests/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceControllerTest.java
index 3b4e90f..a201fdb 100644
--- a/tests/robotests/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/BubbleSummaryNotificationPreferenceControllerTest.java
@@ -30,6 +30,7 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 
@@ -37,26 +38,33 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowActivityManager;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowActivityManager.class,
+})
 public class BubbleSummaryNotificationPreferenceControllerTest {
 
+    private static final String KEY_NOTIFICATION_BUBBLES = "notification_bubbles";
     private Context mContext;
 
     private BubbleSummaryNotificationPreferenceController mController;
     private Preference mPreference;
 
-    private static final String KEY_NOTIFICATION_BUBBLES = "notification_bubbles";
+    private ShadowActivityManager mActivityManager;
+
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mController = new BubbleSummaryNotificationPreferenceController(mContext,
                 KEY_NOTIFICATION_BUBBLES);
-        mPreference = new Preference(RuntimeEnvironment.application);
+        mPreference = new Preference(mContext);
+        mActivityManager =
+                Shadow.extract(mContext.getSystemService(ActivityManager.class));
     }
 
     @Test
@@ -76,17 +84,13 @@
 
     @Test
     public void isAvailable_lowRam_returnsUnsupported() {
-        final ShadowActivityManager activityManager =
-                Shadow.extract(mContext.getSystemService(ActivityManager.class));
-        activityManager.setIsLowRamDevice(true);
+        mActivityManager.setIsLowRamDevice(true);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     public void isAvailable_notLowRam_returnsAvailable() {
-        final ShadowActivityManager activityManager =
-                Shadow.extract(mContext.getSystemService(ActivityManager.class));
-        activityManager.setIsLowRamDevice(false);
+        mActivityManager.setIsLowRamDevice(false);
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java
index aac4a0b..0131bc5 100644
--- a/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ChargingSoundPreferenceControllerTest.java
@@ -31,7 +31,6 @@
 import androidx.preference.SwitchPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -41,6 +40,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ChargingSoundPreferenceControllerTest {
 
     @Mock
@@ -73,7 +75,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
index fa95e52..c6511ef 100644
--- a/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DialPadTonePreferenceControllerTest.java
@@ -37,8 +37,12 @@
 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 DialPadTonePreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java
index 5e4efd0..097aed7 100644
--- a/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DockAudioMediaPreferenceControllerTest.java
@@ -45,8 +45,12 @@
 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 DockAudioMediaPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java
index 0cfc6b7..7aeddfc 100644
--- a/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/DockingSoundPreferenceControllerTest.java
@@ -39,8 +39,12 @@
 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 DockingSoundPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java
index 49776de..bae7c4c 100644
--- a/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/EmergencyTonePreferenceControllerTest.java
@@ -37,8 +37,12 @@
 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 EmergencyTonePreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
index 982316a..ed93473 100644
--- a/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/MediaVolumePreferenceControllerTest.java
@@ -42,7 +42,6 @@
 import com.android.settingslib.media.MediaOutputConstants;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -89,7 +88,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAccessConfirmationActivityTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAccessConfirmationActivityTest.java
index 86631ff..9b510fb 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAccessConfirmationActivityTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAccessConfirmationActivityTest.java
@@ -22,7 +22,6 @@
 
 import static org.robolectric.Shadows.shadowOf;
 
-import android.annotation.Nullable;
 import android.app.Activity;
 import android.content.ComponentName;
 import android.content.Intent;
@@ -30,6 +29,8 @@
 import android.content.pm.PackageInfo;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
+
 import com.android.settings.R;
 
 import com.google.common.base.Strings;
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java
index e644c29..d19f17d 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAccessSettingsTest.java
@@ -53,11 +53,13 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowBluetoothUtils.class})
 public class NotificationAccessSettingsTest {
 
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAssistantDialogFragmentTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAssistantDialogFragmentTest.java
index eef3f04..c4b5e80 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAssistantDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAssistantDialogFragmentTest.java
@@ -35,8 +35,12 @@
 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 NotificationAssistantDialogFragmentTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
index 1dac399..7606057 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationAssistantPreferenceControllerTest.java
@@ -16,12 +16,7 @@
 
 package com.android.settings.notification;
 
-import static android.service.notification.NotificationAssistantService.ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS;
-
-import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
@@ -34,24 +29,19 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.app.Application;
 import android.content.ComponentName;
 import android.content.Context;
-import android.content.Intent;
-import android.content.pm.ActivityInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
-import android.os.UserManager;
 import android.provider.Settings;
 
 import androidx.fragment.app.FragmentManager;
 import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
+import androidx.preference.SwitchPreferenceCompat;
+import androidx.preference.TwoStatePreference;
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
-import com.android.settingslib.PrimarySwitchPreference;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -60,15 +50,13 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.Shadows;
 import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.util.ArrayList;
-import java.util.List;
 
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class NotificationAssistantPreferenceControllerTest {
 
     private static final String KEY = "TEST_KEY";
@@ -82,27 +70,19 @@
     private FragmentTransaction mFragmentTransaction;
     @Mock
     private NotificationBackend mBackend;
-    @Mock
-    private UserManager mUserManager;
-    @Mock
-    private PackageManager mPackageManager;
     private NotificationAssistantPreferenceController mPreferenceController;
     ComponentName mNASComponent = new ComponentName("pkgname", "clsname");
-    private PrimarySwitchPreference mPreference;
-    private ShadowApplication mShadowApplication;
+    private TwoStatePreference mPreference;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(ApplicationProvider.getApplicationContext());
-        mPreference = spy(new PrimarySwitchPreference(mContext));
-        mShadowApplication = ShadowApplication.getInstance();
-        mShadowApplication.setSystemService(Context.USER_SERVICE, mUserManager);
+        mPreference = spy(new SwitchPreferenceCompat(mContext));
         doReturn(mContext).when(mFragment).getContext();
         when(mFragment.getFragmentManager()).thenReturn(mFragmentManager);
         when(mFragmentManager.beginTransaction()).thenReturn(mFragmentTransaction);
         when(mBackend.getDefaultNotificationAssistant()).thenReturn(mNASComponent);
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
         mPreferenceController = new NotificationAssistantPreferenceController(mContext);
         mPreferenceController.setBackend(mBackend);
         mPreferenceController.setFragment(mFragment);
@@ -113,19 +93,6 @@
         mPreference.setKey(NotificationAssistantPreferenceController.KEY_NAS);
         screen.addPreference(mPreference);
         mPreferenceController.displayPreference(screen);
-
-        when(mUserManager.getProfileIds(eq(0), anyBoolean())).thenReturn(new int[] {0, 10});
-        when(mUserManager.getProfileIds(eq(20), anyBoolean())).thenReturn(new int[] {20});
-
-        ActivityInfo activityInfo1 = new ActivityInfo();
-        activityInfo1.packageName = "pkgname";
-        activityInfo1.name = "name";
-        ResolveInfo resolveInfo1 = new ResolveInfo();
-        resolveInfo1.activityInfo = activityInfo1;
-        List<ResolveInfo> resolvers1 = new ArrayList<>();
-        resolvers1.add(resolveInfo1);
-        when(mPackageManager.queryIntentActivities(any(Intent.class), any()))
-                .thenReturn(resolvers1);
     }
 
     @Test
@@ -151,34 +118,6 @@
     }
 
     @Test
-    public void testUpdateState_SettingActivityAvailable() throws Exception {
-        mPreferenceController.updateState(mPreference);
-        assertNotNull(mPreference.getIntent());
-
-        mPreference.performClick();
-        Intent nextIntent = Shadows.shadowOf(
-                (Application) ApplicationProvider.getApplicationContext()).getNextStartedActivity();
-        assertEquals(nextIntent.getAction(), ACTION_NOTIFICATION_ASSISTANT_DETAIL_SETTINGS);
-    }
-
-    @Test
-    public void testUpdateState_SettingActivityUnavailable() throws Exception {
-        when(mPackageManager.queryIntentActivities(any(Intent.class), any()))
-                .thenReturn(null);
-        mPreferenceController.updateState(mPreference);
-        assertNull(mPreference.getIntent());
-
-        mPreference.performClick();
-        Intent nextIntent = Shadows.shadowOf(
-                (Application) ApplicationProvider.getApplicationContext()).getNextStartedActivity();
-        assertNull(nextIntent);
-        // Verify a dialog is shown
-        verify(mFragmentTransaction).add(
-                any(NotificationAssistantDialogFragment.class), anyString());
-        verify(mBackend, times(0)).setNotificationAssistantGranted(any());
-    }
-
-    @Test
     @Config(shadows = ShadowSecureSettings.class)
     public void testMigrationFromSetting_userEnable_multiProfile() throws Exception {
         Settings.Secure.putIntForUser(mContext.getContentResolver(),
@@ -225,15 +164,4 @@
         verify(mBackend, never())
                 .setNASMigrationDoneAndResetDefault(eq(10), anyBoolean());
     }
-
-    @Test
-    public void testNASUnavailable_settingDisabled() throws Exception {
-        when(mBackend.getDefaultNotificationAssistant()).thenReturn(null);
-        mPreferenceController.getDefaultNASIntent();
-        mPreferenceController.updateState(mPreference);
-
-        verify(mPreference, times(1)).setSwitchEnabled(eq(false));
-        assertFalse(mPreference.isEnabled());
-    }
-
 }
diff --git a/tests/robotests/src/com/android/settings/notification/NotificationRingtonePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/NotificationRingtonePreferenceControllerTest.java
index 783a36b..1aecad5 100644
--- a/tests/robotests/src/com/android/settings/notification/NotificationRingtonePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/NotificationRingtonePreferenceControllerTest.java
@@ -21,7 +21,6 @@
 import android.media.RingtoneManager;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -45,7 +44,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/notification/PoliteNotifVibrateUnlockedToggleControllerTest.java b/tests/robotests/src/com/android/settings/notification/PoliteNotifVibrateUnlockedToggleControllerTest.java
new file mode 100644
index 0000000..4d546ec
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/PoliteNotifVibrateUnlockedToggleControllerTest.java
@@ -0,0 +1,126 @@
+/*
+ * 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;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Vibrator;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import com.android.server.notification.Flags;
+import com.android.settings.core.BasePreferenceController;
+
+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)
+public class PoliteNotifVibrateUnlockedToggleControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final String PREFERENCE_KEY = "preference_key";
+
+    private PoliteNotifVibrateUnlockedToggleController mController;
+    private Context mContext;
+    @Mock
+    private Vibrator mVibrator;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+        mController = new PoliteNotifVibrateUnlockedToggleController(mContext, PREFERENCE_KEY);
+        when(mContext.getSystemService(Vibrator.class)).thenReturn(mVibrator);
+    }
+
+    @Test
+    public void isAvailable_flagEnabled_vibrationSupported_shouldReturnTrue() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.enableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        mSetFlagsRule.enableFlags(Flags.FLAG_VIBRATE_WHILE_UNLOCKED);
+        when(mVibrator.hasVibrator()).thenReturn(true);
+        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_flagEnabled_vibrationNotSupported_shouldReturnFalse() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.enableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        mSetFlagsRule.enableFlags(Flags.FLAG_VIBRATE_WHILE_UNLOCKED);
+        when(mVibrator.hasVibrator()).thenReturn(false);
+        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void isAvailable_flagDisabled_shouldReturnFalse() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.disableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        mSetFlagsRule.enableFlags(Flags.FLAG_VIBRATE_WHILE_UNLOCKED);
+        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void isChecked_vibrateEnabled_shouldReturnTrue() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, ON);
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_vibrateDisabled_shouldReturnFalse() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, OFF);
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_setTrue_shouldEnableVibrateSetting() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, OFF);
+        mController.setChecked(true);
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, OFF)).isEqualTo(ON);
+    }
+
+    @Test
+    public void setChecked_setFalse_shouldDisableVibrateSetting() {
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, ON);
+        mController.setChecked(false);
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_VIBRATE_UNLOCKED, ON)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/PoliteNotifWorkProfileToggleControllerTest.java b/tests/robotests/src/com/android/settings/notification/PoliteNotifWorkProfileToggleControllerTest.java
new file mode 100644
index 0000000..5cda1ea
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/PoliteNotifWorkProfileToggleControllerTest.java
@@ -0,0 +1,136 @@
+/*
+ * 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;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.UserHandle;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import com.android.server.notification.Flags;
+import com.android.settings.core.BasePreferenceController;
+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)
+public class PoliteNotifWorkProfileToggleControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final String PREFERENCE_KEY = "preference_key";
+
+    private Context mContext;
+    PoliteNotifWorkProfileToggleController mController;
+    @Mock
+    private AudioHelper mAudioHelper;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        when(mAudioHelper.getManagedProfileId(any())).thenReturn(UserHandle.MIN_SECONDARY_USER_ID);
+        mController = new PoliteNotifWorkProfileToggleController(mContext, PREFERENCE_KEY,
+                mAudioHelper);
+    }
+
+    @Test
+    public void isAvailable_flagEnabled_workProfileExists_shouldReturnTrue() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.enableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_flagEnabled_workProfileMissing_shouldReturnFalse() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.enableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        when(mAudioHelper.getManagedProfileId(any())).thenReturn(UserHandle.USER_NULL);
+        mController = new PoliteNotifWorkProfileToggleController(mContext, PREFERENCE_KEY,
+                mAudioHelper);
+        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.DISABLED_FOR_USER);
+    }
+
+    @Test
+    public void isAvailable_flagDisabled_shouldReturnFalse() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.disableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    @Config(shadows = ShadowSystemSettings.class)
+    public void isChecked_enabledForWorkProfile_shouldReturnTrue() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON,
+                UserHandle.MIN_SECONDARY_USER_ID);
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    @Config(shadows = ShadowSystemSettings.class)
+    public void isChecked_disabledForWorkProfile_shouldReturnFalse() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF,
+                UserHandle.MIN_SECONDARY_USER_ID);
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    @Config(shadows = ShadowSystemSettings.class)
+    public void setChecked_setTrue_shouldEnablePoliteNotifForWorkProfile() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF,
+                UserHandle.MIN_SECONDARY_USER_ID);
+        mController.setChecked(true);
+        assertThat(Settings.System.getIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON,
+                UserHandle.MIN_SECONDARY_USER_ID)).isEqualTo(ON);
+    }
+
+    @Test
+    @Config(shadows = ShadowSystemSettings.class)
+    public void setChecked_setFalse_shouldDisablePoliteNotifForWorkProfile() {
+        Settings.System.putIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON,
+                UserHandle.MIN_SECONDARY_USER_ID);
+        mController.setChecked(false);
+        assertThat(Settings.System.getIntForUser(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON,
+                UserHandle.MIN_SECONDARY_USER_ID)).isEqualTo(OFF);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/notification/PoliteNotificationFilterControllerTest.java b/tests/robotests/src/com/android/settings/notification/PoliteNotificationFilterControllerTest.java
new file mode 100644
index 0000000..646e927
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/PoliteNotificationFilterControllerTest.java
@@ -0,0 +1,165 @@
+/*
+ * 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;
+
+import static com.android.settings.accessibility.AccessibilityUtil.State.OFF;
+import static com.android.settings.accessibility.AccessibilityUtil.State.ON;
+import static com.google.common.truth.Truth.assertThat;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.preference.ListPreference;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceScreen;
+
+import com.android.server.notification.Flags;
+import com.android.settings.R;
+import com.android.settings.core.BasePreferenceController;
+
+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)
+public class PoliteNotificationFilterControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final String PREFERENCE_KEY = "preference_key";
+    private static final int POLITE_NOTIFICATIONS_ALL = 0;
+    private static final int POLITE_NOTIFICATIONS_CONVERSATIONS = 1;
+    private static final int POLITE_NOTIFICATIONS_DISABLED = 2;
+
+    @Mock
+    private PreferenceScreen mScreen;
+
+    private PoliteNotificationFilterController mController;
+    private Preference mPreference;
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(RuntimeEnvironment.application);
+
+        mController = new PoliteNotificationFilterController(mContext, PREFERENCE_KEY);
+        mPreference = new Preference(mContext);
+        mPreference.setKey(mController.getPreferenceKey());
+        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
+    }
+
+    @Test
+    public void isAvailable_flagEnabled_shouldReturnTrue() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.enableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_flagDisabled_shouldReturnFalse() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.disableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
+    public void updateState_politeNotificationDisabled() {
+        final ListPreference preference = mock(ListPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF);
+        mController.updateState(preference);
+
+        verify(preference).setValue(Integer.toString(POLITE_NOTIFICATIONS_DISABLED));
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.notification_polite_disabled_summary));
+    }
+
+    @Test
+    public void updateState_politeNotificationEnabled_applyAllApps() {
+        final ListPreference preference = mock(ListPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ALL, ON);
+        mController.updateState(preference);
+
+        verify(preference).setValue(Integer.toString(POLITE_NOTIFICATIONS_ALL));
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.notification_polite_all_apps_summary));
+    }
+
+    @Test
+    public void updateState_politeNotificationEnabled_applyOnlyConversations() {
+        final ListPreference preference = mock(ListPreference.class);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, ON);
+        Settings.System.putInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ALL, OFF);
+        mController.updateState(preference);
+
+        verify(preference).setValue(Integer.toString(POLITE_NOTIFICATIONS_CONVERSATIONS));
+        assertThat(mController.getSummary().toString()).isEqualTo(
+                mContext.getString(R.string.notification_polite_conversations_summary));
+    }
+
+    @Test
+    public void onPreferenceChanged_firstItemSelected_shouldEnableForAll() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference, "0");
+
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF)).isEqualTo(ON);
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ALL, OFF)).isEqualTo(ON);
+    }
+
+    @Test
+    public void onPreferenceChanged_secondItemSelected_shouldEnableForConversationsOnly() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference, "1");
+
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF)).isEqualTo(ON);
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ALL, OFF)).isEqualTo(OFF);
+    }
+
+    @Test
+    public void onPreferenceChanged_thirdItemSelected_shouldDisable() {
+        mController.displayPreference(mScreen);
+        mController.onPreferenceChange(mPreference, "2");
+
+        assertThat(Settings.System.getInt(mContext.getContentResolver(),
+                Settings.System.NOTIFICATION_COOLDOWN_ENABLED, OFF)).isEqualTo(OFF);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/notification/PoliteNotificationsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/PoliteNotificationsPreferenceControllerTest.java
new file mode 100644
index 0000000..f6c5e16
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/notification/PoliteNotificationsPreferenceControllerTest.java
@@ -0,0 +1,69 @@
+/*
+ * 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;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import com.android.server.notification.Flags;
+import com.android.settings.core.BasePreferenceController;
+
+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)
+public class PoliteNotificationsPreferenceControllerTest {
+
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private static final String PREFERENCE_KEY = "preference_key";
+
+    private PoliteNotificationsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new PoliteNotificationsPreferenceController(RuntimeEnvironment.application,
+                PREFERENCE_KEY);
+    }
+
+    @Test
+    public void isAvailable_flagEnabled_shouldReturnTrue() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.enableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        assertThat(mController.isAvailable()).isTrue();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void isAvailable_flagDisabled_shouldReturnFalse() {
+        // TODO: b/291907312 - remove feature flags
+        mSetFlagsRule.disableFlags(Flags.FLAG_POLITE_NOTIFICATIONS);
+        assertThat(mController.isAvailable()).isFalse();
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(
+                BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
+    }
+
+}
diff --git a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
index 2668e6d..9d475b8 100644
--- a/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RedactionInterstitialTest.java
@@ -27,7 +27,6 @@
 
 import org.junit.After;
 import org.junit.Assert;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -36,7 +35,6 @@
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowUserManager;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowUtils.class,
diff --git a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java
index e713963..06bd90b 100644
--- a/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RemoteVolumeGroupControllerTest.java
@@ -31,6 +31,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageStats;
+import android.media.MediaRoute2Info;
 import android.media.MediaRouter2Manager;
 import android.media.RoutingSessionInfo;
 import android.media.session.MediaSessionManager;
@@ -83,6 +84,8 @@
     private SharedPreferences mSharedPreferences;
     @Mock
     private MediaSessionManager mMediaSessionManager;
+    @Mock
+    private MediaRouter2Manager mRouterManager;
 
     private final List<RoutingSessionInfo> mRoutingSessionInfos = new ArrayList<>();
 
@@ -100,9 +103,9 @@
         mContext = spy(RuntimeEnvironment.application);
         doReturn(mMediaSessionManager).when(mContext).getSystemService(
                 Context.MEDIA_SESSION_SERVICE);
-        mController = new RemoteVolumeGroupController(mContext, KEY_REMOTE_VOLUME_GROUP);
-        mController.mLocalMediaManager = mLocalMediaManager;
-        mController.mRouterManager = mock(MediaRouter2Manager.class);
+        mController =
+                new RemoteVolumeGroupController(
+                        mContext, KEY_REMOTE_VOLUME_GROUP, mLocalMediaManager, mRouterManager);
         mPreferenceCategory = spy(new PreferenceCategory(mContext));
         mPreferenceCategory.setKey(mController.getPreferenceKey());
 
@@ -118,7 +121,7 @@
         when(remoteSessionInfo.getClientPackageName()).thenReturn(TEST_PACKAGE_NAME);
         when(remoteSessionInfo.isSystemSession()).thenReturn(false);
         mRoutingSessionInfos.add(remoteSessionInfo);
-        when(mLocalMediaManager.getActiveMediaSession()).thenReturn(mRoutingSessionInfos);
+        when(mLocalMediaManager.getRemoteRoutingSessions()).thenReturn(mRoutingSessionInfos);
     }
 
     @Test
@@ -178,6 +181,10 @@
 
     @Test
     public void displayPreference_withActiveSession_checkSwitcherPreferenceTitle() {
+        // Preference title needs media output to be enabled.
+        when(mRouterManager.getTransferableRoutes(TEST_PACKAGE_NAME)).thenReturn(List.of(mock(
+                MediaRoute2Info.class)));
+
         initPackage();
         mShadowPackageManager.addPackage(mPackageInfo, mPackageStats);
         mController.displayPreference(mScreen);
diff --git a/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java
index e414929..5fb2d31 100644
--- a/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/RingVolumePreferenceControllerTest.java
@@ -91,26 +91,6 @@
         assertThat(mController.isAvailable()).isFalse();
     }
 
-    /**
-     * Devices that are not voice capable should still show Ring volume, because it is used by apps
-     * that make calls outside the cell network.
-     */
-    @Test
-    public void isAvailable_notSingleVolume_notVoiceCapable_shouldReturnTrue() {
-        when(mHelper.isSingleVolume()).thenReturn(false);
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
-
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void isAvailable_notSingleVolume_VoiceCapable_shouldReturnTrue() {
-        when(mHelper.isSingleVolume()).thenReturn(false);
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
-
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
     @Test
     public void getAudioStream_shouldReturnRing() {
         assertThat(mController.getAudioStream()).isEqualTo(AudioManager.STREAM_RING);
diff --git a/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java
index 49742c8..0a1ce1f 100644
--- a/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/ScreenLockSoundPreferenceControllerTest.java
@@ -31,7 +31,6 @@
 import androidx.preference.SwitchPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -41,6 +40,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ScreenLockSoundPreferenceControllerTest {
 
     @Mock
@@ -73,7 +75,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java b/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java
index 6dec2d9..fc247c4 100644
--- a/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/SettingPrefControllerTest.java
@@ -42,11 +42,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class SettingPrefControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/SoundWorkSettingsTest.java b/tests/robotests/src/com/android/settings/notification/SoundWorkSettingsTest.java
index 6f8b784..c7a110a 100644
--- a/tests/robotests/src/com/android/settings/notification/SoundWorkSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/SoundWorkSettingsTest.java
@@ -38,9 +38,13 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class SoundWorkSettingsTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java
index 50facdd..09fdada 100644
--- a/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/TouchSoundPreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import androidx.preference.SwitchPreference;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -42,6 +41,9 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class TouchSoundPreferenceControllerTest {
 
     @Mock
@@ -77,7 +79,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
index 47bf99d..942db3f 100644
--- a/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/notification/VolumeSeekBarPreferenceTest.java
@@ -100,6 +100,7 @@
 
     @Test
     public void init_listenerIsCalled() {
+        when(mPreference.isEnabled()).thenReturn(true);
         doCallRealMethod().when(mPreference).setListener(mListener);
         doCallRealMethod().when(mPreference).init();
 
@@ -112,6 +113,19 @@
 
     @Test
     public void init_listenerNotSet_noException() {
+        when(mPreference.isEnabled()).thenReturn(true);
+        doCallRealMethod().when(mPreference).init();
+
+        mPreference.setStream(STREAM);
+        mPreference.init();
+
+        verify(mPreference, never()).updateContentDescription(CONTENT_DESCRIPTION);
+    }
+
+    @Test
+    public void init_preferenceIsDisabled_shouldNotInvokeListener() {
+        when(mPreference.isEnabled()).thenReturn(false);
+        doCallRealMethod().when(mPreference).setListener(mListener);
         doCallRealMethod().when(mPreference).init();
 
         mPreference.setStream(STREAM);
@@ -123,6 +137,7 @@
     @Test
     public void init_changeProgress_overrideStateDescriptionCalled() {
         final int progress = 4;
+        when(mPreference.isEnabled()).thenReturn(true);
         when(mPreference.formatStateDescription(progress)).thenReturn(CONTENT_DESCRIPTION);
         doCallRealMethod().when(mPreference).init();
 
@@ -144,6 +159,7 @@
         when(mAudioManager.getStreamMaxVolume(STREAM)).thenReturn(max);
         when(mAudioManager.getStreamMinVolumeInt(STREAM)).thenReturn(min);
         when(mAudioManager.getStreamVolume(STREAM)).thenReturn(progress);
+        when(mPreference.isEnabled()).thenReturn(true);
         when(mPreference.getMin()).thenReturn(min);
         when(mPreference.getMax()).thenReturn(max);
         when(mPreference.getContext()).thenReturn(mContext);
@@ -155,6 +171,8 @@
         mPreference.setStream(STREAM);
         mPreference.init();
 
+        verify(mSeekBarVolumizerFactory).create(eq(STREAM), eq(null), mSbvc.capture());
+
         // On progress change, Round down the percent to match it with what the talkback says.
         // (b/285458191)
         // when progress is 4, the percent is 0.187. The state description should be set to 18%.
diff --git a/tests/robotests/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceControllerTest.java
index bcb641d..053b352 100644
--- a/tests/robotests/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/AppChannelsBypassingDndPreferenceControllerTest.java
@@ -26,29 +26,37 @@
 import android.app.NotificationManager;
 import android.content.Context;
 import android.content.pm.ParceledListSlice;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 
+import com.android.settings.flags.Flags;
 import com.android.settings.notification.NotificationBackend;
 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.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 import java.util.Collections;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class AppChannelsBypassingDndPreferenceControllerTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     @Mock
     private NotificationBackend mBackend;
 
@@ -148,4 +156,44 @@
         }
         return new ParceledListSlice<>(Collections.singletonList(group));
     }
+
+    @Test
+    public void displayPreference_duplicateChannelName_AddsGroupNameAsSummary() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_DEDUPE_DND_SETTINGS_CHANNELS);
+        NotificationChannelGroup group1 = new NotificationChannelGroup("group1_id", "Group1");
+        NotificationChannelGroup group2 = new NotificationChannelGroup("group2_id", "Group2");
+
+        group1.addChannel(new NotificationChannel("mail_group1_id", "Mail",
+                NotificationManager.IMPORTANCE_DEFAULT));
+        group1.addChannel(new NotificationChannel("other_group1_id", "Other",
+                NotificationManager.IMPORTANCE_DEFAULT));
+
+        group2.addChannel(new NotificationChannel("music_group2_id", "Music",
+                NotificationManager.IMPORTANCE_DEFAULT));
+        // This channel has the same name as a channel in group1.
+        group2.addChannel(new NotificationChannel("mail_group2_id", "Mail",
+                NotificationManager.IMPORTANCE_DEFAULT));
+
+        ParceledListSlice<NotificationChannelGroup> groups = new ParceledListSlice<>(
+                new ArrayList<NotificationChannelGroup>() {
+                    {
+                        add(group1);
+                        add(group2);
+                    }
+                }
+        );
+
+        when(mBackend.getGroups(eq(mAppRow.pkg), eq(mAppRow.uid))).thenReturn(groups);
+        mController.displayPreference(mPreferenceScreen);
+        ShadowApplication.runBackgroundTasks();
+        // Check that we've added the group name as a summary to channels that have identical names.
+        // Channels are also alphabetized.
+        assertThat(mCategory.getPreference(1).getTitle().toString()).isEqualTo("Mail");
+        assertThat(mCategory.getPreference(1).getSummary().toString()).isEqualTo("Group1");
+        assertThat(mCategory.getPreference(2).getTitle().toString()).isEqualTo("Mail");
+        assertThat(mCategory.getPreference(2).getSummary().toString()).isEqualTo("Group2");
+        assertThat(mCategory.getPreference(3).getTitle().toString()).isEqualTo("Music");
+        assertThat(mCategory.getPreference(4).getTitle().toString()).isEqualTo("Other");
+
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/app/AppConversationListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/AppConversationListPreferenceControllerTest.java
index 198c80a..916452c 100644
--- a/tests/robotests/src/com/android/settings/notification/app/AppConversationListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/AppConversationListPreferenceControllerTest.java
@@ -42,12 +42,14 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 import java.util.Arrays;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class AppConversationListPreferenceControllerTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
index 9e9e655..abcf2de 100644
--- a/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/BlockPreferenceControllerTest.java
@@ -101,7 +101,7 @@
     @Test
     public void testNoCrashIfNoOnResume() {
         mController.isAvailable();
-        mController.onSwitchChanged(null, false);
+        mController.onCheckedChanged(null, false);
     }
 
     @Test
@@ -355,11 +355,11 @@
         mController.onResume(appRow, channel, null, null, null, null, null);
         mController.updateState(mPreference);
 
-        mController.onSwitchChanged(null, false);
+        mController.onCheckedChanged(null, false);
         assertEquals(IMPORTANCE_NONE, channel.getImportance());
         assertTrue(appRow.banned);
 
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
         assertEquals(IMPORTANCE_UNSPECIFIED, channel.getImportance());
         assertFalse(appRow.banned);
 
@@ -377,10 +377,10 @@
         mController.onResume(appRow, channel, null, null, null, null, null);
         mController.updateState(mPreference);
 
-        mController.onSwitchChanged(null, false);
+        mController.onCheckedChanged(null, false);
         assertEquals(IMPORTANCE_NONE, channel.getImportance());
 
-        mController.onSwitchChanged(null, true);
+        mController.onCheckedChanged(null, true);
         assertEquals(IMPORTANCE_HIGH, channel.getImportance());
 
         verify(mBackend, times(2)).updateChannel(any(), anyInt(), any());
diff --git a/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java
index 09f6b7d..893695c 100644
--- a/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/BubblePreferenceControllerTest.java
@@ -25,8 +25,8 @@
 import static android.app.NotificationManager.IMPORTANCE_NONE;
 import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
 
-import static com.android.settings.notification.app.BubblePreferenceController.SYSTEM_WIDE_OFF;
-import static com.android.settings.notification.app.BubblePreferenceController.SYSTEM_WIDE_ON;
+import static com.android.settings.notification.BubbleHelper.SYSTEM_WIDE_OFF;
+import static com.android.settings.notification.BubbleHelper.SYSTEM_WIDE_ON;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -55,6 +55,7 @@
 import androidx.fragment.app.FragmentTransaction;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.notification.NotificationBackend;
 import com.android.settingslib.RestrictedLockUtils;
@@ -63,13 +64,15 @@
 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;
 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.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowActivityManager;
 import org.robolectric.shadows.ShadowApplication;
@@ -78,7 +81,12 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowActivityManager.class,
+})
 public class BubblePreferenceControllerTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private Context mContext;
     @Mock
@@ -99,11 +107,10 @@
 
     @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;
+        mContext = ApplicationProvider.getApplicationContext();
         when(mFragmentManager.beginTransaction()).thenReturn(mock(FragmentTransaction.class));
         mController = spy(new BubblePreferenceController(mContext, mFragmentManager, mBackend,
                 false /* isAppPage */, mListener));
diff --git a/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java
index 75c53c1..6fbe40e 100644
--- a/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/BubbleSummaryPreferenceControllerTest.java
@@ -23,8 +23,8 @@
 import static android.app.NotificationManager.IMPORTANCE_HIGH;
 import static android.provider.Settings.Secure.NOTIFICATION_BUBBLES;
 
-import static com.android.settings.notification.app.BubblePreferenceController.SYSTEM_WIDE_OFF;
-import static com.android.settings.notification.app.BubblePreferenceController.SYSTEM_WIDE_ON;
+import static com.android.settings.notification.BubbleHelper.SYSTEM_WIDE_OFF;
+import static com.android.settings.notification.BubbleHelper.SYSTEM_WIDE_ON;
 
 import static junit.framework.TestCase.assertEquals;
 
@@ -43,23 +43,30 @@
 import android.provider.Settings;
 
 import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 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.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.ShadowActivityManager;
-import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowActivityManager.class,
+})
 public class BubbleSummaryPreferenceControllerTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private Context mContext;
     @Mock
@@ -68,16 +75,17 @@
 
     private BubbleSummaryPreferenceController mController;
 
+    private ShadowActivityManager mActivityManager;
+
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        ShadowApplication shadowApplication = ShadowApplication.getInstance();
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         when(mBackend.hasSentValidBubble(anyString(), anyInt())).thenReturn(true);
         mAppRow = new NotificationBackend.AppRow();
         mAppRow.pkg = "pkg";
         mAppRow.uid = 0;
         mController = spy(new BubbleSummaryPreferenceController(mContext, mBackend));
+        mActivityManager = Shadow.extract(mContext.getSystemService(ActivityManager.class));
     }
 
     @Test
@@ -147,9 +155,7 @@
         Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
         mController.onResume(mAppRow, null, null, null, null, null, null);
 
-        final ShadowActivityManager activityManager =
-                Shadow.extract(mContext.getSystemService(ActivityManager.class));
-        activityManager.setIsLowRamDevice(true);
+        mActivityManager.setIsLowRamDevice(true);
         assertFalse(mController.isAvailable());
     }
 
@@ -158,9 +164,7 @@
         Settings.Secure.putInt(mContext.getContentResolver(), NOTIFICATION_BUBBLES, SYSTEM_WIDE_ON);
         mController.onResume(mAppRow, null, null, null, null, null, null);
 
-        final ShadowActivityManager activityManager =
-               Shadow.extract(mContext.getSystemService(ActivityManager.class));
-        activityManager.setIsLowRamDevice(false);
+        mActivityManager.setIsLowRamDevice(false);
         assertTrue(mController.isAvailable());
     }
 
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java
index 0591cf2..e5a156e 100644
--- a/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationDemotePreferenceControllerTest.java
@@ -46,11 +46,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ConversationDemotePreferenceControllerTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
index 9a1a3ab..9e67891 100644
--- a/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationHeaderPreferenceControllerTest.java
@@ -48,11 +48,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ConversationHeaderPreferenceControllerTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationPriorityPreferenceTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationPriorityPreferenceTest.java
index 2d2fcc8..178aee5 100644
--- a/tests/robotests/src/com/android/settings/notification/app/ConversationPriorityPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationPriorityPreferenceTest.java
@@ -21,17 +21,15 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
-import android.graphics.drawable.Drawable;
 import android.util.Pair;
+import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
 import android.view.View;
-import android.widget.TextView;
 
 import androidx.preference.PreferenceViewHolder;
 
@@ -50,7 +48,8 @@
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        Context context = spy(RuntimeEnvironment.application.getApplicationContext());
+        mContext = new ContextThemeWrapper(context, R.style.Theme_Settings);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java
index 1c049be..56df38b 100644
--- a/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/ConversationPromotePreferenceControllerTest.java
@@ -48,12 +48,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
-import java.sql.Array;
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ConversationPromotePreferenceControllerTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt b/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt
index e148f71..89e33ee 100644
--- a/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt
+++ b/tests/robotests/src/com/android/settings/notification/app/FullScreenIntentPermissionPreferenceControllerTest.kt
@@ -30,6 +30,7 @@
 import android.content.pm.PackageManager
 import android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET
 import android.content.pm.PackageManager.GET_PERMISSIONS
+import android.content.pm.PackageManager.NameNotFoundException
 import android.os.UserHandle
 import android.permission.PermissionManager.PERMISSION_GRANTED
 import android.permission.PermissionManager.PERMISSION_HARD_DENIED
@@ -43,6 +44,7 @@
 import com.android.settings.notification.app.FullScreenIntentPermissionPreferenceController.Companion.KEY_FSI_PERMISSION
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin
 import com.android.settingslib.RestrictedSwitchPreference
+import com.android.settingslib.testutils.shadow.ShadowPermissionChecker
 import org.junit.Assert.assertFalse
 import org.junit.Assert.assertTrue
 import org.junit.Before
@@ -58,11 +60,13 @@
 import org.robolectric.RobolectricTestRunner
 import org.robolectric.annotation.Config
 import org.robolectric.shadows.ShadowApplicationPackageManager
-import org.robolectric.shadows.ShadowPermissionChecker
 import org.mockito.Mockito.`when` as whenever
 
 @RunWith(RobolectricTestRunner::class)
-@Config(shadows = [ShadowApplicationPackageManager::class])
+@Config(shadows = [
+    ShadowApplicationPackageManager::class,
+    ShadowPermissionChecker::class,
+])
 class FullScreenIntentPermissionPreferenceControllerTest {
     @JvmField
     @Rule
@@ -131,6 +135,14 @@
     }
 
     @Test
+    fun testIsAvailable_notWhenPackageNotFound() {
+        setPackageInfoNotFound()
+        initController()
+
+        assertFalse(controller.isAvailable)
+    }
+
+    @Test
     fun testIsEnabled_notWhenDisabledByAdmin() {
         setPermissionRequestedInManifest()
         initController(admin = makeTestAdmin())
@@ -239,6 +251,12 @@
             })
     }
 
+    private fun setPackageInfoNotFound() {
+        whenever(packageManager.getPackageInfo(TEST_PACKAGE, GET_PERMISSIONS)).thenThrow(
+            NameNotFoundException(TEST_PACKAGE)
+        )
+    }
+
     private fun setPermissionResult(@PermissionResult result: Int) {
         ShadowPermissionChecker.setResult(TEST_PACKAGE, USE_FULL_SCREEN_INTENT, result)
     }
diff --git a/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java
index 4ca4f8d..05a41a6 100644
--- a/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/HeaderPreferenceControllerTest.java
@@ -46,11 +46,15 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class HeaderPreferenceControllerTest {
 
     private Context mContext;
diff --git a/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java b/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java
index 39a5714..c5733bf 100644
--- a/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/notification/app/ImportancePreferenceTest.java
@@ -28,13 +28,15 @@
 
 import android.content.Context;
 import android.graphics.drawable.Drawable;
+import android.view.ContextThemeWrapper;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.TextView;
 
+import androidx.preference.PreferenceViewHolder;
+
 import com.android.settings.R;
-import com.android.settings.notification.app.ImportancePreference;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -42,8 +44,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
-import androidx.preference.PreferenceViewHolder;
-
 @RunWith(RobolectricTestRunner.class)
 public class ImportancePreferenceTest {
 
@@ -51,7 +51,8 @@
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        Context context = spy(RuntimeEnvironment.application.getApplicationContext());
+        mContext = new ContextThemeWrapper(context, R.style.Theme_Settings);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java
index 247d68e..32bf9af 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeBackendTest.java
@@ -16,9 +16,9 @@
 
 import static junit.framework.Assert.assertEquals;
 
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doAnswer;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
@@ -30,8 +30,6 @@
 import android.provider.Settings;
 import android.service.notification.ZenModeConfig;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -204,7 +202,11 @@
         mBackend.saveConversationSenders(CONVERSATION_SENDERS_NONE);
 
         ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
-        verify(mNotificationManager, times(1)).setNotificationPolicy(captor.capture());
+        if (android.app.Flags.modesApi()) {
+            verify(mNotificationManager).setNotificationPolicy(captor.capture(), eq(true));
+        } else {
+            verify(mNotificationManager).setNotificationPolicy(captor.capture());
+        }
 
         Policy expected = new Policy(
                 PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
@@ -228,7 +230,11 @@
         mBackend.saveConversationSenders(CONVERSATION_SENDERS_ANYONE);
 
         ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
-        verify(mNotificationManager, times(1)).setNotificationPolicy(captor.capture());
+        if (android.app.Flags.modesApi()) {
+            verify(mNotificationManager).setNotificationPolicy(captor.capture(), eq(true));
+        } else {
+            verify(mNotificationManager).setNotificationPolicy(captor.capture());
+        }
 
         Policy expected = new Policy(PRIORITY_CATEGORY_CONVERSATIONS
                 | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
@@ -253,7 +259,11 @@
         mBackend.saveSenders(PRIORITY_CATEGORY_CALLS, PRIORITY_SENDERS_ANY);
 
         ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
-        verify(mNotificationManager, times(1)).setNotificationPolicy(captor.capture());
+        if (android.app.Flags.modesApi()) {
+            verify(mNotificationManager).setNotificationPolicy(captor.capture(), eq(true));
+        } else {
+            verify(mNotificationManager).setNotificationPolicy(captor.capture());
+        }
 
         Policy expected = new Policy(PRIORITY_CATEGORY_CONVERSATIONS
                 | PRIORITY_CATEGORY_CALLS | PRIORITY_CATEGORY_MESSAGES | PRIORITY_CATEGORY_ALARMS,
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java
index eeb53cf..f6df04d 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeEventRuleSettingsTest.java
@@ -39,12 +39,16 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowToast;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ZenModeEventRuleSettingsTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java
index a8a551f..4361eb3 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeScheduleRuleSettingsTest.java
@@ -39,9 +39,13 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowToast;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ZenModeScheduleRuleSettingsTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java
index 400543c..3f9e486 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenModeSliceBuilderTest.java
@@ -17,13 +17,18 @@
 package com.android.settings.notification.zen;
 
 import static android.app.slice.Slice.EXTRA_TOGGLE_STATE;
+import static android.provider.Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS;
+import static android.provider.Settings.Global.ZEN_MODE_OFF;
 
 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.verify;
+
 import android.app.NotificationManager;
 import android.content.Context;
 import android.content.Intent;
-import android.provider.Settings;
 
 import androidx.slice.Slice;
 import androidx.slice.SliceMetadata;
@@ -32,32 +37,48 @@
 import androidx.slice.widget.SliceLiveData;
 
 import com.android.settings.R;
-import com.android.settings.notification.zen.ZenModeSliceBuilder;
 import com.android.settings.testutils.shadow.ShadowNotificationManager;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.shadows.ShadowApplication;
 
 import java.util.List;
 
-@Config(shadows = ShadowNotificationManager.class)
+@Config(shadows = {ShadowNotificationManager.class, ShadowRestrictedLockUtilsInternal.class})
 @RunWith(RobolectricTestRunner.class)
 public class ZenModeSliceBuilderTest {
 
     private Context mContext;
 
+    @Mock
+    private NotificationManager mNm;
+
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
 
+        MockitoAnnotations.initMocks(this);
+        ShadowApplication shadowApplication = ShadowApplication.getInstance();
+        shadowApplication.setSystemService(Context.NOTIFICATION_SERVICE, mNm);
+
         // Set-up specs for SliceMetadata.
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
     }
 
+    @After
+    public void tearDown() {
+        ShadowRestrictedLockUtilsInternal.reset();
+    }
+
     @Test
     public void getZenModeSlice_correctSliceContent() {
         final Slice dndSlice = ZenModeSliceBuilder.getSlice(mContext);
@@ -74,27 +95,46 @@
     }
 
     @Test
+    public void getZenModeSlice_managedByAdmin_shouldNotHaveToggle() {
+        ShadowRestrictedLockUtilsInternal.setRestricted(true);
+        final Slice dndSlice = ZenModeSliceBuilder.getSlice(mContext);
+
+        final SliceMetadata metadata = SliceMetadata.from(mContext, dndSlice);
+        assertThat(metadata.getTitle()).isEqualTo(
+                mContext.getString(R.string.zen_mode_settings_title));
+
+        final List<SliceAction> toggles = metadata.getToggles();
+        assertThat(toggles).hasSize(0);
+
+        final SliceAction primaryAction = metadata.getPrimaryAction();
+        assertThat(primaryAction.getIcon()).isNull();
+    }
+
+    @Test
     public void handleUriChange_turnOn_zenModeTurnsOn() {
         final Intent intent = new Intent();
         intent.putExtra(EXTRA_TOGGLE_STATE, true);
-        NotificationManager.from(mContext).setZenMode(Settings.Global.ZEN_MODE_OFF, null, "");
 
         ZenModeSliceBuilder.handleUriChange(mContext, intent);
 
-        final int zenMode = NotificationManager.from(mContext).getZenMode();
-        assertThat(zenMode).isEqualTo(Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS);
+        if (android.app.Flags.modesApi()) {
+            verify(mNm).setZenMode(eq(ZEN_MODE_IMPORTANT_INTERRUPTIONS), any(), any(), eq(true));
+        } else {
+            verify(mNm).setZenMode(eq(ZEN_MODE_IMPORTANT_INTERRUPTIONS), any(), any());
+        }
     }
 
     @Test
     public void handleUriChange_turnOff_zenModeTurnsOff() {
         final Intent intent = new Intent();
         intent.putExtra(EXTRA_TOGGLE_STATE, false);
-        NotificationManager.from(mContext).setZenMode(
-                Settings.Global.ZEN_MODE_IMPORTANT_INTERRUPTIONS, null, "");
 
         ZenModeSliceBuilder.handleUriChange(mContext, intent);
 
-        final int zenMode = NotificationManager.from(mContext).getZenMode();
-        assertThat(zenMode).isEqualTo(Settings.Global.ZEN_MODE_OFF);
+        if (android.app.Flags.modesApi()) {
+            verify(mNm).setZenMode(eq(ZEN_MODE_OFF), any(), any(), eq(true));
+        } else {
+            verify(mNm).setZenMode(eq(ZEN_MODE_OFF), any(), any());
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java b/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java
index 257eaaf..01360fd 100644
--- a/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java
+++ b/tests/robotests/src/com/android/settings/notification/zen/ZenOnboardingActivityTest.java
@@ -21,17 +21,19 @@
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_SCREEN_ON;
 
 import static com.android.settings.notification.zen.ZenOnboardingActivity.ALWAYS_SHOW_THRESHOLD;
-import static com.android.settings.notification.zen.ZenOnboardingActivity
-        .PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME;
+import static com.android.settings.notification.zen.ZenOnboardingActivity.PREF_KEY_SUGGESTION_FIRST_DISPLAY_TIME;
 import static com.android.settings.notification.zen.ZenOnboardingActivity.isSuggestionComplete;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.app.NotificationManager.Policy;
 import android.content.Context;
@@ -40,7 +42,6 @@
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
-import com.android.settings.notification.zen.ZenOnboardingActivity;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
@@ -103,7 +104,11 @@
         verify(mMetricsLogger).action(MetricsEvent.ACTION_ZEN_ONBOARDING_OK);
 
         ArgumentCaptor<Policy> captor = ArgumentCaptor.forClass(Policy.class);
-        verify(mNm).setNotificationPolicy(captor.capture());
+        if (android.app.Flags.modesApi()) {
+            verify(mNm).setNotificationPolicy(captor.capture(), eq(true));
+        } else {
+            verify(mNm).setNotificationPolicy(captor.capture());
+        }
 
         Policy actual = captor.getValue();
         assertThat(actual.priorityCategories).isEqualTo(PRIORITY_CATEGORY_ALARMS
@@ -123,7 +128,11 @@
         mActivity.save(null);
 
         verify(mMetricsLogger).action(MetricsEvent.ACTION_ZEN_ONBOARDING_KEEP_CURRENT_SETTINGS);
-        verify(mNm, never()).setNotificationPolicy(any());
+        if (Flags.modesApi()) {
+            verify(mNm, never()).setNotificationPolicy(any(), anyBoolean());
+        } else {
+            verify(mNm, never()).setNotificationPolicy(any());
+        }
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java b/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
index 7d0bf99..090bcfb 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelFragmentTest.java
@@ -42,6 +42,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -49,10 +50,17 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
+import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 
 import java.util.Objects;
 
+@Ignore("b/313576125")
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class PanelFragmentTest {
 
     private static final String TITLE = "title";
diff --git a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
index 9322317..87a798a 100644
--- a/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/panel/PanelSlicesAdapterTest.java
@@ -43,6 +43,7 @@
 
 import androidx.lifecycle.LiveData;
 import androidx.slice.Slice;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
 import com.android.settings.panel.PanelSlicesAdapter.SliceRowViewHolder;
@@ -50,13 +51,14 @@
 
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
-import org.mockito.MockitoAnnotations;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.annotation.Implementation;
@@ -68,6 +70,8 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = PanelSlicesAdapterTest.ShadowLayoutInflater.class)
 public class PanelSlicesAdapterTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static LayoutInflater sLayoutInflater;
 
@@ -80,8 +84,7 @@
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
 
         mPanelFeatureProvider = spy(new PanelFeatureProviderImpl());
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
@@ -103,8 +106,7 @@
 
     private void addTestLiveData(Uri uri) {
         // Create a slice to return for the LiveData
-        final Slice slice = spy(new Slice());
-        doReturn(uri).when(slice).getUri();
+        final Slice slice = new Slice();
         final LiveData<Slice> liveData = mock(LiveData.class);
         when(liveData.getValue()).thenReturn(slice);
         mData.put(uri, liveData);
diff --git a/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java b/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java
index ea55b90..e550284 100644
--- a/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java
+++ b/tests/robotests/src/com/android/settings/panel/SettingsPanelActivityTest.java
@@ -47,6 +47,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -55,9 +56,13 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.android.controller.ActivityController;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class SettingsPanelActivityTest {
 
     private FakeFeatureFactory mFakeFeatureFactory;
@@ -97,6 +102,7 @@
         mSettingsPanelActivity.getResources().getConfiguration().uiMode = mOriginalUiMode;
     }
 
+    @Ignore("b/313576125")
     @Test
     public void onStart_isNotDebuggable_shouldHideSystemOverlay() {
         ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", false);
@@ -113,6 +119,7 @@
         verify(window).addSystemFlags(SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS);
     }
 
+    @Ignore("b/313576125")
     @Test
     public void onStop_isNotDebuggable_shouldRemoveHideSystemOverlay() {
         ReflectionHelpers.setStaticField(Build.class, "IS_DEBUGGABLE", false);
@@ -140,6 +147,7 @@
                 & SYSTEM_FLAG_HIDE_NON_SYSTEM_OVERLAY_WINDOWS).isEqualTo(0);
     }
 
+    @Ignore("b/313576125")
     @Test
     public void onStop_panelIsNotCreating_shouldForceUpdate() {
         mSettingsPanelActivity.mForceCreation = false;
@@ -151,6 +159,7 @@
         assertThat(mSettingsPanelActivity.mForceCreation).isTrue();
     }
 
+    @Ignore("b/313576125")
     @Test
     public void onStop_panelIsCreating_shouldNotForceUpdate() {
         mSettingsPanelActivity.mForceCreation = false;
diff --git a/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java b/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java
index 74998c9..d30ef3e 100644
--- a/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java
+++ b/tests/robotests/src/com/android/settings/panel/VolumePanelTest.java
@@ -62,7 +62,6 @@
                 CustomSliceRegistry.VOLUME_CALL_URI,
                 CustomSliceRegistry.VOLUME_MEDIA_URI,
                 CustomSliceRegistry.MEDIA_OUTPUT_INDICATOR_SLICE_URI,
-                CustomSliceRegistry.VOLUME_RINGER_URI,
                 CustomSliceRegistry.VOLUME_SEPARATE_RING_URI,
                 CustomSliceRegistry.VOLUME_NOTIFICATION_URI,
                 CustomSliceRegistry.VOLUME_ALARM_URI);
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
index 5db998a..e7e0b92 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockGenericTest.java
@@ -28,6 +28,8 @@
 import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_NONE;
 import static com.android.settings.password.ChooseLockGeneric.ChooseLockGenericFragment.KEY_LOCK_SETTINGS_FOOTER;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CALLER_APP_NAME;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION;
+import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_DEVICE_PASSWORD_REQUIREMENT_ONLY;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS;
 import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE;
@@ -52,6 +54,7 @@
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.Bundle;
 import android.provider.Settings.Global;
+import android.widget.TextView;
 
 import androidx.annotation.Nullable;
 import androidx.preference.Preference;
@@ -66,6 +69,7 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
+import com.android.settings.testutils.shadow.ShadowPersistentDataBlockManager;
 import com.android.settings.testutils.shadow.ShadowStorageManager;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
@@ -85,7 +89,6 @@
 import org.robolectric.android.controller.ActivityController;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowApplication;
-import org.robolectric.shadows.ShadowPersistentDataBlockManager;
 
 @RunWith(RobolectricTestRunner.class)
 @Config(
@@ -302,6 +305,16 @@
     }
 
     @Test
+    public void onActivityResult_requestcode102_resultCancel_shouldFinish() {
+        initActivity(null);
+
+        mFragment.onActivityResult(ChooseLockGenericFragment.CHOOSE_LOCK_REQUEST,
+                Activity.RESULT_CANCELED, null /* data */);
+
+        assertThat(mActivity.isFinishing()).isTrue();
+    }
+
+    @Test
     public void onActivityResult_requestcode103_shouldFinish() {
         initActivity(null);
 
@@ -380,6 +393,47 @@
     }
 
     @Test
+    public void onSetNewPassword_withTitleAndDescription_displaysPassedTitleAndDescription() {
+        Intent intent =
+                new Intent(ACTION_SET_NEW_PASSWORD)
+                        .putExtra(
+                                EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE,
+                                R.string.private_space_lock_setup_title)
+                        .putExtra(
+                                EXTRA_KEY_CHOOSE_LOCK_SCREEN_DESCRIPTION,
+                                R.string.private_space_lock_setup_description);
+        initActivity(intent);
+
+        CharSequence expectedTitle = mActivity.getString(R.string.private_space_lock_setup_title);
+        CharSequence expectedDescription =
+                mActivity.getString(R.string.private_space_lock_setup_description);
+        assertThat(mActivity.getTitle().toString().contentEquals(expectedTitle)).isTrue();
+        TextView textView =
+                mFragment.getHeaderView().findViewById(R.id.biometric_header_description);
+        assertThat(textView.getText().toString().contentEquals(expectedDescription)).isTrue();
+    }
+
+    @Test
+    public void onSetNewPassword_withLockScreenTitle_titlePassedOntoNextActivity() {
+        Intent intent =
+                new Intent(ACTION_SET_NEW_PASSWORD)
+                        .putExtra(
+                                EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE,
+                                R.string.private_space_lock_setup_title);
+        initActivity(intent);
+
+        Preference facePref = new Preference(application);
+        facePref.setKey("unlock_skip_biometrics");
+        boolean result = mFragment.onPreferenceTreeClick(facePref);
+
+        assertThat(result).isTrue();
+        Intent actualIntent = shadowOf(mActivity).getNextStartedActivityForResult().intent;
+        assertThat(actualIntent.hasExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE)).isTrue();
+        assertThat(actualIntent.getIntExtra(EXTRA_KEY_CHOOSE_LOCK_SCREEN_TITLE, -1))
+                .isEqualTo(R.string.private_space_lock_setup_title);
+    }
+
+    @Test
     public void testUnifyProfile_IntentPassedToChooseLockPassword() {
         final Bundle arguments = new Bundle();
         arguments.putInt(ChooseLockSettingsHelper.EXTRA_KEY_UNIFICATION_PROFILE_ID, 11);
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
index feea768..dea936d 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPasswordTest.java
@@ -178,6 +178,24 @@
     }
 
     @Test
+    public void processAndValidatePasswordRequirements_cannotIncludeInvalidChar() {
+        PasswordPolicy policy = new PasswordPolicy();
+        policy.quality = PASSWORD_QUALITY_UNSPECIFIED;
+        // Only ASCII 31–127 should be allowed.  The invalid character error should also take
+        // priority over the error that says the password is too short.
+        String[] passwords = new String[] { "§µ¿¶¥£", "™™™™", "\n\n\n\n", "¡", "é" };
+
+        for (String password : passwords) {
+            assertPasswordValidationResult(
+                    /* minMetrics */ policy.getMinMetrics(),
+                    /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
+                    /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
+                    /* userEnteredPassword= */ LockscreenCredential.createPassword(password),
+                    "This can't include an invalid character");
+        }
+    }
+
+    @Test
     public void processAndValidatePasswordRequirements_noMinPasswordComplexity() {
         PasswordPolicy policy = new PasswordPolicy();
         policy.quality = PASSWORD_QUALITY_ALPHABETIC;
@@ -187,7 +205,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_NONE,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPassword(""),
                 "Must contain at least 1 non-numerical character",
                 "Must be at least 10 characters");
     }
@@ -201,7 +219,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPin(""),
                 "PIN must be at least 8 digits");
     }
 
@@ -214,7 +232,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPassword(""),
                 "Must be at least 4 characters");
     }
 
@@ -228,7 +246,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_LOW,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPassword(""),
                 "Must contain at least 1 non-numerical character",
                 "Must contain at least 1 numerical digit",
                 "Must be at least 9 characters");
@@ -244,7 +262,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_MEDIUM,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPin(""),
                 "PIN must be at least 11 digits");
     }
 
@@ -258,7 +276,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPassword(""),
                 "Must contain at least 2 special symbols",
                 "Must be at least 6 characters",
                 "Must contain at least 1 letter",
@@ -344,7 +362,7 @@
                 /* minMetrics */ policy.getMinMetrics(),
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_ALPHABETIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPassword(""),
                 "Must be at least 6 characters",
                 "If using only numbers, must be at least 8 digits");
     }
@@ -424,7 +442,7 @@
                 /* minMetrics */ null,
                 /* minComplexity= */ PASSWORD_COMPLEXITY_HIGH,
                 /* passwordType= */ PASSWORD_QUALITY_NUMERIC,
-                /* userEnteredPassword= */ LockscreenCredential.createNone(),
+                /* userEnteredPassword= */ LockscreenCredential.createPin(""),
                 "PIN must be at least 8 digits");
     }
 
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
index 301a6db..7715c62 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockPatternTest.java
@@ -39,14 +39,12 @@
 
 import com.google.android.setupdesign.GlifLayout;
 
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowUtils.class)
 public class ChooseLockPatternTest {
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java
index de55435..fcab797 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockSettingsHelperTest.java
@@ -24,7 +24,6 @@
 import com.android.internal.widget.LockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
 import com.google.android.setupdesign.util.ThemeHelper;
@@ -44,8 +43,7 @@
 
     @Test
     public void testLaunchConfirmationActivityWithExternal() {
-        final Activity activity  = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        final Activity activity = Robolectric.setupActivity(Activity.class);
 
         ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(activity);
         builder.setRequestCode(100)
@@ -130,8 +128,7 @@
 
     @Test
     public void launchConfirmPattern_ForceVerify_shouldLaunchInternalActivity() {
-        final Activity activity  = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        final Activity activity = Robolectric.setupActivity(Activity.class);
 
         ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(activity);
         builder.setRequestCode(100)
@@ -151,8 +148,7 @@
 
     @Test
     public void launchConfirmPassword_ForceVerify_shouldLaunchInternalActivity() {
-        final Activity activity  = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        final Activity activity = Robolectric.setupActivity(Activity.class);
 
         ChooseLockSettingsHelper.Builder builder = new ChooseLockSettingsHelper.Builder(activity);
         builder.setRequestCode(100)
@@ -172,8 +168,7 @@
 
     @Test
     public void launchConfirmPassword_remoteValidation_passwordLockType() throws Exception {
-        final Activity activity  = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        Activity activity = Robolectric.setupActivity(Activity.class);
         ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         RemoteLockscreenValidationSession request = createRemoteLockscreenValidationSession(
                 KeyguardManager.PASSWORD, VALID_REMAINING_ATTEMPTS);
@@ -202,9 +197,7 @@
 
     @Test
     public void launchConfirmPassword_remoteValidation_pinLockType() throws Exception {
-        Activity activity  = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
-
+        Activity activity = Robolectric.setupActivity(Activity.class);
         ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         RemoteLockscreenValidationSession request = createRemoteLockscreenValidationSession(
                 KeyguardManager.PIN, VALID_REMAINING_ATTEMPTS);
@@ -233,8 +226,7 @@
 
     @Test
     public void launchConfirmPattern_remoteValidation_patternLockType() throws Exception {
-        Activity activity  = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        Activity activity = Robolectric.setupActivity(Activity.class);
         ShadowActivity shadowActivity = Shadows.shadowOf(activity);
         RemoteLockscreenValidationSession request = createRemoteLockscreenValidationSession(
                 KeyguardManager.PATTERN, VALID_REMAINING_ATTEMPTS);
diff --git a/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java b/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java
index 9e8644f..a7c71ad 100644
--- a/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/password/ChooseLockTypeDialogFragmentTest.java
@@ -41,9 +41,11 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowAlertDialogCompat.class, ShadowLockPatternUtils.class})
 public class ChooseLockTypeDialogFragmentTest {
 
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
index 299b1eb..92b2b62 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmCredentialTest.java
@@ -47,6 +47,7 @@
 import com.android.settings.testutils.shadow.ShadowUtils;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -128,6 +129,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onCreate_remoteValidation_invalidServiceComponentName_finishActivity()
             throws Exception {
         Intent intentWithInvalidComponentName = new Intent()
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
index 2be8aba..4ac375f 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmLockPasswordTest.java
@@ -162,7 +162,6 @@
                 InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_PASSWORD);
     }
 
-    @Ignore
     @Test
     public void handleNext_normalFlow_doesNotAttemptRemoteLockscreenValidation() {
         ConfirmLockPassword activity = Robolectric.buildActivity(
@@ -177,8 +176,8 @@
         verifyNoInteractions(mRemoteLockscreenValidationClient);
     }
 
-    @Ignore
     @Test
+    @Ignore("b/295325503")
     public void handleNext_remoteValidation_correctGuess_checkboxChecked() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -204,6 +203,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void handleNext_remoteValidation_correctGuess_checkboxUnchecked() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -230,6 +230,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void handleNext_remoteValidation_guessInvalid() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -254,6 +255,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void handleNext_remoteValidation_lockout() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -278,6 +280,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void handleNext_remoteValidation_noRemainingAttempts_finishActivity() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
diff --git a/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java b/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
index 68bee68..04a76b8 100644
--- a/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/ConfirmLockPatternTest.java
@@ -55,7 +55,6 @@
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.After;
 import org.junit.Before;
@@ -145,9 +144,8 @@
 
     @Test
     public void onPatternDetected_normalFlow_doesNotAttemptRemoteLockscreenValidation() {
-        ConfirmLockPattern activity  = (ConfirmLockPattern) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(ConfirmLockPattern.class, new Intent())).get();
-
+        ConfirmLockPattern activity = Robolectric.buildActivity(
+                ConfirmLockPattern.class, new Intent()).setup().get();
         ConfirmDeviceCredentialBaseFragment fragment =
                 getConfirmDeviceCredentialBaseFragment(activity);
         LockPatternView lockPatternView = activity.findViewById(R.id.lockPattern);
@@ -158,8 +156,8 @@
         verifyNoInteractions(mRemoteLockscreenValidationClient);
     }
 
-    @Ignore
     @Test
+    @Ignore("b/295325503")
     public void onPatternDetected_remoteValidation_guessValid_checkboxChecked() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -185,6 +183,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onPatternDetected_remoteValidation_guessValid_checkboxUnchecked() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -211,6 +210,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onPatternDetected_remoteValidation_guessInvalid() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -235,6 +235,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onPatternDetected_remoteValidation_lockout() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
@@ -259,6 +260,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void onPatternDetected_noRemainingAttempts_finishActivity() throws Exception {
         ConfirmDeviceCredentialBaseActivity activity =
                 buildConfirmDeviceCredentialBaseActivity(
diff --git a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
index af44d39..5e429d9 100644
--- a/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetNewPasswordActivityTest.java
@@ -50,6 +50,7 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -90,6 +91,7 @@
     }
 
     @Test
+    @Ignore("b/295325503")
     public void testChooseLockGeneric() {
         Settings.Global.putInt(RuntimeEnvironment.application.getContentResolver(),
                 Settings.Global.DEVICE_PROVISIONED, 1);
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
index b04a718..c23ce9b 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockGenericTest.java
@@ -44,7 +44,6 @@
 import com.android.settings.testutils.shadow.ShadowPasswordUtils;
 import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupdesign.GlifPreferenceLayout;
 
@@ -58,9 +57,8 @@
 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.shadows.ShadowActivity;
 
 import java.util.List;
 
@@ -107,8 +105,7 @@
         SetupChooseLockGeneric activity =
                 Robolectric.buildActivity(SetupChooseLockGeneric.class, intent).create().get();
 
-        ShadowActivity shadowActivity = Shadows.shadowOf(activity);
-        assertThat(shadowActivity.isFinishing()).isTrue();
+        assertThat(activity.isFinishing()).isTrue();
     }
 
     @Test
@@ -122,8 +119,7 @@
         SetupChooseLockGeneric activity =
                 Robolectric.buildActivity(SetupChooseLockGeneric.class, intent).create().get();
 
-        ShadowActivity shadowActivity = Shadows.shadowOf(activity);
-        assertThat(shadowActivity.isFinishing()).isFalse();
+        assertThat(activity.isFinishing()).isFalse();
     }
 
     @Test
@@ -206,8 +202,8 @@
         intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_FACE, forFace);
         intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_FOR_BIOMETRICS, forBiometric);
 
-        SetupChooseLockGeneric activity = (SetupChooseLockGeneric) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(SetupChooseLockGeneric.class, intent)).get();
+        SetupChooseLockGeneric activity = ActivityController.of(
+                new SetupChooseLockGeneric(), intent).setup().get();
 
         List<Fragment> fragments = activity.getSupportFragmentManager().getFragments();
         assertThat(fragments).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
index 8bccf1a..e207d24 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPasswordTest.java
@@ -40,7 +40,6 @@
 import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settings.widget.ScrollToParentEditText;
 
 import com.google.android.setupcompat.PartnerCustomizationLayout;
@@ -48,15 +47,16 @@
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-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.annotation.Implementation;
 import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadows.ShadowActivity;
 import org.robolectric.shadows.ShadowDialog;
 import org.robolectric.shadows.ShadowInputMethodManager;
@@ -65,6 +65,7 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(
         shadows = {
                 SettingsShadowResources.class,
@@ -94,8 +95,7 @@
                         application,
                         new IntentBuilder(application).build());
 
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(SetupChooseLockPassword.class, intent)).get();
+        ActivityController.of(new SetupChooseLockPassword(), intent).setup().get();
     }
 
     @Test
@@ -111,7 +111,7 @@
     public void createActivity_withShowOptionsButtonExtra_shouldShowButtonUnderSudHeader() {
         SetupChooseLockPassword activity = createSetupChooseLockPassword();
         final LinearLayout headerLayout = activity.findViewById(
-                R.id.sud_layout_header);
+                com.google.android.setupdesign.R.id.sud_layout_header);
         assertThat(headerLayout).isNotNull();
 
         final Button optionsButton = headerLayout.findViewById(R.id.screen_lock_options);
@@ -123,6 +123,7 @@
 
     @Test
     @Config(shadows = ShadowChooseLockGenericController.class)
+    @Ignore("b/295325503")
     public void createActivity_withShowOptionsButtonExtra_buttonNotVisibleIfNoVisibleLockTypes() {
         SetupChooseLockPassword activity = createSetupChooseLockPassword();
         Button optionsButton = activity.findViewById(R.id.screen_lock_options);
@@ -216,8 +217,7 @@
                         application,
                         new IntentBuilder(application).build());
         intent.putExtra(ChooseLockGenericFragment.EXTRA_SHOW_OPTIONS_BUTTON, true);
-        return (SetupChooseLockPassword) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(SetupChooseLockPassword.class, intent)).get();
+        return ActivityController.of(new SetupChooseLockPassword(), intent).setup().get();
     }
 
     @Implements(ChooseLockGenericController.class)
diff --git a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
index c5e0813..ce47a9e 100644
--- a/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupChooseLockPatternTest.java
@@ -45,7 +45,6 @@
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
 import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import com.google.android.setupcompat.PartnerCustomizationLayout;
 import com.google.android.setupcompat.template.FooterBarMixin;
@@ -55,10 +54,11 @@
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-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.annotation.LooperMode;
 import org.robolectric.shadows.ShadowPackageManager;
 import org.robolectric.util.ReflectionHelpers;
 import org.robolectric.util.ReflectionHelpers.ClassParameter;
@@ -66,6 +66,7 @@
 import java.util.Arrays;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowUtils.class, ShadowAlertDialogCompat.class, ShadowLockPatternUtils.class})
 public class SetupChooseLockPatternTest {
 
@@ -84,9 +85,7 @@
                         new IntentBuilder(application)
                                 .setUserId(UserHandle.myUserId())
                                 .build());
-
-        mActivity = (SetupChooseLockPattern) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(SetupChooseLockPattern.class, intent)).get();
+        mActivity = ActivityController.of(new SetupChooseLockPattern(), intent).setup().get();
     }
 
     @Test
@@ -100,8 +99,8 @@
         assertThat(componentEnabled).isEqualTo(PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
     }
 
-    @Ignore
     @Test
+    @Ignore("b/295325503")
     public void optionsButton_whenPatternSelected_shouldBeVisible() {
         final Button button = mActivity.findViewById(R.id.screen_lock_options);
         assertThat(button).isNotNull();
@@ -126,16 +125,16 @@
         assertWithMessage("List items shown").that(count).isEqualTo(3);
     }
 
-    @Ignore
     @Config(qualifiers = "sw400dp")
     @Test
+    @Ignore("b/295325503")
     public void sw400dp_shouldShowScreenLockOptions() {
         verifyScreenLockOptionsShown();
     }
 
-    @Ignore
     @Config(qualifiers = "sw400dp-land")
     @Test
+    @Ignore("b/295325503")
     public void sw400dpLandscape_shouldShowScreenLockOptions() {
         verifyScreenLockOptionsShown();
     }
@@ -148,18 +147,20 @@
 
     @Config(qualifiers = "sw300dp")
     @Test
+    @Ignore("b/295325503")
     public void smallScreens_shouldHideScreenLockOptions() {
         verifyScreenLockOptionsHidden();
     }
 
     @Config(qualifiers = "sw300dp-land")
     @Test
+    @Ignore("b/295325503")
     public void smallScreensLandscape_shouldHideScreenLockOptions() {
         verifyScreenLockOptionsHidden();
     }
 
-    @Ignore
     @Test
+    @Ignore("b/295325503")
     public void skipButton_shouldBeVisible_duringNonFingerprintFlow() {
         final PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
         final Button skipOrClearButton =
@@ -220,6 +221,14 @@
     }
 
     @Test
+    public void createActivity_patternTitle_shouldShowGenericText() {
+        final CharSequence headerView = mActivity.getTitle();
+
+        assertThat(headerView).isEqualTo(
+                application.getString(R.string.lockpassword_choose_your_pattern_header));
+    }
+
+    @Test
     public void inIntroductionStage_theHeaderHeight_shouldSetMinLinesTwoToPreventFlicker() {
         final PartnerCustomizationLayout layout = mActivity.findViewById(R.id.setup_wizard_layout);
         final TextView headerView = layout.findViewById(R.id.sud_layout_subtitle);
@@ -262,7 +271,7 @@
         final TextView headerView = layout.findViewById(R.id.sud_layout_subtitle);
         final TypedValue typedValue = new TypedValue();
         final Resources.Theme theme = mActivity.getTheme();
-        theme.resolveAttribute(R.attr.colorError, typedValue, true);
+        theme.resolveAttribute(androidx.appcompat.R.attr.colorError, typedValue, true);
         final int errorColor = typedValue.data;
 
         enterShortPattern();
diff --git a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
index 813efe9..53a80dc 100644
--- a/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
+++ b/tests/robotests/src/com/android/settings/password/SetupSkipDialogTest.java
@@ -35,7 +35,6 @@
 import com.android.settings.biometrics.BiometricUtils;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -47,11 +46,13 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.LooperMode;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowAlertDialog;
 import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 @Config(shadows = {ShadowUtils.class, ShadowAlertDialog.class})
 public class SetupSkipDialogTest {
 
@@ -69,8 +70,7 @@
         ShadowUtils.setFingerprintManager(mFingerprintManager);
         ShadowUtils.setFaceManager(mFaceManager);
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
 
         when(mFakeFeatureFactory.mFaceFeatureProvider.isSetupWizardSupported(any())).thenReturn(
                 true);
diff --git a/tests/robotests/src/com/android/settings/password/TestUtils.java b/tests/robotests/src/com/android/settings/password/TestUtils.java
index fa6a11d..ef08f05 100644
--- a/tests/robotests/src/com/android/settings/password/TestUtils.java
+++ b/tests/robotests/src/com/android/settings/password/TestUtils.java
@@ -27,7 +27,6 @@
 
 import com.android.security.SecureBox;
 import com.android.settings.R;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.robolectric.Robolectric;
 
@@ -96,11 +95,7 @@
 
     public static ConfirmDeviceCredentialBaseActivity buildConfirmDeviceCredentialBaseActivity(
             Class<? extends ConfirmDeviceCredentialBaseActivity> impl, Intent intent) {
-
-        return (ConfirmDeviceCredentialBaseActivity) ActivityControllerWrapper.setup(
-                    Robolectric.buildActivity(impl, intent)).get();
-
-        //return Robolectric.buildActivity(impl, intent).setup().get();
+        return Robolectric.buildActivity(impl, intent).setup().get();
     }
 
     public static ConfirmDeviceCredentialBaseFragment getConfirmDeviceCredentialBaseFragment(
diff --git a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
index a983228..b9c80b0 100644
--- a/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/privacy/WorkPolicyInfoPreferenceControllerTest.java
@@ -53,7 +53,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
-        mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider(mContext);
+        mEnterpriseProvider = mFakeFeatureFactory.getEnterprisePrivacyFeatureProvider();
         SafetyCenterManagerWrapper.sInstance = mock(SafetyCenterManagerWrapper.class);
     }
 
diff --git a/tests/robotests/src/com/android/settings/remoteauth/OWNERS b/tests/robotests/src/com/android/settings/remoteauth/OWNERS
new file mode 100644
index 0000000..ed486d7
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/OWNERS
@@ -0,0 +1 @@
+include /src/com/android/settings/remoteauth/OWNERS
diff --git a/tests/robotests/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingTest.kt b/tests/robotests/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingTest.kt
new file mode 100644
index 0000000..3d42f23
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/enrolling/RemoteAuthEnrollEnrollingTest.kt
@@ -0,0 +1,70 @@
+/*
+ * 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.remoteauth.enrolling
+
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.*
+import com.android.settings.R
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthEnrollEnrollingTest {
+    @Before
+    fun setup() {
+        launchFragmentInContainer<RemoteAuthEnrollEnrolling>(Bundle(), R.style.SudThemeGlif)
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollEnrolling_headerVisible() {
+        onView(withText(R.string.security_settings_remoteauth_enroll_enrolling_title)).check(
+            matches(
+                withEffectiveVisibility(Visibility.VISIBLE)
+            )
+        )
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollEnrolling_primaryButtonDisabled() {
+        onView(withText(R.string.security_settings_remoteauth_enroll_enrolling_agree)).check(
+            matches(
+                isNotEnabled()
+            )
+        )
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollEnrolling_progressBarNotVisible() {
+        onView(withId(R.id.enrolling_list_progress_bar)).check(
+            matches(
+                withEffectiveVisibility(
+                    Visibility.INVISIBLE
+                )
+            )
+        )
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollEnrolling_errorTextNotVisible() {
+        onView(withId(R.id.error_text)).check(matches(withEffectiveVisibility(Visibility.INVISIBLE)))
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinishTest.kt b/tests/robotests/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinishTest.kt
new file mode 100644
index 0000000..46ff19c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/finish/RemoteAuthEnrollFinishTest.kt
@@ -0,0 +1,55 @@
+/*
+ * 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.remoteauth.finish
+
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.*
+import com.android.settings.R
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthEnrollFinishTest {
+
+    @Before
+    fun setup() {
+        launchFragmentInContainer<RemoteAuthEnrollFinish>(Bundle(), R.style.SudThemeGlif)
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollFinish_headerVisible() {
+        onView(withText(R.string.security_settings_remoteauth_enroll_finish_title)).check(
+            matches(
+                withEffectiveVisibility(Visibility.VISIBLE)
+            )
+        )
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollFinish_descriptionVisible() {
+        onView(withText(R.string.security_settings_remoteauth_enroll_finish_description)).check(
+            matches(
+                withEffectiveVisibility(Visibility.VISIBLE)
+            )
+        )
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt b/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt
new file mode 100644
index 0000000..6855e9f
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/introduction/RemoteAuthEnrollIntroductionTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.remoteauth.introduction
+
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.*
+import com.android.settings.R
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthEnrollIntroductionTest {
+    @Before
+    fun setUp() {
+        launchFragmentInContainer<RemoteAuthEnrollIntroduction>(Bundle(), R.style.SudThemeGlif)
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollIntroduction_hasHeader() {
+        onView(withText(R.string.security_settings_remoteauth_enroll_introduction_title)).check(
+            matches(
+                isDisplayed()
+            )
+        )
+    }
+
+    @Test
+    fun testRemoteAuthenticatorEnrollIntroduction_hasDescription() {
+        onView(withText(R.string.security_settings_remoteauth_enroll_introduction_message)).check(
+            matches(
+                isDisplayed()
+            )
+        )
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsTest.kt b/tests/robotests/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsTest.kt
new file mode 100644
index 0000000..9b16813
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/remoteauth/settings/RemoteAuthSettingsTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.remoteauth.settings
+
+import android.os.Bundle
+import androidx.fragment.app.testing.launchFragmentInContainer
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.*
+import com.android.settings.R
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.robolectric.RobolectricTestRunner
+
+@RunWith(RobolectricTestRunner::class)
+class RemoteAuthSettingsTest {
+    @Before
+    fun setUp() {
+        launchFragmentInContainer<RemoteAuthSettings>(Bundle(), R.style.SudThemeGlif)
+    }
+
+    @Test
+    fun testRemoteAuthenticatorSettings_headerVisible() {
+        onView(withText(R.string.security_settings_remoteauth_settings_title)).check(
+            matches(
+                withEffectiveVisibility(Visibility.VISIBLE)
+            )
+        )
+    }
+
+    @Test
+    fun testRemoteAuthenticatorSettings_descriptionVisible() {
+        onView(withText(R.string.security_settings_remoteauth_settings_description)).check(
+            matches(
+                withEffectiveVisibility(Visibility.VISIBLE)
+            )
+        )
+    }
+}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
index 8b8fad0..09b1ea9 100644
--- a/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/BaseSearchIndexProviderTest.java
@@ -31,7 +31,6 @@
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -96,7 +95,6 @@
         assertThat(mIndexProvider.getNonIndexableKeys(mContext)).isEqualTo(Collections.EMPTY_LIST);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getAllPreferenceControllers_shouldCreateControllerFromCodeAndXml() {
@@ -180,7 +178,6 @@
         assertThat(nonIndexableKeys).contains("status_header");
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getNonIndexableKeys_hasSearchableAttributeInXml_shouldSuppressUnsearchable() {
diff --git a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
index 0aa49eb..8a7419b 100644
--- a/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchFeatureProviderImplTest.java
@@ -20,7 +20,6 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.app.settings.SettingsEnums;
-import android.content.ComponentName;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
 import android.content.pm.ResolveInfo;
@@ -33,7 +32,6 @@
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Ignore;
@@ -55,11 +53,7 @@
     @Before
     public void setUp() {
         FakeFeatureFactory.setupForTest();
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mProvider = new SearchFeatureProviderImpl();
         mPackageManager = Shadows.shadowOf(mActivity.getPackageManager());
         Settings.Global.putInt(mActivity.getContentResolver(),
@@ -136,20 +130,22 @@
 
     @Test(expected = SecurityException.class)
     public void verifyLaunchSearchResultPageCaller_badCaller_shouldCrash() {
-        final ComponentName cn = new ComponentName("pkg", "class");
-        mProvider.verifyLaunchSearchResultPageCaller(mActivity, cn);
+        final String packageName = "pkg";
+
+        mProvider.verifyLaunchSearchResultPageCaller(mActivity, packageName);
     }
 
     @Test
     public void verifyLaunchSearchResultPageCaller_settingsCaller_shouldNotCrash() {
-        final ComponentName cn = new ComponentName(mActivity.getPackageName(), "class");
-        mProvider.verifyLaunchSearchResultPageCaller(mActivity, cn);
+        final String packageName = mActivity.getPackageName();
+
+        mProvider.verifyLaunchSearchResultPageCaller(mActivity, packageName);
     }
 
     @Test
     public void verifyLaunchSearchResultPageCaller_settingsIntelligenceCaller_shouldNotCrash() {
         final String packageName = mProvider.getSettingsIntelligencePkgName(mActivity);
-        final ComponentName cn = new ComponentName(packageName, "class");
-        mProvider.verifyLaunchSearchResultPageCaller(mActivity, cn);
+
+        mProvider.verifyLaunchSearchResultPageCaller(mActivity, packageName);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
index 893b56e..e408cd0 100644
--- a/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
+++ b/tests/robotests/src/com/android/settings/search/SearchIndexableResourcesTest.java
@@ -28,9 +28,9 @@
 import android.database.Cursor;
 import android.text.TextUtils;
 
+import com.android.settings.network.NetworkProviderSettings;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.FakeIndexProvider;
-import com.android.settings.wifi.WifiSettings;
 import com.android.settingslib.search.SearchIndexableData;
 
 import org.junit.After;
@@ -77,16 +77,16 @@
     }
 
     @Test
-    public void testIndexHasWifiSettings() {
-        boolean hasWifi = false;
+    public void testIndexHasNetworkProviderSettings() {
+        boolean hasNetworkProvider = false;
         for (SearchIndexableData bundle :
                 mSearchProvider.getSearchIndexableResources().getProviderValues()) {
-            if (bundle.getTargetClass().getName().equals(WifiSettings.class.getName())) {
-                hasWifi = true;
+            if (bundle.getTargetClass().getName().equals(NetworkProviderSettings.class.getName())) {
+                hasNetworkProvider = true;
                 break;
             }
         }
-        assertThat(hasWifi).isTrue();
+        assertThat(hasNetworkProvider).isTrue();
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
index bee2d99..5de64b5 100644
--- a/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
+++ b/tests/robotests/src/com/android/settings/search/SettingsSearchIndexablesProviderTest.java
@@ -31,7 +31,6 @@
 
 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;
@@ -132,7 +131,6 @@
         assertThat(cursor.getString(6)).isNull();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testNonIndexablesColumnFetched() {
diff --git a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
index 2a7bd29..aecb3e7 100644
--- a/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
+++ b/tests/robotests/src/com/android/settings/search/actionbar/SearchMenuControllerTest.java
@@ -33,7 +33,6 @@
 
 import androidx.fragment.app.FragmentActivity;
 
-import com.android.settings.R;
 import com.android.settings.core.InstrumentedFragment;
 import com.android.settings.testutils.shadow.ShadowUtils;
 
@@ -49,7 +48,10 @@
 import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUtils.class)
+@Config(shadows = {
+        ShadowUtils.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class SearchMenuControllerTest {
 
     @Mock
@@ -71,7 +73,8 @@
         Global.putInt(mActivity.getContentResolver(), Global.DEVICE_PROVISIONED, 1);
 
         when(mHost.getActivity()).thenReturn(mActivity);
-        when(mMenu.add(Menu.NONE, MENU_SEARCH, 0 /* order */, R.string.search_menu))
+        when(mMenu.add(Menu.NONE, MENU_SEARCH, 0 /* order */,
+                com.android.settingslib.search.widget.R.string.search_menu))
                 .thenReturn(mock(MenuItem.class));
     }
 
@@ -80,7 +83,8 @@
         SearchMenuController.init(mHost);
         mHost.getSettingsLifecycle().onCreateOptionsMenu(mMenu, null /* inflater */);
 
-        verify(mMenu).add(Menu.NONE, MENU_SEARCH, 0 /* order */, R.string.search_menu);
+        verify(mMenu).add(Menu.NONE, MENU_SEARCH, 0 /* order */,
+                com.android.settingslib.search.widget.R.string.search_menu);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java
new file mode 100644
index 0000000..cd2e266
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceControllerTest.java
@@ -0,0 +1,93 @@
+/*
+ * 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.security;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
+
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+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;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowDeviceConfig.class,
+        })
+public class ContentProtectionPreferenceControllerTest {
+
+    private static final String PACKAGE_NAME = "com.test.package";
+
+    private static final ComponentName COMPONENT_NAME =
+            new ComponentName(PACKAGE_NAME, "TestClass");
+
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+
+    private String mConfigDefaultContentProtectionService = COMPONENT_NAME.flattenToString();
+
+    private ContentProtectionPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContext = spy(RuntimeEnvironment.application);
+        mController = new ContentProtectionPreferenceController(mContext, "key");
+    }
+
+    @After
+    public void tearDown() {
+        ShadowDeviceConfig.reset();
+    }
+
+    @Test
+    public void isAvailable_isFalse() {
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isAvailable_isTrue() {
+        doReturn(COMPONENT_NAME.flattenToString())
+                .when(mContext)
+                .getString(config_defaultContentProtectionService);
+
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+
+        assertThat(mController.isAvailable()).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java
new file mode 100644
index 0000000..d394582
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceFragmentTest.java
@@ -0,0 +1,179 @@
+/*
+ * 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.security;
+
+import static android.app.settings.SettingsEnums.CONTENT_PROTECTION_PREFERENCE;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.provider.SearchIndexableResource;
+import android.view.contentcapture.ContentCaptureManager;
+
+import androidx.preference.PreferenceScreen;
+
+import com.android.settings.R;
+import com.android.settings.testutils.XmlTestUtils;
+import com.android.settings.testutils.shadow.ShadowDashboardFragment;
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+import com.android.settings.testutils.shadow.ShadowUtils;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+import java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowDashboardFragment.class,
+            ShadowUtils.class,
+            ShadowDeviceConfig.class,
+        })
+public class ContentProtectionPreferenceFragmentTest {
+    private static final String PACKAGE_NAME = "com.test.package";
+
+    private static final ComponentName COMPONENT_NAME =
+            new ComponentName(PACKAGE_NAME, "TestClass");
+
+    private String mConfigDefaultContentProtectionService = COMPONENT_NAME.flattenToString();
+    private ContentProtectionPreferenceFragment mFragment;
+    private Context mContext;
+    private PreferenceScreen mScreen;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = spy(RuntimeEnvironment.application);
+        mFragment = spy(new ContentProtectionPreferenceFragment());
+        mScreen = spy(new PreferenceScreen(mContext, /* attrs= */ null));
+
+        doReturn(mContext).when(mFragment).getContext();
+        doReturn(mScreen).when(mFragment).getPreferenceScreen();
+    }
+
+    @After
+    public void tearDown() {
+        ShadowDeviceConfig.reset();
+    }
+
+    @Test
+    public void getMetricsCategory() {
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(CONTENT_PROTECTION_PREFERENCE);
+    }
+
+    @Test
+    public void getPreferenceScreenResId() {
+        assertThat(mFragment.getPreferenceScreenResId())
+                .isEqualTo(R.layout.content_protection_preference_fragment);
+    }
+
+    @Test
+    public void getNonIndexableKeys_uiEnabled_existInXmlLayout() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+        doReturn(mConfigDefaultContentProtectionService)
+                .when(mContext)
+                .getString(config_defaultContentProtectionService);
+
+        final List<String> nonIndexableKeys =
+                ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
+                        mContext);
+        final List<String> allKeys =
+                XmlTestUtils.getKeysFromPreferenceXml(
+                        mContext, R.layout.content_protection_preference_fragment);
+        final List<String> nonIndexableKeysExpected =
+                List.of(
+                        "content_protection_preference_top_intro",
+                        "content_protection_preference_subpage_illustration",
+                        "content_protection_preference_user_consent_work_profile_switch");
+
+        assertThat(allKeys).containsAtLeastElementsIn(nonIndexableKeys);
+        assertThat(nonIndexableKeys).isEqualTo(nonIndexableKeysExpected);
+    }
+
+    @Test
+    public void getNonIndexableKeys_uiDisabled_notExisted() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "false",
+                /* makeDefault= */ false);
+
+        final List<String> nonIndexableKeys =
+                ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER.getNonIndexableKeys(
+                        mContext);
+        final List<String> allKeys =
+                XmlTestUtils.getKeysFromPreferenceXml(
+                        mContext, R.layout.content_protection_preference_fragment);
+
+        assertThat(nonIndexableKeys).isEqualTo(allKeys);
+    }
+
+    @Test
+    public void searchIndexProvider_shouldIndexResource() {
+        final List<SearchIndexableResource> indexRes =
+                ContentProtectionPreferenceFragment.SEARCH_INDEX_DATA_PROVIDER
+                        .getXmlResourcesToIndex(mContext, /* enabled= */ true);
+
+        assertThat(indexRes).isNotNull();
+        assertThat(indexRes).isNotEmpty();
+        assertThat(indexRes.get(0).xmlResId).isEqualTo(mFragment.getPreferenceScreenResId());
+    }
+
+    @Test
+    public void isPageSearchEnabled_uiDisabled_returnsFalse() {
+        boolean isSearchEnabled =
+                mFragment.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext);
+
+        assertThat(isSearchEnabled).isFalse();
+    }
+
+    @Test
+    public void isPageSearchEnabled_uiEnabled_returnsTrue() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+        doReturn(mConfigDefaultContentProtectionService)
+                .when(mContext)
+                .getString(config_defaultContentProtectionService);
+
+        boolean isSearchEnabled =
+                mFragment.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(mContext);
+
+        assertThat(isSearchEnabled).isTrue();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceUtilsTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceUtilsTest.java
new file mode 100644
index 0000000..9b49434
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionPreferenceUtilsTest.java
@@ -0,0 +1,148 @@
+/*
+ * 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.security;
+
+import static com.android.internal.R.string.config_defaultContentProtectionService;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.when;
+
+import android.content.ComponentName;
+import android.content.Context;
+import android.provider.DeviceConfig;
+import android.view.contentcapture.ContentCaptureManager;
+
+import com.android.settings.testutils.shadow.ShadowDeviceConfig;
+
+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.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowDeviceConfig.class,
+        })
+public class ContentProtectionPreferenceUtilsTest {
+    private static final String PACKAGE_NAME = "com.test.package";
+
+    private static final ComponentName COMPONENT_NAME =
+            new ComponentName(PACKAGE_NAME, "TestClass");
+
+    private String mConfigDefaultContentProtectionService = COMPONENT_NAME.flattenToString();
+
+    @Mock private Context mMockContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @After
+    public void tearDown() {
+        ShadowDeviceConfig.reset();
+    }
+
+    @Test
+    public void isAvailable_bothEnabled_true() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+        when(mMockContext.getString(config_defaultContentProtectionService))
+                .thenReturn(mConfigDefaultContentProtectionService);
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isTrue();
+    }
+
+    @Test
+    public void isAvailable_onlyUiEnabled_false() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+    }
+
+    @Test
+    public void isAvailable_onlyServiceEnabled_false() {
+        when(mMockContext.getString(config_defaultContentProtectionService))
+                .thenReturn(mConfigDefaultContentProtectionService);
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "false",
+                /* makeDefault= */ false);
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+    }
+
+    @Test
+    public void isAvailable_emptyComponentName_false() {
+        when(mMockContext.getString(config_defaultContentProtectionService))
+                .thenReturn("");
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+    }
+
+    @Test
+    public void isAvailable_blankComponentName_false() {
+	when(mMockContext.getString(config_defaultContentProtectionService))
+                .thenReturn("   ");
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "true",
+                /* makeDefault= */ false);
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+    }
+
+    @Test
+    public void isAvailable_invalidComponentName_false() {
+        when(mMockContext.getString(config_defaultContentProtectionService))
+                .thenReturn("invalid");
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+    }
+
+
+    @Test
+    public void isAvailable_bothDisabled_false() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                ContentCaptureManager.DEVICE_CONFIG_PROPERTY_ENABLE_CONTENT_PROTECTION_RECEIVER,
+                "false",
+                /* makeDefault= */ false);
+
+        assertThat(ContentProtectionPreferenceUtils.isAvailable(mMockContext)).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
new file mode 100644
index 0000000..50e9a5c
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionTogglePreferenceControllerTest.java
@@ -0,0 +1,212 @@
+/*
+ * 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.security;
+
+import static com.android.settings.security.ContentProtectionTogglePreferenceController.KEY_CONTENT_PROTECTION_PREFERENCE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.testutils.shadow.ShadowUtils;
+import com.android.settings.widget.SettingsMainSwitchPreference;
+import com.android.settingslib.RestrictedLockUtils;
+
+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.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(
+        shadows = {
+            ShadowUtils.class,
+        })
+public class ContentProtectionTogglePreferenceControllerTest {
+
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    @Rule public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
+    @Mock private PreferenceScreen mMockScreen;
+
+    private RestrictedLockUtils.EnforcedAdmin mAdmin;
+    private SettingsMainSwitchPreference mSwitchPreference;
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private ContentProtectionTogglePreferenceController mController;
+    private int mSettingBackupValue;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new TestContentProtectionTogglePreferenceController();
+        mSwitchPreference = new SettingsMainSwitchPreference(mContext);
+        when(mMockScreen.findPreference(mController.getPreferenceKey()))
+                .thenReturn(mSwitchPreference);
+        mSettingBackupValue = getContentProtectionGlobalSetting();
+        Settings.Global.putInt(mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 0);
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Global.putInt(
+                mContext.getContentResolver(),
+                KEY_CONTENT_PROTECTION_PREFERENCE,
+                mSettingBackupValue);
+        ShadowUtils.reset();
+    }
+
+    @Test
+    public void isAvailable_alwaysAvailable() {
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void displayPreference() {
+        setUpFullyManagedMode();
+        SettingsMainSwitchPreference mockSwitchPreference =
+                mock(SettingsMainSwitchPreference.class);
+        when(mMockScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController = new TestContentProtectionTogglePreferenceController();
+        mController.displayPreference(mMockScreen);
+
+        assertThat(mockSwitchPreference).isNotNull();
+    }
+
+    @Test
+    public void updateState_notFullyManagedMode_enabled() {
+        SettingsMainSwitchPreference mockSwitchPreference =
+                mock(SettingsMainSwitchPreference.class);
+        when(mMockScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController = new TestContentProtectionTogglePreferenceController();
+        mController.displayPreference(mMockScreen);
+        mController.updateState(mockSwitchPreference);
+
+        verify(mockSwitchPreference, never()).setDisabledByAdmin(any());
+    }
+
+    @Test
+    public void updateState_fullyManagedMode_disabled() {
+        setUpFullyManagedMode();
+        SettingsMainSwitchPreference mockSwitchPreference =
+                mock(SettingsMainSwitchPreference.class);
+        when(mMockScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController = new TestContentProtectionTogglePreferenceController();
+        mController.displayPreference(mMockScreen);
+        mController.updateState(mockSwitchPreference);
+
+        verify(mockSwitchPreference).setDisabledByAdmin(mAdmin);
+    }
+
+    @Test
+    public void isChecked_settingTurnOn() {
+        Settings.Global.putInt(mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 1);
+
+        assertThat(mController.isChecked()).isTrue();
+    }
+
+    @Test
+    public void isChecked_fullyManagedMode_settingTurnOff() {
+        setUpFullyManagedMode();
+        Settings.Global.putInt(mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 1);
+        SettingsMainSwitchPreference mockSwitchPreference =
+                mock(SettingsMainSwitchPreference.class);
+        when(mMockScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController = new TestContentProtectionTogglePreferenceController();
+        mController.displayPreference(mMockScreen);
+        mController.updateState(mockSwitchPreference);
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_settingTurnOff() {
+        Settings.Global.putInt(
+                mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, -1);
+
+        assertThat(mController.isChecked()).isFalse();
+        assertThat(getContentProtectionGlobalSetting()).isEqualTo(-1);
+    }
+
+    @Test
+    public void isChecked_settingDefaultOn() {
+        assertThat(mController.isChecked()).isTrue();
+        assertThat(getContentProtectionGlobalSetting()).isEqualTo(0);
+    }
+
+    @Test
+    public void onSwitchChanged_switchChecked_manuallyEnabled() {
+        mController.setChecked(false);
+
+        mController.onCheckedChanged(/* switchView= */ null, /* isChecked= */ true);
+
+        assertThat(getContentProtectionGlobalSetting()).isEqualTo(1);
+    }
+
+    @Test
+    public void onSwitchChanged_switchUnchecked_manuallyDisabled() {
+        mController.onCheckedChanged(/* switchView= */ null, /* isChecked= */ false);
+
+        assertThat(getContentProtectionGlobalSetting()).isEqualTo(-1);
+    }
+
+    private int getContentProtectionGlobalSetting() {
+        return Settings.Global.getInt(
+                mContext.getContentResolver(), KEY_CONTENT_PROTECTION_PREFERENCE, 0);
+    }
+
+    private void setUpFullyManagedMode() {
+        mAdmin = new RestrictedLockUtils.EnforcedAdmin();
+    }
+
+    private class TestContentProtectionTogglePreferenceController
+            extends ContentProtectionTogglePreferenceController {
+
+        TestContentProtectionTogglePreferenceController() {
+            super(ContentProtectionTogglePreferenceControllerTest.this.mContext, "key");
+        }
+
+        @Override
+        protected RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin() {
+            return mAdmin;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ContentProtectionWorkSwitchControllerTest.java b/tests/robotests/src/com/android/settings/security/ContentProtectionWorkSwitchControllerTest.java
new file mode 100644
index 0000000..8d35e4d
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ContentProtectionWorkSwitchControllerTest.java
@@ -0,0 +1,163 @@
+/*
+ * 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.security;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.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.os.UserHandle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.RestrictedSwitchPreference;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+
+@RunWith(RobolectricTestRunner.class)
+public class ContentProtectionWorkSwitchControllerTest {
+    private static final UserHandle TEST_USER_HANDLE = UserHandle.of(10);
+
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+
+    @Mock private PreferenceScreen mMockPreferenceScreen;
+    private ContentProtectionWorkSwitchController mController;
+    private UserHandle mManagedProfileUserHandle;
+    private RestrictedLockUtils.EnforcedAdmin mEnforcedAdmin;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new TestContentProtectionWorkSwitchController();
+    }
+
+    @Test
+    public void isAvailable_managedProfile_available() {
+        mManagedProfileUserHandle = TEST_USER_HANDLE;
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+        assertThat(mController.isAvailable()).isTrue();
+    }
+
+    @Test
+    public void isAvailable_noManagedProfile_notAvailable() {
+        mManagedProfileUserHandle = null;
+
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+        assertThat(mController.isAvailable()).isFalse();
+    }
+
+    @Test
+    public void isChecked_noManagedProfile_alwaysOff() {
+        mManagedProfileUserHandle = null;
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void isChecked_managedProfile_alwaysOff() {
+        mManagedProfileUserHandle = TEST_USER_HANDLE;
+
+        assertThat(mController.isChecked()).isFalse();
+    }
+
+    @Test
+    public void setChecked_alwaysFalse() {
+        assertThat(mController.setChecked(true)).isFalse();
+        assertThat(mController.setChecked(false)).isFalse();
+    }
+
+    @Test
+    public void displayPreference_managedProfile_disabled() {
+        mManagedProfileUserHandle = TEST_USER_HANDLE;
+        mEnforcedAdmin = new RestrictedLockUtils.EnforcedAdmin();
+        RestrictedSwitchPreference mockSwitchPreference = mock(RestrictedSwitchPreference.class);
+        when(mMockPreferenceScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController.displayPreference(mMockPreferenceScreen);
+
+        assertThat(mController.isAvailable()).isTrue();
+        verify(mockSwitchPreference).setDisabledByAdmin(mEnforcedAdmin);
+    }
+
+    @Test
+    public void displayPreference_noManagedProfile_notDisabled() {
+        mManagedProfileUserHandle = null;
+        mEnforcedAdmin = new RestrictedLockUtils.EnforcedAdmin();
+        RestrictedSwitchPreference mockSwitchPreference = mock(RestrictedSwitchPreference.class);
+        when(mMockPreferenceScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController.displayPreference(mMockPreferenceScreen);
+
+        assertThat(mController.isAvailable()).isFalse();
+        verify(mockSwitchPreference, never()).setDisabledByAdmin(any());
+    }
+
+    @Test
+    public void displayPreference_noEnforcedAdmin_notDisabled() {
+        mManagedProfileUserHandle = null;
+        mEnforcedAdmin = null;
+        RestrictedSwitchPreference mockSwitchPreference = mock(RestrictedSwitchPreference.class);
+        when(mMockPreferenceScreen.findPreference(any())).thenReturn(mockSwitchPreference);
+        when(mockSwitchPreference.getKey()).thenReturn(mController.getPreferenceKey());
+
+        mController.displayPreference(mMockPreferenceScreen);
+
+        assertThat(mController.isAvailable()).isFalse();
+        verify(mockSwitchPreference, never()).setDisabledByAdmin(any());
+    }
+
+    private class TestContentProtectionWorkSwitchController
+            extends ContentProtectionWorkSwitchController {
+
+        TestContentProtectionWorkSwitchController() {
+            super(ContentProtectionWorkSwitchControllerTest.this.mContext, "key");
+        }
+
+        @Override
+        @Nullable
+        protected UserHandle getManagedProfile() {
+            return mManagedProfileUserHandle;
+        }
+
+        @Override
+        @Nullable
+        protected RestrictedLockUtils.EnforcedAdmin getEnforcedAdmin(
+                @NonNull UserHandle managedProfile) {
+            return mEnforcedAdmin;
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java
index 67798aa..410198b 100644
--- a/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/EncryptionStatusPreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import com.android.settings.testutils.shadow.ShadowUserManager;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -57,7 +56,6 @@
         mPreference = new Preference(mContext);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_notVisible_false() {
diff --git a/tests/robotests/src/com/android/settings/security/MemtagPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/MemtagPreferenceControllerTest.java
index 521a939..cca88dd 100644
--- a/tests/robotests/src/com/android/settings/security/MemtagPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/MemtagPreferenceControllerTest.java
@@ -24,11 +24,9 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
-import android.os.Bundle;
 
-import androidx.fragment.app.FragmentActivity;
-import androidx.fragment.app.FragmentContainerView;
-import androidx.test.rule.ActivityTestRule;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.rules.ActivityScenarioRule;
 
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowDeviceConfig;
@@ -42,11 +40,10 @@
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowSystemProperties;
 
-@Ignore
+@Ignore("b/313564061")
 @RunWith(RobolectricTestRunner.class)
 @Config(
         shadows = {
@@ -59,8 +56,8 @@
     private final String mMemtagSupportedProperty = "ro.arm64.memtag.bootctl_supported";
 
     @Rule
-    public ActivityTestRule<TestActivity> mActivityTestRule =
-            new ActivityTestRule<>(TestActivity.class);
+    public ActivityScenarioRule<TestActivity> mActivityScenario =
+                        new ActivityScenarioRule<>(TestActivity.class);
 
     private MemtagPage mMemtagPage;
     private MemtagPreferenceController mController;
@@ -72,17 +69,18 @@
     @Before
     public void setUp() {
         ShadowSystemProperties.override(mMemtagSupportedProperty, "true");
-
-        mContext = RuntimeEnvironment.application;
+        mContext = ApplicationProvider.getApplicationContext();
         mMemtagPage = new MemtagPage();
-        mActivity = mActivityTestRule.getActivity();
-        mActivity
-                .getSupportFragmentManager()
-                .beginTransaction()
-                .add(TestActivity.CONTAINER_VIEW_ID, mMemtagPage)
-                .commit();
-        mController = new MemtagPreferenceController(mContext, FRAGMENT_TAG);
-        mController.setFragment(mMemtagPage);
+        System.out.println("Activity: " + mActivity);
+        mActivityScenario.getScenario().onActivity(a -> {
+            a.getSupportFragmentManager()
+                    .beginTransaction()
+                    .add(TestActivity.CONTAINER_VIEW_ID, mMemtagPage)
+                    .commitNow();
+            mController = new MemtagPreferenceController(a, FRAGMENT_TAG);
+            mController.setFragment(mMemtagPage);
+        });
+        System.out.println("Committed");
     }
 
     @Test
@@ -157,18 +155,4 @@
         mController.updateState(preference);
         assertThat(preference.isDisabledByAdmin()).isTrue();
     }
-
-    private static final class TestActivity extends FragmentActivity {
-
-        private static final int CONTAINER_VIEW_ID = 1234;
-
-        @Override
-        protected void onCreate(Bundle bundle) {
-            super.onCreate(bundle);
-
-            FragmentContainerView contentView = new FragmentContainerView(this);
-            contentView.setId(CONTAINER_VIEW_ID);
-            setContentView(contentView);
-        }
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
index bcf9858..81f4fce 100644
--- a/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/OwnerInfoPreferenceControllerTest.java
@@ -49,9 +49,13 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class OwnerInfoPreferenceControllerTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/security/ScreenPinningPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ScreenPinningPreferenceControllerTest.java
index 546545c..4f694bc 100644
--- a/tests/robotests/src/com/android/settings/security/ScreenPinningPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/ScreenPinningPreferenceControllerTest.java
@@ -28,7 +28,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.MockitoAnnotations;
@@ -63,7 +62,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/security/ScreenPinningSettingsTest.java b/tests/robotests/src/com/android/settings/security/ScreenPinningSettingsTest.java
new file mode 100644
index 0000000..045ef65
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/ScreenPinningSettingsTest.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.security;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.admin.DevicePolicyManager;
+import android.content.Context;
+import android.os.UserHandle;
+
+import androidx.test.core.app.ApplicationProvider;
+
+import com.android.settings.R;
+import com.android.settings.testutils.shadow.ShadowLockPatternUtils;
+import com.android.settingslib.search.SearchIndexableRaw;
+
+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 java.util.List;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowLockPatternUtils.class)
+public class ScreenPinningSettingsTest {
+
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+    }
+
+    @After
+    public void tearDown() {
+        ShadowLockPatternUtils.reset();
+    }
+
+    @Test
+    public void getDynamicRawDataToIndex_numericPassword_shouldIndexUnlockPinTitle() {
+        ShadowLockPatternUtils.setKeyguardStoredPasswordQuality(
+                DevicePolicyManager.PASSWORD_QUALITY_NUMERIC);
+
+        final List<SearchIndexableRaw> indexRaws =
+                ScreenPinningSettings.SEARCH_INDEX_DATA_PROVIDER.getDynamicRawDataToIndex(
+                        mContext, /* enabled= */ true);
+
+        assertThat(indexRaws.size()).isEqualTo(1);
+        assertThat(indexRaws.get(0).title).isEqualTo(
+                mContext.getString(R.string.screen_pinning_unlock_pin));
+    }
+
+    @Test
+    public void getDynamicRawDataToIndex_alphabeticPassword_shouldIndexUnlockPasswordTitle() {
+        ShadowLockPatternUtils.setKeyguardStoredPasswordQuality(
+                DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC);
+
+        final List<SearchIndexableRaw> indexRaws =
+                ScreenPinningSettings.SEARCH_INDEX_DATA_PROVIDER.getDynamicRawDataToIndex(
+                        mContext, /* enabled= */ true);
+
+        assertThat(indexRaws.size()).isEqualTo(1);
+        assertThat(indexRaws.get(0).title).isEqualTo(
+                mContext.getString(R.string.screen_pinning_unlock_password));
+    }
+
+    @Test
+    public void getDynamicRawDataToIndex_patternPassword_shouldIndexUnlockPatternTitle() {
+        ShadowLockPatternUtils.setKeyguardStoredPasswordQuality(
+                DevicePolicyManager.PASSWORD_QUALITY_SOMETHING);
+        ShadowLockPatternUtils.setIsLockPatternEnabled(
+                UserHandle.myUserId(), /* isLockPatternEnabled= */ true);
+
+        final List<SearchIndexableRaw> indexRaws =
+                ScreenPinningSettings.SEARCH_INDEX_DATA_PROVIDER.getDynamicRawDataToIndex(
+                        mContext, /* enabled= */ true);
+
+        assertThat(indexRaws.size()).isEqualTo(1);
+        assertThat(indexRaws.get(0).title).isEqualTo(
+                mContext.getString(R.string.screen_pinning_unlock_pattern));
+    }
+
+    @Test
+    public void getDynamicRawDataToIndex_nonePassword_shouldIndexUnlockNoneTitle() {
+        ShadowLockPatternUtils.setKeyguardStoredPasswordQuality(
+                DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED);
+
+        final List<SearchIndexableRaw> indexRaws =
+                ScreenPinningSettings.SEARCH_INDEX_DATA_PROVIDER.getDynamicRawDataToIndex(
+                        mContext, /* enabled= */ true);
+
+        assertThat(indexRaws.size()).isEqualTo(1);
+        assertThat(indexRaws.get(0).title).isEqualTo(
+                mContext.getString(R.string.screen_pinning_unlock_none));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/ShowPasswordPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/ShowPasswordPreferenceControllerTest.java
index 95e8353..206dee1 100644
--- a/tests/robotests/src/com/android/settings/security/ShowPasswordPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/ShowPasswordPreferenceControllerTest.java
@@ -18,22 +18,16 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.ContentResolver;
 import android.content.Context;
-import android.os.UserHandle;
 import android.provider.Settings;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
-import com.android.internal.widget.LockPatternUtils;
-import com.android.settings.testutils.FakeFeatureFactory;
-
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -46,11 +40,8 @@
 public class ShowPasswordPreferenceControllerTest {
 
     @Mock
-    private LockPatternUtils mLockPatternUtils;
-    @Mock
     private PreferenceScreen mScreen;
 
-    private FakeFeatureFactory mFeatureFactory;
     private Context mContext;
     private ShowPasswordPreferenceController mController;
     private Preference mPreference;
@@ -59,9 +50,6 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = RuntimeEnvironment.application;
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        when(mFeatureFactory.securityFeatureProvider.getLockPatternUtils(mContext))
-                .thenReturn(mLockPatternUtils);
         mController = new ShowPasswordPreferenceController(mContext);
         mPreference = new Preference(mContext);
         mPreference.setKey(mController.getPreferenceKey());
@@ -73,7 +61,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
@@ -100,7 +87,6 @@
         mController.onPreferenceChange(mPreference, true);
 
         assertThat(mController.isChecked()).isTrue();
-        verify(mLockPatternUtils).setVisiblePasswordEnabled(true, UserHandle.myUserId());
     }
 
     @Test
@@ -108,6 +94,5 @@
         mController.onPreferenceChange(mPreference, false);
 
         assertThat(mController.isChecked()).isFalse();
-        verify(mLockPatternUtils).setVisiblePasswordEnabled(false, UserHandle.myUserId());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java
index f38cc49..10e397c 100644
--- a/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/SimLockPreferenceControllerTest.java
@@ -77,6 +77,7 @@
         ShadowApplication shadowApplication = ShadowApplication.getInstance();
         shadowApplication.setSystemService(Context.TELEPHONY_SUBSCRIPTION_SERVICE,
                 mSubscriptionManager);
+        when(mSubscriptionManager.createForAllUserProfiles()).thenReturn(mSubscriptionManager);
         shadowApplication.setSystemService(Context.CARRIER_CONFIG_SERVICE, mCarrierManager);
         shadowApplication.setSystemService(Context.USER_SERVICE, mUserManager);
         shadowApplication.setSystemService(Context.TELEPHONY_SERVICE, mTelephonyManager);
diff --git a/tests/robotests/src/com/android/settings/security/TestActivity.java b/tests/robotests/src/com/android/settings/security/TestActivity.java
new file mode 100644
index 0000000..70b5cf5
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/security/TestActivity.java
@@ -0,0 +1,36 @@
+/*
+ * 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.security;
+
+import android.os.Bundle;
+
+import androidx.fragment.app.FragmentActivity;
+import androidx.fragment.app.FragmentContainerView;
+
+public final class TestActivity extends FragmentActivity {
+
+    static final int CONTAINER_VIEW_ID = 1234;
+
+    @Override
+    protected void onCreate(Bundle bundle) {
+        super.onCreate(bundle);
+
+        FragmentContainerView contentView = new FragmentContainerView(this);
+        contentView.setId(CONTAINER_VIEW_ID);
+        setContentView(contentView);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/security/screenlock/PinPrivacyPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/screenlock/PinPrivacyPreferenceControllerTest.java
index 73b4b9b..f7bd108 100644
--- a/tests/robotests/src/com/android/settings/security/screenlock/PinPrivacyPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/screenlock/PinPrivacyPreferenceControllerTest.java
@@ -67,14 +67,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
-    @Test
-    public void isAvailable_lockSetToPinOrPw_shouldReturnTrue() {
-        when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID)).thenReturn(
-                CREDENTIAL_TYPE_PASSWORD_OR_PIN);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
     @Test
     public void isAvailable_lockSetToOther_shouldReturnFalse() {
         when(mLockPatternUtils.getCredentialTypeForUser(TEST_USER_ID)).thenReturn(
diff --git a/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java
index 8884ab8..efbf646 100644
--- a/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/screenlock/PowerButtonInstantLockPreferenceControllerTest.java
@@ -119,7 +119,7 @@
         mController.updateState(mPreference);
         assertThat(mPreference.isChecked()).isFalse();
         assertThat(mPreference.getSummary()).isEqualTo(mContext.getString(
-                R.string.summary_empty));
+                com.android.settingslib.R.string.summary_empty));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceControllerTest.java
index 43f5cfc..33a62f4 100644
--- a/tests/robotests/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/trustagent/ManageTrustAgentsPreferenceControllerTest.java
@@ -32,7 +32,6 @@
 import com.android.settingslib.utils.StringUtil;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -76,7 +75,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
diff --git a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentListPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentListPreferenceControllerTest.java
index b6b9788..0463e00 100644
--- a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentListPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentListPreferenceControllerTest.java
@@ -45,7 +45,6 @@
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -102,7 +101,6 @@
         assertThat(mController).isInstanceOf(PreferenceControllerMixin.class);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_whenNotVisible_isFalse() {
@@ -152,7 +150,6 @@
         verify(mCategory, atLeastOnce()).addPreference(any(Preference.class));
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void onResume_ifNotAvailable_shouldNotAddNewAgents() {
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 d7aa42c..8339798 100644
--- a/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/security/trustagent/TrustAgentsPreferenceControllerTest.java
@@ -40,6 +40,7 @@
 
 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;
@@ -105,6 +106,7 @@
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(0);
     }
 
+    @Ignore("b/313612480")
     @Test
     public void
     onStart_hasAUninstalledTrustAgent_shouldRemoveOnePreferenceAndLeaveTwoPreferences() {
@@ -125,6 +127,7 @@
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(2);
     }
 
+    @Ignore("b/313612480")
     @Test
     public void onStart_hasANewTrustAgent_shouldAddOnePreferenceAndHaveFourPreferences() {
         final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
@@ -145,6 +148,7 @@
         assertThat(mPreferenceScreen.getPreferenceCount()).isEqualTo(4);
     }
 
+    @Ignore("b/313612480")
     @Test
     public void onStart_hasUnrestrictedTrustAgent_shouldAddThreeChangeablePreferences() {
         ShadowRestrictedLockUtilsInternal.setKeyguardDisabledFeatures(0);
@@ -165,6 +169,7 @@
         }
     }
 
+    @Ignore("b/313612480")
     @Test
     public void onStart_hasRestrictedTructAgent_shouldAddThreeUnchangeablePreferences() {
         final List<ResolveInfo> availableAgents = createFakeAvailableAgents();
diff --git a/tests/robotests/src/com/android/settings/shortcut/CreateShortcutPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/shortcut/CreateShortcutPreferenceControllerTest.java
index fdb7feb..9727dd1 100644
--- a/tests/robotests/src/com/android/settings/shortcut/CreateShortcutPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/shortcut/CreateShortcutPreferenceControllerTest.java
@@ -45,6 +45,7 @@
 import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -115,6 +116,7 @@
                 .isEqualTo(SHORTCUT_ID_PREFIX + intent.getComponent().flattenToShortString());
     }
 
+    @Ignore("b/314924127")
     @Test
     public void queryShortcuts_shouldOnlyIncludeSystemApp() {
         final ResolveInfo ri1 = new ResolveInfo();
@@ -132,11 +134,13 @@
                 new Intent(CreateShortcutPreferenceController.SHORTCUT_PROBE),
                 Arrays.asList(ri1, ri2));
 
+        doReturn(false).when(mController).canShowWifiHotspot();
         final List<ResolveInfo> info = mController.queryShortcuts();
         assertThat(info).hasSize(1);
         assertThat(info.get(0).activityInfo).isEqualTo(ri2.activityInfo);
     }
 
+    @Ignore("b/314924127")
     @Test
     public void queryShortcuts_shouldSortBasedOnPriority() {
         final ResolveInfo ri1 = new ResolveInfo();
@@ -157,6 +161,7 @@
                 new Intent(CreateShortcutPreferenceController.SHORTCUT_PROBE),
                 Arrays.asList(ri1, ri2));
 
+        doReturn(false).when(mController).canShowWifiHotspot();
         final List<ResolveInfo> info = mController.queryShortcuts();
         assertThat(info).hasSize(2);
         assertThat(info.get(0).activityInfo).isEqualTo(ri2.activityInfo);
@@ -165,6 +170,7 @@
 
     @Test
     public void queryShortcuts_setSupportOneHandedMode_ShouldEnableShortcuts() {
+        doReturn(true).when(mController).canShowWifiHotspot();
         SystemProperties.set(SUPPORT_ONE_HANDED_MODE, "true");
         setupActivityInfo(Settings.OneHandedSettingsActivity.class.getSimpleName());
 
@@ -173,6 +179,7 @@
 
     @Test
     public void queryShortcuts_setUnsupportOneHandedMode_ShouldDisableShortcuts() {
+        doReturn(false).when(mController).canShowWifiHotspot();
         SystemProperties.set(SUPPORT_ONE_HANDED_MODE, "false");
         setupActivityInfo(Settings.OneHandedSettingsActivity.class.getSimpleName());
 
@@ -181,7 +188,7 @@
 
     @Test
     public void queryShortcuts_configShowWifiHotspot_ShouldEnableShortcuts() {
-        when(mController.canShowWifiHotspot()).thenReturn(true);
+        doReturn(true).when(mController).canShowWifiHotspot();
         setupActivityInfo(Settings.WifiTetherSettingsActivity.class.getSimpleName());
 
         assertThat(mController.queryShortcuts()).hasSize(1);
@@ -189,13 +196,14 @@
 
     @Test
     public void queryShortcuts_configNotShowWifiHotspot_ShouldDisableShortcuts() {
-        when(mController.canShowWifiHotspot()).thenReturn(false);
+        doReturn(false).when(mController).canShowWifiHotspot();
         setupActivityInfo(Settings.WifiTetherSettingsActivity.class.getSimpleName());
 
         assertThat(mController.queryShortcuts()).hasSize(0);
     }
 
     @Test
+    @Ignore
     public void queryShortcuts_configShowDataUsage_ShouldEnableShortcuts() {
         doReturn(true).when(mController).canShowDataUsage();
         setupActivityInfo(Settings.DataUsageSummaryActivity.class.getSimpleName());
@@ -204,6 +212,7 @@
     }
 
     @Test
+    @Ignore
     public void queryShortcuts_configNotShowDataUsage_ShouldDisableShortcuts() {
         doReturn(false).when(mController).canShowDataUsage();
         setupActivityInfo(Settings.DataUsageSummaryActivity.class.getSimpleName());
diff --git a/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java b/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java
index ad60d06..24b82b2 100644
--- a/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/sim/EnableAutoDataSwitchDialogFragmentTest.java
@@ -68,6 +68,7 @@
         doReturn(mContext).when(mFragment).getContext();
 
         doReturn(mSubscriptionManager).when(mContext).getSystemService(SubscriptionManager.class);
+        doReturn(mSubscriptionManager).when(mSubscriptionManager).createForAllUserProfiles();
         doReturn(mTelephonyManager).when(mContext).getSystemService(TelephonyManager.class);
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(anyInt());
         doReturn(mUserManager).when(mContext).getSystemService(UserManager.class);
diff --git a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
index e1b2b4e..cbdcf3c 100644
--- a/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
+++ b/tests/robotests/src/com/android/settings/sim/SimSelectNotificationTest.java
@@ -30,7 +30,6 @@
 
 import static com.android.settings.sim.SimDialogActivity.DATA_PICK;
 import static com.android.settings.sim.SimDialogActivity.INVALID_PICK;
-import static com.android.settings.sim.SimDialogActivity.PICK_DISMISS;
 import static com.android.settings.sim.SimSelectNotification.ENABLE_MMS_NOTIFICATION_CHANNEL;
 import static com.android.settings.sim.SimSelectNotification.ENABLE_MMS_NOTIFICATION_ID;
 import static com.android.settings.sim.SimSelectNotification.SIM_WARNING_NOTIFICATION_CHANNEL;
@@ -61,6 +60,8 @@
 import android.telephony.TelephonyManager;
 import android.util.DisplayMetrics;
 
+import androidx.test.core.app.ApplicationProvider;
+
 import com.android.settings.R;
 import com.android.settings.network.SubscriptionUtil;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
@@ -71,6 +72,7 @@
 import org.mockito.ArgumentCaptor;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.annotation.Config;
 
@@ -80,8 +82,8 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowAlertDialogCompat.class)
 public class SimSelectNotificationTest {
-    @Mock
-    private Context mContext;
+    @Spy
+    private Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
     private Executor mExecutor;
     @Mock
@@ -92,8 +94,8 @@
     private SubscriptionManager mSubscriptionManager;
     @Mock
     private PackageManager mPackageManager;
-    @Mock
-    private Resources mResources;
+    @Spy
+    private Resources mResources = mContext.getResources();
     @Mock
     private SubscriptionInfo mSubInfo;
     @Mock
diff --git a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
index 4903a28..84c8586 100644
--- a/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SettingsSliceProviderTest.java
@@ -30,6 +30,7 @@
 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;
@@ -200,6 +201,7 @@
                 .registerIntentToUri(eq(FakeToggleController.INTENT_FILTER), eq(INTENT_SLICE_URI));
     }
 
+    @Ignore("b/314925256")
     @Test
     public void loadSlice_registersBackgroundListener() {
         SliceTestUtils.insertSliceToDb(mContext, KEY);
@@ -636,7 +638,6 @@
         verify(mManager, never()).grantSlicePermission(anyString(), any(Uri.class));
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void grantAllowlistedPackagePermissions_hasPackageAllowlist_shouldGrant() {
@@ -664,7 +665,6 @@
         assertThat(mProvider.isPrivateSlicesNeeded(uri)).isFalse();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isPrivateSlicesNeeded_correctUriWithPermissionAndIsSI_returnTrue() {
diff --git a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
index 45fea57..67a55e6 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceBuilderUtilsTest.java
@@ -42,28 +42,33 @@
 import com.android.settings.testutils.FakeToggleController;
 import com.android.settings.testutils.FakeUnavailablePreferenceController;
 import com.android.settings.testutils.SliceTester;
+import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = ShadowRestrictedLockUtilsInternal.class)
 public class SliceBuilderUtilsTest {
 
-    private final String KEY = "KEY";
-    private final String TITLE = "title";
-    private final String SUMMARY = "summary";
-    private final String SCREEN_TITLE = "screen title";
-    private final String KEYWORDS = "a, b, c";
-    private final String FRAGMENT_NAME = "fragment name";
-    private final int ICON = R.drawable.ic_settings_accent;
-    private final Uri URI = Uri.parse("content://com.android.settings.slices/test");
-    private final Class TOGGLE_CONTROLLER = FakeToggleController.class;
-    private final Class SLIDER_CONTROLLER = FakeSliderController.class;
-    private final Class INVALID_SLIDER_CONTROLLER = FakeInvalidSliderController.class;
-    private final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class;
+    private static final String KEY = "KEY";
+    private static final String TITLE = "title";
+    private static final String SUMMARY = "summary";
+    private static final String SCREEN_TITLE = "screen title";
+    private static final String KEYWORDS = "a, b, c";
+    private static final String FRAGMENT_NAME = "fragment name";
+    private static final String RESTRICTION = "no_brightness";
+    private static final int ICON = R.drawable.ic_settings_accent;
+    private static final Uri URI = Uri.parse("content://com.android.settings.slices/test");
+    private static final Class TOGGLE_CONTROLLER = FakeToggleController.class;
+    private static final Class SLIDER_CONTROLLER = FakeSliderController.class;
+    private static final Class INVALID_SLIDER_CONTROLLER = FakeInvalidSliderController.class;
+    private static final Class CONTEXT_CONTROLLER = FakeContextOnlyPreferenceController.class;
 
     private Context mContext;
 
@@ -74,6 +79,11 @@
         SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
     }
 
+    @After
+    public void tearDown() {
+        ShadowRestrictedLockUtilsInternal.reset();
+    }
+
     @Test
     public void buildIntentSlice_returnsMatchingSlice() {
         final SliceData sliceData = getMockData(CONTEXT_CONTROLLER, SliceData.SliceType.INTENT);
@@ -99,6 +109,27 @@
     }
 
     @Test
+    public void buildToggleSlice_withUserRestriction_shouldReturnToggleSlice() {
+        final SliceData mockData = getMockData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH,
+                RESTRICTION);
+
+        final Slice slice = SliceBuilderUtils.buildSlice(mContext, mockData);
+
+        SliceTester.testSettingsToggleSlice(mContext, slice, mockData);
+    }
+
+    @Test
+    public void buildToggleSlice_withUserRestrictionAndRestricted_shouldReturnIntentSlice() {
+        final SliceData mockData = getMockData(TOGGLE_CONTROLLER, SliceData.SliceType.SWITCH,
+                RESTRICTION);
+        ShadowRestrictedLockUtilsInternal.setRestricted(true);
+
+        final Slice slice = SliceBuilderUtils.buildSlice(mContext, mockData);
+
+        SliceTester.testSettingsIntentSlice(mContext, slice, mockData);
+    }
+
+    @Test
     public void testGetPreferenceController_buildsMatchingController() {
         final BasePreferenceController controller =
                 SliceBuilderUtils.getPreferenceController(mContext, getMockData());
@@ -425,8 +456,19 @@
                 null /* unavailableSliceSubtitle */);
     }
 
+    private SliceData getMockData(Class prefController, int sliceType, String userRestriction) {
+        return getMockData(prefController, SUMMARY, sliceType, SCREEN_TITLE, ICON,
+                null /* unavailableSliceSubtitle */, userRestriction);
+    }
+
     private SliceData getMockData(Class prefController, String summary, int sliceType,
             String screenTitle, int icon, String unavailableSliceSubtitle) {
+        return getMockData(prefController, summary, sliceType, screenTitle, icon,
+                unavailableSliceSubtitle, null /* userRestriction */);
+    }
+
+    private SliceData getMockData(Class prefController, String summary, int sliceType,
+            String screenTitle, int icon, String unavailableSliceSubtitle, String userRestriction) {
         return new SliceData.Builder()
                 .setKey(KEY)
                 .setTitle(TITLE)
@@ -439,6 +481,7 @@
                 .setPreferenceControllerClassName(prefController.getName())
                 .setSliceType(sliceType)
                 .setUnavailableSliceSubtitle(unavailableSliceSubtitle)
+                .setUserRestriction(userRestriction)
                 .build();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
index 93fb25f..e391576 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
@@ -146,8 +146,8 @@
     private List<Integer> getIndexableXml() {
         final List<Integer> xmlResSet = new ArrayList<>();
 
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(
-                mContext).getSearchFeatureProvider().getSearchIndexableResources()
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
+                .getSearchFeatureProvider().getSearchIndexableResources()
                 .getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
diff --git a/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java b/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
index ec828a8..69f1886 100644
--- a/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SliceDataConverterTest.java
@@ -41,7 +41,6 @@
 
 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;
@@ -89,7 +88,6 @@
         mFakeFeatureFactory.searchFeatureProvider = mock(SearchFeatureProvider.class);
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testFakeProvider_convertsFakeData() {
diff --git a/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java
index 56ea33c..c6978b1 100644
--- a/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/slices/SlicePreferenceControllerTest.java
@@ -21,10 +21,10 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 
-import android.annotation.NonNull;
 import android.content.Context;
 import android.net.Uri;
 
+import androidx.annotation.NonNull;
 import androidx.lifecycle.LiveData;
 import androidx.lifecycle.Observer;
 import androidx.slice.Slice;
diff --git a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
index 151d1f2..a272d9c 100644
--- a/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/AudioOutputSwitchPreferenceControllerTest.java
@@ -21,10 +21,12 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settingslib.media.flags.Flags.FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING;
 
 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.spy;
 import static org.mockito.Mockito.verify;
@@ -38,6 +40,8 @@
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
 import android.media.AudioManager;
+import android.media.session.MediaSessionManager;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.util.FeatureFlagUtils;
 
 import androidx.preference.ListPreference;
@@ -61,6 +65,7 @@
 
 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;
@@ -113,6 +118,9 @@
     @Mock
     private CachedBluetoothDevice mCachedBluetoothDeviceR;
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private Context mContext;
     private PreferenceScreen mScreen;
     private ListPreference mPreference;
@@ -238,6 +246,7 @@
 
     @Test
     public void onStart_shouldRegisterCallbackAndRegisterReceiver() {
+        mSetFlagsRule.disableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
         mController.onStart();
 
         verify(mLocalBluetoothManager.getEventManager()).registerCallback(
@@ -248,6 +257,7 @@
 
     @Test
     public void onStop_shouldUnregisterCallbackAndUnregisterReceiver() {
+        mSetFlagsRule.disableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
         mController.onStart();
         mController.onStop();
 
@@ -257,6 +267,45 @@
         verify(mLocalBluetoothManager).setForegroundActivity(null);
     }
 
+    @Test
+    public void onStart_shouldRegisterCallbackAndRegisterReceiverWithDefaultMediaOutput() {
+        MediaSessionManager mediaSessionManager =
+                spy(mContext.getSystemService(MediaSessionManager.class));
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mediaSessionManager);
+        mController = new AudioSwitchPreferenceControllerTestable(mContext, TEST_KEY);
+
+        mController.onStart();
+
+        verify(mLocalBluetoothManager.getEventManager()).registerCallback(
+                any(BluetoothCallback.class));
+        verify(mContext).registerReceiver(any(BroadcastReceiver.class), any(IntentFilter.class),
+                eq(Context.RECEIVER_NOT_EXPORTED));
+        verify(mLocalBluetoothManager).setForegroundActivity(mContext);
+        verify(mediaSessionManager).addOnActiveSessionsChangedListener(
+                any(MediaSessionManager.OnActiveSessionsChangedListener.class), any(), any());
+    }
+
+
+    @Test
+    public void onStop_shouldUnregisterCallbackAndUnregisterReceiverWithDefaultMediaOutput() {
+        MediaSessionManager mediaSessionManager =
+                spy(mContext.getSystemService(MediaSessionManager.class));
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        when(mContext.getSystemService(MediaSessionManager.class)).thenReturn(mediaSessionManager);
+        mController = new AudioSwitchPreferenceControllerTestable(mContext, TEST_KEY);
+        mController.onStart();
+
+        mController.onStop();
+
+        verify(mLocalBluetoothManager.getEventManager()).unregisterCallback(
+                any(BluetoothCallback.class));
+        verify(mContext).unregisterReceiver(any(BroadcastReceiver.class));
+        verify(mLocalBluetoothManager).setForegroundActivity(null);
+        verify(mediaSessionManager).removeOnActiveSessionsChangedListener(
+                any(MediaSessionManager.OnActiveSessionsChangedListener.class));
+    }
+
     /**
      * Audio stream output to bluetooth sco headset which is the subset of all sco device.
      * isStreamFromOutputDevice should return true.
diff --git a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
index 5a92a08..b9f9b16 100644
--- a/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/sound/MediaOutputPreferenceControllerTest.java
@@ -21,6 +21,8 @@
 import static android.media.AudioSystem.DEVICE_OUT_EARPIECE;
 import static android.media.AudioSystem.DEVICE_OUT_HEARING_AID;
 
+import static com.android.settingslib.media.flags.Flags.FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -45,6 +47,7 @@
 import android.media.session.MediaController;
 import android.media.session.MediaSessionManager;
 import android.media.session.PlaybackState;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
@@ -66,6 +69,7 @@
 
 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;
@@ -103,6 +107,9 @@
     private static final String TEST_PACKAGE_NAME = "com.test.packagename";
     private static final String TEST_APPLICATION_LABEL = "APP Test Label";
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     @Mock
     private LocalBluetoothManager mLocalManager;
     @Mock
@@ -227,6 +234,8 @@
         mScreen.addPreference(mPreference);
         mController.displayPreference(mScreen);
         mController.setCallback(mAudioSwitchPreferenceCallback);
+
+        mSetFlagsRule.initAllFlagsToReleaseConfigDefault();
     }
 
     @After
@@ -314,6 +323,7 @@
 
     @Test
     public void updateState_noActiveLocalPlayback_noTitle() {
+        mSetFlagsRule.disableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
         mPlaybackState = new PlaybackState.Builder()
                 .setState(PlaybackState.STATE_NONE, 0, 1)
                 .build();
@@ -326,6 +336,48 @@
     }
 
     @Test
+    public void updateState_noActiveLocalPlayback_checkTitle() {
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        mPlaybackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_NONE, 0, 1)
+                .build();
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+        mController = new MediaOutputPreferenceController(mContext, TEST_KEY);
+        mController.displayPreference(mScreen);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.media_output_title_without_playing,
+                        TEST_APPLICATION_LABEL));
+    }
+
+    @Test
+    public void updateState_withNullMediaController_noTitle() {
+        mSetFlagsRule.disableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        mMediaControllers.clear();
+        mController = new MediaOutputPreferenceController(mContext, TEST_KEY);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getTitle()).isNull();
+    }
+
+    @Test
+    public void updateState_withNullMediaController_checkTitle() {
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        mMediaControllers.clear();
+        mController = new MediaOutputPreferenceController(mContext, TEST_KEY);
+        mController.displayPreference(mScreen);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getTitle().toString()).isEqualTo(
+                mContext.getString(R.string.media_output_title_without_playing,
+                        TEST_APPLICATION_LABEL));
+    }
+
+    @Test
     public void updateState_withActiveLocalPlayback_checkTitle() {
         initPackage();
         mShadowPackageManager.addPackage(mPackageInfo, mPackageStats);
@@ -349,6 +401,39 @@
                 .isEqualTo(MediaOutputConstants.ACTION_LAUNCH_MEDIA_OUTPUT_DIALOG);
     }
 
+    @Test
+    public void handlePreferenceTreeClick_WithNoLocalPlaybackFlagEnabled_verifyIntentExtra() {
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        mPlaybackState = new PlaybackState.Builder()
+                .setState(PlaybackState.STATE_NONE, 0, 1)
+                .build();
+        when(mMediaController.getPlaybackState()).thenReturn(mPlaybackState);
+        mController = new MediaOutputPreferenceController(mContext, TEST_KEY);
+        mPreference.setKey(TEST_KEY);
+
+        mController.handlePreferenceTreeClick(mPreference);
+
+        verify(mContext).sendBroadcast(intentCaptor.capture());
+        assertThat(intentCaptor.getValue().getAction())
+                .isEqualTo(MediaOutputConstants.ACTION_LAUNCH_SYSTEM_MEDIA_OUTPUT_DIALOG);
+    }
+
+    @Test
+    public void handlePreferenceTreeClick_WithNullControllerFlagEnabled_verifyIntentExtra() {
+        mSetFlagsRule.enableFlags(FLAG_ENABLE_OUTPUT_SWITCHER_FOR_SYSTEM_ROUTING);
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        mMediaControllers.clear();
+        mController = new MediaOutputPreferenceController(mContext, TEST_KEY);
+        mPreference.setKey(TEST_KEY);
+
+        mController.handlePreferenceTreeClick(mPreference);
+
+        verify(mContext).sendBroadcast(intentCaptor.capture());
+        assertThat(intentCaptor.getValue().getAction())
+                .isEqualTo(MediaOutputConstants.ACTION_LAUNCH_SYSTEM_MEDIA_OUTPUT_DIALOG);
+    }
+
     /**
      * Default status
      * Preference should be invisible
diff --git a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
index d686f50..9f02f1f 100644
--- a/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
+++ b/tests/robotests/src/com/android/settings/suggestions/SettingsSuggestionsTest.java
@@ -97,7 +97,8 @@
         final ComponentName componentName = new ComponentName(context, activityName);
         final ActivityInfo info;
         try {
-            info = pm.getActivityInfo(componentName, PackageManager.GET_META_DATA);
+            info = pm.getActivityInfo(componentName, PackageManager.GET_META_DATA
+                    | PackageManager.MATCH_DISABLED_COMPONENTS);
         } catch (NameNotFoundException e) {
             throw new RuntimeException(e);
         }
diff --git a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java
index f510994..16df9ba 100644
--- a/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java
+++ b/tests/robotests/src/com/android/settings/support/SupportDashboardActivityTest.java
@@ -29,6 +29,7 @@
 import com.android.settingslib.search.SearchIndexableRaw;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -64,6 +65,7 @@
         assertThat(value.intentAction).isEqualTo(ACTION_SUPPORT_SETTINGS);
     }
 
+    @Ignore("b/314927625")
     @Test
     public void shouldHandleIntentAction() {
         PackageManager packageManager = mContext.getPackageManager();
diff --git a/tests/robotests/src/com/android/settings/support/SupportPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/support/SupportPreferenceControllerTest.java
index f095cc8..735dd34 100644
--- a/tests/robotests/src/com/android/settings/support/SupportPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/support/SupportPreferenceControllerTest.java
@@ -28,7 +28,6 @@
 import androidx.preference.Preference;
 
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -47,8 +46,7 @@
 
     @Before
     public void setUp() {
-        mActivity = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mActivity = Robolectric.setupActivity(Activity.class);
         mFeatureFactory = FakeFeatureFactory.setupForTest();
         mPreference = new Preference(mActivity);
         mPreference.setKey("test_key");
diff --git a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
index 0fc3ca1..c38e36a 100644
--- a/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
+++ b/tests/robotests/src/com/android/settings/survey/SurveyMixinTest.java
@@ -2,53 +2,56 @@
 
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
-import android.content.Context;
+import androidx.fragment.app.Fragment;
+import androidx.fragment.app.testing.FragmentScenario;
+import androidx.test.core.app.ApplicationProvider;
 
-import androidx.fragment.app.FragmentActivity;
-
-import com.android.settings.core.InstrumentedPreferenceFragment;
 import com.android.settings.overlay.SurveyFeatureProvider;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 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.Robolectric;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class SurveyMixinTest {
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
 
     private static final String FAKE_KEY = "fake_key";
-
-    private Context mContext;
     private SurveyFeatureProvider mProvider;
-    @Mock
-    private InstrumentedPreferenceFragment mFragment;
 
     @Before
     public void setUp() {
         // set up the fakefeature factory to mock out the survey provider
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mProvider = FakeFeatureFactory.setupForTest().getSurveyFeatureProvider(mContext);
+        mProvider = FakeFeatureFactory.setupForTest().getSurveyFeatureProvider(
+                ApplicationProvider.getApplicationContext());
     }
 
     @Test
     public void onResume_noActionIfActivityDoesNotExist() {
-        // Pretend we are an activity that is starting up
-        FragmentActivity temp  = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
-        when(mFragment.getActivity()).thenReturn(null);
-        SurveyMixin mixin = new SurveyMixin(mFragment, FAKE_KEY);
+        // Initialize a fragment without associating with an activity
+        Fragment fragment = new Fragment();
+        SurveyMixin mixin = new SurveyMixin(fragment, FAKE_KEY);
         mixin.onResume();
 
         verify(mProvider, times(0)).sendActivityIfAvailable(FAKE_KEY);
     }
+
+    @Test
+    public void onResume_sendActivityWhenSurveyFeatureExists() {
+        try (var fragmentScenario = FragmentScenario.launch(Fragment.class)) {
+            fragmentScenario.onFragment(fragment -> {
+                SurveyMixin mixin = new SurveyMixin(fragment, FAKE_KEY);
+                mixin.onResume();
+            });
+        }
+        // Verify one send activity action is attempted
+        verify(mProvider).sendActivityIfAvailable(FAKE_KEY);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/system/AdditionalSystemUpdatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/AdditionalSystemUpdatePreferenceControllerTest.java
index a853b9e..0abfc20 100644
--- a/tests/robotests/src/com/android/settings/system/AdditionalSystemUpdatePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/system/AdditionalSystemUpdatePreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -47,7 +46,6 @@
         assertThat(mController.isAvailable()).isFalse();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void displayPrefs_ifAvailable_shouldDisplay() {
diff --git a/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java
index 6e6fad8..01d0df9 100644
--- a/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/system/FactoryResetPreferenceControllerTest.java
@@ -17,73 +17,125 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.Manifest;
 import android.content.Context;
+import android.content.Intent;
+import android.content.pm.ActivityInfo;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
 import android.content.pm.UserInfo;
 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.provider.Settings;
 
-import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settings.testutils.shadow.ShadowUtils;
+import androidx.activity.result.ActivityResultLauncher;
+import androidx.preference.Preference;
+
+import com.google.common.collect.ImmutableList;
 
 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;
+import org.mockito.Mock;
+import org.mockito.Mockito;
+import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUserManager.class)
 public class FactoryResetPreferenceControllerTest {
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private static final String FACTORY_RESET_KEY = "factory_reset";
+    private static final String FACTORY_RESET_APP_PACKAGE = "com.frw_app";
 
-    private ShadowUserManager mShadowUserManager;
+    @Mock private ActivityResultLauncher<Intent> mFactoryResetLauncher;
+    @Mock private Preference mPreference;
+    @Mock private Context mContext;
+    @Mock private PackageManager mPackageManager;
+    @Mock private UserManager mUserManager;
+    private ResolveInfo mFactoryResetAppResolveInfo;
+    private PackageInfo mFactoryResetAppPackageInfo;
 
-    private Context mContext;
     private FactoryResetPreferenceController mController;
 
     @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-        mShadowUserManager = ShadowUserManager.getShadow();
-
+    public void setUp() throws PackageManager.NameNotFoundException {
+        MockitoAnnotations.initMocks(this);
+        when(mContext.getPackageManager()).thenReturn(mPackageManager);
+        when(mContext.getSystemService(Context.USER_SERVICE)).thenReturn(mUserManager);
         mController = new FactoryResetPreferenceController(mContext, FACTORY_RESET_KEY);
+        mFactoryResetAppResolveInfo = new ResolveInfo();
+        mFactoryResetAppResolveInfo.activityInfo = new ActivityInfo();
+        mFactoryResetAppResolveInfo.activityInfo.packageName = FACTORY_RESET_APP_PACKAGE;
+        mFactoryResetAppPackageInfo = new PackageInfo();
+        mFactoryResetAppPackageInfo.requestedPermissions =
+                new String[] {Manifest.permission.PREPARE_FACTORY_RESET};
+        mFactoryResetAppPackageInfo.requestedPermissionsFlags = new int[] {
+                PackageInfo.REQUESTED_PERMISSION_GRANTED
+        };
+        when(mPackageManager.resolveActivity(any(), anyInt()))
+                .thenReturn(mFactoryResetAppResolveInfo);
+        when(mPackageManager.getPackageInfo(anyString(), anyInt()))
+                .thenReturn(mFactoryResetAppPackageInfo);
+        when(mPreference.getKey()).thenReturn(FACTORY_RESET_KEY);
+        mController.mFactoryResetPreparationLauncher = mFactoryResetLauncher;
+
     }
 
     @After
     public void tearDown() {
-        ShadowUtils.reset();
-        mShadowUserManager.setIsAdminUser(false);
-        mShadowUserManager.setIsDemoUser(false);
-        Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVICE_DEMO_MODE, 0);
+        Mockito.reset(mUserManager, mPackageManager);
+        Settings.Global.putInt(RuntimeEnvironment.application.getContentResolver(),
+                Settings.Global.DEVICE_DEMO_MODE, 0);
     }
 
+    @Ignore("b/314930928")
     @Test
     public void isAvailable_systemUser() {
-        mShadowUserManager.setIsAdminUser(true);
+        when(mUserManager.isAdminUser()).thenReturn(true);
 
         assertThat(mController.isAvailable()).isTrue();
     }
 
     @Test
     public void isAvailable_nonSystemUser() {
-        mShadowUserManager.setIsAdminUser(false);
-        mShadowUserManager.setIsDemoUser(false);
+        when(mUserManager.isAdminUser()).thenReturn(false);
+        when(mUserManager.isDemoUser()).thenReturn(false);
 
         assertThat(mController.isAvailable()).isFalse();
     }
 
     @Test
     public void isAvailable_demoUser() {
-        mShadowUserManager.setIsAdminUser(false);
+        when(mUserManager.isAdminUser()).thenReturn(false);
 
         // Place the device in demo mode.
-        Settings.Global.putInt(mContext.getContentResolver(), Settings.Global.DEVICE_DEMO_MODE, 1);
+        Settings.Global.putInt(RuntimeEnvironment.application.getContentResolver(),
+                Settings.Global.DEVICE_DEMO_MODE, 1);
 
         // Indicate the user is a demo user.
-        mShadowUserManager.addUser(UserHandle.myUserId(), "test", UserInfo.FLAG_DEMO);
+        when(mUserManager.getUserProfiles())
+                .thenReturn(ImmutableList.of(new UserHandle(UserHandle.myUserId())));
+        when(mUserManager.getUserInfo(eq(UserHandle.myUserId())))
+                .thenReturn(new UserInfo(UserHandle.myUserId(), "test", UserInfo.FLAG_DEMO));
 
         assertThat(mController.isAvailable()).isFalse();
     }
@@ -92,4 +144,16 @@
     public void getPreferenceKey() {
         assertThat(mController.getPreferenceKey()).isEqualTo(FACTORY_RESET_KEY);
     }
+
+    @Test
+    @RequiresFlagsEnabled(com.android.settings.factory_reset.Flags.FLAG_ENABLE_FACTORY_RESET_WIZARD)
+    public void handlePreference_factoryResetWizardEnabled() {
+        ArgumentCaptor<Intent> intentArgumentCaptor = ArgumentCaptor.forClass(Intent.class);
+
+        assertThat(mController.handlePreferenceTreeClick(mPreference)).isTrue();
+        verify(mFactoryResetLauncher).launch(intentArgumentCaptor.capture());
+        assertThat(intentArgumentCaptor.getValue()).isNotNull();
+        assertThat(intentArgumentCaptor.getValue().getAction())
+                .isEqualTo(FactoryResetPreferenceController.ACTION_PREPARE_FACTORY_RESET);
+    }
 }
diff --git a/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java
index 7ceac23..dd95d29 100644
--- a/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/system/ResetPreferenceControllerTest.java
@@ -20,7 +20,6 @@
 import android.content.Context;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
@@ -46,7 +45,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void isAvailable_ifNotVisible_false() {
diff --git a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
index baa4690..e504cd6 100644
--- a/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/system/SystemDashboardFragmentTest.java
@@ -18,17 +18,11 @@
 
 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.spy;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.os.Bundle;
 
-import com.android.settings.aware.AwareFeatureProvider;
-import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.XmlTestUtils;
 import com.android.settings.testutils.shadow.SettingsShadowResources;
 import com.android.settings.testutils.shadow.ShadowUserManager;
@@ -75,27 +69,4 @@
 
         assertThat(keys).containsAtLeastElementsIn(niks);
     }
-
-    @Test
-    public void showRestrictionDialog_hasValidExtra_shouldShowDialog() {
-        final AwareFeatureProvider mProvider =
-                FakeFeatureFactory.setupForTest().mAwareFeatureProvider;
-        final Bundle bundle = new Bundle();
-        bundle.putBoolean(SystemDashboardFragment.EXTRA_SHOW_AWARE_DISABLED, true);
-        when(mFragment.getArguments()).thenReturn(bundle);
-
-        mFragment.showRestrictionDialog();
-
-        verify(mProvider).showRestrictionDialog(any());
-    }
-
-    @Test
-    public void showRestrictionDialog_hasInvalidExtra_shouldNotShowDialog() {
-        final AwareFeatureProvider mProvider =
-                FakeFeatureFactory.setupForTest().mAwareFeatureProvider;
-
-        mFragment.showRestrictionDialog();
-
-        verify(mProvider, never()).showRestrictionDialog(any());
-    }
 }
diff --git a/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java
deleted file mode 100644
index 544ba96..0000000
--- a/tests/robotests/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package com.android.settings.system;
-
-import static android.os.SystemUpdateManager.KEY_STATUS;
-import static android.os.SystemUpdateManager.KEY_TITLE;
-import static android.os.SystemUpdateManager.STATUS_IDLE;
-import static android.os.SystemUpdateManager.STATUS_UNKNOWN;
-import static android.os.SystemUpdateManager.STATUS_WAITING_DOWNLOAD;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Build;
-import android.os.Bundle;
-import android.os.SystemUpdateManager;
-
-import androidx.preference.Preference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-import com.android.settings.testutils.shadow.ShadowUserManager;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Ignore;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-import org.robolectric.shadows.ShadowApplication;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowUserManager.class)
-public class SystemUpdatePreferenceControllerTest {
-
-    @Mock
-    private PreferenceScreen mScreen;
-    @Mock
-    private SystemUpdateManager mSystemUpdateManager;
-
-    private Context mContext;
-    private ShadowUserManager mShadowUserManager;
-    private SystemUpdatePreferenceController mController;
-    private Preference mPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mShadowUserManager = ShadowUserManager.getShadow();
-
-        ShadowApplication.getInstance().setSystemService(Context.SYSTEM_UPDATE_SERVICE,
-                mSystemUpdateManager);
-        mController = new SystemUpdatePreferenceController(mContext);
-        mPreference = new Preference(RuntimeEnvironment.application);
-        mPreference.setKey(mController.getPreferenceKey());
-        when(mScreen.findPreference(mController.getPreferenceKey())).thenReturn(mPreference);
-    }
-
-    @After
-    public void cleanUp() {
-        mShadowUserManager.setIsAdminUser(false);
-    }
-
-    @Test
-    public void updateNonIndexable_ifAvailable_shouldNotUpdate() {
-        final List<String> keys = new ArrayList<>();
-        mShadowUserManager.setIsAdminUser(true);
-
-        mController.updateNonIndexableKeys(keys);
-
-        assertThat(keys).isEmpty();
-    }
-
-    @Test
-    public void updateNonIndexable_ifNotAvailable_shouldUpdate() {
-        mShadowUserManager.setIsAdminUser(false);
-        final List<String> keys = new ArrayList<>();
-
-        mController.updateNonIndexableKeys(keys);
-
-        assertThat(keys).hasSize(1);
-    }
-
-    @Test
-    public void displayPrefs_ifVisible_butNotAdminUser_shouldNotDisplay() {
-        mShadowUserManager.setIsAdminUser(false);
-        mController.displayPreference(mScreen);
-
-        assertThat(mPreference.isVisible()).isFalse();
-    }
-
-    @Ignore
-    @Test
-    @Config(qualifiers = "mcc999")
-    public void displayPrefs_ifAdminUser_butNotVisible_shouldNotDisplay() {
-        mShadowUserManager.setIsAdminUser(true);
-        mController.displayPreference(mScreen);
-
-        assertThat(mPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void displayPrefs_ifAvailable_shouldDisplay() {
-        mShadowUserManager.setIsAdminUser(true);
-
-        mController.displayPreference(mScreen);
-
-        assertThat(mPreference.isVisible()).isTrue();
-    }
-
-    @Test
-    public void updateState_systemUpdateStatusUnknown_shouldSetToAndroidVersion() {
-        final Bundle bundle = new Bundle();
-        bundle.putInt(KEY_STATUS, STATUS_UNKNOWN);
-        when(mSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.android_version_summary,
-                        Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY));
-    }
-
-    @Test
-    public void updateState_systemUpdateStatusIdle_shouldSetToAndroidVersion() {
-        final String testReleaseName = "ANDROID TEST VERSION";
-
-        final Bundle bundle = new Bundle();
-        bundle.putInt(KEY_STATUS, STATUS_IDLE);
-        bundle.putString(KEY_TITLE, testReleaseName);
-        when(mSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.android_version_summary, testReleaseName));
-    }
-
-    @Test
-    public void updateState_systemUpdateInProgress_shouldSetToUpdatePending() {
-        final Bundle bundle = new Bundle();
-        bundle.putInt(KEY_STATUS, STATUS_WAITING_DOWNLOAD);
-        when(mSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.android_version_pending_update_summary));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java b/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java
new file mode 100644
index 0000000..8cda2d9
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/AccessibilityTestUtils.java
@@ -0,0 +1,50 @@
+/*
+ * 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.testutils;
+
+import static android.provider.Settings.Secure.ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU;
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_3BUTTON;
+import static android.view.WindowManagerPolicyConstants.NAV_BAR_MODE_GESTURAL;
+
+import android.content.Context;
+import android.provider.Settings;
+
+import com.android.settings.testutils.shadow.SettingsShadowResources;
+
+/**
+ * Utility class for common methods used in the accessibility feature related tests
+ */
+public class AccessibilityTestUtils {
+
+    public static void setSoftwareShortcutMode(
+            Context context, boolean gestureNavEnabled, boolean floatingButtonEnabled) {
+        int mode = floatingButtonEnabled ? ACCESSIBILITY_BUTTON_MODE_FLOATING_MENU : -1;
+
+        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);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java b/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
index e98ea1b..745fca7 100644
--- a/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/BatteryTestUtils.java
@@ -219,7 +219,7 @@
         when(mockUsbPort.supportsComplianceWarnings()).thenReturn(true);
         when(mockUsbPortStatus.isConnected()).thenReturn(true);
         when(mockUsbPortStatus.getComplianceWarnings())
-                .thenReturn(new int[]{UsbPortStatus.COMPLIANCE_WARNING_OTHER});
+                .thenReturn(new int[]{UsbPortStatus.COMPLIANCE_WARNING_DEBUG_ACCESSORY});
     }
 
     /**
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
deleted file mode 100644
index 5891aa1..0000000
--- a/tests/robotests/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ /dev/null
@@ -1,322 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.settings.testutils;
-
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-
-import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
-import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
-import com.android.settings.accounts.AccountFeatureProvider;
-import com.android.settings.applications.ApplicationFeatureProvider;
-import com.android.settings.aware.AwareFeatureProvider;
-import com.android.settings.biometrics.face.FaceFeatureProvider;
-import com.android.settings.biometrics2.factory.BiometricsRepositoryProvider;
-import com.android.settings.bluetooth.BluetoothFeatureProvider;
-import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
-import com.android.settings.dashboard.DashboardFeatureProvider;
-import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
-import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
-import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProviderImpl;
-import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
-import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
-import com.android.settings.fuelgauge.BatteryStatusFeatureProvider;
-import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
-import com.android.settings.gestures.AssistGestureFeatureProvider;
-import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
-import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
-import com.android.settings.localepicker.LocaleFeatureProvider;
-import com.android.settings.overlay.DockUpdaterFeatureProvider;
-import com.android.settings.overlay.FeatureFactory;
-import com.android.settings.overlay.SupportFeatureProvider;
-import com.android.settings.overlay.SurveyFeatureProvider;
-import com.android.settings.panel.PanelFeatureProvider;
-import com.android.settings.search.SearchFeatureProvider;
-import com.android.settings.security.SecurityFeatureProvider;
-import com.android.settings.security.SecuritySettingsFeatureProvider;
-import com.android.settings.slices.SlicesFeatureProvider;
-import com.android.settings.users.UserFeatureProvider;
-import com.android.settings.vpn2.AdvancedVpnFeatureProvider;
-import com.android.settings.wifi.WifiTrackerLibProvider;
-import com.android.settings.wifi.factory.WifiFeatureProvider;
-import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
-
-import org.mockito.Answers;
-
-/**
- * Test util to provide fake FeatureFactory. To use this factory, call {@code setupForTest} in
- * {@code @Before} method of the test class.
- */
-public class FakeFeatureFactory extends FeatureFactory {
-
-    public final SupportFeatureProvider supportFeatureProvider;
-    public final MetricsFeatureProvider metricsFeatureProvider;
-    public final BatteryStatusFeatureProvider batteryStatusFeatureProvider;
-    public final BatterySettingsFeatureProvider batterySettingsFeatureProvider;
-    public final PowerUsageFeatureProvider powerUsageFeatureProvider;
-    public final DashboardFeatureProvider dashboardFeatureProvider;
-    public final DockUpdaterFeatureProvider dockUpdaterFeatureProvider;
-    public final LocaleFeatureProvider localeFeatureProvider;
-    public final ApplicationFeatureProvider applicationFeatureProvider;
-    public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
-    public final SurveyFeatureProvider surveyFeatureProvider;
-    public final SecurityFeatureProvider securityFeatureProvider;
-    public final SuggestionFeatureProvider suggestionsFeatureProvider;
-    public final UserFeatureProvider userFeatureProvider;
-    public final AssistGestureFeatureProvider assistGestureFeatureProvider;
-    public final AccountFeatureProvider mAccountFeatureProvider;
-    public final BluetoothFeatureProvider mBluetoothFeatureProvider;
-    public final AwareFeatureProvider mAwareFeatureProvider;
-    public final FaceFeatureProvider mFaceFeatureProvider;
-    public final BiometricsRepositoryProvider mBiometricsRepositoryProvider;
-
-    public PanelFeatureProvider panelFeatureProvider;
-    public SlicesFeatureProvider slicesFeatureProvider;
-    public SearchFeatureProvider searchFeatureProvider;
-    public ContextualCardFeatureProvider mContextualCardFeatureProvider;
-
-    public WifiTrackerLibProvider wifiTrackerLibProvider;
-    public SecuritySettingsFeatureProvider securitySettingsFeatureProvider;
-    public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
-    public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
-    public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
-    public WifiFeatureProvider mWifiFeatureProvider;
-    public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
-    public StylusFeatureProvider mStylusFeatureProvider;
-
-    /**
-     * Call this in {@code @Before} method of the test class to use fake factory.
-     */
-    public static FakeFeatureFactory setupForTest() {
-        final Context context = mock(Context.class, Answers.RETURNS_DEEP_STUBS);
-        sFactory = null;
-        when(context.getString(com.android.settings.R.string.config_featureFactory))
-                .thenReturn(FakeFeatureFactory.class.getName());
-        try {
-            Class c = FakeFeatureFactory.class;
-            when(context.getClassLoader().loadClass(anyString())).thenReturn(c);
-        } catch (ClassNotFoundException e) {
-            // Ignore.
-        }
-        return (FakeFeatureFactory) FakeFeatureFactory.getFactory(context);
-    }
-
-    /**
-     * Used by reflection. Do not call directly.
-     */
-    public FakeFeatureFactory() {
-        supportFeatureProvider = mock(SupportFeatureProvider.class);
-        metricsFeatureProvider = mock(MetricsFeatureProvider.class);
-        batteryStatusFeatureProvider = mock(BatteryStatusFeatureProvider.class);
-        batterySettingsFeatureProvider = mock(BatterySettingsFeatureProvider.class);
-        powerUsageFeatureProvider = mock(PowerUsageFeatureProvider.class);
-        dashboardFeatureProvider = mock(DashboardFeatureProvider.class);
-        dockUpdaterFeatureProvider = mock(DockUpdaterFeatureProvider.class);
-        localeFeatureProvider = mock(LocaleFeatureProvider.class);
-        applicationFeatureProvider = mock(ApplicationFeatureProvider.class);
-        enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
-        searchFeatureProvider = mock(SearchFeatureProvider.class);
-        surveyFeatureProvider = mock(SurveyFeatureProvider.class);
-        securityFeatureProvider = mock(SecurityFeatureProvider.class);
-        suggestionsFeatureProvider = mock(SuggestionFeatureProvider.class);
-        userFeatureProvider = mock(UserFeatureProvider.class);
-        assistGestureFeatureProvider = mock(AssistGestureFeatureProvider.class);
-        slicesFeatureProvider = mock(SlicesFeatureProvider.class);
-        mAccountFeatureProvider = mock(AccountFeatureProvider.class);
-        mContextualCardFeatureProvider = mock(ContextualCardFeatureProvider.class);
-        panelFeatureProvider = mock(PanelFeatureProvider.class);
-        mBluetoothFeatureProvider = mock(BluetoothFeatureProvider.class);
-        mAwareFeatureProvider = mock(AwareFeatureProvider.class);
-        mFaceFeatureProvider = mock(FaceFeatureProvider.class);
-        mBiometricsRepositoryProvider = mock(BiometricsRepositoryProvider.class);
-        wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
-        securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
-        mAccessibilitySearchFeatureProvider = mock(AccessibilitySearchFeatureProvider.class);
-        mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
-        mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
-        mWifiFeatureProvider = mock(WifiFeatureProvider.class);
-        mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
-        mStylusFeatureProvider = mock(StylusFeatureProvider.class);
-    }
-
-    @Override
-    public SuggestionFeatureProvider getSuggestionFeatureProvider() {
-        return suggestionsFeatureProvider;
-    }
-
-    @Override
-    public SupportFeatureProvider getSupportFeatureProvider(Context context) {
-        return supportFeatureProvider;
-    }
-
-    @Override
-    public MetricsFeatureProvider getMetricsFeatureProvider() {
-        return metricsFeatureProvider;
-    }
-
-    @Override
-    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(Context context) {
-        return batteryStatusFeatureProvider;
-    }
-
-    @Override
-    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider() {
-        return batterySettingsFeatureProvider;
-    }
-
-    @Override
-    public PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context) {
-        return powerUsageFeatureProvider;
-    }
-
-    @Override
-    public DashboardFeatureProvider getDashboardFeatureProvider(Context context) {
-        return dashboardFeatureProvider;
-    }
-
-    @Override
-    public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
-        return dockUpdaterFeatureProvider;
-    }
-
-    @Override
-    public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
-        return applicationFeatureProvider;
-    }
-
-    @Override
-    public LocaleFeatureProvider getLocaleFeatureProvider() {
-        return localeFeatureProvider;
-    }
-
-    @Override
-    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
-        return enterprisePrivacyFeatureProvider;
-    }
-
-    @Override
-    public SearchFeatureProvider getSearchFeatureProvider() {
-        return searchFeatureProvider;
-    }
-
-    @Override
-    public SurveyFeatureProvider getSurveyFeatureProvider(Context context) {
-        return surveyFeatureProvider;
-    }
-
-    @Override
-    public SecurityFeatureProvider getSecurityFeatureProvider() {
-        return securityFeatureProvider;
-    }
-
-    @Override
-    public UserFeatureProvider getUserFeatureProvider(Context context) {
-        return userFeatureProvider;
-    }
-
-    @Override
-    public AssistGestureFeatureProvider getAssistGestureFeatureProvider() {
-        return assistGestureFeatureProvider;
-    }
-
-    @Override
-    public SlicesFeatureProvider getSlicesFeatureProvider() {
-        return slicesFeatureProvider;
-    }
-
-    @Override
-    public AccountFeatureProvider getAccountFeatureProvider() {
-        return mAccountFeatureProvider;
-    }
-
-    @Override
-    public PanelFeatureProvider getPanelFeatureProvider() {
-        return panelFeatureProvider;
-    }
-
-    @Override
-    public ContextualCardFeatureProvider getContextualCardFeatureProvider(Context context) {
-        return mContextualCardFeatureProvider;
-    }
-
-    @Override
-    public BluetoothFeatureProvider getBluetoothFeatureProvider() {
-        return mBluetoothFeatureProvider;
-    }
-
-    @Override
-    public AwareFeatureProvider getAwareFeatureProvider() {
-        return mAwareFeatureProvider;
-    }
-
-    @Override
-    public FaceFeatureProvider getFaceFeatureProvider() {
-        return mFaceFeatureProvider;
-    }
-
-    @Override
-    public BiometricsRepositoryProvider getBiometricsRepositoryProvider() {
-        return mBiometricsRepositoryProvider;
-    }
-
-    @Override
-    public WifiTrackerLibProvider getWifiTrackerLibProvider() {
-        return wifiTrackerLibProvider;
-    }
-
-    @Override
-    public SecuritySettingsFeatureProvider getSecuritySettingsFeatureProvider() {
-        return securitySettingsFeatureProvider;
-    }
-
-    @Override
-    public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() {
-        return mAccessibilitySearchFeatureProvider;
-    }
-
-    @Override
-    public AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider() {
-        return mAccessibilityMetricsFeatureProvider;
-    }
-
-    @Override
-    public HardwareInfoFeatureProvider getHardwareInfoFeatureProvider() {
-        return HardwareInfoFeatureProviderImpl.INSTANCE;
-    }
-
-    @Override
-    public AdvancedVpnFeatureProvider getAdvancedVpnFeatureProvider() {
-        return mAdvancedVpnFeatureProvider;
-    }
-
-    @Override
-    public WifiFeatureProvider getWifiFeatureProvider() {
-        return mWifiFeatureProvider;
-    }
-
-    @Override
-    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
-        return mKeyboardSettingsFeatureProvider;
-    }
-
-    @Override
-    public StylusFeatureProvider getStylusFeatureProvider() {
-        return mStylusFeatureProvider;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/FakeTimer.java b/tests/robotests/src/com/android/settings/testutils/FakeTimer.java
new file mode 100644
index 0000000..d7934cb
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/FakeTimer.java
@@ -0,0 +1,81 @@
+/*
+ * 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.testutils;
+
+import java.util.PriorityQueue;
+import java.util.Timer;
+import java.util.TimerTask;
+
+/**
+ * A fake {@link Timer} that doesn't create a TimerThread which is hard to manage in test.
+ */
+public class FakeTimer extends Timer {
+    private final PriorityQueue<ScheduledTimerTask> mQueue = new PriorityQueue<>();
+
+    public FakeTimer() {
+    }
+
+    @Override
+    public void cancel() {
+        mQueue.clear();
+    }
+
+    @Override
+    public void schedule(TimerTask task, long delay) {
+        mQueue.offer(new ScheduledTimerTask(System.currentTimeMillis() + delay, task));
+    }
+
+    /**
+     * Runs the first task in the queue if there's any.
+     */
+    public void runOneTask() {
+        if (mQueue.size() > 0) {
+            mQueue.poll().mTask.run();
+        }
+    }
+
+    /**
+     * Runs all the queued tasks in order.
+     */
+    public void runAllTasks() {
+        while (mQueue.size() > 0) {
+            mQueue.poll().mTask.run();
+        }
+    }
+
+    /**
+     * Returns number of pending tasks in the timer
+     */
+    public int numOfPendingTasks() {
+        return mQueue.size();
+    }
+
+    private static class ScheduledTimerTask implements Comparable<ScheduledTimerTask> {
+        final long mTimeToRunInMillisSeconds;
+        final TimerTask mTask;
+
+        ScheduledTimerTask(long timeToRunInMilliSeconds, TimerTask task) {
+            this.mTimeToRunInMillisSeconds = timeToRunInMilliSeconds;
+            this.mTask = task;
+        }
+
+        @Override
+        public int compareTo(ScheduledTimerTask other) {
+            return Long.compare(this.mTimeToRunInMillisSeconds, other.mTimeToRunInMillisSeconds);
+        }
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
deleted file mode 100644
index 8ca577c..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/SettingsShadowResources.java
+++ /dev/null
@@ -1,87 +0,0 @@
-package com.android.settings.testutils.shadow;
-
-import static org.robolectric.RuntimeEnvironment.application;
-import static org.robolectric.shadow.api.Shadow.directlyOn;
-
-import android.content.res.Resources;
-import android.content.res.Resources.NotFoundException;
-import android.util.SparseArray;
-
-import androidx.annotation.ArrayRes;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.RealObject;
-import org.robolectric.annotation.Resetter;
-import org.robolectric.shadows.ShadowResources;
-import org.robolectric.util.ReflectionHelpers.ClassParameter;
-
-/**
- * Shadow Resources and Theme classes to handle resource references that Robolectric shadows cannot
- * handle because they are too new or private.
- */
-@Implements(value = Resources.class)
-public class SettingsShadowResources extends ShadowResources {
-
-    @RealObject
-    public Resources realResources;
-
-    private static SparseArray<Object> sResourceOverrides = new SparseArray<>();
-
-    public static void overrideResource(int id, Object value) {
-        sResourceOverrides.put(id, value);
-    }
-
-    public static void overrideResource(String name, Object value) {
-        final Resources res = application.getResources();
-        final int resId = res.getIdentifier(name, null, null);
-        if (resId == 0) {
-            throw new Resources.NotFoundException("Cannot override \"" + name + "\"");
-        }
-        overrideResource(resId, value);
-    }
-
-    @Resetter
-    public static void reset() {
-        sResourceOverrides.clear();
-    }
-
-    @Implementation
-    protected int[] getIntArray(@ArrayRes int id) throws NotFoundException {
-        final Object override = sResourceOverrides.get(id);
-        if (override instanceof int[]) {
-            return (int[]) override;
-        }
-        return directlyOn(realResources, Resources.class).getIntArray(id);
-    }
-
-    @Implementation
-    protected String getString(int id) {
-        final Object override = sResourceOverrides.get(id);
-        if (override instanceof String) {
-            return (String) override;
-        }
-        return directlyOn(
-                realResources, Resources.class, "getString", ClassParameter.from(int.class, id));
-    }
-
-    @Implementation
-    protected int getInteger(int id) {
-        final Object override = sResourceOverrides.get(id);
-        if (override instanceof Integer) {
-            return (Integer) override;
-        }
-        return directlyOn(
-                realResources, Resources.class, "getInteger", ClassParameter.from(int.class, id));
-    }
-
-    @Implementation
-    protected boolean getBoolean(int id) {
-        final Object override = sResourceOverrides.get(id);
-        if (override instanceof Boolean) {
-            return (boolean) override;
-        }
-        return directlyOn(realResources, Resources.class, "getBoolean",
-                ClassParameter.from(int.class, id));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessPoint.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessPoint.java
deleted file mode 100644
index 7d206f4..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessPoint.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import com.android.settingslib.wifi.AccessPoint;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-@Implements(AccessPoint.class)
-public class ShadowAccessPoint {
-
-    @Implementation
-    protected String getSavedNetworkSummary() {
-        return "saved";
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccountManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccountManager.java
index 409c261..aa2961c 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccountManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccountManager.java
@@ -19,7 +19,8 @@
 import android.accounts.Account;
 import android.accounts.AccountManager;
 import android.accounts.AuthenticatorDescription;
-import android.annotation.NonNull;
+
+import androidx.annotation.NonNull;
 
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
@@ -30,7 +31,7 @@
 import java.util.Map;
 
 @Implements(AccountManager.class)
-public class ShadowAccountManager {
+public class ShadowAccountManager extends org.robolectric.shadows.ShadowAccountManager {
 
     private static final Map<String, AuthenticatorDescription> sAuthenticators = new HashMap<>();
     private static final Map<Integer, List<Account>> sAccountsByUserId = new HashMap<>();
@@ -40,7 +41,8 @@
         return sAuthenticators.values().toArray(new AuthenticatorDescription[sAuthenticators.size()]);
     }
 
-    public static void addAuthenticator(AuthenticatorDescription authenticator) {
+    @Override
+    public void addAuthenticator(AuthenticatorDescription authenticator) {
         sAuthenticators.put(authenticator.type, authenticator);
     }
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityManager.java
index 76bdaef..dd82e25 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityManager.java
@@ -23,7 +23,7 @@
 import org.robolectric.annotation.Implements;
 
 @Implements(ActivityManager.class)
-public class ShadowActivityManager {
+public class ShadowActivityManager extends org.robolectric.shadows.ShadowActivityManager {
     private static int sCurrentUserId = 0;
     private static IActivityManager sService = null;
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAlertDialogCompat.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAlertDialogCompat.java
deleted file mode 100644
index e595cb6..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAlertDialogCompat.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.annotation.SuppressLint;
-import android.view.View;
-
-import androidx.appcompat.app.AlertDialog;
-
-import org.robolectric.Shadows;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.RealObject;
-import org.robolectric.annotation.Resetter;
-import org.robolectric.shadow.api.Shadow;
-import org.robolectric.shadows.ShadowDialog;
-import org.robolectric.util.ReflectionHelpers;
-
-import javax.annotation.Nullable;
-
-/* Robolectric shadow for the androidx alert dialog. */
-@Implements(AlertDialog.class)
-public class ShadowAlertDialogCompat extends ShadowDialog {
-
-    @SuppressLint("StaticFieldLeak")
-    @Nullable
-    private static ShadowAlertDialogCompat latestSupportAlertDialog;
-    @RealObject
-    private AlertDialog realAlertDialog;
-
-    @Implementation
-    public void show() {
-        super.show();
-        latestSupportAlertDialog = this;
-    }
-
-    public CharSequence getMessage() {
-        final Object alertController = ReflectionHelpers.getField(realAlertDialog, "mAlert");
-        return ReflectionHelpers.getField(alertController, "mMessage");
-    }
-
-    public CharSequence getTitle() {
-        final Object alertController = ReflectionHelpers.getField(realAlertDialog, "mAlert");
-        return ReflectionHelpers.getField(alertController, "mTitle");
-    }
-
-    public View getView() {
-        final Object alertController = ReflectionHelpers.getField(realAlertDialog, "mAlert");
-        return ReflectionHelpers.getField(alertController, "mView");
-    }
-
-    @Nullable
-    public static AlertDialog getLatestAlertDialog() {
-        return latestSupportAlertDialog == null ? null : latestSupportAlertDialog.realAlertDialog;
-    }
-
-    @Resetter
-    public static void reset() {
-        latestSupportAlertDialog = null;
-    }
-
-    public static ShadowAlertDialogCompat shadowOf(AlertDialog alertDialog) {
-        return (ShadowAlertDialogCompat) Shadow.extract(alertDialog);
-    }
-
-    public void clickOnItem(int index) {
-        Shadows.shadowOf(realAlertDialog.getListView()).performItemClick(index);
-    }
-}
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAppInfoBase.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAppInfoBase.java
deleted file mode 100644
index f8cdb22..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAppInfoBase.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-
-package com.android.settings.testutils.shadow;
-
-import com.android.settings.applications.AppInfoBase;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-@Implements(AppInfoBase.class)
-public class ShadowAppInfoBase {
-
-    @Implementation
-    protected void onResume() {
-        // No-op.
-    }
-
-    @Implementation
-    protected void onPause() {
-        // No-op.
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowApplicationPackageManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowApplicationPackageManager.java
new file mode 100644
index 0000000..6408d46
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowApplicationPackageManager.java
@@ -0,0 +1,62 @@
+/*
+ * 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.testutils.shadow;
+
+import android.app.ApplicationPackageManager;
+import android.content.pm.PackageInfo;
+import android.os.IRemoteCallback;
+
+import androidx.annotation.NonNull;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Implements(ApplicationPackageManager.class)
+public class ShadowApplicationPackageManager
+        extends org.robolectric.shadows.ShadowApplicationPackageManager {
+    static final Map<Integer, List<String>> packagesForUserId = new HashMap<>();
+
+    public void setInstalledPackagesForUserId(int userId, List<String> packages) {
+        packagesForUserId.put(userId, packages);
+        for (String packageName : packages) {
+            addPackage(packageName);
+        }
+    }
+
+    protected List<PackageInfo> getInstalledPackagesAsUser(int flags, int userId) {
+        List<PackageInfo> packages = new ArrayList<>();
+        for (String packageName : packagesForUserId.getOrDefault(userId, new ArrayList<>())) {
+            try {
+                packages.add(getPackageInfo(packageName, flags));
+            } catch (Exception e) {
+                // ignore
+            }
+        }
+        return packages;
+    }
+
+    @Implementation
+    public void registerPackageMonitorCallback(@NonNull IRemoteCallback callback, int userId) {}
+
+    @Implementation
+    public void unregisterPackageMonitorCallback(@NonNull IRemoteCallback callback) {}
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowApplicationsState.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowApplicationsState.java
deleted file mode 100644
index 8239ed9..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowApplicationsState.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.os.Looper;
-
-import com.android.settingslib.applications.ApplicationsState;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-@Implements(ApplicationsState.class)
-public class ShadowApplicationsState {
-    @Implementation
-    protected Looper getBackgroundLooper() {
-        return Looper.getMainLooper();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioManager.java
index e651baf..9c06665 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAudioManager.java
@@ -31,12 +31,12 @@
 import android.media.AudioManager;
 import android.os.Handler;
 
-import java.util.List;
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
 
 import java.util.ArrayList;
+import java.util.List;
 
 @Implements(value = AudioManager.class)
 public class ShadowAudioManager extends org.robolectric.shadows.ShadowAudioManager {
@@ -46,7 +46,7 @@
     private List<AudioDeviceCallback> mDeviceCallbacks = new ArrayList<>();
 
     @Implementation
-    private int getRingerModeInternal() {
+    protected int getRingerModeInternal() {
         return mRingerMode;
     }
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java
index cb7da56..d14a089 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAuthenticationHelper.java
@@ -33,6 +33,7 @@
     static final String[] LABELS = {"LABEL1", "LABEL2", "LABEL3", "LABEL4"};
     private static String[] sEnabledAccount = TYPES;
 
+    @Implementation
     protected void __constructor__(Context context, UserHandle userHandle,
             AuthenticatorHelper.OnAccountsUpdateListener listener) {
     }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowBluetoothAdapter.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowBluetoothAdapter.java
deleted file mode 100644
index 9de5c7f..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowBluetoothAdapter.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.testutils.shadow;
-
-import android.bluetooth.BluetoothAdapter;
-import android.bluetooth.BluetoothDevice;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-import java.util.ArrayList;
-import java.util.List;
-
-@Implements(value = BluetoothAdapter.class)
-public class ShadowBluetoothAdapter extends org.robolectric.shadows.ShadowBluetoothAdapter {
-
-    private int mState;
-    private List<Integer> mSupportedProfiles = new ArrayList<>();
-    private List<BluetoothDevice> mMostRecentlyConnectedDevices = new ArrayList<>();
-
-    @Implementation
-    protected List<Integer> getSupportedProfiles() {
-        return mSupportedProfiles;
-    }
-
-    public void addSupportedProfiles(int profile) {
-        mSupportedProfiles.add(profile);
-    }
-
-    public void clearSupportedProfiles() {
-        mSupportedProfiles.clear();
-    }
-
-    @Implementation
-    protected int getConnectionState() {
-        return mState;
-    }
-
-    public void setConnectionState(int state) {
-        mState = state;
-    }
-
-    @Implementation
-    protected boolean factoryReset() {
-        return true;
-    }
-
-    @Implementation
-    protected List<BluetoothDevice> getMostRecentlyConnectedDevices() {
-        return mMostRecentlyConnectedDevices;
-    }
-
-    public void setMostRecentlyConnectedDevices(List<BluetoothDevice> list) {
-        mMostRecentlyConnectedDevices = list;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowBluetoothUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowBluetoothUtils.java
deleted file mode 100644
index c009442..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowBluetoothUtils.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.content.Context;
-
-import com.android.settings.bluetooth.Utils;
-import com.android.settingslib.bluetooth.LocalBluetoothManager;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
-
-@Implements(Utils.class)
-public class ShadowBluetoothUtils {
-
-    public static LocalBluetoothManager sLocalBluetoothManager;
-
-    @Implementation
-    protected static LocalBluetoothManager getLocalBtManager(Context context) {
-        return sLocalBluetoothManager;
-    }
-
-    @Resetter
-    public static void reset() {
-        sLocalBluetoothManager = null;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowContentResolver.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowContentResolver.java
index 5d9202f..e259cad 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowContentResolver.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowContentResolver.java
@@ -16,16 +16,10 @@
 
 package com.android.settings.testutils.shadow;
 
-import static android.provider.SearchIndexablesContract.INDEXABLES_RAW_COLUMNS;
-
 import android.accounts.Account;
 import android.annotation.UserIdInt;
 import android.content.ContentResolver;
 import android.content.SyncAdapterType;
-import android.database.Cursor;
-import android.database.MatrixCursor;
-import android.net.Uri;
-import android.provider.SearchIndexablesContract;
 import android.text.TextUtils;
 
 import org.robolectric.annotation.Implementation;
@@ -35,7 +29,7 @@
 import java.util.Map;
 
 @Implements(ContentResolver.class)
-public class ShadowContentResolver {
+public class ShadowContentResolver extends org.robolectric.shadows.ShadowContentResolver {
 
     private static SyncAdapterType[] sSyncAdapterTypes = new SyncAdapterType[0];
     private static Map<String, Integer> sSyncable = new HashMap<>();
@@ -48,23 +42,14 @@
     }
 
     @Implementation
-    protected final Cursor query(Uri uri, String[] projection, String selection,
-            String[] selectionArgs, String sortOrder) {
-        MatrixCursor cursor = new MatrixCursor(INDEXABLES_RAW_COLUMNS);
-        MatrixCursor.RowBuilder builder = cursor.newRow()
-                .add(SearchIndexablesContract.NonIndexableKey.COLUMN_KEY_VALUE, "");
-        return cursor;
-    }
-
-    @Implementation
     protected static int getIsSyncableAsUser(Account account, String authority, int userId) {
-        return sSyncable.containsKey(authority) ? sSyncable.get(authority) : 1;
+        return sSyncable.getOrDefault(authority, 1);
     }
 
     @Implementation
     protected static boolean getSyncAutomaticallyAsUser(Account account, String authority,
             int userId) {
-        return sSyncAutomatically.containsKey(authority) ? sSyncAutomatically.get(authority) : true;
+        return sSyncAutomatically.getOrDefault(authority, true);
     }
 
     @Implementation
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowCrossProfileApps.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowCrossProfileApps.java
new file mode 100644
index 0000000..64a5f11
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowCrossProfileApps.java
@@ -0,0 +1,70 @@
+/*
+ * 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.testutils.shadow;
+
+import android.Manifest;
+import android.content.Context;
+import android.content.pm.CrossProfileApps;
+import android.content.pm.ICrossProfileApps;
+import android.content.pm.PackageInfo;
+import android.content.pm.PackageManager;
+
+import androidx.annotation.NonNull;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
+@Implements(CrossProfileApps.class)
+public class ShadowCrossProfileApps extends org.robolectric.shadows.ShadowCrossProfileApps {
+    private static final Set<String> configurableInteractAcrossProfilePackages = new HashSet<>();
+    private Context mContext;
+    private PackageManager mPackageManager;
+
+    @Implementation
+    protected void __constructor__(Context context, ICrossProfileApps service) {
+        super.__constructor__(context, service);
+        this.mContext = context;
+        this.mPackageManager = context.getPackageManager();
+    }
+    public void addCrossProfilePackage(String packageName) {
+        configurableInteractAcrossProfilePackages.add(packageName);
+    }
+
+    @Implementation
+    protected boolean canConfigureInteractAcrossProfiles(@NonNull String packageName) {
+        return configurableInteractAcrossProfilePackages.contains(packageName);
+    }
+
+    @Implementation
+    protected boolean canUserAttemptToConfigureInteractAcrossProfiles(@NonNull String packageName) {
+        PackageInfo packageInfo;
+        try {
+            packageInfo = mPackageManager.getPackageInfo(packageName, /* flags= */ 0);
+        } catch (PackageManager.NameNotFoundException e) {
+            return false;
+        }
+        if (packageInfo == null || packageInfo.requestedPermissions == null) {
+            return false;
+        }
+        return Arrays.asList(packageInfo.requestedPermissions).contains(
+                Manifest.permission.INTERACT_ACROSS_PROFILES);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java
deleted file mode 100644
index 4d1a2ed..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package com.android.settings.testutils.shadow;
-
-import com.android.settings.datausage.DataSaverBackend;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-@Implements(DataSaverBackend.class)
-public class ShadowDataSaverBackend {
-
-    private static boolean isEnabled = true;
-
-    @Implementation
-    protected boolean isDataSaverEnabled() {
-        return isEnabled;
-    }
-
-    @Implementation
-    protected void setDataSaverEnabled(boolean enabled) {
-        isEnabled = enabled;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java
index 9973a2d..dd09b3c 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDataUsageUtils.java
@@ -13,7 +13,6 @@
 
     public static boolean IS_MOBILE_DATA_SUPPORTED = true;
     public static boolean IS_WIFI_SUPPORTED = true;
-    public static boolean HAS_SIM = true;
     public static int DEFAULT_SUBSCRIPTION_ID = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
 
     @Implementation
@@ -32,10 +31,5 @@
     }
 
     @Implementation
-    protected static boolean hasSim(Context context) {
-        return HAS_SIM;
-    }
-
-    @Implementation
     protected static boolean hasEthernet(Context context) { return false; }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDateFormat.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDateFormat.java
new file mode 100644
index 0000000..74e6a81
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDateFormat.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import android.content.Context;
+import android.text.format.DateFormat;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.Locale;
+
+@Implements(DateFormat.class)
+public class ShadowDateFormat {
+
+    @Implementation
+    protected static java.text.DateFormat getDateFormat(Context context) {
+        return new java.text.SimpleDateFormat("MMM-dd-yyyy", Locale.ROOT);
+    }
+
+    @Implementation
+    protected static java.text.DateFormat getLongDateFormat(Context context) {
+        return new java.text.SimpleDateFormat("MMMM dd, yyyy", Locale.ROOT);
+    }
+
+    @Implementation
+    protected static java.text.DateFormat getTimeFormat(Context context) {
+        return new java.text.SimpleDateFormat("HH:mm:ss", Locale.ROOT);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceConfig.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceConfig.java
deleted file mode 100644
index dfd0988..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDeviceConfig.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import org.robolectric.annotation.Config;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
-
-import java.util.HashMap;
-import java.util.Map;
-
-@Implements(android.provider.DeviceConfig.class)
-public class ShadowDeviceConfig {
-
-    private static Map<String, String> sPropertyMaps = new HashMap<>();
-
-    @Resetter
-    public static void reset() {
-        sPropertyMaps.clear();
-    }
-
-    @Implementation
-    public static boolean setProperty(
-            String namespace, String name, String value, boolean makeDefault) {
-        sPropertyMaps.put(name, value);
-        return true;
-    }
-
-    @Implementation
-    public static String getProperty(String namespace, String name) {
-        return sPropertyMaps.get(name);
-    }
-}
-
-
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
index 0396503..354352e 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDevicePolicyManager.java
@@ -1,26 +1,50 @@
+/*
+ * 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.testutils.shadow;
 
 import static android.app.admin.DevicePolicyManager.DEVICE_OWNER_TYPE_DEFAULT;
 import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+import static android.os.Build.VERSION_CODES.O;
+import static android.os.Build.VERSION_CODES.Q;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.annotation.UserIdInt;
 import android.app.admin.DevicePolicyManager;
 import android.app.admin.DevicePolicyManager.DeviceOwnerType;
+import android.app.admin.IDevicePolicyManager;
 import android.app.admin.ManagedSubscriptionsPolicy;
 import android.app.admin.PasswordMetrics;
 import android.app.admin.PasswordPolicy;
 import android.content.ComponentName;
+import android.content.Context;
 
-import org.robolectric.RuntimeEnvironment;
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+import androidx.test.core.app.ApplicationProvider;
+
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
 
+import java.util.Collections;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 
 @Implements(DevicePolicyManager.class)
 public class ShadowDevicePolicyManager extends org.robolectric.shadows.ShadowDevicePolicyManager {
@@ -29,12 +53,21 @@
     private final Map<String, Integer> mDeviceOwnerTypes = new HashMap<>();
     private Map<Integer, CharSequence> mSupportMessagesMap = new HashMap<>();
     private boolean mIsAdminActiveAsUser = false;
+    private ComponentName mProfileOwner;
     private ComponentName mDeviceOwnerComponentName;
     private ManagedSubscriptionsPolicy mManagedSubscriptionsPolicy;
     private int mDeviceOwnerUserId = -1;
     private int mPasswordMinQuality = PASSWORD_QUALITY_UNSPECIFIED;
     private int mPasswordMinLength = 0;
     private int mPasswordMinSymbols = 0;
+    private Set<String> mCrossProfileCalendarPackages = Collections.emptySet();
+
+    private List<String> mPermittedAccessibilityServices = null;
+
+    @Implementation(minSdk = O)
+    protected void __constructor__(Context context, IDevicePolicyManager service) {
+        super.__constructor__(ApplicationProvider.getApplicationContext(), service);
+    }
 
     public void setShortSupportMessageForUser(ComponentName admin, int userHandle, String message) {
         mSupportMessagesMap.put(Objects.hash(admin, userHandle), message);
@@ -122,8 +155,47 @@
         mPasswordMinSymbols = numOfSymbols;
     }
 
+    public void setPermittedAccessibilityServices(List<String> permittedAccessibilityServices) {
+        mPermittedAccessibilityServices = permittedAccessibilityServices;
+    }
+
+    @Implementation
+    @Nullable
+    public List<String> getPermittedAccessibilityServices(int userId) {
+        return mPermittedAccessibilityServices;
+    }
+
     public static ShadowDevicePolicyManager getShadow() {
         return (ShadowDevicePolicyManager) Shadow.extract(
-                RuntimeEnvironment.application.getSystemService(DevicePolicyManager.class));
+                ApplicationProvider.getApplicationContext()
+                        .getSystemService(DevicePolicyManager.class));
+    }
+
+    // BEGIN-INTERNAL
+    @Implementation(minSdk = Q)
+    protected Set<String> getCrossProfileCalendarPackages() {
+        return mCrossProfileCalendarPackages;
+    }
+
+    @Implementation(minSdk = Q)
+    public void setCrossProfileCalendarPackages(ComponentName admin, Set<String> packageNames) {
+        enforceProfileOwner(admin);
+        mCrossProfileCalendarPackages = packageNames;
+    }
+
+    /**
+     * Sets the admin as active admin and profile owner.
+     *
+     * @see DevicePolicyManager#getProfileOwner()
+     */
+    public void setProfileOwner(ComponentName admin) {
+        setActiveAdmin(admin);
+        mProfileOwner = admin;
+    }
+
+    private void enforceProfileOwner(ComponentName admin) {
+        if (!admin.equals(mProfileOwner)) {
+            throw new SecurityException("[" + admin + "] is not a profile owner");
+        }
     }
 }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDrawable.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDrawable.java
new file mode 100644
index 0000000..8dac1f1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowDrawable.java
@@ -0,0 +1,31 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(ShadowDrawable.class)
+public class ShadowDrawable extends org.robolectric.shadows.ShadowDrawable {
+    private static int sDefaultIntrinsicWidth = -1;
+    private int mIntrinsicWidth = sDefaultIntrinsicWidth;
+
+    @Implementation
+    public int getIntrinsicWidth() {
+        return mIntrinsicWidth;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputManager.java
index c0f7134..b116292 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInputManager.java
@@ -34,7 +34,7 @@
  * {@link InputManager.InputDeviceListener}s.
  */
 @Implements(value = InputManager.class, callThroughByDefault = false)
-public class ShadowInputManager {
+public class ShadowInputManager extends org.robolectric.shadows.ShadowInputManager {
 
     private List<InputManager.InputDeviceListener> mInputDeviceListeners;
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyStore.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyStore.java
index 098dcfc..99eca0a 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyStore.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowKeyStore.java
@@ -28,7 +28,7 @@
     private static boolean sIsHardwareBacked;
 
     @Resetter
-    public void reset() {
+    public static void reset() {
         sIsHardwareBacked = false;
     }
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
deleted file mode 100644
index f24b295..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.app.admin.DevicePolicyManager;
-import android.app.admin.PasswordMetrics;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.pm.UserInfo;
-import android.os.UserHandle;
-
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.LockscreenCredential;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-@Implements(LockPatternUtils.class)
-public class ShadowLockPatternUtils {
-
-    private static boolean sDeviceEncryptionEnabled;
-    private static Map<Integer, Integer> sUserToActivePasswordQualityMap = new HashMap<>();
-    private static Map<Integer, Integer> sUserToComplexityMap = new HashMap<>();
-    private static Map<Integer, Integer> sUserToProfileComplexityMap = new HashMap<>();
-    private static Map<Integer, PasswordMetrics> sUserToMetricsMap = new HashMap<>();
-    private static Map<Integer, PasswordMetrics> sUserToProfileMetricsMap = new HashMap<>();
-    private static Map<Integer, Boolean> sUserToIsSecureMap = new HashMap<>();
-    private static Map<Integer, Boolean> sUserToPatternEverChosenMap = new HashMap<>();
-    private static Map<Integer, Boolean> sUserToVisiblePatternEnabledMap = new HashMap<>();
-    private static Map<Integer, Boolean> sUserToBiometricAllowedMap = new HashMap<>();
-    private static Map<Integer, Boolean> sUserToLockPatternEnabledMap = new HashMap<>();
-
-    private static boolean sIsUserOwnsFrpCredential;
-
-    @Resetter
-    public static void reset() {
-        sUserToActivePasswordQualityMap.clear();
-        sUserToComplexityMap.clear();
-        sUserToProfileComplexityMap.clear();
-        sUserToMetricsMap.clear();
-        sUserToProfileMetricsMap.clear();
-        sUserToIsSecureMap.clear();
-        sUserToPatternEverChosenMap.clear();
-        sUserToVisiblePatternEnabledMap.clear();
-        sUserToBiometricAllowedMap.clear();
-        sUserToLockPatternEnabledMap.clear();
-        sDeviceEncryptionEnabled = false;
-        sIsUserOwnsFrpCredential = false;
-    }
-
-    @Implementation
-    protected boolean hasSecureLockScreen() {
-        return true;
-    }
-
-    @Implementation
-    protected boolean isSecure(int userId) {
-        Boolean isSecure = sUserToIsSecureMap.get(userId);
-        if (isSecure == null) {
-            return true;
-        }
-        return isSecure;
-    }
-
-    public static void setIsSecure(int userId, boolean isSecure) {
-        sUserToIsSecureMap.put(userId, isSecure);
-    }
-
-    @Implementation
-    protected int getActivePasswordQuality(int userId) {
-        final Integer activePasswordQuality = sUserToActivePasswordQualityMap.get(userId);
-        if (activePasswordQuality == null) {
-            return DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-        }
-        return activePasswordQuality;
-    }
-
-    @Implementation
-    protected int getKeyguardStoredPasswordQuality(int userHandle) {
-        return 1;
-    }
-
-    @Implementation
-    protected static boolean isDeviceEncryptionEnabled() {
-        return sDeviceEncryptionEnabled;
-    }
-
-    @Implementation
-    protected List<ComponentName> getEnabledTrustAgents(int userId) {
-        return null;
-    }
-
-    public static void setDeviceEncryptionEnabled(boolean deviceEncryptionEnabled) {
-        sDeviceEncryptionEnabled = deviceEncryptionEnabled;
-    }
-
-    @Implementation
-    protected byte[] getPasswordHistoryHashFactor(LockscreenCredential currentPassword,
-            int userId) {
-        return null;
-    }
-
-    @Implementation
-    protected boolean checkPasswordHistory(byte[] passwordToCheck, byte[] hashFactor, int userId) {
-        return false;
-    }
-
-    @Implementation
-    public @DevicePolicyManager.PasswordComplexity int getRequestedPasswordComplexity(int userId) {
-        return getRequestedPasswordComplexity(userId, false);
-    }
-
-    @Implementation
-    public @DevicePolicyManager.PasswordComplexity int getRequestedPasswordComplexity(int userId,
-            boolean deviceWideOnly) {
-        int complexity = sUserToComplexityMap.getOrDefault(userId,
-                DevicePolicyManager.PASSWORD_COMPLEXITY_NONE);
-        if (!deviceWideOnly) {
-            complexity = Math.max(complexity, sUserToProfileComplexityMap.getOrDefault(userId,
-                    DevicePolicyManager.PASSWORD_COMPLEXITY_NONE));
-        }
-        return complexity;
-    }
-
-    @Implementation
-    public static boolean userOwnsFrpCredential(Context context, UserInfo info) {
-        return sIsUserOwnsFrpCredential;
-    }
-
-    public static void setUserOwnsFrpCredential(boolean isUserOwnsFrpCredential) {
-        sIsUserOwnsFrpCredential = isUserOwnsFrpCredential;
-    }
-
-    @Implementation
-    public boolean isVisiblePatternEnabled(int userId) {
-        return sUserToVisiblePatternEnabledMap.getOrDefault(userId, false);
-    }
-
-    public static void setIsVisiblePatternEnabled(int userId, boolean isVisiblePatternEnabled) {
-        sUserToVisiblePatternEnabledMap.put(userId, isVisiblePatternEnabled);
-    }
-
-    @Implementation
-    public boolean isPatternEverChosen(int userId) {
-        return sUserToPatternEverChosenMap.getOrDefault(userId, true);
-    }
-
-    public static void setIsPatternEverChosen(int userId, boolean isPatternEverChosen) {
-        sUserToPatternEverChosenMap.put(userId, isPatternEverChosen);
-    }
-
-    @Implementation
-    public boolean isBiometricAllowedForUser(int userId) {
-        return sUserToBiometricAllowedMap.getOrDefault(userId, false);
-    }
-
-    public static void setIsBiometricAllowedForUser(int userId, boolean isBiometricAllowed) {
-        sUserToBiometricAllowedMap.put(userId, isBiometricAllowed);
-    }
-
-    @Implementation
-    public boolean isLockPatternEnabled(int userId) {
-        return sUserToBiometricAllowedMap.getOrDefault(userId, false);
-    }
-
-    public static void setIsLockPatternEnabled(int userId, boolean isLockPatternEnabled) {
-        sUserToLockPatternEnabledMap.put(userId, isLockPatternEnabled);
-    }
-
-    @Implementation
-    public boolean setLockCredential(@NonNull LockscreenCredential newCredential,
-            @NonNull LockscreenCredential savedCredential, int userHandle) {
-        setIsSecure(userHandle, true);
-        return true;
-    }
-
-    @Implementation
-    public boolean checkCredential(@NonNull LockscreenCredential credential, int userId,
-            @Nullable LockPatternUtils.CheckCredentialProgressCallback progressCallback)
-            throws LockPatternUtils.RequestThrottledException {
-        return true;
-    }
-
-    public static void setRequiredPasswordComplexity(int userHandle, int complexity) {
-        sUserToComplexityMap.put(userHandle, complexity);
-    }
-
-    public static void setRequiredPasswordComplexity(int complexity) {
-        sUserToComplexityMap.put(UserHandle.myUserId(), complexity);
-    }
-
-    public static void setRequiredProfilePasswordComplexity(int complexity) {
-        sUserToProfileComplexityMap.put(UserHandle.myUserId(), complexity);
-    }
-
-    @Implementation
-    public PasswordMetrics getRequestedPasswordMetrics(int userId, boolean deviceWideOnly) {
-        PasswordMetrics metrics = sUserToMetricsMap.getOrDefault(userId,
-                new PasswordMetrics(LockPatternUtils.CREDENTIAL_TYPE_NONE));
-        if (!deviceWideOnly) {
-            metrics.maxWith(sUserToProfileMetricsMap.getOrDefault(userId,
-                    new PasswordMetrics(LockPatternUtils.CREDENTIAL_TYPE_NONE)));
-        }
-        return metrics;
-    }
-
-    public static void setRequestedPasswordMetrics(PasswordMetrics metrics) {
-        sUserToMetricsMap.put(UserHandle.myUserId(), metrics);
-    }
-
-    public static void setRequestedProfilePasswordMetrics(PasswordMetrics metrics) {
-        sUserToProfileMetricsMap.put(UserHandle.myUserId(), metrics);
-    }
-
-    public static void setActivePasswordQuality(int quality) {
-        sUserToActivePasswordQualityMap.put(UserHandle.myUserId(), quality);
-    }
-
-    @Implementation
-    public boolean isLockScreenDisabled(int userId) {
-        return false;
-    }
-
-    @Implementation
-    public boolean isSeparateProfileChallengeEnabled(int userHandle) {
-        return false;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNetworkDetailsTracker.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNetworkDetailsTracker.java
deleted file mode 100644
index 5df9ba5..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNetworkDetailsTracker.java
+++ /dev/null
@@ -1,60 +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.testutils.shadow;
-
-import static org.mockito.Mockito.mock;
-
-import android.content.Context;
-import android.net.ConnectivityManager;
-import android.net.NetworkScoreManager;
-import android.net.wifi.WifiManager;
-import android.os.Handler;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.Lifecycle;
-
-import com.android.wifitrackerlib.NetworkDetailsTracker;
-import com.android.wifitrackerlib.WifiEntry;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-import java.time.Clock;
-
-@Implements(NetworkDetailsTracker.class)
-public class ShadowNetworkDetailsTracker {
-
-    @Implementation
-    public static NetworkDetailsTracker createNetworkDetailsTracker(@NonNull Lifecycle lifecycle,
-            @NonNull Context context,
-            @NonNull WifiManager wifiManager,
-            @NonNull ConnectivityManager connectivityManager,
-            @NonNull NetworkScoreManager networkScoreManager,
-            @NonNull Handler mainHandler,
-            @NonNull Handler workerHandler,
-            @NonNull Clock clock,
-            long maxScanAgeMillis,
-            long scanIntervalMillis,
-            String key) {
-        return mock(NetworkDetailsTracker.class);
-    }
-
-    @Implementation
-    public WifiEntry getWifiEntry() {
-        return mock(WifiEntry.class);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationManager.java
index 78fb23f..7d2a7af 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowNotificationManager.java
@@ -27,7 +27,7 @@
 import java.util.Set;
 
 @Implements(NotificationManager.class)
-public class ShadowNotificationManager {
+public class ShadowNotificationManager extends org.robolectric.shadows.ShadowNotificationManager {
 
     private int mZenMode;
     private ZenModeConfig mZenModeConfig;
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowOs.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowOs.java
deleted file mode 100644
index 72dfcb8..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowOs.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import static android.system.OsConstants.AF_INET;
-import static android.system.OsConstants.AF_INET6;
-
-import android.system.Os;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-import java.net.InetAddress;
-import java.net.UnknownHostException;
-import java.util.regex.Pattern;
-
-@Implements(Os.class)
-public class ShadowOs {
-    // These are not actually correct, but good enough for the test
-    private static final Pattern IPV4_PATTERN =
-        Pattern.compile("^\\d{1,3}(\\.\\d{1,3}){3}$");
-    private static final Pattern IPV6_PATTERN =
-        Pattern.compile("^[0-9a-f]{1,4}(:[0-9a-f]{0,4}){0,6}$");
-
-    private static final byte[] IPV4_BYTES = new byte[4];
-    private static final byte[] IPV6_BYTES = new byte[16];
-
-    @Implementation
-    protected static InetAddress inet_pton(int family, String address) {
-        if ((AF_INET  == family && IPV4_PATTERN.matcher(address).find()) ||
-            (AF_INET6 == family && IPV6_PATTERN.matcher(address).find())) {
-            try {
-                return InetAddress.getByAddress((AF_INET == family) ? IPV4_BYTES : IPV6_BYTES);
-            } catch (UnknownHostException uhe) {
-                // Shouldn't be reached.
-            }
-        }
-        return null;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowParcel.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowParcel.java
index 665e415..0a9d20d 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowParcel.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowParcel.java
@@ -9,7 +9,7 @@
  * This class provides helpers to test logic that reads from parcels.
  */
 @Implements(Parcel.class)
-public class ShadowParcel {
+public class ShadowParcel extends org.robolectric.shadows.ShadowParcel {
 
     public static int sReadIntResult;
     public static int sWriteIntResult;
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPermissionControllerManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPermissionControllerManager.java
deleted file mode 100644
index 6a6f710..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPermissionControllerManager.java
+++ /dev/null
@@ -1,45 +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.testutils.shadow;
-
-import android.annotation.CallbackExecutor;
-import android.content.Context;
-import android.os.Handler;
-import android.permission.PermissionControllerManager;
-
-import androidx.annotation.NonNull;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-import java.util.concurrent.Executor;
-
-@Implements(PermissionControllerManager.class)
-public class ShadowPermissionControllerManager {
-
-    protected void __constructor__(Context contexts, Handler handler) {
-        // no nothing, everything is shadowed
-    }
-
-    @Implementation
-    public void getPermissionUsages(boolean countSystem, long numMillis,
-            @NonNull @CallbackExecutor Executor executor,
-            @NonNull PermissionControllerManager.OnPermissionUsageResultCallback callback) {
-
-        // Do nothing
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPersistentDataBlockManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPersistentDataBlockManager.java
new file mode 100644
index 0000000..30ed0d1
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPersistentDataBlockManager.java
@@ -0,0 +1,42 @@
+/*
+ * 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.testutils.shadow;
+
+import android.service.persistentdata.PersistentDataBlockManager;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+@Implements(PersistentDataBlockManager.class)
+public class ShadowPersistentDataBlockManager {
+    private static int sDataBlockSize = 0;
+
+    @Resetter
+    public static void reset() {
+        sDataBlockSize = 0;
+    }
+
+    @Implementation
+    protected int getDataBlockSize() {
+        return sDataBlockSize;
+    }
+
+    public static void setDataBlockSize(int dataBlockSize) {
+        sDataBlockSize = dataBlockSize;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManager.java
deleted file mode 100644
index 9a4993e..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowPowerManager.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.os.PowerManager;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-
-@Implements(PowerManager.class)
-public class ShadowPowerManager {
-
-    @Implementation
-    protected int getMinimumScreenBrightnessSetting() {
-        return 0;
-    }
-
-    @Implementation
-    protected int getMaximumScreenBrightnessSetting() {
-        return 0;
-    }
-
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsInternal.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsInternal.java
index d66aa61..e03134b 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsInternal.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRestrictedLockUtilsInternal.java
@@ -15,9 +15,11 @@
  */
 package com.android.settings.testutils.shadow;
 
+import android.annotation.NonNull;
 import android.annotation.UserIdInt;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
+import android.content.Intent;
 
 import com.android.internal.util.ArrayUtils;
 import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
@@ -38,6 +40,8 @@
     private static DevicePolicyManager sDevicePolicyManager;
     private static String[] sDisabledTypes;
     private static int sKeyguardDisabledFeatures;
+    private static String[] sEcmRestrictedPkgs;
+    private static boolean sAccessibilityServiceRestricted;
 
     @Resetter
     public static void reset() {
@@ -47,10 +51,12 @@
         sDisabledTypes = new String[0];
         sMaximumTimeToLockIsSet = false;
         sMteOverridden = false;
+        sEcmRestrictedPkgs = new String[0];
+        sAccessibilityServiceRestricted = false;
     }
 
     @Implementation
-    protected static EnforcedAdmin checkIfMeteredDataRestricted(Context context,
+    protected static EnforcedAdmin checkIfMeteredDataUsageUserControlDisabled(Context context,
             String packageName, int userId) {
         if (sIsRestricted) {
             return new EnforcedAdmin();
@@ -108,10 +114,35 @@
         return sMteOverridden ? new EnforcedAdmin() : null;
     }
 
+    public static EnforcedAdmin checkIfAccessibilityServiceDisallowed(Context context,
+            String packageName, int userId) {
+        return sAccessibilityServiceRestricted ? new EnforcedAdmin() : null;
+    }
+
+    @Implementation
+    public static Intent checkIfRequiresEnhancedConfirmation(@NonNull Context context,
+            @NonNull String settingIdentifier, @NonNull String packageName) {
+        if (ArrayUtils.contains(sEcmRestrictedPkgs, packageName)) {
+            return new Intent();
+        }
+
+        return null;
+    }
+
+    @Implementation
+    public static boolean isEnhancedConfirmationRestricted(@NonNull Context context,
+            @NonNull String settingIdentifier, @NonNull String packageName) {
+        return false;
+    }
+
     public static void setRestricted(boolean restricted) {
         sIsRestricted = restricted;
     }
 
+    public static void setEcmRestrictedPkgs(String... pkgs) {
+        sEcmRestrictedPkgs = pkgs;
+    }
+
     public static void setRestrictedPkgs(String... pkgs) {
         sRestrictedPkgs = pkgs;
     }
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java
index 1f1e2be..d052340 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowRotationPolicy.java
@@ -30,12 +30,13 @@
     private static boolean rotationSupported = true;
 
     @Implementation
-    protected static void setRotationLock(Context context, final boolean enabled) {
+    protected static void setRotationLock(Context context, final boolean enabled, String caller) {
         rotationLockEnabled = enabled;
     }
 
     @Implementation
-    protected static void setRotationLockForAccessibility(Context context, final boolean enabled) {
+    protected static void setRotationLockForAccessibility(
+            Context context, final boolean enabled, String caller) {
         rotationLockEnabled = enabled;
     }
 
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
index f209942..d773148 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSecureSettings.java
@@ -16,6 +16,8 @@
 
 package com.android.settings.testutils.shadow;
 
+import static android.provider.Settings.DEFAULT_OVERRIDEABLE_BY_RESTORE;
+
 import android.content.ContentResolver;
 import android.provider.Settings;
 
@@ -24,12 +26,13 @@
 
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
+import org.robolectric.shadows.ShadowSettings;
 
 import java.util.Map;
 import java.util.WeakHashMap;
 
 @Implements(Settings.Secure.class)
-public class ShadowSecureSettings {
+public class ShadowSecureSettings extends ShadowSettings.ShadowSecure {
 
     private static final Map<ContentResolver, Table<Integer, String, Object>> sUserDataMap =
         new WeakHashMap<>();
@@ -48,6 +51,16 @@
         }
     }
 
+    /**
+     * Same implementation as Settings.Secure because robolectric.ShadowSettings.ShadowSecure
+     * overrides this API.
+     */
+    @Implementation
+    public static boolean putString(ContentResolver resolver, String name, String value) {
+        return putStringForUser(resolver, name, value, null, false,
+                resolver.getUserId(), DEFAULT_OVERRIDEABLE_BY_RESTORE);
+    }
+
     @Implementation
     public static String getStringForUser(ContentResolver resolver, String name, int userHandle) {
         final Table<Integer, String, Object> userTable = getUserTable(resolver);
@@ -56,6 +69,15 @@
         }
     }
 
+    /**
+     * Same implementation as Settings.Secure because robolectric.ShadowSettings.ShadowSecure
+     * overrides this API.
+     */
+    @Implementation
+    public static boolean putInt(ContentResolver resolver, String name, int value) {
+        return putIntForUser(resolver, name, value, resolver.getUserId());
+    }
+
     @Implementation
     public static boolean putIntForUser(ContentResolver resolver, String name, int value,
         int userHandle) {
@@ -66,6 +88,15 @@
         }
     }
 
+    /**
+     * Same implementation as Settings.Secure because robolectric.ShadowSettings.ShadowSecure
+     * overrides this API.
+     */
+    @Implementation
+    public static int getInt(ContentResolver resolver, String name, int def) {
+        return getIntForUser(resolver, name, def, resolver.getUserId());
+    }
+
     @Implementation
     public static int getIntForUser(ContentResolver resolver, String name, int def,
         int userHandle) {
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowStorageManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowStorageManager.java
index fce0498..8dc3b8f 100644
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowStorageManager.java
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowStorageManager.java
@@ -16,12 +16,13 @@
 
 package com.android.settings.testutils.shadow;
 
-import android.annotation.NonNull;
 import android.os.storage.DiskInfo;
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
 import android.os.storage.VolumeRecord;
 
+import androidx.annotation.NonNull;
+
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.annotation.Resetter;
@@ -30,7 +31,7 @@
 import java.util.List;
 
 @Implements(StorageManager.class)
-public class ShadowStorageManager {
+public class ShadowStorageManager extends org.robolectric.shadows.ShadowStorageManager {
 
     private static boolean sIsUnmountCalled;
     private static boolean sIsForgetCalled;
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSystemSettings.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSystemSettings.java
new file mode 100644
index 0000000..3bb046a
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowSystemSettings.java
@@ -0,0 +1,72 @@
+/*
+ * 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.testutils.shadow;
+
+import static android.os.Build.VERSION_CODES.JELLY_BEAN_MR1;
+
+import android.content.ContentResolver;
+import android.provider.Settings;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+import org.robolectric.shadows.ShadowSettings;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.WeakHashMap;
+
+@Implements(value = Settings.System.class)
+public class ShadowSystemSettings extends ShadowSettings.ShadowSystem {
+    private static final Map<ContentResolver, Map<String, String>> sDataMap = new WeakHashMap<>();
+
+    @Resetter
+    public static void reset() {
+        sDataMap.clear();
+    }
+
+    @Implementation(minSdk = JELLY_BEAN_MR1)
+    protected static boolean putStringForUser(ContentResolver cr, String name, String value,
+            int userHandle) {
+        return putString(cr, name, value);
+    }
+
+    @Implementation(minSdk = JELLY_BEAN_MR1)
+    protected static String getStringForUser(ContentResolver cr, String name, int userHandle) {
+        return getString(cr, name);
+    }
+
+    @Implementation
+    protected static boolean putString(ContentResolver cr, String name, String value) {
+        get(cr).put(name, value);
+        return true;
+    }
+
+    @Implementation
+    protected static String getString(ContentResolver cr, String name) {
+        return get(cr).get(name);
+    }
+
+    private static Map<String, String> get(ContentResolver cr) {
+        Map<String, String> map = sDataMap.get(cr);
+        if (map == null) {
+            map = new HashMap<>();
+            sDataMap.put(cr, map);
+        }
+        return map;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
deleted file mode 100644
index 324a829..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUserManager.java
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright (C) 2016 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.annotation.UserIdInt;
-import android.content.pm.UserInfo;
-import android.os.Bundle;
-import android.os.UserHandle;
-import android.os.UserManager;
-import android.os.UserManager.EnforcingUser;
-
-import com.google.android.collect.Maps;
-
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
-import org.robolectric.shadow.api.Shadow;
-
-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;
-
-@Implements(value = UserManager.class)
-public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager {
-
-    private static boolean sIsSupportsMultipleUsers;
-
-    private static final int PRIMARY_USER_ID = 0;
-
-    private final List<String> mBaseRestrictions = new ArrayList<>();
-    private final Map<String, List<EnforcingUser>> mRestrictionSources = new HashMap<>();
-    private final List<UserInfo> mUserProfileInfos = new ArrayList<>();
-    private final Set<Integer> mManagedProfiles = new HashSet<>();
-    private final Set<String> mEnabledTypes = new HashSet<>();
-    private boolean mIsQuietModeEnabled = false;
-    private int[] profileIdsForUser = new int[0];
-    private boolean mUserSwitchEnabled;
-    private Bundle mDefaultGuestUserRestriction = new Bundle();
-    private boolean mIsGuestUser = false;
-
-    private @UserManager.UserSwitchabilityResult int mSwitchabilityStatus =
-            UserManager.SWITCHABILITY_STATUS_OK;
-    private final Map<Integer, Integer> mSameProfileGroupIds = Maps.newHashMap();
-
-    public void addProfile(UserInfo userInfo) {
-        mUserProfileInfos.add(userInfo);
-    }
-
-    @Resetter
-    public static void reset() {
-        sIsSupportsMultipleUsers = false;
-    }
-
-    @Implementation
-    protected List<UserInfo> getProfiles(@UserIdInt int userHandle) {
-        return mUserProfileInfos;
-    }
-
-    @Implementation
-    protected int[] getProfileIds(@UserIdInt int userHandle, boolean enabledOnly) {
-        int[] ids = new int[mUserProfileInfos.size()];
-        for (int i = 0; i < mUserProfileInfos.size(); i++) {
-            ids[i] = mUserProfileInfos.get(i).id;
-        }
-        return ids;
-    }
-
-    @Implementation
-    protected int getCredentialOwnerProfile(@UserIdInt int userHandle) {
-        return userHandle;
-    }
-
-    @Implementation
-    protected boolean hasBaseUserRestriction(String restrictionKey, UserHandle userHandle) {
-        return mBaseRestrictions.contains(restrictionKey);
-    }
-
-    public void addBaseUserRestriction(String restriction) {
-        mBaseRestrictions.add(restriction);
-    }
-
-    @Implementation
-    protected Bundle getDefaultGuestRestrictions() {
-        return mDefaultGuestUserRestriction;
-    }
-
-    @Implementation
-    protected void setDefaultGuestRestrictions(Bundle restrictions) {
-        mDefaultGuestUserRestriction = restrictions;
-    }
-
-    public void addGuestUserRestriction(String restriction) {
-        mDefaultGuestUserRestriction.putBoolean(restriction, true);
-    }
-
-    public boolean hasGuestUserRestriction(String restriction, boolean expectedValue) {
-        return mDefaultGuestUserRestriction.containsKey(restriction)
-                && mDefaultGuestUserRestriction.getBoolean(restriction) == expectedValue;
-    }
-
-
-    @Implementation
-    protected boolean hasUserRestriction(String restrictionKey) {
-        return hasUserRestriction(restrictionKey, UserHandle.of(UserHandle.myUserId()));
-    }
-
-    public static ShadowUserManager getShadow() {
-        return (ShadowUserManager) Shadow.extract(
-                RuntimeEnvironment.application.getSystemService(UserManager.class));
-    }
-
-    @Implementation
-    protected List<EnforcingUser> getUserRestrictionSources(
-            String restrictionKey, UserHandle userHandle) {
-        // Return empty list when there is no enforcing user, otherwise might trigger
-        // NullPointer Exception in RestrictedLockUtils.checkIfRestrictionEnforced.
-        List<EnforcingUser> enforcingUsers =
-                mRestrictionSources.get(restrictionKey + userHandle.getIdentifier());
-        return enforcingUsers == null ? Collections.emptyList() : enforcingUsers;
-    }
-
-    public void setUserRestrictionSources(
-            String restrictionKey, UserHandle userHandle, List<EnforcingUser> enforcers) {
-        mRestrictionSources.put(restrictionKey + userHandle.getIdentifier(), enforcers);
-    }
-
-    @Implementation
-    protected boolean isQuietModeEnabled(UserHandle userHandle) {
-        return mIsQuietModeEnabled;
-    }
-
-    public void setQuietModeEnabled(boolean enabled) {
-        mIsQuietModeEnabled = enabled;
-    }
-
-    @Implementation
-    protected int[] getProfileIdsWithDisabled(@UserIdInt int userId) {
-        return profileIdsForUser;
-    }
-
-    public void setProfileIdsWithDisabled(int[] profileIds) {
-        profileIdsForUser = profileIds;
-    }
-
-    @Implementation
-    protected boolean isUserSwitcherEnabled() {
-        return mUserSwitchEnabled;
-    }
-
-    @Implementation
-    protected boolean isManagedProfile(int userId) {
-        return mManagedProfiles.contains(userId);
-    }
-
-    public void setManagedProfiles(Set<Integer> profileIds) {
-        mManagedProfiles.clear();
-        mManagedProfiles.addAll(profileIds);
-    }
-
-    public void setUserSwitcherEnabled(boolean userSwitchEnabled) {
-        mUserSwitchEnabled = userSwitchEnabled;
-    }
-
-    @Implementation
-    protected static boolean supportsMultipleUsers() {
-        return sIsSupportsMultipleUsers;
-    }
-
-    @Implementation
-    protected boolean isSameProfileGroup(@UserIdInt int userId, int otherUserId) {
-        return mSameProfileGroupIds.containsKey(userId)
-                && mSameProfileGroupIds.get(userId) == otherUserId
-                || mSameProfileGroupIds.containsKey(otherUserId)
-                && mSameProfileGroupIds.get(otherUserId) == userId;
-    }
-
-    public Map<Integer, Integer> getSameProfileGroupIds() {
-        return mSameProfileGroupIds;
-    }
-
-    public void setSupportsMultipleUsers(boolean supports) {
-        sIsSupportsMultipleUsers = supports;
-    }
-
-    @Implementation
-    protected UserInfo getUserInfo(@UserIdInt int userId) {
-        return mUserProfileInfos.stream()
-                .filter(userInfo -> userInfo.id == userId)
-                .findFirst()
-                .orElse(super.getUserInfo(userId));
-    }
-
-    @Implementation
-    protected @UserManager.UserSwitchabilityResult int getUserSwitchability() {
-        return mSwitchabilityStatus;
-    }
-
-    public void setSwitchabilityStatus(@UserManager.UserSwitchabilityResult int newStatus) {
-        mSwitchabilityStatus = newStatus;
-    }
-
-    @Implementation
-    protected boolean isUserTypeEnabled(String userType) {
-        return mEnabledTypes.contains(userType);
-    }
-
-    public void setUserTypeEnabled(String type, boolean enabled) {
-        if (enabled) {
-            mEnabledTypes.add(type);
-        } else {
-            mEnabledTypes.remove(type);
-        }
-    }
-
-    @Implementation
-    protected UserInfo getPrimaryUser() {
-        return new UserInfo(PRIMARY_USER_ID, null, null,
-                UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN | UserInfo.FLAG_PRIMARY);
-    }
-
-    protected boolean setUserEphemeral(@UserIdInt int userId, boolean enableEphemeral) {
-        UserInfo userInfo = mUserProfileInfos.stream()
-                .filter(user -> user.id == userId)
-                .findFirst()
-                .orElse(super.getUserInfo(userId));
-
-        boolean isSuccess = false;
-        boolean isEphemeralUser =
-                        (userInfo.flags & UserInfo.FLAG_EPHEMERAL) != 0;
-        boolean isEphemeralOnCreateUser =
-                (userInfo.flags & UserInfo.FLAG_EPHEMERAL_ON_CREATE)
-                    != 0;
-        // when user is created in ephemeral mode via FLAG_EPHEMERAL
-        // its state cannot be changed.
-        // FLAG_EPHEMERAL_ON_CREATE is used to keep track of this state
-        if (!isEphemeralOnCreateUser) {
-            isSuccess = true;
-            if (isEphemeralUser != enableEphemeral) {
-                if (enableEphemeral) {
-                    userInfo.flags |= UserInfo.FLAG_EPHEMERAL;
-                } else {
-                    userInfo.flags &= ~UserInfo.FLAG_EPHEMERAL;
-                }
-            }
-        }
-        return isSuccess;
-    }
-
-    @Implementation
-    protected void setUserAdmin(@UserIdInt int userId) {
-        for (int i = 0; i < mUserProfileInfos.size(); i++) {
-            mUserProfileInfos.get(i).flags |= UserInfo.FLAG_ADMIN;
-        }
-    }
-
-    @Implementation
-    protected boolean isGuestUser() {
-        return mIsGuestUser;
-    }
-
-    public void setGuestUser(boolean isGuestUser) {
-        mIsGuestUser = isGuestUser;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java
deleted file mode 100644
index ea57bf7..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiManager.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import static org.robolectric.RuntimeEnvironment.application;
-
-import android.net.wifi.ScanResult;
-import android.net.wifi.SoftApConfiguration;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
-import android.net.wifi.hotspot2.PasspointConfiguration;
-
-import org.robolectric.annotation.HiddenApi;
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.shadow.api.Shadow;
-
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
-
-@Implements(value = WifiManager.class)
-public class ShadowWifiManager extends org.robolectric.shadows.ShadowWifiManager {
-
-    private List<PasspointConfiguration> mPasspointConfiguration;
-
-    public WifiConfiguration savedWifiConfig;
-    private SoftApConfiguration mSavedApConfig;
-
-    @Implementation
-    protected SoftApConfiguration getSoftApConfiguration() {
-        return mSavedApConfig;
-    }
-
-    @Implementation
-    protected boolean setSoftApConfiguration(SoftApConfiguration softApConfig) {
-        mSavedApConfig = softApConfig;
-        return true;
-    }
-
-    @HiddenApi // @SystemApi
-    @Implementation
-    protected void connect(WifiConfiguration config, WifiManager.ActionListener listener) {
-        savedWifiConfig = config;
-    }
-
-    @HiddenApi
-    @Implementation
-    protected void save(WifiConfiguration config, WifiManager.ActionListener listener) {
-        savedWifiConfig = config;
-    }
-
-    @Implementation
-    protected List<PasspointConfiguration> getPasspointConfigurations() {
-        return mPasspointConfiguration == null ? Collections.emptyList() : mPasspointConfiguration;
-    }
-
-    @Implementation
-    protected void addOrUpdatePasspointConfiguration(PasspointConfiguration config) {
-        if (mPasspointConfiguration == null) {
-            mPasspointConfiguration = new ArrayList<>();
-        }
-        mPasspointConfiguration.add(config);
-    }
-
-    @Implementation
-    protected boolean isDualModeSupported() {
-        return false;
-    }
-
-    @Implementation
-    protected List<ScanResult> getScanResults() {
-        return new ArrayList<ScanResult>();
-    }
-
-    public static ShadowWifiManager get() {
-        return Shadow.extract(application.getSystemService(WifiManager.class));
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiP2pManager.java b/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiP2pManager.java
deleted file mode 100644
index 2fd8f6b..0000000
--- a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowWifiP2pManager.java
+++ /dev/null
@@ -1,55 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.testutils.shadow;
-
-import android.net.wifi.p2p.WifiP2pManager;
-
-import org.robolectric.annotation.Implementation;
-import org.robolectric.annotation.Implements;
-import org.robolectric.annotation.Resetter;
-
-/**
- * Shadow class for WifiP2pManager.
- */
-@Implements(value = WifiP2pManager.class)
-public class ShadowWifiP2pManager extends org.robolectric.shadows.ShadowWifiP2pManager {
-
-    private static int sFactoryResetCount;
-
-    @Implementation
-    protected void factoryReset(WifiP2pManager.Channel c, WifiP2pManager.ActionListener listener) {
-        if (c != null) {
-            sFactoryResetCount++;
-        } else {
-            throw new IllegalArgumentException("channel must be non-null.");
-        }
-    }
-
-    @Resetter
-    public static void reset() {
-        sFactoryResetCount = 0;
-    }
-
-    /**
-     * Return the count of factoryReset called.
-     *
-     * @return the count of factoryReset called.
-     */
-    public static int getFactoryResetCount() {
-        return sFactoryResetCount;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/theme/ContrastPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/theme/ContrastPreferenceControllerTest.java
index 8f78df9..d74b6df 100644
--- a/tests/robotests/src/com/android/settings/theme/ContrastPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/theme/ContrastPreferenceControllerTest.java
@@ -74,7 +74,7 @@
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
+    @Ignore("b/313614100")
     @Test
     public void testHandlePreferenceTreeClick() {
         Preference preference = new Preference(mContext);
diff --git a/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java b/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java
index 00b8e86..1cb188c 100644
--- a/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/tts/TtsEnginePreferenceFragmentTest.java
@@ -24,6 +24,7 @@
 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;
@@ -31,6 +32,7 @@
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
 import android.os.Bundle;
+import android.os.Looper;
 import android.speech.tts.TextToSpeech;
 import android.speech.tts.TtsEngines;
 
@@ -43,6 +45,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
+import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowPackageManager;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
@@ -50,12 +53,15 @@
 @RunWith(RobolectricTestRunner.class)
 public class TtsEnginePreferenceFragmentTest {
 
+    @Implements(TextToSpeech.class)
+    public static class NoOpShadowTextToSpeech {}
+
     private Context mContext;
     private TtsEnginePreferenceFragment mTtsEnginePreferenceFragment;
 
     @Before
     public void setUp() {
-        mContext = RuntimeEnvironment.application;
+        mContext = RuntimeEnvironment.systemContext;
 
         final ResolveInfo info = new ResolveInfo();
         final ServiceInfo serviceInfo = spy(new ServiceInfo());
@@ -76,17 +82,19 @@
     }
 
     @Test
+    @Config(shadows = {NoOpShadowTextToSpeech.class})
     public void getCandidates_AddEngines_returnCorrectEngines() {
         mTtsEnginePreferenceFragment = FragmentController.of(new TtsEnginePreferenceFragment(),
                 new Bundle())
                 .create()
                 .get();
+        shadowOf(Looper.getMainLooper()).idle();
 
         assertThat(mTtsEnginePreferenceFragment.getCandidates().size()).isEqualTo(1);
     }
 
     @Test
-    @Config(shadows = {ShadowTtsEngines.class})
+    @Config(shadows = {ShadowTtsEngines.class, NoOpShadowTextToSpeech.class})
     public void getDefaultKey_validKey_returnCorrectKey() {
         final String TEST_ENGINE = "test_engine";
         final TtsEngines engine = mock(TtsEngines.class);
@@ -95,13 +103,14 @@
                 new Bundle())
                 .create()
                 .get();
+        shadowOf(Looper.getMainLooper()).idle();
         when(engine.getDefaultEngine()).thenReturn(TEST_ENGINE);
 
         assertThat(mTtsEnginePreferenceFragment.getDefaultKey()).isEqualTo(TEST_ENGINE);
     }
 
     @Test
-    @Config(shadows = {ShadowTtsEngines.class})
+    @Config(shadows = {ShadowTtsEngines.class, NoOpShadowTextToSpeech.class})
     public void setDefaultKey_validKey_callingTtsEngineFunction() {
         final TtsEngines engine = mock(TtsEngines.class);
         ShadowTtsEngines.setInstance(engine);
@@ -109,6 +118,7 @@
                 new Bundle())
                 .create()
                 .get();
+        shadowOf(Looper.getMainLooper()).idle();
 
         mTtsEnginePreferenceFragment.setDefaultKey(mContext.getPackageName());
 
@@ -116,14 +126,17 @@
     }
 
     @Test
+    @Config(shadows = {NoOpShadowTextToSpeech.class})
     public void setDefaultKey_validKey_updateCheckedState() {
-        mTtsEnginePreferenceFragment = spy(FragmentController.of(new TtsEnginePreferenceFragment(),
+        mTtsEnginePreferenceFragment = FragmentController.of(new TtsEnginePreferenceFragment(),
                 new Bundle())
                 .create()
-                .get());
+                .get();
+        shadowOf(Looper.getMainLooper()).idle();
+        TtsEnginePreferenceFragment fragmentSpy = spy(mTtsEnginePreferenceFragment);
 
-        mTtsEnginePreferenceFragment.setDefaultKey(mContext.getPackageName());
+        fragmentSpy.setDefaultKey(mContext.getPackageName());
 
-        verify(mTtsEnginePreferenceFragment).updateCheckedState(mContext.getPackageName());
+        verify(fragmentSpy).updateCheckedState(mContext.getPackageName());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/users/MultiUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/MultiUserPreferenceControllerTest.java
new file mode 100644
index 0000000..fd73eab
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/users/MultiUserPreferenceControllerTest.java
@@ -0,0 +1,71 @@
+/*
+ * 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.users;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+
+import com.android.settings.core.BasePreferenceController;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
+
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUserManager.class})
+public class MultiUserPreferenceControllerTest {
+
+    private Context mContext;
+    private ShadowUserManager mUserManager;
+    private MultiUserPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+        mUserManager = ShadowUserManager.getShadow();
+        mController = new MultiUserPreferenceController(mContext, "test_key");
+    }
+
+    @After
+    public void tearDown() {
+        ShadowUserManager.reset();
+    }
+
+    @Test
+    public void getAvailabilityStatus_multiuserEnabled_shouldReturnAvailable() {
+        mUserManager.setSupportsMultipleUsers(true);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.AVAILABLE);
+    }
+
+    @Test
+    public void getAvailabilityStatus_multiuserDisabled_shouldReturnNotAvailable() {
+        mUserManager.setSupportsMultipleUsers(false);
+
+        assertThat(mController.getAvailabilityStatus())
+                .isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java
index 718e01b..1cfb3f6 100644
--- a/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/MultiUserSwitchBarControllerTest.java
@@ -17,8 +17,8 @@
 package com.android.settings.users;
 
 import static org.mockito.ArgumentMatchers.any;
+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.content.Context;
@@ -26,8 +26,7 @@
 import android.os.UserManager;
 
 import com.android.settings.testutils.shadow.ShadowUserManager;
-import com.android.settings.widget.SwitchBar;
-import com.android.settings.widget.SwitchBarController;
+import com.android.settings.widget.SwitchWidgetController;
 
 import org.junit.After;
 import org.junit.Before;
@@ -43,14 +42,14 @@
 
     private Context mContext;
     private ShadowUserManager mUserManager;
-    private SwitchBarController mSwitchBarController;
+    private SwitchWidgetController mSwitchWidgetController;
 
 
     @Before
     public void setUp() {
         mContext = RuntimeEnvironment.application;
         mUserManager = ShadowUserManager.getShadow();
-        mSwitchBarController = spy(new SwitchBarController(new SwitchBar(mContext)));
+        mSwitchWidgetController = mock(SwitchWidgetController.class);
         mUserManager.setSupportsMultipleUsers(true);
     }
 
@@ -65,9 +64,9 @@
                 UserManager.DISALLOW_USER_SWITCH, true);
 
         final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext,
-                mSwitchBarController, null);
+                mSwitchWidgetController, null);
 
-        verify(mSwitchBarController).setDisabledByAdmin(any());
+        verify(mSwitchWidgetController).setDisabledByAdmin(any());
     }
 
     @Test
@@ -76,8 +75,8 @@
                 UserManager.DISALLOW_USER_SWITCH, false);
 
         final MultiUserSwitchBarController controller = new MultiUserSwitchBarController(mContext,
-                mSwitchBarController, null);
+                mSwitchWidgetController, null);
 
-        verify(mSwitchBarController, never()).setDisabledByAdmin(any());
+        verify(mSwitchWidgetController, never()).setDisabledByAdmin(any());
     }
 }
diff --git a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
index 92bdc6d..7bc66c8 100644
--- a/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/users/TimeoutToDockUserPreferenceControllerTest.java
@@ -33,7 +33,6 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
-import com.android.settings.Utils;
 import com.android.settings.core.BasePreferenceController;
 import com.android.settings.fuelgauge.BatteryBackupHelperTest.ShadowUserHandle;
 import com.android.settings.testutils.shadow.ShadowSecureSettings;
@@ -127,19 +126,20 @@
                 BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
     }
 
-    @Ignore
+    @Ignore("b/313530297")
     @Test
     public void getAvailabilityStatus_isCurrentlyMainUser_returnDisabledForUser() {
-        when(Utils.canCurrentUserDream(mContext)).thenReturn(true);
+        when(mUserManager.getMainUser()).thenReturn(UserHandle.CURRENT);
+        when(mUserManager.isUserForeground()).thenReturn(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.DISABLED_FOR_USER);
     }
 
-    @Ignore
+    @Ignore("b/313530297")
     @Test
     public void getAvailabilityStatus_featureAndMultiUserEnabledAndNonMainUser_returnAvailable() {
-        when(Utils.canCurrentUserDream(mContext)).thenReturn(false);
+        when(mUserManager.isUserForeground()).thenReturn(true);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
                 BasePreferenceController.AVAILABLE);
diff --git a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
index ca3521b..874b978 100644
--- a/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserDetailsSettingsTest.java
@@ -82,6 +82,7 @@
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {
         ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
         ShadowDevicePolicyManager.class
 })
 public class UserDetailsSettingsTest {
@@ -264,6 +265,7 @@
         verify(mSwitchUserPref).setEnabled(false);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_adminWithTelephony_shouldShowPhonePreference() {
         setupSelectedUser();
@@ -309,6 +311,7 @@
         verify(mFragment).removePreference(KEY_APP_AND_CONTENT_ACCESS);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsSecondaryUser_shouldShowRemovePreference() {
         setupSelectedUser();
@@ -321,6 +324,7 @@
         verify(mFragment, never()).removePreference(KEY_REMOVE_USER);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsNewRestrictedUser_shouldOpenAppContentScreen() {
         setupSelectedRestrictedUser();
@@ -343,6 +347,7 @@
                 .isEqualTo(true);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsRestrictedUser_shouldSetupPreferences() {
         setupSelectedRestrictedUser();
@@ -372,6 +377,7 @@
         verify(mActivity, never()).startActivity(any(Intent.class));
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_adminSelectsGuest_shouldShowRemovePreference() {
         setupSelectedGuest();
@@ -415,6 +421,7 @@
         verify(mFragment).removePreference(KEY_REMOVE_USER);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_userHasCallRestriction_shouldSetPhoneSwitchUnChecked() {
         setupSelectedUser();
@@ -427,6 +434,7 @@
         verify(mPhonePref).setChecked(false);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_noCallRestriction_shouldSetPhoneSwitchChecked() {
         setupSelectedUser();
@@ -525,6 +533,7 @@
         verify(mFragment, never()).switchUser();
     }
 
+    @Ignore("b/313530297")
     @Test
     public void onPreferenceClick_removeGuestClicked_canDelete_shouldShowDialog() {
         setupSelectedGuest();
@@ -542,6 +551,7 @@
         verify(mFragment).showDialog(DIALOG_CONFIRM_RESET_GUEST);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void onPreferenceClick_removeRestrictedClicked_canDelete_shouldShowDialog() {
         setupSelectedRestrictedUser();
@@ -560,6 +570,7 @@
         verify(mFragment).showDialog(DIALOG_CONFIRM_REMOVE);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void onPreferenceClick_removeClicked_canDelete_shouldShowDialog() {
         setupSelectedUser();
@@ -651,6 +662,7 @@
         assertThat(result).isFalse();
     }
 
+    @Ignore("b/313530297")
     @Test
     public void canDeleteUser_adminSelectsUser_noRestrictions_shouldReturnTrue() {
         setupSelectedUser();
@@ -662,7 +674,6 @@
         assertThat(result).isTrue();
     }
 
-    @Ignore
     @Test
     public void canDeleteUser_adminSelectsUser_hasRemoveRestriction_shouldReturnFalse() {
         setupSelectedUser();
@@ -685,6 +696,7 @@
         assertThat(result).isFalse();
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_userSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedUser();
@@ -694,6 +706,7 @@
         verify(mFragment, never()).removePreference(KEY_GRANT_ADMIN);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_userSelected_shouldNotShowGrantAdminPref() {
         setupSelectedUser();
@@ -701,6 +714,7 @@
         verify(mFragment).removePreference(KEY_GRANT_ADMIN);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_restrictUserSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedUser();
@@ -711,6 +725,7 @@
         verify(mFragment).removePreference(KEY_GRANT_ADMIN);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_mainUserSelected_shouldShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedMainUser();
@@ -719,6 +734,7 @@
         verify(mFragment).removePreference(KEY_GRANT_ADMIN);
     }
 
+    @Ignore("b/313530297")
     @Test
     public void initialize_guestSelected_shouldNotShowGrantAdminPref_MultipleAdminEnabled() {
         setupSelectedGuest();
diff --git a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
index 9d818aa..a399e17 100644
--- a/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/users/UserSettingsTest.java
@@ -47,6 +47,7 @@
 import android.graphics.Bitmap;
 import android.graphics.drawable.Drawable;
 import android.os.Bundle;
+import android.os.Looper;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
@@ -97,6 +98,7 @@
         ShadowUserManager.class,
         ShadowDevicePolicyManager.class,
         SettingsShadowResources.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
 })
 public class UserSettingsTest {
 
@@ -211,7 +213,7 @@
     public void testGetRawDataToIndex_returnAllIndexablePreferences() {
         String[] expectedKeys = {KEY_ALLOW_MULTIPLE_USERS};
         List<String> keysResultList = new ArrayList<>();
-
+        ShadowUserManager.getShadow().setSupportsMultipleUsers(true);
         List<SearchIndexableRaw> rawData =
                 UserSettings.SEARCH_INDEX_DATA_PROVIDER.getRawDataToIndex(mContext, true);
 
@@ -261,7 +263,6 @@
                 eq(SettingsEnums.ACTION_USER_GUEST_EXIT_CONFIRMED));
     }
 
-    @Ignore
     @Test
     public void withDisallowRemoveUser_ShouldDisableRemoveUser() {
         // TODO(b/115781615): Tidy robolectric tests
@@ -709,6 +710,7 @@
         verify(mUserManager).getAliveUsers();
     }
 
+    @Ignore
     @Test
     public void updateUserList_userIconMissing_shouldLoadIcon() {
         UserInfo currentUser = getAdminUser(true);
@@ -720,6 +722,7 @@
         doReturn(userIcon).when(mUserManager).getUserIcon(ACTIVE_USER_ID);
 
         mFragment.updateUserList();
+        shadowOf(Looper.getMainLooper()).idle();
 
         verify(mUserManager).getUserIcon(ACTIVE_USER_ID);
         // updateUserList should be called another time after loading the icons
diff --git a/tests/robotests/src/com/android/settings/utils/ActivityControllerWrapper.java b/tests/robotests/src/com/android/settings/utils/ActivityControllerWrapper.java
deleted file mode 100644
index 6ebbc65..0000000
--- a/tests/robotests/src/com/android/settings/utils/ActivityControllerWrapper.java
+++ /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.utils;
-
-import android.os.Bundle;
-
-import org.robolectric.android.controller.ActivityController;
-
-/*
- * b/275023433
- * This class is a workaround for Robolectric, in order to re-enable presubmit
- * We don't use ActivityController#visible() to avoid test crash
- */
-public class ActivityControllerWrapper {
-
-    private static final boolean ENABLE_WORKAROUND = true;
-
-
-    public static ActivityController setup(ActivityController controller) {
-        if (ENABLE_WORKAROUND) {
-            return controller.create().start().postCreate(null).resume();
-        } else {
-            return controller.setup();
-        }
-    }
-
-    public static ActivityController setup(ActivityController controller, Bundle savedState) {
-        return controller.create(savedState)
-                .start()
-                .restoreInstanceState(savedState)
-                .postCreate(savedState)
-                .resume();
-    }
-
-}
diff --git a/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java b/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java
index 2b81f16..b13ec6a 100644
--- a/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/vpn2/AppDialogFragmentTest.java
@@ -29,8 +29,13 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
+
 public class AppDialogFragmentTest {
 
     @Mock
diff --git a/tests/robotests/src/com/android/settings/wallpaper/FallbackHomeActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/FallbackHomeActivityTest.java
index b89f4b3..0c2583f 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/FallbackHomeActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/FallbackHomeActivityTest.java
@@ -18,8 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.annotation.NonNull;
-import android.annotation.Nullable;
 import android.app.Application;
 import android.app.WallpaperColors;
 import android.app.WallpaperManager;
@@ -27,9 +25,13 @@
 import android.content.Context;
 import android.os.Handler;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import com.android.settings.FallbackHome;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -42,10 +44,10 @@
 import org.robolectric.annotation.Implementation;
 import org.robolectric.annotation.Implements;
 import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowApplication;
 
 import java.util.ArrayList;
 import java.util.List;
-import org.robolectric.shadows.ShadowApplication;
 
 @RunWith(RobolectricTestRunner.class)
 public class FallbackHomeActivityTest {
@@ -64,6 +66,7 @@
         mController = Robolectric.buildActivity(FallbackHome.class);
     }
 
+    @Ignore("b/315124270")
     @Test
     @Config(shadows = ShadowWallpaperManager.class)
     public void wallpaperColorsChangedListener_ensured_removed() {
diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
index ed63cc0..1fff406 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperSuggestionActivityTest.java
@@ -27,12 +27,11 @@
 import android.content.Intent;
 import android.content.res.Resources;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import com.google.android.setupcompat.util.WizardManagerHelper;
 
 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;
@@ -102,6 +101,7 @@
                 .isTrue();
     }
 
+    @Ignore("b/315124270")
     @Test
     public void addExtras_intentFromSetupWizard_extrasHasWallpaperOnlyAndLaunchedSuw() {
         WallpaperSuggestionActivity activity =
@@ -119,15 +119,13 @@
                 .isEqualTo("app_launched_suw");
     }
 
+    @Ignore("b/315124270")
     @Test
     public void addExtras_intentNotFromSetupWizard_extrasHasFocusWallpaper() {
-        WallpaperSuggestionActivity activity =
-                (WallpaperSuggestionActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WallpaperSuggestionActivity.class,
-                        new Intent(Intent.ACTION_MAIN).setComponent(
+        WallpaperSuggestionActivity activity = Robolectric.buildActivity(
+                WallpaperSuggestionActivity.class, new Intent(Intent.ACTION_MAIN).setComponent(
                         new ComponentName(RuntimeEnvironment.application,
-                                PACKAGE_WALLPAPER_ACTIVITY)))).get();
-
+                                PACKAGE_WALLPAPER_ACTIVITY))).setup().get();
         Intent intent = Shadows.shadowOf(activity).getNextStartedActivity();
 
         assertThat(intent).isNotNull();
diff --git a/tests/robotests/src/com/android/settings/wallpaper/WallpaperTypePreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wallpaper/WallpaperTypePreferenceControllerTest.java
index fc6df9c..c88b263 100644
--- a/tests/robotests/src/com/android/settings/wallpaper/WallpaperTypePreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wallpaper/WallpaperTypePreferenceControllerTest.java
@@ -25,9 +25,9 @@
 import androidx.preference.Preference;
 
 import com.android.settings.core.BasePreferenceController;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -45,19 +45,20 @@
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mContext = (Activity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(Activity.class)).get();
+        mContext = Robolectric.setupActivity(Activity.class);
         mController = new WallpaperTypePreferenceController(mContext, "pref_key");
         mIntent = new Intent();
         mPreference = new Preference(mContext);
     }
 
+    @Ignore("b/315124270")
     @Test
     public void getAvailabilityStatus_byDefault_shouldBeShown() {
         assertThat(mController.getAvailabilityStatus())
                 .isEqualTo(BasePreferenceController.AVAILABLE);
     }
 
+    @Ignore("b/315124270")
     @Test
     public void testHandlePreferenceTreeClick_intentNull_shouldDoNothing() {
         mPreference.setIntent(null);
@@ -67,6 +68,7 @@
         assertThat(handled).isFalse();
     }
 
+    @Ignore("b/315124270")
     @Test
     public void testHandlePreferenceTreeClick_shouldLaunchIntent() {
         mPreference.setIntent(mIntent);
diff --git a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
index 9d7fbae..d35b608 100644
--- a/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
+++ b/tests/robotests/src/com/android/settings/webview/WebViewAppPickerTest.java
@@ -41,12 +41,14 @@
 
 import androidx.fragment.app.FragmentActivity;
 
+import com.android.settings.testutils.shadow.ShadowUserManager;
 import com.android.settingslib.applications.DefaultAppInfo;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 import com.android.settingslib.widget.SelectorWithWidgetPreference;
 
 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;
@@ -54,15 +56,19 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadow.api.Shadow;
 import org.robolectric.shadows.ShadowPackageManager;
-import org.robolectric.shadows.ShadowUserManager;
 import org.robolectric.util.ReflectionHelpers;
 
 import java.util.Arrays;
 import java.util.Collections;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        ShadowUserManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class WebViewAppPickerTest {
 
     private final static String PACKAGE_NAME = "com.example.test";
@@ -202,6 +208,7 @@
         verify(mActivity, times(1)).finish();
     }
 
+    @Ignore("b/313615637")
     @Test
     public void testNotFinishedIfAdmin() {
         mUserManager.setIsAdminUser(true);
diff --git a/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java
index 6340b16..9c4e080 100644
--- a/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/AppCheckBoxPreferenceTest.java
@@ -24,8 +24,6 @@
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -46,20 +44,24 @@
         mPreference = new AppCheckBoxPreference(mContext);
         mAttrPreference = new AppCheckBoxPreference(mContext, null /* attrs */);
         mPreferenceViewHolder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_app, null));
+                LayoutInflater.from(mContext)
+                        .inflate(com.android.settingslib.widget.preference.app.R.layout.preference_app, null));
     }
 
     @Test
     public void testGetLayoutResource() {
-        assertThat(mPreference.getLayoutResource()).isEqualTo(R.layout.preference_app);
-        assertThat(mAttrPreference.getLayoutResource()).isEqualTo(R.layout.preference_app);
+        assertThat(mPreference.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.preference.app.R.layout.preference_app);
+        assertThat(mAttrPreference.getLayoutResource())
+                .isEqualTo(com.android.settingslib.widget.preference.app.R.layout.preference_app);
     }
 
     @Test
     public void onBindViewHolder_appendixGone() {
         mPreference.onBindViewHolder(mPreferenceViewHolder);
 
-        assertThat(mPreferenceViewHolder.findViewById(R.id.appendix).getVisibility())
-                .isEqualTo(View.GONE);
+        View appendix =
+                mPreferenceViewHolder.findViewById(com.android.settingslib.widget.preference.app.R.id.appendix);
+        assertThat(appendix.getVisibility()).isEqualTo(View.GONE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java
deleted file mode 100644
index e26643f..0000000
--- a/tests/robotests/src/com/android/settings/widget/CardPreferenceTest.java
+++ /dev/null
@@ -1,344 +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
- *Visibility_setGoneForPrimaryButton_buttonGroupIsGone
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import static android.view.View.GONE;
-import static android.view.View.VISIBLE;
-
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import android.content.Context;
-import android.view.View;
-import android.widget.Button;
-
-import androidx.preference.PreferenceViewHolder;
-import androidx.test.core.app.ApplicationProvider;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.RobolectricTestRunner;
-
-@RunWith(RobolectricTestRunner.class)
-public class CardPreferenceTest {
-
-    private CardPreference mCardPreference;
-    private PreferenceViewHolder mHolder;
-
-    @Before
-    public void setUp() {
-        Context context = ApplicationProvider.getApplicationContext();
-        context.setTheme(R.style.Theme_Settings);
-        mCardPreference = new CardPreference(context);
-
-        mHolder = PreferenceViewHolder.createInstanceForTests(
-                View.inflate(context, R.layout.card_preference_layout, /* parent= */ null));
-    }
-
-    @Test
-    public void newACardPreference_layoutResourceShouldBeCardPreferenceLayout() {
-        Context context = ApplicationProvider.getApplicationContext();
-        context.setTheme(R.style.SettingsPreferenceTheme);
-
-        CardPreference cardPreference = new CardPreference(context);
-
-        assertThat(cardPreference.getLayoutResource()).isEqualTo(R.layout.card_preference_layout);
-    }
-
-    @Test
-    public void onBindViewHolder_noButtonVisible_buttonsLayoutIsGone() {
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
-    }
-
-    @Test
-    public void onBindViewHolder_setPrimaryButtonVisibility_buttonsLayoutIsVisible() {
-        mCardPreference.setPrimaryButtonVisible(true);
-
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(VISIBLE);
-    }
-
-    @Test
-    public void onBindViewHolder_setPrimaryButtonVisibilityToVisible() {
-        mCardPreference.setPrimaryButtonVisible(true);
-
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getPrimaryButton().getVisibility()).isEqualTo(VISIBLE);
-    }
-
-    @Test
-    public void onBindViewHolder_setSecondaryButtonVisibility_buttonsLayoutIsVisible() {
-        mCardPreference.setSecondaryButtonVisible(true);
-
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(VISIBLE);
-    }
-
-    @Test
-    public void onBindViewHolder_setSecondaryButtonVisibilityToVisible() {
-        mCardPreference.setSecondaryButtonVisible(true);
-
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getSecondaryButton().getVisibility()).isEqualTo(VISIBLE);
-    }
-
-    @Test
-    public void onBindViewHolder_setPrimaryButtonTextToExpectedText() {
-        String expectedText = "primary-button";
-        mCardPreference.setPrimaryButtonText(expectedText);
-
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getPrimaryButton().getText().toString()).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void onBindViewHolder_setSecondaryButtonTextToExpectedText() {
-        String expectedText = "secondary-button";
-        mCardPreference.setSecondaryButtonText(expectedText);
-
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getSecondaryButton().getText().toString()).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void onBindViewHolder_initialTextForPrimaryButtonShouldBeEmpty() {
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getPrimaryButton().getText().toString()).isEqualTo("");
-    }
-
-    @Test
-    public void onBindViewHolder_initialTextForSecondaryButtonShouldBeEmpty() {
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getSecondaryButton().getText().toString()).isEqualTo("");
-    }
-
-    @Test
-    public void performClickOnPrimaryButton_callClickListener() {
-        final boolean[] hasCalled = {false};
-        View.OnClickListener clickListener = v -> hasCalled[0] = true;
-        mCardPreference.setPrimaryButtonClickListener(clickListener);
-
-        mCardPreference.onBindViewHolder(mHolder);
-        getPrimaryButton().performClick();
-
-        assertThat(hasCalled[0]).isTrue();
-    }
-
-    @Test
-    public void performClickOnSecondaryButton_callClickListener() {
-        final boolean[] hasCalled = {false};
-        View.OnClickListener clickListener = v -> hasCalled[0] = true;
-        mCardPreference.setSecondaryButtonClickListener(clickListener);
-
-        mCardPreference.onBindViewHolder(mHolder);
-        getSecondaryButton().performClick();
-
-        assertThat(hasCalled[0]).isTrue();
-    }
-
-    @Test
-    public void onBindViewHolder_primaryButtonDefaultIsGone() {
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getPrimaryButton().getVisibility()).isEqualTo(GONE);
-    }
-
-    @Test
-    public void onBindViewHolder_secondaryButtonDefaultIsGone() {
-        mCardPreference.onBindViewHolder(mHolder);
-
-        assertThat(getSecondaryButton().getVisibility()).isEqualTo(GONE);
-    }
-
-    @Test
-    public void setPrimaryButtonVisibility_setTrueAfterBindViewHolder_isVisible() {
-        mCardPreference.setPrimaryButtonVisible(false);
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setPrimaryButtonVisible(true);
-
-        assertThat(getPrimaryButton().getVisibility()).isEqualTo(VISIBLE);
-    }
-
-    @Test
-    public void setPrimaryButtonText_setAfterBindViewHolder_setOnUi() {
-        String expectedText = "123456";
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setPrimaryButtonText(expectedText);
-
-        assertThat(getPrimaryButton().getText().toString()).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void setPrimaryButtonText_setNull_isEmptyText() {
-        final String emptyString = "";
-        mCardPreference.setPrimaryButtonText("1234");
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setPrimaryButtonText(null);
-
-        assertThat(getPrimaryButton().getText().toString()).isEqualTo(emptyString);
-    }
-
-    @Test
-    public void setPrimaryButtonClickListener_setAfterOnBindViewHolder() {
-        final String[] hasCalled = {""};
-        String expectedClickedResult = "was called";
-        View.OnClickListener clickListener = v -> hasCalled[0] = expectedClickedResult;
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setPrimaryButtonClickListener(clickListener);
-        getPrimaryButton().performClick();
-
-        assertThat(hasCalled[0]).isEqualTo(expectedClickedResult);
-    }
-
-    @Test
-    public void setPrimaryButtonClickListener_setNull_clearTheOnClickListener() {
-        final String[] hasCalled = {"not called"};
-        View.OnClickListener clickListener = v -> hasCalled[0] = "called once";
-        mCardPreference.setPrimaryButtonClickListener(clickListener);
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setPrimaryButtonClickListener(null);
-        getPrimaryButton().performClick();
-
-        assertThat(hasCalled[0]).isEqualTo("not called");
-    }
-
-    @Test
-    public void setSecondaryButtonVisibility_setTrueAfterBindViewHolder_isVisible() {
-        mCardPreference.setSecondaryButtonVisible(false);
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setSecondaryButtonVisible(true);
-
-        assertThat(getSecondaryButton().getVisibility()).isEqualTo(VISIBLE);
-    }
-
-    @Test
-    public void setSecondaryButtonText_setAfterBindViewHolder_setOnUi() {
-        String expectedText = "10101010";
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setSecondaryButtonText(expectedText);
-
-        assertThat(getSecondaryButton().getText().toString()).isEqualTo(expectedText);
-    }
-
-    @Test
-    public void setSecondaryButtonText_setNull_isEmptyText() {
-        String emptyString = "";
-        mCardPreference.setSecondaryButtonText("1234");
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setSecondaryButtonText(null);
-
-        assertThat(getSecondaryButton().getText().toString()).isEqualTo(emptyString);
-    }
-
-    @Test
-    public void setSecondaryButtonClickListener_setAfterOnBindViewHolder() {
-        final String[] hasCalled = {""};
-        String expectedClickedResult = "2nd was called";
-        View.OnClickListener clickListener = v -> hasCalled[0] = expectedClickedResult;
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setSecondaryButtonClickListener(clickListener);
-        getSecondaryButton().performClick();
-
-        assertThat(hasCalled[0]).isEqualTo(expectedClickedResult);
-    }
-
-    @Test
-    public void setSecondaryButtonClickListener_setNull_clearTheOnClickListener() {
-        final String[] hasCalled = {"not called"};
-        View.OnClickListener clickListener = v -> hasCalled[0] = "called once";
-        mCardPreference.setSecondaryButtonClickListener(clickListener);
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.setSecondaryButtonClickListener(null);
-        getSecondaryButton().performClick();
-
-        assertThat(hasCalled[0]).isEqualTo("not called");
-    }
-
-    @Test
-    public void setPrimaryButtonVisibility_setGoneForSecondaryButton_buttonGroupIsGone() {
-        mCardPreference.setPrimaryButtonVisible(true);
-        mCardPreference.setSecondaryButtonVisible(false);
-        mCardPreference.onBindViewHolder(mHolder);
-        assertWithMessage("PreCondition: buttonsView should be Visible")
-                .that(getCardPreferenceButtonsView().getVisibility())
-                .isEqualTo(VISIBLE);
-
-        mCardPreference.setPrimaryButtonVisible(false);
-
-        assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
-    }
-
-    @Test
-    public void setSecondaryButtonVisibility_setGoneForPrimaryButton_buttonGroupIsGone() {
-        mCardPreference.setPrimaryButtonVisible(false);
-        mCardPreference.setSecondaryButtonVisible(true);
-        mCardPreference.onBindViewHolder(mHolder);
-        assertWithMessage("PreCondition: buttonsView should be Visible")
-                .that(getCardPreferenceButtonsView().getVisibility())
-                .isEqualTo(VISIBLE);
-
-        mCardPreference.setSecondaryButtonVisible(false);
-
-        assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
-    }
-
-    @Test
-    public void resetLayoutState_buttonGroupIsGone() {
-        mCardPreference.setPrimaryButtonVisible(true);
-        mCardPreference.setSecondaryButtonVisible(true);
-        mCardPreference.onBindViewHolder(mHolder);
-
-        mCardPreference.resetLayoutState();
-
-        assertThat(getCardPreferenceButtonsView().getVisibility()).isEqualTo(GONE);
-    }
-
-    private View getCardPreferenceButtonsView() {
-        return mHolder.findViewById(R.id.card_preference_buttons);
-    }
-
-    private Button getPrimaryButton() {
-        return (Button) mHolder.findViewById(android.R.id.button1);
-    }
-
-    private Button getSecondaryButton() {
-        return (Button) mHolder.findViewById(android.R.id.button2);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
index 2d90382..c87aeea 100644
--- a/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
+++ b/tests/robotests/src/com/android/settings/widget/EntityHeaderControllerTest.java
@@ -53,8 +53,12 @@
 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 EntityHeaderControllerTest {
 
     @Mock(answer = Answers.RETURNS_DEEP_STUBS)
@@ -84,7 +88,7 @@
     @Test
     public void testBuildView_constructedWithoutView_shouldCreateNewView() {
         mController = EntityHeaderController.newInstance(mActivity, mFragment, null);
-        View view = mController.done(mActivity);
+        View view = mController.done();
 
         assertThat(view).isNotNull();
     }
@@ -92,7 +96,7 @@
     @Test
     public void testBuildView_withContext_shouldBuildPreferenceAllowedBelowDivider() {
         mController = EntityHeaderController.newInstance(mActivity, mFragment, null);
-        Preference preference = mController.done(mActivity, mShadowContext);
+        Preference preference = mController.done(mShadowContext);
 
         assertThat(preference instanceof LayoutPreference).isTrue();
         assertThat(((LayoutPreference)preference).isAllowDividerBelow()).isTrue();
@@ -100,9 +104,10 @@
 
     @Test
     public void testBuildView_constructedWithView_shouldReturnSameView() {
-        View inputView = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        View inputView = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         mController = EntityHeaderController.newInstance(mActivity, mFragment, inputView);
-        View view = mController.done(mActivity);
+        View view = mController.done();
 
         assertThat(view).isSameInstanceAs(inputView);
     }
@@ -110,18 +115,19 @@
     @Test
     public void bindViews_shouldBindAllData() {
         final String testString = "test";
-        final View header =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View header = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         final TextView label = header.findViewById(R.id.entity_header_title);
         final TextView summary = header.findViewById(R.id.entity_header_summary);
-        final TextView secondSummary = header.findViewById(R.id.entity_header_second_summary);
+        final TextView secondSummary = header.findViewById(
+                com.android.settingslib.widget.preference.layout.R.id.entity_header_second_summary);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, header);
         mController.setLabel(testString);
         mController.setSummary(testString);
         mController.setSecondSummary(testString);
         mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add_24dp));
-        mController.done(mActivity);
+        mController.done();
 
         assertThat(label).isNotNull();
         assertThat(label.getText()).isEqualTo(testString);
@@ -137,20 +143,16 @@
         info.activityInfo = new ActivityInfo();
         info.activityInfo.packageName = "123";
         info.activityInfo.name = "321";
-        final View view = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         when(mActivity.getApplicationContext()).thenReturn(mContext);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
-        mController.setEditListener(new View.OnClickListener() {
-            public void onClick(View v) {
-                // do nothing
-            }
-        });
+        mController.setEditListener(v -> {/* do nothing */});
         mController.setButtonActions(
                 EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE,
                 EntityHeaderController.ActionType.ACTION_NONE);
-        mController.done(mActivity);
+        mController.done();
 
         final ImageButton button1 = view.findViewById(android.R.id.button1);
         assertThat(button1).isNotNull();
@@ -165,14 +167,15 @@
         info.activityInfo = new ActivityInfo();
         info.activityInfo.packageName = "123";
         info.activityInfo.name = "321";
-        final View view = mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         when(mActivity.getApplicationContext()).thenReturn(mContext);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         mController.setButtonActions(
                 EntityHeaderController.ActionType.ACTION_EDIT_PREFERENCE,
                 EntityHeaderController.ActionType.ACTION_NONE);
-        mController.done(mActivity);
+        mController.done();
 
         assertThat(view.findViewById(android.R.id.button1).getVisibility()).isEqualTo(View.GONE);
         assertThat(view.findViewById(android.R.id.button2).getVisibility()).isEqualTo(View.GONE);
@@ -181,8 +184,8 @@
 
     @Test
     public void bindButton_noAppInfo_shouldNotAttachClickListener() {
-        final View appLinks =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View appLinks = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         final FragmentActivity activity = mock(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
 
@@ -192,23 +195,24 @@
                 .setButtonActions(
                         EntityHeaderController.ActionType.ACTION_NONE,
                         EntityHeaderController.ActionType.ACTION_NONE);
-        mController.done(mActivity);
+        mController.done();
 
         assertThat(appLinks.findViewById(android.R.id.button1).getVisibility())
                 .isEqualTo(View.GONE);
         assertThat(appLinks.findViewById(android.R.id.button2).getVisibility())
                 .isEqualTo(View.GONE);
 
-        appLinks.findViewById(R.id.entity_header_content).performClick();
+        appLinks.findViewById(com.android.settingslib.widget.preference.layout.R.id.entity_header_content)
+                .performClick();
         verify(mFragment, never()).getActivity();
         verify(activity, never()).startActivity(any(Intent.class));
     }
 
-    @Ignore
+    @Ignore("b/313616350")
     @Test
     public void bindButton_hasAppInfo_shouldAttachClickListener() {
-        final View appLinks =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View appLinks = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         final FragmentActivity activity = mock(FragmentActivity.class);
         when(mFragment.getActivity()).thenReturn(activity);
         when(mContext.getString(eq(R.string.application_info_label))).thenReturn("App Info");
@@ -220,51 +224,52 @@
                 .setButtonActions(
                         EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
                         EntityHeaderController.ActionType.ACTION_NONE);
-        mController.done(mActivity);
+        mController.done();
 
-        appLinks.findViewById(R.id.entity_header_content).performClick();
+        appLinks.findViewById(com.android.settingslib.widget.preference.layout.R.id.entity_header_content)
+                .performClick();
         verify(activity)
                 .startActivityForResultAsUser(any(Intent.class), anyInt(), any(UserHandle.class));
     }
 
     @Test
     public void iconContentDescription_shouldWorkWithSetIcon() {
-        final View view =
-                mLayoutInflater.inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
         mController.setIcon(mShadowContext.getDrawable(R.drawable.ic_add_24dp));
         mController.setIconContentDescription(description);
-        mController.done(mActivity);
+        mController.done();
         assertThat(view.findViewById(R.id.entity_header_icon).getContentDescription().toString())
                 .isEqualTo(description);
     }
 
     @Test
     public void iconContentDescription_shouldWorkWithoutSetIcon() {
-        final View view = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
+        final View view = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         when(mFragment.getActivity()).thenReturn(mock(FragmentActivity.class));
         mController = EntityHeaderController.newInstance(mActivity, mFragment, view);
         String description = "Fake Description";
         mController.setIconContentDescription(description);
-        mController.done(mActivity);
+        mController.done();
         assertThat(view.findViewById(R.id.entity_header_icon).getContentDescription().toString())
                 .isEqualTo(description);
     }
 
     @Test
     public void bindButton_hasAppNotifIntent_shouldShowButton() {
-        final View appLinks = mLayoutInflater
-                .inflate(R.layout.settings_entity_header, null /* root */);
+        final View appLinks = mLayoutInflater.inflate(
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
 
         mController = EntityHeaderController.newInstance(mActivity, mFragment, appLinks);
         mController.setAppNotifPrefIntent(new Intent())
                 .setButtonActions(
                         EntityHeaderController.ActionType.ACTION_NOTIF_PREFERENCE,
                         EntityHeaderController.ActionType.ACTION_NONE);
-        mController.done(mActivity);
+        mController.done();
 
         assertThat(appLinks.findViewById(android.R.id.button1).getVisibility())
                 .isEqualTo(View.VISIBLE);
@@ -277,23 +282,23 @@
     @Test
     public void instantApps_normalAppsDontGetLabel() {
         final View header = mLayoutInflater.inflate(
-                R.layout.settings_entity_header, null /* root */);
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         mController = EntityHeaderController.newInstance(mActivity, mFragment, header);
-        mController.done(mActivity);
+        mController.done();
 
-        assertThat(header.findViewById(R.id.install_type).getVisibility())
-                .isEqualTo(View.GONE);
+        View installType = header.findViewById(com.android.settingslib.widget.preference.layout.R.id.install_type);
+        assertThat(installType.getVisibility()).isEqualTo(View.GONE);
     }
 
     // Test that the "instant apps" label is present in the header when we have an instant app.
     @Test
     public void instantApps_expectedHeaderItem() {
         final View header = mLayoutInflater.inflate(
-                R.layout.settings_entity_header, null /* root */);
+                com.android.settingslib.widget.preference.layout.R.layout.settings_entity_header, null /* root */);
         mController = EntityHeaderController.newInstance(mActivity, mFragment, header);
         mController.setIsInstantApp(true);
-        mController.done(mActivity);
-        TextView label = header.findViewById(R.id.install_type);
+        mController.done();
+        TextView label = header.findViewById(com.android.settingslib.widget.preference.layout.R.id.install_type);
 
         assertThat(label.getVisibility()).isEqualTo(View.VISIBLE);
         assertThat(label.getText()).isEqualTo(
diff --git a/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java b/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java
index 1ec222e..29560ab 100644
--- a/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java
+++ b/tests/robotests/src/com/android/settings/widget/HighlightablePreferenceGroupAdapterTest.java
@@ -53,9 +53,13 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Config;
 import org.robolectric.util.ReflectionHelpers;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class HighlightablePreferenceGroupAdapterTest {
 
     private static final String TEST_KEY = "key";
@@ -83,7 +87,7 @@
                 false /* highlighted*/));
         when(mAdapter.getItem(anyInt())).thenReturn(mPreference);
         mViewHolder = PreferenceViewHolder.createInstanceForTests(
-                View.inflate(mContext, R.layout.preference, null));
+                View.inflate(mContext, androidx.preference.R.layout.preference, null));
     }
 
     @Test
@@ -174,6 +178,20 @@
         assertThat(mViewHolder.itemView.getTag(R.id.preference_highlighted)).isNull();
     }
 
+    /**
+     * When background is being updated, we also request the a11y focus on the preference
+     */
+    @Test
+    public void updateBackground_shouldRequestAccessibilityFocus() {
+        View viewItem = mock(View.class);
+        mViewHolder = PreferenceViewHolder.createInstanceForTests(viewItem);
+        ReflectionHelpers.setField(mAdapter, "mHighlightPosition", 10);
+
+        mAdapter.updateBackground(mViewHolder, 10);
+
+        verify(viewItem).requestAccessibilityFocus();
+    }
+
     @Test
     public void updateBackground_highlight_shouldAnimateBackgroundAndSetHighlightedTag() {
         ReflectionHelpers.setField(mAdapter, "mHighlightPosition", 10);
diff --git a/tests/robotests/src/com/android/settings/widget/LinkifySummaryPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/LinkifySummaryPreferenceTest.java
index e5ae840..b33a564 100644
--- a/tests/robotests/src/com/android/settings/widget/LinkifySummaryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/LinkifySummaryPreferenceTest.java
@@ -32,19 +32,22 @@
 import android.widget.TextView;
 
 import androidx.preference.PreferenceViewHolder;
+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.Mock;
-import org.mockito.MockitoAnnotations;
-import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class LinkifySummaryPreferenceTest {
-    @Spy
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+
     private PreferenceViewHolder mViewHolder;
     @Mock
     private TextView mSummaryTextView;
@@ -52,9 +55,7 @@
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        final Context context = RuntimeEnvironment.application;
+        final Context context = ApplicationProvider.getApplicationContext();
         mPreference = new LinkifySummaryPreference(context, null /* attrs */);
 
         final View view = spy(View.inflate(context, mPreference.getLayoutResource(),
diff --git a/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java
index a1d74e3..2ed80e8 100644
--- a/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/PrimaryCheckBoxPreferenceTest.java
@@ -125,7 +125,8 @@
     public void clickWidgetView_shouldToggleCheckBox() {
         final LayoutInflater inflater = LayoutInflater.from(mContext);
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_two_target, null));
+                inflater.inflate(
+                        com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target, null));
         final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
         assertThat(widgetView).isNotNull();
 
@@ -144,7 +145,8 @@
     public void clickWidgetView_shouldNotToggleCheckBoxIfDisabled() {
         final LayoutInflater inflater = LayoutInflater.from(mContext);
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                inflater.inflate(R.layout.preference_two_target, null));
+                inflater.inflate(
+                        com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target, null));
         final LinearLayout widgetView = holder.itemView.findViewById(android.R.id.widget_frame);
         assertThat(widgetView).isNotNull();
 
@@ -160,7 +162,8 @@
     @Test
     public void clickWidgetView_shouldNotifyPreferenceChanged() {
         final PreferenceViewHolder holder = PreferenceViewHolder.createInstanceForTests(
-                LayoutInflater.from(mContext).inflate(R.layout.preference_two_target, null));
+                LayoutInflater.from(mContext).inflate(
+                        com.android.settingslib.widget.preference.twotarget.R.layout.preference_two_target, null));
         final View widgetView = holder.findViewById(android.R.id.widget_frame);
         final OnPreferenceChangeListener listener = mock(OnPreferenceChangeListener.class);
         mPreference.setOnPreferenceChangeListener(listener);
diff --git a/tests/robotests/src/com/android/settings/widget/RestrictedButtonTest.java b/tests/robotests/src/com/android/settings/widget/RestrictedButtonTest.java
new file mode 100644
index 0000000..d696342
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/widget/RestrictedButtonTest.java
@@ -0,0 +1,115 @@
+/*
+ * 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.widget;
+
+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.never;
+import static org.mockito.Mockito.verify;
+
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.os.UserManager.EnforcingUser;
+import android.view.View.OnClickListener;
+
+import androidx.fragment.app.FragmentActivity;
+
+import com.android.settings.testutils.shadow.ShadowDevicePolicyManager;
+import com.android.settings.testutils.shadow.ShadowUserManager;
+
+import org.junit.Before;
+import org.junit.Ignore;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.robolectric.Robolectric;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Ignore("b/315133235")
+@RunWith(RobolectricTestRunner.class)
+@Config(shadows = {ShadowUserManager.class, ShadowDevicePolicyManager.class})
+public class RestrictedButtonTest {
+
+    private RestrictedButton mButton;
+    private OnClickListener mOnClickListener;
+    private UserHandle mUser;
+
+    @Before
+    public void setUp() {
+        mButton = new RestrictedButton(Robolectric.setupActivity(FragmentActivity.class));
+        mOnClickListener = mock(OnClickListener.class);
+        mButton.setOnClickListener(mOnClickListener);
+
+        int userId = UserHandle.myUserId();
+        mUser = UserHandle.of(userId);
+        List<EnforcingUser> enforcingUsers = new ArrayList<>();
+        enforcingUsers.add(new EnforcingUser(userId, UserManager.RESTRICTION_SOURCE_DEVICE_OWNER));
+        // Ensure that RestrictedLockUtils.checkIfRestrictionEnforced doesn't return null.
+        ShadowUserManager.getShadow().setUserRestrictionSources(
+                UserManager.DISALLOW_MODIFY_ACCOUNTS,
+                mUser,
+                enforcingUsers);
+    }
+
+    @Test
+    public void performClick_buttonIsNotInited_shouldCallListener() {
+        mButton.performClick();
+
+        verify(mOnClickListener).onClick(eq(mButton));
+    }
+
+    @Test
+    public void performClick_noRestriction_shouldCallListener() {
+        mButton.init(mUser, UserManager.DISALLOW_ADJUST_VOLUME);
+
+        mButton.performClick();
+
+        verify(mOnClickListener).onClick(eq(mButton));
+    }
+
+    @Test
+    public void performClick_hasRestriction_shouldNotCallListener() {
+        mButton.init(mUser, UserManager.DISALLOW_MODIFY_ACCOUNTS);
+
+        mButton.performClick();
+
+        verify(mOnClickListener, never()).onClick(eq(mButton));
+    }
+
+    @Test
+    public void updateState_noRestriction_shouldEnableButton() {
+        mButton.init(mUser, UserManager.DISALLOW_ADJUST_VOLUME);
+
+        mButton.updateState();
+
+        assertThat(mButton.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_noRestriction_shoulddisableButton() {
+        mButton.init(mUser, UserManager.DISALLOW_MODIFY_ACCOUNTS);
+
+        mButton.updateState();
+
+        assertThat(mButton.isEnabled()).isFalse();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java
index 809aa87..732defb 100644
--- a/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SeekBarPreferenceTest.java
@@ -39,7 +39,6 @@
 import com.android.settings.testutils.shadow.ShadowRestrictedLockUtilsInternal;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -49,7 +48,6 @@
 import org.robolectric.annotation.Config;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
-@Ignore
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = {ShadowRestrictedLockUtilsInternal.class, ShadowInteractionJankMonitor.class})
 public class SeekBarPreferenceTest {
@@ -102,7 +100,6 @@
         assertThat(mSeekBarPreference.isSelectable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc998")
     public void isSelectable_default_returnFalse() {
diff --git a/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java b/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java
index dc69d8e..2b7f462 100644
--- a/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchBarTest.java
@@ -19,45 +19,42 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
+import android.widget.CompoundButton;
 import android.widget.TextView;
 
-import com.android.settingslib.R;
-import com.android.settingslib.RestrictedLockUtils;
+import androidx.test.core.app.ApplicationProvider;
 
-import org.junit.Before;
+import com.android.settingslib.RestrictedLockUtils;
+import com.android.settingslib.widget.mainswitch.R;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.MockitoAnnotations;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 @RunWith(RobolectricTestRunner.class)
 public class SettingsMainSwitchBarTest {
 
-    private SettingsMainSwitchBar mMainSwitchBar;
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private final SettingsMainSwitchBar mMainSwitchBar = new SettingsMainSwitchBar(mContext);
 
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        final Context context = RuntimeEnvironment.application;
-        mMainSwitchBar = new SettingsMainSwitchBar(context);
-    }
+    private final TextView mTitle = mMainSwitchBar.findViewById(R.id.switch_text);
+
+    private final CompoundButton mSwitchWidget =
+            mMainSwitchBar.findViewById(android.R.id.switch_widget);
 
     @Test
     public void disabledByAdmin_shouldBeDisabled() {
         mMainSwitchBar.setDisabledByAdmin(new RestrictedLockUtils.EnforcedAdmin());
 
-        TextView title = (TextView) mMainSwitchBar.findViewById(R.id.switch_text);
-        assertThat(title.isEnabled()).isFalse();
-        assertThat(mMainSwitchBar.getSwitch().isEnabled()).isFalse();
+        assertThat(mTitle.isEnabled()).isFalse();
+        assertThat(mSwitchWidget.isEnabled()).isFalse();
     }
 
     @Test
     public void disabledByAdmin_setNull_shouldBeEnabled() {
         mMainSwitchBar.setDisabledByAdmin(null);
 
-        TextView title = (TextView) mMainSwitchBar.findViewById(R.id.switch_text);
-        assertThat(title.isEnabled()).isTrue();
-        assertThat(mMainSwitchBar.getSwitch().isEnabled()).isTrue();
+        assertThat(mTitle.isEnabled()).isTrue();
+        assertThat(mSwitchWidget.isEnabled()).isTrue();
     }
 }
diff --git a/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchPreferenceTest.java
index 33c9fac..a5ebdad 100644
--- a/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/SettingsMainSwitchPreferenceTest.java
@@ -22,14 +22,10 @@
 
 import android.content.Context;
 import android.view.View;
-import android.widget.ImageView;
 
 import androidx.preference.PreferenceViewHolder;
 
-import com.android.settings.R;
-
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -54,23 +50,11 @@
         mPreference = new SettingsMainSwitchPreference(context);
         ReflectionHelpers.setField(mPreference, "mEnforcedAdmin", mEnforcedAdmin);
         ReflectionHelpers.setField(mPreference, "mMainSwitchBar", switchBar);
-        final View rootView = View.inflate(context, R.layout.preference_widget_main_switch,
+        final View rootView = View.inflate(context, com.android.settings.R.layout.preference_widget_main_switch,
                 null /* parent */);
         mHolder = PreferenceViewHolder.createInstanceForTests(rootView);
     }
 
-    @Ignore
-    @Test
-    public void onBindViewHolder_isRestricted_restrictIconShouldDisplay() {
-        mPreference.onBindViewHolder(mHolder);
-
-        final SettingsMainSwitchBar switchBar = mPreference.getSwitchBar();
-        final ImageView restrictedIcon = switchBar.findViewById(
-                com.android.settingslib.widget.R.id.restricted_icon);
-
-        assertThat(restrictedIcon.getVisibility() == View.VISIBLE).isTrue();
-    }
-
     @Test
     public void show_preferenceShouldDisplay() {
         mPreference.show();
diff --git a/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java b/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
deleted file mode 100644
index 0c297f4..0000000
--- a/tests/robotests/src/com/android/settings/widget/SwitchBarTest.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.widget;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.robolectric.RuntimeEnvironment.application;
-
-import android.content.Context;
-import android.graphics.drawable.ColorDrawable;
-import android.widget.TextView;
-
-import com.android.settings.R;
-import com.android.settingslib.RestrictedLockUtils.EnforcedAdmin;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.robolectric.Robolectric;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class SwitchBarTest {
-
-    private static final int COLOR_BACKGROUND = 1;
-    private static final int COLOR_BACKGROUND_ACTIVATED = 2;
-
-    private Context mContext;
-    private SwitchBar mBar;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-        mBar = new SwitchBar(application, Robolectric.buildAttributeSet()
-                .addAttribute(R.attr.switchBarBackgroundColor, String.valueOf(COLOR_BACKGROUND))
-                .addAttribute(R.attr.switchBarBackgroundActivatedColor,
-                        String.valueOf(COLOR_BACKGROUND_ACTIVATED))
-                .build());
-    }
-
-    @Test
-    public void cycleChecked_defaultLabel_shouldUpdateTextAndBackground() {
-        final int defaultOnText = R.string.switch_on_text;
-        final int defaultOffText = R.string.switch_off_text;
-
-        assertThat(((TextView) mBar.findViewById(R.id.switch_text)).getText())
-                .isEqualTo(mContext.getString(defaultOffText));
-
-        mBar.setChecked(true);
-
-        assertThat(mBar.getBackground()).isInstanceOf(ColorDrawable.class);
-        assertThat(((TextView) mBar.findViewById(R.id.switch_text)).getText())
-                .isEqualTo(mContext.getString(defaultOnText));
-    }
-
-    @Test
-    public void cycleChecked_customLabel_shouldUpdateTextAndBackground() {
-        final int onText = R.string.main_clear_progress_text;
-        final int offText = R.string.clear_user_data_text;
-
-        mBar.setSwitchBarText(onText, offText);
-        assertThat(((TextView) mBar.findViewById(R.id.switch_text)).getText())
-                .isEqualTo(mContext.getString(offText));
-
-        mBar.setChecked(true);
-        assertThat(mBar.getBackground()).isInstanceOf(ColorDrawable.class);
-
-        assertThat(((TextView) mBar.findViewById(R.id.switch_text)).getText())
-                .isEqualTo(mContext.getString(onText));
-    }
-
-    @Test
-    public void setCheck_customLabelWithStringType_shouldUpdateTextAndBackground() {
-        final String onText = mContext.getString(
-                R.string.accessibility_service_primary_switch_title);
-        final String offText = mContext.getString(
-                R.string.accessibility_service_primary_switch_title);
-        final TextView switchBarTextView = ((TextView) mBar.findViewById(R.id.switch_text));
-
-        mBar.setSwitchBarText(onText, offText);
-
-        assertThat(switchBarTextView.getText()).isEqualTo(offText);
-
-        mBar.setChecked(true);
-
-        assertThat(mBar.getBackground()).isInstanceOf(ColorDrawable.class);
-        assertThat(switchBarTextView.getText()).isEqualTo(onText);
-    }
-
-    @Test
-    public void disabledByAdmin_shouldDelegateToRestrictedIcon() {
-        mBar.setDisabledByAdmin(new EnforcedAdmin());
-        assertThat(mBar.getDelegatingView().getId()).isEqualTo(R.id.restricted_icon);
-    }
-
-    @Test
-    public void notDisabledByAdmin_shouldDelegateToSwitch() {
-        mBar.setDisabledByAdmin(null);
-        assertThat(mBar.getDelegatingView().getId()).isEqualTo(R.id.switch_widget);
-    }
-
-    @Test
-    public void performClick_shouldIsCheckedValueChange() {
-        boolean isChecked = mBar.isChecked();
-        mBar.performClick();
-        assertThat(mBar.isChecked()).isEqualTo(!isChecked);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/widget/UpdatableListPreferenceDialogFragmentTest.java b/tests/robotests/src/com/android/settings/widget/UpdatableListPreferenceDialogFragmentTest.java
new file mode 100644
index 0000000..1c26253
--- /dev/null
+++ b/tests/robotests/src/com/android/settings/widget/UpdatableListPreferenceDialogFragmentTest.java
@@ -0,0 +1,98 @@
+/*
+ * 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.widget;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.widget.ArrayAdapter;
+
+import androidx.preference.ListPreference;
+
+import com.android.internal.logging.nano.MetricsProto;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+import org.robolectric.RobolectricTestRunner;
+import org.robolectric.RuntimeEnvironment;
+
+import java.util.ArrayList;
+
+@RunWith(RobolectricTestRunner.class)
+public class UpdatableListPreferenceDialogFragmentTest {
+
+    private static final String KEY = "Test_Key";
+    @Mock
+    private UpdatableListPreferenceDialogFragment mUpdatableListPrefDlgFragment;
+    private Context mContext;
+    private ArrayAdapter mAdapter;
+    private ArrayList<CharSequence> mEntries;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = RuntimeEnvironment.application;
+
+        mUpdatableListPrefDlgFragment = spy(UpdatableListPreferenceDialogFragment
+                .newInstance(KEY, MetricsProto.MetricsEvent.DIALOG_SWITCH_A2DP_DEVICES));
+        mEntries = new ArrayList<>();
+        mUpdatableListPrefDlgFragment.setEntries(mEntries);
+        mUpdatableListPrefDlgFragment
+                .setMetricsCategory(mUpdatableListPrefDlgFragment.getArguments());
+        initAdapter();
+    }
+
+    private void initAdapter() {
+        mAdapter = spy(new ArrayAdapter<>(
+                mContext,
+                com.android.internal.R.layout.select_dialog_singlechoice,
+                mEntries));
+        mUpdatableListPrefDlgFragment.setAdapter(mAdapter);
+    }
+
+    @Test
+    public void getMetricsCategory() {
+        assertThat(mUpdatableListPrefDlgFragment.getMetricsCategory())
+                .isEqualTo(MetricsProto.MetricsEvent.DIALOG_SWITCH_A2DP_DEVICES);
+    }
+
+    @Test
+    public void onListPreferenceUpdated_verifyAdapterCanBeUpdate() {
+        assertThat(mUpdatableListPrefDlgFragment.getAdapter().getCount()).isEqualTo(0);
+
+        ListPreference listPreference = new ListPreference(mContext);
+        final CharSequence[] charSequences = {"Test_DEVICE_1", "Test_DEVICE_2"};
+        listPreference.setEntries(charSequences);
+        mUpdatableListPrefDlgFragment.onListPreferenceUpdated(listPreference);
+
+        assertThat(mUpdatableListPrefDlgFragment.getAdapter().getCount()).isEqualTo(2);
+    }
+
+    @Test
+    public void onDialogClosed_emptyPreference() {
+        mUpdatableListPrefDlgFragment.onDialogClosed(false);
+
+        verify(mUpdatableListPrefDlgFragment, never()).getListPreference();
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
index e4a4bc1..35dc666 100644
--- a/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/widget/VideoPreferenceTest.java
@@ -72,7 +72,7 @@
 
         mContext = RuntimeEnvironment.application;
         mAnimationController = spy(
-                new MediaAnimationController(mContext, R.raw.accessibility_screen_magnification));
+                new MediaAnimationController(mContext, R.raw.sample_video));
         mVideoPreference = new VideoPreference(mContext, null /* attrs */);
         mVideoPreference.mAnimationController = mAnimationController;
         when(mAnimationController.getVideoWidth()).thenReturn(VIDEO_WIDTH);
@@ -141,7 +141,7 @@
         assertThat(mAnimationController.isPlaying()).isTrue();
     }
 
-    @Ignore
+    @Ignore("b/315133235")
     @Test
     @Config(qualifiers = "mcc999")
     public void onViewVisible_createAnimationController() {
diff --git a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
index bb0ae1a..14227ad 100644
--- a/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/ConfigureWifiSettingsTest.java
@@ -12,7 +12,6 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.annotation.Nullable;
 import android.content.Context;
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
@@ -20,6 +19,7 @@
 import android.view.View;
 import android.widget.TextView;
 
+import androidx.annotation.Nullable;
 import androidx.fragment.app.FragmentActivity;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
@@ -30,7 +30,6 @@
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -46,6 +45,9 @@
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class ConfigureWifiSettingsTest {
 
     @Rule
@@ -69,7 +71,6 @@
 
     TestConfigureWifiSettings mSettings;
 
-    @Ignore
     @Before
     public void setUp() {
         when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
@@ -148,7 +149,6 @@
         verify(mPreferenceScreen).removeAll();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void getNonIndexableKeys_ifPageDisabled_shouldNotIndexResource() {
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
index fb29924..616cb0b 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogActivityTest.java
@@ -37,7 +37,6 @@
 
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settings.wifi.NetworkRequestErrorDialogFragment.ERROR_DIALOG_TYPE;
 import com.android.wifitrackerlib.WifiPickerTracker;
 
@@ -82,8 +81,7 @@
                 .thenReturn(mock(WifiPickerTracker.class));
         mScanResults.add(getScanResult(TEST_SSID, TEST_CAPABILITY));
 
-        mActivity = spy((NetworkRequestDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(NetworkRequestDialogActivity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(NetworkRequestDialogActivity.class));
         when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
     }
 
@@ -183,8 +181,7 @@
     @Test
     public void onAbort_withFakeActivity_callStopAndPopShouldBeTrue() {
         final FakeNetworkRequestDialogActivity fakeActivity =
-                (FakeNetworkRequestDialogActivity) ActivityControllerWrapper.setup(
-                        Robolectric.buildActivity(FakeNetworkRequestDialogActivity.class)).get();
+                Robolectric.setupActivity(FakeNetworkRequestDialogActivity.class);
 
         fakeActivity.onResume();
         fakeActivity.onAbort();
diff --git a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java
index 2679745..386f66d 100644
--- a/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/NetworkRequestDialogFragmentTest.java
@@ -45,7 +45,6 @@
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowAlertDialogCompat;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.wifitrackerlib.WifiEntry;
 import com.android.wifitrackerlib.WifiPickerTracker;
 
@@ -104,11 +103,10 @@
         when(fakeFeatureFactory.wifiTrackerLibProvider.createWifiPickerTracker(
                 any(), any(), any(), any(), any(), anyLong(), anyLong(), any()))
                 .thenReturn(mock(WifiPickerTracker.class));
-        Intent intent = new Intent();
-        intent.putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME,
-                TEST_APP_NAME);
-        mActivity = (WifiDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDialogActivity.class, intent)).get();
+
+        mActivity = Robolectric.buildActivity(FragmentActivity.class,
+                new Intent().putExtra(NetworkRequestDialogFragment.EXTRA_APP_NAME,
+                        TEST_APP_NAME)).setup().get();
         networkRequestDialogFragment = spy(NetworkRequestDialogFragment.newInstance());
         networkRequestDialogFragment.mWifiPickerTracker = mWifiPickerTracker;
     }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
index faaa0fa..4fcc93d 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigController2Test.java
@@ -21,9 +21,11 @@
 
 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.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;
@@ -53,7 +55,6 @@
 
 import com.android.settings.R;
 import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.testutils.shadow.ShadowConnectivityManager;
 import com.android.settings.utils.AndroidKeystoreAliasLoader;
 import com.android.settings.wifi.details2.WifiPrivacyPreferenceController2;
 import com.android.wifitrackerlib.WifiEntry;
@@ -69,7 +70,6 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.Shadows;
-import org.robolectric.annotation.Config;
 import org.robolectric.shadows.ShadowInputMethodManager;
 import org.robolectric.shadows.ShadowSubscriptionManager;
 
@@ -79,7 +79,6 @@
 import java.util.stream.IntStream;
 
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowConnectivityManager.class)
 public class WifiConfigController2Test {
 
     static final String WIFI_EAP_TLS_V1_3 = "TLS v1.3";
@@ -138,6 +137,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         when(mContext.getSystemService(eq(WifiManager.class))).thenReturn(mWifiManager);
+        when(mWifiManager.isConnectedMacRandomizationSupported()).thenReturn(true);
         when(mConfigUiBase.getContext()).thenReturn(mContext);
         when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_PSK);
         mView = LayoutInflater.from(mContext).inflate(R.layout.wifi_dialog, null);
@@ -152,15 +152,17 @@
         ipSettingsSpinner.setSelection(DHCP);
         mShadowSubscriptionManager = shadowOf(mContext.getSystemService(SubscriptionManager.class));
         when(mEapMethodSimSpinner.getSelectedItemPosition()).thenReturn(WIFI_EAP_METHOD_SIM);
+    }
 
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+    private void createController(
+            WifiEntry mWifiEntry, int modeConnect, boolean hideMeteredAndPrivacy) {
+        mController = new WifiConfigController2(mConfigUiBase, mView, mWifiEntry,
+                modeConnect, hideMeteredAndPrivacy, mWifiManager, mAndroidKeystoreAliasLoader);
     }
 
     @Test
     public void ssidExceeds32Bytes_shouldShowSsidTooLongWarning() {
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(null, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView ssid = mView.findViewById(R.id.ssid);
         assertThat(ssid).isNotNull();
         ssid.setText("☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎☎");
@@ -172,8 +174,7 @@
 
     @Test
     public void ssidShorterThan32Bytes_shouldNotShowSsidTooLongWarning() {
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(null, WifiConfigUiBase2.MODE_CONNECT, false);
 
         final TextView ssid = mView.findViewById(R.id.ssid);
         assertThat(ssid).isNotNull();
@@ -192,6 +193,7 @@
 
     @Test
     public void isSubmittable_noSSID_shouldReturnFalse() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView ssid = mView.findViewById(R.id.ssid);
         assertThat(ssid).isNotNull();
         ssid.setText("");
@@ -200,6 +202,7 @@
 
     @Test
     public void isSubmittable_longPsk_shouldReturnFalse() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         assertThat(password).isNotNull();
         password.setText(LONG_PSK);
@@ -208,6 +211,7 @@
 
     @Test
     public void isSubmittable_shortPsk_shouldReturnFalse() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         assertThat(password).isNotNull();
         password.setText(SHORT_PSK);
@@ -216,6 +220,7 @@
 
     @Test
     public void isSubmittable_goodPsk_shouldReturnTrue() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         assertThat(password).isNotNull();
         password.setText(GOOD_PSK);
@@ -224,6 +229,7 @@
 
     @Test
     public void isSubmittable_hexPsk_shouldReturnTrue() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         assertThat(password).isNotNull();
         password.setText(HEX_PSK);
@@ -232,6 +238,7 @@
 
     @Test
     public void isSubmittable_savedConfigZeroLengthPassword_shouldReturnTrue() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         assertThat(password).isNotNull();
         password.setText("");
@@ -241,15 +248,13 @@
 
     @Test
     public void isSubmittable_nullWifiEntry_noException() {
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(null, WifiConfigUiBase2.MODE_CONNECT, false);
         mController.isSubmittable();
     }
 
     @Test
     public void isSubmittable_EapToPskWithValidPassword_shouldReturnTrue() {
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(null, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView ssid = mView.findViewById(R.id.ssid);
         final TextView password = mView.findViewById(R.id.password);
         final Spinner securitySpinner = mView.findViewById(R.id.security);
@@ -268,6 +273,7 @@
 
     @Test
     public void isSubmittable_EapWithAkaMethod_shouldReturnTrue() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         when(mWifiEntry.isSaved()).thenReturn(true);
         mController.mWifiEntrySecurity = WifiEntry.SECURITY_EAP;
         mView.findViewById(R.id.l_ca_cert).setVisibility(View.GONE);
@@ -278,8 +284,7 @@
     @Test
     public void isSubmittable_caCertWithoutDomain_shouldReturnFalse() {
         when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
         final Spinner eapCaCertSpinner = mView.findViewById(R.id.ca_cert);
         eapCaCertSpinner.setAdapter(mController.getSpinnerAdapter(new String[]{"certificate"}));
@@ -292,8 +297,7 @@
     @Test
     public void isSubmittable_caCertWithDomain_shouldReturnTrue() {
         when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         mView.findViewById(R.id.l_ca_cert).setVisibility(View.VISIBLE);
         final Spinner eapCaCertSpinner = mView.findViewById(R.id.ca_cert);
         eapCaCertSpinner.setAdapter(mController.getSpinnerAdapter(new String[]{"certificate"}));
@@ -306,6 +310,7 @@
 
     @Test
     public void getSignalString_notReachable_shouldHaveNoSignalString() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         when(mWifiEntry.getLevel()).thenReturn(WifiEntry.WIFI_LEVEL_UNREACHABLE);
 
         assertThat(mController.getSignalString()).isNull();
@@ -313,6 +318,7 @@
 
     @Test
     public void loadCertificates_undesiredCertificates_shouldNotLoadUndesiredCertificates() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final Spinner spinner = new Spinner(mContext);
 
         mController.loadCertificates(spinner,
@@ -326,8 +332,7 @@
 
     @Test
     public void ssidGetFocus_addNewNetwork_shouldReturnTrue() {
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(null, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView ssid = mView.findViewById(R.id.ssid);
         // Verify ssid text get focus when add new network (wifiEntry is null)
         assertThat(ssid.isFocused()).isTrue();
@@ -335,6 +340,7 @@
 
     @Test
     public void passwordGetFocus_connectSecureWifi_shouldReturnTrue() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         // Verify password get focus when connect to secure wifi without eap type
         assertThat(password.isFocused()).isTrue();
@@ -342,6 +348,7 @@
 
     @Test
     public void hiddenWarning_warningVisibilityProperlyUpdated() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         View warningView = mView.findViewById(R.id.hidden_settings_warning);
         mController.onItemSelected(mHiddenSettingsSpinner, null, mController.HIDDEN_NETWORK, 0);
         assertThat(warningView.getVisibility()).isEqualTo(View.VISIBLE);
@@ -355,8 +362,7 @@
         View hiddenField = mView.findViewById(R.id.hidden_settings_field);
         assertThat(hiddenField.getVisibility()).isEqualTo(View.GONE);
 
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(null, WifiConfigUiBase2.MODE_CONNECT, false);
         assertThat(hiddenField.getVisibility()).isEqualTo(View.VISIBLE);
     }
 
@@ -382,13 +388,11 @@
 
     private void securitySpinnerTestHelper(boolean saeVisible, boolean suitebVisible,
             boolean oweVisible) {
-        WifiManager wifiManager = mock(WifiManager.class);
-        when(wifiManager.isWpa3SaeSupported()).thenReturn(saeVisible);
-        when(wifiManager.isWpa3SuiteBSupported()).thenReturn(suitebVisible);
-        when(wifiManager.isEnhancedOpenSupported()).thenReturn(oweVisible);
+        when(mWifiManager.isWpa3SaeSupported()).thenReturn(saeVisible);
+        when(mWifiManager.isWpa3SuiteBSupported()).thenReturn(suitebVisible);
+        when(mWifiManager.isEnhancedOpenSupported()).thenReturn(oweVisible);
 
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
-                WifiConfigUiBase2.MODE_MODIFY, wifiManager);
+        createController(null, WifiConfigUiBase2.MODE_MODIFY, false);
 
         final Spinner securitySpinner = mView.findViewById(R.id.security);
         final ArrayAdapter<String> adapter = (ArrayAdapter) securitySpinner.getAdapter();
@@ -398,15 +402,18 @@
         for (int i = 0; i < adapter.getCount(); i++) {
             String val = adapter.getItem(i);
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_sae)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_sae)) == 0) {
                 saeFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_eap_suiteb)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_suiteb)) == 0) {
                 suitebFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_owe)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_owe)) == 0) {
                 oweFound = true;
             }
         }
@@ -428,23 +435,22 @@
         }
     }
 
-    public class TestWifiConfigController2 extends WifiConfigController2 {
+    @Test
+    public void whenHideMeteredAndPrivacy_shouldHideMetered() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, true);
 
-        private TestWifiConfigController2(
-                WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry, int mode) {
-            super(parent, view, wifiEntry, mode, mWifiManager);
-        }
+        View view = mView.findViewById(R.id.metered_settings_fields);
 
-        private TestWifiConfigController2(
-                WifiConfigUiBase2 parent, View view, WifiEntry wifiEntry, int mode,
-                    WifiManager wifiManager) {
-            super(parent, view, wifiEntry, mode, wifiManager);
-        }
+        assertThat(view.getVisibility()).isEqualTo(View.GONE);
+    }
 
-        @Override
-        AndroidKeystoreAliasLoader getAndroidKeystoreAliasLoader() {
-            return mAndroidKeystoreAliasLoader;
-        }
+    @Test
+    public void whenHideMeteredAndPrivacy_shouldHidePrivacy() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, true);
+
+        View view = mView.findViewById(R.id.privacy_settings_fields);
+
+        assertThat(view.getVisibility()).isEqualTo(View.GONE);
     }
 
     @Test
@@ -474,8 +480,7 @@
         when(mockWifiConfig.getIpConfiguration()).thenReturn(mock(IpConfiguration.class));
         when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig);
         mockWifiConfig.macRandomizationSetting = macRandomizedValue;
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
 
         final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
         final int expectedPrefValue =
@@ -488,6 +493,7 @@
 
     @Test
     public void saveMacRandomizedValue_noChanged_shouldPersistentAsDefault() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         WifiConfiguration config = mController.getConfig();
         assertThat(config.macRandomizationSetting).isEqualTo(
                 WifiConfiguration.RANDOMIZATION_PERSISTENT);
@@ -495,6 +501,7 @@
 
     @Test
     public void saveMacRandomizedValue_ChangedToNone_shouldGetNone() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final Spinner privacySetting = mView.findViewById(R.id.privacy_settings);
         final int prefMacNone =
                 WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
@@ -507,6 +514,7 @@
 
     @Test
     public void replaceTtsString_whenTargetMatched_shouldSuccess() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final CharSequence[] display = {"PEAP", "AKA1", "AKA2'"};
         final CharSequence[] target = {"AKA1", "AKA2'"};
         final CharSequence[] ttsString = {"AKA1_TTS", "AKA2_TTS"};
@@ -521,6 +529,7 @@
 
     @Test
     public void replaceTtsString_whenNoTargetStringMatched_originalStringShouldNotChanged() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final CharSequence[] display = {"PEAP", "AKA1", "AKA2"};
         final CharSequence[] target = {"WEP1", "WEP2'"};
         final CharSequence[] ttsString = {"WEP1_TTS", "WEP2_TTS"};
@@ -546,10 +555,8 @@
 
     @Test
     public void selectSecurity_wpa3Eap192bit_eapMethodTls() {
-        final WifiManager wifiManager = mock(WifiManager.class);
-        when(wifiManager.isWpa3SuiteBSupported()).thenReturn(true);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, null /* wifiEntry */,
-                WifiConfigUiBase2.MODE_MODIFY, wifiManager);
+        when(mWifiManager.isWpa3SuiteBSupported()).thenReturn(true);
+        createController(null, WifiConfigUiBase2.MODE_MODIFY, false);
         final Spinner securitySpinner = mView.findViewById(R.id.security);
         final Spinner eapMethodSpinner = mView.findViewById(R.id.method);
         int wpa3Eap192bitPosition = -1;
@@ -570,6 +577,7 @@
 
     @Test
     public void checkImeStatus_whenAdvancedToggled_shouldBeHide() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final InputMethodManager inputMethodManager = mContext
                 .getSystemService(InputMethodManager.class);
         final ShadowInputMethodManager shadowImm = Shadows.shadowOf(inputMethodManager);
@@ -583,6 +591,7 @@
 
     @Test
     public void selectEapMethod_savedWifiEntry_shouldGetCorrectPosition() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
         final Spinner eapMethodSpinner = mView.findViewById(R.id.method);
         final Spinner phase2Spinner = mView.findViewById(R.id.phase2);
@@ -627,6 +636,7 @@
 
     @Test
     public void getWepConfig_withNumberAndCharacterKey_shouldContainTheSameKey() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         password.setText(NUMBER_AND_CHARACTER_KEY);
         mController.mWifiEntrySecurity = WifiEntry.SECURITY_WEP;
@@ -638,6 +648,7 @@
 
     @Test
     public void getWepConfig_withPartialNumberAndCharacterKey_shouldContainDifferentKey() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         password.setText(PARTIAL_NUMBER_AND_CHARACTER_KEY);
         mController.mWifiEntrySecurity = WifiEntry.SECURITY_WEP;
@@ -649,6 +660,7 @@
 
     @Test
     public void getPskConfig_withValidHexKey_shouldContainTheSameKey() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         password.setText(VALID_HEX_PSK);
         mController.mWifiEntrySecurity = WifiEntry.SECURITY_PSK;
@@ -660,6 +672,7 @@
 
     @Test
     public void getPskConfig_withInvalidHexKey_shouldContainDifferentKey() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         final TextView password = mView.findViewById(R.id.password);
         password.setText(INVALID_HEX_PSK);
         mController.mWifiEntrySecurity = WifiEntry.SECURITY_PSK;
@@ -671,6 +684,7 @@
 
     @Test
     public void getEapConfig_withPhase2Gtc_shouldContainGtcMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method PEAP
@@ -688,6 +702,7 @@
 
     @Test
     public void getEapConfig_withPhase2Sim_shouldContainSimMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method PEAP
@@ -705,6 +720,7 @@
 
     @Test
     public void getEapConfig_withPhase2Aka_shouldContainAkaMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method PEAP
@@ -722,6 +738,7 @@
 
     @Test
     public void getEapConfig_withPhase2AkaPrime_shouldContainAkaPrimeMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method PEAP
@@ -740,6 +757,7 @@
 
     @Test
     public void getEapConfig_withPeapPhase2Unknown_shouldContainNoneMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method PEAP
@@ -757,6 +775,7 @@
 
     @Test
     public void getEapConfig_withTTLSPhase2Pap_shouldContainPapMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method TTLS
@@ -774,6 +793,7 @@
 
     @Test
     public void getEapConfig_withTTLSPhase2Mschap_shouldContainMschapMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method TTLS
@@ -791,6 +811,7 @@
 
     @Test
     public void getEapConfig_withTTLSPhase2Gtc_shouldContainGtcMethod() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         setUpModifyingSavedPeapConfigController();
 
         // Test EAP method TTLS
@@ -816,15 +837,13 @@
         when(mockWifiEnterpriseConfig.getEapMethod()).thenReturn(Eap.PEAP);
         mockWifiConfig.enterpriseConfig = mockWifiEnterpriseConfig;
         when(mWifiEntry.getWifiConfiguration()).thenReturn(mockWifiConfig);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_MODIFY);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_MODIFY, false);
     }
 
     @Test
     public void loadSims_noSim_simSpinnerDefaultNoSim() {
         when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         mController.mEapMethodSpinner = mEapMethodSimSpinner;
 
         mController.loadSims();
@@ -844,8 +863,7 @@
         when(subscriptionInfo.getCarrierName()).thenReturn("FAKE-CARRIER");
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(subscriptionInfo));
         mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(subscriptionInfo));
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         mController.mEapMethodSpinner = mEapMethodSimSpinner;
 
         mController.loadSims();
@@ -861,8 +879,7 @@
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
         mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(sub1, sub2));
         when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         mController.mEapMethodSpinner = mEapMethodSimSpinner;
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
 
@@ -878,8 +895,7 @@
         SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(sub1, sub2));
         mShadowSubscriptionManager.setActiveSubscriptionInfoList(Arrays.asList(sub1, sub2));
         when(mWifiEntry.getSecurity()).thenReturn(WifiEntry.SECURITY_EAP);
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         mController.mEapMethodSpinner = mEapMethodSimSpinner;
         ShadowSubscriptionManager.setDefaultDataSubscriptionId(1);
 
@@ -906,6 +922,7 @@
 
     @Test
     public void onItemSelected_shouldPersistentInstallCertsAndStartInstallActivity() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         String installCertsString = "install_certs";
         Spinner eapCaCertSpinner = mock(Spinner.class);
         AdapterView view = mock(AdapterView.class);
@@ -947,6 +964,7 @@
 
     @Test
     public void getEapMinTlsVerSpinner_isTlsV13Supported_containsTlsV13() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         Spinner spinner = mController.getEapMinTlsVerSpinner(true /* isTlsV13Supported */);
 
         List<Object> list = IntStream.range(0, spinner.getAdapter().getCount())
@@ -957,6 +975,7 @@
 
     @Test
     public void getEapMinTlsVerSpinner_isNotTlsV13Supported_doesNotContainTlsV13() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         Spinner spinner = mController.getEapMinTlsVerSpinner(false /* isTlsV13Supported */);
 
         List<Object> list = IntStream.range(0, spinner.getAdapter().getCount())
@@ -967,6 +986,7 @@
 
     @Test
     public void setAnonymousIdVisible_showAnonymousIdAndSetDefaultId() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
         View anonymousLayout = mView.findViewById(R.id.l_anonymous);
         TextView anonymousId = mView.findViewById(R.id.anonymous);
         mController.mEapAnonymousView = anonymousId;
@@ -979,6 +999,18 @@
         assertThat(anonymousId.getText().toString()).isEqualTo(DEFAULT_ANONYMOUS_ID);
     }
 
+    @Test
+    public void setAnonymousIdVisible_viewIsVisible_doNotSetText() {
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_CONNECT, false);
+        View anonymousLayout = mView.findViewById(R.id.l_anonymous);
+        mController.mEapAnonymousView = mock(TextView.class);
+        anonymousLayout.setVisibility(View.VISIBLE);
+
+        mController.setAnonymousIdVisible();
+
+        verify(mController.mEapAnonymousView, never()).setText(any(String.class));
+    }
+
     private void setUpModifyingSavedCertificateConfigController(String savedCaCertificate,
             String savedUserCertificate) {
         final WifiConfiguration mockWifiConfig = spy(new WifiConfiguration());
@@ -1005,8 +1037,7 @@
                     .thenReturn(ImmutableList.of(savedUserCertificate));
         }
 
-        mController = new TestWifiConfigController2(mConfigUiBase, mView, mWifiEntry,
-                WifiConfigUiBase2.MODE_MODIFY);
+        createController(mWifiEntry, WifiConfigUiBase2.MODE_MODIFY, false);
 
         //  Because Robolectric has a different behavior from normal flow.
         //
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
index 8ecbaf6..2ff4596 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiConfigControllerTest.java
@@ -351,15 +351,18 @@
         for (int i = 0; i < adapter.getCount(); i++) {
             String val = adapter.getItem(i);
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_sae)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_sae)) == 0) {
                 saeFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_eap_suiteb)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_eap_suiteb)) == 0) {
                 suitebFound = true;
             }
 
-            if (val.compareTo(mContext.getString(R.string.wifi_security_owe)) == 0) {
+            if (val.compareTo(mContext.getString(
+                    com.android.settingslib.R.string.wifi_security_owe)) == 0) {
                 oweFound = true;
             }
         }
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialog2Test.java b/tests/robotests/src/com/android/settings/wifi/WifiDialog2Test.java
deleted file mode 100644
index f1ab438..0000000
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialog2Test.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.testutils.shadow.ShadowEntityHeaderController;
-import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener;
-import com.android.wifitrackerlib.WifiEntry;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-import org.robolectric.annotation.Config;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowEntityHeaderController.class)
-public class WifiDialog2Test {
-    @Mock private WifiEntry mMockWifiEntry;
-
-    private Context mContext = RuntimeEnvironment.application;
-
-    private WifiDialog2Listener mListener = new WifiDialog2Listener() {};
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-    }
-
-    @Test
-    public void createModal_usesDefaultTheme() {
-        WifiDialog2 modal = WifiDialog2
-                .createModal(mContext, mListener, mMockWifiEntry, WifiConfigUiBase2.MODE_CONNECT);
-
-        WifiDialog2 wifiDialog2 = new WifiDialog2(mContext, mListener, mMockWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT, 0 /* style */, false /* hideSubmitButton */);
-        assertThat(modal.getContext().getThemeResId())
-                .isEqualTo(wifiDialog2.getContext().getThemeResId());
-    }
-
-    @Test
-    public void createModal_whenSetTheme_shouldBeCustomizedTheme() {
-        WifiDialog2 modal = WifiDialog2.createModal(mContext, mListener, mMockWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light);
-
-        WifiDialog2 wifiDialog2 = new WifiDialog2(mContext, mListener, mMockWifiEntry,
-                WifiConfigUiBase2.MODE_CONNECT, R.style.SuwAlertDialogThemeCompat_Light,
-                        false /* hideSubmitButton */);
-        assertThat(modal.getContext().getThemeResId())
-                .isEqualTo(wifiDialog2.getContext().getThemeResId());
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
index ad3cfd4..886a4bc 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiDialogActivityTest.java
@@ -28,7 +28,9 @@
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
@@ -42,8 +44,8 @@
 import android.os.UserManager;
 
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.wifi.AccessPoint;
+import com.android.wifitrackerlib.NetworkDetailsTracker;
 import com.android.wifitrackerlib.WifiEntry;
 
 import com.google.android.setupcompat.util.WizardManagerHelper;
@@ -55,20 +57,21 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.LooperMode;
 
 @RunWith(RobolectricTestRunner.class)
+@LooperMode(LooperMode.Mode.LEGACY)
 public class WifiDialogActivityTest {
 
     static final String CALLING_PACKAGE = "calling_package";
     static final int REQUEST_CODE = REQUEST_CODE_WIFI_DPP_ENROLLEE_QR_CODE_SCANNER;
+    private static final String SSID = "SSID";
 
     @Mock
     UserManager mUserManager;
     @Mock
     PackageManager mPackageManager;
     @Mock
-    WifiManager mWifiManager;
-    @Mock
     WifiDialog mWifiDialog;
     @Mock
     WifiConfiguration mWifiConfiguration;
@@ -93,17 +96,22 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         when(mWifiDialog.getController()).thenReturn(mController);
+        mWifiConfiguration.SSID = SSID;
         when(mController.getConfig()).thenReturn(mWifiConfiguration);
         when(mController.getAccessPoint()).thenReturn(mAccessPoint);
         when(mWifiDialog2.getController()).thenReturn(mWifiConfiguration2);
         when(mWifiConfiguration2.getWifiEntry()).thenReturn(mWifiEntry);
         when(mWifiEntry.canConnect()).thenReturn(true);
         FakeFeatureFactory.setupForTest();
+        WifiTrackerLibProvider mockWifiTrackerLibProvider =
+                FakeFeatureFactory.getFeatureFactory().getWifiTrackerLibProvider();
+        when(mockWifiTrackerLibProvider.createNetworkDetailsTracker(
+                any(), any(), any(), any(), any(), anyLong(), anyLong(), any())
+        ).thenReturn(mock(NetworkDetailsTracker.class));
 
-        mActivity = spy((WifiDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDialogActivity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(WifiDialogActivity.class));
         when(mActivity.getSystemService(UserManager.class)).thenReturn(mUserManager);
-        when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+
         when(mActivity.getSystemService(KeyguardManager.class)).thenReturn(mKeyguardManager);
     }
 
@@ -111,7 +119,8 @@
     public void onSubmit_shouldConnectToNetwork() {
         mActivity.onSubmit(mWifiDialog);
 
-        verify(mWifiManager).connect(any(), any());
+        WifiManager wifiManager = mActivity.getSystemService(WifiManager.class);
+        assertThat(wifiManager.getConnectionInfo().getSSID()).isEqualTo("\"SSID\"");
     }
 
     @Test
@@ -157,9 +166,7 @@
         final Intent intent = new Intent("com.android.settings.WIFI_DIALOG");
         intent.putExtra(WifiDialogActivity.KEY_CHOSEN_WIFIENTRY_KEY, "FAKE_KEY");
         intent.putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, true);
-        mActivity = spy((WifiDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDialogActivity.class, intent)).get());
-        when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+        mActivity = spy(Robolectric.buildActivity(WifiDialogActivity.class, intent).setup().get());
 
         mActivity.onSubmit(mWifiDialog2);
 
@@ -170,13 +177,12 @@
     public void onSubmit_whenConnectForCallerIsFalse_shouldNotConnectToNetwork() {
         final Intent intent = new Intent();
         intent.putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false);
-        mActivity = spy((WifiDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDialogActivity.class, intent)).get());
-        when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+        mActivity = spy(Robolectric.buildActivity(WifiDialogActivity.class, intent).setup().get());
 
         mActivity.onSubmit(mWifiDialog);
 
-        verify(mWifiManager, never()).connect(any(), any());
+        WifiManager wifiManager = mActivity.getSystemService(WifiManager.class);
+        assertThat(wifiManager.getConnectionInfo().getSSID()).isEqualTo(WifiManager.UNKNOWN_SSID);
     }
 
     @Test
@@ -184,9 +190,7 @@
         final Intent intent = new Intent("com.android.settings.WIFI_DIALOG");
         intent.putExtra(WifiDialogActivity.KEY_CHOSEN_WIFIENTRY_KEY, "FAKE_KEY");
         intent.putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false);
-        mActivity = spy((WifiDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDialogActivity.class, intent)).get());
-        when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+        mActivity = spy(Robolectric.buildActivity(WifiDialogActivity.class, intent).setup().get());
 
         mActivity.onSubmit(mWifiDialog2);
 
@@ -199,9 +203,7 @@
         intent.putExtra(WifiDialogActivity.KEY_CONNECT_FOR_CALLER, false);
         intent.putExtra(WizardManagerHelper.EXTRA_IS_FIRST_RUN, true);
         intent.putExtra(WizardManagerHelper.EXTRA_IS_SETUP_FLOW, true);
-        mActivity = spy((WifiDialogActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDialogActivity.class, intent)).get());
-        when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
+        mActivity = spy(Robolectric.buildActivity(WifiDialogActivity.class, intent).create().get());
         doNothing().when(mActivity).createDialogWithSuwTheme();
 
         mActivity.onStart();
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
index 316beb3..f96570c 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiEntryPreferenceTest.java
@@ -19,7 +19,9 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -97,6 +99,9 @@
 
         when(mMockWifiEntry.getTitle()).thenReturn(MOCK_TITLE);
         when(mMockWifiEntry.getSummary(false /* concise */)).thenReturn(MOCK_SUMMARY);
+        when(mMockWifiEntry.getLevel()).thenReturn(0);
+        when(mMockWifiEntry.shouldShowXLevelIcon()).thenReturn(false);
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
 
         when(mMockIconInjector.getIcon(false /* showX */, 0)).thenReturn(mMockDrawable0);
         when(mMockIconInjector.getIcon(false /* showX */, 1)).thenReturn(mMockDrawable1);
@@ -115,7 +120,7 @@
         when(mMockIconInjector.getIcon(true /* showX */, 4))
                 .thenReturn(mMockShowXDrawable4);
 
-        mPref = new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector);
+        mPref = spy(new WifiEntryPreference(mContext, mMockWifiEntry, mMockIconInjector));
     }
 
     @Test
@@ -138,6 +143,27 @@
     }
 
     @Test
+    public void setWifiEntry_connectedStateChanged_setIconAndSummary() {
+        when(mMockWifiEntry.getLevel()).thenReturn(4);
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
+
+        mPref.setWifiEntry(mMockWifiEntry);
+
+        verify(mPref).setIcon(any());
+        verify(mPref).setSummary(anyString());
+
+        // Only the connection state changes.
+        when(mMockWifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_DISCONNECTED);
+        reset(mPref);
+
+        mPref.setWifiEntry(mMockWifiEntry);
+
+        // The icon and summary should be set in case.
+        verify(mPref).setIcon(any());
+        verify(mPref).setSummary(anyString());
+    }
+
+    @Test
     public void titleChanged_refresh_shouldUpdateTitle() {
         final String updatedTitle = "updated title";
         when(mMockWifiEntry.getTitle()).thenReturn(updatedTitle);
@@ -254,6 +280,8 @@
 
     @Test
     public void updateIcon_shouldSetTintListForDrawable() {
+        reset(mMockDrawable4);
+
         mPref.updateIcon(false /* showX */, 4 /* level */);
 
         verify(mMockDrawable4).setTintList(any());
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java b/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
index 1788a0d..64bf525 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiNoInternetDialogTest.java
@@ -43,7 +43,6 @@
 import android.os.Bundle;
 
 import com.android.settings.R;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Ignore;
@@ -57,7 +56,7 @@
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
 
-@Ignore
+@Ignore("b/314867581")
 @RunWith(RobolectricTestRunner.class)
 public class WifiNoInternetDialogTest {
 
@@ -87,8 +86,8 @@
 
     @Test
     public void launchActivity_noIntentAction_shouldNotFatalException() {
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiNoInternetDialog.class)).get();
+        WifiNoInternetDialog wifiNoInternetDialog =
+                Robolectric.setupActivity(WifiNoInternetDialog.class);
     }
 
     @Test
@@ -276,7 +275,6 @@
                 RuntimeEnvironment.application.getPackageName(),
                 WifiNoInternetDialog.class.getName());
         intent.putExtra(ConnectivityManager.EXTRA_NETWORK, network);
-        mActivity = spy((WifiNoInternetDialog) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiNoInternetDialog.class, intent)).get());
+        mActivity = spy(Robolectric.buildActivity(WifiNoInternetDialog.class, intent).get());
     }
 }
\ No newline at end of file
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
index 2c12517..9204d43 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiPrimarySwitchPreferenceControllerTest.java
@@ -46,7 +46,6 @@
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -97,7 +96,6 @@
         assertThat(mController.isAvailable()).isTrue();
     }
 
-    @Ignore
     @Test
     @Config(qualifiers = "mcc999")
     public void testWifiPrimarySwitch_ifDisabled_shouldNotBeShown() {
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java
index 1d3dadf..5937997 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanModeActivityTest.java
@@ -30,7 +30,6 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.testutils.shadow.ShadowUtils;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.wifi.WifiPermissionChecker;
 
 import org.junit.After;
@@ -69,8 +68,7 @@
         when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
         when(mUserManager.isGuestUser()).thenReturn(false);
 
-        mActivity = spy((WifiScanModeActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiScanModeActivity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(WifiScanModeActivity.class));
         when(mActivity.getApplicationContext()).thenReturn(mContext);
         mActivity.mWifiPermissionChecker = mWifiPermissionChecker;
     }
@@ -82,8 +80,8 @@
 
     @Test
     public void launchActivity_noIntentAction_shouldNotFatalException() {
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiScanModeActivity.class)).get();
+        WifiScanModeActivity wifiScanModeActivity =
+                Robolectric.setupActivity(WifiScanModeActivity.class);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
index 6969e14..f732b5e 100644
--- a/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/WifiScanningRequiredFragmentTest.java
@@ -47,8 +47,12 @@
 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 WifiScanningRequiredFragmentTest {
 
     private WifiScanningRequiredFragment mFragment;
diff --git a/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
deleted file mode 100644
index 17d8099..0000000
--- a/tests/robotests/src/com/android/settings/wifi/WifiSettingsTest.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License
- */
-package com.android.settings.wifi;
-
-import static com.android.settings.wifi.WifiConfigUiBase2.MODE_CONNECT;
-import static com.android.settings.wifi.WifiConfigUiBase2.MODE_MODIFY;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.app.Activity;
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.Intent;
-import android.content.res.Resources;
-import android.net.wifi.WifiConfiguration;
-import android.net.wifi.WifiManager;
-import android.os.Bundle;
-import android.os.PowerManager;
-import android.os.UserManager;
-import android.provider.Settings;
-import android.view.ContextMenu;
-import android.view.View;
-
-import androidx.fragment.app.FragmentActivity;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.recyclerview.widget.RecyclerView;
-
-import com.android.settings.R;
-import com.android.settings.datausage.DataUsagePreference;
-import com.android.settings.testutils.shadow.ShadowDataUsageUtils;
-import com.android.settings.testutils.shadow.ShadowFragment;
-import com.android.settingslib.utils.StringUtil;
-import com.android.wifitrackerlib.WifiEntry;
-import com.android.wifitrackerlib.WifiPickerTracker;
-
-import org.junit.Before;
-import org.junit.Test;
-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.ShadowToast;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = ShadowRestrictedPreference.class)
-public class WifiSettingsTest {
-
-    private static final int NUM_NETWORKS = 4;
-    private static final String FAKE_URI_STRING = "fakeuri";
-
-    @Mock
-    private PowerManager mPowerManager;
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private DataUsagePreference mDataUsagePreference;
-    private Context mContext;
-    private WifiSettings mWifiSettings;
-    @Mock
-    private WifiPickerTracker mMockWifiPickerTracker;
-    @Mock
-    private PreferenceManager mPreferenceManager;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        when(mContext.getSystemService(UserManager.class)).thenReturn(mock(UserManager.class));
-
-        mWifiSettings = spy(new WifiSettings());
-        doReturn(mContext).when(mWifiSettings).getContext();
-        doReturn(mPreferenceManager).when(mWifiSettings).getPreferenceManager();
-        doReturn(mPowerManager).when(mContext).getSystemService(PowerManager.class);
-        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
-        doReturn(mContext).when(mPreferenceManager).getContext();
-        mWifiSettings.mAddWifiNetworkPreference = new AddWifiNetworkPreference(mContext);
-        mWifiSettings.mSavedNetworksPreference = new Preference(mContext);
-        mWifiSettings.mConfigureWifiSettingsPreference = new Preference(mContext);
-        mWifiSettings.mWifiPickerTracker = mMockWifiPickerTracker;
-        mWifiSettings.mWifiManager = mWifiManager;
-        mWifiSettings.IS_ENABLED_PROVIDER_MODEL = false;
-    }
-
-    @Test
-    public void addNetworkFragmentSendResult_onActivityResult_shouldHandleEvent() {
-        final WifiSettings WifiSettings = spy(new WifiSettings());
-        final Intent intent = new Intent();
-        doNothing().when(WifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
-
-        WifiSettings.onActivityResult(WifiSettings.ADD_NETWORK_REQUEST, Activity.RESULT_OK,
-                intent);
-
-        verify(WifiSettings).handleAddNetworkRequest(anyInt(), any(Intent.class));
-    }
-
-    @Test
-    public void setAdditionalSettingsSummaries_hasSavedNetwork_preferenceVisible() {
-        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
-        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(0 /* count */);
-
-        mWifiSettings.setAdditionalSettingsSummaries();
-
-        assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isTrue();
-        assertThat(mWifiSettings.mSavedNetworksPreference.getSummary()).isEqualTo(
-                StringUtil.getIcuPluralsString(mContext, NUM_NETWORKS,
-                        R.string.wifi_saved_access_points_summary));
-    }
-
-    @Test
-    public void setAdditionalSettingsSummaries_hasSavedPasspointNetwork_preferenceVisible() {
-        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(0 /* count */);
-        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(NUM_NETWORKS);
-
-        mWifiSettings.setAdditionalSettingsSummaries();
-
-        assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isTrue();
-        assertThat(mWifiSettings.mSavedNetworksPreference.getSummary()).isEqualTo(
-                StringUtil.getIcuPluralsString(mContext, NUM_NETWORKS,
-                        R.string.wifi_saved_passpoint_access_points_summary));
-    }
-
-    @Test
-    public void setAdditionalSettingsSummaries_hasTwoKindsSavedNetwork_preferenceVisible() {
-        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(NUM_NETWORKS);
-        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(NUM_NETWORKS);
-
-        mWifiSettings.setAdditionalSettingsSummaries();
-
-        assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isTrue();
-        assertThat(mWifiSettings.mSavedNetworksPreference.getSummary()).isEqualTo(
-                StringUtil.getIcuPluralsString(mContext, NUM_NETWORKS * 2,
-                        R.string.wifi_saved_all_access_points_summary));
-    }
-
-    @Test
-    public void setAdditionalSettingsSummaries_noSavedNetwork_preferenceInvisible() {
-        when(mMockWifiPickerTracker.getNumSavedNetworks()).thenReturn(0 /* count */);
-        when(mMockWifiPickerTracker.getNumSavedSubscriptions()).thenReturn(0 /* count */);
-
-        mWifiSettings.setAdditionalSettingsSummaries();
-
-        assertThat(mWifiSettings.mSavedNetworksPreference.isVisible()).isFalse();
-    }
-
-    @Test
-    public void setAdditionalSettingsSummaries_wifiWakeupEnabled_displayOn() {
-        final ContentResolver contentResolver = mContext.getContentResolver();
-        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(true);
-        when(mWifiManager.isScanAlwaysAvailable()).thenReturn(true);
-        Settings.Global.putInt(contentResolver, Settings.Global.AIRPLANE_MODE_ON, 0);
-        when(mPowerManager.isPowerSaveMode()).thenReturn(false);
-
-        mWifiSettings.setAdditionalSettingsSummaries();
-
-        assertThat(mWifiSettings.mConfigureWifiSettingsPreference.getSummary()).isEqualTo(
-                mContext.getString(R.string.wifi_configure_settings_preference_summary_wakeup_on));
-    }
-
-    @Test
-    public void setAdditionalSettingsSummaries_wifiWakeupDisabled_displayOff() {
-        final ContentResolver contentResolver = mContext.getContentResolver();
-        when(mWifiManager.isAutoWakeupEnabled()).thenReturn(false);
-
-        mWifiSettings.setAdditionalSettingsSummaries();
-
-        assertThat(mWifiSettings.mConfigureWifiSettingsPreference.getSummary()).isEqualTo(
-                mContext.getString(R.string.wifi_configure_settings_preference_summary_wakeup_off));
-    }
-
-    @Test
-    public void checkAddWifiNetworkPrefernce_preferenceVisible() {
-        assertThat(mWifiSettings.mAddWifiNetworkPreference.isVisible()).isTrue();
-        assertThat(mWifiSettings.mAddWifiNetworkPreference.getTitle()).isEqualTo(
-                mContext.getString(R.string.wifi_add_network));
-    }
-
-    private void setUpForOnCreate() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
-        when(mWifiSettings.getActivity()).thenReturn(activity);
-        final Resources.Theme theme = mContext.getTheme();
-        when(activity.getTheme()).thenReturn(theme);
-        UserManager userManager = mock(UserManager.class);
-        when(activity.getSystemService(Context.USER_SERVICE))
-                .thenReturn(userManager);
-
-        when(mWifiSettings.findPreference(WifiSettings.PREF_KEY_DATA_USAGE))
-                .thenReturn(mDataUsagePreference);
-    }
-
-    @Test
-    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
-    public void checkDataUsagePreference_perferenceInvisibleIfWifiNotSupported() {
-        setUpForOnCreate();
-        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = false;
-
-        mWifiSettings.onCreate(Bundle.EMPTY);
-
-        verify(mDataUsagePreference).setVisible(false);
-    }
-
-    @Test
-    @Config(shadows = {ShadowDataUsageUtils.class, ShadowFragment.class})
-    public void checkDataUsagePreference_perferenceVisibleIfWifiSupported() {
-        setUpForOnCreate();
-        ShadowDataUsageUtils.IS_WIFI_SUPPORTED = true;
-
-        mWifiSettings.onCreate(Bundle.EMPTY);
-
-        verify(mDataUsagePreference).setVisible(true);
-        verify(mDataUsagePreference).setTemplate(any(), eq(0) /*subId*/, eq(null) /*service*/);
-    }
-
-    @Test
-    public void onCreateAdapter_hasStableIdsTrue() {
-        final PreferenceScreen preferenceScreen = mock(PreferenceScreen.class);
-        when(preferenceScreen.getContext()).thenReturn(mContext);
-
-        RecyclerView.Adapter adapter = mWifiSettings.onCreateAdapter(preferenceScreen);
-
-        assertThat(adapter.hasStableIds()).isTrue();
-    }
-
-    @Test
-    public void onCreateContextMenu_shouldHaveForgetAndDisconnectMenuForConnectedWifiEntry() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
-        when(activity.getApplicationContext()).thenReturn(mContext);
-        when(mWifiSettings.getActivity()).thenReturn(activity);
-
-        final WifiEntry wifiEntry = mock(WifiEntry.class);
-        when(wifiEntry.canDisconnect()).thenReturn(true);
-        when(wifiEntry.canForget()).thenReturn(true);
-        when(wifiEntry.isSaved()).thenReturn(true);
-        when(wifiEntry.getConnectedState()).thenReturn(WifiEntry.CONNECTED_STATE_CONNECTED);
-
-        final LongPressWifiEntryPreference connectedWifiEntryPreference =
-                mWifiSettings.createLongPressWifiEntryPreference(wifiEntry);
-        final View view = mock(View.class);
-        when(view.getTag()).thenReturn(connectedWifiEntryPreference);
-
-        final ContextMenu menu = mock(ContextMenu.class);
-        mWifiSettings.onCreateContextMenu(menu, view, null /* info */);
-
-        verify(menu).add(anyInt(), eq(WifiSettings.MENU_ID_FORGET), anyInt(), anyInt());
-        verify(menu).add(anyInt(), eq(WifiSettings.MENU_ID_DISCONNECT), anyInt(), anyInt());
-    }
-
-    @Test
-    public void onWifiEntriesChanged_shouldChangeNextButtonState() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
-        doReturn(false).when(activity).isFinishing();
-        doReturn(false).when(activity).isDestroyed();
-        doReturn(activity).when(mWifiSettings).getActivity();
-
-        mWifiSettings.onWifiEntriesChanged();
-
-        verify(mWifiSettings).changeNextButtonState(anyBoolean());
-    }
-
-    @Test
-    public void openSubscriptionHelpPage_shouldCallStartActivityForResult() {
-        doReturn(new Intent()).when(mWifiSettings).getHelpIntent(mContext, FAKE_URI_STRING);
-        doNothing().when(mWifiSettings).startActivityForResult(any(Intent.class), anyInt());
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getHelpUriString()).thenReturn(FAKE_URI_STRING);
-
-        mWifiSettings.openSubscriptionHelpPage(mockWifiEntry);
-
-        verify(mWifiSettings, times(1)).startActivityForResult(any(), anyInt());
-    }
-
-    @Test
-    public void onNumSavedNetworksChanged_isFinishing_ShouldNotCrash() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
-        when(activity.isFinishing()).thenReturn(true);
-        when(mWifiSettings.getActivity()).thenReturn(activity);
-        when(mWifiSettings.getContext()).thenReturn(null);
-
-        mWifiSettings.onNumSavedNetworksChanged();
-    }
-
-    @Test
-    public void onNumSavedSubscriptionsChanged_isFinishing_ShouldNotCrash() {
-        final FragmentActivity activity = mock(FragmentActivity.class);
-        when(activity.isFinishing()).thenReturn(true);
-        when(mWifiSettings.getActivity()).thenReturn(activity);
-        when(mWifiSettings.getContext()).thenReturn(null);
-
-        mWifiSettings.onNumSavedSubscriptionsChanged();
-    }
-
-    @Test
-    public void onSubmit_modeModifyNoConfig_toastErrorMessage() {
-        WifiDialog2 dialog = createWifiDialog2(MODE_MODIFY, null /* config */);
-
-        mWifiSettings.onSubmit(dialog);
-
-        assertThat(ShadowToast.getTextOfLatestToast()).isEqualTo(
-                mContext.getString(R.string.wifi_failed_save_message));
-    }
-
-    @Test
-    public void onSubmit_modeModifyHasConfig_saveWifiManager() {
-        final WifiConfiguration config = mock(WifiConfiguration.class);
-        WifiDialog2 dialog = createWifiDialog2(MODE_MODIFY, config);
-
-        mWifiSettings.onSubmit(dialog);
-
-        verify(mWifiManager).save(eq(config), any());
-    }
-
-    @Test
-    public void onSubmit_modeConnectNoConfig_connectWifiEntry() {
-        WifiDialog2 dialog = createWifiDialog2(MODE_CONNECT, null /* config */);
-        final WifiEntry wifiEntry = dialog.getWifiEntry();
-
-        mWifiSettings.onAttach(mContext);
-        mWifiSettings.onSubmit(dialog);
-
-        verify(mWifiSettings).connect(wifiEntry, false /* editIfNoConfig */,
-                false /* fullScreenEdit*/);
-    }
-
-    @Test
-    public void onSubmit_modeConnectHasConfig_connectWifiManager() {
-        final WifiConfiguration config = mock(WifiConfiguration.class);
-        WifiDialog2 dialog = createWifiDialog2(MODE_CONNECT, config);
-
-        mWifiSettings.onSubmit(dialog);
-
-        verify(mWifiManager).connect(eq(config), any(WifiManager.ActionListener.class));
-    }
-
-    private WifiDialog2 createWifiDialog2(int mode, WifiConfiguration config) {
-        final WifiEntry wifiEntry = mock(WifiEntry.class);
-        when(wifiEntry.canConnect()).thenReturn(true);
-        final WifiConfigController2 controller = mock(WifiConfigController2.class);
-        when(controller.getConfig()).thenReturn(config);
-        final WifiDialog2 wifiDialog2 =  spy(WifiDialog2.createModal(mContext, null /* listener */,
-                wifiEntry, mode));
-        when(wifiDialog2.getController()).thenReturn(controller);
-        return wifiDialog2;
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
index dccd023..2c4bf9f 100644
--- a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksActivityTest.java
@@ -22,12 +22,12 @@
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
-import android.annotation.Nullable;
 import android.app.IActivityManager;
 import android.content.Context;
 import android.os.RemoteException;
 import android.os.UserManager;
 
+import androidx.annotation.Nullable;
 import androidx.test.core.app.ApplicationProvider;
 
 import org.junit.Before;
diff --git a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java
index c5f4cd4..699a8e8 100644
--- a/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/addappnetworks/AddAppNetworksFragmentTest.java
@@ -43,7 +43,6 @@
 
 import com.android.settings.R;
 import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.wifitrackerlib.WifiEntry;
 import com.android.wifitrackerlib.WifiPickerTracker;
 
@@ -56,12 +55,16 @@
 import org.mockito.MockitoAnnotations;
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 import org.robolectric.shadows.androidx.fragment.FragmentController;
 
 import java.util.ArrayList;
 import java.util.List;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class AddAppNetworksFragmentTest {
 
     private static final String FAKE_APP_NAME = "fake_app_name";
@@ -100,8 +103,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mAddAppNetworksFragment = spy(new AddAppNetworksFragment());
-        mActivity = spy((FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(FragmentActivity.class));
         doReturn(mActivity).when(mAddAppNetworksFragment).getActivity();
         when(mWifiManager.isWifiEnabled()).thenReturn(true);
         when(mActivity.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java
index da0bdf2..0ece537 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingDisclaimerFragmentTest.java
@@ -40,7 +40,6 @@
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowDisclaimerItemFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
-import com.android.settings.utils.ActivityControllerWrapper;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -90,8 +89,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
 
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mFragment = spy(new WifiCallingDisclaimerFragment());
 
         doReturn(mActivity).when(mFragment).getActivity();
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 1faa611..4497a0a 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSettingsForSubTest.java
@@ -40,7 +40,10 @@
 import android.content.Intent;
 import android.os.Bundle;
 import android.os.PersistableBundle;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.telephony.CarrierConfigManager;
+import android.telephony.NetworkRegistrationInfo;
+import android.telephony.ServiceState;
 import android.telephony.TelephonyManager;
 import android.telephony.ims.ImsMmTelManager;
 import android.view.View;
@@ -48,6 +51,7 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceScreen;
 
+import com.android.internal.telephony.flags.Flags;
 import com.android.settings.R;
 import com.android.settings.SettingsActivity;
 import com.android.settings.network.ims.MockWifiCallingQueryImsState;
@@ -57,6 +61,7 @@
 import com.android.settings.widget.SettingsMainSwitchPreference;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -70,6 +75,7 @@
 @Config(shadows = ShadowFragment.class)
 @RunWith(RobolectricTestRunner.class)
 public class WifiCallingSettingsForSubTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
     private static final int SUB_ID = 2;
 
     private static final String SWITCH_BAR = "wifi_calling_switch_bar";
@@ -158,6 +164,7 @@
         mFragment.onAttach(mContext);
         mFragment.onCreate(null);
         mFragment.onActivityCreated(null);
+        mSetFlagsRule.disableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG);
     }
 
     private void setDefaultCarrierConfigValues() {
@@ -241,6 +248,31 @@
     }
 
     @Test
+    public void onResume_overrideWfcRoamingModeWhileUsingNTN_shouldDisableWfcRoaming() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_CARRIER_ENABLED_SATELLITE_FLAG);
+        mBundle.putBoolean(
+                CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL, false);
+        mBundle.putBoolean(CarrierConfigManager.KEY_EDITABLE_WFC_ROAMING_MODE_BOOL, true);
+        mBundle.putBoolean(
+                CarrierConfigManager.KEY_OVERRIDE_WFC_ROAMING_MODE_WHILE_USING_NTN_BOOL, true);
+
+        // Phone connected to non-terrestrial network
+        NetworkRegistrationInfo nri = new NetworkRegistrationInfo.Builder()
+                .setIsNonTerrestrialNetwork(true)
+                .build();
+        ServiceState ss = new ServiceState();
+        ss.addNetworkRegistrationInfo(nri);
+        doReturn(ss).when(mTelephonyManager).getServiceState();
+
+        // Call onResume to update the WFC roaming preference.
+        mFragment.onResume();
+
+        // Check that WFC roaming preference is visible but disabled
+        verify(mButtonWfcRoamingMode, times(1)).setEnabled(false);
+        verify(mButtonWfcRoamingMode, times(1)).setVisible(true);
+    }
+
+    @Test
     public void onResume_useWfcHomeModeConfigTrueAndNotEditable_shouldHideWfcRoaming() {
         mBundle.putBoolean(
                 CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL, true);
@@ -292,7 +324,7 @@
     public void onSwitchChanged_enableSetting_shouldLaunchWfcDisclaimerFragment() {
         final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
 
-        mFragment.onSwitchChanged(null, true);
+        mFragment.onCheckedChanged(null, true);
 
         // Check the WFC disclaimer fragment is launched.
         verify(mFragment).startActivityForResult(intentCaptor.capture(),
@@ -337,7 +369,7 @@
 
     @Test
     public void onSwitchChanged_disableSetting_shouldNotLaunchWfcDisclaimerFragment() {
-        mFragment.onSwitchChanged(null, false);
+        mFragment.onCheckedChanged(null, false);
 
         // Check the WFC disclaimer fragment is not launched.
         verify(mFragment, never()).startActivityForResult(any(Intent.class), anyInt());
diff --git a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
index 45e4c6b..2d64e16 100644
--- a/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/calling/WifiCallingSliceHelperTest.java
@@ -47,7 +47,6 @@
 import androidx.slice.widget.SliceContent;
 import androidx.slice.widget.SliceLiveData;
 
-import com.android.ims.ImsManager;
 import com.android.settings.R;
 import com.android.settings.network.ims.MockWifiCallingQueryImsState;
 import com.android.settings.slices.CustomSliceRegistry;
@@ -79,9 +78,6 @@
     private CarrierConfigManager mMockCarrierConfigManager;
 
     @Mock
-    private ImsManager mMockImsManager;
-
-    @Mock
     private ImsMmTelManager mMockImsMmTelManager;
 
     private MockWifiCallingQueryImsState mQueryImsState;
@@ -112,6 +108,7 @@
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsEnabledByPlatform(true);
         mQueryImsState.setIsProvisionedOnDevice(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
 
         mWfcSliceHelper = spy(new FakeWifiCallingSliceHelper(mContext));
         doReturn(mQueryImsState).when(mWfcSliceHelper).queryImsState(anyInt());
@@ -121,20 +118,9 @@
     }
 
     @Test
-    public void test_CreateWifiCallingSlice_invalidSubId() {
-        mQueryImsState.setIsEnabledByUser(true);
+    public void createWifiCallingSlice_notReadyToWifiCalling_wfcNotSupported() {
         mQueryImsState.setIsProvisionedOnDevice(false);
-        mWfcSliceHelper.setDefaultVoiceSubId(-1);
-
-        final Slice slice = mWfcSliceHelper.createWifiCallingSlice(
-                CustomSliceRegistry.WIFI_CALLING_URI);
-
-        assertThat(slice).isNull();
-    }
-
-    @Test
-    public void test_CreateWifiCallingSlice_wfcNotSupported() {
-        mQueryImsState.setIsProvisionedOnDevice(false);
+        mQueryImsState.setIsReadyToWifiCalling(false);
 
         final Slice slice = mWfcSliceHelper.createWifiCallingSlice(
                 CustomSliceRegistry.WIFI_CALLING_URI);
@@ -153,6 +139,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(false);
         mQueryImsState.setIsTtyOnVolteEnabled(false);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
         mWfcSliceHelper.setActivationAppIntent(new Intent()); // unused Intent
 
@@ -170,6 +157,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
 
         final Slice slice = mWfcSliceHelper.createWifiCallingSlice(
@@ -184,6 +172,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mMockCarrierConfigManager.getConfigForSubId(1)).thenReturn(null);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
                 .thenReturn(mWfcSliceHelper);
@@ -200,6 +189,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(false);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
                 .thenReturn(mWfcSliceHelper);
         mWfcSliceHelper.setActivationAppIntent(null);
@@ -225,6 +215,7 @@
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(false);
+        mQueryImsState.setIsReadyToWifiCalling(false);
 
         final Slice slice = mWfcSliceHelper.createWifiCallingPreferenceSlice(
                 CustomSliceRegistry.WIFI_CALLING_PREFERENCE_URI);
@@ -254,6 +245,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
                 ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
         mWfcSliceHelper.setIsWifiCallingPrefEditable(true);
@@ -271,6 +263,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
                 ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
@@ -289,6 +282,7 @@
         mQueryImsState.setIsProvisionedOnDevice(true);
         mQueryImsState.setIsEnabledByUser(true);
         mQueryImsState.setIsTtyOnVolteEnabled(true);
+        mQueryImsState.setIsReadyToWifiCalling(true);
         when(mMockImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
                 ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
         when(mSlicesFeatureProvider.getNewWifiCallingSliceHelper(mContext))
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 52a1a6c..8f96e27 100644
--- a/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/details/WifiNetworkDetailsFragmentTest.java
@@ -22,7 +22,7 @@
 import static android.net.wifi.sharedconnectivity.app.HotspotNetwork.NETWORK_TYPE_WIFI;
 import static android.telephony.SignalStrength.SIGNAL_STRENGTH_GREAT;
 
-import static com.android.settings.wifi.WifiSettings.WIFI_DIALOG_ID;
+import static com.android.settings.network.NetworkProviderSettings.WIFI_DIALOG_ID;
 import static com.android.settings.wifi.details.WifiNetworkDetailsFragment.KEY_HOTSPOT_CONNECTION_CATEGORY;
 import static com.android.settings.wifi.details.WifiNetworkDetailsFragment.KEY_HOTSPOT_DEVICE_BATTERY;
 import static com.android.settings.wifi.details.WifiNetworkDetailsFragment.KEY_HOTSPOT_DEVICE_CATEGORY;
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
index 406e0c3..3923cf8 100644
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/details2/WifiDetailPreferenceController2Test.java
@@ -94,6 +94,7 @@
 import com.android.wifitrackerlib.WifiEntry.ConnectCallback;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Answers;
@@ -120,7 +121,10 @@
 
 // TODO(b/143326832): Should add test cases for connect button.
 @RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowDevicePolicyManager.class, ShadowEntityHeaderController.class})
+@Config(shadows = {
+        ShadowDevicePolicyManager.class,
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+        ShadowEntityHeaderController.class})
 public class WifiDetailPreferenceController2Test {
 
     private static final int LEVEL = 1;
@@ -307,8 +311,6 @@
         // builder pattern
         when(mMockHeaderController.setLabel(any(CharSequence.class)))
                 .thenReturn(mMockHeaderController);
-        when(mMockHeaderController.setRecyclerView(mMockFragment.getListView(), mLifecycle))
-                .thenReturn(mMockHeaderController);
         when(mMockHeaderController.setSummary(nullable(String.class)))
                 .thenReturn(mMockHeaderController);
         when(mMockHeaderController.setSecondSummary(nullable(String.class)))
@@ -436,16 +438,6 @@
     }
 
     @Test
-    public void latestWifiInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
-        setUpForConnectedNetwork();
-        setUpSpyController();
-
-        displayAndResume();
-
-        verify(mMockWifiManager, times(1)).getConnectionInfo();
-    }
-
-    @Test
     public void latestWifiInfo_shouldNotBeFetchedInDisplayPreferenceForDisconnectedNetwork() {
         setUpForDisconnectedNetwork();
 
@@ -464,16 +456,6 @@
     }
 
     @Test
-    public void latestNetworkInfo_shouldBeFetchedInDisplayPreferenceForConnectedNetwork() {
-        setUpForConnectedNetwork();
-        setUpSpyController();
-
-        displayAndResume();
-
-        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
-    }
-
-    @Test
     public void latestNetworkInfo_shouldNotBeFetchedInDisplayPreferenceForDisconnectedNetwork() {
         setUpForDisconnectedNetwork();
 
@@ -754,6 +736,7 @@
         verify(mMockRxLinkSpeedPref).setSummary("100 Mbps");
     }
 
+    @Ignore("b/313536962")
     @Test
     public void ssidPref_isSubscription_show() {
         setUpForConnectedNetwork();
@@ -953,6 +936,7 @@
         verify(mMockActivity, never()).finish();
     }
 
+    @Ignore("b/313536962")
     @Test
     public void noLinkProperties_allIpDetailsHidden() {
         setUpForConnectedNetwork();
@@ -975,6 +959,7 @@
         verify(mMockDnsPref, never()).setVisible(true);
     }
 
+    @Ignore("b/313536962")
     @Test
     public void disconnectedNetwork_allIpDetailsHidden() {
         setUpForDisconnectedNetwork();
@@ -1024,6 +1009,7 @@
         inOrder.verify(mMockIpv6AddressesPref).setSummary(text);
     }
 
+    @Ignore("b/313536962")
     @Test
     public void onLinkPropertiesChanged_updatesFields() {
         setUpForConnectedNetwork();
@@ -1282,8 +1268,9 @@
 
         displayAndResume();
 
-        verify(mMockConnectivityManager, times(1)).getNetworkInfo(any(Network.class));
-        verify(mMockWifiManager, times(1)).getConnectionInfo();
+        verify(mMockWifiManager, times(1)).getCurrentNetwork();
+        verify(mMockConnectivityManager, times(1)).getLinkProperties(any(Network.class));
+        verify(mMockConnectivityManager, times(1)).getNetworkCapabilities(any(Network.class));
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
deleted file mode 100644
index d3244fa..0000000
--- a/tests/robotests/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.details2;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-
-import androidx.preference.DropDownPreference;
-
-import com.android.settings.R;
-import com.android.wifitrackerlib.WifiEntry;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class WifiPrivacyPreferenceController2Test {
-
-    private static final int PRIVACY_RANDOMIZED = WifiEntry.PRIVACY_RANDOMIZED_MAC;
-    private static final int PRIVACY_TRUSTED = WifiEntry.PRIVACY_DEVICE_MAC;
-
-    @Mock private WifiEntry mMockWifiEntry;
-
-    private WifiPrivacyPreferenceController2 mPreferenceController;
-    private Context mContext;
-    private DropDownPreference mDropDownPreference;
-    private String[] mPerferenceStrings;
-
-    @Before
-    public void setUp() {
-        mContext = RuntimeEnvironment.application;
-
-        mMockWifiEntry = mock(WifiEntry.class);
-        WifiPrivacyPreferenceController2 preferenceController =
-                new WifiPrivacyPreferenceController2(mContext);
-        preferenceController.setWifiEntry(mMockWifiEntry);
-        mPreferenceController = spy(preferenceController);
-        mDropDownPreference = new DropDownPreference(mContext);
-        mDropDownPreference.setEntries(R.array.wifi_privacy_entries);
-        mDropDownPreference.setEntryValues(R.array.wifi_privacy_values);
-
-        mPerferenceStrings = mContext.getResources().getStringArray(R.array.wifi_privacy_entries);
-    }
-
-    @Test
-    public void testUpdateState_wifiPrivacy_setCorrectValue() {
-        doReturn(PRIVACY_TRUSTED).when(mPreferenceController).getRandomizationValue();
-
-        mPreferenceController.updateState(mDropDownPreference);
-
-        int prefValue = mPreferenceController.translateMacRandomizedValueToPrefValue(
-                PRIVACY_TRUSTED);
-        assertThat(mDropDownPreference.getEntry()).isEqualTo(mPerferenceStrings[prefValue]);
-    }
-
-    @Test
-    public void testUpdateState_wifiNotMetered_setCorrectValue() {
-        doReturn(PRIVACY_RANDOMIZED).when(mPreferenceController).getRandomizationValue();
-
-        mPreferenceController.updateState(mDropDownPreference);
-
-        int prefValue = mPreferenceController.translateMacRandomizedValueToPrefValue(
-                PRIVACY_RANDOMIZED);
-        assertThat(mDropDownPreference.getEntry()).isEqualTo(mPerferenceStrings[prefValue]);
-    }
-
-    @Test
-    public void testUpdateState_canSetPrivacyInNextUpdate_shouldBeSelectable() {
-        // Return false in WifiEntry#canSetPrivacy to make preference un-selectable first.
-        when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
-
-        mPreferenceController.updateState(mDropDownPreference);
-
-        assertThat(mDropDownPreference.isSelectable()).isFalse();
-
-        // Return true in WifiEntry#canSetPrivacy to verify preference back to selectable.
-        when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
-
-        mPreferenceController.updateState(mDropDownPreference);
-
-        assertThat(mDropDownPreference.isSelectable()).isTrue();
-    }
-
-    @Test
-    public void testUpdateState_canNotSetPrivacyInNextUpdate_shouldNotBeSelectable() {
-        // Return true in WifiEntry#canSetPrivacy to make preference selectable first.
-        when(mMockWifiEntry.canSetPrivacy()).thenReturn(true);
-
-        mPreferenceController.updateState(mDropDownPreference);
-
-        assertThat(mDropDownPreference.isSelectable()).isTrue();
-
-        // Return false in WifiEntry#canSetPrivacy to verify preference back to un-selectable.
-        when(mMockWifiEntry.canSetPrivacy()).thenReturn(false);
-
-        mPreferenceController.updateState(mDropDownPreference);
-
-        assertThat(mDropDownPreference.isSelectable()).isFalse();
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
index 56c1ec7..73e4811 100644
--- a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppConfiguratorActivityTest.java
@@ -28,9 +28,8 @@
 
 import androidx.test.core.app.ApplicationProvider;
 
-import com.android.settings.utils.ActivityControllerWrapper;
-
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -41,6 +40,7 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 
+@Ignore("b/314867581")
 @RunWith(RobolectricTestRunner.class)
 public class WifiDppConfiguratorActivityTest {
 
@@ -64,15 +64,14 @@
         mIntent.putExtra(WifiDppUtils.EXTRA_WIFI_SECURITY, "WPA");
         mIntent.putExtra(WifiDppUtils.EXTRA_WIFI_PRE_SHARED_KEY, "\\012345678,");
 
-        mActivity = spy((WifiDppConfiguratorActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDppConfiguratorActivity.class)).get());
+        mActivity = spy(Robolectric.setupActivity(WifiDppConfiguratorActivity.class));
         when(mActivity.getApplicationContext()).thenReturn(mContext);
     }
 
     @Test
     public void launchActivity_noIntentAction_shouldNotFatalException() {
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDppConfiguratorActivity.class)).get();
+        WifiDppConfiguratorActivity wifiDppConfiguratorActivity =
+                Robolectric.setupActivity(WifiDppConfiguratorActivity.class);
     }
 
     @Test
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
index 717e4a7..c099060 100644
--- a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppEnrolleeActivityTest.java
@@ -19,12 +19,12 @@
 import static com.android.settings.wifi.dpp.WifiDppEnrolleeActivity.ACTION_ENROLLEE_QR_CODE_SCANNER;
 
 import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Intent;
 
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.wifi.WifiRestrictionsCache;
 
 import org.junit.Before;
@@ -38,6 +38,7 @@
 import org.robolectric.Robolectric;
 import org.robolectric.RobolectricTestRunner;
 
+@Ignore("b/314867581")
 @RunWith(RobolectricTestRunner.class)
 public class WifiDppEnrolleeActivityTest {
 
@@ -58,18 +59,16 @@
         when(mIntent.getAction()).thenReturn(ACTION_ENROLLEE_QR_CODE_SCANNER);
         when(mIntent.getStringExtra(WifiDppUtils.EXTRA_WIFI_SSID)).thenReturn(WIFI_SSID);
 
-        mActivity = (WifiDppEnrolleeActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDppEnrolleeActivity.class)).get();
+        mActivity = spy(Robolectric.setupActivity(WifiDppEnrolleeActivity.class));
         mActivity.mWifiRestrictionsCache = mWifiRestrictionsCache;
     }
 
     @Test
     public void launchActivity_noIntentAction_shouldNotFatalException() {
-        ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(WifiDppEnrolleeActivity.class)).get();
+        WifiDppEnrolleeActivity wifiDppEnrolleeActivity =
+                Robolectric.setupActivity(WifiDppEnrolleeActivity.class);
     }
 
-    @Ignore
     @Test
     public void handleIntent_noIntentAction_shouldFinish() {
         when(mIntent.getAction()).thenReturn(null);
@@ -79,7 +78,6 @@
         verify(mActivity).finish();
     }
 
-    @Ignore
     @Test
     public void handleIntent_notAllowedConfigWifi_shouldFinish() {
         when(mWifiRestrictionsCache.isConfigWifiAllowed()).thenReturn(false);
@@ -89,7 +87,6 @@
         verify(mActivity).finish();
     }
 
-    @Ignore
     @Test
     public void handleIntent_hasIntentDataAndAllowedConfigWifi_shouldShowFragment() {
         when(mWifiRestrictionsCache.isConfigWifiAllowed()).thenReturn(true);
diff --git a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java
index bf978c7..ff1125d 100644
--- a/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/dpp/WifiDppQrCodeScannerFragmentTest.java
@@ -43,10 +43,14 @@
 import org.mockito.junit.MockitoJUnit;
 import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
+import org.robolectric.annotation.Config;
 
 import java.util.Arrays;
 
 @RunWith(RobolectricTestRunner.class)
+@Config(shadows = {
+        com.android.settings.testutils.shadow.ShadowFragment.class,
+})
 public class WifiDppQrCodeScannerFragmentTest {
 
     static final String WIFI_SSID = "wifi-ssid";
diff --git a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
index 25a59a9..99286cf 100644
--- a/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/p2p/WifiP2pSettingsTest.java
@@ -48,10 +48,10 @@
 
 import com.android.settings.testutils.XmlTestUtils;
 import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -66,6 +66,7 @@
 
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowInteractionJankMonitor.class)
+@Ignore
 public class WifiP2pSettingsTest {
 
     private Context mContext;
@@ -90,8 +91,7 @@
         mContext = RuntimeEnvironment.application;
         TestWifiP2pSettings.sMockWifiP2pManager = mWifiP2pManager;
 
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
         mFragment = new TestWifiP2pSettings();
         mFragment.mWifiP2pManager = mWifiP2pManager;
         doReturn(mChannel).when(mWifiP2pManager).initialize(any(), any(), any());
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
index 800e2e4..d9bc0b4 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsPreferenceController2Test.java
@@ -24,29 +24,29 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 
-import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.wifi.WifiEntryPreference;
 import com.android.wifitrackerlib.WifiEntry;
 
 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;
 import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -55,26 +55,38 @@
 @RunWith(RobolectricTestRunner.class)
 public class SavedAccessPointsPreferenceController2Test {
 
+    private static final String PREFERENCE_KEY = "preference_key";
+    private static final String TEST_KEY = "key";
+    private static final String TEST_TITLE = "ssid_title";
+
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Spy
+    private Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
     private PreferenceScreen mPreferenceScreen;
     @Mock
-    private PreferenceCategory mPreferenceCategory;
+    private PreferenceGroup mPreferenceGroup;
+    @Mock
+    private WifiEntryPreference mWifiEntryPreference;
+    @Mock
+    private WifiEntry mWifiEntry;
 
-    private Context mContext;
     private SavedAccessPointsWifiSettings2 mSettings;
     private SavedAccessPointsPreferenceController2 mController;
 
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = RuntimeEnvironment.application;
-        mSettings = spy(new SavedAccessPointsWifiSettings2());
-        mController = spy(new SavedAccessPointsPreferenceController2(mContext, "test_key"));
-        mController.setHost(mSettings);
+        when(mPreferenceScreen.findPreference(PREFERENCE_KEY)).thenReturn(mPreferenceGroup);
+        when(mPreferenceGroup.getContext()).thenReturn(mContext);
+        when(mWifiEntryPreference.getKey()).thenReturn(TEST_KEY);
+        when(mWifiEntryPreference.getTitle()).thenReturn(TEST_TITLE);
+        when(mWifiEntry.getKey()).thenReturn(TEST_KEY);
+        when(mWifiEntry.getTitle()).thenReturn(TEST_TITLE);
 
-        when(mPreferenceScreen.findPreference(mController.getPreferenceKey()))
-                .thenReturn(mPreferenceCategory);
-        when(mPreferenceCategory.getContext()).thenReturn(mContext);
+        mSettings = spy(new SavedAccessPointsWifiSettings2());
+        mController = spy(new SavedAccessPointsPreferenceController2(mContext, PREFERENCE_KEY));
+        mController.setHost(mSettings);
     }
 
     @Test
@@ -86,64 +98,52 @@
 
     @Test
     public void getAvailability_oneSavedAccessPoint_shouldAvailable() {
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        mController.mWifiEntries = Arrays.asList(mockWifiEntry);
+        mController.mWifiEntries = Arrays.asList(mWifiEntry);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
-    @Ignore
     @Test
-    public void displayPreference_oneAccessPoint_shouldListIt() {
-        final String title = "ssid_title";
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getTitle()).thenReturn(title);
-        final ArgumentCaptor<WifiEntryPreference> captor =
+    public void displayPreference_newWifiEntry_addPreference() {
+        when(mPreferenceGroup.getPreferenceCount()).thenReturn(0);
+
+        mController.displayPreference(mPreferenceScreen, Arrays.asList(mWifiEntry));
+
+        ArgumentCaptor<WifiEntryPreference> captor =
                 ArgumentCaptor.forClass(WifiEntryPreference.class);
-
-        mController.displayPreference(mPreferenceScreen, Arrays.asList(mockWifiEntry));
-
-        verify(mPreferenceCategory).addPreference(captor.capture());
-
-        final List<WifiEntryPreference> prefs = captor.getAllValues();
+        verify(mPreferenceGroup).addPreference(captor.capture());
+        List<WifiEntryPreference> prefs = captor.getAllValues();
         assertThat(prefs.size()).isEqualTo(1);
-        assertThat(prefs.get(0).getTitle()).isEqualTo(title);
+        assertThat(prefs.get(0).getTitle()).isEqualTo(TEST_TITLE);
     }
 
-    @Ignore
     @Test
-    public void displayPreference_noAccessPoint_shouldRemoveIt() {
-        final String title = "ssid_title";
-        final String key = "key";
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getTitle()).thenReturn(title);
-        when(mockWifiEntry.getKey()).thenReturn(key);
-        final WifiEntryPreference preference = new WifiEntryPreference(mContext, mockWifiEntry);
-        preference.setKey(key);
-        mPreferenceCategory.addPreference(preference);
+    public void displayPreference_sameWifiEntry_preferenceSetWifiEntry() {
+        when(mPreferenceGroup.getPreferenceCount()).thenReturn(1);
+        when(mPreferenceGroup.getPreference(0)).thenReturn(mWifiEntryPreference);
+
+        mController.displayPreference(mPreferenceScreen, Arrays.asList(mWifiEntry));
+
+        verify(mWifiEntryPreference).setWifiEntry(mWifiEntry);
+    }
+
+    @Test
+    public void displayPreference_removedWifiEntry_removePreference() {
+        when(mPreferenceGroup.getPreferenceCount()).thenReturn(1);
+        when(mPreferenceGroup.getPreference(0)).thenReturn(mWifiEntryPreference);
 
         mController.displayPreference(mPreferenceScreen, new ArrayList<>());
 
-        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(0);
+        verify(mPreferenceGroup).removePreference(any());
     }
 
-    @Ignore
     @Test
     public void onPreferenceClick_shouldCallShowWifiPage() {
-        mContext = spy(RuntimeEnvironment.application);
         doNothing().when(mContext).startActivity(any());
         doReturn(mContext).when(mSettings).getContext();
 
-        final String title = "ssid_title";
-        final String key = "key";
-        final WifiEntry mockWifiEntry = mock(WifiEntry.class);
-        when(mockWifiEntry.getTitle()).thenReturn(title);
-        when(mockWifiEntry.getKey()).thenReturn(key);
-        final WifiEntryPreference preference = new WifiEntryPreference(mContext, mockWifiEntry);
-        preference.setKey(key);
+        mController.onPreferenceClick(mWifiEntryPreference);
 
-        mController.onPreferenceClick(preference);
-
-        verify(mSettings, times(1)).showWifiPage(key, title);
+        verify(mSettings).showWifiPage(TEST_KEY, TEST_TITLE);
     }
 }
diff --git a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java
index d26287d..fc0b946 100644
--- a/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java
+++ b/tests/robotests/src/com/android/settings/wifi/savedaccesspoints2/SavedAccessPointsWifiSettings2Test.java
@@ -34,7 +34,6 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.settings.R;
 import com.android.settings.testutils.shadow.ShadowInteractionJankMonitor;
-import com.android.settings.utils.ActivityControllerWrapper;
 import com.android.settingslib.core.AbstractPreferenceController;
 
 import org.junit.Before;
@@ -48,6 +47,7 @@
 import org.robolectric.RuntimeEnvironment;
 import org.robolectric.annotation.Config;
 
+@Ignore("b/314867581")
 @RunWith(RobolectricTestRunner.class)
 @Config(shadows = ShadowInteractionJankMonitor.class)
 public class SavedAccessPointsWifiSettings2Test {
@@ -66,8 +66,7 @@
         MockitoAnnotations.initMocks(this);
         mContext = spy(RuntimeEnvironment.application);
         mSettings = spy(new TestFragment());
-        mActivity = (FragmentActivity) ActivityControllerWrapper.setup(
-                Robolectric.buildActivity(FragmentActivity.class)).get();
+        mActivity = Robolectric.setupActivity(FragmentActivity.class);
 
         doReturn(mSubscribedApController).when(mSettings)
                 .use(SubscribedAccessPointsPreferenceController2.class);
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java b/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
deleted file mode 100644
index d9c726a..0000000
--- a/tests/robotests/src/com/android/settings/wifi/slice/ContextualWifiSliceTest.java
+++ /dev/null
@@ -1,190 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF 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.slice;
-
-import static com.android.settings.wifi.slice.ContextualWifiSlice.COLLAPSED_ROW_COUNT;
-import static com.android.settings.wifi.slice.WifiSlice.DEFAULT_EXPANDED_ROW_COUNT;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.content.pm.PackageManager;
-import android.net.Network;
-import android.net.NetworkCapabilities;
-import android.net.wifi.WifiInfo;
-import android.net.wifi.WifiManager;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.SliceMetadata;
-import androidx.slice.SliceProvider;
-import androidx.slice.core.SliceAction;
-import androidx.slice.widget.SliceLiveData;
-
-import com.android.settings.R;
-import com.android.settings.slices.CustomSliceRegistry;
-import com.android.settings.slices.SlicesFeatureProviderImpl;
-import com.android.settings.testutils.FakeFeatureFactory;
-import com.android.settings.testutils.shadow.ShadowConnectivityManager;
-import com.android.settings.testutils.shadow.ShadowWifiSlice;
-
-import org.junit.Before;
-import org.junit.Test;
-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.ShadowBinder;
-
-import java.util.List;
-
-@RunWith(RobolectricTestRunner.class)
-@Config(shadows = {ShadowConnectivityManager.class, ShadowWifiSlice.class})
-public class ContextualWifiSliceTest {
-    private static final String SSID = "123";
-
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private WifiInfo mWifiInfo;
-    @Mock
-    private Network mNetwork;
-
-    private Context mContext;
-    private ContentResolver mResolver;
-    private ContextualWifiSlice mWifiSlice;
-    private FakeFeatureFactory mFeatureFactory;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mResolver = mock(ContentResolver.class);
-        mFeatureFactory = FakeFeatureFactory.setupForTest();
-        mFeatureFactory.slicesFeatureProvider = new SlicesFeatureProviderImpl();
-        mFeatureFactory.slicesFeatureProvider.newUiSession();
-        doReturn(mResolver).when(mContext).getContentResolver();
-        doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
-        doReturn(true).when(mWifiManager).isWifiEnabled();
-        doReturn(WifiManager.WIFI_STATE_ENABLED).when(mWifiManager).getWifiState();
-        doReturn(mWifiInfo).when(mWifiManager).getConnectionInfo();
-        doReturn(SSID).when(mWifiInfo).getSSID();
-        doReturn(mNetwork).when(mWifiManager).getCurrentNetwork();
-        when(mContext.getPackageManager()).thenReturn(mPackageManager);
-
-        // Set-up specs for SliceMetadata.
-        SliceProvider.setSpecs(SliceLiveData.SUPPORTED_SPECS);
-
-        final String siPackageName =
-                mContext.getString(R.string.config_settingsintelligence_package_name);
-        ShadowBinder.setCallingUid(1);
-        when(mPackageManager.getPackagesForUid(1)).thenReturn(new String[]{siPackageName});
-        when(mPackageManager.getNameForUid(1)).thenReturn(siPackageName);
-        ShadowWifiSlice.setWifiPermissible(true);
-        mWifiSlice = new ContextualWifiSlice(mContext);
-    }
-
-    @Test
-    public void getWifiSlice_newSession_hasActiveConnection_shouldCollapseSlice() {
-        mWifiSlice.sActiveUiSession = ~mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-        connectToWifi(makeValidatedNetworkCapabilities());
-
-        final Slice wifiSlice = mWifiSlice.getSlice();
-
-        assertWifiHeader(wifiSlice);
-        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(COLLAPSED_ROW_COUNT);
-    }
-
-    @Test
-    public void getWifiSlice_newSession_noConnection_shouldExpandSlice() {
-        mWifiSlice.sActiveUiSession = ~mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-
-        final Slice wifiSlice = mWifiSlice.getSlice();
-
-        assertWifiHeader(wifiSlice);
-        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(DEFAULT_EXPANDED_ROW_COUNT);
-    }
-
-    @Test
-    public void getWifiSlice_previousExpanded_hasActiveConnection_shouldExpandSlice() {
-        mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-        mWifiSlice.sApRowCollapsed = false;
-        connectToWifi(makeValidatedNetworkCapabilities());
-
-        final Slice wifiSlice = mWifiSlice.getSlice();
-
-        assertWifiHeader(wifiSlice);
-        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(DEFAULT_EXPANDED_ROW_COUNT);
-    }
-
-    @Test
-    public void getWifiSlice_previousCollapsed_connectionLoss_shouldCollapseSlice() {
-        mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-        mWifiSlice.sApRowCollapsed = true;
-        connectToWifi(makeValidatedNetworkCapabilities());
-
-        doReturn(null).when(mWifiManager).getCurrentNetwork();
-        final Slice wifiSlice = mWifiSlice.getSlice();
-
-        assertWifiHeader(wifiSlice);
-        assertThat(ContextualWifiSlice.getApRowCount()).isEqualTo(COLLAPSED_ROW_COUNT);
-    }
-
-    @Test
-    public void getWifiSlice_contextualWifiSlice_shouldReturnContextualWifiSliceUri() {
-        mWifiSlice.sActiveUiSession = mFeatureFactory.slicesFeatureProvider.getUiSessionToken();
-
-        final Slice wifiSlice = mWifiSlice.getSlice();
-
-        assertThat(wifiSlice.getUri()).isEqualTo(CustomSliceRegistry.CONTEXTUAL_WIFI_SLICE_URI);
-    }
-
-    private void connectToWifi(NetworkCapabilities nc) {
-        ShadowConnectivityManager.getShadow().setNetworkCapabilities(mNetwork, nc);
-    }
-
-    private NetworkCapabilities makeValidatedNetworkCapabilities() {
-        final NetworkCapabilities nc = NetworkCapabilities.Builder.withoutDefaultCapabilities()
-                .addTransportType(NetworkCapabilities.TRANSPORT_WIFI)
-                .addCapability(NetworkCapabilities.NET_CAPABILITY_VALIDATED)
-                .build();
-        return nc;
-    }
-
-    private void assertWifiHeader(Slice slice) {
-        final SliceMetadata metadata = SliceMetadata.from(mContext, slice);
-        assertThat(metadata.getTitle()).isEqualTo(mContext.getString(R.string.wifi_settings));
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-        final IconCompat expectedToggleIcon = IconCompat.createWithResource(mContext,
-                R.drawable.ic_settings_wireless);
-        assertThat(primaryAction.getIcon().toString()).isEqualTo(expectedToggleIcon.toString());
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).hasSize(1);
-    }
-}
diff --git a/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java b/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java
index 9d57d4a..54a546a 100644
--- a/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/slice/WifiScanWorkerTest.java
@@ -26,19 +26,25 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.content.Context;
+import android.net.wifi.WifiManager;
+
 import androidx.lifecycle.Lifecycle;
+import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.wifi.WifiPickerTrackerHelper;
 import com.android.wifitrackerlib.WifiEntry;
 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.MockitoAnnotations;
+import org.mockito.Spy;
+import org.mockito.junit.MockitoJUnit;
+import org.mockito.junit.MockitoRule;
 import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
 
 import java.util.Arrays;
 
@@ -47,17 +53,24 @@
 
     private static final int SUB_ID = 2;
 
-    private WifiScanWorker mWifiScanWorker;
+    @Rule
+    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Spy
+    Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock
+    WifiManager mWifiManager;
     @Mock
     WifiPickerTracker mWifiPickerTracker;
     @Mock
     WifiPickerTrackerHelper mWifiPickerTrackerHelper;
 
+    private WifiScanWorker mWifiScanWorker;
+
     @Before
     public void setUp() {
-        MockitoAnnotations.initMocks(this);
+        when(mContext.getSystemService(WifiManager.class)).thenReturn(mWifiManager);
 
-        mWifiScanWorker = new WifiScanWorker(RuntimeEnvironment.application, WIFI_SLICE_URI);
+        mWifiScanWorker = new WifiScanWorker(mContext, WIFI_SLICE_URI);
         mWifiScanWorker.mWifiPickerTracker = mWifiPickerTracker;
         mWifiScanWorker.mWifiPickerTrackerHelper = mWifiPickerTrackerHelper;
         when(mWifiPickerTrackerHelper.isCarrierNetworkProvisionEnabled(SUB_ID)).thenReturn(false);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
deleted file mode 100644
index d777a59..0000000
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherApBandPreferenceControllerTest.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (C) 2017 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.wifi.tether;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.ArgumentMatchers.anyString;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.net.TetheringManager;
-import android.net.wifi.SoftApConfiguration;
-import android.net.wifi.WifiManager;
-
-import androidx.preference.ListPreference;
-import androidx.preference.PreferenceScreen;
-
-import com.android.settings.R;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-import org.robolectric.RobolectricTestRunner;
-import org.robolectric.RuntimeEnvironment;
-
-@RunWith(RobolectricTestRunner.class)
-public class WifiTetherApBandPreferenceControllerTest {
-
-    private static final String ALL_BANDS = "5.0 GHz Band preferred";
-    private static final String TWO_GHZ_STRING = "2.4 GHz Band";
-    private static final String FIVE_GHZ_STRING = "5.0 GHz Band";
-    private static final String VAL_2GHZ_STR  = "1";
-    private static final String VAL_5GHZ_STR = "2";
-    private static final String VAL_2_5_GHZ_STR = "3";
-    private static final int VAL_2GHZ_INT = 1;
-    private static final int VAL_5GHZ_INT = 2;
-    private static final int VAL_2_5_GHZ_INT = 3;
-
-    private Context mContext;
-    @Mock
-    private TetheringManager mTetheringManager;
-    @Mock
-    private WifiManager mWifiManager;
-    @Mock
-    private WifiTetherBasePreferenceController.OnTetherConfigUpdateListener mListener;
-    @Mock
-    private PreferenceScreen mScreen;
-
-    private WifiTetherApBandPreferenceController mController;
-    private ListPreference mPreference;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(RuntimeEnvironment.application);
-        mPreference = new ListPreference(RuntimeEnvironment.application);
-        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(mWifiManager);
-        when(mContext.getSystemService(Context.TETHERING_SERVICE)).thenReturn(mTetheringManager);
-        when(mTetheringManager.getTetherableWifiRegexs()).thenReturn(new String[]{"1", "2"});
-        when(mContext.getResources()).thenReturn(RuntimeEnvironment.application.getResources());
-        when(mScreen.findPreference(anyString())).thenReturn(mPreference);
-        when(mWifiManager.getSoftApConfiguration()).thenReturn(
-                new SoftApConfiguration.Builder().build());
-
-        mController = new WifiTetherApBandPreferenceController(mContext, mListener);
-    }
-
-    @Test
-    public void display_5GhzSupported_shouldDisplayFullList() {
-        when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
-
-        // Create a new instance
-        mController = new WifiTetherApBandPreferenceController(mContext, mListener);
-
-        mController.displayPreference(mScreen);
-        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);
-
-        assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
-    }
-
-    @Test
-    public void display_noCountryCode_shouldDisable() {
-        when(mWifiManager.getCountryCode()).thenReturn(null);
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
-
-        mController.displayPreference(mScreen);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.getSummary())
-                .isEqualTo(RuntimeEnvironment.application.getString(R.string.wifi_ap_choose_2G));
-    }
-
-    @Test
-    public void display_5GhzNotSupported_shouldDisable() {
-        when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(false);
-
-        mController.displayPreference(mScreen);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-        assertThat(mPreference.getSummary())
-                .isEqualTo(RuntimeEnvironment.application.getString(R.string.wifi_ap_choose_2G));
-    }
-
-    @Test
-    public void changePreference_With5G_shouldUpdateValue() {
-        when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
-
-        // Create a new instance to pick the proper value of isDualModeSupported()
-        mController = new WifiTetherApBandPreferenceController(mContext, mListener);
-
-        mController.displayPreference(mScreen);
-
-        // 'Auto' option
-        mController.onPreferenceChange(mPreference, VAL_2_5_GHZ_STR);
-        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
-        assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
-        verify(mListener, times(1)).onTetherConfigUpdated(mController);
-
-        // should revert to the default for 5 Ghz only since this is not supported with this config
-        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
-        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
-        assertThat(mPreference.getSummary()).isEqualTo(ALL_BANDS);
-        verify(mListener, times(2)).onTetherConfigUpdated(mController);
-
-        // set to 2 Ghz
-        mController.onPreferenceChange(mPreference, VAL_2GHZ_STR);
-        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
-        assertThat(mPreference.getSummary()).isEqualTo(TWO_GHZ_STRING);
-        verify(mListener, times(3)).onTetherConfigUpdated(mController);
-    }
-
-    @Test
-    public void updateDisplay_shouldUpdateValue() {
-        when(mWifiManager.getCountryCode()).thenReturn("US");
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(true);
-
-        // Set controller band index to 5GHz and verify is set.
-        mController.displayPreference(mScreen);
-        mController.onPreferenceChange(mPreference, VAL_5GHZ_STR);
-        assertThat(mController.getBandIndex()).isEqualTo(VAL_2_5_GHZ_INT);
-
-        // Disable 5Ghz band
-        when(mWifiManager.is5GHzBandSupported()).thenReturn(false);
-
-        // Call updateDisplay and verify it's changed.
-        mController.updateDisplay();
-        assertThat(mController.getBandIndex()).isEqualTo(VAL_2GHZ_INT);
-    }
-}
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 e67717d..28fb8b3 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSettingsTest.java
@@ -49,7 +49,6 @@
 import android.net.wifi.WifiManager;
 import android.os.Bundle;
 import android.os.UserManager;
-import android.util.FeatureFlagUtils;
 import android.widget.TextView;
 
 import androidx.fragment.app.FragmentActivity;
@@ -60,7 +59,6 @@
 import androidx.test.core.app.ApplicationProvider;
 
 import com.android.settings.R;
-import com.android.settings.core.FeatureFlags;
 import com.android.settings.dashboard.RestrictedDashboardFragment;
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settings.testutils.shadow.ShadowFragment;
@@ -144,7 +142,6 @@
 
     @Before
     public void setUp() {
-        FeatureFlagUtils.setEnabled(mContext, FeatureFlags.TETHER_ALL_IN_ONE, false);
         setCanShowWifiHotspotCached(true);
         doReturn(mWifiManager).when(mContext).getSystemService(WifiManager.class);
         doReturn(mConnectivityManager)
@@ -231,7 +228,7 @@
 
     @Test
     public void onSecuritySummaryChanged_canNotShowWifiHotspot_returnFalse() {
-        int stringResId = R.string.wifi_security_sae;
+        int stringResId = com.android.settingslib.R.string.wifi_security_sae;
         mSettings.mWifiHotspotSecurity = mock(Preference.class);
 
         mSettings.onSecuritySummaryChanged(stringResId);
diff --git a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
index ca0247f..0982f26 100644
--- a/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
+++ b/tests/robotests/src/com/android/settings/wifi/tether/WifiTetherSwitchBarControllerTest.java
@@ -150,7 +150,7 @@
     public void onSwitchChanged_switchNotEnabled_doNothingForTethering() {
         when(mSwitch.isEnabled()).thenReturn(false);
 
-        mController.onSwitchChanged(mSwitch, mSwitch.isChecked());
+        mController.onCheckedChanged(mSwitch, true);
 
         verify(mConnectivityManager, never()).startTethering(anyInt(), anyBoolean(), any(), any());
         verify(mConnectivityManager, never()).stopTethering(anyInt());
@@ -158,9 +158,7 @@
 
     @Test
     public void onSwitchChanged_isChecked_startTethering() {
-        when(mSwitch.isChecked()).thenReturn(true);
-
-        mController.onSwitchChanged(mSwitch, mSwitch.isChecked());
+        mController.onCheckedChanged(mSwitch, true);
 
         verify(mConnectivityManager).startTethering(anyInt(), anyBoolean(), any(), any());
     }
@@ -168,9 +166,7 @@
     @Test
     public void onSwitchChanged_isNotChecked_stopTethering() {
         when(mWifiManager.getWifiApState()).thenReturn(WIFI_AP_STATE_ENABLED);
-        when(mSwitch.isChecked()).thenReturn(false);
-
-        mController.onSwitchChanged(mSwitch, mSwitch.isChecked());
+        mController.onCheckedChanged(mSwitch, false);
 
         verify(mConnectivityManager).stopTethering(anyInt());
     }
diff --git a/tests/robotests/src/com/android/settings/testutils/CustomActivity.java b/tests/robotests/testutils/com/android/settings/testutils/CustomActivity.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/CustomActivity.java
rename to tests/robotests/testutils/com/android/settings/testutils/CustomActivity.java
diff --git a/tests/robotests/src/com/android/settings/testutils/DatabaseTestUtils.java b/tests/robotests/testutils/com/android/settings/testutils/DatabaseTestUtils.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/DatabaseTestUtils.java
rename to tests/robotests/testutils/com/android/settings/testutils/DatabaseTestUtils.java
diff --git a/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java b/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java
new file mode 100644
index 0000000..f49cc68
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/FakeFeatureFactory.java
@@ -0,0 +1,351 @@
+/*
+ * 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.testutils;
+
+import static org.mockito.Mockito.mock;
+
+import android.content.Context;
+
+import com.android.settings.accessibility.AccessibilityMetricsFeatureProvider;
+import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
+import com.android.settings.accounts.AccountFeatureProvider;
+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.audiosharing.AudioSharingFeatureProvider;
+import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider;
+import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
+import com.android.settings.dashboard.DashboardFeatureProvider;
+import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
+import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
+import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProviderImpl;
+import com.android.settings.display.DisplayFeatureProvider;
+import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
+import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
+import com.android.settings.fuelgauge.BatteryStatusFeatureProvider;
+import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
+import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
+import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
+import com.android.settings.localepicker.LocaleFeatureProvider;
+import com.android.settings.onboarding.OnboardingFeatureProvider;
+import com.android.settings.overlay.DockUpdaterFeatureProvider;
+import com.android.settings.overlay.FeatureFactory;
+import com.android.settings.overlay.SupportFeatureProvider;
+import com.android.settings.overlay.SurveyFeatureProvider;
+import com.android.settings.panel.PanelFeatureProvider;
+import com.android.settings.privatespace.PrivateSpaceLoginFeatureProvider;
+import com.android.settings.search.SearchFeatureProvider;
+import com.android.settings.security.SecurityFeatureProvider;
+import com.android.settings.security.SecuritySettingsFeatureProvider;
+import com.android.settings.slices.SlicesFeatureProvider;
+import com.android.settings.users.UserFeatureProvider;
+import com.android.settings.vpn2.AdvancedVpnFeatureProvider;
+import com.android.settings.wifi.WifiTrackerLibProvider;
+import com.android.settings.wifi.factory.WifiFeatureProvider;
+import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
+
+import org.jetbrains.annotations.NotNull;
+
+/**
+ * Test util to provide fake FeatureFactory. To use this factory, call {@code setupForTest} in
+ * {@code @Before} method of the test class.
+ */
+public class FakeFeatureFactory extends FeatureFactory {
+
+    public final SupportFeatureProvider supportFeatureProvider;
+    public final MetricsFeatureProvider metricsFeatureProvider;
+    public final BatteryStatusFeatureProvider batteryStatusFeatureProvider;
+    public final BatterySettingsFeatureProvider batterySettingsFeatureProvider;
+    public final PowerUsageFeatureProvider powerUsageFeatureProvider;
+    public final DashboardFeatureProvider dashboardFeatureProvider;
+    public final DockUpdaterFeatureProvider dockUpdaterFeatureProvider;
+    public final LocaleFeatureProvider localeFeatureProvider;
+    public final ApplicationFeatureProvider applicationFeatureProvider;
+    public final EnterprisePrivacyFeatureProvider enterprisePrivacyFeatureProvider;
+    public final SurveyFeatureProvider surveyFeatureProvider;
+    public final SecurityFeatureProvider securityFeatureProvider;
+    public final SuggestionFeatureProvider suggestionsFeatureProvider;
+    public final UserFeatureProvider userFeatureProvider;
+    public final AccountFeatureProvider mAccountFeatureProvider;
+    public final BluetoothFeatureProvider mBluetoothFeatureProvider;
+    public final FaceFeatureProvider mFaceFeatureProvider;
+    public final FingerprintFeatureProvider mFingerprintFeatureProvider;
+    public final BiometricsRepositoryProvider mBiometricsRepositoryProvider;
+
+    public PanelFeatureProvider panelFeatureProvider;
+    public SlicesFeatureProvider slicesFeatureProvider;
+    public SearchFeatureProvider searchFeatureProvider;
+    public ContextualCardFeatureProvider mContextualCardFeatureProvider;
+
+    public WifiTrackerLibProvider wifiTrackerLibProvider;
+    public SecuritySettingsFeatureProvider securitySettingsFeatureProvider;
+    public AccessibilitySearchFeatureProvider mAccessibilitySearchFeatureProvider;
+    public AccessibilityMetricsFeatureProvider mAccessibilityMetricsFeatureProvider;
+    public AdvancedVpnFeatureProvider mAdvancedVpnFeatureProvider;
+    public WifiFeatureProvider mWifiFeatureProvider;
+    public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
+    public StylusFeatureProvider mStylusFeatureProvider;
+    public OnboardingFeatureProvider mOnboardingFeatureProvider;
+    public FastPairFeatureProvider mFastPairFeatureProvider;
+    public PrivateSpaceLoginFeatureProvider mPrivateSpaceLoginFeatureProvider;
+    public DisplayFeatureProvider mDisplayFeatureProvider;
+    public AudioSharingFeatureProvider mAudioSharingFeatureProvider;
+
+    /**
+     * Call this in {@code @Before} method of the test class to use fake factory.
+     */
+    public static FakeFeatureFactory setupForTest() {
+        FakeFeatureFactory factory = new FakeFeatureFactory();
+        setFactory(getAppContext(), factory);
+        return factory;
+    }
+
+    /**
+     * Used by reflection. Do not call directly.
+     */
+    public FakeFeatureFactory() {
+        supportFeatureProvider = mock(SupportFeatureProvider.class);
+        metricsFeatureProvider = mock(MetricsFeatureProvider.class);
+        batteryStatusFeatureProvider = mock(BatteryStatusFeatureProvider.class);
+        batterySettingsFeatureProvider = mock(BatterySettingsFeatureProvider.class);
+        powerUsageFeatureProvider = mock(PowerUsageFeatureProvider.class);
+        dashboardFeatureProvider = mock(DashboardFeatureProvider.class);
+        dockUpdaterFeatureProvider = mock(DockUpdaterFeatureProvider.class);
+        localeFeatureProvider = mock(LocaleFeatureProvider.class);
+        applicationFeatureProvider = mock(ApplicationFeatureProvider.class);
+        enterprisePrivacyFeatureProvider = mock(EnterprisePrivacyFeatureProvider.class);
+        searchFeatureProvider = mock(SearchFeatureProvider.class);
+        surveyFeatureProvider = mock(SurveyFeatureProvider.class);
+        securityFeatureProvider = mock(SecurityFeatureProvider.class);
+        suggestionsFeatureProvider = mock(SuggestionFeatureProvider.class);
+        userFeatureProvider = mock(UserFeatureProvider.class);
+        slicesFeatureProvider = mock(SlicesFeatureProvider.class);
+        mAccountFeatureProvider = mock(AccountFeatureProvider.class);
+        mContextualCardFeatureProvider = mock(ContextualCardFeatureProvider.class);
+        panelFeatureProvider = mock(PanelFeatureProvider.class);
+        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);
+        mAccessibilityMetricsFeatureProvider = mock(AccessibilityMetricsFeatureProvider.class);
+        mAdvancedVpnFeatureProvider = mock(AdvancedVpnFeatureProvider.class);
+        mWifiFeatureProvider = mock(WifiFeatureProvider.class);
+        mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
+        mStylusFeatureProvider = mock(StylusFeatureProvider.class);
+        mOnboardingFeatureProvider = mock(OnboardingFeatureProvider.class);
+        mFastPairFeatureProvider = mock(FastPairFeatureProvider.class);
+        mPrivateSpaceLoginFeatureProvider =  mock(PrivateSpaceLoginFeatureProvider.class);
+        mDisplayFeatureProvider = mock(DisplayFeatureProvider.class);
+        mAudioSharingFeatureProvider = mock(AudioSharingFeatureProvider.class);
+    }
+
+    @Override
+    public SuggestionFeatureProvider getSuggestionFeatureProvider() {
+        return suggestionsFeatureProvider;
+    }
+
+    @Override
+    public SupportFeatureProvider getSupportFeatureProvider() {
+        return supportFeatureProvider;
+    }
+
+    @Override
+    public MetricsFeatureProvider getMetricsFeatureProvider() {
+        return metricsFeatureProvider;
+    }
+
+    @NotNull
+    @Override
+    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider() {
+        return batteryStatusFeatureProvider;
+    }
+
+    @Override
+    public BatterySettingsFeatureProvider getBatterySettingsFeatureProvider() {
+        return batterySettingsFeatureProvider;
+    }
+
+    @NotNull
+    @Override
+    public PowerUsageFeatureProvider getPowerUsageFeatureProvider() {
+        return powerUsageFeatureProvider;
+    }
+
+    @NotNull
+    @Override
+    public DashboardFeatureProvider getDashboardFeatureProvider() {
+        return dashboardFeatureProvider;
+    }
+
+    @Override
+    public DockUpdaterFeatureProvider getDockUpdaterFeatureProvider() {
+        return dockUpdaterFeatureProvider;
+    }
+
+    @NotNull
+    @Override
+    public ApplicationFeatureProvider getApplicationFeatureProvider() {
+        return applicationFeatureProvider;
+    }
+
+    @Override
+    public LocaleFeatureProvider getLocaleFeatureProvider() {
+        return localeFeatureProvider;
+    }
+
+    @NotNull
+    @Override
+    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() {
+        return enterprisePrivacyFeatureProvider;
+    }
+
+    @Override
+    public SearchFeatureProvider getSearchFeatureProvider() {
+        return searchFeatureProvider;
+    }
+
+    @Override
+    public SurveyFeatureProvider getSurveyFeatureProvider(Context context) {
+        return surveyFeatureProvider;
+    }
+
+    @Override
+    public SecurityFeatureProvider getSecurityFeatureProvider() {
+        return securityFeatureProvider;
+    }
+
+    @NotNull
+    @Override
+    public UserFeatureProvider getUserFeatureProvider() {
+        return userFeatureProvider;
+    }
+
+    @Override
+    public SlicesFeatureProvider getSlicesFeatureProvider() {
+        return slicesFeatureProvider;
+    }
+
+    @Override
+    public AccountFeatureProvider getAccountFeatureProvider() {
+        return mAccountFeatureProvider;
+    }
+
+    @Override
+    public PanelFeatureProvider getPanelFeatureProvider() {
+        return panelFeatureProvider;
+    }
+
+    @Override
+    public ContextualCardFeatureProvider getContextualCardFeatureProvider(Context context) {
+        return mContextualCardFeatureProvider;
+    }
+
+    @Override
+    public BluetoothFeatureProvider getBluetoothFeatureProvider() {
+        return mBluetoothFeatureProvider;
+    }
+
+    @Override
+    public FaceFeatureProvider getFaceFeatureProvider() {
+        return mFaceFeatureProvider;
+    }
+
+    @Override
+    public FingerprintFeatureProvider getFingerprintFeatureProvider() {
+        return mFingerprintFeatureProvider;
+    }
+
+    @Override
+    public BiometricsRepositoryProvider getBiometricsRepositoryProvider() {
+        return mBiometricsRepositoryProvider;
+    }
+
+    @Override
+    public WifiTrackerLibProvider getWifiTrackerLibProvider() {
+        return wifiTrackerLibProvider;
+    }
+
+    @Override
+    public SecuritySettingsFeatureProvider getSecuritySettingsFeatureProvider() {
+        return securitySettingsFeatureProvider;
+    }
+
+    @Override
+    public AccessibilitySearchFeatureProvider getAccessibilitySearchFeatureProvider() {
+        return mAccessibilitySearchFeatureProvider;
+    }
+
+    @Override
+    public AccessibilityMetricsFeatureProvider getAccessibilityMetricsFeatureProvider() {
+        return mAccessibilityMetricsFeatureProvider;
+    }
+
+    @Override
+    public HardwareInfoFeatureProvider getHardwareInfoFeatureProvider() {
+        return HardwareInfoFeatureProviderImpl.INSTANCE;
+    }
+
+    @Override
+    public AdvancedVpnFeatureProvider getAdvancedVpnFeatureProvider() {
+        return mAdvancedVpnFeatureProvider;
+    }
+
+    @Override
+    public WifiFeatureProvider getWifiFeatureProvider() {
+        return mWifiFeatureProvider;
+    }
+
+    @Override
+    public KeyboardSettingsFeatureProvider getKeyboardSettingsFeatureProvider() {
+        return mKeyboardSettingsFeatureProvider;
+    }
+
+    @Override
+    public StylusFeatureProvider getStylusFeatureProvider() {
+        return mStylusFeatureProvider;
+    }
+
+    @Override
+    public OnboardingFeatureProvider getOnboardingFeatureProvider() {
+        return mOnboardingFeatureProvider;
+    }
+
+    @Override
+    public FastPairFeatureProvider getFastPairFeatureProvider() {
+        return mFastPairFeatureProvider;
+    }
+
+    @Override
+    public PrivateSpaceLoginFeatureProvider getPrivateSpaceLoginFeatureProvider() {
+        return mPrivateSpaceLoginFeatureProvider;
+    }
+
+    @Override
+    public DisplayFeatureProvider getDisplayFeatureProvider() {
+        return mDisplayFeatureProvider;
+    }
+
+    @Override
+    public AudioSharingFeatureProvider getAudioSharingFeatureProvider() {
+        return mAudioSharingFeatureProvider;
+    }
+}
+
diff --git a/tests/robotests/src/com/android/settings/testutils/ResolveInfoBuilder.java b/tests/robotests/testutils/com/android/settings/testutils/ResolveInfoBuilder.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/ResolveInfoBuilder.java
rename to tests/robotests/testutils/com/android/settings/testutils/ResolveInfoBuilder.java
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/SettingsShadowResources.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/SettingsShadowResources.java
new file mode 100644
index 0000000..b2d5484
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/SettingsShadowResources.java
@@ -0,0 +1,103 @@
+/*
+ * 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.testutils.shadow;
+
+import static org.robolectric.RuntimeEnvironment.application;
+import static org.robolectric.shadow.api.Shadow.directlyOn;
+
+import android.content.res.Resources;
+import android.content.res.Resources.NotFoundException;
+import android.util.SparseArray;
+
+import androidx.annotation.ArrayRes;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.RealObject;
+import org.robolectric.annotation.Resetter;
+import org.robolectric.shadows.ShadowResources;
+import org.robolectric.util.ReflectionHelpers.ClassParameter;
+
+/**
+ * Shadow Resources and Theme classes to handle resource references that Robolectric shadows cannot
+ * handle because they are too new or private.
+ */
+@Implements(value = Resources.class)
+public class SettingsShadowResources extends ShadowResources {
+
+    @RealObject
+    public Resources realResources;
+
+    private static SparseArray<Object> sResourceOverrides = new SparseArray<>();
+
+    public static void overrideResource(int id, Object value) {
+        sResourceOverrides.put(id, value);
+    }
+
+    public static void overrideResource(String name, Object value) {
+        final Resources res = application.getResources();
+        final int resId = res.getIdentifier(name, null, null);
+        if (resId == 0) {
+            throw new Resources.NotFoundException("Cannot override \"" + name + "\"");
+        }
+        overrideResource(resId, value);
+    }
+
+    @Resetter
+    public static void reset() {
+        sResourceOverrides.clear();
+    }
+
+    @Implementation
+    protected int[] getIntArray(@ArrayRes int id) throws NotFoundException {
+        final Object override = sResourceOverrides.get(id);
+        if (override instanceof int[]) {
+            return (int[]) override;
+        }
+        return directlyOn(realResources, Resources.class).getIntArray(id);
+    }
+
+    @Implementation
+    protected String getString(int id) {
+        final Object override = sResourceOverrides.get(id);
+        if (override instanceof String) {
+            return (String) override;
+        }
+        return directlyOn(
+                realResources, Resources.class, "getString", ClassParameter.from(int.class, id));
+    }
+
+    @Implementation
+    protected int getInteger(int id) {
+        final Object override = sResourceOverrides.get(id);
+        if (override instanceof Integer) {
+            return (Integer) override;
+        }
+        return directlyOn(
+                realResources, Resources.class, "getInteger", ClassParameter.from(int.class, id));
+    }
+
+    @Implementation
+    protected boolean getBoolean(int id) {
+        final Object override = sResourceOverrides.get(id);
+        if (override instanceof Boolean) {
+            return (boolean) override;
+        }
+        return directlyOn(realResources, Resources.class, "getBoolean",
+                ClassParameter.from(int.class, id));
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfo.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfo.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfo.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowAccessibilityServiceInfo.java
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivity.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowActivity.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivity.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowActivity.java
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityEmbeddingUtils.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowActivityEmbeddingUtils.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowActivityEmbeddingUtils.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowActivityEmbeddingUtils.java
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowAlertDialogCompat.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowAlertDialogCompat.java
new file mode 100644
index 0000000..d6d17f8
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowAlertDialogCompat.java
@@ -0,0 +1,84 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import android.annotation.SuppressLint;
+import android.view.View;
+
+import androidx.appcompat.app.AlertDialog;
+
+import org.robolectric.Shadows;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.RealObject;
+import org.robolectric.annotation.Resetter;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowDialog;
+import org.robolectric.util.ReflectionHelpers;
+
+import javax.annotation.Nullable;
+
+/* Robolectric shadow for the androidx alert dialog. */
+@Implements(AlertDialog.class)
+public class ShadowAlertDialogCompat extends ShadowDialog {
+
+    @SuppressLint("StaticFieldLeak")
+    @Nullable
+    private static ShadowAlertDialogCompat sLatestSupportAlertDialog;
+    @RealObject
+    private AlertDialog mRealAlertDialog;
+
+    @Implementation
+    public void show() {
+        super.show();
+        sLatestSupportAlertDialog = this;
+    }
+
+    public CharSequence getMessage() {
+        final Object alertController = ReflectionHelpers.getField(mRealAlertDialog, "mAlert");
+        return ReflectionHelpers.getField(alertController, "mMessage");
+    }
+
+    public CharSequence getTitle() {
+        final Object alertController = ReflectionHelpers.getField(mRealAlertDialog, "mAlert");
+        return ReflectionHelpers.getField(alertController, "mTitle");
+    }
+
+    public View getView() {
+        final Object alertController = ReflectionHelpers.getField(mRealAlertDialog, "mAlert");
+        return ReflectionHelpers.getField(alertController, "mView");
+    }
+
+    @Nullable
+    public static AlertDialog getLatestAlertDialog() {
+        return sLatestSupportAlertDialog == null
+                ? null : sLatestSupportAlertDialog.mRealAlertDialog;
+    }
+
+    @Resetter
+    public static void reset() {
+        sLatestSupportAlertDialog = null;
+    }
+
+    public static ShadowAlertDialogCompat shadowOf(AlertDialog alertDialog) {
+        return (ShadowAlertDialogCompat) Shadow.extract(alertDialog);
+    }
+
+    public void clickOnItem(int index) {
+        Shadows.shadowOf(mRealAlertDialog.getListView()).performItemClick(index);
+    }
+}
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowBluetoothAdapter.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowBluetoothAdapter.java
new file mode 100644
index 0000000..20021ea
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowBluetoothAdapter.java
@@ -0,0 +1,90 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import android.bluetooth.BluetoothAdapter;
+import android.bluetooth.BluetoothDevice;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+import java.util.ArrayList;
+import java.util.List;
+
+@Implements(value = BluetoothAdapter.class)
+public class ShadowBluetoothAdapter extends org.robolectric.shadows.ShadowBluetoothAdapter {
+
+    private int mState;
+    private List<Integer> mSupportedProfiles = new ArrayList<>();
+    private List<BluetoothDevice> mMostRecentlyConnectedDevices = new ArrayList<>();
+    private int mIsLeAudioBroadcastSourceSupported;
+    private int mIsLeAudioBroadcastAssistantSupported;
+
+    @Implementation
+    protected List<Integer> getSupportedProfiles() {
+        return mSupportedProfiles;
+    }
+
+    public void addSupportedProfiles(int profile) {
+        mSupportedProfiles.add(profile);
+    }
+
+    public void clearSupportedProfiles() {
+        mSupportedProfiles.clear();
+    }
+
+    @Implementation
+    protected int getConnectionState() {
+        return mState;
+    }
+
+    public void setConnectionState(int state) {
+        mState = state;
+    }
+
+    @Implementation
+    protected boolean factoryReset() {
+        return true;
+    }
+
+    @Implementation
+    protected List<BluetoothDevice> getMostRecentlyConnectedDevices() {
+        return mMostRecentlyConnectedDevices;
+    }
+
+    public void setMostRecentlyConnectedDevices(List<BluetoothDevice> list) {
+        mMostRecentlyConnectedDevices = list;
+    }
+
+    @Implementation
+    protected int isLeAudioBroadcastSourceSupported() {
+        return mIsLeAudioBroadcastSourceSupported;
+    }
+
+    public void setIsLeAudioBroadcastSourceSupported(int isSupported) {
+        mIsLeAudioBroadcastSourceSupported = isSupported;
+    }
+
+    @Implementation
+    protected int isLeAudioBroadcastAssistantSupported() {
+        return mIsLeAudioBroadcastAssistantSupported;
+    }
+
+    public void setIsLeAudioBroadcastAssistantSupported(int isSupported) {
+        mIsLeAudioBroadcastAssistantSupported = isSupported;
+    }
+}
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowBluetoothUtils.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowBluetoothUtils.java
new file mode 100644
index 0000000..4dca749
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowBluetoothUtils.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import android.content.Context;
+
+import com.android.settings.bluetooth.Utils;
+import com.android.settingslib.bluetooth.LocalBluetoothManager;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+/** Robolectric shadow for the bluetooth utils. */
+@Implements(Utils.class)
+public class ShadowBluetoothUtils {
+
+    public static LocalBluetoothManager sLocalBluetoothManager;
+
+    @Implementation
+    protected static LocalBluetoothManager getLocalBtManager(Context context) {
+        return sLocalBluetoothManager;
+    }
+
+    /** Resets the local bluetooth manager to null. */
+    @Resetter
+    public static void reset() {
+        sLocalBluetoothManager = null;
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowConnectivityManager.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowConnectivityManager.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowConnectivityManager.java
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java
new file mode 100644
index 0000000..f97a70e
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowDataSaverBackend.java
@@ -0,0 +1,38 @@
+/*
+ * 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.testutils.shadow;
+
+import com.android.settings.datausage.DataSaverBackend;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+
+@Implements(DataSaverBackend.class)
+public class ShadowDataSaverBackend {
+
+    private static boolean sIsEnabled = true;
+
+    @Implementation
+    protected boolean isDataSaverEnabled() {
+        return sIsEnabled;
+    }
+
+    @Implementation
+    protected void setDataSaverEnabled(boolean enabled) {
+        sIsEnabled = enabled;
+    }
+}
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowDeviceConfig.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowDeviceConfig.java
new file mode 100644
index 0000000..acb1dd8
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowDeviceConfig.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+import java.util.HashMap;
+import java.util.Map;
+
+@Implements(android.provider.DeviceConfig.class)
+public class ShadowDeviceConfig extends org.robolectric.shadows.ShadowDeviceConfig {
+
+    private static Map<String, String> sPropertyMaps = new HashMap<>();
+
+    @Resetter
+    public static void reset() {
+        sPropertyMaps.clear();
+    }
+
+    @Implementation
+    public static boolean setProperty(
+            String namespace, String name, String value, boolean makeDefault) {
+        sPropertyMaps.put(name, value);
+        return true;
+    }
+
+    @Implementation
+    public static String getProperty(String namespace, String name) {
+        return sPropertyMaps.get(name);
+    }
+}
+
+
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowFragment.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowFragment.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowFragment.java
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowInteractionJankMonitor.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowInteractionJankMonitor.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowInteractionJankMonitor.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowInteractionJankMonitor.java
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
new file mode 100644
index 0000000..efea6fd
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowLockPatternUtils.java
@@ -0,0 +1,247 @@
+/*
+ * Copyright (C) 2017 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import android.app.admin.DevicePolicyManager;
+import android.app.admin.PasswordMetrics;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.internal.widget.LockscreenCredential;
+
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+@Implements(LockPatternUtils.class)
+public class ShadowLockPatternUtils {
+
+    private static boolean sDeviceEncryptionEnabled;
+    private static Map<Integer, Integer> sUserToActivePasswordQualityMap = new HashMap<>();
+    private static Map<Integer, Integer> sUserToComplexityMap = new HashMap<>();
+    private static Map<Integer, Integer> sUserToProfileComplexityMap = new HashMap<>();
+    private static Map<Integer, PasswordMetrics> sUserToMetricsMap = new HashMap<>();
+    private static Map<Integer, PasswordMetrics> sUserToProfileMetricsMap = new HashMap<>();
+    private static Map<Integer, Boolean> sUserToIsSecureMap = new HashMap<>();
+    private static Map<Integer, Boolean> sUserToVisiblePatternEnabledMap = new HashMap<>();
+    private static Map<Integer, Boolean> sUserToBiometricAllowedMap = new HashMap<>();
+    private static Map<Integer, Boolean> sUserToLockPatternEnabledMap = new HashMap<>();
+    private static Map<Integer, Integer> sKeyguardStoredPasswordQualityMap = new HashMap<>();
+
+    private static boolean sIsUserOwnsFrpCredential;
+
+    @Resetter
+    public static void reset() {
+        sUserToActivePasswordQualityMap.clear();
+        sUserToComplexityMap.clear();
+        sUserToProfileComplexityMap.clear();
+        sUserToMetricsMap.clear();
+        sUserToProfileMetricsMap.clear();
+        sUserToIsSecureMap.clear();
+        sUserToVisiblePatternEnabledMap.clear();
+        sUserToBiometricAllowedMap.clear();
+        sUserToLockPatternEnabledMap.clear();
+        sDeviceEncryptionEnabled = false;
+        sIsUserOwnsFrpCredential = false;
+        sKeyguardStoredPasswordQualityMap.clear();
+    }
+
+    @Implementation
+    protected boolean hasSecureLockScreen() {
+        return true;
+    }
+
+    @Implementation
+    protected boolean isSecure(int userId) {
+        Boolean isSecure = sUserToIsSecureMap.get(userId);
+        if (isSecure == null) {
+            return true;
+        }
+        return isSecure;
+    }
+
+    public static void setIsSecure(int userId, boolean isSecure) {
+        sUserToIsSecureMap.put(userId, isSecure);
+    }
+
+    @Implementation
+    protected int getActivePasswordQuality(int userId) {
+        final Integer activePasswordQuality = sUserToActivePasswordQualityMap.get(userId);
+        if (activePasswordQuality == null) {
+            return DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
+        }
+        return activePasswordQuality;
+    }
+
+    @Implementation
+    protected int getKeyguardStoredPasswordQuality(int userHandle) {
+        return sKeyguardStoredPasswordQualityMap.getOrDefault(userHandle, /* defaultValue= */ 1);
+    }
+
+    @Implementation
+    protected static boolean isDeviceEncryptionEnabled() {
+        return sDeviceEncryptionEnabled;
+    }
+
+    @Implementation
+    protected List<ComponentName> getEnabledTrustAgents(int userId) {
+        return null;
+    }
+
+    public static void setDeviceEncryptionEnabled(boolean deviceEncryptionEnabled) {
+        sDeviceEncryptionEnabled = deviceEncryptionEnabled;
+    }
+
+    @Implementation
+    protected byte[] getPasswordHistoryHashFactor(
+            LockscreenCredential currentPassword, int userId) {
+        return null;
+    }
+
+    @Implementation
+    protected boolean checkPasswordHistory(byte[] passwordToCheck, byte[] hashFactor, int userId) {
+        return false;
+    }
+
+    @Implementation
+    public @DevicePolicyManager.PasswordComplexity int getRequestedPasswordComplexity(int userId) {
+        return getRequestedPasswordComplexity(userId, false);
+    }
+
+    @Implementation
+    @DevicePolicyManager.PasswordComplexity
+    public int getRequestedPasswordComplexity(int userId, boolean deviceWideOnly) {
+        int complexity = sUserToComplexityMap.getOrDefault(userId,
+                DevicePolicyManager.PASSWORD_COMPLEXITY_NONE);
+        if (!deviceWideOnly) {
+            complexity = Math.max(complexity, sUserToProfileComplexityMap.getOrDefault(userId,
+                    DevicePolicyManager.PASSWORD_COMPLEXITY_NONE));
+        }
+        return complexity;
+    }
+
+    @Implementation
+    public static boolean userOwnsFrpCredential(Context context, UserInfo info) {
+        return sIsUserOwnsFrpCredential;
+    }
+
+    public static void setUserOwnsFrpCredential(boolean isUserOwnsFrpCredential) {
+        sIsUserOwnsFrpCredential = isUserOwnsFrpCredential;
+    }
+
+    @Implementation
+    public boolean isVisiblePatternEnabled(int userId) {
+        return sUserToVisiblePatternEnabledMap.getOrDefault(userId, false);
+    }
+
+    public static void setIsVisiblePatternEnabled(int userId, boolean isVisiblePatternEnabled) {
+        sUserToVisiblePatternEnabledMap.put(userId, isVisiblePatternEnabled);
+    }
+
+    @Implementation
+    public boolean isBiometricAllowedForUser(int userId) {
+        return sUserToBiometricAllowedMap.getOrDefault(userId, false);
+    }
+
+    public static void setIsBiometricAllowedForUser(int userId, boolean isBiometricAllowed) {
+        sUserToBiometricAllowedMap.put(userId, isBiometricAllowed);
+    }
+
+    @Implementation
+    public boolean isLockPatternEnabled(int userId) {
+        return sUserToLockPatternEnabledMap.getOrDefault(userId, false);
+    }
+
+    public static void setIsLockPatternEnabled(int userId, boolean isLockPatternEnabled) {
+        sUserToLockPatternEnabledMap.put(userId, isLockPatternEnabled);
+    }
+
+    @Implementation
+    public boolean setLockCredential(
+            @NonNull LockscreenCredential newCredential,
+            @NonNull LockscreenCredential savedCredential, int userHandle) {
+        setIsSecure(userHandle, true);
+        return true;
+    }
+
+    @Implementation
+    public boolean checkCredential(
+            @NonNull LockscreenCredential credential, int userId,
+            @Nullable LockPatternUtils.CheckCredentialProgressCallback progressCallback)
+            throws LockPatternUtils.RequestThrottledException {
+        return true;
+    }
+
+    public static void setRequiredPasswordComplexity(int userHandle, int complexity) {
+        sUserToComplexityMap.put(userHandle, complexity);
+    }
+
+    public static void setRequiredPasswordComplexity(int complexity) {
+        sUserToComplexityMap.put(UserHandle.myUserId(), complexity);
+    }
+
+    public static void setRequiredProfilePasswordComplexity(int complexity) {
+        sUserToProfileComplexityMap.put(UserHandle.myUserId(), complexity);
+    }
+
+    @Implementation
+    public PasswordMetrics getRequestedPasswordMetrics(int userId, boolean deviceWideOnly) {
+        PasswordMetrics metrics = sUserToMetricsMap.getOrDefault(userId,
+                new PasswordMetrics(LockPatternUtils.CREDENTIAL_TYPE_NONE));
+        if (!deviceWideOnly) {
+            metrics.maxWith(sUserToProfileMetricsMap.getOrDefault(userId,
+                    new PasswordMetrics(LockPatternUtils.CREDENTIAL_TYPE_NONE)));
+        }
+        return metrics;
+    }
+
+    public static void setRequestedPasswordMetrics(PasswordMetrics metrics) {
+        sUserToMetricsMap.put(UserHandle.myUserId(), metrics);
+    }
+
+    public static void setRequestedProfilePasswordMetrics(PasswordMetrics metrics) {
+        sUserToProfileMetricsMap.put(UserHandle.myUserId(), metrics);
+    }
+
+    public static void setActivePasswordQuality(int quality) {
+        sUserToActivePasswordQualityMap.put(UserHandle.myUserId(), quality);
+    }
+
+    @Implementation
+    public boolean isLockScreenDisabled(int userId) {
+        return false;
+    }
+
+    @Implementation
+    public boolean isSeparateProfileChallengeEnabled(int userHandle) {
+        return false;
+    }
+
+    public static void setKeyguardStoredPasswordQuality(int quality) {
+        sKeyguardStoredPasswordQualityMap.put(UserHandle.myUserId(), quality);
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowThreadUtils.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowThreadUtils.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowThreadUtils.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowThreadUtils.java
diff --git a/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
new file mode 100644
index 0000000..23df4ca
--- /dev/null
+++ b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUserManager.java
@@ -0,0 +1,378 @@
+/*
+ * Copyright (C) 2016 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.settings.testutils.shadow;
+
+import static android.os.Build.VERSION_CODES.LOLLIPOP;
+import static android.os.UserManager.USER_TYPE_PROFILE_PRIVATE;
+
+import android.annotation.UserIdInt;
+import android.content.pm.UserInfo;
+import android.content.pm.UserProperties;
+import android.os.Bundle;
+import android.os.UserHandle;
+import android.os.UserManager;
+import android.os.UserManager.EnforcingUser;
+
+import com.google.android.collect.Maps;
+import com.google.common.collect.BiMap;
+import com.google.common.collect.HashBiMap;
+import com.google.common.collect.ImmutableList;
+
+import org.robolectric.RuntimeEnvironment;
+import org.robolectric.annotation.Implementation;
+import org.robolectric.annotation.Implements;
+import org.robolectric.annotation.Resetter;
+import org.robolectric.shadow.api.Shadow;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+@Implements(value = UserManager.class)
+public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager {
+
+    private static boolean sIsSupportsMultipleUsers;
+    private static boolean sIsMultipleAdminEnabled = false;
+
+    private static final int PRIMARY_USER_ID = 0;
+
+    private final List<String> mBaseRestrictions = new ArrayList<>();
+    private final Map<String, List<EnforcingUser>> mRestrictionSources = new HashMap<>();
+    private final List<UserInfo> mUserProfileInfos = new ArrayList<>();
+    private final Set<Integer> mManagedProfiles = new HashSet<>();
+    private final Map<Integer, Integer> mProfileToParent = new HashMap<>();
+    private final Map<Integer, UserInfo> mUserInfoMap = new HashMap<>();
+    private final Set<String> mEnabledTypes = new HashSet<>();
+    private BiMap<UserHandle, Long> mUserProfiles = HashBiMap.create();
+    private boolean mIsQuietModeEnabled = false;
+    private int[] mProfileIdsForUser = new int[0];
+    private boolean mUserSwitchEnabled;
+    private Bundle mDefaultGuestUserRestriction = new Bundle();
+    private boolean mIsGuestUser = false;
+    private long mNextUserSerial = 0;
+
+    private @UserManager.UserSwitchabilityResult int mSwitchabilityStatus =
+            UserManager.SWITCHABILITY_STATUS_OK;
+    private final Map<Integer, Integer> mSameProfileGroupIds = Maps.newHashMap();
+
+    public void addProfile(UserInfo userInfo) {
+        mUserProfileInfos.add(userInfo);
+    }
+
+    @Resetter
+    public static void reset() {
+        sIsSupportsMultipleUsers = false;
+    }
+
+    /**
+     * Creates a user with the specified name, userId and flags.
+     *
+     * @param id the unique id of user
+     * @param name name of the user
+     * @param flags 16 bits for user type. See {@link UserInfo#flags}
+     */
+    @Override public UserHandle addUser(int id, String name, int flags) {
+        UserHandle userHandle = super.addUser(id, name, flags);
+        mUserInfoMap.put(id, new UserInfo(id, name, flags));
+        return userHandle;
+    }
+
+    /** Add a profile to be returned by {@link #getProfiles(int)}. */
+    public void addProfile(
+            int userHandle, int profileUserHandle, String profileName, int profileFlags) {
+        UserInfo profileUserInfo = new UserInfo(profileUserHandle, profileName, profileFlags);
+        mUserProfileInfos.add(profileUserInfo);
+        mUserInfoMap.put(profileUserHandle, profileUserInfo);
+        mProfileToParent.put(profileUserHandle, userHandle);
+        if (profileFlags == UserInfo.FLAG_MANAGED_PROFILE) {
+            setManagedProfiles(new HashSet<>(Arrays.asList(profileUserHandle)));
+        }
+    }
+
+    @Implementation
+    protected List<UserInfo> getProfiles(@UserIdInt int userHandle) {
+        return mUserProfileInfos;
+    }
+
+    /**
+     * If this profile has been added using {@link #addProfile}, return its parent.
+     */
+    @Implementation(minSdk = LOLLIPOP)
+    protected UserInfo getProfileParent(int userHandle) {
+        if (!mProfileToParent.containsKey(userHandle)) {
+            return null;
+        }
+        return mUserInfoMap.get(mProfileToParent.get(userHandle));
+    }
+
+    @Implementation
+    protected int[] getProfileIds(@UserIdInt int userHandle, boolean enabledOnly) {
+        int[] ids = new int[mUserProfileInfos.size()];
+        for (int i = 0; i < mUserProfileInfos.size(); i++) {
+            ids[i] = mUserProfileInfos.get(i).id;
+        }
+        return ids;
+    }
+
+    @Implementation
+    protected int getCredentialOwnerProfile(@UserIdInt int userHandle) {
+        return userHandle;
+    }
+
+    @Implementation
+    protected boolean hasBaseUserRestriction(String restrictionKey, UserHandle userHandle) {
+        return mBaseRestrictions.contains(restrictionKey);
+    }
+
+    public void addBaseUserRestriction(String restriction) {
+        mBaseRestrictions.add(restriction);
+    }
+
+    @Implementation
+    protected Bundle getDefaultGuestRestrictions() {
+        return mDefaultGuestUserRestriction;
+    }
+
+    @Implementation
+    protected void setDefaultGuestRestrictions(Bundle restrictions) {
+        mDefaultGuestUserRestriction = restrictions;
+    }
+
+    @Implementation
+    protected UserProperties getUserProperties(UserHandle userHandle) {
+        return new UserProperties.Builder().build();
+    }
+
+
+    public void addGuestUserRestriction(String restriction) {
+        mDefaultGuestUserRestriction.putBoolean(restriction, true);
+    }
+
+    public boolean hasGuestUserRestriction(String restriction, boolean expectedValue) {
+        return mDefaultGuestUserRestriction.containsKey(restriction)
+                && mDefaultGuestUserRestriction.getBoolean(restriction) == expectedValue;
+    }
+
+
+    @Implementation
+    protected boolean hasUserRestriction(String restrictionKey) {
+        return hasUserRestriction(restrictionKey, UserHandle.of(UserHandle.myUserId()));
+    }
+
+    public static ShadowUserManager getShadow() {
+        return (ShadowUserManager) Shadow.extract(
+                RuntimeEnvironment.application.getSystemService(UserManager.class));
+    }
+
+    @Implementation
+    protected List<EnforcingUser> getUserRestrictionSources(
+            String restrictionKey, UserHandle userHandle) {
+        // Return empty list when there is no enforcing user, otherwise might trigger
+        // NullPointer Exception in RestrictedLockUtils.checkIfRestrictionEnforced.
+        List<EnforcingUser> enforcingUsers =
+                mRestrictionSources.get(restrictionKey + userHandle.getIdentifier());
+        return enforcingUsers == null ? Collections.emptyList() : enforcingUsers;
+    }
+
+    public void setUserRestrictionSources(
+            String restrictionKey, UserHandle userHandle, List<EnforcingUser> enforcers) {
+        mRestrictionSources.put(restrictionKey + userHandle.getIdentifier(), enforcers);
+    }
+
+    @Implementation
+    protected boolean isQuietModeEnabled(UserHandle userHandle) {
+        return mIsQuietModeEnabled;
+    }
+
+    public void setQuietModeEnabled(boolean enabled) {
+        mIsQuietModeEnabled = enabled;
+    }
+
+    @Implementation
+    protected int[] getProfileIdsWithDisabled(@UserIdInt int userId) {
+        return mProfileIdsForUser;
+    }
+
+    public void setProfileIdsWithDisabled(int[] profileIds) {
+        mProfileIdsForUser = profileIds;
+    }
+
+    @Implementation
+    protected boolean isUserSwitcherEnabled() {
+        return mUserSwitchEnabled;
+    }
+
+    @Implementation
+    protected boolean isManagedProfile(int userId) {
+        return mManagedProfiles.contains(userId);
+    }
+
+    public void setManagedProfiles(Set<Integer> profileIds) {
+        mManagedProfiles.clear();
+        mManagedProfiles.addAll(profileIds);
+    }
+
+    public void setPrivateProfile(int id, String name, int flags) {
+        mUserProfileInfos.add(new UserInfo(id, name, null, flags, USER_TYPE_PROFILE_PRIVATE));
+    }
+
+    public void setUserSwitcherEnabled(boolean userSwitchEnabled) {
+        mUserSwitchEnabled = userSwitchEnabled;
+    }
+
+    @Implementation
+    protected static boolean supportsMultipleUsers() {
+        return sIsSupportsMultipleUsers;
+    }
+
+    @Implementation
+    protected boolean isSameProfileGroup(@UserIdInt int userId, int otherUserId) {
+        return mSameProfileGroupIds.containsKey(userId)
+                && mSameProfileGroupIds.get(userId) == otherUserId
+                || mSameProfileGroupIds.containsKey(otherUserId)
+                && mSameProfileGroupIds.get(otherUserId) == userId;
+    }
+
+    public Map<Integer, Integer> getSameProfileGroupIds() {
+        return mSameProfileGroupIds;
+    }
+
+    public void setSupportsMultipleUsers(boolean supports) {
+        sIsSupportsMultipleUsers = supports;
+    }
+
+    @Implementation
+    protected UserInfo getUserInfo(@UserIdInt int userId) {
+        return mUserProfileInfos.stream()
+                .filter(userInfo -> userInfo.id == userId)
+                .findFirst()
+                .orElse(super.getUserInfo(userId));
+    }
+
+    @Implementation
+    protected @UserManager.UserSwitchabilityResult int getUserSwitchability() {
+        return mSwitchabilityStatus;
+    }
+
+    public void setSwitchabilityStatus(@UserManager.UserSwitchabilityResult int newStatus) {
+        mSwitchabilityStatus = newStatus;
+    }
+
+    @Implementation
+    protected boolean isUserTypeEnabled(String userType) {
+        return mEnabledTypes.contains(userType);
+    }
+
+    public void setUserTypeEnabled(String type, boolean enabled) {
+        if (enabled) {
+            mEnabledTypes.add(type);
+        } else {
+            mEnabledTypes.remove(type);
+        }
+    }
+
+    @Implementation
+    protected UserInfo getPrimaryUser() {
+        return new UserInfo(PRIMARY_USER_ID, null, null,
+                UserInfo.FLAG_INITIALIZED | UserInfo.FLAG_ADMIN | UserInfo.FLAG_PRIMARY);
+    }
+
+    protected boolean setUserEphemeral(@UserIdInt int userId, boolean enableEphemeral) {
+        UserInfo userInfo = mUserProfileInfos.stream()
+                .filter(user -> user.id == userId)
+                .findFirst()
+                .orElse(super.getUserInfo(userId));
+
+        boolean isSuccess = false;
+        boolean isEphemeralUser =
+                        (userInfo.flags & UserInfo.FLAG_EPHEMERAL) != 0;
+        boolean isEphemeralOnCreateUser =
+                (userInfo.flags & UserInfo.FLAG_EPHEMERAL_ON_CREATE)
+                    != 0;
+        // when user is created in ephemeral mode via FLAG_EPHEMERAL
+        // its state cannot be changed.
+        // FLAG_EPHEMERAL_ON_CREATE is used to keep track of this state
+        if (!isEphemeralOnCreateUser) {
+            isSuccess = true;
+            if (isEphemeralUser != enableEphemeral) {
+                if (enableEphemeral) {
+                    userInfo.flags |= UserInfo.FLAG_EPHEMERAL;
+                } else {
+                    userInfo.flags &= ~UserInfo.FLAG_EPHEMERAL;
+                }
+            }
+        }
+        return isSuccess;
+    }
+
+    @Implementation
+    protected void setUserAdmin(@UserIdInt int userId) {
+        for (int i = 0; i < mUserProfileInfos.size(); i++) {
+            mUserProfileInfos.get(i).flags |= UserInfo.FLAG_ADMIN;
+        }
+    }
+
+    /**
+     * Sets that the current user is an admin user; controls the return value of
+     * {@link UserManager#isAdminUser}.
+     */
+    public void setIsAdminUser(boolean isAdminUser) {
+        UserInfo userInfo = getUserInfo(UserHandle.myUserId());
+        if (isAdminUser) {
+            userInfo.flags |= UserInfo.FLAG_ADMIN;
+        } else {
+            userInfo.flags &= ~UserInfo.FLAG_ADMIN;
+        }
+    }
+
+    @Implementation
+    protected boolean isGuestUser() {
+        return mIsGuestUser;
+    }
+
+    public void setGuestUser(boolean isGuestUser) {
+        mIsGuestUser = isGuestUser;
+    }
+
+    public static void setIsMultipleAdminEnabled(boolean enableMultipleAdmin) {
+        sIsMultipleAdminEnabled = enableMultipleAdmin;
+    }
+
+    /**
+     * Adds a profile associated for the user that the calling process is running on.
+     *
+     * <p>The user is assigned an arbitrary unique serial number.
+     *
+     * @return the user's serial number
+     * @deprecated use either addUser() or addProfile()
+     */
+    @Deprecated
+    public long addUserProfile(UserHandle userHandle) {
+        long serialNumber = mNextUserSerial++;
+        mUserProfiles.put(userHandle, serialNumber);
+        return serialNumber;
+    }
+
+    protected List<UserHandle> getUserProfiles() {
+        return ImmutableList.copyOf(mUserProfiles.keySet());
+    }
+}
diff --git a/tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java b/tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUtils.java
similarity index 100%
rename from tests/robotests/src/com/android/settings/testutils/shadow/ShadowUtils.java
rename to tests/robotests/testutils/com/android/settings/testutils/shadow/ShadowUtils.java
diff --git a/tests/screenshot/Android.bp b/tests/screenshot/Android.bp
new file mode 100644
index 0000000..5130fe5
--- /dev/null
+++ b/tests/screenshot/Android.bp
@@ -0,0 +1,78 @@
+//
+// 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 {
+    default_team: "trendy_team_android_settings_app",
+}
+
+android_app {
+    name: "ScreenshotTestStub",
+    defaults: [
+        "SettingsLibDefaults",
+    ],
+    platform_apis: true,
+    certificate: "platform",
+    privileged: true,
+    use_resource_processor: true,
+
+    static_libs: [
+        "Settings-core",
+        "androidx.fragment_fragment-testing",
+        "androidx.fragment_fragment",
+        "androidx.test.runner",
+        "androidx.test.core",
+        "androidx.test.rules",
+        "androidx.test.ext.junit",
+        "platform-screenshot-diff-core",
+        "Settings-testutils2",
+        "androidx.test.espresso.core",
+        "kotlinx-coroutines-android",
+        "androidx.lifecycle_lifecycle-runtime-testing",
+        "kotlinx_coroutines_test",
+    ],
+    uses_libs: ["org.apache.http.legacy"],
+    aaptflags: ["--extra-packages com.android.settings"],
+    manifest: "AndroidManifest.xml",
+}
+
+// This is a RNG (Robolectric native graphics) test target.
+android_robolectric_test {
+    name: "SettingsScreenshotRNGTests",
+    srcs: [
+        "src/**/*.kt",
+    ],
+    test_suites: ["general-tests"],
+
+    // Do not add any libraries here, instead add them to the ScreenshotTestStub
+    static_libs: [
+        "androidx.compose.runtime_runtime",
+        "androidx.test.uiautomator_uiautomator",
+        "androidx.test.ext.junit",
+        "inline-mockito-robolectric-prebuilt",
+        "platform-parametric-runner-lib",
+        "uiautomator-helpers",
+
+    ],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+        "android.test.mock",
+        "truth",
+    ],
+
+    upstream: true,
+    instrumentation_for: "ScreenshotTestStub",
+    java_resource_dirs: ["config"],
+}
diff --git a/tests/screenshot/AndroidManifest.xml b/tests/screenshot/AndroidManifest.xml
new file mode 100644
index 0000000..9273270
--- /dev/null
+++ b/tests/screenshot/AndroidManifest.xml
@@ -0,0 +1,30 @@
+<?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.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+        xmlns:androidprv="http://schemas.android.com/apk/prv/res/android"
+        coreApp="true"
+        package="com.android.settings">
+    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
+
+    <application>
+        <activity android:name="com.android.settings.test.screenshot.ContainerActivity" android:exported="true" />
+        <activity android:name="platform.test.screenshot.FragmentScreenshotActivity" android:exported="true"
+            android:theme="@style/GlifTheme.Light" />
+    </application>
+
+</manifest>
diff --git a/tests/screenshot/OWNERS b/tests/screenshot/OWNERS
new file mode 100644
index 0000000..fbe29d1
--- /dev/null
+++ b/tests/screenshot/OWNERS
@@ -0,0 +1,2 @@
+joshmccloskey@google.com
+jbolinger@google.com
diff --git a/tests/screenshot/assets/robolectric/fp_enroll_confirmation.png b/tests/screenshot/assets/robolectric/fp_enroll_confirmation.png
new file mode 100644
index 0000000..db9009b
--- /dev/null
+++ b/tests/screenshot/assets/robolectric/fp_enroll_confirmation.png
Binary files differ
diff --git a/tests/screenshot/assets/robolectric/fp_enroll_enrolling.png b/tests/screenshot/assets/robolectric/fp_enroll_enrolling.png
new file mode 100644
index 0000000..1299f2a
--- /dev/null
+++ b/tests/screenshot/assets/robolectric/fp_enroll_enrolling.png
Binary files differ
diff --git a/tests/screenshot/assets/robolectric/fp_enroll_find_sensor.png b/tests/screenshot/assets/robolectric/fp_enroll_find_sensor.png
new file mode 100644
index 0000000..a252e5e
--- /dev/null
+++ b/tests/screenshot/assets/robolectric/fp_enroll_find_sensor.png
Binary files differ
diff --git a/tests/screenshot/assets/robolectric/fp_enroll_intro.png b/tests/screenshot/assets/robolectric/fp_enroll_intro.png
new file mode 100644
index 0000000..3cd9f4a
--- /dev/null
+++ b/tests/screenshot/assets/robolectric/fp_enroll_intro.png
Binary files differ
diff --git a/tests/screenshot/config/robolectric.properties b/tests/screenshot/config/robolectric.properties
new file mode 100644
index 0000000..88443e3
--- /dev/null
+++ b/tests/screenshot/config/robolectric.properties
@@ -0,0 +1,16 @@
+# 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.
+#
+sdk=NEWEST_SDK
+graphicsMode=NATIVE
\ No newline at end of file
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/ContainerActivity.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/ContainerActivity.kt
new file mode 100644
index 0000000..a505ef5
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/ContainerActivity.kt
@@ -0,0 +1,37 @@
+/*
+ * 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.tests.screenshot
+
+import android.os.Bundle
+import androidx.fragment.app.FragmentActivity
+import androidx.fragment.app.FragmentContainerView
+
+/**
+ * This activity is a container for all RNG (Robolectric Native Graphic) Settings screenshot tests.
+ */
+class ContainerActivity : FragmentActivity() {
+    override fun onCreate(savedInstanceState: Bundle?) {
+        super.onCreate(savedInstanceState)
+        val contentView = FragmentContainerView(this)
+        contentView.setId(CONTAINER_VIEW_ID)
+        setContentView(contentView)
+    }
+
+    companion object {
+        const val CONTAINER_VIEW_ID = 1234
+    }
+}
\ No newline at end of file
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/README.md b/tests/screenshot/src/com/android/settings/tests/screenshot/README.md
new file mode 100644
index 0000000..299265a
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/README.md
@@ -0,0 +1,12 @@
+# Background info about tests
+1. This test is ran in postsubmits at andoid-settings/robo_tests.gcl
+2. It is important that this module stays somewhat small, if the test size grows
+   too large, it will be likely that this suite breaks due to flakiness(which
+   tends to happen with screenshot tests). In this case investigate splitting
+   the module.
+
+#  Running and updating screenshots.
+1. For FingerprintEnrollIntroScreenshotTest.kt#testEnrollIntro
+2. atest SettingsScreenshotRNGTests
+3. There should be a file like com.android.settings.tests.screenshot.biometrics.fingerprint.fragment.FingerprintEnrollIntroScreenshotTest_testEnrollIntro_actual_robolectric_fp_enroll_intro.png_6245562387930305138.png
+4. Place this screenshot in packages/apps/Settings/tests/screenshot/assets/robolectric/fp_enroll_intro.png
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
new file mode 100644
index 0000000..3cd2002
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/Injector.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.tests.screenshot.biometrics.fingerprint
+
+import android.content.res.Configuration
+import android.view.Surface
+import androidx.lifecycle.ViewModel
+import androidx.lifecycle.ViewModelProvider
+import androidx.test.platform.app.InstrumentationRegistry
+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.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.viewmodel.RFPSIconTouchViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.viewmodel.RFPSViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollConfirmationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollEnrollingViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollIntroViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintFlowViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintScrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.update
+import platform.test.screenshot.DeviceEmulationSpec
+import platform.test.screenshot.DisplaySpec
+import platform.test.screenshot.FragmentScreenshotTestRule
+import platform.test.screenshot.GoldenImagePathManager
+import platform.test.screenshot.matchers.PixelPerfectMatcher
+
+class Injector(step: FingerprintNavigationStep.UiStep) {
+
+  var enrollFlow = Default
+  var fingerprintSensor = FingerprintSensor(1, SensorStrength.STRONG, 5, FingerprintSensorType.REAR)
+  var accessibilityInteractor =
+    object : AccessibilityInteractor {
+      override val isAccessibilityEnabled: Flow<Boolean> = flowOf(true)
+    }
+
+  var foldStateInteractor =
+    object : FoldStateInteractor {
+      private val _foldState = MutableStateFlow(false)
+      override val isFolded: Flow<Boolean> = _foldState.asStateFlow()
+
+      override fun onConfigurationChange(newConfig: Configuration) {
+        _foldState.update { false }
+      }
+    }
+
+  var orientationInteractor =
+    object : OrientationInteractor {
+      override val orientation: Flow<Int> = flowOf(Configuration.ORIENTATION_LANDSCAPE)
+      override val rotation: Flow<Int> = flowOf(Surface.ROTATION_0)
+
+      override fun getRotationFromDefault(rotation: Int): Int = rotation
+    }
+  var gatekeeperViewModel =
+    FingerprintGatekeeperViewModel(
+      GatekeeperInfo.GatekeeperPasswordInfo(byteArrayOf(1, 2, 3), 100L),
+      interactor,
+    )
+
+  val flowViewModel = FingerprintFlowViewModel(enrollFlow)
+
+  var navigationViewModel = FingerprintNavigationViewModel(step, true, flowViewModel, interactor)
+  var fingerprintViewModel =
+    FingerprintEnrollIntroViewModel(navigationViewModel, flowViewModel, interactor)
+
+  var fingerprintScrollViewModel = FingerprintScrollViewModel()
+  var backgroundViewModel = BackgroundViewModel()
+
+  var fingerprintEnrollViewModel =
+    FingerprintEnrollViewModel(interactor, gatekeeperViewModel, navigationViewModel)
+
+  var fingerprintEnrollEnrollingViewModel =
+    FingerprintEnrollEnrollingViewModel(fingerprintEnrollViewModel, backgroundViewModel)
+
+  var rfpsIconTouchViewModel = RFPSIconTouchViewModel()
+  var rfpsViewModel =
+    RFPSViewModel(fingerprintEnrollEnrollingViewModel, navigationViewModel, orientationInteractor)
+
+  val fingerprintEnrollConfirmationViewModel =
+    FingerprintEnrollConfirmationViewModel(navigationViewModel, interactor)
+
+  var fingerprintFindSensorViewModel =
+    FingerprintEnrollFindSensorViewModel(
+      navigationViewModel,
+      fingerprintEnrollViewModel,
+      gatekeeperViewModel,
+      backgroundViewModel,
+      accessibilityInteractor,
+      foldStateInteractor,
+      orientationInteractor,
+      flowViewModel,
+      interactor,
+    )
+
+  val factory =
+    object : ViewModelProvider.Factory {
+      @Suppress("UNCHECKED_CAST")
+      override fun <T : ViewModel> create(modelClass: Class<T>): T {
+        return when (modelClass) {
+          FingerprintEnrollIntroViewModel::class.java -> fingerprintViewModel
+          FingerprintScrollViewModel::class.java -> fingerprintScrollViewModel
+          FingerprintNavigationViewModel::class.java -> navigationViewModel
+          FingerprintGatekeeperViewModel::class.java -> gatekeeperViewModel
+          FingerprintEnrollFindSensorViewModel::class.java -> fingerprintFindSensorViewModel
+          FingerprintEnrollViewModel::class.java -> fingerprintEnrollViewModel
+          RFPSViewModel::class.java -> rfpsViewModel
+          BackgroundViewModel::class.java -> backgroundViewModel
+          RFPSIconTouchViewModel::class.java -> rfpsIconTouchViewModel
+          FingerprintEnrollEnrollingViewModel::class.java -> fingerprintEnrollEnrollingViewModel
+          FingerprintEnrollConfirmationViewModel::class.java -> fingerprintEnrollConfirmationViewModel
+          else -> null
+        }
+          as T
+      }
+    }
+
+  init {
+    fingerprintEnrollViewModel.sensorTypeCached = fingerprintSensor.sensorType
+  }
+
+  companion object {
+    private val Phone = DisplaySpec("phone", width = 1080, height = 2340, densityDpi = 420)
+    private const val screenshotPath = "/settings_screenshots"
+    val interactor = FakeFingerprintManagerInteractor()
+
+    fun BiometricFragmentScreenShotRule() =
+      FragmentScreenshotTestRule(
+        DeviceEmulationSpec.forDisplays(Phone).first(),
+        GoldenImagePathManager(
+          InstrumentationRegistry.getInstrumentation().context,
+          InstrumentationRegistry.getInstrumentation().targetContext.filesDir.absolutePath +
+            screenshotPath,
+        ),
+        PixelPerfectMatcher(),
+        true,
+      )
+  }
+}
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollConfirmationScreenshotTest.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollConfirmationScreenshotTest.kt
new file mode 100644
index 0000000..28f4fbe
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollConfirmationScreenshotTest.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.tests.screenshot.biometrics.fingerprint.fragment
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollConfirmationV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.tests.screenshot.biometrics.fingerprint.Injector
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.screenshot.FragmentScreenshotTestRule
+import platform.test.screenshot.ViewScreenshotTestRule.Mode
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollConfirmationScreenshotTest {
+  private val injector: Injector = Injector(FingerprintNavigationStep.Confirmation)
+
+  @Rule
+  @JvmField
+  var rule: FragmentScreenshotTestRule = Injector.BiometricFragmentScreenShotRule()
+
+  @Test
+  fun testConfirmation() {
+    rule.screenshotTest(
+      "fp_enroll_confirmation",
+      Mode.MatchSize,
+      FingerprintEnrollConfirmationV2Fragment(injector.factory),
+    )
+  }
+}
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollEnrollingScreenshotTest.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollEnrollingScreenshotTest.kt
new file mode 100644
index 0000000..215e76f
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollEnrollingScreenshotTest.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.tests.screenshot.biometrics.fingerprint.fragment
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.fragment.RFPSEnrollFragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.tests.screenshot.biometrics.fingerprint.Injector
+import com.android.settings.tests.screenshot.biometrics.fingerprint.Injector.Companion.BiometricFragmentScreenShotRule
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.screenshot.FragmentScreenshotTestRule
+import platform.test.screenshot.ViewScreenshotTestRule.Mode
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollEnrollingScreenshotTest {
+  private val injector: Injector =
+    Injector(FingerprintNavigationStep.Enrollment(Injector.interactor.sensorProp))
+
+  @Rule @JvmField var rule: FragmentScreenshotTestRule = BiometricFragmentScreenShotRule()
+
+  @Test
+  fun testEnrollEnrolling() {
+    rule.screenshotTest("fp_enroll_enrolling", Mode.MatchSize, RFPSEnrollFragment(injector.factory))
+  }
+}
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollFindSensorScreenshotTest.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollFindSensorScreenshotTest.kt
new file mode 100644
index 0000000..18257c2
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollFindSensorScreenshotTest.kt
@@ -0,0 +1,45 @@
+package com.android.settings.tests.screenshot.biometrics.fingerprint.fragment
+
+/*
+ * 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.
+ */
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollFindSensorV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.tests.screenshot.biometrics.fingerprint.Injector
+import com.android.settings.tests.screenshot.biometrics.fingerprint.Injector.Companion.BiometricFragmentScreenShotRule
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.screenshot.FragmentScreenshotTestRule
+import platform.test.screenshot.ViewScreenshotTestRule.Mode
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollFindSensorScreenshotTest {
+  private val injector: Injector =
+    Injector(FingerprintNavigationStep.Education(Injector.interactor.sensorProp))
+
+  @Rule @JvmField var rule: FragmentScreenshotTestRule = BiometricFragmentScreenShotRule()
+
+  @Test
+  fun testEnrollFindSensor() {
+    rule.screenshotTest(
+      "fp_enroll_find_sensor",
+      Mode.MatchSize,
+      FingerprintEnrollFindSensorV2Fragment(injector.fingerprintSensor.sensorType, injector.factory),
+    )
+  }
+}
diff --git a/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollIntroScreenshotTest.kt b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollIntroScreenshotTest.kt
new file mode 100644
index 0000000..40a23d7
--- /dev/null
+++ b/tests/screenshot/src/com/android/settings/tests/screenshot/biometrics/fingerprint/fragment/FingerprintEnrollIntroScreenshotTest.kt
@@ -0,0 +1,45 @@
+/*
+ * 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.tests.screenshot.biometrics.fingerprint.fragment
+
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.fragment.FingerprintEnrollIntroV2Fragment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.tests.screenshot.biometrics.fingerprint.Injector
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import platform.test.screenshot.FragmentScreenshotTestRule
+import platform.test.screenshot.ViewScreenshotTestRule.Mode
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollIntroScreenshotTest {
+  private val injector: Injector = Injector(FingerprintNavigationStep.Introduction)
+
+  @Rule
+  @JvmField
+  var rule: FragmentScreenshotTestRule = Injector.BiometricFragmentScreenShotRule()
+
+  @Test
+  fun testEnrollIntro() {
+    rule.screenshotTest(
+      "fp_enroll_intro",
+      Mode.MatchSize,
+      FingerprintEnrollIntroV2Fragment(injector.factory),
+    )
+  }
+}
diff --git a/tests/shared/Android.bp b/tests/shared/Android.bp
new file mode 100644
index 0000000..6fd9f64
--- /dev/null
+++ b/tests/shared/Android.bp
@@ -0,0 +1,14 @@
+package {
+    default_team: "trendy_team_android_settings_app",
+}
+
+android_library {
+    name: "Settings-testutils2",
+    srcs: [
+        "src/**/*.kt",
+    ],
+    libs: [
+        "BiometricsSharedLib",
+        "FingerprintManagerInteractor",
+    ],
+}
diff --git a/tests/shared/AndroidManifest.xml b/tests/shared/AndroidManifest.xml
new file mode 100644
index 0000000..7e1842c
--- /dev/null
+++ b/tests/shared/AndroidManifest.xml
@@ -0,0 +1,20 @@
+<?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.
+-->
+
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.settings.testutils2">
+</manifest>
diff --git a/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
new file mode 100644
index 0000000..f571dad
--- /dev/null
+++ b/tests/shared/src/com/android/settings/testutils2/FakeFingerprintManagerInteractor.kt
@@ -0,0 +1,88 @@
+/*
+ * 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.testutils2
+
+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.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flow
+import kotlinx.coroutines.flow.flowOf
+
+/** Fake to be used by other classes to easily fake the FingerprintManager implementation. */
+class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
+
+  var enrollableFingerprints: Int = 5
+  var enrolledFingerprintsInternal: MutableList<FingerprintData> = mutableListOf()
+  var challengeToGenerate: Pair<Long, ByteArray> = Pair(-1L, byteArrayOf())
+  var authenticateAttempt = FingerprintAuthAttemptModel.Success(1)
+  var enrollStateViewModel: List<FingerEnrollState> =
+    listOf(FingerEnrollState.EnrollProgress(5, 5))
+
+  var sensorProp =
+    FingerprintSensor(
+      0 /* sensorId */,
+      SensorStrength.STRONG,
+      5,
+      FingerprintSensorType.POWER_BUTTON
+    )
+
+  override suspend fun authenticate(): FingerprintAuthAttemptModel {
+    return authenticateAttempt
+  }
+
+  override suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray> {
+    return challengeToGenerate
+  }
+
+  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 val maxEnrollableFingerprints: Flow<Int> = flow { emit(enrollableFingerprints) }
+
+  override suspend fun enroll(
+    hardwareAuthToken: ByteArray?,
+    enrollReason: EnrollReason
+  ): Flow<FingerEnrollState> = flowOf(*enrollStateViewModel.toTypedArray())
+
+  override suspend fun removeFingerprint(fp: FingerprintData): Boolean {
+    return enrolledFingerprintsInternal.remove(fp)
+  }
+
+  override suspend fun renameFingerprint(fp: FingerprintData, newName: String) {
+    if (enrolledFingerprintsInternal.remove(fp)) {
+      enrolledFingerprintsInternal.add(FingerprintData(newName, fp.fingerId, fp.deviceId))
+    }
+  }
+
+  override suspend fun hasSideFps(): Boolean {
+    return sensorProp.sensorType == FingerprintSensorType.POWER_BUTTON
+  }
+
+}
diff --git a/tests/spa_unit/Android.bp b/tests/spa_unit/Android.bp
index 0bd5613..d98cf42 100644
--- a/tests/spa_unit/Android.bp
+++ b/tests/spa_unit/Android.bp
@@ -15,6 +15,7 @@
 //
 
 package {
+    default_team: "trendy_team_android_settings_app",
     default_applicable_licenses: ["packages_apps_Settings_license"],
 }
 
@@ -27,13 +28,15 @@
     srcs: [
         "src/**/*.kt",
     ],
-
+    use_resource_processor: true,
     static_libs: [
         "Settings-core",
         "SpaLibTestUtils",
         "androidx.compose.runtime_runtime",
         "androidx.test.ext.junit",
         "androidx.test.runner",
+        "androidx.fragment_fragment-testing",
+        "flag-junit",
         "mockito-target-extended-minus-junit4",
     ],
     jni_libs: [
diff --git a/tests/spa_unit/AndroidManifest.xml b/tests/spa_unit/AndroidManifest.xml
index 5a7f565..51ac1b7 100644
--- a/tests/spa_unit/AndroidManifest.xml
+++ b/tests/spa_unit/AndroidManifest.xml
@@ -22,6 +22,8 @@
     <uses-permission android:name="android.permission.MANAGE_APPOPS" />
     <uses-permission android:name="android.permission.UPDATE_APP_OPS_STATS" />
     <uses-permission android:name="android.permission.WRITE_DEVICE_CONFIG" />
+    <uses-permission android:name="android.permission.READ_COMPAT_CHANGE_CONFIG" />
+    <uses-permission android:name="android.permission.LOG_COMPAT_CHANGE" />
 
     <application android:debuggable="true">
         <provider android:name="com.android.settings.slices.SettingsSliceProvider"
diff --git a/tests/spa_unit/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtilsTest.kt b/tests/spa_unit/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtilsTest.kt
new file mode 100644
index 0000000..9a638b2
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/activityembedding/EmbeddedDeepLinkUtilsTest.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.activityembedding
+
+import android.content.Context
+import android.content.Intent
+import android.net.Uri
+import android.provider.Settings
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.activityembedding.EmbeddedDeepLinkUtils.getTrampolineIntent
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class EmbeddedDeepLinkUtilsTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun getTrampolineIntent_intentSelector_shouldNotChangeIntentAction() {
+        val targetIntent = Intent().setClassName(
+            "android",
+            "com.android.internal.app.PlatLogoActivity"
+        )
+        val intent = Intent(Settings.ACTION_DISPLAY_SETTINGS).apply {
+            setComponent(resolveActivity(context.packageManager))
+            setSelector(
+                Intent().setData(
+                    Uri.fromParts(
+                        targetIntent.toUri(Intent.URI_INTENT_SCHEME),
+                        /* ssp= */ "",
+                        /* fragment= */ null,
+                    )
+                )
+            )
+        }
+
+        val resultIntent = getTrampolineIntent(intent, "menu_key")
+
+        val intentUriString =
+            resultIntent.getStringExtra(Settings.EXTRA_SETTINGS_EMBEDDED_DEEP_LINK_INTENT_URI)
+        val parsedIntent = Intent.parseUri(intentUriString, Intent.URI_INTENT_SCHEME)
+        assertThat(parsedIntent.action).isEqualTo(intent.action)
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt b/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt
index c2413af..5d3c1c0 100644
--- a/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt
+++ b/tests/spa_unit/src/com/android/settings/applications/specialaccess/DataSaverControllerTest.kt
@@ -29,7 +29,6 @@
 import com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE
 import com.android.settingslib.spaprivileged.model.app.AppListRepository
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.Flow
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
@@ -43,7 +42,6 @@
 import org.mockito.junit.MockitoRule
 import org.mockito.Mockito.`when` as whenever
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class DataSaverControllerTest {
     @get:Rule
diff --git a/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageAppSettingsControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageAppSettingsControllerTest.kt
new file mode 100644
index 0000000..220c970
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageAppSettingsControllerTest.kt
@@ -0,0 +1,98 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.PackageManager
+import android.content.pm.ResolveInfo
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.PreferenceCategory
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.argThat
+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
+
+@RunWith(AndroidJUnit4::class)
+class AppDataUsageAppSettingsControllerTest {
+    private val packageManager = mock<PackageManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn packageManager
+    }
+
+    private val controller = AppDataUsageAppSettingsController(context, KEY)
+
+    private val preference = PreferenceCategory(context).apply { key = KEY }
+
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+    }
+
+    @Test
+    fun onViewCreated_noSettingsActivity_hidePreference(): Unit = runBlocking {
+        controller.init(listOf(PACKAGE_NAME), USER_ID)
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    @Test
+    fun onViewCreated_hasSettingsActivity_showPreference(): Unit = runBlocking {
+        packageManager.stub {
+            on {
+                resolveActivityAsUser(
+                    argThat {
+                        action == Intent.ACTION_MANAGE_NETWORK_USAGE && getPackage() == PACKAGE_NAME
+                    },
+                    eq(0),
+                    eq(USER_ID),
+                )
+            } doReturn ResolveInfo()
+        }
+        controller.init(listOf(PACKAGE_NAME), USER_ID)
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isVisible).isTrue()
+    }
+
+    private companion object {
+        const val KEY = "test_key"
+        const val PACKAGE_NAME = "package.name"
+        const val USER_ID = 0
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageCycleControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageCycleControllerTest.kt
new file mode 100644
index 0000000..fe35259
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageCycleControllerTest.kt
@@ -0,0 +1,107 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.util.Range
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.datausage.lib.IAppDataUsageDetailsRepository
+import com.android.settings.datausage.lib.NetworkUsageDetailsData
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class AppDataUsageCycleControllerTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val preference = spy(SpinnerPreference(context, null).apply { key = KEY })
+
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    private val controller = AppDataUsageCycleController(context, KEY)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+    }
+
+    @Test
+    fun onViewCreated_noUsage_hidePreference(): Unit = runBlocking {
+        val repository = object : IAppDataUsageDetailsRepository {
+            override suspend fun queryDetailsForCycles() = emptyList<NetworkUsageDetailsData>()
+        }
+        controller.displayPreference(preferenceScreen)
+        controller.init(repository) {}
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    @Test
+    fun onViewCreated_hasUsage_showPreference(): Unit = runBlocking {
+        val detailsData = NetworkUsageDetailsData(
+            range = Range(1, 2),
+            totalUsage = 11,
+            foregroundUsage = 1,
+            backgroundUsage = 10,
+        )
+        val repository = object : IAppDataUsageDetailsRepository {
+            override suspend fun queryDetailsForCycles() = listOf(detailsData)
+        }
+        controller.displayPreference(preferenceScreen)
+        controller.init(repository) {}
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isVisible).isTrue()
+    }
+
+    @Test
+    fun setInitialCycles() {
+        val repository = object : IAppDataUsageDetailsRepository {
+            override suspend fun queryDetailsForCycles() = emptyList<NetworkUsageDetailsData>()
+        }
+        controller.displayPreference(preferenceScreen)
+        controller.init(repository) {}
+
+        controller.setInitialCycles(
+            initialCycles = listOf(CYCLE2_END_TIME, CYCLE1_END_TIME, CYCLE1_START_TIME),
+            initialSelectedEndTime = CYCLE1_END_TIME,
+        )
+
+        verify(preference).setSelection(1)
+    }
+
+    private companion object {
+        const val KEY = "test_key"
+        const val CYCLE1_START_TIME = 1694444444000L
+        const val CYCLE1_END_TIME = 1695555555000L
+        const val CYCLE2_END_TIME = 1695566666000L
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageListControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageListControllerTest.kt
new file mode 100644
index 0000000..4575a8d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/AppDataUsageListControllerTest.kt
@@ -0,0 +1,91 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceCategory
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.datausage.lib.AppPreferenceRepository
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+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 AppDataUsageListControllerTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val repository = mock<AppPreferenceRepository> {
+        on { loadAppPreferences(any()) } doAnswer {
+            val uids = it.arguments[0] as List<*>
+            uids.map { Preference(context) }
+        }
+    }
+
+    private val controller = AppDataUsageListController(
+        context = context,
+        preferenceKey = KEY,
+        repository = repository,
+    )
+
+    private val preference = PreferenceCategory(context).apply { key = KEY }
+
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+    }
+
+    @Test
+    fun onViewCreated_singleUid_hidePreference(): Unit = runBlocking {
+        controller.init(listOf(UID_0))
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    @Test
+    fun onViewCreated_twoUid_showPreference(): Unit = runBlocking {
+        controller.init(listOf(UID_0, UID_1))
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isVisible).isTrue()
+        assertThat(preference.preferenceCount).isEqualTo(2)
+    }
+
+    private companion object {
+        const val KEY = "test_key"
+        const val UID_0 = 10000
+        const val UID_1 = 10001
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt b/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt
new file mode 100644
index 0000000..4bf3851
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.kt
@@ -0,0 +1,89 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.net.NetworkTemplate
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotEnabled
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.datausage.lib.BillingCycleRepository
+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 BillingCyclePreferenceTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val mockBillingCycleRepository = mock<BillingCycleRepository>()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val preference = BillingCyclePreference(context, null, mockBillingCycleRepository)
+
+    @Test
+    fun setTemplate_titleDisplayed() {
+        setTemplate()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.billing_cycle))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun setTemplate_modifiable_enabled() {
+        mockBillingCycleRepository.stub {
+            on { isModifiable(SUB_ID) } doReturn true
+        }
+
+        setTemplate()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.billing_cycle)).assertIsEnabled()
+    }
+
+    @Test
+    fun setTemplate_notModifiable_notEnabled() {
+        mockBillingCycleRepository.stub {
+            on { isModifiable(SUB_ID) } doReturn false
+        }
+
+        setTemplate()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.billing_cycle))
+            .assertIsNotEnabled()
+    }
+
+    private fun setTemplate() {
+        preference.setTemplate(mock<NetworkTemplate>(), SUB_ID)
+        composeTestRule.setContent {
+            preference.Content()
+        }
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/ChartDataUsagePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/ChartDataUsagePreferenceControllerTest.kt
new file mode 100644
index 0000000..f061fe1
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/ChartDataUsagePreferenceControllerTest.kt
@@ -0,0 +1,67 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.PreferenceScreen
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.datausage.lib.NetworkCycleChartData
+import com.android.settings.datausage.lib.NetworkUsageData
+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.verify
+
+@RunWith(AndroidJUnit4::class)
+class ChartDataUsagePreferenceControllerTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val preference = mock<ChartDataUsagePreference>()
+    private val preferenceScreen = mock<PreferenceScreen> {
+        onGeneric { findPreference(KEY) } doReturn preference
+    }
+
+    private val controller = ChartDataUsagePreferenceController(context, KEY)
+
+    @Before
+    fun setUp() {
+        controller.displayPreference(preferenceScreen)
+        controller.onViewCreated(TestLifecycleOwner())
+    }
+
+    @Test
+    fun update() {
+        controller.update(CycleChartDate)
+
+        verify(preference).setTime(START_TIME, END_TIME)
+        verify(preference).setNetworkCycleData(CycleChartDate)
+    }
+
+    private companion object {
+        const val KEY = "test_key"
+        const val START_TIME = 1L
+        const val END_TIME = 2L
+
+        val UsageData = NetworkUsageData(startTime = START_TIME, endTime = END_TIME, usage = 10)
+        val CycleChartDate =
+            NetworkCycleChartData(total = UsageData, dailyUsage = listOf(UsageData))
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/DataPlanRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/DataPlanRepositoryTest.kt
new file mode 100644
index 0000000..5ed1486
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/DataPlanRepositoryTest.kt
@@ -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.datausage
+
+import android.net.NetworkPolicy
+import android.telephony.SubscriptionPlan
+import android.util.Range
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.datausage.lib.INetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settings.testutils.zonedDateTime
+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
+
+@RunWith(AndroidJUnit4::class)
+class DataPlanRepositoryTest {
+
+    private object FakeNetworkCycleDataRepository : INetworkCycleDataRepository {
+        override fun getCycles(): List<Range<Long>> = emptyList()
+        override fun getPolicy() = null
+
+        override fun queryUsage(range: Range<Long>) = NetworkUsageData(
+            startTime = CYCLE_CYCLE_START_TIME,
+            endTime = CYCLE_CYCLE_END_TIME,
+            usage = CYCLE_BYTES,
+        )
+    }
+
+    private val repository = DataPlanRepositoryImpl(FakeNetworkCycleDataRepository)
+
+    private val policy = mock<NetworkPolicy> {
+        on { cycleIterator() } doReturn listOf(
+            Range(zonedDateTime(CYCLE_CYCLE_START_TIME), zonedDateTime(CYCLE_CYCLE_END_TIME)),
+        ).iterator()
+    }
+
+    @Test
+    fun getDataPlanInfo_hasSubscriptionPlan() {
+        val dataPlanInfo = repository.getDataPlanInfo(policy, listOf(SUBSCRIPTION_PLAN))
+
+        assertThat(dataPlanInfo).isEqualTo(
+            DataPlanInfo(
+                dataPlanCount = 1,
+                dataPlanSize = DATA_LIMIT_BYTES,
+                dataBarSize = DATA_LIMIT_BYTES,
+                dataPlanUse = DATA_USAGE_BYTES,
+                cycleEnd = PLAN_CYCLE_END_TIME,
+                snapshotTime = DATA_USAGE_TIME,
+            )
+        )
+    }
+
+    @Test
+    fun getDataPlanInfo_noSubscriptionPlan() {
+        val dataPlanInfo = repository.getDataPlanInfo(policy, emptyList())
+
+        assertThat(dataPlanInfo).isEqualTo(
+            DataPlanInfo(
+                dataPlanCount = 0,
+                dataPlanSize = SubscriptionPlan.BYTES_UNKNOWN,
+                dataBarSize = CYCLE_BYTES,
+                dataPlanUse = CYCLE_BYTES,
+                cycleEnd = CYCLE_CYCLE_END_TIME,
+                snapshotTime = SubscriptionPlan.TIME_UNKNOWN,
+            )
+        )
+    }
+
+    private companion object {
+        const val CYCLE_CYCLE_START_TIME = 1L
+        const val CYCLE_CYCLE_END_TIME = 2L
+        const val CYCLE_BYTES = 11L
+
+        const val PLAN_CYCLE_START_TIME = 100L
+        const val PLAN_CYCLE_END_TIME = 200L
+        const val DATA_LIMIT_BYTES = 300L
+        const val DATA_USAGE_BYTES = 400L
+        const val DATA_USAGE_TIME = 500L
+
+        val SUBSCRIPTION_PLAN: SubscriptionPlan = SubscriptionPlan.Builder.createNonrecurring(
+            zonedDateTime(PLAN_CYCLE_START_TIME),
+            zonedDateTime(PLAN_CYCLE_END_TIME),
+        ).apply {
+            setDataLimit(DATA_LIMIT_BYTES, SubscriptionPlan.LIMIT_BEHAVIOR_DISABLED)
+            setDataUsage(DATA_USAGE_BYTES, DATA_USAGE_TIME)
+        }.build()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/DataUsageListAppsControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/DataUsageListAppsControllerTest.kt
new file mode 100644
index 0000000..2646323
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/DataUsageListAppsControllerTest.kt
@@ -0,0 +1,73 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.content.Intent
+import android.net.NetworkTemplate
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.SettingsActivity
+import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settingslib.AppItem
+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.argumentCaptor
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageListAppsControllerTest {
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivity(any())
+    }
+
+    private val controller = DataUsageListAppsController(context, "test_key")
+
+    @Before
+    fun setUp() {
+        controller.init(mock<NetworkTemplate>())
+        val data = NetworkUsageData(START_TIME, END_TIME, 0)
+        controller.updateCycles(listOf(data))
+    }
+
+    @Test
+    fun startAppDataUsage_shouldAddCyclesInfoToLaunchArguments() {
+        controller.startAppDataUsage(AppItem(), END_TIME)
+
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivity(capture())
+        }.firstValue
+        val arguments = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
+        assertThat(arguments.getLong(AppDataUsage.ARG_SELECTED_CYCLE)).isEqualTo(END_TIME)
+        assertThat(
+            arguments.getSerializable(AppDataUsage.ARG_NETWORK_CYCLES, ArrayList::class.java)
+        ).containsExactly(END_TIME, START_TIME).inOrder()
+    }
+
+    private companion object {
+        const val START_TIME = 1521583200000L
+        const val END_TIME = 1521676800000L
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/DataUsageListHeaderControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/DataUsageListHeaderControllerTest.kt
new file mode 100644
index 0000000..8c4f315
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/DataUsageListHeaderControllerTest.kt
@@ -0,0 +1,92 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.net.NetworkTemplate
+import android.view.LayoutInflater
+import android.view.View
+import android.widget.Spinner
+import androidx.lifecycle.Lifecycle
+import androidx.lifecycle.testing.TestLifecycleOwner
+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 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.any
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageListHeaderControllerTest {
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivity(any())
+    }
+
+    private val header =
+        LayoutInflater.from(context).inflate(R.layout.apps_filter_spinner, null, false)
+
+    private val configureButton: View = header.requireViewById(R.id.filter_settings)
+
+    private val spinner: Spinner = header.requireViewById(R.id.filter_spinner)
+
+    private val testLifecycleOwner = TestLifecycleOwner(initialState = Lifecycle.State.CREATED)
+
+    private val controller = DataUsageListHeaderController(
+        header = header,
+        template = mock<NetworkTemplate>(),
+        sourceMetricsCategory = 0,
+        viewLifecycleOwner = testLifecycleOwner,
+        cyclesFlow = flowOf(emptyList()),
+        updateSelectedCycle = {},
+    )
+
+    @Test
+    fun onViewCreated_shouldHideCycleSpinner() {
+        assertThat(spinner.visibility).isEqualTo(View.GONE)
+    }
+
+    @Test
+    fun updateCycleData_shouldShowCycleSpinner() = runBlocking {
+        testLifecycleOwner.handleLifecycleEvent(Lifecycle.Event.ON_START)
+        delay(100)
+
+        assertThat(spinner.visibility).isEqualTo(View.VISIBLE)
+    }
+
+    @Test
+    fun setConfigButtonVisible_setToTrue_shouldShowConfigureButton() {
+        controller.setConfigButtonVisible(true)
+
+        assertThat(configureButton.visibility).isEqualTo(View.VISIBLE)
+    }
+
+    @Test
+    fun setConfigButtonVisible_setToFalse_shouldHideConfigureButton() {
+        controller.setConfigButtonVisible(false)
+
+        assertThat(configureButton.visibility).isEqualTo(View.GONE)
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/DataUsageListTest.kt b/tests/spa_unit/src/com/android/settings/datausage/DataUsageListTest.kt
new file mode 100644
index 0000000..29ec0ee
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/DataUsageListTest.kt
@@ -0,0 +1,131 @@
+/*
+ * 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.datausage
+
+import android.content.Context
+import android.content.Intent
+import android.net.NetworkTemplate
+import android.os.UserManager
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import androidx.core.os.bundleOf
+import androidx.fragment.app.testing.launchFragment
+import androidx.fragment.app.testing.withFragment
+import androidx.lifecycle.Lifecycle
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spaprivileged.framework.common.userManager
+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
+
+private val mockUserManager: UserManager = mock<UserManager>()
+
+private val mockContext: Context = spy(ApplicationProvider.getApplicationContext()) {
+    on { userManager } doReturn mockUserManager
+}
+
+private var fakeIntent = Intent()
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageListTest {
+
+    @Before
+    fun setUp() {
+        mockUserManager.stub {
+            on { isGuestUser } doReturn false
+        }
+        fakeIntent = Intent()
+    }
+
+    @Test
+    fun launchFragment_withoutArguments_finish() {
+        val scenario = launchFragment<TestDataUsageList>(initialState = Lifecycle.State.CREATED)
+
+        scenario.withFragment {
+            assertThat(template).isNull()
+            assertThat(subId).isEqualTo(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+            assertThat(activity!!.isFinishing).isTrue()
+        }
+    }
+
+    @Test
+    fun launchFragment_isGuestUser_finish() {
+        mockUserManager.stub {
+            on { isGuestUser } doReturn true
+        }
+        val fragmentArgs = bundleOf(
+            DataUsageList.EXTRA_NETWORK_TEMPLATE to mock<NetworkTemplate>(),
+            DataUsageList.EXTRA_SUB_ID to 3,
+        )
+
+        val scenario = launchFragment<TestDataUsageList>(
+            fragmentArgs = fragmentArgs,
+            initialState = Lifecycle.State.CREATED,
+        )
+
+        scenario.withFragment {
+            assertThat(activity!!.isFinishing).isTrue()
+        }
+    }
+
+    @Test
+    fun launchFragment_withArguments_getTemplateFromArgument() {
+        val fragmentArgs = bundleOf(
+            DataUsageList.EXTRA_NETWORK_TEMPLATE to mock<NetworkTemplate>(),
+            DataUsageList.EXTRA_SUB_ID to 3,
+        )
+
+        val scenario = launchFragment<TestDataUsageList>(
+            fragmentArgs = fragmentArgs,
+            initialState = Lifecycle.State.CREATED,
+        )
+
+        scenario.withFragment {
+            assertThat(template).isNotNull()
+            assertThat(subId).isEqualTo(3)
+            assertThat(activity!!.isFinishing).isFalse()
+        }
+    }
+
+    @Test
+    fun launchFragment_withIntent_getTemplateFromIntent() {
+        fakeIntent = Intent().apply {
+            putExtra(Settings.EXTRA_NETWORK_TEMPLATE, mock<NetworkTemplate>())
+            putExtra(Settings.EXTRA_SUB_ID, 2)
+        }
+
+        val scenario = launchFragment<TestDataUsageList>(initialState = Lifecycle.State.CREATED)
+
+        scenario.withFragment {
+            assertThat(template).isNotNull()
+            assertThat(subId).isEqualTo(2)
+            assertThat(activity!!.isFinishing).isFalse()
+        }
+    }
+}
+
+class TestDataUsageList : DataUsageList() {
+    override fun getContext() = mockContext
+
+    override fun getIntent() = fakeIntent
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.kt
new file mode 100644
index 0000000..8ebb9c5
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceControllerTest.kt
@@ -0,0 +1,274 @@
+/*
+ * 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.net.NetworkPolicy
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.SubscriptionPlan
+import android.telephony.TelephonyManager
+import android.util.Range
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+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.datausage.lib.INetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkUsageData
+import com.android.settings.network.ProxySubscriptionManager
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.clearInvocations
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageSummaryPreferenceControllerTest {
+
+    private var policy: NetworkPolicy? = mock<NetworkPolicy>()
+
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { isDataCapable } doReturn true
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    private val mockSubscriptionManager = mock<SubscriptionManager> {
+        on { getSubscriptionPlans(any()) } doReturn emptyList()
+    }
+
+    private val mockProxySubscriptionManager = mock<ProxySubscriptionManager> {
+        on { get() } doReturn mockSubscriptionManager
+    }
+
+    private val fakeNetworkCycleDataRepository = object : INetworkCycleDataRepository {
+        override fun getCycles(): List<Range<Long>> = emptyList()
+        override fun getPolicy() = policy
+        override fun queryUsage(range: Range<Long>) = NetworkUsageData.AllZero
+    }
+
+    private var dataPlanInfo = EMPTY_DATA_PLAN_INFO
+
+    private val fakeDataPlanRepository = object : DataPlanRepository {
+        override fun getDataPlanInfo(policy: NetworkPolicy, plans: List<SubscriptionPlan>) =
+            dataPlanInfo
+    }
+
+    private val controller = DataUsageSummaryPreferenceController(
+        context = context,
+        subId = SUB_ID,
+        proxySubscriptionManager = mockProxySubscriptionManager,
+        networkCycleDataRepositoryFactory = { fakeNetworkCycleDataRepository },
+        dataPlanRepositoryFactory = { fakeDataPlanRepository },
+    )
+
+    private val preference = mock<DataUsageSummaryPreference> {
+        on { key } doReturn controller.preferenceKey
+    }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+    }
+
+    @Test
+    fun getAvailabilityStatus_noMobileData_conditionallyUnavailable() {
+        mockTelephonyManager.stub {
+            on { isDataCapable } doReturn false
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_hasSubInfoAndPolicy_available() {
+        mockProxySubscriptionManager.stub {
+            on { getAccessibleSubscriptionInfo(SUB_ID) } doReturn SubscriptionInfo.Builder().build()
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_ID)
+
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_noSubInfo_conditionallyUnavailable() {
+        mockProxySubscriptionManager.stub {
+            on { getAccessibleSubscriptionInfo(SUB_ID) } doReturn null
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_noPolicy_conditionallyUnavailable() {
+        policy = null
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun displayPreference_policyHasNoLimitInfo() {
+        policy = mock<NetworkPolicy>().apply {
+            warningBytes = NetworkPolicy.WARNING_DISABLED
+            limitBytes = NetworkPolicy.LIMIT_DISABLED
+        }
+
+        controller.displayPreference(preferenceScreen)
+
+        verify(preference).setLimitInfo(null)
+        verify(preference, never()).setLabels(any(), any())
+    }
+
+    @Test
+    fun displayPreference_policyWarningOnly() {
+        policy = mock<NetworkPolicy>().apply {
+            warningBytes = 1L
+            limitBytes = NetworkPolicy.LIMIT_DISABLED
+        }
+
+        controller.displayPreference(preferenceScreen)
+
+        val limitInfo = argumentCaptor {
+            verify(preference).setLimitInfo(capture())
+        }.firstValue.toString()
+        assertThat(limitInfo).isEqualTo("1 B data warning")
+        verify(preference).setLabels("0 B", "1 B")
+    }
+
+    @Test
+    fun displayPreference_policyLimitOnly() {
+        policy = mock<NetworkPolicy>().apply {
+            warningBytes = NetworkPolicy.WARNING_DISABLED
+            limitBytes = 1L
+        }
+
+        controller.displayPreference(preferenceScreen)
+
+        val limitInfo = argumentCaptor {
+            verify(preference).setLimitInfo(capture())
+        }.firstValue.toString()
+        assertThat(limitInfo).isEqualTo("1 B data limit")
+        verify(preference).setLabels("0 B", "1 B")
+    }
+
+    @Test
+    fun displayPreference_policyHasWarningAndLimit() {
+        policy = mock<NetworkPolicy>().apply {
+            warningBytes = BillingCycleSettings.GIB_IN_BYTES / 2
+            limitBytes = BillingCycleSettings.GIB_IN_BYTES
+        }
+
+        controller.displayPreference(preferenceScreen)
+
+        val limitInfo = argumentCaptor {
+            verify(preference).setLimitInfo(capture())
+        }.firstValue.toString()
+        assertThat(limitInfo).isEqualTo("512 MB data warning / 1.00 GB data limit")
+        verify(preference).setLabels("0 B", "1.00 GB")
+    }
+
+    @Test
+    fun onViewCreated_emptyDataPlanInfo() = runBlocking {
+        dataPlanInfo = EMPTY_DATA_PLAN_INFO
+        controller.displayPreference(preferenceScreen)
+        clearInvocations(preference)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        verify(preference).setUsageNumbers(
+            EMPTY_DATA_PLAN_INFO.dataPlanUse,
+            EMPTY_DATA_PLAN_INFO.dataPlanSize,
+        )
+        verify(preference).setChartEnabled(false)
+        verify(preference).setUsageInfo(
+            EMPTY_DATA_PLAN_INFO.cycleEnd,
+            EMPTY_DATA_PLAN_INFO.snapshotTime,
+            null,
+            EMPTY_DATA_PLAN_INFO.dataPlanCount,
+        )
+    }
+
+    @Test
+    fun onViewCreated_positiveDataPlanInfo() = runBlocking {
+        dataPlanInfo = POSITIVE_DATA_PLAN_INFO
+        controller.displayPreference(preferenceScreen)
+        clearInvocations(preference)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        verify(preference).setUsageNumbers(
+            POSITIVE_DATA_PLAN_INFO.dataPlanUse,
+            POSITIVE_DATA_PLAN_INFO.dataPlanSize,
+        )
+        verify(preference).setChartEnabled(true)
+        verify(preference).setLabels("0 B", "9 B")
+        val progress = argumentCaptor {
+            verify(preference).setProgress(capture())
+        }.firstValue
+        assertThat(progress).isEqualTo(0.8888889f)
+        verify(preference).setUsageInfo(
+            POSITIVE_DATA_PLAN_INFO.cycleEnd,
+            POSITIVE_DATA_PLAN_INFO.snapshotTime,
+            null,
+            POSITIVE_DATA_PLAN_INFO.dataPlanCount,
+        )
+    }
+
+    private companion object {
+        const val SUB_ID = 1234
+        val EMPTY_DATA_PLAN_INFO = DataPlanInfo(
+            dataPlanCount = 0,
+            dataPlanSize = SubscriptionPlan.BYTES_UNKNOWN,
+            dataBarSize = SubscriptionPlan.BYTES_UNKNOWN,
+            dataPlanUse = 0,
+            cycleEnd = null,
+            snapshotTime = SubscriptionPlan.TIME_UNKNOWN,
+        )
+        val POSITIVE_DATA_PLAN_INFO = DataPlanInfo(
+            dataPlanCount = 0,
+            dataPlanSize = 10L,
+            dataBarSize = 9L,
+            dataPlanUse = 8L,
+            cycleEnd = 7L,
+            snapshotTime = 6L,
+        )
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt
new file mode 100644
index 0000000..fda3dc9
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageDetailsRepositoryTest.kt
@@ -0,0 +1,137 @@
+/*
+ * 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.datausage.lib
+
+import android.app.usage.NetworkStats
+import android.content.Context
+import android.net.NetworkTemplate
+import android.util.Range
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+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
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
+
+@RunWith(AndroidJUnit4::class)
+class AppDataUsageDetailsRepositoryTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val template = mock<NetworkTemplate>()
+
+    private val networkCycleDataRepository = mock<INetworkCycleDataRepository> {
+        on { getCycles() } doReturn listOf(Range(CYCLE1_END_TIME, CYCLE2_END_TIME))
+    }
+
+    private val networkStatsRepository = mock<NetworkStatsRepository>()
+
+    @Test
+    fun queryDetailsForCycles_hasCycles(): Unit = runBlocking {
+        networkStatsRepository.stub {
+            on { queryBuckets(CYCLE1_START_TIME, CYCLE1_END_TIME) } doReturn listOf(
+                Bucket(
+                    uid = UID,
+                    bytes = BACKGROUND_USAGE,
+                    state = NetworkStats.Bucket.STATE_DEFAULT,
+                    startTimeStamp = 0L,
+                    endTimeStamp = 0L,
+                ),
+                Bucket(
+                    uid = UID,
+                    bytes = FOREGROUND_USAGE,
+                    state = NetworkStats.Bucket.STATE_FOREGROUND,
+                    startTimeStamp = 0L,
+                    endTimeStamp = 0L,
+                ),
+            )
+        }
+        val repository = AppDataUsageDetailsRepository(
+            context = context,
+            cycles = listOf(CYCLE1_END_TIME, CYCLE1_START_TIME),
+            template = template,
+            uids = listOf(UID),
+            networkCycleDataRepository = networkCycleDataRepository,
+            networkStatsRepository = networkStatsRepository,
+        )
+
+        val detailsForCycles = repository.queryDetailsForCycles()
+
+        assertThat(detailsForCycles).containsExactly(
+            NetworkUsageDetailsData(
+                range = Range(CYCLE1_START_TIME, CYCLE1_END_TIME),
+                totalUsage = BACKGROUND_USAGE + FOREGROUND_USAGE,
+                foregroundUsage = FOREGROUND_USAGE,
+                backgroundUsage = BACKGROUND_USAGE,
+            )
+        )
+    }
+
+    @Test
+    fun queryDetailsForCycles_defaultCycles(): Unit = runBlocking {
+        networkStatsRepository.stub {
+            on { queryBuckets(CYCLE1_END_TIME, CYCLE2_END_TIME) } doReturn listOf(
+                Bucket(
+                    uid = UID,
+                    bytes = BACKGROUND_USAGE,
+                    state = NetworkStats.Bucket.STATE_DEFAULT,
+                    startTimeStamp = 0L,
+                    endTimeStamp = 0L,
+                ),
+                Bucket(
+                    uid = UID,
+                    bytes = FOREGROUND_USAGE,
+                    state = NetworkStats.Bucket.STATE_FOREGROUND,
+                    startTimeStamp = 0L,
+                    endTimeStamp = 0L,
+                ),
+            )
+        }
+        val repository = AppDataUsageDetailsRepository(
+            context = context,
+            cycles = null,
+            template = template,
+            uids = listOf(UID),
+            networkCycleDataRepository = networkCycleDataRepository,
+            networkStatsRepository = networkStatsRepository,
+        )
+
+        val detailsForCycles = repository.queryDetailsForCycles()
+
+        assertThat(detailsForCycles).containsExactly(
+            NetworkUsageDetailsData(
+                range = Range(CYCLE1_END_TIME, CYCLE2_END_TIME),
+                totalUsage = BACKGROUND_USAGE + FOREGROUND_USAGE,
+                foregroundUsage = FOREGROUND_USAGE,
+                backgroundUsage = BACKGROUND_USAGE,
+            )
+        )
+    }
+
+    private companion object {
+        const val CYCLE1_START_TIME = 1694444444000L
+        const val CYCLE1_END_TIME = 1695555555000L
+        const val CYCLE2_END_TIME = 1695566666000L
+        const val UID = 10000
+
+        const val BACKGROUND_USAGE = 8L
+        const val FOREGROUND_USAGE = 2L
+    }
+}
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
new file mode 100644
index 0000000..3f517a9
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageRepositoryTest.kt
@@ -0,0 +1,134 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.content.pm.UserInfo
+import android.content.res.Resources
+import android.net.NetworkPolicyManager
+import android.net.NetworkTemplate
+import android.os.UserHandle
+import android.os.UserManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
+import com.android.settingslib.AppItem
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import com.google.common.truth.Truth.assertThat
+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.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+
+@RunWith(AndroidJUnit4::class)
+class AppDataUsageRepositoryTest {
+    @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 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)
+
+        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
+    }
+
+    @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 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(appPercentList[0].second).isEqualTo(100)
+        appPercentList[1].first.apply {
+            assertThat(key).isEqualTo(APP_ID_1)
+            assertThat(category).isEqualTo(AppItem.CATEGORY_APP)
+            assertThat(total).isEqualTo(1)
+        }
+        assertThat(appPercentList[1].second).isEqualTo(50)
+    }
+
+    @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 appPercentList = repository.getAppPercent(HIDING_CARRIER_ID, buckets)
+
+        assertThat(appPercentList).hasSize(1)
+        appPercentList[0].first.apply {
+            assertThat(key).isEqualTo(APP_ID_2)
+            assertThat(category).isEqualTo(AppItem.CATEGORY_APP)
+            assertThat(total).isEqualTo(2)
+        }
+        assertThat(appPercentList[0].second).isEqualTo(100)
+    }
+
+    private companion object {
+        const val USER_ID = 1
+        const val APP_ID_1 = 110001
+        const val APP_ID_2 = 110002
+        const val HIDING_CARRIER_ID = 4
+        const val HIDING_PACKAGE_NAME = "hiding.package.name"
+
+        val Template: NetworkTemplate = mock<NetworkTemplate>()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageSummaryRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageSummaryRepositoryTest.kt
new file mode 100644
index 0000000..0557d7f
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/AppDataUsageSummaryRepositoryTest.kt
@@ -0,0 +1,74 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkTemplate
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class AppDataUsageSummaryRepositoryTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val template = mock<NetworkTemplate>()
+
+    private val networkStatsRepository = mock<NetworkStatsRepository> {
+        on {
+            queryAggregateForUid(range = NetworkStatsRepository.AllTimeRange, uid = APP_UID)
+        } doReturn NetworkUsageData(APP_START_TIME, APP_END_TIME, APP_USAGE)
+
+        on {
+            queryAggregateForUid(range = NetworkStatsRepository.AllTimeRange, uid = SDK_SANDBOX_UID)
+        } doReturn NetworkUsageData(SDK_SANDBOX_START_TIME, SDK_SANDBOX_END_TIME, SDK_SANDBOX_USAGE)
+    }
+
+    private val repository =
+        AppDataUsageSummaryRepository(context, template, networkStatsRepository)
+
+    @Test
+    fun querySummary(): Unit = runBlocking {
+        val networkUsageData = repository.querySummary(APP_UID)
+
+        assertThat(networkUsageData).isEqualTo(
+            NetworkUsageData(
+                startTime = APP_START_TIME,
+                endTime = SDK_SANDBOX_END_TIME,
+                usage = APP_USAGE + SDK_SANDBOX_USAGE,
+            )
+        )
+    }
+
+    private companion object {
+        const val APP_UID = 10000
+        const val APP_START_TIME = 10L
+        const val APP_END_TIME = 30L
+        const val APP_USAGE = 3L
+
+        const val SDK_SANDBOX_UID = 20000
+        const val SDK_SANDBOX_START_TIME = 20L
+        const val SDK_SANDBOX_END_TIME = 40L
+        const val SDK_SANDBOX_USAGE = 5L
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/AppPreferenceRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/AppPreferenceRepositoryTest.kt
new file mode 100644
index 0000000..05fce8f
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/AppPreferenceRepositoryTest.kt
@@ -0,0 +1,94 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import android.graphics.drawable.Drawable
+import android.os.UserHandle
+import android.util.IconDrawableFactory
+import androidx.test.core.app.ApplicationProvider
+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.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.doThrow
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class AppPreferenceRepositoryTest {
+    private val packageManager = mock<PackageManager> {
+        on { getPackagesForUid(UID) } doReturn arrayOf(PACKAGE_NAME)
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn packageManager
+    }
+
+    private val mockIconDrawableFactory = mock<IconDrawableFactory>()
+
+    private val repository = AppPreferenceRepository(context, mockIconDrawableFactory)
+
+    @Test
+    fun loadAppPreferences_packageNotFound_returnEmpty() {
+        packageManager.stub {
+            on {
+                getApplicationInfoAsUser(PACKAGE_NAME, 0, UserHandle.getUserId(UID))
+            } doThrow PackageManager.NameNotFoundException()
+        }
+
+        val preferences = repository.loadAppPreferences(listOf(UID))
+
+        assertThat(preferences).isEmpty()
+    }
+
+    @Test
+    fun loadAppPreferences_packageFound_returnPreference() {
+        val app = mock<ApplicationInfo> {
+            on { loadLabel(any()) } doReturn LABEL
+        }
+        mockIconDrawableFactory.stub {
+            on { getBadgedIcon(app) } doReturn UNBADGED_ICON
+        }
+        packageManager.stub {
+            on {
+                getApplicationInfoAsUser(PACKAGE_NAME, 0, UserHandle.getUserId(UID))
+            } doReturn app
+        }
+
+        val preferences = repository.loadAppPreferences(listOf(UID))
+
+        assertThat(preferences).hasSize(1)
+        preferences[0].apply {
+            assertThat(title).isEqualTo(LABEL)
+            assertThat(icon).isNotNull()
+            assertThat(isSelectable).isFalse()
+        }
+    }
+
+    private companion object {
+        const val UID = 10000
+        const val PACKAGE_NAME = "package.name"
+        const val LABEL = "Label"
+        val UNBADGED_ICON = mock<Drawable>()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/BillingCycleRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/BillingCycleRepositoryTest.kt
new file mode 100644
index 0000000..deaaf2d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/BillingCycleRepositoryTest.kt
@@ -0,0 +1,120 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.os.INetworkManagementService
+import android.os.UserManager
+import android.telephony.TelephonyManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spaprivileged.framework.common.userManager
+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.spy
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class BillingCycleRepositoryTest {
+
+    private val mockNetworkManagementService = mock<INetworkManagementService> {
+        on { isBandwidthControlEnabled } doReturn true
+    }
+
+    private val mockUserManager = mock<UserManager> {
+        on { isAdminUser } doReturn true
+    }
+
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_ID) } doReturn mock
+        on { isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER) } doReturn false
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { userManager } doReturn mockUserManager
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    private val repository = BillingCycleRepository(context, mockNetworkManagementService)
+
+    @Test
+    fun isModifiable_bandwidthControlDisabled_returnFalse() {
+        whenever(mockNetworkManagementService.isBandwidthControlEnabled).thenReturn(false)
+
+        val modifiable = repository.isModifiable(SUB_ID)
+
+        assertThat(modifiable).isFalse()
+    }
+
+    @Test
+    fun isModifiable_notAdminUser_returnFalse() {
+        whenever(mockUserManager.isAdminUser).thenReturn(false)
+
+        val modifiable = repository.isModifiable(SUB_ID)
+
+        assertThat(modifiable).isFalse()
+    }
+
+    @Test
+    fun isModifiable_dataDisabled_returnFalse() {
+        whenever(
+            mockTelephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
+        ).thenReturn(false)
+
+        val modifiable = repository.isModifiable(SUB_ID)
+
+        assertThat(modifiable).isFalse()
+    }
+
+    @Test
+    fun isModifiable_meetAllRequirements_returnTrue() {
+        whenever(mockNetworkManagementService.isBandwidthControlEnabled).thenReturn(true)
+        whenever(mockUserManager.isAdminUser).thenReturn(true)
+        whenever(
+            mockTelephonyManager.isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER)
+        ).thenReturn(true)
+
+        val modifiable = repository.isModifiable(SUB_ID)
+
+        assertThat(modifiable).isTrue()
+    }
+
+    @Test
+    fun isBandwidthControlEnabled_bandwidthControlDisabled_returnFalse() {
+        whenever(mockNetworkManagementService.isBandwidthControlEnabled).thenReturn(false)
+
+        val enabled = repository.isBandwidthControlEnabled()
+
+        assertThat(enabled).isFalse()
+    }
+
+    @Test
+    fun isBandwidthControlEnabled_bandwidthControlEnabled_returnTrue() {
+        whenever(mockNetworkManagementService.isBandwidthControlEnabled).thenReturn(true)
+
+        val enabled = repository.isBandwidthControlEnabled()
+
+        assertThat(enabled).isTrue()
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/DataUsageLibTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/DataUsageLibTest.kt
new file mode 100644
index 0000000..e3ec90a
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/DataUsageLibTest.kt
@@ -0,0 +1,158 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkStats
+import android.net.NetworkTemplate
+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
+import com.google.common.truth.Truth.assertThat
+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.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageLibTest {
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var telephonyManager: TelephonyManager
+
+    @Mock
+    private lateinit var subscriptionManager: SubscriptionManager
+
+    @Before
+    fun setUp() {
+        whenever(context.getSystemService(TelephonyManager::class.java))
+            .thenReturn(telephonyManager)
+        whenever(context.getSystemService(SubscriptionManager::class.java))
+            .thenReturn(subscriptionManager)
+
+        whenever(telephonyManager.subscriptionId).thenReturn(DEFAULT_SUB_ID)
+        whenever(telephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID)
+        whenever(telephonyManager.getSubscriberId(DEFAULT_SUB_ID)).thenReturn(DEFAULT_SUBSCRIBER_ID)
+        whenever(telephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(telephonyManager)
+    }
+
+    @Test
+    fun getMobileTemplate_availableSubscriptionInfoListIsNull_returnDefaultSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList).thenReturn(null)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(DEFAULT_SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_subscriptionNotActive_returnDefaultSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList).thenReturn(listOf(null))
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(DEFAULT_SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupEmpty_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup).thenReturn(emptyArray())
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupNotContainSub_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup).thenReturn(arrayOf(DEFAULT_SUBSCRIBER_ID))
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplate_mergedImsisFromGroupContainSub_returnRequestedSub() {
+        whenever(subscriptionManager.availableSubscriptionInfoList)
+            .thenReturn(listOf(SUBSCRIBER_INFO))
+        whenever(telephonyManager.mergedImsisFromGroup)
+            .thenReturn(arrayOf(DEFAULT_SUBSCRIBER_ID, SUBSCRIBER_ID))
+
+        val mobileTemplate = DataUsageLib.getMobileTemplate(context, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds)
+            .containsExactly(SUBSCRIBER_ID, DEFAULT_SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplateForSubId_subscriberIdNotNull() {
+        whenever(telephonyManager.getSubscriberId(SUB_ID)).thenReturn(SUBSCRIBER_ID)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplateForSubId(telephonyManager, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_CARRIER)
+        assertThat(mobileTemplate.subscriberIds).containsExactly(SUBSCRIBER_ID)
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    @Test
+    fun getMobileTemplateForSubId_subscriberIdIsNull() {
+        whenever(telephonyManager.getSubscriberId(SUB_ID)).thenReturn(null)
+
+        val mobileTemplate = DataUsageLib.getMobileTemplateForSubId(telephonyManager, SUB_ID)
+
+        assertThat(mobileTemplate.matchRule).isEqualTo(NetworkTemplate.MATCH_MOBILE)
+        assertThat(mobileTemplate.subscriberIds).isEmpty()
+        assertThat(mobileTemplate.meteredness).isEqualTo(NetworkStats.METERED_YES)
+    }
+
+    private companion object {
+        const val DEFAULT_SUB_ID = 0
+        const val SUB_ID = 1
+        const val DEFAULT_SUBSCRIBER_ID = "Default Test Subscriber"
+        const val SUBSCRIBER_ID = "Test Subscriber"
+        val SUBSCRIBER_INFO: SubscriptionInfo = SubscriptionInfo.Builder().setId(SUB_ID).build()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkCycleBucketRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkCycleBucketRepositoryTest.kt
new file mode 100644
index 0000000..f83b85f
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkCycleBucketRepositoryTest.kt
@@ -0,0 +1,178 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkPolicy
+import android.net.NetworkTemplate
+import android.text.format.DateUtils
+import android.util.Range
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.datausage.lib.NetworkStatsRepository.Companion.Bucket
+import com.google.common.truth.Truth.assertThat
+import java.time.Instant
+import java.time.ZoneId
+import java.time.ZonedDateTime
+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 NetworkCycleBucketRepositoryTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val template = mock<NetworkTemplate>()
+
+    private val mockNetworkCycleDataRepository = mock<NetworkCycleDataRepository>()
+
+    @Test
+    fun loadCycles_byPolicy() {
+        val policy = mock<NetworkPolicy> {
+            on { cycleIterator() } doReturn listOf(
+                Range(zonedDateTime(CYCLE1_START_TIME), zonedDateTime(CYCLE1_END_TIME)),
+            ).iterator()
+        }
+        mockNetworkCycleDataRepository.stub {
+            on { getPolicy() } doReturn policy
+        }
+        val repository = NetworkCycleBucketRepository(
+            context = context,
+            networkTemplate = template,
+            buckets = listOf(
+                Bucket(
+                    uid = 0,
+                    bytes = CYCLE1_BYTES,
+                    startTimeStamp = CYCLE1_START_TIME,
+                    endTimeStamp = CYCLE1_END_TIME,
+                )
+            ),
+            networkCycleDataRepository = mockNetworkCycleDataRepository,
+        )
+
+        val cycles = repository.loadCycles()
+
+        assertThat(cycles).containsExactly(
+            NetworkUsageData(
+                startTime = CYCLE1_START_TIME,
+                endTime = CYCLE1_END_TIME,
+                usage = CYCLE1_BYTES,
+            ),
+        )
+    }
+
+    @Test
+    fun loadCycles_asFourWeeks() {
+        mockNetworkCycleDataRepository.stub {
+            on { getPolicy() } doReturn null
+        }
+        val repository = NetworkCycleBucketRepository(
+            context = context,
+            networkTemplate = template,
+            buckets = listOf(
+                Bucket(
+                    uid = 0,
+                    bytes = CYCLE2_BYTES,
+                    startTimeStamp = CYCLE2_START_TIME,
+                    endTimeStamp = CYCLE2_END_TIME,
+                )
+            ),
+            networkCycleDataRepository = mockNetworkCycleDataRepository,
+        )
+
+        val cycles = repository.loadCycles()
+
+        assertThat(cycles).containsExactly(
+            NetworkUsageData(
+                startTime = CYCLE2_END_TIME - DateUtils.WEEK_IN_MILLIS * 4,
+                endTime = CYCLE2_END_TIME,
+                usage = CYCLE2_BYTES,
+            ),
+        )
+    }
+
+    @Test
+    fun queryChartData() {
+        val cycle = NetworkUsageData(
+            startTime = CYCLE3_START_TIME,
+            endTime = CYCLE4_END_TIME,
+            usage = CYCLE3_BYTES + CYCLE4_BYTES,
+        )
+        val repository = NetworkCycleBucketRepository(
+            context = context,
+            networkTemplate = template,
+            buckets = listOf(
+                Bucket(
+                    uid = 0,
+                    bytes = CYCLE3_BYTES,
+                    startTimeStamp = CYCLE3_START_TIME,
+                    endTimeStamp = CYCLE3_END_TIME,
+                ),
+                Bucket(
+                    uid = 0,
+                    bytes = CYCLE4_BYTES,
+                    startTimeStamp = CYCLE4_START_TIME,
+                    endTimeStamp = CYCLE4_END_TIME,
+                ),
+            ),
+            networkCycleDataRepository = mockNetworkCycleDataRepository,
+        )
+
+        val summary = repository.queryChartData(cycle)
+
+        assertThat(summary).isEqualTo(
+            NetworkCycleChartData(
+                total = cycle,
+                dailyUsage = listOf(
+                    NetworkUsageData(
+                        startTime = CYCLE3_START_TIME,
+                        endTime = CYCLE3_END_TIME,
+                        usage = CYCLE3_BYTES,
+                    ),
+                    NetworkUsageData(
+                        startTime = CYCLE4_START_TIME,
+                        endTime = CYCLE4_END_TIME,
+                        usage = CYCLE4_BYTES,
+                    ),
+                ),
+            )
+        )
+    }
+
+    private fun zonedDateTime(epochMilli: Long): ZonedDateTime? =
+        ZonedDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneId.systemDefault())
+
+    private companion object {
+        const val CYCLE1_START_TIME = 1L
+        const val CYCLE1_END_TIME = 2L
+        const val CYCLE1_BYTES = 11L
+
+        const val CYCLE2_START_TIME = 1695555555000L
+        const val CYCLE2_END_TIME = 1695566666000L
+        const val CYCLE2_BYTES = 22L
+
+        const val CYCLE3_START_TIME = 1695555555000L
+        const val CYCLE3_END_TIME = CYCLE3_START_TIME + DateUtils.DAY_IN_MILLIS
+        const val CYCLE3_BYTES = 33L
+
+        const val CYCLE4_START_TIME = CYCLE3_END_TIME
+        const val CYCLE4_END_TIME = CYCLE4_START_TIME + DateUtils.DAY_IN_MILLIS
+        const val CYCLE4_BYTES = 44L
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkCycleDataRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkCycleDataRepositoryTest.kt
new file mode 100644
index 0000000..77fe843
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkCycleDataRepositoryTest.kt
@@ -0,0 +1,114 @@
+/*
+ * 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.datausage.lib
+
+import android.content.Context
+import android.net.NetworkPolicy
+import android.net.NetworkTemplate
+import android.text.format.DateUtils
+import android.util.Range
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.testutils.zonedDateTime
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.test.runTest
+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.whenever
+
+@RunWith(AndroidJUnit4::class)
+class NetworkCycleDataRepositoryTest {
+    private val mockNetworkStatsRepository = mock<NetworkStatsRepository> {
+        on { querySummaryForDevice(CYCLE1_START_TIME, CYCLE1_END_TIME) } doReturn CYCLE1_BYTES
+
+        on {
+            querySummaryForDevice(
+                startTime = CYCLE2_END_TIME - DateUtils.WEEK_IN_MILLIS * 4,
+                endTime = CYCLE2_END_TIME,
+            )
+        } doReturn CYCLE2_BYTES
+
+        on { querySummaryForDevice(CYCLE3_START_TIME, CYCLE4_END_TIME) } doReturn
+            CYCLE3_BYTES + CYCLE4_BYTES
+
+        on { querySummaryForDevice(CYCLE3_START_TIME, CYCLE3_END_TIME) } doReturn CYCLE3_BYTES
+        on { querySummaryForDevice(CYCLE4_START_TIME, CYCLE4_END_TIME) } doReturn CYCLE4_BYTES
+    }
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val template = mock<NetworkTemplate>()
+
+    private val repository =
+        spy(NetworkCycleDataRepository(context, template, mockNetworkStatsRepository))
+
+    @Test
+    fun loadFirstCycle_byPolicy() = runTest {
+        val policy = mock<NetworkPolicy> {
+            on { cycleIterator() } doReturn listOf(
+                Range(zonedDateTime(CYCLE1_START_TIME), zonedDateTime(CYCLE1_END_TIME))
+            ).iterator()
+        }
+        doReturn(policy).whenever(repository).getPolicy()
+
+        val firstCycle = repository.loadFirstCycle()
+
+        assertThat(firstCycle).isEqualTo(
+            NetworkUsageData(startTime = 1, endTime = 2, usage = CYCLE1_BYTES),
+        )
+    }
+
+    @Test
+    fun loadFirstCycle_asFourWeeks() = runTest {
+        doReturn(null).whenever(repository).getPolicy()
+        mockNetworkStatsRepository.stub {
+            on { getTimeRange() } doReturn Range(CYCLE2_START_TIME, CYCLE2_END_TIME)
+        }
+
+        val firstCycle = repository.loadFirstCycle()
+
+        assertThat(firstCycle).isEqualTo(
+            NetworkUsageData(
+                startTime = CYCLE2_END_TIME - DateUtils.WEEK_IN_MILLIS * 4,
+                endTime = CYCLE2_END_TIME,
+                usage = CYCLE2_BYTES,
+            ),
+        )
+    }
+
+    private companion object {
+        const val CYCLE1_START_TIME = 1L
+        const val CYCLE1_END_TIME = 2L
+        const val CYCLE1_BYTES = 11L
+
+        const val CYCLE2_START_TIME = 1695555555000L
+        const val CYCLE2_END_TIME = 1695566666000L
+        const val CYCLE2_BYTES = 22L
+
+        const val CYCLE3_START_TIME = 1695555555000L
+        const val CYCLE3_END_TIME = CYCLE3_START_TIME + DateUtils.DAY_IN_MILLIS
+        const val CYCLE3_BYTES = 33L
+
+        const val CYCLE4_START_TIME = CYCLE3_END_TIME
+        const val CYCLE4_END_TIME = CYCLE4_START_TIME + DateUtils.DAY_IN_MILLIS
+        const val CYCLE4_BYTES = 44L
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkStatsRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkStatsRepositoryTest.kt
new file mode 100644
index 0000000..aa4c5ca
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/datausage/lib/NetworkStatsRepositoryTest.kt
@@ -0,0 +1,62 @@
+/*
+ * 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.datausage.lib
+
+import android.app.usage.NetworkStats
+import android.app.usage.NetworkStatsManager
+import android.content.Context
+import android.net.NetworkTemplate
+import androidx.test.core.app.ApplicationProvider
+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.spy
+
+@RunWith(AndroidJUnit4::class)
+class NetworkStatsRepositoryTest {
+    private val template = mock<NetworkTemplate>()
+
+    private val mockNetworkStatsManager = mock<NetworkStatsManager> {
+        on { querySummaryForDevice(template, START_TIME, END_TIME) } doReturn BUCKET
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(NetworkStatsManager::class.java) } doReturn mockNetworkStatsManager
+    }
+
+    private val repository = NetworkStatsRepository(context, template)
+
+    @Test
+    fun querySummaryForDevice() {
+        val bytes = repository.querySummaryForDevice(START_TIME, END_TIME)
+
+        assertThat(bytes).isEqualTo(11)
+    }
+
+    private companion object {
+        const val START_TIME = 1L
+        const val END_TIME = 2L
+
+        val BUCKET = mock<NetworkStats.Bucket> {
+            on { rxBytes } doReturn 1
+            on { txBytes } doReturn 10
+        }
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/development/SensitiveContentProtectionPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/development/SensitiveContentProtectionPreferenceControllerTest.kt
new file mode 100644
index 0000000..18acbba
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/development/SensitiveContentProtectionPreferenceControllerTest.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.development
+
+import android.content.Context
+import android.permission.flags.Flags.FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION
+import android.platform.test.annotations.RequiresFlagsDisabled
+import android.platform.test.annotations.RequiresFlagsEnabled
+import android.platform.test.flag.junit.DeviceFlagsValueProvider
+import android.provider.Settings
+import android.provider.Settings.Global.DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import androidx.preference.SwitchPreference
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import com.android.server.notification.Flags.FLAG_SCREENSHARE_NOTIFICATION_HIDING
+import com.android.settings.development.SensitiveContentProtectionPreferenceController.Companion.SETTING_VALUE_OFF
+import com.android.settings.development.SensitiveContentProtectionPreferenceController.Companion.SETTING_VALUE_ON
+import org.junit.Assert.assertEquals
+import org.junit.Assert.assertFalse
+import org.junit.Assert.assertTrue
+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.verify
+import org.mockito.junit.MockitoJUnit
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class SensitiveContentProtectionPreferenceControllerTest {
+    @get:Rule
+    val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
+
+    @get:Rule
+    val mocks = MockitoJUnit.rule()
+
+    @Mock
+    private lateinit var preference: SwitchPreference
+
+    @Mock
+    private lateinit var screen: PreferenceScreen
+
+    private val context: Context = InstrumentationRegistry.getInstrumentation().targetContext
+    private lateinit var controller: SensitiveContentProtectionPreferenceController
+
+    @Before
+    fun setUp() {
+        controller = SensitiveContentProtectionPreferenceController(context)
+        whenever(screen.findPreference<Preference>(controller.getPreferenceKey()))
+            .thenReturn(preference)
+        controller.displayPreference(screen)
+    }
+
+    @Test
+    fun onPreferenceChange_settingEnabled_shouldDisableSensitiveContentProtection() {
+        controller.onPreferenceChange(preference, true /* new value */)
+        val mode = Settings.Global.getInt(
+            context.contentResolver,
+            DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            -1 /* default */
+        )
+
+        assertEquals(mode, SETTING_VALUE_ON)
+    }
+
+    @Test
+    fun onPreferenceChange_settingDisabled_shouldEnableSensitiveContentProtection() {
+        controller.onPreferenceChange(preference, false /* new value */)
+        val mode = Settings.Global.getInt(
+            context.contentResolver,
+            DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            -1 /* default */
+        )
+
+        assertEquals(mode, SETTING_VALUE_OFF)
+    }
+
+    @Test
+    fun updateState_settingEnabled_preferenceShouldBeChecked() {
+        Settings.Global.putInt(
+            context.contentResolver,
+            DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            SETTING_VALUE_ON
+        )
+        controller.updateState(preference)
+
+        verify(preference).isChecked = true
+    }
+
+    @Test
+    fun updateState_settingDisabled_preferenceShouldNotBeChecked() {
+        Settings.Global.putInt(
+            context.contentResolver,
+            DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            SETTING_VALUE_OFF
+        )
+        controller.updateState(preference)
+
+        verify(preference).isChecked = false
+    }
+
+    @Test
+    fun onDeveloperOptionsSwitchDisabled_preferenceShouldBeDisabled() {
+        controller.onDeveloperOptionsSwitchDisabled()
+        val mode = Settings.Global.getInt(
+            context.contentResolver,
+            DISABLE_SCREEN_SHARE_PROTECTIONS_FOR_APPS_AND_NOTIFICATIONS,
+            -1 /* default */
+        )
+
+        assertEquals(mode, SETTING_VALUE_OFF)
+        verify(preference).isChecked = false
+        verify(preference).isEnabled = false
+    }
+
+    @Test
+    @RequiresFlagsDisabled(
+        FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION,
+        FLAG_SCREENSHARE_NOTIFICATION_HIDING)
+    fun isAvailable_flagsDisabled_returnFalse() {
+        assertFalse(controller.isAvailable)
+    }
+
+    @Test
+    @RequiresFlagsEnabled(FLAG_SENSITIVE_NOTIFICATION_APP_PROTECTION)
+    fun isAvailable_sensitiveNotificationAppProtectionEnabled_returnTrue() {
+        assertTrue(controller.isAvailable)
+    }
+
+    @Test
+    @RequiresFlagsEnabled(FLAG_SCREENSHARE_NOTIFICATION_HIDING)
+    fun isAvailable_screenshareNotificationHidingEnabled_returnTrue() {
+        assertTrue(controller.isAvailable)
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceControllerTest.kt
new file mode 100644
index 0000000..5d68f98
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/deviceinfo/simstatus/SimEidPreferenceControllerTest.kt
@@ -0,0 +1,77 @@
+/*
+ * 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.deviceinfo.simstatus
+
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.SubscriptionUtil
+import com.google.common.truth.Truth.assertThat
+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.whenever
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+class SimEidPreferenceControllerTest {
+    private lateinit var mockSession: MockitoSession
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val controller = SimEidPreferenceController(context, TEST_KEY)
+
+    @Before
+    fun setUp() {
+        mockSession = ExtendedMockito.mockitoSession()
+            .initMocks(this)
+            .mockStatic(SubscriptionUtil::class.java)
+            .strictness(Strictness.LENIENT)
+            .startMocking()
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun getAvailabilityStatus_isSimHardwareVisible() {
+        whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(true)
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_notSimHardwareVisible() {
+        whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.UNSUPPORTED_ON_DEVICE)
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/BluetoothWiFiResetPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/BluetoothWiFiResetPreferenceControllerTest.kt
new file mode 100644
index 0000000..210a0c7
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/BluetoothWiFiResetPreferenceControllerTest.kt
@@ -0,0 +1,120 @@
+/*
+ * 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.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothManager
+import android.content.Context
+import android.content.res.Resources
+import android.net.ConnectivityManager
+import android.net.NetworkPolicyManager
+import android.net.VpnManager
+import android.os.UserManager
+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 org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class BluetoothWiFiResetPreferenceControllerTest {
+
+    private val mockUserManager = mock<UserManager>()
+    private val mockBluetoothAdapter = mock<BluetoothAdapter>()
+    private val mockBluetoothManager = mock<BluetoothManager> {
+        on { adapter } doReturn mockBluetoothAdapter
+    }
+    private val mockConnectivityManager = mock<ConnectivityManager>()
+    private val mockNetworkPolicyManager = mock<NetworkPolicyManager>()
+    private val mockVpnManager = mock<VpnManager>()
+    private val mockResources = mock<Resources>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(Context.USER_SERVICE) } doReturn mockUserManager
+        on { getSystemService(Context.BLUETOOTH_SERVICE) } doReturn mockBluetoothManager
+        on { getSystemService(Context.CONNECTIVITY_SERVICE) } doReturn mockConnectivityManager
+        on { getSystemService(Context.NETWORK_POLICY_SERVICE) } doReturn mockNetworkPolicyManager
+        on { getSystemService(Context.VPN_MANAGEMENT_SERVICE) } doReturn mockVpnManager
+        on { resources } doReturn mockResources
+    }
+
+    private val controller = BluetoothWiFiResetPreferenceController(context, TEST_KEY)
+
+    @Test
+    fun getAvailabilityStatus_isAdminUser_returnAvailable() {
+        mockUserManager.stub {
+            on { isAdminUser } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_notAdminUser_returnConditionallyUnavailable() {
+        mockUserManager.stub {
+            on { isAdminUser } doReturn false
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun resetOperation_resetBluetooth() {
+        controller.resetOperation().run()
+
+        verify(mockBluetoothAdapter).clearBluetooth()
+    }
+
+    @Test
+    fun resetOperation_onDeviceWithSimVisible_notResetConnectivity() {
+        mockResources.stub {
+            on { getBoolean(R.bool.config_show_sim_info) } doReturn true
+        }
+
+        controller.resetOperation().run()
+
+        verify(mockConnectivityManager, never()).factoryReset()
+    }
+
+    @Test
+    fun resetOperation_onDeviceWithSimInvisible_resetVpn() {
+        mockResources.stub {
+            on { getBoolean(R.bool.config_show_sim_info) } doReturn false
+        }
+
+        controller.resetOperation().run()
+
+        verify(mockVpnManager).factoryReset()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
new file mode 100644
index 0000000..4862309
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/MobileDataEnabledFlowTest.kt
@@ -0,0 +1,91 @@
+/*
+ * 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()).hasSize(2)
+    }
+
+    private companion object {
+        const val SUB_ID = 123
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileIconGroupExtTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileIconGroupExtTest.kt
new file mode 100644
index 0000000..641051d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/MobileIconGroupExtTest.kt
@@ -0,0 +1,45 @@
+/*
+ * 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.text.Spanned
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class MobileIconGroupExtTest {
+    @Test
+    fun maybeToHtml_withoutHtmlTag() {
+        val actual = CONNECTED_5G.maybeToHtml()
+
+        assertThat(actual).isSameInstanceAs(CONNECTED_5G)
+    }
+
+    @Test
+    fun maybeToHtml_withHtmlTag() {
+        val actual = CONNECTED_5GE.maybeToHtml()
+
+        assertThat(actual).isInstanceOf(Spanned::class.java)
+    }
+
+    private companion object {
+        private const val CONNECTED_5G = "Connected / 5G"
+        private const val CONNECTED_5GE = "Connected / <i>5G <small>E</small></i>"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/MobileNetworkListFragmentTest.kt b/tests/spa_unit/src/com/android/settings/network/MobileNetworkListFragmentTest.kt
new file mode 100644
index 0000000..3ba4bac
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/MobileNetworkListFragmentTest.kt
@@ -0,0 +1,74 @@
+/*
+ * 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.content.res.Resources
+import android.os.UserManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settingslib.spaprivileged.framework.common.userManager
+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.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class MobileNetworkListFragmentTest {
+    private val mockUserManager = mock<UserManager>()
+
+    private val mockResources = mock<Resources>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { userManager } doReturn mockUserManager
+        on { resources } doReturn mockResources
+    }
+
+    @Test
+    fun isPageSearchEnabled_adminUser_shouldReturnTrue() {
+        mockUserManager.stub {
+            on { isAdminUser } doReturn true
+        }
+        mockResources.stub {
+            on { getBoolean(R.bool.config_show_sim_info) } doReturn true
+        }
+
+        val isEnabled =
+            MobileNetworkListFragment.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(context)
+
+        assertThat(isEnabled).isTrue()
+    }
+
+    @Test
+    fun isPageSearchEnabled_nonAdminUser_shouldReturnFalse() {
+        mockUserManager.stub {
+            on { isAdminUser } doReturn false
+        }
+        mockResources.stub {
+            on { getBoolean(R.bool.config_show_sim_info) } doReturn true
+        }
+
+        val isEnabled =
+            MobileNetworkListFragment.SEARCH_INDEX_DATA_PROVIDER.isPageSearchEnabled(context)
+
+        assertThat(isEnabled).isFalse()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.kt
new file mode 100644
index 0000000..110fd5e
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.kt
@@ -0,0 +1,149 @@
+/*
+ * 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.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.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class NetworkProviderCallsSmsControllerTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private var isInService: (Int) -> Boolean = { true }
+
+    private val controller = NetworkProviderCallsSmsController(
+        context = context,
+        preferenceKey = TEST_KEY,
+        getDisplayName = { subInfo -> subInfo.displayName },
+        isInService = { isInService(it) },
+    )
+
+    @Test
+    fun getSummary_noSim_returnNoSim() {
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = emptyList(),
+            defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+        )
+
+        assertThat(summary).isEqualTo(context.getString(R.string.calls_sms_no_sim))
+    }
+
+    @Test
+    fun getSummary_invalidSubId_returnUnavailable() {
+        isInService = { false }
+
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1),
+            defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+        )
+
+        assertThat(summary).isEqualTo("Sub 1 (Temporarily unavailable)")
+    }
+
+    @Test
+    fun getSummary_oneIsInvalidSubIdTwoIsValidSubId_returnOneIsUnavailable() {
+        isInService = { it == SUB_INFO_2.subscriptionId }
+
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+            defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+        )
+
+        assertThat(summary).isEqualTo("Sub 1 (unavailable), Sub 2")
+    }
+
+    @Test
+    fun getSummary_oneSubscription_returnDisplayName() {
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1),
+            defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+        )
+
+        assertThat(summary).isEqualTo(DISPLAY_NAME_1)
+    }
+
+    @Test
+    fun getSummary_allSubscriptionsHaveNoPreferredStatus_returnDisplayName() {
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+            defaultVoiceSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+            defaultSmsSubscriptionId = SubscriptionManager.INVALID_SUBSCRIPTION_ID,
+        )
+
+        assertThat(summary).isEqualTo("Sub 1, Sub 2")
+    }
+
+    @Test
+    fun getSummary_oneSubscriptionsIsCallPreferredTwoIsSmsPreferred_returnStatus() {
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+            defaultVoiceSubscriptionId = SUB_INFO_1.subscriptionId,
+            defaultSmsSubscriptionId = SUB_INFO_2.subscriptionId,
+        )
+
+        assertThat(summary).isEqualTo("Sub 1 (preferred for calls), Sub 2 (preferred for SMS)")
+    }
+
+    @Test
+    fun getSummary_oneSubscriptionsIsSmsPreferredTwoIsCallPreferred_returnStatus() {
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+            defaultVoiceSubscriptionId = SUB_INFO_2.subscriptionId,
+            defaultSmsSubscriptionId = SUB_INFO_1.subscriptionId,
+        )
+
+        assertThat(summary).isEqualTo("Sub 1 (preferred for SMS), Sub 2 (preferred for calls)")
+    }
+
+    @Test
+    fun getSummary_oneSubscriptionsIsSmsPreferredAndIsCallPreferred_returnStatus() {
+        val summary = controller.getSummary(
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2),
+            defaultVoiceSubscriptionId = SUB_INFO_1.subscriptionId,
+            defaultSmsSubscriptionId = SUB_INFO_1.subscriptionId,
+        )
+
+        assertThat(summary).isEqualTo("Sub 1 (preferred), Sub 2")
+    }
+
+    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()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/SubscriptionInfoListViewModelTest.kt b/tests/spa_unit/src/com/android/settings/network/SubscriptionInfoListViewModelTest.kt
new file mode 100644
index 0000000..020a470
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/SubscriptionInfoListViewModelTest.kt
@@ -0,0 +1,153 @@
+/*
+ * 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.telephony.SubscriptionManager.PROFILE_CLASS_PROVISIONING
+
+import android.app.Application
+import android.content.Context
+import android.platform.test.flag.junit.SetFlagsRule
+import android.telephony.SubscriptionInfo
+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.internal.telephony.flags.Flags
+import com.android.settings.network.telephony.CallStateFlowTest
+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.runBlocking
+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 SubscriptionInfoListViewModelTest {
+    @get:Rule
+    val mSetFlagsRule = SetFlagsRule()
+    private var subInfoListener: SubscriptionManager.OnSubscriptionsChangedListener? = null
+    private val mockSubscriptionManager = mock<SubscriptionManager> {
+        on { activeSubscriptionInfoList } doAnswer { activeSubscriptionInfoList }
+        on { addOnSubscriptionsChangedListener(any(), any()) } doAnswer {
+            subInfoListener =
+                it.arguments[1] as SubscriptionManager.OnSubscriptionsChangedListener
+            subInfoListener?.onSubscriptionsChanged()
+        }
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
+    }
+
+    private val subscriptionInfoListViewModel: SubscriptionInfoListViewModel =
+        SubscriptionInfoListViewModel(context as Application);
+
+    private var activeSubscriptionInfoList: List<SubscriptionInfo>? = null
+
+    @Test
+    fun onSubscriptionsChanged_noProvisioning_resultSameAsInput() = runBlocking {
+        activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2)
+
+        val listDeferred = async {
+            subscriptionInfoListViewModel.subscriptionInfoListFlow.toListWithTimeout()
+        }
+        delay(100)
+        subInfoListener?.onSubscriptionsChanged()
+
+        assertThat(listDeferred.await()).contains(activeSubscriptionInfoList)
+    }
+
+    @Test
+    fun onSubscriptionsChanged_hasProvisioning_filterProvisioning() = runBlocking {
+        activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_3)
+        val expectation = listOf(SUB_INFO_1, SUB_INFO_2)
+
+        val listDeferred = async {
+            subscriptionInfoListViewModel.subscriptionInfoListFlow.toListWithTimeout()
+        }
+        delay(100)
+        subInfoListener?.onSubscriptionsChanged()
+
+        assertThat(listDeferred.await()).contains(expectation)
+    }
+
+    @Test
+    fun onSubscriptionsChanged_flagOffHasNonTerrestrialNetwork_filterNonTerrestrialNetwork() =
+        runBlocking {
+            mSetFlagsRule.disableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
+
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_4)
+            val expectation = listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_4)
+
+            val listDeferred = async {
+                subscriptionInfoListViewModel.subscriptionInfoListFlow.toListWithTimeout()
+            }
+            delay(100)
+            subInfoListener?.onSubscriptionsChanged()
+
+            assertThat(listDeferred.await()).contains(expectation)
+        }
+
+    @Test
+    fun onSubscriptionsChanged_flagOnHasNonTerrestrialNetwork_filterNonTerrestrialNetwork() =
+        runBlocking {
+            mSetFlagsRule.enableFlags(Flags.FLAG_OEM_ENABLED_SATELLITE_FLAG)
+
+            activeSubscriptionInfoList = listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_4)
+            val expectation = listOf(SUB_INFO_1, SUB_INFO_2)
+
+            val listDeferred = async {
+                subscriptionInfoListViewModel.subscriptionInfoListFlow.toListWithTimeout()
+            }
+            delay(100)
+            subInfoListener?.onSubscriptionsChanged()
+
+            assertThat(listDeferred.await()).contains(expectation)
+        }
+
+    private companion object {
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(1)
+        }.build()
+
+        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(2)
+        }.build()
+
+        val SUB_INFO_3: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(3)
+            setEmbedded(true)
+            setProfileClass(PROFILE_CLASS_PROVISIONING)
+            setOnlyNonTerrestrialNetwork(false)
+        }.build()
+
+        val SUB_INFO_4: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(4)
+            setEmbedded(true)
+            setOnlyNonTerrestrialNetwork(true)
+        }.build()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/network/TetherPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/TetherPreferenceControllerTest.kt
new file mode 100644
index 0000000..51d2c87
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/TetherPreferenceControllerTest.kt
@@ -0,0 +1,110 @@
+/*
+ * 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.net.TetheringManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.settings.R
+import com.android.settings.core.BasePreferenceController
+import com.android.settingslib.TetherUtil
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.MockitoSession
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+class TetherPreferenceControllerTest {
+    private lateinit var mockSession: MockitoSession
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val controller = TetherPreferenceController(context, TEST_KEY)
+
+    @Before
+    fun setUp() {
+        mockSession = ExtendedMockito.mockitoSession()
+            .initMocks(this)
+            .mockStatic(TetherUtil::class.java)
+            .strictness(Strictness.LENIENT)
+            .startMocking()
+
+        ExtendedMockito.doReturn(true).`when` { TetherUtil.isTetherAvailable(context) }
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun getAvailabilityStatus_whenTetherAvailable() {
+        ExtendedMockito.doReturn(true).`when` { TetherUtil.isTetherAvailable(context) }
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_whenTetherNotAvailable() {
+        ExtendedMockito.doReturn(false).`when` { TetherUtil.isTetherAvailable(context) }
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getSummaryResId_bothWifiAndBluetoothOn() {
+        val summaryResId = controller.getSummaryResId(
+            setOf(TetheringManager.TETHERING_WIFI, TetheringManager.TETHERING_BLUETOOTH)
+        )
+
+        assertThat(summaryResId).isEqualTo(R.string.tether_settings_summary_hotspot_on_tether_on)
+    }
+
+    @Test
+    fun getSummaryResId_onlyWifiHotspotOn() {
+        val summaryResId = controller.getSummaryResId(setOf(TetheringManager.TETHERING_WIFI))
+
+        assertThat(summaryResId).isEqualTo(R.string.tether_settings_summary_hotspot_on_tether_off)
+    }
+
+    @Test
+    fun getSummaryResId_onlyBluetoothTetheringOn() {
+        val summaryResId = controller.getSummaryResId(setOf(TetheringManager.TETHERING_BLUETOOTH))
+
+        assertThat(summaryResId).isEqualTo(R.string.tether_settings_summary_hotspot_off_tether_on)
+    }
+
+    @Test
+    fun getSummaryResId_allOff() {
+        val summaryResId = controller.getSummaryResId(emptySet())
+
+        assertThat(summaryResId).isEqualTo(R.string.tether_preference_summary_off)
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/TetheredRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/TetheredRepositoryTest.kt
new file mode 100644
index 0000000..5bd5210
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/TetheredRepositoryTest.kt
@@ -0,0 +1,146 @@
+/*
+ * 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.bluetooth.BluetoothAdapter
+import android.bluetooth.BluetoothManager
+import android.bluetooth.BluetoothPan
+import android.bluetooth.BluetoothProfile
+import android.content.Context
+import android.net.TetheringInterface
+import android.net.TetheringManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.async
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.mapNotNull
+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.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class TetheredRepositoryTest {
+
+    private var tetheringInterfaces: Set<TetheringInterface> = emptySet()
+
+    private var tetheringEventCallback: TetheringManager.TetheringEventCallback? = null
+
+    private val mockTetheringManager = mock<TetheringManager> {
+        on { registerTetheringEventCallback(any(), any()) } doAnswer {
+            tetheringEventCallback = it.arguments[1] as TetheringManager.TetheringEventCallback
+            tetheringEventCallback?.onTetheredInterfacesChanged(tetheringInterfaces)
+        }
+    }
+
+    private val mockBluetoothPan = mock<BluetoothPan> {
+        on { isTetheringOn } doReturn false
+    }
+
+    private val mockBluetoothAdapter = mock<BluetoothAdapter> {
+        on { getProfileProxy(any(), any(), eq(BluetoothProfile.PAN)) } doAnswer {
+            val listener = it.arguments[1] as BluetoothProfile.ServiceListener
+            listener.onServiceConnected(BluetoothProfile.PAN, mockBluetoothPan)
+            true
+        }
+    }
+
+    private val mockBluetoothManager = mock<BluetoothManager> {
+        on { adapter } doReturn mockBluetoothAdapter
+    }
+
+    private val context = mock<Context> {
+        on { getSystemService(TetheringManager::class.java) } doReturn mockTetheringManager
+        on { getSystemService(BluetoothManager::class.java) } doReturn mockBluetoothManager
+    }
+
+    private val repository = TetheredRepository(context)
+
+    @Test
+    fun tetheredTypesFlow_allOff() = runBlocking {
+        val tetheredTypes = repository.tetheredTypesFlow().firstWithTimeoutOrNull()
+
+        assertThat(tetheredTypes).isEmpty()
+    }
+
+    @Test
+    fun tetheredTypesFlow_wifiHotspotOn(): Unit = runBlocking {
+        tetheringInterfaces = setOf(TetheringInterface(TetheringManager.TETHERING_WIFI, ""))
+
+        val tetheredTypes = repository.tetheredTypesFlow().firstWithTimeoutOrNull()
+
+        assertThat(tetheredTypes).containsExactly(TetheringManager.TETHERING_WIFI)
+    }
+
+    @Test
+    fun tetheredTypesFlow_usbTetheringTurnOnLater(): Unit = runBlocking {
+        val tetheredTypeDeferred = async {
+            repository.tetheredTypesFlow().mapNotNull {
+                it.singleOrNull()
+            }.firstWithTimeoutOrNull()
+        }
+        delay(100)
+
+        tetheringEventCallback?.onTetheredInterfacesChanged(
+            setOf(TetheringInterface(TetheringManager.TETHERING_USB, ""))
+        )
+
+        assertThat(tetheredTypeDeferred.await()).isEqualTo(TetheringManager.TETHERING_USB)
+    }
+
+    @Test
+    fun tetheredTypesFlow_bluetoothOff(): Unit = runBlocking {
+        mockBluetoothAdapter.stub {
+            on { state } doReturn BluetoothAdapter.STATE_OFF
+        }
+
+        val tetheredTypes = repository.tetheredTypesFlow().firstWithTimeoutOrNull()
+
+        assertThat(tetheredTypes).isEmpty()
+    }
+
+    @Test
+    fun tetheredTypesFlow_bluetoothOnTetheringOff(): Unit = runBlocking {
+        mockBluetoothAdapter.stub {
+            on { state } doReturn BluetoothAdapter.STATE_ON
+        }
+
+        val tetheredTypes = repository.tetheredTypesFlow().firstWithTimeoutOrNull()
+
+        assertThat(tetheredTypes).isEmpty()
+    }
+
+    @Test
+    fun tetheredTypesFlow_bluetoothTetheringOn(): Unit = runBlocking {
+        mockBluetoothAdapter.stub {
+            on { state } doReturn BluetoothAdapter.STATE_ON
+        }
+        mockBluetoothPan.stub {
+            on { isTetheringOn } doReturn true
+        }
+
+        val tetheredTypes = repository.tetheredTypesFlow().firstWithTimeoutOrNull()
+
+        assertThat(tetheredTypes).containsExactly(TetheringManager.TETHERING_BLUETOOTH)
+    }
+}
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
new file mode 100644
index 0000000..03fddb5
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnEditPageProviderTest.kt
@@ -0,0 +1,223 @@
+/*
+ * 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.apn
+
+import android.content.Context
+import android.net.Uri
+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.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class ApnEditPageProviderTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val apnName = "apn_name"
+    private val proxy = "proxy"
+    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 networkType = context.resources.getString(R.string.network_type)
+    private val passwordTitle = context.resources.getString(R.string.apn_password)
+    private val apnInit = ApnData(
+        name = apnName,
+        proxy = proxy,
+        port = port,
+        apnType = apnType,
+        apnRoaming = apnProtocolOptions.indexOf(apnRoaming),
+        apnEnable = true
+    )
+    private val apnData = mutableStateOf(
+        apnInit
+    )
+    private val uri = mock<Uri> {}
+
+    @Test
+    fun apnEditPageProvider_name() {
+        Truth.assertThat(ApnEditPageProvider.name).isEqualTo("ApnEdit")
+    }
+
+    @Test
+    fun title_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onNodeWithText(context.getString(R.string.apn_edit)).assertIsDisplayed()
+    }
+
+    @Test
+    fun name_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onNodeWithText(apnName, true).assertIsDisplayed()
+    }
+
+    @Test
+    fun proxy_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(proxy, true))
+        composeTestRule.onNodeWithText(proxy, true).assertIsDisplayed()
+    }
+
+    @Test
+    fun port_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(port, true))
+        composeTestRule.onNodeWithText(port, true).assertIsDisplayed()
+    }
+
+    @Test
+    fun apn_type_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(apnType, true))
+        composeTestRule.onNodeWithText(apnType, true).assertIsDisplayed()
+    }
+
+    @Test
+    fun apn_roaming_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(apnRoaming, true))
+        composeTestRule.onNodeWithText(apnRoaming, true).assertIsDisplayed()
+    }
+
+    @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()
+    }
+
+    @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 network_type_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(networkType, true))
+        composeTestRule.onNodeWithText(networkType, true).assertIsDisplayed()
+    }
+
+    @Test
+    fun network_type_changed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(networkType, true))
+        composeTestRule.onNodeWithText(networkType, true).performClick()
+        composeTestRule.onNodeWithText(NETWORK_TYPE_LTE, true).performClick()
+        composeTestRule.onNode(hasText(NETWORK_TYPE_UNSPECIFIED) and isFocused(), true)
+            .assertDoesNotExist()
+        composeTestRule.onNode(hasText(NETWORK_TYPE_LTE) and isFocused(), true).assertIsDisplayed()
+    }
+
+    @Test
+    fun network_type_changed_back2Default() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(networkType, true))
+        composeTestRule.onNodeWithText(networkType, true).performClick()
+        composeTestRule.onNodeWithText(NETWORK_TYPE_LTE, true).performClick()
+        composeTestRule.onNode(hasText(NETWORK_TYPE_UNSPECIFIED) and isFocused(), true)
+            .assertDoesNotExist()
+        composeTestRule.onNode(hasText(NETWORK_TYPE_LTE) and isFocused(), true).assertIsDisplayed()
+        composeTestRule.onAllNodesWithText(NETWORK_TYPE_LTE, true).onLast().performClick()
+        composeTestRule.onNode(hasText(NETWORK_TYPE_UNSPECIFIED) and isFocused(), true)
+            .assertIsDisplayed()
+        composeTestRule.onNode(hasText(NETWORK_TYPE_LTE) and isFocused(), true).assertDoesNotExist()
+    }
+
+    @Test
+    fun password_displayed() {
+        composeTestRule.setContent {
+            ApnPage(apnInit, remember { apnData }, uri)
+        }
+        composeTestRule.onRoot().onChild().onChildAt(0)
+            .performScrollToNode(hasText(passwordTitle, true))
+        composeTestRule.onNodeWithText(passwordTitle, true).assertIsDisplayed()
+    }
+
+    private companion object {
+        const val NETWORK_TYPE_UNSPECIFIED = "Unspecified"
+        const val NETWORK_TYPE_LTE = "LTE"
+    }
+}
\ No newline at end of file
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
new file mode 100644
index 0000000..4155318
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnRepositoryTest.kt
@@ -0,0 +1,120 @@
+/*
+ * 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.apn
+
+import android.content.ContentResolver
+import android.content.Context
+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
+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.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class ApnRepositoryTest {
+
+    private val contentResolver = mock<ContentResolver>()
+
+    private val mockSubscriptionInfo = mock<SubscriptionInfo> {
+        on { mccString } doReturn MCC
+        on { mncString } doReturn MNC
+    }
+
+    private val mockSubscriptionManager = mock<SubscriptionManager> {
+        on { getActiveSubscriptionInfo(SUB_ID) } doReturn mockSubscriptionInfo
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { contentResolver } doReturn contentResolver
+        on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
+    }
+    private val uri = mock<Uri> {}
+
+    @Test
+    fun getApnDataFromUri() {
+        // mock out resources and the feature provider
+        val cursor = MatrixCursor(Projection)
+        cursor.addRow(
+            arrayOf<Any>(
+                0,
+                "name",
+                "apn",
+                "proxy",
+                "port",
+                "userName",
+                "server",
+                "passWord",
+                "mmsc",
+                "mmsProxy",
+                "mmsPort",
+                0,
+                "apnType",
+                "apnProtocol",
+                0,
+                0,
+                "apnRoaming",
+                0,
+                1,
+            )
+        )
+        whenever(contentResolver.query(uri, Projection, null, null, null)).thenReturn(cursor)
+
+        val apnData = getApnDataFromUri(uri, context)
+
+        assertThat(apnData.name).isEqualTo("name")
+    }
+
+    @Test
+    fun getApnIdMap_knownCarrierId() {
+        mockSubscriptionInfo.stub {
+            on { carrierId } doReturn CARRIER_ID
+        }
+
+        val idMap = context.getApnIdMap(SUB_ID)
+
+        assertThat(idMap).containsExactly(Telephony.Carriers.CARRIER_ID, CARRIER_ID)
+    }
+
+    @Test
+    fun getApnIdMap_unknownCarrierId() {
+        mockSubscriptionInfo.stub {
+            on { carrierId } doReturn TelephonyManager.UNKNOWN_CARRIER_ID
+        }
+
+        val idMap = context.getApnIdMap(SUB_ID)
+
+        assertThat(idMap).containsExactly(Telephony.Carriers.NUMERIC, MCC + MNC)
+    }
+
+    private companion object {
+        const val SUB_ID = 2
+        const val CARRIER_ID = 10
+        const val MCC = "310"
+        const val MNC = "101"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/apn/ApnStatusTest.kt b/tests/spa_unit/src/com/android/settings/network/apn/ApnStatusTest.kt
new file mode 100644
index 0000000..539783c
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/apn/ApnStatusTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.apn
+
+import android.os.PersistableBundle
+import android.telephony.CarrierConfigManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+
+@RunWith(AndroidJUnit4::class)
+class ApnStatusTest {
+    private val apnData = mock<ApnData> {
+        on {
+            it.subId
+        } doReturn 1
+    }
+    private val configManager = mock<CarrierConfigManager> {
+        val p = PersistableBundle()
+        p.putBoolean(CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL, true)
+        on {
+            getConfigForSubId(
+                apnData.subId,
+                CarrierConfigManager.KEY_READ_ONLY_APN_TYPES_STRING_ARRAY,
+                CarrierConfigManager.KEY_READ_ONLY_APN_FIELDS_STRING_ARRAY,
+                CarrierConfigManager.KEY_APN_SETTINGS_DEFAULT_APN_TYPES_STRING_ARRAY,
+                CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_PROTOCOL_STRING,
+                CarrierConfigManager.Apn.KEY_SETTINGS_DEFAULT_ROAMING_PROTOCOL_STRING,
+                CarrierConfigManager.KEY_ALLOW_ADDING_APNS_BOOL
+            )
+        } doReturn p
+    }
+
+    @Test
+    fun getCarrierCustomizedConfig_test() {
+        assert(getCarrierCustomizedConfig(apnData, configManager).isAddApnAllowed)
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/AllowedNetworkTypesFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/AllowedNetworkTypesFlowTest.kt
new file mode 100644
index 0000000..288018d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/AllowedNetworkTypesFlowTest.kt
@@ -0,0 +1,113 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+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.android.settingslib.spa.testutils.toListWithTimeout
+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
+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
+
+@RunWith(AndroidJUnit4::class)
+class AllowedNetworkTypesFlowTest {
+
+    private var allowedNetworkTypesListener: TelephonyCallback.AllowedNetworkTypesListener? = null
+
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_ID) } doReturn mock
+        on { registerTelephonyCallback(any(), any()) } doAnswer {
+            allowedNetworkTypesListener =
+                it.arguments[1] as TelephonyCallback.AllowedNetworkTypesListener
+        }
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    @Test
+    fun allowedNetworkTypesFlow_initial_notSndInitialValue() = runBlocking {
+        val flow = context.allowedNetworkTypesFlow(SUB_ID)
+
+        val state = flow.firstWithTimeoutOrNull()
+
+        assertThat(state).isNull()
+    }
+
+    @Test
+    fun allowedNetworkTypesFlow_userReasonChanged_sendChanged(): Unit = runBlocking {
+        val listDeferred = async {
+            context.allowedNetworkTypesFlow(SUB_ID).toListWithTimeout()
+        }
+        delay(100)
+
+        allowedNetworkTypesListener?.onAllowedNetworkTypesChanged(
+            TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER,
+            ALLOWED_NETWORK_TYPE,
+        )
+
+        assertThat(listDeferred.await()).containsExactly(ALLOWED_NETWORK_TYPE)
+    }
+
+    @Test
+    fun allowedNetworkTypesFlow_carrierReasonChanged_sendChanged(): Unit = runBlocking {
+        val listDeferred = async {
+            context.allowedNetworkTypesFlow(SUB_ID).toListWithTimeout()
+        }
+        delay(100)
+
+        allowedNetworkTypesListener?.onAllowedNetworkTypesChanged(
+            TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER,
+            ALLOWED_NETWORK_TYPE,
+        )
+
+        assertThat(listDeferred.await()).containsExactly(ALLOWED_NETWORK_TYPE)
+    }
+
+    @Test
+    fun allowedNetworkTypesFlow_powerReasonChanged_notSendChanged() = runBlocking {
+        val listDeferred = async {
+            context.allowedNetworkTypesFlow(SUB_ID).toListWithTimeout()
+        }
+        delay(100)
+
+        allowedNetworkTypesListener?.onAllowedNetworkTypesChanged(
+            TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_POWER,
+            ALLOWED_NETWORK_TYPE,
+        )
+
+        assertThat(listDeferred.await()).isEmpty()
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+        const val ALLOWED_NETWORK_TYPE = 10L
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CallStateFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateFlowTest.kt
new file mode 100644
index 0000000..d353d44
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CallStateFlowTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+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.android.settingslib.spa.testutils.toListWithTimeout
+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
+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
+
+@RunWith(AndroidJUnit4::class)
+class CallStateFlowTest {
+    private var callStateListener: TelephonyCallback.CallStateListener? = null
+
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_ID) } doReturn mock
+        on { registerTelephonyCallback(any(), any()) } doAnswer {
+            callStateListener = it.arguments[1] as TelephonyCallback.CallStateListener
+            callStateListener?.onCallStateChanged(TelephonyManager.CALL_STATE_IDLE)
+        }
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    @Test
+    fun callStateFlow_initial_sendInitialState() = runBlocking {
+        val flow = context.callStateFlow(SUB_ID)
+
+        val state = flow.firstWithTimeoutOrNull()
+
+        assertThat(state).isEqualTo(TelephonyManager.CALL_STATE_IDLE)
+    }
+
+    @Test
+    fun callStateFlow_changed_sendChangedState() = runBlocking {
+        val listDeferred = async {
+            context.callStateFlow(SUB_ID).toListWithTimeout()
+        }
+        delay(100)
+
+        callStateListener?.onCallStateChanged(TelephonyManager.CALL_STATE_RINGING)
+
+        assertThat(listDeferred.await())
+            .containsExactly(TelephonyManager.CALL_STATE_IDLE, TelephonyManager.CALL_STATE_RINGING)
+            .inOrder()
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CallingPreferenceCategoryControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CallingPreferenceCategoryControllerTest.kt
new file mode 100644
index 0000000..81d17d2
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CallingPreferenceCategoryControllerTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.preference.ComposePreference
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class CallingPreferenceCategoryControllerTest {
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val preference = ComposePreference(context).apply { key = TEST_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    private val controller = CallingPreferenceCategoryController(context, TEST_KEY)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @Test
+    fun updateChildVisible_singleChildVisible_categoryVisible() {
+        controller.updateChildVisible(CHILD_A_KEY, true)
+
+        assertThat(preference.isVisible).isTrue()
+    }
+
+    @Test
+    fun updateChildVisible_singleChildNotVisible_categoryNotVisible() {
+        controller.updateChildVisible(CHILD_A_KEY, false)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    @Test
+    fun updateChildVisible_oneChildVisible_categoryVisible() {
+        controller.updateChildVisible(CHILD_A_KEY, true)
+        controller.updateChildVisible(CHILD_B_KEY, false)
+
+        assertThat(preference.isVisible).isTrue()
+    }
+
+    @Test
+    fun updateChildVisible_nonChildNotVisible_categoryNotVisible() {
+        controller.updateChildVisible(CHILD_A_KEY, false)
+        controller.updateChildVisible(CHILD_B_KEY, false)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val CHILD_A_KEY = "a"
+        const val CHILD_B_KEY = "b"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigManagerExtTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigManagerExtTest.kt
new file mode 100644
index 0000000..5a82f99
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/CarrierConfigManagerExtTest.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.core.os.persistableBundleOf
+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.any
+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
+
+@RunWith(AndroidJUnit4::class)
+class CarrierConfigManagerExtTest {
+
+    private val mockCarrierConfigManager = mock<CarrierConfigManager>()
+
+    private val context = mock<Context> {
+        on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
+    }
+
+    @Test
+    fun safeGetConfig_managerReturnKeyValue_returnNonEmptyBundle() {
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(KEY)) } doReturn persistableBundleOf(KEY to VALUE)
+        }
+        val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
+
+        val bundle = carrierConfigManager.safeGetConfig(listOf(KEY))
+
+        assertThat(bundle.getString(KEY)).isEqualTo(VALUE)
+    }
+
+    @Test
+    fun safeGetConfig_managerThrowIllegalStateException_returnEmptyBundle() {
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), eq(KEY)) } doThrow IllegalStateException()
+        }
+        val carrierConfigManager = context.getSystemService(CarrierConfigManager::class.java)!!
+
+        val bundle = carrierConfigManager.safeGetConfig(listOf(KEY))
+
+        assertThat(bundle.containsKey(KEY)).isFalse()
+    }
+
+    private companion object {
+        const val KEY = "key"
+        const val VALUE = "value"
+    }
+}
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 a42e41e..6cd9151 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
@@ -22,10 +22,9 @@
 import android.provider.Settings
 import android.telephony.SubscriptionManager
 import android.util.DataUnit
-import androidx.lifecycle.Lifecycle
 import androidx.lifecycle.testing.TestLifecycleOwner
 import androidx.preference.Preference
-import androidx.preference.PreferenceScreen
+import androidx.preference.PreferenceManager
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito
@@ -33,71 +32,66 @@
 import com.android.settings.core.BasePreferenceController.AVAILABLE_UNSEARCHABLE
 import com.android.settings.datausage.DataUsageUtils
 import com.android.settings.datausage.lib.DataUsageLib
-import com.android.settingslib.net.DataUsageController
-import com.android.settingslib.net.DataUsageController.DataUsageInfo
+import com.android.settings.datausage.lib.NetworkCycleDataRepository
+import com.android.settings.datausage.lib.NetworkUsageData
 import com.android.settingslib.spa.testutils.waitUntil
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.runBlocking
 import org.junit.After
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mock
-import org.mockito.Mockito.any
-import org.mockito.Mockito.doNothing
-import org.mockito.Mockito.verify
 import org.mockito.MockitoSession
-import org.mockito.Spy
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doNothing
+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
 import org.mockito.quality.Strictness
-import org.mockito.Mockito.`when` as whenever
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class DataUsagePreferenceControllerTest {
 
     private lateinit var mockSession: MockitoSession
 
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivity(any())
+    }
 
-    private lateinit var controller: DataUsagePreferenceController
+    private val preference = Preference(context).apply { key = TEST_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+    private val networkTemplate = mock<NetworkTemplate>()
+    private val repository = mock<NetworkCycleDataRepository> {
+        on { queryUsage(any()) } doReturn NetworkUsageData(START_TIME, END_TIME, 0L)
+    }
 
-    private val preference = Preference(context)
-
-    @Mock
-    private lateinit var networkTemplate: NetworkTemplate
-
-    @Mock
-    private lateinit var dataUsageController: DataUsageController
-
-    @Mock
-    private lateinit var preferenceScreen: PreferenceScreen
+    private val controller = spy(DataUsagePreferenceController(context, TEST_KEY)) {
+        doReturn(repository).whenever(mock).createNetworkCycleDataRepository()
+    }
 
     @Before
     fun setUp() {
         mockSession = ExtendedMockito.mockitoSession()
             .initMocks(this)
-            .mockStatic(SubscriptionManager::class.java)
             .spyStatic(DataUsageUtils::class.java)
             .spyStatic(DataUsageLib::class.java)
             .strictness(Strictness.LENIENT)
             .startMocking()
 
-        whenever(SubscriptionManager.isValidSubscriptionId(SUB_ID)).thenReturn(true)
         ExtendedMockito.doReturn(true).`when` { DataUsageUtils.hasMobileData(context) }
-        ExtendedMockito.doReturn(networkTemplate)
-            .`when` { DataUsageLib.getMobileTemplate(context, SUB_ID) }
-        preference.key = TEST_KEY
-        whenever(preferenceScreen.findPreference<Preference>(TEST_KEY)).thenReturn(preference)
+        ExtendedMockito.doReturn(networkTemplate).`when` {
+            DataUsageLib.getMobileTemplate(context, SUB_ID)
+        }
 
-        controller =
-            DataUsagePreferenceController(context, TEST_KEY).apply {
-                init(SUB_ID)
-                displayPreference(preferenceScreen)
-                dataUsageControllerFactory = { dataUsageController }
-            }
+        preferenceScreen.addPreference(preference)
+        controller.apply {
+            init(SUB_ID)
+            displayPreference(preferenceScreen)
+        }
     }
 
     @After
@@ -112,63 +106,68 @@
 
     @Test
     fun getAvailabilityStatus_invalidSubId_returnUnsearchable() {
-        controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
+        val availabilityStatus =
+            controller.getAvailabilityStatus(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
 
-        assertThat(controller.availabilityStatus).isEqualTo(AVAILABLE_UNSEARCHABLE)
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE_UNSEARCHABLE)
     }
 
     @Test
-    fun handlePreferenceTreeClick_startActivity() = runTest {
-        val usageInfo = DataUsageInfo().apply {
-            usageLevel = DataUnit.MEBIBYTES.toBytes(1)
+    fun handlePreferenceTreeClick_startActivity() = runBlocking {
+        val usageData = NetworkUsageData(START_TIME, END_TIME, 1L)
+        repository.stub {
+            on { loadFirstCycle() } doReturn usageData
         }
-        whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo)
-        doNothing().`when`(context).startActivity(any())
-        controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+        controller.onViewCreated(TestLifecycleOwner())
         waitUntil { preference.summary != null }
 
         controller.handlePreferenceTreeClick(preference)
 
-        val captor = ArgumentCaptor.forClass(Intent::class.java)
-        verify(context).startActivity(captor.capture())
-        val intent = captor.value
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivity(capture())
+        }.firstValue
         assertThat(intent.action).isEqualTo(Settings.ACTION_MOBILE_DATA_USAGE)
         assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID, 0)).isEqualTo(SUB_ID)
     }
 
     @Test
-    fun updateState_invalidSubId_disabled() = runTest {
+    fun updateState_invalidSubId_disabled() = runBlocking {
         controller.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID)
 
-        controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+        controller.onViewCreated(TestLifecycleOwner())
 
         waitUntil { !preference.isEnabled }
     }
 
     @Test
-    fun updateState_noUsageData_shouldDisablePreference() = runTest {
-        val usageInfo = DataUsageInfo()
-        whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo)
-
-        controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
-
-        waitUntil { !preference.isEnabled }
-    }
-
-    @Test
-    fun updateState_shouldUseIecUnit() = runTest {
-        val usageInfo = DataUsageInfo().apply {
-            usageLevel = DataUnit.MEBIBYTES.toBytes(1)
+    fun updateState_noUsageData_shouldEnablePreference() = runBlocking {
+        val usageData = NetworkUsageData(START_TIME, END_TIME, 0L)
+        repository.stub {
+            on { loadFirstCycle() } doReturn usageData
         }
-        whenever(dataUsageController.getDataUsageInfo(networkTemplate)).thenReturn(usageInfo)
 
-        controller.whenViewCreated(TestLifecycleOwner(initialState = Lifecycle.State.STARTED))
+        controller.onViewCreated(TestLifecycleOwner())
 
-        waitUntil { preference.summary?.contains("1.00 MB") == true }
+        waitUntil { preference.isEnabled }
+        waitUntil { preference.summary?.contains("0 B used") == true }
+    }
+
+    @Test
+    fun updateState_shouldUseIecUnit() = runBlocking {
+        val usageData = NetworkUsageData(START_TIME, END_TIME, DataUnit.MEBIBYTES.toBytes(1))
+        repository.stub {
+            on { loadFirstCycle() } doReturn usageData
+        }
+
+        controller.onViewCreated(TestLifecycleOwner())
+
+        waitUntil { preference.summary?.contains("1.00 MB used") == true }
     }
 
     private companion object {
         const val TEST_KEY = "test_key"
         const val SUB_ID = 2
+        const val START_TIME = 10L
+        const val END_TIME = 30L
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.kt
new file mode 100644
index 0000000..c132273
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.kt
@@ -0,0 +1,122 @@
+/*
+ * 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.telephony
+
+import android.app.KeyguardManager
+import android.content.Context
+import android.os.UserManager
+import android.telephony.SubscriptionInfo
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.network.SubscriptionUtil
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.times
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class DeleteSimProfilePreferenceControllerTest {
+    private val subscriptionInfo = mock<SubscriptionInfo> {
+        on { subscriptionId } doReturn SUB_ID
+        on { isEmbedded } doReturn true
+    }
+
+    private val mockKeyguardManager = mock<KeyguardManager>() {
+        on { isKeyguardSecure() } doReturn false
+    }
+
+    private var context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivity(any())
+        on { getSystemService(Context.KEYGUARD_SERVICE) } doReturn mockKeyguardManager
+    }
+
+    private val preference = Preference(context).apply { key = PREF_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+        .apply { addPreference(preference) }
+    private var controller = DeleteSimProfilePreferenceController(context, PREF_KEY)
+
+    @Before
+    fun setUp() {
+        SubscriptionUtil.setAvailableSubscriptionsForTesting(listOf(subscriptionInfo))
+    }
+
+    @After
+    fun tearDown() {
+        SubscriptionUtil.setAvailableSubscriptionsForTesting(null)
+    }
+
+    @Test
+    fun getAvailabilityStatus_noSubs_notAvailable() {
+        SubscriptionUtil.setAvailableSubscriptionsForTesting(emptyList())
+
+        controller.init(SUB_ID)
+
+        assertThat(controller.isAvailable()).isFalse()
+    }
+
+    @Test
+    fun getAvailabilityStatus_physicalSim_notAvailable() {
+        whenever(subscriptionInfo.isEmbedded).thenReturn(false)
+
+        controller.init(SUB_ID)
+
+        assertThat(controller.isAvailable()).isFalse()
+    }
+
+    @Test
+    fun getAvailabilityStatus_unknownSim_notAvailable() {
+        whenever(subscriptionInfo.subscriptionId).thenReturn(OTHER_ID)
+
+        controller.init(SUB_ID)
+
+        assertThat(controller.isAvailable()).isFalse()
+    }
+
+    @Test
+    fun getAvailabilityStatus_knownEsim_isAvailable() {
+        controller.init(SUB_ID)
+
+        assertThat(controller.isAvailable()).isTrue()
+    }
+
+    @Test
+    fun onPreferenceClick_startsIntent() {
+        controller.init(SUB_ID)
+        controller.displayPreference(preferenceScreen)
+
+        controller.handlePreferenceTreeClick(preference)
+
+        verify(context, times(1)).startActivity(any())
+    }
+
+    private companion object {
+        const val PREF_KEY = "delete_profile_key"
+        const val SUB_ID = 1234
+        const val OTHER_ID = 5678
+    }
+}
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
new file mode 100644
index 0000000..a2f635d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.kt
@@ -0,0 +1,207 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionManager.INVALID_SUBSCRIPTION_ID
+import android.telephony.TelephonyManager
+import android.telephony.data.ApnSetting
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.core.BasePreferenceController.AVAILABLE
+import com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE
+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.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class MmsMessagePreferenceControllerTest {
+    private val mockTelephonyManager1: TelephonyManager = mock<TelephonyManager> {
+        on { isApnMetered(ApnSetting.TYPE_MMS) } doReturn true
+    }
+
+    private val mockTelephonyManager2: TelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_1_ID) } doReturn mockTelephonyManager1
+        on { isApnMetered(ApnSetting.TYPE_MMS) } doReturn true
+    }
+
+    private val mockTelephonyManager: TelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_1_ID) } doReturn mockTelephonyManager1
+        on { createForSubscriptionId(SUB_2_ID) } doReturn mockTelephonyManager2
+        on { createForSubscriptionId(INVALID_SUBSCRIPTION_ID) } doReturn mock
+    }
+
+    private var context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    private var defaultDataSubId = SUB_1_ID
+
+    private val controller = MmsMessagePreferenceController(
+        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)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_mobileDataOn_unavailable() {
+        mockTelephonyManager2.stub {
+            on { isDataEnabled } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_meteredOff_unavailable() {
+        mockTelephonyManager2.stub {
+            on { isApnMetered(ApnSetting.TYPE_MMS) } doReturn false
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_isDefaultDataAndDataOnAndAutoDataSwitchOn_unavailable() {
+        defaultDataSubId = SUB_2_ID
+        mockTelephonyManager2.stub {
+            on { isDataEnabled } doReturn true
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_isDefaultDataAndDataOffAndAutoDataSwitchOn_available() {
+        defaultDataSubId = SUB_2_ID
+        mockTelephonyManager2.stub {
+            on { isDataEnabled } doReturn false
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_defaultDataOnAndAutoDataSwitchOn_unavailable() {
+        mockTelephonyManager1.stub {
+            on { isDataEnabled } doReturn true
+        }
+        mockTelephonyManager2.stub {
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+
+        assertThat(availabilityStatus).isEqualTo(CONDITIONALLY_UNAVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_defaultDataOffAndAutoDataSwitchOn_available() {
+        mockTelephonyManager1.stub {
+            on { isDataEnabled } doReturn false
+        }
+        mockTelephonyManager2.stub {
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_AUTO_DATA_SWITCH)
+            } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus(SUB_2_ID)
+
+        assertThat(availabilityStatus).isEqualTo(AVAILABLE)
+    }
+
+    @Test
+    fun isChecked_whenMmsNotAlwaysAllowed_returnFalse() {
+        mockTelephonyManager2.stub {
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED)
+            } doReturn false
+        }
+
+        val isChecked = controller.isChecked()
+
+        assertThat(isChecked).isFalse()
+    }
+
+    @Test
+    fun isChecked_whenMmsAlwaysAllowed_returnTrue() {
+        mockTelephonyManager2.stub {
+            on {
+                isMobileDataPolicyEnabled(TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED)
+            } doReturn true
+        }
+
+        val isChecked = controller.isChecked()
+
+        assertThat(isChecked).isTrue()
+    }
+
+    @Test
+    fun setChecked_setTrue_setDataIntoSubscriptionManager() {
+        controller.setChecked(true)
+
+        verify(mockTelephonyManager2).setMobileDataPolicyEnabled(
+            TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, true
+        )
+    }
+
+    @Test
+    fun setChecked_setFalse_setDataIntoSubscriptionManager() {
+        controller.setChecked(false)
+
+        verify(mockTelephonyManager2).setMobileDataPolicyEnabled(
+            TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false
+        )
+    }
+
+    private companion object {
+        const val KEY = "mms_message"
+        const val SUB_1_ID = 1
+        const val SUB_2_ID = 2
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceControllerTest.kt
new file mode 100644
index 0000000..b035af5
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkEidPreferenceControllerTest.kt
@@ -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.network.telephony
+
+import android.content.Context
+import android.platform.test.flag.junit.SetFlagsRule
+import android.telephony.SubscriptionInfo
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import androidx.fragment.app.Fragment
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.flags.Flags
+import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
+import com.android.settingslib.CustomDialogPreferenceCompat
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.runBlocking
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+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.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.whenever
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+class MobileNetworkEidPreferenceControllerTest {
+    @get:Rule val setFlagsRule: SetFlagsRule = SetFlagsRule()
+
+    private lateinit var mockSession: MockitoSession
+
+    private val mockViewModels =  mock<Lazy<SubscriptionInfoListViewModel>>()
+    private val mockFragment = mock<Fragment>{
+        val viewmodel = mockViewModels
+    }
+
+    private var mockEid = String()
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on {uiccCardsInfo} doReturn listOf()
+        on { createForSubscriptionId(any()) } doReturn mock
+    }
+    private val mockEuiccManager = mock<EuiccManager> {
+        on {isEnabled} doReturn true
+        on {eid} doReturn mockEid
+    }
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        on { getSystemService(EuiccManager::class.java) } doReturn mockEuiccManager
+    }
+
+    private val controller = MobileNetworkEidPreferenceController(context, TEST_KEY)
+    private val preference = CustomDialogPreferenceCompat(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()
+
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun refreshData_getEmptyEid_preferenceIsNotVisible() = 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)
+        mockEid = String()
+
+        controller.refreshData(SUB_INFO_2)
+
+        assertThat(preference.isVisible).isEqualTo(false)
+    }
+
+    @Test
+    fun refreshData_getEmptyEid_preferenceSummaryIsExpected() = 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)
+        mockEid = "test eid"
+        mockEuiccManager.stub {
+            on {eid} doReturn mockEid
+        }
+
+        controller.refreshData(SUB_INFO_2)
+
+        assertThat(preference.summary).isEqualTo(mockEid)
+    }
+
+    @Test
+    fun getAvailabilityStatus_notSimHardwareVisible() {
+        whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
+    }
+
+    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()
+
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceControllerTest.kt
new file mode 100644
index 0000000..2f67846
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkImeiPreferenceControllerTest.kt
@@ -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.network.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import androidx.fragment.app.Fragment
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.internal.telephony.PhoneConstants
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.network.SubscriptionInfoListViewModel
+import com.android.settings.network.SubscriptionUtil
+import com.android.settingslib.CustomDialogPreferenceCompat
+import com.google.common.truth.Truth.assertThat
+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.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.whenever
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+class MobileNetworkImeiPreferenceControllerTest {
+    private lateinit var mockSession: MockitoSession
+
+    private val mockViewModels =  mock<Lazy<SubscriptionInfoListViewModel>>()
+    private val mockFragment = mock<Fragment>{
+        val viewmodel = mockViewModels
+    }
+
+    private var mockImei = String()
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { uiccCardsInfo } doReturn listOf()
+        on { createForSubscriptionId(any()) } doReturn mock
+        on { currentPhoneType } doReturn TelephonyManager.PHONE_TYPE_GSM
+        on { imei } doReturn mockImei
+        on { meid } doReturn mockImei
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    private val controller = MobileNetworkImeiPreferenceController(context, TEST_KEY)
+    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()
+
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun refreshData_getPhoneNumber_preferenceSummaryIsExpected() = 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)
+        mockImei = "test imei"
+        mockTelephonyManager.stub {
+            on { imei } doReturn mockImei
+        }
+
+        controller.refreshData(SUB_INFO_2)
+
+        assertThat(preference.summary).isEqualTo(mockImei)
+    }
+
+    @Test
+    fun getAvailabilityStatus_notSimHardwareVisible() {
+        whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
+    }
+
+    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()
+
+    }
+}
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
new file mode 100644
index 0000000..38c47c2
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkPhoneNumberPreferenceControllerTest.kt
@@ -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.network.telephony
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import androidx.fragment.app.Fragment
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+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.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.mock
+import org.mockito.kotlin.whenever
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+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 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()
+
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+
+        whenever(SubscriptionUtil.getBidiFormattedPhoneNumber(any(),any())).thenReturn(mockPhoneNumber)
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun refreshData_getEmptyPhoneNumber_preferenceIsNotVisible() = 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()
+
+        controller.refreshData(SUB_INFO_2)
+
+        assertThat(preference.summary).isEqualTo(
+            context.getString(R.string.device_info_default))
+    }
+
+    @Test
+    fun refreshData_getPhoneNumber_preferenceSummaryIsExpected() = 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)
+
+        controller.refreshData(SUB_INFO_2)
+
+        assertThat(preference.summary).isEqualTo(mockPhoneNumber)
+    }
+
+    @Test
+    fun getAvailabilityStatus_notSimHardwareVisible() {
+        whenever(SubscriptionUtil.isSimHardwareVisible(context)).thenReturn(false)
+
+        val availabilityStatus = controller.availabilityStatus
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE)
+    }
+
+    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()
+
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSpnPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSpnPreferenceControllerTest.kt
new file mode 100644
index 0000000..f5592c1
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/MobileNetworkSpnPreferenceControllerTest.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
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import android.telephony.TelephonyManager
+import android.telephony.euicc.EuiccManager
+import androidx.fragment.app.Fragment
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+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.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.spy
+import org.mockito.kotlin.whenever
+import org.mockito.quality.Strictness
+
+@RunWith(AndroidJUnit4::class)
+class MobileNetworkSpnPreferenceControllerTest {
+    private lateinit var mockSession: MockitoSession
+
+    private val mockViewModels =  mock<Lazy<SubscriptionInfoListViewModel>>()
+    private val mockFragment = mock<Fragment>{
+        val viewmodel = mockViewModels
+    }
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val controller = MobileNetworkSpnPreferenceController(context, TEST_KEY)
+    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()
+
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun refreshData_getCarrierName_preferenceSummaryIsExpected() = runBlocking {
+        var testList = listOf(
+            SUB_INFO_1,
+            SUB_INFO_2
+        )
+        whenever(SubscriptionUtil.getActiveSubscriptions(any())).thenReturn(testList)
+        var mockSubId = 2
+        controller.init(mockFragment, mockSubId)
+
+        controller.refreshData(testList)
+
+        assertThat(preference.summary).isEqualTo(CARRIER_NAME_2)
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val CARRIER_NAME_1 = "Sub 1"
+        const val CARRIER_NAME_2 = "Sub 2"
+
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(1)
+            setCarrierName(CARRIER_NAME_1)
+        }.build()
+
+        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(2)
+            setCarrierName(CARRIER_NAME_2)
+        }.build()
+
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/ServiceStateFlowTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/ServiceStateFlowTest.kt
new file mode 100644
index 0000000..4ffc267
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/ServiceStateFlowTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+import android.telephony.ServiceState
+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.android.settingslib.spa.testutils.toListWithTimeout
+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
+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
+
+@RunWith(AndroidJUnit4::class)
+class ServiceStateFlowTest {
+
+    private var serviceStateListener: TelephonyCallback.ServiceStateListener? = null
+
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_ID) } doReturn mock
+        on { registerTelephonyCallback(any(), any()) } doAnswer {
+            serviceStateListener = it.arguments[1] as TelephonyCallback.ServiceStateListener
+            serviceStateListener?.onServiceStateChanged(ServiceState())
+        }
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+    }
+
+    @Test
+    fun serviceStateFlow_initial_sndInitialValue() = runBlocking {
+        val flow = context.serviceStateFlow(SUB_ID)
+
+        val state = flow.firstWithTimeoutOrNull()
+
+        assertThat(state).isNotNull()
+    }
+
+    @Test
+    fun serviceStateFlow_changed_sendChanged(): Unit = runBlocking {
+        val listDeferred = async {
+            context.serviceStateFlow(SUB_ID).toListWithTimeout()
+        }
+        delay(100)
+
+        serviceStateListener?.onServiceStateChanged(ServiceState())
+
+        assertThat(listDeferred.await()).hasSize(2)
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+    }
+}
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
new file mode 100644
index 0000000..2887134
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/SubscriptionRepositoryTest.kt
@@ -0,0 +1,70 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+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.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
+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
+
+@RunWith(AndroidJUnit4::class)
+class SubscriptionRepositoryTest {
+    private var subInfoListener: SubscriptionManager.OnSubscriptionsChangedListener? = null
+
+    private val mockSubscriptionManager = mock<SubscriptionManager> {
+        on { addOnSubscriptionsChangedListener(any(), any()) } doAnswer {
+            subInfoListener = it.arguments[1] as SubscriptionManager.OnSubscriptionsChangedListener
+            subInfoListener?.onSubscriptionsChanged()
+        }
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
+    }
+
+    @Test
+    fun subscriptionsChangedFlow_hasInitialValue() = runBlocking {
+        val initialValue = context.subscriptionsChangedFlow().firstWithTimeoutOrNull()
+
+        assertThat(initialValue).isSameInstanceAs(Unit)
+    }
+
+    @Test
+    fun subscriptionsChangedFlow_changed() = runBlocking {
+        val listDeferred = async {
+            context.subscriptionsChangedFlow().toListWithTimeout()
+        }
+        delay(100)
+
+        subInfoListener?.onSubscriptionsChanged()
+
+        assertThat(listDeferred.await()).hasSize(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
new file mode 100644
index 0000000..b7e1dcc
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyRepositoryTest.kt
@@ -0,0 +1,76 @@
+/*
+ * 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.telephony
+
+import android.content.Context
+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.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.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
+    }
+
+    @Test
+    fun telephonyCallbackFlow_callbackRegistered() = runBlocking {
+        val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
+            object : TelephonyCallback() {}
+        }
+
+        flow.firstWithTimeoutOrNull()
+
+        assertThat(telephonyCallback).isNotNull()
+    }
+
+    @Test
+    fun telephonyCallbackFlow_callbackUnregistered() = runBlocking {
+        val flow = context.telephonyCallbackFlow<Unit>(SUB_ID) {
+            object : TelephonyCallback() {}
+        }
+
+        flow.firstWithTimeoutOrNull()
+
+        verify(mockTelephonyManager).unregisterTelephonyCallback(telephonyCallback!!)
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt
index 7e6a91b..cf6b919 100644
--- a/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/TelephonyStatusControlSessionTest.kt
@@ -23,12 +23,10 @@
 import com.android.settings.core.BasePreferenceController
 import com.android.settingslib.spa.testutils.waitUntil
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.test.runTest
 import org.junit.Test
 import org.junit.runner.RunWith
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class TelephonyStatusControlSessionTest {
     private val context: Context = ApplicationProvider.getApplicationContext()
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.kt
new file mode 100644
index 0000000..fc53049
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.kt
@@ -0,0 +1,140 @@
+/*
+ * 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.telephony
+
+import android.content.ComponentName
+import android.content.Context
+import android.content.Intent
+import android.provider.Settings
+import android.telecom.PhoneAccountHandle
+import android.telecom.TelecomManager
+import android.telephony.TelephonyManager
+import android.telephony.ims.ImsMmTelManager
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+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.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class WifiCallingPreferenceControllerTest {
+    private val mockTelecomManager = mock<TelecomManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelecomManager::class.java) } doReturn mockTelecomManager
+    }
+
+    private val preferenceIntent = Intent()
+
+    private val preference = Preference(context).apply {
+        key = TEST_KEY
+        intent = preferenceIntent
+    }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    private var callState = TelephonyManager.CALL_STATE_IDLE
+
+    private object FakeImsMmTelRepository : ImsMmTelRepository {
+        var wiFiMode = ImsMmTelManager.WIFI_MODE_UNKNOWN
+        override fun getWiFiCallingMode() = wiFiMode
+    }
+
+    private val callingPreferenceCategoryController =
+        CallingPreferenceCategoryController(context, "calling_category")
+
+    private val controller = WifiCallingPreferenceController(
+        context = context,
+        key = TEST_KEY,
+        callStateFlowFactory = { flowOf(callState) },
+        imsMmTelRepositoryFactory = { FakeImsMmTelRepository },
+    ).init(subId = SUB_ID, callingPreferenceCategoryController)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @Test
+    fun summary_noSimCallManager_setCorrectSummary() = runBlocking {
+        mockTelecomManager.stub {
+            on { getSimCallManagerForSubscription(SUB_ID) } doReturn null
+        }
+        FakeImsMmTelRepository.wiFiMode = ImsMmTelManager.WIFI_MODE_WIFI_ONLY
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.summary)
+            .isEqualTo(context.getString(com.android.internal.R.string.wfc_mode_wifi_only_summary))
+    }
+
+    @Test
+    fun summary_hasSimCallManager_summaryIsNull() = runBlocking {
+        mockTelecomManager.stub {
+            on { getSimCallManagerForSubscription(SUB_ID) } doReturn
+                PhoneAccountHandle(ComponentName("", ""), "")
+        }
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.summary).isNull()
+    }
+
+    @Test
+    fun isEnabled_callIdle_enabled() = runBlocking {
+        callState = TelephonyManager.CALL_STATE_IDLE
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isEnabled).isTrue()
+    }
+
+    @Test
+    fun isEnabled_notCallIdle_disabled() = runBlocking {
+        callState = TelephonyManager.CALL_STATE_RINGING
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.isEnabled).isFalse()
+    }
+
+    @Test
+    fun displayPreference_setsSubscriptionIdOnIntent() = runBlocking {
+        assertThat(preference.intent!!.getIntExtra(Settings.EXTRA_SUB_ID, 0)).isEqualTo(SUB_ID)
+    }
+
+    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/gsm/AutoSelectPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.kt
new file mode 100644
index 0000000..f821e1a
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.kt
@@ -0,0 +1,197 @@
+/*
+ * 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.telephony.gsm
+
+import android.content.Context
+import android.content.Intent
+import android.provider.Settings
+import android.telephony.CarrierConfigManager
+import android.telephony.ServiceState
+import android.telephony.TelephonyManager
+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.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.onRoot
+import androidx.compose.ui.test.performClick
+import androidx.core.os.persistableBundleOf
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.Settings.NetworkSelectActivity
+import com.android.settings.spa.preference.ComposePreference
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.emptyFlow
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.runBlocking
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class AutoSelectPreferenceControllerTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_ID) } doReturn mock
+        on { simOperatorName } doReturn OPERATOR_NAME
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        doNothing().whenever(mock).startActivity(any())
+    }
+
+    private val preference = ComposePreference(context).apply { key = TEST_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    private val serviceState = ServiceState()
+
+    private val carrierConfig = persistableBundleOf()
+
+    private val controller = AutoSelectPreferenceController(
+        context = context,
+        key = TEST_KEY,
+        allowedNetworkTypesFlowFactory = { emptyFlow() },
+        serviceStateFlowFactory = { flowOf(serviceState) },
+        getConfigForSubId = { carrierConfig },
+    ).init(subId = SUB_ID)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @Test
+    fun isChecked_isAutoSelection_on() {
+        serviceState.isManualSelection = false
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.select_automatically))
+            .assertIsOn()
+    }
+
+    @Test
+    fun isChecked_isManualSelection_off() {
+        serviceState.isManualSelection = true
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.select_automatically))
+            .assertIsOff()
+    }
+
+
+    @Test
+    fun isEnabled_isRoaming_enabled() {
+        serviceState.roaming = true
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.select_automatically))
+            .assertIsEnabled()
+    }
+
+    @Test
+    fun isEnabled_notOnlyAutoSelectInHome_enabled() {
+        serviceState.roaming = false
+        carrierConfig.putBoolean(
+            CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL, false
+        )
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.select_automatically))
+            .assertIsEnabled()
+    }
+
+    @Test
+    fun isEnabled_onlyAutoSelectInHome_notEnabled() {
+        serviceState.roaming = false
+        carrierConfig.putBoolean(
+            CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL, true
+        )
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+
+        composeTestRule.onNodeWithText("Unavailable when connected to T-mobile")
+            .assertIsNotEnabled()
+    }
+
+    @Test
+    fun onClick_turnOff_startNetworkSelectActivity() {
+        serviceState.isManualSelection = false
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+        composeTestRule.onRoot().performClick()
+
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivity(capture())
+        }.firstValue
+        assertThat(intent.component!!.className).isEqualTo(NetworkSelectActivity::class.java.name)
+        assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID, 0)).isEqualTo(SUB_ID)
+    }
+
+    @Test
+    fun onClick_turnOn_setNetworkSelectionModeAutomatic() = runBlocking {
+        serviceState.isManualSelection = true
+        controller.progressDialog = mock()
+
+        composeTestRule.setContent {
+            controller.Content()
+        }
+        composeTestRule.onRoot().performClick()
+        delay(100)
+
+        verify(controller.progressDialog!!).show()
+        verify(mockTelephonyManager).setNetworkSelectionModeAutomatic()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val SUB_ID = 2
+        const val OPERATOR_NAME = "T-mobile"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.kt
new file mode 100644
index 0000000..466a5d1
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.kt
@@ -0,0 +1,117 @@
+/*
+ * 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.telephony.gsm
+
+import android.content.Context
+import android.telephony.ServiceState
+import android.telephony.SubscriptionInfo
+import android.telephony.SubscriptionManager
+import android.telephony.TelephonyManager
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceManager
+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 kotlinx.coroutines.delay
+import kotlinx.coroutines.flow.emptyFlow
+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.doAnswer
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+
+@RunWith(AndroidJUnit4::class)
+class OpenNetworkSelectPagePreferenceControllerTest {
+
+    private val subscriptionInfo = mock<SubscriptionInfo> {
+        on { subscriptionId } doReturn SUB_ID
+        on { carrierName } doReturn OPERATOR_NAME
+    }
+
+    private val mockSubscriptionManager = mock<SubscriptionManager> {
+        on { createForAllUserProfiles() } doReturn mock
+        on { getActiveSubscriptionInfo(SUB_ID) } doReturn subscriptionInfo
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(SubscriptionManager::class.java) } doReturn mockSubscriptionManager
+    }
+
+    private val preference = Preference(context).apply { key = TEST_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+    private val serviceState = ServiceState()
+
+    private val controller = OpenNetworkSelectPagePreferenceController(
+        context = context,
+        key = TEST_KEY,
+        allowedNetworkTypesFlowFactory = { emptyFlow() },
+        serviceStateFlowFactory = { flowOf(serviceState) },
+    ).init(subId = SUB_ID)
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @Test
+    fun isEnabled_modeManual_enabled() {
+        controller.onNetworkSelectModeUpdated(TelephonyManager.NETWORK_SELECTION_MODE_MANUAL)
+
+        assertThat(preference.isEnabled).isTrue()
+    }
+
+    @Test
+    fun isEnabled_modeAuto_disabled() {
+        controller.onNetworkSelectModeUpdated(TelephonyManager.NETWORK_SELECTION_MODE_AUTO)
+
+        assertThat(preference.isEnabled).isFalse()
+    }
+
+    @Test
+    fun summary_inService_isOperatorName() = runBlocking {
+        serviceState.state = ServiceState.STATE_IN_SERVICE
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.summary).isEqualTo(OPERATOR_NAME)
+    }
+
+    @Test
+    fun summary_notInService_isDisconnect() = runBlocking {
+        serviceState.state = ServiceState.STATE_OUT_OF_SERVICE
+
+        controller.onViewCreated(TestLifecycleOwner())
+        delay(100)
+
+        assertThat(preference.summary).isEqualTo(context.getString(R.string.network_disconnected))
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val SUB_ID = 2
+        const val OPERATOR_NAME = "T-mobile"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsMmTelRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsMmTelRepositoryTest.kt
new file mode 100644
index 0000000..d5142fa
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/network/telephony/ims/ImsMmTelRepositoryTest.kt
@@ -0,0 +1,127 @@
+/*
+ * 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.telephony.ims
+
+import android.content.Context
+import android.telephony.CarrierConfigManager
+import android.telephony.CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL
+import android.telephony.TelephonyManager
+import android.telephony.ims.ImsMmTelManager
+import androidx.core.os.persistableBundleOf
+import androidx.test.core.app.ApplicationProvider
+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.doThrow
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+
+@RunWith(AndroidJUnit4::class)
+class ImsMmTelRepositoryTest {
+    private val mockTelephonyManager = mock<TelephonyManager> {
+        on { createForSubscriptionId(SUB_ID) } doReturn mock
+    }
+
+    private val mockCarrierConfigManager = mock<CarrierConfigManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(TelephonyManager::class.java) } doReturn mockTelephonyManager
+        on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
+    }
+
+    private val mockImsMmTelManager = mock<ImsMmTelManager> {
+        on { isVoWiFiSettingEnabled } doReturn true
+        on { getVoWiFiRoamingModeSetting() } doReturn ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED
+        on { getVoWiFiModeSetting() } doReturn ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED
+    }
+
+    private val repository = ImsMmTelRepositoryImpl(context, SUB_ID, mockImsMmTelManager)
+
+    @Test
+    fun getWiFiCallingMode_voWiFiSettingNotEnabled_returnUnknown() {
+        mockImsMmTelManager.stub {
+            on { isVoWiFiSettingEnabled } doReturn false
+        }
+
+        val wiFiCallingMode = repository.getWiFiCallingMode()
+
+        assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_UNKNOWN)
+    }
+
+    @Test
+    fun getWiFiCallingMode_roamingAndNotUseWfcHomeModeForRoaming_returnRoamingSetting() {
+        mockTelephonyManager.stub {
+            on { isNetworkRoaming } doReturn true
+        }
+        mockUseWfcHomeModeForRoaming(false)
+
+        val wiFiCallingMode = repository.getWiFiCallingMode()
+
+        assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiRoamingModeSetting())
+    }
+
+    @Test
+    fun getWiFiCallingMode_roamingAndUseWfcHomeModeForRoaming_returnHomeSetting() {
+        mockTelephonyManager.stub {
+            on { isNetworkRoaming } doReturn true
+        }
+        mockUseWfcHomeModeForRoaming(true)
+
+        val wiFiCallingMode = repository.getWiFiCallingMode()
+
+        assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiModeSetting())
+    }
+
+    @Test
+    fun getWiFiCallingMode_notRoaming_returnHomeSetting() {
+        mockTelephonyManager.stub {
+            on { isNetworkRoaming } doReturn false
+        }
+
+        val wiFiCallingMode = repository.getWiFiCallingMode()
+
+        assertThat(wiFiCallingMode).isEqualTo(mockImsMmTelManager.getVoWiFiModeSetting())
+    }
+
+    @Test
+    fun getWiFiCallingMode_illegalArgumentException_returnUnknown() {
+        mockImsMmTelManager.stub {
+            on { isVoWiFiSettingEnabled } doThrow IllegalArgumentException()
+        }
+
+        val wiFiCallingMode = repository.getWiFiCallingMode()
+
+        assertThat(wiFiCallingMode).isEqualTo(ImsMmTelManager.WIFI_MODE_UNKNOWN)
+    }
+
+    private fun mockUseWfcHomeModeForRoaming(config: Boolean) {
+        mockCarrierConfigManager.stub {
+            on {
+                getConfigForSubId(SUB_ID, KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL)
+            } doReturn persistableBundleOf(
+                KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL to config,
+            )
+        }
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt
index 1b2a7b1..ec81c80 100644
--- a/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaActivityTest.kt
@@ -18,13 +18,10 @@
 
 import android.content.Context
 import android.content.Intent
-import android.net.Uri
-import android.os.UserHandle
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito
 import com.android.settings.spa.SpaActivity.Companion.isSuwAndPageBlocked
 import com.android.settings.spa.SpaActivity.Companion.startSpaActivity
-import com.android.settings.spa.SpaActivity.Companion.startSpaActivityForApp
 import com.android.settings.spa.app.AllAppListPageProvider
 import com.android.settings.spa.app.appinfo.AppInfoSettingsProvider
 import com.android.settingslib.spa.framework.util.KEY_DESTINATION
@@ -34,19 +31,18 @@
 import org.junit.Before
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mock
-import org.mockito.Mockito.verify
 import org.mockito.MockitoSession
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 import org.mockito.quality.Strictness
-import org.mockito.Mockito.`when` as whenever
 
 @RunWith(AndroidJUnit4::class)
 class SpaActivityTest {
     private lateinit var mockSession: MockitoSession
 
-    @Mock
-    private lateinit var context: Context
+    private val context = mock<Context>()
 
     @Before
     fun setUp() {
@@ -71,7 +67,7 @@
     }
 
     @Test
-    fun isSuwAndPageBlocked_blocklistedPageInSuw_blocked() {
+    fun isSuwAndPageBlocked_suwBlockedPageInSuw_blocked() {
         whenever(WizardManagerHelper.isDeviceProvisioned(context)).thenReturn(false)
 
         val isBlocked = context.isSuwAndPageBlocked(AppInfoSettingsProvider.name)
@@ -80,7 +76,7 @@
     }
 
     @Test
-    fun isSuwAndPageBlocked_blocklistedPageNotInSuw_notBlocked() {
+    fun isSuwAndPageBlocked_SuwBlockedPageNotInSuw_notBlocked() {
         whenever(WizardManagerHelper.isDeviceProvisioned(context)).thenReturn(true)
 
         val isBlocked = context.isSuwAndPageBlocked(AppInfoSettingsProvider.name)
@@ -92,31 +88,14 @@
     fun startSpaActivity() {
         context.startSpaActivity(DESTINATION)
 
-        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
-        verify(context).startActivity(intentCaptor.capture())
-        val intent = intentCaptor.value
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivity(capture())
+        }.firstValue
         assertThat(intent.component?.className).isEqualTo(SpaActivity::class.qualifiedName)
         assertThat(intent.getStringExtra(KEY_DESTINATION)).isEqualTo(DESTINATION)
     }
 
-    @Test
-    fun startSpaActivityForApp() {
-        val intent = Intent().apply {
-            data = Uri.parse("package:$PACKAGE_NAME")
-        }
-
-        context.startSpaActivityForApp(DESTINATION, intent)
-
-        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
-        verify(context).startActivity(intentCaptor.capture())
-        val capturedIntent = intentCaptor.value
-        assertThat(capturedIntent.component?.className).isEqualTo(SpaActivity::class.qualifiedName)
-        assertThat(capturedIntent.getStringExtra(KEY_DESTINATION))
-            .isEqualTo("Destination/package.name/${UserHandle.myUserId()}")
-    }
-
     private companion object {
         const val DESTINATION = "Destination"
-        const val PACKAGE_NAME = "package.name"
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaAppBridgeActivityTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaAppBridgeActivityTest.kt
new file mode 100644
index 0000000..be2b5e0
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaAppBridgeActivityTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.spa
+
+import android.content.Intent
+import android.net.Uri
+import android.os.UserHandle
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.spa.SpaAppBridgeActivity.Companion.getDestinationForApp
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class SpaAppBridgeActivityTest {
+    @Test
+    fun getDestinationForApp_hasPackageName() {
+        val intent = Intent().apply {
+            data = Uri.parse("package:${PACKAGE_NAME}")
+        }
+
+        val destination = getDestinationForApp(DESTINATION, intent)
+
+        assertThat(destination).isEqualTo("$DESTINATION/$PACKAGE_NAME/${UserHandle.myUserId()}")
+    }
+
+    @Test
+    fun getDestinationForApp_noPackageName() {
+        val intent = Intent()
+
+        val destination = getDestinationForApp(DESTINATION, intent)
+
+        assertThat(destination).isNull()
+    }
+
+    private companion object {
+        const val DESTINATION = "Destination"
+        const val PACKAGE_NAME = "package.name"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt b/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
new file mode 100644
index 0000000..0b9eb22
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/SpaDestinationTest.kt
@@ -0,0 +1,97 @@
+/*
+ * 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.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 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 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
+    }
+
+    @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/app/AllAppListTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt
index 2e7752e..0ec8754 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/AllAppListTest.kt
@@ -18,8 +18,9 @@
 
 import android.content.Context
 import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import android.graphics.drawable.Drawable
 import androidx.compose.runtime.SideEffect
-import androidx.compose.runtime.State
 import androidx.compose.ui.test.assertIsDisplayed
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.compose.ui.test.onNodeWithText
@@ -30,25 +31,37 @@
 import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.testutils.FakeNavControllerWrapper
 import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder
 import com.android.settingslib.spaprivileged.template.app.AppListInput
 import com.android.settingslib.spaprivileged.template.app.AppListItemModel
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
 import org.junit.Rule
 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 AllAppListTest {
     @get:Rule
     val composeTestRule = createComposeRule()
 
-    private val context: Context = ApplicationProvider.getApplicationContext()
-
     private val fakeNavControllerWrapper = FakeNavControllerWrapper()
 
+    private val packageManager = mock<PackageManager> {
+        on { getPackagesForUid(USER_ID) } doReturn arrayOf(PACKAGE_NAME)
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn packageManager
+    }
+
     @Test
     fun allAppListPageProvider_name() {
         assertThat(AllAppListPageProvider.name).isEqualTo("AllAppList")
@@ -118,7 +131,6 @@
             .isEqualTo("AppInfoSettings/package.name/0")
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun allAppListModel_transform() = runTest {
         val listModel = AllAppListModel(context) { stateOf(SUMMARY) }
@@ -131,19 +143,31 @@
     }
 
     @Test
-    fun allAppListModel_getSummary() {
+    fun listModelGetSummary_regular() {
         val listModel = AllAppListModel(context) { stateOf(SUMMARY) }
 
-        lateinit var summaryState: State<String>
+        lateinit var summary: () -> String
         composeTestRule.setContent {
-            summaryState = listModel.getSummary(option = 0, record = AppRecordWithSize(app = APP))
+            summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = APP))
         }
 
-        assertThat(summaryState.value).isEqualTo(SUMMARY)
+        assertThat(summary()).isEqualTo(SUMMARY)
     }
 
     @Test
-    fun allAppListModel_getSummaryWhenDisabled() {
+    fun listModelGetSummary_emptyStorage() {
+        val listModel = AllAppListModel(context) { stateOf("") }
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = APP))
+        }
+
+        assertThat(summary()).isEqualTo(context.getPlaceholder())
+    }
+
+    @Test
+    fun listModelGetSummary_disabled() {
         val listModel = AllAppListModel(context) { stateOf(SUMMARY) }
         val disabledApp = ApplicationInfo().apply {
             packageName = PACKAGE_NAME
@@ -151,32 +175,95 @@
             enabled = false
         }
 
-        lateinit var summaryState: State<String>
+        lateinit var summary: () -> String
         composeTestRule.setContent {
-            summaryState =
+            summary =
                 listModel.getSummary(option = 0, record = AppRecordWithSize(app = disabledApp))
         }
 
-        assertThat(summaryState.value).isEqualTo("$SUMMARY${System.lineSeparator()}Disabled")
+        assertThat(summary()).isEqualTo("$SUMMARY${System.lineSeparator()}Disabled")
     }
 
     @Test
-    fun allAppListModel_getSummaryWhenNotInstalled() {
+    fun listModelGetSummary_emptyStorageAndDisabled() {
+        val listModel = AllAppListModel(context) { stateOf("") }
+        val disabledApp = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            flags = ApplicationInfo.FLAG_INSTALLED
+            enabled = false
+        }
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary =
+                listModel.getSummary(option = 0, record = AppRecordWithSize(app = disabledApp))
+        }
+
+        assertThat(summary())
+            .isEqualTo(context.getString(com.android.settingslib.R.string.disabled))
+    }
+
+    @Test
+    fun listModelGetSummary_notInstalled() {
         val listModel = AllAppListModel(context) { stateOf(SUMMARY) }
         val notInstalledApp = ApplicationInfo().apply {
             packageName = PACKAGE_NAME
         }
 
-        lateinit var summaryState: State<String>
+        lateinit var summary: () -> String
         composeTestRule.setContent {
-            summaryState =
+            summary =
                 listModel.getSummary(option = 0, record = AppRecordWithSize(app = notInstalledApp))
         }
 
-        assertThat(summaryState.value)
+        assertThat(summary())
             .isEqualTo("$SUMMARY${System.lineSeparator()}Not installed for this user")
     }
 
+    @Test
+    fun allAppListModel_archivedApp() {
+        val app = mock<ApplicationInfo> {
+            on { loadUnbadgedIcon(any()) } doReturn UNBADGED_ICON
+            on { loadLabel(any()) } doReturn LABEL
+        }
+        app.isArchived = true
+        packageManager.stub {
+            on {
+                getApplicationInfoAsUser(PACKAGE_NAME, 0, USER_ID)
+            } doReturn app
+        }
+        composeTestRule.setContent {
+            fakeNavControllerWrapper.Wrapper {
+                with(AllAppListModel(context)) {
+                    AppListItemModel(
+                        record = AppRecordWithSize(app = app),
+                        label = LABEL,
+                        summary = { SUMMARY },
+                    ).AppItem()
+                }
+            }
+        }
+
+        composeTestRule.onNodeWithText(LABEL).assertIsDisplayed()
+    }
+
+    @Test
+    fun allAppListModel_getSummaryWhenArchived() {
+        val listModel = AllAppListModel(context) { stateOf(SUMMARY) }
+        val archivedApp = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = true
+        }
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary =
+                listModel.getSummary(option = 0, record = AppRecordWithSize(app = archivedApp))
+        }
+
+        assertThat(summary()).isEqualTo(SUMMARY)
+    }
+
     private fun getAppListInput(): AppListInput<AppRecordWithSize> {
         lateinit var input: AppListInput<AppRecordWithSize>
         composeTestRule.setContent {
@@ -196,7 +283,7 @@
                     AppListItemModel(
                         record = AppRecordWithSize(app = APP),
                         label = LABEL,
-                        summary = stateOf(SUMMARY),
+                        summary = { SUMMARY },
                     ).AppItem()
                 }
             }
@@ -208,6 +295,7 @@
         const val PACKAGE_NAME = "package.name"
         const val LABEL = "Label"
         const val SUMMARY = "Summary"
+        val UNBADGED_ICON = mock<Drawable>()
         val APP = ApplicationInfo().apply {
             packageName = PACKAGE_NAME
             flags = ApplicationInfo.FLAG_INSTALLED
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/ResetAppPreferencesTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/ResetAppPreferencesTest.kt
index ffd5831..b63c281 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/ResetAppPreferencesTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/ResetAppPreferencesTest.kt
@@ -45,7 +45,7 @@
     }
 
     private fun setResetAppPreferences() {
-        val fakeMoreOptionsScope = object : MoreOptionsScope {
+        val fakeMoreOptionsScope = object : MoreOptionsScope() {
             override fun dismiss() {}
         }
         composeTestRule.setContent {
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/WifiControlAppListModelTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/WifiControlAppListModelTest.kt
index c5c48f5..537764a 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/WifiControlAppListModelTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/WifiControlAppListModelTest.kt
@@ -18,13 +18,9 @@
 
 import android.Manifest
 import android.app.AppOpsManager
-import android.app.AppOpsManager.MODE_ALLOWED
-import android.app.AppOpsManager.MODE_DEFAULT
 import android.content.Context
 import android.content.pm.ApplicationInfo
-import androidx.compose.runtime.State
 import androidx.compose.ui.test.junit4.createComposeRule
-import androidx.lifecycle.MutableLiveData
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
@@ -40,9 +36,9 @@
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.Mock
-import org.mockito.Mockito.`when` as whenever
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
 
 @ExperimentalCoroutinesApi
 @RunWith(AndroidJUnit4::class)
@@ -248,9 +244,9 @@
     }
 
     private fun getIsAllowed(record: AppOpPermissionRecord): Boolean? {
-        lateinit var isAllowedState: State<Boolean?>
+        lateinit var isAllowedState: () -> Boolean?
         composeTestRule.setContent { isAllowedState = listModel.isAllowed(record) }
-        return isAllowedState.value
+        return isAllowedState()
     }
 
     private companion object {
@@ -273,7 +269,7 @@
 private class FakeAppOpsController(private val fakeMode: Int) : IAppOpsController {
     var setAllowedCalledWith: Boolean? = null
 
-    override val mode = MutableLiveData(fakeMode)
+    override val mode = flowOf(fakeMode)
 
     override fun setAllowed(allowed: Boolean) {
         setAllowedCalledWith = allowed
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt
index dd5b929..15fe091 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppPreferenceTest.kt
@@ -22,6 +22,8 @@
 import android.content.pm.LauncherApps
 import android.content.pm.PackageManager
 import android.provider.DeviceConfig.NAMESPACE_WINDOW_MANAGER
+import android.view.WindowManager.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE
+import android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE
 import android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE
 import androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.platform.LocalContext
@@ -96,6 +98,8 @@
         whenever(launcherApps.getActivityList(anyString(), any())).thenReturn(launcherActivities)
         // True is ignored but need this here or getBoolean will complain null object
         mockProperty(PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE, true)
+        mockProperty(PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE, true)
+        mockProperty(PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE, true)
     }
 
     @After
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt
index 1126cc5..dfacca8 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appcompat/UserAspectRatioAppsPageProviderTest.kt
@@ -21,7 +21,6 @@
 import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN
 import android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET
 import android.os.Build
-import androidx.compose.runtime.State
 import androidx.compose.ui.test.assertIsDisplayed
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.compose.ui.test.onNodeWithText
@@ -29,12 +28,10 @@
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.testutils.FakeNavControllerWrapper
 import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
 import com.android.settingslib.spaprivileged.template.app.AppListItemModel
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
 import org.junit.Rule
@@ -105,7 +102,6 @@
         composeTestRule.onNodeWithText(LABEL).assertIsDisplayed()
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun aspectRatioAppListModel_transform() = runTest {
         val listModel = UserAspectRatioAppListModel(context)
@@ -116,7 +112,6 @@
         assertThat(recordList[0].app).isSameInstanceAs(APP)
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun aspectRatioAppListModel_filter() = runTest {
         val listModel = UserAspectRatioAppListModel(context)
@@ -135,7 +130,7 @@
                     AppListItemModel(
                         record = APP_RECORD_SUGGESTED,
                         label = LABEL,
-                        summary = stateOf(SUMMARY)
+                        summary = { SUMMARY }
                     ).AppItem()
                 }
             }
@@ -144,23 +139,23 @@
 
     @Test
     fun aspectRatioAppListModel_getSummaryDefault() {
-        val summaryState = setSummaryState(USER_MIN_ASPECT_RATIO_UNSET)
-        assertThat(summaryState.value)
-            .isEqualTo(context.getString(R.string.user_aspect_ratio_app_default))
+        val summary = getSummary(USER_MIN_ASPECT_RATIO_UNSET)
+
+        assertThat(summary).isEqualTo(context.getString(R.string.user_aspect_ratio_app_default))
     }
 
     @Test
     fun aspectRatioAppListModel_getSummaryWhenSplitScreen() {
-        val summaryState = setSummaryState(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN)
-        assertThat(summaryState.value)
-            .isEqualTo(context.getString(R.string.user_aspect_ratio_half_screen))
+        val summary = getSummary(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN)
+
+        assertThat(summary).isEqualTo(context.getString(R.string.user_aspect_ratio_half_screen))
     }
 
-    private fun setSummaryState(userOverride: Int): State<String> {
+    private fun getSummary(userOverride: Int): String {
         val listModel = UserAspectRatioAppListModel(context)
-        lateinit var summaryState: State<String>
+        lateinit var summary: () -> String
         composeTestRule.setContent {
-            summaryState = listModel.getSummary(option = 0,
+            summary = listModel.getSummary(option = 0,
                 record = UserAspectRatioAppListItemModel(
                     app = APP,
                     userOverride = userOverride,
@@ -168,7 +163,7 @@
                     canDisplay = true,
                 ))
         }
-        return summaryState
+        return summary()
     }
 
 
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppArchiveButtonTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppArchiveButtonTest.kt
new file mode 100644
index 0000000..2afb3f1
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppArchiveButtonTest.kt
@@ -0,0 +1,156 @@
+/*
+ * 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.spa.app.appinfo
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageInstaller
+import android.content.pm.PackageManager
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.CloudUpload
+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.testutils.delay
+import com.android.settingslib.spa.widget.button.ActionButton
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.MutableStateFlow
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class AppArchiveButtonTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+    private val packageInfoPresenter = mock<PackageInfoPresenter>()
+
+    private val userPackageManager = mock<PackageManager>()
+
+    private val packageInstaller = mock<PackageInstaller>()
+
+    private val isHibernationSwitchEnabledStateFlow = MutableStateFlow(true)
+
+    private lateinit var appArchiveButton: AppArchiveButton
+
+    @Before
+    fun setUp() {
+        whenever(packageInfoPresenter.context).thenReturn(context)
+        whenever(packageInfoPresenter.userPackageManager).thenReturn(userPackageManager)
+        whenever(userPackageManager.packageInstaller).thenReturn(packageInstaller)
+        whenever(userPackageManager.getApplicationLabel(any())).thenReturn(APP_LABEL)
+        whenever(packageInfoPresenter.packageName).thenReturn(PACKAGE_NAME)
+        appArchiveButton =
+            AppArchiveButton(packageInfoPresenter, isHibernationSwitchEnabledStateFlow)
+    }
+
+    @Test
+    fun appArchiveButton_whenIsArchived_isDisabled() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = true
+        }
+        whenever(userPackageManager.isAppArchivable(app.packageName)).thenReturn(true)
+
+        val actionButton = setContent(app)
+
+        assertThat(actionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun appArchiveButton_whenIsNotAppArchivable_isDisabled() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = false
+        }
+        whenever(userPackageManager.isAppArchivable(app.packageName)).thenReturn(false)
+
+        val actionButton = setContent(app)
+
+        assertThat(actionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun appArchiveButton_whenIsHibernationSwitchDisabled_isDisabled() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = false
+            flags = ApplicationInfo.FLAG_INSTALLED
+        }
+        whenever(userPackageManager.isAppArchivable(app.packageName)).thenReturn(true)
+        isHibernationSwitchEnabledStateFlow.value = false
+        val enabledActionButton = setContent(app)
+
+        assertThat(enabledActionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun appArchiveButton_displaysRightTextAndIcon() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = false
+        }
+        whenever(userPackageManager.isAppArchivable(app.packageName)).thenReturn(true)
+
+        val actionButton = setContent(app)
+
+        assertThat(actionButton.text).isEqualTo(context.getString(R.string.archive))
+        assertThat(actionButton.imageVector).isEqualTo(Icons.Outlined.CloudUpload)
+    }
+
+    @Test
+    fun appArchiveButton_clicked() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = false
+        }
+        whenever(userPackageManager.isAppArchivable(app.packageName)).thenReturn(true)
+
+        val actionButton = setContent(app)
+        actionButton.onClick()
+
+        verify(packageInstaller).requestArchive(
+            eq(PACKAGE_NAME),
+            any()
+        )
+    }
+
+    private fun setContent(app: ApplicationInfo): ActionButton {
+        lateinit var actionButton: ActionButton
+        composeTestRule.setContent {
+            actionButton = appArchiveButton.getActionButton(app)
+        }
+        composeTestRule.delay()
+        return actionButton
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+        const val APP_LABEL = "App label"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt
index a7a54e6..b7b96b0 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppBatteryPreferenceTest.kt
@@ -163,6 +163,8 @@
                 "10%",
                 null,
                 false,
+                null,
+                null
             )
         }
     }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonRepositoryTest.kt
index 49b60fb..1eb1a7f 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonRepositoryTest.kt
@@ -20,8 +20,11 @@
 import android.content.ComponentName
 import android.content.Context
 import android.content.pm.ActivityInfo
+import android.content.pm.ApplicationInfo
+import android.content.pm.Flags
 import android.content.pm.PackageManager
 import android.content.pm.ResolveInfo
+import android.platform.test.annotations.RequiresFlagsEnabled
 import androidx.core.os.bundleOf
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
@@ -126,9 +129,62 @@
         assertThat(homePackageInfo.homePackages).containsExactly(PACKAGE_NAME)
     }
 
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_IMPROVE_HOME_APP_BEHAVIOR)
+    fun uninstallDisallowedDueToHomeApp_isNotSystemAndIsCurrentHomeAndHasOnlyOneHomeApp() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+
+        mockGetHomeActivities(
+            homeActivities = listOf(RESOLVE_INFO),
+            currentDefaultHome = COMPONENT_NAME,
+        )
+
+        val value = appButtonRepository.uninstallDisallowedDueToHomeApp(app)
+
+        assertThat(value).isTrue()
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_IMPROVE_HOME_APP_BEHAVIOR)
+    fun uninstallDisallowedDueToHomeApp_isNotSystemAndIsCurrentHomeAndHasOtherHomeApps() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+
+        mockGetHomeActivities(
+            homeActivities = listOf(RESOLVE_INFO, RESOLVE_INFO_FAKE),
+            currentDefaultHome = COMPONENT_NAME,
+        )
+
+        val value = appButtonRepository.uninstallDisallowedDueToHomeApp(app)
+
+        assertThat(value).isFalse()
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_IMPROVE_HOME_APP_BEHAVIOR)
+    fun uninstallDisallowedDueToHomeApp_isSystemAndIsCurrentHomeAndHasOtherHomeApps() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            flags = ApplicationInfo.FLAG_SYSTEM
+        }
+
+        mockGetHomeActivities(
+            homeActivities = listOf(RESOLVE_INFO, RESOLVE_INFO_FAKE),
+            currentDefaultHome = COMPONENT_NAME,
+        )
+
+        val value = appButtonRepository.uninstallDisallowedDueToHomeApp(app)
+
+        assertThat(value).isTrue()
+    }
+
     private companion object {
         const val PACKAGE_NAME = "packageName"
         const val PACKAGE_NAME_ALTERNATE = "packageName.alternate"
+        const val PACKAGE_NAME_FAKE = "packageName.fake"
         const val ACTIVITY_NAME = "activityName"
         val COMPONENT_NAME = ComponentName(PACKAGE_NAME, ACTIVITY_NAME)
         val RESOLVE_INFO = ResolveInfo().apply {
@@ -136,6 +192,11 @@
                 packageName = PACKAGE_NAME
             }
         }
+        val RESOLVE_INFO_FAKE = ResolveInfo().apply {
+            activityInfo = ActivityInfo().apply {
+                packageName = PACKAGE_NAME_FAKE
+            }
+        }
         val RESOLVE_INFO_WITH_ALTERNATE = ResolveInfo().apply {
             activityInfo = ActivityInfo().apply {
                 packageName = PACKAGE_NAME
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonsTest.kt
index 8faf5c9..69acee8 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonsTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppButtonsTest.kt
@@ -17,16 +17,25 @@
 package com.android.settings.spa.app.appinfo
 
 import android.content.Context
+import android.content.Intent
 import android.content.pm.ApplicationInfo
+import android.content.pm.FakeFeatureFlagsImpl
+import android.content.pm.Flags
 import android.content.pm.PackageInfo
+import android.content.pm.PackageInstaller
 import android.content.pm.PackageManager
+import android.platform.test.flag.junit.SetFlagsRule
 import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsEnabled
 import androidx.compose.ui.test.assertIsNotDisplayed
 import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.onRoot
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.settings.R
+import com.android.settings.flags.Flags as SettingsFlags
 import com.android.settingslib.applications.AppUtils
 import com.android.settingslib.spa.testutils.delay
 import kotlinx.coroutines.flow.MutableStateFlow
@@ -38,6 +47,7 @@
 import org.mockito.Mock
 import org.mockito.MockitoSession
 import org.mockito.Spy
+import org.mockito.kotlin.any
 import org.mockito.quality.Strictness
 import org.mockito.Mockito.`when` as whenever
 
@@ -46,6 +56,8 @@
     @get:Rule
     val composeTestRule = createComposeRule()
 
+    @get:Rule val setFlagsRule: SetFlagsRule = SetFlagsRule()
+
     private lateinit var mockSession: MockitoSession
 
     @Spy
@@ -57,6 +69,12 @@
     @Mock
     private lateinit var packageManager: PackageManager
 
+    @Mock
+    private lateinit var packageInstaller: PackageInstaller
+
+    private val featureFlags = FakeFeatureFlagsImpl()
+    private val isHibernationSwitchEnabledStateFlow = MutableStateFlow(true)
+
     @Before
     fun setUp() {
         mockSession = ExtendedMockito.mockitoSession()
@@ -67,8 +85,11 @@
         whenever(packageInfoPresenter.context).thenReturn(context)
         whenever(packageInfoPresenter.packageName).thenReturn(PACKAGE_NAME)
         whenever(packageInfoPresenter.userPackageManager).thenReturn(packageManager)
+        whenever(packageManager.getApplicationLabel(any())).thenReturn(APP_LABEL)
+        whenever(packageManager.packageInstaller).thenReturn(packageInstaller)
         whenever(packageManager.getPackageInfo(PACKAGE_NAME, 0)).thenReturn(PACKAGE_INFO)
         whenever(AppUtils.isMainlineModule(packageManager, PACKAGE_NAME)).thenReturn(false)
+        featureFlags.setFlag(Flags.FLAG_ARCHIVING, true)
     }
 
     @After
@@ -92,10 +113,79 @@
         composeTestRule.onRoot().assertIsDisplayed()
     }
 
-    private fun setContent() {
-        whenever(packageInfoPresenter.flow).thenReturn(MutableStateFlow(PACKAGE_INFO))
+    @Test
+    fun launchButton_displayed_archivingDisabled() {
+        whenever(packageManager.getLaunchIntentForPackage(PACKAGE_NAME)).thenReturn(Intent())
+        featureFlags.setFlag(Flags.FLAG_ARCHIVING, false)
+        setFlagsRule.disableFlags(SettingsFlags.FLAG_APP_ARCHIVING)
+        setContent()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.launch_instant_app))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun launchButton_notDisplayed_archivingEnabled() {
+        whenever(packageManager.getLaunchIntentForPackage(PACKAGE_NAME)).thenReturn(Intent())
+        featureFlags.setFlag(Flags.FLAG_ARCHIVING, true)
+        setContent()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.launch_instant_app))
+            .assertIsNotDisplayed()
+    }
+
+    @Test
+    fun uninstallButton_enabled_whenAppIsArchived() {
+        whenever(packageManager.getLaunchIntentForPackage(PACKAGE_NAME)).thenReturn(Intent())
+        featureFlags.setFlag(Flags.FLAG_ARCHIVING, true)
+        val packageInfo = PackageInfo().apply {
+            applicationInfo = ApplicationInfo().apply {
+                packageName = PACKAGE_NAME
+                isArchived = true
+            }
+            packageName = PACKAGE_NAME
+        }
+        setContent(packageInfo)
+
+        composeTestRule.onNodeWithText(context.getString(R.string.uninstall_text)).assertIsEnabled()
+    }
+
+    @Test
+    fun archiveButton_displayed_whenAppIsNotArchived() {
+        featureFlags.setFlag(Flags.FLAG_ARCHIVING, true)
+        val packageInfo = PackageInfo().apply {
+            applicationInfo = ApplicationInfo().apply {
+                packageName = PACKAGE_NAME
+                isArchived = false
+            }
+            packageName = PACKAGE_NAME
+        }
+        setContent(packageInfo)
+
+        composeTestRule.onNodeWithText(context.getString(R.string.archive)).assertIsDisplayed()
+        composeTestRule.onNodeWithText(context.getString(R.string.restore)).assertIsNotDisplayed()
+    }
+
+    @Test
+    fun restoreButton_displayed_whenAppIsArchived() {
+        featureFlags.setFlag(Flags.FLAG_ARCHIVING, true)
+        val packageInfo = PackageInfo().apply {
+            applicationInfo = ApplicationInfo().apply {
+                packageName = PACKAGE_NAME
+                isArchived = true
+            }
+            packageName = PACKAGE_NAME
+        }
+        setContent(packageInfo)
+
+        composeTestRule.onNodeWithText(context.getString(R.string.restore)).assertIsDisplayed()
+        composeTestRule.onNodeWithText(context.getString(R.string.archive)).assertIsNotDisplayed()
+    }
+
+    private fun setContent(packageInfo: PackageInfo = PACKAGE_INFO) {
+        whenever(packageInfoPresenter.flow).thenReturn(MutableStateFlow(packageInfo))
         composeTestRule.setContent {
-            AppButtons(packageInfoPresenter)
+            AppButtons(packageInfoPresenter, isHibernationSwitchEnabledStateFlow, featureFlags)
         }
 
         composeTestRule.delay()
@@ -103,6 +193,7 @@
 
     private companion object {
         const val PACKAGE_NAME = "package.name"
+        const val APP_LABEL = "App label"
         val PACKAGE_INFO = PackageInfo().apply {
             applicationInfo = ApplicationInfo().apply {
                 packageName = PACKAGE_NAME
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDataUsagePreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDataUsagePreferenceTest.kt
index 019c143..f70f5d5 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDataUsagePreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppDataUsagePreferenceTest.kt
@@ -38,8 +38,9 @@
 import com.android.settings.Utils
 import com.android.settings.applications.appinfo.AppInfoDashboardFragment
 import com.android.settings.datausage.AppDataUsage
-import com.android.settingslib.net.NetworkCycleDataForUid
-import com.android.settingslib.net.NetworkCycleDataForUidLoader
+import com.android.settings.datausage.lib.IAppDataUsageSummaryRepository
+import com.android.settings.datausage.lib.INetworkTemplates
+import com.android.settings.datausage.lib.NetworkUsageData
 import com.android.settingslib.spa.testutils.delay
 import com.android.settingslib.spa.testutils.waitUntilExists
 import org.junit.After
@@ -47,11 +48,7 @@
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.Mock
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.verify
 import org.mockito.MockitoSession
-import org.mockito.Spy
 import org.mockito.quality.Strictness
 import org.mockito.Mockito.`when` as whenever
 
@@ -62,28 +59,26 @@
 
     private lateinit var mockSession: MockitoSession
 
-    @Spy
     private val context: Context = ApplicationProvider.getApplicationContext()
 
-    @Mock
-    private lateinit var builder: NetworkCycleDataForUidLoader.Builder<NetworkCycleDataForUidLoader>
+    private var networkUsageData: NetworkUsageData? = null
 
-    @Mock
-    private lateinit var loader: NetworkCycleDataForUidLoader
+    private inner class TestRepository : IAppDataUsageSummaryRepository {
+        override suspend fun querySummary(uid: Int): NetworkUsageData? = when (uid) {
+            UID -> networkUsageData
+            else -> null
+        }
+    }
 
     @Before
     fun setUp() {
         mockSession = mockitoSession()
             .initMocks(this)
             .mockStatic(Utils::class.java)
-            .mockStatic(NetworkCycleDataForUidLoader::class.java)
-            .mockStatic(NetworkTemplate::class.java)
             .mockStatic(AppInfoDashboardFragment::class.java)
             .strictness(Strictness.LENIENT)
             .startMocking()
         whenever(Utils.isBandwidthControlEnabled()).thenReturn(true)
-        whenever(NetworkCycleDataForUidLoader.builder(context)).thenReturn(builder)
-        whenever(builder.build()).thenReturn(loader)
     }
 
     @After
@@ -106,7 +101,7 @@
 
         setContent(notInstalledApp)
 
-        composeTestRule.onNodeWithText(context.getString(R.string.data_usage_app_summary_title))
+        composeTestRule.onNodeWithText(context.getString(R.string.cellular_data_usage))
             .assertIsDisplayed()
             .assertIsNotEnabled()
     }
@@ -115,22 +110,14 @@
     fun whenAppInstalled_enabled() {
         setContent(APP)
 
-        composeTestRule.onNodeWithText(context.getString(R.string.data_usage_app_summary_title))
+        composeTestRule.onNodeWithText(context.getString(R.string.cellular_data_usage))
             .assertIsDisplayed()
             .assertIsEnabled()
     }
 
     @Test
-    fun setCorrectValuesForBuilder() {
-        setContent()
-
-        verify(builder).setRetrieveDetail(false)
-        verify(builder).addUid(UID)
-    }
-
-    @Test
     fun whenNoDataUsage() {
-        whenever(loader.loadInBackground()).thenReturn(emptyList())
+        networkUsageData = null
 
         setContent()
 
@@ -139,10 +126,11 @@
 
     @Test
     fun whenHasDataUsage() {
-        val cycleData = mock(NetworkCycleDataForUid::class.java)
-        whenever(cycleData.totalUsage).thenReturn(123)
-        whenever(cycleData.startTime).thenReturn(1666666666666)
-        whenever(loader.loadInBackground()).thenReturn(listOf(cycleData))
+        networkUsageData = NetworkUsageData(
+            startTime = 1666666666666L,
+            endTime = 1666666666666L,
+            usage = 123L,
+        )
 
         setContent()
 
@@ -151,8 +139,6 @@
 
     @Test
     fun whenClick_startActivity() {
-        whenever(loader.loadInBackground()).thenReturn(emptyList())
-
         setContent()
         composeTestRule.onRoot().performClick()
 
@@ -169,14 +155,21 @@
     private fun setContent(app: ApplicationInfo = APP) {
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
-                AppDataUsagePreference(app)
+                AppDataUsagePreference(app, TestNetworkTemplates) { _, _ ->
+                    TestRepository()
+                }
             }
         }
         composeTestRule.delay()
     }
 
+    private object TestNetworkTemplates : INetworkTemplates {
+        override fun getDefaultTemplate(context: Context): NetworkTemplate =
+            NetworkTemplate.Builder(NetworkTemplate.MATCH_MOBILE).build()
+    }
+
     private companion object {
-        const val PACKAGE_NAME = "packageName"
+        const val PACKAGE_NAME = "package.name"
         const val UID = 123
         val APP = ApplicationInfo().apply {
             packageName = PACKAGE_NAME
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt
index c093863..84d6651 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppForceStopButtonTest.kt
@@ -17,79 +17,82 @@
 package com.android.settings.spa.app.appinfo
 
 import android.app.admin.DevicePolicyManager
+import android.content.ComponentName
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
+import android.os.UserHandle
+import android.os.UserManager
+import androidx.compose.material3.Button
+import androidx.compose.material3.Text
+import androidx.compose.ui.test.assertIsEnabled
+import androidx.compose.ui.test.assertIsNotEnabled
 import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
-import com.android.settingslib.spa.widget.button.ActionButton
+import com.android.settings.R
+import com.android.settingslib.spa.testutils.delay
 import com.android.settingslib.spaprivileged.framework.common.devicePolicyManager
 import com.android.settingslib.spaprivileged.model.app.userId
 import com.google.common.truth.Truth.assertThat
-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.mockito.Mockito.`when` as whenever
+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 AppForceStopButtonTest {
     @get:Rule
     val composeTestRule = createComposeRule()
 
-    @get:Rule
-    val mockito: MockitoRule = MockitoJUnit.rule()
+    private val mockPackageManager = mock<PackageManager>()
 
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val mockDevicePolicyManager = mock<DevicePolicyManager>()
 
-    @Mock
-    private lateinit var packageInfoPresenter: PackageInfoPresenter
-
-    @Mock
-    private lateinit var packageManager: PackageManager
-
-    @Mock
-    private lateinit var devicePolicyManager: DevicePolicyManager
-
-    private lateinit var appForceStopButton: AppForceStopButton
-
-    @Before
-    fun setUp() {
-        whenever(packageInfoPresenter.context).thenReturn(context)
-        whenever(context.packageManager).thenReturn(packageManager)
-        whenever(context.devicePolicyManager).thenReturn(devicePolicyManager)
-        appForceStopButton = AppForceStopButton(packageInfoPresenter)
+    private val mockUserManager = mock<UserManager> {
+        on { getUserRestrictionSources(any(), any()) } doReturn emptyList()
     }
 
-    @Test
-    fun getActionButton() {
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn mockPackageManager
+        on { devicePolicyManager } doReturn mockDevicePolicyManager
+        on { getSystemService(Context.DEVICE_POLICY_SERVICE) } doReturn mockDevicePolicyManager
+        on { getSystemService(Context.USER_SERVICE) } doReturn mockUserManager
     }
 
+    private val packageInfoPresenter = mock<PackageInfoPresenter> {
+        on { context } doReturn context
+    }
+
+    private val appForceStopButton = AppForceStopButton(packageInfoPresenter)
+
     @Test
     fun getActionButton_isActiveAdmin_buttonDisabled() {
         val app = createApp()
-        whenever(devicePolicyManager.packageHasActiveAdmins(PACKAGE_NAME, app.userId))
-            .thenReturn(true)
+        mockDevicePolicyManager.stub {
+            on { packageHasActiveAdmins(PACKAGE_NAME, app.userId) } doReturn true
+        }
 
-        val actionButton = setForceStopButton(app)
+        setForceStopButton(app)
 
-        assertThat(actionButton.enabled).isFalse()
+        composeTestRule.onNodeWithText(context.getString(R.string.force_stop)).assertIsNotEnabled()
     }
 
     @Test
     fun getActionButton_isUninstallInQueue_buttonDisabled() {
         val app = createApp()
-        whenever(devicePolicyManager.isUninstallInQueue(PACKAGE_NAME)).thenReturn(true)
+        mockDevicePolicyManager.stub {
+            on { isUninstallInQueue(PACKAGE_NAME) } doReturn true
+        }
 
-        val actionButton = setForceStopButton(app)
+        setForceStopButton(app)
 
-        assertThat(actionButton.enabled).isFalse()
+        composeTestRule.onNodeWithText(context.getString(R.string.force_stop)).assertIsNotEnabled()
     }
 
     @Test
@@ -98,35 +101,79 @@
             flags = ApplicationInfo.FLAG_STOPPED
         }
 
-        val actionButton = setForceStopButton(app)
+        setForceStopButton(app)
 
-        assertThat(actionButton.enabled).isFalse()
+        composeTestRule.onNodeWithText(context.getString(R.string.force_stop)).assertIsNotEnabled()
     }
 
     @Test
     fun getActionButton_regularApp_buttonEnabled() {
         val app = createApp()
 
-        val actionButton = setForceStopButton(app)
+        setForceStopButton(app)
 
-        assertThat(actionButton.enabled).isTrue()
+        composeTestRule.onNodeWithText(context.getString(R.string.force_stop)).assertIsEnabled()
     }
 
-    private fun setForceStopButton(app: ApplicationInfo): ActionButton {
-        lateinit var actionButton: ActionButton
-        composeTestRule.setContent {
-            actionButton = appForceStopButton.getActionButton(app)
+    @Test
+    fun getAdminRestriction_packageNotProtected() {
+        mockPackageManager.stub {
+            on { isPackageStateProtected(PACKAGE_NAME, UserHandle.getUserId(UID)) } doReturn false
         }
-        return actionButton
+
+        val admin = appForceStopButton.getAdminRestriction(createApp())
+
+        assertThat(admin).isNull()
+    }
+
+    @Test
+    fun getAdminRestriction_packageProtectedAndHaveOwner() {
+        mockPackageManager.stub {
+            on { isPackageStateProtected(PACKAGE_NAME, UserHandle.getUserId(UID)) } doReturn true
+        }
+        mockDevicePolicyManager.stub {
+            on { deviceOwnerComponentOnAnyUser } doReturn DEVICE_OWNER
+        }
+
+        val admin = appForceStopButton.getAdminRestriction(createApp())!!
+
+        assertThat(admin.component).isEqualTo(DEVICE_OWNER)
+    }
+
+    @Test
+    fun getAdminRestriction_packageProtectedAndNotHaveOwner() {
+        mockPackageManager.stub {
+            on { isPackageStateProtected(PACKAGE_NAME, UserHandle.getUserId(UID)) } doReturn true
+        }
+        mockDevicePolicyManager.stub {
+            on { deviceOwnerComponentOnAnyUser } doReturn null
+        }
+
+        val admin = appForceStopButton.getAdminRestriction(createApp())!!
+
+        assertThat(admin.component).isNull()
+    }
+
+    private fun setForceStopButton(app: ApplicationInfo) {
+        composeTestRule.setContent {
+            val actionButton = appForceStopButton.getActionButton(app)
+            Button(onClick = {}, enabled = actionButton.enabled) {
+                Text(actionButton.text)
+            }
+        }
+        composeTestRule.delay()
     }
 
     private fun createApp(builder: ApplicationInfo.() -> Unit = {}) =
         ApplicationInfo().apply {
             packageName = PACKAGE_NAME
+            uid = UID
             enabled = true
         }.apply(builder)
 
     private companion object {
         const val PACKAGE_NAME = "package.name"
+        const val UID = 10000
+        val DEVICE_OWNER = ComponentName("device", "Owner")
     }
-}
\ No newline at end of file
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptionsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptionsTest.kt
index 7103516..9e7ec9b 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptionsTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppInfoSettingsMoreOptionsTest.kt
@@ -19,11 +19,16 @@
 import android.app.AppOpsManager
 import android.app.KeyguardManager
 import android.app.admin.DevicePolicyManager
+import android.app.ecm.EnhancedConfirmationManager
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
 import android.content.pm.UserInfo
 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 androidx.compose.runtime.CompositionLocalProvider
 import androidx.compose.ui.platform.LocalContext
 import androidx.compose.ui.test.assertIsNotDisplayed
@@ -61,6 +66,9 @@
     @get:Rule
     val composeTestRule = createComposeRule()
 
+    @get:Rule
+    val checkFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private lateinit var mockSession: MockitoSession
 
     @Spy
@@ -82,6 +90,9 @@
     private lateinit var appOpsManager: AppOpsManager
 
     @Mock
+    private lateinit var enhancedConfirmationManager: EnhancedConfirmationManager
+
+    @Mock
     private lateinit var keyguardManager: KeyguardManager
 
     @Spy
@@ -103,6 +114,8 @@
         whenever(context.devicePolicyManager).thenReturn(devicePolicyManager)
         whenever(context.appOpsManager).thenReturn(appOpsManager)
         whenever(context.getSystemService(KeyguardManager::class.java)).thenReturn(keyguardManager)
+        whenever(context.getSystemService(EnhancedConfirmationManager::class.java))
+                .thenReturn(enhancedConfirmationManager)
         whenever(keyguardManager.isKeyguardSecure).thenReturn(false)
         whenever(Utils.isProfileOrDeviceOwner(userManager, devicePolicyManager, PACKAGE_NAME))
             .thenReturn(false)
@@ -158,7 +171,9 @@
     }
 
     @Test
-    fun shouldShowAccessRestrictedSettings() {
+    @RequiresFlagsDisabled(android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
+        android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED)
+    fun shouldShowAccessRestrictedSettings_appOp() {
         whenever(
             appOpsManager.noteOpNoThrow(
                 AppOpsManager.OP_ACCESS_RESTRICTED_SETTINGS, UID, PACKAGE_NAME, null, null
@@ -186,6 +201,31 @@
         )
     }
 
+    @Test
+    @RequiresFlagsEnabled(android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS,
+        android.permission.flags.Flags.FLAG_ENHANCED_CONFIRMATION_MODE_APIS_ENABLED)
+    fun shouldShowAccessRestrictedSettings() {
+        whenever(
+            enhancedConfirmationManager.isClearRestrictionAllowed(PACKAGE_NAME)
+        ).thenReturn(true)
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            uid = UID
+        }
+
+        setContent(app)
+        composeTestRule.onRoot().performClick()
+
+        composeTestRule.waitUntilExists(
+            hasText(context.getString(R.string.app_restricted_settings_lockscreen_title))
+        )
+        composeTestRule
+            .onNodeWithText(context
+                .getString(R.string.app_restricted_settings_lockscreen_title))
+            .performClick()
+        verify(enhancedConfirmationManager).clearRestriction(PACKAGE_NAME)
+    }
+
     private fun setContent(app: ApplicationInfo) {
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
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 53a1868..31722c9 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
@@ -19,19 +19,15 @@
 import android.content.Context
 import android.content.Intent
 import android.content.pm.ApplicationInfo
-import android.os.UserManager
 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.isNotEnabled
 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.compose.ui.test.printToLog
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession
@@ -39,23 +35,22 @@
 import com.android.settings.Utils
 import com.android.settings.applications.AppStoreUtil
 import com.android.settingslib.applications.AppUtils
+import com.android.settingslib.spa.testutils.delay
 import com.android.settingslib.spa.testutils.waitUntilExists
-import com.android.settingslib.spaprivileged.framework.common.userManager
 import com.android.settingslib.spaprivileged.model.app.userHandle
 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.any
-import org.mockito.Mockito.anyInt
-import org.mockito.Mockito.eq
-import org.mockito.Mockito.verify
 import org.mockito.MockitoSession
-import org.mockito.Spy
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 import org.mockito.quality.Strictness
-import org.mockito.Mockito.`when` as whenever
 
 @RunWith(AndroidJUnit4::class)
 class AppInstallerInfoPreferenceTest {
@@ -64,11 +59,9 @@
 
     private lateinit var mockSession: MockitoSession
 
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
-
-    @Mock
-    private lateinit var userManager: UserManager
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivityAsUser(any(), any())
+    }
 
     @Before
     fun setUp() {
@@ -79,16 +72,13 @@
             .mockStatic(AppUtils::class.java)
             .strictness(Strictness.LENIENT)
             .startMocking()
-        whenever(context.userManager).thenReturn(userManager)
-        whenever(userManager.isManagedProfile(anyInt())).thenReturn(false)
         whenever(AppStoreUtil.getInstallerPackageName(any(), eq(PACKAGE_NAME)))
             .thenReturn(INSTALLER_PACKAGE_NAME)
         whenever(AppStoreUtil.getAppStoreLink(context, INSTALLER_PACKAGE_NAME, PACKAGE_NAME))
             .thenReturn(STORE_LINK)
         whenever(Utils.getApplicationLabel(context, INSTALLER_PACKAGE_NAME))
             .thenReturn(INSTALLER_PACKAGE_LABEL)
-        whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME)))
-            .thenReturn(false)
+        whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME))).thenReturn(false)
     }
 
     @After
@@ -115,15 +105,6 @@
     }
 
     @Test
-    fun whenIsManagedProfile_notDisplayed() {
-        whenever(userManager.isManagedProfile(anyInt())).thenReturn(true)
-
-        setContent()
-
-        composeTestRule.onRoot().assertIsNotDisplayed()
-    }
-
-    @Test
     fun whenIsMainlineModule_notDisplayed() {
         whenever(AppUtils.isMainlineModule(any(), eq(PACKAGE_NAME))).thenReturn(true)
 
@@ -138,9 +119,8 @@
             .thenReturn(null)
 
         setContent()
-        waitUntilDisplayed()
 
-        composeTestRule.onNode(preferenceNode).assertIsNotEnabled()
+        composeTestRule.waitUntilExists(preferenceNode.and(isNotEnabled()))
     }
 
     @Test
@@ -152,30 +132,25 @@
         }
 
         setContent(instantApp)
-        waitUntilDisplayed()
 
-        composeTestRule.onRoot().printToLog("AAA")
-        composeTestRule.onNodeWithText("More info on installer label")
-            .assertIsDisplayed()
-            .assertIsEnabled()
+        composeTestRule.waitUntilExists(hasText("More info on installer label").and(isEnabled()))
     }
 
     @Test
     fun whenNotInstantApp() {
         setContent()
-        waitUntilDisplayed()
 
-        composeTestRule.onRoot().printToLog("AAA")
-        composeTestRule.onNodeWithText("App installed from installer label")
-            .assertIsDisplayed()
-            .assertIsEnabled()
+        composeTestRule.waitUntilExists(hasText("App installed from installer label"))
+        composeTestRule.waitUntilExists(preferenceNode.and(isEnabled()))
     }
 
     @Test
     fun whenClick_startActivity() {
         setContent()
-        waitUntilDisplayed()
+        composeTestRule.delay()
+
         composeTestRule.onRoot().performClick()
+        composeTestRule.delay()
 
         verify(context).startActivityAsUser(STORE_LINK, APP.userHandle)
     }
@@ -188,14 +163,10 @@
         }
     }
 
-    private fun waitUntilDisplayed() {
-        composeTestRule.waitUntilExists(preferenceNode)
-    }
-
     private val preferenceNode = hasText(context.getString(R.string.app_install_details_title))
 
     private companion object {
-        const val PACKAGE_NAME = "packageName"
+        const val PACKAGE_NAME = "package.name"
         const val INSTALLER_PACKAGE_NAME = "installer"
         const val INSTALLER_PACKAGE_LABEL = "installer label"
         val STORE_LINK = Intent("store/link")
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.kt
index 1646851..11d4b9a 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionPreferenceTest.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.
@@ -26,35 +26,32 @@
 import androidx.compose.ui.test.onNodeWithText
 import androidx.compose.ui.test.onRoot
 import androidx.compose.ui.test.performClick
-import androidx.lifecycle.MutableLiveData
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
 import com.android.settingslib.spa.testutils.delay
 import com.android.settingslib.spaprivileged.model.app.userHandle
 import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.flowOf
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mockito.any
-import org.mockito.Mockito.doNothing
-import org.mockito.Mockito.eq
-import org.mockito.Mockito.verify
-import org.mockito.Spy
-import org.mockito.junit.MockitoJUnit
-import org.mockito.junit.MockitoRule
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class AppPermissionPreferenceTest {
     @get:Rule
     val composeTestRule = createComposeRule()
 
-    @get:Rule
-    val mockito: MockitoRule = MockitoJUnit.rule()
-
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivityAsUser(any(), any())
+    }
 
     @Test
     fun title_display() {
@@ -66,15 +63,13 @@
 
     @Test
     fun whenClick_startActivity() {
-        doNothing().`when`(context).startActivityAsUser(any(), any())
-
         setContent()
         composeTestRule.onRoot().performClick()
         composeTestRule.delay()
 
-        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
-        verify(context).startActivityAsUser(intentCaptor.capture(), eq(APP.userHandle))
-        val intent = intentCaptor.value
+        val intent = argumentCaptor {
+            verify(context).startActivityAsUser(capture(), eq(APP.userHandle))
+        }.firstValue
         assertThat(intent.action).isEqualTo(Intent.ACTION_MANAGE_APP_PERMISSIONS)
         assertThat(intent.getStringExtra(Intent.EXTRA_PACKAGE_NAME)).isEqualTo(PACKAGE_NAME)
         assertThat(intent.getBooleanExtra(EXTRA_HIDE_INFO_BUTTON, false)).isEqualTo(true)
@@ -85,7 +80,7 @@
             CompositionLocalProvider(LocalContext provides context) {
                 AppPermissionPreference(
                     app = APP,
-                    summaryLiveData = MutableLiveData(
+                    summaryFlow = flowOf(
                         AppPermissionSummaryState(summary = SUMMARY, enabled = true)
                     ),
                 )
@@ -103,4 +98,4 @@
             packageName = PACKAGE_NAME
         }
     }
-}
\ No newline at end of file
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionSummaryTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionSummaryTest.kt
index c82da1a..0735e3b 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionSummaryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppPermissionSummaryTest.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 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.
@@ -19,7 +19,6 @@
 import android.content.Context
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
-import androidx.arch.core.executor.testing.InstantTaskExecutorRule
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.dx.mockito.inline.extended.ExtendedMockito.mockitoSession
@@ -27,50 +26,42 @@
 import com.android.settings.testutils.mockAsUser
 import com.android.settingslib.applications.PermissionsSummaryHelper
 import com.android.settingslib.applications.PermissionsSummaryHelper.PermissionsResultCallback
-import com.android.settingslib.spa.testutils.getOrAwaitValue
 import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.first
+import kotlinx.coroutines.runBlocking
 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.any
-import org.mockito.Mockito.doReturn
-import org.mockito.Mockito.eq
-import org.mockito.Mockito.never
-import org.mockito.Mockito.verify
 import org.mockito.MockitoSession
-import org.mockito.Spy
+import org.mockito.kotlin.any
+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
 import org.mockito.quality.Strictness
-import org.mockito.Mockito.`when` as whenever
 
 @RunWith(AndroidJUnit4::class)
 class AppPermissionSummaryTest {
-    @get:Rule
-    val instantTaskExecutorRule = InstantTaskExecutorRule()
 
     private lateinit var mockSession: MockitoSession
 
-    @Spy
-    private var context: Context = ApplicationProvider.getApplicationContext()
+    private val mockPackageManager = mock<PackageManager>()
 
-    @Mock
-    private lateinit var packageManager: PackageManager
+    private var context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        mock.mockAsUser()
+        on { packageManager } doReturn mockPackageManager
+    }
 
-    private lateinit var summaryLiveData: AppPermissionSummaryLiveData
+    private val summaryRepository = AppPermissionSummaryRepository(context, APP)
 
     @Before
     fun setUp() {
         mockSession = mockitoSession()
-            .initMocks(this)
             .mockStatic(PermissionsSummaryHelper::class.java)
             .strictness(Strictness.LENIENT)
             .startMocking()
-        context.mockAsUser()
-        whenever(context.packageManager).thenReturn(packageManager)
-
-        summaryLiveData = AppPermissionSummaryLiveData(context, APP)
     }
 
     private fun mockGetPermissionSummary(
@@ -95,22 +86,10 @@
     }
 
     @Test
-    fun permissionsChangeListener() {
-        mockGetPermissionSummary()
-
-        summaryLiveData.getOrAwaitValue {
-            verify(packageManager).addOnPermissionsChangeListener(any())
-            verify(packageManager, never()).removeOnPermissionsChangeListener(any())
-        }
-
-        verify(packageManager).removeOnPermissionsChangeListener(any())
-    }
-
-    @Test
-    fun summary_noPermissionsRequested() {
+    fun summary_noPermissionsRequested() = runBlocking {
         mockGetPermissionSummary(requestedPermissionCount = 0)
 
-        val (summary, enabled) = summaryLiveData.getOrAwaitValue()!!
+        val (summary, enabled) = summaryRepository.flow.first()
 
         assertThat(summary).isEqualTo(
             context.getString(R.string.runtime_permissions_summary_no_permissions_requested)
@@ -119,10 +98,10 @@
     }
 
     @Test
-    fun summary_noPermissionsGranted() {
+    fun summary_noPermissionsGranted() = runBlocking {
         mockGetPermissionSummary(requestedPermissionCount = 1, grantedGroupLabels = emptyList())
 
-        val (summary, enabled) = summaryLiveData.getOrAwaitValue()!!
+        val (summary, enabled) = summaryRepository.flow.first()
 
         assertThat(summary).isEqualTo(
             context.getString(R.string.runtime_permissions_summary_no_permissions_granted)
@@ -131,34 +110,34 @@
     }
 
     @Test
-    fun onPermissionSummaryResult_hasRuntimePermission_shouldSetPermissionAsSummary() {
+    fun summary_hasRuntimePermission_usePermissionAsSummary() = runBlocking {
         mockGetPermissionSummary(
             requestedPermissionCount = 1,
             grantedGroupLabels = listOf(PERMISSION),
         )
 
-        val (summary, enabled) = summaryLiveData.getOrAwaitValue()!!
+        val (summary, enabled) = summaryRepository.flow.first()
 
         assertThat(summary).isEqualTo(PERMISSION)
         assertThat(enabled).isTrue()
     }
 
     @Test
-    fun onPermissionSummaryResult_hasAdditionalPermission_shouldSetAdditionalSummary() {
+    fun summary_hasAdditionalPermission_containsAdditionalSummary() = runBlocking {
         mockGetPermissionSummary(
             requestedPermissionCount = 5,
             additionalGrantedPermissionCount = 2,
             grantedGroupLabels = listOf(PERMISSION),
         )
 
-        val (summary, enabled) = summaryLiveData.getOrAwaitValue()!!
+        val (summary, enabled) = summaryRepository.flow.first()
 
         assertThat(summary).isEqualTo("Storage and 2 additional permissions")
         assertThat(enabled).isTrue()
     }
 
     private companion object {
-        const val PACKAGE_NAME = "packageName"
+        const val PACKAGE_NAME = "package.name"
         const val PERMISSION = "Storage"
         val APP = ApplicationInfo().apply {
             packageName = PACKAGE_NAME
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppRestoreButtonTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppRestoreButtonTest.kt
new file mode 100644
index 0000000..9d30521
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/AppRestoreButtonTest.kt
@@ -0,0 +1,132 @@
+/*
+ * 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.spa.app.appinfo
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageInstaller
+import android.content.pm.PackageManager
+import androidx.compose.material.icons.Icons
+import androidx.compose.material.icons.outlined.CloudDownload
+import androidx.compose.ui.test.junit4.createComposeRule
+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.settingslib.spa.widget.button.ActionButton
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class AppRestoreButtonTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {}
+
+    private val packageInfoPresenter = mock<PackageInfoPresenter>()
+
+    private val userPackageManager = mock<PackageManager>()
+
+    private val packageInstaller = mock<PackageInstaller>()
+
+    private lateinit var appRestoreButton: AppRestoreButton
+
+    @Before
+    fun setUp() {
+        whenever(packageInfoPresenter.context).thenReturn(context)
+        whenever(packageInfoPresenter.userPackageManager).thenReturn(userPackageManager)
+        whenever(userPackageManager.packageInstaller).thenReturn(packageInstaller)
+        whenever(packageInfoPresenter.packageName).thenReturn(PACKAGE_NAME)
+        appRestoreButton = AppRestoreButton(packageInfoPresenter)
+    }
+
+    @Test
+    fun appRestoreButton_whenIsNotArchived_isDisabled() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = false
+        }
+
+        val actionButton = setContent(app)
+
+        assertThat(actionButton.enabled).isFalse()
+    }
+
+    @Test
+    fun appRestoreButton_whenIsArchived_isEnabled() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = true
+        }
+
+        val actionButton = setContent(app)
+
+        assertThat(actionButton.enabled).isTrue()
+    }
+
+    @Test
+    fun appRestoreButton_displaysRightTextAndIcon() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = false
+        }
+
+        val actionButton = setContent(app)
+
+        assertThat(actionButton.text).isEqualTo(context.getString(R.string.restore))
+        assertThat(actionButton.imageVector).isEqualTo(Icons.Outlined.CloudDownload)
+    }
+
+    @Test
+    @UiThreadTest
+    fun appRestoreButton_clicked() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = true
+        }
+
+        val actionButton = setContent(app)
+        actionButton.onClick()
+
+        verify(packageInstaller).requestUnarchive(
+            eq(PACKAGE_NAME),
+            any()
+        )
+    }
+
+    private fun setContent(app: ApplicationInfo): ActionButton {
+        lateinit var actionButton: ActionButton
+        composeTestRule.setContent {
+            actionButton = appRestoreButton.getActionButton(app)
+        }
+        return actionButton
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreferenceTest.kt
index 6acdcf5..b61e3a9 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/HibernationSwitchPreferenceTest.kt
@@ -24,8 +24,9 @@
 import android.apphibernation.AppHibernationManager
 import android.content.Context
 import android.content.pm.ApplicationInfo
+import android.content.pm.Flags as PmFlags
 import android.os.Build
-import android.os.UserHandle
+import android.os.SystemProperties
 import android.permission.PermissionControllerManager
 import android.permission.PermissionControllerManager.HIBERNATION_ELIGIBILITY_ELIGIBLE
 import android.permission.PermissionControllerManager.HIBERNATION_ELIGIBILITY_EXEMPT_BY_SYSTEM
@@ -48,6 +49,7 @@
 import com.android.settings.R
 import com.android.settings.Utils.PROPERTY_APP_HIBERNATION_ENABLED
 import com.android.settings.Utils.PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS
+import com.android.settings.flags.Flags
 import com.android.settings.testutils.TestDeviceConfig
 import com.android.settings.testutils.mockAsUser
 import com.android.settingslib.spaprivileged.framework.common.appHibernationManager
@@ -63,7 +65,6 @@
 import org.mockito.Mockito.anyBoolean
 import org.mockito.Mockito.anyString
 import org.mockito.Mockito.doAnswer
-import org.mockito.Mockito.doReturn
 import org.mockito.Mockito.eq
 import org.mockito.Mockito.never
 import org.mockito.Mockito.verify
@@ -71,6 +72,7 @@
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoRule
 import java.util.function.IntConsumer
+import kotlinx.coroutines.flow.MutableStateFlow
 import org.mockito.Mockito.`when` as whenever
 
 @RunWith(AndroidJUnit4::class)
@@ -100,6 +102,8 @@
     private val hibernationTargetsPreSConfig =
         TestDeviceConfig(NAMESPACE_APP_HIBERNATION, PROPERTY_HIBERNATION_TARGETS_PRE_S_APPS)
 
+    private val isHibernationSwitchEnabledStateFlow = MutableStateFlow(true)
+
     @Before
     fun setUp() {
         hibernationEnabledConfig.override(true)
@@ -147,12 +151,20 @@
 
         setContent()
 
-        composeTestRule.onNodeWithText(context.getString(R.string.unused_apps_switch))
+        val text = if (isArchivingEnabled()) {
+            context.getString(R.string.unused_apps_switch_v2)
+        } else {
+            context.getString(R.string.unused_apps_switch)
+        }
+        composeTestRule.onNodeWithText(text)
             .assertIsDisplayed()
             .assertIsNotEnabled()
             .assertIsOff()
     }
 
+    private fun isArchivingEnabled() =
+            PmFlags.archiving() || SystemProperties.getBoolean("pm.archiving.enabled", false)
+                    || Flags.appArchiving()
     @Test
     fun `An app targets Q with ops mode default when hibernation targets pre S - not exempted`() {
         mockOpsMode(MODE_DEFAULT)
@@ -227,7 +239,7 @@
     private fun setContent(app: ApplicationInfo = TARGET_R_APP) {
         composeTestRule.setContent {
             CompositionLocalProvider(LocalContext provides context) {
-                HibernationSwitchPreference(app)
+                HibernationSwitchPreference(app, isHibernationSwitchEnabledStateFlow)
             }
         }
     }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreferenceTest.kt
index f4489c6..e123389 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreferenceTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/InteractAcrossProfilesDetailsPreferenceTest.kt
@@ -40,6 +40,7 @@
 import com.android.settingslib.spaprivileged.framework.common.crossProfileApps
 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
@@ -116,6 +117,7 @@
         composeTestRule.waitUntilExists(hasText(SUMMARY))
     }
 
+    @Ignore
     @Test
     fun whenClick_startActivity() {
         mockCanConfig(true)
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/PackageInfoPresenterTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/PackageInfoPresenterTest.kt
index 3bfa90e..5dd66e8 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/PackageInfoPresenterTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/PackageInfoPresenterTest.kt
@@ -20,7 +20,9 @@
 import android.app.settings.SettingsEnums
 import android.content.Context
 import android.content.Intent
+import android.content.pm.PackageInfo
 import android.content.pm.PackageManager
+import android.net.Uri
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.testutils.FakeFeatureFactory
@@ -28,93 +30,120 @@
 import com.android.settingslib.spaprivileged.framework.common.activityManager
 import com.android.settingslib.spaprivileged.model.app.IPackageManagers
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.test.runTest
-import org.junit.Before
-import org.junit.Rule
+import kotlinx.coroutines.delay
+import kotlinx.coroutines.runBlocking
+import kotlinx.coroutines.test.TestScope
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.Mock
-import org.mockito.Mockito.any
-import org.mockito.Mockito.doNothing
-import org.mockito.Mockito.verify
-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.argumentCaptor
+import org.mockito.kotlin.doNothing
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class PackageInfoPresenterTest {
-    @get:Rule
-    val mockito: MockitoRule = MockitoJUnit.rule()
 
-    @Spy
-    private val context: Context = ApplicationProvider.getApplicationContext()
+    private val mockPackageManager = mock<PackageManager>()
 
-    @Mock
-    private lateinit var packageManager: PackageManager
+    private val mockActivityManager = mock<ActivityManager>()
 
-    @Mock
-    private lateinit var activityManager: ActivityManager
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn mockPackageManager
+        on { activityManager } doReturn mockActivityManager
+        doNothing().whenever(mock).startActivityAsUser(any(), any())
+        mock.mockAsUser()
+    }
 
-    @Mock
-    private lateinit var packageManagers: IPackageManagers
+    private val packageManagers = mock<IPackageManagers>()
 
     private val fakeFeatureFactory = FakeFeatureFactory()
     private val metricsFeatureProvider = fakeFeatureFactory.metricsFeatureProvider
 
-    @Before
-    fun setUp() {
-        context.mockAsUser()
-        whenever(context.packageManager).thenReturn(packageManager)
-        whenever(context.activityManager).thenReturn(activityManager)
+    private val packageInfoPresenter =
+        PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, TestScope(), packageManagers)
+
+    @Test
+    fun isInterestedAppChange_packageChanged_isInterested() {
+        val intent = Intent(Intent.ACTION_PACKAGE_CHANGED).apply {
+            data = Uri.parse("package:$PACKAGE_NAME")
+        }
+
+        val isInterestedAppChange = packageInfoPresenter.isInterestedAppChange(intent)
+
+        assertThat(isInterestedAppChange).isTrue()
     }
 
     @Test
-    fun enable() = runTest {
-        coroutineScope {
-            val packageInfoPresenter =
-                PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers)
-
-            packageInfoPresenter.enable()
+    fun isInterestedAppChange_fullyRemoved_notInterested() {
+        val intent = Intent(Intent.ACTION_PACKAGE_REMOVED).apply {
+            data = Uri.parse("package:$PACKAGE_NAME")
+            putExtra(Intent.EXTRA_DATA_REMOVED, true)
         }
 
+        val isInterestedAppChange = packageInfoPresenter.isInterestedAppChange(intent)
+
+        assertThat(isInterestedAppChange).isFalse()
+    }
+
+    @Test
+    fun isInterestedAppChange_removedBeforeReplacing_notInterested() {
+        val intent = Intent(Intent.ACTION_PACKAGE_REMOVED).apply {
+            data = Uri.parse("package:$PACKAGE_NAME")
+            putExtra(Intent.EXTRA_REPLACING, true)
+        }
+
+        val isInterestedAppChange = packageInfoPresenter.isInterestedAppChange(intent)
+
+        assertThat(isInterestedAppChange).isFalse()
+    }
+
+    @Test
+    fun isInterestedAppChange_archived_interested() {
+        val intent = Intent(Intent.ACTION_PACKAGE_REMOVED).apply {
+            data = Uri.parse("package:$PACKAGE_NAME")
+            putExtra(Intent.EXTRA_ARCHIVAL, true)
+        }
+
+        val isInterestedAppChange = packageInfoPresenter.isInterestedAppChange(intent)
+
+        assertThat(isInterestedAppChange).isTrue()
+    }
+
+    @Test
+    fun enable() = runBlocking {
+        packageInfoPresenter.enable()
+        delay(100)
+
         verifyAction(SettingsEnums.ACTION_SETTINGS_ENABLE_APP)
-        verify(packageManager).setApplicationEnabledSetting(
+        verify(mockPackageManager).setApplicationEnabledSetting(
             PACKAGE_NAME, PackageManager.COMPONENT_ENABLED_STATE_DEFAULT, 0
         )
     }
 
     @Test
-    fun disable() = runTest {
-        coroutineScope {
-            val packageInfoPresenter =
-                PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers)
-
-            packageInfoPresenter.disable()
-        }
+    fun disable() = runBlocking {
+        packageInfoPresenter.disable()
+        delay(100)
 
         verifyAction(SettingsEnums.ACTION_SETTINGS_DISABLE_APP)
-        verify(packageManager).setApplicationEnabledSetting(
+        verify(mockPackageManager).setApplicationEnabledSetting(
             PACKAGE_NAME, PackageManager.COMPONENT_ENABLED_STATE_DISABLED_USER, 0
         )
     }
 
     @Test
-    fun startUninstallActivity() = runTest {
-        doNothing().`when`(context).startActivityAsUser(any(), any())
-        val packageInfoPresenter =
-            PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers)
-
+    fun startUninstallActivity() = runBlocking {
         packageInfoPresenter.startUninstallActivity()
 
         verifyAction(SettingsEnums.ACTION_SETTINGS_UNINSTALL_APP)
-        val intentCaptor = ArgumentCaptor.forClass(Intent::class.java)
-        verify(context).startActivityAsUser(intentCaptor.capture(), any())
-        with(intentCaptor.value) {
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivityAsUser(capture(), any())
+        }.firstValue
+        with(intent) {
             assertThat(action).isEqualTo(Intent.ACTION_UNINSTALL_PACKAGE)
             assertThat(data?.schemeSpecificPart).isEqualTo(PACKAGE_NAME)
             assertThat(getBooleanExtra(Intent.EXTRA_UNINSTALL_ALL_USERS, true)).isEqualTo(false)
@@ -122,36 +151,25 @@
     }
 
     @Test
-    fun clearInstantApp() = runTest {
-        coroutineScope {
-            val packageInfoPresenter =
-                PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers)
-
-            packageInfoPresenter.clearInstantApp()
-        }
+    fun clearInstantApp() = runBlocking {
+        packageInfoPresenter.clearInstantApp()
+        delay(100)
 
         verifyAction(SettingsEnums.ACTION_SETTINGS_CLEAR_INSTANT_APP)
-        verify(packageManager).deletePackageAsUser(PACKAGE_NAME, null, 0, USER_ID)
+        verify(mockPackageManager).deletePackageAsUser(PACKAGE_NAME, null, 0, USER_ID)
     }
 
     @Test
-    fun forceStop() = runTest {
-        coroutineScope {
-            val packageInfoPresenter =
-                PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers)
-
-            packageInfoPresenter.forceStop()
-        }
+    fun forceStop() = runBlocking {
+        packageInfoPresenter.forceStop()
+        delay(100)
 
         verifyAction(SettingsEnums.ACTION_APP_FORCE_STOP)
-        verify(activityManager).forceStopPackageAsUser(PACKAGE_NAME, USER_ID)
+        verify(mockActivityManager).forceStopPackageAsUser(PACKAGE_NAME, USER_ID)
     }
 
     @Test
-    fun logAction() = runTest {
-        val packageInfoPresenter =
-            PackageInfoPresenter(context, PACKAGE_NAME, USER_ID, this, packageManagers)
-
+    fun logAction() = runBlocking {
         packageInfoPresenter.logAction(123)
 
         verifyAction(123)
@@ -164,5 +182,6 @@
     private companion object {
         const val PACKAGE_NAME = "package.name"
         const val USER_ID = 0
+        val PACKAGE_INFO = PackageInfo()
     }
 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/appinfo/TopBarAppLaunchButtonTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/TopBarAppLaunchButtonTest.kt
new file mode 100644
index 0000000..7b54247
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/appinfo/TopBarAppLaunchButtonTest.kt
@@ -0,0 +1,119 @@
+/*
+ * 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.spa.app.appinfo
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import androidx.compose.runtime.CompositionLocalProvider
+import androidx.compose.ui.platform.LocalContext
+import androidx.compose.ui.test.hasContentDescription
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithContentDescription
+import androidx.compose.ui.test.performClick
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.dx.mockito.inline.extended.ExtendedMockito
+import com.android.settings.R
+import com.android.settingslib.spa.testutils.waitUntilExists
+import com.android.settingslib.spaprivileged.model.app.userHandle
+import org.junit.After
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.ArgumentMatchers.any
+import org.mockito.ArgumentMatchers.eq
+import org.mockito.Mock
+import org.mockito.Mockito.verify
+import org.mockito.MockitoSession
+import org.mockito.Spy
+import org.mockito.quality.Strictness
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class TopBarAppLaunchButtonTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private lateinit var mockSession: MockitoSession
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var packageInfoPresenter: PackageInfoPresenter
+
+    @Mock
+    private lateinit var userPackageManager: PackageManager
+
+    @Before
+    fun setUp() {
+        mockSession = ExtendedMockito.mockitoSession()
+            .initMocks(this)
+            .strictness(Strictness.LENIENT)
+            .startMocking()
+        whenever(packageInfoPresenter.context).thenReturn(context)
+        whenever(packageInfoPresenter.userPackageManager).thenReturn(userPackageManager)
+        val intent = Intent()
+        whenever(userPackageManager.getLaunchIntentForPackage(PACKAGE_NAME)).thenReturn(intent)
+    }
+
+    @After
+    fun tearDown() {
+        mockSession.finishMocking()
+    }
+
+    @Test
+    fun topBarAppLaunchButton_isDisplayed() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+
+        setContent(app)
+
+        composeTestRule.waitUntilExists(
+            hasContentDescription(context.getString(R.string.launch_instant_app))
+        )
+    }
+
+    @Test
+    fun topBarAppLaunchButton_opensApp() {
+        val app = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+
+        setContent(app)
+        composeTestRule.onNodeWithContentDescription(context.getString(R.string.launch_instant_app))
+            .performClick()
+
+        verify(context).startActivityAsUser(any(), eq(app.userHandle))
+    }
+
+    private fun setContent(app: ApplicationInfo) {
+        composeTestRule.setContent {
+            CompositionLocalProvider(LocalContext provides context) {
+                TopBarAppLaunchButton(packageInfoPresenter, app)
+            }
+        }
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+    }
+}
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 b3e29af..5c65da1 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
@@ -29,12 +29,9 @@
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
-import com.android.settingslib.spa.framework.compose.stateOf
 import com.android.settingslib.spa.testutils.FakeNavControllerWrapper
-import com.android.settingslib.spa.testutils.any
 import com.android.settingslib.spaprivileged.template.app.AppListItemModel
-import com.google.common.truth.Truth
-import kotlinx.coroutines.ExperimentalCoroutinesApi
+import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
@@ -42,12 +39,13 @@
 import org.junit.Rule
 import org.junit.Test
 import org.junit.runner.RunWith
-import org.mockito.ArgumentCaptor
-import org.mockito.ArgumentMatchers.eq
 import org.mockito.Mock
-import org.mockito.Mockito
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoRule
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.whenever
 
 @RunWith(AndroidJUnit4::class)
 class BackgroundInstalledAppsPageProviderTest {
@@ -68,26 +66,25 @@
     @Mock
     private lateinit var mockBackgroundInstallControlService: IBackgroundInstallControlService
 
-    private var packageInfoFlagsCaptor =
-        ArgumentCaptor.forClass(PackageManager.PackageInfoFlags::class.java)
+    private var packageInfoFlagsCaptor = argumentCaptor<PackageManager.PackageInfoFlags>()
 
     private val fakeNavControllerWrapper = FakeNavControllerWrapper()
 
     @Before
     fun setup() {
-        Mockito.`when`(mockContext.packageManager).thenReturn(mockPackageManager)
+        whenever(mockContext.packageManager).thenReturn(mockPackageManager)
     }
     @Test
     fun allAppListPageProvider_name() {
-        Truth.assertThat(BackgroundInstalledAppsPageProvider.name)
+        assertThat(BackgroundInstalledAppsPageProvider.name)
             .isEqualTo(EXPECTED_PROVIDER_NAME)
     }
 
     @Test
     fun injectEntry_title() {
-        Mockito.`when`(mockBackgroundInstallControlService
-            .getBackgroundInstalledPackages(any(Long::class.java), any(Int::class.java)))
+        whenever(mockBackgroundInstallControlService.getBackgroundInstalledPackages(any(), any()))
             .thenReturn(ParceledListSlice(listOf()))
+
         setInjectEntry(false)
 
         composeTestRule.onNodeWithText(
@@ -104,9 +101,9 @@
 
     @Test
     fun injectEntry_summary() {
-        Mockito.`when`(mockBackgroundInstallControlService
-            .getBackgroundInstalledPackages(any(Long::class.java), any(Int::class.java)))
+        whenever(mockBackgroundInstallControlService.getBackgroundInstalledPackages(any(), any()))
             .thenReturn(ParceledListSlice(listOf()))
+
         setInjectEntry(false)
 
         composeTestRule.onNodeWithText("0 apps").assertIsDisplayed()
@@ -121,15 +118,14 @@
 
     @Test
     fun injectEntry_onClick_navigate() {
-        Mockito.`when`(mockBackgroundInstallControlService
-            .getBackgroundInstalledPackages(any(Long::class.java), any(Int::class.java)))
+        whenever(mockBackgroundInstallControlService.getBackgroundInstalledPackages(any(), any()))
             .thenReturn(ParceledListSlice(listOf()))
         setInjectEntry(false)
 
         composeTestRule.onNodeWithText(
             context.getString(R.string.background_install_title)).performClick()
 
-        Truth.assertThat(fakeNavControllerWrapper.navigateCalledWith)
+        assertThat(fakeNavControllerWrapper.navigateCalledWith)
             .isEqualTo(EXPECTED_PROVIDER_NAME)
     }
 
@@ -167,11 +163,10 @@
 
         composeTestRule.onNodeWithText(TEST_LABEL).performClick()
 
-        Truth.assertThat(fakeNavControllerWrapper.navigateCalledWith)
+        assertThat(fakeNavControllerWrapper.navigateCalledWith)
             .isEqualTo("AppInfoSettings/package.name/0")
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun backgroundInstalledAppsWithGroupingListModel_getGroupTitleOne() = runTest {
         val listModel = BackgroundInstalledAppsWithGroupingListModel(context)
@@ -183,10 +178,9 @@
                     System.currentTimeMillis()
                 ))
 
-        Truth.assertThat(actualGroupTitle).isEqualTo("Apps installed in the last 6 months")
+        assertThat(actualGroupTitle).isEqualTo("Apps installed in the last 6 months")
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun backgroundInstalledAppsWithGroupingListModel_getGroupTitleTwo() = runTest {
         val listModel = BackgroundInstalledAppsWithGroupingListModel(context)
@@ -198,14 +192,13 @@
                     0L
         ))
 
-        Truth.assertThat(actualGroupTitle).isEqualTo("Apps installed more than 6 months ago")
+        assertThat(actualGroupTitle).isEqualTo("Apps installed more than 6 months ago")
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun backgroundInstalledAppsWithGroupingListModel_transform() = runTest {
         val listModel = BackgroundInstalledAppsWithGroupingListModel(mockContext)
-        Mockito.`when`(mockPackageManager.getPackageInfoAsUser(
+        whenever(mockPackageManager.getPackageInfoAsUser(
             eq(TEST_PACKAGE_NAME),
             packageInfoFlagsCaptor.capture(),
             eq(TEST_USER_ID))
@@ -215,17 +208,16 @@
 
         val recordList = recordListFlow.first()
 
-        Truth.assertThat(recordList).hasSize(1)
-        Truth.assertThat(recordList[0].app).isSameInstanceAs(APP)
-        Truth.assertThat(packageInfoFlagsCaptor.value.value).isEqualTo(EXPECTED_PACKAGE_INFO_FLAG)
+        assertThat(recordList).hasSize(1)
+        assertThat(recordList[0].app).isSameInstanceAs(APP)
+        assertThat(packageInfoFlagsCaptor.firstValue.value).isEqualTo(EXPECTED_PACKAGE_INFO_FLAG)
     }
 
-    @OptIn(ExperimentalCoroutinesApi::class)
     @Test
     fun backgroundInstalledAppsWithGroupingListModel_filter() = runTest {
         val listModel = BackgroundInstalledAppsWithGroupingListModel(mockContext)
         listModel.setBackgroundInstallControlService(mockBackgroundInstallControlService)
-        Mockito.`when`(mockBackgroundInstallControlService.getBackgroundInstalledPackages(
+        whenever(mockBackgroundInstallControlService.getBackgroundInstalledPackages(
             PackageManager.MATCH_ALL.toLong(),
             TEST_USER_ID
         )).thenReturn(ParceledListSlice(listOf(PACKAGE_INFO)))
@@ -236,10 +228,9 @@
             flowOf(listOf(APP_RECORD_WITH_PACKAGE_MATCH, APP_RECORD_WITHOUT_PACKAGE_MATCH))
         )
 
-
         val recordList = recordListFlow.first()
-        Truth.assertThat(recordList).hasSize(1)
-        Truth.assertThat(recordList[0]).isSameInstanceAs(APP_RECORD_WITH_PACKAGE_MATCH)
+        assertThat(recordList).hasSize(1)
+        assertThat(recordList[0]).isSameInstanceAs(APP_RECORD_WITH_PACKAGE_MATCH)
     }
 
     private fun setItemContent() {
@@ -252,7 +243,7 @@
                                 app = APP,
                                 dateOfInstall = TEST_FIRST_INSTALL_TIME),
                             label = TEST_LABEL,
-                            summary = stateOf(TEST_SUMMARY),
+                            summary = { TEST_SUMMARY },
                         ).AppItem()
                     }
                 }
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProviderTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProviderTest.kt
new file mode 100644
index 0000000..da1e94c
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/battery/BatteryOptimizationModeAppListPageProviderTest.kt
@@ -0,0 +1,295 @@
+/*
+ * 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.app
+
+import android.content.Context
+import android.content.Intent
+import android.content.pm.ApplicationInfo
+import android.content.pm.PackageManager
+import android.graphics.drawable.Drawable
+import androidx.compose.runtime.SideEffect
+import androidx.compose.ui.test.assertIsDisplayed
+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.DisplaySettings
+import com.android.settings.R
+import com.android.settings.SettingsActivity
+import com.android.settings.fuelgauge.AdvancedPowerUsageDetail
+import com.android.settings.spa.app.battery.BatteryOptimizationModeAppList
+import com.android.settings.spa.app.battery.BatteryOptimizationModeAppListModel
+import com.android.settings.spa.app.battery.BatteryOptimizationModeAppListPageProvider
+import com.android.settingslib.spa.testutils.FakeNavControllerWrapper
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spaprivileged.framework.compose.getPlaceholder
+import com.android.settingslib.spaprivileged.template.app.AppListInput
+import com.android.settingslib.spaprivileged.template.app.AppListItemModel
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.test.runTest
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doNothing
+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 BatteryOptimizationModeAppListPageProviderTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val fakeNavControllerWrapper = FakeNavControllerWrapper()
+
+    private val packageManager = mock<PackageManager> {
+        on { getPackagesForUid(USER_ID) } doReturn arrayOf(PACKAGE_NAME)
+    }
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn packageManager
+    }
+
+    @Test
+    fun batteryOptimizationModeAppListPageProvider_name() {
+        assertThat(BatteryOptimizationModeAppListPageProvider.name)
+            .isEqualTo("BatteryOptimizationModeAppList")
+    }
+
+    @Test
+    fun injectEntry_title() {
+        setInjectEntry()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.app_battery_usage_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun injectEntry_onClick_navigate() {
+        setInjectEntry()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.app_battery_usage_title))
+            .performClick()
+
+        assertThat(fakeNavControllerWrapper.navigateCalledWith)
+            .isEqualTo("BatteryOptimizationModeAppList")
+    }
+
+    @Test
+    fun title_displayed() {
+        composeTestRule.setContent {
+            BatteryOptimizationModeAppList {}
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.app_battery_usage_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun showInstantApps_isFalse() {
+        val input = getAppListInput()
+
+        assertThat(input.config.showInstantApps).isFalse()
+    }
+
+    @Test
+    fun item_labelDisplayed() {
+        setItemContent()
+
+        composeTestRule.onNodeWithText(LABEL).assertIsDisplayed()
+    }
+
+    @Test
+    fun item_summaryDisplayed() {
+        setItemContent()
+
+        composeTestRule.onNodeWithText(SUMMARY).assertIsDisplayed()
+    }
+
+    @Test
+    fun item_onClick_navigate() {
+        setItemContent()
+        doNothing().whenever(context).startActivity(any())
+
+        composeTestRule.onNodeWithText(LABEL).performClick()
+
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivity(capture())
+        }.firstValue
+
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))!!
+            .isEqualTo(AdvancedPowerUsageDetail::class.java.name)
+        val arguments = intent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS)!!
+        assertThat(arguments.getString(AdvancedPowerUsageDetail.EXTRA_PACKAGE_NAME))
+            .isEqualTo(PACKAGE_NAME)
+    }
+
+    @Test
+    fun BatteryOptimizationModeAppListModel_transform() = runTest {
+        val listModel = BatteryOptimizationModeAppListModel(context)
+
+        val recordListFlow = listModel.transform(flowOf(USER_ID), flowOf(listOf(APP)))
+
+        val recordList = recordListFlow.firstWithTimeoutOrNull()!!
+        assertThat(recordList).hasSize(1)
+        assertThat(recordList[0].app).isSameInstanceAs(APP)
+    }
+
+    @Test
+    fun listModelGetSummary_regular() {
+        val listModel = BatteryOptimizationModeAppListModel(context)
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary = listModel.getSummary(option = 0, record = AppRecordWithSize(app = APP))
+        }
+
+        assertThat(summary()).isEmpty()
+    }
+
+    @Test
+    fun listModelGetSummary_disabled() {
+        val listModel = BatteryOptimizationModeAppListModel(context)
+        val disabledApp = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            flags = ApplicationInfo.FLAG_INSTALLED
+            enabled = false
+        }
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary =
+                listModel.getSummary(option = 0, record = AppRecordWithSize(app = disabledApp))
+        }
+
+        assertThat(summary())
+            .isEqualTo(context.getString(com.android.settingslib.R.string.disabled))
+    }
+
+    @Test
+    fun listModelGetSummary_notInstalled() {
+        val listModel = BatteryOptimizationModeAppListModel(context)
+        val notInstalledApp = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+        }
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary =
+                listModel.getSummary(option = 0, record = AppRecordWithSize(app = notInstalledApp))
+        }
+
+        assertThat(summary()).isEqualTo(context.getString(R.string.not_installed))
+    }
+
+    @Test
+    fun batteryOptimizationModeAppListModel_archivedApp() {
+        val app = mock<ApplicationInfo> {
+            on { loadUnbadgedIcon(any()) } doReturn UNBADGED_ICON
+            on { loadLabel(any()) } doReturn LABEL
+        }
+        app.isArchived = true
+        packageManager.stub {
+            on {
+                getApplicationInfoAsUser(PACKAGE_NAME, 0, USER_ID)
+            } doReturn app
+        }
+        composeTestRule.setContent {
+            fakeNavControllerWrapper.Wrapper {
+                with(BatteryOptimizationModeAppListModel(context)) {
+                    AppListItemModel(
+                        record = AppRecordWithSize(app = app),
+                        label = LABEL,
+                        summary = { SUMMARY },
+                    ).AppItem()
+                }
+            }
+        }
+
+        composeTestRule.onNodeWithText(LABEL).assertIsDisplayed()
+    }
+
+    @Test
+    fun batteryOptimizationModeAppListModel_NoStorageSummary() {
+        val listModel = BatteryOptimizationModeAppListModel(context)
+        val archivedApp = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            isArchived = true
+        }
+
+        lateinit var summary: () -> String
+        composeTestRule.setContent {
+            summary =
+                listModel.getSummary(option = 0, record = AppRecordWithSize(app = archivedApp))
+        }
+
+        assertThat(summary()).isEmpty()
+    }
+
+    private fun setInjectEntry() {
+        composeTestRule.setContent {
+            fakeNavControllerWrapper.Wrapper {
+                BatteryOptimizationModeAppListPageProvider.buildInjectEntry().build().UiLayout()
+            }
+        }
+    }
+
+    private fun getAppListInput(): AppListInput<AppRecordWithSize> {
+        lateinit var input: AppListInput<AppRecordWithSize>
+        composeTestRule.setContent {
+            BatteryOptimizationModeAppList {
+                SideEffect {
+                    input = this
+                }
+            }
+        }
+        return input
+    }
+
+    private fun setItemContent() {
+        composeTestRule.setContent {
+            fakeNavControllerWrapper.Wrapper {
+                with(BatteryOptimizationModeAppListModel(context)) {
+                    AppListItemModel(
+                        record = AppRecordWithSize(app = APP),
+                        label = LABEL,
+                        summary = { SUMMARY },
+                    ).AppItem()
+                }
+            }
+        }
+    }
+
+    private companion object {
+        const val USER_ID = 0
+        const val PACKAGE_NAME = "package.name"
+        const val LABEL = "Label"
+        const val SUMMARY = "Summary"
+        val UNBADGED_ICON = mock<Drawable>()
+        val APP = ApplicationInfo().apply {
+            packageName = PACKAGE_NAME
+            flags = ApplicationInfo.FLAG_INSTALLED
+        }
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/AllFilesAccessTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/AllFilesAccessTest.kt
index f5d422d..4c65d90 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/AllFilesAccessTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/AllFilesAccessTest.kt
@@ -33,33 +33,12 @@
     private val listModel = AllFilesAccessListModel(context)
 
     @Test
-    fun pageTitleResId() {
+    fun modelResourceIdAndProperties() {
         assertThat(listModel.pageTitleResId).isEqualTo(R.string.manage_external_storage_title)
-    }
-
-    @Test
-    fun switchTitleResId() {
         assertThat(listModel.switchTitleResId).isEqualTo(R.string.permit_manage_external_storage)
-    }
-
-    @Test
-    fun footerResId() {
-        assertThat(listModel.footerResId)
-            .isEqualTo(R.string.allow_manage_external_storage_description)
-    }
-
-    @Test
-    fun appOp() {
+        assertThat(listModel.footerResId).isEqualTo(R.string.allow_manage_external_storage_description)
         assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_MANAGE_EXTERNAL_STORAGE)
-    }
-
-    @Test
-    fun permission() {
         assertThat(listModel.permission).isEqualTo(Manifest.permission.MANAGE_EXTERNAL_STORAGE)
-    }
-
-    @Test
-    fun setModeByUid() {
         assertThat(listModel.setModeByUid).isTrue()
     }
 }
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsPreferenceControllerTest.kt
new file mode 100644
index 0000000..38f81fe
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsPreferenceControllerTest.kt
@@ -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.spa.app.specialaccess
+
+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 androidx.preference.Preference
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import com.android.settings.flags.Flags
+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.doNothing
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class BackupTasksAppsPreferenceControllerTest {
+
+    @get:Rule
+    val checkFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivity(any())
+    }
+
+    private val matchedPreference = Preference(context).apply { key = preferenceKey }
+
+    private val misMatchedPreference = Preference(context).apply { key = testPreferenceKey }
+
+    private val controller = BackupTasksAppsPreferenceController(context, preferenceKey)
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_PERFORM_BACKUP_TASKS_IN_SETTINGS)
+    fun getAvailabilityStatus_enableBackupTasksApps_returnAvailable() {
+        assertThat(controller.isAvailable).isTrue()
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_PERFORM_BACKUP_TASKS_IN_SETTINGS)
+    fun getAvailableStatus_disableBackupTasksApps_returnConditionallyUnavailable() {
+        assertThat(controller.isAvailable).isFalse()
+    }
+
+    @Test
+    fun handlePreferenceTreeClick_keyMatched_returnTrue() {
+        assertThat(controller.handlePreferenceTreeClick(matchedPreference)).isTrue()
+    }
+
+    @Test
+    fun handlePreferenceTreeClick_keyMisMatched_returnFalse() {
+        assertThat(controller.handlePreferenceTreeClick(misMatchedPreference)).isFalse()
+    }
+
+    companion object {
+        private const val preferenceKey: String = "backup_tasks_apps"
+        private const val testPreferenceKey: String = "test_key"
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsTest.kt
new file mode 100644
index 0000000..d68f051
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/BackupTasksAppsTest.kt
@@ -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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import com.android.settings.R
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class BackupTasksAppsTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val listModel = BackupTasksAppsListModel(context)
+
+    @Test
+    fun modelResourceIdAndProperties() {
+        assertThat(listModel.pageTitleResId).isEqualTo(R.string.run_backup_tasks_title)
+        assertThat(listModel.switchTitleResId).isEqualTo(R.string.run_backup_tasks_switch_title)
+        assertThat(listModel.footerResId).isEqualTo(R.string.run_backup_tasks_footer_title)
+        assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_RUN_BACKUP_JOBS)
+        assertThat(listModel.permission).isEqualTo(Manifest.permission.RUN_BACKUP_JOBS)
+        assertThat(listModel.setModeByUid).isTrue()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/LongBackgroundTasksAppsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/LongBackgroundTasksAppsTest.kt
new file mode 100644
index 0000000..579c6c9
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/LongBackgroundTasksAppsTest.kt
@@ -0,0 +1,44 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import com.android.settings.R
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class LongBackgroundTasksAppsTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val listModel = LongBackgroundTasksAppsListModel(context)
+
+    @Test
+    fun modelResourceIdAndProperties() {
+        assertThat(listModel.pageTitleResId).isEqualTo(R.string.long_background_tasks_title)
+        assertThat(listModel.switchTitleResId).isEqualTo(R.string.long_background_tasks_switch_title)
+        assertThat(listModel.footerResId).isEqualTo(R.string.long_background_tasks_footer_title)
+        assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_RUN_USER_INITIATED_JOBS)
+        assertThat(listModel.permission).isEqualTo(Manifest.permission.RUN_USER_INITIATED_JOBS)
+        assertThat(listModel.setModeByUid).isTrue()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaManagementAppsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaManagementAppsTest.kt
index b56d997..b901043 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaManagementAppsTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaManagementAppsTest.kt
@@ -33,33 +33,12 @@
     private val listModel = MediaManagementAppsListModel(context)
 
     @Test
-    fun pageTitleResId() {
+    fun modelResourceIdAndProperties() {
         assertThat(listModel.pageTitleResId).isEqualTo(R.string.media_management_apps_title)
-    }
-
-    @Test
-    fun switchTitleResId() {
-        assertThat(listModel.switchTitleResId)
-            .isEqualTo(R.string.media_management_apps_toggle_label)
-    }
-
-    @Test
-    fun footerResId() {
+        assertThat(listModel.switchTitleResId).isEqualTo(R.string.media_management_apps_toggle_label)
         assertThat(listModel.footerResId).isEqualTo(R.string.media_management_apps_description)
-    }
-
-    @Test
-    fun appOp() {
         assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_MANAGE_MEDIA)
-    }
-
-    @Test
-    fun permission() {
         assertThat(listModel.permission).isEqualTo(Manifest.permission.MANAGE_MEDIA)
-    }
-
-    @Test
-    fun setModeByUid() {
         assertThat(listModel.setModeByUid).isTrue()
     }
 }
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaRoutingControlTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaRoutingControlTest.kt
new file mode 100644
index 0000000..990ec5c
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/MediaRoutingControlTest.kt
@@ -0,0 +1,240 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.app.role.RoleManager
+import android.app.settings.SettingsEnums
+import android.companion.AssociationRequest
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.platform.test.flag.junit.SetFlagsRule
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.media.flags.Flags
+import com.android.settings.R
+import com.android.settings.testutils.FakeFeatureFactory
+import com.android.settingslib.spaprivileged.model.app.IAppOpsController
+import com.android.settingslib.spaprivileged.template.app.AppOpPermissionRecord
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.MutableStateFlow
+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.verify
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class MediaRoutingControlTest {
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @get:Rule val setFlagsRule: SetFlagsRule = SetFlagsRule();
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private lateinit var listModel: MediaRoutingControlAppsListModel
+
+    @Mock
+    private lateinit var mockRoleManager: RoleManager
+
+    private val fakeFeatureFactory = FakeFeatureFactory()
+    private val metricsFeatureProvider = fakeFeatureFactory.metricsFeatureProvider
+
+    @Before
+    fun setUp() {
+        whenever(context.getSystemService(RoleManager::class.java))
+                .thenReturn(mockRoleManager)
+        listModel = MediaRoutingControlAppsListModel(context)
+    }
+
+    @Test
+    fun modelResourceIdAndProperties() {
+        assertThat(listModel.pageTitleResId).isEqualTo(R.string.media_routing_control_title)
+        assertThat(listModel.switchTitleResId).isEqualTo(R.string.allow_media_routing_control)
+        assertThat(listModel.footerResId).isEqualTo(R.string.allow_media_routing_description)
+        assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_MEDIA_ROUTING_CONTROL)
+        assertThat(listModel.permission).isEqualTo(Manifest.permission.MEDIA_ROUTING_CONTROL)
+        assertThat(listModel.setModeByUid).isTrue()
+    }
+
+    @Test
+    fun setAllowed_callWithNewStatusAsTrue_shouldChangeAppControllerModeToAllowed() {
+        val fakeAppOpController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController = fakeAppOpController,
+                )
+
+        listModel.setAllowed(permissionRequestedRecord, true)
+
+        assertThat(fakeAppOpController.getMode()).isEqualTo(AppOpsManager.MODE_ALLOWED)
+    }
+
+    @Test
+    fun setAllowed_callWithNewStatusAsTrue_shouldLogPermissionToggleActionAsAllowed() {
+        val fakeAppOpController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController = fakeAppOpController,
+                )
+
+        listModel.setAllowed(permissionRequestedRecord, true)
+
+        verify(metricsFeatureProvider)
+                .action(context, SettingsEnums.MEDIA_ROUTING_CONTROL, VALUE_LOGGING_ALLOWED)
+    }
+
+    @Test
+    fun setAllowed_callWithNewStatusAsFalse_shouldChangeAppControllerModeToErrored() {
+        val fakeAppOpController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController = fakeAppOpController,
+                )
+
+        listModel.setAllowed(permissionRequestedRecord, false)
+
+        assertThat(fakeAppOpController.getMode()).isEqualTo(AppOpsManager.MODE_ERRORED)
+    }
+
+    @Test
+    fun setAllowed_callWithNewStatusAsFalse_shouldLogPermissionToggleActionAsDenied() {
+        val fakeAppOpController = FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController = fakeAppOpController,
+                )
+
+        listModel.setAllowed(permissionRequestedRecord, false)
+
+        verify(metricsFeatureProvider)
+                .action(context, SettingsEnums.MEDIA_ROUTING_CONTROL, VALUE_LOGGING_DENIED)
+    }
+
+    @Test
+    fun isChangeable_permissionRequestedByAppAndWatchCompanionRoleAssigned_shouldReturnTrue() {
+        setFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVILEGED_ROUTING_FOR_MEDIA_ROUTING_CONTROL)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController =
+                            FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT),
+                )
+        whenever(mockRoleManager.getRoleHolders(AssociationRequest.DEVICE_PROFILE_WATCH))
+                .thenReturn(listOf(PACKAGE_NAME))
+
+        val isSpecialAccessChangeable = listModel.isChangeable(permissionRequestedRecord)
+
+        assertThat(isSpecialAccessChangeable).isTrue()
+    }
+
+    @Test
+    fun isChangeable_permissionNotRequestedByAppButWatchCompanionRoleAssigned_shouldReturnFalse() {
+        setFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVILEGED_ROUTING_FOR_MEDIA_ROUTING_CONTROL)
+        val permissionNotRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = false,
+                        hasRequestBroaderPermission = false,
+                        appOpsController =
+                            FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT),
+                )
+        whenever(mockRoleManager.getRoleHolders(AssociationRequest.DEVICE_PROFILE_WATCH))
+                .thenReturn(listOf(PACKAGE_NAME))
+
+        val isSpecialAccessChangeable = listModel.isChangeable(permissionNotRequestedRecord)
+
+        assertThat(isSpecialAccessChangeable).isFalse()
+    }
+
+    @Test
+    fun isChangeable_permissionRequestedByAppButWatchCompanionRoleNotAssigned_shouldReturnFalse() {
+        setFlagsRule.enableFlags(Flags.FLAG_ENABLE_PRIVILEGED_ROUTING_FOR_MEDIA_ROUTING_CONTROL)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController =
+                            FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT),
+                )
+        whenever(mockRoleManager.getRoleHolders(AssociationRequest.DEVICE_PROFILE_WATCH))
+                .thenReturn(listOf("other.package.name"))
+
+        val isSpecialAccessChangeable = listModel.isChangeable(permissionRequestedRecord)
+
+        assertThat(isSpecialAccessChangeable).isFalse()
+    }
+
+    @Test
+    fun isChangeable_withFlagDisabled_shouldReturnFalse() {
+        setFlagsRule.disableFlags(Flags.FLAG_ENABLE_PRIVILEGED_ROUTING_FOR_MEDIA_ROUTING_CONTROL)
+        val permissionRequestedRecord =
+                AppOpPermissionRecord(
+                        app = ApplicationInfo().apply { packageName = PACKAGE_NAME },
+                        hasRequestPermission = true,
+                        hasRequestBroaderPermission = false,
+                        appOpsController =
+                        FakeAppOpsController(fakeMode = AppOpsManager.MODE_DEFAULT),
+                )
+        whenever(mockRoleManager.getRoleHolders(AssociationRequest.DEVICE_PROFILE_WATCH))
+                .thenReturn(listOf(PACKAGE_NAME))
+
+        val isSpecialAccessChangeable = listModel.isChangeable(permissionRequestedRecord)
+
+        assertThat(isSpecialAccessChangeable).isFalse()
+    }
+
+    private class FakeAppOpsController(fakeMode: Int) : IAppOpsController {
+
+        override val mode = MutableStateFlow(fakeMode)
+
+        override fun setAllowed(allowed: Boolean) {
+            mode.value = if (allowed) AppOpsManager.MODE_ALLOWED else AppOpsManager.MODE_ERRORED
+        }
+
+        override fun getMode(): Int = mode.value
+    }
+
+    companion object {
+        const val PACKAGE_NAME = "test.package.name"
+        const val VALUE_LOGGING_ALLOWED = 1
+        const val VALUE_LOGGING_DENIED = 0
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/PictureInPictureTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/PictureInPictureTest.kt
index fb0fb69..4229247 100644
--- a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/PictureInPictureTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/PictureInPictureTest.kt
@@ -29,7 +29,6 @@
 import com.android.settings.R
 import com.android.settingslib.spaprivileged.model.app.AppOpsController
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
@@ -46,7 +45,6 @@
 import org.mockito.junit.MockitoRule
 import org.mockito.Mockito.`when` as whenever
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class PictureInPictureTest {
     @get:Rule
@@ -69,18 +67,9 @@
     }
 
     @Test
-    fun pageTitleResId() {
+    fun modelResourceId() {
         assertThat(listModel.pageTitleResId).isEqualTo(R.string.picture_in_picture_title)
-    }
-
-    @Test
-    fun switchTitleResId() {
-        assertThat(listModel.switchTitleResId)
-            .isEqualTo(R.string.picture_in_picture_app_detail_switch)
-    }
-
-    @Test
-    fun footerResId() {
+        assertThat(listModel.switchTitleResId).isEqualTo(R.string.picture_in_picture_app_detail_switch)
         assertThat(listModel.footerResId).isEqualTo(R.string.picture_in_picture_app_detail_summary)
     }
 
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/TurnScreenOnAppsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/TurnScreenOnAppsTest.kt
new file mode 100644
index 0000000..9c6079d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/TurnScreenOnAppsTest.kt
@@ -0,0 +1,42 @@
+/*
+ * 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.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class TurnScreenOnAppsTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val listModel = TurnScreenOnAppsListModel(context)
+
+    @Test
+    fun modelResourceIdAndProperties() {
+        assertThat(listModel.pageTitleResId).isEqualTo(com.android.settingslib.R.string.turn_screen_on_title)
+        assertThat(listModel.switchTitleResId).isEqualTo(com.android.settingslib.R.string.allow_turn_screen_on)
+        assertThat(listModel.footerResId).isEqualTo(com.android.settingslib.R.string.allow_turn_screen_on_description)
+        assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_TURN_SCREEN_ON)
+        assertThat(listModel.permission).isEqualTo(Manifest.permission.TURN_SCREEN_ON)
+        assertThat(listModel.setModeByUid).isTrue()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsPreferenceControllerTest.kt
new file mode 100644
index 0000000..2127497
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsPreferenceControllerTest.kt
@@ -0,0 +1,65 @@
+package com.android.settings.spa.app.specialaccess
+
+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 androidx.preference.Preference
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import com.android.settings.flags.Flags
+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.doNothing
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class VoiceActivationAppsPreferenceControllerTest {
+
+    @get:Rule
+    val checkFlagsRule: CheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        doNothing().whenever(mock).startActivity(any())
+    }
+
+    private val matchedPreference = Preference(context).apply { key = preferenceKey }
+
+    private val misMatchedPreference = Preference(context).apply { key = testPreferenceKey }
+
+    private val controller = VoiceActivationAppsPreferenceController(context, preferenceKey)
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ENABLE_VOICE_ACTIVATION_APPS_IN_SETTINGS)
+    fun getAvailabilityStatus_enableVoiceActivationApps_returnAvailable() {
+        assertThat(controller.isAvailable).isTrue()
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_ENABLE_VOICE_ACTIVATION_APPS_IN_SETTINGS)
+    fun getAvailableStatus_disableVoiceActivationApps_returnConditionallyUnavailable() {
+        assertThat(controller.isAvailable).isFalse()
+    }
+
+    @Test
+    fun handlePreferenceTreeClick_keyMatched_returnTrue() {
+        assertThat(controller.handlePreferenceTreeClick(matchedPreference)).isTrue()
+    }
+
+    @Test
+    fun handlePreferenceTreeClick_keyMisMatched_returnFalse() {
+        assertThat(controller.handlePreferenceTreeClick(misMatchedPreference)).isFalse()
+    }
+
+    companion object {
+        private const val preferenceKey: String = "voice_activation_apps"
+        private const val testPreferenceKey: String = "test_key"
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsTest.kt
new file mode 100644
index 0000000..a2aa293
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/specialaccess/VoiceActivationAppsTest.kt
@@ -0,0 +1,30 @@
+package com.android.settings.spa.app.specialaccess
+
+import android.Manifest
+import android.app.AppOpsManager
+import android.content.Context
+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.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class VoiceActivationAppsTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val listModel = VoiceActivationAppsListModel(context)
+
+    @Test
+    fun modelResourceIdAndProperties() {
+        assertThat(listModel.pageTitleResId).isEqualTo(R.string.voice_activation_apps_title)
+        assertThat(listModel.switchTitleResId).isEqualTo(R.string.permit_voice_activation_apps)
+        assertThat(listModel.footerResId).isEqualTo(R.string.allow_voice_activation_apps_description)
+        assertThat(listModel.appOp).isEqualTo(AppOpsManager.OP_RECEIVE_SANDBOX_TRIGGER_AUDIO)
+        assertThat(listModel.permission).isEqualTo(
+            Manifest.permission.RECEIVE_SANDBOX_TRIGGER_AUDIO
+        )
+        assertThat(listModel.setModeByUid).isTrue()
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/app/storage/StorageAppListTest.kt b/tests/spa_unit/src/com/android/settings/spa/app/storage/StorageAppListTest.kt
new file mode 100644
index 0000000..836bf09
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/app/storage/StorageAppListTest.kt
@@ -0,0 +1,144 @@
+/*
+ * 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.spa.app.storage
+
+import android.content.Context
+import android.content.pm.ApplicationInfo
+import android.icu.text.CollationKey
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spa.testutils.firstWithTimeoutOrNull
+import com.android.settingslib.spaprivileged.model.app.AppEntry
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.test.runTest
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class StorageAppListTest {
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Test
+    fun storageAppListPageProvider_apps_name() {
+        assertThat(StorageAppListPageProvider.Apps.name).isEqualTo("StorageAppList")
+    }
+
+    @Test
+    fun storageAppListPageProvider_games_name() {
+        assertThat(StorageAppListPageProvider.Games.name).isEqualTo("GameStorageAppList")
+    }
+
+    @Test
+    fun transform_containsSize() = runTest {
+        val listModel = StorageAppListModel(context, StorageType.Apps)
+        val recordListFlow = listModel.transform(flowOf(0), flowOf(listOf(APP)))
+        val recordList = recordListFlow.firstWithTimeoutOrNull()!!
+        assertThat(recordList).hasSize(1)
+        assertThat(recordList.first().app).isSameInstanceAs(APP)
+        assertThat(recordList.first().size).isEqualTo(0L)
+    }
+
+    @Test
+    fun filter_apps_appWithoutGame() = runTest {
+        val listModel = StorageAppListModel(context, StorageType.Apps)
+        val recordListFlow = listModel.filter(
+            flowOf(0),
+            0,
+            flowOf(
+                listOf(
+                    AppRecordWithSize(APP, 1L),
+                    AppRecordWithSize(APP2, 1L),
+                    AppRecordWithSize(GAME, 1L)
+                )
+            )
+        )
+        val recordList = recordListFlow.firstWithTimeoutOrNull()!!
+        assertThat(recordList).hasSize(2)
+        assertThat(recordList.none { it.app === GAME }).isTrue()
+    }
+
+    @Test
+    fun filter_games_gameWithoutApp() = runTest {
+        val listModel = StorageAppListModel(context, StorageType.Games)
+        val recordListFlow = listModel.filter(
+            flowOf(0),
+            0,
+            flowOf(
+                listOf(
+                    AppRecordWithSize(APP, 1L),
+                    AppRecordWithSize(APP2, 1L),
+                    AppRecordWithSize(GAME, 1L)
+                )
+            )
+        )
+        val recordList = recordListFlow.firstWithTimeoutOrNull()!!
+        assertThat(recordList).hasSize(1)
+        assertThat(recordList.all { it.app === GAME }).isTrue()
+    }
+
+    @Test
+    fun getComparator_sortsByDescendingSize() {
+        val listModel = StorageAppListModel(context, StorageType.Apps)
+        val source = listOf(
+            AppEntry(
+                AppRecordWithSize(app = APP, size = 1L),
+                "app1",
+                CollationKey("first", byteArrayOf(0))
+            ),
+            AppEntry(
+                AppRecordWithSize(app = APP2, size = 3L),
+                "app2",
+                CollationKey("second", byteArrayOf(0))
+            ),
+            AppEntry(
+                AppRecordWithSize(app = APP3, size = 3L),
+                "app3",
+                CollationKey("third", byteArrayOf(0))
+            )
+        )
+
+        val result = source.sortedWith(listModel.getComparator(0))
+
+        assertThat(result[0].record.app).isSameInstanceAs(APP2)
+        assertThat(result[1].record.app).isSameInstanceAs(APP3)
+        assertThat(result[2].record.app).isSameInstanceAs(APP)
+    }
+
+    private companion object {
+        const val APP_PACKAGE_NAME = "app.package.name"
+        const val APP_PACKAGE_NAME2 = "app.package.name2"
+        const val APP_PACKAGE_NAME3 = "app.package.name3"
+        const val GAME_PACKAGE_NAME = "game.package.name"
+        val APP = ApplicationInfo().apply {
+            packageName = APP_PACKAGE_NAME
+            flags = ApplicationInfo.FLAG_INSTALLED
+        }
+        val APP2 = ApplicationInfo().apply {
+            packageName = APP_PACKAGE_NAME2
+            flags = ApplicationInfo.FLAG_INSTALLED
+        }
+        val APP3 = ApplicationInfo().apply {
+            packageName = APP_PACKAGE_NAME3
+            flags = ApplicationInfo.FLAG_INSTALLED
+        }
+        val GAME = ApplicationInfo().apply {
+            packageName = GAME_PACKAGE_NAME
+            flags = ApplicationInfo.FLAG_INSTALLED or ApplicationInfo.FLAG_IS_GAME
+        }
+    }
+}
\ No newline at end of file
diff --git a/tests/spa_unit/src/com/android/settings/spa/core/instrumentation/SpaLogDataTest.kt b/tests/spa_unit/src/com/android/settings/spa/core/instrumentation/SpaLogDataTest.kt
index 19be10e..162f8ea 100644
--- a/tests/spa_unit/src/com/android/settings/spa/core/instrumentation/SpaLogDataTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/core/instrumentation/SpaLogDataTest.kt
@@ -53,7 +53,7 @@
         bundle.putString(LOG_DATA_SESSION_NAME, SESSION_BROWSE)
         val spaLogData = SpaLogData(TEST_PID, LogEvent.PAGE_ENTER, bundle, dataModel)
 
-        assertThat(spaLogData.getSessionType()).isEqualTo(SettingsEnums.BROWSE)
+        assertThat(spaLogData.getSessionType()).isEqualTo(SettingsEnums.SESSION_BROWSE)
     }
 
     @Test
@@ -61,7 +61,7 @@
         bundle.putString(LOG_DATA_SESSION_NAME, SESSION_SEARCH)
         val spaLogData = SpaLogData(TEST_PID, LogEvent.PAGE_ENTER, bundle, dataModel)
 
-        assertThat(spaLogData.getSessionType()).isEqualTo(SettingsEnums.SEARCH)
+        assertThat(spaLogData.getSessionType()).isEqualTo(SettingsEnums.SESSION_SEARCH)
     }
 
     @Test
diff --git a/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt b/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt
index 78aca85..6aee4ce 100644
--- a/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/development/compat/PlatformCompatAppListModelTest.kt
@@ -20,12 +20,10 @@
 import android.content.pm.ApplicationInfo
 import android.content.pm.PackageManager
 import android.content.pm.PackageManager.PackageInfoFlags
-import androidx.compose.runtime.State
 import androidx.compose.ui.test.junit4.createComposeRule
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
@@ -41,7 +39,6 @@
 import org.mockito.junit.MockitoRule
 import org.mockito.Mockito.`when` as whenever
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class PlatformCompatAppListModelTest {
     @get:Rule
@@ -81,20 +78,20 @@
 
     @Test
     fun getSummary() = runTest {
-        val summaryState = getSummaryState(APP)
+        val summary = getSummary(APP)
 
-        assertThat(summaryState.value).isEqualTo(PACKAGE_NAME)
+        assertThat(summary).isEqualTo(PACKAGE_NAME)
     }
 
-    private fun getSummaryState(app: ApplicationInfo): State<String> {
-        lateinit var summary: State<String>
+    private fun getSummary(app: ApplicationInfo): String {
+        lateinit var summary: () -> String
         composeTestRule.setContent {
             summary = listModel.getSummary(
                 option = 0,
                 record = PlatformCompatAppRecord(app),
             )
         }
-        return summary
+        return summary()
     }
 
     private companion object {
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
new file mode 100644
index 0000000..44a5037
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingLabelSimTest.kt
@@ -0,0 +1,196 @@
+/*
+ * 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.telephony.SubscriptionInfo
+import androidx.compose.ui.test.assertIsDisplayed
+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 com.android.settings.network.SimOnboardingService
+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
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class SimOnboardingLabelSimTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private var mockSimOnboardingService = mock<SimOnboardingService> {
+        on { targetSubId }.doReturn(-1)
+        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)
+        on { targetPrimarySimTexts }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+        on { targetPrimarySimMobileData }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+    }
+
+    private val nextAction: () -> Unit = mock()
+    private val cancelAction: () -> Unit = mock()
+
+    @Test
+    fun simOnboardingLabelSimImpl_showTitle() {
+        composeTestRule.setContent {
+            SimOnboardingLabelSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_label_sim_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingLabelSimImpl_showSubTitle() {
+        composeTestRule.setContent {
+            SimOnboardingLabelSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_label_sim_msg))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingLabelSimImpl_clickNextAction_verifyNextAction() {
+        composeTestRule.setContent {
+            SimOnboardingLabelSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_next))
+            .performClick()
+
+        verify(nextAction)
+    }
+
+    @Test
+    fun simOnboardingLabelSimImpl_clickCancelAction_verifyCancelAction() {
+        composeTestRule.setContent {
+            SimOnboardingLabelSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.cancel))
+            .performClick()
+
+        verify(cancelAction)
+    }
+
+    @Test
+    fun simOnboardingLabelSimImpl_showItem_show3Items() {
+        mockSimOnboardingService.stub {
+            on { targetSubId }.doReturn(SUB_ID_1)
+            on { targetSubInfo }.doReturn(SUB_INFO_1)
+            on { availableSubInfoList }.doReturn(listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_3))
+            on { activeSubInfoList }.doReturn(listOf(SUB_INFO_2, SUB_INFO_3))
+            on { getSelectableSubscriptionInfoList() }.doReturn(
+                listOf(
+                    SUB_INFO_1,
+                    SUB_INFO_2,
+                    SUB_INFO_3
+                )
+            )
+            on { getSubscriptionInfoDisplayName(SUB_INFO_1) }.doReturn(DISPLAY_NAME_1)
+            on { getSubscriptionInfoDisplayName(SUB_INFO_2) }.doReturn(DISPLAY_NAME_2)
+            on { getSubscriptionInfoDisplayName(SUB_INFO_3) }.doReturn(DISPLAY_NAME_3)
+        }
+
+        composeTestRule.setContent {
+            SimOnboardingLabelSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(DISPLAY_NAME_1).assertIsDisplayed()
+        composeTestRule.onNodeWithText(NUMBER_1).assertIsDisplayed()
+        composeTestRule.onNodeWithText(DISPLAY_NAME_2).assertIsDisplayed()
+        composeTestRule.onNodeWithText(NUMBER_2).assertIsDisplayed()
+        composeTestRule.onNodeWithText(DISPLAY_NAME_3).assertIsDisplayed()
+        composeTestRule.onNodeWithText(NUMBER_3).assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingLabelSimImpl_showDialog_checkTitle() {
+        mockSimOnboardingService.stub {
+            on { targetSubId }.doReturn(SUB_ID_1)
+            on { targetSubInfo }.doReturn(SUB_INFO_1)
+            on { availableSubInfoList }.doReturn(listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_3))
+            on { activeSubInfoList }.doReturn(listOf(SUB_INFO_2, SUB_INFO_3))
+            on { getSelectableSubscriptionInfoList() }.doReturn(
+                listOf(
+                    SUB_INFO_1,
+                    SUB_INFO_2,
+                    SUB_INFO_3
+                )
+            )
+            on { getSubscriptionInfoDisplayName(SUB_INFO_1) }.doReturn(DISPLAY_NAME_1)
+            on { getSubscriptionInfoDisplayName(SUB_INFO_2) }.doReturn(DISPLAY_NAME_2)
+            on { getSubscriptionInfoDisplayName(SUB_INFO_3) }.doReturn(DISPLAY_NAME_3)
+        }
+
+        composeTestRule.setContent {
+            SimOnboardingLabelSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+
+        composeTestRule.onNodeWithText(DISPLAY_NAME_1).performClick()
+
+        composeTestRule.onNodeWithText(
+            context.getString(R.string.sim_onboarding_label_sim_dialog_title)
+        )
+            .assertIsDisplayed()
+    }
+
+    private companion object {
+        const val SUB_ID_1 = 1
+        const val SUB_ID_2 = 2
+        const val SUB_ID_3 = 3
+        const val DISPLAY_NAME_1 = "Sub 1"
+        const val DISPLAY_NAME_2 = "Sub 2"
+        const val DISPLAY_NAME_3 = "Sub 3"
+        const val NUMBER_1 = "000000001"
+        const val NUMBER_2 = "000000002"
+        const val NUMBER_3 = "000000003"
+        const val PRIMARY_SIM_ASK_EVERY_TIME = -1
+
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_1)
+            setDisplayName(DISPLAY_NAME_1)
+            setNumber(NUMBER_1)
+        }.build()
+
+        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_2)
+            setDisplayName(DISPLAY_NAME_2)
+            setNumber(NUMBER_2)
+        }.build()
+
+        val SUB_INFO_3: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_3)
+            setDisplayName(DISPLAY_NAME_3)
+            setNumber(NUMBER_3)
+        }.build()
+    }
+}
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
new file mode 100644
index 0000000..d1847c8
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPageProviderTest.kt
@@ -0,0 +1,126 @@
+/*
+ * 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 androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.compose.ui.test.performClick
+import androidx.navigation.compose.rememberNavController
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.network.SimOnboardingService
+import com.google.common.truth.Truth.assertThat
+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 SimOnboardingPageProviderTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private var mockSimOnboardingService = mock<SimOnboardingService> {
+        on { targetSubId }.doReturn(SUB_ID)
+        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)
+        on { targetPrimarySimTexts }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+        on { targetPrimarySimMobileData }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+    }
+
+    @Test
+    fun simOnboardingPageProvider_name() {
+        assertThat(SimOnboardingPageProvider.name).isEqualTo("SimOnboardingPageProvider")
+    }
+
+    @Test
+    fun simOnboardingPage_labelSim() {
+        composeTestRule.setContent {
+            val navHostController = rememberNavController()
+            PageImpl(mockSimOnboardingService, navHostController)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_label_sim_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingPage_nextAction_fromLabelSimToPrimarySim() {
+        mockSimOnboardingService.stub {
+            on { isMultipleEnabledProfilesSupported }.thenReturn(false)
+        }
+        composeTestRule.setContent {
+            val navHostController = rememberNavController()
+            PageImpl(mockSimOnboardingService, navHostController)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_next))
+            .performClick()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_primary_sim_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingPage_nextAction_fromLabelSimToSelectSim() {
+        mockSimOnboardingService.stub {
+            on { isMultipleEnabledProfilesSupported }.thenReturn(true)
+            on { isAllOfSlotAssigned }.thenReturn(true)
+        }
+
+        composeTestRule.setContent {
+            val navHostController = rememberNavController()
+            PageImpl(mockSimOnboardingService, navHostController)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_next))
+            .performClick()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_select_sim_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingPage_nextAction_fromSelectSimToPrimarySim() {
+        composeTestRule.setContent {
+            val navHostController = rememberNavController()
+            PageImpl(mockSimOnboardingService, navHostController)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_next))
+            .performClick()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_primary_sim_title))
+            .assertIsDisplayed()
+    }
+
+    private companion object {
+        const val SUB_ID = 1
+        const val PRIMARY_SIM_ASK_EVERY_TIME = -1
+    }
+}
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
new file mode 100644
index 0000000..d9c762d
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingPrimarySimTest.kt
@@ -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.spa.network
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import androidx.compose.ui.test.assertIsDisplayed
+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 com.android.settings.network.SimOnboardingService
+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
+import org.mockito.kotlin.verify
+
+
+@RunWith(AndroidJUnit4::class)
+class SimOnboardingPrimarySimTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private var mockSimOnboardingService = mock<SimOnboardingService> {
+        on { targetSubId }.doReturn(-1)
+        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)
+        on { targetPrimarySimTexts }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+        on { targetPrimarySimMobileData }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+    }
+
+    private val nextAction: () -> Unit = mock()
+    private val cancelAction: () -> Unit = mock()
+
+    @Test
+    fun simOnboardingPrimarySimImpl_showTitle() {
+        composeTestRule.setContent {
+            SimOnboardingPrimarySimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_primary_sim_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingPrimarySimImpl_showSubTitle() {
+        composeTestRule.setContent {
+            SimOnboardingPrimarySimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_primary_sim_msg))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingPrimarySimImpl_clickCancelAction_verifyCancelAction() {
+        composeTestRule.setContent {
+            SimOnboardingPrimarySimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.cancel))
+            .performClick()
+
+        verify(cancelAction)
+    }
+
+    private companion object {
+        const val SUB_ID_1 = 1
+        const val SUB_ID_2 = 2
+        const val SUB_ID_3 = 3
+        const val DISPLAY_NAME_1 = "Sub 1"
+        const val DISPLAY_NAME_2 = "Sub 2"
+        const val DISPLAY_NAME_3 = "Sub 3"
+        const val NUMBER_1 = "000000001"
+        const val NUMBER_2 = "000000002"
+        const val NUMBER_3 = "000000003"
+        const val PRIMARY_SIM_ASK_EVERY_TIME = -1
+
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_1)
+            setDisplayName(DISPLAY_NAME_1)
+            setNumber(NUMBER_1)
+        }.build()
+
+        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_2)
+            setDisplayName(DISPLAY_NAME_2)
+            setNumber(NUMBER_2)
+        }.build()
+
+        val SUB_INFO_3: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_3)
+            setDisplayName(DISPLAY_NAME_3)
+            setNumber(NUMBER_3)
+        }.build()
+    }
+}
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
new file mode 100644
index 0000000..e063f69
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/network/SimOnboardingSelectSimTest.kt
@@ -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.spa.network
+
+import android.content.Context
+import android.telephony.SubscriptionInfo
+import androidx.compose.ui.test.assertIsDisplayed
+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 com.android.settings.network.SimOnboardingService
+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
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class SimOnboardingSelectSimTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+    private var mockSimOnboardingService = mock<SimOnboardingService> {
+        on { targetSubId }.doReturn(-1)
+        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)
+        on { targetPrimarySimTexts }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+        on { targetPrimarySimMobileData }.doReturn(PRIMARY_SIM_ASK_EVERY_TIME)
+    }
+
+    private val nextAction: () -> Unit = mock()
+    private val cancelAction: () -> Unit = mock()
+
+    @Test
+    fun simOnboardingSelectSimImpl_showTitle() {
+        composeTestRule.setContent {
+            SimOnboardingSelectSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_select_sim_title))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingSelectSimImpl_showSubTitle() {
+        composeTestRule.setContent {
+            SimOnboardingSelectSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_select_sim_msg))
+            .assertIsDisplayed()
+    }
+
+    @Test
+    fun simOnboardingSelectSimImpl_clickNextAction_verifyNextAction() {
+        composeTestRule.setContent {
+            SimOnboardingSelectSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.sim_onboarding_next))
+            .performClick()
+
+        verify(nextAction)
+    }
+
+    @Test
+    fun simOnboardingSelectSimImpl_clickCancelAction_verifyCancelAction() {
+        composeTestRule.setContent {
+            SimOnboardingSelectSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(context.getString(R.string.cancel))
+            .performClick()
+
+        verify(cancelAction)
+    }
+
+    @Test
+    fun simOnboardingSelectSimImpl_showItem_show3Items() {
+        mockSimOnboardingService.stub {
+            on { targetSubId }.doReturn(SUB_ID_1)
+            on { targetSubInfo }.doReturn(SUB_INFO_1)
+            on { availableSubInfoList }.doReturn(listOf(SUB_INFO_1, SUB_INFO_2, SUB_INFO_3))
+            on { activeSubInfoList }.doReturn(listOf(SUB_INFO_2, SUB_INFO_3))
+            on { getSelectableSubscriptionInfoList() }.doReturn(
+                listOf(
+                    SUB_INFO_1,
+                    SUB_INFO_2,
+                    SUB_INFO_3
+                )
+            )
+            on { getSubscriptionInfoDisplayName(SUB_INFO_1) }.doReturn(DISPLAY_NAME_1)
+            on { getSubscriptionInfoDisplayName(SUB_INFO_2) }.doReturn(DISPLAY_NAME_2)
+            on { getSubscriptionInfoDisplayName(SUB_INFO_3) }.doReturn(DISPLAY_NAME_3)
+        }
+
+        composeTestRule.setContent {
+            SimOnboardingSelectSimImpl(nextAction, cancelAction, mockSimOnboardingService)
+        }
+
+        composeTestRule.onNodeWithText(DISPLAY_NAME_1).assertIsDisplayed()
+        composeTestRule.onNodeWithText(NUMBER_1).assertIsDisplayed()
+        composeTestRule.onNodeWithText(DISPLAY_NAME_2).assertIsDisplayed()
+        composeTestRule.onNodeWithText(NUMBER_2).assertIsDisplayed()
+        composeTestRule.onNodeWithText(DISPLAY_NAME_3).assertIsDisplayed()
+        composeTestRule.onNodeWithText(NUMBER_3).assertIsDisplayed()
+    }
+
+    private companion object {
+        const val SUB_ID_1 = 1
+        const val SUB_ID_2 = 2
+        const val SUB_ID_3 = 3
+        const val DISPLAY_NAME_1 = "Sub 1"
+        const val DISPLAY_NAME_2 = "Sub 2"
+        const val DISPLAY_NAME_3 = "Sub 3"
+        const val NUMBER_1 = "000000001"
+        const val NUMBER_2 = "000000002"
+        const val NUMBER_3 = "000000003"
+        const val PRIMARY_SIM_ASK_EVERY_TIME = -1
+
+        val SUB_INFO_1: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_1)
+            setDisplayName(DISPLAY_NAME_1)
+            setNumber(NUMBER_1)
+        }.build()
+
+        val SUB_INFO_2: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_2)
+            setDisplayName(DISPLAY_NAME_2)
+            setNumber(NUMBER_2)
+        }.build()
+
+        val SUB_INFO_3: SubscriptionInfo = SubscriptionInfo.Builder().apply {
+            setId(SUB_ID_3)
+            setDisplayName(DISPLAY_NAME_3)
+            setNumber(NUMBER_3)
+        }.build()
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/notification/AppNotificationRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/spa/notification/AppNotificationRepositoryTest.kt
index 12fdc23..5dcc671 100644
--- a/tests/spa_unit/src/com/android/settings/spa/notification/AppNotificationRepositoryTest.kt
+++ b/tests/spa_unit/src/com/android/settings/spa/notification/AppNotificationRepositoryTest.kt
@@ -30,11 +30,9 @@
 import androidx.test.core.app.ApplicationProvider
 import androidx.test.ext.junit.runners.AndroidJUnit4
 import com.android.settings.R
-import com.android.settingslib.spa.testutils.any
 import com.android.settingslib.spaprivileged.model.app.IPackageManagers
 import com.android.settingslib.spaprivileged.model.app.userId
 import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.first
 import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.test.runTest
@@ -43,13 +41,13 @@
 import org.junit.Test
 import org.junit.runner.RunWith
 import org.mockito.Mock
-import org.mockito.Mockito.eq
-import org.mockito.Mockito.verify
 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.eq
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
 
-@OptIn(ExperimentalCoroutinesApi::class)
 @RunWith(AndroidJUnit4::class)
 class AppNotificationRepositoryTest {
     @get:Rule
diff --git a/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt
new file mode 100644
index 0000000..cdfa514
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceControllerTest.kt
@@ -0,0 +1,73 @@
+/*
+ * 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.spa.preference
+
+import android.content.Context
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class ComposePreferenceControllerTest {
+
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val controller = object : ComposePreferenceController(
+        context = context,
+        preferenceKey = TEST_KEY,
+    ) {
+        override fun getAvailabilityStatus() = AVAILABLE
+
+        @Composable
+        override fun Content() {
+            Text(TEXT)
+        }
+    }
+
+    private val preference = ComposePreference(context).apply {
+        key = TEST_KEY
+    }
+
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+        .apply { addPreference(preference) }
+
+    @Test
+    fun displayPreference() {
+        controller.displayPreference(preferenceScreen)
+
+        composeTestRule.setContent {
+            preference.Content()
+        }
+        composeTestRule.onNodeWithText(TEXT).assertIsDisplayed()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+        const val TEXT = "Text"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt
new file mode 100644
index 0000000..a2fe752
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/spa/preference/ComposePreferenceTest.kt
@@ -0,0 +1,61 @@
+/*
+ * 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.spa.preference
+
+import android.content.Context
+import androidx.compose.material3.Text
+import androidx.compose.ui.platform.ComposeView
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithText
+import androidx.preference.PreferenceViewHolder
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class ComposePreferenceTest {
+
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    private val preference = ComposePreference(context)
+
+    private val composeView = ComposeView(context)
+
+    @Test
+    fun onBindViewHolder() {
+        preference.setContent {
+            Text(TEXT)
+        }
+
+        preference.onBindViewHolder(PreferenceViewHolder.createInstanceForTests(composeView))
+
+        composeTestRule.setContent {
+            composeView.Content()
+        }
+        composeTestRule.onNodeWithText(TEXT).assertIsDisplayed()
+    }
+
+    private companion object {
+        const val TEXT = "Text"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt
new file mode 100644
index 0000000..2f52031
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/ClientInitiatedActionRepositoryTest.kt
@@ -0,0 +1,77 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.content.Intent
+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.Test
+import org.junit.runner.RunWith
+import org.mockito.kotlin.any
+import org.mockito.kotlin.argumentCaptor
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+
+@RunWith(AndroidJUnit4::class)
+class ClientInitiatedActionRepositoryTest {
+    private val mockCarrierConfigManager = mock<CarrierConfigManager>()
+
+    private val context = mock<Context> {
+        on { applicationContext } doReturn mock
+        on { getSystemService(CarrierConfigManager::class.java) } doReturn mockCarrierConfigManager
+    }
+
+    private val repository = ClientInitiatedActionRepository(context)
+
+    @Test
+    fun onSystemUpdate_notEnabled() {
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), any()) } doReturn persistableBundleOf()
+        }
+
+        repository.onSystemUpdate()
+
+        verify(context, never()).sendBroadcast(any())
+    }
+
+    @Test
+    fun onSystemUpdate_enabled() {
+        mockCarrierConfigManager.stub {
+            on { getConfigForSubId(any(), any()) } doReturn persistableBundleOf(
+                CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_BOOL to true,
+                CarrierConfigManager.KEY_CI_ACTION_ON_SYS_UPDATE_INTENT_STRING to ACTION,
+            )
+        }
+
+        repository.onSystemUpdate()
+
+        val intent = argumentCaptor<Intent> {
+            verify(context).sendBroadcast(capture())
+        }.firstValue
+        assertThat(intent.action).isEqualTo(ACTION)
+    }
+
+    private companion object {
+        const val ACTION = "ACTION"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt b/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt
new file mode 100644
index 0000000..ad2fbae
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/DeveloperOptionsControllerTest.kt
@@ -0,0 +1,113 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.content.Intent
+import android.os.UserManager
+import androidx.compose.ui.test.assertIsDisplayed
+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.SettingsActivity
+import com.android.settings.core.BasePreferenceController
+import com.android.settings.development.DevelopmentSettingsDashboardFragment
+import com.android.settingslib.spaprivileged.framework.common.userManager
+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.argumentCaptor
+import org.mockito.kotlin.doNothing
+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 DeveloperOptionsControllerTest {
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private val mockUserManager = mock<UserManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { userManager } doReturn mockUserManager
+        doNothing().whenever(mock).startActivity(any())
+    }
+
+    private val controller = DeveloperOptionsController(context, TEST_KEY)
+
+    @Test
+    fun getAvailabilityStatus_isAdminUser_returnAvailable() {
+        mockUserManager.stub {
+            on { isAdminUser } doReturn true
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.AVAILABLE)
+    }
+
+    @Test
+    fun getAvailabilityStatus_notAdminUser_returnDisabledForUser() {
+        mockUserManager.stub {
+            on { isAdminUser } doReturn false
+        }
+
+        val availabilityStatus = controller.getAvailabilityStatus()
+
+        assertThat(availabilityStatus).isEqualTo(BasePreferenceController.DISABLED_FOR_USER)
+    }
+
+    @Test
+    fun title_isDisplayed() {
+        composeTestRule.setContent {
+            controller.DeveloperOptionsPreference()
+        }
+
+        composeTestRule.onNodeWithText(
+            context.getString(com.android.settingslib.R.string.development_settings_title)
+        ).assertIsDisplayed()
+    }
+
+    @Test
+    fun onClick_launchDevelopmentSettingsDashboardFragment() {
+        composeTestRule.setContent {
+            controller.DeveloperOptionsPreference()
+        }
+
+        composeTestRule.onNodeWithText(
+            context.getString(com.android.settingslib.R.string.development_settings_title)
+        ).performClick()
+
+        val intent = argumentCaptor<Intent> {
+            verify(context).startActivity(capture())
+        }.firstValue
+        assertThat(intent.getStringExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT))
+            .isEqualTo(DevelopmentSettingsDashboardFragment::class.qualifiedName)
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/SystemUpdateManagerExtKtTest.kt b/tests/spa_unit/src/com/android/settings/system/SystemUpdateManagerExtKtTest.kt
new file mode 100644
index 0000000..0ba91df
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/SystemUpdateManagerExtKtTest.kt
@@ -0,0 +1,52 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.os.Bundle
+import android.os.SystemUpdateManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.test.runTest
+
+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.whenever
+
+@RunWith(AndroidJUnit4::class)
+class SystemUpdateManagerExtKtTest {
+
+    private val mockSystemUpdateManager = mock<SystemUpdateManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { getSystemService(SystemUpdateManager::class.java) } doReturn mockSystemUpdateManager
+    }
+
+    @Test
+    fun getSystemUpdateInfo() = runTest {
+        val bundle = Bundle()
+        whenever(mockSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle)
+
+        val info = context.getSystemUpdateInfo()
+
+        assertThat(info).isSameInstanceAs(bundle)
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.kt
new file mode 100644
index 0000000..17cdf04
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/SystemUpdatePreferenceControllerTest.kt
@@ -0,0 +1,168 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.os.Build
+import android.os.Bundle
+import android.os.SystemClock
+import android.os.SystemUpdateManager
+import android.os.UserManager
+import androidx.lifecycle.testing.TestLifecycleOwner
+import androidx.preference.Preference
+import androidx.preference.PreferenceScreen
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settingslib.spaprivileged.framework.common.userManager
+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.whenever
+
+@RunWith(AndroidJUnit4::class)
+class SystemUpdatePreferenceControllerTest {
+    private val mockUserManager = mock<UserManager>()
+    private val mockSystemUpdateManager = mock<SystemUpdateManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { userManager } doReturn mockUserManager
+        on { getSystemService(SystemUpdateManager::class.java) } doReturn mockSystemUpdateManager
+    }
+
+    private val resources = spy(context.resources) {
+        on { getBoolean(R.bool.config_show_system_update_settings) } doReturn true
+    }
+
+    private val preference = Preference(context).apply { key = KEY }
+    private val preferenceScreen = mock<PreferenceScreen> {
+        onGeneric { findPreference(KEY) } doReturn preference
+    }
+    private val controller = SystemUpdatePreferenceController(context, KEY)
+
+    @Before
+    fun setUp() {
+        whenever(context.resources).thenReturn(resources)
+    }
+
+    @Test
+    fun updateNonIndexable_ifAvailable_shouldNotUpdate() {
+        whenever(mockUserManager.isAdminUser).thenReturn(true)
+        val keys = mutableListOf<String>()
+
+        controller.updateNonIndexableKeys(keys)
+
+        assertThat(keys).isEmpty()
+    }
+
+    @Test
+    fun updateNonIndexable_ifNotAvailable_shouldUpdate() {
+        whenever(mockUserManager.isAdminUser).thenReturn(false)
+        val keys = mutableListOf<String>()
+
+        controller.updateNonIndexableKeys(keys)
+
+        assertThat(keys).containsExactly(KEY)
+    }
+
+    @Test
+    fun displayPrefs_ifVisible_butNotAdminUser_shouldNotDisplay() {
+        whenever(mockUserManager.isAdminUser).thenReturn(false)
+
+        controller.displayPreference(preferenceScreen)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    @Test
+    fun displayPrefs_ifAdminUser_butNotVisible_shouldNotDisplay() {
+        whenever(mockUserManager.isAdminUser).thenReturn(true)
+        whenever(resources.getBoolean(R.bool.config_show_system_update_settings)).thenReturn(false)
+
+        controller.displayPreference(preferenceScreen)
+
+        assertThat(preference.isVisible).isFalse()
+    }
+
+    @Test
+    fun displayPrefs_ifAvailable_shouldDisplay() {
+        whenever(mockUserManager.isAdminUser).thenReturn(true)
+
+        controller.displayPreference(preferenceScreen)
+
+        assertThat(preference.isVisible).isTrue()
+    }
+
+    @Test
+    fun updateState_systemUpdateStatusUnknown_shouldSetToAndroidVersion() {
+        val bundle = Bundle().apply {
+            putInt(SystemUpdateManager.KEY_STATUS, SystemUpdateManager.STATUS_UNKNOWN)
+        }
+        whenever(mockSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle)
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        SystemClock.sleep(100)
+
+        assertThat(preference.summary).isEqualTo(
+            context.getString(
+                R.string.android_version_summary,
+                Build.VERSION.RELEASE_OR_PREVIEW_DISPLAY,
+            )
+        )
+    }
+
+    @Test
+    fun updateState_systemUpdateStatusIdle_shouldSetToAndroidVersion() {
+        val testReleaseName = "ANDROID TEST VERSION"
+        val bundle = Bundle().apply {
+            putInt(SystemUpdateManager.KEY_STATUS, SystemUpdateManager.STATUS_IDLE)
+            putString(SystemUpdateManager.KEY_TITLE, testReleaseName)
+        }
+        whenever(mockSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle)
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        SystemClock.sleep(100)
+
+        assertThat(preference.summary)
+            .isEqualTo(context.getString(R.string.android_version_summary, testReleaseName))
+    }
+
+    @Test
+    fun updateState_systemUpdateInProgress_shouldSetToUpdatePending() {
+        val bundle = Bundle().apply {
+            putInt(SystemUpdateManager.KEY_STATUS, SystemUpdateManager.STATUS_WAITING_DOWNLOAD)
+        }
+        whenever(mockSystemUpdateManager.retrieveSystemUpdateInfo()).thenReturn(bundle)
+        controller.displayPreference(preferenceScreen)
+
+        controller.onViewCreated(TestLifecycleOwner())
+        SystemClock.sleep(100)
+
+        assertThat(preference.summary)
+            .isEqualTo(context.getString(R.string.android_version_pending_update_summary))
+    }
+
+    private companion object {
+        const val KEY = "test_key"
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/system/SystemUpdateRepositoryTest.kt b/tests/spa_unit/src/com/android/settings/system/SystemUpdateRepositoryTest.kt
new file mode 100644
index 0000000..ea4617a
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/system/SystemUpdateRepositoryTest.kt
@@ -0,0 +1,80 @@
+/*
+ * 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.system
+
+import android.content.Context
+import android.content.pm.ActivityInfo
+import android.content.pm.PackageManager
+import android.content.pm.ResolveInfo
+import android.provider.Settings
+import androidx.test.core.app.ApplicationProvider
+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.ArgumentMatchers.eq
+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
+
+@RunWith(AndroidJUnit4::class)
+class SystemUpdateRepositoryTest {
+    private val mockPackageManager = mock<PackageManager>()
+
+    private val context: Context = spy(ApplicationProvider.getApplicationContext()) {
+        on { packageManager } doReturn mockPackageManager
+    }
+
+    private val repository = SystemUpdateRepository(context)
+
+    @Test
+    fun getSystemUpdateIntent_noResolveActivity_returnNull() {
+        val intent = repository.getSystemUpdateIntent()
+
+        assertThat(intent).isNull()
+    }
+
+    @Test
+    fun getSystemUpdateIntent_hasResolveActivity_returnIntent() {
+        mockPackageManager.stub {
+            on {
+                resolveActivity(
+                    argThat { action == Settings.ACTION_SYSTEM_UPDATE_SETTINGS },
+                    eq(PackageManager.MATCH_SYSTEM_ONLY),
+                )
+            } doReturn RESOLVE_INFO
+        }
+
+        val intent = repository.getSystemUpdateIntent()
+
+        assertThat(intent?.component?.packageName).isEqualTo(PACKAGE_NAME)
+        assertThat(intent?.component?.className).isEqualTo(ACTIVITY_NAME)
+    }
+
+    private companion object {
+        const val PACKAGE_NAME = "package.name"
+        const val ACTIVITY_NAME = "ActivityName"
+        val RESOLVE_INFO = ResolveInfo().apply {
+            activityInfo = ActivityInfo().apply {
+                packageName = PACKAGE_NAME
+                name = ACTIVITY_NAME
+            }
+        }
+    }
+}
diff --git a/tests/spa_unit/src/com/android/settings/testutils/ContextTestUtil.kt b/tests/spa_unit/src/com/android/settings/testutils/ContextTestUtil.kt
index 43b7a20..a2b479c 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/ContextTestUtil.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/ContextTestUtil.kt
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2022 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,10 +17,11 @@
 package com.android.settings.testutils
 
 import android.content.Context
-import org.mockito.Mockito.any
-import org.mockito.Mockito.doReturn
-import org.mockito.Mockito.eq
+import org.mockito.kotlin.any
+import org.mockito.kotlin.doReturn
+import org.mockito.kotlin.eq
+import org.mockito.kotlin.whenever
 
 fun Context.mockAsUser() {
-    doReturn(this).`when`(this).createContextAsUser(any(), eq(0))
+    doReturn(this).whenever(this).createContextAsUser(any(), eq(0))
 }
diff --git a/tests/spa_unit/src/com/android/settings/testutils/DateTimeTestUtil.kt b/tests/spa_unit/src/com/android/settings/testutils/DateTimeTestUtil.kt
new file mode 100644
index 0000000..2a5f137
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/testutils/DateTimeTestUtil.kt
@@ -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.
+ */
+
+package com.android.settings.testutils
+
+import java.time.Instant
+import java.time.ZoneId
+import java.time.ZonedDateTime
+
+fun zonedDateTime(epochMilli: Long): ZonedDateTime? =
+    ZonedDateTime.ofInstant(Instant.ofEpochMilli(epochMilli), ZoneId.systemDefault())
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 6320fc7..606db8e 100644
--- a/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
+++ b/tests/spa_unit/src/com/android/settings/testutils/FakeFeatureFactory.kt
@@ -21,27 +21,29 @@
 import com.android.settings.accessibility.AccessibilitySearchFeatureProvider
 import com.android.settings.accounts.AccountFeatureProvider
 import com.android.settings.applications.ApplicationFeatureProvider
-import com.android.settings.aware.AwareFeatureProvider
 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.audiosharing.AudioSharingFeatureProvider
+import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider
 import com.android.settings.dashboard.DashboardFeatureProvider
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider
+import com.android.settings.display.DisplayFeatureProvider
 import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider
 import com.android.settings.fuelgauge.BatterySettingsFeatureProvider
 import com.android.settings.fuelgauge.BatteryStatusFeatureProvider
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider
-import com.android.settings.gestures.AssistGestureFeatureProvider
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider
 import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider
 import com.android.settings.localepicker.LocaleFeatureProvider
 import com.android.settings.overlay.DockUpdaterFeatureProvider
 import com.android.settings.overlay.FeatureFactory
-import com.android.settings.overlay.SupportFeatureProvider
 import com.android.settings.overlay.SurveyFeatureProvider
 import com.android.settings.panel.PanelFeatureProvider
+import com.android.settings.privatespace.PrivateSpaceLoginFeatureProvider
 import com.android.settings.search.SearchFeatureProvider
 import com.android.settings.security.SecurityFeatureProvider
 import com.android.settings.security.SecuritySettingsFeatureProvider
@@ -49,7 +51,7 @@
 import com.android.settings.users.UserFeatureProvider
 import com.android.settings.vpn2.AdvancedVpnFeatureProvider
 import com.android.settings.wifi.WifiTrackerLibProvider
-import com.android.settings.wifi.factory.WifiFeatureProvider;
+import com.android.settings.wifi.factory.WifiFeatureProvider
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider
 import org.mockito.Mockito.mock
 
@@ -61,138 +63,93 @@
         mock(ApplicationFeatureProvider::class.java)
 
     init {
-        sFactory = this
+        setFactory(appContext, this)
     }
 
-    override fun getAssistGestureFeatureProvider(): AssistGestureFeatureProvider {
+    override val suggestionFeatureProvider: SuggestionFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val hardwareInfoFeatureProvider: HardwareInfoFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val metricsFeatureProvider = mockMetricsFeatureProvider
+
+    override val powerUsageFeatureProvider: PowerUsageFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val batteryStatusFeatureProvider: BatteryStatusFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val batterySettingsFeatureProvider: BatterySettingsFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val dashboardFeatureProvider: DashboardFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val dockUpdaterFeatureProvider: DockUpdaterFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val applicationFeatureProvider = mockApplicationFeatureProvider
+
+    override val localeFeatureProvider: LocaleFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val enterprisePrivacyFeatureProvider: EnterprisePrivacyFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val searchFeatureProvider: SearchFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override fun getSurveyFeatureProvider(context: Context): SurveyFeatureProvider? {
         TODO("Not yet implemented")
     }
 
-    override fun getSuggestionFeatureProvider(): SuggestionFeatureProvider {
+    override val securityFeatureProvider: SecurityFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val userFeatureProvider: UserFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override val slicesFeatureProvider: SlicesFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val accountFeatureProvider: AccountFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val panelFeatureProvider: PanelFeatureProvider
+        get() = TODO("Not yet implemented")
+
+    override fun getContextualCardFeatureProvider(context: Context): ContextualCardFeatureProvider {
         TODO("Not yet implemented")
     }
 
-    override fun getSupportFeatureProvider(context: Context?): SupportFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getMetricsFeatureProvider(): MetricsFeatureProvider = mockMetricsFeatureProvider
-
-    override fun getPowerUsageFeatureProvider(context: Context?): PowerUsageFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getBatteryStatusFeatureProvider(context: Context?): BatteryStatusFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getBatterySettingsFeatureProvider(): BatterySettingsFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getDashboardFeatureProvider(context: Context?): DashboardFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getDockUpdaterFeatureProvider(): DockUpdaterFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getApplicationFeatureProvider(context: Context?) = mockApplicationFeatureProvider
-
-    override fun getLocaleFeatureProvider(): LocaleFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getEnterprisePrivacyFeatureProvider(
-        context: Context?,
-    ): EnterprisePrivacyFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getSearchFeatureProvider(): SearchFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getSurveyFeatureProvider(context: Context?): SurveyFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getSecurityFeatureProvider(): SecurityFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getUserFeatureProvider(context: Context?): UserFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getSlicesFeatureProvider(): SlicesFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getAccountFeatureProvider(): AccountFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getPanelFeatureProvider(): PanelFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getContextualCardFeatureProvider(
-        context: Context?,
-    ): ContextualCardFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getBluetoothFeatureProvider(): BluetoothFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getAwareFeatureProvider(): AwareFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getFaceFeatureProvider(): FaceFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getBiometricsRepositoryProvider(): BiometricsRepositoryProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getWifiTrackerLibProvider(): WifiTrackerLibProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getSecuritySettingsFeatureProvider(): SecuritySettingsFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getAccessibilitySearchFeatureProvider(): AccessibilitySearchFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getAccessibilityMetricsFeatureProvider(): AccessibilityMetricsFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getHardwareInfoFeatureProvider(): HardwareInfoFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getAdvancedVpnFeatureProvider(): AdvancedVpnFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getWifiFeatureProvider(): WifiFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getKeyboardSettingsFeatureProvider(): KeyboardSettingsFeatureProvider {
-        TODO("Not yet implemented")
-    }
-
-    override fun getStylusFeatureProvider(): StylusFeatureProvider {
-        TODO("Not yet implemented")
-    }
+    override val bluetoothFeatureProvider: BluetoothFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val faceFeatureProvider: FaceFeatureProvider
+        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
+        get() = TODO("Not yet implemented")
+    override val accessibilitySearchFeatureProvider: AccessibilitySearchFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val accessibilityMetricsFeatureProvider: AccessibilityMetricsFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val advancedVpnFeatureProvider: AdvancedVpnFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val wifiFeatureProvider: WifiFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val keyboardSettingsFeatureProvider: KeyboardSettingsFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val stylusFeatureProvider: StylusFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val fastPairFeatureProvider: FastPairFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val privateSpaceLoginFeatureProvider: PrivateSpaceLoginFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val displayFeatureProvider: DisplayFeatureProvider
+        get() = TODO("Not yet implemented")
+    override val audioSharingFeatureProvider: AudioSharingFeatureProvider
+        get() = TODO("Not yet implemented")
 }
diff --git a/tests/spa_unit/src/com/android/settings/widget/CardPreferenceTest.kt b/tests/spa_unit/src/com/android/settings/widget/CardPreferenceTest.kt
new file mode 100644
index 0000000..0483e36
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/widget/CardPreferenceTest.kt
@@ -0,0 +1,240 @@
+/*
+ * 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.widget
+
+import android.content.Context
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.test.assertContentDescriptionEquals
+import androidx.compose.ui.test.assertIsDisplayed
+import androidx.compose.ui.test.assertIsNotDisplayed
+import androidx.compose.ui.test.junit4.createComposeRule
+import androidx.compose.ui.test.onNodeWithContentDescription
+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 com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class CardPreferenceTest {
+
+    @get:Rule val composeTestRule = createComposeRule()
+    private lateinit var context: Context
+
+    @Before
+    fun setUp() {
+        context = ApplicationProvider.getApplicationContext()
+    }
+
+    @Test
+    fun enableDismiss_whenEnable_shouldBeDisplayed() {
+        composeTestRule.setContent { buildCardPreference(enableDismiss = true) }
+
+        composeTestRule.onNodeWithContentDescription("Dismiss").assertIsDisplayed()
+    }
+
+    @Test
+    fun enableDismiss_whenDisable_shouldBeDisplayed() {
+        composeTestRule.setContent { buildCardPreference(enableDismiss = false) }
+
+        composeTestRule.onNodeWithContentDescription("Dismiss").assertIsNotDisplayed()
+    }
+
+    @Test
+    fun primaryButton_whenVisible_shouldBeDisplayed() {
+        val expectedPrimaryButtonText = "You can see me"
+        composeTestRule.setContent {
+            buildCardPreference(
+                primaryButtonText = expectedPrimaryButtonText,
+                primaryButtonVisibility = true,
+            )
+        }
+
+        composeTestRule.onNodeWithText(expectedPrimaryButtonText).assertIsDisplayed()
+    }
+
+    @Test
+    fun primaryButton_whenInvisible_shouldBeDisplayed() {
+        val expectedButtonText = "You cannot see me"
+        composeTestRule.setContent {
+            buildCardPreference(
+                primaryButtonText = expectedButtonText,
+                primaryButtonVisibility = false,
+            )
+        }
+
+        composeTestRule.onNodeWithText(expectedButtonText).assertIsNotDisplayed()
+    }
+
+    @Test
+    fun primaryButtonAction_whenClick_performAction() {
+        val buttonText = "click me"
+        var clicked = false
+        composeTestRule.setContent {
+            buildCardPreference(
+                primaryButtonText = buttonText,
+                primaryButtonVisibility = true,
+                primaryButtonAction = { clicked = true }
+            )
+        }
+
+        composeTestRule.onNodeWithText(buttonText).performClick()
+
+        assertThat(clicked).isTrue()
+    }
+
+    @Test
+    fun primaryButtonContentDescription_whenSet_shouldBeExists() {
+        val expectedText = "this is a content description"
+        val buttonText = "primary-button"
+        composeTestRule.setContent {
+            buildCardPreference(
+                primaryButtonText = buttonText,
+                primaryButtonContentDescription = expectedText,
+                primaryButtonVisibility = true,
+            )
+        }
+
+        composeTestRule.onNodeWithText(buttonText).assertContentDescriptionEquals(expectedText)
+    }
+
+    @Test
+    fun secondaryButton_whenVisible_shouldBeDisplayed() {
+        val expectedSecondaryButtonText = "You can see me"
+        composeTestRule.setContent {
+            buildCardPreference(
+                secondaryButtonText = expectedSecondaryButtonText,
+                secondaryButtonVisibility = true,
+            )
+        }
+
+        composeTestRule.onNodeWithText(expectedSecondaryButtonText).assertIsDisplayed()
+    }
+
+    @Test
+    fun secondaryButton_whenInvisible_shouldBeDisplayed() {
+        val expectedButtonText = "You cannot see me"
+        composeTestRule.setContent {
+            buildCardPreference(
+                secondaryButtonText = expectedButtonText,
+                secondaryButtonVisibility = false,
+            )
+        }
+
+        composeTestRule.onNodeWithText(expectedButtonText).assertIsNotDisplayed()
+    }
+
+    @Test
+    fun secondaryButtonAction_whenClick_performAction() {
+        val buttonText = "click me2"
+        var clicked = false
+        composeTestRule.setContent {
+            buildCardPreference(
+                secondaryButtonText = buttonText,
+                secondaryButtonVisibility = true,
+                secondaryButtonAction = { clicked = true }
+            )
+        }
+
+        composeTestRule.onNodeWithText(buttonText).performClick()
+
+        assertThat(clicked).isTrue()
+    }
+
+    @Test
+    fun secondaryButtonContentDescription_whenSet_shouldBeExists() {
+        val expectedText = "found bug yay"
+        val buttonText = "secondary-button"
+        composeTestRule.setContent {
+            buildCardPreference(
+                secondaryButtonText = buttonText,
+                secondaryButtonContentDescription = expectedText,
+                secondaryButtonVisibility = true,
+            )
+        }
+
+        composeTestRule.onNodeWithText(buttonText).assertContentDescriptionEquals(expectedText)
+    }
+
+    @Test
+    fun resetLayoutState_shouldRemoveThePrimaryButton() {
+        val buttonText = "9527"
+        val cardPreference =
+            CardPreference(context)
+                .apply {
+                    primaryButtonText = buttonText
+                    primaryButtonVisibility = true
+                }
+                .also { it.buildContent() }
+
+        cardPreference.resetLayoutState()
+        composeTestRule.setContent { cardPreference.Content() }
+
+        composeTestRule.onNodeWithText(buttonText).assertDoesNotExist()
+    }
+
+    @Test
+    fun resetLayoutState_shouldRemoveTheSecondaryButton() {
+        val buttonText = "4567"
+        val cardPreference =
+            CardPreference(context)
+                .apply {
+                    secondaryButtonText = buttonText
+                    secondaryButtonVisibility = true
+                }
+                .also { it.buildContent() }
+
+        cardPreference.resetLayoutState()
+        composeTestRule.setContent { cardPreference.Content() }
+
+        composeTestRule.onNodeWithText(buttonText).assertDoesNotExist()
+    }
+
+    @Composable
+    private fun buildCardPreference(
+        iconResId: Int? = R.drawable.ic_battery_status_protected_24dp,
+        primaryButtonText: String = "primary text",
+        primaryButtonContentDescription: String? = "primary description",
+        primaryButtonAction: () -> Unit = {},
+        primaryButtonVisibility: Boolean = false,
+        secondaryButtonText: String = "secondary button",
+        secondaryButtonContentDescription: String? = null,
+        secondaryButtonAction: () -> Unit = {},
+        secondaryButtonVisibility: Boolean = false,
+        enableDismiss: Boolean = true,
+    ) =
+        CardPreference(context)
+            .apply {
+                this.iconResId = iconResId
+                this.primaryButtonText = primaryButtonText
+                this.primaryButtonContentDescription = primaryButtonContentDescription
+                this.primaryButtonAction = primaryButtonAction
+                this.primaryButtonVisibility = primaryButtonVisibility
+                this.secondaryButtonText = secondaryButtonText
+                this.secondaryButtonContentDescription = secondaryButtonContentDescription
+                this.secondaryButtonAction = secondaryButtonAction
+                this.secondaryButtonVisibility = secondaryButtonVisibility
+                this.enableDismiss(enableDismiss)
+            }
+            .also { it.buildContent() }
+            .Content()
+}
diff --git a/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.kt b/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.kt
new file mode 100644
index 0000000..994abbf
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/wifi/WepNetworksPreferenceControllerTest.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.wifi
+
+import android.content.Context
+import android.net.wifi.WifiManager
+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.compose.ui.test.onRoot
+import androidx.compose.ui.test.performClick
+import androidx.preference.PreferenceManager
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.spa.preference.ComposePreference
+import java.util.function.Consumer
+import org.junit.Before
+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
+
+@RunWith(AndroidJUnit4::class)
+class WepNetworksPreferenceControllerTest {
+
+    @get:Rule
+    val composeTestRule = createComposeRule()
+
+    private var wepAllowed = true
+
+    private val mockWifiManager = mock<WifiManager> {
+        on { queryWepAllowed(any(), any()) } doAnswer {
+            @Suppress("UNCHECKED_CAST")
+            val consumer = it.arguments[1] as Consumer<Boolean>
+            consumer.accept(wepAllowed)
+        }
+        on { it.isWepSupported } doReturn true
+    }
+
+    private var context: Context =
+        spy(ApplicationProvider.getApplicationContext()) {
+            on { getSystemService(WifiManager::class.java) } doReturn mockWifiManager
+        }
+    private var controller = WepNetworksPreferenceController(context, TEST_KEY)
+
+    private val preference = ComposePreference(context).apply { key = TEST_KEY }
+    private val preferenceScreen = PreferenceManager(context).createPreferenceScreen(context)
+
+
+    @Before
+    fun setUp() {
+        preferenceScreen.addPreference(preference)
+        controller.displayPreference(preferenceScreen)
+    }
+
+    @Test
+    fun wepAllowedTrue_turnOn() {
+        wepAllowed = true
+        composeTestRule.setContent {
+            controller.Content()
+        }
+        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+            .assertIsOn()
+    }
+
+    @Test
+    fun wepAllowedFalse_turnOff() {
+        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.onRoot().performClick()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+            .assertIsOn()
+    }
+
+    @Test
+    fun onClick_turnOff() {
+        wepAllowed = true
+        composeTestRule.setContent {
+            controller.Content()
+        }
+
+        composeTestRule.onRoot().performClick()
+
+        composeTestRule.onNodeWithText(context.getString(R.string.wifi_allow_wep_networks))
+            .assertIsOff()
+    }
+
+    private companion object {
+        const val TEST_KEY = "test_key"
+    }
+}
\ 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
new file mode 100644
index 0000000..cb1f997
--- /dev/null
+++ b/tests/spa_unit/src/com/android/settings/wifi/details2/WifiPrivacyPreferenceController2Test.kt
@@ -0,0 +1,143 @@
+/*
+ * 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.wifi.details2
+
+import android.content.Context
+import androidx.preference.ListPreference
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.wifitrackerlib.WifiEntry
+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.doReturn
+import org.mockito.kotlin.mock
+import org.mockito.kotlin.never
+import org.mockito.kotlin.spy
+import org.mockito.kotlin.stub
+import org.mockito.kotlin.verify
+import org.mockito.kotlin.whenever
+
+@RunWith(AndroidJUnit4::class)
+class WifiPrivacyPreferenceController2Test {
+    private var mockWifiEntry = mock<WifiEntry>()
+
+    private var context: Context = ApplicationProvider.getApplicationContext()
+
+    private var controller = spy(WifiPrivacyPreferenceController2(context).apply {
+        setWifiEntry(mockWifiEntry)
+    })
+
+    private var preference = ListPreference(context).apply {
+        setEntries(R.array.wifi_privacy_entries)
+        setEntryValues(R.array.wifi_privacy_values)
+    }
+
+    private var preferenceStrings = context.resources.getStringArray(R.array.wifi_privacy_entries)
+
+    @Test
+    fun updateState_wifiPrivacy_setCorrectValue() {
+        controller.stub {
+            doReturn(WifiEntry.PRIVACY_DEVICE_MAC).whenever(mock).randomizationValue
+        }
+
+        controller.updateState(preference)
+
+        val prefValue = WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
+            WifiEntry.PRIVACY_DEVICE_MAC
+        )
+        assertThat(preference.entry).isEqualTo(preferenceStrings[prefValue])
+    }
+
+    @Test
+    fun updateState_wifiNotMetered_setCorrectValue() {
+        controller.stub {
+            doReturn(WifiEntry.PRIVACY_RANDOMIZED_MAC).whenever(mock).randomizationValue
+        }
+
+        controller.updateState(preference)
+
+        val prefValue = WifiPrivacyPreferenceController2.translateMacRandomizedValueToPrefValue(
+            WifiEntry.PRIVACY_RANDOMIZED_MAC
+        )
+        assertThat(preference.entry).isEqualTo(preferenceStrings[prefValue])
+    }
+
+    @Test
+    fun updateState_canSetPrivacyInNextUpdate_shouldBeSelectable() {
+        mockWifiEntry.stub {
+            // Return false in WifiEntry#canSetPrivacy to make preference un-selectable first.
+            on { canSetPrivacy() } doReturn false
+        }
+        controller.updateState(preference)
+        assertThat(preference.isSelectable).isFalse()
+
+        mockWifiEntry.stub {
+            // Return true in WifiEntry#canSetPrivacy to verify preference back to selectable.
+            on { canSetPrivacy() } doReturn true
+        }
+        controller.updateState(preference)
+        assertThat(preference.isSelectable).isTrue()
+    }
+
+    @Test
+    fun updateState_canNotSetPrivacyInNextUpdate_shouldNotBeSelectable() {
+        mockWifiEntry.stub {
+            // Return true in WifiEntry#canSetPrivacy to make preference selectable first.
+            on { canSetPrivacy() } doReturn true
+        }
+        controller.updateState(preference)
+        assertThat(preference.isSelectable).isTrue()
+
+        mockWifiEntry.stub {
+            // Return false in WifiEntry#canSetPrivacy to verify preference back to un-selectable.
+            on { canSetPrivacy() } doReturn false
+        }
+        controller.updateState(preference)
+        assertThat(preference.isSelectable).isFalse()
+    }
+
+    @Test
+    fun onPreferenceChange_sameNewValue_doNoting() {
+        mockWifiEntry.stub {
+            on { privacy } doReturn 0
+            on { connectedState } doReturn WifiEntry.CONNECTED_STATE_CONNECTED
+        }
+
+        controller.onPreferenceChange(preference, "0")
+
+        verify(mockWifiEntry, never()).privacy = any()
+        verify(mockWifiEntry, never()).disconnect(null)
+        verify(mockWifiEntry, never()).connect(null)
+    }
+
+    @Test
+    fun onPreferenceChange_differentNewValue_setAndReconnect() {
+        mockWifiEntry.stub {
+            on { privacy } doReturn 0
+            on { connectedState } doReturn WifiEntry.CONNECTED_STATE_CONNECTED
+        }
+
+        controller.onPreferenceChange(preference, "1")
+
+        verify(mockWifiEntry).privacy = 1
+        verify(mockWifiEntry).disconnect(null)
+        verify(mockWifiEntry).connect(null)
+    }
+}
diff --git a/tests/uitests/Android.bp b/tests/uitests/Android.bp
index 8636c81..d5852b3 100644
--- a/tests/uitests/Android.bp
+++ b/tests/uitests/Android.bp
@@ -13,6 +13,7 @@
 // limitations under the License.
 
 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"
@@ -26,7 +27,10 @@
     platform_apis: true,
     certificate: "platform",
     test_suites: ["device-tests"],
-    srcs: ["src/**/*.java"],
+    srcs: [
+        "src/**/*.java",
+        "src/**/*.kt",
+    ],
 
     libs: [
         "android.test.runner",
@@ -34,7 +38,9 @@
     ],
 
     static_libs: [
+        "androidx.test.ext.junit",
         "androidx.test.rules",
+        "androidx.test.uiautomator_uiautomator",
         "app-helpers-core",
         "launcher-helper-lib",
         "metrics-helper-lib",
@@ -42,8 +48,8 @@
         "settings-helper",
         "sysui-helper",
         "timeresult-helper-lib",
-        "truth-prebuilt",
-        "ub-uiautomator",
+        "truth",
+        "flag-junit",
     ],
 
     //sdk_version: "current",
diff --git a/tests/uitests/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivityTest.java b/tests/uitests/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivityTest.java
deleted file mode 100644
index 3cd0009..0000000
--- a/tests/uitests/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivityTest.java
+++ /dev/null
@@ -1,613 +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 static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assume.assumeFalse;
-import static org.junit.Assume.assumeTrue;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.hardware.fingerprint.FingerprintManager;
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal;
-import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback;
-import android.os.UserHandle;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-
-import androidx.annotation.NonNull;
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.internal.widget.LockPatternChecker;
-import com.android.internal.widget.LockPatternUtils;
-import com.android.internal.widget.LockscreenCredential;
-import com.android.settings.biometrics2.utils.LockScreenUtil;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollmentActivityTest {
-
-    private static final String SETTINGS_PACKAGE_NAME = "com.android.settings";
-    private static final String ACTIVITY_CLASS_NAME =
-            "com.android.settings.biometrics2.ui.view.FingerprintEnrollmentActivity";
-    private static final String EXTRA_IS_SETUP_FLOW = "isSetupFlow";
-    private static final String EXTRA_SKIP_INTRO = "skip_intro";
-    private static final String EXTRA_SKIP_FIND_SENSOR = "skip_find_sensor";
-    private static final String EXTRA_FROM_SETTINGS_SUMMARY = "from_settings_summary";
-    private static final String EXTRA_PAGE_TRANSITION_TYPE = "page_transition_type";
-    private static final String EXTRA_KEY_GK_PW_HANDLE = "gk_pw_handle";
-    private static final String TEST_PIN = "1234";
-
-    private static final String DO_IT_LATER = "Do it later";
-
-    private static final String UDFPS_ENROLLING_TITLE = "Touch & hold the fingerprint sensor";
-    private static final String SFPS_ENROLLING_TITLE =
-            "Lift, then touch. Move your finger slightly each time.";
-    private static final String RFPS_ENROLLING_TITLE = "Lift, then touch again";
-
-    private UiDevice mDevice;
-    private byte[] mToken = new byte[]{};
-    private Context mContext;
-    private boolean mFingerprintPropCallbackLaunched;
-    private boolean mCanAssumeUdfps;
-    private boolean mCanAssumeSfps;
-    private String mEnrollingTitle;
-
-    private static final int IDLE_TIMEOUT = 10000;
-
-    @Before
-    public void setUp() throws InterruptedException {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-
-        mContext = InstrumentationRegistry.getContext();
-
-        // Stop every test if it is not a fingerprint device
-        assumeTrue(mContext.getPackageManager().hasSystemFeature(
-                PackageManager.FEATURE_FINGERPRINT));
-
-        final FingerprintManager fingerprintManager = mContext.getSystemService(
-                FingerprintManager.class);
-        mFingerprintPropCallbackLaunched = false;
-        fingerprintManager.addAuthenticatorsRegisteredCallback(
-                new IFingerprintAuthenticatorsRegisteredCallback.Stub() {
-                    @Override
-                    public void onAllAuthenticatorsRegistered(
-                            List<FingerprintSensorPropertiesInternal> list) {
-                        mFingerprintPropCallbackLaunched = true;
-
-                        assertThat(list).isNotNull();
-                        assertThat(list).isNotEmpty();
-                        final FingerprintSensorPropertiesInternal prop = list.get(0);
-                        mCanAssumeUdfps = prop.isAnyUdfpsType();
-                        mCanAssumeSfps = prop.isAnySidefpsType();
-                        if (mCanAssumeUdfps) {
-                            mEnrollingTitle = UDFPS_ENROLLING_TITLE;
-                        } else if (mCanAssumeSfps) {
-                            mEnrollingTitle = SFPS_ENROLLING_TITLE;
-                        } else {
-                            mEnrollingTitle = RFPS_ENROLLING_TITLE;
-                        }
-                    }
-                });
-
-        for (long i = 0; i < IDLE_TIMEOUT && !mFingerprintPropCallbackLaunched; i += 100L) {
-            Thread.sleep(100L);
-        }
-        assertThat(mFingerprintPropCallbackLaunched).isTrue();
-
-        mDevice.pressHome();
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        LockScreenUtil.resetLockscreen(TEST_PIN);
-        mDevice.pressHome();
-    }
-
-    @Test
-    public void testIntroChooseLock() {
-        final Intent intent = newActivityIntent();
-        mContext.startActivity(intent);
-        assertThat(mDevice.wait(Until.hasObject(By.text("Choose your backup screen lock method")),
-                IDLE_TIMEOUT)).isTrue();
-    }
-
-    private void verifyIntroPage() {
-        mDevice.waitForIdle();
-        for (long i = 0; i < IDLE_TIMEOUT; i += 100L) {
-            if (mDevice.wait(Until.hasObject(By.text("More")), 50L)) {
-                break;
-            } else if (mDevice.wait(Until.hasObject(By.text("I agree")), 50L)) {
-                break;
-            }
-        }
-
-        // Click more btn at most twice and the introduction should stay in the last page
-        UiObject2 moreBtn;
-        for (int i = 0; i < 2 && (moreBtn = mDevice.findObject(By.text("More"))) != null; ++i) {
-            moreBtn.click();
-            mDevice.waitForIdle();
-            mDevice.wait(Until.hasObject(By.text("More")), IDLE_TIMEOUT);
-        }
-
-        assertThat(mDevice.wait(Until.hasObject(By.text("No thanks")), IDLE_TIMEOUT)).isTrue();
-        assertThat(mDevice.wait(Until.hasObject(By.text("I agree")), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_withUdfps_clickStart() {
-        assumeTrue(mCanAssumeUdfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(false);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindUdfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-        assertThat(lottie.isClickable()).isTrue();
-        final UiObject2 startBtn = mDevice.findObject(By.text("Start"));
-        assertThat(startBtn.isClickable()).isTrue();
-        startBtn.click();
-
-        // Enrolling page
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_withUdfps_clickLottie() {
-        assumeTrue(mCanAssumeUdfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(false);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindUdfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-        assertThat(lottie.isClickable()).isTrue();
-        final UiObject2 startBtn = mDevice.findObject(By.text("Start"));
-        assertThat(startBtn.isClickable()).isTrue();
-        lottie.click();
-
-        // Enrolling page
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_withSfps() {
-        assumeTrue(mCanAssumeSfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(false);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindSfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-
-        // We don't have view which can be clicked to run to next page, stop at here.
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_withRfps() {
-        assumeFalse(mCanAssumeUdfps || mCanAssumeSfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(false);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindRfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        if (lottie == null) {
-            // FindSfps page shall have an animation view if no lottie view
-            assertThat(mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                    "fingerprint_sensor_location_animation"))).isNotNull();
-        }
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_clickNoThanksInIntroPage() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(false);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 noThanksBtn = mDevice.findObject(By.text("No thanks"));
-        assertThat(noThanksBtn).isNotNull();
-        noThanksBtn.click();
-
-        // Back to home
-        mDevice.waitForWindowUpdate("com.android.settings", IDLE_TIMEOUT);
-        assertThat(mDevice.findObject(By.text("No thanks"))).isNull();
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_clickSkipInFindSensor() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(false);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindSensor page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 doItLaterBtn = mDevice.findObject(By.text(DO_IT_LATER));
-        assertThat(doItLaterBtn).isNotNull();
-        assertThat(doItLaterBtn.isClickable()).isTrue();
-        doItLaterBtn.click();
-
-        // Back to home
-        mDevice.waitForWindowUpdate("com.android.settings", IDLE_TIMEOUT);
-        assertThat(mDevice.findObject(By.text(DO_IT_LATER))).isNull();
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_clickSkipAnywayInFindFpsDialog_whenIsSuw() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(true);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindSensor page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 doItLaterBtn = mDevice.findObject(By.text(DO_IT_LATER));
-        assertThat(doItLaterBtn).isNotNull();
-        assertThat(doItLaterBtn.isClickable()).isTrue();
-        doItLaterBtn.click();
-
-        // SkipSetupFindFpsDialog
-        assertThat(mDevice.wait(Until.hasObject(By.text("Skip fingerprint?")),
-                IDLE_TIMEOUT)).isTrue();
-        final UiObject2 skipAnywayBtn = mDevice.findObject(By.text("Skip anyway"));
-        assertThat(skipAnywayBtn).isNotNull();
-        assertThat(skipAnywayBtn.isClickable()).isTrue();
-        skipAnywayBtn.click();
-
-        // Back to home
-        mDevice.waitForWindowUpdate("com.android.settings", IDLE_TIMEOUT);
-        assertThat(mDevice.findObject(By.text("Skip anyway"))).isNull();
-        assertThat(mDevice.findObject(By.text(DO_IT_LATER))).isNull();
-    }
-
-    @Test
-    public void testIntroWithGkPwHandle_clickGoBackInFindFpsDialog_whenIsSuw() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchIntroWithGkPwHandle(true);
-
-        // Intro page
-        verifyIntroPage();
-        final UiObject2 agreeBtn = mDevice.findObject(By.text("I agree"));
-        assertThat(agreeBtn).isNotNull();
-        agreeBtn.click();
-
-        // FindSensor page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 doItLaterBtn = mDevice.findObject(By.text(DO_IT_LATER));
-        assertThat(doItLaterBtn).isNotNull();
-        assertThat(doItLaterBtn.isClickable()).isTrue();
-        doItLaterBtn.click();
-
-        // SkipSetupFindFpsDialog
-        assertThat(mDevice.wait(Until.hasObject(By.text("Skip fingerprint?")), IDLE_TIMEOUT))
-                .isTrue();
-        final UiObject2 goBackBtn = mDevice.findObject(By.text("Go back"));
-        assertThat(goBackBtn).isNotNull();
-        assertThat(goBackBtn.isClickable()).isTrue();
-        goBackBtn.click();
-
-        // FindSensor page again
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testIntroCheckPin() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-        final Intent intent = newActivityIntent();
-        mContext.startActivity(intent);
-        assertThat(mDevice.wait(Until.hasObject(By.text("Enter your device PIN to continue")),
-                IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testEnrollingWithGkPwHandle() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchEnrollingWithGkPwHandle();
-
-        // Enrolling screen
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testEnrollingIconTouchDialog_withSfps() {
-        assumeTrue(mCanAssumeSfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchEnrollingWithGkPwHandle();
-
-        // Enrolling screen
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-
-        lottie.click();
-        lottie.click();
-        lottie.click();
-
-        // IconTouchDialog
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text("Touch the sensor instead")), IDLE_TIMEOUT))
-                .isTrue();
-        final UiObject2 okButton = mDevice.findObject(By.text("OK"));
-        assertThat(okButton).isNotNull();
-
-        okButton.click();
-
-        // Enrolling screen again
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testEnrollingIconTouchDialog_withRfps() {
-        assumeFalse(mCanAssumeUdfps || mCanAssumeSfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchEnrollingWithGkPwHandle();
-
-        // Enrolling screen
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "fingerprint_progress_bar"));
-        assertThat(lottie).isNotNull();
-
-        lottie.click();
-        lottie.click();
-        lottie.click();
-
-        // IconTouchDialog
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text("Whoops, that\u2019s not the sensor")),
-                IDLE_TIMEOUT)).isTrue();
-        final UiObject2 okButton = mDevice.findObject(By.text("OK"));
-        assertThat(okButton).isNotNull();
-
-        okButton.click();
-
-        // Enrolling screen again
-        mDevice.waitForIdle();
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testFindUdfpsWithGkPwHandle_clickStart() {
-        assumeTrue(mCanAssumeUdfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchFindSensorWithGkPwHandle();
-
-        // FindUdfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-        assertThat(lottie.isClickable()).isTrue();
-        final UiObject2 startBtn = mDevice.findObject(By.text("Start"));
-        assertThat(startBtn.isClickable()).isTrue();
-        startBtn.click();
-
-        // Enrolling page
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testFindUdfpsWithGkPwHandle_clickLottie() {
-        assumeTrue(mCanAssumeUdfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchFindSensorWithGkPwHandle();
-
-        // FindUdfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-        assertThat(lottie.isClickable()).isTrue();
-        final UiObject2 startBtn = mDevice.findObject(By.text("Start"));
-        assertThat(startBtn.isClickable()).isTrue();
-        lottie.click();
-
-        // Enrolling page
-        assertThat(mDevice.wait(Until.hasObject(By.text(mEnrollingTitle)), IDLE_TIMEOUT)).isTrue();
-    }
-
-    @Test
-    public void testFindSfpsWithGkPwHandle() {
-        assumeTrue(mCanAssumeSfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchFindSensorWithGkPwHandle();
-
-        // FindSfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        assertThat(lottie).isNotNull();
-
-        // We don't have view which can be clicked to run to next page, stop at here.
-    }
-
-    @Test
-    public void testFindRfpsWithGkPwHandle() {
-        assumeFalse(mCanAssumeUdfps || mCanAssumeSfps);
-
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchFindSensorWithGkPwHandle();
-
-        // FindRfps page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 lottie = mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                "illustration_lottie"));
-        if (lottie == null) {
-            // FindSfps page shall have an animation view if no lottie view
-            assertThat(mDevice.findObject(By.res(SETTINGS_PACKAGE_NAME,
-                    "fingerprint_sensor_location_animation"))).isNotNull();
-        }
-    }
-
-
-    @Test
-    public void testFindSensorWithGkPwHandle_clickSkipInFindSensor() {
-        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true);
-
-        launchFindSensorWithGkPwHandle();
-
-        // FindSensor page
-        assertThat(mDevice.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue();
-        final UiObject2 doItLaterBtn = mDevice.findObject(By.text(DO_IT_LATER));
-        assertThat(doItLaterBtn).isNotNull();
-        assertThat(doItLaterBtn.isClickable()).isTrue();
-        doItLaterBtn.click();
-
-        // Back to home
-        mDevice.waitForWindowUpdate("com.android.settings", IDLE_TIMEOUT);
-        assertThat(mDevice.findObject(By.text(DO_IT_LATER))).isNull();
-    }
-
-    private void launchIntroWithGkPwHandle(boolean isSuw) {
-        LockPatternUtils lockPatternUtils = new LockPatternUtils(mContext);
-        final LockscreenCredential lockscreenCredential = LockscreenCredential.createPin(TEST_PIN);
-        final int userId = UserHandle.myUserId();
-        final LockPatternChecker.OnVerifyCallback onVerifyCallback = (response, timeoutMs) -> {
-            final Intent intent = newActivityIntent();
-            if (isSuw) {
-                intent.putExtra(EXTRA_IS_SETUP_FLOW, true);
-            }
-            intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, response.getGatekeeperPasswordHandle());
-            mContext.startActivity(intent);
-        };
-        LockPatternChecker.verifyCredential(lockPatternUtils, lockscreenCredential,
-                userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE, onVerifyCallback);
-    }
-
-    private void launchFindSensorWithGkPwHandle() {
-        LockPatternUtils lockPatternUtils = new LockPatternUtils(mContext);
-        final LockscreenCredential lockscreenCredential = LockscreenCredential.createPin(TEST_PIN);
-        final int userId = UserHandle.myUserId();
-        final LockPatternChecker.OnVerifyCallback onVerifyCallback = (response, timeoutMs) -> {
-            final Intent intent = newActivityIntent();
-            intent.putExtra(EXTRA_SKIP_INTRO, true);
-            intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, response.getGatekeeperPasswordHandle());
-            mContext.startActivity(intent);
-        };
-        LockPatternChecker.verifyCredential(lockPatternUtils, lockscreenCredential,
-                userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE, onVerifyCallback);
-    }
-
-    private void launchEnrollingWithGkPwHandle() {
-        LockPatternUtils lockPatternUtils = new LockPatternUtils(mContext);
-        final LockscreenCredential lockscreenCredential = LockscreenCredential.createPin(TEST_PIN);
-        final int userId = UserHandle.myUserId();
-        final LockPatternChecker.OnVerifyCallback onVerifyCallback = (response, timeoutMs) -> {
-            final Intent intent = newActivityIntent();
-            intent.putExtra(EXTRA_SKIP_FIND_SENSOR, true);
-            intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, response.getGatekeeperPasswordHandle());
-            mContext.startActivity(intent);
-        };
-        LockPatternChecker.verifyCredential(lockPatternUtils, lockscreenCredential,
-                userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE, onVerifyCallback);
-    }
-
-    @NonNull
-    private Intent newActivityIntent() {
-        Intent intent = new Intent();
-        intent.setClassName(SETTINGS_PACKAGE_NAME, ACTIVITY_CLASS_NAME);
-        intent.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, true);
-        intent.putExtra(EXTRA_PAGE_TRANSITION_TYPE, 1);
-        intent.putExtra(Intent.EXTRA_USER_ID, mContext.getUserId());
-        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK);
-        return intent;
-
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivityTest.kt b/tests/uitests/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivityTest.kt
new file mode 100644
index 0000000..be96fe5
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/biometrics2/ui/view/FingerprintEnrollmentActivityTest.kt
@@ -0,0 +1,825 @@
+/*
+ * 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.content.Intent
+import android.content.pm.PackageManager.FEATURE_FINGERPRINT
+import android.hardware.fingerprint.FingerprintManager
+import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
+import android.hardware.fingerprint.IFingerprintAuthenticatorsRegisteredCallback
+import android.os.UserHandle
+import android.util.Log
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import androidx.test.uiautomator.UiObject2
+import androidx.test.uiautomator.Until
+import com.android.internal.widget.LockPatternChecker
+import com.android.internal.widget.LockPatternUtils
+import com.android.internal.widget.LockscreenCredential
+import com.android.internal.widget.VerifyCredentialResponse
+import com.android.settings.biometrics2.utils.LockScreenUtil
+import com.google.common.truth.Truth.assertThat
+import org.junit.After
+import org.junit.Assume
+import org.junit.Before
+import org.junit.Ignore
+import org.junit.Test
+import org.junit.runner.RunWith
+import java.io.IOException
+
+@Ignore
+@RunWith(AndroidJUnit4::class)
+class FingerprintEnrollmentActivityTest {
+
+    private val context: Context by lazy {
+        InstrumentationRegistry.getInstrumentation().context
+    }
+
+    private val fingerprintManager: FingerprintManager by lazy {
+        context.getSystemService(FingerprintManager::class.java)!!
+    }
+
+    private var fingerprintPropCallbackLaunched = false
+    private var canAssumeUdfps = false
+    private var canAssumeSfps = false
+    private var enrollingPageTitle: String = ""
+    private var runAsLandscape = false
+
+    private val device: UiDevice by lazy {
+        UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+    }
+
+    @Before
+    @Throws(InterruptedException::class)
+    fun setUp() {
+        // Stop every test if it is not a fingerprint device
+        Assume.assumeTrue(context.packageManager.hasSystemFeature(FEATURE_FINGERPRINT))
+
+        fingerprintPropCallbackLaunched = false
+        fingerprintManager.addAuthenticatorsRegisteredCallback(
+            object : IFingerprintAuthenticatorsRegisteredCallback.Stub() {
+                override fun onAllAuthenticatorsRegistered(
+                    list: List<FingerprintSensorPropertiesInternal>
+                ) {
+                    fingerprintPropCallbackLaunched = true
+                    assertThat(list).isNotNull()
+                    assertThat(list).isNotEmpty()
+                    val prop = list[0]
+                    canAssumeUdfps = prop.isAnyUdfpsType
+                    canAssumeSfps = prop.isAnySidefpsType
+                    enrollingPageTitle = if (canAssumeUdfps) {
+                        UDFPS_ENROLLING_TITLE
+                    } else if (canAssumeSfps) {
+                        SFPS_ENROLLING_TITLE
+                    } else {
+                        RFPS_ENROLLING_TITLE
+                    }
+                }
+            })
+        var i: Long = 0
+        while (i < IDLE_TIMEOUT && !fingerprintPropCallbackLaunched) {
+            Thread.sleep(100L)
+            i += 100L
+        }
+        assertThat(fingerprintPropCallbackLaunched).isTrue()
+        device.pressHome()
+
+        // Stop settings before performing test
+        try {
+            device.executeShellCommand("am force-stop $SETTINGS_PACKAGE_NAME")
+        } catch (e: IOException) {
+            Log.e(TAG, "Fail to stop settings app", e)
+        }
+    }
+
+    @After
+    @Throws(Exception::class)
+    fun tearDown() {
+        runAsLandscape = false
+        setDeviceOrientation()
+
+        LockScreenUtil.resetLockscreen(TEST_PIN)
+        device.pressHome()
+    }
+
+    @Test
+    fun testIntroChooseLock() {
+        setDeviceOrientation()
+        val intent = newActivityIntent(false)
+        context.startActivity(intent)
+        assertThat(
+            device.wait(
+                Until.hasObject(By.text("Choose your backup screen lock method")),
+                IDLE_TIMEOUT
+            )
+        ).isTrue()
+    }
+
+    @Test
+    fun testIntroChooseLock_runAslandscape() {
+        runAsLandscape = true
+        testIntroChooseLock()
+    }
+
+    private fun verifyIntroPage() {
+        device.waitForIdle()
+        run {
+            var i: Long = 0
+            while (i < IDLE_TIMEOUT) {
+                if (device.wait(Until.hasObject(By.text("More")), 50L)) {
+                    break
+                } else if (device.wait(Until.hasObject(By.text("I agree")), 50L)) {
+                    break
+                }
+                i += 100L
+            }
+        }
+
+        // Click more btn at most twice and the introduction should stay in the last page
+        var moreBtn: UiObject2? = null
+        var i = 0
+        val more = if (runAsLandscape) 5 else 2
+        while (i < more && device.findObject(By.text("More")).also { moreBtn = it } != null) {
+            moreBtn!!.click()
+            device.waitForIdle()
+            device.wait(Until.hasObject(By.text("More")), IDLE_TIMEOUT)
+            ++i
+        }
+        assertThat(device.wait(Until.hasObject(By.text("No thanks")), IDLE_TIMEOUT)).isTrue()
+        assertThat(device.wait(Until.hasObject(By.text("I agree")), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withUdfps_clickStart() {
+        Assume.assumeTrue(canAssumeUdfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(false)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindUdfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+        assertThat(lottie.isClickable).isTrue()
+        val startBtn = device.findObject(By.text("Start"))
+        assertThat(startBtn.isClickable).isTrue()
+        startBtn.click()
+
+        // Enrolling page
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withUdfps_clickStart_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_withUdfps_clickStart()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withUdfps_clickLottie() {
+        Assume.assumeTrue(canAssumeUdfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(false)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindUdfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie"))
+        assertThat(lottie).isNotNull()
+        assertThat(lottie.isClickable).isTrue()
+        val startBtn = device.findObject(By.text("Start"))
+        assertThat(startBtn.isClickable).isTrue()
+        lottie.click()
+
+        // Enrolling page
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withUdfps_clickLottie_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_withUdfps_clickLottie()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withSfps() {
+        Assume.assumeTrue(canAssumeSfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(false)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindSfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME,"illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+
+        // We don't have view which can be clicked to run to next page, stop at here.
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withSfps_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_withSfps()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withRfps() {
+        Assume.assumeFalse(canAssumeUdfps || canAssumeSfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(false)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindRfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        if (lottie == null) {
+            // FindSfps page shall have an animation view if no lottie view
+            assertThat(
+                device.findObject(
+                    By.res(SETTINGS_PACKAGE_NAME, "fingerprint_sensor_location_animation")
+                )
+            ).isNotNull()
+        }
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_withRfps_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_withRfps()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickNoThanksInIntroPage() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(false)
+
+        // Intro page
+        verifyIntroPage()
+        val noThanksBtn = device.findObject(By.text("No thanks"))
+        assertThat(noThanksBtn).isNotNull()
+        noThanksBtn.click()
+
+        // Back to home
+        device.waitForWindowUpdate(SETTINGS_PACKAGE_NAME, IDLE_TIMEOUT)
+        assertThat(device.findObject(By.text("No thanks"))).isNull()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickNoThanksInIntroPage_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_clickNoThanksInIntroPage()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickSkipInFindSensor() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(false)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindSensor page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val doItLaterBtn = device.findObject(By.text(DO_IT_LATER))
+        assertThat(doItLaterBtn).isNotNull()
+        assertThat(doItLaterBtn.isClickable).isTrue()
+        doItLaterBtn.click()
+
+        // Back to home
+        device.waitForWindowUpdate(SETTINGS_PACKAGE_NAME, IDLE_TIMEOUT)
+        assertThat(device.findObject(By.text(DO_IT_LATER))).isNull()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickSkipInFindSensor_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_clickSkipInFindSensor()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickSkipAnywayInFindFpsDialog_whenIsSuw() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(true)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindSensor page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val doItLaterBtn = device.findObject(By.text(DO_IT_LATER))
+        assertThat(doItLaterBtn).isNotNull()
+        assertThat(doItLaterBtn.isClickable).isTrue()
+        doItLaterBtn.click()
+
+        // SkipSetupFindFpsDialog
+        assertThat(device.wait(Until.hasObject(By.text("Skip fingerprint?")), IDLE_TIMEOUT)).isTrue()
+        val skipAnywayBtn = device.findObject(By.text("Skip anyway"))
+        assertThat(skipAnywayBtn).isNotNull()
+        assertThat(skipAnywayBtn.isClickable).isTrue()
+        skipAnywayBtn.click()
+
+        // Back to home
+        device.waitForWindowUpdate(SETTINGS_PACKAGE_NAME, IDLE_TIMEOUT)
+        assertThat(device.findObject(By.text("Skip anyway"))).isNull()
+        assertThat(device.findObject(By.text(DO_IT_LATER))).isNull()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickSkipAnywayInFindFpsDialog_whenIsSuw_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_clickSkipAnywayInFindFpsDialog_whenIsSuw()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickGoBackInFindFpsDialog_whenIsSuw() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchIntroWithGkPwHandle(true)
+
+        // Intro page
+        verifyIntroPage()
+        val agreeBtn = device.findObject(By.text("I agree"))
+        assertThat(agreeBtn).isNotNull()
+        agreeBtn.click()
+
+        // FindSensor page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val doItLaterBtn = device.findObject(By.text(DO_IT_LATER))
+        assertThat(doItLaterBtn).isNotNull()
+        assertThat(doItLaterBtn.isClickable).isTrue()
+        doItLaterBtn.click()
+
+        // SkipSetupFindFpsDialog
+        assertThat(device.wait(Until.hasObject(By.text("Skip fingerprint?")), IDLE_TIMEOUT)).isTrue()
+        val goBackBtn = device.findObject(By.text("Go back"))
+        assertThat(goBackBtn).isNotNull()
+        assertThat(goBackBtn.isClickable).isTrue()
+        goBackBtn.click()
+
+        // FindSensor page again
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testIntroWithGkPwHandle_clickGoBackInFindFpsDialog_whenIsSuw_runAslandscape() {
+        runAsLandscape = true
+        testIntroWithGkPwHandle_clickGoBackInFindFpsDialog_whenIsSuw()
+    }
+
+    @Test
+    fun testIntroCheckPin() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        val intent = newActivityIntent(false)
+        context.startActivity(intent)
+        assertThat(
+            device.wait(
+                Until.hasObject(By.text("Enter your device PIN to continue")),
+                IDLE_TIMEOUT
+            )
+        ).isTrue()
+    }
+
+    @Test
+    fun testEnrollingWithGkPwHandle() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchEnrollingWithGkPwHandle()
+
+        // Enrolling screen
+        device.waitForIdle()
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testEnrollingWithGkPwHandle_runAslandscape() {
+        runAsLandscape = true
+        testEnrollingWithGkPwHandle()
+    }
+
+    @Test
+    fun testEnrollingIconTouchDialog_withSfps() {
+        Assume.assumeTrue(canAssumeSfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchEnrollingWithGkPwHandle()
+
+        // Enrolling screen
+        device.waitForIdle()
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+        lottie.click()
+        lottie.click()
+        lottie.click()
+
+        // IconTouchDialog
+        device.waitForIdle()
+        assertThat(
+            device.wait(
+                Until.hasObject(By.text("Touch the sensor instead")),
+                IDLE_TIMEOUT
+            )
+        )
+            .isTrue()
+        val okButton = device.findObject(By.text("OK"))
+        assertThat(okButton).isNotNull()
+        okButton.click()
+
+        // Enrolling screen again
+        device.waitForIdle()
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testEnrollingIconTouchDialog_withSfps_runAslandscape() {
+        runAsLandscape = true
+        testEnrollingIconTouchDialog_withSfps()
+    }
+
+    @Test
+    fun testEnrollingIconTouchDialog_withRfps() {
+        Assume.assumeFalse(canAssumeUdfps || canAssumeSfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchEnrollingWithGkPwHandle()
+
+        // Enrolling screen
+        device.waitForIdle()
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "fingerprint_progress_bar")
+        )
+        assertThat(lottie).isNotNull()
+        lottie.click()
+        lottie.click()
+        lottie.click()
+
+        // IconTouchDialog
+        device.waitForIdle()
+        assertThat(
+            device.wait(
+                Until.hasObject(By.text("Whoops, that\u2019s not the sensor")),
+                IDLE_TIMEOUT
+            )
+        ).isTrue()
+        val okButton = device.findObject(By.text("OK"))
+        assertThat(okButton).isNotNull()
+        okButton.click()
+
+        // Enrolling screen again
+        device.waitForIdle()
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testEnrollingIconTouchDialog_withRfps_runAslandscape() {
+        runAsLandscape = true
+        testEnrollingIconTouchDialog_withRfps()
+    }
+
+    @Test
+    fun testFindUdfpsWithGkPwHandle_clickStart() {
+        Assume.assumeTrue(canAssumeUdfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchFindSensorWithGkPwHandle()
+
+        // FindUdfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+        assertThat(lottie.isClickable).isTrue()
+        val startBtn = device.findObject(By.text("Start"))
+        assertThat(startBtn.isClickable).isTrue()
+        startBtn.click()
+
+        // Enrolling page
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testFindUdfpsWithGkPwHandle_clickStart_runAslandscape() {
+        runAsLandscape = true
+        testFindUdfpsWithGkPwHandle_clickStart()
+    }
+
+    @Test
+    fun testFindUdfpsLandscapeWithGkPwHandle_clickStartThenBack() {
+        Assume.assumeTrue(canAssumeUdfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchFindSensorWithGkPwHandle()
+
+        // FindUdfps page (portrait)
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+
+        // rotate device
+        if (runAsLandscape) {
+            device.setOrientationPortrait()
+        } else {
+            device.setOrientationLandscape()
+        }
+        device.waitForIdle()
+
+        // FindUdfps page (landscape)
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+        assertThat(lottie.isClickable).isTrue()
+        val startBtn = device.findObject(By.text("Start"))
+        assertThat(startBtn.isClickable).isTrue()
+        startBtn.click()
+
+        // Enrolling page
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+
+        // Press back
+        device.pressBack()
+        device.waitForIdle()
+
+        // FindUdfps page (landscape-again)
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testFindUdfpsLandscapeWithGkPwHandle_clickStartThenBack_runAslandscape() {
+        runAsLandscape = true
+        testFindUdfpsLandscapeWithGkPwHandle_clickStartThenBack()
+    }
+
+    @Test
+    fun testFindUdfpsWithGkPwHandle_clickLottie() {
+        Assume.assumeTrue(canAssumeUdfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchFindSensorWithGkPwHandle()
+
+        // FindUdfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+        assertThat(lottie.isClickable).isTrue()
+        val startBtn = device.findObject(By.text("Start"))
+        assertThat(startBtn.isClickable).isTrue()
+        lottie.click()
+
+        // Enrolling page
+        assertThat(device.wait(Until.hasObject(By.text(enrollingPageTitle)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testFindUdfpsWithGkPwHandle_clickLottie_runAslandscape() {
+        runAsLandscape = true
+        testFindUdfpsWithGkPwHandle_clickLottie()
+    }
+
+    @Test
+    fun testFindSfpsWithGkPwHandle() {
+        Assume.assumeTrue(canAssumeSfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchFindSensorWithGkPwHandle()
+
+        // FindSfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(SETTINGS_PACKAGE_NAME, "illustration_lottie")
+        )
+        assertThat(lottie).isNotNull()
+
+        // We don't have view which can be clicked to run to next page, stop at here.
+    }
+
+    @Test
+    fun testFindSfpsWithGkPwHandle_runAslandscape() {
+        runAsLandscape = true
+        testFindSfpsWithGkPwHandle()
+    }
+
+    @Test
+    fun testFindRfpsWithGkPwHandle() {
+        Assume.assumeFalse(canAssumeUdfps || canAssumeSfps)
+
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchFindSensorWithGkPwHandle()
+
+        // FindRfps page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val lottie = device.findObject(
+            By.res(
+                SETTINGS_PACKAGE_NAME,
+                "illustration_lottie"
+            )
+        )
+        if (lottie == null) {
+            // FindSfps page shall have an animation view if no lottie view
+            assertThat(
+                device.findObject(
+                    By.res(
+                        SETTINGS_PACKAGE_NAME,
+                        "fingerprint_sensor_location_animation"
+                    )
+                )
+            ).isNotNull()
+        }
+    }
+
+    @Test
+    fun testFindRfpsWithGkPwHandle_runAslandscape() {
+        runAsLandscape = true
+        testFindRfpsWithGkPwHandle()
+    }
+
+    @Test
+    fun testFindSensorWithGkPwHandle_clickSkipInFindSensor() {
+        setDeviceOrientation()
+        LockScreenUtil.setLockscreen(LockScreenUtil.LockscreenType.PIN, TEST_PIN, true)
+        launchFindSensorWithGkPwHandle()
+
+        // FindSensor page
+        assertThat(device.wait(Until.hasObject(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+        val doItLaterBtn = device.findObject(By.text(DO_IT_LATER))
+        assertThat(doItLaterBtn).isNotNull()
+        assertThat(doItLaterBtn.isClickable).isTrue()
+        doItLaterBtn.click()
+
+        // Back to home
+        device.waitForWindowUpdate(SETTINGS_PACKAGE_NAME, IDLE_TIMEOUT)
+        assertThat(device.wait(Until.gone(By.text(DO_IT_LATER)), IDLE_TIMEOUT)).isTrue()
+    }
+
+    @Test
+    fun testFindSensorWithGkPwHandle_clickSkipInFindSensor_runAslandscape() {
+        runAsLandscape = true
+        testFindSensorWithGkPwHandle_clickSkipInFindSensor()
+    }
+
+    private fun launchIntroWithGkPwHandle(isSuw: Boolean) {
+        val lockPatternUtils = LockPatternUtils(context)
+        val lockscreenCredential = LockscreenCredential.createPin(TEST_PIN)
+        val userId = UserHandle.myUserId()
+        val onVerifyCallback =
+            LockPatternChecker.OnVerifyCallback { response: VerifyCredentialResponse, _: Int ->
+                val intent = newActivityIntent(isSuw)
+                intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, response.gatekeeperPasswordHandle)
+                context.startActivity(intent)
+            }
+        LockPatternChecker.verifyCredential(
+            lockPatternUtils, lockscreenCredential,
+            userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE, onVerifyCallback
+        )
+    }
+
+    private fun launchFindSensorWithGkPwHandle() {
+        val lockPatternUtils = LockPatternUtils(context)
+        val lockscreenCredential = LockscreenCredential.createPin(TEST_PIN)
+        val userId = UserHandle.myUserId()
+        val onVerifyCallback =
+            LockPatternChecker.OnVerifyCallback { response: VerifyCredentialResponse, _: Int ->
+                val intent = newActivityIntent(false)
+                intent.putExtra(EXTRA_SKIP_INTRO, true)
+                intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, response.gatekeeperPasswordHandle)
+                context.startActivity(intent)
+            }
+        LockPatternChecker.verifyCredential(
+            lockPatternUtils, lockscreenCredential,
+            userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE, onVerifyCallback
+        )
+    }
+
+    private fun launchEnrollingWithGkPwHandle() {
+        val lockPatternUtils = LockPatternUtils(context)
+        val lockscreenCredential = LockscreenCredential.createPin(TEST_PIN)
+        val userId = UserHandle.myUserId()
+        val onVerifyCallback =
+            LockPatternChecker.OnVerifyCallback { response: VerifyCredentialResponse, _: Int ->
+                val intent = newActivityIntent(false)
+                intent.putExtra(EXTRA_SKIP_FIND_SENSOR, true)
+                intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, response.gatekeeperPasswordHandle)
+                context.startActivity(intent)
+            }
+        LockPatternChecker.verifyCredential(
+            lockPatternUtils, lockscreenCredential,
+            userId, LockPatternUtils.VERIFY_FLAG_REQUEST_GK_PW_HANDLE, onVerifyCallback
+        )
+    }
+
+    private fun newActivityIntent(isSuw: Boolean): Intent {
+        val intent = Intent()
+        intent.setClassName(
+            SETTINGS_PACKAGE_NAME,
+            if (isSuw) SUW_ACTIVITY_CLASS_NAME else ACTIVITY_CLASS_NAME
+        )
+        if (isSuw) {
+            intent.putExtra(EXTRA_IS_SETUP_FLOW, true)
+        }
+        intent.putExtra(EXTRA_PAGE_TRANSITION_TYPE, 1)
+        intent.putExtra(Intent.EXTRA_USER_ID, context.userId)
+        intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP or Intent.FLAG_ACTIVITY_NEW_TASK)
+        return intent
+    }
+
+    private fun setDeviceOrientation() {
+        if (runAsLandscape) {
+            device.setOrientationLandscape()
+        } else {
+            device.setOrientationPortrait()
+        }
+        device.waitForIdle()
+    }
+
+    companion object {
+        private const val TAG = "FingerprintEnrollmentActivityTest"
+        const val SETTINGS_PACKAGE_NAME = "com.android.settings"
+        private const val ACTIVITY_CLASS_NAME =
+            "com.android.settings.biometrics2.ui.view.FingerprintEnrollmentActivity"
+        private const val SUW_ACTIVITY_CLASS_NAME = "$ACTIVITY_CLASS_NAME\$SetupActivity"
+        private const val EXTRA_IS_SETUP_FLOW = "isSetupFlow"
+        private const val EXTRA_SKIP_INTRO = "skip_intro"
+        private const val EXTRA_SKIP_FIND_SENSOR = "skip_find_sensor"
+        private const val EXTRA_PAGE_TRANSITION_TYPE = "page_transition_type"
+        private const val EXTRA_KEY_GK_PW_HANDLE = "gk_pw_handle"
+        private const val TEST_PIN = "1234"
+        private const val DO_IT_LATER = "Do it later"
+        private const val UDFPS_ENROLLING_TITLE = "Touch & hold the fingerprint sensor"
+        private const val SFPS_ENROLLING_TITLE =
+            "Lift, then touch. Move your finger slightly each time."
+        private const val RFPS_ENROLLING_TITLE = "Lift, then touch again"
+        private const val IDLE_TIMEOUT = 10000L
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/biometrics2/utils/LockScreenUtil.java b/tests/uitests/src/com/android/settings/biometrics2/utils/LockScreenUtil.java
index 23606e5..3505afa 100644
--- a/tests/uitests/src/com/android/settings/biometrics2/utils/LockScreenUtil.java
+++ b/tests/uitests/src/com/android/settings/biometrics2/utils/LockScreenUtil.java
@@ -22,10 +22,10 @@
 import android.app.KeyguardManager;
 import android.content.Context;
 import android.os.SystemClock;
-import android.support.test.uiautomator.UiDevice;
 import android.util.Log;
 
 import androidx.test.InstrumentationRegistry;
+import androidx.test.uiautomator.UiDevice;
 
 import org.junit.Assert;
 
diff --git a/tests/uitests/src/com/android/settings/ui/AboutPhoneSettingsTests.java b/tests/uitests/src/com/android/settings/ui/AboutPhoneSettingsTests.java
deleted file mode 100644
index a73a5a8..0000000
--- a/tests/uitests/src/com/android/settings/ui/AboutPhoneSettingsTests.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import static com.android.settings.ui.testutils.SettingsTestUtils.SETTINGS_PACKAGE;
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-import android.text.TextUtils;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.SmallTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Iterator;
-
-/** Verifies basic functionality of the About Phone screen */
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class AboutPhoneSettingsTests {
-    private static final int TIMEOUT = 2000;
-
-    // TODO: retrieve using name/ids from com.android.settings package
-    private static final String[] sResourceTexts = {
-            "Phone number",
-            "Legal information",
-            "Regulatory labels"
-    };
-
-    private UiDevice mDevice;
-    private Instrumentation mInstrumentation;
-
-    @Before
-    public void setUp() throws Exception {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mDevice = UiDevice.getInstance(mInstrumentation);
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("Failed to freeze device orientaion", e);
-        }
-
-        // make sure we are in a clean state before starting the test
-        mDevice.pressHome();
-        Thread.sleep(TIMEOUT * 2);
-        launchAboutPhoneSettings(Settings.ACTION_DEVICE_INFO_SETTINGS);
-        // TODO: make sure we are always at the top of the app
-        // currently this will fail if the user has navigated into submenus
-        UiObject2 view =
-                mDevice.wait(
-                        Until.findObject(By.res(SETTINGS_PACKAGE + ":id/main_content")), TIMEOUT);
-        assertThat(view).isNotNull();
-        view.scroll(Direction.UP, 1.0f);
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        // Adding an extra pressBack so we exit About Phone Settings
-        // and finish the test cleanly
-        mDevice.pressBack();
-        mDevice.pressHome(); // finish settings activity
-        mDevice.waitForIdle(TIMEOUT * 2); // give UI time to finish animating
-    }
-
-    @Test
-    public void testAllMenuEntriesExist() {
-        searchForItemsAndTakeAction(mDevice, sResourceTexts);
-    }
-
-    private void launchAboutPhoneSettings(String aboutSetting) {
-        Intent aboutIntent = new Intent(aboutSetting);
-        aboutIntent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-        InstrumentationRegistry.getTargetContext().startActivity(aboutIntent);
-    }
-
-    /**
-     * Removes items found in the view and optionally takes some action.
-     */
-    private void removeItemsAndTakeAction(UiDevice device, ArrayList<String> itemsLeftToFind) {
-        for (Iterator<String> iterator = itemsLeftToFind.iterator(); iterator.hasNext(); ) {
-            String itemText = iterator.next();
-            UiObject2 item = device.wait(Until.findObject(By.text(itemText)), TIMEOUT);
-            if (item != null) {
-                iterator.remove();
-            }
-        }
-    }
-
-    /**
-     * Searches for UI elements in the current view and optionally takes some action.
-     *
-     * <p>Will scroll down the screen until it has found all elements or reached the bottom.
-     * This allows elements to be found and acted on even if they change order.
-     */
-    private void searchForItemsAndTakeAction(UiDevice device, String[] itemsToFind) {
-
-        ArrayList<String> itemsLeftToFind = new ArrayList<>(Arrays.asList(itemsToFind));
-        assertWithMessage("There must be at least one item to search for on the screen!")
-                .that(itemsLeftToFind)
-                .isNotEmpty();
-
-        boolean canScrollDown = true;
-        while (canScrollDown && !itemsLeftToFind.isEmpty()) {
-            removeItemsAndTakeAction(device, itemsLeftToFind);
-
-            // when we've finished searching the current view, scroll down
-            UiObject2 view =
-                    device.wait(
-                            Until.findObject(By.res(SETTINGS_PACKAGE + ":id/main_content")),
-                            TIMEOUT * 2);
-            if (view != null) {
-                canScrollDown = view.scroll(Direction.DOWN, 1.0f);
-            } else {
-                canScrollDown = false;
-            }
-        }
-        // check the last items once we have reached the bottom of the view
-        removeItemsAndTakeAction(device, itemsLeftToFind);
-
-        assertWithMessage("The following items were not found on the screen: "
-                + TextUtils.join(", ", itemsLeftToFind))
-                .that(itemsLeftToFind)
-                .isEmpty();
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/AboutPhoneSettingsTests.kt b/tests/uitests/src/com/android/settings/ui/AboutPhoneSettingsTests.kt
new file mode 100644
index 0000000..0cb03fe
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/AboutPhoneSettingsTests.kt
@@ -0,0 +1,53 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Verifies basic functionality of the About Phone screen  */
+@RunWith(AndroidJUnit4::class)
+@SmallTest
+class AboutPhoneSettingsTests {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_DEVICE_INFO_SETTINGS)
+    }
+
+    @Test
+    fun testAllMenuEntriesExist() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf(
+            "Device name",
+            "Legal information",
+            "Regulatory labels"
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/AppsSettingsRetainFilterTests.java b/tests/uitests/src/com/android/settings/ui/AppsSettingsRetainFilterTests.java
deleted file mode 100644
index 4698b9a..0000000
--- a/tests/uitests/src/com/android/settings/ui/AppsSettingsRetainFilterTests.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Intent;
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-import android.system.helpers.ActivityHelper;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class AppsSettingsRetainFilterTests {
-    private static final int TIMEOUT = 2000;
-    private UiDevice mDevice;
-    private ActivityHelper mActivityHelper = null;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mActivityHelper = ActivityHelper.getInstance();
-
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientation", e);
-        }
-
-        mDevice.pressHome();
-        mDevice.waitForIdle(TIMEOUT);
-    }
-
-    @Test
-    public void testDisablingSystemAppAndRotateDevice() throws Exception {
-        launchAppsSettings();
-
-        UiObject2 calculator = mDevice.wait(
-                Until.findObject(By.text("Calculator")), TIMEOUT);
-        assertThat(calculator).isNotNull();
-        calculator.click();
-        mDevice.waitForIdle(TIMEOUT);
-
-        UiObject2 disableButton = mDevice.wait(
-                Until.findObject(By.text("DISABLE")), TIMEOUT);
-        assertThat(disableButton).isNotNull();
-        disableButton.click();
-        mDevice.waitForIdle(TIMEOUT);
-
-        // Click on "Disable App" on dialog.
-        UiObject2 dialogDisableButton = mDevice.wait(
-                Until.findObject(By.text("DISABLE APP")), TIMEOUT);
-        assertThat(dialogDisableButton).isNotNull();
-        dialogDisableButton.click();
-        mDevice.waitForIdle(TIMEOUT);
-
-        UiObject2 enableButton = mDevice.wait(
-                Until.findObject(By.text("ENABLE")), TIMEOUT);
-        assertThat(enableButton).isNotNull();
-
-        mDevice.pressBack();
-        mDevice.waitForIdle(TIMEOUT);
-
-        UiObject2 spinnerHeader =  mDevice.wait(
-                Until.findObject(By.text("All apps")), TIMEOUT);
-        assertThat(spinnerHeader).isNotNull();
-        spinnerHeader.click();
-
-        UiObject2 optionDisabledApps =  mDevice.wait(
-                Until.findObject(By.text("Disabled apps")), TIMEOUT);
-        assertThat(optionDisabledApps).isNotNull();
-        optionDisabledApps.click();
-        mDevice.waitForIdle(TIMEOUT);
-
-        try {
-            mDevice.setOrientationLeft();
-            mDevice.waitForIdle(TIMEOUT);
-        } catch (RemoteException e) {
-            throw new RuntimeException("Failed to freeze device orientation", e);
-        }
-
-        try {
-            mDevice.unfreezeRotation();
-            mDevice.waitForIdle(TIMEOUT);
-        } catch (RemoteException e) {
-            throw new RuntimeException("Failed to un-freeze device orientation", e);
-        }
-
-        UiObject2 spinnerDisabledApps =  mDevice.wait(
-                Until.findObject(By.text("Disabled apps")), TIMEOUT);
-        assertThat(spinnerDisabledApps).isNotNull();
-    }
-
-    private void launchAppsSettings() throws Exception {
-        Intent appsSettingsIntent = new
-                Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
-        mActivityHelper.launchIntent(appsSettingsIntent);
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/AppsSettingsRetainFilterTests.kt b/tests/uitests/src/com/android/settings/ui/AppsSettingsRetainFilterTests.kt
new file mode 100644
index 0000000..43610ec
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/AppsSettingsRetainFilterTests.kt
@@ -0,0 +1,56 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertObject
+import com.android.settings.ui.testutils.SettingsTestUtils.clickObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class AppsSettingsRetainFilterTests {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS)
+    }
+
+    @Test
+    fun testDisablingSystemAppAndRotateDevice() {
+        device.clickObject(By.text("Calculator"))
+        device.clickObject(By.text("Disable"))
+        device.clickObject(By.text("Disable app"))  // Click on "Disable App" on dialog.
+        device.assertObject(By.text("Enable"))
+        device.pressBack()
+        device.clickObject(By.text("All apps"))
+        device.clickObject(By.text("Disabled apps"))
+        device.setOrientationLeft()
+        device.assertObject(By.text("Disabled apps"))
+        device.setOrientationNatural()
+        device.assertObject(By.text("Disabled apps"))
+        device.clickObject(By.text("Calculator"))
+        device.clickObject(By.text("Enable"))
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java
deleted file mode 100644
index 81532b1..0000000
--- a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import android.content.Intent;
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-import android.system.helpers.ActivityHelper;
-import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.util.Log;
-
-/** Verifies basic functionality of the About Phone screen */
-public class AppsSettingsTests extends InstrumentationTestCase {
-    private static final boolean LOCAL_LOGV = false;
-    private static final String SETTINGS_PACKAGE = "com.android.settings";
-    private static final String TAG = "AboutPhoneSettingsTest";
-    private static final int TIMEOUT = 2000;
-    private ActivityHelper mActivityHelper = null;
-
-    private UiDevice mDevice;
-
-    private static final String[] sResourceTexts = {
-        "Storage",
-        "Data usage",
-        "Permissions",
-        "App notifications",
-        "Open by default",
-        "Battery",
-        "Memory"
-    };
-
-    @Override
-    public void setUp() throws Exception {
-        if (LOCAL_LOGV) {
-            Log.d(TAG, "-------");
-        }
-        super.setUp();
-        mDevice = UiDevice.getInstance(getInstrumentation());
-        mActivityHelper = ActivityHelper.getInstance();
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("Failed to freeze device orientaion", e);
-        }
-
-        // make sure we are in a clean state before starting the test
-        mDevice.pressHome();
-        Thread.sleep(TIMEOUT * 2);
-        launchAppsSettings();
-        UiObject2 view =
-                mDevice.wait(
-                        Until.findObject(By.text("All apps")), TIMEOUT);
-        assertNotNull("Could not find Settings > Apps screen", view);
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        mDevice.pressBack();
-        mDevice.pressHome(); // finish settings activity
-        mDevice.waitForIdle(TIMEOUT * 2); // give UI time to finish animating
-        super.tearDown();
-    }
-
-    @MediumTest
-    public void testAppSettingsListForCalculator() {
-        UiObject2 calculator = mDevice.wait(
-                Until.findObject(By.text("Calculator")), TIMEOUT);
-        calculator.click();
-        for (String setting : sResourceTexts) {
-            UiObject2 appSetting =
-                mDevice.wait(
-                        Until.findObject(By.text(setting)), TIMEOUT);
-            assertNotNull("Missing setting for Calculator: " + setting, appSetting);
-            appSetting.scroll(Direction.DOWN, 10.0f);
-        }
-    }
-
-    @MediumTest
-    public void testDisablingAndEnablingSystemApp() throws Exception {
-        launchAppsSettings();
-        UiObject2 calculator = mDevice.wait(
-                Until.findObject(By.text("Calculator")), TIMEOUT);
-        calculator.click();
-        mDevice.waitForIdle(TIMEOUT);
-        UiObject2 appInfoList = mDevice.wait(
-            Until.findObject(By.res(SETTINGS_PACKAGE, "list")), TIMEOUT);
-        appInfoList.scroll(Direction.DOWN, 100.0f);
-        UiObject2 disableButton = mDevice.wait(
-                Until.findObject(By.text("DISABLE")), TIMEOUT);
-        disableButton.click();
-        mDevice.waitForIdle(TIMEOUT);
-        // Click on "Disable App" on dialog.
-        mDevice.wait(
-                Until.findObject(By.text("DISABLE APP")), TIMEOUT).click();
-        mDevice.waitForIdle(TIMEOUT);
-        UiObject2 enableButton = mDevice.wait(
-                Until.findObject(By.text("ENABLE")), TIMEOUT);
-        assertNotNull("App not disabled successfully", enableButton);
-        enableButton.click();
-        mDevice.waitForIdle(TIMEOUT);
-        disableButton = mDevice.wait(
-                Until.findObject(By.text("DISABLE")), TIMEOUT);
-        assertNotNull("App not enabled successfully", disableButton);
-    }
-
-    private void launchAppsSettings() throws Exception {
-        Intent appsSettingsIntent = new
-                Intent(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS);
-        mActivityHelper.launchIntent(appsSettingsIntent);
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt
new file mode 100644
index 0000000..9c22247
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/AppsSettingsTests.kt
@@ -0,0 +1,69 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.assertObject
+import com.android.settings.ui.testutils.SettingsTestUtils.clickObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import com.android.settings.ui.testutils.SettingsTestUtils.waitObject
+import org.junit.Before
+import org.junit.Test
+
+/** Verifies basic functionality of the About Phone screen  */
+class AppsSettingsTests {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_MANAGE_APPLICATIONS_SETTINGS)
+        device.assertObject(By.text("All apps"))
+    }
+
+    @Test
+    fun testAppSettingsListForCalculator() {
+        device.clickObject(By.text("Calculator"))
+        device.waitObject(By.text("Open"))
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    @Test
+    fun testDisablingAndEnablingSystemApp() {
+        device.clickObject(By.text("Calculator"))
+        device.clickObject(By.text("Disable"))
+        device.clickObject(By.text("Disable app"))  // Click on "Disable app" on dialog.
+        device.clickObject(By.text("Enable"))
+        device.assertObject(By.text("Disable"))
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf(
+            "Notifications",
+            "Permissions",
+            "Storage & cache",
+            "Mobile data & Wi‑Fi",
+            "Screen time",
+            "App battery usage",
+            "Language",
+            "Unused app settings",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/BatterySettingsTest.kt b/tests/uitests/src/com/android/settings/ui/BatterySettingsTest.kt
new file mode 100644
index 0000000..d677fb5
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/BatterySettingsTest.kt
@@ -0,0 +1,52 @@
+/*
+ * 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.ui
+
+import android.content.Intent
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class BatterySettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Intent.ACTION_POWER_USAGE_SUMMARY)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        // Items we really want to always show
+        val ON_SCREEN_TEXTS = listOf(
+            "Battery usage",
+            "Battery Saver",
+            "Battery percentage",
+            "Remaining battery life is approximate and can change based on usage"
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/BatterySettingsUITest.java b/tests/uitests/src/com/android/settings/ui/BatterySettingsUITest.java
deleted file mode 100644
index 3cf1e96..0000000
--- a/tests/uitests/src/com/android/settings/ui/BatterySettingsUITest.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import android.content.Intent;
-import android.os.RemoteException;
-import android.support.test.uiautomator.UiDevice;
-import android.system.helpers.SettingsHelper;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.ui.testutils.SettingsTestUtils;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@MediumTest
-@RunWith(AndroidJUnit4.class)
-public class BatterySettingsUITest {
-    // Items we really want to always show
-    private static final String[] CATEGORIES = new String[] {
-            "Battery Saver",
-            "Battery percentage",
-            "Battery usage data is approximate and can change based on usage",
-    };
-
-    private UiDevice mDevice;
-    private SettingsHelper mHelper;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mHelper = SettingsHelper.getInstance();
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientaion", e);
-        }
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        // Go back to home for next test.
-        mDevice.pressHome();
-    }
-
-    @Test
-    public void launchSecuritySettings() throws Exception {
-        // Launch Settings
-        SettingsHelper.launchSettingsPage(
-                InstrumentationRegistry.getTargetContext(), Intent.ACTION_POWER_USAGE_SUMMARY);
-        mHelper.scrollVert(false);
-        for (String category : CATEGORIES) {
-            SettingsTestUtils.assertTitleMatch(mDevice, category);
-        }
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java b/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java
deleted file mode 100644
index ef0dacc..0000000
--- a/tests/uitests/src/com/android/settings/ui/ConnectedDeviceTests.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertTrue;
-
-import android.content.Context;
-import android.content.Intent;
-import android.nfc.NfcAdapter;
-import android.nfc.NfcManager;
-import android.os.RemoteException;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@MediumTest
-@RunWith(AndroidJUnit4.class)
-public class ConnectedDeviceTests {
-
-    private static final String SETTINGS_PACKAGE = "com.android.settings";
-    private static final int TIMEOUT = 2000;
-    private UiDevice mDevice;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientation", e);
-        }
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        mDevice.pressBack();
-        mDevice.pressHome();
-    }
-
-    // This NFC toggle test is set up this way since there's no way to set
-    // the NFC flag to enabled or disabled without touching UI.
-    // This way, we get coverage for whether or not the toggle button works.
-    @Test
-    public void testNFCToggle() throws Exception {
-        NfcManager manager = (NfcManager) InstrumentationRegistry.getTargetContext()
-                .getSystemService(Context.NFC_SERVICE);
-        NfcAdapter nfcAdapter = manager.getDefaultAdapter();
-        boolean nfcInitiallyEnabled = nfcAdapter.isEnabled();
-        InstrumentationRegistry.getContext().startActivity(new Intent()
-                .setClassName(
-                        SETTINGS_PACKAGE,
-                        "com.android.settings.Settings$ConnectedDeviceDashboardActivity"));
-        UiObject2 nfcSetting = mDevice.wait(Until.findObject(By.text("NFC")), TIMEOUT);
-        nfcSetting.click();
-        Thread.sleep(TIMEOUT * 2);
-        if (nfcInitiallyEnabled) {
-            assertFalse("NFC wasn't disabled on toggle", nfcAdapter.isEnabled());
-            nfcSetting.click();
-            Thread.sleep(TIMEOUT * 2);
-            assertTrue("NFC wasn't enabled on toggle", nfcAdapter.isEnabled());
-        } else {
-            assertTrue("NFC wasn't enabled on toggle", nfcAdapter.isEnabled());
-            nfcSetting.click();
-            Thread.sleep(TIMEOUT * 2);
-            assertFalse("NFC wasn't disabled on toggle", nfcAdapter.isEnabled());
-        }
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/DataSaverSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/DataSaverSettingsTest.kt
new file mode 100644
index 0000000..f3d2d9d
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/DataSaverSettingsTest.kt
@@ -0,0 +1,43 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class DataSaverSettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_DATA_SAVER_SETTINGS)
+    }
+
+    @Test
+    fun hasSwitchBar() {
+        device.assertObject(By.text("Use Data Saver"))
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTest.kt
new file mode 100644
index 0000000..413fae7
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTest.kt
@@ -0,0 +1,50 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class DataUsageSettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_DATA_USAGE_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf(
+            "0 B",
+            "Data Saver",
+            "Wi‑Fi data usage",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java b/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java
deleted file mode 100644
index eddc771..0000000
--- a/tests/uitests/src/com/android/settings/ui/DataUsageSettingsTests.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.Until;
-import android.system.helpers.SettingsHelper;
-import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-
-public class DataUsageSettingsTests extends InstrumentationTestCase {
-
-    private static final String SETTINGS_PACKAGE = "com.android.settings";
-    private static final int TIMEOUT = 2000;
-    private UiDevice mDevice;
-
-    @Override
-    public void setUp() throws Exception {
-        super.setUp();
-        mDevice = UiDevice.getInstance(getInstrumentation());
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientaion", e);
-        }
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        // Need to finish settings activity
-        mDevice.pressBack();
-        mDevice.pressHome();
-        super.tearDown();
-    }
-
-    @MediumTest
-    public void testElementsOnDataUsageScreen() throws Exception {
-        launchDataUsageSettings();
-        assertNotNull("Data usage element not found",
-                mDevice.wait(Until.findObject(By.text("Usage")),
-                TIMEOUT));
-        assertNotNull("Data usage bar not found",
-                mDevice.wait(Until.findObject(By.res(SETTINGS_PACKAGE,
-                "color_bar")), TIMEOUT));
-        assertNotNull("WiFi Data usage element not found",
-                mDevice.wait(Until.findObject(By.text("Wi-Fi data usage")),
-                TIMEOUT));
-        assertNotNull("Network restrictions element not found",
-                mDevice.wait(Until.findObject(By.text("Network restrictions")),
-                TIMEOUT));
-    }
-
-    public void launchDataUsageSettings() throws Exception {
-        SettingsHelper.launchSettingsPage(getInstrumentation().getContext(),
-                Settings.ACTION_SETTINGS);
-        mDevice.wait(Until
-                .findObject(By.text("Network & Internet")), TIMEOUT)
-                .click();
-        Thread.sleep(TIMEOUT * 2);
-        assertNotNull("Network & internet screen not loaded", mDevice.wait(
-                Until.findObject(By.text("Data usage")), TIMEOUT));
-        mDevice.wait(Until
-                .findObject(By.text("Data usage")), TIMEOUT)
-                .click();
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/DevelopmentSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/DevelopmentSettingsTest.kt
new file mode 100644
index 0000000..1215383
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/DevelopmentSettingsTest.kt
@@ -0,0 +1,62 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.clickObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+@SmallTest
+class DevelopmentSettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_DEVICE_INFO_SETTINGS)
+        device.assertHasTexts(listOf(BUILD_NUMBER))
+        repeat(7) {  // Enable development mode
+            device.clickObject(By.text(BUILD_NUMBER))
+        }
+        device.startMainActivityFromHomeScreen(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        private const val BUILD_NUMBER = "Build number"
+        val ON_SCREEN_TEXTS = listOf(
+            "Use developer options",
+            "Memory",
+            "Stay awake",
+            "USB debugging",
+            "App Compatibility Changes",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/HomepageDisplayTests.java b/tests/uitests/src/com/android/settings/ui/HomepageDisplayTests.java
deleted file mode 100644
index 807ac6f..0000000
--- a/tests/uitests/src/com/android/settings/ui/HomepageDisplayTests.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import static com.android.settings.ui.testutils.SettingsTestUtils.SETTINGS_PACKAGE;
-import static com.android.settings.ui.testutils.SettingsTestUtils.TIMEOUT;
-
-import android.os.RemoteException;
-import android.platform.test.annotations.Presubmit;
-import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-import android.system.helpers.SettingsHelper;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.ui.testutils.SettingsTestUtils;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@MediumTest
-@RunWith(AndroidJUnit4.class)
-public class HomepageDisplayTests {
-
-    private static final String[] HOMEPAGE_ITEMS = {
-            "Network & internet",
-            "Connected devices",
-            "Apps & notifications",
-            "Battery",
-            "Display",
-            "Sound",
-            "Storage",
-            "Security",
-            "Location",
-            "Privacy",
-            "Accounts",
-            "Accessibility",
-            "System"
-    };
-
-    private UiDevice mDevice;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientaion", e);
-        }
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        // Need to finish settings activity
-        mDevice.pressHome();
-    }
-
-    @Presubmit
-    @Test
-    public void testHomepageCategory() throws Exception {
-        // Launch Settings
-        SettingsHelper.launchSettingsPage(
-                InstrumentationRegistry.getContext(), Settings.ACTION_SETTINGS);
-
-        // Scroll to top
-        final UiObject2 view = mDevice.wait(
-                Until.findObject(By.res(SETTINGS_PACKAGE, "main_content")),
-                TIMEOUT);
-        view.scroll(Direction.UP, 100f);
-
-        // Inspect each item
-        for (String item : HOMEPAGE_ITEMS) {
-            SettingsTestUtils.assertTitleMatch(mDevice, item);
-        }
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/HomepageDisplayTests.kt b/tests/uitests/src/com/android/settings/ui/HomepageDisplayTests.kt
new file mode 100644
index 0000000..72a84dc
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/HomepageDisplayTests.kt
@@ -0,0 +1,60 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class HomepageDisplayTests {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_SETTINGS)
+    }
+
+    @Test
+    fun hasHomepageItems() {
+        device.assertHasTexts(HOMEPAGE_ITEMS)
+    }
+
+    private companion object {
+        val HOMEPAGE_ITEMS = listOf(
+            "Network & internet",
+            "Connected devices",
+            "Apps",
+            "Notifications",
+            "Battery",
+            "Storage",
+            "Sound & vibration",
+            "Display",
+            "Accessibility",
+            "Security & privacy",
+            "Location",
+            "Passwords & accounts",
+            "System",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/LocationSettingsTests.java b/tests/uitests/src/com/android/settings/ui/LocationSettingsTests.java
index 8e391f3..da15c56 100644
--- a/tests/uitests/src/com/android/settings/ui/LocationSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/LocationSettingsTests.java
@@ -19,16 +19,19 @@
 import android.os.RemoteException;
 import android.platform.test.annotations.Presubmit;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.SettingsHelper;
 import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
 
+import androidx.test.filters.MediumTest;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.Direction;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
 
+import org.junit.Ignore;
+
+@Ignore
 public class LocationSettingsTests extends InstrumentationTestCase {
 
     private static final String SETTINGS_PACKAGE = "com.android.settings";
diff --git a/tests/uitests/src/com/android/settings/ui/MemorySettingsTest.kt b/tests/uitests/src/com/android/settings/ui/MemorySettingsTest.kt
new file mode 100644
index 0000000..312e2c6
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/MemorySettingsTest.kt
@@ -0,0 +1,76 @@
+/*
+ * 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.ui
+
+import android.os.Flags
+import android.platform.test.annotations.RequiresFlagsDisabled
+import android.platform.test.annotations.RequiresFlagsEnabled
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.filters.SmallTest
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.clickObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+@SmallTest
+class MemorySettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_DEVICE_INFO_SETTINGS)
+        device.assertHasTexts(listOf(BUILD_NUMBER))
+        repeat(7) {  // Enable development mode
+            device.clickObject(By.text(BUILD_NUMBER))
+        }
+        device.startMainActivityFromHomeScreen(Settings.ACTION_APPLICATION_DEVELOPMENT_SETTINGS)
+        device.clickObject(By.text(MEMORY_PAGE))
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_REMOVE_APP_PROFILER_PSS_COLLECTION)
+    fun memoryPageIfPssFlagDisabled() {
+        device.assertHasTexts(ON_SCREEN_TEXTS_DEFAULT)
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_REMOVE_APP_PROFILER_PSS_COLLECTION)
+    fun memoryPageIfPssFlagEnabled() {
+        device.assertHasTexts(ON_SCREEN_TEXTS_PSS_PROFILING_DISABLED)
+    }
+
+    private companion object {
+        private const val BUILD_NUMBER = "Build number"
+        private const val MEMORY_PAGE = "Memory"
+        val ON_SCREEN_TEXTS_DEFAULT = listOf(
+            "Performance",
+            "Total memory",
+            "Average used (%)",
+            "Free",
+        )
+        val ON_SCREEN_TEXTS_PSS_PROFILING_DISABLED = listOf(
+            "Enable memory usage profiling",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java b/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java
index c18583b..2dfcbbe 100644
--- a/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java
+++ b/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTest2.java
@@ -20,23 +20,27 @@
 import android.net.wifi.WifiManager;
 import android.os.RemoteException;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.BySelector;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.StaleObjectException;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.CommandsHelper;
 import android.system.helpers.SettingsHelper;
 import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.test.suitebuilder.annotation.Suppress;
 import android.util.Log;
 
+import androidx.test.filters.MediumTest;
+import androidx.test.filters.Suppress;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.BySelector;
+import androidx.test.uiautomator.Direction;
+import androidx.test.uiautomator.StaleObjectException;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
+
+import org.junit.Ignore;
+
 /**
  * Additional tests for Wifi Settings.
  */
+@Ignore
 public class MoreWirelessSettingsTest2 extends InstrumentationTestCase {
     // These back button presses are performed in tearDown() to exit Wifi
     // Settings sub-menus that a test might finish in. This number should be
diff --git a/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTests.java b/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTests.java
index 2523686..fd65b83 100644
--- a/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/MoreWirelessSettingsTests.java
@@ -19,14 +19,15 @@
 import android.os.RemoteException;
 import android.platform.test.annotations.Presubmit;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.SettingsHelper;
 import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
 
+import androidx.test.filters.MediumTest;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.Direction;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
 
 public class MoreWirelessSettingsTests extends InstrumentationTestCase {
 
@@ -85,8 +86,8 @@
     public void testVPNMenuLoad() throws Exception {
         SettingsHelper.launchSettingsPage(getInstrumentation().getContext(),
                 Settings.ACTION_WIRELESS_SETTINGS);
-        mDevice.wait(Until
-                 .findObject(By.text("VPN")), TIMEOUT)
+        mDevice.findObject(By.res(SETTINGS_PACKAGE, "main_content"))
+                .scrollUntil(Direction.DOWN, Until.findObject(By.text("VPN")))
                  .click();
         Thread.sleep(TIMEOUT);
         UiObject2 usbTethering = mDevice.wait(Until
diff --git a/tests/uitests/src/com/android/settings/ui/NetworkOperatorSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/NetworkOperatorSettingsTest.kt
new file mode 100644
index 0000000..701ba2f
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/NetworkOperatorSettingsTest.kt
@@ -0,0 +1,67 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import android.telephony.SubscriptionManager
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import com.google.common.truth.TruthJUnit.assume
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class NetworkOperatorSettingsTest {
+    private val instrumentation = InstrumentationRegistry.getInstrumentation()
+    private val device = UiDevice.getInstance(instrumentation)
+
+    @Before
+    fun setUp() {
+        assume().that(
+            instrumentation.context.getSystemService(SubscriptionManager::class.java)!!
+                .availableSubscriptionInfoList
+        ).isNotEmpty()
+        device.startMainActivityFromHomeScreen(Settings.ACTION_NETWORK_OPERATOR_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf(
+            "Use SIM",
+            "0 B",
+            "Calls preference",
+            "SMS preference",
+            "Mobile data",
+            "Roaming",
+            "App data usage",
+            "Data warning & limit",
+            "Preferred network type",
+            "Carrier settings version",
+            "Automatically select network",
+            "Choose network",
+            "Access Point Names",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/NfcSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/NfcSettingsTest.kt
new file mode 100644
index 0000000..2fbbfe5
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/NfcSettingsTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.ui
+
+import android.nfc.NfcAdapter
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import com.google.common.truth.TruthJUnit.assume
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class NfcSettingsTest {
+    private val instrumentation = InstrumentationRegistry.getInstrumentation()
+    private val device = UiDevice.getInstance(instrumentation)
+
+    @Before
+    fun setUp() {
+        assume().that(NfcAdapter.getDefaultAdapter(instrumentation.context)).isNotNull()
+        device.startMainActivityFromHomeScreen(Settings.ACTION_NFC_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf(
+            "Use NFC",
+            "Require device unlock for NFC",
+            "Contactless payments",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java b/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java
index e25005c..b44f5ca 100644
--- a/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/NotificationSettingsTests.java
@@ -19,21 +19,25 @@
 import android.content.Intent;
 import android.os.RemoteException;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.BySelector;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.ActivityHelper;
 import android.system.helpers.SettingsHelper;
 import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
 import android.util.Log;
 import android.widget.ListView;
 
+import androidx.test.filters.MediumTest;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.BySelector;
+import androidx.test.uiautomator.Direction;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
+
+import org.junit.Ignore;
+
 /** Verifies that you can get to the notification app listing page from the apps & notifications
  * page */
+@Ignore
 public class NotificationSettingsTests extends InstrumentationTestCase {
     private static final boolean LOCAL_LOGV = false;
     private static final String TAG = "NotifiSettingsTests";
diff --git a/tests/uitests/src/com/android/settings/ui/SecuritySettingsLaunchTest.java b/tests/uitests/src/com/android/settings/ui/SecuritySettingsLaunchTest.java
deleted file mode 100644
index 5efb7e8..0000000
--- a/tests/uitests/src/com/android/settings/ui/SecuritySettingsLaunchTest.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.ui;
-
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-import android.system.helpers.SettingsHelper;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.ui.testutils.SettingsTestUtils;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@MediumTest
-@RunWith(AndroidJUnit4.class)
-public class SecuritySettingsLaunchTest {
-
-    // Items we really want to always show
-    private static final String[] CATEGORIES = new String[]{
-            "Security status",
-            "Device security",
-            "Privacy",
-    };
-
-    private UiDevice mDevice;
-    private SettingsHelper mHelper;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mHelper = SettingsHelper.getInstance();
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientaion", e);
-        }
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        // Go back to home for next test.
-        mDevice.pressHome();
-    }
-
-    @Test
-    public void launchSecuritySettings() throws Exception {
-        // Launch Settings
-        SettingsHelper.launchSettingsPage(
-                InstrumentationRegistry.getTargetContext(), Settings.ACTION_SECURITY_SETTINGS);
-        mHelper.scrollVert(false);
-        for (String category : CATEGORIES) {
-            SettingsTestUtils.assertTitleMatch(mDevice, category);
-        }
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/SecuritySettingsTest.kt b/tests/uitests/src/com/android/settings/ui/SecuritySettingsTest.kt
new file mode 100644
index 0000000..b5a4fe9
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/SecuritySettingsTest.kt
@@ -0,0 +1,65 @@
+/*
+ * 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.ui
+
+import android.os.Flags
+import android.platform.test.annotations.RequiresFlagsEnabled
+import android.platform.test.flag.junit.DeviceFlagsValueProvider
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+
+@RunWith(AndroidJUnit4::class)
+class SecuritySettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @get:Rule
+    public val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_SECURITY_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE)
+    fun privateSpace_ifFlagON() {
+        device.assertHasTexts(listOf("Private Space"))
+    }
+
+    private companion object {
+        // Items we really want to always show
+        val ON_SCREEN_TEXTS = listOf(
+            "Device unlock",
+            "Privacy",
+            "More security & privacy",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java b/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java
index 0c2a33f..f981f7f 100644
--- a/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java
+++ b/tests/uitests/src/com/android/settings/ui/SoundSettingsTest.java
@@ -19,18 +19,22 @@
 import android.content.ContentResolver;
 import android.os.SystemClock;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.SettingsHelper;
 import android.system.helpers.SettingsHelper.SettingsType;
 import android.test.InstrumentationTestCase;
-import android.test.suitebuilder.annotation.MediumTest;
-import android.test.suitebuilder.annotation.Suppress;
+
+import androidx.test.filters.MediumTest;
+import androidx.test.filters.Suppress;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.Until;
+
+import org.junit.Ignore;
 
 import java.util.Map;
 
+@Ignore
 public class SoundSettingsTest extends InstrumentationTestCase {
     private static final String PAGE = Settings.ACTION_SOUND_SETTINGS;
     private static final int TIMEOUT = 2000;
diff --git a/tests/uitests/src/com/android/settings/ui/StorageSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/StorageSettingsTest.kt
new file mode 100644
index 0000000..771512a
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/StorageSettingsTest.kt
@@ -0,0 +1,54 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class StorageSettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_INTERNAL_STORAGE_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf(
+            "System",
+            "Documents & other",
+            "Games",
+            "Apps",
+            "Audio",
+            "Videos",
+            "Images",
+        )
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/StorageSettingsUITest.java b/tests/uitests/src/com/android/settings/ui/StorageSettingsUITest.java
deleted file mode 100644
index b21da71..0000000
--- a/tests/uitests/src/com/android/settings/ui/StorageSettingsUITest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.UiDevice;
-import android.system.helpers.SettingsHelper;
-import android.test.suitebuilder.annotation.MediumTest;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import com.android.settings.ui.testutils.SettingsTestUtils;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-@MediumTest
-public class StorageSettingsUITest {
-
-    private static final String[] TITLES = {
-            "Photos & videos",
-            "Music & audio",
-            "Games",
-            "Movie & TV apps",
-            "Other apps",
-            "Files",
-            "System",
-    };
-    private UiDevice mDevice;
-    private SettingsHelper mHelper;
-
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-        mHelper = SettingsHelper.getInstance();
-
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientation", e);
-        }
-    }
-
-    @After
-    public void tearDown() {
-        mDevice.pressHome();
-    }
-
-    @Test
-    public void launchStorageSettings() throws Exception {
-        // Launch Settings
-        SettingsHelper.launchSettingsPage(
-                InstrumentationRegistry.getTargetContext(),
-                Settings.ACTION_INTERNAL_STORAGE_SETTINGS);
-        mHelper.scrollVert(false);
-        for (String category : TITLES) {
-            SettingsTestUtils.assertTitleMatch(mDevice, category);
-        }
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/StorageWizardTest.java b/tests/uitests/src/com/android/settings/ui/StorageWizardTest.java
index eefd1eb..9d5c28b 100644
--- a/tests/uitests/src/com/android/settings/ui/StorageWizardTest.java
+++ b/tests/uitests/src/com/android/settings/ui/StorageWizardTest.java
@@ -20,18 +20,19 @@
 import android.os.SystemClock;
 import android.os.storage.DiskInfo;
 import android.os.storage.VolumeInfo;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.BySelector;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.UiObjectNotFoundException;
-import android.support.test.uiautomator.Until;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.BySelector;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.UiObjectNotFoundException;
+import androidx.test.uiautomator.Until;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -42,6 +43,7 @@
  * Verify storage wizard flows. Temporarily enables a virtual disk which enables
  * testing on all devices, regardless of physical SD card support.
  */
+@Ignore
 @RunWith(AndroidJUnit4.class)
 public class StorageWizardTest {
     private static final String ANDROID_PACKAGE = "android";
diff --git a/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java b/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java
deleted file mode 100644
index 58a2fd3..0000000
--- a/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui;
-
-import static junit.framework.Assert.assertTrue;
-
-import android.os.RemoteException;
-import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-import android.system.helpers.SettingsHelper;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.filters.MediumTest;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@MediumTest
-@RunWith(AndroidJUnit4.class)
-public class SyncSettingsTest {
-    private static final int TIMEOUT = 2000;
-
-    private UiDevice mDevice;
-
-    @Before
-    public void setUp() throws Exception {
-        mDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
-
-        try {
-            mDevice.setOrientationNatural();
-        } catch (RemoteException e) {
-            throw new RuntimeException("failed to freeze device orientaion", e);
-        }
-    }
-
-    @After
-    public void tearDown() throws Exception {
-        // Need to finish settings activity
-        mDevice.pressHome();
-    }
-
-    @Test
-    public void syncPageShouldHaveAddAccountButton() throws Exception {
-        // Launch Settings
-        SettingsHelper.launchSettingsPage(
-                InstrumentationRegistry.getContext(), Settings.ACTION_SYNC_SETTINGS);
-        UiObject2 addAccount = mDevice.wait(
-                Until.findObject(By.text("Add account")), TIMEOUT);
-        assertTrue(addAccount != null);
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.kt
new file mode 100644
index 0000000..5de5ba5
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/SyncSettingsTest.kt
@@ -0,0 +1,46 @@
+/*
+ * 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.ui
+
+import android.provider.Settings
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class SyncSettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_SYNC_SETTINGS)
+    }
+
+    @Test
+    fun hasTexts() {
+        device.assertHasTexts(ON_SCREEN_TEXTS)
+    }
+
+    private companion object {
+        val ON_SCREEN_TEXTS = listOf("Add account")
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/WirelessNetworkSettingsTests.java b/tests/uitests/src/com/android/settings/ui/WirelessNetworkSettingsTests.java
index d637c53..22c73a9 100644
--- a/tests/uitests/src/com/android/settings/ui/WirelessNetworkSettingsTests.java
+++ b/tests/uitests/src/com/android/settings/ui/WirelessNetworkSettingsTests.java
@@ -17,6 +17,7 @@
 package com.android.settings.ui;
 
 import static com.android.settings.ui.testutils.SettingsTestUtils.SETTINGS_PACKAGE;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Context;
@@ -24,25 +25,27 @@
 import android.os.RemoteException;
 import android.platform.test.annotations.Presubmit;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.CommandsHelper;
 import android.system.helpers.SettingsHelper;
-import android.test.suitebuilder.annotation.MediumTest;
 import android.util.Log;
 
 import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.MediumTest;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.Until;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 /**
  * Core tests for Wifi Settings.
  */
+@Ignore
 @RunWith(AndroidJUnit4.class)
 @MediumTest
 public class WirelessNetworkSettingsTests {
diff --git a/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java b/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java
index 4cb7ad9..bf13dfc 100644
--- a/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java
+++ b/tests/uitests/src/com/android/settings/ui/ZonePickerSettingsTest.java
@@ -25,29 +25,31 @@
 import android.os.RemoteException;
 import android.os.SystemProperties;
 import android.provider.Settings;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.BySelector;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.UiObjectNotFoundException;
-import android.support.test.uiautomator.UiScrollable;
-import android.support.test.uiautomator.UiSelector;
-import android.support.test.uiautomator.Until;
 import android.system.helpers.SettingsHelper;
 import android.system.helpers.SettingsHelper.SettingsType;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.MediumTest;
 import androidx.test.runner.AndroidJUnit4;
+import androidx.test.uiautomator.By;
+import androidx.test.uiautomator.BySelector;
+import androidx.test.uiautomator.UiDevice;
+import androidx.test.uiautomator.UiObject;
+import androidx.test.uiautomator.UiObject2;
+import androidx.test.uiautomator.UiObjectNotFoundException;
+import androidx.test.uiautomator.UiScrollable;
+import androidx.test.uiautomator.UiSelector;
+import androidx.test.uiautomator.Until;
 
 import org.junit.After;
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import java.util.TimeZone;
 
+@Ignore
 @MediumTest
 @RunWith(AndroidJUnit4.class)
 public class ZonePickerSettingsTest {
diff --git a/tests/uitests/src/com/android/settings/ui/inputmethods/DataSaverSummaryUITest.java b/tests/uitests/src/com/android/settings/ui/inputmethods/DataSaverSummaryUITest.java
deleted file mode 100644
index fd8c054..0000000
--- a/tests/uitests/src/com/android/settings/ui/inputmethods/DataSaverSummaryUITest.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.ui.inputmethods;
-
-import static com.android.settings.ui.testutils.SettingsTestUtils.TIMEOUT;
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class DataSaverSummaryUITest {
-
-    private Instrumentation mInstrumentation;
-    private Intent mIntent;
-    private UiDevice mUiDevice;
-
-    @Before
-    public void setUp() {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mUiDevice = UiDevice.getInstance(mInstrumentation);
-        mIntent = new Intent().setClassName("com.android.settings",
-                "com.android.settings.Settings$DataUsageSummaryActivity")
-                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    }
-
-    @Test
-    public void launchSettings_hasSwitchBar() throws Exception {
-        launchDataSaverSettings();
-        final UiObject2 switchBar =
-                mUiDevice.wait(Until.findObject(By.text("Use Data Saver")), TIMEOUT);
-
-        assertThat(switchBar).isNotNull();
-    }
-
-    private void launchDataSaverSettings() throws InterruptedException {
-        mInstrumentation.getContext().startActivity(mIntent);
-        final UiObject2 prefDataSaver =
-                mUiDevice.wait(Until.findObject(By.text("Data Saver")), TIMEOUT);
-
-        assertThat(prefDataSaver).isNotNull();
-        prefDataSaver.click();
-        Thread.sleep(TIMEOUT * 2);
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/inputmethods/SpellCheckerSettingsTest.kt b/tests/uitests/src/com/android/settings/ui/inputmethods/SpellCheckerSettingsTest.kt
new file mode 100644
index 0000000..d65efb7
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/inputmethods/SpellCheckerSettingsTest.kt
@@ -0,0 +1,49 @@
+/*
+ * 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.ui.inputmethods
+
+import android.content.Intent
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.SETTINGS_PACKAGE
+import com.android.settings.ui.testutils.SettingsTestUtils.assertObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class SpellCheckerSettingsTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Intent().apply {
+            setClassName(
+                SETTINGS_PACKAGE,
+                "com.android.settings.Settings\$SpellCheckersSettingsActivity",
+            )
+        })
+    }
+
+    @Test
+    fun hasSwitchBar() {
+        device.assertObject(By.text("Use spell checker"))
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/inputmethods/SpellCheckerSettingsUITest.java b/tests/uitests/src/com/android/settings/ui/inputmethods/SpellCheckerSettingsUITest.java
deleted file mode 100644
index 9c18da5..0000000
--- a/tests/uitests/src/com/android/settings/ui/inputmethods/SpellCheckerSettingsUITest.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui.inputmethods;
-
-import static com.android.settings.ui.testutils.SettingsTestUtils.TIMEOUT;
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Instrumentation;
-import android.content.Intent;
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-
-import androidx.test.InstrumentationRegistry;
-import androidx.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class SpellCheckerSettingsUITest {
-
-    private Instrumentation mInstrumentation;
-    private Intent mIntent;
-    private UiDevice mUiDevice;
-
-    @Before
-    public void setUp() {
-        mInstrumentation = InstrumentationRegistry.getInstrumentation();
-        mUiDevice = UiDevice.getInstance(mInstrumentation);
-        mIntent = new Intent().setClassName("com.android.settings",
-                "com.android.settings.Settings$SpellCheckersSettingsActivity")
-                .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-    }
-
-    @Test
-    public void launchSettings_hasSwitchBar() {
-        mInstrumentation.getContext().startActivity(mIntent);
-        final UiObject2 switchBar =
-                mUiDevice.wait(Until.findObject(By.text("Use spell checker")), TIMEOUT);
-
-        assertThat(switchBar).isNotNull();
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/privatespace/PrivateSpaceAuthenticationActivityTest.kt b/tests/uitests/src/com/android/settings/ui/privatespace/PrivateSpaceAuthenticationActivityTest.kt
new file mode 100644
index 0000000..8eadd9d
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/privatespace/PrivateSpaceAuthenticationActivityTest.kt
@@ -0,0 +1,96 @@
+/*
+ * 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.ui.privatespace
+
+
+import android.os.Flags
+import android.platform.test.annotations.RequiresFlagsDisabled
+import android.platform.test.annotations.RequiresFlagsEnabled
+import android.platform.test.flag.junit.DeviceFlagsValueProvider
+import android.provider.Settings
+import android.util.Log
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.UiDevice
+import com.android.settings.ui.testutils.SettingsTestUtils.assertHasTexts
+import com.android.settings.ui.testutils.SettingsTestUtils.clickObject
+import com.android.settings.ui.testutils.SettingsTestUtils.startMainActivityFromHomeScreen
+import com.android.settings.ui.testutils.SettingsTestUtils.waitObject
+import org.junit.Before
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+
+@RunWith(AndroidJUnit4::class)
+@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE)
+class PrivateSpaceAuthenticationActivityTest {
+    private val device = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation())
+
+    @get:Rule
+    public val mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule()
+
+    @Before
+    fun setUp() {
+        device.startMainActivityFromHomeScreen(Settings.ACTION_SECURITY_SETTINGS)
+        device.assertHasTexts(listOf(PRIVATE_SPACE_SETTING))
+    }
+
+    @Test
+    fun showAuthenticationScreen() {
+        Thread.sleep(1000)
+        device.clickObject(By.text(PRIVATE_SPACE_SETTING))
+        device.waitObject(By.text(DIALOG_TITLE))
+        Thread.sleep(1000)
+        device.assertHasTexts(listOf("Set a screen lock","Cancel"))
+    }
+
+    @Test
+    fun onCancelLockExitSetup() {
+        Thread.sleep(1000)
+        device.clickObject(By.text(PRIVATE_SPACE_SETTING))
+        device.waitObject(By.text(DIALOG_TITLE))
+        Thread.sleep(1000)
+        device.assertHasTexts(listOf(SET_LOCK_BUTTON, CANCEL_TEXT))
+        device.clickObject(By.text(CANCEL_TEXT))
+        device.assertHasTexts(listOf(PRIVATE_SPACE_SETTING))
+    }
+
+    @Test
+    fun onSetupSetLock() {
+        Thread.sleep(1000)
+        device.clickObject(By.text(PRIVATE_SPACE_SETTING))
+        device.waitObject(By.text(DIALOG_TITLE))
+        Thread.sleep(1000)
+        device.assertHasTexts(listOf(SET_LOCK_BUTTON,CANCEL_TEXT))
+        device.clickObject(By.text(SET_LOCK_BUTTON))
+        Thread.sleep(1000)
+        device.assertHasTexts(listOf(PATTERN_TEXT, PIN_TEXT, PASSWORD_TEXT))
+    }
+
+    private companion object {
+        // Items we really want to always show
+        val PRIVATE_SPACE_SETTING = "Private space"
+        const val SET_LOCK_BUTTON = "Set screen lock"
+        val CANCEL_TEXT = "Cancel"
+        val DIALOG_TITLE = "Set a screen lock"
+        val PATTERN_TEXT = "Pattern"
+        val PIN_TEXT = "PIN"
+        val PASSWORD_TEXT = "Password"
+    }
+}
diff --git a/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.java b/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.java
deleted file mode 100644
index 9b1be14..0000000
--- a/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (C) 2018 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.ui.testutils;
-
-import static org.junit.Assert.assertNotNull;
-
-import android.support.test.uiautomator.By;
-import android.support.test.uiautomator.Direction;
-import android.support.test.uiautomator.UiDevice;
-import android.support.test.uiautomator.UiObject2;
-import android.support.test.uiautomator.Until;
-
-public class SettingsTestUtils {
-
-    public static final String SETTINGS_PACKAGE = "com.android.settings";
-    public static final int TIMEOUT = 2000;
-
-    private void scrollToTop(UiDevice device) throws Exception {
-        int count = 5;
-        UiObject2 view = null;
-        while (count >= 0) {
-            view = device.wait(
-                    Until.findObject(By.res(SETTINGS_PACKAGE, "main_content")),
-                    TIMEOUT);
-            view.scroll(Direction.UP, 1.0f);
-            count--;
-        }
-    }
-
-    public static void assertTitleMatch(UiDevice device, String title) {
-        int maxAttempt = 5;
-        UiObject2 item = null;
-        UiObject2 view = null;
-        while (maxAttempt-- > 0) {
-            item = device.wait(Until.findObject(By.res("android:id/title").text(title)), TIMEOUT);
-            if (item == null) {
-                view = device.wait(
-                        Until.findObject(By.res(SETTINGS_PACKAGE, "main_content")),
-                        TIMEOUT);
-                view.scroll(Direction.DOWN, 1.0f);
-            } else {
-                return;
-            }
-        }
-        assertNotNull(String.format("%s in Setting has not been loaded correctly", title), item);
-    }
-}
diff --git a/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt b/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt
new file mode 100644
index 0000000..1dd07cd
--- /dev/null
+++ b/tests/uitests/src/com/android/settings/ui/testutils/SettingsTestUtils.kt
@@ -0,0 +1,79 @@
+/*
+ * 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.ui.testutils
+
+import android.content.Context
+import android.content.Intent
+import android.view.KeyEvent
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.uiautomator.By
+import androidx.test.uiautomator.BySelector
+import androidx.test.uiautomator.Direction
+import androidx.test.uiautomator.UiDevice
+import androidx.test.uiautomator.UiObject2
+import androidx.test.uiautomator.Until
+import com.google.common.truth.Truth.assertWithMessage
+
+object SettingsTestUtils {
+    const val SETTINGS_PACKAGE = "com.android.settings"
+    const val TIMEOUT = 2000L
+
+    fun UiDevice.waitObject(bySelector: BySelector): UiObject2? =
+        wait(Until.findObject(bySelector), TIMEOUT)
+
+    fun UiDevice.assertObject(bySelector: BySelector): UiObject2 =
+        checkNotNull(waitObject(bySelector)) { "$bySelector not found" }
+
+    fun UiDevice.clickObject(bySelector: BySelector) = assertObject(bySelector).click()
+
+    fun UiDevice.startMainActivityFromHomeScreen(action: String) {
+        startMainActivityFromHomeScreen(Intent(action))
+    }
+
+    fun UiDevice.startMainActivityFromHomeScreen(intent: Intent) {
+        pressKeyCodes(intArrayOf(KeyEvent.KEYCODE_MENU, KeyEvent.KEYCODE_MENU))  // unlock
+
+        // Start from the home screen
+        pressHome()
+
+        // Wait for launcher
+        waitObject(By.pkg(launcherPackageName).depth(0))
+
+        // Launch the app
+        ApplicationProvider.getApplicationContext<Context>().startActivity(Intent(intent).apply {
+            addFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK)
+            addFlags(Intent.FLAG_ACTIVITY_NEW_TASK)
+        })
+
+        // Wait for the app to appear
+        waitObject(By.pkg(SETTINGS_PACKAGE).depth(0))
+    }
+
+    fun UiDevice.assertHasTexts(texts: List<String>) {
+        val scrollableObj =
+            findObject(By.res(SETTINGS_PACKAGE, "main_content"))
+                ?: findObject(By.scrollable(true))
+        for (text in texts) {
+            val selector = By.text(text)
+            assertWithMessage("Missing text: $text").that(
+                findObject(selector)
+                    ?: scrollableObj.scrollUntil(Direction.DOWN, Until.findObject(selector))
+                    ?: waitObject(selector)
+            ).isNotNull()
+        }
+    }
+}
diff --git a/tests/unit/Android.bp b/tests/unit/Android.bp
index 30e8bc1..0f844d0 100644
--- a/tests/unit/Android.bp
+++ b/tests/unit/Android.bp
@@ -1,4 +1,5 @@
 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"
@@ -13,42 +14,39 @@
     certificate: "platform",
 
     libs: [
-        "android.test.runner",
         "telephony-common",
         "ims-common",
-        "android.test.base",
-        "android.test.mock",
     ],
 
     static_libs: [
-	"androidx.arch.core_core-testing",
+        "aconfig_settings_flags_lib",
+        "androidx.arch.core_core-testing",
         "androidx.test.core",
-        "androidx.test.rules",
         "androidx.test.espresso.core",
-        "androidx.test.espresso.contrib-nodeps",
-        "androidx.test.espresso.intents-nodeps",
+        "androidx.test.rules",
         "androidx.test.ext.junit",
         "androidx.preference_preference",
         "mockito-target-minus-junit4",
         "platform-test-annotations",
         "platform-test-rules",
-        "truth-prebuilt",
-        "ub-uiautomator",
+        "truth",
         "kotlinx_coroutines_test",
+        "flag-junit",
+        "Settings-testutils2",
+        "MediaDrmSettingsFlagsLib",
         // Don't add SettingsLib libraries here - you can use them directly as they are in the
         // instrumented Settings app.
     ],
 
     errorprone: {
-        javacflags: ["-Xep:CheckReturnValue:WARN"]
+        javacflags: ["-Xep:CheckReturnValue:WARN"],
     },
-
     // Include all test java/kotlin files.
     srcs: [
         "src/**/*.java",
         "src/**/*.kt",
     ],
-
+    use_resource_processor: true,
     platform_apis: true,
     test_suites: ["device-tests"],
 
diff --git a/tests/unit/res/drawable/credman_icon_1_1.xml b/tests/unit/res/drawable/credman_icon_1_1.xml
new file mode 100644
index 0000000..49f2d2e
--- /dev/null
+++ b/tests/unit/res/drawable/credman_icon_1_1.xml
@@ -0,0 +1,20 @@
+<!--
+  ~ 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">
+    <solid android:color="#ff0000"/>
+    <size android:width="1dp" android:height="1dp" />
+</shape>
diff --git a/tests/unit/res/drawable/credman_icon_32_32.xml b/tests/unit/res/drawable/credman_icon_32_32.xml
new file mode 100644
index 0000000..2612ed2
--- /dev/null
+++ b/tests/unit/res/drawable/credman_icon_32_32.xml
@@ -0,0 +1,20 @@
+<!--
+  ~ 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">
+    <solid android:color="#ff0000"/>
+    <size android:width="128dp" android:height="128dp" />
+</shape>
diff --git a/tests/unit/src/com/android/settings/MainClearTest.kt b/tests/unit/src/com/android/settings/MainClearTest.kt
new file mode 100644
index 0000000..05f06df
--- /dev/null
+++ b/tests/unit/src/com/android/settings/MainClearTest.kt
@@ -0,0 +1,68 @@
+/*
+ * 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
+
+import android.platform.test.flag.junit.SetFlagsRule
+import androidx.test.core.app.ActivityScenario
+import androidx.test.espresso.Espresso.onView
+import androidx.test.espresso.action.ViewActions.click
+import androidx.test.espresso.assertion.ViewAssertions.doesNotExist
+import androidx.test.espresso.assertion.ViewAssertions.matches
+import androidx.test.espresso.matcher.ViewMatchers.isDisplayed
+import androidx.test.espresso.matcher.ViewMatchers.withText
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.Settings.FactoryResetActivity
+import com.android.settings.flags.Flags
+import com.google.common.truth.Truth.assertThat
+import org.junit.Rule
+import org.junit.Test
+import org.junit.runner.RunWith
+
+/** Test [MainClear]. */
+@RunWith(AndroidJUnit4::class)
+class MainClearTest {
+    @get:Rule
+    val mSetFlagsRule = SetFlagsRule()
+
+    @Test
+    fun factoryResetCancelButton_flagDisabled_noCancelButton() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_SHOW_FACTORY_RESET_CANCEL_BUTTON)
+        ActivityScenario.launch(FactoryResetActivity::class.java).use {
+            ensurePrimaryButton()
+            onView(withText(android.R.string.cancel)).check(doesNotExist())
+            it.onActivity { activity -> assertThat(activity.isFinishing).isFalse() }
+        }
+    }
+
+    @Test
+    fun factoryResetCancelButton_flagEnabled_showCancelButton() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_SHOW_FACTORY_RESET_CANCEL_BUTTON)
+        ActivityScenario.launch(FactoryResetActivity::class.java).use {
+            ensurePrimaryButton()
+            it.onActivity { activity -> assertThat(activity.isFinishing).isFalse() }
+
+            // Note: onView CANNOT be called within onActivity block, which runs in the main thread
+            onView(withText(android.R.string.cancel)).check(matches(isDisplayed())).perform(click())
+
+            it.onActivity { activity -> assertThat(activity.isFinishing).isTrue() }
+        }
+    }
+
+    private fun ensurePrimaryButton() {
+        onView(withText(R.string.main_clear_button_text)).check(matches(isDisplayed()))
+    }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java
index 2933055..88ffdfe 100644
--- a/tests/unit/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/DisableAnimationsPreferenceControllerTest.java
@@ -22,10 +22,16 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import android.content.ContentResolver;
 import android.content.Context;
+import android.database.ContentObserver;
+import android.net.Uri;
+import android.os.Handler;
 import android.os.Looper;
+import android.os.UserHandle;
 import android.provider.Settings;
 
+import androidx.annotation.Nullable;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.preference.SwitchPreference;
@@ -34,15 +40,21 @@
 
 import com.android.settings.core.BasePreferenceController;
 
+import org.junit.After;
+import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
 @RunWith(AndroidJUnit4.class)
 public class DisableAnimationsPreferenceControllerTest {
 
     private static final String TEST_PREFERENCE_KEY = "disable_animation";
     private final Context mContext = ApplicationProvider.getApplicationContext();
+    private Looper mLooper;
 
     private PreferenceScreen mScreen;
     private SwitchPreference mPreference;
@@ -53,10 +65,12 @@
         if (Looper.myLooper() == null) {
             Looper.prepare();
         }
+        mLooper = Looper.myLooper();
         PreferenceManager preferenceManager = new PreferenceManager(mContext);
         mScreen = preferenceManager.createPreferenceScreen(mContext);
         final SwitchPreference preference = new SwitchPreference(mContext);
         preference.setKey(TEST_PREFERENCE_KEY);
+        preference.setPersistent(false);
         mScreen.addPreference(preference);
 
         mController = new DisableAnimationsPreferenceController(mContext, TEST_PREFERENCE_KEY);
@@ -64,6 +78,14 @@
         mPreference = mScreen.findPreference(TEST_PREFERENCE_KEY);
     }
 
+    @After
+    public void cleanUp() {
+        // calling Settings.Global.resetToDefaults doesn't work somehow
+        // one could check if it works by running the test ones, and see if the settings
+        // that were changed being restored to default
+        setAnimationScaleAndWaitForUpdate(ANIMATION_ON_VALUE);
+    }
+
     @Test
     public void getAvailabilityStatus_shouldReturnAvailable() {
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
@@ -72,7 +94,7 @@
 
     @Test
     public void isChecked_enabledAnimation_shouldReturnFalse() {
-        setAnimationScale(ANIMATION_ON_VALUE);
+        setAnimationScaleAndWaitForUpdate(ANIMATION_ON_VALUE);
 
         mController.updateState(mPreference);
 
@@ -82,7 +104,7 @@
 
     @Test
     public void isChecked_disabledAnimation_shouldReturnTrue() {
-        setAnimationScale(ANIMATION_OFF_VALUE);
+        setAnimationScaleAndWaitForUpdate(ANIMATION_OFF_VALUE);
 
         mController.updateState(mPreference);
 
@@ -116,7 +138,7 @@
     public void onStart_enabledAnimation_shouldReturnFalse() {
         mController.onStart();
 
-        setAnimationScale(ANIMATION_ON_VALUE);
+        setAnimationScaleAndWaitForUpdate(ANIMATION_ON_VALUE);
 
         assertThat(mController.isChecked()).isFalse();
         assertThat(mPreference.isChecked()).isFalse();
@@ -126,7 +148,7 @@
     public void onStart_disabledAnimation_shouldReturnTrue() {
         mController.onStart();
 
-        setAnimationScale(ANIMATION_OFF_VALUE);
+        setAnimationScaleAndWaitForUpdate(ANIMATION_OFF_VALUE);
 
         assertThat(mController.isChecked()).isTrue();
         assertThat(mPreference.isChecked()).isTrue();
@@ -138,15 +160,34 @@
         mController.onStart();
         mController.onStop();
 
-        setAnimationScale(ANIMATION_ON_VALUE);
+        setAnimationScaleAndWaitForUpdate(ANIMATION_ON_VALUE);
 
         assertThat(mPreference.isChecked()).isTrue();
     }
 
-    private void setAnimationScale(float newValue) {
-        for (String animationPreference : TOGGLE_ANIMATION_TARGETS) {
-            Settings.Global.putFloat(mContext.getContentResolver(), animationPreference,
-                    newValue);
+    private void setAnimationScaleAndWaitForUpdate(float newValue) {
+        ContentResolver resolver = mContext.getContentResolver();
+        CountDownLatch countDownLatch = new CountDownLatch(TOGGLE_ANIMATION_TARGETS.size());
+        ContentObserver settingsObserver = new ContentObserver(new Handler(mLooper)) {
+            @Override
+            public void onChange(boolean selfChange, @Nullable Uri uri) {
+                countDownLatch.countDown();
+
+            }
+        };
+
+        try {
+            for (String key : TOGGLE_ANIMATION_TARGETS) {
+                resolver.registerContentObserver(Settings.Global.getUriFor(key),
+                        false, settingsObserver, UserHandle.USER_ALL);
+                Settings.Global.putFloat(mContext.getContentResolver(), key,
+                        newValue);
+            }
+            countDownLatch.await(5, TimeUnit.SECONDS);
+        } catch (InterruptedException e) {
+            Assert.fail(e.getMessage());
+        } finally {
+            resolver.unregisterContentObserver(settingsObserver);
         }
     }
 }
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/accessibility/DisplaySizeDataTest.java b/tests/unit/src/com/android/settings/accessibility/DisplaySizeDataTest.java
new file mode 100644
index 0000000..3e0ea3a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/accessibility/DisplaySizeDataTest.java
@@ -0,0 +1,81 @@
+/*
+ * 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.accessibility;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.os.AsyncTask;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Assume;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
+
+@RunWith(AndroidJUnit4.class)
+public class DisplaySizeDataTest {
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+    private DisplaySizeData mDisplaySizeData;
+    private int mInitialIndex;
+
+    @Before
+    public void setUp() {
+        mDisplaySizeData = new DisplaySizeData(mContext);
+        mInitialIndex = mDisplaySizeData.getInitialIndex();
+    }
+
+    @After
+    public void cleanUp() throws InterruptedException {
+        mDisplaySizeData.commit(mInitialIndex);
+        waitForDisplayChangesSynchronously();
+    }
+
+    @Test
+    public void commit_success() throws InterruptedException {
+        final int progress = mDisplaySizeData.getValues().size() - 1;
+        Assume.assumeTrue("We need more default display size to make the test effective",
+                mInitialIndex != progress && progress > 0);
+
+        mDisplaySizeData.commit(progress);
+        waitForDisplayChangesSynchronously();
+
+        final int density = mContext.getResources().getDisplayMetrics().densityDpi;
+        assertThat(density).isEqualTo(mDisplaySizeData.getValues().get(progress));
+    }
+
+    /**
+     * Wait for the display change propagated synchronously.
+     * <p/>
+     * Note: Currently, DisplayDensityUtils uses AsyncTask to change the display density
+     * asynchronously. If in the future we stop using the deprecated AsyncTask, we will need to
+     * update the wait mechanism in the test.
+     */
+    private void waitForDisplayChangesSynchronously() throws InterruptedException {
+        // The default AsyncTask.execute run tasks in serial order.
+        // Posting a new runnable and wait for it to finish means the previous tasks are all done.
+        CountDownLatch latch = new CountDownLatch(1);
+        AsyncTask.execute(latch::countDown);
+        latch.await(5, TimeUnit.SECONDS);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceControllerTest.java b/tests/unit/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceControllerTest.java
index e3d2408..9a6bf70 100644
--- a/tests/unit/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/FontWeightAdjustmentPreferenceControllerTest.java
@@ -27,6 +27,7 @@
 
 import com.android.settings.core.BasePreferenceController;
 
+import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -51,6 +52,11 @@
                 mContext, "font_weight_adjustment");
     }
 
+    @After
+    public void teardown() {
+        Settings.Secure.resetToDefaults(mContext.getContentResolver(), /* tag= */ null);
+    }
+
     @Test
     public void getAvailabilityStatus_byDefault_shouldReturnAvailable() {
         assertThat(mController.getAvailabilityStatus()).isEqualTo(
diff --git a/tests/unit/src/com/android/settings/accessibility/PreferredShortcutsTest.java b/tests/unit/src/com/android/settings/accessibility/PreferredShortcutsTest.java
index 95a0b83..e3c07ef 100644
--- a/tests/unit/src/com/android/settings/accessibility/PreferredShortcutsTest.java
+++ b/tests/unit/src/com/android/settings/accessibility/PreferredShortcutsTest.java
@@ -16,17 +16,30 @@
 
 package com.android.settings.accessibility;
 
+import static com.android.internal.accessibility.AccessibilityShortcutController.COLOR_INVERSION_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.DALTONIZER_COMPONENT_NAME;
+import static com.android.internal.accessibility.AccessibilityShortcutController.MAGNIFICATION_CONTROLLER_NAME;
+
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.ComponentName;
+import android.content.ContentResolver;
 import android.content.Context;
+import android.provider.Settings;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.internal.accessibility.common.ShortcutConstants;
+import com.android.internal.accessibility.util.ShortcutUtils;
+
+import org.junit.AfterClass;
+import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.util.Set;
+
 /** Tests for {@link PreferredShortcuts} */
 @RunWith(AndroidJUnit4.class)
 public class PreferredShortcutsTest {
@@ -39,8 +52,20 @@
     private static final String CLASS_NAME_2 = PACKAGE_NAME_2 + ".test2";
     private static final ComponentName COMPONENT_NAME_2 = new ComponentName(PACKAGE_NAME_2,
             CLASS_NAME_2);
+    private static final ContentResolver sContentResolver =
+            ApplicationProvider.getApplicationContext().getContentResolver();
 
-    private Context mContext = ApplicationProvider.getApplicationContext();
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+
+    @Before
+    public void setUp() {
+        clearShortcuts();
+    }
+
+    @AfterClass
+    public static void cleanUp() {
+        clearShortcuts();
+    }
 
     @Test
     public void retrieveUserShortcutType_fromSingleData_matchSavedType() {
@@ -50,7 +75,7 @@
 
         PreferredShortcuts.saveUserShortcutType(mContext, shortcut);
         final int retrieveType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                COMPONENT_NAME_1.flattenToString(), 0);
+                COMPONENT_NAME_1.flattenToString());
 
         assertThat(retrieveType).isEqualTo(type);
     }
@@ -67,8 +92,92 @@
         PreferredShortcuts.saveUserShortcutType(mContext, shortcut1);
         PreferredShortcuts.saveUserShortcutType(mContext, shortcut2);
         final int retrieveType = PreferredShortcuts.retrieveUserShortcutType(mContext,
-                COMPONENT_NAME_1.flattenToString(), 0);
+                COMPONENT_NAME_1.flattenToString());
 
         assertThat(retrieveType).isEqualTo(type1);
     }
+
+    @Test
+    public void updatePreferredShortcutsFromSetting_magnificationWithTripleTapAndVolumeKeyShortcuts_preferredShortcutsMatches() {
+        ShortcutUtils.optInValueToSettings(mContext, ShortcutConstants.UserShortcutType.HARDWARE,
+                MAGNIFICATION_CONTROLLER_NAME);
+        Settings.Secure.putInt(
+                sContentResolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                AccessibilityUtil.State.ON);
+
+        PreferredShortcuts.updatePreferredShortcutsFromSettings(mContext,
+                Set.of(MAGNIFICATION_CONTROLLER_NAME));
+        int expectedShortcutTypes = ShortcutConstants.UserShortcutType.HARDWARE
+                | ShortcutConstants.UserShortcutType.TRIPLETAP;
+
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, MAGNIFICATION_CONTROLLER_NAME
+                ))
+                .isEqualTo(expectedShortcutTypes);
+    }
+
+    @Test
+    public void updatePreferredShortcutsFromSetting_magnificationWithNoActiveShortcuts_noChangesOnPreferredShortcutTypes() {
+        int expectedShortcutTypes = ShortcutConstants.UserShortcutType.HARDWARE
+                | ShortcutConstants.UserShortcutType.SOFTWARE;
+        PreferredShortcuts.saveUserShortcutType(mContext,
+                new PreferredShortcut(MAGNIFICATION_CONTROLLER_NAME, expectedShortcutTypes));
+
+
+        PreferredShortcuts.updatePreferredShortcutsFromSettings(mContext,
+                Set.of(MAGNIFICATION_CONTROLLER_NAME));
+
+
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, MAGNIFICATION_CONTROLLER_NAME
+                ))
+                .isEqualTo(expectedShortcutTypes);
+    }
+
+    @Test
+    public void updatePreferredShortcutsFromSetting_multipleComponents_preferredShortcutsMatches() {
+        String target1 = COLOR_INVERSION_COMPONENT_NAME.flattenToString();
+        String target2 = DALTONIZER_COMPONENT_NAME.flattenToString();
+
+        Settings.Secure.putString(sContentResolver,
+                Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, target1);
+        Settings.Secure.putString(sContentResolver,
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE,
+                target1 + ShortcutConstants.SERVICES_SEPARATOR + target2);
+
+        int target1ShortcutTypes = ShortcutConstants.UserShortcutType.HARDWARE
+                | ShortcutConstants.UserShortcutType.SOFTWARE;
+        int target2ShortcutTypes = ShortcutConstants.UserShortcutType.HARDWARE;
+
+        PreferredShortcuts.updatePreferredShortcutsFromSettings(mContext, Set.of(target1, target2));
+
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, target1
+                ))
+                .isEqualTo(target1ShortcutTypes);
+        assertThat(
+                PreferredShortcuts.retrieveUserShortcutType(
+                        mContext, target2
+                ))
+                .isEqualTo(target2ShortcutTypes);
+    }
+
+    private static void clearShortcuts() {
+        Settings.Secure.putString(sContentResolver,
+                Settings.Secure.ACCESSIBILITY_BUTTON_TARGETS, "");
+        Settings.Secure.putString(sContentResolver,
+                Settings.Secure.ACCESSIBILITY_SHORTCUT_TARGET_SERVICE, "");
+        Settings.Secure.putInt(
+                sContentResolver,
+                Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_ENABLED,
+                AccessibilityUtil.State.OFF);
+        Settings.Secure.putInt(
+                sContentResolver,
+                Settings.Secure.ACCESSIBILITY_MAGNIFICATION_TWO_FINGER_TRIPLE_TAP_ENABLED,
+                AccessibilityUtil.State.OFF);
+    }
 }
diff --git a/tests/unit/src/com/android/settings/accessibility/TEST_MAPPING b/tests/unit/src/com/android/settings/accessibility/TEST_MAPPING
new file mode 100644
index 0000000..5a89112
--- /dev/null
+++ b/tests/unit/src/com/android/settings/accessibility/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "imports": [
+    {
+      "path": "packages/apps/Settings/src/com/android/settings/accessibility/TEST_MAPPING"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java b/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
index cf2a1f0..342212a 100644
--- a/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
+++ b/tests/unit/src/com/android/settings/applications/appcompat/UserAspectRatioManagerTest.java
@@ -17,20 +17,29 @@
 package com.android.settings.applications.appcompat;
 
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_16_9;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_3_2;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_4_3;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_APP_DEFAULT;
+import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_DISPLAY_SIZE;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_FULLSCREEN;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_SPLIT_SCREEN;
 import static android.content.pm.PackageManager.USER_MIN_ASPECT_RATIO_UNSET;
+import static android.platform.test.flag.junit.SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT;
+import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE;
 import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE;
 import static android.view.WindowManager.PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE;
 
 import static com.android.settings.applications.appcompat.UserAspectRatioManager.KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN;
 import static com.android.settings.applications.appcompat.UserAspectRatioManager.KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS;
+import static com.android.window.flags.Flags.FLAG_USER_MIN_ASPECT_RATIO_APP_DEFAULT;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertThrows;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
@@ -39,16 +48,16 @@
 
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
 import android.content.pm.LauncherActivityInfo;
 import android.content.pm.LauncherApps;
 import android.content.pm.PackageManager;
 import android.content.res.Resources;
-import android.platform.test.rule.DeviceTypeRule;
-import android.platform.test.rule.FoldableOnly;
-import android.platform.test.rule.LargeScreenOnly;
-import android.platform.test.rule.TabletOnly;
+import android.os.RemoteException;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.provider.DeviceConfig;
 
+import androidx.annotation.NonNull;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
@@ -59,7 +68,6 @@
 import org.junit.Before;
 import org.junit.Rule;
 import org.junit.Test;
-import org.junit.rules.TestRule;
 import org.junit.runner.RunWith;
 
 import java.util.List;
@@ -68,36 +76,37 @@
  * To run this test: atest SettingsUnitTests:UserAspectRatioManagerTest
  */
 @RunWith(AndroidJUnit4.class)
-@LargeScreenOnly
 public class UserAspectRatioManagerTest {
-
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(DEVICE_DEFAULT);
+    private final String mPackageName = "com.test.mypackage";
     private Context mContext;
     private Resources mResources;
-    private UserAspectRatioManager mUtils;
+    private FakeUserAspectRatioManager mUtils;
     private String mOriginalSettingsFlag;
     private String mOriginalFullscreenFlag;
-    private String mPackageName = "com.test.mypackage";
-    private LauncherApps mLauncherApps;
+    private IPackageManager mIPm;
+    private PackageManager mPm;
     private List<LauncherActivityInfo> mLauncherActivities;
 
-    @Rule
-    public TestRule mDeviceTypeRule = new DeviceTypeRule();
-
     @Before
-    public void setUp() {
+    public void setUp() throws RemoteException, PackageManager.NameNotFoundException {
         mContext = spy(ApplicationProvider.getApplicationContext());
-        mResources = spy(mContext.getResources());
-        mLauncherApps = mock(LauncherApps.class);
+        mResources = mock(Resources.class);
+        final LauncherApps launcherApps = mock(LauncherApps.class);
         mLauncherActivities = mock(List.class);
-        mUtils = new UserAspectRatioManager(mContext) {
-            @Override
-            LauncherApps getLauncherApps() {
-                return mLauncherApps;
-            }
-        };
+        mIPm = mock(IPackageManager.class);
+        mPm = mock(PackageManager.class);
+        when(mContext.getPackageManager()).thenReturn(mPm);
 
         when(mContext.getResources()).thenReturn(mResources);
-        doReturn(mLauncherActivities).when(mLauncherApps).getActivityList(anyString(), any());
+        when(mContext.getSystemService(LauncherApps.class)).thenReturn(launcherApps);
+        enableAllDefaultAspectRatioOptions();
+        mSetFlagsRule.disableFlags(FLAG_USER_MIN_ASPECT_RATIO_APP_DEFAULT);
+
+        mUtils = new FakeUserAspectRatioManager(mContext, mIPm);
+
+        doReturn(mLauncherActivities).when(launcherApps).getActivityList(anyString(), any());
 
         mOriginalSettingsFlag = DeviceConfig.getProperty(
                 DeviceConfig.NAMESPACE_WINDOW_MANAGER, KEY_ENABLE_USER_ASPECT_RATIO_SETTINGS);
@@ -108,6 +117,10 @@
                 DeviceConfig.NAMESPACE_WINDOW_MANAGER, KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN);
         setAspectRatioFullscreenBuildTimeFlagEnabled(true);
         setAspectRatioFullscreenDeviceConfigEnabled("true" /* enabled */, false /* makeDefault */);
+
+        mockProperty(PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_FULLSCREEN_OVERRIDE, true);
+        mockProperty(PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE, true);
+        mockProperty(PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE, true);
     }
 
     @After
@@ -120,13 +133,13 @@
     @Test
     public void testCanDisplayAspectRatioUi() {
         final ApplicationInfo canDisplay = new ApplicationInfo();
-        canDisplay.packageName = "com.app.candisplay";
+        canDisplay.packageName = mPackageName;
 
         doReturn(false).when(mLauncherActivities).isEmpty();
         assertTrue(mUtils.canDisplayAspectRatioUi(canDisplay));
 
         final ApplicationInfo noLauncherEntry = new ApplicationInfo();
-        noLauncherEntry.packageName = "com.app.nolauncherentry";
+        noLauncherEntry.packageName = mPackageName;
 
         doReturn(true).when(mLauncherActivities).isEmpty();
         assertFalse(mUtils.canDisplayAspectRatioUi(noLauncherEntry));
@@ -136,7 +149,7 @@
     public void testCanDisplayAspectRatioUi_hasLauncher_propertyFalse_returnFalse()
             throws PackageManager.NameNotFoundException {
         mockProperty(PROPERTY_COMPAT_ALLOW_USER_ASPECT_RATIO_OVERRIDE, false);
-        doReturn(true).when(mLauncherActivities).isEmpty();
+        doReturn(false).when(mLauncherActivities).isEmpty();
 
         final ApplicationInfo canDisplay = new ApplicationInfo();
         canDisplay.packageName = mPackageName;
@@ -227,64 +240,199 @@
                 mPackageName));
     }
 
-    @Test
-    @FoldableOnly
-    public void testGetUserMinAspectRatioEntry_Foldable() {
-        // R.string.user_aspect_ratio_app_default
-        final String appDefault = ResourcesUtils.getResourcesString(mContext,
-                "user_aspect_ratio_app_default");
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
-                .isEqualTo(appDefault);
-        // should always return default if value does not correspond to anything
-        assertThat(mUtils.getUserMinAspectRatioEntry(-1, mPackageName))
-                .isEqualTo(appDefault);
-        // R.string.user_aspect_ratio_half_screen
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN,
-                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
-                        "user_aspect_ratio_half_screen"));
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
-                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
-                        "user_aspect_ratio_fullscreen"));
+    private String getUserMinAspectRatioEntry(int aspectRatio, String packageName) {
+        return mUtils.getUserMinAspectRatioEntry(aspectRatio, packageName, mContext.getUserId());
     }
 
     @Test
-    @TabletOnly
-    public void testGetUserMinAspectRatioEntry_Tablet() {
+    public void testGetUserMinAspectRatioEntry() {
+        final Context context = ApplicationProvider.getApplicationContext();
         // R.string.user_aspect_ratio_app_default
-        final String appDefault = ResourcesUtils.getResourcesString(mContext,
+        final String appDefault = ResourcesUtils.getResourcesString(context,
                 "user_aspect_ratio_app_default");
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
                 .isEqualTo(appDefault);
         // should always return default if value does not correspond to anything
-        assertThat(mUtils.getUserMinAspectRatioEntry(-1, mPackageName))
+        assertThat(getUserMinAspectRatioEntry(-1, mPackageName))
                 .isEqualTo(appDefault);
         // R.string.user_aspect_ratio_half_screen
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN,
-                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
-                "user_aspect_ratio_half_screen"));
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_16_9, mPackageName))
-                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "user_aspect_ratio_16_9"));
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_SPLIT_SCREEN,
+                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(context,
+                        "user_aspect_ratio_half_screen"));
+        // R.string.user_aspect_ratio_display_size
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_DISPLAY_SIZE,
+                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(context,
+                        "user_aspect_ratio_device_size"));
+        // R.string.user_aspect_ratio_16_9
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_16_9, mPackageName))
+                .isEqualTo(ResourcesUtils.getResourcesString(context, "user_aspect_ratio_16_9"));
+        // R.string.user_aspect_ratio_4_3
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_4_3, mPackageName))
+                .isEqualTo(ResourcesUtils.getResourcesString(context, "user_aspect_ratio_4_3"));
+        // R.string.user_aspect_ratio_3_2
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_3_2, mPackageName))
+                .isEqualTo(ResourcesUtils.getResourcesString(context, "user_aspect_ratio_3_2"));
         // R.string.user_aspect_ratio_fullscreen
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
-                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
+                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(context,
                 "user_aspect_ratio_fullscreen"));
     }
 
     @Test
     public void testGetUserMinAspectRatioEntry_fullscreenDisabled_shouldReturnDefault() {
         setAspectRatioFullscreenBuildTimeFlagEnabled(false);
-        assertThat(mUtils.getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
-                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(mContext,
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_FULLSCREEN,
+                mPackageName)).isEqualTo(ResourcesUtils.getResourcesString(
+                        ApplicationProvider.getApplicationContext(),
                         "user_aspect_ratio_app_default"));
     }
 
+    @Test
+    public void testGetUserMinAspectRatioEntry_nonDefaultString_shouldReturnNewString() {
+        final String newOptionName = "new_option_name";
+        when(mResources.getIntArray(anyInt())).thenReturn(new int[] {USER_MIN_ASPECT_RATIO_UNSET});
+        when(mResources.getStringArray(anyInt())).thenReturn(new String[] {newOptionName});
+
+        mUtils = new FakeUserAspectRatioManager(mContext, mIPm);
+
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
+                .isEqualTo(newOptionName);
+    }
+
+
+    @Test
+    public void testGetUserMinAspectRatioMapping_noAppDefault_shouldThrowException() {
+        when(mResources.getIntArray(anyInt())).thenReturn(new int[] {USER_MIN_ASPECT_RATIO_4_3});
+        when(mResources.getStringArray(anyInt())).thenReturn(new String[] {"4:3"});
+
+        assertThrows(RuntimeException.class, () -> new FakeUserAspectRatioManager(mContext, mIPm));
+    }
+
+    @Test
+    public void testGetUserMinAspectRatioMapping_configLengthMismatch_shouldThrowException() {
+        when(mResources.getIntArray(anyInt())).thenReturn(new int[] {
+                USER_MIN_ASPECT_RATIO_UNSET,
+                USER_MIN_ASPECT_RATIO_4_3});
+        when(mResources.getStringArray(anyInt())).thenReturn(new String[] {"4:3"});
+
+        assertThrows(RuntimeException.class, () -> new FakeUserAspectRatioManager(mContext, mIPm));
+    }
+
+    @Test
+    public void testGetUserMinAspectRatioMapping_appDefaultFlagEnabled() {
+        // Flag is disabled by default, app default not loaded
+        assertFalse(mUtils.hasAspectRatioOption(USER_MIN_ASPECT_RATIO_APP_DEFAULT, mPackageName));
+
+        mSetFlagsRule.enableFlags(FLAG_USER_MIN_ASPECT_RATIO_APP_DEFAULT);
+        mUtils = new FakeUserAspectRatioManager(mContext, mIPm);
+
+        assertTrue(mUtils.hasAspectRatioOption(USER_MIN_ASPECT_RATIO_APP_DEFAULT, mPackageName));
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_APP_DEFAULT, mPackageName))
+                .isEqualTo(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName));
+    }
+
+    @Test
+    public void testGetUserMinAspectRatioEntry_enabledFullscreenOverride_returnsFullscreen() {
+        setIsOverrideToFullscreenEnabled(true);
+        // Fullscreen option is pre-selected
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
+                .isEqualTo(ResourcesUtils.getResourcesString(
+                        ApplicationProvider.getApplicationContext(),
+                        "user_aspect_ratio_fullscreen"));
+
+        // App default exists
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_APP_DEFAULT, mPackageName))
+                .isEqualTo(ResourcesUtils.getResourcesString(
+                        ApplicationProvider.getApplicationContext(),
+                        "user_aspect_ratio_app_default"));
+    }
+
+    @Test
+    public void testGetUserMinAspectRatioEntry_disabledFullscreenOverride_returnsUnchanged() {
+        setIsOverrideToFullscreenEnabled(false);
+        // Fullscreen option is not pre-selected
+        assertThat(getUserMinAspectRatioEntry(USER_MIN_ASPECT_RATIO_UNSET, mPackageName))
+                .isEqualTo(ResourcesUtils.getResourcesString(
+                        ApplicationProvider.getApplicationContext(),
+                        "user_aspect_ratio_app_default"));
+    }
+
+    @Test
+    public void testIsOverrideToFullscreenEnabled_returnsTrue()
+            throws PackageManager.NameNotFoundException {
+        setIsOverrideToFullscreenEnabled(true);
+        assertTrue(mUtils.isOverrideToFullscreenEnabled(mPackageName, mContext.getUserId()));
+
+        mockProperty(PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE, true);
+        assertTrue(mUtils.isOverrideToFullscreenEnabled(mPackageName, mContext.getUserId()));
+    }
+
+    @Test
+    public void testIsOverrideToFullscreenEnabled_optOut_returnsFalse()
+            throws PackageManager.NameNotFoundException {
+        setIsOverrideToFullscreenEnabled(true);
+        mockProperty(PROPERTY_COMPAT_ALLOW_ORIENTATION_OVERRIDE, false);
+        assertFalse(mUtils.isOverrideToFullscreenEnabled(mPackageName, mContext.getUserId()));
+    }
+
+    @Test
+    public void testIsOverrideToFullscreenEnabled_flagDisabled_returnsFalse() {
+        mUtils.setFullscreenCompatChange(true);
+        assertFalse(mUtils.isOverrideToFullscreenEnabled(mPackageName, mContext.getUserId()));
+    }
+
+    @Test
+    public void testIsOverrideToFullscreenEnabled_optionDisabled_returnsFalse() {
+        mUtils.setFullscreenCompatChange(true);
+        when(mUtils.hasAspectRatioOption(USER_MIN_ASPECT_RATIO_FULLSCREEN, mPackageName))
+                .thenReturn(false);
+        assertFalse(mUtils.isOverrideToFullscreenEnabled(mPackageName, mContext.getUserId()));
+    }
+
+    private void setIsOverrideToFullscreenEnabled(boolean enabled) {
+        if (enabled) {
+            mSetFlagsRule.enableFlags(FLAG_USER_MIN_ASPECT_RATIO_APP_DEFAULT);
+            mUtils = new FakeUserAspectRatioManager(mContext, mIPm);
+        }
+        mUtils.setFullscreenCompatChange(enabled);
+        when(mUtils.hasAspectRatioOption(USER_MIN_ASPECT_RATIO_FULLSCREEN, mPackageName))
+                .thenReturn(enabled);
+    }
+
+    private void enableAllDefaultAspectRatioOptions() {
+        final int[] aspectRatioOptions = new int[] {
+                USER_MIN_ASPECT_RATIO_UNSET,
+                USER_MIN_ASPECT_RATIO_SPLIT_SCREEN,
+                USER_MIN_ASPECT_RATIO_DISPLAY_SIZE,
+                USER_MIN_ASPECT_RATIO_4_3,
+                USER_MIN_ASPECT_RATIO_16_9,
+                USER_MIN_ASPECT_RATIO_3_2,
+                USER_MIN_ASPECT_RATIO_FULLSCREEN};
+        when(mResources.getIntArray(anyInt())).thenReturn(aspectRatioOptions);
+        // String array config overlay with @null values so default strings should be used
+        when(mResources.getStringArray(anyInt())).thenReturn(new String[aspectRatioOptions.length]);
+
+        final Context context = ApplicationProvider.getApplicationContext();
+        mockString(context, "user_aspect_ratio_app_default");
+        mockString(context, "user_aspect_ratio_half_screen");
+        mockString(context, "user_aspect_ratio_device_size");
+        mockString(context, "user_aspect_ratio_4_3");
+        mockString(context, "user_aspect_ratio_16_9");
+        mockString(context, "user_aspect_ratio_3_2");
+        mockString(context, "user_aspect_ratio_fullscreen");
+    }
+
+    private void mockString(Context context, String stringResName) {
+        final int resId = ResourcesUtils.getResourcesId(context, "string", stringResName);
+        final String string = ResourcesUtils.getResourcesString(context, stringResName);
+        when(mContext.getString(resId)).thenReturn(string);
+    }
+
     private void mockProperty(String propertyName, boolean value)
             throws PackageManager.NameNotFoundException {
         PackageManager.Property prop = new PackageManager.Property(
                 propertyName, value, mPackageName, "" /* className */);
-        PackageManager pm = mock(PackageManager.class);
-        when(mContext.getPackageManager()).thenReturn(pm);
-        when(pm.getProperty(propertyName, mPackageName)).thenReturn(prop);
+        when(mPm.getProperty(propertyName, mPackageName)).thenReturn(prop);
     }
 
     private void setAspectRatioSettingsBuildTimeFlagEnabled(boolean enabled) {
@@ -306,4 +454,21 @@
         DeviceConfig.setProperty(DeviceConfig.NAMESPACE_WINDOW_MANAGER,
                 KEY_ENABLE_USER_ASPECT_RATIO_FULLSCREEN, enabled, makeDefault);
     }
+
+    private static class FakeUserAspectRatioManager extends UserAspectRatioManager {
+        private boolean mFullscreenCompatChange = false;
+
+        private FakeUserAspectRatioManager(@NonNull Context context, IPackageManager pm) {
+            super(context, pm);
+        }
+
+        @Override
+        boolean isFullscreenCompatChangeEnabled(String pkgName, int userId) {
+            return mFullscreenCompatChange;
+        }
+
+        void setFullscreenCompatChange(boolean enabled) {
+            mFullscreenCompatChange = enabled;
+        }
+    }
 }
diff --git a/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
index e369f52..c0023ee 100644
--- a/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/credentials/CredentialManagerPreferenceControllerTest.java
@@ -18,10 +18,10 @@
 
 import static com.android.settings.core.BasePreferenceController.AVAILABLE;
 import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 
 import android.app.Activity;
@@ -30,20 +30,22 @@
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.ServiceInfo;
+import android.content.res.Resources;
 import android.credentials.CredentialProviderInfo;
+import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.Looper;
-import android.os.UserHandle;
 import android.provider.Settings;
 
-import androidx.lifecycle.Lifecycle;
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+import com.android.settings.tests.unit.R;
 
 import com.google.android.collect.Lists;
 
@@ -64,14 +66,13 @@
     private PreferenceScreen mScreen;
     private PreferenceCategory mCredentialsPreferenceCategory;
     private CredentialManagerPreferenceController.Delegate mDelegate;
-    private Optional<Integer> mReceivedResultCode;
 
     private static final String TEST_PACKAGE_NAME_A = "com.android.providerA";
     private static final String TEST_PACKAGE_NAME_B = "com.android.providerB";
     private static final String TEST_PACKAGE_NAME_C = "com.android.providerC";
     private static final String TEST_TITLE_APP_A = "test app A";
     private static final String TEST_TITLE_APP_B = "test app B";
-    private static final String TEST_TITLE_SERVICE_C = "test service C1";
+    private static final String TEST_TITLE_APP_C = "test app C1";
     private static final String PRIMARY_INTENT = "android.settings.CREDENTIAL_PROVIDER";
     private static final String ALTERNATE_INTENT = "android.settings.SYNC_SETTINGS";
 
@@ -85,24 +86,27 @@
         mCredentialsPreferenceCategory = new PreferenceCategory(mContext);
         mCredentialsPreferenceCategory.setKey("credentials_test");
         mScreen.addPreference(mCredentialsPreferenceCategory);
-        mReceivedResultCode = Optional.empty();
-        mDelegate = new CredentialManagerPreferenceController.Delegate() {
-                public void setActivityResult(int resultCode) {
-                    mReceivedResultCode = Optional.of(resultCode);
-                }
-                public void forceDelegateRefresh() {}
-            };
+        mDelegate =
+                new CredentialManagerPreferenceController.Delegate() {
+                    public void setActivityResult(int resultCode) {}
+
+                    public void forceDelegateRefresh() {}
+                };
     }
 
     @Test
     // Tests that getAvailabilityStatus() does not throw an exception if it's called before the
     // Controller is initialized (this can happen during indexing).
     public void getAvailabilityStatus_withoutInit_returnsUnavailable() {
+        if (Looper.myLooper() == null) {
+            Looper.prepare(); // needed to create the preference screen
+        }
+
         CredentialManagerPreferenceController controller =
                 new CredentialManagerPreferenceController(
                         mContext, mCredentialsPreferenceCategory.getKey());
         assertThat(controller.isConnected()).isFalse();
-        assertThat(controller.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
@@ -110,23 +114,43 @@
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Collections.emptyList());
         assertThat(controller.isConnected()).isFalse();
-        assertThat(controller.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(UNSUPPORTED_ON_DEVICE);
     }
 
     @Test
     public void getAvailabilityStatus_withServices_returnsAvailable() {
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Lists.newArrayList(createCredentialProviderInfo()));
-        assertThat(controller.isConnected()).isFalse();
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setSimulateHiddenForTests(Optional.of(false));
+        assertThat(controller.isHiddenDueToNoProviderSet()).isFalse();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
 
     @Test
+    public void getAvailabilityStatus_isHidden_returnsConditionallyUnavailable() {
+        CredentialManagerPreferenceController controller =
+                createControllerWithServices(Lists.newArrayList(createCredentialProviderInfo()));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setSimulateHiddenForTests(Optional.of(true));
+        assertThat(controller.isHiddenDueToNoProviderSet()).isTrue();
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
+    }
+
+    @Test
     public void displayPreference_withServices_preferencesAdded() {
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Lists.newArrayList(createCredentialProviderInfo()));
+        controller.setSimulateConnectedForTests(true);
+        controller.setSimulateHiddenForTests(Optional.of(false));
+
+        assertThat(controller.isHiddenDueToNoProviderSet()).isFalse();
+        assertThat(controller.isConnected()).isTrue();
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+
         controller.displayPreference(mScreen);
-        assertThat(controller.isConnected()).isFalse();
         assertThat(mCredentialsPreferenceCategory.getPreferenceCount()).isEqualTo(1);
 
         Preference pref = mCredentialsPreferenceCategory.getPreference(0);
@@ -134,7 +158,7 @@
     }
 
     @Test
-    public void buildSwitchPreference() {
+    public void buildPreference() {
         CredentialProviderInfo providerInfo1 =
                 createCredentialProviderInfoWithSubtitle(
                         "com.android.provider1", "ClassA", "Service Title", null);
@@ -143,8 +167,11 @@
                         "com.android.provider2", "ClassA", "Service Title", "Summary Text");
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Lists.newArrayList(providerInfo1, providerInfo2));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setSimulateHiddenForTests(Optional.of(false));
+        assertThat(controller.isHiddenDueToNoProviderSet()).isFalse();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertThat(controller.isConnected()).isFalse();
 
         // Test the data is correct.
         assertThat(providerInfo1.isEnabled()).isFalse();
@@ -158,13 +185,15 @@
         assertThat(enabledProviders.contains("com.android.provider1")).isTrue();
 
         // Create the pref (checked).
-        SwitchPreference pref = controller.createPreference(mContext, providerInfo1);
+        CredentialManagerPreferenceController.CombiPreference pref =
+                controller.createPreference(mContext, providerInfo1);
         assertThat(pref.getTitle().toString()).isEqualTo("Service Title");
         assertThat(pref.isChecked()).isTrue();
         assertThat(pref.getSummary()).isNull();
 
         // Create the pref (not checked).
-        SwitchPreference pref2 = controller.createPreference(mContext, providerInfo2);
+        CredentialManagerPreferenceController.CombiPreference pref2 =
+                controller.createPreference(mContext, providerInfo2);
         assertThat(pref2.getTitle().toString()).isEqualTo("Service Title");
         assertThat(pref2.isChecked()).isFalse();
         assertThat(pref2.getSummary().toString()).isEqualTo("Summary Text");
@@ -182,36 +211,39 @@
                                 createCredentialProviderInfo("com.android.provider4", "ClassA"),
                                 createCredentialProviderInfo("com.android.provider5", "ClassA"),
                                 createCredentialProviderInfo("com.android.provider6", "ClassA")));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setSimulateHiddenForTests(Optional.of(false));
+        assertThat(controller.isHiddenDueToNoProviderSet()).isFalse();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertThat(controller.isConnected()).isFalse();
 
-        // Ensure that we stay under 5 providers.
+        // Ensure that we stay under 5 providers (one is reserved for primary).
         assertThat(controller.togglePackageNameEnabled("com.android.provider1")).isTrue();
         assertThat(controller.togglePackageNameEnabled("com.android.provider2")).isTrue();
         assertThat(controller.togglePackageNameEnabled("com.android.provider3")).isTrue();
         assertThat(controller.togglePackageNameEnabled("com.android.provider4")).isTrue();
-        assertThat(controller.togglePackageNameEnabled("com.android.provider5")).isTrue();
+        assertThat(controller.togglePackageNameEnabled("com.android.provider5")).isFalse();
         assertThat(controller.togglePackageNameEnabled("com.android.provider6")).isFalse();
 
         // Check that they are all actually registered.
         Set<String> enabledProviders = controller.getEnabledProviders();
-        assertThat(enabledProviders.size()).isEqualTo(5);
+        assertThat(enabledProviders.size()).isEqualTo(4);
         assertThat(enabledProviders.contains("com.android.provider1")).isTrue();
         assertThat(enabledProviders.contains("com.android.provider2")).isTrue();
         assertThat(enabledProviders.contains("com.android.provider3")).isTrue();
         assertThat(enabledProviders.contains("com.android.provider4")).isTrue();
-        assertThat(enabledProviders.contains("com.android.provider5")).isTrue();
+        assertThat(enabledProviders.contains("com.android.provider5")).isFalse();
         assertThat(enabledProviders.contains("com.android.provider6")).isFalse();
 
         // Check that the settings string has the right component names.
         List<String> enabledServices = controller.getEnabledSettings();
-        assertThat(enabledServices.size()).isEqualTo(6);
+        assertThat(enabledServices.size()).isEqualTo(5);
         assertThat(enabledServices.contains("com.android.provider1/ClassA")).isTrue();
         assertThat(enabledServices.contains("com.android.provider1/ClassB")).isTrue();
         assertThat(enabledServices.contains("com.android.provider2/ClassA")).isTrue();
         assertThat(enabledServices.contains("com.android.provider3/ClassA")).isTrue();
         assertThat(enabledServices.contains("com.android.provider4/ClassA")).isTrue();
-        assertThat(enabledServices.contains("com.android.provider5/ClassA")).isTrue();
+        assertThat(enabledServices.contains("com.android.provider5/ClassA")).isFalse();
         assertThat(enabledServices.contains("com.android.provider6/ClassA")).isFalse();
 
         // Toggle the provider disabled.
@@ -219,22 +251,22 @@
 
         // Check that the provider was removed from the list of providers.
         Set<String> currentlyEnabledProviders = controller.getEnabledProviders();
-        assertThat(currentlyEnabledProviders.size()).isEqualTo(4);
+        assertThat(currentlyEnabledProviders.size()).isEqualTo(3);
         assertThat(currentlyEnabledProviders.contains("com.android.provider1")).isTrue();
         assertThat(currentlyEnabledProviders.contains("com.android.provider2")).isFalse();
         assertThat(currentlyEnabledProviders.contains("com.android.provider3")).isTrue();
         assertThat(currentlyEnabledProviders.contains("com.android.provider4")).isTrue();
-        assertThat(currentlyEnabledProviders.contains("com.android.provider5")).isTrue();
+        assertThat(currentlyEnabledProviders.contains("com.android.provider5")).isFalse();
         assertThat(currentlyEnabledProviders.contains("com.android.provider6")).isFalse();
 
         // Check that the provider was removed from the list of services stored in the setting.
         List<String> currentlyEnabledServices = controller.getEnabledSettings();
-        assertThat(currentlyEnabledServices.size()).isEqualTo(5);
+        assertThat(currentlyEnabledServices.size()).isEqualTo(4);
         assertThat(currentlyEnabledServices.contains("com.android.provider1/ClassA")).isTrue();
         assertThat(currentlyEnabledServices.contains("com.android.provider1/ClassB")).isTrue();
         assertThat(currentlyEnabledServices.contains("com.android.provider3/ClassA")).isTrue();
         assertThat(currentlyEnabledServices.contains("com.android.provider4/ClassA")).isTrue();
-        assertThat(currentlyEnabledServices.contains("com.android.provider5/ClassA")).isTrue();
+        assertThat(currentlyEnabledServices.contains("com.android.provider5/ClassA")).isFalse();
         assertThat(currentlyEnabledServices.contains("com.android.provider6/ClassA")).isFalse();
     }
 
@@ -248,8 +280,11 @@
                         "com.android.provider2", "ClassA", "Service Title", true);
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(Lists.newArrayList(providerInfo1, providerInfo2));
+        controller.setSimulateConnectedForTests(true);
+        assertThat(controller.isConnected()).isTrue();
+        controller.setSimulateHiddenForTests(Optional.of(false));
+        assertThat(controller.isHiddenDueToNoProviderSet()).isFalse();
         assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
-        assertThat(controller.isConnected()).isFalse();
 
         // Test the data is correct.
         assertThat(providerInfo1.isEnabled()).isFalse();
@@ -284,34 +319,33 @@
                         "test service B");
         CredentialProviderInfo serviceC1 =
                 createCredentialProviderInfoWithAppLabel(
-                        TEST_PACKAGE_NAME_C,
-                        "CredManProviderC1",
-                        "test app C1",
-                        TEST_TITLE_SERVICE_C);
+                        TEST_PACKAGE_NAME_C, "CredManProviderC1", "test app C1", TEST_TITLE_APP_C);
         CredentialProviderInfo serviceC2 =
                 createCredentialProviderInfoWithAppLabel(
-                        TEST_PACKAGE_NAME_C,
-                        "CredManProviderC2",
-                        "test app C2",
-                        TEST_TITLE_SERVICE_C);
+                        TEST_PACKAGE_NAME_C, "CredManProviderC2", "test app C2", TEST_TITLE_APP_C);
         CredentialProviderInfo serviceC3 =
                 createCredentialProviderInfoBuilder(
                                 TEST_PACKAGE_NAME_C,
                                 "CredManProviderC3",
                                 "test app C3",
-                                TEST_TITLE_SERVICE_C)
+                                TEST_TITLE_APP_C)
                         .setEnabled(true)
                         .build();
 
         CredentialManagerPreferenceController controller =
                 createControllerWithServices(
                         Lists.newArrayList(serviceA1, serviceB1, serviceC1, serviceC2, serviceC3));
-        controller.displayPreference(mScreen);
+        controller.setSimulateConnectedForTests(true);
+        controller.setSimulateHiddenForTests(Optional.of(false));
 
-        assertThat(controller.isConnected()).isFalse();
+        assertThat(controller.isHiddenDueToNoProviderSet()).isFalse();
+        assertThat(controller.isConnected()).isTrue();
+        assertThat(controller.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+
+        controller.displayPreference(mScreen);
         assertThat(mCredentialsPreferenceCategory.getPreferenceCount()).isEqualTo(3);
 
-        Map<String, SwitchPreference> prefs =
+        Map<String, CredentialManagerPreferenceController.CombiPreference> prefs =
                 controller.buildPreferenceList(mContext, mCredentialsPreferenceCategory);
         assertThat(prefs.keySet())
                 .containsExactly(TEST_PACKAGE_NAME_A, TEST_PACKAGE_NAME_B, TEST_PACKAGE_NAME_C);
@@ -323,7 +357,7 @@
         assertThat(prefs.get(TEST_PACKAGE_NAME_B).getTitle()).isEqualTo(TEST_TITLE_APP_B);
         assertThat(prefs.get(TEST_PACKAGE_NAME_B).isChecked()).isFalse();
         assertThat(prefs.containsKey(TEST_PACKAGE_NAME_C)).isTrue();
-        assertThat(prefs.get(TEST_PACKAGE_NAME_C).getTitle()).isEqualTo(TEST_TITLE_SERVICE_C);
+        assertThat(prefs.get(TEST_PACKAGE_NAME_C).getTitle()).isEqualTo(TEST_TITLE_APP_C);
         assertThat(prefs.get(TEST_PACKAGE_NAME_C).isChecked()).isTrue();
     }
 
@@ -349,8 +383,10 @@
         Intent intent = new Intent(PRIMARY_INTENT);
         intent.setData(Uri.parse("package:" + packageName));
         assertThat(controller.verifyReceivedIntent(intent)).isTrue();
-        controller.completeEnableProviderDialogBox(DialogInterface.BUTTON_POSITIVE, packageName, true);
-        assertThat(mReceivedResultCode.get()).isEqualTo(Activity.RESULT_OK);
+        int resultCode =
+                controller.completeEnableProviderDialogBox(
+                        DialogInterface.BUTTON_POSITIVE, packageName, true);
+        assertThat(resultCode).isEqualTo(Activity.RESULT_OK);
     }
 
     @Test
@@ -364,8 +400,10 @@
         Intent intent = new Intent(PRIMARY_INTENT);
         intent.setData(Uri.parse("package:" + packageName));
         assertThat(controller.verifyReceivedIntent(intent)).isTrue();
-        controller.completeEnableProviderDialogBox(DialogInterface.BUTTON_NEGATIVE, packageName, true);
-        assertThat(mReceivedResultCode.get()).isEqualTo(Activity.RESULT_CANCELED);
+        int resultCode =
+                controller.completeEnableProviderDialogBox(
+                        DialogInterface.BUTTON_NEGATIVE, packageName, true);
+        assertThat(resultCode).isEqualTo(Activity.RESULT_CANCELED);
     }
 
     @Test
@@ -390,8 +428,10 @@
         Intent intent = new Intent(ALTERNATE_INTENT);
         intent.setData(Uri.parse("package:" + packageName));
         assertThat(controller.verifyReceivedIntent(intent)).isTrue();
-        controller.completeEnableProviderDialogBox(DialogInterface.BUTTON_POSITIVE, packageName, true);
-        assertThat(mReceivedResultCode.get()).isEqualTo(Activity.RESULT_OK);
+        int resultCode =
+                controller.completeEnableProviderDialogBox(
+                        DialogInterface.BUTTON_POSITIVE, packageName, true);
+        assertThat(resultCode).isEqualTo(Activity.RESULT_OK);
     }
 
     @Test
@@ -405,8 +445,10 @@
         Intent intent = new Intent(ALTERNATE_INTENT);
         intent.setData(Uri.parse("package:" + packageName));
         assertThat(controller.verifyReceivedIntent(intent)).isTrue();
-        controller.completeEnableProviderDialogBox(DialogInterface.BUTTON_NEGATIVE, packageName, true);
-        assertThat(mReceivedResultCode.get()).isEqualTo(Activity.RESULT_CANCELED);
+        int resultCode =
+                controller.completeEnableProviderDialogBox(
+                        DialogInterface.BUTTON_NEGATIVE, packageName, true);
+        assertThat(resultCode).isEqualTo(Activity.RESULT_CANCELED);
     }
 
     @Test
@@ -420,7 +462,6 @@
         Intent intent = new Intent(Settings.ACTION_REQUEST_SET_AUTOFILL_SERVICE);
         intent.setData(Uri.parse("package:" + packageName));
         assertThat(controller.verifyReceivedIntent(intent)).isFalse();
-        assertThat(mReceivedResultCode.isPresent()).isFalse();
     }
 
     @Test
@@ -431,7 +472,93 @@
 
         // Use a null intent.
         assertThat(controller.verifyReceivedIntent(null)).isFalse();
-        assertThat(mReceivedResultCode.isPresent()).isFalse();
+    }
+
+    @Test
+    public void testIconResizer_resizeLargeImage() throws Throwable {
+        CredentialProviderInfo cpi = createCredentialProviderInfo();
+        CredentialManagerPreferenceController controller =
+                createControllerWithServices(Lists.newArrayList(cpi));
+
+        final Drawable d =
+                InstrumentationRegistry.getInstrumentation()
+                        .getContext()
+                        .getResources()
+                        .getDrawable(R.drawable.credman_icon_32_32);
+        assertThat(d).isNotNull();
+        assertThat(d.getIntrinsicHeight() >= 0).isTrue();
+        assertThat(d.getIntrinsicWidth() >= 0).isTrue();
+
+        Drawable thumbnail = controller.processIcon(d);
+        assertThat(thumbnail).isNotNull();
+        assertThat(thumbnail.getIntrinsicHeight()).isEqualTo(getIconSize());
+        assertThat(thumbnail.getIntrinsicWidth()).isEqualTo(getIconSize());
+    }
+
+    @Test
+    public void testIconResizer_resizeNullImage() throws Throwable {
+        CredentialProviderInfo cpi = createCredentialProviderInfo();
+        CredentialManagerPreferenceController controller =
+                createControllerWithServices(Lists.newArrayList(cpi));
+
+        Drawable thumbnail = controller.processIcon(null);
+        assertThat(thumbnail).isNotNull();
+        assertThat(thumbnail.getIntrinsicHeight()).isEqualTo(getIconSize());
+        assertThat(thumbnail.getIntrinsicWidth()).isEqualTo(getIconSize());
+    }
+
+    @Test
+    public void testIconResizer_resizeSmallImage() throws Throwable {
+        CredentialProviderInfo cpi = createCredentialProviderInfo();
+        CredentialManagerPreferenceController controller =
+                createControllerWithServices(Lists.newArrayList(cpi));
+
+        final Drawable d =
+                InstrumentationRegistry.getInstrumentation()
+                        .getContext()
+                        .getResources()
+                        .getDrawable(R.drawable.credman_icon_1_1);
+        assertThat(d).isNotNull();
+        assertThat(d.getIntrinsicHeight() >= 0).isTrue();
+        assertThat(d.getIntrinsicWidth() >= 0).isTrue();
+
+        Drawable thumbnail = controller.processIcon(null);
+        assertThat(thumbnail).isNotNull();
+        assertThat(thumbnail.getIntrinsicHeight()).isEqualTo(getIconSize());
+        assertThat(thumbnail.getIntrinsicWidth()).isEqualTo(getIconSize());
+    }
+
+    @Test
+    public void hasNonPrimaryServices_allServicesArePrimary() {
+        CredentialManagerPreferenceController controller =
+                createControllerWithServices(
+                    Lists.newArrayList(createCredentialProviderPrimary()));
+        assertThat(controller.hasNonPrimaryServices()).isFalse();
+    }
+
+    @Test
+    public void hasNonPrimaryServices_mixtureOfServices() {
+        CredentialManagerPreferenceController controller =
+                createControllerWithServices(
+                    Lists.newArrayList(createCredentialProviderInfo(),
+                        createCredentialProviderPrimary()));
+        assertThat(controller.hasNonPrimaryServices()).isTrue();
+    }
+
+    @Test
+    public void testProviderLimitReached() {
+        // The limit is 5 with one slot reserved for primary.
+        assertThat(CredentialManagerPreferenceController.hasProviderLimitBeenReached(0)).isFalse();
+        assertThat(CredentialManagerPreferenceController.hasProviderLimitBeenReached(1)).isFalse();
+        assertThat(CredentialManagerPreferenceController.hasProviderLimitBeenReached(2)).isFalse();
+        assertThat(CredentialManagerPreferenceController.hasProviderLimitBeenReached(3)).isFalse();
+        assertThat(CredentialManagerPreferenceController.hasProviderLimitBeenReached(4)).isTrue();
+        assertThat(CredentialManagerPreferenceController.hasProviderLimitBeenReached(5)).isTrue();
+    }
+
+    private int getIconSize() {
+        final Resources resources = mContext.getResources();
+        return (int) resources.getDimension(android.R.dimen.app_icon_size);
     }
 
     private CredentialManagerPreferenceController createControllerWithServices(
@@ -441,6 +568,10 @@
 
     private CredentialManagerPreferenceController createControllerWithServicesAndAddServiceOverride(
             List<CredentialProviderInfo> availableServices, String addServiceOverride) {
+        if (Looper.myLooper() == null) {
+            Looper.prepare(); // needed to create the preference screen
+        }
+
         CredentialManagerPreferenceController controller =
                 new CredentialManagerPreferenceController(
                         mContext, mCredentialsPreferenceCategory.getKey());
@@ -466,6 +597,13 @@
                 .build();
     }
 
+    private CredentialProviderInfo createCredentialProviderPrimary() {
+        return createCredentialProviderInfoBuilder(
+            "com.android.primary", "CredManProvider", "Service Label", "App Name")
+                .setPrimary(true)
+                .build();
+    }
+
     private CredentialProviderInfo createCredentialProviderInfoWithSubtitle(
             String packageName, String className, CharSequence label, CharSequence subtitle) {
         ServiceInfo si = new ServiceInfo();
diff --git a/tests/unit/src/com/android/settings/applications/credentials/CredentialsPickerActivityTest.java b/tests/unit/src/com/android/settings/applications/credentials/CredentialsPickerActivityTest.java
new file mode 100644
index 0000000..044c23d
--- /dev/null
+++ b/tests/unit/src/com/android/settings/applications/credentials/CredentialsPickerActivityTest.java
@@ -0,0 +1,92 @@
+/*
+ * 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.applications.credentials;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.UserInfo;
+import android.os.UserHandle;
+import android.os.UserManager;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.google.common.collect.Lists;
+
+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 CredentialsPickerActivityTest {
+
+    @Mock private UserManager mUserManager;
+
+    private Context mMockContext;
+
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mMockContext = spy(ApplicationProvider.getApplicationContext());
+        when(mMockContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
+    }
+
+    @Test
+    public void testInjectFragmentIntoIntent_normalProfile() {
+        Intent intent = new Intent();
+        CredentialsPickerActivity.injectFragmentIntoIntent(mMockContext, intent);
+        assertThat(intent.getStringExtra(CredentialsPickerActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(DefaultCombinedPicker.class.getName());
+    }
+
+    @Test
+    public void testInjectFragmentIntoIntent_workProfile() {
+        Intent intent = new Intent();
+
+        // Simulate managed / work profile.
+        when(mUserManager.isManagedProfile(anyInt())).thenReturn(true);
+        assertThat(DefaultCombinedPickerWork.isUserHandledByFragment(mUserManager, 10)).isTrue();
+
+        CredentialsPickerActivity.injectFragmentIntoIntent(mMockContext, intent);
+        assertThat(intent.getStringExtra(CredentialsPickerActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(DefaultCombinedPickerWork.class.getName());
+    }
+
+    @Test
+    public void testInjectFragmentIntoIntent_privateProfile() {
+        Intent intent = new Intent();
+
+        // Simulate private profile.
+        UserHandle privateUser = new UserHandle(100);
+        when(mUserManager.getUserInfo(100))
+                .thenReturn(new UserInfo(100, "", "", 0, UserManager.USER_TYPE_PROFILE_PRIVATE));
+        when(mUserManager.getUserProfiles()).thenReturn(Lists.newArrayList(privateUser));
+        assertThat(DefaultCombinedPickerPrivate.isUserHandledByFragment(mUserManager)).isTrue();
+
+        CredentialsPickerActivity.injectFragmentIntoIntent(mMockContext, intent);
+        assertThat(intent.getStringExtra(CredentialsPickerActivity.EXTRA_SHOW_FRAGMENT))
+                .isEqualTo(DefaultCombinedPickerPrivate.class.getName());
+    }
+}
diff --git a/tests/unit/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceControllerTest.java
new file mode 100644
index 0000000..d02240e
--- /dev/null
+++ b/tests/unit/src/com/android/settings/applications/credentials/DefaultCombinedPreferenceControllerTest.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.applications.credentials;
+
+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.graphics.drawable.Drawable;
+import android.os.Looper;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+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 org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class DefaultCombinedPreferenceControllerTest {
+
+    private Context mContext;
+    private PrimaryProviderPreference.Delegate mDelegate;
+    private AttributeSet mAttributes;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        if (Looper.myLooper() == null) {
+            Looper.prepare(); // needed to create the preference screen
+        }
+        mDelegate =
+                new PrimaryProviderPreference.Delegate() {
+                    public void onOpenButtonClicked() {}
+
+                    public void onChangeButtonClicked() {}
+                };
+    }
+
+    @Test
+    public void ensureSettingIntentNullForNewDesign() {
+        if (!PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        // The setting intent should be null for the new design since this
+        // is handled by the delegate for the PrimaryProviderPreference.
+        DefaultCombinedPreferenceController dcpc =
+                new DefaultCombinedPreferenceController(mContext);
+        assertThat(dcpc.getSettingIntent(null).getPackage()).isNull();
+    }
+
+    @Test
+    public void ensureSettingIntentNotNullForOldDesign() {
+        if (PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        // For the old design the setting intent should still be used.
+        DefaultCombinedPreferenceController dcpc =
+                new DefaultCombinedPreferenceController(mContext);
+        assertThat(dcpc.getSettingIntent(null).getPackage()).isNotNull();
+    }
+
+    @Test
+    public void ensureSettingsActivityIntentCreatedSuccessfully() {
+        // Ensure that the settings activity is only created if we haved the right combination
+        // of package and class name.
+        assertThat(CombinedProviderInfo.createSettingsActivityIntent(null, null)).isNull();
+        assertThat(CombinedProviderInfo.createSettingsActivityIntent("", null)).isNull();
+        assertThat(CombinedProviderInfo.createSettingsActivityIntent("", "")).isNull();
+        assertThat(CombinedProviderInfo.createSettingsActivityIntent("com.test", "")).isNull();
+        assertThat(CombinedProviderInfo.createSettingsActivityIntent("com.test", "ClassName"))
+                .isNotNull();
+    }
+
+    @Test
+    public void ensureUpdatePreferenceForProviderPopulatesInfo() {
+        if (!PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        DefaultCombinedPreferenceController dcpc =
+                new DefaultCombinedPreferenceController(mContext);
+        PrimaryProviderPreference ppp = createTestPreference();
+        Drawable appIcon = mContext.getResources().getDrawable(R.drawable.ic_settings_delete);
+
+        // Update the preference to use the provider and make sure the view
+        // was updated.
+        dcpc.updatePreferenceForProvider(ppp, "App Name", "Subtitle", appIcon, null, null);
+        assertThat(ppp.getTitle().toString()).isEqualTo("App Name");
+        assertThat(ppp.getSummary().toString()).isEqualTo("Subtitle");
+        assertThat(ppp.getIcon()).isEqualTo(appIcon);
+
+        // Set the preference back to none and make sure the view was updated.
+        dcpc.updatePreferenceForProvider(ppp, null, null, null, null, null);
+        assertThat(ppp.getTitle().toString()).isEqualTo("None");
+        assertThat(ppp.getSummary()).isNull();
+        assertThat(ppp.getIcon()).isNull();
+    }
+
+    private PrimaryProviderPreference createTestPreference() {
+        int layoutId =
+                ResourcesUtils.getResourcesId(
+                        mContext, "layout", "preference_credential_manager_with_buttons");
+        PreferenceViewHolder holder =
+                PreferenceViewHolder.createInstanceForTests(
+                        LayoutInflater.from(mContext).inflate(layoutId, null));
+        PreferenceViewHolder holderForTest = spy(holder);
+        View gearView = new View(mContext, null);
+        int gearId = ResourcesUtils.getResourcesId(mContext, "id", "settings_button");
+        when(holderForTest.findViewById(gearId)).thenReturn(gearView);
+
+        PrimaryProviderPreference ppp = new PrimaryProviderPreference(mContext, mAttributes);
+        ppp.setDelegate(mDelegate);
+        ppp.onBindViewHolder(holderForTest);
+        return ppp;
+    }
+}
diff --git a/tests/unit/src/com/android/settings/applications/credentials/PrimaryProviderPreferenceTest.java b/tests/unit/src/com/android/settings/applications/credentials/PrimaryProviderPreferenceTest.java
new file mode 100644
index 0000000..9ea16bb
--- /dev/null
+++ b/tests/unit/src/com/android/settings/applications/credentials/PrimaryProviderPreferenceTest.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.applications.credentials;
+
+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.Looper;
+import android.util.AttributeSet;
+import android.view.LayoutInflater;
+import android.view.View;
+
+import androidx.preference.PreferenceViewHolder;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.testutils.ResourcesUtils;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class PrimaryProviderPreferenceTest {
+
+    private Context mContext;
+    private PrimaryProviderPreference.Delegate mDelegate;
+    private boolean mReceivedOpenButtonClicked = false;
+    private boolean mReceivedChangeButtonClicked = false;
+    private AttributeSet mAttributes;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        if (Looper.myLooper() == null) {
+            Looper.prepare(); // needed to create the preference screen
+        }
+        mReceivedOpenButtonClicked = false;
+        mReceivedChangeButtonClicked = false;
+        mDelegate =
+                new PrimaryProviderPreference.Delegate() {
+                    public void onOpenButtonClicked() {
+                        mReceivedOpenButtonClicked = true;
+                    }
+
+                    public void onChangeButtonClicked() {
+                        mReceivedChangeButtonClicked = true;
+                    }
+                };
+    }
+
+    @Test
+    public void ensureButtonsClicksCallDelegate_newDesign() {
+        if (!PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        PrimaryProviderPreference ppp = createTestPreferenceWithNewLayout();
+
+        // Test that all the views & buttons are bound correctly.
+        assertThat(ppp.getOpenButton()).isNotNull();
+        assertThat(ppp.getChangeButton()).isNotNull();
+        assertThat(ppp.getButtonFrameView()).isNotNull();
+
+        // Test that clicking the open button results in the delegate being
+        // called.
+        assertThat(mReceivedOpenButtonClicked).isFalse();
+        ppp.getOpenButton().performClick();
+        assertThat(mReceivedOpenButtonClicked).isTrue();
+
+        // Test that clicking the change button results in the delegate being
+        // called.
+        assertThat(mReceivedChangeButtonClicked).isFalse();
+        ppp.getChangeButton().performClick();
+        assertThat(mReceivedChangeButtonClicked).isTrue();
+    }
+
+    @Test
+    public void ensureButtonsClicksCallDelegate_newDesign_openButtonVisibility() {
+        if (!PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        PrimaryProviderPreference ppp = createTestPreferenceWithNewLayout();
+
+        // Test that the open button is visible.
+        assertThat(ppp.getOpenButton()).isNotNull();
+        assertThat(ppp.getOpenButton().getVisibility()).isEqualTo(View.GONE);
+
+        // Show the button and make sure the view was updated.
+        ppp.setOpenButtonVisible(true);
+        assertThat(ppp.getOpenButton().getVisibility()).isEqualTo(View.VISIBLE);
+
+        // Hide the button and make sure the view was updated.
+        ppp.setOpenButtonVisible(false);
+        assertThat(ppp.getOpenButton().getVisibility()).isEqualTo(View.GONE);
+    }
+
+    @Test
+    public void ensureButtonsClicksCallDelegate_newDesign_buttonsCompactMode() {
+        if (!PrimaryProviderPreference.shouldUseNewSettingsUi()) {
+            return;
+        }
+
+        PrimaryProviderPreference ppp = createTestPreferenceWithNewLayout();
+        int initialPaddingLeft = ppp.getButtonFrameView().getPaddingLeft();
+
+        // If we show the buttons the left padding should be updated.
+        ppp.setButtonsCompactMode(true);
+        assertThat(ppp.getButtonFrameView().getPaddingLeft()).isNotEqualTo(initialPaddingLeft);
+
+        // If we hide the buttons the left padding should be updated.
+        ppp.setButtonsCompactMode(false);
+        assertThat(ppp.getButtonFrameView().getPaddingLeft()).isEqualTo(initialPaddingLeft);
+    }
+
+    private PrimaryProviderPreference createTestPreferenceWithNewLayout() {
+        return createTestPreference("preference_credential_manager_with_buttons");
+    }
+
+    private PrimaryProviderPreference createTestPreference(String layoutName) {
+        int layoutId = ResourcesUtils.getResourcesId(mContext, "layout", layoutName);
+        PreferenceViewHolder holder =
+                PreferenceViewHolder.createInstanceForTests(
+                        LayoutInflater.from(mContext).inflate(layoutId, null));
+        PreferenceViewHolder holderForTest = spy(holder);
+        View gearView = new View(mContext, null);
+        int gearId = ResourcesUtils.getResourcesId(mContext, "id", "settings_button");
+        when(holderForTest.findViewById(gearId)).thenReturn(gearView);
+
+        PrimaryProviderPreference ppp = new PrimaryProviderPreference(mContext, mAttributes);
+        ppp.setDelegate(mDelegate);
+        ppp.onBindViewHolder(holderForTest);
+        return ppp;
+    }
+}
diff --git a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceControllerTest.java b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceControllerTest.java
index 4601a1c..eb23685 100644
--- a/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/applications/specialaccess/notificationaccess/ApprovalPreferenceControllerTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
@@ -27,12 +28,18 @@
 import static org.mockito.Mockito.when;
 
 import android.app.AppOpsManager;
+import android.app.Flags;
 import android.app.NotificationManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageManager;
+import android.platform.test.annotations.EnableFlags;
+import android.platform.test.annotations.RequiresFlagsDisabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -41,7 +48,9 @@
 import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.RestrictedSwitchPreference;
 
+import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -50,6 +59,12 @@
 @RunWith(AndroidJUnit4.class)
 public class ApprovalPreferenceControllerTest {
 
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule(
+            SetFlagsRule.DefaultInitValueType.DEVICE_DEFAULT);
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     private Context mContext;
     private FakeFeatureFactory mFeatureFactory;
     @Mock
@@ -80,7 +95,6 @@
         mController.setNm(mNm);
         mController.setParent(mFragment);
         mController.setPkgInfo(mPkgInfo);
-
     }
 
     @Test
@@ -114,6 +128,7 @@
     }
 
     @Test
+    @RequiresFlagsDisabled(android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS)
     public void updateState_checked() {
         when(mAppOpsManager.noteOpNoThrow(anyInt(), anyInt(), anyString())).thenReturn(
                 AppOpsManager.MODE_ALLOWED);
@@ -128,19 +143,26 @@
     }
 
     @Test
+    @RequiresFlagsDisabled(android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS)
     public void restrictedSettings_appOpsDisabled() {
-        when(mAppOpsManager.noteOpNoThrow(anyInt(), anyInt(), anyString())).thenReturn(
-                AppOpsManager.MODE_ERRORED);
+        Assert.assertFalse(android.security.Flags.extendEcmToAllSettings());
+        when(mAppOpsManager.noteOpNoThrow(anyInt(), anyInt(), anyString()))
+                .thenReturn(AppOpsManager.MODE_ERRORED);
+        doReturn(mAppOpsManager).when(mContext).getSystemService(Context.APP_OPS_SERVICE);
         when(mNm.isNotificationListenerAccessGranted(mCn)).thenReturn(false);
         RestrictedSwitchPreference pref = new RestrictedSwitchPreference(
                 mContext);
         pref.setAppOps(mAppOpsManager);
+        mController.setSettingIdentifier(AppOpsManager.OPSTR_ACCESS_NOTIFICATIONS);
 
         mController.updateState(pref);
+
+        verify(mAppOpsManager).noteOpNoThrow(anyInt(), anyInt(), anyString());
         assertThat(pref.isEnabled()).isFalse();
     }
 
     @Test
+    @RequiresFlagsDisabled(android.security.Flags.FLAG_EXTEND_ECM_TO_ALL_SETTINGS)
     public void restrictedSettings_serviceAlreadyEnabled() {
         when(mAppOpsManager.noteOpNoThrow(anyInt(), anyInt(), anyString())).thenReturn(
                 AppOpsManager.MODE_ERRORED);
@@ -165,6 +187,7 @@
     }
 
     @Test
+    @EnableFlags(Flags.FLAG_MODES_API)
     public void disable() {
         mController.disable(mCn);
         verify(mFeatureFactory.metricsFeatureProvider).action(
@@ -172,6 +195,7 @@
                 MetricsProto.MetricsEvent.APP_SPECIAL_PERMISSION_NOTIVIEW_ALLOW,
                 "a");
 
+        verify(mNm).removeAutomaticZenRules(eq(mCn.getPackageName()), eq(true));
         verify(mNm).setNotificationListenerAccessGranted(mCn, false);
     }
 }
diff --git a/tests/unit/src/com/android/settings/biometrics/GatekeeperPasswordProviderTest.java b/tests/unit/src/com/android/settings/biometrics/GatekeeperPasswordProviderTest.java
index ab7a5af..40a01f8 100644
--- a/tests/unit/src/com/android/settings/biometrics/GatekeeperPasswordProviderTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/GatekeeperPasswordProviderTest.java
@@ -29,9 +29,9 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.annotation.NonNull;
 import android.content.Intent;
 
+import androidx.annotation.NonNull;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import com.android.internal.widget.LockPatternUtils;
diff --git a/tests/unit/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtilsTest.java b/tests/unit/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtilsTest.java
index 706aeda..a671a45 100644
--- a/tests/unit/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtilsTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/combination/CombinedBiometricStatusUtilsTest.java
@@ -34,6 +34,7 @@
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.UserHandle;
 import android.os.UserManager;
+import android.platform.test.flag.junit.SetFlagsRule;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -44,6 +45,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.mockito.Mock;
@@ -71,6 +73,8 @@
 
     private Context mApplicationContext;
     private CombinedBiometricStatusUtils mCombinedBiometricStatusUtils;
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     @Before
     public void setUp() {
@@ -301,6 +305,17 @@
                 .isEqualTo(Settings.CombinedBiometricProfileSettingsActivity.class.getName());
     }
 
+    @Test
+    public void getPrivateProfileSettingsClassName_returnsPrivateSpaceBiometricSettings() {
+        when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
+        mSetFlagsRule.enableFlags(
+                android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
+
+        assertThat(mCombinedBiometricStatusUtils.getPrivateProfileSettingsClassName())
+                .isEqualTo(Settings.PrivateSpaceBiometricSettingsActivity.class.getName());
+    }
+
     private List<Fingerprint> createFingerprintList(int size) {
         final List<Fingerprint> fingerprintList = new ArrayList<>(size);
         for (int i = 0; i < size; i++) {
diff --git a/tests/unit/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceControllerTest.java b/tests/unit/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceControllerTest.java
index 0738a3c..4d21364 100644
--- a/tests/unit/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/face/FaceSettingsEnrollButtonPreferenceControllerTest.java
@@ -19,9 +19,7 @@
 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.content.Context;
 import android.widget.Button;
@@ -61,20 +59,10 @@
     }
 
     @Test
-    public void testOnClick_inFullScreen() {
-        when(mListener.onShowSplitScreenDialog()).thenReturn(false);
+    public void testOnClick() {
         mController.onClick(mButton);
 
         assertThat(mController.isClicked()).isTrue();
         verify(mListener).onStartEnrolling(any());
     }
-
-    @Test
-    public void testOnClick_inMultiWindow() {
-        when(mListener.onShowSplitScreenDialog()).thenReturn(true);
-        mController.onClick(mButton);
-
-        assertThat(mController.isClicked()).isFalse();
-        verify(mListener, never()).onStartEnrolling(any());
-    }
 }
diff --git a/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java b/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java
index 66514ac..1701eaa 100644
--- a/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/face/FaceUpdaterTest.java
@@ -25,6 +25,7 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
+import android.content.Intent;
 import android.hardware.face.Face;
 import android.hardware.face.FaceEnrollCell;
 import android.hardware.face.FaceEnrollStages;
@@ -39,7 +40,6 @@
 import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
@@ -94,13 +94,16 @@
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FaceManager.EnrollmentCallback.class);
         mFaceUpdater.enroll(USER_ID, HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, mEnrollmentCallback,
-                DISABLED_FEATURES);
+                DISABLED_FEATURES, new Intent());
         verify(mFaceManager).enroll(
                 eq(USER_ID),
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 callbackCaptor.capture(),
-                same(DISABLED_FEATURES));
+                same(DISABLED_FEATURES),
+                same(null),
+                eq(false),
+                any());
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentError(ERR_MSG_ID, ERR_STRING);
@@ -120,18 +123,21 @@
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FaceManager.EnrollmentCallback.class);
         mFaceUpdater.enroll(USER_ID, HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, mEnrollmentCallback,
-                DISABLED_FEATURES);
+                DISABLED_FEATURES, new Intent());
         verify(mFaceManager).enroll(
                 eq(USER_ID),
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 callbackCaptor.capture(),
-                same(DISABLED_FEATURES));
+                same(DISABLED_FEATURES),
+                same(null),
+                eq(false),
+                any());
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 0);
 
-        verify(mSafetyCenterManagerWrapper).isEnabled(mContext);
+        verify(mSafetyCenterManagerWrapper, atLeast(1)).isEnabled(mContext);
     }
 
     @Test
@@ -139,13 +145,16 @@
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FaceManager.EnrollmentCallback.class);
         mFaceUpdater.enroll(USER_ID, HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, mEnrollmentCallback,
-                DISABLED_FEATURES);
+                DISABLED_FEATURES, new Intent());
         verify(mFaceManager).enroll(
                 eq(USER_ID),
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 callbackCaptor.capture(),
-                same(DISABLED_FEATURES));
+                same(DISABLED_FEATURES),
+                same(null),
+                eq(false),
+                any());
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 1);
@@ -153,13 +162,12 @@
         verify(mSafetyCenterManagerWrapper, never()).isEnabled(any());
     }
 
-    @Ignore("b/282413778")
     @Test
     public void enroll_secondVersion_onEnrollmentCallbacks_triggerGivenCallback() {
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FaceManager.EnrollmentCallback.class);
         mFaceUpdater.enroll(USER_ID, HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, mEnrollmentCallback,
-                DISABLED_FEATURES, PREVIEW_SURFACE, DEBUG_CONSENT);
+                DISABLED_FEATURES, PREVIEW_SURFACE, DEBUG_CONSENT, new Intent());
         verify(mFaceManager).enroll(
                 eq(USER_ID),
                 same(HARDWARE_AUTH_TOKEN),
@@ -167,7 +175,8 @@
                 callbackCaptor.capture(),
                 same(DISABLED_FEATURES),
                 same(PREVIEW_SURFACE),
-                eq(DEBUG_CONSENT));
+                eq(DEBUG_CONSENT),
+                any());
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentError(ERR_MSG_ID, ERR_STRING);
@@ -182,13 +191,12 @@
                 .onEnrollmentFrame(HELP_CODE, HELP_MESSAGE, CELL, STAGE, PAN, TILT, DISTANCE);
     }
 
-    @Ignore("b/282413778")
     @Test
     public void enroll_secondVersion_onEnrollmentSuccess_invokedInteractionWithSafetyCenter() {
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FaceManager.EnrollmentCallback.class);
         mFaceUpdater.enroll(USER_ID, HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, mEnrollmentCallback,
-                DISABLED_FEATURES, PREVIEW_SURFACE, DEBUG_CONSENT);
+                DISABLED_FEATURES, PREVIEW_SURFACE, DEBUG_CONSENT, new Intent());
         verify(mFaceManager).enroll(
                 eq(USER_ID),
                 same(HARDWARE_AUTH_TOKEN),
@@ -196,7 +204,8 @@
                 callbackCaptor.capture(),
                 same(DISABLED_FEATURES),
                 same(PREVIEW_SURFACE),
-                eq(DEBUG_CONSENT));
+                eq(DEBUG_CONSENT),
+                any());
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 0);
@@ -204,13 +213,12 @@
         verify(mSafetyCenterManagerWrapper).isEnabled(mContext);
     }
 
-    @Ignore("b/282413778")
     @Test
     public void enroll_secondVersion_onEnrollmentNotYetFinished_didntInvokeInteractionWithSafetyCenter() {
         ArgumentCaptor<FaceManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FaceManager.EnrollmentCallback.class);
         mFaceUpdater.enroll(USER_ID, HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, mEnrollmentCallback,
-                DISABLED_FEATURES, PREVIEW_SURFACE, DEBUG_CONSENT);
+                DISABLED_FEATURES, PREVIEW_SURFACE, DEBUG_CONSENT, new Intent());
         verify(mFaceManager).enroll(
                 eq(USER_ID),
                 same(HARDWARE_AUTH_TOKEN),
@@ -218,7 +226,8 @@
                 callbackCaptor.capture(),
                 same(DISABLED_FEATURES),
                 same(PREVIEW_SURFACE),
-                eq(DEBUG_CONSENT));
+                eq(DEBUG_CONSENT),
+                any());
         FaceManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 1);
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProviderImplTest.kt b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProviderImplTest.kt
new file mode 100644
index 0000000..788c907
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintFeatureProviderImplTest.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.fingerprint
+
+import android.content.Context
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics.fingerprint.feature.SfpsEnrollmentFeatureImpl
+import com.android.settings.biometrics.fingerprint.feature.SfpsRestToUnlockFeatureImpl
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.mockito.Mock
+import org.mockito.MockitoAnnotations
+
+@RunWith(AndroidJUnit4::class)
+class FingerprintFeatureProviderImplTest {
+
+    @Mock
+    private lateinit var mContext: Context
+
+    private lateinit var mFingerprintFeatureProviderImpl: FingerprintFeatureProviderImpl
+
+    @Before
+    fun setUp() {
+        MockitoAnnotations.initMocks(this)
+        mFingerprintFeatureProviderImpl = FingerprintFeatureProviderImpl()
+    }
+
+    @Test
+    fun getSfpsEnrollmentFeature_returnDefaultImpl() {
+        assertThat(mFingerprintFeatureProviderImpl.sfpsEnrollmentFeature)
+            .isInstanceOf(SfpsEnrollmentFeatureImpl::class.java)
+    }
+
+    @Test
+    fun getSfpsRestToUnlockFeature_returnDefaultImpl() {
+        assertThat(mFingerprintFeatureProviderImpl.getSfpsRestToUnlockFeature(mContext))
+            .isInstanceOf(SfpsRestToUnlockFeatureImpl::class.java)
+    }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintUpdaterTest.java b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintUpdaterTest.java
index 62435b4..6218efb 100644
--- a/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintUpdaterTest.java
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/FingerprintUpdaterTest.java
@@ -24,6 +24,7 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.Context;
+import android.content.Intent;
 import android.hardware.fingerprint.Fingerprint;
 import android.hardware.fingerprint.FingerprintManager;
 import android.os.CancellationSignal;
@@ -78,13 +79,14 @@
         ArgumentCaptor<FingerprintManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FingerprintManager.EnrollmentCallback.class);
         mFingerprintUpdater.enroll(HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, USER_ID,
-                mEnrollmentCallback, ENROLL_REASON);
+                mEnrollmentCallback, ENROLL_REASON, new Intent());
         verify(mFingerprintManager).enroll(
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 eq(USER_ID),
                 callbackCaptor.capture(),
-                eq(ENROLL_REASON));
+                eq(ENROLL_REASON),
+                any());
         FingerprintManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentError(ERR_MSG_ID, ERR_STRING);
@@ -101,13 +103,14 @@
         ArgumentCaptor<FingerprintManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FingerprintManager.EnrollmentCallback.class);
         mFingerprintUpdater.enroll(HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, USER_ID,
-                mEnrollmentCallback, ENROLL_REASON);
+                mEnrollmentCallback, ENROLL_REASON, new Intent());
         verify(mFingerprintManager).enroll(
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 eq(USER_ID),
                 callbackCaptor.capture(),
-                eq(ENROLL_REASON));
+                eq(ENROLL_REASON),
+                any());
         FingerprintManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 0);
@@ -120,13 +123,14 @@
         ArgumentCaptor<FingerprintManager.EnrollmentCallback> callbackCaptor =
                 ArgumentCaptor.forClass(FingerprintManager.EnrollmentCallback.class);
         mFingerprintUpdater.enroll(HARDWARE_AUTH_TOKEN, CANCELLATION_SIGNAL, USER_ID,
-                mEnrollmentCallback, ENROLL_REASON);
+                mEnrollmentCallback, ENROLL_REASON, new Intent());
         verify(mFingerprintManager).enroll(
                 same(HARDWARE_AUTH_TOKEN),
                 same(CANCELLATION_SIGNAL),
                 eq(USER_ID),
                 callbackCaptor.capture(),
-                eq(ENROLL_REASON));
+                eq(ENROLL_REASON),
+                any());
         FingerprintManager.EnrollmentCallback callback = callbackCaptor.getValue();
 
         callback.onEnrollmentProgress(/* remaining= */ 1);
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImplTest.kt b/tests/unit/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImplTest.kt
new file mode 100644
index 0000000..f7256b9
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/feature/SfpsEnrollmentFeatureImplTest.kt
@@ -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.biometrics.fingerprint.feature
+
+import android.animation.Animator
+import android.content.Context
+import android.hardware.fingerprint.FingerprintManager
+import android.view.View
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_CENTER
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_FINGERTIP
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_LEFT_EDGE
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_NO_ANIMATION
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.SFPS_STAGE_RIGHT_EDGE
+import com.android.settings.biometrics.fingerprint.FingerprintEnrollEnrolling.STAGE_UNKNOWN
+import com.google.common.truth.Truth.assertThat
+import kotlin.math.roundToInt
+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.doReturn
+import org.mockito.Mockito.mock
+import org.mockito.Spy
+import org.mockito.junit.MockitoJUnit
+import org.mockito.junit.MockitoRule
+import org.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+class SfpsEnrollmentFeatureImplTest {
+    private val STAGE_0 = 0
+    private val STAGE_1 = 1
+    private val STAGE_2 = 2
+    private val STAGE_3 = 3
+    private val STAGE_4 = 4
+
+    private val THRESHOLD_0 = 0f
+    private val THRESHOLD_1 = .36f
+    private val THRESHOLD_2 = .52f
+    private val THRESHOLD_3 = .76f
+    private val THRESHOLD_4 = 1f
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var mockFingerprintManager: FingerprintManager
+
+    private val mSfpsEnrollmentFeatureImpl: SfpsEnrollmentFeatureImpl = SfpsEnrollmentFeatureImpl()
+
+    @Before
+    fun setUp() {
+        whenever(context.getSystemService(FingerprintManager::class.java))
+            .thenReturn(mockFingerprintManager)
+        doReturn(THRESHOLD_0).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_0)
+        doReturn(THRESHOLD_1).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_1)
+        doReturn(THRESHOLD_2).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_2)
+        doReturn(THRESHOLD_3).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_3)
+        doReturn(THRESHOLD_4).`when`(mockFingerprintManager).getEnrollStageThreshold(STAGE_4)
+    }
+
+    @Test
+    fun testGetEnrollStageThreshold() {
+        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_0))
+            .isEqualTo(THRESHOLD_0)
+        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_1))
+            .isEqualTo(THRESHOLD_1)
+        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_2))
+            .isEqualTo(THRESHOLD_2)
+        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_3))
+            .isEqualTo(THRESHOLD_3)
+        assertThat(mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, STAGE_4))
+            .isEqualTo(THRESHOLD_4)
+    }
+
+    @Test
+    fun testGetHelpAnimator() {
+        val mockView: View = mock(View::class.java)
+        val animator: Animator = mSfpsEnrollmentFeatureImpl.getHelpAnimator(mockView)
+        assertThat(animator.duration).isEqualTo(SfpsEnrollmentFeatureImpl.HELP_ANIMATOR_DURATION)
+    }
+
+    @Test
+    fun testGetCurrentSfpsEnrollStage() {
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(0, null))
+            .isEqualTo(STAGE_UNKNOWN)
+        val mapper = { i: Int ->
+            (25 * mSfpsEnrollmentFeatureImpl.getEnrollStageThreshold(context, i)).roundToInt()
+        }
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(-1, mapper))
+            .isEqualTo(SFPS_STAGE_NO_ANIMATION)
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(0, mapper))
+            .isEqualTo(SFPS_STAGE_CENTER)
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(9, mapper))
+            .isEqualTo(SFPS_STAGE_FINGERTIP)
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(13, mapper))
+            .isEqualTo(SFPS_STAGE_LEFT_EDGE)
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(19, mapper))
+            .isEqualTo(SFPS_STAGE_RIGHT_EDGE)
+        assertThat(mSfpsEnrollmentFeatureImpl.getCurrentSfpsEnrollStage(25, mapper))
+            .isEqualTo(SFPS_STAGE_RIGHT_EDGE)
+    }
+
+    @Test
+    fun testGetFeaturedStageHeaderResource() {
+        val type = "string"
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_NO_ANIMATION)
+        ).isEqualTo(
+            getSettingsResourcesId(type, "security_settings_fingerprint_enroll_repeat_title")
+        )
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_CENTER)
+        ).isEqualTo(
+            getSettingsResourcesId(type, "security_settings_sfps_enroll_finger_center_title")
+        )
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_FINGERTIP)
+        ).isEqualTo(
+            getSettingsResourcesId(type, "security_settings_sfps_enroll_fingertip_title")
+        )
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_LEFT_EDGE)
+        ).isEqualTo(
+            getSettingsResourcesId(type, "security_settings_sfps_enroll_left_edge_title")
+        )
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getFeaturedStageHeaderResource(SFPS_STAGE_RIGHT_EDGE)
+        ).isEqualTo(
+            getSettingsResourcesId(type, "security_settings_sfps_enroll_right_edge_title")
+        )
+    }
+
+    @Test
+    fun testGetSfpsEnrollLottiePerStage() {
+        val type = "raw"
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_NO_ANIMATION)
+        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_no_animation"))
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_CENTER)
+        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_pad_center"))
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_FINGERTIP)
+        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_tip"))
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_LEFT_EDGE)
+        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_left_edge"))
+        assertThat(
+            mSfpsEnrollmentFeatureImpl.getSfpsEnrollLottiePerStage(SFPS_STAGE_RIGHT_EDGE)
+        ).isEqualTo(getSettingsResourcesId(type, "sfps_lottie_right_edge"))
+    }
+
+    private fun getSettingsResourcesId(type: String, name: String) : Int {
+        return context.resources.getIdentifier(name, type, context.packageName)
+    }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeatureImplTest.kt b/tests/unit/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeatureImplTest.kt
new file mode 100644
index 0000000..1f390d4
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics/fingerprint/feature/SfpsRestToUnlockFeatureImplTest.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.biometrics.fingerprint.feature
+
+import android.content.Context
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.RestrictedSwitchPreference
+import com.google.common.truth.Truth.assertThat
+import org.junit.Before
+import org.junit.Test
+
+import org.junit.runner.RunWith
+import org.mockito.Mockito
+
+@RunWith(AndroidJUnit4::class)
+class SfpsRestToUnlockFeatureImplTest {
+
+    private lateinit var mContext: Context
+
+    private lateinit var mSfpsRestToUnlockFeatureImpl: SfpsRestToUnlockFeatureImpl
+
+    private lateinit var mRestrictedSwitchPreferenceSpy: RestrictedSwitchPreference
+
+    @Before
+    fun setUp() {
+        mContext = ApplicationProvider.getApplicationContext()
+        mSfpsRestToUnlockFeatureImpl = SfpsRestToUnlockFeatureImpl()
+        mRestrictedSwitchPreferenceSpy = Mockito.spy(RestrictedSwitchPreference(mContext))
+    }
+
+    @Test
+    fun getDescriptionForSfps_isNotNull() {
+        assertThat(mSfpsRestToUnlockFeatureImpl)
+            .isInstanceOf(SfpsRestToUnlockFeatureImpl::class.java)
+        assertThat(mSfpsRestToUnlockFeatureImpl.getDescriptionForSfps(mContext))
+            .isNotNull()
+    }
+
+    @Test
+    fun getRestToUnlockLayout_isNull() {
+        assertThat(mSfpsRestToUnlockFeatureImpl)
+            .isInstanceOf(SfpsRestToUnlockFeatureImpl::class.java)
+        assertThat(mSfpsRestToUnlockFeatureImpl.getRestToUnlockLayout(mContext))
+            .isNull()
+    }
+
+    @Test
+    fun fingerprint_settings_setupFingerprintUnlockCategoryPreferences() {
+        assertThat(mSfpsRestToUnlockFeatureImpl.getRestToUnlockPreference(mContext))
+            .isNull()
+    }
+}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.java
deleted file mode 100644
index 8dfca01..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.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.model;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_SENSOR_ID;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_GK_PW_HANDLE;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
-
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import android.annotation.NonNull;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.SystemClock;
-import android.os.UserHandle;
-
-import androidx.annotation.Nullable;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.password.ChooseLockSettingsHelper;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.time.Clock;
-import java.util.Arrays;
-import java.util.Set;
-
-@RunWith(AndroidJUnit4.class)
-public class CredentialModelTest {
-
-    private final Clock mClock = SystemClock.elapsedRealtimeClock();
-
-    public static Bundle newCredentialModelIntentExtras(int userId, long challenge,
-            @Nullable byte[] token, long gkPwHandle) {
-        final Bundle bundle = new Bundle();
-        bundle.putInt(Intent.EXTRA_USER_ID, userId);
-        bundle.putLong(EXTRA_KEY_CHALLENGE, challenge);
-        bundle.putByteArray(ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN, token);
-        bundle.putLong(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-        return bundle;
-    }
-
-    public static Bundle newValidTokenCredentialIntentExtras(int userId) {
-        return newCredentialModelIntentExtras(userId, 1L, new byte[] { 0, 1, 2 },
-                INVALID_GK_PW_HANDLE);
-    }
-
-    public static Bundle newOnlySensorValidCredentialIntentExtras(int userId) {
-        return newCredentialModelIntentExtras(userId, INVALID_CHALLENGE, null,
-                INVALID_GK_PW_HANDLE);
-    }
-
-    public static Bundle newGkPwHandleCredentialIntentExtras(int userId, long gkPwHandle) {
-        return newCredentialModelIntentExtras(userId, INVALID_CHALLENGE, null, gkPwHandle);
-    }
-
-    private static void checkBundleLongValue(@NonNull Bundle bundle1, @NonNull Bundle bundle2,
-            @NonNull String key) {
-        if (!bundle1.containsKey(key)) {
-            return;
-        }
-        final int value1 = bundle1.getInt(key);
-        final int value2 = bundle2.getInt(key);
-        assertWithMessage("bundle not match, key:" + key + ", value1:" + value1 + ", value2:"
-                + value2).that(value1).isEqualTo(value2);
-    }
-
-    private static void checkBundleIntValue(@NonNull Bundle bundle1, @NonNull Bundle bundle2,
-            @NonNull String key) {
-        if (!bundle1.containsKey(key)) {
-            return;
-        }
-        final long value1 = bundle1.getLong(key);
-        final long value2 = bundle2.getLong(key);
-        assertWithMessage("bundle not match, key:" + key + ", value1:" + value1 + ", value2:"
-                + value2).that(value1).isEqualTo(value2);
-    }
-
-    private static void checkBundleByteArrayValue(@NonNull Bundle bundle1, @NonNull Bundle bundle2,
-            @NonNull String key) {
-        if (!bundle1.containsKey(key)) {
-            return;
-        }
-        final byte[] value1 = bundle1.getByteArray(key);
-        final byte[] value2 = bundle2.getByteArray(key);
-        final String errMsg = "bundle not match, key:" + key + ", value1:" + Arrays.toString(value1)
-                + ", value2:" + Arrays.toString(value2);
-        if (value1 == null) {
-            assertWithMessage(errMsg).that(value2).isNull();
-        } else {
-            assertWithMessage(errMsg).that(value1.length).isEqualTo(value2.length);
-            for (int i = 0; i < value1.length; ++i) {
-                assertWithMessage(errMsg).that(value1[i]).isEqualTo(value2[i]);
-            }
-        }
-    }
-
-    public static void verifySameCredentialModels(@NonNull CredentialModel model1,
-            @NonNull CredentialModel model2) {
-
-        assertThat(model1.getUserId()).isEqualTo(model2.getUserId());
-        assertThat(model1.getChallenge()).isEqualTo(model2.getChallenge());
-        assertThat(model1.getGkPwHandle()).isEqualTo(model2.getGkPwHandle());
-
-        final byte[] token1 = model1.getToken();
-        final byte[] token2 = model2.getToken();
-        if (token1 == null) {
-            assertThat(token2).isNull();
-        } else {
-            assertThat(token2).isNotNull();
-            assertThat(token1.length).isEqualTo(token2.length);
-            for (int i = 0; i < token1.length; ++i) {
-                assertThat(token1[i]).isEqualTo(token2[i]);
-            }
-        }
-
-        final Bundle bundle1 = model1.getBundle();
-        final Bundle bundle2 = model2.getBundle();
-        final Set<String> keySet1 = bundle1.keySet();
-        assertThat(keySet1.equals(bundle2.keySet())).isTrue();
-        checkBundleIntValue(bundle1, bundle2, Intent.EXTRA_USER_ID);
-        checkBundleIntValue(bundle1, bundle2, EXTRA_KEY_SENSOR_ID);
-        checkBundleLongValue(bundle1, bundle2, EXTRA_KEY_CHALLENGE);
-        checkBundleByteArrayValue(bundle1, bundle2, EXTRA_KEY_CHALLENGE);
-        checkBundleLongValue(bundle1, bundle2, EXTRA_KEY_GK_PW_HANDLE);
-    }
-
-    @Test
-    public void testNullBundle() {
-        final CredentialModel credentialModel = new CredentialModel(null, mClock);
-
-        assertThat(credentialModel.getUserId()).isEqualTo(UserHandle.myUserId());
-    }
-
-    @Test
-    public void testSameValueFromBundle() {
-        final Bundle bundle = newCredentialModelIntentExtras(1234, 6677L,
-                new byte[] { 33, 44, 55 }, 987654321);
-
-        final CredentialModel model1 = new CredentialModel(bundle, mClock);
-        final CredentialModel model2 = new CredentialModel(model1.getBundle(), mClock);
-
-        verifySameCredentialModels(model1, model2);
-    }
-
-    @Test
-    public void testSameValueFromBundle_nullToken() {
-        final Bundle bundle = newCredentialModelIntentExtras(22, 33L, null, 21L);
-
-        final CredentialModel model1 = new CredentialModel(bundle, mClock);
-        final CredentialModel model2 = new CredentialModel(model1.getBundle(), mClock);
-
-        verifySameCredentialModels(model1, model2);
-    }
-}
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
new file mode 100644
index 0000000..ac62232
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/model/CredentialModelTest.kt
@@ -0,0 +1,136 @@
+/*
+ * 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
new file mode 100644
index 0000000..b301433
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/model/EnrollmentRequestTest.kt
@@ -0,0 +1,175 @@
+/*
+ * 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.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.java
deleted file mode 100644
index 05a7239..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.java
+++ /dev/null
@@ -1,596 +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.app.admin.DevicePolicyManager.PASSWORD_QUALITY_ALPHABETIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_NUMERIC;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_SOMETHING;
-import static android.app.admin.DevicePolicyManager.PASSWORD_QUALITY_UNSPECIFIED;
-
-import static com.android.settings.biometrics.BiometricEnrollBase.EXTRA_KEY_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_CHALLENGE;
-import static com.android.settings.biometrics2.ui.model.CredentialModel.INVALID_GK_PW_HANDLE;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newCredentialModelIntentExtras;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newGkPwHandleCredentialIntentExtras;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newOnlySensorValidCredentialIntentExtras;
-import static com.android.settings.biometrics2.ui.model.CredentialModelTest.newValidTokenCredentialIntentExtras;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_IS_GENERATING_CHALLENGE;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CREDENTIAL_VALID;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.ChallengeGenerator;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.CredentialAction;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.GenerateChallengeCallback;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.KEY_CREDENTIAL_MODEL;
-import static com.android.settings.biometrics2.ui.viewmodel.AutoCredentialViewModel.KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_CHALLENGE_TOKEN;
-import static com.android.settings.password.ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE;
-
-import static com.google.common.truth.Truth.assertThat;
-import static com.google.common.truth.Truth.assertWithMessage;
-
-import static org.mockito.Mockito.doAnswer;
-import static org.mockito.Mockito.when;
-
-import android.annotation.NonNull;
-import android.app.Activity;
-import android.content.Intent;
-import android.os.Bundle;
-import android.os.UserHandle;
-
-import androidx.activity.result.ActivityResult;
-import androidx.annotation.Nullable;
-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.password.ChooseLockPattern;
-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.concurrent.atomic.AtomicBoolean;
-
-@RunWith(AndroidJUnit4.class)
-public class AutoCredentialViewModelTest {
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private LockPatternUtils mLockPatternUtils;
-    private TestChallengeGenerator mChallengeGenerator = null;
-    private AutoCredentialViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        mChallengeGenerator = new TestChallengeGenerator();
-        mViewModel = new AutoCredentialViewModel(
-                ApplicationProvider.getApplicationContext(),
-                mLockPatternUtils,
-                mChallengeGenerator);
-    }
-
-    private void setupGenerateChallenge(int userId, int newSensorId, long newChallenge) {
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-        mChallengeGenerator.mUserId = userId;
-        mChallengeGenerator.mSensorId = newSensorId;
-        mChallengeGenerator.mChallenge = newChallenge;
-    }
-
-    @Test
-    public void testSetCredentialModel_sameResultFromSavedInstanceOrIntent() {
-        final Bundle extras = newCredentialModelIntentExtras(12, 33, new byte[] { 2, 3 }, 3L);
-
-        AutoCredentialViewModel viewModel2 = new AutoCredentialViewModel(
-                ApplicationProvider.getApplicationContext(),
-                mLockPatternUtils,
-                mChallengeGenerator);
-
-        mViewModel.setCredentialModel(null, new Intent().putExtras(extras));
-        final Bundle savedInstance = new Bundle();
-        mViewModel.onSaveInstanceState(savedInstance);
-        viewModel2.setCredentialModel(savedInstance, new Intent());
-
-        assertThat(mViewModel.getUserId()).isEqualTo(viewModel2.getUserId());
-        final byte[] token1 = mViewModel.getToken();
-        final byte[] token2 = viewModel2.getToken();
-        assertThat(token1).isNotNull();
-        assertThat(token2).isNotNull();
-        assertThat(token1.length).isEqualTo(token2.length);
-        for (int i = 0; i < token2.length; ++i) {
-            assertThat(token1[i]).isEqualTo(token2[i]);
-        }
-    }
-
-    @Test
-    public void testSetCredentialModel_sameResultFromSavedInstanceOrIntent_invalidValues() {
-        final Bundle extras = newCredentialModelIntentExtras(UserHandle.USER_NULL,
-                INVALID_CHALLENGE, null, INVALID_GK_PW_HANDLE);
-
-        AutoCredentialViewModel viewModel2 = new AutoCredentialViewModel(
-                ApplicationProvider.getApplicationContext(),
-                mLockPatternUtils,
-                mChallengeGenerator);
-
-        mViewModel.setCredentialModel(null, new Intent().putExtras(extras));
-        final Bundle savedInstance = new Bundle();
-        mViewModel.onSaveInstanceState(savedInstance);
-        viewModel2.setCredentialModel(savedInstance, new Intent());
-
-        assertThat(mViewModel.getUserId()).isEqualTo(UserHandle.USER_NULL);
-        assertThat(viewModel2.getUserId()).isEqualTo(UserHandle.USER_NULL);
-        assertThat(mViewModel.getToken()).isNull();
-        assertThat(viewModel2.getToken()).isNull();
-    }
-
-    @Test
-    public void testCheckCredential_validCredentialCase() {
-        final int userId = 99;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newValidTokenCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_VALID);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToChooseLock() {
-        final int userId = 100;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_UNSPECIFIED);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CHOOSE_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToConfirmLockForSomething() {
-        final int userId = 101;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToConfirmLockForNumeric() {
-        final int userId = 102;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_NUMERIC);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_needToConfirmLockForAlphabetic() {
-        final int userId = 103;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_ALPHABETIC);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_FAIL_NEED_TO_CONFIRM_LOCK);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isFalse();
-    }
-
-    @Test
-    public void testCheckCredential_generateChallenge() {
-        final int userId = 104;
-        final long gkPwHandle = 1111L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final int newSensorId = 10;
-        final long newChallenge = 20L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newGoodCredential(gkPwHandle, new byte[] { 1 }));
-
-        final AtomicBoolean hasCalledRemoveGkPwHandle = new AtomicBoolean();
-        doAnswer(invocation -> {
-            hasCalledRemoveGkPwHandle.set(true);
-            return null;
-        }).when(mLockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle);
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        // Check viewModel behavior
-        assertThat(action).isEqualTo(CREDENTIAL_IS_GENERATING_CHALLENGE);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-
-        // Check data inside CredentialModel
-        assertThat(mViewModel.getToken()).isNotNull();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-        assertThat(hasCalledRemoveGkPwHandle.get()).isFalse();
-
-        // Check createGeneratingChallengeExtras()
-        final Bundle generatingChallengeExtras = mViewModel.createGeneratingChallengeExtras();
-        assertThat(generatingChallengeExtras).isNotNull();
-        assertThat(generatingChallengeExtras.getLong(EXTRA_KEY_CHALLENGE)).isEqualTo(newChallenge);
-        final byte[] tokens = generatingChallengeExtras.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        assertThat(tokens).isNotNull();
-        assertThat(tokens.length).isEqualTo(1);
-        assertThat(tokens[0]).isEqualTo(1);
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isTrue();
-    }
-
-    @Test
-    public void testCheckCredential_generateChallengeFail() {
-        final int userId = 104;
-        final long gkPwHandle = 1111L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final int newSensorId = 10;
-        final long newChallenge = 20L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newBadCredential(0));
-
-        // Run credential check
-        @CredentialAction final int action = mViewModel.checkCredential();
-
-        assertThat(action).isEqualTo(CREDENTIAL_IS_GENERATING_CHALLENGE);
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isTrue();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-
-        // Check onSaveInstanceState()
-        final Bundle actualBundle = new Bundle();
-        mViewModel.onSaveInstanceState(actualBundle);
-        assertThat(actualBundle.getBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL))
-                .isTrue();
-    }
-
-    @Test
-    public void testGetUserId_fromIntent() {
-        final int userId = 106;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-
-        // Get userId
-        assertThat(mViewModel.getUserId()).isEqualTo(userId);
-    }
-
-    @Test
-    public void testGetUserId_fromSavedInstance() {
-        final int userId = 106;
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL,
-                newOnlySensorValidCredentialIntentExtras(userId));
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Get userId
-        assertThat(mViewModel.getUserId()).isEqualTo(userId);
-    }
-
-    @Test
-    public void testCreateGeneratingChallengeExtras_generateChallenge() {
-        final Bundle credentialExtras = newValidTokenCredentialIntentExtras(200);
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL, credentialExtras);
-        savedInstance.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL, true);
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Check createGeneratingChallengeExtras()
-        final Bundle actualExtras = mViewModel.createGeneratingChallengeExtras();
-        assertThat(actualExtras).isNotNull();
-        assertThat(actualExtras.getLong(EXTRA_KEY_CHALLENGE))
-                .isEqualTo(credentialExtras.getLong(EXTRA_KEY_CHALLENGE));
-        final byte[] actualToken = actualExtras.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        final byte[] expectedToken = credentialExtras.getByteArray(EXTRA_KEY_CHALLENGE_TOKEN);
-        assertThat(actualToken).isNotNull();
-        assertThat(expectedToken).isNotNull();
-        assertThat(actualToken.length).isEqualTo(expectedToken.length);
-        for (int i = 0; i < actualToken.length; ++i) {
-            assertWithMessage("tokens[" + i + "] not match").that(actualToken[i])
-                    .isEqualTo(expectedToken[i]);
-        }
-    }
-
-    @Test
-    public void testCreateGeneratingChallengeExtras_notGenerateChallenge() {
-        final Bundle credentialExtras = newValidTokenCredentialIntentExtras(201);
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL, credentialExtras);
-        savedInstance.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL, false);
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-    }
-
-    @Test
-    public void testCreateGeneratingChallengeExtras_invalidToken() {
-        final Bundle credentialExtras = newOnlySensorValidCredentialIntentExtras(202);
-        final Bundle savedInstance = new Bundle();
-        savedInstance.putBundle(KEY_CREDENTIAL_MODEL, credentialExtras);
-        savedInstance.putBoolean(KEY_IS_GENERATING_CHALLENGE_DURING_CHECKING_CREDENTIAL, true);
-        mViewModel.setCredentialModel(savedInstance, new Intent());
-
-        // Check createGeneratingChallengeExtras()
-        assertThat(mViewModel.createGeneratingChallengeExtras()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_invalidChooseLock() {
-        final int userId = 107;
-        final long gkPwHandle = 3333L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        final Intent intent = new Intent();
-        intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(true,
-                new ActivityResult(ChooseLockPattern.RESULT_FINISHED + 1, intent));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_invalidConfirmLock() {
-        final int userId = 107;
-        final long gkPwHandle = 3333L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-        final Intent intent = new Intent();
-        intent.putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(false,
-                new ActivityResult(Activity.RESULT_OK + 1, intent));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_nullDataChooseLock() {
-        final int userId = 108;
-        final long gkPwHandle = 4444L;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newGkPwHandleCredentialIntentExtras(userId, gkPwHandle)));
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(true,
-                new ActivityResult(ChooseLockPattern.RESULT_FINISHED, null));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_nullDataConfirmLock() {
-        final int userId = 109;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-
-        // run checkNewCredentialFromActivityResult()
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(false,
-                new ActivityResult(Activity.RESULT_OK, null));
-
-        assertThat(ret).isFalse();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_validChooseLock() {
-        final int userId = 108;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final long gkPwHandle = 6666L;
-        final int newSensorId = 50;
-        final long newChallenge = 60L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newGoodCredential(gkPwHandle, new byte[] { 1 }));
-
-        final AtomicBoolean hasCalledRemoveGkPwHandle = new AtomicBoolean();
-        doAnswer(invocation -> {
-            hasCalledRemoveGkPwHandle.set(true);
-            return null;
-        }).when(mLockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle);
-
-        // Run checkNewCredentialFromActivityResult()
-        final Intent intent = new Intent().putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(true,
-                new ActivityResult(ChooseLockPattern.RESULT_FINISHED, intent));
-
-        assertThat(ret).isTrue();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-        assertThat(mViewModel.getToken()).isNotNull();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue();
-    }
-
-    @Test
-    public void testCheckNewCredentialFromActivityResult_validConfirmLock() {
-        final int userId = 109;
-        mViewModel.setCredentialModel(null,
-                new Intent().putExtras(newOnlySensorValidCredentialIntentExtras(userId)));
-        when(mLockPatternUtils.getActivePasswordQuality(userId)).thenReturn(
-                PASSWORD_QUALITY_SOMETHING);
-
-        final long gkPwHandle = 5555L;
-        final int newSensorId = 80;
-        final long newChallenge = 90L;
-        setupGenerateChallenge(userId, newSensorId, newChallenge);
-        when(mLockPatternUtils.verifyGatekeeperPasswordHandle(gkPwHandle, newChallenge, userId))
-                .thenReturn(newGoodCredential(gkPwHandle, new byte[] { 1 }));
-
-        final AtomicBoolean hasCalledRemoveGkPwHandle = new AtomicBoolean();
-        doAnswer(invocation -> {
-            hasCalledRemoveGkPwHandle.set(true);
-            return null;
-        }).when(mLockPatternUtils).removeGatekeeperPasswordHandle(gkPwHandle);
-
-        // Run checkNewCredentialFromActivityResult()
-        final Intent intent = new Intent().putExtra(EXTRA_KEY_GK_PW_HANDLE, gkPwHandle);
-        final boolean ret = mViewModel.checkNewCredentialFromActivityResult(false,
-                new ActivityResult(Activity.RESULT_OK, intent));
-
-        assertThat(ret).isTrue();
-        assertThat(mViewModel.getGenerateChallengeFailedLiveData().getValue()).isNull();
-        assertThat(mViewModel.getToken()).isNotNull();
-        assertThat(mChallengeGenerator.mCallbackRunCount).isEqualTo(1);
-        assertThat(hasCalledRemoveGkPwHandle.get()).isTrue();
-    }
-
-    public static class TestChallengeGenerator implements ChallengeGenerator {
-        public int mSensorId = -1;
-        public int mUserId = UserHandle.myUserId();
-        public long mChallenge = INVALID_CHALLENGE;
-        public int mCallbackRunCount = 0;
-        private GenerateChallengeCallback mCallback;
-
-        @Nullable
-        @Override
-        public GenerateChallengeCallback getCallback() {
-            return mCallback;
-        }
-
-        @Override
-        public void setCallback(@Nullable GenerateChallengeCallback callback) {
-            mCallback = callback;
-        }
-
-        @Override
-        public void generateChallenge(int userId) {
-            final GenerateChallengeCallback callback = mCallback;
-            if (callback == null) {
-                return;
-            }
-            callback.onChallengeGenerated(mSensorId, mUserId, mChallenge);
-            ++mCallbackRunCount;
-        }
-    }
-
-    private VerifyCredentialResponse newGoodCredential(long gkPwHandle, @NonNull byte[] hat) {
-        return new VerifyCredentialResponse.Builder()
-                .setGatekeeperPasswordHandle(gkPwHandle)
-                .setGatekeeperHAT(hat)
-                .build();
-    }
-
-    private VerifyCredentialResponse newBadCredential(int timeout) {
-        if (timeout > 0) {
-            return VerifyCredentialResponse.fromTimeout(timeout);
-        } else {
-            return VerifyCredentialResponse.fromError();
-        }
-    }
-}
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
new file mode 100644
index 0000000..e708f3b
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/AutoCredentialViewModelTest.kt
@@ -0,0 +1,519 @@
+/*
+ * 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/FingerprintEnrollEnrollingViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModelTest.java
index fb0937e..d4fae60 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModelTest.java
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollEnrollingViewModelTest.java
@@ -16,18 +16,11 @@
 
 package com.android.settings.biometrics2.ui.viewmodel;
 
-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 com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.ErrorDialogData;
 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.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_RESTART;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollEnrollingViewModel.FingerprintErrorDialogAction;
 import static com.android.settings.biometrics2.utils.FingerprintRepositoryUtils.newFingerprintRepository;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -81,20 +74,11 @@
         mViewModel = new FingerprintEnrollEnrollingViewModel(
                 mApplication,
                 TEST_USER_ID,
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5)
+                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL,  5)
             );
     }
 
     @Test
-    public void testShowErrorDialogLiveData() {
-        assertThat(mViewModel.getErrorDialogLiveData().getValue()).isEqualTo(null);
-
-        final ErrorDialogData data = new ErrorDialogData("errMsg", "errTitle", 0);
-        mViewModel.showErrorDialog(data);
-        assertThat(mViewModel.getErrorDialogLiveData().getValue()).isEqualTo(data);
-    }
-
-    @Test
     public void testIconTouchDialog() {
         final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
         assertThat(actionLiveData.getValue()).isEqualTo(null);
@@ -105,23 +89,6 @@
     }
 
     @Test
-    public void testErrorDialogActionLiveData() {
-        assertThat(mViewModel.getErrorDialogActionLiveData().getValue()).isEqualTo(null);
-
-        @FingerprintErrorDialogAction int action = FINGERPRINT_ERROR_DIALOG_ACTION_RESTART;
-        mViewModel.onErrorDialogAction(action);
-        assertThat(mViewModel.getErrorDialogActionLiveData().getValue()).isEqualTo(action);
-
-        action = FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_TIMEOUT;
-        mViewModel.onErrorDialogAction(action);
-        assertThat(mViewModel.getErrorDialogActionLiveData().getValue()).isEqualTo(action);
-
-        action = FINGERPRINT_ERROR_DIALOG_ACTION_SET_RESULT_FINISH;
-        mViewModel.onErrorDialogAction(action);
-        assertThat(mViewModel.getErrorDialogActionLiveData().getValue()).isEqualTo(action);
-    }
-
-    @Test
     public void tesBackPressedScenario() {
         final LiveData<Integer> actionLiveData = mViewModel.getActionLiveData();
         assertThat(actionLiveData.getValue()).isEqualTo(null);
@@ -152,26 +119,6 @@
     }
 
     @Test
-    public void testCanAssumeUdfps_forUdfpsUltrasonicSensor() {
-        mViewModel = new FingerprintEnrollEnrollingViewModel(
-                mApplication,
-                TEST_USER_ID,
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_ULTRASONIC, 5)
-        );
-        assertThat(mViewModel.canAssumeUdfps()).isEqualTo(true);
-    }
-
-    @Test
-    public void testCanAssumeUdfps_forRearSensor() {
-        mViewModel = new FingerprintEnrollEnrollingViewModel(
-                mApplication,
-                TEST_USER_ID,
-                newFingerprintRepository(mFingerprintManager,  TYPE_REAR, 5)
-        );
-        assertThat(mViewModel.canAssumeUdfps()).isEqualTo(false);
-    }
-
-    @Test
     public void testGetFirstFingerprintSensorPropertiesInternal() {
         final ArrayList<FingerprintSensorPropertiesInternal> props = new ArrayList<>();
         final FingerprintSensorPropertiesInternal prop = new FingerprintSensorPropertiesInternal(
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
new file mode 100644
index 0000000..379a5c1
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollErrorDialogViewModelTest.kt
@@ -0,0 +1,121 @@
+/*
+ * 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
index a72175d..18bd61a 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModelTest.java
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFindSensorViewModelTest.java
@@ -18,6 +18,7 @@
 
 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;
 
@@ -71,6 +72,13 @@
     }
 
     @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();
 
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
index 34ef801..ac97e72 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModelTest.java
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollFinishViewModelTest.java
@@ -64,7 +64,7 @@
     @Before
     public void setUp() {
         mApplication = ApplicationProvider.getApplicationContext();
-        mRequest = new EnrollmentRequest(new Intent(), mApplication);
+        mRequest = new EnrollmentRequest(new Intent(), mApplication, true);
         mViewModel = new FingerprintEnrollFinishViewModel(mApplication, USER_ID, mRequest,
                 newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, MAX_ENROLLABLE));
     }
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.java
deleted file mode 100644
index 41d8226..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.java
+++ /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.viewmodel;
-
-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 com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX;
-import static com.android.settings.biometrics2.ui.model.FingerprintEnrollIntroStatus.FINGERPRINT_ENROLLABLE_OK;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollIntroViewModel.FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwDeferredRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwPortalRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwRequest;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newIsSuwSuggestedActionFlowRequest;
-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.Mockito.mock;
-import static org.mockito.Mockito.when;
-
-import android.app.Application;
-import android.content.res.Resources;
-import android.hardware.fingerprint.FingerprintManager;
-
-import androidx.annotation.NonNull;
-import androidx.lifecycle.MutableLiveData;
-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.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 FingerprintEnrollIntroViewModelTest {
-
-    private static final int TEST_USER_ID = 33;
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private Resources mResources;
-    @Mock private FingerprintManager mFingerprintManager;
-
-    private Application mApplication;
-
-    private FingerprintEnrollIntroViewModel newFingerprintEnrollIntroViewModel(
-            @NonNull FingerprintRepository fingerprintRepository,
-            @NonNull EnrollmentRequest enrollmentRequest) {
-        final FingerprintEnrollIntroViewModel viewModel =
-                new FingerprintEnrollIntroViewModel(mApplication, fingerprintRepository,
-                        enrollmentRequest, TEST_USER_ID);
-        // MediatorLiveData won't update itself unless observed
-        viewModel.getPageStatusLiveData().observeForever(event -> {});
-        return viewModel;
-    }
-
-    @Before
-    public void setUp() {
-        mApplication = ApplicationProvider.getApplicationContext();
-    }
-
-    @Test
-    public void testPageStatusLiveDataDefaultValue() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-        final FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isFalse();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    @Test
-    public void testClearActionLiveData() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        final MutableLiveData<Integer> actionLiveData =
-                (MutableLiveData<Integer>) viewModel.getActionLiveData();
-        actionLiveData.postValue(1);
-        assertThat(actionLiveData.getValue()).isEqualTo(1);
-
-        viewModel.clearActionLiveData();
-
-        assertThat(actionLiveData.getValue()).isNull();
-    }
-
-    @Test
-    public void testGetEnrollmentRequest() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        assertThat(viewModel.getRequest()).isNotNull();
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuw() {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 0);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        final FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuw() {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 1);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        final FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isNotSuw() {
-        testOnStartToUpdateEnrollableStatusOk(newAllFalseRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isNotSuw() {
-        testOnStartToUpdateEnrollableStatusReachMax(newAllFalseRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuwDeferred() {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwDeferredRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuwDeferred() {
-        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwDeferredRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuwPortal() {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwPortalRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuwPortal() {
-        testOnStartToUpdateEnrollableStatusReachMax(newIsSuwPortalRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusOk_isSuwSuggestedActionFlow() {
-        testOnStartToUpdateEnrollableStatusOk(newIsSuwSuggestedActionFlowRequest(mApplication));
-    }
-
-    @Test
-    public void testOnStartToUpdateEnrollableStatusReachMax_isSuwSuggestedActionFlow() {
-        testOnStartToUpdateEnrollableStatusReachMax(
-                newIsSuwSuggestedActionFlowRequest(mApplication));
-    }
-
-    private void testOnStartToUpdateEnrollableStatusOk(@NonNull EnrollmentRequest request) {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 0);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                request);
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-    }
-
-    private void testOnStartToUpdateEnrollableStatusReachMax(@NonNull EnrollmentRequest request) {
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 5);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                request);
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-    }
-
-    @Test
-    public void testCanAssumeUdfps_forUdfpsUltrasonicSensor() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_ULTRASONIC, 5),
-                newAllFalseRequest(mApplication));
-
-        assertThat(viewModel.canAssumeUdfps()).isEqualTo(true);
-    }
-
-    @Test
-    public void testCanAssumeUdfps_forRearSensor() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_REAR, 5),
-                newAllFalseRequest(mApplication));
-
-        assertThat(viewModel.canAssumeUdfps()).isEqualTo(false);
-    }
-
-    @Test
-    public void testIsParentalConsentRequired() {
-        // We shall not mock FingerprintRepository, but
-        // FingerprintRepository.isParentalConsentRequired() calls static method inside, we can't
-        // mock static method
-        final FingerprintRepository fingerprintRepository = mock(FingerprintRepository.class);
-        final FingerprintEnrollIntroViewModel viewModel = new FingerprintEnrollIntroViewModel(
-                mApplication, fingerprintRepository, newAllFalseRequest(mApplication),
-                TEST_USER_ID);
-
-        when(fingerprintRepository.isParentalConsentRequired(mApplication)).thenReturn(true);
-        assertThat(viewModel.isParentalConsentRequired()).isEqualTo(true);
-
-        when(fingerprintRepository.isParentalConsentRequired(mApplication)).thenReturn(false);
-        assertThat(viewModel.isParentalConsentRequired()).isEqualTo(false);
-    }
-
-    @Test
-    public void testIsBiometricUnlockDisabledByAdmin() {
-        // We shall not mock FingerprintRepository, but
-        // FingerprintRepository.isDisabledByAdmin() calls static method inside, we can't mock
-        // static method
-        final FingerprintRepository fingerprintRepository = mock(FingerprintRepository.class);
-        final FingerprintEnrollIntroViewModel viewModel = new FingerprintEnrollIntroViewModel(
-                mApplication, fingerprintRepository, newAllFalseRequest(mApplication),
-                TEST_USER_ID);
-
-        when(fingerprintRepository.isDisabledByAdmin(mApplication, TEST_USER_ID)).thenReturn(true);
-        assertThat(viewModel.isBiometricUnlockDisabledByAdmin()).isEqualTo(true);
-
-        when(fingerprintRepository.isDisabledByAdmin(mApplication, TEST_USER_ID)).thenReturn(false);
-        assertThat(viewModel.isBiometricUnlockDisabledByAdmin()).isEqualTo(false);
-    }
-
-    @Test
-    public void testSetHasScrolledToBottom() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        viewModel.setHasScrolledToBottom(true);
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isEqualTo(true);
-
-        viewModel.setHasScrolledToBottom(false);
-        status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.hasScrollToBottom()).isEqualTo(false);
-    }
-
-    @Test
-    public void testOnNextButtonClick_enrollNext() {
-        // Set latest status to FINGERPRINT_ENROLLABLE_OK
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 0);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_OK);
-
-        // Perform click on `next`
-        viewModel.onNextButtonClick();
-
-        assertThat(viewModel.getActionLiveData().getValue())
-                .isEqualTo(FINGERPRINT_ENROLL_INTRO_ACTION_CONTINUE_ENROLL);
-    }
-
-    @Test
-    public void testOnNextButtonClick_doneAndFinish() {
-        // Set latest status to FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX
-        setupFingerprintEnrolledFingerprints(mFingerprintManager, TEST_USER_ID, 1);
-        setupSuwMaxFingerprintsEnrollable(mApplication, mResources, 1);
-
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newIsSuwRequest(mApplication));
-        FingerprintEnrollIntroStatus status = viewModel.getPageStatusLiveData().getValue();
-        assertThat(status.getEnrollableStatus()).isEqualTo(FINGERPRINT_ENROLLABLE_ERROR_REACH_MAX);
-
-        // Perform click on `next`
-        viewModel.onNextButtonClick();
-
-        assertThat(viewModel.getActionLiveData().getValue())
-                .isEqualTo(FINGERPRINT_ENROLL_INTRO_ACTION_DONE_AND_FINISH);
-    }
-
-    @Test
-    public void testOnSkipOrCancelButtonClick() {
-        final FingerprintEnrollIntroViewModel viewModel = newFingerprintEnrollIntroViewModel(
-                newFingerprintRepository(mFingerprintManager, TYPE_UDFPS_OPTICAL, 5),
-                newAllFalseRequest(mApplication));
-
-        viewModel.onSkipOrCancelButtonClick();
-
-        assertThat(viewModel.getActionLiveData().getValue())
-                .isEqualTo(FINGERPRINT_ENROLL_INTRO_ACTION_SKIP_OR_CANCEL);
-    }
-}
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
new file mode 100644
index 0000000..7494aef
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollIntroViewModelTest.kt
@@ -0,0 +1,357 @@
+/*
+ * 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
index 2c830ad..2c7afa6 100644
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModelTest.java
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollProgressViewModelTest.java
@@ -98,7 +98,7 @@
             mCallbackWrapper.mValue = invocation.getArgument(3);
             return null;
         }).when(mFingerprintUpdater).enroll(any(byte[].class), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(EnrollmentCallback.class), anyInt());
+                eq(TEST_USER_ID), any(EnrollmentCallback.class), anyInt(), any());
     }
 
     @Test
@@ -108,11 +108,11 @@
         mViewModel.setToken(token);
 
         // Start enrollment
-        final boolean ret = mViewModel.startEnrollment(enrollReason);
+        final Object ret = mViewModel.startEnrollment(enrollReason);
 
-        assertThat(ret).isTrue();
+        assertThat(ret).isNotNull();
         verify(mFingerprintUpdater, only()).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(EnrollmentCallback.class), eq(enrollReason));
+                eq(TEST_USER_ID), any(EnrollmentCallback.class), eq(enrollReason), any());
         assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isFalse();
     }
 
@@ -123,11 +123,11 @@
         mViewModel.setToken(token);
 
         // Start enrollment
-        final boolean ret = mViewModel.startEnrollment(enrollReason);
+        final Object ret = mViewModel.startEnrollment(enrollReason);
 
-        assertThat(ret).isTrue();
+        assertThat(ret).isNotNull();
         verify(mFingerprintUpdater, only()).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(EnrollmentCallback.class), eq(enrollReason));
+                eq(TEST_USER_ID), any(EnrollmentCallback.class), eq(enrollReason), any());
         assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isFalse();
     }
 
@@ -142,11 +142,11 @@
         mViewModel.setToken(token);
 
         // Start enrollment
-        final boolean ret = mViewModel.startEnrollment(enrollReason);
+        final Object ret = mViewModel.startEnrollment(enrollReason);
 
-        assertThat(ret).isTrue();
+        assertThat(ret).isNotNull();
         verify(mFingerprintUpdater, only()).enroll(eq(token), any(CancellationSignal.class),
-                eq(TEST_USER_ID), any(MessageDisplayController.class), eq(enrollReason));
+                eq(TEST_USER_ID), any(MessageDisplayController.class), eq(enrollReason), any());
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         assertThat(mCallbackWrapper.mValue instanceof MessageDisplayController).isTrue();
@@ -158,7 +158,7 @@
 
         // 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));
+                eq(TEST_USER_ID), any(MessageDisplayController.class), eq(enrollReason), any());
         assertThat(mCallbackWrapper.mValue).isNotNull();
         assertThat(callback1).isNotEqualTo(mCallbackWrapper.mValue);
     }
@@ -166,19 +166,20 @@
     @Test
     public void testStartEnrollmentFailBecauseOfNoToken() {
         // Start enrollment
-        final boolean ret = mViewModel.startEnrollment(ENROLL_FIND_SENSOR);
+        final Object ret = mViewModel.startEnrollment(ENROLL_FIND_SENSOR);
 
-        assertThat(ret).isFalse();
+        assertThat(ret).isNull();
         verify(mFingerprintUpdater, never()).enroll(any(byte[].class),
-                any(CancellationSignal.class), anyInt(), any(EnrollmentCallback.class), anyInt());
+                any(CancellationSignal.class), anyInt(), any(EnrollmentCallback.class), anyInt(),
+                any());
     }
 
     @Test
     public void testCancelEnrollment() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCancellationSignalWrapper.mValue).isNotNull();
 
         // Cancel enrollment
@@ -191,8 +192,8 @@
     public void testProgressUpdate() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Test default value
@@ -228,8 +229,8 @@
     public void testProgressUpdateClearHelpMessage() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
         final LiveData<EnrollmentProgress> progressLiveData = mViewModel.getProgressLiveData();
         final LiveData<EnrollmentStatusMessage> helpMsgLiveData =
@@ -271,8 +272,8 @@
         mViewModel.setToken(new byte[] { 1, 2, 3 });
 
         // Start enrollment
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Test default value
@@ -308,8 +309,8 @@
     public void testGetErrorMessageLiveData() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Check default value
@@ -330,8 +331,8 @@
     public void testGetHelpMessageLiveData() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Check default value
@@ -352,8 +353,8 @@
     public void testGetAcquireLiveData() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Check default value
@@ -369,8 +370,8 @@
     public void testGetPointerDownLiveData() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Check default value
@@ -387,8 +388,8 @@
     public void testGetPointerUpLiveData() {
         // Start enrollment
         mViewModel.setToken(new byte[] { 1, 2, 3 });
-        final boolean ret = mViewModel.startEnrollment(ENROLL_ENROLL);
-        assertThat(ret).isTrue();
+        final Object ret = mViewModel.startEnrollment(ENROLL_ENROLL);
+        assertThat(ret).isNotNull();
         assertThat(mCallbackWrapper.mValue).isNotNull();
 
         // Check default value
diff --git a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.java b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.java
deleted file mode 100644
index 945ce8a..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.java
+++ /dev/null
@@ -1,127 +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.FingerprintEnrollmentViewModel.SAVED_STATE_IS_NEW_FINGERPRINT_ADDED;
-import static com.android.settings.biometrics2.ui.viewmodel.FingerprintEnrollmentViewModel.SAVED_STATE_IS_WAITING_ACTIVITY_RESULT;
-import static com.android.settings.biometrics2.utils.EnrollmentRequestUtils.newAllFalseRequest;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.Application;
-import android.hardware.fingerprint.FingerprintManager;
-import android.os.Bundle;
-
-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;
-
-@RunWith(AndroidJUnit4.class)
-public class FingerprintEnrollmentViewModelTest {
-
-    @Rule public final MockitoRule mockito = MockitoJUnit.rule();
-    @Rule public final InstantTaskExecutorRule mTaskExecutorRule = new InstantTaskExecutorRule();
-
-    @Mock private FingerprintManager mFingerprintManager;
-
-    private Application mApplication;
-    private FingerprintRepository mFingerprintRepository;
-    private FingerprintEnrollmentViewModel mViewModel;
-
-    @Before
-    public void setUp() {
-        mApplication = ApplicationProvider.getApplicationContext();
-        mFingerprintRepository = new FingerprintRepository(mFingerprintManager);
-        mViewModel = new FingerprintEnrollmentViewModel(mApplication, mFingerprintRepository,
-                newAllFalseRequest(mApplication));
-    }
-
-    @Test
-    public void testGetRequest() {
-        assertThat(mViewModel.getRequest()).isNotNull();
-    }
-
-    @Test
-    public void testSetSavedInstanceState() {
-        // setSavedInstanceState() as false
-        final Bundle bundle = new Bundle();
-        final Bundle outBundle = new Bundle();
-
-        // Set SAVED_STATE_IS_WAITING_ACTIVITY_RESULT to true
-        bundle.putBoolean(SAVED_STATE_IS_WAITING_ACTIVITY_RESULT, false);
-        mViewModel.setSavedInstanceState(bundle);
-        assertThat(mViewModel.isWaitingActivityResult().get()).isFalse();
-
-        // Set SAVED_STATE_IS_WAITING_ACTIVITY_RESULT to true
-        bundle.clear();
-        bundle.putBoolean(SAVED_STATE_IS_WAITING_ACTIVITY_RESULT, true);
-        mViewModel.setSavedInstanceState(bundle);
-        assertThat(mViewModel.isWaitingActivityResult().get()).isTrue();
-
-        // Set SAVED_STATE_IS_NEW_FINGERPRINT_ADDED to false
-        bundle.clear();
-        bundle.putBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED, false);
-        mViewModel.setSavedInstanceState(bundle);
-        outBundle.clear();
-        mViewModel.onSaveInstanceState(outBundle);
-        assertThat(outBundle.getBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED)).isFalse();
-
-        // Set SAVED_STATE_IS_NEW_FINGERPRINT_ADDED to true
-        bundle.clear();
-        bundle.putBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED, true);
-        mViewModel.setSavedInstanceState(bundle);
-        outBundle.clear();
-        mViewModel.onSaveInstanceState(outBundle);
-        assertThat(outBundle.getBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED)).isTrue();
-    }
-
-    @Test
-    public void testOnSaveInstanceState() {
-        // Test isWaitingActivityResult false
-        mViewModel.isWaitingActivityResult().set(false);
-        final Bundle bundle = new Bundle();
-        mViewModel.onSaveInstanceState(bundle);
-        assertThat(bundle.getBoolean(SAVED_STATE_IS_WAITING_ACTIVITY_RESULT)).isFalse();
-
-        // Test isWaitingActivityResult true
-        mViewModel.isWaitingActivityResult().set(true);
-        bundle.clear();
-        mViewModel.onSaveInstanceState(bundle);
-        assertThat(bundle.getBoolean(SAVED_STATE_IS_WAITING_ACTIVITY_RESULT)).isTrue();
-
-        // Test isNewFingerprintAdded default false
-        bundle.clear();
-        mViewModel.onSaveInstanceState(bundle);
-        assertThat(bundle.getBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED)).isFalse();
-
-        // Test isNewFingerprintAdded true
-        mViewModel.setIsNewFingerprintAdded();
-        bundle.clear();
-        mViewModel.onSaveInstanceState(bundle);
-        assertThat(bundle.getBoolean(SAVED_STATE_IS_NEW_FINGERPRINT_ADDED)).isTrue();
-    }
-}
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
new file mode 100644
index 0000000..6d04f35
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/ui/viewmodel/FingerprintEnrollmentViewModelTest.kt
@@ -0,0 +1,322 @@
+/*
+ * 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.java b/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.java
deleted file mode 100644
index ced6deb..0000000
--- a/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.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 com.android.settings.biometrics.BiometricEnrollBase.EXTRA_FROM_SETTINGS_SUMMARY;
-
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_DEFERRED_SETUP;
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_FIRST_RUN;
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_PORTAL_SETUP;
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SETUP_FLOW;
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW;
-import static com.google.android.setupcompat.util.WizardManagerHelper.EXTRA_THEME;
-
-import android.content.Context;
-import android.content.Intent;
-import android.text.TextUtils;
-
-import androidx.annotation.NonNull;
-
-import com.android.settings.biometrics2.ui.model.EnrollmentRequest;
-
-public class EnrollmentRequestUtils {
-
-    @NonNull
-    public static EnrollmentRequest newAllFalseRequest(@NonNull Context context) {
-        return newRequest(context, false, false, false, false, false, false, null);
-    }
-
-    @NonNull
-    public static EnrollmentRequest newIsSuwRequest(@NonNull Context context) {
-        return newRequest(context, true, false, false, false, false, false, null);
-    }
-
-    @NonNull
-    public static EnrollmentRequest newIsSuwDeferredRequest(@NonNull Context context) {
-        return newRequest(context, true, true, false, false, false, false, null);
-    }
-
-    @NonNull
-    public static EnrollmentRequest newIsSuwPortalRequest(@NonNull Context context) {
-        return newRequest(context, true, false, true, false, false, false, null);
-    }
-
-    @NonNull
-    public static EnrollmentRequest newIsSuwSuggestedActionFlowRequest(
-            @NonNull Context context) {
-        return newRequest(context, true, false, false, true, false, false, null);
-    }
-
-    @NonNull
-    public static EnrollmentRequest newRequest(@NonNull Context context, boolean isSuw,
-            boolean isSuwDeferred, boolean isSuwPortal, boolean isSuwSuggestedActionFlow,
-            boolean isSuwFirstRun, boolean isFromSettingsSummery, String theme) {
-        Intent i = new Intent();
-        i.putExtra(EXTRA_IS_SETUP_FLOW, isSuw);
-        i.putExtra(EXTRA_IS_DEFERRED_SETUP, isSuwDeferred);
-        i.putExtra(EXTRA_IS_PORTAL_SETUP, isSuwPortal);
-        i.putExtra(EXTRA_IS_SUW_SUGGESTED_ACTION_FLOW, isSuwSuggestedActionFlow);
-        i.putExtra(EXTRA_IS_FIRST_RUN, isSuwFirstRun);
-        i.putExtra(EXTRA_FROM_SETTINGS_SUMMARY, isFromSettingsSummery);
-        if (!TextUtils.isEmpty(theme)) {
-            i.putExtra(EXTRA_THEME, theme);
-        }
-        return new EnrollmentRequest(i, context);
-    }
-
-}
diff --git a/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.kt b/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.kt
new file mode 100644
index 0000000..755f6d0
--- /dev/null
+++ b/tests/unit/src/com/android/settings/biometrics2/utils/EnrollmentRequestUtils.kt
@@ -0,0 +1,110 @@
+/*
+ * 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/datausage/AppPrefLoaderTest.java b/tests/unit/src/com/android/settings/datausage/AppPrefLoaderTest.java
deleted file mode 100644
index 902906c..0000000
--- a/tests/unit/src/com/android/settings/datausage/AppPrefLoaderTest.java
+++ /dev/null
@@ -1,83 +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.datausage;
-
-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.mock;
-import static org.mockito.Mockito.when;
-
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageManager;
-import android.content.pm.PackageManager.NameNotFoundException;
-import android.graphics.drawable.Drawable;
-import android.util.ArraySet;
-
-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.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class AppPrefLoaderTest {
-
-    @Mock
-    private PackageManager mPackageManager;
-
-    private AppPrefLoader mLoader;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        final ArraySet<String> pkgs = new ArraySet<>(2);
-        pkgs.add("pkg0");
-        pkgs.add("pkg1");
-        mLoader = new AppPrefLoader(
-                ApplicationProvider.getApplicationContext(), pkgs, mPackageManager);
-    }
-
-    @Test
-    public void loadInBackground_packageNotFound_shouldReturnEmptySet()
-            throws NameNotFoundException {
-        when(mPackageManager.getApplicationInfo(anyString(), anyInt()))
-            .thenThrow(new NameNotFoundException());
-
-        assertThat(mLoader.loadInBackground()).isEmpty();
-    }
-
-    @Test
-    public void loadInBackground_shouldReturnPreference() throws NameNotFoundException {
-        ApplicationInfo info = mock(ApplicationInfo.class);
-        when(mPackageManager.getApplicationInfo(anyString(), anyInt())).thenReturn(info);
-        final Drawable drawable = mock(Drawable.class);
-        final String label = "Label1";
-        when(info.loadIcon(mPackageManager)).thenReturn(drawable);
-        when(info.loadLabel(mPackageManager)).thenReturn(label);
-
-        Preference preference = mLoader.loadInBackground().valueAt(0);
-        assertThat(preference.getTitle()).isEqualTo(label);
-        assertThat(preference.getIcon()).isEqualTo(drawable);
-        assertThat(preference.isSelectable()).isFalse();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.java b/tests/unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.java
deleted file mode 100644
index f74768f..0000000
--- a/tests/unit/src/com/android/settings/datausage/BillingCyclePreferenceTest.java
+++ /dev/null
@@ -1,78 +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.datausage;
-
-import static org.mockito.ArgumentMatchers.anyInt;
-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.INetworkManagementService;
-import android.os.RemoteException;
-import android.os.UserManager;
-import android.telephony.TelephonyManager;
-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 BillingCyclePreferenceTest {
-
-    private Context mContext;
-    private BillingCyclePreference mPreference;
-    private TemplatePreference.NetworkServices mServices;
-    @Mock
-    private INetworkManagementService mNetManageSerice;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private UserManager mUserManager;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        mServices = new TemplatePreference.NetworkServices();
-        mServices.mNetworkService = mNetManageSerice;
-        mServices.mTelephonyManager = mTelephonyManager;
-        mServices.mUserManager = mUserManager;
-
-        doReturn(mTelephonyManager).when(mTelephonyManager)
-                .createForSubscriptionId(anyInt());
-
-        mPreference = spy(new BillingCyclePreference(mContext, null /* attrs */));
-        mPreference.setTemplate(null, 0, mServices);
-    }
-
-    @Test
-    public void testPreferenceUpdate_onMobileDataEnabledChange_accessDataEnabledApi() {
-        try {
-            doReturn(true).when(mNetManageSerice).isBandwidthControlEnabled();
-        } catch (RemoteException exception) {}
-        doReturn(true).when(mUserManager).isAdminUser();
-        mPreference.onMobileDataEnabledChange();
-
-        verify(mTelephonyManager)
-                .isDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER);
-    }
-}
\ No newline at end of file
diff --git a/tests/unit/src/com/android/settings/datausage/DataUsageInfoControllerTest.java b/tests/unit/src/com/android/settings/datausage/DataUsageInfoControllerTest.java
index b80e9d2..cb5860a 100644
--- a/tests/unit/src/com/android/settings/datausage/DataUsageInfoControllerTest.java
+++ b/tests/unit/src/com/android/settings/datausage/DataUsageInfoControllerTest.java
@@ -18,9 +18,6 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import android.net.NetworkPolicy;
-import android.net.NetworkTemplate;
-
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import com.android.settingslib.net.DataUsageController.DataUsageInfo;
@@ -32,7 +29,6 @@
 @RunWith(AndroidJUnit4.class)
 public class DataUsageInfoControllerTest {
 
-    private static final int NEGATIVE = -1;
     private static final int ZERO = 0;
     private static final int POSITIVE_SMALL = 1;
     private static final int POSITIVE_LARGE = 5;
@@ -99,80 +95,4 @@
 
         assertThat(mInfoController.getSummaryLimit(info)).isEqualTo(info.usageLevel);
     }
-
-    private NetworkPolicy getDefaultNetworkPolicy() {
-        NetworkTemplate template = new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build();
-        int cycleDay  = -1;
-        String cycleTimezone = "UTC";
-        long warningBytes = -1;
-        long limitBytes = -1;
-        return new NetworkPolicy(template, cycleDay, cycleTimezone, warningBytes, limitBytes, true);
-    }
-
-    @Test
-    public void updateDataLimit_NullArguments_NoError() {
-        mInfoController.updateDataLimit(null, null);
-        mInfoController.updateDataLimit(info, null);
-        mInfoController.updateDataLimit(null, getDefaultNetworkPolicy());
-    }
-
-    @Test
-    public void updateDataLimit_NegativeWarning_UpdatedToZero() {
-        NetworkPolicy policy = getDefaultNetworkPolicy();
-        policy.warningBytes = NEGATIVE;
-
-        mInfoController.updateDataLimit(info, policy);
-
-        assertThat(info.warningLevel).isEqualTo(ZERO);
-    }
-
-    @Test
-    public void updateDataLimit_WarningZero_UpdatedToZero() {
-        NetworkPolicy policy = getDefaultNetworkPolicy();
-        policy.warningBytes = ZERO;
-
-        mInfoController.updateDataLimit(info, policy);
-
-        assertThat(info.warningLevel).isEqualTo(ZERO);
-    }
-
-    @Test
-    public void updateDataLimit_WarningPositive_UpdatedToWarning() {
-        NetworkPolicy policy = getDefaultNetworkPolicy();
-        policy.warningBytes = POSITIVE_SMALL;
-
-        mInfoController.updateDataLimit(info, policy);
-
-        assertThat(info.warningLevel).isEqualTo(policy.warningBytes);
-    }
-
-    @Test
-    public void updateDataLimit_LimitNegative_UpdatedToZero() {
-        NetworkPolicy policy = getDefaultNetworkPolicy();
-        policy.limitBytes = NEGATIVE;
-
-        mInfoController.updateDataLimit(info, policy);
-
-        assertThat(info.limitLevel).isEqualTo(ZERO);
-    }
-
-    @Test
-    public void updateDataLimit_LimitZero_UpdatedToZero() {
-        NetworkPolicy policy = getDefaultNetworkPolicy();
-        policy.limitBytes = ZERO;
-
-        mInfoController.updateDataLimit(info, policy);
-
-        assertThat(info.limitLevel).isEqualTo(ZERO);
-    }
-
-    @Test
-    public void updateDataLimit_LimitPositive_UpdatedToLimit() {
-        NetworkPolicy policy = getDefaultNetworkPolicy();
-        policy.limitBytes = POSITIVE_SMALL;
-
-        mInfoController.updateDataLimit(info, policy);
-        
-        assertThat(info.limitLevel).isEqualTo(policy.limitBytes);
-    }
 }
diff --git a/tests/unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java b/tests/unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
index b27591e..d80c16a 100644
--- a/tests/unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
+++ b/tests/unit/src/com/android/settings/datausage/DataUsageSummaryPreferenceTest.java
@@ -18,39 +18,28 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.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.content.Intent;
 import android.content.res.Resources;
 import android.graphics.Typeface;
-import android.net.ConnectivityManager;
-import android.net.NetworkTemplate;
-import android.os.Bundle;
-import android.telephony.SubscriptionManager;
 import android.view.LayoutInflater;
 import android.view.View;
 import android.view.View.MeasureSpec;
 import android.widget.TextView;
 
 import androidx.preference.PreferenceViewHolder;
-import androidx.test.annotation.UiThreadTest;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
-import com.android.settings.SettingsActivity;
 import com.android.settings.testutils.ResourcesUtils;
 import com.android.settingslib.Utils;
 
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.ArgumentCaptor;
 import org.mockito.MockitoAnnotations;
 
 import java.util.concurrent.TimeUnit;
@@ -91,31 +80,9 @@
         mUpdateTime = now - UPDATE_LAG_MILLIS;
     }
 
-    @UiThreadTest
-    @Test
-    public void testSetUsageInfo_withLaunchIntent_launchButtonShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
-
-        mSummaryPreference.onBindViewHolder(mHolder);
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).getVisibility())
-                .isEqualTo(View.VISIBLE);
-    }
-
-    @Test
-    public void testSetUsageInfo_withoutLaunchIntent_launchButtonNotShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                null /* launchIntent */);
-
-        mSummaryPreference.onBindViewHolder(mHolder);
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).getVisibility())
-                .isEqualTo(View.GONE);
-    }
-
     @Test
     public void testSetUsageInfo_withDataPlans_carrierInfoShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getVisibility())
@@ -124,8 +91,7 @@
 
     @Test
     public void testSetUsageInfo_withNoDataPlans_carrierInfoNotShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, -1, FAKE_CARRIER, 0 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getVisibility())
@@ -138,8 +104,7 @@
         int smudge = 6;
         final long updateTime = System.currentTimeMillis()
                 - TimeUnit.DAYS.toMillis(baseUnit) - TimeUnit.HOURS.toMillis(smudge);
-        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getText().toString())
@@ -152,8 +117,7 @@
         int smudge = 6;
         final long updateTime = System.currentTimeMillis()
                 - TimeUnit.HOURS.toMillis(baseUnit) - TimeUnit.MINUTES.toMillis(smudge);
-        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getText().toString())
@@ -166,8 +130,7 @@
         int smudge = 6;
         final long updateTime = System.currentTimeMillis()
                 - TimeUnit.MINUTES.toMillis(baseUnit) - TimeUnit.SECONDS.toMillis(smudge);
-        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getText().toString())
@@ -177,8 +140,7 @@
     @Test
     public void testCarrierUpdateTime_shouldFormatLessThanMinuteCorrectly() {
         final long updateTime = System.currentTimeMillis() - TimeUnit.SECONDS.toMillis(45);
-        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getText().toString())
@@ -189,7 +151,7 @@
     public void testCarrierUpdateTimeWithNoCarrier_shouldSayJustNow() {
         final long updateTime = System.currentTimeMillis() - TimeUnit.SECONDS.toMillis(45);
         mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, null /* carrier */,
-                1 /* numPlans */, new Intent());
+                1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getText().toString())
@@ -200,7 +162,7 @@
     public void testCarrierUpdateTimeWithNoCarrier_shouldFormatTime() {
         final long updateTime = System.currentTimeMillis() - TimeUnit.MINUTES.toMillis(2);
         mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, null /* carrier */,
-                1 /* numPlans */, new Intent());
+                1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCarrierInfo(mHolder).getText().toString())
@@ -210,8 +172,7 @@
     @Test
     public void setUsageInfo_withRecentCarrierUpdate_doesNotSetCarrierInfoWarningColorAndFont() {
         final long updateTime = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(1);
-        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         TextView carrierInfo = mSummaryPreference.getCarrierInfo(mHolder);
@@ -224,8 +185,7 @@
     @Test
     public void testSetUsageInfo_withStaleCarrierUpdate_setsCarrierInfoWarningColorAndFont() {
         final long updateTime = System.currentTimeMillis() - TimeUnit.HOURS.toMillis(7);
-        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, updateTime, FAKE_CARRIER, 1 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         TextView carrierInfo = mSummaryPreference.getCarrierInfo(mHolder);
@@ -238,8 +198,7 @@
 
     @Test
     public void testSetUsageInfo_withNoDataPlans_usageTitleNotShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, -1, FAKE_CARRIER, 0 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getUsageTitle(mHolder).getVisibility()).isEqualTo(View.GONE);
@@ -247,8 +206,7 @@
 
     @Test
     public void testSetUsageInfo_withMultipleDataPlans_usageTitleShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 2 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 2 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getUsageTitle(mHolder).getVisibility())
@@ -259,8 +217,7 @@
     public void testSetUsageInfo_cycleRemainingTimeIsLessOneDay() {
         // just under one day
         final long cycleEnd = System.currentTimeMillis() + TimeUnit.HOURS.toMillis(23);
-        mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(cycleEnd, -1, FAKE_CARRIER, 0 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCycleTime(mHolder).getVisibility())
@@ -273,8 +230,7 @@
     @Test
     public void testSetUsageInfo_cycleRemainingTimeNegativeDaysLeft_shouldDisplayNoneLeft() {
         final long cycleEnd = System.currentTimeMillis() - 1L;
-        mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(cycleEnd, -1, FAKE_CARRIER, 0 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCycleTime(mHolder).getVisibility())
@@ -288,8 +244,7 @@
         final int daysLeft = 3;
         final long cycleEnd = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(daysLeft)
                 + TimeUnit.HOURS.toMillis(1);
-        mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(cycleEnd, -1, FAKE_CARRIER, 0 /* numPlans */);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getCycleTime(mHolder).getVisibility())
@@ -372,12 +327,10 @@
 
     @Test
     public void testSetUsageAndRemainingInfo_withUsageInfo_dataUsageAndRemainingShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */);
         mSummaryPreference.setUsageNumbers(
                 BillingCycleSettings.MIB_IN_BYTES,
-                10 * BillingCycleSettings.MIB_IN_BYTES,
-                true /* hasMobileData */);
+                10 * BillingCycleSettings.MIB_IN_BYTES);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getDataUsed(mHolder).getText().toString())
@@ -393,12 +346,10 @@
 
     @Test
     public void testSetUsageInfo_withDataOverusage() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */);
         mSummaryPreference.setUsageNumbers(
                 11 * BillingCycleSettings.MIB_IN_BYTES,
-                10 * BillingCycleSettings.MIB_IN_BYTES,
-                true /* hasMobileData */);
+                10 * BillingCycleSettings.MIB_IN_BYTES);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getDataUsed(mHolder).getText().toString())
@@ -412,10 +363,9 @@
 
     @Test
     public void testSetUsageInfo_withUsageInfo_dataUsageShown() {
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, -1, FAKE_CARRIER, 0 /* numPlans */);
         mSummaryPreference.setUsageNumbers(
-                BillingCycleSettings.MIB_IN_BYTES, -1L, true /* hasMobileData */);
+                BillingCycleSettings.MIB_IN_BYTES, -1L);
 
         mSummaryPreference.onBindViewHolder(mHolder);
         assertThat(mSummaryPreference.getDataUsed(mHolder).getText().toString())
@@ -424,46 +374,15 @@
     }
 
     @Test
-    public void testSetAppIntent_toMdpApp_intentCorrect() {
-        final Intent intent = new Intent(SubscriptionManager.ACTION_MANAGE_SUBSCRIPTION_PLANS);
-        intent.setPackage("test-owner.example.com");
-        intent.putExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, 42);
-
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                intent);
-
-        mSummaryPreference.onBindViewHolder(mHolder);
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).getVisibility())
-                .isEqualTo(View.VISIBLE);
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).getText())
-                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "launch_mdp_app_text"));
-
-        doNothing().when(mContext).startActivity(any(Intent.class));
-        mSummaryPreference.getLaunchButton(mHolder).callOnClick();
-        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(
-                Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
-        final Intent startedIntent = intentCaptor.getValue();
-
-        assertThat(startedIntent.getAction())
-                .isEqualTo(SubscriptionManager.ACTION_MANAGE_SUBSCRIPTION_PLANS);
-        assertThat(startedIntent.getPackage()).isEqualTo("test-owner.example.com");
-        assertThat(startedIntent.getIntExtra(SubscriptionManager.EXTRA_SUBSCRIPTION_INDEX, -1))
-                .isEqualTo(42);
-    }
-
-    @Test
     public void testSetUsageInfo_withOverflowStrings_dataRemainingNotShown() {
         LayoutInflater inflater = LayoutInflater.from(mContext);
         View view = inflater.inflate(mSummaryPreference.getLayoutResource(), null /* root */,
                 false /* attachToRoot */);
 
-        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */,
-                new Intent());
+        mSummaryPreference.setUsageInfo(mCycleEnd, mUpdateTime, FAKE_CARRIER, 1 /* numPlans */);
         mSummaryPreference.setUsageNumbers(
                 BillingCycleSettings.MIB_IN_BYTES,
-                10 * BillingCycleSettings.MIB_IN_BYTES,
-                true /* hasMobileData */);
+                10 * BillingCycleSettings.MIB_IN_BYTES);
 
         int data_used_formatted_id = ResourcesUtils.getResourcesId(
                 mContext, "string", "data_used_formatted");
@@ -493,79 +412,4 @@
         // TODO(b/175389659): re-enable this line once cuttlefish device specs are verified.
         // assertThat(dataRemaining.getVisibility()).isEqualTo(View.GONE);
     }
-
-    @Test
-    public void testSetWifiMode_withUsageInfo_dataUsageShown() {
-        final int daysLeft = 3;
-        final long cycleEnd = System.currentTimeMillis() + TimeUnit.DAYS.toMillis(daysLeft)
-                + TimeUnit.HOURS.toMillis(1);
-        mSummaryPreference.setUsageInfo(cycleEnd, mUpdateTime, FAKE_CARRIER, 0 /* numPlans */,
-                new Intent());
-        mSummaryPreference.setUsageNumbers(1000000L, -1L, true);
-        final String cycleText = "The quick fox";
-        mSummaryPreference.setWifiMode(true /* isWifiMode */, cycleText, false /* isSingleWifi */);
-        doReturn(200L).when(mSummaryPreference).getHistoricalUsageLevel();
-
-        mSummaryPreference.onBindViewHolder(mHolder);
-        assertThat(mSummaryPreference.getUsageTitle(mHolder).getText().toString())
-                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "data_usage_wifi_title"));
-        assertThat(mSummaryPreference.getUsageTitle(mHolder).getVisibility())
-                .isEqualTo(View.VISIBLE);
-        assertThat(mSummaryPreference.getCycleTime(mHolder).getVisibility())
-                .isEqualTo(View.VISIBLE);
-        assertThat(mSummaryPreference.getCycleTime(mHolder).getText()).isEqualTo(cycleText);
-        assertThat(mSummaryPreference.getCarrierInfo(mHolder).getVisibility()).isEqualTo(View.GONE);
-        assertThat(mSummaryPreference.getDataLimits(mHolder).getVisibility()).isEqualTo(View.GONE);
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).getVisibility())
-                .isEqualTo(View.VISIBLE);
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).getText())
-                .isEqualTo(ResourcesUtils.getResourcesString(mContext, "launch_wifi_text"));
-
-        doNothing().when(mContext).startActivity(any(Intent.class));
-        mSummaryPreference.getLaunchButton(mHolder).callOnClick();
-
-        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(
-                Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
-        final Intent startedIntent = intentCaptor.getValue();
-
-        final Bundle expect = new Bundle(1);
-        expect.putParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE,
-                new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-        final Bundle actual = startedIntent
-                .getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-        assertThat((NetworkTemplate) actual.getParcelable(DataUsageList.EXTRA_NETWORK_TEMPLATE))
-                .isEqualTo(new NetworkTemplate.Builder(NetworkTemplate.MATCH_WIFI).build());
-
-        assertThat(startedIntent.getIntExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_TITLE_RESID, 0))
-                .isEqualTo(ResourcesUtils.getResourcesId(mContext, "string", "wifi_data_usage"));
-    }
-
-    @UiThreadTest
-    @Test
-    public void testSetWifiMode_noUsageInfo_shouldDisableLaunchButton() {
-        mSummaryPreference.setWifiMode(true /* isWifiMode */, "Test cycle text",
-                false /* isSingleWifi */);
-        doReturn(0L).when(mSummaryPreference).getHistoricalUsageLevel();
-
-        mSummaryPreference.onBindViewHolder(mHolder);
-
-        assertThat(mSummaryPreference.getLaunchButton(mHolder).isEnabled()).isFalse();
-    }
-
-    @Test
-    public void launchWifiDataUsage_shouldSetWifiNetworkTypeInIntentExtra() {
-        doNothing().when(mContext).startActivity(any(Intent.class));
-        mSummaryPreference.launchWifiDataUsage(mContext);
-
-        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(
-                Intent.class);
-        verify(mContext).startActivity(intentCaptor.capture());
-        final Intent launchIntent = intentCaptor.getValue();
-        final Bundle args =
-                launchIntent.getBundleExtra(SettingsActivity.EXTRA_SHOW_FRAGMENT_ARGUMENTS);
-
-        assertThat(args.getInt(DataUsageList.EXTRA_NETWORK_TYPE))
-            .isEqualTo(ConnectivityManager.TYPE_WIFI);
-    }
 }
diff --git a/tests/unit/src/com/android/settings/development/BackAnimationPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/BackAnimationPreferenceControllerTest.java
index 3669358..1d93e88 100644
--- a/tests/unit/src/com/android/settings/development/BackAnimationPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/development/BackAnimationPreferenceControllerTest.java
@@ -29,6 +29,10 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.os.UserHandle;
+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.PreferenceManager;
@@ -37,8 +41,11 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 import androidx.test.platform.app.InstrumentationRegistry;
 
+import com.android.window.flags.Flags;
+
 import org.junit.Assert;
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.MockitoAnnotations;
@@ -58,6 +65,9 @@
     private BackAnimationPreferenceController mController;
     private Looper mLooper;
 
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -81,6 +91,18 @@
     }
 
     @Test
+    @RequiresFlagsEnabled(Flags.FLAG_PREDICTIVE_BACK_SYSTEM_ANIMS)
+    public void controllerNotAvailable_whenAconfigFlagEnabled() {
+        assertFalse(mController.isAvailable());
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_PREDICTIVE_BACK_SYSTEM_ANIMS)
+    public void controllerAvailable_whenAconfigFlagDisabled() {
+        assertTrue(mController.isAvailable());
+    }
+
+    @Test
     public void onPreferenceChange_switchEnabled_shouldEnableBackAnimations() {
         mController.onPreferenceChange(mPreference, true /* new value */);
 
diff --git a/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java b/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java
index 4aa38ae..8304e5d 100644
--- a/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java
+++ b/tests/unit/src/com/android/settings/development/graphicsdriver/GraphicsDriverEnableAngleAsSystemDriverControllerJUnitTest.java
@@ -20,10 +20,11 @@
 import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.Injector;
 import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION;
 import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_PERSISTENT_GRAPHICS_EGL;
-import static com.android.settings.development.graphicsdriver.GraphicsDriverEnableAngleAsSystemDriverController.PROPERTY_RO_GFX_ANGLE_SUPPORTED;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.assertFalse;
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.eq;
@@ -179,31 +180,13 @@
     }
 
     @Test
-    public void updateState_angleNotSupported_PreferenceShouldDisabled() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any())).thenReturn("");
-        mController.updateState(mPreference);
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void updateState_angleNotSupported_PreferenceShouldNotBeChecked() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any())).thenReturn("");
-        mController.updateState(mPreference);
-        assertThat(mPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void updateState_angleSupported_PreferenceShouldEnabled() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
-                .thenReturn("true");
+    public void updateState_PreferenceShouldEnabled() {
         mController.updateState(mPreference);
         assertThat(mPreference.isEnabled()).isTrue();
     }
 
     @Test
-    public void updateState_angleSupported_angleIsSystemGLESDriver_PreferenceShouldBeChecked() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
-                .thenReturn("true");
+    public void updateState_angleIsSystemGLESDriver_PreferenceShouldBeChecked() {
         when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any()))
                 .thenReturn(ANGLE_DRIVER_SUFFIX);
         mController.updateState(mPreference);
@@ -211,10 +194,7 @@
     }
 
     @Test
-    public void
-            updateState_angleSupported_angleIsNotSystemGLESDriver_PreferenceShouldNotBeChecked() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
-                .thenReturn("true");
+    public void updateState_angleIsNotSystemGLESDriver_PreferenceShouldNotBeChecked() {
         when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any())).thenReturn("");
         mController.updateState(mPreference);
         assertThat(mPreference.isChecked()).isFalse();
@@ -230,8 +210,6 @@
 
         // Test that onDeveloperOptionSwitchDisabled,
         // persist.graphics.egl updates to ""
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
-                .thenReturn("true");
         mController.onDeveloperOptionsSwitchDisabled();
         propertyChangeSignal1.wait(100);
         final String systemEGLDriver = SystemProperties.get(PROPERTY_PERSISTENT_GRAPHICS_EGL);
@@ -243,16 +221,12 @@
 
     @Test
     public void onDeveloperOptionSwitchDisabled_PreferenceShouldNotBeChecked() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
-                .thenReturn("true");
         mController.onDeveloperOptionsSwitchDisabled();
         assertThat(mPreference.isChecked()).isFalse();
     }
 
     @Test
     public void onDeveloperOptionSwitchDisabled_PreferenceShouldDisabled() {
-        when(mSystemPropertiesMock.get(eq(PROPERTY_RO_GFX_ANGLE_SUPPORTED), any()))
-                .thenReturn("true");
         mController.onDeveloperOptionsSwitchDisabled();
         assertThat(mPreference.isEnabled()).isFalse();
     }
@@ -472,4 +446,25 @@
         SystemProperties.removeChangeCallback(propertyChangeSignal1.getCountDownJob());
         SystemProperties.removeChangeCallback(propertyChangeSignal2.getCountDownJob());
     }
+
+    @Test
+    public void updateState_DeveloperOptionPropertyIsFalse() {
+        // Test that when debug.graphics.angle.developeroption.enable is false:
+        when(mSystemPropertiesMock.getBoolean(eq(PROPERTY_DEBUG_ANGLE_DEVELOPER_OPTION),
+                                              anyBoolean())).thenReturn(false);
+
+        // 1. "Enable ANGLE" switch is on, the switch should be enabled.
+        when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any()))
+                .thenReturn(ANGLE_DRIVER_SUFFIX);
+        mController.updateState(mPreference);
+        assertTrue(mPreference.isChecked());
+        assertTrue(mPreference.isEnabled());
+
+        // 2. "Enable ANGLE" switch is off, the switch should be disabled.
+        when(mSystemPropertiesMock.get(eq(PROPERTY_PERSISTENT_GRAPHICS_EGL), any()))
+                .thenReturn("");
+        mController.updateState(mPreference);
+        assertFalse(mPreference.isChecked());
+        assertFalse(mPreference.isEnabled());
+    }
 }
diff --git a/tests/unit/src/com/android/settings/development/quarantine/QuarantinedAppStateBridgeTest.java b/tests/unit/src/com/android/settings/development/quarantine/QuarantinedAppStateBridgeTest.java
new file mode 100644
index 0000000..707d2b9
--- /dev/null
+++ b/tests/unit/src/com/android/settings/development/quarantine/QuarantinedAppStateBridgeTest.java
@@ -0,0 +1,90 @@
+/*
+ * 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.development.quarantine;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.os.UserHandle;
+
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settingslib.applications.ApplicationsState.AppEntry;
+
+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 QuarantinedAppStateBridgeTest {
+    private static final String TEST_PACKAGE = "com.example.test.pkg";
+    private static final int TEST_APP_ID = 1234;
+    private static final int TEST_USER_ID_1 = 0;
+    private static final int TEST_USER_ID_2 = 10;
+
+    @Mock
+    private Context mContext;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+    }
+
+    @Test
+    public void updateExtraInfo_packageQuarantined() throws Exception {
+        setPackageQuarantined(TEST_PACKAGE, TEST_USER_ID_1, false);
+        setPackageQuarantined(TEST_PACKAGE, TEST_USER_ID_2, true);
+
+        final QuarantinedAppStateBridge bridge =
+                new QuarantinedAppStateBridge(mContext, null, null);
+        final AppEntry entry = mock(AppEntry.class);
+
+        bridge.updateExtraInfo(entry, TEST_PACKAGE, UserHandle.getUid(TEST_USER_ID_2, TEST_APP_ID));
+        assertThat(entry.extraInfo).isEqualTo(true);
+    }
+
+    @Test
+    public void updateExtraInfo_packageNotQuarantined() throws Exception {
+        setPackageQuarantined(TEST_PACKAGE, TEST_USER_ID_1, false);
+        setPackageQuarantined(TEST_PACKAGE, TEST_USER_ID_2, false);
+
+        final QuarantinedAppStateBridge bridge =
+                new QuarantinedAppStateBridge(mContext, null, null);
+        final AppEntry entry = mock(AppEntry.class);
+
+        bridge.updateExtraInfo(entry, TEST_PACKAGE, UserHandle.getUid(TEST_USER_ID_2, TEST_APP_ID));
+        assertThat(entry.extraInfo).isEqualTo(false);
+    }
+
+    private void setPackageQuarantined(String packageName, int userId, boolean quarantined)
+            throws Exception {
+        final Context userContext = mock(Context.class);
+        when(mContext.createContextAsUser(eq(UserHandle.of(userId)), anyInt()))
+                .thenReturn(userContext);
+        final PackageManager packageManager = mock(PackageManager.class);
+        when(userContext.getPackageManager()).thenReturn(packageManager);
+        when(packageManager.isPackageQuarantined(packageName)).thenReturn(quarantined);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/development/quarantine/QuarantinedAppsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/quarantine/QuarantinedAppsPreferenceControllerTest.java
new file mode 100644
index 0000000..33e4392
--- /dev/null
+++ b/tests/unit/src/com/android/settings/development/quarantine/QuarantinedAppsPreferenceControllerTest.java
@@ -0,0 +1,69 @@
+/*
+ * 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.development.quarantine;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
+
+import static org.junit.Assert.assertEquals;
+
+import android.content.Context;
+import android.content.pm.Flags;
+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 androidx.test.ext.junit.runners.AndroidJUnit4;
+
+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;
+
+@RunWith(AndroidJUnit4.class)
+public class QuarantinedAppsPreferenceControllerTest {
+
+    private static final String PREF_KEY = "quarantined_apps";
+
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule = DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    @Mock
+    private Context mContext;
+    private QuarantinedAppsPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mController = new QuarantinedAppsPreferenceController(mContext, PREF_KEY);
+    }
+
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_QUARANTINED_ENABLED)
+    public void testAvailabilityStatus_flagEnabled() {
+        assertEquals(mController.getAvailabilityStatus(), AVAILABLE);
+    }
+
+    @Test
+    @RequiresFlagsDisabled(Flags.FLAG_QUARANTINED_ENABLED)
+    public void testAvailabilityStatus_flagDisabled() {
+        assertEquals(mController.getAvailabilityStatus(), CONDITIONALLY_UNAVAILABLE);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceControllerTest.java b/tests/unit/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceControllerTest.java
new file mode 100644
index 0000000..f67a4af
--- /dev/null
+++ b/tests/unit/src/com/android/settings/development/widevine/ForceL3FallbackPreferenceControllerTest.java
@@ -0,0 +1,136 @@
+/*
+* 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.development.widevine;
+
+import static com.google.common.truth.Truth.assertThat;
+import static org.junit.Assume.assumeTrue;
+import static org.junit.Assume.assumeNoException;
+
+import android.content.Context;
+import android.media.MediaDrm;
+import android.media.UnsupportedSchemeException;
+import android.media.NotProvisionedException;
+import android.sysprop.WidevineProperties;
+import android.util.Log;
+import android.content.Context;
+
+import com.android.settings.media_drm.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.SwitchPreference;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.UUID;
+
+@RunWith(AndroidJUnit4.class)
+public class ForceL3FallbackPreferenceControllerTest {
+
+    private static final String PREF_KEY = "force_l3_fallback";
+    private static final UUID WIDEVINE_UUID =
+        new UUID(0xEDEF8BA979D64ACEL, 0xA3C827DCD51D21EDL);
+    private static final String TAG = "ForceL3FallbackPreferenceControllerTest";
+
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private ForceL3FallbackPreferenceController mController;
+    private SwitchPreference mPreference;
+
+    @Before
+    public void setUp() {
+        mContext = ApplicationProvider.getApplicationContext();
+        mController = new ForceL3FallbackPreferenceController(mContext, PREF_KEY);
+        mPreference = new SwitchPreference(mContext);
+        WidevineProperties.forcel3_enabled(false);
+    }
+
+    @Test
+    public void updateState_flagEnabled_checkPreference() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
+        mController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.isChecked()).isFalse();
+        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isFalse();
+
+        // Toggle to true
+        mController.setChecked(true);
+        mController.updateState(mPreference);
+        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isTrue();
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+
+        // Toggle to false
+        mController.setChecked(false);
+        mController.updateState(mPreference);
+        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
+    public void updateState_flagDisabled_checkPreference() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_FORCE_L3_ENABLED);
+        mController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_checkWidevine() throws Exception {
+        MediaDrm drm;
+        try {
+            drm = new MediaDrm(WIDEVINE_UUID);
+            assumeTrue(drm.getPropertyString("securityLevel").equals("L1"));
+            mSetFlagsRule.enableFlags(Flags.FLAG_FORCE_L3_ENABLED);
+            drm.close();
+        } catch (UnsupportedSchemeException ex) {
+            assumeNoException(ex);
+        }
+
+        // L3 enforced
+        mController.setChecked(true);
+        mController.updateState(mPreference);
+        assertThat(WidevineProperties.forcel3_enabled().orElse(false)).isTrue();
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.isChecked()).isTrue();
+        drm = new MediaDrm(WIDEVINE_UUID);
+        assertThat(drm.getPropertyString("securityLevel")).isEqualTo("L3");
+
+        // Switch back to L1
+        mController.setChecked(false);
+        mController.updateState(mPreference);
+        drm.close();
+        drm = new MediaDrm(WIDEVINE_UUID);
+        assertThat(drm.getPropertyString("securityLevel")).isEqualTo("L1");
+    }
+}
diff --git a/tests/unit/src/com/android/settings/deviceinfo/BrandedAccountPreferenceControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/BrandedAccountPreferenceControllerTest.java
index 6e78d05..0c57400 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/BrandedAccountPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/BrandedAccountPreferenceControllerTest.java
@@ -17,7 +17,6 @@
 package com.android.settings.deviceinfo;
 
 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.when;
@@ -26,6 +25,9 @@
 import android.content.Context;
 import android.content.res.Resources;
 
+import androidx.preference.Preference;
+import androidx.preference.PreferenceManager;
+import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
@@ -46,17 +48,21 @@
     private Context mContext;
     private FakeFeatureFactory mFakeFeatureFactory;
 
+    private PreferenceScreen mScreen;
+    private Preference mPreference;
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getResources()).thenReturn(mResources);
         mFakeFeatureFactory = FakeFeatureFactory.setupForTest();
-
+        mScreen = new PreferenceManager(mContext).createPreferenceScreen(mContext);
+        mPreference = new Preference(mContext);
     }
 
     @Test
     public void isAvailable_configOn_noAccount_off() {
+        when(mContext.getResources()).thenReturn(mResources);
         final int boolId = ResourcesUtils.getResourcesId(
                 ApplicationProvider.getApplicationContext(), "bool",
                 "config_show_branded_account_in_device_info");
@@ -69,6 +75,7 @@
 
     @Test
     public void isAvailable_accountIsAvailable_on() {
+        when(mContext.getResources()).thenReturn(mResources);
         final int boolId = ResourcesUtils.getResourcesId(
                 ApplicationProvider.getApplicationContext(), "bool",
                 "config_show_branded_account_in_device_info");
@@ -84,6 +91,7 @@
 
     @Test
     public void isAvailable_configOff_hasAccount_off() {
+        when(mContext.getResources()).thenReturn(mResources);
         final int boolId = ResourcesUtils.getResourcesId(
                 ApplicationProvider.getApplicationContext(), "bool",
                 "config_show_branded_account_in_device_info");
@@ -96,4 +104,42 @@
 
         assertThat(controller.isAvailable()).isFalse();
     }
+
+    /**
+     *  Test displayPreference has one account.
+     */
+    @Test
+    public void displayPreference_hasOneAccount_showAccount() {
+        when(mFakeFeatureFactory.mAccountFeatureProvider.getAccounts(any(Context.class)))
+                .thenReturn(new Account[]{new Account("teresaikeda@gmail.com",
+                    "com.google")});
+
+        mPreference.setKey("test_key");
+        mScreen.addPreference(mPreference);
+        final BrandedAccountPreferenceController controller =
+                new BrandedAccountPreferenceController(mContext, "test_key");
+
+        controller.displayPreference(mScreen);
+
+        assertThat(mPreference.getSummary()).isEqualTo("teresaikeda@gmail.com");
+    }
+
+    /**
+     *  Test displayPreference has two accounts.
+     */
+    @Test
+    public void displayPreference_hasTwoAccounts_showTwoAccountSummary() {
+        when(mFakeFeatureFactory.mAccountFeatureProvider.getAccounts(any(Context.class)))
+                .thenReturn(new Account[]{new Account("teresa@gmail.com", "com.google"),
+                                          new Account("reno@gmail.com", "com.google") });
+
+        mPreference.setKey("test_key");
+        mScreen.addPreference(mPreference);
+        final BrandedAccountPreferenceController controller =
+                new BrandedAccountPreferenceController(mContext, "test_key");
+
+        controller.displayPreference(mScreen);
+
+        assertThat(mPreference.getSummary()).isEqualTo("2 accounts");
+    }
 }
diff --git a/tests/unit/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java
index 5f02b04..9a5399c 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/PhoneNumberPreferenceControllerTest.java
@@ -37,7 +37,6 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
-import com.android.settings.core.BasePreferenceController;
 import com.android.settings.testutils.ResourcesUtils;
 
 import org.junit.Before;
@@ -89,27 +88,10 @@
         mCategory.setKey(categoryKey);
         mScreen.addPreference(mCategory);
 
-        doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
         doReturn(mSecondPreference).when(mController).createNewPreference(mContext);
     }
 
     @Test
-    public void getAvailabilityStatus_isVoiceCapable_shouldBeAVAILABLE() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(true);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.AVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_isNotVoiceCapable_shouldBeUNSUPPORTED_ON_DEVICE() {
-        when(mTelephonyManager.isVoiceCapable()).thenReturn(false);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
-    }
-
-    @Test
     public void displayPreference_multiSim_shouldAddSecondPreference() {
         when(mTelephonyManager.getPhoneCount()).thenReturn(2);
 
@@ -123,6 +105,7 @@
     @Test
     public void updateState_singleSim_shouldUpdateTitleAndPhoneNumber() {
         final String phoneNumber = "1111111111";
+        doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
         doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);
         when(mTelephonyManager.getPhoneCount()).thenReturn(1);
         mController.displayPreference(mScreen);
@@ -136,6 +119,7 @@
     @Test
     public void updateState_multiSim_shouldUpdateTitleAndPhoneNumberOfMultiplePreferences() {
         final String phoneNumber = "1111111111";
+        doReturn(mSubscriptionInfo).when(mController).getSubscriptionInfo(anyInt());
         doReturn(phoneNumber).when(mController).getFormattedPhoneNumber(mSubscriptionInfo);
         when(mTelephonyManager.getPhoneCount()).thenReturn(2);
         mController.displayPreference(mScreen);
@@ -153,11 +137,11 @@
     @Test
     public void getSummary_cannotGetActiveSubscriptionInfo_shouldShowUnknown() {
         when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
+        mController.displayPreference(mScreen);
 
-        CharSequence primaryNumber = mController.getSummary();
+        mController.updateState(mPreference);
 
-        assertThat(primaryNumber).isNotNull();
-        assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString(
+        verify(mPreference).setSummary(ResourcesUtils.getResourcesString(
                 mContext, "device_info_default"));
     }
 
@@ -166,9 +150,10 @@
         List<SubscriptionInfo> infos = new ArrayList<>();
         when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(infos);
 
-        CharSequence primaryNumber = mController.getSummary();
+        mController.displayPreference(mScreen);
+        mController.updateState(mPreference);
 
-        assertThat(primaryNumber).isEqualTo(ResourcesUtils.getResourcesString(
+        verify(mPreference).setSummary(ResourcesUtils.getResourcesString(
                 mContext, "device_info_default"));
     }
 }
diff --git a/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java b/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
index 8c24cbb..1eb670f 100644
--- a/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
+++ b/tests/unit/src/com/android/settings/deviceinfo/simstatus/SimStatusDialogControllerTest.java
@@ -35,7 +35,6 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.doNothing;
 import static org.mockito.Mockito.doReturn;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
@@ -53,7 +52,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 import android.telephony.UiccCardInfo;
-import android.telephony.UiccPortInfo;
 import android.telephony.euicc.EuiccManager;
 
 import androidx.lifecycle.LifecycleOwner;
@@ -61,7 +59,6 @@
 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.settingslib.core.lifecycle.Lifecycle;
 
@@ -73,13 +70,10 @@
 import org.mockito.MockitoAnnotations;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.HashMap;
 import java.util.List;
-import java.util.Map;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.concurrent.atomic.AtomicInteger;
-import java.util.concurrent.atomic.AtomicReference;
 
 @RunWith(AndroidJUnit4.class)
 public class SimStatusDialogControllerTest {
@@ -405,7 +399,7 @@
         mController.initialize();
 
         verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
-                mContext.getString(R.string.ims_reg_status_registered));
+                mContext.getString(com.android.settingslib.R.string.ims_reg_status_registered));
     }
 
     @Test
@@ -418,7 +412,7 @@
         mController.initialize();
 
         verify(mDialog).setText(IMS_REGISTRATION_STATE_VALUE_ID,
-                mContext.getString(R.string.ims_reg_status_not_registered));
+                mContext.getString(com.android.settingslib.R.string.ims_reg_status_not_registered));
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt b/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt
deleted file mode 100644
index 0509d8a..0000000
--- a/tests/unit/src/com/android/settings/fingerprint2/domain/interactor/FakeFingerprintManagerInteractor.kt
+++ /dev/null
@@ -1,82 +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.fingerprint2.domain.interactor
-
-import android.hardware.biometrics.SensorProperties
-import android.hardware.fingerprint.FingerprintSensorProperties.TYPE_POWER_BUTTON
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.flow
-
-/** Fake to be used by other classes to easily fake the FingerprintManager implementation. */
-class FakeFingerprintManagerInteractor : FingerprintManagerInteractor {
-
-  var enrollableFingerprints: Int = 5
-  var enrolledFingerprintsInternal: MutableList<FingerprintViewModel> = mutableListOf()
-  var challengeToGenerate: Pair<Long, ByteArray> = Pair(-1L, byteArrayOf())
-  var authenticateAttempt = FingerprintAuthAttemptViewModel.Success(1)
-  var pressToAuthEnabled = true
-
-  var sensorProps =
-    listOf(
-      FingerprintSensorPropertiesInternal(
-        0 /* sensorId */,
-        SensorProperties.STRENGTH_STRONG,
-        5 /* maxEnrollmentsPerUser */,
-        emptyList() /* ComponentInfoInternal */,
-        TYPE_POWER_BUTTON,
-        true /* resetLockoutRequiresHardwareAuthToken */
-      )
-    )
-
-  override suspend fun authenticate(): FingerprintAuthAttemptViewModel {
-    return authenticateAttempt
-  }
-
-  override suspend fun generateChallenge(gateKeeperPasswordHandle: Long): Pair<Long, ByteArray> {
-    return challengeToGenerate
-  }
-  override val enrolledFingerprints: Flow<List<FingerprintViewModel>> = flow {
-    emit(enrolledFingerprintsInternal)
-  }
-
-  override fun canEnrollFingerprints(numFingerprints: Int): Flow<Boolean> = flow {
-    emit(numFingerprints < enrollableFingerprints)
-  }
-
-  override val maxEnrollableFingerprints: Flow<Int> = flow { emit(enrollableFingerprints) }
-
-  override suspend fun removeFingerprint(fp: FingerprintViewModel): Boolean {
-    return enrolledFingerprintsInternal.remove(fp)
-  }
-
-  override suspend fun renameFingerprint(fp: FingerprintViewModel, newName: String) {}
-
-  override suspend fun hasSideFps(): Boolean {
-    return sensorProps.any { it.isAnySidefpsType }
-  }
-
-  override suspend fun pressToAuthEnabled(): Boolean {
-    return pressToAuthEnabled
-  }
-
-  override suspend fun sensorPropertiesInternal(): List<FingerprintSensorPropertiesInternal> =
-    sensorProps
-}
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 7af740a..2b4bff7 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
@@ -18,8 +18,8 @@
 
 import android.content.Context
 import android.content.Intent
-import android.content.res.Resources
 import android.hardware.fingerprint.Fingerprint
+import android.hardware.fingerprint.FingerprintEnrollOptions
 import android.hardware.fingerprint.FingerprintManager
 import android.hardware.fingerprint.FingerprintManager.CryptoObject
 import android.hardware.fingerprint.FingerprintManager.FINGERPRINT_ERROR_LOCKOUT_PERMANENT
@@ -27,13 +27,23 @@
 import android.os.Handler
 import androidx.test.core.app.ApplicationProvider
 import com.android.settings.biometrics.GatekeeperPasswordProvider
-import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractor
+import com.android.settings.biometrics.fingerprint2.data.repository.FingerprintSensorRepository
+import com.android.settings.biometrics.fingerprint2.domain.interactor.PressToAuthInteractor
 import com.android.settings.biometrics.fingerprint2.domain.interactor.FingerprintManagerInteractorImpl
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
+import com.android.settings.biometrics.fingerprint2.lib.domain.interactor.FingerprintManagerInteractor
+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.password.ChooseLockSettingsHelper
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
 import com.google.common.truth.Truth.assertThat
 import kotlinx.coroutines.cancelAndJoin
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.flowOf
 import kotlinx.coroutines.flow.last
 import kotlinx.coroutines.launch
 import kotlinx.coroutines.test.StandardTestDispatcher
@@ -51,8 +61,11 @@
 import org.mockito.ArgumentMatchers.nullable
 import org.mockito.Mock
 import org.mockito.Mockito
+import org.mockito.Mockito.verify
+import org.mockito.Mockito.`when`
 import org.mockito.junit.MockitoJUnit
 import org.mockito.junit.MockitoJUnitRunner
+import org.mockito.stubbing.OngoingStubbing
 
 @RunWith(MockitoJUnitRunner::class)
 class FingerprintManagerInteractorTest {
@@ -65,25 +78,36 @@
   @Mock private lateinit var gateKeeperPasswordProvider: GatekeeperPasswordProvider
 
   private var testScope = TestScope(backgroundDispatcher)
-  private var pressToAuthProvider = { true }
+  private var pressToAuthInteractor =
+    object : PressToAuthInteractor {
+      override val isEnabled = flowOf(false)
+    }
 
   @Before
   fun setup() {
+    val sensor = FingerprintSensor(1, SensorStrength.STRONG, 5, FingerprintSensorType.POWER_BUTTON)
+    val fingerprintSensorRepository =
+      object : FingerprintSensorRepository {
+        override val fingerprintSensor: Flow<FingerprintSensor> = flowOf(sensor)
+      }
+
     underTest =
       FingerprintManagerInteractorImpl(
         context,
         backgroundDispatcher,
         fingerprintManager,
+        fingerprintSensorRepository,
         gateKeeperPasswordProvider,
-        pressToAuthProvider,
+        pressToAuthInteractor,
+        Default,
+        Intent(),
       )
   }
 
   @Test
   fun testEmptyFingerprints() =
     testScope.runTest {
-      Mockito.`when`(fingerprintManager.getEnrolledFingerprints(Mockito.anyInt()))
-        .thenReturn(emptyList())
+      whenever(fingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(emptyList())
 
       val emptyFingerprintList: List<Fingerprint> = emptyList()
       assertThat(underTest.enrolledFingerprints.last()).isEqualTo(emptyFingerprintList)
@@ -94,8 +118,7 @@
     testScope.runTest {
       val expected = Fingerprint("Finger 1,", 2, 3L)
       val fingerprintList: List<Fingerprint> = listOf(expected)
-      Mockito.`when`(fingerprintManager.getEnrolledFingerprints(Mockito.anyInt()))
-        .thenReturn(fingerprintList)
+      whenever(fingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(fingerprintList)
 
       val list = underTest.enrolledFingerprints.last()
       assertThat(list.size).isEqualTo(fingerprintList.size)
@@ -108,21 +131,22 @@
   @Test
   fun testCanEnrollFingerprint() =
     testScope.runTest {
-      val mockContext = Mockito.mock(Context::class.java)
-      val resources = Mockito.mock(Resources::class.java)
-      Mockito.`when`(mockContext.resources).thenReturn(resources)
-      Mockito.`when`(resources.getInteger(anyInt())).thenReturn(3)
-      underTest =
-        FingerprintManagerInteractorImpl(
-          mockContext,
-          backgroundDispatcher,
-          fingerprintManager,
-          gateKeeperPasswordProvider,
-          pressToAuthProvider,
+      val fingerprintList1: List<Fingerprint> =
+        listOf(
+          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)
 
-      assertThat(underTest.canEnrollFingerprints(2).last()).isTrue()
-      assertThat(underTest.canEnrollFingerprints(3).last()).isFalse()
+      assertThat(underTest.canEnrollFingerprints.last()).isTrue()
+      assertThat(underTest.canEnrollFingerprints.last()).isFalse()
     }
 
   @Test
@@ -132,7 +156,7 @@
       val challenge = 100L
       val intent = Intent()
       intent.putExtra(ChooseLockSettingsHelper.EXTRA_KEY_GK_PW_HANDLE, challenge)
-      Mockito.`when`(
+      whenever(
           gateKeeperPasswordProvider.requestGatekeeperHat(
             any(Intent::class.java),
             anyLong(),
@@ -142,14 +166,13 @@
         .thenReturn(byteArray)
 
       val generateChallengeCallback: ArgumentCaptor<FingerprintManager.GenerateChallengeCallback> =
-        ArgumentCaptor.forClass(FingerprintManager.GenerateChallengeCallback::class.java)
+        argumentCaptor()
 
       var result: Pair<Long, ByteArray?>? = null
       val job = testScope.launch { result = underTest.generateChallenge(1L) }
       runCurrent()
 
-      Mockito.verify(fingerprintManager)
-        .generateChallenge(anyInt(), capture(generateChallengeCallback))
+      verify(fingerprintManager).generateChallenge(anyInt(), capture(generateChallengeCallback))
       generateChallengeCallback.value.onChallengeGenerated(1, 2, challenge)
 
       runCurrent()
@@ -162,18 +185,17 @@
   @Test
   fun testRemoveFingerprint_succeeds() =
     testScope.runTest {
-      val fingerprintViewModelToRemove = FingerprintViewModel("Finger 2", 1, 2L)
+      val fingerprintViewModelToRemove = FingerprintData("Finger 2", 1, 2L)
       val fingerprintToRemove = Fingerprint("Finger 2", 1, 2L)
 
-      val removalCallback: ArgumentCaptor<FingerprintManager.RemovalCallback> =
-        ArgumentCaptor.forClass(FingerprintManager.RemovalCallback::class.java)
+      val removalCallback: ArgumentCaptor<FingerprintManager.RemovalCallback> = argumentCaptor()
 
       var result: Boolean? = null
       val job =
         testScope.launch { result = underTest.removeFingerprint(fingerprintViewModelToRemove) }
       runCurrent()
 
-      Mockito.verify(fingerprintManager)
+      verify(fingerprintManager)
         .remove(any(Fingerprint::class.java), anyInt(), capture(removalCallback))
       removalCallback.value.onRemovalSucceeded(fingerprintToRemove, 1)
 
@@ -186,18 +208,17 @@
   @Test
   fun testRemoveFingerprint_fails() =
     testScope.runTest {
-      val fingerprintViewModelToRemove = FingerprintViewModel("Finger 2", 1, 2L)
+      val fingerprintViewModelToRemove = FingerprintData("Finger 2", 1, 2L)
       val fingerprintToRemove = Fingerprint("Finger 2", 1, 2L)
 
-      val removalCallback: ArgumentCaptor<FingerprintManager.RemovalCallback> =
-        ArgumentCaptor.forClass(FingerprintManager.RemovalCallback::class.java)
+      val removalCallback: ArgumentCaptor<FingerprintManager.RemovalCallback> = argumentCaptor()
 
       var result: Boolean? = null
       val job =
         testScope.launch { result = underTest.removeFingerprint(fingerprintViewModelToRemove) }
       runCurrent()
 
-      Mockito.verify(fingerprintManager)
+      verify(fingerprintManager)
         .remove(any(Fingerprint::class.java), anyInt(), capture(removalCallback))
       removalCallback.value.onRemovalError(
         fingerprintToRemove,
@@ -214,12 +235,11 @@
   @Test
   fun testRenameFingerprint_succeeds() =
     testScope.runTest {
-      val fingerprintToRename = FingerprintViewModel("Finger 2", 1, 2L)
+      val fingerprintToRename = FingerprintData("Finger 2", 1, 2L)
 
       underTest.renameFingerprint(fingerprintToRename, "Woo")
 
-      Mockito.verify(fingerprintManager)
-        .rename(eq(fingerprintToRename.fingerId), anyInt(), safeEq("Woo"))
+      verify(fingerprintManager).rename(eq(fingerprintToRename.fingerId), anyInt(), safeEq("Woo"))
     }
 
   @Test
@@ -227,15 +247,14 @@
     testScope.runTest {
       val fingerprint = Fingerprint("Woooo", 100, 101L)
 
-      var result: FingerprintAuthAttemptViewModel? = null
+      var result: FingerprintAuthAttemptModel? = null
       val job = launch { result = underTest.authenticate() }
 
-      val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> =
-        ArgumentCaptor.forClass(FingerprintManager.AuthenticationCallback::class.java)
+      val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> = argumentCaptor()
 
       runCurrent()
 
-      Mockito.verify(fingerprintManager)
+      verify(fingerprintManager)
         .authenticate(
           nullable(CryptoObject::class.java),
           any(CancellationSignal::class.java),
@@ -249,21 +268,20 @@
 
       runCurrent()
       job.cancelAndJoin()
-      assertThat(result).isEqualTo(FingerprintAuthAttemptViewModel.Success(fingerprint.biometricId))
+      assertThat(result).isEqualTo(FingerprintAuthAttemptModel.Success(fingerprint.biometricId))
     }
 
   @Test
   fun testAuth_lockout() =
     testScope.runTest {
-      var result: FingerprintAuthAttemptViewModel? = null
+      var result: FingerprintAuthAttemptModel? = null
       val job = launch { result = underTest.authenticate() }
 
-      val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> =
-        ArgumentCaptor.forClass(FingerprintManager.AuthenticationCallback::class.java)
+      val authCallback: ArgumentCaptor<FingerprintManager.AuthenticationCallback> = argumentCaptor()
 
       runCurrent()
 
-      Mockito.verify(fingerprintManager)
+      verify(fingerprintManager)
         .authenticate(
           nullable(CryptoObject::class.java),
           any(CancellationSignal::class.java),
@@ -277,11 +295,92 @@
       job.cancelAndJoin()
       assertThat(result)
         .isEqualTo(
-          FingerprintAuthAttemptViewModel.Error(FINGERPRINT_ERROR_LOCKOUT_PERMANENT, "Lockout!!")
+          FingerprintAuthAttemptModel.Error(FINGERPRINT_ERROR_LOCKOUT_PERMANENT, "Lockout!!")
         )
     }
 
+  @Test
+  fun testEnroll_progress() =
+    testScope.runTest {
+      val token = byteArrayOf(5, 3, 2)
+      var result: FingerEnrollState? = null
+      val job = launch { underTest.enroll(token, EnrollReason.FindSensor).collect { result = it } }
+      val enrollCallback: ArgumentCaptor<FingerprintManager.EnrollmentCallback> = argumentCaptor()
+      runCurrent()
+
+      verify(fingerprintManager)
+        .enroll(
+          eq(token),
+          any(CancellationSignal::class.java),
+          anyInt(),
+          capture(enrollCallback),
+          eq(FingerprintManager.ENROLL_FIND_SENSOR),
+          any(FingerprintEnrollOptions::class.java),
+        )
+      enrollCallback.value.onEnrollmentProgress(1)
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result).isEqualTo(FingerEnrollState.EnrollProgress(1, 2))
+    }
+
+  @Test
+  fun testEnroll_help() =
+    testScope.runTest {
+      val token = byteArrayOf(5, 3, 2)
+      var result: FingerEnrollState? = null
+      val job = launch { underTest.enroll(token, EnrollReason.FindSensor).collect { result = it } }
+      val enrollCallback: ArgumentCaptor<FingerprintManager.EnrollmentCallback> = argumentCaptor()
+      runCurrent()
+
+      verify(fingerprintManager)
+        .enroll(
+          eq(token),
+          any(CancellationSignal::class.java),
+          anyInt(),
+          capture(enrollCallback),
+          eq(FingerprintManager.ENROLL_FIND_SENSOR),
+          any(FingerprintEnrollOptions::class.java),
+        )
+      enrollCallback.value.onEnrollmentHelp(-1, "help")
+      runCurrent()
+      job.cancelAndJoin()
+
+      assertThat(result).isEqualTo(FingerEnrollState.EnrollHelp(-1, "help"))
+    }
+
+  @Test
+  fun testEnroll_error() =
+    testScope.runTest {
+      val token = byteArrayOf(5, 3, 2)
+      var result: FingerEnrollState? = null
+      val job = launch { underTest.enroll(token, EnrollReason.FindSensor).collect { result = it } }
+      val enrollCallback: ArgumentCaptor<FingerprintManager.EnrollmentCallback> = argumentCaptor()
+      runCurrent()
+
+      verify(fingerprintManager)
+        .enroll(
+          eq(token),
+          any(CancellationSignal::class.java),
+          anyInt(),
+          capture(enrollCallback),
+          eq(FingerprintManager.ENROLL_FIND_SENSOR),
+          any(FingerprintEnrollOptions::class.java),
+        )
+      enrollCallback.value.onEnrollmentError(-1, "error")
+      runCurrent()
+      job.cancelAndJoin()
+      assertThat(result).isInstanceOf(FingerEnrollState.EnrollError::class.java)
+    }
+
   private fun <T : Any> safeEq(value: T): T = eq(value) ?: value
+
   private fun <T> capture(argumentCaptor: ArgumentCaptor<T>): T = argumentCaptor.capture()
+
   private fun <T> any(type: Class<T>): T = Mockito.any<T>(type)
+
+  private fun <T> whenever(methodCall: T): OngoingStubbing<T> = `when`(methodCall)
+
+  inline fun <reified T : Any> argumentCaptor(): ArgumentCaptor<T> =
+    ArgumentCaptor.forClass(T::class.java)
 }
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
new file mode 100644
index 0000000..829716e
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/enrollment/viewmodel/FingerprintEnrollFindSensorViewModelV2Test.kt
@@ -0,0 +1,268 @@
+/*
+ * 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.fingerprint2.enrollment.viewmodel
+
+import android.content.Context
+import android.content.res.Configuration
+import android.view.Surface
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import androidx.test.core.app.ApplicationProvider
+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.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollFindSensorViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintFlowViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.Flow
+import kotlinx.coroutines.flow.MutableStateFlow
+import kotlinx.coroutines.flow.asStateFlow
+import kotlinx.coroutines.flow.flowOf
+import kotlinx.coroutines.flow.update
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.advanceUntilIdle
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+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.MockitoJUnitRunner
+
+/** consistent with [ScreenSizeFoldProvider.INNER_SCREEN_SMALLEST_SCREEN_WIDTH_THRESHOLD_DP] */
+private const val INNER_SCREEN_SMALLEST_SCREEN_WIDTH_THRESHOLD_DP = 600
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintEnrollFindSensorViewModelV2Test {
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
+  private lateinit var gatekeeperViewModel: FingerprintGatekeeperViewModel
+  private lateinit var enrollViewModel: FingerprintEnrollViewModel
+  private lateinit var navigationViewModel: FingerprintNavigationViewModel
+  private lateinit var accessibilityInteractor: AccessibilityInteractor
+  private lateinit var foldStateInteractor: FoldStateInteractor
+  private lateinit var orientationInteractor: OrientationInteractor
+  private lateinit var underTest: FingerprintEnrollFindSensorViewModel
+  private lateinit var backgroundViewModel: BackgroundViewModel
+  private val context: Context = ApplicationProvider.getApplicationContext()
+  private val foldState = MutableStateFlow(false)
+
+  @Before
+  fun setup() {
+    backgroundDispatcher = StandardTestDispatcher()
+    testScope = TestScope(backgroundDispatcher)
+    Dispatchers.setMain(backgroundDispatcher)
+
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    gatekeeperViewModel =
+      FingerprintGatekeeperViewModel.FingerprintGatekeeperViewModelFactory(
+          null,
+          fakeFingerprintManagerInteractor,
+        )
+        .create(FingerprintGatekeeperViewModel::class.java)
+
+    val sensor = FingerprintSensor(1, SensorStrength.STRONG, 5, FingerprintSensorType.POWER_BUTTON)
+    val fingerprintFlowViewModel = FingerprintFlowViewModel(Default)
+    navigationViewModel =
+      FingerprintNavigationViewModel(
+        FingerprintNavigationStep.Education(sensor),
+        false,
+        fingerprintFlowViewModel,
+        fakeFingerprintManagerInteractor,
+      )
+
+    backgroundViewModel =
+      BackgroundViewModel.BackgroundViewModelFactory().create(BackgroundViewModel::class.java)
+    backgroundViewModel.inForeground()
+    enrollViewModel =
+      FingerprintEnrollViewModel.FingerprintEnrollViewModelFactory(
+          fakeFingerprintManagerInteractor,
+          gatekeeperViewModel,
+          navigationViewModel,
+        )
+        .create(FingerprintEnrollViewModel::class.java)
+    accessibilityInteractor =
+      object : AccessibilityInteractor {
+        override val isAccessibilityEnabled: Flow<Boolean> = flowOf(false)
+      }
+    foldStateInteractor =
+      object : FoldStateInteractor {
+        override val isFolded: Flow<Boolean> = foldState.asStateFlow()
+
+        override fun onConfigurationChange(newConfig: Configuration) {
+          foldState.update { false }
+        }
+      }
+
+    orientationInteractor =
+      object : OrientationInteractor {
+        override val orientation: Flow<Int> = flowOf(Configuration.ORIENTATION_LANDSCAPE)
+        override val rotation: Flow<Int> = flowOf(Surface.ROTATION_0)
+        override fun getRotationFromDefault(rotation: Int): Int = rotation
+      }
+    underTest =
+      FingerprintEnrollFindSensorViewModel.FingerprintEnrollFindSensorViewModelFactory(
+          navigationViewModel,
+          enrollViewModel,
+          gatekeeperViewModel,
+          backgroundViewModel,
+          accessibilityInteractor,
+          foldStateInteractor,
+          orientationInteractor,
+          fingerprintFlowViewModel,
+          fakeFingerprintManagerInteractor,
+        )
+        .create(FingerprintEnrollFindSensorViewModel::class.java)
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  // TODO(b/305094585): test enroll() logic
+
+  @Test
+  fun udfpsLottieInfo() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(
+          0 /* sensorId */,
+          SensorStrength.STRONG,
+          5,
+          FingerprintSensorType.UDFPS_OPTICAL,
+        )
+
+      var udfpsLottieInfo: Boolean? = null
+      val job = launch { underTest.udfpsLottieInfo.collect { udfpsLottieInfo = it } }
+
+      advanceUntilIdle()
+      assertThat(udfpsLottieInfo).isNotNull()
+      job.cancel()
+    }
+
+  @Test
+  fun sfpsLottieInfoWhenFolded() =
+    testScope.runTest {
+      var isFolded = false
+      var rotation: Int = -1
+      val job = launch {
+        underTest.sfpsLottieInfo.collect {
+          isFolded = it.first
+          rotation = it.second
+        }
+      }
+
+      foldState.update { true }
+
+      advanceUntilIdle()
+      assertThat(isFolded).isTrue()
+      assertThat(rotation).isEqualTo(context.display!!.rotation)
+      job.cancel()
+    }
+
+  @Test
+  fun sfpsLottieInfoWhenUnFolded() =
+    testScope.runTest {
+      var isFolded = false
+      var rotation: Int = -1
+      val job = launch {
+        underTest.sfpsLottieInfo.collect {
+          isFolded = it.first
+          rotation = it.second
+        }
+      }
+
+      foldState.update { false }
+
+      advanceUntilIdle()
+      assertThat(isFolded).isFalse()
+      assertThat(rotation).isEqualTo(context.display!!.rotation)
+      job.cancel()
+    }
+
+  @Test
+  fun rfpsAnimation() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(0 /* sensorId */, SensorStrength.STRONG, 5, FingerprintSensorType.REAR)
+
+      var showRfpsAnimation: Boolean? = null
+      val job = launch { underTest.showRfpsAnimation.collect { showRfpsAnimation = it } }
+
+      advanceUntilIdle()
+      assertThat(showRfpsAnimation).isTrue()
+      job.cancel()
+    }
+
+  @Test
+  fun showPrimaryButton_ifUdfps() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(
+          0 /* sensorId */,
+          SensorStrength.STRONG,
+          5,
+          FingerprintSensorType.UDFPS_OPTICAL,
+        )
+
+      var showPrimaryButton: Boolean? = null
+      val job = launch { underTest.showPrimaryButton.collect { showPrimaryButton = it } }
+
+      advanceUntilIdle()
+      assertThat(showPrimaryButton).isTrue()
+      job.cancel()
+    }
+
+  @Test
+  fun doesNotShowPrimaryButton_ifNonUdfps() =
+    testScope.runTest {
+      var showPrimaryButton: Boolean? = null
+      val job = launch { underTest.showPrimaryButton.collect { showPrimaryButton = it } }
+
+      advanceUntilIdle()
+      assertThat(showPrimaryButton).isNull()
+      job.cancel()
+    }
+
+  private fun createConfiguration(isFolded: Boolean): Configuration {
+    val config = Configuration()
+    config.smallestScreenWidthDp =
+      if (isFolded) INNER_SCREEN_SMALLEST_SCREEN_WIDTH_THRESHOLD_DP - 1
+      else INNER_SCREEN_SMALLEST_SCREEN_WIDTH_THRESHOLD_DP + 1
+    return config
+  }
+}
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
new file mode 100644
index 0000000..46e883a
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/modules/enrolling/rfps/viewmodel/RFPSIconTouchViewModelTest.kt
@@ -0,0 +1,142 @@
+/*
+ * 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.fingerprint2.ui.enrollment.modules.enrolling.rfps.viewmodel
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.modules.enrolling.rfps.ui.viewmodel.RFPSIconTouchViewModel
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+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.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class RFPSIconTouchViewModelTest {
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  private lateinit var rfpsIconTouchViewModel: RFPSIconTouchViewModel
+
+  @Before
+  fun setup() {
+    Dispatchers.setMain(backgroundDispatcher)
+    testScope = TestScope(backgroundDispatcher)
+    rfpsIconTouchViewModel =
+      RFPSIconTouchViewModel()
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  @Test
+  fun initShouldNotShowDialog() =
+    testScope.runTest {
+      var shouldShowDialog = false
+
+      val job = launch { rfpsIconTouchViewModel.shouldShowDialog.collect { shouldShowDialog = it } }
+
+      runCurrent()
+
+      assertThat(shouldShowDialog).isFalse()
+      job.cancel()
+    }
+
+  @Test
+  fun shouldShowDialogTest() =
+    testScope.runTest {
+      var shouldShowDialog = false
+
+      val job = launch { rfpsIconTouchViewModel.shouldShowDialog.collect { shouldShowDialog = it } }
+
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+
+      runCurrent()
+
+      assertThat(shouldShowDialog).isTrue()
+      job.cancel()
+    }
+
+  @Test
+  fun stateShouldBeFalseAfterReset() =
+    testScope.runTest {
+      var shouldShowDialog = false
+
+      val job = launch { rfpsIconTouchViewModel.shouldShowDialog.collect { shouldShowDialog = it } }
+
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+
+      runCurrent()
+
+      assertThat(shouldShowDialog).isTrue()
+
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      runCurrent()
+
+      assertThat(shouldShowDialog).isFalse()
+
+      job.cancel()
+    }
+
+  @Test
+  fun toggleMultipleTimes() =
+    testScope.runTest {
+      var shouldShowDialog = false
+
+      val job = launch { rfpsIconTouchViewModel.shouldShowDialog.collect { shouldShowDialog = it } }
+
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+
+      runCurrent()
+
+      assertThat(shouldShowDialog).isTrue()
+
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      runCurrent()
+
+      assertThat(shouldShowDialog).isFalse()
+
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+      rfpsIconTouchViewModel.userTouchedFingerprintIcon()
+
+      runCurrent()
+      assertThat(shouldShowDialog).isTrue()
+
+      job.cancel()
+    }
+}
diff --git a/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModelTest.kt
new file mode 100644
index 0000000..696e4fa
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollConfirmationViewModelTest.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.fingerprint2.ui.enrollment.viewmodel
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.lib.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollConfirmationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintFlowViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.advanceUntilIdle
+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.junit.MockitoJUnit
+import org.mockito.junit.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintEnrollConfirmationViewModelTest {
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  val fingerprintFlowViewModel = FingerprintFlowViewModel(Default)
+  val fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+  lateinit var navigationViewModel: FingerprintNavigationViewModel
+  lateinit var underTest: FingerprintEnrollConfirmationViewModel
+
+  @Before
+  fun setup() {
+    navigationViewModel =
+      FingerprintNavigationViewModel(
+        FingerprintNavigationStep.Confirmation,
+        false,
+        fingerprintFlowViewModel,
+        fakeFingerprintManagerInteractor,
+      )
+    underTest =
+      FingerprintEnrollConfirmationViewModel(navigationViewModel, fakeFingerprintManagerInteractor)
+  }
+
+  @Test
+  fun testCanEnrollFingerprints() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(0 /* sensorId */, SensorStrength.STRONG, 5, FingerprintSensorType.REAR)
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+      fakeFingerprintManagerInteractor.enrollableFingerprints = 5
+
+      var canEnrollFingerprints: Boolean = false
+      val job = launch { underTest.isAddAnotherButtonVisible.collect { canEnrollFingerprints = it } }
+
+      advanceUntilIdle()
+      assertThat(canEnrollFingerprints).isTrue()
+      job.cancel()
+    }
+
+  @Test
+  fun testNextButtonSendsNextStep() =
+    testScope.runTest {
+      var step: FingerprintNavigationStep.UiStep? = null
+      val job = launch { navigationViewModel.navigateTo.collect { step = it } }
+
+      underTest.onNextButtonClicked()
+
+      runCurrent()
+
+      assertThat(step).isNull()
+      job.cancel()
+    }
+
+  @Test
+  fun testAddAnotherSendsAction() =
+    testScope.runTest {
+      var step: FingerprintNavigationStep.UiStep? = null
+      val job = launch { navigationViewModel.navigateTo.collect { step = it } }
+
+      underTest.onAddAnotherButtonClicked()
+
+      runCurrent()
+
+      assertThat(step).isInstanceOf(FingerprintNavigationStep.Enrollment::class.java)
+      job.cancel()
+    }
+}
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
new file mode 100644
index 0000000..4678da1
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/enrollment/viewmodel/FingerprintEnrollEnrollingViewModelTest.kt
@@ -0,0 +1,157 @@
+/*
+ * 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.fingerprint2.ui.enrollment.viewmodel
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.lib.model.Default
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.BackgroundViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollEnrollingViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintEnrollViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintFlowViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintGatekeeperViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationStep.Enrollment
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.FingerprintNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.GatekeeperInfo
+import com.android.settings.biometrics.fingerprint2.ui.enrollment.viewmodel.NavigationState
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+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.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintEnrollEnrollingViewModelTest {
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private lateinit var enrollEnrollingViewModel: FingerprintEnrollEnrollingViewModel
+  private lateinit var backgroundViewModel: BackgroundViewModel
+  private lateinit var gateKeeperViewModel: FingerprintGatekeeperViewModel
+  private lateinit var navigationViewModel: FingerprintNavigationViewModel
+  private val defaultGatekeeperInfo = GatekeeperInfo.GatekeeperPasswordInfo(byteArrayOf(1, 3), 3)
+  private var testScope = TestScope(backgroundDispatcher)
+
+  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
+
+  private fun initialize(gatekeeperInfo: GatekeeperInfo = defaultGatekeeperInfo) {
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    gateKeeperViewModel =
+      FingerprintGatekeeperViewModel.FingerprintGatekeeperViewModelFactory(
+          gatekeeperInfo,
+          fakeFingerprintManagerInteractor,
+        )
+        .create(FingerprintGatekeeperViewModel::class.java)
+    val sensor = FingerprintSensor(1, SensorStrength.STRONG, 5, FingerprintSensorType.POWER_BUTTON)
+    val fingerprintFlowViewModel = FingerprintFlowViewModel(Default)
+
+    navigationViewModel =
+      FingerprintNavigationViewModel(
+        Enrollment(sensor),
+        false,
+        fingerprintFlowViewModel,
+        fakeFingerprintManagerInteractor,
+      )
+
+    backgroundViewModel =
+      BackgroundViewModel.BackgroundViewModelFactory().create(BackgroundViewModel::class.java)
+    backgroundViewModel.inForeground()
+    val fingerprintEnrollViewModel =
+      FingerprintEnrollViewModel.FingerprintEnrollViewModelFactory(
+          fakeFingerprintManagerInteractor,
+          gateKeeperViewModel,
+          navigationViewModel,
+        )
+        .create(FingerprintEnrollViewModel::class.java)
+    enrollEnrollingViewModel =
+      FingerprintEnrollEnrollingViewModel.FingerprintEnrollEnrollingViewModelFactory(
+          fingerprintEnrollViewModel,
+          backgroundViewModel,
+        )
+        .create(FingerprintEnrollEnrollingViewModel::class.java)
+  }
+
+  @Before
+  fun setup() {
+    Dispatchers.setMain(backgroundDispatcher)
+    initialize()
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  @Test
+  fun testEnrollShouldBeFalse() =
+    testScope.runTest {
+      var shouldEnroll = false
+
+      val job = launch {
+        enrollEnrollingViewModel.enrollFlowShouldBeRunning.collect { shouldEnroll = it }
+      }
+
+      assertThat(shouldEnroll).isFalse()
+      runCurrent()
+
+      enrollEnrollingViewModel.canEnroll()
+      runCurrent()
+
+      assertThat(shouldEnroll).isTrue()
+      job.cancel()
+    }
+
+  @Test
+  fun testEnrollShouldBeFalseWhenBackground() =
+    testScope.runTest {
+      var shouldEnroll = false
+
+      val job = launch {
+        enrollEnrollingViewModel.enrollFlowShouldBeRunning.collect { shouldEnroll = it }
+      }
+
+      assertThat(shouldEnroll).isFalse()
+      runCurrent()
+
+      enrollEnrollingViewModel.canEnroll()
+      runCurrent()
+
+      assertThat(shouldEnroll).isTrue()
+
+      backgroundViewModel.wentToBackground()
+      runCurrent()
+      assertThat(shouldEnroll).isFalse()
+
+      job.cancel()
+    }
+}
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
new file mode 100644
index 0000000..201fffa
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsNavigationViewModelTest.kt
@@ -0,0 +1,353 @@
+/*
+ * 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.fingerprint2.ui.settings
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.BiometricEnrollBase
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.EnrollFirstFingerprint
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettings
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FinishSettingsWithResult
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.LaunchConfirmDeviceCredential
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.NextStepViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.ShowSettings
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+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.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintSettingsNavigationViewModelTest {
+
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private lateinit var underTest: FingerprintSettingsNavigationViewModel
+  private val defaultUserId = 0
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
+
+  @Before
+  fun setup() {
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    backgroundDispatcher = StandardTestDispatcher()
+    testScope = TestScope(backgroundDispatcher)
+    Dispatchers.setMain(backgroundDispatcher)
+
+    underTest =
+      FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          null,
+          null,
+        )
+        .create(FingerprintSettingsNavigationViewModel::class.java)
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  @Test
+  fun testNoGateKeeper_launchesConfirmDeviceCredential() =
+    testScope.runTest {
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      runCurrent()
+      assertThat(nextStep).isEqualTo(LaunchConfirmDeviceCredential(defaultUserId))
+      job.cancel()
+    }
+
+  @Test
+  fun testConfirmDevice_fails() =
+    testScope.runTest {
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(false, null)
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun confirmDeviceSuccess_noGateKeeper() =
+    testScope.runTest {
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, null)
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun confirmDeviceSuccess_launchesEnrollment_ifNoPreviousEnrollments() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(EnrollFirstFingerprint(defaultUserId, 10L, null, null))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollment_failsWithReason() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val failStr = "We failed!!"
+      val failReason = 101
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirstFailure(failStr, failReason)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(FinishSettingsWithResult(failReason, failStr))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollmentSucceeds_noToken() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirst(null, null)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(FinishSettings("Error, empty token"))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollmentSucceeds_noKeyChallenge() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val byteArray = ByteArray(1) { 3 }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirst(byteArray, null)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(FinishSettings("Error, empty keyChallenge"))
+      job.cancel()
+    }
+
+  @Test
+  fun firstEnrollment_succeeds() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = testScope.launch { underTest.nextStep.collect { nextStep = it } }
+
+      val byteArray = ByteArray(1) { 3 }
+      val keyChallenge = 89L
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollFirst(byteArray, keyChallenge)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(ShowSettings)
+      job.cancel()
+    }
+
+  @Test
+  fun enrollAdditionalFingerprints_fails() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+      fakeFingerprintManagerInteractor.challengeToGenerate = Pair(4L, byteArrayOf(3, 3, 1))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      runCurrent()
+      underTest.onEnrollAdditionalFailure()
+      runCurrent()
+
+      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
+      job.cancel()
+    }
+
+  @Test
+  fun enrollAdditional_success() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      underTest.onEnrollSuccess()
+
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(ShowSettings)
+      job.cancel()
+    }
+
+  @Test
+  fun confirmDeviceCredential_withEnrolledFingerprint_showsSettings() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+      fakeFingerprintManagerInteractor.challengeToGenerate = Pair(10L, byteArrayOf(1, 2, 3))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      underTest.onConfirmDevice(true, 10L)
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(ShowSettings)
+      job.cancel()
+    }
+
+  @Test
+  fun enrollWithToken_andNoUsers_startsFingerprintEnrollment() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val token = byteArrayOf(1)
+      val challenge = 5L
+
+      underTest =
+        FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            token,
+            challenge,
+          )
+          .create(FingerprintSettingsNavigationViewModel::class.java)
+
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(EnrollFirstFingerprint(defaultUserId, null, challenge, token))
+      job.cancel()
+    }
+
+  @Test
+  fun enroll_shouldNotFinish() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val token = byteArrayOf(1)
+      val challenge = 5L
+
+      underTest =
+        FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            token,
+            challenge,
+          )
+          .create(FingerprintSettingsNavigationViewModel::class.java)
+
+      runCurrent()
+
+      assertThat(nextStep).isEqualTo(EnrollFirstFingerprint(defaultUserId, null, challenge, token))
+      underTest.maybeFinishActivity(false)
+
+      runCurrent()
+      assertThat(nextStep).isEqualTo(EnrollFirstFingerprint(defaultUserId, null, challenge, token))
+      job.cancel()
+    }
+
+  @Test
+  fun showSettings_shouldFinish() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+
+      var nextStep: NextStepViewModel? = null
+      val job = launch { underTest.nextStep.collect { nextStep = it } }
+
+      val token = byteArrayOf(1)
+      val challenge = 5L
+
+      underTest =
+        FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            token,
+            challenge,
+          )
+          .create(FingerprintSettingsNavigationViewModel::class.java)
+
+      runCurrent()
+      assertThat(nextStep).isEqualTo(ShowSettings)
+
+      underTest.maybeFinishActivity(false)
+
+      runCurrent()
+      assertThat(nextStep)
+        .isEqualTo(
+          FinishSettingsWithResult(BiometricEnrollBase.RESULT_TIMEOUT, "onStop finishing settings")
+        )
+      job.cancel()
+    }
+}
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
new file mode 100644
index 0000000..6577c95
--- /dev/null
+++ b/tests/unit/src/com/android/settings/fingerprint2/ui/settings/FingerprintSettingsViewModelTest.kt
@@ -0,0 +1,398 @@
+/*
+ * 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.fingerprint2.ui.settings
+
+import androidx.arch.core.executor.testing.InstantTaskExecutorRule
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintAuthAttemptModel
+import com.android.settings.biometrics.fingerprint2.lib.model.FingerprintData
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsNavigationViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.FingerprintSettingsViewModel
+import com.android.settings.biometrics.fingerprint2.ui.settings.viewmodel.PreferenceViewModel
+import com.android.settings.testutils2.FakeFingerprintManagerInteractor
+import com.android.systemui.biometrics.shared.model.FingerprintSensor
+import com.android.systemui.biometrics.shared.model.FingerprintSensorType
+import com.android.systemui.biometrics.shared.model.SensorStrength
+import com.google.common.truth.Truth.assertThat
+import kotlinx.coroutines.Dispatchers
+import kotlinx.coroutines.flow.collectLatest
+import kotlinx.coroutines.flow.take
+import kotlinx.coroutines.launch
+import kotlinx.coroutines.test.StandardTestDispatcher
+import kotlinx.coroutines.test.TestScope
+import kotlinx.coroutines.test.advanceTimeBy
+import kotlinx.coroutines.test.resetMain
+import kotlinx.coroutines.test.runCurrent
+import kotlinx.coroutines.test.runTest
+import kotlinx.coroutines.test.setMain
+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.MockitoJUnitRunner
+
+@RunWith(MockitoJUnitRunner::class)
+class FingerprintSettingsViewModelTest {
+
+  @JvmField @Rule var rule = MockitoJUnit.rule()
+
+  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
+
+  private lateinit var underTest: FingerprintSettingsViewModel
+  private lateinit var navigationViewModel: FingerprintSettingsNavigationViewModel
+  private val defaultUserId = 0
+  private var backgroundDispatcher = StandardTestDispatcher()
+  private var testScope = TestScope(backgroundDispatcher)
+  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
+
+  @Before
+  fun setup() {
+    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
+    backgroundDispatcher = StandardTestDispatcher()
+    testScope = TestScope(backgroundDispatcher)
+    Dispatchers.setMain(backgroundDispatcher)
+
+    navigationViewModel =
+      FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          null,
+          null,
+        )
+        .create(FingerprintSettingsNavigationViewModel::class.java)
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+  }
+
+  @After
+  fun tearDown() {
+    Dispatchers.resetMain()
+  }
+
+  @Test
+  fun authenticate_DoesNotRun_ifOptical() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(
+          0 /* sensorId */,
+          SensorStrength.STRONG,
+          5 /* maxEnrollmentsPerUser */,
+          FingerprintSensorType.UDFPS_OPTICAL,
+        )
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+
+      underTest =
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            navigationViewModel,
+          )
+          .create(FingerprintSettingsViewModel::class.java)
+
+      var authAttempt: FingerprintAuthAttemptModel? = null
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+
+      underTest.shouldAuthenticate(true)
+      // Ensure we are showing settings
+      navigationViewModel.onConfirmDevice(true, 10L)
+
+      runCurrent()
+      advanceTimeBy(400)
+
+      assertThat(authAttempt).isNull()
+      job.cancel()
+    }
+
+  @Test
+  fun authenticate_DoesNotRun_ifUltrasonic() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(
+          0 /* sensorId */,
+          SensorStrength.STRONG,
+          5 /* maxEnrollmentsPerUser */,
+          FingerprintSensorType.UDFPS_ULTRASONIC,
+        )
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+
+      underTest =
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            navigationViewModel,
+          )
+          .create(FingerprintSettingsViewModel::class.java)
+
+      var authAttempt: FingerprintAuthAttemptModel? = null
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+      advanceTimeBy(400)
+      runCurrent()
+
+      assertThat(authAttempt).isNull()
+      job.cancel()
+    }
+
+  @Test
+  fun authenticate_DoesRun_ifNotUdfps() =
+    testScope.runTest {
+      fakeFingerprintManagerInteractor.sensorProp =
+        FingerprintSensor(
+          0 /* sensorId */,
+          SensorStrength.STRONG,
+          5 /* maxEnrollmentsPerUser */,
+          FingerprintSensorType.POWER_BUTTON
+        )
+      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+        mutableListOf(FingerprintData("a", 1, 3L))
+      val success = FingerprintAuthAttemptModel.Success(1)
+      fakeFingerprintManagerInteractor.authenticateAttempt = success
+
+      underTest =
+        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+            defaultUserId,
+            fakeFingerprintManagerInteractor,
+            backgroundDispatcher,
+            navigationViewModel,
+          )
+          .create(FingerprintSettingsViewModel::class.java)
+
+      var authAttempt: FingerprintAuthAttemptModel? = null
+
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+      advanceTimeBy(400)
+      runCurrent()
+
+      assertThat(authAttempt).isEqualTo(success)
+      job.cancel()
+    }
+
+  @Test
+  fun deleteDialog_showAndDismiss() = runTest {
+    val fingerprintToDelete = FingerprintData("A", 1, 10L)
+    fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+      mutableListOf(fingerprintToDelete)
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+
+    var dialog: PreferenceViewModel? = null
+    val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
+
+    // Move to the ShowSettings state
+    navigationViewModel.onConfirmDevice(true, 10L)
+    runCurrent()
+    underTest.onDeleteClicked(fingerprintToDelete)
+    runCurrent()
+
+    assertThat(dialog is PreferenceViewModel.DeleteDialog)
+    assertThat(dialog).isEqualTo(PreferenceViewModel.DeleteDialog(fingerprintToDelete))
+
+    underTest.deleteFingerprint(fingerprintToDelete)
+    underTest.onDeleteDialogFinished()
+    runCurrent()
+
+    assertThat(dialog).isNull()
+
+    dialogJob.cancel()
+  }
+
+  @Test
+  fun renameDialog_showAndDismiss() = runTest {
+    val fingerprintToRename = FingerprintData("World", 1, 10L)
+    fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+      mutableListOf(fingerprintToRename)
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+
+    var dialog: PreferenceViewModel? = null
+    val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
+
+    // Move to the ShowSettings state
+    navigationViewModel.onConfirmDevice(true, 10L)
+    runCurrent()
+    underTest.onPrefClicked(fingerprintToRename)
+    runCurrent()
+
+    assertThat(dialog is PreferenceViewModel.DeleteDialog)
+    assertThat(dialog).isEqualTo(PreferenceViewModel.RenameDialog(fingerprintToRename))
+
+    underTest.renameFingerprint(fingerprintToRename, "Hello")
+    underTest.onRenameDialogFinished()
+    runCurrent()
+
+    assertThat(dialog).isNull()
+    assertThat(fakeFingerprintManagerInteractor.enrolledFingerprintsInternal.first().name)
+      .isEqualTo("Hello")
+
+    dialogJob.cancel()
+  }
+
+  @Test
+  fun testTwoDialogsCannotShow_atSameTime() = runTest {
+    val fingerprintToDelete = FingerprintData("A", 1, 10L)
+    fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
+      mutableListOf(fingerprintToDelete)
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+
+    var dialog: PreferenceViewModel? = null
+    val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
+
+    // Move to the ShowSettings state
+    navigationViewModel.onConfirmDevice(true, 10L)
+    runCurrent()
+    underTest.onDeleteClicked(fingerprintToDelete)
+    runCurrent()
+
+    assertThat(dialog is PreferenceViewModel.DeleteDialog)
+    assertThat(dialog).isEqualTo(PreferenceViewModel.DeleteDialog(fingerprintToDelete))
+
+    underTest.onPrefClicked(fingerprintToDelete)
+    runCurrent()
+    assertThat(dialog is PreferenceViewModel.DeleteDialog)
+    assertThat(dialog).isEqualTo(PreferenceViewModel.DeleteDialog(fingerprintToDelete))
+
+    dialogJob.cancel()
+  }
+
+  @Test
+  fun authenticatePauses_whenPaused() =
+    testScope.runTest {
+      val fingerprints = setupAuth()
+      val success = FingerprintAuthAttemptModel.Success(fingerprints.first().fingerId)
+
+      var authAttempt: FingerprintAuthAttemptModel? = null
+
+      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
+
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+
+      advanceTimeBy(400)
+      runCurrent()
+      assertThat(authAttempt).isEqualTo(success)
+
+      fakeFingerprintManagerInteractor.authenticateAttempt =
+        FingerprintAuthAttemptModel.Success(10)
+      underTest.shouldAuthenticate(false)
+      advanceTimeBy(400)
+      runCurrent()
+
+      // The most recent auth attempt shouldn't have changed.
+      assertThat(authAttempt).isEqualTo(success)
+      job.cancel()
+    }
+
+  @Test
+  fun dialog_pausesAuth() =
+    testScope.runTest {
+      val fingerprints = setupAuth()
+
+      var authAttempt: FingerprintAuthAttemptModel? = null
+      val job = launch { underTest.authFlow.take(1).collectLatest { authAttempt = it } }
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+
+      underTest.onPrefClicked(fingerprints[0])
+      advanceTimeBy(400)
+
+      job.cancel()
+      assertThat(authAttempt).isEqualTo(null)
+    }
+
+  @Test
+  fun cannotAuth_when_notShowingSettings() =
+    testScope.runTest {
+      val fingerprints = setupAuth()
+
+      var authAttempt: FingerprintAuthAttemptModel? = null
+      val job = launch { underTest.authFlow.take(1).collectLatest { authAttempt = it } }
+      underTest.shouldAuthenticate(true)
+      navigationViewModel.onConfirmDevice(true, 10L)
+
+      // This should cause the state to change to FingerprintEnrolling
+      navigationViewModel.onAddFingerprintClicked()
+      advanceTimeBy(400)
+
+      job.cancel()
+      assertThat(authAttempt).isEqualTo(null)
+    }
+
+  private fun setupAuth(): MutableList<FingerprintData> {
+    fakeFingerprintManagerInteractor.sensorProp =
+      FingerprintSensor(
+        0 /* sensorId */,
+        SensorStrength.STRONG,
+        5 /* maxEnrollmentsPerUser */,
+        FingerprintSensorType.POWER_BUTTON
+      )
+    val fingerprints =
+      mutableListOf(FingerprintData("a", 1, 3L), FingerprintData("b", 2, 5L))
+    fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = fingerprints
+    val success = FingerprintAuthAttemptModel.Success(1)
+    fakeFingerprintManagerInteractor.authenticateAttempt = success
+
+    underTest =
+      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
+          defaultUserId,
+          fakeFingerprintManagerInteractor,
+          backgroundDispatcher,
+          navigationViewModel,
+        )
+        .create(FingerprintSettingsViewModel::class.java)
+
+    return fingerprints
+  }
+}
diff --git a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt
deleted file mode 100644
index 4e1f6b1..0000000
--- a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsNavigationViewModelTest.kt
+++ /dev/null
@@ -1,275 +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.fingerprint2.viewmodel
-
-import androidx.arch.core.executor.testing.InstantTaskExecutorRule
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.EnrollFirstFingerprint
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettings
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FinishSettingsWithResult
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.LaunchConfirmDeviceCredential
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.NextStepViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.ShowSettings
-import com.android.settings.fingerprint2.domain.interactor.FakeFingerprintManagerInteractor
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.StandardTestDispatcher
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.resetMain
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
-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.MockitoJUnitRunner
-
-@RunWith(MockitoJUnitRunner::class)
-class FingerprintSettingsNavigationViewModelTest {
-
-  @JvmField @Rule var rule = MockitoJUnit.rule()
-
-  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
-
-  private lateinit var underTest: FingerprintSettingsNavigationViewModel
-  private val defaultUserId = 0
-  private var backgroundDispatcher = StandardTestDispatcher()
-  private var testScope = TestScope(backgroundDispatcher)
-  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
-
-  @Before
-  fun setup() {
-    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
-    backgroundDispatcher = StandardTestDispatcher()
-    testScope = TestScope(backgroundDispatcher)
-    Dispatchers.setMain(backgroundDispatcher)
-
-    underTest =
-      FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          null,
-          null,
-        )
-        .create(FingerprintSettingsNavigationViewModel::class.java)
-  }
-
-  @After
-  fun tearDown() {
-    Dispatchers.resetMain()
-  }
-
-  @Test
-  fun testNoGateKeeper_launchesConfirmDeviceCredential() =
-    testScope.runTest {
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      runCurrent()
-      assertThat(nextStep).isEqualTo(LaunchConfirmDeviceCredential(defaultUserId))
-      job.cancel()
-    }
-
-  @Test
-  fun testConfirmDevice_fails() =
-    testScope.runTest {
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(false, null)
-      runCurrent()
-
-      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
-      job.cancel()
-    }
-
-  @Test
-  fun confirmDeviceSuccess_noGateKeeper() =
-    testScope.runTest {
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, null)
-      runCurrent()
-
-      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
-      job.cancel()
-    }
-
-  @Test
-  fun confirmDeviceSuccess_launchesEnrollment_ifNoPreviousEnrollments() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, 10L)
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(EnrollFirstFingerprint(defaultUserId, 10L, null, null))
-      job.cancel()
-    }
-
-  @Test
-  fun firstEnrollment_fails() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, 10L)
-      underTest.onEnrollFirstFailure("We failed!!")
-      runCurrent()
-
-      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
-      job.cancel()
-    }
-
-  @Test
-  fun firstEnrollment_failsWithReason() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      val failStr = "We failed!!"
-      val failReason = 101
-
-      underTest.onConfirmDevice(true, 10L)
-      underTest.onEnrollFirstFailure(failStr, failReason)
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(FinishSettingsWithResult(failReason, failStr))
-      job.cancel()
-    }
-
-  @Test
-  fun firstEnrollmentSucceeds_noToken() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, 10L)
-      underTest.onEnrollFirst(null, null)
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(FinishSettings("Error, empty token"))
-      job.cancel()
-    }
-
-  @Test
-  fun firstEnrollmentSucceeds_noKeyChallenge() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      val byteArray = ByteArray(1) { 3 }
-
-      underTest.onConfirmDevice(true, 10L)
-      underTest.onEnrollFirst(byteArray, null)
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(FinishSettings("Error, empty keyChallenge"))
-      job.cancel()
-    }
-
-  @Test
-  fun firstEnrollment_succeeds() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf()
-
-      var nextStep: NextStepViewModel? = null
-      val job = testScope.launch { underTest.nextStep.collect { nextStep = it } }
-
-      val byteArray = ByteArray(1) { 3 }
-      val keyChallenge = 89L
-
-      underTest.onConfirmDevice(true, 10L)
-      underTest.onEnrollFirst(byteArray, keyChallenge)
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(ShowSettings)
-      job.cancel()
-    }
-
-  @Test
-  fun enrollAdditionalFingerprints_fails() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
-        mutableListOf(FingerprintViewModel("a", 1, 3L))
-      fakeFingerprintManagerInteractor.challengeToGenerate = Pair(4L, byteArrayOf(3, 3, 1))
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, 10L)
-      runCurrent()
-      underTest.onEnrollAdditionalFailure()
-      runCurrent()
-
-      assertThat(nextStep).isInstanceOf(FinishSettings::class.java)
-      job.cancel()
-    }
-
-  @Test
-  fun enrollAdditional_success() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
-        mutableListOf(FingerprintViewModel("a", 1, 3L))
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, 10L)
-      underTest.onEnrollSuccess()
-
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(ShowSettings)
-      job.cancel()
-    }
-
-  @Test
-  fun confirmDeviceCredential_withEnrolledFingerprint_showsSettings() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
-        mutableListOf(FingerprintViewModel("a", 1, 3L))
-      fakeFingerprintManagerInteractor.challengeToGenerate = Pair(10L, byteArrayOf(1, 2, 3))
-
-      var nextStep: NextStepViewModel? = null
-      val job = launch { underTest.nextStep.collect { nextStep = it } }
-
-      underTest.onConfirmDevice(true, 10L)
-      runCurrent()
-
-      assertThat(nextStep).isEqualTo(ShowSettings)
-      job.cancel()
-    }
-}
diff --git a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt b/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt
deleted file mode 100644
index d430827..0000000
--- a/tests/unit/src/com/android/settings/fingerprint2/viewmodel/FingerprintSettingsViewModelTest.kt
+++ /dev/null
@@ -1,247 +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.fingerprint2.viewmodel
-
-import android.hardware.biometrics.SensorProperties
-import android.hardware.fingerprint.FingerprintSensorProperties
-import android.hardware.fingerprint.FingerprintSensorPropertiesInternal
-import androidx.arch.core.executor.testing.InstantTaskExecutorRule
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintAuthAttemptViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsNavigationViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintSettingsViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.FingerprintViewModel
-import com.android.settings.biometrics.fingerprint2.ui.viewmodel.PreferenceViewModel
-import com.android.settings.fingerprint2.domain.interactor.FakeFingerprintManagerInteractor
-import com.google.common.truth.Truth.assertThat
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.flow.take
-import kotlinx.coroutines.launch
-import kotlinx.coroutines.test.StandardTestDispatcher
-import kotlinx.coroutines.test.TestScope
-import kotlinx.coroutines.test.advanceTimeBy
-import kotlinx.coroutines.test.resetMain
-import kotlinx.coroutines.test.runCurrent
-import kotlinx.coroutines.test.runTest
-import kotlinx.coroutines.test.setMain
-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.MockitoJUnitRunner
-
-@RunWith(MockitoJUnitRunner::class)
-class FingerprintSettingsViewModelTest {
-
-  @JvmField @Rule var rule = MockitoJUnit.rule()
-
-  @get:Rule val instantTaskRule = InstantTaskExecutorRule()
-
-  private lateinit var underTest: FingerprintSettingsViewModel
-  private lateinit var navigationViewModel: FingerprintSettingsNavigationViewModel
-  private val defaultUserId = 0
-  private var backgroundDispatcher = StandardTestDispatcher()
-  private var testScope = TestScope(backgroundDispatcher)
-  private lateinit var fakeFingerprintManagerInteractor: FakeFingerprintManagerInteractor
-
-  @Before
-  fun setup() {
-    fakeFingerprintManagerInteractor = FakeFingerprintManagerInteractor()
-    backgroundDispatcher = StandardTestDispatcher()
-    testScope = TestScope(backgroundDispatcher)
-    Dispatchers.setMain(backgroundDispatcher)
-
-    navigationViewModel =
-      FingerprintSettingsNavigationViewModel.FingerprintSettingsNavigationModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          null,
-          null,
-        )
-        .create(FingerprintSettingsNavigationViewModel::class.java)
-
-    underTest =
-      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-        .create(FingerprintSettingsViewModel::class.java)
-  }
-
-  @After
-  fun tearDown() {
-    Dispatchers.resetMain()
-  }
-
-  @Test
-  fun authenticate_DoesNotRun_ifOptical() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.sensorProps =
-        listOf(
-          FingerprintSensorPropertiesInternal(
-            0 /* sensorId */,
-            SensorProperties.STRENGTH_STRONG,
-            5 /* maxEnrollmentsPerUser */,
-            emptyList() /* ComponentInfoInternal */,
-            FingerprintSensorProperties.TYPE_UDFPS_OPTICAL,
-            true /* resetLockoutRequiresHardwareAuthToken */
-          )
-        )
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
-        mutableListOf(FingerprintViewModel("a", 1, 3L))
-
-      underTest =
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-            defaultUserId,
-            fakeFingerprintManagerInteractor,
-            backgroundDispatcher,
-            navigationViewModel,
-          )
-          .create(FingerprintSettingsViewModel::class.java)
-
-      var authAttempt: FingerprintAuthAttemptViewModel? = null
-      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
-
-      underTest.shouldAuthenticate(true)
-      // Ensure we are showing settings
-      navigationViewModel.onConfirmDevice(true, 10L)
-
-      runCurrent()
-      advanceTimeBy(400)
-
-      assertThat(authAttempt).isNull()
-      job.cancel()
-    }
-
-  @Test
-  fun authenticate_DoesNotRun_ifUltrasonic() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.sensorProps =
-        listOf(
-          FingerprintSensorPropertiesInternal(
-            0 /* sensorId */,
-            SensorProperties.STRENGTH_STRONG,
-            5 /* maxEnrollmentsPerUser */,
-            emptyList() /* ComponentInfoInternal */,
-            FingerprintSensorProperties.TYPE_UDFPS_ULTRASONIC,
-            true /* resetLockoutRequiresHardwareAuthToken */
-          )
-        )
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
-        mutableListOf(FingerprintViewModel("a", 1, 3L))
-
-      underTest =
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-            defaultUserId,
-            fakeFingerprintManagerInteractor,
-            backgroundDispatcher,
-            navigationViewModel,
-          )
-          .create(FingerprintSettingsViewModel::class.java)
-
-      var authAttempt: FingerprintAuthAttemptViewModel? = null
-      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
-
-      underTest.shouldAuthenticate(true)
-      navigationViewModel.onConfirmDevice(true, 10L)
-      advanceTimeBy(400)
-      runCurrent()
-
-      assertThat(authAttempt).isNull()
-      job.cancel()
-    }
-
-  @Test
-  fun authenticate_DoesRun_ifNotUdfps() =
-    testScope.runTest {
-      fakeFingerprintManagerInteractor.sensorProps =
-        listOf(
-          FingerprintSensorPropertiesInternal(
-            0 /* sensorId */,
-            SensorProperties.STRENGTH_STRONG,
-            5 /* maxEnrollmentsPerUser */,
-            emptyList() /* ComponentInfoInternal */,
-            FingerprintSensorProperties.TYPE_POWER_BUTTON,
-            true /* resetLockoutRequiresHardwareAuthToken */
-          )
-        )
-      fakeFingerprintManagerInteractor.enrolledFingerprintsInternal =
-        mutableListOf(FingerprintViewModel("a", 1, 3L))
-      val success = FingerprintAuthAttemptViewModel.Success(1)
-      fakeFingerprintManagerInteractor.authenticateAttempt = success
-
-      underTest =
-        FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-            defaultUserId,
-            fakeFingerprintManagerInteractor,
-            backgroundDispatcher,
-            navigationViewModel,
-          )
-          .create(FingerprintSettingsViewModel::class.java)
-
-      var authAttempt: FingerprintAuthAttemptViewModel? = null
-
-      val job = launch { underTest.authFlow.take(5).collectLatest { authAttempt = it } }
-      underTest.shouldAuthenticate(true)
-      navigationViewModel.onConfirmDevice(true, 10L)
-      advanceTimeBy(400)
-      runCurrent()
-
-      assertThat(authAttempt).isEqualTo(success)
-      job.cancel()
-    }
-
-  @Test
-  fun deleteDialog_showAndDismiss() = runTest {
-    val fingerprintToDelete = FingerprintViewModel("A", 1, 10L)
-    fakeFingerprintManagerInteractor.enrolledFingerprintsInternal = mutableListOf(fingerprintToDelete)
-
-    underTest =
-      FingerprintSettingsViewModel.FingerprintSettingsViewModelFactory(
-          defaultUserId,
-          fakeFingerprintManagerInteractor,
-          backgroundDispatcher,
-          navigationViewModel,
-        )
-        .create(FingerprintSettingsViewModel::class.java)
-
-    var dialog: PreferenceViewModel? = null
-    val dialogJob = launch { underTest.isShowingDialog.collect { dialog = it } }
-
-    // Move to the ShowSettings state
-    navigationViewModel.onConfirmDevice(true, 10L)
-    runCurrent()
-    underTest.onDeleteClicked(fingerprintToDelete)
-    runCurrent()
-
-    assertThat(dialog is PreferenceViewModel.DeleteDialog)
-    assertThat(dialog).isEqualTo(PreferenceViewModel.DeleteDialog(fingerprintToDelete))
-
-    underTest.deleteFingerprint(fingerprintToDelete)
-    underTest.onDeleteDialogFinished()
-    runCurrent()
-
-    assertThat(dialog).isNull()
-
-    dialogJob.cancel()
-  }
-}
diff --git a/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java b/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java
index 31b8e79..5ac367e 100644
--- a/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/localepicker/LocaleHelperPreferenceControllerTest.java
@@ -19,12 +19,14 @@
 import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.verify;
 
+import android.app.settings.SettingsEnums;
 import android.content.Context;
 import android.os.Looper;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.testutils.FakeFeatureFactory;
 import com.android.settingslib.widget.FooterPreference;
 
 import org.junit.Before;
@@ -37,6 +39,7 @@
 public class LocaleHelperPreferenceControllerTest {
     private Context mContext;
     private LocaleHelperPreferenceController mLocaleHelperPreferenceController;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Mock
     private FooterPreference mMockFooterPreference;
@@ -49,11 +52,16 @@
         }
         mContext = ApplicationProvider.getApplicationContext();
         mLocaleHelperPreferenceController = new LocaleHelperPreferenceController(mContext);
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
     }
 
     @Test
     public void updateFooterPreference_setFooterPreference_hasClickAction() {
         mLocaleHelperPreferenceController.updateFooterPreference(mMockFooterPreference);
         verify(mMockFooterPreference).setLearnMoreText(anyString());
+        mMockFooterPreference.setLearnMoreAction(v -> {
+            verify(mFeatureFactory.metricsFeatureProvider).action(
+                    mContext, SettingsEnums.ACTION_LANGUAGES_LEARN_MORE);
+        });
     }
 }
diff --git a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java
new file mode 100644
index 0000000..e316b25
--- /dev/null
+++ b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressCategoryControllerTest.java
@@ -0,0 +1,84 @@
+/*
+ * 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.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;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Locale;
+
+@RunWith(AndroidJUnit4.class)
+public class TermsOfAddressCategoryControllerTest {
+
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
+
+    private Context mContext;
+    private TermsOfAddressCategoryController mTermsOfAddressCategoryController;
+    private Locale mCacheLocale;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mTermsOfAddressCategoryController = new TermsOfAddressCategoryController(mContext,
+                KEY_CATEGORY_TERMS_OF_ADDRESS);
+        mCacheLocale = Locale.getDefault(Locale.Category.FORMAT);
+    }
+
+    @After
+    public void tearDown() throws Exception {
+        Locale.setDefault(mCacheLocale);
+    }
+
+    @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"));
+
+        assertThat(mTermsOfAddressCategoryController.getAvailabilityStatus()).isEqualTo(
+                AVAILABLE);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressFeminineControllerTest.java b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressFeminineControllerTest.java
new file mode 100644
index 0000000..c04e5f9
--- /dev/null
+++ b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressFeminineControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.localepicker;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.os.Looper;
+
+import com.android.settings.widget.TickButtonPreference;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class TermsOfAddressFeminineControllerTest {
+
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
+    private static final String KEY_FEMININE = "key_terms_of_address_feminine";
+    private static final String KEY_MASCULINE = "key_terms_of_address_masculine";
+    private static final String KEY_NEUTRAL = "key_terms_of_address_neutral";
+    private static final String KEY_NOT_SPECIFIED = "key_terms_of_address_not_specified";
+
+    private Context mContext;
+    private PreferenceManager mPreferenceManager;
+    private PreferenceCategory mPreferenceCategory;
+    private PreferenceScreen mPreferenceScreen;
+    private TermsOfAddressFeminineController mController;
+    private TickButtonPreference mFemininePreference;
+    private TickButtonPreference mMasculinePreference;
+    private TickButtonPreference mNotSpecifiedPreference;
+    private TickButtonPreference mNeutralPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mPreferenceCategory = new PreferenceCategory(mContext);
+        mPreferenceCategory.setKey(KEY_CATEGORY_TERMS_OF_ADDRESS);
+        mNotSpecifiedPreference = new TickButtonPreference(mContext);
+        mNotSpecifiedPreference.setKey(KEY_NOT_SPECIFIED);
+        mFemininePreference = new TickButtonPreference(mContext);
+        mFemininePreference.setKey(KEY_FEMININE);
+        mMasculinePreference = new TickButtonPreference(mContext);
+        mMasculinePreference.setKey(KEY_MASCULINE);
+        mNeutralPreference = new TickButtonPreference(mContext);
+        mNeutralPreference.setKey(KEY_NEUTRAL);
+        mPreferenceScreen.addPreference(mPreferenceCategory);
+        mPreferenceScreen.addPreference(mNotSpecifiedPreference);
+        mPreferenceScreen.addPreference(mFemininePreference);
+        mPreferenceScreen.addPreference(mMasculinePreference);
+        mPreferenceScreen.addPreference(mNeutralPreference);
+        mController = new TermsOfAddressFeminineController(mContext, KEY_FEMININE);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void displayPreference_setGrammaticalGenderIsFeminine_FeminineIsSelected() {
+        TickButtonPreference selectedPreference =
+                (TickButtonPreference) mPreferenceScreen.getPreference(2);
+        TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(1);
+
+        selectedPreference.performClick();
+
+        assertThat(selectedPreference.getKey()).isEqualTo(KEY_FEMININE);
+        assertThat(selectedPreference.isSelected()).isTrue();
+        assertThat(pref.isSelected()).isFalse();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressMasculineControllerTest.java b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressMasculineControllerTest.java
new file mode 100644
index 0000000..c2298be
--- /dev/null
+++ b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressMasculineControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.localepicker;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.os.Looper;
+
+import com.android.settings.widget.TickButtonPreference;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class TermsOfAddressMasculineControllerTest {
+
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
+    private static final String KEY_FEMININE = "key_terms_of_address_feminine";
+    private static final String KEY_MASCULINE = "key_terms_of_address_masculine";
+    private static final String KEY_NEUTRAL = "key_terms_of_address_neutral";
+    private static final String KEY_NOT_SPECIFIED = "key_terms_of_address_not_specified";
+
+    private Context mContext;
+    private PreferenceManager mPreferenceManager;
+    private PreferenceCategory mPreferenceCategory;
+    private PreferenceScreen mPreferenceScreen;
+    private TermsOfAddressMasculineController mController;
+    private TickButtonPreference mFemininePreference;
+    private TickButtonPreference mMasculinePreference;
+    private TickButtonPreference mNotSpecifiedPreference;
+    private TickButtonPreference mNeutralPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mPreferenceCategory = new PreferenceCategory(mContext);
+        mPreferenceCategory.setKey(KEY_CATEGORY_TERMS_OF_ADDRESS);
+        mNotSpecifiedPreference = new TickButtonPreference(mContext);
+        mNotSpecifiedPreference.setKey(KEY_NOT_SPECIFIED);
+        mFemininePreference = new TickButtonPreference(mContext);
+        mFemininePreference.setKey(KEY_FEMININE);
+        mMasculinePreference = new TickButtonPreference(mContext);
+        mMasculinePreference.setKey(KEY_MASCULINE);
+        mNeutralPreference = new TickButtonPreference(mContext);
+        mNeutralPreference.setKey(KEY_NEUTRAL);
+        mPreferenceScreen.addPreference(mPreferenceCategory);
+        mPreferenceScreen.addPreference(mNotSpecifiedPreference);
+        mPreferenceScreen.addPreference(mFemininePreference);
+        mPreferenceScreen.addPreference(mMasculinePreference);
+        mPreferenceScreen.addPreference(mNeutralPreference);
+        mController = new TermsOfAddressMasculineController(mContext, KEY_MASCULINE);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void displayPreference_setGrammaticalGenderIsMasculine_MasculineIsSelected() {
+        TickButtonPreference selectedPreference =
+                (TickButtonPreference) mPreferenceScreen.getPreference(3);
+        TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(1);
+
+        selectedPreference.performClick();
+
+        assertThat(selectedPreference.getKey()).isEqualTo(KEY_MASCULINE);
+        assertThat(selectedPreference.isSelected()).isTrue();
+        assertThat(pref.isSelected()).isFalse();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressNeutralControllerTest.java b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressNeutralControllerTest.java
new file mode 100644
index 0000000..fb207fc
--- /dev/null
+++ b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressNeutralControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.localepicker;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.os.Looper;
+
+import com.android.settings.widget.TickButtonPreference;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class TermsOfAddressNeutralControllerTest {
+
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
+    private static final String KEY_FEMININE = "key_terms_of_address_feminine";
+    private static final String KEY_MASCULINE = "key_terms_of_address_masculine";
+    private static final String KEY_NEUTRAL = "key_terms_of_address_neutral";
+    private static final String KEY_NOT_SPECIFIED = "key_terms_of_address_not_specified";
+
+    private Context mContext;
+    private PreferenceManager mPreferenceManager;
+    private PreferenceCategory mPreferenceCategory;
+    private PreferenceScreen mPreferenceScreen;
+    private TermsOfAddressNeutralController mController;
+    private TickButtonPreference mFemininePreference;
+    private TickButtonPreference mMasculinePreference;
+    private TickButtonPreference mNotSpecifiedPreference;
+    private TickButtonPreference mNeutralPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mPreferenceCategory = new PreferenceCategory(mContext);
+        mPreferenceCategory.setKey(KEY_CATEGORY_TERMS_OF_ADDRESS);
+        mNotSpecifiedPreference = new TickButtonPreference(mContext);
+        mNotSpecifiedPreference.setKey(KEY_NOT_SPECIFIED);
+        mFemininePreference = new TickButtonPreference(mContext);
+        mFemininePreference.setKey(KEY_FEMININE);
+        mMasculinePreference = new TickButtonPreference(mContext);
+        mMasculinePreference.setKey(KEY_MASCULINE);
+        mNeutralPreference = new TickButtonPreference(mContext);
+        mNeutralPreference.setKey(KEY_NEUTRAL);
+        mPreferenceScreen.addPreference(mPreferenceCategory);
+        mPreferenceScreen.addPreference(mNotSpecifiedPreference);
+        mPreferenceScreen.addPreference(mFemininePreference);
+        mPreferenceScreen.addPreference(mMasculinePreference);
+        mPreferenceScreen.addPreference(mNeutralPreference);
+        mController = new TermsOfAddressNeutralController(mContext, KEY_NEUTRAL);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void displayPreference_setGrammaticalGenderIsNotSpecified_NotSpecifiedIsSelected() {
+        TickButtonPreference selectedPreference =
+                (TickButtonPreference) mPreferenceScreen.getPreference(4);
+        TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(1);
+
+        selectedPreference.performClick();
+
+        assertThat(selectedPreference.getKey()).isEqualTo(KEY_NEUTRAL);
+        assertThat(selectedPreference.isSelected()).isTrue();
+        assertThat(pref.isSelected()).isFalse();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/localepicker/TermsOfAddressNotSpecifiedControllerTest.java b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressNotSpecifiedControllerTest.java
new file mode 100644
index 0000000..8492c3b
--- /dev/null
+++ b/tests/unit/src/com/android/settings/localepicker/TermsOfAddressNotSpecifiedControllerTest.java
@@ -0,0 +1,104 @@
+/*
+ * 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.localepicker;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.os.Looper;
+
+import com.android.settings.widget.TickButtonPreference;
+
+import androidx.preference.PreferenceManager;
+import androidx.preference.Preference;
+import androidx.preference.PreferenceCategory;
+import androidx.preference.PreferenceScreen;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class TermsOfAddressNotSpecifiedControllerTest {
+
+    private static final String KEY_CATEGORY_TERMS_OF_ADDRESS = "key_category_terms_of_address";
+    private static final String KEY_FEMININE = "key_terms_of_address_feminine";
+    private static final String KEY_MASCULINE = "key_terms_of_address_masculine";
+    private static final String KEY_NEUTRAL = "key_terms_of_address_neutral";
+    private static final String KEY_NOT_SPECIFIED = "key_terms_of_address_not_specified";
+
+    private Context mContext;
+    private PreferenceManager mPreferenceManager;
+    private PreferenceCategory mPreferenceCategory;
+    private PreferenceScreen mPreferenceScreen;
+    private TermsOfAddressNotSpecifiedController mController;
+    private TickButtonPreference mFemininePreference;
+    private TickButtonPreference mMasculinePreference;
+    private TickButtonPreference mNotSpecifiedPreference;
+    private TickButtonPreference mNeutralPreference;
+
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+
+        if (Looper.myLooper() == null) {
+            Looper.prepare();
+        }
+
+        mPreferenceManager = new PreferenceManager(mContext);
+        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
+        mPreferenceCategory = new PreferenceCategory(mContext);
+        mPreferenceCategory.setKey(KEY_CATEGORY_TERMS_OF_ADDRESS);
+        mNotSpecifiedPreference = new TickButtonPreference(mContext);
+        mNotSpecifiedPreference.setKey(KEY_NOT_SPECIFIED);
+        mFemininePreference = new TickButtonPreference(mContext);
+        mFemininePreference.setKey(KEY_FEMININE);
+        mMasculinePreference = new TickButtonPreference(mContext);
+        mMasculinePreference.setKey(KEY_MASCULINE);
+        mNeutralPreference = new TickButtonPreference(mContext);
+        mNeutralPreference.setKey(KEY_NEUTRAL);
+        mPreferenceScreen.addPreference(mPreferenceCategory);
+        mPreferenceScreen.addPreference(mNotSpecifiedPreference);
+        mPreferenceScreen.addPreference(mFemininePreference);
+        mPreferenceScreen.addPreference(mMasculinePreference);
+        mPreferenceScreen.addPreference(mNeutralPreference);
+        mController = new TermsOfAddressNotSpecifiedController(mContext, KEY_NOT_SPECIFIED);
+        mController.displayPreference(mPreferenceScreen);
+    }
+
+    @Test
+    public void displayPreference_setGrammaticalGenderIsNotSpecified_NotSpecifiedIsSelected() {
+        TickButtonPreference selectedPreference =
+                (TickButtonPreference) mPreferenceScreen.getPreference(1);
+        TickButtonPreference pref = (TickButtonPreference) mPreferenceScreen.getPreference(2);
+
+        selectedPreference.performClick();
+
+        assertThat(selectedPreference.getKey()).isEqualTo(KEY_NOT_SPECIFIED);
+        assertThat(selectedPreference.isSelected()).isTrue();
+        assertThat(pref.isSelected()).isFalse();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/network/ActiveSubscriptionsListenerTest.java b/tests/unit/src/com/android/settings/network/ActiveSubscriptionsListenerTest.java
index 27bc40c..40649a9 100644
--- a/tests/unit/src/com/android/settings/network/ActiveSubscriptionsListenerTest.java
+++ b/tests/unit/src/com/android/settings/network/ActiveSubscriptionsListenerTest.java
@@ -77,6 +77,7 @@
 
         mContext = spy(ApplicationProvider.getApplicationContext());
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
+        doReturn(mSubscriptionManager).when(mSubscriptionManager).createForAllUserProfiles();
 
         mActiveSubscriptions = new ArrayList<SubscriptionInfo>();
         addMockSubscription(SUB_ID1);
diff --git a/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java b/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java
index c18477a..ba824d2 100644
--- a/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java
+++ b/tests/unit/src/com/android/settings/network/AllowedNetworkTypesListenerTest.java
@@ -28,7 +28,6 @@
 import android.telephony.RadioAccessFamily;
 import android.telephony.TelephonyCallback;
 import android.telephony.TelephonyManager;
-import android.test.mock.MockContentResolver;
 
 import androidx.test.annotation.UiThreadTest;
 import androidx.test.core.app.ApplicationProvider;
@@ -46,7 +45,6 @@
     private static final int SUB_ID = 1;
 
     private Context mContext;
-    private MockContentResolver mResolver;
     private AllowedNetworkTypesListener mAllowedNetworkTypesListener;
 
     @Mock
diff --git a/tests/unit/src/com/android/settings/network/EnabledNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/EnabledNetworkModePreferenceControllerTest.java
deleted file mode 100644
index 7f170b5..0000000
--- a/tests/unit/src/com/android/settings/network/EnabledNetworkModePreferenceControllerTest.java
+++ /dev/null
@@ -1,517 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.network.telephony;
-
-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;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.LTE;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.NR;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA;
-import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA;
-
-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;
-
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.ListPreference;
-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.network.CarrierConfigCache;
-import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-@RunWith(AndroidJUnit4.class)
-public class EnabledNetworkModePreferenceControllerTest {
-    private static final int SUB_ID = 2;
-    public static final String KEY = "enabled_network";
-
-    private static final long ALLOWED_ALL_NETWORK_TYPE = -1;
-    private static final long DISABLED_5G_NETWORK_TYPE = ~TelephonyManager.NETWORK_TYPE_BITMASK_NR;
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private TelephonyManager mInvalidTelephonyManager;
-    @Mock
-    private CarrierConfigCache mCarrierConfigCache;
-    @Mock
-    private ServiceState mServiceState;
-
-    private PersistableBundle mPersistableBundle;
-    private EnabledNetworkModePreferenceController mController;
-    private ListPreference mPreference;
-    private Context mContext;
-    private LifecycleOwner mLifecycleOwner;
-    private Lifecycle mLifecycle;
-
-    @UiThreadTest
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        mLifecycleOwner = () -> mLifecycle;
-        mLifecycle = new Lifecycle(mLifecycleOwner);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        CarrierConfigCache.setTestInstance(mContext, mCarrierConfigCache);
-        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
-        doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        doReturn(mServiceState).when(mTelephonyManager).getServiceState();
-        mPersistableBundle = new PersistableBundle();
-        doReturn(mPersistableBundle).when(mCarrierConfigCache).getConfig();
-        doReturn(mPersistableBundle).when(mCarrierConfigCache).getConfigForSubId(SUB_ID);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
-        mPreference = new ListPreference(mContext);
-        mController = new EnabledNetworkModePreferenceController(mContext, KEY);
-        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
-        mController.init(SUB_ID);
-        mPreference.setKey(mController.getPreferenceKey());
-    }
-
-    @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);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getEntryValues())
-                .asList()
-                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_5gWorldPhone_GlobalHasNr() {
-        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
-        mController.init(SUB_ID);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getEntryValues())
-                .asList()
-                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_selectedOn5gItem() {
-        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
-        mController.init(SUB_ID);
-
-        // NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = NR | LTE | RAF_TD_SCDMA | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA));
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(
-                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_disAllowed5g_5gOptionHidden() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
-        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
-        mController.init(SUB_ID);
-
-        // NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = NR | LTE | RAF_TD_SCDMA | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getEntryValues())
-                .asList()
-                .doesNotContain(
-                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_disAllowed5g_selectOn4gOption() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
-        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
-        mController.init(SUB_ID);
-
-        // NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = NR | LTE | RAF_TD_SCDMA | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(
-                        TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_NrEnableBoolFalse_5gOptionHidden() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
-        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
-
-        mController.init(SUB_ID);
-
-        // NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = LTE | CDMA | EVDO | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (LTE | CDMA | EVDO | GSM | WCDMA));
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(
-                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-        assertThat(mPreference.getEntryValues())
-                .asList()
-                .doesNotContain(
-                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_GlobalDisAllowed5g_GlobalWithoutNR() {
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
-        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
-        mController.init(SUB_ID);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
-
-        // NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = NR | LTE | CDMA | EVDO | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (NR | LTE | CDMA | EVDO | GSM | WCDMA));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getEntryValues())
-                .asList()
-                .doesNotContain(
-                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_GlobalDisAllowed5g_SelectOnGlobal() {
-        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
-        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
-        mController.init(SUB_ID);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
-
-        // NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = NR | LTE | CDMA | EVDO | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (NR | LTE | CDMA | EVDO | GSM | WCDMA));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(
-                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_updateByNetworkMode() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
-
-        // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (RAF_TD_SCDMA | GSM | WCDMA));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
-        assertThat(mPreference.getSummary()).isEqualTo("3G");
-    }
-
-    @UiThreadTest
-    @Test
-    public void updateState_updateByNetworkMode_useDefaultValue() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
-
-        // NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = LTE | CDMA | EVDO | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (LTE | CDMA | EVDO | GSM | WCDMA));
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void onPreferenceChange_updateSuccess() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
-        doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
-                getRafFromNetworkType(
-                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-
-        mController.updateState(mPreference);
-        mController.onPreferenceChange(mPreference,
-                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-
-        assertThat(mPreference.getValue()).isEqualTo(
-                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void onPreferenceChange_updateFail() {
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
-        doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
-                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
-
-        mController.updateState(mPreference);
-        mController.onPreferenceChange(mPreference,
-                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
-
-        assertThat(mPreference.getValue()).isNotEqualTo(
-                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
-    }
-
-    @UiThreadTest
-    @Test
-    public void preferredNetworkModeNotification_preferenceUpdates() {
-
-        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
-        PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
-        mPreference.setKey(KEY);
-        screen.addPreference(mPreference);
-        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
-
-        // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
-        when(mTelephonyManager.getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
-                (long) (RAF_TD_SCDMA | GSM | WCDMA));
-
-        mController.displayPreference(screen);
-        mController.updateState(mPreference);
-        mLifecycle.handleLifecycleEvent(ON_START);
-
-        assertThat(Integer.parseInt(mPreference.getValue())).isEqualTo(
-                TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
-        assertThat(mPreference.getSummary()).isEqualTo("3G");
-    }
-
-    @UiThreadTest
-    @Test
-    public void checkResource_stringArrayLength() {
-        int id = mController.getResourcesForSubId().getIdentifier("enabled_networks_cdma_values",
-                "array", mContext.getPackageName());
-        String[] entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(4, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_cdma_no_lte_values",
-                "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(2, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier(
-                "enabled_networks_cdma_only_lte_values", "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(2, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_tdscdma_values",
-                "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(3, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier(
-                "enabled_networks_except_gsm_lte_values", "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(1, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_except_gsm_values",
-                "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(2, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_except_lte_values",
-                "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(2, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_values", "array",
-                mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(3, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_values", "array",
-                mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(3, entryValues.length);
-
-        id = mController.getResourcesForSubId().getIdentifier(
-                "preferred_network_mode_values_world_mode", "array", mContext.getPackageName());
-        entryValues = mController.getResourcesForSubId().getStringArray(id);
-        assertEquals(3, entryValues.length);
-    }
-
-    private void mockEnabledNetworkMode(int networkMode) {
-        if (networkMode == TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA) {
-            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
-            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
-        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA
-                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
-            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
-            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
-            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
-        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) {
-            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
-            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
-        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA
-                || networkMode
-                == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA) {
-            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
-            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
-            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
-        }
-        mController.init(SUB_ID);
-    }
-
-    private void mockAllowedNetworkTypes(long allowedNetworkType) {
-        doReturn(allowedNetworkType).when(mTelephonyManager).getAllowedNetworkTypesForReason(
-                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER);
-    }
-
-    private void mockAccessFamily(int networkMode) {
-        doReturn(MobileNetworkUtils.getRafFromNetworkType(networkMode))
-                .when(mTelephonyManager)
-                .getSupportedRadioAccessFamily();
-    }
-
-    private void mockPhoneType(int phoneType) {
-        doReturn(phoneType).when(mTelephonyManager).getPhoneType();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
index 4e9339f..4ba12cb 100644
--- a/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/InternetPreferenceControllerTest.java
@@ -22,9 +22,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.Mockito.mock;
-import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -38,7 +36,6 @@
 import android.net.wifi.WifiManager;
 import android.os.Handler;
 import android.os.Looper;
-import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
@@ -53,13 +50,19 @@
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 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;
 
@@ -70,6 +73,7 @@
 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";
@@ -85,6 +89,8 @@
 
     @Rule
     public final MockitoRule mMockitoRule = MockitoJUnit.rule();
+    @Spy
+    private Context mContext = ApplicationProvider.getApplicationContext();
     @Mock
     private SubscriptionInfoEntity mActiveSubInfo;
     @Mock
@@ -93,10 +99,19 @@
     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 Context mContext;
     private MockInternetPreferenceController mController;
     private PreferenceScreen mScreen;
     private Preference mPreference;
@@ -104,13 +119,15 @@
 
     @Before
     public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
         when(mContext.getSystemService(ConnectivityManager.class)).thenReturn(mConnectivityManager);
         when(mContext.getSystemService(NetworkScoreManager.class))
                 .thenReturn(mock(NetworkScoreManager.class));
-        final WifiManager wifiManager = mock(WifiManager.class);
-        when(mContext.getSystemService(Context.WIFI_SERVICE)).thenReturn(wifiManager);
-        when(wifiManager.getWifiState()).thenReturn(WifiManager.WIFI_STATE_DISABLED);
+        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();
         }
@@ -119,6 +136,7 @@
         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);
@@ -200,6 +218,8 @@
 
     @Test
     public void onSummaryChanged_internetWifi_updateSummary() {
+        when(mSummaryHelper.getSummary()).thenReturn(TEST_SUMMARY);
+        mController.mSummaryHelper = mSummaryHelper;
         mController.onInternetTypeChanged(INTERNET_WIFI);
         mController.displayPreference(mScreen);
 
@@ -210,6 +230,8 @@
 
     @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);
@@ -252,4 +274,35 @@
         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/MobilePlanPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/MobilePlanPreferenceControllerTest.java
deleted file mode 100644
index 9b38e5b..0000000
--- a/tests/unit/src/com/android/settings/network/MobilePlanPreferenceControllerTest.java
+++ /dev/null
@@ -1,50 +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.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class MobilePlanPreferenceControllerTest {
-
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
-    }
-
-    @Test
-    public void testNoProvisionStringFormattedCorrectly() {
-        final String operator = "test_operator";
-
-        assertThat(
-                ResourcesUtils.getResourcesString(mContext, "mobile_no_provisioning_url", operator))
-                .contains(operator);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.java
deleted file mode 100644
index 51aecc5..0000000
--- a/tests/unit/src/com/android/settings/network/NetworkProviderCallsSmsControllerTest.java
+++ /dev/null
@@ -1,360 +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;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertTrue;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.text.TextUtils;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-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.testutils.ResourcesUtils;
-import com.android.settingslib.RestrictedPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.ArrayList;
-import java.util.List;
-
-
-@RunWith(AndroidJUnit4.class)
-public class NetworkProviderCallsSmsControllerTest {
-
-    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 KEY_PREFERENCE_CALLS_SMS = "calls_and_sms";
-    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;
-    @Mock
-    private SubscriptionInfoEntity mSubInfo2;
-    @Mock
-    private Lifecycle mLifecycle;
-    @Mock
-    private LifecycleOwner mLifecycleOwner;
-
-    private LifecycleRegistry mLifecycleRegistry;
-    private MockNetworkProviderCallsSmsController mController;
-    private PreferenceManager mPreferenceManager;
-    private PreferenceScreen mPreferenceScreen;
-    private RestrictedPreference mPreference;
-    private Context mContext;
-    private List<SubscriptionInfoEntity> mSubscriptionInfoEntityList = new ArrayList<>();
-
-    /**
-     * Mock the NetworkProviderCallsSmsController that allows one to set a default voice
-     * and SMS subscription ID.
-     */
-    private class MockNetworkProviderCallsSmsController extends
-            com.android.settings.network.NetworkProviderCallsSmsController {
-        public MockNetworkProviderCallsSmsController(Context context, Lifecycle lifecycle,
-                LifecycleOwner lifecycleOwner) {
-            super(context, lifecycle, lifecycleOwner);
-        }
-
-        private List<SubscriptionInfoEntity> mSubscriptionInfoEntity;
-        private boolean mIsInService;
-        private int mDefaultVoiceSubscriptionId;
-        private int mDefaultSmsSubscriptionId;
-
-        @Override
-        protected List<SubscriptionInfoEntity> getSubscriptionInfoList() {
-            return mSubscriptionInfoEntity;
-        }
-
-        public void setSubscriptionInfoList(List<SubscriptionInfoEntity> list) {
-            mSubscriptionInfoEntity = list;
-        }
-
-        @Override
-        protected boolean isInService(int subId) {
-            return mIsInService;
-        }
-
-        public void setInService(boolean inService) {
-            mIsInService = inService;
-        }
-
-        @Override
-        protected int getDefaultVoiceSubscriptionId() {
-            return mDefaultVoiceSubscriptionId;
-        }
-
-        @Override
-        protected int getDefaultSmsSubscriptionId() {
-            return mDefaultSmsSubscriptionId;
-        }
-
-        public void setDefaultVoiceSubscriptionId(int subscriptionId) {
-            mDefaultVoiceSubscriptionId = subscriptionId;
-        }
-
-        public void setDefaultSmsSubscriptionId(int subscriptionId) {
-            mDefaultSmsSubscriptionId = subscriptionId;
-        }
-    }
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
-        mPreferenceManager = new PreferenceManager(mContext);
-        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
-        mPreference = new RestrictedPreference(mContext);
-        mPreference.setKey(KEY_PREFERENCE_CALLS_SMS);
-        mController = new MockNetworkProviderCallsSmsController(mContext, mLifecycle,
-                mLifecycleOwner);
-        mController.setInService(true);
-        mLifecycleRegistry = new LifecycleRegistry(mLifecycleOwner);
-        when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
-    }
-
-    private void displayPreferenceWithLifecycle() {
-        mLifecycleRegistry.addObserver(mController);
-        mPreferenceScreen.addPreference(mPreference);
-        mController.displayPreference(mPreferenceScreen);
-        mLifecycleRegistry.handleLifecycleEvent(Event.ON_RESUME);
-    }
-
-    private String setSummaryResId(String resName) {
-        return ResourcesUtils.getResourcesString(mContext, resName);
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_noSim_returnNoSim() {
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        assertTrue(TextUtils.equals(mController.getSummary(),
-                setSummaryResId("calls_sms_no_sim")));
-    }
-
-    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);
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_invalidSubId_returnUnavailable() {
-
-        mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
-                SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
-                DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
-                TelephonyManager.UNINITIALIZED_CARD_ID, false, true, true);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        final StringBuilder summary = new StringBuilder();
-        summary.append(DISPLAY_NAME_1)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_temp_unavailable"))
-                .append(")");
-
-        assertTrue(TextUtils.equals(mController.getSummary(), summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_oneIsInvalidSubIdTwoIsValidSubId_returnOneIsUnavailable() {
-
-        mSubInfo1 = setupSubscriptionInfoEntity(INVALID_SUB_ID,
-                SubscriptionManager.INVALID_SIM_SLOT_INDEX, TelephonyManager.UNKNOWN_CARRIER_ID,
-                DISPLAY_NAME_1, SUB_MCC_1, SUB_MNC_1, SUB_COUNTRY_ISO_1,
-                TelephonyManager.UNINITIALIZED_CARD_ID, false, 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);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mSubscriptionInfoEntityList.add(mSubInfo2);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        final StringBuilder summary = new StringBuilder();
-        summary.append(DISPLAY_NAME_1)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_unavailable"))
-                .append(")")
-                .append(", ")
-                .append(DISPLAY_NAME_2);
-
-        assertTrue(TextUtils.equals(mController.getSummary(), summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_oneSubscription_returnDisplayName() {
-
-        mSubInfo1 = setupSubscriptionInfoEntity(SUB_ID_1, 1, 1, DISPLAY_NAME_1, SUB_MCC_1,
-                SUB_MNC_1, SUB_COUNTRY_ISO_1, 1, true, true, true);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        assertThat(mPreference.getSummary()).isEqualTo(DISPLAY_NAME_1);
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_allSubscriptionsHaveNoPreferredStatus_returnDisplayName() {
-
-        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);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mSubscriptionInfoEntityList.add(mSubInfo2);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        final StringBuilder summary = new StringBuilder();
-        summary.append(DISPLAY_NAME_1).append(", ").append(DISPLAY_NAME_2);
-
-        assertTrue(TextUtils.equals(mController.getSummary(), summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_oneSubscriptionsIsCallPreferredTwoIsSmsPreferred_returnStatus() {
-
-        mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_1));
-        mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_2));
-
-        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);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mSubscriptionInfoEntityList.add(mSubInfo2);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        final StringBuilder summary = new StringBuilder();
-        summary.append(DISPLAY_NAME_1)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_calls_preferred"))
-                .append(")")
-                .append(", ")
-                .append(DISPLAY_NAME_2)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_sms_preferred"))
-                .append(")");
-
-        assertTrue(TextUtils.equals(mController.getSummary(), summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_oneSubscriptionsIsSmsPreferredTwoIsCallPreferred_returnStatus() {
-
-        mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_1));
-        mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_2));
-
-        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, 2, 2, DISPLAY_NAME_2, SUB_MCC_2,
-                SUB_MNC_2, SUB_COUNTRY_ISO_2, 1, true, true, true);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mSubscriptionInfoEntityList.add(mSubInfo2);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        final StringBuilder summary = new StringBuilder();
-        summary.append(DISPLAY_NAME_1)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_sms_preferred"))
-                .append(")")
-                .append(", ")
-                .append(DISPLAY_NAME_2)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_calls_preferred"))
-                .append(")");
-
-        assertTrue(TextUtils.equals(mController.getSummary(), summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void getSummary_oneSubscriptionsIsSmsPreferredAndIsCallPreferred_returnStatus() {
-
-        mController.setDefaultSmsSubscriptionId(Integer.parseInt(SUB_ID_1));
-        mController.setDefaultVoiceSubscriptionId(Integer.parseInt(SUB_ID_1));
-
-        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);
-        mSubscriptionInfoEntityList.add(mSubInfo1);
-        mSubscriptionInfoEntityList.add(mSubInfo2);
-        mController.setSubscriptionInfoList(mSubscriptionInfoEntityList);
-        displayPreferenceWithLifecycle();
-
-        final StringBuilder summary = new StringBuilder();
-        summary.append(DISPLAY_NAME_1)
-                .append(" (")
-                .append(setSummaryResId("calls_sms_preferred"))
-                .append(")")
-                .append(", ")
-                .append(DISPLAY_NAME_2);
-
-        assertTrue(TextUtils.equals(mController.getSummary(), summary));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
index c4e0f64..a98f83b 100644
--- a/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/NetworkProviderSimListControllerTest.java
@@ -16,19 +16,16 @@
 
 package com.android.settings.network;
 
-import static com.android.settings.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
-import static com.google.common.truth.Truth.assertThat;
-
 import static androidx.lifecycle.Lifecycle.Event;
 
+import static com.google.common.truth.Truth.assertThat;
+
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.graphics.drawable.Drawable;
 import android.os.Looper;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
@@ -36,18 +33,15 @@
 
 import androidx.lifecycle.LifecycleOwner;
 import androidx.lifecycle.LifecycleRegistry;
-import androidx.preference.PreferenceManager;
-import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
+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.settingslib.RestrictedPreference;
-import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.mobile.dataservice.SubscriptionInfoEntity;
 
 import org.junit.Before;
@@ -83,8 +77,6 @@
     @Mock
     private SubscriptionManager mSubscriptionManager;
     @Mock
-    private Lifecycle mLifecycle;
-    @Mock
     private LifecycleOwner mLifecycleOwner;
     private LifecycleRegistry mLifecycleRegistry;
 
@@ -100,12 +92,10 @@
      * Mock the NetworkProviderSimListController that allows one to set a default voice,
      * SMS and mobile data subscription ID.
      */
-    @SuppressWarnings("ClassCanBeStatic")
-    private class MockNetworkProviderSimListController extends
-            com.android.settings.network.NetworkProviderSimListController {
-        public MockNetworkProviderSimListController(Context context, Lifecycle lifecycle,
-        LifecycleOwner lifecycleOwner) {
-            super(context, lifecycle, lifecycleOwner);
+    private static class MockNetworkProviderSimListController
+            extends NetworkProviderSimListController {
+        MockNetworkProviderSimListController(Context context, String preferenceKey) {
+            super(context, preferenceKey);
         }
 
         private List<SubscriptionInfoEntity> mSubscriptionInfoEntity;
@@ -136,8 +126,7 @@
         mPreference.setKey(KEY_PREFERENCE_SIM_LIST);
         mPreferenceCategory = new PreferenceCategory(mContext);
         mPreferenceCategory.setKey(KEY_PREFERENCE_CATEGORY_SIM);
-        mController = new MockNetworkProviderSimListController(mContext, mLifecycle,
-                mLifecycleOwner);
+        mController = new MockNetworkProviderSimListController(mContext, "test_key");
         mLifecycleRegistry = new LifecycleRegistry(mLifecycleOwner);
         when(mLifecycleOwner.getLifecycle()).thenReturn(mLifecycleRegistry);
     }
diff --git a/tests/unit/src/com/android/settings/network/NetworkProviderSimsCategoryControllerTest.java b/tests/unit/src/com/android/settings/network/NetworkProviderSimsCategoryControllerTest.java
deleted file mode 100644
index dc17e91..0000000
--- a/tests/unit/src/com/android/settings/network/NetworkProviderSimsCategoryControllerTest.java
+++ /dev/null
@@ -1,152 +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.core.BasePreferenceController.CONDITIONALLY_UNAVAILABLE;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertEquals;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-
-import com.android.settings.testutils.ResourcesUtils;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import androidx.lifecycle.LifecycleOwner;
-import androidx.preference.PreferenceCategory;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
-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;
-
-import java.util.ArrayList;
-import java.util.Arrays;
-
-//TODO: Remove NetworkProviderSimsCategoryControllerTest once it is removed in the b/244769887.
-@RunWith(AndroidJUnit4.class)
-public class NetworkProviderSimsCategoryControllerTest {
-
-    private static final String KEY_PREFERENCE_CATEGORY_SIM = "provider_model_sim_category";
-    private static final String SUB_1 = "SUB_1";
-    private static final String SUB_2 = "SUB_2";
-    private static final int SUB_ID_1 = 1;
-    private static final int SUB_ID_2 = 2;
-
-    @Mock
-    private Lifecycle mLifecycle;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo1;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo2;
-
-    private Context mContext;
-    private NetworkProviderSimsCategoryController mCategoryController;
-    private PreferenceManager mPreferenceManager;
-    private PreferenceScreen mPreferenceScreen;
-    private PreferenceCategory mPreferenceCategory;
-    private LifecycleOwner mLifecycleOwner;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
-        mLifecycleOwner = () -> mLifecycle;
-        mPreferenceManager = new PreferenceManager(mContext);
-        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
-        mPreferenceCategory = new PreferenceCategory(mContext);
-        mPreferenceCategory.setKey(KEY_PREFERENCE_CATEGORY_SIM);
-        mPreferenceScreen.addPreference(mPreferenceCategory);
-
-        mCategoryController = new NetworkProviderSimsCategoryController(
-                mContext, KEY_PREFERENCE_CATEGORY_SIM, mLifecycle, mLifecycleOwner);
-    }
-
-    @Ignore
-    @Test
-    public void getAvailabilityStatus_returnUnavailable() {
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(new ArrayList<>());
-
-        assertThat(mCategoryController.getAvailabilityStatus()).isEqualTo(
-                CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Ignore
-    @Test
-    public void displayPreference_isVisible() {
-        setUpSubscriptionInfoForPhysicalSim(SUB_ID_1, SUB_1, mSubscriptionInfo1);
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscriptionInfo1));
-        mCategoryController.displayPreference(mPreferenceScreen);
-
-        assertEquals(mPreferenceCategory.isVisible(), true);
-    }
-
-    @Ignore
-    @Test
-    public void updateState_setTitle_withTwoPhysicalSims_returnSims() {
-        setUpSubscriptionInfoForPhysicalSim(SUB_ID_1, SUB_1, mSubscriptionInfo1);
-        setUpSubscriptionInfoForPhysicalSim(SUB_ID_2, SUB_2, mSubscriptionInfo2);
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(
-                Arrays.asList(mSubscriptionInfo1, mSubscriptionInfo2));
-
-        mCategoryController.displayPreference(mPreferenceScreen);
-        mCategoryController.updateState(mPreferenceCategory);
-
-        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(2);
-        assertThat(mPreferenceCategory.getTitle()).isEqualTo(
-                ResourcesUtils.getResourcesString(mContext, "provider_network_settings_title"));
-    }
-
-    @Ignore
-    @Test
-    public void updateState_setTitle_withOnePhysicalSim_returnSim() {
-        setUpSubscriptionInfoForPhysicalSim(SUB_ID_1, SUB_1, mSubscriptionInfo1);
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscriptionInfo1));
-
-        mCategoryController.displayPreference(mPreferenceScreen);
-        mCategoryController.updateState(mPreferenceCategory);
-
-        assertThat(mPreferenceCategory.getPreferenceCount()).isEqualTo(1);
-        assertThat(mPreferenceCategory.getTitle()).isEqualTo(
-                ResourcesUtils.getResourcesString(mContext, "sim_category_title"));
-    }
-
-    private void setUpSubscriptionInfoForPhysicalSim(int subId, String displayName,
-            SubscriptionInfo subscriptionInfo) {
-        when(subscriptionInfo.isEmbedded()).thenReturn(false);
-        when(subscriptionInfo.getSubscriptionId()).thenReturn(subId);
-        when(subscriptionInfo.getDisplayName()).thenReturn(displayName);
-    }
-
-}
diff --git a/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java b/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
index 436d37f..2d63c71 100644
--- a/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
+++ b/tests/unit/src/com/android/settings/network/ProviderModelSliceHelperTest.java
@@ -42,7 +42,6 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.text.Html;
 
 import androidx.slice.Slice;
 import androidx.slice.builders.ListBuilder;
@@ -56,7 +55,6 @@
 import com.android.wifitrackerlib.WifiEntry;
 
 import org.junit.Before;
-import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -166,11 +164,9 @@
         assertThat(testItem).isNull();
     }
 
-    @Ignore
     @Test
     public void createCarrierRow_hasDdsAndActiveNetworkIsNotCellular_verifyTitleAndSummary() {
         String expectDisplayName = "Name1";
-        CharSequence expectedSubtitle = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
         String networkType = "5G";
         mockConnections(true, ServiceState.STATE_IN_SERVICE, expectDisplayName,
                 true, true);
@@ -180,19 +176,17 @@
                 networkType);
 
         assertThat(testRowBuild.getTitle()).isEqualTo(expectDisplayName);
-        assertThat(testRowBuild.getSubtitle()).isEqualTo(expectedSubtitle);
+        assertThat(testRowBuild.getSubtitle()).isEqualTo("5G");
     }
 
-    @Ignore
     @Test
     public void createCarrierRow_wifiOnhasDdsAndActiveNetworkIsCellular_verifyTitleAndSummary() {
         String expectDisplayName = "Name1";
         String networkType = "5G";
         String connectedText = ResourcesUtils.getResourcesString(mContext,
                 "mobile_data_connection_active");
-        CharSequence expectedSubtitle = Html.fromHtml(ResourcesUtils.getResourcesString(mContext,
-                "preference_summary_default_combination", connectedText, networkType),
-                Html.FROM_HTML_MODE_LEGACY);
+        CharSequence expectedSubtitle = ResourcesUtils.getResourcesString(mContext,
+                "preference_summary_default_combination", connectedText, networkType);
         mockConnections(true, ServiceState.STATE_IN_SERVICE, expectDisplayName,
                 true, true);
         addNetworkTransportType(NetworkCapabilities.TRANSPORT_CELLULAR);
@@ -204,13 +198,11 @@
         assertThat(testRowBuild.getSubtitle()).isEqualTo(expectedSubtitle);
     }
 
-    @Ignore
     @Test
     public void createCarrierRow_noNetworkAvailable_verifyTitleAndSummary() {
         String expectDisplayName = "Name1";
-        CharSequence expectedSubtitle = Html.fromHtml(
-                ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection"),
-                Html.FROM_HTML_MODE_LEGACY);
+        CharSequence expectedSubtitle =
+                ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection");
         String networkType = "";
 
         mockConnections(true, ServiceState.STATE_OUT_OF_SERVICE, expectDisplayName,
diff --git a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
index 6f5440b..6213f8e 100644
--- a/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
+++ b/tests/unit/src/com/android/settings/network/ResetNetworkOperationBuilderTest.java
@@ -16,13 +16,20 @@
 
 package com.android.settings.network;
 
-import static org.mockito.Mockito.any;
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.isNull;
 import static org.mockito.Mockito.anyInt;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.doThrow;
+import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
 
+import android.content.ContentProvider;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.NetworkPolicyManager;
@@ -34,6 +41,8 @@
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.ResetNetworkRequest;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -57,6 +66,9 @@
     private TelephonyManager mTelephonyManager;
     @Mock
     private NetworkPolicyManager mNetworkPolicyManager;
+    @Mock
+    private ContentProvider mContentProvider;;
+
 
     private Context mContext;
     private ResetNetworkOperationBuilder mBuilder;
@@ -65,6 +77,7 @@
     public void setUp() {
         MockitoAnnotations.initMocks(this);
         mContext = spy(ApplicationProvider.getApplicationContext());
+        doReturn(ContentResolver.wrap(mContentProvider)).when(mContext).getContentResolver();
 
         mBuilder = spy(new ResetNetworkOperationBuilder(mContext));
     }
@@ -129,4 +142,82 @@
         verify(mTelephonyManager).resetSettings();
         verify(mNetworkPolicyManager).factoryReset(imsi);
     }
+
+    @Test
+    public void resetIms_performReset_whenBuildAndRun_withSingleValidSubId() {
+        final int subId = 1;
+        doReturn(mTelephonyManager).when(mTelephonyManager)
+                .createForSubscriptionId(anyInt());
+        doReturn(mTelephonyManager).when(mContext)
+                .getSystemService(Context.TELEPHONY_SERVICE);
+
+        mBuilder.resetIms(subId).build().run();
+
+        verify(mTelephonyManager).resetIms(anyInt());
+    }
+
+    @Test
+    public void resetIms_performReset_whenBuildAndRun_withInvalidSubId() {
+        final int subId = ResetNetworkRequest.INVALID_SUBSCRIPTION_ID;
+        doReturn(mTelephonyManager).when(mTelephonyManager)
+                .createForSubscriptionId(anyInt());
+        doReturn(mTelephonyManager).when(mContext)
+                .getSystemService(Context.TELEPHONY_SERVICE);
+
+        mBuilder.resetIms(subId).build().run();
+
+        verify(mTelephonyManager, never()).resetIms(anyInt());
+    }
+
+    @Test
+    public void resetIms_performReset_whenBuildAndRun_withAllValidSubId() {
+        final int subId = ResetNetworkRequest.ALL_SUBSCRIPTION_ID;
+        doReturn(mTelephonyManager).when(mTelephonyManager)
+                .createForSubscriptionId(anyInt());
+        doReturn(mTelephonyManager).when(mContext)
+                .getSystemService(Context.TELEPHONY_SERVICE);
+        doReturn(2).when(mTelephonyManager).getActiveModemCount();
+
+        mBuilder.resetIms(subId).build().run();
+
+        verify(mTelephonyManager, times(2)).resetIms(anyInt());
+    }
+
+    @Test
+    public void restartPhoneProcess_withoutTelephonyContentProvider_shouldNotCrash() {
+        doThrow(new IllegalArgumentException()).when(mContentProvider).call(
+                anyString(), anyString(), anyString(), any());
+
+        mBuilder.restartPhoneProcess();
+    }
+
+    @Test
+    public void restartRild_withoutTelephonyContentProvider_shouldNotCrash() {
+        doThrow(new IllegalArgumentException()).when(mContentProvider).call(
+                anyString(), anyString(), anyString(), any());
+
+        mBuilder.restartRild();
+    }
+
+    @Test
+    public void restartPhoneProcess_withTelephonyContentProvider_shouldCallRestartPhoneProcess() {
+        mBuilder.restartPhoneProcess();
+
+        verify(mContentProvider).call(
+                eq(mBuilder.getResetTelephonyContentProviderAuthority()),
+                eq(ResetNetworkOperationBuilder.METHOD_RESTART_PHONE_PROCESS),
+                isNull(),
+                isNull());
+    }
+
+    @Test
+    public void restartRild_withTelephonyContentProvider_shouldCallRestartRild() {
+        mBuilder.restartRild();
+
+        verify(mContentProvider).call(
+                eq(mBuilder.getResetTelephonyContentProviderAuthority()),
+                eq(ResetNetworkOperationBuilder.METHOD_RESTART_RILD),
+                isNull(),
+                isNull());
+    }
 }
diff --git a/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
index c4abdd1..bca12c1 100644
--- a/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/SubscriptionsPreferenceControllerTest.java
@@ -53,7 +53,6 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyDisplayInfo;
 import android.telephony.TelephonyManager;
-import android.text.Html;
 
 import androidx.lifecycle.LifecycleOwner;
 import androidx.lifecycle.LifecycleRegistry;
@@ -266,8 +265,6 @@
     @Test
     @UiThreadTest
     public void displayPreference_providerAndHasMultiSimAndActive_connectedAndRat() {
-        final CharSequence expectedSummary =
-                Html.fromHtml("Connected / 5G", Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "5G";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -281,14 +278,12 @@
         mController.onResume();
         mController.displayPreference(mPreferenceScreen);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / 5G");
     }
 
     @Test
     @UiThreadTest
     public void displayPreference_providerAndHasMultiSimAndActiveCarrierWifi_connectedAndWPlus() {
-        final CharSequence expectedSummary =
-                Html.fromHtml("Connected / W+", Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "W+";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -302,7 +297,7 @@
         mController.onResume();
         mController.displayPreference(mPreferenceScreen);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / W+");
     }
 
     @Test
@@ -310,8 +305,6 @@
     public void displayPreference_providerAndHasMultiSimButMobileDataOff_notAutoConnect() {
         final String dataOffSummary =
                 ResourcesUtils.getResourcesString(mContext, "mobile_data_off_summary");
-        final CharSequence expectedSummary =
-                Html.fromHtml(dataOffSummary, Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "5G";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -324,14 +317,12 @@
         mController.onResume();
         mController.displayPreference(mPreferenceScreen);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary())
-            .isEqualTo(expectedSummary.toString());
+        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(dataOffSummary);
     }
 
     @Test
     @UiThreadTest
     public void displayPreference_providerAndHasMultiSimAndNotActive_showRatOnly() {
-        final CharSequence expectedSummary = Html.fromHtml("5G", Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "5G";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         doReturn(sub.get(0)).when(mSubscriptionManager).getDefaultDataSubscriptionInfo();
@@ -345,7 +336,7 @@
         mController.onResume();
         mController.displayPreference(mPreferenceScreen);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(networkType);
     }
 
     @Test
@@ -362,8 +353,6 @@
     @Test
     @UiThreadTest
     public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndActive_connectedAndRat() {
-        final CharSequence expectedSummary =
-                Html.fromHtml("Connected / LTE", Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "LTE";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -383,14 +372,12 @@
         mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
                 telephonyDisplayInfo);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo("Connected / LTE");
     }
 
     @Test
     @UiThreadTest
     public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndNotActive_showRat() {
-        final CharSequence expectedSummary =
-                Html.fromHtml("LTE", Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "LTE";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -409,7 +396,7 @@
         mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
                 telephonyDisplayInfo);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(networkType);
     }
 
     @Test
@@ -417,8 +404,6 @@
     public void onTelephonyDisplayInfoChanged_providerAndHasMultiSimAndOutOfService_noConnection() {
         final String noConnectionSummary =
                 ResourcesUtils.getResourcesString(mContext, "mobile_data_no_connection");
-        final CharSequence expectedSummary =
-                Html.fromHtml(noConnectionSummary, Html.FROM_HTML_MODE_LEGACY);
         final String networkType = "LTE";
         final List<SubscriptionInfo> sub = setupMockSubscriptions(2);
         final TelephonyDisplayInfo telephonyDisplayInfo =
@@ -437,7 +422,8 @@
         mController.onTelephonyDisplayInfoChanged(sub.get(0).getSubscriptionId(),
                 telephonyDisplayInfo);
 
-        assertThat(mPreferenceCategory.getPreference(0).getSummary()).isEqualTo(expectedSummary);
+        assertThat(mPreferenceCategory.getPreference(0).getSummary())
+                .isEqualTo(noConnectionSummary);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
index 5261b3e..75c49b3 100644
--- a/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
+++ b/tests/unit/src/com/android/settings/network/UiccSlotUtilTest.java
@@ -77,6 +77,7 @@
         when(mTelephonyManager.getUiccCardsInfo()).thenReturn(mUiccCardInfo);
 
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
+        when(mSubscriptionManager.createForAllUserProfiles()).thenReturn(mSubscriptionManager);
         when(mSubscriptionManager.getAllSubscriptionInfoList()).thenReturn(mSubscriptionInfoList);
     }
 
diff --git a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackAdapterTest.java b/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackAdapterTest.java
deleted file mode 100644
index ddeb3f8..0000000
--- a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackAdapterTest.java
+++ /dev/null
@@ -1,111 +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.network.helper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class LifecycleCallbackAdapterTest implements LifecycleOwner {
-
-    private final LifecycleRegistry mRegistry = LifecycleRegistry.createUnsafe(this);
-
-    private TestObj mTarget;
-
-    @Before
-    public void setUp() {
-        mTarget = new TestObj(getLifecycle());
-    }
-
-    public Lifecycle getLifecycle() {
-        return mRegistry;
-    }
-
-    @Test
-    public void lifecycle_get_lifecycleToMonitor() {
-        assertThat(mTarget.getLifecycle()).isEqualTo(mRegistry);
-    }
-
-    @Test
-    public void lifecycle_stateChangeToStart_callbackActive() {
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-
-        assertThat(mTarget.getCallbackCount()).isEqualTo(0);
-        assertThat(mTarget.isCallbackActive()).isEqualTo(Boolean.FALSE);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        assertThat(mTarget.getCallbackCount()).isEqualTo(1);
-        assertThat(mTarget.isCallbackActive()).isEqualTo(Boolean.TRUE);
-    }
-
-    @Test
-    public void lifecycle_stateChangeToStop_callbackInActive() {
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-
-        assertThat(mTarget.getCallbackCount()).isEqualTo(2);
-        assertThat(mTarget.isCallbackActive()).isEqualTo(Boolean.FALSE);
-    }
-
-    @Test
-    public void lifecycle_stateChangeToDestroy_noFurtherActive() {
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY);
-
-        assertThat(mTarget.getCallbackCount()).isEqualTo(2);
-        assertThat(mTarget.isCallbackActive()).isEqualTo(Boolean.FALSE);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        assertThat(mTarget.getCallbackCount()).isEqualTo(2);
-        assertThat(mTarget.isCallbackActive()).isEqualTo(Boolean.FALSE);
-    }
-
-    public static class TestObj extends LifecycleCallbackAdapter {
-        boolean mIsActive;
-        int mNumberOfCallback;
-
-        public TestObj(Lifecycle lifecycle) {
-            super(lifecycle);
-        }
-
-        public boolean isCallbackActive() {
-            return mIsActive;
-        }
-
-        public void setCallbackActive(boolean isActive) {
-            mIsActive = isActive;
-            mNumberOfCallback ++;
-        }
-
-        protected int getCallbackCount() {
-            return mNumberOfCallback;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackConverterTest.java b/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackConverterTest.java
deleted file mode 100644
index 2237746..0000000
--- a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackConverterTest.java
+++ /dev/null
@@ -1,127 +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.network.helper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.concurrent.Phaser;
-import java.util.concurrent.atomic.AtomicReference;
-import java.util.function.Consumer;
-
-@RunWith(AndroidJUnit4.class)
-public class LifecycleCallbackConverterTest implements LifecycleOwner {
-
-    private final LifecycleRegistry mRegistry = LifecycleRegistry.createUnsafe(this);
-
-    private Object mTestData;
-    private TestConsumer mConsumer;
-    private LifecycleCallbackConverter<Object> mConverter;
-
-    @Before
-    public void setUp() {
-        mTestData = new Object();
-        mConsumer = new TestConsumer();
-    }
-
-    private void initEnvPerTestCase() {
-        mConverter = new LifecycleCallbackConverter<Object>(getLifecycle(), mConsumer);
-    }
-
-    public Lifecycle getLifecycle() {
-        return mRegistry;
-    }
-
-    @Test
-    public void converter_dropResult_whenInActive() {
-        initEnvPerTestCase();
-        mConverter.postResult(mTestData);
-
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(0);
-    }
-
-    @Test
-    public void converter_callbackResult_whenActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        mConverter.postResult(mTestData);
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(1);
-        assertThat(mConsumer.getData()).isEqualTo(mTestData);
-    }
-
-    @Test
-    public void converter_dropResult_whenBackToInActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-
-        mConverter.postResult(mTestData);
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(0);
-    }
-
-    @Test
-    public void converter_passResultToUiThread_whenActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        final Phaser phaser = new Phaser(1);
-        Thread executionThread = new Thread(() -> {
-            mConverter.postResult(phaser);
-        });
-        executionThread.start();
-        phaser.awaitAdvance(0);
-
-        assertThat(mConsumer.getData()).isEqualTo(phaser);
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(1);
-    }
-
-    public static class TestConsumer implements Consumer<Object> {
-        long mNumberOfCallback;
-        AtomicReference<Object> mLatestData;
-
-        public TestConsumer() {
-            mLatestData = new AtomicReference<Object>();
-        }
-
-        public void accept(Object data) {
-            mLatestData.set(data);
-            mNumberOfCallback ++;
-            if ((data != null) && (data instanceof Phaser)) {
-                ((Phaser)data).arrive();
-            }
-        }
-
-        protected long getCallbackCount() {
-            return mNumberOfCallback;
-        }
-
-        protected Object getData() {
-            return mLatestData.get();
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackIntentReceiverTest.java b/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackIntentReceiverTest.java
deleted file mode 100644
index 780ee55..0000000
--- a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackIntentReceiverTest.java
+++ /dev/null
@@ -1,190 +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.network.helper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.content.Context;
-import android.content.Intent;
-import android.content.IntentFilter;
-import android.os.Handler;
-import android.os.HandlerThread;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-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 java.util.function.Consumer;
-
-@RunWith(AndroidJUnit4.class)
-public class LifecycleCallbackIntentReceiverTest implements LifecycleOwner {
-
-    private final LifecycleRegistry mRegistry = LifecycleRegistry.createUnsafe(this);
-
-    private static final String TEST_SCHEDULER_HANDLER = "testScheduler";
-    private static final String TEST_INTENT_ACTION = "testAction";
-    private static final String TEST_INTENT_PERMISSION = "testPermission";
-
-    private Context mContext;
-    private Intent mIntent;
-    private IntentFilter mIntentFilter;
-    private Handler mHandler;
-    private TestConsumer mConsumer;
-
-    private TestObj mTarget;
-
-    @Before
-    public void setUp() {
-        mContext = ApplicationProvider.getApplicationContext();
-
-        mIntentFilter = new IntentFilter(TEST_INTENT_ACTION);
-        mIntent = new Intent(TEST_INTENT_ACTION);
-
-        HandlerThread thread = new HandlerThread(TEST_SCHEDULER_HANDLER);
-        thread.start();
-
-        mHandler = new Handler(thread.getLooper());
-        mConsumer = new TestConsumer();
-    }
-
-    public Lifecycle getLifecycle() {
-        return mRegistry;
-    }
-
-    private void initEnvPerTestCase() {
-        mTarget = new TestObj(getLifecycle(), mContext,
-                mIntentFilter, TEST_INTENT_PERMISSION,
-                mHandler, mConsumer);
-    }
-
-    @Test
-    public void receiver_register_whenActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-
-        assertThat(mTarget.getCallbackActiveCount(true)
-                + mTarget.getCallbackActiveCount(false)).isEqualTo(0);
-
-        mTarget.mReceiver.onReceive(mContext, mIntent);
-
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(0);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        assertThat(mTarget.getCallbackActiveCount(true)).isEqualTo(1);
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(0);
-
-        mTarget.mReceiver.onReceive(mContext, mIntent);
-
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(1);
-        assertThat(mConsumer.getData()).isEqualTo(mIntent);
-    }
-
-    @Test
-    public void receiver_unregister_whenInActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-
-        assertThat(mTarget.getCallbackActiveCount(false)).isEqualTo(1);
-
-        mTarget.mReceiver.onReceive(mContext, mIntent);
-
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(0);
-    }
-
-    @Test
-    public void receiver_register_whenReActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        assertThat(mTarget.getCallbackActiveCount(true)).isEqualTo(2);
-
-        mTarget.mReceiver.onReceive(mContext, mIntent);
-
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(1);
-        assertThat(mConsumer.getData()).isEqualTo(mIntent);
-    }
-
-    @Test
-    public void receiver_close_whenDestroy() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY);
-
-        assertThat(mTarget.getCallbackActiveCount(false)).isEqualTo(1);
-
-        mTarget.mReceiver.onReceive(mContext, mIntent);
-
-        assertThat(mConsumer.getCallbackCount()).isEqualTo(0);
-    }
-
-    public static class TestConsumer implements Consumer<Intent> {
-        long mNumberOfCallback;
-        Intent mLatestData;
-
-        public TestConsumer() {}
-
-        public void accept(Intent data) {
-            mLatestData = data;
-            mNumberOfCallback ++;
-        }
-
-        protected long getCallbackCount() {
-            return mNumberOfCallback;
-        }
-
-        protected Intent getData() {
-            return mLatestData;
-        }
-    }
-
-    public static class TestObj extends LifecycleCallbackIntentReceiver {
-        long mCallbackActiveCount;
-        long mCallbackInActiveCount;
-
-        public TestObj(Lifecycle lifecycle, Context context, IntentFilter filter,
-                String broadcastPermission, Handler scheduler, Consumer<Intent> resultCallback) {
-            super(lifecycle, context, filter, broadcastPermission, scheduler, resultCallback);
-        }
-
-        @Override
-        public void setCallbackActive(boolean isActive) {
-            if (isActive) {
-                mCallbackActiveCount ++;
-            } else {
-                mCallbackInActiveCount ++;
-            }
-            super.setCallbackActive(isActive);
-        }
-
-        protected long getCallbackActiveCount(boolean forActive) {
-            return forActive ? mCallbackActiveCount : mCallbackInActiveCount;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackTelephonyAdapterTest.java b/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackTelephonyAdapterTest.java
deleted file mode 100644
index 3968a03..0000000
--- a/tests/unit/src/com/android/settings/network/helper/LifecycleCallbackTelephonyAdapterTest.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.network.helper;
-
-import static org.mockito.ArgumentMatchers.anyObject;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-
-import android.telephony.TelephonyCallback;
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-@RunWith(AndroidJUnit4.class)
-public class LifecycleCallbackTelephonyAdapterTest implements LifecycleOwner {
-
-    private final LifecycleRegistry mRegistry = LifecycleRegistry.createUnsafe(this);
-
-    @Mock
-    private TelephonyManager mTelMgr;
-
-    private TestCallback mTestCallback;
-    private AtomicReference<Object> mResult;
-    private LifecycleCallbackTelephonyAdapter<Object> mAdapter;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mResult = new AtomicReference<Object>();
-        mTestCallback = new TestCallback();
-
-        doNothing().when(mTelMgr).registerTelephonyCallback(null, mTestCallback);
-        doNothing().when(mTelMgr).unregisterTelephonyCallback(mTestCallback);
-    }
-
-    public Lifecycle getLifecycle() {
-        return mRegistry;
-    }
-
-    private void initEnvPerTestCase() {
-        mAdapter = new LifecycleCallbackTelephonyAdapter<Object>(getLifecycle(), mTelMgr,
-                mTestCallback, null, result -> mResult.set(result));
-    }
-
-    @Test
-    public void telephonyCallback_register_whenActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-
-        verify(mTelMgr, never()).registerTelephonyCallback(anyObject(), anyObject());
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        verify(mTelMgr).registerTelephonyCallback(anyObject(), anyObject());
-    }
-
-    @Test
-    public void telephonyCallback_unregister_whenInActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-
-        verify(mTelMgr, never()).unregisterTelephonyCallback(anyObject());
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        verify(mTelMgr, never()).unregisterTelephonyCallback(anyObject());
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-
-        verify(mTelMgr).unregisterTelephonyCallback(anyObject());
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_DESTROY);
-
-        verify(mTelMgr, times(1)).unregisterTelephonyCallback(anyObject());
-    }
-
-    protected static class TestCallback extends TelephonyCallback
-            implements TelephonyCallback.CallStateListener {
-        @Override
-        public void onCallStateChanged(int state) {}
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/helper/ServiceStateStatusTest.java b/tests/unit/src/com/android/settings/network/helper/ServiceStateStatusTest.java
deleted file mode 100644
index 133c338..0000000
--- a/tests/unit/src/com/android/settings/network/helper/ServiceStateStatusTest.java
+++ /dev/null
@@ -1,99 +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.network.helper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.telephony.ServiceState;
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-@RunWith(AndroidJUnit4.class)
-public class ServiceStateStatusTest implements LifecycleOwner {
-
-    private final LifecycleRegistry mRegistry = LifecycleRegistry.createUnsafe(this);
-
-    @Mock
-    private TelephonyManager mTelMgr;
-    @Mock
-    private ServiceState mTestData;
-
-    private AtomicReference<ServiceState> mStatusStorage;
-    private ServiceStateStatus mServiceStateStatus;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mStatusStorage = new AtomicReference<ServiceState>();
-    }
-
-    private void initEnvPerTestCase() {
-        mServiceStateStatus = new ServiceStateStatus(getLifecycle(), mTelMgr, null) {
-            @Override
-            protected void setValue(ServiceState status) {
-                mStatusStorage.set(status);
-            }
-        };
-    }
-
-    public Lifecycle getLifecycle() {
-        return mRegistry;
-    }
-
-    @Test
-    public void telephonyCallback_updateStatus_whenActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-
-        mServiceStateStatus.mServiceStateProducer.onServiceStateChanged(mTestData);
-
-        assertThat(mStatusStorage.get()).isEqualTo(null);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        mServiceStateStatus.mServiceStateProducer.onServiceStateChanged(mTestData);
-
-        assertThat(mStatusStorage.get()).isEqualTo(mTestData);
-    }
-
-    @Test
-    public void telephonyCallback_updateStatusToNull_whenInActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        mServiceStateStatus.mServiceStateProducer.onServiceStateChanged(mTestData);
-
-        assertThat(mStatusStorage.get()).isEqualTo(mTestData);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-
-        assertThat(mStatusStorage.get()).isEqualTo(null);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/helper/VoiceCallStatusTest.java b/tests/unit/src/com/android/settings/network/helper/VoiceCallStatusTest.java
deleted file mode 100644
index dd4e28a..0000000
--- a/tests/unit/src/com/android/settings/network/helper/VoiceCallStatusTest.java
+++ /dev/null
@@ -1,100 +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.network.helper;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.lifecycle.LifecycleOwner;
-import androidx.lifecycle.LifecycleRegistry;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.concurrent.atomic.AtomicReference;
-
-@RunWith(AndroidJUnit4.class)
-public class VoiceCallStatusTest implements LifecycleOwner {
-
-    private final LifecycleRegistry mRegistry = LifecycleRegistry.createUnsafe(this);
-
-    @Mock
-    private TelephonyManager mTelMgr;
-
-    private AtomicReference<Integer> mStatusStorage;
-    private VoiceCallStatus mVoiceCallStatus;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mStatusStorage = new AtomicReference<Integer>();
-    }
-
-    private void initEnvPerTestCase() {
-        mVoiceCallStatus = new VoiceCallStatus(getLifecycle(), mTelMgr, null) {
-                //ArchTaskExecutor.getMainThreadExecutor()) {
-            @Override
-            protected void setValue(Integer status) {
-                mStatusStorage.set(status);
-            }
-        };
-    }
-
-    public Lifecycle getLifecycle() {
-        return mRegistry;
-    }
-
-    @Test
-    public void telephonyCallback_updateStatus_whenActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-
-        mVoiceCallStatus.mCallStateProducer.onCallStateChanged(
-                TelephonyManager.CALL_STATE_RINGING);
-
-        assertThat(mStatusStorage.get()).isEqualTo(null);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        mVoiceCallStatus.mCallStateProducer.onCallStateChanged(
-                TelephonyManager.CALL_STATE_OFFHOOK);
-
-        assertThat(mStatusStorage.get()).isEqualTo(TelephonyManager.CALL_STATE_OFFHOOK);
-    }
-
-    @Test
-    public void telephonyCallback_updateStatusToNull_whenInActive() {
-        initEnvPerTestCase();
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_CREATE);
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_START);
-
-        mVoiceCallStatus.mCallStateProducer.onCallStateChanged(
-                TelephonyManager.CALL_STATE_OFFHOOK);
-
-        assertThat(mStatusStorage.get()).isEqualTo(TelephonyManager.CALL_STATE_OFFHOOK);
-
-        mRegistry.handleLifecycleEvent(Lifecycle.Event.ON_STOP);
-
-        assertThat(mStatusStorage.get()).isEqualTo(null);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/BackupCallingPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/BackupCallingPreferenceControllerTest.java
deleted file mode 100644
index 4e110f0..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/BackupCallingPreferenceControllerTest.java
+++ /dev/null
@@ -1,54 +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.spy;
-
-import android.content.Context;
-
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.core.BasePreferenceController;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-@RunWith(AndroidJUnit4.class)
-public class BackupCallingPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    private BackupCallingPreferenceController mController;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        mController = new BackupCallingPreferenceController(mContext, "backup_calling_key");
-        mController.init(SUB_ID);
-    }
-
-    @Test
-    public void controller_isUnavailable() {
-        assertThat(mController.getAvailabilityStatus())
-                .isEqualTo(BasePreferenceController.CONDITIONALLY_UNAVAILABLE);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/CellInfoUtilTest.kt b/tests/unit/src/com/android/settings/network/telephony/CellInfoUtilTest.kt
new file mode 100644
index 0000000..c3c6188
--- /dev/null
+++ b/tests/unit/src/com/android/settings/network/telephony/CellInfoUtilTest.kt
@@ -0,0 +1,173 @@
+/*
+ * 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.CellIdentityCdma
+import android.telephony.CellIdentityGsm
+import android.telephony.CellInfoCdma
+import android.telephony.CellInfoGsm
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.internal.telephony.OperatorInfo
+import com.android.settings.network.telephony.CellInfoUtil.getNetworkTitle
+import com.android.settings.network.telephony.CellInfoUtil.getOperatorNumeric
+import com.google.common.truth.Truth.assertThat
+import org.junit.Test
+import org.junit.runner.RunWith
+
+@RunWith(AndroidJUnit4::class)
+class CellInfoUtilTest {
+
+    @Test
+    fun getNetworkTitle_alphaLong() {
+        val networkTitle = CELL_IDENTITY_GSM.getNetworkTitle()
+
+        assertThat(networkTitle).isEqualTo(LONG)
+    }
+
+    @Test
+    fun getNetworkTitle_alphaShort() {
+        val cellIdentity = CellIdentityGsm(
+            /* lac = */ 1,
+            /* cid = */ 2,
+            /* arfcn = */ 3,
+            /* bsic = */ 4,
+            /* mccStr = */ "123",
+            /* mncStr = */ "01",
+            /* alphal = */ "",
+            /* alphas = */ SHORT,
+            /* additionalPlmns = */ emptyList(),
+        )
+
+        val networkTitle = cellIdentity.getNetworkTitle()
+
+        assertThat(networkTitle).isEqualTo(SHORT)
+    }
+
+    @Test
+    fun getNetworkTitle_operatorNumeric() {
+        val cellIdentity = CellIdentityGsm(
+            /* lac = */ 1,
+            /* cid = */ 2,
+            /* arfcn = */ 3,
+            /* bsic = */ 4,
+            /* mccStr = */ "123",
+            /* mncStr = */ "01",
+            /* alphal = */ "",
+            /* alphas = */ "",
+            /* additionalPlmns = */ emptyList(),
+        )
+
+        val networkTitle = cellIdentity.getNetworkTitle()
+
+        assertThat(networkTitle).isEqualTo("12301")
+    }
+
+    @Test
+    fun getNetworkTitle_null() {
+        val cellIdentity = CellIdentityGsm(
+            /* lac = */ 1,
+            /* cid = */ 2,
+            /* arfcn = */ 3,
+            /* bsic = */ 4,
+            /* mccStr = */ null,
+            /* mncStr = */ null,
+            /* alphal = */ null,
+            /* alphas = */ null,
+            /* additionalPlmns = */ emptyList(),
+        )
+
+        val networkTitle = cellIdentity.getNetworkTitle()
+
+        assertThat(networkTitle).isNull()
+    }
+
+    @Test
+    fun convertOperatorInfoToCellInfo() {
+        val operatorInfo = OperatorInfo(LONG, SHORT, "12301")
+
+        val cellInfo = CellInfoUtil.convertOperatorInfoToCellInfo(operatorInfo)
+
+        assertThat(cellInfo.cellIdentity.mccString).isEqualTo("123")
+        assertThat(cellInfo.cellIdentity.mncString).isEqualTo("01")
+        assertThat(cellInfo.cellIdentity.operatorAlphaLong).isEqualTo(LONG)
+        assertThat(cellInfo.cellIdentity.operatorAlphaShort).isEqualTo(SHORT)
+    }
+
+    @Test
+    fun cellInfoListToString() {
+        val cellInfoList =
+            listOf(
+                CellInfoCdma().apply {
+                    cellIdentity = CELL_IDENTITY_CDMA
+                },
+                CellInfoGsm().apply {
+                    isRegistered = true
+                    cellIdentity = CELL_IDENTITY_GSM
+                },
+            )
+
+        val string = CellInfoUtil.cellInfoListToString(cellInfoList)
+
+        assertThat(string).isEqualTo(
+            "{CellType = CellInfoCdma, isRegistered = false, " +
+                "mcc = null, mnc = null, alphaL = Long, alphaS = Short}, " +
+                "{CellType = CellInfoGsm, isRegistered = true, " +
+                "mcc = 123, mnc = 01, alphaL = Long, alphaS = Short}"
+        )
+    }
+
+    @Test
+    fun getOperatorNumeric_cdma() {
+        val operatorNumeric = CELL_IDENTITY_CDMA.getOperatorNumeric()
+
+        assertThat(operatorNumeric).isNull()
+    }
+
+    @Test
+    fun getOperatorNumeric_gsm() {
+        val operatorNumeric = CELL_IDENTITY_GSM.getOperatorNumeric()
+
+        assertThat(operatorNumeric).isEqualTo("12301")
+    }
+
+    private companion object {
+        const val LONG = "Long"
+        const val SHORT = "Short"
+
+        val CELL_IDENTITY_GSM = CellIdentityGsm(
+            /* lac = */ 1,
+            /* cid = */ 2,
+            /* arfcn = */ 3,
+            /* bsic = */ 4,
+            /* mccStr = */ "123",
+            /* mncStr = */ "01",
+            /* alphal = */ LONG,
+            /* alphas = */ SHORT,
+            /* additionalPlmns = */ emptyList(),
+        )
+
+        val CELL_IDENTITY_CDMA = CellIdentityCdma(
+            /* nid = */ 1,
+            /* sid = */ 2,
+            /* bid = */ 3,
+            /* lon = */ 4,
+            /* lat = */ 5,
+            /* alphal = */ LONG,
+            /* alphas = */ SHORT,
+        )
+    }
+}
diff --git a/tests/unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
deleted file mode 100644
index 5f0bdd6..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/DeleteSimProfilePreferenceControllerTest.java
+++ /dev/null
@@ -1,139 +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.ArgumentMatchers.any;
-import static org.mockito.Mockito.doNothing;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.Looper;
-import android.provider.Settings;
-import android.telephony.SubscriptionInfo;
-
-import androidx.fragment.app.Fragment;
-import androidx.preference.Preference;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.SubscriptionUtil;
-import com.android.settings.security.ConfirmSimDeletionPreferenceController;
-
-import org.junit.After;
-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 java.util.ArrayList;
-import java.util.Arrays;
-
-@RunWith(AndroidJUnit4.class)
-public class DeleteSimProfilePreferenceControllerTest {
-    private static final String PREF_KEY = "delete_profile_key";
-    private static final int REQUEST_CODE = 4321;
-    private static final int SUB_ID = 1234;
-    private static final int OTHER_ID = 5678;
-
-    @Mock
-    private Fragment mFragment;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo;
-
-    private Context mContext;
-    private PreferenceScreen mScreen;
-    private Preference mPreference;
-    private DeleteSimProfilePreferenceController mController;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(Arrays.asList(mSubscriptionInfo));
-        when(mSubscriptionInfo.getSubscriptionId()).thenReturn(SUB_ID);
-        when(mSubscriptionInfo.isEmbedded()).thenReturn(true);
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-        PreferenceManager preferenceManager = new PreferenceManager(mContext);
-        mScreen = preferenceManager.createPreferenceScreen(mContext);
-        mPreference = new Preference(mContext);
-        mPreference.setKey(PREF_KEY);
-        mScreen.addPreference(mPreference);
-
-        mController = new DeleteSimProfilePreferenceController(mContext, PREF_KEY);
-    }
-
-    @After
-    public void tearDown() {
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(null);
-    }
-
-    @Test
-    public void getAvailabilityStatus_noSubs_notAvailable() {
-        SubscriptionUtil.setAvailableSubscriptionsForTesting(new ArrayList<>());
-        mController.init(SUB_ID, mFragment, REQUEST_CODE);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void getAvailabilityStatus_physicalSim_notAvailable() {
-        when(mSubscriptionInfo.isEmbedded()).thenReturn(false);
-        mController.init(SUB_ID, mFragment, REQUEST_CODE);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void getAvailabilityStatus_unknownSim_notAvailable() {
-        when(mSubscriptionInfo.getSubscriptionId()).thenReturn(OTHER_ID);
-        mController.init(SUB_ID, mFragment, REQUEST_CODE);
-        assertThat(mController.isAvailable()).isFalse();
-    }
-
-    @Test
-    public void getAvailabilityStatus_knownEsim_isAvailable() {
-        mController.init(SUB_ID, mFragment, REQUEST_CODE);
-        assertThat(mController.isAvailable()).isTrue();
-    }
-
-    @Test
-    public void onPreferenceClick_startsIntent() {
-        mController.init(SUB_ID, mFragment, REQUEST_CODE);
-        mController.displayPreference(mScreen);
-        // turn off confirmation before click
-        Settings.Global.putInt(mContext.getContentResolver(),
-                ConfirmSimDeletionPreferenceController.KEY_CONFIRM_SIM_DELETION, 0);
-        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
-        doNothing().when(mContext).startActivity(intentCaptor.capture());
-
-        mController.handlePreferenceTreeClick(mPreference);
-
-        verify(mContext, times(1)).startActivity(any());
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java
index 22f2d3a..962a33b 100644
--- a/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/Enable2gPreferenceControllerTest.java
@@ -29,19 +29,23 @@
 import android.content.Context;
 import android.os.Looper;
 import android.os.PersistableBundle;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
+import androidx.preference.Preference;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
+import com.android.settings.flags.Flags;
 import com.android.settings.network.CarrierConfigCache;
 import com.android.settingslib.RestrictedSwitchPreference;
 
 import org.junit.Before;
+import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
@@ -49,6 +53,8 @@
 
 @RunWith(AndroidJUnit4.class)
 public final class Enable2gPreferenceControllerTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
     private static final int SUB_ID = 2;
     private static final String PREFERENCE_KEY = "TEST_2G_PREFERENCE";
 
@@ -103,30 +109,9 @@
     }
 
     @Test
-    public void getAvailabilityStatus_hideEnable2g_returnUnavailable() {
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
-                true);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_nullCarrierConfig_returnUnavailable() {
-        doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported(
-                mTelephonyManager.CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
-                false);
-        doReturn(null).when(mCarrierConfigCache).getConfigForSubId(SUB_ID);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
     public void getAvailabilityStatus_capabilityNotSupported_returnUnavailable() {
         doReturn(false).when(mTelephonyManager).isRadioInterfaceCapabilitySupported(
                 mTelephonyManager.CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
-                false);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
     }
@@ -135,8 +120,6 @@
     public void getAvailabilityStatus_returnAvailable() {
         doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported(
                 mTelephonyManager.CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
-                false);
 
         assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
     }
@@ -160,15 +143,9 @@
     }
 
     @Test
-    public void onPreferenceChange_update() {
+    public void setChecked_disable2G() {
         when2gIsEnabledForReasonEnable2g();
 
-        // Setup state to allow disabling
-        doReturn(true).when(mTelephonyManager).isRadioInterfaceCapabilitySupported(
-                mTelephonyManager.CAPABILITY_USES_ALLOWED_NETWORK_TYPES_BITMASK);
-        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G,
-                false);
-
         // Disable 2G
         boolean changed = mController.setChecked(false);
         assertThat(changed).isEqualTo(true);
@@ -201,6 +178,43 @@
         assertThat(mController.isChecked()).isTrue();
     }
 
+    @Test
+    public void updateState_carrierDisablementSupported_carrierHidesToggle() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_REMOVE_KEY_HIDE_ENABLE_2G);
+        when2gIsDisabledByAdmin(false);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G, true);
+        mPreference.setEnabled(true);
+
+        mController.updateState((Preference) mPreference);
+
+        assertThat(mPreference.isEnabled()).isFalse();
+    }
+
+    @Test
+    public void updateState_carrierDisablementSupported_carrierShowsToggle() {
+        mSetFlagsRule.disableFlags(Flags.FLAG_REMOVE_KEY_HIDE_ENABLE_2G);
+        when2gIsDisabledByAdmin(false);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G, false);
+        mPreference.setEnabled(true);
+
+        mController.updateState((Preference) mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
+    @Test
+    public void updateState_carrierDisablementRemoved() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_REMOVE_KEY_HIDE_ENABLE_2G);
+        mPreference.setEnabled(true);
+        when2gIsDisabledByAdmin(false);
+        // Set the config, so that we can later assert it was ignored
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_HIDE_ENABLE_2G, true);
+
+        mController.updateState((Preference) mPreference);
+
+        assertThat(mPreference.isEnabled()).isTrue();
+    }
+
     private void when2gIsEnabledForReasonEnable2g() {
         when(mTelephonyManager.getAllowedNetworkTypesForReason(
                 TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_ENABLE_2G)).thenReturn(
diff --git a/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
new file mode 100644
index 0000000..1b337ca
--- /dev/null
+++ b/tests/unit/src/com/android/settings/network/telephony/EnabledNetworkModePreferenceControllerTest.java
@@ -0,0 +1,523 @@
+/*
+ * 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.telephony;
+
+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;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.GSM;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.LTE;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.NR;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.RAF_TD_SCDMA;
+import static com.android.settings.network.telephony.TelephonyConstants.RadioAccessFamily.WCDMA;
+
+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;
+
+import android.content.Context;
+import android.os.PersistableBundle;
+import android.telephony.CarrierConfigManager;
+import android.telephony.ServiceState;
+import android.telephony.SubscriptionManager;
+import android.telephony.TelephonyManager;
+
+import androidx.fragment.app.FragmentManager;
+import androidx.lifecycle.LifecycleOwner;
+import androidx.preference.ListPreference;
+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.network.CarrierConfigCache;
+import com.android.settings.network.telephony.TelephonyConstants.TelephonyManagerConstants;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+import java.util.Collections;
+
+@RunWith(AndroidJUnit4.class)
+public class EnabledNetworkModePreferenceControllerTest {
+    private static final int SUB_ID = 2;
+    public static final String KEY = "enabled_network";
+
+    private static final long ALLOWED_ALL_NETWORK_TYPE = -1;
+    private static final long DISABLED_5G_NETWORK_TYPE = ~TelephonyManager.NETWORK_TYPE_BITMASK_NR;
+
+    @Mock
+    private TelephonyManager mTelephonyManager;
+    @Mock
+    private TelephonyManager mInvalidTelephonyManager;
+    @Mock
+    private CarrierConfigCache mCarrierConfigCache;
+    @Mock
+    private ServiceState mServiceState;
+    @Mock
+    private FragmentManager mFragmentManager;
+
+    private PersistableBundle mPersistableBundle;
+    private EnabledNetworkModePreferenceController mController;
+    private ListPreference mPreference;
+    private Context mContext;
+    private LifecycleOwner mLifecycleOwner;
+    private Lifecycle mLifecycle;
+
+    @UiThreadTest
+    @Before
+    public void setUp() throws Exception {
+        MockitoAnnotations.initMocks(this);
+        mLifecycleOwner = () -> mLifecycle;
+        mLifecycle = new Lifecycle(mLifecycleOwner);
+        mContext = spy(ApplicationProvider.getApplicationContext());
+
+        CarrierConfigCache.setTestInstance(mContext, mCarrierConfigCache);
+        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
+        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
+        doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
+        doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
+                SubscriptionManager.INVALID_SUBSCRIPTION_ID);
+        doReturn(mServiceState).when(mTelephonyManager).getServiceState();
+        mPersistableBundle = new PersistableBundle();
+        doReturn(mPersistableBundle).when(mCarrierConfigCache).getConfig();
+        doReturn(mPersistableBundle).when(mCarrierConfigCache).getConfigForSubId(SUB_ID);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_CARRIER_CONFIG_APPLIED_BOOL, true);
+        mPreference = new ListPreference(mContext);
+        mController = new EnabledNetworkModePreferenceController(mContext, KEY);
+        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA);
+        when(mFragmentManager.getFragments()).thenReturn(Collections.emptyList());
+        mController.init(SUB_ID, mFragmentManager);
+        mPreference.setKey(mController.getPreferenceKey());
+    }
+
+    @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);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_5gWorldPhone_GlobalHasNr() {
+        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mController.init(SUB_ID, mFragmentManager);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .contains(String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_selectedOn5gItem() {
+        mockAllowedNetworkTypes(ALLOWED_ALL_NETWORK_TYPE);
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mController.init(SUB_ID, mFragmentManager);
+
+        // NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = NR | LTE | RAF_TD_SCDMA | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA));
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_disAllowed5g_5gOptionHidden() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(SUB_ID, mFragmentManager);
+
+        // NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = NR | LTE | RAF_TD_SCDMA | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA));
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_disAllowed5g_selectOn4gOption() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(SUB_ID, mFragmentManager);
+
+        // NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA = NR | LTE | RAF_TD_SCDMA | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (NR | LTE | RAF_TD_SCDMA | GSM | WCDMA));
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_TDSCDMA_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_NrEnableBoolFalse_5gOptionHidden() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA);
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+
+        mController.init(SUB_ID, mFragmentManager);
+
+        // NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = LTE | CDMA | EVDO | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (LTE | CDMA | EVDO | GSM | WCDMA));
+
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_GlobalDisAllowed5g_GlobalWithoutNR() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(SUB_ID, mFragmentManager);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+
+        // NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = NR | LTE | CDMA | EVDO | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (NR | LTE | CDMA | EVDO | GSM | WCDMA));
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getEntryValues())
+                .asList()
+                .doesNotContain(
+                        String.valueOf(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_GlobalDisAllowed5g_SelectOnGlobal() {
+        mockAccessFamily(TelephonyManager.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA);
+        mockAllowedNetworkTypes(DISABLED_5G_NETWORK_TYPE);
+        mController.init(SUB_ID, mFragmentManager);
+        mPersistableBundle.putBoolean(CarrierConfigManager.KEY_WORLD_MODE_ENABLED_BOOL, true);
+
+        // NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA = NR | LTE | CDMA | EVDO | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (NR | LTE | CDMA | EVDO | GSM | WCDMA));
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_updateByNetworkMode() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+
+        // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (RAF_TD_SCDMA | GSM | WCDMA));
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA));
+        assertThat(mPreference.getSummary()).isEqualTo("3G");
+    }
+
+    @UiThreadTest
+    @Test
+    public void updateState_updateByNetworkMode_useDefaultValue() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+
+        // NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA = LTE | CDMA | EVDO | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (LTE | CDMA | EVDO | GSM | WCDMA));
+        mController.updateState(mPreference);
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void onPreferenceChange_updateSuccess() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+        doReturn(true).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(
+                        TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+
+        mController.updateState(mPreference);
+        mController.onPreferenceChange(mPreference,
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+
+        assertThat(mPreference.getValue()).isEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void onPreferenceChange_updateFail() {
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA);
+        doReturn(false).when(mTelephonyManager).setPreferredNetworkTypeBitmask(
+                getRafFromNetworkType(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+
+        mController.updateState(mPreference);
+        mController.onPreferenceChange(mPreference,
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+
+        assertThat(mPreference.getValue()).isNotEqualTo(
+                String.valueOf(TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA));
+    }
+
+    @UiThreadTest
+    @Test
+    public void preferredNetworkModeNotification_preferenceUpdates() {
+
+        final PreferenceManager preferenceManager = new PreferenceManager(mContext);
+        PreferenceScreen screen = preferenceManager.createPreferenceScreen(mContext);
+        mPreference.setKey(KEY);
+        screen.addPreference(mPreference);
+        mockEnabledNetworkMode(TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+
+        // NETWORK_MODE_TDSCDMA_GSM_WCDMA = RAF_TD_SCDMA | GSM | WCDMA
+        when(mTelephonyManager.getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_USER)).thenReturn(
+                (long) (RAF_TD_SCDMA | GSM | WCDMA));
+
+        mController.displayPreference(screen);
+        mController.updateState(mPreference);
+        mLifecycle.handleLifecycleEvent(ON_START);
+
+        assertThat(Integer.parseInt(mPreference.getValue())).isEqualTo(
+                TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA);
+        assertThat(mPreference.getSummary()).isEqualTo("3G");
+    }
+
+    @UiThreadTest
+    @Test
+    public void checkResource_stringArrayLength() {
+        int id = mController.getResourcesForSubId().getIdentifier("enabled_networks_cdma_values",
+                "array", mContext.getPackageName());
+        String[] entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(4, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_cdma_no_lte_values",
+                "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(2, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier(
+                "enabled_networks_cdma_only_lte_values", "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(2, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_tdscdma_values",
+                "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(3, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier(
+                "enabled_networks_except_gsm_lte_values", "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(1, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_except_gsm_values",
+                "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(2, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_except_lte_values",
+                "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(2, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_values", "array",
+                mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(3, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier("enabled_networks_values", "array",
+                mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(3, entryValues.length);
+
+        id = mController.getResourcesForSubId().getIdentifier(
+                "preferred_network_mode_values_world_mode", "array", mContext.getPackageName());
+        entryValues = mController.getResourcesForSubId().getStringArray(id);
+        assertEquals(3, entryValues.length);
+    }
+
+    private void mockEnabledNetworkMode(int networkMode) {
+        if (networkMode == TelephonyManagerConstants.NETWORK_MODE_TDSCDMA_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_GSM_WCDMA
+                || networkMode == TelephonyManagerConstants.NETWORK_MODE_LTE_CDMA_EVDO_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_TDSCDMA_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_SUPPORT_TDSCDMA_BOOL, true);
+        } else if (networkMode == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_GSM_WCDMA
+                || networkMode
+                == TelephonyManagerConstants.NETWORK_MODE_NR_LTE_CDMA_EVDO_GSM_WCDMA) {
+            mockPhoneType(TelephonyManager.PHONE_TYPE_GSM);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_PREFER_2G_BOOL, true);
+            mPersistableBundle.putBoolean(CarrierConfigManager.KEY_LTE_ENABLED_BOOL, true);
+        }
+        mController.init(SUB_ID, mFragmentManager);
+    }
+
+    private void mockAllowedNetworkTypes(long allowedNetworkType) {
+        doReturn(allowedNetworkType).when(mTelephonyManager).getAllowedNetworkTypesForReason(
+                TelephonyManager.ALLOWED_NETWORK_TYPES_REASON_CARRIER);
+    }
+
+    private void mockAccessFamily(int networkMode) {
+        doReturn(MobileNetworkUtils.getRafFromNetworkType(networkMode))
+                .when(mTelephonyManager)
+                .getSupportedRadioAccessFamily();
+    }
+
+    private void mockPhoneType(int phoneType) {
+        doReturn(phoneType).when(mTelephonyManager).getPhoneType();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java
index b0cd780..9edbf9e 100644
--- a/tests/unit/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/Enhanced4gBasePreferenceControllerTest.java
@@ -28,9 +28,8 @@
 import android.telephony.CarrierConfigManager;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.telephony.ims.ProvisioningManager;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
@@ -57,13 +56,11 @@
     private SubscriptionManager mSubscriptionManager;
     @Mock
     private CarrierConfigCache mCarrierConfigCache;
-    @Mock
-    private ProvisioningManager mProvisioningManager;
 
     private MockVolteQueryImsState mQueryImsState;
 
     private Enhanced4gLtePreferenceController mController;
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
     private PersistableBundle mCarrierConfig;
     private Context mContext;
 
diff --git a/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
deleted file mode 100644
index 127cdfd..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/MmsMessagePreferenceControllerTest.java
+++ /dev/null
@@ -1,142 +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.spy;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.data.ApnSetting;
-
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-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 MmsMessagePreferenceControllerTest {
-    private static final int SUB_ID = 2;
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-
-    private MmsMessagePreferenceController mController;
-    private SwitchPreference mPreference;
-    private Context mContext;
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(Context.TELEPHONY_SERVICE)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
-
-        mPreference = spy(new SwitchPreference(mContext));
-        mController = new MmsMessagePreferenceController(mContext, "mms_message");
-        mController.init(SUB_ID);
-        mPreference.setKey(mController.getPreferenceKey());
-    }
-
-    @Test
-    public void getAvailabilityStatus_invalidSubscription_returnUnavailable() {
-        mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_mobileDataOn_returnUnavailable() {
-        when(mTelephonyManager.isDataEnabled()).thenReturn(true);
-
-        assertThat(mController.getAvailabilityStatus(SUB_ID)).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_meteredOff_returnUnavailable() {
-        when(mTelephonyManager.isApnMetered(ApnSetting.TYPE_MMS)).thenReturn(false);
-
-        assertThat(mController.getAvailabilityStatus(SUB_ID)).isEqualTo(CONDITIONALLY_UNAVAILABLE);
-    }
-
-    @Test
-    public void getAvailabilityStatus_mobileDataOffWithValidSubId_returnAvailable() {
-        mController.init(SUB_ID);
-        when(mTelephonyManager.isDataEnabled()).thenReturn(false);
-        when(mTelephonyManager.isApnMetered(ApnSetting.TYPE_MMS)).thenReturn(true);
-
-        assertThat(mController.getAvailabilityStatus(SUB_ID)).isEqualTo(AVAILABLE);
-    }
-
-    @Test
-    public void isChecked_returnDataFromTelephonyManager() {
-        when(mTelephonyManager.isDataEnabledForApn(ApnSetting.TYPE_MMS)).thenReturn(false);
-        assertThat(mController.isChecked()).isFalse();
-
-        when(mTelephonyManager.isDataEnabledForApn(ApnSetting.TYPE_MMS)).thenReturn(true);
-        assertThat(mController.isChecked()).isTrue();
-    }
-
-    @Test
-    public void setChecked_setDataIntoSubscriptionManager() {
-        mController.setChecked(true);
-        verify(mTelephonyManager).setMobileDataPolicyEnabled(
-                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, true);
-
-        mController.setChecked(false);
-        verify(mTelephonyManager).setMobileDataPolicyEnabled(
-                TelephonyManager.MOBILE_DATA_POLICY_MMS_ALWAYS_ALLOWED, false);
-    }
-
-    @Test
-    public void onStart_updatePreferenceUiState() {
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-        PreferenceManager preferenceManager = new PreferenceManager(mContext);
-        PreferenceScreen preferenceScreen = preferenceManager.createPreferenceScreen(mContext);
-        preferenceScreen.addPreference(mPreference);
-        mController.displayPreference(preferenceScreen);
-
-        mController.onStart();
-
-        // First is preference initialization, and second is in onStart();
-        verify(mPreference, times(2)).setChecked(anyBoolean());
-    }
-}
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 4d48025..11a490e 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MobileDataPreferenceControllerTest.java
@@ -98,6 +98,7 @@
         doReturn(mTelephonyManager).when(mContext).getSystemService(Context.TELEPHONY_SERVICE);
 
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
+        when(mSubscriptionManager.createForAllUserProfiles()).thenReturn(mSubscriptionManager);
         doReturn(mTelephonyManager).when(mTelephonyManager).createForSubscriptionId(SUB_ID);
         doReturn(mInvalidTelephonyManager).when(mTelephonyManager).createForSubscriptionId(
                 SubscriptionManager.INVALID_SUBSCRIPTION_ID);
@@ -182,7 +183,8 @@
 
         mController.onPreferenceChange(mPreference, true);
 
-        verify(mTelephonyManager).setDataEnabled(true);
+        verify(mTelephonyManager).setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER
+                ,true);
     }
 
     @Test
@@ -195,7 +197,8 @@
 
         mController.onPreferenceChange(mPreference, true);
 
-        verify(mTelephonyManager).setDataEnabled(true);
+        verify(mTelephonyManager).setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER
+                ,true);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java b/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
index 1043fdf..947ba75 100644
--- a/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/MobileNetworkUtilsTest.java
@@ -113,6 +113,7 @@
 
         mContext = spy(ApplicationProvider.getApplicationContext());
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
+        when(mSubscriptionManager.createForAllUserProfiles()).thenReturn(mSubscriptionManager);
         when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mTelephonyManager.createForSubscriptionId(SUB_ID_1)).thenReturn(mTelephonyManager);
         when(mTelephonyManager.createForSubscriptionId(SUB_ID_2)).thenReturn(mTelephonyManager2);
@@ -147,24 +148,30 @@
     public void setMobileDataEnabled_setEnabled_enabled() {
         MobileNetworkUtils.setMobileDataEnabled(mContext, SUB_ID_1, true, false);
 
-        verify(mTelephonyManager).setDataEnabled(true);
-        verify(mTelephonyManager2, never()).setDataEnabled(anyBoolean());
+        verify(mTelephonyManager)
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, true);
+        verify(mTelephonyManager2, never())
+                .setDataEnabledForReason(anyInt(), anyBoolean());
     }
 
     @Test
     public void setMobileDataEnabled_setDisabled_disabled() {
         MobileNetworkUtils.setMobileDataEnabled(mContext, SUB_ID_2, true, false);
 
-        verify(mTelephonyManager2).setDataEnabled(true);
-        verify(mTelephonyManager, never()).setDataEnabled(anyBoolean());
+        verify(mTelephonyManager2)
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, true);
+        verify(mTelephonyManager, never())
+                .setDataEnabledForReason(anyInt(), anyBoolean());
     }
 
     @Test
     public void setMobileDataEnabled_disableOtherSubscriptions() {
         MobileNetworkUtils.setMobileDataEnabled(mContext, SUB_ID_1, true, true);
 
-        verify(mTelephonyManager).setDataEnabled(true);
-        verify(mTelephonyManager2).setDataEnabled(false);
+        verify(mTelephonyManager)
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, true);
+        verify(mTelephonyManager2)
+                .setDataEnabledForReason(TelephonyManager.DATA_ENABLED_REASON_USER, false);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroupTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroupTest.java
deleted file mode 100644
index a5717ef..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderBackupCallingGroupTest.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * 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.
- */
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.doReturn;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.Looper;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.preference.PreferenceGroup;
-import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.CarrierConfigCache;
-import com.android.settingslib.core.lifecycle.Lifecycle;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.List;
-
-@RunWith(AndroidJUnit4.class)
-public class NetworkProviderBackupCallingGroupTest {
-
-    private static final int SUB_ID_1 = 1;
-    private static final int SUB_ID_2 = 2;
-
-    private static final String KEY_PREFERENCE_CATEGORY_BACKUP_CALLING =
-            "provider_model_backup_calling_category";
-    private static final String DISPLAY_NAME_1 = "Test Display Name 1";
-    private static final String DISPLAY_NAME_2 = "Test Display Name 2";
-
-    @Mock
-    private PreferenceGroup mPreferenceGroup;
-    @Mock
-    private CarrierConfigCache mCarrierConfigCache;
-    @Mock
-    private Lifecycle mLifecycle;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo1;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo2;
-    @Mock
-    private List<SubscriptionInfo> mSubscriptionInfoList;
-    @Mock
-    private TelephonyManager mTelephonyManager1;
-    @Mock
-    private TelephonyManager mTelephonyManager2;
-
-    @Mock
-    private NetworkProviderBackupCallingGroup mNetworkProviderBackupCallingGroup;
-    private Context mContext;
-    private PersistableBundle mCarrierConfig;
-    private PreferenceManager mPreferenceManager;
-    private PreferenceScreen mPreferenceScreen;
-    private SwitchPreference mSwitchPreference1;
-    private SwitchPreference mSwitchPreference2;
-
-    @Before
-    public void setUp() throws Exception {
-        MockitoAnnotations.initMocks(this);
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager1);
-        when(mTelephonyManager1.createForSubscriptionId(SUB_ID_1)).thenReturn(mTelephonyManager1);
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager2);
-        when(mTelephonyManager2.createForSubscriptionId(SUB_ID_2)).thenReturn(mTelephonyManager2);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mSubscriptionInfo1.getSubscriptionId()).thenReturn(SUB_ID_1);
-        when(mSubscriptionInfo1.getDisplayName()).thenReturn(DISPLAY_NAME_1);
-        doReturn(true).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_1);
-        mSubscriptionInfoList.add(mSubscriptionInfo1);
-        when(mSubscriptionInfo2.getSubscriptionId()).thenReturn(SUB_ID_2);
-        when(mSubscriptionInfo2.getDisplayName()).thenReturn(DISPLAY_NAME_2);
-        doReturn(true).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_2);
-        mSubscriptionInfoList.add(mSubscriptionInfo2);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
-                mSubscriptionInfoList);
-
-        CarrierConfigCache.setTestInstance(mContext, mCarrierConfigCache);
-        mCarrierConfig = new PersistableBundle();
-        doReturn(mCarrierConfig).when(mCarrierConfigCache).getConfigForSubId(SUB_ID_1);
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                true);
-        doReturn(mCarrierConfig).when(mCarrierConfigCache).getConfigForSubId(SUB_ID_2);
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                true);
-
-        if (Looper.myLooper() == null) {
-            Looper.prepare();
-        }
-
-        mPreferenceManager = new PreferenceManager(mContext);
-        mPreferenceScreen = mPreferenceManager.createPreferenceScreen(mContext);
-        when(mPreferenceGroup.getKey()).thenReturn(KEY_PREFERENCE_CATEGORY_BACKUP_CALLING);
-        when(mPreferenceGroup.getPreferenceCount()).thenReturn(2);
-        mPreferenceScreen.addPreference(mPreferenceGroup);
-
-        mNetworkProviderBackupCallingGroup = spy(new NetworkProviderBackupCallingGroup(
-                mContext, mLifecycle, mSubscriptionInfoList,
-                KEY_PREFERENCE_CATEGORY_BACKUP_CALLING));
-    }
-
-    @Test
-    public void shouldShowBackupCallingForSub_invalidSubId_returnFalse() {
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(false);
-    }
-
-    @Test
-    public void shouldShowBackupCallingForSub_carrierConfigIsUnavailable_returnFalse() {
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_CARRIER_CROSS_SIM_IMS_AVAILABLE_BOOL,
-                false);
-
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(SUB_ID_1))
-                .isEqualTo(false);
-    }
-
-    @Test
-    public void
-    shouldShowBackupCallingForSub_crossSimDisabled_returnFalse() {
-        doReturn(false).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_1);
-
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(SUB_ID_1))
-                .isEqualTo(false);
-    }
-
-    @Test
-    public void shouldBackupCallingForSub_crossSimEnabled_returnTrue() {
-        doReturn(true).when(mNetworkProviderBackupCallingGroup).isCrossSimEnabledByPlatform(
-                mContext, SUB_ID_1);
-
-        assertThat(mNetworkProviderBackupCallingGroup.hasBackupCallingFeature(SUB_ID_1))
-                .isEqualTo(true);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroupTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroupTest.java
index 9cd12fe..95f8390 100644
--- a/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroupTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/NetworkProviderWifiCallingGroupTest.java
@@ -37,7 +37,6 @@
 import android.telephony.SubscriptionInfo;
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
-import android.util.FeatureFlagUtils;
 
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
@@ -100,6 +99,7 @@
         when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(
                 mCarrierConfigManager);
         when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
+        when(mSubscriptionManager.createForAllUserProfiles()).thenReturn(mSubscriptionManager);
         when(mContext.getSystemService(TelecomManager.class)).thenReturn(mTelecomManager);
         when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
         when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
diff --git a/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java b/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
index 404f56c..080534e 100644
--- a/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/NetworkSelectSettingsTest.java
@@ -17,13 +17,14 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.content.res.Resources;
-import android.os.Bundle;
 import android.os.PersistableBundle;
 import android.telephony.CarrierConfigManager;
 import android.telephony.CellIdentity;
@@ -32,6 +33,7 @@
 import android.telephony.CellInfo;
 import android.telephony.CellInfoGsm;
 import android.telephony.CellInfoLte;
+import android.telephony.CellSignalStrength;
 import android.telephony.CellSignalStrengthGsm;
 import android.telephony.CellSignalStrengthLte;
 import android.telephony.TelephonyManager;
@@ -39,7 +41,6 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceCategory;
 import androidx.preference.PreferenceManager;
-import androidx.preference.PreferenceScreen;
 import androidx.test.annotation.UiThreadTest;
 import androidx.test.core.app.ApplicationProvider;
 
@@ -50,6 +51,7 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
 import java.util.List;
@@ -68,10 +70,6 @@
     @Mock
     public MetricsFeatureProvider mMetricsFeatureProvider;
     @Mock
-    public NetworkOperatorPreference mNetworkOperatorPreference1;
-    @Mock
-    public NetworkOperatorPreference mNetworkOperatorPreference2;
-    @Mock
     private CellInfo mCellInfo1;
     @Mock
     private CellIdentity mCellId1;
@@ -80,7 +78,6 @@
     @Mock
     private CellIdentity mCellId2;
 
-    private PreferenceScreen mPreferenceScreen;
     @Mock
     public PreferenceManager mPreferenceManager;
 
@@ -88,7 +85,6 @@
     public PreferenceCategory mPreferenceCategory;
     public boolean mIsAggregationEnabled = true;
 
-    private Bundle mInitArguments;
     private TargetClass mNetworkSelectSettings;
 
     @Before
@@ -103,8 +99,10 @@
         mPreferenceCategory = spy(new PreferenceCategory(mContext));
         doReturn(mPreferenceManager).when(mPreferenceCategory).getPreferenceManager();
         doReturn(mCellId1).when(mCellInfo1).getCellIdentity();
+        doReturn(mock(CellSignalStrength.class)).when(mCellInfo1).getCellSignalStrength();
         doReturn(CARRIER_NAME1).when(mCellId1).getOperatorAlphaLong();
         doReturn(mCellId2).when(mCellInfo2).getCellIdentity();
+        doReturn(mock(CellSignalStrength.class)).when(mCellInfo2).getCellSignalStrength();
         doReturn(CARRIER_NAME2).when(mCellId2).getOperatorAlphaLong();
         mIsAggregationEnabled = true;
         mNetworkSelectSettings = spy(new TargetClass(this));
@@ -116,8 +114,8 @@
         doReturn(TelephonyManager.DATA_CONNECTED).when(mTelephonyManager).getDataState();
     }
 
-    public class TargetClass extends NetworkSelectSettings {
-        private NetworkSelectSettingsTest mTestEnv;
+    public static class TargetClass extends NetworkSelectSettings {
+        private final NetworkSelectSettingsTest mTestEnv;
         private boolean mIsPreferenceScreenEnabled;
 
         public TargetClass(NetworkSelectSettingsTest env) {
@@ -281,11 +279,106 @@
         assertThat(mNetworkSelectSettings.doAggregation(testList)).isEqualTo(expected);
     }
 
+    @Test
+    public void doAggregation_filterOutSatellitePlmn_whenKeyIsTrue() {
+        PersistableBundle config = new PersistableBundle();
+        config.putBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL, true);
+        doReturn(config).when(mCarrierConfigManager).getConfigForSubId(eq(SUB_ID),
+                eq(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL),
+                eq(CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL));
+
+        List<String> testSatellitePlmn = new ArrayList<>(Arrays.asList("123232", "123235"));
+        doReturn(testSatellitePlmn).when(
+                mNetworkSelectSettings).getSatellitePlmnsForCarrierWrapper();
+
+        /* Expect filter out satellite plmns when
+           KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL is true, and there is available
+           satellite plmns. */
+        mNetworkSelectSettings.onCreateInitialization();
+        List<CellInfo> testList = Arrays.asList(
+                createLteCellInfo(true, 123, "123", "232", "CarrierA"),
+                createGsmCellInfo(false, 123, "123", "233", "CarrierB"),
+                createLteCellInfo(false, 1234, "123", "234", "CarrierC"),
+                createGsmCellInfo(false, 1234, "123", "235", "CarrierD"));
+        List<CellInfo> expected = Arrays.asList(
+                createGsmCellInfo(false, 123, "123", "233", "CarrierB"),
+                createLteCellInfo(false, 1234, "123", "234", "CarrierC"));
+        assertThat(mNetworkSelectSettings.doAggregation(testList)).isEqualTo(expected);
+    }
+
+    @Test
+    public void doAggregation_filterOutSatellitePlmn_whenNoSatellitePlmnIsAvailable() {
+        PersistableBundle config = new PersistableBundle();
+        config.putBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL, true);
+        doReturn(config).when(mCarrierConfigManager).getConfigForSubId(eq(SUB_ID),
+                eq(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL),
+                eq(CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL));
+
+        List<String> testSatellitePlmn = new ArrayList<>(Arrays.asList("123232", "123235"));
+        doReturn(testSatellitePlmn).when(
+                mNetworkSelectSettings).getSatellitePlmnsForCarrierWrapper();
+
+        // Expect no filter out when there is no available satellite plmns.
+        mNetworkSelectSettings.onCreateInitialization();
+        testSatellitePlmn = new ArrayList<>();
+        doReturn(testSatellitePlmn).when(
+                mNetworkSelectSettings).getSatellitePlmnsForCarrierWrapper();
+        mNetworkSelectSettings.onCreateInitialization();
+        List<CellInfo> testList = Arrays.asList(
+                createLteCellInfo(true, 123, "123", "232", "CarrierA"),
+                createGsmCellInfo(false, 123, "123", "233", "CarrierB"),
+                createLteCellInfo(false, 1234, "123", "234", "CarrierC"),
+                createGsmCellInfo(false, 12345, "123", "235", "CarrierD"));
+        List<CellInfo> expected = Arrays.asList(
+                createLteCellInfo(true, 123, "123", "232", "CarrierA"),
+                createGsmCellInfo(false, 123, "123", "233", "CarrierB"),
+                createLteCellInfo(false, 1234, "123", "234", "CarrierC"),
+                createGsmCellInfo(false, 12345, "123", "235", "CarrierD"));
+        assertThat(mNetworkSelectSettings.doAggregation(testList)).isEqualTo(expected);
+
+        // Expect no filter out when KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL is false.
+        config.putBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL, false);
+        mNetworkSelectSettings.onCreateInitialization();
+        assertThat(mNetworkSelectSettings.doAggregation(testList)).isEqualTo(expected);
+    }
+
+    @Test
+    public void doAggregation_filterOutSatellitePlmn_whenKeyIsFalse() {
+        PersistableBundle config = new PersistableBundle();
+        config.putBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL, true);
+        doReturn(config).when(mCarrierConfigManager).getConfigForSubId(eq(SUB_ID),
+                eq(CarrierConfigManager.KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL),
+                eq(CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL));
+
+        List<String> testSatellitePlmn = new ArrayList<>(Arrays.asList("123232", "123235"));
+        doReturn(testSatellitePlmn).when(
+                mNetworkSelectSettings).getSatellitePlmnsForCarrierWrapper();
+
+        // Expect no filter out when KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL is false.
+        config.putBoolean(
+                CarrierConfigManager.KEY_REMOVE_SATELLITE_PLMN_IN_MANUAL_NETWORK_SCAN_BOOL, false);
+        mNetworkSelectSettings.onCreateInitialization();
+        List<CellInfo> testList = Arrays.asList(
+                createLteCellInfo(true, 123, "123", "232", "CarrierA"),
+                createGsmCellInfo(false, 123, "123", "233", "CarrierB"),
+                createLteCellInfo(false, 1234, "123", "234", "CarrierC"),
+                createGsmCellInfo(false, 12345, "123", "235", "CarrierD"));
+        List<CellInfo> expected = Arrays.asList(
+                createLteCellInfo(true, 123, "123", "232", "CarrierA"),
+                createGsmCellInfo(false, 123, "123", "233", "CarrierB"),
+                createLteCellInfo(false, 1234, "123", "234", "CarrierC"),
+                createGsmCellInfo(false, 12345, "123", "235", "CarrierD"));
+        assertThat(mNetworkSelectSettings.doAggregation(testList)).isEqualTo(expected);
+    }
+
     private CellInfoLte createLteCellInfo(boolean registered, int cellId, String mcc, String mnc,
             String plmnName) {
         CellIdentityLte cil = new CellIdentityLte(
-                cellId, 5, 200, 2000, new int[]{1, 2}, 10000, new String(mcc),
-                new String(mnc), new String(plmnName), new String(plmnName),
+                cellId, 5, 200, 2000, new int[]{1, 2}, 10000, mcc, mnc, plmnName, plmnName,
                 Collections.emptyList(), null);
         CellSignalStrengthLte cssl = new CellSignalStrengthLte(15, 16, 17, 18, 19, 20);
 
@@ -299,8 +392,7 @@
 
     private CellInfoGsm createGsmCellInfo(boolean registered, int cellId, String mcc, String mnc,
             String plmnName) {
-        CellIdentityGsm cig = new CellIdentityGsm(1, cellId, 40, 5, new String(mcc),
-                new String(mnc), new String(plmnName), new String(plmnName),
+        CellIdentityGsm cig = new CellIdentityGsm(1, cellId, 40, 5, mcc, mnc, plmnName, plmnName,
                 Collections.emptyList());
         CellSignalStrengthGsm cssg = new CellSignalStrengthGsm(5, 6, 7);
         CellInfoGsm cellInfoGsm = new CellInfoGsm();
diff --git a/tests/unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.java
index 053fb4d..bed8ef1 100644
--- a/tests/unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/NrAdvancedCallingPreferenceControllerTest.java
@@ -29,7 +29,7 @@
 import android.telephony.SubscriptionManager;
 import android.telephony.TelephonyManager;
 
-import androidx.preference.SwitchPreference;
+import androidx.preference.TwoStatePreference;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
@@ -57,7 +57,7 @@
     private CarrierConfigCache mCarrierConfigCache;
 
     private NrAdvancedCallingPreferenceController mController;
-    private SwitchPreference mPreference;
+    private TwoStatePreference mPreference;
     private PersistableBundle mCarrierConfig;
     private Context mContext;
 
diff --git a/tests/unit/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java
index 4fb31f2..3588d38 100644
--- a/tests/unit/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/network/telephony/TelephonyBasePreferenceControllerTest.java
@@ -55,6 +55,7 @@
         mContext = spy(ApplicationProvider.getApplicationContext());
         when(mContext.getSystemService(SubscriptionManager.class))
                 .thenReturn(mSubscriptionManager);
+        when(mSubscriptionManager.createForAllUserProfiles()).thenReturn(mSubscriptionManager);
         when(mSubscriptionInfo.getSubscriptionId()).thenReturn(VALID_SUB_ID);
         mPreferenceController = new TestPreferenceController(mContext, "prefKey");
     }
diff --git a/tests/unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
deleted file mode 100644
index 5827516..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/WifiCallingPreferenceControllerTest.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * 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.
- */
-
-package com.android.settings.network.telephony;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.assertNull;
-import static org.mockito.Mockito.spy;
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.content.Intent;
-import android.os.PersistableBundle;
-import android.provider.Settings;
-import android.telecom.PhoneAccountHandle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-import android.telephony.ims.ImsMmTelManager;
-
-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.internal.R;
-import com.android.settings.core.BasePreferenceController;
-import com.android.settings.network.ims.MockWifiCallingQueryImsState;
-import com.android.settings.network.ims.WifiCallingQueryImsState;
-
-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)
-public class WifiCallingPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private CarrierConfigManager mCarrierConfigManager;
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private ImsMmTelManager mImsMmTelManager;
-
-    private PreferenceScreen mScreen;
-    private PreferenceManager mPreferenceManager;
-
-    private MockWifiCallingQueryImsState mQueryImsState;
-
-    private TestWifiCallingPreferenceController mController;
-    private Preference mPreference;
-    private Context mContext;
-    private PersistableBundle mCarrierConfig;
-
-    @Before
-    @UiThreadTest
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-
-        mQueryImsState = new MockWifiCallingQueryImsState(mContext, SUB_ID);
-        mQueryImsState.setIsEnabledByUser(true);
-        mQueryImsState.setIsProvisionedOnDevice(true);
-
-        mController = new TestWifiCallingPreferenceController(mContext, "wifi_calling");
-        mController.mCarrierConfigManager = mCarrierConfigManager;
-        mController.init(SUB_ID);
-        mController.mCallState = TelephonyManager.CALL_STATE_IDLE;
-        mCarrierConfig = new PersistableBundle();
-        when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(mCarrierConfig);
-
-        mPreferenceManager = new PreferenceManager(mContext);
-        mScreen = mPreferenceManager.createPreferenceScreen(mContext);
-        mPreference = new Preference(mContext);
-        mPreference.setKey(mController.getPreferenceKey());
-        mScreen.addPreference(mPreference);
-    }
-
-    @Test
-    @UiThreadTest
-    public void updateState_noSimCallManager_setCorrectSummary() {
-        mController.mSimCallManager = null;
-        mQueryImsState.setIsEnabledByUser(true);
-        when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
-                ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
-        when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
-                ImsMmTelManager.WIFI_MODE_WIFI_ONLY);
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.getSummary()).isEqualTo(
-                mContext.getString(com.android.internal.R.string.wfc_mode_wifi_only_summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void updateState_notCallIdle_disable() {
-        mController.mCallState = TelephonyManager.CALL_STATE_RINGING;
-
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    @UiThreadTest
-    public void updateState_invalidPhoneAccountHandle_shouldNotCrash() {
-        mController.mSimCallManager = new PhoneAccountHandle(null /* invalid */, "");
-
-        //Should not crash
-        mController.updateState(mPreference);
-    }
-
-    @Test
-    @UiThreadTest
-    public void updateState_wfcNonRoamingByConfig() {
-        assertNull(mController.mSimCallManager);
-        mCarrierConfig.putBoolean(
-                CarrierConfigManager.KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL, true);
-        mController.init(SUB_ID);
-
-        when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
-                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
-        when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
-                ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
-        mQueryImsState.setIsEnabledByUser(true);
-        when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
-
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.wfc_mode_cellular_preferred_summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void updateState_wfcRoamingByConfig() {
-        assertNull(mController.mSimCallManager);
-        // useWfcHomeModeForRoaming is false by default. In order to check wfc in roaming mode. We
-        // need the device roaming, and not using home mode in roaming network.
-        when(mImsMmTelManager.getVoWiFiRoamingModeSetting()).thenReturn(
-                ImsMmTelManager.WIFI_MODE_WIFI_PREFERRED);
-        when(mImsMmTelManager.getVoWiFiModeSetting()).thenReturn(
-                ImsMmTelManager.WIFI_MODE_CELLULAR_PREFERRED);
-        mQueryImsState.setIsEnabledByUser(true);
-        when(mTelephonyManager.isNetworkRoaming()).thenReturn(true);
-
-        mController.updateState(mPreference);
-        assertThat(mPreference.getSummary())
-                .isEqualTo(mContext.getString(R.string.wfc_mode_wifi_preferred_summary));
-    }
-
-    @Test
-    @UiThreadTest
-    public void displayPreference_notAvailable_setPreferenceInvisible() {
-        mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
-
-        mController.displayPreference(mScreen);
-
-        assertThat(mController.getPreferenceKey()).isEqualTo("wifi_calling");
-        assertThat(mScreen.findPreference(mController.getPreferenceKey()).isVisible()).isFalse();
-    }
-
-    @Test
-    @Ignore
-    public void displayPreference_available_setsSubscriptionIdOnIntent() {
-        final Intent intent = new Intent();
-        mPreference.setIntent(intent);
-        mController.displayPreference(mScreen);
-        assertThat(intent.getIntExtra(Settings.EXTRA_SUB_ID,
-                SubscriptionManager.INVALID_SUBSCRIPTION_ID)).isEqualTo(SUB_ID);
-    }
-
-    @Test
-    @UiThreadTest
-    public void getAvailabilityStatus_noWiFiCalling_shouldReturnUnsupported() {
-        mController.init(SubscriptionManager.INVALID_SUBSCRIPTION_ID);
-        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(null);
-
-        assertThat(mController.getAvailabilityStatus()).isEqualTo(
-                BasePreferenceController.UNSUPPORTED_ON_DEVICE);
-    }
-
-    private class TestWifiCallingPreferenceController extends WifiCallingPreferenceController {
-        TestWifiCallingPreferenceController(Context context, String preferenceKey) {
-            super(context, preferenceKey);
-        }
-
-        @Override
-        protected ImsMmTelManager getImsMmTelManager(int subId) {
-            return mImsMmTelManager;
-        }
-
-        @Override
-        protected TelephonyManager getTelephonyManager(Context context, int subId) {
-            return mTelephonyManager;
-        }
-
-        @Override
-        protected WifiCallingQueryImsState queryImsState(int subId) {
-            return mQueryImsState;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.java
deleted file mode 100644
index 39f2050..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/gsm/AutoSelectPreferenceControllerTest.java
+++ /dev/null
@@ -1,186 +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.gsm;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.junit.Assert.fail;
-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.ProgressDialog;
-import android.content.Context;
-import android.os.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.lifecycle.Lifecycle;
-import androidx.preference.SwitchPreference;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.network.CarrierConfigCache;
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Answers;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.concurrent.ExecutionException;
-import java.util.concurrent.Future;
-
-@RunWith(AndroidJUnit4.class)
-public class AutoSelectPreferenceControllerTest {
-    private static final int SUB_ID = 2;
-    private static final String OPERATOR_NAME = "T-mobile";
-
-    @Mock(answer = Answers.RETURNS_DEEP_STUBS)
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private CarrierConfigCache mCarrierConfigCache;
-    @Mock
-    private ProgressDialog mProgressDialog;
-    @Mock
-    private ServiceState mTestServiceState;
-    @Mock
-    private Lifecycle mLifecycle;
-
-    private PersistableBundle mCarrierConfig;
-    private AutoSelectPreferenceController mController;
-    private SwitchPreference mSwitchPreference;
-    private Context mContext;
-
-
-    @Before
-    public void setUp() {
-        MockitoAnnotations.initMocks(this);
-
-        mContext = spy(ApplicationProvider.getApplicationContext());
-
-        when(mContext.getSystemService(TelephonyManager.class)).thenReturn(mTelephonyManager);
-        when(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        CarrierConfigCache.setTestInstance(mContext, mCarrierConfigCache);
-        when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
-
-        mCarrierConfig = new PersistableBundle();
-        mCarrierConfig.putBoolean(CarrierConfigManager.KEY_ONLY_AUTO_SELECT_IN_HOME_NETWORK_BOOL,
-            true);
-        when(mCarrierConfigCache.getConfigForSubId(SUB_ID)).thenReturn(mCarrierConfig);
-
-        mSwitchPreference = new SwitchPreference(mContext);
-        mController = new AutoSelectPreferenceController(mContext, "auto_select");
-        mController.mProgressDialog = mProgressDialog;
-        mController.mSwitchPreference = mSwitchPreference;
-        mController.init(mLifecycle, SUB_ID);
-        sleepAfterInit();
-    }
-
-    private void sleepAfterInit() {
-        try {
-            Thread.sleep(2000);
-        } catch (Exception e) {
-            fail("Sleep timeout " + e);
-        }
-    }
-
-    @Test
-    public void setChecked_isChecked_showProgressDialog() {
-        when(mTelephonyManager.getNetworkSelectionMode()).thenReturn(
-            TelephonyManager.NETWORK_SELECTION_MODE_AUTO);
-
-        // Wait for asynchronous thread to finish, otherwise test will flake.
-        Future thread = mController.setAutomaticSelectionMode();
-        try {
-            thread.get();
-        } catch (ExecutionException | InterruptedException e) {
-            e.printStackTrace();
-            fail("Exception during automatic selection");
-        }
-
-        verify(mProgressDialog).show();
-        verify(mTelephonyManager).setNetworkSelectionModeAutomatic();
-    }
-
-    @Test
-    public void updateState_isRoaming_enabled() {
-        when(mTelephonyManager.getServiceState()).thenReturn(mTestServiceState);
-        when(mTestServiceState.getRoaming()).thenReturn(true);
-
-        mController.updateState(mSwitchPreference);
-
-        assertThat(mSwitchPreference.isEnabled()).isTrue();
-    }
-
-    @Test
-    public void updateState_notRoamingWithAutoSelectOn_disabled() {
-        when(mTelephonyManager.getServiceState()).thenReturn(mTestServiceState);
-        when(mTestServiceState.getRoaming()).thenReturn(false);
-        doReturn(OPERATOR_NAME).when(mTelephonyManager).getSimOperatorName();
-
-        mController.updateState(mSwitchPreference);
-
-        assertThat(mSwitchPreference.isEnabled()).isFalse();
-        assertThat(mSwitchPreference.getSummary()).isEqualTo(
-                ResourcesUtils.getResourcesString(mContext, "manual_mode_disallowed_summary",
-                mTelephonyManager.getSimOperatorName()));
-    }
-
-    @Test
-    public void init_carrierConfigNull_shouldNotCrash() {
-        when(mCarrierConfigCache.getConfigForSubId(SUB_ID)).thenReturn(null);
-
-        // Should not crash
-        mController.init(mLifecycle, SUB_ID);
-    }
-
-    @Test
-    public void updateUiAutoSelectValue_serviceStateGetIsManualSelection_isCheckedFalse() {
-        when(mTelephonyManager.getNetworkSelectionMode()).thenReturn(
-                TelephonyManager.NETWORK_SELECTION_MODE_AUTO);
-        when(mTestServiceState.getIsManualSelection()).thenReturn(true);
-        mController.init(mLifecycle, SUB_ID);
-        sleepAfterInit();
-
-        mController.updateUiAutoSelectValue(mTestServiceState);
-
-        assertThat(mController.isChecked()).isFalse();
-        assertThat(mSwitchPreference.isChecked()).isFalse();
-    }
-
-    @Test
-    public void updateUiAutoSelectValue_serviceStateGetIsAutoSelection_isCheckedTrue() {
-        when(mTelephonyManager.getNetworkSelectionMode()).thenReturn(
-                TelephonyManager.NETWORK_SELECTION_MODE_MANUAL);
-        when(mTestServiceState.getIsManualSelection()).thenReturn(false);
-        mController.init(mLifecycle, SUB_ID);
-        sleepAfterInit();
-
-        mController.updateUiAutoSelectValue(mTestServiceState);
-
-        assertThat(mController.isChecked()).isTrue();
-        assertThat(mSwitchPreference.isChecked()).isTrue();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java b/tests/unit/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java
deleted file mode 100644
index b4d49b2..0000000
--- a/tests/unit/src/com/android/settings/network/telephony/gsm/OpenNetworkSelectPagePreferenceControllerTest.java
+++ /dev/null
@@ -1,124 +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.gsm;
-
-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.PersistableBundle;
-import android.telephony.CarrierConfigManager;
-import android.telephony.ServiceState;
-import android.telephony.SubscriptionInfo;
-import android.telephony.SubscriptionManager;
-import android.telephony.TelephonyManager;
-
-import androidx.preference.Preference;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import com.android.settings.testutils.ResourcesUtils;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.Mock;
-import org.mockito.MockitoAnnotations;
-
-import java.util.Arrays;
-
-@RunWith(AndroidJUnit4.class)
-public class OpenNetworkSelectPagePreferenceControllerTest {
-    private static final int SUB_ID = 2;
-    private static final String OPERATOR_NAME = "T-mobile";
-
-    @Mock
-    private TelephonyManager mTelephonyManager;
-    @Mock
-    private SubscriptionManager mSubscriptionManager;
-    @Mock
-    private CarrierConfigManager mCarrierConfigManager;
-    @Mock
-    private ServiceState mServiceState;
-    @Mock
-    private SubscriptionInfo mSubscriptionInfo;
-
-    private PersistableBundle mCarrierConfig;
-    private OpenNetworkSelectPagePreferenceController 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(mContext.getSystemService(SubscriptionManager.class)).thenReturn(mSubscriptionManager);
-        when(mContext.getSystemService(CarrierConfigManager.class)).thenReturn(
-                mCarrierConfigManager);
-        when(mTelephonyManager.createForSubscriptionId(SUB_ID)).thenReturn(mTelephonyManager);
-        when(mTelephonyManager.getServiceState()).thenReturn(mServiceState);
-
-        mCarrierConfig = new PersistableBundle();
-        when(mCarrierConfigManager.getConfigForSubId(SUB_ID)).thenReturn(mCarrierConfig);
-
-        when(mSubscriptionInfo.getSubscriptionId()).thenReturn(SUB_ID);
-        when(mSubscriptionInfo.getCarrierName()).thenReturn(OPERATOR_NAME);
-
-        when(mSubscriptionManager.getActiveSubscriptionInfoList()).thenReturn(
-                Arrays.asList(mSubscriptionInfo));
-
-        when(mTelephonyManager.getNetworkOperatorName()).thenReturn(OPERATOR_NAME);
-
-        mPreference = new Preference(mContext);
-        mController = new OpenNetworkSelectPagePreferenceController(mContext,
-                "open_network_select") {
-            @Override
-            public void updateState(Preference preference) {
-                super.updateState(mPreference);
-            }
-        };
-        mController.init(SUB_ID);
-    }
-
-    @Test
-    public void updateState_modeAuto_disabled() {
-        mController.onNetworkSelectModeUpdated(TelephonyManager.NETWORK_SELECTION_MODE_AUTO);
-        mController.updateState(mPreference);
-
-        assertThat(mPreference.isEnabled()).isFalse();
-    }
-
-    @Test
-    public void getSummary_inService_returnOperatorName() {
-        when(mServiceState.getState()).thenReturn(ServiceState.STATE_IN_SERVICE);
-
-        assertThat(mController.getSummary()).isEqualTo(OPERATOR_NAME);
-    }
-
-    @Test
-    public void getSummary_notInService_returnDisconnect() {
-        when(mServiceState.getState()).thenReturn(ServiceState.STATE_OUT_OF_SERVICE);
-
-        assertThat(mController.getSummary()).isEqualTo(
-                ResourcesUtils.getResourcesString(mContext, "network_disconnected"));
-    }
-}
diff --git a/tests/unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java b/tests/unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java
index 4aae76c..daa2afb 100644
--- a/tests/unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java
+++ b/tests/unit/src/com/android/settings/notification/app/ChannelListPreferenceControllerTest.java
@@ -34,7 +34,7 @@
 import androidx.preference.PreferenceGroup;
 import androidx.preference.PreferenceManager;
 import androidx.preference.PreferenceScreen;
-import androidx.preference.SwitchPreference;
+import androidx.preference.SwitchPreferenceCompat;
 import androidx.test.annotation.UiThreadTest;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
@@ -275,7 +275,7 @@
             PreferenceGroup group = (PreferenceGroup) mGroupList.getPreference(0);
             assertEquals("group", group.getKey());
             assertEquals(3, group.getPreferenceCount());
-            SwitchPreference groupBlockPref = (SwitchPreference) group.getPreference(0);
+            SwitchPreferenceCompat groupBlockPref = (SwitchPreferenceCompat) group.getPreference(0);
             assertNull(groupBlockPref.getKey());
             assertEquals("All \"My Group\" notifications", groupBlockPref.getTitle().toString());
             assertTrue(groupBlockPref.isChecked());
@@ -297,7 +297,7 @@
             PreferenceGroup group = (PreferenceGroup) mGroupList.getPreference(0);
             assertEquals("group", group.getKey());
             assertEquals(1, group.getPreferenceCount());
-            SwitchPreference groupBlockPref = (SwitchPreference) group.getPreference(0);
+            SwitchPreferenceCompat groupBlockPref = (SwitchPreferenceCompat) group.getPreference(0);
             assertNull(groupBlockPref.getKey());
             assertEquals("All \"My Group\" notifications", groupBlockPref.getTitle().toString());
             assertFalse(groupBlockPref.isChecked());
@@ -311,7 +311,7 @@
             PreferenceGroup group = (PreferenceGroup) mGroupList.getPreference(0);
             assertEquals("group", group.getKey());
             assertEquals(3, group.getPreferenceCount());
-            SwitchPreference groupBlockPref = (SwitchPreference) group.getPreference(0);
+            SwitchPreferenceCompat groupBlockPref = (SwitchPreferenceCompat) group.getPreference(0);
             assertNull(groupBlockPref.getKey());
             assertEquals("All \"My Group\" notifications", groupBlockPref.getTitle().toString());
             assertTrue(groupBlockPref.isChecked());
diff --git a/tests/unit/src/com/android/settings/privacy/CameraExtensionsFallbackPreferenceControllerTest.java b/tests/unit/src/com/android/settings/privacy/CameraExtensionsFallbackPreferenceControllerTest.java
new file mode 100644
index 0000000..8871be9
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privacy/CameraExtensionsFallbackPreferenceControllerTest.java
@@ -0,0 +1,91 @@
+/*
+ * 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.privacy;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.privacy.CameraExtensionsFallbackPreferenceController;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class CameraExtensionsFallbackPreferenceControllerTest {
+
+    private static final String KEY = "camera_extensions_fallback";
+    private final Context mContext = ApplicationProvider.getApplicationContext();
+
+    private int mOriginalPreference;
+    private ContentResolver mContentResolver;
+    private CameraExtensionsFallbackPreferenceController mController;
+
+    @Before
+    public void setUp() {
+        mContentResolver = mContext.getContentResolver();
+        mOriginalPreference = Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.CAMERA_EXTENSIONS_FALLBACK, 1);
+        mController = new CameraExtensionsFallbackPreferenceController(mContext, KEY);
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.CAMERA_EXTENSIONS_FALLBACK,
+                mOriginalPreference);
+    }
+
+    @Test
+    public void getAvailability_returnAvailable() {
+        assertThat(mController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    @Test
+    public void setChecked_disable_shouldTurnOff() {
+        Settings.Secure.putInt(mContentResolver,
+                Settings.Secure.CAMERA_EXTENSIONS_FALLBACK, 1);
+
+        assertThat(mController.isChecked()).isTrue();
+
+        mController.setChecked(false);
+
+        assertThat(Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.CAMERA_EXTENSIONS_FALLBACK, -1)).isEqualTo(0);
+    }
+
+    @Test
+    public void setChecked_enable_shouldTurnOn() {
+        Settings.Secure.putInt(mContentResolver,
+                Settings.Secure.CAMERA_EXTENSIONS_FALLBACK, 0);
+
+        assertThat(mController.isChecked()).isFalse();
+
+        mController.setChecked(true);
+
+        assertThat(Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.CAMERA_EXTENSIONS_FALLBACK, -1)).isEqualTo(1);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/FaceFingerprintUnlockControllerTest.java b/tests/unit/src/com/android/settings/privatespace/FaceFingerprintUnlockControllerTest.java
new file mode 100644
index 0000000..f1da363
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/FaceFingerprintUnlockControllerTest.java
@@ -0,0 +1,128 @@
+/*
+ * 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.privatespace;
+
+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.when;
+
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.privatespace.onelock.FaceFingerprintUnlockController;
+import com.android.settings.testutils.FakeFeatureFactory;
+import com.android.settingslib.core.lifecycle.Lifecycle;
+
+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;
+
+@RunWith(AndroidJUnit4.class)
+public class FaceFingerprintUnlockControllerTest {
+    @Mock private Context mContext;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock Lifecycle mLifecycle;
+    @Mock LockPatternUtils mLockPatternUtils;
+
+    private Preference mPreference;
+    private FaceFingerprintUnlockController mFaceFingerprintUnlockController;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        final String preferenceKey = "private_space_biometrics";
+
+        mPreference = new Preference(ApplicationProvider.getApplicationContext());
+        mPreference.setKey(preferenceKey);
+
+        final FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+        when(featureFactory.securityFeatureProvider.getLockPatternUtils(mContext))
+                .thenReturn(mLockPatternUtils);
+
+        mFaceFingerprintUnlockController =
+                new FaceFingerprintUnlockController(mContext, mLifecycle);
+    }
+
+    /** Tests that the controller is always available. */
+    @Test
+    public void getAvailabilityStatus_whenFlagsEnabled_returnsAvailable() {
+        mSetFlagsRule.enableFlags(
+                android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
+
+        assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(true);
+    }
+
+    /** Tests that the controller is not available when Biometrics flag is not enabled. */
+    @Test
+    public void getAvailabilityStatus_whenBiometricFlagDisabled_returnsFalse() {
+        mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mSetFlagsRule.disableFlags(
+                android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
+
+        assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false);
+    }
+
+    /** Tests that the controller is not available when private feature flag is not enabled. */
+    @Test
+    public void getAvailabilityStatus_whenPrivateFlagDisabled_returnsFalse() {
+        mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mSetFlagsRule.enableFlags(
+                android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
+
+        assertThat(mFaceFingerprintUnlockController.isAvailable()).isEqualTo(false);
+    }
+
+    /** Tests that preference is disabled and summary says same as device lock. */
+    @Test
+    public void getSummary_whenScreenLock() {
+        doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        mSetFlagsRule.enableFlags(
+                android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
+
+        mFaceFingerprintUnlockController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(mPreference.getSummary().toString()).isEqualTo("Same as device screen lock");
+    }
+
+    /** Tests that preference is enabled and summary is not same as device lock. */
+    @Test
+    public void getSummary_whenSeparateProfileLock() {
+        doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        mSetFlagsRule.enableFlags(
+                android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_ENABLE_BIOMETRICS_TO_UNLOCK_PRIVATE_SPACE);
+
+        mFaceFingerprintUnlockController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isNotEqualTo("Same as device screen lock");
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceControllerTest.java b/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceControllerTest.java
new file mode 100644
index 0000000..0abe314
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceControllerTest.java
@@ -0,0 +1,109 @@
+/*
+ * 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.privatespace;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Flags;
+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.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE)
+public class HidePrivateSpaceControllerTest {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
+
+    private static final String KEY = "private_space_hidden";
+    private static final String DETAIL_PAGE_KEY = "private_space_hidden_details";
+    private Context mContext;
+    private HidePrivateSpaceSummaryController mHidePrivateSpaceSummaryController;
+    private HidePrivateSpaceController mHidePrivateSpaceController;
+    private ContentResolver mContentResolver;
+    private int mOriginalHiddenValue;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContentResolver = mContext.getContentResolver();
+        mHidePrivateSpaceSummaryController = new HidePrivateSpaceSummaryController(mContext, KEY);
+        mHidePrivateSpaceController =
+                new HidePrivateSpaceController(mContext, DETAIL_PAGE_KEY);
+        mOriginalHiddenValue = Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT, 0);
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+                mOriginalHiddenValue);
+    }
+
+    /** Tests that the controller is always available. */
+    @Test
+    public void getAvailabilityStatus_returnsAvailable() {
+        assertThat(mHidePrivateSpaceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    /** Tests that hide preference summary displays On when hide toggle is enabled.*/
+    @Test
+    public void setChecked_enable_shouldDisplayOn() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+                0);
+        assertThat(mHidePrivateSpaceController.isChecked()).isFalse();
+
+        mHidePrivateSpaceController.setChecked(true);
+
+        assertThat(mHidePrivateSpaceSummaryController.getSummary().toString())
+                .isEqualTo("On");
+        assertThat(mHidePrivateSpaceController.isChecked()).isTrue();
+    }
+
+    /** Tests that hide preference summary displays Off when toggle is disabled.*/
+    @Test
+    public void setChecked_disable_shouldDisplayOff() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+                1);
+
+        assertThat(mHidePrivateSpaceController.isChecked()).isTrue();
+
+        mHidePrivateSpaceController.setChecked(false);
+
+        assertThat(mHidePrivateSpaceSummaryController.getSummary().toString())
+                .isEqualTo("Off");
+        assertThat(mHidePrivateSpaceController.isChecked()).isFalse();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsControllerTest.java b/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsControllerTest.java
new file mode 100644
index 0000000..1430dfd
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceSensitiveNotificationsControllerTest.java
@@ -0,0 +1,162 @@
+/*
+ * 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 static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.DISABLED_DEPENDENT_SETTING;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.junit.Assume.assumeTrue;
+import static org.mockito.Mockito.spy;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+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;
+
+/**
+ * Tests for HidePrivateSpaceSensitiveNotificationsController.
+ * Run as {@code atest SettingsUnitTests:HidePrivateSpaceSensitiveNotificationsControllerTest}
+ */
+@RunWith(AndroidJUnit4.class)
+public class HidePrivateSpaceSensitiveNotificationsControllerTest {
+    @Rule
+    public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    private Context mContext;
+    private HidePrivateSpaceSensitiveNotificationsController
+            mHidePrivateSpaceSensitiveNotificationsController;
+    @Mock
+    private ContentResolver mContentResolver;
+    private int mOriginalDeviceSensitiveNotifValue;
+    private int mOriginalDeviceNotifValue;
+    private int mOriginalPsSensitiveNotifValue;
+    private int mPrivateProfileId;
+
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContentResolver = mContext.getContentResolver();
+        assumeTrue(PrivateSpaceMaintainer.getInstance(mContext).doesPrivateSpaceExist());
+
+        mSetFlagsRule.enableFlags(
+                android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE);
+        mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateProfileId = PrivateSpaceMaintainer.getInstance(
+                mContext).getPrivateProfileHandle().getIdentifier();
+
+        mOriginalDeviceSensitiveNotifValue = Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1);
+        mOriginalDeviceNotifValue = Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
+        mOriginalPsSensitiveNotifValue = Settings.Secure.getIntForUser(mContentResolver,
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0, mPrivateProfileId);
+
+        final String preferenceKey = "private_space_sensitive_notifications";
+        mHidePrivateSpaceSensitiveNotificationsController =
+                new HidePrivateSpaceSensitiveNotificationsController(mContext, preferenceKey);
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Secure.putInt(mContentResolver,
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                mOriginalDeviceSensitiveNotifValue
+        );
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, mOriginalDeviceNotifValue);
+        Settings.Secure.putIntForUser(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                mOriginalPsSensitiveNotifValue, mPrivateProfileId);
+    }
+
+    /**
+     * Tests that the controller is unavailable if lockscreen sensitive notifications are disabled
+     * on the device.
+     */
+    @Test
+    public void getAvailabilityStatus_lockScreenPrivateNotificationsOff() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 0);
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.getAvailabilityStatus())
+                .isEqualTo(DISABLED_DEPENDENT_SETTING);
+    }
+
+    /**
+     * Tests that the controller is unavailable if lockscreen notifications are disabled on the
+     * device.
+     */
+    @Test
+    public void getAvailabilityStatus_lockScreenNotificationsOff() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 0);
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.getAvailabilityStatus())
+                .isEqualTo(DISABLED_DEPENDENT_SETTING);
+    }
+
+    /**
+     * Tests that the controller is available if lockscreen notifications and lockscreen private
+     * notifications are enabled on the device.
+     */
+    @Test
+    public void getAvailabilityStatus_returnAvailable() {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1);
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.getAvailabilityStatus())
+                .isEqualTo(AVAILABLE);
+    }
+
+
+    /**
+     * Tests that toggle is not available if the flag for this feature and MVP flag are disabled.
+     */
+    @Test
+    public void getAvailabilityStatus_flagDisabled() {
+        mSetFlagsRule.disableFlags(
+                android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE);
+        mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_SHOW_NOTIFICATIONS, 1);
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS, 1);
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.getAvailabilityStatus())
+                .isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    @Test
+    public void testSetChecked() {
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.setChecked(true)).isTrue();
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.isChecked()).isEqualTo(true);
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.setChecked(false)).isTrue();
+        assertThat(mHidePrivateSpaceSensitiveNotificationsController.isChecked()).isEqualTo(false);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceSummaryControllerTest.java b/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceSummaryControllerTest.java
new file mode 100644
index 0000000..39f7b9c
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/HidePrivateSpaceSummaryControllerTest.java
@@ -0,0 +1,99 @@
+/*
+ * 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.privatespace;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Flags;
+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.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+@RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE)
+public class HidePrivateSpaceSummaryControllerTest {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
+    private Context mContext;
+    private HidePrivateSpaceSummaryController mHidePrivateSpaceSummaryController;
+    private ContentResolver mContentResolver;
+    private int mOriginalHiddenValue;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContentResolver = mContext.getContentResolver();
+        final String preferenceKey = "private_space_hidden";
+
+        mHidePrivateSpaceSummaryController =
+                new HidePrivateSpaceSummaryController(mContext, preferenceKey);
+        mOriginalHiddenValue = Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT, 0);
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+                mOriginalHiddenValue);
+    }
+
+    /** Tests that the controller is always available. */
+    @Test
+    public void getAvailabilityStatus_returnsAvailable() {
+        assertThat(mHidePrivateSpaceSummaryController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    /** Tests that the preference summary displays On when hide is enabled.*/
+    @Test
+    public void setEnabled_shouldDisplayOn() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT, 1);
+
+        assertThat(Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT, -1)).isEqualTo(1);
+        assertThat(mHidePrivateSpaceSummaryController.getSummary().toString())
+                .isEqualTo("On");
+    }
+
+    /** Tests that the preference summary displays Off when hide is disabled.*/
+    @Test
+    public void setDisabled_shouldDisplayOff() {
+        Settings.Secure.putInt(mContentResolver, Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT, 0);
+
+        assertThat(Settings.Secure.getInt(mContentResolver,
+                Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT, -1)).isEqualTo(0);
+        assertThat(mHidePrivateSpaceSummaryController.getSummary().toString())
+                .isEqualTo("Off");
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivityTest.java b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivityTest.java
new file mode 100644
index 0000000..4c6feea
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceAuthenticationActivityTest.java
@@ -0,0 +1,101 @@
+/*
+ * 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.privatespace;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.content.Intent;
+import android.os.Flags;
+import android.platform.test.annotations.RequiresFlagsEnabled;
+import android.platform.test.flag.junit.CheckFlagsRule;
+import android.platform.test.flag.junit.DeviceFlagsValueProvider;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+import androidx.test.platform.app.InstrumentationRegistry;
+
+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;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceAuthenticationActivityTest {
+    @Rule
+    public final CheckFlagsRule mCheckFlagsRule =
+            DeviceFlagsValueProvider.createCheckFlagsRule();
+    @Mock private PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+    @Mock private Context mContext;
+    private PrivateSpaceAuthenticationActivity mPrivateSpaceAuthenticationActivity;
+    private Intent mDefaultIntent;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mContext = ApplicationProvider.getApplicationContext();
+        mDefaultIntent = new Intent();
+        mDefaultIntent.setClass(InstrumentationRegistry.getInstrumentation().getTargetContext(),
+                PrivateSpaceAuthenticationActivity.class);
+        InstrumentationRegistry.getInstrumentation().runOnMainSync(() -> {
+            try {
+                mPrivateSpaceAuthenticationActivity =
+                        spy((PrivateSpaceAuthenticationActivity) InstrumentationRegistry
+                                .getInstrumentation().newActivity(
+                                        getClass().getClassLoader(),
+                                        PrivateSpaceAuthenticationActivity.class.getName(),
+                                        mDefaultIntent));
+            } catch (Exception e) {
+                throw new RuntimeException(e); // nothing to do
+            }
+        });
+        doNothing().when(mPrivateSpaceAuthenticationActivity).startActivity(any(Intent.class));
+        PrivateSpaceAuthenticationActivity.Injector injector =
+                new PrivateSpaceAuthenticationActivity.Injector() {
+                    @Override
+                    PrivateSpaceMaintainer injectPrivateSpaceMaintainer(Context context) {
+                        return mPrivateSpaceMaintainer;
+                    }
+                };
+        mPrivateSpaceAuthenticationActivity.setPrivateSpaceMaintainer(injector);
+    }
+
+    /** Tests that when Private does not exist setup flow is started. */
+    //TODO(b/307729746) Plan to add more tests for complete setup flow
+    @Test
+    @RequiresFlagsEnabled(Flags.FLAG_ALLOW_PRIVATE_PROFILE)
+    public void whenPrivateProfileDoesNotExist_triggersSetupFlow() {
+        when(mPrivateSpaceMaintainer.doesPrivateSpaceExist()).thenReturn(false);
+
+        final ArgumentCaptor<Intent> intentCaptor = ArgumentCaptor.forClass(Intent.class);
+        mPrivateSpaceAuthenticationActivity.onLockAuthentication(mContext);
+        verify(mPrivateSpaceAuthenticationActivity).startActivity(intentCaptor.capture());
+        assertThat(intentCaptor.getValue().getComponent().getClassName())
+                .isEqualTo(PrivateSpaceSetupActivity.class.getName());
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/PrivateSpaceLockControllerTest.java b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceLockControllerTest.java
new file mode 100644
index 0000000..0d9db7e
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceLockControllerTest.java
@@ -0,0 +1,138 @@
+/*
+ * 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.privatespace;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+
+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.when;
+
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.SettingsPreferenceFragment;
+import com.android.settings.privatespace.onelock.PrivateSpaceLockController;
+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.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceLockControllerTest {
+    @Mock
+    private Context mContext;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    @Mock SettingsPreferenceFragment mSettingsPreferenceFragment;
+    @Mock
+    LockPatternUtils mLockPatternUtils;
+
+    private Preference mPreference;
+    private PrivateSpaceLockController mPrivateSpaceLockController;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        final String preferenceKey = "unlock_set_or_change_private_lock";
+
+        mPreference = new Preference(ApplicationProvider.getApplicationContext());
+        mPreference.setKey(preferenceKey);
+
+        final FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+        when(featureFactory.securityFeatureProvider.getLockPatternUtils(mContext))
+                .thenReturn(mLockPatternUtils);
+
+        mPrivateSpaceLockController = new PrivateSpaceLockController(mContext,
+                mSettingsPreferenceFragment);
+    }
+
+    /** Tests that the controller is always available. */
+    @Test
+    public void getAvailabilityStatus_returnsAvailable() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        assertThat(mPrivateSpaceLockController.isAvailable()).isEqualTo(true);
+    }
+
+    /** Tests that preference is disabled and summary says same as device lock. */
+    @Test
+    public void getSummary_whenScreenLock() {
+        doReturn(false).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateSpaceLockController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isFalse();
+        assertThat(mPreference.getSummary().toString()).isEqualTo("Same as device screen lock");
+    }
+
+    /** Tests that preference is enabled and summary is Pattern. */
+    @Test
+    public void getSummary_whenProfileLockPattern() {
+        doReturn(true)
+                .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        doReturn(CREDENTIAL_TYPE_PATTERN)
+                .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateSpaceLockController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isEqualTo("Pattern");
+    }
+
+    /** Tests that preference is enabled and summary is Pin. */
+    @Test
+    public void getSummary_whenProfileLockPin() {
+        doReturn(true).when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateSpaceLockController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isEqualTo("PIN");
+    }
+
+    /** Tests that preference is enabled and summary is Password. */
+    @Test
+    public void getSummary_whenProfileLockPassword() {
+        doReturn(true)
+                .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        doReturn(CREDENTIAL_TYPE_PASSWORD)
+                .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateSpaceLockController.updateState(mPreference);
+        assertThat(mPreference.isEnabled()).isTrue();
+        assertThat(mPreference.getSummary().toString()).isEqualTo("Password");
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java
new file mode 100644
index 0000000..8510b11
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceMaintainerTest.java
@@ -0,0 +1,316 @@
+/*
+ * 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.privatespace;
+
+import static android.provider.Settings.Secure.LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS;
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK;
+
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.app.ActivityManager;
+import android.app.IActivityManager;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Flags;
+import android.os.RemoteException;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.privatespace.PrivateSpaceMaintainer.ErrorDeletingPrivateSpace;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceMaintainerTest {
+    private static final String TAG = "PSMaintainerTest";
+    private Context mContext;
+    private ContentResolver mContentResolver;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        mContentResolver = mContext.getContentResolver();
+    }
+
+    @After
+    public void tearDown() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.deletePrivateSpace();
+    }
+
+    /** Tests that {@link PrivateSpaceMaintainer#deletePrivateSpace()} deletes PS when PS exists. */
+    @Test
+    public void deletePrivateSpace_psExists_deletesPS() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        ErrorDeletingPrivateSpace errorDeletingPrivateSpace =
+                privateSpaceMaintainer.deletePrivateSpace();
+        assertThat(errorDeletingPrivateSpace)
+                .isEqualTo(ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NONE);
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isFalse();
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#deletePrivateSpace()} returns error when PS does not
+     * exist.
+     */
+    @Test
+    public void deletePrivateSpace_psDoesNotExist_returnsNoPSError() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        ErrorDeletingPrivateSpace errorDeletingPrivateSpace =
+                privateSpaceMaintainer.deletePrivateSpace();
+        assertThat(errorDeletingPrivateSpace)
+                .isEqualTo(ErrorDeletingPrivateSpace.DELETE_PS_ERROR_NO_PRIVATE_SPACE);
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isFalse();
+    }
+
+    /** Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exists creates PS. */
+    @Test
+    public void createPrivateSpace_psDoesNotExist_createsPS() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.deletePrivateSpace();
+        assertThat(privateSpaceMaintainer.createPrivateSpace()).isTrue();
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exists still returns
+     * true.
+     */
+    @Test
+    public void createPrivateSpace_psExists_returnsFalse() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.deletePrivateSpace();
+        assertThat(privateSpaceMaintainer.createPrivateSpace()).isTrue();
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+        assertThat(privateSpaceMaintainer.createPrivateSpace()).isTrue();
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when no PS exists resets hide
+     * PS Settings.
+     */
+    @Test
+    public void createPrivateSpace_psDoesNotExist_resetsHidePSSettings() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+                HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
+
+        privateSpaceMaintainer.deletePrivateSpace();
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.getHidePrivateSpaceEntryPointSetting())
+                .isEqualTo(HIDE_PRIVATE_SPACE_ENTRY_POINT_DISABLED_VAL);
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} sets the PS sensitive
+     * notifications to hidden by default.
+     */
+    @Test
+    public void createPrivateSpace_psDoesNotExist_setsDefaultPsSensitiveNotificationsValue() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_ENABLE_PS_SENSITIVE_NOTIFICATIONS_TOGGLE);
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.deletePrivateSpace();
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+        assertThat(getPsSensitiveNotificationsValue(privateSpaceMaintainer))
+                .isEqualTo(HidePrivateSpaceSensitiveNotificationsController.DISABLED);
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exist does not reset
+     * hide PS Settings.
+     */
+    @Test
+    public void createPrivateSpace_psExists_doesNotResetHidePSSettings() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.HIDE_PRIVATESPACE_ENTRY_POINT,
+                HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
+
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.getHidePrivateSpaceEntryPointSetting())
+                .isEqualTo(HIDE_PRIVATE_SPACE_ENTRY_POINT_ENABLED_VAL);
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#lockPrivateSpace()} when PS exists and is running
+     * locks the private profile.
+     */
+    @Test
+    public void lockPrivateSpace_psExistsAndPrivateProfileRunning_locksCreatedPrivateSpace() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+        assertThat(privateSpaceMaintainer.isPrivateProfileRunning()).isTrue();
+        assertThat(privateSpaceMaintainer.isPrivateSpaceLocked()).isFalse();
+        assertThat(privateSpaceMaintainer.lockPrivateSpace()).isTrue();
+        assertThat(privateSpaceMaintainer.isPrivateSpaceLocked()).isTrue();
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#lockPrivateSpace()} when PS exist and private
+     * profile not running returns false.
+     */
+    @Test
+    public void lockPrivateSpace_psExistsAndPrivateProfileNotRunning_returnsFalse() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isTrue();
+        assertThat(privateSpaceMaintainer.isPrivateProfileRunning()).isTrue();
+        IActivityManager am = ActivityManager.getService();
+        try {
+            am.stopProfile(privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier());
+        } catch (RemoteException e) {
+            Assert.fail("Stop profile failed with exception " + e.getMessage());
+        }
+        assertThat(privateSpaceMaintainer.isPrivateProfileRunning()).isFalse();
+        assertThat(privateSpaceMaintainer.lockPrivateSpace()).isFalse();
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#lockPrivateSpace()} when no PS exists returns false.
+     */
+    @Test
+    public void lockPrivateSpace_psDoesNotExist_returnsFalse() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        assertThat(privateSpaceMaintainer.doesPrivateSpaceExist()).isFalse();
+        assertThat(privateSpaceMaintainer.lockPrivateSpace()).isFalse();
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when no PS exists sets
+     * USER_SETUP_COMPLETE setting.
+     */
+    @Test
+    public void createPrivateSpace_psDoesNotExist_setsUserSetupComplete() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(getSecureUserSetupComplete()).isEqualTo(1);
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exists does not change
+     * USER_SETUP_COMPLETE setting.
+     */
+    @Test
+    public void createPrivateSpace_pSExists_doesNotChangeUserSetupSetting() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(getSecureUserSetupComplete()).isEqualTo(1);
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(getSecureUserSetupComplete()).isEqualTo(1);
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when no PS exists resets PS
+     * auto lock Settings.
+     */
+    @Test
+    public void createPrivateSpace_psDoesNotExist_resetsPSAutoLockSettings() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+        final int autoLockOption = 2;
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        Settings.Secure.putInt(
+                mContentResolver, Settings.Secure.PRIVATE_SPACE_AUTO_LOCK, autoLockOption);
+
+        privateSpaceMaintainer.deletePrivateSpace();
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.getPrivateSpaceAutoLockSetting())
+                .isEqualTo(PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+        assertThat(Settings.Secure.getInt(mContentResolver, PRIVATE_SPACE_AUTO_LOCK, -1))
+                .isEqualTo(PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+    }
+
+    /**
+     * Tests that {@link PrivateSpaceMaintainer#createPrivateSpace()} when PS exist does not reset
+     * PS auto lock setting.
+     */
+    @Test
+    public void createPrivateSpace_psExists_doesNotResetPSAutoLockSettings() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+        final int privateSpaceAutLockValue = 1;
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        privateSpaceMaintainer.createPrivateSpace();
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK,
+                privateSpaceAutLockValue);
+
+        privateSpaceMaintainer.createPrivateSpace();
+        assertThat(privateSpaceMaintainer.getPrivateSpaceAutoLockSetting())
+                .isEqualTo(privateSpaceAutLockValue);
+    }
+
+    private int getSecureUserSetupComplete() {
+        PrivateSpaceMaintainer privateSpaceMaintainer =
+                PrivateSpaceMaintainer.getInstance(mContext);
+        return Settings.Secure.getIntForUser(
+                mContentResolver,
+                Settings.Secure.USER_SETUP_COMPLETE,
+                0,
+                privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier());
+    }
+
+    private int getPsSensitiveNotificationsValue(PrivateSpaceMaintainer privateSpaceMaintainer) {
+        return Settings.Secure.getIntForUser(mContentResolver,
+                LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS,
+                HidePrivateSpaceSensitiveNotificationsController.ENABLED,
+                privateSpaceMaintainer.getPrivateProfileHandle().getIdentifier());
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/PrivateSpaceSafetySourceTest.java b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceSafetySourceTest.java
new file mode 100644
index 0000000..cf9ea05
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/PrivateSpaceSafetySourceTest.java
@@ -0,0 +1,146 @@
+/*
+ * 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.privatespace;
+
+
+import static android.safetycenter.SafetyEvent.SAFETY_EVENT_TYPE_DEVICE_REBOOTED;
+
+import static com.android.settings.privatespace.PrivateSpaceSafetySource.SAFETY_SOURCE_ID;
+
+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.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.safetycenter.SafetyEvent;
+import android.safetycenter.SafetySourceData;
+import android.safetycenter.SafetySourceStatus;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.safetycenter.SafetyCenterManagerWrapper;
+
+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;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceSafetySourceTest {
+    private static final SafetyEvent EVENT_TYPE_DEVICE_REBOOTED =
+            new SafetyEvent.Builder(SAFETY_EVENT_TYPE_DEVICE_REBOOTED).build();
+    private Context mContext = ApplicationProvider.getApplicationContext();
+    @Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        SafetyCenterManagerWrapper.sInstance = mSafetyCenterManagerWrapper;
+    }
+
+    /** Required setup after a test. */
+    @After
+    public void tearDown() {
+        SafetyCenterManagerWrapper.sInstance = null;
+    }
+
+    /** Tests that when SC is disabled we don't set any data. */
+    @Test
+    public void onDeviceRebootedEvent_whenSafetyCenterDisabled_doesNotSetData() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(false);
+
+        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
+
+        verify(mSafetyCenterManagerWrapper, never()).setSafetySourceData(
+                any(), any(), any(), any());
+    }
+
+    /** Tests that when SC is enabled we set data. */
+    @Test
+    public void onDeviceRebootedEvent_whenSafetyCenterEnabled_setsData() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
+
+        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
+                any(), eq(SAFETY_SOURCE_ID), any(), eq(EVENT_TYPE_DEVICE_REBOOTED));
+    }
+
+    /** Tests that when the feature is disabled null data is set. */
+    @Test
+    public void setSafetySourceData_whenFeatureDisabled_setsNullData() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
+        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
+
+        ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
+        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
+                any(), eq(SAFETY_SOURCE_ID), captor.capture(), eq(EVENT_TYPE_DEVICE_REBOOTED));
+        SafetySourceData safetySourceData = captor.getValue();
+        assertThat(safetySourceData).isNull();
+    }
+
+    /** Tests that setSafetySourceData sets the source status enabled. */
+    @Test
+    public void setSafetySourceData_setsEnabled() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
+
+        ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
+        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
+                any(), eq(SAFETY_SOURCE_ID), captor.capture(), eq(EVENT_TYPE_DEVICE_REBOOTED));
+        SafetySourceData safetySourceData = captor.getValue();
+        SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
+        assertThat(safetySourceStatus.isEnabled()).isTrue();
+    }
+
+    /** Tests that setSafetySourceData sets the PS settings page authenticator intent. */
+    @Test
+    public void setSafetySourceData_setsPsAuthenticatorIntent() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mContext)).thenReturn(true);
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        PrivateSpaceSafetySource.setSafetySourceData(mContext, EVENT_TYPE_DEVICE_REBOOTED);
+
+        ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
+        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
+                any(), eq(SAFETY_SOURCE_ID), captor.capture(), eq(EVENT_TYPE_DEVICE_REBOOTED));
+        SafetySourceData safetySourceData = captor.getValue();
+        SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
+        assertThat(safetySourceStatus.getPendingIntent().getIntent().getComponent().getClassName())
+                .isEqualTo(PrivateSpaceAuthenticationActivity.class.getName());
+        assertThat(safetySourceStatus.getPendingIntent().getIntent().getIdentifier())
+                .isEqualTo(SAFETY_SOURCE_ID);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java b/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java
new file mode 100644
index 0000000..744a8ec
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/UseOneLockControllerTest.java
@@ -0,0 +1,120 @@
+/*
+ * 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.privatespace;
+
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PASSWORD;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PATTERN;
+import static com.android.internal.widget.LockPatternUtils.CREDENTIAL_TYPE_PIN;
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+
+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.when;
+
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.privatespace.onelock.UseOneLockController;
+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.MockitoAnnotations;
+
+@RunWith(AndroidJUnit4.class)
+public class UseOneLockControllerTest {
+    @Mock private Context mContext;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private UseOneLockController mUseOneLockController;
+    private Preference mPreference;
+
+    @Mock
+    LockPatternUtils mLockPatternUtils;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        final String preferenceKey = "private_space_use_one_lock";
+        mPreference = new Preference(mContext);
+
+        final FakeFeatureFactory featureFactory = FakeFeatureFactory.setupForTest();
+        when(featureFactory.securityFeatureProvider.getLockPatternUtils(mContext))
+                .thenReturn(mLockPatternUtils);
+        mUseOneLockController = new UseOneLockController(mContext, preferenceKey);
+
+    }
+
+    /** Tests that the controller is always available. */
+    @Test
+    public void getAvailabilityStatus_returnsAvailable() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        assertThat(mUseOneLockController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+
+    /** Tests that summary in controller is Pattern. */
+    @Test
+    public void getSummary_whenProfileLockPattern() {
+        doReturn(true)
+                .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        doReturn(CREDENTIAL_TYPE_PATTERN)
+                .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mUseOneLockController.updateState(mPreference);
+        assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Pattern");
+    }
+
+    /** Tests that summary in controller is PIN. */
+    @Test
+    public void getSummary_whenProfileLockPin() {
+        doReturn(true)
+                .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        doReturn(CREDENTIAL_TYPE_PIN).when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mUseOneLockController.updateState(mPreference);
+        assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("PIN");
+    }
+
+    /** Tests that summary in controller is Password. */
+    @Test
+    public void getSummary_whenProfileLockPassword() {
+        doReturn(true)
+                .when(mLockPatternUtils).isSeparateProfileChallengeEnabled(anyInt());
+        doReturn(CREDENTIAL_TYPE_PASSWORD)
+                .when(mLockPatternUtils).getCredentialTypeForUser(anyInt());
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mUseOneLockController.updateState(mPreference);
+        assertThat(mUseOneLockController.getSummary().toString()).isEqualTo("Password");
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/autolock/AutoLockPreferenceControllerTest.java b/tests/unit/src/com/android/settings/privatespace/autolock/AutoLockPreferenceControllerTest.java
new file mode 100644
index 0000000..01381d8
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/autolock/AutoLockPreferenceControllerTest.java
@@ -0,0 +1,142 @@
+/*
+ * 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.privatespace.autolock;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.content.ContentResolver;
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class AutoLockPreferenceControllerTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private static final String KEY = "private_space_auto_lock";
+    private Context mContext;
+    private AutoLockPreferenceController mAutoLockPreferenceController;
+    private ContentResolver mContentResolver;
+    @Settings.Secure.PrivateSpaceAutoLockOption private int mOriginalAutoLockValue;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mContentResolver = mContext.getContentResolver();
+        mAutoLockPreferenceController = new AutoLockPreferenceController(mContext, KEY);
+        mOriginalAutoLockValue =
+                Settings.Secure.getInt(
+                        mContentResolver,
+                        Settings.Secure.PRIVATE_SPACE_AUTO_LOCK,
+                        PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Secure.putInt(
+                mContentResolver, Settings.Secure.PRIVATE_SPACE_AUTO_LOCK, mOriginalAutoLockValue);
+    }
+
+    /**
+     * Tests that the controller is available when both allow private profile and auto lock support
+     * flags are enabled.
+     */
+    @Test
+    public void getAvailabilityStatus_withAutoLockFlagEnabled_returnsAvailable() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        assertThat(mAutoLockPreferenceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    /** Tests that the controller is not available when auto lock flag is off. */
+    @Test
+    public void getAvailabilityStatus_withAutoLockFlagDisabled_returnsNull() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mSetFlagsRule.disableFlags(android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        assertThat(mAutoLockPreferenceController.getAvailabilityStatus())
+                .isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+
+    /**
+     * Tests that auto lock preference displays the correct summary for option - every time device
+     * locks.
+     */
+    @Test
+    public void getSummary_whenOptionEveryTimeDeviceLocks_returnsEveryTimeDeviceLocks() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_ON_DEVICE_LOCK);
+        assertThat(mAutoLockPreferenceController.getSummary().toString())
+                .isEqualTo("Every time device locks");
+    }
+
+    /**
+     * Tests that auto lock preference displays the correct summary for option - lock after 5
+     * minutes of inactivity.
+     */
+    @Test
+    public void getSummary_whenOptionAfter5MinutesOfInactivity_returnsAfter5MinutesOfInactivity() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_AFTER_INACTIVITY);
+        assertThat(mAutoLockPreferenceController.getSummary().toString())
+                .isEqualTo("After 5 minutes of inactivity");
+    }
+
+    /** Tests that auto lock preference displays the correct summary for option - Never. */
+    @Test
+    public void getSummary_whenOptionNever_returnsNever() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        Settings.Secure.putInt(
+                mContentResolver,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK,
+                Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_NEVER);
+        assertThat(mAutoLockPreferenceController.getSummary().toString()).isEqualTo("Never");
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragmentTest.java b/tests/unit/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragmentTest.java
new file mode 100644
index 0000000..971ca40
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/autolock/AutoLockSettingsFragmentTest.java
@@ -0,0 +1,162 @@
+/*
+ * 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.autolock;
+
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK;
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_AFTER_INACTIVITY;
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_NEVER;
+import static android.provider.Settings.Secure.PRIVATE_SPACE_AUTO_LOCK_ON_DEVICE_LOCK;
+
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.when;
+
+import android.app.settings.SettingsEnums;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.res.Resources;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+import android.provider.Settings;
+
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settingslib.widget.CandidateInfo;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.List;
+
+@RunWith(AndroidJUnit4.class)
+public class AutoLockSettingsFragmentTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private AutoLockSettingsFragment mFragment;
+    private Context mContext;
+    private Resources mResources;
+    private ContentResolver mContentResolver;
+    @Settings.Secure.PrivateSpaceAutoLockOption private int mOriginalAutoLockValue;
+
+    @Before
+    @UiThreadTest
+    public void setup() {
+        mContext = spy(ApplicationProvider.getApplicationContext());
+        mFragment = spy(new AutoLockSettingsFragment());
+        mContentResolver = mContext.getContentResolver();
+        mResources = spy(mContext.getResources());
+        mOriginalAutoLockValue =
+                Settings.Secure.getInt(
+                        mContentResolver,
+                        Settings.Secure.PRIVATE_SPACE_AUTO_LOCK,
+                        PRIVATE_SPACE_AUTO_LOCK_DEFAULT_VAL);
+        when(mResources.getStringArray(
+                        com.android.settings.R.array.private_space_auto_lock_options))
+                .thenReturn(
+                        new String[] {
+                            "Every time device locks", "After 5 minutes of inactivity", "Never"
+                        });
+        when(mResources.getStringArray(
+                        com.android.settings.R.array.private_space_auto_lock_options_values))
+                .thenReturn(new String[] {"0", "1", "2"});
+        doReturn(mResources).when(mContext).getResources();
+    }
+
+    @After
+    public void tearDown() {
+        Settings.Secure.putInt(
+                mContentResolver, Settings.Secure.PRIVATE_SPACE_AUTO_LOCK, mOriginalAutoLockValue);
+    }
+
+    @Test
+    public void verifyMetricsConstant() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS);
+    }
+
+    @Test
+    @UiThreadTest
+    public void getCandidates_returnsCandidateInfoListWithAllKeys() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+        mFragment.onAttach(mContext);
+
+        final List<? extends CandidateInfo> candidates = mFragment.getCandidates();
+
+        assertThat(candidates.size()).isEqualTo(3);
+
+        assertThat(candidates.get(0).getKey()).isEqualTo("0");
+        assertThat(candidates.get(1).getKey()).isEqualTo("1");
+        assertThat(candidates.get(2).getKey()).isEqualTo("2");
+    }
+
+    @Test
+    @UiThreadTest
+    public void getDefaultKey_returnsStoredAutoLockOptionsValue() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        mFragment.onAttach(mContext);
+
+        Settings.Secure.putInt(
+                mContentResolver, PRIVATE_SPACE_AUTO_LOCK, PRIVATE_SPACE_AUTO_LOCK_NEVER);
+        assertThat(mFragment.getDefaultKey()).isEqualTo("2");
+
+        Settings.Secure.putInt(
+                mContentResolver, PRIVATE_SPACE_AUTO_LOCK, PRIVATE_SPACE_AUTO_LOCK_ON_DEVICE_LOCK);
+        assertThat(mFragment.getDefaultKey()).isEqualTo("0");
+
+        Settings.Secure.putInt(
+                mContentResolver,
+                PRIVATE_SPACE_AUTO_LOCK,
+                PRIVATE_SPACE_AUTO_LOCK_AFTER_INACTIVITY);
+        assertThat(mFragment.getDefaultKey()).isEqualTo("1");
+    }
+
+    @Test
+    @UiThreadTest
+    public void setDefaultKey_storesCorrectAutoLockOptionValue() {
+        mSetFlagsRule.enableFlags(
+                Flags.FLAG_ALLOW_PRIVATE_PROFILE,
+                android.multiuser.Flags.FLAG_SUPPORT_AUTOLOCK_FOR_PRIVATE_SPACE);
+
+        mFragment.onAttach(mContext);
+        mFragment.setDefaultKey("2");
+        assertThat(Settings.Secure.getInt(mContentResolver, PRIVATE_SPACE_AUTO_LOCK, -1))
+                .isEqualTo(PRIVATE_SPACE_AUTO_LOCK_NEVER);
+
+        mFragment.setDefaultKey("1");
+        assertThat(Settings.Secure.getInt(mContentResolver, PRIVATE_SPACE_AUTO_LOCK, -1))
+                .isEqualTo(PRIVATE_SPACE_AUTO_LOCK_AFTER_INACTIVITY);
+
+        mFragment.setDefaultKey("0");
+        assertThat(Settings.Secure.getInt(mContentResolver, PRIVATE_SPACE_AUTO_LOCK, -1))
+                .isEqualTo(PRIVATE_SPACE_AUTO_LOCK_ON_DEVICE_LOCK);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/delete/DeletePrivateSpaceControllerTest.java b/tests/unit/src/com/android/settings/privatespace/delete/DeletePrivateSpaceControllerTest.java
new file mode 100644
index 0000000..371ca24
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/delete/DeletePrivateSpaceControllerTest.java
@@ -0,0 +1,74 @@
+/*
+ * 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.delete;
+
+import static com.android.settings.core.BasePreferenceController.AVAILABLE;
+import static com.android.settings.core.BasePreferenceController.UNSUPPORTED_ON_DEVICE;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.Context;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.preference.Preference;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+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;
+
+@RunWith(AndroidJUnit4.class)
+public class DeletePrivateSpaceControllerTest {
+    @Mock private Context mContext;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Preference mPreference;
+    private DeletePrivateSpaceController mDeletePrivateSpaceController;
+
+    /** Required setup before a test. */
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        final String preferenceKey = "private_space_delete";
+
+        mPreference = new Preference(ApplicationProvider.getApplicationContext());
+        mPreference.setKey(preferenceKey);
+
+        mDeletePrivateSpaceController = new DeletePrivateSpaceController(mContext, preferenceKey);
+    }
+
+    /** Tests that the controller is available when private space flag is enabled. */
+    @Test
+    public void getAvailabilityStatus_whenPrivateFlagEnabled_returnsAvailable() {
+        mSetFlagsRule.enableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        assertThat(mDeletePrivateSpaceController.getAvailabilityStatus()).isEqualTo(AVAILABLE);
+    }
+
+    /** Tests that the controller is not available when private space flag is disabled. */
+    @Test
+    public void getAvailabilityStatus_whenPrivateFlagDisabled_returnsUnsupportedOnDevice() {
+        mSetFlagsRule.disableFlags(android.os.Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        assertThat(mDeletePrivateSpaceController.getAvailabilityStatus())
+                .isEqualTo(UNSUPPORTED_ON_DEVICE);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragmentTest.java b/tests/unit/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragmentTest.java
new file mode 100644
index 0000000..16ccbc4
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/delete/PrivateSpaceDeleteFragmentTest.java
@@ -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.privatespace.delete;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.spy;
+
+import android.app.settings.SettingsEnums;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import org.junit.Rule;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceDeleteFragmentTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private PrivateSpaceDeleteFragment mFragment;
+
+    @Test
+    @UiThreadTest
+    public void verifyMetricsConstant() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        mFragment = spy(new PrivateSpaceDeleteFragment());
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS);
+    }
+}
diff --git a/tests/unit/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragmentTest.java b/tests/unit/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragmentTest.java
new file mode 100644
index 0000000..5c2ef23
--- /dev/null
+++ b/tests/unit/src/com/android/settings/privatespace/delete/PrivateSpaceDeletionProgressFragmentTest.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.privatespace.delete;
+
+import static com.android.settings.privatespace.PrivateSpaceMaintainer.ErrorDeletingPrivateSpace.DELETE_PS_ERROR_INTERNAL;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+
+import android.app.settings.SettingsEnums;
+import android.content.Context;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
+
+import androidx.test.annotation.UiThreadTest;
+import androidx.test.core.app.ApplicationProvider;
+import androidx.test.ext.junit.runners.AndroidJUnit4;
+
+import com.android.settings.privatespace.PrivateSpaceMaintainer;
+
+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;
+
+@RunWith(AndroidJUnit4.class)
+public class PrivateSpaceDeletionProgressFragmentTest {
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
+    private Context mContext;
+    private PrivateSpaceDeletionProgressFragment mFragment;
+    private PrivateSpaceMaintainer mPrivateSpaceMaintainer;
+    @Mock private PrivateSpaceMaintainer mPrivateSpaceMaintainerMock;
+
+    @UiThreadTest
+    @Before
+    public void setup() {
+        MockitoAnnotations.initMocks(this);
+        mContext = ApplicationProvider.getApplicationContext();
+        mFragment = new PrivateSpaceDeletionProgressFragment();
+        PrivateSpaceDeletionProgressFragment.Injector injector =
+                new PrivateSpaceDeletionProgressFragment.Injector() {
+                    @Override
+                    public PrivateSpaceMaintainer injectPrivateSpaceMaintainer(Context context) {
+                        return mPrivateSpaceMaintainer;
+                    }
+                };
+        mPrivateSpaceMaintainer = PrivateSpaceMaintainer.getInstance(mContext);
+        mFragment.setPrivateSpaceMaintainer(injector);
+    }
+
+    @After
+    public void tearDown() {
+        mPrivateSpaceMaintainer.deletePrivateSpace();
+    }
+
+    @Test
+    @UiThreadTest
+    public void verifyMetricsConstant() {
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+        assertThat(mFragment.getMetricsCategory()).isEqualTo(SettingsEnums.PRIVATE_SPACE_SETTINGS);
+    }
+
+    /** Tests that deletePrivateSpace() deletes the private space. */
+    @Test
+    @UiThreadTest
+    public void deletePrivateSpace_deletesPS() {
+        PrivateSpaceDeletionProgressFragment spyFragment = spy(mFragment);
+        doNothing().when(spyFragment).showSuccessfulDeletionToast();
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateSpaceMaintainer.createPrivateSpace();
+        spyFragment.deletePrivateSpace();
+        assertThat(mPrivateSpaceMaintainer.doesPrivateSpaceExist()).isFalse();
+    }
+
+    /** Tests that on deletion of the private space relevant toast is shown. */
+    @Test
+    @UiThreadTest
+    public void deletePrivateSpace_onDeletion_showsDeletedToast() {
+        PrivateSpaceDeletionProgressFragment spyFragment = spy(mFragment);
+        doNothing().when(spyFragment).showSuccessfulDeletionToast();
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        mPrivateSpaceMaintainer.createPrivateSpace();
+        spyFragment.deletePrivateSpace();
+        verify(spyFragment).showSuccessfulDeletionToast();
+    }
+
+    /** Tests that on failing to delete the private space relevant toast is shown. */
+    @Test
+    @UiThreadTest
+    public void deletePrivateSpace_onDeletionError_showsDeletionFailedToast() {
+        PrivateSpaceDeletionProgressFragment spyFragment =
+                spy(new PrivateSpaceDeletionProgressFragment());
+        PrivateSpaceDeletionProgressFragment.Injector injector =
+                new PrivateSpaceDeletionProgressFragment.Injector() {
+                    @Override
+                    PrivateSpaceMaintainer injectPrivateSpaceMaintainer(Context context) {
+                        return mPrivateSpaceMaintainerMock;
+                    }
+                };
+        spyFragment.setPrivateSpaceMaintainer(injector);
+        doReturn(DELETE_PS_ERROR_INTERNAL).when(mPrivateSpaceMaintainerMock).deletePrivateSpace();
+        doNothing().when(spyFragment).showDeletionInternalErrorToast();
+        mSetFlagsRule.enableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        spyFragment.deletePrivateSpace();
+
+        verify(spyFragment).showDeletionInternalErrorToast();
+    }
+}
diff --git a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
index 0a67824..50e21fe 100644
--- a/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
+++ b/tests/unit/src/com/android/settings/regionalpreferences/NumberingSystemItemControllerTest.java
@@ -24,6 +24,7 @@
 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 android.os.LocaleList;
@@ -51,6 +52,7 @@
     private NumberingPreferencesFragment mFragment;
     private PreferenceScreen mPreferenceScreen;
     private LocaleList mCacheLocale;
+    private FakeFeatureFactory mFeatureFactory;
 
     @Before
     @UiThreadTest
@@ -59,6 +61,7 @@
             Looper.prepare();
         }
         mApplicationContext = ApplicationProvider.getApplicationContext();
+        mFeatureFactory = FakeFeatureFactory.setupForTest();
         mFragment = spy(new NumberingPreferencesFragment());
         PreferenceManager preferenceManager = new PreferenceManager(mApplicationContext);
         mPreferenceScreen = preferenceManager.createPreferenceScreen(mApplicationContext);
@@ -94,6 +97,9 @@
         }
 
         assertTrue(isCallingStartActivity);
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                mApplicationContext,
+                SettingsEnums.ACTION_CHOOSE_LANGUAGE_FOR_NUMBERS_PREFERENCES);
     }
 
     @Test
@@ -114,6 +120,8 @@
         mController.handlePreferenceTreeClick(preference);
 
         verify(mFragment).setArguments(any());
+        verify(mFeatureFactory.metricsFeatureProvider).action(
+                mApplicationContext, SettingsEnums.ACTION_SET_NUMBERS_PREFERENCES);
     }
 
     @Test
diff --git a/tests/unit/src/com/android/settings/safetycenter/BiometricsSafetySourceTest.java b/tests/unit/src/com/android/settings/safetycenter/BiometricsSafetySourceTest.java
index 01c2143..71d419e 100644
--- a/tests/unit/src/com/android/settings/safetycenter/BiometricsSafetySourceTest.java
+++ b/tests/unit/src/com/android/settings/safetycenter/BiometricsSafetySourceTest.java
@@ -67,24 +67,18 @@
 @RunWith(AndroidJUnit4.class)
 public class BiometricsSafetySourceTest {
 
-    private static final ComponentName COMPONENT_NAME =
-            new ComponentName("package", "class");
+    private static final ComponentName COMPONENT_NAME = new ComponentName("package", "class");
     private static final UserHandle USER_HANDLE = new UserHandle(UserHandle.myUserId());
     private static final SafetyEvent EVENT_SOURCE_STATE_CHANGED =
             new SafetyEvent.Builder(SAFETY_EVENT_TYPE_SOURCE_STATE_CHANGED).build();
 
     private Context mApplicationContext;
 
-    @Mock
-    private PackageManager mPackageManager;
-    @Mock
-    private DevicePolicyManager mDevicePolicyManager;
-    @Mock
-    private FingerprintManager mFingerprintManager;
-    @Mock
-    private FaceManager mFaceManager;
-    @Mock
-    private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
+    @Mock private PackageManager mPackageManager;
+    @Mock private DevicePolicyManager mDevicePolicyManager;
+    @Mock private FingerprintManager mFingerprintManager;
+    @Mock private FaceManager mFaceManager;
+    @Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
 
     @Before
     public void setUp() {
@@ -119,15 +113,16 @@
     }
 
     @Test
-    public void setSafetySourceData_whenSafetyCenterIsEnabled_withoutBiometrics_doesNotSetData() {
-        when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(false);
+    public void setSafetySourceData_whenSafetyCenterIsEnabled_withoutBiometrics_setsNullData() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         when(mFingerprintManager.isHardwareDetected()).thenReturn(false);
         when(mFaceManager.isHardwareDetected()).thenReturn(false);
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
-        verify(mSafetyCenterManagerWrapper, never())
-                .setSafetySourceData(any(), any(), any(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), eq(null), any());
     }
 
     @Test
@@ -140,8 +135,9 @@
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), any(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), any(), any());
     }
 
     @Test
@@ -225,7 +221,8 @@
 
         assertSafetySourceEnabledDataSetWithPluralSummary(
                 "security_settings_fingerprint_preference_title",
-                "security_settings_fingerprint_preference_summary", enrolledFingerprintsCount,
+                "security_settings_fingerprint_preference_summary",
+                enrolledFingerprintsCount,
                 FingerprintSettings.class.getName());
     }
 
@@ -346,8 +343,9 @@
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(true);
         when(mDevicePolicyManager.getKeyguardDisabledFeatures(COMPONENT_NAME))
-                .thenReturn(DevicePolicyManager.KEYGUARD_DISABLE_FACE
-                        | DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
+                .thenReturn(
+                        DevicePolicyManager.KEYGUARD_DISABLE_FACE
+                                | DevicePolicyManager.KEYGUARD_DISABLE_FINGERPRINT);
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
@@ -363,8 +361,8 @@
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
-        when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
-                createFingerprintList(enrolledFingerprintsCount));
+        when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
+                .thenReturn(createFingerprintList(enrolledFingerprintsCount));
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
@@ -381,8 +379,8 @@
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
-        when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
-                createFingerprintList(enrolledFingerprintsCount));
+        when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
+                .thenReturn(createFingerprintList(enrolledFingerprintsCount));
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
@@ -398,8 +396,8 @@
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
-        when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
-                Collections.emptyList());
+        when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
+                .thenReturn(Collections.emptyList());
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
@@ -415,8 +413,8 @@
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(false);
-        when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
-                createFingerprintList(enrolledFingerprintsCount));
+        when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
+                .thenReturn(createFingerprintList(enrolledFingerprintsCount));
 
         ActiveUnlockTestUtils.enable(mApplicationContext);
 
@@ -452,8 +450,8 @@
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(true);
-        when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
-                createFingerprintList(enrolledFingerprintsCount));
+        when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
+                .thenReturn(createFingerprintList(enrolledFingerprintsCount));
         ActiveUnlockTestUtils.enable(mApplicationContext);
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
@@ -462,7 +460,6 @@
                 "security_settings_biometric_preference_title",
                 "security_settings_biometric_preference_summary_both_fp_single",
                 Settings.CombinedBiometricSettingsActivity.class.getName());
-
     }
 
     @Test
@@ -472,14 +469,15 @@
         when(mFingerprintManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.isHardwareDetected()).thenReturn(true);
         when(mFaceManager.hasEnrolledTemplates(anyInt())).thenReturn(false);
-        when(mFingerprintManager.getEnrolledFingerprints(anyInt())).thenReturn(
-                createFingerprintList(enrolledFingerprintsCount));
+        when(mFingerprintManager.getEnrolledFingerprints(anyInt()))
+                .thenReturn(createFingerprintList(enrolledFingerprintsCount));
 
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         assertSafetySourceEnabledDataSetWithPluralSummary(
                 "security_settings_biometric_preference_title",
-                "security_settings_fingerprint_preference_summary", enrolledFingerprintsCount,
+                "security_settings_fingerprint_preference_summary",
+                enrolledFingerprintsCount,
                 Settings.CombinedBiometricSettingsActivity.class.getName());
     }
 
@@ -494,8 +492,12 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
@@ -512,8 +514,12 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
@@ -530,8 +536,12 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
@@ -547,8 +557,12 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
@@ -564,8 +578,12 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
@@ -581,8 +599,12 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
@@ -598,61 +620,74 @@
         BiometricsSafetySource.setSafetySourceData(mApplicationContext, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceStatus safetySourceStatus = captor.getValue().getStatus();
         assertThat(safetySourceStatus.getSeverityLevel())
                 .isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
     }
 
-    private void assertSafetySourceDisabledDataSetWithSingularSummary(String expectedTitleResName,
-            String expectedSummaryResName) {
+    private void assertSafetySourceDisabledDataSetWithSingularSummary(
+            String expectedTitleResName, String expectedSummaryResName) {
         assertSafetySourceDisabledDataSet(
                 ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
-                ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName)
-        );
+                ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName));
     }
 
-    private void assertSafetySourceEnabledDataSetWithSingularSummary(String expectedTitleResName,
+    private void assertSafetySourceEnabledDataSetWithSingularSummary(
+            String expectedTitleResName,
             String expectedSummaryResName,
             String expectedSettingsClassName) {
         assertSafetySourceEnabledDataSet(
                 ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
                 ResourcesUtils.getResourcesString(mApplicationContext, expectedSummaryResName),
-                expectedSettingsClassName
-        );
+                expectedSettingsClassName);
     }
 
-    private void assertSafetySourceDisabledDataSetWithPluralSummary(String expectedTitleResName,
-            String expectedSummaryResName, int expectedSummaryQuantity) {
-        final int stringResId = ResourcesUtils.getResourcesId(
-                ApplicationProvider.getApplicationContext(), "string",
-                expectedSummaryResName);
+    private void assertSafetySourceDisabledDataSetWithPluralSummary(
+            String expectedTitleResName,
+            String expectedSummaryResName,
+            int expectedSummaryQuantity) {
+        final int stringResId =
+                ResourcesUtils.getResourcesId(
+                        ApplicationProvider.getApplicationContext(),
+                        "string",
+                        expectedSummaryResName);
         assertSafetySourceDisabledDataSet(
                 ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
-                StringUtil.getIcuPluralsString(mApplicationContext,
-                        expectedSummaryQuantity, stringResId)
-        );
+                StringUtil.getIcuPluralsString(
+                        mApplicationContext, expectedSummaryQuantity, stringResId));
     }
 
-    private void assertSafetySourceEnabledDataSetWithPluralSummary(String expectedTitleResName,
-            String expectedSummaryResName, int expectedSummaryQuantity,
+    private void assertSafetySourceEnabledDataSetWithPluralSummary(
+            String expectedTitleResName,
+            String expectedSummaryResName,
+            int expectedSummaryQuantity,
             String expectedSettingsClassName) {
-        final int stringResId = ResourcesUtils.getResourcesId(
-                ApplicationProvider.getApplicationContext(), "string",
-                expectedSummaryResName);
+        final int stringResId =
+                ResourcesUtils.getResourcesId(
+                        ApplicationProvider.getApplicationContext(),
+                        "string",
+                        expectedSummaryResName);
         assertSafetySourceEnabledDataSet(
                 ResourcesUtils.getResourcesString(mApplicationContext, expectedTitleResName),
-                StringUtil.getIcuPluralsString(mApplicationContext,
-                        expectedSummaryQuantity, stringResId),
-                expectedSettingsClassName
-        );
+                StringUtil.getIcuPluralsString(
+                        mApplicationContext, expectedSummaryQuantity, stringResId),
+                expectedSettingsClassName);
     }
 
     private void assertSafetySourceDisabledDataSet(String expectedTitle, String expectedSummary) {
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -667,11 +702,15 @@
         assertThat(clickIntent.getAction()).isEqualTo(ACTION_SHOW_ADMIN_SUPPORT_DETAILS);
     }
 
-    private void assertSafetySourceEnabledDataSet(String expectedTitle, String expectedSummary,
-            String expectedSettingsClassName) {
+    private void assertSafetySourceEnabledDataSet(
+            String expectedTitle, String expectedSummary, String expectedSettingsClassName) {
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(BiometricsSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -680,10 +719,8 @@
         assertThat(safetySourceStatus.isEnabled()).isTrue();
         final Intent clickIntent = safetySourceStatus.getPendingIntent().getIntent();
         assertThat(clickIntent).isNotNull();
-        assertThat(clickIntent.getComponent().getPackageName())
-                .isEqualTo("com.android.settings");
-        assertThat(clickIntent.getComponent().getClassName())
-                .isEqualTo(expectedSettingsClassName);
+        assertThat(clickIntent.getComponent().getPackageName()).isEqualTo("com.android.settings");
+        assertThat(clickIntent.getComponent().getClassName()).isEqualTo(expectedSettingsClassName);
     }
 
     private List<Fingerprint> createFingerprintList(int size) {
diff --git a/tests/unit/src/com/android/settings/safetycenter/LockScreenSafetySourceTest.java b/tests/unit/src/com/android/settings/safetycenter/LockScreenSafetySourceTest.java
index 9dc39da..e528c4e 100644
--- a/tests/unit/src/com/android/settings/safetycenter/LockScreenSafetySourceTest.java
+++ b/tests/unit/src/com/android/settings/safetycenter/LockScreenSafetySourceTest.java
@@ -64,14 +64,11 @@
 
     private Context mApplicationContext;
 
-    @Mock
-    private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
+    @Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
 
-    @Mock
-    private ScreenLockPreferenceDetailsUtils mScreenLockPreferenceDetailsUtils;
+    @Mock private ScreenLockPreferenceDetailsUtils mScreenLockPreferenceDetailsUtils;
 
-    @Mock
-    private LockPatternUtils mLockPatternUtils;
+    @Mock private LockPatternUtils mLockPatternUtils;
 
     @Before
     public void setUp() {
@@ -94,23 +91,24 @@
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(false);
         when(mScreenLockPreferenceDetailsUtils.isAvailable()).thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
-        verify(mSafetyCenterManagerWrapper, never()).setSafetySourceData(
-                any(), any(), any(), any());
+        verify(mSafetyCenterManagerWrapper, never())
+                .setSafetySourceData(any(), any(), any(), any());
     }
 
     @Test
-    public void setSafetySourceData_whenScreenLockIsDisabled_doesNotSetData() {
+    public void setSafetySourceData_whenScreenLockIsDisabled_setsNullData() {
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         when(mScreenLockPreferenceDetailsUtils.isAvailable()).thenReturn(false);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
-        verify(mSafetyCenterManagerWrapper, never()).setSafetySourceData(
-                any(), any(), any(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), eq(null), any());
     }
 
     @Test
@@ -118,11 +116,12 @@
         whenScreenLockIsEnabled();
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), any(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), any(), any());
     }
 
     @Test
@@ -130,11 +129,11 @@
         whenScreenLockIsEnabled();
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), any(), any(), eq(EVENT_SOURCE_STATE_CHANGED));
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(any(), any(), any(), eq(EVENT_SOURCE_STATE_CHANGED));
     }
 
     @Test
@@ -142,26 +141,28 @@
         whenScreenLockIsEnabled();
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), any(), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(any(), any(), captor.capture(), any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
         assertThat(safetySourceStatus.getTitle().toString())
-                .isEqualTo(ResourcesUtils.getResourcesString(
-                        mApplicationContext,
-                        "unlock_set_unlock_launch_picker_title"));
-        assertThat(safetySourceStatus.getSummary().toString())
-                .isEqualTo(SUMMARY);
+                .isEqualTo(
+                        ResourcesUtils.getResourcesString(
+                                mApplicationContext, "unlock_set_unlock_launch_picker_title"));
+        assertThat(safetySourceStatus.getSummary().toString()).isEqualTo(SUMMARY);
         assertThat(safetySourceStatus.getPendingIntent().getIntent()).isNotNull();
         assertThat(safetySourceStatus.getPendingIntent().getIntent().getAction())
                 .isEqualTo(FAKE_ACTION_OPEN_SUB_SETTING);
         assertThat(
-                safetySourceStatus.getPendingIntent().getIntent().getStringExtra(EXTRA_DESTINATION))
+                        safetySourceStatus
+                                .getPendingIntent()
+                                .getIntent()
+                                .getStringExtra(EXTRA_DESTINATION))
                 .isEqualTo(FAKE_CHOOSE_LOCK_GENERIC_FRAGMENT);
     }
 
@@ -173,12 +174,16 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(false);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -194,12 +199,16 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(false);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -215,12 +224,16 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -236,12 +249,16 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -257,12 +274,12 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(false);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), any(), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(any(), any(), captor.capture(), any());
         SafetySourceData safetySourceData = captor.getValue();
 
         assertThat(safetySourceData.getIssues()).isEmpty();
@@ -276,34 +293,41 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(false);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
 
         assertThat(safetySourceData.getIssues()).hasSize(1);
         SafetySourceIssue issue = safetySourceData.getIssues().get(0);
         assertThat(issue.getId()).isEqualTo(LockScreenSafetySource.NO_SCREEN_LOCK_ISSUE_ID);
-        assertThat(issue.getTitle().toString()).isEqualTo(
-                ResourcesUtils.getResourcesString(mApplicationContext,
-                        "no_screen_lock_issue_title"));
-        assertThat(issue.getSummary().toString()).isEqualTo(
-                ResourcesUtils.getResourcesString(mApplicationContext,
-                        "no_screen_lock_issue_summary"));
-        assertThat(issue.getSeverityLevel()).isEqualTo(
-                SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION);
-        assertThat(issue.getIssueTypeId()).isEqualTo(
-                LockScreenSafetySource.NO_SCREEN_LOCK_ISSUE_TYPE_ID);
+        assertThat(issue.getTitle().toString())
+                .isEqualTo(
+                        ResourcesUtils.getResourcesString(
+                                mApplicationContext, "no_screen_lock_issue_title"));
+        assertThat(issue.getSummary().toString())
+                .isEqualTo(
+                        ResourcesUtils.getResourcesString(
+                                mApplicationContext, "no_screen_lock_issue_summary"));
+        assertThat(issue.getSeverityLevel())
+                .isEqualTo(SafetySourceData.SEVERITY_LEVEL_RECOMMENDATION);
+        assertThat(issue.getIssueTypeId())
+                .isEqualTo(LockScreenSafetySource.NO_SCREEN_LOCK_ISSUE_TYPE_ID);
         assertThat(issue.getIssueCategory()).isEqualTo(SafetySourceIssue.ISSUE_CATEGORY_DEVICE);
         assertThat(issue.getActions()).hasSize(1);
         SafetySourceIssue.Action action = issue.getActions().get(0);
         assertThat(action.getId()).isEqualTo(LockScreenSafetySource.SET_SCREEN_LOCK_ACTION_ID);
-        assertThat(action.getLabel().toString()).isEqualTo(
-                ResourcesUtils.getResourcesString(mApplicationContext,
-                        "no_screen_lock_issue_action_label"));
+        assertThat(action.getLabel().toString())
+                .isEqualTo(
+                        ResourcesUtils.getResourcesString(
+                                mApplicationContext, "no_screen_lock_issue_action_label"));
         assertThat(action.getPendingIntent().getIntent().getAction())
                 .isEqualTo(FAKE_ACTION_OPEN_SUB_SETTING);
         assertThat(action.getPendingIntent().getIntent().getStringExtra(EXTRA_DESTINATION))
@@ -318,12 +342,12 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), any(), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(any(), any(), captor.capture(), any());
         SafetySourceData safetySourceData = captor.getValue();
 
         assertThat(safetySourceData.getIssues()).isEmpty();
@@ -337,12 +361,16 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
 
         assertThat(safetySourceData.getIssues()).isEmpty();
@@ -355,16 +383,28 @@
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
         assertThat(safetySourceStatus.isEnabled()).isFalse();
+        assertThat(safetySourceStatus.getPendingIntent()).isNull();
+        assertThat(safetySourceStatus.getIconAction()).isNull();
+        assertThat(safetySourceStatus.getSeverityLevel())
+                .isEqualTo(SafetySourceData.SEVERITY_LEVEL_UNSPECIFIED);
+        assertThat(safetySourceStatus.getSummary().toString())
+                .isEqualTo(
+                        ResourcesUtils.getResourcesString(
+                                mApplicationContext, "disabled_by_policy_title"));
     }
 
     @Test
@@ -373,17 +413,28 @@
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         when(mScreenLockPreferenceDetailsUtils.isPasswordQualityManaged(anyInt(), any()))
                 .thenReturn(false);
+        when(mScreenLockPreferenceDetailsUtils.isLockPatternSecure()).thenReturn(true);
+        when(mScreenLockPreferenceDetailsUtils.shouldShowGearMenu()).thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
         assertThat(safetySourceStatus.isEnabled()).isTrue();
+        assertThat(safetySourceStatus.getPendingIntent()).isNotNull();
+        assertThat(safetySourceStatus.getIconAction()).isNotNull();
+        assertThat(safetySourceStatus.getSeverityLevel())
+                .isEqualTo(SafetySourceData.SEVERITY_LEVEL_INFORMATION);
+        assertThat(safetySourceStatus.getSummary().toString()).isEqualTo(SUMMARY);
     }
 
     @Test
@@ -392,20 +443,23 @@
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         when(mScreenLockPreferenceDetailsUtils.shouldShowGearMenu()).thenReturn(true);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
-        final ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(
-                SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        final ArgumentCaptor<SafetySourceData> captor =
+                ArgumentCaptor.forClass(SafetySourceData.class);
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         final IconAction iconAction = captor.getValue().getStatus().getIconAction();
 
         assertThat(iconAction.getIconType()).isEqualTo(IconAction.ICON_TYPE_GEAR);
         assertThat(iconAction.getPendingIntent().getIntent().getAction())
                 .isEqualTo(FAKE_ACTION_OPEN_SUB_SETTING);
-        assertThat(
-                iconAction.getPendingIntent().getIntent().getStringExtra(EXTRA_DESTINATION))
+        assertThat(iconAction.getPendingIntent().getIntent().getStringExtra(EXTRA_DESTINATION))
                 .isEqualTo(FAKE_SCREEN_LOCK_SETTINGS);
     }
 
@@ -415,12 +469,16 @@
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         when(mScreenLockPreferenceDetailsUtils.shouldShowGearMenu()).thenReturn(false);
 
-        LockScreenSafetySource.setSafetySourceData(mApplicationContext,
-                mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
+        LockScreenSafetySource.setSafetySourceData(
+                mApplicationContext, mScreenLockPreferenceDetailsUtils, EVENT_SOURCE_STATE_CHANGED);
 
         ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), captor.capture(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(),
+                        eq(LockScreenSafetySource.SAFETY_SOURCE_ID),
+                        captor.capture(),
+                        any());
         SafetySourceData safetySourceData = captor.getValue();
         SafetySourceStatus safetySourceStatus = safetySourceData.getStatus();
 
@@ -434,10 +492,12 @@
 
         LockScreenSafetySource.onLockScreenChange(mApplicationContext);
 
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), any(), any());
-        verify(mSafetyCenterManagerWrapper).setSafetySourceData(
-                any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), any(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(), eq(LockScreenSafetySource.SAFETY_SOURCE_ID), any(), any());
+        verify(mSafetyCenterManagerWrapper)
+                .setSafetySourceData(
+                        any(), eq(BiometricsSafetySource.SAFETY_SOURCE_ID), any(), any());
     }
 
     @Test
@@ -447,8 +507,8 @@
 
         LockScreenSafetySource.onLockScreenChange(mApplicationContext);
 
-        verify(mSafetyCenterManagerWrapper, never()).setSafetySourceData(
-                any(), any(), any(), any());
+        verify(mSafetyCenterManagerWrapper, never())
+                .setSafetySourceData(any(), any(), any(), any());
     }
 
     private void whenScreenLockIsEnabled() {
@@ -456,8 +516,8 @@
         when(mScreenLockPreferenceDetailsUtils.getSummary(anyInt())).thenReturn(SUMMARY);
 
         Intent launchChooseLockGenericFragment = new Intent(FAKE_ACTION_OPEN_SUB_SETTING);
-        launchChooseLockGenericFragment.putExtra(EXTRA_DESTINATION,
-                FAKE_CHOOSE_LOCK_GENERIC_FRAGMENT);
+        launchChooseLockGenericFragment.putExtra(
+                EXTRA_DESTINATION, FAKE_CHOOSE_LOCK_GENERIC_FRAGMENT);
         when(mScreenLockPreferenceDetailsUtils.getLaunchChooseLockGenericFragmentIntent(anyInt()))
                 .thenReturn(launchChooseLockGenericFragment);
 
diff --git a/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java b/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java
index 3ad1874..85bd0e2 100644
--- a/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java
+++ b/tests/unit/src/com/android/settings/safetycenter/SafetySourceBroadcastReceiverTest.java
@@ -21,9 +21,7 @@
 import static android.safetycenter.SafetyCenterManager.EXTRA_REFRESH_SAFETY_SOURCE_IDS;
 import static android.safetycenter.SafetyEvent.SAFETY_EVENT_TYPE_DEVICE_REBOOTED;
 import static android.safetycenter.SafetyEvent.SAFETY_EVENT_TYPE_REFRESH_REQUESTED;
-
 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.times;
@@ -32,16 +30,21 @@
 
 import android.content.Context;
 import android.content.Intent;
+import android.os.Flags;
+import android.platform.test.flag.junit.SetFlagsRule;
 import android.safetycenter.SafetyEvent;
+import android.safetycenter.SafetySourceData;
 
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
 
 import com.android.internal.widget.LockPatternUtils;
+import com.android.settings.privatespace.PrivateSpaceSafetySource;
 import com.android.settings.testutils.FakeFeatureFactory;
 
 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;
@@ -61,6 +64,7 @@
     @Mock private SafetyCenterManagerWrapper mSafetyCenterManagerWrapper;
 
     @Mock private LockPatternUtils mLockPatternUtils;
+    @Rule public final SetFlagsRule mSetFlagsRule = new SetFlagsRule();
 
     @Before
     public void setUp() {
@@ -216,6 +220,51 @@
         assertThat(captor.getValue()).isEqualTo(BiometricsSafetySource.SAFETY_SOURCE_ID);
     }
 
+    /**
+     *  Tests that on receiving the refresh broadcast request with the PS source id, the PS data
+     * is set.
+     */
+    @Test
+    public void onReceive_onRefresh_withPrivateSpaceSourceId_setsPrivateSpaceData() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
+        Intent intent =
+                new Intent()
+                        .setAction(ACTION_REFRESH_SAFETY_SOURCES)
+                        .putExtra(
+                                EXTRA_REFRESH_SAFETY_SOURCE_IDS,
+                                new String[] {PrivateSpaceSafetySource.SAFETY_SOURCE_ID})
+                        .putExtra(EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID, REFRESH_BROADCAST_ID);
+
+        new SafetySourceBroadcastReceiver().onReceive(mApplicationContext, intent);
+        ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
+        verify(mSafetyCenterManagerWrapper, times(1))
+                .setSafetySourceData(any(), captor.capture(), any(), any());
+
+        assertThat(captor.getValue()).isEqualTo(PrivateSpaceSafetySource.SAFETY_SOURCE_ID);
+    }
+
+    /** Tests that the PS source sets null data when it's disabled. */
+    @Test
+    public void onReceive_onRefresh_withPrivateSpaceFeatureDisabled_setsNullData() {
+        when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
+        mSetFlagsRule.disableFlags(Flags.FLAG_ALLOW_PRIVATE_PROFILE);
+
+        Intent intent =
+                new Intent()
+                        .setAction(ACTION_REFRESH_SAFETY_SOURCES)
+                        .putExtra(
+                                EXTRA_REFRESH_SAFETY_SOURCE_IDS,
+                                new String[] {PrivateSpaceSafetySource.SAFETY_SOURCE_ID})
+                        .putExtra(EXTRA_REFRESH_SAFETY_SOURCES_BROADCAST_ID, REFRESH_BROADCAST_ID);
+
+        new SafetySourceBroadcastReceiver().onReceive(mApplicationContext, intent);
+        ArgumentCaptor<SafetySourceData> captor = ArgumentCaptor.forClass(SafetySourceData.class);
+        verify(mSafetyCenterManagerWrapper, times(1))
+                .setSafetySourceData(any(), any(), captor.capture(), any());
+
+        assertThat(captor.getValue()).isEqualTo(null);
+    }
+
     @Test
     public void onReceive_onBootCompleted_setsBootCompleteEvent() {
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
@@ -223,22 +272,22 @@
 
         new SafetySourceBroadcastReceiver().onReceive(mApplicationContext, intent);
         ArgumentCaptor<SafetyEvent> captor = ArgumentCaptor.forClass(SafetyEvent.class);
-        verify(mSafetyCenterManagerWrapper, times(2))
+        verify(mSafetyCenterManagerWrapper, times(3))
                 .setSafetySourceData(any(), any(), any(), captor.capture());
 
         SafetyEvent bootEvent = new SafetyEvent.Builder(SAFETY_EVENT_TYPE_DEVICE_REBOOTED).build();
         assertThat(captor.getAllValues())
-                .containsExactlyElementsIn(Arrays.asList(bootEvent, bootEvent));
+                .containsExactlyElementsIn(Arrays.asList(bootEvent, bootEvent, bootEvent));
     }
 
     @Test
-    public void onReceive_onBootCompleted_sendsBiometricAndLockscreenData() {
+    public void onReceive_onBootCompleted_sendsAllSafetySourcesData() {
         when(mSafetyCenterManagerWrapper.isEnabled(mApplicationContext)).thenReturn(true);
         Intent intent = new Intent().setAction(Intent.ACTION_BOOT_COMPLETED);
 
         new SafetySourceBroadcastReceiver().onReceive(mApplicationContext, intent);
         ArgumentCaptor<String> captor = ArgumentCaptor.forClass(String.class);
-        verify(mSafetyCenterManagerWrapper, times(2))
+        verify(mSafetyCenterManagerWrapper, times(3))
                 .setSafetySourceData(any(), captor.capture(), any(), any());
         List<String> safetySourceIdList = captor.getAllValues();
 
@@ -246,5 +295,7 @@
                 id -> id.equals(LockScreenSafetySource.SAFETY_SOURCE_ID))).isTrue();
         assertThat(safetySourceIdList.stream().anyMatch(
                 id -> id.equals(BiometricsSafetySource.SAFETY_SOURCE_ID))).isTrue();
+        assertThat(safetySourceIdList.stream().anyMatch(
+                id -> id.equals(PrivateSpaceSafetySource.SAFETY_SOURCE_ID))).isTrue();
     }
 }
diff --git a/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java b/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java
index a3090c6..a6ed5c7 100644
--- a/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java
+++ b/tests/unit/src/com/android/settings/search/CustomSiteMapRegistryTest.java
@@ -29,13 +29,11 @@
 import com.android.settings.gestures.SystemNavigationGestureSettings;
 import com.android.settings.location.LocationSettings;
 import com.android.settings.location.RecentLocationAccessSeeAllFragment;
-import com.android.settings.network.NetworkDashboardFragment;
 import com.android.settings.notification.zen.ZenModeBlockedEffectsSettings;
 import com.android.settings.notification.zen.ZenModeRestrictNotificationsSettings;
 import com.android.settings.security.SecuritySettings;
 import com.android.settings.security.screenlock.ScreenLockSettings;
 import com.android.settings.system.SystemDashboardFragment;
-import com.android.settings.wifi.WifiSettings;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -50,12 +48,6 @@
     }
 
     @Test
-    public void shouldContainWifiSettingsPairs() {
-        assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(WifiSettings.class.getName()))
-                .isEqualTo(NetworkDashboardFragment.class.getName());
-    }
-
-    @Test
     public void shouldContainPowerUsageAdvancedPairs() {
         assertThat(CustomSiteMapRegistry.CUSTOM_SITE_MAP.get(PowerUsageAdvanced.class.getName()))
                 .isEqualTo(PowerUsageSummary.class.getName());
diff --git a/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java b/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java
index 9851a1a..31f7878 100644
--- a/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java
+++ b/tests/unit/src/com/android/settings/security/SecurityAdvancedSettingsTest.java
@@ -107,7 +107,7 @@
 
     @Test
     public void whenSafetyCenterIsEnabled_pageIndexExcluded() throws Exception {
-        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(false);
+        when(mSafetyCenterManagerWrapper.isEnabled(any())).thenReturn(true);
         BaseSearchIndexProvider indexProvider = SecurityAdvancedSettings.SEARCH_INDEX_DATA_PROVIDER;
 
         List<String> allXmlKeys = TestUtils.getAllXmlKeys(mContext, indexProvider);
diff --git a/tests/unit/src/com/android/settings/sim/SimDialogActivityTest.java b/tests/unit/src/com/android/settings/sim/SimDialogActivityTest.java
deleted file mode 100644
index a232034..0000000
--- a/tests/unit/src/com/android/settings/sim/SimDialogActivityTest.java
+++ /dev/null
@@ -1,87 +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.sim;
-
-import static android.os.UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import static org.mockito.Mockito.when;
-
-import android.content.Context;
-import android.os.UserManager;
-
-import androidx.test.annotation.UiThreadTest;
-import androidx.test.core.app.ApplicationProvider;
-import androidx.test.ext.junit.runners.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.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;
-
-@RunWith(AndroidJUnit4.class)
-@UiThreadTest
-public class SimDialogActivityTest {
-    @Rule
-    public final MockitoRule mMockitoRule = MockitoJUnit.rule();
-    @Spy
-    private final Context mContext = ApplicationProvider.getApplicationContext();
-    @Mock
-    private UserManager mUserManager;
-
-    private MockSimDialogActivity mActivity;
-
-    @Before
-    public void setUp() {
-        when(mContext.getSystemService(UserManager.class)).thenReturn(mUserManager);
-        when(mUserManager.isGuestUser()).thenReturn(false);
-        when(mUserManager.hasUserRestriction(DISALLOW_CONFIG_MOBILE_NETWORKS)).thenReturn(false);
-
-        mActivity = new MockSimDialogActivity();
-    }
-
-    @Test
-    public void isUiRestricted_normally_returnFalse() {
-        assertThat(mActivity.isUiRestricted()).isFalse();
-    }
-
-    @Test
-    public void isUiRestricted_isGuestUser_returnTrue() {
-        when(mUserManager.isGuestUser()).thenReturn(true);
-
-        assertThat(mActivity.isUiRestricted()).isTrue();
-    }
-
-    @Test
-    public void isUiRestricted_hasUserRestriction_returnTrue() {
-        when(mUserManager.hasUserRestriction(DISALLOW_CONFIG_MOBILE_NETWORKS)).thenReturn(true);
-
-        assertThat(mActivity.isUiRestricted()).isTrue();
-    }
-
-    public class MockSimDialogActivity extends SimDialogActivity {
-        @Override
-        public Context getApplicationContext() {
-            return mContext;
-        }
-    }
-}
diff --git a/tests/unit/src/com/android/settings/sim/SimDialogActivityTest.kt b/tests/unit/src/com/android/settings/sim/SimDialogActivityTest.kt
new file mode 100644
index 0000000..9546d69
--- /dev/null
+++ b/tests/unit/src/com/android/settings/sim/SimDialogActivityTest.kt
@@ -0,0 +1,81 @@
+/*
+ * 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.sim
+
+import android.content.Context
+import android.os.UserManager
+import androidx.test.annotation.UiThreadTest
+import androidx.test.core.app.ApplicationProvider
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settingslib.spaprivileged.framework.common.userManager
+import com.google.common.truth.Truth.assertThat
+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.mockito.Mockito.`when` as whenever
+
+@RunWith(AndroidJUnit4::class)
+@UiThreadTest
+class SimDialogActivityTest {
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Spy
+    private val context: Context = ApplicationProvider.getApplicationContext()
+
+    @Mock
+    private lateinit var userManager: UserManager
+
+    private var activity = MockSimDialogActivity()
+
+    @Before
+    fun setUp() {
+        whenever(context.userManager).thenReturn(userManager)
+        whenever(userManager.isGuestUser).thenReturn(false)
+        whenever(userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS))
+            .thenReturn(false)
+    }
+
+    @Test
+    fun isUiRestricted_normally_returnFalse() {
+        assertThat(activity.isUiRestricted).isFalse()
+    }
+
+    @Test
+    fun isUiRestricted_isGuestUser_returnTrue() {
+        whenever(userManager.isGuestUser).thenReturn(true)
+
+        assertThat(activity.isUiRestricted).isTrue()
+    }
+
+    @Test
+    fun isUiRestricted_hasUserRestriction_returnTrue() {
+        whenever(userManager.hasUserRestriction(UserManager.DISALLOW_CONFIG_MOBILE_NETWORKS))
+            .thenReturn(true)
+
+        assertThat(activity.isUiRestricted).isTrue()
+    }
+
+    inner class MockSimDialogActivity : SimDialogActivity() {
+        override fun getApplicationContext() = context
+    }
+}
diff --git a/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java b/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
index ce8338c..53581eb 100644
--- a/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
+++ b/tests/unit/src/com/android/settings/slices/SliceControllerInXmlCodeInspector.java
@@ -146,8 +146,8 @@
     private List<Integer> getIndexableXml() {
         final List<Integer> xmlResSet = new ArrayList<>();
 
-        final Collection<SearchIndexableData> bundles = FeatureFactory.getFactory(
-                mContext).getSearchFeatureProvider().getSearchIndexableResources()
+        final Collection<SearchIndexableData> bundles = FeatureFactory.getFeatureFactory()
+                .getSearchFeatureProvider().getSearchIndexableResources()
                 .getProviderValues();
 
         for (SearchIndexableData bundle : bundles) {
diff --git a/tests/unit/src/com/android/settings/slices/SliceTestUtils.java b/tests/unit/src/com/android/settings/slices/SliceTestUtils.java
deleted file mode 100644
index 020bde2..0000000
--- a/tests/unit/src/com/android/settings/slices/SliceTestUtils.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (C) 2020 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package com.android.settings.slices;
-
-import android.content.ContentResolver;
-import android.content.ContentValues;
-import android.content.Context;
-import android.database.sqlite.SQLiteDatabase;
-import android.net.Uri;
-import android.provider.SettingsSlicesContract;
-
-import com.android.settings.testutils.FakeIndexProvider;
-import com.android.settings.testutils.FakeToggleController;
-
-class SliceTestUtils {
-
-    public static final String FAKE_TITLE = "title";
-    public static final String FAKE_SUMMARY = "summary";
-    public static final String FAKE_SCREEN_TITLE = "screen_title";
-    public static final String FAKE_KEYWORDS = "a, b, c";
-    public static final int FAKE_ICON = 1234;
-    public static final String FAKE_FRAGMENT_NAME = FakeIndexProvider.class.getName();
-    public static final String FAKE_CONTROLLER_NAME = FakeToggleController.class.getName();
-    public static final int FAKE_HIGHLIGHT_MENU_RES = FakeToggleController.HIGHLIGHT_MENU_RES;
-
-
-    public static void insertSliceToDb(Context context, String key) {
-        insertSliceToDb(context, key, true /* isPlatformSlice */);
-    }
-
-    public static void insertSliceToDb(Context context, String key, boolean isPlatformSlice) {
-        insertSliceToDb(context, key, isPlatformSlice, null /*customizedUnavailableSliceSubtitle*/);
-    }
-
-    public static void insertSliceToDb(Context context, String key, boolean isPlatformSlice,
-            String customizedUnavailableSliceSubtitle) {
-        insertSliceToDb(context, key, isPlatformSlice, customizedUnavailableSliceSubtitle, false);
-    }
-
-    public static void insertSliceToDb(Context context, String key, boolean isPlatformSlice,
-            String customizedUnavailableSliceSubtitle, boolean isPublicSlice) {
-        final SQLiteDatabase db = SlicesDatabaseHelper.getInstance(context).getWritableDatabase();
-        ContentValues values = new ContentValues();
-        values.put(SlicesDatabaseHelper.IndexColumns.KEY, key);
-        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_URI,
-                new Uri.Builder()
-                        .scheme(ContentResolver.SCHEME_CONTENT)
-                        .authority(isPlatformSlice
-                                ? SettingsSlicesContract.AUTHORITY
-                                : SettingsSliceProvider.SLICE_AUTHORITY)
-                        .appendPath(SettingsSlicesContract.PATH_SETTING_ACTION)
-                        .appendPath(key)
-                        .build().toString());
-        values.put(SlicesDatabaseHelper.IndexColumns.TITLE, FAKE_TITLE);
-        values.put(SlicesDatabaseHelper.IndexColumns.SUMMARY, FAKE_SUMMARY);
-        values.put(SlicesDatabaseHelper.IndexColumns.SCREENTITLE, FAKE_SCREEN_TITLE);
-        values.put(SlicesDatabaseHelper.IndexColumns.KEYWORDS, FAKE_KEYWORDS);
-        values.put(SlicesDatabaseHelper.IndexColumns.ICON_RESOURCE, FAKE_ICON);
-        values.put(SlicesDatabaseHelper.IndexColumns.FRAGMENT, FAKE_FRAGMENT_NAME);
-        values.put(SlicesDatabaseHelper.IndexColumns.CONTROLLER, FAKE_CONTROLLER_NAME);
-        values.put(SlicesDatabaseHelper.IndexColumns.SLICE_TYPE, SliceData.SliceType.INTENT);
-        values.put(SlicesDatabaseHelper.IndexColumns.UNAVAILABLE_SLICE_SUBTITLE,
-                customizedUnavailableSliceSubtitle);
-        values.put(SlicesDatabaseHelper.IndexColumns.PUBLIC_SLICE, isPublicSlice);
-        values.put(SlicesDatabaseHelper.IndexColumns.HIGHLIGHT_MENU_RESOURCE,
-                FAKE_HIGHLIGHT_MENU_RES);
-
-        db.replaceOrThrow(SlicesDatabaseHelper.Tables.TABLE_SLICES_INDEX, null, values);
-        db.close();
-    }
-}
diff --git a/tests/unit/src/com/android/settings/testutils/AirplaneModeRule.java b/tests/unit/src/com/android/settings/testutils/AirplaneModeRule.java
deleted file mode 100644
index 459ac15..0000000
--- a/tests/unit/src/com/android/settings/testutils/AirplaneModeRule.java
+++ /dev/null
@@ -1,71 +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.testutils;
-
-import android.content.ContentResolver;
-import android.content.Context;
-import android.provider.Settings;
-import android.util.Log;
-
-import androidx.test.core.app.ApplicationProvider;
-
-import org.junit.rules.ExternalResource;
-
-/** A test rule that is used to manager the Airplane Mode resource for testing. */
-public final class AirplaneModeRule extends ExternalResource {
-
-    private static final String TAG = "AirplaneModeRule";
-
-    private Context mContext;
-    private ContentResolver mContentResolver;
-    private boolean mBackupValue;
-    private boolean mShouldRestore;
-
-    @Override
-    protected void before() throws Throwable {
-        mContext = ApplicationProvider.getApplicationContext();
-        mContentResolver = mContext.getContentResolver();
-    }
-
-    @Override
-    protected void after() {
-        if (!mShouldRestore) {
-            return;
-        }
-        Log.d(TAG, "Restore Airplane Mode value:" + mBackupValue);
-        Settings.Global.putInt(mContentResolver, Settings.Global.AIRPLANE_MODE_ON,
-                mBackupValue ? 1 : 0);
-    }
-
-    public void setAirplaneMode(boolean enable) {
-        if (enable == isAirplaneModeOn()) {
-            return;
-        }
-        if (!mShouldRestore) {
-            mShouldRestore = true;
-            mBackupValue = !enable;
-            Log.d(TAG, "Backup Airplane Mode value:" + mBackupValue);
-        }
-        Log.d(TAG, "Set Airplane Mode enable:" + enable);
-        Settings.Global.putInt(mContentResolver, Settings.Global.AIRPLANE_MODE_ON, enable ? 1 : 0);
-    }
-
-    public boolean isAirplaneModeOn() {
-        return Settings.Global.getInt(mContext.getContentResolver(),
-            Settings.Global.AIRPLANE_MODE_ON, 0) != 0;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
index 49ce2cc..4f17a3a 100644
--- a/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
+++ b/tests/unit/src/com/android/settings/testutils/FakeFeatureFactory.java
@@ -23,28 +23,32 @@
 import com.android.settings.accessibility.AccessibilitySearchFeatureProvider;
 import com.android.settings.accounts.AccountFeatureProvider;
 import com.android.settings.applications.ApplicationFeatureProvider;
-import com.android.settings.aware.AwareFeatureProvider;
 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.audiosharing.AudioSharingFeatureProvider;
+import com.android.settings.connecteddevice.fastpair.FastPairFeatureProvider;
 import com.android.settings.connecteddevice.stylus.StylusFeatureProvider;
 import com.android.settings.dashboard.DashboardFeatureProvider;
 import com.android.settings.dashboard.suggestions.SuggestionFeatureProvider;
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProvider;
 import com.android.settings.deviceinfo.hardwareinfo.HardwareInfoFeatureProviderImpl;
+import com.android.settings.display.DisplayFeatureProvider;
 import com.android.settings.enterprise.EnterprisePrivacyFeatureProvider;
 import com.android.settings.fuelgauge.BatterySettingsFeatureProvider;
 import com.android.settings.fuelgauge.BatteryStatusFeatureProvider;
 import com.android.settings.fuelgauge.PowerUsageFeatureProvider;
-import com.android.settings.gestures.AssistGestureFeatureProvider;
 import com.android.settings.homepage.contextualcards.ContextualCardFeatureProvider;
 import com.android.settings.inputmethod.KeyboardSettingsFeatureProvider;
 import com.android.settings.localepicker.LocaleFeatureProvider;
+import com.android.settings.onboarding.OnboardingFeatureProvider;
 import com.android.settings.overlay.DockUpdaterFeatureProvider;
 import com.android.settings.overlay.FeatureFactory;
 import com.android.settings.overlay.SupportFeatureProvider;
 import com.android.settings.overlay.SurveyFeatureProvider;
 import com.android.settings.panel.PanelFeatureProvider;
+import com.android.settings.privatespace.PrivateSpaceLoginFeatureProvider;
 import com.android.settings.search.SearchFeatureProvider;
 import com.android.settings.security.SecurityFeatureProvider;
 import com.android.settings.security.SecuritySettingsFeatureProvider;
@@ -55,6 +59,8 @@
 import com.android.settings.wifi.factory.WifiFeatureProvider;
 import com.android.settingslib.core.instrumentation.MetricsFeatureProvider;
 
+import org.jetbrains.annotations.NotNull;
+
 /**
  * Test util to provide fake FeatureFactory. To use this factory, call {@code setupForTest} in
  * {@code @Before} method of the test class.
@@ -74,11 +80,10 @@
     public final SecurityFeatureProvider securityFeatureProvider;
     public final SuggestionFeatureProvider suggestionsFeatureProvider;
     public final UserFeatureProvider userFeatureProvider;
-    public final AssistGestureFeatureProvider assistGestureFeatureProvider;
     public final AccountFeatureProvider mAccountFeatureProvider;
     public final BluetoothFeatureProvider mBluetoothFeatureProvider;
-    public final AwareFeatureProvider mAwareFeatureProvider;
     public final FaceFeatureProvider mFaceFeatureProvider;
+    public final FingerprintFeatureProvider mFingerprintFeatureProvider;
     public final BiometricsRepositoryProvider mBiometricsRepositoryProvider;
 
     public PanelFeatureProvider panelFeatureProvider;
@@ -94,18 +99,26 @@
     public WifiFeatureProvider mWifiFeatureProvider;
     public KeyboardSettingsFeatureProvider mKeyboardSettingsFeatureProvider;
     public StylusFeatureProvider mStylusFeatureProvider;
+    public OnboardingFeatureProvider mOnboardingFeatureProvider;
+    public FastPairFeatureProvider mFastPairFeatureProvider;
+    public PrivateSpaceLoginFeatureProvider mPrivateSpaceLoginFeatureProvider;
+    public DisplayFeatureProvider mDisplayFeatureProvider;
+    public AudioSharingFeatureProvider mAudioSharingFeatureProvider;
 
-    /**
-     * Call this in {@code @Before} method of the test class to use fake factory.
-     */
+    /** Call this in {@code @Before} method of the test class to use fake factory. */
     public static FakeFeatureFactory setupForTest() {
-        sFactory = new FakeFeatureFactory();
-        return (FakeFeatureFactory) sFactory;
+        FakeFeatureFactory factory = new FakeFeatureFactory();
+        try {
+            setFactory(getAppContext(), factory);
+        } catch (NoSuchMethodError ex) {
+            // The getAppContext() @JvmStatic method doesn't appear to generated in AOSP. Falling
+            // back to using the companion object method instead.
+            setFactory(FeatureFactory.Companion.getAppContext(), factory);
+        }
+        return factory;
     }
 
-  /**
-   * FeatureFactory constructor.
-   */
+    /** FeatureFactory constructor. */
     public FakeFeatureFactory() {
         supportFeatureProvider = mock(SupportFeatureProvider.class);
         metricsFeatureProvider = mock(MetricsFeatureProvider.class);
@@ -122,14 +135,13 @@
         securityFeatureProvider = mock(SecurityFeatureProvider.class);
         suggestionsFeatureProvider = mock(SuggestionFeatureProvider.class);
         userFeatureProvider = mock(UserFeatureProvider.class);
-        assistGestureFeatureProvider = mock(AssistGestureFeatureProvider.class);
         slicesFeatureProvider = mock(SlicesFeatureProvider.class);
         mAccountFeatureProvider = mock(AccountFeatureProvider.class);
         mContextualCardFeatureProvider = mock(ContextualCardFeatureProvider.class);
         panelFeatureProvider = mock(PanelFeatureProvider.class);
         mBluetoothFeatureProvider = mock(BluetoothFeatureProvider.class);
-        mAwareFeatureProvider = mock(AwareFeatureProvider.class);
         mFaceFeatureProvider = mock(FaceFeatureProvider.class);
+        mFingerprintFeatureProvider = mock(FingerprintFeatureProvider.class);
         mBiometricsRepositoryProvider = mock(BiometricsRepositoryProvider.class);
         wifiTrackerLibProvider = mock(WifiTrackerLibProvider.class);
         securitySettingsFeatureProvider = mock(SecuritySettingsFeatureProvider.class);
@@ -139,6 +151,11 @@
         mWifiFeatureProvider = mock(WifiFeatureProvider.class);
         mKeyboardSettingsFeatureProvider = mock(KeyboardSettingsFeatureProvider.class);
         mStylusFeatureProvider = mock(StylusFeatureProvider.class);
+        mOnboardingFeatureProvider = mock(OnboardingFeatureProvider.class);
+        mFastPairFeatureProvider = mock(FastPairFeatureProvider.class);
+        mPrivateSpaceLoginFeatureProvider = mock(PrivateSpaceLoginFeatureProvider.class);
+        mDisplayFeatureProvider = mock(DisplayFeatureProvider.class);
+        mAudioSharingFeatureProvider = mock(AudioSharingFeatureProvider.class);
     }
 
     @Override
@@ -147,7 +164,7 @@
     }
 
     @Override
-    public SupportFeatureProvider getSupportFeatureProvider(Context context) {
+    public SupportFeatureProvider getSupportFeatureProvider() {
         return supportFeatureProvider;
     }
 
@@ -156,8 +173,9 @@
         return metricsFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider(Context context) {
+    public BatteryStatusFeatureProvider getBatteryStatusFeatureProvider() {
         return batteryStatusFeatureProvider;
     }
 
@@ -166,13 +184,15 @@
         return batterySettingsFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public PowerUsageFeatureProvider getPowerUsageFeatureProvider(Context context) {
+    public PowerUsageFeatureProvider getPowerUsageFeatureProvider() {
         return powerUsageFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public DashboardFeatureProvider getDashboardFeatureProvider(Context context) {
+    public DashboardFeatureProvider getDashboardFeatureProvider() {
         return dashboardFeatureProvider;
     }
 
@@ -181,8 +201,9 @@
         return dockUpdaterFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public ApplicationFeatureProvider getApplicationFeatureProvider(Context context) {
+    public ApplicationFeatureProvider getApplicationFeatureProvider() {
         return applicationFeatureProvider;
     }
 
@@ -191,8 +212,9 @@
         return localeFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider(Context context) {
+    public EnterprisePrivacyFeatureProvider getEnterprisePrivacyFeatureProvider() {
         return enterprisePrivacyFeatureProvider;
     }
 
@@ -211,17 +233,13 @@
         return securityFeatureProvider;
     }
 
+    @NotNull
     @Override
-    public UserFeatureProvider getUserFeatureProvider(Context context) {
+    public UserFeatureProvider getUserFeatureProvider() {
         return userFeatureProvider;
     }
 
     @Override
-    public AssistGestureFeatureProvider getAssistGestureFeatureProvider() {
-        return assistGestureFeatureProvider;
-    }
-
-    @Override
     public SlicesFeatureProvider getSlicesFeatureProvider() {
         return slicesFeatureProvider;
     }
@@ -247,13 +265,13 @@
     }
 
     @Override
-    public AwareFeatureProvider getAwareFeatureProvider() {
-        return mAwareFeatureProvider;
+    public FaceFeatureProvider getFaceFeatureProvider() {
+        return mFaceFeatureProvider;
     }
 
     @Override
-    public FaceFeatureProvider getFaceFeatureProvider() {
-        return mFaceFeatureProvider;
+    public FingerprintFeatureProvider getFingerprintFeatureProvider() {
+        return mFingerprintFeatureProvider;
     }
 
     @Override
@@ -305,4 +323,29 @@
     public StylusFeatureProvider getStylusFeatureProvider() {
         return mStylusFeatureProvider;
     }
+
+    @Override
+    public OnboardingFeatureProvider getOnboardingFeatureProvider() {
+        return mOnboardingFeatureProvider;
+    }
+
+    @Override
+    public FastPairFeatureProvider getFastPairFeatureProvider() {
+        return mFastPairFeatureProvider;
+    }
+
+    @Override
+    public PrivateSpaceLoginFeatureProvider getPrivateSpaceLoginFeatureProvider() {
+        return mPrivateSpaceLoginFeatureProvider;
+    }
+
+    @Override
+    public DisplayFeatureProvider getDisplayFeatureProvider() {
+        return mDisplayFeatureProvider;
+    }
+
+    @Override
+    public AudioSharingFeatureProvider getAudioSharingFeatureProvider() {
+        return mAudioSharingFeatureProvider;
+    }
 }
diff --git a/tests/unit/src/com/android/settings/testutils/FakeIndexProvider.java b/tests/unit/src/com/android/settings/testutils/FakeIndexProvider.java
deleted file mode 100644
index 5cbfb54..0000000
--- a/tests/unit/src/com/android/settings/testutils/FakeIndexProvider.java
+++ /dev/null
@@ -1,46 +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.testutils;
-
-import android.content.Context;
-
-import com.android.settings.R;
-import com.android.settings.search.BaseSearchIndexProvider;
-import com.android.settingslib.search.Indexable;
-
-import java.util.List;
-
-public class FakeIndexProvider implements Indexable {
-
-    public static final String KEY = "TestKey";
-
-    /**
-     * The fake SearchIndexProvider. Note that the use of location_settings below implies that tests
-     * using this should be using the res/xml-mcc999/location_settings.xml or
-     * res/xml-mcc998/location_settings.xml. Annotate tests with
-     * {@code @Config(qualifiers = "mcc999")}.
-     */
-    public static final BaseSearchIndexProvider SEARCH_INDEX_DATA_PROVIDER =
-            new BaseSearchIndexProvider(R.xml.location_settings) {
-
-                @Override
-                public List<String> getNonIndexableKeys(Context context) {
-                    List<String> result = super.getNonIndexableKeys(context);
-                    result.add(KEY);
-                    return result;
-                }
-            };
-}
diff --git a/tests/unit/src/com/android/settings/testutils/FakeUnavailablePreferenceController.java b/tests/unit/src/com/android/settings/testutils/FakeUnavailablePreferenceController.java
deleted file mode 100644
index 97379e3..0000000
--- a/tests/unit/src/com/android/settings/testutils/FakeUnavailablePreferenceController.java
+++ /dev/null
@@ -1,40 +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.testutils;
-
-import android.content.Context;
-import android.provider.Settings;
-
-import com.android.settings.core.BasePreferenceController;
-
-public class FakeUnavailablePreferenceController extends BasePreferenceController {
-
-    public static final String AVAILABILITY_KEY = "fake_availability_key";
-
-    public FakeUnavailablePreferenceController(Context context) {
-        super(context, "key");
-    }
-
-    @Override
-    public int getAvailabilityStatus() {
-        return Settings.Global.getInt(mContext.getContentResolver(), AVAILABILITY_KEY, 0);
-    }
-
-    @Override
-    public boolean isSliceable() {
-        return true;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/testutils/ResolveInfoBuilder.java b/tests/unit/src/com/android/settings/testutils/ResolveInfoBuilder.java
deleted file mode 100644
index 5eaf2a4..0000000
--- a/tests/unit/src/com/android/settings/testutils/ResolveInfoBuilder.java
+++ /dev/null
@@ -1,71 +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.testutils;
-
-import android.content.pm.ActivityInfo;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.PackageInfo;
-import android.content.pm.ProviderInfo;
-import android.content.pm.ResolveInfo;
-
-import com.google.common.base.Preconditions;
-
-/**
- * Helper for building {@link ResolveInfo}s to be used in Robolectric tests.
- *
- * <p>The resulting {@link PackageInfo}s should typically be added to {@link
- * org.robolectric.shadows.ShadowPackageManager#addResolveInfoForIntent(Intent, ResolveInfo)}.
- */
-public final class ResolveInfoBuilder {
-
-    private final String mPackageName;
-    private ActivityInfo mActivityInfo;
-    private ProviderInfo mProviderInfo;
-
-    public ResolveInfoBuilder(String packageName) {
-        this.mPackageName = Preconditions.checkNotNull(packageName);
-    }
-
-    public ResolveInfoBuilder setActivity(String packageName, String className) {
-        mActivityInfo = new ActivityInfo();
-        mActivityInfo.packageName = packageName;
-        mActivityInfo.name = className;
-        return this;
-    }
-
-    public ResolveInfoBuilder setProvider(
-            String packageName, String className, String authority, boolean isSystemApp) {
-        mProviderInfo = new ProviderInfo();
-        mProviderInfo.authority = authority;
-        mProviderInfo.applicationInfo = new ApplicationInfo();
-        if (isSystemApp) {
-            mProviderInfo.applicationInfo.flags |= ApplicationInfo.FLAG_SYSTEM;
-        }
-        mProviderInfo.packageName = mPackageName;
-        mProviderInfo.applicationInfo.packageName  = mPackageName;
-        mProviderInfo.name = className;
-        return this;
-    }
-
-    public ResolveInfo build() {
-        ResolveInfo info = new ResolveInfo();
-        info.activityInfo = mActivityInfo;
-        info.resolvePackageName = mPackageName;
-        info.providerInfo = mProviderInfo;
-        return info;
-    }
-}
diff --git a/tests/unit/src/com/android/settings/testutils/SliceTester.java b/tests/unit/src/com/android/settings/testutils/SliceTester.java
deleted file mode 100644
index be13e13..0000000
--- a/tests/unit/src/com/android/settings/testutils/SliceTester.java
+++ /dev/null
@@ -1,324 +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.testutils;
-
-import static android.app.slice.Slice.HINT_TITLE;
-import static android.app.slice.Slice.SUBTYPE_COLOR;
-import static android.app.slice.SliceItem.FORMAT_IMAGE;
-import static android.app.slice.SliceItem.FORMAT_INT;
-import static android.app.slice.SliceItem.FORMAT_TEXT;
-
-import static com.google.common.truth.Truth.assertThat;
-
-import android.app.PendingIntent;
-import android.content.Context;
-import android.text.TextUtils;
-
-import androidx.core.graphics.drawable.IconCompat;
-import androidx.slice.Slice;
-import androidx.slice.SliceItem;
-import androidx.slice.SliceMetadata;
-import androidx.slice.builders.ListBuilder;
-import androidx.slice.core.SliceAction;
-import androidx.slice.core.SliceQuery;
-import androidx.slice.widget.EventInfo;
-
-import com.android.settings.Utils;
-import com.android.settings.slices.SettingsSliceProvider;
-import com.android.settings.slices.SliceBuilderUtils;
-import com.android.settings.slices.SliceData;
-
-import java.util.Arrays;
-import java.util.List;
-import java.util.Set;
-import java.util.stream.Collectors;
-
-/**
- * Testing utility class to verify the contents of the different Settings Slices.
- *
- * TODO (77712944) check Summary, range (metadata.getRange()), toggle icons.
- */
-public class SliceTester {
-
-    /**
-     * Test the contents of an intent based slice, including:
-     * - No toggles
-     * - Correct intent
-     * - Correct title
-     * - Correct keywords
-     * - TTL
-     * - Color
-     */
-    public static void testSettingsIntentSlice(Context context, Slice slice, SliceData sliceData) {
-        final SliceMetadata metadata = SliceMetadata.from(context, slice);
-
-        final long sliceTTL = metadata.getExpiry();
-        assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
-
-        final SliceItem colorItem = SliceQuery.findSubtype(slice, FORMAT_INT, SUBTYPE_COLOR);
-        final int color = colorItem.getInt();
-        assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).isEmpty();
-
-        final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction();
-        assertThat(primaryPendingIntent).isEqualTo(
-                SliceBuilderUtils.getContentPendingIntent(context, sliceData));
-
-        assertThat(metadata.getTitle()).isEqualTo(sliceData.getTitle());
-
-        assertKeywords(metadata, sliceData);
-    }
-
-    /**
-     * Test the contents of an toggle based slice, including:
-     * - Contains one toggle
-     * - Correct toggle intent
-     * - Correct content intent
-     * - Correct title
-     * - Correct keywords
-     * - TTL
-     * - Color
-     */
-    public static void testSettingsToggleSlice(Context context, Slice slice, SliceData sliceData) {
-        final SliceMetadata metadata = SliceMetadata.from(context, slice);
-
-        final SliceItem colorItem = SliceQuery.findSubtype(slice, FORMAT_INT, SUBTYPE_COLOR);
-        final int color = colorItem.getInt();
-        assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).hasSize(1);
-
-        final long sliceTTL = metadata.getExpiry();
-        assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
-
-        final SliceAction mainToggleAction = toggles.get(0);
-
-        assertThat(mainToggleAction.getIcon()).isNull();
-
-        // Check intent in Toggle Action
-        final PendingIntent togglePendingIntent = mainToggleAction.getAction();
-        assertThat(togglePendingIntent).isEqualTo(SliceBuilderUtils.getActionIntent(context,
-                SettingsSliceProvider.ACTION_TOGGLE_CHANGED, sliceData));
-
-        // Check primary intent
-        final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction();
-        assertThat(primaryPendingIntent).isEqualTo(
-                SliceBuilderUtils.getContentPendingIntent(context, sliceData));
-
-        assertThat(metadata.getTitle()).isEqualTo(sliceData.getTitle());
-
-        assertKeywords(metadata, sliceData);
-    }
-
-    /**
-     * Test the contents of an slider based slice, including:
-     * - No intent
-     * - Correct title
-     * - Correct keywords
-     * - TTL
-     * - Color
-     */
-    public static void testSettingsSliderSlice(Context context, Slice slice, SliceData sliceData) {
-        final SliceMetadata metadata = SliceMetadata.from(context, slice);
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-
-        final IconCompat icon = primaryAction.getIcon();
-        if (icon == null) {
-            final SliceItem colorItem = SliceQuery.findSubtype(slice, FORMAT_INT, SUBTYPE_COLOR);
-            final int color = colorItem.getInt();
-            assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
-
-        } else {
-            final IconCompat expectedIcon = IconCompat.createWithResource(context,
-                    sliceData.getIconResource());
-            assertThat(expectedIcon.toString()).isEqualTo(icon.toString());
-        }
-
-        final long sliceTTL = metadata.getExpiry();
-        assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
-
-        final int headerType = metadata.getHeaderType();
-        assertThat(headerType).isEqualTo(EventInfo.ROW_TYPE_SLIDER);
-
-        // Check primary intent
-        final PendingIntent primaryPendingIntent = primaryAction.getAction();
-        assertThat(primaryPendingIntent).isEqualTo(
-                SliceBuilderUtils.getContentPendingIntent(context, sliceData));
-
-        assertThat(metadata.getTitle()).isEqualTo(sliceData.getTitle());
-
-        assertKeywords(metadata, sliceData);
-    }
-
-    /**
-     * Test the copyable slice, including:
-     * - No intent
-     * - Correct title
-     * - Correct intent
-     * - Correct keywords
-     * - TTL
-     * - Color
-     */
-    public static void testSettingsCopyableSlice(Context context, Slice slice,
-            SliceData sliceData) {
-        final SliceMetadata metadata = SliceMetadata.from(context, slice);
-
-        final SliceItem colorItem = SliceQuery.findSubtype(slice, FORMAT_INT, SUBTYPE_COLOR);
-        final int color = colorItem.getInt();
-        assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
-
-        final SliceAction primaryAction = metadata.getPrimaryAction();
-
-        final IconCompat expectedIcon = IconCompat.createWithResource(context,
-                sliceData.getIconResource());
-        assertThat(expectedIcon.toString()).isEqualTo(primaryAction.getIcon().toString());
-
-        final long sliceTTL = metadata.getExpiry();
-        assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
-
-        // Check primary intent
-        final PendingIntent primaryPendingIntent = primaryAction.getAction();
-        assertThat(primaryPendingIntent).isEqualTo(
-                SliceBuilderUtils.getContentPendingIntent(context, sliceData));
-
-        assertThat(metadata.getTitle()).isEqualTo(sliceData.getTitle());
-
-        assertKeywords(metadata, sliceData);
-    }
-
-    /**
-     * Test the contents of an unavailable slice, including:
-     * - No toggles
-     * - Correct title
-     * - Correct intent
-     * - Correct keywords
-     * - Color
-     * - TTL
-     */
-    public static void testSettingsUnavailableSlice(Context context, Slice slice,
-            SliceData sliceData) {
-        final SliceMetadata metadata = SliceMetadata.from(context, slice);
-
-        final long sliceTTL = metadata.getExpiry();
-        assertThat(sliceTTL).isEqualTo(ListBuilder.INFINITY);
-
-        final SliceItem colorItem = SliceQuery.findSubtype(slice, FORMAT_INT, SUBTYPE_COLOR);
-        final int color = colorItem.getInt();
-        assertThat(color).isEqualTo(Utils.getColorAccentDefaultColor(context));
-
-        final List<SliceAction> toggles = metadata.getToggles();
-        assertThat(toggles).isEmpty();
-
-        final PendingIntent primaryPendingIntent = metadata.getPrimaryAction().getAction();
-        assertThat(primaryPendingIntent).isEqualTo(SliceBuilderUtils.getContentPendingIntent(
-                context, sliceData));
-
-        assertThat(metadata.getTitle()).isEqualTo(sliceData.getTitle());
-
-        assertKeywords(metadata, sliceData);
-    }
-
-    /**
-     * Assert any slice item contains title.
-     *
-     * @param sliceItems All slice items of a Slice.
-     * @param title Title for asserting.
-     */
-    public static void assertAnySliceItemContainsTitle(List<SliceItem> sliceItems, String title) {
-        assertThat(hasText(sliceItems, title, HINT_TITLE)).isTrue();
-    }
-
-    /**
-     * Assert any slice item contains subtitle.
-     *
-     * @param sliceItems All slice items of a Slice.
-     * @param subtitle Subtitle for asserting.
-     */
-    public static void assertAnySliceItemContainsSubtitle(List<SliceItem> sliceItems,
-            String subtitle) {
-        // Subtitle has no hints
-        assertThat(hasText(sliceItems, subtitle, null /* hints */)).isTrue();
-    }
-
-    /**
-     * Assert no slice item contains subtitle.
-     *
-     * @param sliceItems All slice items of a Slice.
-     * @param subtitle Subtitle for asserting.
-     */
-    public static void assertNoSliceItemContainsSubtitle(List<SliceItem> sliceItems,
-            String subtitle) {
-        // Subtitle has no hints
-        assertThat(hasText(sliceItems, subtitle, null /* hints */)).isFalse();
-    }
-
-    private static boolean hasText(List<SliceItem> sliceItems, String text, String hints) {
-        boolean hasText = false;
-        for (SliceItem item : sliceItems) {
-            List<SliceItem> textItems = SliceQuery.findAll(item, FORMAT_TEXT, hints,
-                    null /* non-hints */);
-            if (textItems == null) {
-                continue;
-            }
-
-            for (SliceItem textItem : textItems) {
-                if (TextUtils.equals(textItem.getText(), text)) {
-                    hasText = true;
-                    break;
-                }
-            }
-        }
-        return hasText;
-    }
-
-    /**
-     * Assert any slice item contains icon.
-     *
-     * @param sliceItems All slice items of a Slice.
-     * @param icon Icon for asserting.
-     */
-    public static void assertAnySliceItemContainsIcon(List<SliceItem> sliceItems, IconCompat icon) {
-        boolean hasIcon = false;
-        for (SliceItem item : sliceItems) {
-            List<SliceItem> iconItems = SliceQuery.findAll(item, FORMAT_IMAGE,
-                    (String) null /* hints */, null /* non-hints */);
-            if (iconItems == null) {
-                continue;
-            }
-
-            for (SliceItem iconItem : iconItems) {
-                if (icon.toString().equals(iconItem.getIcon().toString())) {
-                    hasIcon = true;
-                    break;
-                }
-            }
-        }
-        assertThat(hasIcon).isTrue();
-    }
-
-    private static void assertKeywords(SliceMetadata metadata, SliceData data) {
-        final List<String> keywords = metadata.getSliceKeywords();
-        final Set<String> expectedKeywords = Arrays.stream(data.getKeywords().split(","))
-                .map(s -> s = s.trim())
-                .collect(Collectors.toSet());
-        expectedKeywords.add(data.getTitle());
-        expectedKeywords.add(data.getScreenTitle().toString());
-        assertThat(keywords).containsExactlyElementsIn(expectedKeywords);
-    }
-}
diff --git a/tests/unit/src/com/android/settings/wifi/RequestToggleWiFiActivityTest.java b/tests/unit/src/com/android/settings/wifi/RequestToggleWiFiActivityTest.java
index 0e3dd40..3d2d9a8 100644
--- a/tests/unit/src/com/android/settings/wifi/RequestToggleWiFiActivityTest.java
+++ b/tests/unit/src/com/android/settings/wifi/RequestToggleWiFiActivityTest.java
@@ -21,13 +21,13 @@
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.Mockito.when;
 
-import android.annotation.Nullable;
 import android.app.IActivityManager;
 import android.content.Context;
 import android.content.Intent;
 import android.net.wifi.WifiManager;
 import android.os.RemoteException;
 
+import androidx.annotation.Nullable;
 import androidx.test.core.app.ActivityScenario;
 import androidx.test.core.app.ApplicationProvider;
 import androidx.test.ext.junit.runners.AndroidJUnit4;
diff --git a/tests/unit/src/com/android/settings/wifi/WifiDialog2Test.kt b/tests/unit/src/com/android/settings/wifi/WifiDialog2Test.kt
new file mode 100644
index 0000000..ef50433
--- /dev/null
+++ b/tests/unit/src/com/android/settings/wifi/WifiDialog2Test.kt
@@ -0,0 +1,92 @@
+/*
+ * 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.wifi
+
+import androidx.activity.ComponentActivity
+import androidx.test.ext.junit.rules.ActivityScenarioRule
+import androidx.test.ext.junit.runners.AndroidJUnit4
+import com.android.settings.R
+import com.android.settings.wifi.WifiDialog2.WifiDialog2Listener
+import com.android.wifitrackerlib.WifiEntry
+import com.google.common.truth.Truth.assertThat
+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 WifiDialog2Test {
+    @get:Rule
+    val activityScenarioRule = ActivityScenarioRule(ComponentActivity::class.java)
+
+    @get:Rule
+    val mockito: MockitoRule = MockitoJUnit.rule()
+
+    @Mock
+    private lateinit var mockWifiEntry: WifiEntry
+
+    private val listener = object : WifiDialog2Listener {}
+
+    @Test
+    fun constructor_usesDefaultTheme() {
+        activityScenarioRule.scenario.onActivity { activity ->
+            val wifiDialog2 = WifiDialog2(
+                context = activity,
+                listener = listener,
+                wifiEntry = mockWifiEntry,
+                mode = WifiConfigUiBase2.MODE_CONNECT,
+                style = 0,
+                hideSubmitButton = false
+            )
+
+            val modal = WifiDialog2(
+                context = activity,
+                listener = listener,
+                wifiEntry = mockWifiEntry,
+                mode = WifiConfigUiBase2.MODE_CONNECT,
+            )
+
+            assertThat(modal.context.themeResId).isEqualTo(wifiDialog2.context.themeResId)
+        }
+    }
+
+    @Test
+    fun constructor_whenSetTheme_shouldBeCustomizedTheme() {
+        activityScenarioRule.scenario.onActivity { activity ->
+            val wifiDialog2 = WifiDialog2(
+                context = activity,
+                listener = listener,
+                wifiEntry = mockWifiEntry,
+                mode = WifiConfigUiBase2.MODE_CONNECT,
+                style = R.style.SuwAlertDialogThemeCompat_Light,
+                hideSubmitButton = false,
+            )
+
+            val modal = WifiDialog2(
+                context = activity,
+                listener = listener,
+                wifiEntry = mockWifiEntry,
+                mode = WifiConfigUiBase2.MODE_CONNECT,
+                style = R.style.SuwAlertDialogThemeCompat_Light,
+            )
+
+            assertThat(modal.context.themeResId).isEqualTo(wifiDialog2.context.themeResId)
+        }
+    }
+}
